From 51db8baf77e2c0aa5f54d73114e84a33306d7380 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sun, 28 Nov 2021 11:16:20 +1100 Subject: [PATCH 0001/1832] Start `develop` for 2022q1. --- readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readme.md b/readme.md index 5649ddfa097a..63b483c74474 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,7 @@ +# This is the `develop` branch! + +See the [Breaking Changes](https://docs.qmk.fm/#/breaking_changes) document for more information. + # Quantum Mechanical Keyboard Firmware [![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) From 7f67504993f96936145a48f5cee7dcc1e2645a47 Mon Sep 17 00:00:00 2001 From: wheredoesyourmindgo Date: Mon, 29 Nov 2021 00:17:07 -0800 Subject: [PATCH 0002/1832] Added cancel_key_lock function (#15321) --- docs/feature_key_lock.md | 3 ++- quantum/process_keycode/process_key_lock.c | 5 +++++ quantum/process_keycode/process_key_lock.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/feature_key_lock.md b/docs/feature_key_lock.md index 8e6e29f0e687..76813942298c 100644 --- a/docs/feature_key_lock.md +++ b/docs/feature_key_lock.md @@ -19,4 +19,5 @@ First, enable Key Lock by setting `KEY_LOCK_ENABLE = yes` in your `rules.mk`. Th Key Lock is only able to hold standard action keys and [One Shot modifier](one_shot_keys.md) keys (for example, if you have your Shift defined as `OSM(KC_LSFT)`). This does not include any of the QMK special functions (except One Shot modifiers), or shifted versions of keys such as `KC_LPRN`. If it's in the [Basic Keycodes](keycodes_basic.md) list, it can be held. -Switching layers will not cancel the Key Lock. +Switching layers will not cancel the Key Lock. The Key Lock can be cancelled by calling the `cancel_key_lock()` function. + diff --git a/quantum/process_keycode/process_key_lock.c b/quantum/process_keycode/process_key_lock.c index 4bd58f0c1eb2..941a2c5780ad 100644 --- a/quantum/process_keycode/process_key_lock.c +++ b/quantum/process_keycode/process_key_lock.c @@ -56,6 +56,11 @@ static inline uint16_t translate_keycode(uint16_t keycode) { } } +void cancel_key_lock(void) { + watching = false; + UNSET_KEY_STATE(0x0); +} + bool process_key_lock(uint16_t *keycode, keyrecord_t *record) { // We start by categorizing the keypress event. In the event of a down // event, there are several possibilities: diff --git a/quantum/process_keycode/process_key_lock.h b/quantum/process_keycode/process_key_lock.h index baa0b39077aa..5159b0ba023c 100644 --- a/quantum/process_keycode/process_key_lock.h +++ b/quantum/process_keycode/process_key_lock.h @@ -18,4 +18,5 @@ #include "quantum.h" +void cancel_key_lock(void); bool process_key_lock(uint16_t *keycode, keyrecord_t *record); From c1297ceb972d45407cc1f518fd0527efda7ee796 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Mon, 29 Nov 2021 17:22:10 +0100 Subject: [PATCH 0003/1832] [Core] Remove matrix_is_modified() and debounce_is_active() (#15349) --- keyboards/40percentclub/ut47/matrix.c | 6 ------ keyboards/ai03/orbit/matrix.c | 5 ----- keyboards/amj96/matrix.c | 6 ------ keyboards/angel64/alpha/matrix.c | 7 ------- keyboards/angel64/rev1/matrix.c | 7 ------- keyboards/bpiphany/kitten_paw/matrix.c | 7 ------- keyboards/bpiphany/pegasushoof/2013/matrix.c | 7 ------- keyboards/converter/palm_usb/matrix.c | 7 ------- keyboards/converter/sun_usb/matrix.c | 7 ------- keyboards/converter/usb_usb/custom_matrix.cpp | 4 ---- keyboards/dc01/arrow/matrix.c | 8 -------- keyboards/dc01/left/matrix.c | 8 -------- keyboards/dc01/numpad/matrix.c | 8 -------- keyboards/dc01/right/matrix.c | 8 -------- keyboards/dm9records/ergoinu/matrix.c | 6 ------ keyboards/duck/jetfire/matrix.c | 6 ------ keyboards/ergodox_stm32/matrix.c | 4 ---- keyboards/ergotaco/matrix.c | 5 ----- keyboards/gboards/gergoplex/matrix.c | 5 ----- keyboards/georgi/matrix.c | 5 ----- keyboards/gergo/matrix.c | 5 ----- keyboards/handwired/dactyl/matrix.c | 8 -------- keyboards/handwired/frenchdev/matrix.c | 6 ------ keyboards/handwired/not_so_minidox/matrix.c | 6 ------ keyboards/handwired/promethium/matrix.c | 8 -------- keyboards/handwired/pterodactyl/matrix.c | 8 -------- keyboards/helix/pico/matrix.c | 6 ------ keyboards/helix/rev1/matrix.c | 6 ------ keyboards/helix/rev2/matrix.c | 6 ------ keyboards/hhkb/ansi/matrix.c | 9 --------- keyboards/hhkb/jp/matrix.c | 9 --------- keyboards/hid_liber/matrix.c | 6 ------ keyboards/kinesis/alvicstep/matrix.c | 6 ------ keyboards/meira/matrix.c | 6 ------ keyboards/nek_type_a/matrix.c | 8 -------- keyboards/redscarf_iiplus/verb/matrix.c | 7 ------- keyboards/redscarf_iiplus/verc/matrix.c | 7 ------- keyboards/redscarf_iiplus/verd/matrix.c | 7 ------- keyboards/sirius/unigo66/custom_matrix.cpp | 4 ---- keyboards/sixkeyboard/matrix.c | 5 ----- keyboards/sx60/matrix.c | 8 -------- keyboards/thedogkeyboard/matrix.c | 7 ------- keyboards/yosino58/rev1/matrix.c | 6 ------ quantum/debounce.h | 2 -- quantum/debounce/asym_eager_defer_pk.c | 1 - quantum/debounce/none.c | 2 -- quantum/debounce/sym_defer_g.c | 2 -- quantum/debounce/sym_defer_pk.c | 1 - quantum/debounce/sym_eager_pk.c | 1 - quantum/debounce/sym_eager_pr.c | 1 - quantum/matrix.h | 2 -- quantum/matrix_common.c | 6 ------ 52 files changed, 298 deletions(-) diff --git a/keyboards/40percentclub/ut47/matrix.c b/keyboards/40percentclub/ut47/matrix.c index e47c7f8e1362..c1284535bc95 100644 --- a/keyboards/40percentclub/ut47/matrix.c +++ b/keyboards/40percentclub/ut47/matrix.c @@ -104,12 +104,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/ai03/orbit/matrix.c b/keyboards/ai03/orbit/matrix.c index b8e3296686de..024233524caf 100644 --- a/keyboards/ai03/orbit/matrix.c +++ b/keyboards/ai03/orbit/matrix.c @@ -83,11 +83,6 @@ inline uint8_t matrix_rows(void) { return MATRIX_ROWS; } inline uint8_t matrix_cols(void) { return MATRIX_COLS; } -bool matrix_is_modified(void) { - if (debounce_active()) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); } inline matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } diff --git a/keyboards/amj96/matrix.c b/keyboards/amj96/matrix.c index 8e7bbaa79128..ffd66d120f59 100644 --- a/keyboards/amj96/matrix.c +++ b/keyboards/amj96/matrix.c @@ -108,12 +108,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/angel64/alpha/matrix.c b/keyboards/angel64/alpha/matrix.c index 474fbec030c9..2851859cf261 100644 --- a/keyboards/angel64/alpha/matrix.c +++ b/keyboards/angel64/alpha/matrix.c @@ -90,13 +90,6 @@ uint8_t matrix_cols(void) { return MATRIX_COLS; } -//Deprecated. -bool matrix_is_modified(void) -{ - if (debounce_active()) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/angel64/rev1/matrix.c b/keyboards/angel64/rev1/matrix.c index 474fbec030c9..2851859cf261 100644 --- a/keyboards/angel64/rev1/matrix.c +++ b/keyboards/angel64/rev1/matrix.c @@ -90,13 +90,6 @@ uint8_t matrix_cols(void) { return MATRIX_COLS; } -//Deprecated. -bool matrix_is_modified(void) -{ - if (debounce_active()) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/bpiphany/kitten_paw/matrix.c b/keyboards/bpiphany/kitten_paw/matrix.c index b59089cdf43e..56114858f153 100644 --- a/keyboards/bpiphany/kitten_paw/matrix.c +++ b/keyboards/bpiphany/kitten_paw/matrix.c @@ -117,13 +117,6 @@ uint8_t matrix_scan(void) { return 1; } -bool matrix_is_modified(void) { - if (debouncing) - return false; - else - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1<>7 ) -static bool is_modified = false; - __attribute__ ((weak)) void matrix_init_kb(void) { matrix_init_user(); @@ -354,11 +352,6 @@ uint8_t matrix_scan(void) return code; } -bool matrix_is_modified(void) -{ - return is_modified; -} - inline bool matrix_has_ghost(void) { diff --git a/keyboards/converter/sun_usb/matrix.c b/keyboards/converter/sun_usb/matrix.c index 21f45111eceb..9ab34bcef738 100644 --- a/keyboards/converter/sun_usb/matrix.c +++ b/keyboards/converter/sun_usb/matrix.c @@ -38,8 +38,6 @@ static uint8_t matrix[MATRIX_ROWS]; #define ROW(code) ((code>>3)&0xF) #define COL(code) (code&0x07) -static bool is_modified = false; - __attribute__ ((weak)) void matrix_init_kb(void) { matrix_init_user(); @@ -154,11 +152,6 @@ uint8_t matrix_scan(void) return code; } -bool matrix_is_modified(void) -{ - return is_modified; -} - inline bool matrix_has_ghost(void) { diff --git a/keyboards/converter/usb_usb/custom_matrix.cpp b/keyboards/converter/usb_usb/custom_matrix.cpp index 296f7fcd026b..91986f6eb9a8 100644 --- a/keyboards/converter/usb_usb/custom_matrix.cpp +++ b/keyboards/converter/usb_usb/custom_matrix.cpp @@ -192,10 +192,6 @@ extern "C" return 1; } - bool matrix_is_modified(void) { - return matrix_is_mod; - } - bool matrix_is_on(uint8_t row, uint8_t col) { uint8_t code = CODE(row, col); diff --git a/keyboards/dc01/arrow/matrix.c b/keyboards/dc01/arrow/matrix.c index 0102ad0fa422..b69e14791417 100644 --- a/keyboards/dc01/arrow/matrix.c +++ b/keyboards/dc01/arrow/matrix.c @@ -205,14 +205,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ -#if (DEBOUNCE > 0) - if (debouncing) return false; -#endif - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/dc01/left/matrix.c b/keyboards/dc01/left/matrix.c index bf5aba849790..084978a1fde4 100644 --- a/keyboards/dc01/left/matrix.c +++ b/keyboards/dc01/left/matrix.c @@ -230,14 +230,6 @@ if (i2c_transaction(SLAVE_I2C_ADDRESS_NUMPAD, 0x1FFFF, 11)) { return 1; } -bool matrix_is_modified(void) -{ -#if (DEBOUNCE > 0) - if (debouncing) return false; -#endif - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/dc01/numpad/matrix.c b/keyboards/dc01/numpad/matrix.c index 38130114eb34..e8e2a1b14a2f 100644 --- a/keyboards/dc01/numpad/matrix.c +++ b/keyboards/dc01/numpad/matrix.c @@ -205,14 +205,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ -#if (DEBOUNCE > 0) - if (debouncing) return false; -#endif - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/dc01/right/matrix.c b/keyboards/dc01/right/matrix.c index 544c8dc538e1..2509bd7d4c68 100644 --- a/keyboards/dc01/right/matrix.c +++ b/keyboards/dc01/right/matrix.c @@ -206,14 +206,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ -#if (DEBOUNCE > 0) - if (debouncing) return false; -#endif - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/dm9records/ergoinu/matrix.c b/keyboards/dm9records/ergoinu/matrix.c index b1c58f88fe79..87a581731357 100644 --- a/keyboards/dm9records/ergoinu/matrix.c +++ b/keyboards/dm9records/ergoinu/matrix.c @@ -223,12 +223,6 @@ void matrix_slave_scan(void) { } } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/duck/jetfire/matrix.c b/keyboards/duck/jetfire/matrix.c index 2dd94a72ac0f..729fa6dd1449 100644 --- a/keyboards/duck/jetfire/matrix.c +++ b/keyboards/duck/jetfire/matrix.c @@ -116,12 +116,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/ergodox_stm32/matrix.c b/keyboards/ergodox_stm32/matrix.c index 383bf9790a5b..094d4a9e0f76 100644 --- a/keyboards/ergodox_stm32/matrix.c +++ b/keyboards/ergodox_stm32/matrix.c @@ -119,10 +119,6 @@ uint8_t matrix_scan(void) { return 0; } -bool matrix_is_modified(void) { - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & (1 << col)); diff --git a/keyboards/ergotaco/matrix.c b/keyboards/ergotaco/matrix.c index e5af1c27fd75..16300a7e4fab 100644 --- a/keyboards/ergotaco/matrix.c +++ b/keyboards/ergotaco/matrix.c @@ -199,11 +199,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) // deprecated and evidently not called. -{ - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/gboards/gergoplex/matrix.c b/keyboards/gboards/gergoplex/matrix.c index 716390241a1d..a075b8572584 100644 --- a/keyboards/gboards/gergoplex/matrix.c +++ b/keyboards/gboards/gergoplex/matrix.c @@ -152,11 +152,6 @@ uint8_t matrix_scan(void) { return 1; } -bool matrix_is_modified(void) // deprecated and evidently not called. -{ - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); } inline matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } diff --git a/keyboards/georgi/matrix.c b/keyboards/georgi/matrix.c index 438412102b58..7d635ad8d74f 100644 --- a/keyboards/georgi/matrix.c +++ b/keyboards/georgi/matrix.c @@ -220,11 +220,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) // deprecated and evidently not called. -{ - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/gergo/matrix.c b/keyboards/gergo/matrix.c index 655e7293566d..443e97132bc4 100644 --- a/keyboards/gergo/matrix.c +++ b/keyboards/gergo/matrix.c @@ -273,11 +273,6 @@ uint8_t matrix_scan(void) { return 1; } -bool matrix_is_modified(void) // deprecated and evidently not called. -{ - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); } inline matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } diff --git a/keyboards/handwired/dactyl/matrix.c b/keyboards/handwired/dactyl/matrix.c index a21cd08e1453..a70e8c5acadc 100644 --- a/keyboards/handwired/dactyl/matrix.c +++ b/keyboards/handwired/dactyl/matrix.c @@ -281,14 +281,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) // deprecated and evidently not called. -{ -#if (DEBOUNCE > 0) - if (debouncing) return false; -#endif - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/handwired/frenchdev/matrix.c b/keyboards/handwired/frenchdev/matrix.c index 5ab254a6f95a..a043f7853839 100644 --- a/keyboards/handwired/frenchdev/matrix.c +++ b/keyboards/handwired/frenchdev/matrix.c @@ -174,12 +174,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/handwired/not_so_minidox/matrix.c b/keyboards/handwired/not_so_minidox/matrix.c index b7cec9370c5c..d2bbf7d30306 100644 --- a/keyboards/handwired/not_so_minidox/matrix.c +++ b/keyboards/handwired/not_so_minidox/matrix.c @@ -239,12 +239,6 @@ void matrix_slave_scan(void) { #endif } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/handwired/promethium/matrix.c b/keyboards/handwired/promethium/matrix.c index e3a41af288c5..90dbce14a954 100644 --- a/keyboards/handwired/promethium/matrix.c +++ b/keyboards/handwired/promethium/matrix.c @@ -148,14 +148,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ -#if (DEBOUNCE > 0) - if (debouncing) return false; -#endif - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) diff --git a/keyboards/handwired/pterodactyl/matrix.c b/keyboards/handwired/pterodactyl/matrix.c index 21e6a128dfd4..d0f74802a01b 100644 --- a/keyboards/handwired/pterodactyl/matrix.c +++ b/keyboards/handwired/pterodactyl/matrix.c @@ -282,14 +282,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) // deprecated and evidently not called. -{ -#if (DEBOUNCE > 0) - if (debouncing) return false; -#endif - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/helix/pico/matrix.c b/keyboards/helix/pico/matrix.c index b18213d846bf..039cca6dcf52 100644 --- a/keyboards/helix/pico/matrix.c +++ b/keyboards/helix/pico/matrix.c @@ -273,12 +273,6 @@ void matrix_slave_scan(void) { #endif } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/helix/rev1/matrix.c b/keyboards/helix/rev1/matrix.c index aa2cc76905e9..f59391b59616 100644 --- a/keyboards/helix/rev1/matrix.c +++ b/keyboards/helix/rev1/matrix.c @@ -239,12 +239,6 @@ void matrix_slave_scan(void) { #endif } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/helix/rev2/matrix.c b/keyboards/helix/rev2/matrix.c index 8eed7e58b74d..699c15358bea 100644 --- a/keyboards/helix/rev2/matrix.c +++ b/keyboards/helix/rev2/matrix.c @@ -287,12 +287,6 @@ void matrix_slave_scan(void) { #endif } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/hhkb/ansi/matrix.c b/keyboards/hhkb/ansi/matrix.c index 529ba8b8fc9f..5dde74cce9f8 100644 --- a/keyboards/hhkb/ansi/matrix.c +++ b/keyboards/hhkb/ansi/matrix.c @@ -163,15 +163,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - if (matrix[i] != matrix_prev[i]) - return true; - } - return false; -} - inline bool matrix_has_ghost(void) { diff --git a/keyboards/hhkb/jp/matrix.c b/keyboards/hhkb/jp/matrix.c index c0dca6a990b4..81db77fca7ae 100644 --- a/keyboards/hhkb/jp/matrix.c +++ b/keyboards/hhkb/jp/matrix.c @@ -164,15 +164,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - if (matrix[i] != matrix_prev[i]) - return true; - } - return false; -} - inline bool matrix_has_ghost(void) { diff --git a/keyboards/hid_liber/matrix.c b/keyboards/hid_liber/matrix.c index ff59a1715341..da73c616d78c 100755 --- a/keyboards/hid_liber/matrix.c +++ b/keyboards/hid_liber/matrix.c @@ -218,12 +218,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ - // NOTE: no longer used - return true; -} - inline bool matrix_has_ghost(void) { diff --git a/keyboards/kinesis/alvicstep/matrix.c b/keyboards/kinesis/alvicstep/matrix.c index 71619f8167a1..9c0537451005 100644 --- a/keyboards/kinesis/alvicstep/matrix.c +++ b/keyboards/kinesis/alvicstep/matrix.c @@ -136,12 +136,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/meira/matrix.c b/keyboards/meira/matrix.c index ae1ae5ce9d4e..8e8e9485b482 100644 --- a/keyboards/meira/matrix.c +++ b/keyboards/meira/matrix.c @@ -161,12 +161,6 @@ uint8_t matrix_scan(void) return ret; } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/nek_type_a/matrix.c b/keyboards/nek_type_a/matrix.c index a59598a50334..b396be99117e 100644 --- a/keyboards/nek_type_a/matrix.c +++ b/keyboards/nek_type_a/matrix.c @@ -205,14 +205,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ -#if (DEBOUNCE > 0) - if (debouncing) return false; -#endif - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/redscarf_iiplus/verb/matrix.c b/keyboards/redscarf_iiplus/verb/matrix.c index 42cfb7c037b0..88ecb586b3e0 100755 --- a/keyboards/redscarf_iiplus/verb/matrix.c +++ b/keyboards/redscarf_iiplus/verb/matrix.c @@ -94,13 +94,6 @@ uint8_t matrix_cols(void) { return MATRIX_COLS; } -//Deprecated. -bool matrix_is_modified(void) -{ - if (debounce_active()) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/redscarf_iiplus/verc/matrix.c b/keyboards/redscarf_iiplus/verc/matrix.c index 42cfb7c037b0..88ecb586b3e0 100755 --- a/keyboards/redscarf_iiplus/verc/matrix.c +++ b/keyboards/redscarf_iiplus/verc/matrix.c @@ -94,13 +94,6 @@ uint8_t matrix_cols(void) { return MATRIX_COLS; } -//Deprecated. -bool matrix_is_modified(void) -{ - if (debounce_active()) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/redscarf_iiplus/verd/matrix.c b/keyboards/redscarf_iiplus/verd/matrix.c index 78d1191b68e6..d9dbb3c0a345 100644 --- a/keyboards/redscarf_iiplus/verd/matrix.c +++ b/keyboards/redscarf_iiplus/verd/matrix.c @@ -94,13 +94,6 @@ uint8_t matrix_cols(void) { return MATRIX_COLS; } -//Deprecated. -bool matrix_is_modified(void) -{ - if (debounce_active()) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/sirius/unigo66/custom_matrix.cpp b/keyboards/sirius/unigo66/custom_matrix.cpp index fba107c7cbac..dfcf82c779cb 100644 --- a/keyboards/sirius/unigo66/custom_matrix.cpp +++ b/keyboards/sirius/unigo66/custom_matrix.cpp @@ -172,10 +172,6 @@ extern "C" return 1; } - bool matrix_is_modified(void) { - return matrix_is_mod; - } - bool matrix_is_on(uint8_t row, uint8_t col) { uint8_t code = CODE(row, col); diff --git a/keyboards/sixkeyboard/matrix.c b/keyboards/sixkeyboard/matrix.c index 64b46e9b0c84..a6b28f3a126d 100644 --- a/keyboards/sixkeyboard/matrix.c +++ b/keyboards/sixkeyboard/matrix.c @@ -114,11 +114,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/sx60/matrix.c b/keyboards/sx60/matrix.c index b7dc25425ded..231e1c8836e1 100644 --- a/keyboards/sx60/matrix.c +++ b/keyboards/sx60/matrix.c @@ -172,14 +172,6 @@ uint8_t matrix_scan(void) return 1; } -bool matrix_is_modified(void) -{ -#if (DEBOUNCE > 0) - if (debouncing) return false; -#endif - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/thedogkeyboard/matrix.c b/keyboards/thedogkeyboard/matrix.c index 474fbec030c9..2851859cf261 100644 --- a/keyboards/thedogkeyboard/matrix.c +++ b/keyboards/thedogkeyboard/matrix.c @@ -90,13 +90,6 @@ uint8_t matrix_cols(void) { return MATRIX_COLS; } -//Deprecated. -bool matrix_is_modified(void) -{ - if (debounce_active()) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/keyboards/yosino58/rev1/matrix.c b/keyboards/yosino58/rev1/matrix.c index 3db40b3829da..e2be7113bf6d 100644 --- a/keyboards/yosino58/rev1/matrix.c +++ b/keyboards/yosino58/rev1/matrix.c @@ -289,12 +289,6 @@ void matrix_slave_scan(void) { #endif } -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - inline bool matrix_is_on(uint8_t row, uint8_t col) { diff --git a/quantum/debounce.h b/quantum/debounce.h index 5043868289bc..3532d9cd7b79 100644 --- a/quantum/debounce.h +++ b/quantum/debounce.h @@ -6,8 +6,6 @@ // changed is true if raw has changed since the last call void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed); -bool debounce_active(void); - void debounce_init(uint8_t num_rows); void debounce_free(void); diff --git a/quantum/debounce/asym_eager_defer_pk.c b/quantum/debounce/asym_eager_defer_pk.c index 81f39383c4fc..b1eb4a2b7be7 100644 --- a/quantum/debounce/asym_eager_defer_pk.c +++ b/quantum/debounce/asym_eager_defer_pk.c @@ -165,7 +165,6 @@ static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], ui } } -bool debounce_active(void) { return true; } #else # include "none.c" #endif diff --git a/quantum/debounce/none.c b/quantum/debounce/none.c index b03892bc5b51..8a85cc04a8d0 100644 --- a/quantum/debounce/none.c +++ b/quantum/debounce/none.c @@ -26,6 +26,4 @@ void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool } } -bool debounce_active(void) { return false; } - void debounce_free(void) {} diff --git a/quantum/debounce/sym_defer_g.c b/quantum/debounce/sym_defer_g.c index 9155eb914cb5..8cac1c37f9db 100644 --- a/quantum/debounce/sym_defer_g.c +++ b/quantum/debounce/sym_defer_g.c @@ -44,8 +44,6 @@ void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool } } -bool debounce_active(void) { return debouncing; } - void debounce_free(void) {} #else // no debouncing. # include "none.c" diff --git a/quantum/debounce/sym_defer_pk.c b/quantum/debounce/sym_defer_pk.c index 1b698ba347d4..9dee29e28e65 100644 --- a/quantum/debounce/sym_defer_pk.c +++ b/quantum/debounce/sym_defer_pk.c @@ -134,7 +134,6 @@ static void start_debounce_counters(matrix_row_t raw[], matrix_row_t cooked[], u } } -bool debounce_active(void) { return true; } #else # include "none.c" #endif diff --git a/quantum/debounce/sym_eager_pk.c b/quantum/debounce/sym_eager_pk.c index 9da000ea9a59..deec4636493c 100644 --- a/quantum/debounce/sym_eager_pk.c +++ b/quantum/debounce/sym_eager_pk.c @@ -140,7 +140,6 @@ static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], ui } } -bool debounce_active(void) { return true; } #else # include "none.c" #endif diff --git a/quantum/debounce/sym_eager_pr.c b/quantum/debounce/sym_eager_pr.c index eda92a263b02..29b0cabefbe0 100644 --- a/quantum/debounce/sym_eager_pr.c +++ b/quantum/debounce/sym_eager_pr.c @@ -132,7 +132,6 @@ static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], ui } } -bool debounce_active(void) { return true; } #else # include "none.c" #endif diff --git a/quantum/matrix.h b/quantum/matrix.h index 5c696622fcf2..1a3f362fbac1 100644 --- a/quantum/matrix.h +++ b/quantum/matrix.h @@ -46,8 +46,6 @@ void matrix_setup(void); void matrix_init(void); /* scan all key states on matrix */ uint8_t matrix_scan(void); -/* whether modified from previous scan. used after matrix_scan. */ -bool matrix_is_modified(void) __attribute__((deprecated)); /* whether a switch is on */ bool matrix_is_on(uint8_t row, uint8_t col); /* matrix state on row */ diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c index 66c89970b109..fe1d5b1eddaa 100644 --- a/quantum/matrix_common.c +++ b/quantum/matrix_common.c @@ -45,12 +45,6 @@ inline matrix_row_t matrix_get_row(uint8_t row) { #endif } -// Deprecated. -bool matrix_is_modified(void) { - if (debounce_active()) return false; - return true; -} - #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) From b7cdda7dcd02719efd91817a36ab9268182f1224 Mon Sep 17 00:00:00 2001 From: xiao <307671+xia0@users.noreply.github.com> Date: Tue, 30 Nov 2021 03:23:58 +1100 Subject: [PATCH 0004/1832] [Keyboard] Added Wakizashi 40 (#15336) Co-authored-by: Ryan --- keyboards/handwired/wakizashi40/config.h | 20 ++++ keyboards/handwired/wakizashi40/info.json | 88 ++++++++++++++++++ .../wakizashi40/keymaps/default/keymap.c | 44 +++++++++ .../wakizashi40/keymaps/via/keymap.c | 92 +++++++++++++++++++ .../wakizashi40/keymaps/via/rules.mk | 4 + keyboards/handwired/wakizashi40/readme.md | 19 ++++ keyboards/handwired/wakizashi40/rules.mk | 1 + 7 files changed, 268 insertions(+) create mode 100644 keyboards/handwired/wakizashi40/config.h create mode 100644 keyboards/handwired/wakizashi40/info.json create mode 100644 keyboards/handwired/wakizashi40/keymaps/default/keymap.c create mode 100644 keyboards/handwired/wakizashi40/keymaps/via/keymap.c create mode 100644 keyboards/handwired/wakizashi40/keymaps/via/rules.mk create mode 100644 keyboards/handwired/wakizashi40/readme.md create mode 100644 keyboards/handwired/wakizashi40/rules.mk diff --git a/keyboards/handwired/wakizashi40/config.h b/keyboards/handwired/wakizashi40/config.h new file mode 100644 index 000000000000..78f85f219745 --- /dev/null +++ b/keyboards/handwired/wakizashi40/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 xiao (@xia0) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" +#define DYNAMIC_KEYMAP_LAYER_COUNT 12 diff --git a/keyboards/handwired/wakizashi40/info.json b/keyboards/handwired/wakizashi40/info.json new file mode 100644 index 000000000000..b64ab55116e2 --- /dev/null +++ b/keyboards/handwired/wakizashi40/info.json @@ -0,0 +1,88 @@ +{ + "manufacturer": "fumbucker", + "keyboard_name": "Wakizashi 40", + "maintainer": "fumbucker", + "debounce": 5, + "processor": "at90usb1286", + "diode_direction": "COL2ROW", + "features": { + "audio": false, + "backlight": false, + "bluetooth": false, + "bootmagic": true, + "command": false, + "console": true, + "extrakey": true, + "midi": false, + "mousekey": true, + "nkro": true, + "rgblight": false, + "unicode": false + }, + "matrix_pins": { + "cols": ["C5", "C4", "D2", "D3", "D4", "D5", "C6", "D7", "B0", "B1", "B2", "B3", "B4"], + "rows": ["C0", "C1", "C2", "C3"] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x7740", + "vid": "0x6662" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "TAB", "matrix": [0, 0], "w": 1.5, "x": 0, "y": 0 }, + { "label": "Q", "matrix": [0, 2], "w": 1, "x": 1.5, "y": 0 }, + { "label": "W", "matrix": [0, 3], "w": 1, "x": 2.5, "y": 0 }, + { "label": "E", "matrix": [0, 4], "w": 1, "x": 3.5, "y": 0 }, + { "label": "R", "matrix": [0, 5], "w": 1, "x": 4.5, "y": 0 }, + { "label": "T", "matrix": [0, 6], "w": 1, "x": 5.5, "y": 0 }, + { "label": "Y", "matrix": [0, 7], "w": 1, "x": 6.5, "y": 0 }, + { "label": "U", "matrix": [0, 8], "w": 1, "x": 7.5, "y": 0 }, + { "label": "I", "matrix": [0, 9], "w": 1, "x": 8.5, "y": 0 }, + { "label": "O", "matrix": [0, 10], "w": 1, "x": 9.5, "y": 0 }, + { "label": "P", "matrix": [0, 11], "w": 1, "x": 10.5, "y": 0 }, + { "label": "BACKSPACE", "matrix": [0, 12], "w": 1.5, "x": 11.5, "y": 0 }, + + { "label": "CAPSLOCK", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 }, + { "label": "A", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 }, + { "label": "S", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 }, + { "label": "D", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 }, + { "label": "F", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 }, + { "label": "G", "matrix": [1, 5], "w": 1, "x": 5.75, "y": 1 }, + { "label": "H", "matrix": [1, 7], "w": 1, "x": 6.75, "y": 1 }, + { "label": "J", "matrix": [1, 8], "w": 1, "x": 7.75, "y": 1 }, + { "label": "K", "matrix": [1, 9], "w": 1, "x": 8.75, "y": 1 }, + { "label": "L", "matrix": [1, 10], "w": 1, "x": 9.75, "y": 1 }, + { "label": "SEMICOLON", "matrix": [1, 11], "w": 1, "x": 10.75, "y": 1 }, + { "label": "ENTER", "matrix": [1, 12], "w": 1.25, "x": 11.75, "y": 1 }, + + { "label": "LSHIFT", "matrix": [2, 0], "w": 1, "x": 0, "y": 2 }, + { "label": "Z", "matrix": [2, 1], "w": 1, "x": 1, "y": 2 }, + { "label": "X", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 }, + { "label": "C", "matrix": [2, 3], "w": 1, "x": 3, "y": 2 }, + { "label": "V", "matrix": [2, 4], "w": 1, "x": 4, "y": 2 }, + { "label": "B", "matrix": [2, 5], "w": 1, "x": 5, "y": 2 }, + { "label": "ESCAPE", "matrix": [2, 6], "w": 1, "x": 6, "y": 2 }, + { "label": "N", "matrix": [2, 7], "w": 1, "x": 7, "y": 2 }, + { "label": "M", "matrix": [2, 8], "w": 1, "x": 8, "y": 2 }, + { "label": "COMMA", "matrix": [2, 9], "w": 1, "x": 9, "y": 2 }, + { "label": "PERIOD", "matrix": [2, 10], "w": 1, "x": 10, "y": 2 }, + { "label": "SLASH", "matrix": [2, 11], "w": 1, "x": 11, "y": 2 }, + { "label": "RSHIFT", "matrix": [2, 12], "w": 1, "x": 12, "y": 2 }, + + { "label": "LCTRL", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "LWIN", "matrix": [3, 1], "w": 1.25, "x": 1.25, "y": 3 }, + { "label": "LALT", "matrix": [3, 3], "w": 1.25, "x": 2.5, "y": 3 }, + { "label": "SPACE1", "matrix": [3, 5], "w": 2.75, "x": 3.75, "y": 3 }, + { "label": "SPACE2", "matrix": [3, 7], "w": 2.75, "x": 6.5, "y": 3 }, + { "label": "RALT", "matrix": [3, 9], "w": 1.25, "x": 9.25, "y": 3 }, + { "label": "MENU", "matrix": [3, 11], "w": 1.25, "x": 10.5, "y": 3 }, + { "label": "RCTRL", "matrix": [3, 12], "w": 1.25, "x": 11.75, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/wakizashi40/keymaps/default/keymap.c b/keyboards/handwired/wakizashi40/keymaps/default/keymap.c new file mode 100644 index 000000000000..910e5bde123b --- /dev/null +++ b/keyboards/handwired/wakizashi40/keymaps/default/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2021 xiao (@xia0) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), LT(2, KC_SPC), KC_LALT, KC_MENU, KC_LCTL), + + [1] = LAYOUT_all( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + MO(3), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_TRNS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), + + [2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, + MO(11), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_QUOT, + 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, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), + + [3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + +}; diff --git a/keyboards/handwired/wakizashi40/keymaps/via/keymap.c b/keyboards/handwired/wakizashi40/keymaps/via/keymap.c new file mode 100644 index 000000000000..d456b8b40a3b --- /dev/null +++ b/keyboards/handwired/wakizashi40/keymaps/via/keymap.c @@ -0,0 +1,92 @@ +/* Copyright 2021 xiao (@xia0) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), LT(2, KC_SPC), KC_LALT, KC_MENU, KC_LCTL), + + [1] = LAYOUT_all( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + MO(11), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_TRNS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), + + [2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, + MO(11), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_QUOT, + 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, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), + + [3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [4] = LAYOUT_all( + 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, 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, 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), + + [5] = LAYOUT_all( + 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, 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, 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), + + [6] = LAYOUT_all( + 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, 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, 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), + + [7] = LAYOUT_all( + 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, 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, 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), + + [8] = LAYOUT_all( + 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, 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, 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), + + [9] = LAYOUT_all( + 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, 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, 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), + + [10] = LAYOUT_all( + 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, 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, 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), + + [11] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, 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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + +}; diff --git a/keyboards/handwired/wakizashi40/keymaps/via/rules.mk b/keyboards/handwired/wakizashi40/keymaps/via/rules.mk new file mode 100644 index 000000000000..7a49719505df --- /dev/null +++ b/keyboards/handwired/wakizashi40/keymaps/via/rules.mk @@ -0,0 +1,4 @@ +# rules.mk overrides to enable VIA + +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/handwired/wakizashi40/readme.md b/keyboards/handwired/wakizashi40/readme.md new file mode 100644 index 000000000000..d94a75651cc9 --- /dev/null +++ b/keyboards/handwired/wakizashi40/readme.md @@ -0,0 +1,19 @@ +# Wakizashi 40 + +![Wakizashi40](https://cdn.thingiverse.com/renders/51/50/81/13/a9/7078248666f70b422127c6662cf79563_preview_featured.jpg) + +Reverse stagger 40% keyboard based on the Katana 60. + +* Keyboard Maintainer: [fumbucker](https://github.com/xia0) +* Hardware Supported: Teensy2++ +* Hardware Availability: [thingiverse](https://www.thingiverse.com/thing:3467930) + +Make example for this keyboard (after setting up your build environment): + + make handwired/wakizashi40:default + +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. + +## Bootloader + +* **Keycode in layout**: Press the key mapped to `RESET` if it is available (Capslock + R). diff --git a/keyboards/handwired/wakizashi40/rules.mk b/keyboards/handwired/wakizashi40/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/wakizashi40/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From b5a5bb6d743afc0be8d5b1d973158fa8fd2aec93 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 29 Nov 2021 17:18:54 -0800 Subject: [PATCH 0005/1832] Change default USB Polling rate to 1kHz (#15352) --- tmk_core/protocol/usb_descriptor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index a43755f89911..0b992ba6c5dd 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -450,7 +450,7 @@ const USB_Descriptor_Device_t PROGMEM DeviceDescriptor = { #endif #ifndef USB_POLLING_INTERVAL_MS -# define USB_POLLING_INTERVAL_MS 10 +# define USB_POLLING_INTERVAL_MS 1 #endif /* From 9204f8535b36e4b9ea51c083bd04d6ea76ac97ee Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 30 Nov 2021 17:49:09 +0000 Subject: [PATCH 0006/1832] [Keyboard] Convert ergoinu to SPLIT_KEYBOARD (#15305) --- keyboards/dm9records/ergoinu/config.h | 10 +- keyboards/dm9records/ergoinu/ergoinu.c | 17 + keyboards/dm9records/ergoinu/ergoinu.h | 5 - .../ergoinu/keymaps/default/config.h | 24 -- .../ergoinu/keymaps/default/keymap.c | 49 ++- .../ergoinu/keymaps/default/rules.mk | 26 -- .../ergoinu/keymaps/default_jis/config.h | 24 -- .../ergoinu/keymaps/default_jis/keymap.c | 42 ++- .../ergoinu/keymaps/default_jis/rules.mk | 26 -- keyboards/dm9records/ergoinu/matrix.c | 286 ----------------- keyboards/dm9records/ergoinu/post_rules.mk | 9 - keyboards/dm9records/ergoinu/readme.md | 9 +- keyboards/dm9records/ergoinu/rules.mk | 30 +- keyboards/dm9records/ergoinu/serial.c | 295 ------------------ keyboards/dm9records/ergoinu/serial.h | 24 -- keyboards/dm9records/ergoinu/serial_config.h | 11 - keyboards/dm9records/ergoinu/split_util.c | 56 ---- keyboards/dm9records/ergoinu/split_util.h | 12 - 18 files changed, 77 insertions(+), 878 deletions(-) delete mode 100644 keyboards/dm9records/ergoinu/keymaps/default/config.h delete mode 100644 keyboards/dm9records/ergoinu/keymaps/default/rules.mk delete mode 100644 keyboards/dm9records/ergoinu/keymaps/default_jis/config.h delete mode 100644 keyboards/dm9records/ergoinu/keymaps/default_jis/rules.mk delete mode 100644 keyboards/dm9records/ergoinu/matrix.c delete mode 100644 keyboards/dm9records/ergoinu/post_rules.mk delete mode 100644 keyboards/dm9records/ergoinu/serial.c delete mode 100644 keyboards/dm9records/ergoinu/serial.h delete mode 100644 keyboards/dm9records/ergoinu/serial_config.h delete mode 100644 keyboards/dm9records/ergoinu/split_util.c delete mode 100644 keyboards/dm9records/ergoinu/split_util.h diff --git a/keyboards/dm9records/ergoinu/config.h b/keyboards/dm9records/ergoinu/config.h index 113eaf9f7601..89ea9e7903a4 100644 --- a/keyboards/dm9records/ergoinu/config.h +++ b/keyboards/dm9records/ergoinu/config.h @@ -20,7 +20,6 @@ along with this program. If not, see . #pragma once #include "config_common.h" -#include "serial_config.h" /* USB Device descriptor parameter VID & PID are lisenced from microchip sublisence program, Don't use other project! */ @@ -30,11 +29,11 @@ along with this program. If not, see . #define MANUFACTURER Dm9Records #define PRODUCT ergoinu -#define TAPPING_FORCE_HOLD -#define TAPPING_TERM 100 - #define USE_SERIAL +/* serial.c configuration for split keyboard */ +#define SOFT_SERIAL_PIN D2 + /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT @@ -49,6 +48,9 @@ along with this program. If not, see . #define MATRIX_COLS 7 #define MATRIX_COL_PINS { B4, E6, D7, C6, D4, F5, F4 } +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + /* define if matrix has ghost */ //#define MATRIX_HAS_GHOST diff --git a/keyboards/dm9records/ergoinu/ergoinu.c b/keyboards/dm9records/ergoinu/ergoinu.c index c6d099a14835..a01ac0a25c32 100644 --- a/keyboards/dm9records/ergoinu/ergoinu.c +++ b/keyboards/dm9records/ergoinu/ergoinu.c @@ -1 +1,18 @@ +/* +Copyright 2018 Takuya Urakawa + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include "ergoinu.h" diff --git a/keyboards/dm9records/ergoinu/ergoinu.h b/keyboards/dm9records/ergoinu/ergoinu.h index 43249a84404b..c275d3fa27a8 100644 --- a/keyboards/dm9records/ergoinu/ergoinu.h +++ b/keyboards/dm9records/ergoinu/ergoinu.h @@ -19,10 +19,6 @@ along with this program. If not, see . #include "quantum.h" -#ifdef RGBLIGHT_ENABLE -#include "ws2812.h" -#endif - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ L07, L08, L09, L10, L11, L12, L13, R07, R08, R09, R10, R11, R12, R13, \ @@ -41,4 +37,3 @@ along with this program. If not, see . { R27, R26, R25, R24, R23, R22, R21 }, \ { KC_NO, KC_NO, R32, R31, R30, R29, R28 } \ } - diff --git a/keyboards/dm9records/ergoinu/keymaps/default/config.h b/keyboards/dm9records/ergoinu/keymaps/default/config.h deleted file mode 100644 index bb266f25e72d..000000000000 --- a/keyboards/dm9records/ergoinu/keymaps/default/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2018 Takuya Urakawa - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define RGBLIGHT_ANIMATIONS diff --git a/keyboards/dm9records/ergoinu/keymaps/default/keymap.c b/keyboards/dm9records/ergoinu/keymaps/default/keymap.c index 3192b0f22015..862b53882960 100644 --- a/keyboards/dm9records/ergoinu/keymaps/default/keymap.c +++ b/keyboards/dm9records/ergoinu/keymaps/default/keymap.c @@ -5,14 +5,6 @@ extern rgblight_config_t rgblight_config; #endif -#define JA_CLON KC_QUOT // : and + -#define JA_AT KC_LBRC // @ and ` -#define JA_HAT KC_EQL // ^ and ~ -#define JA_ENUN KC_RO // \ and _ (EN mark and UNder score) -#define JA_ENVL KC_JYEN // \ and | (EN mark and Vertical Line) -#define JA_LBRC KC_RBRC // [ and { -#define JA_RBRC KC_BSLS // ] and } - enum LAYER_NO { BASE = 0, META, @@ -24,33 +16,30 @@ enum CUSTOM_KEYCODES { RGB_TYPE, }; -// Fillers to make layering more clear -#define ______ KC_TRNS -#define XXXXXX KC_NO - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT( \ - 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_DEL, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRV, \ - 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_RSFT, \ - MO(META),KC_LALT, KC_LGUI, KC_ENT, KC_SPC, KC_ENT, KC_BSPC, KC_RGUI, KC_RALT, MO(META) \ + [BASE] = LAYOUT( + 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_DEL, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRV, + 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_RSFT, + MO(META),KC_LALT, KC_LGUI, KC_ENT, KC_SPC, KC_ENT, KC_BSPC, KC_RGUI, KC_RALT, MO(META) ), - [META] = LAYOUT( \ - MO(CONF),KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, \ - ______, KC_CAPS, ______, ______, ______, ______, ______, ______, ______, ______, KC_SLCK, KC_PSCR, KC_HOME, KC_END, \ - ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PAUS, KC_PGUP, KC_UP, KC_PGDN, \ - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_LEFT, KC_DOWN, KC_RGHT, \ - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ \ + [META] = LAYOUT( + MO(CONF),KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, + _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLCK, KC_PSCR, KC_HOME, KC_END, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, KC_PGUP, KC_UP, KC_PGDN, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [CONF] = LAYOUT( \ - ______, RGB_TYPE,RGB_MOD, RGB_VAI, RGB_HUI, RGB_HUI, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \ - RGB_RST, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_HUD, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \ - XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \ - XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \ - XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX \ + + [CONF] = LAYOUT( + _______, RGB_TYPE,RGB_MOD, RGB_VAI, RGB_HUI, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_RST, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) }; diff --git a/keyboards/dm9records/ergoinu/keymaps/default/rules.mk b/keyboards/dm9records/ergoinu/keymaps/default/rules.mk deleted file mode 100644 index 8741c24d8750..000000000000 --- a/keyboards/dm9records/ergoinu/keymaps/default/rules.mk +++ /dev/null @@ -1,26 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -SWAP_HANDS_ENABLE = no # Enable one-hand typing - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# ergoinu configs -DISABLE_PROMICRO_LEDs = yes - -# Uncomment these for debugging -# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) -# $(info -- OPT_DEFS=$(OPT_DEFS)) -# $(info ) diff --git a/keyboards/dm9records/ergoinu/keymaps/default_jis/config.h b/keyboards/dm9records/ergoinu/keymaps/default_jis/config.h deleted file mode 100644 index bb266f25e72d..000000000000 --- a/keyboards/dm9records/ergoinu/keymaps/default_jis/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2018 Takuya Urakawa - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define RGBLIGHT_ANIMATIONS diff --git a/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c b/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c index e161145f4f26..32289c44db26 100644 --- a/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c +++ b/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c @@ -24,34 +24,30 @@ enum CUSTOM_KEYCODES { RGB_TYPE, }; -// Fillers to make layering more clear -#define ______ KC_TRNS -#define XXXXXX KC_NO - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT( \ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JA_HAT, KC_JYEN, \ - KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JA_AT, JA_LBRC, \ - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JA_CLON, JA_RBRC, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, \ - MO(META),KC_LALT, KC_ZKHK, KC_BSPC, KC_SPC, KC_ENT, KC_BSPC, KC_MHEN, KC_KANA, MO(META) \ + [BASE] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JA_HAT, KC_JYEN, + KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JA_AT, JA_LBRC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JA_CLON, JA_RBRC, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, + MO(META),KC_LALT, KC_ZKHK, KC_BSPC, KC_SPC, KC_ENT, KC_BSPC, KC_MHEN, KC_KANA, MO(META) ), - - [META] = LAYOUT( \ - MO(CONF),KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, \ - ______, KC_CAPS, ______, KC_UP, ______, ______, ______, ______, ______, ______, KC_SLCK, KC_PSCR, KC_HOME, KC_END, \ - ______, KC_LEFT, KC_DOWN, KC_RGHT, ______, ______, ______, ______, ______, KC_PAUS, KC_PGUP, KC_UP, KC_PGDN, \ - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_LEFT, KC_DOWN, KC_RGHT, \ - ______, ______, KC_RGUI, KC_DEL, KC_ENT, ______, KC_DEL, KC_HENK, KC_LGUI, ______ \ + [META] = LAYOUT( + MO(CONF),KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, + _______, KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, _______, KC_SLCK, KC_PSCR, KC_HOME, KC_END, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_PAUS, KC_PGUP, KC_UP, KC_PGDN, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, + _______, _______, KC_RGUI, KC_DEL, KC_ENT, _______, KC_DEL, KC_HENK, KC_LGUI, _______ ), - [CONF] = LAYOUT( \ - ______, RGB_TYPE,RGB_MOD, RGB_VAI, RGB_HUI, RGB_HUI, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \ - RGB_RST, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_HUD, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \ - XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \ - XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \ - XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX \ + + [CONF] = LAYOUT( + _______, RGB_TYPE,RGB_MOD, RGB_VAI, RGB_HUI, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_RST, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) }; diff --git a/keyboards/dm9records/ergoinu/keymaps/default_jis/rules.mk b/keyboards/dm9records/ergoinu/keymaps/default_jis/rules.mk deleted file mode 100644 index 48418de47180..000000000000 --- a/keyboards/dm9records/ergoinu/keymaps/default_jis/rules.mk +++ /dev/null @@ -1,26 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -SWAP_HANDS_ENABLE = no # Enable one-hand typing - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# ergoinu configs -DISABLE_PROMICRO_LEDs = yes - -# Uncomment these for debugging -# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) -# $(info -- OPT_DEFS=$(OPT_DEFS)) -# $(info ) diff --git a/keyboards/dm9records/ergoinu/matrix.c b/keyboards/dm9records/ergoinu/matrix.c deleted file mode 100644 index 87a581731357..000000000000 --- a/keyboards/dm9records/ergoinu/matrix.c +++ /dev/null @@ -1,286 +0,0 @@ -/* -Copyright 2012 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -/* - * scan matrix - */ -#include -#include -#include -#include -#include -#include -#include "print.h" -#include "debug.h" -#include "util.h" -#include "matrix.h" -#include "split_util.h" -#include "quantum.h" - -#include "serial.h" - -#ifndef DEBOUNCE -# define DEBOUNCE 5 -#endif - -#define ERROR_DISCONNECT_COUNT 5 - -static uint8_t debouncing = DEBOUNCE; -static const int ROWS_PER_HAND = MATRIX_ROWS/2; -static uint8_t error_count = 0; -uint8_t is_master = 0 ; - -static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t matrix_debouncing[MATRIX_ROWS]; - -static matrix_row_t read_cols(void); -static void init_cols(void); -static void unselect_rows(void); -static void select_row(uint8_t row); -static uint8_t matrix_master_scan(void); - - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - debug_enable = true; - debug_matrix = true; - debug_mouse = true; - // initialize row and col - unselect_rows(); - init_cols(); - - setPinOutput(B0); - setPinOutput(D5); - - #ifdef DISABLE_PROMICRO_LEDs - writePinHigh(B0); - writePinHigh(D5); - #endif - - // initialize matrix state: all keys off - for (uint8_t i=0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; - matrix_debouncing[i] = 0; - } - - is_master = has_usb(); - - matrix_init_quantum(); -} - -uint8_t _matrix_scan(void) { - // Right hand is stored after the left in the matirx so, we need to offset it - int offset = isLeftHand ? 0 : (ROWS_PER_HAND); - - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { - select_row(i); - _delay_us(30); // without this wait read unstable value. - matrix_row_t cols = read_cols(); - if (matrix_debouncing[i+offset] != cols) { - matrix_debouncing[i+offset] = cols; - debouncing = DEBOUNCE; - } - unselect_rows(); - } - - if (debouncing) { - if (--debouncing) { - _delay_ms(1); - } else { - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { - matrix[i+offset] = matrix_debouncing[i+offset]; - } - } - } - - return 1; -} - -int serial_transaction(void) { - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - int ret=serial_update_buffers(); - if (ret ) { -#ifndef DISABLE_PROMICRO_LEDs - if(ret==2) writePinLow(B0); -#endif - return 1; - } -#ifndef DISABLE_PROMICRO_LEDs - writePinHigh(B0); -#endif - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[slaveOffset+i] = serial_slave_buffer[i]; - } - return 0; -} - -uint8_t matrix_scan(void) { - if (is_master) { - matrix_master_scan(); - }else{ - matrix_slave_scan(); - - int offset = (isLeftHand) ? ROWS_PER_HAND : 0; - - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[offset+i] = serial_master_buffer[i]; - } - - matrix_scan_quantum(); - } - return 1; -} - - -uint8_t matrix_master_scan(void) { - - int ret = _matrix_scan(); - - int offset = (isLeftHand) ? 0 : ROWS_PER_HAND; - - for (int i = 0; i < ROWS_PER_HAND; ++i) { - serial_master_buffer[i] = matrix[offset+i]; - } - - if( serial_transaction() ) { -#ifndef DISABLE_PROMICRO_LEDs - // turn on the indicator led when halves are disconnected - writePinLow(D5); -#endif - - error_count++; - - if (error_count > ERROR_DISCONNECT_COUNT) { - // reset other half if disconnected - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[slaveOffset+i] = 0; - } - } - } else { -#ifndef DISABLE_PROMICRO_LEDs - // turn off the indicator led on no error - writePinHigh(D5); -#endif - error_count = 0; - } - matrix_scan_quantum(); - return ret; -} - -void matrix_slave_scan(void) { - _matrix_scan(); - - int offset = (isLeftHand) ? 0 : ROWS_PER_HAND; - - for (int i = 0; i < ROWS_PER_HAND; ++i) { - serial_slave_buffer[i] = matrix[offset+i]; - } -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<> 4) + 1) &= ~_BV(col_pins[x] & 0xF); - _SFR_IO8((col_pins[x] >> 4) + 2) |= _BV(col_pins[x] & 0xF); - } -} - -static matrix_row_t read_cols(void) -{ - matrix_row_t result = 0; - for(int x = 0; x < MATRIX_COLS; x++) { - result |= (_SFR_IO8(col_pins[x] >> 4) & _BV(col_pins[x] & 0xF)) ? 0 : (1 << x); - } - return result; -} - -static void unselect_rows(void) -{ - for(int x = 0; x < ROWS_PER_HAND; x++) { - _SFR_IO8((row_pins[x] >> 4) + 1) &= ~_BV(row_pins[x] & 0xF); - _SFR_IO8((row_pins[x] >> 4) + 2) |= _BV(row_pins[x] & 0xF); - } -} - -static void select_row(uint8_t row) -{ - _SFR_IO8((row_pins[row] >> 4) + 1) |= _BV(row_pins[row] & 0xF); - _SFR_IO8((row_pins[row] >> 4) + 2) &= ~_BV(row_pins[row] & 0xF); -} diff --git a/keyboards/dm9records/ergoinu/post_rules.mk b/keyboards/dm9records/ergoinu/post_rules.mk deleted file mode 100644 index 02aa48104c19..000000000000 --- a/keyboards/dm9records/ergoinu/post_rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -ifneq ($(strip $(ERGOINU)),) - ifeq ($(findstring promicroled, $(ERGOINU)), promicroled) - DISABLE_PROMICRO_LEDs = no - endif -endif - -ifeq ($(strip $(DISABLE_PROMICRO_LEDs)), yes) - OPT_DEFS += -DDISABLE_PROMICRO_LEDs -endif diff --git a/keyboards/dm9records/ergoinu/readme.md b/keyboards/dm9records/ergoinu/readme.md index de0a1c6c9706..45f91dbac24e 100644 --- a/keyboards/dm9records/ergoinu/readme.md +++ b/keyboards/dm9records/ergoinu/readme.md @@ -1,13 +1,12 @@ -ErgoInu -=== +# ErgoInu ![ergoinu](https://i.imgur.com/4CCM8Vl.jpg) An (Not Portable But Small) Ergonomic Split Keyboard. -Keyboard Maintainer: [hsgw](https://github.com/hsgw/) [twitter](https://twitter.com/hsgw) -Hardware Supported: Pro Micro -Hardware Availability & Repository: [https://github.com/hsgw/ergoinu](https://github.com/hsgw/ergoinu) +* Keyboard Maintainer: [hsgw](https://github.com/hsgw/) [twitter](https://twitter.com/hsgw) +* Hardware Supported: Pro Micro +* Hardware Availability & Repository: [https://github.com/hsgw/ergoinu](https://github.com/hsgw/ergoinu) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/dm9records/ergoinu/rules.mk b/keyboards/dm9records/ergoinu/rules.mk index 895ce253d7d8..9bdc73b76155 100644 --- a/keyboards/dm9records/ergoinu/rules.mk +++ b/keyboards/dm9records/ergoinu/rules.mk @@ -5,25 +5,19 @@ MCU = atmega32u4 BOOTLOADER = caterina # Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -SUBPROJECT_rev1 = no -USE_I2C = no # i2c is not supported +COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -CUSTOM_MATRIX = yes -SRC += matrix.c serial.c split_util.c +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output -# ergoinu configs -DISABLE_PROMICRO_LEDs = yes +SPLIT_KEYBOARD = yes diff --git a/keyboards/dm9records/ergoinu/serial.c b/keyboards/dm9records/ergoinu/serial.c deleted file mode 100644 index 591941587789..000000000000 --- a/keyboards/dm9records/ergoinu/serial.c +++ /dev/null @@ -1,295 +0,0 @@ -/* - * WARNING: be careful changing this code, it is very timing dependent - */ - -#ifndef F_CPU -#define F_CPU 16000000 -#endif - -#include -#include -#include -#include -#include "serial.h" - -#ifdef USE_SERIAL - -#define _delay_sub_us(x) __builtin_avr_delay_cycles(x) - -// Serial pulse period in microseconds. -#define SELECT_SERIAL_SPEED 1 -#if SELECT_SERIAL_SPEED == 0 - // Very High speed - #define SERIAL_DELAY 4 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #define READ_WRITE_WIDTH_ADJUST 10 // cycles -#elif SELECT_SERIAL_SPEED == 1 - // High speed - #define SERIAL_DELAY 6 // micro sec - #define READ_WRITE_START_ADJUST 23 // cycles - #define READ_WRITE_WIDTH_ADJUST 10 // cycles -#elif SELECT_SERIAL_SPEED == 2 - // Middle speed - #define SERIAL_DELAY 12 // micro sec - #define READ_WRITE_START_ADJUST 25 // cycles - #define READ_WRITE_WIDTH_ADJUST 10 // cycles -#elif SELECT_SERIAL_SPEED == 3 - // Low speed - #define SERIAL_DELAY 24 // micro sec - #define READ_WRITE_START_ADJUST 25 // cycles - #define READ_WRITE_WIDTH_ADJUST 10 // cycles -#elif SELECT_SERIAL_SPEED == 4 - // Very Low speed - #define SERIAL_DELAY 50 // micro sec - #define READ_WRITE_START_ADJUST 25 // cycles - #define READ_WRITE_WIDTH_ADJUST 10 // cycles -#else -#error Illegal Serial Speed -#endif - - -#define SERIAL_DELAY_HALF1 (SERIAL_DELAY/2) -#define SERIAL_DELAY_HALF2 (SERIAL_DELAY - SERIAL_DELAY/2) - -#define SLAVE_INT_WIDTH 1 -#define SLAVE_INT_RESPONSE_TIME SERIAL_DELAY - -uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0}; -uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0}; - -#define SLAVE_DATA_CORRUPT (1<<0) -volatile uint8_t status = 0; - -inline static -void serial_delay(void) { - _delay_us(SERIAL_DELAY); -} - -inline static -void serial_delay_half1(void) { - _delay_us(SERIAL_DELAY_HALF1); -} - -inline static -void serial_delay_half2(void) { - _delay_us(SERIAL_DELAY_HALF2); -} - -inline static -void serial_output(void) { - SERIAL_PIN_DDR |= SERIAL_PIN_MASK; -} - -// make the serial pin an input with pull-up resistor -inline static -void serial_input_with_pullup(void) { - SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK; - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; -} - -inline static -uint8_t serial_read_pin(void) { - return !!(SERIAL_PIN_INPUT & SERIAL_PIN_MASK); -} - -inline static -void serial_low(void) { - SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK; -} - -inline static -void serial_high(void) { - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; -} - -void serial_master_init(void) { - serial_output(); - serial_high(); -} - -void serial_slave_init(void) { - serial_input_with_pullup(); - -#if SERIAL_PIN_MASK == _BV(PD0) - // Enable INT0 - EIMSK |= _BV(INT0); - // Trigger on falling edge of INT0 - EICRA &= ~(_BV(ISC00) | _BV(ISC01)); -#elif SERIAL_PIN_MASK == _BV(PD2) - // Enable INT2 - EIMSK |= _BV(INT2); - // Trigger on falling edge of INT2 - EICRA &= ~(_BV(ISC20) | _BV(ISC21)); -#else - #error unknown SERIAL_PIN_MASK value -#endif -} - -// Used by the sender to synchronize timing with the reciver. -static -void sync_recv(void) { - for (int i = 0; i < SERIAL_DELAY*5 && serial_read_pin(); i++ ) { - } - // This shouldn't hang if the slave disconnects because the - // serial line will float to high if the slave does disconnect. - while (!serial_read_pin()); -} - -// Used by the reciver to send a synchronization signal to the sender. -static -void sync_send(void) { - serial_low(); - serial_delay(); - serial_high(); -} - -// Reads a byte from the serial line -static -uint8_t serial_read_byte(void) { - uint8_t byte = 0; - _delay_sub_us(READ_WRITE_START_ADJUST); - for ( uint8_t i = 0; i < 8; ++i) { - serial_delay_half1(); // read the middle of pulses - byte = (byte << 1) | serial_read_pin(); - _delay_sub_us(READ_WRITE_WIDTH_ADJUST); - serial_delay_half2(); - } - return byte; -} - -// Sends a byte with MSB ordering -static -void serial_write_byte(uint8_t data) { - uint8_t b = 1<<7; - while( b ) { - if(data & b) { - serial_high(); - } else { - serial_low(); - } - b >>= 1; - serial_delay(); - } - serial_low(); // sync_send() / senc_recv() need raise edge -} - -// interrupt handle to be used by the slave device -ISR(SERIAL_PIN_INTERRUPT) { - serial_output(); - - // slave send phase - uint8_t checksum = 0; - for (int i = 0; i < SERIAL_SLAVE_BUFFER_LENGTH; ++i) { - sync_send(); - serial_write_byte(serial_slave_buffer[i]); - checksum += serial_slave_buffer[i]; - } - sync_send(); - serial_write_byte(checksum); - - // slave switch to input - sync_send(); //0 - serial_delay_half1(); //1 - serial_low(); //2 - serial_input_with_pullup(); //2 - serial_delay_half1(); //3 - - // slave recive phase - uint8_t checksum_computed = 0; - for (int i = 0; i < SERIAL_MASTER_BUFFER_LENGTH; ++i) { - sync_recv(); - serial_master_buffer[i] = serial_read_byte(); - checksum_computed += serial_master_buffer[i]; - } - sync_recv(); - uint8_t checksum_received = serial_read_byte(); - - if ( checksum_computed != checksum_received ) { - status |= SLAVE_DATA_CORRUPT; - } else { - status &= ~SLAVE_DATA_CORRUPT; - } - - sync_recv(); //weit master output to high -} - -inline -bool serial_slave_DATA_CORRUPT(void) { - return status & SLAVE_DATA_CORRUPT; -} - -// Copies the serial_slave_buffer to the master and sends the -// serial_master_buffer to the slave. -// -// Returns: -// 0 => no error -// 1 => slave did not respond -// 2 => checksum error -int serial_update_buffers(void) { - // this code is very time dependent, so we need to disable interrupts - cli(); - - // signal to the slave that we want to start a transaction - serial_output(); - serial_low(); - _delay_us(SLAVE_INT_WIDTH); - - // wait for the slaves response - serial_input_with_pullup(); - _delay_us(SLAVE_INT_RESPONSE_TIME); - - // check if the slave is present - if (serial_read_pin()) { - // slave failed to pull the line low, assume not present - serial_output(); - serial_high(); - sei(); - return 1; - } - - // master recive phase - // if the slave is present syncronize with it - - uint8_t checksum_computed = 0; - // receive data from the slave - for (int i = 0; i < SERIAL_SLAVE_BUFFER_LENGTH; ++i) { - sync_recv(); - serial_slave_buffer[i] = serial_read_byte(); - checksum_computed += serial_slave_buffer[i]; - } - sync_recv(); - uint8_t checksum_received = serial_read_byte(); - - if (checksum_computed != checksum_received) { - serial_output(); - serial_high(); - sei(); - return 2; - } - - // master switch to output - sync_recv(); //0 - serial_delay(); //1 - serial_low(); //3 - serial_output(); // 3 - serial_delay_half1(); //4 - - // master send phase - uint8_t checksum = 0; - - for (int i = 0; i < SERIAL_MASTER_BUFFER_LENGTH; ++i) { - sync_send(); - serial_write_byte(serial_master_buffer[i]); - checksum += serial_master_buffer[i]; - } - sync_send(); - serial_write_byte(checksum); - - // always, release the line when not in use - sync_send(); - - sei(); - return 0; -} - -#endif diff --git a/keyboards/dm9records/ergoinu/serial.h b/keyboards/dm9records/ergoinu/serial.h deleted file mode 100644 index 67cf06ac6b81..000000000000 --- a/keyboards/dm9records/ergoinu/serial.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -#include - -// //////////////////////////////////////////// -// Need Soft Serial defines in serial_config.h -// //////////////////////////////////////////// -// ex. -// #define SERIAL_PIN_DDR DDRD -// #define SERIAL_PIN_PORT PORTD -// #define SERIAL_PIN_INPUT PIND -// #define SERIAL_PIN_MASK _BV(PD?) ?=0,2 -// #define SERIAL_PIN_INTERRUPT INT?_vect ?=0,2 -// #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -// #define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 - -// Buffers for master - slave communication -extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH]; -extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH]; - -void serial_master_init(void); -void serial_slave_init(void); -int serial_update_buffers(void); -bool serial_slave_data_corrupt(void); diff --git a/keyboards/dm9records/ergoinu/serial_config.h b/keyboards/dm9records/ergoinu/serial_config.h deleted file mode 100644 index a16db684ca8f..000000000000 --- a/keyboards/dm9records/ergoinu/serial_config.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -/* Soft Serial defines */ -#define SERIAL_PIN_DDR DDRD -#define SERIAL_PIN_PORT PORTD -#define SERIAL_PIN_INPUT PIND -#define SERIAL_PIN_MASK _BV(PD2) -#define SERIAL_PIN_INTERRUPT INT2_vect - -#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 diff --git a/keyboards/dm9records/ergoinu/split_util.c b/keyboards/dm9records/ergoinu/split_util.c deleted file mode 100644 index 0cbc2c69c46a..000000000000 --- a/keyboards/dm9records/ergoinu/split_util.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "split_util.h" -#include "matrix.h" -#include "keyboard.h" - -#include "serial.h" - -volatile bool isLeftHand = true; - -static void setup_handedness(void) { - #ifdef EE_HANDS - isLeftHand = eeprom_read_byte(EECONFIG_HANDEDNESS); - #else - // I2C_MASTER_RIGHT is deprecated, use MASTER_RIGHT instead, since this works for both serial and i2c - #if defined(I2C_MASTER_RIGHT) || defined(MASTER_RIGHT) - isLeftHand = !has_usb(); - #else - isLeftHand = has_usb(); - #endif - #endif -} - -static void keyboard_master_setup(void) { - serial_master_init(); -} - -static void keyboard_slave_setup(void) { - serial_slave_init(); -} - -bool has_usb(void) { - USBCON |= (1 << OTGPADE); //enables VBUS pad - _delay_us(5); - return (USBSTA & (1< -#include "eeconfig.h" - -extern volatile bool isLeftHand; - -// slave version of matix scan, defined in matrix.c -void matrix_slave_scan(void); - -void split_keyboard_setup(void); -bool has_usb(void); From 2726856cde66856344de7790d750a332ace1070d Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 1 Dec 2021 01:34:08 +0000 Subject: [PATCH 0007/1832] Implement MAGIC_TOGGLE_CONTROL_CAPSLOCK (#15368) --- docs/keycodes.md | 1 + docs/keycodes_magic.md | 1 + quantum/process_keycode/process_magic.c | 4 ++++ quantum/quantum_keycodes.h | 3 +++ 4 files changed, 9 insertions(+) diff --git a/docs/keycodes.md b/docs/keycodes.md index ba06e1b8b680..2ea4fc74e214 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -326,6 +326,7 @@ See also: [Magic Keycodes](keycodes_magic.md) |----------------------------------|---------|--------------------------------------------------------------------------| |`MAGIC_SWAP_CONTROL_CAPSLOCK` |`CL_SWAP`|Swap Caps Lock and Left Control | |`MAGIC_UNSWAP_CONTROL_CAPSLOCK` |`CL_NORM`|Unswap Caps Lock and Left Control | +|`MAGIC_TOGGLE_CONTROL_CAPSLOCK` |`CL_TOGG`|Toggle Caps Lock and Left Control swap | |`MAGIC_CAPSLOCK_TO_CONTROL` |`CL_CTRL`|Treat Caps Lock as Control | |`MAGIC_UNCAPSLOCK_TO_CONTROL` |`CL_CAPS`|Stop treating Caps Lock as Control | |`MAGIC_SWAP_LCTL_LGUI` |`LCG_SWP`|Swap Left Control and GUI | diff --git a/docs/keycodes_magic.md b/docs/keycodes_magic.md index 7e1b1a4f6235..01eb69168ef7 100644 --- a/docs/keycodes_magic.md +++ b/docs/keycodes_magic.md @@ -6,6 +6,7 @@ |----------------------------------|---------|--------------------------------------------------------------------------| |`MAGIC_SWAP_CONTROL_CAPSLOCK` |`CL_SWAP`|Swap Caps Lock and Left Control | |`MAGIC_UNSWAP_CONTROL_CAPSLOCK` |`CL_NORM`|Unswap Caps Lock and Left Control | +|`MAGIC_TOGGLE_CONTROL_CAPSLOCK` |`CL_TOGG`|Toggle Caps Lock and Left Control swap | |`MAGIC_CAPSLOCK_TO_CONTROL` |`CL_CTRL`|Treat Caps Lock as Control | |`MAGIC_UNCAPSLOCK_TO_CONTROL` |`CL_CAPS`|Stop treating Caps Lock as Control | |`MAGIC_SWAP_LCTL_LGUI` |`LCG_SWP`|Swap Left Control and GUI | diff --git a/quantum/process_keycode/process_magic.c b/quantum/process_keycode/process_magic.c index d5cff4f12aa9..6332be647cd4 100644 --- a/quantum/process_keycode/process_magic.c +++ b/quantum/process_keycode/process_magic.c @@ -44,6 +44,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) { case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_ALT_GUI: case MAGIC_SWAP_LCTL_LGUI ... MAGIC_EE_HANDS_RIGHT: case MAGIC_TOGGLE_GUI: + case MAGIC_TOGGLE_CONTROL_CAPSLOCK: /* keymap config */ keymap_config.raw = eeconfig_read_keymap(); switch (keycode) { @@ -168,6 +169,9 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) { case MAGIC_TOGGLE_GUI: keymap_config.no_gui = !keymap_config.no_gui; break; + case MAGIC_TOGGLE_CONTROL_CAPSLOCK: + keymap_config.swap_control_capslock = !keymap_config.swap_control_capslock; + break; } eeconfig_update_keymap(keymap_config.raw); diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index e4d0167aac3f..3950a3bcae3f 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -597,6 +597,8 @@ enum quantum_keycodes { MACRO_30, MACRO_31, + MAGIC_TOGGLE_CONTROL_CAPSLOCK, + // Start of custom keycode range for keyboards and keymaps - always leave at the end SAFE_RANGE }; @@ -749,6 +751,7 @@ enum quantum_keycodes { #define CL_NORM MAGIC_UNSWAP_CONTROL_CAPSLOCK #define CL_CTRL MAGIC_CAPSLOCK_TO_CONTROL #define CL_CAPS MAGIC_UNCAPSLOCK_TO_CONTROL +#define CL_TOGG MAGIC_TOGGLE_CONTROL_CAPSLOCK #define LCG_SWP MAGIC_SWAP_LCTL_LGUI #define LCG_NRM MAGIC_UNSWAP_LCTL_LGUI From 3d06860f3cd8af5d9a2b4e9736b3024d0f37343f Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 1 Dec 2021 11:19:07 +0000 Subject: [PATCH 0008/1832] Convert not_so_minidox to SPLIT_KEYBOARD (#15306) --- keyboards/handwired/not_so_minidox/config.h | 5 + keyboards/handwired/not_so_minidox/i2c.c | 162 ---------- keyboards/handwired/not_so_minidox/i2c.h | 46 --- .../not_so_minidox/keymaps/default/keymap.c | 56 +--- keyboards/handwired/not_so_minidox/matrix.c | 302 ------------------ keyboards/handwired/not_so_minidox/rules.mk | 27 +- keyboards/handwired/not_so_minidox/serial.c | 228 ------------- keyboards/handwired/not_so_minidox/serial.h | 23 -- .../handwired/not_so_minidox/split_util.c | 84 ----- .../handwired/not_so_minidox/split_util.h | 17 - 10 files changed, 21 insertions(+), 929 deletions(-) delete mode 100644 keyboards/handwired/not_so_minidox/i2c.c delete mode 100644 keyboards/handwired/not_so_minidox/i2c.h delete mode 100644 keyboards/handwired/not_so_minidox/matrix.c delete mode 100644 keyboards/handwired/not_so_minidox/serial.c delete mode 100644 keyboards/handwired/not_so_minidox/serial.h delete mode 100644 keyboards/handwired/not_so_minidox/split_util.c delete mode 100644 keyboards/handwired/not_so_minidox/split_util.h diff --git a/keyboards/handwired/not_so_minidox/config.h b/keyboards/handwired/not_so_minidox/config.h index de9286eda541..177552e2a6c7 100644 --- a/keyboards/handwired/not_so_minidox/config.h +++ b/keyboards/handwired/not_so_minidox/config.h @@ -40,6 +40,11 @@ along with this program. If not, see . #define USE_SERIAL +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + //#define EE_HANDS #define MASTER_LEFT diff --git a/keyboards/handwired/not_so_minidox/i2c.c b/keyboards/handwired/not_so_minidox/i2c.c deleted file mode 100644 index 084c890c405f..000000000000 --- a/keyboards/handwired/not_so_minidox/i2c.c +++ /dev/null @@ -1,162 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "i2c.h" - -#ifdef USE_I2C - -// Limits the amount of we wait for any one i2c transaction. -// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is -// 9 bits, a single transaction will take around 90μs to complete. -// -// (F_CPU/SCL_CLOCK) => # of μC cycles to transfer a bit -// poll loop takes at least 8 clock cycles to execute -#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8 - -#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE) - -volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -static volatile uint8_t slave_buffer_pos; -static volatile bool slave_has_register_set = false; - -// Wait for an i2c operation to finish -inline static -void i2c_delay(void) { - uint16_t lim = 0; - while(!(TWCR & (1<10. - // Check datasheets for more info. - TWBR = ((F_CPU/SCL_CLOCK)-16)/2; -} - -// Start a transaction with the given i2c slave address. The direction of the -// transfer is set with I2C_READ and I2C_WRITE. -// returns: 0 => success -// 1 => error -uint8_t i2c_master_start(uint8_t address) { - TWCR = (1< slave ACK -// 1 => slave NACK -uint8_t i2c_master_write(uint8_t data) { - TWDR = data; - TWCR = (1<= SLAVE_BUFFER_SIZE ) { - ack = 0; - slave_buffer_pos = 0; - } - slave_has_register_set = true; - } else { - i2c_slave_buffer[slave_buffer_pos] = TWDR; - BUFFER_POS_INC(); - } - break; - - case TW_ST_SLA_ACK: - case TW_ST_DATA_ACK: - // master has addressed this device as a slave transmitter and is - // requesting data. - TWDR = i2c_slave_buffer[slave_buffer_pos]; - BUFFER_POS_INC(); - break; - - case TW_BUS_ERROR: // something went wrong, reset twi state - TWCR = 0; - default: - break; - } - // Reset everything, so we are ready for the next TWI interrupt - TWCR |= (1< - -#ifndef F_CPU -#define F_CPU 16000000UL -#endif - -#define I2C_READ 1 -#define I2C_WRITE 0 - -#define I2C_ACK 1 -#define I2C_NACK 0 - -#define SLAVE_BUFFER_SIZE 0x10 - -// i2c SCL clock frequency -#define SCL_CLOCK 400000L - -extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -void i2c_master_init(void); -uint8_t i2c_master_start(uint8_t address); -void i2c_master_stop(void); -uint8_t i2c_master_write(uint8_t data); -uint8_t i2c_master_read(int); -void i2c_reset_state(void); -void i2c_slave_init(uint8_t address); - - -static inline unsigned char i2c_start_read(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_READ); -} - -static inline unsigned char i2c_start_write(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_WRITE); -} - -// from SSD1306 scrips -extern unsigned char i2c_rep_start(unsigned char addr); -extern void i2c_start_wait(unsigned char addr); -extern unsigned char i2c_readAck(void); -extern unsigned char i2c_readNak(void); -extern unsigned char i2c_read(unsigned char ack); - -#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak(); diff --git a/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c b/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c index 296a7a281da5..435eed2f1fcd 100644 --- a/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c +++ b/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c @@ -8,17 +8,10 @@ #define _QWERTY 0 #define _LOWER 1 #define _RAISE 2 -#define _ADJUST 16 +#define _ADJUST 3 -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, -}; - -#define KC_LOWR LOWER -#define KC_RASE RAISE +#define KC_LOWR MO(_LOWER) +#define KC_RASE MO(_RAISE) #define KC_RST RESET #define KC_CAD LCTL(LALT(KC_DEL)) @@ -72,45 +65,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_ADJUST); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - } - return true; +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); } diff --git a/keyboards/handwired/not_so_minidox/matrix.c b/keyboards/handwired/not_so_minidox/matrix.c deleted file mode 100644 index d2bbf7d30306..000000000000 --- a/keyboards/handwired/not_so_minidox/matrix.c +++ /dev/null @@ -1,302 +0,0 @@ -/* -Copyright 2012 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -/* - * scan matrix - */ -#include -#include -#include -#include -#include -#include -#include "print.h" -#include "debug.h" -#include "util.h" -#include "matrix.h" -#include "split_util.h" -#include "config.h" -#include "quantum.h" - -#ifdef USE_I2C -# include "i2c.h" -#else // USE_SERIAL -# include "serial.h" -#endif - -#ifndef DEBOUNCE -# define DEBOUNCE 5 -#endif - -#define ERROR_DISCONNECT_COUNT 5 - -static uint8_t debouncing = DEBOUNCE; -static const int ROWS_PER_HAND = MATRIX_ROWS/2; -static uint8_t error_count = 0; - -static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t matrix_debouncing[MATRIX_ROWS]; - -static matrix_row_t read_cols(void); -static void init_cols(void); -static void unselect_rows(void); -static void select_row(uint8_t row); - - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) -{ - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) -{ - return MATRIX_COLS; -} - -void matrix_init(void) -{ - debug_enable = true; - debug_matrix = true; - debug_mouse = true; - // initialize row and col - unselect_rows(); - init_cols(); - - setPinOutput(B0); - setPinOutput(D5); - - // initialize matrix state: all keys off - for (uint8_t i=0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; - matrix_debouncing[i] = 0; - } - - matrix_init_quantum(); -} - -uint8_t _matrix_scan(void) -{ - // Right hand is stored after the left in the matirx so, we need to offset it - int offset = isLeftHand ? 0 : (ROWS_PER_HAND); - - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { - select_row(i); - _delay_us(30); // without this wait read unstable value. - matrix_row_t cols = read_cols(); - if (matrix_debouncing[i+offset] != cols) { - matrix_debouncing[i+offset] = cols; - debouncing = DEBOUNCE; - } - unselect_rows(); - } - - if (debouncing) { - if (--debouncing) { - _delay_ms(1); - } else { - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { - matrix[i+offset] = matrix_debouncing[i+offset]; - } - } - } - - return 1; -} - -#ifdef USE_I2C - -// Get rows from other half over i2c -int i2c_transaction(void) { - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - - int err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE); - if (err) goto i2c_error; - - // start of matrix stored at 0x00 - err = i2c_master_write(0x00); - if (err) goto i2c_error; - - // Start read - err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ); - if (err) goto i2c_error; - - if (!err) { - int i; - for (i = 0; i < ROWS_PER_HAND-1; ++i) { - matrix[slaveOffset+i] = i2c_master_read(I2C_ACK); - } - matrix[slaveOffset+i] = i2c_master_read(I2C_NACK); - i2c_master_stop(); - } else { -i2c_error: // the cable is disconnceted, or something else went wrong - i2c_reset_state(); - return err; - } - - return 0; -} - -#else // USE_SERIAL - -int serial_transaction(void) { - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - - if (serial_update_buffers()) { - return 1; - } - - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[slaveOffset+i] = serial_slave_buffer[i]; - } - return 0; -} -#endif - -uint8_t matrix_scan(void) -{ - int ret = _matrix_scan(); - - - -#ifdef USE_I2C - if( i2c_transaction() ) { -#else // USE_SERIAL - if( serial_transaction() ) { -#endif - // turn on the indicator led when halves are disconnected - writePinLow(D5); - - error_count++; - - if (error_count > ERROR_DISCONNECT_COUNT) { - // reset other half if disconnected - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[slaveOffset+i] = 0; - } - } - } else { - // turn off the indicator led on no error - writePinHigh(D5); - error_count = 0; - } - matrix_scan_quantum(); - return ret; -} - -void matrix_slave_scan(void) { - _matrix_scan(); - - int offset = (isLeftHand) ? 0 : (MATRIX_ROWS / 2); - -#ifdef USE_I2C - for (int i = 0; i < ROWS_PER_HAND; ++i) { - /* i2c_slave_buffer[i] = matrix[offset+i]; */ - i2c_slave_buffer[i] = matrix[offset+i]; - } -#else // USE_SERIAL - for (int i = 0; i < ROWS_PER_HAND; ++i) { - serial_slave_buffer[i] = matrix[offset+i]; - } -#endif -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<> 4) + 1) &= ~_BV(col_pins[x] & 0xF); - _SFR_IO8((col_pins[x] >> 4) + 2) |= _BV(col_pins[x] & 0xF); - } -} - -static matrix_row_t read_cols(void) -{ - matrix_row_t result = 0; - for(int x = 0; x < MATRIX_COLS; x++) { - result |= (_SFR_IO8(col_pins[x] >> 4) & _BV(col_pins[x] & 0xF)) ? 0 : (1 << x); - } - return result; -} - -static void unselect_rows(void) -{ - for(int x = 0; x < ROWS_PER_HAND; x++) { - _SFR_IO8((row_pins[x] >> 4) + 1) &= ~_BV(row_pins[x] & 0xF); - _SFR_IO8((row_pins[x] >> 4) + 2) |= _BV(row_pins[x] & 0xF); - } -} - -static void select_row(uint8_t row) -{ - _SFR_IO8((row_pins[row] >> 4) + 1) |= _BV(row_pins[row] & 0xF); - _SFR_IO8((row_pins[row] >> 4) + 2) &= ~_BV(row_pins[row] & 0xF); -} diff --git a/keyboards/handwired/not_so_minidox/rules.mk b/keyboards/handwired/not_so_minidox/rules.mk index f322b2c914b3..0ce4c12edd3e 100644 --- a/keyboards/handwired/not_so_minidox/rules.mk +++ b/keyboards/handwired/not_so_minidox/rules.mk @@ -5,24 +5,19 @@ MCU = atmega32u4 BOOTLOADER = caterina # Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control +EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -USE_I2C = no +COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output -CUSTOM_MATRIX = yes -SRC += matrix.c \ - i2c.c \ - split_util.c \ - serial.c +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/not_so_minidox/serial.c b/keyboards/handwired/not_so_minidox/serial.c deleted file mode 100644 index 74bcbb6bf6e2..000000000000 --- a/keyboards/handwired/not_so_minidox/serial.c +++ /dev/null @@ -1,228 +0,0 @@ -/* - * WARNING: be careful changing this code, it is very timing dependent - */ - -#ifndef F_CPU -#define F_CPU 16000000 -#endif - -#include -#include -#include -#include -#include "serial.h" - -#ifndef USE_I2C - -// Serial pulse period in microseconds. Its probably a bad idea to lower this -// value. -#define SERIAL_DELAY 24 - -uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0}; -uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0}; - -#define SLAVE_DATA_CORRUPT (1<<0) -volatile uint8_t status = 0; - -inline static -void serial_delay(void) { - _delay_us(SERIAL_DELAY); -} - -inline static -void serial_output(void) { - SERIAL_PIN_DDR |= SERIAL_PIN_MASK; -} - -// make the serial pin an input with pull-up resistor -inline static -void serial_input(void) { - SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK; - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; -} - -inline static -uint8_t serial_read_pin(void) { - return !!(SERIAL_PIN_INPUT & SERIAL_PIN_MASK); -} - -inline static -void serial_low(void) { - SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK; -} - -inline static -void serial_high(void) { - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; -} - -void serial_master_init(void) { - serial_output(); - serial_high(); -} - -void serial_slave_init(void) { - serial_input(); - - // Enable INT0 - EIMSK |= _BV(INT0); - // Trigger on falling edge of INT0 - EICRA &= ~(_BV(ISC00) | _BV(ISC01)); -} - -// Used by the master to synchronize timing with the slave. -static -void sync_recv(void) { - serial_input(); - // This shouldn't hang if the slave disconnects because the - // serial line will float to high if the slave does disconnect. - while (!serial_read_pin()); - serial_delay(); -} - -// Used by the slave to send a synchronization signal to the master. -static -void sync_send(void) { - serial_output(); - - serial_low(); - serial_delay(); - - serial_high(); -} - -// Reads a byte from the serial line -static -uint8_t serial_read_byte(void) { - uint8_t byte = 0; - serial_input(); - for ( uint8_t i = 0; i < 8; ++i) { - byte = (byte << 1) | serial_read_pin(); - serial_delay(); - _delay_us(1); - } - - return byte; -} - -// Sends a byte with MSB ordering -static -void serial_write_byte(uint8_t data) { - uint8_t b = 8; - serial_output(); - while( b-- ) { - if(data & (1 << b)) { - serial_high(); - } else { - serial_low(); - } - serial_delay(); - } -} - -// interrupt handle to be used by the slave device -ISR(SERIAL_PIN_INTERRUPT) { - sync_send(); - - uint8_t checksum = 0; - for (int i = 0; i < SERIAL_SLAVE_BUFFER_LENGTH; ++i) { - serial_write_byte(serial_slave_buffer[i]); - sync_send(); - checksum += serial_slave_buffer[i]; - } - serial_write_byte(checksum); - sync_send(); - - // wait for the sync to finish sending - serial_delay(); - - // read the middle of pulses - _delay_us(SERIAL_DELAY/2); - - uint8_t checksum_computed = 0; - for (int i = 0; i < SERIAL_MASTER_BUFFER_LENGTH; ++i) { - serial_master_buffer[i] = serial_read_byte(); - sync_send(); - checksum_computed += serial_master_buffer[i]; - } - uint8_t checksum_received = serial_read_byte(); - sync_send(); - - serial_input(); // end transaction - - if ( checksum_computed != checksum_received ) { - status |= SLAVE_DATA_CORRUPT; - } else { - status &= ~SLAVE_DATA_CORRUPT; - } -} - -inline -bool serial_slave_DATA_CORRUPT(void) { - return status & SLAVE_DATA_CORRUPT; -} - -// Copies the serial_slave_buffer to the master and sends the -// serial_master_buffer to the slave. -// -// Returns: -// 0 => no error -// 1 => slave did not respond -int serial_update_buffers(void) { - // this code is very time dependent, so we need to disable interrupts - cli(); - - // signal to the slave that we want to start a transaction - serial_output(); - serial_low(); - _delay_us(1); - - // wait for the slaves response - serial_input(); - serial_high(); - _delay_us(SERIAL_DELAY); - - // check if the slave is present - if (serial_read_pin()) { - // slave failed to pull the line low, assume not present - sei(); - return 1; - } - - // if the slave is present syncronize with it - sync_recv(); - - uint8_t checksum_computed = 0; - // receive data from the slave - for (int i = 0; i < SERIAL_SLAVE_BUFFER_LENGTH; ++i) { - serial_slave_buffer[i] = serial_read_byte(); - sync_recv(); - checksum_computed += serial_slave_buffer[i]; - } - uint8_t checksum_received = serial_read_byte(); - sync_recv(); - - if (checksum_computed != checksum_received) { - sei(); - return 1; - } - - uint8_t checksum = 0; - // send data to the slave - for (int i = 0; i < SERIAL_MASTER_BUFFER_LENGTH; ++i) { - serial_write_byte(serial_master_buffer[i]); - sync_recv(); - checksum += serial_master_buffer[i]; - } - serial_write_byte(checksum); - sync_recv(); - - // always, release the line when not in use - serial_output(); - serial_high(); - - sei(); - return 0; -} - -#endif diff --git a/keyboards/handwired/not_so_minidox/serial.h b/keyboards/handwired/not_so_minidox/serial.h deleted file mode 100644 index 28fcc56ce75f..000000000000 --- a/keyboards/handwired/not_so_minidox/serial.h +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include "config.h" -#include - -/* TODO: some defines for interrupt setup */ -#define SERIAL_PIN_DDR DDRD -#define SERIAL_PIN_PORT PORTD -#define SERIAL_PIN_INPUT PIND -#define SERIAL_PIN_MASK _BV(PD0) -#define SERIAL_PIN_INTERRUPT INT0_vect - -#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -#define SERIAL_MASTER_BUFFER_LENGTH 1 - -// Buffers for master - slave communication -extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH]; -extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH]; - -void serial_master_init(void); -void serial_slave_init(void); -int serial_update_buffers(void); -bool serial_slave_data_corrupt(void); diff --git a/keyboards/handwired/not_so_minidox/split_util.c b/keyboards/handwired/not_so_minidox/split_util.c deleted file mode 100644 index 39639c3b4bd8..000000000000 --- a/keyboards/handwired/not_so_minidox/split_util.c +++ /dev/null @@ -1,84 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "split_util.h" -#include "matrix.h" -#include "keyboard.h" -#include "config.h" - -#ifdef USE_I2C -# include "i2c.h" -#else -# include "serial.h" -#endif - -volatile bool isLeftHand = true; - -static void setup_handedness(void) { - #ifdef EE_HANDS - isLeftHand = eeprom_read_byte(EECONFIG_HANDEDNESS); - #else - // I2C_MASTER_RIGHT is deprecated, use MASTER_RIGHT instead, since this works for both serial and i2c - #if defined(I2C_MASTER_RIGHT) || defined(MASTER_RIGHT) - isLeftHand = !has_usb(); - #else - isLeftHand = has_usb(); - #endif - #endif -} - -static void keyboard_master_setup(void) { -#ifdef USE_I2C - i2c_master_init(); -#ifdef SSD1306OLED - matrix_master_OLED_init (); -#endif -#else - serial_master_init(); -#endif -} - -static void keyboard_slave_setup(void) { -#ifdef USE_I2C - i2c_slave_init(SLAVE_I2C_ADDRESS); -#else - serial_slave_init(); -#endif -} - -bool has_usb(void) { - USBCON |= (1 << OTGPADE); //enables VBUS pad - _delay_us(5); - return (USBSTA & (1< -#include "eeconfig.h" - -#define SLAVE_I2C_ADDRESS 0x32 - -extern volatile bool isLeftHand; - -// slave version of matix scan, defined in matrix.c -void matrix_slave_scan(void); - -void split_keyboard_setup(void); -bool has_usb(void); -void keyboard_slave_loop(void); - -void matrix_master_OLED_init (void); From 1493e6d3f04387f7dc460836cac724703cb947e2 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 1 Dec 2021 11:19:14 +0000 Subject: [PATCH 0009/1832] Convert ai03/orbit to SPLIT_KEYBOARD (#15340) --- keyboards/ai03/orbit/config.h | 13 +- keyboards/ai03/orbit/keymaps/default/keymap.c | 16 +- keyboards/ai03/orbit/matrix.c | 323 ----------- keyboards/ai03/orbit/orbit.c | 270 ++++----- keyboards/ai03/orbit/orbit.h | 17 +- keyboards/ai03/orbit/readme.md | 6 +- keyboards/ai03/orbit/rules.mk | 10 +- keyboards/ai03/orbit/serial.c | 545 ------------------ keyboards/ai03/orbit/serial.h | 62 -- keyboards/ai03/orbit/split_flags.c | 5 - keyboards/ai03/orbit/split_flags.h | 15 - keyboards/ai03/orbit/split_util.c | 87 --- keyboards/ai03/orbit/split_util.h | 10 - keyboards/ai03/orbit/transport.c | 238 -------- keyboards/ai03/orbit/transport.h | 42 -- 15 files changed, 115 insertions(+), 1544 deletions(-) delete mode 100644 keyboards/ai03/orbit/matrix.c delete mode 100644 keyboards/ai03/orbit/serial.c delete mode 100644 keyboards/ai03/orbit/serial.h delete mode 100644 keyboards/ai03/orbit/split_flags.c delete mode 100644 keyboards/ai03/orbit/split_flags.h delete mode 100644 keyboards/ai03/orbit/split_util.c delete mode 100644 keyboards/ai03/orbit/split_util.h delete mode 100644 keyboards/ai03/orbit/transport.c delete mode 100644 keyboards/ai03/orbit/transport.h diff --git a/keyboards/ai03/orbit/config.h b/keyboards/ai03/orbit/config.h index 9ad384c8ffba..0e4f4c3baf84 100644 --- a/keyboards/ai03/orbit/config.h +++ b/keyboards/ai03/orbit/config.h @@ -44,13 +44,6 @@ along with this program. If not, see . #define MATRIX_COL_PINS { C7, B4, D7, D6, D4, F1, F0 } #define MATRIX_ROW_PINS_RIGHT { B6, B5, B4, D7, E6 } #define MATRIX_COL_PINS_RIGHT { D4, D6, F1, F0, F4, F5, C6 } - -#define SPLIT_HAND_PIN D5 - -//#define USE_I2C - -#define SELECT_SOFT_SERIAL_SPEED 1 - #define UNUSED_PINS /* COL2ROW, ROW2COL */ @@ -60,6 +53,12 @@ along with this program. If not, see . * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 +#define SELECT_SOFT_SERIAL_SPEED 1 + +#define SPLIT_LED_STATE_ENABLE +#define SPLIT_LAYER_STATE_ENABLE + +#define SPLIT_HAND_PIN D5 #define BACKLIGHT_PIN B7 // #define BACKLIGHT_BREATHING diff --git a/keyboards/ai03/orbit/keymaps/default/keymap.c b/keyboards/ai03/orbit/keymaps/default/keymap.c index 6d4eef27c707..0c93f04897f8 100644 --- a/keyboards/ai03/orbit/keymaps/default/keymap.c +++ b/keyboards/ai03/orbit/keymaps/default/keymap.c @@ -48,25 +48,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case MANUAL: - if (record->event.pressed) - { - // Keypress + if (record->event.pressed) { SEND_STRING("https://kb.ai03.me/redir/orbit"); - } - else - { - // Key release } break; case DBLZERO: - if (record->event.pressed) - { - // Keypress + if (record->event.pressed) { SEND_STRING("00"); - } - else - { - // Key release } break; } diff --git a/keyboards/ai03/orbit/matrix.c b/keyboards/ai03/orbit/matrix.c deleted file mode 100644 index 024233524caf..000000000000 --- a/keyboards/ai03/orbit/matrix.c +++ /dev/null @@ -1,323 +0,0 @@ -/* -Copyright 2012 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -/* - * scan matrix - */ -#include -#include -#include "wait.h" -#include "util.h" -#include "matrix.h" -#include "split_util.h" -#include "config.h" -#include "split_flags.h" -#include "quantum.h" -#include "debounce.h" -#include "transport.h" - -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -#define ERROR_DISCONNECT_COUNT 5 - -//#define ROWS_PER_HAND (MATRIX_ROWS / 2) - -#ifdef DIRECT_PINS -static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; -#else -static pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t raw_matrix[ROWS_PER_HAND]; - -// row offsets for each hand -uint8_t thisHand, thatHand; - -// user-defined overridable functions - -__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); } - -__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); } - -__attribute__((weak)) void matrix_init_user(void) {} - -__attribute__((weak)) void matrix_scan_user(void) {} - -__attribute__((weak)) void matrix_slave_scan_user(void) {} - -// helper functions - -inline uint8_t matrix_rows(void) { return MATRIX_ROWS; } - -inline uint8_t matrix_cols(void) { return MATRIX_COLS; } - -inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); } - -inline matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } - -void matrix_print(void) { - print_matrix_header(); - - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - print_hex8(row); - print(": "); - print_matrix_row(row); - print("\n"); - } -} - -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - -// matrix code - -#ifdef DIRECT_PINS - -static void init_pins(void) { - for (int row = 0; row < MATRIX_ROWS; row++) { - for (int col = 0; col < MATRIX_COLS; col++) { - pin_t pin = direct_pins[row][col]; - if (pin != NO_PIN) { - setPinInputHigh(pin); - } - } - } -} - -static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { - matrix_row_t last_row_value = current_matrix[current_row]; - current_matrix[current_row] = 0; - - for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { - pin_t pin = direct_pins[current_row][col_index]; - if (pin != NO_PIN) { - current_matrix[current_row] |= readPin(pin) ? 0 : (ROW_SHIFTER << col_index); - } - } - - return (last_row_value != current_matrix[current_row]); -} - -#elif (DIODE_DIRECTION == COL2ROW) - -static void select_row(uint8_t row) { - setPinOutput(row_pins[row]); - writePinLow(row_pins[row]); -} - -static void unselect_row(uint8_t row) { setPinInputHigh(row_pins[row]); } - -static void unselect_rows(void) { - for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { - setPinInputHigh(row_pins[x]); - } -} - -static void init_pins(void) { - unselect_rows(); - for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh(col_pins[x]); - } -} - -static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { - // Store last value of row prior to reading - matrix_row_t last_row_value = current_matrix[current_row]; - - // Clear data in matrix row - current_matrix[current_row] = 0; - - // Select row and wait for row selecton to stabilize - select_row(current_row); - wait_us(30); - - // For each col... - for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { - // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= readPin(col_pins[col_index]) ? 0 : (ROW_SHIFTER << col_index); - } - - // Unselect row - unselect_row(current_row); - - return (last_row_value != current_matrix[current_row]); -} - -#elif (DIODE_DIRECTION == ROW2COL) - -static void select_col(uint8_t col) { - setPinOutput(col_pins[col]); - writePinLow(col_pins[col]); -} - -static void unselect_col(uint8_t col) { setPinInputHigh(col_pins[col]); } - -static void unselect_cols(void) { - for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh(col_pins[x]); - } -} - -static void init_pins(void) { - unselect_cols(); - for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { - setPinInputHigh(row_pins[x]); - } -} - -static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { - bool matrix_changed = false; - - // Select col and wait for col selecton to stabilize - select_col(current_col); - wait_us(30); - - // For each row... - for (uint8_t row_index = 0; row_index < ROWS_PER_HAND; row_index++) { - // Store last value of row prior to reading - matrix_row_t last_row_value = current_matrix[row_index]; - - // Check row pin state - if (readPin(row_pins[row_index])) { - // Pin HI, clear col bit - current_matrix[row_index] &= ~(ROW_SHIFTER << current_col); - } else { - // Pin LO, set col bit - current_matrix[row_index] |= (ROW_SHIFTER << current_col); - } - - // Determine if the matrix changed state - if ((last_row_value != current_matrix[row_index]) && !(matrix_changed)) { - matrix_changed = true; - } - } - - // Unselect col - unselect_col(current_col); - - return matrix_changed; -} - -#endif - -void matrix_init(void) { - debug_enable = true; - debug_matrix = true; - debug_mouse = true; - - // Set pinout for right half if pinout for that half is defined - if (!isLeftHand) { -#ifdef MATRIX_ROW_PINS_RIGHT - const uint8_t row_pins_right[MATRIX_ROWS] = MATRIX_ROW_PINS_RIGHT; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - row_pins[i] = row_pins_right[i]; - } -#endif -#ifdef MATRIX_COL_PINS_RIGHT - const uint8_t col_pins_right[MATRIX_COLS] = MATRIX_COL_PINS_RIGHT; - for (uint8_t i = 0; i < MATRIX_COLS; i++) { - col_pins[i] = col_pins_right[i]; - } -#endif - } - - thisHand = isLeftHand ? 0 : (ROWS_PER_HAND); - thatHand = ROWS_PER_HAND - thisHand; - - // initialize key pins - init_pins(); - - // initialize matrix state: all keys off - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; - } - - debounce_init(ROWS_PER_HAND); - - matrix_init_quantum(); -} - -uint8_t _matrix_scan(void) { - bool changed = false; - -#if defined(DIRECT_PINS) || (DIODE_DIRECTION == COL2ROW) - // Set row, read cols - for (uint8_t current_row = 0; current_row < ROWS_PER_HAND; current_row++) { - changed |= read_cols_on_row(raw_matrix, current_row); - } -#elif (DIODE_DIRECTION == ROW2COL) - // Set col, read rows - for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { - changed |= read_rows_on_col(raw_matrix, current_col); - } -#endif - - debounce(raw_matrix, matrix + thisHand, ROWS_PER_HAND, changed); - - return 1; -} - -uint8_t matrix_scan(void) { - uint8_t ret = _matrix_scan(); - - if (is_keyboard_master()) { - static uint8_t error_count; - - if (!transport_master(matrix + thatHand)) { - error_count++; - - if (error_count > ERROR_DISCONNECT_COUNT) { - // reset other half if disconnected - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[thatHand + i] = 0; - } - } - } else { - error_count = 0; - } - - matrix_scan_quantum(); - } else { - transport_slave(matrix + thisHand); - matrix_slave_scan_user(); - } - - return ret; -} diff --git a/keyboards/ai03/orbit/orbit.c b/keyboards/ai03/orbit/orbit.c index 97553e318a7e..5097f9cd90a2 100644 --- a/keyboards/ai03/orbit/orbit.c +++ b/keyboards/ai03/orbit/orbit.c @@ -15,196 +15,124 @@ */ #include "orbit.h" #include "split_util.h" -#include "transport.h" +void led_init_ports(void) { + // Initialize indicator LEDs to output + if (isLeftHand) { + setPinOutput(C6); + setPinOutput(B6); + setPinOutput(B5); + } else { + setPinOutput(F6); + setPinOutput(F7); + setPinOutput(C7); + } + + set_layer_indicators(0); +} // Call led_toggle to set LEDs easily // LED IDs: -// +// // (LEFT) 0 1 2 | 3 4 5 (RIGHT) - -void led_toggle(int id, bool on) { - - if (isLeftHand) { - switch(id) { - case 0: - // Left hand C6 - if (on) - //PORTC |= (1<<6); - writePinHigh(C6); - else - //PORTC &= ~(1<<6); - writePinLow(C6); - break; - case 1: - // Left hand B6 - if (on) - //PORTB |= (1<<6); - writePinHigh(B6); - else - //PORTB &= ~(1<<6); - writePinLow(B6); - break; - case 2: - // Left hand B5 - if (on) - //PORTB |= (1<<5); - writePinHigh(B5); - else - //PORTB &= ~(1<<5); - writePinLow(B5); - break; - default: - break; - } - } else { - switch(id) { - case 3: - // Right hand F6 - if (on) - //PORTF |= (1<<6); - writePinHigh(F6); - else - //PORTF &= ~(1<<6); - writePinLow(F6); - break; - case 4: - // Right hand F7 - if (on) - //PORTF |= (1<<7); - writePinHigh(F7); - else - //PORTF &= ~(1<<7); - writePinLow(F7); - break; - case 5: - // Right hand C7 - if (on) - //PORTC |= (1<<7); - writePinHigh(C7); - else - //PORTC &= ~(1<<7); - writePinLow(C7); - break; - default: - break; - } - } +void led_toggle(uint8_t id, bool on) { + if (isLeftHand) { + switch (id) { + case 0: + // Left hand C6 + writePin(C6, on); + break; + case 1: + // Left hand B6 + writePin(B6, on); + break; + case 2: + // Left hand B5 + writePin(B5, on); + break; + default: + break; + } + } else { + switch (id) { + case 3: + // Right hand F6 + writePin(F6, on); + break; + case 4: + // Right hand F7 + writePin(F7, on); + break; + case 5: + // Right hand C7 + writePin(C7, on); + break; + default: + break; + } + } } // Set all LEDs at once using an array of 6 booleans // LED IDs: -// +// // (LEFT) 0 1 2 | 3 4 5 (RIGHT) -// +// // Ex. set_all_leds({ false, false, false, true, true, true }) would turn off left hand, turn on right hand void set_all_leds(bool leds[6]) { - for (int i = 0; i < 6; i++) { - led_toggle(i, leds[i]); - } + for (int i = 0; i < 6; i++) { + led_toggle(i, leds[i]); + } } void set_layer_indicators(uint8_t layer) { - - switch (layer) - { - case 0: - led_toggle(0, true); - led_toggle(1, false); - led_toggle(2, false); - break; - case 1: - led_toggle(0, true); - led_toggle(1, true); - led_toggle(2, false); - break; - case 2: - led_toggle(0, true); - led_toggle(1, true); - led_toggle(2, true); - break; - case 3: - led_toggle(0, false); - led_toggle(1, true); - led_toggle(2, true); - break; - case 4: - led_toggle(0, false); - led_toggle(1, false); - led_toggle(2, true); - break; - default: - led_toggle(0, true); - led_toggle(1, false); - led_toggle(2, true); - break; - } - + switch (layer) { + case 0: + led_toggle(0, true); + led_toggle(1, false); + led_toggle(2, false); + break; + case 1: + led_toggle(0, true); + led_toggle(1, true); + led_toggle(2, false); + break; + case 2: + led_toggle(0, true); + led_toggle(1, true); + led_toggle(2, true); + break; + case 3: + led_toggle(0, false); + led_toggle(1, true); + led_toggle(2, true); + break; + case 4: + led_toggle(0, false); + led_toggle(1, false); + led_toggle(2, true); + break; + default: + led_toggle(0, true); + led_toggle(1, false); + led_toggle(2, true); + break; + } } -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - // Initialize indicator LEDs to output - if (isLeftHand) - { - setPinOutput(C6); - setPinOutput(B6); - setPinOutput(B5); - //DDRC |= (1<<6); - //DDRB |= (1<<6); - //DDRB |= (1<<5); - } - else - { - setPinOutput(F6); - setPinOutput(F7); - setPinOutput(C7); - //DDRF |= (1<<6); - //DDRF |= (1<<7); - //DDRC |= (1<<7); - } - - set_layer_indicators(0); - - matrix_init_user(); +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res) { + led_toggle(3, led_state.num_lock); + led_toggle(4, led_state.caps_lock); + led_toggle(5, led_state.scroll_lock); + } + return res; } -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - if (is_keyboard_master()) { - - serial_m2s_buffer.nlock_led = IS_LED_ON(usb_led, USB_LED_NUM_LOCK); - serial_m2s_buffer.clock_led = IS_LED_ON(usb_led, USB_LED_CAPS_LOCK); - serial_m2s_buffer.slock_led = IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK); - - led_toggle(3, IS_LED_ON(usb_led, USB_LED_NUM_LOCK)); - led_toggle(4, IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)); - led_toggle(5, IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)); - - } - - led_set_user(usb_led); -} +layer_state_t layer_state_set_kb(layer_state_t state) { + set_layer_indicators(get_highest_layer(state)); -uint32_t layer_state_set_kb(uint32_t state) { - - if (is_keyboard_master()) - { - serial_m2s_buffer.current_layer = biton32(state); - - // If left half, do the LED toggle thing - if (isLeftHand) - { - set_layer_indicators(biton32(state)); - } - - } - // NOTE: Do not set slave LEDs here. - // This is not called on slave - - return layer_state_set_user(state); + return layer_state_set_user(state); } diff --git a/keyboards/ai03/orbit/orbit.h b/keyboards/ai03/orbit/orbit.h index 39f1ebb0e36e..7f3b1aca32b2 100644 --- a/keyboards/ai03/orbit/orbit.h +++ b/keyboards/ai03/orbit/orbit.h @@ -18,6 +18,8 @@ #include "quantum.h" +#define XXX KC_NO + /* This a shortcut to help you visually see your layout. * * The first section contains all of the arguments representing the physical @@ -26,17 +28,6 @@ * The second converts the arguments into a two-dimensional array which * represents the switch matrix. */ - -#ifdef USE_I2C -#include -#ifdef __AVR__ - #include - #include -#endif -#endif - -#define XXX KC_NO - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ @@ -56,6 +47,6 @@ { R40, R41, R42, R43, R44, R45, XXX } \ } -extern void led_toggle(int id, bool on); +void led_toggle(uint8_t id, bool on); void set_all_leds(bool leds[6]); -extern void set_layer_indicators(uint8_t layer); +void set_layer_indicators(uint8_t layer); diff --git a/keyboards/ai03/orbit/readme.md b/keyboards/ai03/orbit/readme.md index 58ba2079d5de..0c320929b6c9 100644 --- a/keyboards/ai03/orbit/readme.md +++ b/keyboards/ai03/orbit/readme.md @@ -4,9 +4,9 @@ A split ergonomic keyboard project. -Keyboard Maintainer: [ai03](https://github.com/ai03-2725) -Hardware Supported: The [Orbit PCB](https://github.com/ai03-2725/Orbit) -Hardware Availability: [This repository](https://github.com/ai03-2725/Orbit) has PCB files. Case group buy orders are currently closed. +* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) +* Hardware Supported: The [Orbit PCB](https://github.com/ai03-2725/Orbit) +* Hardware Availability: [This repository](https://github.com/ai03-2725/Orbit) has PCB files. Case group buy orders are currently closed. Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/ai03/orbit/rules.mk b/keyboards/ai03/orbit/rules.mk index fc66f9f6d00d..5b082d94317a 100644 --- a/keyboards/ai03/orbit/rules.mk +++ b/keyboards/ai03/orbit/rules.mk @@ -19,12 +19,4 @@ NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -USE_I2C = no # I2C for split communication -CUSTOM_MATRIX = yes # For providing custom matrix.c (in this case, override regular matrix.c with split matrix.c) -# SPLIT_KEYBOARD = yes # Split keyboard flag disabled as manual edits had to be done to the split common files - -SRC += split_util.c \ - split_flags.c \ - serial.c \ - transport.c \ - matrix.c +SPLIT_KEYBOARD = yes # Split keyboard flag disabled as manual edits had to be done to the split common files diff --git a/keyboards/ai03/orbit/serial.c b/keyboards/ai03/orbit/serial.c deleted file mode 100644 index 636dfa090677..000000000000 --- a/keyboards/ai03/orbit/serial.c +++ /dev/null @@ -1,545 +0,0 @@ -/* - * WARNING: be careful changing this code, it is very timing dependent - * - * 2018-10-28 checked - * avr-gcc 4.9.2 - * avr-gcc 5.4.0 - * avr-gcc 7.3.0 - */ - -#ifndef F_CPU -#define F_CPU 16000000 -#endif - -#include -#include -#include -#include -#include -#include "serial.h" - -#ifdef SOFT_SERIAL_PIN - -#ifdef __AVR_ATmega32U4__ - // if using ATmega32U4 I2C, can not use PD0 and PD1 in soft serial. - #ifdef USE_AVR_I2C - #if SOFT_SERIAL_PIN == D0 || SOFT_SERIAL_PIN == D1 - #error Using ATmega32U4 I2C, so can not use PD0, PD1 - #endif - #endif - - #if SOFT_SERIAL_PIN >= D0 && SOFT_SERIAL_PIN <= D3 - #define SERIAL_PIN_DDR DDRD - #define SERIAL_PIN_PORT PORTD - #define SERIAL_PIN_INPUT PIND - #if SOFT_SERIAL_PIN == D0 - #define SERIAL_PIN_MASK _BV(PD0) - #define EIMSK_BIT _BV(INT0) - #define EICRx_BIT (~(_BV(ISC00) | _BV(ISC01))) - #define SERIAL_PIN_INTERRUPT INT0_vect - #elif SOFT_SERIAL_PIN == D1 - #define SERIAL_PIN_MASK _BV(PD1) - #define EIMSK_BIT _BV(INT1) - #define EICRx_BIT (~(_BV(ISC10) | _BV(ISC11))) - #define SERIAL_PIN_INTERRUPT INT1_vect - #elif SOFT_SERIAL_PIN == D2 - #define SERIAL_PIN_MASK _BV(PD2) - #define EIMSK_BIT _BV(INT2) - #define EICRx_BIT (~(_BV(ISC20) | _BV(ISC21))) - #define SERIAL_PIN_INTERRUPT INT2_vect - #elif SOFT_SERIAL_PIN == D3 - #define SERIAL_PIN_MASK _BV(PD3) - #define EIMSK_BIT _BV(INT3) - #define EICRx_BIT (~(_BV(ISC30) | _BV(ISC31))) - #define SERIAL_PIN_INTERRUPT INT3_vect - #endif - #elif SOFT_SERIAL_PIN == E6 - #define SERIAL_PIN_DDR DDRE - #define SERIAL_PIN_PORT PORTE - #define SERIAL_PIN_INPUT PINE - #define SERIAL_PIN_MASK _BV(PE6) - #define EIMSK_BIT _BV(INT6) - #define EICRx_BIT (~(_BV(ISC60) | _BV(ISC61))) - #define SERIAL_PIN_INTERRUPT INT6_vect - #else - #error invalid SOFT_SERIAL_PIN value - #endif - -#else - #error serial.c now support ATmega32U4 only -#endif - -#define ALWAYS_INLINE __attribute__((always_inline)) -#define NO_INLINE __attribute__((noinline)) -#define _delay_sub_us(x) __builtin_avr_delay_cycles(x) - -// parity check -#define ODD_PARITY 1 -#define EVEN_PARITY 0 -#define PARITY EVEN_PARITY - -#ifdef SERIAL_DELAY - // custom setup in config.h - // #define TID_SEND_ADJUST 2 - // #define SERIAL_DELAY 6 // micro sec - // #define READ_WRITE_START_ADJUST 30 // cycles - // #define READ_WRITE_WIDTH_ADJUST 8 // cycles -#else -// ============ Standard setups ============ - -#ifndef SELECT_SOFT_SERIAL_SPEED -#define SELECT_SOFT_SERIAL_SPEED 1 -// 0: about 189kbps (Experimental only) -// 1: about 137kbps (default) -// 2: about 75kbps -// 3: about 39kbps -// 4: about 26kbps -// 5: about 20kbps -#endif - -#if __GNUC__ < 6 - #define TID_SEND_ADJUST 14 -#else - #define TID_SEND_ADJUST 2 -#endif - -#if SELECT_SOFT_SERIAL_SPEED == 0 - // Very High speed - #define SERIAL_DELAY 4 // micro sec - #if __GNUC__ < 6 - #define READ_WRITE_START_ADJUST 33 // cycles - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_START_ADJUST 34 // cycles - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 1 - // High speed - #define SERIAL_DELAY 6 // micro sec - #if __GNUC__ < 6 - #define READ_WRITE_START_ADJUST 30 // cycles - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_START_ADJUST 33 // cycles - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 2 - // Middle speed - #define SERIAL_DELAY 12 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 3 - // Low speed - #define SERIAL_DELAY 24 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 4 - // Very Low speed - #define SERIAL_DELAY 36 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 5 - // Ultra Low speed - #define SERIAL_DELAY 48 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#else -#error invalid SELECT_SOFT_SERIAL_SPEED value -#endif /* SELECT_SOFT_SERIAL_SPEED */ -#endif /* SERIAL_DELAY */ - -#define SERIAL_DELAY_HALF1 (SERIAL_DELAY/2) -#define SERIAL_DELAY_HALF2 (SERIAL_DELAY - SERIAL_DELAY/2) - -#define SLAVE_INT_WIDTH_US 1 -#ifndef SERIAL_USE_MULTI_TRANSACTION - #define SLAVE_INT_RESPONSE_TIME SERIAL_DELAY -#else - #define SLAVE_INT_ACK_WIDTH_UNIT 2 - #define SLAVE_INT_ACK_WIDTH 4 -#endif - -static SSTD_t *Transaction_table = NULL; -static uint8_t Transaction_table_size = 0; - -inline static void serial_delay(void) ALWAYS_INLINE; -inline static -void serial_delay(void) { - _delay_us(SERIAL_DELAY); -} - -inline static void serial_delay_half1(void) ALWAYS_INLINE; -inline static -void serial_delay_half1(void) { - _delay_us(SERIAL_DELAY_HALF1); -} - -inline static void serial_delay_half2(void) ALWAYS_INLINE; -inline static -void serial_delay_half2(void) { - _delay_us(SERIAL_DELAY_HALF2); -} - -inline static void serial_output(void) ALWAYS_INLINE; -inline static -void serial_output(void) { - SERIAL_PIN_DDR |= SERIAL_PIN_MASK; -} - -// make the serial pin an input with pull-up resistor -inline static void serial_input_with_pullup(void) ALWAYS_INLINE; -inline static -void serial_input_with_pullup(void) { - SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK; - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; -} - -inline static uint8_t serial_read_pin(void) ALWAYS_INLINE; -inline static -uint8_t serial_read_pin(void) { - return !!(SERIAL_PIN_INPUT & SERIAL_PIN_MASK); -} - -inline static void serial_low(void) ALWAYS_INLINE; -inline static -void serial_low(void) { - SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK; -} - -inline static void serial_high(void) ALWAYS_INLINE; -inline static -void serial_high(void) { - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; -} - -void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size) -{ - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - serial_output(); - serial_high(); -} - -void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size) -{ - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - serial_input_with_pullup(); - - // Enable INT0-INT3,INT6 - EIMSK |= EIMSK_BIT; -#if SERIAL_PIN_MASK == _BV(PE6) - // Trigger on falling edge of INT6 - EICRB &= EICRx_BIT; -#else - // Trigger on falling edge of INT0-INT3 - EICRA &= EICRx_BIT; -#endif -} - -// Used by the sender to synchronize timing with the reciver. -static void sync_recv(void) NO_INLINE; -static -void sync_recv(void) { - for (uint8_t i = 0; i < SERIAL_DELAY*5 && serial_read_pin(); i++ ) { - } - // This shouldn't hang if the target disconnects because the - // serial line will float to high if the target does disconnect. - while (!serial_read_pin()); -} - -// Used by the reciver to send a synchronization signal to the sender. -static void sync_send(void) NO_INLINE; -static -void sync_send(void) { - serial_low(); - serial_delay(); - serial_high(); -} - -// Reads a byte from the serial line -static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) NO_INLINE; -static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) { - uint8_t byte, i, p, pb; - - _delay_sub_us(READ_WRITE_START_ADJUST); - for( i = 0, byte = 0, p = PARITY; i < bit; i++ ) { - serial_delay_half1(); // read the middle of pulses - if( serial_read_pin() ) { - byte = (byte << 1) | 1; p ^= 1; - } else { - byte = (byte << 1) | 0; p ^= 0; - } - _delay_sub_us(READ_WRITE_WIDTH_ADJUST); - serial_delay_half2(); - } - /* recive parity bit */ - serial_delay_half1(); // read the middle of pulses - pb = serial_read_pin(); - _delay_sub_us(READ_WRITE_WIDTH_ADJUST); - serial_delay_half2(); - - *pterrcount += (p != pb)? 1 : 0; - - return byte; -} - -// Sends a byte with MSB ordering -void serial_write_chunk(uint8_t data, uint8_t bit) NO_INLINE; -void serial_write_chunk(uint8_t data, uint8_t bit) { - uint8_t b, p; - for( p = PARITY, b = 1<<(bit-1); b ; b >>= 1) { - if(data & b) { - serial_high(); p ^= 1; - } else { - serial_low(); p ^= 0; - } - serial_delay(); - } - /* send parity bit */ - if(p & 1) { serial_high(); } - else { serial_low(); } - serial_delay(); - - serial_low(); // sync_send() / senc_recv() need raise edge -} - -static void serial_send_packet(uint8_t *buffer, uint8_t size) NO_INLINE; -static -void serial_send_packet(uint8_t *buffer, uint8_t size) { - for (uint8_t i = 0; i < size; ++i) { - uint8_t data; - data = buffer[i]; - sync_send(); - serial_write_chunk(data,8); - } -} - -static uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) NO_INLINE; -static -uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) { - uint8_t pecount = 0; - for (uint8_t i = 0; i < size; ++i) { - uint8_t data; - sync_recv(); - data = serial_read_chunk(&pecount, 8); - buffer[i] = data; - } - return pecount == 0; -} - -inline static -void change_sender2reciver(void) { - sync_send(); //0 - serial_delay_half1(); //1 - serial_low(); //2 - serial_input_with_pullup(); //2 - serial_delay_half1(); //3 -} - -inline static -void change_reciver2sender(void) { - sync_recv(); //0 - serial_delay(); //1 - serial_low(); //3 - serial_output(); //3 - serial_delay_half1(); //4 -} - -static inline uint8_t nibble_bits_count(uint8_t bits) -{ - bits = (bits & 0x5) + (bits >> 1 & 0x5); - bits = (bits & 0x3) + (bits >> 2 & 0x3); - return bits; -} - -// interrupt handle to be used by the target device -ISR(SERIAL_PIN_INTERRUPT) { - -#ifndef SERIAL_USE_MULTI_TRANSACTION - serial_low(); - serial_output(); - SSTD_t *trans = Transaction_table; -#else - // recive transaction table index - uint8_t tid, bits; - uint8_t pecount = 0; - sync_recv(); - bits = serial_read_chunk(&pecount,7); - tid = bits>>3; - bits = (bits&7) != nibble_bits_count(tid); - if( bits || pecount> 0 || tid > Transaction_table_size ) { - return; - } - serial_delay_half1(); - - serial_high(); // response step1 low->high - serial_output(); - _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT*SLAVE_INT_ACK_WIDTH); - SSTD_t *trans = &Transaction_table[tid]; - serial_low(); // response step2 ack high->low -#endif - - // target send phase - if( trans->target2initiator_buffer_size > 0 ) - serial_send_packet((uint8_t *)trans->target2initiator_buffer, - trans->target2initiator_buffer_size); - // target switch to input - change_sender2reciver(); - - // target recive phase - if( trans->initiator2target_buffer_size > 0 ) { - if (serial_recive_packet((uint8_t *)trans->initiator2target_buffer, - trans->initiator2target_buffer_size) ) { - *trans->status = TRANSACTION_ACCEPTED; - } else { - *trans->status = TRANSACTION_DATA_ERROR; - } - } else { - *trans->status = TRANSACTION_ACCEPTED; - } - - sync_recv(); //weit initiator output to high -} - -///////// -// start transaction by initiator -// -// int soft_serial_transaction(int sstd_index) -// -// Returns: -// TRANSACTION_END -// TRANSACTION_NO_RESPONSE -// TRANSACTION_DATA_ERROR -// this code is very time dependent, so we need to disable interrupts -#ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void) { - SSTD_t *trans = Transaction_table; -#else -int soft_serial_transaction(int sstd_index) { - if( sstd_index > Transaction_table_size ) - return TRANSACTION_TYPE_ERROR; - SSTD_t *trans = &Transaction_table[sstd_index]; -#endif - cli(); - - // signal to the target that we want to start a transaction - serial_output(); - serial_low(); - _delay_us(SLAVE_INT_WIDTH_US); - -#ifndef SERIAL_USE_MULTI_TRANSACTION - // wait for the target response - serial_input_with_pullup(); - _delay_us(SLAVE_INT_RESPONSE_TIME); - - // check if the target is present - if (serial_read_pin()) { - // target failed to pull the line low, assume not present - serial_output(); - serial_high(); - *trans->status = TRANSACTION_NO_RESPONSE; - sei(); - return TRANSACTION_NO_RESPONSE; - } - -#else - // send transaction table index - int tid = (sstd_index<<3) | (7 & nibble_bits_count(sstd_index)); - sync_send(); - _delay_sub_us(TID_SEND_ADJUST); - serial_write_chunk(tid, 7); - serial_delay_half1(); - - // wait for the target response (step1 low->high) - serial_input_with_pullup(); - while( !serial_read_pin() ) { - _delay_sub_us(2); - } - - // check if the target is present (step2 high->low) - for( int i = 0; serial_read_pin(); i++ ) { - if (i > SLAVE_INT_ACK_WIDTH + 1) { - // slave failed to pull the line low, assume not present - serial_output(); - serial_high(); - *trans->status = TRANSACTION_NO_RESPONSE; - sei(); - return TRANSACTION_NO_RESPONSE; - } - _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT); - } -#endif - - // initiator recive phase - // if the target is present syncronize with it - if( trans->target2initiator_buffer_size > 0 ) { - if (!serial_recive_packet((uint8_t *)trans->target2initiator_buffer, - trans->target2initiator_buffer_size) ) { - serial_output(); - serial_high(); - *trans->status = TRANSACTION_DATA_ERROR; - sei(); - return TRANSACTION_DATA_ERROR; - } - } - - // initiator switch to output - change_reciver2sender(); - - // initiator send phase - if( trans->initiator2target_buffer_size > 0 ) { - serial_send_packet((uint8_t *)trans->initiator2target_buffer, - trans->initiator2target_buffer_size); - } - - // always, release the line when not in use - sync_send(); - - *trans->status = TRANSACTION_END; - sei(); - return TRANSACTION_END; -} - -#ifdef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_get_and_clean_status(int sstd_index) { - SSTD_t *trans = &Transaction_table[sstd_index]; - cli(); - int retval = *trans->status; - *trans->status = 0;; - sei(); - return retval; -} -#endif - -#endif - -// Helix serial.c history -// 2018-1-29 fork from let's split and add PD2, modify sync_recv() (#2308, bceffdefc) -// 2018-6-28 bug fix master to slave comm and speed up (#3255, 1038bbef4) -// (adjusted with avr-gcc 4.9.2) -// 2018-7-13 remove USE_SERIAL_PD2 macro (#3374, f30d6dd78) -// (adjusted with avr-gcc 4.9.2) -// 2018-8-11 add support multi-type transaction (#3608, feb5e4aae) -// (adjusted with avr-gcc 4.9.2) -// 2018-10-21 fix serial and RGB animation conflict (#4191, 4665e4fff) -// (adjusted with avr-gcc 7.3.0) -// 2018-10-28 re-adjust compiler depend value of delay (#4269, 8517f8a66) -// (adjusted with avr-gcc 5.4.0, 7.3.0) -// 2018-12-17 copy to TOP/quantum/split_common/ and remove backward compatibility code (#4669) diff --git a/keyboards/ai03/orbit/serial.h b/keyboards/ai03/orbit/serial.h deleted file mode 100644 index 1c1e640069c9..000000000000 --- a/keyboards/ai03/orbit/serial.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -#include - -// ///////////////////////////////////////////////////////////////// -// Need Soft Serial defines in config.h -// ///////////////////////////////////////////////////////////////// -// ex. -// #define SOFT_SERIAL_PIN ?? // ?? = D0,D1,D2,D3,E6 -// OPTIONAL: #define SELECT_SOFT_SERIAL_SPEED ? // ? = 1,2,3,4,5 -// // 1: about 137kbps (default) -// // 2: about 75kbps -// // 3: about 39kbps -// // 4: about 26kbps -// // 5: about 20kbps -// -// //// USE simple API (using signle-type transaction function) -// /* nothing */ -// //// USE flexible API (using multi-type transaction function) -// #define SERIAL_USE_MULTI_TRANSACTION -// -// ///////////////////////////////////////////////////////////////// - -// Soft Serial Transaction Descriptor -typedef struct _SSTD_t { - uint8_t *status; - uint8_t initiator2target_buffer_size; - uint8_t *initiator2target_buffer; - uint8_t target2initiator_buffer_size; - uint8_t *target2initiator_buffer; -} SSTD_t; -#define TID_LIMIT( table ) (sizeof(table) / sizeof(SSTD_t)) - -// initiator is transaction start side -void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size); -// target is interrupt accept side -void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size); - -// initiator resullt -#define TRANSACTION_END 0 -#define TRANSACTION_NO_RESPONSE 0x1 -#define TRANSACTION_DATA_ERROR 0x2 -#define TRANSACTION_TYPE_ERROR 0x4 -#ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void); -#else -int soft_serial_transaction(int sstd_index); -#endif - -// target status -// *SSTD_t.status has -// initiator: -// TRANSACTION_END -// or TRANSACTION_NO_RESPONSE -// or TRANSACTION_DATA_ERROR -// target: -// TRANSACTION_DATA_ERROR -// or TRANSACTION_ACCEPTED -#define TRANSACTION_ACCEPTED 0x8 -#ifdef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_get_and_clean_status(int sstd_index); -#endif diff --git a/keyboards/ai03/orbit/split_flags.c b/keyboards/ai03/orbit/split_flags.c deleted file mode 100644 index 1f5825d65020..000000000000 --- a/keyboards/ai03/orbit/split_flags.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "split_flags.h" - -volatile bool RGB_DIRTY = false; - -volatile bool BACKLIT_DIRTY = false; \ No newline at end of file diff --git a/keyboards/ai03/orbit/split_flags.h b/keyboards/ai03/orbit/split_flags.h deleted file mode 100644 index aaac474a7dbf..000000000000 --- a/keyboards/ai03/orbit/split_flags.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include -#include - -/** -* Global Flags -**/ - -//RGB Stuff -extern volatile bool RGB_DIRTY; - - -//Backlight Stuff -extern volatile bool BACKLIT_DIRTY; diff --git a/keyboards/ai03/orbit/split_util.c b/keyboards/ai03/orbit/split_util.c deleted file mode 100644 index 2352e5a11186..000000000000 --- a/keyboards/ai03/orbit/split_util.c +++ /dev/null @@ -1,87 +0,0 @@ -#include "split_util.h" -#include "matrix.h" -#include "keyboard.h" -#include "config.h" -#include "timer.h" -#include "split_flags.h" -#include "transport.h" -#include "quantum.h" - -#ifdef EE_HANDS -# include "eeprom.h" -# include "eeconfig.h" -#endif - -volatile bool isLeftHand = true; - -__attribute__((weak)) -bool is_keyboard_left(void) { - #ifdef SPLIT_HAND_PIN - // Test pin SPLIT_HAND_PIN for High/Low, if low it's right hand - setPinInput(SPLIT_HAND_PIN); - return readPin(SPLIT_HAND_PIN); - #else - #ifdef EE_HANDS - return eeprom_read_byte(EECONFIG_HANDEDNESS); - #else - #ifdef MASTER_RIGHT - return !is_keyboard_master(); - #else - return is_keyboard_master(); - #endif - #endif - #endif -} - -bool is_keyboard_master(void) -{ -#ifdef __AVR__ - static enum { UNKNOWN, MASTER, SLAVE } usbstate = UNKNOWN; - - // only check once, as this is called often - if (usbstate == UNKNOWN) - { - USBCON |= (1 << OTGPADE); // enables VBUS pad - wait_us(5); - - usbstate = (USBSTA & (1 << VBUS)) ? MASTER : SLAVE; // checks state of VBUS - } - - return (usbstate == MASTER); -#else - return true; -#endif -} - -static void keyboard_master_setup(void) { -#if defined(USE_I2C) - #ifdef SSD1306OLED - matrix_master_OLED_init (); - #endif -#endif - transport_master_init(); - - // For master the Backlight info needs to be sent on startup - // Otherwise the salve won't start with the proper info until an update - BACKLIT_DIRTY = true; -} - -static void keyboard_slave_setup(void) -{ - transport_slave_init(); -} - -// this code runs before the usb and keyboard is initialized -void matrix_setup(void) -{ - isLeftHand = is_keyboard_left(); - - if (is_keyboard_master()) - { - keyboard_master_setup(); - } - else - { - keyboard_slave_setup(); - } -} diff --git a/keyboards/ai03/orbit/split_util.h b/keyboards/ai03/orbit/split_util.h deleted file mode 100644 index 20f7535bf44b..000000000000 --- a/keyboards/ai03/orbit/split_util.h +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -extern volatile bool isLeftHand; - -void matrix_master_OLED_init (void); diff --git a/keyboards/ai03/orbit/transport.c b/keyboards/ai03/orbit/transport.c deleted file mode 100644 index 447fafed1442..000000000000 --- a/keyboards/ai03/orbit/transport.c +++ /dev/null @@ -1,238 +0,0 @@ - -#include "transport.h" - -#include "config.h" -#include "matrix.h" -#include "quantum.h" - -#include "orbit.h" - -#define ROWS_PER_HAND (MATRIX_ROWS/2) - -#ifdef RGBLIGHT_ENABLE -# include "rgblight.h" -#endif - -#ifdef BACKLIGHT_ENABLE -# include "backlight.h" - extern backlight_config_t backlight_config; -#endif - -#if defined(USE_I2C) - -#include "i2c.h" - -#ifndef SLAVE_I2C_ADDRESS -# define SLAVE_I2C_ADDRESS 0x32 -#endif - -#if (MATRIX_COLS > 8) -# error "Currently only supports 8 COLS" -#endif - -// Get rows from other half over i2c -bool transport_master(matrix_row_t matrix[]) { - int err = 0; - - // write backlight info -#ifdef BACKLIGHT_ENABLE - if (BACKLIT_DIRTY) { - err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE); - if (err) { goto i2c_error; } - - // Backlight location - err = i2c_master_write(I2C_BACKLIT_START); - if (err) { goto i2c_error; } - - // Write backlight - i2c_master_write(get_backlight_level()); - - BACKLIT_DIRTY = false; - } -#endif - - err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE); - if (err) { goto i2c_error; } - - // start of matrix stored at I2C_KEYMAP_START - err = i2c_master_write(I2C_KEYMAP_START); - if (err) { goto i2c_error; } - - // Start read - err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ); - if (err) { goto i2c_error; } - - if (!err) { - int i; - for (i = 0; i < ROWS_PER_HAND-1; ++i) { - matrix[i] = i2c_master_read(I2C_ACK); - } - matrix[i] = i2c_master_read(I2C_NACK); - i2c_master_stop(); - } else { -i2c_error: // the cable is disconnceted, or something else went wrong - i2c_reset_state(); - return false; - } - -#ifdef RGBLIGHT_ENABLE - if (RGB_DIRTY) { - err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE); - if (err) { goto i2c_error; } - - // RGB Location - err = i2c_master_write(I2C_RGB_START); - if (err) { goto i2c_error; } - - uint32_t dword = eeconfig_read_rgblight(); - - // Write RGB - err = i2c_master_write_data(&dword, 4); - if (err) { goto i2c_error; } - - RGB_DIRTY = false; - i2c_master_stop(); - } -#endif - - return true; -} - -void transport_slave(matrix_row_t matrix[]) { - - for (int i = 0; i < ROWS_PER_HAND; ++i) - { - i2c_slave_buffer[I2C_KEYMAP_START + i] = matrix[i]; - } - // Read Backlight Info - #ifdef BACKLIGHT_ENABLE - if (BACKLIT_DIRTY) - { - backlight_set(i2c_slave_buffer[I2C_BACKLIT_START]); - BACKLIT_DIRTY = false; - } - #endif - #ifdef RGBLIGHT_ENABLE - if (RGB_DIRTY) - { - // Disable interupts (RGB data is big) - cli(); - // Create new DWORD for RGB data - uint32_t dword; - - // Fill the new DWORD with the data that was sent over - uint8_t * dword_dat = (uint8_t *)(&dword); - for (int i = 0; i < 4; i++) - { - dword_dat[i] = i2c_slave_buffer[I2C_RGB_START + i]; - } - - // Update the RGB now with the new data and set RGB_DIRTY to false - rgblight_update_dword(dword); - RGB_DIRTY = false; - // Re-enable interupts now that RGB is set - sei(); - } - #endif -} - -void transport_master_init(void) { - i2c_master_init(); -} - -void transport_slave_init(void) { - i2c_slave_init(SLAVE_I2C_ADDRESS); -} - -#else // USE_SERIAL - -#include "serial.h" - - - -volatile Serial_s2m_buffer_t serial_s2m_buffer = {}; -volatile Serial_m2s_buffer_t serial_m2s_buffer = {}; -uint8_t volatile status0 = 0; - -SSTD_t transactions[] = { - { (uint8_t *)&status0, - sizeof(serial_m2s_buffer), (uint8_t *)&serial_m2s_buffer, - sizeof(serial_s2m_buffer), (uint8_t *)&serial_s2m_buffer - } -}; - -uint8_t slave_layer_cache; -uint8_t slave_nlock_cache; -uint8_t slave_clock_cache; -uint8_t slave_slock_cache; - -void transport_master_init(void) -{ soft_serial_initiator_init(transactions, TID_LIMIT(transactions)); } - -void transport_slave_init(void) -{ - soft_serial_target_init(transactions, TID_LIMIT(transactions)); - slave_layer_cache = 255; - slave_nlock_cache = 255; - slave_clock_cache = 255; - slave_slock_cache = 255; -} - -bool transport_master(matrix_row_t matrix[]) { - - if (soft_serial_transaction()) { - return false; - } - - // TODO: if MATRIX_COLS > 8 change to unpack() - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[i] = serial_s2m_buffer.smatrix[i]; - } - - #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) - // Code to send RGB over serial goes here (not implemented yet) - #endif - - #ifdef BACKLIGHT_ENABLE - // Write backlight level for slave to read - serial_m2s_buffer.backlight_level = backlight_config.enable ? backlight_config.level : 0; - #endif - - return true; -} - -void transport_slave(matrix_row_t matrix[]) { - - // TODO: if MATRIX_COLS > 8 change to pack() - for (int i = 0; i < ROWS_PER_HAND; ++i) - { - serial_s2m_buffer.smatrix[i] = matrix[i]; - } - #ifdef BACKLIGHT_ENABLE - backlight_set(serial_m2s_buffer.backlight_level); - #endif - #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) - // Add serial implementation for RGB here - #endif - - if (slave_layer_cache != serial_m2s_buffer.current_layer) { - slave_layer_cache = serial_m2s_buffer.current_layer; - set_layer_indicators(slave_layer_cache); - } - - if (slave_nlock_cache != serial_m2s_buffer.nlock_led) { - slave_nlock_cache = serial_m2s_buffer.nlock_led; - led_toggle(3, slave_nlock_cache); - } - if (slave_clock_cache != serial_m2s_buffer.clock_led) { - slave_clock_cache = serial_m2s_buffer.clock_led; - led_toggle(4, slave_clock_cache); - } - if (slave_slock_cache != serial_m2s_buffer.slock_led) { - slave_slock_cache = serial_m2s_buffer.slock_led; - led_toggle(5, slave_slock_cache); - } - -} - -#endif diff --git a/keyboards/ai03/orbit/transport.h b/keyboards/ai03/orbit/transport.h deleted file mode 100644 index 757eae6f5c48..000000000000 --- a/keyboards/ai03/orbit/transport.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include "matrix.h" - -#define ROWS_PER_HAND (MATRIX_ROWS/2) - -typedef struct _Serial_s2m_buffer_t { - // TODO: if MATRIX_COLS > 8 change to uint8_t packed_matrix[] for pack/unpack - matrix_row_t smatrix[ROWS_PER_HAND]; -} Serial_s2m_buffer_t; - -typedef struct _Serial_m2s_buffer_t { -#ifdef BACKLIGHT_ENABLE - uint8_t backlight_level; -#endif -#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) - rgblight_config_t rgblight_config; //not yet use - // - // When MCUs on both sides drive their respective RGB LED chains, - // it is necessary to synchronize, so it is necessary to communicate RGB information. - // In that case, define the RGBLIGHT_SPLIT macro. - // - // Otherwise, if the master side MCU drives both sides RGB LED chains, - // there is no need to communicate. -#endif - - uint8_t current_layer; - uint8_t nlock_led; - uint8_t clock_led; - uint8_t slock_led; - -} Serial_m2s_buffer_t; - -extern volatile Serial_s2m_buffer_t serial_s2m_buffer; -extern volatile Serial_m2s_buffer_t serial_m2s_buffer; - -void transport_master_init(void); -void transport_slave_init(void); - -// returns false if valid data not received from slave -bool transport_master(matrix_row_t matrix[]); -void transport_slave(matrix_row_t matrix[]); From 3bf2403244b035e982dec17680b836afbe5df603 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 2 Dec 2021 14:32:31 +0000 Subject: [PATCH 0010/1832] Tidy up existing i2c_master implementations (#15376) * Move chibios defines out of header * Make some avr defines internal --- keyboards/matrix/m20add/m20add.c | 19 -------- keyboards/yanghu/unicorne/config.h | 6 +++ platforms/avr/drivers/i2c_master.c | 7 ++- platforms/chibios/drivers/i2c_master.c | 59 +++++++++++++++++++++++++ platforms/chibios/drivers/i2c_master.h | 61 +------------------------- 5 files changed, 71 insertions(+), 81 deletions(-) diff --git a/keyboards/matrix/m20add/m20add.c b/keyboards/matrix/m20add/m20add.c index 21f4f9b1ba87..4d328d6c5430 100644 --- a/keyboards/matrix/m20add/m20add.c +++ b/keyboards/matrix/m20add/m20add.c @@ -53,25 +53,6 @@ bool led_update_kb(led_t led_state) { return res; } -// override the default implementation to avoid re-initialization -void i2c_init(void) -{ - static bool initialized = false; - if (initialized) { - return; - } else { - initialized = true; - } - - // Try releasing special pins for a short time - palSetLineMode(I2C1_SCL_PIN, PAL_MODE_INPUT); - palSetLineMode(I2C1_SDA_PIN, PAL_MODE_INPUT); - - chThdSleepMilliseconds(10); - palSetLineMode(I2C1_SCL_PIN, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); - palSetLineMode(I2C1_SDA_PIN, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); -} - #define REBOOT_MAGIC 0x41544B42 void shutdown_user(void) { diff --git a/keyboards/yanghu/unicorne/config.h b/keyboards/yanghu/unicorne/config.h index 652afeb3b473..27d21c790626 100644 --- a/keyboards/yanghu/unicorne/config.h +++ b/keyboards/yanghu/unicorne/config.h @@ -42,6 +42,12 @@ #define ENCODERS_PAD_B \ { B12, B0 } +/* I2C - required for custom i2c_init */ +#define I2C1_SCL_PIN B6 +#define I2C1_SDA_PIN B7 +#define I2C1_SCL_PAL_MODE 4 +#define I2C1_SDA_PAL_MODE 4 + /* Audio */ #define AUDIO_PIN A8 #define AUDIO_PWM_PAL_MODE 1 diff --git a/platforms/avr/drivers/i2c_master.c b/platforms/avr/drivers/i2c_master.c index 111b55d6b0d3..d4024378cafe 100644 --- a/platforms/avr/drivers/i2c_master.c +++ b/platforms/avr/drivers/i2c_master.c @@ -32,6 +32,9 @@ # define I2C_START_RETRY_COUNT 20 #endif // I2C_START_RETRY_COUNT +#define I2C_ACTION_READ 0x01 +#define I2C_ACTION_WRITE 0x00 + #define TWBR_val (((F_CPU / F_SCL) - 16) / 2) #define MAX(X, Y) ((X) > (Y) ? (X) : (Y)) @@ -154,7 +157,7 @@ int16_t i2c_read_nack(uint16_t timeout) { } i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout) { - i2c_status_t status = i2c_start(address | I2C_WRITE, timeout); + i2c_status_t status = i2c_start(address | I2C_ACTION_WRITE, timeout); for (uint16_t i = 0; i < length && status >= 0; i++) { status = i2c_write(data[i], timeout); @@ -166,7 +169,7 @@ i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, } i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout) { - i2c_status_t status = i2c_start(address | I2C_READ, timeout); + i2c_status_t status = i2c_start(address | I2C_ACTION_READ, timeout); for (uint16_t i = 0; i < (length - 1) && status >= 0; i++) { status = i2c_read_ack(timeout); diff --git a/platforms/chibios/drivers/i2c_master.c b/platforms/chibios/drivers/i2c_master.c index 43591d56f80c..4a5d4760d0c0 100644 --- a/platforms/chibios/drivers/i2c_master.c +++ b/platforms/chibios/drivers/i2c_master.c @@ -27,8 +27,67 @@ #include "quantum.h" #include "i2c_master.h" #include +#include #include +#ifndef I2C1_SCL_PIN +# define I2C1_SCL_PIN B6 +#endif +#ifndef I2C1_SDA_PIN +# define I2C1_SDA_PIN B7 +#endif + +#ifdef USE_I2CV1 +# ifndef I2C1_OPMODE +# define I2C1_OPMODE OPMODE_I2C +# endif +# ifndef I2C1_CLOCK_SPEED +# define I2C1_CLOCK_SPEED 100000 /* 400000 */ +# endif +# ifndef I2C1_DUTY_CYCLE +# define I2C1_DUTY_CYCLE STD_DUTY_CYCLE /* FAST_DUTY_CYCLE_2 */ +# endif +#else +// The default timing values below configures the I2C clock to 400khz assuming a 72Mhz clock +// For more info : https://www.st.com/en/embedded-software/stsw-stm32126.html +# ifndef I2C1_TIMINGR_PRESC +# define I2C1_TIMINGR_PRESC 0U +# endif +# ifndef I2C1_TIMINGR_SCLDEL +# define I2C1_TIMINGR_SCLDEL 7U +# endif +# ifndef I2C1_TIMINGR_SDADEL +# define I2C1_TIMINGR_SDADEL 0U +# endif +# ifndef I2C1_TIMINGR_SCLH +# define I2C1_TIMINGR_SCLH 38U +# endif +# ifndef I2C1_TIMINGR_SCLL +# define I2C1_TIMINGR_SCLL 129U +# endif +#endif + +#ifndef I2C_DRIVER +# define I2C_DRIVER I2CD1 +#endif + +#ifdef USE_GPIOV1 +# ifndef I2C1_SCL_PAL_MODE +# define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN +# endif +# ifndef I2C1_SDA_PAL_MODE +# define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN +# endif +#else +// The default PAL alternate modes are used to signal that the pins are used for I2C +# ifndef I2C1_SCL_PAL_MODE +# define I2C1_SCL_PAL_MODE 4 +# endif +# ifndef I2C1_SDA_PAL_MODE +# define I2C1_SDA_PAL_MODE 4 +# endif +#endif + static uint8_t i2c_address; static const I2CConfig i2cconfig = { diff --git a/platforms/chibios/drivers/i2c_master.h b/platforms/chibios/drivers/i2c_master.h index 5f082e9d1e25..deee7ecc084e 100644 --- a/platforms/chibios/drivers/i2c_master.h +++ b/platforms/chibios/drivers/i2c_master.h @@ -24,66 +24,7 @@ */ #pragma once -#include -#include - -#ifndef I2C1_SCL_PIN -# define I2C1_SCL_PIN B6 -#endif -#ifndef I2C1_SDA_PIN -# define I2C1_SDA_PIN B7 -#endif - -#ifdef USE_I2CV1 -# ifndef I2C1_OPMODE -# define I2C1_OPMODE OPMODE_I2C -# endif -# ifndef I2C1_CLOCK_SPEED -# define I2C1_CLOCK_SPEED 100000 /* 400000 */ -# endif -# ifndef I2C1_DUTY_CYCLE -# define I2C1_DUTY_CYCLE STD_DUTY_CYCLE /* FAST_DUTY_CYCLE_2 */ -# endif -#else -// The default timing values below configures the I2C clock to 400khz assuming a 72Mhz clock -// For more info : https://www.st.com/en/embedded-software/stsw-stm32126.html -# ifndef I2C1_TIMINGR_PRESC -# define I2C1_TIMINGR_PRESC 0U -# endif -# ifndef I2C1_TIMINGR_SCLDEL -# define I2C1_TIMINGR_SCLDEL 7U -# endif -# ifndef I2C1_TIMINGR_SDADEL -# define I2C1_TIMINGR_SDADEL 0U -# endif -# ifndef I2C1_TIMINGR_SCLH -# define I2C1_TIMINGR_SCLH 38U -# endif -# ifndef I2C1_TIMINGR_SCLL -# define I2C1_TIMINGR_SCLL 129U -# endif -#endif - -#ifndef I2C_DRIVER -# define I2C_DRIVER I2CD1 -#endif - -#ifdef USE_GPIOV1 -# ifndef I2C1_SCL_PAL_MODE -# define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN -# endif -# ifndef I2C1_SDA_PAL_MODE -# define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN -# endif -#else -// The default PAL alternate modes are used to signal that the pins are used for I2C -# ifndef I2C1_SCL_PAL_MODE -# define I2C1_SCL_PAL_MODE 4 -# endif -# ifndef I2C1_SDA_PAL_MODE -# define I2C1_SDA_PAL_MODE 4 -# endif -#endif +#include typedef int16_t i2c_status_t; From 942b3cf16cceec2afa72bea2f12ef543f395a5db Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 6 Dec 2021 09:38:36 -0800 Subject: [PATCH 0011/1832] Generalize Unicode defines (#15409) --- common_features.mk | 1 + quantum/quantum.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/common_features.mk b/common_features.mk index 8c593024f0d1..56a9a286eaca 100644 --- a/common_features.mk +++ b/common_features.mk @@ -604,6 +604,7 @@ ifeq ($(strip $(UNICODE_ENABLE)), yes) endif ifeq ($(strip $(UNICODE_COMMON)), yes) + OPT_DEFS += -DUNICODE_COMMON_ENABLE SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c endif diff --git a/quantum/quantum.c b/quantum/quantum.c index 35b6351e9d99..5ecc183327c2 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -263,7 +263,7 @@ bool process_record_quantum(keyrecord_t *record) { #ifdef TAP_DANCE_ENABLE process_tap_dance(keycode, record) && #endif -#if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE) +#if defined(UNICODE_COMMON_ENABLE) process_unicode_common(keycode, record) && #endif #ifdef LEADER_ENABLE @@ -387,7 +387,7 @@ void matrix_init_quantum() { #ifdef RGB_MATRIX_ENABLE rgb_matrix_init(); #endif -#if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE) +#if defined(UNICODE_COMMON_ENABLE) unicode_input_mode_init(); #endif #ifdef HAPTIC_ENABLE From 5f7c0e3097359bc867304640b6c7b7df3ad0ac7f Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 6 Dec 2021 11:36:30 -0800 Subject: [PATCH 0012/1832] Add missing define for unicode common (#15416) --- quantum/quantum.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quantum/quantum.h b/quantum/quantum.h index 6927884e2f40..5d3a6658871c 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -109,6 +109,10 @@ extern layer_state_t layer_state; # include "process_unicodemap.h" #endif +#ifdef UNICODE_COMMON_ENABLE +# include "process_unicode_common.h" +#endif + #ifdef KEY_OVERRIDE_ENABLE # include "process_key_override.h" #endif From 9d7e64bcb3ee075dd7e253bce58a2015ac8b1353 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 7 Dec 2021 00:57:33 -0800 Subject: [PATCH 0013/1832] Remove Deprecated USB Polling comment from vusb.c (#15420) --- tmk_core/protocol/vusb/vusb.c | 1 - 1 file changed, 1 deletion(-) diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index bd0f1c21aa96..8bdcccc9c9da 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -647,7 +647,6 @@ const PROGMEM uchar console_hid_report[] = { # define USB_MAX_POWER_CONSUMPTION 500 #endif -// TODO: change this to 10ms to match LUFA #ifndef USB_POLLING_INTERVAL_MS # define USB_POLLING_INTERVAL_MS 1 #endif From 26febb7c24581d5c91e188362684aee1f31edf1b Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Wed, 8 Dec 2021 07:38:09 -0800 Subject: [PATCH 0014/1832] Expand rotational range for PMW3360 Optical Sensor (#15431) --- docs/feature_pointing_device.md | 2 +- drivers/sensors/pmw3360.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 031ee52c1c9b..61d76cfc2ae1 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -150,7 +150,7 @@ The PMW 3360 is an SPI driven optical sensor, that uses a built in IR LED for su |`PMW3360_SPI_LSBFIRST` | (Optional) Sets the Least/Most Significant Byte First setting for SPI. | `false` | |`PMW3360_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `3` | |`PMW3360_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ | -|`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 30 degrees directly in the sensor. | `0` | +|`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 127 degrees directly in the sensor. | `0` | The CPI range is 100-12000, in increments of 100. Defaults to 1600 CPI. diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 2b27dccbb640..80852fd62caa 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -184,7 +184,7 @@ bool pmw3360_init(void) { spi_write_adv(REG_Config2, 0x00); - spi_write_adv(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -30, 30)); + spi_write_adv(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -127, 127)); bool init_success = pmw3360_check_signature(); From 30f0bbe079003fb18764f9026a8eed7464efb216 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 9 Dec 2021 07:42:21 +1100 Subject: [PATCH 0015/1832] Add support for 21.11.x, remove 21.6.x as ChibiOS "canceled" it. (#15435) --- util/update_chibios_mirror.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/util/update_chibios_mirror.sh b/util/update_chibios_mirror.sh index 0bf648ebfd27..e6666c55c9fd 100755 --- a/util/update_chibios_mirror.sh +++ b/util/update_chibios_mirror.sh @@ -4,13 +4,13 @@ # Configuration # The ChibiOS branches to mirror -chibios_branches="trunk stable_20.3.x stable_21.6.x" +chibios_branches="trunk stable_20.3.x stable_21.11.x" # The ChibiOS tags to mirror -chibios_tags="ver20.3.1 ver20.3.2 ver20.3.3 ver20.3.4 ver21.6.0" +chibios_tags="ver20.3.1 ver20.3.2 ver20.3.3 ver20.3.4 ver21.11.1" # The ChibiOS-Contrib branches to mirror -contrib_branches="chibios-20.3.x chibios-21.6.x" +contrib_branches="chibios-20.3.x chibios-21.11.x" ################################ # Actions @@ -88,5 +88,5 @@ echo "Updating ChibiOS-Contrib branches..." for branch in $contrib_branches ; do echo "Creating branch 'mirror/$branch' from 'upstream/$branch'..." git branch -f mirror/$branch upstream/$branch \ - && git push qmk mirror/$branch + && git push qmk mirror/$branch || true # Allow for nonexistent ChibiOS-Contrib branches -- they'll turn up eventually. done From 415faebd6563fa07e2f0c830546217bdb621128f Mon Sep 17 00:00:00 2001 From: "Dipl.-Ing. Raoul Rubien, BSc" Date: Sun, 12 Dec 2021 01:58:25 +0100 Subject: [PATCH 0016/1832] added missing audio_off_user() callback (#15457) Co-authored-by: Raoul Rubien --- quantum/audio/audio.c | 3 +++ quantum/process_keycode/process_audio.c | 1 + quantum/process_keycode/process_audio.h | 1 + 3 files changed, 5 insertions(+) diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index 49bb309e80f4..b3d6389dd5b5 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -160,6 +160,8 @@ void audio_toggle(void) { eeconfig_update_audio(audio_config.raw); if (audio_config.enable) { audio_on_user(); + } else { + audio_off_user(); } } @@ -172,6 +174,7 @@ void audio_on(void) { void audio_off(void) { PLAY_SONG(audio_off_song); + audio_off_user(); wait_ms(100); audio_stop_all(); audio_config.enable = 0; diff --git a/quantum/process_keycode/process_audio.c b/quantum/process_keycode/process_audio.c index 3b5fa8490b93..23664721e841 100644 --- a/quantum/process_keycode/process_audio.c +++ b/quantum/process_keycode/process_audio.c @@ -57,3 +57,4 @@ void process_audio_noteoff(uint8_t note) { stop_note(compute_freq_for_midi_note( void process_audio_all_notes_off(void) { stop_all_notes(); } __attribute__((weak)) void audio_on_user() {} +__attribute__((weak)) void audio_off_user() {} diff --git a/quantum/process_keycode/process_audio.h b/quantum/process_keycode/process_audio.h index d89a834ea85c..42cfab4af27d 100644 --- a/quantum/process_keycode/process_audio.h +++ b/quantum/process_keycode/process_audio.h @@ -8,3 +8,4 @@ void process_audio_noteoff(uint8_t note); void process_audio_all_notes_off(void); void audio_on_user(void); +void audio_off_user(void); From 8b865a9d6445e3bce6c991224f373d71c67e87e5 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Tue, 14 Dec 2021 19:40:18 +0100 Subject: [PATCH 0017/1832] [Core] Don't send keyboard reports that propagate no changes to the host (#14065) --- quantum/action_util.c | 9 ++- tests/auto_shift/test_auto_shift.cpp | 3 - tests/basic/test_action_layer.cpp | 33 ++++------- tests/basic/test_keypress.cpp | 55 +++++++++---------- tests/basic/test_one_shot_keys.cpp | 8 +-- .../permissive_hold/test_tap_hold.cpp | 3 +- .../test_tap_hold.cpp | 3 +- .../tapping_force_hold/test_action_layer.cpp | 3 +- .../tapping_force_hold/test_tap_hold.cpp | 2 - tests/test_common/test_fixture.cpp | 3 - 10 files changed, 51 insertions(+), 71 deletions(-) diff --git a/quantum/action_util.c b/quantum/action_util.c index 78e02aec185f..7e30593fb1c5 100644 --- a/quantum/action_util.c +++ b/quantum/action_util.c @@ -21,6 +21,7 @@ along with this program. If not, see . #include "action_layer.h" #include "timer.h" #include "keycode_config.h" +#include extern keymap_config_t keymap_config; @@ -247,7 +248,13 @@ void send_keyboard_report(void) { keyboard_report->mods |= weak_override_mods; #endif - host_keyboard_send(keyboard_report); + static report_keyboard_t last_report; + + /* Only send the report if there are changes to propagate to the host. */ + if (memcmp(keyboard_report, &last_report, sizeof(report_keyboard_t)) != 0) { + memcpy(&last_report, keyboard_report, sizeof(report_keyboard_t)); + host_keyboard_send(keyboard_report); + } } /** \brief Get mods diff --git a/tests/auto_shift/test_auto_shift.cpp b/tests/auto_shift/test_auto_shift.cpp index 9c5ed9a8326a..a19b5dfa824c 100644 --- a/tests/auto_shift/test_auto_shift.cpp +++ b/tests/auto_shift/test_auto_shift.cpp @@ -42,7 +42,6 @@ TEST_F(AutoShift, key_release_before_timeout) { /* Release regular key */ EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); regular_key.release(); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); @@ -65,8 +64,6 @@ TEST_F(AutoShift, key_release_after_timeout) { EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); regular_key.release(); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); diff --git a/tests/basic/test_action_layer.cpp b/tests/basic/test_action_layer.cpp index 1b12d13642fe..fe5c729f7c3b 100644 --- a/tests/basic/test_action_layer.cpp +++ b/tests/basic/test_action_layer.cpp @@ -131,14 +131,12 @@ TEST_F(ActionLayer, MomentaryLayerDoesNothing) { set_keymap({layer_key}); /* Press and release MO, nothing should happen. */ - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_key.press(); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_key.release(); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); @@ -153,8 +151,7 @@ TEST_F(ActionLayer, MomentaryLayerWithKeypress) { set_keymap({layer_key, regular_key, KeymapKey{1, 1, 0, KC_B}}); /* Press MO. */ - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_key.press(); run_one_scan_loop(); EXPECT_TRUE(layer_state_is(1)); @@ -175,8 +172,7 @@ TEST_F(ActionLayer, MomentaryLayerWithKeypress) { testing::Mock::VerifyAndClearExpectations(&driver); /* Release MO */ - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_key.release(); run_one_scan_loop(); EXPECT_TRUE(layer_state_is(0)); @@ -199,8 +195,7 @@ TEST_F(ActionLayer, ToggleLayerDoesNothing) { testing::Mock::VerifyAndClearExpectations(&driver); /* Release TG. */ - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_key.release(); run_one_scan_loop(); EXPECT_TRUE(layer_state_is(1)); @@ -223,8 +218,7 @@ TEST_F(ActionLayer, ToggleLayerUpAndDown) { EXPECT_TRUE(layer_state_is(1)); testing::Mock::VerifyAndClearExpectations(&driver); - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); toggle_layer_1_on_layer_0.release(); run_one_scan_loop(); EXPECT_TRUE(layer_state_is(1)); @@ -237,8 +231,7 @@ TEST_F(ActionLayer, ToggleLayerUpAndDown) { EXPECT_TRUE(layer_state_is(0)); testing::Mock::VerifyAndClearExpectations(&driver); - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); toggle_layer_0_on_layer_1.release(); run_one_scan_loop(); EXPECT_TRUE(layer_state_is(0)); @@ -254,14 +247,13 @@ TEST_F(ActionLayer, LayerTapToggleDoesNothing) { set_keymap({layer_key}); /* Press and release TT. */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(0); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_key.press(); run_one_scan_loop(); EXPECT_TRUE(layer_state_is(1)); testing::Mock::VerifyAndClearExpectations(&driver); - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(2); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_key.release(); run_one_scan_loop(); EXPECT_TRUE(layer_state_is(0)); @@ -279,7 +271,6 @@ TEST_F(ActionLayer, LayerTapToggleWithKeypress) { set_keymap({layer_key, regular_key, KeymapKey{1, 1, 0, KC_B}}); /* Press TT. */ - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(0); layer_key.press(); run_one_scan_loop(); @@ -298,8 +289,7 @@ TEST_F(ActionLayer, LayerTapToggleWithKeypress) { EXPECT_TRUE(layer_state_is(1)); testing::Mock::VerifyAndClearExpectations(&driver); - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_key.release(); run_one_scan_loop(); EXPECT_TRUE(layer_state_is(0)); @@ -317,8 +307,7 @@ TEST_F(ActionLayer, LayerTapToggleWithToggleWithKeypress) { set_keymap({layer_key, regular_key, KeymapKey{1, 1, 0, KC_B}}); /* Tap TT five times . */ - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(9); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_key.press(); run_one_scan_loop(); diff --git a/tests/basic/test_keypress.cpp b/tests/basic/test_keypress.cpp index 1c175c9d56a7..044fc2937806 100644 --- a/tests/basic/test_keypress.cpp +++ b/tests/basic/test_keypress.cpp @@ -85,7 +85,7 @@ TEST_F(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) { TEST_F(KeyPress, LeftShiftIsReportedCorrectly) { TestDriver driver; auto key_a = KeymapKey(0, 0, 0, KC_A); - auto key_lsft = KeymapKey(0, 3, 0, KC_LSFT); + auto key_lsft = KeymapKey(0, 3, 0, KC_LEFT_SHIFT); set_keymap({key_a, key_lsft}); @@ -110,8 +110,8 @@ TEST_F(KeyPress, LeftShiftIsReportedCorrectly) { TEST_F(KeyPress, PressLeftShiftAndControl) { TestDriver driver; - auto key_lsft = KeymapKey(0, 3, 0, KC_LSFT); - auto key_lctrl = KeymapKey(0, 5, 0, KC_LCTRL); + auto key_lsft = KeymapKey(0, 3, 0, KC_LEFT_SHIFT); + auto key_lctrl = KeymapKey(0, 5, 0, KC_LEFT_CTRL); set_keymap({key_lctrl, key_lsft}); @@ -138,8 +138,8 @@ TEST_F(KeyPress, PressLeftShiftAndControl) { TEST_F(KeyPress, LeftAndRightShiftCanBePressedAtTheSameTime) { TestDriver driver; - auto key_lsft = KeymapKey(0, 3, 0, KC_LSFT); - auto key_rsft = KeymapKey(0, 4, 0, KC_RSFT); + auto key_lsft = KeymapKey(0, 3, 0, KC_LEFT_SHIFT); + auto key_rsft = KeymapKey(0, 4, 0, KC_RIGHT_SHIFT); set_keymap({key_rsft, key_lsft}); @@ -175,12 +175,12 @@ TEST_F(KeyPress, RightShiftLeftControlAndCharWithTheSameKey) { // The underlying cause is that we use only one bit to represent the right hand // modifiers. combo_key.press(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RSFT, KC_RCTRL))); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RSFT, KC_RCTRL, KC_O))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RIGHT_SHIFT, KC_RIGHT_CTRL))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RIGHT_SHIFT, KC_RIGHT_CTRL, KC_O))); keyboard_task(); combo_key.release(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RSFT, KC_RCTRL))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RIGHT_SHIFT, KC_RIGHT_CTRL))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); keyboard_task(); } @@ -189,18 +189,18 @@ TEST_F(KeyPress, PressPlusEqualReleaseBeforePress) { TestDriver driver; InSequence s; auto key_plus = KeymapKey(0, 1, 1, KC_PLUS); - auto key_eql = KeymapKey(0, 0, 1, KC_EQL); + auto key_eql = KeymapKey(0, 0, 1, KC_EQUAL); set_keymap({key_plus, key_eql}); key_plus.press(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT, KC_EQUAL))); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); key_plus.release(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); @@ -220,13 +220,13 @@ TEST_F(KeyPress, PressPlusEqualDontReleaseBeforePress) { TestDriver driver; InSequence s; auto key_plus = KeymapKey(0, 1, 1, KC_PLUS); - auto key_eql = KeymapKey(0, 0, 1, KC_EQL); + auto key_eql = KeymapKey(0, 0, 1, KC_EQUAL); set_keymap({key_plus, key_eql}); key_plus.press(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT, KC_EQUAL))); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); @@ -237,14 +237,13 @@ TEST_F(KeyPress, PressPlusEqualDontReleaseBeforePress) { testing::Mock::VerifyAndClearExpectations(&driver); key_plus.release(); - // BUG: Should really still return KC_EQL, but this is fine too - // It's also called twice for some reason - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(2); + // BUG: Should really still return KC_EQUAL, but this is fine too + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); key_eql.release(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); } @@ -253,12 +252,12 @@ TEST_F(KeyPress, PressEqualPlusReleaseBeforePress) { TestDriver driver; InSequence s; auto key_plus = KeymapKey(0, 1, 1, KC_PLUS); - auto key_eql = KeymapKey(0, 0, 1, KC_EQL); + auto key_eql = KeymapKey(0, 0, 1, KC_EQUAL); set_keymap({key_plus, key_eql}); key_eql.press(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQL))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQUAL))); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); @@ -268,13 +267,13 @@ TEST_F(KeyPress, PressEqualPlusReleaseBeforePress) { testing::Mock::VerifyAndClearExpectations(&driver); key_plus.press(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT, KC_EQUAL))); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); key_plus.release(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); @@ -284,12 +283,12 @@ TEST_F(KeyPress, PressEqualPlusDontReleaseBeforePress) { TestDriver driver; InSequence s; auto key_plus = KeymapKey(0, 1, 1, KC_PLUS); - auto key_eql = KeymapKey(0, 0, 1, KC_EQL); + auto key_eql = KeymapKey(0, 0, 1, KC_EQUAL); set_keymap({key_plus, key_eql}); key_eql.press(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQL))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQUAL))); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); @@ -309,9 +308,7 @@ TEST_F(KeyPress, PressEqualPlusDontReleaseBeforePress) { testing::Mock::VerifyAndClearExpectations(&driver); key_plus.release(); - // This report is not needed - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); -} \ No newline at end of file +} diff --git a/tests/basic/test_one_shot_keys.cpp b/tests/basic/test_one_shot_keys.cpp index 98178912e4cc..43fc3e1ba3b8 100644 --- a/tests/basic/test_one_shot_keys.cpp +++ b/tests/basic/test_one_shot_keys.cpp @@ -175,22 +175,20 @@ TEST_F(OneShot, OSLWithAdditionalKeypress) { testing::Mock::VerifyAndClearExpectations(&driver); /* Release OSL key */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(2); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); osl_key.release(); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); /* Press regular key */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(regular_key.report_code))).Times(2); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(regular_key.report_code))).Times(1); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); regular_key.press(); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); /* Release regular key */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); regular_key.release(); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); diff --git a/tests/tap_hold_configurations/permissive_hold/test_tap_hold.cpp b/tests/tap_hold_configurations/permissive_hold/test_tap_hold.cpp index ab9dd1518bb2..00c2b33cb7d4 100644 --- a/tests/tap_hold_configurations/permissive_hold/test_tap_hold.cpp +++ b/tests/tap_hold_configurations/permissive_hold/test_tap_hold.cpp @@ -117,7 +117,6 @@ TEST_F(PermissiveHold, tap_regular_key_while_layer_tap_key_is_held) { testing::Mock::VerifyAndClearExpectations(&driver); /* Release regular key */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(layer_key.report_code))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); regular_key.release(); @@ -125,7 +124,7 @@ TEST_F(PermissiveHold, tap_regular_key_while_layer_tap_key_is_held) { testing::Mock::VerifyAndClearExpectations(&driver); /* Release layer-tap-hold key */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_tap_hold_key.release(); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); diff --git a/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test_tap_hold.cpp b/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test_tap_hold.cpp index 67f394653f3a..67706f80dc2e 100644 --- a/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test_tap_hold.cpp +++ b/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test_tap_hold.cpp @@ -119,7 +119,6 @@ TEST_F(PermissiveHold_IgnoreModTapInterrupt, tap_regular_key_while_layer_tap_key testing::Mock::VerifyAndClearExpectations(&driver); /* Release regular key */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); regular_key.release(); @@ -127,7 +126,7 @@ TEST_F(PermissiveHold_IgnoreModTapInterrupt, tap_regular_key_while_layer_tap_key testing::Mock::VerifyAndClearExpectations(&driver); /* Release layer-tap-hold key */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_tap_hold_key.release(); run_one_scan_loop(); testing::Mock::VerifyAndClearExpectations(&driver); diff --git a/tests/tap_hold_configurations/tapping_force_hold/test_action_layer.cpp b/tests/tap_hold_configurations/tapping_force_hold/test_action_layer.cpp index 02416eed7365..54e7daa22c6a 100644 --- a/tests/tap_hold_configurations/tapping_force_hold/test_action_layer.cpp +++ b/tests/tap_hold_configurations/tapping_force_hold/test_action_layer.cpp @@ -31,9 +31,8 @@ TEST_F(ActionLayer, LayerTapToggleWithToggleWithKeypress) { set_keymap({layer_key, regular_key, KeymapKey{1, 1, 0, KC_B}}); /* Tap TT five times . */ - /* TODO: QMK currently sends an empty report even if nothing needs to be reported to the host! */ /* TODO: Tapping Force Hold breaks TT */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(10); + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); layer_key.press(); run_one_scan_loop(); diff --git a/tests/tap_hold_configurations/tapping_force_hold/test_tap_hold.cpp b/tests/tap_hold_configurations/tapping_force_hold/test_tap_hold.cpp index cb6842961724..3ae7c4ccfdfd 100644 --- a/tests/tap_hold_configurations/tapping_force_hold/test_tap_hold.cpp +++ b/tests/tap_hold_configurations/tapping_force_hold/test_tap_hold.cpp @@ -60,7 +60,6 @@ TEST_F(TappingForceHold, tap_regular_key_while_mod_tap_key_is_held) { testing::Mock::VerifyAndClearExpectations(&driver); /* Idle for tapping term of mod tap hold key. */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); @@ -101,7 +100,6 @@ TEST_F(TappingForceHold, tap_mod_tap_key_while_mod_tap_key_is_held) { testing::Mock::VerifyAndClearExpectations(&driver); /* Idle for tapping term of first mod tap hold key. */ - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); diff --git a/tests/test_common/test_fixture.cpp b/tests/test_common/test_fixture.cpp index 0601b1719137..91bf3e779ec9 100644 --- a/tests/test_common/test_fixture.cpp +++ b/tests/test_common/test_fixture.cpp @@ -48,7 +48,6 @@ void TestFixture::SetUpTestCase() { eeconfig_update_debug(debug_config.raw); TestDriver driver; - EXPECT_CALL(driver, send_keyboard_mock(_)); keyboard_init(); test_logger.info() << "TestFixture setup-up end." << std::endl; @@ -62,8 +61,6 @@ TestFixture::~TestFixture() { test_logger.info() << "TestFixture clean-up start." << std::endl; TestDriver driver; - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(2); - /* Reset keyboard state. */ clear_all_keys(); From c12268807d8622a05dc445e6101a575eae16860d Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 15 Dec 2021 22:00:39 +1100 Subject: [PATCH 0018/1832] Migrate serial_uart usages to UART driver (#15479) * Migrate Thermal Printer feature to UART driver * Migrate 40percentclub UT47 to UART driver * Migrate Centromere to UART driver * Migrate Chimera Ergo to UART driver * Migrate Chimera Let's Split to UART driver * Migrate Chimera Ortho to UART driver * Migrate Chimera Ortho Plus to UART driver * Migrate Comet46 to UART driver * Migrate Palm USB converter to UART driver * Migrate Sun USB converter to UART driver * Migrate Dichotomy to UART driver * Migrate Honeycomb to UART driver * Migrate Mitosis to UART driver * Migrate Redox W to UART driver * Migrate Uni660 to UART driver * Migrate Telophase to UART driver --- common_features.mk | 2 +- .../ut47/keymaps/default/keymap.c | 6 +- .../ut47/keymaps/non-us/keymap.c | 6 +- .../ut47/keymaps/nordic/keymap.c | 6 +- .../40percentclub/ut47/keymaps/rgb/keymap.c | 6 +- keyboards/40percentclub/ut47/matrix.c | 8 --- keyboards/40percentclub/ut47/rules.mk | 3 +- keyboards/40percentclub/ut47/ut47.c | 8 ++- keyboards/centromere/config.h | 9 --- keyboards/centromere/matrix.c | 10 ++-- keyboards/centromere/rules.mk | 3 +- keyboards/chimera_ergo/config.h | 9 --- keyboards/chimera_ergo/matrix.c | 10 ++-- keyboards/chimera_ergo/rules.mk | 3 +- keyboards/chimera_ls/config.h | 9 --- keyboards/chimera_ls/matrix.c | 10 ++-- keyboards/chimera_ls/rules.mk | 3 +- keyboards/chimera_ortho/config.h | 9 --- keyboards/chimera_ortho/matrix.c | 10 ++-- keyboards/chimera_ortho/rules.mk | 3 +- keyboards/chimera_ortho_plus/config.h | 9 --- keyboards/chimera_ortho_plus/matrix.c | 10 ++-- keyboards/chimera_ortho_plus/rules.mk | 3 +- keyboards/comet46/config.h | 9 --- keyboards/comet46/matrix.c | 10 ++-- keyboards/comet46/rules.mk | 4 +- keyboards/converter/palm_usb/config.h | 55 ------------------- keyboards/converter/palm_usb/matrix.c | 8 +-- keyboards/converter/palm_usb/post_rules.mk | 7 --- keyboards/converter/palm_usb/rules.mk | 1 + keyboards/converter/sun_usb/command_extra.c | 22 ++++---- keyboards/converter/sun_usb/config.h | 47 ---------------- keyboards/converter/sun_usb/led.c | 6 +- keyboards/converter/sun_usb/matrix.c | 20 +++---- keyboards/converter/sun_usb/post_rules.mk | 6 -- keyboards/converter/sun_usb/rules.mk | 1 + keyboards/dichotomy/config.h | 9 --- keyboards/dichotomy/dichotomy.c | 8 ++- keyboards/dichotomy/matrix.c | 10 ++-- keyboards/dichotomy/rules.mk | 3 +- keyboards/honeycomb/config.h | 9 --- keyboards/honeycomb/honeycomb.c | 6 +- keyboards/honeycomb/matrix.c | 10 ++-- keyboards/honeycomb/rules.mk | 3 +- keyboards/mitosis/config.h | 9 --- keyboards/mitosis/matrix.c | 10 ++-- keyboards/mitosis/rules.mk | 3 +- .../planck/keymaps/thermal_printer/config.h | 12 +--- keyboards/redox_w/config.h | 9 --- keyboards/redox_w/matrix.c | 10 ++-- keyboards/redox_w/rules.mk | 3 +- keyboards/sirius/uni660/rev1/config.h | 9 --- keyboards/sirius/uni660/rev1/matrix.c | 10 ++-- keyboards/sirius/uni660/rev1/rules.mk | 3 +- keyboards/sirius/uni660/rev2/ansi/config.h | 9 --- keyboards/sirius/uni660/rev2/iso/config.h | 9 --- keyboards/sirius/uni660/rev2/matrix.c | 10 ++-- keyboards/sirius/uni660/rev2/rules.mk | 3 +- keyboards/telophase/config.h | 9 --- keyboards/telophase/matrix.c | 10 ++-- keyboards/telophase/rules.mk | 3 +- quantum/process_keycode/process_printer.c | 5 +- quantum/process_keycode/process_printer.h | 2 - 63 files changed, 154 insertions(+), 393 deletions(-) delete mode 100644 keyboards/converter/palm_usb/post_rules.mk delete mode 100644 keyboards/converter/sun_usb/post_rules.mk diff --git a/common_features.mk b/common_features.mk index 56a9a286eaca..fed005ff5a4a 100644 --- a/common_features.mk +++ b/common_features.mk @@ -356,7 +356,7 @@ endif ifeq ($(strip $(PRINTING_ENABLE)), yes) OPT_DEFS += -DPRINTING_ENABLE SRC += $(QUANTUM_DIR)/process_keycode/process_printer.c - SRC += $(TMK_DIR)/protocol/serial_uart.c + QUANTUM_LIB_SRC += uart.c endif VARIABLE_TRACE ?= no diff --git a/keyboards/40percentclub/ut47/keymaps/default/keymap.c b/keyboards/40percentclub/ut47/keymaps/default/keymap.c index 0fa7838dfd79..4eb2c190c192 100644 --- a/keyboards/40percentclub/ut47/keymaps/default/keymap.c +++ b/keyboards/40percentclub/ut47/keymaps/default/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H #ifdef LED_ENABLE - #include "protocol/serial.h" + #include "uart.h" #endif #define LT3_TAB LT(3, KC_TAB) @@ -108,11 +108,11 @@ LAYOUT( /* Tab */ //LED keymap functions #ifdef LED_ENABLE void led_chmode(void) { - serial_send(101); + uart_write(0x65); } void led_toggle(void) { - serial_send(100); + uart_write(0x64); } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/40percentclub/ut47/keymaps/non-us/keymap.c b/keyboards/40percentclub/ut47/keymaps/non-us/keymap.c index 0c1c2e75999b..8a0ba7b3916c 100644 --- a/keyboards/40percentclub/ut47/keymaps/non-us/keymap.c +++ b/keyboards/40percentclub/ut47/keymaps/non-us/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H #ifdef LED_ENABLE - #include "protocol/serial.h" + #include "uart.h" #endif #define LT3_TAB LT(3, KC_TAB) @@ -108,11 +108,11 @@ LAYOUT( /* Tab */ //LED keymap functions #ifdef LED_ENABLE void led_chmode(void) { - serial_send(101); + uart_write(0x65); } void led_toggle(void) { - serial_send(100); + uart_write(0x64); } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c b/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c index 52372e285785..5e79cdb9a47c 100644 --- a/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c +++ b/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H #ifdef LED_ENABLE - #include "protocol/serial.h" + #include "uart.h" #endif @@ -151,11 +151,11 @@ LAYOUT( /* GAMING, toggled on and off - L5 */ //LED keymap functions #ifdef LED_ENABLE void led_chmode(void) { - serial_send(101); + uart_write(0x65); } void led_toggle(void) { - serial_send(100); + uart_write(0x64); } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c b/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c index ae8ad3e378ec..75dba3a2d42e 100644 --- a/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c +++ b/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H #ifdef LED_ENABLE - #include "protocol/serial.h" + #include "uart.h" #endif #define LT3_TAB LT(3, KC_TAB) @@ -60,11 +60,11 @@ LAYOUT( /* Tab */ //LED keymap functions #ifdef LED_ENABLE void led_chmode(void) { - serial_send(101); + uart_write(0x65); } void led_toggle(void) { - serial_send(100); + uart_write(0x64); } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/40percentclub/ut47/matrix.c b/keyboards/40percentclub/ut47/matrix.c index c1284535bc95..89537592c52a 100644 --- a/keyboards/40percentclub/ut47/matrix.c +++ b/keyboards/40percentclub/ut47/matrix.c @@ -26,10 +26,6 @@ along with this program. If not, see . #include "debug.h" #include "util.h" #include "matrix.h" -#ifdef LED_ENABLE - #include "protocol/serial.h" -#endif - #ifndef DEBOUNCE # define DEBOUNCE 5 @@ -69,10 +65,6 @@ void matrix_init(void) matrix[i] = 0; matrix_debouncing[i] = 0; } - -#ifdef LED_ENABLE - serial_init(); -#endif } uint8_t matrix_scan(void) diff --git a/keyboards/40percentclub/ut47/rules.mk b/keyboards/40percentclub/ut47/rules.mk index 29cee474ff5d..6c9805e0fc44 100644 --- a/keyboards/40percentclub/ut47/rules.mk +++ b/keyboards/40percentclub/ut47/rules.mk @@ -18,4 +18,5 @@ AUDIO_ENABLE = no # Audio output # custom matrix setup CUSTOM_MATRIX = yes -SRC += matrix.c protocol/serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c diff --git a/keyboards/40percentclub/ut47/ut47.c b/keyboards/40percentclub/ut47/ut47.c index 9054335e5ac1..c01562cb6832 100644 --- a/keyboards/40percentclub/ut47/ut47.c +++ b/keyboards/40percentclub/ut47/ut47.c @@ -15,15 +15,19 @@ */ #include "ut47.h" #ifdef LED_ENABLE - #include "protocol/serial.h" + #include "uart.h" #endif +void matrix_init_kb() { + uart_init(9600); +} + bool process_record_kb(uint16_t keycode, keyrecord_t *record) { // put your per-action keyboard code here // runs for every action, just before processing by the firmware if (record->event.pressed) { #ifdef LED_ENABLE - serial_send((record->event.key.row*16)+record->event.key.col); + uart_write((record->event.key.row*16)+record->event.key.col); #endif } return process_record_user(keycode, record); diff --git a/keyboards/centromere/config.h b/keyboards/centromere/config.h index e502e2534bce..b4cae20332c1 100644 --- a/keyboards/centromere/config.h +++ b/keyboards/centromere/config.h @@ -56,12 +56,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 500000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/centromere/matrix.c b/keyboards/centromere/matrix.c index 7256cd5cb5a7..a46701275aa3 100644 --- a/keyboards/centromere/matrix.c +++ b/keyboards/centromere/matrix.c @@ -26,7 +26,7 @@ along with this program. If not, see . #include "util.h" #include "matrix.h" #include "timer.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -80,7 +80,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { matrix_init_quantum(); - serial_init(); + uart_init(500000); } uint8_t matrix_scan(void) @@ -88,7 +88,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF remote slave to send the matrix information - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates, erase the last set of data uint8_t uart_data[11] = {0}; @@ -96,13 +96,13 @@ uint8_t matrix_scan(void) //there are 10 bytes corresponding to 1w columns, and an end byte for (uint8_t i = 0; i < 11; i++) { //wait for the serial data, timeout if it's been too long - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/centromere/rules.mk b/keyboards/centromere/rules.mk index ed777e1b9eee..15c6a2074688 100644 --- a/keyboards/centromere/rules.mk +++ b/keyboards/centromere/rules.mk @@ -21,6 +21,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality UNICODE_ENABLE = yes # Unicode # # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c LAYOUTS = split_3x5_3 split_3x6_3 diff --git a/keyboards/chimera_ergo/config.h b/keyboards/chimera_ergo/config.h index 0767a218b5a2..3c0cc5c16203 100644 --- a/keyboards/chimera_ergo/config.h +++ b/keyboards/chimera_ergo/config.h @@ -56,12 +56,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/chimera_ergo/matrix.c b/keyboards/chimera_ergo/matrix.c index 577176c466c6..ec438beb56e5 100644 --- a/keyboards/chimera_ergo/matrix.c +++ b/keyboards/chimera_ergo/matrix.c @@ -26,7 +26,7 @@ along with this program. If not, see . #include "util.h" #include "matrix.h" #include "timer.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -89,7 +89,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -97,7 +97,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[14] = {0}; @@ -107,13 +107,13 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/chimera_ergo/rules.mk b/keyboards/chimera_ergo/rules.mk index a8bd3a027a22..483485cb7d6a 100644 --- a/keyboards/chimera_ergo/rules.mk +++ b/keyboards/chimera_ergo/rules.mk @@ -17,4 +17,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality # # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c diff --git a/keyboards/chimera_ls/config.h b/keyboards/chimera_ls/config.h index 2eb028471d5b..ca92e1e2e416 100644 --- a/keyboards/chimera_ls/config.h +++ b/keyboards/chimera_ls/config.h @@ -56,12 +56,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/chimera_ls/matrix.c b/keyboards/chimera_ls/matrix.c index 9edd91818ff5..354346ca09a5 100644 --- a/keyboards/chimera_ls/matrix.c +++ b/keyboards/chimera_ls/matrix.c @@ -26,7 +26,7 @@ along with this program. If not, see . #include "util.h" #include "matrix.h" #include "timer.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -93,7 +93,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -101,7 +101,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[11] = {0}; @@ -111,13 +111,13 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/chimera_ls/rules.mk b/keyboards/chimera_ls/rules.mk index 377c37991140..ae0cc8b749d0 100644 --- a/keyboards/chimera_ls/rules.mk +++ b/keyboards/chimera_ls/rules.mk @@ -17,7 +17,8 @@ NKRO_ENABLE = yes # Enable N-Key Rollover # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c LAYOUTS = ortho_4x12 diff --git a/keyboards/chimera_ortho/config.h b/keyboards/chimera_ortho/config.h index 974502525c08..3d86343a67b0 100644 --- a/keyboards/chimera_ortho/config.h +++ b/keyboards/chimera_ortho/config.h @@ -56,12 +56,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/chimera_ortho/matrix.c b/keyboards/chimera_ortho/matrix.c index 34930af7e205..1403f410c009 100644 --- a/keyboards/chimera_ortho/matrix.c +++ b/keyboards/chimera_ortho/matrix.c @@ -26,7 +26,7 @@ along with this program. If not, see . #include "util.h" #include "matrix.h" #include "timer.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -79,7 +79,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -87,7 +87,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[11] = {0}; @@ -97,13 +97,13 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/chimera_ortho/rules.mk b/keyboards/chimera_ortho/rules.mk index fbe687200196..c35dc9ba2e5c 100644 --- a/keyboards/chimera_ortho/rules.mk +++ b/keyboards/chimera_ortho/rules.mk @@ -17,4 +17,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c diff --git a/keyboards/chimera_ortho_plus/config.h b/keyboards/chimera_ortho_plus/config.h index 4b12796e95b2..ebffb8565751 100644 --- a/keyboards/chimera_ortho_plus/config.h +++ b/keyboards/chimera_ortho_plus/config.h @@ -56,12 +56,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/chimera_ortho_plus/matrix.c b/keyboards/chimera_ortho_plus/matrix.c index 818e05ac9872..51898e35d151 100644 --- a/keyboards/chimera_ortho_plus/matrix.c +++ b/keyboards/chimera_ortho_plus/matrix.c @@ -26,7 +26,7 @@ along with this program. If not, see . #include "util.h" #include "matrix.h" #include "timer.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -79,7 +79,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -87,7 +87,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[14] = {0}; @@ -97,13 +97,13 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/chimera_ortho_plus/rules.mk b/keyboards/chimera_ortho_plus/rules.mk index e99e79c3279d..cd98979306bc 100644 --- a/keyboards/chimera_ortho_plus/rules.mk +++ b/keyboards/chimera_ortho_plus/rules.mk @@ -20,4 +20,5 @@ UNICODE_ENABLE = yes CUSTOM_MATRIX = yes # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c diff --git a/keyboards/comet46/config.h b/keyboards/comet46/config.h index 067dabb1036a..5ea40c14c592 100644 --- a/keyboards/comet46/config.h +++ b/keyboards/comet46/config.h @@ -62,12 +62,3 @@ along with this program. If not, see . #define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTRL)) #define MODS_ALT_MASK (MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT)) #define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)) - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/comet46/matrix.c b/keyboards/comet46/matrix.c index 34930af7e205..1403f410c009 100644 --- a/keyboards/comet46/matrix.c +++ b/keyboards/comet46/matrix.c @@ -26,7 +26,7 @@ along with this program. If not, see . #include "util.h" #include "matrix.h" #include "timer.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -79,7 +79,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -87,7 +87,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[11] = {0}; @@ -97,13 +97,13 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/comet46/rules.mk b/keyboards/comet46/rules.mk index 814622226ac4..10d828cc7f08 100644 --- a/keyboards/comet46/rules.mk +++ b/keyboards/comet46/rules.mk @@ -19,5 +19,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover # project specific files SRC += matrix.c \ i2c.c \ - ssd1306.c \ - serial_uart.c + ssd1306.c +QUANTUM_LIB_SRC += uart.c diff --git a/keyboards/converter/palm_usb/config.h b/keyboards/converter/palm_usb/config.h index 4afc654e85c7..35032835cd47 100644 --- a/keyboards/converter/palm_usb/config.h +++ b/keyboards/converter/palm_usb/config.h @@ -60,58 +60,3 @@ along with this program. If not, see . get_mods() == (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) || \ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) - - -/* Serial(USART) configuration - * asynchronous, negative logic, 9600baud, no flow control - * 1-start bit, 8-data bit, non parity, 1-stop bit - */ -#define SERIAL_SOFT_BAUD 9600 -#define SERIAL_SOFT_PARITY_NONE -#define SERIAL_SOFT_BIT_ORDER_LSB -#if (HANDSPRING == 0) - #define SERIAL_SOFT_LOGIC_NEGATIVE //RS232 logic -#endif -/* RXD Port */ -#define SERIAL_SOFT_RXD_ENABLE - -// we are using Pro micro pin 3 / D0 as serial -#define SERIAL_SOFT_RXD_DDR DDRD -#define SERIAL_SOFT_RXD_PORT PORTD -#define SERIAL_SOFT_RXD_PIN PIND -#define SERIAL_SOFT_RXD_BIT 0 -#define SERIAL_SOFT_RXD_VECT INT0_vect - -/* RXD Interupt */ -#define SERIAL_SOFT_RXD_INIT() do { \ - /* pin configuration: input with pull-up */ \ - SERIAL_SOFT_RXD_DDR &= ~(1<. */ #include QMK_KEYBOARD_H -#include "protocol/serial.h" +#include "uart.h" #include "timer.h" @@ -164,7 +164,7 @@ uint8_t rts_reset(void) { uint8_t get_serial_byte(void) { static uint8_t code; while(1) { - code = serial_recv(); + code = uart_read(); if (code) { debug_hex(code); debug(" "); return code; @@ -240,7 +240,7 @@ void matrix_init(void) debug_enable = true; //debug_matrix =true; - serial_init(); // arguments all #defined + uart_init(9600); // arguments all #defined #if (HANDSPRING == 0) pins_init(); // set all inputs and outputs. @@ -290,7 +290,7 @@ void matrix_init(void) uint8_t matrix_scan(void) { uint8_t code; - code = serial_recv(); + code = uart_read(); if (!code) { /* disconnect_counter ++; diff --git a/keyboards/converter/palm_usb/post_rules.mk b/keyboards/converter/palm_usb/post_rules.mk deleted file mode 100644 index 9c110767015e..000000000000 --- a/keyboards/converter/palm_usb/post_rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -ifdef HARDWARE_SERIAL - # Untested with palm_usb - SRC += protocol/serial_uart.c - OPT_DEFS += -DHARDWARE_SERIAL -else - SRC += protocol/serial_soft.c -endif diff --git a/keyboards/converter/palm_usb/rules.mk b/keyboards/converter/palm_usb/rules.mk index c5e680b8830d..a1d2e39b233b 100644 --- a/keyboards/converter/palm_usb/rules.mk +++ b/keyboards/converter/palm_usb/rules.mk @@ -20,5 +20,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. CUSTOM_MATRIX = yes SRC += matrix.c +QUANTUM_LIB_SRC += uart.c DEFAULT_FOLDER = converter/palm_usb/stowaway diff --git a/keyboards/converter/sun_usb/command_extra.c b/keyboards/converter/sun_usb/command_extra.c index 756a9160bb1f..332776ab904e 100644 --- a/keyboards/converter/sun_usb/command_extra.c +++ b/keyboards/converter/sun_usb/command_extra.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "protocol/serial.h" +#include "uart.h" bool sun_bell = false; bool sun_click = false; @@ -20,41 +20,41 @@ bool command_extra(uint8_t code) return false; case KC_DEL: print("Reset\n"); - serial_send(0x01); + uart_write(0x01); break; case KC_HOME: sun_bell = !sun_bell; if (sun_bell) { print("Bell On\n"); - serial_send(0x02); + uart_write(0x02); } else { print("Bell Off\n"); - serial_send(0x03); + uart_write(0x03); } break; case KC_END: sun_click = !sun_click; if (sun_click) { print("Click On\n"); - serial_send(0x0A); + uart_write(0x0A); } else { print("Click Off\n"); - serial_send(0x0B); + uart_write(0x0B); } break; case KC_PGUP: print("LED all on\n"); - serial_send(0x0E); - serial_send(0xFF); + uart_write(0x0E); + uart_write(0xFF); break; case KC_PGDOWN: print("LED all off\n"); - serial_send(0x0E); - serial_send(0x00); + uart_write(0x0E); + uart_write(0x00); break; case KC_INSERT: print("layout\n"); - serial_send(0x0F); + uart_write(0x0F); break; default: xprintf("Unknown extra command: %02X\n", code); diff --git a/keyboards/converter/sun_usb/config.h b/keyboards/converter/sun_usb/config.h index c67ae5ebae86..0a4aa019f781 100644 --- a/keyboards/converter/sun_usb/config.h +++ b/keyboards/converter/sun_usb/config.h @@ -33,50 +33,3 @@ along with this program. If not, see . get_mods() == (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) || \ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) - - -/* Serial(USART) configuration - * asynchronous, negative logic, 1200baud, no flow control - * 1-start bit, 8-data bit, non parity, 1-stop bit - */ -#define SERIAL_SOFT_BAUD 1200 -#define SERIAL_SOFT_PARITY_NONE -#define SERIAL_SOFT_BIT_ORDER_LSB -#define SERIAL_SOFT_LOGIC_NEGATIVE -/* RXD Port */ -#define SERIAL_SOFT_RXD_ENABLE -#define SERIAL_SOFT_RXD_DDR DDRD -#define SERIAL_SOFT_RXD_PORT PORTD -#define SERIAL_SOFT_RXD_PIN PIND -#define SERIAL_SOFT_RXD_BIT 2 -#define SERIAL_SOFT_RXD_VECT INT2_vect -/* RXD Interupt */ -#define SERIAL_SOFT_RXD_INIT() do { \ - /* pin configuration: input with pull-up */ \ - SERIAL_SOFT_RXD_DDR &= ~(1<. */ #include QMK_KEYBOARD_H -#include "protocol/serial.h" +#include "uart.h" void led_set(uint8_t usb_led) { @@ -27,6 +27,6 @@ void led_set(uint8_t usb_led) if (usb_led & (1<. */ #include QMK_KEYBOARD_H -#include "protocol/serial.h" +#include "uart.h" /* * Matrix Array usage: @@ -74,7 +74,7 @@ void matrix_init(void) /* PORTD |= (1<<6); */ debug_enable = true; - serial_init(); + uart_init(1200); // initialize matrix state: all keys off for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00; @@ -84,12 +84,12 @@ void matrix_init(void) /* print("Reseting "); */ /* while (1) { */ /* print("."); */ - /* while (serial_recv()); */ - /* serial_send(0x01); */ + /* while (uart_read()); */ + /* uart_write(0x01); */ /* _delay_ms(500); */ - /* if (serial_recv() == 0xFF) { */ + /* if (uart_read() == 0xFF) { */ /* _delay_ms(500); */ - /* if (serial_recv() == 0x04) */ + /* if (uart_read() == 0x04) */ /* break; */ /* } */ /* } */ @@ -104,7 +104,7 @@ void matrix_init(void) uint8_t matrix_scan(void) { uint8_t code; - code = serial_recv(); + code = uart_read(); if (!code) return 0; debug_hex(code); debug(" "); @@ -113,7 +113,7 @@ uint8_t matrix_scan(void) case 0xFF: // reset success: FF 04 print("reset: "); _delay_ms(500); - code = serial_recv(); + code = uart_read(); xprintf("%02X\n", code); if (code == 0x04) { // LED status @@ -123,12 +123,12 @@ uint8_t matrix_scan(void) case 0xFE: // layout: FE print("layout: "); _delay_ms(500); - xprintf("%02X\n", serial_recv()); + xprintf("%02X\n", uart_read()); return 0; case 0x7E: // reset fail: 7E 01 print("reset fail: "); _delay_ms(500); - xprintf("%02X\n", serial_recv()); + xprintf("%02X\n", uart_read()); return 0; case 0x7F: // all keys up diff --git a/keyboards/converter/sun_usb/post_rules.mk b/keyboards/converter/sun_usb/post_rules.mk deleted file mode 100644 index 2ea1f0a5bf3e..000000000000 --- a/keyboards/converter/sun_usb/post_rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -ifdef HARDWARE_SERIAL - SRC += protocol/serial_uart.c - OPT_DEFS += -DHARDWARE_SERIAL -else - SRC += protocol/serial_soft.c -endif diff --git a/keyboards/converter/sun_usb/rules.mk b/keyboards/converter/sun_usb/rules.mk index 2f2ddde1d04e..d25bcc7ffa77 100644 --- a/keyboards/converter/sun_usb/rules.mk +++ b/keyboards/converter/sun_usb/rules.mk @@ -20,5 +20,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. CUSTOM_MATRIX = yes SRC += matrix.c led.c +QUANTUM_LIB_SRC += uart.c DEFAULT_FOLDER = converter/sun_usb/type5 diff --git a/keyboards/dichotomy/config.h b/keyboards/dichotomy/config.h index 03e19b138838..40e7f18e6f79 100644 --- a/keyboards/dichotomy/config.h +++ b/keyboards/dichotomy/config.h @@ -56,12 +56,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/dichotomy/dichotomy.c b/keyboards/dichotomy/dichotomy.c index 967d7e603cec..afd52cc8b3c2 100755 --- a/keyboards/dichotomy/dichotomy.c +++ b/keyboards/dichotomy/dichotomy.c @@ -1,11 +1,13 @@ #include "dichotomy.h" +//#include "uart.h" + void pointing_device_task(void){ /*report_mouse_t currentReport = {}; uint32_t timeout = 0; //the m character requests the RF slave to send the mouse report - SERIAL_UART_DATA = 'm'; + uart_write('m'); //trust the external inputs completely, erase old data uint8_t uart_data[5] = {0}; @@ -15,7 +17,7 @@ void pointing_device_task(void){ //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ xprintf("\r\nTIMED OUT"); @@ -23,7 +25,7 @@ void pointing_device_task(void){ } } xprintf("\r\nGOT DATA for %d",i); - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, bytes 1-4 are movement and scroll diff --git a/keyboards/dichotomy/matrix.c b/keyboards/dichotomy/matrix.c index ed83bd452c10..806b66d498cd 100755 --- a/keyboards/dichotomy/matrix.c +++ b/keyboards/dichotomy/matrix.c @@ -29,7 +29,7 @@ along with this program. If not, see . #include "dichotomy.h" #include "pointing_device.h" #include "report.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -94,7 +94,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -104,7 +104,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[11] = {0}; @@ -114,14 +114,14 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ xprintf("\r\nTime out in keyboard."); break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/dichotomy/rules.mk b/keyboards/dichotomy/rules.mk index 2b5eb0360cc9..a6029e3dbf17 100755 --- a/keyboards/dichotomy/rules.mk +++ b/keyboards/dichotomy/rules.mk @@ -18,4 +18,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality # # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c diff --git a/keyboards/honeycomb/config.h b/keyboards/honeycomb/config.h index 725f9490cbe4..c9595436183f 100755 --- a/keyboards/honeycomb/config.h +++ b/keyboards/honeycomb/config.h @@ -45,12 +45,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/honeycomb/honeycomb.c b/keyboards/honeycomb/honeycomb.c index 1254196d39c2..603400c7a39a 100755 --- a/keyboards/honeycomb/honeycomb.c +++ b/keyboards/honeycomb/honeycomb.c @@ -7,7 +7,7 @@ void pointing_device_task(void){ uint32_t timeout = 0; //the m character requests the RF slave to send the mouse report - SERIAL_UART_DATA = 'm'; + uart_write('m'); //trust the external inputs completely, erase old data uint8_t uart_data[5] = {0}; @@ -17,7 +17,7 @@ void pointing_device_task(void){ //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ xprintf("\r\nTIMED OUT"); @@ -25,7 +25,7 @@ void pointing_device_task(void){ } } xprintf("\r\nGOT DATA for %d",i); - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, bytes 1-4 are movement and scroll diff --git a/keyboards/honeycomb/matrix.c b/keyboards/honeycomb/matrix.c index 7fef6f0fd852..fe1e4ce8ff6a 100755 --- a/keyboards/honeycomb/matrix.c +++ b/keyboards/honeycomb/matrix.c @@ -30,7 +30,7 @@ along with this program. If not, see . #include "honeycomb.h" #include "pointing_device.h" #include "report.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -95,7 +95,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -103,7 +103,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; // The 's' character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); // Trust the external keystates entirely, erase the last data uint8_t uart_data[4] = {0}; @@ -113,14 +113,14 @@ uint8_t matrix_scan(void) // Wait for the serial data, timeout if it's been too long // This only happened in testing with a loose wire, but does no // harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ xprintf("\r\nTime out in keyboard."); break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } // Check for the end packet, it's our checksum. diff --git a/keyboards/honeycomb/rules.mk b/keyboards/honeycomb/rules.mk index 2b5eb0360cc9..a6029e3dbf17 100755 --- a/keyboards/honeycomb/rules.mk +++ b/keyboards/honeycomb/rules.mk @@ -18,4 +18,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality # # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c diff --git a/keyboards/mitosis/config.h b/keyboards/mitosis/config.h index 94e84e680e74..2c72eed5f2d4 100644 --- a/keyboards/mitosis/config.h +++ b/keyboards/mitosis/config.h @@ -56,12 +56,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/mitosis/matrix.c b/keyboards/mitosis/matrix.c index 71c372a3ce80..102431eb67ce 100644 --- a/keyboards/mitosis/matrix.c +++ b/keyboards/mitosis/matrix.c @@ -26,7 +26,7 @@ along with this program. If not, see . #include "util.h" #include "matrix.h" #include "timer.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -80,7 +80,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -88,7 +88,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[11] = {0}; @@ -98,13 +98,13 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/mitosis/rules.mk b/keyboards/mitosis/rules.mk index 6c7aa30d8838..04cafae71821 100644 --- a/keyboards/mitosis/rules.mk +++ b/keyboards/mitosis/rules.mk @@ -18,4 +18,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover UNICODE_ENABLE = yes # Unicode # # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c diff --git a/keyboards/planck/keymaps/thermal_printer/config.h b/keyboards/planck/keymaps/thermal_printer/config.h index 4ae9ced2581f..dd9d6a9d2591 100644 --- a/keyboards/planck/keymaps/thermal_printer/config.h +++ b/keyboards/planck/keymaps/thermal_printer/config.h @@ -1,9 +1,4 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#define SERIAL_UART_BAUD 19200 +#pragma once /* * MIDI options @@ -21,8 +16,3 @@ - etc. */ //#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 2 - - #endif \ No newline at end of file diff --git a/keyboards/redox_w/config.h b/keyboards/redox_w/config.h index b480b072f99a..c4aeb32d5857 100644 --- a/keyboards/redox_w/config.h +++ b/keyboards/redox_w/config.h @@ -55,12 +55,3 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/redox_w/matrix.c b/keyboards/redox_w/matrix.c index 703987a93967..752324837c74 100644 --- a/keyboards/redox_w/matrix.c +++ b/keyboards/redox_w/matrix.c @@ -24,7 +24,7 @@ #include "util.h" #include "matrix.h" #include "timer.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -87,7 +87,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -95,7 +95,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[11] = {0}; @@ -105,13 +105,13 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/redox_w/rules.mk b/keyboards/redox_w/rules.mk index a8bd3a027a22..483485cb7d6a 100644 --- a/keyboards/redox_w/rules.mk +++ b/keyboards/redox_w/rules.mk @@ -17,4 +17,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality # # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c diff --git a/keyboards/sirius/uni660/rev1/config.h b/keyboards/sirius/uni660/rev1/config.h index 91d7c5d7a3ab..f9815844cb2a 100644 --- a/keyboards/sirius/uni660/rev1/config.h +++ b/keyboards/sirius/uni660/rev1/config.h @@ -57,13 +57,4 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); - #define DYNAMIC_KEYMAP_LAYER_COUNT 4 diff --git a/keyboards/sirius/uni660/rev1/matrix.c b/keyboards/sirius/uni660/rev1/matrix.c index 2db6767a46f6..65c35c968b0b 100644 --- a/keyboards/sirius/uni660/rev1/matrix.c +++ b/keyboards/sirius/uni660/rev1/matrix.c @@ -27,7 +27,7 @@ along with this program. If not, see . #include "matrix.h" #include "timer.h" #include "debounce.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -81,7 +81,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { debounce_init(MATRIX_ROWS); matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -91,7 +91,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[17] = {0}; @@ -101,13 +101,13 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/sirius/uni660/rev1/rules.mk b/keyboards/sirius/uni660/rev1/rules.mk index 836bf6b4423a..77b9af362e72 100644 --- a/keyboards/sirius/uni660/rev1/rules.mk +++ b/keyboards/sirius/uni660/rev1/rules.mk @@ -20,4 +20,5 @@ UNICODE_ENABLE = yes # Unicode CUSTOM_MATRIX = yes # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c diff --git a/keyboards/sirius/uni660/rev2/ansi/config.h b/keyboards/sirius/uni660/rev2/ansi/config.h index 13e33ebf118b..8777dc401116 100644 --- a/keyboards/sirius/uni660/rev2/ansi/config.h +++ b/keyboards/sirius/uni660/rev2/ansi/config.h @@ -57,13 +57,4 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); - #define DYNAMIC_KEYMAP_LAYER_COUNT 4 diff --git a/keyboards/sirius/uni660/rev2/iso/config.h b/keyboards/sirius/uni660/rev2/iso/config.h index 3283f0cd6772..763230dca818 100644 --- a/keyboards/sirius/uni660/rev2/iso/config.h +++ b/keyboards/sirius/uni660/rev2/iso/config.h @@ -57,13 +57,4 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); - #define DYNAMIC_KEYMAP_LAYER_COUNT 4 diff --git a/keyboards/sirius/uni660/rev2/matrix.c b/keyboards/sirius/uni660/rev2/matrix.c index 2db6767a46f6..65c35c968b0b 100644 --- a/keyboards/sirius/uni660/rev2/matrix.c +++ b/keyboards/sirius/uni660/rev2/matrix.c @@ -27,7 +27,7 @@ along with this program. If not, see . #include "matrix.h" #include "timer.h" #include "debounce.h" -#include "protocol/serial.h" +#include "uart.h" #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") @@ -81,7 +81,7 @@ uint8_t matrix_cols(void) { void matrix_init(void) { debounce_init(MATRIX_ROWS); matrix_init_quantum(); - serial_init(); + uart_init(1000000); } uint8_t matrix_scan(void) @@ -91,7 +91,7 @@ uint8_t matrix_scan(void) uint32_t timeout = 0; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[17] = {0}; @@ -101,13 +101,13 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ + while(!uart_available()){ timeout++; if (timeout > 10000){ break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/sirius/uni660/rev2/rules.mk b/keyboards/sirius/uni660/rev2/rules.mk index 0abebb07c615..f3ff80d92ebd 100644 --- a/keyboards/sirius/uni660/rev2/rules.mk +++ b/keyboards/sirius/uni660/rev2/rules.mk @@ -20,6 +20,7 @@ UNICODE_ENABLE = yes # Unicode CUSTOM_MATRIX = yes # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c DEFAULT_FOLDER = sirius/uni660/rev2/ansi diff --git a/keyboards/telophase/config.h b/keyboards/telophase/config.h index 51718da9d4c1..837bb8ab9b49 100644 --- a/keyboards/telophase/config.h +++ b/keyboards/telophase/config.h @@ -72,12 +72,3 @@ along with this program. If not, see . /* disable these deprecated features by default */ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION - -// UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/telophase/matrix.c b/keyboards/telophase/matrix.c index a153dd4bf140..44b7e4c9e9b3 100644 --- a/keyboards/telophase/matrix.c +++ b/keyboards/telophase/matrix.c @@ -18,10 +18,10 @@ along with this program. If not, see . #include "quantum.h" #include "matrix.h" -#include "protocol/serial.h" +#include "uart.h" void matrix_init_custom(void) { - serial_init(); + uart_init(1000000); } bool matrix_scan_custom(matrix_row_t current_matrix[]) { @@ -29,7 +29,7 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { bool changed = false; //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; + uart_write('s'); //trust the external keystates entirely, erase the last data uint8_t uart_data[13] = {0}; @@ -39,13 +39,13 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while (!SERIAL_UART_RXD_PRESENT) { + while (!uart_available()) { timeout++; if (timeout > 10000) { break; } } - uart_data[i] = SERIAL_UART_DATA; + uart_data[i] = uart_read(); } //check for the end packet, the key state bytes use the LSBs, so 0xE0 diff --git a/keyboards/telophase/rules.mk b/keyboards/telophase/rules.mk index c3a8aaf79f33..41a6ee25f5c8 100644 --- a/keyboards/telophase/rules.mk +++ b/keyboards/telophase/rules.mk @@ -19,7 +19,8 @@ AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = lite # project specific files -SRC += matrix.c serial_uart.c +SRC += matrix.c +QUANTUM_LIB_SRC += uart.c # Disable unsupported hardware RGBLIGHT_SUPPORTED = no diff --git a/quantum/process_keycode/process_printer.c b/quantum/process_keycode/process_printer.c index 82528cc680db..0801f078eff6 100644 --- a/quantum/process_keycode/process_printer.c +++ b/quantum/process_keycode/process_printer.c @@ -16,13 +16,14 @@ #include "process_printer.h" #include "action_util.h" +#include "uart.h" bool printing_enabled = false; uint8_t character_shift = 0; void enable_printing(void) { printing_enabled = true; - serial_init(); + uart_init(19200); } void disable_printing(void) { printing_enabled = false; } @@ -35,7 +36,7 @@ uint8_t shifted_numbers[10] = {0x21, 0x40, 0x23, 0x24, 0x25, 0x5E, 0x26, 0x2A, 0 void print_char(char c) { USB_Disable(); - serial_send(c); + uart_write(c); USB_Init(); } diff --git a/quantum/process_keycode/process_printer.h b/quantum/process_keycode/process_printer.h index 3c6d06ff94af..6f4d09f33310 100644 --- a/quantum/process_keycode/process_printer.h +++ b/quantum/process_keycode/process_printer.h @@ -18,6 +18,4 @@ #include "quantum.h" -#include "protocol/serial.h" - bool process_printer(uint16_t keycode, keyrecord_t *record); From 9d0b14500754eb8cb60a347f16f854f9d277604f Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 16 Dec 2021 01:25:32 +1100 Subject: [PATCH 0019/1832] Fix build failure for UT47 (#15483) --- keyboards/40percentclub/ut47/ut47.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/40percentclub/ut47/ut47.c b/keyboards/40percentclub/ut47/ut47.c index c01562cb6832..864edaeb57da 100644 --- a/keyboards/40percentclub/ut47/ut47.c +++ b/keyboards/40percentclub/ut47/ut47.c @@ -16,11 +16,11 @@ #include "ut47.h" #ifdef LED_ENABLE #include "uart.h" -#endif void matrix_init_kb() { uart_init(9600); } +#endif bool process_record_kb(uint16_t keycode, keyrecord_t *record) { // put your per-action keyboard code here From 7b018f097db2d219908f74eb7a406ae5f7f93f46 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 22 Dec 2021 05:44:47 +1100 Subject: [PATCH 0020/1832] Use the PR title rather than parsing the commit message. (#15537) --- lib/python/qmk/cli/generate/develop_pr_list.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/qmk/cli/generate/develop_pr_list.py b/lib/python/qmk/cli/generate/develop_pr_list.py index 07e46752a6da..fab026277348 100755 --- a/lib/python/qmk/cli/generate/develop_pr_list.py +++ b/lib/python/qmk/cli/generate/develop_pr_list.py @@ -97,7 +97,7 @@ def fix_or_normal(info, fixes_collection, normal_collection): match = git_expr.search(line) if match: pr_info = _get_pr_info(cache, gh, match.group("pr")) - commit_info = {'hash': match.group("hash"), 'title': match.group("title"), 'pr_num': int(match.group("pr")), 'pr_labels': [label.name for label in pr_info.labels.items]} + commit_info = {'hash': match.group("hash"), 'title': pr_info['title'], 'pr_num': int(match.group("pr")), 'pr_labels': [label.name for label in pr_info.labels.items]} _categorise_commit(commit_info) def _dump_commit_list(name, collection): From 77d3e564f723c12f2ffb501553b1e78bbe0ea84a Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 22 Dec 2021 16:51:39 +1100 Subject: [PATCH 0021/1832] Migrate RN42 to UART driver and refactor (#15492) --- common_features.mk | 3 +- drivers/bluetooth/rn42.c | 101 ++++++++++++++++++++++++++++++++++ drivers/bluetooth/rn42.h | 25 +++++++++ tmk_core/protocol/lufa/lufa.c | 77 +++----------------------- 4 files changed, 135 insertions(+), 71 deletions(-) create mode 100644 drivers/bluetooth/rn42.c create mode 100644 drivers/bluetooth/rn42.h diff --git a/common_features.mk b/common_features.mk index fed005ff5a4a..5cde023d10ef 100644 --- a/common_features.mk +++ b/common_features.mk @@ -720,6 +720,7 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) ifeq ($(strip $(BLUETOOTH_DRIVER)), RN42) OPT_DEFS += -DMODULE_RN42 - SRC += $(TMK_DIR)/protocol/serial_uart.c + SRC += $(DRIVER_PATH)/bluetooth/rn42.c + QUANTUM_LIB_SRC += uart.c endif endif diff --git a/drivers/bluetooth/rn42.c b/drivers/bluetooth/rn42.c new file mode 100644 index 000000000000..ee4c8c330eb3 --- /dev/null +++ b/drivers/bluetooth/rn42.c @@ -0,0 +1,101 @@ +/* Copyright 2021 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "report.h" +#include "uart.h" + +#ifndef RN42_BAUD_RATE +# define RN42_BAUD_RATE 115200 +#endif + +// https://cdn.sparkfun.com/datasheets/Wireless/Bluetooth/bluetooth_cr_UG-v1.0r.pdf#G7.663734 +static inline uint16_t rn42_consumer_usage_to_bitmap(uint16_t usage) { + switch (usage) { + case AC_HOME: + return 0x0001; + case AL_EMAIL: + return 0x0002; + case AC_SEARCH: + return 0x0004; + case AL_KEYBOARD_LAYOUT: + return 0x0008; + case AUDIO_VOL_UP: + return 0x0010; + case AUDIO_VOL_DOWN: + return 0x0020; + case AUDIO_MUTE: + return 0x0040; + case TRANSPORT_PLAY_PAUSE: + return 0x0080; + case TRANSPORT_NEXT_TRACK: + return 0x0100; + case TRANSPORT_PREV_TRACK: + return 0x0200; + case TRANSPORT_STOP: + return 0x0400; + case TRANSPORT_EJECT: + return 0x0800; + case TRANSPORT_FAST_FORWARD: + return 0x1000; + case TRANSPORT_REWIND: + return 0x2000; + case TRANSPORT_STOP_EJECT: + return 0x4000; + case AL_LOCAL_BROWSER: + return 0x8000; + default: + return 0; + } +} + +void rn42_init(void) { + uart_init(RN42_BAUD_RATE); +} + +void rn42_send_keyboard(report_keyboard_t *report) { + uart_write(0xFD); + uart_write(0x09); + uart_write(0x01); + uart_write(report->mods); + uart_write(0x00); + for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { + uart_write(report->keys[i]); + } +} + +void rn42_send_mouse(report_mouse_t *report) { + uart_write(0xFD); + uart_write(0x00); + uart_write(0x03); + uart_write(report->buttons); + uart_write(report->x); + uart_write(report->y); + uart_write(report->v); // should try sending the wheel v here + uart_write(report->h); // should try sending the wheel h here + uart_write(0x00); +} + +void rn42_send_consumer(uint16_t data) { + static uint16_t last_data = 0; + if (data == last_data) return; + last_data = data; + uint16_t bitmap = rn42_consumer_usage_to_bitmap(data); + uart_write(0xFD); + uart_write(0x03); + uart_write(0x03); + uart_write(bitmap & 0xFF); + uart_write((bitmap >> 8) & 0xFF); +} diff --git a/drivers/bluetooth/rn42.h b/drivers/bluetooth/rn42.h new file mode 100644 index 000000000000..47477591112d --- /dev/null +++ b/drivers/bluetooth/rn42.h @@ -0,0 +1,25 @@ +/* Copyright 2021 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "report.h" + +void rn42_init(void); + +void rn42_send_keyboard(report_keyboard_t *report); + +void rn42_send_mouse(report_mouse_t *report); + +void rn42_send_consumer(uint16_t data); diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index e3be96d93dad..b9c2616058d2 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -69,8 +69,8 @@ extern keymap_config_t keymap_config; # include "outputselect.h" # ifdef MODULE_ADAFRUIT_BLE # include "adafruit_ble.h" -# else -# include "../serial.h" +# elif MODULE_RN42 +# include "rn42.h" # endif #endif @@ -90,46 +90,6 @@ extern keymap_config_t keymap_config; # include "joystick.h" #endif -// https://cdn.sparkfun.com/datasheets/Wireless/Bluetooth/bluetooth_cr_UG-v1.0r.pdf#G7.663734 -static inline uint16_t CONSUMER2RN42(uint16_t usage) { - switch (usage) { - case AC_HOME: - return 0x0001; - case AL_EMAIL: - return 0x0002; - case AC_SEARCH: - return 0x0004; - case AL_KEYBOARD_LAYOUT: - return 0x0008; - case AUDIO_VOL_UP: - return 0x0010; - case AUDIO_VOL_DOWN: - return 0x0020; - case AUDIO_MUTE: - return 0x0040; - case TRANSPORT_PLAY_PAUSE: - return 0x0080; - case TRANSPORT_NEXT_TRACK: - return 0x0100; - case TRANSPORT_PREV_TRACK: - return 0x0200; - case TRANSPORT_STOP: - return 0x0400; - case TRANSPORT_EJECT: - return 0x0800; - case TRANSPORT_FAST_FORWARD: - return 0x1000; - case TRANSPORT_REWIND: - return 0x2000; - case TRANSPORT_STOP_EJECT: - return 0x4000; - case AL_LOCAL_BROWSER: - return 0x8000; - default: - return 0; - } -} - uint8_t keyboard_idle = 0; /* 0: Boot Protocol, 1: Report Protocol(default) */ uint8_t keyboard_protocol = 1; @@ -688,14 +648,7 @@ static void send_keyboard(report_keyboard_t *report) { # ifdef MODULE_ADAFRUIT_BLE adafruit_ble_send_keys(report->mods, report->keys, sizeof(report->keys)); # elif MODULE_RN42 - serial_send(0xFD); - serial_send(0x09); - serial_send(0x01); - serial_send(report->mods); - serial_send(report->reserved); - for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { - serial_send(report->keys[i]); - } + rn42_send_keyboard(report); # endif return; } @@ -741,16 +694,8 @@ static void send_mouse(report_mouse_t *report) { # ifdef MODULE_ADAFRUIT_BLE // FIXME: mouse buttons adafruit_ble_send_mouse_move(report->x, report->y, report->v, report->h, report->buttons); -# else - serial_send(0xFD); - serial_send(0x00); - serial_send(0x03); - serial_send(report->buttons); - serial_send(report->x); - serial_send(report->y); - serial_send(report->v); // should try sending the wheel v here - serial_send(report->h); // should try sending the wheel h here - serial_send(0x00); +# elif MODULE_RN42 + rn42_send_mouse(report); # endif return; } @@ -821,15 +766,7 @@ static void send_consumer(uint16_t data) { # ifdef MODULE_ADAFRUIT_BLE adafruit_ble_send_consumer_key(data); # elif MODULE_RN42 - static uint16_t last_data = 0; - if (data == last_data) return; - last_data = data; - uint16_t bitmap = CONSUMER2RN42(data); - serial_send(0xFD); - serial_send(0x03); - serial_send(0x03); - serial_send(bitmap & 0xFF); - serial_send((bitmap >> 8) & 0xFF); + rn42_send_consumer(data); # endif return; } @@ -1077,7 +1014,7 @@ void protocol_pre_init(void) { sei(); #if defined(MODULE_RN42) - serial_init(); + rn42_init(); #endif /* wait for USB startup & debug output */ From f5995901b04d74ad1078dc1c3e6f54e5911a1c0a Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Tue, 21 Dec 2021 22:09:50 -0800 Subject: [PATCH 0022/1832] [CI] Format code according to conventions (#15541) --- drivers/bluetooth/rn42.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/bluetooth/rn42.c b/drivers/bluetooth/rn42.c index ee4c8c330eb3..2ef40bb7e0ea 100644 --- a/drivers/bluetooth/rn42.c +++ b/drivers/bluetooth/rn42.c @@ -61,9 +61,7 @@ static inline uint16_t rn42_consumer_usage_to_bitmap(uint16_t usage) { } } -void rn42_init(void) { - uart_init(RN42_BAUD_RATE); -} +void rn42_init(void) { uart_init(RN42_BAUD_RATE); } void rn42_send_keyboard(report_keyboard_t *report) { uart_write(0xFD); From e95156d4d83ac849b1ee9b9220e9a27620bd88bc Mon Sep 17 00:00:00 2001 From: SmollChungus <38044391+SmollChungus@users.noreply.github.com> Date: Wed, 22 Dec 2021 13:47:01 +0100 Subject: [PATCH 0023/1832] Documentation Typo fix (#15538) --- docs/feature_haptic_feedback.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/feature_haptic_feedback.md b/docs/feature_haptic_feedback.md index c8c74cb8f0ee..bbdf7e122c40 100644 --- a/docs/feature_haptic_feedback.md +++ b/docs/feature_haptic_feedback.md @@ -167,7 +167,7 @@ List of waveform sequences from the datasheet: ``` #define DRV_GREETING *sequence name or number* ``` -If haptic feedback is enabled, the keyboard will vibrate to a specific sqeuence during startup. That can be selected using the following define: +If haptic feedback is enabled, the keyboard will vibrate to a specific sequence during startup. That can be selected using the following define: ``` #define DRV_MODE_DEFAULT *sequence name or number* @@ -207,4 +207,4 @@ With the entry of `#define NO_HAPTIC_LOCKKEYS` in config.h, none of the followin With the entry of `#define NO_HAPTIC_NAV` in config.h, none of the following keys will trigger a feedback: Print Screen, Pause, Insert, Delete, Page Down, Page Up, Left Arrow, Up Arrow, Right Arrow, Down Arrow, End, Home. ### NO_HAPTIC_NUMERIC -With the entry of `#define NO_HAPTIC_NUMERIC` in config.h, none of the following keys between 0 and 9 (KC_1 ... KC_0) will trigger a feedback. \ No newline at end of file +With the entry of `#define NO_HAPTIC_NUMERIC` in config.h, none of the following keys between 0 and 9 (KC_1 ... KC_0) will trigger a feedback. From 859e2aa86b4ccb81f96a55d4fd9cd8d49a9704c2 Mon Sep 17 00:00:00 2001 From: uqs Date: Sat, 25 Dec 2021 02:46:49 +0100 Subject: [PATCH 0024/1832] Fix some typos, especially the sensor name. (#15557) --- docs/feature_pointing_device.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index bd7fb3658983..5aef9bea2729 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -30,7 +30,7 @@ The ADNS 5050 sensor uses a serial type protocol for communication, and requires The CPI range is 125-1375, in increments of 125. Defaults to 500 CPI. -### ADSN 9800 Sensor +### ADNS 9800 Sensor To use the ADNS 9800 sensor, add this to your `rules.mk` @@ -69,7 +69,7 @@ The Analog Joystick is an analog (ADC) driven sensor. There are a variety of jo |`ANALOG_JOYSTICK_AXIS_MAX` | (Optional) Sets the upper range to be considered movement. | `1023` | |`ANALOG_JOYSTICK_SPEED_REGULATOR` | (Optional) The divisor used to slow down movement. (lower makes it faster) | `20` | |`ANALOG_JOYSTICK_READ_INTERVAL` | (Optional) The interval in milliseconds between reads. | `10` | -|`ANALOG_JOYSTICK_SPEED_MAX` | (Optional) The maxiumum value used for motion. | `2` | +|`ANALOG_JOYSTICK_SPEED_MAX` | (Optional) The maximum value used for motion. | `2` | |`ANALOG_JOYSTICK_CLICK_PIN` | (Optional) The pin wired up to the press switch of the analog stick. | _not defined_ | @@ -188,7 +188,7 @@ void pointing_device_driver_set_cpi(uint16_t cpi) {} | `pointing_device_init_kb(void)` | Callback to allow for keyboard level initialization. Useful for additional hardware sensors. | | `pointing_device_init_user(void)` | Callback to allow for user level initialization. Useful for additional hardware sensors. | | `pointing_device_task_kb(mouse_report)` | Callback that sends sensor data, so keyboard code can intercept and modify the data. Returns a mouse report. | -| `pointing_device_task_user(mouse_report)` | Callback that sends sensor data, so user coe can intercept and modify the data. Returns a mouse report. | +| `pointing_device_task_user(mouse_report)` | Callback that sends sensor data, so user code can intercept and modify the data. Returns a mouse report. | | `pointing_device_handle_buttons(buttons, pressed, button)` | Callback to handle hardware button presses. Returns a `uint8_t`. | | `pointing_device_get_cpi(void)` | Gets the current CPI/DPI setting from the sensor, if supported. | | `pointing_device_set_cpi(uint16_t)` | Sets the CPI/DPI, if supported. | From 6e40dfa0220e68a6628d9e7d18788df6bcae5473 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 27 Dec 2021 11:52:10 +1100 Subject: [PATCH 0025/1832] Add open-drain GPIO support. (#15282) * Add open-drain GPIO support. * `qmk format-c` * Wording. * Remove port GPIO implementations as the only board that uses it has its own internal defs anyway. Will wait for first-class handling of ports in core before reimplementing. --- docs/internals_gpio_control.md | 24 +++++++++++++----------- platforms/arm_atsam/gpio.h | 12 ++++++++---- platforms/avr/gpio.h | 17 +++-------------- platforms/chibios/gpio.h | 24 ++++++------------------ 4 files changed, 30 insertions(+), 47 deletions(-) diff --git a/docs/internals_gpio_control.md b/docs/internals_gpio_control.md index ccd3f8c74d92..e1f1515b71f8 100644 --- a/docs/internals_gpio_control.md +++ b/docs/internals_gpio_control.md @@ -6,17 +6,19 @@ QMK has a GPIO control abstraction layer which is microcontroller agnostic. This The following functions provide basic control of GPIOs and are found in `platforms//gpio.h`. -|Function |Description | Old AVR Examples | Old ChibiOS/ARM Examples | -|------------------------|--------------------------------------------------|-------------------------------------------------|-------------------------------------------------| -| `setPinInput(pin)` | Set pin as input with high impedance (High-Z) | `DDRB &= ~(1<<2)` | `palSetLineMode(pin, PAL_MODE_INPUT)` | -| `setPinInputHigh(pin)` | Set pin as input with builtin pull-up resistor | `DDRB &= ~(1<<2); PORTB \|= (1<<2)` | `palSetLineMode(pin, PAL_MODE_INPUT_PULLUP)` | -| `setPinInputLow(pin)` | Set pin as input with builtin pull-down resistor | N/A (Not supported on AVR) | `palSetLineMode(pin, PAL_MODE_INPUT_PULLDOWN)` | -| `setPinOutput(pin)` | Set pin as output | `DDRB \|= (1<<2)` | `palSetLineMode(pin, PAL_MODE_OUTPUT_PUSHPULL)` | -| `writePinHigh(pin)` | Set pin level as high, assuming it is an output | `PORTB \|= (1<<2)` | `palSetLine(pin)` | -| `writePinLow(pin)` | Set pin level as low, assuming it is an output | `PORTB &= ~(1<<2)` | `palClearLine(pin)` | -| `writePin(pin, level)` | Set pin level, assuming it is an output | `(level) ? PORTB \|= (1<<2) : PORTB &= ~(1<<2)` | `(level) ? palSetLine(pin) : palClearLine(pin)` | -| `readPin(pin)` | Returns the level of the pin | `_SFR_IO8(pin >> 4) & _BV(pin & 0xF)` | `palReadLine(pin)` | -| `togglePin(pin)` | Invert pin level, assuming it is an output | `PORTB ^= (1<<2)` | `palToggleLine(pin)` | +| Function | Description | Old AVR Examples | Old ChibiOS/ARM Examples | +|------------------------------|-----------------------------------------------------|-------------------------------------------------|--------------------------------------------------| +| `setPinInput(pin)` | Set pin as input with high impedance (High-Z) | `DDRB &= ~(1<<2)` | `palSetLineMode(pin, PAL_MODE_INPUT)` | +| `setPinInputHigh(pin)` | Set pin as input with builtin pull-up resistor | `DDRB &= ~(1<<2); PORTB \|= (1<<2)` | `palSetLineMode(pin, PAL_MODE_INPUT_PULLUP)` | +| `setPinInputLow(pin)` | Set pin as input with builtin pull-down resistor | N/A (Not supported on AVR) | `palSetLineMode(pin, PAL_MODE_INPUT_PULLDOWN)` | +| `setPinOutput(pin)` | Set pin as output (alias of `setPinOutputPushPull`) | `DDRB \|= (1<<2)` | `palSetLineMode(pin, PAL_MODE_OUTPUT_PUSHPULL)` | +| `setPinOutputPushPull(pin)` | Set pin as output, push/pull mode | `DDRB \|= (1<<2)` | `palSetLineMode(pin, PAL_MODE_OUTPUT_PUSHPULL)` | +| `setPinOutputOpenDrain(pin)` | Set pin as output, open-drain mode | N/A (Not implemented on AVR) | `palSetLineMode(pin, PAL_MODE_OUTPUT_OPENDRAIN)` | +| `writePinHigh(pin)` | Set pin level as high, assuming it is an output | `PORTB \|= (1<<2)` | `palSetLine(pin)` | +| `writePinLow(pin)` | Set pin level as low, assuming it is an output | `PORTB &= ~(1<<2)` | `palClearLine(pin)` | +| `writePin(pin, level)` | Set pin level, assuming it is an output | `(level) ? PORTB \|= (1<<2) : PORTB &= ~(1<<2)` | `(level) ? palSetLine(pin) : palClearLine(pin)` | +| `readPin(pin)` | Returns the level of the pin | `_SFR_IO8(pin >> 4) & _BV(pin & 0xF)` | `palReadLine(pin)` | +| `togglePin(pin)` | Invert pin level, assuming it is an output | `PORTB ^= (1<<2)` | `palToggleLine(pin)` | ## Advanced Settings :id=advanced-settings diff --git a/platforms/arm_atsam/gpio.h b/platforms/arm_atsam/gpio.h index 915ed0ef4f74..a42aaff54d65 100644 --- a/platforms/arm_atsam/gpio.h +++ b/platforms/arm_atsam/gpio.h @@ -22,9 +22,9 @@ typedef uint8_t pin_t; -#define SAMD_PORT(pin) ((pin & 0x20) >> 5) -#define SAMD_PIN(pin) (pin & 0x1f) -#define SAMD_PIN_MASK(pin) (1 << (pin & 0x1f)) +#define SAMD_PORT(pin) (((pin)&0x20) >> 5) +#define SAMD_PIN(pin) ((pin)&0x1f) +#define SAMD_PIN_MASK(pin) (1 << ((pin)&0x1f)) #define setPinInput(pin) \ do { \ @@ -48,12 +48,16 @@ typedef uint8_t pin_t; PORT->Group[SAMD_PORT(pin)].PINCFG[SAMD_PIN(pin)].bit.PULLEN = 1; \ } while (0) -#define setPinOutput(pin) \ +#define setPinOutputPushPull(pin) \ do { \ PORT->Group[SAMD_PORT(pin)].DIRSET.reg = SAMD_PIN_MASK(pin); \ PORT->Group[SAMD_PORT(pin)].OUTCLR.reg = SAMD_PIN_MASK(pin); \ } while (0) +#define setPinOutputOpenDrain(pin) _Static_assert(0, "arm_atsam platform does not implement an open-drain output") + +#define setPinOutput(pin) setPinOutputPushPull(pin) + #define writePinHigh(pin) \ do { \ PORT->Group[SAMD_PORT(pin)].OUTSET.reg = SAMD_PIN_MASK(pin); \ diff --git a/platforms/avr/gpio.h b/platforms/avr/gpio.h index e9be68491d7c..95f15c28dcd2 100644 --- a/platforms/avr/gpio.h +++ b/platforms/avr/gpio.h @@ -25,7 +25,9 @@ typedef uint8_t pin_t; #define setPinInput(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF)) #define setPinInputHigh(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) |= _BV((pin)&0xF)) #define setPinInputLow(pin) _Static_assert(0, "AVR processors cannot implement an input as pull low") -#define setPinOutput(pin) (DDRx_ADDRESS(pin) |= _BV((pin)&0xF)) +#define setPinOutputPushPull(pin) (DDRx_ADDRESS(pin) |= _BV((pin)&0xF)) +#define setPinOutputOpenDrain(pin) _Static_assert(0, "AVR platform does not implement an open-drain output") +#define setPinOutput(pin) setPinOutputPushPull(pin) #define writePinHigh(pin) (PORTx_ADDRESS(pin) |= _BV((pin)&0xF)) #define writePinLow(pin) (PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF)) @@ -34,16 +36,3 @@ typedef uint8_t pin_t; #define readPin(pin) ((bool)(PINx_ADDRESS(pin) & _BV((pin)&0xF))) #define togglePin(pin) (PORTx_ADDRESS(pin) ^= _BV((pin)&0xF)) - -/* Operation of GPIO by port. */ - -typedef uint8_t port_data_t; - -#define readPort(port) PINx_ADDRESS(port) - -#define setPortBitInput(port, bit) (DDRx_ADDRESS(port) &= ~_BV((bit)&0xF), PORTx_ADDRESS(port) &= ~_BV((bit)&0xF)) -#define setPortBitInputHigh(port, bit) (DDRx_ADDRESS(port) &= ~_BV((bit)&0xF), PORTx_ADDRESS(port) |= _BV((bit)&0xF)) -#define setPortBitOutput(port, bit) (DDRx_ADDRESS(port) |= _BV((bit)&0xF)) - -#define writePortBitLow(port, bit) (PORTx_ADDRESS(port) &= ~_BV((bit)&0xF)) -#define writePortBitHigh(port, bit) (PORTx_ADDRESS(port) |= _BV((bit)&0xF)) diff --git a/platforms/chibios/gpio.h b/platforms/chibios/gpio.h index 4d057f1cab77..eb44a18f9c3e 100644 --- a/platforms/chibios/gpio.h +++ b/platforms/chibios/gpio.h @@ -22,10 +22,12 @@ typedef ioline_t pin_t; /* Operation of GPIO by pin. */ -#define setPinInput(pin) palSetLineMode(pin, PAL_MODE_INPUT) -#define setPinInputHigh(pin) palSetLineMode(pin, PAL_MODE_INPUT_PULLUP) -#define setPinInputLow(pin) palSetLineMode(pin, PAL_MODE_INPUT_PULLDOWN) -#define setPinOutput(pin) palSetLineMode(pin, PAL_MODE_OUTPUT_PUSHPULL) +#define setPinInput(pin) palSetLineMode((pin), PAL_MODE_INPUT) +#define setPinInputHigh(pin) palSetLineMode((pin), PAL_MODE_INPUT_PULLUP) +#define setPinInputLow(pin) palSetLineMode((pin), PAL_MODE_INPUT_PULLDOWN) +#define setPinOutputPushPull(pin) palSetLineMode((pin), PAL_MODE_OUTPUT_PUSHPULL) +#define setPinOutputOpenDrain(pin) palSetLineMode((pin), PAL_MODE_OUTPUT_OPENDRAIN) +#define setPinOutput(pin) setPinOutputPushPull(pin) #define writePinHigh(pin) palSetLine(pin) #define writePinLow(pin) palClearLine(pin) @@ -34,17 +36,3 @@ typedef ioline_t pin_t; #define readPin(pin) palReadLine(pin) #define togglePin(pin) palToggleLine(pin) - -/* Operation of GPIO by port. */ - -typedef uint16_t port_data_t; - -#define readPort(pin) palReadPort(PAL_PORT(pin)) - -#define setPortBitInput(pin, bit) palSetPadMode(PAL_PORT(pin), bit, PAL_MODE_INPUT) -#define setPortBitInputHigh(pin, bit) palSetPadMode(PAL_PORT(pin), bit, PAL_MODE_INPUT_PULLUP) -#define setPortBitInputLow(pin, bit) palSetPadMode(PAL_PORT(pin), bit, PAL_MODE_INPUT_PULLDOWN) -#define setPortBitOutput(pin, bit) palSetPadMode(PAL_PORT(pin), bit, PAL_MODE_OUTPUT_PUSHPULL) - -#define writePortBitLow(pin, bit) palClearLine(PAL_LINE(PAL_PORT(pin), bit)) -#define writePortBitHigh(pin, bit) palSetLine(PAL_LINE(PAL_PORT(pin), bit)) From 0391801267799dfe233cd0962357a0bf332c3908 Mon Sep 17 00:00:00 2001 From: vectorstorm Date: Mon, 27 Dec 2021 11:52:56 +1100 Subject: [PATCH 0026/1832] Fixes potential wpm sampling overflow, along with code comment fixes (#15277) Co-authored-by: Trevor Powell --- docs/feature_wpm.md | 2 +- quantum/wpm.c | 75 ++++++++++++++++++++++++++------------------- quantum/wpm.h | 2 +- 3 files changed, 45 insertions(+), 34 deletions(-) diff --git a/docs/feature_wpm.md b/docs/feature_wpm.md index 87145c97e3d1..9f98ef8336ca 100644 --- a/docs/feature_wpm.md +++ b/docs/feature_wpm.md @@ -16,7 +16,7 @@ For split keyboards using soft serial, the computed WPM score will be available | `WPM_ALLOW_COUNT_REGRESSION` | _Not defined_ | If defined allows the WPM to be decreased when hitting Delete or Backspace | | `WPM_UNFILTERED` | _Not defined_ | If undefined (the default), WPM values will be smoothed to avoid sudden changes in value | | `WPM_SAMPLE_SECONDS` | `5` | This defines how many seconds of typing to average, when calculating WPM | -| `WPM_SAMPLE_PERIODS` | `50` | This defines how many sampling periods to use when calculating WPM | +| `WPM_SAMPLE_PERIODS` | `25` | This defines how many sampling periods to use when calculating WPM | | `WPM_LAUNCH_CONTROL` | _Not defined_ | If defined, WPM values will be calculated using partial buffers when typing begins | 'WPM_UNFILTERED' is potentially useful if you're filtering data in some other way (and also because it reduces the code required for the WPM feature), or if reducing measurement latency to a minimum is important for you. diff --git a/quantum/wpm.c b/quantum/wpm.c index 925e2c416e70..62d4128b8e5f 100644 --- a/quantum/wpm.c +++ b/quantum/wpm.c @@ -22,33 +22,37 @@ // WPM Stuff static uint8_t current_wpm = 0; static uint32_t wpm_timer = 0; -#ifndef WPM_UNFILTERED -static uint32_t smoothing_timer = 0; -#endif /* The WPM calculation works by specifying a certain number of 'periods' inside * a ring buffer, and we count the number of keypresses which occur in each of * those periods. Then to calculate WPM, we add up all of the keypresses in * the whole ring buffer, divide by the number of keypresses in a 'word', and - * then adjust for how much time is captured by our ring buffer. Right now - * the ring buffer is hardcoded below to be six half-second periods, accounting - * for a total WPM sampling period of up to three seconds of typing. + * then adjust for how much time is captured by our ring buffer. The size + * of the ring buffer can be configured using the keymap configuration + * value `WPM_SAMPLE_PERIODS`. * - * Whenever our WPM drops to absolute zero due to no typing occurring within - * any contiguous three seconds, we reset and start measuring fresh, - * which lets our WPM immediately reach the correct value even before a full - * three second sampling buffer has been filled. */ #define MAX_PERIODS (WPM_SAMPLE_PERIODS) #define PERIOD_DURATION (1000 * WPM_SAMPLE_SECONDS / MAX_PERIODS) -#define LATENCY (100) -static int8_t period_presses[MAX_PERIODS] = {0}; + +static int16_t period_presses[MAX_PERIODS] = {0}; static uint8_t current_period = 0; static uint8_t periods = 1; #if !defined(WPM_UNFILTERED) -static uint8_t prev_wpm = 0; -static uint8_t next_wpm = 0; +/* LATENCY is used as part of filtering, and controls how quickly the reported + * WPM trails behind our actual instantaneous measured WPM value, and is + * defined in milliseconds. So for LATENCY == 100, the displayed WPM is + * smoothed out over periods of 0.1 seconds. This results in a nice, + * smoothly-moving reported WPM value which nevertheless is never more than + * 0.1 seconds behind the typist's actual current WPM. + * + * LATENCY is not used if WPM_UNFILTERED is defined. + */ +# define LATENCY (100) +static uint32_t smoothing_timer = 0; +static uint8_t prev_wpm = 0; +static uint8_t next_wpm = 0; #endif void set_current_wpm(uint8_t new_wpm) { current_wpm = new_wpm; } @@ -71,7 +75,7 @@ __attribute__((weak)) bool wpm_keycode_user(uint16_t keycode) { return false; } -#ifdef WPM_ALLOW_COUNT_REGRESSION +#if defined(WPM_ALLOW_COUNT_REGRESSION) __attribute__((weak)) uint8_t wpm_regress_count(uint16_t keycode) { bool weak_modded = (keycode >= QK_LCTL && keycode < QK_LSFT) || (keycode >= QK_RCTL && keycode < QK_RSFT); @@ -95,12 +99,12 @@ __attribute__((weak)) uint8_t wpm_regress_count(uint16_t keycode) { // Outside 'raw' mode we smooth results over time. void update_wpm(uint16_t keycode) { - if (wpm_keycode(keycode)) { + if (wpm_keycode(keycode) && period_presses[current_period] < INT16_MAX) { period_presses[current_period]++; } -#ifdef WPM_ALLOW_COUNT_REGRESSION +#if defined(WPM_ALLOW_COUNT_REGRESSION) uint8_t regress = wpm_regress_count(keycode); - if (regress) { + if (regress && period_presses[current_period] > INT16_MIN) { period_presses[current_period]--; } #endif @@ -116,32 +120,41 @@ void decay_wpm(void) { } int32_t elapsed = timer_elapsed32(wpm_timer); uint32_t duration = (((periods)*PERIOD_DURATION) + elapsed); - uint32_t wpm_now = (60000 * presses) / (duration * WPM_ESTIMATED_WORD_SIZE); - wpm_now = (wpm_now > 240) ? 240 : wpm_now; + int32_t wpm_now = (60000 * presses) / (duration * WPM_ESTIMATED_WORD_SIZE); + + if (wpm_now < 0) // set some reasonable WPM measurement limits + wpm_now = 0; + if (wpm_now > 240) wpm_now = 240; if (elapsed > PERIOD_DURATION) { current_period = (current_period + 1) % MAX_PERIODS; period_presses[current_period] = 0; periods = (periods < MAX_PERIODS - 1) ? periods + 1 : MAX_PERIODS - 1; elapsed = 0; - /* if (wpm_timer == 0) { */ - wpm_timer = timer_read32(); - /* } else { */ - /* wpm_timer += PERIOD_DURATION; */ - /* } */ + wpm_timer = timer_read32(); } if (presses < 2) // don't guess high WPM based on a single keypress. wpm_now = 0; -#if defined WPM_LAUNCH_CONTROL +#if defined(WPM_LAUNCH_CONTROL) + /* + * If the `WPM_LAUNCH_CONTROL` option is enabled, then whenever our WPM + * drops to absolute zero due to no typing occurring within our sample + * ring buffer, we reset and start measuring fresh, which lets our WPM + * immediately reach the correct value even before a full sampling buffer + * has been filled. + */ if (presses == 0) { - current_period = 0; - periods = 0; - wpm_now = 0; + current_period = 0; + periods = 0; + wpm_now = 0; + period_presses[0] = 0; } #endif // WPM_LAUNCH_CONTROL -#ifndef WPM_UNFILTERED +#if defined(WPM_UNFILTERED) + current_wpm = wpm_now; +#else int32_t latency = timer_elapsed32(smoothing_timer); if (latency > LATENCY) { smoothing_timer = timer_read32(); @@ -150,7 +163,5 @@ void decay_wpm(void) { } current_wpm = prev_wpm + (latency * ((int)next_wpm - (int)prev_wpm) / LATENCY); -#else - current_wpm = wpm_now; #endif } diff --git a/quantum/wpm.h b/quantum/wpm.h index c8e7d2668413..305d75b4508f 100644 --- a/quantum/wpm.h +++ b/quantum/wpm.h @@ -26,7 +26,7 @@ # define WPM_SAMPLE_SECONDS 5 #endif #ifndef WPM_SAMPLE_PERIODS -# define WPM_SAMPLE_PERIODS 50 +# define WPM_SAMPLE_PERIODS 25 #endif bool wpm_keycode(uint16_t keycode); From 76a673233c8cb3d97130a6dece364c24b29f5fd7 Mon Sep 17 00:00:00 2001 From: Hugo Osvaldo Barrera Date: Mon, 27 Dec 2021 01:53:46 +0100 Subject: [PATCH 0027/1832] Add a clarification to an error message (#15207) Makes this a bit more foolproof. See https://github.com/qmk/qmk_firmware/issues/15202 --- builddefs/message.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/builddefs/message.mk b/builddefs/message.mk index cb4ef43719a3..1187491452df 100644 --- a/builddefs/message.mk +++ b/builddefs/message.mk @@ -87,6 +87,7 @@ define GENERATE_MSG_AVAILABLE_KEYMAPS endef MSG_AVAILABLE_KEYMAPS = $(eval $(call GENERATE_MSG_AVAILABLE_KEYMAPS))$(MSG_AVAILABLE_KEYMAPS_ACTUAL) +MSG_BOOTLOADER_NOT_FOUND_BASE = Bootloader not found. Make sure the board is in bootloader mode. See https://docs.qmk.fm/\#/newbs_flashing\n MSG_CHECK_FILESIZE = Checking file size of $(TARGET).$(FIRMWARE_FORMAT) MSG_CHECK_FILESIZE_SKIPPED = (Firmware size check does not yet support $(MCU_ORIG); skipping) MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n @@ -97,6 +98,6 @@ MSG_PYTHON_MISSING = $(ERROR_COLOR)ERROR:$(NO_COLOR) Cannot run \"qmk hello\"!\n Please run $(BOLD)qmk setup$(NO_COLOR) to install all the dependencies QMK requires.\n\n MSG_FLASH_BOOTLOADER = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's bootloader is not specified or is not supported by the \":flash\" target at this time.\n\n MSG_FLASH_ARCH = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's architecture is not supported by the \":flash\" target at this time.\n\n -MSG_BOOTLOADER_NOT_FOUND = $(ERROR_COLOR)ERROR:$(NO_COLOR) Bootloader not found. Trying again in 5s (Ctrl+C to cancel)\n +MSG_BOOTLOADER_NOT_FOUND = $(ERROR_COLOR)ERROR:$(NO_COLOR) $(MSG_BOOTLOADER_NOT_FOUND_BASE) Trying again in 5s (Ctrl+C to cancel)\n BOOTLOADER_RETRY_TIME ?= 0.5 -MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY = Bootloader not found. Trying again every $(BOOTLOADER_RETRY_TIME)s (Ctrl+C to cancel) +MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY = $(MSG_BOOTLOADER_NOT_FOUND_BASE) Trying again every $(BOOTLOADER_RETRY_TIME)s (Ctrl+C to cancel) From 7f7364c55912879baaff8fafca550d02f17b4d44 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Mon, 27 Dec 2021 01:05:51 +0000 Subject: [PATCH 0028/1832] [Core] Split support for pointing devices. (#15304) * Draft implementation * formatting * fix combined buttons * remove pimoroni throttle * sync pointing on a throttle loop with checksum * no longer used * doh Co-authored-by: Drashna Jaelre * switch pimoroni to a cpi equivalent * add cpi support * allow user modification of seperate mouse reports * a little tidy up * add *_RIGHT defines. * docs * doxygen comments * basic changelog * clean up pimoroni * small doc fixes * Update docs/feature_pointing_device.md Co-authored-by: Drashna Jaelre * performance tweak if side has usb * Don't run init funtions on wrong side * renamed some variables for consistency * fix pimoroni typos * Clamp instead of OR * Promote combined values to uint16_t * Update pointing_device.c Co-authored-by: Drashna Jaelre Co-authored-by: Nick Brassel --- docs/ChangeLog/20220226/PR15304.md | 13 + docs/feature_pointing_device.md | 116 +++++- docs/feature_split_keyboard.md | 8 + drivers/sensors/pimoroni_trackball.c | 22 +- drivers/sensors/pimoroni_trackball.h | 9 +- quantum/pointing_device.c | 389 +++++++++++++++++-- quantum/pointing_device.h | 13 + quantum/pointing_device_drivers.c | 24 +- quantum/split_common/transaction_id_define.h | 6 + quantum/split_common/transactions.c | 79 ++++ quantum/split_common/transport.h | 13 + 11 files changed, 626 insertions(+), 66 deletions(-) create mode 100644 docs/ChangeLog/20220226/PR15304.md diff --git a/docs/ChangeLog/20220226/PR15304.md b/docs/ChangeLog/20220226/PR15304.md new file mode 100644 index 000000000000..3cdb40db1099 --- /dev/null +++ b/docs/ChangeLog/20220226/PR15304.md @@ -0,0 +1,13 @@ +### Split Common core now supports Pointing Devices ([#15304](https://github.com/qmk/qmk_firmware/pull/15304)) + +Pointing devices can now be shared across a split keyboard with support for a single pointing device or a pointing device on each side. + +This feature can be enabled with `#define SPLIT_POINTING_ENABLE` and one of the following options: + +| Setting | Description | +|---------------------------|------------------------------------| +|`POINTING_DEVICE_LEFT` | Pointing device on the left side | +|`POINTING_DEVICE_RIGHT` | Pointing device on the right side | +|`POINTING_DEVICE_COMBINED` | Pointing device on both sides | + +See the [Pointing Device](../feature_pointing_device.md) documentation for further configuration options. diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 5aef9bea2729..f8de92f3b401 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -127,11 +127,10 @@ The Pimoroni Trackball module is a I2C based breakout board with an RGB enable t | Setting | Description | Default | |-------------------------------------|------------------------------------------------------------------------------------|---------| |`PIMORONI_TRACKBALL_ADDRESS` | (Required) Sets the I2C Address for the Pimoroni Trackball. | `0x0A` | -|`PIMORONI_TRACKBALL_TIMEOUT` | (Optional) The timeout for i2c communication with the trackpad in milliseconds. | `100` | -|`PIMORONI_TRACKBALL_INTERVAL_MS` | (Optional) The update/read interval for the sensor in milliseconds. | `8` | +|`PIMORONI_TRACKBALL_TIMEOUT` | (Optional) The timeout for i2c communication with the trackball in milliseconds. | `100` | |`PIMORONI_TRACKBALL_SCALE` | (Optional) The multiplier used to generate reports from the sensor. | `5` | |`PIMORONI_TRACKBALL_DEBOUNCE_CYCLES` | (Optional) The number of scan cycles used for debouncing on the ball press. | `20` | -|`PIMORONI_TRACKBALL_ERROR_COUNT` | (Optional) Specifies the number of read/write errors until the sensor is disabled. | `10` | +|`PIMORONI_TRACKBALL_ERROR_COUNT` | (Optional) Specifies the number of read/write errors until the sensor is disabled. | `10` | ### PMW 3360 Sensor @@ -171,14 +170,35 @@ void pointing_device_driver_set_cpi(uint16_t cpi) {} ## Common Configuration -| Setting | Description | Default | -|-------------------------------|-----------------------------------------------------------------------|---------------| -|`POINTING_DEVICE_ROTATION_90` | (Optional) Rotates the X and Y data by 90 degrees. | _not defined_ | -|`POINTING_DEVICE_ROTATION_180` | (Optional) Rotates the X and Y data by 180 degrees. | _not defined_ | -|`POINTING_DEVICE_ROTATION_270` | (Optional) Rotates the X and Y data by 270 degrees. | _not defined_ | -|`POINTING_DEVICE_INVERT_X` | (Optional) Inverts the X axis report. | _not defined_ | -|`POINTING_DEVICE_INVERT_Y` | (Optional) Inverts the Y axis report. | _not defined_ | -|`POINTING_DEVICE_MOTION_PIN` | (Optional) If supported, will only read from sensor if pin is active. | _not defined_ | +| Setting | Description | Default | +|----------------------------------|-----------------------------------------------------------------------|-------------------| +|`POINTING_DEVICE_ROTATION_90` | (Optional) Rotates the X and Y data by 90 degrees. | _not defined_ | +|`POINTING_DEVICE_ROTATION_180` | (Optional) Rotates the X and Y data by 180 degrees. | _not defined_ | +|`POINTING_DEVICE_ROTATION_270` | (Optional) Rotates the X and Y data by 270 degrees. | _not defined_ | +|`POINTING_DEVICE_INVERT_X` | (Optional) Inverts the X axis report. | _not defined_ | +|`POINTING_DEVICE_INVERT_Y` | (Optional) Inverts the Y axis report. | _not defined_ | +|`POINTING_DEVICE_MOTION_PIN` | (Optional) If supported, will only read from sensor if pin is active. | _not defined_ | +|`POINTING_DEVICE_TASK_THROTTLE_MS` | (Optional) Limits the frequency that the sensor is polled for motion. | _not defined_ | + +!> When using `SPLIT_POINTING_ENABLE` the `POINTING_DEVICE_MOTION_PIN` functionality is not supported and would recommend `POINTING_DEVICE_TASK_THROTTLE_MS` be set to `1`. Increasing this value will increase transport performance at the cost of possible mouse responsiveness. + + +## Split Keyboard Configuration + +The following configuration options are only available when using `SPLIT_POINTING_ENABLE` see [data sync options](feature_split_keyboard.md?id=data-sync-options). The rotation and invert `*_RIGHT` options are only used with `POINTING_DEVICE_COMBINED`. If using `POINTING_DEVICE_LEFT` or `POINTING_DEVICE_RIGHT` use the common configuration above to configure your pointing device. + +| Setting | Description | Default | +|----------------------------------------|-----------------------------------------------------------------------|---------------| +|`POINTING_DEVICE_LEFT` | Pointing device on the left side (Required - pick one only) | _not defined_ | +|`POINTING_DEVICE_RIGHT` | Pointing device on the right side (Required - pick one only) | _not defined_ | +|`POINTING_DEVICE_COMBINED` | Pointing device on both sides (Required - pick one only) | _not defined_ | +|`POINTING_DEVICE_ROTATION_90_RIGHT` | (Optional) Rotates the X and Y data by 90 degrees. | _not defined_ | +|`POINTING_DEVICE_ROTATION_180_RIGHT` | (Optional) Rotates the X and Y data by 180 degrees. | _not defined_ | +|`POINTING_DEVICE_ROTATION_270_RIGHT` | (Optional) Rotates the X and Y data by 270 degrees. | _not defined_ | +|`POINTING_DEVICE_INVERT_X_RIGHT` | (Optional) Inverts the X axis report. | _not defined_ | +|`POINTING_DEVICE_INVERT_Y_RIGHT` | (Optional) Inverts the Y axis report. | _not defined_ | + +!> If there is a `_RIGHT` configuration option or callback, the [common configuration](feature_pointing_device.md?id=common-configuration) option will work for the left. For correct left/right detection you should setup a [handedness option](feature_split_keyboard?id=setting-handedness), `EE_HANDS` is usually a good option for an existing board that doesn't do handedness by hardware. ## Callbacks and Functions @@ -196,6 +216,21 @@ void pointing_device_driver_set_cpi(uint16_t cpi) {} | `pointing_device_set_report(mouse_report)` | Sets the mouse report to the assigned `mouse_report_t` data structured passed to the function. | | `pointing_device_send(void)` | Sends the current mouse report to the host system. Function can be replaced. | | `has_mouse_report_changed(old, new)` | Compares the old and new `mouse_report_t` data and returns true only if it has changed. | +| `pointing_device_adjust_by_defines(mouse_report)` | Applies rotations and invert configurations to a raw mouse report. | + + +## Split Keyboard Callbacks and Functions + +The combined functions below are only available when using `SPLIT_POINTING_ENABLE` and `POINTING_DEVICE_COMBINED`. The 2 callbacks `pointing_device_task_combined_*` replace the single sided equivalents above. See the [combined pointing devices example](feature_pointing_device.md?id=combined-pointing-devices) + +| Function | Description | +|-----------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------| +| `pointing_device_set_shared_report(mouse_report)` | Sets the shared mouse report to the assigned `mouse_report_t` data structured passed to the function. | +| `pointing_device_set_cpi_on_side(bool, uint16_t)` | Sets the CPI/DPI of one side, if supported. Passing `true` will set the left and `false` the right` | +| `pointing_device_combine_reports(left_report, right_report)` | Returns a combined mouse_report of left_report and right_report (as a `mouse_report_t` data structure) | +| `pointing_device_task_combined_kb(left_report, right_report)` | Callback, so keyboard code can intercept and modify the data. Returns a combined mouse report. | +| `pointing_device_task_combined_user(left_report, right_report)` | Callback, so user code can intercept and modify. Returns a combined mouse report using `pointing_device_combine_reports` | +| `pointing_device_adjust_by_defines_right(mouse_report)` | Applies right side rotations and invert configurations to a raw mouse report. | # Manipulating Mouse Reports @@ -242,3 +277,62 @@ case MS_SPECIAL: ``` Recall that the mouse report is set to zero (except the buttons) whenever it is sent, so the scrolling would only occur once in each case. + +## Split Examples + +The following examples make use the `SPLIT_POINTING_ENABLE` functionality and show how to manipulate the mouse report for a scrolling mode. + +### Single Pointing Device + +The following example will work with either `POINTING_DEVICE_LEFT` or `POINTING_DEVICE_RIGHT` and enables scrolling mode while on a particular layer. + +```c + +static bool scrolling_mode = false; + +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case _RAISE: // If we're on the _RAISE layer enable scrolling mode + scrolling_mode = true; + pointing_device_set_cpi(2000); + break; + default: + if (scrolling_mode) { // check if we were scrolling before and set disable if so + scrolling_mode = false; + pointing_device_set_cpi(8000); + } + break; + } + return state; +} + +report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { + if (scrolling_mode) { + mouse_report.h = mouse_report.x; + mouse_report.v = mouse_report.y; + mouse_report.x = 0; + mouse_report.y = 0; + } + return mouse_report; +} + +``` + +### Combined Pointing Devices + +The following example requires `POINTING_DEVICE_COMBINED` and sets the left side pointing device to scroll only. + +```c +void keyboard_post_init_user(void) { + pointing_device_set_cpi_on_side(true, 1000); //Set cpi on left side to a low value for slower scrolling. + pointing_device_set_cpi_on_side(false, 8000); //Set cpi on right side to a reasonable value for mousing. +} + +report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, report_mouse_t right_report) { + left_report.h = left_report.x; + left_report.v = left_report.y; + left_report.x = 0; + left_report.y = 0; + return pointing_device_combine_reports(left_report, right_report); +} +``` diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index c8ba18beeb74..b51593308ef0 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -266,6 +266,14 @@ This enables transmitting the current OLED on/off status to the slave side of th This enables transmitting the current ST7565 on/off status to the slave side of the split keyboard. The purpose of this feature is to support state (on/off state only) syncing. +```c +#define SPLIT_POINTING_ENABLE +``` + +This enables transmitting the pointing device status to the master side of the split keyboard. The purpose of this feature is to enable use pointing devices on the slave side. + +!> There is additional required configuration for `SPLIT_POINTING_ENABLE` outlined in the [pointing device documentation](feature_pointing_device.md?id=split-keyboard-configuration). + ### Custom data sync between sides :id=custom-data-sync QMK's split transport allows for arbitrary data transactions at both the keyboard and user levels. This is modelled on a remote procedure call, with the master invoking a function on the slave side, with the ability to send data from master to slave, process it slave side, and send data back from slave to master. diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c index 7d390056ead4..2867e763bc70 100644 --- a/drivers/sensors/pimoroni_trackball.c +++ b/drivers/sensors/pimoroni_trackball.c @@ -33,8 +33,24 @@ static uint16_t precision = 128; -float pimoroni_trackball_get_precision(void) { return ((float)precision / 128); } -void pimoroni_trackball_set_precision(float floatprecision) { precision = (floatprecision * 128); } +uint16_t pimoroni_trackball_get_cpi(void) { return (precision * 125); } +/** + * @brief Sets the scaling value for pimoroni trackball + * + * Sets a scaling value for pimoroni trackball to allow runtime adjustment. This isn't used by the sensor and is an + * approximation so the functions are consistent across drivers. + * + * NOTE: This rounds down to the nearest number divisable by 125 that's a positive integer, values below 125 are clamped to 125. + * + * @param cpi uint16_t + */ +void pimoroni_trackball_set_cpi(uint16_t cpi) { + if (cpi < 249) { + precision = 1; + } else { + precision = (cpi - (cpi % 125)) / 125; + } +} void pimoroni_trackball_set_rgbw(uint8_t r, uint8_t g, uint8_t b, uint8_t w) { uint8_t data[4] = {r, g, b, w}; @@ -60,7 +76,7 @@ i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data) { return status; } -__attribute__((weak)) void pimironi_trackball_device_init(void) { +__attribute__((weak)) void pimoroni_trackball_device_init(void) { i2c_init(); pimoroni_trackball_set_rgbw(0x00, 0x00, 0x00, 0x00); } diff --git a/drivers/sensors/pimoroni_trackball.h b/drivers/sensors/pimoroni_trackball.h index 59ee8724ba66..e20ee748a75b 100644 --- a/drivers/sensors/pimoroni_trackball.h +++ b/drivers/sensors/pimoroni_trackball.h @@ -23,9 +23,6 @@ #ifndef PIMORONI_TRACKBALL_ADDRESS # define PIMORONI_TRACKBALL_ADDRESS 0x0A #endif -#ifndef PIMORONI_TRACKBALL_INTERVAL_MS -# define PIMORONI_TRACKBALL_INTERVAL_MS 8 -#endif #ifndef PIMORONI_TRACKBALL_SCALE # define PIMORONI_TRACKBALL_SCALE 5 #endif @@ -52,10 +49,10 @@ typedef struct { uint8_t click; } pimoroni_data_t; -void pimironi_trackball_device_init(void); +void pimoroni_trackball_device_init(void); void pimoroni_trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale); void pimoroni_trackball_adapt_values(int8_t* mouse, int16_t* offset); -float pimoroni_trackball_get_precision(void); -void pimoroni_trackball_set_precision(float precision); +uint16_t pimoroni_trackball_get_cpi(void); +void pimoroni_trackball_set_cpi(uint16_t cpi); i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data); diff --git a/quantum/pointing_device.c b/quantum/pointing_device.c index 2fefdb67b6af..23d93fa15fe0 100644 --- a/quantum/pointing_device.c +++ b/quantum/pointing_device.c @@ -18,24 +18,105 @@ #include "pointing_device.h" #include +#include "timer.h" #ifdef MOUSEKEY_ENABLE # include "mousekey.h" #endif #if (defined(POINTING_DEVICE_ROTATION_90) + defined(POINTING_DEVICE_ROTATION_180) + defined(POINTING_DEVICE_ROTATION_270)) > 1 # error More than one rotation selected. This is not supported. #endif +#if defined(SPLIT_POINTING_ENABLE) +# include "transactions.h" +# include "keyboard.h" -static report_mouse_t mouseReport = {}; +report_mouse_t shared_mouse_report = {}; +uint16_t shared_cpi = 0; + +/** + * @brief Sets the shared mouse report used be pointing device task + * + * NOTE : Only available when using SPLIT_POINTING_ENABLE + * + * @param[in] new_mouse_report report_mouse_t + */ +void pointing_device_set_shared_report(report_mouse_t new_mouse_report) { shared_mouse_report = new_mouse_report; } + +/** + * @brief Gets current pointing device CPI if supported + * + * Gets current cpi of the shared report and returns it as uint16_t + * + * NOTE : Only available when using SPLIT_POINTING_ENABLE + * + * @return cpi value as uint16_t + */ +uint16_t pointing_device_get_shared_cpi(void) { return shared_cpi; } + +# if defined(POINTING_DEVICE_LEFT) +# define POINTING_DEVICE_THIS_SIDE is_keyboard_left() +# elif defined(POINTING_DEVICE_RIGHT) +# define POINTING_DEVICE_THIS_SIDE !is_keyboard_left() +# elif defined(POINTING_DEVICE_COMBINED) +# define POINTING_DEVICE_THIS_SIDE true +# endif + +#endif // defined(SPLIT_POINTING_ENABLE) + +static report_mouse_t local_mouse_report = {}; extern const pointing_device_driver_t pointing_device_driver; +/** + * @brief Compares 2 mouse reports for difference and returns result + * + * @param[in] new report_mouse_t + * @param[in] old report_mouse_t + * @return bool result + */ __attribute__((weak)) bool has_mouse_report_changed(report_mouse_t new, report_mouse_t old) { return memcmp(&new, &old, sizeof(new)); } -__attribute__((weak)) void pointing_device_init_kb(void) {} -__attribute__((weak)) void pointing_device_init_user(void) {} +/** + * @brief Keyboard level code pointing device initialisation + * + */ +__attribute__((weak)) void pointing_device_init_kb(void) {} + +/** + * @brief User level code pointing device initialisation + * + */ +__attribute__((weak)) void pointing_device_init_user(void) {} + +/** + * @brief Weak function allowing for keyboard level mouse report modification + * + * Takes report_mouse_t struct allowing modification at keyboard level then returns report_mouse_t. + * + * @param[in] mouse_report report_mouse_t + * @return report_mouse_t + */ __attribute__((weak)) report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { return pointing_device_task_user(mouse_report); } + +/** + * @brief Weak function allowing for user level mouse report modification + * + * Takes report_mouse_t struct allowing modification at user level then returns report_mouse_t. + * + * @param[in] mouse_report report_mouse_t + * @return report_mouse_t + */ __attribute__((weak)) report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { return mouse_report; } +/** + * @brief Handles pointing device buttons + * + * Returns modified button bitmask using bool pressed and selected pointing_device_buttons_t button in uint8_t buttons bitmask. + * + * @param buttons[in] uint8_t bitmask + * @param pressed[in] bool + * @param button[in] pointing_device_buttons_t value + * @return Modified uint8_t bitmask buttons + */ __attribute__((weak)) uint8_t pointing_device_handle_buttons(uint8_t buttons, bool pressed, pointing_device_buttons_t button) { if (pressed) { buttons |= 1 << (button); @@ -45,7 +126,17 @@ __attribute__((weak)) uint8_t pointing_device_handle_buttons(uint8_t buttons, bo return buttons; } +/** + * @brief Initialises pointing device + * + * Initialises pointing device, perform driver init and optional keyboard/user level code. + */ __attribute__((weak)) void pointing_device_init(void) { +#if defined(SPLIT_POINTING_ENABLE) + if (!(POINTING_DEVICE_THIS_SIDE)) { + return; + } +#endif pointing_device_driver.init(); #ifdef POINTING_DEVICE_MOTION_PIN setPinInputHigh(POINTING_DEVICE_MOTION_PIN); @@ -54,67 +145,299 @@ __attribute__((weak)) void pointing_device_init(void) { pointing_device_init_user(); } +/** + * @brief Sends processed mouse report to host + * + * This sends the mouse report generated by pointing_device_task if changed since the last report. Once send zeros mouse report except buttons. + * + */ __attribute__((weak)) void pointing_device_send(void) { static report_mouse_t old_report = {}; // If you need to do other things, like debugging, this is the place to do it. - if (has_mouse_report_changed(mouseReport, old_report)) { - host_mouse_send(&mouseReport); + if (has_mouse_report_changed(local_mouse_report, old_report)) { + host_mouse_send(&local_mouse_report); } // send it and 0 it out except for buttons, so those stay until they are explicity over-ridden using update_pointing_device - mouseReport.x = 0; - mouseReport.y = 0; - mouseReport.v = 0; - mouseReport.h = 0; + local_mouse_report.x = 0; + local_mouse_report.y = 0; + local_mouse_report.v = 0; + local_mouse_report.h = 0; - memcpy(&old_report, &mouseReport, sizeof(mouseReport)); + memcpy(&old_report, &local_mouse_report, sizeof(local_mouse_report)); } -__attribute__((weak)) void pointing_device_task(void) { - // Gather report info -#ifdef POINTING_DEVICE_MOTION_PIN - if (!readPin(POINTING_DEVICE_MOTION_PIN)) -#endif - mouseReport = pointing_device_driver.get_report(mouseReport); - - // Support rotation of the sensor data +/** + * @brief Adjust mouse report by any optional common pointing configuration defines + * + * This applies rotation or inversion to the mouse report as selected by the pointing device common configuration defines. + * + * @param mouse_report[in] takes a report_mouse_t to be adjusted + * @return report_mouse_t with adjusted values + */ +report_mouse_t pointing_device_adjust_by_defines(report_mouse_t mouse_report) { + // Support rotation of the sensor data #if defined(POINTING_DEVICE_ROTATION_90) || defined(POINTING_DEVICE_ROTATION_180) || defined(POINTING_DEVICE_ROTATION_270) - int8_t x = mouseReport.x, y = mouseReport.y; + int8_t x = mouse_report.x, y = mouse_report.y; # if defined(POINTING_DEVICE_ROTATION_90) - mouseReport.x = y; - mouseReport.y = -x; + mouse_report.x = y; + mouse_report.y = -x; # elif defined(POINTING_DEVICE_ROTATION_180) - mouseReport.x = -x; - mouseReport.y = -y; + mouse_report.x = -x; + mouse_report.y = -y; # elif defined(POINTING_DEVICE_ROTATION_270) - mouseReport.x = -y; - mouseReport.y = x; + mouse_report.x = -y; + mouse_report.y = x; # else # error "How the heck did you get here?!" # endif #endif // Support Inverting the X and Y Axises #if defined(POINTING_DEVICE_INVERT_X) - mouseReport.x = -mouseReport.x; + mouse_report.x = -mouse_report.x; #endif #if defined(POINTING_DEVICE_INVERT_Y) - mouseReport.y = -mouseReport.y; + mouse_report.y = -mouse_report.y; +#endif + return mouse_report; +} + +/** + * @brief Retrieves and processes pointing device data. + * + * This function is part of the keyboard loop and retrieves the mouse report from the pointing device driver. + * It applies any optional configuration e.g. rotation or axis inversion and then initiates a send. + * + */ +__attribute__((weak)) void pointing_device_task(void) { +#if defined(SPLIT_POINTING_ENABLE) + // Don't poll the target side pointing device. + if (!is_keyboard_master()) { + return; + }; +#endif + +#if defined(POINTING_DEVICE_TASK_THROTTLE_MS) + static uint32_t last_exec = 0; + if (timer_elapsed32(last_exec) < POINTING_DEVICE_TASK_THROTTLE_MS) { + return; + } + last_exec = timer_read32(); +#else +# if defined(SPLIT_POINTING_ENABLE) +# pragma message("It's recommended you enable a throttle when sharing pointing devices.") +# endif +#endif + + // Gather report info +#ifdef POINTING_DEVICE_MOTION_PIN +# if defined(SPLIT_POINTING_ENABLE) +# error POINTING_DEVICE_MOTION_PIN not supported when sharing the pointing device report between sides. +# endif + if (!readPin(POINTING_DEVICE_MOTION_PIN)) #endif +#if defined(SPLIT_POINTING_ENABLE) +# if defined(POINTING_DEVICE_COMBINED) + static uint8_t old_buttons = 0; + local_mouse_report.buttons = old_buttons; + local_mouse_report = pointing_device_driver.get_report(local_mouse_report); + old_buttons = local_mouse_report.buttons; +# elif defined(POINTING_DEVICE_LEFT) || defined(POINTING_DEVICE_RIGHT) + local_mouse_report = POINTING_DEVICE_THIS_SIDE ? pointing_device_driver.get_report(local_mouse_report) : shared_mouse_report; +# else +# error "You need to define the side(s) the pointing device is on. POINTING_DEVICE_COMBINED / POINTING_DEVICE_LEFT / POINTING_DEVICE_RIGHT" +# endif +#else + local_mouse_report = pointing_device_driver.get_report(local_mouse_report); +#endif // defined(SPLIT_POINTING_ENABLE) + // allow kb to intercept and modify report - mouseReport = pointing_device_task_kb(mouseReport); +#if defined(SPLIT_POINTING_ENABLE) && defined(POINTING_DEVICE_COMBINED) + if (is_keyboard_left()) { + local_mouse_report = pointing_device_adjust_by_defines(local_mouse_report); + shared_mouse_report = pointing_device_adjust_by_defines_right(shared_mouse_report); + } else { + local_mouse_report = pointing_device_adjust_by_defines_right(local_mouse_report); + shared_mouse_report = pointing_device_adjust_by_defines(shared_mouse_report); + } + local_mouse_report = is_keyboard_left() ? pointing_device_task_combined_kb(local_mouse_report, shared_mouse_report) : pointing_device_task_combined_kb(shared_mouse_report, local_mouse_report); +#else + local_mouse_report = pointing_device_adjust_by_defines(local_mouse_report); + local_mouse_report = pointing_device_task_kb(local_mouse_report); +#endif // combine with mouse report to ensure that the combined is sent correctly #ifdef MOUSEKEY_ENABLE report_mouse_t mousekey_report = mousekey_get_report(); - mouseReport.buttons = mouseReport.buttons | mousekey_report.buttons; + local_mouse_report.buttons = local_mouse_report.buttons | mousekey_report.buttons; #endif pointing_device_send(); } -report_mouse_t pointing_device_get_report(void) { return mouseReport; } +/** + * @brief Gets current mouse report used by pointing device task + * + * @return report_mouse_t + */ +report_mouse_t pointing_device_get_report(void) { return local_mouse_report; } + +/** + * @brief Sets mouse report used be pointing device task + * + * @param[in] new_mouse_report + */ +void pointing_device_set_report(report_mouse_t new_mouse_report) { local_mouse_report = new_mouse_report; } + +/** + * @brief Gets current pointing device CPI if supported + * + * Gets current cpi from pointing device driver if supported and returns it as uint16_t + * + * @return cpi value as uint16_t + */ +uint16_t pointing_device_get_cpi(void) { +#if defined(SPLIT_POINTING_ENABLE) + return POINTING_DEVICE_THIS_SIDE ? pointing_device_driver.get_cpi() : shared_cpi; +#else + return pointing_device_driver.get_cpi(); +#endif +} -void pointing_device_set_report(report_mouse_t newMouseReport) { mouseReport = newMouseReport; } +/** + * @brief Set pointing device CPI if supported + * + * Takes a uint16_t value to set pointing device cpi if supported by driver. + * + * @param[in] cpi uint16_t value. + */ +void pointing_device_set_cpi(uint16_t cpi) { +#if defined(SPLIT_POINTING_ENABLE) + if (POINTING_DEVICE_THIS_SIDE) { + pointing_device_driver.set_cpi(cpi); + } else { + shared_cpi = cpi; + } +#else + pointing_device_driver.set_cpi(cpi); +#endif +} -uint16_t pointing_device_get_cpi(void) { return pointing_device_driver.get_cpi(); } +#if defined(SPLIT_POINTING_ENABLE) && defined(POINTING_DEVICE_COMBINED) +/** + * @brief Set pointing device CPI if supported + * + * Takes a bool and uint16_t and allows setting cpi for a single side when using 2 pointing devices with a split keyboard. + * + * NOTE: Only available when using SPLIT_POINTING_ENABLE and POINTING_DEVICE_COMBINED + * + * @param[in] left true = left, false = right. + * @param[in] cpi uint16_t value. + */ +void pointing_device_set_cpi_on_side(bool left, uint16_t cpi) { + bool local = (is_keyboard_left() & left) ? true : false; + if (local) { + pointing_device_driver.set_cpi(cpi); + } else { + shared_cpi = cpi; + } +} -void pointing_device_set_cpi(uint16_t cpi) { pointing_device_driver.set_cpi(cpi); } +/** + * @brief clamps int16_t to int8_t + * + * @param[in] int16_t value + * @return int8_t clamped value + */ +static inline int8_t pointing_device_movement_clamp(int16_t value) { + if (value < INT8_MIN) { + return INT8_MIN; + } else if (value > INT8_MAX) { + return INT8_MAX; + } else { + return value; + } +} + +/** + * @brief combines 2 mouse reports and returns 2 + * + * Combines 2 report_mouse_t structs, clamping movement values to int8_t and ignores report_id then returns the resulting report_mouse_t struct. + * + * NOTE: Only available when using SPLIT_POINTING_ENABLE and POINTING_DEVICE_COMBINED + * + * @param[in] left_report left report_mouse_t + * @param[in] right_report right report_mouse_t + * @return combined report_mouse_t of left_report and right_report + */ +report_mouse_t pointing_device_combine_reports(report_mouse_t left_report, report_mouse_t right_report) { + left_report.x = pointing_device_movement_clamp((int16_t)left_report.x + right_report.x); + left_report.y = pointing_device_movement_clamp((int16_t)left_report.y + right_report.y); + left_report.h = pointing_device_movement_clamp((int16_t)left_report.h + right_report.h); + left_report.v = pointing_device_movement_clamp((int16_t)left_report.v + right_report.v); + left_report.buttons |= right_report.buttons; + return left_report; +} + +/** + * @brief Adjust mouse report by any optional right pointing configuration defines + * + * This applies rotation or inversion to the mouse report as selected by the pointing device common configuration defines. + * + * NOTE: Only available when using SPLIT_POINTING_ENABLE and POINTING_DEVICE_COMBINED + * + * @param[in] mouse_report report_mouse_t to be adjusted + * @return report_mouse_t with adjusted values + */ +report_mouse_t pointing_device_adjust_by_defines_right(report_mouse_t mouse_report) { + // Support rotation of the sensor data +# if defined(POINTING_DEVICE_ROTATION_90_RIGHT) || defined(POINTING_DEVICE_ROTATION_RIGHT) || defined(POINTING_DEVICE_ROTATION_RIGHT) + int8_t x = mouse_report.x, y = mouse_report.y; +# if defined(POINTING_DEVICE_ROTATION_90_RIGHT) + mouse_report.x = y; + mouse_report.y = -x; +# elif defined(POINTING_DEVICE_ROTATION_180_RIGHT) + mouse_report.x = -x; + mouse_report.y = -y; +# elif defined(POINTING_DEVICE_ROTATION_270_RIGHT) + mouse_report.x = -y; + mouse_report.y = x; +# else +# error "How the heck did you get here?!" +# endif +# endif + // Support Inverting the X and Y Axises +# if defined(POINTING_DEVICE_INVERT_X_RIGHT) + mouse_report.x = -mouse_report.x; +# endif +# if defined(POINTING_DEVICE_INVERT_Y_RIGHT) + mouse_report.y = -mouse_report.y; +# endif + return mouse_report; +} + +/** + * @brief Weak function allowing for keyboard level mouse report modification + * + * Takes 2 report_mouse_t structs allowing individual modification of sides at keyboard level then returns pointing_device_task_combined_user. + * + * NOTE: Only available when using SPLIT_POINTING_ENABLE and POINTING_DEVICE_COMBINED + * + * @param[in] left_report report_mouse_t + * @param[in] right_report report_mouse_t + * @return pointing_device_task_combined_user(left_report, right_report) by default + */ +__attribute__((weak)) report_mouse_t pointing_device_task_combined_kb(report_mouse_t left_report, report_mouse_t right_report) { return pointing_device_task_combined_user(left_report, right_report); } + +/** + * @brief Weak function allowing for user level mouse report modification + * + * Takes 2 report_mouse_t structs allowing individual modification of sides at user level then returns pointing_device_combine_reports. + * + * NOTE: Only available when using SPLIT_POINTING_ENABLE and POINTING_DEVICE_COMBINED + * + * @param[in] left_report report_mouse_t + * @param[in] right_report report_mouse_t + * @return pointing_device_combine_reports(left_report, right_report) by default + */ +__attribute__((weak)) report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, report_mouse_t right_report) { return pointing_device_combine_reports(left_report, right_report); } +#endif diff --git a/quantum/pointing_device.h b/quantum/pointing_device.h index 5106c26660e7..78398d8999fc 100644 --- a/quantum/pointing_device.h +++ b/quantum/pointing_device.h @@ -86,3 +86,16 @@ void pointing_device_init_user(void); report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report); report_mouse_t pointing_device_task_user(report_mouse_t mouse_report); uint8_t pointing_device_handle_buttons(uint8_t buttons, bool pressed, pointing_device_buttons_t button); +report_mouse_t pointing_device_adjust_by_defines(report_mouse_t mouse_report); + +#if defined(SPLIT_POINTING_ENABLE) +void pointing_device_set_shared_report(report_mouse_t report); +uint16_t pointing_device_get_shared_cpi(void); +# if defined(POINTING_DEVICE_COMBINED) +void pointing_device_set_cpi_on_side(bool left, uint16_t cpi); +report_mouse_t pointing_device_combine_reports(report_mouse_t left_report, report_mouse_t right_report); +report_mouse_t pointing_device_task_combined_kb(report_mouse_t left_report, report_mouse_t right_report); +report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, report_mouse_t right_report); +report_mouse_t pointing_device_adjust_by_defines_right(report_mouse_t mouse_report); +# endif //defined(POINTING_DEVICE_COMBINED) +#endif //defined(SPLIT_POINTING_ENABLE) diff --git a/quantum/pointing_device_drivers.c b/quantum/pointing_device_drivers.c index 9ad5e76ba634..0852a0bea7a5 100644 --- a/quantum/pointing_device_drivers.c +++ b/quantum/pointing_device_drivers.c @@ -165,14 +165,13 @@ const pointing_device_driver_t pointing_device_driver = { // clang-format on #elif defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) -report_mouse_t pimorono_trackball_get_report(report_mouse_t mouse_report) { - static fast_timer_t throttle = 0; - static uint16_t debounce = 0; - static uint8_t error_count = 0; - pimoroni_data_t pimoroni_data = {0}; - static int16_t x_offset = 0, y_offset = 0; - - if (error_count < PIMORONI_TRACKBALL_ERROR_COUNT && timer_elapsed_fast(throttle) >= PIMORONI_TRACKBALL_INTERVAL_MS) { +report_mouse_t pimoroni_trackball_get_report(report_mouse_t mouse_report) { + static uint16_t debounce = 0; + static uint8_t error_count = 0; + pimoroni_data_t pimoroni_data = {0}; + static int16_t x_offset = 0, y_offset = 0; + + if (error_count < PIMORONI_TRACKBALL_ERROR_COUNT) { i2c_status_t status = read_pimoroni_trackball(&pimoroni_data); if (status == I2C_STATUS_SUCCESS) { @@ -195,17 +194,16 @@ report_mouse_t pimorono_trackball_get_report(report_mouse_t mouse_report) { } else { error_count++; } - throttle = timer_read_fast(); } return mouse_report; } // clang-format off const pointing_device_driver_t pointing_device_driver = { - .init = pimironi_trackball_device_init, - .get_report = pimorono_trackball_get_report, - .set_cpi = NULL, - .get_cpi = NULL + .init = pimoroni_trackball_device_init, + .get_report = pimoroni_trackball_get_report, + .set_cpi = pimoroni_trackball_set_cpi, + .get_cpi = pimoroni_trackball_get_cpi }; // clang-format on #elif defined(POINTING_DEVICE_DRIVER_pmw3360) diff --git a/quantum/split_common/transaction_id_define.h b/quantum/split_common/transaction_id_define.h index 535bc21aeaa1..aa71c3621e7a 100644 --- a/quantum/split_common/transaction_id_define.h +++ b/quantum/split_common/transaction_id_define.h @@ -78,6 +78,12 @@ enum serial_transaction_id { PUT_ST7565, #endif // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) +#if defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) + GET_POINTING_CHECKSUM, + GET_POINTING_DATA, + PUT_POINTING_CPI, +#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) + #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) PUT_RPC_INFO, PUT_RPC_REQ_DATA, diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 3ff87710e7e4..9622acb377ae 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -578,6 +578,82 @@ static void st7565_handlers_slave(matrix_row_t master_matrix[], matrix_row_t sla #endif // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) +//////////////////////////////////////////////////// +// POINTING + +#if defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) + +static bool pointing_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { +# if defined(POINTING_DEVICE_LEFT) + if (is_keyboard_left()) { + return true; + } +# elif defined(POINTING_DEVICE_RIGHT) + if (!is_keyboard_left()) { + return true; + } +# endif + static uint32_t last_update = 0; + static uint16_t last_cpi = 0; + report_mouse_t temp_state; + uint16_t temp_cpi; + bool okay = read_if_checksum_mismatch(GET_POINTING_CHECKSUM, GET_POINTING_DATA, &last_update, &temp_state, &split_shmem->pointing.report, sizeof(temp_state)); + if (okay) pointing_device_set_shared_report(temp_state); + temp_cpi = pointing_device_get_shared_cpi(); + if (temp_cpi && memcmp(&last_cpi, &temp_cpi, sizeof(temp_cpi)) != 0) { + memcpy(&split_shmem->pointing.cpi, &temp_cpi, sizeof(temp_cpi)); + okay = transport_write(PUT_POINTING_CPI, &split_shmem->pointing.cpi, sizeof(split_shmem->pointing.cpi)); + if (okay) { + last_cpi = temp_cpi; + } + } + return okay; +} + +extern const pointing_device_driver_t pointing_device_driver; + +static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { +# if defined(POINTING_DEVICE_LEFT) + if (!is_keyboard_left()) { + return; + } +# elif defined(POINTING_DEVICE_RIGHT) + if (is_keyboard_left()) { + return; + } +# endif + report_mouse_t temp_report; + uint16_t temp_cpi; +# ifdef POINTING_DEVICE_TASK_THROTTLE_MS + static uint32_t last_exec = 0; + if (timer_elapsed32(last_exec) < POINTING_DEVICE_TASK_THROTTLE_MS) { + return; + } + last_exec = timer_read32(); +# endif + temp_cpi = pointing_device_driver.get_cpi(); + if (split_shmem->pointing.cpi && memcmp(&split_shmem->pointing.cpi, &temp_cpi, sizeof(temp_cpi)) != 0) { + pointing_device_driver.set_cpi(split_shmem->pointing.cpi); + } + memset(&temp_report, 0, sizeof(temp_report)); + temp_report = pointing_device_driver.get_report(temp_report); + memcpy(&split_shmem->pointing.report, &temp_report, sizeof(temp_report)); + // Now update the checksum given that the pointing has been written to + split_shmem->pointing.checksum = crc8(&temp_report, sizeof(temp_report)); +} + +# define TRANSACTIONS_POINTING_MASTER() TRANSACTION_HANDLER_MASTER(pointing) +# define TRANSACTIONS_POINTING_SLAVE() TRANSACTION_HANDLER_SLAVE(pointing) +# define TRANSACTIONS_POINTING_REGISTRATIONS [GET_POINTING_CHECKSUM] = trans_target2initiator_initializer(pointing.checksum), [GET_POINTING_DATA] = trans_target2initiator_initializer(pointing.report), [PUT_POINTING_CPI] = trans_initiator2target_initializer(pointing.cpi), + +#else // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) + +# define TRANSACTIONS_POINTING_MASTER() +# define TRANSACTIONS_POINTING_SLAVE() +# define TRANSACTIONS_POINTING_REGISTRATIONS + +#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) + //////////////////////////////////////////////////// uint8_t dummy; @@ -604,6 +680,7 @@ split_transaction_desc_t split_transaction_table[NUM_TOTAL_TRANSACTIONS] = { TRANSACTIONS_WPM_REGISTRATIONS TRANSACTIONS_OLED_REGISTRATIONS TRANSACTIONS_ST7565_REGISTRATIONS + TRANSACTIONS_POINTING_REGISTRATIONS // clang-format on #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) @@ -629,6 +706,7 @@ bool transactions_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix TRANSACTIONS_WPM_MASTER(); TRANSACTIONS_OLED_MASTER(); TRANSACTIONS_ST7565_MASTER(); + TRANSACTIONS_POINTING_MASTER(); return true; } @@ -647,6 +725,7 @@ void transactions_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[ TRANSACTIONS_WPM_SLAVE(); TRANSACTIONS_OLED_SLAVE(); TRANSACTIONS_ST7565_SLAVE(); + TRANSACTIONS_POINTING_SLAVE(); } #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h index 1d4f6ed0cd86..31b804908b94 100644 --- a/quantum/split_common/transport.h +++ b/quantum/split_common/transport.h @@ -106,6 +106,15 @@ typedef struct _split_mods_sync_t { } split_mods_sync_t; #endif // SPLIT_MODS_ENABLE +#if defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) +# include "pointing_device.h" +typedef struct _split_slave_pointing_sync_t { + uint8_t checksum; + report_mouse_t report; + uint16_t cpi; +} split_slave_pointing_sync_t; +#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) + #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) typedef struct _rpc_sync_info_t { int8_t transaction_id; @@ -173,6 +182,10 @@ typedef struct _split_shared_memory_t { uint8_t current_st7565_state; #endif // ST7565_ENABLE(OLED_ENABLE) && defined(SPLIT_ST7565_ENABLE) +#if defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) + split_slave_pointing_sync_t pointing; +#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) + #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) rpc_sync_info_t rpc_info; uint8_t rpc_m2s_buffer[RPC_M2S_BUFFER_SIZE]; From f9cf09ebd1ac7431dd4a708cd37a365efd623812 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Sun, 26 Dec 2021 17:10:04 -0800 Subject: [PATCH 0029/1832] Format code according to conventions (#15588) --- quantum/pointing_device.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quantum/pointing_device.h b/quantum/pointing_device.h index 78398d8999fc..00229e8a24d6 100644 --- a/quantum/pointing_device.h +++ b/quantum/pointing_device.h @@ -97,5 +97,5 @@ report_mouse_t pointing_device_combine_reports(report_mouse_t left_report, repor report_mouse_t pointing_device_task_combined_kb(report_mouse_t left_report, report_mouse_t right_report); report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, report_mouse_t right_report); report_mouse_t pointing_device_adjust_by_defines_right(report_mouse_t mouse_report); -# endif //defined(POINTING_DEVICE_COMBINED) -#endif //defined(SPLIT_POINTING_ENABLE) +# endif // defined(POINTING_DEVICE_COMBINED) +#endif // defined(SPLIT_POINTING_ENABLE) From 672c6b47219067d1ec50057b17af4fcd98132ba4 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 26 Dec 2021 17:15:56 -0800 Subject: [PATCH 0030/1832] Make (un)register code functions weak (#15285) --- quantum/action.c | 16 ++++++++-------- quantum/quantum.c | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/quantum/action.c b/quantum/action.c index 5e81efb6712b..ea2310a4d96b 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -794,7 +794,7 @@ void process_action(keyrecord_t *record, action_t action) { * * FIXME: Needs documentation. */ -void register_code(uint8_t code) { +__attribute__((weak)) void register_code(uint8_t code) { if (code == KC_NO) { return; } @@ -890,7 +890,7 @@ void register_code(uint8_t code) { * * FIXME: Needs documentation. */ -void unregister_code(uint8_t code) { +__attribute__((weak)) void unregister_code(uint8_t code) { if (code == KC_NO) { return; } @@ -955,7 +955,7 @@ void unregister_code(uint8_t code) { * \param code The basic keycode to tap. * \param delay The amount of time in milliseconds to leave the keycode registered, before unregistering it. */ -void tap_code_delay(uint8_t code, uint16_t delay) { +__attribute__((weak)) void tap_code_delay(uint8_t code, uint16_t delay) { register_code(code); for (uint16_t i = delay; i > 0; i--) { wait_ms(1); @@ -967,13 +967,13 @@ void tap_code_delay(uint8_t code, uint16_t delay) { * * \param code The basic keycode to tap. If `code` is `KC_CAPS_LOCK`, the delay will be `TAP_HOLD_CAPS_DELAY`, otherwise `TAP_CODE_DELAY`, if defined. */ -void tap_code(uint8_t code) { tap_code_delay(code, code == KC_CAPS_LOCK ? TAP_HOLD_CAPS_DELAY : TAP_CODE_DELAY); } +__attribute__((weak)) void tap_code(uint8_t code) { tap_code_delay(code, code == KC_CAPS_LOCK ? TAP_HOLD_CAPS_DELAY : TAP_CODE_DELAY); } /** \brief Adds the given physically pressed modifiers and sends a keyboard report immediately. * * \param mods A bitfield of modifiers to register. */ -void register_mods(uint8_t mods) { +__attribute__((weak)) void register_mods(uint8_t mods) { if (mods) { add_mods(mods); send_keyboard_report(); @@ -984,7 +984,7 @@ void register_mods(uint8_t mods) { * * \param mods A bitfield of modifiers to unregister. */ -void unregister_mods(uint8_t mods) { +__attribute__((weak)) void unregister_mods(uint8_t mods) { if (mods) { del_mods(mods); send_keyboard_report(); @@ -995,7 +995,7 @@ void unregister_mods(uint8_t mods) { * * \param mods A bitfield of modifiers to register. */ -void register_weak_mods(uint8_t mods) { +__attribute__((weak)) void register_weak_mods(uint8_t mods) { if (mods) { add_weak_mods(mods); send_keyboard_report(); @@ -1006,7 +1006,7 @@ void register_weak_mods(uint8_t mods) { * * \param mods A bitfield of modifiers to unregister. */ -void unregister_weak_mods(uint8_t mods) { +__attribute__((weak)) void unregister_weak_mods(uint8_t mods) { if (mods) { del_weak_mods(mods); send_keyboard_report(); diff --git a/quantum/quantum.c b/quantum/quantum.c index 5ecc183327c2..c106f795d026 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -76,9 +76,9 @@ uint8_t extract_mod_bits(uint16_t code) { return mods_to_send; } -static void do_code16(uint16_t code, void (*f)(uint8_t)) { f(extract_mod_bits(code)); } +void do_code16(uint16_t code, void (*f)(uint8_t)) { f(extract_mod_bits(code)); } -void register_code16(uint16_t code) { +__attribute__((weak)) void register_code16(uint16_t code) { if (IS_MOD(code) || code == KC_NO) { do_code16(code, register_mods); } else { @@ -87,7 +87,7 @@ void register_code16(uint16_t code) { register_code(code); } -void unregister_code16(uint16_t code) { +__attribute__((weak)) void unregister_code16(uint16_t code) { unregister_code(code); if (IS_MOD(code) || code == KC_NO) { do_code16(code, unregister_mods); @@ -96,7 +96,7 @@ void unregister_code16(uint16_t code) { } } -void tap_code16(uint16_t code) { +__attribute__((weak)) void tap_code16(uint16_t code) { register_code16(code); #if TAP_CODE_DELAY > 0 wait_ms(TAP_CODE_DELAY); From 3a3272a3d660efc666c6b0376d2bff69901aef9b Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 27 Dec 2021 13:27:38 +1100 Subject: [PATCH 0031/1832] Defer pin operations to gpio.h (#15589) --- platforms/avr/drivers/serial.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/platforms/avr/drivers/serial.c b/platforms/avr/drivers/serial.c index 9a7345a53df4..7a4e5e76e694 100644 --- a/platforms/avr/drivers/serial.c +++ b/platforms/avr/drivers/serial.c @@ -119,12 +119,6 @@ # error invalid SOFT_SERIAL_PIN value # endif -# define setPinInputHigh(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) |= _BV((pin)&0xF)) -# define setPinOutput(pin) (DDRx_ADDRESS(pin) |= _BV((pin)&0xF)) -# define writePinHigh(pin) (PORTx_ADDRESS(pin) |= _BV((pin)&0xF)) -# define writePinLow(pin) (PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF)) -# define readPin(pin) ((bool)(PINx_ADDRESS(pin) & _BV((pin)&0xF))) - # define ALWAYS_INLINE __attribute__((always_inline)) # define NO_INLINE __attribute__((noinline)) # define _delay_sub_us(x) __builtin_avr_delay_cycles(x) From 25713dc2225556b20101347580146f9820d5e831 Mon Sep 17 00:00:00 2001 From: Chad Austin Date: Sun, 26 Dec 2021 18:44:56 -0800 Subject: [PATCH 0032/1832] Add sym_defer_pr debouncer type (#14948) --- data/schemas/keyboard.jsonschema | 2 +- docs/feature_debounce_type.md | 1 + quantum/debounce/sym_defer_pr.c | 72 ++++++ quantum/debounce/tests/rules.mk | 5 + quantum/debounce/tests/sym_defer_pr_tests.cpp | 223 ++++++++++++++++++ quantum/debounce/tests/testlist.mk | 1 + 6 files changed, 303 insertions(+), 1 deletion(-) create mode 100644 quantum/debounce/sym_defer_pr.c create mode 100644 quantum/debounce/tests/sym_defer_pr_tests.cpp diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 308f9b782bef..2daeaf04b4c5 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -69,7 +69,7 @@ "properties": { "debounce_type": { "type": "string", - "enum": ["custom", "eager_pk", "eager_pr", "sym_defer_pk", "sym_eager_pk"] + "enum": ["custom", "eager_pk", "eager_pr", "sym_defer_pk", "sym_defer_pr", "sym_eager_pk"] }, "firmware_format": { "type": "string", diff --git a/docs/feature_debounce_type.md b/docs/feature_debounce_type.md index f37a785b1e78..9cd736a24aca 100644 --- a/docs/feature_debounce_type.md +++ b/docs/feature_debounce_type.md @@ -116,6 +116,7 @@ Where name of algorithm is one of: For use in keyboards where refreshing ```NUM_KEYS``` 8-bit counters is computationally expensive / low scan rate, and fingers usually only hit one row at a time. This could be appropriate for the ErgoDox models; the matrix is rotated 90°, and hence its "rows" are really columns, and each finger only hits a single "row" at a time in normal use. * ```sym_eager_pk``` - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key +* ```sym_defer_pr``` - debouncing per row. On any state change, a per-row timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that row, the entire row is pushed. Can improve responsiveness over `sym_defer_g` while being less susceptible than per-key debouncers to noise. * ```sym_defer_pk``` - debouncing per key. On any state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key status change is pushed. * ```asym_eager_defer_pk``` - debouncing per key. On a key-down state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key. On a key-up state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key-up status change is pushed. diff --git a/quantum/debounce/sym_defer_pr.c b/quantum/debounce/sym_defer_pr.c new file mode 100644 index 000000000000..8b33acc6a261 --- /dev/null +++ b/quantum/debounce/sym_defer_pr.c @@ -0,0 +1,72 @@ +/* +Copyright 2021 Chad Austin +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +/* +Symmetric per-row debounce algorithm. Changes only apply when +DEBOUNCE milliseconds have elapsed since the last change. +*/ + +#include "matrix.h" +#include "timer.h" +#include "quantum.h" +#include + +#ifndef DEBOUNCE +# define DEBOUNCE 5 +#endif + +static uint16_t last_time; +// [row] milliseconds until key's state is considered debounced. +static uint8_t* countdowns; +// [row] +static matrix_row_t* last_raw; + +void debounce_init(uint8_t num_rows) { + countdowns = (uint8_t*)calloc(num_rows, sizeof(uint8_t)); + last_raw = (matrix_row_t*)calloc(num_rows, sizeof(matrix_row_t)); + + last_time = timer_read(); +} + +void debounce_free(void) { + free(countdowns); + countdowns = NULL; + free(last_raw); + last_raw = NULL; +} + +void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) { + uint16_t now = timer_read(); + uint16_t elapsed16 = TIMER_DIFF_16(now, last_time); + last_time = now; + uint8_t elapsed = (elapsed16 > 255) ? 255 : elapsed16; + + uint8_t* countdown = countdowns; + + for (uint8_t row = 0; row < num_rows; ++row, ++countdown) { + matrix_row_t raw_row = raw[row]; + + if (raw_row != last_raw[row]) { + *countdown = DEBOUNCE; + last_raw[row] = raw_row; + } else if (*countdown > elapsed) { + *countdown -= elapsed; + } else if (*countdown) { + cooked[row] = raw_row; + *countdown = 0; + } + } +} + +bool debounce_active(void) { return true; } diff --git a/quantum/debounce/tests/rules.mk b/quantum/debounce/tests/rules.mk index e908dd6f67e1..8318b1c6683d 100644 --- a/quantum/debounce/tests/rules.mk +++ b/quantum/debounce/tests/rules.mk @@ -28,6 +28,11 @@ debounce_sym_defer_pk_SRC := $(DEBOUNCE_COMMON_SRC) \ $(QUANTUM_PATH)/debounce/sym_defer_pk.c \ $(QUANTUM_PATH)/debounce/tests/sym_defer_pk_tests.cpp +debounce_sym_defer_pr_DEFS := $(DEBOUNCE_COMMON_DEFS) +debounce_sym_defer_pr_SRC := $(DEBOUNCE_COMMON_SRC) \ + $(QUANTUM_PATH)/debounce/sym_defer_pr.c \ + $(QUANTUM_PATH)/debounce/tests/sym_defer_pr_tests.cpp + debounce_sym_eager_pk_DEFS := $(DEBOUNCE_COMMON_DEFS) debounce_sym_eager_pk_SRC := $(DEBOUNCE_COMMON_SRC) \ $(QUANTUM_PATH)/debounce/sym_eager_pk.c \ diff --git a/quantum/debounce/tests/sym_defer_pr_tests.cpp b/quantum/debounce/tests/sym_defer_pr_tests.cpp new file mode 100644 index 000000000000..bb3333cf7bd3 --- /dev/null +++ b/quantum/debounce/tests/sym_defer_pr_tests.cpp @@ -0,0 +1,223 @@ +/* Copyright 2021 Simon Arlott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "gtest/gtest.h" + +#include "debounce_test_common.h" + +TEST_F(DebounceTest, OneKeyShort1) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + + {5, {}, {{0, 1, DOWN}}}, + /* 0ms delay (fast scan rate) */ + {5, {{0, 1, UP}}, {}}, + + {10, {}, {{0, 1, UP}}}, + }); + runEvents(); +} + +TEST_F(DebounceTest, OneKeyShort2) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + + {5, {}, {{0, 1, DOWN}}}, + /* 1ms delay */ + {6, {{0, 1, UP}}, {}}, + + {11, {}, {{0, 1, UP}}}, + }); + runEvents(); +} + +TEST_F(DebounceTest, OneKeyShort3) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + + {5, {}, {{0, 1, DOWN}}}, + /* 2ms delay */ + {7, {{0, 1, UP}}, {}}, + + {12, {}, {{0, 1, UP}}}, + }); + runEvents(); +} + +TEST_F(DebounceTest, OneKeyTooQuick1) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + /* Release key exactly on the debounce time */ + {5, {{0, 1, UP}}, {}}, + }); + runEvents(); +} + +TEST_F(DebounceTest, OneKeyTooQuick2) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + + {5, {}, {{0, 1, DOWN}}}, + {6, {{0, 1, UP}}, {}}, + + /* Press key exactly on the debounce time */ + {11, {{0, 1, DOWN}}, {}}, + }); + runEvents(); +} + +TEST_F(DebounceTest, OneKeyBouncing1) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + {1, {{0, 1, UP}}, {}}, + {2, {{0, 1, DOWN}}, {}}, + {3, {{0, 1, UP}}, {}}, + {4, {{0, 1, DOWN}}, {}}, + {5, {{0, 1, UP}}, {}}, + {6, {{0, 1, DOWN}}, {}}, + {11, {}, {{0, 1, DOWN}}}, /* 5ms after DOWN at time 7 */ + }); + runEvents(); +} + +TEST_F(DebounceTest, OneKeyBouncing2) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + {5, {}, {{0, 1, DOWN}}}, + {6, {{0, 1, UP}}, {}}, + {7, {{0, 1, DOWN}}, {}}, + {8, {{0, 1, UP}}, {}}, + {9, {{0, 1, DOWN}}, {}}, + {10, {{0, 1, UP}}, {}}, + {15, {}, {{0, 1, UP}}}, /* 5ms after UP at time 10 */ + }); + runEvents(); +} + +TEST_F(DebounceTest, OneKeyLong) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + + {5, {}, {{0, 1, DOWN}}}, + + {25, {{0, 1, UP}}, {}}, + + {30, {}, {{0, 1, UP}}}, + + {50, {{0, 1, DOWN}}, {}}, + + {55, {}, {{0, 1, DOWN}}}, + }); + runEvents(); +} + +TEST_F(DebounceTest, TwoKeysShort) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + {1, {{0, 2, DOWN}}, {}}, + + {6, {}, {{0, 1, DOWN}, {0, 2, DOWN}}}, + + {7, {{0, 1, UP}}, {}}, + {8, {{0, 2, UP}}, {}}, + + {13, {}, {{0, 1, UP}, {0, 2, UP}}}, + }); + runEvents(); +} + +TEST_F(DebounceTest, TwoKeysSimultaneous1) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}, {0, 2, DOWN}}, {}}, + + {5, {}, {{0, 1, DOWN}, {0, 2, DOWN}}}, + {6, {{0, 1, UP}, {0, 2, UP}}, {}}, + + {11, {}, {{0, 1, UP}, {0, 2, UP}}}, + }); + runEvents(); +} + +TEST_F(DebounceTest, TwoKeysSimultaneous2) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + {1, {{0, 2, DOWN}}, {}}, + + {6, {}, {{0, 1, DOWN}, {0, 2, DOWN}}}, + {7, {{0, 2, UP}}, {}}, + {9, {{0, 1, UP}}, {}}, + + // Debouncing loses the specific ordering -- both events report simultaneously. + {14, {}, {{0, 1, UP}, {0, 2, UP}}}, + }); + runEvents(); +} + +TEST_F(DebounceTest, OneKeyDelayedScan1) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + + /* Processing is very late */ + {300, {}, {{0, 1, DOWN}}}, + /* Immediately release key */ + {300, {{0, 1, UP}}, {}}, + + {305, {}, {{0, 1, UP}}}, + }); + time_jumps_ = true; + runEvents(); +} + +TEST_F(DebounceTest, OneKeyDelayedScan2) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + + /* Processing is very late */ + {300, {}, {{0, 1, DOWN}}}, + /* Release key after 1ms */ + {301, {{0, 1, UP}}, {}}, + + {306, {}, {{0, 1, UP}}}, + }); + time_jumps_ = true; + runEvents(); +} + +TEST_F(DebounceTest, OneKeyDelayedScan3) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + + /* Release key before debounce expires */ + {300, {{0, 1, UP}}, {}}, + }); + time_jumps_ = true; + runEvents(); +} + +TEST_F(DebounceTest, OneKeyDelayedScan4) { + addEvents({ /* Time, Inputs, Outputs */ + {0, {{0, 1, DOWN}}, {}}, + + /* Processing is a bit late */ + {50, {}, {{0, 1, DOWN}}}, + /* Release key after 1ms */ + {51, {{0, 1, UP}}, {}}, + + {56, {}, {{0, 1, UP}}}, + }); + time_jumps_ = true; + runEvents(); +} diff --git a/quantum/debounce/tests/testlist.mk b/quantum/debounce/tests/testlist.mk index c54c45aa63ef..f7bd5206983b 100644 --- a/quantum/debounce/tests/testlist.mk +++ b/quantum/debounce/tests/testlist.mk @@ -1,6 +1,7 @@ TEST_LIST += \ debounce_sym_defer_g \ debounce_sym_defer_pk \ + debounce_sym_defer_pr \ debounce_sym_eager_pk \ debounce_sym_eager_pr \ debounce_asym_eager_defer_pk From c93935f243dc7170dadfc2daf95e055fec56df6d Mon Sep 17 00:00:00 2001 From: Simon Arlott <70171+nomis@users.noreply.github.com> Date: Mon, 27 Dec 2021 03:04:26 +0000 Subject: [PATCH 0033/1832] Durgod: Increase scan rate by using wait_us GPT timer (#14091) Lower the tick rate from 10kHz to 1kHz (otherwise all the extra interrupts reduce the achievable scan rate). Enable the WAIT_US_TIMER using GPT TIM3. Observed scan rate on the K320 is increased from 625Hz to 2090-2120Hz. --- keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h | 2 +- keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h | 2 +- keyboards/durgod/dgk6x/config.h | 3 +++ keyboards/durgod/dgk6x/halconf.h | 3 +++ keyboards/durgod/k3x0/config.h | 3 +++ keyboards/durgod/k3x0/halconf.h | 2 ++ 6 files changed, 13 insertions(+), 2 deletions(-) diff --git a/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h b/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h index a7d95c51a9c2..d70f188178eb 100644 --- a/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h +++ b/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h @@ -21,7 +21,7 @@ #pragma once -#define CH_CFG_ST_FREQUENCY 10000 +#define CH_CFG_ST_FREQUENCY 1000 #define CH_CFG_ST_TIMEDELTA 0 diff --git a/keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h b/keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h index 6d67aa96aa9f..a24c1cee127d 100644 --- a/keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h +++ b/keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h @@ -85,7 +85,7 @@ */ #define STM32_GPT_USE_TIM1 FALSE #define STM32_GPT_USE_TIM2 FALSE -#define STM32_GPT_USE_TIM3 FALSE +#define STM32_GPT_USE_TIM3 TRUE #define STM32_GPT_USE_TIM14 FALSE #define STM32_GPT_TIM1_IRQ_PRIORITY 2 #define STM32_GPT_TIM2_IRQ_PRIORITY 2 diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h index 92673e5c24a5..a15ed8665057 100644 --- a/keyboards/durgod/dgk6x/config.h +++ b/keyboards/durgod/dgk6x/config.h @@ -22,6 +22,9 @@ #define VENDOR_ID 0xD60D #define MANUFACTURER Hoksi Technology +#define USB_POLLING_INTERVAL_MS 1 +#define WAIT_US_TIMER GPTD3 + /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL diff --git a/keyboards/durgod/dgk6x/halconf.h b/keyboards/durgod/dgk6x/halconf.h index 1772f8e4104e..9c1c6e52805a 100644 --- a/keyboards/durgod/dgk6x/halconf.h +++ b/keyboards/durgod/dgk6x/halconf.h @@ -19,4 +19,7 @@ #ifdef RGB_MATRIX_ENABLE #define HAL_USE_I2C TRUE #endif + +#define HAL_USE_GPT TRUE + #include_next diff --git a/keyboards/durgod/k3x0/config.h b/keyboards/durgod/k3x0/config.h index ef73a710164b..af543bb970b7 100644 --- a/keyboards/durgod/k3x0/config.h +++ b/keyboards/durgod/k3x0/config.h @@ -23,6 +23,9 @@ #define VENDOR_ID 0xD60D #define MANUFACTURER Hoksi Technology +#define USB_POLLING_INTERVAL_MS 1 +#define WAIT_US_TIMER GPTD3 + /* key matrix size (rows in specific keyboard variant) */ #define MATRIX_COLS 16 diff --git a/keyboards/durgod/k3x0/halconf.h b/keyboards/durgod/k3x0/halconf.h index fa20fe30a98e..d2a9d8c7c0b3 100644 --- a/keyboards/durgod/k3x0/halconf.h +++ b/keyboards/durgod/k3x0/halconf.h @@ -19,4 +19,6 @@ #define HAL_USE_PAL TRUE #define PAL_USE_CALLBACKS TRUE +#define HAL_USE_GPT TRUE + #include_next From eadfcb9a40e3812ed66b484b9302ca5ff5e9b852 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Sun, 26 Dec 2021 19:34:15 -0800 Subject: [PATCH 0034/1832] Format code according to conventions (#15590) --- quantum/debounce/tests/sym_defer_pr_tests.cpp | 45 ++++++++++++------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/quantum/debounce/tests/sym_defer_pr_tests.cpp b/quantum/debounce/tests/sym_defer_pr_tests.cpp index bb3333cf7bd3..417e1f4ca24a 100644 --- a/quantum/debounce/tests/sym_defer_pr_tests.cpp +++ b/quantum/debounce/tests/sym_defer_pr_tests.cpp @@ -19,7 +19,8 @@ #include "debounce_test_common.h" TEST_F(DebounceTest, OneKeyShort1) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, {5, {}, {{0, 1, DOWN}}}, @@ -32,7 +33,8 @@ TEST_F(DebounceTest, OneKeyShort1) { } TEST_F(DebounceTest, OneKeyShort2) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, {5, {}, {{0, 1, DOWN}}}, @@ -45,7 +47,8 @@ TEST_F(DebounceTest, OneKeyShort2) { } TEST_F(DebounceTest, OneKeyShort3) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, {5, {}, {{0, 1, DOWN}}}, @@ -58,7 +61,8 @@ TEST_F(DebounceTest, OneKeyShort3) { } TEST_F(DebounceTest, OneKeyTooQuick1) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, /* Release key exactly on the debounce time */ {5, {{0, 1, UP}}, {}}, @@ -67,7 +71,8 @@ TEST_F(DebounceTest, OneKeyTooQuick1) { } TEST_F(DebounceTest, OneKeyTooQuick2) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, {5, {}, {{0, 1, DOWN}}}, @@ -80,7 +85,8 @@ TEST_F(DebounceTest, OneKeyTooQuick2) { } TEST_F(DebounceTest, OneKeyBouncing1) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, {1, {{0, 1, UP}}, {}}, {2, {{0, 1, DOWN}}, {}}, @@ -94,7 +100,8 @@ TEST_F(DebounceTest, OneKeyBouncing1) { } TEST_F(DebounceTest, OneKeyBouncing2) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, {5, {}, {{0, 1, DOWN}}}, {6, {{0, 1, UP}}, {}}, @@ -108,7 +115,8 @@ TEST_F(DebounceTest, OneKeyBouncing2) { } TEST_F(DebounceTest, OneKeyLong) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, {5, {}, {{0, 1, DOWN}}}, @@ -125,7 +133,8 @@ TEST_F(DebounceTest, OneKeyLong) { } TEST_F(DebounceTest, TwoKeysShort) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, {1, {{0, 2, DOWN}}, {}}, @@ -140,7 +149,8 @@ TEST_F(DebounceTest, TwoKeysShort) { } TEST_F(DebounceTest, TwoKeysSimultaneous1) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}, {0, 2, DOWN}}, {}}, {5, {}, {{0, 1, DOWN}, {0, 2, DOWN}}}, @@ -152,7 +162,8 @@ TEST_F(DebounceTest, TwoKeysSimultaneous1) { } TEST_F(DebounceTest, TwoKeysSimultaneous2) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, {1, {{0, 2, DOWN}}, {}}, @@ -167,7 +178,8 @@ TEST_F(DebounceTest, TwoKeysSimultaneous2) { } TEST_F(DebounceTest, OneKeyDelayedScan1) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, /* Processing is very late */ @@ -182,7 +194,8 @@ TEST_F(DebounceTest, OneKeyDelayedScan1) { } TEST_F(DebounceTest, OneKeyDelayedScan2) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, /* Processing is very late */ @@ -197,7 +210,8 @@ TEST_F(DebounceTest, OneKeyDelayedScan2) { } TEST_F(DebounceTest, OneKeyDelayedScan3) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, /* Release key before debounce expires */ @@ -208,7 +222,8 @@ TEST_F(DebounceTest, OneKeyDelayedScan3) { } TEST_F(DebounceTest, OneKeyDelayedScan4) { - addEvents({ /* Time, Inputs, Outputs */ + addEvents({ + /* Time, Inputs, Outputs */ {0, {{0, 1, DOWN}}, {}}, /* Processing is a bit late */ From c53ee0b3cef8d837304fc03bd57d579c01686fb8 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 27 Dec 2021 15:15:49 +1100 Subject: [PATCH 0035/1832] Fixup line endings --- keyboards/deltapad/deltapad.c | 34 ++++++++++----------- keyboards/deltapad/readme.md | 56 +++++++++++++++++------------------ 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/keyboards/deltapad/deltapad.c b/keyboards/deltapad/deltapad.c index c5a6d866ebcb..ee9ac17c4a58 100644 --- a/keyboards/deltapad/deltapad.c +++ b/keyboards/deltapad/deltapad.c @@ -1,17 +1,17 @@ -/* Copyright 2021 Richard Snijder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "deltapad.h" +/* Copyright 2021 Richard Snijder + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "deltapad.h" diff --git a/keyboards/deltapad/readme.md b/keyboards/deltapad/readme.md index ca44b2d7af74..858f99b43652 100644 --- a/keyboards/deltapad/readme.md +++ b/keyboards/deltapad/readme.md @@ -1,28 +1,28 @@ -# deltapad - - - -*A short description of the keyboard/project* - -A 4x4 keypad - -* Keyboard Maintainer: [Richard Snijder](https://github.com/rich239) -* Hardware Supported: Atmel 32u4 based keypads - - -Make example for this keyboard (after setting up your build environment): - - make deltapad:default - -Flashing example for this keyboard: - - make deltapad:default:flash - -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). - -## Bootloader - -Enter the bootloader in the following way: - -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead - +# deltapad + + + +*A short description of the keyboard/project* + +A 4x4 keypad + +* Keyboard Maintainer: [Richard Snijder](https://github.com/rich239) +* Hardware Supported: Atmel 32u4 based keypads + + +Make example for this keyboard (after setting up your build environment): + + make deltapad:default + +Flashing example for this keyboard: + + make deltapad:default:flash + +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). + +## Bootloader + +Enter the bootloader in the following way: + +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead + From 4d96e5322298c4e355b30723e4cf75bbf746addc Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 27 Dec 2021 16:36:52 +1100 Subject: [PATCH 0036/1832] More GPIO compilation fixes. (#15592) --- platforms/avr/drivers/serial.c | 1 + 1 file changed, 1 insertion(+) diff --git a/platforms/avr/drivers/serial.c b/platforms/avr/drivers/serial.c index 7a4e5e76e694..ab0b52afd19c 100644 --- a/platforms/avr/drivers/serial.c +++ b/platforms/avr/drivers/serial.c @@ -16,6 +16,7 @@ #include #include #include +#include "gpio.h" #include "serial.h" #ifdef SOFT_SERIAL_PIN From ac31863021791c8bbaa98a83afe90ec6505f4897 Mon Sep 17 00:00:00 2001 From: Jay Greco Date: Mon, 27 Dec 2021 02:03:40 -0800 Subject: [PATCH 0037/1832] Custom matrix lite support for split keyboards (#14674) * Custom matrix lite support for split keyboards * WIP: matrix -> matrix_common refactor * Move matrix_post_scan() to matrix_common.c --- quantum/matrix.c | 35 +------------------ quantum/matrix.h | 1 + quantum/matrix_common.c | 75 ++++++++++++++++++++++++++++++++++++++--- 3 files changed, 72 insertions(+), 39 deletions(-) diff --git a/quantum/matrix.c b/quantum/matrix.c index 483d518eccf9..a58cc752fbe8 100644 --- a/quantum/matrix.c +++ b/quantum/matrix.c @@ -63,17 +63,13 @@ extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values #ifdef SPLIT_KEYBOARD // row offsets for each hand -uint8_t thisHand, thatHand; +extern uint8_t thisHand, thatHand; #endif // user-defined overridable functions __attribute__((weak)) void matrix_init_pins(void); __attribute__((weak)) void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row); __attribute__((weak)) void matrix_read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col, matrix_row_t row_shifter); -#ifdef SPLIT_KEYBOARD -__attribute__((weak)) void matrix_slave_scan_kb(void) { matrix_slave_scan_user(); } -__attribute__((weak)) void matrix_slave_scan_user(void) {} -#endif static inline void setPinOutput_writeLow(pin_t pin) { ATOMIC_BLOCK_FORCEON { @@ -308,35 +304,6 @@ __attribute__((weak)) bool transport_master_if_connected(matrix_row_t master_mat transport_master(master_matrix, slave_matrix); return true; // Treat the transport as always connected } - -bool matrix_post_scan(void) { - bool changed = false; - if (is_keyboard_master()) { - static bool last_connected = false; - matrix_row_t slave_matrix[ROWS_PER_HAND] = {0}; - if (transport_master_if_connected(matrix + thisHand, slave_matrix)) { - changed = memcmp(matrix + thatHand, slave_matrix, sizeof(slave_matrix)) != 0; - - last_connected = true; - } else if (last_connected) { - // reset other half when disconnected - memset(slave_matrix, 0, sizeof(slave_matrix)); - changed = true; - - last_connected = false; - } - - if (changed) memcpy(matrix + thatHand, slave_matrix, sizeof(slave_matrix)); - - matrix_scan_quantum(); - } else { - transport_slave(matrix + thatHand, matrix + thisHand); - - matrix_slave_scan_kb(); - } - - return changed; -} #endif uint8_t matrix_scan(void) { diff --git a/quantum/matrix.h b/quantum/matrix.h index 1a3f362fbac1..d968efeb0f51 100644 --- a/quantum/matrix.h +++ b/quantum/matrix.h @@ -73,6 +73,7 @@ void matrix_init_user(void); void matrix_scan_user(void); #ifdef SPLIT_KEYBOARD +bool matrix_post_scan(void); void matrix_slave_scan_kb(void); void matrix_slave_scan_user(void); #endif diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c index fe1d5b1eddaa..79f77421e1ea 100644 --- a/quantum/matrix_common.c +++ b/quantum/matrix_common.c @@ -4,6 +4,14 @@ #include "wait.h" #include "print.h" #include "debug.h" +#ifdef SPLIT_KEYBOARD +# include "split_common/split_util.h" +# include "split_common/transactions.h" + +# define ROWS_PER_HAND (MATRIX_ROWS / 2) +#else +# define ROWS_PER_HAND (MATRIX_ROWS) +#endif #ifndef MATRIX_IO_DELAY # define MATRIX_IO_DELAY 30 @@ -13,6 +21,11 @@ matrix_row_t raw_matrix[MATRIX_ROWS]; matrix_row_t matrix[MATRIX_ROWS]; +#ifdef SPLIT_KEYBOARD +// row offsets for each hand +uint8_t thisHand, thatHand; +#endif + #ifdef MATRIX_MASKED extern const matrix_row_t matrix_mask[]; #endif @@ -78,18 +91,61 @@ uint8_t matrix_key_count(void) { return count; } +#ifdef SPLIT_KEYBOARD +bool matrix_post_scan(void) { + bool changed = false; + if (is_keyboard_master()) { + matrix_row_t slave_matrix[ROWS_PER_HAND] = {0}; + if (transport_master_if_connected(matrix + thisHand, slave_matrix)) { + for (int i = 0; i < ROWS_PER_HAND; ++i) { + if (matrix[thatHand + i] != slave_matrix[i]) { + matrix[thatHand + i] = slave_matrix[i]; + changed = true; + } + } + } else { + // reset other half if disconnected + for (int i = 0; i < ROWS_PER_HAND; ++i) { + matrix[thatHand + i] = 0; + slave_matrix[i] = 0; + } + + changed = true; + } + + matrix_scan_quantum(); + } else { + transport_slave(matrix + thatHand, matrix + thisHand); + + matrix_slave_scan_kb(); + } + + return changed; +} +#endif + /* `matrix_io_delay ()` exists for backwards compatibility. From now on, use matrix_output_unselect_delay(). */ __attribute__((weak)) void matrix_io_delay(void) { wait_us(MATRIX_IO_DELAY); } - __attribute__((weak)) void matrix_output_select_delay(void) { waitInputPinDelay(); } __attribute__((weak)) void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { matrix_io_delay(); } // CUSTOM MATRIX 'LITE' __attribute__((weak)) void matrix_init_custom(void) {} - __attribute__((weak)) bool matrix_scan_custom(matrix_row_t current_matrix[]) { return true; } +#ifdef SPLIT_KEYBOARD +__attribute__((weak)) void matrix_slave_scan_kb(void) { matrix_slave_scan_user(); } +__attribute__((weak)) void matrix_slave_scan_user(void) {} +#endif + __attribute__((weak)) void matrix_init(void) { +#ifdef SPLIT_KEYBOARD + split_pre_init(); + + thisHand = isLeftHand ? 0 : (ROWS_PER_HAND); + thatHand = ROWS_PER_HAND - thisHand; +#endif + matrix_init_custom(); // initialize matrix state: all keys off @@ -98,17 +154,26 @@ __attribute__((weak)) void matrix_init(void) { matrix[i] = 0; } - debounce_init(MATRIX_ROWS); + debounce_init(ROWS_PER_HAND); matrix_init_quantum(); + +#ifdef SPLIT_KEYBOARD + split_post_init(); +#endif } __attribute__((weak)) uint8_t matrix_scan(void) { bool changed = matrix_scan_custom(raw_matrix); - debounce(raw_matrix, matrix, MATRIX_ROWS, changed); - +#ifdef SPLIT_KEYBOARD + debounce(raw_matrix, matrix + thisHand, ROWS_PER_HAND, changed); + changed = (changed || matrix_post_scan()); +#else + debounce(raw_matrix, matrix, ROWS_PER_HAND, changed); matrix_scan_quantum(); +#endif + return changed; } From 6bc870d899c474bce82457699ec4b753d1538123 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 27 Dec 2021 21:10:07 +1100 Subject: [PATCH 0038/1832] Refactor `bootloader_jump()` implementations (#15450) * Refactor `bootloader_jump()` implementations * Fix tests? * Rename `atmel-samba` to `md-boot` --- build_test.mk | 1 + builddefs/bootloader.mk | 40 ++- data/schemas/keyboard.jsonschema | 2 +- keyboards/handwired/onekey/teensy_32/rules.mk | 3 + keyboards/handwired/onekey/teensy_lc/rules.mk | 3 + keyboards/massdrop/alt/rules.mk | 3 + keyboards/massdrop/ctrl/rules.mk | 3 + keyboards/mechlovin/olly/jf/rules.mk | 4 +- keyboards/rocketboard_16/rules.mk | 2 +- keyboards/tgr/jane/v2ce/rules.mk | 2 +- .../{bootloader.c => bootloaders/md_boot.c} | 43 ++- platforms/avr/bootloader.c | 293 ------------------ platforms/avr/bootloaders/bootloadhid.c | 34 ++ platforms/avr/bootloaders/caterina.c | 39 +++ platforms/avr/bootloaders/dfu.c | 53 ++++ platforms/avr/bootloaders/halfkay.c | 129 ++++++++ platforms/avr/bootloaders/none.c | 20 ++ platforms/avr/bootloaders/usbasploader.c | 57 ++++ platforms/chibios/bootloader.c | 145 --------- platforms/chibios/bootloaders/gd32v_dfu.c | 40 +++ platforms/chibios/bootloaders/halfkay.c | 26 ++ platforms/chibios/bootloaders/kiibohd.c | 33 ++ platforms/chibios/bootloaders/none.c | 20 ++ platforms/chibios/bootloaders/stm32_dfu.c | 96 ++++++ platforms/chibios/bootloaders/stm32duino.c | 24 ++ platforms/chibios/bootloaders/tinyuf2.c | 35 +++ platforms/common.mk | 2 +- .../test/{bootloader.c => bootloaders/none.c} | 2 +- .../protocol/arm_atsam/arm_atsam_protocol.h | 1 - tmk_core/protocol/arm_atsam/md_bootloader.h | 24 -- tmk_core/protocol/arm_atsam/startup.c | 6 +- tmk_core/protocol/arm_atsam/usb/udc.c | 5 +- 32 files changed, 699 insertions(+), 491 deletions(-) rename platforms/arm_atsam/{bootloader.c => bootloaders/md_boot.c} (77%) delete mode 100644 platforms/avr/bootloader.c create mode 100644 platforms/avr/bootloaders/bootloadhid.c create mode 100644 platforms/avr/bootloaders/caterina.c create mode 100644 platforms/avr/bootloaders/dfu.c create mode 100644 platforms/avr/bootloaders/halfkay.c create mode 100644 platforms/avr/bootloaders/none.c create mode 100644 platforms/avr/bootloaders/usbasploader.c delete mode 100644 platforms/chibios/bootloader.c create mode 100644 platforms/chibios/bootloaders/gd32v_dfu.c create mode 100644 platforms/chibios/bootloaders/halfkay.c create mode 100644 platforms/chibios/bootloaders/kiibohd.c create mode 100644 platforms/chibios/bootloaders/none.c create mode 100644 platforms/chibios/bootloaders/stm32_dfu.c create mode 100644 platforms/chibios/bootloaders/stm32duino.c create mode 100644 platforms/chibios/bootloaders/tinyuf2.c rename platforms/test/{bootloader.c => bootloaders/none.c} (95%) delete mode 100644 tmk_core/protocol/arm_atsam/md_bootloader.h diff --git a/build_test.mk b/build_test.mk index 136a0455f01c..ec6699b4ea6e 100644 --- a/build_test.mk +++ b/build_test.mk @@ -43,6 +43,7 @@ all: elf VPATH += $(COMMON_VPATH) PLATFORM:=TEST PLATFORM_KEY:=test +BOOTLOADER_TYPE:=none ifeq ($(strip $(DEBUG)), 1) CONSOLE_ENABLE = yes diff --git a/builddefs/bootloader.mk b/builddefs/bootloader.mk index ccb92392d903..470febc34607 100644 --- a/builddefs/bootloader.mk +++ b/builddefs/bootloader.mk @@ -30,6 +30,7 @@ # bootloadhid HIDBootFlash compatible (ATmega32A) # usbasploader USBaspLoader (ATmega328P) # ARM: +# halfkay PJRC Teensy # kiibohd Input:Club Kiibohd bootloader (only used on their boards) # stm32duino STM32Duino (STM32F103x8) # stm32-dfu STM32 USB DFU in ROM @@ -43,6 +44,8 @@ ifeq ($(strip $(BOOTLOADER)), atmel-dfu) OPT_DEFS += -DBOOTLOADER_ATMEL_DFU OPT_DEFS += -DBOOTLOADER_DFU + BOOTLOADER_TYPE = dfu + ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647)) BOOTLOADER_SIZE = 4096 endif @@ -53,6 +56,8 @@ endif ifeq ($(strip $(BOOTLOADER)), lufa-dfu) OPT_DEFS += -DBOOTLOADER_LUFA_DFU OPT_DEFS += -DBOOTLOADER_DFU + BOOTLOADER_TYPE = dfu + ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647)) BOOTLOADER_SIZE ?= 4096 endif @@ -63,6 +68,8 @@ endif ifeq ($(strip $(BOOTLOADER)), qmk-dfu) OPT_DEFS += -DBOOTLOADER_QMK_DFU OPT_DEFS += -DBOOTLOADER_DFU + BOOTLOADER_TYPE = dfu + ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647)) BOOTLOADER_SIZE ?= 4096 endif @@ -73,10 +80,14 @@ endif ifeq ($(strip $(BOOTLOADER)), qmk-hid) OPT_DEFS += -DBOOTLOADER_QMK_HID OPT_DEFS += -DBOOTLOADER_HID + BOOTLOADER_TYPE = dfu + BOOTLOADER_SIZE ?= 4096 endif ifeq ($(strip $(BOOTLOADER)), halfkay) OPT_DEFS += -DBOOTLOADER_HALFKAY + BOOTLOADER_TYPE = halfkay + ifeq ($(strip $(MCU)), atmega32u4) BOOTLOADER_SIZE = 512 endif @@ -86,18 +97,26 @@ ifeq ($(strip $(BOOTLOADER)), halfkay) endif ifeq ($(strip $(BOOTLOADER)), caterina) OPT_DEFS += -DBOOTLOADER_CATERINA + BOOTLOADER_TYPE = caterina + BOOTLOADER_SIZE = 4096 endif ifneq (,$(filter $(BOOTLOADER), bootloadhid bootloadHID)) OPT_DEFS += -DBOOTLOADER_BOOTLOADHID + BOOTLOADER_TYPE = bootloadhid + BOOTLOADER_SIZE = 4096 endif ifneq (,$(filter $(BOOTLOADER), usbasploader USBasp)) OPT_DEFS += -DBOOTLOADER_USBASP + BOOTLOADER_TYPE = usbasploader + BOOTLOADER_SIZE = 4096 endif ifeq ($(strip $(BOOTLOADER)), lufa-ms) OPT_DEFS += -DBOOTLOADER_MS + BOOTLOADER_TYPE = dfu + BOOTLOADER_SIZE ?= 8192 FIRMWARE_FORMAT = bin cpfirmware: lufa_warning @@ -115,6 +134,7 @@ endif ifeq ($(strip $(BOOTLOADER)), stm32-dfu) OPT_DEFS += -DBOOTLOADER_STM32_DFU + BOOTLOADER_TYPE = stm32_dfu # Options to pass to dfu-util when flashing DFU_ARGS ?= -d 0483:DF11 -a 0 -s 0x08000000:leave @@ -122,6 +142,7 @@ ifeq ($(strip $(BOOTLOADER)), stm32-dfu) endif ifeq ($(strip $(BOOTLOADER)), apm32-dfu) OPT_DEFS += -DBOOTLOADER_APM32_DFU + BOOTLOADER_TYPE = stm32_dfu # Options to pass to dfu-util when flashing DFU_ARGS ?= -d 314B:0106 -a 0 -s 0x08000000:leave @@ -129,6 +150,7 @@ ifeq ($(strip $(BOOTLOADER)), apm32-dfu) endif ifeq ($(strip $(BOOTLOADER)), gd32v-dfu) OPT_DEFS += -DBOOTLOADER_GD32V_DFU + BOOTLOADER_TYPE = gd32v_dfu # Options to pass to dfu-util when flashing DFU_ARGS ?= -d 28E9:0189 -a 0 -s 0x08000000:leave @@ -136,6 +158,8 @@ ifeq ($(strip $(BOOTLOADER)), gd32v-dfu) endif ifeq ($(strip $(BOOTLOADER)), kiibohd) OPT_DEFS += -DBOOTLOADER_KIIBOHD + BOOTLOADER_TYPE = kiibohd + ifeq ($(strip $(MCU_ORIG)), MK20DX128) MCU_LDSCRIPT = MK20DX128BLDR4 endif @@ -151,8 +175,7 @@ ifeq ($(strip $(BOOTLOADER)), stm32duino) OPT_DEFS += -DBOOTLOADER_STM32DUINO MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader BOARD = STM32_F103_STM32DUINO - # STM32F103 does NOT have an USB bootloader in ROM (only serial), so setting anything here does not make much sense - STM32_BOOTLOADER_ADDRESS = 0x80000000 + BOOTLOADER_TYPE = stm32duino # Options to pass to dfu-util when flashing DFU_ARGS = -d 1EAF:0003 -a 2 -R @@ -160,4 +183,17 @@ ifeq ($(strip $(BOOTLOADER)), stm32duino) endif ifeq ($(strip $(BOOTLOADER)), tinyuf2) OPT_DEFS += -DBOOTLOADER_TINYUF2 + BOOTLOADER_TYPE = tinyuf2 +endif +ifeq ($(strip $(BOOTLOADER)), halfkay) + OPT_DEFS += -DBOOTLOADER_HALFKAY + BOOTLOADER_TYPE = halfkay +endif +ifeq ($(strip $(BOOTLOADER)), md-boot) + OPT_DEFS += -DBOOTLOADER_MD_BOOT + BOOTLOADER_TYPE = md_boot +endif + +ifeq ($(strip $(BOOTLOADER_TYPE)),) + BOOTLOADER_TYPE = none endif diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 2daeaf04b4c5..94bbbe7e8554 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -57,7 +57,7 @@ }, "bootloader": { "type": "string", - "enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "gd32v-dfu", "wb32-dfu", "unknown", "usbasploader", "USBasp", "tinyuf2"], + "enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "md-boot", "micronucleus", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "gd32v-dfu", "wb32-dfu", "unknown", "usbasploader", "USBasp", "tinyuf2"], }, "bootloader_instructions": { "type": "string", diff --git a/keyboards/handwired/onekey/teensy_32/rules.mk b/keyboards/handwired/onekey/teensy_32/rules.mk index c1b90d0d2bf7..937c9d5103aa 100644 --- a/keyboards/handwired/onekey/teensy_32/rules.mk +++ b/keyboards/handwired/onekey/teensy_32/rules.mk @@ -1,5 +1,8 @@ # MCU name MCU = MK20DX256 +# Bootloader selection +BOOTLOADER = halfkay + # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/handwired/onekey/teensy_lc/rules.mk b/keyboards/handwired/onekey/teensy_lc/rules.mk index b3daabe317d9..0e3c7edf7a08 100644 --- a/keyboards/handwired/onekey/teensy_lc/rules.mk +++ b/keyboards/handwired/onekey/teensy_lc/rules.mk @@ -2,5 +2,8 @@ MCU = MKL26Z64 USE_CHIBIOS_CONTRIB = yes +# Bootloader selection +BOOTLOADER = halfkay + # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/massdrop/alt/rules.mk b/keyboards/massdrop/alt/rules.mk index 83d4fc590b92..f0ff36fa35bf 100644 --- a/keyboards/massdrop/alt/rules.mk +++ b/keyboards/massdrop/alt/rules.mk @@ -5,6 +5,9 @@ SRC += config_led.c ARM_ATSAM = SAMD51J18A MCU = cortex-m4 +# Bootloader selection +BOOTLOADER = md-boot + # Build Options # change yes to no to disable # diff --git a/keyboards/massdrop/ctrl/rules.mk b/keyboards/massdrop/ctrl/rules.mk index 667642f83d9b..a302c82d86ef 100644 --- a/keyboards/massdrop/ctrl/rules.mk +++ b/keyboards/massdrop/ctrl/rules.mk @@ -5,6 +5,9 @@ SRC += config_led.c ARM_ATSAM = SAMD51J18A MCU = cortex-m4 +# Bootloader selection +BOOTLOADER = md-boot + # Build Options # change yes to no to disable # diff --git a/keyboards/mechlovin/olly/jf/rules.mk b/keyboards/mechlovin/olly/jf/rules.mk index c0c9b2d7ea9c..2fafe64f12e8 100644 --- a/keyboards/mechlovin/olly/jf/rules.mk +++ b/keyboards/mechlovin/olly/jf/rules.mk @@ -5,7 +5,7 @@ MCU = atmega32a F_CPU = 16000000 # Bootloader selection -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable @@ -21,4 +21,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = lite -SRC += matrix.c \ No newline at end of file +SRC += matrix.c diff --git a/keyboards/rocketboard_16/rules.mk b/keyboards/rocketboard_16/rules.mk index d27da2c22615..c07ebff42720 100644 --- a/keyboards/rocketboard_16/rules.mk +++ b/keyboards/rocketboard_16/rules.mk @@ -8,7 +8,7 @@ MCU = STM32F103 MCU_LDSCRIPT = STM32F103xB_stm32duino_bootloader OPT_DEFS += -DBOOTLOADER_STM32DUINO BOARD = STM32_F103_STM32DUINO -STM32_BOOTLOADER_ADDRESS = 0x80000000 +BOOTLOADER_TYPE = stm32duino DFU_ARGS = -d 1EAF:0003 -a 2 -R DFU_SUFFIX_ARGS = -v 1EAF -p 0003 diff --git a/keyboards/tgr/jane/v2ce/rules.mk b/keyboards/tgr/jane/v2ce/rules.mk index 0a865321a64e..8fcc8d911f20 100644 --- a/keyboards/tgr/jane/v2ce/rules.mk +++ b/keyboards/tgr/jane/v2ce/rules.mk @@ -2,7 +2,7 @@ MCU = atmega32a # Bootloader selection -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # Build Options # change yes to no to disable diff --git a/platforms/arm_atsam/bootloader.c b/platforms/arm_atsam/bootloaders/md_boot.c similarity index 77% rename from platforms/arm_atsam/bootloader.c rename to platforms/arm_atsam/bootloaders/md_boot.c index 9015b00aab1a..fe0738948775 100644 --- a/platforms/arm_atsam/bootloader.c +++ b/platforms/arm_atsam/bootloaders/md_boot.c @@ -15,13 +15,18 @@ */ #include "bootloader.h" + #include "samd51j18a.h" -#include "md_bootloader.h" -// Set watchdog timer to reset. Directs the bootloader to stay in programming mode. -void bootloader_jump(void) { #ifdef KEYBOARD_massdrop_ctrl - // CTRL keyboards released with bootloader version below must use RAM method. Otherwise use WDT method. +// WARNING: These are only for CTRL bootloader release "v2.18Jun 22 2018 17:28:08" for bootloader_jump support +extern uint32_t _eram; + +#define BOOTLOADER_MAGIC 0x3B9ACA00 +#define MAGIC_ADDR (uint32_t *)((intptr_t)(&_eram) - 4) + +// CTRL keyboards released with bootloader version below must use RAM method. Otherwise use WDT method. +void bootloader_jump(void) { uint8_t ver_ram_method[] = "v2.18Jun 22 2018 17:28:08"; // The version to match (NULL terminated by compiler) uint8_t *ver_check = ver_ram_method; // Pointer to version match string for traversal uint8_t *ver_rom = (uint8_t *)0x21A0; // Pointer to address in ROM where this specific bootloader version would exist @@ -34,24 +39,28 @@ void bootloader_jump(void) { if (!*ver_check) { // If check version pointer is NULL, all characters have matched *MAGIC_ADDR = BOOTLOADER_MAGIC; // Set magic number into RAM NVIC_SystemReset(); // Perform system reset - while (1) { - } // Won't get here + + while (1); // Won't get here } -#endif +} +#else + +// Set watchdog timer to reset. Directs the bootloader to stay in programming mode. +void bootloader_jump(void) { WDT->CTRLA.bit.ENABLE = 0; - while (WDT->SYNCBUSY.bit.ENABLE) { - } - while (WDT->CTRLA.bit.ENABLE) { - } + + while (WDT->SYNCBUSY.bit.ENABLE); + while (WDT->CTRLA.bit.ENABLE); + WDT->CONFIG.bit.WINDOW = 0; WDT->CONFIG.bit.PER = 0; WDT->EWCTRL.bit.EWOFFSET = 0; WDT->CTRLA.bit.ENABLE = 1; - while (WDT->SYNCBUSY.bit.ENABLE) { - } - while (!WDT->CTRLA.bit.ENABLE) { - } - while (1) { - } // Wait on timeout + + while (WDT->SYNCBUSY.bit.ENABLE); + while (!WDT->CTRLA.bit.ENABLE); + + while (1); // Wait on timeout } +#endif diff --git a/platforms/avr/bootloader.c b/platforms/avr/bootloader.c deleted file mode 100644 index c0272903b83d..000000000000 --- a/platforms/avr/bootloader.c +++ /dev/null @@ -1,293 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include "bootloader.h" -#include - -#ifdef PROTOCOL_LUFA -# include -#endif - -/** \brief Bootloader Size in *bytes* - * - * AVR Boot section size are defined by setting BOOTSZ fuse in fact. Consult with your MCU datasheet. - * Note that 'Word'(2 bytes) size and address are used in datasheet while TMK uses 'Byte'. - * - * Size of Bootloaders in bytes: - * Atmel DFU loader(ATmega32U4) 4096 - * Atmel DFU loader(AT90USB128) 8192 - * LUFA bootloader(ATmega32U4) 4096 - * Arduino Caterina(ATmega32U4) 4096 - * USBaspLoader(ATmega***) 2048 - * Teensy halfKay(ATmega32U4) 512 - * Teensy++ halfKay(AT90USB128) 1024 - * - * AVR Boot section is located at the end of Flash memory like the followings. - * - * byte Atmel/LUFA(ATMega32u4) byte Atmel(AT90SUB128) - * 0x0000 +---------------+ 0x00000 +---------------+ - * | | | | - * | | | | - * | Application | | Application | - * | | | | - * = = = = - * | | 32KB-4KB | | 128KB-8KB - * 0x7000 +---------------+ 0x1E000 +---------------+ - * | Bootloader | 4KB | Bootloader | 8KB - * 0x7FFF +---------------+ 0x1FFFF +---------------+ - * - * - * byte Teensy(ATMega32u4) byte Teensy++(AT90SUB128) - * 0x0000 +---------------+ 0x00000 +---------------+ - * | | | | - * | | | | - * | Application | | Application | - * | | | | - * = = = = - * | | 32KB-512B | | 128KB-1KB - * 0x7E00 +---------------+ 0x1FC00 +---------------+ - * | Bootloader | 512B | Bootloader | 1KB - * 0x7FFF +---------------+ 0x1FFFF +---------------+ - */ -#define FLASH_SIZE (FLASHEND + 1L) - -#if !defined(BOOTLOADER_SIZE) -uint16_t bootloader_start; -#endif - -// compatibility between ATMega8 and ATMega88 -#if !defined(MCUCSR) -# if defined(MCUSR) -# define MCUCSR MCUSR -# endif -#endif - -/** \brief Entering the Bootloader via Software - * - * http://www.fourwalledcubicle.com/files/LUFA/Doc/120730/html/_page__software_bootloader_start.html - */ -#define BOOTLOADER_RESET_KEY 0xB007B007 -uint32_t reset_key __attribute__((section(".noinit,\"aw\",@nobits;"))); - -/** \brief initialize MCU status by watchdog reset - * - * FIXME: needs doc - */ -__attribute__((weak)) void bootloader_jump(void) { -#if !defined(BOOTLOADER_SIZE) - uint8_t high_fuse = boot_lock_fuse_bits_get(GET_HIGH_FUSE_BITS); - - if (high_fuse & ~(FUSE_BOOTSZ0 & FUSE_BOOTSZ1)) { - bootloader_start = (FLASH_SIZE - 512) >> 1; - } else if (high_fuse & ~(FUSE_BOOTSZ1)) { - bootloader_start = (FLASH_SIZE - 1024) >> 1; - } else if (high_fuse & ~(FUSE_BOOTSZ0)) { - bootloader_start = (FLASH_SIZE - 2048) >> 1; - } else { - bootloader_start = (FLASH_SIZE - 4096) >> 1; - } -#endif - - // Something like this might work, but it compiled larger than the block above - // bootloader_start = FLASH_SIZE - (256 << (~high_fuse & 0b110 >> 1)); - -#if defined(BOOTLOADER_HALFKAY) - // http://www.pjrc.com/teensy/jump_to_bootloader.html - cli(); - // disable watchdog, if enabled (it's not) - // disable all peripherals - // a shutdown call might make sense here - UDCON = 1; - USBCON = (1 << FRZCLK); // disable USB - UCSR1B = 0; - _delay_ms(5); -# if defined(__AVR_AT90USB162__) // Teensy 1.0 - EIMSK = 0; - PCICR = 0; - SPCR = 0; - ACSR = 0; - EECR = 0; - TIMSK0 = 0; - TIMSK1 = 0; - UCSR1B = 0; - DDRB = 0; - DDRC = 0; - DDRD = 0; - PORTB = 0; - PORTC = 0; - PORTD = 0; - asm volatile("jmp 0x3E00"); -# elif defined(__AVR_ATmega32U4__) // Teensy 2.0 - EIMSK = 0; - PCICR = 0; - SPCR = 0; - ACSR = 0; - EECR = 0; - ADCSRA = 0; - TIMSK0 = 0; - TIMSK1 = 0; - TIMSK3 = 0; - TIMSK4 = 0; - UCSR1B = 0; - TWCR = 0; - DDRB = 0; - DDRC = 0; - DDRD = 0; - DDRE = 0; - DDRF = 0; - TWCR = 0; - PORTB = 0; - PORTC = 0; - PORTD = 0; - PORTE = 0; - PORTF = 0; - asm volatile("jmp 0x7E00"); -# elif defined(__AVR_AT90USB646__) // Teensy++ 1.0 - EIMSK = 0; - PCICR = 0; - SPCR = 0; - ACSR = 0; - EECR = 0; - ADCSRA = 0; - TIMSK0 = 0; - TIMSK1 = 0; - TIMSK2 = 0; - TIMSK3 = 0; - UCSR1B = 0; - TWCR = 0; - DDRA = 0; - DDRB = 0; - DDRC = 0; - DDRD = 0; - DDRE = 0; - DDRF = 0; - PORTA = 0; - PORTB = 0; - PORTC = 0; - PORTD = 0; - PORTE = 0; - PORTF = 0; - asm volatile("jmp 0xFC00"); -# elif defined(__AVR_AT90USB1286__) // Teensy++ 2.0 - EIMSK = 0; - PCICR = 0; - SPCR = 0; - ACSR = 0; - EECR = 0; - ADCSRA = 0; - TIMSK0 = 0; - TIMSK1 = 0; - TIMSK2 = 0; - TIMSK3 = 0; - UCSR1B = 0; - TWCR = 0; - DDRA = 0; - DDRB = 0; - DDRC = 0; - DDRD = 0; - DDRE = 0; - DDRF = 0; - PORTA = 0; - PORTB = 0; - PORTC = 0; - PORTD = 0; - PORTE = 0; - PORTF = 0; - asm volatile("jmp 0x1FC00"); -# endif - -#elif defined(BOOTLOADER_CATERINA) - // this block may be optional - // TODO: figure it out - - uint16_t *const bootKeyPtr = (uint16_t *)0x0800; - - // Value used by Caterina bootloader use to determine whether to run the - // sketch or the bootloader programmer. - uint16_t bootKey = 0x7777; - - *bootKeyPtr = bootKey; - - // setup watchdog timeout - wdt_enable(WDTO_60MS); - - while (1) { - } // wait for watchdog timer to trigger - -#elif defined(BOOTLOADER_USBASP) - // Taken with permission of Stephan Baerwolf from https://github.com/tinyusbboard/API/blob/master/apipage.c - wdt_enable(WDTO_15MS); - wdt_reset(); - asm volatile("cli \n\t" - "ldi r29 , %[ramendhi] \n\t" - "ldi r28 , %[ramendlo] \n\t" -# if (FLASHEND > 131071) - "ldi r18 , %[bootaddrhi] \n\t" - "st Y+, r18 \n\t" -# endif - "ldi r18 , %[bootaddrme] \n\t" - "st Y+, r18 \n\t" - "ldi r18 , %[bootaddrlo] \n\t" - "st Y+, r18 \n\t" - "out %[mcucsrio], __zero_reg__ \n\t" - "bootloader_startup_loop%=: \n\t" - "rjmp bootloader_startup_loop%= \n\t" - : - : [mcucsrio] "I"(_SFR_IO_ADDR(MCUCSR)), -# if (FLASHEND > 131071) - [ramendhi] "M"(((RAMEND - 2) >> 8) & 0xff), [ramendlo] "M"(((RAMEND - 2) >> 0) & 0xff), [bootaddrhi] "M"((((FLASH_SIZE - BOOTLOADER_SIZE) >> 1) >> 16) & 0xff), -# else - [ramendhi] "M"(((RAMEND - 1) >> 8) & 0xff), [ramendlo] "M"(((RAMEND - 1) >> 0) & 0xff), -# endif - [bootaddrme] "M"((((FLASH_SIZE - BOOTLOADER_SIZE) >> 1) >> 8) & 0xff), [bootaddrlo] "M"((((FLASH_SIZE - BOOTLOADER_SIZE) >> 1) >> 0) & 0xff)); - -#else // Assume remaining boards are DFU, even if the flag isn't set - -# if !(defined(__AVR_ATmega32A__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__) || defined(__AVR_ATtiny85__)) // no USB - maybe BOOTLOADER_BOOTLOADHID instead though? - UDCON = 1; - USBCON = (1 << FRZCLK); // disable USB - UCSR1B = 0; - _delay_ms(5); // 5 seems to work fine -# endif - -# ifdef BOOTLOADER_BOOTLOADHID - // force bootloadHID to stay in bootloader mode, so that it waits - // for a new firmware to be flashed - eeprom_write_byte((uint8_t *)1, 0x00); -# endif - - // watchdog reset - reset_key = BOOTLOADER_RESET_KEY; - wdt_enable(WDTO_250MS); - for (;;) - ; -#endif -} - -/* this runs before main() */ -void bootloader_jump_after_watchdog_reset(void) __attribute__((used, naked, section(".init3"))); -void bootloader_jump_after_watchdog_reset(void) { -#ifndef BOOTLOADER_HALFKAY - if ((MCUCSR & (1 << WDRF)) && reset_key == BOOTLOADER_RESET_KEY) { - reset_key = 0; - - // My custom USBasploader requires this to come up. - MCUCSR = 0; - - // Seems like Teensy halfkay loader requires clearing WDRF and disabling watchdog. - MCUCSR &= ~(1 << WDRF); - wdt_disable(); - -// This is compled into 'icall', address should be in word unit, not byte. -# ifdef BOOTLOADER_SIZE - ((void (*)(void))((FLASH_SIZE - BOOTLOADER_SIZE) >> 1))(); -# else - asm("ijmp" ::"z"(bootloader_start)); -# endif - } -#endif -} diff --git a/platforms/avr/bootloaders/bootloadhid.c b/platforms/avr/bootloaders/bootloadhid.c new file mode 100644 index 000000000000..8d18114613ea --- /dev/null +++ b/platforms/avr/bootloaders/bootloadhid.c @@ -0,0 +1,34 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include +#include + +__attribute__((weak)) +void bootloader_jump(void) { + // force bootloadHID to stay in bootloader mode, so that it waits + // for a new firmware to be flashed + // NOTE: this byte is part of QMK's "magic number" - changing it causes the EEPROM to be re-initialized + // thus every time the device is flashed the EEPROM will be wiped + eeprom_write_byte((uint8_t *)1, 0x00); + + // watchdog reset + wdt_enable(WDTO_250MS); + for (;;) + ; +} diff --git a/platforms/avr/bootloaders/caterina.c b/platforms/avr/bootloaders/caterina.c new file mode 100644 index 000000000000..1b43ed4e4485 --- /dev/null +++ b/platforms/avr/bootloaders/caterina.c @@ -0,0 +1,39 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include + +__attribute__((weak)) +void bootloader_jump(void) { + // this block may be optional + // TODO: figure it out + + uint16_t *const bootKeyPtr = (uint16_t *)0x0800; + + // Value used by Caterina bootloader use to determine whether to run the + // sketch or the bootloader programmer. + uint16_t bootKey = 0x7777; + + *bootKeyPtr = bootKey; + + // setup watchdog timeout + wdt_enable(WDTO_60MS); + + // wait for watchdog timer to trigger + while (1) { } +} diff --git a/platforms/avr/bootloaders/dfu.c b/platforms/avr/bootloaders/dfu.c new file mode 100644 index 000000000000..bdf5908934c5 --- /dev/null +++ b/platforms/avr/bootloaders/dfu.c @@ -0,0 +1,53 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include +#include + +#define FLASH_SIZE (FLASHEND + 1L) + +/** \brief Entering the Bootloader via Software + * + * http://www.fourwalledcubicle.com/files/LUFA/Doc/120730/html/_page__software_bootloader_start.html + */ +#define BOOTLOADER_RESET_KEY 0xB007B007 +uint32_t reset_key __attribute__((section(".noinit,\"aw\",@nobits;"))); + +__attribute__((weak)) +void bootloader_jump(void) { + UDCON = 1; + USBCON = (1 << FRZCLK); // disable USB + UCSR1B = 0; + _delay_ms(5); // 5 seems to work fine + + // watchdog reset + reset_key = BOOTLOADER_RESET_KEY; + wdt_enable(WDTO_250MS); + for (;;) + ; +} + +/* this runs before main() */ +void bootloader_jump_after_watchdog_reset(void) __attribute__((used, naked, section(".init3"))); +void bootloader_jump_after_watchdog_reset(void) { + if ((MCUSR & (1 << WDRF)) && reset_key == BOOTLOADER_RESET_KEY) { + reset_key = 0; + + ((void (*)(void))((FLASH_SIZE - BOOTLOADER_SIZE) >> 1))(); + } +} diff --git a/platforms/avr/bootloaders/halfkay.c b/platforms/avr/bootloaders/halfkay.c new file mode 100644 index 000000000000..abef86980b6c --- /dev/null +++ b/platforms/avr/bootloaders/halfkay.c @@ -0,0 +1,129 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include +#include + +__attribute__((weak)) +void bootloader_jump(void) { + // http://www.pjrc.com/teensy/jump_to_bootloader.html + + cli(); + // disable watchdog, if enabled (it's not) + // disable all peripherals + // a shutdown call might make sense here + UDCON = 1; + USBCON = (1 << FRZCLK); // disable USB + UCSR1B = 0; + _delay_ms(5); + +#if defined(__AVR_AT90USB162__) // Teensy 1.0 + EIMSK = 0; + PCICR = 0; + SPCR = 0; + ACSR = 0; + EECR = 0; + TIMSK0 = 0; + TIMSK1 = 0; + UCSR1B = 0; + DDRB = 0; + DDRC = 0; + DDRD = 0; + PORTB = 0; + PORTC = 0; + PORTD = 0; + asm volatile("jmp 0x3E00"); +#elif defined(__AVR_ATmega32U4__) // Teensy 2.0 + EIMSK = 0; + PCICR = 0; + SPCR = 0; + ACSR = 0; + EECR = 0; + ADCSRA = 0; + TIMSK0 = 0; + TIMSK1 = 0; + TIMSK3 = 0; + TIMSK4 = 0; + UCSR1B = 0; + TWCR = 0; + DDRB = 0; + DDRC = 0; + DDRD = 0; + DDRE = 0; + DDRF = 0; + TWCR = 0; + PORTB = 0; + PORTC = 0; + PORTD = 0; + PORTE = 0; + PORTF = 0; + asm volatile("jmp 0x7E00"); +#elif defined(__AVR_AT90USB646__) // Teensy++ 1.0 + EIMSK = 0; + PCICR = 0; + SPCR = 0; + ACSR = 0; + EECR = 0; + ADCSRA = 0; + TIMSK0 = 0; + TIMSK1 = 0; + TIMSK2 = 0; + TIMSK3 = 0; + UCSR1B = 0; + TWCR = 0; + DDRA = 0; + DDRB = 0; + DDRC = 0; + DDRD = 0; + DDRE = 0; + DDRF = 0; + PORTA = 0; + PORTB = 0; + PORTC = 0; + PORTD = 0; + PORTE = 0; + PORTF = 0; + asm volatile("jmp 0xFC00"); +#elif defined(__AVR_AT90USB1286__) // Teensy++ 2.0 + EIMSK = 0; + PCICR = 0; + SPCR = 0; + ACSR = 0; + EECR = 0; + ADCSRA = 0; + TIMSK0 = 0; + TIMSK1 = 0; + TIMSK2 = 0; + TIMSK3 = 0; + UCSR1B = 0; + TWCR = 0; + DDRA = 0; + DDRB = 0; + DDRC = 0; + DDRD = 0; + DDRE = 0; + DDRF = 0; + PORTA = 0; + PORTB = 0; + PORTC = 0; + PORTD = 0; + PORTE = 0; + PORTF = 0; + asm volatile("jmp 0x1FC00"); +#endif +} diff --git a/platforms/avr/bootloaders/none.c b/platforms/avr/bootloaders/none.c new file mode 100644 index 000000000000..8af151c04dbf --- /dev/null +++ b/platforms/avr/bootloaders/none.c @@ -0,0 +1,20 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +__attribute__((weak)) +void bootloader_jump(void) { } diff --git a/platforms/avr/bootloaders/usbasploader.c b/platforms/avr/bootloaders/usbasploader.c new file mode 100644 index 000000000000..b3e9b2d72d6c --- /dev/null +++ b/platforms/avr/bootloaders/usbasploader.c @@ -0,0 +1,57 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include + +#define FLASH_SIZE (FLASHEND + 1L) + +#if !defined(MCUCSR) +# if defined(MCUSR) +# define MCUCSR MCUSR +# endif +#endif + +__attribute__((weak)) +void bootloader_jump(void) { + // Taken with permission of Stephan Baerwolf from https://github.com/tinyusbboard/API/blob/master/apipage.c + + wdt_enable(WDTO_15MS); + wdt_reset(); + asm volatile("cli \n\t" + "ldi r29 , %[ramendhi] \n\t" + "ldi r28 , %[ramendlo] \n\t" +#if (FLASHEND > 131071) + "ldi r18 , %[bootaddrhi] \n\t" + "st Y+, r18 \n\t" +#endif + "ldi r18 , %[bootaddrme] \n\t" + "st Y+, r18 \n\t" + "ldi r18 , %[bootaddrlo] \n\t" + "st Y+, r18 \n\t" + "out %[mcucsrio], __zero_reg__ \n\t" + "bootloader_startup_loop%=: \n\t" + "rjmp bootloader_startup_loop%= \n\t" + : + : [mcucsrio] "I"(_SFR_IO_ADDR(MCUCSR)), +#if (FLASHEND > 131071) + [ramendhi] "M"(((RAMEND - 2) >> 8) & 0xff), [ramendlo] "M"(((RAMEND - 2) >> 0) & 0xff), [bootaddrhi] "M"((((FLASH_SIZE - BOOTLOADER_SIZE) >> 1) >> 16) & 0xff), +#else + [ramendhi] "M"(((RAMEND - 1) >> 8) & 0xff), [ramendlo] "M"(((RAMEND - 1) >> 0) & 0xff), +#endif + [bootaddrme] "M"((((FLASH_SIZE - BOOTLOADER_SIZE) >> 1) >> 8) & 0xff), [bootaddrlo] "M"((((FLASH_SIZE - BOOTLOADER_SIZE) >> 1) >> 0) & 0xff)); +} diff --git a/platforms/chibios/bootloader.c b/platforms/chibios/bootloader.c deleted file mode 100644 index 58212948b08a..000000000000 --- a/platforms/chibios/bootloader.c +++ /dev/null @@ -1,145 +0,0 @@ -#include "bootloader.h" - -#include -#include -#include "wait.h" - -/* This code should be checked whether it runs correctly on platforms */ -#define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) -#define BOOTLOADER_MAGIC 0xDEADBEEF -#define MAGIC_ADDR (unsigned long *)(SYMVAL(__ram0_end__) - 4) - -#ifndef STM32_BOOTLOADER_DUAL_BANK -# define STM32_BOOTLOADER_DUAL_BANK FALSE -#endif - -#ifdef BOOTLOADER_TINYUF2 - -# define DBL_TAP_MAGIC 0xf01669ef // From tinyuf2's board_api.h - -// defined by linker script -extern uint32_t _board_dfu_dbl_tap[]; -# define DBL_TAP_REG _board_dfu_dbl_tap[0] - -void bootloader_jump(void) { - DBL_TAP_REG = DBL_TAP_MAGIC; - NVIC_SystemReset(); -} - -void enter_bootloader_mode_if_requested(void) { /* not needed, no two-stage reset */ -} - -#elif STM32_BOOTLOADER_DUAL_BANK - -// Need pin definitions -# include "config_common.h" - -# ifndef STM32_BOOTLOADER_DUAL_BANK_GPIO -# error "No STM32_BOOTLOADER_DUAL_BANK_GPIO defined, don't know which pin to toggle" -# endif - -# ifndef STM32_BOOTLOADER_DUAL_BANK_POLARITY -# define STM32_BOOTLOADER_DUAL_BANK_POLARITY 0 -# endif - -# ifndef STM32_BOOTLOADER_DUAL_BANK_DELAY -# define STM32_BOOTLOADER_DUAL_BANK_DELAY 100000 -# endif - -extern uint32_t __ram0_end__; - -__attribute__((weak)) void bootloader_jump(void) { - // For STM32 MCUs with dual-bank flash, and we're incapable of jumping to the bootloader. The first valid flash - // bank is executed unconditionally after a reset, so it doesn't enter DFU unless BOOT0 is high. Instead, we do - // it with hardware...in this case, we pull a GPIO high/low depending on the configuration, connects 3.3V to - // BOOT0's RC charging circuit, lets it charge the capacitor, and issue a system reset. See the QMK discord - // #hardware channel pins for an example circuit. - palSetPadMode(PAL_PORT(STM32_BOOTLOADER_DUAL_BANK_GPIO), PAL_PAD(STM32_BOOTLOADER_DUAL_BANK_GPIO), PAL_MODE_OUTPUT_PUSHPULL); -# if STM32_BOOTLOADER_DUAL_BANK_POLARITY - palSetPad(PAL_PORT(STM32_BOOTLOADER_DUAL_BANK_GPIO), PAL_PAD(STM32_BOOTLOADER_DUAL_BANK_GPIO)); -# else - palClearPad(PAL_PORT(STM32_BOOTLOADER_DUAL_BANK_GPIO), PAL_PAD(STM32_BOOTLOADER_DUAL_BANK_GPIO)); -# endif - - // Wait for a while for the capacitor to charge - wait_ms(100); - - // Issue a system reset to get the ROM bootloader to execute, with BOOT0 high - NVIC_SystemReset(); -} - -void enter_bootloader_mode_if_requested(void) {} // not needed at all, but if anybody attempts to invoke it.... - -#elif defined(STM32_BOOTLOADER_ADDRESS) // STM32_BOOTLOADER_DUAL_BANK - -extern uint32_t __ram0_end__; - -__attribute__((weak)) void bootloader_jump(void) { - *MAGIC_ADDR = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader - NVIC_SystemReset(); -} - -void enter_bootloader_mode_if_requested(void) { - unsigned long *check = MAGIC_ADDR; - if (*check == BOOTLOADER_MAGIC) { - *check = 0; - __set_CONTROL(0); - __set_MSP(*(__IO uint32_t *)STM32_BOOTLOADER_ADDRESS); - __enable_irq(); - - typedef void (*BootJump_t)(void); - BootJump_t boot_jump = *(BootJump_t *)(STM32_BOOTLOADER_ADDRESS + 4); - boot_jump(); - while (1) - ; - } -} - -#elif defined(GD32VF103) - -# define DBGMCU_KEY_UNLOCK 0x4B5A6978 -# define DBGMCU_CMD_RESET 0x1 - -__IO uint32_t *DBGMCU_KEY = (uint32_t *)DBGMCU_BASE + 0x0CU; -__IO uint32_t *DBGMCU_CMD = (uint32_t *)DBGMCU_BASE + 0x08U; - -__attribute__((weak)) void bootloader_jump(void) { - /* The MTIMER unit of the GD32VF103 doesn't have the MSFRST - * register to generate a software reset request. - * BUT instead two undocumented registers in the debug peripheral - * that allow issueing a software reset. WHO would need the MSFRST - * register anyway? Source: - * https://github.com/esmil/gd32vf103inator/blob/master/include/gd32vf103/dbg.h */ - *DBGMCU_KEY = DBGMCU_KEY_UNLOCK; - *DBGMCU_CMD = DBGMCU_CMD_RESET; -} - -void enter_bootloader_mode_if_requested(void) { /* Jumping to bootloader is not possible from user code. */ -} - -#elif defined(KL2x) || defined(K20x) || defined(MK66F18) || defined(MIMXRT1062) // STM32_BOOTLOADER_DUAL_BANK // STM32_BOOTLOADER_ADDRESS -/* Kinetis */ - -# if defined(BOOTLOADER_KIIBOHD) -/* Kiibohd Bootloader (MCHCK and Infinity KB) */ -# define SCB_AIRCR_VECTKEY_WRITEMAGIC 0x05FA0000 -const uint8_t sys_reset_to_loader_magic[] = "\xff\x00\x7fRESET TO LOADER\x7f\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; -__attribute__((weak)) void bootloader_jump(void) { - void *volatile vbat = (void *)VBAT; - __builtin_memcpy(vbat, (const void *)sys_reset_to_loader_magic, sizeof(sys_reset_to_loader_magic)); - // request reset - SCB->AIRCR = SCB_AIRCR_VECTKEY_WRITEMAGIC | SCB_AIRCR_SYSRESETREQ_Msk; -} - -# else /* defined(BOOTLOADER_KIIBOHD) */ -/* Default for Kinetis - expecting an ARM Teensy */ -# include "wait.h" -__attribute__((weak)) void bootloader_jump(void) { - wait_ms(100); - __BKPT(0); -} -# endif /* defined(BOOTLOADER_KIIBOHD) */ - -#else /* neither STM32 nor KINETIS */ -__attribute__((weak)) void bootloader_jump(void) {} -#endif diff --git a/platforms/chibios/bootloaders/gd32v_dfu.c b/platforms/chibios/bootloaders/gd32v_dfu.c new file mode 100644 index 000000000000..1ab088208416 --- /dev/null +++ b/platforms/chibios/bootloaders/gd32v_dfu.c @@ -0,0 +1,40 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include + +#define DBGMCU_KEY_UNLOCK 0x4B5A6978 +#define DBGMCU_CMD_RESET 0x1 + +__IO uint32_t *DBGMCU_KEY = (uint32_t *)DBGMCU_BASE + 0x0CU; +__IO uint32_t *DBGMCU_CMD = (uint32_t *)DBGMCU_BASE + 0x08U; + +__attribute__((weak)) +void bootloader_jump(void) { + /* The MTIMER unit of the GD32VF103 doesn't have the MSFRST + * register to generate a software reset request. + * BUT instead two undocumented registers in the debug peripheral + * that allow issueing a software reset. WHO would need the MSFRST + * register anyway? Source: + * https://github.com/esmil/gd32vf103inator/blob/master/include/gd32vf103/dbg.h */ + *DBGMCU_KEY = DBGMCU_KEY_UNLOCK; + *DBGMCU_CMD = DBGMCU_CMD_RESET; +} + +/* Jumping to bootloader is not possible from user code. */ +void enter_bootloader_mode_if_requested(void) { } diff --git a/platforms/chibios/bootloaders/halfkay.c b/platforms/chibios/bootloaders/halfkay.c new file mode 100644 index 000000000000..fb9b73dfb351 --- /dev/null +++ b/platforms/chibios/bootloaders/halfkay.c @@ -0,0 +1,26 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include +#include "wait.h" + +__attribute__((weak)) +void bootloader_jump(void) { + wait_ms(100); + __BKPT(0); +} diff --git a/platforms/chibios/bootloaders/kiibohd.c b/platforms/chibios/bootloaders/kiibohd.c new file mode 100644 index 000000000000..f4bb18f05871 --- /dev/null +++ b/platforms/chibios/bootloaders/kiibohd.c @@ -0,0 +1,33 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include + +/* Kiibohd Bootloader (MCHCK and Infinity KB) */ +#define SCB_AIRCR_VECTKEY_WRITEMAGIC 0x05FA0000 + +const uint8_t sys_reset_to_loader_magic[] = "\xff\x00\x7fRESET TO LOADER\x7f\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; + +__attribute__((weak)) +void bootloader_jump(void) { + void *volatile vbat = (void *)VBAT; + __builtin_memcpy(vbat, (const void *)sys_reset_to_loader_magic, sizeof(sys_reset_to_loader_magic)); + + // request reset + SCB->AIRCR = SCB_AIRCR_VECTKEY_WRITEMAGIC | SCB_AIRCR_SYSRESETREQ_Msk; +} diff --git a/platforms/chibios/bootloaders/none.c b/platforms/chibios/bootloaders/none.c new file mode 100644 index 000000000000..8af151c04dbf --- /dev/null +++ b/platforms/chibios/bootloaders/none.c @@ -0,0 +1,20 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +__attribute__((weak)) +void bootloader_jump(void) { } diff --git a/platforms/chibios/bootloaders/stm32_dfu.c b/platforms/chibios/bootloaders/stm32_dfu.c new file mode 100644 index 000000000000..f4bd8554bf25 --- /dev/null +++ b/platforms/chibios/bootloaders/stm32_dfu.c @@ -0,0 +1,96 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include +#include +#include "wait.h" + +extern uint32_t __ram0_end__; + +#ifndef STM32_BOOTLOADER_DUAL_BANK +# define STM32_BOOTLOADER_DUAL_BANK FALSE +#endif + +#if STM32_BOOTLOADER_DUAL_BANK +# include "config_common.h" + +# ifndef STM32_BOOTLOADER_DUAL_BANK_GPIO +# error "No STM32_BOOTLOADER_DUAL_BANK_GPIO defined, don't know which pin to toggle" +# endif + +# ifndef STM32_BOOTLOADER_DUAL_BANK_POLARITY +# define STM32_BOOTLOADER_DUAL_BANK_POLARITY 0 +# endif + +# ifndef STM32_BOOTLOADER_DUAL_BANK_DELAY +# define STM32_BOOTLOADER_DUAL_BANK_DELAY 100000 +# endif + +__attribute__((weak)) +void bootloader_jump(void) { + // For STM32 MCUs with dual-bank flash, and we're incapable of jumping to the bootloader. The first valid flash + // bank is executed unconditionally after a reset, so it doesn't enter DFU unless BOOT0 is high. Instead, we do + // it with hardware...in this case, we pull a GPIO high/low depending on the configuration, connects 3.3V to + // BOOT0's RC charging circuit, lets it charge the capacitor, and issue a system reset. See the QMK discord + // #hardware channel pins for an example circuit. + palSetPadMode(PAL_PORT(STM32_BOOTLOADER_DUAL_BANK_GPIO), PAL_PAD(STM32_BOOTLOADER_DUAL_BANK_GPIO), PAL_MODE_OUTPUT_PUSHPULL); +# if STM32_BOOTLOADER_DUAL_BANK_POLARITY + palSetPad(PAL_PORT(STM32_BOOTLOADER_DUAL_BANK_GPIO), PAL_PAD(STM32_BOOTLOADER_DUAL_BANK_GPIO)); +# else + palClearPad(PAL_PORT(STM32_BOOTLOADER_DUAL_BANK_GPIO), PAL_PAD(STM32_BOOTLOADER_DUAL_BANK_GPIO)); +# endif + + // Wait for a while for the capacitor to charge + wait_ms(100); + + // Issue a system reset to get the ROM bootloader to execute, with BOOT0 high + NVIC_SystemReset(); +} + +// not needed at all, but if anybody attempts to invoke it.... +void enter_bootloader_mode_if_requested(void) { } + +#else + +/* This code should be checked whether it runs correctly on platforms */ +#define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) +#define BOOTLOADER_MAGIC 0xDEADBEEF +#define MAGIC_ADDR (unsigned long *)(SYMVAL(__ram0_end__) - 4) + +__attribute__((weak)) +void bootloader_jump(void) { + *MAGIC_ADDR = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader + NVIC_SystemReset(); +} + +void enter_bootloader_mode_if_requested(void) { + unsigned long *check = MAGIC_ADDR; + if (*check == BOOTLOADER_MAGIC) { + *check = 0; + __set_CONTROL(0); + __set_MSP(*(__IO uint32_t *)STM32_BOOTLOADER_ADDRESS); + __enable_irq(); + + typedef void (*BootJump_t)(void); + BootJump_t boot_jump = *(BootJump_t *)(STM32_BOOTLOADER_ADDRESS + 4); + boot_jump(); + while (1) + ; + } +} +#endif diff --git a/platforms/chibios/bootloaders/stm32duino.c b/platforms/chibios/bootloaders/stm32duino.c new file mode 100644 index 000000000000..6ff9e28b4d59 --- /dev/null +++ b/platforms/chibios/bootloaders/stm32duino.c @@ -0,0 +1,24 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include + +__attribute__((weak)) +void bootloader_jump(void) { + NVIC_SystemReset(); +} diff --git a/platforms/chibios/bootloaders/tinyuf2.c b/platforms/chibios/bootloaders/tinyuf2.c new file mode 100644 index 000000000000..ce82fa0c490d --- /dev/null +++ b/platforms/chibios/bootloaders/tinyuf2.c @@ -0,0 +1,35 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include + +// From tinyuf2's board_api.h +#define DBL_TAP_MAGIC 0xF01669EF + +// defined by linker script +extern uint32_t _board_dfu_dbl_tap[]; +#define DBL_TAP_REG _board_dfu_dbl_tap[0] + +__attribute__((weak)) +void bootloader_jump(void) { + DBL_TAP_REG = DBL_TAP_MAGIC; + NVIC_SystemReset(); +} + +/* not needed, no two-stage reset */ +void enter_bootloader_mode_if_requested(void) { } diff --git a/platforms/common.mk b/platforms/common.mk index f7a0fc7028b7..12ab45f82352 100644 --- a/platforms/common.mk +++ b/platforms/common.mk @@ -4,7 +4,7 @@ TMK_COMMON_SRC += \ $(PLATFORM_COMMON_DIR)/platform.c \ $(PLATFORM_COMMON_DIR)/suspend.c \ $(PLATFORM_COMMON_DIR)/timer.c \ - $(PLATFORM_COMMON_DIR)/bootloader.c \ + $(PLATFORM_COMMON_DIR)/bootloaders/$(BOOTLOADER_TYPE).c # Search Path VPATH += $(PLATFORM_PATH) diff --git a/platforms/test/bootloader.c b/platforms/test/bootloaders/none.c similarity index 95% rename from platforms/test/bootloader.c rename to platforms/test/bootloaders/none.c index 5155d9ff04f7..2920c68f18b0 100644 --- a/platforms/test/bootloader.c +++ b/platforms/test/bootloaders/none.c @@ -16,4 +16,4 @@ #include "bootloader.h" -void bootloader_jump(void) {} +void bootloader_jump(void) { } diff --git a/tmk_core/protocol/arm_atsam/arm_atsam_protocol.h b/tmk_core/protocol/arm_atsam/arm_atsam_protocol.h index e1749f872daa..319ff8487da8 100644 --- a/tmk_core/protocol/arm_atsam/arm_atsam_protocol.h +++ b/tmk_core/protocol/arm_atsam/arm_atsam_protocol.h @@ -19,7 +19,6 @@ along with this program. If not, see . #define _ARM_ATSAM_PROTOCOL_H_ #include "samd51j18a.h" -#include "md_bootloader.h" #include "timer.h" #include "d51_util.h" diff --git a/tmk_core/protocol/arm_atsam/md_bootloader.h b/tmk_core/protocol/arm_atsam/md_bootloader.h deleted file mode 100644 index 362b9bd52a8f..000000000000 --- a/tmk_core/protocol/arm_atsam/md_bootloader.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef _MD_BOOTLOADER_H_ -#define _MD_BOOTLOADER_H_ - -extern uint32_t _srom; -extern uint32_t _lrom; -extern uint32_t _erom; - -#define BOOTLOADER_SERIAL_MAX_SIZE 20 // DO NOT MODIFY! - -#ifdef KEYBOARD_massdrop_ctrl -// WARNING: These are only for CTRL bootloader release "v2.18Jun 22 2018 17:28:08" for bootloader_jump support -extern uint32_t _eram; -# define BOOTLOADER_MAGIC 0x3B9ACA00 -# define MAGIC_ADDR (uint32_t *)((intptr_t)(&_eram) - 4) -#endif - -#ifdef MD_BOOTLOADER - -# define MCU_HZ 48000000 -# define I2C_HZ 0 // Not used - -#endif // MD_BOOTLOADER - -#endif //_MD_BOOTLOADER_H_ diff --git a/tmk_core/protocol/arm_atsam/startup.c b/tmk_core/protocol/arm_atsam/startup.c index 7a5791ab557a..ce043bad516a 100644 --- a/tmk_core/protocol/arm_atsam/startup.c +++ b/tmk_core/protocol/arm_atsam/startup.c @@ -28,7 +28,6 @@ */ #include "samd51.h" -#include "md_bootloader.h" /* Initialize segments */ extern uint32_t _sfixed; @@ -496,6 +495,11 @@ __attribute__((section(".vectors"))) const DeviceVectors exception_table = { #endif }; +// WARNING: These are only for CTRL bootloader release "v2.18Jun 22 2018 17:28:08" for bootloader_jump support +extern uint32_t _eram; +#define BOOTLOADER_MAGIC 0x3B9ACA00 +#define MAGIC_ADDR (uint32_t *)((intptr_t)(&_eram) - 4) + /** * \brief This is the code that gets called on processor reset. * To initialize the device, and call the main() routine. diff --git a/tmk_core/protocol/arm_atsam/usb/udc.c b/tmk_core/protocol/arm_atsam/usb/udc.c index d04e9b7b2877..1f0c0d95d6ec 100644 --- a/tmk_core/protocol/arm_atsam/usb/udc.c +++ b/tmk_core/protocol/arm_atsam/usb/udc.c @@ -51,7 +51,8 @@ #include "udi_device_conf.h" #include "udi.h" #include "udc.h" -#include "md_bootloader.h" + +#define BOOTLOADER_SERIAL_MAX_SIZE 20 // DO NOT MODIFY! /** * \ingroup udc_group @@ -122,6 +123,8 @@ static uint8_t udc_string_product_name[] = USB_DEVICE_PRODUCT_NAME; # define USB_DEVICE_SERIAL_NAME_SIZE 0 #endif +extern uint32_t _srom; + uint8_t usb_device_serial_name_size = 0; #if defined USB_DEVICE_SERIAL_USE_BOOTLOADER_SERIAL uint8_t bootloader_serial_number[BOOTLOADER_SERIAL_MAX_SIZE + 1] = ""; From 6209122213af6f675b50ad34dc2066dad42e7013 Mon Sep 17 00:00:00 2001 From: Victor Toni Date: Mon, 27 Dec 2021 11:13:12 +0100 Subject: [PATCH 0039/1832] [Keymap] Add vitoni keymap for GMMK Pro (ISO) (#15006) * [Keymap] Add vitoni layout for GMMK Pro (ISO) Keymap has layered cursor keys similar to laptop keyboards. * Configure RGB defaults for startup * Configure encoder to change value/brightness on FN layer * Remove FN layer and add dedicated RGB layer * Make RGB layer sticky (using TG) to avoid holding FN while configuring RGB * Add RGB indicators for active layers * Add RGB indicator for active RESET mode Signed-off-by: Victor Toni * Configure idle / USB suspend settings * Add RGB fade in when resuming after suspend * Add RGB fade out before suspend * Add fade out before idle * Add breathe effect when idle --- .../gmmk/pro/iso/keymaps/vitoni/config.h | 20 ++ .../gmmk/pro/iso/keymaps/vitoni/keymap.c | 148 +++++++++++ .../gmmk/pro/iso/keymaps/vitoni/readme.adoc | 104 ++++++++ users/vitoni/readme.adoc | 16 ++ users/vitoni/rgb_matrix_effects.c | 236 ++++++++++++++++++ users/vitoni/rgb_matrix_effects.h | 174 +++++++++++++ users/vitoni/rules.mk | 4 + users/vitoni/utils.c | 129 ++++++++++ users/vitoni/utils.h | 80 ++++++ users/vitoni/vitoni.c | 131 ++++++++++ users/vitoni/vitoni.h | 30 +++ 11 files changed, 1072 insertions(+) create mode 100644 keyboards/gmmk/pro/iso/keymaps/vitoni/config.h create mode 100644 keyboards/gmmk/pro/iso/keymaps/vitoni/keymap.c create mode 100644 keyboards/gmmk/pro/iso/keymaps/vitoni/readme.adoc create mode 100644 users/vitoni/readme.adoc create mode 100644 users/vitoni/rgb_matrix_effects.c create mode 100644 users/vitoni/rgb_matrix_effects.h create mode 100644 users/vitoni/rules.mk create mode 100644 users/vitoni/utils.c create mode 100644 users/vitoni/utils.h create mode 100644 users/vitoni/vitoni.c create mode 100644 users/vitoni/vitoni.h diff --git a/keyboards/gmmk/pro/iso/keymaps/vitoni/config.h b/keyboards/gmmk/pro/iso/keymaps/vitoni/config.h new file mode 100644 index 000000000000..fd8f1d6859e7 --- /dev/null +++ b/keyboards/gmmk/pro/iso/keymaps/vitoni/config.h @@ -0,0 +1,20 @@ +// Copyright 2021 Victor Toni (@vitoni) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#if defined(RGB_MATRIX_ENABLE) + #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR + // number of milliseconds to wait until turning off RGB automatically + #define RGB_DISABLE_TIMEOUT 300000 // 300 seconds / 5 min + // start fading out before getting disabled + // fading out is timed (depending on the rgb_matrix_config.speed) to have finished before reaching RGB_DISABLE_TIMEOUT + #define RGB_DISABLE_WITH_FADE_OUT + #define RGB_DISABLE_WHEN_USB_SUSPENDED + // number of milliseconds to wait until activating RGB idle effects + #define RGB_IDLE_TIMEOUT 4500 // 4.5 seconds + // activate breathe effect when idle + #define RGB_IDLE_BREATHE + // fade in when we have been suspended + #define RGB_FADE_IN +#endif diff --git a/keyboards/gmmk/pro/iso/keymaps/vitoni/keymap.c b/keyboards/gmmk/pro/iso/keymaps/vitoni/keymap.c new file mode 100644 index 000000000000..d5b64c153ab7 --- /dev/null +++ b/keyboards/gmmk/pro/iso/keymaps/vitoni/keymap.c @@ -0,0 +1,148 @@ +// Copyright 2021 Glorious, LLC , +// Copyright 2021 Victor Toni (@vitoni) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#include "vitoni.h" + +enum layer_names { + _BASE, + _MOV, + _RGB +}; + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] PgUp +// Caps A S D F G H J K L ; " # Enter PgDn +// Sh_L / Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // + // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). + // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. + // Press CAPS+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. + [_BASE] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE, + KC_GRV, 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_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_PGUP, + MO(_MOV), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TG(_RGB),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_MOV] = LAYOUT( + RESET, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + + [_RGB] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SPI, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SPD, + _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI + ), + +}; +// clang-format on + +#if defined(ENCODER_ENABLE) +bool encoder_update_user(uint8_t index, bool clockwise) { + switch (get_highest_layer(layer_state)) { + case _MOV: + if (clockwise) { + tap_code16(C(KC_TAB)); + } else { + tap_code16(S(C(KC_TAB))); + } + break; +#if defined(RGB_MATRIX_ENABLE) + case _RGB: + if (clockwise) { + rgb_matrix_increase_val_noeeprom(); + } else { + rgb_matrix_decrease_val_noeeprom(); + } + break; +#endif // RGB_MATRIX_ENABLE + default: + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + } + return true; +} +#endif // ENCODER_ENABLE + +#if defined(RGB_MATRIX_ENABLE) +/* +* Set up default RGB color. +*/ +void rgb_matrix_set_default_color(void) { + rgb_matrix_sethsv_noeeprom_user(HSV_CHARTREUSE); +} + +/* +* Set up RGB defaults. +*/ +void rgb_matrix_configure_default_settings(void) { + rgb_matrix_set_default_color(); +} + +void keyboard_post_init_user(void) { + rgb_matrix_enable_noeeprom(); + rgb_matrix_configure_default_settings(); +} + +/* +* Use RGB underglow to indicate specific layers. +*/ +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case _MOV: + rgb_matrix_sethsv_noeeprom_user(HSV_SPRINGGREEN); + break; + case _RGB: + rgb_matrix_sethsv_noeeprom_user(HSV_GREEN); + break; + default: // for any other layer + rgb_matrix_set_default_color(); + break; + } + return state; +} + +void matrix_scan_user(void) { + matrix_scan_user_rgb(); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user_rgb(keycode, record)) { + return false; + } + + switch (keycode) { + case RESET: // when activating RESET mode for flashing + if (record->event.pressed) { + rgb_matrix_set_color_all(63, 0, 0); + rgb_matrix_driver.flush(); + } + return true; + } + return true; // Process all other keycodes normally +} +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/gmmk/pro/iso/keymaps/vitoni/readme.adoc b/keyboards/gmmk/pro/iso/keymaps/vitoni/readme.adoc new file mode 100644 index 000000000000..38a74a568bf0 --- /dev/null +++ b/keyboards/gmmk/pro/iso/keymaps/vitoni/readme.adoc @@ -0,0 +1,104 @@ += ViToni's keymap for GMMK Pro ISO + +== Layout +Based on the stock layout but making use of CAPS as FN similar to laptop keyboards. +This frees up the left row for other uses (although not remapped yet). +Since both Delete and Insert are used for coding they are part of the CAPS layer as well. + +The differences are as follows: + +=== Layer 0 (`_BASE`) +Mostly stock + CAPS goes to layer `_MOV`. +FN toggles the layer `_RGB`. + +=== Layer 1 (`_MOV`), accessed by pressing `CAPS` on layer `_BASE` +[%header] +|=== +| Key / Action | Mapped to +| ESC | _RESET_ +| F1 | KC_MYCM +| F2 | KC_WHOM +| F3 | KC_CALC +| F4 | KC_MSEL +| F5 | KC_MPRV +| F6 | KC_MPLY +| F7 | KC_MSTP +| F8 | KC_MNXT +| F9 | KC_MUTE +| F10 | KC_VOLD +| F11 | KC_VOLU +| N | NK_TOGG +| Delete | Insert +| Left | Home +| Right | End +| Up | PgUp +| Down | PgDn +|=== + +=== Layer 2 (`_RGB`), accessed by pressing `FN` on layer `_BASE` +Revamped the stock FN layer to focus on RGB only. + +[%header] +|=== +| Key / Action | Mapped to +| Knob clockwise | Value/Brightness up +| Knob anti-clockwise | Value/Brightness down +| Backspace | _RESET_ +| Enter | RGB_TOG +| Del | RGB_MOD +| PgUp | RGB_RMOD +| PgDn | RGB_SPI +| End | RGB_SPD +| Left | RGB_HUD +| Right | RGB_HUI +| Up | RGB_SAI +| Down | RGB_SAD +|=== + +No other changes have been made. + +== RGB light + +The code customizing RGB light usage is decribed here: + +* link:../../../../../../users/vitoni/readme.adoc[/users/vitoni/readme.adoc] + +When using `RGB_DISABLE_TIMEOUT` addtional options are available: + +* `RGB_FADE_IN` makes the RGB lights fade in instead of setting the value/brightness to 100% (implicitly due to HSV including the brightness) when resuming after RGB lights have been turned off. +Fade in occurs when the keyboard is initialized and when the RGB brightness has been changed (e.g. suspending, fade out, etc.). +* `RGB_DISABLE_WITH_FADE_OUT` activates fade out before the keyboard is disabled by `RGB_DISABLE_TIMEOUT`. + +Parameters used to define the behavior are: +[%header] +|=== +|Key | Default | Description + +| RGB_MATRIX_MAXIMUM_BRIGHTNESS +| 200 (<= UNIT8_MAX) +| Maximum assumed value for brightness. +Used to calculate lead time for fade out before suspend timeout. + +|=== + +`RGB_IDLE_TIMEOUT` enables fading out after being idle for the defined time and allows +* `RGB_IDLE_BREATHE` also activates a brethe effect while idling. + +[%header] +|=== +|Key | Default | Description + +|RGB_IDLE_TIMEOUT +|4500 +|Time in milliseconds without activity before considered to be idle. + +|RGB_IDLE_MINIMUM_BRIGHTNESS +|`RGB_MATRIX_MAXIMUM_BRIGHTNESS` / 5 +|Brightness value RGB is dimmed to when starting to idle. + +When breathing used as the lower bound of the brightness value. + +|RGB_IDLE_MAXIMUM_BRIGHTNESS +|`RGB_MATRIX_MAXIMUM_BRIGHTNESS` * 2/5 +|Upper bound of brightness value of the RGB light while breathing. + +|=== diff --git a/users/vitoni/readme.adoc b/users/vitoni/readme.adoc new file mode 100644 index 000000000000..acf65793d2de --- /dev/null +++ b/users/vitoni/readme.adoc @@ -0,0 +1,16 @@ += User functions + +Functions are mostly related to changing the RGB lights depending on user interaction and when idling. + +== utils.h + +Common functions are declared in link:utils.h[]. These function are not directly RGB related but used to modify state and calculate values. + +== rgb_matrix_effects.h + +Functions in link:rgb_matrix_effects.h[] make use of common function in `utils.h` and are used to create to RGB matrix effects such as fading or breathing. + +== vitoni.h + +The functions declared in link:vitoni.h[] are used as entry points for usage of RGB effects. +One entry point is `matrix_scan` based for regular task while the other is `process_record` based for user activity tasks. diff --git a/users/vitoni/rgb_matrix_effects.c b/users/vitoni/rgb_matrix_effects.c new file mode 100644 index 000000000000..3a13e99bc7e2 --- /dev/null +++ b/users/vitoni/rgb_matrix_effects.c @@ -0,0 +1,236 @@ +// Copyright 2021 Victor Toni (@vitoni) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "rgb_matrix_effects.h" + +#include +#include + +#include "utils.h" + +/* + Offset used to start at the right point in th curve to avoid big jumps in brightness + 0 => 0% (signed) => 50% (unsigned) + 64 => 100% (signed) => 100% (unsigned) + 128 => 0% (signed) => 50% (unsigned) + 192 => -100% (signed) => 0% (unsigned) +*/ +enum PHASE { + PHASE_ZERO_RAISING + ,PHASE_HIGH + ,PHASE_ZERO_FALLING + ,PHASE_LOW +}; + +/** + * @brief Calculates the offset so that a specific time is aligned to a specific point in the sine curve. + * @param[in] time The time for which the offset shopuld be calculated. + * @param[in] phase Phase which should be reached with the offset + * @see PHASE + */ +uint8_t offset_for_time(const uint8_t time, const uint8_t phase) { + switch (phase) { + case PHASE_ZERO_RAISING: + return 0 - time; + case PHASE_HIGH: + return 64 - time; + case PHASE_ZERO_FALLING: + return 128 - time; + case PHASE_LOW: + return 192 - time; + default: + return 0; + } +} + +/** + * @brief Scales down `g_rgb_timer` so that it can be used for RGB effects. + * @return scaled down timer + * @see rgb_time_2_scale_w_factor() + */ +uint8_t rgb_time_2_scale(void) { + static const uint8_t factor = 1; + return rgb_time_2_scale_w_factor(factor); +} + +/* + * Used to slow down RGB speed. + */ +static const uint8_t rgb_speed_divisor = 8; + +/** + * @brief Scales down `g_rgb_timer` so that it can be used for RGB effects. + * @details Usually these calculations aredone internally by some RGB effects. + This method exposed to scaling so that all effects to have same timebase. If `rgb_matrix_config.speed` all effects are affected the same. + * @param[in] factor The factor can be used to speed up some operations in relation to others. + * @return scaled down timer taking into account the given factor + * @see g_rgb_timer + * @see rgb_matrix_config.speed + */ +uint8_t rgb_time_2_scale_w_factor(const uint8_t rgb_speed_factor) { + const uint8_t scaled_time = scale16by8(g_rgb_timer, rgb_matrix_config.speed * rgb_speed_factor / rgb_speed_divisor); + + return scaled_time; +} + +/** + * @brief Inverse function to calculate time required to execute `timer` steps. + * @details This method allows calculation of the time needed to execute N `timer`steps. + Usefull when using a scaled down time but requiring the time needed to perform these steps. + * @param[in] scaled_time scaled down timer to inverse to time + * @return time corresponding to scaled down time + * @see rgb_time_2_scale() + */ +uint16_t scale_2_rgb_time(const uint8_t scaled_time) { + const uint16_t time = scaled_time * rgb_speed_divisor * UINT8_MAX / rgb_matrix_config.speed; + + return time; +} + +bool fade_in_ranged(const uint8_t time, const uint8_t range_min, const uint8_t range_max) { + static const uint8_t max_delta = 1; + return scaled_sin_up(time, range_min, range_max, max_delta, &(rgb_matrix_config.hsv.v)); +} + +bool fade_out_ranged(const uint8_t time, const uint8_t range_min, const uint8_t range_max) { + static const uint8_t max_delta = 1; + return scaled_sin_down(time, range_min, range_max, max_delta, &(rgb_matrix_config.hsv.v)); +} + +/** + * @brief Convenience method to eventually skip the value part when setting HSV. + * @details When setting HSV this includes the value/brightness. + As changing brightness might interfer with fading or breathing effects, + this method can skip the value part of HSV (depending on the preprocessor flag: RGB_FADE_IN). + * @param[in] hue Hue + * @param[in] sat Saturation + * @param[in] hue Value (brightness) + * @see rgb_matrix_sethsv_noeeprom() + */ +void rgb_matrix_sethsv_noeeprom_user(const uint16_t hue, const uint8_t sat, const uint8_t val) { +#if defined(RGB_FADE_IN) || defined(RGB_IDLE_TIMEOUT) + rgb_matrix_config.hsv.h = hue; + rgb_matrix_config.hsv.s = sat; + // omitting setting the value to avoid interfering with effects +// rgb_matrix_config.hsv.v = val; +#else + rgb_matrix_sethsv_noeeprom(hue, sat, val); +#endif +} + +#if defined(RGB_FADE_IN) || defined(RGB_IDLE_TIMEOUT) +/** + * @brief Calculates the time offset required by fade in. + * @details Using an arbitrary timer any point on the sine curve might be pointed to. + * The offest is calculated so that + * a) the point is at the lowest point in the curve and the curve is raising + * b) the point is near the current brightness (eg. fade in might be called while fading out and the lowest value has not yet been reached). + * @param[in] time Current time usually represented by (usually scaled) timer + * @return Offset required so that time matches the current brightness + */ +uint8_t calc_fade_in_offset(const uint8_t time) { + static const uint8_t max_steps = UINT8_MAX/2; + static const uint8_t range_min = 0; + static const uint8_t range_max = RGB_MATRIX_MAXIMUM_BRIGHTNESS; + + // start at the right point in the sine curve + uint8_t time_offset = offset_for_time(time, PHASE_LOW); + + // find the right offset to match the current brightness + for (int i = 1; i < max_steps; i++) { + const uint8_t value = scaled_sin(time + time_offset + 1, range_min, range_max); + if (in_range(value, range_min, range_max) && value < rgb_matrix_config.hsv.v) { + time_offset++; + } else { + break; + } + } + + return time_offset; +} + +/** + * @brief Increases value/brightness until reaching RGB_MATRIX_MAXIMUM_BRIGHTNESS based on given timer. + * @param[in] time A (usually scaled) timer + * @return Returns `true` if RGB_MATRIX_MAXIMUM_BRIGHTNESS has been reached, `false` otherwise. + */ +bool fade_in(const uint8_t time) { + static const uint8_t range_min = 0; + static const uint8_t range_max = RGB_MATRIX_MAXIMUM_BRIGHTNESS; + + return fade_in_ranged(time, range_min, range_max); +} +#endif + +#if defined(RGB_DISABLE_WITH_FADE_OUT) || defined(RGB_IDLE_TIMEOUT) +/** + * @brief Calculates the time offset required by fade out. + * @details Using an arbitrary timer any point on the Sinus curve might be pointed to. + * The offest is calculated so that + * a) the point is at the highest point in the curve and the curve is failing + * b) the point is near the current brightness (eg. fade out might be called while on breath effect). + * @param[in] time Current time usually represented by a(usually scaled) timer + * @return Offset required so that time matches the current brightness + */ +uint8_t calc_fade_out_offset(const uint8_t time) { + static const uint8_t range_min = 0; + static const uint8_t range_max = RGB_MATRIX_MAXIMUM_BRIGHTNESS; + + // start at the right point in the sin() curve + uint8_t time_offset = offset_for_time(time, PHASE_HIGH); + + // find the right offset to match the current brightness + for (int i = 1; i < 127; i++) { + const uint8_t value = scaled_sin(time + time_offset + 1, range_min, range_max); + if (in_range(value, range_min, range_max) && rgb_matrix_config.hsv.v < value) { + time_offset++; + } else { + break; + } + } + + return time_offset; +} +#endif + +#if defined(RGB_DISABLE_WITH_FADE_OUT) +/** + * @brief Decreases value/brightness until reaching 0 based on given timer. + * @param[in] time A (usually scaled) timer + * @return Returns `true` if 0 has been reached, `false` otherwise. + */ +bool fade_out(const uint8_t time) { + static const uint8_t range_min = 0; + static const uint8_t range_max = RGB_MATRIX_MAXIMUM_BRIGHTNESS; + + return fade_out_ranged(time, range_min, range_max); +} +#endif + +#if defined(RGB_IDLE_TIMEOUT) +/** + * @brief Decreases value/brightness until reaching `RGB_IDLE_MINIMUM_BRIGHTNESS` based on given timer. + * @param[in] time A (usually scaled) timer + * @return Returns `true` if `RGB_IDLE_MINIMUM_BRIGHTNESS` has been reached, `false` otherwise. + */ +bool idle_fade_out(const uint8_t time) { + static const uint8_t range_min = RGB_IDLE_MINIMUM_BRIGHTNESS; + static const uint8_t range_max = RGB_MATRIX_MAXIMUM_BRIGHTNESS; + + return fade_out_ranged(time, range_min, range_max); +} + +#if defined(RGB_IDLE_BREATHE) +/** + * @brief Changes value/brightness to create a breathing effect based on given timer. + * @details Brightness will breathe in the range starting from `RGB_IDLE_MINIMUM_BRIGHTNESS` to `RGB_IDLE_MAXIMUM_BRIGHTNESS`. + * @param[in] time A (usually scaled) timer + */ +void idle_breathe(const uint8_t time) { + static const uint8_t range_min = RGB_IDLE_MINIMUM_BRIGHTNESS; + static const uint8_t range_max = RGB_IDLE_MAXIMUM_BRIGHTNESS; + + rgb_matrix_config.hsv.v = scaled_sin(time, range_min, range_max); +} +#endif // RGB_IDLE_BREATHE +#endif // RGB_IDLE_TIMEOUT diff --git a/users/vitoni/rgb_matrix_effects.h b/users/vitoni/rgb_matrix_effects.h new file mode 100644 index 000000000000..ed74500b1827 --- /dev/null +++ b/users/vitoni/rgb_matrix_effects.h @@ -0,0 +1,174 @@ +// Copyright 2021 Victor Toni (@vitoni) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +/** + * States reflecting the state of the keyboard. + * Dependeing on these states various effects can set for the RGB matrix. + */ +enum states { + REGULAR //!< when in regular use +#if defined(RGB_IDLE_TIMEOUT) + ,IDLE_FADE_OUT //!< when started idling + ,IDLE //!< when idling +#endif +#if defined(RGB_FADE_IN) || defined(RGB_IDLE_TIMEOUT) + ,FADE_IN //!< when starting initially or before going back to REGULAR +#endif +#if defined(RGB_DISABLE_WITH_FADE_OUT) + ,FADE_OUT //!< before supending +#endif + ,SUSPENDED //!< expecting to be suspended by RGB_DISABLE_TIMEOUT any time +}; + +/** + * @brief Scales down `g_rgb_timer` so that it can be used for RGB effects. + * @details Usually these calculations aredone internally by some RGB effects. + This method exposed to scaling so that all effects to have same timebase. If `rgb_matrix_config.speed` all effects are affected the same. + * @param[in] factor The factor can be used to speed up some operations in relation to others. + * @return scaled down timer taking into account the given factor + * @see g_rgb_timer + * @see rgb_matrix_config.speed + */ +uint8_t rgb_time_2_scale_w_factor(const uint8_t factor); + +/** + * @brief Scales down `g_rgb_timer` so that it can be used for RGB effects. + * @return scaled down timer + * @see rgb_time_2_scale_w_factor() + */ +uint8_t rgb_time_2_scale(void); + +/** + * @brief Inverse function to calculate time required to execute `timer` steps. + * @details This method allows calculation of the time needed to execute N `timer`steps. + Usefull when using a scaled down time but requiring the time needed to perform these steps. + * @param[in] scaled_time scaled down timer to inverse to time + * @return time corresponding to scaled down time + * @see rgb_time_2_scale() + */ +uint16_t scale_2_rgb_time(const uint8_t scaled_time); + +/** + * @brief Convenience method to eventually skip the value part when setting HSV. + * @details When setting HSV this includes the value/brightness. + As changing brightness might interfer with fading or breathing effects, + this method can skip the value part of HSV (depending on the preprocessor flag: RGB_FADE_IN). + * @param[in] hue Hue + * @param[in] sat Saturation + * @param[in] hue Value (brightness) + * @see rgb_matrix_sethsv_noeeprom() + */ +void rgb_matrix_sethsv_noeeprom_user(const uint16_t hue, const uint8_t sat, const uint8_t val); + +#if defined(RGB_FADE_IN) || defined(RGB_DISABLE_WITH_FADE_OUT) || defined(RGB_IDLE_TIMEOUT) +# if defined(RGB_MATRIX_MAXIMUM_BRIGHTNESS) +# if (RGB_MATRIX_MAXIMUM_BRIGHTNESS) < 1 +# error "RGB_MATRIX_MAXIMUM_BRIGHTNESS must not be less than ONE" +# endif +# if UINT8_MAX < (RGB_MATRIX_MAXIMUM_BRIGHTNESS) +# error "RGB_MATRIX_MAXIMUM_BRIGHTNESS must not be larger than UINT8_MAX" +# endif +# else +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 +# endif +#endif + +#if defined(RGB_FADE_IN) || defined(RGB_IDLE_TIMEOUT) +/** + * @brief Calculates the time offset required by fade in. + * @details Using an arbitrary timer any point on the sine curve might be pointed to. + * The offset is calculated so that + * a) the point is at the lowest point in the curve and the curve is raising + * b) the point is near the current brightness (eg. fade in might be called while fading out and the lowest value has not yet been reached). + * @param[in] time Current time usually represented by a(usually scaled) timer + * @return Offset required so that time matches the current brightness + */ +uint8_t calc_fade_in_offset(const uint8_t time); + +/** + * @brief Increases value/brightness until reaching RGB_MATRIX_MAXIMUM_BRIGHTNESS based on given timer. + * @param[in] time A (usually scaled) timer + * @return Returns `true` if RGB_MATRIX_MAXIMUM_BRIGHTNESS has been reached, `false` otherwise. + */ +bool fade_in(const uint8_t time); +#endif + +#if defined(RGB_DISABLE_WITH_FADE_OUT) +# if !defined(RGB_DISABLE_TIMEOUT) +# warning "RGB_DISABLE_WITH_FADE_OUT expects RGB_DISABLE_TIMEOUT to be defined" +# endif +#endif + +#if defined(RGB_DISABLE_WITH_FADE_OUT) || defined(RGB_IDLE_TIMEOUT) +/** + * @brief Calculates the time offset required by fade out. + * @details Using an arbitrary timer any point on the Sinus curve might be pointed to. + * The offest is calculated so that + * a) the point is at the highest point in the curve and the curve is failing + * b) the point is near the current brightness (eg. fade out might be called while on breath effect). + * @param[in] time Current time usually represented by a(usually scaled) timer + * @return Offset required so that time matches the current brightness + */ +uint8_t calc_fade_out_offset(const uint8_t time); +#endif + +#if defined(RGB_DISABLE_WITH_FADE_OUT) +/** + * @brief Decreases value/brightness until reaching 0 based on given timer. + * @param[in] time A (usually scaled) timer + * @return Returns `true` if 0 has been reached, `false` otherwise. + */ +bool fade_out(const uint8_t time); +#endif + +#if defined(RGB_IDLE_TIMEOUT) +# if RGB_IDLE_TIMEOUT < 0 +# error "RGB_IDLE_TIMEOUT must not be less than ZERO" +# endif +# if !defined(RGB_IDLE_MINIMUM_BRIGHTNESS) + // minimum brightness when idling +# define RGB_IDLE_MINIMUM_BRIGHTNESS (RGB_MATRIX_MAXIMUM_BRIGHTNESS/5) +# endif +# if RGB_IDLE_MINIMUM_BRIGHTNESS < 0 +# error "RGB_IDLE_MINIMUM_BRIGHTNESS must not be less than ZERO" +# endif // RGB_IDLE_MINIMUM_BRIGHTNESS < 0 +# if RGB_MATRIX_MAXIMUM_BRIGHTNESS <= RGB_IDLE_MINIMUM_BRIGHTNESS +# error "RGB_IDLE_MINIMUM_BRIGHTNESS must be less than RGB_MATRIX_MAXIMUM_BRIGHTNESS" +# endif // RGB_MATRIX_MAXIMUM_BRIGHTNESS <= RGB_IDLE_MINIMUM_BRIGHTNESS + +/** + * @brief Decreases value/brightness until reaching `RGB_IDLE_MINIMUM_BRIGHTNESS` based on given timer. + * @param[in] time A (usually scaled) timer + * @return Returns `true` if `RGB_IDLE_MINIMUM_BRIGHTNESS` has been reached, `false` otherwise. + */ +bool idle_fade_out(const uint8_t time); + +#if defined(RGB_IDLE_BREATHE) +# if !defined(RGB_IDLE_MAXIMUM_BRIGHTNESS) + // maximum brightness when idling +# define RGB_IDLE_MAXIMUM_BRIGHTNESS (RGB_MATRIX_MAXIMUM_BRIGHTNESS*3/5) +# endif +# if !(0 <= RGB_IDLE_MAXIMUM_BRIGHTNESS) +# error "RGB_IDLE_MINIMUM_BRIGHTNESS must not be less than ZERO, was: " RGB_IDLE_MAXIMUM_BRIGHTNESS +# endif // RGB_IDLE_MAXIMUM_BRIGHTNESS < 0 +# if !(RGB_IDLE_MINIMUM_BRIGHTNESS < RGB_IDLE_MAXIMUM_BRIGHTNESS) +# error "RGB_IDLE_MINIMUM_BRIGHTNESS must be less than RGB_IDLE_MAXIMUM_BRIGHTNESS" +# endif // RGB_IDLE_MAXIMUM_BRIGHTNESS <= RGB_IDLE_MINIMUM_BRIGHTNESS +# if !(RGB_IDLE_MAXIMUM_BRIGHTNESS <= RGB_MATRIX_MAXIMUM_BRIGHTNESS) +# error "RGB_IDLE_MAXIMUM_BRIGHTNESS must be less than or equal to RGB_MATRIX_MAXIMUM_BRIGHTNESS" +# endif // RGB_MATRIX_MAXIMUM_BRIGHTNESS <= RGB_IDLE_MAXIMUM_BRIGHTNESS + +/** + * @brief Changes value/brightness to create a breathing effect based on given timer. + * @details Brightness will breathe in the range starting from `RGB_IDLE_MINIMUM_BRIGHTNESS` to `RGB_IDLE_MAXIMUM_BRIGHTNESS`. + * @param[in] time A (usually scaled) timer + */ +void idle_breathe(const uint8_t time); +#endif // RGB_IDLE_BREATHE + +#endif // RGB_IDLE_TIMEOUT diff --git a/users/vitoni/rules.mk b/users/vitoni/rules.mk new file mode 100644 index 000000000000..2f3b0d15e5da --- /dev/null +++ b/users/vitoni/rules.mk @@ -0,0 +1,4 @@ +SRC += \ + vitoni.c \ + utils.c \ + rgb_matrix_effects.c diff --git a/users/vitoni/utils.c b/users/vitoni/utils.c new file mode 100644 index 000000000000..fb011570e44f --- /dev/null +++ b/users/vitoni/utils.c @@ -0,0 +1,129 @@ +// Copyright 2021 Victor Toni (@vitoni) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "utils.h" + +#include + +/** +* @brief Changes `*value` to `new_value`. +* @param[in,out] value Pointer to variable to be changed. +* @param[in] new_value Value to be changed. +* @param[in,out] changed Flag indicating `*value` and `new_value` were different. +*/ +void update_value(uint8_t *value, const uint8_t new_value, bool *changed) { + if (new_value != (*value)) { + (*changed) = true; + (*value) = new_value; + } +} + +/** +* @brief Checks whether a value is in the given range. +* @param[in] value Value to be checked. +* @param[in] range_min Lower bound of range (inclusive). +* @param[in] range_max Upper bound of range (inclusive). +* @return `true` if (range_min <= value <= range_max), `false` otherwise +*/ +bool in_range(const uint8_t value, const uint8_t range_min, const uint8_t range_max) { + return range_min <= value && value <= range_max; +} + +/** +* @brief Calculates the sine value based on sin8() and scales it to the given range (unsigned). +* +* Table of values for unscaled sin8() eg. a theta of 0 results to 128 and a theta of 255 (240+15) results to 125. + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + +---------------------------------------------------------------- + 0: 128 131 134 137 140 143 146 149 152 155 158 161 164 167 170 173 + 16: 177 179 182 184 187 189 192 194 197 200 202 205 207 210 212 215 + 32: 218 219 221 223 224 226 228 229 231 233 234 236 238 239 241 243 + 48: 245 245 246 246 247 248 248 249 250 250 251 251 252 253 253 254 + 64: 255 254 253 253 252 251 251 250 250 249 248 248 247 246 246 245 + 80: 245 243 241 239 238 236 234 233 231 229 228 226 224 223 221 219 + 96: 218 215 212 210 207 205 202 200 197 194 192 189 187 184 182 179 + 112: 177 173 170 167 164 161 158 155 152 149 146 143 140 137 134 131 + 128: 128 125 122 119 116 113 110 107 104 101 98 95 92 89 86 83 + 144: 79 77 74 72 69 67 64 62 59 56 54 51 49 46 44 41 + 160: 38 37 35 33 32 30 28 27 25 23 22 20 18 17 15 13 + 176: 11 11 10 10 9 8 8 7 6 6 5 5 4 3 3 2 + 192: 1 2 3 3 4 5 5 6 6 7 8 8 9 10 10 11 + 208: 11 13 15 17 18 20 22 23 25 27 28 30 32 33 35 37 + 224: 38 41 44 46 49 51 54 56 59 62 64 67 69 72 74 77 + 240: 79 83 86 89 92 95 98 101 104 107 110 113 116 119 122 125 +* +* @param[in] theta Angle (a full circle mapped to 0-255) used as input for sine calculation. +* @param[in] range_min Lower bound of range (inclusive). +* @param[in] range_max Upper bound of range (inclusive). +* @return Calculated sine value mapped to the given range. +*/ +uint8_t scaled_sin(const uint8_t theta, const uint8_t range_min, const uint8_t range_max) { + const uint8_t range = range_max - range_min; + return scale8(sin8(theta), range) + range_min; +} + +/** +* @brief Increases the given value until reaching range_max. +* The increments occur following an upwards sine wave (scaled from range_min to range_max). +* @param[in] theta Angle (a full circle mapped to 0-255) used as input for sine calculation. +* @param[in] range_min Lower bound of range (inclusive). +* @param[in] range_max Upper bound of range (inclusive). +* @param[in] max_delta Maximum delta between value and range_max (due to values being integers and eventually not fully matching). +* @param[in,out] value Reference of variable to be increased +* @return `true` if value and range_max are within a delta of 3 (chosen by fair dice rolling), `false` otherwise +* @see scaled_sin() +*/ +bool scaled_sin_up(const uint8_t theta, const uint8_t range_min, const uint8_t range_max, const uint8_t max_delta, uint8_t *value) { + // ensure upper range bound + if (range_max <= (*value)) { + (*value) = range_max; + return true; + } + + const uint8_t new_value = scaled_sin(theta, range_min, range_max); + if (in_range(new_value, range_min, range_max) && (*value) < new_value) { + (*value) = new_value; + + return range_max == (*value); + } + + const uint8_t delta = range_max - (*value); + if (delta <= max_delta) { + (*value) = range_max; + } + + return delta <= max_delta; +} + +/** +* @brief Decreases the given value until reaching range_min. +* The decrements occur following an downwards sinus wave (scaled from range_min to range_max). +* @param[in] theta Angle (a full circle mapped to 0-255) used as input for sinus calculation. +* @param[in] range_min Lower bound of range (inclusive). +* @param[in] range_max Upper bound of range (inclusive). +* @param[in] max_delta Maximum delta between value and range_min (due to values being integers and eventually not fully matching). +* @param[in,out] value Reference of variable to be decreased +* @return `true` if value and range_max are within a delta of 3 (chosen by fair dice rolling), `false` otherwise +* @see scaled_sin() +*/ +bool scaled_sin_down(const uint8_t theta, const uint8_t range_min, const uint8_t range_max, const uint8_t max_delta, uint8_t *value) { + // ensure lower range bound + if ((*value) <= range_min) { + (*value) = range_min; + return true; + } + + const uint8_t new_value = scaled_sin(theta, range_min, range_max); + if (in_range(new_value, range_min, range_max) && new_value < (*value)) { + (*value) = new_value; + + return range_min == (*value); + } + + const uint8_t delta = (*value) - range_min; + if (delta <= max_delta) { + (*value) = range_min; + } + + return delta <= max_delta; +} diff --git a/users/vitoni/utils.h b/users/vitoni/utils.h new file mode 100644 index 000000000000..987b612d5828 --- /dev/null +++ b/users/vitoni/utils.h @@ -0,0 +1,80 @@ +// Copyright 2021 Victor Toni (@vitoni) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +/** +* @brief Changes `*value` to `new_value`. +* @param[in,out] value Pointer to variable to be changed. +* @param[in] new_value Value to be changed. +* @param[in,out] changed Flag indicating `*value` and `new_value` were different. +*/ +void update_value(uint8_t *value, const uint8_t new_value, bool *changed); + +/** +* @brief Checks whether a value is in the given range. +* @param[in] value Value to be checked. +* @param[in] range_min Lower bound of range (inclusive). +* @param[in] range_max Upper bound of range (inclusive). +* @return `true` if (range_min <= value <= range_max), `false` otherwise +*/ +bool in_range(const uint8_t value, const uint8_t range_min, const uint8_t range_max); + +/** +* @brief Calculates the sine value based on sin8() and scales it to the given range (unsigned). +* +* Table of values for unscaled sin8() eg. a theta of 0 results to 128 and a theta of 255 (240+15) results to 125. + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + +---------------------------------------------------------------- + 0: 128 131 134 137 140 143 146 149 152 155 158 161 164 167 170 173 + 16: 177 179 182 184 187 189 192 194 197 200 202 205 207 210 212 215 + 32: 218 219 221 223 224 226 228 229 231 233 234 236 238 239 241 243 + 48: 245 245 246 246 247 248 248 249 250 250 251 251 252 253 253 254 + 64: 255 254 253 253 252 251 251 250 250 249 248 248 247 246 246 245 + 80: 245 243 241 239 238 236 234 233 231 229 228 226 224 223 221 219 + 96: 218 215 212 210 207 205 202 200 197 194 192 189 187 184 182 179 + 112: 177 173 170 167 164 161 158 155 152 149 146 143 140 137 134 131 + 128: 128 125 122 119 116 113 110 107 104 101 98 95 92 89 86 83 + 144: 79 77 74 72 69 67 64 62 59 56 54 51 49 46 44 41 + 160: 38 37 35 33 32 30 28 27 25 23 22 20 18 17 15 13 + 176: 11 11 10 10 9 8 8 7 6 6 5 5 4 3 3 2 + 192: 1 2 3 3 4 5 5 6 6 7 8 8 9 10 10 11 + 208: 11 13 15 17 18 20 22 23 25 27 28 30 32 33 35 37 + 224: 38 41 44 46 49 51 54 56 59 62 64 67 69 72 74 77 + 240: 79 83 86 89 92 95 98 101 104 107 110 113 116 119 122 125 +* +* @param[in] theta Angle (a full circle mapped to 0-255) used as input for sine calculation. +* @param[in] range_min Lower bound of range (inclusive). +* @param[in] range_max Upper bound of range (inclusive). +* @return Calculated sine value mapped to the given range. +*/ +uint8_t scaled_sin(const uint8_t theta, const uint8_t range_min, const uint8_t range_max); + +/** +* @brief Increases the given value until reaching range_max. +* The increments occur following an upwards sine wave (scaled from range_min to range_max). +* @param[in] theta Angle (a full circle mapped to 0-255) used as input for sine calculation. +* @param[in] range_min Lower bound of range (inclusive). +* @param[in] range_max Upper bound of range (inclusive). +* @param[in] max_delta Maximum delta between value and range_max (due to values being integers and eventually not fully matching). +* @param[in,out] value Reference of variable to be increased +* @return `true` if value and range_max are within a delta of 3 (chosen by fair dice rolling), `false` otherwise +* @see scaled_sin() +*/ +bool scaled_sin_up(const uint8_t thea, const uint8_t range_min, const uint8_t range_max, const uint8_t max_delta, uint8_t *value); + +/** +* @brief Decreases the given value until reaching range_min. +* The decrements occur following an downwards sinus wave (scaled from range_min to range_max). +* @param[in] theta Angle (a full circle mapped to 0-255) used as input for sinus calculation. +* @param[in] range_min Lower bound of range (inclusive). +* @param[in] range_max Upper bound of range (inclusive). +* @param[in] max_delta Maximum delta between value and range_min (due to values being integers and eventually not fully matching). +* @param[in,out] value Reference of variable to be decreased +* @return `true` if value and range_max are within a delta of 3 (chosen by fair dice rolling), `false` otherwise +* @see scaled_sin() +*/ +bool scaled_sin_down(const uint8_t theta, const uint8_t range_min, const uint8_t range_max, const uint8_t max_delta, uint8_t *value); diff --git a/users/vitoni/vitoni.c b/users/vitoni/vitoni.c new file mode 100644 index 000000000000..2a0ff5c46f54 --- /dev/null +++ b/users/vitoni/vitoni.c @@ -0,0 +1,131 @@ +// Copyright 2021 Victor Toni (@vitoni) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "vitoni.h" + +#include +#include + +#include "rgb_matrix_effects.h" +#include "utils.h" + +#if defined(RGB_FADE_IN) || defined(RGB_DISABLE_WITH_FADE_OUT) || defined(RGB_IDLE_TIMEOUT) +static uint8_t state; + +// flag used to indicate that offset calculation is needed to adjust the timer, +// so that it matches the index used for sine calculation +static bool calc_offset; + +void matrix_scan_user_rgb(void) { +#if defined(RGB_DISABLE_WITH_FADE_OUT) || defined(RGB_IDLE_TIMEOUT) + const uint8_t time = rgb_time_2_scale(); +#endif + static uint8_t time_offset; + + const uint32_t inactivity_millis = last_input_activity_elapsed(); + +#if defined(RGB_IDLE_TIMEOUT) + if (IDLE != state && RGB_IDLE_TIMEOUT <= inactivity_millis) { + update_value(&state, IDLE_FADE_OUT, &calc_offset); + } +#endif +#if defined(RGB_DISABLE_WITH_FADE_OUT) + const uint32_t fade_out_duration = scale_2_rgb_time(128); + const uint32_t start_fade_out_after_millis = (RGB_DISABLE_TIMEOUT) > fade_out_duration + ? (RGB_DISABLE_TIMEOUT) - fade_out_duration + : 0; + + if (start_fade_out_after_millis <= inactivity_millis) { + update_value(&state, FADE_OUT, &calc_offset); + } +#elif defined(RGB_DISABLE_TIMEOUT) + // having to set brightness "manually" to black as starting point for fade in + // for the time when returning from suspended state + if (RGB_DISABLE_TIMEOUT <= inactivity_millis + 15) { + rgb_matrix_config.hsv.v = 0; + state = SUSPENDED; + } +#endif + + switch(state) { +#if defined(RGB_IDLE_TIMEOUT) + case IDLE_FADE_OUT: + if (calc_offset) { + time_offset = calc_fade_out_offset(time); + + // resetting flag for subsequent calls + calc_offset = false; + } + if (idle_fade_out(time + time_offset)) { + update_value(&state, IDLE, &calc_offset); + } + break; + case IDLE: +#if defined(RGB_IDLE_BREATHE) + if (calc_offset) { + // no need to calculate time_offset since we are aligned already due to IDLE_FADE_OUT + // resetting flag for subsequent calls + calc_offset = false; + } + idle_breathe(time + time_offset); +#endif + break; +#endif +#if defined(RGB_DISABLE_WITH_FADE_OUT) + case FADE_OUT: + if (calc_offset) { + time_offset = calc_fade_out_offset(time); + + // resetting flag for subsequent calls + calc_offset = false; + } + if (fade_out(time + time_offset)) { + update_value(&state, SUSPENDED, &calc_offset); + } + break; +#endif +#if defined(RGB_FADE_IN) || defined(RGB_IDLE_TIMEOUT) + case FADE_IN: + { + // since we want to be active, fade in should be faster than e.g. fading out + const uint8_t fade_in_time = rgb_time_2_scale_w_factor(4); + if (calc_offset) { + time_offset = calc_fade_in_offset(fade_in_time); + + // resetting flag for subsequent calls + calc_offset = false; + } + if (fade_in(fade_in_time + time_offset)) { + update_value(&state, REGULAR, &calc_offset); + } + } + break; +#endif + default: + break; + } +} + +#if defined(RGB_FADE_IN) || defined(RGB_IDLE_TIMEOUT) +bool process_record_user_rgb(const uint16_t keycode, const keyrecord_t *record) { + // if we are in a non regular state we might have faded out (eventually partially) + // so we restore brightness (to max as we don't keep track of manually changed brightness) + // if (REGULAR != state && FADE_IN != state) { + if (FADE_IN != state && REGULAR != state) { + update_value(&state, FADE_IN, &calc_offset); + } + + return true; // Process all other keycodes normally +} + +void suspend_wakeup_init_user(void) { + if (FADE_IN != state) { + // setting brightness to black as starting point for fade in + rgb_matrix_config.hsv.v = 0; + + update_value(&state, FADE_IN, &calc_offset); + } +} +#endif // defined(RGB_FADE_IN) + +#endif // defined(RGB_FADE_IN) || defined(RGB_DISABLE_WITH_FADE_OUT) diff --git a/users/vitoni/vitoni.h b/users/vitoni/vitoni.h new file mode 100644 index 000000000000..1f2603713570 --- /dev/null +++ b/users/vitoni/vitoni.h @@ -0,0 +1,30 @@ +// Copyright 2021 Victor Toni (@vitoni) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +#include + +#include "rgb_matrix_effects.h" + +/** + * @brief Executes periodic tasks, eg. fading or checking for upcoming supend. + * @details Function declaration as weak as the implementation might "disappear" depending on the RGB settings used. + * The weak declaration avoids having to change `keymap.c`. + */ +__attribute__((weak)) +void matrix_scan_user_rgb(void); + +/** + * @brief Executes tasks based on user activity, eg. fading in. + * @details Function declaration as weak as the implementation might "disappear" depending on the RGB settings used. + * The weak declaration avoids having to change `keymap.c`. + * @param[in] keycode + * @param[in] record + * @return `false` if further processing should be stopped, `true` otherwise + */ +__attribute__((weak)) +bool process_record_user_rgb(const uint16_t keycode, const keyrecord_t *record); From 6f81880f17f94cb9a2e7a09f2f028c83e5d8b1db Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 27 Dec 2021 21:15:56 +1100 Subject: [PATCH 0040/1832] Convert some more boards to Matrix Lite (#15489) --- keyboards/centromere/matrix.c | 118 +++-------------------- keyboards/centromere/rules.mk | 20 ++-- keyboards/chimera_ergo/matrix.c | 127 +++---------------------- keyboards/chimera_ergo/rules.mk | 16 ++-- keyboards/chimera_ls/matrix.c | 131 +++----------------------- keyboards/chimera_ls/rules.mk | 14 +-- keyboards/chimera_ortho/matrix.c | 117 +++-------------------- keyboards/chimera_ortho/rules.mk | 14 +-- keyboards/chimera_ortho_plus/matrix.c | 117 +++-------------------- keyboards/chimera_ortho_plus/rules.mk | 2 +- keyboards/comet46/matrix.c | 117 +++-------------------- keyboards/comet46/rules.mk | 14 +-- keyboards/mitosis/matrix.c | 118 +++-------------------- keyboards/mitosis/rules.mk | 18 ++-- keyboards/redox_w/matrix.c | 127 +++---------------------- keyboards/redox_w/rules.mk | 16 ++-- keyboards/sirius/uni660/rev1/matrix.c | 123 +++--------------------- keyboards/sirius/uni660/rev1/rules.mk | 2 +- keyboards/sirius/uni660/rev2/matrix.c | 123 +++--------------------- keyboards/sirius/uni660/rev2/rules.mk | 2 +- 20 files changed, 206 insertions(+), 1130 deletions(-) diff --git a/keyboards/centromere/matrix.c b/keyboards/centromere/matrix.c index a46701275aa3..bbd771f41bb9 100644 --- a/keyboards/centromere/matrix.c +++ b/keyboards/centromere/matrix.c @@ -15,77 +15,18 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include -#include -#if defined(__AVR__) -#include -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" + +#include "quantum.h" #include "matrix.h" -#include "timer.h" #include "uart.h" -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - - matrix_init_quantum(); +void matrix_init_custom(void) { uart_init(500000); } -uint8_t matrix_scan(void) -{ +bool matrix_scan_custom(matrix_row_t current_matrix[]) { uint32_t timeout = 0; + bool changed = false; //the s character requests the RF remote slave to send the matrix information uart_write('s'); @@ -96,9 +37,9 @@ uint8_t matrix_scan(void) //there are 10 bytes corresponding to 1w columns, and an end byte for (uint8_t i = 0; i < 11; i++) { //wait for the serial data, timeout if it's been too long - while(!uart_available()){ + while (!uart_available()) { timeout++; - if (timeout > 10000){ + if (timeout > 10000) { break; } } @@ -107,47 +48,16 @@ uint8_t matrix_scan(void) //check for the end packet, the key state bytes use the LSBs, so 0xE0 //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { + if (uart_data[10] == 0xE0) { //shifting and transferring the keystates to the QMK matrix variable for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 5; + matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 5; + if (current_matrix[i] != current_row) { + changed = true; + } + current_matrix[i] = current_row; } } - - matrix_scan_quantum(); - return 1; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<. */ -#include -#include -#if defined(__AVR__) -#include -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" + +#include "quantum.h" #include "matrix.h" -#include "timer.h" #include "uart.h" -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - -__attribute__ ((weak)) -void matrix_init_quantum(void) { - matrix_init_kb(); -} - -__attribute__ ((weak)) -void matrix_scan_quantum(void) { - matrix_scan_kb(); -} - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - - matrix_init_quantum(); +void matrix_init_custom(void) { uart_init(1000000); } -uint8_t matrix_scan(void) -{ +bool matrix_scan_custom(matrix_row_t current_matrix[]) { uint32_t timeout = 0; + bool changed = false; //the s character requests the RF slave to send the matrix uart_write('s'); @@ -107,9 +39,9 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!uart_available()){ + while (!uart_available()) { timeout++; - if (timeout > 10000){ + if (timeout > 10000) { break; } } @@ -118,47 +50,16 @@ uint8_t matrix_scan(void) //check for the end packet, the key state bytes use the LSBs, so 0xE0 //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { + if (uart_data[10] == 0xE0) { //shifting and transferring the keystates to the QMK matrix variable for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 6; + matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 6; + if (current_matrix[i] != current_row) { + changed = true; + } + current_matrix[i] = current_row; } } - - matrix_scan_quantum(); - return 1; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<. */ -#include -#include -#if defined(__AVR__) -#include -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" + +#include "quantum.h" #include "matrix.h" -#include "timer.h" #include "uart.h" -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#elif (MATRIX_COLS <= 64) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse64(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop64(matrix[i]) -# define ROW_SHIFTER ((uint64_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - -__attribute__ ((weak)) -void matrix_init_quantum(void) { - matrix_init_kb(); -} - -__attribute__ ((weak)) -void matrix_scan_quantum(void) { - matrix_scan_kb(); -} - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - matrix_init_quantum(); +void matrix_init_custom(void) { uart_init(1000000); } -uint8_t matrix_scan(void) -{ +bool matrix_scan_custom(matrix_row_t current_matrix[]) { uint32_t timeout = 0; + bool changed = false; //the s character requests the RF slave to send the matrix uart_write('s'); @@ -111,9 +39,9 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!uart_available()){ + while (!uart_available()) { timeout++; - if (timeout > 10000){ + if (timeout > 10000) { break; } } @@ -122,47 +50,16 @@ uint8_t matrix_scan(void) //check for the end packet, the key state bytes use the LSBs, so 0xE0 //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { + if (uart_data[10] == 0xE0) { //shifting and transferring the keystates to the QMK matrix variable for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 5; + matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 5; + if (current_matrix[i] != current_row) { + changed = true; + } + current_matrix[i] = current_row; } } - - matrix_scan_quantum(); - return 1; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<. */ -#include -#include -#if defined(__AVR__) -#include -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" + +#include "quantum.h" #include "matrix.h" -#include "timer.h" #include "uart.h" -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - - matrix_init_quantum(); +void matrix_init_custom(void) { uart_init(1000000); } -uint8_t matrix_scan(void) -{ +bool matrix_scan_custom(matrix_row_t current_matrix[]) { uint32_t timeout = 0; + bool changed = false; //the s character requests the RF slave to send the matrix uart_write('s'); @@ -97,9 +39,9 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!uart_available()){ + while (!uart_available()) { timeout++; - if (timeout > 10000){ + if (timeout > 10000) { break; } } @@ -108,47 +50,16 @@ uint8_t matrix_scan(void) //check for the end packet, the key state bytes use the LSBs, so 0xE0 //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { + if (uart_data[10] == 0xE0) { //shifting and transferring the keystates to the QMK matrix variable for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 5; + matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 5; + if (current_matrix[i] != current_row) { + changed = true; + } + current_matrix[i] = current_row; } } - - matrix_scan_quantum(); - return 1; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<. */ -#include -#include -#if defined(__AVR__) -#include -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" + +#include "quantum.h" #include "matrix.h" -#include "timer.h" #include "uart.h" -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - - matrix_init_quantum(); +void matrix_init_custom(void) { uart_init(1000000); } -uint8_t matrix_scan(void) -{ +bool matrix_scan_custom(matrix_row_t current_matrix[]) { uint32_t timeout = 0; + bool changed = false; //the s character requests the RF slave to send the matrix uart_write('s'); @@ -97,9 +39,9 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!uart_available()){ + while (!uart_available()) { timeout++; - if (timeout > 10000){ + if (timeout > 10000) { break; } } @@ -108,47 +50,16 @@ uint8_t matrix_scan(void) //check for the end packet, the key state bytes use the LSBs, so 0xE0 //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { + if (uart_data[10] == 0xE0) { //shifting and transferring the keystates to the QMK matrix variable for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 6; + matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 6; + if (current_matrix[i] != current_row) { + changed = true; + } + current_matrix[i] = current_row; } } - - matrix_scan_quantum(); - return 1; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<. */ -#include -#include -#if defined(__AVR__) -#include -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" + +#include "quantum.h" #include "matrix.h" -#include "timer.h" #include "uart.h" -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - - matrix_init_quantum(); +void matrix_init_custom(void) { uart_init(1000000); } -uint8_t matrix_scan(void) -{ +bool matrix_scan_custom(matrix_row_t current_matrix[]) { uint32_t timeout = 0; + bool changed = false; //the s character requests the RF slave to send the matrix uart_write('s'); @@ -97,9 +39,9 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!uart_available()){ + while (!uart_available()) { timeout++; - if (timeout > 10000){ + if (timeout > 10000) { break; } } @@ -108,47 +50,16 @@ uint8_t matrix_scan(void) //check for the end packet, the key state bytes use the LSBs, so 0xE0 //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { + if (uart_data[10] == 0xE0) { //shifting and transferring the keystates to the QMK matrix variable for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 5; + matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 5; + if (current_matrix[i] != current_row) { + changed = true; + } + current_matrix[i] = current_row; } } - - matrix_scan_quantum(); - return 1; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<. */ -#include -#include -#if defined(__AVR__) -#include -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" + +#include "quantum.h" #include "matrix.h" -#include "timer.h" #include "uart.h" -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - - matrix_init_quantum(); +void matrix_init_custom(void) { uart_init(1000000); } -uint8_t matrix_scan(void) -{ +bool matrix_scan_custom(matrix_row_t current_matrix[]) { uint32_t timeout = 0; + bool changed = false; //the s character requests the RF slave to send the matrix uart_write('s'); @@ -98,9 +39,9 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!uart_available()){ + while (!uart_available()) { timeout++; - if (timeout > 10000){ + if (timeout > 10000) { break; } } @@ -109,47 +50,16 @@ uint8_t matrix_scan(void) //check for the end packet, the key state bytes use the LSBs, so 0xE0 //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { + if (uart_data[10] == 0xE0) { //shifting and transferring the keystates to the QMK matrix variable for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 5; + matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 5; + if (current_matrix[i] != current_row) { + changed = true; + } + current_matrix[i] = current_row; } } - - matrix_scan_quantum(); - return 1; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<. */ -#include -#include -#if defined(__AVR__) -#include -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" + +#include "quantum.h" #include "matrix.h" -#include "timer.h" #include "uart.h" -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - -__attribute__ ((weak)) -void matrix_init_quantum(void) { - matrix_init_kb(); -} - -__attribute__ ((weak)) -void matrix_scan_quantum(void) { - matrix_scan_kb(); -} - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - - matrix_init_quantum(); +void matrix_init_custom(void) { uart_init(1000000); } -uint8_t matrix_scan(void) -{ +bool matrix_scan_custom(matrix_row_t current_matrix[]) { uint32_t timeout = 0; + bool changed = false; //the s character requests the RF slave to send the matrix uart_write('s'); @@ -105,9 +37,9 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!uart_available()){ + while (!uart_available()) { timeout++; - if (timeout > 10000){ + if (timeout > 10000) { break; } } @@ -116,47 +48,16 @@ uint8_t matrix_scan(void) //check for the end packet, the key state bytes use the LSBs, so 0xE0 //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { + if (uart_data[10] == 0xE0) { //shifting and transferring the keystates to the QMK matrix variable for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 7; + matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 7; + if (current_matrix[i] != current_row) { + changed = true; + } + current_matrix[i] = current_row; } } - - matrix_scan_quantum(); - return 1; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<. */ -#include -#include -#if defined(__AVR__) -#include -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" + +#include "quantum.h" #include "matrix.h" -#include "timer.h" -#include "debounce.h" #include "uart.h" -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - debounce_init(MATRIX_ROWS); - matrix_init_quantum(); +void matrix_init_custom(void) { uart_init(1000000); } -uint8_t matrix_scan(void) -{ - bool matrix_has_changed = false; - +bool matrix_scan_custom(matrix_row_t current_matrix[]) { uint32_t timeout = 0; + bool changed = false; //the s character requests the RF slave to send the matrix uart_write('s'); @@ -101,9 +39,9 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!uart_available()){ + while (!uart_available()) { timeout++; - if (timeout > 10000){ + if (timeout > 10000) { break; } } @@ -112,49 +50,16 @@ uint8_t matrix_scan(void) //check for the end packet, the key state bytes use the LSBs, so 0xE0 //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { + if (uart_data[10] == 0xE0) { //shifting and transferring the keystates to the QMK matrix variable for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 8; + matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 8; + if (current_matrix[i] != current_row) { + changed = true; + } + current_matrix[i] = current_row; } } - debounce(matrix, matrix, MATRIX_ROWS, matrix_has_changed); - - matrix_scan_quantum(); - - return matrix_has_changed; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<. */ -#include -#include -#if defined(__AVR__) -#include -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" + +#include "quantum.h" #include "matrix.h" -#include "timer.h" -#include "debounce.h" #include "uart.h" -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - debounce_init(MATRIX_ROWS); - matrix_init_quantum(); +void matrix_init_custom(void) { uart_init(1000000); } -uint8_t matrix_scan(void) -{ - bool matrix_has_changed = false; - +bool matrix_scan_custom(matrix_row_t current_matrix[]) { uint32_t timeout = 0; + bool changed = false; //the s character requests the RF slave to send the matrix uart_write('s'); @@ -101,9 +39,9 @@ uint8_t matrix_scan(void) //wait for the serial data, timeout if it's been too long //this only happened in testing with a loose wire, but does no //harm to leave it in here - while(!uart_available()){ + while (!uart_available()) { timeout++; - if (timeout > 10000){ + if (timeout > 10000) { break; } } @@ -112,49 +50,16 @@ uint8_t matrix_scan(void) //check for the end packet, the key state bytes use the LSBs, so 0xE0 //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { + if (uart_data[10] == 0xE0) { //shifting and transferring the keystates to the QMK matrix variable for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 8; + matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 8; + if (current_matrix[i] != current_row) { + changed = true; + } + current_matrix[i] = current_row; } } - debounce(matrix, matrix, MATRIX_ROWS, matrix_has_changed); - - matrix_scan_quantum(); - - return matrix_has_changed; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1< Date: Mon, 27 Dec 2021 03:18:35 -0700 Subject: [PATCH 0041/1832] Fix for SPI write timing in PMW3360 driver (#15519) Timing does not match Pixart documentation for this sensor (may have been carried forward from adns9800). Not aware of any issues coming from this currently. It should only cause issues when writing to multiple registers in succession which currently only happens during initialization for the PMW3360. This should prevent future issues with write operations if other features of the sensor are added. --- drivers/sensors/pmw3360.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 78d9c3bc8b7d..cebf4f25d88e 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -108,10 +108,10 @@ spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data) { status = spi_write(data); // tSCLK-NCS for write operation - wait_us(20); + wait_us(35); - // tSWW/tSWR (=120us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound - wait_us(100); + // tSWW/tSWR (=180us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound + wait_us(145); spi_stop(); return status; } From be2265d0d173ac347f0ee9ed809c2a689bf835a2 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Mon, 27 Dec 2021 02:20:52 -0800 Subject: [PATCH 0042/1832] Format code according to conventions (#15593) --- platforms/arm_atsam/bootloaders/md_boot.c | 22 ++++++++++++++-------- platforms/avr/bootloaders/bootloadhid.c | 3 +-- platforms/avr/bootloaders/caterina.c | 6 +++--- platforms/avr/bootloaders/dfu.c | 3 +-- platforms/avr/bootloaders/halfkay.c | 3 +-- platforms/avr/bootloaders/none.c | 3 +-- platforms/avr/bootloaders/usbasploader.c | 3 +-- platforms/chibios/bootloaders/gd32v_dfu.c | 5 ++--- platforms/chibios/bootloaders/halfkay.c | 3 +-- platforms/chibios/bootloaders/kiibohd.c | 3 +-- platforms/chibios/bootloaders/none.c | 3 +-- platforms/chibios/bootloaders/stm32_dfu.c | 14 ++++++-------- platforms/chibios/bootloaders/stm32duino.c | 5 +---- platforms/chibios/bootloaders/tinyuf2.c | 5 ++--- platforms/test/bootloaders/none.c | 2 +- 15 files changed, 37 insertions(+), 46 deletions(-) diff --git a/platforms/arm_atsam/bootloaders/md_boot.c b/platforms/arm_atsam/bootloaders/md_boot.c index fe0738948775..e7508ffe5183 100644 --- a/platforms/arm_atsam/bootloaders/md_boot.c +++ b/platforms/arm_atsam/bootloaders/md_boot.c @@ -22,8 +22,8 @@ // WARNING: These are only for CTRL bootloader release "v2.18Jun 22 2018 17:28:08" for bootloader_jump support extern uint32_t _eram; -#define BOOTLOADER_MAGIC 0x3B9ACA00 -#define MAGIC_ADDR (uint32_t *)((intptr_t)(&_eram) - 4) +# define BOOTLOADER_MAGIC 0x3B9ACA00 +# define MAGIC_ADDR (uint32_t *)((intptr_t)(&_eram) - 4) // CTRL keyboards released with bootloader version below must use RAM method. Otherwise use WDT method. void bootloader_jump(void) { @@ -40,7 +40,8 @@ void bootloader_jump(void) { *MAGIC_ADDR = BOOTLOADER_MAGIC; // Set magic number into RAM NVIC_SystemReset(); // Perform system reset - while (1); // Won't get here + while (1) + ; // Won't get here } } @@ -50,17 +51,22 @@ void bootloader_jump(void) { void bootloader_jump(void) { WDT->CTRLA.bit.ENABLE = 0; - while (WDT->SYNCBUSY.bit.ENABLE); - while (WDT->CTRLA.bit.ENABLE); + while (WDT->SYNCBUSY.bit.ENABLE) + ; + while (WDT->CTRLA.bit.ENABLE) + ; WDT->CONFIG.bit.WINDOW = 0; WDT->CONFIG.bit.PER = 0; WDT->EWCTRL.bit.EWOFFSET = 0; WDT->CTRLA.bit.ENABLE = 1; - while (WDT->SYNCBUSY.bit.ENABLE); - while (!WDT->CTRLA.bit.ENABLE); + while (WDT->SYNCBUSY.bit.ENABLE) + ; + while (!WDT->CTRLA.bit.ENABLE) + ; - while (1); // Wait on timeout + while (1) + ; // Wait on timeout } #endif diff --git a/platforms/avr/bootloaders/bootloadhid.c b/platforms/avr/bootloaders/bootloadhid.c index 8d18114613ea..ae58760d7daa 100644 --- a/platforms/avr/bootloaders/bootloadhid.c +++ b/platforms/avr/bootloaders/bootloadhid.c @@ -19,8 +19,7 @@ #include #include -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { // force bootloadHID to stay in bootloader mode, so that it waits // for a new firmware to be flashed // NOTE: this byte is part of QMK's "magic number" - changing it causes the EEPROM to be re-initialized diff --git a/platforms/avr/bootloaders/caterina.c b/platforms/avr/bootloaders/caterina.c index 1b43ed4e4485..82a16a3765f4 100644 --- a/platforms/avr/bootloaders/caterina.c +++ b/platforms/avr/bootloaders/caterina.c @@ -18,8 +18,7 @@ #include -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { // this block may be optional // TODO: figure it out @@ -35,5 +34,6 @@ void bootloader_jump(void) { wdt_enable(WDTO_60MS); // wait for watchdog timer to trigger - while (1) { } + while (1) { + } } diff --git a/platforms/avr/bootloaders/dfu.c b/platforms/avr/bootloaders/dfu.c index bdf5908934c5..cb42821a9304 100644 --- a/platforms/avr/bootloaders/dfu.c +++ b/platforms/avr/bootloaders/dfu.c @@ -28,8 +28,7 @@ #define BOOTLOADER_RESET_KEY 0xB007B007 uint32_t reset_key __attribute__((section(".noinit,\"aw\",@nobits;"))); -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { UDCON = 1; USBCON = (1 << FRZCLK); // disable USB UCSR1B = 0; diff --git a/platforms/avr/bootloaders/halfkay.c b/platforms/avr/bootloaders/halfkay.c index abef86980b6c..6ce2e19114a9 100644 --- a/platforms/avr/bootloaders/halfkay.c +++ b/platforms/avr/bootloaders/halfkay.c @@ -19,8 +19,7 @@ #include #include -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { // http://www.pjrc.com/teensy/jump_to_bootloader.html cli(); diff --git a/platforms/avr/bootloaders/none.c b/platforms/avr/bootloaders/none.c index 8af151c04dbf..624fbe242a35 100644 --- a/platforms/avr/bootloaders/none.c +++ b/platforms/avr/bootloaders/none.c @@ -16,5 +16,4 @@ #include "bootloader.h" -__attribute__((weak)) -void bootloader_jump(void) { } +__attribute__((weak)) void bootloader_jump(void) {} diff --git a/platforms/avr/bootloaders/usbasploader.c b/platforms/avr/bootloaders/usbasploader.c index b3e9b2d72d6c..008bd16069f4 100644 --- a/platforms/avr/bootloaders/usbasploader.c +++ b/platforms/avr/bootloaders/usbasploader.c @@ -26,8 +26,7 @@ # endif #endif -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { // Taken with permission of Stephan Baerwolf from https://github.com/tinyusbboard/API/blob/master/apipage.c wdt_enable(WDTO_15MS); diff --git a/platforms/chibios/bootloaders/gd32v_dfu.c b/platforms/chibios/bootloaders/gd32v_dfu.c index 1ab088208416..7a979638e322 100644 --- a/platforms/chibios/bootloaders/gd32v_dfu.c +++ b/platforms/chibios/bootloaders/gd32v_dfu.c @@ -24,8 +24,7 @@ __IO uint32_t *DBGMCU_KEY = (uint32_t *)DBGMCU_BASE + 0x0CU; __IO uint32_t *DBGMCU_CMD = (uint32_t *)DBGMCU_BASE + 0x08U; -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { /* The MTIMER unit of the GD32VF103 doesn't have the MSFRST * register to generate a software reset request. * BUT instead two undocumented registers in the debug peripheral @@ -37,4 +36,4 @@ void bootloader_jump(void) { } /* Jumping to bootloader is not possible from user code. */ -void enter_bootloader_mode_if_requested(void) { } +void enter_bootloader_mode_if_requested(void) {} diff --git a/platforms/chibios/bootloaders/halfkay.c b/platforms/chibios/bootloaders/halfkay.c index fb9b73dfb351..168c2abc230e 100644 --- a/platforms/chibios/bootloaders/halfkay.c +++ b/platforms/chibios/bootloaders/halfkay.c @@ -19,8 +19,7 @@ #include #include "wait.h" -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { wait_ms(100); __BKPT(0); } diff --git a/platforms/chibios/bootloaders/kiibohd.c b/platforms/chibios/bootloaders/kiibohd.c index f4bb18f05871..911e80709275 100644 --- a/platforms/chibios/bootloaders/kiibohd.c +++ b/platforms/chibios/bootloaders/kiibohd.c @@ -23,8 +23,7 @@ const uint8_t sys_reset_to_loader_magic[] = "\xff\x00\x7fRESET TO LOADER\x7f\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { void *volatile vbat = (void *)VBAT; __builtin_memcpy(vbat, (const void *)sys_reset_to_loader_magic, sizeof(sys_reset_to_loader_magic)); diff --git a/platforms/chibios/bootloaders/none.c b/platforms/chibios/bootloaders/none.c index 8af151c04dbf..624fbe242a35 100644 --- a/platforms/chibios/bootloaders/none.c +++ b/platforms/chibios/bootloaders/none.c @@ -16,5 +16,4 @@ #include "bootloader.h" -__attribute__((weak)) -void bootloader_jump(void) { } +__attribute__((weak)) void bootloader_jump(void) {} diff --git a/platforms/chibios/bootloaders/stm32_dfu.c b/platforms/chibios/bootloaders/stm32_dfu.c index f4bd8554bf25..0a113570f728 100644 --- a/platforms/chibios/bootloaders/stm32_dfu.c +++ b/platforms/chibios/bootloaders/stm32_dfu.c @@ -41,8 +41,7 @@ extern uint32_t __ram0_end__; # define STM32_BOOTLOADER_DUAL_BANK_DELAY 100000 # endif -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { // For STM32 MCUs with dual-bank flash, and we're incapable of jumping to the bootloader. The first valid flash // bank is executed unconditionally after a reset, so it doesn't enter DFU unless BOOT0 is high. Instead, we do // it with hardware...in this case, we pull a GPIO high/low depending on the configuration, connects 3.3V to @@ -63,17 +62,16 @@ void bootloader_jump(void) { } // not needed at all, but if anybody attempts to invoke it.... -void enter_bootloader_mode_if_requested(void) { } +void enter_bootloader_mode_if_requested(void) {} #else /* This code should be checked whether it runs correctly on platforms */ -#define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) -#define BOOTLOADER_MAGIC 0xDEADBEEF -#define MAGIC_ADDR (unsigned long *)(SYMVAL(__ram0_end__) - 4) +# define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) +# define BOOTLOADER_MAGIC 0xDEADBEEF +# define MAGIC_ADDR (unsigned long *)(SYMVAL(__ram0_end__) - 4) -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { *MAGIC_ADDR = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader NVIC_SystemReset(); } diff --git a/platforms/chibios/bootloaders/stm32duino.c b/platforms/chibios/bootloaders/stm32duino.c index 6ff9e28b4d59..dd1d551fa9d4 100644 --- a/platforms/chibios/bootloaders/stm32duino.c +++ b/platforms/chibios/bootloaders/stm32duino.c @@ -18,7 +18,4 @@ #include -__attribute__((weak)) -void bootloader_jump(void) { - NVIC_SystemReset(); -} +__attribute__((weak)) void bootloader_jump(void) { NVIC_SystemReset(); } diff --git a/platforms/chibios/bootloaders/tinyuf2.c b/platforms/chibios/bootloaders/tinyuf2.c index ce82fa0c490d..9ffca5dec821 100644 --- a/platforms/chibios/bootloaders/tinyuf2.c +++ b/platforms/chibios/bootloaders/tinyuf2.c @@ -25,11 +25,10 @@ extern uint32_t _board_dfu_dbl_tap[]; #define DBL_TAP_REG _board_dfu_dbl_tap[0] -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { DBL_TAP_REG = DBL_TAP_MAGIC; NVIC_SystemReset(); } /* not needed, no two-stage reset */ -void enter_bootloader_mode_if_requested(void) { } +void enter_bootloader_mode_if_requested(void) {} diff --git a/platforms/test/bootloaders/none.c b/platforms/test/bootloaders/none.c index 2920c68f18b0..5155d9ff04f7 100644 --- a/platforms/test/bootloaders/none.c +++ b/platforms/test/bootloaders/none.c @@ -16,4 +16,4 @@ #include "bootloader.h" -void bootloader_jump(void) { } +void bootloader_jump(void) {} From d3952523fe67ca22defe0d889e6fc77f76c3afd9 Mon Sep 17 00:00:00 2001 From: uqs Date: Mon, 27 Dec 2021 11:26:09 +0100 Subject: [PATCH 0043/1832] pwm3360 driver cleanup and diff reduction to adns9800 (#15559) * Diff reduction between ADNS9800 and PMW3360 drivers. They are very similar devices. This (somewhat) unreadable diff is essentially a no-op, but it makes a `vimdiff` between the 2 drivers much more readable. * Cleanup pwm3360 driver some more. Remove redundant calls to spi_start() and spi_stop(), as pmw3360_write() will already call these. --- drivers/sensors/adns9800.c | 14 +- drivers/sensors/pmw3360.c | 242 +++++++++++++++--------------- drivers/sensors/pmw3360.h | 18 +-- quantum/pointing_device_drivers.c | 5 +- 4 files changed, 133 insertions(+), 146 deletions(-) diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c index c52f9918045d..995c9e86141f 100644 --- a/drivers/sensors/adns9800.c +++ b/drivers/sensors/adns9800.c @@ -77,7 +77,9 @@ #define MSB1 0x80 // clang-format on -void adns9800_spi_start(void) { spi_start(ADNS9800_CS_PIN, false, ADNS9800_SPI_MODE, ADNS9800_SPI_DIVISOR); } +void adns9800_spi_start(void) { + spi_start(ADNS9800_CS_PIN, false, ADNS9800_SPI_MODE, ADNS9800_SPI_DIVISOR); +} void adns9800_write(uint8_t reg_addr, uint8_t data) { adns9800_spi_start(); @@ -154,8 +156,8 @@ void adns9800_init() { } config_adns9800_t adns9800_get_config(void) { - uint8_t config_1 = adns9800_read(REG_Configuration_I); - return (config_adns9800_t){(config_1 & 0xFF) * CPI_STEP}; + uint8_t cpival = adns9800_read(REG_Configuration_I); + return (config_adns9800_t){(cpival & 0xFF) * CPI_STEP}; } void adns9800_set_config(config_adns9800_t config) { @@ -164,8 +166,8 @@ void adns9800_set_config(config_adns9800_t config) { } uint16_t adns9800_get_cpi(void) { - uint8_t config_1 = adns9800_read(REG_Configuration_I); - return (uint16_t){(config_1 & 0xFF) * CPI_STEP}; + uint8_t cpival = adns9800_read(REG_Configuration_I); + return (uint16_t)(cpival & 0xFF) * CPI_STEP; } void adns9800_set_cpi(uint16_t cpi) { @@ -184,7 +186,7 @@ static int16_t convertDeltaToInt(uint8_t high, uint8_t low) { } report_adns9800_t adns9800_get_report(void) { - report_adns9800_t report = {0, 0}; + report_adns9800_t report = {0}; adns9800_spi_start(); diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index cebf4f25d88e..4854ba5f4767 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -16,6 +16,7 @@ * along with this program. If not, see . */ +#include "spi_master.h" #include "pmw3360.h" #include "wait.h" #include "debug.h" @@ -24,55 +25,57 @@ // Registers // clang-format off -#define REG_Product_ID 0x00 -#define REG_Revision_ID 0x01 -#define REG_Motion 0x02 -#define REG_Delta_X_L 0x03 -#define REG_Delta_X_H 0x04 -#define REG_Delta_Y_L 0x05 -#define REG_Delta_Y_H 0x06 -#define REG_SQUAL 0x07 -#define REG_Raw_Data_Sum 0x08 -#define REG_Maximum_Raw_data 0x09 -#define REG_Minimum_Raw_data 0x0A -#define REG_Shutter_Lower 0x0B -#define REG_Shutter_Upper 0x0C -#define REG_Control 0x0D -#define REG_Config1 0x0F -#define REG_Config2 0x10 -#define REG_Angle_Tune 0x11 -#define REG_Frame_Capture 0x12 -#define REG_SROM_Enable 0x13 -#define REG_Run_Downshift 0x14 -#define REG_Rest1_Rate_Lower 0x15 -#define REG_Rest1_Rate_Upper 0x16 -#define REG_Rest1_Downshift 0x17 -#define REG_Rest2_Rate_Lower 0x18 -#define REG_Rest2_Rate_Upper 0x19 -#define REG_Rest2_Downshift 0x1A -#define REG_Rest3_Rate_Lower 0x1B -#define REG_Rest3_Rate_Upper 0x1C -#define REG_Observation 0x24 -#define REG_Data_Out_Lower 0x25 -#define REG_Data_Out_Upper 0x26 -#define REG_Raw_Data_Dump 0x29 -#define REG_SROM_ID 0x2A -#define REG_Min_SQ_Run 0x2B -#define REG_Raw_Data_Threshold 0x2C -#define REG_Config5 0x2F -#define REG_Power_Up_Reset 0x3A -#define REG_Shutdown 0x3B -#define REG_Inverse_Product_ID 0x3F -#define REG_LiftCutoff_Tune3 0x41 -#define REG_Angle_Snap 0x42 -#define REG_LiftCutoff_Tune1 0x4A -#define REG_Motion_Burst 0x50 -#define REG_LiftCutoff_Tune_Timeout 0x58 -#define REG_LiftCutoff_Tune_Min_Length 0x5A -#define REG_SROM_Load_Burst 0x62 -#define REG_Lift_Config 0x63 -#define REG_Raw_Data_Burst 0x64 -#define REG_LiftCutoff_Tune2 0x65 +#define REG_Product_ID 0x00 +#define REG_Revision_ID 0x01 +#define REG_Motion 0x02 +#define REG_Delta_X_L 0x03 +#define REG_Delta_X_H 0x04 +#define REG_Delta_Y_L 0x05 +#define REG_Delta_Y_H 0x06 +#define REG_SQUAL 0x07 +#define REG_Raw_Data_Sum 0x08 +#define REG_Maximum_Raw_data 0x09 +#define REG_Minimum_Raw_data 0x0a +#define REG_Shutter_Lower 0x0b +#define REG_Shutter_Upper 0x0c +#define REG_Control 0x0d +#define REG_Config1 0x0f +#define REG_Config2 0x10 +#define REG_Angle_Tune 0x11 +#define REG_Frame_Capture 0x12 +#define REG_SROM_Enable 0x13 +#define REG_Run_Downshift 0x14 +#define REG_Rest1_Rate_Lower 0x15 +#define REG_Rest1_Rate_Upper 0x16 +#define REG_Rest1_Downshift 0x17 +#define REG_Rest2_Rate_Lower 0x18 +#define REG_Rest2_Rate_Upper 0x19 +#define REG_Rest2_Downshift 0x1a +#define REG_Rest3_Rate_Lower 0x1b +#define REG_Rest3_Rate_Upper 0x1c +#define REG_Observation 0x24 +#define REG_Data_Out_Lower 0x25 +#define REG_Data_Out_Upper 0x26 +#define REG_Raw_Data_Dump 0x29 +#define REG_SROM_ID 0x2a +#define REG_Min_SQ_Run 0x2b +#define REG_Raw_Data_Threshold 0x2c +#define REG_Config5 0x2f +#define REG_Power_Up_Reset 0x3a +#define REG_Shutdown 0x3b +#define REG_Inverse_Product_ID 0x3f +#define REG_LiftCutoff_Tune3 0x41 +#define REG_Angle_Snap 0x42 +#define REG_LiftCutoff_Tune1 0x4a +#define REG_Motion_Burst 0x50 +#define REG_LiftCutoff_Tune_Timeout 0x58 +#define REG_LiftCutoff_Tune_Min_Length 0x5a +#define REG_SROM_Load_Burst 0x62 +#define REG_Lift_Config 0x63 +#define REG_Raw_Data_Burst 0x64 +#define REG_LiftCutoff_Tune2 0x65 + +#define CPI_STEP 100 // clang-format on #ifndef MAX_CPI @@ -86,23 +89,19 @@ void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' #endif #define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt))) -bool spi_start_adv(void) { +bool pmw3360_spi_start(void) { bool status = spi_start(PMW3360_CS_PIN, PMW3360_SPI_LSBFIRST, PMW3360_SPI_MODE, PMW3360_SPI_DIVISOR); wait_us(1); return status; } -void spi_stop_adv(void) { - wait_us(1); - spi_stop(); -} +spi_status_t pmw3360_write(uint8_t reg_addr, uint8_t data) { + pmw3360_spi_start(); -spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data) { if (reg_addr != REG_Motion_Burst) { _inBurst = false; } - spi_start_adv(); // send address of the register, with MSBit = 1 to indicate it's a write spi_status_t status = spi_write(reg_addr | 0x80); status = spi_write(data); @@ -116,11 +115,10 @@ spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data) { return status; } -uint8_t spi_read_adv(uint8_t reg_addr) { - spi_start_adv(); +uint8_t pmw3360_read(uint8_t reg_addr) { + pmw3360_spi_start(); // send adress of the register, with MSBit = 0 to indicate it's a read spi_write(reg_addr & 0x7f); - uint8_t data = spi_read(); // tSCLK-NCS for read operation is 120ns @@ -133,19 +131,6 @@ uint8_t spi_read_adv(uint8_t reg_addr) { return data; } -void pmw3360_set_cpi(uint16_t cpi) { - uint8_t cpival = constrain((cpi / 100) - 1, 0, MAX_CPI); - - spi_start_adv(); - spi_write_adv(REG_Config1, cpival); - spi_stop(); -} - -uint16_t pmw3360_get_cpi(void) { - uint8_t cpival = spi_read_adv(REG_Config1); - return (uint16_t)((cpival + 1) & 0xFF) * 100; -} - bool pmw3360_init(void) { setPinOutput(PMW3360_CS_PIN); @@ -153,42 +138,51 @@ bool pmw3360_init(void) { _inBurst = false; spi_stop(); - spi_start_adv(); + pmw3360_spi_start(); spi_stop(); - spi_write_adv(REG_Shutdown, 0xb6); // Shutdown first + pmw3360_write(REG_Shutdown, 0xb6); // Shutdown first wait_ms(300); - spi_start_adv(); + pmw3360_spi_start(); wait_us(40); - spi_stop_adv(); + spi_stop(); wait_us(40); - spi_write_adv(REG_Power_Up_Reset, 0x5a); + // reboot + pmw3360_write(REG_Power_Up_Reset, 0x5a); wait_ms(50); - spi_read_adv(REG_Motion); - spi_read_adv(REG_Delta_X_L); - spi_read_adv(REG_Delta_X_H); - spi_read_adv(REG_Delta_Y_L); - spi_read_adv(REG_Delta_Y_H); + // read registers and discard + pmw3360_read(REG_Motion); + pmw3360_read(REG_Delta_X_L); + pmw3360_read(REG_Delta_X_H); + pmw3360_read(REG_Delta_Y_L); + pmw3360_read(REG_Delta_Y_H); pmw3360_upload_firmware(); - spi_stop_adv(); + spi_stop(); wait_ms(10); pmw3360_set_cpi(PMW3360_CPI); wait_ms(1); - spi_write_adv(REG_Config2, 0x00); + pmw3360_write(REG_Config2, 0x00); - spi_write_adv(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -127, 127)); + pmw3360_write(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -127, 127)); - spi_write_adv(REG_Lift_Config, PMW3360_LIFTOFF_DISTANCE); + pmw3360_write(REG_Lift_Config, PMW3360_LIFTOFF_DISTANCE); bool init_success = pmw3360_check_signature(); +#ifdef CONSOLE_ENABLE + if (init_success) { + dprintf("pmw3360 signature verified"); + } else { + dprintf("pmw3360 signature verification failed!"); + } +#endif writePinLow(PMW3360_CS_PIN); @@ -196,13 +190,13 @@ bool pmw3360_init(void) { } void pmw3360_upload_firmware(void) { - spi_write_adv(REG_SROM_Enable, 0x1d); + pmw3360_write(REG_SROM_Enable, 0x1d); wait_ms(10); - spi_write_adv(REG_SROM_Enable, 0x18); + pmw3360_write(REG_SROM_Enable, 0x18); - spi_start_adv(); + pmw3360_spi_start(); spi_write(REG_SROM_Load_Burst | 0x80); wait_us(15); @@ -214,68 +208,72 @@ void pmw3360_upload_firmware(void) { } wait_us(200); - spi_read_adv(REG_SROM_ID); - - spi_write_adv(REG_Config2, 0x00); - - spi_stop(); - wait_ms(10); + pmw3360_read(REG_SROM_ID); + pmw3360_write(REG_Config2, 0x00); } bool pmw3360_check_signature(void) { - uint8_t pid = spi_read_adv(REG_Product_ID); - uint8_t iv_pid = spi_read_adv(REG_Inverse_Product_ID); - uint8_t SROM_ver = spi_read_adv(REG_SROM_ID); + uint8_t pid = pmw3360_read(REG_Product_ID); + uint8_t iv_pid = pmw3360_read(REG_Inverse_Product_ID); + uint8_t SROM_ver = pmw3360_read(REG_SROM_ID); return (pid == firmware_signature[0] && iv_pid == firmware_signature[1] && SROM_ver == firmware_signature[2]); // signature for SROM 0x04 } +uint16_t pmw3360_get_cpi(void) { + uint8_t cpival = pmw3360_read(REG_Config1); + return (uint16_t)((cpival + 1) & 0xFF) * CPI_STEP; +} + +void pmw3360_set_cpi(uint16_t cpi) { + uint8_t cpival = constrain((cpi / CPI_STEP) - 1, 0, MAX_CPI); + pmw3360_write(REG_Config1, cpival); +} + report_pmw3360_t pmw3360_read_burst(void) { + report_pmw3360_t report = {0}; + if (!_inBurst) { #ifdef CONSOLE_ENABLE dprintf("burst on"); #endif - spi_write_adv(REG_Motion_Burst, 0x00); + pmw3360_write(REG_Motion_Burst, 0x00); _inBurst = true; } - spi_start_adv(); + pmw3360_spi_start(); spi_write(REG_Motion_Burst); wait_us(35); // waits for tSRAD - report_pmw3360_t data = {0}; - - data.motion = spi_read(); + report.motion = spi_read(); spi_write(0x00); // skip Observation - data.dx = spi_read(); - data.mdx = spi_read(); - data.dy = spi_read(); - data.mdy = spi_read(); + report.dx = spi_read(); + report.mdx = spi_read(); + report.dy = spi_read(); + report.mdy = spi_read(); spi_stop(); #ifdef CONSOLE_ENABLE if (debug_mouse) { - print_byte(data.motion); - print_byte(data.dx); - print_byte(data.mdx); - print_byte(data.dy); - print_byte(data.mdy); + print_byte(report.motion); + print_byte(report.dx); + print_byte(report.mdx); + print_byte(report.dy); + print_byte(report.mdy); dprintf("\n"); } #endif - data.isMotion = (data.motion & 0x80) != 0; - data.isOnSurface = (data.motion & 0x08) == 0; - data.dx |= (data.mdx << 8); - data.dx = data.dx * -1; - data.dy |= (data.mdy << 8); - data.dy = data.dy * -1; - - spi_stop(); + report.isMotion = (report.motion & 0x80) != 0; + report.isOnSurface = (report.motion & 0x08) == 0; + report.dx |= (report.mdx << 8); + report.dx = report.dx * -1; + report.dy |= (report.mdy << 8); + report.dy = report.dy * -1; - if (data.motion & 0b111) { // panic recovery, sometimes burst mode works weird. + if (report.motion & 0b111) { // panic recovery, sometimes burst mode works weird. _inBurst = false; } - return data; + return report; } diff --git a/drivers/sensors/pmw3360.h b/drivers/sensors/pmw3360.h index 9aa8e13f8e5e..df0c10d643ca 100644 --- a/drivers/sensors/pmw3360.h +++ b/drivers/sensors/pmw3360.h @@ -19,8 +19,6 @@ #pragma once #include -#include "report.h" -#include "spi_master.h" #ifndef PMW3360_CPI # define PMW3360_CPI 1600 @@ -69,10 +67,6 @@ This should work for the 3390 and 3391 too, in theory. # define PMW3360_FIRMWARE_H "pmw3360_firmware.h" #endif -#ifdef CONSOLE_ENABLE -void print_byte(uint8_t byte); -#endif - typedef struct { int8_t motion; bool isMotion; // True if a motion is detected. @@ -83,16 +77,10 @@ typedef struct { int8_t mdy; } report_pmw3360_t; -bool spi_start_adv(void); -void spi_stop_adv(void); -spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data); -uint8_t spi_read_adv(uint8_t reg_addr); bool pmw3360_init(void); -void pmw3360_set_cpi(uint16_t cpi); -uint16_t pmw3360_get_cpi(void); void pmw3360_upload_firmware(void); bool pmw3360_check_signature(void); +uint16_t pmw3360_get_cpi(void); +void pmw3360_set_cpi(uint16_t cpi); +/* Reads and clears the current delta values on the sensor */ report_pmw3360_t pmw3360_read_burst(void); - -#define degToRad(angleInDegrees) ((angleInDegrees)*M_PI / 180.0) -#define radToDeg(angleInRadians) ((angleInRadians)*180.0 / M_PI) diff --git a/quantum/pointing_device_drivers.c b/quantum/pointing_device_drivers.c index 0852a0bea7a5..260a6d2eb437 100644 --- a/quantum/pointing_device_drivers.c +++ b/quantum/pointing_device_drivers.c @@ -207,8 +207,7 @@ const pointing_device_driver_t pointing_device_driver = { }; // clang-format on #elif defined(POINTING_DEVICE_DRIVER_pmw3360) - -static void init(void) { pmw3360_init(); } +static void pmw3360_device_init(void) { pmw3360_init(); } report_mouse_t pmw3360_get_report(report_mouse_t mouse_report) { report_pmw3360_t data = pmw3360_read_burst(); @@ -237,7 +236,7 @@ report_mouse_t pmw3360_get_report(report_mouse_t mouse_report) { // clang-format off const pointing_device_driver_t pointing_device_driver = { - .init = init, + .init = pmw3360_device_init, .get_report = pmw3360_get_report, .set_cpi = pmw3360_set_cpi, .get_cpi = pmw3360_get_cpi From c86baf3ecea618ce42263c06ac5d0922ea8817fa Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 27 Dec 2021 15:01:51 -0800 Subject: [PATCH 0044/1832] [Core] Fix bug and code regression for Split Common (#15603) --- quantum/matrix_common.c | 22 ++++++++++------------ quantum/split_common/split_util.h | 1 - 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c index 79f77421e1ea..5fdc9186fa49 100644 --- a/quantum/matrix_common.c +++ b/quantum/matrix_common.c @@ -95,24 +95,22 @@ uint8_t matrix_key_count(void) { bool matrix_post_scan(void) { bool changed = false; if (is_keyboard_master()) { + static bool last_connected = false; matrix_row_t slave_matrix[ROWS_PER_HAND] = {0}; if (transport_master_if_connected(matrix + thisHand, slave_matrix)) { - for (int i = 0; i < ROWS_PER_HAND; ++i) { - if (matrix[thatHand + i] != slave_matrix[i]) { - matrix[thatHand + i] = slave_matrix[i]; - changed = true; - } - } - } else { - // reset other half if disconnected - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[thatHand + i] = 0; - slave_matrix[i] = 0; - } + changed = memcmp(matrix + thatHand, slave_matrix, sizeof(slave_matrix)) != 0; + last_connected = true; + } else if (last_connected) { + // reset other half when disconnected + memset(slave_matrix, 0, sizeof(slave_matrix)); changed = true; + + last_connected = false; } + if (changed) memcpy(matrix + thatHand, slave_matrix, sizeof(slave_matrix)); + matrix_scan_quantum(); } else { transport_slave(matrix + thatHand, matrix + thisHand); diff --git a/quantum/split_common/split_util.h b/quantum/split_common/split_util.h index ef72043bb786..c7eabea23324 100644 --- a/quantum/split_common/split_util.h +++ b/quantum/split_common/split_util.h @@ -2,7 +2,6 @@ #include #include -#include #include #include "matrix.h" From 25707cad5cbe3a6955d0fd597f7449818dea4849 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Mon, 27 Dec 2021 15:08:44 -0800 Subject: [PATCH 0045/1832] Format code according to conventions (#15604) --- drivers/sensors/adns9800.c | 4 +--- drivers/sensors/pmw3360.h | 10 +++++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c index 995c9e86141f..425cf9912f2e 100644 --- a/drivers/sensors/adns9800.c +++ b/drivers/sensors/adns9800.c @@ -77,9 +77,7 @@ #define MSB1 0x80 // clang-format on -void adns9800_spi_start(void) { - spi_start(ADNS9800_CS_PIN, false, ADNS9800_SPI_MODE, ADNS9800_SPI_DIVISOR); -} +void adns9800_spi_start(void) { spi_start(ADNS9800_CS_PIN, false, ADNS9800_SPI_MODE, ADNS9800_SPI_DIVISOR); } void adns9800_write(uint8_t reg_addr, uint8_t data) { adns9800_spi_start(); diff --git a/drivers/sensors/pmw3360.h b/drivers/sensors/pmw3360.h index df0c10d643ca..b46fc9056e4c 100644 --- a/drivers/sensors/pmw3360.h +++ b/drivers/sensors/pmw3360.h @@ -77,10 +77,10 @@ typedef struct { int8_t mdy; } report_pmw3360_t; -bool pmw3360_init(void); -void pmw3360_upload_firmware(void); -bool pmw3360_check_signature(void); -uint16_t pmw3360_get_cpi(void); -void pmw3360_set_cpi(uint16_t cpi); +bool pmw3360_init(void); +void pmw3360_upload_firmware(void); +bool pmw3360_check_signature(void); +uint16_t pmw3360_get_cpi(void); +void pmw3360_set_cpi(uint16_t cpi); /* Reads and clears the current delta values on the sensor */ report_pmw3360_t pmw3360_read_burst(void); From 14d5c3f2f14d20c8d3559068b00dead66273765c Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 27 Dec 2021 15:57:41 -0800 Subject: [PATCH 0046/1832] [Bug] Include missing string.h include (#15606) --- quantum/matrix_common.c | 1 + 1 file changed, 1 insertion(+) diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c index 5fdc9186fa49..98b83ddcf6a6 100644 --- a/quantum/matrix_common.c +++ b/quantum/matrix_common.c @@ -7,6 +7,7 @@ #ifdef SPLIT_KEYBOARD # include "split_common/split_util.h" # include "split_common/transactions.h" +# include # define ROWS_PER_HAND (MATRIX_ROWS / 2) #else From 6151b365f9ee2bae609c8bbac99ba7a6b631c86a Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 28 Dec 2021 11:32:34 +0800 Subject: [PATCH 0047/1832] move bm65hsrgb_iso and bm68hsrgb to rev1/ (#15132) --- keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/config.h | 0 keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/info.json | 0 .../bm65hsrgb_iso/{ => rev1}/keymaps/deadolus/config.h | 0 .../bm65hsrgb_iso/{ => rev1}/keymaps/deadolus/keymap.c | 0 .../bm65hsrgb_iso/{ => rev1}/keymaps/deadolus/keymap.h | 0 .../bm65hsrgb_iso/{ => rev1}/keymaps/deadolus/readme.md | 0 .../bm65hsrgb_iso/{ => rev1}/keymaps/deadolus/rules.mk | 0 .../bm65hsrgb_iso/{ => rev1}/keymaps/default/keymap.c | 0 .../kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/via/keymap.c | 0 .../kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/via/readme.md | 0 .../kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/via/rules.mk | 0 keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/readme.md | 0 .../kprepublic/bm65hsrgb_iso/{bm65hsrgb_iso.c => rev1/rev1.c} | 2 +- .../kprepublic/bm65hsrgb_iso/{bm65hsrgb_iso.h => rev1/rev1.h} | 0 keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/rules.mk | 0 keyboards/kprepublic/bm68hsrgb/{ => rev1}/config.h | 0 keyboards/kprepublic/bm68hsrgb/{ => rev1}/info.json | 0 .../kprepublic/bm68hsrgb/{ => rev1}/keymaps/default/keymap.c | 0 .../kprepublic/bm68hsrgb/{ => rev1}/keymaps/default/readme.md | 0 .../kprepublic/bm68hsrgb/{ => rev1}/keymaps/peepeetee/config.h | 0 .../kprepublic/bm68hsrgb/{ => rev1}/keymaps/peepeetee/keymap.c | 0 .../kprepublic/bm68hsrgb/{ => rev1}/keymaps/peepeetee/keymap.h | 0 .../kprepublic/bm68hsrgb/{ => rev1}/keymaps/peepeetee/readme.md | 0 keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/via/keymap.c | 0 keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/via/readme.md | 0 keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/via/rules.mk | 0 keyboards/kprepublic/bm68hsrgb/{ => rev1}/readme.md | 0 keyboards/kprepublic/bm68hsrgb/{bm68hsrgb.c => rev1/rev1.c} | 2 +- keyboards/kprepublic/bm68hsrgb/{bm68hsrgb.h => rev1/rev1.h} | 0 keyboards/kprepublic/bm68hsrgb/{ => rev1}/rules.mk | 0 30 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/config.h (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/info.json (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/deadolus/config.h (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/deadolus/keymap.c (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/deadolus/keymap.h (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/deadolus/readme.md (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/deadolus/rules.mk (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/default/keymap.c (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/via/keymap.c (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/via/readme.md (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/keymaps/via/rules.mk (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/readme.md (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{bm65hsrgb_iso.c => rev1/rev1.c} (99%) rename keyboards/kprepublic/bm65hsrgb_iso/{bm65hsrgb_iso.h => rev1/rev1.h} (100%) rename keyboards/kprepublic/bm65hsrgb_iso/{ => rev1}/rules.mk (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/config.h (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/info.json (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/default/keymap.c (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/default/readme.md (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/peepeetee/config.h (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/peepeetee/keymap.c (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/peepeetee/keymap.h (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/peepeetee/readme.md (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/via/keymap.c (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/via/readme.md (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/keymaps/via/rules.mk (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/readme.md (100%) rename keyboards/kprepublic/bm68hsrgb/{bm68hsrgb.c => rev1/rev1.c} (99%) rename keyboards/kprepublic/bm68hsrgb/{bm68hsrgb.h => rev1/rev1.h} (100%) rename keyboards/kprepublic/bm68hsrgb/{ => rev1}/rules.mk (100%) diff --git a/keyboards/kprepublic/bm65hsrgb_iso/config.h b/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/config.h rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h diff --git a/keyboards/kprepublic/bm65hsrgb_iso/info.json b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/info.json rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/deadolus/config.h b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/config.h similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/keymaps/deadolus/config.h rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/config.h diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/deadolus/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/keymaps/deadolus/keymap.c rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/deadolus/keymap.h b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.h similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/keymaps/deadolus/keymap.h rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.h diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/deadolus/readme.md b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/readme.md similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/keymaps/deadolus/readme.md rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/readme.md diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/deadolus/rules.mk b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/rules.mk similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/keymaps/deadolus/rules.mk rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/rules.mk diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/default/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/keymaps/default/keymap.c rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/default/keymap.c diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/via/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/via/keymap.c similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/keymaps/via/keymap.c rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/via/keymap.c diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/via/readme.md b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/via/readme.md similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/keymaps/via/readme.md rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/via/readme.md diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/via/rules.mk b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/via/rules.mk similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/keymaps/via/rules.mk rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/via/rules.mk diff --git a/keyboards/kprepublic/bm65hsrgb_iso/readme.md b/keyboards/kprepublic/bm65hsrgb_iso/rev1/readme.md similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/readme.md rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/readme.md diff --git a/keyboards/kprepublic/bm65hsrgb_iso/bm65hsrgb_iso.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c similarity index 99% rename from keyboards/kprepublic/bm65hsrgb_iso/bm65hsrgb_iso.c rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c index 134c2718240e..f351fa68a8bd 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/bm65hsrgb_iso.c +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c @@ -13,7 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "bm65hsrgb_iso.h" +#include "rev1.h" #ifdef RGB_MATRIX_ENABLE led_config_t g_led_config = { { diff --git a/keyboards/kprepublic/bm65hsrgb_iso/bm65hsrgb_iso.h b/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.h similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/bm65hsrgb_iso.h rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.h diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rules.mk b/keyboards/kprepublic/bm65hsrgb_iso/rev1/rules.mk similarity index 100% rename from keyboards/kprepublic/bm65hsrgb_iso/rules.mk rename to keyboards/kprepublic/bm65hsrgb_iso/rev1/rules.mk diff --git a/keyboards/kprepublic/bm68hsrgb/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/config.h similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/config.h rename to keyboards/kprepublic/bm68hsrgb/rev1/config.h diff --git a/keyboards/kprepublic/bm68hsrgb/info.json b/keyboards/kprepublic/bm68hsrgb/rev1/info.json similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/info.json rename to keyboards/kprepublic/bm68hsrgb/rev1/info.json diff --git a/keyboards/kprepublic/bm68hsrgb/keymaps/default/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/keymaps/default/keymap.c rename to keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c diff --git a/keyboards/kprepublic/bm68hsrgb/keymaps/default/readme.md b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/readme.md similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/keymaps/default/readme.md rename to keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/readme.md diff --git a/keyboards/kprepublic/bm68hsrgb/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/keymaps/peepeetee/config.h rename to keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h diff --git a/keyboards/kprepublic/bm68hsrgb/keymaps/peepeetee/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/keymaps/peepeetee/keymap.c rename to keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c diff --git a/keyboards/kprepublic/bm68hsrgb/keymaps/peepeetee/keymap.h b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.h similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/keymaps/peepeetee/keymap.h rename to keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.h diff --git a/keyboards/kprepublic/bm68hsrgb/keymaps/peepeetee/readme.md b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/readme.md similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/keymaps/peepeetee/readme.md rename to keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/readme.md diff --git a/keyboards/kprepublic/bm68hsrgb/keymaps/via/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/keymaps/via/keymap.c rename to keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c diff --git a/keyboards/kprepublic/bm68hsrgb/keymaps/via/readme.md b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/readme.md similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/keymaps/via/readme.md rename to keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/readme.md diff --git a/keyboards/kprepublic/bm68hsrgb/keymaps/via/rules.mk b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/rules.mk similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/keymaps/via/rules.mk rename to keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/rules.mk diff --git a/keyboards/kprepublic/bm68hsrgb/readme.md b/keyboards/kprepublic/bm68hsrgb/rev1/readme.md similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/readme.md rename to keyboards/kprepublic/bm68hsrgb/rev1/readme.md diff --git a/keyboards/kprepublic/bm68hsrgb/bm68hsrgb.c b/keyboards/kprepublic/bm68hsrgb/rev1/rev1.c similarity index 99% rename from keyboards/kprepublic/bm68hsrgb/bm68hsrgb.c rename to keyboards/kprepublic/bm68hsrgb/rev1/rev1.c index 734d2ee677b7..4634a662b61e 100644 --- a/keyboards/kprepublic/bm68hsrgb/bm68hsrgb.c +++ b/keyboards/kprepublic/bm68hsrgb/rev1/rev1.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -#include "bm68hsrgb.h" +#include "rev1.h" #ifdef RGB_MATRIX_ENABLE led_config_t g_led_config = { { diff --git a/keyboards/kprepublic/bm68hsrgb/bm68hsrgb.h b/keyboards/kprepublic/bm68hsrgb/rev1/rev1.h similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/bm68hsrgb.h rename to keyboards/kprepublic/bm68hsrgb/rev1/rev1.h diff --git a/keyboards/kprepublic/bm68hsrgb/rules.mk b/keyboards/kprepublic/bm68hsrgb/rev1/rules.mk similarity index 100% rename from keyboards/kprepublic/bm68hsrgb/rules.mk rename to keyboards/kprepublic/bm68hsrgb/rev1/rules.mk From 60b4ee1df37d2436e3fa9479c9bcaea72abcdcc0 Mon Sep 17 00:00:00 2001 From: yfuku <30647434+yfuku@users.noreply.github.com> Date: Tue, 28 Dec 2021 12:34:24 +0900 Subject: [PATCH 0048/1832] Move to organization folder (#15481) * move directory * fix * move wings42 to dailycraft * Adjust wings42 to work with organization folder. --- keyboards/{ => dailycraft}/bat43/.noci | 0 keyboards/{ => dailycraft}/bat43/bat43.c | 0 keyboards/{ => dailycraft}/bat43/bat43.h | 4 ++-- keyboards/{ => dailycraft}/bat43/config.h | 0 .../bat43/keymaps/default/keymap.c | 0 .../bat43/keymaps/default/readme.md | 0 .../bat43/keymaps/via/keymap.c | 0 .../bat43/keymaps/via/readme.md | 0 .../bat43/keymaps/via/rules.mk | 0 keyboards/{ => dailycraft}/bat43/readme.md | 15 +++++++++++++-- keyboards/{ => dailycraft}/bat43/rev1/.noci | 0 .../{ => dailycraft}/bat43/rev1/info.json | 0 keyboards/{ => dailycraft}/bat43/rev1/rev1.c | 0 keyboards/{ => dailycraft}/bat43/rev1/rev1.h | 0 .../{ => dailycraft}/bat43/rev1/rules.mk | 0 keyboards/{ => dailycraft}/bat43/rev2/.noci | 0 .../{ => dailycraft}/bat43/rev2/info.json | 0 keyboards/{ => dailycraft}/bat43/rev2/rev2.c | 0 keyboards/{ => dailycraft}/bat43/rev2/rev2.h | 0 .../{ => dailycraft}/bat43/rev2/rules.mk | 0 keyboards/{ => dailycraft}/bat43/rules.mk | 2 +- keyboards/{ => dailycraft}/claw44/.noci | 0 keyboards/{ => dailycraft}/claw44/claw44.c | 0 keyboards/{ => dailycraft}/claw44/claw44.h | 2 +- keyboards/{ => dailycraft}/claw44/config.h | 0 .../claw44/keymaps/default/config.h | 0 .../claw44/keymaps/default/keymap.c | 0 .../claw44/keymaps/oled/config.h | 0 .../claw44/keymaps/oled/keymap.c | 0 .../claw44/keymaps/oled/rules.mk | 0 .../claw44/keymaps/via/config.h | 0 .../claw44/keymaps/via/keymap.c | 0 .../claw44/keymaps/via/rules.mk | 0 .../{ => dailycraft}/claw44/lib/glcdfont.c | 0 keyboards/{ => dailycraft}/claw44/readme.md | 19 +++++++++++++++---- keyboards/{ => dailycraft}/claw44/rev1/.noci | 0 .../{ => dailycraft}/claw44/rev1/config.h | 0 .../{ => dailycraft}/claw44/rev1/info.json | 0 .../{ => dailycraft}/claw44/rev1/readme.md | 0 keyboards/{ => dailycraft}/claw44/rev1/rev1.c | 0 keyboards/{ => dailycraft}/claw44/rev1/rev1.h | 0 .../{ => dailycraft}/claw44/rev1/rules.mk | 0 keyboards/{ => dailycraft}/claw44/rules.mk | 2 +- keyboards/{ => dailycraft}/owl8/config.h | 0 keyboards/{ => dailycraft}/owl8/info.json | 0 .../owl8/keymaps/default/keymap.c | 0 .../owl8/keymaps/default/readme.md | 0 .../owl8/keymaps/via/keymap.c | 0 .../owl8/keymaps/via/readme.md | 0 .../owl8/keymaps/via/rules.mk | 0 keyboards/{ => dailycraft}/owl8/owl8.c | 0 keyboards/{ => dailycraft}/owl8/owl8.h | 0 keyboards/{ => dailycraft}/owl8/readme.md | 13 ++++++++++--- keyboards/{ => dailycraft}/owl8/rules.mk | 0 keyboards/{ => dailycraft}/wings42/config.h | 0 .../rev1 => dailycraft/wings42}/readme.md | 13 +++++++++---- .../{ => dailycraft}/wings42/rev1/config.h | 0 .../wings42/rev1/keymaps/default/keymap.c | 0 .../wings42/rev1/keymaps/default/readme.md | 0 .../wings42/rev1/keymaps/via/keymap.c | 0 .../wings42/rev1/keymaps/via/rules.mk | 0 .../wings42/rev1}/readme.md | 13 +++++++++---- .../{ => dailycraft}/wings42/rev1/rev1.c | 0 .../{ => dailycraft}/wings42/rev1/rev1.h | 0 .../{ => dailycraft}/wings42/rev1/rules.mk | 0 .../wings42/rev1_extkeys/config.h | 0 .../rev1_extkeys/keymaps/default/keymap.c | 0 .../rev1_extkeys/keymaps/default/readme.md | 0 .../wings42/rev1_extkeys/keymaps/via/keymap.c | 0 .../wings42/rev1_extkeys/keymaps/via/rules.mk | 0 .../wings42/rev1_extkeys}/readme.md | 13 ++++++++++--- .../wings42/rev1_extkeys/rev1_extkeys.c | 0 .../wings42/rev1_extkeys/rev1_extkeys.h | 0 .../wings42/rev1_extkeys/rules.mk | 0 .../{ => dailycraft}/wings42/rev2/config.h | 0 .../wings42/rev2/keymaps/default/keymap.c | 0 .../wings42/rev2/keymaps/default/readme.md | 0 .../wings42/rev2/keymaps/via/config.h | 0 .../wings42/rev2/keymaps/via/keymap.c | 0 .../wings42/rev2/keymaps/via/rules.mk | 0 .../wings42/rev2}/readme.md | 13 +++++++++---- .../{ => dailycraft}/wings42/rev2/rev2.c | 0 .../{ => dailycraft}/wings42/rev2/rev2.h | 0 .../{ => dailycraft}/wings42/rev2/rules.mk | 0 keyboards/{ => dailycraft}/wings42/rules.mk | 2 +- keyboards/{ => dailycraft}/wings42/wings42.c | 0 keyboards/{ => dailycraft}/wings42/wings42.h | 6 +++--- 87 files changed, 84 insertions(+), 33 deletions(-) rename keyboards/{ => dailycraft}/bat43/.noci (100%) rename keyboards/{ => dailycraft}/bat43/bat43.c (100%) rename keyboards/{ => dailycraft}/bat43/bat43.h (55%) rename keyboards/{ => dailycraft}/bat43/config.h (100%) rename keyboards/{ => dailycraft}/bat43/keymaps/default/keymap.c (100%) rename keyboards/{ => dailycraft}/bat43/keymaps/default/readme.md (100%) rename keyboards/{ => dailycraft}/bat43/keymaps/via/keymap.c (100%) rename keyboards/{ => dailycraft}/bat43/keymaps/via/readme.md (100%) rename keyboards/{ => dailycraft}/bat43/keymaps/via/rules.mk (100%) rename keyboards/{ => dailycraft}/bat43/readme.md (62%) rename keyboards/{ => dailycraft}/bat43/rev1/.noci (100%) rename keyboards/{ => dailycraft}/bat43/rev1/info.json (100%) rename keyboards/{ => dailycraft}/bat43/rev1/rev1.c (100%) rename keyboards/{ => dailycraft}/bat43/rev1/rev1.h (100%) rename keyboards/{ => dailycraft}/bat43/rev1/rules.mk (100%) rename keyboards/{ => dailycraft}/bat43/rev2/.noci (100%) rename keyboards/{ => dailycraft}/bat43/rev2/info.json (100%) rename keyboards/{ => dailycraft}/bat43/rev2/rev2.c (100%) rename keyboards/{ => dailycraft}/bat43/rev2/rev2.h (100%) rename keyboards/{ => dailycraft}/bat43/rev2/rules.mk (100%) rename keyboards/{ => dailycraft}/bat43/rules.mk (94%) rename keyboards/{ => dailycraft}/claw44/.noci (100%) rename keyboards/{ => dailycraft}/claw44/claw44.c (100%) rename keyboards/{ => dailycraft}/claw44/claw44.h (51%) rename keyboards/{ => dailycraft}/claw44/config.h (100%) rename keyboards/{ => dailycraft}/claw44/keymaps/default/config.h (100%) rename keyboards/{ => dailycraft}/claw44/keymaps/default/keymap.c (100%) rename keyboards/{ => dailycraft}/claw44/keymaps/oled/config.h (100%) rename keyboards/{ => dailycraft}/claw44/keymaps/oled/keymap.c (100%) rename keyboards/{ => dailycraft}/claw44/keymaps/oled/rules.mk (100%) rename keyboards/{ => dailycraft}/claw44/keymaps/via/config.h (100%) rename keyboards/{ => dailycraft}/claw44/keymaps/via/keymap.c (100%) rename keyboards/{ => dailycraft}/claw44/keymaps/via/rules.mk (100%) rename keyboards/{ => dailycraft}/claw44/lib/glcdfont.c (100%) rename keyboards/{ => dailycraft}/claw44/readme.md (50%) rename keyboards/{ => dailycraft}/claw44/rev1/.noci (100%) rename keyboards/{ => dailycraft}/claw44/rev1/config.h (100%) rename keyboards/{ => dailycraft}/claw44/rev1/info.json (100%) rename keyboards/{ => dailycraft}/claw44/rev1/readme.md (100%) rename keyboards/{ => dailycraft}/claw44/rev1/rev1.c (100%) rename keyboards/{ => dailycraft}/claw44/rev1/rev1.h (100%) rename keyboards/{ => dailycraft}/claw44/rev1/rules.mk (100%) rename keyboards/{ => dailycraft}/claw44/rules.mk (93%) rename keyboards/{ => dailycraft}/owl8/config.h (100%) rename keyboards/{ => dailycraft}/owl8/info.json (100%) rename keyboards/{ => dailycraft}/owl8/keymaps/default/keymap.c (100%) rename keyboards/{ => dailycraft}/owl8/keymaps/default/readme.md (100%) rename keyboards/{ => dailycraft}/owl8/keymaps/via/keymap.c (100%) rename keyboards/{ => dailycraft}/owl8/keymaps/via/readme.md (100%) rename keyboards/{ => dailycraft}/owl8/keymaps/via/rules.mk (100%) rename keyboards/{ => dailycraft}/owl8/owl8.c (100%) rename keyboards/{ => dailycraft}/owl8/owl8.h (100%) rename keyboards/{ => dailycraft}/owl8/readme.md (64%) rename keyboards/{ => dailycraft}/owl8/rules.mk (100%) rename keyboards/{ => dailycraft}/wings42/config.h (100%) rename keyboards/{wings42/rev1 => dailycraft/wings42}/readme.md (67%) rename keyboards/{ => dailycraft}/wings42/rev1/config.h (100%) rename keyboards/{ => dailycraft}/wings42/rev1/keymaps/default/keymap.c (100%) rename keyboards/{ => dailycraft}/wings42/rev1/keymaps/default/readme.md (100%) rename keyboards/{ => dailycraft}/wings42/rev1/keymaps/via/keymap.c (100%) rename keyboards/{ => dailycraft}/wings42/rev1/keymaps/via/rules.mk (100%) rename keyboards/{wings42/rev2 => dailycraft/wings42/rev1}/readme.md (66%) rename keyboards/{ => dailycraft}/wings42/rev1/rev1.c (100%) rename keyboards/{ => dailycraft}/wings42/rev1/rev1.h (100%) rename keyboards/{ => dailycraft}/wings42/rev1/rules.mk (100%) rename keyboards/{ => dailycraft}/wings42/rev1_extkeys/config.h (100%) rename keyboards/{ => dailycraft}/wings42/rev1_extkeys/keymaps/default/keymap.c (100%) rename keyboards/{ => dailycraft}/wings42/rev1_extkeys/keymaps/default/readme.md (100%) rename keyboards/{ => dailycraft}/wings42/rev1_extkeys/keymaps/via/keymap.c (100%) rename keyboards/{ => dailycraft}/wings42/rev1_extkeys/keymaps/via/rules.mk (100%) rename keyboards/{wings42 => dailycraft/wings42/rev1_extkeys}/readme.md (65%) rename keyboards/{ => dailycraft}/wings42/rev1_extkeys/rev1_extkeys.c (100%) rename keyboards/{ => dailycraft}/wings42/rev1_extkeys/rev1_extkeys.h (100%) rename keyboards/{ => dailycraft}/wings42/rev1_extkeys/rules.mk (100%) rename keyboards/{ => dailycraft}/wings42/rev2/config.h (100%) rename keyboards/{ => dailycraft}/wings42/rev2/keymaps/default/keymap.c (100%) rename keyboards/{ => dailycraft}/wings42/rev2/keymaps/default/readme.md (100%) rename keyboards/{ => dailycraft}/wings42/rev2/keymaps/via/config.h (100%) rename keyboards/{ => dailycraft}/wings42/rev2/keymaps/via/keymap.c (100%) rename keyboards/{ => dailycraft}/wings42/rev2/keymaps/via/rules.mk (100%) rename keyboards/{wings42/rev1_extkeys => dailycraft/wings42/rev2}/readme.md (67%) rename keyboards/{ => dailycraft}/wings42/rev2/rev2.c (100%) rename keyboards/{ => dailycraft}/wings42/rev2/rev2.h (100%) rename keyboards/{ => dailycraft}/wings42/rev2/rules.mk (100%) rename keyboards/{ => dailycraft}/wings42/rules.mk (94%) rename keyboards/{ => dailycraft}/wings42/wings42.c (100%) rename keyboards/{ => dailycraft}/wings42/wings42.h (86%) diff --git a/keyboards/bat43/.noci b/keyboards/dailycraft/bat43/.noci similarity index 100% rename from keyboards/bat43/.noci rename to keyboards/dailycraft/bat43/.noci diff --git a/keyboards/bat43/bat43.c b/keyboards/dailycraft/bat43/bat43.c similarity index 100% rename from keyboards/bat43/bat43.c rename to keyboards/dailycraft/bat43/bat43.c diff --git a/keyboards/bat43/bat43.h b/keyboards/dailycraft/bat43/bat43.h similarity index 55% rename from keyboards/bat43/bat43.h rename to keyboards/dailycraft/bat43/bat43.h index 42d44107b4ab..046788a0a120 100644 --- a/keyboards/bat43/bat43.h +++ b/keyboards/dailycraft/bat43/bat43.h @@ -1,9 +1,9 @@ #pragma once -#ifdef KEYBOARD_bat43_rev1 +#ifdef KEYBOARD_dailycraft_bat43_rev1 #include "rev1.h" #endif -#ifdef KEYBOARD_bat43_rev2 +#ifdef KEYBOARD_dailycraft_bat43_rev2 #include "rev2.h" #endif diff --git a/keyboards/bat43/config.h b/keyboards/dailycraft/bat43/config.h similarity index 100% rename from keyboards/bat43/config.h rename to keyboards/dailycraft/bat43/config.h diff --git a/keyboards/bat43/keymaps/default/keymap.c b/keyboards/dailycraft/bat43/keymaps/default/keymap.c similarity index 100% rename from keyboards/bat43/keymaps/default/keymap.c rename to keyboards/dailycraft/bat43/keymaps/default/keymap.c diff --git a/keyboards/bat43/keymaps/default/readme.md b/keyboards/dailycraft/bat43/keymaps/default/readme.md similarity index 100% rename from keyboards/bat43/keymaps/default/readme.md rename to keyboards/dailycraft/bat43/keymaps/default/readme.md diff --git a/keyboards/bat43/keymaps/via/keymap.c b/keyboards/dailycraft/bat43/keymaps/via/keymap.c similarity index 100% rename from keyboards/bat43/keymaps/via/keymap.c rename to keyboards/dailycraft/bat43/keymaps/via/keymap.c diff --git a/keyboards/bat43/keymaps/via/readme.md b/keyboards/dailycraft/bat43/keymaps/via/readme.md similarity index 100% rename from keyboards/bat43/keymaps/via/readme.md rename to keyboards/dailycraft/bat43/keymaps/via/readme.md diff --git a/keyboards/bat43/keymaps/via/rules.mk b/keyboards/dailycraft/bat43/keymaps/via/rules.mk similarity index 100% rename from keyboards/bat43/keymaps/via/rules.mk rename to keyboards/dailycraft/bat43/keymaps/via/rules.mk diff --git a/keyboards/bat43/readme.md b/keyboards/dailycraft/bat43/readme.md similarity index 62% rename from keyboards/bat43/readme.md rename to keyboards/dailycraft/bat43/readme.md index 7097aa7af594..6b58aa5ca3b3 100644 --- a/keyboards/bat43/readme.md +++ b/keyboards/dailycraft/bat43/readme.md @@ -6,10 +6,21 @@ A 43-key keyboard. * Keyboard Maintainer: [yfuku](https://github.com/yfuku) * Hardware Supported: bat43 PCB, Pro Micro -* Hardware Availability: https://yfuku.booth.pm/ +* Hardware Availability: https://shop.dailycraft.jp/ Make example for this keyboard (after setting up your build environment): - make bat43:default + make dailycraft/bat43:default + +Flashing example for this keyboard: + + make dailycraft/bat43:default:flash 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). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/bat43/rev1/.noci b/keyboards/dailycraft/bat43/rev1/.noci similarity index 100% rename from keyboards/bat43/rev1/.noci rename to keyboards/dailycraft/bat43/rev1/.noci diff --git a/keyboards/bat43/rev1/info.json b/keyboards/dailycraft/bat43/rev1/info.json similarity index 100% rename from keyboards/bat43/rev1/info.json rename to keyboards/dailycraft/bat43/rev1/info.json diff --git a/keyboards/bat43/rev1/rev1.c b/keyboards/dailycraft/bat43/rev1/rev1.c similarity index 100% rename from keyboards/bat43/rev1/rev1.c rename to keyboards/dailycraft/bat43/rev1/rev1.c diff --git a/keyboards/bat43/rev1/rev1.h b/keyboards/dailycraft/bat43/rev1/rev1.h similarity index 100% rename from keyboards/bat43/rev1/rev1.h rename to keyboards/dailycraft/bat43/rev1/rev1.h diff --git a/keyboards/bat43/rev1/rules.mk b/keyboards/dailycraft/bat43/rev1/rules.mk similarity index 100% rename from keyboards/bat43/rev1/rules.mk rename to keyboards/dailycraft/bat43/rev1/rules.mk diff --git a/keyboards/bat43/rev2/.noci b/keyboards/dailycraft/bat43/rev2/.noci similarity index 100% rename from keyboards/bat43/rev2/.noci rename to keyboards/dailycraft/bat43/rev2/.noci diff --git a/keyboards/bat43/rev2/info.json b/keyboards/dailycraft/bat43/rev2/info.json similarity index 100% rename from keyboards/bat43/rev2/info.json rename to keyboards/dailycraft/bat43/rev2/info.json diff --git a/keyboards/bat43/rev2/rev2.c b/keyboards/dailycraft/bat43/rev2/rev2.c similarity index 100% rename from keyboards/bat43/rev2/rev2.c rename to keyboards/dailycraft/bat43/rev2/rev2.c diff --git a/keyboards/bat43/rev2/rev2.h b/keyboards/dailycraft/bat43/rev2/rev2.h similarity index 100% rename from keyboards/bat43/rev2/rev2.h rename to keyboards/dailycraft/bat43/rev2/rev2.h diff --git a/keyboards/bat43/rev2/rules.mk b/keyboards/dailycraft/bat43/rev2/rules.mk similarity index 100% rename from keyboards/bat43/rev2/rules.mk rename to keyboards/dailycraft/bat43/rev2/rules.mk diff --git a/keyboards/bat43/rules.mk b/keyboards/dailycraft/bat43/rules.mk similarity index 94% rename from keyboards/bat43/rules.mk rename to keyboards/dailycraft/bat43/rules.mk index 7bd7394e4f57..c2e1c5755f01 100644 --- a/keyboards/bat43/rules.mk +++ b/keyboards/dailycraft/bat43/rules.mk @@ -17,4 +17,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -DEFAULT_FOLDER = bat43/rev2 +DEFAULT_FOLDER = dailycraft/bat43/rev2 diff --git a/keyboards/claw44/.noci b/keyboards/dailycraft/claw44/.noci similarity index 100% rename from keyboards/claw44/.noci rename to keyboards/dailycraft/claw44/.noci diff --git a/keyboards/claw44/claw44.c b/keyboards/dailycraft/claw44/claw44.c similarity index 100% rename from keyboards/claw44/claw44.c rename to keyboards/dailycraft/claw44/claw44.c diff --git a/keyboards/claw44/claw44.h b/keyboards/dailycraft/claw44/claw44.h similarity index 51% rename from keyboards/claw44/claw44.h rename to keyboards/dailycraft/claw44/claw44.h index 4ca25fcb2b1e..76ecda6e90a0 100644 --- a/keyboards/claw44/claw44.h +++ b/keyboards/dailycraft/claw44/claw44.h @@ -1,5 +1,5 @@ #pragma once -#ifdef KEYBOARD_claw44_rev1 +#ifdef KEYBOARD_dailycraft_claw44_rev1 #include "rev1.h" #endif diff --git a/keyboards/claw44/config.h b/keyboards/dailycraft/claw44/config.h similarity index 100% rename from keyboards/claw44/config.h rename to keyboards/dailycraft/claw44/config.h diff --git a/keyboards/claw44/keymaps/default/config.h b/keyboards/dailycraft/claw44/keymaps/default/config.h similarity index 100% rename from keyboards/claw44/keymaps/default/config.h rename to keyboards/dailycraft/claw44/keymaps/default/config.h diff --git a/keyboards/claw44/keymaps/default/keymap.c b/keyboards/dailycraft/claw44/keymaps/default/keymap.c similarity index 100% rename from keyboards/claw44/keymaps/default/keymap.c rename to keyboards/dailycraft/claw44/keymaps/default/keymap.c diff --git a/keyboards/claw44/keymaps/oled/config.h b/keyboards/dailycraft/claw44/keymaps/oled/config.h similarity index 100% rename from keyboards/claw44/keymaps/oled/config.h rename to keyboards/dailycraft/claw44/keymaps/oled/config.h diff --git a/keyboards/claw44/keymaps/oled/keymap.c b/keyboards/dailycraft/claw44/keymaps/oled/keymap.c similarity index 100% rename from keyboards/claw44/keymaps/oled/keymap.c rename to keyboards/dailycraft/claw44/keymaps/oled/keymap.c diff --git a/keyboards/claw44/keymaps/oled/rules.mk b/keyboards/dailycraft/claw44/keymaps/oled/rules.mk similarity index 100% rename from keyboards/claw44/keymaps/oled/rules.mk rename to keyboards/dailycraft/claw44/keymaps/oled/rules.mk diff --git a/keyboards/claw44/keymaps/via/config.h b/keyboards/dailycraft/claw44/keymaps/via/config.h similarity index 100% rename from keyboards/claw44/keymaps/via/config.h rename to keyboards/dailycraft/claw44/keymaps/via/config.h diff --git a/keyboards/claw44/keymaps/via/keymap.c b/keyboards/dailycraft/claw44/keymaps/via/keymap.c similarity index 100% rename from keyboards/claw44/keymaps/via/keymap.c rename to keyboards/dailycraft/claw44/keymaps/via/keymap.c diff --git a/keyboards/claw44/keymaps/via/rules.mk b/keyboards/dailycraft/claw44/keymaps/via/rules.mk similarity index 100% rename from keyboards/claw44/keymaps/via/rules.mk rename to keyboards/dailycraft/claw44/keymaps/via/rules.mk diff --git a/keyboards/claw44/lib/glcdfont.c b/keyboards/dailycraft/claw44/lib/glcdfont.c similarity index 100% rename from keyboards/claw44/lib/glcdfont.c rename to keyboards/dailycraft/claw44/lib/glcdfont.c diff --git a/keyboards/claw44/readme.md b/keyboards/dailycraft/claw44/readme.md similarity index 50% rename from keyboards/claw44/readme.md rename to keyboards/dailycraft/claw44/readme.md index 7e72e0897134..e533bd7c82ff 100644 --- a/keyboards/claw44/readme.md +++ b/keyboards/dailycraft/claw44/readme.md @@ -4,12 +4,23 @@ A split keyboard with 3x6 vertically staggered keys and 4 thumb keys. -Keyboard Maintainer: [@yfuku_](https://twitter.com/yfuku_) -Hardware Supported: Claw44 PCB, ProMicro -Hardware Availability: https://yfuku.booth.pm/ +* Keyboard Maintainer: [yfuku](https://github.com/yfuku) +* Hardware Supported: Claw44 PCB, ProMicro +* Hardware Availability: https://shop.dailycraft.jp/ Make example for this keyboard (after setting up your build environment): - make claw44:default + make dailycraft/claw44:default + +Flashing example for this keyboard: + + make dailycraft/claw44:default:flash 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). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/claw44/rev1/.noci b/keyboards/dailycraft/claw44/rev1/.noci similarity index 100% rename from keyboards/claw44/rev1/.noci rename to keyboards/dailycraft/claw44/rev1/.noci diff --git a/keyboards/claw44/rev1/config.h b/keyboards/dailycraft/claw44/rev1/config.h similarity index 100% rename from keyboards/claw44/rev1/config.h rename to keyboards/dailycraft/claw44/rev1/config.h diff --git a/keyboards/claw44/rev1/info.json b/keyboards/dailycraft/claw44/rev1/info.json similarity index 100% rename from keyboards/claw44/rev1/info.json rename to keyboards/dailycraft/claw44/rev1/info.json diff --git a/keyboards/claw44/rev1/readme.md b/keyboards/dailycraft/claw44/rev1/readme.md similarity index 100% rename from keyboards/claw44/rev1/readme.md rename to keyboards/dailycraft/claw44/rev1/readme.md diff --git a/keyboards/claw44/rev1/rev1.c b/keyboards/dailycraft/claw44/rev1/rev1.c similarity index 100% rename from keyboards/claw44/rev1/rev1.c rename to keyboards/dailycraft/claw44/rev1/rev1.c diff --git a/keyboards/claw44/rev1/rev1.h b/keyboards/dailycraft/claw44/rev1/rev1.h similarity index 100% rename from keyboards/claw44/rev1/rev1.h rename to keyboards/dailycraft/claw44/rev1/rev1.h diff --git a/keyboards/claw44/rev1/rules.mk b/keyboards/dailycraft/claw44/rev1/rules.mk similarity index 100% rename from keyboards/claw44/rev1/rules.mk rename to keyboards/dailycraft/claw44/rev1/rules.mk diff --git a/keyboards/claw44/rules.mk b/keyboards/dailycraft/claw44/rules.mk similarity index 93% rename from keyboards/claw44/rules.mk rename to keyboards/dailycraft/claw44/rules.mk index 6ba5e853fb0a..69c59f28e6a5 100644 --- a/keyboards/claw44/rules.mk +++ b/keyboards/dailycraft/claw44/rules.mk @@ -17,4 +17,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -DEFAULT_FOLDER = claw44/rev1 +DEFAULT_FOLDER = dailycraft/claw44/rev1 diff --git a/keyboards/owl8/config.h b/keyboards/dailycraft/owl8/config.h similarity index 100% rename from keyboards/owl8/config.h rename to keyboards/dailycraft/owl8/config.h diff --git a/keyboards/owl8/info.json b/keyboards/dailycraft/owl8/info.json similarity index 100% rename from keyboards/owl8/info.json rename to keyboards/dailycraft/owl8/info.json diff --git a/keyboards/owl8/keymaps/default/keymap.c b/keyboards/dailycraft/owl8/keymaps/default/keymap.c similarity index 100% rename from keyboards/owl8/keymaps/default/keymap.c rename to keyboards/dailycraft/owl8/keymaps/default/keymap.c diff --git a/keyboards/owl8/keymaps/default/readme.md b/keyboards/dailycraft/owl8/keymaps/default/readme.md similarity index 100% rename from keyboards/owl8/keymaps/default/readme.md rename to keyboards/dailycraft/owl8/keymaps/default/readme.md diff --git a/keyboards/owl8/keymaps/via/keymap.c b/keyboards/dailycraft/owl8/keymaps/via/keymap.c similarity index 100% rename from keyboards/owl8/keymaps/via/keymap.c rename to keyboards/dailycraft/owl8/keymaps/via/keymap.c diff --git a/keyboards/owl8/keymaps/via/readme.md b/keyboards/dailycraft/owl8/keymaps/via/readme.md similarity index 100% rename from keyboards/owl8/keymaps/via/readme.md rename to keyboards/dailycraft/owl8/keymaps/via/readme.md diff --git a/keyboards/owl8/keymaps/via/rules.mk b/keyboards/dailycraft/owl8/keymaps/via/rules.mk similarity index 100% rename from keyboards/owl8/keymaps/via/rules.mk rename to keyboards/dailycraft/owl8/keymaps/via/rules.mk diff --git a/keyboards/owl8/owl8.c b/keyboards/dailycraft/owl8/owl8.c similarity index 100% rename from keyboards/owl8/owl8.c rename to keyboards/dailycraft/owl8/owl8.c diff --git a/keyboards/owl8/owl8.h b/keyboards/dailycraft/owl8/owl8.h similarity index 100% rename from keyboards/owl8/owl8.h rename to keyboards/dailycraft/owl8/owl8.h diff --git a/keyboards/owl8/readme.md b/keyboards/dailycraft/owl8/readme.md similarity index 64% rename from keyboards/owl8/readme.md rename to keyboards/dailycraft/owl8/readme.md index b40a5f35cb32..c7fab17476d6 100644 --- a/keyboards/owl8/readme.md +++ b/keyboards/dailycraft/owl8/readme.md @@ -6,14 +6,21 @@ macropad * Keyboard Maintainer: [yfuku](https://github.com/yfuku) * Hardware Supported: owl8 PCB, Pro Micro -* Hardware Availability: https://yfuku.booth.pm/ +* Hardware Availability: https://shop.dailycraft.jp/ Make example for this keyboard (after setting up your build environment): - make owl8:default + make dailycraft/owl8:default Flashing example for this keyboard: - make owl8:default:flash + make dailycraft/owl8:default:flash 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). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/owl8/rules.mk b/keyboards/dailycraft/owl8/rules.mk similarity index 100% rename from keyboards/owl8/rules.mk rename to keyboards/dailycraft/owl8/rules.mk diff --git a/keyboards/wings42/config.h b/keyboards/dailycraft/wings42/config.h similarity index 100% rename from keyboards/wings42/config.h rename to keyboards/dailycraft/wings42/config.h diff --git a/keyboards/wings42/rev1/readme.md b/keyboards/dailycraft/wings42/readme.md similarity index 67% rename from keyboards/wings42/rev1/readme.md rename to keyboards/dailycraft/wings42/readme.md index 4ddfe3e83c5a..c91965339717 100644 --- a/keyboards/wings42/rev1/readme.md +++ b/keyboards/dailycraft/wings42/readme.md @@ -6,16 +6,21 @@ A split keyboard with 3x6 vertically staggered keys and 3 thumb keys. * Keyboard Maintainer: [yfuku](https://github.com/yfuku) * Hardware Supported: wings42 PCB, Pro Micro -* Hardware Availability: https://yfuku.booth.pm/ +* Hardware Availability: https://shop.dailycraft.jp/ Make example for this keyboard (after setting up your build environment): - make wings42/rev1:default + make dailycraft/wings42:default Flashing example for this keyboard: - make wings42/rev1:default:flash + make dailycraft/wings42:default:flash 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). -A build guide for this keyboard can be found here: [wings42 build guide](https://yfuku.com/wings42/buildguide/) +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/wings42/rev1/config.h b/keyboards/dailycraft/wings42/rev1/config.h similarity index 100% rename from keyboards/wings42/rev1/config.h rename to keyboards/dailycraft/wings42/rev1/config.h diff --git a/keyboards/wings42/rev1/keymaps/default/keymap.c b/keyboards/dailycraft/wings42/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/wings42/rev1/keymaps/default/keymap.c rename to keyboards/dailycraft/wings42/rev1/keymaps/default/keymap.c diff --git a/keyboards/wings42/rev1/keymaps/default/readme.md b/keyboards/dailycraft/wings42/rev1/keymaps/default/readme.md similarity index 100% rename from keyboards/wings42/rev1/keymaps/default/readme.md rename to keyboards/dailycraft/wings42/rev1/keymaps/default/readme.md diff --git a/keyboards/wings42/rev1/keymaps/via/keymap.c b/keyboards/dailycraft/wings42/rev1/keymaps/via/keymap.c similarity index 100% rename from keyboards/wings42/rev1/keymaps/via/keymap.c rename to keyboards/dailycraft/wings42/rev1/keymaps/via/keymap.c diff --git a/keyboards/wings42/rev1/keymaps/via/rules.mk b/keyboards/dailycraft/wings42/rev1/keymaps/via/rules.mk similarity index 100% rename from keyboards/wings42/rev1/keymaps/via/rules.mk rename to keyboards/dailycraft/wings42/rev1/keymaps/via/rules.mk diff --git a/keyboards/wings42/rev2/readme.md b/keyboards/dailycraft/wings42/rev1/readme.md similarity index 66% rename from keyboards/wings42/rev2/readme.md rename to keyboards/dailycraft/wings42/rev1/readme.md index 158372feb4cb..959052c41d5e 100644 --- a/keyboards/wings42/rev2/readme.md +++ b/keyboards/dailycraft/wings42/rev1/readme.md @@ -6,16 +6,21 @@ A split keyboard with 3x6 vertically staggered keys and 3 thumb keys. * Keyboard Maintainer: [yfuku](https://github.com/yfuku) * Hardware Supported: wings42 PCB, Pro Micro -* Hardware Availability: https://yfuku.booth.pm/ +* Hardware Availability: https://shop.dailycraft.jp/ Make example for this keyboard (after setting up your build environment): - make wings42:default + make dailycraft/wings42/rev1:default Flashing example for this keyboard: - make wings42:default:flash + make dailycraft/wings42/rev1:default:flash 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). -A build guide for this keyboard can be found here: [wings42 build guide](https://yfuku.com/wings42/buildguide/) +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/wings42/rev1/rev1.c b/keyboards/dailycraft/wings42/rev1/rev1.c similarity index 100% rename from keyboards/wings42/rev1/rev1.c rename to keyboards/dailycraft/wings42/rev1/rev1.c diff --git a/keyboards/wings42/rev1/rev1.h b/keyboards/dailycraft/wings42/rev1/rev1.h similarity index 100% rename from keyboards/wings42/rev1/rev1.h rename to keyboards/dailycraft/wings42/rev1/rev1.h diff --git a/keyboards/wings42/rev1/rules.mk b/keyboards/dailycraft/wings42/rev1/rules.mk similarity index 100% rename from keyboards/wings42/rev1/rules.mk rename to keyboards/dailycraft/wings42/rev1/rules.mk diff --git a/keyboards/wings42/rev1_extkeys/config.h b/keyboards/dailycraft/wings42/rev1_extkeys/config.h similarity index 100% rename from keyboards/wings42/rev1_extkeys/config.h rename to keyboards/dailycraft/wings42/rev1_extkeys/config.h diff --git a/keyboards/wings42/rev1_extkeys/keymaps/default/keymap.c b/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/default/keymap.c similarity index 100% rename from keyboards/wings42/rev1_extkeys/keymaps/default/keymap.c rename to keyboards/dailycraft/wings42/rev1_extkeys/keymaps/default/keymap.c diff --git a/keyboards/wings42/rev1_extkeys/keymaps/default/readme.md b/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/default/readme.md similarity index 100% rename from keyboards/wings42/rev1_extkeys/keymaps/default/readme.md rename to keyboards/dailycraft/wings42/rev1_extkeys/keymaps/default/readme.md diff --git a/keyboards/wings42/rev1_extkeys/keymaps/via/keymap.c b/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/via/keymap.c similarity index 100% rename from keyboards/wings42/rev1_extkeys/keymaps/via/keymap.c rename to keyboards/dailycraft/wings42/rev1_extkeys/keymaps/via/keymap.c diff --git a/keyboards/wings42/rev1_extkeys/keymaps/via/rules.mk b/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/via/rules.mk similarity index 100% rename from keyboards/wings42/rev1_extkeys/keymaps/via/rules.mk rename to keyboards/dailycraft/wings42/rev1_extkeys/keymaps/via/rules.mk diff --git a/keyboards/wings42/readme.md b/keyboards/dailycraft/wings42/rev1_extkeys/readme.md similarity index 65% rename from keyboards/wings42/readme.md rename to keyboards/dailycraft/wings42/rev1_extkeys/readme.md index fc71d58ab696..4a34063ad4cf 100644 --- a/keyboards/wings42/readme.md +++ b/keyboards/dailycraft/wings42/rev1_extkeys/readme.md @@ -6,14 +6,21 @@ A split keyboard with 3x6 vertically staggered keys and 3 thumb keys. * Keyboard Maintainer: [yfuku](https://github.com/yfuku) * Hardware Supported: wings42 PCB, Pro Micro -* Hardware Availability: https://yfuku.booth.pm/ +* Hardware Availability: https://shop.dailycraft.jp/ Make example for this keyboard (after setting up your build environment): - make wings42:default + make dailycraft/wings42/rev1_extkeys:default Flashing example for this keyboard: - make wings42:default:flash + make dailycraft/wings42/rev1_extkeys:default:flash 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). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/wings42/rev1_extkeys/rev1_extkeys.c b/keyboards/dailycraft/wings42/rev1_extkeys/rev1_extkeys.c similarity index 100% rename from keyboards/wings42/rev1_extkeys/rev1_extkeys.c rename to keyboards/dailycraft/wings42/rev1_extkeys/rev1_extkeys.c diff --git a/keyboards/wings42/rev1_extkeys/rev1_extkeys.h b/keyboards/dailycraft/wings42/rev1_extkeys/rev1_extkeys.h similarity index 100% rename from keyboards/wings42/rev1_extkeys/rev1_extkeys.h rename to keyboards/dailycraft/wings42/rev1_extkeys/rev1_extkeys.h diff --git a/keyboards/wings42/rev1_extkeys/rules.mk b/keyboards/dailycraft/wings42/rev1_extkeys/rules.mk similarity index 100% rename from keyboards/wings42/rev1_extkeys/rules.mk rename to keyboards/dailycraft/wings42/rev1_extkeys/rules.mk diff --git a/keyboards/wings42/rev2/config.h b/keyboards/dailycraft/wings42/rev2/config.h similarity index 100% rename from keyboards/wings42/rev2/config.h rename to keyboards/dailycraft/wings42/rev2/config.h diff --git a/keyboards/wings42/rev2/keymaps/default/keymap.c b/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c similarity index 100% rename from keyboards/wings42/rev2/keymaps/default/keymap.c rename to keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c diff --git a/keyboards/wings42/rev2/keymaps/default/readme.md b/keyboards/dailycraft/wings42/rev2/keymaps/default/readme.md similarity index 100% rename from keyboards/wings42/rev2/keymaps/default/readme.md rename to keyboards/dailycraft/wings42/rev2/keymaps/default/readme.md diff --git a/keyboards/wings42/rev2/keymaps/via/config.h b/keyboards/dailycraft/wings42/rev2/keymaps/via/config.h similarity index 100% rename from keyboards/wings42/rev2/keymaps/via/config.h rename to keyboards/dailycraft/wings42/rev2/keymaps/via/config.h diff --git a/keyboards/wings42/rev2/keymaps/via/keymap.c b/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c similarity index 100% rename from keyboards/wings42/rev2/keymaps/via/keymap.c rename to keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c diff --git a/keyboards/wings42/rev2/keymaps/via/rules.mk b/keyboards/dailycraft/wings42/rev2/keymaps/via/rules.mk similarity index 100% rename from keyboards/wings42/rev2/keymaps/via/rules.mk rename to keyboards/dailycraft/wings42/rev2/keymaps/via/rules.mk diff --git a/keyboards/wings42/rev1_extkeys/readme.md b/keyboards/dailycraft/wings42/rev2/readme.md similarity index 67% rename from keyboards/wings42/rev1_extkeys/readme.md rename to keyboards/dailycraft/wings42/rev2/readme.md index 7be464a141f5..c91965339717 100644 --- a/keyboards/wings42/rev1_extkeys/readme.md +++ b/keyboards/dailycraft/wings42/rev2/readme.md @@ -6,16 +6,21 @@ A split keyboard with 3x6 vertically staggered keys and 3 thumb keys. * Keyboard Maintainer: [yfuku](https://github.com/yfuku) * Hardware Supported: wings42 PCB, Pro Micro -* Hardware Availability: https://yfuku.booth.pm/ +* Hardware Availability: https://shop.dailycraft.jp/ Make example for this keyboard (after setting up your build environment): - make make wings42/rev1_extkeys:default + make dailycraft/wings42:default Flashing example for this keyboard: - make make wings42/rev1_extkeys:default:flash + make dailycraft/wings42:default:flash 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). -A build guide for this keyboard can be found here: [wings42 build guide](https://yfuku.com/wings42/buildguide/) +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/wings42/rev2/rev2.c b/keyboards/dailycraft/wings42/rev2/rev2.c similarity index 100% rename from keyboards/wings42/rev2/rev2.c rename to keyboards/dailycraft/wings42/rev2/rev2.c diff --git a/keyboards/wings42/rev2/rev2.h b/keyboards/dailycraft/wings42/rev2/rev2.h similarity index 100% rename from keyboards/wings42/rev2/rev2.h rename to keyboards/dailycraft/wings42/rev2/rev2.h diff --git a/keyboards/wings42/rev2/rules.mk b/keyboards/dailycraft/wings42/rev2/rules.mk similarity index 100% rename from keyboards/wings42/rev2/rules.mk rename to keyboards/dailycraft/wings42/rev2/rules.mk diff --git a/keyboards/wings42/rules.mk b/keyboards/dailycraft/wings42/rules.mk similarity index 94% rename from keyboards/wings42/rules.mk rename to keyboards/dailycraft/wings42/rules.mk index 74e894efecde..94459dbcc559 100644 --- a/keyboards/wings42/rules.mk +++ b/keyboards/dailycraft/wings42/rules.mk @@ -19,4 +19,4 @@ AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = wings42/rev2 +DEFAULT_FOLDER = dailycraft/wings42/rev2 diff --git a/keyboards/wings42/wings42.c b/keyboards/dailycraft/wings42/wings42.c similarity index 100% rename from keyboards/wings42/wings42.c rename to keyboards/dailycraft/wings42/wings42.c diff --git a/keyboards/wings42/wings42.h b/keyboards/dailycraft/wings42/wings42.h similarity index 86% rename from keyboards/wings42/wings42.h rename to keyboards/dailycraft/wings42/wings42.h index 9412b7117a17..d839f048847a 100644 --- a/keyboards/wings42/wings42.h +++ b/keyboards/dailycraft/wings42/wings42.h @@ -18,13 +18,13 @@ #include "quantum.h" -#ifdef KEYBOARD_wings42_rev1 +#ifdef KEYBOARD_dailycraft_wings42_rev1 # include "rev1.h" #endif -#ifdef KEYBOARD_wings42_rev1_extkeys +#ifdef KEYBOARD_dailycraft_wings42_rev1_extkeys # include "rev1_extkeys.h" #endif -#ifdef KEYBOARD_wings42_rev2 +#ifdef KEYBOARD_dailycraft_wings42_rev2 # include "rev2.h" #endif From 9d801cb03db7d5f11d1b82a22f401e30c343d0ee Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 28 Dec 2021 20:25:06 -0800 Subject: [PATCH 0049/1832] [Keyboard] Update Tractyl Manuform to use Split Pointing Device Sync --- .../tractyl_manuform/5x6_right/config.h | 1 - .../5x6_right/keymaps/drashna/keymap.c | 2 +- .../tractyl_manuform/5x6_right/rules.mk | 2 - keyboards/handwired/tractyl_manuform/config.h | 5 +- .../handwired/tractyl_manuform/tm_sync.c | 180 ------------------ .../tractyl_manuform/tractyl_manuform.c | 56 ++++-- .../tractyl_manuform/tractyl_manuform.h | 15 +- users/drashna/oled/oled_stuff.c | 13 +- users/drashna/oled/oled_stuff.h | 2 +- 9 files changed, 65 insertions(+), 211 deletions(-) delete mode 100644 keyboards/handwired/tractyl_manuform/tm_sync.c diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h index d7618912f78f..b9d8e86c09c4 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h @@ -52,5 +52,4 @@ along with this program. If not, see . #define OLED_DISPLAY_128X64 -#define POINTING_DEVICE_TASK_THROTTLE #define POINTING_DEVICE_RIGHT diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c index 958f6941725c..65f8a5260db2 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c @@ -301,7 +301,7 @@ void oled_driver_render_logo_left(void) { # endif oled_set_cursor(6, 3); # if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right) - render_pointing_dpi_status(0); + render_pointing_dpi_status(kb_config_data.device_cpi, 0); # endif oled_set_cursor(0, 4); } diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk index 37bbbb4daeda..a689be3dd5a6 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk @@ -18,6 +18,4 @@ MOUSE_SHARED_EP = yes SPLIT_KEYBOARD = yes -QUANTUM_LIB_SRC += tm_sync.c - DEFAULT_FOLDER = handwired/tractyl_manuform/5x6_right/teensy2pp diff --git a/keyboards/handwired/tractyl_manuform/config.h b/keyboards/handwired/tractyl_manuform/config.h index cc8a7546f4fa..15c8102b8fcd 100644 --- a/keyboards/handwired/tractyl_manuform/config.h +++ b/keyboards/handwired/tractyl_manuform/config.h @@ -39,4 +39,7 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -#define SPLIT_TRANSACTION_IDS_KB RPC_ID_KB_CONFIG_SYNC, RPC_ID_POINTER_STATE_SYNC +#define SPLIT_POINTING_ENABLE +#define POINTING_DEVICE_TASK_THROTTLE_MS 1 + +#define SPLIT_TRANSACTION_IDS_KB RPC_ID_KB_CONFIG_SYNC diff --git a/keyboards/handwired/tractyl_manuform/tm_sync.c b/keyboards/handwired/tractyl_manuform/tm_sync.c deleted file mode 100644 index 549a17a22f37..000000000000 --- a/keyboards/handwired/tractyl_manuform/tm_sync.c +++ /dev/null @@ -1,180 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * Copyright 2021 Dasky (@daskygit) - - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H -#include "pointing_device.h" -#include "transactions.h" -#include -#ifdef MOUSEKEY_ENABLE -# include "mousekey.h" -#endif - -// typedef struct { -// uint16_t device_cpi; -// } kb_config_data_t; - -kb_config_data_t kb_config; -static report_mouse_t shared_mouse_report; -extern const pointing_device_driver_t pointing_device_driver; - -void kb_pointer_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { - shared_mouse_report = pointing_device_driver.get_report(shared_mouse_report); - memcpy(target2initiator_buffer, &shared_mouse_report, sizeof(report_mouse_t)); - shared_mouse_report.x = 0; - shared_mouse_report.y = 0; - shared_mouse_report.h = 0; - shared_mouse_report.v = 0; -} - -void kb_config_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { - if (initiator2target_buffer_size == sizeof(kb_config)) { - memcpy(&kb_config, initiator2target_buffer, sizeof(kb_config)); - } - - static uint16_t cpi = 0; - // Check if the state values are different - if (cpi != kb_config.device_cpi) { - cpi = kb_config.device_cpi; - if (!is_keyboard_left()) { - pointing_device_set_cpi(cpi); - } - } -} - -void keyboard_pre_init_sync(void) { - memset(&kb_config, 0, sizeof(kb_config)); - memset(&shared_mouse_report, 0, sizeof(shared_mouse_report)); -} - -void keyboard_post_init_sync(void) { - // Register keyboard state sync split transaction - transaction_register_rpc(RPC_ID_KB_CONFIG_SYNC, kb_config_sync_handler); - transaction_register_rpc(RPC_ID_POINTER_STATE_SYNC, kb_pointer_sync_handler); -} - -void housekeeping_task_sync(void) { - if (is_keyboard_master()) { - // Keep track of the last state, so that we can tell if we need to propagate to slave - static kb_config_data_t last_kb_config; - static uint32_t last_sync = 0; - bool needs_sync = false; - - // Check if the state values are different - if (memcmp(&kb_config, &last_kb_config, sizeof(kb_config))) { - needs_sync = true; - memcpy(&last_kb_config, &kb_config, sizeof(kb_config)); - } - // Send to slave every 500ms regardless of state change - if (timer_elapsed32(last_sync) > 500) { - needs_sync = true; - } - - // Perform the sync if requested - if (needs_sync) { - if (transaction_rpc_send(RPC_ID_KB_CONFIG_SYNC, sizeof(kb_config), &kb_config)) { - last_sync = timer_read32(); - } - } - } -} - -void trackball_set_cpi(uint16_t cpi) { - kb_config.device_cpi = cpi; - if (!is_keyboard_left()) { - pointing_device_set_cpi(cpi); - } -} - -void pointing_device_task(void) { - if (!is_keyboard_master()) { - return; - } - -#if defined(POINTING_DEVICE_TASK_THROTTLE) - static uint32_t last_exec = 0; - if (timer_elapsed32(last_exec) < 1) { - return; - } - last_exec = timer_read32(); -#endif - - report_mouse_t local_report = pointing_device_get_report(); - - // Gather report info -#ifdef POINTING_DEVICE_MOTION_PIN - if (!readPin(POINTING_DEVICE_MOTION_PIN)) -#endif -#if defined(POINTING_DEVICE_COMBINED) - local_report = pointing_device_driver.get_report(local_report); - transaction_rpc_recv(RPC_ID_POINTER_STATE_SYNC, sizeof(report_mouse_t), &shared_mouse_report); - local_report.x = local_report.x | shared_mouse_report.x; - local_report.y = local_report.y | shared_mouse_report.y; - local_report.h = local_report.h | shared_mouse_report.h; - local_report.v = local_report.v | shared_mouse_report.v; -#elif defined(POINTING_DEVICE_LEFT) - if (is_keyboard_left()) { - local_report = pointing_device_driver.get_report(local_report); - } else { - transaction_rpc_recv(RPC_ID_POINTER_STATE_SYNC, sizeof(report_mouse_t), &local_report); - } -#elif defined(POINTING_DEVICE_RIGHT) - if (!is_keyboard_left()) { - local_report = pointing_device_driver.get_report(local_report); - } else { - transaction_rpc_recv(RPC_ID_POINTER_STATE_SYNC, sizeof(report_mouse_t), &local_report); - } -#else -# error "You need to define the side(s) the pointing device is on. POINTING_DEVICE_COMBINED / POINTING_DEVICE_LEFT / POINTING_DEVICE_RIGHT" -#endif - - // Support rotation of the sensor data -#if defined(POINTING_DEVICE_ROTATION_90) || defined(POINTING_DEVICE_ROTATION_180) || defined(POINTING_DEVICE_ROTATION_270) - int8_t x = local_report.x, y = local_report.y; -# if defined(POINTING_DEVICE_ROTATION_90) - local_report.x = y; - local_report.y = -x; -# elif defined(POINTING_DEVICE_ROTATION_180) - local_report.x = -x; - local_report.y = -y; -# elif defined(POINTING_DEVICE_ROTATION_270) - local_report.x = -y; - local_report.y = x; -# else -# error "How the heck did you get here?!" -# endif -#endif - // Support Inverting the X and Y Axises -#if defined(POINTING_DEVICE_INVERT_X) - local_report.x = -local_report.x; -#endif -#if defined(POINTING_DEVICE_INVERT_Y) - local_report.y = -local_report.y; -#endif - - // allow kb to intercept and modify report - local_report = pointing_device_task_kb(local_report); - // combine with mouse report to ensure that the combined is sent correctly -#ifdef MOUSEKEY_ENABLE - report_mouse_t mousekey_report = mousekey_get_report(); - local_report.buttons = local_report.buttons | mousekey_report.buttons; -#endif -#if defined(POINTING_DEVICE_COMBINED) - local_report.buttons = local_report.buttons | shared_mouse_report.buttons; -#endif - pointing_device_set_report(local_report); - pointing_device_send(); -} diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c index 6095bfb7e2aa..5bdc57ca0902 100644 --- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c @@ -17,7 +17,6 @@ #include "tractyl_manuform.h" #include "transactions.h" #include -#include "drivers/sensors/pmw3360.h" #ifndef TRACKBALL_DPI_OPTIONS # define TRACKBALL_DPI_OPTIONS \ @@ -31,11 +30,10 @@ #endif keyboard_config_t keyboard_config; +kb_config_data_t kb_config_data; uint16_t dpi_array[] = TRACKBALL_DPI_OPTIONS; #define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t)) - - bool process_record_kb(uint16_t keycode, keyrecord_t* record) { if (!process_record_user(keycode, record)) { return false; @@ -49,7 +47,8 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; } eeconfig_update_kb(keyboard_config.raw); - trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); + kb_config_data.device_cpi = dpi_array[keyboard_config.dpi_config]; + pointing_device_set_cpi(kb_config_data.device_cpi); } #endif @@ -69,7 +68,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { return true; } -__attribute__((weak)) void keyboard_pre_init_sync(void) {} __attribute__((weak)) void keyboard_pre_init_sub(void) {} void keyboard_pre_init_kb(void) { // debug_enable = true; @@ -83,20 +81,22 @@ void keyboard_pre_init_kb(void) { writePin(DEBUG_LED_PIN, !debug_enable); #endif + memset(&kb_config_data, 0, sizeof(kb_config_data)); + keyboard_pre_init_sub(); - keyboard_pre_init_sync(); keyboard_pre_init_user(); } -__attribute__((weak)) void keyboard_post_init_sync(void) {} -void keyboard_post_init_kb(void) { - keyboard_post_init_sync(); +void keyboard_post_init_kb(void) { + transaction_register_rpc(RPC_ID_KB_CONFIG_SYNC, kb_config_sync_handler); + keyboard_post_init_user(); } #ifdef POINTING_DEVICE_ENABLE void pointing_device_init_kb(void) { - trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); + kb_config_data.device_cpi = dpi_array[keyboard_config.dpi_config]; + pointing_device_set_cpi(kb_config_data.device_cpi); pointing_device_init_user(); } @@ -111,7 +111,8 @@ report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { void eeconfig_init_kb(void) { keyboard_config.dpi_config = TRACKBALL_DPI_DEFAULT; #ifdef POINTING_DEVICE_ENABLE - trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); + kb_config_data.device_cpi = dpi_array[keyboard_config.dpi_config]; + pointing_device_set_cpi(kb_config_data.device_cpi); #endif eeconfig_update_kb(keyboard_config.raw); eeconfig_init_user(); @@ -135,12 +136,39 @@ void matrix_scan_kb(void) { matrix_scan_user(); } -__attribute__((weak)) void housekeeping_task_sync(void) {} -void housekeeping_task_kb(void) { - housekeeping_task_sync(); +void housekeeping_task_kb(void) { + if (is_keyboard_master()) { + // Keep track of the last state, so that we can tell if we need to propagate to slave + static kb_config_data_t last_kb_config; + static uint32_t last_sync = 0; + bool needs_sync = false; + + // Check if the state values are different + if (memcmp(&kb_config_data, &last_kb_config, sizeof(kb_config_data))) { + needs_sync = true; + memcpy(&last_kb_config, &kb_config_data, sizeof(kb_config_data)); + } + // Send to slave every 500ms regardless of state change + if (timer_elapsed32(last_sync) > 500) { + needs_sync = true; + } + + // Perform the sync if requested + if (needs_sync) { + if (transaction_rpc_send(RPC_ID_KB_CONFIG_SYNC, sizeof(kb_config_data), &kb_config_data)) { + last_sync = timer_read32(); + } + } + } // no need for user function, is called already } +void kb_config_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { + if (initiator2target_buffer_size == sizeof(kb_config_data)) { + memcpy(&kb_config_data, initiator2target_buffer, sizeof(kb_config_data)); + } +} + #ifdef POINTING_DEVICE_ENABLE void matrix_power_up(void) { pointing_device_task(); } #endif diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h index 6aa40fc18b09..3f8aca4551d9 100644 --- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h @@ -32,21 +32,26 @@ typedef union { }; } keyboard_config_t; +typedef union { + uint32_t raw; + struct { + uint16_t device_cpi; + }; +} kb_config_data_t; + extern keyboard_config_t keyboard_config; +extern kb_config_data_t kb_config_data; enum ploopy_keycodes { DPI_CONFIG = SAFE_RANGE, KEYMAP_SAFE_RANGE, }; -typedef struct { - uint16_t device_cpi; -} kb_config_data_t; - -void trackball_set_cpi(uint16_t cpi); void matrix_init_sub_kb(void); void matrix_scan_sub_kb(void); void keyboard_pre_init_sync(void); void keyboard_post_init_sync(void); void housekeeping_task_sync(void); + +void kb_config_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer); diff --git a/users/drashna/oled/oled_stuff.c b/users/drashna/oled/oled_stuff.c index 9ee2cbfed8f9..889481498526 100644 --- a/users/drashna/oled/oled_stuff.c +++ b/users/drashna/oled/oled_stuff.c @@ -348,9 +348,8 @@ void render_wpm(uint8_t padding) { #endif } -#if defined(KEYBOARD_handwired_tractyl_manuform) || defined(KEYBOARD_bastardkb_charybdis) -extern kb_config_data_t kb_config; -void render_pointing_dpi_status(uint8_t padding) { +#if defined(POINTING_DEVICE_ENABLE) +void render_pointing_dpi_status(uint16_t cpi, uint8_t padding) { oled_write_P(PSTR("CPI:"), false); if (padding) { for (uint8_t n = padding - 1; n > 0; n--) { @@ -358,7 +357,7 @@ void render_pointing_dpi_status(uint8_t padding) { } } - oled_write(get_u16_str(kb_config.device_cpi, ' '), false); + oled_write(get_u16_str(cpi, ' '), false); } #endif @@ -381,8 +380,10 @@ __attribute__((weak)) void oled_driver_render_logo_left(void) { render_wpm(0); # endif oled_write_P(PSTR(" "), false); -# if defined(KEYBOARD_handwired_tractyl_manuform) || defined(KEYBOARD_bastardkb_charybdis) - render_pointing_dpi_status(1); +# if defined(KEYBOARD_handwired_tractyl_manuform) + render_pointing_dpi_status(kb_config_data.device_cpi, 1); +# elif defined(KEYBOARD_bastardkb_charybdis) + render_pointing_dpi_status(, 1); # endif oled_set_cursor(0, 4); #else diff --git a/users/drashna/oled/oled_stuff.h b/users/drashna/oled/oled_stuff.h index 8795684d6ad4..fd64b50874b0 100644 --- a/users/drashna/oled/oled_stuff.h +++ b/users/drashna/oled/oled_stuff.h @@ -33,7 +33,7 @@ void render_bootmagic_status(void); void render_user_status(void); void oled_driver_render_logo(void); void render_wpm(uint8_t padding); -void render_pointing_dpi_status(uint8_t padding); +void render_pointing_dpi_status(uint16_t cpi, uint8_t padding); void oled_driver_render_logo_left(void); void oled_driver_render_logo_right(void); From 0d02af816b6600a7399dacbc703827895b5baa1f Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Wed, 29 Dec 2021 05:26:28 -0800 Subject: [PATCH 0050/1832] [Keyboard] Update grs_70ec to use newer custom matrix (#15609) --- keyboards/sekigon/grs_70ec/matrix.c | 47 ----------------------------- 1 file changed, 47 deletions(-) diff --git a/keyboards/sekigon/grs_70ec/matrix.c b/keyboards/sekigon/grs_70ec/matrix.c index 98b234793711..926ed6f81302 100644 --- a/keyboards/sekigon/grs_70ec/matrix.c +++ b/keyboards/sekigon/grs_70ec/matrix.c @@ -70,50 +70,3 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { return updated; } - -bool matrix_post_scan(void) { - bool changed = false; - if (is_keyboard_master()) { - static uint8_t error_count; - - matrix_row_t slave_matrix[ROWS_PER_HAND] = {0}; - if (!transport_master(matrix + thatHand, slave_matrix)) { - error_count++; - - if (error_count > ERROR_DISCONNECT_COUNT) { - // reset other half if disconnected - dprintf("Error: disconnect split half\n"); - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[thatHand + i] = 0; - slave_matrix[i] = 0; - } - - changed = true; - } - } else { - error_count = 0; - - for (int i = 0; i < ROWS_PER_HAND; ++i) { - if (matrix[thatHand + i] != slave_matrix[i]) { - matrix[thatHand + i] = slave_matrix[i]; - changed = true; - } - } - } - - matrix_scan_quantum(); - } else { - transport_slave(matrix + thatHand, matrix + thisHand); - - matrix_slave_scan_user(); - } - return changed; -} - -uint8_t matrix_scan(void) { - bool changed = matrix_scan_custom(raw_matrix) || matrix_post_scan(); - - debounce(raw_matrix, matrix + thisHand, ROWS_PER_HAND, changed); - - return changed; -} From f85b945c328ee5a26a8f6ae7a34930237cf69184 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Wed, 29 Dec 2021 05:54:57 -0800 Subject: [PATCH 0051/1832] [Keyboard] Fix compiler issue with tractyl manuform 4x6 (#15646) --- keyboards/handwired/tractyl_manuform/4x6_right/rules.mk | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk index e83e9a7bba17..c497bb2ee889 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk +++ b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk @@ -21,9 +21,7 @@ RGB_MATRIX_DRIVER = WS2812 POINTING_DEVICE_ENABLE = yes -MOUSE_SHARED_EP = no +POINTING_DEVICE_DRIVER = pmw3360 +MOUSE_SHARED_EP = yes SPLIT_KEYBOARD = yes - -SRC += drivers/sensors/pmw3360.c -QUANTUM_LIB_SRC += spi_master.c tm_sync.c From 4fe6f3cd7a974e28796b1c1549cca22e7002e3eb Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Fri, 31 Dec 2021 23:38:23 +0000 Subject: [PATCH 0052/1832] Fix split pointing for analog joystick (#15691) Co-authored-by: Nick Brassel --- quantum/split_common/transactions.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 9622acb377ae..edaf0df628ee 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -631,9 +631,11 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s } last_exec = timer_read32(); # endif - temp_cpi = pointing_device_driver.get_cpi(); + temp_cpi = !pointing_device_driver.get_cpi ? 0 : pointing_device_driver.get_cpi(); // check for NULL if (split_shmem->pointing.cpi && memcmp(&split_shmem->pointing.cpi, &temp_cpi, sizeof(temp_cpi)) != 0) { - pointing_device_driver.set_cpi(split_shmem->pointing.cpi); + if (pointing_device_driver.set_cpi) { + pointing_device_driver.set_cpi(split_shmem->pointing.cpi); + } } memset(&temp_report, 0, sizeof(temp_report)); temp_report = pointing_device_driver.get_report(temp_report); From 5fcdff99357e9a91d0f3b3b1d9505f43ac7a9634 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Fri, 31 Dec 2021 15:46:23 -0800 Subject: [PATCH 0053/1832] Format code according to conventions (#15693) --- quantum/split_common/transactions.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index edaf0df628ee..81f98363823b 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -631,7 +631,7 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s } last_exec = timer_read32(); # endif - temp_cpi = !pointing_device_driver.get_cpi ? 0 : pointing_device_driver.get_cpi(); // check for NULL + temp_cpi = !pointing_device_driver.get_cpi ? 0 : pointing_device_driver.get_cpi(); // check for NULL if (split_shmem->pointing.cpi && memcmp(&split_shmem->pointing.cpi, &temp_cpi, sizeof(temp_cpi)) != 0) { if (pointing_device_driver.set_cpi) { pointing_device_driver.set_cpi(split_shmem->pointing.cpi); From 8b44eaa63eef60fa52c85838605a870d6f9d3e46 Mon Sep 17 00:00:00 2001 From: uqs Date: Sun, 2 Jan 2022 09:06:17 +0100 Subject: [PATCH 0054/1832] Update pmw3360 comments to match the datasheet better, fix delays. (#15682) --- drivers/sensors/pmw3360.c | 34 +++++++++++++++--------- keyboards/ploopyco/mouse/readme.md | 2 +- keyboards/ploopyco/trackball/readme.md | 4 +-- keyboards/ploopyco/trackball/trackball.c | 2 +- 4 files changed, 26 insertions(+), 16 deletions(-) diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 4854ba5f4767..9e3aeaa46818 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -78,8 +78,12 @@ #define CPI_STEP 100 // clang-format on +// limits to 0--119, resulting in a CPI range of 100 -- 12000 (as only steps of 100 are possible). +// Note that for the PMW3389DM chip, the step size is 50 and supported range is +// up to 16000. The datasheet does not indicate the minimum CPI though, neither +// whether this uses 2 bytes (as 16000/50 == 320) #ifndef MAX_CPI -# define MAX_CPI 0x77 // limits to 0--119, should be max cpi/100 +# define MAX_CPI 0x77 #endif bool _inBurst = false; @@ -91,6 +95,7 @@ void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' bool pmw3360_spi_start(void) { bool status = spi_start(PMW3360_CS_PIN, PMW3360_SPI_LSBFIRST, PMW3360_SPI_MODE, PMW3360_SPI_DIVISOR); + // tNCS-SCLK, 120ns wait_us(1); return status; } @@ -106,12 +111,12 @@ spi_status_t pmw3360_write(uint8_t reg_addr, uint8_t data) { spi_status_t status = spi_write(reg_addr | 0x80); status = spi_write(data); - // tSCLK-NCS for write operation + // tSCLK-NCS for write operation is 35us wait_us(35); + spi_stop(); // tSWW/tSWR (=180us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound wait_us(145); - spi_stop(); return status; } @@ -119,15 +124,16 @@ uint8_t pmw3360_read(uint8_t reg_addr) { pmw3360_spi_start(); // send adress of the register, with MSBit = 0 to indicate it's a read spi_write(reg_addr & 0x7f); + // tSRAD (=160us) + wait_us(160); uint8_t data = spi_read(); // tSCLK-NCS for read operation is 120ns wait_us(1); + spi_stop(); // tSRW/tSRR (=20us) minus tSCLK-NCS wait_us(19); - - spi_stop(); return data; } @@ -149,7 +155,7 @@ bool pmw3360_init(void) { spi_stop(); wait_us(40); - // reboot + // power up, need to first drive NCS high then low, see above. pmw3360_write(REG_Power_Up_Reset, 0x5a); wait_ms(50); @@ -190,6 +196,9 @@ bool pmw3360_init(void) { } void pmw3360_upload_firmware(void) { + // Datasheet claims we need to disable REST mode first, but during startup + // it's already disabled and we're not turning it on ... + //pmw3360_write(REG_Config2, 0x00); // disable REST mode pmw3360_write(REG_SROM_Enable, 0x1d); wait_ms(10); @@ -242,15 +251,20 @@ report_pmw3360_t pmw3360_read_burst(void) { pmw3360_spi_start(); spi_write(REG_Motion_Burst); - wait_us(35); // waits for tSRAD + wait_us(35); // waits for tSRAD_MOTBR report.motion = spi_read(); - spi_write(0x00); // skip Observation + spi_read(); // skip Observation + // delta registers report.dx = spi_read(); report.mdx = spi_read(); report.dy = spi_read(); report.mdy = spi_read(); + if (report.motion & 0b111) { // panic recovery, sometimes burst mode works weird. + _inBurst = false; + } + spi_stop(); #ifdef CONSOLE_ENABLE @@ -271,9 +285,5 @@ report_pmw3360_t pmw3360_read_burst(void) { report.dy |= (report.mdy << 8); report.dy = report.dy * -1; - if (report.motion & 0b111) { // panic recovery, sometimes burst mode works weird. - _inBurst = false; - } - return report; } diff --git a/keyboards/ploopyco/mouse/readme.md b/keyboards/ploopyco/mouse/readme.md index f7f072928b76..af3cb3520fe6 100644 --- a/keyboards/ploopyco/mouse/readme.md +++ b/keyboards/ploopyco/mouse/readme.md @@ -39,7 +39,7 @@ This should allow you to more heavily customize the behavior. Alternatively, the `process_wheel` and `process_mouse` functions can both be replaced too, to allow for even more functionality. -Additionally, you can change the DPI/CPI or speed of the krackball by calling `pmw_set_cpi` at any time. Additionally, there is a `DPI_CONFIG` macro that will cycle through an array of options for the DPI. This is set to 1200, 1600, and 2400, but can be changed. 1600 is also set to the default. +Additionally, you can change the DPI/CPI or speed of the trackball by calling `pointing_device_set_cpi` at any time. Additionally, there is a `DPI_CONFIG` macro that will cycle through an array of options for the DPI. This is set to 1200, 1600, and 2400, but can be changed. 1600 is also set to the default. To configure/set your own array, there are two defines to use, `PLOOPY_DPI_OPTIONS` to set the array, and `PLOOPY_DPI_DEFAULT`. diff --git a/keyboards/ploopyco/trackball/readme.md b/keyboards/ploopyco/trackball/readme.md index e1885d149a45..1648bd20f9b6 100644 --- a/keyboards/ploopyco/trackball/readme.md +++ b/keyboards/ploopyco/trackball/readme.md @@ -19,7 +19,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Revisions -There are two main revisions for the PloopyCo Tracball, everything up to 1.004, and 1.005-1.006. +There are two main revisions for the PloopyCo Trackball, everything up to 1.004, and 1.005-1.006. In the 1.005 revision, button for was changed from pin B5 to B6, and the debug LED pin was changed from F7 to B5. @@ -47,7 +47,7 @@ This should allow you to more heavily customize the behavior. Alternatively, the `process_wheel` and `process_mouse` functions can both be replaced too, to allow for even more functionality. -Additionally, you can change the DPI/CPI or speed of the trackball by calling `pmw_set_cpi` at any time. Additionally, there is a `DPI_CONFIG` macro that will cycle through an array of options for the DPI. This is set to 1200, 1600, and 2400, but can be changed. 1600 is also set to the default. +Additionally, you can change the DPI/CPI or speed of the trackball by calling `pointing_device_set_cpi` at any time. Additionally, there is a `DPI_CONFIG` macro that will cycle through an array of options for the DPI. This is set to 1200, 1600, and 2400, but can be changed. 1600 is also set to the default. To configure/set your own array, there are two defines to use, `PLOOPY_DPI_OPTIONS` to set the array, and `PLOOPY_DPI_DEFAULT`. diff --git a/keyboards/ploopyco/trackball/trackball.c b/keyboards/ploopyco/trackball/trackball.c index 25b36574a5d8..f8199587344c 100644 --- a/keyboards/ploopyco/trackball/trackball.c +++ b/keyboards/ploopyco/trackball/trackball.c @@ -218,7 +218,7 @@ void keyboard_pre_init_kb(void) { } void pointing_device_init_kb(void) { - pmw3360_set_cpi(dpi_array[keyboard_config.dpi_config]); + pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]); // initialize the scroll wheel's optical encoder opt_encoder_init(); } From 89f7378569e603149eae0e9918babd94c85b7796 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sun, 2 Jan 2022 16:07:01 +0800 Subject: [PATCH 0055/1832] move @yangdigi 's keyboards to a YDKB folder (#15681) --- keyboards/{ => ydkb}/chili/chili.c | 0 keyboards/{ => ydkb}/chili/chili.h | 0 keyboards/{ => ydkb}/chili/config.h | 0 keyboards/{ => ydkb}/chili/info.json | 0 keyboards/{ => ydkb}/chili/keymaps/default/keymap.c | 0 keyboards/{ => ydkb}/chili/keymaps/via/keymap.c | 0 keyboards/{ => ydkb}/chili/keymaps/via/rules.mk | 0 keyboards/{ => ydkb}/chili/readme.md | 2 +- keyboards/{ => ydkb}/chili/rules.mk | 0 keyboards/{ => ydkb}/just60/config.h | 0 keyboards/{ => ydkb}/just60/info.json | 0 keyboards/{ => ydkb}/just60/just60.h | 0 keyboards/{ => ydkb}/just60/keymaps/default/keymap.c | 0 keyboards/{ => ydkb}/just60/keymaps/default/readme.md | 0 keyboards/{ => ydkb}/just60/keymaps/thinxer/keymap.c | 0 keyboards/{ => ydkb}/just60/keymaps/thinxer/readme.md | 0 keyboards/{ => ydkb}/just60/keymaps/thinxer/rules.mk | 0 keyboards/{ => ydkb}/just60/readme.md | 2 +- keyboards/{ => ydkb}/just60/rules.mk | 0 keyboards/{ => ydkb}/yd68/config.h | 0 keyboards/{ => ydkb}/yd68/info.json | 0 keyboards/{ => ydkb}/yd68/keymaps/default/keymap.c | 0 keyboards/{ => ydkb}/yd68/keymaps/default/readme.md | 0 keyboards/{ => ydkb}/yd68/readme.md | 2 +- keyboards/{ => ydkb}/yd68/rules.mk | 0 keyboards/{ => ydkb}/yd68/yd68.c | 0 keyboards/{ => ydkb}/yd68/yd68.h | 0 27 files changed, 3 insertions(+), 3 deletions(-) rename keyboards/{ => ydkb}/chili/chili.c (100%) rename keyboards/{ => ydkb}/chili/chili.h (100%) rename keyboards/{ => ydkb}/chili/config.h (100%) rename keyboards/{ => ydkb}/chili/info.json (100%) rename keyboards/{ => ydkb}/chili/keymaps/default/keymap.c (100%) rename keyboards/{ => ydkb}/chili/keymaps/via/keymap.c (100%) rename keyboards/{ => ydkb}/chili/keymaps/via/rules.mk (100%) rename keyboards/{ => ydkb}/chili/readme.md (95%) rename keyboards/{ => ydkb}/chili/rules.mk (100%) rename keyboards/{ => ydkb}/just60/config.h (100%) rename keyboards/{ => ydkb}/just60/info.json (100%) rename keyboards/{ => ydkb}/just60/just60.h (100%) rename keyboards/{ => ydkb}/just60/keymaps/default/keymap.c (100%) rename keyboards/{ => ydkb}/just60/keymaps/default/readme.md (100%) rename keyboards/{ => ydkb}/just60/keymaps/thinxer/keymap.c (100%) rename keyboards/{ => ydkb}/just60/keymaps/thinxer/readme.md (100%) rename keyboards/{ => ydkb}/just60/keymaps/thinxer/rules.mk (100%) rename keyboards/{ => ydkb}/just60/readme.md (97%) rename keyboards/{ => ydkb}/just60/rules.mk (100%) rename keyboards/{ => ydkb}/yd68/config.h (100%) rename keyboards/{ => ydkb}/yd68/info.json (100%) rename keyboards/{ => ydkb}/yd68/keymaps/default/keymap.c (100%) rename keyboards/{ => ydkb}/yd68/keymaps/default/readme.md (100%) rename keyboards/{ => ydkb}/yd68/readme.md (96%) rename keyboards/{ => ydkb}/yd68/rules.mk (100%) rename keyboards/{ => ydkb}/yd68/yd68.c (100%) rename keyboards/{ => ydkb}/yd68/yd68.h (100%) diff --git a/keyboards/chili/chili.c b/keyboards/ydkb/chili/chili.c similarity index 100% rename from keyboards/chili/chili.c rename to keyboards/ydkb/chili/chili.c diff --git a/keyboards/chili/chili.h b/keyboards/ydkb/chili/chili.h similarity index 100% rename from keyboards/chili/chili.h rename to keyboards/ydkb/chili/chili.h diff --git a/keyboards/chili/config.h b/keyboards/ydkb/chili/config.h similarity index 100% rename from keyboards/chili/config.h rename to keyboards/ydkb/chili/config.h diff --git a/keyboards/chili/info.json b/keyboards/ydkb/chili/info.json similarity index 100% rename from keyboards/chili/info.json rename to keyboards/ydkb/chili/info.json diff --git a/keyboards/chili/keymaps/default/keymap.c b/keyboards/ydkb/chili/keymaps/default/keymap.c similarity index 100% rename from keyboards/chili/keymaps/default/keymap.c rename to keyboards/ydkb/chili/keymaps/default/keymap.c diff --git a/keyboards/chili/keymaps/via/keymap.c b/keyboards/ydkb/chili/keymaps/via/keymap.c similarity index 100% rename from keyboards/chili/keymaps/via/keymap.c rename to keyboards/ydkb/chili/keymaps/via/keymap.c diff --git a/keyboards/chili/keymaps/via/rules.mk b/keyboards/ydkb/chili/keymaps/via/rules.mk similarity index 100% rename from keyboards/chili/keymaps/via/rules.mk rename to keyboards/ydkb/chili/keymaps/via/rules.mk diff --git a/keyboards/chili/readme.md b/keyboards/ydkb/chili/readme.md similarity index 95% rename from keyboards/chili/readme.md rename to keyboards/ydkb/chili/readme.md index a383f98fb0a5..c7be92b9e5c6 100644 --- a/keyboards/chili/readme.md +++ b/keyboards/ydkb/chili/readme.md @@ -10,6 +10,6 @@ The YDKB Chili is a Cherry G80-3000 replacement PCB utilizing the ATmega32U4 mic Make example for this keyboard (after setting up your build environment): - make chili:default + make ydkb/chili:default 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/chili/rules.mk b/keyboards/ydkb/chili/rules.mk similarity index 100% rename from keyboards/chili/rules.mk rename to keyboards/ydkb/chili/rules.mk diff --git a/keyboards/just60/config.h b/keyboards/ydkb/just60/config.h similarity index 100% rename from keyboards/just60/config.h rename to keyboards/ydkb/just60/config.h diff --git a/keyboards/just60/info.json b/keyboards/ydkb/just60/info.json similarity index 100% rename from keyboards/just60/info.json rename to keyboards/ydkb/just60/info.json diff --git a/keyboards/just60/just60.h b/keyboards/ydkb/just60/just60.h similarity index 100% rename from keyboards/just60/just60.h rename to keyboards/ydkb/just60/just60.h diff --git a/keyboards/just60/keymaps/default/keymap.c b/keyboards/ydkb/just60/keymaps/default/keymap.c similarity index 100% rename from keyboards/just60/keymaps/default/keymap.c rename to keyboards/ydkb/just60/keymaps/default/keymap.c diff --git a/keyboards/just60/keymaps/default/readme.md b/keyboards/ydkb/just60/keymaps/default/readme.md similarity index 100% rename from keyboards/just60/keymaps/default/readme.md rename to keyboards/ydkb/just60/keymaps/default/readme.md diff --git a/keyboards/just60/keymaps/thinxer/keymap.c b/keyboards/ydkb/just60/keymaps/thinxer/keymap.c similarity index 100% rename from keyboards/just60/keymaps/thinxer/keymap.c rename to keyboards/ydkb/just60/keymaps/thinxer/keymap.c diff --git a/keyboards/just60/keymaps/thinxer/readme.md b/keyboards/ydkb/just60/keymaps/thinxer/readme.md similarity index 100% rename from keyboards/just60/keymaps/thinxer/readme.md rename to keyboards/ydkb/just60/keymaps/thinxer/readme.md diff --git a/keyboards/just60/keymaps/thinxer/rules.mk b/keyboards/ydkb/just60/keymaps/thinxer/rules.mk similarity index 100% rename from keyboards/just60/keymaps/thinxer/rules.mk rename to keyboards/ydkb/just60/keymaps/thinxer/rules.mk diff --git a/keyboards/just60/readme.md b/keyboards/ydkb/just60/readme.md similarity index 97% rename from keyboards/just60/readme.md rename to keyboards/ydkb/just60/readme.md index f78adcd5294c..1fe05bd3eaac 100644 --- a/keyboards/just60/readme.md +++ b/keyboards/ydkb/just60/readme.md @@ -12,6 +12,6 @@ Backlight LEDs and Bluetooth are not working yet. Make example for this keyboard (after setting up your build environment): - make just60:default + make ydkb/just60:default 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/just60/rules.mk b/keyboards/ydkb/just60/rules.mk similarity index 100% rename from keyboards/just60/rules.mk rename to keyboards/ydkb/just60/rules.mk diff --git a/keyboards/yd68/config.h b/keyboards/ydkb/yd68/config.h similarity index 100% rename from keyboards/yd68/config.h rename to keyboards/ydkb/yd68/config.h diff --git a/keyboards/yd68/info.json b/keyboards/ydkb/yd68/info.json similarity index 100% rename from keyboards/yd68/info.json rename to keyboards/ydkb/yd68/info.json diff --git a/keyboards/yd68/keymaps/default/keymap.c b/keyboards/ydkb/yd68/keymaps/default/keymap.c similarity index 100% rename from keyboards/yd68/keymaps/default/keymap.c rename to keyboards/ydkb/yd68/keymaps/default/keymap.c diff --git a/keyboards/yd68/keymaps/default/readme.md b/keyboards/ydkb/yd68/keymaps/default/readme.md similarity index 100% rename from keyboards/yd68/keymaps/default/readme.md rename to keyboards/ydkb/yd68/keymaps/default/readme.md diff --git a/keyboards/yd68/readme.md b/keyboards/ydkb/yd68/readme.md similarity index 96% rename from keyboards/yd68/readme.md rename to keyboards/ydkb/yd68/readme.md index 7e5e83bcc9d8..2632e8e9f82b 100644 --- a/keyboards/yd68/readme.md +++ b/keyboards/ydkb/yd68/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [KBDFans](https://kbdfans.cn/collections/diy-kit/products Make example for this keyboard (after setting up your build environment): - make yd68:default + make ydkb/yd68:default 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/yd68/rules.mk b/keyboards/ydkb/yd68/rules.mk similarity index 100% rename from keyboards/yd68/rules.mk rename to keyboards/ydkb/yd68/rules.mk diff --git a/keyboards/yd68/yd68.c b/keyboards/ydkb/yd68/yd68.c similarity index 100% rename from keyboards/yd68/yd68.c rename to keyboards/ydkb/yd68/yd68.c diff --git a/keyboards/yd68/yd68.h b/keyboards/ydkb/yd68/yd68.h similarity index 100% rename from keyboards/yd68/yd68.h rename to keyboards/ydkb/yd68/yd68.h From c32a329583c9ed0a14cff1e6ae9ac7cdc1e9d202 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Sun, 2 Jan 2022 00:11:49 -0800 Subject: [PATCH 0056/1832] Format code according to conventions (#15705) --- drivers/sensors/pmw3360.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 9e3aeaa46818..ad0a724ee434 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -198,7 +198,7 @@ bool pmw3360_init(void) { void pmw3360_upload_firmware(void) { // Datasheet claims we need to disable REST mode first, but during startup // it's already disabled and we're not turning it on ... - //pmw3360_write(REG_Config2, 0x00); // disable REST mode + // pmw3360_write(REG_Config2, 0x00); // disable REST mode pmw3360_write(REG_SROM_Enable, 0x1d); wait_ms(10); From 5fb93934d0f3319547cc6313845fe5a96f8b7798 Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 6 Jan 2022 06:55:46 +1100 Subject: [PATCH 0057/1832] Fixes for bootloader refactor build failures (#15638) --- builddefs/mcu_selection.mk | 40 +++++++++++++++++++ docs/platformdev_chibios_earlyinit.md | 1 - .../DURGOD_STM32_F070/bootloader_defs.h | 7 ---- keyboards/durgod/dgk6x/rules.mk | 4 +- keyboards/ergodox_stm32/rules.mk | 4 -- .../matrix/abelx/boards/abelx_bd/board.c | 3 -- keyboards/matrix/abelx/bootloader_defs.h | 7 ---- keyboards/matrix/abelx/rules.mk | 8 ---- keyboards/matrix/m20add/bootloader_defs.h | 5 --- keyboards/matrix/noah/bootloader_defs.h | 5 --- keyboards/mechmini/v1/rules.mk | 2 +- keyboards/mode/m65s/rules.mk | 5 ++- lib/python/qmk/info.py | 7 +--- .../configs/bootloader_defs.h | 5 --- .../configs/bootloader_defs.h | 5 --- .../configs/bootloader_defs.h | 5 --- .../configs/bootloader_defs.h | 5 --- .../configs/bootloader_defs.h | 5 --- .../GENERIC_STM32_F405XG/configs/config.h | 2 +- .../GENERIC_STM32_F407XE/configs/config.h | 2 +- .../GENERIC_STM32_F446XE/configs/config.h | 2 +- .../GENERIC_STM32_G431XB/configs/config.h | 23 ----------- .../GENERIC_STM32_L412XB/configs/config.h | 1 - .../GENERIC_STM32_L433XC/configs/config.h | 1 - .../configs/bootloader_defs.h | 12 ------ .../QMK_PROTON_C/configs/bootloader_defs.h | 7 ---- platforms/chibios/bootloaders/gd32v_dfu.c | 1 + 27 files changed, 53 insertions(+), 121 deletions(-) delete mode 100644 keyboards/durgod/boards/DURGOD_STM32_F070/bootloader_defs.h delete mode 100644 keyboards/matrix/abelx/bootloader_defs.h delete mode 100644 keyboards/matrix/m20add/bootloader_defs.h delete mode 100644 keyboards/matrix/noah/bootloader_defs.h delete mode 100644 platforms/chibios/boards/BLACKPILL_STM32_F401/configs/bootloader_defs.h delete mode 100644 platforms/chibios/boards/BLACKPILL_STM32_F411/configs/bootloader_defs.h delete mode 100644 platforms/chibios/boards/GENERIC_STM32_F042X6/configs/bootloader_defs.h delete mode 100644 platforms/chibios/boards/GENERIC_STM32_F072XB/configs/bootloader_defs.h delete mode 100644 platforms/chibios/boards/GENERIC_STM32_F303XC/configs/bootloader_defs.h delete mode 100644 platforms/chibios/boards/GENERIC_STM32_G431XB/configs/config.h delete mode 100644 platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/bootloader_defs.h delete mode 100644 platforms/chibios/boards/QMK_PROTON_C/configs/bootloader_defs.h diff --git a/builddefs/mcu_selection.mk b/builddefs/mcu_selection.mk index 46d34aabe421..3a5768de7309 100644 --- a/builddefs/mcu_selection.mk +++ b/builddefs/mcu_selection.mk @@ -143,6 +143,9 @@ ifneq ($(findstring STM32F042, $(MCU)),) # This ensures that the EEPROM page buffer fits into RAM USE_PROCESS_STACKSIZE = 0x600 USE_EXCEPTIONS_STACKSIZE = 0x300 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFFC400 endif ifneq ($(findstring STM32F072, $(MCU)),) @@ -175,6 +178,9 @@ ifneq ($(findstring STM32F072, $(MCU)),) # UF2 settings UF2_FAMILY ?= STM32F0 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFFC800 endif ifneq ($(findstring STM32F103, $(MCU)),) @@ -239,6 +245,9 @@ ifneq ($(findstring STM32F303, $(MCU)),) # UF2 settings UF2_FAMILY ?= STM32F3 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFFD800 endif ifneq ($(findstring STM32F401, $(MCU)),) @@ -276,6 +285,9 @@ ifneq ($(findstring STM32F401, $(MCU)),) # UF2 settings UF2_FAMILY ?= STM32F4 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif ifneq ($(findstring STM32F405, $(MCU)),) @@ -308,6 +320,9 @@ ifneq ($(findstring STM32F405, $(MCU)),) # UF2 settings UF2_FAMILY ?= STM32F4 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif ifneq ($(findstring STM32F407, $(MCU)),) @@ -340,6 +355,9 @@ ifneq ($(findstring STM32F407, $(MCU)),) # UF2 settings UF2_FAMILY ?= STM32F4 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif ifneq ($(findstring STM32F411, $(MCU)),) @@ -377,6 +395,9 @@ ifneq ($(findstring STM32F411, $(MCU)),) # UF2 settings UF2_FAMILY ?= STM32F4 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif ifneq ($(findstring STM32F446, $(MCU)),) @@ -406,6 +427,9 @@ ifneq ($(findstring STM32F446, $(MCU)),) BOARD ?= GENERIC_STM32_F446XE USE_FPU ?= yes + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif ifneq ($(findstring STM32G431, $(MCU)),) @@ -438,6 +462,9 @@ ifneq ($(findstring STM32G431, $(MCU)),) # UF2 settings UF2_FAMILY ?= STM32G4 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif ifneq ($(findstring STM32G474, $(MCU)),) @@ -470,6 +497,9 @@ ifneq ($(findstring STM32G474, $(MCU)),) # UF2 settings UF2_FAMILY ?= STM32G4 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif ifneq (,$(filter $(MCU),STM32L433 STM32L443)) @@ -504,6 +534,9 @@ ifneq (,$(filter $(MCU),STM32L433 STM32L443)) # UF2 settings UF2_FAMILY ?= STM32L4 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif ifneq (,$(filter $(MCU),STM32L412 STM32L422)) @@ -538,6 +571,9 @@ ifneq (,$(filter $(MCU),STM32L412 STM32L422)) # UF2 settings UF2_FAMILY ?= STM32L4 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif ifneq ($(findstring WB32F3G71, $(MCU)),) @@ -567,6 +603,10 @@ ifneq ($(findstring WB32F3G71, $(MCU)),) BOARD ?= GENERIC_WB32_F3G71XX USE_FPU ?= no + + # Bootloader address for WB32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFFE000 + WB32_BOOTLOADER_ADDRESS ?= 0x1FFFE000 endif ifneq ($(findstring GD32VF103, $(MCU)),) diff --git a/docs/platformdev_chibios_earlyinit.md b/docs/platformdev_chibios_earlyinit.md index eb932bc77431..aaa91ba43837 100644 --- a/docs/platformdev_chibios_earlyinit.md +++ b/docs/platformdev_chibios_earlyinit.md @@ -17,7 +17,6 @@ As such, if you wish to override this API consider limiting use to writing to lo | `config.h` override | Description | Default | |-----------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------| | `#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP` | Whether or not bootloader is to be executed during the early initialisation code of QMK. | `FALSE` | -| `#define STM32_BOOTLOADER_ADDRESS` | Relevant for single-bank STM32 MCUs, signifies the memory address to jump to bootloader. Consult [AN2606](https://www.st.com/content/st_com/en/search.html#q=an2606-t=resources-page=1) for the _System Memory_ address for your MCU. This value should be of the format `0x11111111`. | `` | | `#define STM32_BOOTLOADER_DUAL_BANK` | Relevant for dual-bank STM32 MCUs, signifies that a GPIO is to be toggled in order to enter bootloader mode. | `FALSE` | | `#define STM32_BOOTLOADER_DUAL_BANK_GPIO` | Relevant for dual-bank STM32 MCUs, the pin to toggle when attempting to enter bootloader mode, e.g. `B8` | `` | | `#define STM32_BOOTLOADER_DUAL_BANK_POLARITY` | Relevant for dual-bank STM32 MCUs, the value to set the pin to in order to trigger charging of the RC circuit. e.g. `0` or `1`. | `0` | diff --git a/keyboards/durgod/boards/DURGOD_STM32_F070/bootloader_defs.h b/keyboards/durgod/boards/DURGOD_STM32_F070/bootloader_defs.h deleted file mode 100644 index 02c48c4e6dcb..000000000000 --- a/keyboards/durgod/boards/DURGOD_STM32_F070/bootloader_defs.h +++ /dev/null @@ -1,7 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here (page 175): - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - * This also requires a patch to chibios: - * /tmk_core/tool/chibios/ch-bootloader-jump.patch - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800 diff --git a/keyboards/durgod/dgk6x/rules.mk b/keyboards/durgod/dgk6x/rules.mk index 56c5b1ac2454..660719104da7 100644 --- a/keyboards/durgod/dgk6x/rules.mk +++ b/keyboards/durgod/dgk6x/rules.mk @@ -1,9 +1,11 @@ # MCU name # Actually F070, but close enough MCU = STM32F072 - BOARD = DURGOD_STM32_F070 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Do not put the microcontroller into power saving mode NO_SUSPEND_POWER_DOWN = yes diff --git a/keyboards/ergodox_stm32/rules.mk b/keyboards/ergodox_stm32/rules.mk index 3a035cee01b0..3f7197cbf671 100644 --- a/keyboards/ergodox_stm32/rules.mk +++ b/keyboards/ergodox_stm32/rules.mk @@ -1,12 +1,8 @@ # MCU name MCU = STM32F103 - MCU_LDSCRIPT = stm32f103_bootloader BOARD = ST_NUCLEO64_F103RB -CFLAGS += "-Wno-error=deprecated" -EXTRAFLAGS = -O0 -g - BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control diff --git a/keyboards/matrix/abelx/boards/abelx_bd/board.c b/keyboards/matrix/abelx/boards/abelx_bd/board.c index 68cf23cddc4a..db40a8e37bac 100644 --- a/keyboards/matrix/abelx/boards/abelx_bd/board.c +++ b/keyboards/matrix/abelx/boards/abelx_bd/board.c @@ -208,9 +208,6 @@ static void stm32_gpio_init(void) { * else. */ void __early_init(void) { - extern void enter_bootloader_mode_if_requested(void); - enter_bootloader_mode_if_requested(); - stm32_gpio_init(); stm32_clock_init(); } diff --git a/keyboards/matrix/abelx/bootloader_defs.h b/keyboards/matrix/abelx/bootloader_defs.h deleted file mode 100644 index 20b8f73e6f7d..000000000000 --- a/keyboards/matrix/abelx/bootloader_defs.h +++ /dev/null @@ -1,7 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - * This also requires a patch to chibios: - * /tmk_core/tool/chibios/ch-bootloader-jump.patch - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 diff --git a/keyboards/matrix/abelx/rules.mk b/keyboards/matrix/abelx/rules.mk index 98b6cfa65ed4..ac00984eae4e 100644 --- a/keyboards/matrix/abelx/rules.mk +++ b/keyboards/matrix/abelx/rules.mk @@ -25,14 +25,6 @@ ARMV = 7 USE_FPU = yes -# Vector table for application -# 0x00000000-0x00001000 area is occupied by bootlaoder.*/ -OPT_DEFS = - -# Options to pass to dfu-util when flashing -#DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave -#DFU_SUFFIX_ARGS = -p DF11 -v 0483 - # Build Options # change yes to no to disable # diff --git a/keyboards/matrix/m20add/bootloader_defs.h b/keyboards/matrix/m20add/bootloader_defs.h deleted file mode 100644 index 4da3d39a3268..000000000000 --- a/keyboards/matrix/m20add/bootloader_defs.h +++ /dev/null @@ -1,5 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 diff --git a/keyboards/matrix/noah/bootloader_defs.h b/keyboards/matrix/noah/bootloader_defs.h deleted file mode 100644 index 4da3d39a3268..000000000000 --- a/keyboards/matrix/noah/bootloader_defs.h +++ /dev/null @@ -1,5 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 diff --git a/keyboards/mechmini/v1/rules.mk b/keyboards/mechmini/v1/rules.mk index 6905e73c2771..a7d4a67a166c 100644 --- a/keyboards/mechmini/v1/rules.mk +++ b/keyboards/mechmini/v1/rules.mk @@ -2,7 +2,7 @@ MCU = atmega32a # Bootloader selection -BOOTLOADER = atmel-dfu +BOOTLOADER = bootloadhid # Build Options # change yes to no to disable diff --git a/keyboards/mode/m65s/rules.mk b/keyboards/mode/m65s/rules.mk index ed43a7bc7737..bb3ebaee28e6 100644 --- a/keyboards/mode/m65s/rules.mk +++ b/keyboards/mode/m65s/rules.mk @@ -1,6 +1,9 @@ # MCU name MCU = STM32F401 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # @@ -14,6 +17,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output EEPROM_DRIVER = i2c + # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE -STM32_BOOTLOADER_ADDRESS = 0x1FFF0000 diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 9a07fc842fb3..6bdf2cb16648 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -622,12 +622,7 @@ def arm_processor_rules(info_data, rules): info_data['protocol'] = 'ChibiOS' if 'bootloader' not in info_data: - if 'STM32' in info_data['processor']: - info_data['bootloader'] = 'stm32-dfu' - elif 'WB32' in info_data['processor']: - info_data['bootloader'] = 'wb32-dfu' - else: - info_data['bootloader'] = 'unknown' + info_data['bootloader'] = 'unknown' if 'STM32' in info_data['processor']: info_data['platform'] = 'STM32' diff --git a/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/bootloader_defs.h b/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/bootloader_defs.h deleted file mode 100644 index 4da3d39a3268..000000000000 --- a/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/bootloader_defs.h +++ /dev/null @@ -1,5 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 diff --git a/platforms/chibios/boards/BLACKPILL_STM32_F411/configs/bootloader_defs.h b/platforms/chibios/boards/BLACKPILL_STM32_F411/configs/bootloader_defs.h deleted file mode 100644 index 4da3d39a3268..000000000000 --- a/platforms/chibios/boards/BLACKPILL_STM32_F411/configs/bootloader_defs.h +++ /dev/null @@ -1,5 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 diff --git a/platforms/chibios/boards/GENERIC_STM32_F042X6/configs/bootloader_defs.h b/platforms/chibios/boards/GENERIC_STM32_F042X6/configs/bootloader_defs.h deleted file mode 100644 index 25113425a655..000000000000 --- a/platforms/chibios/boards/GENERIC_STM32_F042X6/configs/bootloader_defs.h +++ /dev/null @@ -1,5 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFC400 diff --git a/platforms/chibios/boards/GENERIC_STM32_F072XB/configs/bootloader_defs.h b/platforms/chibios/boards/GENERIC_STM32_F072XB/configs/bootloader_defs.h deleted file mode 100644 index dccd0fa5d11e..000000000000 --- a/platforms/chibios/boards/GENERIC_STM32_F072XB/configs/bootloader_defs.h +++ /dev/null @@ -1,5 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here (page 175): - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800 diff --git a/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/bootloader_defs.h b/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/bootloader_defs.h deleted file mode 100644 index 87ac7b10dce7..000000000000 --- a/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/bootloader_defs.h +++ /dev/null @@ -1,5 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 diff --git a/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/config.h index cc52a953ed4d..90a41326a16e 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/config.h @@ -17,7 +17,7 @@ /* Address for jumping to bootloader on STM32 chips. */ /* It is chip dependent, the correct number can be looked up by checking against ST's application note AN2606. */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 + #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #endif diff --git a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/config.h index cc52a953ed4d..90a41326a16e 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/config.h @@ -17,7 +17,7 @@ /* Address for jumping to bootloader on STM32 chips. */ /* It is chip dependent, the correct number can be looked up by checking against ST's application note AN2606. */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 + #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #endif diff --git a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h index cc52a953ed4d..90a41326a16e 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h @@ -17,7 +17,7 @@ /* Address for jumping to bootloader on STM32 chips. */ /* It is chip dependent, the correct number can be looked up by checking against ST's application note AN2606. */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 + #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #endif diff --git a/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/config.h deleted file mode 100644 index 39ce627e771d..000000000000 --- a/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2018-2020 Nick Brassel (@tzarc) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here (page 175): - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - * This also requires a patch to chibios: - * /tmk_core/tool/chibios/ch-bootloader-jump.patch - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 diff --git a/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/config.h index c27c61b19aa4..fc9055ccfb57 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/config.h @@ -17,7 +17,6 @@ /* Address for jumping to bootloader on STM32 chips. */ /* It is chip dependent, the correct number can be looked up by checking against ST's application note AN2606. */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 #define PAL_STM32_OSPEED_HIGHEST PAL_STM32_OSPEED_HIGH diff --git a/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/config.h index c27c61b19aa4..fc9055ccfb57 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/config.h @@ -17,7 +17,6 @@ /* Address for jumping to bootloader on STM32 chips. */ /* It is chip dependent, the correct number can be looked up by checking against ST's application note AN2606. */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFF0000 #define PAL_STM32_OSPEED_HIGHEST PAL_STM32_OSPEED_HIGH diff --git a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/bootloader_defs.h b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/bootloader_defs.h deleted file mode 100644 index c929d2ad035a..000000000000 --- a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/bootloader_defs.h +++ /dev/null @@ -1,12 +0,0 @@ -/* Address for jumping to bootloader on WB32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.westberrytech.com/down/mcu/data/WB32F3G71xx_rm.pdf - */ -#ifndef WB32_BOOTLOADER_ADDRESS -# undef STM32_BOOTLOADER_ADDRESS -# define WB32_BOOTLOADER_ADDRESS 0x1FFFE000 -# define STM32_BOOTLOADER_ADDRESS WB32_BOOTLOADER_ADDRESS -#else -# undef STM32_BOOTLOADER_ADDRESS -# define STM32_BOOTLOADER_ADDRESS WB32_BOOTLOADER_ADDRESS -#endif diff --git a/platforms/chibios/boards/QMK_PROTON_C/configs/bootloader_defs.h b/platforms/chibios/boards/QMK_PROTON_C/configs/bootloader_defs.h deleted file mode 100644 index 3b0e9d20a6ab..000000000000 --- a/platforms/chibios/boards/QMK_PROTON_C/configs/bootloader_defs.h +++ /dev/null @@ -1,7 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - * This also requires a patch to chibios: - * /tmk_core/tool/chibios/ch-bootloader-jump.patch - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 diff --git a/platforms/chibios/bootloaders/gd32v_dfu.c b/platforms/chibios/bootloaders/gd32v_dfu.c index 7a979638e322..baa7d1f8823f 100644 --- a/platforms/chibios/bootloaders/gd32v_dfu.c +++ b/platforms/chibios/bootloaders/gd32v_dfu.c @@ -17,6 +17,7 @@ #include "bootloader.h" #include +#include #define DBGMCU_KEY_UNLOCK 0x4B5A6978 #define DBGMCU_CMD_RESET 0x1 From 8dbc8a802cc07271ba90af05bf57daefe5729b5b Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 6 Jan 2022 07:52:32 +0000 Subject: [PATCH 0058/1832] Unify the key up/down behaviour of RGB keycodes (#15730) --- quantum/process_keycode/process_rgb.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/quantum/process_keycode/process_rgb.c b/quantum/process_keycode/process_rgb.c index 69853cd5c4d9..c805bd615de0 100644 --- a/quantum/process_keycode/process_rgb.c +++ b/quantum/process_keycode/process_rgb.c @@ -51,12 +51,8 @@ static void __attribute__((noinline, unused)) handleKeycodeRGBMode(const uint8_t * Handle keycodes for both rgblight and rgbmatrix */ bool process_rgb(const uint16_t keycode, const keyrecord_t *record) { -#ifndef SPLIT_KEYBOARD - if (record->event.pressed) { -#else - // Split keyboards need to trigger on key-up for edge-case issue + // need to trigger on key-up for edge-case issue if (!record->event.pressed) { -#endif #if (defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES)) || (defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES)) uint8_t shifted = get_mods() & MOD_MASK_SHIFT; #endif From 82d3bdb733194a21fddd5cfa2ebc8234a05bfc6f Mon Sep 17 00:00:00 2001 From: Leo Deng Date: Sun, 9 Jan 2022 11:37:03 +0800 Subject: [PATCH 0059/1832] IS31FL3733 driver for LED Matrix (#15088) --- drivers/led/issi/is31fl3733-simple.c | 248 +++++++++++++++++++++++++ drivers/led/issi/is31fl3733-simple.h | 260 +++++++++++++++++++++++++++ quantum/led_matrix/led_matrix.h | 4 + 3 files changed, 512 insertions(+) create mode 100644 drivers/led/issi/is31fl3733-simple.c create mode 100644 drivers/led/issi/is31fl3733-simple.h diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c new file mode 100644 index 000000000000..777895bf89bd --- /dev/null +++ b/drivers/led/issi/is31fl3733-simple.c @@ -0,0 +1,248 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2021 Doni Crosby + * Copyright 2021 Leo Deng + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "is31fl3733-simple.h" +#include "i2c_master.h" +#include "wait.h" + +// This is a 7-bit address, that gets left-shifted and bit 0 +// set to 0 for write, 1 for read (as per I2C protocol) +// The address will vary depending on your wiring: +// 00 <-> GND +// 01 <-> SCL +// 10 <-> SDA +// 11 <-> VCC +// ADDR1 represents A1:A0 of the 7-bit address. +// ADDR2 represents A3:A2 of the 7-bit address. +// The result is: 0b101(ADDR2)(ADDR1) +#define ISSI_ADDR_DEFAULT 0x50 + +#define ISSI_COMMANDREGISTER 0xFD +#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE +#define ISSI_INTERRUPTMASKREGISTER 0xF0 +#define ISSI_INTERRUPTSTATUSREGISTER 0xF1 + +#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 +#define ISSI_PAGE_PWM 0x01 // PG1 +#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 +#define ISSI_PAGE_FUNCTION 0x03 // PG3 + +#define ISSI_REG_CONFIGURATION 0x00 // PG3 +#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 +#define ISSI_REG_RESET 0x11 // PG3 +#define ISSI_REG_SWPULLUP 0x0F // PG3 +#define ISSI_REG_CSPULLUP 0x10 // PG3 + +#ifndef ISSI_TIMEOUT +# define ISSI_TIMEOUT 100 +#endif + +#ifndef ISSI_PERSISTENCE +# define ISSI_PERSISTENCE 0 +#endif + +#ifndef ISSI_PWM_FREQUENCY +# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3733B only +#endif + +#ifndef ISSI_SWPULLUP +# define ISSI_SWPULLUP PUR_0R +#endif + +#ifndef ISSI_CSPULLUP +# define ISSI_CSPULLUP PUR_0R +#endif + +// Transfer buffer for TWITransmitData() +uint8_t g_twi_transfer_buffer[20]; + +// These buffers match the IS31FL3733 PWM registers. +// The control buffers match the PG0 LED On/Off registers. +// Storing them like this is optimal for I2C transfers to the registers. +// We could optimize this and take out the unused registers from these +// buffers and the transfers in IS31FL3733_write_pwm_buffer() but it's +// probably not worth the extra complexity. +uint8_t g_pwm_buffer[LED_DRIVER_COUNT][192]; +bool g_pwm_buffer_update_required[LED_DRIVER_COUNT] = {false}; + +/* There's probably a better way to init this... */ +#if LED_DRIVER_COUNT == 1 +uint8_t g_led_control_registers[LED_DRIVER_COUNT][24] = {{0}}; +#elif LED_DRIVER_COUNT == 2 +uint8_t g_led_control_registers[LED_DRIVER_COUNT][24] = {{0}, {0}}; +#elif LED_DRIVER_COUNT == 3 +uint8_t g_led_control_registers[LED_DRIVER_COUNT][24] = {{0}, {0}, {0}}; +#elif LED_DRIVER_COUNT == 4 +uint8_t g_led_control_registers[LED_DRIVER_COUNT][24] = {{0}, {0}, {0}, {0}}; +#endif +bool g_led_control_registers_update_required[LED_DRIVER_COUNT] = {false}; + +bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { + // If the transaction fails function returns false. + g_twi_transfer_buffer[0] = reg; + g_twi_transfer_buffer[1] = data; + +#if ISSI_PERSISTENCE > 0 + for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) != 0) { + return false; + } + } +#else + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) != 0) { + return false; + } +#endif + return true; +} + +bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { + // Assumes PG1 is already selected. + // If any of the transactions fails function returns false. + // Transmit PWM registers in 12 transfers of 16 bytes. + // g_twi_transfer_buffer[] is 20 bytes + + // Iterate over the pwm_buffer contents at 16 byte intervals. + for (int i = 0; i < 192; i += 16) { + g_twi_transfer_buffer[0] = i; + // Copy the data from i to i+15. + // Device will auto-increment register for data after the first byte + // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. + for (int j = 0; j < 16; j++) { + g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j]; + } + +#if ISSI_PERSISTENCE > 0 + for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) != 0) { + return false; + } + } +#else + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) != 0) { + return false; + } +#endif + } + return true; +} + +void IS31FL3733_init(uint8_t addr, uint8_t sync) { + // In order to avoid the LEDs being driven with garbage data + // in the LED driver's PWM registers, shutdown is enabled last. + // Set up the mode and other settings, clear the PWM registers, + // then disable software shutdown. + // Sync is passed so set it according to the datasheet. + + // Unlock the command register. + IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + + // Select PG0 + IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + // Turn off all LEDs. + for (int i = 0x00; i <= 0x17; i++) { + IS31FL3733_write_register(addr, i, 0x00); + } + + // Unlock the command register. + IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + + // Select PG1 + IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + // Set PWM on all LEDs to 0 + // No need to setup Breath registers to PWM as that is the default. + for (int i = 0x00; i <= 0xBF; i++) { + IS31FL3733_write_register(addr, i, 0x00); + } + + // Unlock the command register. + IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + + // Select PG3 + IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + // Set de-ghost pull-up resistors (SWx) + IS31FL3733_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); + // Set de-ghost pull-down resistors (CSx) + IS31FL3733_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); + // Set global current to maximum. + IS31FL3733_write_register(addr, ISSI_REG_GLOBALCURRENT, 0xFF); + // Disable software shutdown. + IS31FL3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); + + // Wait 10ms to ensure the device has woken up. + wait_ms(10); +} + +void IS31FL3733_set_value(int index, uint8_t value) { + if (index >= 0 && index < DRIVER_LED_TOTAL) { + is31_led led = g_is31_leds[index]; + + g_pwm_buffer[led.driver][led.v] = value; + g_pwm_buffer_update_required[led.driver] = true; + } +} + +void IS31FL3733_set_value_all(uint8_t value) { + for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + IS31FL3733_set_value(i, value); + } +} + +void IS31FL3733_set_led_control_register(uint8_t index, bool value) { + is31_led led = g_is31_leds[index]; + + uint8_t control_register = led.v / 8; + uint8_t bit_value = led.v % 8; + + if (value) { + g_led_control_registers[led.driver][control_register] |= (1 << bit_value); + } else { + g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value); + } + + g_led_control_registers_update_required[led.driver] = true; +} + +void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) { + if (g_pwm_buffer_update_required[index]) { + // Firstly we need to unlock the command register and select PG1. + IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + + // If any of the transactions fail we risk writing dirty PG0, + // refresh page 0 just in case. + if (!IS31FL3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { + g_led_control_registers_update_required[index] = true; + } + g_pwm_buffer_update_required[index] = false; + } +} + +void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index) { + if (g_led_control_registers_update_required[index]) { + // Firstly we need to unlock the command register and select PG0 + IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + for (int i = 0; i < 24; i++) { + IS31FL3733_write_register(addr, i, g_led_control_registers[index][i]); + } + g_led_control_registers_update_required[index] = false; + } +} diff --git a/drivers/led/issi/is31fl3733-simple.h b/drivers/led/issi/is31fl3733-simple.h new file mode 100644 index 000000000000..f071db5e4004 --- /dev/null +++ b/drivers/led/issi/is31fl3733-simple.h @@ -0,0 +1,260 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2021 Doni Crosby + * Copyright 2021 Leo Deng + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include +#include "progmem.h" + +typedef struct is31_led { + uint8_t driver : 2; + uint8_t v; +} __attribute__((packed)) is31_led; + +extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; + +void IS31FL3733_init(uint8_t addr, uint8_t sync); +bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); + +void IS31FL3733_set_value(int index, uint8_t value); +void IS31FL3733_set_value_all(uint8_t value); + +void IS31FL3733_set_led_control_register(uint8_t index, bool value); + +// This should not be called from an interrupt +// (eg. from a timer interrupt). +// Call this while idle (in between matrix scans). +// If the buffer is dirty, it will update the driver with the buffer. +void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index); +void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index); + +#define PUR_0R 0x00 // No PUR resistor +#define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL +#define PUR_3KR 0x03 // 3.0k Ohm resistor on all the time +#define PUR_4KR 0x04 // 4.0k Ohm resistor on all the time +#define PUR_8KR 0x05 // 8.0k Ohm resistor on all the time +#define PUR_16KR 0x06 // 16k Ohm resistor on all the time +#define PUR_32KR 0x07 // 32k Ohm resistor in t_NOL + +#define A_1 0x00 +#define A_2 0x01 +#define A_3 0x02 +#define A_4 0x03 +#define A_5 0x04 +#define A_6 0x05 +#define A_7 0x06 +#define A_8 0x07 +#define A_9 0x08 +#define A_10 0x09 +#define A_11 0x0A +#define A_12 0x0B +#define A_13 0x0C +#define A_14 0x0D +#define A_15 0x0E +#define A_16 0x0F + +#define B_1 0x10 +#define B_2 0x11 +#define B_3 0x12 +#define B_4 0x13 +#define B_5 0x14 +#define B_6 0x15 +#define B_7 0x16 +#define B_8 0x17 +#define B_9 0x18 +#define B_10 0x19 +#define B_11 0x1A +#define B_12 0x1B +#define B_13 0x1C +#define B_14 0x1D +#define B_15 0x1E +#define B_16 0x1F + +#define C_1 0x20 +#define C_2 0x21 +#define C_3 0x22 +#define C_4 0x23 +#define C_5 0x24 +#define C_6 0x25 +#define C_7 0x26 +#define C_8 0x27 +#define C_9 0x28 +#define C_10 0x29 +#define C_11 0x2A +#define C_12 0x2B +#define C_13 0x2C +#define C_14 0x2D +#define C_15 0x2E +#define C_16 0x2F + +#define D_1 0x30 +#define D_2 0x31 +#define D_3 0x32 +#define D_4 0x33 +#define D_5 0x34 +#define D_6 0x35 +#define D_7 0x36 +#define D_8 0x37 +#define D_9 0x38 +#define D_10 0x39 +#define D_11 0x3A +#define D_12 0x3B +#define D_13 0x3C +#define D_14 0x3D +#define D_15 0x3E +#define D_16 0x3F + +#define E_1 0x40 +#define E_2 0x41 +#define E_3 0x42 +#define E_4 0x43 +#define E_5 0x44 +#define E_6 0x45 +#define E_7 0x46 +#define E_8 0x47 +#define E_9 0x48 +#define E_10 0x49 +#define E_11 0x4A +#define E_12 0x4B +#define E_13 0x4C +#define E_14 0x4D +#define E_15 0x4E +#define E_16 0x4F + +#define F_1 0x50 +#define F_2 0x51 +#define F_3 0x52 +#define F_4 0x53 +#define F_5 0x54 +#define F_6 0x55 +#define F_7 0x56 +#define F_8 0x57 +#define F_9 0x58 +#define F_10 0x59 +#define F_11 0x5A +#define F_12 0x5B +#define F_13 0x5C +#define F_14 0x5D +#define F_15 0x5E +#define F_16 0x5F + +#define G_1 0x60 +#define G_2 0x61 +#define G_3 0x62 +#define G_4 0x63 +#define G_5 0x64 +#define G_6 0x65 +#define G_7 0x66 +#define G_8 0x67 +#define G_9 0x68 +#define G_10 0x69 +#define G_11 0x6A +#define G_12 0x6B +#define G_13 0x6C +#define G_14 0x6D +#define G_15 0x6E +#define G_16 0x6F + +#define H_1 0x70 +#define H_2 0x71 +#define H_3 0x72 +#define H_4 0x73 +#define H_5 0x74 +#define H_6 0x75 +#define H_7 0x76 +#define H_8 0x77 +#define H_9 0x78 +#define H_10 0x79 +#define H_11 0x7A +#define H_12 0x7B +#define H_13 0x7C +#define H_14 0x7D +#define H_15 0x7E +#define H_16 0x7F + +#define I_1 0x80 +#define I_2 0x81 +#define I_3 0x82 +#define I_4 0x83 +#define I_5 0x84 +#define I_6 0x85 +#define I_7 0x86 +#define I_8 0x87 +#define I_9 0x88 +#define I_10 0x89 +#define I_11 0x8A +#define I_12 0x8B +#define I_13 0x8C +#define I_14 0x8D +#define I_15 0x8E +#define I_16 0x8F + +#define J_1 0x90 +#define J_2 0x91 +#define J_3 0x92 +#define J_4 0x93 +#define J_5 0x94 +#define J_6 0x95 +#define J_7 0x96 +#define J_8 0x97 +#define J_9 0x98 +#define J_10 0x99 +#define J_11 0x9A +#define J_12 0x9B +#define J_13 0x9C +#define J_14 0x9D +#define J_15 0x9E +#define J_16 0x9F + +#define K_1 0xA0 +#define K_2 0xA1 +#define K_3 0xA2 +#define K_4 0xA3 +#define K_5 0xA4 +#define K_6 0xA5 +#define K_7 0xA6 +#define K_8 0xA7 +#define K_9 0xA8 +#define K_10 0xA9 +#define K_11 0xAA +#define K_12 0xAB +#define K_13 0xAC +#define K_14 0xAD +#define K_15 0xAE +#define K_16 0xAF + +#define L_1 0xB0 +#define L_2 0xB1 +#define L_3 0xB2 +#define L_4 0xB3 +#define L_5 0xB4 +#define L_6 0xB5 +#define L_7 0xB6 +#define L_8 0xB7 +#define L_9 0xB8 +#define L_10 0xB9 +#define L_11 0xBA +#define L_12 0xBB +#define L_13 0xBC +#define L_14 0xBD +#define L_15 0xBE +#define L_16 0xBF diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index e42be6466187..cb7526d6e037 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -2,6 +2,7 @@ * Copyright 2017 Jack Humbert * Copyright 2018 Yiancar * Copyright 2019 Clueboard + * Copyright 2021 Leo Deng * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,6 +28,9 @@ #ifdef IS31FL3731 # include "is31fl3731-simple.h" #endif +#ifdef IS31FL3733 +# include "is31fl3733-simple.h" +#endif #ifndef LED_MATRIX_LED_FLUSH_LIMIT # define LED_MATRIX_LED_FLUSH_LIMIT 16 From 7562f6644f654d0d870d19b5c51d3dd51f9ffb09 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 9 Jan 2022 03:50:44 +0000 Subject: [PATCH 0060/1832] Slight tidy up of keyboard task loop (#15725) --- quantum/keyboard.c | 83 +++++++++++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 35 deletions(-) diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 3bca05aab7cf..67f7381f74db 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -349,6 +349,32 @@ void keyboard_init(void) { keyboard_post_init_kb(); /* Always keep this last */ } +/** \brief keyboard set leds + * + * FIXME: needs doc + */ +void keyboard_set_leds(uint8_t leds) { + if (debug_keyboard) { + debug("keyboard_set_led: "); + debug_hex8(leds); + debug("\n"); + } + led_set(leds); +} + +/** \brief set host led state + * + * Only sets state if change detected + */ +void led_task(void) { + static uint8_t led_status = 0; + // update LED + if (led_status != host_keyboard_leds()) { + led_status = host_keyboard_leds(); + keyboard_set_leds(led_status); + } +} + /** \brief key_event_task * * This function is responsible for calling into other systems when they need to respond to electrical switch press events. @@ -363,28 +389,17 @@ void switch_events(uint8_t row, uint8_t col, bool pressed) { #endif } -/** \brief Keyboard task: Do keyboard routine jobs - * - * Do routine keyboard jobs: +/** \brief Perform scan of keyboard matrix * - * * scan matrix - * * handle mouse movements - * * handle midi commands - * * light LEDs - * - * This is repeatedly called as fast as possible. + * Any detected changes in state are sent out as part of the processing */ -void keyboard_task(void) { +bool matrix_scan_task(void) { static matrix_row_t matrix_prev[MATRIX_ROWS]; - static uint8_t led_status = 0; matrix_row_t matrix_row = 0; matrix_row_t matrix_change = 0; #ifdef QMK_KEYS_PER_SCAN uint8_t keys_processed = 0; #endif -#ifdef ENCODER_ENABLE - bool encoders_changed = false; -#endif uint8_t matrix_changed = matrix_scan(); if (matrix_changed) last_matrix_activity_trigger(); @@ -431,9 +446,24 @@ void keyboard_task(void) { MATRIX_LOOP_END: -#ifdef DEBUG_MATRIX_SCAN_RATE matrix_scan_perf_task(); -#endif + return matrix_changed; +} + +/** \brief Keyboard task: Do keyboard routine jobs + * + * Do routine keyboard jobs: + * + * * scan matrix + * * handle mouse movements + * * handle midi commands + * * light LEDs + * + * This is repeatedly called as fast as possible. + */ +void keyboard_task(void) { + bool matrix_changed = matrix_scan_task(); + (void)matrix_changed; #if defined(RGBLIGHT_ENABLE) rgblight_task(); @@ -453,7 +483,7 @@ void keyboard_task(void) { #endif #ifdef ENCODER_ENABLE - encoders_changed = encoder_read(); + bool encoders_changed = encoder_read(); if (encoders_changed) last_encoder_activity_trigger(); #endif @@ -516,22 +546,5 @@ void keyboard_task(void) { programmable_button_send(); #endif - // update LED - if (led_status != host_keyboard_leds()) { - led_status = host_keyboard_leds(); - keyboard_set_leds(led_status); - } -} - -/** \brief keyboard set leds - * - * FIXME: needs doc - */ -void keyboard_set_leds(uint8_t leds) { - if (debug_keyboard) { - debug("keyboard_set_led: "); - debug_hex8(leds); - debug("\n"); - } - led_set(leds); + led_task(); } From 21958a93434e40db904eb731bc75b65661bcb9ae Mon Sep 17 00:00:00 2001 From: Pete Sevander Date: Sun, 9 Jan 2022 22:02:25 +0200 Subject: [PATCH 0061/1832] New combo configuration options (#15083) Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> --- docs/feature_combo.md | 42 +++++++++++++++++++++++-- quantum/process_keycode/process_combo.c | 39 ++++++++++++++++++++++- 2 files changed, 77 insertions(+), 4 deletions(-) diff --git a/docs/feature_combo.md b/docs/feature_combo.md index 47128c431bfb..c0e10f09d5ae 100644 --- a/docs/feature_combo.md +++ b/docs/feature_combo.md @@ -141,10 +141,13 @@ Processing combos has two buffers, one for the key presses, another for the comb ## Modifier Combos If a combo resolves to a Modifier, the window for processing the combo can be extended independently from normal combos. By default, this is disabled but can be enabled with `#define COMBO_MUST_HOLD_MODS`, and the time window can be configured with `#define COMBO_HOLD_TERM 150` (default: `TAPPING_TERM`). With `COMBO_MUST_HOLD_MODS`, you cannot tap the combo any more which makes the combo less prone to misfires. -## Per Combo Timing, Holding and Tapping -For each combo, it is possible to configure the time window it has to pressed in, if it needs to be held down, or if it needs to be tapped. +## Strict key press order +By defining `COMBO_MUST_PRESS_IN_ORDER` combos only activate when the keys are pressed in the same order as they are defined in the key array. -For example, tap-only combos are useful if any (or all) of the underlying keys is a Mod-Tap or a Layer-Tap key. When you tap the combo, you get the combo result. When you press the combo and hold it down, the combo doesn't actually activate. Instead the keys are processed separately as if the combo wasn't even there. +## Per Combo Timing, Holding, Tapping and Key Press Order +For each combo, it is possible to configure the time window it has to pressed in, if it needs to be held down, if it needs to be tapped, or if its keys need to be pressed in order. + +For example, tap-only combos are useful if any (or all) of the underlying keys are mod-tap or layer-tap keys. When you tap the combo, you get the combo result. When you press the combo and hold it down, the combo doesn't activate. Instead the keys are processed separately as if the combo wasn't even there. In order to use these features, the following configuration options and functions need to be defined. Coming up with useful timings and configuration is left as an exercise for the reader. @@ -153,6 +156,7 @@ In order to use these features, the following configuration options and function | `COMBO_TERM_PER_COMBO` | uint16_t get_combo_term(uint16_t index, combo_t \*combo) | Optional per-combo timeout window. (default: `COMBO_TERM`) | | `COMBO_MUST_HOLD_PER_COMBO` | bool get_combo_must_hold(uint16_t index, combo_t \*combo) | Controls if a given combo should fire immediately on tap or if it needs to be held. (default: `false`) | | `COMBO_MUST_TAP_PER_COMBO` | bool get_combo_must_tap(uint16_t index, combo_t \*combo) | Controls if a given combo should fire only if tapped within `COMBO_HOLD_TERM`. (default: `false`) | +| `COMBO_MUST_PRESS_IN_ORDER_PER_COMBO` | bool get_combo_must_press_in_order(uint16_t index, combo_t \*combo) | Controls if a given combo should fire only if its keys are pressed in order. (default: `true`) | Examples: ```c @@ -216,6 +220,38 @@ bool get_combo_must_tap(uint16_t index, combo_t *combo) { return false; } + +bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo) { + switch (combo_index) { + /* List combos here that you want to only activate if their keys + * are pressed in the same order as they are defined in the combo's key + * array. */ + case COMBO_NAME_HERE: + return true; + default: + return false; + } +} +``` + +## Generic hook to (dis)allow a combo activation + +By defining `COMBO_SHOULD_TRIGGER` and its companying function `bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record)` you can block or allow combos to activate on the conditions of your choice. +For example, you could disallow some combos on the base layer and allow them on another. Or disable combos on the home row when a timer is running. + +Examples: +```c +bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) { + /* Disable combo `SOME_COMBO` on layer `_LAYER_A` */ + switch (combo_index) { + case SOME_COMBO: + if (layer_state_is(_LAYER_A)) { + return false; + } + } + + return true; +} ``` ## Variable Length Combos diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index a050161edf89..8040ede5289a 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c @@ -40,10 +40,18 @@ __attribute__((weak)) bool get_combo_must_tap(uint16_t index, combo_t *combo) { __attribute__((weak)) uint16_t get_combo_term(uint16_t index, combo_t *combo) { return COMBO_TERM; } #endif +#ifdef COMBO_MUST_PRESS_IN_ORDER_PER_COMBO +__attribute__((weak)) bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo) { return true; } +#endif + #ifdef COMBO_PROCESS_KEY_RELEASE __attribute__((weak)) bool process_combo_key_release(uint16_t combo_index, combo_t *combo, uint8_t key_index, uint16_t keycode) { return false; } #endif +#ifdef COMBO_SHOULD_TRIGGER +__attribute__((weak)) bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) { return true; } +#endif + #ifndef COMBO_NO_TIMER static uint16_t timer = 0; #endif @@ -350,6 +358,28 @@ combo_t *overlaps(combo_t *combo1, combo_t *combo2) { return combo1; } +#if defined(COMBO_MUST_PRESS_IN_ORDER) || defined(COMBO_MUST_PRESS_IN_ORDER_PER_COMBO) +static bool keys_pressed_in_order(uint16_t combo_index, combo_t *combo, uint16_t key_index, uint16_t keycode, keyrecord_t *record) { +# ifdef COMBO_MUST_PRESS_IN_ORDER_PER_COMBO + if (!get_combo_must_press_in_order(combo_index, combo)) { + return true; + } +# endif + if ( + // The `state` bit for the key being pressed. + (1 << key_index) == + // The *next* combo key's bit. + (COMBO_STATE(combo) + 1) + // E.g. two keys already pressed: `state == 11`. + // Next possible `state` is `111`. + // So the needed bit is `100` which we get with `11 + 1`. + ) { + return true; + } + return false; +} +#endif + static bool process_single_combo(combo_t *combo, uint16_t keycode, keyrecord_t *record, uint16_t combo_index) { uint8_t key_count = 0; uint16_t key_index = -1; @@ -360,7 +390,14 @@ static bool process_single_combo(combo_t *combo, uint16_t keycode, keyrecord_t * return false; } - bool key_is_part_of_combo = !COMBO_DISABLED(combo) && is_combo_enabled(); + bool key_is_part_of_combo = (!COMBO_DISABLED(combo) && is_combo_enabled() +#if defined(COMBO_MUST_PRESS_IN_ORDER) || defined(COMBO_MUST_PRESS_IN_ORDER_PER_COMBO) + && keys_pressed_in_order(combo_index, combo, key_index, keycode, record) +#endif +#ifdef COMBO_SHOULD_TRIGGER + && combo_should_trigger(combo_index, combo, keycode, record) +#endif + ); if (record->event.pressed && key_is_part_of_combo) { uint16_t time = _get_combo_term(combo_index, combo); From 0c402157fc8f586e443468e61ca94ce01a9a0ea4 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 11 Jan 2022 05:26:46 +1100 Subject: [PATCH 0062/1832] Advanced deferred_exec for core-side code. (#15579) --- quantum/deferred_exec.c | 85 +++++++++++++++------------- quantum/deferred_exec.h | 119 ++++++++++++++++++++++++++++++++++------ 2 files changed, 149 insertions(+), 55 deletions(-) diff --git a/quantum/deferred_exec.c b/quantum/deferred_exec.c index 5b0a5b14258b..a64b451df2d2 100644 --- a/quantum/deferred_exec.c +++ b/quantum/deferred_exec.c @@ -9,32 +9,27 @@ # define MAX_DEFERRED_EXECUTORS 8 #endif -typedef struct deferred_executor_t { - deferred_token token; - uint32_t trigger_time; - deferred_exec_callback callback; - void * cb_arg; -} deferred_executor_t; - -static deferred_token current_token = 0; -static uint32_t last_deferred_exec_check = 0; -static deferred_executor_t executors[MAX_DEFERRED_EXECUTORS] = {0}; - -static inline bool token_can_be_used(deferred_token token) { +//------------------------------------ +// Helpers +// + +static deferred_token current_token = 0; + +static inline bool token_can_be_used(deferred_executor_t *table, size_t table_count, deferred_token token) { if (token == INVALID_DEFERRED_TOKEN) { return false; } - for (int i = 0; i < MAX_DEFERRED_EXECUTORS; ++i) { - if (executors[i].token == token) { + for (int i = 0; i < table_count; ++i) { + if (table[i].token == token) { return false; } } return true; } -static inline deferred_token allocate_token(void) { +static inline deferred_token allocate_token(deferred_executor_t *table, size_t table_count) { deferred_token first = ++current_token; - while (!token_can_be_used(current_token)) { + while (!token_can_be_used(table, table_count, current_token)) { ++current_token; if (current_token == first) { // If we've looped back around to the first, everything is already allocated (yikes!). Need to exit with a failure. @@ -44,18 +39,22 @@ static inline deferred_token allocate_token(void) { return current_token; } -deferred_token defer_exec(uint32_t delay_ms, deferred_exec_callback callback, void *cb_arg) { - // Ignore queueing if it's a zero-time delay, or invalid callback - if (delay_ms == 0 || !callback) { +//------------------------------------ +// Advanced API: used when a custom-allocated table is used, primarily for core code. +// + +deferred_token defer_exec_advanced(deferred_executor_t *table, size_t table_count, uint32_t delay_ms, deferred_exec_callback callback, void *cb_arg) { + // Ignore queueing if the table isn't valid, it's a zero-time delay, or the token is not valid + if (!table || table_count == 0 || delay_ms == 0 || !callback) { return INVALID_DEFERRED_TOKEN; } // Find an unused slot and claim it - for (int i = 0; i < MAX_DEFERRED_EXECUTORS; ++i) { - deferred_executor_t *entry = &executors[i]; + for (int i = 0; i < table_count; ++i) { + deferred_executor_t *entry = &table[i]; if (entry->token == INVALID_DEFERRED_TOKEN) { // Work out the new token value, dropping out if none were available - deferred_token token = allocate_token(); + deferred_token token = allocate_token(table, table_count); if (token == INVALID_DEFERRED_TOKEN) { return false; } @@ -73,15 +72,15 @@ deferred_token defer_exec(uint32_t delay_ms, deferred_exec_callback callback, vo return INVALID_DEFERRED_TOKEN; } -bool extend_deferred_exec(deferred_token token, uint32_t delay_ms) { - // Ignore queueing if it's a zero-time delay, or the token is not valid - if (delay_ms == 0 || token == INVALID_DEFERRED_TOKEN) { +bool extend_deferred_exec_advanced(deferred_executor_t *table, size_t table_count, deferred_token token, uint32_t delay_ms) { + // Ignore queueing if the table isn't valid, it's a zero-time delay, or the token is not valid + if (!table || table_count == 0 || delay_ms == 0 || token == INVALID_DEFERRED_TOKEN) { return false; } // Find the entry corresponding to the token - for (int i = 0; i < MAX_DEFERRED_EXECUTORS; ++i) { - deferred_executor_t *entry = &executors[i]; + for (int i = 0; i < table_count; ++i) { + deferred_executor_t *entry = &table[i]; if (entry->token == token) { // Found it, extend the delay entry->trigger_time = timer_read32() + delay_ms; @@ -93,15 +92,15 @@ bool extend_deferred_exec(deferred_token token, uint32_t delay_ms) { return false; } -bool cancel_deferred_exec(deferred_token token) { - // Ignore request if the token is not valid - if (token == INVALID_DEFERRED_TOKEN) { +bool cancel_deferred_exec_advanced(deferred_executor_t *table, size_t table_count, deferred_token token) { + // Ignore request if the table/token are not valid + if (!table || table_count == 0 || token == INVALID_DEFERRED_TOKEN) { return false; } // Find the entry corresponding to the token - for (int i = 0; i < MAX_DEFERRED_EXECUTORS; ++i) { - deferred_executor_t *entry = &executors[i]; + for (int i = 0; i < table_count; ++i) { + deferred_executor_t *entry = &table[i]; if (entry->token == token) { // Found it, cancel and clear the table entry entry->token = INVALID_DEFERRED_TOKEN; @@ -116,16 +115,16 @@ bool cancel_deferred_exec(deferred_token token) { return false; } -void deferred_exec_task(void) { +void deferred_exec_advanced_task(deferred_executor_t *table, size_t table_count, uint32_t *last_execution_time) { uint32_t now = timer_read32(); // Throttle only once per millisecond - if (((int32_t)TIMER_DIFF_32(now, last_deferred_exec_check)) > 0) { - last_deferred_exec_check = now; + if (((int32_t)TIMER_DIFF_32(now, (*last_execution_time))) > 0) { + *last_execution_time = now; // Run through each of the executors - for (int i = 0; i < MAX_DEFERRED_EXECUTORS; ++i) { - deferred_executor_t *entry = &executors[i]; + for (int i = 0; i < table_count; ++i) { + deferred_executor_t *entry = &table[i]; // Check if we're supposed to execute this entry if (entry->token != INVALID_DEFERRED_TOKEN && ((int32_t)TIMER_DIFF_32(entry->trigger_time, now)) <= 0) { @@ -150,3 +149,15 @@ void deferred_exec_task(void) { } } } + +//------------------------------------ +// Basic API: used by user-mode code, guaranteed to not collide with core deferred execution +// + +static uint32_t last_deferred_exec_check = 0; +static deferred_executor_t basic_executors[MAX_DEFERRED_EXECUTORS] = {0}; + +deferred_token defer_exec(uint32_t delay_ms, deferred_exec_callback callback, void *cb_arg) { return defer_exec_advanced(basic_executors, MAX_DEFERRED_EXECUTORS, delay_ms, callback, cb_arg); } +bool extend_deferred_exec(deferred_token token, uint32_t delay_ms) { return extend_deferred_exec_advanced(basic_executors, MAX_DEFERRED_EXECUTORS, token, delay_ms); } +bool cancel_deferred_exec(deferred_token token) { return cancel_deferred_exec_advanced(basic_executors, MAX_DEFERRED_EXECUTORS, token); } +void deferred_exec_task(void) { deferred_exec_advanced_task(basic_executors, MAX_DEFERRED_EXECUTORS, &last_deferred_exec_check); } diff --git a/quantum/deferred_exec.h b/quantum/deferred_exec.h index f80d353169bf..97ef0f6c0e2b 100644 --- a/quantum/deferred_exec.h +++ b/quantum/deferred_exec.h @@ -5,34 +5,117 @@ #include #include +#include -// A token that can be used to cancel an existing deferred execution. +//------------------------------------ +// Common +//------------------------------------ + +/** + * @typedef A token that can be used to cancel or extend an existing deferred execution. + */ typedef uint8_t deferred_token; + +/** + * @def The constant used to denote an invalid deferred execution token. + */ #define INVALID_DEFERRED_TOKEN 0 -// Callback to execute. -// -- Parameter trigger_time: the intended trigger time to execute the callback -- equivalent time-space as timer_read32() -// cb_arg: the callback argument specified when enqueueing the deferred executor -// -- Return value: Non-zero re-queues the callback to execute after the returned number of milliseconds. Zero cancels repeated execution. +/** + * @typedef Callback to execute. + * @param trigger_time[in] the intended trigger time to execute the callback -- equivalent time-space as timer_read32() + * @param cb_arg[in] the callback argument specified when enqueueing the deferred executor + * @return non-zero re-queues the callback to execute after the returned number of milliseconds. Zero cancels repeated execution. + */ typedef uint32_t (*deferred_exec_callback)(uint32_t trigger_time, void *cb_arg); -// Configures the supplied deferred executor to be executed after the required number of milliseconds. -// -- Parameter delay_ms: the number of milliseconds before executing the callback -// -- callback: the executor to invoke -// -- cb_arg: the argument to pass to the executor, may be NULL if unused by the executor -// -- Return value: a token usable for cancellation, or INVALID_DEFERRED_TOKEN if an error occurred +//------------------------------------ +// Basic API: used by user-mode code, guaranteed to not collide with core deferred execution +//------------------------------------ + +/** + * Configures the supplied deferred executor to be executed after the required number of milliseconds. + * + * @param delay_ms[in] the number of milliseconds before executing the callback + * @param callback[in] the executor to invoke + * @param cb_arg[in] the argument to pass to the executor, may be NULL if unused by the executor + * @return a token usable for extension/cancellation, or INVALID_DEFERRED_TOKEN if an error occurred + */ deferred_token defer_exec(uint32_t delay_ms, deferred_exec_callback callback, void *cb_arg); -// Allows for extending the timeframe before an existing deferred execution is invoked. -// -- Parameter token: the returned value from defer_exec for the deferred execution you wish to extend. -// -- delay_ms: the new delay (with respect to the current time) -// -- Return value: if the token was found, and the delay was extended +/** + * Allows for extending the timeframe before an existing deferred execution is invoked. + * + * @param token[in] the returned value from defer_exec for the deferred execution you wish to extend + * @param delay_ms[in] the number of milliseconds before executing the callback + * @return true if the token was extended successfully, otherwise false + */ bool extend_deferred_exec(deferred_token token, uint32_t delay_ms); -// Allows for cancellation of an existing deferred execution. -// -- Parameter token: the returned value from defer_exec for the deferred execution you wish to cancel. -// -- Return value: if the token was found, and the executor was cancelled +/** + * Allows for cancellation of an existing deferred execution. + * + * @param token[in] the returned value from defer_exec for the deferred execution you wish to cancel + * @return true if the token was cancelled successfully, otherwise false + */ bool cancel_deferred_exec(deferred_token token); -// Forward declaration for the main loop in order to execute any deferred executors. Should not be invoked by keyboard/user code. +/** + * Forward declaration for the main loop in order to execute any deferred executors. Should not be invoked by keyboard/user code. + */ void deferred_exec_task(void); + +//------------------------------------ +// Advanced API: used when a custom-allocated table is used, primarily for core code. +//------------------------------------ + +/** + * @struct Structure for containing self-hosted deferred executor tables. + * @brief Core-side code can use this to create their own tables without impacting on the use of users' ability to add deferred execution. + * Code outside deferred_exec.c should not worry about internals of this struct, and should just allocate the required number in an array. + */ +typedef struct deferred_executor_t { + deferred_token token; + uint32_t trigger_time; + deferred_exec_callback callback; + void * cb_arg; +} deferred_executor_t; + +/** + * Configures the supplied deferred executor to be executed after the required number of milliseconds. + * + * @param table[in] the custom table used for storage + * @param table_count[in] the number of available items in the table + * @param delay_ms[in] the number of milliseconds before executing the callback + * @param callback[in] the executor to invoke + * @param cb_arg[in] the argument to pass to the executor, may be NULL if unused by the executor + * @return a token usable for extension/cancellation, or INVALID_DEFERRED_TOKEN if an error occurred + */ +deferred_token defer_exec_advanced(deferred_executor_t *table, size_t table_count, uint32_t delay_ms, deferred_exec_callback callback, void *cb_arg); + +/** + * Allows for extending the timeframe before an existing deferred execution is invoked. + * + * @param token[in] the returned value from defer_exec for the deferred execution you wish to extend + * @param delay_ms[in] the number of milliseconds before executing the callback + * @return true if the token was extended successfully, otherwise false + */ +bool extend_deferred_exec_advanced(deferred_executor_t *table, size_t table_count, deferred_token token, uint32_t delay_ms); + +/** + * Allows for cancellation of an existing deferred execution. + * + * @param token[in] the returned value from defer_exec for the deferred execution you wish to cancel + * @return true if the token was cancelled successfully, otherwise false + */ +bool cancel_deferred_exec_advanced(deferred_executor_t *table, size_t table_count, deferred_token token); + +/** + * Forward declaration for the main loop in order to execute any custom table deferred executors. Should not be invoked by keyboard/user code. + * Needed for any custom-allocated deferred execution tables. Any core tasks should add appropriate invocation to quantum/main.c. + * + * @param table[in] the custom table used for storage + * @param table_count[in] the number of available items in the table + * @param last_execution_time[in,out] the last execution time -- this will be checked first to determine if execution is needed, and updated if execution occurred + */ +void deferred_exec_advanced_task(deferred_executor_t *table, size_t table_count, uint32_t *last_execution_time); From ec7c3ac12dbc355218bae9c392e96b8d513fb95d Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 10 Jan 2022 14:57:36 -0800 Subject: [PATCH 0063/1832] Optimize initialization of PMW3360 Sensor (#15821) --- docs/feature_pointing_device.md | 15 ++++++++------- drivers/sensors/pmw3360.c | 4 ++++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index b1015f3cd392..ecf6d5c6d420 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -144,13 +144,14 @@ The PMW 3360 is an SPI driven optical sensor, that uses a built in IR LED for su | Setting | Description | Default | |-----------------------------|--------------------------------------------------------------------------------------------|---------------| -|`PMW3360_CS_PIN` | (Required) Sets the Cable Select pin connected to the sensor. | _not defined_ | -|`PMW3360_CLOCK_SPEED` | (Optional) Sets the clock speed that the sensor runs at. | `2000000` | -|`PMW3360_SPI_LSBFIRST` | (Optional) Sets the Least/Most Significant Byte First setting for SPI. | `false` | -|`PMW3360_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `3` | -|`PMW3360_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ | -|`PMW3360_LIFTOFF_DISTANCE` | (Optional) Sets the lift off distance at run time | `0x02` | -|`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 30 degrees directly in the sensor. | `0` | +|`PMW3360_CS_PIN` | (Required) Sets the Cable Select pin connected to the sensor. | _not defined_ | +|`PMW3360_CLOCK_SPEED` | (Optional) Sets the clock speed that the sensor runs at. | `2000000` | +|`PMW3360_SPI_LSBFIRST` | (Optional) Sets the Least/Most Significant Byte First setting for SPI. | `false` | +|`PMW3360_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `3` | +|`PMW3360_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ | +|`PMW3360_LIFTOFF_DISTANCE` | (Optional) Sets the lift off distance at run time | `0x02` | +|`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 127 degrees directly in the sensor. | `0` | +|`PMW3360_LEGACY_FIRMWARE_UPLOAD` | (Optional) Switches to older, manual upload of firmware, for compatibility. | _not defined_ | The CPI range is 100-12000, in increments of 100. Defaults to 1600 CPI. diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index ad0a724ee434..4712f6015c18 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -209,12 +209,16 @@ void pmw3360_upload_firmware(void) { spi_write(REG_SROM_Load_Burst | 0x80); wait_us(15); +#ifdef PMW3360_LEGACY_FIRMWARE_UPLOAD unsigned char c; for (int i = 0; i < FIRMWARE_LENGTH; i++) { c = (unsigned char)pgm_read_byte(firmware_data + i); spi_write(c); wait_us(15); } +#else + spi_transmit(firmware_data, sizeof(firmware_data)); +#endif wait_us(200); pmw3360_read(REG_SROM_ID); From 5470e4a8add89a2e413a3c3994e856fff1c99ab9 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Tue, 11 Jan 2022 00:01:20 +0100 Subject: [PATCH 0064/1832] [Core] ChibiOS: shorten USB disconnect state on boot to 50ms (#15805) --- tmk_core/protocol/chibios/usb_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index ac46a9312b49..541c44b574e2 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -734,7 +734,7 @@ void init_usb_driver(USBDriver *usbp) { * after a reset. */ usbDisconnectBus(usbp); - wait_ms(1500); + wait_ms(50); usbStart(usbp, &usbcfg); usbConnectBus(usbp); From e6e6529b4a85e9bdcb2708216b5434c52d5be15e Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 07:03:15 +0800 Subject: [PATCH 0065/1832] [Keyboard] move Salicylic-acid3's keyboards to salicylic-acid3/ (#15791) --- keyboards/{ => salicylic_acid3}/7skb/.noci | 0 keyboards/{ => salicylic_acid3}/7skb/7skb.c | 0 keyboards/{ => salicylic_acid3}/7skb/7skb.h | 2 +- keyboards/{ => salicylic_acid3}/7skb/config.h | 0 keyboards/{ => salicylic_acid3}/7skb/info.json | 0 keyboards/{ => salicylic_acid3}/7skb/keymaps/default/config.h | 0 keyboards/{ => salicylic_acid3}/7skb/keymaps/default/keymap.c | 0 keyboards/{ => salicylic_acid3}/7skb/keymaps/salicylic/config.h | 0 keyboards/{ => salicylic_acid3}/7skb/keymaps/salicylic/keymap.c | 0 keyboards/{ => salicylic_acid3}/7skb/keymaps/salicylic/rules.mk | 0 keyboards/{ => salicylic_acid3}/7skb/keymaps/via/keymap.c | 0 keyboards/{ => salicylic_acid3}/7skb/keymaps/via/readme.md | 0 keyboards/{ => salicylic_acid3}/7skb/keymaps/via/rules.mk | 0 keyboards/{ => salicylic_acid3}/7skb/readme.md | 2 +- keyboards/{ => salicylic_acid3}/7skb/rev1/config.h | 0 keyboards/{ => salicylic_acid3}/7skb/rev1/rev1.c | 0 keyboards/{ => salicylic_acid3}/7skb/rev1/rev1.h | 0 keyboards/{ => salicylic_acid3}/7skb/rev1/rules.mk | 0 keyboards/{ => salicylic_acid3}/7skb/rules.mk | 0 keyboards/{ => salicylic_acid3}/7splus/7splus.c | 0 keyboards/{ => salicylic_acid3}/7splus/7splus.h | 0 keyboards/{ => salicylic_acid3}/7splus/config.h | 0 keyboards/{ => salicylic_acid3}/7splus/info.json | 0 keyboards/{ => salicylic_acid3}/7splus/keymaps/default/keymap.c | 0 .../{ => salicylic_acid3}/7splus/keymaps/salicylic/config.h | 0 .../{ => salicylic_acid3}/7splus/keymaps/salicylic/keymap.c | 0 .../{ => salicylic_acid3}/7splus/keymaps/salicylic/rules.mk | 0 keyboards/{ => salicylic_acid3}/7splus/keymaps/via/config.h | 0 keyboards/{ => salicylic_acid3}/7splus/keymaps/via/keymap.c | 0 keyboards/{ => salicylic_acid3}/7splus/keymaps/via/rules.mk | 0 keyboards/{ => salicylic_acid3}/7splus/readme.md | 2 +- keyboards/{ => salicylic_acid3}/7splus/rules.mk | 0 keyboards/{ => salicylic_acid3}/ajisai74/ajisai74.c | 0 keyboards/{ => salicylic_acid3}/ajisai74/ajisai74.h | 0 keyboards/{ => salicylic_acid3}/ajisai74/config.h | 0 keyboards/{ => salicylic_acid3}/ajisai74/info.json | 0 .../{ => salicylic_acid3}/ajisai74/keymaps/default/config.h | 0 .../{ => salicylic_acid3}/ajisai74/keymaps/default/keymap.c | 0 keyboards/{ => salicylic_acid3}/ajisai74/keymaps/jis/config.h | 0 keyboards/{ => salicylic_acid3}/ajisai74/keymaps/jis/keymap.c | 0 keyboards/{ => salicylic_acid3}/ajisai74/keymaps/jis/rules.mk | 0 .../{ => salicylic_acid3}/ajisai74/keymaps/salicylic/config.h | 0 .../{ => salicylic_acid3}/ajisai74/keymaps/salicylic/keymap.c | 0 .../{ => salicylic_acid3}/ajisai74/keymaps/salicylic/rules.mk | 0 keyboards/{ => salicylic_acid3}/ajisai74/keymaps/via/config.h | 0 keyboards/{ => salicylic_acid3}/ajisai74/keymaps/via/keymap.c | 0 keyboards/{ => salicylic_acid3}/ajisai74/keymaps/via/rules.mk | 0 keyboards/{ => salicylic_acid3}/ajisai74/readme.md | 2 +- keyboards/{ => salicylic_acid3}/ajisai74/rules.mk | 0 keyboards/{ => salicylic_acid3}/ergoarrows/config.h | 0 keyboards/{ => salicylic_acid3}/ergoarrows/ergoarrows.c | 0 keyboards/{ => salicylic_acid3}/ergoarrows/ergoarrows.h | 0 keyboards/{ => salicylic_acid3}/ergoarrows/info.json | 0 .../{ => salicylic_acid3}/ergoarrows/keymaps/default/config.h | 0 .../{ => salicylic_acid3}/ergoarrows/keymaps/default/keymap.c | 0 .../{ => salicylic_acid3}/ergoarrows/keymaps/salicylic/config.h | 0 .../{ => salicylic_acid3}/ergoarrows/keymaps/salicylic/keymap.c | 0 keyboards/{ => salicylic_acid3}/ergoarrows/keymaps/via/config.h | 0 keyboards/{ => salicylic_acid3}/ergoarrows/keymaps/via/keymap.c | 0 keyboards/{ => salicylic_acid3}/ergoarrows/keymaps/via/rules.mk | 0 keyboards/{ => salicylic_acid3}/ergoarrows/readme.md | 2 +- keyboards/{ => salicylic_acid3}/ergoarrows/rules.mk | 0 keyboards/{ => salicylic_acid3}/getta25/.noci | 0 keyboards/{ => salicylic_acid3}/getta25/config.h | 0 keyboards/{ => salicylic_acid3}/getta25/getta25.c | 0 keyboards/{ => salicylic_acid3}/getta25/getta25.h | 2 +- keyboards/{ => salicylic_acid3}/getta25/info.json | 0 .../{ => salicylic_acid3}/getta25/keymaps/default/config.h | 0 .../{ => salicylic_acid3}/getta25/keymaps/default/keymap.c | 0 keyboards/{ => salicylic_acid3}/getta25/keymaps/oled/config.h | 0 keyboards/{ => salicylic_acid3}/getta25/keymaps/oled/glcdfont.c | 0 keyboards/{ => salicylic_acid3}/getta25/keymaps/oled/keymap.c | 0 keyboards/{ => salicylic_acid3}/getta25/keymaps/oled/rules.mk | 0 keyboards/{ => salicylic_acid3}/getta25/readme.md | 2 +- keyboards/{ => salicylic_acid3}/getta25/rev1/config.h | 0 keyboards/{ => salicylic_acid3}/getta25/rev1/rev1.c | 0 keyboards/{ => salicylic_acid3}/getta25/rev1/rev1.h | 0 keyboards/{ => salicylic_acid3}/getta25/rev1/rules.mk | 0 keyboards/{ => salicylic_acid3}/getta25/rules.mk | 0 keyboards/{ => salicylic_acid3}/jisplit89/.noci | 0 keyboards/{ => salicylic_acid3}/jisplit89/config.h | 0 keyboards/{ => salicylic_acid3}/jisplit89/info.json | 0 keyboards/{ => salicylic_acid3}/jisplit89/jisplit89.c | 0 keyboards/{ => salicylic_acid3}/jisplit89/jisplit89.h | 2 +- .../{ => salicylic_acid3}/jisplit89/keymaps/default/keymap.c | 0 .../{ => salicylic_acid3}/jisplit89/keymaps/salicylic/config.h | 0 .../{ => salicylic_acid3}/jisplit89/keymaps/salicylic/keymap.c | 0 .../{ => salicylic_acid3}/jisplit89/keymaps/salicylic/rules.mk | 0 keyboards/{ => salicylic_acid3}/jisplit89/keymaps/via/config.h | 0 keyboards/{ => salicylic_acid3}/jisplit89/keymaps/via/keymap.c | 0 keyboards/{ => salicylic_acid3}/jisplit89/keymaps/via/rules.mk | 0 keyboards/{ => salicylic_acid3}/jisplit89/readme.md | 2 +- keyboards/{ => salicylic_acid3}/jisplit89/rev1/config.h | 0 keyboards/{ => salicylic_acid3}/jisplit89/rev1/rev1.c | 0 keyboards/{ => salicylic_acid3}/jisplit89/rev1/rev1.h | 0 keyboards/{ => salicylic_acid3}/jisplit89/rev1/rules.mk | 0 keyboards/{ => salicylic_acid3}/jisplit89/rules.mk | 0 keyboards/{ => salicylic_acid3}/nafuda/config.h | 0 keyboards/{ => salicylic_acid3}/nafuda/info.json | 0 keyboards/{ => salicylic_acid3}/nafuda/keymaps/default/config.h | 0 keyboards/{ => salicylic_acid3}/nafuda/keymaps/default/keymap.c | 0 .../{ => salicylic_acid3}/nafuda/keymaps/default/readme.md | 0 keyboards/{ => salicylic_acid3}/nafuda/nafuda.c | 0 keyboards/{ => salicylic_acid3}/nafuda/nafuda.h | 0 keyboards/{ => salicylic_acid3}/nafuda/readme.md | 2 +- keyboards/{ => salicylic_acid3}/nafuda/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked48/.noci | 0 keyboards/{ => salicylic_acid3}/naked48/config.h | 0 keyboards/{ => salicylic_acid3}/naked48/info.json | 0 .../{ => salicylic_acid3}/naked48/keymaps/default/config.h | 0 .../{ => salicylic_acid3}/naked48/keymaps/default/keymap.c | 0 .../{ => salicylic_acid3}/naked48/keymaps/default/readme.md | 0 .../{ => salicylic_acid3}/naked48/keymaps/default/rules.mk | 0 .../naked48/keymaps/default_with_nafuda/config.h | 0 .../naked48/keymaps/default_with_nafuda/keymap.c | 0 .../naked48/keymaps/default_with_nafuda/readme.md | 0 .../naked48/keymaps/default_with_nafuda/rules.mk | 0 .../naked48/keymaps/default_with_setta21/config.h | 0 .../naked48/keymaps/default_with_setta21/keymap.c | 0 .../naked48/keymaps/default_with_setta21/readme.md | 0 .../{ => salicylic_acid3}/naked48/keymaps/salicylic/config.h | 0 .../{ => salicylic_acid3}/naked48/keymaps/salicylic/keymap.c | 0 .../{ => salicylic_acid3}/naked48/keymaps/salicylic/readme.md | 0 .../{ => salicylic_acid3}/naked48/keymaps/salicylic/rules.mk | 0 .../naked48/keymaps/salicylic_with_nafuda/config.h | 0 .../naked48/keymaps/salicylic_with_nafuda/keymap.c | 0 .../naked48/keymaps/salicylic_with_nafuda/readme.md | 0 .../naked48/keymaps/salicylic_with_nafuda/rules.mk | 0 .../naked48/keymaps/salicylic_with_setta21/config.h | 0 .../naked48/keymaps/salicylic_with_setta21/keymap.c | 0 .../naked48/keymaps/salicylic_with_setta21/readme.md | 0 .../naked48/keymaps/salicylic_with_setta21/rules.mk | 0 .../{ => salicylic_acid3}/naked48/keymaps/scheiklp/config.h | 0 .../{ => salicylic_acid3}/naked48/keymaps/scheiklp/keymap.c | 0 .../{ => salicylic_acid3}/naked48/keymaps/scheiklp/readme.md | 0 .../{ => salicylic_acid3}/naked48/keymaps/scheiklp/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked48/keymaps/via/config.h | 0 keyboards/{ => salicylic_acid3}/naked48/keymaps/via/keymap.c | 0 keyboards/{ => salicylic_acid3}/naked48/keymaps/via/rules.mk | 0 .../naked48/keymaps/via_rgb_matrix/config.h | 0 .../naked48/keymaps/via_rgb_matrix/keymap.c | 0 .../naked48/keymaps/via_rgb_matrix/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked48/naked48.c | 0 keyboards/{ => salicylic_acid3}/naked48/naked48.h | 2 +- keyboards/{ => salicylic_acid3}/naked48/readme.md | 2 +- keyboards/{ => salicylic_acid3}/naked48/rev1/config.h | 0 keyboards/{ => salicylic_acid3}/naked48/rev1/rev1.c | 0 keyboards/{ => salicylic_acid3}/naked48/rev1/rev1.h | 0 keyboards/{ => salicylic_acid3}/naked48/rev1/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked48/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked60/config.h | 0 keyboards/{ => salicylic_acid3}/naked60/info.json | 0 .../{ => salicylic_acid3}/naked60/keymaps/333fred/config.h | 0 .../{ => salicylic_acid3}/naked60/keymaps/333fred/keymap.c | 0 .../{ => salicylic_acid3}/naked60/keymaps/default/config.h | 0 .../{ => salicylic_acid3}/naked60/keymaps/default/keymap.c | 0 .../{ => salicylic_acid3}/naked60/keymaps/default/readme.md | 0 .../naked60/keymaps/default_with_nafuda/config.h | 0 .../naked60/keymaps/default_with_nafuda/keymap.c | 0 .../naked60/keymaps/default_with_nafuda/readme.md | 0 .../naked60/keymaps/default_with_setta21/config.h | 0 .../naked60/keymaps/default_with_setta21/keymap.c | 0 .../naked60/keymaps/default_with_setta21/readme.md | 0 .../{ => salicylic_acid3}/naked60/keymaps/salicylic/config.h | 0 .../{ => salicylic_acid3}/naked60/keymaps/salicylic/keymap.c | 0 .../{ => salicylic_acid3}/naked60/keymaps/salicylic/readme.md | 0 .../{ => salicylic_acid3}/naked60/keymaps/salicylic/rules.mk | 0 .../naked60/keymaps/salicylic_with_nafuda/config.h | 0 .../naked60/keymaps/salicylic_with_nafuda/keymap.c | 0 .../naked60/keymaps/salicylic_with_nafuda/readme.md | 0 .../naked60/keymaps/salicylic_with_nafuda/rules.mk | 0 .../naked60/keymaps/salicylic_with_setta21/config.h | 0 .../naked60/keymaps/salicylic_with_setta21/keymap.c | 0 .../naked60/keymaps/salicylic_with_setta21/readme.md | 0 .../naked60/keymaps/salicylic_with_setta21/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked60/keymaps/via/config.h | 0 keyboards/{ => salicylic_acid3}/naked60/keymaps/via/keymap.c | 0 keyboards/{ => salicylic_acid3}/naked60/keymaps/via/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked60/naked60.c | 0 keyboards/{ => salicylic_acid3}/naked60/naked60.h | 2 +- keyboards/{ => salicylic_acid3}/naked60/readme.md | 2 +- keyboards/{ => salicylic_acid3}/naked60/rev1/config.h | 0 keyboards/{ => salicylic_acid3}/naked60/rev1/rev1.c | 0 keyboards/{ => salicylic_acid3}/naked60/rev1/rev1.h | 0 keyboards/{ => salicylic_acid3}/naked60/rev1/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked60/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked64/.noci | 0 keyboards/{ => salicylic_acid3}/naked64/config.h | 0 keyboards/{ => salicylic_acid3}/naked64/info.json | 0 .../{ => salicylic_acid3}/naked64/keymaps/default/config.h | 0 .../{ => salicylic_acid3}/naked64/keymaps/default/keymap.c | 0 .../{ => salicylic_acid3}/naked64/keymaps/default/readme.md | 0 .../{ => salicylic_acid3}/naked64/keymaps/default/rules.mk | 0 .../naked64/keymaps/default_with_setta21/config.h | 0 .../naked64/keymaps/default_with_setta21/keymap.c | 0 .../naked64/keymaps/default_with_setta21/readme.md | 0 .../naked64/keymaps/default_with_setta21/rules.mk | 0 .../{ => salicylic_acid3}/naked64/keymaps/salicylic/config.h | 0 .../{ => salicylic_acid3}/naked64/keymaps/salicylic/keymap.c | 0 .../{ => salicylic_acid3}/naked64/keymaps/salicylic/readme.md | 0 .../{ => salicylic_acid3}/naked64/keymaps/salicylic/rules.mk | 0 .../naked64/keymaps/salicylic_with_setta21/config.h | 0 .../naked64/keymaps/salicylic_with_setta21/keymap.c | 0 .../naked64/keymaps/salicylic_with_setta21/readme.md | 0 .../naked64/keymaps/salicylic_with_setta21/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked64/naked64.c | 0 keyboards/{ => salicylic_acid3}/naked64/naked64.h | 2 +- keyboards/{ => salicylic_acid3}/naked64/readme.md | 2 +- keyboards/{ => salicylic_acid3}/naked64/rev1/config.h | 0 keyboards/{ => salicylic_acid3}/naked64/rev1/rev1.c | 0 keyboards/{ => salicylic_acid3}/naked64/rev1/rev1.h | 0 keyboards/{ => salicylic_acid3}/naked64/rev1/rules.mk | 0 keyboards/{ => salicylic_acid3}/naked64/rules.mk | 0 keyboards/{ => salicylic_acid3}/nknl7en/config.h | 0 keyboards/{ => salicylic_acid3}/nknl7en/info.json | 0 .../{ => salicylic_acid3}/nknl7en/keymaps/default/config.h | 0 .../{ => salicylic_acid3}/nknl7en/keymaps/default/keymap.c | 0 .../{ => salicylic_acid3}/nknl7en/keymaps/salicylic/config.h | 0 .../{ => salicylic_acid3}/nknl7en/keymaps/salicylic/keymap.c | 0 keyboards/{ => salicylic_acid3}/nknl7en/keymaps/via/config.h | 0 keyboards/{ => salicylic_acid3}/nknl7en/keymaps/via/keymap.c | 0 keyboards/{ => salicylic_acid3}/nknl7en/keymaps/via/rules.mk | 0 keyboards/{ => salicylic_acid3}/nknl7en/nknl7en.c | 0 keyboards/{ => salicylic_acid3}/nknl7en/nknl7en.h | 0 keyboards/{ => salicylic_acid3}/nknl7en/readme.md | 2 +- keyboards/{ => salicylic_acid3}/nknl7en/rules.mk | 0 keyboards/{ => salicylic_acid3}/nknl7jp/config.h | 0 keyboards/{ => salicylic_acid3}/nknl7jp/info.json | 0 .../{ => salicylic_acid3}/nknl7jp/keymaps/default/config.h | 0 .../{ => salicylic_acid3}/nknl7jp/keymaps/default/keymap.c | 0 .../{ => salicylic_acid3}/nknl7jp/keymaps/salicylic/config.h | 0 .../{ => salicylic_acid3}/nknl7jp/keymaps/salicylic/keymap.c | 0 keyboards/{ => salicylic_acid3}/nknl7jp/keymaps/via/config.h | 0 keyboards/{ => salicylic_acid3}/nknl7jp/keymaps/via/keymap.c | 0 keyboards/{ => salicylic_acid3}/nknl7jp/keymaps/via/rules.mk | 0 keyboards/{ => salicylic_acid3}/nknl7jp/nknl7jp.c | 0 keyboards/{ => salicylic_acid3}/nknl7jp/nknl7jp.h | 0 keyboards/{ => salicylic_acid3}/nknl7jp/readme.md | 2 +- keyboards/{ => salicylic_acid3}/nknl7jp/rules.mk | 0 keyboards/{ => salicylic_acid3}/setta21/config.h | 0 keyboards/{ => salicylic_acid3}/setta21/info.json | 0 .../{ => salicylic_acid3}/setta21/keymaps/default/config.h | 0 .../{ => salicylic_acid3}/setta21/keymaps/default/keymap.c | 0 .../{ => salicylic_acid3}/setta21/keymaps/default/readme.md | 0 .../{ => salicylic_acid3}/setta21/keymaps/salicylic/config.h | 0 .../{ => salicylic_acid3}/setta21/keymaps/salicylic/keymap.c | 0 .../{ => salicylic_acid3}/setta21/keymaps/salicylic/readme.md | 0 .../{ => salicylic_acid3}/setta21/keymaps/salicylic/rules.mk | 0 keyboards/{ => salicylic_acid3}/setta21/readme.md | 2 +- keyboards/{ => salicylic_acid3}/setta21/rev1/.noci | 0 keyboards/{ => salicylic_acid3}/setta21/rev1/config.h | 0 keyboards/{ => salicylic_acid3}/setta21/rev1/rev1.c | 0 keyboards/{ => salicylic_acid3}/setta21/rev1/rev1.h | 0 keyboards/{ => salicylic_acid3}/setta21/rev1/rules.mk | 0 keyboards/{ => salicylic_acid3}/setta21/rules.mk | 0 keyboards/{ => salicylic_acid3}/setta21/setta21.c | 0 keyboards/{ => salicylic_acid3}/setta21/setta21.h | 2 +- 257 files changed, 20 insertions(+), 20 deletions(-) rename keyboards/{ => salicylic_acid3}/7skb/.noci (100%) rename keyboards/{ => salicylic_acid3}/7skb/7skb.c (100%) rename keyboards/{ => salicylic_acid3}/7skb/7skb.h (60%) rename keyboards/{ => salicylic_acid3}/7skb/config.h (100%) rename keyboards/{ => salicylic_acid3}/7skb/info.json (100%) rename keyboards/{ => salicylic_acid3}/7skb/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/7skb/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/7skb/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/7skb/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/7skb/keymaps/salicylic/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/7skb/keymaps/via/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/7skb/keymaps/via/readme.md (100%) rename keyboards/{ => salicylic_acid3}/7skb/keymaps/via/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/7skb/readme.md (95%) rename keyboards/{ => salicylic_acid3}/7skb/rev1/config.h (100%) rename keyboards/{ => salicylic_acid3}/7skb/rev1/rev1.c (100%) rename keyboards/{ => salicylic_acid3}/7skb/rev1/rev1.h (100%) rename keyboards/{ => salicylic_acid3}/7skb/rev1/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/7skb/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/7splus/7splus.c (100%) rename keyboards/{ => salicylic_acid3}/7splus/7splus.h (100%) rename keyboards/{ => salicylic_acid3}/7splus/config.h (100%) rename keyboards/{ => salicylic_acid3}/7splus/info.json (100%) rename keyboards/{ => salicylic_acid3}/7splus/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/7splus/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/7splus/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/7splus/keymaps/salicylic/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/7splus/keymaps/via/config.h (100%) rename keyboards/{ => salicylic_acid3}/7splus/keymaps/via/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/7splus/keymaps/via/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/7splus/readme.md (95%) rename keyboards/{ => salicylic_acid3}/7splus/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/ajisai74.c (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/ajisai74.h (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/config.h (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/info.json (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/jis/config.h (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/jis/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/jis/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/salicylic/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/via/config.h (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/via/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/keymaps/via/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/ajisai74/readme.md (95%) rename keyboards/{ => salicylic_acid3}/ajisai74/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/config.h (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/ergoarrows.c (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/ergoarrows.h (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/info.json (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/keymaps/via/config.h (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/keymaps/via/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/keymaps/via/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/ergoarrows/readme.md (95%) rename keyboards/{ => salicylic_acid3}/ergoarrows/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/getta25/.noci (100%) rename keyboards/{ => salicylic_acid3}/getta25/config.h (100%) rename keyboards/{ => salicylic_acid3}/getta25/getta25.c (100%) rename keyboards/{ => salicylic_acid3}/getta25/getta25.h (58%) rename keyboards/{ => salicylic_acid3}/getta25/info.json (100%) rename keyboards/{ => salicylic_acid3}/getta25/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/getta25/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/getta25/keymaps/oled/config.h (100%) rename keyboards/{ => salicylic_acid3}/getta25/keymaps/oled/glcdfont.c (100%) rename keyboards/{ => salicylic_acid3}/getta25/keymaps/oled/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/getta25/keymaps/oled/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/getta25/readme.md (94%) rename keyboards/{ => salicylic_acid3}/getta25/rev1/config.h (100%) rename keyboards/{ => salicylic_acid3}/getta25/rev1/rev1.c (100%) rename keyboards/{ => salicylic_acid3}/getta25/rev1/rev1.h (100%) rename keyboards/{ => salicylic_acid3}/getta25/rev1/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/getta25/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/.noci (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/config.h (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/info.json (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/jisplit89.c (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/jisplit89.h (93%) rename keyboards/{ => salicylic_acid3}/jisplit89/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/keymaps/salicylic/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/keymaps/via/config.h (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/keymaps/via/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/keymaps/via/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/readme.md (94%) rename keyboards/{ => salicylic_acid3}/jisplit89/rev1/config.h (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/rev1/rev1.c (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/rev1/rev1.h (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/rev1/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/jisplit89/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/nafuda/config.h (100%) rename keyboards/{ => salicylic_acid3}/nafuda/info.json (100%) rename keyboards/{ => salicylic_acid3}/nafuda/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/nafuda/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/nafuda/keymaps/default/readme.md (100%) rename keyboards/{ => salicylic_acid3}/nafuda/nafuda.c (100%) rename keyboards/{ => salicylic_acid3}/nafuda/nafuda.h (100%) rename keyboards/{ => salicylic_acid3}/nafuda/readme.md (95%) rename keyboards/{ => salicylic_acid3}/nafuda/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked48/.noci (100%) rename keyboards/{ => salicylic_acid3}/naked48/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/info.json (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default_with_nafuda/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default_with_nafuda/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default_with_nafuda/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default_with_nafuda/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default_with_setta21/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default_with_setta21/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/default_with_setta21/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic_with_nafuda/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic_with_nafuda/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic_with_nafuda/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic_with_nafuda/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic_with_setta21/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic_with_setta21/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic_with_setta21/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/salicylic_with_setta21/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/scheiklp/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/scheiklp/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/scheiklp/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/scheiklp/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/via/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/via/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/via/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/via_rgb_matrix/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/via_rgb_matrix/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/keymaps/via_rgb_matrix/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked48/naked48.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/naked48.h (94%) rename keyboards/{ => salicylic_acid3}/naked48/readme.md (94%) rename keyboards/{ => salicylic_acid3}/naked48/rev1/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/rev1/rev1.c (100%) rename keyboards/{ => salicylic_acid3}/naked48/rev1/rev1.h (100%) rename keyboards/{ => salicylic_acid3}/naked48/rev1/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked48/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked60/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/info.json (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/333fred/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/333fred/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/default/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/default_with_nafuda/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/default_with_nafuda/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/default_with_nafuda/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/default_with_setta21/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/default_with_setta21/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/default_with_setta21/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic_with_nafuda/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic_with_nafuda/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic_with_nafuda/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic_with_nafuda/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic_with_setta21/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic_with_setta21/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic_with_setta21/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/salicylic_with_setta21/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/via/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/via/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked60/keymaps/via/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked60/naked60.c (100%) rename keyboards/{ => salicylic_acid3}/naked60/naked60.h (94%) rename keyboards/{ => salicylic_acid3}/naked60/readme.md (94%) rename keyboards/{ => salicylic_acid3}/naked60/rev1/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/rev1/rev1.c (100%) rename keyboards/{ => salicylic_acid3}/naked60/rev1/rev1.h (100%) rename keyboards/{ => salicylic_acid3}/naked60/rev1/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked60/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked64/.noci (100%) rename keyboards/{ => salicylic_acid3}/naked64/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked64/info.json (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/default/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/default/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/default_with_setta21/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/default_with_setta21/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/default_with_setta21/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/default_with_setta21/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/salicylic/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/salicylic/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/salicylic_with_setta21/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/salicylic_with_setta21/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/salicylic_with_setta21/readme.md (100%) rename keyboards/{ => salicylic_acid3}/naked64/keymaps/salicylic_with_setta21/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked64/naked64.c (100%) rename keyboards/{ => salicylic_acid3}/naked64/naked64.h (58%) rename keyboards/{ => salicylic_acid3}/naked64/readme.md (95%) rename keyboards/{ => salicylic_acid3}/naked64/rev1/config.h (100%) rename keyboards/{ => salicylic_acid3}/naked64/rev1/rev1.c (100%) rename keyboards/{ => salicylic_acid3}/naked64/rev1/rev1.h (100%) rename keyboards/{ => salicylic_acid3}/naked64/rev1/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/naked64/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/config.h (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/info.json (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/keymaps/via/config.h (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/keymaps/via/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/keymaps/via/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/nknl7en.c (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/nknl7en.h (100%) rename keyboards/{ => salicylic_acid3}/nknl7en/readme.md (95%) rename keyboards/{ => salicylic_acid3}/nknl7en/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/config.h (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/info.json (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/keymaps/via/config.h (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/keymaps/via/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/keymaps/via/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/nknl7jp.c (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/nknl7jp.h (100%) rename keyboards/{ => salicylic_acid3}/nknl7jp/readme.md (95%) rename keyboards/{ => salicylic_acid3}/nknl7jp/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/setta21/config.h (100%) rename keyboards/{ => salicylic_acid3}/setta21/info.json (100%) rename keyboards/{ => salicylic_acid3}/setta21/keymaps/default/config.h (100%) rename keyboards/{ => salicylic_acid3}/setta21/keymaps/default/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/setta21/keymaps/default/readme.md (100%) rename keyboards/{ => salicylic_acid3}/setta21/keymaps/salicylic/config.h (100%) rename keyboards/{ => salicylic_acid3}/setta21/keymaps/salicylic/keymap.c (100%) rename keyboards/{ => salicylic_acid3}/setta21/keymaps/salicylic/readme.md (100%) rename keyboards/{ => salicylic_acid3}/setta21/keymaps/salicylic/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/setta21/readme.md (94%) rename keyboards/{ => salicylic_acid3}/setta21/rev1/.noci (100%) rename keyboards/{ => salicylic_acid3}/setta21/rev1/config.h (100%) rename keyboards/{ => salicylic_acid3}/setta21/rev1/rev1.c (100%) rename keyboards/{ => salicylic_acid3}/setta21/rev1/rev1.h (100%) rename keyboards/{ => salicylic_acid3}/setta21/rev1/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/setta21/rules.mk (100%) rename keyboards/{ => salicylic_acid3}/setta21/setta21.c (100%) rename keyboards/{ => salicylic_acid3}/setta21/setta21.h (58%) diff --git a/keyboards/7skb/.noci b/keyboards/salicylic_acid3/7skb/.noci similarity index 100% rename from keyboards/7skb/.noci rename to keyboards/salicylic_acid3/7skb/.noci diff --git a/keyboards/7skb/7skb.c b/keyboards/salicylic_acid3/7skb/7skb.c similarity index 100% rename from keyboards/7skb/7skb.c rename to keyboards/salicylic_acid3/7skb/7skb.c diff --git a/keyboards/7skb/7skb.h b/keyboards/salicylic_acid3/7skb/7skb.h similarity index 60% rename from keyboards/7skb/7skb.h rename to keyboards/salicylic_acid3/7skb/7skb.h index 9e23d0ad3c5e..5043a467478b 100644 --- a/keyboards/7skb/7skb.h +++ b/keyboards/salicylic_acid3/7skb/7skb.h @@ -2,6 +2,6 @@ #include "quantum.h" -#ifdef KEYBOARD_7skb_rev1 +#ifdef KEYBOARD_salicylic_acid3_7skb_rev1 #include "rev1.h" #endif diff --git a/keyboards/7skb/config.h b/keyboards/salicylic_acid3/7skb/config.h similarity index 100% rename from keyboards/7skb/config.h rename to keyboards/salicylic_acid3/7skb/config.h diff --git a/keyboards/7skb/info.json b/keyboards/salicylic_acid3/7skb/info.json similarity index 100% rename from keyboards/7skb/info.json rename to keyboards/salicylic_acid3/7skb/info.json diff --git a/keyboards/7skb/keymaps/default/config.h b/keyboards/salicylic_acid3/7skb/keymaps/default/config.h similarity index 100% rename from keyboards/7skb/keymaps/default/config.h rename to keyboards/salicylic_acid3/7skb/keymaps/default/config.h diff --git a/keyboards/7skb/keymaps/default/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c similarity index 100% rename from keyboards/7skb/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c diff --git a/keyboards/7skb/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h similarity index 100% rename from keyboards/7skb/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h diff --git a/keyboards/7skb/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/7skb/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c diff --git a/keyboards/7skb/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/rules.mk similarity index 100% rename from keyboards/7skb/keymaps/salicylic/rules.mk rename to keyboards/salicylic_acid3/7skb/keymaps/salicylic/rules.mk diff --git a/keyboards/7skb/keymaps/via/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c similarity index 100% rename from keyboards/7skb/keymaps/via/keymap.c rename to keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c diff --git a/keyboards/7skb/keymaps/via/readme.md b/keyboards/salicylic_acid3/7skb/keymaps/via/readme.md similarity index 100% rename from keyboards/7skb/keymaps/via/readme.md rename to keyboards/salicylic_acid3/7skb/keymaps/via/readme.md diff --git a/keyboards/7skb/keymaps/via/rules.mk b/keyboards/salicylic_acid3/7skb/keymaps/via/rules.mk similarity index 100% rename from keyboards/7skb/keymaps/via/rules.mk rename to keyboards/salicylic_acid3/7skb/keymaps/via/rules.mk diff --git a/keyboards/7skb/readme.md b/keyboards/salicylic_acid3/7skb/readme.md similarity index 95% rename from keyboards/7skb/readme.md rename to keyboards/salicylic_acid3/7skb/readme.md index 18e4eef3ea80..a3077f068a6f 100644 --- a/keyboards/7skb/readme.md +++ b/keyboards/salicylic_acid3/7skb/readme.md @@ -10,7 +10,7 @@ This is 63 keys Custom keyboard. Make example for this keyboard (after setting up your build environment): - make 7skb:default + make salicylic_acid3/7skb/rev1:default 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/7skb/rev1/config.h b/keyboards/salicylic_acid3/7skb/rev1/config.h similarity index 100% rename from keyboards/7skb/rev1/config.h rename to keyboards/salicylic_acid3/7skb/rev1/config.h diff --git a/keyboards/7skb/rev1/rev1.c b/keyboards/salicylic_acid3/7skb/rev1/rev1.c similarity index 100% rename from keyboards/7skb/rev1/rev1.c rename to keyboards/salicylic_acid3/7skb/rev1/rev1.c diff --git a/keyboards/7skb/rev1/rev1.h b/keyboards/salicylic_acid3/7skb/rev1/rev1.h similarity index 100% rename from keyboards/7skb/rev1/rev1.h rename to keyboards/salicylic_acid3/7skb/rev1/rev1.h diff --git a/keyboards/7skb/rev1/rules.mk b/keyboards/salicylic_acid3/7skb/rev1/rules.mk similarity index 100% rename from keyboards/7skb/rev1/rules.mk rename to keyboards/salicylic_acid3/7skb/rev1/rules.mk diff --git a/keyboards/7skb/rules.mk b/keyboards/salicylic_acid3/7skb/rules.mk similarity index 100% rename from keyboards/7skb/rules.mk rename to keyboards/salicylic_acid3/7skb/rules.mk diff --git a/keyboards/7splus/7splus.c b/keyboards/salicylic_acid3/7splus/7splus.c similarity index 100% rename from keyboards/7splus/7splus.c rename to keyboards/salicylic_acid3/7splus/7splus.c diff --git a/keyboards/7splus/7splus.h b/keyboards/salicylic_acid3/7splus/7splus.h similarity index 100% rename from keyboards/7splus/7splus.h rename to keyboards/salicylic_acid3/7splus/7splus.h diff --git a/keyboards/7splus/config.h b/keyboards/salicylic_acid3/7splus/config.h similarity index 100% rename from keyboards/7splus/config.h rename to keyboards/salicylic_acid3/7splus/config.h diff --git a/keyboards/7splus/info.json b/keyboards/salicylic_acid3/7splus/info.json similarity index 100% rename from keyboards/7splus/info.json rename to keyboards/salicylic_acid3/7splus/info.json diff --git a/keyboards/7splus/keymaps/default/keymap.c b/keyboards/salicylic_acid3/7splus/keymaps/default/keymap.c similarity index 100% rename from keyboards/7splus/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/7splus/keymaps/default/keymap.c diff --git a/keyboards/7splus/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h similarity index 100% rename from keyboards/7splus/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h diff --git a/keyboards/7splus/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/7splus/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c diff --git a/keyboards/7splus/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/rules.mk similarity index 100% rename from keyboards/7splus/keymaps/salicylic/rules.mk rename to keyboards/salicylic_acid3/7splus/keymaps/salicylic/rules.mk diff --git a/keyboards/7splus/keymaps/via/config.h b/keyboards/salicylic_acid3/7splus/keymaps/via/config.h similarity index 100% rename from keyboards/7splus/keymaps/via/config.h rename to keyboards/salicylic_acid3/7splus/keymaps/via/config.h diff --git a/keyboards/7splus/keymaps/via/keymap.c b/keyboards/salicylic_acid3/7splus/keymaps/via/keymap.c similarity index 100% rename from keyboards/7splus/keymaps/via/keymap.c rename to keyboards/salicylic_acid3/7splus/keymaps/via/keymap.c diff --git a/keyboards/7splus/keymaps/via/rules.mk b/keyboards/salicylic_acid3/7splus/keymaps/via/rules.mk similarity index 100% rename from keyboards/7splus/keymaps/via/rules.mk rename to keyboards/salicylic_acid3/7splus/keymaps/via/rules.mk diff --git a/keyboards/7splus/readme.md b/keyboards/salicylic_acid3/7splus/readme.md similarity index 95% rename from keyboards/7splus/readme.md rename to keyboards/salicylic_acid3/7splus/readme.md index a73359524969..ef6820a18835 100644 --- a/keyboards/7splus/readme.md +++ b/keyboards/salicylic_acid3/7splus/readme.md @@ -10,7 +10,7 @@ This is 85 keys Custom keyboard. Make example for this keyboard (after setting up your build environment): - make 7splus:default + make salicylic_acid3/7splus:default 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/7splus/rules.mk b/keyboards/salicylic_acid3/7splus/rules.mk similarity index 100% rename from keyboards/7splus/rules.mk rename to keyboards/salicylic_acid3/7splus/rules.mk diff --git a/keyboards/ajisai74/ajisai74.c b/keyboards/salicylic_acid3/ajisai74/ajisai74.c similarity index 100% rename from keyboards/ajisai74/ajisai74.c rename to keyboards/salicylic_acid3/ajisai74/ajisai74.c diff --git a/keyboards/ajisai74/ajisai74.h b/keyboards/salicylic_acid3/ajisai74/ajisai74.h similarity index 100% rename from keyboards/ajisai74/ajisai74.h rename to keyboards/salicylic_acid3/ajisai74/ajisai74.h diff --git a/keyboards/ajisai74/config.h b/keyboards/salicylic_acid3/ajisai74/config.h similarity index 100% rename from keyboards/ajisai74/config.h rename to keyboards/salicylic_acid3/ajisai74/config.h diff --git a/keyboards/ajisai74/info.json b/keyboards/salicylic_acid3/ajisai74/info.json similarity index 100% rename from keyboards/ajisai74/info.json rename to keyboards/salicylic_acid3/ajisai74/info.json diff --git a/keyboards/ajisai74/keymaps/default/config.h b/keyboards/salicylic_acid3/ajisai74/keymaps/default/config.h similarity index 100% rename from keyboards/ajisai74/keymaps/default/config.h rename to keyboards/salicylic_acid3/ajisai74/keymaps/default/config.h diff --git a/keyboards/ajisai74/keymaps/default/keymap.c b/keyboards/salicylic_acid3/ajisai74/keymaps/default/keymap.c similarity index 100% rename from keyboards/ajisai74/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/ajisai74/keymaps/default/keymap.c diff --git a/keyboards/ajisai74/keymaps/jis/config.h b/keyboards/salicylic_acid3/ajisai74/keymaps/jis/config.h similarity index 100% rename from keyboards/ajisai74/keymaps/jis/config.h rename to keyboards/salicylic_acid3/ajisai74/keymaps/jis/config.h diff --git a/keyboards/ajisai74/keymaps/jis/keymap.c b/keyboards/salicylic_acid3/ajisai74/keymaps/jis/keymap.c similarity index 100% rename from keyboards/ajisai74/keymaps/jis/keymap.c rename to keyboards/salicylic_acid3/ajisai74/keymaps/jis/keymap.c diff --git a/keyboards/ajisai74/keymaps/jis/rules.mk b/keyboards/salicylic_acid3/ajisai74/keymaps/jis/rules.mk similarity index 100% rename from keyboards/ajisai74/keymaps/jis/rules.mk rename to keyboards/salicylic_acid3/ajisai74/keymaps/jis/rules.mk diff --git a/keyboards/ajisai74/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h similarity index 100% rename from keyboards/ajisai74/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h diff --git a/keyboards/ajisai74/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/ajisai74/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c diff --git a/keyboards/ajisai74/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/rules.mk similarity index 100% rename from keyboards/ajisai74/keymaps/salicylic/rules.mk rename to keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/rules.mk diff --git a/keyboards/ajisai74/keymaps/via/config.h b/keyboards/salicylic_acid3/ajisai74/keymaps/via/config.h similarity index 100% rename from keyboards/ajisai74/keymaps/via/config.h rename to keyboards/salicylic_acid3/ajisai74/keymaps/via/config.h diff --git a/keyboards/ajisai74/keymaps/via/keymap.c b/keyboards/salicylic_acid3/ajisai74/keymaps/via/keymap.c similarity index 100% rename from keyboards/ajisai74/keymaps/via/keymap.c rename to keyboards/salicylic_acid3/ajisai74/keymaps/via/keymap.c diff --git a/keyboards/ajisai74/keymaps/via/rules.mk b/keyboards/salicylic_acid3/ajisai74/keymaps/via/rules.mk similarity index 100% rename from keyboards/ajisai74/keymaps/via/rules.mk rename to keyboards/salicylic_acid3/ajisai74/keymaps/via/rules.mk diff --git a/keyboards/ajisai74/readme.md b/keyboards/salicylic_acid3/ajisai74/readme.md similarity index 95% rename from keyboards/ajisai74/readme.md rename to keyboards/salicylic_acid3/ajisai74/readme.md index af66ce0fc5b4..e274eb0ac4d7 100644 --- a/keyboards/ajisai74/readme.md +++ b/keyboards/salicylic_acid3/ajisai74/readme.md @@ -10,7 +10,7 @@ This is 74 keys Custom keyboard. Make example for this keyboard (after setting up your build environment): - make ajisai74:default + make salicylic_acid3/ajisai74:default 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/ajisai74/rules.mk b/keyboards/salicylic_acid3/ajisai74/rules.mk similarity index 100% rename from keyboards/ajisai74/rules.mk rename to keyboards/salicylic_acid3/ajisai74/rules.mk diff --git a/keyboards/ergoarrows/config.h b/keyboards/salicylic_acid3/ergoarrows/config.h similarity index 100% rename from keyboards/ergoarrows/config.h rename to keyboards/salicylic_acid3/ergoarrows/config.h diff --git a/keyboards/ergoarrows/ergoarrows.c b/keyboards/salicylic_acid3/ergoarrows/ergoarrows.c similarity index 100% rename from keyboards/ergoarrows/ergoarrows.c rename to keyboards/salicylic_acid3/ergoarrows/ergoarrows.c diff --git a/keyboards/ergoarrows/ergoarrows.h b/keyboards/salicylic_acid3/ergoarrows/ergoarrows.h similarity index 100% rename from keyboards/ergoarrows/ergoarrows.h rename to keyboards/salicylic_acid3/ergoarrows/ergoarrows.h diff --git a/keyboards/ergoarrows/info.json b/keyboards/salicylic_acid3/ergoarrows/info.json similarity index 100% rename from keyboards/ergoarrows/info.json rename to keyboards/salicylic_acid3/ergoarrows/info.json diff --git a/keyboards/ergoarrows/keymaps/default/config.h b/keyboards/salicylic_acid3/ergoarrows/keymaps/default/config.h similarity index 100% rename from keyboards/ergoarrows/keymaps/default/config.h rename to keyboards/salicylic_acid3/ergoarrows/keymaps/default/config.h diff --git a/keyboards/ergoarrows/keymaps/default/keymap.c b/keyboards/salicylic_acid3/ergoarrows/keymaps/default/keymap.c similarity index 100% rename from keyboards/ergoarrows/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/ergoarrows/keymaps/default/keymap.c diff --git a/keyboards/ergoarrows/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h similarity index 100% rename from keyboards/ergoarrows/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h diff --git a/keyboards/ergoarrows/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/ergoarrows/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c diff --git a/keyboards/ergoarrows/keymaps/via/config.h b/keyboards/salicylic_acid3/ergoarrows/keymaps/via/config.h similarity index 100% rename from keyboards/ergoarrows/keymaps/via/config.h rename to keyboards/salicylic_acid3/ergoarrows/keymaps/via/config.h diff --git a/keyboards/ergoarrows/keymaps/via/keymap.c b/keyboards/salicylic_acid3/ergoarrows/keymaps/via/keymap.c similarity index 100% rename from keyboards/ergoarrows/keymaps/via/keymap.c rename to keyboards/salicylic_acid3/ergoarrows/keymaps/via/keymap.c diff --git a/keyboards/ergoarrows/keymaps/via/rules.mk b/keyboards/salicylic_acid3/ergoarrows/keymaps/via/rules.mk similarity index 100% rename from keyboards/ergoarrows/keymaps/via/rules.mk rename to keyboards/salicylic_acid3/ergoarrows/keymaps/via/rules.mk diff --git a/keyboards/ergoarrows/readme.md b/keyboards/salicylic_acid3/ergoarrows/readme.md similarity index 95% rename from keyboards/ergoarrows/readme.md rename to keyboards/salicylic_acid3/ergoarrows/readme.md index 00932548d17f..93ad98941535 100644 --- a/keyboards/ergoarrows/readme.md +++ b/keyboards/salicylic_acid3/ergoarrows/readme.md @@ -10,7 +10,7 @@ This is 76 keys Custom keyboard. Make example for this keyboard (after setting up your build environment): - make ergoarrows:default + make salicylic_acid3/ergoarrows:default 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/ergoarrows/rules.mk b/keyboards/salicylic_acid3/ergoarrows/rules.mk similarity index 100% rename from keyboards/ergoarrows/rules.mk rename to keyboards/salicylic_acid3/ergoarrows/rules.mk diff --git a/keyboards/getta25/.noci b/keyboards/salicylic_acid3/getta25/.noci similarity index 100% rename from keyboards/getta25/.noci rename to keyboards/salicylic_acid3/getta25/.noci diff --git a/keyboards/getta25/config.h b/keyboards/salicylic_acid3/getta25/config.h similarity index 100% rename from keyboards/getta25/config.h rename to keyboards/salicylic_acid3/getta25/config.h diff --git a/keyboards/getta25/getta25.c b/keyboards/salicylic_acid3/getta25/getta25.c similarity index 100% rename from keyboards/getta25/getta25.c rename to keyboards/salicylic_acid3/getta25/getta25.c diff --git a/keyboards/getta25/getta25.h b/keyboards/salicylic_acid3/getta25/getta25.h similarity index 58% rename from keyboards/getta25/getta25.h rename to keyboards/salicylic_acid3/getta25/getta25.h index ff448201738b..67632bba4d98 100644 --- a/keyboards/getta25/getta25.h +++ b/keyboards/salicylic_acid3/getta25/getta25.h @@ -2,6 +2,6 @@ #include "quantum.h" -#ifdef KEYBOARD_getta25_rev1 +#ifdef KEYBOARD_salicylic_acid3_getta25_rev1 #include "rev1.h" #endif diff --git a/keyboards/getta25/info.json b/keyboards/salicylic_acid3/getta25/info.json similarity index 100% rename from keyboards/getta25/info.json rename to keyboards/salicylic_acid3/getta25/info.json diff --git a/keyboards/getta25/keymaps/default/config.h b/keyboards/salicylic_acid3/getta25/keymaps/default/config.h similarity index 100% rename from keyboards/getta25/keymaps/default/config.h rename to keyboards/salicylic_acid3/getta25/keymaps/default/config.h diff --git a/keyboards/getta25/keymaps/default/keymap.c b/keyboards/salicylic_acid3/getta25/keymaps/default/keymap.c similarity index 100% rename from keyboards/getta25/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/getta25/keymaps/default/keymap.c diff --git a/keyboards/getta25/keymaps/oled/config.h b/keyboards/salicylic_acid3/getta25/keymaps/oled/config.h similarity index 100% rename from keyboards/getta25/keymaps/oled/config.h rename to keyboards/salicylic_acid3/getta25/keymaps/oled/config.h diff --git a/keyboards/getta25/keymaps/oled/glcdfont.c b/keyboards/salicylic_acid3/getta25/keymaps/oled/glcdfont.c similarity index 100% rename from keyboards/getta25/keymaps/oled/glcdfont.c rename to keyboards/salicylic_acid3/getta25/keymaps/oled/glcdfont.c diff --git a/keyboards/getta25/keymaps/oled/keymap.c b/keyboards/salicylic_acid3/getta25/keymaps/oled/keymap.c similarity index 100% rename from keyboards/getta25/keymaps/oled/keymap.c rename to keyboards/salicylic_acid3/getta25/keymaps/oled/keymap.c diff --git a/keyboards/getta25/keymaps/oled/rules.mk b/keyboards/salicylic_acid3/getta25/keymaps/oled/rules.mk similarity index 100% rename from keyboards/getta25/keymaps/oled/rules.mk rename to keyboards/salicylic_acid3/getta25/keymaps/oled/rules.mk diff --git a/keyboards/getta25/readme.md b/keyboards/salicylic_acid3/getta25/readme.md similarity index 94% rename from keyboards/getta25/readme.md rename to keyboards/salicylic_acid3/getta25/readme.md index 886e52a2ea11..2f3e9d1f1b3d 100644 --- a/keyboards/getta25/readme.md +++ b/keyboards/salicylic_acid3/getta25/readme.md @@ -10,7 +10,7 @@ This is 25 keys tenkeypad. Make example for this keyboard (after setting up your build environment): - make getta25:default + make salicylic_acid3/getta25/rev1:default 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/getta25/rev1/config.h b/keyboards/salicylic_acid3/getta25/rev1/config.h similarity index 100% rename from keyboards/getta25/rev1/config.h rename to keyboards/salicylic_acid3/getta25/rev1/config.h diff --git a/keyboards/getta25/rev1/rev1.c b/keyboards/salicylic_acid3/getta25/rev1/rev1.c similarity index 100% rename from keyboards/getta25/rev1/rev1.c rename to keyboards/salicylic_acid3/getta25/rev1/rev1.c diff --git a/keyboards/getta25/rev1/rev1.h b/keyboards/salicylic_acid3/getta25/rev1/rev1.h similarity index 100% rename from keyboards/getta25/rev1/rev1.h rename to keyboards/salicylic_acid3/getta25/rev1/rev1.h diff --git a/keyboards/getta25/rev1/rules.mk b/keyboards/salicylic_acid3/getta25/rev1/rules.mk similarity index 100% rename from keyboards/getta25/rev1/rules.mk rename to keyboards/salicylic_acid3/getta25/rev1/rules.mk diff --git a/keyboards/getta25/rules.mk b/keyboards/salicylic_acid3/getta25/rules.mk similarity index 100% rename from keyboards/getta25/rules.mk rename to keyboards/salicylic_acid3/getta25/rules.mk diff --git a/keyboards/jisplit89/.noci b/keyboards/salicylic_acid3/jisplit89/.noci similarity index 100% rename from keyboards/jisplit89/.noci rename to keyboards/salicylic_acid3/jisplit89/.noci diff --git a/keyboards/jisplit89/config.h b/keyboards/salicylic_acid3/jisplit89/config.h similarity index 100% rename from keyboards/jisplit89/config.h rename to keyboards/salicylic_acid3/jisplit89/config.h diff --git a/keyboards/jisplit89/info.json b/keyboards/salicylic_acid3/jisplit89/info.json similarity index 100% rename from keyboards/jisplit89/info.json rename to keyboards/salicylic_acid3/jisplit89/info.json diff --git a/keyboards/jisplit89/jisplit89.c b/keyboards/salicylic_acid3/jisplit89/jisplit89.c similarity index 100% rename from keyboards/jisplit89/jisplit89.c rename to keyboards/salicylic_acid3/jisplit89/jisplit89.c diff --git a/keyboards/jisplit89/jisplit89.h b/keyboards/salicylic_acid3/jisplit89/jisplit89.h similarity index 93% rename from keyboards/jisplit89/jisplit89.h rename to keyboards/salicylic_acid3/jisplit89/jisplit89.h index b59b5a66a2bf..8de2326de658 100644 --- a/keyboards/jisplit89/jisplit89.h +++ b/keyboards/salicylic_acid3/jisplit89/jisplit89.h @@ -17,6 +17,6 @@ along with this program. If not, see . #pragma once -#ifdef KEYBOARD_jisplit89_rev1 +#ifdef KEYBOARD_salicylic_acid3_jisplit89_rev1 #include "rev1.h" #endif diff --git a/keyboards/jisplit89/keymaps/default/keymap.c b/keyboards/salicylic_acid3/jisplit89/keymaps/default/keymap.c similarity index 100% rename from keyboards/jisplit89/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/jisplit89/keymaps/default/keymap.c diff --git a/keyboards/jisplit89/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h similarity index 100% rename from keyboards/jisplit89/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h diff --git a/keyboards/jisplit89/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/jisplit89/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c diff --git a/keyboards/jisplit89/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/rules.mk similarity index 100% rename from keyboards/jisplit89/keymaps/salicylic/rules.mk rename to keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/rules.mk diff --git a/keyboards/jisplit89/keymaps/via/config.h b/keyboards/salicylic_acid3/jisplit89/keymaps/via/config.h similarity index 100% rename from keyboards/jisplit89/keymaps/via/config.h rename to keyboards/salicylic_acid3/jisplit89/keymaps/via/config.h diff --git a/keyboards/jisplit89/keymaps/via/keymap.c b/keyboards/salicylic_acid3/jisplit89/keymaps/via/keymap.c similarity index 100% rename from keyboards/jisplit89/keymaps/via/keymap.c rename to keyboards/salicylic_acid3/jisplit89/keymaps/via/keymap.c diff --git a/keyboards/jisplit89/keymaps/via/rules.mk b/keyboards/salicylic_acid3/jisplit89/keymaps/via/rules.mk similarity index 100% rename from keyboards/jisplit89/keymaps/via/rules.mk rename to keyboards/salicylic_acid3/jisplit89/keymaps/via/rules.mk diff --git a/keyboards/jisplit89/readme.md b/keyboards/salicylic_acid3/jisplit89/readme.md similarity index 94% rename from keyboards/jisplit89/readme.md rename to keyboards/salicylic_acid3/jisplit89/readme.md index d2228745774d..df0994e1091e 100644 --- a/keyboards/jisplit89/readme.md +++ b/keyboards/salicylic_acid3/jisplit89/readme.md @@ -10,7 +10,7 @@ This is 89 keys Custom keyboard. Make example for this keyboard (after setting up your build environment): - make jisplit89:default + make salicylic_acid3/jisplit89/rev1:default 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/jisplit89/rev1/config.h b/keyboards/salicylic_acid3/jisplit89/rev1/config.h similarity index 100% rename from keyboards/jisplit89/rev1/config.h rename to keyboards/salicylic_acid3/jisplit89/rev1/config.h diff --git a/keyboards/jisplit89/rev1/rev1.c b/keyboards/salicylic_acid3/jisplit89/rev1/rev1.c similarity index 100% rename from keyboards/jisplit89/rev1/rev1.c rename to keyboards/salicylic_acid3/jisplit89/rev1/rev1.c diff --git a/keyboards/jisplit89/rev1/rev1.h b/keyboards/salicylic_acid3/jisplit89/rev1/rev1.h similarity index 100% rename from keyboards/jisplit89/rev1/rev1.h rename to keyboards/salicylic_acid3/jisplit89/rev1/rev1.h diff --git a/keyboards/jisplit89/rev1/rules.mk b/keyboards/salicylic_acid3/jisplit89/rev1/rules.mk similarity index 100% rename from keyboards/jisplit89/rev1/rules.mk rename to keyboards/salicylic_acid3/jisplit89/rev1/rules.mk diff --git a/keyboards/jisplit89/rules.mk b/keyboards/salicylic_acid3/jisplit89/rules.mk similarity index 100% rename from keyboards/jisplit89/rules.mk rename to keyboards/salicylic_acid3/jisplit89/rules.mk diff --git a/keyboards/nafuda/config.h b/keyboards/salicylic_acid3/nafuda/config.h similarity index 100% rename from keyboards/nafuda/config.h rename to keyboards/salicylic_acid3/nafuda/config.h diff --git a/keyboards/nafuda/info.json b/keyboards/salicylic_acid3/nafuda/info.json similarity index 100% rename from keyboards/nafuda/info.json rename to keyboards/salicylic_acid3/nafuda/info.json diff --git a/keyboards/nafuda/keymaps/default/config.h b/keyboards/salicylic_acid3/nafuda/keymaps/default/config.h similarity index 100% rename from keyboards/nafuda/keymaps/default/config.h rename to keyboards/salicylic_acid3/nafuda/keymaps/default/config.h diff --git a/keyboards/nafuda/keymaps/default/keymap.c b/keyboards/salicylic_acid3/nafuda/keymaps/default/keymap.c similarity index 100% rename from keyboards/nafuda/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/nafuda/keymaps/default/keymap.c diff --git a/keyboards/nafuda/keymaps/default/readme.md b/keyboards/salicylic_acid3/nafuda/keymaps/default/readme.md similarity index 100% rename from keyboards/nafuda/keymaps/default/readme.md rename to keyboards/salicylic_acid3/nafuda/keymaps/default/readme.md diff --git a/keyboards/nafuda/nafuda.c b/keyboards/salicylic_acid3/nafuda/nafuda.c similarity index 100% rename from keyboards/nafuda/nafuda.c rename to keyboards/salicylic_acid3/nafuda/nafuda.c diff --git a/keyboards/nafuda/nafuda.h b/keyboards/salicylic_acid3/nafuda/nafuda.h similarity index 100% rename from keyboards/nafuda/nafuda.h rename to keyboards/salicylic_acid3/nafuda/nafuda.h diff --git a/keyboards/nafuda/readme.md b/keyboards/salicylic_acid3/nafuda/readme.md similarity index 95% rename from keyboards/nafuda/readme.md rename to keyboards/salicylic_acid3/nafuda/readme.md index 73007ed01e62..5df9b5df0f88 100644 --- a/keyboards/nafuda/readme.md +++ b/keyboards/salicylic_acid3/nafuda/readme.md @@ -10,7 +10,7 @@ This is 7 keys cursor macropad. Make example for this keyboard (after setting up your build environment): - make nafuda:default + make salicylic_acid3/nafuda:default 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/nafuda/rules.mk b/keyboards/salicylic_acid3/nafuda/rules.mk similarity index 100% rename from keyboards/nafuda/rules.mk rename to keyboards/salicylic_acid3/nafuda/rules.mk diff --git a/keyboards/naked48/.noci b/keyboards/salicylic_acid3/naked48/.noci similarity index 100% rename from keyboards/naked48/.noci rename to keyboards/salicylic_acid3/naked48/.noci diff --git a/keyboards/naked48/config.h b/keyboards/salicylic_acid3/naked48/config.h similarity index 100% rename from keyboards/naked48/config.h rename to keyboards/salicylic_acid3/naked48/config.h diff --git a/keyboards/naked48/info.json b/keyboards/salicylic_acid3/naked48/info.json similarity index 100% rename from keyboards/naked48/info.json rename to keyboards/salicylic_acid3/naked48/info.json diff --git a/keyboards/naked48/keymaps/default/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default/config.h similarity index 100% rename from keyboards/naked48/keymaps/default/config.h rename to keyboards/salicylic_acid3/naked48/keymaps/default/config.h diff --git a/keyboards/naked48/keymaps/default/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/default/keymap.c similarity index 100% rename from keyboards/naked48/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/naked48/keymaps/default/keymap.c diff --git a/keyboards/naked48/keymaps/default/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/default/readme.md similarity index 100% rename from keyboards/naked48/keymaps/default/readme.md rename to keyboards/salicylic_acid3/naked48/keymaps/default/readme.md diff --git a/keyboards/naked48/keymaps/default/rules.mk b/keyboards/salicylic_acid3/naked48/keymaps/default/rules.mk similarity index 100% rename from keyboards/naked48/keymaps/default/rules.mk rename to keyboards/salicylic_acid3/naked48/keymaps/default/rules.mk diff --git a/keyboards/naked48/keymaps/default_with_nafuda/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h similarity index 100% rename from keyboards/naked48/keymaps/default_with_nafuda/config.h rename to keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h diff --git a/keyboards/naked48/keymaps/default_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c similarity index 100% rename from keyboards/naked48/keymaps/default_with_nafuda/keymap.c rename to keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c diff --git a/keyboards/naked48/keymaps/default_with_nafuda/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/readme.md similarity index 100% rename from keyboards/naked48/keymaps/default_with_nafuda/readme.md rename to keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/readme.md diff --git a/keyboards/naked48/keymaps/default_with_nafuda/rules.mk b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/rules.mk similarity index 100% rename from keyboards/naked48/keymaps/default_with_nafuda/rules.mk rename to keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/rules.mk diff --git a/keyboards/naked48/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h similarity index 100% rename from keyboards/naked48/keymaps/default_with_setta21/config.h rename to keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h diff --git a/keyboards/naked48/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/keymap.c similarity index 100% rename from keyboards/naked48/keymaps/default_with_setta21/keymap.c rename to keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/keymap.c diff --git a/keyboards/naked48/keymaps/default_with_setta21/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/readme.md similarity index 100% rename from keyboards/naked48/keymaps/default_with_setta21/readme.md rename to keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/readme.md diff --git a/keyboards/naked48/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h similarity index 100% rename from keyboards/naked48/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h diff --git a/keyboards/naked48/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/naked48/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c diff --git a/keyboards/naked48/keymaps/salicylic/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/readme.md similarity index 100% rename from keyboards/naked48/keymaps/salicylic/readme.md rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic/readme.md diff --git a/keyboards/naked48/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/rules.mk similarity index 100% rename from keyboards/naked48/keymaps/salicylic/rules.mk rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic/rules.mk diff --git a/keyboards/naked48/keymaps/salicylic_with_nafuda/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h similarity index 100% rename from keyboards/naked48/keymaps/salicylic_with_nafuda/config.h rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h diff --git a/keyboards/naked48/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c similarity index 100% rename from keyboards/naked48/keymaps/salicylic_with_nafuda/keymap.c rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c diff --git a/keyboards/naked48/keymaps/salicylic_with_nafuda/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/readme.md similarity index 100% rename from keyboards/naked48/keymaps/salicylic_with_nafuda/readme.md rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/readme.md diff --git a/keyboards/naked48/keymaps/salicylic_with_nafuda/rules.mk b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/rules.mk similarity index 100% rename from keyboards/naked48/keymaps/salicylic_with_nafuda/rules.mk rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/rules.mk diff --git a/keyboards/naked48/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h similarity index 100% rename from keyboards/naked48/keymaps/salicylic_with_setta21/config.h rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h diff --git a/keyboards/naked48/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c similarity index 100% rename from keyboards/naked48/keymaps/salicylic_with_setta21/keymap.c rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c diff --git a/keyboards/naked48/keymaps/salicylic_with_setta21/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/readme.md similarity index 100% rename from keyboards/naked48/keymaps/salicylic_with_setta21/readme.md rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/readme.md diff --git a/keyboards/naked48/keymaps/salicylic_with_setta21/rules.mk b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/rules.mk similarity index 100% rename from keyboards/naked48/keymaps/salicylic_with_setta21/rules.mk rename to keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/rules.mk diff --git a/keyboards/naked48/keymaps/scheiklp/config.h b/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/config.h similarity index 100% rename from keyboards/naked48/keymaps/scheiklp/config.h rename to keyboards/salicylic_acid3/naked48/keymaps/scheiklp/config.h diff --git a/keyboards/naked48/keymaps/scheiklp/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/keymap.c similarity index 100% rename from keyboards/naked48/keymaps/scheiklp/keymap.c rename to keyboards/salicylic_acid3/naked48/keymaps/scheiklp/keymap.c diff --git a/keyboards/naked48/keymaps/scheiklp/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/readme.md similarity index 100% rename from keyboards/naked48/keymaps/scheiklp/readme.md rename to keyboards/salicylic_acid3/naked48/keymaps/scheiklp/readme.md diff --git a/keyboards/naked48/keymaps/scheiklp/rules.mk b/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/rules.mk similarity index 100% rename from keyboards/naked48/keymaps/scheiklp/rules.mk rename to keyboards/salicylic_acid3/naked48/keymaps/scheiklp/rules.mk diff --git a/keyboards/naked48/keymaps/via/config.h b/keyboards/salicylic_acid3/naked48/keymaps/via/config.h similarity index 100% rename from keyboards/naked48/keymaps/via/config.h rename to keyboards/salicylic_acid3/naked48/keymaps/via/config.h diff --git a/keyboards/naked48/keymaps/via/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/via/keymap.c similarity index 100% rename from keyboards/naked48/keymaps/via/keymap.c rename to keyboards/salicylic_acid3/naked48/keymaps/via/keymap.c diff --git a/keyboards/naked48/keymaps/via/rules.mk b/keyboards/salicylic_acid3/naked48/keymaps/via/rules.mk similarity index 100% rename from keyboards/naked48/keymaps/via/rules.mk rename to keyboards/salicylic_acid3/naked48/keymaps/via/rules.mk diff --git a/keyboards/naked48/keymaps/via_rgb_matrix/config.h b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h similarity index 100% rename from keyboards/naked48/keymaps/via_rgb_matrix/config.h rename to keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h diff --git a/keyboards/naked48/keymaps/via_rgb_matrix/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/keymap.c similarity index 100% rename from keyboards/naked48/keymaps/via_rgb_matrix/keymap.c rename to keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/keymap.c diff --git a/keyboards/naked48/keymaps/via_rgb_matrix/rules.mk b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/rules.mk similarity index 100% rename from keyboards/naked48/keymaps/via_rgb_matrix/rules.mk rename to keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/rules.mk diff --git a/keyboards/naked48/naked48.c b/keyboards/salicylic_acid3/naked48/naked48.c similarity index 100% rename from keyboards/naked48/naked48.c rename to keyboards/salicylic_acid3/naked48/naked48.c diff --git a/keyboards/naked48/naked48.h b/keyboards/salicylic_acid3/naked48/naked48.h similarity index 94% rename from keyboards/naked48/naked48.h rename to keyboards/salicylic_acid3/naked48/naked48.h index e210cf0f576b..bbfa6d2e84f4 100644 --- a/keyboards/naked48/naked48.h +++ b/keyboards/salicylic_acid3/naked48/naked48.h @@ -19,6 +19,6 @@ along with this program. If not, see . #include "quantum.h" -#ifdef KEYBOARD_naked48_rev1 +#ifdef KEYBOARD_salicylic_acid3_naked48_rev1 #include "rev1.h" #endif diff --git a/keyboards/naked48/readme.md b/keyboards/salicylic_acid3/naked48/readme.md similarity index 94% rename from keyboards/naked48/readme.md rename to keyboards/salicylic_acid3/naked48/readme.md index bb16571efde3..c3a826f13e0a 100644 --- a/keyboards/naked48/readme.md +++ b/keyboards/salicylic_acid3/naked48/readme.md @@ -10,7 +10,7 @@ Hardware Availability: [PCB & Case Data](https://github.com/Salicylic-acid3/PCB_ Make example for this keyboard (after setting up your build environment): - make naked48:default:avrdude + make salicylic_acid3/naked48/rev1:default:avrdude 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/naked48/rev1/config.h b/keyboards/salicylic_acid3/naked48/rev1/config.h similarity index 100% rename from keyboards/naked48/rev1/config.h rename to keyboards/salicylic_acid3/naked48/rev1/config.h diff --git a/keyboards/naked48/rev1/rev1.c b/keyboards/salicylic_acid3/naked48/rev1/rev1.c similarity index 100% rename from keyboards/naked48/rev1/rev1.c rename to keyboards/salicylic_acid3/naked48/rev1/rev1.c diff --git a/keyboards/naked48/rev1/rev1.h b/keyboards/salicylic_acid3/naked48/rev1/rev1.h similarity index 100% rename from keyboards/naked48/rev1/rev1.h rename to keyboards/salicylic_acid3/naked48/rev1/rev1.h diff --git a/keyboards/naked48/rev1/rules.mk b/keyboards/salicylic_acid3/naked48/rev1/rules.mk similarity index 100% rename from keyboards/naked48/rev1/rules.mk rename to keyboards/salicylic_acid3/naked48/rev1/rules.mk diff --git a/keyboards/naked48/rules.mk b/keyboards/salicylic_acid3/naked48/rules.mk similarity index 100% rename from keyboards/naked48/rules.mk rename to keyboards/salicylic_acid3/naked48/rules.mk diff --git a/keyboards/naked60/config.h b/keyboards/salicylic_acid3/naked60/config.h similarity index 100% rename from keyboards/naked60/config.h rename to keyboards/salicylic_acid3/naked60/config.h diff --git a/keyboards/naked60/info.json b/keyboards/salicylic_acid3/naked60/info.json similarity index 100% rename from keyboards/naked60/info.json rename to keyboards/salicylic_acid3/naked60/info.json diff --git a/keyboards/naked60/keymaps/333fred/config.h b/keyboards/salicylic_acid3/naked60/keymaps/333fred/config.h similarity index 100% rename from keyboards/naked60/keymaps/333fred/config.h rename to keyboards/salicylic_acid3/naked60/keymaps/333fred/config.h diff --git a/keyboards/naked60/keymaps/333fred/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/333fred/keymap.c similarity index 100% rename from keyboards/naked60/keymaps/333fred/keymap.c rename to keyboards/salicylic_acid3/naked60/keymaps/333fred/keymap.c diff --git a/keyboards/naked60/keymaps/default/config.h b/keyboards/salicylic_acid3/naked60/keymaps/default/config.h similarity index 100% rename from keyboards/naked60/keymaps/default/config.h rename to keyboards/salicylic_acid3/naked60/keymaps/default/config.h diff --git a/keyboards/naked60/keymaps/default/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default/keymap.c similarity index 100% rename from keyboards/naked60/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/naked60/keymaps/default/keymap.c diff --git a/keyboards/naked60/keymaps/default/readme.md b/keyboards/salicylic_acid3/naked60/keymaps/default/readme.md similarity index 100% rename from keyboards/naked60/keymaps/default/readme.md rename to keyboards/salicylic_acid3/naked60/keymaps/default/readme.md diff --git a/keyboards/naked60/keymaps/default_with_nafuda/config.h b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h similarity index 100% rename from keyboards/naked60/keymaps/default_with_nafuda/config.h rename to keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h diff --git a/keyboards/naked60/keymaps/default_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c similarity index 100% rename from keyboards/naked60/keymaps/default_with_nafuda/keymap.c rename to keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c diff --git a/keyboards/naked60/keymaps/default_with_nafuda/readme.md b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/readme.md similarity index 100% rename from keyboards/naked60/keymaps/default_with_nafuda/readme.md rename to keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/readme.md diff --git a/keyboards/naked60/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h similarity index 100% rename from keyboards/naked60/keymaps/default_with_setta21/config.h rename to keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h diff --git a/keyboards/naked60/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c similarity index 100% rename from keyboards/naked60/keymaps/default_with_setta21/keymap.c rename to keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c diff --git a/keyboards/naked60/keymaps/default_with_setta21/readme.md b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/readme.md similarity index 100% rename from keyboards/naked60/keymaps/default_with_setta21/readme.md rename to keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/readme.md diff --git a/keyboards/naked60/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h similarity index 100% rename from keyboards/naked60/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h diff --git a/keyboards/naked60/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/naked60/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c diff --git a/keyboards/naked60/keymaps/salicylic/readme.md b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/readme.md similarity index 100% rename from keyboards/naked60/keymaps/salicylic/readme.md rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic/readme.md diff --git a/keyboards/naked60/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/rules.mk similarity index 100% rename from keyboards/naked60/keymaps/salicylic/rules.mk rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic/rules.mk diff --git a/keyboards/naked60/keymaps/salicylic_with_nafuda/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h similarity index 100% rename from keyboards/naked60/keymaps/salicylic_with_nafuda/config.h rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h diff --git a/keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c similarity index 100% rename from keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c diff --git a/keyboards/naked60/keymaps/salicylic_with_nafuda/readme.md b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/readme.md similarity index 100% rename from keyboards/naked60/keymaps/salicylic_with_nafuda/readme.md rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/readme.md diff --git a/keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/rules.mk similarity index 100% rename from keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/rules.mk diff --git a/keyboards/naked60/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h similarity index 100% rename from keyboards/naked60/keymaps/salicylic_with_setta21/config.h rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h diff --git a/keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c similarity index 100% rename from keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c diff --git a/keyboards/naked60/keymaps/salicylic_with_setta21/readme.md b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/readme.md similarity index 100% rename from keyboards/naked60/keymaps/salicylic_with_setta21/readme.md rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/readme.md diff --git a/keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/rules.mk similarity index 100% rename from keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk rename to keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/rules.mk diff --git a/keyboards/naked60/keymaps/via/config.h b/keyboards/salicylic_acid3/naked60/keymaps/via/config.h similarity index 100% rename from keyboards/naked60/keymaps/via/config.h rename to keyboards/salicylic_acid3/naked60/keymaps/via/config.h diff --git a/keyboards/naked60/keymaps/via/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/via/keymap.c similarity index 100% rename from keyboards/naked60/keymaps/via/keymap.c rename to keyboards/salicylic_acid3/naked60/keymaps/via/keymap.c diff --git a/keyboards/naked60/keymaps/via/rules.mk b/keyboards/salicylic_acid3/naked60/keymaps/via/rules.mk similarity index 100% rename from keyboards/naked60/keymaps/via/rules.mk rename to keyboards/salicylic_acid3/naked60/keymaps/via/rules.mk diff --git a/keyboards/naked60/naked60.c b/keyboards/salicylic_acid3/naked60/naked60.c similarity index 100% rename from keyboards/naked60/naked60.c rename to keyboards/salicylic_acid3/naked60/naked60.c diff --git a/keyboards/naked60/naked60.h b/keyboards/salicylic_acid3/naked60/naked60.h similarity index 94% rename from keyboards/naked60/naked60.h rename to keyboards/salicylic_acid3/naked60/naked60.h index 4952b6b076d5..9ad73df67f65 100644 --- a/keyboards/naked60/naked60.h +++ b/keyboards/salicylic_acid3/naked60/naked60.h @@ -19,6 +19,6 @@ along with this program. If not, see . #include "quantum.h" -#ifdef KEYBOARD_naked60_rev1 +#ifdef KEYBOARD_salicylic_acid3_naked60_rev1 #include "rev1.h" #endif diff --git a/keyboards/naked60/readme.md b/keyboards/salicylic_acid3/naked60/readme.md similarity index 94% rename from keyboards/naked60/readme.md rename to keyboards/salicylic_acid3/naked60/readme.md index 60bb1643772f..e44aa64a4418 100644 --- a/keyboards/naked60/readme.md +++ b/keyboards/salicylic_acid3/naked60/readme.md @@ -10,7 +10,7 @@ Hardware Availability: [PCB & Case Data](https://github.com/Salicylic-acid3/PCB_ Make example for this keyboard (after setting up your build environment): - make naked60:default:avrdude + make salicylic_acid3/naked60/rev1:default:avrdude 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/naked60/rev1/config.h b/keyboards/salicylic_acid3/naked60/rev1/config.h similarity index 100% rename from keyboards/naked60/rev1/config.h rename to keyboards/salicylic_acid3/naked60/rev1/config.h diff --git a/keyboards/naked60/rev1/rev1.c b/keyboards/salicylic_acid3/naked60/rev1/rev1.c similarity index 100% rename from keyboards/naked60/rev1/rev1.c rename to keyboards/salicylic_acid3/naked60/rev1/rev1.c diff --git a/keyboards/naked60/rev1/rev1.h b/keyboards/salicylic_acid3/naked60/rev1/rev1.h similarity index 100% rename from keyboards/naked60/rev1/rev1.h rename to keyboards/salicylic_acid3/naked60/rev1/rev1.h diff --git a/keyboards/naked60/rev1/rules.mk b/keyboards/salicylic_acid3/naked60/rev1/rules.mk similarity index 100% rename from keyboards/naked60/rev1/rules.mk rename to keyboards/salicylic_acid3/naked60/rev1/rules.mk diff --git a/keyboards/naked60/rules.mk b/keyboards/salicylic_acid3/naked60/rules.mk similarity index 100% rename from keyboards/naked60/rules.mk rename to keyboards/salicylic_acid3/naked60/rules.mk diff --git a/keyboards/naked64/.noci b/keyboards/salicylic_acid3/naked64/.noci similarity index 100% rename from keyboards/naked64/.noci rename to keyboards/salicylic_acid3/naked64/.noci diff --git a/keyboards/naked64/config.h b/keyboards/salicylic_acid3/naked64/config.h similarity index 100% rename from keyboards/naked64/config.h rename to keyboards/salicylic_acid3/naked64/config.h diff --git a/keyboards/naked64/info.json b/keyboards/salicylic_acid3/naked64/info.json similarity index 100% rename from keyboards/naked64/info.json rename to keyboards/salicylic_acid3/naked64/info.json diff --git a/keyboards/naked64/keymaps/default/config.h b/keyboards/salicylic_acid3/naked64/keymaps/default/config.h similarity index 100% rename from keyboards/naked64/keymaps/default/config.h rename to keyboards/salicylic_acid3/naked64/keymaps/default/config.h diff --git a/keyboards/naked64/keymaps/default/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/default/keymap.c similarity index 100% rename from keyboards/naked64/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/naked64/keymaps/default/keymap.c diff --git a/keyboards/naked64/keymaps/default/readme.md b/keyboards/salicylic_acid3/naked64/keymaps/default/readme.md similarity index 100% rename from keyboards/naked64/keymaps/default/readme.md rename to keyboards/salicylic_acid3/naked64/keymaps/default/readme.md diff --git a/keyboards/naked64/keymaps/default/rules.mk b/keyboards/salicylic_acid3/naked64/keymaps/default/rules.mk similarity index 100% rename from keyboards/naked64/keymaps/default/rules.mk rename to keyboards/salicylic_acid3/naked64/keymaps/default/rules.mk diff --git a/keyboards/naked64/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h similarity index 100% rename from keyboards/naked64/keymaps/default_with_setta21/config.h rename to keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h diff --git a/keyboards/naked64/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c similarity index 100% rename from keyboards/naked64/keymaps/default_with_setta21/keymap.c rename to keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c diff --git a/keyboards/naked64/keymaps/default_with_setta21/readme.md b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/readme.md similarity index 100% rename from keyboards/naked64/keymaps/default_with_setta21/readme.md rename to keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/readme.md diff --git a/keyboards/naked64/keymaps/default_with_setta21/rules.mk b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/rules.mk similarity index 100% rename from keyboards/naked64/keymaps/default_with_setta21/rules.mk rename to keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/rules.mk diff --git a/keyboards/naked64/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h similarity index 100% rename from keyboards/naked64/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h diff --git a/keyboards/naked64/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/naked64/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c diff --git a/keyboards/naked64/keymaps/salicylic/readme.md b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/readme.md similarity index 100% rename from keyboards/naked64/keymaps/salicylic/readme.md rename to keyboards/salicylic_acid3/naked64/keymaps/salicylic/readme.md diff --git a/keyboards/naked64/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/rules.mk similarity index 100% rename from keyboards/naked64/keymaps/salicylic/rules.mk rename to keyboards/salicylic_acid3/naked64/keymaps/salicylic/rules.mk diff --git a/keyboards/naked64/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h similarity index 100% rename from keyboards/naked64/keymaps/salicylic_with_setta21/config.h rename to keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h diff --git a/keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c similarity index 100% rename from keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c rename to keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c diff --git a/keyboards/naked64/keymaps/salicylic_with_setta21/readme.md b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/readme.md similarity index 100% rename from keyboards/naked64/keymaps/salicylic_with_setta21/readme.md rename to keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/readme.md diff --git a/keyboards/naked64/keymaps/salicylic_with_setta21/rules.mk b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/rules.mk similarity index 100% rename from keyboards/naked64/keymaps/salicylic_with_setta21/rules.mk rename to keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/rules.mk diff --git a/keyboards/naked64/naked64.c b/keyboards/salicylic_acid3/naked64/naked64.c similarity index 100% rename from keyboards/naked64/naked64.c rename to keyboards/salicylic_acid3/naked64/naked64.c diff --git a/keyboards/naked64/naked64.h b/keyboards/salicylic_acid3/naked64/naked64.h similarity index 58% rename from keyboards/naked64/naked64.h rename to keyboards/salicylic_acid3/naked64/naked64.h index a13144011825..cb73e2142d20 100644 --- a/keyboards/naked64/naked64.h +++ b/keyboards/salicylic_acid3/naked64/naked64.h @@ -2,6 +2,6 @@ #include "quantum.h" -#ifdef KEYBOARD_naked64_rev1 +#ifdef KEYBOARD_salicylic_acid3_naked64_rev1 #include "rev1.h" #endif diff --git a/keyboards/naked64/readme.md b/keyboards/salicylic_acid3/naked64/readme.md similarity index 95% rename from keyboards/naked64/readme.md rename to keyboards/salicylic_acid3/naked64/readme.md index 403e5cf4aeb4..ab02be74f50d 100644 --- a/keyboards/naked64/readme.md +++ b/keyboards/salicylic_acid3/naked64/readme.md @@ -10,7 +10,7 @@ Hardware Availability: [PCB & Case Data](https://github.com/Salicylic-acid3/PCB_ Make example for this keyboard (after setting up your build environment): - make naked64:default:flash + make salicylic_acid3/naked64/rev1:default 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/naked64/rev1/config.h b/keyboards/salicylic_acid3/naked64/rev1/config.h similarity index 100% rename from keyboards/naked64/rev1/config.h rename to keyboards/salicylic_acid3/naked64/rev1/config.h diff --git a/keyboards/naked64/rev1/rev1.c b/keyboards/salicylic_acid3/naked64/rev1/rev1.c similarity index 100% rename from keyboards/naked64/rev1/rev1.c rename to keyboards/salicylic_acid3/naked64/rev1/rev1.c diff --git a/keyboards/naked64/rev1/rev1.h b/keyboards/salicylic_acid3/naked64/rev1/rev1.h similarity index 100% rename from keyboards/naked64/rev1/rev1.h rename to keyboards/salicylic_acid3/naked64/rev1/rev1.h diff --git a/keyboards/naked64/rev1/rules.mk b/keyboards/salicylic_acid3/naked64/rev1/rules.mk similarity index 100% rename from keyboards/naked64/rev1/rules.mk rename to keyboards/salicylic_acid3/naked64/rev1/rules.mk diff --git a/keyboards/naked64/rules.mk b/keyboards/salicylic_acid3/naked64/rules.mk similarity index 100% rename from keyboards/naked64/rules.mk rename to keyboards/salicylic_acid3/naked64/rules.mk diff --git a/keyboards/nknl7en/config.h b/keyboards/salicylic_acid3/nknl7en/config.h similarity index 100% rename from keyboards/nknl7en/config.h rename to keyboards/salicylic_acid3/nknl7en/config.h diff --git a/keyboards/nknl7en/info.json b/keyboards/salicylic_acid3/nknl7en/info.json similarity index 100% rename from keyboards/nknl7en/info.json rename to keyboards/salicylic_acid3/nknl7en/info.json diff --git a/keyboards/nknl7en/keymaps/default/config.h b/keyboards/salicylic_acid3/nknl7en/keymaps/default/config.h similarity index 100% rename from keyboards/nknl7en/keymaps/default/config.h rename to keyboards/salicylic_acid3/nknl7en/keymaps/default/config.h diff --git a/keyboards/nknl7en/keymaps/default/keymap.c b/keyboards/salicylic_acid3/nknl7en/keymaps/default/keymap.c similarity index 100% rename from keyboards/nknl7en/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/nknl7en/keymaps/default/keymap.c diff --git a/keyboards/nknl7en/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h similarity index 100% rename from keyboards/nknl7en/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h diff --git a/keyboards/nknl7en/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/nknl7en/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c diff --git a/keyboards/nknl7en/keymaps/via/config.h b/keyboards/salicylic_acid3/nknl7en/keymaps/via/config.h similarity index 100% rename from keyboards/nknl7en/keymaps/via/config.h rename to keyboards/salicylic_acid3/nknl7en/keymaps/via/config.h diff --git a/keyboards/nknl7en/keymaps/via/keymap.c b/keyboards/salicylic_acid3/nknl7en/keymaps/via/keymap.c similarity index 100% rename from keyboards/nknl7en/keymaps/via/keymap.c rename to keyboards/salicylic_acid3/nknl7en/keymaps/via/keymap.c diff --git a/keyboards/nknl7en/keymaps/via/rules.mk b/keyboards/salicylic_acid3/nknl7en/keymaps/via/rules.mk similarity index 100% rename from keyboards/nknl7en/keymaps/via/rules.mk rename to keyboards/salicylic_acid3/nknl7en/keymaps/via/rules.mk diff --git a/keyboards/nknl7en/nknl7en.c b/keyboards/salicylic_acid3/nknl7en/nknl7en.c similarity index 100% rename from keyboards/nknl7en/nknl7en.c rename to keyboards/salicylic_acid3/nknl7en/nknl7en.c diff --git a/keyboards/nknl7en/nknl7en.h b/keyboards/salicylic_acid3/nknl7en/nknl7en.h similarity index 100% rename from keyboards/nknl7en/nknl7en.h rename to keyboards/salicylic_acid3/nknl7en/nknl7en.h diff --git a/keyboards/nknl7en/readme.md b/keyboards/salicylic_acid3/nknl7en/readme.md similarity index 95% rename from keyboards/nknl7en/readme.md rename to keyboards/salicylic_acid3/nknl7en/readme.md index 5cbffae30c0a..07f87e3e5e4b 100644 --- a/keyboards/nknl7en/readme.md +++ b/keyboards/salicylic_acid3/nknl7en/readme.md @@ -10,7 +10,7 @@ This is 70 keys Custom keyboard. Make example for this keyboard (after setting up your build environment): - make nknl7en:default + make salicylic_acid3/nknl7en:default 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/nknl7en/rules.mk b/keyboards/salicylic_acid3/nknl7en/rules.mk similarity index 100% rename from keyboards/nknl7en/rules.mk rename to keyboards/salicylic_acid3/nknl7en/rules.mk diff --git a/keyboards/nknl7jp/config.h b/keyboards/salicylic_acid3/nknl7jp/config.h similarity index 100% rename from keyboards/nknl7jp/config.h rename to keyboards/salicylic_acid3/nknl7jp/config.h diff --git a/keyboards/nknl7jp/info.json b/keyboards/salicylic_acid3/nknl7jp/info.json similarity index 100% rename from keyboards/nknl7jp/info.json rename to keyboards/salicylic_acid3/nknl7jp/info.json diff --git a/keyboards/nknl7jp/keymaps/default/config.h b/keyboards/salicylic_acid3/nknl7jp/keymaps/default/config.h similarity index 100% rename from keyboards/nknl7jp/keymaps/default/config.h rename to keyboards/salicylic_acid3/nknl7jp/keymaps/default/config.h diff --git a/keyboards/nknl7jp/keymaps/default/keymap.c b/keyboards/salicylic_acid3/nknl7jp/keymaps/default/keymap.c similarity index 100% rename from keyboards/nknl7jp/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/nknl7jp/keymaps/default/keymap.c diff --git a/keyboards/nknl7jp/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h similarity index 100% rename from keyboards/nknl7jp/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h diff --git a/keyboards/nknl7jp/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/nknl7jp/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c diff --git a/keyboards/nknl7jp/keymaps/via/config.h b/keyboards/salicylic_acid3/nknl7jp/keymaps/via/config.h similarity index 100% rename from keyboards/nknl7jp/keymaps/via/config.h rename to keyboards/salicylic_acid3/nknl7jp/keymaps/via/config.h diff --git a/keyboards/nknl7jp/keymaps/via/keymap.c b/keyboards/salicylic_acid3/nknl7jp/keymaps/via/keymap.c similarity index 100% rename from keyboards/nknl7jp/keymaps/via/keymap.c rename to keyboards/salicylic_acid3/nknl7jp/keymaps/via/keymap.c diff --git a/keyboards/nknl7jp/keymaps/via/rules.mk b/keyboards/salicylic_acid3/nknl7jp/keymaps/via/rules.mk similarity index 100% rename from keyboards/nknl7jp/keymaps/via/rules.mk rename to keyboards/salicylic_acid3/nknl7jp/keymaps/via/rules.mk diff --git a/keyboards/nknl7jp/nknl7jp.c b/keyboards/salicylic_acid3/nknl7jp/nknl7jp.c similarity index 100% rename from keyboards/nknl7jp/nknl7jp.c rename to keyboards/salicylic_acid3/nknl7jp/nknl7jp.c diff --git a/keyboards/nknl7jp/nknl7jp.h b/keyboards/salicylic_acid3/nknl7jp/nknl7jp.h similarity index 100% rename from keyboards/nknl7jp/nknl7jp.h rename to keyboards/salicylic_acid3/nknl7jp/nknl7jp.h diff --git a/keyboards/nknl7jp/readme.md b/keyboards/salicylic_acid3/nknl7jp/readme.md similarity index 95% rename from keyboards/nknl7jp/readme.md rename to keyboards/salicylic_acid3/nknl7jp/readme.md index 9d0ccba4e8cf..b2f375aef872 100644 --- a/keyboards/nknl7jp/readme.md +++ b/keyboards/salicylic_acid3/nknl7jp/readme.md @@ -10,7 +10,7 @@ This is 73 keys Custom keyboard. Make example for this keyboard (after setting up your build environment): - make nknl7jp:default + make salicylic_acid3/nknl7jp:default 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/nknl7jp/rules.mk b/keyboards/salicylic_acid3/nknl7jp/rules.mk similarity index 100% rename from keyboards/nknl7jp/rules.mk rename to keyboards/salicylic_acid3/nknl7jp/rules.mk diff --git a/keyboards/setta21/config.h b/keyboards/salicylic_acid3/setta21/config.h similarity index 100% rename from keyboards/setta21/config.h rename to keyboards/salicylic_acid3/setta21/config.h diff --git a/keyboards/setta21/info.json b/keyboards/salicylic_acid3/setta21/info.json similarity index 100% rename from keyboards/setta21/info.json rename to keyboards/salicylic_acid3/setta21/info.json diff --git a/keyboards/setta21/keymaps/default/config.h b/keyboards/salicylic_acid3/setta21/keymaps/default/config.h similarity index 100% rename from keyboards/setta21/keymaps/default/config.h rename to keyboards/salicylic_acid3/setta21/keymaps/default/config.h diff --git a/keyboards/setta21/keymaps/default/keymap.c b/keyboards/salicylic_acid3/setta21/keymaps/default/keymap.c similarity index 100% rename from keyboards/setta21/keymaps/default/keymap.c rename to keyboards/salicylic_acid3/setta21/keymaps/default/keymap.c diff --git a/keyboards/setta21/keymaps/default/readme.md b/keyboards/salicylic_acid3/setta21/keymaps/default/readme.md similarity index 100% rename from keyboards/setta21/keymaps/default/readme.md rename to keyboards/salicylic_acid3/setta21/keymaps/default/readme.md diff --git a/keyboards/setta21/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h similarity index 100% rename from keyboards/setta21/keymaps/salicylic/config.h rename to keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h diff --git a/keyboards/setta21/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c similarity index 100% rename from keyboards/setta21/keymaps/salicylic/keymap.c rename to keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c diff --git a/keyboards/setta21/keymaps/salicylic/readme.md b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/readme.md similarity index 100% rename from keyboards/setta21/keymaps/salicylic/readme.md rename to keyboards/salicylic_acid3/setta21/keymaps/salicylic/readme.md diff --git a/keyboards/setta21/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/rules.mk similarity index 100% rename from keyboards/setta21/keymaps/salicylic/rules.mk rename to keyboards/salicylic_acid3/setta21/keymaps/salicylic/rules.mk diff --git a/keyboards/setta21/readme.md b/keyboards/salicylic_acid3/setta21/readme.md similarity index 94% rename from keyboards/setta21/readme.md rename to keyboards/salicylic_acid3/setta21/readme.md index c940079997f4..25027b728129 100644 --- a/keyboards/setta21/readme.md +++ b/keyboards/salicylic_acid3/setta21/readme.md @@ -10,7 +10,7 @@ This is 21 keys tenkeypad. Make example for this keyboard (after setting up your build environment): - make setta21:default + make salicylic_acid3/setta21/rev1:default 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/setta21/rev1/.noci b/keyboards/salicylic_acid3/setta21/rev1/.noci similarity index 100% rename from keyboards/setta21/rev1/.noci rename to keyboards/salicylic_acid3/setta21/rev1/.noci diff --git a/keyboards/setta21/rev1/config.h b/keyboards/salicylic_acid3/setta21/rev1/config.h similarity index 100% rename from keyboards/setta21/rev1/config.h rename to keyboards/salicylic_acid3/setta21/rev1/config.h diff --git a/keyboards/setta21/rev1/rev1.c b/keyboards/salicylic_acid3/setta21/rev1/rev1.c similarity index 100% rename from keyboards/setta21/rev1/rev1.c rename to keyboards/salicylic_acid3/setta21/rev1/rev1.c diff --git a/keyboards/setta21/rev1/rev1.h b/keyboards/salicylic_acid3/setta21/rev1/rev1.h similarity index 100% rename from keyboards/setta21/rev1/rev1.h rename to keyboards/salicylic_acid3/setta21/rev1/rev1.h diff --git a/keyboards/setta21/rev1/rules.mk b/keyboards/salicylic_acid3/setta21/rev1/rules.mk similarity index 100% rename from keyboards/setta21/rev1/rules.mk rename to keyboards/salicylic_acid3/setta21/rev1/rules.mk diff --git a/keyboards/setta21/rules.mk b/keyboards/salicylic_acid3/setta21/rules.mk similarity index 100% rename from keyboards/setta21/rules.mk rename to keyboards/salicylic_acid3/setta21/rules.mk diff --git a/keyboards/setta21/setta21.c b/keyboards/salicylic_acid3/setta21/setta21.c similarity index 100% rename from keyboards/setta21/setta21.c rename to keyboards/salicylic_acid3/setta21/setta21.c diff --git a/keyboards/setta21/setta21.h b/keyboards/salicylic_acid3/setta21/setta21.h similarity index 58% rename from keyboards/setta21/setta21.h rename to keyboards/salicylic_acid3/setta21/setta21.h index 0409f6cbc289..9e5b17e2c30c 100644 --- a/keyboards/setta21/setta21.h +++ b/keyboards/salicylic_acid3/setta21/setta21.h @@ -2,6 +2,6 @@ #include "quantum.h" -#ifdef KEYBOARD_setta21_rev1 +#ifdef KEYBOARD_salicylic_acid3_setta21_rev1 #include "rev1.h" #endif From aafbe043f91a9d33afb516fda0afba069f88113c Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 07:06:37 +0800 Subject: [PATCH 0066/1832] [Keyboard] move lyso1 's boards into lyso1/ (#15767) --- keyboards/{ => lyso1}/lck75/config.h | 0 keyboards/{ => lyso1}/lck75/info.json | 0 keyboards/{ => lyso1}/lck75/keymaps/7u/keymap.c | 0 keyboards/{ => lyso1}/lck75/keymaps/7u_iso/keymap.c | 0 keyboards/{ => lyso1}/lck75/keymaps/7u_sbs/keymap.c | 0 keyboards/{ => lyso1}/lck75/keymaps/default/keymap.c | 0 keyboards/{ => lyso1}/lck75/keymaps/iso/keymap.c | 0 keyboards/{ => lyso1}/lck75/keymaps/iso_sbs/keymap.c | 0 keyboards/{ => lyso1}/lck75/keymaps/sbs/keymap.c | 0 keyboards/{ => lyso1}/lck75/keymaps/via/keymap.c | 0 keyboards/{ => lyso1}/lck75/keymaps/via/rules.mk | 0 keyboards/{ => lyso1}/lck75/lck75.c | 0 keyboards/{ => lyso1}/lck75/lck75.h | 0 keyboards/{ => lyso1}/lck75/readme.md | 4 ++-- keyboards/{ => lyso1}/lck75/rules.mk | 0 keyboards/{ => lyso1}/lefishe/config.h | 0 keyboards/{ => lyso1}/lefishe/info.json | 0 keyboards/{ => lyso1}/lefishe/keymaps/default/keymap.c | 0 keyboards/{ => lyso1}/lefishe/keymaps/wk_sbs/keymap.c | 0 keyboards/{ => lyso1}/lefishe/keymaps/wkl/keymap.c | 0 keyboards/{ => lyso1}/lefishe/keymaps/wkl_sbs/keymap.c | 0 keyboards/{ => lyso1}/lefishe/lefishe.c | 0 keyboards/{ => lyso1}/lefishe/lefishe.h | 0 keyboards/{ => lyso1}/lefishe/readme.md | 4 ++-- keyboards/{ => lyso1}/lefishe/rules.mk | 0 25 files changed, 4 insertions(+), 4 deletions(-) rename keyboards/{ => lyso1}/lck75/config.h (100%) rename keyboards/{ => lyso1}/lck75/info.json (100%) rename keyboards/{ => lyso1}/lck75/keymaps/7u/keymap.c (100%) rename keyboards/{ => lyso1}/lck75/keymaps/7u_iso/keymap.c (100%) rename keyboards/{ => lyso1}/lck75/keymaps/7u_sbs/keymap.c (100%) rename keyboards/{ => lyso1}/lck75/keymaps/default/keymap.c (100%) rename keyboards/{ => lyso1}/lck75/keymaps/iso/keymap.c (100%) rename keyboards/{ => lyso1}/lck75/keymaps/iso_sbs/keymap.c (100%) rename keyboards/{ => lyso1}/lck75/keymaps/sbs/keymap.c (100%) rename keyboards/{ => lyso1}/lck75/keymaps/via/keymap.c (100%) rename keyboards/{ => lyso1}/lck75/keymaps/via/rules.mk (100%) rename keyboards/{ => lyso1}/lck75/lck75.c (100%) rename keyboards/{ => lyso1}/lck75/lck75.h (100%) rename keyboards/{ => lyso1}/lck75/readme.md (90%) rename keyboards/{ => lyso1}/lck75/rules.mk (100%) rename keyboards/{ => lyso1}/lefishe/config.h (100%) rename keyboards/{ => lyso1}/lefishe/info.json (100%) rename keyboards/{ => lyso1}/lefishe/keymaps/default/keymap.c (100%) rename keyboards/{ => lyso1}/lefishe/keymaps/wk_sbs/keymap.c (100%) rename keyboards/{ => lyso1}/lefishe/keymaps/wkl/keymap.c (100%) rename keyboards/{ => lyso1}/lefishe/keymaps/wkl_sbs/keymap.c (100%) rename keyboards/{ => lyso1}/lefishe/lefishe.c (100%) rename keyboards/{ => lyso1}/lefishe/lefishe.h (100%) rename keyboards/{ => lyso1}/lefishe/readme.md (94%) rename keyboards/{ => lyso1}/lefishe/rules.mk (100%) diff --git a/keyboards/lck75/config.h b/keyboards/lyso1/lck75/config.h similarity index 100% rename from keyboards/lck75/config.h rename to keyboards/lyso1/lck75/config.h diff --git a/keyboards/lck75/info.json b/keyboards/lyso1/lck75/info.json similarity index 100% rename from keyboards/lck75/info.json rename to keyboards/lyso1/lck75/info.json diff --git a/keyboards/lck75/keymaps/7u/keymap.c b/keyboards/lyso1/lck75/keymaps/7u/keymap.c similarity index 100% rename from keyboards/lck75/keymaps/7u/keymap.c rename to keyboards/lyso1/lck75/keymaps/7u/keymap.c diff --git a/keyboards/lck75/keymaps/7u_iso/keymap.c b/keyboards/lyso1/lck75/keymaps/7u_iso/keymap.c similarity index 100% rename from keyboards/lck75/keymaps/7u_iso/keymap.c rename to keyboards/lyso1/lck75/keymaps/7u_iso/keymap.c diff --git a/keyboards/lck75/keymaps/7u_sbs/keymap.c b/keyboards/lyso1/lck75/keymaps/7u_sbs/keymap.c similarity index 100% rename from keyboards/lck75/keymaps/7u_sbs/keymap.c rename to keyboards/lyso1/lck75/keymaps/7u_sbs/keymap.c diff --git a/keyboards/lck75/keymaps/default/keymap.c b/keyboards/lyso1/lck75/keymaps/default/keymap.c similarity index 100% rename from keyboards/lck75/keymaps/default/keymap.c rename to keyboards/lyso1/lck75/keymaps/default/keymap.c diff --git a/keyboards/lck75/keymaps/iso/keymap.c b/keyboards/lyso1/lck75/keymaps/iso/keymap.c similarity index 100% rename from keyboards/lck75/keymaps/iso/keymap.c rename to keyboards/lyso1/lck75/keymaps/iso/keymap.c diff --git a/keyboards/lck75/keymaps/iso_sbs/keymap.c b/keyboards/lyso1/lck75/keymaps/iso_sbs/keymap.c similarity index 100% rename from keyboards/lck75/keymaps/iso_sbs/keymap.c rename to keyboards/lyso1/lck75/keymaps/iso_sbs/keymap.c diff --git a/keyboards/lck75/keymaps/sbs/keymap.c b/keyboards/lyso1/lck75/keymaps/sbs/keymap.c similarity index 100% rename from keyboards/lck75/keymaps/sbs/keymap.c rename to keyboards/lyso1/lck75/keymaps/sbs/keymap.c diff --git a/keyboards/lck75/keymaps/via/keymap.c b/keyboards/lyso1/lck75/keymaps/via/keymap.c similarity index 100% rename from keyboards/lck75/keymaps/via/keymap.c rename to keyboards/lyso1/lck75/keymaps/via/keymap.c diff --git a/keyboards/lck75/keymaps/via/rules.mk b/keyboards/lyso1/lck75/keymaps/via/rules.mk similarity index 100% rename from keyboards/lck75/keymaps/via/rules.mk rename to keyboards/lyso1/lck75/keymaps/via/rules.mk diff --git a/keyboards/lck75/lck75.c b/keyboards/lyso1/lck75/lck75.c similarity index 100% rename from keyboards/lck75/lck75.c rename to keyboards/lyso1/lck75/lck75.c diff --git a/keyboards/lck75/lck75.h b/keyboards/lyso1/lck75/lck75.h similarity index 100% rename from keyboards/lck75/lck75.h rename to keyboards/lyso1/lck75/lck75.h diff --git a/keyboards/lck75/readme.md b/keyboards/lyso1/lck75/readme.md similarity index 90% rename from keyboards/lck75/readme.md rename to keyboards/lyso1/lck75/readme.md index 2ded56ebd2e6..bb3dd2626aa3 100644 --- a/keyboards/lck75/readme.md +++ b/keyboards/lyso1/lck75/readme.md @@ -8,10 +8,10 @@ A 75% keyboard that can be assembled with only through hole components, includin Make example for this keyboard (after setting up your build environment): - make lck75:default + make lyso1/lck75:default Flashing example for this keyboard: - make lck75:default:flash + make lyso1/lck75:default:flash 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/lck75/rules.mk b/keyboards/lyso1/lck75/rules.mk similarity index 100% rename from keyboards/lck75/rules.mk rename to keyboards/lyso1/lck75/rules.mk diff --git a/keyboards/lefishe/config.h b/keyboards/lyso1/lefishe/config.h similarity index 100% rename from keyboards/lefishe/config.h rename to keyboards/lyso1/lefishe/config.h diff --git a/keyboards/lefishe/info.json b/keyboards/lyso1/lefishe/info.json similarity index 100% rename from keyboards/lefishe/info.json rename to keyboards/lyso1/lefishe/info.json diff --git a/keyboards/lefishe/keymaps/default/keymap.c b/keyboards/lyso1/lefishe/keymaps/default/keymap.c similarity index 100% rename from keyboards/lefishe/keymaps/default/keymap.c rename to keyboards/lyso1/lefishe/keymaps/default/keymap.c diff --git a/keyboards/lefishe/keymaps/wk_sbs/keymap.c b/keyboards/lyso1/lefishe/keymaps/wk_sbs/keymap.c similarity index 100% rename from keyboards/lefishe/keymaps/wk_sbs/keymap.c rename to keyboards/lyso1/lefishe/keymaps/wk_sbs/keymap.c diff --git a/keyboards/lefishe/keymaps/wkl/keymap.c b/keyboards/lyso1/lefishe/keymaps/wkl/keymap.c similarity index 100% rename from keyboards/lefishe/keymaps/wkl/keymap.c rename to keyboards/lyso1/lefishe/keymaps/wkl/keymap.c diff --git a/keyboards/lefishe/keymaps/wkl_sbs/keymap.c b/keyboards/lyso1/lefishe/keymaps/wkl_sbs/keymap.c similarity index 100% rename from keyboards/lefishe/keymaps/wkl_sbs/keymap.c rename to keyboards/lyso1/lefishe/keymaps/wkl_sbs/keymap.c diff --git a/keyboards/lefishe/lefishe.c b/keyboards/lyso1/lefishe/lefishe.c similarity index 100% rename from keyboards/lefishe/lefishe.c rename to keyboards/lyso1/lefishe/lefishe.c diff --git a/keyboards/lefishe/lefishe.h b/keyboards/lyso1/lefishe/lefishe.h similarity index 100% rename from keyboards/lefishe/lefishe.h rename to keyboards/lyso1/lefishe/lefishe.h diff --git a/keyboards/lefishe/readme.md b/keyboards/lyso1/lefishe/readme.md similarity index 94% rename from keyboards/lefishe/readme.md rename to keyboards/lyso1/lefishe/readme.md index ae6ab1322e98..eb8322b2df05 100644 --- a/keyboards/lefishe/readme.md +++ b/keyboards/lyso1/lefishe/readme.md @@ -9,7 +9,7 @@ This pcb cab also be used as a replacement pcb for the revoKmini/kmacmini with s Make example for this keyboard (after setting up your build environment): - make lefishe:default + make lyso1/lefishe:default Enter into the bootloader to flash new firmware in 3 ways: @@ -19,6 +19,6 @@ Enter into the bootloader to flash new firmware in 3 ways: Flashing example for this keyboard: - make lefishe:default:flash + make lyso1/lefishe:default:flash 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/lefishe/rules.mk b/keyboards/lyso1/lefishe/rules.mk similarity index 100% rename from keyboards/lefishe/rules.mk rename to keyboards/lyso1/lefishe/rules.mk From ceea8ab5fe47f520a59d5ae7649c5e997bc813b2 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:35:23 +0800 Subject: [PATCH 0067/1832] [Keyboard] move standaside into edi/ (#15798) --- keyboards/{ => edi}/standaside/config.h | 0 keyboards/{ => edi}/standaside/info.json | 0 keyboards/{ => edi}/standaside/keymaps/default/keymap.c | 0 keyboards/{ => edi}/standaside/readme.md | 4 ++-- keyboards/{ => edi}/standaside/rules.mk | 0 keyboards/{ => edi}/standaside/standaside.c | 0 keyboards/{ => edi}/standaside/standaside.h | 0 7 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/{ => edi}/standaside/config.h (100%) rename keyboards/{ => edi}/standaside/info.json (100%) rename keyboards/{ => edi}/standaside/keymaps/default/keymap.c (100%) rename keyboards/{ => edi}/standaside/readme.md (94%) rename keyboards/{ => edi}/standaside/rules.mk (100%) rename keyboards/{ => edi}/standaside/standaside.c (100%) rename keyboards/{ => edi}/standaside/standaside.h (100%) diff --git a/keyboards/standaside/config.h b/keyboards/edi/standaside/config.h similarity index 100% rename from keyboards/standaside/config.h rename to keyboards/edi/standaside/config.h diff --git a/keyboards/standaside/info.json b/keyboards/edi/standaside/info.json similarity index 100% rename from keyboards/standaside/info.json rename to keyboards/edi/standaside/info.json diff --git a/keyboards/standaside/keymaps/default/keymap.c b/keyboards/edi/standaside/keymaps/default/keymap.c similarity index 100% rename from keyboards/standaside/keymaps/default/keymap.c rename to keyboards/edi/standaside/keymaps/default/keymap.c diff --git a/keyboards/standaside/readme.md b/keyboards/edi/standaside/readme.md similarity index 94% rename from keyboards/standaside/readme.md rename to keyboards/edi/standaside/readme.md index ca1cfb2763de..51911c877d20 100644 --- a/keyboards/standaside/readme.md +++ b/keyboards/edi/standaside/readme.md @@ -10,6 +10,6 @@ Hardware Availability: Seven Store (https://store.7storm.org). Make example for this keyboard (after setting up your build environment): - make standaside:default + make edi/standaside:default -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). \ No newline at end of file +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/standaside/rules.mk b/keyboards/edi/standaside/rules.mk similarity index 100% rename from keyboards/standaside/rules.mk rename to keyboards/edi/standaside/rules.mk diff --git a/keyboards/standaside/standaside.c b/keyboards/edi/standaside/standaside.c similarity index 100% rename from keyboards/standaside/standaside.c rename to keyboards/edi/standaside/standaside.c diff --git a/keyboards/standaside/standaside.h b/keyboards/edi/standaside/standaside.h similarity index 100% rename from keyboards/standaside/standaside.h rename to keyboards/edi/standaside/standaside.h From 31a6401193f66d5c6d244c3db6e6292b57e274d7 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:35:54 +0800 Subject: [PATCH 0068/1832] [Keyboard] move rainkeebs's keyboards to rainkeebs/ (#15797) --- keyboards/{ => rainkeebs}/delilah/config.h | 0 keyboards/{ => rainkeebs}/delilah/delilah.c | 0 keyboards/{ => rainkeebs}/delilah/delilah.h | 0 keyboards/{ => rainkeebs}/delilah/info.json | 0 keyboards/{ => rainkeebs}/delilah/keymaps/default/keymap.c | 0 keyboards/{ => rainkeebs}/delilah/keymaps/via/keymap.c | 0 keyboards/{ => rainkeebs}/delilah/keymaps/via/rules.mk | 0 keyboards/{ => rainkeebs}/delilah/readme.md | 4 ++-- keyboards/{ => rainkeebs}/delilah/rules.mk | 0 keyboards/{ => rainkeebs}/rainkeeb/config.h | 0 keyboards/{ => rainkeebs}/rainkeeb/info.json | 0 keyboards/{ => rainkeebs}/rainkeeb/keymaps/default/keymap.c | 0 keyboards/{ => rainkeebs}/rainkeeb/keymaps/via/keymap.c | 0 keyboards/{ => rainkeebs}/rainkeeb/keymaps/via/rules.mk | 0 keyboards/{ => rainkeebs}/rainkeeb/rainkeeb.c | 0 keyboards/{ => rainkeebs}/rainkeeb/rainkeeb.h | 0 keyboards/{ => rainkeebs}/rainkeeb/readme.md | 4 ++-- keyboards/{ => rainkeebs}/rainkeeb/rules.mk | 0 keyboards/{ => rainkeebs}/yasui/config.h | 0 keyboards/{ => rainkeebs}/yasui/info.json | 0 keyboards/{ => rainkeebs}/yasui/keymaps/default/keymap.c | 0 keyboards/{ => rainkeebs}/yasui/keymaps/via/keymap.c | 0 keyboards/{ => rainkeebs}/yasui/keymaps/via/rules.mk | 0 keyboards/{ => rainkeebs}/yasui/readme.md | 4 ++-- keyboards/{ => rainkeebs}/yasui/rules.mk | 0 keyboards/{ => rainkeebs}/yasui/yasui.c | 0 keyboards/{ => rainkeebs}/yasui/yasui.h | 0 27 files changed, 6 insertions(+), 6 deletions(-) rename keyboards/{ => rainkeebs}/delilah/config.h (100%) rename keyboards/{ => rainkeebs}/delilah/delilah.c (100%) rename keyboards/{ => rainkeebs}/delilah/delilah.h (100%) rename keyboards/{ => rainkeebs}/delilah/info.json (100%) rename keyboards/{ => rainkeebs}/delilah/keymaps/default/keymap.c (100%) rename keyboards/{ => rainkeebs}/delilah/keymaps/via/keymap.c (100%) rename keyboards/{ => rainkeebs}/delilah/keymaps/via/rules.mk (100%) rename keyboards/{ => rainkeebs}/delilah/readme.md (89%) rename keyboards/{ => rainkeebs}/delilah/rules.mk (100%) rename keyboards/{ => rainkeebs}/rainkeeb/config.h (100%) rename keyboards/{ => rainkeebs}/rainkeeb/info.json (100%) rename keyboards/{ => rainkeebs}/rainkeeb/keymaps/default/keymap.c (100%) rename keyboards/{ => rainkeebs}/rainkeeb/keymaps/via/keymap.c (100%) rename keyboards/{ => rainkeebs}/rainkeeb/keymaps/via/rules.mk (100%) rename keyboards/{ => rainkeebs}/rainkeeb/rainkeeb.c (100%) rename keyboards/{ => rainkeebs}/rainkeeb/rainkeeb.h (100%) rename keyboards/{ => rainkeebs}/rainkeeb/readme.md (95%) rename keyboards/{ => rainkeebs}/rainkeeb/rules.mk (100%) rename keyboards/{ => rainkeebs}/yasui/config.h (100%) rename keyboards/{ => rainkeebs}/yasui/info.json (100%) rename keyboards/{ => rainkeebs}/yasui/keymaps/default/keymap.c (100%) rename keyboards/{ => rainkeebs}/yasui/keymaps/via/keymap.c (100%) rename keyboards/{ => rainkeebs}/yasui/keymaps/via/rules.mk (100%) rename keyboards/{ => rainkeebs}/yasui/readme.md (88%) rename keyboards/{ => rainkeebs}/yasui/rules.mk (100%) rename keyboards/{ => rainkeebs}/yasui/yasui.c (100%) rename keyboards/{ => rainkeebs}/yasui/yasui.h (100%) diff --git a/keyboards/delilah/config.h b/keyboards/rainkeebs/delilah/config.h similarity index 100% rename from keyboards/delilah/config.h rename to keyboards/rainkeebs/delilah/config.h diff --git a/keyboards/delilah/delilah.c b/keyboards/rainkeebs/delilah/delilah.c similarity index 100% rename from keyboards/delilah/delilah.c rename to keyboards/rainkeebs/delilah/delilah.c diff --git a/keyboards/delilah/delilah.h b/keyboards/rainkeebs/delilah/delilah.h similarity index 100% rename from keyboards/delilah/delilah.h rename to keyboards/rainkeebs/delilah/delilah.h diff --git a/keyboards/delilah/info.json b/keyboards/rainkeebs/delilah/info.json similarity index 100% rename from keyboards/delilah/info.json rename to keyboards/rainkeebs/delilah/info.json diff --git a/keyboards/delilah/keymaps/default/keymap.c b/keyboards/rainkeebs/delilah/keymaps/default/keymap.c similarity index 100% rename from keyboards/delilah/keymaps/default/keymap.c rename to keyboards/rainkeebs/delilah/keymaps/default/keymap.c diff --git a/keyboards/delilah/keymaps/via/keymap.c b/keyboards/rainkeebs/delilah/keymaps/via/keymap.c similarity index 100% rename from keyboards/delilah/keymaps/via/keymap.c rename to keyboards/rainkeebs/delilah/keymaps/via/keymap.c diff --git a/keyboards/delilah/keymaps/via/rules.mk b/keyboards/rainkeebs/delilah/keymaps/via/rules.mk similarity index 100% rename from keyboards/delilah/keymaps/via/rules.mk rename to keyboards/rainkeebs/delilah/keymaps/via/rules.mk diff --git a/keyboards/delilah/readme.md b/keyboards/rainkeebs/delilah/readme.md similarity index 89% rename from keyboards/delilah/readme.md rename to keyboards/rainkeebs/delilah/readme.md index 8ba9d8318867..cc8ad40d62cf 100644 --- a/keyboards/delilah/readme.md +++ b/keyboards/rainkeebs/delilah/readme.md @@ -11,12 +11,12 @@ A 12.25u, traditional stagger, 40% keyboard. Designed to keep another punctuatio Make example for this keyboard (after setting up your build environment): - qmk compile -kb delilah -kb default + qmk compile -kb rainkeebs/delilah -km default To reset the keyboard, hold the top left key while plugging in, or hit the reset button near the USB port Install example for this keyboard: - qmk flash -kb delilah -km default + qmk flash -kb rainkeebs/delilah -km default 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/delilah/rules.mk b/keyboards/rainkeebs/delilah/rules.mk similarity index 100% rename from keyboards/delilah/rules.mk rename to keyboards/rainkeebs/delilah/rules.mk diff --git a/keyboards/rainkeeb/config.h b/keyboards/rainkeebs/rainkeeb/config.h similarity index 100% rename from keyboards/rainkeeb/config.h rename to keyboards/rainkeebs/rainkeeb/config.h diff --git a/keyboards/rainkeeb/info.json b/keyboards/rainkeebs/rainkeeb/info.json similarity index 100% rename from keyboards/rainkeeb/info.json rename to keyboards/rainkeebs/rainkeeb/info.json diff --git a/keyboards/rainkeeb/keymaps/default/keymap.c b/keyboards/rainkeebs/rainkeeb/keymaps/default/keymap.c similarity index 100% rename from keyboards/rainkeeb/keymaps/default/keymap.c rename to keyboards/rainkeebs/rainkeeb/keymaps/default/keymap.c diff --git a/keyboards/rainkeeb/keymaps/via/keymap.c b/keyboards/rainkeebs/rainkeeb/keymaps/via/keymap.c similarity index 100% rename from keyboards/rainkeeb/keymaps/via/keymap.c rename to keyboards/rainkeebs/rainkeeb/keymaps/via/keymap.c diff --git a/keyboards/rainkeeb/keymaps/via/rules.mk b/keyboards/rainkeebs/rainkeeb/keymaps/via/rules.mk similarity index 100% rename from keyboards/rainkeeb/keymaps/via/rules.mk rename to keyboards/rainkeebs/rainkeeb/keymaps/via/rules.mk diff --git a/keyboards/rainkeeb/rainkeeb.c b/keyboards/rainkeebs/rainkeeb/rainkeeb.c similarity index 100% rename from keyboards/rainkeeb/rainkeeb.c rename to keyboards/rainkeebs/rainkeeb/rainkeeb.c diff --git a/keyboards/rainkeeb/rainkeeb.h b/keyboards/rainkeebs/rainkeeb/rainkeeb.h similarity index 100% rename from keyboards/rainkeeb/rainkeeb.h rename to keyboards/rainkeebs/rainkeeb/rainkeeb.h diff --git a/keyboards/rainkeeb/readme.md b/keyboards/rainkeebs/rainkeeb/readme.md similarity index 95% rename from keyboards/rainkeeb/readme.md rename to keyboards/rainkeebs/rainkeeb/readme.md index f2c759ebeb99..6d82df0283c1 100644 --- a/keyboards/rainkeeb/readme.md +++ b/keyboards/rainkeebs/rainkeeb/readme.md @@ -13,12 +13,12 @@ This is the default layout, at least the base layer. By default the OLED display Make example for this keyboard (after setting up your build environment): - make rainkeeb:default + make rainkeebs/rainkeeb:default To put reset into bootloader mode just push the reset button from the left side of the board using a pair of tweezers or similar object. Install example for this keyboard: - make rainkeeb:default:flash + make rainkeebs/rainkeeb:default:flash 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/rainkeeb/rules.mk b/keyboards/rainkeebs/rainkeeb/rules.mk similarity index 100% rename from keyboards/rainkeeb/rules.mk rename to keyboards/rainkeebs/rainkeeb/rules.mk diff --git a/keyboards/yasui/config.h b/keyboards/rainkeebs/yasui/config.h similarity index 100% rename from keyboards/yasui/config.h rename to keyboards/rainkeebs/yasui/config.h diff --git a/keyboards/yasui/info.json b/keyboards/rainkeebs/yasui/info.json similarity index 100% rename from keyboards/yasui/info.json rename to keyboards/rainkeebs/yasui/info.json diff --git a/keyboards/yasui/keymaps/default/keymap.c b/keyboards/rainkeebs/yasui/keymaps/default/keymap.c similarity index 100% rename from keyboards/yasui/keymaps/default/keymap.c rename to keyboards/rainkeebs/yasui/keymaps/default/keymap.c diff --git a/keyboards/yasui/keymaps/via/keymap.c b/keyboards/rainkeebs/yasui/keymaps/via/keymap.c similarity index 100% rename from keyboards/yasui/keymaps/via/keymap.c rename to keyboards/rainkeebs/yasui/keymaps/via/keymap.c diff --git a/keyboards/yasui/keymaps/via/rules.mk b/keyboards/rainkeebs/yasui/keymaps/via/rules.mk similarity index 100% rename from keyboards/yasui/keymaps/via/rules.mk rename to keyboards/rainkeebs/yasui/keymaps/via/rules.mk diff --git a/keyboards/yasui/readme.md b/keyboards/rainkeebs/yasui/readme.md similarity index 88% rename from keyboards/yasui/readme.md rename to keyboards/rainkeebs/yasui/readme.md index dfc20bbe6b30..c167abf4a05a 100644 --- a/keyboards/yasui/readme.md +++ b/keyboards/rainkeebs/yasui/readme.md @@ -11,12 +11,12 @@ A 10u ortho kit. Make example for this keyboard (after setting up your build environment): - qmk compile -kb yasui -kb default + qmk compile -kb rainkeebs/yasui -km default To reset the keyboard, hold the top left key while plugging in, or hit the reset button near the USB port Install example for this keyboard: - qmk flash -kb yasui -km default + qmk flash -kb rainkeebs/yasui -km default 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/yasui/rules.mk b/keyboards/rainkeebs/yasui/rules.mk similarity index 100% rename from keyboards/yasui/rules.mk rename to keyboards/rainkeebs/yasui/rules.mk diff --git a/keyboards/yasui/yasui.c b/keyboards/rainkeebs/yasui/yasui.c similarity index 100% rename from keyboards/yasui/yasui.c rename to keyboards/rainkeebs/yasui/yasui.c diff --git a/keyboards/yasui/yasui.h b/keyboards/rainkeebs/yasui/yasui.h similarity index 100% rename from keyboards/yasui/yasui.h rename to keyboards/rainkeebs/yasui/yasui.h From a2ddb44957ce134b08081daf769ec25cd1463918 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:38:31 +0800 Subject: [PATCH 0069/1832] [Keyboard] move marksard's boards to marksard/ (#15786) --- keyboards/{ => marksard}/treadstone32/info.json | 0 .../{ => marksard}/treadstone32/keymaps/default/config.h | 0 .../{ => marksard}/treadstone32/keymaps/default/keymap.c | 0 .../{ => marksard}/treadstone32/keymaps/default/readme.md | 0 .../{ => marksard}/treadstone32/keymaps/default/readme_jp.md | 0 .../{ => marksard}/treadstone32/keymaps/default/rules.mk | 0 .../{ => marksard}/treadstone32/keymaps/like_jis/config.h | 0 .../{ => marksard}/treadstone32/keymaps/like_jis/keymap.c | 0 .../{ => marksard}/treadstone32/keymaps/like_jis/readme.md | 0 .../{ => marksard}/treadstone32/keymaps/like_jis/readme_jp.md | 0 .../{ => marksard}/treadstone32/keymaps/like_jis/rules.mk | 0 keyboards/{ => marksard}/treadstone32/lite/.noci | 0 keyboards/{ => marksard}/treadstone32/lite/config.h | 0 keyboards/{ => marksard}/treadstone32/lite/lite.c | 0 keyboards/{ => marksard}/treadstone32/lite/lite.h | 0 keyboards/{ => marksard}/treadstone32/lite/rules.mk | 0 keyboards/{ => marksard}/treadstone32/readme.md | 4 ++-- keyboards/{ => marksard}/treadstone32/rev1/.noci | 0 keyboards/{ => marksard}/treadstone32/rev1/config.h | 0 keyboards/{ => marksard}/treadstone32/rev1/rev1.c | 0 keyboards/{ => marksard}/treadstone32/rev1/rev1.h | 0 keyboards/{ => marksard}/treadstone32/rev1/rules.mk | 0 keyboards/{ => marksard}/treadstone32/rules.mk | 0 keyboards/{ => marksard/treadstone48}/treadstone48/.noci | 0 .../treadstone48}/treadstone48/common/glcdfont.c | 0 .../treadstone48}/treadstone48/common/oled_helper.c | 0 .../treadstone48}/treadstone48/common/oled_helper.h | 0 .../treadstone48}/treadstone48/keymaps/default/config.h | 0 .../treadstone48}/treadstone48/keymaps/default/keymap.c | 0 .../treadstone48}/treadstone48/keymaps/default/readme.md | 0 .../treadstone48}/treadstone48/keymaps/default/readme_jp.md | 0 .../treadstone48}/treadstone48/keymaps/default/rules.mk | 0 .../treadstone48}/treadstone48/keymaps/like_jis/config.h | 0 .../treadstone48}/treadstone48/keymaps/like_jis/keymap.c | 0 .../treadstone48}/treadstone48/keymaps/like_jis/readme.md | 0 .../treadstone48}/treadstone48/keymaps/like_jis/readme_jp.md | 0 .../treadstone48}/treadstone48/keymaps/like_jis/rules.mk | 0 keyboards/{ => marksard/treadstone48}/treadstone48/readme.md | 4 ++-- keyboards/{ => marksard/treadstone48}/treadstone48/rev1/.noci | 0 .../{ => marksard/treadstone48}/treadstone48/rev1/config.h | 0 .../{ => marksard/treadstone48}/treadstone48/rev1/info.json | 0 .../treadstone48/rev1/keymaps/like_jis_rs/config.h | 0 .../treadstone48/rev1/keymaps/like_jis_rs/keymap.c | 0 .../treadstone48/rev1/keymaps/like_jis_rs/readme.md | 0 .../treadstone48/rev1/keymaps/like_jis_rs/readme_jp.md | 0 .../treadstone48/rev1/keymaps/like_jis_rs/rules.mk | 0 .../{ => marksard/treadstone48}/treadstone48/rev1/rev1.c | 0 .../{ => marksard/treadstone48}/treadstone48/rev1/rev1.h | 0 .../{ => marksard/treadstone48}/treadstone48/rev1/rules.mk | 0 .../{ => marksard/treadstone48}/treadstone48/rev2/config.h | 0 .../{ => marksard/treadstone48}/treadstone48/rev2/info.json | 0 .../{ => marksard/treadstone48}/treadstone48/rev2/rev2.c | 0 .../{ => marksard/treadstone48}/treadstone48/rev2/rev2.h | 0 .../{ => marksard/treadstone48}/treadstone48/rev2/rules.mk | 0 keyboards/{ => marksard/treadstone48}/treadstone48/rules.mk | 0 55 files changed, 4 insertions(+), 4 deletions(-) rename keyboards/{ => marksard}/treadstone32/info.json (100%) rename keyboards/{ => marksard}/treadstone32/keymaps/default/config.h (100%) rename keyboards/{ => marksard}/treadstone32/keymaps/default/keymap.c (100%) rename keyboards/{ => marksard}/treadstone32/keymaps/default/readme.md (100%) rename keyboards/{ => marksard}/treadstone32/keymaps/default/readme_jp.md (100%) rename keyboards/{ => marksard}/treadstone32/keymaps/default/rules.mk (100%) rename keyboards/{ => marksard}/treadstone32/keymaps/like_jis/config.h (100%) rename keyboards/{ => marksard}/treadstone32/keymaps/like_jis/keymap.c (100%) rename keyboards/{ => marksard}/treadstone32/keymaps/like_jis/readme.md (100%) rename keyboards/{ => marksard}/treadstone32/keymaps/like_jis/readme_jp.md (100%) rename keyboards/{ => marksard}/treadstone32/keymaps/like_jis/rules.mk (100%) rename keyboards/{ => marksard}/treadstone32/lite/.noci (100%) rename keyboards/{ => marksard}/treadstone32/lite/config.h (100%) rename keyboards/{ => marksard}/treadstone32/lite/lite.c (100%) rename keyboards/{ => marksard}/treadstone32/lite/lite.h (100%) rename keyboards/{ => marksard}/treadstone32/lite/rules.mk (100%) rename keyboards/{ => marksard}/treadstone32/readme.md (92%) rename keyboards/{ => marksard}/treadstone32/rev1/.noci (100%) rename keyboards/{ => marksard}/treadstone32/rev1/config.h (100%) rename keyboards/{ => marksard}/treadstone32/rev1/rev1.c (100%) rename keyboards/{ => marksard}/treadstone32/rev1/rev1.h (100%) rename keyboards/{ => marksard}/treadstone32/rev1/rules.mk (100%) rename keyboards/{ => marksard}/treadstone32/rules.mk (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/.noci (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/common/glcdfont.c (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/common/oled_helper.c (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/common/oled_helper.h (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/keymaps/default/config.h (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/keymaps/default/keymap.c (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/keymaps/default/readme.md (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/keymaps/default/readme_jp.md (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/keymaps/default/rules.mk (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/keymaps/like_jis/config.h (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/keymaps/like_jis/keymap.c (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/keymaps/like_jis/readme.md (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/keymaps/like_jis/readme_jp.md (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/keymaps/like_jis/rules.mk (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/readme.md (92%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/.noci (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/config.h (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/info.json (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/keymaps/like_jis_rs/config.h (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/keymaps/like_jis_rs/keymap.c (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/keymaps/like_jis_rs/readme.md (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/keymaps/like_jis_rs/readme_jp.md (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/keymaps/like_jis_rs/rules.mk (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/rev1.c (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/rev1.h (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev1/rules.mk (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev2/config.h (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev2/info.json (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev2/rev2.c (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev2/rev2.h (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rev2/rules.mk (100%) rename keyboards/{ => marksard/treadstone48}/treadstone48/rules.mk (100%) diff --git a/keyboards/treadstone32/info.json b/keyboards/marksard/treadstone32/info.json similarity index 100% rename from keyboards/treadstone32/info.json rename to keyboards/marksard/treadstone32/info.json diff --git a/keyboards/treadstone32/keymaps/default/config.h b/keyboards/marksard/treadstone32/keymaps/default/config.h similarity index 100% rename from keyboards/treadstone32/keymaps/default/config.h rename to keyboards/marksard/treadstone32/keymaps/default/config.h diff --git a/keyboards/treadstone32/keymaps/default/keymap.c b/keyboards/marksard/treadstone32/keymaps/default/keymap.c similarity index 100% rename from keyboards/treadstone32/keymaps/default/keymap.c rename to keyboards/marksard/treadstone32/keymaps/default/keymap.c diff --git a/keyboards/treadstone32/keymaps/default/readme.md b/keyboards/marksard/treadstone32/keymaps/default/readme.md similarity index 100% rename from keyboards/treadstone32/keymaps/default/readme.md rename to keyboards/marksard/treadstone32/keymaps/default/readme.md diff --git a/keyboards/treadstone32/keymaps/default/readme_jp.md b/keyboards/marksard/treadstone32/keymaps/default/readme_jp.md similarity index 100% rename from keyboards/treadstone32/keymaps/default/readme_jp.md rename to keyboards/marksard/treadstone32/keymaps/default/readme_jp.md diff --git a/keyboards/treadstone32/keymaps/default/rules.mk b/keyboards/marksard/treadstone32/keymaps/default/rules.mk similarity index 100% rename from keyboards/treadstone32/keymaps/default/rules.mk rename to keyboards/marksard/treadstone32/keymaps/default/rules.mk diff --git a/keyboards/treadstone32/keymaps/like_jis/config.h b/keyboards/marksard/treadstone32/keymaps/like_jis/config.h similarity index 100% rename from keyboards/treadstone32/keymaps/like_jis/config.h rename to keyboards/marksard/treadstone32/keymaps/like_jis/config.h diff --git a/keyboards/treadstone32/keymaps/like_jis/keymap.c b/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c similarity index 100% rename from keyboards/treadstone32/keymaps/like_jis/keymap.c rename to keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c diff --git a/keyboards/treadstone32/keymaps/like_jis/readme.md b/keyboards/marksard/treadstone32/keymaps/like_jis/readme.md similarity index 100% rename from keyboards/treadstone32/keymaps/like_jis/readme.md rename to keyboards/marksard/treadstone32/keymaps/like_jis/readme.md diff --git a/keyboards/treadstone32/keymaps/like_jis/readme_jp.md b/keyboards/marksard/treadstone32/keymaps/like_jis/readme_jp.md similarity index 100% rename from keyboards/treadstone32/keymaps/like_jis/readme_jp.md rename to keyboards/marksard/treadstone32/keymaps/like_jis/readme_jp.md diff --git a/keyboards/treadstone32/keymaps/like_jis/rules.mk b/keyboards/marksard/treadstone32/keymaps/like_jis/rules.mk similarity index 100% rename from keyboards/treadstone32/keymaps/like_jis/rules.mk rename to keyboards/marksard/treadstone32/keymaps/like_jis/rules.mk diff --git a/keyboards/treadstone32/lite/.noci b/keyboards/marksard/treadstone32/lite/.noci similarity index 100% rename from keyboards/treadstone32/lite/.noci rename to keyboards/marksard/treadstone32/lite/.noci diff --git a/keyboards/treadstone32/lite/config.h b/keyboards/marksard/treadstone32/lite/config.h similarity index 100% rename from keyboards/treadstone32/lite/config.h rename to keyboards/marksard/treadstone32/lite/config.h diff --git a/keyboards/treadstone32/lite/lite.c b/keyboards/marksard/treadstone32/lite/lite.c similarity index 100% rename from keyboards/treadstone32/lite/lite.c rename to keyboards/marksard/treadstone32/lite/lite.c diff --git a/keyboards/treadstone32/lite/lite.h b/keyboards/marksard/treadstone32/lite/lite.h similarity index 100% rename from keyboards/treadstone32/lite/lite.h rename to keyboards/marksard/treadstone32/lite/lite.h diff --git a/keyboards/treadstone32/lite/rules.mk b/keyboards/marksard/treadstone32/lite/rules.mk similarity index 100% rename from keyboards/treadstone32/lite/rules.mk rename to keyboards/marksard/treadstone32/lite/rules.mk diff --git a/keyboards/treadstone32/readme.md b/keyboards/marksard/treadstone32/readme.md similarity index 92% rename from keyboards/treadstone32/readme.md rename to keyboards/marksard/treadstone32/readme.md index 99cbe4e01454..170c6bc76184 100644 --- a/keyboards/treadstone32/readme.md +++ b/keyboards/marksard/treadstone32/readme.md @@ -10,9 +10,9 @@ Hardware Availability: links to where you can find this hardware Make example for this keyboard (after setting up your build environment): - make treadstone32:default + make marksard/treadstone32:default or - make treadstone32/lite:default + make marksard/treadstone32/lite:default 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/treadstone32/rev1/.noci b/keyboards/marksard/treadstone32/rev1/.noci similarity index 100% rename from keyboards/treadstone32/rev1/.noci rename to keyboards/marksard/treadstone32/rev1/.noci diff --git a/keyboards/treadstone32/rev1/config.h b/keyboards/marksard/treadstone32/rev1/config.h similarity index 100% rename from keyboards/treadstone32/rev1/config.h rename to keyboards/marksard/treadstone32/rev1/config.h diff --git a/keyboards/treadstone32/rev1/rev1.c b/keyboards/marksard/treadstone32/rev1/rev1.c similarity index 100% rename from keyboards/treadstone32/rev1/rev1.c rename to keyboards/marksard/treadstone32/rev1/rev1.c diff --git a/keyboards/treadstone32/rev1/rev1.h b/keyboards/marksard/treadstone32/rev1/rev1.h similarity index 100% rename from keyboards/treadstone32/rev1/rev1.h rename to keyboards/marksard/treadstone32/rev1/rev1.h diff --git a/keyboards/treadstone32/rev1/rules.mk b/keyboards/marksard/treadstone32/rev1/rules.mk similarity index 100% rename from keyboards/treadstone32/rev1/rules.mk rename to keyboards/marksard/treadstone32/rev1/rules.mk diff --git a/keyboards/treadstone32/rules.mk b/keyboards/marksard/treadstone32/rules.mk similarity index 100% rename from keyboards/treadstone32/rules.mk rename to keyboards/marksard/treadstone32/rules.mk diff --git a/keyboards/treadstone48/.noci b/keyboards/marksard/treadstone48/treadstone48/.noci similarity index 100% rename from keyboards/treadstone48/.noci rename to keyboards/marksard/treadstone48/treadstone48/.noci diff --git a/keyboards/treadstone48/common/glcdfont.c b/keyboards/marksard/treadstone48/treadstone48/common/glcdfont.c similarity index 100% rename from keyboards/treadstone48/common/glcdfont.c rename to keyboards/marksard/treadstone48/treadstone48/common/glcdfont.c diff --git a/keyboards/treadstone48/common/oled_helper.c b/keyboards/marksard/treadstone48/treadstone48/common/oled_helper.c similarity index 100% rename from keyboards/treadstone48/common/oled_helper.c rename to keyboards/marksard/treadstone48/treadstone48/common/oled_helper.c diff --git a/keyboards/treadstone48/common/oled_helper.h b/keyboards/marksard/treadstone48/treadstone48/common/oled_helper.h similarity index 100% rename from keyboards/treadstone48/common/oled_helper.h rename to keyboards/marksard/treadstone48/treadstone48/common/oled_helper.h diff --git a/keyboards/treadstone48/keymaps/default/config.h b/keyboards/marksard/treadstone48/treadstone48/keymaps/default/config.h similarity index 100% rename from keyboards/treadstone48/keymaps/default/config.h rename to keyboards/marksard/treadstone48/treadstone48/keymaps/default/config.h diff --git a/keyboards/treadstone48/keymaps/default/keymap.c b/keyboards/marksard/treadstone48/treadstone48/keymaps/default/keymap.c similarity index 100% rename from keyboards/treadstone48/keymaps/default/keymap.c rename to keyboards/marksard/treadstone48/treadstone48/keymaps/default/keymap.c diff --git a/keyboards/treadstone48/keymaps/default/readme.md b/keyboards/marksard/treadstone48/treadstone48/keymaps/default/readme.md similarity index 100% rename from keyboards/treadstone48/keymaps/default/readme.md rename to keyboards/marksard/treadstone48/treadstone48/keymaps/default/readme.md diff --git a/keyboards/treadstone48/keymaps/default/readme_jp.md b/keyboards/marksard/treadstone48/treadstone48/keymaps/default/readme_jp.md similarity index 100% rename from keyboards/treadstone48/keymaps/default/readme_jp.md rename to keyboards/marksard/treadstone48/treadstone48/keymaps/default/readme_jp.md diff --git a/keyboards/treadstone48/keymaps/default/rules.mk b/keyboards/marksard/treadstone48/treadstone48/keymaps/default/rules.mk similarity index 100% rename from keyboards/treadstone48/keymaps/default/rules.mk rename to keyboards/marksard/treadstone48/treadstone48/keymaps/default/rules.mk diff --git a/keyboards/treadstone48/keymaps/like_jis/config.h b/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/config.h similarity index 100% rename from keyboards/treadstone48/keymaps/like_jis/config.h rename to keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/config.h diff --git a/keyboards/treadstone48/keymaps/like_jis/keymap.c b/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/keymap.c similarity index 100% rename from keyboards/treadstone48/keymaps/like_jis/keymap.c rename to keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/keymap.c diff --git a/keyboards/treadstone48/keymaps/like_jis/readme.md b/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/readme.md similarity index 100% rename from keyboards/treadstone48/keymaps/like_jis/readme.md rename to keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/readme.md diff --git a/keyboards/treadstone48/keymaps/like_jis/readme_jp.md b/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/readme_jp.md similarity index 100% rename from keyboards/treadstone48/keymaps/like_jis/readme_jp.md rename to keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/readme_jp.md diff --git a/keyboards/treadstone48/keymaps/like_jis/rules.mk b/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/rules.mk similarity index 100% rename from keyboards/treadstone48/keymaps/like_jis/rules.mk rename to keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/rules.mk diff --git a/keyboards/treadstone48/readme.md b/keyboards/marksard/treadstone48/treadstone48/readme.md similarity index 92% rename from keyboards/treadstone48/readme.md rename to keyboards/marksard/treadstone48/treadstone48/readme.md index 432ef33fe91f..c5f6f8f73fec 100644 --- a/keyboards/treadstone48/readme.md +++ b/keyboards/marksard/treadstone48/treadstone48/readme.md @@ -10,9 +10,9 @@ Hardware Availability: links to where you can find this hardware Make example for this keyboard (after setting up your build environment): - make treadstone48:default + make marksard/treadstone48:default or - make treadstone48/rev2:default + make marksard/treadstone48/rev2:default 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/treadstone48/rev1/.noci b/keyboards/marksard/treadstone48/treadstone48/rev1/.noci similarity index 100% rename from keyboards/treadstone48/rev1/.noci rename to keyboards/marksard/treadstone48/treadstone48/rev1/.noci diff --git a/keyboards/treadstone48/rev1/config.h b/keyboards/marksard/treadstone48/treadstone48/rev1/config.h similarity index 100% rename from keyboards/treadstone48/rev1/config.h rename to keyboards/marksard/treadstone48/treadstone48/rev1/config.h diff --git a/keyboards/treadstone48/rev1/info.json b/keyboards/marksard/treadstone48/treadstone48/rev1/info.json similarity index 100% rename from keyboards/treadstone48/rev1/info.json rename to keyboards/marksard/treadstone48/treadstone48/rev1/info.json diff --git a/keyboards/treadstone48/rev1/keymaps/like_jis_rs/config.h b/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/config.h similarity index 100% rename from keyboards/treadstone48/rev1/keymaps/like_jis_rs/config.h rename to keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/config.h diff --git a/keyboards/treadstone48/rev1/keymaps/like_jis_rs/keymap.c b/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/keymap.c similarity index 100% rename from keyboards/treadstone48/rev1/keymaps/like_jis_rs/keymap.c rename to keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/keymap.c diff --git a/keyboards/treadstone48/rev1/keymaps/like_jis_rs/readme.md b/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/readme.md similarity index 100% rename from keyboards/treadstone48/rev1/keymaps/like_jis_rs/readme.md rename to keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/readme.md diff --git a/keyboards/treadstone48/rev1/keymaps/like_jis_rs/readme_jp.md b/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/readme_jp.md similarity index 100% rename from keyboards/treadstone48/rev1/keymaps/like_jis_rs/readme_jp.md rename to keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/readme_jp.md diff --git a/keyboards/treadstone48/rev1/keymaps/like_jis_rs/rules.mk b/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/rules.mk similarity index 100% rename from keyboards/treadstone48/rev1/keymaps/like_jis_rs/rules.mk rename to keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/rules.mk diff --git a/keyboards/treadstone48/rev1/rev1.c b/keyboards/marksard/treadstone48/treadstone48/rev1/rev1.c similarity index 100% rename from keyboards/treadstone48/rev1/rev1.c rename to keyboards/marksard/treadstone48/treadstone48/rev1/rev1.c diff --git a/keyboards/treadstone48/rev1/rev1.h b/keyboards/marksard/treadstone48/treadstone48/rev1/rev1.h similarity index 100% rename from keyboards/treadstone48/rev1/rev1.h rename to keyboards/marksard/treadstone48/treadstone48/rev1/rev1.h diff --git a/keyboards/treadstone48/rev1/rules.mk b/keyboards/marksard/treadstone48/treadstone48/rev1/rules.mk similarity index 100% rename from keyboards/treadstone48/rev1/rules.mk rename to keyboards/marksard/treadstone48/treadstone48/rev1/rules.mk diff --git a/keyboards/treadstone48/rev2/config.h b/keyboards/marksard/treadstone48/treadstone48/rev2/config.h similarity index 100% rename from keyboards/treadstone48/rev2/config.h rename to keyboards/marksard/treadstone48/treadstone48/rev2/config.h diff --git a/keyboards/treadstone48/rev2/info.json b/keyboards/marksard/treadstone48/treadstone48/rev2/info.json similarity index 100% rename from keyboards/treadstone48/rev2/info.json rename to keyboards/marksard/treadstone48/treadstone48/rev2/info.json diff --git a/keyboards/treadstone48/rev2/rev2.c b/keyboards/marksard/treadstone48/treadstone48/rev2/rev2.c similarity index 100% rename from keyboards/treadstone48/rev2/rev2.c rename to keyboards/marksard/treadstone48/treadstone48/rev2/rev2.c diff --git a/keyboards/treadstone48/rev2/rev2.h b/keyboards/marksard/treadstone48/treadstone48/rev2/rev2.h similarity index 100% rename from keyboards/treadstone48/rev2/rev2.h rename to keyboards/marksard/treadstone48/treadstone48/rev2/rev2.h diff --git a/keyboards/treadstone48/rev2/rules.mk b/keyboards/marksard/treadstone48/treadstone48/rev2/rules.mk similarity index 100% rename from keyboards/treadstone48/rev2/rules.mk rename to keyboards/marksard/treadstone48/treadstone48/rev2/rules.mk diff --git a/keyboards/treadstone48/rules.mk b/keyboards/marksard/treadstone48/treadstone48/rules.mk similarity index 100% rename from keyboards/treadstone48/rules.mk rename to keyboards/marksard/treadstone48/treadstone48/rules.mk From ced6d835e850715bb689e26b8578d5fa14bafa93 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:38:55 +0800 Subject: [PATCH 0070/1832] [Keyboard] move weirdo-f's keyboards into weirdo/ (#15785) --- keyboards/{ => weirdo}/geminate60/chconf.h | 0 keyboards/{ => weirdo}/geminate60/config.h | 0 keyboards/{ => weirdo}/geminate60/geminate60.c | 0 keyboards/{ => weirdo}/geminate60/geminate60.h | 0 keyboards/{ => weirdo}/geminate60/info.json | 0 keyboards/{ => weirdo}/geminate60/keymaps/default/keymap.c | 0 keyboards/{ => weirdo}/geminate60/keymaps/via/keymap.c | 0 keyboards/{ => weirdo}/geminate60/keymaps/via/rules.mk | 0 keyboards/{ => weirdo}/geminate60/readme.md | 2 +- keyboards/{ => weirdo}/geminate60/rules.mk | 0 keyboards/{ => weirdo}/kelowna/rgb64/config.h | 0 keyboards/{ => weirdo}/kelowna/rgb64/info.json | 0 keyboards/{ => weirdo}/kelowna/rgb64/keymaps/default/keymap.c | 0 keyboards/{ => weirdo}/kelowna/rgb64/keymaps/via/keymap.c | 0 keyboards/{ => weirdo}/kelowna/rgb64/keymaps/via/rules.mk | 0 keyboards/{ => weirdo}/kelowna/rgb64/readme.md | 2 +- keyboards/{ => weirdo}/kelowna/rgb64/rgb64.c | 0 keyboards/{ => weirdo}/kelowna/rgb64/rgb64.h | 0 keyboards/{ => weirdo}/kelowna/rgb64/rules.mk | 0 keyboards/{ => weirdo}/ls_60/chconf.h | 0 keyboards/{ => weirdo}/ls_60/config.h | 0 keyboards/{ => weirdo}/ls_60/info.json | 0 keyboards/{ => weirdo}/ls_60/keymaps/default/keymap.c | 0 keyboards/{ => weirdo}/ls_60/keymaps/via/keymap.c | 0 keyboards/{ => weirdo}/ls_60/keymaps/via/rules.mk | 0 keyboards/{ => weirdo}/ls_60/ls_60.c | 0 keyboards/{ => weirdo}/ls_60/ls_60.h | 0 keyboards/{ => weirdo}/ls_60/readme.md | 2 +- keyboards/{ => weirdo}/ls_60/rules.mk | 0 keyboards/{ => weirdo}/naiping/np64/chconf.h | 0 keyboards/{ => weirdo}/naiping/np64/config.h | 0 keyboards/{ => weirdo}/naiping/np64/info.json | 0 keyboards/{ => weirdo}/naiping/np64/keymaps/default/keymap.c | 0 keyboards/{ => weirdo}/naiping/np64/keymaps/via/keymap.c | 0 keyboards/{ => weirdo}/naiping/np64/keymaps/via/rules.mk | 0 keyboards/{ => weirdo}/naiping/np64/np64.c | 0 keyboards/{ => weirdo}/naiping/np64/np64.h | 0 keyboards/{ => weirdo}/naiping/np64/readme.md | 2 +- keyboards/{ => weirdo}/naiping/np64/rules.mk | 0 keyboards/{ => weirdo}/naiping/nphhkb/chconf.h | 0 keyboards/{ => weirdo}/naiping/nphhkb/config.h | 0 keyboards/{ => weirdo}/naiping/nphhkb/info.json | 0 keyboards/{ => weirdo}/naiping/nphhkb/keymaps/default/keymap.c | 0 keyboards/{ => weirdo}/naiping/nphhkb/keymaps/via/keymap.c | 0 keyboards/{ => weirdo}/naiping/nphhkb/keymaps/via/rules.mk | 0 keyboards/{ => weirdo}/naiping/nphhkb/nphhkb.c | 0 keyboards/{ => weirdo}/naiping/nphhkb/nphhkb.h | 0 keyboards/{ => weirdo}/naiping/nphhkb/readme.md | 2 +- keyboards/{ => weirdo}/naiping/nphhkb/rules.mk | 0 keyboards/{ => weirdo}/naiping/npminila/chconf.h | 0 keyboards/{ => weirdo}/naiping/npminila/config.h | 0 keyboards/{ => weirdo}/naiping/npminila/info.json | 0 .../{ => weirdo}/naiping/npminila/keymaps/default/keymap.c | 0 keyboards/{ => weirdo}/naiping/npminila/keymaps/via/keymap.c | 0 keyboards/{ => weirdo}/naiping/npminila/keymaps/via/rules.mk | 0 keyboards/{ => weirdo}/naiping/npminila/npminila.c | 0 keyboards/{ => weirdo}/naiping/npminila/npminila.h | 0 keyboards/{ => weirdo}/naiping/npminila/readme.md | 2 +- keyboards/{ => weirdo}/naiping/npminila/rules.mk | 0 keyboards/{ => weirdo}/tiger910/config.h | 0 keyboards/{ => weirdo}/tiger910/info.json | 0 keyboards/{ => weirdo}/tiger910/keymaps/default/keymap.c | 0 keyboards/{ => weirdo}/tiger910/keymaps/via/keymap.c | 0 keyboards/{ => weirdo}/tiger910/keymaps/via/rules.mk | 0 keyboards/{ => weirdo}/tiger910/readme.md | 2 +- keyboards/{ => weirdo}/tiger910/rules.mk | 0 keyboards/{ => weirdo}/tiger910/tiger910.c | 0 keyboards/{ => weirdo}/tiger910/tiger910.h | 0 68 files changed, 7 insertions(+), 7 deletions(-) rename keyboards/{ => weirdo}/geminate60/chconf.h (100%) rename keyboards/{ => weirdo}/geminate60/config.h (100%) rename keyboards/{ => weirdo}/geminate60/geminate60.c (100%) rename keyboards/{ => weirdo}/geminate60/geminate60.h (100%) rename keyboards/{ => weirdo}/geminate60/info.json (100%) rename keyboards/{ => weirdo}/geminate60/keymaps/default/keymap.c (100%) rename keyboards/{ => weirdo}/geminate60/keymaps/via/keymap.c (100%) rename keyboards/{ => weirdo}/geminate60/keymaps/via/rules.mk (100%) rename keyboards/{ => weirdo}/geminate60/readme.md (95%) rename keyboards/{ => weirdo}/geminate60/rules.mk (100%) rename keyboards/{ => weirdo}/kelowna/rgb64/config.h (100%) rename keyboards/{ => weirdo}/kelowna/rgb64/info.json (100%) rename keyboards/{ => weirdo}/kelowna/rgb64/keymaps/default/keymap.c (100%) rename keyboards/{ => weirdo}/kelowna/rgb64/keymaps/via/keymap.c (100%) rename keyboards/{ => weirdo}/kelowna/rgb64/keymaps/via/rules.mk (100%) rename keyboards/{ => weirdo}/kelowna/rgb64/readme.md (95%) rename keyboards/{ => weirdo}/kelowna/rgb64/rgb64.c (100%) rename keyboards/{ => weirdo}/kelowna/rgb64/rgb64.h (100%) rename keyboards/{ => weirdo}/kelowna/rgb64/rules.mk (100%) rename keyboards/{ => weirdo}/ls_60/chconf.h (100%) rename keyboards/{ => weirdo}/ls_60/config.h (100%) rename keyboards/{ => weirdo}/ls_60/info.json (100%) rename keyboards/{ => weirdo}/ls_60/keymaps/default/keymap.c (100%) rename keyboards/{ => weirdo}/ls_60/keymaps/via/keymap.c (100%) rename keyboards/{ => weirdo}/ls_60/keymaps/via/rules.mk (100%) rename keyboards/{ => weirdo}/ls_60/ls_60.c (100%) rename keyboards/{ => weirdo}/ls_60/ls_60.h (100%) rename keyboards/{ => weirdo}/ls_60/readme.md (95%) rename keyboards/{ => weirdo}/ls_60/rules.mk (100%) rename keyboards/{ => weirdo}/naiping/np64/chconf.h (100%) rename keyboards/{ => weirdo}/naiping/np64/config.h (100%) rename keyboards/{ => weirdo}/naiping/np64/info.json (100%) rename keyboards/{ => weirdo}/naiping/np64/keymaps/default/keymap.c (100%) rename keyboards/{ => weirdo}/naiping/np64/keymaps/via/keymap.c (100%) rename keyboards/{ => weirdo}/naiping/np64/keymaps/via/rules.mk (100%) rename keyboards/{ => weirdo}/naiping/np64/np64.c (100%) rename keyboards/{ => weirdo}/naiping/np64/np64.h (100%) rename keyboards/{ => weirdo}/naiping/np64/readme.md (95%) rename keyboards/{ => weirdo}/naiping/np64/rules.mk (100%) rename keyboards/{ => weirdo}/naiping/nphhkb/chconf.h (100%) rename keyboards/{ => weirdo}/naiping/nphhkb/config.h (100%) rename keyboards/{ => weirdo}/naiping/nphhkb/info.json (100%) rename keyboards/{ => weirdo}/naiping/nphhkb/keymaps/default/keymap.c (100%) rename keyboards/{ => weirdo}/naiping/nphhkb/keymaps/via/keymap.c (100%) rename keyboards/{ => weirdo}/naiping/nphhkb/keymaps/via/rules.mk (100%) rename keyboards/{ => weirdo}/naiping/nphhkb/nphhkb.c (100%) rename keyboards/{ => weirdo}/naiping/nphhkb/nphhkb.h (100%) rename keyboards/{ => weirdo}/naiping/nphhkb/readme.md (94%) rename keyboards/{ => weirdo}/naiping/nphhkb/rules.mk (100%) rename keyboards/{ => weirdo}/naiping/npminila/chconf.h (100%) rename keyboards/{ => weirdo}/naiping/npminila/config.h (100%) rename keyboards/{ => weirdo}/naiping/npminila/info.json (100%) rename keyboards/{ => weirdo}/naiping/npminila/keymaps/default/keymap.c (100%) rename keyboards/{ => weirdo}/naiping/npminila/keymaps/via/keymap.c (100%) rename keyboards/{ => weirdo}/naiping/npminila/keymaps/via/rules.mk (100%) rename keyboards/{ => weirdo}/naiping/npminila/npminila.c (100%) rename keyboards/{ => weirdo}/naiping/npminila/npminila.h (100%) rename keyboards/{ => weirdo}/naiping/npminila/readme.md (94%) rename keyboards/{ => weirdo}/naiping/npminila/rules.mk (100%) rename keyboards/{ => weirdo}/tiger910/config.h (100%) rename keyboards/{ => weirdo}/tiger910/info.json (100%) rename keyboards/{ => weirdo}/tiger910/keymaps/default/keymap.c (100%) rename keyboards/{ => weirdo}/tiger910/keymaps/via/keymap.c (100%) rename keyboards/{ => weirdo}/tiger910/keymaps/via/rules.mk (100%) rename keyboards/{ => weirdo}/tiger910/readme.md (94%) rename keyboards/{ => weirdo}/tiger910/rules.mk (100%) rename keyboards/{ => weirdo}/tiger910/tiger910.c (100%) rename keyboards/{ => weirdo}/tiger910/tiger910.h (100%) diff --git a/keyboards/geminate60/chconf.h b/keyboards/weirdo/geminate60/chconf.h similarity index 100% rename from keyboards/geminate60/chconf.h rename to keyboards/weirdo/geminate60/chconf.h diff --git a/keyboards/geminate60/config.h b/keyboards/weirdo/geminate60/config.h similarity index 100% rename from keyboards/geminate60/config.h rename to keyboards/weirdo/geminate60/config.h diff --git a/keyboards/geminate60/geminate60.c b/keyboards/weirdo/geminate60/geminate60.c similarity index 100% rename from keyboards/geminate60/geminate60.c rename to keyboards/weirdo/geminate60/geminate60.c diff --git a/keyboards/geminate60/geminate60.h b/keyboards/weirdo/geminate60/geminate60.h similarity index 100% rename from keyboards/geminate60/geminate60.h rename to keyboards/weirdo/geminate60/geminate60.h diff --git a/keyboards/geminate60/info.json b/keyboards/weirdo/geminate60/info.json similarity index 100% rename from keyboards/geminate60/info.json rename to keyboards/weirdo/geminate60/info.json diff --git a/keyboards/geminate60/keymaps/default/keymap.c b/keyboards/weirdo/geminate60/keymaps/default/keymap.c similarity index 100% rename from keyboards/geminate60/keymaps/default/keymap.c rename to keyboards/weirdo/geminate60/keymaps/default/keymap.c diff --git a/keyboards/geminate60/keymaps/via/keymap.c b/keyboards/weirdo/geminate60/keymaps/via/keymap.c similarity index 100% rename from keyboards/geminate60/keymaps/via/keymap.c rename to keyboards/weirdo/geminate60/keymaps/via/keymap.c diff --git a/keyboards/geminate60/keymaps/via/rules.mk b/keyboards/weirdo/geminate60/keymaps/via/rules.mk similarity index 100% rename from keyboards/geminate60/keymaps/via/rules.mk rename to keyboards/weirdo/geminate60/keymaps/via/rules.mk diff --git a/keyboards/geminate60/readme.md b/keyboards/weirdo/geminate60/readme.md similarity index 95% rename from keyboards/geminate60/readme.md rename to keyboards/weirdo/geminate60/readme.md index 7fab7d7df6a8..ca865c8cff8b 100644 --- a/keyboards/geminate60/readme.md +++ b/keyboards/weirdo/geminate60/readme.md @@ -10,7 +10,7 @@ A 60% keyboard based on STM32F303. Make example for this keyboard (after setting up your build environment): - make geminate60:default + make weirdo/geminate60:default The RST pin and GND pin on the board can be quickly shortened twice to enter DFU mode, and then the program can be written. 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/geminate60/rules.mk b/keyboards/weirdo/geminate60/rules.mk similarity index 100% rename from keyboards/geminate60/rules.mk rename to keyboards/weirdo/geminate60/rules.mk diff --git a/keyboards/kelowna/rgb64/config.h b/keyboards/weirdo/kelowna/rgb64/config.h similarity index 100% rename from keyboards/kelowna/rgb64/config.h rename to keyboards/weirdo/kelowna/rgb64/config.h diff --git a/keyboards/kelowna/rgb64/info.json b/keyboards/weirdo/kelowna/rgb64/info.json similarity index 100% rename from keyboards/kelowna/rgb64/info.json rename to keyboards/weirdo/kelowna/rgb64/info.json diff --git a/keyboards/kelowna/rgb64/keymaps/default/keymap.c b/keyboards/weirdo/kelowna/rgb64/keymaps/default/keymap.c similarity index 100% rename from keyboards/kelowna/rgb64/keymaps/default/keymap.c rename to keyboards/weirdo/kelowna/rgb64/keymaps/default/keymap.c diff --git a/keyboards/kelowna/rgb64/keymaps/via/keymap.c b/keyboards/weirdo/kelowna/rgb64/keymaps/via/keymap.c similarity index 100% rename from keyboards/kelowna/rgb64/keymaps/via/keymap.c rename to keyboards/weirdo/kelowna/rgb64/keymaps/via/keymap.c diff --git a/keyboards/kelowna/rgb64/keymaps/via/rules.mk b/keyboards/weirdo/kelowna/rgb64/keymaps/via/rules.mk similarity index 100% rename from keyboards/kelowna/rgb64/keymaps/via/rules.mk rename to keyboards/weirdo/kelowna/rgb64/keymaps/via/rules.mk diff --git a/keyboards/kelowna/rgb64/readme.md b/keyboards/weirdo/kelowna/rgb64/readme.md similarity index 95% rename from keyboards/kelowna/rgb64/readme.md rename to keyboards/weirdo/kelowna/rgb64/readme.md index 9300b8281981..f12e155c8a9c 100644 --- a/keyboards/kelowna/rgb64/readme.md +++ b/keyboards/weirdo/kelowna/rgb64/readme.md @@ -10,7 +10,7 @@ A 60% keyboard based on STM32f303 Make example for this keyboard (after setting up your build environment): - make kelowna/rgb64:default + make weirdo/kelowna/rgb64:default Use the SWD interface on the board to connect to the STlink (JLink) to directly burn firmware without entering the bootloader. diff --git a/keyboards/kelowna/rgb64/rgb64.c b/keyboards/weirdo/kelowna/rgb64/rgb64.c similarity index 100% rename from keyboards/kelowna/rgb64/rgb64.c rename to keyboards/weirdo/kelowna/rgb64/rgb64.c diff --git a/keyboards/kelowna/rgb64/rgb64.h b/keyboards/weirdo/kelowna/rgb64/rgb64.h similarity index 100% rename from keyboards/kelowna/rgb64/rgb64.h rename to keyboards/weirdo/kelowna/rgb64/rgb64.h diff --git a/keyboards/kelowna/rgb64/rules.mk b/keyboards/weirdo/kelowna/rgb64/rules.mk similarity index 100% rename from keyboards/kelowna/rgb64/rules.mk rename to keyboards/weirdo/kelowna/rgb64/rules.mk diff --git a/keyboards/ls_60/chconf.h b/keyboards/weirdo/ls_60/chconf.h similarity index 100% rename from keyboards/ls_60/chconf.h rename to keyboards/weirdo/ls_60/chconf.h diff --git a/keyboards/ls_60/config.h b/keyboards/weirdo/ls_60/config.h similarity index 100% rename from keyboards/ls_60/config.h rename to keyboards/weirdo/ls_60/config.h diff --git a/keyboards/ls_60/info.json b/keyboards/weirdo/ls_60/info.json similarity index 100% rename from keyboards/ls_60/info.json rename to keyboards/weirdo/ls_60/info.json diff --git a/keyboards/ls_60/keymaps/default/keymap.c b/keyboards/weirdo/ls_60/keymaps/default/keymap.c similarity index 100% rename from keyboards/ls_60/keymaps/default/keymap.c rename to keyboards/weirdo/ls_60/keymaps/default/keymap.c diff --git a/keyboards/ls_60/keymaps/via/keymap.c b/keyboards/weirdo/ls_60/keymaps/via/keymap.c similarity index 100% rename from keyboards/ls_60/keymaps/via/keymap.c rename to keyboards/weirdo/ls_60/keymaps/via/keymap.c diff --git a/keyboards/ls_60/keymaps/via/rules.mk b/keyboards/weirdo/ls_60/keymaps/via/rules.mk similarity index 100% rename from keyboards/ls_60/keymaps/via/rules.mk rename to keyboards/weirdo/ls_60/keymaps/via/rules.mk diff --git a/keyboards/ls_60/ls_60.c b/keyboards/weirdo/ls_60/ls_60.c similarity index 100% rename from keyboards/ls_60/ls_60.c rename to keyboards/weirdo/ls_60/ls_60.c diff --git a/keyboards/ls_60/ls_60.h b/keyboards/weirdo/ls_60/ls_60.h similarity index 100% rename from keyboards/ls_60/ls_60.h rename to keyboards/weirdo/ls_60/ls_60.h diff --git a/keyboards/ls_60/readme.md b/keyboards/weirdo/ls_60/readme.md similarity index 95% rename from keyboards/ls_60/readme.md rename to keyboards/weirdo/ls_60/readme.md index e0efdfd9b500..cb289b8ad67a 100644 --- a/keyboards/ls_60/readme.md +++ b/keyboards/weirdo/ls_60/readme.md @@ -10,7 +10,7 @@ A 60% keyboard based on STM32f303 Make example for this keyboard (after setting up your build environment): - make ls_60:default + make weirdo/ls_60:default The RST pin and GND pin on the board can be quickly shortened twice to enter DFU mode, and then the program can be written. diff --git a/keyboards/ls_60/rules.mk b/keyboards/weirdo/ls_60/rules.mk similarity index 100% rename from keyboards/ls_60/rules.mk rename to keyboards/weirdo/ls_60/rules.mk diff --git a/keyboards/naiping/np64/chconf.h b/keyboards/weirdo/naiping/np64/chconf.h similarity index 100% rename from keyboards/naiping/np64/chconf.h rename to keyboards/weirdo/naiping/np64/chconf.h diff --git a/keyboards/naiping/np64/config.h b/keyboards/weirdo/naiping/np64/config.h similarity index 100% rename from keyboards/naiping/np64/config.h rename to keyboards/weirdo/naiping/np64/config.h diff --git a/keyboards/naiping/np64/info.json b/keyboards/weirdo/naiping/np64/info.json similarity index 100% rename from keyboards/naiping/np64/info.json rename to keyboards/weirdo/naiping/np64/info.json diff --git a/keyboards/naiping/np64/keymaps/default/keymap.c b/keyboards/weirdo/naiping/np64/keymaps/default/keymap.c similarity index 100% rename from keyboards/naiping/np64/keymaps/default/keymap.c rename to keyboards/weirdo/naiping/np64/keymaps/default/keymap.c diff --git a/keyboards/naiping/np64/keymaps/via/keymap.c b/keyboards/weirdo/naiping/np64/keymaps/via/keymap.c similarity index 100% rename from keyboards/naiping/np64/keymaps/via/keymap.c rename to keyboards/weirdo/naiping/np64/keymaps/via/keymap.c diff --git a/keyboards/naiping/np64/keymaps/via/rules.mk b/keyboards/weirdo/naiping/np64/keymaps/via/rules.mk similarity index 100% rename from keyboards/naiping/np64/keymaps/via/rules.mk rename to keyboards/weirdo/naiping/np64/keymaps/via/rules.mk diff --git a/keyboards/naiping/np64/np64.c b/keyboards/weirdo/naiping/np64/np64.c similarity index 100% rename from keyboards/naiping/np64/np64.c rename to keyboards/weirdo/naiping/np64/np64.c diff --git a/keyboards/naiping/np64/np64.h b/keyboards/weirdo/naiping/np64/np64.h similarity index 100% rename from keyboards/naiping/np64/np64.h rename to keyboards/weirdo/naiping/np64/np64.h diff --git a/keyboards/naiping/np64/readme.md b/keyboards/weirdo/naiping/np64/readme.md similarity index 95% rename from keyboards/naiping/np64/readme.md rename to keyboards/weirdo/naiping/np64/readme.md index 8e85d79de3ab..a5b4c89f010c 100644 --- a/keyboards/naiping/np64/readme.md +++ b/keyboards/weirdo/naiping/np64/readme.md @@ -10,7 +10,7 @@ A 60% keyboard based on STM32f303 Make example for this keyboard (after setting up your build environment): - make naiping/np64:default + make weirdo/naiping/np64:default The RST pin and GND pin on the board can be quickly shortened twice to enter DFU mode, and then the program can be written. diff --git a/keyboards/naiping/np64/rules.mk b/keyboards/weirdo/naiping/np64/rules.mk similarity index 100% rename from keyboards/naiping/np64/rules.mk rename to keyboards/weirdo/naiping/np64/rules.mk diff --git a/keyboards/naiping/nphhkb/chconf.h b/keyboards/weirdo/naiping/nphhkb/chconf.h similarity index 100% rename from keyboards/naiping/nphhkb/chconf.h rename to keyboards/weirdo/naiping/nphhkb/chconf.h diff --git a/keyboards/naiping/nphhkb/config.h b/keyboards/weirdo/naiping/nphhkb/config.h similarity index 100% rename from keyboards/naiping/nphhkb/config.h rename to keyboards/weirdo/naiping/nphhkb/config.h diff --git a/keyboards/naiping/nphhkb/info.json b/keyboards/weirdo/naiping/nphhkb/info.json similarity index 100% rename from keyboards/naiping/nphhkb/info.json rename to keyboards/weirdo/naiping/nphhkb/info.json diff --git a/keyboards/naiping/nphhkb/keymaps/default/keymap.c b/keyboards/weirdo/naiping/nphhkb/keymaps/default/keymap.c similarity index 100% rename from keyboards/naiping/nphhkb/keymaps/default/keymap.c rename to keyboards/weirdo/naiping/nphhkb/keymaps/default/keymap.c diff --git a/keyboards/naiping/nphhkb/keymaps/via/keymap.c b/keyboards/weirdo/naiping/nphhkb/keymaps/via/keymap.c similarity index 100% rename from keyboards/naiping/nphhkb/keymaps/via/keymap.c rename to keyboards/weirdo/naiping/nphhkb/keymaps/via/keymap.c diff --git a/keyboards/naiping/nphhkb/keymaps/via/rules.mk b/keyboards/weirdo/naiping/nphhkb/keymaps/via/rules.mk similarity index 100% rename from keyboards/naiping/nphhkb/keymaps/via/rules.mk rename to keyboards/weirdo/naiping/nphhkb/keymaps/via/rules.mk diff --git a/keyboards/naiping/nphhkb/nphhkb.c b/keyboards/weirdo/naiping/nphhkb/nphhkb.c similarity index 100% rename from keyboards/naiping/nphhkb/nphhkb.c rename to keyboards/weirdo/naiping/nphhkb/nphhkb.c diff --git a/keyboards/naiping/nphhkb/nphhkb.h b/keyboards/weirdo/naiping/nphhkb/nphhkb.h similarity index 100% rename from keyboards/naiping/nphhkb/nphhkb.h rename to keyboards/weirdo/naiping/nphhkb/nphhkb.h diff --git a/keyboards/naiping/nphhkb/readme.md b/keyboards/weirdo/naiping/nphhkb/readme.md similarity index 94% rename from keyboards/naiping/nphhkb/readme.md rename to keyboards/weirdo/naiping/nphhkb/readme.md index 47ad9dafc338..1ed6d46effed 100644 --- a/keyboards/naiping/nphhkb/readme.md +++ b/keyboards/weirdo/naiping/nphhkb/readme.md @@ -10,7 +10,7 @@ A 60% keyboard based on STM32f303 Make example for this keyboard (after setting up your build environment): - make naiping/nphhkb:default + make weirdo/naiping/nphhkb:default The RST pin and GND pin on the board can be quickly shortened twice to enter DFU mode, and then the program can be written. diff --git a/keyboards/naiping/nphhkb/rules.mk b/keyboards/weirdo/naiping/nphhkb/rules.mk similarity index 100% rename from keyboards/naiping/nphhkb/rules.mk rename to keyboards/weirdo/naiping/nphhkb/rules.mk diff --git a/keyboards/naiping/npminila/chconf.h b/keyboards/weirdo/naiping/npminila/chconf.h similarity index 100% rename from keyboards/naiping/npminila/chconf.h rename to keyboards/weirdo/naiping/npminila/chconf.h diff --git a/keyboards/naiping/npminila/config.h b/keyboards/weirdo/naiping/npminila/config.h similarity index 100% rename from keyboards/naiping/npminila/config.h rename to keyboards/weirdo/naiping/npminila/config.h diff --git a/keyboards/naiping/npminila/info.json b/keyboards/weirdo/naiping/npminila/info.json similarity index 100% rename from keyboards/naiping/npminila/info.json rename to keyboards/weirdo/naiping/npminila/info.json diff --git a/keyboards/naiping/npminila/keymaps/default/keymap.c b/keyboards/weirdo/naiping/npminila/keymaps/default/keymap.c similarity index 100% rename from keyboards/naiping/npminila/keymaps/default/keymap.c rename to keyboards/weirdo/naiping/npminila/keymaps/default/keymap.c diff --git a/keyboards/naiping/npminila/keymaps/via/keymap.c b/keyboards/weirdo/naiping/npminila/keymaps/via/keymap.c similarity index 100% rename from keyboards/naiping/npminila/keymaps/via/keymap.c rename to keyboards/weirdo/naiping/npminila/keymaps/via/keymap.c diff --git a/keyboards/naiping/npminila/keymaps/via/rules.mk b/keyboards/weirdo/naiping/npminila/keymaps/via/rules.mk similarity index 100% rename from keyboards/naiping/npminila/keymaps/via/rules.mk rename to keyboards/weirdo/naiping/npminila/keymaps/via/rules.mk diff --git a/keyboards/naiping/npminila/npminila.c b/keyboards/weirdo/naiping/npminila/npminila.c similarity index 100% rename from keyboards/naiping/npminila/npminila.c rename to keyboards/weirdo/naiping/npminila/npminila.c diff --git a/keyboards/naiping/npminila/npminila.h b/keyboards/weirdo/naiping/npminila/npminila.h similarity index 100% rename from keyboards/naiping/npminila/npminila.h rename to keyboards/weirdo/naiping/npminila/npminila.h diff --git a/keyboards/naiping/npminila/readme.md b/keyboards/weirdo/naiping/npminila/readme.md similarity index 94% rename from keyboards/naiping/npminila/readme.md rename to keyboards/weirdo/naiping/npminila/readme.md index 335e12508db8..35d5a2e5ecb7 100644 --- a/keyboards/naiping/npminila/readme.md +++ b/keyboards/weirdo/naiping/npminila/readme.md @@ -10,7 +10,7 @@ A 60% keyboard based on STM32f303 Make example for this keyboard (after setting up your build environment): - make naiping/npminila:default + make weirdo/naiping/npminila:default The RST pin and GND pin on the board can be quickly shortened twice to enter DFU mode, and then the program can be written. diff --git a/keyboards/naiping/npminila/rules.mk b/keyboards/weirdo/naiping/npminila/rules.mk similarity index 100% rename from keyboards/naiping/npminila/rules.mk rename to keyboards/weirdo/naiping/npminila/rules.mk diff --git a/keyboards/tiger910/config.h b/keyboards/weirdo/tiger910/config.h similarity index 100% rename from keyboards/tiger910/config.h rename to keyboards/weirdo/tiger910/config.h diff --git a/keyboards/tiger910/info.json b/keyboards/weirdo/tiger910/info.json similarity index 100% rename from keyboards/tiger910/info.json rename to keyboards/weirdo/tiger910/info.json diff --git a/keyboards/tiger910/keymaps/default/keymap.c b/keyboards/weirdo/tiger910/keymaps/default/keymap.c similarity index 100% rename from keyboards/tiger910/keymaps/default/keymap.c rename to keyboards/weirdo/tiger910/keymaps/default/keymap.c diff --git a/keyboards/tiger910/keymaps/via/keymap.c b/keyboards/weirdo/tiger910/keymaps/via/keymap.c similarity index 100% rename from keyboards/tiger910/keymaps/via/keymap.c rename to keyboards/weirdo/tiger910/keymaps/via/keymap.c diff --git a/keyboards/tiger910/keymaps/via/rules.mk b/keyboards/weirdo/tiger910/keymaps/via/rules.mk similarity index 100% rename from keyboards/tiger910/keymaps/via/rules.mk rename to keyboards/weirdo/tiger910/keymaps/via/rules.mk diff --git a/keyboards/tiger910/readme.md b/keyboards/weirdo/tiger910/readme.md similarity index 94% rename from keyboards/tiger910/readme.md rename to keyboards/weirdo/tiger910/readme.md index ed14a307d357..a47b84db8764 100644 --- a/keyboards/tiger910/readme.md +++ b/keyboards/weirdo/tiger910/readme.md @@ -10,6 +10,6 @@ A 65% keyboard Make example for this keyboard (after setting up your build environment): - make tiger910:default + make weirdo/tiger910:default 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/tiger910/rules.mk b/keyboards/weirdo/tiger910/rules.mk similarity index 100% rename from keyboards/tiger910/rules.mk rename to keyboards/weirdo/tiger910/rules.mk diff --git a/keyboards/tiger910/tiger910.c b/keyboards/weirdo/tiger910/tiger910.c similarity index 100% rename from keyboards/tiger910/tiger910.c rename to keyboards/weirdo/tiger910/tiger910.c diff --git a/keyboards/tiger910/tiger910.h b/keyboards/weirdo/tiger910/tiger910.h similarity index 100% rename from keyboards/tiger910/tiger910.h rename to keyboards/weirdo/tiger910/tiger910.h From a483ab321313471bfa54e71f14bb68056130b7c3 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:39:17 +0800 Subject: [PATCH 0071/1832] [Keyboard] move novelkeys keyboards to vendor folder (#15783) --- keyboards/{ => novelkeys}/nk1/config.h | 0 keyboards/{ => novelkeys}/nk1/info.json | 0 keyboards/{ => novelkeys}/nk1/keymaps/default/keymap.c | 0 keyboards/{ => novelkeys}/nk1/keymaps/default/readme.md | 0 keyboards/{ => novelkeys}/nk1/keymaps/via/keymap.c | 0 keyboards/{ => novelkeys}/nk1/keymaps/via/readme.md | 0 keyboards/{ => novelkeys}/nk1/keymaps/via/rules.mk | 0 keyboards/{ => novelkeys}/nk1/nk1.c | 0 keyboards/{ => novelkeys}/nk1/nk1.h | 0 keyboards/{ => novelkeys}/nk1/readme.md | 2 +- keyboards/{ => novelkeys}/nk1/rules.mk | 0 keyboards/{ => novelkeys}/nk65/config.h | 0 keyboards/{ => novelkeys}/nk65/halconf.h | 0 keyboards/{ => novelkeys}/nk65/info.json | 0 keyboards/{ => novelkeys}/nk65/keymaps/default/keymap.c | 0 keyboards/{ => novelkeys}/nk65/keymaps/default/readme.md | 0 keyboards/{ => novelkeys}/nk65/keymaps/madhatter/keymap.c | 0 keyboards/{ => novelkeys}/nk65/keymaps/via/keymap.c | 0 keyboards/{ => novelkeys}/nk65/keymaps/via/readme.md | 0 keyboards/{ => novelkeys}/nk65/keymaps/via/rules.mk | 0 keyboards/{ => novelkeys}/nk65/mcuconf.h | 0 keyboards/{ => novelkeys}/nk65/nk65.c | 0 keyboards/{ => novelkeys}/nk65/nk65.h | 0 keyboards/{ => novelkeys}/nk65/readme.md | 2 +- keyboards/{ => novelkeys}/nk65/rules.mk | 0 keyboards/{ => novelkeys}/nk65/v1_4/config.h | 0 keyboards/{ => novelkeys}/nk65/v1_4/readme.md | 0 keyboards/{ => novelkeys}/nk65/v1_4/rules.mk | 0 keyboards/{ => novelkeys}/nk87/config.h | 0 keyboards/{ => novelkeys}/nk87/halconf.h | 0 keyboards/{ => novelkeys}/nk87/info.json | 0 keyboards/{ => novelkeys}/nk87/keymaps/default/keymap.c | 0 keyboards/{ => novelkeys}/nk87/keymaps/default/readme.md | 0 keyboards/{ => novelkeys}/nk87/keymaps/via/keymap.c | 0 keyboards/{ => novelkeys}/nk87/keymaps/via/readme.md | 0 keyboards/{ => novelkeys}/nk87/keymaps/via/rules.mk | 0 keyboards/{ => novelkeys}/nk87/mcuconf.h | 0 keyboards/{ => novelkeys}/nk87/nk87.c | 0 keyboards/{ => novelkeys}/nk87/nk87.h | 0 keyboards/{ => novelkeys}/nk87/readme.md | 2 +- keyboards/{ => novelkeys}/nk87/rules.mk | 0 keyboards/{ => novelkeys}/novelpad/config.h | 0 keyboards/{ => novelkeys}/novelpad/info.json | 0 keyboards/{ => novelkeys}/novelpad/keymaps/0xdec/keymap.c | 0 keyboards/{ => novelkeys}/novelpad/keymaps/default/keymap.c | 0 keyboards/{ => novelkeys}/novelpad/novelpad.c | 0 keyboards/{ => novelkeys}/novelpad/novelpad.h | 0 keyboards/{ => novelkeys}/novelpad/readme.md | 2 +- keyboards/{ => novelkeys}/novelpad/rules.mk | 0 49 files changed, 4 insertions(+), 4 deletions(-) rename keyboards/{ => novelkeys}/nk1/config.h (100%) rename keyboards/{ => novelkeys}/nk1/info.json (100%) rename keyboards/{ => novelkeys}/nk1/keymaps/default/keymap.c (100%) rename keyboards/{ => novelkeys}/nk1/keymaps/default/readme.md (100%) rename keyboards/{ => novelkeys}/nk1/keymaps/via/keymap.c (100%) rename keyboards/{ => novelkeys}/nk1/keymaps/via/readme.md (100%) rename keyboards/{ => novelkeys}/nk1/keymaps/via/rules.mk (100%) rename keyboards/{ => novelkeys}/nk1/nk1.c (100%) rename keyboards/{ => novelkeys}/nk1/nk1.h (100%) rename keyboards/{ => novelkeys}/nk1/readme.md (96%) rename keyboards/{ => novelkeys}/nk1/rules.mk (100%) rename keyboards/{ => novelkeys}/nk65/config.h (100%) rename keyboards/{ => novelkeys}/nk65/halconf.h (100%) rename keyboards/{ => novelkeys}/nk65/info.json (100%) rename keyboards/{ => novelkeys}/nk65/keymaps/default/keymap.c (100%) rename keyboards/{ => novelkeys}/nk65/keymaps/default/readme.md (100%) rename keyboards/{ => novelkeys}/nk65/keymaps/madhatter/keymap.c (100%) rename keyboards/{ => novelkeys}/nk65/keymaps/via/keymap.c (100%) rename keyboards/{ => novelkeys}/nk65/keymaps/via/readme.md (100%) rename keyboards/{ => novelkeys}/nk65/keymaps/via/rules.mk (100%) rename keyboards/{ => novelkeys}/nk65/mcuconf.h (100%) rename keyboards/{ => novelkeys}/nk65/nk65.c (100%) rename keyboards/{ => novelkeys}/nk65/nk65.h (100%) rename keyboards/{ => novelkeys}/nk65/readme.md (97%) rename keyboards/{ => novelkeys}/nk65/rules.mk (100%) rename keyboards/{ => novelkeys}/nk65/v1_4/config.h (100%) rename keyboards/{ => novelkeys}/nk65/v1_4/readme.md (100%) rename keyboards/{ => novelkeys}/nk65/v1_4/rules.mk (100%) rename keyboards/{ => novelkeys}/nk87/config.h (100%) rename keyboards/{ => novelkeys}/nk87/halconf.h (100%) rename keyboards/{ => novelkeys}/nk87/info.json (100%) rename keyboards/{ => novelkeys}/nk87/keymaps/default/keymap.c (100%) rename keyboards/{ => novelkeys}/nk87/keymaps/default/readme.md (100%) rename keyboards/{ => novelkeys}/nk87/keymaps/via/keymap.c (100%) rename keyboards/{ => novelkeys}/nk87/keymaps/via/readme.md (100%) rename keyboards/{ => novelkeys}/nk87/keymaps/via/rules.mk (100%) rename keyboards/{ => novelkeys}/nk87/mcuconf.h (100%) rename keyboards/{ => novelkeys}/nk87/nk87.c (100%) rename keyboards/{ => novelkeys}/nk87/nk87.h (100%) rename keyboards/{ => novelkeys}/nk87/readme.md (96%) rename keyboards/{ => novelkeys}/nk87/rules.mk (100%) rename keyboards/{ => novelkeys}/novelpad/config.h (100%) rename keyboards/{ => novelkeys}/novelpad/info.json (100%) rename keyboards/{ => novelkeys}/novelpad/keymaps/0xdec/keymap.c (100%) rename keyboards/{ => novelkeys}/novelpad/keymaps/default/keymap.c (100%) rename keyboards/{ => novelkeys}/novelpad/novelpad.c (100%) rename keyboards/{ => novelkeys}/novelpad/novelpad.h (100%) rename keyboards/{ => novelkeys}/novelpad/readme.md (95%) rename keyboards/{ => novelkeys}/novelpad/rules.mk (100%) diff --git a/keyboards/nk1/config.h b/keyboards/novelkeys/nk1/config.h similarity index 100% rename from keyboards/nk1/config.h rename to keyboards/novelkeys/nk1/config.h diff --git a/keyboards/nk1/info.json b/keyboards/novelkeys/nk1/info.json similarity index 100% rename from keyboards/nk1/info.json rename to keyboards/novelkeys/nk1/info.json diff --git a/keyboards/nk1/keymaps/default/keymap.c b/keyboards/novelkeys/nk1/keymaps/default/keymap.c similarity index 100% rename from keyboards/nk1/keymaps/default/keymap.c rename to keyboards/novelkeys/nk1/keymaps/default/keymap.c diff --git a/keyboards/nk1/keymaps/default/readme.md b/keyboards/novelkeys/nk1/keymaps/default/readme.md similarity index 100% rename from keyboards/nk1/keymaps/default/readme.md rename to keyboards/novelkeys/nk1/keymaps/default/readme.md diff --git a/keyboards/nk1/keymaps/via/keymap.c b/keyboards/novelkeys/nk1/keymaps/via/keymap.c similarity index 100% rename from keyboards/nk1/keymaps/via/keymap.c rename to keyboards/novelkeys/nk1/keymaps/via/keymap.c diff --git a/keyboards/nk1/keymaps/via/readme.md b/keyboards/novelkeys/nk1/keymaps/via/readme.md similarity index 100% rename from keyboards/nk1/keymaps/via/readme.md rename to keyboards/novelkeys/nk1/keymaps/via/readme.md diff --git a/keyboards/nk1/keymaps/via/rules.mk b/keyboards/novelkeys/nk1/keymaps/via/rules.mk similarity index 100% rename from keyboards/nk1/keymaps/via/rules.mk rename to keyboards/novelkeys/nk1/keymaps/via/rules.mk diff --git a/keyboards/nk1/nk1.c b/keyboards/novelkeys/nk1/nk1.c similarity index 100% rename from keyboards/nk1/nk1.c rename to keyboards/novelkeys/nk1/nk1.c diff --git a/keyboards/nk1/nk1.h b/keyboards/novelkeys/nk1/nk1.h similarity index 100% rename from keyboards/nk1/nk1.h rename to keyboards/novelkeys/nk1/nk1.h diff --git a/keyboards/nk1/readme.md b/keyboards/novelkeys/nk1/readme.md similarity index 96% rename from keyboards/nk1/readme.md rename to keyboards/novelkeys/nk1/readme.md index bc668481b526..720d03adbcf0 100644 --- a/keyboards/nk1/readme.md +++ b/keyboards/novelkeys/nk1/readme.md @@ -12,7 +12,7 @@ A big switch keypad! Make example for this keyboard (after setting up your build environment): - make nk1:default + make novelkeys/nk1:default 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/nk1/rules.mk b/keyboards/novelkeys/nk1/rules.mk similarity index 100% rename from keyboards/nk1/rules.mk rename to keyboards/novelkeys/nk1/rules.mk diff --git a/keyboards/nk65/config.h b/keyboards/novelkeys/nk65/config.h similarity index 100% rename from keyboards/nk65/config.h rename to keyboards/novelkeys/nk65/config.h diff --git a/keyboards/nk65/halconf.h b/keyboards/novelkeys/nk65/halconf.h similarity index 100% rename from keyboards/nk65/halconf.h rename to keyboards/novelkeys/nk65/halconf.h diff --git a/keyboards/nk65/info.json b/keyboards/novelkeys/nk65/info.json similarity index 100% rename from keyboards/nk65/info.json rename to keyboards/novelkeys/nk65/info.json diff --git a/keyboards/nk65/keymaps/default/keymap.c b/keyboards/novelkeys/nk65/keymaps/default/keymap.c similarity index 100% rename from keyboards/nk65/keymaps/default/keymap.c rename to keyboards/novelkeys/nk65/keymaps/default/keymap.c diff --git a/keyboards/nk65/keymaps/default/readme.md b/keyboards/novelkeys/nk65/keymaps/default/readme.md similarity index 100% rename from keyboards/nk65/keymaps/default/readme.md rename to keyboards/novelkeys/nk65/keymaps/default/readme.md diff --git a/keyboards/nk65/keymaps/madhatter/keymap.c b/keyboards/novelkeys/nk65/keymaps/madhatter/keymap.c similarity index 100% rename from keyboards/nk65/keymaps/madhatter/keymap.c rename to keyboards/novelkeys/nk65/keymaps/madhatter/keymap.c diff --git a/keyboards/nk65/keymaps/via/keymap.c b/keyboards/novelkeys/nk65/keymaps/via/keymap.c similarity index 100% rename from keyboards/nk65/keymaps/via/keymap.c rename to keyboards/novelkeys/nk65/keymaps/via/keymap.c diff --git a/keyboards/nk65/keymaps/via/readme.md b/keyboards/novelkeys/nk65/keymaps/via/readme.md similarity index 100% rename from keyboards/nk65/keymaps/via/readme.md rename to keyboards/novelkeys/nk65/keymaps/via/readme.md diff --git a/keyboards/nk65/keymaps/via/rules.mk b/keyboards/novelkeys/nk65/keymaps/via/rules.mk similarity index 100% rename from keyboards/nk65/keymaps/via/rules.mk rename to keyboards/novelkeys/nk65/keymaps/via/rules.mk diff --git a/keyboards/nk65/mcuconf.h b/keyboards/novelkeys/nk65/mcuconf.h similarity index 100% rename from keyboards/nk65/mcuconf.h rename to keyboards/novelkeys/nk65/mcuconf.h diff --git a/keyboards/nk65/nk65.c b/keyboards/novelkeys/nk65/nk65.c similarity index 100% rename from keyboards/nk65/nk65.c rename to keyboards/novelkeys/nk65/nk65.c diff --git a/keyboards/nk65/nk65.h b/keyboards/novelkeys/nk65/nk65.h similarity index 100% rename from keyboards/nk65/nk65.h rename to keyboards/novelkeys/nk65/nk65.h diff --git a/keyboards/nk65/readme.md b/keyboards/novelkeys/nk65/readme.md similarity index 97% rename from keyboards/nk65/readme.md rename to keyboards/novelkeys/nk65/readme.md index 3bd04210d1b5..38f66500b911 100755 --- a/keyboards/nk65/readme.md +++ b/keyboards/novelkeys/nk65/readme.md @@ -19,7 +19,7 @@ NOTE: For PCBs with revision v1.4 or later please use nk65/v1_4 in the make comm Make example for this keyboard (after setting up your build environment): - make nk65:via + make novelkeys/nk65:via 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/nk65/rules.mk b/keyboards/novelkeys/nk65/rules.mk similarity index 100% rename from keyboards/nk65/rules.mk rename to keyboards/novelkeys/nk65/rules.mk diff --git a/keyboards/nk65/v1_4/config.h b/keyboards/novelkeys/nk65/v1_4/config.h similarity index 100% rename from keyboards/nk65/v1_4/config.h rename to keyboards/novelkeys/nk65/v1_4/config.h diff --git a/keyboards/nk65/v1_4/readme.md b/keyboards/novelkeys/nk65/v1_4/readme.md similarity index 100% rename from keyboards/nk65/v1_4/readme.md rename to keyboards/novelkeys/nk65/v1_4/readme.md diff --git a/keyboards/nk65/v1_4/rules.mk b/keyboards/novelkeys/nk65/v1_4/rules.mk similarity index 100% rename from keyboards/nk65/v1_4/rules.mk rename to keyboards/novelkeys/nk65/v1_4/rules.mk diff --git a/keyboards/nk87/config.h b/keyboards/novelkeys/nk87/config.h similarity index 100% rename from keyboards/nk87/config.h rename to keyboards/novelkeys/nk87/config.h diff --git a/keyboards/nk87/halconf.h b/keyboards/novelkeys/nk87/halconf.h similarity index 100% rename from keyboards/nk87/halconf.h rename to keyboards/novelkeys/nk87/halconf.h diff --git a/keyboards/nk87/info.json b/keyboards/novelkeys/nk87/info.json similarity index 100% rename from keyboards/nk87/info.json rename to keyboards/novelkeys/nk87/info.json diff --git a/keyboards/nk87/keymaps/default/keymap.c b/keyboards/novelkeys/nk87/keymaps/default/keymap.c similarity index 100% rename from keyboards/nk87/keymaps/default/keymap.c rename to keyboards/novelkeys/nk87/keymaps/default/keymap.c diff --git a/keyboards/nk87/keymaps/default/readme.md b/keyboards/novelkeys/nk87/keymaps/default/readme.md similarity index 100% rename from keyboards/nk87/keymaps/default/readme.md rename to keyboards/novelkeys/nk87/keymaps/default/readme.md diff --git a/keyboards/nk87/keymaps/via/keymap.c b/keyboards/novelkeys/nk87/keymaps/via/keymap.c similarity index 100% rename from keyboards/nk87/keymaps/via/keymap.c rename to keyboards/novelkeys/nk87/keymaps/via/keymap.c diff --git a/keyboards/nk87/keymaps/via/readme.md b/keyboards/novelkeys/nk87/keymaps/via/readme.md similarity index 100% rename from keyboards/nk87/keymaps/via/readme.md rename to keyboards/novelkeys/nk87/keymaps/via/readme.md diff --git a/keyboards/nk87/keymaps/via/rules.mk b/keyboards/novelkeys/nk87/keymaps/via/rules.mk similarity index 100% rename from keyboards/nk87/keymaps/via/rules.mk rename to keyboards/novelkeys/nk87/keymaps/via/rules.mk diff --git a/keyboards/nk87/mcuconf.h b/keyboards/novelkeys/nk87/mcuconf.h similarity index 100% rename from keyboards/nk87/mcuconf.h rename to keyboards/novelkeys/nk87/mcuconf.h diff --git a/keyboards/nk87/nk87.c b/keyboards/novelkeys/nk87/nk87.c similarity index 100% rename from keyboards/nk87/nk87.c rename to keyboards/novelkeys/nk87/nk87.c diff --git a/keyboards/nk87/nk87.h b/keyboards/novelkeys/nk87/nk87.h similarity index 100% rename from keyboards/nk87/nk87.h rename to keyboards/novelkeys/nk87/nk87.h diff --git a/keyboards/nk87/readme.md b/keyboards/novelkeys/nk87/readme.md similarity index 96% rename from keyboards/nk87/readme.md rename to keyboards/novelkeys/nk87/readme.md index 9ea4d9971889..0de3e08b401e 100755 --- a/keyboards/nk87/readme.md +++ b/keyboards/novelkeys/nk87/readme.md @@ -14,7 +14,7 @@ This is a standard fixed layout TKL PCB. It supports VIA and full per-key RGB. Make example for this keyboard (after setting up your build environment): - make nk87:default + make novelkeys/nk87:default 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/nk87/rules.mk b/keyboards/novelkeys/nk87/rules.mk similarity index 100% rename from keyboards/nk87/rules.mk rename to keyboards/novelkeys/nk87/rules.mk diff --git a/keyboards/novelpad/config.h b/keyboards/novelkeys/novelpad/config.h similarity index 100% rename from keyboards/novelpad/config.h rename to keyboards/novelkeys/novelpad/config.h diff --git a/keyboards/novelpad/info.json b/keyboards/novelkeys/novelpad/info.json similarity index 100% rename from keyboards/novelpad/info.json rename to keyboards/novelkeys/novelpad/info.json diff --git a/keyboards/novelpad/keymaps/0xdec/keymap.c b/keyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c similarity index 100% rename from keyboards/novelpad/keymaps/0xdec/keymap.c rename to keyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c diff --git a/keyboards/novelpad/keymaps/default/keymap.c b/keyboards/novelkeys/novelpad/keymaps/default/keymap.c similarity index 100% rename from keyboards/novelpad/keymaps/default/keymap.c rename to keyboards/novelkeys/novelpad/keymaps/default/keymap.c diff --git a/keyboards/novelpad/novelpad.c b/keyboards/novelkeys/novelpad/novelpad.c similarity index 100% rename from keyboards/novelpad/novelpad.c rename to keyboards/novelkeys/novelpad/novelpad.c diff --git a/keyboards/novelpad/novelpad.h b/keyboards/novelkeys/novelpad/novelpad.h similarity index 100% rename from keyboards/novelpad/novelpad.h rename to keyboards/novelkeys/novelpad/novelpad.h diff --git a/keyboards/novelpad/readme.md b/keyboards/novelkeys/novelpad/readme.md similarity index 95% rename from keyboards/novelpad/readme.md rename to keyboards/novelkeys/novelpad/readme.md index 0cde8337ca0f..49773b8dc0f5 100644 --- a/keyboards/novelpad/readme.md +++ b/keyboards/novelkeys/novelpad/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [Novelkeys.xyz](https://novelkeys.xyz) Make example for this keyboard (after setting up your build environment): - make novelpad:default + make novelkeys/novelpad:default 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/novelpad/rules.mk b/keyboards/novelkeys/novelpad/rules.mk similarity index 100% rename from keyboards/novelpad/rules.mk rename to keyboards/novelkeys/novelpad/rules.mk From 36ebc75e9a1be0750f5a10bdd81c37621a3229cd Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:39:56 +0800 Subject: [PATCH 0072/1832] [Keyboard] move yiancar's boards into yiancardesigns/ (#15781) --- keyboards/{ => yiancardesigns}/barleycorn/barleycorn.c | 0 keyboards/{ => yiancardesigns}/barleycorn/barleycorn.h | 0 keyboards/{ => yiancardesigns}/barleycorn/config.h | 0 keyboards/{ => yiancardesigns}/barleycorn/info.json | 0 .../{ => yiancardesigns}/barleycorn/keymaps/default/keymap.c | 0 .../{ => yiancardesigns}/barleycorn/keymaps/default/readme.md | 0 .../{ => yiancardesigns}/barleycorn/keymaps/iso/keymap.c | 0 .../{ => yiancardesigns}/barleycorn/keymaps/iso/readme.md | 0 .../{ => yiancardesigns}/barleycorn/keymaps/via/keymap.c | 0 .../{ => yiancardesigns}/barleycorn/keymaps/via/readme.md | 0 .../{ => yiancardesigns}/barleycorn/keymaps/via/rules.mk | 0 keyboards/{ => yiancardesigns}/barleycorn/matrix.c | 0 keyboards/{ => yiancardesigns}/barleycorn/readme.md | 4 ++-- keyboards/{ => yiancardesigns}/barleycorn/rules.mk | 0 keyboards/{ => yiancardesigns}/gingham/config.h | 0 keyboards/{ => yiancardesigns}/gingham/gingham.c | 0 keyboards/{ => yiancardesigns}/gingham/gingham.h | 0 keyboards/{ => yiancardesigns}/gingham/info.json | 0 .../gingham/keymaps/codecoffeecode/keymap.c | 0 .../gingham/keymaps/codecoffeecode/readme.md | 0 .../{ => yiancardesigns}/gingham/keymaps/default/keymap.c | 0 .../{ => yiancardesigns}/gingham/keymaps/default/readme.md | 0 keyboards/{ => yiancardesigns}/gingham/keymaps/iso/keymap.c | 0 keyboards/{ => yiancardesigns}/gingham/keymaps/iso/readme.md | 0 keyboards/{ => yiancardesigns}/gingham/keymaps/via/keymap.c | 0 keyboards/{ => yiancardesigns}/gingham/keymaps/via/readme.md | 0 keyboards/{ => yiancardesigns}/gingham/keymaps/via/rules.mk | 0 keyboards/{ => yiancardesigns}/gingham/matrix.c | 0 keyboards/{ => yiancardesigns}/gingham/readme.md | 4 ++-- keyboards/{ => yiancardesigns}/gingham/rules.mk | 0 keyboards/{ => yiancardesigns}/seigaiha/config.h | 0 keyboards/{ => yiancardesigns}/seigaiha/info.json | 0 .../{ => yiancardesigns}/seigaiha/keymaps/default/keymap.c | 0 .../{ => yiancardesigns}/seigaiha/keymaps/default/readme.md | 0 keyboards/{ => yiancardesigns}/seigaiha/keymaps/via/keymap.c | 0 keyboards/{ => yiancardesigns}/seigaiha/keymaps/via/readme.md | 0 keyboards/{ => yiancardesigns}/seigaiha/keymaps/via/rules.mk | 0 keyboards/{ => yiancardesigns}/seigaiha/matrix.c | 0 keyboards/{ => yiancardesigns}/seigaiha/readme.md | 4 ++-- keyboards/{ => yiancardesigns}/seigaiha/rules.mk | 0 keyboards/{ => yiancardesigns}/seigaiha/seigaiha.c | 0 keyboards/{ => yiancardesigns}/seigaiha/seigaiha.h | 0 42 files changed, 6 insertions(+), 6 deletions(-) rename keyboards/{ => yiancardesigns}/barleycorn/barleycorn.c (100%) rename keyboards/{ => yiancardesigns}/barleycorn/barleycorn.h (100%) rename keyboards/{ => yiancardesigns}/barleycorn/config.h (100%) rename keyboards/{ => yiancardesigns}/barleycorn/info.json (100%) rename keyboards/{ => yiancardesigns}/barleycorn/keymaps/default/keymap.c (100%) rename keyboards/{ => yiancardesigns}/barleycorn/keymaps/default/readme.md (100%) rename keyboards/{ => yiancardesigns}/barleycorn/keymaps/iso/keymap.c (100%) rename keyboards/{ => yiancardesigns}/barleycorn/keymaps/iso/readme.md (100%) rename keyboards/{ => yiancardesigns}/barleycorn/keymaps/via/keymap.c (100%) rename keyboards/{ => yiancardesigns}/barleycorn/keymaps/via/readme.md (100%) rename keyboards/{ => yiancardesigns}/barleycorn/keymaps/via/rules.mk (100%) rename keyboards/{ => yiancardesigns}/barleycorn/matrix.c (100%) rename keyboards/{ => yiancardesigns}/barleycorn/readme.md (90%) rename keyboards/{ => yiancardesigns}/barleycorn/rules.mk (100%) rename keyboards/{ => yiancardesigns}/gingham/config.h (100%) rename keyboards/{ => yiancardesigns}/gingham/gingham.c (100%) rename keyboards/{ => yiancardesigns}/gingham/gingham.h (100%) rename keyboards/{ => yiancardesigns}/gingham/info.json (100%) rename keyboards/{ => yiancardesigns}/gingham/keymaps/codecoffeecode/keymap.c (100%) rename keyboards/{ => yiancardesigns}/gingham/keymaps/codecoffeecode/readme.md (100%) rename keyboards/{ => yiancardesigns}/gingham/keymaps/default/keymap.c (100%) rename keyboards/{ => yiancardesigns}/gingham/keymaps/default/readme.md (100%) rename keyboards/{ => yiancardesigns}/gingham/keymaps/iso/keymap.c (100%) rename keyboards/{ => yiancardesigns}/gingham/keymaps/iso/readme.md (100%) rename keyboards/{ => yiancardesigns}/gingham/keymaps/via/keymap.c (100%) rename keyboards/{ => yiancardesigns}/gingham/keymaps/via/readme.md (100%) rename keyboards/{ => yiancardesigns}/gingham/keymaps/via/rules.mk (100%) rename keyboards/{ => yiancardesigns}/gingham/matrix.c (100%) rename keyboards/{ => yiancardesigns}/gingham/readme.md (91%) rename keyboards/{ => yiancardesigns}/gingham/rules.mk (100%) rename keyboards/{ => yiancardesigns}/seigaiha/config.h (100%) rename keyboards/{ => yiancardesigns}/seigaiha/info.json (100%) rename keyboards/{ => yiancardesigns}/seigaiha/keymaps/default/keymap.c (100%) rename keyboards/{ => yiancardesigns}/seigaiha/keymaps/default/readme.md (100%) rename keyboards/{ => yiancardesigns}/seigaiha/keymaps/via/keymap.c (100%) rename keyboards/{ => yiancardesigns}/seigaiha/keymaps/via/readme.md (100%) rename keyboards/{ => yiancardesigns}/seigaiha/keymaps/via/rules.mk (100%) rename keyboards/{ => yiancardesigns}/seigaiha/matrix.c (100%) rename keyboards/{ => yiancardesigns}/seigaiha/readme.md (90%) rename keyboards/{ => yiancardesigns}/seigaiha/rules.mk (100%) rename keyboards/{ => yiancardesigns}/seigaiha/seigaiha.c (100%) rename keyboards/{ => yiancardesigns}/seigaiha/seigaiha.h (100%) diff --git a/keyboards/barleycorn/barleycorn.c b/keyboards/yiancardesigns/barleycorn/barleycorn.c similarity index 100% rename from keyboards/barleycorn/barleycorn.c rename to keyboards/yiancardesigns/barleycorn/barleycorn.c diff --git a/keyboards/barleycorn/barleycorn.h b/keyboards/yiancardesigns/barleycorn/barleycorn.h similarity index 100% rename from keyboards/barleycorn/barleycorn.h rename to keyboards/yiancardesigns/barleycorn/barleycorn.h diff --git a/keyboards/barleycorn/config.h b/keyboards/yiancardesigns/barleycorn/config.h similarity index 100% rename from keyboards/barleycorn/config.h rename to keyboards/yiancardesigns/barleycorn/config.h diff --git a/keyboards/barleycorn/info.json b/keyboards/yiancardesigns/barleycorn/info.json similarity index 100% rename from keyboards/barleycorn/info.json rename to keyboards/yiancardesigns/barleycorn/info.json diff --git a/keyboards/barleycorn/keymaps/default/keymap.c b/keyboards/yiancardesigns/barleycorn/keymaps/default/keymap.c similarity index 100% rename from keyboards/barleycorn/keymaps/default/keymap.c rename to keyboards/yiancardesigns/barleycorn/keymaps/default/keymap.c diff --git a/keyboards/barleycorn/keymaps/default/readme.md b/keyboards/yiancardesigns/barleycorn/keymaps/default/readme.md similarity index 100% rename from keyboards/barleycorn/keymaps/default/readme.md rename to keyboards/yiancardesigns/barleycorn/keymaps/default/readme.md diff --git a/keyboards/barleycorn/keymaps/iso/keymap.c b/keyboards/yiancardesigns/barleycorn/keymaps/iso/keymap.c similarity index 100% rename from keyboards/barleycorn/keymaps/iso/keymap.c rename to keyboards/yiancardesigns/barleycorn/keymaps/iso/keymap.c diff --git a/keyboards/barleycorn/keymaps/iso/readme.md b/keyboards/yiancardesigns/barleycorn/keymaps/iso/readme.md similarity index 100% rename from keyboards/barleycorn/keymaps/iso/readme.md rename to keyboards/yiancardesigns/barleycorn/keymaps/iso/readme.md diff --git a/keyboards/barleycorn/keymaps/via/keymap.c b/keyboards/yiancardesigns/barleycorn/keymaps/via/keymap.c similarity index 100% rename from keyboards/barleycorn/keymaps/via/keymap.c rename to keyboards/yiancardesigns/barleycorn/keymaps/via/keymap.c diff --git a/keyboards/barleycorn/keymaps/via/readme.md b/keyboards/yiancardesigns/barleycorn/keymaps/via/readme.md similarity index 100% rename from keyboards/barleycorn/keymaps/via/readme.md rename to keyboards/yiancardesigns/barleycorn/keymaps/via/readme.md diff --git a/keyboards/barleycorn/keymaps/via/rules.mk b/keyboards/yiancardesigns/barleycorn/keymaps/via/rules.mk similarity index 100% rename from keyboards/barleycorn/keymaps/via/rules.mk rename to keyboards/yiancardesigns/barleycorn/keymaps/via/rules.mk diff --git a/keyboards/barleycorn/matrix.c b/keyboards/yiancardesigns/barleycorn/matrix.c similarity index 100% rename from keyboards/barleycorn/matrix.c rename to keyboards/yiancardesigns/barleycorn/matrix.c diff --git a/keyboards/barleycorn/readme.md b/keyboards/yiancardesigns/barleycorn/readme.md similarity index 90% rename from keyboards/barleycorn/readme.md rename to keyboards/yiancardesigns/barleycorn/readme.md index dd96c69e9a80..c98be3e04242 100644 --- a/keyboards/barleycorn/readme.md +++ b/keyboards/yiancardesigns/barleycorn/readme.md @@ -10,11 +10,11 @@ An f-row less compact 1800 kit with only through hole components. Make example for this keyboard (after setting up your build environment): - make barleycorn:default + make yiancardesigns/barleycorn:default Flashing example for this keyboard: - make barleycorn:default:flash + make yiancardesigns/barleycorn:default:flash Bootloader: use usbasploader from HSGW's repository. diff --git a/keyboards/barleycorn/rules.mk b/keyboards/yiancardesigns/barleycorn/rules.mk similarity index 100% rename from keyboards/barleycorn/rules.mk rename to keyboards/yiancardesigns/barleycorn/rules.mk diff --git a/keyboards/gingham/config.h b/keyboards/yiancardesigns/gingham/config.h similarity index 100% rename from keyboards/gingham/config.h rename to keyboards/yiancardesigns/gingham/config.h diff --git a/keyboards/gingham/gingham.c b/keyboards/yiancardesigns/gingham/gingham.c similarity index 100% rename from keyboards/gingham/gingham.c rename to keyboards/yiancardesigns/gingham/gingham.c diff --git a/keyboards/gingham/gingham.h b/keyboards/yiancardesigns/gingham/gingham.h similarity index 100% rename from keyboards/gingham/gingham.h rename to keyboards/yiancardesigns/gingham/gingham.h diff --git a/keyboards/gingham/info.json b/keyboards/yiancardesigns/gingham/info.json similarity index 100% rename from keyboards/gingham/info.json rename to keyboards/yiancardesigns/gingham/info.json diff --git a/keyboards/gingham/keymaps/codecoffeecode/keymap.c b/keyboards/yiancardesigns/gingham/keymaps/codecoffeecode/keymap.c similarity index 100% rename from keyboards/gingham/keymaps/codecoffeecode/keymap.c rename to keyboards/yiancardesigns/gingham/keymaps/codecoffeecode/keymap.c diff --git a/keyboards/gingham/keymaps/codecoffeecode/readme.md b/keyboards/yiancardesigns/gingham/keymaps/codecoffeecode/readme.md similarity index 100% rename from keyboards/gingham/keymaps/codecoffeecode/readme.md rename to keyboards/yiancardesigns/gingham/keymaps/codecoffeecode/readme.md diff --git a/keyboards/gingham/keymaps/default/keymap.c b/keyboards/yiancardesigns/gingham/keymaps/default/keymap.c similarity index 100% rename from keyboards/gingham/keymaps/default/keymap.c rename to keyboards/yiancardesigns/gingham/keymaps/default/keymap.c diff --git a/keyboards/gingham/keymaps/default/readme.md b/keyboards/yiancardesigns/gingham/keymaps/default/readme.md similarity index 100% rename from keyboards/gingham/keymaps/default/readme.md rename to keyboards/yiancardesigns/gingham/keymaps/default/readme.md diff --git a/keyboards/gingham/keymaps/iso/keymap.c b/keyboards/yiancardesigns/gingham/keymaps/iso/keymap.c similarity index 100% rename from keyboards/gingham/keymaps/iso/keymap.c rename to keyboards/yiancardesigns/gingham/keymaps/iso/keymap.c diff --git a/keyboards/gingham/keymaps/iso/readme.md b/keyboards/yiancardesigns/gingham/keymaps/iso/readme.md similarity index 100% rename from keyboards/gingham/keymaps/iso/readme.md rename to keyboards/yiancardesigns/gingham/keymaps/iso/readme.md diff --git a/keyboards/gingham/keymaps/via/keymap.c b/keyboards/yiancardesigns/gingham/keymaps/via/keymap.c similarity index 100% rename from keyboards/gingham/keymaps/via/keymap.c rename to keyboards/yiancardesigns/gingham/keymaps/via/keymap.c diff --git a/keyboards/gingham/keymaps/via/readme.md b/keyboards/yiancardesigns/gingham/keymaps/via/readme.md similarity index 100% rename from keyboards/gingham/keymaps/via/readme.md rename to keyboards/yiancardesigns/gingham/keymaps/via/readme.md diff --git a/keyboards/gingham/keymaps/via/rules.mk b/keyboards/yiancardesigns/gingham/keymaps/via/rules.mk similarity index 100% rename from keyboards/gingham/keymaps/via/rules.mk rename to keyboards/yiancardesigns/gingham/keymaps/via/rules.mk diff --git a/keyboards/gingham/matrix.c b/keyboards/yiancardesigns/gingham/matrix.c similarity index 100% rename from keyboards/gingham/matrix.c rename to keyboards/yiancardesigns/gingham/matrix.c diff --git a/keyboards/gingham/readme.md b/keyboards/yiancardesigns/gingham/readme.md similarity index 91% rename from keyboards/gingham/readme.md rename to keyboards/yiancardesigns/gingham/readme.md index 089af1cf5eef..994fcaac5565 100644 --- a/keyboards/gingham/readme.md +++ b/keyboards/yiancardesigns/gingham/readme.md @@ -10,11 +10,11 @@ Hardware Availability: https://yiancar-designs.com/, https://novelkeys.xyz, http Make example for this keyboard (after setting up your build environment): - make gingham:default + make yiancardesigns/gingham:default Flashing example for this keyboard: - make gingham:default:flash + make yiancardesigns/gingham:default:flash Bootloader: use usbasploader HSGW's my repository. diff --git a/keyboards/gingham/rules.mk b/keyboards/yiancardesigns/gingham/rules.mk similarity index 100% rename from keyboards/gingham/rules.mk rename to keyboards/yiancardesigns/gingham/rules.mk diff --git a/keyboards/seigaiha/config.h b/keyboards/yiancardesigns/seigaiha/config.h similarity index 100% rename from keyboards/seigaiha/config.h rename to keyboards/yiancardesigns/seigaiha/config.h diff --git a/keyboards/seigaiha/info.json b/keyboards/yiancardesigns/seigaiha/info.json similarity index 100% rename from keyboards/seigaiha/info.json rename to keyboards/yiancardesigns/seigaiha/info.json diff --git a/keyboards/seigaiha/keymaps/default/keymap.c b/keyboards/yiancardesigns/seigaiha/keymaps/default/keymap.c similarity index 100% rename from keyboards/seigaiha/keymaps/default/keymap.c rename to keyboards/yiancardesigns/seigaiha/keymaps/default/keymap.c diff --git a/keyboards/seigaiha/keymaps/default/readme.md b/keyboards/yiancardesigns/seigaiha/keymaps/default/readme.md similarity index 100% rename from keyboards/seigaiha/keymaps/default/readme.md rename to keyboards/yiancardesigns/seigaiha/keymaps/default/readme.md diff --git a/keyboards/seigaiha/keymaps/via/keymap.c b/keyboards/yiancardesigns/seigaiha/keymaps/via/keymap.c similarity index 100% rename from keyboards/seigaiha/keymaps/via/keymap.c rename to keyboards/yiancardesigns/seigaiha/keymaps/via/keymap.c diff --git a/keyboards/seigaiha/keymaps/via/readme.md b/keyboards/yiancardesigns/seigaiha/keymaps/via/readme.md similarity index 100% rename from keyboards/seigaiha/keymaps/via/readme.md rename to keyboards/yiancardesigns/seigaiha/keymaps/via/readme.md diff --git a/keyboards/seigaiha/keymaps/via/rules.mk b/keyboards/yiancardesigns/seigaiha/keymaps/via/rules.mk similarity index 100% rename from keyboards/seigaiha/keymaps/via/rules.mk rename to keyboards/yiancardesigns/seigaiha/keymaps/via/rules.mk diff --git a/keyboards/seigaiha/matrix.c b/keyboards/yiancardesigns/seigaiha/matrix.c similarity index 100% rename from keyboards/seigaiha/matrix.c rename to keyboards/yiancardesigns/seigaiha/matrix.c diff --git a/keyboards/seigaiha/readme.md b/keyboards/yiancardesigns/seigaiha/readme.md similarity index 90% rename from keyboards/seigaiha/readme.md rename to keyboards/yiancardesigns/seigaiha/readme.md index fb0e8571ae68..8c8172356389 100644 --- a/keyboards/seigaiha/readme.md +++ b/keyboards/yiancardesigns/seigaiha/readme.md @@ -10,11 +10,11 @@ An alice layout kit with only through hole components. Make example for this keyboard (after setting up your build environment): - make seigaiha:default + make yiancardesigns/seigaiha:default Flashing example for this keyboard: - make seigaiha:default:flash + make yiancardesigns/seigaiha:default:flash Bootloader: use usbasploader from HSGW's repository. diff --git a/keyboards/seigaiha/rules.mk b/keyboards/yiancardesigns/seigaiha/rules.mk similarity index 100% rename from keyboards/seigaiha/rules.mk rename to keyboards/yiancardesigns/seigaiha/rules.mk diff --git a/keyboards/seigaiha/seigaiha.c b/keyboards/yiancardesigns/seigaiha/seigaiha.c similarity index 100% rename from keyboards/seigaiha/seigaiha.c rename to keyboards/yiancardesigns/seigaiha/seigaiha.c diff --git a/keyboards/seigaiha/seigaiha.h b/keyboards/yiancardesigns/seigaiha/seigaiha.h similarity index 100% rename from keyboards/seigaiha/seigaiha.h rename to keyboards/yiancardesigns/seigaiha/seigaiha.h From 93bacff1a60f2c05ee125d732fea3e677bb62567 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:40:22 +0800 Subject: [PATCH 0073/1832] [Keyboard] move prototypist boards into vendor folder (#15780) --- keyboards/{ => prototypist}/allison/allison.c | 0 keyboards/{ => prototypist}/allison/allison.h | 0 keyboards/{ => prototypist}/allison/config.h | 0 keyboards/{ => prototypist}/allison/info.json | 0 keyboards/{ => prototypist}/allison/keymaps/default/keymap.c | 0 keyboards/{ => prototypist}/allison/keymaps/default/readme.md | 0 keyboards/{ => prototypist}/allison/keymaps/via/keymap.c | 0 keyboards/{ => prototypist}/allison/keymaps/via/readme.md | 0 keyboards/{ => prototypist}/allison/keymaps/via/rules.mk | 0 keyboards/{ => prototypist}/allison/readme.md | 2 +- keyboards/{ => prototypist}/allison/rules.mk | 0 keyboards/{ => prototypist}/allison_numpad/allison_numpad.c | 0 keyboards/{ => prototypist}/allison_numpad/allison_numpad.h | 0 keyboards/{ => prototypist}/allison_numpad/config.h | 0 keyboards/{ => prototypist}/allison_numpad/info.json | 0 .../{ => prototypist}/allison_numpad/keymaps/default/keymap.c | 0 .../{ => prototypist}/allison_numpad/keymaps/default/readme.md | 0 keyboards/{ => prototypist}/allison_numpad/keymaps/via/keymap.c | 0 .../{ => prototypist}/allison_numpad/keymaps/via/readme.md | 0 keyboards/{ => prototypist}/allison_numpad/keymaps/via/rules.mk | 0 keyboards/{ => prototypist}/allison_numpad/readme.md | 2 +- keyboards/{ => prototypist}/allison_numpad/rules.mk | 0 22 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/{ => prototypist}/allison/allison.c (100%) rename keyboards/{ => prototypist}/allison/allison.h (100%) rename keyboards/{ => prototypist}/allison/config.h (100%) rename keyboards/{ => prototypist}/allison/info.json (100%) rename keyboards/{ => prototypist}/allison/keymaps/default/keymap.c (100%) rename keyboards/{ => prototypist}/allison/keymaps/default/readme.md (100%) rename keyboards/{ => prototypist}/allison/keymaps/via/keymap.c (100%) rename keyboards/{ => prototypist}/allison/keymaps/via/readme.md (100%) rename keyboards/{ => prototypist}/allison/keymaps/via/rules.mk (100%) rename keyboards/{ => prototypist}/allison/readme.md (94%) rename keyboards/{ => prototypist}/allison/rules.mk (100%) rename keyboards/{ => prototypist}/allison_numpad/allison_numpad.c (100%) rename keyboards/{ => prototypist}/allison_numpad/allison_numpad.h (100%) rename keyboards/{ => prototypist}/allison_numpad/config.h (100%) rename keyboards/{ => prototypist}/allison_numpad/info.json (100%) rename keyboards/{ => prototypist}/allison_numpad/keymaps/default/keymap.c (100%) rename keyboards/{ => prototypist}/allison_numpad/keymaps/default/readme.md (100%) rename keyboards/{ => prototypist}/allison_numpad/keymaps/via/keymap.c (100%) rename keyboards/{ => prototypist}/allison_numpad/keymaps/via/readme.md (100%) rename keyboards/{ => prototypist}/allison_numpad/keymaps/via/rules.mk (100%) rename keyboards/{ => prototypist}/allison_numpad/readme.md (94%) rename keyboards/{ => prototypist}/allison_numpad/rules.mk (100%) diff --git a/keyboards/allison/allison.c b/keyboards/prototypist/allison/allison.c similarity index 100% rename from keyboards/allison/allison.c rename to keyboards/prototypist/allison/allison.c diff --git a/keyboards/allison/allison.h b/keyboards/prototypist/allison/allison.h similarity index 100% rename from keyboards/allison/allison.h rename to keyboards/prototypist/allison/allison.h diff --git a/keyboards/allison/config.h b/keyboards/prototypist/allison/config.h similarity index 100% rename from keyboards/allison/config.h rename to keyboards/prototypist/allison/config.h diff --git a/keyboards/allison/info.json b/keyboards/prototypist/allison/info.json similarity index 100% rename from keyboards/allison/info.json rename to keyboards/prototypist/allison/info.json diff --git a/keyboards/allison/keymaps/default/keymap.c b/keyboards/prototypist/allison/keymaps/default/keymap.c similarity index 100% rename from keyboards/allison/keymaps/default/keymap.c rename to keyboards/prototypist/allison/keymaps/default/keymap.c diff --git a/keyboards/allison/keymaps/default/readme.md b/keyboards/prototypist/allison/keymaps/default/readme.md similarity index 100% rename from keyboards/allison/keymaps/default/readme.md rename to keyboards/prototypist/allison/keymaps/default/readme.md diff --git a/keyboards/allison/keymaps/via/keymap.c b/keyboards/prototypist/allison/keymaps/via/keymap.c similarity index 100% rename from keyboards/allison/keymaps/via/keymap.c rename to keyboards/prototypist/allison/keymaps/via/keymap.c diff --git a/keyboards/allison/keymaps/via/readme.md b/keyboards/prototypist/allison/keymaps/via/readme.md similarity index 100% rename from keyboards/allison/keymaps/via/readme.md rename to keyboards/prototypist/allison/keymaps/via/readme.md diff --git a/keyboards/allison/keymaps/via/rules.mk b/keyboards/prototypist/allison/keymaps/via/rules.mk similarity index 100% rename from keyboards/allison/keymaps/via/rules.mk rename to keyboards/prototypist/allison/keymaps/via/rules.mk diff --git a/keyboards/allison/readme.md b/keyboards/prototypist/allison/readme.md similarity index 94% rename from keyboards/allison/readme.md rename to keyboards/prototypist/allison/readme.md index 60670cbad8dc..8101c3c715e6 100644 --- a/keyboards/allison/readme.md +++ b/keyboards/prototypist/allison/readme.md @@ -10,6 +10,6 @@ A custom luxurious 60 with F-row and Macro Make example for this keyboard (after setting up your build environment): - make allison:default + make prototypist/allison:default 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/allison/rules.mk b/keyboards/prototypist/allison/rules.mk similarity index 100% rename from keyboards/allison/rules.mk rename to keyboards/prototypist/allison/rules.mk diff --git a/keyboards/allison_numpad/allison_numpad.c b/keyboards/prototypist/allison_numpad/allison_numpad.c similarity index 100% rename from keyboards/allison_numpad/allison_numpad.c rename to keyboards/prototypist/allison_numpad/allison_numpad.c diff --git a/keyboards/allison_numpad/allison_numpad.h b/keyboards/prototypist/allison_numpad/allison_numpad.h similarity index 100% rename from keyboards/allison_numpad/allison_numpad.h rename to keyboards/prototypist/allison_numpad/allison_numpad.h diff --git a/keyboards/allison_numpad/config.h b/keyboards/prototypist/allison_numpad/config.h similarity index 100% rename from keyboards/allison_numpad/config.h rename to keyboards/prototypist/allison_numpad/config.h diff --git a/keyboards/allison_numpad/info.json b/keyboards/prototypist/allison_numpad/info.json similarity index 100% rename from keyboards/allison_numpad/info.json rename to keyboards/prototypist/allison_numpad/info.json diff --git a/keyboards/allison_numpad/keymaps/default/keymap.c b/keyboards/prototypist/allison_numpad/keymaps/default/keymap.c similarity index 100% rename from keyboards/allison_numpad/keymaps/default/keymap.c rename to keyboards/prototypist/allison_numpad/keymaps/default/keymap.c diff --git a/keyboards/allison_numpad/keymaps/default/readme.md b/keyboards/prototypist/allison_numpad/keymaps/default/readme.md similarity index 100% rename from keyboards/allison_numpad/keymaps/default/readme.md rename to keyboards/prototypist/allison_numpad/keymaps/default/readme.md diff --git a/keyboards/allison_numpad/keymaps/via/keymap.c b/keyboards/prototypist/allison_numpad/keymaps/via/keymap.c similarity index 100% rename from keyboards/allison_numpad/keymaps/via/keymap.c rename to keyboards/prototypist/allison_numpad/keymaps/via/keymap.c diff --git a/keyboards/allison_numpad/keymaps/via/readme.md b/keyboards/prototypist/allison_numpad/keymaps/via/readme.md similarity index 100% rename from keyboards/allison_numpad/keymaps/via/readme.md rename to keyboards/prototypist/allison_numpad/keymaps/via/readme.md diff --git a/keyboards/allison_numpad/keymaps/via/rules.mk b/keyboards/prototypist/allison_numpad/keymaps/via/rules.mk similarity index 100% rename from keyboards/allison_numpad/keymaps/via/rules.mk rename to keyboards/prototypist/allison_numpad/keymaps/via/rules.mk diff --git a/keyboards/allison_numpad/readme.md b/keyboards/prototypist/allison_numpad/readme.md similarity index 94% rename from keyboards/allison_numpad/readme.md rename to keyboards/prototypist/allison_numpad/readme.md index 82992339e1ab..ea5e449b03bc 100644 --- a/keyboards/allison_numpad/readme.md +++ b/keyboards/prototypist/allison_numpad/readme.md @@ -10,6 +10,6 @@ A custom luxurious numpad to match Allison Make example for this keyboard (after setting up your build environment): - make allison_numpad:default + make prototypist/allison_numpad:default 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/allison_numpad/rules.mk b/keyboards/prototypist/allison_numpad/rules.mk similarity index 100% rename from keyboards/allison_numpad/rules.mk rename to keyboards/prototypist/allison_numpad/rules.mk From b1942d1d0c8fff71aa495f06768f570907af7ce8 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:42:13 +0800 Subject: [PATCH 0074/1832] [Keyboard] move cu24, cu75, cu80/v1 into capsunlocked folder (#15758) --- keyboards/{ => capsunlocked}/cu24/config.h | 0 keyboards/{ => capsunlocked}/cu24/cu24.c | 0 keyboards/{ => capsunlocked}/cu24/cu24.h | 0 keyboards/{ => capsunlocked}/cu24/info.json | 0 .../cu24/keymaps/default/keymap.c | 0 .../cu24/keymaps/default/readme.md | 0 keyboards/{ => capsunlocked}/cu24/readme.md | 4 ++-- keyboards/{ => capsunlocked}/cu24/rules.mk | 0 keyboards/{ => capsunlocked}/cu75/config.h | 0 keyboards/{ => capsunlocked}/cu75/cu75.c | 0 keyboards/{ => capsunlocked}/cu75/cu75.h | 0 keyboards/{ => capsunlocked/cu75}/cu75/.noci | 0 keyboards/{ => capsunlocked}/cu75/info.json | 0 .../cu75/keymaps/default/keymap.c | 0 .../cu75/keymaps/default/rules.mk | 0 .../cu75/keymaps/iso/keymap.c | 0 .../cu75/keymaps/iso/rules.mk | 0 keyboards/{ => capsunlocked}/cu75/readme.md | 4 ++-- keyboards/{ => capsunlocked}/cu75/rules.mk | 0 .../{cu80 => capsunlocked/cu80/v1}/config.h | 0 .../{cu80 => capsunlocked/cu80/v1}/info.json | 0 .../cu80/v1}/keymaps/default/keymap.c | 0 .../cu80/v1}/keymaps/default/readme.md | 0 .../{cu80 => capsunlocked/cu80/v1}/readme.md | 4 ++-- .../{cu80 => capsunlocked/cu80/v1}/rules.mk | 0 keyboards/capsunlocked/cu80/v1/v1.c | 18 ++++++++++++++++++ .../{cu80/cu80.h => capsunlocked/cu80/v1/v1.h} | 0 keyboards/cu80/cu80.c | 1 - 28 files changed, 24 insertions(+), 7 deletions(-) rename keyboards/{ => capsunlocked}/cu24/config.h (100%) rename keyboards/{ => capsunlocked}/cu24/cu24.c (100%) rename keyboards/{ => capsunlocked}/cu24/cu24.h (100%) rename keyboards/{ => capsunlocked}/cu24/info.json (100%) rename keyboards/{ => capsunlocked}/cu24/keymaps/default/keymap.c (100%) rename keyboards/{ => capsunlocked}/cu24/keymaps/default/readme.md (100%) rename keyboards/{ => capsunlocked}/cu24/readme.md (83%) rename keyboards/{ => capsunlocked}/cu24/rules.mk (100%) rename keyboards/{ => capsunlocked}/cu75/config.h (100%) rename keyboards/{ => capsunlocked}/cu75/cu75.c (100%) rename keyboards/{ => capsunlocked}/cu75/cu75.h (100%) rename keyboards/{ => capsunlocked/cu75}/cu75/.noci (100%) rename keyboards/{ => capsunlocked}/cu75/info.json (100%) rename keyboards/{ => capsunlocked}/cu75/keymaps/default/keymap.c (100%) rename keyboards/{ => capsunlocked}/cu75/keymaps/default/rules.mk (100%) rename keyboards/{ => capsunlocked}/cu75/keymaps/iso/keymap.c (100%) rename keyboards/{ => capsunlocked}/cu75/keymaps/iso/rules.mk (100%) rename keyboards/{ => capsunlocked}/cu75/readme.md (85%) rename keyboards/{ => capsunlocked}/cu75/rules.mk (100%) rename keyboards/{cu80 => capsunlocked/cu80/v1}/config.h (100%) rename keyboards/{cu80 => capsunlocked/cu80/v1}/info.json (100%) rename keyboards/{cu80 => capsunlocked/cu80/v1}/keymaps/default/keymap.c (100%) rename keyboards/{cu80 => capsunlocked/cu80/v1}/keymaps/default/readme.md (100%) rename keyboards/{cu80 => capsunlocked/cu80/v1}/readme.md (79%) rename keyboards/{cu80 => capsunlocked/cu80/v1}/rules.mk (100%) create mode 100644 keyboards/capsunlocked/cu80/v1/v1.c rename keyboards/{cu80/cu80.h => capsunlocked/cu80/v1/v1.h} (100%) delete mode 100644 keyboards/cu80/cu80.c diff --git a/keyboards/cu24/config.h b/keyboards/capsunlocked/cu24/config.h similarity index 100% rename from keyboards/cu24/config.h rename to keyboards/capsunlocked/cu24/config.h diff --git a/keyboards/cu24/cu24.c b/keyboards/capsunlocked/cu24/cu24.c similarity index 100% rename from keyboards/cu24/cu24.c rename to keyboards/capsunlocked/cu24/cu24.c diff --git a/keyboards/cu24/cu24.h b/keyboards/capsunlocked/cu24/cu24.h similarity index 100% rename from keyboards/cu24/cu24.h rename to keyboards/capsunlocked/cu24/cu24.h diff --git a/keyboards/cu24/info.json b/keyboards/capsunlocked/cu24/info.json similarity index 100% rename from keyboards/cu24/info.json rename to keyboards/capsunlocked/cu24/info.json diff --git a/keyboards/cu24/keymaps/default/keymap.c b/keyboards/capsunlocked/cu24/keymaps/default/keymap.c similarity index 100% rename from keyboards/cu24/keymaps/default/keymap.c rename to keyboards/capsunlocked/cu24/keymaps/default/keymap.c diff --git a/keyboards/cu24/keymaps/default/readme.md b/keyboards/capsunlocked/cu24/keymaps/default/readme.md similarity index 100% rename from keyboards/cu24/keymaps/default/readme.md rename to keyboards/capsunlocked/cu24/keymaps/default/readme.md diff --git a/keyboards/cu24/readme.md b/keyboards/capsunlocked/cu24/readme.md similarity index 83% rename from keyboards/cu24/readme.md rename to keyboards/capsunlocked/cu24/readme.md index ca3f3f5a040d..250ff8847f2a 100644 --- a/keyboards/cu24/readme.md +++ b/keyboards/capsunlocked/cu24/readme.md @@ -1,6 +1,6 @@ # CU24 -![CU24](https://geekhack.org/index.php?action=dlattach;topic=93289.0;attach=185492;image) +![CU24](https://i.imgur.com/AU1QisF.jpg) A luxurious 24 key keypad with various layouts. Includes RGB underglow, backlight and an aluminium, brass and nylon case. @@ -10,6 +10,6 @@ Hardware Availability: [caps-unlocked.com](http://caps-unlocked.com/) Make example for this keyboard (after setting up your build environment): - make CU24:default + make capsunlocked/cu24:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/cu24/rules.mk b/keyboards/capsunlocked/cu24/rules.mk similarity index 100% rename from keyboards/cu24/rules.mk rename to keyboards/capsunlocked/cu24/rules.mk diff --git a/keyboards/cu75/config.h b/keyboards/capsunlocked/cu75/config.h similarity index 100% rename from keyboards/cu75/config.h rename to keyboards/capsunlocked/cu75/config.h diff --git a/keyboards/cu75/cu75.c b/keyboards/capsunlocked/cu75/cu75.c similarity index 100% rename from keyboards/cu75/cu75.c rename to keyboards/capsunlocked/cu75/cu75.c diff --git a/keyboards/cu75/cu75.h b/keyboards/capsunlocked/cu75/cu75.h similarity index 100% rename from keyboards/cu75/cu75.h rename to keyboards/capsunlocked/cu75/cu75.h diff --git a/keyboards/cu75/.noci b/keyboards/capsunlocked/cu75/cu75/.noci similarity index 100% rename from keyboards/cu75/.noci rename to keyboards/capsunlocked/cu75/cu75/.noci diff --git a/keyboards/cu75/info.json b/keyboards/capsunlocked/cu75/info.json similarity index 100% rename from keyboards/cu75/info.json rename to keyboards/capsunlocked/cu75/info.json diff --git a/keyboards/cu75/keymaps/default/keymap.c b/keyboards/capsunlocked/cu75/keymaps/default/keymap.c similarity index 100% rename from keyboards/cu75/keymaps/default/keymap.c rename to keyboards/capsunlocked/cu75/keymaps/default/keymap.c diff --git a/keyboards/cu75/keymaps/default/rules.mk b/keyboards/capsunlocked/cu75/keymaps/default/rules.mk similarity index 100% rename from keyboards/cu75/keymaps/default/rules.mk rename to keyboards/capsunlocked/cu75/keymaps/default/rules.mk diff --git a/keyboards/cu75/keymaps/iso/keymap.c b/keyboards/capsunlocked/cu75/keymaps/iso/keymap.c similarity index 100% rename from keyboards/cu75/keymaps/iso/keymap.c rename to keyboards/capsunlocked/cu75/keymaps/iso/keymap.c diff --git a/keyboards/cu75/keymaps/iso/rules.mk b/keyboards/capsunlocked/cu75/keymaps/iso/rules.mk similarity index 100% rename from keyboards/cu75/keymaps/iso/rules.mk rename to keyboards/capsunlocked/cu75/keymaps/iso/rules.mk diff --git a/keyboards/cu75/readme.md b/keyboards/capsunlocked/cu75/readme.md similarity index 85% rename from keyboards/cu75/readme.md rename to keyboards/capsunlocked/cu75/readme.md index 43603440fd24..78882b257384 100644 --- a/keyboards/cu75/readme.md +++ b/keyboards/capsunlocked/cu75/readme.md @@ -1,6 +1,6 @@ # CU75 -![CU75](https://geekhack.org/index.php?action=dlattach;topic=91767.0;attach=179167;image) +![CU75](https://i.imgur.com/42ltqi6.jpg) A luxurious 75% keyboard with various layouts. Includes RGB underglow, backlight and an aluminium, brass and nylon case. @@ -12,6 +12,6 @@ This PCB uses lighting libraries from LFKeyboards Make example for this keyboard (after setting up your build environment): - make CU75:default + make capsunlocked/cu75:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/cu75/rules.mk b/keyboards/capsunlocked/cu75/rules.mk similarity index 100% rename from keyboards/cu75/rules.mk rename to keyboards/capsunlocked/cu75/rules.mk diff --git a/keyboards/cu80/config.h b/keyboards/capsunlocked/cu80/v1/config.h similarity index 100% rename from keyboards/cu80/config.h rename to keyboards/capsunlocked/cu80/v1/config.h diff --git a/keyboards/cu80/info.json b/keyboards/capsunlocked/cu80/v1/info.json similarity index 100% rename from keyboards/cu80/info.json rename to keyboards/capsunlocked/cu80/v1/info.json diff --git a/keyboards/cu80/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v1/keymaps/default/keymap.c similarity index 100% rename from keyboards/cu80/keymaps/default/keymap.c rename to keyboards/capsunlocked/cu80/v1/keymaps/default/keymap.c diff --git a/keyboards/cu80/keymaps/default/readme.md b/keyboards/capsunlocked/cu80/v1/keymaps/default/readme.md similarity index 100% rename from keyboards/cu80/keymaps/default/readme.md rename to keyboards/capsunlocked/cu80/v1/keymaps/default/readme.md diff --git a/keyboards/cu80/readme.md b/keyboards/capsunlocked/cu80/v1/readme.md similarity index 79% rename from keyboards/cu80/readme.md rename to keyboards/capsunlocked/cu80/v1/readme.md index cb48c875b99f..9d6141a4a056 100644 --- a/keyboards/cu80/readme.md +++ b/keyboards/capsunlocked/cu80/v1/readme.md @@ -1,6 +1,6 @@ # CU80 -![cu80](https://cdn11.bigcommerce.com/s-vdedjo0w46/images/stencil/900x900/products/287/2336/DSCF3583__16019.1567722956.png?c=2) +![cu80](https://i.imgur.com/p8D4POn.png) A customizable 80% keyboard. @@ -10,6 +10,6 @@ A customizable 80% keyboard. Make example for this keyboard (after setting up your build environment): - make cu80:default + make capsunlocked/cu80/v1:default 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/cu80/rules.mk b/keyboards/capsunlocked/cu80/v1/rules.mk similarity index 100% rename from keyboards/cu80/rules.mk rename to keyboards/capsunlocked/cu80/v1/rules.mk diff --git a/keyboards/capsunlocked/cu80/v1/v1.c b/keyboards/capsunlocked/cu80/v1/v1.c new file mode 100644 index 000000000000..96161175b28e --- /dev/null +++ b/keyboards/capsunlocked/cu80/v1/v1.c @@ -0,0 +1,18 @@ +/* +Copyright 2020 Andy Holland + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "v1.h" diff --git a/keyboards/cu80/cu80.h b/keyboards/capsunlocked/cu80/v1/v1.h similarity index 100% rename from keyboards/cu80/cu80.h rename to keyboards/capsunlocked/cu80/v1/v1.h diff --git a/keyboards/cu80/cu80.c b/keyboards/cu80/cu80.c deleted file mode 100644 index f794161717c6..000000000000 --- a/keyboards/cu80/cu80.c +++ /dev/null @@ -1 +0,0 @@ -#include "cu80.h" \ No newline at end of file From d7d3839b8d1a7ff3bb01a991a5c5291e88c314c0 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:49:50 +0800 Subject: [PATCH 0075/1832] [Keyboard] move ID80 to IDOBAO vendor folder (#15665) --- keyboards/{ => idobao}/id80/ansi/config.h | 0 keyboards/{ => idobao}/id80/ansi/keymaps/default/keymap.c | 0 keyboards/{ => idobao}/id80/ansi/keymaps/default/readme.md | 0 keyboards/{ => idobao}/id80/ansi/keymaps/msf/config.h | 0 keyboards/{ => idobao}/id80/ansi/keymaps/msf/keymap.c | 0 keyboards/{ => idobao}/id80/ansi/keymaps/msf/readme.md | 0 keyboards/{ => idobao}/id80/ansi/keymaps/msf/rules.mk | 0 keyboards/{ => idobao}/id80/ansi/keymaps/via/keymap.c | 0 keyboards/{ => idobao}/id80/ansi/keymaps/via/rules.mk | 0 keyboards/{ => idobao}/id80/ansi/readme.md | 0 keyboards/{ => idobao}/id80/ansi/rules.mk | 0 keyboards/{ => idobao}/id80/config.h | 0 keyboards/{ => idobao}/id80/id80.c | 0 keyboards/{ => idobao}/id80/id80.h | 0 keyboards/{ => idobao}/id80/info.json | 0 keyboards/{ => idobao}/id80/iso/config.h | 0 keyboards/{ => idobao}/id80/iso/keymaps/default/keymap.c | 0 keyboards/{ => idobao}/id80/iso/keymaps/default/readme.md | 0 keyboards/{ => idobao}/id80/iso/keymaps/via/keymap.c | 0 keyboards/{ => idobao}/id80/iso/keymaps/via/rules.mk | 0 keyboards/{ => idobao}/id80/iso/readme.md | 0 keyboards/{ => idobao}/id80/iso/rules.mk | 0 keyboards/{ => idobao}/id80/keymaps/rverst/keymap.c | 0 keyboards/{ => idobao}/id80/keymaps/rverst/readme.md | 0 keyboards/{ => idobao}/id80/keymaps/rverst/rverst.json | 0 keyboards/{ => idobao}/id80/readme.md | 4 ++-- keyboards/{ => idobao}/id80/rules.mk | 0 27 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/{ => idobao}/id80/ansi/config.h (100%) rename keyboards/{ => idobao}/id80/ansi/keymaps/default/keymap.c (100%) rename keyboards/{ => idobao}/id80/ansi/keymaps/default/readme.md (100%) rename keyboards/{ => idobao}/id80/ansi/keymaps/msf/config.h (100%) rename keyboards/{ => idobao}/id80/ansi/keymaps/msf/keymap.c (100%) rename keyboards/{ => idobao}/id80/ansi/keymaps/msf/readme.md (100%) rename keyboards/{ => idobao}/id80/ansi/keymaps/msf/rules.mk (100%) rename keyboards/{ => idobao}/id80/ansi/keymaps/via/keymap.c (100%) rename keyboards/{ => idobao}/id80/ansi/keymaps/via/rules.mk (100%) rename keyboards/{ => idobao}/id80/ansi/readme.md (100%) rename keyboards/{ => idobao}/id80/ansi/rules.mk (100%) rename keyboards/{ => idobao}/id80/config.h (100%) rename keyboards/{ => idobao}/id80/id80.c (100%) rename keyboards/{ => idobao}/id80/id80.h (100%) rename keyboards/{ => idobao}/id80/info.json (100%) rename keyboards/{ => idobao}/id80/iso/config.h (100%) rename keyboards/{ => idobao}/id80/iso/keymaps/default/keymap.c (100%) rename keyboards/{ => idobao}/id80/iso/keymaps/default/readme.md (100%) rename keyboards/{ => idobao}/id80/iso/keymaps/via/keymap.c (100%) rename keyboards/{ => idobao}/id80/iso/keymaps/via/rules.mk (100%) rename keyboards/{ => idobao}/id80/iso/readme.md (100%) rename keyboards/{ => idobao}/id80/iso/rules.mk (100%) rename keyboards/{ => idobao}/id80/keymaps/rverst/keymap.c (100%) rename keyboards/{ => idobao}/id80/keymaps/rverst/readme.md (100%) rename keyboards/{ => idobao}/id80/keymaps/rverst/rverst.json (100%) rename keyboards/{ => idobao}/id80/readme.md (94%) rename keyboards/{ => idobao}/id80/rules.mk (100%) diff --git a/keyboards/id80/ansi/config.h b/keyboards/idobao/id80/ansi/config.h similarity index 100% rename from keyboards/id80/ansi/config.h rename to keyboards/idobao/id80/ansi/config.h diff --git a/keyboards/id80/ansi/keymaps/default/keymap.c b/keyboards/idobao/id80/ansi/keymaps/default/keymap.c similarity index 100% rename from keyboards/id80/ansi/keymaps/default/keymap.c rename to keyboards/idobao/id80/ansi/keymaps/default/keymap.c diff --git a/keyboards/id80/ansi/keymaps/default/readme.md b/keyboards/idobao/id80/ansi/keymaps/default/readme.md similarity index 100% rename from keyboards/id80/ansi/keymaps/default/readme.md rename to keyboards/idobao/id80/ansi/keymaps/default/readme.md diff --git a/keyboards/id80/ansi/keymaps/msf/config.h b/keyboards/idobao/id80/ansi/keymaps/msf/config.h similarity index 100% rename from keyboards/id80/ansi/keymaps/msf/config.h rename to keyboards/idobao/id80/ansi/keymaps/msf/config.h diff --git a/keyboards/id80/ansi/keymaps/msf/keymap.c b/keyboards/idobao/id80/ansi/keymaps/msf/keymap.c similarity index 100% rename from keyboards/id80/ansi/keymaps/msf/keymap.c rename to keyboards/idobao/id80/ansi/keymaps/msf/keymap.c diff --git a/keyboards/id80/ansi/keymaps/msf/readme.md b/keyboards/idobao/id80/ansi/keymaps/msf/readme.md similarity index 100% rename from keyboards/id80/ansi/keymaps/msf/readme.md rename to keyboards/idobao/id80/ansi/keymaps/msf/readme.md diff --git a/keyboards/id80/ansi/keymaps/msf/rules.mk b/keyboards/idobao/id80/ansi/keymaps/msf/rules.mk similarity index 100% rename from keyboards/id80/ansi/keymaps/msf/rules.mk rename to keyboards/idobao/id80/ansi/keymaps/msf/rules.mk diff --git a/keyboards/id80/ansi/keymaps/via/keymap.c b/keyboards/idobao/id80/ansi/keymaps/via/keymap.c similarity index 100% rename from keyboards/id80/ansi/keymaps/via/keymap.c rename to keyboards/idobao/id80/ansi/keymaps/via/keymap.c diff --git a/keyboards/id80/ansi/keymaps/via/rules.mk b/keyboards/idobao/id80/ansi/keymaps/via/rules.mk similarity index 100% rename from keyboards/id80/ansi/keymaps/via/rules.mk rename to keyboards/idobao/id80/ansi/keymaps/via/rules.mk diff --git a/keyboards/id80/ansi/readme.md b/keyboards/idobao/id80/ansi/readme.md similarity index 100% rename from keyboards/id80/ansi/readme.md rename to keyboards/idobao/id80/ansi/readme.md diff --git a/keyboards/id80/ansi/rules.mk b/keyboards/idobao/id80/ansi/rules.mk similarity index 100% rename from keyboards/id80/ansi/rules.mk rename to keyboards/idobao/id80/ansi/rules.mk diff --git a/keyboards/id80/config.h b/keyboards/idobao/id80/config.h similarity index 100% rename from keyboards/id80/config.h rename to keyboards/idobao/id80/config.h diff --git a/keyboards/id80/id80.c b/keyboards/idobao/id80/id80.c similarity index 100% rename from keyboards/id80/id80.c rename to keyboards/idobao/id80/id80.c diff --git a/keyboards/id80/id80.h b/keyboards/idobao/id80/id80.h similarity index 100% rename from keyboards/id80/id80.h rename to keyboards/idobao/id80/id80.h diff --git a/keyboards/id80/info.json b/keyboards/idobao/id80/info.json similarity index 100% rename from keyboards/id80/info.json rename to keyboards/idobao/id80/info.json diff --git a/keyboards/id80/iso/config.h b/keyboards/idobao/id80/iso/config.h similarity index 100% rename from keyboards/id80/iso/config.h rename to keyboards/idobao/id80/iso/config.h diff --git a/keyboards/id80/iso/keymaps/default/keymap.c b/keyboards/idobao/id80/iso/keymaps/default/keymap.c similarity index 100% rename from keyboards/id80/iso/keymaps/default/keymap.c rename to keyboards/idobao/id80/iso/keymaps/default/keymap.c diff --git a/keyboards/id80/iso/keymaps/default/readme.md b/keyboards/idobao/id80/iso/keymaps/default/readme.md similarity index 100% rename from keyboards/id80/iso/keymaps/default/readme.md rename to keyboards/idobao/id80/iso/keymaps/default/readme.md diff --git a/keyboards/id80/iso/keymaps/via/keymap.c b/keyboards/idobao/id80/iso/keymaps/via/keymap.c similarity index 100% rename from keyboards/id80/iso/keymaps/via/keymap.c rename to keyboards/idobao/id80/iso/keymaps/via/keymap.c diff --git a/keyboards/id80/iso/keymaps/via/rules.mk b/keyboards/idobao/id80/iso/keymaps/via/rules.mk similarity index 100% rename from keyboards/id80/iso/keymaps/via/rules.mk rename to keyboards/idobao/id80/iso/keymaps/via/rules.mk diff --git a/keyboards/id80/iso/readme.md b/keyboards/idobao/id80/iso/readme.md similarity index 100% rename from keyboards/id80/iso/readme.md rename to keyboards/idobao/id80/iso/readme.md diff --git a/keyboards/id80/iso/rules.mk b/keyboards/idobao/id80/iso/rules.mk similarity index 100% rename from keyboards/id80/iso/rules.mk rename to keyboards/idobao/id80/iso/rules.mk diff --git a/keyboards/id80/keymaps/rverst/keymap.c b/keyboards/idobao/id80/keymaps/rverst/keymap.c similarity index 100% rename from keyboards/id80/keymaps/rverst/keymap.c rename to keyboards/idobao/id80/keymaps/rverst/keymap.c diff --git a/keyboards/id80/keymaps/rverst/readme.md b/keyboards/idobao/id80/keymaps/rverst/readme.md similarity index 100% rename from keyboards/id80/keymaps/rverst/readme.md rename to keyboards/idobao/id80/keymaps/rverst/readme.md diff --git a/keyboards/id80/keymaps/rverst/rverst.json b/keyboards/idobao/id80/keymaps/rverst/rverst.json similarity index 100% rename from keyboards/id80/keymaps/rverst/rverst.json rename to keyboards/idobao/id80/keymaps/rverst/rverst.json diff --git a/keyboards/id80/readme.md b/keyboards/idobao/id80/readme.md similarity index 94% rename from keyboards/id80/readme.md rename to keyboards/idobao/id80/readme.md index 016d2a177ffc..bcc4a25d7d38 100644 --- a/keyboards/id80/readme.md +++ b/keyboards/idobao/id80/readme.md @@ -12,7 +12,7 @@ A 75% hotswap keyboard from IDOBAO. Make example for this keyboard (after setting up your build environment): - make id80/ansi:default + make idobao/id80/ansi:default ## ISO support: @@ -22,6 +22,6 @@ Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment): - make id80/iso:default + make idobao/id80/iso:default 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/id80/rules.mk b/keyboards/idobao/id80/rules.mk similarity index 100% rename from keyboards/id80/rules.mk rename to keyboards/idobao/id80/rules.mk From c08ed73216428d3b810fb6dd05f0db29bd839738 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:55:37 +0800 Subject: [PATCH 0076/1832] [Keyboard] move ymd75 to ymdk vendor folder (#15645) --- keyboards/ymd75/ymd75.h | 11 ----------- keyboards/{ => ymdk}/ymd75/config.h | 0 keyboards/{ => ymdk}/ymd75/info.json | 0 keyboards/{ => ymdk}/ymd75/keymaps/default/keymap.c | 0 .../{ => ymdk}/ymd75/keymaps/default_iso/keymap.c | 0 .../ymd75/keymaps/default_iso_rwkl/keymap.c | 0 keyboards/{ => ymdk}/ymd75/keymaps/via/keymap.c | 0 keyboards/{ => ymdk}/ymd75/keymaps/via/rules.mk | 0 keyboards/{ => ymdk}/ymd75/readme.md | 4 ++-- keyboards/{ => ymdk}/ymd75/rev1/.noci | 0 keyboards/{ => ymdk}/ymd75/rev1/config.h | 0 keyboards/{ => ymdk}/ymd75/rev1/rev1.c | 0 keyboards/{ => ymdk}/ymd75/rev1/rev1.h | 0 keyboards/{ => ymdk}/ymd75/rev1/rules.mk | 0 keyboards/{ => ymdk}/ymd75/rev2/.noci | 0 keyboards/{ => ymdk}/ymd75/rev2/config.h | 0 keyboards/{ => ymdk}/ymd75/rev2/rev2.c | 0 keyboards/{ => ymdk}/ymd75/rev2/rev2.h | 0 keyboards/{ => ymdk}/ymd75/rev2/rules.mk | 0 keyboards/{ => ymdk}/ymd75/rev3/config.h | 0 keyboards/{ => ymdk}/ymd75/rev3/rev3.c | 0 keyboards/{ => ymdk}/ymd75/rev3/rev3.h | 0 keyboards/{ => ymdk}/ymd75/rev3/rules.mk | 0 keyboards/{ => ymdk}/ymd75/rules.mk | 0 keyboards/{ => ymdk}/ymd75/ymd75.c | 0 keyboards/ymdk/ymd75/ymd75.h | 11 +++++++++++ 26 files changed, 13 insertions(+), 13 deletions(-) delete mode 100644 keyboards/ymd75/ymd75.h rename keyboards/{ => ymdk}/ymd75/config.h (100%) rename keyboards/{ => ymdk}/ymd75/info.json (100%) rename keyboards/{ => ymdk}/ymd75/keymaps/default/keymap.c (100%) rename keyboards/{ => ymdk}/ymd75/keymaps/default_iso/keymap.c (100%) rename keyboards/{ => ymdk}/ymd75/keymaps/default_iso_rwkl/keymap.c (100%) rename keyboards/{ => ymdk}/ymd75/keymaps/via/keymap.c (100%) rename keyboards/{ => ymdk}/ymd75/keymaps/via/rules.mk (100%) rename keyboards/{ => ymdk}/ymd75/readme.md (94%) rename keyboards/{ => ymdk}/ymd75/rev1/.noci (100%) rename keyboards/{ => ymdk}/ymd75/rev1/config.h (100%) rename keyboards/{ => ymdk}/ymd75/rev1/rev1.c (100%) rename keyboards/{ => ymdk}/ymd75/rev1/rev1.h (100%) rename keyboards/{ => ymdk}/ymd75/rev1/rules.mk (100%) rename keyboards/{ => ymdk}/ymd75/rev2/.noci (100%) rename keyboards/{ => ymdk}/ymd75/rev2/config.h (100%) rename keyboards/{ => ymdk}/ymd75/rev2/rev2.c (100%) rename keyboards/{ => ymdk}/ymd75/rev2/rev2.h (100%) rename keyboards/{ => ymdk}/ymd75/rev2/rules.mk (100%) rename keyboards/{ => ymdk}/ymd75/rev3/config.h (100%) rename keyboards/{ => ymdk}/ymd75/rev3/rev3.c (100%) rename keyboards/{ => ymdk}/ymd75/rev3/rev3.h (100%) rename keyboards/{ => ymdk}/ymd75/rev3/rules.mk (100%) rename keyboards/{ => ymdk}/ymd75/rules.mk (100%) rename keyboards/{ => ymdk}/ymd75/ymd75.c (100%) create mode 100644 keyboards/ymdk/ymd75/ymd75.h diff --git a/keyboards/ymd75/ymd75.h b/keyboards/ymd75/ymd75.h deleted file mode 100644 index 134f08060f57..000000000000 --- a/keyboards/ymd75/ymd75.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "quantum.h" - -#if defined(KEYBOARD_ymd75_rev1) - #include "rev1.h" -#elif defined(KEYBOARD_ymd75_rev2) - #include "rev2.h" -#elif defined(KEYBOARD_ymd75_rev3) - #include "rev3.h" -#endif diff --git a/keyboards/ymd75/config.h b/keyboards/ymdk/ymd75/config.h similarity index 100% rename from keyboards/ymd75/config.h rename to keyboards/ymdk/ymd75/config.h diff --git a/keyboards/ymd75/info.json b/keyboards/ymdk/ymd75/info.json similarity index 100% rename from keyboards/ymd75/info.json rename to keyboards/ymdk/ymd75/info.json diff --git a/keyboards/ymd75/keymaps/default/keymap.c b/keyboards/ymdk/ymd75/keymaps/default/keymap.c similarity index 100% rename from keyboards/ymd75/keymaps/default/keymap.c rename to keyboards/ymdk/ymd75/keymaps/default/keymap.c diff --git a/keyboards/ymd75/keymaps/default_iso/keymap.c b/keyboards/ymdk/ymd75/keymaps/default_iso/keymap.c similarity index 100% rename from keyboards/ymd75/keymaps/default_iso/keymap.c rename to keyboards/ymdk/ymd75/keymaps/default_iso/keymap.c diff --git a/keyboards/ymd75/keymaps/default_iso_rwkl/keymap.c b/keyboards/ymdk/ymd75/keymaps/default_iso_rwkl/keymap.c similarity index 100% rename from keyboards/ymd75/keymaps/default_iso_rwkl/keymap.c rename to keyboards/ymdk/ymd75/keymaps/default_iso_rwkl/keymap.c diff --git a/keyboards/ymd75/keymaps/via/keymap.c b/keyboards/ymdk/ymd75/keymaps/via/keymap.c similarity index 100% rename from keyboards/ymd75/keymaps/via/keymap.c rename to keyboards/ymdk/ymd75/keymaps/via/keymap.c diff --git a/keyboards/ymd75/keymaps/via/rules.mk b/keyboards/ymdk/ymd75/keymaps/via/rules.mk similarity index 100% rename from keyboards/ymd75/keymaps/via/rules.mk rename to keyboards/ymdk/ymd75/keymaps/via/rules.mk diff --git a/keyboards/ymd75/readme.md b/keyboards/ymdk/ymd75/readme.md similarity index 94% rename from keyboards/ymd75/readme.md rename to keyboards/ymdk/ymd75/readme.md index 99e9f656c07e..78b4d089af33 100644 --- a/keyboards/ymd75/readme.md +++ b/keyboards/ymdk/ymd75/readme.md @@ -13,11 +13,11 @@ This firmware can also be flashed onto the KBDFans KBD75 Round 2 Bootmapper Clie Make example for this keyboard (after setting up your build environment): - make ymd75/rev1:default + make ymdk/ymd75/rev1:default Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) - make ymd75/rev1:default:flash + make ymdk/ymd75/rev1:default:flash **Reset Key**: Hold down the key located at *Key below the top right key*, commonly programmed as *Backspace* while plugging in the keyboard. On PCB revision 2, enter the bootloader by holding `L_CTRL` while plugging in the keyboard. diff --git a/keyboards/ymd75/rev1/.noci b/keyboards/ymdk/ymd75/rev1/.noci similarity index 100% rename from keyboards/ymd75/rev1/.noci rename to keyboards/ymdk/ymd75/rev1/.noci diff --git a/keyboards/ymd75/rev1/config.h b/keyboards/ymdk/ymd75/rev1/config.h similarity index 100% rename from keyboards/ymd75/rev1/config.h rename to keyboards/ymdk/ymd75/rev1/config.h diff --git a/keyboards/ymd75/rev1/rev1.c b/keyboards/ymdk/ymd75/rev1/rev1.c similarity index 100% rename from keyboards/ymd75/rev1/rev1.c rename to keyboards/ymdk/ymd75/rev1/rev1.c diff --git a/keyboards/ymd75/rev1/rev1.h b/keyboards/ymdk/ymd75/rev1/rev1.h similarity index 100% rename from keyboards/ymd75/rev1/rev1.h rename to keyboards/ymdk/ymd75/rev1/rev1.h diff --git a/keyboards/ymd75/rev1/rules.mk b/keyboards/ymdk/ymd75/rev1/rules.mk similarity index 100% rename from keyboards/ymd75/rev1/rules.mk rename to keyboards/ymdk/ymd75/rev1/rules.mk diff --git a/keyboards/ymd75/rev2/.noci b/keyboards/ymdk/ymd75/rev2/.noci similarity index 100% rename from keyboards/ymd75/rev2/.noci rename to keyboards/ymdk/ymd75/rev2/.noci diff --git a/keyboards/ymd75/rev2/config.h b/keyboards/ymdk/ymd75/rev2/config.h similarity index 100% rename from keyboards/ymd75/rev2/config.h rename to keyboards/ymdk/ymd75/rev2/config.h diff --git a/keyboards/ymd75/rev2/rev2.c b/keyboards/ymdk/ymd75/rev2/rev2.c similarity index 100% rename from keyboards/ymd75/rev2/rev2.c rename to keyboards/ymdk/ymd75/rev2/rev2.c diff --git a/keyboards/ymd75/rev2/rev2.h b/keyboards/ymdk/ymd75/rev2/rev2.h similarity index 100% rename from keyboards/ymd75/rev2/rev2.h rename to keyboards/ymdk/ymd75/rev2/rev2.h diff --git a/keyboards/ymd75/rev2/rules.mk b/keyboards/ymdk/ymd75/rev2/rules.mk similarity index 100% rename from keyboards/ymd75/rev2/rules.mk rename to keyboards/ymdk/ymd75/rev2/rules.mk diff --git a/keyboards/ymd75/rev3/config.h b/keyboards/ymdk/ymd75/rev3/config.h similarity index 100% rename from keyboards/ymd75/rev3/config.h rename to keyboards/ymdk/ymd75/rev3/config.h diff --git a/keyboards/ymd75/rev3/rev3.c b/keyboards/ymdk/ymd75/rev3/rev3.c similarity index 100% rename from keyboards/ymd75/rev3/rev3.c rename to keyboards/ymdk/ymd75/rev3/rev3.c diff --git a/keyboards/ymd75/rev3/rev3.h b/keyboards/ymdk/ymd75/rev3/rev3.h similarity index 100% rename from keyboards/ymd75/rev3/rev3.h rename to keyboards/ymdk/ymd75/rev3/rev3.h diff --git a/keyboards/ymd75/rev3/rules.mk b/keyboards/ymdk/ymd75/rev3/rules.mk similarity index 100% rename from keyboards/ymd75/rev3/rules.mk rename to keyboards/ymdk/ymd75/rev3/rules.mk diff --git a/keyboards/ymd75/rules.mk b/keyboards/ymdk/ymd75/rules.mk similarity index 100% rename from keyboards/ymd75/rules.mk rename to keyboards/ymdk/ymd75/rules.mk diff --git a/keyboards/ymd75/ymd75.c b/keyboards/ymdk/ymd75/ymd75.c similarity index 100% rename from keyboards/ymd75/ymd75.c rename to keyboards/ymdk/ymd75/ymd75.c diff --git a/keyboards/ymdk/ymd75/ymd75.h b/keyboards/ymdk/ymd75/ymd75.h new file mode 100644 index 000000000000..dbaf93e7db22 --- /dev/null +++ b/keyboards/ymdk/ymd75/ymd75.h @@ -0,0 +1,11 @@ +#pragma once + +#include "quantum.h" + +#if defined(KEYBOARD_ymdk_ymd75_rev1) + #include "rev1.h" +#elif defined(KEYBOARD_ymdk_ymd75_rev2) + #include "rev2.h" +#elif defined(KEYBOARD_ymdk_ymd75_rev3) + #include "rev3.h" +#endif From 65e7d0c01f4524db24b66a9dcb692f3557cf8c46 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:55:58 +0800 Subject: [PATCH 0077/1832] [Keyboard] move ymd96 to ymdk vendor folder (#15643) --- keyboards/{ => ymdk}/ymd96/config.h | 0 keyboards/{ => ymdk}/ymd96/info.json | 0 keyboards/{ => ymdk}/ymd96/keymaps/AnthonyWharton/README.md | 0 keyboards/{ => ymdk}/ymd96/keymaps/AnthonyWharton/config.h | 0 keyboards/{ => ymdk}/ymd96/keymaps/AnthonyWharton/keymap.c | 0 keyboards/{ => ymdk}/ymd96/keymaps/default/keymap.c | 0 keyboards/{ => ymdk}/ymd96/keymaps/epx/keymap.c | 0 keyboards/{ => ymdk}/ymd96/keymaps/hgoel89/config.h | 0 keyboards/{ => ymdk}/ymd96/keymaps/hgoel89/keymap.c | 0 keyboards/{ => ymdk}/ymd96/keymaps/hgoel89/readme.md | 0 keyboards/{ => ymdk}/ymd96/keymaps/hgoel89/rules.mk | 0 keyboards/{ => ymdk}/ymd96/readme.md | 4 ++-- keyboards/{ => ymdk}/ymd96/rules.mk | 0 keyboards/{ => ymdk}/ymd96/ymd96.c | 0 keyboards/{ => ymdk}/ymd96/ymd96.h | 0 15 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/{ => ymdk}/ymd96/config.h (100%) rename keyboards/{ => ymdk}/ymd96/info.json (100%) rename keyboards/{ => ymdk}/ymd96/keymaps/AnthonyWharton/README.md (100%) rename keyboards/{ => ymdk}/ymd96/keymaps/AnthonyWharton/config.h (100%) rename keyboards/{ => ymdk}/ymd96/keymaps/AnthonyWharton/keymap.c (100%) rename keyboards/{ => ymdk}/ymd96/keymaps/default/keymap.c (100%) rename keyboards/{ => ymdk}/ymd96/keymaps/epx/keymap.c (100%) rename keyboards/{ => ymdk}/ymd96/keymaps/hgoel89/config.h (100%) rename keyboards/{ => ymdk}/ymd96/keymaps/hgoel89/keymap.c (100%) rename keyboards/{ => ymdk}/ymd96/keymaps/hgoel89/readme.md (100%) rename keyboards/{ => ymdk}/ymd96/keymaps/hgoel89/rules.mk (100%) rename keyboards/{ => ymdk}/ymd96/readme.md (94%) rename keyboards/{ => ymdk}/ymd96/rules.mk (100%) rename keyboards/{ => ymdk}/ymd96/ymd96.c (100%) rename keyboards/{ => ymdk}/ymd96/ymd96.h (100%) diff --git a/keyboards/ymd96/config.h b/keyboards/ymdk/ymd96/config.h similarity index 100% rename from keyboards/ymd96/config.h rename to keyboards/ymdk/ymd96/config.h diff --git a/keyboards/ymd96/info.json b/keyboards/ymdk/ymd96/info.json similarity index 100% rename from keyboards/ymd96/info.json rename to keyboards/ymdk/ymd96/info.json diff --git a/keyboards/ymd96/keymaps/AnthonyWharton/README.md b/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/README.md similarity index 100% rename from keyboards/ymd96/keymaps/AnthonyWharton/README.md rename to keyboards/ymdk/ymd96/keymaps/AnthonyWharton/README.md diff --git a/keyboards/ymd96/keymaps/AnthonyWharton/config.h b/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h similarity index 100% rename from keyboards/ymd96/keymaps/AnthonyWharton/config.h rename to keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h diff --git a/keyboards/ymd96/keymaps/AnthonyWharton/keymap.c b/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/keymap.c similarity index 100% rename from keyboards/ymd96/keymaps/AnthonyWharton/keymap.c rename to keyboards/ymdk/ymd96/keymaps/AnthonyWharton/keymap.c diff --git a/keyboards/ymd96/keymaps/default/keymap.c b/keyboards/ymdk/ymd96/keymaps/default/keymap.c similarity index 100% rename from keyboards/ymd96/keymaps/default/keymap.c rename to keyboards/ymdk/ymd96/keymaps/default/keymap.c diff --git a/keyboards/ymd96/keymaps/epx/keymap.c b/keyboards/ymdk/ymd96/keymaps/epx/keymap.c similarity index 100% rename from keyboards/ymd96/keymaps/epx/keymap.c rename to keyboards/ymdk/ymd96/keymaps/epx/keymap.c diff --git a/keyboards/ymd96/keymaps/hgoel89/config.h b/keyboards/ymdk/ymd96/keymaps/hgoel89/config.h similarity index 100% rename from keyboards/ymd96/keymaps/hgoel89/config.h rename to keyboards/ymdk/ymd96/keymaps/hgoel89/config.h diff --git a/keyboards/ymd96/keymaps/hgoel89/keymap.c b/keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c similarity index 100% rename from keyboards/ymd96/keymaps/hgoel89/keymap.c rename to keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c diff --git a/keyboards/ymd96/keymaps/hgoel89/readme.md b/keyboards/ymdk/ymd96/keymaps/hgoel89/readme.md similarity index 100% rename from keyboards/ymd96/keymaps/hgoel89/readme.md rename to keyboards/ymdk/ymd96/keymaps/hgoel89/readme.md diff --git a/keyboards/ymd96/keymaps/hgoel89/rules.mk b/keyboards/ymdk/ymd96/keymaps/hgoel89/rules.mk similarity index 100% rename from keyboards/ymd96/keymaps/hgoel89/rules.mk rename to keyboards/ymdk/ymd96/keymaps/hgoel89/rules.mk diff --git a/keyboards/ymd96/readme.md b/keyboards/ymdk/ymd96/readme.md similarity index 94% rename from keyboards/ymd96/readme.md rename to keyboards/ymdk/ymd96/readme.md index 59d6b733790b..6a967a49c258 100644 --- a/keyboards/ymd96/readme.md +++ b/keyboards/ymdk/ymd96/readme.md @@ -8,11 +8,11 @@ A 96-keyboard which supports both ANSI and ISO along with many different layout Make example for this keyboard (after setting up your build environment): - make ymd96:default + make ymdk/ymd96:default Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) - make ymd96:default:flash + make ymdk/ymd96:default:flash **Reset Key**: Hold down the key commonly programmed as *L_Ctrl* while plugging in the keyboard. diff --git a/keyboards/ymd96/rules.mk b/keyboards/ymdk/ymd96/rules.mk similarity index 100% rename from keyboards/ymd96/rules.mk rename to keyboards/ymdk/ymd96/rules.mk diff --git a/keyboards/ymd96/ymd96.c b/keyboards/ymdk/ymd96/ymd96.c similarity index 100% rename from keyboards/ymd96/ymd96.c rename to keyboards/ymdk/ymd96/ymd96.c diff --git a/keyboards/ymd96/ymd96.h b/keyboards/ymdk/ymd96/ymd96.h similarity index 100% rename from keyboards/ymd96/ymd96.h rename to keyboards/ymdk/ymd96/ymd96.h From 2b212cf692ecc70b587389112bca0a7668cef050 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:56:59 +0800 Subject: [PATCH 0078/1832] [Keyboard] Rename ymdk_np21 to np21, move to ymdk vendor folder (#15641) --- keyboards/{ymdk_np21 => ymdk/np21}/config.h | 0 keyboards/{ymdk_np21 => ymdk/np21}/info.json | 0 keyboards/{ymdk_np21 => ymdk/np21}/keymaps/default/keymap.c | 0 keyboards/{ymdk_np21 => ymdk/np21}/keymaps/default/readme.md | 0 keyboards/{ymdk_np21 => ymdk/np21}/keymaps/via/keymap.c | 0 keyboards/{ymdk_np21 => ymdk/np21}/keymaps/via/rules.mk | 0 keyboards/{ymdk_np21/ymdk_np21.c => ymdk/np21/np21.c} | 2 +- keyboards/{ymdk_np21/ymdk_np21.h => ymdk/np21/np21.h} | 0 keyboards/{ymdk_np21 => ymdk/np21}/readme.md | 4 ++-- keyboards/{ymdk_np21 => ymdk/np21}/rules.mk | 0 10 files changed, 3 insertions(+), 3 deletions(-) rename keyboards/{ymdk_np21 => ymdk/np21}/config.h (100%) rename keyboards/{ymdk_np21 => ymdk/np21}/info.json (100%) rename keyboards/{ymdk_np21 => ymdk/np21}/keymaps/default/keymap.c (100%) rename keyboards/{ymdk_np21 => ymdk/np21}/keymaps/default/readme.md (100%) rename keyboards/{ymdk_np21 => ymdk/np21}/keymaps/via/keymap.c (100%) rename keyboards/{ymdk_np21 => ymdk/np21}/keymaps/via/rules.mk (100%) rename keyboards/{ymdk_np21/ymdk_np21.c => ymdk/np21/np21.c} (96%) rename keyboards/{ymdk_np21/ymdk_np21.h => ymdk/np21/np21.h} (100%) rename keyboards/{ymdk_np21 => ymdk/np21}/readme.md (94%) rename keyboards/{ymdk_np21 => ymdk/np21}/rules.mk (100%) diff --git a/keyboards/ymdk_np21/config.h b/keyboards/ymdk/np21/config.h similarity index 100% rename from keyboards/ymdk_np21/config.h rename to keyboards/ymdk/np21/config.h diff --git a/keyboards/ymdk_np21/info.json b/keyboards/ymdk/np21/info.json similarity index 100% rename from keyboards/ymdk_np21/info.json rename to keyboards/ymdk/np21/info.json diff --git a/keyboards/ymdk_np21/keymaps/default/keymap.c b/keyboards/ymdk/np21/keymaps/default/keymap.c similarity index 100% rename from keyboards/ymdk_np21/keymaps/default/keymap.c rename to keyboards/ymdk/np21/keymaps/default/keymap.c diff --git a/keyboards/ymdk_np21/keymaps/default/readme.md b/keyboards/ymdk/np21/keymaps/default/readme.md similarity index 100% rename from keyboards/ymdk_np21/keymaps/default/readme.md rename to keyboards/ymdk/np21/keymaps/default/readme.md diff --git a/keyboards/ymdk_np21/keymaps/via/keymap.c b/keyboards/ymdk/np21/keymaps/via/keymap.c similarity index 100% rename from keyboards/ymdk_np21/keymaps/via/keymap.c rename to keyboards/ymdk/np21/keymaps/via/keymap.c diff --git a/keyboards/ymdk_np21/keymaps/via/rules.mk b/keyboards/ymdk/np21/keymaps/via/rules.mk similarity index 100% rename from keyboards/ymdk_np21/keymaps/via/rules.mk rename to keyboards/ymdk/np21/keymaps/via/rules.mk diff --git a/keyboards/ymdk_np21/ymdk_np21.c b/keyboards/ymdk/np21/np21.c similarity index 96% rename from keyboards/ymdk_np21/ymdk_np21.c rename to keyboards/ymdk/np21/np21.c index 3ca0e8baa04a..824cfb0d1a6e 100644 --- a/keyboards/ymdk_np21/ymdk_np21.c +++ b/keyboards/ymdk/np21/np21.c @@ -16,4 +16,4 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "ymdk_np21.h" +#include "np21.h" diff --git a/keyboards/ymdk_np21/ymdk_np21.h b/keyboards/ymdk/np21/np21.h similarity index 100% rename from keyboards/ymdk_np21/ymdk_np21.h rename to keyboards/ymdk/np21/np21.h diff --git a/keyboards/ymdk_np21/readme.md b/keyboards/ymdk/np21/readme.md similarity index 94% rename from keyboards/ymdk_np21/readme.md rename to keyboards/ymdk/np21/readme.md index decd30b27577..e9eaad9b7be1 100644 --- a/keyboards/ymdk_np21/readme.md +++ b/keyboards/ymdk/np21/readme.md @@ -10,11 +10,11 @@ ps2avrGB based number-pad sold fully assembled by YMDK on Aliexpress. Make example for this keyboard (after setting up your build environment): - make ymdk_np21:default + make ymdk/np21:default Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) - make ymdk_np21:default:flash + make ymdk/np21:default:flash **Reset Key**: Hold down the 'Top Left Key' (USB on top) while plugging in the keyboard. diff --git a/keyboards/ymdk_np21/rules.mk b/keyboards/ymdk/np21/rules.mk similarity index 100% rename from keyboards/ymdk_np21/rules.mk rename to keyboards/ymdk/np21/rules.mk From 34602f4b25f24d3238c8e76fe7d65dc8b69bf9c8 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:57:20 +0800 Subject: [PATCH 0079/1832] [Keyboard] move reviung keyboards to a directory (#15636) --- keyboards/{ => reviung}/reviung33/config.h | 0 keyboards/{ => reviung}/reviung33/info.json | 0 keyboards/{ => reviung}/reviung33/keymaps/default/keymap.c | 0 keyboards/{ => reviung}/reviung33/keymaps/default/readme.md | 0 keyboards/{ => reviung}/reviung33/keymaps/default_jp/keymap.c | 0 keyboards/{ => reviung}/reviung33/keymaps/default_jp/readme.md | 0 keyboards/{ => reviung}/reviung33/readme.md | 0 keyboards/{ => reviung}/reviung33/reviung33.c | 0 keyboards/{ => reviung}/reviung33/reviung33.h | 0 keyboards/{ => reviung}/reviung33/rules.mk | 0 keyboards/{ => reviung}/reviung34/config.h | 0 keyboards/{ => reviung}/reviung34/info.json | 0 keyboards/{ => reviung}/reviung34/keymaps/default/keymap.c | 0 keyboards/{ => reviung}/reviung34/keymaps/default/readme.md | 0 keyboards/{ => reviung}/reviung34/keymaps/default_2uL/keymap.c | 0 keyboards/{ => reviung}/reviung34/keymaps/default_2uL/readme.md | 0 keyboards/{ => reviung}/reviung34/keymaps/default_jp/keymap.c | 0 keyboards/{ => reviung}/reviung34/keymaps/default_jp/readme.md | 0 keyboards/{ => reviung}/reviung34/keymaps/default_rgb/config.h | 0 keyboards/{ => reviung}/reviung34/keymaps/default_rgb/keymap.c | 0 keyboards/{ => reviung}/reviung34/keymaps/default_rgb/readme.md | 0 keyboards/{ => reviung}/reviung34/keymaps/default_rgb/rules.mk | 0 keyboards/{ => reviung}/reviung34/keymaps/default_rgb2u/config.h | 0 keyboards/{ => reviung}/reviung34/keymaps/default_rgb2u/keymap.c | 0 keyboards/{ => reviung}/reviung34/keymaps/default_rgb2u/readme.md | 0 keyboards/{ => reviung}/reviung34/keymaps/default_rgb2u/rules.mk | 0 keyboards/{ => reviung}/reviung34/readme.md | 0 keyboards/{ => reviung}/reviung34/reviung34.c | 0 keyboards/{ => reviung}/reviung34/reviung34.h | 0 keyboards/{ => reviung}/reviung34/rules.mk | 0 keyboards/{ => reviung}/reviung39/config.h | 0 keyboards/{ => reviung}/reviung39/info.json | 0 keyboards/{ => reviung}/reviung39/keymaps/default/config.h | 0 keyboards/{ => reviung}/reviung39/keymaps/default/keymap.c | 0 keyboards/{ => reviung}/reviung39/keymaps/default/readme.md | 0 keyboards/{ => reviung}/reviung39/keymaps/default/rules.mk | 0 keyboards/{ => reviung}/reviung39/keymaps/default_s/config.h | 0 keyboards/{ => reviung}/reviung39/keymaps/default_s/keymap.c | 0 keyboards/{ => reviung}/reviung39/keymaps/default_s/readme.md | 0 keyboards/{ => reviung}/reviung39/keymaps/default_s/rules.mk | 0 keyboards/{ => reviung}/reviung39/keymaps/toshi0383/config.h | 0 keyboards/{ => reviung}/reviung39/keymaps/toshi0383/keymap.c | 0 keyboards/{ => reviung}/reviung39/keymaps/toshi0383/readme.md | 0 keyboards/{ => reviung}/reviung39/keymaps/toshi0383/rules.mk | 0 keyboards/{ => reviung}/reviung39/keymaps/via/keymap.c | 0 keyboards/{ => reviung}/reviung39/keymaps/via/rules.mk | 0 keyboards/{ => reviung}/reviung39/readme.md | 0 keyboards/{ => reviung}/reviung39/reviung39.c | 0 keyboards/{ => reviung}/reviung39/reviung39.h | 0 keyboards/{ => reviung}/reviung39/rules.mk | 0 keyboards/{ => reviung}/reviung41/config.h | 0 keyboards/{ => reviung}/reviung41/info.json | 0 keyboards/{ => reviung}/reviung41/keymaps/ciutadellla/config.h | 0 keyboards/{ => reviung}/reviung41/keymaps/ciutadellla/keymap.c | 0 keyboards/{ => reviung}/reviung41/keymaps/ciutadellla/rules.mk | 0 keyboards/{ => reviung}/reviung41/keymaps/default/keymap.c | 0 keyboards/{ => reviung}/reviung41/keymaps/default/readme.md | 0 keyboards/{ => reviung}/reviung41/keymaps/via/keymap.c | 0 keyboards/{ => reviung}/reviung41/keymaps/via/rules.mk | 0 keyboards/{ => reviung}/reviung41/readme.md | 0 keyboards/{ => reviung}/reviung41/reviung41.c | 0 keyboards/{ => reviung}/reviung41/reviung41.h | 0 keyboards/{ => reviung}/reviung41/rules.mk | 0 keyboards/{ => reviung}/reviung5/config.h | 0 keyboards/{ => reviung}/reviung5/info.json | 0 keyboards/{ => reviung}/reviung5/keymaps/default/keymap.c | 0 keyboards/{ => reviung}/reviung5/keymaps/default/readme.md | 0 keyboards/{ => reviung}/reviung5/keymaps/default_lre/keymap.c | 0 keyboards/{ => reviung}/reviung5/keymaps/default_lre/readme.md | 0 keyboards/{ => reviung}/reviung5/keymaps/default_rre/keymap.c | 0 keyboards/{ => reviung}/reviung5/keymaps/default_rre/readme.md | 0 keyboards/{ => reviung}/reviung5/readme.md | 0 keyboards/{ => reviung}/reviung5/reviung5.c | 0 keyboards/{ => reviung}/reviung5/reviung5.h | 0 keyboards/{ => reviung}/reviung5/rules.mk | 0 keyboards/{ => reviung}/reviung53/config.h | 0 keyboards/{ => reviung}/reviung53/info.json | 0 keyboards/{ => reviung}/reviung53/keymaps/default/keymap.c | 0 keyboards/{ => reviung}/reviung53/keymaps/default/readme.md | 0 keyboards/{ => reviung}/reviung53/keymaps/via/keymap.c | 0 keyboards/{ => reviung}/reviung53/keymaps/via/readme.md | 0 keyboards/{ => reviung}/reviung53/keymaps/via/rules.mk | 0 keyboards/{ => reviung}/reviung53/readme.md | 0 keyboards/{ => reviung}/reviung53/reviung53.c | 0 keyboards/{ => reviung}/reviung53/reviung53.h | 0 keyboards/{ => reviung}/reviung53/rules.mk | 0 keyboards/{ => reviung}/reviung61/config.h | 0 keyboards/{ => reviung}/reviung61/info.json | 0 keyboards/{ => reviung}/reviung61/keymaps/default/keymap.c | 0 keyboards/{ => reviung}/reviung61/keymaps/default/readme.md | 0 keyboards/{ => reviung}/reviung61/keymaps/default_rgb/config.h | 0 keyboards/{ => reviung}/reviung61/keymaps/default_rgb/keymap.c | 0 keyboards/{ => reviung}/reviung61/keymaps/default_rgb/readme.md | 0 keyboards/{ => reviung}/reviung61/keymaps/default_rgb/rules.mk | 0 keyboards/{ => reviung}/reviung61/readme.md | 0 keyboards/{ => reviung}/reviung61/reviung61.c | 0 keyboards/{ => reviung}/reviung61/reviung61.h | 0 keyboards/{ => reviung}/reviung61/rules.mk | 0 98 files changed, 0 insertions(+), 0 deletions(-) rename keyboards/{ => reviung}/reviung33/config.h (100%) rename keyboards/{ => reviung}/reviung33/info.json (100%) rename keyboards/{ => reviung}/reviung33/keymaps/default/keymap.c (100%) rename keyboards/{ => reviung}/reviung33/keymaps/default/readme.md (100%) rename keyboards/{ => reviung}/reviung33/keymaps/default_jp/keymap.c (100%) rename keyboards/{ => reviung}/reviung33/keymaps/default_jp/readme.md (100%) rename keyboards/{ => reviung}/reviung33/readme.md (100%) rename keyboards/{ => reviung}/reviung33/reviung33.c (100%) rename keyboards/{ => reviung}/reviung33/reviung33.h (100%) rename keyboards/{ => reviung}/reviung33/rules.mk (100%) rename keyboards/{ => reviung}/reviung34/config.h (100%) rename keyboards/{ => reviung}/reviung34/info.json (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default/keymap.c (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default/readme.md (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_2uL/keymap.c (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_2uL/readme.md (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_jp/keymap.c (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_jp/readme.md (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_rgb/config.h (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_rgb/keymap.c (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_rgb/readme.md (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_rgb/rules.mk (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_rgb2u/config.h (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_rgb2u/keymap.c (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_rgb2u/readme.md (100%) rename keyboards/{ => reviung}/reviung34/keymaps/default_rgb2u/rules.mk (100%) rename keyboards/{ => reviung}/reviung34/readme.md (100%) rename keyboards/{ => reviung}/reviung34/reviung34.c (100%) rename keyboards/{ => reviung}/reviung34/reviung34.h (100%) rename keyboards/{ => reviung}/reviung34/rules.mk (100%) rename keyboards/{ => reviung}/reviung39/config.h (100%) rename keyboards/{ => reviung}/reviung39/info.json (100%) rename keyboards/{ => reviung}/reviung39/keymaps/default/config.h (100%) rename keyboards/{ => reviung}/reviung39/keymaps/default/keymap.c (100%) rename keyboards/{ => reviung}/reviung39/keymaps/default/readme.md (100%) rename keyboards/{ => reviung}/reviung39/keymaps/default/rules.mk (100%) rename keyboards/{ => reviung}/reviung39/keymaps/default_s/config.h (100%) rename keyboards/{ => reviung}/reviung39/keymaps/default_s/keymap.c (100%) rename keyboards/{ => reviung}/reviung39/keymaps/default_s/readme.md (100%) rename keyboards/{ => reviung}/reviung39/keymaps/default_s/rules.mk (100%) rename keyboards/{ => reviung}/reviung39/keymaps/toshi0383/config.h (100%) rename keyboards/{ => reviung}/reviung39/keymaps/toshi0383/keymap.c (100%) rename keyboards/{ => reviung}/reviung39/keymaps/toshi0383/readme.md (100%) rename keyboards/{ => reviung}/reviung39/keymaps/toshi0383/rules.mk (100%) rename keyboards/{ => reviung}/reviung39/keymaps/via/keymap.c (100%) rename keyboards/{ => reviung}/reviung39/keymaps/via/rules.mk (100%) rename keyboards/{ => reviung}/reviung39/readme.md (100%) rename keyboards/{ => reviung}/reviung39/reviung39.c (100%) rename keyboards/{ => reviung}/reviung39/reviung39.h (100%) rename keyboards/{ => reviung}/reviung39/rules.mk (100%) rename keyboards/{ => reviung}/reviung41/config.h (100%) rename keyboards/{ => reviung}/reviung41/info.json (100%) rename keyboards/{ => reviung}/reviung41/keymaps/ciutadellla/config.h (100%) rename keyboards/{ => reviung}/reviung41/keymaps/ciutadellla/keymap.c (100%) rename keyboards/{ => reviung}/reviung41/keymaps/ciutadellla/rules.mk (100%) rename keyboards/{ => reviung}/reviung41/keymaps/default/keymap.c (100%) rename keyboards/{ => reviung}/reviung41/keymaps/default/readme.md (100%) rename keyboards/{ => reviung}/reviung41/keymaps/via/keymap.c (100%) rename keyboards/{ => reviung}/reviung41/keymaps/via/rules.mk (100%) rename keyboards/{ => reviung}/reviung41/readme.md (100%) rename keyboards/{ => reviung}/reviung41/reviung41.c (100%) rename keyboards/{ => reviung}/reviung41/reviung41.h (100%) rename keyboards/{ => reviung}/reviung41/rules.mk (100%) rename keyboards/{ => reviung}/reviung5/config.h (100%) rename keyboards/{ => reviung}/reviung5/info.json (100%) rename keyboards/{ => reviung}/reviung5/keymaps/default/keymap.c (100%) rename keyboards/{ => reviung}/reviung5/keymaps/default/readme.md (100%) rename keyboards/{ => reviung}/reviung5/keymaps/default_lre/keymap.c (100%) rename keyboards/{ => reviung}/reviung5/keymaps/default_lre/readme.md (100%) rename keyboards/{ => reviung}/reviung5/keymaps/default_rre/keymap.c (100%) rename keyboards/{ => reviung}/reviung5/keymaps/default_rre/readme.md (100%) rename keyboards/{ => reviung}/reviung5/readme.md (100%) rename keyboards/{ => reviung}/reviung5/reviung5.c (100%) rename keyboards/{ => reviung}/reviung5/reviung5.h (100%) rename keyboards/{ => reviung}/reviung5/rules.mk (100%) rename keyboards/{ => reviung}/reviung53/config.h (100%) rename keyboards/{ => reviung}/reviung53/info.json (100%) rename keyboards/{ => reviung}/reviung53/keymaps/default/keymap.c (100%) rename keyboards/{ => reviung}/reviung53/keymaps/default/readme.md (100%) rename keyboards/{ => reviung}/reviung53/keymaps/via/keymap.c (100%) rename keyboards/{ => reviung}/reviung53/keymaps/via/readme.md (100%) rename keyboards/{ => reviung}/reviung53/keymaps/via/rules.mk (100%) rename keyboards/{ => reviung}/reviung53/readme.md (100%) rename keyboards/{ => reviung}/reviung53/reviung53.c (100%) rename keyboards/{ => reviung}/reviung53/reviung53.h (100%) rename keyboards/{ => reviung}/reviung53/rules.mk (100%) rename keyboards/{ => reviung}/reviung61/config.h (100%) rename keyboards/{ => reviung}/reviung61/info.json (100%) rename keyboards/{ => reviung}/reviung61/keymaps/default/keymap.c (100%) rename keyboards/{ => reviung}/reviung61/keymaps/default/readme.md (100%) rename keyboards/{ => reviung}/reviung61/keymaps/default_rgb/config.h (100%) rename keyboards/{ => reviung}/reviung61/keymaps/default_rgb/keymap.c (100%) rename keyboards/{ => reviung}/reviung61/keymaps/default_rgb/readme.md (100%) rename keyboards/{ => reviung}/reviung61/keymaps/default_rgb/rules.mk (100%) rename keyboards/{ => reviung}/reviung61/readme.md (100%) rename keyboards/{ => reviung}/reviung61/reviung61.c (100%) rename keyboards/{ => reviung}/reviung61/reviung61.h (100%) rename keyboards/{ => reviung}/reviung61/rules.mk (100%) diff --git a/keyboards/reviung33/config.h b/keyboards/reviung/reviung33/config.h similarity index 100% rename from keyboards/reviung33/config.h rename to keyboards/reviung/reviung33/config.h diff --git a/keyboards/reviung33/info.json b/keyboards/reviung/reviung33/info.json similarity index 100% rename from keyboards/reviung33/info.json rename to keyboards/reviung/reviung33/info.json diff --git a/keyboards/reviung33/keymaps/default/keymap.c b/keyboards/reviung/reviung33/keymaps/default/keymap.c similarity index 100% rename from keyboards/reviung33/keymaps/default/keymap.c rename to keyboards/reviung/reviung33/keymaps/default/keymap.c diff --git a/keyboards/reviung33/keymaps/default/readme.md b/keyboards/reviung/reviung33/keymaps/default/readme.md similarity index 100% rename from keyboards/reviung33/keymaps/default/readme.md rename to keyboards/reviung/reviung33/keymaps/default/readme.md diff --git a/keyboards/reviung33/keymaps/default_jp/keymap.c b/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c similarity index 100% rename from keyboards/reviung33/keymaps/default_jp/keymap.c rename to keyboards/reviung/reviung33/keymaps/default_jp/keymap.c diff --git a/keyboards/reviung33/keymaps/default_jp/readme.md b/keyboards/reviung/reviung33/keymaps/default_jp/readme.md similarity index 100% rename from keyboards/reviung33/keymaps/default_jp/readme.md rename to keyboards/reviung/reviung33/keymaps/default_jp/readme.md diff --git a/keyboards/reviung33/readme.md b/keyboards/reviung/reviung33/readme.md similarity index 100% rename from keyboards/reviung33/readme.md rename to keyboards/reviung/reviung33/readme.md diff --git a/keyboards/reviung33/reviung33.c b/keyboards/reviung/reviung33/reviung33.c similarity index 100% rename from keyboards/reviung33/reviung33.c rename to keyboards/reviung/reviung33/reviung33.c diff --git a/keyboards/reviung33/reviung33.h b/keyboards/reviung/reviung33/reviung33.h similarity index 100% rename from keyboards/reviung33/reviung33.h rename to keyboards/reviung/reviung33/reviung33.h diff --git a/keyboards/reviung33/rules.mk b/keyboards/reviung/reviung33/rules.mk similarity index 100% rename from keyboards/reviung33/rules.mk rename to keyboards/reviung/reviung33/rules.mk diff --git a/keyboards/reviung34/config.h b/keyboards/reviung/reviung34/config.h similarity index 100% rename from keyboards/reviung34/config.h rename to keyboards/reviung/reviung34/config.h diff --git a/keyboards/reviung34/info.json b/keyboards/reviung/reviung34/info.json similarity index 100% rename from keyboards/reviung34/info.json rename to keyboards/reviung/reviung34/info.json diff --git a/keyboards/reviung34/keymaps/default/keymap.c b/keyboards/reviung/reviung34/keymaps/default/keymap.c similarity index 100% rename from keyboards/reviung34/keymaps/default/keymap.c rename to keyboards/reviung/reviung34/keymaps/default/keymap.c diff --git a/keyboards/reviung34/keymaps/default/readme.md b/keyboards/reviung/reviung34/keymaps/default/readme.md similarity index 100% rename from keyboards/reviung34/keymaps/default/readme.md rename to keyboards/reviung/reviung34/keymaps/default/readme.md diff --git a/keyboards/reviung34/keymaps/default_2uL/keymap.c b/keyboards/reviung/reviung34/keymaps/default_2uL/keymap.c similarity index 100% rename from keyboards/reviung34/keymaps/default_2uL/keymap.c rename to keyboards/reviung/reviung34/keymaps/default_2uL/keymap.c diff --git a/keyboards/reviung34/keymaps/default_2uL/readme.md b/keyboards/reviung/reviung34/keymaps/default_2uL/readme.md similarity index 100% rename from keyboards/reviung34/keymaps/default_2uL/readme.md rename to keyboards/reviung/reviung34/keymaps/default_2uL/readme.md diff --git a/keyboards/reviung34/keymaps/default_jp/keymap.c b/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c similarity index 100% rename from keyboards/reviung34/keymaps/default_jp/keymap.c rename to keyboards/reviung/reviung34/keymaps/default_jp/keymap.c diff --git a/keyboards/reviung34/keymaps/default_jp/readme.md b/keyboards/reviung/reviung34/keymaps/default_jp/readme.md similarity index 100% rename from keyboards/reviung34/keymaps/default_jp/readme.md rename to keyboards/reviung/reviung34/keymaps/default_jp/readme.md diff --git a/keyboards/reviung34/keymaps/default_rgb/config.h b/keyboards/reviung/reviung34/keymaps/default_rgb/config.h similarity index 100% rename from keyboards/reviung34/keymaps/default_rgb/config.h rename to keyboards/reviung/reviung34/keymaps/default_rgb/config.h diff --git a/keyboards/reviung34/keymaps/default_rgb/keymap.c b/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c similarity index 100% rename from keyboards/reviung34/keymaps/default_rgb/keymap.c rename to keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c diff --git a/keyboards/reviung34/keymaps/default_rgb/readme.md b/keyboards/reviung/reviung34/keymaps/default_rgb/readme.md similarity index 100% rename from keyboards/reviung34/keymaps/default_rgb/readme.md rename to keyboards/reviung/reviung34/keymaps/default_rgb/readme.md diff --git a/keyboards/reviung34/keymaps/default_rgb/rules.mk b/keyboards/reviung/reviung34/keymaps/default_rgb/rules.mk similarity index 100% rename from keyboards/reviung34/keymaps/default_rgb/rules.mk rename to keyboards/reviung/reviung34/keymaps/default_rgb/rules.mk diff --git a/keyboards/reviung34/keymaps/default_rgb2u/config.h b/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h similarity index 100% rename from keyboards/reviung34/keymaps/default_rgb2u/config.h rename to keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h diff --git a/keyboards/reviung34/keymaps/default_rgb2u/keymap.c b/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c similarity index 100% rename from keyboards/reviung34/keymaps/default_rgb2u/keymap.c rename to keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c diff --git a/keyboards/reviung34/keymaps/default_rgb2u/readme.md b/keyboards/reviung/reviung34/keymaps/default_rgb2u/readme.md similarity index 100% rename from keyboards/reviung34/keymaps/default_rgb2u/readme.md rename to keyboards/reviung/reviung34/keymaps/default_rgb2u/readme.md diff --git a/keyboards/reviung34/keymaps/default_rgb2u/rules.mk b/keyboards/reviung/reviung34/keymaps/default_rgb2u/rules.mk similarity index 100% rename from keyboards/reviung34/keymaps/default_rgb2u/rules.mk rename to keyboards/reviung/reviung34/keymaps/default_rgb2u/rules.mk diff --git a/keyboards/reviung34/readme.md b/keyboards/reviung/reviung34/readme.md similarity index 100% rename from keyboards/reviung34/readme.md rename to keyboards/reviung/reviung34/readme.md diff --git a/keyboards/reviung34/reviung34.c b/keyboards/reviung/reviung34/reviung34.c similarity index 100% rename from keyboards/reviung34/reviung34.c rename to keyboards/reviung/reviung34/reviung34.c diff --git a/keyboards/reviung34/reviung34.h b/keyboards/reviung/reviung34/reviung34.h similarity index 100% rename from keyboards/reviung34/reviung34.h rename to keyboards/reviung/reviung34/reviung34.h diff --git a/keyboards/reviung34/rules.mk b/keyboards/reviung/reviung34/rules.mk similarity index 100% rename from keyboards/reviung34/rules.mk rename to keyboards/reviung/reviung34/rules.mk diff --git a/keyboards/reviung39/config.h b/keyboards/reviung/reviung39/config.h similarity index 100% rename from keyboards/reviung39/config.h rename to keyboards/reviung/reviung39/config.h diff --git a/keyboards/reviung39/info.json b/keyboards/reviung/reviung39/info.json similarity index 100% rename from keyboards/reviung39/info.json rename to keyboards/reviung/reviung39/info.json diff --git a/keyboards/reviung39/keymaps/default/config.h b/keyboards/reviung/reviung39/keymaps/default/config.h similarity index 100% rename from keyboards/reviung39/keymaps/default/config.h rename to keyboards/reviung/reviung39/keymaps/default/config.h diff --git a/keyboards/reviung39/keymaps/default/keymap.c b/keyboards/reviung/reviung39/keymaps/default/keymap.c similarity index 100% rename from keyboards/reviung39/keymaps/default/keymap.c rename to keyboards/reviung/reviung39/keymaps/default/keymap.c diff --git a/keyboards/reviung39/keymaps/default/readme.md b/keyboards/reviung/reviung39/keymaps/default/readme.md similarity index 100% rename from keyboards/reviung39/keymaps/default/readme.md rename to keyboards/reviung/reviung39/keymaps/default/readme.md diff --git a/keyboards/reviung39/keymaps/default/rules.mk b/keyboards/reviung/reviung39/keymaps/default/rules.mk similarity index 100% rename from keyboards/reviung39/keymaps/default/rules.mk rename to keyboards/reviung/reviung39/keymaps/default/rules.mk diff --git a/keyboards/reviung39/keymaps/default_s/config.h b/keyboards/reviung/reviung39/keymaps/default_s/config.h similarity index 100% rename from keyboards/reviung39/keymaps/default_s/config.h rename to keyboards/reviung/reviung39/keymaps/default_s/config.h diff --git a/keyboards/reviung39/keymaps/default_s/keymap.c b/keyboards/reviung/reviung39/keymaps/default_s/keymap.c similarity index 100% rename from keyboards/reviung39/keymaps/default_s/keymap.c rename to keyboards/reviung/reviung39/keymaps/default_s/keymap.c diff --git a/keyboards/reviung39/keymaps/default_s/readme.md b/keyboards/reviung/reviung39/keymaps/default_s/readme.md similarity index 100% rename from keyboards/reviung39/keymaps/default_s/readme.md rename to keyboards/reviung/reviung39/keymaps/default_s/readme.md diff --git a/keyboards/reviung39/keymaps/default_s/rules.mk b/keyboards/reviung/reviung39/keymaps/default_s/rules.mk similarity index 100% rename from keyboards/reviung39/keymaps/default_s/rules.mk rename to keyboards/reviung/reviung39/keymaps/default_s/rules.mk diff --git a/keyboards/reviung39/keymaps/toshi0383/config.h b/keyboards/reviung/reviung39/keymaps/toshi0383/config.h similarity index 100% rename from keyboards/reviung39/keymaps/toshi0383/config.h rename to keyboards/reviung/reviung39/keymaps/toshi0383/config.h diff --git a/keyboards/reviung39/keymaps/toshi0383/keymap.c b/keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c similarity index 100% rename from keyboards/reviung39/keymaps/toshi0383/keymap.c rename to keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c diff --git a/keyboards/reviung39/keymaps/toshi0383/readme.md b/keyboards/reviung/reviung39/keymaps/toshi0383/readme.md similarity index 100% rename from keyboards/reviung39/keymaps/toshi0383/readme.md rename to keyboards/reviung/reviung39/keymaps/toshi0383/readme.md diff --git a/keyboards/reviung39/keymaps/toshi0383/rules.mk b/keyboards/reviung/reviung39/keymaps/toshi0383/rules.mk similarity index 100% rename from keyboards/reviung39/keymaps/toshi0383/rules.mk rename to keyboards/reviung/reviung39/keymaps/toshi0383/rules.mk diff --git a/keyboards/reviung39/keymaps/via/keymap.c b/keyboards/reviung/reviung39/keymaps/via/keymap.c similarity index 100% rename from keyboards/reviung39/keymaps/via/keymap.c rename to keyboards/reviung/reviung39/keymaps/via/keymap.c diff --git a/keyboards/reviung39/keymaps/via/rules.mk b/keyboards/reviung/reviung39/keymaps/via/rules.mk similarity index 100% rename from keyboards/reviung39/keymaps/via/rules.mk rename to keyboards/reviung/reviung39/keymaps/via/rules.mk diff --git a/keyboards/reviung39/readme.md b/keyboards/reviung/reviung39/readme.md similarity index 100% rename from keyboards/reviung39/readme.md rename to keyboards/reviung/reviung39/readme.md diff --git a/keyboards/reviung39/reviung39.c b/keyboards/reviung/reviung39/reviung39.c similarity index 100% rename from keyboards/reviung39/reviung39.c rename to keyboards/reviung/reviung39/reviung39.c diff --git a/keyboards/reviung39/reviung39.h b/keyboards/reviung/reviung39/reviung39.h similarity index 100% rename from keyboards/reviung39/reviung39.h rename to keyboards/reviung/reviung39/reviung39.h diff --git a/keyboards/reviung39/rules.mk b/keyboards/reviung/reviung39/rules.mk similarity index 100% rename from keyboards/reviung39/rules.mk rename to keyboards/reviung/reviung39/rules.mk diff --git a/keyboards/reviung41/config.h b/keyboards/reviung/reviung41/config.h similarity index 100% rename from keyboards/reviung41/config.h rename to keyboards/reviung/reviung41/config.h diff --git a/keyboards/reviung41/info.json b/keyboards/reviung/reviung41/info.json similarity index 100% rename from keyboards/reviung41/info.json rename to keyboards/reviung/reviung41/info.json diff --git a/keyboards/reviung41/keymaps/ciutadellla/config.h b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h similarity index 100% rename from keyboards/reviung41/keymaps/ciutadellla/config.h rename to keyboards/reviung/reviung41/keymaps/ciutadellla/config.h diff --git a/keyboards/reviung41/keymaps/ciutadellla/keymap.c b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c similarity index 100% rename from keyboards/reviung41/keymaps/ciutadellla/keymap.c rename to keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c diff --git a/keyboards/reviung41/keymaps/ciutadellla/rules.mk b/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk similarity index 100% rename from keyboards/reviung41/keymaps/ciutadellla/rules.mk rename to keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk diff --git a/keyboards/reviung41/keymaps/default/keymap.c b/keyboards/reviung/reviung41/keymaps/default/keymap.c similarity index 100% rename from keyboards/reviung41/keymaps/default/keymap.c rename to keyboards/reviung/reviung41/keymaps/default/keymap.c diff --git a/keyboards/reviung41/keymaps/default/readme.md b/keyboards/reviung/reviung41/keymaps/default/readme.md similarity index 100% rename from keyboards/reviung41/keymaps/default/readme.md rename to keyboards/reviung/reviung41/keymaps/default/readme.md diff --git a/keyboards/reviung41/keymaps/via/keymap.c b/keyboards/reviung/reviung41/keymaps/via/keymap.c similarity index 100% rename from keyboards/reviung41/keymaps/via/keymap.c rename to keyboards/reviung/reviung41/keymaps/via/keymap.c diff --git a/keyboards/reviung41/keymaps/via/rules.mk b/keyboards/reviung/reviung41/keymaps/via/rules.mk similarity index 100% rename from keyboards/reviung41/keymaps/via/rules.mk rename to keyboards/reviung/reviung41/keymaps/via/rules.mk diff --git a/keyboards/reviung41/readme.md b/keyboards/reviung/reviung41/readme.md similarity index 100% rename from keyboards/reviung41/readme.md rename to keyboards/reviung/reviung41/readme.md diff --git a/keyboards/reviung41/reviung41.c b/keyboards/reviung/reviung41/reviung41.c similarity index 100% rename from keyboards/reviung41/reviung41.c rename to keyboards/reviung/reviung41/reviung41.c diff --git a/keyboards/reviung41/reviung41.h b/keyboards/reviung/reviung41/reviung41.h similarity index 100% rename from keyboards/reviung41/reviung41.h rename to keyboards/reviung/reviung41/reviung41.h diff --git a/keyboards/reviung41/rules.mk b/keyboards/reviung/reviung41/rules.mk similarity index 100% rename from keyboards/reviung41/rules.mk rename to keyboards/reviung/reviung41/rules.mk diff --git a/keyboards/reviung5/config.h b/keyboards/reviung/reviung5/config.h similarity index 100% rename from keyboards/reviung5/config.h rename to keyboards/reviung/reviung5/config.h diff --git a/keyboards/reviung5/info.json b/keyboards/reviung/reviung5/info.json similarity index 100% rename from keyboards/reviung5/info.json rename to keyboards/reviung/reviung5/info.json diff --git a/keyboards/reviung5/keymaps/default/keymap.c b/keyboards/reviung/reviung5/keymaps/default/keymap.c similarity index 100% rename from keyboards/reviung5/keymaps/default/keymap.c rename to keyboards/reviung/reviung5/keymaps/default/keymap.c diff --git a/keyboards/reviung5/keymaps/default/readme.md b/keyboards/reviung/reviung5/keymaps/default/readme.md similarity index 100% rename from keyboards/reviung5/keymaps/default/readme.md rename to keyboards/reviung/reviung5/keymaps/default/readme.md diff --git a/keyboards/reviung5/keymaps/default_lre/keymap.c b/keyboards/reviung/reviung5/keymaps/default_lre/keymap.c similarity index 100% rename from keyboards/reviung5/keymaps/default_lre/keymap.c rename to keyboards/reviung/reviung5/keymaps/default_lre/keymap.c diff --git a/keyboards/reviung5/keymaps/default_lre/readme.md b/keyboards/reviung/reviung5/keymaps/default_lre/readme.md similarity index 100% rename from keyboards/reviung5/keymaps/default_lre/readme.md rename to keyboards/reviung/reviung5/keymaps/default_lre/readme.md diff --git a/keyboards/reviung5/keymaps/default_rre/keymap.c b/keyboards/reviung/reviung5/keymaps/default_rre/keymap.c similarity index 100% rename from keyboards/reviung5/keymaps/default_rre/keymap.c rename to keyboards/reviung/reviung5/keymaps/default_rre/keymap.c diff --git a/keyboards/reviung5/keymaps/default_rre/readme.md b/keyboards/reviung/reviung5/keymaps/default_rre/readme.md similarity index 100% rename from keyboards/reviung5/keymaps/default_rre/readme.md rename to keyboards/reviung/reviung5/keymaps/default_rre/readme.md diff --git a/keyboards/reviung5/readme.md b/keyboards/reviung/reviung5/readme.md similarity index 100% rename from keyboards/reviung5/readme.md rename to keyboards/reviung/reviung5/readme.md diff --git a/keyboards/reviung5/reviung5.c b/keyboards/reviung/reviung5/reviung5.c similarity index 100% rename from keyboards/reviung5/reviung5.c rename to keyboards/reviung/reviung5/reviung5.c diff --git a/keyboards/reviung5/reviung5.h b/keyboards/reviung/reviung5/reviung5.h similarity index 100% rename from keyboards/reviung5/reviung5.h rename to keyboards/reviung/reviung5/reviung5.h diff --git a/keyboards/reviung5/rules.mk b/keyboards/reviung/reviung5/rules.mk similarity index 100% rename from keyboards/reviung5/rules.mk rename to keyboards/reviung/reviung5/rules.mk diff --git a/keyboards/reviung53/config.h b/keyboards/reviung/reviung53/config.h similarity index 100% rename from keyboards/reviung53/config.h rename to keyboards/reviung/reviung53/config.h diff --git a/keyboards/reviung53/info.json b/keyboards/reviung/reviung53/info.json similarity index 100% rename from keyboards/reviung53/info.json rename to keyboards/reviung/reviung53/info.json diff --git a/keyboards/reviung53/keymaps/default/keymap.c b/keyboards/reviung/reviung53/keymaps/default/keymap.c similarity index 100% rename from keyboards/reviung53/keymaps/default/keymap.c rename to keyboards/reviung/reviung53/keymaps/default/keymap.c diff --git a/keyboards/reviung53/keymaps/default/readme.md b/keyboards/reviung/reviung53/keymaps/default/readme.md similarity index 100% rename from keyboards/reviung53/keymaps/default/readme.md rename to keyboards/reviung/reviung53/keymaps/default/readme.md diff --git a/keyboards/reviung53/keymaps/via/keymap.c b/keyboards/reviung/reviung53/keymaps/via/keymap.c similarity index 100% rename from keyboards/reviung53/keymaps/via/keymap.c rename to keyboards/reviung/reviung53/keymaps/via/keymap.c diff --git a/keyboards/reviung53/keymaps/via/readme.md b/keyboards/reviung/reviung53/keymaps/via/readme.md similarity index 100% rename from keyboards/reviung53/keymaps/via/readme.md rename to keyboards/reviung/reviung53/keymaps/via/readme.md diff --git a/keyboards/reviung53/keymaps/via/rules.mk b/keyboards/reviung/reviung53/keymaps/via/rules.mk similarity index 100% rename from keyboards/reviung53/keymaps/via/rules.mk rename to keyboards/reviung/reviung53/keymaps/via/rules.mk diff --git a/keyboards/reviung53/readme.md b/keyboards/reviung/reviung53/readme.md similarity index 100% rename from keyboards/reviung53/readme.md rename to keyboards/reviung/reviung53/readme.md diff --git a/keyboards/reviung53/reviung53.c b/keyboards/reviung/reviung53/reviung53.c similarity index 100% rename from keyboards/reviung53/reviung53.c rename to keyboards/reviung/reviung53/reviung53.c diff --git a/keyboards/reviung53/reviung53.h b/keyboards/reviung/reviung53/reviung53.h similarity index 100% rename from keyboards/reviung53/reviung53.h rename to keyboards/reviung/reviung53/reviung53.h diff --git a/keyboards/reviung53/rules.mk b/keyboards/reviung/reviung53/rules.mk similarity index 100% rename from keyboards/reviung53/rules.mk rename to keyboards/reviung/reviung53/rules.mk diff --git a/keyboards/reviung61/config.h b/keyboards/reviung/reviung61/config.h similarity index 100% rename from keyboards/reviung61/config.h rename to keyboards/reviung/reviung61/config.h diff --git a/keyboards/reviung61/info.json b/keyboards/reviung/reviung61/info.json similarity index 100% rename from keyboards/reviung61/info.json rename to keyboards/reviung/reviung61/info.json diff --git a/keyboards/reviung61/keymaps/default/keymap.c b/keyboards/reviung/reviung61/keymaps/default/keymap.c similarity index 100% rename from keyboards/reviung61/keymaps/default/keymap.c rename to keyboards/reviung/reviung61/keymaps/default/keymap.c diff --git a/keyboards/reviung61/keymaps/default/readme.md b/keyboards/reviung/reviung61/keymaps/default/readme.md similarity index 100% rename from keyboards/reviung61/keymaps/default/readme.md rename to keyboards/reviung/reviung61/keymaps/default/readme.md diff --git a/keyboards/reviung61/keymaps/default_rgb/config.h b/keyboards/reviung/reviung61/keymaps/default_rgb/config.h similarity index 100% rename from keyboards/reviung61/keymaps/default_rgb/config.h rename to keyboards/reviung/reviung61/keymaps/default_rgb/config.h diff --git a/keyboards/reviung61/keymaps/default_rgb/keymap.c b/keyboards/reviung/reviung61/keymaps/default_rgb/keymap.c similarity index 100% rename from keyboards/reviung61/keymaps/default_rgb/keymap.c rename to keyboards/reviung/reviung61/keymaps/default_rgb/keymap.c diff --git a/keyboards/reviung61/keymaps/default_rgb/readme.md b/keyboards/reviung/reviung61/keymaps/default_rgb/readme.md similarity index 100% rename from keyboards/reviung61/keymaps/default_rgb/readme.md rename to keyboards/reviung/reviung61/keymaps/default_rgb/readme.md diff --git a/keyboards/reviung61/keymaps/default_rgb/rules.mk b/keyboards/reviung/reviung61/keymaps/default_rgb/rules.mk similarity index 100% rename from keyboards/reviung61/keymaps/default_rgb/rules.mk rename to keyboards/reviung/reviung61/keymaps/default_rgb/rules.mk diff --git a/keyboards/reviung61/readme.md b/keyboards/reviung/reviung61/readme.md similarity index 100% rename from keyboards/reviung61/readme.md rename to keyboards/reviung/reviung61/readme.md diff --git a/keyboards/reviung61/reviung61.c b/keyboards/reviung/reviung61/reviung61.c similarity index 100% rename from keyboards/reviung61/reviung61.c rename to keyboards/reviung/reviung61/reviung61.c diff --git a/keyboards/reviung61/reviung61.h b/keyboards/reviung/reviung61/reviung61.h similarity index 100% rename from keyboards/reviung61/reviung61.h rename to keyboards/reviung/reviung61/reviung61.h diff --git a/keyboards/reviung61/rules.mk b/keyboards/reviung/reviung61/rules.mk similarity index 100% rename from keyboards/reviung61/rules.mk rename to keyboards/reviung/reviung61/rules.mk From c20522369b881fadff215c83091f8b653e0071bb Mon Sep 17 00:00:00 2001 From: cedrikl Date: Mon, 10 Jan 2022 20:15:47 -0500 Subject: [PATCH 0080/1832] [Keymap] Add another GMMK Pro ANSI Keymap with custom RGB. (#14243) Co-authored-by: Cedrik Lussier --- .../gmmk/pro/ansi/keymaps/cedrikl/keymap.c | 154 +++++++++++++++ .../pro/ansi/keymaps/cedrikl/rgb_matrix_map.h | 185 ++++++++++++++++++ .../gmmk/pro/ansi/keymaps/cedrikl/rules.mk | 2 + users/cedrikl/cedrikl.c | 36 ++++ users/cedrikl/cedrikl.h | 21 ++ users/cedrikl/config.h | 25 +++ users/cedrikl/rules.mk | 4 + 7 files changed, 427 insertions(+) create mode 100644 keyboards/gmmk/pro/ansi/keymaps/cedrikl/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/cedrikl/rgb_matrix_map.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/cedrikl/rules.mk create mode 100644 users/cedrikl/cedrikl.c create mode 100644 users/cedrikl/cedrikl.h create mode 100644 users/cedrikl/config.h create mode 100644 users/cedrikl/rules.mk diff --git a/keyboards/gmmk/pro/ansi/keymaps/cedrikl/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/cedrikl/keymap.c new file mode 100644 index 000000000000..2361ab56608b --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/cedrikl/keymap.c @@ -0,0 +1,154 @@ +/* Copyright 2021 Cedrik Lussier @cedrikl +.* Directly inspired from the work of jonavin https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/ansi/keymaps/jonavin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "rgb_matrix_map.h" +#include "cedrikl.h" + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + // + // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). + // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. + // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE, + KC_GRV, 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + EEP_RST, 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_MUTE, + KC_NLCK, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_BSPC, KC_PSCR, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PSLS, KC_PAST, KC_BSLS, KC_PGUP, + KC_CAPS, RGB_VAD, RGB_TOG, RGB_VAI, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_PENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_PDOT, KC_SLSH, KC_RSFT, KC_UP, KC_INS, + KC_LCTL, KC_RGUI, KC_LALT, KC_SPC, KC_RALT, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; +// clang-format on + +#ifdef ENCODER_ENABLE + bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; + } +#endif // ENCODER_ENABLE + + +#ifdef RGB_MATRIX_ENABLE +//void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer) { +// const ledmap *l = &(ledmaps[layer]); +// +// +// +// for (int i = 0; i < DRIVER_LED_TOTAL; i++) { +// HSV hsv = { +// .h = (*l)[i][0], +// .s = (*l)[i][1], +// .v = val, +// }; +// +// if (hsv.h || hsv.s) { +// RGB rgb = hsv_to_rgb(hsv); +// RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); +// } +// } +//} + + // These shorthands are used below to set led colors on each matrix cycle + void loop_colorset(const uint8_t *indices, int array_size, const HSV target_color) { + HSV work_color = target_color; + work_color.v = rgb_matrix_get_val(); + + RGB final_color = hsv_to_rgb(work_color); + + for (int i = 0; i < array_size; i++) { + rgb_matrix_set_color(indices[i], final_color.r, final_color.g, final_color.b); // Set color A here + } + } + + // Capslock, Scroll lock and Numlock indicator on Left side lights. + void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + loop_colorset(LED_REGION_A, (sizeof(LED_REGION_A) / sizeof(LED_REGION_A[0])), hsv_cl_blue); + loop_colorset(LED_REGION_B, (sizeof(LED_REGION_B) / sizeof(LED_REGION_B[0])), hsv_cl_purple); + loop_colorset(LED_REGION_L_SIDE, (sizeof(LED_REGION_L_SIDE) / sizeof(LED_REGION_L_SIDE[0])), hsv_cl_purple); + loop_colorset(LED_REGION_R_SIDE, (sizeof(LED_REGION_R_SIDE) / sizeof(LED_REGION_R_SIDE[0])), hsv_cl_purple); + + switch(get_highest_layer(layer_state)){ // special handling per layer + case 1: //layer 1 + //rgb_matrix_set_color_all(RGB_AZURE); + loop_colorset(LED_REGION_NUMPAD, (sizeof(LED_REGION_NUMPAD) / sizeof(LED_REGION_NUMPAD[0])), hsv_cl_numpad); + loop_colorset(LED_REGION_OTHER, (sizeof(LED_REGION_OTHER) / sizeof(LED_REGION_OTHER[0])), hsv_cl_mods); + break; + default: //layer 0 + // + break; + break; + } + + HSV bad_hsv = hsv_cl_bad; + bad_hsv.v = rgb_matrix_get_val(); + RGB bad_rgb = hsv_to_rgb(bad_hsv); + led_t led_state = host_keyboard_led_state(); + + if (!led_state.num_lock) { // on if NUM lock is OFF + rgb_matrix_set_color(LED_R1, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_R2, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_R3, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_R4, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_R5, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_R6, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_R7, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_R8, bad_rgb.r, bad_rgb.g, bad_rgb.b); + } + if (led_state.caps_lock) { + rgb_matrix_set_color(LED_L1, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_L2, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_L3, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_L4, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_L5, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_L6, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_L7, bad_rgb.r, bad_rgb.g, bad_rgb.b); + rgb_matrix_set_color(LED_L8, bad_rgb.r, bad_rgb.g, bad_rgb.b); + loop_colorset(LED_REGION_CAPS, (sizeof(LED_REGION_CAPS) / sizeof(LED_REGION_CAPS[0])), hsv_cl_bad); + } + } +#endif diff --git a/keyboards/gmmk/pro/ansi/keymaps/cedrikl/rgb_matrix_map.h b/keyboards/gmmk/pro/ansi/keymaps/cedrikl/rgb_matrix_map.h new file mode 100644 index 000000000000..484f64b74c7d --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/cedrikl/rgb_matrix_map.h @@ -0,0 +1,185 @@ +/* Copyright 2021 Cedrik Lussier @cedrikl +.* Directly inspired from the work of jonavin https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/ansi/keymaps/jonavin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifdef RGB_MATRIX_ENABLE + + // Custom RGB Colours + const HSV hsv_cl_blue = {150, 255, 255}; + const HSV hsv_cl_purple = {188, 255, 255}; + const HSV hsv_cl_numpad = {85, 255, 255}; + const HSV hsv_cl_mods = {42, 255, 255}; + const HSV hsv_cl_bad = {0, 255, 255}; + + // RGB LED locations + enum led_location_map { + LED_ESC, // 0, ESC, k13 + LED_GRV, // 1, ~, k16 + LED_TAB, // 2, Tab, k11 + LED_CAPS, // 3, Caps, k21 + LED_LSFT, // 4, Sh_L, k00 + LED_LCTL, // 5, Ct_L, k06 + LED_F1, // 6, F1, k26 + LED_1, // 7, 1, k17 + LED_Q, // 8, Q, k10 + LED_A, // 9, A, k12 + LED_Z, // 10, Z, k14 + LED_LWIN, // 11, Win_L, k90 + LED_F2, // 12, F2, k36 + LED_2, // 13, 2, k27 + LED_W, // 14, W, k20 + LED_S, // 15, S, k22 + LED_X, // 16, X, k24 + LED_LALT, // 17, Alt_L, k93 + LED_F3, // 18, F3, k31 + LED_3, // 19, 3, k37 + LED_E, // 20, E, k30 + LED_D, // 21, D, k32 + LED_C, // 22, C, k34 + LED_F4, // 23, F4, k33 + LED_4, // 24, 4, k47 + LED_R, // 25, R, k40 + LED_F, // 26, F, k42 + LED_V, // 27, V, k44 + LED_F5, // 28, F5, k07 + LED_5, // 29, 5, k46 + LED_T, // 30, T, k41 + LED_G, // 31, G, k43 + LED_B, // 32, B, k45 + LED_SPC, // 33, SPACE, k94 + LED_F6, // 34, F6, k63 + LED_6, // 35, 6, k56 + LED_Y, // 36, Y, k51 + LED_H, // 37, H, k53 + LED_N, // 38, N, k55 + LED_F7, // 39, F7, k71 + LED_7, // 40, 7, k57 + LED_U, // 41, U, k50 + LED_J, // 42, J, k52 + LED_M, // 43, M, k54 + LED_F8, // 44, F8, k76 + LED_8, // 45, 8, k67 + LED_I, // 46, I, k60 + LED_K, // 47, K, k62 + LED_COMM, // 48, ,, k64 + LED_RALT, // 49, Alt_R, k95 + LED_F9, // 50, F9, ka6 + LED_9, // 51, 9, k77 + LED_O, // 52, O, k70 + LED_L, // 53, L, k72 + LED_DOT, // 54, ., k74 + LED_FN, // 55, FN, k92 + LED_F10, // 56, F10, ka7 + LED_0, // 57, 0, k87 + LED_P, // 58, P, k80 + LED_SCLN, // 59, ;, k82 + LED_SLSH, // 60, ?, k85 + LED_F11, // 61, F11, ka3 + LED_MINS, // 62, -, k86 + LED_LBRC, // 63, [, k81 + LED_QUOT, // 64, ", k83 + LED_RCTL, // 65, Ct_R, k04 + LED_F12, // 66, F12, ka5 + LED_L1, // 67, LED, l01 + LED_R1, // 68, LED, l11 + LED_DEL, // 69, Prt, k97 -- remapped to DEL + LED_L2, // 70, LED, l02 + LED_R2, // 71, LED, l12 + LED_HOME, // 72, Del, k65 + LED_L3, // 73, LED, l03 + LED_R3, // 74, LED, l13 + LED_PGUP, // 75, PgUp, k15 + LED_L4, // 76, LED, l04 + LED_R4, // 77, LED, l14 + LED_EQL, // 78, =, k66 + LED_RGHT, // 79, Right, k05 + LED_L5, // 80, LED, l05 + LED_R5, // 81, LED, l15 + LED_END, // 82, End, k75 + LED_L6, // 83, LED, l06 + LED_R6, // 84, LED, l16 + LED_BSPC, // 85, BSpc, ka1 + LED_PGDN, // 86, PgDn, k25 + LED_L7, // 87, LED, l07 + LED_R7, // 88, LED, l17 + LED_RBRC, // 89, ], k61 + LED_RSFT, // 90, Sh_R, k91 + LED_L8, // 91, LED, l08 + LED_R8, // 92, LED, l18 + LED_BSLS, // 93, \, ka2 + LED_UP, // 94, Up, k35 + LED_LEFT, // 95, Left, k03 + LED_ENT, // 96, Enter, ka4 + LED_DOWN // 97, Down, k73 + }; + +const uint8_t LED_REGION_L_SIDE[] = {LED_L1, LED_L2, LED_L3, LED_L4, LED_L5, LED_L6, LED_L7,LED_L8}; +const uint8_t LED_REGION_R_SIDE[] = {LED_R1, LED_R2, LED_R3, LED_R4, LED_R5, LED_R6, LED_R7,LED_R8}; + + //const uint8_t LED_MATRIX[] = { + // LED_ESC, LED_F1, LED_F2, LED_F3, LED_F4, LED_F5, LED_F6, LED_F7, LED_F8, LED_F9, LED_F10, LED_F11, LED_F12, LED_DEL, + // LED_GRV, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, LED_BSPC, LED_HOME, + // LED_TAB, LED_Q, LED_W, LED_E, LED_R, LED_T, LED_Y, LED_U, LED_I, LED_O, LED_P, LED_LBRC, LED_RBRC, LED_BSLS, LED_PGUP, + // LED_CAPS, LED_A, LED_S, LED_D, LED_F, LED_G, LED_H, LED_J, LED_K, LED_L, LED_SCLN, LED_QUOT, LED_ENT, LED_PGDN, + // LED_LSFT, LED_Z, LED_X, LED_C, LED_V, LED_B, LED_N, LED_M, LED_COMM, LED_DOT, LED_SLSH, LED_RSFT, LED_UP, LED_END, + // LED_LCTL, LED_LWIN, LED_LALT, LED_SPC, LED_RALT, LED_FN, LED_RCTL, LED_LEFT, LED_DOWN, LED_RGHT + //}; + + const uint8_t LED_REGION_A[] = { + LED_ESC, LED_F9, LED_F10, LED_F11, LED_F12, LED_DEL, + LED_GRV, LED_1, LED_0, LED_MINS, LED_EQL, LED_BSPC, LED_HOME, + LED_TAB, LED_Q, LED_P, LED_LBRC, LED_RBRC, LED_BSLS, LED_PGUP, + LED_CAPS, LED_A, LED_SCLN, LED_QUOT, LED_ENT, LED_PGDN, + LED_LSFT, LED_Z, LED_SLSH, LED_RSFT, LED_UP, LED_END, + LED_LCTL, LED_LWIN, LED_LALT, LED_RCTL, LED_LEFT, LED_DOWN, LED_RGHT + }; + const uint8_t LED_REGION_B[] = { + LED_F1, LED_F2, LED_F3, LED_F4, LED_F5, LED_F6, LED_F7, LED_F8, + LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, + LED_W, LED_E, LED_R, LED_T, LED_Y, LED_U, LED_I, LED_O, + LED_S, LED_D, LED_F, LED_G, LED_H, LED_J, LED_K, LED_L, + LED_X, LED_C, LED_V, LED_B, LED_N, LED_M, LED_COMM, LED_DOT, + LED_SPC, LED_RALT, LED_FN + }; + + const uint8_t LED_REGION_NUMPAD[] = { + + LED_GRV, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, + LED_LBRC, LED_RBRC, + LED_ENT, + LED_DOT + + }; + + const uint8_t LED_REGION_OTHER[] = { + LED_ESC, LED_DEL, + LED_HOME, + + LED_A, LED_S, LED_D, + LED_END, + LED_LWIN + }; + + const uint8_t LED_REGION_CAPS[] = { + + LED_GRV, LED_1, + LED_TAB, LED_Q, + LED_CAPS, LED_A, + LED_LSFT, + LED_LCTL + }; + +#endif diff --git a/keyboards/gmmk/pro/ansi/keymaps/cedrikl/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/cedrikl/rules.mk new file mode 100644 index 000000000000..4b7ed8bf0b9b --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/cedrikl/rules.mk @@ -0,0 +1,2 @@ +IDLE_TIMEOUT_ENABLE = yes +STARTUP_NUMLOCK_ON = yes diff --git a/users/cedrikl/cedrikl.c b/users/cedrikl/cedrikl.c new file mode 100644 index 000000000000..0479e22b5df3 --- /dev/null +++ b/users/cedrikl/cedrikl.c @@ -0,0 +1,36 @@ +/* Copyright 2021 Cedrik Lussier @cedrikl +.* Directly inspired from the work of jonavin https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/ansi/keymaps/jonavin + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + + +#include QMK_KEYBOARD_H +#include "cedrikl.h" + +// Turn on/off NUM LOCK if current state is different +void activate_numlock(bool turn_on) { + if (host_keyboard_led_state().num_lock != turn_on) { + tap_code(KC_NUMLOCK); + } +} + + +// INITIAL STARTUP + +void keyboard_post_init_user(void) { + #ifdef STARTUP_NUMLOCK_ON + activate_numlock(true); // turn on Num lock by default so that the numpad layer always has predictable results + #endif // STARTUP_NUMLOC_ON +} diff --git a/users/cedrikl/cedrikl.h b/users/cedrikl/cedrikl.h new file mode 100644 index 000000000000..e25d27466478 --- /dev/null +++ b/users/cedrikl/cedrikl.h @@ -0,0 +1,21 @@ +/* Copyright 2021 Cedrik Lussier @cedrikl +.* Directly inspired from the work of jonavin https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/ansi/keymaps/jonavin + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// OTHER FUNCTION PROTOTYPE +void activate_numlock(bool turn_on); diff --git a/users/cedrikl/config.h b/users/cedrikl/config.h new file mode 100644 index 000000000000..741a2fe470a1 --- /dev/null +++ b/users/cedrikl/config.h @@ -0,0 +1,25 @@ +/* Copyright 2021 Cedrik Lussier @cedrikl +.* Directly inspired from the work of jonavin https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/ansi/keymaps/jonavin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#ifdef RGB_MATRIX_ENABLE + #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR + //#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL + #define RGB_DISABLE_WHEN_USB_SUSPENDED + #define RGB_MATRIX_STARTUP_VAL 120 +#endif diff --git a/users/cedrikl/rules.mk b/users/cedrikl/rules.mk new file mode 100644 index 000000000000..b5ee62c43a01 --- /dev/null +++ b/users/cedrikl/rules.mk @@ -0,0 +1,4 @@ +SRC += cedrikl.c +ifeq ($(strip $(STARTUP_NUMLOCK_ON)), yes) + OPT_DEFS += -DSTARTUP_NUMLOCK_ON +endif From be1dcb9185d9ee3c1fa433703cc2e479efd6ba73 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 11 Jan 2022 14:20:33 +1100 Subject: [PATCH 0081/1832] Fix CI. (#15828) * Fix CI. --- keyboards/idobao/id80/rules.mk | 2 +- keyboards/marksard/treadstone32/rules.mk | 2 +- keyboards/marksard/treadstone48/{treadstone48 => }/.noci | 0 .../treadstone48/{treadstone48 => }/common/glcdfont.c | 0 .../treadstone48/{treadstone48 => }/common/oled_helper.c | 0 .../treadstone48/{treadstone48 => }/common/oled_helper.h | 0 .../treadstone48/{treadstone48 => }/keymaps/default/config.h | 2 +- .../treadstone48/{treadstone48 => }/keymaps/default/keymap.c | 0 .../treadstone48/{treadstone48 => }/keymaps/default/readme.md | 0 .../{treadstone48 => }/keymaps/default/readme_jp.md | 0 .../treadstone48/{treadstone48 => }/keymaps/default/rules.mk | 0 .../treadstone48/{treadstone48 => }/keymaps/like_jis/config.h | 2 +- .../treadstone48/{treadstone48 => }/keymaps/like_jis/keymap.c | 0 .../{treadstone48 => }/keymaps/like_jis/readme.md | 0 .../{treadstone48 => }/keymaps/like_jis/readme_jp.md | 0 .../treadstone48/{treadstone48 => }/keymaps/like_jis/rules.mk | 0 keyboards/marksard/treadstone48/{treadstone48 => }/readme.md | 0 keyboards/marksard/treadstone48/{treadstone48 => }/rev1/.noci | 0 .../marksard/treadstone48/{treadstone48 => }/rev1/config.h | 0 .../marksard/treadstone48/{treadstone48 => }/rev1/info.json | 0 .../{treadstone48 => }/rev1/keymaps/like_jis_rs/config.h | 2 +- .../{treadstone48 => }/rev1/keymaps/like_jis_rs/keymap.c | 0 .../{treadstone48 => }/rev1/keymaps/like_jis_rs/readme.md | 0 .../{treadstone48 => }/rev1/keymaps/like_jis_rs/readme_jp.md | 0 .../{treadstone48 => }/rev1/keymaps/like_jis_rs/rules.mk | 0 .../marksard/treadstone48/{treadstone48 => }/rev1/rev1.c | 0 .../marksard/treadstone48/{treadstone48 => }/rev1/rev1.h | 0 .../marksard/treadstone48/{treadstone48 => }/rev1/rules.mk | 0 .../marksard/treadstone48/{treadstone48 => }/rev2/config.h | 0 .../marksard/treadstone48/{treadstone48 => }/rev2/info.json | 0 .../marksard/treadstone48/{treadstone48 => }/rev2/rev2.c | 0 .../marksard/treadstone48/{treadstone48 => }/rev2/rev2.h | 0 .../marksard/treadstone48/{treadstone48 => }/rev2/rules.mk | 0 keyboards/marksard/treadstone48/{treadstone48 => }/rules.mk | 2 +- keyboards/salicylic_acid3/7skb/rules.mk | 4 ++-- keyboards/salicylic_acid3/getta25/rules.mk | 2 +- keyboards/salicylic_acid3/jisplit89/rules.mk | 2 +- keyboards/salicylic_acid3/naked48/rules.mk | 2 +- keyboards/salicylic_acid3/naked60/rules.mk | 2 +- keyboards/salicylic_acid3/naked64/rules.mk | 2 +- keyboards/salicylic_acid3/setta21/rules.mk | 2 +- keyboards/{ => ymdk}/ymd75/.noci | 0 keyboards/ymdk/ymd75/rules.mk | 2 +- 43 files changed, 15 insertions(+), 15 deletions(-) rename keyboards/marksard/treadstone48/{treadstone48 => }/.noci (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/common/glcdfont.c (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/common/oled_helper.c (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/common/oled_helper.h (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/keymaps/default/config.h (94%) rename keyboards/marksard/treadstone48/{treadstone48 => }/keymaps/default/keymap.c (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/keymaps/default/readme.md (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/keymaps/default/readme_jp.md (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/keymaps/default/rules.mk (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/keymaps/like_jis/config.h (94%) rename keyboards/marksard/treadstone48/{treadstone48 => }/keymaps/like_jis/keymap.c (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/keymaps/like_jis/readme.md (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/keymaps/like_jis/readme_jp.md (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/keymaps/like_jis/rules.mk (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/readme.md (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/.noci (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/config.h (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/info.json (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/keymaps/like_jis_rs/config.h (95%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/keymaps/like_jis_rs/keymap.c (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/keymaps/like_jis_rs/readme.md (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/keymaps/like_jis_rs/readme_jp.md (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/keymaps/like_jis_rs/rules.mk (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/rev1.c (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/rev1.h (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev1/rules.mk (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev2/config.h (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev2/info.json (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev2/rev2.c (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev2/rev2.h (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rev2/rules.mk (100%) rename keyboards/marksard/treadstone48/{treadstone48 => }/rules.mk (93%) rename keyboards/{ => ymdk}/ymd75/.noci (100%) diff --git a/keyboards/idobao/id80/rules.mk b/keyboards/idobao/id80/rules.mk index eea8b699005e..f988be4e29f3 100644 --- a/keyboards/idobao/id80/rules.mk +++ b/keyboards/idobao/id80/rules.mk @@ -1,5 +1,5 @@ # Defalt to the ansi version -DEFAULT_FOLDER = id80/ansi +DEFAULT_FOLDER = idobao/id80/ansi # MCU name MCU = atmega32u4 diff --git a/keyboards/marksard/treadstone32/rules.mk b/keyboards/marksard/treadstone32/rules.mk index 096c25856e5e..a0b43873cc4e 100644 --- a/keyboards/marksard/treadstone32/rules.mk +++ b/keyboards/marksard/treadstone32/rules.mk @@ -15,4 +15,4 @@ AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. LEADER_ENABLE = no -DEFAULT_FOLDER = treadstone32/rev1 +DEFAULT_FOLDER = marksard/treadstone32/rev1 diff --git a/keyboards/marksard/treadstone48/treadstone48/.noci b/keyboards/marksard/treadstone48/.noci similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/.noci rename to keyboards/marksard/treadstone48/.noci diff --git a/keyboards/marksard/treadstone48/treadstone48/common/glcdfont.c b/keyboards/marksard/treadstone48/common/glcdfont.c similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/common/glcdfont.c rename to keyboards/marksard/treadstone48/common/glcdfont.c diff --git a/keyboards/marksard/treadstone48/treadstone48/common/oled_helper.c b/keyboards/marksard/treadstone48/common/oled_helper.c similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/common/oled_helper.c rename to keyboards/marksard/treadstone48/common/oled_helper.c diff --git a/keyboards/marksard/treadstone48/treadstone48/common/oled_helper.h b/keyboards/marksard/treadstone48/common/oled_helper.h similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/common/oled_helper.h rename to keyboards/marksard/treadstone48/common/oled_helper.h diff --git a/keyboards/marksard/treadstone48/treadstone48/keymaps/default/config.h b/keyboards/marksard/treadstone48/keymaps/default/config.h similarity index 94% rename from keyboards/marksard/treadstone48/treadstone48/keymaps/default/config.h rename to keyboards/marksard/treadstone48/keymaps/default/config.h index baa4ec84615f..a5f68e7a2b28 100644 --- a/keyboards/marksard/treadstone48/treadstone48/keymaps/default/config.h +++ b/keyboards/marksard/treadstone48/keymaps/default/config.h @@ -46,4 +46,4 @@ // If you plug in the USB on the right side, please enable MASTER_RIGHT // #define RHYMESTONE_RIGHTHAND -#define OLED_FONT_H "keyboards/treadstone48/common/glcdfont.c" +#define OLED_FONT_H "keyboards/marksard/treadstone48/common/glcdfont.c" diff --git a/keyboards/marksard/treadstone48/treadstone48/keymaps/default/keymap.c b/keyboards/marksard/treadstone48/keymaps/default/keymap.c similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/keymaps/default/keymap.c rename to keyboards/marksard/treadstone48/keymaps/default/keymap.c diff --git a/keyboards/marksard/treadstone48/treadstone48/keymaps/default/readme.md b/keyboards/marksard/treadstone48/keymaps/default/readme.md similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/keymaps/default/readme.md rename to keyboards/marksard/treadstone48/keymaps/default/readme.md diff --git a/keyboards/marksard/treadstone48/treadstone48/keymaps/default/readme_jp.md b/keyboards/marksard/treadstone48/keymaps/default/readme_jp.md similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/keymaps/default/readme_jp.md rename to keyboards/marksard/treadstone48/keymaps/default/readme_jp.md diff --git a/keyboards/marksard/treadstone48/treadstone48/keymaps/default/rules.mk b/keyboards/marksard/treadstone48/keymaps/default/rules.mk similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/keymaps/default/rules.mk rename to keyboards/marksard/treadstone48/keymaps/default/rules.mk diff --git a/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/config.h b/keyboards/marksard/treadstone48/keymaps/like_jis/config.h similarity index 94% rename from keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/config.h rename to keyboards/marksard/treadstone48/keymaps/like_jis/config.h index baa4ec84615f..a5f68e7a2b28 100644 --- a/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/config.h +++ b/keyboards/marksard/treadstone48/keymaps/like_jis/config.h @@ -46,4 +46,4 @@ // If you plug in the USB on the right side, please enable MASTER_RIGHT // #define RHYMESTONE_RIGHTHAND -#define OLED_FONT_H "keyboards/treadstone48/common/glcdfont.c" +#define OLED_FONT_H "keyboards/marksard/treadstone48/common/glcdfont.c" diff --git a/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/keymap.c b/keyboards/marksard/treadstone48/keymaps/like_jis/keymap.c similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/keymap.c rename to keyboards/marksard/treadstone48/keymaps/like_jis/keymap.c diff --git a/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/readme.md b/keyboards/marksard/treadstone48/keymaps/like_jis/readme.md similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/readme.md rename to keyboards/marksard/treadstone48/keymaps/like_jis/readme.md diff --git a/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/readme_jp.md b/keyboards/marksard/treadstone48/keymaps/like_jis/readme_jp.md similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/readme_jp.md rename to keyboards/marksard/treadstone48/keymaps/like_jis/readme_jp.md diff --git a/keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/rules.mk b/keyboards/marksard/treadstone48/keymaps/like_jis/rules.mk similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/keymaps/like_jis/rules.mk rename to keyboards/marksard/treadstone48/keymaps/like_jis/rules.mk diff --git a/keyboards/marksard/treadstone48/treadstone48/readme.md b/keyboards/marksard/treadstone48/readme.md similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/readme.md rename to keyboards/marksard/treadstone48/readme.md diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/.noci b/keyboards/marksard/treadstone48/rev1/.noci similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev1/.noci rename to keyboards/marksard/treadstone48/rev1/.noci diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/config.h b/keyboards/marksard/treadstone48/rev1/config.h similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev1/config.h rename to keyboards/marksard/treadstone48/rev1/config.h diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/info.json b/keyboards/marksard/treadstone48/rev1/info.json similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev1/info.json rename to keyboards/marksard/treadstone48/rev1/info.json diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/config.h b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/config.h similarity index 95% rename from keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/config.h rename to keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/config.h index 95b58c23db4f..54ac1f2fce9a 100644 --- a/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/config.h +++ b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/config.h @@ -48,4 +48,4 @@ // If you plug in the USB on the right side, please enable MASTER_RIGHT // #define RHYMESTONE_RIGHTHAND -#define OLED_FONT_H "keyboards/treadstone48/common/glcdfont.c" +#define OLED_FONT_H "keyboards/marksard/treadstone48/common/glcdfont.c" diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/keymap.c b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/keymap.c rename to keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/readme.md b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/readme.md similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/readme.md rename to keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/readme.md diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/readme_jp.md b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/readme_jp.md similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/readme_jp.md rename to keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/readme_jp.md diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/rules.mk b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/rules.mk similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev1/keymaps/like_jis_rs/rules.mk rename to keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/rules.mk diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/rev1.c b/keyboards/marksard/treadstone48/rev1/rev1.c similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev1/rev1.c rename to keyboards/marksard/treadstone48/rev1/rev1.c diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/rev1.h b/keyboards/marksard/treadstone48/rev1/rev1.h similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev1/rev1.h rename to keyboards/marksard/treadstone48/rev1/rev1.h diff --git a/keyboards/marksard/treadstone48/treadstone48/rev1/rules.mk b/keyboards/marksard/treadstone48/rev1/rules.mk similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev1/rules.mk rename to keyboards/marksard/treadstone48/rev1/rules.mk diff --git a/keyboards/marksard/treadstone48/treadstone48/rev2/config.h b/keyboards/marksard/treadstone48/rev2/config.h similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev2/config.h rename to keyboards/marksard/treadstone48/rev2/config.h diff --git a/keyboards/marksard/treadstone48/treadstone48/rev2/info.json b/keyboards/marksard/treadstone48/rev2/info.json similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev2/info.json rename to keyboards/marksard/treadstone48/rev2/info.json diff --git a/keyboards/marksard/treadstone48/treadstone48/rev2/rev2.c b/keyboards/marksard/treadstone48/rev2/rev2.c similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev2/rev2.c rename to keyboards/marksard/treadstone48/rev2/rev2.c diff --git a/keyboards/marksard/treadstone48/treadstone48/rev2/rev2.h b/keyboards/marksard/treadstone48/rev2/rev2.h similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev2/rev2.h rename to keyboards/marksard/treadstone48/rev2/rev2.h diff --git a/keyboards/marksard/treadstone48/treadstone48/rev2/rules.mk b/keyboards/marksard/treadstone48/rev2/rules.mk similarity index 100% rename from keyboards/marksard/treadstone48/treadstone48/rev2/rules.mk rename to keyboards/marksard/treadstone48/rev2/rules.mk diff --git a/keyboards/marksard/treadstone48/treadstone48/rules.mk b/keyboards/marksard/treadstone48/rules.mk similarity index 93% rename from keyboards/marksard/treadstone48/treadstone48/rules.mk rename to keyboards/marksard/treadstone48/rules.mk index 3bf42c85c64b..67c171a7b74a 100644 --- a/keyboards/marksard/treadstone48/treadstone48/rules.mk +++ b/keyboards/marksard/treadstone48/rules.mk @@ -22,4 +22,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow OLED_ENABLE = yes OLED_DRIVER = SSD1306 -DEFAULT_FOLDER = treadstone48/rev1 +DEFAULT_FOLDER = marksard/treadstone48/rev1 diff --git a/keyboards/salicylic_acid3/7skb/rules.mk b/keyboards/salicylic_acid3/7skb/rules.mk index ea7399dc7560..3ae2e899ca29 100644 --- a/keyboards/salicylic_acid3/7skb/rules.mk +++ b/keyboards/salicylic_acid3/7skb/rules.mk @@ -15,8 +15,8 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = 7skb/rev1 +DEFAULT_FOLDER = salicylic_acid3/7skb/rev1 diff --git a/keyboards/salicylic_acid3/getta25/rules.mk b/keyboards/salicylic_acid3/getta25/rules.mk index 54265d228528..977ef5bb1d3c 100644 --- a/keyboards/salicylic_acid3/getta25/rules.mk +++ b/keyboards/salicylic_acid3/getta25/rules.mk @@ -18,4 +18,4 @@ AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. OLED_ENABLE = no -DEFAULT_FOLDER = getta25/rev1 +DEFAULT_FOLDER = salicylic_acid3/getta25/rev1 diff --git a/keyboards/salicylic_acid3/jisplit89/rules.mk b/keyboards/salicylic_acid3/jisplit89/rules.mk index 5427cabfa212..a6a85106751b 100644 --- a/keyboards/salicylic_acid3/jisplit89/rules.mk +++ b/keyboards/salicylic_acid3/jisplit89/rules.mk @@ -19,4 +19,4 @@ AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = jisplit89/rev1 +DEFAULT_FOLDER = salicylic_acid3/jisplit89/rev1 diff --git a/keyboards/salicylic_acid3/naked48/rules.mk b/keyboards/salicylic_acid3/naked48/rules.mk index 6e848a281506..0e297ebf6006 100644 --- a/keyboards/salicylic_acid3/naked48/rules.mk +++ b/keyboards/salicylic_acid3/naked48/rules.mk @@ -21,4 +21,4 @@ RGB_MATRIX_DRIVER = WS2812 SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = naked48/rev1 +DEFAULT_FOLDER = salicylic_acid3/naked48/rev1 diff --git a/keyboards/salicylic_acid3/naked60/rules.mk b/keyboards/salicylic_acid3/naked60/rules.mk index 46aef17c7aa3..1aefc7b5953f 100644 --- a/keyboards/salicylic_acid3/naked60/rules.mk +++ b/keyboards/salicylic_acid3/naked60/rules.mk @@ -19,4 +19,4 @@ AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = naked60/rev1 +DEFAULT_FOLDER = salicylic_acid3/naked60/rev1 diff --git a/keyboards/salicylic_acid3/naked64/rules.mk b/keyboards/salicylic_acid3/naked64/rules.mk index 7de80383e1bc..db027e3bda5d 100644 --- a/keyboards/salicylic_acid3/naked64/rules.mk +++ b/keyboards/salicylic_acid3/naked64/rules.mk @@ -21,4 +21,4 @@ USE_I2C = no SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = naked64/rev1 +DEFAULT_FOLDER = salicylic_acid3/naked64/rev1 diff --git a/keyboards/salicylic_acid3/setta21/rules.mk b/keyboards/salicylic_acid3/setta21/rules.mk index e31a7b5c7aab..c7920fdfe8a7 100644 --- a/keyboards/salicylic_acid3/setta21/rules.mk +++ b/keyboards/salicylic_acid3/setta21/rules.mk @@ -21,6 +21,6 @@ USE_I2C = no RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 -DEFAULT_FOLDER = setta21/rev1 +DEFAULT_FOLDER = salicylic_acid3/setta21/rev1 LAYOUTS = numpad_6x4 diff --git a/keyboards/ymd75/.noci b/keyboards/ymdk/ymd75/.noci similarity index 100% rename from keyboards/ymd75/.noci rename to keyboards/ymdk/ymd75/.noci diff --git a/keyboards/ymdk/ymd75/rules.mk b/keyboards/ymdk/ymd75/rules.mk index 756d20c54c15..ec66e0734a6a 100644 --- a/keyboards/ymdk/ymd75/rules.mk +++ b/keyboards/ymdk/ymd75/rules.mk @@ -1 +1 @@ -DEFAULT_FOLDER = ymd75/rev1 +DEFAULT_FOLDER = ymdk/ymd75/rev1 From f0c14507a521dbb7c6418ef5209b96057fffcdf7 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Wed, 12 Jan 2022 02:01:33 +0800 Subject: [PATCH 0082/1832] [Keyboard] move @nacly 's boards to nacly/ (#15801) --- keyboards/{ => nacly}/splitreus62/config.h | 0 keyboards/{ => nacly}/splitreus62/info.json | 0 keyboards/{ => nacly}/splitreus62/keymaps/default/keymap.c | 0 keyboards/{ => nacly}/splitreus62/keymaps/scheiklp/config.h | 0 keyboards/{ => nacly}/splitreus62/keymaps/scheiklp/keymap.c | 0 keyboards/{ => nacly}/splitreus62/keymaps/scheiklp/rules.mk | 0 keyboards/{ => nacly}/splitreus62/readme.md | 2 +- keyboards/{ => nacly}/splitreus62/rules.mk | 0 keyboards/{ => nacly}/splitreus62/splitreus62.c | 0 keyboards/{ => nacly}/splitreus62/splitreus62.h | 0 keyboards/{ => nacly}/ua62/config.h | 0 keyboards/{ => nacly}/ua62/info.json | 0 keyboards/{ => nacly}/ua62/keymaps/default/keymap.c | 0 keyboards/{ => nacly}/ua62/readme.md | 2 +- keyboards/{ => nacly}/ua62/rules.mk | 0 keyboards/{ => nacly}/ua62/ua62.c | 0 keyboards/{ => nacly}/ua62/ua62.h | 0 17 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/{ => nacly}/splitreus62/config.h (100%) rename keyboards/{ => nacly}/splitreus62/info.json (100%) rename keyboards/{ => nacly}/splitreus62/keymaps/default/keymap.c (100%) rename keyboards/{ => nacly}/splitreus62/keymaps/scheiklp/config.h (100%) rename keyboards/{ => nacly}/splitreus62/keymaps/scheiklp/keymap.c (100%) rename keyboards/{ => nacly}/splitreus62/keymaps/scheiklp/rules.mk (100%) rename keyboards/{ => nacly}/splitreus62/readme.md (95%) rename keyboards/{ => nacly}/splitreus62/rules.mk (100%) rename keyboards/{ => nacly}/splitreus62/splitreus62.c (100%) rename keyboards/{ => nacly}/splitreus62/splitreus62.h (100%) rename keyboards/{ => nacly}/ua62/config.h (100%) rename keyboards/{ => nacly}/ua62/info.json (100%) rename keyboards/{ => nacly}/ua62/keymaps/default/keymap.c (100%) rename keyboards/{ => nacly}/ua62/readme.md (95%) rename keyboards/{ => nacly}/ua62/rules.mk (100%) rename keyboards/{ => nacly}/ua62/ua62.c (100%) rename keyboards/{ => nacly}/ua62/ua62.h (100%) diff --git a/keyboards/splitreus62/config.h b/keyboards/nacly/splitreus62/config.h similarity index 100% rename from keyboards/splitreus62/config.h rename to keyboards/nacly/splitreus62/config.h diff --git a/keyboards/splitreus62/info.json b/keyboards/nacly/splitreus62/info.json similarity index 100% rename from keyboards/splitreus62/info.json rename to keyboards/nacly/splitreus62/info.json diff --git a/keyboards/splitreus62/keymaps/default/keymap.c b/keyboards/nacly/splitreus62/keymaps/default/keymap.c similarity index 100% rename from keyboards/splitreus62/keymaps/default/keymap.c rename to keyboards/nacly/splitreus62/keymaps/default/keymap.c diff --git a/keyboards/splitreus62/keymaps/scheiklp/config.h b/keyboards/nacly/splitreus62/keymaps/scheiklp/config.h similarity index 100% rename from keyboards/splitreus62/keymaps/scheiklp/config.h rename to keyboards/nacly/splitreus62/keymaps/scheiklp/config.h diff --git a/keyboards/splitreus62/keymaps/scheiklp/keymap.c b/keyboards/nacly/splitreus62/keymaps/scheiklp/keymap.c similarity index 100% rename from keyboards/splitreus62/keymaps/scheiklp/keymap.c rename to keyboards/nacly/splitreus62/keymaps/scheiklp/keymap.c diff --git a/keyboards/splitreus62/keymaps/scheiklp/rules.mk b/keyboards/nacly/splitreus62/keymaps/scheiklp/rules.mk similarity index 100% rename from keyboards/splitreus62/keymaps/scheiklp/rules.mk rename to keyboards/nacly/splitreus62/keymaps/scheiklp/rules.mk diff --git a/keyboards/splitreus62/readme.md b/keyboards/nacly/splitreus62/readme.md similarity index 95% rename from keyboards/splitreus62/readme.md rename to keyboards/nacly/splitreus62/readme.md index 34fda47535be..414b507d9760 100644 --- a/keyboards/splitreus62/readme.md +++ b/keyboards/nacly/splitreus62/readme.md @@ -8,6 +8,6 @@ A split version of the [Atreus62](https://github.com/profet23/atreus62) by Profe Make example for this keyboard (after setting up your build environment): - make splitreus62:default + make nacly/splitreus62:default 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/splitreus62/rules.mk b/keyboards/nacly/splitreus62/rules.mk similarity index 100% rename from keyboards/splitreus62/rules.mk rename to keyboards/nacly/splitreus62/rules.mk diff --git a/keyboards/splitreus62/splitreus62.c b/keyboards/nacly/splitreus62/splitreus62.c similarity index 100% rename from keyboards/splitreus62/splitreus62.c rename to keyboards/nacly/splitreus62/splitreus62.c diff --git a/keyboards/splitreus62/splitreus62.h b/keyboards/nacly/splitreus62/splitreus62.h similarity index 100% rename from keyboards/splitreus62/splitreus62.h rename to keyboards/nacly/splitreus62/splitreus62.h diff --git a/keyboards/ua62/config.h b/keyboards/nacly/ua62/config.h similarity index 100% rename from keyboards/ua62/config.h rename to keyboards/nacly/ua62/config.h diff --git a/keyboards/ua62/info.json b/keyboards/nacly/ua62/info.json similarity index 100% rename from keyboards/ua62/info.json rename to keyboards/nacly/ua62/info.json diff --git a/keyboards/ua62/keymaps/default/keymap.c b/keyboards/nacly/ua62/keymaps/default/keymap.c similarity index 100% rename from keyboards/ua62/keymaps/default/keymap.c rename to keyboards/nacly/ua62/keymaps/default/keymap.c diff --git a/keyboards/ua62/readme.md b/keyboards/nacly/ua62/readme.md similarity index 95% rename from keyboards/ua62/readme.md rename to keyboards/nacly/ua62/readme.md index 62523e21462f..cb4b870bcdd5 100644 --- a/keyboards/ua62/readme.md +++ b/keyboards/nacly/ua62/readme.md @@ -9,6 +9,6 @@ Make example for this keyboard (after setting up your build environment): - make ua62:default + make nacly/ua62:default 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/ua62/rules.mk b/keyboards/nacly/ua62/rules.mk similarity index 100% rename from keyboards/ua62/rules.mk rename to keyboards/nacly/ua62/rules.mk diff --git a/keyboards/ua62/ua62.c b/keyboards/nacly/ua62/ua62.c similarity index 100% rename from keyboards/ua62/ua62.c rename to keyboards/nacly/ua62/ua62.c diff --git a/keyboards/ua62/ua62.h b/keyboards/nacly/ua62/ua62.h similarity index 100% rename from keyboards/ua62/ua62.h rename to keyboards/nacly/ua62/ua62.h From 37d801776ea84bcc93376d1f269e2c4093ea6d74 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Wed, 12 Jan 2022 02:05:06 +0800 Subject: [PATCH 0083/1832] [Keyboard] move @obosob 's boards into obosob/ (#15799) --- keyboards/{ => obosob}/arch_36/arch_36.c | 0 keyboards/{ => obosob}/arch_36/arch_36.h | 0 keyboards/{ => obosob}/arch_36/config.h | 0 keyboards/{ => obosob}/arch_36/info.json | 0 keyboards/{ => obosob}/arch_36/keymaps/default/keymap.c | 0 keyboards/{ => obosob}/arch_36/keymaps/obosob/config.h | 0 keyboards/{ => obosob}/arch_36/keymaps/obosob/keymap.c | 0 keyboards/{ => obosob}/arch_36/keymaps/obosob/readme.md | 0 keyboards/{ => obosob}/arch_36/keymaps/obosob/rules.mk | 0 keyboards/{ => obosob}/arch_36/readme.md | 4 ++-- keyboards/{ => obosob}/arch_36/rules.mk | 0 keyboards/{ => obosob}/steal_this_keyboard/config.h | 0 keyboards/{ => obosob}/steal_this_keyboard/info.json | 0 .../{ => obosob}/steal_this_keyboard/keymaps/default/config.h | 0 .../{ => obosob}/steal_this_keyboard/keymaps/default/keymap.c | 0 keyboards/{ => obosob}/steal_this_keyboard/readme.md | 2 +- keyboards/{ => obosob}/steal_this_keyboard/rules.mk | 0 .../{ => obosob}/steal_this_keyboard/steal_this_keyboard.c | 0 .../{ => obosob}/steal_this_keyboard/steal_this_keyboard.h | 0 19 files changed, 3 insertions(+), 3 deletions(-) rename keyboards/{ => obosob}/arch_36/arch_36.c (100%) rename keyboards/{ => obosob}/arch_36/arch_36.h (100%) rename keyboards/{ => obosob}/arch_36/config.h (100%) rename keyboards/{ => obosob}/arch_36/info.json (100%) rename keyboards/{ => obosob}/arch_36/keymaps/default/keymap.c (100%) rename keyboards/{ => obosob}/arch_36/keymaps/obosob/config.h (100%) rename keyboards/{ => obosob}/arch_36/keymaps/obosob/keymap.c (100%) rename keyboards/{ => obosob}/arch_36/keymaps/obosob/readme.md (100%) rename keyboards/{ => obosob}/arch_36/keymaps/obosob/rules.mk (100%) rename keyboards/{ => obosob}/arch_36/readme.md (88%) rename keyboards/{ => obosob}/arch_36/rules.mk (100%) rename keyboards/{ => obosob}/steal_this_keyboard/config.h (100%) rename keyboards/{ => obosob}/steal_this_keyboard/info.json (100%) rename keyboards/{ => obosob}/steal_this_keyboard/keymaps/default/config.h (100%) rename keyboards/{ => obosob}/steal_this_keyboard/keymaps/default/keymap.c (100%) rename keyboards/{ => obosob}/steal_this_keyboard/readme.md (93%) rename keyboards/{ => obosob}/steal_this_keyboard/rules.mk (100%) rename keyboards/{ => obosob}/steal_this_keyboard/steal_this_keyboard.c (100%) rename keyboards/{ => obosob}/steal_this_keyboard/steal_this_keyboard.h (100%) diff --git a/keyboards/arch_36/arch_36.c b/keyboards/obosob/arch_36/arch_36.c similarity index 100% rename from keyboards/arch_36/arch_36.c rename to keyboards/obosob/arch_36/arch_36.c diff --git a/keyboards/arch_36/arch_36.h b/keyboards/obosob/arch_36/arch_36.h similarity index 100% rename from keyboards/arch_36/arch_36.h rename to keyboards/obosob/arch_36/arch_36.h diff --git a/keyboards/arch_36/config.h b/keyboards/obosob/arch_36/config.h similarity index 100% rename from keyboards/arch_36/config.h rename to keyboards/obosob/arch_36/config.h diff --git a/keyboards/arch_36/info.json b/keyboards/obosob/arch_36/info.json similarity index 100% rename from keyboards/arch_36/info.json rename to keyboards/obosob/arch_36/info.json diff --git a/keyboards/arch_36/keymaps/default/keymap.c b/keyboards/obosob/arch_36/keymaps/default/keymap.c similarity index 100% rename from keyboards/arch_36/keymaps/default/keymap.c rename to keyboards/obosob/arch_36/keymaps/default/keymap.c diff --git a/keyboards/arch_36/keymaps/obosob/config.h b/keyboards/obosob/arch_36/keymaps/obosob/config.h similarity index 100% rename from keyboards/arch_36/keymaps/obosob/config.h rename to keyboards/obosob/arch_36/keymaps/obosob/config.h diff --git a/keyboards/arch_36/keymaps/obosob/keymap.c b/keyboards/obosob/arch_36/keymaps/obosob/keymap.c similarity index 100% rename from keyboards/arch_36/keymaps/obosob/keymap.c rename to keyboards/obosob/arch_36/keymaps/obosob/keymap.c diff --git a/keyboards/arch_36/keymaps/obosob/readme.md b/keyboards/obosob/arch_36/keymaps/obosob/readme.md similarity index 100% rename from keyboards/arch_36/keymaps/obosob/readme.md rename to keyboards/obosob/arch_36/keymaps/obosob/readme.md diff --git a/keyboards/arch_36/keymaps/obosob/rules.mk b/keyboards/obosob/arch_36/keymaps/obosob/rules.mk similarity index 100% rename from keyboards/arch_36/keymaps/obosob/rules.mk rename to keyboards/obosob/arch_36/keymaps/obosob/rules.mk diff --git a/keyboards/arch_36/readme.md b/keyboards/obosob/arch_36/readme.md similarity index 88% rename from keyboards/arch_36/readme.md rename to keyboards/obosob/arch_36/readme.md index d0e16434ee9f..77c07a2a3ba4 100644 --- a/keyboards/arch_36/readme.md +++ b/keyboards/obosob/arch_36/readme.md @@ -7,10 +7,10 @@ An ergonomic 30% split keyboard Make example for this keyboard (after setting up your build environment): - make arch_36:default + make obosob/arch_36:default Example of flashing this keyboard: - make arch_36:default:flash + make obosob/arch_36:default:flash 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/arch_36/rules.mk b/keyboards/obosob/arch_36/rules.mk similarity index 100% rename from keyboards/arch_36/rules.mk rename to keyboards/obosob/arch_36/rules.mk diff --git a/keyboards/steal_this_keyboard/config.h b/keyboards/obosob/steal_this_keyboard/config.h similarity index 100% rename from keyboards/steal_this_keyboard/config.h rename to keyboards/obosob/steal_this_keyboard/config.h diff --git a/keyboards/steal_this_keyboard/info.json b/keyboards/obosob/steal_this_keyboard/info.json similarity index 100% rename from keyboards/steal_this_keyboard/info.json rename to keyboards/obosob/steal_this_keyboard/info.json diff --git a/keyboards/steal_this_keyboard/keymaps/default/config.h b/keyboards/obosob/steal_this_keyboard/keymaps/default/config.h similarity index 100% rename from keyboards/steal_this_keyboard/keymaps/default/config.h rename to keyboards/obosob/steal_this_keyboard/keymaps/default/config.h diff --git a/keyboards/steal_this_keyboard/keymaps/default/keymap.c b/keyboards/obosob/steal_this_keyboard/keymaps/default/keymap.c similarity index 100% rename from keyboards/steal_this_keyboard/keymaps/default/keymap.c rename to keyboards/obosob/steal_this_keyboard/keymaps/default/keymap.c diff --git a/keyboards/steal_this_keyboard/readme.md b/keyboards/obosob/steal_this_keyboard/readme.md similarity index 93% rename from keyboards/steal_this_keyboard/readme.md rename to keyboards/obosob/steal_this_keyboard/readme.md index 395487f7b302..55384a92340a 100644 --- a/keyboards/steal_this_keyboard/readme.md +++ b/keyboards/obosob/steal_this_keyboard/readme.md @@ -6,6 +6,6 @@ A split 34 keys column staggered keyboard named and decorated after the System o Make examples for this keyboard (after setting up your build environment): - make steal_this_keyboard:default + make obosob/steal_this_keyboard:default 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/steal_this_keyboard/rules.mk b/keyboards/obosob/steal_this_keyboard/rules.mk similarity index 100% rename from keyboards/steal_this_keyboard/rules.mk rename to keyboards/obosob/steal_this_keyboard/rules.mk diff --git a/keyboards/steal_this_keyboard/steal_this_keyboard.c b/keyboards/obosob/steal_this_keyboard/steal_this_keyboard.c similarity index 100% rename from keyboards/steal_this_keyboard/steal_this_keyboard.c rename to keyboards/obosob/steal_this_keyboard/steal_this_keyboard.c diff --git a/keyboards/steal_this_keyboard/steal_this_keyboard.h b/keyboards/obosob/steal_this_keyboard/steal_this_keyboard.h similarity index 100% rename from keyboards/steal_this_keyboard/steal_this_keyboard.h rename to keyboards/obosob/steal_this_keyboard/steal_this_keyboard.h From 2842ab405212aa7edca05eccc8ba892cd6cf54a4 Mon Sep 17 00:00:00 2001 From: Alabastard-64 <96358682+Alabastard-64@users.noreply.github.com> Date: Tue, 11 Jan 2022 15:33:13 -0700 Subject: [PATCH 0084/1832] Add PMW3389 optical sensor Support (Updated) (#15740) Co-authored-by: Drashna Jaelre --- common_features.mk | 5 +- docs/feature_pointing_device.md | 23 ++ drivers/sensors/pmw3360.c | 5 +- drivers/sensors/pmw3360.h | 11 - drivers/sensors/pmw3389.c | 296 +++++++++++++++ drivers/sensors/pmw3389.h | 76 ++++ drivers/sensors/pmw3389_firmware.h | 558 +++++++++++++++-------------- quantum/pointing_device.h | 3 + quantum/pointing_device_drivers.c | 36 ++ 9 files changed, 720 insertions(+), 293 deletions(-) create mode 100644 drivers/sensors/pmw3389.c create mode 100644 drivers/sensors/pmw3389.h diff --git a/common_features.mk b/common_features.mk index 5cde023d10ef..b13f9a45d27f 100644 --- a/common_features.mk +++ b/common_features.mk @@ -109,7 +109,7 @@ ifeq ($(strip $(MOUSEKEY_ENABLE)), yes) SRC += $(QUANTUM_DIR)/mousekey.c endif -VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick cirque_pinnacle_i2c cirque_pinnacle_spi pmw3360 pimoroni_trackball custom +VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick cirque_pinnacle_i2c cirque_pinnacle_spi pmw3360 pmw3389 pimoroni_trackball custom POINTING_DEVICE_DRIVER ?= custom ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(filter $(POINTING_DEVICE_DRIVER),$(VALID_POINTING_DEVICE_DRIVER_TYPES)),) @@ -144,6 +144,9 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), pmw3360) OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE QUANTUM_LIB_SRC += spi_master.c + else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), pmw3389) + OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE + QUANTUM_LIB_SRC += spi_master.c endif endif endif diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index ecf6d5c6d420..def592a61cfc 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -155,6 +155,29 @@ The PMW 3360 is an SPI driven optical sensor, that uses a built in IR LED for su The CPI range is 100-12000, in increments of 100. Defaults to 1600 CPI. +### PMW 3389 Sensor + +To use the PMW 3389 sensor, add this to your `rules.mk` + +```make +POINTING_DEVICE_DRIVER = pmw3389 +``` + +The PMW 3389 is an SPI driven optical sensor, that uses a built in IR LED for surface tracking. + +| Setting | Description | Default | +|---------------------------------|--------------------------------------------------------------------------------------------|---------------| +|`PMW3389_CS_PIN` | (Required) Sets the Cable Select pin connected to the sensor. | _not defined_ | +|`PMW3389_CLOCK_SPEED` | (Optional) Sets the clock speed that the sensor runs at. | `2000000` | +|`PMW3389_SPI_LSBFIRST` | (Optional) Sets the Least/Most Significant Byte First setting for SPI. | `false` | +|`PMW3389_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `3` | +|`PMW3389_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ | +|`PMW3389_LIFTOFF_DISTANCE` | (Optional) Sets the lift off distance at run time | `0x02` | +|`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 30 degrees directly in the sensor. | `0` | +|`PMW3389_LEGACY_FIRMWARE_UPLOAD` | (Optional) Switches to older, manual upload of firmware, for compatibility. | _not defined_ | + +The CPI range is 50-16000, in increments of 50. Defaults to 2000 CPI. + ### Custom Driver diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 4712f6015c18..0dac600cc247 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -21,7 +21,7 @@ #include "wait.h" #include "debug.h" #include "print.h" -#include PMW3360_FIRMWARE_H +#include "pmw3360_firmware.h" // Registers // clang-format off @@ -79,9 +79,6 @@ // clang-format on // limits to 0--119, resulting in a CPI range of 100 -- 12000 (as only steps of 100 are possible). -// Note that for the PMW3389DM chip, the step size is 50 and supported range is -// up to 16000. The datasheet does not indicate the minimum CPI though, neither -// whether this uses 2 bytes (as 16000/50 == 320) #ifndef MAX_CPI # define MAX_CPI 0x77 #endif diff --git a/drivers/sensors/pmw3360.h b/drivers/sensors/pmw3360.h index b46fc9056e4c..4e17aa0c468a 100644 --- a/drivers/sensors/pmw3360.h +++ b/drivers/sensors/pmw3360.h @@ -56,17 +56,6 @@ # error "No chip select pin defined -- missing PMW3360_CS_PIN" #endif -/* -The pmw33660 and pmw3389 use the same registers and timing and such. -The only differences between the two is the firmware used, and the -range for the DPI. So add a semi-secret hack to allow use of the -pmw3389's firmware blob. Also, can set the max cpi range too. -This should work for the 3390 and 3391 too, in theory. -*/ -#ifndef PMW3360_FIRMWARE_H -# define PMW3360_FIRMWARE_H "pmw3360_firmware.h" -#endif - typedef struct { int8_t motion; bool isMotion; // True if a motion is detected. diff --git a/drivers/sensors/pmw3389.c b/drivers/sensors/pmw3389.c new file mode 100644 index 000000000000..11056bb89ec6 --- /dev/null +++ b/drivers/sensors/pmw3389.c @@ -0,0 +1,296 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * Copyright 2019 Sunjun Kim + * Copyright 2020 Ploopy Corporation + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "spi_master.h" +#include "pmw3389.h" +#include "wait.h" +#include "debug.h" +#include "print.h" +#include "pmw3389_firmware.h" + +// Registers +// clang-format off +#define REG_Product_ID 0x00 +#define REG_Revision_ID 0x01 +#define REG_Motion 0x02 +#define REG_Delta_X_L 0x03 +#define REG_Delta_X_H 0x04 +#define REG_Delta_Y_L 0x05 +#define REG_Delta_Y_H 0x06 +#define REG_SQUAL 0x07 +#define REG_RawData_Sum 0x08 +#define REG_Maximum_RawData 0x09 +#define REG_Minimum_RawData 0x0a +#define REG_Shutter_Lower 0x0b +#define REG_Shutter_Upper 0x0c +#define REG_Ripple_Control 0x0d +#define REG_Resolution_L 0x0e +#define REG_Resolution_H 0x0f +#define REG_Config2 0x10 +#define REG_Angle_Tune 0x11 +#define REG_Frame_Capture 0x12 +#define REG_SROM_Enable 0x13 +#define REG_Run_Downshift 0x14 +#define REG_Rest1_Rate_Lower 0x15 +#define REG_Rest1_Rate_Upper 0x16 +#define REG_Rest1_Downshift 0x17 +#define REG_Rest2_Rate_Lower 0x18 +#define REG_Rest2_Rate_Upper 0x19 +#define REG_Rest2_Downshift 0x1a +#define REG_Rest3_Rate_Lower 0x1b +#define REG_Rest3_Rate_Upper 0x1c +#define REG_Observation 0x24 +#define REG_Data_Out_Lower 0x25 +#define REG_Data_Out_Upper 0x26 +#define REG_SROM_ID 0x2a +#define REG_Min_SQ_Run 0x2b +#define REG_RawData_Threshold 0x2c +#define REG_Control2 0x2d +#define REG_Config5_L 0x2e +#define REG_Config5_H 0x2f +#define REG_Power_Up_Reset 0X3a +#define REG_Shutdown 0x3b +#define REG_Inverse_Product_ID 0x3f +#define REG_LiftCutoff_Cal3 0x41 +#define REG_Angle_Snap 0x42 +#define REG_LiftCutoff_Cal1 0x4a +#define REG_Motion_Burst 0x50 +#define REG_SROM_Load_Burst 0x62 +#define REG_Lift_Config 0x63 +#define REG_RawData_Burst 0x64 +#define REG_LiftCutoff_Cal2 0x65 +#define REG_LiftCutoff_Cal_Timeout 0x71 +#define REG_LiftCutoff_Cal_Min_Length 0x72 +#define REG_PWM_Period_Cnt 0x73 +#define REG_PWM_Width_Cnt 0x74 + +#define CPI_STEP 50 +// clang-format on + +// limits to 0--319, resulting in a CPI range of 50 -- 16000 (as only steps of 50 are possible). +#ifndef MAX_CPI +# define MAX_CPI 0x013f +#endif + +bool _inBurst = false; + +#ifdef CONSOLE_ENABLE +void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); } +#endif +#define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt))) + +bool pmw3389_spi_start(void) { + bool status = spi_start(PMW3389_CS_PIN, PMW3389_SPI_LSBFIRST, PMW3389_SPI_MODE, PMW3389_SPI_DIVISOR); + // tNCS-SCLK, 120ns + wait_us(1); + return status; +} + +spi_status_t pmw3389_write(uint8_t reg_addr, uint8_t data) { + pmw3389_spi_start(); + + if (reg_addr != REG_Motion_Burst) { + _inBurst = false; + } + + // send address of the register, with MSBit = 1 to indicate it's a write + spi_status_t status = spi_write(reg_addr | 0x80); + status = spi_write(data); + + // tSCLK-NCS for write operation is 35 us + wait_us(35); + spi_stop(); + + // tSWW/tSWR (=180us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound + wait_us(145); + return status; +} + +uint8_t pmw3389_read(uint8_t reg_addr) { + pmw3389_spi_start(); + // send adress of the register, with MSBit = 0 to indicate it's a read + spi_write(reg_addr & 0x7f); + // tSRAD (=160us) + wait_us(160); + uint8_t data = spi_read(); + + // tSCLK-NCS, 120ns + wait_us(1); + spi_stop(); + + // tSRW/tSRR (=20us) minus tSCLK-NCS + wait_us(19); + return data; +} + +bool pmw3389_init(void) { + setPinOutput(PMW3389_CS_PIN); + + spi_init(); + _inBurst = false; + + spi_stop(); + pmw3389_spi_start(); + spi_stop(); + + pmw3389_write(REG_Shutdown, 0xb6); // Shutdown first + wait_ms(300); + + pmw3389_spi_start(); + wait_us(40); + spi_stop(); + wait_us(40); + + // power up, need to first drive NCS high then low, see above. + pmw3389_write(REG_Power_Up_Reset, 0x5a); + wait_ms(50); + + // read registers and discard + pmw3389_read(REG_Motion); + pmw3389_read(REG_Delta_X_L); + pmw3389_read(REG_Delta_X_H); + pmw3389_read(REG_Delta_Y_L); + pmw3389_read(REG_Delta_Y_H); + + pmw3389_upload_firmware(); + + spi_stop(); + + wait_ms(10); + pmw3389_set_cpi(PMW3389_CPI); + + wait_ms(1); + + pmw3389_write(REG_Config2, 0x00); + + pmw3389_write(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -127, 127)); + + pmw3389_write(REG_Lift_Config, PMW3389_LIFTOFF_DISTANCE); + + bool init_success = pmw3389_check_signature(); +#ifdef CONSOLE_ENABLE + if (init_success) { + dprintf("pmw3389 signature verified"); + } else { + dprintf("pmw3389 signature verification failed!"); + } +#endif + + writePinLow(PMW3389_CS_PIN); + + return init_success; +} + +void pmw3389_upload_firmware(void) { + // Datasheet claims we need to disable REST mode first, but during startup + // it's already disabled and we're not turning it on ... + // pmw3389_write(REG_Config2, 0x00); // disable REST mode + pmw3389_write(REG_SROM_Enable, 0x1d); + + wait_ms(10); + + pmw3389_write(REG_SROM_Enable, 0x18); + + pmw3389_spi_start(); + spi_write(REG_SROM_Load_Burst | 0x80); + wait_us(15); + +#ifdef PMW3389_LEGACY_FIRMWARE_UPLOAD + unsigned char c; + for (int i = 0; i < FIRMWARE_LENGTH; i++) { + c = (unsigned char)pgm_read_byte(firmware_data + i); + spi_write(c); + wait_us(15); + } +#else + spi_transmit(firmware_data, sizeof(firmware_data)); +#endif + wait_us(200); + + pmw3389_read(REG_SROM_ID); + pmw3389_write(REG_Config2, 0x00); +} + +bool pmw3389_check_signature(void) { + uint8_t pid = pmw3389_read(REG_Product_ID); + uint8_t iv_pid = pmw3389_read(REG_Inverse_Product_ID); + uint8_t SROM_ver = pmw3389_read(REG_SROM_ID); + return (pid == firmware_signature[0] && iv_pid == firmware_signature[1] && SROM_ver == firmware_signature[2]); // signature for SROM 0x04 +} + +uint16_t pmw3389_get_cpi(void) { + uint16_t cpival = (pmw3389_read(REG_Resolution_H) << 8) | pmw3389_read(REG_Resolution_L); + return (uint16_t)((cpival + 1) & 0xffff) * CPI_STEP; +} + +void pmw3389_set_cpi(uint16_t cpi) { + uint16_t cpival = constrain((cpi / CPI_STEP) - 1, 0, MAX_CPI); + // Sets upper byte first for more consistent setting of cpi + pmw3389_write(REG_Resolution_H, (cpival >> 8) & 0xff); + pmw3389_write(REG_Resolution_L, cpival & 0xff); +} + +report_pmw3389_t pmw3389_read_burst(void) { + report_pmw3389_t report = {0}; + + if (!_inBurst) { +#ifdef CONSOLE_ENABLE + dprintf("burst on"); +#endif + pmw3389_write(REG_Motion_Burst, 0x00); + _inBurst = true; + } + + pmw3389_spi_start(); + spi_write(REG_Motion_Burst); + wait_us(35); // waits for tSRAD_MOTBR + + report.motion = spi_read(); + spi_read(); // skip Observation + // delta registers + report.dx = spi_read(); + report.mdx = spi_read(); + report.dy = spi_read(); + report.mdy = spi_read(); + + if (report.motion & 0b111) { // panic recovery, sometimes burst mode works weird. + _inBurst = false; + } + + spi_stop(); + +#ifdef CONSOLE_ENABLE + if (debug_mouse) { + print_byte(report.motion); + print_byte(report.dx); + print_byte(report.mdx); + print_byte(report.dy); + print_byte(report.mdy); + dprintf("\n"); + } +#endif + + report.isMotion = (report.motion & 0x80) != 0; + report.isOnSurface = (report.motion & 0x08) == 0; + report.dx |= (report.mdx << 8); + report.dx = report.dx * -1; + report.dy |= (report.mdy << 8); + report.dy = report.dy * -1; + + return report; +} diff --git a/drivers/sensors/pmw3389.h b/drivers/sensors/pmw3389.h new file mode 100644 index 000000000000..a7c95e60765d --- /dev/null +++ b/drivers/sensors/pmw3389.h @@ -0,0 +1,76 @@ +/* Copyright 2021 Alabastard (@Alabastard-64) + * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * Copyright 2019 Sunjun Kim + * Copyright 2020 Ploopy Corporation + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include + +#ifndef PMW3389_CPI +# define PMW3389_CPI 2000 +#endif + +#ifndef PMW3389_CLOCK_SPEED +# define PMW3389_CLOCK_SPEED 2000000 +#endif + +#ifndef PMW3389_SPI_LSBFIRST +# define PMW3389_SPI_LSBFIRST false +#endif + +#ifndef PMW3389_SPI_MODE +# define PMW3389_SPI_MODE 3 +#endif + +#ifndef PMW3389_SPI_DIVISOR +# ifdef __AVR__ +# define PMW3389_SPI_DIVISOR (F_CPU / PMW3389_CLOCK_SPEED) +# else +# define PMW3389_SPI_DIVISOR 64 +# endif +#endif + +#ifndef PMW3389_LIFTOFF_DISTANCE +# define PMW3389_LIFTOFF_DISTANCE 0x02 +#endif + +#ifndef ROTATIONAL_TRANSFORM_ANGLE +# define ROTATIONAL_TRANSFORM_ANGLE 0x00 +#endif + +#ifndef PMW3389_CS_PIN +# error "No chip select pin defined -- missing PMW3389_CS_PIN" +#endif + +typedef struct { + int8_t motion; + bool isMotion; // True if a motion is detected. + bool isOnSurface; // True when a chip is on a surface + int16_t dx; // displacement on x directions. Unit: Count. (CPI * Count = Inch value) + int8_t mdx; + int16_t dy; // displacement on y directions. + int8_t mdy; +} report_pmw3389_t; + +bool pmw3389_init(void); +void pmw3389_upload_firmware(void); +bool pmw3389_check_signature(void); +uint16_t pmw3389_get_cpi(void); +void pmw3389_set_cpi(uint16_t cpi); +/* Reads and clears the current delta values on the sensor */ +report_pmw3389_t pmw3389_read_burst(void); diff --git a/drivers/sensors/pmw3389_firmware.h b/drivers/sensors/pmw3389_firmware.h index 0564dab73afa..cd9638b6059e 100644 --- a/drivers/sensors/pmw3389_firmware.h +++ b/drivers/sensors/pmw3389_firmware.h @@ -18,286 +18,290 @@ #pragma once +#include "progmem.h" + // PID, Inverse PID, SROM version const uint8_t firmware_signature[] PROGMEM = {0x42, 0xBD, 0x04}; +#define FIRMWARE_LENGTH 4094 + +// Firmware Blob for PMW3389 + // clang-format off -// Firmware Blob foor PMW3389 -const uint16_t firmware_length = 4094; -// clang-format off -const uint8_t firmware_data[] PROGMEM = { // SROM 0x04 -0x01, 0xe8, 0xba, 0x26, 0x0b, 0xb2, 0xbe, 0xfe, 0x7e, 0x5f, 0x3c, 0xdb, 0x15, 0xa8, 0xb3, -0xe4, 0x2b, 0xb5, 0xe8, 0x53, 0x07, 0x6d, 0x3b, 0xd1, 0x20, 0xc2, 0x06, 0x6f, 0x3d, 0xd9, -0x11, 0xa0, 0xc2, 0xe7, 0x2d, 0xb9, 0xd1, 0x20, 0xa3, 0xa5, 0xc8, 0xf3, 0x64, 0x4a, 0xf7, -0x4d, 0x18, 0x93, 0xa4, 0xca, 0xf7, 0x6c, 0x5a, 0x36, 0xee, 0x5e, 0x3e, 0xfe, 0x7e, 0x7e, -0x5f, 0x1d, 0x99, 0xb0, 0xc3, 0xe5, 0x29, 0xd3, 0x03, 0x65, 0x48, 0x12, 0x87, 0x6d, 0x58, -0x32, 0xe6, 0x2f, 0xdc, 0x3a, 0xf2, 0x4f, 0xfd, 0x59, 0x11, 0x81, 0x61, 0x21, 0xc0, 0x02, -0x86, 0x8e, 0x7f, 0x5d, 0x38, 0xf2, 0x47, 0x0c, 0x7b, 0x55, 0x28, 0xb3, 0xe4, 0x4a, 0x16, -0xab, 0xbf, 0xdd, 0x38, 0xf2, 0x66, 0x4e, 0xff, 0x5d, 0x19, 0x91, 0xa0, 0xa3, 0xa5, 0xc8, -0x12, 0xa6, 0xaf, 0xdc, 0x3a, 0xd1, 0x41, 0x60, 0x75, 0x58, 0x24, 0x92, 0xd4, 0x72, 0x6c, -0xe0, 0x2f, 0xfd, 0x23, 0x8d, 0x1c, 0x5b, 0xb2, 0x97, 0x36, 0x3d, 0x0b, 0xa2, 0x49, 0xb1, -0x58, 0xf2, 0x1f, 0xc0, 0xcb, 0xf8, 0x41, 0x4f, 0xcd, 0x1e, 0x6b, 0x39, 0xa7, 0x2b, 0xe9, -0x30, 0x16, 0x83, 0xd2, 0x0e, 0x47, 0x8f, 0xe3, 0xb1, 0xdf, 0xa2, 0x15, 0xdb, 0x5d, 0x30, -0xc5, 0x1a, 0xab, 0x31, 0x99, 0xf3, 0xfa, 0xb2, 0x86, 0x69, 0xad, 0x7a, 0xe8, 0xa7, 0x18, -0x6a, 0xcc, 0xc8, 0x65, 0x23, 0x87, 0xa8, 0x5f, 0xf5, 0x21, 0x59, 0x75, 0x09, 0x71, 0x45, -0x55, 0x25, 0x4b, 0xda, 0xa1, 0xc3, 0xf7, 0x41, 0xab, 0x59, 0xd9, 0x74, 0x12, 0x55, 0x5f, -0xbc, 0xaf, 0xd9, 0xfd, 0xb0, 0x1e, 0xa3, 0x0f, 0xff, 0xde, 0x11, 0x16, 0x6a, 0xae, 0x0e, -0xe1, 0x5d, 0x3c, 0x10, 0x43, 0x9a, 0xa1, 0x0b, 0x24, 0x8f, 0x0d, 0x7f, 0x0b, 0x5e, 0x4c, -0x42, 0xa4, 0x84, 0x2c, 0x40, 0xd0, 0x55, 0x39, 0xe6, 0x4b, 0xf8, 0x9b, 0x2f, 0xdc, 0x28, -0xff, 0xfa, 0xb5, 0x85, 0x19, 0xe5, 0x28, 0xa1, 0x77, 0xaa, 0x73, 0xf3, 0x03, 0xc7, 0x62, -0xa6, 0x91, 0x18, 0xc9, 0xb0, 0xcd, 0x05, 0xdc, 0xca, 0x81, 0x26, 0x1a, 0x47, 0x40, 0xda, -0x36, 0x7d, 0x6a, 0x53, 0xc8, 0x5a, 0x77, 0x5d, 0x19, 0xa4, 0x1b, 0x23, 0x83, 0xd0, 0xb2, -0xaa, 0x0e, 0xbf, 0x77, 0x4e, 0x3a, 0x3b, 0x59, 0x00, 0x31, 0x0d, 0x02, 0x1b, 0x88, 0x7a, -0xd4, 0xbd, 0x9d, 0xcc, 0x58, 0x04, 0x69, 0xf6, 0x3b, 0xca, 0x42, 0xe2, 0xfd, 0xc3, 0x3d, -0x39, 0xc5, 0xd0, 0x71, 0xe4, 0xc8, 0xb7, 0x3e, 0x3f, 0xc8, 0xe9, 0xca, 0xc9, 0x3f, 0x04, -0x4e, 0x1b, 0x79, 0xca, 0xa5, 0x61, 0xc2, 0xed, 0x1d, 0xa6, 0xda, 0x5a, 0xe9, 0x7f, 0x65, -0x8c, 0xbe, 0x12, 0x6e, 0xa4, 0x5b, 0x33, 0x2f, 0x84, 0x28, 0x9c, 0x1c, 0x88, 0x2d, 0xff, -0x07, 0xbf, 0xa6, 0xd7, 0x5a, 0x88, 0x86, 0xb0, 0x3f, 0xf6, 0x31, 0x5b, 0x11, 0x6d, 0xf5, -0x58, 0xeb, 0x58, 0x02, 0x9e, 0xb5, 0x9a, 0xb1, 0xff, 0x25, 0x9d, 0x8b, 0x4f, 0xb6, 0x0a, -0xf9, 0xea, 0x3e, 0x3f, 0x21, 0x09, 0x65, 0x21, 0x22, 0xfe, 0x3d, 0x4e, 0x11, 0x5b, 0x9e, -0x5a, 0x59, 0x8b, 0xdd, 0xd8, 0xce, 0xd6, 0xd9, 0x59, 0xd2, 0x1e, 0xfd, 0xef, 0x0d, 0x1b, -0xd9, 0x61, 0x7f, 0xd7, 0x2d, 0xad, 0x62, 0x09, 0xe5, 0x22, 0x63, 0xea, 0xc7, 0x31, 0xd9, -0xa1, 0x38, 0x80, 0x5c, 0xa7, 0x32, 0x82, 0xec, 0x1b, 0xa2, 0x49, 0x5a, 0x06, 0xd2, 0x7c, -0xc9, 0x96, 0x57, 0xbb, 0x17, 0x75, 0xfc, 0x7a, 0x8f, 0x0d, 0x77, 0xb5, 0x7a, 0x8e, 0x3e, -0xf4, 0xba, 0x2f, 0x69, 0x13, 0x26, 0xd6, 0xd9, 0x21, 0x60, 0x2f, 0x21, 0x3e, 0x87, 0xee, -0xfd, 0x87, 0x16, 0x0d, 0xc8, 0x08, 0x00, 0x25, 0x71, 0xac, 0x2c, 0x03, 0x2a, 0x37, 0x2d, -0xb3, 0x34, 0x09, 0x91, 0xe3, 0x06, 0x2c, 0x38, 0x37, 0x95, 0x3b, 0x17, 0x7a, 0xaf, 0xac, -0x99, 0x55, 0xab, 0x41, 0x39, 0x5f, 0x8e, 0xa6, 0x43, 0x80, 0x03, 0x88, 0x6f, 0x7d, 0xbd, -0x5a, 0xb4, 0x2b, 0x32, 0x23, 0x5a, 0xa9, 0x31, 0x32, 0x39, 0x4c, 0x5b, 0xf4, 0x6b, 0xaf, -0x66, 0x6f, 0x3c, 0x8e, 0x2d, 0x82, 0x97, 0x9f, 0x4a, 0x01, 0xdc, 0x99, 0x98, 0x00, 0xec, -0x38, 0x7a, 0x79, 0x70, 0xa6, 0x85, 0xd6, 0x21, 0x63, 0x0d, 0x45, 0x9a, 0x2e, 0x5e, 0xa7, -0xb1, 0xea, 0x66, 0x6a, 0xbc, 0x62, 0x2d, 0x7b, 0x7d, 0x85, 0xea, 0x95, 0x2f, 0xc0, 0xe8, -0x6f, 0x35, 0xa0, 0x3a, 0x02, 0x25, 0xbc, 0xb2, 0x5f, 0x5c, 0x43, 0x96, 0xcc, 0x26, 0xd2, -0x16, 0xb4, 0x96, 0x73, 0xd7, 0x13, 0xc7, 0xae, 0x53, 0x15, 0x31, 0x89, 0x68, 0x66, 0x6d, -0x2c, 0x92, 0x1f, 0xcc, 0x5b, 0xa7, 0x8f, 0x5d, 0xbb, 0xc9, 0xdb, 0xe8, 0x3b, 0x9d, 0x61, -0x74, 0x8b, 0x05, 0xa1, 0x58, 0x52, 0x68, 0xee, 0x3d, 0x39, 0x79, 0xa0, 0x9b, 0xdd, 0xe1, -0x55, 0xc9, 0x60, 0xeb, 0xad, 0xb8, 0x5b, 0xc2, 0x5a, 0xb5, 0x2c, 0x18, 0x55, 0xa9, 0x50, -0xc3, 0xf6, 0x72, 0x5f, 0xcc, 0xe2, 0xf4, 0x55, 0xb5, 0xd6, 0xb5, 0x4a, 0x99, 0xa5, 0x28, -0x74, 0x97, 0x18, 0xe8, 0xc0, 0x84, 0x89, 0x50, 0x03, 0x86, 0x4d, 0x1a, 0xb7, 0x09, 0x90, -0xa2, 0x01, 0x04, 0xbb, 0x73, 0x62, 0xcb, 0x97, 0x22, 0x70, 0x5d, 0x52, 0x41, 0x8e, 0xd9, -0x90, 0x15, 0xaa, 0xab, 0x0a, 0x31, 0x65, 0xb4, 0xda, 0xd0, 0xee, 0x24, 0xc9, 0x41, 0x91, -0x1e, 0xbc, 0x46, 0x70, 0x40, 0x9d, 0xda, 0x0e, 0x2a, 0xe4, 0xb2, 0x4c, 0x9f, 0xf2, 0xfc, -0xf3, 0x84, 0x17, 0x44, 0x1e, 0xd7, 0xca, 0x23, 0x1f, 0x3f, 0x5a, 0x22, 0x3d, 0xaf, 0x9b, -0x2d, 0xfc, 0x41, 0xad, 0x26, 0xb4, 0x45, 0x67, 0x0b, 0x80, 0x0e, 0xf9, 0x61, 0x37, 0xec, -0x3b, 0xf4, 0x4b, 0x14, 0xdf, 0x5a, 0x0c, 0x3a, 0x50, 0x0b, 0x14, 0x0c, 0x72, 0xae, 0xc6, -0xc5, 0xec, 0x35, 0x53, 0x2d, 0x59, 0xed, 0x91, 0x74, 0xe2, 0xc4, 0xc8, 0xf2, 0x25, 0x6b, -0x97, 0x6f, 0xc9, 0x76, 0xce, 0xa9, 0xb1, 0x99, 0x8f, 0x5a, 0x92, 0x3b, 0xc4, 0x8d, 0x54, -0x50, 0x40, 0x72, 0xd6, 0x90, 0x83, 0xfc, 0xe5, 0x49, 0x8b, 0x17, 0xf5, 0xfd, 0x6b, 0x8d, -0x32, 0x02, 0xe9, 0x0a, 0xfe, 0xbf, 0x00, 0x6b, 0xa3, 0xad, 0x5f, 0x09, 0x4b, 0x97, 0x2b, -0x00, 0x58, 0x65, 0x2e, 0x07, 0x49, 0x0a, 0x3b, 0x6b, 0x2e, 0x50, 0x6c, 0x1d, 0xac, 0xb7, -0x6a, 0x26, 0xd8, 0x13, 0xa4, 0xca, 0x16, 0xae, 0xab, 0x93, 0xb9, 0x1c, 0x1c, 0xb4, 0x47, -0x6a, 0x38, 0x36, 0x17, 0x27, 0xc9, 0x7f, 0xc7, 0x64, 0xcb, 0x89, 0x58, 0xc5, 0x61, 0xc2, -0xc6, 0xea, 0x15, 0x0b, 0x34, 0x0c, 0x5d, 0x61, 0x76, 0x6e, 0x2b, 0x62, 0x40, 0x92, 0xa3, -0x6c, 0xef, 0xf4, 0xe4, 0xc3, 0xa1, 0xa8, 0xf5, 0x94, 0x79, 0x0d, 0xd1, 0x3d, 0xcb, 0x3d, -0x40, 0xb6, 0xd0, 0xf0, 0x10, 0x54, 0xd8, 0x47, 0x25, 0x51, 0xc5, 0x41, 0x79, 0x00, 0xe5, -0xa0, 0x72, 0xde, 0xbb, 0x3b, 0x62, 0x17, 0xf6, 0xbc, 0x5d, 0x00, 0x76, 0x2e, 0xa7, 0x3b, -0xb6, 0xf1, 0x98, 0x72, 0x59, 0x2a, 0x73, 0xb0, 0x21, 0xd6, 0x49, 0xe0, 0xc0, 0xd5, 0xeb, -0x02, 0x7d, 0x4b, 0x41, 0x28, 0x70, 0x2d, 0xec, 0x2b, 0x71, 0x1f, 0x0b, 0xb9, 0x71, 0x63, -0x06, 0xe6, 0xbc, 0x60, 0xbb, 0xf4, 0x9a, 0x62, 0x43, 0x09, 0x18, 0x4e, 0x93, 0x06, 0x4d, -0x76, 0xfa, 0x7f, 0xbd, 0x02, 0xe4, 0x50, 0x91, 0x12, 0xe5, 0x86, 0xff, 0x64, 0x1e, 0xaf, -0x7e, 0xb3, 0xb2, 0xde, 0x89, 0xc1, 0xa2, 0x6f, 0x40, 0x7b, 0x41, 0x51, 0x63, 0xea, 0x25, -0xd1, 0x97, 0x57, 0x92, 0xa8, 0x45, 0xa1, 0xa5, 0x45, 0x21, 0x43, 0x7f, 0x83, 0x15, 0x29, -0xd0, 0x30, 0x53, 0x32, 0xb4, 0x5a, 0x17, 0x96, 0xbc, 0xc2, 0x68, 0xa9, 0xb7, 0xaf, 0xac, -0xdf, 0xf1, 0xe3, 0x89, 0xba, 0x24, 0x79, 0x54, 0xc6, 0x14, 0x07, 0x1c, 0x1e, 0x0d, 0x3a, -0x6b, 0xe5, 0x3d, 0x4e, 0x10, 0x60, 0x96, 0xec, 0x6c, 0xda, 0x47, 0xae, 0x03, 0x25, 0x39, -0x1d, 0x74, 0xc8, 0xac, 0x6a, 0xf2, 0x6b, 0x05, 0x2a, 0x9a, 0xe7, 0xe8, 0x92, 0xd6, 0xc2, -0x6d, 0xfa, 0xe8, 0xa7, 0x9d, 0x5f, 0x48, 0xc9, 0x75, 0xf1, 0x66, 0x6a, 0xdb, 0x5d, 0x9a, -0xcd, 0x27, 0xdd, 0xb9, 0x24, 0x04, 0x9c, 0x18, 0xc2, 0x6d, 0x0c, 0x91, 0x34, 0x48, 0x42, -0x6f, 0xe9, 0x59, 0x70, 0xc4, 0x7e, 0x81, 0x0e, 0x32, 0x0a, 0x93, 0x48, 0xb0, 0xc0, 0x15, -0x9e, 0x05, 0xac, 0x36, 0x16, 0xcb, 0x59, 0x65, 0xa0, 0x83, 0xdf, 0x3e, 0xda, 0xfb, 0x1d, -0x1a, 0xdb, 0x65, 0xec, 0x9a, 0xc6, 0xc3, 0x8e, 0x3c, 0x45, 0xfd, 0xc8, 0xf5, 0x1c, 0x6a, -0x67, 0x0d, 0x8f, 0x99, 0x7d, 0x30, 0x21, 0x8c, 0xea, 0x22, 0x87, 0x65, 0xc9, 0xb2, 0x4c, -0xe4, 0x1b, 0x46, 0xba, 0x54, 0xbd, 0x7c, 0xca, 0xd5, 0x8f, 0x5b, 0xa5, 0x01, 0x04, 0xd8, -0x0a, 0x16, 0xbf, 0xb9, 0x50, 0x2e, 0x37, 0x2f, 0x64, 0xf3, 0x70, 0x11, 0x02, 0x05, 0x31, -0x9b, 0xa0, 0xb2, 0x01, 0x5e, 0x4f, 0x19, 0xc9, 0xd4, 0xea, 0xa1, 0x79, 0x54, 0x53, 0xa7, -0xde, 0x2f, 0x49, 0xd3, 0xd1, 0x63, 0xb5, 0x03, 0x15, 0x4e, 0xbf, 0x04, 0xb3, 0x26, 0x8b, -0x20, 0xb2, 0x45, 0xcf, 0xcd, 0x5b, 0x82, 0x32, 0x88, 0x61, 0xa7, 0xa8, 0xb2, 0xa0, 0x72, -0x96, 0xc0, 0xdb, 0x2b, 0xe2, 0x5f, 0xba, 0xe3, 0xf5, 0x8a, 0xde, 0xf1, 0x18, 0x01, 0x16, -0x40, 0xd9, 0x86, 0x12, 0x09, 0x18, 0x1b, 0x05, 0x0c, 0xb1, 0xb5, 0x47, 0xe2, 0x43, 0xab, -0xfe, 0x92, 0x63, 0x7e, 0x95, 0x2b, 0xf0, 0xaf, 0xe1, 0xf1, 0xc3, 0x4a, 0xff, 0x2b, 0x09, -0xbb, 0x4a, 0x0e, 0x9a, 0xc4, 0xd8, 0x64, 0x7d, 0x83, 0xa0, 0x4f, 0x44, 0xdb, 0xc4, 0xa8, -0x58, 0xef, 0xfc, 0x9e, 0x77, 0xf9, 0xa6, 0x8f, 0x58, 0x8b, 0x12, 0xf4, 0xe9, 0x81, 0x12, -0x47, 0x51, 0x41, 0x83, 0xef, 0xf6, 0x73, 0xbc, 0x8e, 0x0f, 0x4c, 0x8f, 0x4e, 0x69, 0x90, -0x77, 0x29, 0x5d, 0x92, 0xb0, 0x6d, 0x06, 0x67, 0x29, 0x60, 0xbd, 0x4b, 0x17, 0xc8, 0x89, -0x69, 0x28, 0x29, 0xd6, 0x78, 0xcb, 0x11, 0x4c, 0xba, 0x8b, 0x68, 0xae, 0x7e, 0x9f, 0xef, -0x95, 0xda, 0xe2, 0x9e, 0x7f, 0xe9, 0x55, 0xe5, 0xe1, 0xe2, 0xb7, 0xe6, 0x5f, 0xbb, 0x2c, -0xa2, 0xe6, 0xee, 0xc7, 0x0a, 0x60, 0xa9, 0xd1, 0x80, 0xdf, 0x7f, 0xd6, 0x97, 0xab, 0x1d, -0x22, 0x25, 0xfc, 0x79, 0x23, 0xe0, 0xae, 0xc5, 0xef, 0x16, 0xa4, 0xa1, 0x0f, 0x92, 0xa9, -0xc7, 0xe3, 0x3a, 0x55, 0xdf, 0x62, 0x49, 0xd9, 0xf5, 0x84, 0x49, 0xc5, 0x90, 0x34, 0xd3, -0xe1, 0xac, 0x99, 0x21, 0xb1, 0x02, 0x76, 0x4a, 0xfa, 0xd4, 0xbb, 0xa4, 0x9c, 0xa2, 0xe2, -0xcb, 0x3d, 0x3b, 0x14, 0x75, 0x60, 0xd1, 0x02, 0xb4, 0xa3, 0xb4, 0x72, 0x06, 0xf9, 0x19, -0x9c, 0xe2, 0xe4, 0xa7, 0x0f, 0x25, 0x88, 0xc6, 0x86, 0xd6, 0x8c, 0x74, 0x4e, 0x6e, 0xfc, -0xa8, 0x48, 0x9e, 0xa7, 0x9d, 0x1a, 0x4b, 0x37, 0x09, 0xc8, 0xb0, 0x10, 0xbe, 0x6f, 0xfe, -0xa3, 0xc4, 0x7a, 0xb5, 0x3d, 0xe8, 0x30, 0xf1, 0x0d, 0xa0, 0xb2, 0x44, 0xfc, 0x9b, 0x8c, -0xf8, 0x61, 0xed, 0x81, 0xd1, 0x62, 0x11, 0xb4, 0xe1, 0xd5, 0x39, 0x52, 0x89, 0xd3, 0xa8, -0x49, 0x31, 0xdf, 0xb6, 0xf9, 0x91, 0xf4, 0x1c, 0x9d, 0x09, 0x95, 0x40, 0x56, 0xe7, 0xe3, -0xcd, 0x5c, 0x92, 0xc1, 0x1d, 0x6b, 0xe9, 0x78, 0x6f, 0x8e, 0x94, 0x42, 0x66, 0xa2, 0xaa, -0xd3, 0xc8, 0x2e, 0xe3, 0xf6, 0x07, 0x72, 0x0b, 0x6b, 0x1e, 0x7b, 0xb9, 0x7c, 0xe0, 0xa0, -0xbc, 0xd9, 0x25, 0xdf, 0x87, 0xa8, 0x5f, 0x9c, 0xcc, 0xf0, 0xdb, 0x42, 0x8e, 0x07, 0x31, -0x13, 0x01, 0x66, 0x32, 0xd1, 0xb8, 0xd6, 0xe3, 0x5e, 0x12, 0x76, 0x61, 0xd3, 0x38, 0x89, -0xe6, 0x17, 0x6f, 0xa5, 0xf2, 0x71, 0x0e, 0xa5, 0xe2, 0x88, 0x30, 0xbb, 0xbe, 0x8a, 0xea, -0xc7, 0x62, 0xc4, 0xcf, 0xb8, 0xcd, 0x33, 0x8d, 0x3d, 0x3e, 0xb5, 0x60, 0x3a, 0x03, 0x92, -0xe4, 0x6d, 0x1b, 0xe0, 0xb4, 0x84, 0x08, 0x55, 0x88, 0xa7, 0x3a, 0xb9, 0x3d, 0x43, 0xc3, -0xc0, 0xfa, 0x07, 0x6a, 0xca, 0x94, 0xad, 0x99, 0x55, 0xf1, 0xf1, 0xc0, 0x23, 0x87, 0x1d, -0x3d, 0x1c, 0xd1, 0x66, 0xa0, 0x57, 0x10, 0x52, 0xa2, 0x7f, 0xbe, 0xf9, 0x88, 0xb6, 0x02, -0xbf, 0x08, 0x23, 0xa9, 0x0c, 0x63, 0x17, 0x2a, 0xae, 0xf5, 0xf7, 0xb7, 0x21, 0x83, 0x92, -0x31, 0x23, 0x0d, 0x20, 0xc3, 0xc2, 0x05, 0x21, 0x62, 0x8e, 0x45, 0xe8, 0x14, 0xc1, 0xda, -0x75, 0xb8, 0xf8, 0x92, 0x01, 0xd0, 0x5d, 0x18, 0x9f, 0x99, 0x11, 0x19, 0xf5, 0x35, 0xe8, -0x7f, 0x20, 0x88, 0x8c, 0x05, 0x75, 0xf5, 0xd7, 0x40, 0x17, 0xbb, 0x1e, 0x36, 0x52, 0xd9, -0xa4, 0x9c, 0xc2, 0x9d, 0x42, 0x81, 0xd8, 0xc7, 0x8a, 0xe7, 0x4c, 0x81, 0xe0, 0xb7, 0x57, -0xed, 0x48, 0x8b, 0xf0, 0x97, 0x15, 0x61, 0xd9, 0x2c, 0x7c, 0x45, 0xaf, 0xc2, 0xcd, 0xfc, -0xaa, 0x13, 0xad, 0x59, 0xcc, 0xb2, 0xb2, 0x6e, 0xdd, 0x63, 0x9c, 0x32, 0x0f, 0xec, 0x83, -0xbe, 0x78, 0xac, 0x91, 0x44, 0x1a, 0x1f, 0xea, 0xfd, 0x5d, 0x8e, 0xb4, 0xc0, 0x84, 0xd4, -0xac, 0xb4, 0x87, 0x5f, 0xac, 0xef, 0xdf, 0xcd, 0x12, 0x56, 0xc8, 0xcd, 0xfe, 0xc5, 0xda, -0xd3, 0xc1, 0x69, 0xf3, 0x61, 0x05, 0xea, 0x25, 0xe2, 0x12, 0x05, 0x8f, 0x39, 0x08, 0x08, -0x7c, 0x37, 0xb6, 0x7e, 0x5b, 0xd8, 0xb1, 0x0e, 0xf2, 0xdb, 0x4b, 0xf1, 0xad, 0x90, 0x01, -0x57, 0xcd, 0xa0, 0xb4, 0x52, 0xe8, 0xf3, 0xd7, 0x8a, 0xbd, 0x4f, 0x9f, 0x21, 0x40, 0x72, -0xa4, 0xfc, 0x0b, 0x01, 0x2b, 0x2f, 0xb6, 0x4c, 0x95, 0x2d, 0x35, 0x33, 0x41, 0x6b, 0xa0, -0x93, 0xe7, 0x2c, 0xf2, 0xd3, 0x72, 0x8b, 0xf4, 0x4f, 0x15, 0x3c, 0xaf, 0xd6, 0x12, 0xde, -0x3f, 0x83, 0x3f, 0xff, 0xf8, 0x7f, 0xf6, 0xcc, 0xa6, 0x7f, 0xc9, 0x9a, 0x6e, 0x1f, 0xc1, -0x0c, 0xfb, 0xee, 0x9c, 0xe7, 0xaf, 0xc9, 0x26, 0x54, 0xef, 0xb0, 0x39, 0xef, 0xb2, 0xe9, -0x23, 0xc4, 0xef, 0xd1, 0xa1, 0xa4, 0x25, 0x24, 0x6f, 0x8d, 0x6a, 0xe5, 0x8a, 0x32, 0x3a, -0xaf, 0xfc, 0xda, 0xce, 0x18, 0x25, 0x42, 0x07, 0x4d, 0x45, 0x8b, 0xdf, 0x85, 0xcf, 0x55, -0xb2, 0x24, 0xfe, 0x9c, 0x69, 0x74, 0xa7, 0x6e, 0xa0, 0xce, 0xc0, 0x39, 0xf4, 0x86, 0xc6, -0x8d, 0xae, 0xb9, 0x48, 0x64, 0x13, 0x0b, 0x40, 0x81, 0xa2, 0xc9, 0xa8, 0x85, 0x51, 0xee, -0x9f, 0xcf, 0xa2, 0x8c, 0x19, 0x52, 0x48, 0xe2, 0xc1, 0xa8, 0x58, 0xb4, 0x10, 0x24, 0x06, -0x58, 0x51, 0xfc, 0xb9, 0x12, 0xec, 0xfd, 0x73, 0xb4, 0x6d, 0x84, 0xfa, 0x06, 0x8b, 0x05, -0x0b, 0x2d, 0xd6, 0xd6, 0x1f, 0x29, 0x82, 0x9f, 0x19, 0x12, 0x1e, 0xb2, 0x04, 0x8f, 0x7f, -0x4d, 0xbd, 0x30, 0x2e, 0xe3, 0xe0, 0x88, 0x29, 0xc5, 0x93, 0xd6, 0x6c, 0x1f, 0x29, 0x45, -0x91, 0xa7, 0x58, 0xcd, 0x05, 0x17, 0xd6, 0x6d, 0xb3, 0xca, 0x66, 0xcc, 0x3c, 0x4a, 0x74, -0xfd, 0x08, 0x10, 0xa6, 0x99, 0x92, 0x10, 0xd2, 0x85, 0xab, 0x6e, 0x1d, 0x0e, 0x8b, 0x26, -0x46, 0xd1, 0x6c, 0x84, 0xc0, 0x26, 0x43, 0x59, 0x68, 0xf0, 0x13, 0x1d, 0xfb, 0xe3, 0xd1, -0xd2, 0xb4, 0x71, 0x9e, 0xf2, 0x59, 0x6a, 0x33, 0x29, 0x79, 0xd2, 0xd7, 0x26, 0xf1, 0xae, -0x78, 0x9e, 0x1f, 0x0f, 0x3f, 0xe3, 0xe8, 0xd0, 0x27, 0x78, 0x77, 0xf6, 0xac, 0x9c, 0x56, -0x39, 0x73, 0x8a, 0x6b, 0x2f, 0x34, 0x78, 0xb1, 0x11, 0xdb, 0xa4, 0x5c, 0x80, 0x01, 0x71, -0x6a, 0xc2, 0xd1, 0x2e, 0x5e, 0x76, 0x28, 0x70, 0x93, 0xae, 0x3e, 0x78, 0xb0, 0x1f, 0x0f, -0xda, 0xbf, 0xfb, 0x8a, 0x67, 0x65, 0x4f, 0x91, 0xed, 0x49, 0x75, 0x78, 0x62, 0xa2, 0x93, -0xb5, 0x70, 0x7f, 0x4d, 0x08, 0x4e, 0x79, 0x61, 0xa8, 0x5f, 0x7f, 0xb4, 0x65, 0x9f, 0x91, -0x54, 0x3a, 0xe8, 0x50, 0x33, 0xd3, 0xd5, 0x8a, 0x7c, 0xf3, 0x9e, 0x8b, 0x77, 0x7b, 0xc6, -0xc6, 0x0c, 0x45, 0x95, 0x1f, 0xb0, 0xd0, 0x0b, 0x27, 0x4a, 0xfd, 0xc7, 0xf7, 0x0d, 0x5a, -0x43, 0xc9, 0x7d, 0x35, 0xb0, 0x7d, 0xc4, 0x9c, 0x57, 0x1e, 0x76, 0x0d, 0xf1, 0x95, 0x30, -0x71, 0xcc, 0xb3, 0x66, 0x3b, 0x63, 0xa8, 0x6c, 0xa3, 0x43, 0xa0, 0x24, 0xcc, 0xb7, 0x53, -0xfe, 0xfe, 0xbc, 0x6e, 0x60, 0x89, 0xaf, 0x16, 0x21, 0xc8, 0x91, 0x6a, 0x89, 0xce, 0x80, -0x2c, 0xf1, 0x59, 0xce, 0xc3, 0x60, 0x61, 0x3b, 0x0b, 0x19, 0xfe, 0x99, 0xac, 0x65, 0x90, -0x15, 0x12, 0x05, 0xac, 0x7e, 0xff, 0x98, 0x7b, 0x66, 0x64, 0x0e, 0x4b, 0x5b, 0xaa, 0x8d, -0x3b, 0xd2, 0x56, 0xcf, 0x99, 0x39, 0xee, 0x22, 0x81, 0xd0, 0x60, 0x06, 0x66, 0x20, 0x81, -0x48, 0x3c, 0x6f, 0x3a, 0x77, 0xba, 0xcb, 0x52, 0xac, 0x79, 0x56, 0xaf, 0xe9, 0x16, 0x17, -0x0a, 0xa3, 0x82, 0x08, 0xd5, 0x3c, 0x97, 0xcb, 0x09, 0xff, 0x7f, 0xf9, 0x4f, 0x60, 0x05, -0xb9, 0x53, 0x26, 0xaa, 0xb8, 0x50, 0xaa, 0x19, 0x25, 0xae, 0x5f, 0xea, 0x8a, 0xd0, 0x89, -0x12, 0x80, 0x43, 0x50, 0x24, 0x12, 0x21, 0x14, 0xcd, 0x77, 0xeb, 0x21, 0xcc, 0x5c, 0x09, -0x64, 0xf3, 0xc7, 0xcb, 0xc5, 0x4b, 0xc3, 0xe7, 0xed, 0xe7, 0x86, 0x2c, 0x1d, 0x8e, 0x19, -0x52, 0x9b, 0x2a, 0x0c, 0x18, 0x72, 0x0b, 0x1e, 0x1b, 0xb0, 0x0f, 0x42, 0x99, 0x04, 0xae, -0xd5, 0xb7, 0x89, 0x1a, 0xb9, 0x4f, 0xd6, 0xaf, 0xf3, 0xc9, 0x93, 0x6f, 0xb0, 0x60, 0x83, -0x6e, 0x6b, 0xd1, 0x5f, 0x3f, 0x1a, 0x83, 0x1e, 0x24, 0x00, 0x87, 0xb5, 0x3e, 0xdb, 0xf9, -0x4d, 0xa7, 0x16, 0x2e, 0x19, 0x5b, 0x8f, 0x1b, 0x0d, 0x47, 0x72, 0x42, 0xe9, 0x0a, 0x11, -0x08, 0x2d, 0x88, 0x1c, 0xbc, 0xc7, 0xb4, 0xbe, 0x29, 0x4d, 0x03, 0x5e, 0xec, 0xdf, 0xf3, -0x3d, 0x2f, 0xe8, 0x1d, 0x9a, 0xd2, 0xd1, 0xab, 0x41, 0x3d, 0x87, 0x11, 0x45, 0xb0, 0x0d, -0x46, 0xf5, 0xe8, 0x95, 0x62, 0x1c, 0x68, 0xf7, 0xa6, 0x5b, 0x39, 0x4e, 0xbf, 0x47, 0xba, -0x5d, 0x7f, 0xb7, 0x6a, 0xf4, 0xba, 0x1d, 0x69, 0xf6, 0xa4, 0xe7, 0xe4, 0x6b, 0x3b, 0x0d, -0x23, 0x16, 0x4a, 0xb2, 0x68, 0xf0, 0xb2, 0x0d, 0x09, 0x17, 0x6a, 0x63, 0x8c, 0x83, 0xd3, -0xbd, 0x05, 0xc9, 0xf6, 0xf0, 0xa1, 0x31, 0x0b, 0x2c, 0xac, 0x83, 0xac, 0x80, 0x34, 0x32, -0xb4, 0xec, 0xd0, 0xbc, 0x54, 0x82, 0x9a, 0xc8, 0xf6, 0xa0, 0x7d, 0xc6, 0x79, 0x73, 0xf4, -0x20, 0x99, 0xf3, 0xb4, 0x01, 0xde, 0x91, 0x27, 0xf2, 0xc0, 0xdc, 0x81, 0x00, 0x4e, 0x7e, -0x07, 0x99, 0xc8, 0x3a, 0x51, 0xbc, 0x38, 0xd6, 0x8a, 0xa2, 0xde, 0x3b, 0x6a, 0x8c, 0x1a, -0x7c, 0x81, 0x0f, 0x3a, 0x1f, 0xe4, 0x05, 0x7b, 0x20, 0x35, 0x6b, 0xa5, 0x6a, 0xa7, 0xe7, -0xbc, 0x9c, 0x20, 0xec, 0x00, 0x15, 0xe2, 0x51, 0xaf, 0x77, 0xeb, 0x29, 0x3c, 0x7d, 0x2e, -0x00, 0x5c, 0x81, 0x21, 0xfa, 0x35, 0x6f, 0x40, 0xef, 0xfb, 0xd1, 0x3f, 0xcc, 0x9d, 0x55, -0x53, 0xfb, 0x5a, 0xa5, 0x56, 0x89, 0x0b, 0x52, 0xeb, 0x57, 0x73, 0x4f, 0x1b, 0x67, 0x24, -0xcb, 0xb8, 0x6a, 0x10, 0x69, 0xd6, 0xfb, 0x52, 0x40, 0xff, 0x20, 0xa5, 0xf3, 0x72, 0xe1, -0x3d, 0xa4, 0x8c, 0x81, 0x66, 0x16, 0x0d, 0x5d, 0xad, 0xa8, 0x50, 0x25, 0x78, 0x31, 0x77, -0x0c, 0x57, 0xe4, 0xe9, 0x15, 0x2d, 0xdb, 0x07, 0x87, 0xc8, 0xb0, 0x43, 0xde, 0xfc, 0xfe, -0xa9, 0xeb, 0xf5, 0xb0, 0xd3, 0x7b, 0xe9, 0x1f, 0x6e, 0xca, 0xe4, 0x03, 0x95, 0xc5, 0xd1, -0x59, 0x72, 0x63, 0xf0, 0x86, 0x54, 0xe8, 0x16, 0x62, 0x0b, 0x35, 0x29, 0xc2, 0x68, 0xd0, -0xd6, 0x3e, 0x90, 0x60, 0x57, 0x1d, 0xc9, 0xed, 0x3f, 0xed, 0xb0, 0x2f, 0x7e, 0x97, 0x02, -0x51, 0xec, 0xee, 0x6f, 0x82, 0x74, 0x76, 0x7f, 0xfb, 0xd6, 0xc4, 0xc3, 0xdd, 0xe8, 0xb1, -0x60, 0xfc, 0xc6, 0xb9, 0x0d, 0x6a, 0x33, 0x78, 0xc6, 0xc1, 0xbf, 0x86, 0x2c, 0x50, 0xcc, -0x9a, 0x70, 0x8e, 0x7b, 0xec, 0xab, 0x95, 0xac, 0x53, 0xa0, 0x4b, 0x07, 0x88, 0xaf, 0x42, -0xed, 0x19, 0x8d, 0xf6, 0x32, 0x17, 0x48, 0x47, 0x1d, 0x41, 0x6f, 0xfe, 0x2e, 0xa7, 0x8f, -0x4b, 0xa0, 0x51, 0xf3, 0xbf, 0x02, 0x0a, 0x48, 0x58, 0xf7, 0xa1, 0x6d, 0xea, 0xa5, 0x13, -0x5a, 0x5b, 0xea, 0x0c, 0x9e, 0x52, 0x4f, 0x9e, 0xb9, 0x71, 0x7f, 0x23, 0x83, 0xda, 0x1b, -0x86, 0x9a, 0x41, 0x29, 0xda, 0x70, 0xe7, 0x64, 0xa1, 0x7b, 0xd5, 0x0a, 0x22, 0x0d, 0x5c, -0x40, 0xc4, 0x81, 0x07, 0x25, 0x35, 0x4a, 0x1c, 0x10, 0xdb, 0x45, 0x0a, 0xff, 0x36, 0xd4, -0xe0, 0xeb, 0x5f, 0x68, 0xd6, 0x67, 0xc6, 0xd0, 0x8b, 0x76, 0x1a, 0x7d, 0x59, 0x42, 0xa1, -0xcb, 0x96, 0x4d, 0x84, 0x09, 0x9a, 0x3d, 0xe0, 0x52, 0x85, 0x6e, 0x48, 0x90, 0x85, 0x2a, -0x63, 0xb2, 0x69, 0xd2, 0x00, 0x43, 0x31, 0x37, 0xb3, 0x52, 0xaf, 0x62, 0xfa, 0xc1, 0xe0, -0x03, 0xfb, 0x62, 0xaa, 0x88, 0xc9, 0xb2, 0x2c, 0xd5, 0xa8, 0xf5, 0xa5, 0x4c, 0x12, 0x59, -0x4e, 0x06, 0x5e, 0x9b, 0x15, 0x66, 0x11, 0xb2, 0x27, 0x92, 0xdc, 0x98, 0x59, 0xde, 0xdf, -0xfa, 0x9a, 0x32, 0x2e, 0xc0, 0x5d, 0x3c, 0x33, 0x41, 0x6d, 0xaf, 0xb2, 0x25, 0x23, 0x14, -0xa5, 0x7b, 0xc7, 0x9b, 0x68, 0xf3, 0xda, 0xeb, 0xe3, 0xa9, 0xe2, 0x6f, 0x0e, 0x1d, 0x1c, -0xba, 0x55, 0xb6, 0x34, 0x6a, 0x93, 0x1f, 0x1f, 0xb8, 0x34, 0xc8, 0x84, 0x08, 0xb1, 0x6b, -0x6a, 0x28, 0x74, 0x74, 0xe5, 0xeb, 0x75, 0xe9, 0x7c, 0xd8, 0xba, 0xd8, 0x42, 0xa5, 0xee, -0x1f, 0x80, 0xd9, 0x96, 0xb2, 0x2e, 0xe7, 0xbf, 0xba, 0xeb, 0xd1, 0x69, 0xbb, 0x8f, 0xfd, -0x5a, 0x63, 0x8f, 0x39, 0x7f, 0xdf, 0x1d, 0x37, 0xd2, 0x18, 0x35, 0x9d, 0xb6, 0xcc, 0xe4, -0x27, 0x81, 0x89, 0x38, 0x38, 0x68, 0x33, 0xe7, 0x78, 0xd8, 0x76, 0xf5, 0xee, 0xd0, 0x4a, -0x07, 0x69, 0x19, 0x7a, 0xad, 0x18, 0xb1, 0x94, 0x61, 0x45, 0x53, 0xa2, 0x48, 0xda, 0x96, -0x4a, 0xf9, 0xee, 0x94, 0x2a, 0x1f, 0x6e, 0x18, 0x3c, 0x92, 0x46, 0xd1, 0x1a, 0x28, 0x18, -0x32, 0x1f, 0x3a, 0x45, 0xbe, 0x04, 0x35, 0x92, 0xe5, 0xa3, 0xcb, 0xb5, 0x2e, 0x32, 0x43, -0xac, 0x65, 0x17, 0x89, 0x99, 0x15, 0x03, 0x9e, 0xb1, 0x23, 0x2f, 0xed, 0x76, 0x4d, 0xd8, -0xac, 0x21, 0x40, 0xc4, 0x99, 0x4e, 0x65, 0x71, 0x2c, 0xb3, 0x45, 0xab, 0xfb, 0xe7, 0x72, -0x39, 0x56, 0x30, 0x6d, 0xfb, 0x74, 0xeb, 0x99, 0xf3, 0xcd, 0x57, 0x5c, 0x78, 0x75, 0xe9, -0x8d, 0xc3, 0xa2, 0xfb, 0x5d, 0xe0, 0x90, 0xc5, 0x55, 0xad, 0x91, 0x53, 0x4e, 0x9e, 0xbd, -0x8c, 0x49, 0xa4, 0xa4, 0x69, 0x10, 0x0c, 0xc5, 0x76, 0xe9, 0x25, 0x86, 0x8d, 0x66, 0x23, -0xa8, 0xdb, 0x5c, 0xe8, 0xd9, 0x30, 0xe1, 0x15, 0x7b, 0xc0, 0x99, 0x0f, 0x03, 0xec, 0xaa, -0x12, 0xef, 0xce, 0xd4, 0xea, 0x55, 0x5c, 0x08, 0x86, 0xf4, 0xf4, 0xb0, 0x83, 0x42, 0x95, -0x37, 0xb6, 0x38, 0xe0, 0x2b, 0x54, 0x89, 0xbd, 0x4e, 0x20, 0x9d, 0x3f, 0xc3, 0x4b, 0xb7, -0xec, 0xfa, 0x5a, 0x14, 0x03, 0xcb, 0x64, 0xc8, 0x34, 0x4a, 0x4b, 0x6e, 0xf8, 0x6e, 0x56, -0xf6, 0xdd, 0x5f, 0xa1, 0x24, 0xe2, 0xd4, 0xd0, 0x82, 0x64, 0x1f, 0x8e, 0x9b, 0xfa, 0xb4, -0xcb, 0xdb, 0x0a, 0xe8, 0x15, 0xfc, 0x15, 0xab, 0x4b, 0x18, 0xbf, 0xd4, 0x42, 0x14, 0x48, -0x82, 0x85, 0xdd, 0xeb, 0x49, 0x1b, 0x0b, 0x0b, 0x05, 0xe9, 0xb4, 0xa1, 0x33, 0x0a, 0x5d, -0x0e, 0x6c, 0x4b, 0xc0, 0xd6, 0x6c, 0x7c, 0xfb, 0x69, 0x0b, 0x53, 0x19, 0xe4, 0xf3, 0x35, -0xfc, 0xbe, 0xa1, 0x34, 0x02, 0x09, 0x4f, 0x74, 0x86, 0x92, 0xcd, 0x5d, 0x1a, 0xc1, 0x27, -0x0c, 0xf2, 0xc5, 0xcf, 0xdd, 0x23, 0x93, 0x02, 0xbd, 0x41, 0x5e, 0x42, 0xf0, 0xa0, 0x9d, -0x0c, 0x72, 0xc8, 0xec, 0x32, 0x0a, 0x8a, 0xfd, 0x3d, 0x5a, 0x41, 0x27, 0x0c, 0x88, 0x59, -0xad, 0x94, 0x2e, 0xef, 0x5d, 0x8f, 0xc7, 0xdf, 0x66, 0xe4, 0xdd, 0x56, 0x6c, 0x7b, 0xca, -0x55, 0x81, 0xae, 0xae, 0x5c, 0x1b, 0x1a, 0xab, 0xae, 0x99, 0x8d, 0xcc, 0x42, 0x97, 0x59, -0xf4, 0x14, 0x3f, 0x75, 0xc6, 0xd1, 0x88, 0xba, 0xaa, 0x84, 0x4a, 0xd0, 0x34, 0x08, 0x3b, -0x7d, 0xdb, 0x15, 0x06, 0xb0, 0x5c, 0xbd, 0x40, 0xf5, 0xa8, 0xec, 0xae, 0x36, 0x40, 0xdd, -0x90, 0x1c, 0x3e, 0x0d, 0x7e, 0x73, 0xc7, 0xc2, 0xc5, 0x6a, 0xff, 0x52, 0x05, 0x7f, 0xbe, -0xd0, 0x92, 0xfd, 0xb3, 0x6f, 0xff, 0x5d, 0xb7, 0x97, 0x64, 0x73, 0x7b, 0xca, 0xd1, 0x98, -0x24, 0x6b, 0x0b, 0x01, 0x68, 0xdd, 0x27, 0x85, 0x85, 0xb5, 0x83, 0xc1, 0xe0, 0x50, 0x64, -0xc7, 0xaf, 0xf1, 0xc6, 0x4d, 0xb1, 0xef, 0xc9, 0xb4, 0x0a, 0x6d, 0x65, 0xf3, 0x47, 0xcc, -0xa3, 0x02, 0x21, 0x0c, 0xbe, 0x22, 0x29, 0x05, 0xcf, 0x5f, 0xe8, 0x94, 0x6c, 0xe5, 0xdc, -0xc4, 0xdf, 0xbe, 0x3e, 0xa8, 0xb4, 0x18, 0xb0, 0x99, 0xb8, 0x6f, 0xff, 0x5d, 0xb9, 0xfd, -0x3b, 0x5d, 0x16, 0xbf, 0x3e, 0xd8, 0xb3, 0xd8, 0x08, 0x34, 0xf6, 0x47, 0x35, 0x5b, 0x72, -0x1a, 0x33, 0xad, 0x52, 0x5d, 0xb8, 0xd0, 0x77, 0xc6, 0xab, 0xba, 0x55, 0x09, 0x5f, 0x02, -0xf8, 0xd4, 0x5f, 0x53, 0x06, 0x91, 0xcd, 0x74, 0x42, 0xae, 0x54, 0x91, 0x81, 0x62, 0x13, -0x6f, 0xd8, 0xa9, 0x77, 0xc3, 0x6c, 0xcb, 0xf1, 0x29, 0x5a, 0xcc, 0xda, 0x35, 0xbd, 0x52, -0x23, 0xbe, 0x59, 0xeb, 0x12, 0x6d, 0xb7, 0x53, 0xee, 0xfc, 0xb4, 0x1b, 0x13, 0x5e, 0xba, -0x16, 0x7c, 0xc5, 0xf3, 0xe3, 0x6d, 0x07, 0x78, 0xf5, 0x2b, 0x21, 0x05, 0x88, 0x4c, 0xc0, -0xa1, 0xe3, 0x36, 0x10, 0xf8, 0x1b, 0xd8, 0x17, 0xfb, 0x6a, 0x4e, 0xd8, 0xb3, 0x47, 0x2d, -0x99, 0xbd, 0xbb, 0x5d, 0x37, 0x7d, 0xba, 0xf1, 0xe1, 0x7c, 0xc0, 0xc5, 0x54, 0x62, 0x7f, -0xcf, 0x5a, 0x4a, 0x93, 0xcc, 0xf1, 0x1b, 0x34, 0xc8, 0xa6, 0x05, 0x4c, 0x55, 0x8b, 0x54, -0x84, 0xd5, 0x77, 0xeb, 0xc0, 0x6d, 0x3a, 0x29, 0xbd, 0x75, 0x61, 0x09, 0x9a, 0x2c, 0xbb, -0xf7, 0x18, 0x79, 0x34, 0x90, 0x24, 0xa5, 0x81, 0x70, 0x87, 0xc5, 0x02, 0x7c, 0xba, 0xd4, -0x5e, 0x14, 0x8e, 0xe4, 0xed, 0xa2, 0x61, 0x6a, 0xb9, 0x6e, 0xb5, 0x4a, 0xb9, 0x01, 0x46, -0xf4, 0xcf, 0xbc, 0x09, 0x2f, 0x27, 0x4b, 0xbd, 0x86, 0x7a, 0x10, 0xe1, 0xd4, 0xc8, 0xd9, -0x20, 0x8d, 0x8a, 0x63, 0x00, 0x63, 0x44, 0xeb, 0x54, 0x0b, 0x75, 0x49, 0x10, 0xa2, 0xa7, -0xad, 0xb9, 0xd1, 0x01, 0x80, 0x63, 0x25, 0xc8, 0x12, 0xa6, 0xce, 0x1e, 0xbe, 0xfe, 0x7e, -0x5f, 0x3c, 0xdb, 0x34, 0xea, 0x37, 0xec, 0x3b, 0xd5, 0x28, 0xd2, 0x07, 0x8c, 0x9a, 0xb6, -0xee, 0x5e, 0x3e, 0xdf, 0x1d, 0x99, 0xb0, 0xe2, 0x46, 0xef, 0x5c, 0x1b, 0xb4, 0xea, 0x56, -0x2e, 0xde, 0x1f, 0x9d, 0xb8, 0xd3, 0x24, 0xab, 0xd4, 0x2a, 0xd6, 0x2e, 0xde, 0x1f, 0x9d, -0xb8, 0xf2, 0x66, 0x2f, 0xbd, 0xf8, 0x72, 0x66, 0x4e, 0x1e, 0x9f, 0x9d, 0xb8, 0xf2, 0x47, -0x0c, 0x9a, 0xb6, 0xee, 0x3f, 0xfc, 0x7a, 0x57, 0x0d, 0x79, 0x70, 0x62, 0x27, 0xad, 0xb9, -0xd1, 0x01, 0x61, 0x40, 0x02, 0x67, 0x2d, 0xd8, 0x32, 0xe6, 0x2f, 0xdc, 0x3a, 0xd7, 0x2c, -0xbb, 0xf4, 0x4b, 0xf5, 0x49, 0xf1, 0x60, 0x23, 0xc4, 0x0a, 0x77, 0x4d, 0xf9, 0x51, 0x01, -0x80, 0x63, 0x25, 0xa9, 0xb1, 0xe0, 0x42, 0xe7, 0x4c, 0x1a, 0x97, 0xac, 0xbb, 0xf4, 0x6a, -0x37, 0xcd, 0x18, 0xb2, 0xe6, 0x2f, 0xdc, 0x1b, 0x95, 0xa8, 0xd2, 0x07, 0x6d, 0x58, 0x32, -0xe6, 0x4e, 0x1e, 0x9f, 0xbc, 0xfa, 0x57, 0x0d, 0x79, 0x51, 0x20, 0xc2, 0x06, 0x6f, 0x5c, -0x1b, 0x95, 0xa8, 0xb3, 0xc5, 0xe9, 0x31, 0xe0, 0x23, 0xc4, 0x0a, 0x77, 0x4d, 0x18, 0x93, -0x85, 0x69, 0x31, 0xc1, 0xe1, 0x21, 0xc0, 0xe3, 0x44, 0x0a, 0x77, 0x6c, 0x5a, 0x17, 0x8d, -0x98, 0x93, 0xa4, 0xab, 0xd4, 0x2a, 0xb7, 0xec, 0x5a, 0x17, 0xac, 0xbb, 0xf4, 0x4b, 0x14, -0xaa, 0xb7, 0xec, 0x3b, 0xd5, 0x28, 0xb3, 0xc5, 0xe9, 0x31, 0xc1, 0x00, 0x82, 0x67, 0x4c, -0xfb, 0x55, 0x28, 0xd2, 0x26, 0xaf, 0xbd, 0xd9, 0x11, 0x81, 0x61, 0x21, 0xa1, 0xa1, 0xc0, -0x02, 0x86, 0x6f, 0x5c, 0x1b, 0xb4, 0xcb, 0x14, 0x8b, 0x94, 0xaa, 0xd6, 0x2e, 0xbf, 0xdd, -0x19, 0xb0, 0xe2, 0x46, 0x0e, 0x7f, 0x7c, 0x5b, 0x15, 0x89, 0x90, 0x83, 0x84, 0x6b, 0x54, -0x0b, 0x75, 0x68, 0x52, 0x07, 0x6d, 0x58, 0x32, 0xc7, 0xed, 0x58, 0x32, 0xc7, 0xed, 0x58, -0x32, 0xe6, 0x4e, 0xff, 0x7c, 0x7a, 0x76, 0x6e, 0x3f, 0xdd, 0x38, 0xd3, 0x05, 0x88, 0x92, -0xa6, 0xaf, 0xdc, 0x1b, 0xb4, 0xcb, 0xf5, 0x68, 0x52, 0x07, 0x8c, 0x7b, 0x55, 0x09, 0x90, -0x83, 0x84, 0x6b, 0x54, 0x2a, 0xb7, 0xec, 0x3b, 0xd5, 0x09, 0x90, 0xa2, 0xc6, 0x0e, 0x7f, -0x7c, 0x7a, 0x57, 0x0d, 0x98, 0xb2, 0xc7, 0xed, 0x58, 0x32, 0xc7, 0x0c, 0x7b, 0x74, 0x4b, -0x14, 0x8b, 0x94, 0xaa, 0xb7, 0xcd, 0x18, 0x93, 0xa4, 0xca, 0x16, 0xae, 0xbf, 0xdd, 0x19, -0xb0, 0xe2, 0x46, 0x0e, 0x7f, 0x5d, 0x19, 0x91, 0x81, 0x80, 0x63, 0x44, 0xeb, 0x35, 0xc9, -0x10, 0x83, 0x65, 0x48, 0x12, 0xa6, 0xce, 0x1e, 0x9f, 0xbc, 0xdb, 0x15, 0x89, 0x71, 0x60, -0x23, 0xc4, 0xeb, 0x54, 0x2a, 0xb7, 0xec, 0x5a, 0x36, 0xcf, 0x81, 0x10, 0xac, 0x74 }; +const uint8_t firmware_data[FIRMWARE_LENGTH] PROGMEM = { + 0x01, 0xe8, 0xba, 0x26, 0x0b, 0xb2, 0xbe, 0xfe, 0x7e, 0x5f, 0x3c, 0xdb, 0x15, 0xa8, 0xb3, + 0xe4, 0x2b, 0xb5, 0xe8, 0x53, 0x07, 0x6d, 0x3b, 0xd1, 0x20, 0xc2, 0x06, 0x6f, 0x3d, 0xd9, + 0x11, 0xa0, 0xc2, 0xe7, 0x2d, 0xb9, 0xd1, 0x20, 0xa3, 0xa5, 0xc8, 0xf3, 0x64, 0x4a, 0xf7, + 0x4d, 0x18, 0x93, 0xa4, 0xca, 0xf7, 0x6c, 0x5a, 0x36, 0xee, 0x5e, 0x3e, 0xfe, 0x7e, 0x7e, + 0x5f, 0x1d, 0x99, 0xb0, 0xc3, 0xe5, 0x29, 0xd3, 0x03, 0x65, 0x48, 0x12, 0x87, 0x6d, 0x58, + 0x32, 0xe6, 0x2f, 0xdc, 0x3a, 0xf2, 0x4f, 0xfd, 0x59, 0x11, 0x81, 0x61, 0x21, 0xc0, 0x02, + 0x86, 0x8e, 0x7f, 0x5d, 0x38, 0xf2, 0x47, 0x0c, 0x7b, 0x55, 0x28, 0xb3, 0xe4, 0x4a, 0x16, + 0xab, 0xbf, 0xdd, 0x38, 0xf2, 0x66, 0x4e, 0xff, 0x5d, 0x19, 0x91, 0xa0, 0xa3, 0xa5, 0xc8, + 0x12, 0xa6, 0xaf, 0xdc, 0x3a, 0xd1, 0x41, 0x60, 0x75, 0x58, 0x24, 0x92, 0xd4, 0x72, 0x6c, + 0xe0, 0x2f, 0xfd, 0x23, 0x8d, 0x1c, 0x5b, 0xb2, 0x97, 0x36, 0x3d, 0x0b, 0xa2, 0x49, 0xb1, + 0x58, 0xf2, 0x1f, 0xc0, 0xcb, 0xf8, 0x41, 0x4f, 0xcd, 0x1e, 0x6b, 0x39, 0xa7, 0x2b, 0xe9, + 0x30, 0x16, 0x83, 0xd2, 0x0e, 0x47, 0x8f, 0xe3, 0xb1, 0xdf, 0xa2, 0x15, 0xdb, 0x5d, 0x30, + 0xc5, 0x1a, 0xab, 0x31, 0x99, 0xf3, 0xfa, 0xb2, 0x86, 0x69, 0xad, 0x7a, 0xe8, 0xa7, 0x18, + 0x6a, 0xcc, 0xc8, 0x65, 0x23, 0x87, 0xa8, 0x5f, 0xf5, 0x21, 0x59, 0x75, 0x09, 0x71, 0x45, + 0x55, 0x25, 0x4b, 0xda, 0xa1, 0xc3, 0xf7, 0x41, 0xab, 0x59, 0xd9, 0x74, 0x12, 0x55, 0x5f, + 0xbc, 0xaf, 0xd9, 0xfd, 0xb0, 0x1e, 0xa3, 0x0f, 0xff, 0xde, 0x11, 0x16, 0x6a, 0xae, 0x0e, + 0xe1, 0x5d, 0x3c, 0x10, 0x43, 0x9a, 0xa1, 0x0b, 0x24, 0x8f, 0x0d, 0x7f, 0x0b, 0x5e, 0x4c, + 0x42, 0xa4, 0x84, 0x2c, 0x40, 0xd0, 0x55, 0x39, 0xe6, 0x4b, 0xf8, 0x9b, 0x2f, 0xdc, 0x28, + 0xff, 0xfa, 0xb5, 0x85, 0x19, 0xe5, 0x28, 0xa1, 0x77, 0xaa, 0x73, 0xf3, 0x03, 0xc7, 0x62, + 0xa6, 0x91, 0x18, 0xc9, 0xb0, 0xcd, 0x05, 0xdc, 0xca, 0x81, 0x26, 0x1a, 0x47, 0x40, 0xda, + 0x36, 0x7d, 0x6a, 0x53, 0xc8, 0x5a, 0x77, 0x5d, 0x19, 0xa4, 0x1b, 0x23, 0x83, 0xd0, 0xb2, + 0xaa, 0x0e, 0xbf, 0x77, 0x4e, 0x3a, 0x3b, 0x59, 0x00, 0x31, 0x0d, 0x02, 0x1b, 0x88, 0x7a, + 0xd4, 0xbd, 0x9d, 0xcc, 0x58, 0x04, 0x69, 0xf6, 0x3b, 0xca, 0x42, 0xe2, 0xfd, 0xc3, 0x3d, + 0x39, 0xc5, 0xd0, 0x71, 0xe4, 0xc8, 0xb7, 0x3e, 0x3f, 0xc8, 0xe9, 0xca, 0xc9, 0x3f, 0x04, + 0x4e, 0x1b, 0x79, 0xca, 0xa5, 0x61, 0xc2, 0xed, 0x1d, 0xa6, 0xda, 0x5a, 0xe9, 0x7f, 0x65, + 0x8c, 0xbe, 0x12, 0x6e, 0xa4, 0x5b, 0x33, 0x2f, 0x84, 0x28, 0x9c, 0x1c, 0x88, 0x2d, 0xff, + 0x07, 0xbf, 0xa6, 0xd7, 0x5a, 0x88, 0x86, 0xb0, 0x3f, 0xf6, 0x31, 0x5b, 0x11, 0x6d, 0xf5, + 0x58, 0xeb, 0x58, 0x02, 0x9e, 0xb5, 0x9a, 0xb1, 0xff, 0x25, 0x9d, 0x8b, 0x4f, 0xb6, 0x0a, + 0xf9, 0xea, 0x3e, 0x3f, 0x21, 0x09, 0x65, 0x21, 0x22, 0xfe, 0x3d, 0x4e, 0x11, 0x5b, 0x9e, + 0x5a, 0x59, 0x8b, 0xdd, 0xd8, 0xce, 0xd6, 0xd9, 0x59, 0xd2, 0x1e, 0xfd, 0xef, 0x0d, 0x1b, + 0xd9, 0x61, 0x7f, 0xd7, 0x2d, 0xad, 0x62, 0x09, 0xe5, 0x22, 0x63, 0xea, 0xc7, 0x31, 0xd9, + 0xa1, 0x38, 0x80, 0x5c, 0xa7, 0x32, 0x82, 0xec, 0x1b, 0xa2, 0x49, 0x5a, 0x06, 0xd2, 0x7c, + 0xc9, 0x96, 0x57, 0xbb, 0x17, 0x75, 0xfc, 0x7a, 0x8f, 0x0d, 0x77, 0xb5, 0x7a, 0x8e, 0x3e, + 0xf4, 0xba, 0x2f, 0x69, 0x13, 0x26, 0xd6, 0xd9, 0x21, 0x60, 0x2f, 0x21, 0x3e, 0x87, 0xee, + 0xfd, 0x87, 0x16, 0x0d, 0xc8, 0x08, 0x00, 0x25, 0x71, 0xac, 0x2c, 0x03, 0x2a, 0x37, 0x2d, + 0xb3, 0x34, 0x09, 0x91, 0xe3, 0x06, 0x2c, 0x38, 0x37, 0x95, 0x3b, 0x17, 0x7a, 0xaf, 0xac, + 0x99, 0x55, 0xab, 0x41, 0x39, 0x5f, 0x8e, 0xa6, 0x43, 0x80, 0x03, 0x88, 0x6f, 0x7d, 0xbd, + 0x5a, 0xb4, 0x2b, 0x32, 0x23, 0x5a, 0xa9, 0x31, 0x32, 0x39, 0x4c, 0x5b, 0xf4, 0x6b, 0xaf, + 0x66, 0x6f, 0x3c, 0x8e, 0x2d, 0x82, 0x97, 0x9f, 0x4a, 0x01, 0xdc, 0x99, 0x98, 0x00, 0xec, + 0x38, 0x7a, 0x79, 0x70, 0xa6, 0x85, 0xd6, 0x21, 0x63, 0x0d, 0x45, 0x9a, 0x2e, 0x5e, 0xa7, + 0xb1, 0xea, 0x66, 0x6a, 0xbc, 0x62, 0x2d, 0x7b, 0x7d, 0x85, 0xea, 0x95, 0x2f, 0xc0, 0xe8, + 0x6f, 0x35, 0xa0, 0x3a, 0x02, 0x25, 0xbc, 0xb2, 0x5f, 0x5c, 0x43, 0x96, 0xcc, 0x26, 0xd2, + 0x16, 0xb4, 0x96, 0x73, 0xd7, 0x13, 0xc7, 0xae, 0x53, 0x15, 0x31, 0x89, 0x68, 0x66, 0x6d, + 0x2c, 0x92, 0x1f, 0xcc, 0x5b, 0xa7, 0x8f, 0x5d, 0xbb, 0xc9, 0xdb, 0xe8, 0x3b, 0x9d, 0x61, + 0x74, 0x8b, 0x05, 0xa1, 0x58, 0x52, 0x68, 0xee, 0x3d, 0x39, 0x79, 0xa0, 0x9b, 0xdd, 0xe1, + 0x55, 0xc9, 0x60, 0xeb, 0xad, 0xb8, 0x5b, 0xc2, 0x5a, 0xb5, 0x2c, 0x18, 0x55, 0xa9, 0x50, + 0xc3, 0xf6, 0x72, 0x5f, 0xcc, 0xe2, 0xf4, 0x55, 0xb5, 0xd6, 0xb5, 0x4a, 0x99, 0xa5, 0x28, + 0x74, 0x97, 0x18, 0xe8, 0xc0, 0x84, 0x89, 0x50, 0x03, 0x86, 0x4d, 0x1a, 0xb7, 0x09, 0x90, + 0xa2, 0x01, 0x04, 0xbb, 0x73, 0x62, 0xcb, 0x97, 0x22, 0x70, 0x5d, 0x52, 0x41, 0x8e, 0xd9, + 0x90, 0x15, 0xaa, 0xab, 0x0a, 0x31, 0x65, 0xb4, 0xda, 0xd0, 0xee, 0x24, 0xc9, 0x41, 0x91, + 0x1e, 0xbc, 0x46, 0x70, 0x40, 0x9d, 0xda, 0x0e, 0x2a, 0xe4, 0xb2, 0x4c, 0x9f, 0xf2, 0xfc, + 0xf3, 0x84, 0x17, 0x44, 0x1e, 0xd7, 0xca, 0x23, 0x1f, 0x3f, 0x5a, 0x22, 0x3d, 0xaf, 0x9b, + 0x2d, 0xfc, 0x41, 0xad, 0x26, 0xb4, 0x45, 0x67, 0x0b, 0x80, 0x0e, 0xf9, 0x61, 0x37, 0xec, + 0x3b, 0xf4, 0x4b, 0x14, 0xdf, 0x5a, 0x0c, 0x3a, 0x50, 0x0b, 0x14, 0x0c, 0x72, 0xae, 0xc6, + 0xc5, 0xec, 0x35, 0x53, 0x2d, 0x59, 0xed, 0x91, 0x74, 0xe2, 0xc4, 0xc8, 0xf2, 0x25, 0x6b, + 0x97, 0x6f, 0xc9, 0x76, 0xce, 0xa9, 0xb1, 0x99, 0x8f, 0x5a, 0x92, 0x3b, 0xc4, 0x8d, 0x54, + 0x50, 0x40, 0x72, 0xd6, 0x90, 0x83, 0xfc, 0xe5, 0x49, 0x8b, 0x17, 0xf5, 0xfd, 0x6b, 0x8d, + 0x32, 0x02, 0xe9, 0x0a, 0xfe, 0xbf, 0x00, 0x6b, 0xa3, 0xad, 0x5f, 0x09, 0x4b, 0x97, 0x2b, + 0x00, 0x58, 0x65, 0x2e, 0x07, 0x49, 0x0a, 0x3b, 0x6b, 0x2e, 0x50, 0x6c, 0x1d, 0xac, 0xb7, + 0x6a, 0x26, 0xd8, 0x13, 0xa4, 0xca, 0x16, 0xae, 0xab, 0x93, 0xb9, 0x1c, 0x1c, 0xb4, 0x47, + 0x6a, 0x38, 0x36, 0x17, 0x27, 0xc9, 0x7f, 0xc7, 0x64, 0xcb, 0x89, 0x58, 0xc5, 0x61, 0xc2, + 0xc6, 0xea, 0x15, 0x0b, 0x34, 0x0c, 0x5d, 0x61, 0x76, 0x6e, 0x2b, 0x62, 0x40, 0x92, 0xa3, + 0x6c, 0xef, 0xf4, 0xe4, 0xc3, 0xa1, 0xa8, 0xf5, 0x94, 0x79, 0x0d, 0xd1, 0x3d, 0xcb, 0x3d, + 0x40, 0xb6, 0xd0, 0xf0, 0x10, 0x54, 0xd8, 0x47, 0x25, 0x51, 0xc5, 0x41, 0x79, 0x00, 0xe5, + 0xa0, 0x72, 0xde, 0xbb, 0x3b, 0x62, 0x17, 0xf6, 0xbc, 0x5d, 0x00, 0x76, 0x2e, 0xa7, 0x3b, + 0xb6, 0xf1, 0x98, 0x72, 0x59, 0x2a, 0x73, 0xb0, 0x21, 0xd6, 0x49, 0xe0, 0xc0, 0xd5, 0xeb, + 0x02, 0x7d, 0x4b, 0x41, 0x28, 0x70, 0x2d, 0xec, 0x2b, 0x71, 0x1f, 0x0b, 0xb9, 0x71, 0x63, + 0x06, 0xe6, 0xbc, 0x60, 0xbb, 0xf4, 0x9a, 0x62, 0x43, 0x09, 0x18, 0x4e, 0x93, 0x06, 0x4d, + 0x76, 0xfa, 0x7f, 0xbd, 0x02, 0xe4, 0x50, 0x91, 0x12, 0xe5, 0x86, 0xff, 0x64, 0x1e, 0xaf, + 0x7e, 0xb3, 0xb2, 0xde, 0x89, 0xc1, 0xa2, 0x6f, 0x40, 0x7b, 0x41, 0x51, 0x63, 0xea, 0x25, + 0xd1, 0x97, 0x57, 0x92, 0xa8, 0x45, 0xa1, 0xa5, 0x45, 0x21, 0x43, 0x7f, 0x83, 0x15, 0x29, + 0xd0, 0x30, 0x53, 0x32, 0xb4, 0x5a, 0x17, 0x96, 0xbc, 0xc2, 0x68, 0xa9, 0xb7, 0xaf, 0xac, + 0xdf, 0xf1, 0xe3, 0x89, 0xba, 0x24, 0x79, 0x54, 0xc6, 0x14, 0x07, 0x1c, 0x1e, 0x0d, 0x3a, + 0x6b, 0xe5, 0x3d, 0x4e, 0x10, 0x60, 0x96, 0xec, 0x6c, 0xda, 0x47, 0xae, 0x03, 0x25, 0x39, + 0x1d, 0x74, 0xc8, 0xac, 0x6a, 0xf2, 0x6b, 0x05, 0x2a, 0x9a, 0xe7, 0xe8, 0x92, 0xd6, 0xc2, + 0x6d, 0xfa, 0xe8, 0xa7, 0x9d, 0x5f, 0x48, 0xc9, 0x75, 0xf1, 0x66, 0x6a, 0xdb, 0x5d, 0x9a, + 0xcd, 0x27, 0xdd, 0xb9, 0x24, 0x04, 0x9c, 0x18, 0xc2, 0x6d, 0x0c, 0x91, 0x34, 0x48, 0x42, + 0x6f, 0xe9, 0x59, 0x70, 0xc4, 0x7e, 0x81, 0x0e, 0x32, 0x0a, 0x93, 0x48, 0xb0, 0xc0, 0x15, + 0x9e, 0x05, 0xac, 0x36, 0x16, 0xcb, 0x59, 0x65, 0xa0, 0x83, 0xdf, 0x3e, 0xda, 0xfb, 0x1d, + 0x1a, 0xdb, 0x65, 0xec, 0x9a, 0xc6, 0xc3, 0x8e, 0x3c, 0x45, 0xfd, 0xc8, 0xf5, 0x1c, 0x6a, + 0x67, 0x0d, 0x8f, 0x99, 0x7d, 0x30, 0x21, 0x8c, 0xea, 0x22, 0x87, 0x65, 0xc9, 0xb2, 0x4c, + 0xe4, 0x1b, 0x46, 0xba, 0x54, 0xbd, 0x7c, 0xca, 0xd5, 0x8f, 0x5b, 0xa5, 0x01, 0x04, 0xd8, + 0x0a, 0x16, 0xbf, 0xb9, 0x50, 0x2e, 0x37, 0x2f, 0x64, 0xf3, 0x70, 0x11, 0x02, 0x05, 0x31, + 0x9b, 0xa0, 0xb2, 0x01, 0x5e, 0x4f, 0x19, 0xc9, 0xd4, 0xea, 0xa1, 0x79, 0x54, 0x53, 0xa7, + 0xde, 0x2f, 0x49, 0xd3, 0xd1, 0x63, 0xb5, 0x03, 0x15, 0x4e, 0xbf, 0x04, 0xb3, 0x26, 0x8b, + 0x20, 0xb2, 0x45, 0xcf, 0xcd, 0x5b, 0x82, 0x32, 0x88, 0x61, 0xa7, 0xa8, 0xb2, 0xa0, 0x72, + 0x96, 0xc0, 0xdb, 0x2b, 0xe2, 0x5f, 0xba, 0xe3, 0xf5, 0x8a, 0xde, 0xf1, 0x18, 0x01, 0x16, + 0x40, 0xd9, 0x86, 0x12, 0x09, 0x18, 0x1b, 0x05, 0x0c, 0xb1, 0xb5, 0x47, 0xe2, 0x43, 0xab, + 0xfe, 0x92, 0x63, 0x7e, 0x95, 0x2b, 0xf0, 0xaf, 0xe1, 0xf1, 0xc3, 0x4a, 0xff, 0x2b, 0x09, + 0xbb, 0x4a, 0x0e, 0x9a, 0xc4, 0xd8, 0x64, 0x7d, 0x83, 0xa0, 0x4f, 0x44, 0xdb, 0xc4, 0xa8, + 0x58, 0xef, 0xfc, 0x9e, 0x77, 0xf9, 0xa6, 0x8f, 0x58, 0x8b, 0x12, 0xf4, 0xe9, 0x81, 0x12, + 0x47, 0x51, 0x41, 0x83, 0xef, 0xf6, 0x73, 0xbc, 0x8e, 0x0f, 0x4c, 0x8f, 0x4e, 0x69, 0x90, + 0x77, 0x29, 0x5d, 0x92, 0xb0, 0x6d, 0x06, 0x67, 0x29, 0x60, 0xbd, 0x4b, 0x17, 0xc8, 0x89, + 0x69, 0x28, 0x29, 0xd6, 0x78, 0xcb, 0x11, 0x4c, 0xba, 0x8b, 0x68, 0xae, 0x7e, 0x9f, 0xef, + 0x95, 0xda, 0xe2, 0x9e, 0x7f, 0xe9, 0x55, 0xe5, 0xe1, 0xe2, 0xb7, 0xe6, 0x5f, 0xbb, 0x2c, + 0xa2, 0xe6, 0xee, 0xc7, 0x0a, 0x60, 0xa9, 0xd1, 0x80, 0xdf, 0x7f, 0xd6, 0x97, 0xab, 0x1d, + 0x22, 0x25, 0xfc, 0x79, 0x23, 0xe0, 0xae, 0xc5, 0xef, 0x16, 0xa4, 0xa1, 0x0f, 0x92, 0xa9, + 0xc7, 0xe3, 0x3a, 0x55, 0xdf, 0x62, 0x49, 0xd9, 0xf5, 0x84, 0x49, 0xc5, 0x90, 0x34, 0xd3, + 0xe1, 0xac, 0x99, 0x21, 0xb1, 0x02, 0x76, 0x4a, 0xfa, 0xd4, 0xbb, 0xa4, 0x9c, 0xa2, 0xe2, + 0xcb, 0x3d, 0x3b, 0x14, 0x75, 0x60, 0xd1, 0x02, 0xb4, 0xa3, 0xb4, 0x72, 0x06, 0xf9, 0x19, + 0x9c, 0xe2, 0xe4, 0xa7, 0x0f, 0x25, 0x88, 0xc6, 0x86, 0xd6, 0x8c, 0x74, 0x4e, 0x6e, 0xfc, + 0xa8, 0x48, 0x9e, 0xa7, 0x9d, 0x1a, 0x4b, 0x37, 0x09, 0xc8, 0xb0, 0x10, 0xbe, 0x6f, 0xfe, + 0xa3, 0xc4, 0x7a, 0xb5, 0x3d, 0xe8, 0x30, 0xf1, 0x0d, 0xa0, 0xb2, 0x44, 0xfc, 0x9b, 0x8c, + 0xf8, 0x61, 0xed, 0x81, 0xd1, 0x62, 0x11, 0xb4, 0xe1, 0xd5, 0x39, 0x52, 0x89, 0xd3, 0xa8, + 0x49, 0x31, 0xdf, 0xb6, 0xf9, 0x91, 0xf4, 0x1c, 0x9d, 0x09, 0x95, 0x40, 0x56, 0xe7, 0xe3, + 0xcd, 0x5c, 0x92, 0xc1, 0x1d, 0x6b, 0xe9, 0x78, 0x6f, 0x8e, 0x94, 0x42, 0x66, 0xa2, 0xaa, + 0xd3, 0xc8, 0x2e, 0xe3, 0xf6, 0x07, 0x72, 0x0b, 0x6b, 0x1e, 0x7b, 0xb9, 0x7c, 0xe0, 0xa0, + 0xbc, 0xd9, 0x25, 0xdf, 0x87, 0xa8, 0x5f, 0x9c, 0xcc, 0xf0, 0xdb, 0x42, 0x8e, 0x07, 0x31, + 0x13, 0x01, 0x66, 0x32, 0xd1, 0xb8, 0xd6, 0xe3, 0x5e, 0x12, 0x76, 0x61, 0xd3, 0x38, 0x89, + 0xe6, 0x17, 0x6f, 0xa5, 0xf2, 0x71, 0x0e, 0xa5, 0xe2, 0x88, 0x30, 0xbb, 0xbe, 0x8a, 0xea, + 0xc7, 0x62, 0xc4, 0xcf, 0xb8, 0xcd, 0x33, 0x8d, 0x3d, 0x3e, 0xb5, 0x60, 0x3a, 0x03, 0x92, + 0xe4, 0x6d, 0x1b, 0xe0, 0xb4, 0x84, 0x08, 0x55, 0x88, 0xa7, 0x3a, 0xb9, 0x3d, 0x43, 0xc3, + 0xc0, 0xfa, 0x07, 0x6a, 0xca, 0x94, 0xad, 0x99, 0x55, 0xf1, 0xf1, 0xc0, 0x23, 0x87, 0x1d, + 0x3d, 0x1c, 0xd1, 0x66, 0xa0, 0x57, 0x10, 0x52, 0xa2, 0x7f, 0xbe, 0xf9, 0x88, 0xb6, 0x02, + 0xbf, 0x08, 0x23, 0xa9, 0x0c, 0x63, 0x17, 0x2a, 0xae, 0xf5, 0xf7, 0xb7, 0x21, 0x83, 0x92, + 0x31, 0x23, 0x0d, 0x20, 0xc3, 0xc2, 0x05, 0x21, 0x62, 0x8e, 0x45, 0xe8, 0x14, 0xc1, 0xda, + 0x75, 0xb8, 0xf8, 0x92, 0x01, 0xd0, 0x5d, 0x18, 0x9f, 0x99, 0x11, 0x19, 0xf5, 0x35, 0xe8, + 0x7f, 0x20, 0x88, 0x8c, 0x05, 0x75, 0xf5, 0xd7, 0x40, 0x17, 0xbb, 0x1e, 0x36, 0x52, 0xd9, + 0xa4, 0x9c, 0xc2, 0x9d, 0x42, 0x81, 0xd8, 0xc7, 0x8a, 0xe7, 0x4c, 0x81, 0xe0, 0xb7, 0x57, + 0xed, 0x48, 0x8b, 0xf0, 0x97, 0x15, 0x61, 0xd9, 0x2c, 0x7c, 0x45, 0xaf, 0xc2, 0xcd, 0xfc, + 0xaa, 0x13, 0xad, 0x59, 0xcc, 0xb2, 0xb2, 0x6e, 0xdd, 0x63, 0x9c, 0x32, 0x0f, 0xec, 0x83, + 0xbe, 0x78, 0xac, 0x91, 0x44, 0x1a, 0x1f, 0xea, 0xfd, 0x5d, 0x8e, 0xb4, 0xc0, 0x84, 0xd4, + 0xac, 0xb4, 0x87, 0x5f, 0xac, 0xef, 0xdf, 0xcd, 0x12, 0x56, 0xc8, 0xcd, 0xfe, 0xc5, 0xda, + 0xd3, 0xc1, 0x69, 0xf3, 0x61, 0x05, 0xea, 0x25, 0xe2, 0x12, 0x05, 0x8f, 0x39, 0x08, 0x08, + 0x7c, 0x37, 0xb6, 0x7e, 0x5b, 0xd8, 0xb1, 0x0e, 0xf2, 0xdb, 0x4b, 0xf1, 0xad, 0x90, 0x01, + 0x57, 0xcd, 0xa0, 0xb4, 0x52, 0xe8, 0xf3, 0xd7, 0x8a, 0xbd, 0x4f, 0x9f, 0x21, 0x40, 0x72, + 0xa4, 0xfc, 0x0b, 0x01, 0x2b, 0x2f, 0xb6, 0x4c, 0x95, 0x2d, 0x35, 0x33, 0x41, 0x6b, 0xa0, + 0x93, 0xe7, 0x2c, 0xf2, 0xd3, 0x72, 0x8b, 0xf4, 0x4f, 0x15, 0x3c, 0xaf, 0xd6, 0x12, 0xde, + 0x3f, 0x83, 0x3f, 0xff, 0xf8, 0x7f, 0xf6, 0xcc, 0xa6, 0x7f, 0xc9, 0x9a, 0x6e, 0x1f, 0xc1, + 0x0c, 0xfb, 0xee, 0x9c, 0xe7, 0xaf, 0xc9, 0x26, 0x54, 0xef, 0xb0, 0x39, 0xef, 0xb2, 0xe9, + 0x23, 0xc4, 0xef, 0xd1, 0xa1, 0xa4, 0x25, 0x24, 0x6f, 0x8d, 0x6a, 0xe5, 0x8a, 0x32, 0x3a, + 0xaf, 0xfc, 0xda, 0xce, 0x18, 0x25, 0x42, 0x07, 0x4d, 0x45, 0x8b, 0xdf, 0x85, 0xcf, 0x55, + 0xb2, 0x24, 0xfe, 0x9c, 0x69, 0x74, 0xa7, 0x6e, 0xa0, 0xce, 0xc0, 0x39, 0xf4, 0x86, 0xc6, + 0x8d, 0xae, 0xb9, 0x48, 0x64, 0x13, 0x0b, 0x40, 0x81, 0xa2, 0xc9, 0xa8, 0x85, 0x51, 0xee, + 0x9f, 0xcf, 0xa2, 0x8c, 0x19, 0x52, 0x48, 0xe2, 0xc1, 0xa8, 0x58, 0xb4, 0x10, 0x24, 0x06, + 0x58, 0x51, 0xfc, 0xb9, 0x12, 0xec, 0xfd, 0x73, 0xb4, 0x6d, 0x84, 0xfa, 0x06, 0x8b, 0x05, + 0x0b, 0x2d, 0xd6, 0xd6, 0x1f, 0x29, 0x82, 0x9f, 0x19, 0x12, 0x1e, 0xb2, 0x04, 0x8f, 0x7f, + 0x4d, 0xbd, 0x30, 0x2e, 0xe3, 0xe0, 0x88, 0x29, 0xc5, 0x93, 0xd6, 0x6c, 0x1f, 0x29, 0x45, + 0x91, 0xa7, 0x58, 0xcd, 0x05, 0x17, 0xd6, 0x6d, 0xb3, 0xca, 0x66, 0xcc, 0x3c, 0x4a, 0x74, + 0xfd, 0x08, 0x10, 0xa6, 0x99, 0x92, 0x10, 0xd2, 0x85, 0xab, 0x6e, 0x1d, 0x0e, 0x8b, 0x26, + 0x46, 0xd1, 0x6c, 0x84, 0xc0, 0x26, 0x43, 0x59, 0x68, 0xf0, 0x13, 0x1d, 0xfb, 0xe3, 0xd1, + 0xd2, 0xb4, 0x71, 0x9e, 0xf2, 0x59, 0x6a, 0x33, 0x29, 0x79, 0xd2, 0xd7, 0x26, 0xf1, 0xae, + 0x78, 0x9e, 0x1f, 0x0f, 0x3f, 0xe3, 0xe8, 0xd0, 0x27, 0x78, 0x77, 0xf6, 0xac, 0x9c, 0x56, + 0x39, 0x73, 0x8a, 0x6b, 0x2f, 0x34, 0x78, 0xb1, 0x11, 0xdb, 0xa4, 0x5c, 0x80, 0x01, 0x71, + 0x6a, 0xc2, 0xd1, 0x2e, 0x5e, 0x76, 0x28, 0x70, 0x93, 0xae, 0x3e, 0x78, 0xb0, 0x1f, 0x0f, + 0xda, 0xbf, 0xfb, 0x8a, 0x67, 0x65, 0x4f, 0x91, 0xed, 0x49, 0x75, 0x78, 0x62, 0xa2, 0x93, + 0xb5, 0x70, 0x7f, 0x4d, 0x08, 0x4e, 0x79, 0x61, 0xa8, 0x5f, 0x7f, 0xb4, 0x65, 0x9f, 0x91, + 0x54, 0x3a, 0xe8, 0x50, 0x33, 0xd3, 0xd5, 0x8a, 0x7c, 0xf3, 0x9e, 0x8b, 0x77, 0x7b, 0xc6, + 0xc6, 0x0c, 0x45, 0x95, 0x1f, 0xb0, 0xd0, 0x0b, 0x27, 0x4a, 0xfd, 0xc7, 0xf7, 0x0d, 0x5a, + 0x43, 0xc9, 0x7d, 0x35, 0xb0, 0x7d, 0xc4, 0x9c, 0x57, 0x1e, 0x76, 0x0d, 0xf1, 0x95, 0x30, + 0x71, 0xcc, 0xb3, 0x66, 0x3b, 0x63, 0xa8, 0x6c, 0xa3, 0x43, 0xa0, 0x24, 0xcc, 0xb7, 0x53, + 0xfe, 0xfe, 0xbc, 0x6e, 0x60, 0x89, 0xaf, 0x16, 0x21, 0xc8, 0x91, 0x6a, 0x89, 0xce, 0x80, + 0x2c, 0xf1, 0x59, 0xce, 0xc3, 0x60, 0x61, 0x3b, 0x0b, 0x19, 0xfe, 0x99, 0xac, 0x65, 0x90, + 0x15, 0x12, 0x05, 0xac, 0x7e, 0xff, 0x98, 0x7b, 0x66, 0x64, 0x0e, 0x4b, 0x5b, 0xaa, 0x8d, + 0x3b, 0xd2, 0x56, 0xcf, 0x99, 0x39, 0xee, 0x22, 0x81, 0xd0, 0x60, 0x06, 0x66, 0x20, 0x81, + 0x48, 0x3c, 0x6f, 0x3a, 0x77, 0xba, 0xcb, 0x52, 0xac, 0x79, 0x56, 0xaf, 0xe9, 0x16, 0x17, + 0x0a, 0xa3, 0x82, 0x08, 0xd5, 0x3c, 0x97, 0xcb, 0x09, 0xff, 0x7f, 0xf9, 0x4f, 0x60, 0x05, + 0xb9, 0x53, 0x26, 0xaa, 0xb8, 0x50, 0xaa, 0x19, 0x25, 0xae, 0x5f, 0xea, 0x8a, 0xd0, 0x89, + 0x12, 0x80, 0x43, 0x50, 0x24, 0x12, 0x21, 0x14, 0xcd, 0x77, 0xeb, 0x21, 0xcc, 0x5c, 0x09, + 0x64, 0xf3, 0xc7, 0xcb, 0xc5, 0x4b, 0xc3, 0xe7, 0xed, 0xe7, 0x86, 0x2c, 0x1d, 0x8e, 0x19, + 0x52, 0x9b, 0x2a, 0x0c, 0x18, 0x72, 0x0b, 0x1e, 0x1b, 0xb0, 0x0f, 0x42, 0x99, 0x04, 0xae, + 0xd5, 0xb7, 0x89, 0x1a, 0xb9, 0x4f, 0xd6, 0xaf, 0xf3, 0xc9, 0x93, 0x6f, 0xb0, 0x60, 0x83, + 0x6e, 0x6b, 0xd1, 0x5f, 0x3f, 0x1a, 0x83, 0x1e, 0x24, 0x00, 0x87, 0xb5, 0x3e, 0xdb, 0xf9, + 0x4d, 0xa7, 0x16, 0x2e, 0x19, 0x5b, 0x8f, 0x1b, 0x0d, 0x47, 0x72, 0x42, 0xe9, 0x0a, 0x11, + 0x08, 0x2d, 0x88, 0x1c, 0xbc, 0xc7, 0xb4, 0xbe, 0x29, 0x4d, 0x03, 0x5e, 0xec, 0xdf, 0xf3, + 0x3d, 0x2f, 0xe8, 0x1d, 0x9a, 0xd2, 0xd1, 0xab, 0x41, 0x3d, 0x87, 0x11, 0x45, 0xb0, 0x0d, + 0x46, 0xf5, 0xe8, 0x95, 0x62, 0x1c, 0x68, 0xf7, 0xa6, 0x5b, 0x39, 0x4e, 0xbf, 0x47, 0xba, + 0x5d, 0x7f, 0xb7, 0x6a, 0xf4, 0xba, 0x1d, 0x69, 0xf6, 0xa4, 0xe7, 0xe4, 0x6b, 0x3b, 0x0d, + 0x23, 0x16, 0x4a, 0xb2, 0x68, 0xf0, 0xb2, 0x0d, 0x09, 0x17, 0x6a, 0x63, 0x8c, 0x83, 0xd3, + 0xbd, 0x05, 0xc9, 0xf6, 0xf0, 0xa1, 0x31, 0x0b, 0x2c, 0xac, 0x83, 0xac, 0x80, 0x34, 0x32, + 0xb4, 0xec, 0xd0, 0xbc, 0x54, 0x82, 0x9a, 0xc8, 0xf6, 0xa0, 0x7d, 0xc6, 0x79, 0x73, 0xf4, + 0x20, 0x99, 0xf3, 0xb4, 0x01, 0xde, 0x91, 0x27, 0xf2, 0xc0, 0xdc, 0x81, 0x00, 0x4e, 0x7e, + 0x07, 0x99, 0xc8, 0x3a, 0x51, 0xbc, 0x38, 0xd6, 0x8a, 0xa2, 0xde, 0x3b, 0x6a, 0x8c, 0x1a, + 0x7c, 0x81, 0x0f, 0x3a, 0x1f, 0xe4, 0x05, 0x7b, 0x20, 0x35, 0x6b, 0xa5, 0x6a, 0xa7, 0xe7, + 0xbc, 0x9c, 0x20, 0xec, 0x00, 0x15, 0xe2, 0x51, 0xaf, 0x77, 0xeb, 0x29, 0x3c, 0x7d, 0x2e, + 0x00, 0x5c, 0x81, 0x21, 0xfa, 0x35, 0x6f, 0x40, 0xef, 0xfb, 0xd1, 0x3f, 0xcc, 0x9d, 0x55, + 0x53, 0xfb, 0x5a, 0xa5, 0x56, 0x89, 0x0b, 0x52, 0xeb, 0x57, 0x73, 0x4f, 0x1b, 0x67, 0x24, + 0xcb, 0xb8, 0x6a, 0x10, 0x69, 0xd6, 0xfb, 0x52, 0x40, 0xff, 0x20, 0xa5, 0xf3, 0x72, 0xe1, + 0x3d, 0xa4, 0x8c, 0x81, 0x66, 0x16, 0x0d, 0x5d, 0xad, 0xa8, 0x50, 0x25, 0x78, 0x31, 0x77, + 0x0c, 0x57, 0xe4, 0xe9, 0x15, 0x2d, 0xdb, 0x07, 0x87, 0xc8, 0xb0, 0x43, 0xde, 0xfc, 0xfe, + 0xa9, 0xeb, 0xf5, 0xb0, 0xd3, 0x7b, 0xe9, 0x1f, 0x6e, 0xca, 0xe4, 0x03, 0x95, 0xc5, 0xd1, + 0x59, 0x72, 0x63, 0xf0, 0x86, 0x54, 0xe8, 0x16, 0x62, 0x0b, 0x35, 0x29, 0xc2, 0x68, 0xd0, + 0xd6, 0x3e, 0x90, 0x60, 0x57, 0x1d, 0xc9, 0xed, 0x3f, 0xed, 0xb0, 0x2f, 0x7e, 0x97, 0x02, + 0x51, 0xec, 0xee, 0x6f, 0x82, 0x74, 0x76, 0x7f, 0xfb, 0xd6, 0xc4, 0xc3, 0xdd, 0xe8, 0xb1, + 0x60, 0xfc, 0xc6, 0xb9, 0x0d, 0x6a, 0x33, 0x78, 0xc6, 0xc1, 0xbf, 0x86, 0x2c, 0x50, 0xcc, + 0x9a, 0x70, 0x8e, 0x7b, 0xec, 0xab, 0x95, 0xac, 0x53, 0xa0, 0x4b, 0x07, 0x88, 0xaf, 0x42, + 0xed, 0x19, 0x8d, 0xf6, 0x32, 0x17, 0x48, 0x47, 0x1d, 0x41, 0x6f, 0xfe, 0x2e, 0xa7, 0x8f, + 0x4b, 0xa0, 0x51, 0xf3, 0xbf, 0x02, 0x0a, 0x48, 0x58, 0xf7, 0xa1, 0x6d, 0xea, 0xa5, 0x13, + 0x5a, 0x5b, 0xea, 0x0c, 0x9e, 0x52, 0x4f, 0x9e, 0xb9, 0x71, 0x7f, 0x23, 0x83, 0xda, 0x1b, + 0x86, 0x9a, 0x41, 0x29, 0xda, 0x70, 0xe7, 0x64, 0xa1, 0x7b, 0xd5, 0x0a, 0x22, 0x0d, 0x5c, + 0x40, 0xc4, 0x81, 0x07, 0x25, 0x35, 0x4a, 0x1c, 0x10, 0xdb, 0x45, 0x0a, 0xff, 0x36, 0xd4, + 0xe0, 0xeb, 0x5f, 0x68, 0xd6, 0x67, 0xc6, 0xd0, 0x8b, 0x76, 0x1a, 0x7d, 0x59, 0x42, 0xa1, + 0xcb, 0x96, 0x4d, 0x84, 0x09, 0x9a, 0x3d, 0xe0, 0x52, 0x85, 0x6e, 0x48, 0x90, 0x85, 0x2a, + 0x63, 0xb2, 0x69, 0xd2, 0x00, 0x43, 0x31, 0x37, 0xb3, 0x52, 0xaf, 0x62, 0xfa, 0xc1, 0xe0, + 0x03, 0xfb, 0x62, 0xaa, 0x88, 0xc9, 0xb2, 0x2c, 0xd5, 0xa8, 0xf5, 0xa5, 0x4c, 0x12, 0x59, + 0x4e, 0x06, 0x5e, 0x9b, 0x15, 0x66, 0x11, 0xb2, 0x27, 0x92, 0xdc, 0x98, 0x59, 0xde, 0xdf, + 0xfa, 0x9a, 0x32, 0x2e, 0xc0, 0x5d, 0x3c, 0x33, 0x41, 0x6d, 0xaf, 0xb2, 0x25, 0x23, 0x14, + 0xa5, 0x7b, 0xc7, 0x9b, 0x68, 0xf3, 0xda, 0xeb, 0xe3, 0xa9, 0xe2, 0x6f, 0x0e, 0x1d, 0x1c, + 0xba, 0x55, 0xb6, 0x34, 0x6a, 0x93, 0x1f, 0x1f, 0xb8, 0x34, 0xc8, 0x84, 0x08, 0xb1, 0x6b, + 0x6a, 0x28, 0x74, 0x74, 0xe5, 0xeb, 0x75, 0xe9, 0x7c, 0xd8, 0xba, 0xd8, 0x42, 0xa5, 0xee, + 0x1f, 0x80, 0xd9, 0x96, 0xb2, 0x2e, 0xe7, 0xbf, 0xba, 0xeb, 0xd1, 0x69, 0xbb, 0x8f, 0xfd, + 0x5a, 0x63, 0x8f, 0x39, 0x7f, 0xdf, 0x1d, 0x37, 0xd2, 0x18, 0x35, 0x9d, 0xb6, 0xcc, 0xe4, + 0x27, 0x81, 0x89, 0x38, 0x38, 0x68, 0x33, 0xe7, 0x78, 0xd8, 0x76, 0xf5, 0xee, 0xd0, 0x4a, + 0x07, 0x69, 0x19, 0x7a, 0xad, 0x18, 0xb1, 0x94, 0x61, 0x45, 0x53, 0xa2, 0x48, 0xda, 0x96, + 0x4a, 0xf9, 0xee, 0x94, 0x2a, 0x1f, 0x6e, 0x18, 0x3c, 0x92, 0x46, 0xd1, 0x1a, 0x28, 0x18, + 0x32, 0x1f, 0x3a, 0x45, 0xbe, 0x04, 0x35, 0x92, 0xe5, 0xa3, 0xcb, 0xb5, 0x2e, 0x32, 0x43, + 0xac, 0x65, 0x17, 0x89, 0x99, 0x15, 0x03, 0x9e, 0xb1, 0x23, 0x2f, 0xed, 0x76, 0x4d, 0xd8, + 0xac, 0x21, 0x40, 0xc4, 0x99, 0x4e, 0x65, 0x71, 0x2c, 0xb3, 0x45, 0xab, 0xfb, 0xe7, 0x72, + 0x39, 0x56, 0x30, 0x6d, 0xfb, 0x74, 0xeb, 0x99, 0xf3, 0xcd, 0x57, 0x5c, 0x78, 0x75, 0xe9, + 0x8d, 0xc3, 0xa2, 0xfb, 0x5d, 0xe0, 0x90, 0xc5, 0x55, 0xad, 0x91, 0x53, 0x4e, 0x9e, 0xbd, + 0x8c, 0x49, 0xa4, 0xa4, 0x69, 0x10, 0x0c, 0xc5, 0x76, 0xe9, 0x25, 0x86, 0x8d, 0x66, 0x23, + 0xa8, 0xdb, 0x5c, 0xe8, 0xd9, 0x30, 0xe1, 0x15, 0x7b, 0xc0, 0x99, 0x0f, 0x03, 0xec, 0xaa, + 0x12, 0xef, 0xce, 0xd4, 0xea, 0x55, 0x5c, 0x08, 0x86, 0xf4, 0xf4, 0xb0, 0x83, 0x42, 0x95, + 0x37, 0xb6, 0x38, 0xe0, 0x2b, 0x54, 0x89, 0xbd, 0x4e, 0x20, 0x9d, 0x3f, 0xc3, 0x4b, 0xb7, + 0xec, 0xfa, 0x5a, 0x14, 0x03, 0xcb, 0x64, 0xc8, 0x34, 0x4a, 0x4b, 0x6e, 0xf8, 0x6e, 0x56, + 0xf6, 0xdd, 0x5f, 0xa1, 0x24, 0xe2, 0xd4, 0xd0, 0x82, 0x64, 0x1f, 0x8e, 0x9b, 0xfa, 0xb4, + 0xcb, 0xdb, 0x0a, 0xe8, 0x15, 0xfc, 0x15, 0xab, 0x4b, 0x18, 0xbf, 0xd4, 0x42, 0x14, 0x48, + 0x82, 0x85, 0xdd, 0xeb, 0x49, 0x1b, 0x0b, 0x0b, 0x05, 0xe9, 0xb4, 0xa1, 0x33, 0x0a, 0x5d, + 0x0e, 0x6c, 0x4b, 0xc0, 0xd6, 0x6c, 0x7c, 0xfb, 0x69, 0x0b, 0x53, 0x19, 0xe4, 0xf3, 0x35, + 0xfc, 0xbe, 0xa1, 0x34, 0x02, 0x09, 0x4f, 0x74, 0x86, 0x92, 0xcd, 0x5d, 0x1a, 0xc1, 0x27, + 0x0c, 0xf2, 0xc5, 0xcf, 0xdd, 0x23, 0x93, 0x02, 0xbd, 0x41, 0x5e, 0x42, 0xf0, 0xa0, 0x9d, + 0x0c, 0x72, 0xc8, 0xec, 0x32, 0x0a, 0x8a, 0xfd, 0x3d, 0x5a, 0x41, 0x27, 0x0c, 0x88, 0x59, + 0xad, 0x94, 0x2e, 0xef, 0x5d, 0x8f, 0xc7, 0xdf, 0x66, 0xe4, 0xdd, 0x56, 0x6c, 0x7b, 0xca, + 0x55, 0x81, 0xae, 0xae, 0x5c, 0x1b, 0x1a, 0xab, 0xae, 0x99, 0x8d, 0xcc, 0x42, 0x97, 0x59, + 0xf4, 0x14, 0x3f, 0x75, 0xc6, 0xd1, 0x88, 0xba, 0xaa, 0x84, 0x4a, 0xd0, 0x34, 0x08, 0x3b, + 0x7d, 0xdb, 0x15, 0x06, 0xb0, 0x5c, 0xbd, 0x40, 0xf5, 0xa8, 0xec, 0xae, 0x36, 0x40, 0xdd, + 0x90, 0x1c, 0x3e, 0x0d, 0x7e, 0x73, 0xc7, 0xc2, 0xc5, 0x6a, 0xff, 0x52, 0x05, 0x7f, 0xbe, + 0xd0, 0x92, 0xfd, 0xb3, 0x6f, 0xff, 0x5d, 0xb7, 0x97, 0x64, 0x73, 0x7b, 0xca, 0xd1, 0x98, + 0x24, 0x6b, 0x0b, 0x01, 0x68, 0xdd, 0x27, 0x85, 0x85, 0xb5, 0x83, 0xc1, 0xe0, 0x50, 0x64, + 0xc7, 0xaf, 0xf1, 0xc6, 0x4d, 0xb1, 0xef, 0xc9, 0xb4, 0x0a, 0x6d, 0x65, 0xf3, 0x47, 0xcc, + 0xa3, 0x02, 0x21, 0x0c, 0xbe, 0x22, 0x29, 0x05, 0xcf, 0x5f, 0xe8, 0x94, 0x6c, 0xe5, 0xdc, + 0xc4, 0xdf, 0xbe, 0x3e, 0xa8, 0xb4, 0x18, 0xb0, 0x99, 0xb8, 0x6f, 0xff, 0x5d, 0xb9, 0xfd, + 0x3b, 0x5d, 0x16, 0xbf, 0x3e, 0xd8, 0xb3, 0xd8, 0x08, 0x34, 0xf6, 0x47, 0x35, 0x5b, 0x72, + 0x1a, 0x33, 0xad, 0x52, 0x5d, 0xb8, 0xd0, 0x77, 0xc6, 0xab, 0xba, 0x55, 0x09, 0x5f, 0x02, + 0xf8, 0xd4, 0x5f, 0x53, 0x06, 0x91, 0xcd, 0x74, 0x42, 0xae, 0x54, 0x91, 0x81, 0x62, 0x13, + 0x6f, 0xd8, 0xa9, 0x77, 0xc3, 0x6c, 0xcb, 0xf1, 0x29, 0x5a, 0xcc, 0xda, 0x35, 0xbd, 0x52, + 0x23, 0xbe, 0x59, 0xeb, 0x12, 0x6d, 0xb7, 0x53, 0xee, 0xfc, 0xb4, 0x1b, 0x13, 0x5e, 0xba, + 0x16, 0x7c, 0xc5, 0xf3, 0xe3, 0x6d, 0x07, 0x78, 0xf5, 0x2b, 0x21, 0x05, 0x88, 0x4c, 0xc0, + 0xa1, 0xe3, 0x36, 0x10, 0xf8, 0x1b, 0xd8, 0x17, 0xfb, 0x6a, 0x4e, 0xd8, 0xb3, 0x47, 0x2d, + 0x99, 0xbd, 0xbb, 0x5d, 0x37, 0x7d, 0xba, 0xf1, 0xe1, 0x7c, 0xc0, 0xc5, 0x54, 0x62, 0x7f, + 0xcf, 0x5a, 0x4a, 0x93, 0xcc, 0xf1, 0x1b, 0x34, 0xc8, 0xa6, 0x05, 0x4c, 0x55, 0x8b, 0x54, + 0x84, 0xd5, 0x77, 0xeb, 0xc0, 0x6d, 0x3a, 0x29, 0xbd, 0x75, 0x61, 0x09, 0x9a, 0x2c, 0xbb, + 0xf7, 0x18, 0x79, 0x34, 0x90, 0x24, 0xa5, 0x81, 0x70, 0x87, 0xc5, 0x02, 0x7c, 0xba, 0xd4, + 0x5e, 0x14, 0x8e, 0xe4, 0xed, 0xa2, 0x61, 0x6a, 0xb9, 0x6e, 0xb5, 0x4a, 0xb9, 0x01, 0x46, + 0xf4, 0xcf, 0xbc, 0x09, 0x2f, 0x27, 0x4b, 0xbd, 0x86, 0x7a, 0x10, 0xe1, 0xd4, 0xc8, 0xd9, + 0x20, 0x8d, 0x8a, 0x63, 0x00, 0x63, 0x44, 0xeb, 0x54, 0x0b, 0x75, 0x49, 0x10, 0xa2, 0xa7, + 0xad, 0xb9, 0xd1, 0x01, 0x80, 0x63, 0x25, 0xc8, 0x12, 0xa6, 0xce, 0x1e, 0xbe, 0xfe, 0x7e, + 0x5f, 0x3c, 0xdb, 0x34, 0xea, 0x37, 0xec, 0x3b, 0xd5, 0x28, 0xd2, 0x07, 0x8c, 0x9a, 0xb6, + 0xee, 0x5e, 0x3e, 0xdf, 0x1d, 0x99, 0xb0, 0xe2, 0x46, 0xef, 0x5c, 0x1b, 0xb4, 0xea, 0x56, + 0x2e, 0xde, 0x1f, 0x9d, 0xb8, 0xd3, 0x24, 0xab, 0xd4, 0x2a, 0xd6, 0x2e, 0xde, 0x1f, 0x9d, + 0xb8, 0xf2, 0x66, 0x2f, 0xbd, 0xf8, 0x72, 0x66, 0x4e, 0x1e, 0x9f, 0x9d, 0xb8, 0xf2, 0x47, + 0x0c, 0x9a, 0xb6, 0xee, 0x3f, 0xfc, 0x7a, 0x57, 0x0d, 0x79, 0x70, 0x62, 0x27, 0xad, 0xb9, + 0xd1, 0x01, 0x61, 0x40, 0x02, 0x67, 0x2d, 0xd8, 0x32, 0xe6, 0x2f, 0xdc, 0x3a, 0xd7, 0x2c, + 0xbb, 0xf4, 0x4b, 0xf5, 0x49, 0xf1, 0x60, 0x23, 0xc4, 0x0a, 0x77, 0x4d, 0xf9, 0x51, 0x01, + 0x80, 0x63, 0x25, 0xa9, 0xb1, 0xe0, 0x42, 0xe7, 0x4c, 0x1a, 0x97, 0xac, 0xbb, 0xf4, 0x6a, + 0x37, 0xcd, 0x18, 0xb2, 0xe6, 0x2f, 0xdc, 0x1b, 0x95, 0xa8, 0xd2, 0x07, 0x6d, 0x58, 0x32, + 0xe6, 0x4e, 0x1e, 0x9f, 0xbc, 0xfa, 0x57, 0x0d, 0x79, 0x51, 0x20, 0xc2, 0x06, 0x6f, 0x5c, + 0x1b, 0x95, 0xa8, 0xb3, 0xc5, 0xe9, 0x31, 0xe0, 0x23, 0xc4, 0x0a, 0x77, 0x4d, 0x18, 0x93, + 0x85, 0x69, 0x31, 0xc1, 0xe1, 0x21, 0xc0, 0xe3, 0x44, 0x0a, 0x77, 0x6c, 0x5a, 0x17, 0x8d, + 0x98, 0x93, 0xa4, 0xab, 0xd4, 0x2a, 0xb7, 0xec, 0x5a, 0x17, 0xac, 0xbb, 0xf4, 0x4b, 0x14, + 0xaa, 0xb7, 0xec, 0x3b, 0xd5, 0x28, 0xb3, 0xc5, 0xe9, 0x31, 0xc1, 0x00, 0x82, 0x67, 0x4c, + 0xfb, 0x55, 0x28, 0xd2, 0x26, 0xaf, 0xbd, 0xd9, 0x11, 0x81, 0x61, 0x21, 0xa1, 0xa1, 0xc0, + 0x02, 0x86, 0x6f, 0x5c, 0x1b, 0xb4, 0xcb, 0x14, 0x8b, 0x94, 0xaa, 0xd6, 0x2e, 0xbf, 0xdd, + 0x19, 0xb0, 0xe2, 0x46, 0x0e, 0x7f, 0x7c, 0x5b, 0x15, 0x89, 0x90, 0x83, 0x84, 0x6b, 0x54, + 0x0b, 0x75, 0x68, 0x52, 0x07, 0x6d, 0x58, 0x32, 0xc7, 0xed, 0x58, 0x32, 0xc7, 0xed, 0x58, + 0x32, 0xe6, 0x4e, 0xff, 0x7c, 0x7a, 0x76, 0x6e, 0x3f, 0xdd, 0x38, 0xd3, 0x05, 0x88, 0x92, + 0xa6, 0xaf, 0xdc, 0x1b, 0xb4, 0xcb, 0xf5, 0x68, 0x52, 0x07, 0x8c, 0x7b, 0x55, 0x09, 0x90, + 0x83, 0x84, 0x6b, 0x54, 0x2a, 0xb7, 0xec, 0x3b, 0xd5, 0x09, 0x90, 0xa2, 0xc6, 0x0e, 0x7f, + 0x7c, 0x7a, 0x57, 0x0d, 0x98, 0xb2, 0xc7, 0xed, 0x58, 0x32, 0xc7, 0x0c, 0x7b, 0x74, 0x4b, + 0x14, 0x8b, 0x94, 0xaa, 0xb7, 0xcd, 0x18, 0x93, 0xa4, 0xca, 0x16, 0xae, 0xbf, 0xdd, 0x19, + 0xb0, 0xe2, 0x46, 0x0e, 0x7f, 0x5d, 0x19, 0x91, 0x81, 0x80, 0x63, 0x44, 0xeb, 0x35, 0xc9, + 0x10, 0x83, 0x65, 0x48, 0x12, 0xa6, 0xce, 0x1e, 0x9f, 0xbc, 0xdb, 0x15, 0x89, 0x71, 0x60, + 0x23, 0xc4, 0xeb, 0x54, 0x2a, 0xb7, 0xec, 0x5a, 0x36, 0xcf, 0x81, 0x10, 0xac, 0x74 +}; // clang-format off diff --git a/quantum/pointing_device.h b/quantum/pointing_device.h index 00229e8a24d6..6ff267e49189 100644 --- a/quantum/pointing_device.h +++ b/quantum/pointing_device.h @@ -47,6 +47,9 @@ along with this program. If not, see . #elif defined(POINTING_DEVICE_DRIVER_pmw3360) # include "spi_master.h" # include "drivers/sensors/pmw3360.h" +#elif defined(POINTING_DEVICE_DRIVER_pmw3389) +# include "spi_master.h" +# include "drivers/sensors/pmw3389.h" #else void pointing_device_driver_init(void); report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report); diff --git a/quantum/pointing_device_drivers.c b/quantum/pointing_device_drivers.c index 260a6d2eb437..4333bbb095f3 100644 --- a/quantum/pointing_device_drivers.c +++ b/quantum/pointing_device_drivers.c @@ -242,6 +242,42 @@ const pointing_device_driver_t pointing_device_driver = { .get_cpi = pmw3360_get_cpi }; // clang-format on +#elif defined(POINTING_DEVICE_DRIVER_pmw3389) +static void pmw3389_device_init(void) { pmw3389_init(); } + +report_mouse_t pmw3389_get_report(report_mouse_t mouse_report) { + report_pmw3389_t data = pmw3389_read_burst(); + static uint16_t MotionStart = 0; // Timer for accel, 0 is resting state + + if (data.isOnSurface && data.isMotion) { + // Reset timer if stopped moving + if (!data.isMotion) { + if (MotionStart != 0) MotionStart = 0; + return mouse_report; + } + + // Set timer if new motion + if ((MotionStart == 0) && data.isMotion) { +# ifdef CONSOLE_ENABLE + if (debug_mouse) dprintf("Starting motion.\n"); +# endif + MotionStart = timer_read(); + } + mouse_report.x = constrain_hid(data.dx); + mouse_report.y = constrain_hid(data.dy); + } + + return mouse_report; +} + +// clang-format off +const pointing_device_driver_t pointing_device_driver = { + .init = pmw3389_device_init, + .get_report = pmw3389_get_report, + .set_cpi = pmw3389_set_cpi, + .get_cpi = pmw3389_get_cpi +}; +// clang-format on #else __attribute__((weak)) void pointing_device_driver_init(void) {} __attribute__((weak)) report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { return mouse_report; } From 92b2738bbbe98db0224972c612e06fe3f2f86045 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Thu, 13 Jan 2022 06:13:45 +0800 Subject: [PATCH 0085/1832] move @kakunpc 's keebs into kakunpc/ (#15814) Co-authored-by: kakunpc <15257475+kakunpc@users.noreply.github.com> --- keyboards/{ => kakunpc}/angel17/.noci | 0 keyboards/{ => kakunpc}/angel17/alpha/.noci | 0 keyboards/{ => kakunpc}/angel17/alpha/alpha.c | 0 keyboards/{ => kakunpc}/angel17/alpha/alpha.h | 0 keyboards/{ => kakunpc}/angel17/alpha/config.h | 0 keyboards/{ => kakunpc}/angel17/alpha/rules.mk | 0 keyboards/{ => kakunpc}/angel17/info.json | 0 keyboards/{ => kakunpc}/angel17/keymaps/default/keymap.c | 0 keyboards/{ => kakunpc}/angel17/keymaps/default/readme.md | 0 keyboards/{ => kakunpc}/angel17/readme.md | 2 +- keyboards/{ => kakunpc}/angel17/rev1/config.h | 0 keyboards/{ => kakunpc}/angel17/rev1/rev1.c | 0 keyboards/{ => kakunpc}/angel17/rev1/rev1.h | 0 keyboards/{ => kakunpc}/angel17/rev1/rules.mk | 0 keyboards/{ => kakunpc}/angel17/rules.mk | 2 +- keyboards/{ => kakunpc}/angel64/.noci | 0 keyboards/{ => kakunpc}/angel64/alpha/.noci | 0 keyboards/{ => kakunpc}/angel64/alpha/alpha.c | 0 keyboards/{ => kakunpc}/angel64/alpha/alpha.h | 0 keyboards/{ => kakunpc}/angel64/alpha/config.h | 0 keyboards/{ => kakunpc}/angel64/alpha/info.json | 0 .../{ => kakunpc}/angel64/alpha/keymaps/default/keymap.c | 0 .../{ => kakunpc}/angel64/alpha/keymaps/default/readme.md | 0 keyboards/{ => kakunpc}/angel64/alpha/matrix.c | 0 keyboards/{ => kakunpc}/angel64/alpha/readme.md | 2 +- keyboards/{ => kakunpc}/angel64/alpha/rules.mk | 0 keyboards/{ => kakunpc}/angel64/readme.md | 2 +- keyboards/{ => kakunpc}/angel64/rev1/config.h | 0 keyboards/{ => kakunpc}/angel64/rev1/info.json | 0 keyboards/{ => kakunpc}/angel64/rev1/keymaps/default/keymap.c | 0 .../{ => kakunpc}/angel64/rev1/keymaps/default/readme.md | 0 keyboards/{ => kakunpc}/angel64/rev1/keymaps/kakunpc/config.h | 0 keyboards/{ => kakunpc}/angel64/rev1/keymaps/kakunpc/keymap.c | 0 .../{ => kakunpc}/angel64/rev1/keymaps/kakunpc/readme.md | 0 keyboards/{ => kakunpc}/angel64/rev1/matrix.c | 0 keyboards/{ => kakunpc}/angel64/rev1/readme.md | 2 +- keyboards/{ => kakunpc}/angel64/rev1/rev1.c | 0 keyboards/{ => kakunpc}/angel64/rev1/rev1.h | 0 keyboards/{ => kakunpc}/angel64/rev1/rules.mk | 0 keyboards/{ => kakunpc}/angel64/rules.mk | 2 +- keyboards/{ => kakunpc}/business_card/.noci | 0 keyboards/{ => kakunpc}/business_card/alpha/.noci | 0 keyboards/{ => kakunpc}/business_card/alpha/alpha.c | 0 keyboards/{ => kakunpc}/business_card/alpha/alpha.h | 0 keyboards/{ => kakunpc}/business_card/alpha/config.h | 0 keyboards/{ => kakunpc}/business_card/alpha/info.json | 0 .../business_card/alpha/keymaps/default/config.h | 0 .../business_card/alpha/keymaps/default/keymap.c | 0 .../business_card/alpha/keymaps/default/readme.md | 0 keyboards/{ => kakunpc}/business_card/alpha/rules.mk | 0 keyboards/{ => kakunpc}/business_card/beta/beta.c | 0 keyboards/{ => kakunpc}/business_card/beta/beta.h | 0 keyboards/{ => kakunpc}/business_card/beta/config.h | 0 keyboards/{ => kakunpc}/business_card/beta/info.json | 0 .../{ => kakunpc}/business_card/beta/keymaps/default/config.h | 0 .../{ => kakunpc}/business_card/beta/keymaps/default/keymap.c | 0 .../business_card/beta/keymaps/default/readme.md | 0 keyboards/{ => kakunpc}/business_card/beta/rules.mk | 0 keyboards/{ => kakunpc}/business_card/business_card.c | 0 keyboards/{ => kakunpc}/business_card/business_card.h | 4 ++-- keyboards/{ => kakunpc}/business_card/config.h | 0 keyboards/{ => kakunpc}/business_card/readme.md | 2 +- keyboards/{ => kakunpc}/business_card/rules.mk | 2 +- keyboards/{ => kakunpc}/choc_taro/choc_taro.c | 0 keyboards/{ => kakunpc}/choc_taro/choc_taro.h | 0 keyboards/{ => kakunpc}/choc_taro/config.h | 0 keyboards/{ => kakunpc}/choc_taro/info.json | 0 keyboards/{ => kakunpc}/choc_taro/keymaps/default/keymap.c | 0 keyboards/{ => kakunpc}/choc_taro/keymaps/default/readme.md | 0 keyboards/{ => kakunpc}/choc_taro/keymaps/via/keymap.c | 0 keyboards/{ => kakunpc}/choc_taro/keymaps/via/readme.md | 0 keyboards/{ => kakunpc}/choc_taro/keymaps/via/rules.mk | 0 keyboards/{ => kakunpc}/choc_taro/matrix.c | 0 keyboards/{ => kakunpc}/choc_taro/readme.md | 2 +- keyboards/{ => kakunpc}/choc_taro/rules.mk | 0 keyboards/{ => kakunpc}/rabbit_capture_plan/config.h | 0 keyboards/{ => kakunpc}/rabbit_capture_plan/info.json | 0 .../rabbit_capture_plan/keymaps/default/keymap.c | 0 .../rabbit_capture_plan/keymaps/default/readme.md | 0 .../{ => kakunpc}/rabbit_capture_plan/keymaps/via/keymap.c | 0 .../{ => kakunpc}/rabbit_capture_plan/keymaps/via/readme.md | 0 .../{ => kakunpc}/rabbit_capture_plan/keymaps/via/rules.mk | 0 .../{ => kakunpc}/rabbit_capture_plan/rabbit_capture_plan.c | 0 .../{ => kakunpc}/rabbit_capture_plan/rabbit_capture_plan.h | 0 keyboards/{ => kakunpc}/rabbit_capture_plan/readme.md | 4 ++-- keyboards/{ => kakunpc}/rabbit_capture_plan/rules.mk | 0 keyboards/{ => kakunpc}/suihankey/alpha/alpha.c | 0 keyboards/{ => kakunpc}/suihankey/alpha/alpha.h | 0 keyboards/{ => kakunpc}/suihankey/alpha/config.h | 0 keyboards/{ => kakunpc}/suihankey/alpha/info.json | 0 .../{ => kakunpc}/suihankey/alpha/keymaps/default/keymap.c | 0 .../{ => kakunpc}/suihankey/alpha/keymaps/default/readme.md | 0 keyboards/{ => kakunpc}/suihankey/alpha/readme.md | 0 keyboards/{ => kakunpc}/suihankey/alpha/rules.mk | 0 keyboards/{ => kakunpc}/suihankey/readme.md | 2 +- keyboards/{ => kakunpc}/suihankey/rev1/config.h | 0 keyboards/{ => kakunpc}/suihankey/rev1/info.json | 0 .../{ => kakunpc}/suihankey/rev1/keymaps/default/keymap.c | 0 .../{ => kakunpc}/suihankey/rev1/keymaps/default/readme.md | 0 keyboards/{ => kakunpc}/suihankey/rev1/readme.md | 0 keyboards/{ => kakunpc}/suihankey/rev1/rev1.c | 0 keyboards/{ => kakunpc}/suihankey/rev1/rev1.h | 0 keyboards/{ => kakunpc}/suihankey/rev1/rules.mk | 0 keyboards/{ => kakunpc}/suihankey/rules.mk | 2 +- keyboards/{ => kakunpc}/suihankey/split/.noci | 0 keyboards/{ => kakunpc}/suihankey/split/alpha/.noci | 0 keyboards/{ => kakunpc}/suihankey/split/alpha/alpha.c | 0 keyboards/{ => kakunpc}/suihankey/split/alpha/alpha.h | 0 keyboards/{ => kakunpc}/suihankey/split/alpha/config.h | 0 keyboards/{ => kakunpc}/suihankey/split/alpha/readme.md | 2 +- keyboards/{ => kakunpc}/suihankey/split/alpha/rules.mk | 0 keyboards/{ => kakunpc}/suihankey/split/info.json | 0 .../{ => kakunpc}/suihankey/split/keymaps/default/keymap.c | 0 .../{ => kakunpc}/suihankey/split/keymaps/default/readme.md | 0 keyboards/{ => kakunpc}/suihankey/split/readme.md | 2 +- keyboards/{ => kakunpc}/suihankey/split/rev1/config.h | 0 keyboards/{ => kakunpc}/suihankey/split/rev1/readme.md | 2 +- keyboards/{ => kakunpc}/suihankey/split/rev1/rev1.c | 0 keyboards/{ => kakunpc}/suihankey/split/rev1/rev1.h | 0 keyboards/{ => kakunpc}/suihankey/split/rev1/rules.mk | 0 keyboards/{ => kakunpc}/suihankey/split/rules.mk | 0 keyboards/{ => kakunpc}/thedogkeyboard/config.h | 0 keyboards/{ => kakunpc}/thedogkeyboard/info.json | 0 .../{ => kakunpc}/thedogkeyboard/keymaps/default/keymap.c | 0 .../{ => kakunpc}/thedogkeyboard/keymaps/default/readme.md | 0 .../{ => kakunpc}/thedogkeyboard/keymaps/kakunpc/keymap.c | 0 .../{ => kakunpc}/thedogkeyboard/keymaps/kakunpc/readme.md | 0 keyboards/{ => kakunpc}/thedogkeyboard/matrix.c | 0 keyboards/{ => kakunpc}/thedogkeyboard/readme.md | 2 +- keyboards/{ => kakunpc}/thedogkeyboard/rules.mk | 0 keyboards/{ => kakunpc}/thedogkeyboard/thedogkeyboard.c | 0 keyboards/{ => kakunpc}/thedogkeyboard/thedogkeyboard.h | 0 132 files changed, 19 insertions(+), 19 deletions(-) rename keyboards/{ => kakunpc}/angel17/.noci (100%) rename keyboards/{ => kakunpc}/angel17/alpha/.noci (100%) rename keyboards/{ => kakunpc}/angel17/alpha/alpha.c (100%) rename keyboards/{ => kakunpc}/angel17/alpha/alpha.h (100%) rename keyboards/{ => kakunpc}/angel17/alpha/config.h (100%) rename keyboards/{ => kakunpc}/angel17/alpha/rules.mk (100%) rename keyboards/{ => kakunpc}/angel17/info.json (100%) rename keyboards/{ => kakunpc}/angel17/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/angel17/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/angel17/readme.md (94%) rename keyboards/{ => kakunpc}/angel17/rev1/config.h (100%) rename keyboards/{ => kakunpc}/angel17/rev1/rev1.c (100%) rename keyboards/{ => kakunpc}/angel17/rev1/rev1.h (100%) rename keyboards/{ => kakunpc}/angel17/rev1/rules.mk (100%) rename keyboards/{ => kakunpc}/angel17/rules.mk (94%) rename keyboards/{ => kakunpc}/angel64/.noci (100%) rename keyboards/{ => kakunpc}/angel64/alpha/.noci (100%) rename keyboards/{ => kakunpc}/angel64/alpha/alpha.c (100%) rename keyboards/{ => kakunpc}/angel64/alpha/alpha.h (100%) rename keyboards/{ => kakunpc}/angel64/alpha/config.h (100%) rename keyboards/{ => kakunpc}/angel64/alpha/info.json (100%) rename keyboards/{ => kakunpc}/angel64/alpha/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/angel64/alpha/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/angel64/alpha/matrix.c (100%) rename keyboards/{ => kakunpc}/angel64/alpha/readme.md (94%) rename keyboards/{ => kakunpc}/angel64/alpha/rules.mk (100%) rename keyboards/{ => kakunpc}/angel64/readme.md (94%) rename keyboards/{ => kakunpc}/angel64/rev1/config.h (100%) rename keyboards/{ => kakunpc}/angel64/rev1/info.json (100%) rename keyboards/{ => kakunpc}/angel64/rev1/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/angel64/rev1/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/angel64/rev1/keymaps/kakunpc/config.h (100%) rename keyboards/{ => kakunpc}/angel64/rev1/keymaps/kakunpc/keymap.c (100%) rename keyboards/{ => kakunpc}/angel64/rev1/keymaps/kakunpc/readme.md (100%) rename keyboards/{ => kakunpc}/angel64/rev1/matrix.c (100%) rename keyboards/{ => kakunpc}/angel64/rev1/readme.md (94%) rename keyboards/{ => kakunpc}/angel64/rev1/rev1.c (100%) rename keyboards/{ => kakunpc}/angel64/rev1/rev1.h (100%) rename keyboards/{ => kakunpc}/angel64/rev1/rules.mk (100%) rename keyboards/{ => kakunpc}/angel64/rules.mk (94%) rename keyboards/{ => kakunpc}/business_card/.noci (100%) rename keyboards/{ => kakunpc}/business_card/alpha/.noci (100%) rename keyboards/{ => kakunpc}/business_card/alpha/alpha.c (100%) rename keyboards/{ => kakunpc}/business_card/alpha/alpha.h (100%) rename keyboards/{ => kakunpc}/business_card/alpha/config.h (100%) rename keyboards/{ => kakunpc}/business_card/alpha/info.json (100%) rename keyboards/{ => kakunpc}/business_card/alpha/keymaps/default/config.h (100%) rename keyboards/{ => kakunpc}/business_card/alpha/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/business_card/alpha/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/business_card/alpha/rules.mk (100%) rename keyboards/{ => kakunpc}/business_card/beta/beta.c (100%) rename keyboards/{ => kakunpc}/business_card/beta/beta.h (100%) rename keyboards/{ => kakunpc}/business_card/beta/config.h (100%) rename keyboards/{ => kakunpc}/business_card/beta/info.json (100%) rename keyboards/{ => kakunpc}/business_card/beta/keymaps/default/config.h (100%) rename keyboards/{ => kakunpc}/business_card/beta/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/business_card/beta/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/business_card/beta/rules.mk (100%) rename keyboards/{ => kakunpc}/business_card/business_card.c (100%) rename keyboards/{ => kakunpc}/business_card/business_card.h (89%) rename keyboards/{ => kakunpc}/business_card/config.h (100%) rename keyboards/{ => kakunpc}/business_card/readme.md (93%) rename keyboards/{ => kakunpc}/business_card/rules.mk (93%) rename keyboards/{ => kakunpc}/choc_taro/choc_taro.c (100%) rename keyboards/{ => kakunpc}/choc_taro/choc_taro.h (100%) rename keyboards/{ => kakunpc}/choc_taro/config.h (100%) rename keyboards/{ => kakunpc}/choc_taro/info.json (100%) rename keyboards/{ => kakunpc}/choc_taro/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/choc_taro/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/choc_taro/keymaps/via/keymap.c (100%) rename keyboards/{ => kakunpc}/choc_taro/keymaps/via/readme.md (100%) rename keyboards/{ => kakunpc}/choc_taro/keymaps/via/rules.mk (100%) rename keyboards/{ => kakunpc}/choc_taro/matrix.c (100%) rename keyboards/{ => kakunpc}/choc_taro/readme.md (94%) rename keyboards/{ => kakunpc}/choc_taro/rules.mk (100%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/config.h (100%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/info.json (100%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/keymaps/via/keymap.c (100%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/keymaps/via/readme.md (100%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/keymaps/via/rules.mk (100%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/rabbit_capture_plan.c (100%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/rabbit_capture_plan.h (100%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/readme.md (88%) rename keyboards/{ => kakunpc}/rabbit_capture_plan/rules.mk (100%) rename keyboards/{ => kakunpc}/suihankey/alpha/alpha.c (100%) rename keyboards/{ => kakunpc}/suihankey/alpha/alpha.h (100%) rename keyboards/{ => kakunpc}/suihankey/alpha/config.h (100%) rename keyboards/{ => kakunpc}/suihankey/alpha/info.json (100%) rename keyboards/{ => kakunpc}/suihankey/alpha/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/suihankey/alpha/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/suihankey/alpha/readme.md (100%) rename keyboards/{ => kakunpc}/suihankey/alpha/rules.mk (100%) rename keyboards/{ => kakunpc}/suihankey/readme.md (94%) rename keyboards/{ => kakunpc}/suihankey/rev1/config.h (100%) rename keyboards/{ => kakunpc}/suihankey/rev1/info.json (100%) rename keyboards/{ => kakunpc}/suihankey/rev1/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/suihankey/rev1/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/suihankey/rev1/readme.md (100%) rename keyboards/{ => kakunpc}/suihankey/rev1/rev1.c (100%) rename keyboards/{ => kakunpc}/suihankey/rev1/rev1.h (100%) rename keyboards/{ => kakunpc}/suihankey/rev1/rules.mk (100%) rename keyboards/{ => kakunpc}/suihankey/rules.mk (94%) rename keyboards/{ => kakunpc}/suihankey/split/.noci (100%) rename keyboards/{ => kakunpc}/suihankey/split/alpha/.noci (100%) rename keyboards/{ => kakunpc}/suihankey/split/alpha/alpha.c (100%) rename keyboards/{ => kakunpc}/suihankey/split/alpha/alpha.h (100%) rename keyboards/{ => kakunpc}/suihankey/split/alpha/config.h (100%) rename keyboards/{ => kakunpc}/suihankey/split/alpha/readme.md (94%) rename keyboards/{ => kakunpc}/suihankey/split/alpha/rules.mk (100%) rename keyboards/{ => kakunpc}/suihankey/split/info.json (100%) rename keyboards/{ => kakunpc}/suihankey/split/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/suihankey/split/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/suihankey/split/readme.md (94%) rename keyboards/{ => kakunpc}/suihankey/split/rev1/config.h (100%) rename keyboards/{ => kakunpc}/suihankey/split/rev1/readme.md (94%) rename keyboards/{ => kakunpc}/suihankey/split/rev1/rev1.c (100%) rename keyboards/{ => kakunpc}/suihankey/split/rev1/rev1.h (100%) rename keyboards/{ => kakunpc}/suihankey/split/rev1/rules.mk (100%) rename keyboards/{ => kakunpc}/suihankey/split/rules.mk (100%) rename keyboards/{ => kakunpc}/thedogkeyboard/config.h (100%) rename keyboards/{ => kakunpc}/thedogkeyboard/info.json (100%) rename keyboards/{ => kakunpc}/thedogkeyboard/keymaps/default/keymap.c (100%) rename keyboards/{ => kakunpc}/thedogkeyboard/keymaps/default/readme.md (100%) rename keyboards/{ => kakunpc}/thedogkeyboard/keymaps/kakunpc/keymap.c (100%) rename keyboards/{ => kakunpc}/thedogkeyboard/keymaps/kakunpc/readme.md (100%) rename keyboards/{ => kakunpc}/thedogkeyboard/matrix.c (100%) rename keyboards/{ => kakunpc}/thedogkeyboard/readme.md (94%) rename keyboards/{ => kakunpc}/thedogkeyboard/rules.mk (100%) rename keyboards/{ => kakunpc}/thedogkeyboard/thedogkeyboard.c (100%) rename keyboards/{ => kakunpc}/thedogkeyboard/thedogkeyboard.h (100%) diff --git a/keyboards/angel17/.noci b/keyboards/kakunpc/angel17/.noci similarity index 100% rename from keyboards/angel17/.noci rename to keyboards/kakunpc/angel17/.noci diff --git a/keyboards/angel17/alpha/.noci b/keyboards/kakunpc/angel17/alpha/.noci similarity index 100% rename from keyboards/angel17/alpha/.noci rename to keyboards/kakunpc/angel17/alpha/.noci diff --git a/keyboards/angel17/alpha/alpha.c b/keyboards/kakunpc/angel17/alpha/alpha.c similarity index 100% rename from keyboards/angel17/alpha/alpha.c rename to keyboards/kakunpc/angel17/alpha/alpha.c diff --git a/keyboards/angel17/alpha/alpha.h b/keyboards/kakunpc/angel17/alpha/alpha.h similarity index 100% rename from keyboards/angel17/alpha/alpha.h rename to keyboards/kakunpc/angel17/alpha/alpha.h diff --git a/keyboards/angel17/alpha/config.h b/keyboards/kakunpc/angel17/alpha/config.h similarity index 100% rename from keyboards/angel17/alpha/config.h rename to keyboards/kakunpc/angel17/alpha/config.h diff --git a/keyboards/angel17/alpha/rules.mk b/keyboards/kakunpc/angel17/alpha/rules.mk similarity index 100% rename from keyboards/angel17/alpha/rules.mk rename to keyboards/kakunpc/angel17/alpha/rules.mk diff --git a/keyboards/angel17/info.json b/keyboards/kakunpc/angel17/info.json similarity index 100% rename from keyboards/angel17/info.json rename to keyboards/kakunpc/angel17/info.json diff --git a/keyboards/angel17/keymaps/default/keymap.c b/keyboards/kakunpc/angel17/keymaps/default/keymap.c similarity index 100% rename from keyboards/angel17/keymaps/default/keymap.c rename to keyboards/kakunpc/angel17/keymaps/default/keymap.c diff --git a/keyboards/angel17/keymaps/default/readme.md b/keyboards/kakunpc/angel17/keymaps/default/readme.md similarity index 100% rename from keyboards/angel17/keymaps/default/readme.md rename to keyboards/kakunpc/angel17/keymaps/default/readme.md diff --git a/keyboards/angel17/readme.md b/keyboards/kakunpc/angel17/readme.md similarity index 94% rename from keyboards/angel17/readme.md rename to keyboards/kakunpc/angel17/readme.md index 8c9b80668558..16914887a635 100644 --- a/keyboards/angel17/readme.md +++ b/keyboards/kakunpc/angel17/readme.md @@ -10,6 +10,6 @@ Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/)) Make example for this keyboard (after setting up your build environment): - make angel17:default + make kakunpc/angel17/rev1:default 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/angel17/rev1/config.h b/keyboards/kakunpc/angel17/rev1/config.h similarity index 100% rename from keyboards/angel17/rev1/config.h rename to keyboards/kakunpc/angel17/rev1/config.h diff --git a/keyboards/angel17/rev1/rev1.c b/keyboards/kakunpc/angel17/rev1/rev1.c similarity index 100% rename from keyboards/angel17/rev1/rev1.c rename to keyboards/kakunpc/angel17/rev1/rev1.c diff --git a/keyboards/angel17/rev1/rev1.h b/keyboards/kakunpc/angel17/rev1/rev1.h similarity index 100% rename from keyboards/angel17/rev1/rev1.h rename to keyboards/kakunpc/angel17/rev1/rev1.h diff --git a/keyboards/angel17/rev1/rules.mk b/keyboards/kakunpc/angel17/rev1/rules.mk similarity index 100% rename from keyboards/angel17/rev1/rules.mk rename to keyboards/kakunpc/angel17/rev1/rules.mk diff --git a/keyboards/angel17/rules.mk b/keyboards/kakunpc/angel17/rules.mk similarity index 94% rename from keyboards/angel17/rules.mk rename to keyboards/kakunpc/angel17/rules.mk index 6c73399ec160..35c999d465b9 100644 --- a/keyboards/angel17/rules.mk +++ b/keyboards/kakunpc/angel17/rules.mk @@ -19,4 +19,4 @@ AUDIO_ENABLE = no # Audio output LAYOUTS = numpad_5x4 -DEFAULT_FOLDER = angel17/rev1 +DEFAULT_FOLDER = kakunpc/angel17/rev1 diff --git a/keyboards/angel64/.noci b/keyboards/kakunpc/angel64/.noci similarity index 100% rename from keyboards/angel64/.noci rename to keyboards/kakunpc/angel64/.noci diff --git a/keyboards/angel64/alpha/.noci b/keyboards/kakunpc/angel64/alpha/.noci similarity index 100% rename from keyboards/angel64/alpha/.noci rename to keyboards/kakunpc/angel64/alpha/.noci diff --git a/keyboards/angel64/alpha/alpha.c b/keyboards/kakunpc/angel64/alpha/alpha.c similarity index 100% rename from keyboards/angel64/alpha/alpha.c rename to keyboards/kakunpc/angel64/alpha/alpha.c diff --git a/keyboards/angel64/alpha/alpha.h b/keyboards/kakunpc/angel64/alpha/alpha.h similarity index 100% rename from keyboards/angel64/alpha/alpha.h rename to keyboards/kakunpc/angel64/alpha/alpha.h diff --git a/keyboards/angel64/alpha/config.h b/keyboards/kakunpc/angel64/alpha/config.h similarity index 100% rename from keyboards/angel64/alpha/config.h rename to keyboards/kakunpc/angel64/alpha/config.h diff --git a/keyboards/angel64/alpha/info.json b/keyboards/kakunpc/angel64/alpha/info.json similarity index 100% rename from keyboards/angel64/alpha/info.json rename to keyboards/kakunpc/angel64/alpha/info.json diff --git a/keyboards/angel64/alpha/keymaps/default/keymap.c b/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c similarity index 100% rename from keyboards/angel64/alpha/keymaps/default/keymap.c rename to keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c diff --git a/keyboards/angel64/alpha/keymaps/default/readme.md b/keyboards/kakunpc/angel64/alpha/keymaps/default/readme.md similarity index 100% rename from keyboards/angel64/alpha/keymaps/default/readme.md rename to keyboards/kakunpc/angel64/alpha/keymaps/default/readme.md diff --git a/keyboards/angel64/alpha/matrix.c b/keyboards/kakunpc/angel64/alpha/matrix.c similarity index 100% rename from keyboards/angel64/alpha/matrix.c rename to keyboards/kakunpc/angel64/alpha/matrix.c diff --git a/keyboards/angel64/alpha/readme.md b/keyboards/kakunpc/angel64/alpha/readme.md similarity index 94% rename from keyboards/angel64/alpha/readme.md rename to keyboards/kakunpc/angel64/alpha/readme.md index d646edeb7eee..4de66e670631 100644 --- a/keyboards/angel64/alpha/readme.md +++ b/keyboards/kakunpc/angel64/alpha/readme.md @@ -10,6 +10,6 @@ Keyboard for tablets. Make example for this keyboard (after setting up your build environment): - make angel64/alpha:default + make kakunpc/angel64/alpha:default 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/angel64/alpha/rules.mk b/keyboards/kakunpc/angel64/alpha/rules.mk similarity index 100% rename from keyboards/angel64/alpha/rules.mk rename to keyboards/kakunpc/angel64/alpha/rules.mk diff --git a/keyboards/angel64/readme.md b/keyboards/kakunpc/angel64/readme.md similarity index 94% rename from keyboards/angel64/readme.md rename to keyboards/kakunpc/angel64/readme.md index 791620144e24..41f8233afb67 100644 --- a/keyboards/angel64/readme.md +++ b/keyboards/kakunpc/angel64/readme.md @@ -10,6 +10,6 @@ Keyboard for tablets. Make example for this keyboard (after setting up your build environment): - make angel64:default + make kakunpc/angel64/rev1:default 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/angel64/rev1/config.h b/keyboards/kakunpc/angel64/rev1/config.h similarity index 100% rename from keyboards/angel64/rev1/config.h rename to keyboards/kakunpc/angel64/rev1/config.h diff --git a/keyboards/angel64/rev1/info.json b/keyboards/kakunpc/angel64/rev1/info.json similarity index 100% rename from keyboards/angel64/rev1/info.json rename to keyboards/kakunpc/angel64/rev1/info.json diff --git a/keyboards/angel64/rev1/keymaps/default/keymap.c b/keyboards/kakunpc/angel64/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/angel64/rev1/keymaps/default/keymap.c rename to keyboards/kakunpc/angel64/rev1/keymaps/default/keymap.c diff --git a/keyboards/angel64/rev1/keymaps/default/readme.md b/keyboards/kakunpc/angel64/rev1/keymaps/default/readme.md similarity index 100% rename from keyboards/angel64/rev1/keymaps/default/readme.md rename to keyboards/kakunpc/angel64/rev1/keymaps/default/readme.md diff --git a/keyboards/angel64/rev1/keymaps/kakunpc/config.h b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h similarity index 100% rename from keyboards/angel64/rev1/keymaps/kakunpc/config.h rename to keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h diff --git a/keyboards/angel64/rev1/keymaps/kakunpc/keymap.c b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c similarity index 100% rename from keyboards/angel64/rev1/keymaps/kakunpc/keymap.c rename to keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c diff --git a/keyboards/angel64/rev1/keymaps/kakunpc/readme.md b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/readme.md similarity index 100% rename from keyboards/angel64/rev1/keymaps/kakunpc/readme.md rename to keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/readme.md diff --git a/keyboards/angel64/rev1/matrix.c b/keyboards/kakunpc/angel64/rev1/matrix.c similarity index 100% rename from keyboards/angel64/rev1/matrix.c rename to keyboards/kakunpc/angel64/rev1/matrix.c diff --git a/keyboards/angel64/rev1/readme.md b/keyboards/kakunpc/angel64/rev1/readme.md similarity index 94% rename from keyboards/angel64/rev1/readme.md rename to keyboards/kakunpc/angel64/rev1/readme.md index 4ce77807c903..4809710a43bd 100644 --- a/keyboards/angel64/rev1/readme.md +++ b/keyboards/kakunpc/angel64/rev1/readme.md @@ -10,6 +10,6 @@ Keyboard for tablets. Make example for this keyboard (after setting up your build environment): - make angel64/rev1:default + make kakunpc/angel64/rev1:default 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/angel64/rev1/rev1.c b/keyboards/kakunpc/angel64/rev1/rev1.c similarity index 100% rename from keyboards/angel64/rev1/rev1.c rename to keyboards/kakunpc/angel64/rev1/rev1.c diff --git a/keyboards/angel64/rev1/rev1.h b/keyboards/kakunpc/angel64/rev1/rev1.h similarity index 100% rename from keyboards/angel64/rev1/rev1.h rename to keyboards/kakunpc/angel64/rev1/rev1.h diff --git a/keyboards/angel64/rev1/rules.mk b/keyboards/kakunpc/angel64/rev1/rules.mk similarity index 100% rename from keyboards/angel64/rev1/rules.mk rename to keyboards/kakunpc/angel64/rev1/rules.mk diff --git a/keyboards/angel64/rules.mk b/keyboards/kakunpc/angel64/rules.mk similarity index 94% rename from keyboards/angel64/rules.mk rename to keyboards/kakunpc/angel64/rules.mk index 9bf41a18ccdd..ca4e93f35cb6 100644 --- a/keyboards/angel64/rules.mk +++ b/keyboards/kakunpc/angel64/rules.mk @@ -22,4 +22,4 @@ CUSTOM_MATRIX = yes SRC += matrix.c -DEFAULT_FOLDER = angel64/rev1 +DEFAULT_FOLDER = kakunpc/angel64/rev1 diff --git a/keyboards/business_card/.noci b/keyboards/kakunpc/business_card/.noci similarity index 100% rename from keyboards/business_card/.noci rename to keyboards/kakunpc/business_card/.noci diff --git a/keyboards/business_card/alpha/.noci b/keyboards/kakunpc/business_card/alpha/.noci similarity index 100% rename from keyboards/business_card/alpha/.noci rename to keyboards/kakunpc/business_card/alpha/.noci diff --git a/keyboards/business_card/alpha/alpha.c b/keyboards/kakunpc/business_card/alpha/alpha.c similarity index 100% rename from keyboards/business_card/alpha/alpha.c rename to keyboards/kakunpc/business_card/alpha/alpha.c diff --git a/keyboards/business_card/alpha/alpha.h b/keyboards/kakunpc/business_card/alpha/alpha.h similarity index 100% rename from keyboards/business_card/alpha/alpha.h rename to keyboards/kakunpc/business_card/alpha/alpha.h diff --git a/keyboards/business_card/alpha/config.h b/keyboards/kakunpc/business_card/alpha/config.h similarity index 100% rename from keyboards/business_card/alpha/config.h rename to keyboards/kakunpc/business_card/alpha/config.h diff --git a/keyboards/business_card/alpha/info.json b/keyboards/kakunpc/business_card/alpha/info.json similarity index 100% rename from keyboards/business_card/alpha/info.json rename to keyboards/kakunpc/business_card/alpha/info.json diff --git a/keyboards/business_card/alpha/keymaps/default/config.h b/keyboards/kakunpc/business_card/alpha/keymaps/default/config.h similarity index 100% rename from keyboards/business_card/alpha/keymaps/default/config.h rename to keyboards/kakunpc/business_card/alpha/keymaps/default/config.h diff --git a/keyboards/business_card/alpha/keymaps/default/keymap.c b/keyboards/kakunpc/business_card/alpha/keymaps/default/keymap.c similarity index 100% rename from keyboards/business_card/alpha/keymaps/default/keymap.c rename to keyboards/kakunpc/business_card/alpha/keymaps/default/keymap.c diff --git a/keyboards/business_card/alpha/keymaps/default/readme.md b/keyboards/kakunpc/business_card/alpha/keymaps/default/readme.md similarity index 100% rename from keyboards/business_card/alpha/keymaps/default/readme.md rename to keyboards/kakunpc/business_card/alpha/keymaps/default/readme.md diff --git a/keyboards/business_card/alpha/rules.mk b/keyboards/kakunpc/business_card/alpha/rules.mk similarity index 100% rename from keyboards/business_card/alpha/rules.mk rename to keyboards/kakunpc/business_card/alpha/rules.mk diff --git a/keyboards/business_card/beta/beta.c b/keyboards/kakunpc/business_card/beta/beta.c similarity index 100% rename from keyboards/business_card/beta/beta.c rename to keyboards/kakunpc/business_card/beta/beta.c diff --git a/keyboards/business_card/beta/beta.h b/keyboards/kakunpc/business_card/beta/beta.h similarity index 100% rename from keyboards/business_card/beta/beta.h rename to keyboards/kakunpc/business_card/beta/beta.h diff --git a/keyboards/business_card/beta/config.h b/keyboards/kakunpc/business_card/beta/config.h similarity index 100% rename from keyboards/business_card/beta/config.h rename to keyboards/kakunpc/business_card/beta/config.h diff --git a/keyboards/business_card/beta/info.json b/keyboards/kakunpc/business_card/beta/info.json similarity index 100% rename from keyboards/business_card/beta/info.json rename to keyboards/kakunpc/business_card/beta/info.json diff --git a/keyboards/business_card/beta/keymaps/default/config.h b/keyboards/kakunpc/business_card/beta/keymaps/default/config.h similarity index 100% rename from keyboards/business_card/beta/keymaps/default/config.h rename to keyboards/kakunpc/business_card/beta/keymaps/default/config.h diff --git a/keyboards/business_card/beta/keymaps/default/keymap.c b/keyboards/kakunpc/business_card/beta/keymaps/default/keymap.c similarity index 100% rename from keyboards/business_card/beta/keymaps/default/keymap.c rename to keyboards/kakunpc/business_card/beta/keymaps/default/keymap.c diff --git a/keyboards/business_card/beta/keymaps/default/readme.md b/keyboards/kakunpc/business_card/beta/keymaps/default/readme.md similarity index 100% rename from keyboards/business_card/beta/keymaps/default/readme.md rename to keyboards/kakunpc/business_card/beta/keymaps/default/readme.md diff --git a/keyboards/business_card/beta/rules.mk b/keyboards/kakunpc/business_card/beta/rules.mk similarity index 100% rename from keyboards/business_card/beta/rules.mk rename to keyboards/kakunpc/business_card/beta/rules.mk diff --git a/keyboards/business_card/business_card.c b/keyboards/kakunpc/business_card/business_card.c similarity index 100% rename from keyboards/business_card/business_card.c rename to keyboards/kakunpc/business_card/business_card.c diff --git a/keyboards/business_card/business_card.h b/keyboards/kakunpc/business_card/business_card.h similarity index 89% rename from keyboards/business_card/business_card.h rename to keyboards/kakunpc/business_card/business_card.h index f330a01822e7..125c3080d6e1 100644 --- a/keyboards/business_card/business_card.h +++ b/keyboards/kakunpc/business_card/business_card.h @@ -15,10 +15,10 @@ */ #pragma once -#ifdef KEYBOARD_business_card_alpha +#ifdef KEYBOARD_kakunpc_business_card_alpha #include "alpha.h" #endif -#ifdef KEYBOARD_business_card_beta +#ifdef KEYBOARD_kakunpc_business_card_beta #include "beta.h" #endif diff --git a/keyboards/business_card/config.h b/keyboards/kakunpc/business_card/config.h similarity index 100% rename from keyboards/business_card/config.h rename to keyboards/kakunpc/business_card/config.h diff --git a/keyboards/business_card/readme.md b/keyboards/kakunpc/business_card/readme.md similarity index 93% rename from keyboards/business_card/readme.md rename to keyboards/kakunpc/business_card/readme.md index c1bb32c9c3bb..cbd05af4108f 100644 --- a/keyboards/business_card/readme.md +++ b/keyboards/kakunpc/business_card/readme.md @@ -10,6 +10,6 @@ Hardware Availability: links to where you can find this hardware Make example for this keyboard (after setting up your build environment): - make business_card:default + make kakunpc/business_card/beta:default 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/business_card/rules.mk b/keyboards/kakunpc/business_card/rules.mk similarity index 93% rename from keyboards/business_card/rules.mk rename to keyboards/kakunpc/business_card/rules.mk index cda401220e04..ad9ea936af7e 100644 --- a/keyboards/business_card/rules.mk +++ b/keyboards/kakunpc/business_card/rules.mk @@ -17,4 +17,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -DEFAULT_FOLDER = business_card/beta +DEFAULT_FOLDER = kakunpc/business_card/beta diff --git a/keyboards/choc_taro/choc_taro.c b/keyboards/kakunpc/choc_taro/choc_taro.c similarity index 100% rename from keyboards/choc_taro/choc_taro.c rename to keyboards/kakunpc/choc_taro/choc_taro.c diff --git a/keyboards/choc_taro/choc_taro.h b/keyboards/kakunpc/choc_taro/choc_taro.h similarity index 100% rename from keyboards/choc_taro/choc_taro.h rename to keyboards/kakunpc/choc_taro/choc_taro.h diff --git a/keyboards/choc_taro/config.h b/keyboards/kakunpc/choc_taro/config.h similarity index 100% rename from keyboards/choc_taro/config.h rename to keyboards/kakunpc/choc_taro/config.h diff --git a/keyboards/choc_taro/info.json b/keyboards/kakunpc/choc_taro/info.json similarity index 100% rename from keyboards/choc_taro/info.json rename to keyboards/kakunpc/choc_taro/info.json diff --git a/keyboards/choc_taro/keymaps/default/keymap.c b/keyboards/kakunpc/choc_taro/keymaps/default/keymap.c similarity index 100% rename from keyboards/choc_taro/keymaps/default/keymap.c rename to keyboards/kakunpc/choc_taro/keymaps/default/keymap.c diff --git a/keyboards/choc_taro/keymaps/default/readme.md b/keyboards/kakunpc/choc_taro/keymaps/default/readme.md similarity index 100% rename from keyboards/choc_taro/keymaps/default/readme.md rename to keyboards/kakunpc/choc_taro/keymaps/default/readme.md diff --git a/keyboards/choc_taro/keymaps/via/keymap.c b/keyboards/kakunpc/choc_taro/keymaps/via/keymap.c similarity index 100% rename from keyboards/choc_taro/keymaps/via/keymap.c rename to keyboards/kakunpc/choc_taro/keymaps/via/keymap.c diff --git a/keyboards/choc_taro/keymaps/via/readme.md b/keyboards/kakunpc/choc_taro/keymaps/via/readme.md similarity index 100% rename from keyboards/choc_taro/keymaps/via/readme.md rename to keyboards/kakunpc/choc_taro/keymaps/via/readme.md diff --git a/keyboards/choc_taro/keymaps/via/rules.mk b/keyboards/kakunpc/choc_taro/keymaps/via/rules.mk similarity index 100% rename from keyboards/choc_taro/keymaps/via/rules.mk rename to keyboards/kakunpc/choc_taro/keymaps/via/rules.mk diff --git a/keyboards/choc_taro/matrix.c b/keyboards/kakunpc/choc_taro/matrix.c similarity index 100% rename from keyboards/choc_taro/matrix.c rename to keyboards/kakunpc/choc_taro/matrix.c diff --git a/keyboards/choc_taro/readme.md b/keyboards/kakunpc/choc_taro/readme.md similarity index 94% rename from keyboards/choc_taro/readme.md rename to keyboards/kakunpc/choc_taro/readme.md index f0900c2fe462..8e641c72b87b 100644 --- a/keyboards/choc_taro/readme.md +++ b/keyboards/kakunpc/choc_taro/readme.md @@ -10,6 +10,6 @@ gh60 compatible choc keyboard Make example for this keyboard (after setting up your build environment): - make choc_taro:default + make kakunpc/choc_taro:default 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/choc_taro/rules.mk b/keyboards/kakunpc/choc_taro/rules.mk similarity index 100% rename from keyboards/choc_taro/rules.mk rename to keyboards/kakunpc/choc_taro/rules.mk diff --git a/keyboards/rabbit_capture_plan/config.h b/keyboards/kakunpc/rabbit_capture_plan/config.h similarity index 100% rename from keyboards/rabbit_capture_plan/config.h rename to keyboards/kakunpc/rabbit_capture_plan/config.h diff --git a/keyboards/rabbit_capture_plan/info.json b/keyboards/kakunpc/rabbit_capture_plan/info.json similarity index 100% rename from keyboards/rabbit_capture_plan/info.json rename to keyboards/kakunpc/rabbit_capture_plan/info.json diff --git a/keyboards/rabbit_capture_plan/keymaps/default/keymap.c b/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c similarity index 100% rename from keyboards/rabbit_capture_plan/keymaps/default/keymap.c rename to keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c diff --git a/keyboards/rabbit_capture_plan/keymaps/default/readme.md b/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/readme.md similarity index 100% rename from keyboards/rabbit_capture_plan/keymaps/default/readme.md rename to keyboards/kakunpc/rabbit_capture_plan/keymaps/default/readme.md diff --git a/keyboards/rabbit_capture_plan/keymaps/via/keymap.c b/keyboards/kakunpc/rabbit_capture_plan/keymaps/via/keymap.c similarity index 100% rename from keyboards/rabbit_capture_plan/keymaps/via/keymap.c rename to keyboards/kakunpc/rabbit_capture_plan/keymaps/via/keymap.c diff --git a/keyboards/rabbit_capture_plan/keymaps/via/readme.md b/keyboards/kakunpc/rabbit_capture_plan/keymaps/via/readme.md similarity index 100% rename from keyboards/rabbit_capture_plan/keymaps/via/readme.md rename to keyboards/kakunpc/rabbit_capture_plan/keymaps/via/readme.md diff --git a/keyboards/rabbit_capture_plan/keymaps/via/rules.mk b/keyboards/kakunpc/rabbit_capture_plan/keymaps/via/rules.mk similarity index 100% rename from keyboards/rabbit_capture_plan/keymaps/via/rules.mk rename to keyboards/kakunpc/rabbit_capture_plan/keymaps/via/rules.mk diff --git a/keyboards/rabbit_capture_plan/rabbit_capture_plan.c b/keyboards/kakunpc/rabbit_capture_plan/rabbit_capture_plan.c similarity index 100% rename from keyboards/rabbit_capture_plan/rabbit_capture_plan.c rename to keyboards/kakunpc/rabbit_capture_plan/rabbit_capture_plan.c diff --git a/keyboards/rabbit_capture_plan/rabbit_capture_plan.h b/keyboards/kakunpc/rabbit_capture_plan/rabbit_capture_plan.h similarity index 100% rename from keyboards/rabbit_capture_plan/rabbit_capture_plan.h rename to keyboards/kakunpc/rabbit_capture_plan/rabbit_capture_plan.h diff --git a/keyboards/rabbit_capture_plan/readme.md b/keyboards/kakunpc/rabbit_capture_plan/readme.md similarity index 88% rename from keyboards/rabbit_capture_plan/readme.md rename to keyboards/kakunpc/rabbit_capture_plan/readme.md index bc6f9d5deabf..fa80367a1202 100644 --- a/keyboards/rabbit_capture_plan/readme.md +++ b/keyboards/kakunpc/rabbit_capture_plan/readme.md @@ -10,10 +10,10 @@ This is 70 keys split keyboard with trackball. Make example for this keyboard (after setting up your build environment): - make rabbit_capture_plan:default + make kakunpc/rabbit_capture_plan:default Flashing example for this keyboard: - make rabbit_capture_plan:default:flash + make kakunpc/rabbit_capture_plan:default:flash 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/rabbit_capture_plan/rules.mk b/keyboards/kakunpc/rabbit_capture_plan/rules.mk similarity index 100% rename from keyboards/rabbit_capture_plan/rules.mk rename to keyboards/kakunpc/rabbit_capture_plan/rules.mk diff --git a/keyboards/suihankey/alpha/alpha.c b/keyboards/kakunpc/suihankey/alpha/alpha.c similarity index 100% rename from keyboards/suihankey/alpha/alpha.c rename to keyboards/kakunpc/suihankey/alpha/alpha.c diff --git a/keyboards/suihankey/alpha/alpha.h b/keyboards/kakunpc/suihankey/alpha/alpha.h similarity index 100% rename from keyboards/suihankey/alpha/alpha.h rename to keyboards/kakunpc/suihankey/alpha/alpha.h diff --git a/keyboards/suihankey/alpha/config.h b/keyboards/kakunpc/suihankey/alpha/config.h similarity index 100% rename from keyboards/suihankey/alpha/config.h rename to keyboards/kakunpc/suihankey/alpha/config.h diff --git a/keyboards/suihankey/alpha/info.json b/keyboards/kakunpc/suihankey/alpha/info.json similarity index 100% rename from keyboards/suihankey/alpha/info.json rename to keyboards/kakunpc/suihankey/alpha/info.json diff --git a/keyboards/suihankey/alpha/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c similarity index 100% rename from keyboards/suihankey/alpha/keymaps/default/keymap.c rename to keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c diff --git a/keyboards/suihankey/alpha/keymaps/default/readme.md b/keyboards/kakunpc/suihankey/alpha/keymaps/default/readme.md similarity index 100% rename from keyboards/suihankey/alpha/keymaps/default/readme.md rename to keyboards/kakunpc/suihankey/alpha/keymaps/default/readme.md diff --git a/keyboards/suihankey/alpha/readme.md b/keyboards/kakunpc/suihankey/alpha/readme.md similarity index 100% rename from keyboards/suihankey/alpha/readme.md rename to keyboards/kakunpc/suihankey/alpha/readme.md diff --git a/keyboards/suihankey/alpha/rules.mk b/keyboards/kakunpc/suihankey/alpha/rules.mk similarity index 100% rename from keyboards/suihankey/alpha/rules.mk rename to keyboards/kakunpc/suihankey/alpha/rules.mk diff --git a/keyboards/suihankey/readme.md b/keyboards/kakunpc/suihankey/readme.md similarity index 94% rename from keyboards/suihankey/readme.md rename to keyboards/kakunpc/suihankey/readme.md index 29d82323d3fc..e8099dbca47b 100644 --- a/keyboards/suihankey/readme.md +++ b/keyboards/kakunpc/suihankey/readme.md @@ -13,6 +13,6 @@ Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/)) Make example for this keyboard (after setting up your build environment): - make suihankey:default + make kakunpc/suihankey/rev1:default 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/suihankey/rev1/config.h b/keyboards/kakunpc/suihankey/rev1/config.h similarity index 100% rename from keyboards/suihankey/rev1/config.h rename to keyboards/kakunpc/suihankey/rev1/config.h diff --git a/keyboards/suihankey/rev1/info.json b/keyboards/kakunpc/suihankey/rev1/info.json similarity index 100% rename from keyboards/suihankey/rev1/info.json rename to keyboards/kakunpc/suihankey/rev1/info.json diff --git a/keyboards/suihankey/rev1/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/suihankey/rev1/keymaps/default/keymap.c rename to keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c diff --git a/keyboards/suihankey/rev1/keymaps/default/readme.md b/keyboards/kakunpc/suihankey/rev1/keymaps/default/readme.md similarity index 100% rename from keyboards/suihankey/rev1/keymaps/default/readme.md rename to keyboards/kakunpc/suihankey/rev1/keymaps/default/readme.md diff --git a/keyboards/suihankey/rev1/readme.md b/keyboards/kakunpc/suihankey/rev1/readme.md similarity index 100% rename from keyboards/suihankey/rev1/readme.md rename to keyboards/kakunpc/suihankey/rev1/readme.md diff --git a/keyboards/suihankey/rev1/rev1.c b/keyboards/kakunpc/suihankey/rev1/rev1.c similarity index 100% rename from keyboards/suihankey/rev1/rev1.c rename to keyboards/kakunpc/suihankey/rev1/rev1.c diff --git a/keyboards/suihankey/rev1/rev1.h b/keyboards/kakunpc/suihankey/rev1/rev1.h similarity index 100% rename from keyboards/suihankey/rev1/rev1.h rename to keyboards/kakunpc/suihankey/rev1/rev1.h diff --git a/keyboards/suihankey/rev1/rules.mk b/keyboards/kakunpc/suihankey/rev1/rules.mk similarity index 100% rename from keyboards/suihankey/rev1/rules.mk rename to keyboards/kakunpc/suihankey/rev1/rules.mk diff --git a/keyboards/suihankey/rules.mk b/keyboards/kakunpc/suihankey/rules.mk similarity index 94% rename from keyboards/suihankey/rules.mk rename to keyboards/kakunpc/suihankey/rules.mk index 8e1e7f7856b4..332c7d73551a 100644 --- a/keyboards/suihankey/rules.mk +++ b/keyboards/kakunpc/suihankey/rules.mk @@ -20,4 +20,4 @@ OLED_ENABLE = yes OLED_DRIVER = SSD1306 SPLIT_KEYBOARD = no -DEFAULT_FOLDER = suihankey/rev1 +DEFAULT_FOLDER = kakunpc/suihankey/rev1 diff --git a/keyboards/suihankey/split/.noci b/keyboards/kakunpc/suihankey/split/.noci similarity index 100% rename from keyboards/suihankey/split/.noci rename to keyboards/kakunpc/suihankey/split/.noci diff --git a/keyboards/suihankey/split/alpha/.noci b/keyboards/kakunpc/suihankey/split/alpha/.noci similarity index 100% rename from keyboards/suihankey/split/alpha/.noci rename to keyboards/kakunpc/suihankey/split/alpha/.noci diff --git a/keyboards/suihankey/split/alpha/alpha.c b/keyboards/kakunpc/suihankey/split/alpha/alpha.c similarity index 100% rename from keyboards/suihankey/split/alpha/alpha.c rename to keyboards/kakunpc/suihankey/split/alpha/alpha.c diff --git a/keyboards/suihankey/split/alpha/alpha.h b/keyboards/kakunpc/suihankey/split/alpha/alpha.h similarity index 100% rename from keyboards/suihankey/split/alpha/alpha.h rename to keyboards/kakunpc/suihankey/split/alpha/alpha.h diff --git a/keyboards/suihankey/split/alpha/config.h b/keyboards/kakunpc/suihankey/split/alpha/config.h similarity index 100% rename from keyboards/suihankey/split/alpha/config.h rename to keyboards/kakunpc/suihankey/split/alpha/config.h diff --git a/keyboards/suihankey/split/alpha/readme.md b/keyboards/kakunpc/suihankey/split/alpha/readme.md similarity index 94% rename from keyboards/suihankey/split/alpha/readme.md rename to keyboards/kakunpc/suihankey/split/alpha/readme.md index 2ea1503eb390..4a26a34b9707 100644 --- a/keyboards/suihankey/split/alpha/readme.md +++ b/keyboards/kakunpc/suihankey/split/alpha/readme.md @@ -13,6 +13,6 @@ Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/)) Make example for this keyboard (after setting up your build environment): - make suihankey/alpha:default + make kakunpc/suihankey/alpha:default 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/suihankey/split/alpha/rules.mk b/keyboards/kakunpc/suihankey/split/alpha/rules.mk similarity index 100% rename from keyboards/suihankey/split/alpha/rules.mk rename to keyboards/kakunpc/suihankey/split/alpha/rules.mk diff --git a/keyboards/suihankey/split/info.json b/keyboards/kakunpc/suihankey/split/info.json similarity index 100% rename from keyboards/suihankey/split/info.json rename to keyboards/kakunpc/suihankey/split/info.json diff --git a/keyboards/suihankey/split/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/split/keymaps/default/keymap.c similarity index 100% rename from keyboards/suihankey/split/keymaps/default/keymap.c rename to keyboards/kakunpc/suihankey/split/keymaps/default/keymap.c diff --git a/keyboards/suihankey/split/keymaps/default/readme.md b/keyboards/kakunpc/suihankey/split/keymaps/default/readme.md similarity index 100% rename from keyboards/suihankey/split/keymaps/default/readme.md rename to keyboards/kakunpc/suihankey/split/keymaps/default/readme.md diff --git a/keyboards/suihankey/split/readme.md b/keyboards/kakunpc/suihankey/split/readme.md similarity index 94% rename from keyboards/suihankey/split/readme.md rename to keyboards/kakunpc/suihankey/split/readme.md index 34d30580d121..ed2058290b92 100644 --- a/keyboards/suihankey/split/readme.md +++ b/keyboards/kakunpc/suihankey/split/readme.md @@ -13,6 +13,6 @@ Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/)) Make example for this keyboard (after setting up your build environment): - make suihankey/split:default + make kakunpc/suihankey/split:default 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/suihankey/split/rev1/config.h b/keyboards/kakunpc/suihankey/split/rev1/config.h similarity index 100% rename from keyboards/suihankey/split/rev1/config.h rename to keyboards/kakunpc/suihankey/split/rev1/config.h diff --git a/keyboards/suihankey/split/rev1/readme.md b/keyboards/kakunpc/suihankey/split/rev1/readme.md similarity index 94% rename from keyboards/suihankey/split/rev1/readme.md rename to keyboards/kakunpc/suihankey/split/rev1/readme.md index f7c4bce166dc..a4e60fe1b947 100644 --- a/keyboards/suihankey/split/rev1/readme.md +++ b/keyboards/kakunpc/suihankey/split/rev1/readme.md @@ -13,6 +13,6 @@ Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/)) Make example for this keyboard (after setting up your build environment): - make suihankey/rev1:default + make kakunpc/suihankey/rev1:default 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/suihankey/split/rev1/rev1.c b/keyboards/kakunpc/suihankey/split/rev1/rev1.c similarity index 100% rename from keyboards/suihankey/split/rev1/rev1.c rename to keyboards/kakunpc/suihankey/split/rev1/rev1.c diff --git a/keyboards/suihankey/split/rev1/rev1.h b/keyboards/kakunpc/suihankey/split/rev1/rev1.h similarity index 100% rename from keyboards/suihankey/split/rev1/rev1.h rename to keyboards/kakunpc/suihankey/split/rev1/rev1.h diff --git a/keyboards/suihankey/split/rev1/rules.mk b/keyboards/kakunpc/suihankey/split/rev1/rules.mk similarity index 100% rename from keyboards/suihankey/split/rev1/rules.mk rename to keyboards/kakunpc/suihankey/split/rev1/rules.mk diff --git a/keyboards/suihankey/split/rules.mk b/keyboards/kakunpc/suihankey/split/rules.mk similarity index 100% rename from keyboards/suihankey/split/rules.mk rename to keyboards/kakunpc/suihankey/split/rules.mk diff --git a/keyboards/thedogkeyboard/config.h b/keyboards/kakunpc/thedogkeyboard/config.h similarity index 100% rename from keyboards/thedogkeyboard/config.h rename to keyboards/kakunpc/thedogkeyboard/config.h diff --git a/keyboards/thedogkeyboard/info.json b/keyboards/kakunpc/thedogkeyboard/info.json similarity index 100% rename from keyboards/thedogkeyboard/info.json rename to keyboards/kakunpc/thedogkeyboard/info.json diff --git a/keyboards/thedogkeyboard/keymaps/default/keymap.c b/keyboards/kakunpc/thedogkeyboard/keymaps/default/keymap.c similarity index 100% rename from keyboards/thedogkeyboard/keymaps/default/keymap.c rename to keyboards/kakunpc/thedogkeyboard/keymaps/default/keymap.c diff --git a/keyboards/thedogkeyboard/keymaps/default/readme.md b/keyboards/kakunpc/thedogkeyboard/keymaps/default/readme.md similarity index 100% rename from keyboards/thedogkeyboard/keymaps/default/readme.md rename to keyboards/kakunpc/thedogkeyboard/keymaps/default/readme.md diff --git a/keyboards/thedogkeyboard/keymaps/kakunpc/keymap.c b/keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/keymap.c similarity index 100% rename from keyboards/thedogkeyboard/keymaps/kakunpc/keymap.c rename to keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/keymap.c diff --git a/keyboards/thedogkeyboard/keymaps/kakunpc/readme.md b/keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/readme.md similarity index 100% rename from keyboards/thedogkeyboard/keymaps/kakunpc/readme.md rename to keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/readme.md diff --git a/keyboards/thedogkeyboard/matrix.c b/keyboards/kakunpc/thedogkeyboard/matrix.c similarity index 100% rename from keyboards/thedogkeyboard/matrix.c rename to keyboards/kakunpc/thedogkeyboard/matrix.c diff --git a/keyboards/thedogkeyboard/readme.md b/keyboards/kakunpc/thedogkeyboard/readme.md similarity index 94% rename from keyboards/thedogkeyboard/readme.md rename to keyboards/kakunpc/thedogkeyboard/readme.md index 789149ca8269..c3f73c530352 100644 --- a/keyboards/thedogkeyboard/readme.md +++ b/keyboards/kakunpc/thedogkeyboard/readme.md @@ -10,6 +10,6 @@ ProMicro 100% Keyboard. Make example for this keyboard (after setting up your build environment): - make thedogkeyboard:default + make kakunpc/thedogkeyboard:default 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/thedogkeyboard/rules.mk b/keyboards/kakunpc/thedogkeyboard/rules.mk similarity index 100% rename from keyboards/thedogkeyboard/rules.mk rename to keyboards/kakunpc/thedogkeyboard/rules.mk diff --git a/keyboards/thedogkeyboard/thedogkeyboard.c b/keyboards/kakunpc/thedogkeyboard/thedogkeyboard.c similarity index 100% rename from keyboards/thedogkeyboard/thedogkeyboard.c rename to keyboards/kakunpc/thedogkeyboard/thedogkeyboard.c diff --git a/keyboards/thedogkeyboard/thedogkeyboard.h b/keyboards/kakunpc/thedogkeyboard/thedogkeyboard.h similarity index 100% rename from keyboards/thedogkeyboard/thedogkeyboard.h rename to keyboards/kakunpc/thedogkeyboard/thedogkeyboard.h From ddc660148743b21fa936a966f50ff6dfc2c7cd35 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Thu, 13 Jan 2022 06:50:00 +0800 Subject: [PATCH 0086/1832] move id67 (#15662) --- keyboards/{ => idobao}/id67/default_rgb/config.h | 0 keyboards/{ => idobao}/id67/default_rgb/default_rgb.c | 0 keyboards/{ => idobao}/id67/default_rgb/default_rgb.h | 0 keyboards/{ => idobao}/id67/default_rgb/info.json | 0 keyboards/{ => idobao}/id67/default_rgb/readme.md | 0 keyboards/{ => idobao}/id67/default_rgb/rules.mk | 0 keyboards/{ => idobao}/id67/keymaps/default/keymap.c | 0 keyboards/{ => idobao}/id67/keymaps/via/keymap.c | 0 keyboards/{ => idobao}/id67/keymaps/via/rules.mk | 0 keyboards/{ => idobao}/id67/readme.md | 8 ++++---- keyboards/{ => idobao}/id67/rgb/config.h | 0 keyboards/{ => idobao}/id67/rgb/info.json | 0 keyboards/{ => idobao}/id67/rgb/keymaps/default/keymap.c | 0 .../{ => idobao}/id67/rgb/keymaps/thewerther/config.h | 0 .../{ => idobao}/id67/rgb/keymaps/thewerther/keymap.c | 0 .../{ => idobao}/id67/rgb/keymaps/thewerther/rules.mk | 0 keyboards/{ => idobao}/id67/rgb/readme.md | 0 keyboards/{ => idobao}/id67/rgb/rgb.c | 0 keyboards/{ => idobao}/id67/rgb/rgb.h | 0 keyboards/{ => idobao}/id67/rgb/rules.mk | 0 20 files changed, 4 insertions(+), 4 deletions(-) rename keyboards/{ => idobao}/id67/default_rgb/config.h (100%) rename keyboards/{ => idobao}/id67/default_rgb/default_rgb.c (100%) rename keyboards/{ => idobao}/id67/default_rgb/default_rgb.h (100%) rename keyboards/{ => idobao}/id67/default_rgb/info.json (100%) rename keyboards/{ => idobao}/id67/default_rgb/readme.md (100%) rename keyboards/{ => idobao}/id67/default_rgb/rules.mk (100%) rename keyboards/{ => idobao}/id67/keymaps/default/keymap.c (100%) rename keyboards/{ => idobao}/id67/keymaps/via/keymap.c (100%) rename keyboards/{ => idobao}/id67/keymaps/via/rules.mk (100%) rename keyboards/{ => idobao}/id67/readme.md (84%) rename keyboards/{ => idobao}/id67/rgb/config.h (100%) rename keyboards/{ => idobao}/id67/rgb/info.json (100%) rename keyboards/{ => idobao}/id67/rgb/keymaps/default/keymap.c (100%) rename keyboards/{ => idobao}/id67/rgb/keymaps/thewerther/config.h (100%) rename keyboards/{ => idobao}/id67/rgb/keymaps/thewerther/keymap.c (100%) rename keyboards/{ => idobao}/id67/rgb/keymaps/thewerther/rules.mk (100%) rename keyboards/{ => idobao}/id67/rgb/readme.md (100%) rename keyboards/{ => idobao}/id67/rgb/rgb.c (100%) rename keyboards/{ => idobao}/id67/rgb/rgb.h (100%) rename keyboards/{ => idobao}/id67/rgb/rules.mk (100%) diff --git a/keyboards/id67/default_rgb/config.h b/keyboards/idobao/id67/default_rgb/config.h similarity index 100% rename from keyboards/id67/default_rgb/config.h rename to keyboards/idobao/id67/default_rgb/config.h diff --git a/keyboards/id67/default_rgb/default_rgb.c b/keyboards/idobao/id67/default_rgb/default_rgb.c similarity index 100% rename from keyboards/id67/default_rgb/default_rgb.c rename to keyboards/idobao/id67/default_rgb/default_rgb.c diff --git a/keyboards/id67/default_rgb/default_rgb.h b/keyboards/idobao/id67/default_rgb/default_rgb.h similarity index 100% rename from keyboards/id67/default_rgb/default_rgb.h rename to keyboards/idobao/id67/default_rgb/default_rgb.h diff --git a/keyboards/id67/default_rgb/info.json b/keyboards/idobao/id67/default_rgb/info.json similarity index 100% rename from keyboards/id67/default_rgb/info.json rename to keyboards/idobao/id67/default_rgb/info.json diff --git a/keyboards/id67/default_rgb/readme.md b/keyboards/idobao/id67/default_rgb/readme.md similarity index 100% rename from keyboards/id67/default_rgb/readme.md rename to keyboards/idobao/id67/default_rgb/readme.md diff --git a/keyboards/id67/default_rgb/rules.mk b/keyboards/idobao/id67/default_rgb/rules.mk similarity index 100% rename from keyboards/id67/default_rgb/rules.mk rename to keyboards/idobao/id67/default_rgb/rules.mk diff --git a/keyboards/id67/keymaps/default/keymap.c b/keyboards/idobao/id67/keymaps/default/keymap.c similarity index 100% rename from keyboards/id67/keymaps/default/keymap.c rename to keyboards/idobao/id67/keymaps/default/keymap.c diff --git a/keyboards/id67/keymaps/via/keymap.c b/keyboards/idobao/id67/keymaps/via/keymap.c similarity index 100% rename from keyboards/id67/keymaps/via/keymap.c rename to keyboards/idobao/id67/keymaps/via/keymap.c diff --git a/keyboards/id67/keymaps/via/rules.mk b/keyboards/idobao/id67/keymaps/via/rules.mk similarity index 100% rename from keyboards/id67/keymaps/via/rules.mk rename to keyboards/idobao/id67/keymaps/via/rules.mk diff --git a/keyboards/id67/readme.md b/keyboards/idobao/id67/readme.md similarity index 84% rename from keyboards/id67/readme.md rename to keyboards/idobao/id67/readme.md index 7949ee1af2ad..134d45b18e91 100644 --- a/keyboards/id67/readme.md +++ b/keyboards/idobao/id67/readme.md @@ -16,14 +16,14 @@ Currently there are two variants for the id67: Make examples for this keyboard (after setting up your build environment): - make id67/default_rgb:default + make idobao/id67/default_rgb:default - make id67/rgb:default + make idobao/id67/rgb:default Flashing examples for this keyboard: - make id67/default_rgb:default:flash + make idobao/id67/default_rgb:default:flash - make id67/rgb:default:flash + make idobao/id67/rgb:default:flash 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/id67/rgb/config.h b/keyboards/idobao/id67/rgb/config.h similarity index 100% rename from keyboards/id67/rgb/config.h rename to keyboards/idobao/id67/rgb/config.h diff --git a/keyboards/id67/rgb/info.json b/keyboards/idobao/id67/rgb/info.json similarity index 100% rename from keyboards/id67/rgb/info.json rename to keyboards/idobao/id67/rgb/info.json diff --git a/keyboards/id67/rgb/keymaps/default/keymap.c b/keyboards/idobao/id67/rgb/keymaps/default/keymap.c similarity index 100% rename from keyboards/id67/rgb/keymaps/default/keymap.c rename to keyboards/idobao/id67/rgb/keymaps/default/keymap.c diff --git a/keyboards/id67/rgb/keymaps/thewerther/config.h b/keyboards/idobao/id67/rgb/keymaps/thewerther/config.h similarity index 100% rename from keyboards/id67/rgb/keymaps/thewerther/config.h rename to keyboards/idobao/id67/rgb/keymaps/thewerther/config.h diff --git a/keyboards/id67/rgb/keymaps/thewerther/keymap.c b/keyboards/idobao/id67/rgb/keymaps/thewerther/keymap.c similarity index 100% rename from keyboards/id67/rgb/keymaps/thewerther/keymap.c rename to keyboards/idobao/id67/rgb/keymaps/thewerther/keymap.c diff --git a/keyboards/id67/rgb/keymaps/thewerther/rules.mk b/keyboards/idobao/id67/rgb/keymaps/thewerther/rules.mk similarity index 100% rename from keyboards/id67/rgb/keymaps/thewerther/rules.mk rename to keyboards/idobao/id67/rgb/keymaps/thewerther/rules.mk diff --git a/keyboards/id67/rgb/readme.md b/keyboards/idobao/id67/rgb/readme.md similarity index 100% rename from keyboards/id67/rgb/readme.md rename to keyboards/idobao/id67/rgb/readme.md diff --git a/keyboards/id67/rgb/rgb.c b/keyboards/idobao/id67/rgb/rgb.c similarity index 100% rename from keyboards/id67/rgb/rgb.c rename to keyboards/idobao/id67/rgb/rgb.c diff --git a/keyboards/id67/rgb/rgb.h b/keyboards/idobao/id67/rgb/rgb.h similarity index 100% rename from keyboards/id67/rgb/rgb.h rename to keyboards/idobao/id67/rgb/rgb.h diff --git a/keyboards/id67/rgb/rules.mk b/keyboards/idobao/id67/rgb/rules.mk similarity index 100% rename from keyboards/id67/rgb/rules.mk rename to keyboards/idobao/id67/rgb/rules.mk From 4eb284ef8db0d0bedb8aef207479f2df1b60550b Mon Sep 17 00:00:00 2001 From: Drashna Jael're Date: Wed, 12 Jan 2022 15:18:06 -0800 Subject: [PATCH 0087/1832] [Keyboard] Fix suihankey/split --- keyboards/kakunpc/suihankey/split/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/kakunpc/suihankey/split/rules.mk b/keyboards/kakunpc/suihankey/split/rules.mk index f0bdf744eebe..6da41b20b820 100644 --- a/keyboards/kakunpc/suihankey/split/rules.mk +++ b/keyboards/kakunpc/suihankey/split/rules.mk @@ -1,4 +1,4 @@ OLED_ENABLE = no SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = suihankey/split/rev1 +DEFAULT_FOLDER = kakunpc/suihankey/split/rev1 From a8482a4424ee3035d2a7487ea8d0de8684d3918f Mon Sep 17 00:00:00 2001 From: Alabastard-64 <96358682+Alabastard-64@users.noreply.github.com> Date: Wed, 12 Jan 2022 19:51:05 -0700 Subject: [PATCH 0088/1832] PMW3389 Revert Firmware load during Initilization (#15859) --- docs/feature_pointing_device.md | 1 - drivers/sensors/pmw3389.c | 6 ++---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index def592a61cfc..5f1260eede40 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -174,7 +174,6 @@ The PMW 3389 is an SPI driven optical sensor, that uses a built in IR LED for su |`PMW3389_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ | |`PMW3389_LIFTOFF_DISTANCE` | (Optional) Sets the lift off distance at run time | `0x02` | |`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 30 degrees directly in the sensor. | `0` | -|`PMW3389_LEGACY_FIRMWARE_UPLOAD` | (Optional) Switches to older, manual upload of firmware, for compatibility. | _not defined_ | The CPI range is 50-16000, in increments of 50. Defaults to 2000 CPI. diff --git a/drivers/sensors/pmw3389.c b/drivers/sensors/pmw3389.c index 11056bb89ec6..d6f02b6a591c 100644 --- a/drivers/sensors/pmw3389.c +++ b/drivers/sensors/pmw3389.c @@ -210,16 +210,14 @@ void pmw3389_upload_firmware(void) { spi_write(REG_SROM_Load_Burst | 0x80); wait_us(15); -#ifdef PMW3389_LEGACY_FIRMWARE_UPLOAD + // legacy only for PMW3389 spi_transmit failed to load firmware unsigned char c; for (int i = 0; i < FIRMWARE_LENGTH; i++) { c = (unsigned char)pgm_read_byte(firmware_data + i); spi_write(c); wait_us(15); } -#else - spi_transmit(firmware_data, sizeof(firmware_data)); -#endif + wait_us(200); pmw3389_read(REG_SROM_ID); From 50baf28386b1cb8a7e033b1ad9629206c62a6131 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Fri, 14 Jan 2022 01:18:56 +0800 Subject: [PATCH 0089/1832] move winry25tc to winry/ (#15637) --- .../{spiderisland => winry}/winry25tc/config.h | 0 .../{spiderisland => winry}/winry25tc/info.json | 0 .../winry25tc/keymaps/default/keymap.c | 0 .../{spiderisland => winry}/winry25tc/readme.md | 15 ++++++++++----- .../{spiderisland => winry}/winry25tc/rules.mk | 0 .../{spiderisland => winry}/winry25tc/winry25tc.c | 0 .../{spiderisland => winry}/winry25tc/winry25tc.h | 0 7 files changed, 10 insertions(+), 5 deletions(-) rename keyboards/{spiderisland => winry}/winry25tc/config.h (100%) rename keyboards/{spiderisland => winry}/winry25tc/info.json (100%) rename keyboards/{spiderisland => winry}/winry25tc/keymaps/default/keymap.c (100%) rename keyboards/{spiderisland => winry}/winry25tc/readme.md (52%) rename keyboards/{spiderisland => winry}/winry25tc/rules.mk (100%) rename keyboards/{spiderisland => winry}/winry25tc/winry25tc.c (100%) rename keyboards/{spiderisland => winry}/winry25tc/winry25tc.h (100%) diff --git a/keyboards/spiderisland/winry25tc/config.h b/keyboards/winry/winry25tc/config.h similarity index 100% rename from keyboards/spiderisland/winry25tc/config.h rename to keyboards/winry/winry25tc/config.h diff --git a/keyboards/spiderisland/winry25tc/info.json b/keyboards/winry/winry25tc/info.json similarity index 100% rename from keyboards/spiderisland/winry25tc/info.json rename to keyboards/winry/winry25tc/info.json diff --git a/keyboards/spiderisland/winry25tc/keymaps/default/keymap.c b/keyboards/winry/winry25tc/keymaps/default/keymap.c similarity index 100% rename from keyboards/spiderisland/winry25tc/keymaps/default/keymap.c rename to keyboards/winry/winry25tc/keymaps/default/keymap.c diff --git a/keyboards/spiderisland/winry25tc/readme.md b/keyboards/winry/winry25tc/readme.md similarity index 52% rename from keyboards/spiderisland/winry25tc/readme.md rename to keyboards/winry/winry25tc/readme.md index 45ba0bd5a42a..9507aef74b93 100644 --- a/keyboards/spiderisland/winry25tc/readme.md +++ b/keyboards/winry/winry25tc/readme.md @@ -1,14 +1,19 @@ -# SpiderIsland 25-key RGB Backlight Hot Swap Mechanical Keyboard +# Winry 25-key RGB Backlight Hot Swap Mechanical Keyboard + +Keyboard from +* [SpiderIsland on AliExpress(reseller)](https://a.aliexpress.com/_dVJsSpR). Seller provides [kbfirmware](https://kbfirmware.com/) JSON config that was converted to QMK. + -Keyboard from [SpiderIsland on AliExpress](https://a.aliexpress.com/_dVJsSpR). Seller provides [kbfirmware](https://kbfirmware.com/) JSON config that was converted to QMK. * Keyboard Maintainer: [andrzejressel](https://github.com/andrzejressel) -* Hardware Availability: https://aliexpress.com/item/1005001523579896.html +* Hardware Availability: +https://aliexpress.com/item/1005001523579896.html +https://item.taobao.com/item.htm?id=599731303104 Make example for this keyboard (after setting up your build environment): - make spiderisland/winry25tc:default + make winry/winry25tc:default **Reset Key**: Located on the other side of the keyboard. -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). \ No newline at end of file +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/spiderisland/winry25tc/rules.mk b/keyboards/winry/winry25tc/rules.mk similarity index 100% rename from keyboards/spiderisland/winry25tc/rules.mk rename to keyboards/winry/winry25tc/rules.mk diff --git a/keyboards/spiderisland/winry25tc/winry25tc.c b/keyboards/winry/winry25tc/winry25tc.c similarity index 100% rename from keyboards/spiderisland/winry25tc/winry25tc.c rename to keyboards/winry/winry25tc/winry25tc.c diff --git a/keyboards/spiderisland/winry25tc/winry25tc.h b/keyboards/winry/winry25tc/winry25tc.h similarity index 100% rename from keyboards/spiderisland/winry25tc/winry25tc.h rename to keyboards/winry/winry25tc/winry25tc.h From 08a42dc72c2e1f6ad42fb33d6a3fd51931d02d01 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sat, 15 Jan 2022 01:04:58 +0000 Subject: [PATCH 0090/1832] Fix broken bootloader builds in develop. (#15880) --- keyboards/clueboard/60/info.json | 1 + keyboards/clueboard/66/rev4/info.json | 1 + keyboards/clueboard/66_hotswap/gen1/info.json | 1 + keyboards/clueboard/california/info.json | 1 + keyboards/edi/hardlight/mk2/rules.mk | 2 +- keyboards/ez_maker/directpins/proton_c/info.json | 1 + keyboards/forever65/info.json | 1 + keyboards/mechlovin/mechlovin9/rev1/rules.mk | 3 +++ keyboards/rgbkb/mun/rules.mk | 3 +++ platforms/chibios/bootloaders/none.c | 4 ++++ 10 files changed, 17 insertions(+), 1 deletion(-) diff --git a/keyboards/clueboard/60/info.json b/keyboards/clueboard/60/info.json index 1698d221d372..6e0d90fe1df5 100644 --- a/keyboards/clueboard/60/info.json +++ b/keyboards/clueboard/60/info.json @@ -5,6 +5,7 @@ "debounce": 6, "processor": "STM32F303", "board": "QMK_PROTON_C", + "bootloader": "stm32-dfu", "diode_direction": "COL2ROW", "features": { "audio": true, diff --git a/keyboards/clueboard/66/rev4/info.json b/keyboards/clueboard/66/rev4/info.json index f1f1ae4dec5a..b40abf402f20 100644 --- a/keyboards/clueboard/66/rev4/info.json +++ b/keyboards/clueboard/66/rev4/info.json @@ -5,6 +5,7 @@ "debounce": 5, "processor": "STM32F303", "board": "QMK_PROTON_C", + "bootloader": "stm32-dfu", "diode_direction": "COL2ROW", "features": { "audio": true, diff --git a/keyboards/clueboard/66_hotswap/gen1/info.json b/keyboards/clueboard/66_hotswap/gen1/info.json index 5e0e5b8acaf9..cf6288b54500 100644 --- a/keyboards/clueboard/66_hotswap/gen1/info.json +++ b/keyboards/clueboard/66_hotswap/gen1/info.json @@ -5,6 +5,7 @@ "debounce": 5, "processor": "STM32F303", "board": "QMK_PROTON_C", + "bootloader": "stm32-dfu", "diode_direction": "COL2ROW", "features": { "audio": true, diff --git a/keyboards/clueboard/california/info.json b/keyboards/clueboard/california/info.json index e40b2338cd17..24a9399923f1 100644 --- a/keyboards/clueboard/california/info.json +++ b/keyboards/clueboard/california/info.json @@ -4,6 +4,7 @@ "maintainer": "skullydazed", "processor": "STM32F303", "board": "QMK_PROTON_C", + "bootloader": "stm32-dfu", "matrix_pins": { "direct": [ ["A10", "A9"], diff --git a/keyboards/edi/hardlight/mk2/rules.mk b/keyboards/edi/hardlight/mk2/rules.mk index 5ffab4a55e63..b3ff36943f48 100644 --- a/keyboards/edi/hardlight/mk2/rules.mk +++ b/keyboards/edi/hardlight/mk2/rules.mk @@ -2,7 +2,7 @@ MCU = STM32F072 # Bootloader selection -Bootloader = stm32-dfu +BOOTLOADER = stm32-dfu # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/ez_maker/directpins/proton_c/info.json b/keyboards/ez_maker/directpins/proton_c/info.json index a284e5c41f60..e3d000424acb 100644 --- a/keyboards/ez_maker/directpins/proton_c/info.json +++ b/keyboards/ez_maker/directpins/proton_c/info.json @@ -5,6 +5,7 @@ "debounce": 5, "processor": "STM32F303", "board": "QMK_PROTON_C", + "bootloader": "stm32-dfu", "features": { "bootmagic": true, "extrakey": true, diff --git a/keyboards/forever65/info.json b/keyboards/forever65/info.json index 6cb2442a08be..9f5a3539e367 100644 --- a/keyboards/forever65/info.json +++ b/keyboards/forever65/info.json @@ -3,6 +3,7 @@ "manufacturer": "Nightingale Studios", "maintainer": "zvecr", "processor": "STM32F072", + "bootloader": "stm32-dfu", "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["A3", "F1", "F0", "C15", "C14", "C13", "B11", "B10", "B2", "B1", "B0", "A7", "A5", "A6", "A4", "B5"], diff --git a/keyboards/mechlovin/mechlovin9/rev1/rules.mk b/keyboards/mechlovin/mechlovin9/rev1/rules.mk index 1333470e5972..927204fc74ce 100644 --- a/keyboards/mechlovin/mechlovin9/rev1/rules.mk +++ b/keyboards/mechlovin/mechlovin9/rev1/rules.mk @@ -2,6 +2,9 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # diff --git a/keyboards/rgbkb/mun/rules.mk b/keyboards/rgbkb/mun/rules.mk index c7e6594ead41..d2ad9cdcc222 100644 --- a/keyboards/rgbkb/mun/rules.mk +++ b/keyboards/rgbkb/mun/rules.mk @@ -1,6 +1,9 @@ # MCU name MCU = STM32F303 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Touch encoder needs SRC += ../common/touch_encoder.c SRC += ../common/common_oled.c diff --git a/platforms/chibios/bootloaders/none.c b/platforms/chibios/bootloaders/none.c index 624fbe242a35..8379d35abfb4 100644 --- a/platforms/chibios/bootloaders/none.c +++ b/platforms/chibios/bootloaders/none.c @@ -16,4 +16,8 @@ #include "bootloader.h" +#pragma message "Unknown bootloader set, you may not be able to enter bootloader using software reset" + __attribute__((weak)) void bootloader_jump(void) {} + +__attribute__((weak)) void enter_bootloader_mode_if_requested(void) {} From 1d3c2cededd43dbe5a091c1495aafb6cebc99220 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Mon, 17 Jan 2022 03:48:09 +0800 Subject: [PATCH 0091/1832] Add init function to clear previous effect (#15815) --- quantum/rgb_matrix/animations/pixel_fractal_anim.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quantum/rgb_matrix/animations/pixel_fractal_anim.h b/quantum/rgb_matrix/animations/pixel_fractal_anim.h index 8e25ec402c25..35187b92de70 100644 --- a/quantum/rgb_matrix/animations/pixel_fractal_anim.h +++ b/quantum/rgb_matrix/animations/pixel_fractal_anim.h @@ -31,6 +31,10 @@ static bool PIXEL_FRACTAL(effect_params_t* params) { inline uint32_t interval(void) { return 3000 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); } + if (params->init) { + rgb_matrix_set_color_all(0, 0, 0); + } + RGB rgb = rgb_matrix_hsv_to_rgb(rgb_matrix_config.hsv); for (uint8_t h = 0; h < MATRIX_ROWS; ++h) { for (uint8_t l = 0; l < MID_COL - 1; ++l) { // Light and move left columns outwards From 15290f43669d1ca0a97631f144fa361477d329d3 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon, 17 Jan 2022 03:53:11 +0800 Subject: [PATCH 0092/1832] rename idobo to idobao/id75, move to vendor folder (#15661) * rename idobo to idobao/id75, move to vendor folder * add image, amend readme to id75 * add buying link --- data/mappings/keyboard_aliases.json | 3 +++ keyboards/{idobo => idobao/id75}/config.h | 0 keyboards/{idobo/idobo.c => idobao/id75/id75.c} | 2 +- keyboards/{idobo/idobo.h => idobao/id75/id75.h} | 0 keyboards/{idobo => idobao/id75}/info.json | 0 .../{idobo => idobao/id75}/keymaps/default/keymap.c | 0 .../{idobo => idobao/id75}/keymaps/default/readme.md | 0 .../id75}/keymaps/default75/keymap.c | 0 .../id75}/keymaps/default75/readme.md | 0 .../{idobo => idobao/id75}/keymaps/drewdobo/config.h | 0 .../{idobo => idobao/id75}/keymaps/drewdobo/keymap.c | 0 .../id75}/keymaps/drewdobo/readme.md | 0 .../{idobo => idobao/id75}/keymaps/drewdobo/rules.mk | 0 .../{idobo => idobao/id75}/keymaps/egstad/config.h | 0 .../{idobo => idobao/id75}/keymaps/egstad/keymap.c | 0 .../{idobo => idobao/id75}/keymaps/egstad/readme.md | 0 .../{idobo => idobao/id75}/keymaps/egstad/rules.mk | 0 .../{idobo => idobao/id75}/keymaps/gkbd/config.h | 0 .../{idobo => idobao/id75}/keymaps/gkbd/keymap.c | 0 .../{idobo => idobao/id75}/keymaps/gkbd/readme.md | 0 .../{idobo => idobao/id75}/keymaps/gkbd/rules.mk | 0 .../{idobo => idobao/id75}/keymaps/gkbd_75/config.h | 0 .../{idobo => idobao/id75}/keymaps/gkbd_75/keymap.c | 0 .../{idobo => idobao/id75}/keymaps/gkbd_75/readme.md | 0 .../id75}/keymaps/gkbd_orthon/config.h | 0 .../id75}/keymaps/gkbd_orthon/keymap.c | 0 .../id75}/keymaps/gkbd_orthon/readme.md | 0 .../keyboard-layout-editor-gsm-idobo.json | 0 .../id75}/keymaps/greenshadowmaker/keymap.c | 0 .../id75}/keymaps/greenshadowmaker/readme.md | 0 .../id75}/keymaps/greenshadowmaker/rules.mk | 0 .../id75}/keymaps/ifohancroft/config.h | 0 .../id75}/keymaps/ifohancroft/keymap.c | 0 .../id75}/keymaps/ifohancroft/readme.md | 0 .../id75}/keymaps/ifohancroft/rules.mk | 0 .../id75}/keymaps/pathnirvana/config.h | 0 .../id75}/keymaps/pathnirvana/keymap.c | 0 .../id75}/keymaps/pathnirvana/rules.mk | 0 .../{idobo => idobao/id75}/keymaps/revok75/config.h | 0 .../{idobo => idobao/id75}/keymaps/revok75/keymap.c | 0 .../{idobo => idobao/id75}/keymaps/revok75/readme.md | 0 .../{idobo => idobao/id75}/keymaps/revok75/rules.mk | 0 .../{idobo => idobao/id75}/keymaps/via/keymap.c | 0 .../{idobo => idobao/id75}/keymaps/via/rules.mk | 0 .../id75}/keymaps/xaceofspaidsx/config.h | 0 .../id75}/keymaps/xaceofspaidsx/keymap.c | 0 .../id75}/keymaps/xaceofspaidsx/readme.md | 0 .../id75}/keymaps/xaceofspaidsx/rules.mk | 0 keyboards/{idobo => idobao/id75}/readme.md | 12 +++++++----- keyboards/{idobo => idobao/id75}/rules.mk | 0 50 files changed, 11 insertions(+), 6 deletions(-) rename keyboards/{idobo => idobao/id75}/config.h (100%) rename keyboards/{idobo/idobo.c => idobao/id75/id75.c} (97%) rename keyboards/{idobo/idobo.h => idobao/id75/id75.h} (100%) rename keyboards/{idobo => idobao/id75}/info.json (100%) rename keyboards/{idobo => idobao/id75}/keymaps/default/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/default/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/default75/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/default75/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/drewdobo/config.h (100%) rename keyboards/{idobo => idobao/id75}/keymaps/drewdobo/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/drewdobo/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/drewdobo/rules.mk (100%) rename keyboards/{idobo => idobao/id75}/keymaps/egstad/config.h (100%) rename keyboards/{idobo => idobao/id75}/keymaps/egstad/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/egstad/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/egstad/rules.mk (100%) rename keyboards/{idobo => idobao/id75}/keymaps/gkbd/config.h (100%) rename keyboards/{idobo => idobao/id75}/keymaps/gkbd/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/gkbd/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/gkbd/rules.mk (100%) rename keyboards/{idobo => idobao/id75}/keymaps/gkbd_75/config.h (100%) rename keyboards/{idobo => idobao/id75}/keymaps/gkbd_75/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/gkbd_75/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/gkbd_orthon/config.h (100%) rename keyboards/{idobo => idobao/id75}/keymaps/gkbd_orthon/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/gkbd_orthon/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json (100%) rename keyboards/{idobo => idobao/id75}/keymaps/greenshadowmaker/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/greenshadowmaker/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/greenshadowmaker/rules.mk (100%) rename keyboards/{idobo => idobao/id75}/keymaps/ifohancroft/config.h (100%) rename keyboards/{idobo => idobao/id75}/keymaps/ifohancroft/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/ifohancroft/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/ifohancroft/rules.mk (100%) rename keyboards/{idobo => idobao/id75}/keymaps/pathnirvana/config.h (100%) rename keyboards/{idobo => idobao/id75}/keymaps/pathnirvana/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/pathnirvana/rules.mk (100%) rename keyboards/{idobo => idobao/id75}/keymaps/revok75/config.h (100%) rename keyboards/{idobo => idobao/id75}/keymaps/revok75/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/revok75/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/revok75/rules.mk (100%) rename keyboards/{idobo => idobao/id75}/keymaps/via/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/via/rules.mk (100%) rename keyboards/{idobo => idobao/id75}/keymaps/xaceofspaidsx/config.h (100%) rename keyboards/{idobo => idobao/id75}/keymaps/xaceofspaidsx/keymap.c (100%) rename keyboards/{idobo => idobao/id75}/keymaps/xaceofspaidsx/readme.md (100%) rename keyboards/{idobo => idobao/id75}/keymaps/xaceofspaidsx/rules.mk (100%) rename keyboards/{idobo => idobao/id75}/readme.md (61%) rename keyboards/{idobo => idobao/id75}/rules.mk (100%) diff --git a/data/mappings/keyboard_aliases.json b/data/mappings/keyboard_aliases.json index c9467f7c84e2..d7d2afceeb69 100644 --- a/data/mappings/keyboard_aliases.json +++ b/data/mappings/keyboard_aliases.json @@ -215,6 +215,9 @@ LAYOUT: 'LAYOUT_all' } }, + idobo: { + target: 'idobao/id75' + }, 'jj40': { target: 'kprepublic/jj40' }, diff --git a/keyboards/idobo/config.h b/keyboards/idobao/id75/config.h similarity index 100% rename from keyboards/idobo/config.h rename to keyboards/idobao/id75/config.h diff --git a/keyboards/idobo/idobo.c b/keyboards/idobao/id75/id75.c similarity index 97% rename from keyboards/idobo/idobo.c rename to keyboards/idobao/id75/id75.c index ccf654f87138..0a0e08cc3285 100644 --- a/keyboards/idobo/idobo.c +++ b/keyboards/idobao/id75/id75.c @@ -13,4 +13,4 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "idobo.h" +#include "id75.h" diff --git a/keyboards/idobo/idobo.h b/keyboards/idobao/id75/id75.h similarity index 100% rename from keyboards/idobo/idobo.h rename to keyboards/idobao/id75/id75.h diff --git a/keyboards/idobo/info.json b/keyboards/idobao/id75/info.json similarity index 100% rename from keyboards/idobo/info.json rename to keyboards/idobao/id75/info.json diff --git a/keyboards/idobo/keymaps/default/keymap.c b/keyboards/idobao/id75/keymaps/default/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/default/keymap.c rename to keyboards/idobao/id75/keymaps/default/keymap.c diff --git a/keyboards/idobo/keymaps/default/readme.md b/keyboards/idobao/id75/keymaps/default/readme.md similarity index 100% rename from keyboards/idobo/keymaps/default/readme.md rename to keyboards/idobao/id75/keymaps/default/readme.md diff --git a/keyboards/idobo/keymaps/default75/keymap.c b/keyboards/idobao/id75/keymaps/default75/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/default75/keymap.c rename to keyboards/idobao/id75/keymaps/default75/keymap.c diff --git a/keyboards/idobo/keymaps/default75/readme.md b/keyboards/idobao/id75/keymaps/default75/readme.md similarity index 100% rename from keyboards/idobo/keymaps/default75/readme.md rename to keyboards/idobao/id75/keymaps/default75/readme.md diff --git a/keyboards/idobo/keymaps/drewdobo/config.h b/keyboards/idobao/id75/keymaps/drewdobo/config.h similarity index 100% rename from keyboards/idobo/keymaps/drewdobo/config.h rename to keyboards/idobao/id75/keymaps/drewdobo/config.h diff --git a/keyboards/idobo/keymaps/drewdobo/keymap.c b/keyboards/idobao/id75/keymaps/drewdobo/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/drewdobo/keymap.c rename to keyboards/idobao/id75/keymaps/drewdobo/keymap.c diff --git a/keyboards/idobo/keymaps/drewdobo/readme.md b/keyboards/idobao/id75/keymaps/drewdobo/readme.md similarity index 100% rename from keyboards/idobo/keymaps/drewdobo/readme.md rename to keyboards/idobao/id75/keymaps/drewdobo/readme.md diff --git a/keyboards/idobo/keymaps/drewdobo/rules.mk b/keyboards/idobao/id75/keymaps/drewdobo/rules.mk similarity index 100% rename from keyboards/idobo/keymaps/drewdobo/rules.mk rename to keyboards/idobao/id75/keymaps/drewdobo/rules.mk diff --git a/keyboards/idobo/keymaps/egstad/config.h b/keyboards/idobao/id75/keymaps/egstad/config.h similarity index 100% rename from keyboards/idobo/keymaps/egstad/config.h rename to keyboards/idobao/id75/keymaps/egstad/config.h diff --git a/keyboards/idobo/keymaps/egstad/keymap.c b/keyboards/idobao/id75/keymaps/egstad/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/egstad/keymap.c rename to keyboards/idobao/id75/keymaps/egstad/keymap.c diff --git a/keyboards/idobo/keymaps/egstad/readme.md b/keyboards/idobao/id75/keymaps/egstad/readme.md similarity index 100% rename from keyboards/idobo/keymaps/egstad/readme.md rename to keyboards/idobao/id75/keymaps/egstad/readme.md diff --git a/keyboards/idobo/keymaps/egstad/rules.mk b/keyboards/idobao/id75/keymaps/egstad/rules.mk similarity index 100% rename from keyboards/idobo/keymaps/egstad/rules.mk rename to keyboards/idobao/id75/keymaps/egstad/rules.mk diff --git a/keyboards/idobo/keymaps/gkbd/config.h b/keyboards/idobao/id75/keymaps/gkbd/config.h similarity index 100% rename from keyboards/idobo/keymaps/gkbd/config.h rename to keyboards/idobao/id75/keymaps/gkbd/config.h diff --git a/keyboards/idobo/keymaps/gkbd/keymap.c b/keyboards/idobao/id75/keymaps/gkbd/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/gkbd/keymap.c rename to keyboards/idobao/id75/keymaps/gkbd/keymap.c diff --git a/keyboards/idobo/keymaps/gkbd/readme.md b/keyboards/idobao/id75/keymaps/gkbd/readme.md similarity index 100% rename from keyboards/idobo/keymaps/gkbd/readme.md rename to keyboards/idobao/id75/keymaps/gkbd/readme.md diff --git a/keyboards/idobo/keymaps/gkbd/rules.mk b/keyboards/idobao/id75/keymaps/gkbd/rules.mk similarity index 100% rename from keyboards/idobo/keymaps/gkbd/rules.mk rename to keyboards/idobao/id75/keymaps/gkbd/rules.mk diff --git a/keyboards/idobo/keymaps/gkbd_75/config.h b/keyboards/idobao/id75/keymaps/gkbd_75/config.h similarity index 100% rename from keyboards/idobo/keymaps/gkbd_75/config.h rename to keyboards/idobao/id75/keymaps/gkbd_75/config.h diff --git a/keyboards/idobo/keymaps/gkbd_75/keymap.c b/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/gkbd_75/keymap.c rename to keyboards/idobao/id75/keymaps/gkbd_75/keymap.c diff --git a/keyboards/idobo/keymaps/gkbd_75/readme.md b/keyboards/idobao/id75/keymaps/gkbd_75/readme.md similarity index 100% rename from keyboards/idobo/keymaps/gkbd_75/readme.md rename to keyboards/idobao/id75/keymaps/gkbd_75/readme.md diff --git a/keyboards/idobo/keymaps/gkbd_orthon/config.h b/keyboards/idobao/id75/keymaps/gkbd_orthon/config.h similarity index 100% rename from keyboards/idobo/keymaps/gkbd_orthon/config.h rename to keyboards/idobao/id75/keymaps/gkbd_orthon/config.h diff --git a/keyboards/idobo/keymaps/gkbd_orthon/keymap.c b/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/gkbd_orthon/keymap.c rename to keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c diff --git a/keyboards/idobo/keymaps/gkbd_orthon/readme.md b/keyboards/idobao/id75/keymaps/gkbd_orthon/readme.md similarity index 100% rename from keyboards/idobo/keymaps/gkbd_orthon/readme.md rename to keyboards/idobao/id75/keymaps/gkbd_orthon/readme.md diff --git a/keyboards/idobo/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json b/keyboards/idobao/id75/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json similarity index 100% rename from keyboards/idobo/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json rename to keyboards/idobao/id75/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json diff --git a/keyboards/idobo/keymaps/greenshadowmaker/keymap.c b/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/greenshadowmaker/keymap.c rename to keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c diff --git a/keyboards/idobo/keymaps/greenshadowmaker/readme.md b/keyboards/idobao/id75/keymaps/greenshadowmaker/readme.md similarity index 100% rename from keyboards/idobo/keymaps/greenshadowmaker/readme.md rename to keyboards/idobao/id75/keymaps/greenshadowmaker/readme.md diff --git a/keyboards/idobo/keymaps/greenshadowmaker/rules.mk b/keyboards/idobao/id75/keymaps/greenshadowmaker/rules.mk similarity index 100% rename from keyboards/idobo/keymaps/greenshadowmaker/rules.mk rename to keyboards/idobao/id75/keymaps/greenshadowmaker/rules.mk diff --git a/keyboards/idobo/keymaps/ifohancroft/config.h b/keyboards/idobao/id75/keymaps/ifohancroft/config.h similarity index 100% rename from keyboards/idobo/keymaps/ifohancroft/config.h rename to keyboards/idobao/id75/keymaps/ifohancroft/config.h diff --git a/keyboards/idobo/keymaps/ifohancroft/keymap.c b/keyboards/idobao/id75/keymaps/ifohancroft/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/ifohancroft/keymap.c rename to keyboards/idobao/id75/keymaps/ifohancroft/keymap.c diff --git a/keyboards/idobo/keymaps/ifohancroft/readme.md b/keyboards/idobao/id75/keymaps/ifohancroft/readme.md similarity index 100% rename from keyboards/idobo/keymaps/ifohancroft/readme.md rename to keyboards/idobao/id75/keymaps/ifohancroft/readme.md diff --git a/keyboards/idobo/keymaps/ifohancroft/rules.mk b/keyboards/idobao/id75/keymaps/ifohancroft/rules.mk similarity index 100% rename from keyboards/idobo/keymaps/ifohancroft/rules.mk rename to keyboards/idobao/id75/keymaps/ifohancroft/rules.mk diff --git a/keyboards/idobo/keymaps/pathnirvana/config.h b/keyboards/idobao/id75/keymaps/pathnirvana/config.h similarity index 100% rename from keyboards/idobo/keymaps/pathnirvana/config.h rename to keyboards/idobao/id75/keymaps/pathnirvana/config.h diff --git a/keyboards/idobo/keymaps/pathnirvana/keymap.c b/keyboards/idobao/id75/keymaps/pathnirvana/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/pathnirvana/keymap.c rename to keyboards/idobao/id75/keymaps/pathnirvana/keymap.c diff --git a/keyboards/idobo/keymaps/pathnirvana/rules.mk b/keyboards/idobao/id75/keymaps/pathnirvana/rules.mk similarity index 100% rename from keyboards/idobo/keymaps/pathnirvana/rules.mk rename to keyboards/idobao/id75/keymaps/pathnirvana/rules.mk diff --git a/keyboards/idobo/keymaps/revok75/config.h b/keyboards/idobao/id75/keymaps/revok75/config.h similarity index 100% rename from keyboards/idobo/keymaps/revok75/config.h rename to keyboards/idobao/id75/keymaps/revok75/config.h diff --git a/keyboards/idobo/keymaps/revok75/keymap.c b/keyboards/idobao/id75/keymaps/revok75/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/revok75/keymap.c rename to keyboards/idobao/id75/keymaps/revok75/keymap.c diff --git a/keyboards/idobo/keymaps/revok75/readme.md b/keyboards/idobao/id75/keymaps/revok75/readme.md similarity index 100% rename from keyboards/idobo/keymaps/revok75/readme.md rename to keyboards/idobao/id75/keymaps/revok75/readme.md diff --git a/keyboards/idobo/keymaps/revok75/rules.mk b/keyboards/idobao/id75/keymaps/revok75/rules.mk similarity index 100% rename from keyboards/idobo/keymaps/revok75/rules.mk rename to keyboards/idobao/id75/keymaps/revok75/rules.mk diff --git a/keyboards/idobo/keymaps/via/keymap.c b/keyboards/idobao/id75/keymaps/via/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/via/keymap.c rename to keyboards/idobao/id75/keymaps/via/keymap.c diff --git a/keyboards/idobo/keymaps/via/rules.mk b/keyboards/idobao/id75/keymaps/via/rules.mk similarity index 100% rename from keyboards/idobo/keymaps/via/rules.mk rename to keyboards/idobao/id75/keymaps/via/rules.mk diff --git a/keyboards/idobo/keymaps/xaceofspaidsx/config.h b/keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h similarity index 100% rename from keyboards/idobo/keymaps/xaceofspaidsx/config.h rename to keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h diff --git a/keyboards/idobo/keymaps/xaceofspaidsx/keymap.c b/keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c similarity index 100% rename from keyboards/idobo/keymaps/xaceofspaidsx/keymap.c rename to keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c diff --git a/keyboards/idobo/keymaps/xaceofspaidsx/readme.md b/keyboards/idobao/id75/keymaps/xaceofspaidsx/readme.md similarity index 100% rename from keyboards/idobo/keymaps/xaceofspaidsx/readme.md rename to keyboards/idobao/id75/keymaps/xaceofspaidsx/readme.md diff --git a/keyboards/idobo/keymaps/xaceofspaidsx/rules.mk b/keyboards/idobao/id75/keymaps/xaceofspaidsx/rules.mk similarity index 100% rename from keyboards/idobo/keymaps/xaceofspaidsx/rules.mk rename to keyboards/idobao/id75/keymaps/xaceofspaidsx/rules.mk diff --git a/keyboards/idobo/readme.md b/keyboards/idobao/id75/readme.md similarity index 61% rename from keyboards/idobo/readme.md rename to keyboards/idobao/id75/readme.md index 254616decb86..9f0f87360cd0 100644 --- a/keyboards/idobo/readme.md +++ b/keyboards/idobao/id75/readme.md @@ -1,17 +1,19 @@ -# IDOBO +# ID75 -![IDOBO](imgur.com image replace me!) +![ID75](https://i.imgur.com/VOP1SzD.jpeg) 75Keys Aluminum Mechanical Keyboard. Firmware here originally appeared on qmkeyboard.cn Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) -Hardware Supported: IDOBO PCB -Hardware Availability: [IDOBO on Drop](https://drop.com/buy/id75-hot-swappable-ortholinear-keyboard-kit) +Hardware Supported: ID75 PCB +Hardware Availability: +* [ID75 on Drop](https://drop.com/buy/id75-hot-swappable-ortholinear-keyboard-kit) +* [ID75 on IDOBAO](https://idobao.net/products/idobao-id75v1-hot-swappable-mechanical-keyboard-kit) Make example for this keyboard (after setting up your build environment): - make idobo:default + make idobao/id75:default 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/idobo/rules.mk b/keyboards/idobao/id75/rules.mk similarity index 100% rename from keyboards/idobo/rules.mk rename to keyboards/idobao/id75/rules.mk From 217ad5cfc05a33cffbf100fe867b750f1deae7e1 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon, 17 Jan 2022 04:01:00 +0800 Subject: [PATCH 0093/1832] move yd60mq to ymdk vendor folder (#15647) --- data/mappings/keyboard_aliases.json | 2 +- keyboards/{ => ymdk}/yd60mq/12led/config.h | 0 keyboards/{ => ymdk}/yd60mq/12led/readme.md | 0 keyboards/{ => ymdk}/yd60mq/12led/rules.mk | 0 keyboards/{ => ymdk}/yd60mq/16led/config.h | 0 keyboards/{ => ymdk}/yd60mq/16led/readme.md | 0 keyboards/{ => ymdk}/yd60mq/16led/rules.mk | 0 keyboards/{ => ymdk}/yd60mq/config.h | 0 keyboards/{ => ymdk}/yd60mq/info.json | 0 keyboards/{ => ymdk}/yd60mq/keymaps/64key/keymap.c | 0 keyboards/{ => ymdk}/yd60mq/keymaps/default/keymap.c | 0 keyboards/{ => ymdk}/yd60mq/keymaps/iso/keymap.c | 0 keyboards/{ => ymdk}/yd60mq/keymaps/krusli/keymap.c | 0 keyboards/{ => ymdk}/yd60mq/keymaps/via/keymap.c | 0 keyboards/{ => ymdk}/yd60mq/keymaps/via/rules.mk | 0 keyboards/{ => ymdk}/yd60mq/readme.md | 12 ++++++------ keyboards/{ => ymdk}/yd60mq/rules.mk | 0 keyboards/{ => ymdk}/yd60mq/yd60mq.c | 0 keyboards/{ => ymdk}/yd60mq/yd60mq.h | 0 19 files changed, 7 insertions(+), 7 deletions(-) rename keyboards/{ => ymdk}/yd60mq/12led/config.h (100%) rename keyboards/{ => ymdk}/yd60mq/12led/readme.md (100%) rename keyboards/{ => ymdk}/yd60mq/12led/rules.mk (100%) rename keyboards/{ => ymdk}/yd60mq/16led/config.h (100%) rename keyboards/{ => ymdk}/yd60mq/16led/readme.md (100%) rename keyboards/{ => ymdk}/yd60mq/16led/rules.mk (100%) rename keyboards/{ => ymdk}/yd60mq/config.h (100%) rename keyboards/{ => ymdk}/yd60mq/info.json (100%) rename keyboards/{ => ymdk}/yd60mq/keymaps/64key/keymap.c (100%) rename keyboards/{ => ymdk}/yd60mq/keymaps/default/keymap.c (100%) rename keyboards/{ => ymdk}/yd60mq/keymaps/iso/keymap.c (100%) rename keyboards/{ => ymdk}/yd60mq/keymaps/krusli/keymap.c (100%) rename keyboards/{ => ymdk}/yd60mq/keymaps/via/keymap.c (100%) rename keyboards/{ => ymdk}/yd60mq/keymaps/via/rules.mk (100%) rename keyboards/{ => ymdk}/yd60mq/readme.md (70%) rename keyboards/{ => ymdk}/yd60mq/rules.mk (100%) rename keyboards/{ => ymdk}/yd60mq/yd60mq.c (100%) rename keyboards/{ => ymdk}/yd60mq/yd60mq.h (100%) diff --git a/data/mappings/keyboard_aliases.json b/data/mappings/keyboard_aliases.json index d7d2afceeb69..c8c39b246c74 100644 --- a/data/mappings/keyboard_aliases.json +++ b/data/mappings/keyboard_aliases.json @@ -553,7 +553,7 @@ target: 'xelus/valor/rev1' }, yd60mq: { - target: 'yd60mq/12led' + target: 'ymdk/yd60mq/12led' }, ymd75: { target: 'ymd75/rev1' diff --git a/keyboards/yd60mq/12led/config.h b/keyboards/ymdk/yd60mq/12led/config.h similarity index 100% rename from keyboards/yd60mq/12led/config.h rename to keyboards/ymdk/yd60mq/12led/config.h diff --git a/keyboards/yd60mq/12led/readme.md b/keyboards/ymdk/yd60mq/12led/readme.md similarity index 100% rename from keyboards/yd60mq/12led/readme.md rename to keyboards/ymdk/yd60mq/12led/readme.md diff --git a/keyboards/yd60mq/12led/rules.mk b/keyboards/ymdk/yd60mq/12led/rules.mk similarity index 100% rename from keyboards/yd60mq/12led/rules.mk rename to keyboards/ymdk/yd60mq/12led/rules.mk diff --git a/keyboards/yd60mq/16led/config.h b/keyboards/ymdk/yd60mq/16led/config.h similarity index 100% rename from keyboards/yd60mq/16led/config.h rename to keyboards/ymdk/yd60mq/16led/config.h diff --git a/keyboards/yd60mq/16led/readme.md b/keyboards/ymdk/yd60mq/16led/readme.md similarity index 100% rename from keyboards/yd60mq/16led/readme.md rename to keyboards/ymdk/yd60mq/16led/readme.md diff --git a/keyboards/yd60mq/16led/rules.mk b/keyboards/ymdk/yd60mq/16led/rules.mk similarity index 100% rename from keyboards/yd60mq/16led/rules.mk rename to keyboards/ymdk/yd60mq/16led/rules.mk diff --git a/keyboards/yd60mq/config.h b/keyboards/ymdk/yd60mq/config.h similarity index 100% rename from keyboards/yd60mq/config.h rename to keyboards/ymdk/yd60mq/config.h diff --git a/keyboards/yd60mq/info.json b/keyboards/ymdk/yd60mq/info.json similarity index 100% rename from keyboards/yd60mq/info.json rename to keyboards/ymdk/yd60mq/info.json diff --git a/keyboards/yd60mq/keymaps/64key/keymap.c b/keyboards/ymdk/yd60mq/keymaps/64key/keymap.c similarity index 100% rename from keyboards/yd60mq/keymaps/64key/keymap.c rename to keyboards/ymdk/yd60mq/keymaps/64key/keymap.c diff --git a/keyboards/yd60mq/keymaps/default/keymap.c b/keyboards/ymdk/yd60mq/keymaps/default/keymap.c similarity index 100% rename from keyboards/yd60mq/keymaps/default/keymap.c rename to keyboards/ymdk/yd60mq/keymaps/default/keymap.c diff --git a/keyboards/yd60mq/keymaps/iso/keymap.c b/keyboards/ymdk/yd60mq/keymaps/iso/keymap.c similarity index 100% rename from keyboards/yd60mq/keymaps/iso/keymap.c rename to keyboards/ymdk/yd60mq/keymaps/iso/keymap.c diff --git a/keyboards/yd60mq/keymaps/krusli/keymap.c b/keyboards/ymdk/yd60mq/keymaps/krusli/keymap.c similarity index 100% rename from keyboards/yd60mq/keymaps/krusli/keymap.c rename to keyboards/ymdk/yd60mq/keymaps/krusli/keymap.c diff --git a/keyboards/yd60mq/keymaps/via/keymap.c b/keyboards/ymdk/yd60mq/keymaps/via/keymap.c similarity index 100% rename from keyboards/yd60mq/keymaps/via/keymap.c rename to keyboards/ymdk/yd60mq/keymaps/via/keymap.c diff --git a/keyboards/yd60mq/keymaps/via/rules.mk b/keyboards/ymdk/yd60mq/keymaps/via/rules.mk similarity index 100% rename from keyboards/yd60mq/keymaps/via/rules.mk rename to keyboards/ymdk/yd60mq/keymaps/via/rules.mk diff --git a/keyboards/yd60mq/readme.md b/keyboards/ymdk/yd60mq/readme.md similarity index 70% rename from keyboards/yd60mq/readme.md rename to keyboards/ymdk/yd60mq/readme.md index 32073da63153..9a8dece4dadb 100644 --- a/keyboards/yd60mq/readme.md +++ b/keyboards/ymdk/yd60mq/readme.md @@ -13,17 +13,17 @@ Customizable 60% PCB by [YMDK](https://ymdk.aliexpress.com/store/429151?spm=2114 Make example for this keyboard (after setting up your build environment): ```sh -make yd60mq:default # builds the 12 LED variant -make yd60mq/12led:default # also builds the 12 LED variant -make yd60mq/16led:default # builds the 16 LED variant +make ymdk/yd60mq:default # builds the 12 LED variant +make ymdk/yd60mq/12led:default # also builds the 12 LED variant +make ymdk/yd60mq/16led:default # builds the 16 LED variant ``` The keyboard uses a DFU bootloader. To make a keymap and use dfu to flash it: ```sh -make yd60mq:default:flash # builds and flashes the 12 LED variant -make yd60mq/12led:default:flash # also builds and flashes the 12 LED variant -make yd60mq/16led:default:flash # builds and flashes the 16 LED variant +make ymdk/yd60mq:default:flash # builds and flashes the 12 LED variant +make ymdk/yd60mq/12led:default:flash # also builds and flashes the 12 LED variant +make ymdk/yd60mq/16led:default:flash # builds and flashes the 16 LED variant ``` 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/yd60mq/rules.mk b/keyboards/ymdk/yd60mq/rules.mk similarity index 100% rename from keyboards/yd60mq/rules.mk rename to keyboards/ymdk/yd60mq/rules.mk diff --git a/keyboards/yd60mq/yd60mq.c b/keyboards/ymdk/yd60mq/yd60mq.c similarity index 100% rename from keyboards/yd60mq/yd60mq.c rename to keyboards/ymdk/yd60mq/yd60mq.c diff --git a/keyboards/yd60mq/yd60mq.h b/keyboards/ymdk/yd60mq/yd60mq.h similarity index 100% rename from keyboards/yd60mq/yd60mq.h rename to keyboards/ymdk/yd60mq/yd60mq.h From 557fbbd6afbff3bdd571e580ea79ba3905a28ce4 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 17 Jan 2022 07:12:58 +1100 Subject: [PATCH 0094/1832] Yet another bad `DEFAULT_FOLDER` fix. (#15904) --- keyboards/ymdk/yd60mq/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ymdk/yd60mq/rules.mk b/keyboards/ymdk/yd60mq/rules.mk index 824b053a88d3..5161d11ac17a 100644 --- a/keyboards/ymdk/yd60mq/rules.mk +++ b/keyboards/ymdk/yd60mq/rules.mk @@ -19,4 +19,4 @@ AUDIO_ENABLE = no # Audio output LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_ansi_tsangan 60_hhkb 60_iso 60_iso_split_bs_rshift 60_iso_tsangan -DEFAULT_FOLDER = yd60mq/12led +DEFAULT_FOLDER = ymdk/yd60mq/12led From c72ed7c02473dec4da6cb263c1e0fb2ca4856b94 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 17 Jan 2022 08:44:34 +1100 Subject: [PATCH 0095/1832] CLI: Parse USB device version BCD (#14580) * CLI: Parse USB device version BCD * Apply suggestions --- data/mappings/info_config.json | 2 ++ data/schemas/definitions.jsonschema | 10 ++++++--- data/schemas/keyboard.jsonschema | 3 ++- docs/reference_info_json.md | 6 ++++-- keyboards/40percentclub/25/config.h | 6 +++--- keyboards/40percentclub/5x5/config.h | 6 +++--- keyboards/40percentclub/6lit/config.h | 6 +++--- keyboards/40percentclub/foobar/config.h | 6 +++--- keyboards/40percentclub/half_n_half/config.h | 6 +++--- keyboards/boston_meetup/2019/config.h | 2 +- keyboards/capsunlocked/cu80/v2_ansi/info.json | 2 +- keyboards/capsunlocked/cu80/v2_iso/info.json | 2 +- keyboards/clueboard/17/info.json | 2 +- keyboards/clueboard/2x1800/2019/info.json | 2 +- keyboards/clueboard/60/info.json | 2 +- keyboards/clueboard/66/rev1/info.json | 2 +- keyboards/clueboard/66/rev2/info.json | 2 +- keyboards/clueboard/66/rev3/info.json | 2 +- keyboards/clueboard/66/rev4/info.json | 2 +- keyboards/clueboard/66_hotswap/gen1/info.json | 2 +- .../clueboard/66_hotswap/prototype/info.json | 2 +- keyboards/clueboard/card/info.json | 2 +- keyboards/clueboard/info.json | 2 +- keyboards/coarse/ixora/config.h | 2 +- keyboards/coarse/vinta/config.h | 2 +- keyboards/cybergear/macro25/info.json | 2 +- keyboards/dyz/dyz60/info.json | 2 +- .../ez_maker/directpins/promicro/info.json | 2 +- .../ez_maker/directpins/proton_c/info.json | 2 +- .../ez_maker/directpins/teensy_2/info.json | 2 +- .../ez_maker/directpins/teensy_2pp/info.json | 2 +- .../ez_maker/directpins/teensy_32/info.json | 2 +- .../ez_maker/directpins/teensy_lc/info.json | 2 +- keyboards/forever65/info.json | 2 +- keyboards/frooastboard/info.json | 2 +- keyboards/handwired/qc60/config.h | 2 +- keyboards/lets_split_eh/config.h | 2 +- keyboards/ramonimbao/squishytkl/config.h | 2 +- keyboards/spacetime/config.h | 2 +- keyboards/tempo_turtle/bradpad/info.json | 2 +- lib/python/qmk/cli/generate/config_h.py | 6 ++++++ lib/python/qmk/info.py | 21 +++++++++++++++++++ 42 files changed, 88 insertions(+), 52 deletions(-) diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json index 3cb64dd3a2fb..cfe8807d4363 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.json @@ -15,6 +15,8 @@ "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"}, "DEBOUNCE": {"info_key": "debounce", "value_type": "int"}, "DEVICE_VER": {"info_key": "usb.device_ver", "value_type": "hex"}, + # TODO: Replace ^^^ with vvv + #"DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"}, "DESCRIPTION": {"info_key": "keyboard_folder", "to_json": false}, "DIODE_DIRECTION": {"info_key": "diode_direction"}, "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"}, diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index 822f237073c3..3f92e289a79c 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -20,6 +20,10 @@ "type": "string", "pattern": "^0x[0-9A-F]{4}$" }, + "bcd_version": { + "type": "string", + "pattern": "^[0-9]{1,2}\\.[0-9]\\.[0-9]$" + }, "text_identifier": { "type": "string", "minLength": 1, @@ -70,13 +74,13 @@ "signed_int": { "type": "number", "multipleOf": 1 - } + }, "signed_int_8": { "type": "number", "min": -127, "max": 127, "multipleOf": 1 - } + }, "string_array": { "type": "array", "items": { @@ -97,7 +101,7 @@ "type": "number", "min": 0, "multipleOf": 1 - } + }, "unsigned_int_8": { "type": "number", "min": 0, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 94bbbe7e8554..f7b05d6655f7 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -320,7 +320,8 @@ "type": "object", "additionalProperties": false, "properties": { - "device_ver": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, + "device_ver": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, # Deprecated + "device_version": {"$ref": "qmk.definitions.v1#/bcd_version"}, "force_nkro": {"type": "boolean"}, "pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, "vid": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index b2e6cae28e48..3cc807c179d9 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -172,7 +172,7 @@ The following animations can be enabled: ### USB -Every USB keyboard needs to have its USB parmaters defined. At a minimum you need to set vid, pid, and device version. +Every USB keyboard needs to have its USB parameters defined. At a minimum you need to set the Vendor ID, Product ID, and device version. Example: @@ -181,7 +181,9 @@ Example: "usb": { "vid": "0xC1ED", "pid": "0x23B0", - "device_ver": "0x0001" + "device_version": "1.0.0" } } ``` + +The device version is a BCD (binary coded decimal) value, in the format `MMmr`, so the below value would look like `0x0100` in the generated code. This also means the maximum valid values for each part are `99.9.9`, despite it being a hexadecimal value under the hood. diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h index 8ff526467119..d478131e95c0 100644 --- a/keyboards/40percentclub/25/config.h +++ b/keyboards/40percentclub/25/config.h @@ -19,9 +19,9 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x0F25 +#define VENDOR_ID 0x4025 // 40% +#define PRODUCT_ID 0x0F25 +#define DEVICE_VER 0x0100 #define MANUFACTURER di0ib #define PRODUCT The 5x5 Keyboard diff --git a/keyboards/40percentclub/5x5/config.h b/keyboards/40percentclub/5x5/config.h index c9a83de7372b..c3bb5d6380c7 100644 --- a/keyboards/40percentclub/5x5/config.h +++ b/keyboards/40percentclub/5x5/config.h @@ -5,9 +5,9 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x05B5 +#define VENDOR_ID 0x4025 // 40% +#define PRODUCT_ID 0x05B5 +#define DEVICE_VER 0x0100 #define MANUFACTURER di0ib #define PRODUCT The 5x5 Keyboard diff --git a/keyboards/40percentclub/6lit/config.h b/keyboards/40percentclub/6lit/config.h index f5c0ea30400a..ae4ee1bad87d 100644 --- a/keyboards/40percentclub/6lit/config.h +++ b/keyboards/40percentclub/6lit/config.h @@ -19,9 +19,9 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x0F61 +#define VENDOR_ID 0x4025 // 40% +#define PRODUCT_ID 0x0F61 +#define DEVICE_VER 0x0100 #define MANUFACTURER di0ib #define PRODUCT The 6lit Macropad diff --git a/keyboards/40percentclub/foobar/config.h b/keyboards/40percentclub/foobar/config.h index a65b6e51bf48..1e91d3bd10bb 100644 --- a/keyboards/40percentclub/foobar/config.h +++ b/keyboards/40percentclub/foobar/config.h @@ -19,9 +19,9 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x0F00 +#define VENDOR_ID 0x4025 // 40% +#define PRODUCT_ID 0x0F00 +#define DEVICE_VER 0x0100 #define MANUFACTURER di0ib #define PRODUCT The foobar Keyboard diff --git a/keyboards/40percentclub/half_n_half/config.h b/keyboards/40percentclub/half_n_half/config.h index f79f83839c86..0c819031da2a 100644 --- a/keyboards/40percentclub/half_n_half/config.h +++ b/keyboards/40percentclub/half_n_half/config.h @@ -20,9 +20,9 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x4A1F +#define VENDOR_ID 0x4025 // 40% +#define PRODUCT_ID 0x4A1F +#define DEVICE_VER 0x0100 #define MANUFACTURER di0ib #define PRODUCT half_n_half diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h index 80896242e074..138dedab5709 100644 --- a/keyboards/boston_meetup/2019/config.h +++ b/keyboards/boston_meetup/2019/config.h @@ -1,7 +1,7 @@ #pragma once /* USB Device descriptor parameter */ -#define DEVICE_VER 0x07E3 +#define DEVICE_VER 0x2019 #undef MATRIX_ROWS #undef MATRIX_COLS diff --git a/keyboards/capsunlocked/cu80/v2_ansi/info.json b/keyboards/capsunlocked/cu80/v2_ansi/info.json index f0317de36d54..7615d9f02969 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/info.json +++ b/keyboards/capsunlocked/cu80/v2_ansi/info.json @@ -37,7 +37,7 @@ }, "url": "https://caps-unlocked.com/cu80-round-2/", "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x0081", "vid": "0x4355" }, diff --git a/keyboards/capsunlocked/cu80/v2_iso/info.json b/keyboards/capsunlocked/cu80/v2_iso/info.json index c3321560695c..43f074f170d4 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/info.json +++ b/keyboards/capsunlocked/cu80/v2_iso/info.json @@ -37,7 +37,7 @@ }, "url": "https://caps-unlocked.com/cu80-round-2/", "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x0080", "vid": "0x4355" }, diff --git a/keyboards/clueboard/17/info.json b/keyboards/clueboard/17/info.json index fb12f7dcceab..5ea4937e50e6 100644 --- a/keyboards/clueboard/17/info.json +++ b/keyboards/clueboard/17/info.json @@ -32,7 +32,7 @@ }, "url": "", "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2312", "vid": "0xC1ED" }, diff --git a/keyboards/clueboard/2x1800/2019/info.json b/keyboards/clueboard/2x1800/2019/info.json index a877cae8b07b..886f3878bf17 100644 --- a/keyboards/clueboard/2x1800/2019/info.json +++ b/keyboards/clueboard/2x1800/2019/info.json @@ -24,7 +24,7 @@ "rows": ["C0", "C1", "C2", "C3", "C7", "F7", "B1", "F2", "F3", "F4", "F5", "F6", "C6"] }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x23A0", "vid": "0xC1ED" }, diff --git a/keyboards/clueboard/60/info.json b/keyboards/clueboard/60/info.json index 6e0d90fe1df5..16f94644c900 100644 --- a/keyboards/clueboard/60/info.json +++ b/keyboards/clueboard/60/info.json @@ -25,7 +25,7 @@ "rows": ["B0", "B1", "B2", "A15", "A10"] }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2350", "vid": "0xC1ED" }, diff --git a/keyboards/clueboard/66/rev1/info.json b/keyboards/clueboard/66/rev1/info.json index 6ff733b3ddae..bc3e1e23b657 100644 --- a/keyboards/clueboard/66/rev1/info.json +++ b/keyboards/clueboard/66/rev1/info.json @@ -37,7 +37,7 @@ "saturation_steps": 17 }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2301", "vid": "0xC1ED" }, diff --git a/keyboards/clueboard/66/rev2/info.json b/keyboards/clueboard/66/rev2/info.json index 27d293552db3..0cfb6903889c 100644 --- a/keyboards/clueboard/66/rev2/info.json +++ b/keyboards/clueboard/66/rev2/info.json @@ -37,7 +37,7 @@ "saturation_steps": 17 }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2320", "vid": "0xC1ED" }, diff --git a/keyboards/clueboard/66/rev3/info.json b/keyboards/clueboard/66/rev3/info.json index 0f2eada753e6..208bc22dd1f4 100644 --- a/keyboards/clueboard/66/rev3/info.json +++ b/keyboards/clueboard/66/rev3/info.json @@ -37,7 +37,7 @@ "saturation_steps": 17 }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2370", "vid": "0xC1ED" }, diff --git a/keyboards/clueboard/66/rev4/info.json b/keyboards/clueboard/66/rev4/info.json index b40abf402f20..8733216f0580 100644 --- a/keyboards/clueboard/66/rev4/info.json +++ b/keyboards/clueboard/66/rev4/info.json @@ -36,7 +36,7 @@ "saturation_steps": 17 }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2390", "vid": "0xC1ED" }, diff --git a/keyboards/clueboard/66_hotswap/gen1/info.json b/keyboards/clueboard/66_hotswap/gen1/info.json index cf6288b54500..2b42bf22e842 100644 --- a/keyboards/clueboard/66_hotswap/gen1/info.json +++ b/keyboards/clueboard/66_hotswap/gen1/info.json @@ -25,7 +25,7 @@ "rows": ["B11", "A6", "A3", "A2", "A1", "B5", "B6", "C15", "C14", "C13"] }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2391", "vid": "0xC1ED" }, diff --git a/keyboards/clueboard/66_hotswap/prototype/info.json b/keyboards/clueboard/66_hotswap/prototype/info.json index d3f81851f4d6..4940af8439fd 100644 --- a/keyboards/clueboard/66_hotswap/prototype/info.json +++ b/keyboards/clueboard/66_hotswap/prototype/info.json @@ -37,7 +37,7 @@ "saturation_steps": 17 }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2390", "vid": "0xC1ED" }, diff --git a/keyboards/clueboard/card/info.json b/keyboards/clueboard/card/info.json index 24088b2c41b2..62ccd9ced0f5 100644 --- a/keyboards/clueboard/card/info.json +++ b/keyboards/clueboard/card/info.json @@ -32,7 +32,7 @@ "saturation_steps": 17 }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2330", "vid": "0xC1ED" }, diff --git a/keyboards/clueboard/info.json b/keyboards/clueboard/info.json index 47514f280b1a..4421643e1069 100644 --- a/keyboards/clueboard/info.json +++ b/keyboards/clueboard/info.json @@ -2,7 +2,7 @@ "manufacturer": "Clueboard", "maintainer": "skullydazed", "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "vid": "0xC1ED" } } diff --git a/keyboards/coarse/ixora/config.h b/keyboards/coarse/ixora/config.h index ec7dfa705bb5..13246e922607 100644 --- a/keyboards/coarse/ixora/config.h +++ b/keyboards/coarse/ixora/config.h @@ -5,7 +5,7 @@ /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x0C61 -#define DEVICE_VER 0x00C6 +#define DEVICE_VER 0x0100 #define MANUFACTURER PeiorisBoards #define PRODUCT Ixora Rev1 diff --git a/keyboards/coarse/vinta/config.h b/keyboards/coarse/vinta/config.h index d08994ae67ae..4e35b3461a34 100644 --- a/keyboards/coarse/vinta/config.h +++ b/keyboards/coarse/vinta/config.h @@ -5,7 +5,7 @@ /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x0C61 -#define DEVICE_VER 0x00C6 +#define DEVICE_VER 0x0100 #define MANUFACTURER PeiorisBoards #define PRODUCT Vinta R1 diff --git a/keyboards/cybergear/macro25/info.json b/keyboards/cybergear/macro25/info.json index a029ae1ce33d..75078962bffb 100644 --- a/keyboards/cybergear/macro25/info.json +++ b/keyboards/cybergear/macro25/info.json @@ -5,7 +5,7 @@ "usb": { "vid": "0x1209", "pid": "0x69A1", - "device_ver": "0x0001" + "device_version": "0.0.1", }, "diode_direction": "COL2ROW", "layouts": { diff --git a/keyboards/dyz/dyz60/info.json b/keyboards/dyz/dyz60/info.json index 24ff25755418..d946f9b97ba1 100644 --- a/keyboards/dyz/dyz60/info.json +++ b/keyboards/dyz/dyz60/info.json @@ -20,7 +20,7 @@ "usb": { "vid": "0xD772", "pid": "0x000A", - "device_ver": "0x0001" + "device_version": "0.0.1" }, "layouts": { "LAYOUT_all": { diff --git a/keyboards/ez_maker/directpins/promicro/info.json b/keyboards/ez_maker/directpins/promicro/info.json index 419450385ce9..264ee350c8cf 100644 --- a/keyboards/ez_maker/directpins/promicro/info.json +++ b/keyboards/ez_maker/directpins/promicro/info.json @@ -26,7 +26,7 @@ }, "processor": "atmega32u4", "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2320", "vid": "0xFEED" }, diff --git a/keyboards/ez_maker/directpins/proton_c/info.json b/keyboards/ez_maker/directpins/proton_c/info.json index e3d000424acb..d35fe9a90a19 100644 --- a/keyboards/ez_maker/directpins/proton_c/info.json +++ b/keyboards/ez_maker/directpins/proton_c/info.json @@ -32,7 +32,7 @@ ] }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2321", "vid": "0xFEED" }, diff --git a/keyboards/ez_maker/directpins/teensy_2/info.json b/keyboards/ez_maker/directpins/teensy_2/info.json index 0c8fa672a9fa..731d089322e9 100644 --- a/keyboards/ez_maker/directpins/teensy_2/info.json +++ b/keyboards/ez_maker/directpins/teensy_2/info.json @@ -28,7 +28,7 @@ ] }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2322", "vid": "0xFEED" }, diff --git a/keyboards/ez_maker/directpins/teensy_2pp/info.json b/keyboards/ez_maker/directpins/teensy_2pp/info.json index e12544a5ef9c..214d4bdadc3b 100644 --- a/keyboards/ez_maker/directpins/teensy_2pp/info.json +++ b/keyboards/ez_maker/directpins/teensy_2pp/info.json @@ -35,7 +35,7 @@ ] }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2323", "vid": "0xFEED" }, diff --git a/keyboards/ez_maker/directpins/teensy_32/info.json b/keyboards/ez_maker/directpins/teensy_32/info.json index e0c024ec9421..851f9e67d176 100644 --- a/keyboards/ez_maker/directpins/teensy_32/info.json +++ b/keyboards/ez_maker/directpins/teensy_32/info.json @@ -27,7 +27,7 @@ ] }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2324", "vid": "0xFEED" }, diff --git a/keyboards/ez_maker/directpins/teensy_lc/info.json b/keyboards/ez_maker/directpins/teensy_lc/info.json index bf93c41fab6c..8f64145e4506 100644 --- a/keyboards/ez_maker/directpins/teensy_lc/info.json +++ b/keyboards/ez_maker/directpins/teensy_lc/info.json @@ -27,7 +27,7 @@ ] }, "usb": { - "device_ver": "0x0001", + "device_version": "0.0.1", "pid": "0x2325", "vid": "0xFEED" }, diff --git a/keyboards/forever65/info.json b/keyboards/forever65/info.json index 9f5a3539e367..b50a2cf40654 100644 --- a/keyboards/forever65/info.json +++ b/keyboards/forever65/info.json @@ -12,7 +12,7 @@ "usb": { "vid": "0x4E53", "pid": "0x0F65", - "device_ver": "0x0001" + "device_version": "0.0.1" }, "features": { "bootmagic": true, diff --git a/keyboards/frooastboard/info.json b/keyboards/frooastboard/info.json index ca99cf594a70..4217439b5e14 100644 --- a/keyboards/frooastboard/info.json +++ b/keyboards/frooastboard/info.json @@ -37,6 +37,6 @@ "usb": { "vid": "0x4642", "pid": "0x6F21", - "device_ver": "0x0001" + "device_version": "0.0.1" } } diff --git a/keyboards/handwired/qc60/config.h b/keyboards/handwired/qc60/config.h index 0c27755910f9..db3d88dcf4f9 100644 --- a/keyboards/handwired/qc60/config.h +++ b/keyboards/handwired/qc60/config.h @@ -5,7 +5,7 @@ /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x0C60 -#define DEVICE_VER 0x00C6 +#define DEVICE_VER 0x0100 #define MANUFACTURER PeiorisBoards #define PRODUCT QC60 diff --git a/keyboards/lets_split_eh/config.h b/keyboards/lets_split_eh/config.h index 7527c6b3d2bc..787b9783b8ad 100644 --- a/keyboards/lets_split_eh/config.h +++ b/keyboards/lets_split_eh/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #define PRODUCT_ID 0xE401 -#define DEVICE_VER 0x0E41 +#define DEVICE_VER 0x0100 #define MANUFACTURER That-Canadian #define PRODUCT Lets Split Eh? diff --git a/keyboards/ramonimbao/squishytkl/config.h b/keyboards/ramonimbao/squishytkl/config.h index 3e0812bb12be..ebebc35bb4b1 100644 --- a/keyboards/ramonimbao/squishytkl/config.h +++ b/keyboards/ramonimbao/squishytkl/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . /* USB Device descriptor parameter */ #define VENDOR_ID 0xB16B #define PRODUCT_ID 0x00B1 -#define DEVICE_VER 0xE500 +#define DEVICE_VER 0x0100 #define MANUFACTURER Ramon Imbao #define PRODUCT SquishyTKL diff --git a/keyboards/spacetime/config.h b/keyboards/spacetime/config.h index 3afcee173591..7dfca576a027 100644 --- a/keyboards/spacetime/config.h +++ b/keyboards/spacetime/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x4A1F +#define DEVICE_VER 0x0100 #define MANUFACTURER Kyle Terry #define PRODUCT spacetime diff --git a/keyboards/tempo_turtle/bradpad/info.json b/keyboards/tempo_turtle/bradpad/info.json index d32cc2c665fe..e1caeeeb880a 100644 --- a/keyboards/tempo_turtle/bradpad/info.json +++ b/keyboards/tempo_turtle/bradpad/info.json @@ -10,7 +10,7 @@ "usb":{ "vid":"0x7474", "pid":"0x6270", - "device_ver":"0x0001" + "device_version":"0.0.1" }, "layouts": { "LAYOUT": { diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index f16dca1de8b9..6b1012fae7aa 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -108,6 +108,12 @@ def generate_config_items(kb_info_json, config_h_lines): config_h_lines.append(f'#ifndef {key}') config_h_lines.append(f'# define {key} {value}') config_h_lines.append(f'#endif // {key}') + elif key_type == 'bcd_version': + (major, minor, revision) = config_value.split('.') + config_h_lines.append('') + config_h_lines.append(f'#ifndef {config_key}') + config_h_lines.append(f'# define {config_key} 0x{major.zfill(2)}{minor}{revision}') + config_h_lines.append(f'#endif // {config_key}') else: config_h_lines.append('') config_h_lines.append(f'#ifndef {config_key}') diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 6bdf2cb16648..905f10ecc232 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -387,6 +387,19 @@ def _extract_matrix_info(info_data, config_c): return info_data +# TODO: kill off usb.device_ver in favor of usb.device_version +def _extract_device_version(info_data): + if info_data.get('usb'): + if info_data['usb'].get('device_version') and not info_data['usb'].get('device_ver'): + (major, minor, revision) = info_data['usb']['device_version'].split('.', 3) + info_data['usb']['device_ver'] = f'0x{major.zfill(2)}{minor}{revision}' + if not info_data['usb'].get('device_version') and info_data['usb'].get('device_ver'): + major = int(info_data['usb']['device_ver'][2:4]) + minor = int(info_data['usb']['device_ver'][4]) + revision = int(info_data['usb']['device_ver'][5]) + info_data['usb']['device_version'] = f'{major}.{minor}.{revision}' + + def _extract_config_h(info_data): """Pull some keyboard information from existing config.h files """ @@ -430,6 +443,13 @@ def _extract_config_h(info_data): elif key_type == 'int': dotty_info[info_key] = int(config_c[config_key]) + elif key_type == 'bcd_version': + major = int(config_c[config_key][2:4]) + minor = int(config_c[config_key][4]) + revision = int(config_c[config_key][5]) + + dotty_info[info_key] = f'{major}.{minor}.{revision}' + else: dotty_info[info_key] = config_c[config_key] @@ -444,6 +464,7 @@ def _extract_config_h(info_data): _extract_split_main(info_data, config_c) _extract_split_transport(info_data, config_c) _extract_split_right_pins(info_data, config_c) + _extract_device_version(info_data) return info_data From dcb0c4e51e59fc796fe6957f1483ead988442b45 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 19 Jan 2022 20:34:59 +1100 Subject: [PATCH 0096/1832] Add example implementations for compatible MCUs list (#15935) * Add example implementations for compatible MCUs list * Update docs/compatible_microcontrollers.md Co-authored-by: Nick Brassel Co-authored-by: Nick Brassel --- docs/compatible_microcontrollers.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/compatible_microcontrollers.md b/docs/compatible_microcontrollers.md index 1f46a1c634fe..b74d49d0e3f9 100644 --- a/docs/compatible_microcontrollers.md +++ b/docs/compatible_microcontrollers.md @@ -1,6 +1,6 @@ # Compatible Microcontrollers -QMK runs on any USB-capable AVR or ARM microcontroller with enough flash space - generally 32kB or more, though it will *just* squeeze into 16kB with most features disabled. +QMK runs on any USB-capable AVR or ARM microcontroller with enough flash space - generally 32kB+ for AVR, and 64kB+ for ARM. With significant disabling of features, QMK may *just* squeeze into 16kB AVR MCUs. ## Atmel AVR @@ -8,7 +8,11 @@ The following use [LUFA](https://www.fourwalledcubicle.com/LUFA.php) as the USB * [ATmega16U2](https://www.microchip.com/wwwproducts/en/ATmega16U2) / [ATmega32U2](https://www.microchip.com/wwwproducts/en/ATmega32U2) * [ATmega16U4](https://www.microchip.com/wwwproducts/en/ATmega16U4) / [ATmega32U4](https://www.microchip.com/wwwproducts/en/ATmega32U4) + * SparkFun Pro Micro (and clones) + * PJRC Teensy 2.0 + * Adafruit Feather 32U4 * [AT90USB64](https://www.microchip.com/wwwproducts/en/AT90USB646) / [AT90USB128](https://www.microchip.com/wwwproducts/en/AT90USB1286) + * PJRC Teensy++ 2.0 * [AT90USB162](https://www.microchip.com/wwwproducts/en/AT90USB162) Certain MCUs which do not have native USB will use [V-USB](https://www.obdev.at/products/vusb/index.html) instead: @@ -25,11 +29,15 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s * [STM32F0x2](https://www.st.com/en/microcontrollers-microprocessors/stm32f0x2.html) * [STM32F103](https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html) + * Bluepill (with STM32duino bootloader) * [STM32F303](https://www.st.com/en/microcontrollers-microprocessors/stm32f303.html) + * QMK Proton-C * [STM32F401](https://www.st.com/en/microcontrollers-microprocessors/stm32f401.html) + * WeAct Blackpill * [STM32F405](https://www.st.com/en/microcontrollers-microprocessors/stm32f405-415.html) * [STM32F407](https://www.st.com/en/microcontrollers-microprocessors/stm32f407-417.html) * [STM32F411](https://www.st.com/en/microcontrollers-microprocessors/stm32f411.html) + * WeAct Blackpill * [STM32F446](https://www.st.com/en/microcontrollers-microprocessors/stm32f446.html) * [STM32G431](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x1.html) * [STM32G474](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x4.html) @@ -45,13 +53,16 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s ### NXP (Kinetis) * [MKL26Z64](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/kl-series-cortex-m0-plus/kinetis-kl2x-72-96-mhz-usb-ultra-low-power-microcontrollers-mcus-based-on-arm-cortex-m0-plus-core:KL2x) + * PJRC Teensy LC * [MK20DX128](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k2x-usb/kinetis-k20-50-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-based-on-arm-cortex-m4-core:K20_50) * [MK20DX256](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k2x-usb/kinetis-k20-72-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-mcus-based-on-arm-cortex-m4-core:K20_72) + * PJRC Teensy 3.2 * [MK66FX1M0](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k6x-ethernet/kinetis-k66-180-mhz-dual-high-speed-full-speed-usbs-2mb-flash-microcontrollers-mcus-based-on-arm-cortex-m4-core:K66_180) + * PJRC Teensy 3.6 ## Atmel ATSAM -There is limited support for one of Atmel's ATSAM microcontrollers, that being the [ATSAMD51J18A](https://www.microchip.com/wwwproducts/en/ATSAMD51J18A) used by the [Massdrop keyboards](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop). +There is limited support for one of Atmel's ATSAM microcontrollers, that being the [ATSAMD51J18A](https://www.microchip.com/wwwproducts/en/ATSAMD51J18A) used by the [Massdrop keyboards](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop). However, it is not recommended to design a board with this microcontroller as the support is quite specialized to Massdrop hardware. ## RISC-V From d840ef2b2855c7c6094e5881a4bc78a05297a488 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 19 Jan 2022 17:38:48 +0000 Subject: [PATCH 0097/1832] Relocate matrix_scan_quantum tasks (#15882) * Move matrix_scan_quantum tasks * Fix tests * Fix up missing refs --- quantum/keyboard.c | 70 ++++++++++++++++++++++++++++++++++++++++++++ quantum/quantum.c | 73 ++-------------------------------------------- 2 files changed, 72 insertions(+), 71 deletions(-) diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 67f7381f74db..fa20c675c3f4 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -16,6 +16,7 @@ along with this program. If not, see . */ #include +#include "quantum.h" #include "keyboard.h" #include "matrix.h" #include "keymap.h" @@ -450,6 +451,73 @@ bool matrix_scan_task(void) { return matrix_changed; } +/** \brief Tasks previously located in matrix_scan_quantum + * + * TODO: rationalise against keyboard_task and current split role + */ +void quantum_task(void) { +#ifdef SPLIT_KEYBOARD + // some tasks should only run on master + if (!is_keyboard_master()) return; +#endif + +#if defined(AUDIO_ENABLE) && defined(AUDIO_INIT_DELAY) + // There are some tasks that need to be run a little bit + // after keyboard startup, or else they will not work correctly + // because of interaction with the USB device state, which + // may still be in flux... + // + // At the moment the only feature that needs this is the + // startup song. + static bool delayed_tasks_run = false; + static uint16_t delayed_task_timer = 0; + if (!delayed_tasks_run) { + if (!delayed_task_timer) { + delayed_task_timer = timer_read(); + } else if (timer_elapsed(delayed_task_timer) > 300) { + audio_startup(); + delayed_tasks_run = true; + } + } +#endif + +#if defined(AUDIO_ENABLE) && !defined(NO_MUSIC_MODE) + music_task(); +#endif + +#ifdef KEY_OVERRIDE_ENABLE + key_override_task(); +#endif + +#ifdef SEQUENCER_ENABLE + sequencer_task(); +#endif + +#ifdef TAP_DANCE_ENABLE + tap_dance_task(); +#endif + +#ifdef COMBO_ENABLE + combo_task(); +#endif + +#ifdef WPM_ENABLE + decay_wpm(); +#endif + +#ifdef HAPTIC_ENABLE + haptic_task(); +#endif + +#ifdef DIP_SWITCH_ENABLE + dip_switch_read(false); +#endif + +#ifdef AUTO_SHIFT_ENABLE + autoshift_matrix_scan(); +#endif +} + /** \brief Keyboard task: Do keyboard routine jobs * * Do routine keyboard jobs: @@ -465,6 +533,8 @@ void keyboard_task(void) { bool matrix_changed = matrix_scan_task(); (void)matrix_changed; + quantum_task(); + #if defined(RGBLIGHT_ENABLE) rgblight_task(); #endif diff --git a/quantum/quantum.c b/quantum/quantum.c index c106f795d026..ac99bcbd4547 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -47,10 +47,6 @@ float default_layer_songs[][16][2] = DEFAULT_LAYER_SONGS; # endif #endif -#ifdef AUTO_SHIFT_ENABLE -# include "process_auto_shift.h" -#endif - uint8_t extract_mod_bits(uint16_t code) { switch (code) { case QK_MODS ... QK_MODS_MAX: @@ -400,73 +396,8 @@ void matrix_init_quantum() { matrix_init_kb(); } -void matrix_scan_quantum() { -#if defined(AUDIO_ENABLE) && defined(AUDIO_INIT_DELAY) - // There are some tasks that need to be run a little bit - // after keyboard startup, or else they will not work correctly - // because of interaction with the USB device state, which - // may still be in flux... - // - // At the moment the only feature that needs this is the - // startup song. - static bool delayed_tasks_run = false; - static uint16_t delayed_task_timer = 0; - if (!delayed_tasks_run) { - if (!delayed_task_timer) { - delayed_task_timer = timer_read(); - } else if (timer_elapsed(delayed_task_timer) > 300) { - audio_startup(); - delayed_tasks_run = true; - } - } -#endif - -#if defined(AUDIO_ENABLE) && !defined(NO_MUSIC_MODE) - music_task(); -#endif - -#ifdef KEY_OVERRIDE_ENABLE - key_override_task(); -#endif - -#ifdef SEQUENCER_ENABLE - sequencer_task(); -#endif - -#ifdef TAP_DANCE_ENABLE - tap_dance_task(); -#endif - -#ifdef COMBO_ENABLE - combo_task(); -#endif - -#ifdef LED_MATRIX_ENABLE - led_matrix_task(); -#endif - -#ifdef WPM_ENABLE - decay_wpm(); -#endif - -#ifdef HAPTIC_ENABLE - haptic_task(); -#endif - -#ifdef DIP_SWITCH_ENABLE - dip_switch_read(false); -#endif - -#ifdef AUTO_SHIFT_ENABLE - autoshift_matrix_scan(); -#endif - - matrix_scan_kb(); -} - -#ifdef HD44780_ENABLED -# include "hd44780.h" -#endif +// TODO: remove legacy api +void matrix_scan_quantum() { matrix_scan_kb(); } //------------------------------------------------------------------------------ // Override these functions in your keymap file to play different tunes on From 6ebb44f17e7bb3df8492c6498289a44c01c59277 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 20 Jan 2022 09:23:16 -0800 Subject: [PATCH 0098/1832] [Bug][Core] Fix optical sensor firmware upload (#15919) --- docs/feature_pointing_device.md | 19 ++++++++++--------- drivers/sensors/adns9800.c | 6 ++---- drivers/sensors/adns9800_srom_A6.h | 2 +- drivers/sensors/pmw3360.c | 12 ++++-------- drivers/sensors/pmw3389.c | 10 ++++------ 5 files changed, 21 insertions(+), 28 deletions(-) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 5f1260eede40..84ab88573899 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -40,13 +40,13 @@ POINTING_DEVICE_DRIVER = adns9800 The ADNS 9800 is an SPI driven optical sensor, that uses laser output for surface tracking. -| Setting | Description | Default | -|------------------------|------------------------------------------------------------------------|---------------| -|`ADNS9800_CLOCK_SPEED` | (Optional) Sets the clock speed that the sensor runs at. | `2000000` | -|`ADNS9800_SPI_LSBFIRST` | (Optional) Sets the Least/Most Significant Byte First setting for SPI. | `false` | -|`ADNS9800_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `3` | -|`ADNS9800_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ | -|`ADNS9800_CS_PIN` | (Required) Sets the Cable Select pin connected to the sensor. | _not defined_ | +| Setting | Description | Default | +|--------------------------------|------------------------------------------------------------------------|---------------| +|`ADNS9800_CLOCK_SPEED` | (Optional) Sets the clock speed that the sensor runs at. | `2000000` | +|`ADNS9800_SPI_LSBFIRST` | (Optional) Sets the Least/Most Significant Byte First setting for SPI. | `false` | +|`ADNS9800_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `3` | +|`ADNS9800_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ | +|`ADNS9800_CS_PIN` | (Required) Sets the Cable Select pin connected to the sensor. | _not defined_ | The CPI range is 800-8200, in increments of 200. Defaults to 1800 CPI. @@ -150,8 +150,8 @@ The PMW 3360 is an SPI driven optical sensor, that uses a built in IR LED for su |`PMW3360_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `3` | |`PMW3360_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ | |`PMW3360_LIFTOFF_DISTANCE` | (Optional) Sets the lift off distance at run time | `0x02` | -|`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 127 degrees directly in the sensor. | `0` | -|`PMW3360_LEGACY_FIRMWARE_UPLOAD` | (Optional) Switches to older, manual upload of firmware, for compatibility. | _not defined_ | +|`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 127 degrees directly in the sensor.| `0` | +|`PMW3360_FIRMWARE_UPLOAD_FAST` | (Optional) Skips the 15us wait between firmware blocks. | _not defined_ | The CPI range is 100-12000, in increments of 100. Defaults to 1600 CPI. @@ -174,6 +174,7 @@ The PMW 3389 is an SPI driven optical sensor, that uses a built in IR LED for su |`PMW3389_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ | |`PMW3389_LIFTOFF_DISTANCE` | (Optional) Sets the lift off distance at run time | `0x02` | |`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 30 degrees directly in the sensor. | `0` | +|`PMW3389_FIRMWARE_UPLOAD_FAST` | (Optional) Skips the 15us wait between firmware blocks. | _not defined_ | The CPI range is 50-16000, in increments of 50. Defaults to 2000 CPI. diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c index 425cf9912f2e..d167841968d0 100644 --- a/drivers/sensors/adns9800.c +++ b/drivers/sensors/adns9800.c @@ -135,10 +135,8 @@ void adns9800_init() { wait_us(15); // send all bytes of the firmware - unsigned char c; - for (int i = 0; i < FIRMWARE_LENGTH; i++) { - c = (unsigned char)pgm_read_byte(adns9800_firmware_data + i); - spi_write(c); + for (uint16_t i = 0; i < FIRMWARE_LENGTH; i++) { + spi_write(pgm_read_byte(firmware_data + i)); wait_us(15); } diff --git a/drivers/sensors/adns9800_srom_A6.h b/drivers/sensors/adns9800_srom_A6.h index d86ecbbd9ebc..e698a401b949 100644 --- a/drivers/sensors/adns9800_srom_A6.h +++ b/drivers/sensors/adns9800_srom_A6.h @@ -6,7 +6,7 @@ // clang-format off -const uint8_t adns9800_firmware_data[FIRMWARE_LENGTH] PROGMEM = { +const uint8_t firmware_data[FIRMWARE_LENGTH] PROGMEM = { 0x03, 0xA6, 0x68, 0x1E, 0x7D, 0x10, 0x7E, 0x7E, 0x5F, 0x1C, 0xB8, 0xF2, 0x47, 0x0C, 0x7B, 0x74, 0x4B, 0x14, 0x8B, 0x75, 0x66, 0x51, 0x0B, 0x8C, 0x76, 0x74, 0x4B, 0x14, 0xAA, 0xD6, 0x0F, 0x9C, 0xBA, 0xF6, 0x6E, 0x3F, 0xDD, 0x38, 0xD5, 0x02, 0x80, 0x9B, 0x82, 0x6D, 0x58, 0x13, 0xA4, 0xAB, diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 0dac600cc247..8d1b08e22be0 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -206,16 +206,12 @@ void pmw3360_upload_firmware(void) { spi_write(REG_SROM_Load_Burst | 0x80); wait_us(15); -#ifdef PMW3360_LEGACY_FIRMWARE_UPLOAD - unsigned char c; - for (int i = 0; i < FIRMWARE_LENGTH; i++) { - c = (unsigned char)pgm_read_byte(firmware_data + i); - spi_write(c); + for (uint16_t i = 0; i < FIRMWARE_LENGTH; i++) { + spi_write(pgm_read_byte(firmware_data + i)); +#ifndef PMW3360_FIRMWARE_UPLOAD_FAST wait_us(15); - } -#else - spi_transmit(firmware_data, sizeof(firmware_data)); #endif + } wait_us(200); pmw3360_read(REG_SROM_ID); diff --git a/drivers/sensors/pmw3389.c b/drivers/sensors/pmw3389.c index d6f02b6a591c..963925bd380f 100644 --- a/drivers/sensors/pmw3389.c +++ b/drivers/sensors/pmw3389.c @@ -210,14 +210,12 @@ void pmw3389_upload_firmware(void) { spi_write(REG_SROM_Load_Burst | 0x80); wait_us(15); - // legacy only for PMW3389 spi_transmit failed to load firmware - unsigned char c; - for (int i = 0; i < FIRMWARE_LENGTH; i++) { - c = (unsigned char)pgm_read_byte(firmware_data + i); - spi_write(c); + for (uint16_t i = 0; i < FIRMWARE_LENGTH; i++) { + spi_write(pgm_read_byte(firmware_data + i)); +#ifndef PMW3389_FIRMWARE_UPLOAD_FAST wait_us(15); +#endif } - wait_us(200); pmw3389_read(REG_SROM_ID); From b45a037c7edcd9c1cfadceb69ed51e7d42aa58c1 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 22 Jan 2022 14:34:15 +1100 Subject: [PATCH 0099/1832] Rename some Quantum keycodes (#15968) * Rename some Quantum keycodes * Tweak EEPROM clear and debug keycode short aliases --- docs/feature_grave_esc.md | 10 +++++----- docs/keycodes.md | 16 ++++++++-------- docs/quantum_keycodes.md | 10 +++++----- quantum/process_keycode/process_grave_esc.c | 4 ++-- quantum/quantum.c | 6 +++--- quantum/quantum_keycodes.h | 16 ++++++++++------ quantum/quantum_keycodes_legacy.h | 13 +++++++++++++ quantum/via_ensure_keycode.h | 6 +++--- 8 files changed, 49 insertions(+), 32 deletions(-) create mode 100644 quantum/quantum_keycodes_legacy.h diff --git a/docs/feature_grave_esc.md b/docs/feature_grave_esc.md index f135b1dede5d..09d098ee4e93 100644 --- a/docs/feature_grave_esc.md +++ b/docs/feature_grave_esc.md @@ -4,17 +4,17 @@ If you're using a 60% keyboard, or any other layout with no F-row, you will have ## Usage -Replace the `KC_GRV` key in your keymap (usually to the left of the `1` key) with `KC_GESC`. Most of the time this key will output `KC_ESC` when pressed. However, when Shift or GUI are held down it will output `KC_GRV` instead. +Replace the `KC_GRV` key in your keymap (usually to the left of the `1` key) with `QK_GESC`. Most of the time this key will output `KC_ESC` when pressed. However, when Shift or GUI are held down it will output `KC_GRV` instead. ## What Your OS Sees -If Mary presses GESC on her keyboard, the OS will see an KC_ESC character. Now if Mary holds Shift down and presses GESC it will output `~`, or a shifted backtick. Now if she holds GUI/CMD/WIN, it will output a simple ` character. +If Mary presses `QK_GESC` on her keyboard, the OS will see an KC_ESC character. Now if Mary holds Shift down and presses `QK_GESC` it will output `~`, or a shifted backtick. Now if she holds GUI/CMD/WIN, it will output a simple ` character. ## Keycodes -|Key |Aliases |Description | -|---------|-----------|------------------------------------------------------------------| -|`KC_GESC`|`GRAVE_ESC`|Escape when pressed, ` when Shift or GUI are held| +|Key |Aliases |Description | +|-----------------|---------|------------------------------------------------------------------| +|`QK_GRAVE_ESCAPE`|`QK_GESC`|Escape when pressed, ` when Shift or GUI are held| ### Caveats diff --git a/docs/keycodes.md b/docs/keycodes.md index dba530fc79af..58ce43d309c5 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -219,11 +219,11 @@ See also: [Basic Keycodes](keycodes_basic.md) See also: [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes) -|Key |Aliases |Description | -|--------------|---------|-------------------------------------------------------| -|`RESET` | |Put the keyboard into bootloader mode for flashing | -|`DEBUG` | |Toggle debug mode | -|`EEPROM_RESET`|`EEP_RST`|Reinitializes the keyboard's EEPROM (persistent memory)| +|Key |Aliases |Description | +|-----------------|---------|-------------------------------------------------------| +|`QK_BOOTLOADER` |`QK_BOOT`|Put the keyboard into bootloader mode for flashing | +|`QK_DEBUG_TOGGLE`|`DB_TOGG`|Toggle debug mode | +|`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory)| ## Audio Keys :id=audio-keys @@ -283,9 +283,9 @@ See also: [Dynamic Macros](feature_dynamic_macros.md) See also: [Grave Escape](feature_grave_esc.md) -|Key |Aliases |Description | -|-----------|---------|------------------------------------------------------------------| -|`GRAVE_ESC`|`KC_GESC`|Escape when pressed, ` when Shift or GUI are held| +|Key |Aliases |Description | +|-----------------|---------|------------------------------------------------------------------| +|`QK_GRAVE_ESCAPE`|`QK_GESC`|Escape when pressed, ` when Shift or GUI are held| ## Key Lock :id=key-lock diff --git a/docs/quantum_keycodes.md b/docs/quantum_keycodes.md index 7ebad2c1ee17..8e29e05886c0 100644 --- a/docs/quantum_keycodes.md +++ b/docs/quantum_keycodes.md @@ -8,8 +8,8 @@ On this page we have documented keycodes between `0x00FF` and `0xFFFF` which are ## QMK Keycodes :id=qmk-keycodes -|Key |Aliases |Description | -|--------------|---------|-------------------------------------------------------| -|`RESET` | |Put the keyboard into bootloader mode for flashing | -|`DEBUG` | |Toggle debug mode | -|`EEPROM_RESET`|`EEP_RST`|Reinitializes the keyboard's EEPROM (persistent memory)| +|Key |Aliases |Description | +|-----------------|---------|-------------------------------------------------------| +|`QK_BOOTLOADER` |`QK_BOOT`|Put the keyboard into bootloader mode for flashing | +|`QK_DEBUG_TOGGLE`|`DB_TOGG`|Toggle debug mode | +|`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory)| diff --git a/quantum/process_keycode/process_grave_esc.c b/quantum/process_keycode/process_grave_esc.c index 41c50f5cb8b3..ddf027391d5a 100644 --- a/quantum/process_keycode/process_grave_esc.c +++ b/quantum/process_keycode/process_grave_esc.c @@ -15,13 +15,13 @@ */ #include "process_grave_esc.h" -/* true if the last press of GRAVE_ESC was shifted (i.e. GUI or SHIFT were pressed), false otherwise. +/* true if the last press of QK_GRAVE_ESCAPE was shifted (i.e. GUI or SHIFT were pressed), false otherwise. * Used to ensure that the correct keycode is released if the key is released. */ static bool grave_esc_was_shifted = false; bool process_grave_esc(uint16_t keycode, keyrecord_t *record) { - if (keycode == GRAVE_ESC) { + if (keycode == QK_GRAVE_ESCAPE) { const uint8_t mods = get_mods(); uint8_t shifted = mods & MOD_MASK_SG; diff --git a/quantum/quantum.c b/quantum/quantum.c index ac99bcbd4547..f12b1a9526c9 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -302,12 +302,12 @@ bool process_record_quantum(keyrecord_t *record) { if (record->event.pressed) { switch (keycode) { #ifndef NO_RESET - case RESET: + case QK_BOOTLOADER: reset_keyboard(); return false; #endif #ifndef NO_DEBUG - case DEBUG: + case QK_DEBUG_TOGGLE: debug_enable ^= 1; if (debug_enable) { print("DEBUG: enabled.\n"); @@ -316,7 +316,7 @@ bool process_record_quantum(keyrecord_t *record) { } #endif return false; - case EEPROM_RESET: + case QK_CLEAR_EEPROM: eeconfig_init(); return false; #ifdef VELOCIKEY_ENABLE diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 3950a3bcae3f..15ea0276a7ec 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -80,8 +80,8 @@ enum quantum_keycodes { QK_UNICODEMAP_PAIR_MAX = 0xFFFF, // Loose keycodes - to be used directly - RESET = 0x5C00, - DEBUG, // 5C01 + QK_BOOTLOADER = 0x5C00, + QK_DEBUG_TOGGLE, // 5C01 // Magic MAGIC_SWAP_CONTROL_CAPSLOCK, // 5C02 @@ -106,7 +106,7 @@ enum quantum_keycodes { MAGIC_TOGGLE_ALT_GUI, // 5C15 // Grave Escape - GRAVE_ESC, // 5C16 + QK_GRAVE_ESCAPE, // 5C16 // Auto Shift KC_ASUP, // 5C17 @@ -379,7 +379,7 @@ enum quantum_keycodes { OUT_USB, // 5CDE // Clear EEPROM - EEPROM_RESET, // 5CDF + QK_CLEAR_EEPROM, // 5CDF // Unicode UNICODE_MODE_FORWARD, // 5CE0 @@ -716,9 +716,11 @@ enum quantum_keycodes { #define MACROTAP(kc) (QK_MACRO | (FUNC_TAP << 8) | (kc)) #define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE) -#define KC_GESC GRAVE_ESC +#define QK_GESC QK_GRAVE_ESCAPE -#define EEP_RST EEPROM_RESET +#define QK_BOOT QK_BOOTLOADER +#define DB_TOGG QK_DEBUG_TOGGLE +#define EE_CLR QK_CLEAR_EEPROM // Audio Clicky aliases #define CK_TOGG CLICKY_TOGGLE @@ -964,3 +966,5 @@ enum quantum_keycodes { #define PB_32 PROGRAMMABLE_BUTTON_32 #define PROGRAMMABLE_BUTTON_MIN PROGRAMMABLE_BUTTON_1 #define PROGRAMMABLE_BUTTON_MAX PROGRAMMABLE_BUTTON_32 + +#include "quantum_keycodes_legacy.h" diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h new file mode 100644 index 000000000000..ed9455ee74f4 --- /dev/null +++ b/quantum/quantum_keycodes_legacy.h @@ -0,0 +1,13 @@ +#pragma once + +// clang-format off + +// Deprecated Quantum keycodes + +#define RESET QK_BOOTLOADER +#define DEBUG QK_DEBUG_TOGGLE +#define GRAVE_ESC QK_GRAVE_ESCAPE +#define EEPROM_RESET QK_CLEAR_EEPROM + +#define KC_GESC QK_GRAVE_ESCAPE +#define EEP_RST QK_CLEAR_EEPROM diff --git a/quantum/via_ensure_keycode.h b/quantum/via_ensure_keycode.h index 1aba0cdd2a38..75f816b56083 100644 --- a/quantum/via_ensure_keycode.h +++ b/quantum/via_ensure_keycode.h @@ -244,12 +244,12 @@ _Static_assert(KC_LT == 0x0236, ""); _Static_assert(KC_GT == 0x0237, ""); _Static_assert(KC_QUES == 0x0238, ""); -_Static_assert(RESET == 0x5C00, ""); -_Static_assert(DEBUG == 0x5C01, ""); +_Static_assert(QK_BOOTLOADER == 0x5C00, ""); +_Static_assert(QK_DEBUG_TOGGLE == 0x5C01, ""); _Static_assert(MAGIC_TOGGLE_NKRO == 0x5C14, ""); -_Static_assert(KC_GESC == 0x5C16, ""); +_Static_assert(QK_GRAVE_ESCAPE == 0x5C16, ""); _Static_assert(AU_ON == 0x5C1D, ""); _Static_assert(AU_OFF == 0x5C1E, ""); From ad702096a97677eab5c1931d6f0d4a51e1a564a5 Mon Sep 17 00:00:00 2001 From: XScorpion2 Date: Fri, 21 Jan 2022 21:51:12 -0600 Subject: [PATCH 0100/1832] [Keyboard] Sol 3 Keyboard from RGBKB (#15687) Co-authored-by: Ryan Co-authored-by: Franklyn Tackitt --- keyboards/rgbkb/common/touch_encoder.c | 6 +- keyboards/rgbkb/common/touch_encoder.h | 4 +- keyboards/rgbkb/mun/config.h | 6 +- keyboards/rgbkb/mun/keymaps/default/keymap.c | 4 +- keyboards/rgbkb/mun/keymaps/via/keymap.c | 4 +- keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c | 4 +- keyboards/rgbkb/sol3/.noci | 0 keyboards/rgbkb/sol3/config.h | 182 +++++++++++ keyboards/rgbkb/sol3/halconf.h | 22 ++ keyboards/rgbkb/sol3/keymaps/default/config.h | 24 ++ keyboards/rgbkb/sol3/keymaps/default/keymap.c | 173 +++++++++++ .../rgbkb/sol3/keymaps/kageurufu/config.h | 32 ++ .../rgbkb/sol3/keymaps/kageurufu/keymap.c | 61 ++++ .../rgbkb/sol3/keymaps/kageurufu/rules.mk | 1 + keyboards/rgbkb/sol3/keymaps/via/config.h | 32 ++ keyboards/rgbkb/sol3/keymaps/via/keymap.c | 218 +++++++++++++ keyboards/rgbkb/sol3/keymaps/via/rules.mk | 1 + keyboards/rgbkb/sol3/mcuconf.h | 30 ++ keyboards/rgbkb/sol3/rev1/config.h | 12 + keyboards/rgbkb/sol3/rev1/rev1.c | 287 ++++++++++++++++++ keyboards/rgbkb/sol3/rev1/rev1.h | 74 +++++ keyboards/rgbkb/sol3/rev1/rules.mk | 0 keyboards/rgbkb/sol3/rules.mk | 49 +++ keyboards/rgbkb/sol3/sol3.c | 38 +++ keyboards/rgbkb/sol3/sol3.h | 18 ++ 25 files changed, 1268 insertions(+), 14 deletions(-) create mode 100644 keyboards/rgbkb/sol3/.noci create mode 100644 keyboards/rgbkb/sol3/config.h create mode 100644 keyboards/rgbkb/sol3/halconf.h create mode 100644 keyboards/rgbkb/sol3/keymaps/default/config.h create mode 100644 keyboards/rgbkb/sol3/keymaps/default/keymap.c create mode 100644 keyboards/rgbkb/sol3/keymaps/kageurufu/config.h create mode 100644 keyboards/rgbkb/sol3/keymaps/kageurufu/keymap.c create mode 100644 keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk create mode 100644 keyboards/rgbkb/sol3/keymaps/via/config.h create mode 100644 keyboards/rgbkb/sol3/keymaps/via/keymap.c create mode 100644 keyboards/rgbkb/sol3/keymaps/via/rules.mk create mode 100644 keyboards/rgbkb/sol3/mcuconf.h create mode 100644 keyboards/rgbkb/sol3/rev1/config.h create mode 100644 keyboards/rgbkb/sol3/rev1/rev1.c create mode 100644 keyboards/rgbkb/sol3/rev1/rev1.h create mode 100644 keyboards/rgbkb/sol3/rev1/rules.mk create mode 100644 keyboards/rgbkb/sol3/rules.mk create mode 100644 keyboards/rgbkb/sol3/sol3.c create mode 100644 keyboards/rgbkb/sol3/sol3.h diff --git a/keyboards/rgbkb/common/touch_encoder.c b/keyboards/rgbkb/common/touch_encoder.c index 6293739ec94f..1e6c54e8ebf4 100644 --- a/keyboards/rgbkb/common/touch_encoder.c +++ b/keyboards/rgbkb/common/touch_encoder.c @@ -292,7 +292,7 @@ void touch_encoder_calibrate(void) { write_register8(QT_CALIBRATE, 0x01); } -bool touch_encoder_calibrating(void) { +bool touch_encoder_is_calibrating(void) { return touch_raw[0] & CALIBRATION_BIT; } @@ -300,8 +300,8 @@ void touch_encoder_toggle(void) { touch_disabled = !touch_disabled; } -bool touch_encoder_toggled(void) { - return touch_disabled; +bool touch_encoder_is_on(void) { + return !touch_disabled; } void touch_encoder_slave_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { diff --git a/keyboards/rgbkb/common/touch_encoder.h b/keyboards/rgbkb/common/touch_encoder.h index 022f619063e9..bc9a9ccb7f48 100644 --- a/keyboards/rgbkb/common/touch_encoder.h +++ b/keyboards/rgbkb/common/touch_encoder.h @@ -34,10 +34,10 @@ void touch_encoder_init(void); void touch_encoder_update(int8_t transaction_id); void touch_encoder_calibrate(void); -bool touch_encoder_calibrating(void); +bool touch_encoder_is_calibrating(void); void touch_encoder_toggle(void); -bool touch_encoder_toggled(void); +bool touch_encoder_is_on(void); // Called when touch encoder is tapped, weak function overridable by the kb bool touch_encoder_tapped_kb(uint8_t index, uint8_t section); diff --git a/keyboards/rgbkb/mun/config.h b/keyboards/rgbkb/mun/config.h index af0876861e04..eec3009d8c38 100644 --- a/keyboards/rgbkb/mun/config.h +++ b/keyboards/rgbkb/mun/config.h @@ -21,8 +21,8 @@ /* Matrix Configuration - Rows are doubled up */ #define MATRIX_ROWS 14 -// B1, A2 reserved for encoder / touch encoder support -#define MATRIX_ROW_PINS { A1, A3, B3, A13, B15, B1, A2 } +// Last pins reserved for encoder / touch encoder support +#define MATRIX_ROW_PINS { A1, A3, B3, A13, B15, NO_PIN, NO_PIN } #define MATRIX_COLS 7 #define MATRIX_COL_PINS { A0, B11, B0, B10, B12, B2, A8 } #define MATRIX_IO_DELAY 5 @@ -35,11 +35,11 @@ #define TOUCH_DEADZONE 50 // width of a "button", wider inputs will be interpreted as a swipe #define TOUCH_TERM 350 // time of a "button" touch, longer inputs will be a swipe #define TOUCH_RESOLUTION 25 // sensitivity of swipes, lower=faster +#define TOUCH_SEGMENTS 3 /* Encoder Configuration */ #define ENCODERS_PAD_A { B8, B9 } #define ENCODERS_PAD_B { A14, A15 } -#define TOUCH_SEGMENTS 3 /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/rgbkb/mun/keymaps/default/keymap.c b/keyboards/rgbkb/mun/keymaps/default/keymap.c index 866b8a0d15aa..bdc2ea9811de 100644 --- a/keyboards/rgbkb/mun/keymaps/default/keymap.c +++ b/keyboards/rgbkb/mun/keymaps/default/keymap.c @@ -226,8 +226,8 @@ static void render_leds(void) static void render_touch(void) { // Host Touch LED Status - oled_write_P(!touch_encoder_toggled() ? PSTR("TOUCH") : PSTR(" "), false); - oled_write_P(touch_encoder_calibrating() ? PSTR("CLBRT") : PSTR(" "), false); + oled_write_P(touch_encoder_is_on() ? PSTR("TOUCH") : PSTR(" "), false); + oled_write_P(touch_encoder_is_calibrating() ? PSTR("CLBRT") : PSTR(" "), false); } bool oled_task_user(void) { diff --git a/keyboards/rgbkb/mun/keymaps/via/keymap.c b/keyboards/rgbkb/mun/keymaps/via/keymap.c index 866b8a0d15aa..bdc2ea9811de 100644 --- a/keyboards/rgbkb/mun/keymaps/via/keymap.c +++ b/keyboards/rgbkb/mun/keymaps/via/keymap.c @@ -226,8 +226,8 @@ static void render_leds(void) static void render_touch(void) { // Host Touch LED Status - oled_write_P(!touch_encoder_toggled() ? PSTR("TOUCH") : PSTR(" "), false); - oled_write_P(touch_encoder_calibrating() ? PSTR("CLBRT") : PSTR(" "), false); + oled_write_P(touch_encoder_is_on() ? PSTR("TOUCH") : PSTR(" "), false); + oled_write_P(touch_encoder_is_calibrating() ? PSTR("CLBRT") : PSTR(" "), false); } bool oled_task_user(void) { diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c index ae5c0c9b19b7..0b01d43eb2ae 100644 --- a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c +++ b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c @@ -189,8 +189,8 @@ static void render_leds(void) static void render_touch(void) { // Host Touch LED Status - oled_write_P(!touch_encoder_toggled() ? PSTR("TOUCH") : PSTR(" "), false); - oled_write_P(touch_encoder_calibrating() ? PSTR("CLBRT") : PSTR(" "), false); + oled_write_P(touch_encoder_is_on() ? PSTR("TOUCH") : PSTR(" "), false); + oled_write_P(touch_encoder_is_calibrating() ? PSTR("CLBRT") : PSTR(" "), false); } #else static uint32_t scan_counter = 0; diff --git a/keyboards/rgbkb/sol3/.noci b/keyboards/rgbkb/sol3/.noci new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/rgbkb/sol3/config.h b/keyboards/rgbkb/sol3/config.h new file mode 100644 index 000000000000..a333ef788ab2 --- /dev/null +++ b/keyboards/rgbkb/sol3/config.h @@ -0,0 +1,182 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x3535 +#define PRODUCT_ID 0x3510 +#define MANUFACTURER RGBKB +#define PRODUCT Sol 3 + +#define USB_POLLING_INTERVAL_MS 1 + +/* Matrix Configuration - Rows are doubled up */ +#define MATRIX_ROWS 12 +// Last pins reserved for encoder / touch encoder support +#define MATRIX_ROW_PINS { B15, A8, A15, B12, A3, NO_PIN } +#define MATRIX_ROW_PINS_RIGHT { B15, B14, A8, A13, A7, NO_PIN } +#define MATRIX_COLS 8 +// Empty matrix entries used for encoder / touch encoder support +#define MATRIX_COL_PINS { A6, A7, B0, B2, B1, B9, B3, B4 } +#define MATRIX_COL_PINS_RIGHT { B9, B8, B4, A6, A3, B10, B12, B11 } +#define MATRIX_IO_DELAY 5 + +#define BUSY_WAIT +#define BUSY_WAIT_INSTRUCTIONS 35 // Increase if two rows are pressed at the same time. +#define GPIO_INPUT_PIN_DELAY 10 + +/* Touchbar adjustments */ +#define TOUCH_DEADZONE 50 // width of a "button", wider inputs will be interpreted as a swipe +#define TOUCH_TERM 350 // time of a "button" touch, longer inputs will be a swipe +#define TOUCH_RESOLUTION 25 // sensitivity of swipes, lower=faster +#define TOUCH_SEGMENTS 3 + +/* Encoder Configuration */ +// Matrix Entries k36/k35(E1SW>B13), k33/k32, k7/k28 +#define ENCODERS_PAD_A { A1, B10, A13 } +#define ENCODERS_PAD_B { A2, B11, B14 } +// Matrix Entries k72/k71(E5SW>B0), k69/k68, k43/k64 +#define ENCODERS_PAD_A_RIGHT { A1, C15, B3 } +#define ENCODERS_PAD_B_RIGHT { A2, C14, B13 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* CRC Configuration */ +#define CRC8_OPTIMIZE_SPEED +#define CRC8_USE_TABLE + +/* Split Keyboard Configuration */ +#define SPLIT_HAND_PIN C13 +#define SPLIT_USB_DETECT +// also handles the SERIAL_USART_TX_PIN define +#define SOFT_SERIAL_PIN A9 +#define SERIAL_USART_TX_PAL_MODE 7 +#define SERIAL_USART_TIMEOUT 5 +#define SERIAL_USART_DRIVER SD1 +//#define SERIAL_USART_FULL_DUPLEX - Waiting on reunification pr +#if SERIAL_USART_FULL_DUPLEX + #define SERIAL_USART_RX_PIN A10 + #define SERIAL_USART_RX_PAL_MODE 7 + // Mun connects TX to TX and RX to RX as we were planning on i2c split, so we need pin swap for full duplex + #define SERIAL_USART_PIN_SWAP + #define SERIAL_USART_SPEED (2 * 1024 * 1024) +#else + #define SERIAL_USART_SPEED (1 * 1024 * 1024) +#endif + +/* Split Transport Features */ +#define SPLIT_TRANSPORT_MIRROR +#define SPLIT_LAYER_STATE_ENABLE +#define SPLIT_LED_STATE_ENABLE +#define SPLIT_TRANSACTION_IDS_KB TOUCH_ENCODER_SYNC, RGB_MENU_SYNC + +/* LED Turbo DIP Switch */ +#define DIP_SWITCH_PINS { A14, B13 } +#define DIP_SWITCH_PINS_RIGHT { A14, B0 } + +/* RGB LED Configuration */ +#define RGB_DI_PIN B5 +#define RGBLED_NUM 156 +#define RGBLED_SPLIT { 78, 78 } +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + +#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_SPLIT RGBLED_SPLIT +#define RGB_MATRIX_CENTER { 81, 28 } +#define RGB_MATRIX_LED_FLUSH_LIMIT 33 +#define RGB_MATRIX_LED_PROCESS_LIMIT 10 +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_DISABLE_WHEN_USB_SUSPENDED +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +#define ENABLE_RGB_MATRIX_ALPHAS_MODS +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_VAL +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_DUAL_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#define ENABLE_RGB_MATRIX_RAINDROPS +#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define ENABLE_RGB_MATRIX_HUE_BREATHING +#define ENABLE_RGB_MATRIX_HUE_PENDULUM +#define ENABLE_RGB_MATRIX_HUE_WAVE +#define ENABLE_RGB_MATRIX_PIXEL_RAIN +#define ENABLE_RGB_MATRIX_PIXEL_FLOW +#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#define ENABLE_RGB_MATRIX_SPLASH +#define ENABLE_RGB_MATRIX_MULTISPLASH +#define ENABLE_RGB_MATRIX_SOLID_SPLASH +#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + +#if RGB_UNLIMITED_POWER + #define RGBLIGHT_LIMIT_VAL 255 +#else + #define RGBLIGHT_LIMIT_VAL 127 +#endif +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL + +#define WS2812_PWM_DRIVER PWMD3 +#define WS2812_PWM_CHANNEL 2 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM3 +#define WS2812_DMA_CHANNEL 3 + +#define TOUCH_UPDATE_INTERVAL 33 +#define OLED_UPDATE_INTERVAL 33 +#define TAP_CODE_DELAY 5 + +/* Audio Configuration */ +#define AUDIO_PIN A4 +#define AUDIO_PIN_ALT A5 +#define AUDIO_PIN_ALT_AS_NEGATIVE +#define AUDIO_CLICKY +#define AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE +#define AUDIO_DAC_OFF_VALUE 0 diff --git a/keyboards/rgbkb/sol3/halconf.h b/keyboards/rgbkb/sol3/halconf.h new file mode 100644 index 000000000000..f882cef08559 --- /dev/null +++ b/keyboards/rgbkb/sol3/halconf.h @@ -0,0 +1,22 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#pragma once + +#define HAL_USE_DAC TRUE + +#define HAL_USE_GPT TRUE + +#define HAL_USE_I2C TRUE + +#define HAL_USE_PWM TRUE + +#define HAL_USE_SERIAL TRUE + +#include_next diff --git a/keyboards/rgbkb/sol3/keymaps/default/config.h b/keyboards/rgbkb/sol3/keymaps/default/config.h new file mode 100644 index 000000000000..b239f5bb8038 --- /dev/null +++ b/keyboards/rgbkb/sol3/keymaps/default/config.h @@ -0,0 +1,24 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#pragma once + +// No need for the single versions when multi performance isn't a problem =D +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#undef ENABLE_RGB_MATRIX_SPLASH +#undef ENABLE_RGB_MATRIX_SOLID_SPLASH + +// 20m timeout (20m * 60s * 1000mil) +// #define RGB_DISABLE_TIMEOUT 1200000 +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +#define STM32_ONBOARD_EEPROM_SIZE 2048 + diff --git a/keyboards/rgbkb/sol3/keymaps/default/keymap.c b/keyboards/rgbkb/sol3/keymaps/default/keymap.c new file mode 100644 index 000000000000..c1d1a04d79d0 --- /dev/null +++ b/keyboards/rgbkb/sol3/keymaps/default/keymap.c @@ -0,0 +1,173 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#include QMK_KEYBOARD_H + +/* Qwerty + * ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐ + * │ GESC │ 1 │ 2 │ 3 │ 4 │ 5 │ - │ │ = │ 6 │ 7 │ 8 │ 9 │ 0 │ BkSp │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │ Tab │ Q │ W │ E │ R │ T │ [ │ │ ] │ Y │ U │ I │ O │ P │ \ │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │FNCAPS│ A │ S │ D │ F │ G │ ( │ │ ) │ H │ J │ K │ L │ ; │ ' │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │Shift │ Z │ X │ C │ V │ B │ { │ │ } │ N │ M │ , │ . │ / │Enter │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │ Ctrl │ Win │ Alt │ RGB │ ADJ │ │ DEL │ │ Enter│ │ FN │ Left │ Down │ Up │Right │ + * └──────┴──────┴──────┴──────┴──────┤ Space├──────┤ ├──────┤ Space├──────┴──────┴──────┴──────┴──────┘ + * │ │ DEL │ │ Enter│ │ + * └──────┴──────┘ └──────┴──────┘ + * ┌──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┐ + * │Vol Dn│Vol Up│Vol Dn│Vol Up│Vol Dn│Vol Up│ │Vol Dn│Vol Up│Vol Dn│Vol Up│Vol Dn│Vol Up│ + * └──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘ + * ┌──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┐ + * │Vol Dn│Vol Up│ Prev │ Play │ Next │ │Vol Dn│Vol Up│ Prev │ Play │ Next │ + * └──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┘ + */ + +enum sol_layers { + _QWERTY, + _COLEMAK, + _GAME, + _FN, + _ADJUST +}; + +enum sol_keycodes { + // Disables touch processing + TCH_TOG = SAFE_RANGE, + MENU_BTN, + MENU_UP, + MENU_DN, + RGB_RST +}; + +#define FN MO(_FN) +#define ADJUST MO(_ADJUST) +#define COLEMAK DF(_COLEMAK) +#define GAME DF(_GAME) +#define QWERTY DF(_QWERTY) +#define FN_CAPS LT(_FN, KC_CAPS) +//#define RGB_ADJ LT(_ADJUST, RGB_TOG) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SFTENT, + KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJUST, KC_SPC, KC_PGDN, KC_DEL, KC_ENT, KC_PGUP, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL, + + KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, + KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV + ), + + [_COLEMAK] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, _______, + _______, KC_A, KC_R, KC_S, KC_T, KC_D, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, _______, + _______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_GAME] = LAYOUT( + _______, _______, _______, _______, _______, _______, KC_F1, KC_F5, _______, _______, _______, _______, _______, _______, + _______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_F2, KC_F6, KC_Y, KC_U, KC_I, KC_O, KC_P, _______, + _______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_F3, KC_F7, KC_H, KC_J, KC_K, KC_L, KC_SCLN, _______, + _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F4, KC_F8, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, + _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_FN] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PSCR, KC_PGUP, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_PGDN, + _______, AU_TOG, MU_TOG, MU_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, CK_TOGG, CK_UP, CK_DOWN, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RGB_HUD, RGB_VAD, RGB_HUI, RGB_RST, _______, DM_REC1, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, + _______, RGB_SPD, _______, RGB_SPI, _______, _______, DM_RSTP, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME, + _______, RGB_RMOD,RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NLCK, QWERTY, COLEMAK, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) + { + case MENU_BTN: + if (record->event.pressed) { + rgb_menu_selection(); + } + return false; + case MENU_UP: + if (record->event.pressed) { + rgb_menu_action(true); + } + return false; + case MENU_DN: + if (record->event.pressed) { + rgb_menu_action(false); + } + return false; + case RGB_RST: + if (record->event.pressed) { + eeconfig_update_rgb_matrix_default(); + } + return false; + case TCH_TOG: + if (record->event.pressed) { + touch_encoder_toggle(); + } + return false; // Skip all further processing of this key + default: + return true; + } +} + +void render_layer_status(void) { + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case _QWERTY: + oled_write_ln_P(PSTR("QWRTY"), false); + break; + case _COLEMAK: + oled_write_ln_P(PSTR("Colemk"), false); + break; + case _GAME: + oled_write_ln_P(PSTR("Game "), false); + break; + case _FN: + oled_write_ln_P(PSTR("FN "), false); + break; + case _ADJUST: + oled_write_ln_P(PSTR("Adjst"), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + } +} diff --git a/keyboards/rgbkb/sol3/keymaps/kageurufu/config.h b/keyboards/rgbkb/sol3/keymaps/kageurufu/config.h new file mode 100644 index 000000000000..400848aa355d --- /dev/null +++ b/keyboards/rgbkb/sol3/keymaps/kageurufu/config.h @@ -0,0 +1,32 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. Frank Tackitt + * ---------------------------------------------------------------------------- + */ + +#pragma once + +// No need for the single versions when multi performance isn't a problem =D +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define DISABLE_RGB_MATRIX_SPLASH +#define DISABLE_RGB_MATRIX_SOLID_SPLASH + +// 20m timeout (20m * 60s * 1000mil) +// #define RGB_DISABLE_TIMEOUT 1200000 +#define RGB_DISABLE_WHEN_USB_SUSPENDED + + +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 +// 224B per layer right now +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047 + +#define VIA_QMK_RGBLIGHT_ENABLE + +#define STM32_ONBOARD_EEPROM_SIZE 2048 + diff --git a/keyboards/rgbkb/sol3/keymaps/kageurufu/keymap.c b/keyboards/rgbkb/sol3/keymaps/kageurufu/keymap.c new file mode 100644 index 000000000000..90773203b5ff --- /dev/null +++ b/keyboards/rgbkb/sol3/keymaps/kageurufu/keymap.c @@ -0,0 +1,61 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. Frank Tackitt + * ---------------------------------------------------------------------------- + */ + +#include QMK_KEYBOARD_H +#include "kageurufu.h" + +extern keymap_config_t keymap_config; + +/* Base Layout + * ,------------------------------------------------. ,------------------------------------------------. + * | ` | | | | | | | | | | | | | | BkSp | + * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| + * | Tab | | | | | | | | | | | | | | \ | + * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| + * | Esc | | | | | | | | | | | | | | ' | + * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| + * | Sft( | | | | | | | | | | | | | | Sft) | + * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| + * | Ctrl | Win | Win | Alt | FN | Space| RGB | | FN | FN | - | = | Down | PgUp | PgDn | + * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| + * | Space| Bksp | | Enter| Space| + * `-------------' `--------=----' + */ +#define EXPAND_LAYOUT(...) LAYOUT(__VA_ARGS__, \ + KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, \ + KC_MNXT, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU ) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = EXPAND_LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, RGB_MOD, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, _________________QWERTY_L1_________________, KC_LBRC, KC_RBRC, _________________QWERTY_R1_________________, KC_BSLS, + FN_ESC, _________________QWERTY_L2_________________, RGB_SAI, RGB_VAI, _________________QWERTY_R2_________________, KC_QUOT, + KC_LSPO, _________________QWERTY_L3_________________, RGB_SAD, RGB_VAD, _________________QWERTY_R3_________________, KC_RSPC, + KC_LCTL, KC_LGUI, KC_LGUI, KC_LALT, FN, KC_SPC, KC_MUTE, KC_BSPC, KC_ENT, FN, KC_SPC, KC_MINS, KC_EQL, KC_DOWN, KC_PGUP, KC_PGDN + ), + + [_FN] = EXPAND_LAYOUT( + ________________FUNCTION_L1________________, _______, KC_PSCR, ________________FUNCTION_R1________________, + ________________FUNCTION_L2________________, _______, _______, ________________FUNCTION_R2________________, + ________________FUNCTION_L3________________, _______, _______, ________________FUNCTION_R3________________, + ________________FUNCTION_L4________________, _______, _______, ________________FUNCTION_R4________________, + ________________FUNCTION_L5________________, ADJ, KC_DEL, _______, ADJ, ________________FUNCTION_R5________________ + ), + + [_ADJ] = EXPAND_LAYOUT( + _________________ADJUST_L1_________________, _______, _______, _________________ADJUST_R1_________________, + _________________ADJUST_L2_________________, _______, _______, _________________ADJUST_R2_________________, + _________________ADJUST_L3_________________, _______, _______, _________________ADJUST_R3_________________, + _________________ADJUST_L4_________________, _______, _______, _________________ADJUST_R4_________________, + _________________ADJUST_L5_________________, _______, _______, _______, _______, _________________ADJUST_R5_________________ + + ) + +}; diff --git a/keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk b/keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/rgbkb/sol3/keymaps/via/config.h b/keyboards/rgbkb/sol3/keymaps/via/config.h new file mode 100644 index 000000000000..3934e6c49162 --- /dev/null +++ b/keyboards/rgbkb/sol3/keymaps/via/config.h @@ -0,0 +1,32 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#pragma once + +// No need for the single versions when multi performance isn't a problem =D +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#undef ENABLE_RGB_MATRIX_SPLASH +#undef ENABLE_RGB_MATRIX_SOLID_SPLASH + +// 20m timeout (20m * 60s * 1000mil) +// #define RGB_DISABLE_TIMEOUT 1200000 +#define RGB_DISABLE_WHEN_USB_SUSPENDED + + +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 +// 224B per layer right now +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047 + +#define VIA_QMK_RGBLIGHT_ENABLE + +#define STM32_ONBOARD_EEPROM_SIZE 2048 + diff --git a/keyboards/rgbkb/sol3/keymaps/via/keymap.c b/keyboards/rgbkb/sol3/keymaps/via/keymap.c new file mode 100644 index 000000000000..740d3cc084c4 --- /dev/null +++ b/keyboards/rgbkb/sol3/keymaps/via/keymap.c @@ -0,0 +1,218 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#include QMK_KEYBOARD_H + +/* Qwerty + * ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐ + * │ GESC │ 1 │ 2 │ 3 │ 4 │ 5 │ - │ │ = │ 6 │ 7 │ 8 │ 9 │ 0 │ BkSp │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │ Tab │ Q │ W │ E │ R │ T │ [ │ │ ] │ Y │ U │ I │ O │ P │ \ │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │FNCAPS│ A │ S │ D │ F │ G │ ( │ │ ) │ H │ J │ K │ L │ ; │ ' │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │Shift │ Z │ X │ C │ V │ B │ { │ │ } │ N │ M │ , │ . │ / │Enter │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │ Ctrl │ Win │ Alt │ RGB │ ADJ │ │ DEL │ │ Enter│ │ FN │ Left │ Down │ Up │Right │ + * └──────┴──────┴──────┴──────┴──────┤ Space├──────┤ ├──────┤ Space├──────┴──────┴──────┴──────┴──────┘ + * │ │ DEL │ │ Enter│ │ + * └──────┴──────┘ └──────┴──────┘ + * ┌──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┐ + * │Vol Dn│Vol Up│Vol Dn│Vol Up│Vol Dn│Vol Up│ │Vol Dn│Vol Up│Vol Dn│Vol Up│Vol Dn│Vol Up│ + * └──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘ + * ┌──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┐ + * │Vol Dn│Vol Up│ Prev │ Play │ Next │ │Vol Dn│Vol Up│ Prev │ Play │ Next │ + * └──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┘ + */ + +enum sol_layers { + _QWERTY, + _COLEMAK, + _GAME, + _FN, + _ADJUST, + _VIA1, + _VIA2, + _VIA3 +}; + +enum sol_keycodes { + // Disables touch processing + TCH_TOG = SAFE_RANGE, + MENU_BTN, + MENU_UP, + MENU_DN, + RGB_RST +}; + +#define FN MO(_FN) +#define ADJUST MO(_ADJUST) +#define COLEMAK DF(_COLEMAK) +#define GAME DF(_GAME) +#define QWERTY DF(_QWERTY) +#define FN_CAPS LT(_FN, KC_CAPS) +//#define RGB_ADJ LT(_ADJUST, RGB_TOG) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SFTENT, + KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJUST, KC_SPC, KC_PGDN, KC_DEL, KC_ENT, KC_PGUP, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL, + + KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, + KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV + ), + + [_COLEMAK] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, _______, + _______, KC_A, KC_R, KC_S, KC_T, KC_D, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, _______, + _______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_GAME] = LAYOUT( + _______, _______, _______, _______, _______, _______, KC_F1, KC_F5, _______, _______, _______, _______, _______, _______, + _______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_F2, KC_F6, KC_Y, KC_U, KC_I, KC_O, KC_P, _______, + _______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_F3, KC_F7, KC_H, KC_J, KC_K, KC_L, KC_SCLN, _______, + _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F4, KC_F8, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, + _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_FN] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PSCR, KC_PGUP, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_PGDN, + _______, AU_TOG, MU_TOG, MU_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, CK_TOGG, CK_UP, CK_DOWN, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RGB_HUD, RGB_VAD, RGB_HUI, RGB_RST, _______, DM_REC1, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, + _______, RGB_SPD, _______, RGB_SPI, _______, _______, DM_RSTP, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME, + _______, RGB_RMOD,RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NLCK, QWERTY, COLEMAK, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_VIA1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_VIA2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_VIA3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) + { + case MENU_BTN: + if (record->event.pressed) { + rgb_menu_selection(); + } + return false; + case MENU_UP: + if (record->event.pressed) { + rgb_menu_action(true); + } + return false; + case MENU_DN: + if (record->event.pressed) { + rgb_menu_action(false); + } + return false; + case RGB_RST: + if (record->event.pressed) { + eeconfig_update_rgb_matrix_default(); + } + return false; + case TCH_TOG: + if (record->event.pressed) { + touch_encoder_toggle(); + } + return false; // Skip all further processing of this key + default: + return true; + } +} + +void render_layer_status(void) { + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case _QWERTY: + oled_write_ln_P(PSTR("QWRTY"), false); + break; + case _COLEMAK: + oled_write_ln_P(PSTR("Colemk"), false); + break; + case _GAME: + oled_write_ln_P(PSTR("Game "), false); + break; + case _FN: + oled_write_ln_P(PSTR("FN "), false); + break; + case _ADJUST: + oled_write_ln_P(PSTR("Adjst"), false); + break; + case _VIA1: + oled_write_ln_P(PSTR("VIA1 "), false); + break; + case _VIA2: + oled_write_ln_P(PSTR("VIA2 "), false); + break; + case _VIA3: + oled_write_ln_P(PSTR("VIA3 "), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + } +} diff --git a/keyboards/rgbkb/sol3/keymaps/via/rules.mk b/keyboards/rgbkb/sol3/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/rgbkb/sol3/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/rgbkb/sol3/mcuconf.h b/keyboards/rgbkb/sol3/mcuconf.h new file mode 100644 index 000000000000..e68a680f48ed --- /dev/null +++ b/keyboards/rgbkb/sol3/mcuconf.h @@ -0,0 +1,30 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#pragma once + +#include_next + +#undef STM32_DAC_USE_DAC1_CH1 +#define STM32_DAC_USE_DAC1_CH1 TRUE + +#undef STM32_DAC_USE_DAC1_CH2 +#define STM32_DAC_USE_DAC1_CH2 TRUE + +#undef STM32_GPT_USE_TIM6 +#define STM32_GPT_USE_TIM6 TRUE + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE diff --git a/keyboards/rgbkb/sol3/rev1/config.h b/keyboards/rgbkb/sol3/rev1/config.h new file mode 100644 index 000000000000..7ff0b54903ee --- /dev/null +++ b/keyboards/rgbkb/sol3/rev1/config.h @@ -0,0 +1,12 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#pragma once + +#define DEVICE_VER 0x0001 diff --git a/keyboards/rgbkb/sol3/rev1/rev1.c b/keyboards/rgbkb/sol3/rev1/rev1.c new file mode 100644 index 000000000000..32b278f3d8e7 --- /dev/null +++ b/keyboards/rgbkb/sol3/rev1/rev1.c @@ -0,0 +1,287 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#include "rev1.h" +#include "split_util.h" + +#define NUMBER_OF_TOUCH_ENCODERS 2 +#define TOUCH_ENCODER_OPTIONS TOUCH_SEGMENTS + 2 + +#define NUMBER_OF_ENCODERS 6 +#define ENCODER_OPTIONS 2 + +typedef struct PACKED { + uint8_t r; + uint8_t c; +} encodermap_t; + +// this maps encoders and then touch encoders to their respective electrical matrix entry +// mapping is row (y) then column (x) when looking at the electrical layout +const encodermap_t encoder_map[NUMBER_OF_ENCODERS][ENCODER_OPTIONS] = +{ + { { 5, 0 }, { 5, 1 } }, // Encoder 0 matrix entries + { { 5, 2 }, { 5, 3 } }, // Encoder 1 matrix entries + { { 5, 4 }, { 5, 5 } }, // Encoder 2 matrix entries + { { 11, 0 }, { 11, 1 } }, // Encoder 3 matrix entries + { { 11, 2 }, { 11, 3 } }, // Encoder 4 matrix entries + { { 11, 4 }, { 11, 5 } } // Encoder 5 matrix entries +}; + +const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPTIONS] = +{ + { { 1, 7 }, { 0, 7 }, { 2, 7 }, { 5, 6 }, { 5, 7 }, }, // Touch Encoder 0 matrix entries + { { 7, 7 }, { 6, 7 }, { 8, 7 }, { 11, 6 }, { 11, 7 }, } // Touch Encoder 1 matrix entries +}; + +static bool limit_lightning = false; + +RGB rgb_matrix_hsv_to_rgb(HSV hsv) { + if (limit_lightning) hsv.v /= 2; + return hsv_to_rgb(hsv); +} + +bool dip_switch_update_kb(uint8_t index, bool active) { + if (!dip_switch_update_user(index, active)) + return false; + + switch(index) { + case 0: { + limit_lightning = active; + break; + } + case 1: { + // Handle RGB Encoder switch press + action_exec((keyevent_t){ + .key = (keypos_t){.row = isLeftHand ? 4 : 10, .col = 6}, + .pressed = active, .time = (timer_read() | 1) /* time should not be 0 */ + }); + break; + } + } + return false; +} + +static void process_encoder_matrix(encodermap_t pos) { + action_exec((keyevent_t){ + .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = true, .time = (timer_read() | 1) /* time should not be 0 */ + }); +#if TAP_CODE_DELAY > 0 + wait_ms(TAP_CODE_DELAY); +#endif + action_exec((keyevent_t){ + .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = false, .time = (timer_read() | 1) /* time should not be 0 */ + }); +} + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) + return false; + + // Mapping clockwise (typically increase) to zero, and counter clockwise (decrease) to 1 + process_encoder_matrix(encoder_map[index][clockwise ? 0 : 1]); + return false; +} + +bool touch_encoder_update_kb(uint8_t index, bool clockwise) { + if (!touch_encoder_update_user(index, clockwise)) + return false; + + // Mapping clockwise (typically increase) to zero, and counter clockwise (decrease) to 1 + process_encoder_matrix(touch_encoder_map[index][clockwise ? 0 : 1]); + return false; +} + +bool touch_encoder_tapped_kb(uint8_t index, uint8_t section) { + if (!touch_encoder_tapped_user(index, section)) + return false; + + process_encoder_matrix(touch_encoder_map[index][section + 2]); + return false; +} + +void matrix_slave_scan_kb() { + dip_switch_read(false); + matrix_slave_scan_user(); +} + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { { + { 41, 42, 43, 44, 45, 46, 47 }, + { 54, 53, 52, 51, 50, 49, 48 }, + { 55, 56, 57, 58, 59, 60, 61 }, + { 68, 67, 66, 65, 64, 63, 62 }, + { 69, 70, 71, 72, 73, 74, 75, 76 }, + { 119, 120, 121, 122, 123, 124, 125 }, + { 132, 131, 130, 129, 128, 127, 126 }, + { 133, 134, 135, 136, 137, 138, 139 }, + { 146, 145, 144, 143, 142, 141, 140 }, + { 147, 148, 149, 150, 151, 152, 153 } +}, { // ALL XY VALUES DIVIDE BY 2, THEN ADD 5 + { 1, 6 }, { 1, 13 }, { 1, 19 }, { 1, 25 }, { 1, 31 }, { 1, 37 }, { 1, 43 }, { 1, 49 }, { 4, 52 }, { 11, 52 }, + { 17, 52 }, { 23, 52 }, { 29, 52 }, { 35, 52 }, { 41, 54 }, { 46, 57 }, { 52, 60 }, { 57, 63 }, { 62, 66 }, { 68, 69 }, + { 73, 67 }, { 76, 62 }, { 79, 57 }, { 78, 51 }, { 77, 45 }, { 76, 39 }, { 76, 33 }, { 76, 27 }, { 76, 21 }, { 76, 14 }, + { 76, 8 }, { 72, 3 }, { 59, 3 }, { 53, 3 }, { 46, 3 }, { 40, 3 }, { 34, 3 }, { 28, 3 }, { 22, 3 }, { 10, 3 }, { 3, 3 }, + { 9, 6 }, { 21, 6 }, { 30, 6 }, { 40, 6 }, { 49, 6 }, { 59, 6 }, { 71, 6 }, + { 71, 16 }, { 59, 16 }, { 49, 16 }, { 40, 16 }, { 30, 16 }, { 21, 16 }, { 9, 16 }, + { 9, 25 }, { 21, 25 }, { 30, 25 }, { 40, 25 }, { 49, 25 }, { 59, 25 }, { 71, 25 }, + { 71, 35 }, { 59, 35 }, { 49, 35 }, { 40, 35 }, { 30, 35 }, { 21, 35 }, { 9, 35 }, + { 9, 44 }, { 21, 44 }, { 30, 44 }, { 40, 44 }, { 49, 44 }, { 66, 50 }, { 75, 54 }, { 70, 62 }, { 60, 60 }, + + { 160, 6 }, { 160, 13 }, { 160, 19 }, { 160, 25 }, { 160, 31 }, { 160, 37 }, { 160, 43 }, { 160, 49 }, { 157, 52 }, { 151, 52 }, + { 145, 52 }, { 138, 52 }, { 132, 52 }, { 126, 52 }, { 120, 54 }, { 115, 57 }, { 110, 60 }, { 105, 63 }, { 99, 66 }, { 94, 69 }, + { 89, 67 }, { 86, 62 }, { 83, 57 }, { 83, 51 }, { 85, 45 }, { 86, 39 }, { 86, 33 }, { 86, 27 }, { 86, 21 }, { 86, 14 }, + { 86, 8 }, { 90, 3 }, { 103, 3 }, { 109, 3 }, { 115, 3 }, { 121, 3 }, { 127, 3 }, { 133, 3 }, { 140, 3 }, { 152, 3 }, { 158, 3 }, + { 153, 6 }, { 141, 6 }, { 131, 6 }, { 122, 6 }, { 112, 6 }, { 103, 6 }, { 91, 6 }, + { 91, 16 }, { 103, 16 }, { 112, 16 }, { 122, 16 }, { 131, 16 }, { 141, 16 }, { 153, 16 }, + { 153, 25 }, { 141, 25 }, { 131, 25 }, { 122, 25 }, { 112, 25 }, { 103, 25 }, { 91, 25 }, + { 91, 35 }, { 103, 35 }, { 112, 35 }, { 122, 35 }, { 131, 35 }, { 141, 35 }, { 153, 35 }, + { 153, 44 }, { 141, 44 }, { 131, 44 }, { 122, 44 }, { 112, 44 }, { 96, 50 }, { 87, 54 }, { 92, 62 }, { 102, 60 }, +}, { + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1 +} }; +// clang-format on + +void rgb_matrix_increase_flags(void) +{ + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_UNDERGLOW: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_disable_noeeprom(); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } +} +#endif + + +__attribute__((weak)) +void render_layer_status(void) { + // Keymap specific, expected to be overridden + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer"), false); + oled_write_ln_P(PSTR("Undef"), false); +} + +__attribute__((weak)) +void render_leds_status(void) +{ + // Host Keyboard LED Status + static const char PROGMEM led_icon[] = { + 0x0F,0x3A,0 + }; + oled_write_P(led_icon, false); + led_t led_state = host_keyboard_led_state(); + oled_write_P( led_state.num_lock ? PSTR("N") : PSTR(" "), false); + oled_write_P( led_state.caps_lock ? PSTR("C") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("S") : PSTR(" "), false); +} + +__attribute__((weak)) +void render_touch_status(void) +{ + // Host Touch LED Status + static const char PROGMEM touch_icon[] = { + 0x12,0x3A,0 + }; + oled_write_P(touch_icon, false); + oled_write_P( touch_encoder_is_on() ? PSTR("T") : PSTR(" "), false); + oled_write_P(touch_encoder_is_calibrating() ? PSTR("C") : PSTR(" "), false); + oled_write_P(PSTR(" "), false); +} + +__attribute__((weak)) +void render_audio_status(void) +{ + // Host Audio Status + static const char PROGMEM audio_icon[] = { + 0x0E,0x3A,0 + }; + oled_write_P(audio_icon, false); + oled_write_P( audio_is_on() ? PSTR("A") : PSTR(" "), false); + oled_write_P(is_clicky_on() ? PSTR("C") : PSTR(" "), false); + oled_write_P( is_music_on() ? PSTR("M") : PSTR(" "), false); +} + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + // Sol 3 uses OLED_ROTATION_270 for default rotation on both halves + return oled_init_user(OLED_ROTATION_270); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) + return false; + + if (is_keyboard_left()) { + render_icon(); + oled_write_P(PSTR(" "), false); + render_layer_status(); + oled_write_P(PSTR(" "), false); + render_leds_status(); + oled_write_P(PSTR(" "), false); + render_touch_status(); + oled_write_P(PSTR(" "), false); + render_audio_status(); + } + else { + render_icon(); + oled_write_P(PSTR(" "), false); + render_rgb_menu(); + } + return false; +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) + return false; + + switch(keycode) { +#ifdef RGB_MATRIX_ENABLE + case RGB_TOG: + if (record->event.pressed) { + rgb_matrix_increase_flags(); + } + return false; +#endif + } + return true; +}; \ No newline at end of file diff --git a/keyboards/rgbkb/sol3/rev1/rev1.h b/keyboards/rgbkb/sol3/rev1/rev1.h new file mode 100644 index 000000000000..e80f8c298d37 --- /dev/null +++ b/keyboards/rgbkb/sol3/rev1/rev1.h @@ -0,0 +1,74 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#pragma once + +#include "sol3.h" + +// clang-format off +/* Blank ascii map to reuse, with labeled possible encoder positions, *rgb encoder only +┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐ +│ │ │ │ │ │ │ E2 │ │ E5 │ │ │ │ │ │ │ +├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│ │ │ │ │ │ │ E2 │ │ E5 │ │ │ │ │ │ │ +├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│ │ │ │ E1 │ E1 │ │ E0* │ │ E3* │ │ E4 │ E4 │ │ │ │ +└──────┴──────┴──────┴──────┴──────┤ ├──────┤ ├──────┤ ├──────┴──────┴──────┴──────┴──────┘ + │ │ E0 │ │ E3 │ │ + └──────┴──────┘ └──────┴──────┘ +┌──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┐ +│ E0↑ │ E0↓ │ E1↑ │ E1↓ │ E2↑ │ E2↓ │ │ E3↑ │ E3↓ │ E4↑ │ E4↓ │ E5↑ │ E5↓ │ +└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘ +┌──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┐ +│ │ │ │ │ │ │ │ │ │ │ │ +└──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┘ +*/ + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ + L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ + L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ + L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \ + L40, L41, L42, L43, L44, L45, L46, L47, R40, R41, R42, R43, R44, R45, R46, R47, \ + \ + E0L, E0R, E1L, E1R, E2L, E2R, E3L, E3R, E4L, E4R, E5L, E5R, \ + LT0, LT1, LT2, LSL, LSR, RT0, RT1, RT2, RSL, RSR \ +) \ +{ \ + /* Left Half */ \ + { L00, L01, L02, L03, L04, L05, L06, LT0 }, \ + { L10, L11, L12, L13, L14, L15, L16, LT1 }, \ + { L20, L21, L22, L23, L24, L25, L26, LT2 }, \ + { L30, L31, L32, L33, L34, L35, L36, KC_NO }, \ + { L40, L41, L42, L43, L44, L45, L46, L47 }, \ + { E0L, E0R, E1L, E1R, E2L, E2R, LSL, LSR }, \ + /* Right Half */ \ + { R06, R05, R04, R03, R02, R01, R00, RT0 }, \ + { R16, R15, R14, R13, R12, R11, R10, RT1 }, \ + { R26, R25, R24, R23, R22, R21, R20, RT2 }, \ + { R36, R35, R34, R33, R32, R31, R30, KC_NO }, \ + { R47, R46, R45, R44, R43, R42, R41, R40 }, \ + { E3L, E3R, E4L, E4R, E5L, E5R, RSL, RSR } \ +} +// clang-format on + +// weak functions overridable by the user +void render_layer_status(void); +void render_leds_status(void); +void render_touch_status(void); +void render_audio_status(void); + +#ifdef RGB_MATRIX_ENABLE +// utility function to cycle active led zones +void rgb_matrix_increase_flags(void); +#endif \ No newline at end of file diff --git a/keyboards/rgbkb/sol3/rev1/rules.mk b/keyboards/rgbkb/sol3/rev1/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/rgbkb/sol3/rules.mk b/keyboards/rgbkb/sol3/rules.mk new file mode 100644 index 000000000000..8389a7a9c42d --- /dev/null +++ b/keyboards/rgbkb/sol3/rules.mk @@ -0,0 +1,49 @@ +# MCU name +MCU = STM32F303 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Touch encoder needs +SRC += ../common/touch_encoder.c +SRC += ../common/common_oled.c +QUANTUM_LIB_SRC += i2c_master.c + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +AUDIO_ENABLE = yes # Audio output +AUDIO_DRIVER = dac_additive + +DYNAMIC_MACRO_ENABLE = yes +DIP_SWITCH_ENABLE = yes + +WS2812_DRIVER = pwm +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 + +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enable the OLED Driver + +ENCODER_ENABLE = yes + +SPLIT_KEYBOARD = yes +SERIAL_DRIVER = usart +LTO_ENABLE = yes +OPT = 3 + +OPT_DEFS += -DOLED_FONT_H=\"../common/glcdfont.c\" +OPT_DEFS += -Ikeyboards/rgbkb/common + +# TODO: Implement fast matrix scanning +# matrix optimisations +# SRC += matrix.c + +DEFAULT_FOLDER = rgbkb/sol3/rev1 diff --git a/keyboards/rgbkb/sol3/sol3.c b/keyboards/rgbkb/sol3/sol3.c new file mode 100644 index 000000000000..97ae5bc5de32 --- /dev/null +++ b/keyboards/rgbkb/sol3/sol3.c @@ -0,0 +1,38 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#include "sol3.h" +#include "eeconfig.h" +#include "audio.h" +#include + +extern audio_config_t audio_config; + +void keyboard_post_init_kb(void) { + touch_encoder_init(); + transaction_register_rpc(TOUCH_ENCODER_SYNC, touch_encoder_slave_sync); + transaction_register_rpc(RGB_MENU_SYNC, rgb_menu_slave_sync); + keyboard_post_init_user(); +} + +void eeconfig_init_kb(void) { + // Reset Keyboard EEPROM value to blank, rather than to a set value + eeconfig_update_kb(0); + + audio_config.raw = eeconfig_read_audio(); + audio_config.clicky_enable = false; + eeconfig_update_audio(audio_config.raw); + + eeconfig_init_user(); +} + +void housekeeping_task_kb(void) { + touch_encoder_update(TOUCH_ENCODER_SYNC); + rgb_menu_update(RGB_MENU_SYNC); +} diff --git a/keyboards/rgbkb/sol3/sol3.h b/keyboards/rgbkb/sol3/sol3.h new file mode 100644 index 000000000000..06d5dcdea0c7 --- /dev/null +++ b/keyboards/rgbkb/sol3/sol3.h @@ -0,0 +1,18 @@ +/* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this + * notice you can do whatever you want with this stuff. If we meet some day, and + * you think this stuff is worth it, you can buy me a beer in return. David Rauseo + * ---------------------------------------------------------------------------- + */ + +#pragma once + +#if defined(KEYBOARD_rgbkb_sol3_rev1) +# include "rev1.h" +#endif + +#include "quantum.h" +#include "touch_encoder.h" +#include "common_oled.h" From 909003cce92ada1094d40ef4ea31574227070d31 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 21 Jan 2022 20:59:19 -0800 Subject: [PATCH 0101/1832] [Bug] Fix hack for chibiOS reset name (#15984) --- quantum/keymap.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quantum/keymap.h b/quantum/keymap.h index 191e81397789..3fc41cafd802 100644 --- a/quantum/keymap.h +++ b/quantum/keymap.h @@ -35,9 +35,9 @@ along with this program. If not, see . #include "keycode_config.h" // ChibiOS uses RESET in its FlagStatus enumeration -// Therefore define it as QK_RESET here, to avoid name collision +// Therefore define it as QK_BOOTLOADER here, to avoid name collision #if defined(PROTOCOL_CHIBIOS) -# define RESET QK_RESET +# define RESET QK_BOOTLOADER #endif // Gross hack, remove me and change RESET keycode to QK_BOOT #if defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__) From fed36fc5f88b7266c0419cebcda875f5a70894c9 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sat, 22 Jan 2022 14:09:44 +0800 Subject: [PATCH 0102/1832] Adjust mouse key defaults (#15883) --- docs/feature_mouse_keys.md | 18 +++++++++--------- quantum/mousekey.h | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/feature_mouse_keys.md b/docs/feature_mouse_keys.md index 8e2a3a4cd1c9..a9fa71abdc4d 100644 --- a/docs/feature_mouse_keys.md +++ b/docs/feature_mouse_keys.md @@ -59,13 +59,13 @@ This is the default mode. You can adjust the cursor and scrolling acceleration u |Define |Default|Description | |----------------------------|-------|---------------------------------------------------------| -|`MOUSEKEY_DELAY` |300 |Delay between pressing a movement key and cursor movement| -|`MOUSEKEY_INTERVAL` |50 |Time between cursor movements in milliseconds | -|`MOUSEKEY_MOVE_DELTA` |5 |Step size | +|`MOUSEKEY_DELAY` |10 |Delay between pressing a movement key and cursor movement| +|`MOUSEKEY_INTERVAL` |20 |Time between cursor movements in milliseconds | +|`MOUSEKEY_MOVE_DELTA` |8 |Step size | |`MOUSEKEY_MAX_SPEED` |10 |Maximum cursor speed at which acceleration stops | -|`MOUSEKEY_TIME_TO_MAX` |20 |Time until maximum cursor speed is reached | -|`MOUSEKEY_WHEEL_DELAY` |300 |Delay between pressing a wheel key and wheel movement | -|`MOUSEKEY_WHEEL_INTERVAL` |100 |Time between wheel movements | +|`MOUSEKEY_TIME_TO_MAX` |30 |Time until maximum cursor speed is reached | +|`MOUSEKEY_WHEEL_DELAY` |10 |Delay between pressing a wheel key and wheel movement | +|`MOUSEKEY_WHEEL_INTERVAL` |80 |Time between wheel movements | |`MOUSEKEY_WHEEL_MAX_SPEED` |8 |Maximum number of scroll steps per scroll action | |`MOUSEKEY_WHEEL_TIME_TO_MAX`|40 |Time until maximum scroll speed is reached | @@ -85,9 +85,9 @@ This is an extension of the accelerated mode. The kinetic mode uses a quadratic |Define |Default |Description | |--------------------------------------|---------|---------------------------------------------------------------| |`MK_KINETIC_SPEED` |undefined|Enable kinetic mode | -|`MOUSEKEY_DELAY` |8 |Delay between pressing a movement key and cursor movement | -|`MOUSEKEY_INTERVAL` |8 |Time between cursor movements in milliseconds | -|`MOUSEKEY_MOVE_DELTA` |25 |Step size for accelerating from initial to base speed | +|`MOUSEKEY_DELAY` |5 |Delay between pressing a movement key and cursor movement | +|`MOUSEKEY_INTERVAL` |10 |Time between cursor movements in milliseconds | +|`MOUSEKEY_MOVE_DELTA` |5 |Step size for accelerating from initial to base speed | |`MOUSEKEY_INITIAL_SPEED` |100 |Initial speed of the cursor in pixel per second | |`MOUSEKEY_BASE_SPEED` |1000 |Maximum cursor speed at which acceleration stops | |`MOUSEKEY_DECELERATED_SPEED` |400 |Decelerated cursor speed | diff --git a/quantum/mousekey.h b/quantum/mousekey.h index 56c91b5f1b43..03da5f282a7a 100644 --- a/quantum/mousekey.h +++ b/quantum/mousekey.h @@ -37,9 +37,9 @@ along with this program. If not, see . # ifndef MOUSEKEY_MOVE_DELTA # ifndef MK_KINETIC_SPEED -# define MOUSEKEY_MOVE_DELTA 5 +# define MOUSEKEY_MOVE_DELTA 8 # else -# define MOUSEKEY_MOVE_DELTA 25 +# define MOUSEKEY_MOVE_DELTA 5 # endif # endif # ifndef MOUSEKEY_WHEEL_DELTA @@ -47,29 +47,29 @@ along with this program. If not, see . # endif # ifndef MOUSEKEY_DELAY # ifndef MK_KINETIC_SPEED -# define MOUSEKEY_DELAY 300 +# define MOUSEKEY_DELAY 10 # else -# define MOUSEKEY_DELAY 8 +# define MOUSEKEY_DELAY 5 # endif # endif # ifndef MOUSEKEY_INTERVAL # ifndef MK_KINETIC_SPEED -# define MOUSEKEY_INTERVAL 50 +# define MOUSEKEY_INTERVAL 20 # else -# define MOUSEKEY_INTERVAL 8 +# define MOUSEKEY_INTERVAL 10 # endif # endif # ifndef MOUSEKEY_MAX_SPEED # define MOUSEKEY_MAX_SPEED 10 # endif # ifndef MOUSEKEY_TIME_TO_MAX -# define MOUSEKEY_TIME_TO_MAX 20 +# define MOUSEKEY_TIME_TO_MAX 30 # endif # ifndef MOUSEKEY_WHEEL_DELAY -# define MOUSEKEY_WHEEL_DELAY 300 +# define MOUSEKEY_WHEEL_DELAY 10 # endif # ifndef MOUSEKEY_WHEEL_INTERVAL -# define MOUSEKEY_WHEEL_INTERVAL 100 +# define MOUSEKEY_WHEEL_INTERVAL 80 # endif # ifndef MOUSEKEY_WHEEL_MAX_SPEED # define MOUSEKEY_WHEEL_MAX_SPEED 8 From 489475814a7cff2bbcbe75b94024092173d01345 Mon Sep 17 00:00:00 2001 From: Ryan Hausen Date: Fri, 21 Jan 2022 22:12:14 -0800 Subject: [PATCH 0103/1832] fixed typo in orange HSV colors decalartion (#15976) --- quantum/color.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/color.h b/quantum/color.h index e2cfc469275e..135ad623b552 100644 --- a/quantum/color.h +++ b/quantum/color.h @@ -60,7 +60,7 @@ #define HSV_GOLDENROD 30, 218, 218 #define HSV_GREEN 85, 255, 255 #define HSV_MAGENTA 213, 255, 255 -#define HSV_ORANGE 28, 255, 255 +#define HSV_ORANGE 21, 255, 255 #define HSV_PINK 234, 128, 255 #define HSV_PURPLE 191, 255, 255 #define HSV_RED 0, 255, 255 From c587df3b6660f7ec25794443909eadd7135e8d26 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 22 Jan 2022 17:12:34 +1100 Subject: [PATCH 0104/1832] Fix build failures for `mschwingen/modelm` (#15987) --- keyboards/mschwingen/modelm/matrix.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/keyboards/mschwingen/modelm/matrix.c b/keyboards/mschwingen/modelm/matrix.c index ffc1284eadd9..7ea20b5a11ff 100644 --- a/keyboards/mschwingen/modelm/matrix.c +++ b/keyboards/mschwingen/modelm/matrix.c @@ -24,8 +24,6 @@ #include "print.h" #include "modelm.h" -#define DEBUG 0 - #define SPI_TIMEOUT 100 /* Keyboard Matrix Assignments */ @@ -62,10 +60,9 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) row_data = spi_read() << 8; row_data |= spi_read(); -#if DEBUG - print_hex8(~row_data); - uprint(" "); -#endif + debug_hex8(~row_data); + dprint(" "); + // For each row... for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) { // Store last value of row prior to reading @@ -105,9 +102,8 @@ void matrix_init_custom(void) { bool matrix_scan_custom(matrix_row_t current_matrix[]) { bool changed = false; -#if DEBUG - uprint("\r\nScan: "); -#endif + dprint("\r\nScan: "); + // Set col, read rows for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { changed |= read_rows_on_col(current_matrix, current_col); From 8ec18d147613d3539764b33e92af5c9542dd5f46 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 23 Jan 2022 05:24:02 +1100 Subject: [PATCH 0105/1832] Remove `action_function()` from LFKeyboards boards (#15993) --- .../amj84/keymaps/default/keymap.c | 4 +- keyboards/capsunlocked/cu75/cu75.c | 56 ---- keyboards/capsunlocked/cu75/cu75.h | 13 - keyboards/capsunlocked/cu75/cu75/.noci | 0 .../lfk65_hs/keymaps/default/keymap.c | 84 +++-- .../lfk78/keymaps/ca178858/keymap.c | 216 ++++++------ .../lfk78/keymaps/default/keymap.c | 15 +- .../lfkeyboards/lfk78/keymaps/iso/keymap.c | 15 +- .../lfk78/keymaps/split_bs_osx/keymap.c | 15 +- keyboards/lfkeyboards/lfk78/lfk78.c | 67 ---- keyboards/lfkeyboards/lfk78/lfk78.h | 13 - .../lfk87/keymaps/ca178858/keymap.c | 307 ++++++++---------- .../lfk87/keymaps/default/keymap.c | 150 ++++----- .../lfkeyboards/lfk87/keymaps/gbchk/keymap.c | 150 ++++----- .../lfkeyboards/lfk87/keymaps/iso/keymap.c | 160 +++++---- keyboards/lfkeyboards/lfk87/lfk87.c | 55 ---- keyboards/lfkeyboards/lfk87/lfk87.h | 14 - .../mini1800/keymaps/ca178858/keymap.c | 153 ++++----- .../mini1800/keymaps/default/keymap.c | 147 ++++----- keyboards/lfkeyboards/mini1800/mini1800.c | 58 ---- keyboards/lfkeyboards/mini1800/mini1800.h | 14 - .../smk65/keymaps/default/keymap.c | 90 +++-- .../lfkeyboards/smk65/keymaps/iso/keymap.c | 90 +++-- keyboards/lfkeyboards/smk65/revb/revb.c | 56 ---- keyboards/lfkeyboards/smk65/revb/revb.h | 13 - keyboards/rocketboard_16/keycode_lookup.c | 34 +- 26 files changed, 724 insertions(+), 1265 deletions(-) delete mode 100644 keyboards/capsunlocked/cu75/cu75/.noci diff --git a/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c index 11f8482352e0..3f83fc823698 100644 --- a/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c +++ b/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| * | |Lef|Dow|Rig| | | | | | |Hom|PgU| | * |-----------------------------------------------------------| - * | | |App|Fn1|Fn2|Fn3|VoD|VoU|Mut|End|PgD| | | + * | | |App| | | |VoD|VoU|Mut|End|PgD| | | * |-----------------------------------------------------------| * | | | | | | | | | * `-----------------------------------------------------------' @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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,KC_TRNS,KC_UP, KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_TRNS,KC_INS, KC_TRNS,KC_PSCR,KC_SLCK,KC_PAUS,KC_TRNS,KC_TRNS, BL_BRTG,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_HOME,KC_PGUP,KC_TRNS,KC_TRNS,KC_TRNS, - BL_STEP,KC_NO, KC_TRNS,KC_APP, KC_FN1, KC_FN2, KC_FN3, KC_VOLD,KC_VOLU,KC_MUTE,KC_END, KC_PGDN,KC_TRNS,KC_TRNS,KC_TRNS, + BL_STEP,KC_NO, KC_TRNS,KC_APP, KC_TRNS,KC_TRNS,KC_TRNS,KC_VOLD,KC_VOLU,KC_MUTE,KC_END, KC_PGDN,KC_TRNS,KC_TRNS,KC_TRNS, KC_SLEP,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS) }; diff --git a/keyboards/capsunlocked/cu75/cu75.c b/keyboards/capsunlocked/cu75/cu75.c index 273dd092718b..e52edd90fab1 100644 --- a/keyboards/capsunlocked/cu75/cu75.c +++ b/keyboards/capsunlocked/cu75/cu75.c @@ -98,62 +98,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) return process_record_user(keycode, record); } -void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) -{ -#ifdef AUDIO_ENABLE - int8_t sign = 1; -#endif - if(id == LFK_ESC_TILDE){ - // Send ~ on shift-esc - void (*method)(uint8_t) = (event->event.pressed) ? &add_key : &del_key; - uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)); - method(shifted ? KC_GRAVE : KC_ESCAPE); - send_keyboard_report(); - }else if(event->event.pressed){ - switch(id){ - case LFK_SET_DEFAULT_LAYER: - // set/save the current base layer to eeprom, falls through to LFK_CLEAR - eeconfig_update_default_layer(1UL << opt); - default_layer_set(1UL << opt); - case LFK_CLEAR: - // Go back to default layer - layer_clear(); - break; -#ifdef AUDIO_ENABLE - case LFK_CLICK_FREQ_LOWER: - sign = -1; // continue to next statement - case LFK_CLICK_FREQ_HIGHER: - click_hz += sign * 100; - click(click_hz, click_time); - break; - case LFK_CLICK_TOGGLE: - if(click_toggle){ - click_toggle = 0; - click(4000, 100); - click(1000, 100); - }else{ - click_toggle = 1; - click(1000, 100); - click(4000, 100); - } - break; - case LFK_CLICK_TIME_SHORTER: - sign = -1; // continue to next statement - case LFK_CLICK_TIME_LONGER: - click_time += sign; - click(click_hz, click_time); - break; -#endif - case LFK_DEBUG_SETTINGS: - dprintf("Click:\n"); - dprintf(" toggle: %d\n", click_toggle); - dprintf(" freq(hz): %d\n", click_hz); - dprintf(" duration(ms): %d\n", click_time); - break; - } - } -} - void reset_keyboard_kb(){ #ifdef WATCHDOG_ENABLE MCUSR = 0; diff --git a/keyboards/capsunlocked/cu75/cu75.h b/keyboards/capsunlocked/cu75/cu75.h index 444c8daaec93..11a01b8b7ed2 100644 --- a/keyboards/capsunlocked/cu75/cu75.h +++ b/keyboards/capsunlocked/cu75/cu75.h @@ -19,19 +19,6 @@ typedef struct Layer_Info { extern const uint32_t layer_count; extern const Layer_Info layer_info[]; -enum action_functions { - LFK_CLEAR = 0, // Resets all layers - LFK_ESC_TILDE, // esc+lshift = ~ - LFK_SET_DEFAULT_LAYER, // changes and saves current base layer to eeprom - LFK_CLICK_TOGGLE, // Adjusts click duration - LFK_CLICK_FREQ_HIGHER, // Adjusts click frequency - LFK_CLICK_FREQ_LOWER, // Adjusts click frequency - LFK_CLICK_TIME_LONGER, // Adjusts click duration - LFK_CLICK_TIME_SHORTER, // Adjusts click duration - LFK_DEBUG_SETTINGS, // prints LED and click settings to HID - LFK_LED_TEST // cycles through switch and RGB LEDs -}; - #define CLICK_HZ 500 #define CLICK_MS 2 #define CLICK_ENABLED 0 diff --git a/keyboards/capsunlocked/cu75/cu75/.noci b/keyboards/capsunlocked/cu75/cu75/.noci deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/keyboards/lfkeyboards/lfk65_hs/keymaps/default/keymap.c b/keyboards/lfkeyboards/lfk65_hs/keymaps/default/keymap.c index cced607b0c56..8d8b4b751b1c 100644 --- a/keyboards/lfkeyboards/lfk65_hs/keymaps/default/keymap.c +++ b/keyboards/lfkeyboards/lfk65_hs/keymaps/default/keymap.c @@ -1,54 +1,50 @@ #include QMK_KEYBOARD_H -//Define a shorter 'transparent' key code to make the keymaps more compact -#define KC_TR KC_TRNS - enum keymap_layout { BASE = 0, FUNC, }; -// #define uint16_t int -// #define uint8_t int - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[BASE] = LAYOUT_ansi( - /* Keymap VANILLA: (Base Layer) Default Layer - * ,------------------------------------------------------------.----. - * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| - * |------------------------------------------------------------|----| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| Del| - * |------------------------------------------------------------|----| - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp| - * |------------------------------------------------------------|----| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgDn| - * |-----------------------------------------------------------------| - * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | - * `-----------------------------------------------------------------' - */ - 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_INS, - 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_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, - 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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT), + /* Keymap VANILLA: (Base Layer) Default Layer + * ,------------------------------------------------------------.----. + * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| + * |------------------------------------------------------------|----| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| Del| + * |------------------------------------------------------------|----| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp| + * |------------------------------------------------------------|----| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgDn| + * |-----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | + * `-----------------------------------------------------------------' + */ + [BASE] = LAYOUT_ansi( + 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_INS, + 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_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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT + ), -[FUNC] = LAYOUT_ansi( - /*Keymap VANILLA: Function Layer - * ,------------------------------------------------------------.----. - * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| - * |------------------------------------------------------------|----| - * |MuMode | | | |E| R| T| Y| U| I| O| P| [| ]| \| Del| - * |------------------------------------------------------------|----| - * |AudTgl|Hz+|MS+| | D| F| G| H| J| K| L| ;| '|Return |PgUp| - * |------------------------------------------------------------|----| - * |ClickTgl|Hz-|MS-|| C| V| B| N|MuTgl| ,| .| /|Shift |Up |PgDn| - * |-----------------------------------------------------------------| - * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | - * `-----------------------------------------------------------------' - */ - 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, KC_F13, KC_F14, - MU_MOD, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, RGB_TOG, - AU_TOG, F(1),F(3), KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, RESET, RGB_MOD, - F(5), F(2),F(4), KC_TR, KC_TR, KC_TR, KC_TR, MU_TOG, RGB_VAD, RGB_VAI, KC_TR, KC_TR, RGB_HUI, KC_TR, - KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, KC_TR, RGB_SAD, RGB_HUD, RGB_SAI), + /* Keymap VANILLA: Function Layer + * ,------------------------------------------------------------.----. + * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| + * |------------------------------------------------------------|----| + * |MuMode | | | |E| R| T| Y| U| I| O| P| [| ]| \| Del| + * |------------------------------------------------------------|----| + * |AudTgl|Hz+|MS+| | D| F| G| H| J| K| L| ;| '|Return |PgUp| + * |------------------------------------------------------------|----| + * |ClickTgl|Hz-|MS-|| C| V| B| N|MuTgl| ,| .| /|Shift |Up |PgDn| + * |-----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | + * `-----------------------------------------------------------------' + */ + [FUNC] = LAYOUT_ansi( + 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, KC_F13, KC_F14, + MU_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, + AU_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, MU_TOG, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI + ) }; diff --git a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c index 9e79a7355509..bd35bfbf229a 100644 --- a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c +++ b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c @@ -15,108 +15,104 @@ enum { bool spam_space = false; - - // {0x00000000, 0xFFFFFFFF, {0x0000, 0x0FFF, 0x0000}}, // base layer - green - // {0x00000008, 0xFFFFFFF8, {0x07FF, 0x07FF, 0x0000}}, // CSGO layer - orange - // {0x00000010, 0xFFFFFFF0, {0x0000, 0x0000, 0x0FFF}}, // function layer - blue - // {0x00000020, 0xFFFFFFE0, {0x0FFF, 0x0000, 0x0FFF}}, // settings layer - magenta - // {0xFFFFFFFF, 0xFFFFFFFF, {0x0FFF, 0x0FFF, 0x0FFF}}, // unknown layer - REQUIRED - white - +// {0x00000000, 0xFFFFFFFF, {0x0000, 0x0FFF, 0x0000}}, // base layer - green +// {0x00000008, 0xFFFFFFF8, {0x07FF, 0x07FF, 0x0000}}, // CSGO layer - orange +// {0x00000010, 0xFFFFFFF0, {0x0000, 0x0000, 0x0FFF}}, // function layer - blue +// {0x00000020, 0xFFFFFFE0, {0x0FFF, 0x0000, 0x0FFF}}, // settings layer - magenta +// {0xFFFFFFFF, 0xFFFFFFFF, {0x0FFF, 0x0FFF, 0x0FFF}}, // unknown layer - REQUIRED - white // Colors of the layer indicator LED // This list needs to define layer 0xFFFFFFFF, it is the end of the list, and the unknown layer const Layer_Info layer_info[] = { - // Layer Mask Red Green Blue - {0x00000000, 0xFFFFFFFF, {0x0000, 0x0FFF, 0x0000}}, // base layer - green - {0x00000002, 0xFFFFFFFE, {0x07FF, 0x07FF, 0x0000}}, // CSGO layer - orange - {0x00000004, 0xFFFFFFFC, {0x0000, 0x0000, 0x0FFF}}, // function layer - blue - {0x00000008, 0xFFFFFFE8, {0x0FFF, 0x0000, 0x0FFF}}, // settings layer - magenta - {0xFFFFFFFF, 0xFFFFFFFF, {0x0FFF, 0x0FFF, 0x0FFF}}, // unknown layer - REQUIRED - white + // Layer Mask Red Green Blue + {0x00000000, 0xFFFFFFFF, {0x0000, 0x0FFF, 0x0000}}, // base layer - green + {0x00000002, 0xFFFFFFFE, {0x07FF, 0x07FF, 0x0000}}, // CSGO layer - orange + {0x00000004, 0xFFFFFFFC, {0x0000, 0x0000, 0x0FFF}}, // function layer - blue + {0x00000008, 0xFFFFFFE8, {0x0FFF, 0x0000, 0x0FFF}}, // settings layer - magenta + {0xFFFFFFFF, 0xFFFFFFFF, {0x0FFF, 0x0FFF, 0x0FFF}}, // unknown layer - REQUIRED - white }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap BASE: (Base Layer) Default Layer - * ,---------. ,------------------------------------------------------------. ,---------. - * |Vol-|Vol+| |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| | Ins|PgUp| - * |---------| |------------------------------------------------------------| |---------| - * | F3 | F4 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del|PgDn| - * |---------| |------------------------------------------------------------| `---------' - * | F5 | F6 | |Control | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |---------| |------------------------------------------------------------| ,----. - * | F7 | F8 | |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift | | Up | - * |---------| |-------------------------------------------------------------------------. - * | F9 | F10| |Func|Alt |Cmd | Space |Cmd |Alt |Func | |Lft| Dn |Rig | - * `---------' `------------------------------------------------------' `-------------' - */ - [VANILLA] = LAYOUT_split_rshift( - KC_VOLD, KC_VOLU, 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, LALT(KC_F5), KC_PGUP, \ - KC_F3, KC_F4, 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_PGDN, \ - KC_F5, KC_F6, TD(TD_ESC_FUNC), 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_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(CS_GO), KC_UP, \ - KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT \ - ), - - [CS_GO] = LAYOUT_split_rshift( - _______, _______, KC_GESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, F(0), _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ - ), - - /* Keymap FUNCTION: Function Layer - * ,---------. ,-------------------------------------------------------------. ,---------. - * | V- | V+ | | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | Ins|Home| - * |---------| |-------------------------------------------------------------| |---------| - * | | | |Tab | |PgU| | | | | | Up| | | | | | | Del|End | - * |---------| |-------------------------------------------------------------| `---------' - * | | | |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | - * |---------| |-------------------------------------------------------------| ,----. - * | | | |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | - * |---------| |--------------------------------------------------------------------------. - * | | F10| |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | - * `---------' `------------------------------------------------------' `-------------' - */ - [FUNC] = LAYOUT_split_rshift( - _______, _______, 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, KC_DEL, TO(CS_GO), KC_HOME, \ - _______, _______, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_END, \ - _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, \ - _______, _______, _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), XXXXXXX, _______, \ - _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______ \ - ), - - /* Keymap SETTINGS: Settings Layer - * ,---------. ,-----------------------------------------------------------. ,-------------. - * | | | |FN0 |BL0|BL1|BL2|BL3| | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| - * |---------| |-----------------------------------------------------------| |-------------| - * | | | |Debug| | | | | | | | | | | | |RGBTst| |RGB Mode|Val-| - * |---------| |-----------------------------------------------------------| `-------------' - * | | | |LayrClr|Hz+|MS+| | | | | | | | | | RST | - * |---------| |-----------------------------------------------------------| ,----. - * | | | |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| - * |---------| |------------------------------------------------------------------------. - * | | | | | | | Print Debug | | | | |Sat-|Hue-|Sat+| - * `---------' `------------------------------------------------------' `--------------' - */ - [SETTINGS] = LAYOUT_split_rshift( - XXXXXXX, XXXXXXX, F(0), F(3), F(4), F(5), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, \ - XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, \ - XXXXXXX, XXXXXXX, F(0), F(6), F(8), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, \ - XXXXXXX, XXXXXXX, F(10), F(7), F(9), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(0), XXXXXXX, RGB_HUI, \ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(12), XXXXXXX, XXXXXXX, F(0), RGB_SAD, RGB_HUD, RGB_SAI \ - ), + /* Keymap BASE: (Base Layer) Default Layer + * ,---------. ,------------------------------------------------------------. ,---------. + * |Vol-|Vol+| |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| | Ins|PgUp| + * |---------| |------------------------------------------------------------| |---------| + * | F3 | F4 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del|PgDn| + * |---------| |------------------------------------------------------------| `---------' + * | F5 | F6 | |Control | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |---------| |------------------------------------------------------------| ,----. + * | F7 | F8 | |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift | | Up | + * |---------| |-------------------------------------------------------------------------. + * | F9 | F10| |Func|Alt |Cmd | Space |Cmd |Alt |Func | |Lft| Dn |Rig | + * `---------' `------------------------------------------------------' `-------------' + */ + [VANILLA] = LAYOUT_split_rshift( + KC_VOLD, KC_VOLU, 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, LALT(KC_F5), KC_PGUP, + KC_F3, KC_F4, 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_PGDN, + KC_F5, KC_F6, TD(TD_ESC_FUNC), 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_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(CS_GO), KC_UP, + KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [CS_GO] = LAYOUT_split_rshift( + _______, _______, KC_GESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, F(0), _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Keymap FUNCTION: Function Layer + * ,---------. ,-------------------------------------------------------------. ,---------. + * | V- | V+ | | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | Ins|Home| + * |---------| |-------------------------------------------------------------| |---------| + * | | | |Tab | |PgU| | | | | | Up| | | | | | | Del|End | + * |---------| |-------------------------------------------------------------| `---------' + * | | | |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | + * |---------| |-------------------------------------------------------------| ,----. + * | | | |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | + * |---------| |--------------------------------------------------------------------------. + * | | F10| |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | + * `---------' `------------------------------------------------------' `-------------' + */ + [FUNC] = LAYOUT_split_rshift( + _______, _______, 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, KC_DEL, TO(CS_GO), KC_HOME, + _______, _______, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_END, + _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), XXXXXXX, _______, + _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______ + ), + + /* Keymap SETTINGS: Settings Layer + * ,---------. ,-----------------------------------------------------------. ,-------------. + * | | | |FN0 |BL0|BL1|BL2|BL3| | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| + * |---------| |-----------------------------------------------------------| |-------------| + * | | | |Debug| | | | | | | | | | | | |RGBTst| |RGB Mode|Val-| + * |---------| |-----------------------------------------------------------| `-------------' + * | | | |LayrClr|Hz+|MS+| | | | | | | | | | RST | + * |---------| |-----------------------------------------------------------| ,----. + * | | | |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| + * |---------| |------------------------------------------------------------------------. + * | | | | | | | Print Debug | | | | |Sat-|Hue-|Sat+| + * `---------' `------------------------------------------------------' `--------------' + */ + [SETTINGS] = LAYOUT_split_rshift( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, + XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI + ) }; - void tap_space_spam_finished(qk_tap_dance_state_t *state, void *user_data) { - if(get_mods() & (MOD_BIT(KC_LGUI))){ + if (get_mods() & (MOD_BIT(KC_LGUI))) { return; } - if(state->pressed){ + if (state->pressed) { spam_space = true; } - register_code(KC_SPC); - unregister_code(KC_SPC); + tap_code(KC_SPC); } void tap_space_spam_reset(qk_tap_dance_state_t *state, void *user_data) { @@ -125,11 +121,10 @@ void tap_space_spam_reset(qk_tap_dance_state_t *state, void *user_data) { } void tap_esc_func_finished(qk_tap_dance_state_t *state, void *user_data) { - if(state->pressed){ + if (state->pressed) { layer_on(FUNC); - }else{ - register_code(KC_ESC); - unregister_code(KC_ESC); + } else { + tap_code(KC_ESC); } } @@ -138,40 +133,21 @@ void tap_esc_func_reset(qk_tap_dance_state_t *state, void *user_data) { } qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset), - [TD_SPC_SPAM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_space_spam_finished, tap_space_spam_reset), + [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset), + [TD_SPC_SPAM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_space_spam_finished, tap_space_spam_reset), }; - -const uint16_t PROGMEM fn_actions[] = { - ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers - ACTION_FUNCTION(LFK_ESC_TILDE), // FN1 - esc+shift = ~, else escape - ACTION_FUNCTION(LFK_LED_TEST), // FN2 - cycle through LEDs for testing - ACTION_FUNCTION_OPT(LFK_SET_DEFAULT_LAYER, VANILLA), // FN3 - set base layer to 0 and save - ACTION_FUNCTION_OPT(LFK_SET_DEFAULT_LAYER, VANILLA), // FN4 - set base layer to 1 and save - ACTION_FUNCTION_OPT(LFK_SET_DEFAULT_LAYER, VANILLA), // FN5 - set base layer to 2 and save - ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN6 - Increase Freq of audio click - ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN7 - Decrease Freq of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN8 - Increase length of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN9 - Decrease length of audio click - ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN10 - Toggle audio click - ACTION_FUNCTION(LFK_LED_TEST), // FN11 - cycle through LEDs for testing - ACTION_FUNCTION(LFK_DEBUG_SETTINGS), // FN12 - prints LED and click settings to HID - }; - void matrix_scan_user(void) { - if(spam_space && !(get_mods() & (MOD_BIT(KC_LGUI)))){ - register_code(KC_SPC); - unregister_code(KC_SPC); + if (spam_space && !(get_mods() & (MOD_BIT(KC_LGUI)))) { + tap_code(KC_SPC); } } - bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if((layer_state & (1 << CS_GO)) && (keycode == 44)){ - if(get_mods() & (MOD_BIT(KC_LGUI))){ - return false; + if ((layer_state & (1 << CS_GO)) && (keycode == 44)) { + if (get_mods() & (MOD_BIT(KC_LGUI))) { + return false; + } } - } - return true; + return true; } diff --git a/keyboards/lfkeyboards/lfk78/keymaps/default/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/default/keymap.c index a92a506c1243..8faa099453f7 100644 --- a/keyboards/lfkeyboards/lfk78/keymaps/default/keymap.c +++ b/keyboards/lfkeyboards/lfk78/keymaps/default/keymap.c @@ -73,23 +73,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------' `--------------------------------------------------------' `--------------' */ [SETTINGS] = LAYOUT( - XXXXXXX, XXXXXXX, F(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, - XXXXXXX, XXXXXXX, AU_TOG, F(1), F(3), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, - XXXXXXX, XXXXXXX, F(5), F(2), F(4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, + XXXXXXX, XXXXXXX, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI ) }; -const uint16_t PROGMEM fn_actions[] = { - ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers - ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click - ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click - ACTION_FUNCTION(LFK_CLICK_TOGGLE) // FN5 - Toggle audio click -}; - void matrix_init_user(void) { // This keymap only has a single base layer, so reset the default if needed if (eeconfig_read_default_layer() > 1) { diff --git a/keyboards/lfkeyboards/lfk78/keymaps/iso/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/iso/keymap.c index 3dbc77557993..ec054b33e771 100644 --- a/keyboards/lfkeyboards/lfk78/keymaps/iso/keymap.c +++ b/keyboards/lfkeyboards/lfk78/keymaps/iso/keymap.c @@ -73,23 +73,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------' `--------------------------------------------------------' `--------------' */ [SETTINGS] = LAYOUT_iso( - XXXXXXX, XXXXXXX, F(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, - XXXXXXX, XXXXXXX, AU_TOG, F(1), F(3), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, - XXXXXXX, XXXXXXX, F(5), F(2), F(4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, + XXXXXXX, XXXXXXX, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI ) }; -const uint16_t PROGMEM fn_actions[] = { - ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers - ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click - ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click - ACTION_FUNCTION(LFK_CLICK_TOGGLE) // FN5 - Toggle audio click -}; - void matrix_init_user(void) { // This keymap only has a single base layer, so reset the default if needed if (eeconfig_read_default_layer() > 1) { diff --git a/keyboards/lfkeyboards/lfk78/keymaps/split_bs_osx/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/split_bs_osx/keymap.c index da7593d39c2c..0a9c2aa4f908 100644 --- a/keyboards/lfkeyboards/lfk78/keymaps/split_bs_osx/keymap.c +++ b/keyboards/lfkeyboards/lfk78/keymaps/split_bs_osx/keymap.c @@ -73,23 +73,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------' `--------------------------------------------------------' `--------------' */ [SETTINGS] = LAYOUT_split_bs( - XXXXXXX, XXXXXXX, F(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, RGB_TOG, RGB_VAI, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, RGB_MOD, RGB_VAD, - XXXXXXX, XXXXXXX, AU_TOG, F(1), F(3), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, - XXXXXXX, XXXXXXX, F(5), F(2), F(4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, + XXXXXXX, XXXXXXX, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI ) }; -const uint16_t PROGMEM fn_actions[] = { - ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers - ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click - ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click - ACTION_FUNCTION(LFK_CLICK_TOGGLE) // FN5 - Toggle audio click -}; - void matrix_init_user(void) { // This keymap only has a single base layer, so reset the default if needed if (eeconfig_read_default_layer() > 1) { diff --git a/keyboards/lfkeyboards/lfk78/lfk78.c b/keyboards/lfkeyboards/lfk78/lfk78.c index 5b283f979df0..2f8f1b34efeb 100644 --- a/keyboards/lfkeyboards/lfk78/lfk78.c +++ b/keyboards/lfkeyboards/lfk78/lfk78.c @@ -134,73 +134,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { return process_record_user(keycode, record); } -void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) { -#ifdef AUDIO_ENABLE - int8_t sign = 1; -#endif - - if (id == LFK_ESC_TILDE) { - // Send ~ on shift-esc - void (*method)(uint8_t) = (event->event.pressed) ? &add_key : &del_key; - uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)); - - if (layer_state == 0) { - method(shifted ? KC_GRAVE : KC_ESCAPE); - } else { - method(shifted ? KC_ESCAPE : KC_GRAVE); - } - - send_keyboard_report(); - } else if (event->event.pressed) { - switch (id) { - case LFK_SET_DEFAULT_LAYER: - // set/save the current base layer to eeprom, falls through to LFK_CLEAR - eeconfig_update_default_layer(1UL << opt); - default_layer_set(1UL << opt); - case LFK_CLEAR: - // Go back to default layer - layer_clear(); - break; -#ifdef ISSI_ENABLE - case LFK_LED_TEST: - led_test(); - break; -#endif -#ifdef AUDIO_ENABLE - case LFK_CLICK_FREQ_LOWER: - sign = -1; // continue to next statement - case LFK_CLICK_FREQ_HIGHER: - click_hz += sign * 100; - click(click_hz, click_time); - break; - case LFK_CLICK_TOGGLE: - if (click_toggle) { - click_toggle = 0; - click(4000, 100); - click(1000, 100); - } else { - click_toggle = 1; - click(1000, 100); - click(4000, 100); - } - break; - case LFK_CLICK_TIME_SHORTER: - sign = -1; // continue to next statement - case LFK_CLICK_TIME_LONGER: - click_time += sign; - click(click_hz, click_time); - break; -#endif - case LFK_DEBUG_SETTINGS: - dprintf("Click:\n"); - dprintf(" toggle: %d\n", click_toggle); - dprintf(" freq(hz): %d\n", click_hz); - dprintf(" duration(ms): %d\n", click_time); - break; - } - } -} - void reset_keyboard_kb() { #ifdef WATCHDOG_ENABLE MCUSR = 0; diff --git a/keyboards/lfkeyboards/lfk78/lfk78.h b/keyboards/lfkeyboards/lfk78/lfk78.h index 711baddeceac..ffa4894bbc59 100644 --- a/keyboards/lfkeyboards/lfk78/lfk78.h +++ b/keyboards/lfkeyboards/lfk78/lfk78.h @@ -25,19 +25,6 @@ typedef struct Layer_Info { extern const uint32_t layer_count; extern const Layer_Info layer_info[]; -enum action_functions { - LFK_CLEAR = 0, // Resets all layers - LFK_ESC_TILDE, // esc+lshift = ~ - LFK_SET_DEFAULT_LAYER, // changes and saves current base layer to eeprom - LFK_CLICK_TOGGLE, // Adjusts click duration - LFK_CLICK_FREQ_HIGHER, // Adjusts click frequency - LFK_CLICK_FREQ_LOWER, // Adjusts click frequency - LFK_CLICK_TIME_LONGER, // Adjusts click duration - LFK_CLICK_TIME_SHORTER, // Adjusts click duration - LFK_DEBUG_SETTINGS, // prints LED and click settings to HID - LFK_LED_TEST // cycles through switch and RGB LEDs -}; - #define CLICK_HZ 500 #define CLICK_MS 2 #define CLICK_ENABLED 0 diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c index c6799ea532e0..b62ea9344093 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c +++ b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c @@ -13,156 +13,153 @@ enum { TD_ESC_FUNC = 0, }; - // Colors of the layer indicator LED // This list needs to define layer 0xFFFFFFFF, it is the end of the list, and the unknown layer const Layer_Info layer_info[] = { - // Layer Mask Red Green Blue - {0x00000000, 0xFFFFFFF8, {0x00, 0xFF, 0x00}}, // base layers (VANILLA, DEFAULT_WKL, DEFAULT_OSX) - green - {0x00000008, 0xFFFFFFF8, {0x07FF, 0x07FF, 0x0000}}, // CSGO layer - orange - {0x00000010, 0xFFFFFFF0, {0x0000, 0x0000, 0x0FFF}}, // function layer - blue - {0x00000020, 0xFFFFFFE0, {0x0FFF, 0x0000, 0x0FFF}}, // settings layer - magenta - {0xFFFFFFFF, 0xFFFFFFFF, {0x0FFF, 0x0FFF, 0x0FFF}}, // unknown layer - REQUIRED - white + // Layer Mask Red Green Blue + {0x00000000, 0xFFFFFFF8, {0x00, 0xFF, 0x00}}, // base layers (VANILLA, DEFAULT_WKL, DEFAULT_OSX) - green + {0x00000008, 0xFFFFFFF8, {0x07FF, 0x07FF, 0x0000}}, // CSGO layer - orange + {0x00000010, 0xFFFFFFF0, {0x0000, 0x0000, 0x0FFF}}, // function layer - blue + {0x00000020, 0xFFFFFFE0, {0x0FFF, 0x0000, 0x0FFF}}, // settings layer - magenta + {0xFFFFFFFF, 0xFFFFFFFF, {0x0FFF, 0x0FFF, 0x0FFF}}, // unknown layer - REQUIRED - white }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap VANILLA: (Base Layer) Default Layer - * ,-----------------------------------------------------------------------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |ALT |GUI |CTRL |Func| |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [VANILLA] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, \ - KC_GRV, 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_INS, KC_HOME, KC_PGUP, \ - 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, KC_PGDN, \ - 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_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_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), MO(SETTINGS), KC_LEFT, KC_DOWN, KC_RGHT \ - ), - - /* Keymap DEFAULT_TKL: (Base Layer) Default Layer - * ,-----------------------------------------------------------------------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl| |Alt | Space |ALT | |CTRL |Func| |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [DEFAULT_WKL] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ - KC_GRV, 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_INS, KC_HOME, KC_PGUP, \ - 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, KC_PGDN, \ - 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT \ - ), - - /* Keymap DEFAULT_OSX: (Base Layer) Default Layer - * ,-----------------------------------------------------------------------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl| Opt |Cmd | Space |Cmd |Opt |CTRL |Func| |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [DEFAULT_OSX] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_SLCK, KC_PAUS, LALT(KC_F5), \ - KC_GRV, 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_INS, KC_HOME, KC_PGUP, \ - 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, KC_PGDN, \ - TD(TD_ESC_FUNC), 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_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_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), MO(SETTINGS), KC_LEFT, KC_DOWN, KC_RGHT \ - ), - - [CS_GO] = LAYOUT_tkl_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, F(0), _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ - ), - - /* Keymap FUNCTION: Function Layer - * ,-------------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | - * |-------------------------------------------------------------| |--------------| - * |Tab | |PgU| | | | | | Up| | | | | | | | | | - * |-------------------------------------------------------------| `--------------' - * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | - * |-------------------------------------------------------------| ,----. - * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | - * |-------------------------------------------------------------' ,-------------. - * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | - * `------------------------------------------------------' `-------------' - */ - [FUNC] = LAYOUT_tkl_ansi( - KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, TO(CS_GO), _______, _______, \ - XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, \ - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, \ - _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, \ - _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______ \ - ), - - /* Keymap SETTINGS: Settings Layer - * ,-----------------------------------------------------------. ,-------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * |LayClr| | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| - * |-----------------------------------------------------------| |-------------| - * |Debug| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-| - * |-----------------------------------------------------------| `-------------' - * |AU_TOG |Hz+|MS+| | | | | | | | | | RST | - * |-----------------------------------------------------------| ,----. - * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| - * |------------------------------------------------------------------------. - * | | | | Print Debug | | | | |Sat-|Hue-|Sat+| - * `------------------------------------------------------' `--------------' - */ - [SETTINGS] = LAYOUT_tkl_ansi( - F(13), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, \ - F(0), F(3), F(4), F(5), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, \ - MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(2), RGB_MOD, RGB_VAD, XXXXXXX, \ - AU_TOG, F(6), F(8), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, \ - F(10), F(7), F(9), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, F(0), RGB_HUI, \ - XXXXXXX, XXXXXXX, XXXXXXX, F(12), XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI \ - ), + /* Keymap VANILLA: (Base Layer) Default Layer + * ,-----------------------------------------------------------------------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| + * |-----------------------------------------------------------| |--------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| + * |-----------------------------------------------------------| |--------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| + * |-----------------------------------------------------------| `--------------' + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| ,----. + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |-----------------------------------------------------------| ,-------------. + * |Ctrl|Gui |Alt | Space |ALT |GUI |CTRL |Func| |Lft| Dn |Rig | + * `-----------------------------------------------------------' `-------------' + */ + [VANILLA] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), MO(SETTINGS), KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* Keymap DEFAULT_TKL: (Base Layer) Default Layer + * ,-----------------------------------------------------------------------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| + * |-----------------------------------------------------------| |--------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| + * |-----------------------------------------------------------| |--------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| + * |-----------------------------------------------------------| `--------------' + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| ,----. + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |-----------------------------------------------------------| ,-------------. + * |Ctrl| |Alt | Space |ALT | |CTRL |Func| |Lft| Dn |Rig | + * `-----------------------------------------------------------' `-------------' + */ + [DEFAULT_WKL] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* Keymap DEFAULT_OSX: (Base Layer) Default Layer + * ,-----------------------------------------------------------------------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| + * |-----------------------------------------------------------| |--------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| + * |-----------------------------------------------------------| |--------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| + * |-----------------------------------------------------------| `--------------' + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| ,----. + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |-----------------------------------------------------------| ,-------------. + * |Ctrl| Opt |Cmd | Space |Cmd |Opt |CTRL |Func| |Lft| Dn |Rig | + * `-----------------------------------------------------------' `-------------' + */ + [DEFAULT_OSX] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_SLCK, KC_PAUS, LALT(KC_F5), + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + TD(TD_ESC_FUNC), 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_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_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), MO(SETTINGS), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [CS_GO] = LAYOUT_tkl_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Keymap FUNCTION: Function Layer + * ,-------------------------------------------------------------. ,--------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | + * |-------------------------------------------------------------| |--------------| + * |Tab | |PgU| | | | | | Up| | | | | | | | | | + * |-------------------------------------------------------------| `--------------' + * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | + * |-------------------------------------------------------------| ,----. + * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | + * |-------------------------------------------------------------' ,-------------. + * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | + * `------------------------------------------------------' `-------------' + */ + [FUNC] = LAYOUT_tkl_ansi( + KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, TO(CS_GO), _______, _______, + XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, + _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Keymap SETTINGS: Settings Layer + * ,-----------------------------------------------------------. ,-------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * |LayClr| | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| + * |-----------------------------------------------------------| |-------------| + * |Debug| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-| + * |-----------------------------------------------------------| `-------------' + * |AU_TOG |Hz+|MS+| | | | | | | | | | RST | + * |-----------------------------------------------------------| ,----. + * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| + * |------------------------------------------------------------------------. + * | | | | Print Debug | | | | |Sat-|Hue-|Sat+| + * `------------------------------------------------------' `--------------' + */ + [SETTINGS] = LAYOUT_tkl_ansi( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, + MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, + AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI + ) }; void tap_esc_func_finished(qk_tap_dance_state_t *state, void *user_data) { - if(state->pressed){ + if (state->pressed) { layer_on(FUNC); - }else{ - register_code(KC_ESC); - unregister_code(KC_ESC); + } else { + tap_code(KC_ESC); } } @@ -171,32 +168,14 @@ void tap_esc_func_reset(qk_tap_dance_state_t *state, void *user_data) { } qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset), + [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset), }; - -const uint16_t PROGMEM fn_actions[] = { - ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers - ACTION_FUNCTION(LFK_ESC_TILDE), // FN1 - esc+shift = ~, else escape - ACTION_FUNCTION(LFK_LED_TEST), // FN2 - cycle through LEDs for testing - ACTION_FUNCTION_OPT(LFK_SET_DEFAULT_LAYER, VANILLA), // FN3 - set base layer to 0 and save - ACTION_FUNCTION_OPT(LFK_SET_DEFAULT_LAYER, DEFAULT_WKL), // FN4 - set base layer to 1 and save - ACTION_FUNCTION_OPT(LFK_SET_DEFAULT_LAYER, DEFAULT_OSX), // FN5 - set base layer to 2 and save - ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN6 - Increase Freq of audio click - ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN7 - Decrease Freq of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN8 - Increase length of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN9 - Decrease length of audio click - ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN10 - Toggle audio click - ACTION_FUNCTION(LFK_LED_TEST), // FN11 - cycle through LEDs for testing - ACTION_FUNCTION(LFK_DEBUG_SETTINGS), // FN12 - prints LED and click settings to HID - ACTION_FUNCTION(LFK_PLAY_ONEUP), - }; - bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if((layer_state & (1 << CS_GO)) && (keycode == 44)){ - if(get_mods() & (MOD_BIT(KC_LGUI))){ - return false; + if ((layer_state & (1 << CS_GO)) && (keycode == 44)) { + if (get_mods() & (MOD_BIT(KC_LGUI))) { + return false; + } } - } - return true; + return true; } diff --git a/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c index 3ee5399cd3b2..789a6f9737f1 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c +++ b/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c @@ -16,93 +16,83 @@ const Layer_Info layer_info[] = { {0xFFFFFFFF, 0xFFFFFFFF, {0xFF, 0xFF, 0xFF}}, // unknown layer - REQUIRED - white }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap VANILLA: (Base Layer) Default Layer - * ,-----------------------------------------------------------------------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [VANILLA] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, - KC_GRV, 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_INS, KC_HOME, KC_PGUP, - 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, KC_PGDN, - 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(FUNC), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Keymap FUNCTION: Function Layer - * ,-------------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | - * |-------------------------------------------------------------| |--------------| - * |Tab | |PgU| | | | | | Up| | | | | | | | | | - * |-------------------------------------------------------------| `--------------' - * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | - * |-------------------------------------------------------------| ,----. - * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | - * |-------------------------------------------------------------' ,-------------. - * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | - * `------------------------------------------------------' `-------------' - */ - [FUNC] = LAYOUT_tkl_ansi( - KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, - XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, - _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, - _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______ - ), + /* Keymap VANILLA: (Base Layer) Default Layer + * ,-----------------------------------------------------------------------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| + * |-----------------------------------------------------------| |--------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| + * |-----------------------------------------------------------| |--------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| + * |-----------------------------------------------------------| `--------------' + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| ,----. + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |-----------------------------------------------------------| ,-------------. + * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig | + * `-----------------------------------------------------------' `-------------' + */ + [VANILLA] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(FUNC), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), - /* Keymap SETTINGS: Settings Layer - * ,------------------------------------------------------------. ,-------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |------------------------------------------------------------| |--------------| - * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl | |RGB Tog |Val+| - * |------------------------------------------------------------| |-------------| - * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-| - * |------------------------------------------------------------| `-------------' - * |AudTgl |Hz+|MS+| | | | | | | | | | RST | - * |------------------------------------------------------------| ,----. - * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| - * |------------------------------------------------------------------------------. - * | | | | | | | | | |Sat-|Hue-|Sat+| - * `------------------------------------------------------------------------------' - */ - [SETTINGS] = LAYOUT_tkl_ansi( - F(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, - F(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, - MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(2), RGB_MOD, RGB_VAD, XXXXXXX, - AU_TOG, F(1), F(3), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, - F(5), F(2), F(4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, - XXXXXXX, XXXXXXX, XXXXXXX, F(12), XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI - ), -}; + /* Keymap FUNCTION: Function Layer + * ,-------------------------------------------------------------. ,--------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | + * |-------------------------------------------------------------| |--------------| + * |Tab | |PgU| | | | | | Up| | | | | | | | | | + * |-------------------------------------------------------------| `--------------' + * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | + * |-------------------------------------------------------------| ,----. + * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | + * |-------------------------------------------------------------' ,-------------. + * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | + * `------------------------------------------------------' `-------------' + */ + [FUNC] = LAYOUT_tkl_ansi( + KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, + XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, + _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, + _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______ + ), -const uint16_t PROGMEM fn_actions[] = { - ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers - ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click - ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click - ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click + /* Keymap SETTINGS: Settings Layer + * ,------------------------------------------------------------. ,-------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |------------------------------------------------------------| |--------------| + * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl | |RGB Tog |Val+| + * |------------------------------------------------------------| |-------------| + * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-| + * |------------------------------------------------------------| `-------------' + * |AudTgl |Hz+|MS+| | | | | | | | | | RST | + * |------------------------------------------------------------| ,----. + * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| + * |------------------------------------------------------------------------------. + * | | | | | | | | | |Sat-|Hue-|Sat+| + * `------------------------------------------------------------------------------' + */ + [SETTINGS] = LAYOUT_tkl_ansi( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, + MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, + AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI + ) }; void matrix_init_user(void) { // This keymap only has a single base layer, so reset the default if needed - if(eeconfig_read_default_layer() > 1){ + if (eeconfig_read_default_layer() > 1) { eeconfig_update_default_layer(1); default_layer_set(1); } diff --git a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c index 4dfb0985389b..c946856dbe21 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c +++ b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c @@ -16,93 +16,83 @@ const Layer_Info layer_info[] = { {0xFFFFFFFF, 0xFFFFFFFF, {0xFF, 0xFF, 0xFF}}, // unknown layer - REQUIRED - white }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap VANILLA: (Base Layer) Default Layer - * ,-----------------------------------------------------------------------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [VANILLA] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, LGUI(KC_D), KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, - KC_GRV, 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_INS, KC_HOME, KC_PGUP, - 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, KC_PGDN, - 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(FUNC), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), + /* Keymap VANILLA: (Base Layer) Default Layer + * ,-----------------------------------------------------------------------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| + * |-----------------------------------------------------------| |--------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| + * |-----------------------------------------------------------| |--------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| + * |-----------------------------------------------------------| `--------------' + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| ,----. + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |-----------------------------------------------------------| ,-------------. + * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig | + * `-----------------------------------------------------------' `-------------' + */ + [VANILLA] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, LGUI(KC_D), KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(FUNC), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), - /* Keymap FUNCTION: Function Layer - * ,-------------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | - * |-------------------------------------------------------------| |--------------| - * |Tab | |PgU| | | | | | Up| | | | | | | | | | - * |-------------------------------------------------------------| `--------------' - * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | - * |-------------------------------------------------------------| ,----. - * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | - * |-------------------------------------------------------------' ,-------------. - * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | - * `------------------------------------------------------' `-------------' - */ - [FUNC] = LAYOUT_tkl_ansi( - KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, - XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, - _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, - _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______ - ), + /* Keymap FUNCTION: Function Layer + * ,-------------------------------------------------------------. ,--------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | + * |-------------------------------------------------------------| |--------------| + * |Tab | |PgU| | | | | | Up| | | | | | | | | | + * |-------------------------------------------------------------| `--------------' + * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | + * |-------------------------------------------------------------| ,----. + * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | + * |-------------------------------------------------------------' ,-------------. + * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | + * `------------------------------------------------------' `-------------' + */ + [FUNC] = LAYOUT_tkl_ansi( + KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, + XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, + _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, + _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______ + ), - /* Keymap SETTINGS: Settings Layer - * ,-----------------------------------------------------------. ,-------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| - * |-----------------------------------------------------------| |-------------| - * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-| - * |-----------------------------------------------------------| `-------------' - * |AudTgl |Hz+|MS+| | | | | | | | | | RST | - * |-----------------------------------------------------------| ,----. - * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| - * |--------------------------------------------------------------------------. - * | | | | | | | | | |Sat-|Hue-|Sat+| - * `----------------------------------------------------------------------------' - */ - [SETTINGS] = LAYOUT_tkl_ansi( - F(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, - F(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, - MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(2), RGB_MOD, RGB_VAD, XXXXXXX, - AU_TOG, KC_F1, F(3), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, - F(5), F(2), F(4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, - XXXXXXX, XXXXXXX, XXXXXXX, F(12), XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI - ), + /* Keymap SETTINGS: Settings Layer + * ,-----------------------------------------------------------. ,-------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| + * |-----------------------------------------------------------| |-------------| + * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-| + * |-----------------------------------------------------------| `-------------' + * |AudTgl |Hz+|MS+| | | | | | | | | | RST | + * |-----------------------------------------------------------| ,----. + * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| + * |--------------------------------------------------------------------------. + * | | | | | | | | | |Sat-|Hue-|Sat+| + * `----------------------------------------------------------------------------' + */ + [SETTINGS] = LAYOUT_tkl_ansi( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, + MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, + AU_TOG, KC_F1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI + ) }; -const uint16_t PROGMEM fn_actions[] = { - ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers - ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click - ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click - ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click - }; - void matrix_init_user(void) { // This keymap only has a single base layer, so reset the default if needed - if(eeconfig_read_default_layer() > 1){ + if (eeconfig_read_default_layer() > 1) { eeconfig_update_default_layer(1); default_layer_set(1); } diff --git a/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c index 428277c33f85..b36de66c6a7e 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c +++ b/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c @@ -9,100 +9,90 @@ enum keymap_layout { // Colors of the layer indicator LED // This list needs to define layer 0xFFFFFFFF, it is the end of the list, and the unknown layer const Layer_Info layer_info[] = { - // Layer Mask Red Green Blue - {0x00000000, 0xFFFFFFFF, {0x00, 0x00, 0x00}}, // base layer - off - {0x00000002, 0xFFFFFFFE, {0x00, 0x00, 0x7F}}, // function layer - blue - {0x00000004, 0xFFFFFFFC, {0x7F, 0x00, 0x00}}, // settings layer - red - {0xFFFFFFFF, 0xFFFFFFFF, {0x0F, 0x0F, 0x0F}}, // unknown layer - REQUIRED - white + // Layer Mask Red Green Blue + {0x00000000, 0xFFFFFFFF, {0x00, 0x00, 0x00}}, // base layer - off + {0x00000002, 0xFFFFFFFE, {0x00, 0x00, 0x7F}}, // function layer - blue + {0x00000004, 0xFFFFFFFC, {0x7F, 0x00, 0x00}}, // settings layer - red + {0xFFFFFFFF, 0xFFFFFFFF, {0x0F, 0x0F, 0x0F}}, // unknown layer - REQUIRED - white }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap VANILLA: (Base Layer) Default Layer - * ,-----------------------------------------------------------------------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Ret| | Del| End|PgDn| - * |--------------------------------------------------------. | `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | | - * |-----------------------------------------------------------| ,----. - * |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |ALT |GUI | Func|CTRL| |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [VANILLA] = LAYOUT_tkl_iso( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_LSCR, KC_PAUS, - KC_GRV, 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_INS, KC_HOME, KC_PGUP, - 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_DEL, KC_END, KC_PGDN, - KC_LCAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(FUNC), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), + /* Keymap VANILLA: (Base Layer) Default Layer + * ,-----------------------------------------------------------------------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| + * |-----------------------------------------------------------| |--------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| + * |-----------------------------------------------------------| |--------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Ret| | Del| End|PgDn| + * |--------------------------------------------------------. | `--------------' + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | | + * |-----------------------------------------------------------| ,----. + * |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |-----------------------------------------------------------| ,-------------. + * |Ctrl|Gui |Alt | Space |ALT |GUI | Func|CTRL| |Lft| Dn |Rig | + * `-----------------------------------------------------------' `-------------' + */ + [VANILLA] = LAYOUT_tkl_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_LSCR, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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_DEL, KC_END, KC_PGDN, + KC_LCAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(FUNC), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), - /* Keymap FUNCTION: Function Layer - * ,-------------------------------------------------------------. ,--------------. - * | |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * | |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | - * |-------------------------------------------------------------| |--------------| - * |Tab | |PgU| | | | | | Up| | | | | | | | | | | - * |---------------------------------------------------------. | `--------------' - * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | | - * |-------------------------------------------------------------| ,----. - * |Shift| | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | - * |-------------------------------------------------------------' ,-------------. - * |Func|Win |Alt | PgD |ALT |GUI | Func|CTRL| |Lft| Dn |Rig | - * `-------------------------------------------------------------' `-------------' - */ - [FUNC] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, - XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, - _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, - _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______ - ), + /* Keymap FUNCTION: Function Layer + * ,-------------------------------------------------------------. ,--------------. + * | |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * | |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | + * |-------------------------------------------------------------| |--------------| + * |Tab | |PgU| | | | | | Up| | | | | | | | | | | + * |---------------------------------------------------------. | `--------------' + * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | | + * |-------------------------------------------------------------| ,----. + * |Shift| | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | + * |-------------------------------------------------------------' ,-------------. + * |Func|Win |Alt | PgD |ALT |GUI | Func|CTRL| |Lft| Dn |Rig | + * `-------------------------------------------------------------' `-------------' + */ + [FUNC] = LAYOUT_tkl_iso( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, + XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, + _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, + _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______ + ), - /* Keymap SETTINGS: Settings Layer - * ,-----------------------------------------------------------. ,-------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * |FN3 |BL0|BL1|BL2|BL3| | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| - * |-----------------------------------------------------------| |-------------| - * |Debug| | | | | | | | | | | | | RST | |RGB Mode|Val-| - * |--------------------------------------------------------. | `-------------' - * |LayrClr|Hz+|MS+| | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| - * |------------------------------------------------------------------------. - * | | | | | | | | |Sat-|Hue-|Sat+| - * `------------------------------------------------------' `--------------' - */ - [SETTINGS] = LAYOUT_tkl_iso( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, - F(0), F(3), F(4), F(5), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, - MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, - AU_TOG, F(3), F(5), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, - F(7), XXXXXXX, F(4), F(6), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, F(0), RGB_HUI, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(0), RGB_SAD, RGB_HUD, RGB_SAI - ), + /* Keymap SETTINGS: Settings Layer + * ,-----------------------------------------------------------. ,-------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * |FN3 |BL0|BL1|BL2|BL3| | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| + * |-----------------------------------------------------------| |-------------| + * |Debug| | | | | | | | | | | | | RST | |RGB Mode|Val-| + * |--------------------------------------------------------. | `-------------' + * |LayrClr|Hz+|MS+| | | | | | | | | | | | + * |-----------------------------------------------------------| ,----. + * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| + * |------------------------------------------------------------------------. + * | | | | | | | | |Sat-|Hue-|Sat+| + * `------------------------------------------------------' `--------------' + */ + [SETTINGS] = LAYOUT_tkl_iso( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, + MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, + AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI + ) }; -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers - [3] = ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN3 - Increase Freq of audio click - [4] = ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN4 - Decrease Freq of audio click - [5] = ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN5 - Increase length of audio click - [6] = ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN6 - Decrease length of audio click - [7] = ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN7 - Toggle audio click - }; - void matrix_init_user(void) { // This keymap only has a single base layer, so reset the default if needed - if(eeconfig_read_default_layer() > 1){ + if (eeconfig_read_default_layer() > 1) { eeconfig_update_default_layer(1); default_layer_set(1); } diff --git a/keyboards/lfkeyboards/lfk87/lfk87.c b/keyboards/lfkeyboards/lfk87/lfk87.c index 10fc14a8aa5d..17eeeeffe805 100644 --- a/keyboards/lfkeyboards/lfk87/lfk87.c +++ b/keyboards/lfkeyboards/lfk87/lfk87.c @@ -116,61 +116,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) return process_record_user(keycode, record); } -void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) -{ -#ifdef AUDIO_ENABLE - int8_t sign = 1; -#endif - if(id == LFK_ESC_TILDE){ - // Send ~ on shift-esc - void (*method)(uint8_t) = (event->event.pressed) ? &add_key : &del_key; - uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)); - method(shifted ? KC_GRAVE : KC_ESCAPE); - send_keyboard_report(); - }else if(event->event.pressed){ - switch(id){ - case LFK_SET_DEFAULT_LAYER: - // set/save the current base layer to eeprom, falls through to LFK_CLEAR - eeconfig_update_default_layer(1UL << opt); - default_layer_set(1UL << opt); - case LFK_CLEAR: - // Go back to default layer - layer_clear(); - break; -#ifdef ISSI_ENABLE - case LFK_LED_TEST: - led_test(); - break; -#endif -#ifdef AUDIO_ENABLE - case LFK_CLICK_FREQ_LOWER: - sign = -1; // continue to next statement - case LFK_CLICK_FREQ_HIGHER: - click_hz += sign * 100; - click(click_hz, click_time); - break; - case LFK_CLICK_TOGGLE: - if(click_toggle){ - click_toggle = 0; - click(4000, 100); - click(1000, 100); - }else{ - click_toggle = 1; - click(1000, 100); - click(4000, 100); - } - break; - case LFK_CLICK_TIME_SHORTER: - sign = -1; // continue to next statement - case LFK_CLICK_TIME_LONGER: - click_time += sign; - click(click_hz, click_time); - break; -#endif - } - } -} - void reset_keyboard_kb(){ #ifdef WATCHDOG_ENABLE MCUSR = 0; diff --git a/keyboards/lfkeyboards/lfk87/lfk87.h b/keyboards/lfkeyboards/lfk87/lfk87.h index 1b1368659ba8..5bd353a89ea8 100644 --- a/keyboards/lfkeyboards/lfk87/lfk87.h +++ b/keyboards/lfkeyboards/lfk87/lfk87.h @@ -19,20 +19,6 @@ typedef struct Layer_Info { extern const uint32_t layer_count; extern const Layer_Info layer_info[]; -enum action_functions { - LFK_CLEAR = 0, // Resets all layers - LFK_ESC_TILDE, // esc+lshift = ~ - LFK_SET_DEFAULT_LAYER, // changes and saves current base layer to eeprom - LFK_CLICK_TOGGLE, // Adjusts click duration - LFK_CLICK_FREQ_HIGHER, // Adjusts click frequency - LFK_CLICK_FREQ_LOWER, // Adjusts click frequency - LFK_CLICK_TIME_LONGER, // Adjusts click duration - LFK_CLICK_TIME_SHORTER, // Adjusts click duration - LFK_DEBUG_SETTINGS, // prints LED and click settings to HID - LFK_LED_TEST, // cycles through switch and RGB LEDs - LFK_PLAY_ONEUP -}; - #define CLICK_HZ 500 #define CLICK_MS 2 #define CLICK_ENABLED 0 diff --git a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c index 2a16bf4ccf65..f5faf7215aea 100644 --- a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c +++ b/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c @@ -22,84 +22,82 @@ const Layer_Info layer_info[] = { {0xFFFFFFFF, 0xFFFFFFFF, {0xFF, 0xFF, 0xFF}}, // unknown layer - REQUIRED - white }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap VANILLA: (Base Layer) Default Layer - * ,-----------------------------------------------------------------------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [VANILLA] = LAYOUT( - 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ - 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_P7, KC_P8, KC_P9, KC_PPLS, \ - TD(TD_ESC_FUNC), 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_P4, KC_P5, KC_P6, LALT(KC_F5), \ - 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_P1, KC_P2, KC_P3, KC_PENT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT \ - ), + /* Keymap VANILLA: (Base Layer) Default Layer + * ,-----------------------------------------------------------------------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| + * |-----------------------------------------------------------| |--------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| + * |-----------------------------------------------------------| |--------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| + * |-----------------------------------------------------------| `--------------' + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| ,----. + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |-----------------------------------------------------------| ,-------------. + * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig | + * `-----------------------------------------------------------' `-------------' + */ + [VANILLA] = LAYOUT( + 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + TD(TD_ESC_FUNC), 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_P4, KC_P5, KC_P6, LALT(KC_F5), + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), - /* Keymap FUNCTION: Function Layer - * ,-------------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | - * |-------------------------------------------------------------| |--------------| - * |Tab | |PgU| | | | | | Up| | | | | | | | | | - * |-------------------------------------------------------------| `--------------' - * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | - * |-------------------------------------------------------------| ,----. - * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | - * |-------------------------------------------------------------' ,-------------. - * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | - * `------------------------------------------------------' `-------------' - */ - [FUNC] = LAYOUT( - 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, KC_DEL, _______, _______, _______, _______, \ - XXXXXXX, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, \ - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, \ - _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, _______, _______, _______, _______, \ - _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______ \ - ), + /* Keymap FUNCTION: Function Layer + * ,-------------------------------------------------------------. ,--------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | + * |-------------------------------------------------------------| |--------------| + * |Tab | |PgU| | | | | | Up| | | | | | | | | | + * |-------------------------------------------------------------| `--------------' + * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | + * |-------------------------------------------------------------| ,----. + * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | + * |-------------------------------------------------------------' ,-------------. + * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | + * `------------------------------------------------------' `-------------' + */ + [FUNC] = LAYOUT( + 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, KC_DEL, _______, _______, _______, _______, + XXXXXXX, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, + _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, _______, _______, _______, _______, + _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______ + ), - /* Keymap SETTINGS: Settings Layer - * ,-----------------------------------------------------------. ,-------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| - * |-----------------------------------------------------------| |-------------| - * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-| - * |-----------------------------------------------------------| `-------------' - * |AudTgl |Hz+|MS+| | | | | | | | | | RST | - * |-----------------------------------------------------------| ,----. - * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| - * |--------------------------------------------------------------------------. - * | | | | | | | | | |Sat-|Hue-|Sat+| - * `----------------------------------------------------------------------------' - */ - [SETTINGS] = LAYOUT( - F(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, \ - MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(2), RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX, \ - AU_TOG, KC_F1, F(3), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - F(5), F(2), F(4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - XXXXXXX, XXXXXXX, XXXXXXX, F(12), XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI, XXXXXXX, XXXXXXX \ - ), + /* Keymap SETTINGS: Settings Layer + * ,-----------------------------------------------------------. ,-------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| + * |-----------------------------------------------------------| |-------------| + * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-| + * |-----------------------------------------------------------| `-------------' + * |AudTgl |Hz+|MS+| | | | | | | | | | RST | + * |-----------------------------------------------------------| ,----. + * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| + * |--------------------------------------------------------------------------. + * | | | | | | | | | |Sat-|Hue-|Sat+| + * `----------------------------------------------------------------------------' + */ + [SETTINGS] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, + MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX, + AU_TOG, KC_F1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI, XXXXXXX, XXXXXXX + ) }; void tap_esc_func_finished(qk_tap_dance_state_t *state, void *user_data) { - if(state->pressed){ + if (state->pressed) { layer_on(FUNC); - }else{ - register_code(KC_ESC); - unregister_code(KC_ESC); + } else { + tap_code(KC_ESC); } } @@ -108,21 +106,12 @@ void tap_esc_func_reset(qk_tap_dance_state_t *state, void *user_data) { } qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset), + [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset), }; -const uint16_t PROGMEM fn_actions[] = { - ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers - ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click - ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click - ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click - }; - void matrix_init_user(void) { // This keymap only has a single base layer, so reset the default if needed - if(eeconfig_read_default_layer() > 1){ + if (eeconfig_read_default_layer() > 1) { eeconfig_update_default_layer(1); default_layer_set(1); } diff --git a/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c b/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c index 1d29cb1c5625..13cb6c22f5da 100644 --- a/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c +++ b/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c @@ -1,8 +1,5 @@ #include QMK_KEYBOARD_H -//Define a shorter 'transparent' key code to make the keymaps more compact -#define KC_TR KC_TRNS - enum keymap_layout { VANILLA = 0, // matches MF68 layout FUNC, // 0x08 @@ -19,90 +16,80 @@ const Layer_Info layer_info[] = { {0xFFFFFFFF, 0xFFFFFFFF, {0xFF, 0xFF, 0xFF}}, // unknown layer - REQUIRED - white }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap VANILLA: (Base Layer) Default Layer - * ,-----------------------------------------------------------------------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [VANILLA] = LAYOUT( - 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_NLCK, KC_PSLS, KC_PAST, KC_PEQL, - 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_P7, KC_P8, KC_P9, KC_PMNS, - 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_P4, KC_P5, KC_P6, KC_PPLS, - 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_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ), + /* Keymap VANILLA: (Base Layer) Default Layer + * ,-----------------------------------------------------------------------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| + * |-----------------------------------------------------------| |--------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| + * |-----------------------------------------------------------| |--------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| + * |-----------------------------------------------------------| `--------------' + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| ,----. + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |-----------------------------------------------------------| ,-------------. + * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig | + * `-----------------------------------------------------------' `-------------' + */ + [VANILLA] = LAYOUT( + 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_NLCK, KC_PSLS, KC_PAST, KC_PEQL, + 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_P7, KC_P8, KC_P9, KC_PMNS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), - /* Keymap FUNCTION: Function Layer - * ,-------------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | - * |-------------------------------------------------------------| |--------------| - * |Tab | |PgU| | | | | | Up| | | | | | | | | | - * |-------------------------------------------------------------| `--------------' - * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | - * |-------------------------------------------------------------| ,----. - * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | - * |-------------------------------------------------------------' ,-------------. - * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | - * `------------------------------------------------------' `-------------' - */ - [FUNC] = LAYOUT( - 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, KC_DEL, _______, _______, _______, _______, - XXXXXXX, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, _______, _______, _______, _______, - _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______ - ), + /* Keymap FUNCTION: Function Layer + * ,-------------------------------------------------------------. ,--------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | | + * |-------------------------------------------------------------| |--------------| + * |Tab | |PgU| | | | | | Up| | | | | | | | | | + * |-------------------------------------------------------------| `--------------' + * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | | + * |-------------------------------------------------------------| ,----. + * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up | + * |-------------------------------------------------------------' ,-------------. + * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig | + * `------------------------------------------------------' `-------------' + */ + [FUNC] = LAYOUT( + 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, KC_DEL, _______, _______, _______, _______, + XXXXXXX, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, _______, _______, _______, _______, + _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______ + ), - /* Keymap SETTINGS: Settings Layer - * ,-----------------------------------------------------------. ,-------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| - * |-------------------------------------------------------------| |--------------| - * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| - * |-----------------------------------------------------------| |-------------| - * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-| - * |-----------------------------------------------------------| `-------------' - * |AudTgl |Hz+|MS+| | | | | | | | | | RST | - * |-----------------------------------------------------------| ,----. - * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| - * |--------------------------------------------------------------------------. - * | | | | | | | | | |Sat-|Hue-|Sat+| - * `----------------------------------------------------------------------------' - */ - [SETTINGS] = LAYOUT( - F(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, - MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(2), RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX, - AU_TOG, F(1), F(3), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - F(5), F(2), F(4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, F(12), XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI, XXXXXXX, XXXXXXX - ), + /* Keymap SETTINGS: Settings Layer + * ,-----------------------------------------------------------. ,-------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus| + * |-------------------------------------------------------------| |--------------| + * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+| + * |-----------------------------------------------------------| |-------------| + * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-| + * |-----------------------------------------------------------| `-------------' + * |AudTgl |Hz+|MS+| | | | | | | | | | RST | + * |-----------------------------------------------------------| ,----. + * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+| + * |--------------------------------------------------------------------------. + * | | | | | | | | | |Sat-|Hue-|Sat+| + * `----------------------------------------------------------------------------' + */ + [SETTINGS] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, + MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX, + AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI, XXXXXXX, XXXXXXX + ) }; -const uint16_t PROGMEM fn_actions[] = { - ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers - ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click - ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click - ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click - ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click - }; - void matrix_init_user(void) { // This keymap only has a single base layer, so reset the default if needed - if(eeconfig_read_default_layer() > 1){ + if (eeconfig_read_default_layer() > 1) { eeconfig_update_default_layer(1); default_layer_set(1); } diff --git a/keyboards/lfkeyboards/mini1800/mini1800.c b/keyboards/lfkeyboards/mini1800/mini1800.c index 4c897ac69343..8819d3465aa9 100644 --- a/keyboards/lfkeyboards/mini1800/mini1800.c +++ b/keyboards/lfkeyboards/mini1800/mini1800.c @@ -122,64 +122,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) return process_record_user(keycode, record); } -void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) -{ -#ifdef AUDIO_ENABLE - int8_t sign = 1; -#endif - if(id == LFK_ESC_TILDE){ - // Send ~ on shift-esc - void (*method)(uint8_t) = (event->event.pressed) ? &add_key : &del_key; - uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)); - method(shifted ? KC_GRAVE : KC_ESCAPE); - send_keyboard_report(); - }else if(event->event.pressed){ - switch(id){ - case LFK_SET_DEFAULT_LAYER: - // set/save the current base layer to eeprom, falls through to LFK_CLEAR - eeconfig_update_default_layer(1UL << opt); - default_layer_set(1UL << opt); - case LFK_CLEAR: - // Go back to default layer - layer_clear(); - break; -#ifdef ISSI_ENABLE - case LFK_LED_TEST: - led_test(); - break; -#endif -#ifdef AUDIO_ENABLE - case LFK_CLICK_FREQ_LOWER: - sign = -1; // continue to next statement - case LFK_CLICK_FREQ_HIGHER: - click_hz += sign * 100; - click(click_hz, click_time); - break; - case LFK_CLICK_TOGGLE: - if(click_toggle){ - click_toggle = 0; - click(4000, 100); - click(1000, 100); - }else{ - click_toggle = 1; - click(1000, 100); - click(4000, 100); - } - break; - case LFK_CLICK_TIME_SHORTER: - sign = -1; // continue to next statement - case LFK_CLICK_TIME_LONGER: - click_time += sign; - click(click_hz, click_time); - break; -#endif - case LFK_PLAY_ONEUP: - PLAY_SONG(my_song); - break; - } - } -} - void reset_keyboard_kb(){ #ifdef WATCHDOG_ENABLE MCUSR = 0; diff --git a/keyboards/lfkeyboards/mini1800/mini1800.h b/keyboards/lfkeyboards/mini1800/mini1800.h index 3e460c8a11d3..3586c75221ba 100644 --- a/keyboards/lfkeyboards/mini1800/mini1800.h +++ b/keyboards/lfkeyboards/mini1800/mini1800.h @@ -19,20 +19,6 @@ typedef struct Layer_Info { extern const uint32_t layer_count; extern const Layer_Info layer_info[]; -enum action_functions { - LFK_CLEAR = 0, // Resets all layers - LFK_ESC_TILDE, // esc+lshift = ~ - LFK_SET_DEFAULT_LAYER, // changes and saves current base layer to eeprom - LFK_CLICK_TOGGLE, // Adjusts click duration - LFK_CLICK_FREQ_HIGHER, // Adjusts click frequency - LFK_CLICK_FREQ_LOWER, // Adjusts click frequency - LFK_CLICK_TIME_LONGER, // Adjusts click duration - LFK_CLICK_TIME_SHORTER, // Adjusts click duration - LFK_DEBUG_SETTINGS, // prints LED and click settings to HID - LFK_LED_TEST, // cycles through switch and RGB LEDs - LFK_PLAY_ONEUP -}; - #define CLICK_HZ 500 #define CLICK_MS 2 #define CLICK_ENABLED 0 diff --git a/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c b/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c index 1470f95022f7..0e6b2820d0b3 100644 --- a/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c +++ b/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c @@ -21,55 +21,45 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap VANILLA: (Base Layer) Default Layer - * ,------------------------------------------------------------.----. - * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| - * |------------------------------------------------------------|----| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| Del| - * |------------------------------------------------------------|----| - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp| - * |------------------------------------------------------------|----| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgDn| - * |-----------------------------------------------------------------| - * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | - * `-----------------------------------------------------------------' - */ - [_BASE] = LAYOUT_65_ansi( - 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_INS, - 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_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, - 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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT - ), + /* Keymap VANILLA: (Base Layer) Default Layer + * ,------------------------------------------------------------.----. + * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| + * |------------------------------------------------------------|----| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| Del| + * |------------------------------------------------------------|----| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp| + * |------------------------------------------------------------|----| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgDn| + * |-----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | + * `-----------------------------------------------------------------' + */ + [_BASE] = LAYOUT_65_ansi( + 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_INS, + 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_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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT + ), - /* Keymap VANILLA: Function Layer - * ,------------------------------------------------------------.----. - * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| - * |------------------------------------------------------------|----| - * |MuMode | | | |E| R| T| Y| U| I| O| P| [| ]| \| Del| - * |------------------------------------------------------------|----| - * |AudTgl|Hz+|MS+| | D| F| G| H| J| K| L| ;| '|Return |PgUp| - * |------------------------------------------------------------|----| - * |ClickTgl|Hz-|MS-|| C| V| B| N|MuTgl| ,| .| /|Shift |Up |PgDn| - * |-----------------------------------------------------------------| - * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | - * `-----------------------------------------------------------------' - */ - [_FN] = LAYOUT_65_ansi( - 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, KC_F13, KC_F14, - MU_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - AU_TOG, F(1), F(3), _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, - F(5), F(2), F(4), _______, _______, _______, _______, MU_TOG, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI - ) + /* Keymap VANILLA: Function Layer + * ,------------------------------------------------------------.----. + * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| + * |------------------------------------------------------------|----| + * |MuMode | | | |E| R| T| Y| U| I| O| P| [| ]| \| Del| + * |------------------------------------------------------------|----| + * |AudTgl|Hz+|MS+| | D| F| G| H| J| K| L| ;| '|Return |PgUp| + * |------------------------------------------------------------|----| + * |ClickTgl|Hz-|MS-|| C| V| B| N|MuTgl| ,| .| /|Shift |Up |PgDn| + * |-----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | + * `-----------------------------------------------------------------' + */ + [_FN] = LAYOUT_65_ansi( + 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, KC_F13, KC_F14, + MU_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, + AU_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, MU_TOG, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI + ) }; - -#ifndef NO_ACTION_FUNCTION -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click - [2] = ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click - [3] = ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click - [4] = ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click - [5] = ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click -}; -#endif diff --git a/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c b/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c index 3a1701ce8629..881ff99c9d8b 100644 --- a/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c +++ b/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c @@ -21,55 +21,45 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap VANILLA: (Base Layer) Default Layer - * ,------------------------------------------------------------.----. - * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| - * |------------------------------------------------------------|----| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Ret | Del| - * |--------------------------------------------------------. |----| - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | |PgUp| - * |------------------------------------------------------------|----| - * |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift | Up |PgDn| - * |-----------------------------------------------------------------| - * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | - * `-----------------------------------------------------------------' - */ - [_BASE] = LAYOUT_65_iso( - 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_INS, - 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_DEL, - 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_NUHS, KC_ENT, KC_PGUP, - 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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT - ), + /* Keymap VANILLA: (Base Layer) Default Layer + * ,------------------------------------------------------------.----. + * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| + * |------------------------------------------------------------|----| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Ret | Del| + * |--------------------------------------------------------. |----| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | |PgUp| + * |------------------------------------------------------------|----| + * |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift | Up |PgDn| + * |-----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | + * `-----------------------------------------------------------------' + */ + [_BASE] = LAYOUT_65_iso( + 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_INS, + 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_DEL, + 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_NUHS, KC_ENT, KC_PGUP, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT + ), - /* Keymap VANILLA: Function Layer - * ,------------------------------------------------------------.----. - * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| - * |------------------------------------------------------------|----| - * |MuMode | | | |E| R| T| Y| U| I| O| P| [| ]| RESET| Del| - * |--------------------------------------------------------. |----| - * |AudTgl|Hz+|MS+| | D| F| G| H| J| K| L| ;| '| | |PgUp| - * |------------------------------------------------------------|----| - * |CTgl| |Hz-|MS-|| C| V| B| N|MuTgl| ,| .| /|Shift |Up |PgDn| - * |-----------------------------------------------------------------| - * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | - * `-----------------------------------------------------------------' - */ - [_FN] = LAYOUT_65_iso( - 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, KC_F13, KC_F14, - MU_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - AU_TOG, F(1), F(3), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, - F(5), _______, F(2), F(4), _______, _______, _______, _______, MU_TOG, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI - ), + /* Keymap VANILLA: Function Layer + * ,------------------------------------------------------------.----. + * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| + * |------------------------------------------------------------|----| + * |MuMode | | | |E| R| T| Y| U| I| O| P| [| ]| RESET| Del| + * |--------------------------------------------------------. |----| + * |AudTgl|Hz+|MS+| | D| F| G| H| J| K| L| ;| '| | |PgUp| + * |------------------------------------------------------------|----| + * |CTgl| |Hz-|MS-|| C| V| B| N|MuTgl| ,| .| /|Shift |Up |PgDn| + * |-----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt |Ctrl|Func|Lft| Dn |Rig | + * `-----------------------------------------------------------------' + */ + [_FN] = LAYOUT_65_iso( + 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, KC_F13, KC_F14, + MU_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, + AU_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, MU_TOG, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI + ) }; - -#ifndef NO_ACTION_FUNCTION -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click - [2] = ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click - [3] = ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click - [4] = ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click - [5] = ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click -}; -#endif diff --git a/keyboards/lfkeyboards/smk65/revb/revb.c b/keyboards/lfkeyboards/smk65/revb/revb.c index 01c339f06bbb..9b34eff1c335 100644 --- a/keyboards/lfkeyboards/smk65/revb/revb.c +++ b/keyboards/lfkeyboards/smk65/revb/revb.c @@ -81,62 +81,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) return process_record_user(keycode, record); } -void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) -{ -#ifdef AUDIO_ENABLE - int8_t sign = 1; -#endif - if(id == LFK_ESC_TILDE){ - // Send ~ on shift-esc - void (*method)(uint8_t) = (event->event.pressed) ? &add_key : &del_key; - uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)); - method(shifted ? KC_GRAVE : KC_ESCAPE); - send_keyboard_report(); - }else if(event->event.pressed){ - switch(id){ - case LFK_SET_DEFAULT_LAYER: - // set/save the current base layer to eeprom, falls through to LFK_CLEAR - eeconfig_update_default_layer(1UL << opt); - default_layer_set(1UL << opt); - case LFK_CLEAR: - // Go back to default layer - layer_clear(); - break; -#ifdef AUDIO_ENABLE - case LFK_CLICK_FREQ_LOWER: - sign = -1; // continue to next statement - case LFK_CLICK_FREQ_HIGHER: - click_hz += sign * 100; - click(click_hz, click_time); - break; - case LFK_CLICK_TOGGLE: - if(click_toggle){ - click_toggle = 0; - click(4000, 100); - click(1000, 100); - }else{ - click_toggle = 1; - click(1000, 100); - click(4000, 100); - } - break; - case LFK_CLICK_TIME_SHORTER: - sign = -1; // continue to next statement - case LFK_CLICK_TIME_LONGER: - click_time += sign; - click(click_hz, click_time); - break; -#endif - case LFK_DEBUG_SETTINGS: - dprintf("Click:\n"); - dprintf(" toggle: %d\n", click_toggle); - dprintf(" freq(hz): %d\n", click_hz); - dprintf(" duration(ms): %d\n", click_time); - break; - } - } -} - void reset_keyboard_kb(){ #ifdef WATCHDOG_ENABLE MCUSR = 0; diff --git a/keyboards/lfkeyboards/smk65/revb/revb.h b/keyboards/lfkeyboards/smk65/revb/revb.h index dbb25b869a45..28fed40aa2b0 100644 --- a/keyboards/lfkeyboards/smk65/revb/revb.h +++ b/keyboards/lfkeyboards/smk65/revb/revb.h @@ -33,19 +33,6 @@ typedef struct Layer_Info { extern const uint32_t layer_count; extern const Layer_Info layer_info[]; -enum action_functions { - LFK_CLEAR = 0, // Resets all layers - LFK_ESC_TILDE, // esc+lshift = ~ - LFK_SET_DEFAULT_LAYER, // changes and saves current base layer to eeprom - LFK_CLICK_TOGGLE, // Adjusts click duration - LFK_CLICK_FREQ_HIGHER, // Adjusts click frequency - LFK_CLICK_FREQ_LOWER, // Adjusts click frequency - LFK_CLICK_TIME_LONGER, // Adjusts click duration - LFK_CLICK_TIME_SHORTER, // Adjusts click duration - LFK_DEBUG_SETTINGS, // prints LED and click settings to HID - LFK_LED_TEST // cycles through switch and RGB LEDs -}; - #define CLICK_HZ 500 #define CLICK_MS 2 #define CLICK_ENABLED 0 diff --git a/keyboards/rocketboard_16/keycode_lookup.c b/keyboards/rocketboard_16/keycode_lookup.c index 9e1c5f92afea..d967a03c316d 100644 --- a/keyboards/rocketboard_16/keycode_lookup.c +++ b/keyboards/rocketboard_16/keycode_lookup.c @@ -55,7 +55,7 @@ char* translate_keycode_to_string(uint16_t code) return (return_p); } -lookup_table_t lookup_table[366] = +lookup_table_t lookup_table[334] = { {"KC_NO", KC_NO}, {"KC_TRNS", KC_TRNS}, @@ -243,38 +243,6 @@ lookup_table_t lookup_table[366] = {"KC_MRWD", KC_MRWD}, {"KC_BRIU", KC_BRIU}, {"KC_BRID", KC_BRID}, - {"KC_FN0", KC_FN0}, - {"KC_FN1", KC_FN1}, - {"KC_FN2", KC_FN2}, - {"KC_FN3", KC_FN3}, - {"KC_FN4", KC_FN4}, - {"KC_FN5", KC_FN5}, - {"KC_FN6", KC_FN6}, - {"KC_FN7", KC_FN7}, - {"KC_FN8", KC_FN8}, - {"KC_FN9", KC_FN9}, - {"KC_FN10", KC_FN10}, - {"KC_FN11", KC_FN11}, - {"KC_FN12", KC_FN12}, - {"KC_FN13", KC_FN13}, - {"KC_FN14", KC_FN14}, - {"KC_FN15", KC_FN15}, - {"KC_FN16", KC_FN16}, - {"KC_FN17", KC_FN17}, - {"KC_FN18", KC_FN18}, - {"KC_FN19", KC_FN19}, - {"KC_FN20", KC_FN20}, - {"KC_FN21", KC_FN21}, - {"KC_FN22", KC_FN22}, - {"KC_FN23", KC_FN23}, - {"KC_FN24", KC_FN24}, - {"KC_FN25", KC_FN25}, - {"KC_FN26", KC_FN26}, - {"KC_FN27", KC_FN27}, - {"KC_FN28", KC_FN28}, - {"KC_FN29", KC_FN29}, - {"KC_FN30", KC_FN30}, - {"KC_FN31", KC_FN31}, {"KC_LCTL", KC_LCTL}, {"KC_LSFT", KC_LSFT}, {"KC_LALT", KC_LALT}, From 448a90f6b0b68ef074b1a19a081eceaafcc7425e Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 23 Jan 2022 06:56:44 +1100 Subject: [PATCH 0106/1832] `rocketboard_16`: Fix mismatched LUT sizes (#15997) --- keyboards/rocketboard_16/keycode_lookup.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/rocketboard_16/keycode_lookup.h b/keyboards/rocketboard_16/keycode_lookup.h index f51dcfd52a13..218b709b47d5 100644 --- a/keyboards/rocketboard_16/keycode_lookup.h +++ b/keyboards/rocketboard_16/keycode_lookup.h @@ -26,4 +26,4 @@ typedef struct char* translate_keycode_to_string(uint16_t code); -extern lookup_table_t lookup_table[366]; +extern lookup_table_t lookup_table[334]; From 6e83b449409f7fe479210a9fab808e8bcae64977 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 22 Jan 2022 21:17:02 +0000 Subject: [PATCH 0107/1832] Align location of some host led logic (#15954) * Align location of host led logic * Move more * align ifdefs * Fix up includes * Move callback defs * Convert comment to build message --- keyboards/converter/usb_usb/custom_matrix.cpp | 2 +- keyboards/sirius/unigo66/custom_matrix.cpp | 2 +- quantum/keyboard.c | 26 ----------- quantum/keyboard.h | 2 - quantum/led.c | 44 ++++++++++++++++++- quantum/led.h | 12 +++++ quantum/quantum.c | 11 +---- quantum/quantum.h | 5 --- 8 files changed, 58 insertions(+), 46 deletions(-) diff --git a/keyboards/converter/usb_usb/custom_matrix.cpp b/keyboards/converter/usb_usb/custom_matrix.cpp index 91986f6eb9a8..265fb2c68d92 100644 --- a/keyboards/converter/usb_usb/custom_matrix.cpp +++ b/keyboards/converter/usb_usb/custom_matrix.cpp @@ -185,7 +185,7 @@ extern "C" // restore LED state when keyboard comes up if (usb_state == USB_STATE_RUNNING) { dprintf("speed: %s\n", usb_host.getVbusState()==FSHOST ? "full" : "low"); - keyboard_set_leds(host_keyboard_leds()); + led_set(host_keyboard_leds()); } } matrix_scan_quantum(); diff --git a/keyboards/sirius/unigo66/custom_matrix.cpp b/keyboards/sirius/unigo66/custom_matrix.cpp index dfcf82c779cb..955ce189a82f 100644 --- a/keyboards/sirius/unigo66/custom_matrix.cpp +++ b/keyboards/sirius/unigo66/custom_matrix.cpp @@ -166,7 +166,7 @@ extern "C" // restore LED state when keyboard comes up if (usb_state == USB_STATE_RUNNING) { dprintf("speed: %s\n", usb_host.getVbusState()==FSHOST ? "full" : "low"); - keyboard_set_leds(host_keyboard_leds()); + led_set(host_keyboard_leds()); } } return 1; diff --git a/quantum/keyboard.c b/quantum/keyboard.c index fa20c675c3f4..60f5afb7a233 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -350,32 +350,6 @@ void keyboard_init(void) { keyboard_post_init_kb(); /* Always keep this last */ } -/** \brief keyboard set leds - * - * FIXME: needs doc - */ -void keyboard_set_leds(uint8_t leds) { - if (debug_keyboard) { - debug("keyboard_set_led: "); - debug_hex8(leds); - debug("\n"); - } - led_set(leds); -} - -/** \brief set host led state - * - * Only sets state if change detected - */ -void led_task(void) { - static uint8_t led_status = 0; - // update LED - if (led_status != host_keyboard_leds()) { - led_status = host_keyboard_leds(); - keyboard_set_leds(led_status); - } -} - /** \brief key_event_task * * This function is responsible for calling into other systems when they need to respond to electrical switch press events. diff --git a/quantum/keyboard.h b/quantum/keyboard.h index 08f4e84f94a5..9b0fb3cef8e0 100644 --- a/quantum/keyboard.h +++ b/quantum/keyboard.h @@ -58,8 +58,6 @@ void keyboard_setup(void); void keyboard_init(void); /* it runs repeatedly in main loop */ void keyboard_task(void); -/* it runs when host LED status is updated */ -void keyboard_set_leds(uint8_t leds); /* it runs whenever code has to behave differently on a slave */ bool is_keyboard_master(void); /* it runs whenever code has to behave differently on left vs right split */ diff --git a/quantum/led.c b/quantum/led.c index 8f0eccf55d85..7ee67b55e6d9 100644 --- a/quantum/led.c +++ b/quantum/led.c @@ -13,13 +13,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "quantum.h" +#include "led.h" +#include "host.h" +#include "debug.h" #ifdef BACKLIGHT_ENABLE # include "backlight.h" extern backlight_config_t backlight_config; #else -// Cannot use BACKLIGHT_CAPS_LOCK without backlight being enabled +# pragma message "Cannot use BACKLIGHT_CAPS_LOCK without backlight being enabled" # undef BACKLIGHT_CAPS_LOCK #endif @@ -135,3 +137,41 @@ __attribute__((weak)) void led_set(uint8_t usb_led) { led_set_kb(usb_led); led_update_kb((led_t)usb_led); } + +/** \brief Trigger behaviour on transition to suspend + */ +void led_suspend(void) { + uint8_t leds_off = 0; +#ifdef BACKLIGHT_CAPS_LOCK + if (is_backlight_enabled()) { + // Don't try to turn off Caps Lock indicator as it is backlight and backlight is already off + leds_off |= (1 << USB_LED_CAPS_LOCK); + } +#endif + led_set(leds_off); +} + +/** \brief Trigger behaviour on transition from suspend + */ +void led_wakeup(void) { led_set(host_keyboard_leds()); } + +/** \brief set host led state + * + * Only sets state if change detected + */ +void led_task(void) { + static uint8_t last_led_status = 0; + + // update LED + uint8_t led_status = host_keyboard_leds(); + if (last_led_status != led_status) { + last_led_status = led_status; + + if (debug_keyboard) { + debug("led_task: "); + debug_hex8(led_status); + debug("\n"); + } + led_set(led_status); + } +} diff --git a/quantum/led.h b/quantum/led.h index 0fe38ea035a8..934d25312cc9 100644 --- a/quantum/led.h +++ b/quantum/led.h @@ -49,6 +49,18 @@ void led_set(uint8_t usb_led); void led_init_ports(void); +void led_suspend(void); + +void led_wakeup(void); + +void led_task(void); + +/* Callbacks */ +void led_set_user(uint8_t usb_led); +void led_set_kb(uint8_t usb_led); +bool led_update_user(led_t led_state); +bool led_update_kb(led_t led_state); + #ifdef __cplusplus } #endif diff --git a/quantum/quantum.c b/quantum/quantum.c index f12b1a9526c9..b59fcc98571b 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -433,14 +433,7 @@ void suspend_power_down_quantum(void) { # endif // Turn off LED indicators - uint8_t leds_off = 0; -# if defined(BACKLIGHT_CAPS_LOCK) && defined(BACKLIGHT_ENABLE) - if (is_backlight_enabled()) { - // Don't try to turn off Caps Lock indicator as it is backlight and backlight is already off - leds_off |= (1 << USB_LED_CAPS_LOCK); - } -# endif - led_set(leds_off); + led_suspend(); // Turn off audio # ifdef AUDIO_ENABLE @@ -491,7 +484,7 @@ __attribute__((weak)) void suspend_wakeup_init_quantum(void) { #endif // Restore LED indicators - led_set(host_keyboard_leds()); + led_wakeup(); // Wake up underglow #if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE) diff --git a/quantum/quantum.h b/quantum/quantum.h index 5d3a6658871c..020e45594192 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -249,11 +249,6 @@ void register_code16(uint16_t code); void unregister_code16(uint16_t code); void tap_code16(uint16_t code); -void led_set_user(uint8_t usb_led); -void led_set_kb(uint8_t usb_led); -bool led_update_user(led_t led_state); -bool led_update_kb(led_t led_state); - const char *get_numeric_str(char *buf, size_t buf_len, uint32_t curr_num, char curr_pad); const char *get_u8_str(uint8_t curr_num, char curr_pad); const char *get_u16_str(uint16_t curr_num, char curr_pad); From eddd1c05674ce48dd5db0d7da996a4da2ecd705a Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 22 Jan 2022 23:11:42 +0000 Subject: [PATCH 0108/1832] Fix BACKLIGHT_CAPS_LOCK warning (#15999) * Fix BACKLIGHT_CAPS_LOCK warning * align defs --- quantum/led.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/quantum/led.c b/quantum/led.c index 7ee67b55e6d9..68494af3c29d 100644 --- a/quantum/led.c +++ b/quantum/led.c @@ -17,19 +17,21 @@ #include "host.h" #include "debug.h" -#ifdef BACKLIGHT_ENABLE -# include "backlight.h" +#ifdef BACKLIGHT_CAPS_LOCK +# ifdef BACKLIGHT_ENABLE +# include "backlight.h" extern backlight_config_t backlight_config; -#else -# pragma message "Cannot use BACKLIGHT_CAPS_LOCK without backlight being enabled" -# undef BACKLIGHT_CAPS_LOCK +# else +# pragma message "Cannot use BACKLIGHT_CAPS_LOCK without backlight being enabled" +# undef BACKLIGHT_CAPS_LOCK +# endif #endif #ifndef LED_PIN_ON_STATE # define LED_PIN_ON_STATE 1 #endif -#if defined(BACKLIGHT_CAPS_LOCK) +#ifdef BACKLIGHT_CAPS_LOCK /** \brief Caps Lock indicator using backlight (for keyboards without dedicated LED) */ static void handle_backlight_caps_lock(led_t led_state) { From 8101a836a410c54f14c4f61738bfedf5912e903e Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 22 Jan 2022 15:43:39 -0800 Subject: [PATCH 0109/1832] [Bug] Fix compilation issues for led indicators (#16001) --- quantum/led.c | 1 + 1 file changed, 1 insertion(+) diff --git a/quantum/led.c b/quantum/led.c index 68494af3c29d..7b3f87720862 100644 --- a/quantum/led.c +++ b/quantum/led.c @@ -16,6 +16,7 @@ #include "led.h" #include "host.h" #include "debug.h" +#include "gpio.h" #ifdef BACKLIGHT_CAPS_LOCK # ifdef BACKLIGHT_ENABLE From a8700404f7a73ba3a5da4670a04cf5f999578abd Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 23 Jan 2022 02:41:57 +0000 Subject: [PATCH 0110/1832] Relocate matrix_init_quantum content (#15953) * Relocate matrix_init_quantum content * Update include order * Fix cherry pick from 15722 --- quantum/keyboard.c | 44 +++++++++++++++++++++++++++++++++++++++++ quantum/matrix.c | 6 ------ quantum/matrix_common.c | 6 ------ quantum/quantum.c | 30 +--------------------------- 4 files changed, 45 insertions(+), 41 deletions(-) diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 60f5afb7a233..6bb28009103e 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -20,6 +20,7 @@ along with this program. If not, see . #include "keyboard.h" #include "matrix.h" #include "keymap.h" +#include "magic.h" #include "host.h" #include "led.h" #include "keycode.h" @@ -101,6 +102,12 @@ along with this program. If not, see . #ifdef SLEEP_LED_ENABLE # include "sleep_led.h" #endif +#ifdef SPLIT_KEYBOARD +# include "split_util.h" +#endif +#ifdef BLUETOOTH_ENABLE +# include "outputselect.h" +#endif static uint32_t last_input_modification_time = 0; uint32_t last_input_activity_time(void) { return last_input_modification_time; } @@ -291,6 +298,36 @@ void housekeeping_task(void) { housekeeping_task_user(); } +/** \brief Init tasks previously located in matrix_init_quantum + * + * TODO: rationalise against keyboard_init and current split role + */ +void quantum_init(void) { + magic(); + led_init_ports(); +#ifdef BACKLIGHT_ENABLE + backlight_init_ports(); +#endif +#ifdef AUDIO_ENABLE + audio_init(); +#endif +#ifdef LED_MATRIX_ENABLE + led_matrix_init(); +#endif +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_init(); +#endif +#if defined(UNICODE_COMMON_ENABLE) + unicode_input_mode_init(); +#endif +#ifdef HAPTIC_ENABLE + haptic_init(); +#endif +#if defined(BLUETOOTH_ENABLE) && defined(OUTPUT_AUTO_ENABLE) + set_output(OUTPUT_AUTO); +#endif +} + /** \brief keyboard_init * * FIXME: needs doc @@ -300,8 +337,12 @@ void keyboard_init(void) { sync_timer_init(); #ifdef VIA_ENABLE via_init(); +#endif +#ifdef SPLIT_KEYBOARD + split_pre_init(); #endif matrix_init(); + quantum_init(); #if defined(CRC_ENABLE) crc_init(); #endif @@ -342,6 +383,9 @@ void keyboard_init(void) { #ifdef VIRTSER_ENABLE virtser_init(); #endif +#ifdef SPLIT_KEYBOARD + split_post_init(); +#endif #if defined(DEBUG_MATRIX_SCAN_RATE) && defined(CONSOLE_ENABLE) debug_enable = true; diff --git a/quantum/matrix.c b/quantum/matrix.c index a58cc752fbe8..1dd9655e5748 100644 --- a/quantum/matrix.c +++ b/quantum/matrix.c @@ -252,8 +252,6 @@ __attribute__((weak)) void matrix_read_rows_on_col(matrix_row_t current_matrix[] void matrix_init(void) { #ifdef SPLIT_KEYBOARD - split_pre_init(); - // Set pinout for right half if pinout for that half is defined if (!isLeftHand) { # ifdef DIRECT_PINS_RIGHT @@ -292,10 +290,6 @@ void matrix_init(void) { debounce_init(ROWS_PER_HAND); matrix_init_quantum(); - -#ifdef SPLIT_KEYBOARD - split_post_init(); -#endif } #ifdef SPLIT_KEYBOARD diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c index 98b83ddcf6a6..d67aaf508c2c 100644 --- a/quantum/matrix_common.c +++ b/quantum/matrix_common.c @@ -139,8 +139,6 @@ __attribute__((weak)) void matrix_slave_scan_user(void) {} __attribute__((weak)) void matrix_init(void) { #ifdef SPLIT_KEYBOARD - split_pre_init(); - thisHand = isLeftHand ? 0 : (ROWS_PER_HAND); thatHand = ROWS_PER_HAND - thisHand; #endif @@ -156,10 +154,6 @@ __attribute__((weak)) void matrix_init(void) { debounce_init(ROWS_PER_HAND); matrix_init_quantum(); - -#ifdef SPLIT_KEYBOARD - split_post_init(); -#endif } __attribute__((weak)) uint8_t matrix_scan(void) { diff --git a/quantum/quantum.c b/quantum/quantum.c index b59fcc98571b..21f499165a82 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -15,7 +15,6 @@ */ #include "quantum.h" -#include "magic.h" #ifdef BLUETOOTH_ENABLE # include "outputselect.h" @@ -368,35 +367,8 @@ layer_state_t update_tri_layer_state(layer_state_t state, uint8_t layer1, uint8_ void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3) { layer_state_set(update_tri_layer_state(layer_state, layer1, layer2, layer3)); } -void matrix_init_quantum() { - magic(); - led_init_ports(); -#ifdef BACKLIGHT_ENABLE - backlight_init_ports(); -#endif -#ifdef AUDIO_ENABLE - audio_init(); -#endif -#ifdef LED_MATRIX_ENABLE - led_matrix_init(); -#endif -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_init(); -#endif -#if defined(UNICODE_COMMON_ENABLE) - unicode_input_mode_init(); -#endif -#ifdef HAPTIC_ENABLE - haptic_init(); -#endif -#if defined(BLUETOOTH_ENABLE) && defined(OUTPUT_AUTO_ENABLE) - set_output(OUTPUT_AUTO); -#endif - - matrix_init_kb(); -} - // TODO: remove legacy api +void matrix_init_quantum() { matrix_init_kb(); } void matrix_scan_quantum() { matrix_scan_kb(); } //------------------------------------------------------------------------------ From 8776b4b08891b1aea88af5bc280296e5dec41712 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 23 Jan 2022 07:10:59 -0800 Subject: [PATCH 0111/1832] [Keyboard] Fix erroneous SRC for Clueboard 66 hotswap (#16007) --- keyboards/clueboard/66_hotswap/gen1/rules.mk | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/clueboard/66_hotswap/gen1/rules.mk b/keyboards/clueboard/66_hotswap/gen1/rules.mk index c73b4c4731bc..e69de29bb2d1 100644 --- a/keyboards/clueboard/66_hotswap/gen1/rules.mk +++ b/keyboards/clueboard/66_hotswap/gen1/rules.mk @@ -1,2 +0,0 @@ -# project specific files -SRC = led.c From 77062e9a36b3167ea1ff747e5577a67969273c31 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 24 Jan 2022 08:49:36 +1100 Subject: [PATCH 0112/1832] Add L432, L442. (#16016) --- builddefs/mcu_selection.mk | 37 +++ data/schemas/keyboard.jsonschema | 2 +- docs/compatible_microcontrollers.md | 2 + .../handwired/onekey/nucleo_l432kc/config.h | 21 ++ .../handwired/onekey/nucleo_l432kc/readme.md | 5 + .../handwired/onekey/nucleo_l432kc/rules.mk | 5 + lib/python/qmk/constants.py | 2 +- .../GENERIC_STM32_L432XC/board/board.mk | 9 + .../GENERIC_STM32_L432XC/configs/config.h | 10 + .../GENERIC_STM32_L432XC/configs/mcuconf.h | 267 ++++++++++++++++++ 10 files changed, 358 insertions(+), 2 deletions(-) create mode 100644 keyboards/handwired/onekey/nucleo_l432kc/config.h create mode 100644 keyboards/handwired/onekey/nucleo_l432kc/readme.md create mode 100644 keyboards/handwired/onekey/nucleo_l432kc/rules.mk create mode 100644 platforms/chibios/boards/GENERIC_STM32_L432XC/board/board.mk create mode 100644 platforms/chibios/boards/GENERIC_STM32_L432XC/configs/config.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h diff --git a/builddefs/mcu_selection.mk b/builddefs/mcu_selection.mk index 3a5768de7309..9fdd22c3b664 100644 --- a/builddefs/mcu_selection.mk +++ b/builddefs/mcu_selection.mk @@ -502,6 +502,43 @@ ifneq ($(findstring STM32G474, $(MCU)),) STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif +ifneq (,$(filter $(MCU),STM32L432 STM32L442)) + # Cortex version + MCU = cortex-m4 + + # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7 + ARMV = 7 + + ## chip/board settings + # - the next two should match the directories in + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + MCU_FAMILY = STM32 + MCU_SERIES = STM32L4xx + + # Linker script to use + # - it should exist either in /os/common/startup/ARMCMx/compilers/GCC/ld/ + # or /ld/ + MCU_LDSCRIPT ?= STM32L432xC + + # Startup code to use + # - it should exist in /os/common/startup/ARMCMx/compilers/GCC/mk/ + MCU_STARTUP ?= stm32l4xx + + # Board: it should exist either in /os/hal/boards/, + # /boards/, or drivers/boards/ + BOARD ?= GENERIC_STM32_L432XC + + PLATFORM_NAME ?= platform_l432 + + USE_FPU ?= yes + + # UF2 settings + UF2_FAMILY ?= STM32L4 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 +endif + ifneq (,$(filter $(MCU),STM32L433 STM32L443)) # Cortex version MCU = cortex-m4 diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index f7b05d6655f7..547df94d1f3a 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -13,7 +13,7 @@ }, "processor": { "type": "string", - "enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK66FX1M0", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F405", "STM32F407", "STM32F411", "STM32F446", "STM32G431", "STM32G474", "STM32L412", "STM32L422", "STM32L433", "STM32L443", "GD32VF103", "WB32F3G71", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"] + "enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK66FX1M0", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F405", "STM32F407", "STM32F411", "STM32F446", "STM32G431", "STM32G474", "STM32L412", "STM32L422", "STM32L432", "STM32L433", "STM32L442", "STM32L443", "GD32VF103", "WB32F3G71", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"] }, "audio": { "type": "object", diff --git a/docs/compatible_microcontrollers.md b/docs/compatible_microcontrollers.md index b74d49d0e3f9..1c5e37f72408 100644 --- a/docs/compatible_microcontrollers.md +++ b/docs/compatible_microcontrollers.md @@ -43,7 +43,9 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s * [STM32G474](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x4.html) * [STM32L412](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) * [STM32L422](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) + * [STM32L432](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) * [STM32L433](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html) + * [STM32L442](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) * [STM32L443](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html) ### WestBerryTech (WB32) diff --git a/keyboards/handwired/onekey/nucleo_l432kc/config.h b/keyboards/handwired/onekey/nucleo_l432kc/config.h new file mode 100644 index 000000000000..7aa74f668227 --- /dev/null +++ b/keyboards/handwired/onekey/nucleo_l432kc/config.h @@ -0,0 +1,21 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include "config_common.h" + +#define PRODUCT Onekey L432KC + +#define MATRIX_COL_PINS { A2 } +#define MATRIX_ROW_PINS { A1 } +#define UNUSED_PINS + +#define BACKLIGHT_PIN B8 +#define BACKLIGHT_PWM_DRIVER PWMD4 +#define BACKLIGHT_PWM_CHANNEL 3 +#define BACKLIGHT_PAL_MODE 2 + +#define RGB_DI_PIN A0 +#define RGB_CI_PIN B13 + +#define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/nucleo_l432kc/readme.md b/keyboards/handwired/onekey/nucleo_l432kc/readme.md new file mode 100644 index 000000000000..c7d13cb97385 --- /dev/null +++ b/keyboards/handwired/onekey/nucleo_l432kc/readme.md @@ -0,0 +1,5 @@ +# STM32 Nucleo-L432 onekey + +To trigger keypress, short together pins *A1* and *A2*. + +You'll also need to connect `VIN`, `GND`, USB `D+` to `PA12`/`D2`, and USB `D-` to `PA11`/`D10`. diff --git a/keyboards/handwired/onekey/nucleo_l432kc/rules.mk b/keyboards/handwired/onekey/nucleo_l432kc/rules.mk new file mode 100644 index 000000000000..64dae7746edf --- /dev/null +++ b/keyboards/handwired/onekey/nucleo_l432kc/rules.mk @@ -0,0 +1,5 @@ +# MCU name +MCU = STM32L432 + +# Bootloader selection +BOOTLOADER = stm32-dfu diff --git a/lib/python/qmk/constants.py b/lib/python/qmk/constants.py index 433b110523fa..00e453189f16 100644 --- a/lib/python/qmk/constants.py +++ b/lib/python/qmk/constants.py @@ -13,7 +13,7 @@ MAX_KEYBOARD_SUBFOLDERS = 5 # Supported processor types -CHIBIOS_PROCESSORS = 'cortex-m0', 'cortex-m0plus', 'cortex-m3', 'cortex-m4', 'MKL26Z64', 'MK20DX128', 'MK20DX256', 'MK66FX1M0', 'STM32F042', 'STM32F072', 'STM32F103', 'STM32F303', 'STM32F401', 'STM32F405', 'STM32F407', 'STM32F411', 'STM32F446', 'STM32G431', 'STM32G474', 'STM32L412', 'STM32L422', 'STM32L433', 'STM32L443', 'GD32VF103', 'WB32F3G71' +CHIBIOS_PROCESSORS = 'cortex-m0', 'cortex-m0plus', 'cortex-m3', 'cortex-m4', 'MKL26Z64', 'MK20DX128', 'MK20DX256', 'MK66FX1M0', 'STM32F042', 'STM32F072', 'STM32F103', 'STM32F303', 'STM32F401', 'STM32F405', 'STM32F407', 'STM32F411', 'STM32F446', 'STM32G431', 'STM32G474', 'STM32L412', 'STM32L422', 'STM32L432', 'STM32L433', 'STM32L442', 'STM32L443', 'GD32VF103', 'WB32F3G71' LUFA_PROCESSORS = 'at90usb162', 'atmega16u2', 'atmega32u2', 'atmega16u4', 'atmega32u4', 'at90usb646', 'at90usb647', 'at90usb1286', 'at90usb1287', None VUSB_PROCESSORS = 'atmega32a', 'atmega328p', 'atmega328', 'attiny85' diff --git a/platforms/chibios/boards/GENERIC_STM32_L432XC/board/board.mk b/platforms/chibios/boards/GENERIC_STM32_L432XC/board/board.mk new file mode 100644 index 000000000000..1250385eb8e2 --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_L432XC/board/board.mk @@ -0,0 +1,9 @@ +# List of all the board related files. +BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO32_L432KC/board.c + +# Required include directories +BOARDINC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO32_L432KC + +# Shared variables +ALLCSRC += $(BOARDSRC) +ALLINC += $(BOARDINC) diff --git a/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/config.h new file mode 100644 index 000000000000..b1838b30a8aa --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/config.h @@ -0,0 +1,10 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +// Fixup equivalent usages within QMK as the base board definitions only go up to high +#define PAL_STM32_OSPEED_HIGHEST PAL_STM32_OSPEED_HIGH + +#ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP +# define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE +#endif diff --git a/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h new file mode 100644 index 000000000000..707134d49ef4 --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h @@ -0,0 +1,267 @@ +/* + ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +/* + * STM32L4xx drivers configuration. + * The following settings override the default settings present in + * the various device driver implementation headers. + * Note that the settings for each driver only have effect if the whole + * driver is enabled in halconf.h. + * + * IRQ priorities: + * 15...0 Lowest...Highest. + * + * DMA priorities: + * 0...3 Lowest...Highest. + */ + +#ifndef MCUCONF_H +#define MCUCONF_H + +#define STM32L4xx_MCUCONF +#define STM32L432_MCUCONF +#define STM32L433_MCUCONF + +/* + * HAL driver system settings. + */ +#define STM32_NO_INIT FALSE +#define STM32_VOS STM32_VOS_RANGE1 +#define STM32_PVD_ENABLE FALSE +#define STM32_PLS STM32_PLS_LEV0 +#define STM32_HSI16_ENABLED TRUE +#define STM32_HSI48_ENABLED TRUE +#define STM32_LSI_ENABLED TRUE +#define STM32_HSE_ENABLED FALSE +#define STM32_LSE_ENABLED FALSE +#define STM32_MSIPLL_ENABLED FALSE +#define STM32_MSIRANGE STM32_MSIRANGE_4M +#define STM32_MSISRANGE STM32_MSISRANGE_4M +#define STM32_SW STM32_SW_PLL +#define STM32_PLLSRC STM32_PLLSRC_HSI16 +#define STM32_PLLM_VALUE 1 +#define STM32_PLLN_VALUE 10 +#define STM32_PLLPDIV_VALUE 0 +#define STM32_PLLP_VALUE 7 +#define STM32_PLLQ_VALUE 2 +#define STM32_PLLR_VALUE 2 +#define STM32_HPRE STM32_HPRE_DIV1 +#define STM32_PPRE1 STM32_PPRE1_DIV1 +#define STM32_PPRE2 STM32_PPRE2_DIV1 +#define STM32_STOPWUCK STM32_STOPWUCK_MSI +#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK +#define STM32_MCOPRE STM32_MCOPRE_DIV1 +#define STM32_LSCOSEL STM32_LSCOSEL_NOCLOCK +#define STM32_PLLSAI1N_VALUE 24 +#define STM32_PLLSAI1PDIV_VALUE 0 +#define STM32_PLLSAI1P_VALUE 7 +#define STM32_PLLSAI1Q_VALUE 2 +#define STM32_PLLSAI1R_VALUE 2 + +/* + * Peripherals clock sources. + */ +#define STM32_USART1SEL STM32_USART1SEL_SYSCLK +#define STM32_USART2SEL STM32_USART2SEL_SYSCLK +#define STM32_LPUART1SEL STM32_LPUART1SEL_SYSCLK +#define STM32_I2C1SEL STM32_I2C1SEL_SYSCLK +#define STM32_I2C3SEL STM32_I2C3SEL_SYSCLK +#define STM32_LPTIM1SEL STM32_LPTIM1SEL_PCLK1 +#define STM32_LPTIM2SEL STM32_LPTIM2SEL_PCLK1 +#define STM32_SAI1SEL STM32_SAI1SEL_OFF +#define STM32_CLK48SEL STM32_CLK48SEL_HSI48 +#define STM32_ADCSEL STM32_ADCSEL_SYSCLK +#define STM32_SWPMI1SEL STM32_SWPMI1SEL_PCLK1 +#define STM32_RTCSEL STM32_RTCSEL_LSI + +/* + * IRQ system settings. + */ +#define STM32_IRQ_EXTI0_PRIORITY 6 +#define STM32_IRQ_EXTI1_PRIORITY 6 +#define STM32_IRQ_EXTI2_PRIORITY 6 +#define STM32_IRQ_EXTI3_PRIORITY 6 +#define STM32_IRQ_EXTI4_PRIORITY 6 +#define STM32_IRQ_EXTI5_9_PRIORITY 6 +#define STM32_IRQ_EXTI10_15_PRIORITY 6 +#define STM32_IRQ_EXTI1635_38_PRIORITY 6 +#define STM32_IRQ_EXTI18_PRIORITY 6 +#define STM32_IRQ_EXTI19_PRIORITY 6 +#define STM32_IRQ_EXTI20_PRIORITY 6 +#define STM32_IRQ_EXTI21_22_PRIORITY 15 + +#define STM32_IRQ_TIM1_BRK_TIM15_PRIORITY 7 +#define STM32_IRQ_TIM1_UP_TIM16_PRIORITY 7 +#define STM32_IRQ_TIM1_TRGCO_TIM17_PRIORITY 7 +#define STM32_IRQ_TIM1_CC_PRIORITY 7 +#define STM32_IRQ_TIM2_PRIORITY 7 +#define STM32_IRQ_TIM6_PRIORITY 7 +#define STM32_IRQ_TIM7_PRIORITY 7 + +#define STM32_IRQ_USART1_PRIORITY 12 +#define STM32_IRQ_USART2_PRIORITY 12 +#define STM32_IRQ_LPUART1_PRIORITY 12 + +/* + * ADC driver system settings. + */ +#define STM32_ADC_COMPACT_SAMPLES FALSE +#define STM32_ADC_USE_ADC1 FALSE +#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) +#define STM32_ADC_ADC1_DMA_PRIORITY 2 +#define STM32_ADC_ADC12_IRQ_PRIORITY 5 +#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 5 +#define STM32_ADC_ADC123_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1 +#define STM32_ADC_ADC123_PRESC ADC_CCR_PRESC_DIV2 + +/* + * CAN driver system settings. + */ +#define STM32_CAN_USE_CAN1 FALSE +#define STM32_CAN_CAN1_IRQ_PRIORITY 11 + +/* + * DAC driver system settings. + */ +#define STM32_DAC_DUAL_MODE FALSE +#define STM32_DAC_USE_DAC1_CH1 FALSE +#define STM32_DAC_USE_DAC1_CH2 FALSE +#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10 +#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10 +#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2 +#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2 +#define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4) +#define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) + +/* + * GPT driver system settings. + */ +#define STM32_GPT_USE_TIM1 FALSE +#define STM32_GPT_USE_TIM2 FALSE +#define STM32_GPT_USE_TIM6 FALSE +#define STM32_GPT_USE_TIM7 FALSE +#define STM32_GPT_USE_TIM15 FALSE +#define STM32_GPT_USE_TIM16 FALSE + +/* + * I2C driver system settings. + */ +#define STM32_I2C_USE_I2C1 FALSE +#define STM32_I2C_USE_I2C3 FALSE +#define STM32_I2C_BUSY_TIMEOUT 50 +#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) +#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6) +#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3) +#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2) +#define STM32_I2C_I2C1_IRQ_PRIORITY 5 +#define STM32_I2C_I2C3_IRQ_PRIORITY 5 +#define STM32_I2C_I2C1_DMA_PRIORITY 3 +#define STM32_I2C_I2C3_DMA_PRIORITY 3 +#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") + +/* + * ICU driver system settings. + */ +#define STM32_ICU_USE_TIM1 FALSE +#define STM32_ICU_USE_TIM2 FALSE +#define STM32_ICU_USE_TIM15 FALSE +#define STM32_ICU_USE_TIM16 FALSE + +/* + * PWM driver system settings. + */ +#define STM32_PWM_USE_ADVANCED FALSE +#define STM32_PWM_USE_TIM1 FALSE +#define STM32_PWM_USE_TIM2 FALSE +#define STM32_PWM_USE_TIM15 FALSE +#define STM32_PWM_USE_TIM16 FALSE + +/* + * RTC driver system settings. + */ +#define STM32_RTC_PRESA_VALUE 32 +#define STM32_RTC_PRESS_VALUE 1024 +#define STM32_RTC_CR_INIT 0 +#define STM32_RTC_TAMPCR_INIT 0 + +/* + * SERIAL driver system settings. + */ +#define STM32_SERIAL_USE_USART1 FALSE +#define STM32_SERIAL_USE_USART2 FALSE +#define STM32_SERIAL_USE_LPUART1 FALSE +#define STM32_SERIAL_USART1_PRIORITY 12 +#define STM32_SERIAL_USART2_PRIORITY 12 +#define STM32_SERIAL_LPUART1_PRIORITY 12 + +/* + * SPI driver system settings. + */ +#define STM32_SPI_USE_SPI1 FALSE +#define STM32_SPI_USE_SPI3 FALSE +#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) +#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 4) +#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 1) +#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 2) +#define STM32_SPI_SPI1_DMA_PRIORITY 1 +#define STM32_SPI_SPI3_DMA_PRIORITY 1 +#define STM32_SPI_SPI1_IRQ_PRIORITY 10 +#define STM32_SPI_SPI3_IRQ_PRIORITY 10 +#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") + +/* + * ST driver system settings. + */ +#define STM32_ST_IRQ_PRIORITY 8 +#define STM32_ST_USE_TIMER 2 + +/* + * TRNG driver system settings. + */ +#define STM32_TRNG_USE_RNG1 FALSE + +/* + * UART driver system settings. + */ +#define STM32_UART_USE_USART1 FALSE +#define STM32_UART_USE_USART2 FALSE +#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7) +#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 6) +#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6) +#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) +#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure") + +/* + * USB driver system settings. + */ +#define STM32_USB_USE_USB1 TRUE +#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE +#define STM32_USB_USB1_HP_IRQ_PRIORITY 13 +#define STM32_USB_USB1_LP_IRQ_PRIORITY 14 + +/* + * WDG driver system settings. + */ +#define STM32_WDG_USE_IWDG FALSE + +/* + * WSPI driver system settings. + */ +#define STM32_WSPI_USE_QUADSPI1 FALSE +#define STM32_WSPI_QUADSPI1_DMA_STREAM STM32_DMA_STREAM_ID(2, 7) +#define STM32_WSPI_QUADSPI1_PRESCALER_VALUE 1 + +#endif /* MCUCONF_H */ From 8f22819d47a1eee0277e248c677637e9f839cd70 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 25 Jan 2022 01:18:05 +1100 Subject: [PATCH 0113/1832] Default EEPROM implementation should be transient when not implemented. Removed the equivalent eeprom_teensy fallback. (#16020) --- common_features.mk | 18 ++++++++-- platforms/chibios/eeprom_teensy.c | 59 +------------------------------ 2 files changed, 17 insertions(+), 60 deletions(-) diff --git a/common_features.mk b/common_features.mk index b13f9a45d27f..d07c1370668d 100644 --- a/common_features.mk +++ b/common_features.mk @@ -158,47 +158,61 @@ ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),) else OPT_DEFS += -DEEPROM_ENABLE ifeq ($(strip $(EEPROM_DRIVER)), custom) + # Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM COMMON_VPATH += $(DRIVER_PATH)/eeprom SRC += eeprom_driver.c else ifeq ($(strip $(EEPROM_DRIVER)), i2c) + # External I2C EEPROM implementation OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C COMMON_VPATH += $(DRIVER_PATH)/eeprom QUANTUM_LIB_SRC += i2c_master.c SRC += eeprom_driver.c eeprom_i2c.c else ifeq ($(strip $(EEPROM_DRIVER)), spi) + # External SPI EEPROM implementation OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI COMMON_VPATH += $(DRIVER_PATH)/eeprom QUANTUM_LIB_SRC += spi_master.c SRC += eeprom_driver.c eeprom_spi.c else ifeq ($(strip $(EEPROM_DRIVER)), transient) + # Transient EEPROM implementation -- no data storage but provides runtime area for it OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT COMMON_VPATH += $(DRIVER_PATH)/eeprom SRC += eeprom_driver.c eeprom_transient.c else ifeq ($(strip $(EEPROM_DRIVER)), vendor) + # Vendor-implemented EEPROM OPT_DEFS += -DEEPROM_VENDOR ifeq ($(PLATFORM),AVR) # Automatically provided by avr-libc, nothing required else ifeq ($(PLATFORM),CHIBIOS) ifneq ($(filter STM32F3xx_% STM32F1xx_% %_STM32F401xC %_STM32F401xE %_STM32F405xG %_STM32F411xE %_STM32F072xB %_STM32F042x6 %_GD32VF103xB %_GD32VF103x8, $(MCU_SERIES)_$(MCU_LDSCRIPT)),) + # Emulated EEPROM OPT_DEFS += -DEEPROM_DRIVER COMMON_VPATH += $(DRIVER_PATH)/eeprom SRC += eeprom_driver.c SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),) + # True EEPROM on STM32L0xx, L1xx OPT_DEFS += -DEEPROM_DRIVER COMMON_VPATH += $(DRIVER_PATH)/eeprom COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom SRC += eeprom_driver.c SRC += eeprom_stm32_L0_L1.c + else ifneq ($(filter $(MCU_SERIES),KL2x K20x),) + # Teensy EEPROM implementations + SRC += eeprom_teensy.c else - # This will effectively work the same as "transient" if not supported by the chip - SRC += $(PLATFORM_COMMON_DIR)/eeprom_teensy.c + # Fall back to transient, i.e. non-persistent + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT + COMMON_VPATH += $(DRIVER_PATH)/eeprom + SRC += eeprom_driver.c eeprom_transient.c endif else ifeq ($(PLATFORM),ARM_ATSAM) + # arm_atsam EEPROM SRC += $(PLATFORM_COMMON_DIR)/eeprom.c else ifeq ($(PLATFORM),TEST) + # Test harness "EEPROM" SRC += $(PLATFORM_COMMON_DIR)/eeprom.c endif endif diff --git a/platforms/chibios/eeprom_teensy.c b/platforms/chibios/eeprom_teensy.c index 4aaf66526907..2093f9b4b2bd 100644 --- a/platforms/chibios/eeprom_teensy.c +++ b/platforms/chibios/eeprom_teensy.c @@ -524,64 +524,7 @@ void eeprom_write_block(const void *buf, void *addr, uint32_t len) { } #else -// No EEPROM supported, so emulate it - -# ifndef EEPROM_SIZE -# include "eeconfig.h" -# define EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO -# endif -__attribute__((aligned(4))) static uint8_t buffer[EEPROM_SIZE]; - -uint8_t eeprom_read_byte(const uint8_t *addr) { - uint32_t offset = (uint32_t)addr; - return buffer[offset]; -} - -void eeprom_write_byte(uint8_t *addr, uint8_t value) { - uint32_t offset = (uint32_t)addr; - buffer[offset] = value; -} - -uint16_t eeprom_read_word(const uint16_t *addr) { - const uint8_t *p = (const uint8_t *)addr; - return eeprom_read_byte(p) | (eeprom_read_byte(p + 1) << 8); -} - -uint32_t eeprom_read_dword(const uint32_t *addr) { - const uint8_t *p = (const uint8_t *)addr; - return eeprom_read_byte(p) | (eeprom_read_byte(p + 1) << 8) | (eeprom_read_byte(p + 2) << 16) | (eeprom_read_byte(p + 3) << 24); -} - -void eeprom_read_block(void *buf, const void *addr, size_t len) { - const uint8_t *p = (const uint8_t *)addr; - uint8_t * dest = (uint8_t *)buf; - while (len--) { - *dest++ = eeprom_read_byte(p++); - } -} - -void eeprom_write_word(uint16_t *addr, uint16_t value) { - uint8_t *p = (uint8_t *)addr; - eeprom_write_byte(p++, value); - eeprom_write_byte(p, value >> 8); -} - -void eeprom_write_dword(uint32_t *addr, uint32_t value) { - uint8_t *p = (uint8_t *)addr; - eeprom_write_byte(p++, value); - eeprom_write_byte(p++, value >> 8); - eeprom_write_byte(p++, value >> 16); - eeprom_write_byte(p, value >> 24); -} - -void eeprom_write_block(const void *buf, void *addr, size_t len) { - uint8_t * p = (uint8_t *)addr; - const uint8_t *src = (const uint8_t *)buf; - while (len--) { - eeprom_write_byte(p++, *src++); - } -} - +# error Unsupported Teensy EEPROM. #endif /* chip selection */ // The update functions just calls write for now, but could probably be optimized From 1d11ae3087f583c4f4756169802b33adea71ed94 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 25 Jan 2022 08:22:20 +1100 Subject: [PATCH 0114/1832] Rip out old macro and action_function system (#16025) * Rip out old macro and action_function system * Update quantum/action_util.c Co-authored-by: Joel Challis --- common_features.mk | 1 - data/templates/avr/config.h | 4 - data/templates/ps2avrgb/config.h | 4 - docs/config_options.md | 5 - docs/feature_haptic_feedback.md | 3 - docs/keymap.md | 2 +- .../deltasplit75/keymaps/default/keymap.c | 4 +- keyboards/mechmini/v2/keymaps/via/keymap.c | 2 +- quantum/action.c | 26 +--- quantum/action.h | 17 --- quantum/action_code.h | 32 ----- quantum/action_macro.c | 93 ------------- quantum/action_macro.h | 123 ------------------ quantum/action_util.c | 33 +---- quantum/action_util.h | 7 - quantum/keycode.h | 43 +----- quantum/keymap.h | 5 - quantum/keymap_common.c | 41 ------ quantum/process_keycode/process_haptic.c | 3 - quantum/quantum_keycodes.h | 10 -- tests/basic/test_macro.cpp | 88 ------------- 21 files changed, 8 insertions(+), 538 deletions(-) delete mode 100644 quantum/action_macro.c delete mode 100644 quantum/action_macro.h delete mode 100644 tests/basic/test_macro.cpp diff --git a/common_features.mk b/common_features.mk index d07c1370668d..e00f95f8e4e0 100644 --- a/common_features.mk +++ b/common_features.mk @@ -20,7 +20,6 @@ QUANTUM_SRC += \ $(QUANTUM_DIR)/led.c \ $(QUANTUM_DIR)/action.c \ $(QUANTUM_DIR)/action_layer.c \ - $(QUANTUM_DIR)/action_macro.c \ $(QUANTUM_DIR)/action_tapping.c \ $(QUANTUM_DIR)/action_util.c \ $(QUANTUM_DIR)/eeconfig.c \ diff --git a/data/templates/avr/config.h b/data/templates/avr/config.h index 7c15e8e70464..97f7bb6fad16 100644 --- a/data/templates/avr/config.h +++ b/data/templates/avr/config.h @@ -129,10 +129,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/data/templates/ps2avrgb/config.h b/data/templates/ps2avrgb/config.h index 876a60252f02..ef29da0de08a 100644 --- a/data/templates/ps2avrgb/config.h +++ b/data/templates/ps2avrgb/config.h @@ -119,10 +119,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/docs/config_options.md b/docs/config_options.md index b661b55ee0de..7657fae02e5b 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -124,10 +124,6 @@ If you define these options you will disable the associated feature, which can s * disable tap dance and other tapping features * `#define NO_ACTION_ONESHOT` * disable one-shot modifiers -* `#define NO_ACTION_MACRO` - * disable old-style macro handling using `MACRO()`, `action_get_macro()` _(deprecated)_ -* `#define NO_ACTION_FUNCTION` - * disable old-style function handling using `fn_actions`, `action_function()` _(deprecated)_ ## Features That Can Be Enabled @@ -383,7 +379,6 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i * A list of [layouts](feature_layouts.md) this keyboard supports. * `LTO_ENABLE` * Enables Link Time Optimization (LTO) when compiling the keyboard. This makes the process take longer, but it can significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable). -However, this will automatically disable the legacy TMK Macros and Functions features, as these break when LTO is enabled. It does this by automatically defining `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION`. (Note: This does not affect QMK [Macros](feature_macros.md) and [Layers](feature_layers.md).) ## AVR MCU Options * `MCU = atmega32u4` diff --git a/docs/feature_haptic_feedback.md b/docs/feature_haptic_feedback.md index bbdf7e122c40..63ac4305ff20 100644 --- a/docs/feature_haptic_feedback.md +++ b/docs/feature_haptic_feedback.md @@ -191,9 +191,6 @@ With the entry of `#define NO_HAPTIC_MOD` in config.h, the following keys will n * `TT()` layer tap toggle keys, when held to activate a layer. However when tapped `TAPPING_TOGGLE` times to permanently toggle the layer, on the last tap haptic feedback is still triggered. * `MT()` mod tap keys, when held to keep a usual modifier key pressed. However when tapped, and the key is quickly released, and sends a keycode, haptic feedback is still triggered. See also [Mod-Tap](mod_tap.md). -### NO_HAPTIC_FN -With the entry of `#define NO_HAPTIC_FN` in config.h, deprecated `fn_actions` type function keys will not trigger a feedback. - ### NO_HAPTIC_ALPHA With the entry of `#define NO_HAPTIC_ALPHA` in config.h, none of the alpha keys (A ... Z) will trigger a feedback. diff --git a/docs/keymap.md b/docs/keymap.md index bec781e684e3..a7c9c50d7468 100644 --- a/docs/keymap.md +++ b/docs/keymap.md @@ -136,7 +136,7 @@ After this you'll find a list of LAYOUT() macros. A LAYOUT() is simply a list of `keymaps[][MATRIX_ROWS][MATRIX_COLS]` in QMK holds the 16 bit action code (sometimes referred as the quantum keycode) in it. For the keycode representing typical keys, its high byte is 0 and its low byte is the USB HID usage ID for keyboard. -> TMK from which QMK was forked uses `const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS]` instead and holds the 8 bit keycode. Some keycode values are reserved to induce execution of certain action codes via the `fn_actions[]` array. +> TMK from which QMK was forked uses `const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS]` instead and holds the 8 bit keycode. #### Base Layer diff --git a/keyboards/deltasplit75/keymaps/default/keymap.c b/keyboards/deltasplit75/keymaps/default/keymap.c index c13b0627c0a7..7d698eb329e7 100644 --- a/keyboards/deltasplit75/keymaps/default/keymap.c +++ b/keyboards/deltasplit75/keymaps/default/keymap.c @@ -20,8 +20,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - M(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_VOLD, M(0), KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_VOLD, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/mechmini/v2/keymaps/via/keymap.c b/keyboards/mechmini/v2/keymaps/via/keymap.c index 7c7c2103c0e0..e77d9d885910 100644 --- a/keyboards/mechmini/v2/keymaps/via/keymap.c +++ b/keyboards/mechmini/v2/keymaps/via/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ortho( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, M(1), M(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY), [2] = LAYOUT_ortho( diff --git a/quantum/action.c b/quantum/action.c index ea2310a4d96b..d932c016882c 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -23,7 +23,6 @@ along with this program. If not, see . #include "led.h" #include "action_layer.h" #include "action_tapping.h" -#include "action_macro.h" #include "action_util.h" #include "action.h" #include "wait.h" @@ -634,12 +633,7 @@ void process_action(keyrecord_t *record, action_t action) { break; # endif #endif - /* Extentions */ -#ifndef NO_ACTION_MACRO - case ACT_MACRO: - action_macro_play(action_get_macro(record, action.func.id, action.func.opt)); - break; -#endif + #ifdef SWAP_HANDS_ENABLE case ACT_SWAP_HANDS: switch (action.swap.code) { @@ -712,11 +706,6 @@ void process_action(keyrecord_t *record, action_t action) { } # endif } -#endif -#ifndef NO_ACTION_FUNCTION - case ACT_FUNCTION: - action_function(record, action.func.id, action.func.opt); - break; #endif default: break; @@ -1041,7 +1030,6 @@ void clear_keyboard_but_mods_and_keys() { host_consumer_send(0); #endif clear_weak_mods(); - clear_macro_mods(); send_keyboard_report(); #ifdef MOUSEKEY_ENABLE mousekey_clear(); @@ -1104,12 +1092,6 @@ bool is_tap_action(action_t action) { return true; } return false; - case ACT_MACRO: - case ACT_FUNCTION: - if (action.func.opt & FUNC_TAP) { - return true; - } - return false; } return false; } @@ -1166,12 +1148,6 @@ void debug_action(action_t action) { case ACT_LAYER_TAP_EXT: dprint("ACT_LAYER_TAP_EXT"); break; - case ACT_MACRO: - dprint("ACT_MACRO"); - break; - case ACT_FUNCTION: - dprint("ACT_FUNCTION"); - break; case ACT_SWAP_HANDS: dprint("ACT_SWAP_HANDS"); break; diff --git a/quantum/action.h b/quantum/action.h index b562f18c5b37..671a8bc19058 100644 --- a/quantum/action.h +++ b/quantum/action.h @@ -22,22 +22,11 @@ along with this program. If not, see . #include "keyboard.h" #include "keycode.h" #include "action_code.h" -#include "action_macro.h" #ifdef __cplusplus extern "C" { #endif -/* Disable macro and function features when LTO is enabled, since they break */ -#ifdef LTO_ENABLE -# ifndef NO_ACTION_MACRO -# define NO_ACTION_MACRO -# endif -# ifndef NO_ACTION_FUNCTION -# define NO_ACTION_FUNCTION -# endif -#endif - #ifndef TAP_CODE_DELAY # define TAP_CODE_DELAY 0 #endif @@ -72,12 +61,6 @@ void action_exec(keyevent_t event); action_t action_for_key(uint8_t layer, keypos_t key); action_t action_for_keycode(uint16_t keycode); -/* macro */ -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt); - -/* user defined special function */ -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt); - /* keyboard-specific key event (pre)processing */ bool process_record_quantum(keyrecord_t *record); diff --git a/quantum/action_code.h b/quantum/action_code.h index eb18c36ae809..20b3e459d2a7 100644 --- a/quantum/action_code.h +++ b/quantum/action_code.h @@ -79,19 +79,6 @@ along with this program. If not, see . * 101E|LLLL|1111 0100 One Shot Layer (0xF4) [TAP] * 101E|LLLL|1111 xxxx Reserved (0xF5-FF) * ELLLL: layer 0-31(E: extra bit for layer 16-31) - * - * Extensions(11xx) - * ---------------- - * ACT_MACRO(1100): - * 1100|opt | id(8) Macro play? - * 1100|1111| id(8) Macro record? - * - * 1101|xxxx xxxx xxxx (reserved) - * 1110|xxxx xxxx xxxx (reserved) - * - * ACT_FUNCTION(1111): - * 1111| address(12) Function? - * 1111|opt | id(8) Function? */ enum action_kind_id { /* Key Actions */ @@ -111,9 +98,6 @@ enum action_kind_id { ACT_LAYER_MODS = 0b1001, ACT_LAYER_TAP = 0b1010, /* Layer 0-15 */ ACT_LAYER_TAP_EXT = 0b1011, /* Layer 16-31 */ - /* Extensions */ - ACT_MACRO = 0b1100, - ACT_FUNCTION = 0b1111 }; /** \brief Action Code Struct @@ -164,11 +148,6 @@ typedef union { uint8_t page : 2; uint8_t kind : 4; } usage; - struct action_function { - uint8_t id : 8; - uint8_t opt : 4; - uint8_t kind : 4; - } func; struct action_swap { uint8_t code : 8; uint8_t opt : 4; @@ -275,17 +254,6 @@ enum layer_param_tap_op { #define ACTION_DEFAULT_LAYER_BIT_XOR(part, bits) ACTION_LAYER_BITOP(OP_BIT_XOR, (part), (bits), 0) #define ACTION_DEFAULT_LAYER_BIT_SET(part, bits) ACTION_LAYER_BITOP(OP_BIT_SET, (part), (bits), 0) -/* Macro */ -#define ACTION_MACRO(id) ACTION(ACT_MACRO, (id)) -#define ACTION_MACRO_TAP(id) ACTION(ACT_MACRO, FUNC_TAP << 8 | (id)) -#define ACTION_MACRO_OPT(id, opt) ACTION(ACT_MACRO, (opt) << 8 | (id)) -/* Function */ -enum function_opts { - FUNC_TAP = 0x8, /* indciates function is tappable */ -}; -#define ACTION_FUNCTION(id) ACTION(ACT_FUNCTION, (id)) -#define ACTION_FUNCTION_TAP(id) ACTION(ACT_FUNCTION, FUNC_TAP << 8 | (id)) -#define ACTION_FUNCTION_OPT(id, opt) ACTION(ACT_FUNCTION, (opt) << 8 | (id)) /* OneHand Support */ enum swap_hands_param_tap_op { OP_SH_TOGGLE = 0xF0, diff --git a/quantum/action_macro.c b/quantum/action_macro.c deleted file mode 100644 index 92228c0ba816..000000000000 --- a/quantum/action_macro.c +++ /dev/null @@ -1,93 +0,0 @@ -/* -Copyright 2013 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include "action.h" -#include "action_util.h" -#include "action_macro.h" -#include "wait.h" - -#ifdef DEBUG_ACTION -# include "debug.h" -#else -# include "nodebug.h" -#endif - -#ifndef NO_ACTION_MACRO - -# define MACRO_READ() (macro = MACRO_GET(macro_p++)) -/** \brief Action Macro Play - * - * FIXME: Needs doc - */ -void action_macro_play(const macro_t *macro_p) { - macro_t macro = END; - uint8_t interval = 0; - - if (!macro_p) return; - while (true) { - switch (MACRO_READ()) { - case KEY_DOWN: - MACRO_READ(); - dprintf("KEY_DOWN(%02X)\n", macro); - if (IS_MOD(macro)) { - add_macro_mods(MOD_BIT(macro)); - send_keyboard_report(); - } else { - register_code(macro); - } - break; - case KEY_UP: - MACRO_READ(); - dprintf("KEY_UP(%02X)\n", macro); - if (IS_MOD(macro)) { - del_macro_mods(MOD_BIT(macro)); - send_keyboard_report(); - } else { - unregister_code(macro); - } - break; - case WAIT: - MACRO_READ(); - dprintf("WAIT(%u)\n", macro); - { - uint8_t ms = macro; - while (ms--) wait_ms(1); - } - break; - case INTERVAL: - interval = MACRO_READ(); - dprintf("INTERVAL(%u)\n", interval); - break; - case 0x04 ... 0x73: - dprintf("DOWN(%02X)\n", macro); - register_code(macro); - break; - case 0x84 ... 0xF3: - dprintf("UP(%02X)\n", macro); - unregister_code(macro & 0x7F); - break; - case END: - default: - return; - } - // interval - { - uint8_t ms = interval; - while (ms--) wait_ms(1); - } - } -} -#endif diff --git a/quantum/action_macro.h b/quantum/action_macro.h deleted file mode 100644 index 685e2c6ffcfc..000000000000 --- a/quantum/action_macro.h +++ /dev/null @@ -1,123 +0,0 @@ -/* -Copyright 2013 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#include -#include "progmem.h" - -typedef uint8_t macro_t; - -#define MACRO_NONE (macro_t *)0 -#define MACRO(...) \ - ({ \ - static const macro_t __m[] PROGMEM = {__VA_ARGS__}; \ - &__m[0]; \ - }) -#define MACRO_GET(p) pgm_read_byte(p) - -// Sends press when the macro key is pressed, release when release, or tap_macro when the key has been tapped -#define MACRO_TAP_HOLD(record, press, release, tap_macro) (((record)->event.pressed) ? (((record)->tap.count <= 0 || (record)->tap.interrupted) ? (press) : MACRO_NONE) : (((record)->tap.count > 0 && !((record)->tap.interrupted)) ? (tap_macro) : (release))) - -// Holds down the modifier mod when the macro key is held, or sends macro instead when tapped -#define MACRO_TAP_HOLD_MOD(record, macro, mod) MACRO_TAP_HOLD(record, (MACRO(D(mod), END)), MACRO(U(mod), END), macro) - -// Holds down the modifier mod when the macro key is held, or pressed a shifted key when tapped (eg: shift+3 for #) -#define MACRO_TAP_SHFT_KEY_HOLD_MOD(record, key, mod) MACRO_TAP_HOLD_MOD(record, (MACRO(I(10), D(LSFT), T(key), U(LSFT), END)), mod) - -// Momentary switch layer when held, sends macro if tapped -#define MACRO_TAP_HOLD_LAYER(record, macro, layer) \ - (((record)->event.pressed) ? (((record)->tap.count <= 0 || (record)->tap.interrupted) ? ({ \ - layer_on((layer)); \ - MACRO_NONE; \ - }) \ - : MACRO_NONE) \ - : (((record)->tap.count > 0 && !((record)->tap.interrupted)) ? (macro) : ({ \ - layer_off((layer)); \ - MACRO_NONE; \ - }))) - -// Momentary switch layer when held, presses a shifted key when tapped (eg: shift+3 for #) -#define MACRO_TAP_SHFT_KEY_HOLD_LAYER(record, key, layer) MACRO_TAP_HOLD_LAYER(record, MACRO(I(10), D(LSFT), T(key), U(LSFT), END), layer) - -#ifndef NO_ACTION_MACRO -void action_macro_play(const macro_t *macro_p); -#else -# define action_macro_play(macro) -#endif - -/* Macro commands - * code(0x04-73) // key down(1byte) - * code(0x04-73) | 0x80 // key up(1byte) - * { KEY_DOWN, code(0x04-0xff) } // key down(2bytes) - * { KEY_UP, code(0x04-0xff) } // key up(2bytes) - * WAIT // wait milli-seconds - * INTERVAL // set interval between macro commands - * END // stop macro execution - * - * Ideas(Not implemented): - * modifiers - * system usage - * consumer usage - * unicode usage - * function call - * conditionals - * loop - */ -enum macro_command_id { - /* 0x00 - 0x03 */ - END = 0x00, - KEY_DOWN, - KEY_UP, - - /* 0x04 - 0x73 (reserved for keycode down) */ - - /* 0x74 - 0x83 */ - WAIT = 0x74, - INTERVAL, - - /* 0x84 - 0xf3 (reserved for keycode up) */ - - /* 0xf4 - 0xff */ -}; - -/* TODO: keycode:0x04-0x73 can be handled by 1byte command else 2bytes are needed - * if keycode between 0x04 and 0x73 - * keycode / (keycode|0x80) - * else - * {KEY_DOWN, keycode} / {KEY_UP, keycode} - */ -#define DOWN(key) KEY_DOWN, (key) -#define UP(key) KEY_UP, (key) -#define TYPE(key) DOWN(key), UP(key) -#define WAIT(ms) WAIT, (ms) -#define INTERVAL(ms) INTERVAL, (ms) - -/* key down */ -#define D(key) DOWN(KC_##key) -/* key up */ -#define U(key) UP(KC_##key) -/* key type */ -#define T(key) TYPE(KC_##key) -/* wait */ -#define W(ms) WAIT(ms) -/* interval */ -#define I(ms) INTERVAL(ms) - -/* for backward comaptibility */ -#define MD(key) DOWN(KC_##key) -#define MU(key) UP(KC_##key) diff --git a/quantum/action_util.c b/quantum/action_util.c index 7e30593fb1c5..9eb2a6d30dc2 100644 --- a/quantum/action_util.c +++ b/quantum/action_util.c @@ -25,9 +25,8 @@ along with this program. If not, see . extern keymap_config_t keymap_config; -static uint8_t real_mods = 0; -static uint8_t weak_mods = 0; -static uint8_t macro_mods = 0; +static uint8_t real_mods = 0; +static uint8_t weak_mods = 0; #ifdef KEY_OVERRIDE_ENABLE static uint8_t weak_override_mods = 0; static uint8_t suppressed_mods = 0; @@ -224,7 +223,6 @@ bool is_oneshot_enabled(void) { return keymap_config.oneshot_disable; } void send_keyboard_report(void) { keyboard_report->mods = real_mods; keyboard_report->mods |= weak_mods; - keyboard_report->mods |= macro_mods; #ifndef NO_ACTION_ONESHOT if (oneshot_mods) { @@ -325,33 +323,6 @@ void set_suppressed_override_mods(uint8_t mods) { suppressed_mods = mods; } void clear_suppressed_override_mods(void) { suppressed_mods = 0; } #endif -/* macro modifier */ -/** \brief get macro mods - * - * FIXME: needs doc - */ -uint8_t get_macro_mods(void) { return macro_mods; } -/** \brief add macro mods - * - * FIXME: needs doc - */ -void add_macro_mods(uint8_t mods) { macro_mods |= mods; } -/** \brief del macro mods - * - * FIXME: needs doc - */ -void del_macro_mods(uint8_t mods) { macro_mods &= ~mods; } -/** \brief set macro mods - * - * FIXME: needs doc - */ -void set_macro_mods(uint8_t mods) { macro_mods = mods; } -/** \brief clear macro mods - * - * FIXME: needs doc - */ -void clear_macro_mods(void) { macro_mods = 0; } - #ifndef NO_ACTION_ONESHOT /** \brief get oneshot mods * diff --git a/quantum/action_util.h b/quantum/action_util.h index f2b3897ae501..bfd0a6cf95ab 100644 --- a/quantum/action_util.h +++ b/quantum/action_util.h @@ -49,13 +49,6 @@ void del_weak_mods(uint8_t mods); void set_weak_mods(uint8_t mods); void clear_weak_mods(void); -/* macro modifier */ -uint8_t get_macro_mods(void); -void add_macro_mods(uint8_t mods); -void del_macro_mods(uint8_t mods); -void set_macro_mods(uint8_t mods); -void clear_macro_mods(void); - /* oneshot modifier */ uint8_t get_oneshot_mods(void); void add_oneshot_mods(uint8_t mods); diff --git a/quantum/keycode.h b/quantum/keycode.h index 38a29b439ba0..a93255063524 100644 --- a/quantum/keycode.h +++ b/quantum/keycode.h @@ -35,8 +35,6 @@ along with this program. If not, see . #define IS_SYSTEM(code) (KC_PWR <= (code) && (code) <= KC_WAKE) #define IS_CONSUMER(code) (KC_MUTE <= (code) && (code) <= KC_BRID) -#define IS_FN(code) (KC_FN0 <= (code) && (code) <= KC_FN31) - #define IS_MOUSEKEY(code) (KC_MS_UP <= (code) && (code) <= KC_MS_ACCEL2) #define IS_MOUSEKEY_MOVE(code) (KC_MS_UP <= (code) && (code) <= KC_MS_RIGHT) #define IS_MOUSEKEY_BUTTON(code) (KC_MS_BTN1 <= (code) && (code) <= KC_MS_BTN8) @@ -62,11 +60,6 @@ along with this program. If not, see . #define MOD_MASK_SAG (MOD_MASK_SHIFT | MOD_MASK_ALT | MOD_MASK_GUI) #define MOD_MASK_CSAG (MOD_MASK_CTRL | MOD_MASK_SHIFT | MOD_MASK_ALT | MOD_MASK_GUI) -#define FN_BIT(code) (1 << FN_INDEX(code)) -#define FN_INDEX(code) ((code)-KC_FN0) -#define FN_MIN KC_FN0 -#define FN_MAX KC_FN31 - // clang-format off /* @@ -509,41 +502,7 @@ enum internal_special_keycodes { KC_MEDIA_FAST_FORWARD, KC_MEDIA_REWIND, KC_BRIGHTNESS_UP, - KC_BRIGHTNESS_DOWN, - - /* Fn keys */ - KC_FN0 = 0xC0, - KC_FN1, - KC_FN2, - KC_FN3, - KC_FN4, - KC_FN5, - KC_FN6, - KC_FN7, - KC_FN8, - KC_FN9, - KC_FN10, - KC_FN11, - KC_FN12, - KC_FN13, - KC_FN14, - KC_FN15, - KC_FN16, // 0xD0 - KC_FN17, - KC_FN18, - KC_FN19, - KC_FN20, - KC_FN21, - KC_FN22, - KC_FN23, - KC_FN24, - KC_FN25, - KC_FN26, - KC_FN27, - KC_FN28, - KC_FN29, - KC_FN30, - KC_FN31 + KC_BRIGHTNESS_DOWN }; enum mouse_keys { diff --git a/quantum/keymap.h b/quantum/keymap.h index 3fc41cafd802..2ee2e1b57625 100644 --- a/quantum/keymap.h +++ b/quantum/keymap.h @@ -27,7 +27,6 @@ along with this program. If not, see . # include #endif #include "keycode.h" -#include "action_macro.h" #include "report.h" #include "host.h" // #include "print.h" @@ -49,8 +48,4 @@ along with this program. If not, see . // translates key to keycode uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key); -// translates function id to action -uint16_t keymap_function_id_to_action(uint16_t function_id); - extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS]; -extern const uint16_t fn_actions[]; diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 5007f15f1116..cd67f71a8fea 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -20,7 +20,6 @@ along with this program. If not, see . #include "keycode.h" #include "action_layer.h" #include "action.h" -#include "action_macro.h" #include "debug.h" #include "quantum.h" @@ -80,24 +79,6 @@ action_t action_for_keycode(uint16_t keycode) { // Split it up action.code = ACTION_MODS_KEY(keycode >> 8, keycode & 0xFF); // adds modifier to key break; -#ifndef NO_ACTION_FUNCTION - case KC_FN0 ... KC_FN31: - action.code = keymap_function_id_to_action(FN_INDEX(keycode)); - break; - case QK_FUNCTION ... QK_FUNCTION_MAX:; - // Is a shortcut for function action_layer, pull last 12bits - // This means we have 4,096 FN macros at our disposal - action.code = keymap_function_id_to_action((int)keycode & 0xFFF); - break; -#endif -#ifndef NO_ACTION_MACRO - case QK_MACRO ... QK_MACRO_MAX: - if (keycode & 0x800) // tap macros have upper bit set - action.code = ACTION_MACRO_TAP(keycode & 0xFF); - else - action.code = ACTION_MACRO(keycode & 0xFF); - break; -#endif #ifndef NO_ACTION_LAYER case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: action.code = ACTION_LAYER_TAP_KEY((keycode >> 0x8) & 0xF, keycode & 0xFF); @@ -165,30 +146,8 @@ action_t action_for_keycode(uint16_t keycode) { return action; } -__attribute__((weak)) const uint16_t PROGMEM fn_actions[] = { - -}; - -/* Macro */ -__attribute__((weak)) const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { return MACRO_NONE; } - -/* Function */ -__attribute__((weak)) void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {} - // translates key to keycode __attribute__((weak)) uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key) { // Read entire word (16bits) return pgm_read_word(&keymaps[(layer)][(key.row)][(key.col)]); } - -// translates function id to action -__attribute__((weak)) uint16_t keymap_function_id_to_action(uint16_t function_id) { -// The compiler sees the empty (weak) fn_actions and generates a warning -// This function should not be called in that case, so the warning is too strict -// If this function is called however, the keymap should have overridden fn_actions, and then the compile -// is comparing against the wrong array -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Warray-bounds" - return pgm_read_word(&fn_actions[function_id]); -#pragma GCC diagnostic pop -} diff --git a/quantum/process_keycode/process_haptic.c b/quantum/process_keycode/process_haptic.c index 85b2ffcddd5b..0f07f9ac7515 100644 --- a/quantum/process_keycode/process_haptic.c +++ b/quantum/process_keycode/process_haptic.c @@ -35,9 +35,6 @@ __attribute__((weak)) bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t case QK_MOMENTARY ... QK_MOMENTARY_MAX: case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: #endif -#ifdef NO_HAPTIC_FN - case KC_FN0 ... KC_FN31: -#endif #ifdef NO_HAPTIC_ALPHA case KC_A ... KC_Z: #endif diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 15ea0276a7ec..b5b35667861f 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -37,10 +37,6 @@ enum quantum_keycodes { QK_RALT = 0x1400, QK_RGUI = 0x1800, QK_MODS_MAX = 0x1FFF, - QK_FUNCTION = 0x2000, - QK_FUNCTION_MAX = 0x2FFF, - QK_MACRO = 0x3000, - QK_MACRO_MAX = 0x3FFF, QK_LAYER_TAP = 0x4000, QK_LAYER_TAP_MAX = 0x4FFF, QK_TO = 0x5000, @@ -710,12 +706,6 @@ enum quantum_keycodes { #define A(kc) LALT(kc) #define G(kc) LGUI(kc) -// Deprecated - do not use -#define F(kc) (QK_FUNCTION | (kc)) -#define M(kc) (QK_MACRO | (kc)) -#define MACROTAP(kc) (QK_MACRO | (FUNC_TAP << 8) | (kc)) -#define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE) - #define QK_GESC QK_GRAVE_ESCAPE #define QK_BOOT QK_BOOTLOADER diff --git a/tests/basic/test_macro.cpp b/tests/basic/test_macro.cpp deleted file mode 100644 index ae2f3b32e3fb..000000000000 --- a/tests/basic/test_macro.cpp +++ /dev/null @@ -1,88 +0,0 @@ -/* Copyright 2017 Fred Sundvik - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "test_common.hpp" -#include "time.h" - -using testing::InSequence; -using testing::InvokeWithoutArgs; - -class Macro : public TestFixture {}; - -#define AT_TIME(t) WillOnce(InvokeWithoutArgs([current_time]() { EXPECT_EQ(timer_elapsed32(current_time), t); })) - -extern "C" const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - if (record->event.pressed) { - switch (id) { - case 0: - return MACRO(D(LSFT), T(H), U(LSFT), T(E), T(L), T(L), T(O), T(SPACE), W(100), D(LSFT), T(W), U(LSFT), I(10), T(O), T(R), T(L), T(D), D(LSFT), T(1), U(LSFT), END); - } - } - return MACRO_NONE; -}; - -TEST_F(Macro, PlayASimpleMacro) { - TestDriver driver; - InSequence s; - auto key_macro = KeymapKey(0, 8, 0, M(0)); - - set_keymap({key_macro}); - - key_macro.press(); - - uint32_t current_time = timer_read32(); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT, KC_H))).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_E))).AT_TIME(0); - // The macro system could actually skip these empty keyboard reports - // it should be enough to just send a report with the next key down - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_L))).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_L))).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_O))).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_SPACE))).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(0); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))).AT_TIME(100); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT, KC_W))).AT_TIME(100); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))).AT_TIME(100); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(100); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_O))) - // BUG: The timer should not really have advanced 10 ms here - // See issue #1477 - .AT_TIME(110); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())) - // BUG: The timer should not advance on both keydown and key-up - // See issue #1477 - .AT_TIME(120); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_R))).AT_TIME(130); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(140); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_L))).AT_TIME(150); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(160); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_D))).AT_TIME(170); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(180); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))).AT_TIME(190); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT, KC_1))).AT_TIME(200); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LEFT_SHIFT))).AT_TIME(210); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).AT_TIME(220); - run_one_scan_loop(); - - key_macro.release(); -} From 5249a606f11049603b982bacb26da1fd9a60adee Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 24 Jan 2022 22:20:08 +0000 Subject: [PATCH 0115/1832] Fix up issue with PROGMEM and hand_swap_config (#16027) --- quantum/action.h | 1 + 1 file changed, 1 insertion(+) diff --git a/quantum/action.h b/quantum/action.h index 671a8bc19058..39b5da63b865 100644 --- a/quantum/action.h +++ b/quantum/action.h @@ -19,6 +19,7 @@ along with this program. If not, see . #include #include +#include "progmem.h" #include "keyboard.h" #include "keycode.h" #include "action_code.h" From c71c0fba9000cb586588da4c6bbf877d21d061b6 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 25 Jan 2022 09:28:13 +1100 Subject: [PATCH 0116/1832] Fix bootloader_jump for certain CTRL boards (#16026) --- platforms/arm_atsam/bootloaders/md_boot.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/platforms/arm_atsam/bootloaders/md_boot.c b/platforms/arm_atsam/bootloaders/md_boot.c index e7508ffe5183..9cf16f3597c3 100644 --- a/platforms/arm_atsam/bootloaders/md_boot.c +++ b/platforms/arm_atsam/bootloaders/md_boot.c @@ -18,15 +18,14 @@ #include "samd51j18a.h" -#ifdef KEYBOARD_massdrop_ctrl // WARNING: These are only for CTRL bootloader release "v2.18Jun 22 2018 17:28:08" for bootloader_jump support extern uint32_t _eram; - -# define BOOTLOADER_MAGIC 0x3B9ACA00 -# define MAGIC_ADDR (uint32_t *)((intptr_t)(&_eram) - 4) +#define BOOTLOADER_MAGIC 0x3B9ACA00 +#define MAGIC_ADDR (uint32_t *)((intptr_t)(&_eram) - 4) // CTRL keyboards released with bootloader version below must use RAM method. Otherwise use WDT method. void bootloader_jump(void) { +#ifdef KEYBOARD_massdrop_ctrl uint8_t ver_ram_method[] = "v2.18Jun 22 2018 17:28:08"; // The version to match (NULL terminated by compiler) uint8_t *ver_check = ver_ram_method; // Pointer to version match string for traversal uint8_t *ver_rom = (uint8_t *)0x21A0; // Pointer to address in ROM where this specific bootloader version would exist @@ -39,16 +38,12 @@ void bootloader_jump(void) { if (!*ver_check) { // If check version pointer is NULL, all characters have matched *MAGIC_ADDR = BOOTLOADER_MAGIC; // Set magic number into RAM NVIC_SystemReset(); // Perform system reset - while (1) ; // Won't get here } -} - -#else +#endif -// Set watchdog timer to reset. Directs the bootloader to stay in programming mode. -void bootloader_jump(void) { + // Set watchdog timer to reset. Directs the bootloader to stay in programming mode. WDT->CTRLA.bit.ENABLE = 0; while (WDT->SYNCBUSY.bit.ENABLE) @@ -65,8 +60,6 @@ void bootloader_jump(void) { ; while (!WDT->CTRLA.bit.ENABLE) ; - while (1) ; // Wait on timeout } -#endif From bf9569db93d9f9ce5e3a0ce7190f09e950b9f85b Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 24 Jan 2022 23:54:56 +0000 Subject: [PATCH 0117/1832] Various Makefile optimisations (#16015) --- Makefile | 78 ++++++++++++++++------------------------------- build_keyboard.mk | 9 ++++++ 2 files changed, 36 insertions(+), 51 deletions(-) diff --git a/Makefile b/Makefile index 88f430619e39..b435837d3039 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,10 @@ endif # Otherwise the [OK], [ERROR] and [WARN] messages won't be displayed correctly override SILENT := false +ifdef SKIP_VERSION + SKIP_GIT := yes +endif + ifndef SUB_IS_SILENT ifndef SKIP_GIT QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null) @@ -50,47 +54,11 @@ ABS_ROOT_MAKEFILE := $(abspath $(ROOT_MAKEFILE)) ABS_STARTING_DIR := $(dir $(ABS_STARTING_MAKEFILE)) ABS_ROOT_DIR := $(dir $(ABS_ROOT_MAKEFILE)) STARTING_DIR := $(subst $(ABS_ROOT_DIR),,$(ABS_STARTING_DIR)) -BUILD_DIR := $(ROOT_DIR)/.build -TEST_DIR := $(BUILD_DIR)/test -ERROR_FILE := $(BUILD_DIR)/error_occurred - -# Helper function to process the newt element of a space separated path -# It works a bit like the traditional functional head tail -# so the CURRENT_PATH_ELEMENT will become the new head -# and the PATH_ELEMENTS are the rest that are still unprocessed -define NEXT_PATH_ELEMENT - $$(eval CURRENT_PATH_ELEMENT := $$(firstword $$(PATH_ELEMENTS))) - $$(eval PATH_ELEMENTS := $$(wordlist 2,9999,$$(PATH_ELEMENTS))) -endef - -# We change the / to spaces so that we more easily can work with the elements -# separately -PATH_ELEMENTS := $(subst /, ,$(STARTING_DIR)) -# Initialize the path elements list for further processing -$(eval $(call NEXT_PATH_ELEMENT)) - - -# Phony targets to enable a few simple make commands outside the main processing below. -.PHONY: list-keyboards -list-keyboards: - util/list_keyboards.sh | sort -u | tr '\n' ' ' - -.PHONY: generate-keyboards-file -generate-keyboards-file: - util/list_keyboards.sh | sort -u -.PHONY: clean -clean: - echo -n 'Deleting .build/ ... ' - rm -rf $(BUILD_DIR) - echo 'done.' - -.PHONY: distclean -distclean: clean - echo -n 'Deleting *.bin, *.hex, and *.uf2 ... ' - rm -f *.bin *.hex *.uf2 - echo 'done.' +include paths.mk +TEST_OUTPUT_DIR := $(BUILD_DIR)/test +ERROR_FILE := $(BUILD_DIR)/error_occurred .DEFAULT_GOAL := all:all @@ -387,7 +355,7 @@ define BUILD_TEST MAKE_MSG := $$(MSG_MAKE_TEST) $$(eval $$(call BUILD)) ifneq ($$(MAKE_TARGET),clean) - TEST_EXECUTABLE := $$(TEST_DIR)/$$(TEST_NAME).elf + TEST_EXECUTABLE := $$(TEST_OUTPUT_DIR)/$$(TEST_NAME).elf TESTS += $$(TEST_NAME) TEST_MSG := $$(MSG_TEST) $$(TEST_NAME)_COMMAND := \ @@ -404,6 +372,7 @@ define PARSE_TEST TESTS := TEST_NAME := $$(firstword $$(subst :, ,$$(RULE))) TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME):,,$$(RULE))) + include $(ROOT_DIR)/testlist.mk ifeq ($$(TEST_NAME),all) MATCHED_TESTS := $$(TEST_LIST) else @@ -426,7 +395,6 @@ define SET_SILENT_MODE endif endef -include paths.mk include $(BUILDDEFS_PATH)/message.mk ifeq ($(strip $(BREAK_ON_ERRORS)), yes) @@ -496,14 +464,22 @@ git-submodule: git submodule sync --recursive git submodule update --init --recursive --progress -# Generate the version.h file -ifdef SKIP_GIT -VERSION_H_FLAGS := --skip-git -endif -ifdef SKIP_VERSION -VERSION_H_FLAGS := --skip-all -SKIP_GIT := yes -endif -$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o quantum/version.h) +.PHONY: list-keyboards +list-keyboards: + util/list_keyboards.sh | sort -u | tr '\n' ' ' -include $(ROOT_DIR)/testlist.mk +.PHONY: generate-keyboards-file +generate-keyboards-file: + util/list_keyboards.sh | sort -u + +.PHONY: clean +clean: + echo -n 'Deleting .build/ ... ' + rm -rf $(BUILD_DIR) + echo 'done.' + +.PHONY: distclean +distclean: clean + echo -n 'Deleting *.bin, *.hex, and *.uf2 ... ' + rm -f *.bin *.hex *.uf2 + echo 'done.' diff --git a/build_keyboard.mk b/build_keyboard.mk index 6473e3e47322..e8c3bfe5fad1 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk @@ -37,6 +37,15 @@ ifdef SKIP_VERSION OPT_DEFS += -DSKIP_VERSION endif +# Generate the version.h file +ifdef SKIP_VERSION +VERSION_H_FLAGS := --skip-all +endif +ifdef SKIP_GIT +VERSION_H_FLAGS := --skip-git +endif +$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o quantum/version.h) + # Determine which subfolders exist. KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD) KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1))) From 5f233458869bc5fd2d91b24f59c8519d5f99c9a6 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 25 Jan 2022 10:58:53 +1100 Subject: [PATCH 0118/1832] Add a script that simplifies running commands under docker. (#16028) --- util/docker_cmd.sh | 59 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 util/docker_cmd.sh diff --git a/util/docker_cmd.sh b/util/docker_cmd.sh new file mode 100755 index 000000000000..2ea113d24a6d --- /dev/null +++ b/util/docker_cmd.sh @@ -0,0 +1,59 @@ +#!/bin/sh +# NOTE: This script uses tabs for indentation + +errcho() { + echo "$@" >&2 +} + +USAGE="Usage: $0 " + +# Check preconditions +for arg; do + if [ "$arg" = "--help" ]; then + echo "$USAGE" + exit 0 + fi +done + +# Allow $RUNTIME to be overriden by the user as an environment variable +# Else check if either docker or podman exit and set them as runtime +# if none are found error out +if [ -z "$RUNTIME" ]; then + if command -v docker >/dev/null 2>&1; then + RUNTIME="docker" + elif command -v podman >/dev/null 2>&1; then + RUNTIME="podman" + else + errcho "Error: no compatible container runtime found." + errcho "Either podman or docker are required." + errcho "See https://podman.io/getting-started/installation" + errcho "or https://docs.docker.com/install/#supported-platforms" + errcho "for installation instructions." + exit 2 + fi +fi + + +# IF we are using docker on non Linux and docker-machine isn't working print an error +# ELSE set usb_args +if [ ! "$(uname)" = "Linux" ] && [ "$RUNTIME" = "docker" ] && ! docker-machine active >/dev/null 2>&1; then + errcho "Error: target requires docker-machine to work on your platform" + errcho "See http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos" + exit 3 +else + usb_args="--privileged -v /dev:/dev" +fi +dir=$(pwd -W 2>/dev/null) || dir=$PWD # Use Windows path if on Windows + +if [ "$RUNTIME" = "docker" ]; then + uid_arg="--user $(id -u):$(id -g)" +fi + +# Run container and build firmware +"$RUNTIME" run --rm -it \ + $usb_args \ + $uid_arg \ + -w /qmk_firmware \ + -v "$dir":/qmk_firmware \ + qmkfm/qmk_cli \ + "$@" From 7df371750f297480ba5e78559ad3314b2d580888 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 25 Jan 2022 00:50:35 +0000 Subject: [PATCH 0119/1832] Workaround in Makefile for recursive rule matching (#15988) * Bodge for recursive rule matching * Bodge for recursive rule matching - force python3 * Tidy up --- Makefile | 51 +++++++++------------------------------------------ 1 file changed, 9 insertions(+), 42 deletions(-) diff --git a/Makefile b/Makefile index b435837d3039..22c79880a32e 100644 --- a/Makefile +++ b/Makefile @@ -87,53 +87,20 @@ endef # a function that returns the value COMPARE_AND_REMOVE_FROM_RULE = $(eval $(call COMPARE_AND_REMOVE_FROM_RULE_HELPER,$1))$(RULE_FOUND) - -# Recursively try to find a match for the start of the rule to be checked -# $1 The list to be checked -# If a match is found, then RULE_FOUND is set to true -# and MATCHED_ITEM to the item that was matched -define TRY_TO_MATCH_RULE_FROM_LIST_HELPER3 - ifneq ($1,) - ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,$$(firstword $1)),true) - MATCHED_ITEM := $$(firstword $1) - else - $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER3,$$(wordlist 2,9999,$1))) - endif - endif -endef - -# A recursive helper function for finding the longest match -# $1 The list to be checked -# It works by always removing the currently matched item from the list -define TRY_TO_MATCH_RULE_FROM_LIST_HELPER2 - # Stop the recursion when the list is empty - ifneq ($1,) - RULE_BEFORE := $$(RULE) - $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER3,$1)) - # If a match is found in the current list, otherwise just return what we had before - ifeq ($$(RULE_FOUND),true) - # Save the best match so far and call itself recursively - BEST_MATCH := $$(MATCHED_ITEM) - BEST_MATCH_RULE := $$(RULE) - RULE_FOUND := false - RULE := $$(RULE_BEFORE) - $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER2,$$(filter-out $$(MATCHED_ITEM),$1))) - endif - endif -endef - - -# Recursively try to find the longest match for the start of the rule to be checked +# Try to find a match for the start of the rule to be checked # $1 The list to be checked # If a match is found, then RULE_FOUND is set to true # and MATCHED_ITEM to the item that was matched define TRY_TO_MATCH_RULE_FROM_LIST_HELPER - BEST_MATCH := - $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER2,$1)) - ifneq ($$(BEST_MATCH),) + # Split on ":", padding with empty strings to avoid indexing issues + TOKEN1:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[0])" $$(RULE)) + TOKENr:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[1])" $$(RULE)) + + FOUNDx:=$$(shell echo $1 | tr " " "\n" | grep -Fx $$(TOKEN1)) + ifneq ($$(FOUNDx),) + RULE := $$(TOKENr) RULE_FOUND := true - RULE := $$(BEST_MATCH_RULE) - MATCHED_ITEM := $$(BEST_MATCH) + MATCHED_ITEM := $$(TOKEN1) else RULE_FOUND := false MATCHED_ITEM := From 2da12182f33b2909338b653420cf8ae0eed53414 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 25 Jan 2022 13:10:51 +0000 Subject: [PATCH 0120/1832] Fix handwired/ms_sculpt_mobile default keymap (#16032) --- .../ms_sculpt_mobile/{ => keymaps/milestogo}/babblePaste.c | 0 .../ms_sculpt_mobile/{ => keymaps/milestogo}/babblePaste.h | 0 .../ms_sculpt_mobile/{ => keymaps/milestogo}/babblePaste.txt | 0 .../handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk | 3 +++ keyboards/handwired/ms_sculpt_mobile/rules.mk | 3 --- 5 files changed, 3 insertions(+), 3 deletions(-) rename keyboards/handwired/ms_sculpt_mobile/{ => keymaps/milestogo}/babblePaste.c (100%) rename keyboards/handwired/ms_sculpt_mobile/{ => keymaps/milestogo}/babblePaste.h (100%) rename keyboards/handwired/ms_sculpt_mobile/{ => keymaps/milestogo}/babblePaste.txt (100%) diff --git a/keyboards/handwired/ms_sculpt_mobile/babblePaste.c b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/babblePaste.c similarity index 100% rename from keyboards/handwired/ms_sculpt_mobile/babblePaste.c rename to keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/babblePaste.c diff --git a/keyboards/handwired/ms_sculpt_mobile/babblePaste.h b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/babblePaste.h similarity index 100% rename from keyboards/handwired/ms_sculpt_mobile/babblePaste.h rename to keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/babblePaste.h diff --git a/keyboards/handwired/ms_sculpt_mobile/babblePaste.txt b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/babblePaste.txt similarity index 100% rename from keyboards/handwired/ms_sculpt_mobile/babblePaste.txt rename to keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/babblePaste.txt diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk index 6d1eae2bf92a..5b45f586b5da 100644 --- a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk +++ b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk @@ -15,3 +15,6 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +# Keymap specific files +SRC = babblePaste.c diff --git a/keyboards/handwired/ms_sculpt_mobile/rules.mk b/keyboards/handwired/ms_sculpt_mobile/rules.mk index 72015d93d857..6498fa6c7603 100644 --- a/keyboards/handwired/ms_sculpt_mobile/rules.mk +++ b/keyboards/handwired/ms_sculpt_mobile/rules.mk @@ -24,6 +24,3 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output - -# Project specific files -SRC = babblePaste.c From 4f6c0d0ea5eb922d98413f30c1710b7800aa2bd3 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 26 Jan 2022 07:21:08 +1100 Subject: [PATCH 0121/1832] More keyboard rules.mk cleanups (#16044) * More keyboard rules.mk cleanups * Found a couple more --- keyboards/adalyn/rules.mk | 7 ++----- keyboards/contender/rules.mk | 5 ++--- keyboards/deltapad/rules.mk | 5 +---- keyboards/dtisaac/cg108/rules.mk | 1 - keyboards/dtisaac/dosa40rgb/rules.mk | 1 - keyboards/edi/hardlight/mk2/rules.mk | 5 +---- keyboards/eternal_keypad/rules.mk | 2 +- keyboards/handwired/carpolly/rules.mk | 1 - keyboards/handwired/croxsplit44/rules.mk | 7 ++----- keyboards/handwired/dygma/raise/rules.mk | 2 +- keyboards/handwired/ortho_brass/rules.mk | 7 ++----- keyboards/jolofsor/denial75/rules.mk | 3 +-- keyboards/matrix/abelx/rules.mk | 3 +-- keyboards/noxary/valhalla/rules.mk | 2 +- keyboards/paprikman/albacore/rules.mk | 5 +---- keyboards/peej/rosaline/rules.mk | 2 +- keyboards/ramonimbao/mona/v32a/rules.mk | 3 +-- keyboards/reviung/reviung53/rules.mk | 3 +-- keyboards/senselessclay/gos65/rules.mk | 13 +++++-------- keyboards/viktus/smolka/rules.mk | 3 +-- keyboards/wren/rules.mk | 7 +++---- 21 files changed, 28 insertions(+), 59 deletions(-) diff --git a/keyboards/adalyn/rules.mk b/keyboards/adalyn/rules.mk index 078a9bca0645..4574cfd83a7b 100644 --- a/keyboards/adalyn/rules.mk +++ b/keyboards/adalyn/rules.mk @@ -12,11 +12,8 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover +NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output COMBO_ENABLE = no diff --git a/keyboards/contender/rules.mk b/keyboards/contender/rules.mk index 72c7f6b2ff84..155e14ca6851 100644 --- a/keyboards/contender/rules.mk +++ b/keyboards/contender/rules.mk @@ -12,8 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/deltapad/rules.mk b/keyboards/deltapad/rules.mk index 9906266f4822..1275531ef6d6 100644 --- a/keyboards/deltapad/rules.mk +++ b/keyboards/deltapad/rules.mk @@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/dtisaac/cg108/rules.mk b/keyboards/dtisaac/cg108/rules.mk index 5786064c5634..e0403a960b51 100644 --- a/keyboards/dtisaac/cg108/rules.mk +++ b/keyboards/dtisaac/cg108/rules.mk @@ -15,5 +15,4 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output diff --git a/keyboards/dtisaac/dosa40rgb/rules.mk b/keyboards/dtisaac/dosa40rgb/rules.mk index 58f478a96c5b..91d3c94ba5d7 100644 --- a/keyboards/dtisaac/dosa40rgb/rules.mk +++ b/keyboards/dtisaac/dosa40rgb/rules.mk @@ -15,7 +15,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes # Enable Bluetooth BLUETOOTH_DRIVER = AdafruitBLE diff --git a/keyboards/edi/hardlight/mk2/rules.mk b/keyboards/edi/hardlight/mk2/rules.mk index b3ff36943f48..3ee5e5a9c448 100644 --- a/keyboards/edi/hardlight/mk2/rules.mk +++ b/keyboards/edi/hardlight/mk2/rules.mk @@ -15,10 +15,7 @@ MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover +NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/eternal_keypad/rules.mk b/keyboards/eternal_keypad/rules.mk index ef9b9d80de44..e0403a960b51 100644 --- a/keyboards/eternal_keypad/rules.mk +++ b/keyboards/eternal_keypad/rules.mk @@ -12,7 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # USB Nkey Rollover +NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/carpolly/rules.mk b/keyboards/handwired/carpolly/rules.mk index a7f3367d866a..0cc90c116072 100644 --- a/keyboards/handwired/carpolly/rules.mk +++ b/keyboards/handwired/carpolly/rules.mk @@ -15,7 +15,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output # generated by KBFirmware JSON to QMK Parser diff --git a/keyboards/handwired/croxsplit44/rules.mk b/keyboards/handwired/croxsplit44/rules.mk index 0b2170c45601..87f77b103aee 100644 --- a/keyboards/handwired/croxsplit44/rules.mk +++ b/keyboards/handwired/croxsplit44/rules.mk @@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output \ No newline at end of file +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/dygma/raise/rules.mk b/keyboards/handwired/dygma/raise/rules.mk index 0fd995571556..a0120c815930 100644 --- a/keyboards/handwired/dygma/raise/rules.mk +++ b/keyboards/handwired/dygma/raise/rules.mk @@ -12,7 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # USB Nkey Rollover +NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/ortho_brass/rules.mk b/keyboards/handwired/ortho_brass/rules.mk index 19154c58f9e9..4e3b0d925ad2 100644 --- a/keyboards/handwired/ortho_brass/rules.mk +++ b/keyboards/handwired/ortho_brass/rules.mk @@ -1,7 +1,7 @@ # MCU name MCU = atmega32u4 -# Bootloader +# Bootloader selection BOOTLOADER = qmk-dfu # Build Options @@ -10,13 +10,10 @@ MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # N-key Rollover +NKRO_ENABLE = yes # Enable N-key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable RGB underlight. -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - LAYOUTS = ortho_4x12 RGBLIGHT_SUPPORTED = no diff --git a/keyboards/jolofsor/denial75/rules.mk b/keyboards/jolofsor/denial75/rules.mk index 0d5a61e25551..61ec6a921a4d 100644 --- a/keyboards/jolofsor/denial75/rules.mk +++ b/keyboards/jolofsor/denial75/rules.mk @@ -12,8 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover +NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/matrix/abelx/rules.mk b/keyboards/matrix/abelx/rules.mk index ac00984eae4e..d4a065662bf2 100644 --- a/keyboards/matrix/abelx/rules.mk +++ b/keyboards/matrix/abelx/rules.mk @@ -28,7 +28,7 @@ USE_FPU = yes # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -36,7 +36,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in diff --git a/keyboards/noxary/valhalla/rules.mk b/keyboards/noxary/valhalla/rules.mk index f7365adecf66..75490909f341 100644 --- a/keyboards/noxary/valhalla/rules.mk +++ b/keyboards/noxary/valhalla/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = stm32-dfu # Build options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/paprikman/albacore/rules.mk b/keyboards/paprikman/albacore/rules.mk index baf1b10f2844..cbfd971b0f7f 100644 --- a/keyboards/paprikman/albacore/rules.mk +++ b/keyboards/paprikman/albacore/rules.mk @@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/peej/rosaline/rules.mk b/keyboards/peej/rosaline/rules.mk index d8133b74ab54..d1dde8af62f9 100644 --- a/keyboards/peej/rosaline/rules.mk +++ b/keyboards/peej/rosaline/rules.mk @@ -2,7 +2,7 @@ MCU = atmega328p # Bootloader selection -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable diff --git a/keyboards/ramonimbao/mona/v32a/rules.mk b/keyboards/ramonimbao/mona/v32a/rules.mk index 0ed896250405..fe2be33f8295 100644 --- a/keyboards/ramonimbao/mona/v32a/rules.mk +++ b/keyboards/ramonimbao/mona/v32a/rules.mk @@ -15,8 +15,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/reviung/reviung53/rules.mk b/keyboards/reviung/reviung53/rules.mk index 90670e4b9e87..bc1c6f2dc0c7 100644 --- a/keyboards/reviung/reviung53/rules.mk +++ b/keyboards/reviung/reviung53/rules.mk @@ -12,8 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/senselessclay/gos65/rules.mk b/keyboards/senselessclay/gos65/rules.mk index 08b268c04170..b5761555d400 100644 --- a/keyboards/senselessclay/gos65/rules.mk +++ b/keyboards/senselessclay/gos65/rules.mk @@ -7,15 +7,12 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover +NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output \ No newline at end of file +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/viktus/smolka/rules.mk b/keyboards/viktus/smolka/rules.mk index 04821bd6e78c..5f58c5684bfc 100644 --- a/keyboards/viktus/smolka/rules.mk +++ b/keyboards/viktus/smolka/rules.mk @@ -12,8 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover +NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/wren/rules.mk b/keyboards/wren/rules.mk index 76e0fdf55dd6..7fa6b51f4bef 100644 --- a/keyboards/wren/rules.mk +++ b/keyboards/wren/rules.mk @@ -12,10 +12,9 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes # Enables the use of one or more encoders -SPLIT_KEYBOARD = yes # Enables split keyboard +ENCODER_ENABLE = yes # Enables the use of one or more encoders +SPLIT_KEYBOARD = yes # Enables split keyboard From 7b31fc54df6543e3426cce159a915fdaa947b57d Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Wed, 26 Jan 2022 19:24:29 +0000 Subject: [PATCH 0122/1832] Enable a default task throttle for split pointing. (#15925) --- docs/feature_pointing_device.md | 2 +- quantum/pointing_device.c | 6 +----- quantum/pointing_device.h | 3 +++ quantum/split_common/transactions.c | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 84ab88573899..1972406ff7cd 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -204,7 +204,7 @@ void pointing_device_driver_set_cpi(uint16_t cpi) {} |`POINTING_DEVICE_MOTION_PIN` | (Optional) If supported, will only read from sensor if pin is active. | _not defined_ | |`POINTING_DEVICE_TASK_THROTTLE_MS` | (Optional) Limits the frequency that the sensor is polled for motion. | _not defined_ | -!> When using `SPLIT_POINTING_ENABLE` the `POINTING_DEVICE_MOTION_PIN` functionality is not supported and would recommend `POINTING_DEVICE_TASK_THROTTLE_MS` be set to `1`. Increasing this value will increase transport performance at the cost of possible mouse responsiveness. +!> When using `SPLIT_POINTING_ENABLE` the `POINTING_DEVICE_MOTION_PIN` functionality is not supported and `POINTING_DEVICE_TASK_THROTTLE_MS` will default to `1`. Increasing this value will increase transport performance at the cost of possible mouse responsiveness. ## Split Keyboard Configuration diff --git a/quantum/pointing_device.c b/quantum/pointing_device.c index 23d93fa15fe0..cce292e0bfb0 100644 --- a/quantum/pointing_device.c +++ b/quantum/pointing_device.c @@ -217,16 +217,12 @@ __attribute__((weak)) void pointing_device_task(void) { }; #endif -#if defined(POINTING_DEVICE_TASK_THROTTLE_MS) +#if (POINTING_DEVICE_TASK_THROTTLE_MS > 0) static uint32_t last_exec = 0; if (timer_elapsed32(last_exec) < POINTING_DEVICE_TASK_THROTTLE_MS) { return; } last_exec = timer_read32(); -#else -# if defined(SPLIT_POINTING_ENABLE) -# pragma message("It's recommended you enable a throttle when sharing pointing devices.") -# endif #endif // Gather report info diff --git a/quantum/pointing_device.h b/quantum/pointing_device.h index 6ff267e49189..8394c20952c9 100644 --- a/quantum/pointing_device.h +++ b/quantum/pointing_device.h @@ -94,6 +94,9 @@ report_mouse_t pointing_device_adjust_by_defines(report_mouse_t mouse_report); #if defined(SPLIT_POINTING_ENABLE) void pointing_device_set_shared_report(report_mouse_t report); uint16_t pointing_device_get_shared_cpi(void); +# if !defined(POINTING_DEVICE_TASK_THROTTLE_MS) +# define POINTING_DEVICE_TASK_THROTTLE_MS 1 +# endif # if defined(POINTING_DEVICE_COMBINED) void pointing_device_set_cpi_on_side(bool left, uint16_t cpi); report_mouse_t pointing_device_combine_reports(report_mouse_t left_report, report_mouse_t right_report); diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 81f98363823b..d9e8fd1f6b9a 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -624,7 +624,7 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s # endif report_mouse_t temp_report; uint16_t temp_cpi; -# ifdef POINTING_DEVICE_TASK_THROTTLE_MS +# if (POINTING_DEVICE_TASK_THROTTLE_MS > 0) static uint32_t last_exec = 0; if (timer_elapsed32(last_exec) < POINTING_DEVICE_TASK_THROTTLE_MS) { return; From 6a9ec74b329e458c32db4a2e3a3e0478ac8e72b5 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 26 Jan 2022 22:57:28 +0000 Subject: [PATCH 0123/1832] Remove unused suspend_idle (#16063) --- platforms/arm_atsam/suspend.c | 7 ------- platforms/avr/suspend.c | 13 ------------- platforms/chibios/suspend.c | 9 --------- platforms/suspend.h | 1 - 4 files changed, 30 deletions(-) diff --git a/platforms/arm_atsam/suspend.c b/platforms/arm_atsam/suspend.c index e51426128d85..73bebc4308f5 100644 --- a/platforms/arm_atsam/suspend.c +++ b/platforms/arm_atsam/suspend.c @@ -3,13 +3,6 @@ #include "md_rgb_matrix.h" #include "suspend.h" -/** \brief Suspend idle - * - * FIXME: needs doc - */ -void suspend_idle(uint8_t time) { /* Note: Not used anywhere currently */ -} - /** \brief Run user level Power down * * FIXME: needs doc diff --git a/platforms/avr/suspend.c b/platforms/avr/suspend.c index b614746e6cd8..7b164a34b1a1 100644 --- a/platforms/avr/suspend.c +++ b/platforms/avr/suspend.c @@ -16,19 +16,6 @@ # include "vusb.h" #endif -/** \brief Suspend idle - * - * FIXME: needs doc - */ -void suspend_idle(uint8_t time) { - cli(); - set_sleep_mode(SLEEP_MODE_IDLE); - sleep_enable(); - sei(); - sleep_cpu(); - sleep_disable(); -} - // TODO: This needs some cleanup #if !defined(NO_SUSPEND_POWER_DOWN) && defined(WDT_vect) diff --git a/platforms/chibios/suspend.c b/platforms/chibios/suspend.c index 9310a999209c..d10ddf450156 100644 --- a/platforms/chibios/suspend.c +++ b/platforms/chibios/suspend.c @@ -13,15 +13,6 @@ #include "led.h" #include "wait.h" -/** \brief suspend idle - * - * FIXME: needs doc - */ -void suspend_idle(uint8_t time) { - // TODO: this is not used anywhere - what units is 'time' in? - wait_ms(time); -} - /** \brief suspend power down * * FIXME: needs doc diff --git a/platforms/suspend.h b/platforms/suspend.h index 081735f90e35..e4f7f39ddb83 100644 --- a/platforms/suspend.h +++ b/platforms/suspend.h @@ -3,7 +3,6 @@ #include #include -void suspend_idle(uint8_t timeout); void suspend_power_down(void); bool suspend_wakeup_condition(void); void suspend_wakeup_init(void); From be59e8af2b8efcee2933f3b9e40129bc1d8f9d1c Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Thu, 27 Jan 2022 06:13:27 +0100 Subject: [PATCH 0124/1832] Deprecate split transactions status field (#16023) --- drivers/serial.h | 19 +----------- platforms/avr/drivers/serial.c | 39 +++++------------------- platforms/chibios/drivers/serial.c | 19 ++++-------- platforms/chibios/drivers/serial_usart.c | 32 ++++++------------- quantum/split_common/transactions.c | 7 ++--- quantum/split_common/transactions.h | 1 - quantum/split_common/transport.c | 2 +- 7 files changed, 28 insertions(+), 91 deletions(-) diff --git a/drivers/serial.h b/drivers/serial.h index d9c2a69e9699..0cfdbd995946 100644 --- a/drivers/serial.h +++ b/drivers/serial.h @@ -26,21 +26,4 @@ void soft_serial_initiator_init(void); // target is interrupt accept side void soft_serial_target_init(void); -// initiator result -#define TRANSACTION_END 0 -#define TRANSACTION_NO_RESPONSE 0x1 -#define TRANSACTION_DATA_ERROR 0x2 -#define TRANSACTION_TYPE_ERROR 0x4 -int soft_serial_transaction(int sstd_index); - -// target status -// *SSTD_t.status has -// initiator: -// TRANSACTION_END -// or TRANSACTION_NO_RESPONSE -// or TRANSACTION_DATA_ERROR -// target: -// TRANSACTION_DATA_ERROR -// or TRANSACTION_ACCEPTED -#define TRANSACTION_ACCEPTED 0x8 -int soft_serial_get_and_clean_status(int sstd_index); +bool soft_serial_transaction(int sstd_index); diff --git a/platforms/avr/drivers/serial.c b/platforms/avr/drivers/serial.c index ab0b52afd19c..62908e587578 100644 --- a/platforms/avr/drivers/serial.c +++ b/platforms/avr/drivers/serial.c @@ -409,13 +409,7 @@ ISR(SERIAL_PIN_INTERRUPT) { // target recive phase if (trans->initiator2target_buffer_size > 0) { - if (serial_recive_packet((uint8_t *)split_trans_initiator2target_buffer(trans), trans->initiator2target_buffer_size)) { - *trans->status = TRANSACTION_ACCEPTED; - } else { - *trans->status = TRANSACTION_DATA_ERROR; - } - } else { - *trans->status = TRANSACTION_ACCEPTED; + serial_recive_packet((uint8_t *)split_trans_initiator2target_buffer(trans), trans->initiator2target_buffer_size); } sync_recv(); // weit initiator output to high @@ -424,19 +418,13 @@ ISR(SERIAL_PIN_INTERRUPT) { ///////// // start transaction by initiator // -// int soft_serial_transaction(int sstd_index) +// bool soft_serial_transaction(int sstd_index) // -// Returns: -// TRANSACTION_END -// TRANSACTION_NO_RESPONSE -// TRANSACTION_DATA_ERROR // this code is very time dependent, so we need to disable interrupts -int soft_serial_transaction(int sstd_index) { - if (sstd_index > NUM_TOTAL_TRANSACTIONS) return TRANSACTION_TYPE_ERROR; +bool soft_serial_transaction(int sstd_index) { + if (sstd_index > NUM_TOTAL_TRANSACTIONS) return false; split_transaction_desc_t *trans = &split_transaction_table[sstd_index]; - if (!trans->status) return TRANSACTION_TYPE_ERROR; // not registered - cli(); // signal to the target that we want to start a transaction @@ -463,9 +451,8 @@ int soft_serial_transaction(int sstd_index) { // slave failed to pull the line low, assume not present serial_output(); serial_high(); - *trans->status = TRANSACTION_NO_RESPONSE; sei(); - return TRANSACTION_NO_RESPONSE; + return false; } _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT); } @@ -476,9 +463,8 @@ int soft_serial_transaction(int sstd_index) { if (!serial_recive_packet((uint8_t *)split_trans_target2initiator_buffer(trans), trans->target2initiator_buffer_size)) { serial_output(); serial_high(); - *trans->status = TRANSACTION_DATA_ERROR; sei(); - return TRANSACTION_DATA_ERROR; + return false; } } @@ -493,19 +479,8 @@ int soft_serial_transaction(int sstd_index) { // always, release the line when not in use sync_send(); - *trans->status = TRANSACTION_END; - sei(); - return TRANSACTION_END; -} - -int soft_serial_get_and_clean_status(int sstd_index) { - split_transaction_desc_t *trans = &split_transaction_table[sstd_index]; - cli(); - int retval = *trans->status; - *trans->status = 0; - ; sei(); - return retval; + return true; } #endif diff --git a/platforms/chibios/drivers/serial.c b/platforms/chibios/drivers/serial.c index ef6f0aa8d5f3..17d0b32be8ad 100644 --- a/platforms/chibios/drivers/serial.c +++ b/platforms/chibios/drivers/serial.c @@ -179,8 +179,6 @@ void interrupt_handler(void *arg) { // wait for the sync to finish sending serial_delay(); - *trans->status = (checksum_computed == checksum_received) ? TRANSACTION_ACCEPTED : TRANSACTION_DATA_ERROR; - // end transaction serial_input(); @@ -193,17 +191,12 @@ void interrupt_handler(void *arg) { ///////// // start transaction by initiator // -// int soft_serial_transaction(int sstd_index) +// bool soft_serial_transaction(int sstd_index) // -// Returns: -// TRANSACTION_END -// TRANSACTION_NO_RESPONSE -// TRANSACTION_DATA_ERROR // this code is very time dependent, so we need to disable interrupts -int soft_serial_transaction(int sstd_index) { - if (sstd_index > NUM_TOTAL_TRANSACTIONS) return TRANSACTION_TYPE_ERROR; +bool soft_serial_transaction(int sstd_index) { + if (sstd_index > NUM_TOTAL_TRANSACTIONS) return false; split_transaction_desc_t *trans = &split_transaction_table[sstd_index]; - if (!trans->status) return TRANSACTION_TYPE_ERROR; // not registered // TODO: remove extra delay between transactions serial_delay(); @@ -226,7 +219,7 @@ int soft_serial_transaction(int sstd_index) { // slave failed to pull the line low, assume not present dprintf("serial::NO_RESPONSE\n"); chSysUnlock(); - return TRANSACTION_NO_RESPONSE; + return false; } // if the slave is present syncronize with it @@ -266,7 +259,7 @@ int soft_serial_transaction(int sstd_index) { serial_high(); chSysUnlock(); - return TRANSACTION_DATA_ERROR; + return false; } // always, release the line when not in use @@ -274,5 +267,5 @@ int soft_serial_transaction(int sstd_index) { serial_output(); chSysUnlock(); - return TRANSACTION_END; + return true; } diff --git a/platforms/chibios/drivers/serial_usart.c b/platforms/chibios/drivers/serial_usart.c index 124e4be685ed..42c476a374a4 100644 --- a/platforms/chibios/drivers/serial_usart.c +++ b/platforms/chibios/drivers/serial_usart.c @@ -36,7 +36,7 @@ static SerialDriver* serial_driver = &SERIAL_USART_DRIVER; static inline bool react_to_transactions(void); static inline bool __attribute__((nonnull)) receive(uint8_t* destination, const size_t size); static inline bool __attribute__((nonnull)) send(const uint8_t* source, const size_t size); -static inline int initiate_transaction(uint8_t sstd_index); +static inline bool initiate_transaction(uint8_t sstd_index); static inline void usart_clear(void); /** @@ -206,14 +206,12 @@ static inline bool react_to_transactions(void) { to signal that the slave is ready to receive possible transaction buffers */ sstd_index ^= HANDSHAKE_MAGIC; if (!send(&sstd_index, sizeof(sstd_index))) { - *trans->status = TRANSACTION_DATA_ERROR; return false; } /* Receive transaction buffer from the master. If this transaction requires it.*/ if (trans->initiator2target_buffer_size) { if (!receive(split_trans_initiator2target_buffer(trans), trans->initiator2target_buffer_size)) { - *trans->status = TRANSACTION_DATA_ERROR; return false; } } @@ -226,12 +224,10 @@ static inline bool react_to_transactions(void) { /* Send transaction buffer to the master. If this transaction requires it. */ if (trans->target2initiator_buffer_size) { if (!send(split_trans_target2initiator_buffer(trans), trans->target2initiator_buffer_size)) { - *trans->status = TRANSACTION_DATA_ERROR; return false; } } - *trans->status = TRANSACTION_ACCEPTED; return true; } @@ -252,11 +248,9 @@ void soft_serial_initiator_init(void) { * @brief Start transaction from the master half to the slave half. * * @param index Transaction Table index of the transaction to start. - * @return int TRANSACTION_NO_RESPONSE in case of Timeout. - * TRANSACTION_TYPE_ERROR in case of invalid transaction index. - * TRANSACTION_END in case of success. + * @return bool Indicates success of transaction. */ -int soft_serial_transaction(int index) { +bool soft_serial_transaction(int index) { /* Clear the receive queue, to start with a clean slate. * Parts of failed transactions or spurious bytes could still be in it. */ usart_clear(); @@ -266,25 +260,19 @@ int soft_serial_transaction(int index) { /** * @brief Initiate transaction to slave half. */ -static inline int initiate_transaction(uint8_t sstd_index) { +static inline bool initiate_transaction(uint8_t sstd_index) { /* Sanity check that we are actually starting a valid transaction. */ if (sstd_index >= NUM_TOTAL_TRANSACTIONS) { dprintln("USART: Illegal transaction Id."); - return TRANSACTION_TYPE_ERROR; + return false; } split_transaction_desc_t* trans = &split_transaction_table[sstd_index]; - /* Transaction is not registered. Abort. */ - if (!trans->status) { - dprintln("USART: Transaction not registered."); - return TRANSACTION_TYPE_ERROR; - } - /* Send transaction table index to the slave, which doubles as basic handshake token. */ if (!send(&sstd_index, sizeof(sstd_index))) { dprintln("USART: Send Handshake failed."); - return TRANSACTION_TYPE_ERROR; + return false; } uint8_t sstd_index_shake = 0xFF; @@ -295,14 +283,14 @@ static inline int initiate_transaction(uint8_t sstd_index) { */ if (!receive(&sstd_index_shake, sizeof(sstd_index_shake)) || (sstd_index_shake != (sstd_index ^ HANDSHAKE_MAGIC))) { dprintln("USART: Handshake failed."); - return TRANSACTION_NO_RESPONSE; + return false; } /* Send transaction buffer to the slave. If this transaction requires it. */ if (trans->initiator2target_buffer_size) { if (!send(split_trans_initiator2target_buffer(trans), trans->initiator2target_buffer_size)) { dprintln("USART: Send failed."); - return TRANSACTION_NO_RESPONSE; + return false; } } @@ -310,9 +298,9 @@ static inline int initiate_transaction(uint8_t sstd_index) { if (trans->target2initiator_buffer_size) { if (!receive(split_trans_target2initiator_buffer(trans), trans->target2initiator_buffer_size)) { dprintln("USART: Receive failed."); - return TRANSACTION_NO_RESPONSE; + return false; } } - return TRANSACTION_END; + return true; } diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index d9e8fd1f6b9a..4b059a2b8a8b 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -35,11 +35,11 @@ #define sizeof_member(type, member) sizeof(((type *)NULL)->member) #define trans_initiator2target_initializer_cb(member, cb) \ - { &dummy, sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), 0, 0, cb } + { sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), 0, 0, cb } #define trans_initiator2target_initializer(member) trans_initiator2target_initializer_cb(member, NULL) #define trans_target2initiator_initializer_cb(member, cb) \ - { &dummy, 0, 0, sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), cb } + { 0, 0, sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), cb } #define trans_target2initiator_initializer(member) trans_target2initiator_initializer_cb(member, NULL) #define transport_write(id, data, length) transport_execute_transaction(id, data, length, NULL, 0) @@ -658,10 +658,9 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s //////////////////////////////////////////////////// -uint8_t dummy; split_transaction_desc_t split_transaction_table[NUM_TOTAL_TRANSACTIONS] = { // Set defaults - [0 ...(NUM_TOTAL_TRANSACTIONS - 1)] = {NULL, 0, 0, 0, 0, 0}, + [0 ...(NUM_TOTAL_TRANSACTIONS - 1)] = {0, 0, 0, 0, 0}, #ifdef USE_I2C [I2C_EXECUTE_CALLBACK] = trans_initiator2target_initializer(transaction_id), diff --git a/quantum/split_common/transactions.h b/quantum/split_common/transactions.h index 53610d6f8e85..e38ec79ce910 100644 --- a/quantum/split_common/transactions.h +++ b/quantum/split_common/transactions.h @@ -27,7 +27,6 @@ typedef void (*slave_callback_t)(uint8_t initiator2target_buffer_size, const voi // Split transaction Descriptor typedef struct _split_transaction_desc_t { - uint8_t * status; uint8_t initiator2target_buffer_size; uint16_t initiator2target_offset; uint8_t target2initiator_buffer_size; diff --git a/quantum/split_common/transport.c b/quantum/split_common/transport.c index bcc0261417d4..060ba8a9274c 100644 --- a/quantum/split_common/transport.c +++ b/quantum/split_common/transport.c @@ -99,7 +99,7 @@ bool transport_execute_transaction(int8_t id, const void *initiator2target_buf, memcpy(split_trans_initiator2target_buffer(trans), initiator2target_buf, len); } - if (soft_serial_transaction(id) != TRANSACTION_END) { + if (!soft_serial_transaction(id)) { return false; } From 1f59fe6d1b1da209fa4475f10d082455ee1381eb Mon Sep 17 00:00:00 2001 From: Ga68 Date: Fri, 28 Jan 2022 23:03:21 -0800 Subject: [PATCH 0125/1832] Adjust tap_code16 to account for TAP_HOLD_CAPS_DELAY (#15635) Co-authored-by: Ga68 --- quantum/quantum.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/quantum/quantum.c b/quantum/quantum.c index 21f499165a82..833f53175f08 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -93,9 +93,12 @@ __attribute__((weak)) void unregister_code16(uint16_t code) { __attribute__((weak)) void tap_code16(uint16_t code) { register_code16(code); -#if TAP_CODE_DELAY > 0 - wait_ms(TAP_CODE_DELAY); -#endif + if (code == KC_CAPS_LOCK) { + wait_ms(TAP_HOLD_CAPS_DELAY); + } + else if (TAP_CODE_DELAY > 0) { + wait_ms(TAP_CODE_DELAY); + } unregister_code16(code); } From d700447ddac307ab6b1e39b0485ddef76ed1fe7f Mon Sep 17 00:00:00 2001 From: Pete Sevander Date: Sat, 29 Jan 2022 09:19:36 +0200 Subject: [PATCH 0126/1832] Combo `TAP_CODE_DELAY` and `clear_weak_mods` (#15866) --- quantum/process_keycode/process_combo.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index 8040ede5289a..21fd737ab7db 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c @@ -17,6 +17,7 @@ #include "print.h" #include "process_combo.h" #include "action_tapping.h" +#include "action.h" #ifdef COMBO_COUNT __attribute__((weak)) combo_t key_combos[COMBO_COUNT]; @@ -193,6 +194,9 @@ void clear_combos(void) { static inline void dump_key_buffer(void) { /* First call start from 0 index; recursive calls need to start from i+1 index */ static uint8_t key_buffer_next = 0; +#if TAP_CODE_DELAY > 0 + bool delay_done = false; +#endif if (key_buffer_size == 0) { return; @@ -218,6 +222,15 @@ static inline void dump_key_buffer(void) { #endif } record->event.time = 0; + clear_weak_mods(); + +#if TAP_CODE_DELAY > 0 + // only delay once and for a non-tapping key + if (!delay_done && !is_tap_record(record)) { + delay_done = true; + wait_ms(TAP_CODE_DELAY); + } +#endif } key_buffer_next = key_buffer_size = 0; From b79b8dcdd036c1ad727985f088be1a03c5642be2 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Sat, 29 Jan 2022 04:25:49 -0800 Subject: [PATCH 0127/1832] Format code according to conventions (#16110) --- quantum/quantum.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/quantum/quantum.c b/quantum/quantum.c index 833f53175f08..ca3e4027dc62 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -95,9 +95,8 @@ __attribute__((weak)) void tap_code16(uint16_t code) { register_code16(code); if (code == KC_CAPS_LOCK) { wait_ms(TAP_HOLD_CAPS_DELAY); - } - else if (TAP_CODE_DELAY > 0) { - wait_ms(TAP_CODE_DELAY); + } else if (TAP_CODE_DELAY > 0) { + wait_ms(TAP_CODE_DELAY); } unregister_code16(code); } From 7d685956cc616a8d76aa7866f42bf569a9ca3fca Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 31 Jan 2022 04:29:42 +1100 Subject: [PATCH 0128/1832] Rename `AdafruitBLE` to `BluefruitLE` (#16127) --- common_features.mk | 10 +-- data/schemas/keyboard.jsonschema | 2 +- docs/config_options.md | 4 +- docs/feature_bluetooth.md | 10 +-- .../{adafruit_ble.cpp => bluefruit_le.cpp} | 64 +++++++++---------- .../{adafruit_ble.h => bluefruit_le.h} | 20 +++--- drivers/bluetooth/outputselect.c | 8 +-- keyboards/10bleoledhub/rules.mk | 2 +- .../mf68/keymaps/mf68_ble/rules.mk | 2 +- keyboards/atreus/feather/rules.mk | 2 +- keyboards/bioi/main.c | 6 +- keyboards/converter/m0110_usb/readme.md | 2 +- keyboards/converter/usb_usb/ble/config.h | 4 +- keyboards/converter/usb_usb/ble/rules.mk | 2 +- keyboards/dtisaac/dosa40rgb/readme.md | 2 +- keyboards/dtisaac/dosa40rgb/rules.mk | 2 +- keyboards/handwired/42/rules.mk | 2 +- keyboards/handwired/bdn9_ble/rules.mk | 2 +- keyboards/handwired/fruity60/rules.mk | 2 +- keyboards/handwired/prkl30/feather/rules.mk | 2 +- .../promethium/keymaps/default/keymap.c | 6 +- .../promethium/keymaps/priyadi/keymap.c | 6 +- keyboards/handwired/promethium/promethium.c | 4 +- keyboards/handwired/promethium/rules.mk | 2 +- keyboards/handwired/pterodactyl/rules.mk | 2 +- keyboards/handwired/slash/rules.mk | 2 +- keyboards/latin47ble/rules.mk | 2 +- keyboards/latin64ble/rules.mk | 2 +- keyboards/latinpadble/rules.mk | 2 +- keyboards/meira/featherble/rules.mk | 2 +- keyboards/nek_type_a/rules.mk | 2 +- .../spaceman/pancake/rev1/feather/rules.mk | 2 +- keyboards/tokyokeyboard/alix40/rules.mk | 2 +- tmk_core/protocol/lufa/lufa.c | 30 ++++----- users/wanleg/rules.mk | 2 +- 35 files changed, 109 insertions(+), 109 deletions(-) rename drivers/bluetooth/{adafruit_ble.cpp => bluefruit_le.cpp} (92%) rename drivers/bluetooth/{adafruit_ble.h => bluefruit_le.h} (70%) diff --git a/common_features.mk b/common_features.mk index e00f95f8e4e0..d3da487e696b 100644 --- a/common_features.mk +++ b/common_features.mk @@ -717,7 +717,7 @@ ifeq ($(strip $(USBPD_ENABLE)), yes) endif BLUETOOTH_ENABLE ?= no -VALID_BLUETOOTH_DRIVER_TYPES := AdafruitBLE RN42 custom +VALID_BLUETOOTH_DRIVER_TYPES := BluefruitLE RN42 custom ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) ifeq ($(filter $(strip $(BLUETOOTH_DRIVER)),$(VALID_BLUETOOTH_DRIVER_TYPES)),) $(error "$(BLUETOOTH_DRIVER)" is not a valid Bluetooth driver type) @@ -727,15 +727,15 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) COMMON_VPATH += $(DRIVER_PATH)/bluetooth SRC += outputselect.c - ifeq ($(strip $(BLUETOOTH_DRIVER)), AdafruitBLE) - OPT_DEFS += -DMODULE_ADAFRUIT_BLE + ifeq ($(strip $(BLUETOOTH_DRIVER)), BluefruitLE) + OPT_DEFS += -DBLUETOOTH_BLUEFRUIT_LE SRC += analog.c - SRC += $(DRIVER_PATH)/bluetooth/adafruit_ble.cpp + SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp QUANTUM_LIB_SRC += spi_master.c endif ifeq ($(strip $(BLUETOOTH_DRIVER)), RN42) - OPT_DEFS += -DMODULE_RN42 + OPT_DEFS += -DBLUETOOTH_RN42 SRC += $(DRIVER_PATH)/bluetooth/rn42.c QUANTUM_LIB_SRC += uart.c endif diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 547df94d1f3a..132484b708ae 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -45,7 +45,7 @@ "properties": { "driver": { "type": "string", - "enum": ["AdafruitBLE", "RN42"] + "enum": ["BluefruitLE", "RN42"] }, "lto": {"type": "boolean"}, } diff --git a/docs/config_options.md b/docs/config_options.md index 7657fae02e5b..832af78b22cc 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -429,8 +429,8 @@ Use these to enable or disable building certain features. The more you have enab * MIDI controls * `UNICODE_ENABLE` * Unicode -* `BLUETOOTH` - * Current options are AdafruitBLE, RN42 +* `BLUETOOTH_ENABLE` + * Current options are BluefruitLE, RN42 * `SPLIT_KEYBOARD` * Enables split keyboard support (dual MCU like the let's split and bakingpy's boards) and includes all necessary files located at quantum/split_common * `CUSTOM_MATRIX` diff --git a/docs/feature_bluetooth.md b/docs/feature_bluetooth.md index f6fb02d948bc..d4ed494053b1 100644 --- a/docs/feature_bluetooth.md +++ b/docs/feature_bluetooth.md @@ -7,7 +7,7 @@ Currently Bluetooth support is limited to AVR based chips. For Bluetooth 2.1, QM |Board |Bluetooth Protocol |Connection Type|rules.mk |Bluetooth Chip| |----------------------------------------------------------------|--------------------|---------------|--------------------------------|--------------| |Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic |UART |`BLUETOOTH_DRIVER = RN42` |RN-42 | -|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy|SPI |`BLUETOOTH_DRIVER = AdafruitBLE`|nRF51822 | +|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy|SPI |`BLUETOOTH_DRIVER = BluefruitLE`|nRF51822 | Not Supported Yet but possible: * [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479). [Possible tmk implementation found in](https://github.com/tmk/tmk_keyboard/issues/514) @@ -17,9 +17,9 @@ Not Supported Yet but possible: ### Adafruit BLE SPI Friend Currently The only bluetooth chipset supported by QMK is the Adafruit Bluefruit SPI Friend. It's a Nordic nRF51822 based chip running Adafruit's custom firmware. Data is transmitted via Adafruit's SDEP over Hardware SPI. The [Feather 32u4 Bluefruit LE](https://www.adafruit.com/product/2829) is supported as it's an AVR mcu connected via SPI to the Nordic BLE chip with Adafruit firmware. If Building a custom board with the SPI friend it would be easiest to just use the pin selection that the 32u4 feather uses but you can change the pins in the config.h options with the following defines: -* `#define ADAFRUIT_BLE_RST_PIN D4` -* `#define ADAFRUIT_BLE_CS_PIN B4` -* `#define ADAFRUIT_BLE_IRQ_PIN E6` +* `#define BLUEFRUIT_LE_RST_PIN D4` +* `#define BLUEFRUIT_LE_CS_PIN B4` +* `#define BLUEFRUIT_LE_IRQ_PIN E6` A Bluefruit UART friend can be converted to an SPI friend, however this [requires](https://github.com/qmk/qmk_firmware/issues/2274) some reflashing and soldering directly to the MDBT40 chip. @@ -32,7 +32,7 @@ Add the following to your `rules.mk`: ```make BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE # or RN42 +BLUETOOTH_DRIVER = BluefruitLE # or RN42 ``` ## Bluetooth Keycodes diff --git a/drivers/bluetooth/adafruit_ble.cpp b/drivers/bluetooth/bluefruit_le.cpp similarity index 92% rename from drivers/bluetooth/adafruit_ble.cpp rename to drivers/bluetooth/bluefruit_le.cpp index 34a780e9a5cc..86581a1a489b 100644 --- a/drivers/bluetooth/adafruit_ble.cpp +++ b/drivers/bluetooth/bluefruit_le.cpp @@ -1,4 +1,4 @@ -#include "adafruit_ble.h" +#include "bluefruit_le.h" #include #include @@ -16,20 +16,20 @@ // These are the pin assignments for the 32u4 boards. // You may define them to something else in your config.h // if yours is wired up differently. -#ifndef ADAFRUIT_BLE_RST_PIN -# define ADAFRUIT_BLE_RST_PIN D4 +#ifndef BLUEFRUIT_LE_RST_PIN +# define BLUEFRUIT_LE_RST_PIN D4 #endif -#ifndef ADAFRUIT_BLE_CS_PIN -# define ADAFRUIT_BLE_CS_PIN B4 +#ifndef BLUEFRUIT_LE_CS_PIN +# define BLUEFRUIT_LE_CS_PIN B4 #endif -#ifndef ADAFRUIT_BLE_IRQ_PIN -# define ADAFRUIT_BLE_IRQ_PIN E6 +#ifndef BLUEFRUIT_LE_IRQ_PIN +# define BLUEFRUIT_LE_IRQ_PIN E6 #endif -#ifndef ADAFRUIT_BLE_SCK_DIVISOR -# define ADAFRUIT_BLE_SCK_DIVISOR 2 // 4MHz SCK/8MHz CPU, calculated for Feather 32U4 BLE +#ifndef BLUEFRUIT_LE_SCK_DIVISOR +# define BLUEFRUIT_LE_SCK_DIVISOR 2 // 4MHz SCK/8MHz CPU, calculated for Feather 32U4 BLE #endif #define SAMPLE_BATTERY @@ -143,7 +143,7 @@ static bool at_command_P(const char *cmd, char *resp, uint16_t resplen, bool ver // Send a single SDEP packet static bool sdep_send_pkt(const struct sdep_msg *msg, uint16_t timeout) { - spi_start(ADAFRUIT_BLE_CS_PIN, false, 0, ADAFRUIT_BLE_SCK_DIVISOR); + spi_start(BLUEFRUIT_LE_CS_PIN, false, 0, BLUEFRUIT_LE_SCK_DIVISOR); uint16_t timerStart = timer_read(); bool success = false; bool ready = false; @@ -157,7 +157,7 @@ static bool sdep_send_pkt(const struct sdep_msg *msg, uint16_t timeout) { // Release it and let it initialize spi_stop(); wait_us(SdepBackOff); - spi_start(ADAFRUIT_BLE_CS_PIN, false, 0, ADAFRUIT_BLE_SCK_DIVISOR); + spi_start(BLUEFRUIT_LE_CS_PIN, false, 0, BLUEFRUIT_LE_SCK_DIVISOR); } while (timer_elapsed(timerStart) < timeout); if (ready) { @@ -190,7 +190,7 @@ static bool sdep_recv_pkt(struct sdep_msg *msg, uint16_t timeout) { bool ready = false; do { - ready = readPin(ADAFRUIT_BLE_IRQ_PIN); + ready = readPin(BLUEFRUIT_LE_IRQ_PIN); if (ready) { break; } @@ -198,7 +198,7 @@ static bool sdep_recv_pkt(struct sdep_msg *msg, uint16_t timeout) { } while (timer_elapsed(timerStart) < timeout); if (ready) { - spi_start(ADAFRUIT_BLE_CS_PIN, false, 0, ADAFRUIT_BLE_SCK_DIVISOR); + spi_start(BLUEFRUIT_LE_CS_PIN, false, 0, BLUEFRUIT_LE_SCK_DIVISOR); do { // Read the command type, waiting for the data to be ready @@ -207,7 +207,7 @@ static bool sdep_recv_pkt(struct sdep_msg *msg, uint16_t timeout) { // Release it and let it initialize spi_stop(); wait_us(SdepBackOff); - spi_start(ADAFRUIT_BLE_CS_PIN, false, 0, ADAFRUIT_BLE_SCK_DIVISOR); + spi_start(BLUEFRUIT_LE_CS_PIN, false, 0, BLUEFRUIT_LE_SCK_DIVISOR); continue; } @@ -233,7 +233,7 @@ static void resp_buf_read_one(bool greedy) { return; } - if (readPin(ADAFRUIT_BLE_IRQ_PIN)) { + if (readPin(BLUEFRUIT_LE_IRQ_PIN)) { struct sdep_msg msg; again: @@ -244,7 +244,7 @@ static void resp_buf_read_one(bool greedy) { dprintf("recv latency %dms\n", TIMER_DIFF_16(timer_read(), last_send)); } - if (greedy && resp_buf.peek(last_send) && readPin(ADAFRUIT_BLE_IRQ_PIN)) { + if (greedy && resp_buf.peek(last_send) && readPin(BLUEFRUIT_LE_IRQ_PIN)) { goto again; } } @@ -295,16 +295,16 @@ static bool ble_init(void) { state.configured = false; state.is_connected = false; - setPinInput(ADAFRUIT_BLE_IRQ_PIN); + setPinInput(BLUEFRUIT_LE_IRQ_PIN); spi_init(); // Perform a hardware reset - setPinOutput(ADAFRUIT_BLE_RST_PIN); - writePinHigh(ADAFRUIT_BLE_RST_PIN); - writePinLow(ADAFRUIT_BLE_RST_PIN); + setPinOutput(BLUEFRUIT_LE_RST_PIN); + writePinHigh(BLUEFRUIT_LE_RST_PIN); + writePinLow(BLUEFRUIT_LE_RST_PIN); wait_ms(10); - writePinHigh(ADAFRUIT_BLE_RST_PIN); + writePinHigh(BLUEFRUIT_LE_RST_PIN); wait_ms(1000); // Give it a second to initialize @@ -424,9 +424,9 @@ bool at_command_P(const char *cmd, char *resp, uint16_t resplen, bool verbose) { return at_command(cmdbuf, resp, resplen, verbose); } -bool adafruit_ble_is_connected(void) { return state.is_connected; } +bool bluefruit_le_is_connected(void) { return state.is_connected; } -bool adafruit_ble_enable_keyboard(void) { +bool bluefruit_le_enable_keyboard(void) { char resbuf[128]; if (!state.initialized && !ble_init()) { @@ -498,16 +498,16 @@ static void set_connected(bool connected) { } } -void adafruit_ble_task(void) { +void bluefruit_le_task(void) { char resbuf[48]; - if (!state.configured && !adafruit_ble_enable_keyboard()) { + if (!state.configured && !bluefruit_le_enable_keyboard()) { return; } resp_buf_read_one(true); send_buf_send_one(SdepShortTimeout); - if (resp_buf.empty() && (state.event_flags & UsingEvents) && readPin(ADAFRUIT_BLE_IRQ_PIN)) { + if (resp_buf.empty() && (state.event_flags & UsingEvents) && readPin(BLUEFRUIT_LE_IRQ_PIN)) { // Must be an event update if (at_command_P(PSTR("AT+EVENTSTATUS"), resbuf, sizeof(resbuf))) { uint32_t mask = strtoul(resbuf, NULL, 16); @@ -609,7 +609,7 @@ static bool process_queue_item(struct queue_item *item, uint16_t timeout) { } } -void adafruit_ble_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nkeys) { +void bluefruit_le_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nkeys) { struct queue_item item; bool didWait = false; @@ -643,7 +643,7 @@ void adafruit_ble_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nk } } -void adafruit_ble_send_consumer_key(uint16_t usage) { +void bluefruit_le_send_consumer_key(uint16_t usage) { struct queue_item item; item.queue_type = QTConsumer; @@ -655,7 +655,7 @@ void adafruit_ble_send_consumer_key(uint16_t usage) { } #ifdef MOUSE_ENABLE -void adafruit_ble_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, uint8_t buttons) { +void bluefruit_le_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, uint8_t buttons) { struct queue_item item; item.queue_type = QTMouseMove; @@ -671,9 +671,9 @@ void adafruit_ble_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, } #endif -uint32_t adafruit_ble_read_battery_voltage(void) { return state.vbat; } +uint32_t bluefruit_le_read_battery_voltage(void) { return state.vbat; } -bool adafruit_ble_set_mode_leds(bool on) { +bool bluefruit_le_set_mode_leds(bool on) { if (!state.configured) { return false; } @@ -689,7 +689,7 @@ bool adafruit_ble_set_mode_leds(bool on) { } // https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/ble-generic#at-plus-blepowerlevel -bool adafruit_ble_set_power_level(int8_t level) { +bool bluefruit_le_set_power_level(int8_t level) { char cmd[46]; if (!state.configured) { return false; diff --git a/drivers/bluetooth/adafruit_ble.h b/drivers/bluetooth/bluefruit_le.h similarity index 70% rename from drivers/bluetooth/adafruit_ble.h rename to drivers/bluetooth/bluefruit_le.h index b43e0771d996..de301c6167a2 100644 --- a/drivers/bluetooth/adafruit_ble.h +++ b/drivers/bluetooth/bluefruit_le.h @@ -16,43 +16,43 @@ extern "C" { #endif /* Instruct the module to enable HID keyboard support and reset */ -extern bool adafruit_ble_enable_keyboard(void); +extern bool bluefruit_le_enable_keyboard(void); /* Query to see if the BLE module is connected */ -extern bool adafruit_ble_query_is_connected(void); +extern bool bluefruit_le_query_is_connected(void); /* Returns true if we believe that the BLE module is connected. * This uses our cached understanding that is maintained by * calling ble_task() periodically. */ -extern bool adafruit_ble_is_connected(void); +extern bool bluefruit_le_is_connected(void); /* Call this periodically to process BLE-originated things */ -extern void adafruit_ble_task(void); +extern void bluefruit_le_task(void); /* Generates keypress events for a set of keys. * The hid modifier mask specifies the state of the modifier keys for * this set of keys. * Also sends a key release indicator, so that the keys do not remain * held down. */ -extern void adafruit_ble_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nkeys); +extern void bluefruit_le_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nkeys); /* Send a consumer usage. * (milliseconds) */ -extern void adafruit_ble_send_consumer_key(uint16_t usage); +extern void bluefruit_le_send_consumer_key(uint16_t usage); #ifdef MOUSE_ENABLE /* Send a mouse/wheel movement report. * The parameters are signed and indicate positive or negative direction * change. */ -extern void adafruit_ble_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, uint8_t buttons); +extern void bluefruit_le_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, uint8_t buttons); #endif /* Compute battery voltage by reading an analog pin. * Returns the integer number of millivolts */ -extern uint32_t adafruit_ble_read_battery_voltage(void); +extern uint32_t bluefruit_le_read_battery_voltage(void); -extern bool adafruit_ble_set_mode_leds(bool on); -extern bool adafruit_ble_set_power_level(int8_t level); +extern bool bluefruit_le_set_mode_leds(bool on); +extern bool bluefruit_le_set_power_level(int8_t level); #ifdef __cplusplus } diff --git a/drivers/bluetooth/outputselect.c b/drivers/bluetooth/outputselect.c index f758c652809b..cdd2e64cfdb7 100644 --- a/drivers/bluetooth/outputselect.c +++ b/drivers/bluetooth/outputselect.c @@ -18,8 +18,8 @@ along with this program. If not, see . # include "lufa.h" #endif -#ifdef MODULE_ADAFRUIT_BLE -# include "adafruit_ble.h" +#ifdef BLUETOOTH_BLUEFRUIT_LE +# include "bluefruit_le.h" #endif uint8_t desired_output = OUTPUT_DEFAULT; @@ -54,8 +54,8 @@ uint8_t auto_detect_output(void) { return OUTPUT_USB; } -#ifdef MODULE_ADAFRUIT_BLE - if (adafruit_ble_is_connected()) { +#ifdef BLUETOOTH_BLUEFRUIT_LE + if (bluefruit_le_is_connected()) { return OUTPUT_BLUETOOTH; } #endif diff --git a/keyboards/10bleoledhub/rules.mk b/keyboards/10bleoledhub/rules.mk index 33170c43a23b..bd10e11022f4 100644 --- a/keyboards/10bleoledhub/rules.mk +++ b/keyboards/10bleoledhub/rules.mk @@ -20,7 +20,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE OLED_ENABLE = yes OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes diff --git a/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk b/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk index 160b3684b3c4..975c58188334 100644 --- a/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk +++ b/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk @@ -5,5 +5,5 @@ F_CPU = 8000000 # change yes to no to disable # BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE BACKLIGHT_ENABLE = no diff --git a/keyboards/atreus/feather/rules.mk b/keyboards/atreus/feather/rules.mk index ad0b4a5046be..6280275c1e58 100644 --- a/keyboards/atreus/feather/rules.mk +++ b/keyboards/atreus/feather/rules.mk @@ -11,5 +11,5 @@ BOOTLOADER = caterina # change yes to no to disable # BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE CONSOLE_ENABLE = no diff --git a/keyboards/bioi/main.c b/keyboards/bioi/main.c index 7c8922c0a05c..54caf6937b56 100644 --- a/keyboards/bioi/main.c +++ b/keyboards/bioi/main.c @@ -45,8 +45,8 @@ extern keymap_config_t keymap_config; #endif #ifdef BLUETOOTH_ENABLE -#ifdef MODULE_ADAFRUIT_BLE -#include "adafruit_ble.h" +#ifdef BLUETOOTH_BLUEFRUIT_LE +#include "bluefruit_le.h" #else #include "bluetooth.h" #endif @@ -319,7 +319,7 @@ int main(void) setup_usb(); sei(); -#if defined(MODULE_ADAFRUIT_EZKEY) || defined(MODULE_RN42) +#if defined(BLUETOOTH_RN42) serial_init(); #endif diff --git a/keyboards/converter/m0110_usb/readme.md b/keyboards/converter/m0110_usb/readme.md index a148091cd978..d066aa5a7cdd 100644 --- a/keyboards/converter/m0110_usb/readme.md +++ b/keyboards/converter/m0110_usb/readme.md @@ -5,7 +5,7 @@ This is a port of the original M0110 converter from TMK to QMK. The original con ## Enabling Bluetooth for the Adafruit Feather 32U4 BLE -Simply add `BLUETOOTH = AdafruitBLE` to your `rules.mk` file. This enables code specifically for the Adafruit Feather 32U4 BLE. If enabled, the device will use the `PRODUCT` value from `config.h` for the device name displayed by the Feather on host devices. You can simply change these values to change the device name. +Simply add `BLUETOOTH = BluefruitLE` to your `rules.mk` file. This enables code specifically for the Adafruit Feather 32U4 BLE. If enabled, the device will use the `PRODUCT` value from `config.h` for the device name displayed by the Feather on host devices. You can simply change these values to change the device name. ## Pins diff --git a/keyboards/converter/usb_usb/ble/config.h b/keyboards/converter/usb_usb/ble/config.h index 80e4968c41d7..92df24d00376 100644 --- a/keyboards/converter/usb_usb/ble/config.h +++ b/keyboards/converter/usb_usb/ble/config.h @@ -4,8 +4,8 @@ #define PRODUCT QMK BLE Adapter // Turn off the mode leds on the BLE module -#define ADAFRUIT_BLE_ENABLE_MODE_LEDS 0 -#define ADAFRUIT_BLE_ENABLE_POWER_LED 0 +#define BLUEFRUIT_LE_ENABLE_MODE_LEDS 0 +#define BLUEFRUIT_LE_ENABLE_POWER_LED 0 #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION diff --git a/keyboards/converter/usb_usb/ble/rules.mk b/keyboards/converter/usb_usb/ble/rules.mk index 596f7196302d..df5bc36635b8 100644 --- a/keyboards/converter/usb_usb/ble/rules.mk +++ b/keyboards/converter/usb_usb/ble/rules.mk @@ -12,6 +12,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE LTO_ENABLE = yes diff --git a/keyboards/dtisaac/dosa40rgb/readme.md b/keyboards/dtisaac/dosa40rgb/readme.md index 5f288c6b760e..a2995a5c0f76 100644 --- a/keyboards/dtisaac/dosa40rgb/readme.md +++ b/keyboards/dtisaac/dosa40rgb/readme.md @@ -5,7 +5,7 @@ A 40 percent keyboard dosa40rgb Bluetooth Low Energy * Keyboard Maintainer: [DTIsaac](https://github.com/daotakisaac) -* Hardware Supported: ATmega32U4 + AdafruitBLE SPI +* Hardware Supported: ATmega32U4 + Bluefruit LE SPI Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/dtisaac/dosa40rgb/rules.mk b/keyboards/dtisaac/dosa40rgb/rules.mk index 91d3c94ba5d7..caecba365e4e 100644 --- a/keyboards/dtisaac/dosa40rgb/rules.mk +++ b/keyboards/dtisaac/dosa40rgb/rules.mk @@ -17,7 +17,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes # Enable Bluetooth -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 diff --git a/keyboards/handwired/42/rules.mk b/keyboards/handwired/42/rules.mk index 5742e84bf573..655ce00befdd 100644 --- a/keyboards/handwired/42/rules.mk +++ b/keyboards/handwired/42/rules.mk @@ -21,4 +21,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/handwired/bdn9_ble/rules.mk b/keyboards/handwired/bdn9_ble/rules.mk index e5abbcfb8892..a3082cf3642f 100644 --- a/keyboards/handwired/bdn9_ble/rules.mk +++ b/keyboards/handwired/bdn9_ble/rules.mk @@ -21,4 +21,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/handwired/fruity60/rules.mk b/keyboards/handwired/fruity60/rules.mk index 74628e3e6fd8..c84f68f0bf05 100644 --- a/keyboards/handwired/fruity60/rules.mk +++ b/keyboards/handwired/fruity60/rules.mk @@ -20,6 +20,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE LAYOUTS = 60_tsangan_hhkb diff --git a/keyboards/handwired/prkl30/feather/rules.mk b/keyboards/handwired/prkl30/feather/rules.mk index f83173fa0ba2..7578dcef743a 100644 --- a/keyboards/handwired/prkl30/feather/rules.mk +++ b/keyboards/handwired/prkl30/feather/rules.mk @@ -22,4 +22,4 @@ AUDIO_ENABLE = no # This can be enabled if a speaker is connected to t RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port. BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c index 14a293bb39cd..e12142c50ba6 100644 --- a/keyboards/handwired/promethium/keymaps/default/keymap.c +++ b/keyboards/handwired/promethium/keymaps/default/keymap.c @@ -137,7 +137,7 @@ enum planck_keycodes { #ifndef FAUXCLICKY_ENABLE FC_TOG, #endif -#ifndef MODULE_ADAFRUIT_BLE +#ifndef BLUETOOTH_BLUEFRUIT_LE OUT_BT, #endif RGBDEMO, @@ -1261,7 +1261,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } void set_output_user(uint8_t output) { -#ifdef MODULE_ADAFRUIT_BLE +#ifdef BLUETOOTH_BLUEFRUIT_LE switch(output) { case OUTPUT_USB: led_set_output_usb(); @@ -1285,7 +1285,7 @@ void matrix_init_user() { #endif // auto detect output on init -#ifdef MODULE_ADAFRUIT_BLE +#ifdef BLUETOOTH_BLUEFRUIT_LE uint8_t output = auto_detect_output(); if (output == OUTPUT_USB) { set_output(OUTPUT_USB); diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index 094eb1576211..94b505aa2c5a 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -140,7 +140,7 @@ enum planck_keycodes { #ifndef FAUXCLICKY_ENABLE FC_TOG, #endif -#ifndef MODULE_ADAFRUIT_BLE +#ifndef BLUETOOTH_BLUEFRUIT_LE OUT_BT, #endif RGBDEMO, @@ -1264,7 +1264,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } void set_output_user(uint8_t output) { -#ifdef MODULE_ADAFRUIT_BLE +#ifdef BLUETOOTH_BLUEFRUIT_LE switch(output) { case OUTPUT_USB: led_set_output_usb(); @@ -1288,7 +1288,7 @@ void matrix_init_user() { #endif // auto detect output on init -#ifdef MODULE_ADAFRUIT_BLE +#ifdef BLUETOOTH_BLUEFRUIT_LE uint8_t output = auto_detect_output(); if (output == OUTPUT_USB) { set_output(OUTPUT_USB); diff --git a/keyboards/handwired/promethium/promethium.c b/keyboards/handwired/promethium/promethium.c index 8eb1680d847b..0df6c28e9b09 100644 --- a/keyboards/handwired/promethium/promethium.c +++ b/keyboards/handwired/promethium/promethium.c @@ -3,7 +3,7 @@ #include "timer.h" #include "matrix.h" #include "musical_notes.h" -#include "adafruit_ble.h" +#include "bluefruit_le.h" float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_A4, 0.0625); float fauxclicky_released_note[2] = MUSICAL_NOTE(_A4, 0.0625); @@ -12,7 +12,7 @@ float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C6, 0.25); // cubic fit {3.3, 0}, {3.5, 2.9}, {3.6, 5}, {3.7, 8.6}, {3.8, 36}, {3.9, 62}, {4.0, 73}, {4.05, 83}, {4.1, 89}, {4.15, 94}, {4.2, 100} uint8_t battery_level(void) { - float voltage = adafruit_ble_read_battery_voltage() * 2 * 3.3 / 1024; + float voltage = bluefruit_le_read_battery_voltage() * 2 * 3.3 / 1024; if (voltage < MIN_VOLTAGE) return 0; if (voltage > MAX_VOLTAGE) return 255; return (voltage - MIN_VOLTAGE) / (MAX_VOLTAGE - MIN_VOLTAGE) * 255; diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk index f41e88b0c46f..383800ee0141 100644 --- a/keyboards/handwired/promethium/rules.mk +++ b/keyboards/handwired/promethium/rules.mk @@ -23,7 +23,7 @@ PS2_MOUSE_ENABLE = yes PS2_USE_INT = yes CUSTOM_MATRIX = yes BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE SRC += ws2812.c SRC += rgbsps.c diff --git a/keyboards/handwired/pterodactyl/rules.mk b/keyboards/handwired/pterodactyl/rules.mk index 629b30e385a9..fd63e2ad48d1 100644 --- a/keyboards/handwired/pterodactyl/rules.mk +++ b/keyboards/handwired/pterodactyl/rules.mk @@ -22,7 +22,7 @@ AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = yes CUSTOM_MATRIX = yes BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE SRC += matrix.c QUANTUM_LIB_SRC += i2c_master.c diff --git a/keyboards/handwired/slash/rules.mk b/keyboards/handwired/slash/rules.mk index 275a2eb7ebd5..53d114978f8a 100644 --- a/keyboards/handwired/slash/rules.mk +++ b/keyboards/handwired/slash/rules.mk @@ -20,4 +20,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/latin47ble/rules.mk b/keyboards/latin47ble/rules.mk index 95044a18bd04..015c4547288a 100644 --- a/keyboards/latin47ble/rules.mk +++ b/keyboards/latin47ble/rules.mk @@ -20,6 +20,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE LAYOUTS = planck_mit diff --git a/keyboards/latin64ble/rules.mk b/keyboards/latin64ble/rules.mk index 30f105ef4908..97717333de74 100644 --- a/keyboards/latin64ble/rules.mk +++ b/keyboards/latin64ble/rules.mk @@ -20,4 +20,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/latinpadble/rules.mk b/keyboards/latinpadble/rules.mk index aac9dde15fa0..06816c2ef8c5 100644 --- a/keyboards/latinpadble/rules.mk +++ b/keyboards/latinpadble/rules.mk @@ -21,7 +21,7 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE OLED_ENABLE = yes OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes diff --git a/keyboards/meira/featherble/rules.mk b/keyboards/meira/featherble/rules.mk index d3e985e8c239..01f1af1ae8af 100644 --- a/keyboards/meira/featherble/rules.mk +++ b/keyboards/meira/featherble/rules.mk @@ -2,4 +2,4 @@ F_CPU = 8000000 BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/nek_type_a/rules.mk b/keyboards/nek_type_a/rules.mk index ea79c962dae3..0a8adccb52e4 100644 --- a/keyboards/nek_type_a/rules.mk +++ b/keyboards/nek_type_a/rules.mk @@ -22,6 +22,6 @@ AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = yes DEBUG_ENABLE = yes BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE SRC += matrix.c mcp23017.c diff --git a/keyboards/spaceman/pancake/rev1/feather/rules.mk b/keyboards/spaceman/pancake/rev1/feather/rules.mk index 65304227343c..c213c70872b5 100644 --- a/keyboards/spaceman/pancake/rev1/feather/rules.mk +++ b/keyboards/spaceman/pancake/rev1/feather/rules.mk @@ -20,7 +20,7 @@ BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not b AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port. BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE LAYOUTS = ortho_4x12 planck_mit diff --git a/keyboards/tokyokeyboard/alix40/rules.mk b/keyboards/tokyokeyboard/alix40/rules.mk index f9e5e2485a3f..358de97c5a3c 100644 --- a/keyboards/tokyokeyboard/alix40/rules.mk +++ b/keyboards/tokyokeyboard/alix40/rules.mk @@ -20,4 +20,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE +BLUETOOTH_DRIVER = BluefruitLE diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index b9c2616058d2..3943f8c92b5a 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -67,9 +67,9 @@ extern keymap_config_t keymap_config; #ifdef BLUETOOTH_ENABLE # include "outputselect.h" -# ifdef MODULE_ADAFRUIT_BLE -# include "adafruit_ble.h" -# elif MODULE_RN42 +# ifdef BLUETOOTH_BLUEFRUIT_LE +# include "bluefruit_le.h" +# elif BLUETOOTH_RN42 # include "rn42.h" # endif #endif @@ -645,9 +645,9 @@ static void send_keyboard(report_keyboard_t *report) { #ifdef BLUETOOTH_ENABLE if (where_to_send() == OUTPUT_BLUETOOTH) { -# ifdef MODULE_ADAFRUIT_BLE - adafruit_ble_send_keys(report->mods, report->keys, sizeof(report->keys)); -# elif MODULE_RN42 +# ifdef BLUETOOTH_BLUEFRUIT_LE + bluefruit_le_send_keys(report->mods, report->keys, sizeof(report->keys)); +# elif BLUETOOTH_RN42 rn42_send_keyboard(report); # endif return; @@ -691,10 +691,10 @@ static void send_mouse(report_mouse_t *report) { # ifdef BLUETOOTH_ENABLE if (where_to_send() == OUTPUT_BLUETOOTH) { -# ifdef MODULE_ADAFRUIT_BLE +# ifdef BLUETOOTH_BLUEFRUIT_LE // FIXME: mouse buttons - adafruit_ble_send_mouse_move(report->x, report->y, report->v, report->h, report->buttons); -# elif MODULE_RN42 + bluefruit_le_send_mouse_move(report->x, report->y, report->v, report->h, report->buttons); +# elif BLUETOOTH_RN42 rn42_send_mouse(report); # endif return; @@ -763,9 +763,9 @@ static void send_consumer(uint16_t data) { #ifdef EXTRAKEY_ENABLE # ifdef BLUETOOTH_ENABLE if (where_to_send() == OUTPUT_BLUETOOTH) { -# ifdef MODULE_ADAFRUIT_BLE - adafruit_ble_send_consumer_key(data); -# elif MODULE_RN42 +# ifdef BLUETOOTH_BLUEFRUIT_LE + bluefruit_le_send_consumer_key(data); +# elif BLUETOOTH_RN42 rn42_send_consumer(data); # endif return; @@ -1013,7 +1013,7 @@ void protocol_pre_init(void) { setup_usb(); sei(); -#if defined(MODULE_RN42) +#if defined(BLUETOOTH_RN42) rn42_init(); #endif @@ -1066,8 +1066,8 @@ void protocol_post_task(void) { MIDI_Device_USBTask(&USB_MIDI_Interface); #endif -#ifdef MODULE_ADAFRUIT_BLE - adafruit_ble_task(); +#ifdef BLUETOOTH_BLUEFRUIT_LE + bluefruit_le_task(); #endif #ifdef VIRTSER_ENABLE diff --git a/users/wanleg/rules.mk b/users/wanleg/rules.mk index 410803512d71..de4decf78a3f 100644 --- a/users/wanleg/rules.mk +++ b/users/wanleg/rules.mk @@ -22,7 +22,7 @@ ifeq ($(strip $(BT)), yes) OPT_DEFS += -DBLUEFRUIT #Adafruit Bluefruit controller settings BLUETOOTH_ENABLE = yes - BLUETOOTH_DRIVER = AdafruitBLE + BLUETOOTH_DRIVER = BluefruitLE F_CPU = 8000000 CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration From a6a7b1ce8f4589a1740bf4b9e628bdb4b3d0e18b Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon, 31 Jan 2022 02:47:26 +0800 Subject: [PATCH 0129/1832] [Keyboard] move @ibnuda 's keebs into /ibnuda (#16108) --- keyboards/{ => ibnuda}/alicia_cook/alicia_cook.c | 0 keyboards/{ => ibnuda}/alicia_cook/alicia_cook.h | 0 keyboards/{ => ibnuda}/alicia_cook/config.h | 0 keyboards/{ => ibnuda}/alicia_cook/info.json | 0 keyboards/{ => ibnuda}/alicia_cook/keymaps/default/keymap.c | 0 keyboards/{ => ibnuda}/alicia_cook/keymaps/default/readme.md | 0 keyboards/{ => ibnuda}/alicia_cook/keymaps/rick/config.h | 0 keyboards/{ => ibnuda}/alicia_cook/keymaps/rick/keymap.c | 0 keyboards/{ => ibnuda}/alicia_cook/keymaps/rick/readme.md | 0 keyboards/{ => ibnuda}/alicia_cook/keymaps/rick/rules.mk | 0 keyboards/{ => ibnuda}/alicia_cook/readme.md | 4 ++-- keyboards/{ => ibnuda}/alicia_cook/rules.mk | 0 keyboards/{ => ibnuda}/gurindam/config.h | 0 keyboards/{ => ibnuda}/gurindam/gurindam.c | 0 keyboards/{ => ibnuda}/gurindam/gurindam.h | 0 keyboards/{ => ibnuda}/gurindam/info.json | 0 keyboards/{ => ibnuda}/gurindam/keymaps/default/keymap.c | 0 keyboards/{ => ibnuda}/gurindam/keymaps/default/readme.md | 0 keyboards/{ => ibnuda}/gurindam/keymaps/via/keymap.c | 0 keyboards/{ => ibnuda}/gurindam/keymaps/via/rules.mk | 0 keyboards/{ => ibnuda}/gurindam/readme.md | 2 +- keyboards/{ => ibnuda}/gurindam/rules.mk | 0 keyboards/{ => ibnuda}/squiggle/config.h | 0 keyboards/{ => ibnuda}/squiggle/keymaps/default/config.h | 0 keyboards/{ => ibnuda}/squiggle/keymaps/default/keymap.c | 0 keyboards/{ => ibnuda}/squiggle/keymaps/default/readme.md | 0 keyboards/{ => ibnuda}/squiggle/keymaps/default/rules.mk | 0 keyboards/{ => ibnuda}/squiggle/keymaps/default38/config.h | 0 keyboards/{ => ibnuda}/squiggle/keymaps/default38/keymap.c | 0 keyboards/{ => ibnuda}/squiggle/keymaps/default38/readme.md | 0 keyboards/{ => ibnuda}/squiggle/keymaps/default38/rules.mk | 0 keyboards/{ => ibnuda}/squiggle/keymaps/defaultfull/config.h | 0 keyboards/{ => ibnuda}/squiggle/keymaps/defaultfull/keymap.c | 0 keyboards/{ => ibnuda}/squiggle/keymaps/defaultfull/readme.md | 0 keyboards/{ => ibnuda}/squiggle/keymaps/defaultfull/rules.mk | 0 .../{ => ibnuda}/squiggle/keymaps/defaultminidox/config.h | 0 .../{ => ibnuda}/squiggle/keymaps/defaultminidox/keymap.c | 0 .../{ => ibnuda}/squiggle/keymaps/defaultminidox/readme.md | 0 .../{ => ibnuda}/squiggle/keymaps/defaultminidox/rules.mk | 0 .../{ => ibnuda}/squiggle/keymaps/rick-complicated/config.h | 0 .../{ => ibnuda}/squiggle/keymaps/rick-complicated/keymap.c | 0 .../{ => ibnuda}/squiggle/keymaps/rick-complicated/readme.md | 0 .../{ => ibnuda}/squiggle/keymaps/rick-complicated/rules.mk | 0 keyboards/{ => ibnuda}/squiggle/keymaps/rick/config.h | 0 keyboards/{ => ibnuda}/squiggle/keymaps/rick/keymap.c | 0 keyboards/{ => ibnuda}/squiggle/keymaps/rick/readme.md | 0 keyboards/{ => ibnuda}/squiggle/keymaps/rick/rules.mk | 0 keyboards/{ => ibnuda}/squiggle/readme.md | 2 +- keyboards/{ => ibnuda}/squiggle/rev1/.noci | 0 keyboards/{ => ibnuda}/squiggle/rev1/config.h | 0 keyboards/{ => ibnuda}/squiggle/rev1/info.json | 0 keyboards/{ => ibnuda}/squiggle/rev1/rev1.c | 0 keyboards/{ => ibnuda}/squiggle/rev1/rev1.h | 0 keyboards/{ => ibnuda}/squiggle/rev1/rules.mk | 0 keyboards/ibnuda/squiggle/rules.mk | 1 + keyboards/{ => ibnuda}/squiggle/squiggle.c | 0 keyboards/{ => ibnuda}/squiggle/squiggle.h | 2 +- keyboards/squiggle/rules.mk | 1 - 58 files changed, 6 insertions(+), 6 deletions(-) rename keyboards/{ => ibnuda}/alicia_cook/alicia_cook.c (100%) rename keyboards/{ => ibnuda}/alicia_cook/alicia_cook.h (100%) rename keyboards/{ => ibnuda}/alicia_cook/config.h (100%) rename keyboards/{ => ibnuda}/alicia_cook/info.json (100%) rename keyboards/{ => ibnuda}/alicia_cook/keymaps/default/keymap.c (100%) rename keyboards/{ => ibnuda}/alicia_cook/keymaps/default/readme.md (100%) rename keyboards/{ => ibnuda}/alicia_cook/keymaps/rick/config.h (100%) rename keyboards/{ => ibnuda}/alicia_cook/keymaps/rick/keymap.c (100%) rename keyboards/{ => ibnuda}/alicia_cook/keymaps/rick/readme.md (100%) rename keyboards/{ => ibnuda}/alicia_cook/keymaps/rick/rules.mk (100%) rename keyboards/{ => ibnuda}/alicia_cook/readme.md (92%) rename keyboards/{ => ibnuda}/alicia_cook/rules.mk (100%) rename keyboards/{ => ibnuda}/gurindam/config.h (100%) rename keyboards/{ => ibnuda}/gurindam/gurindam.c (100%) rename keyboards/{ => ibnuda}/gurindam/gurindam.h (100%) rename keyboards/{ => ibnuda}/gurindam/info.json (100%) rename keyboards/{ => ibnuda}/gurindam/keymaps/default/keymap.c (100%) rename keyboards/{ => ibnuda}/gurindam/keymaps/default/readme.md (100%) rename keyboards/{ => ibnuda}/gurindam/keymaps/via/keymap.c (100%) rename keyboards/{ => ibnuda}/gurindam/keymaps/via/rules.mk (100%) rename keyboards/{ => ibnuda}/gurindam/readme.md (96%) rename keyboards/{ => ibnuda}/gurindam/rules.mk (100%) rename keyboards/{ => ibnuda}/squiggle/config.h (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/default/config.h (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/default/keymap.c (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/default/readme.md (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/default/rules.mk (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/default38/config.h (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/default38/keymap.c (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/default38/readme.md (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/default38/rules.mk (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/defaultfull/config.h (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/defaultfull/keymap.c (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/defaultfull/readme.md (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/defaultfull/rules.mk (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/defaultminidox/config.h (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/defaultminidox/keymap.c (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/defaultminidox/readme.md (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/defaultminidox/rules.mk (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/rick-complicated/config.h (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/rick-complicated/keymap.c (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/rick-complicated/readme.md (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/rick-complicated/rules.mk (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/rick/config.h (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/rick/keymap.c (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/rick/readme.md (100%) rename keyboards/{ => ibnuda}/squiggle/keymaps/rick/rules.mk (100%) rename keyboards/{ => ibnuda}/squiggle/readme.md (95%) rename keyboards/{ => ibnuda}/squiggle/rev1/.noci (100%) rename keyboards/{ => ibnuda}/squiggle/rev1/config.h (100%) rename keyboards/{ => ibnuda}/squiggle/rev1/info.json (100%) rename keyboards/{ => ibnuda}/squiggle/rev1/rev1.c (100%) rename keyboards/{ => ibnuda}/squiggle/rev1/rev1.h (100%) rename keyboards/{ => ibnuda}/squiggle/rev1/rules.mk (100%) create mode 100644 keyboards/ibnuda/squiggle/rules.mk rename keyboards/{ => ibnuda}/squiggle/squiggle.c (100%) rename keyboards/{ => ibnuda}/squiggle/squiggle.h (95%) delete mode 100644 keyboards/squiggle/rules.mk diff --git a/keyboards/alicia_cook/alicia_cook.c b/keyboards/ibnuda/alicia_cook/alicia_cook.c similarity index 100% rename from keyboards/alicia_cook/alicia_cook.c rename to keyboards/ibnuda/alicia_cook/alicia_cook.c diff --git a/keyboards/alicia_cook/alicia_cook.h b/keyboards/ibnuda/alicia_cook/alicia_cook.h similarity index 100% rename from keyboards/alicia_cook/alicia_cook.h rename to keyboards/ibnuda/alicia_cook/alicia_cook.h diff --git a/keyboards/alicia_cook/config.h b/keyboards/ibnuda/alicia_cook/config.h similarity index 100% rename from keyboards/alicia_cook/config.h rename to keyboards/ibnuda/alicia_cook/config.h diff --git a/keyboards/alicia_cook/info.json b/keyboards/ibnuda/alicia_cook/info.json similarity index 100% rename from keyboards/alicia_cook/info.json rename to keyboards/ibnuda/alicia_cook/info.json diff --git a/keyboards/alicia_cook/keymaps/default/keymap.c b/keyboards/ibnuda/alicia_cook/keymaps/default/keymap.c similarity index 100% rename from keyboards/alicia_cook/keymaps/default/keymap.c rename to keyboards/ibnuda/alicia_cook/keymaps/default/keymap.c diff --git a/keyboards/alicia_cook/keymaps/default/readme.md b/keyboards/ibnuda/alicia_cook/keymaps/default/readme.md similarity index 100% rename from keyboards/alicia_cook/keymaps/default/readme.md rename to keyboards/ibnuda/alicia_cook/keymaps/default/readme.md diff --git a/keyboards/alicia_cook/keymaps/rick/config.h b/keyboards/ibnuda/alicia_cook/keymaps/rick/config.h similarity index 100% rename from keyboards/alicia_cook/keymaps/rick/config.h rename to keyboards/ibnuda/alicia_cook/keymaps/rick/config.h diff --git a/keyboards/alicia_cook/keymaps/rick/keymap.c b/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c similarity index 100% rename from keyboards/alicia_cook/keymaps/rick/keymap.c rename to keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c diff --git a/keyboards/alicia_cook/keymaps/rick/readme.md b/keyboards/ibnuda/alicia_cook/keymaps/rick/readme.md similarity index 100% rename from keyboards/alicia_cook/keymaps/rick/readme.md rename to keyboards/ibnuda/alicia_cook/keymaps/rick/readme.md diff --git a/keyboards/alicia_cook/keymaps/rick/rules.mk b/keyboards/ibnuda/alicia_cook/keymaps/rick/rules.mk similarity index 100% rename from keyboards/alicia_cook/keymaps/rick/rules.mk rename to keyboards/ibnuda/alicia_cook/keymaps/rick/rules.mk diff --git a/keyboards/alicia_cook/readme.md b/keyboards/ibnuda/alicia_cook/readme.md similarity index 92% rename from keyboards/alicia_cook/readme.md rename to keyboards/ibnuda/alicia_cook/readme.md index 4e37a366e71b..f4475cd22ee7 100644 --- a/keyboards/alicia_cook/readme.md +++ b/keyboards/ibnuda/alicia_cook/readme.md @@ -10,11 +10,11 @@ Make example for this keyboard (after setting up your build environment): - make alicia_cook:default + make ibnuda/alicia_cook:default Flashing example for this keyboard: - make alicia_cook:default:flash + make ibnuda/alicia_cook:default:flash 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/alicia_cook/rules.mk b/keyboards/ibnuda/alicia_cook/rules.mk similarity index 100% rename from keyboards/alicia_cook/rules.mk rename to keyboards/ibnuda/alicia_cook/rules.mk diff --git a/keyboards/gurindam/config.h b/keyboards/ibnuda/gurindam/config.h similarity index 100% rename from keyboards/gurindam/config.h rename to keyboards/ibnuda/gurindam/config.h diff --git a/keyboards/gurindam/gurindam.c b/keyboards/ibnuda/gurindam/gurindam.c similarity index 100% rename from keyboards/gurindam/gurindam.c rename to keyboards/ibnuda/gurindam/gurindam.c diff --git a/keyboards/gurindam/gurindam.h b/keyboards/ibnuda/gurindam/gurindam.h similarity index 100% rename from keyboards/gurindam/gurindam.h rename to keyboards/ibnuda/gurindam/gurindam.h diff --git a/keyboards/gurindam/info.json b/keyboards/ibnuda/gurindam/info.json similarity index 100% rename from keyboards/gurindam/info.json rename to keyboards/ibnuda/gurindam/info.json diff --git a/keyboards/gurindam/keymaps/default/keymap.c b/keyboards/ibnuda/gurindam/keymaps/default/keymap.c similarity index 100% rename from keyboards/gurindam/keymaps/default/keymap.c rename to keyboards/ibnuda/gurindam/keymaps/default/keymap.c diff --git a/keyboards/gurindam/keymaps/default/readme.md b/keyboards/ibnuda/gurindam/keymaps/default/readme.md similarity index 100% rename from keyboards/gurindam/keymaps/default/readme.md rename to keyboards/ibnuda/gurindam/keymaps/default/readme.md diff --git a/keyboards/gurindam/keymaps/via/keymap.c b/keyboards/ibnuda/gurindam/keymaps/via/keymap.c similarity index 100% rename from keyboards/gurindam/keymaps/via/keymap.c rename to keyboards/ibnuda/gurindam/keymaps/via/keymap.c diff --git a/keyboards/gurindam/keymaps/via/rules.mk b/keyboards/ibnuda/gurindam/keymaps/via/rules.mk similarity index 100% rename from keyboards/gurindam/keymaps/via/rules.mk rename to keyboards/ibnuda/gurindam/keymaps/via/rules.mk diff --git a/keyboards/gurindam/readme.md b/keyboards/ibnuda/gurindam/readme.md similarity index 96% rename from keyboards/gurindam/readme.md rename to keyboards/ibnuda/gurindam/readme.md index 0f6ae158b00c..072084f4f07d 100644 --- a/keyboards/gurindam/readme.md +++ b/keyboards/ibnuda/gurindam/readme.md @@ -10,7 +10,7 @@ A keyboard inspired by Arisu which in turn by Lyn's EM7 and TGR Alice. Make example for this keyboard (after setting up your build environment): - make gurindam:default + make ibnuda/gurindam:default 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/gurindam/rules.mk b/keyboards/ibnuda/gurindam/rules.mk similarity index 100% rename from keyboards/gurindam/rules.mk rename to keyboards/ibnuda/gurindam/rules.mk diff --git a/keyboards/squiggle/config.h b/keyboards/ibnuda/squiggle/config.h similarity index 100% rename from keyboards/squiggle/config.h rename to keyboards/ibnuda/squiggle/config.h diff --git a/keyboards/squiggle/keymaps/default/config.h b/keyboards/ibnuda/squiggle/keymaps/default/config.h similarity index 100% rename from keyboards/squiggle/keymaps/default/config.h rename to keyboards/ibnuda/squiggle/keymaps/default/config.h diff --git a/keyboards/squiggle/keymaps/default/keymap.c b/keyboards/ibnuda/squiggle/keymaps/default/keymap.c similarity index 100% rename from keyboards/squiggle/keymaps/default/keymap.c rename to keyboards/ibnuda/squiggle/keymaps/default/keymap.c diff --git a/keyboards/squiggle/keymaps/default/readme.md b/keyboards/ibnuda/squiggle/keymaps/default/readme.md similarity index 100% rename from keyboards/squiggle/keymaps/default/readme.md rename to keyboards/ibnuda/squiggle/keymaps/default/readme.md diff --git a/keyboards/squiggle/keymaps/default/rules.mk b/keyboards/ibnuda/squiggle/keymaps/default/rules.mk similarity index 100% rename from keyboards/squiggle/keymaps/default/rules.mk rename to keyboards/ibnuda/squiggle/keymaps/default/rules.mk diff --git a/keyboards/squiggle/keymaps/default38/config.h b/keyboards/ibnuda/squiggle/keymaps/default38/config.h similarity index 100% rename from keyboards/squiggle/keymaps/default38/config.h rename to keyboards/ibnuda/squiggle/keymaps/default38/config.h diff --git a/keyboards/squiggle/keymaps/default38/keymap.c b/keyboards/ibnuda/squiggle/keymaps/default38/keymap.c similarity index 100% rename from keyboards/squiggle/keymaps/default38/keymap.c rename to keyboards/ibnuda/squiggle/keymaps/default38/keymap.c diff --git a/keyboards/squiggle/keymaps/default38/readme.md b/keyboards/ibnuda/squiggle/keymaps/default38/readme.md similarity index 100% rename from keyboards/squiggle/keymaps/default38/readme.md rename to keyboards/ibnuda/squiggle/keymaps/default38/readme.md diff --git a/keyboards/squiggle/keymaps/default38/rules.mk b/keyboards/ibnuda/squiggle/keymaps/default38/rules.mk similarity index 100% rename from keyboards/squiggle/keymaps/default38/rules.mk rename to keyboards/ibnuda/squiggle/keymaps/default38/rules.mk diff --git a/keyboards/squiggle/keymaps/defaultfull/config.h b/keyboards/ibnuda/squiggle/keymaps/defaultfull/config.h similarity index 100% rename from keyboards/squiggle/keymaps/defaultfull/config.h rename to keyboards/ibnuda/squiggle/keymaps/defaultfull/config.h diff --git a/keyboards/squiggle/keymaps/defaultfull/keymap.c b/keyboards/ibnuda/squiggle/keymaps/defaultfull/keymap.c similarity index 100% rename from keyboards/squiggle/keymaps/defaultfull/keymap.c rename to keyboards/ibnuda/squiggle/keymaps/defaultfull/keymap.c diff --git a/keyboards/squiggle/keymaps/defaultfull/readme.md b/keyboards/ibnuda/squiggle/keymaps/defaultfull/readme.md similarity index 100% rename from keyboards/squiggle/keymaps/defaultfull/readme.md rename to keyboards/ibnuda/squiggle/keymaps/defaultfull/readme.md diff --git a/keyboards/squiggle/keymaps/defaultfull/rules.mk b/keyboards/ibnuda/squiggle/keymaps/defaultfull/rules.mk similarity index 100% rename from keyboards/squiggle/keymaps/defaultfull/rules.mk rename to keyboards/ibnuda/squiggle/keymaps/defaultfull/rules.mk diff --git a/keyboards/squiggle/keymaps/defaultminidox/config.h b/keyboards/ibnuda/squiggle/keymaps/defaultminidox/config.h similarity index 100% rename from keyboards/squiggle/keymaps/defaultminidox/config.h rename to keyboards/ibnuda/squiggle/keymaps/defaultminidox/config.h diff --git a/keyboards/squiggle/keymaps/defaultminidox/keymap.c b/keyboards/ibnuda/squiggle/keymaps/defaultminidox/keymap.c similarity index 100% rename from keyboards/squiggle/keymaps/defaultminidox/keymap.c rename to keyboards/ibnuda/squiggle/keymaps/defaultminidox/keymap.c diff --git a/keyboards/squiggle/keymaps/defaultminidox/readme.md b/keyboards/ibnuda/squiggle/keymaps/defaultminidox/readme.md similarity index 100% rename from keyboards/squiggle/keymaps/defaultminidox/readme.md rename to keyboards/ibnuda/squiggle/keymaps/defaultminidox/readme.md diff --git a/keyboards/squiggle/keymaps/defaultminidox/rules.mk b/keyboards/ibnuda/squiggle/keymaps/defaultminidox/rules.mk similarity index 100% rename from keyboards/squiggle/keymaps/defaultminidox/rules.mk rename to keyboards/ibnuda/squiggle/keymaps/defaultminidox/rules.mk diff --git a/keyboards/squiggle/keymaps/rick-complicated/config.h b/keyboards/ibnuda/squiggle/keymaps/rick-complicated/config.h similarity index 100% rename from keyboards/squiggle/keymaps/rick-complicated/config.h rename to keyboards/ibnuda/squiggle/keymaps/rick-complicated/config.h diff --git a/keyboards/squiggle/keymaps/rick-complicated/keymap.c b/keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c similarity index 100% rename from keyboards/squiggle/keymaps/rick-complicated/keymap.c rename to keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c diff --git a/keyboards/squiggle/keymaps/rick-complicated/readme.md b/keyboards/ibnuda/squiggle/keymaps/rick-complicated/readme.md similarity index 100% rename from keyboards/squiggle/keymaps/rick-complicated/readme.md rename to keyboards/ibnuda/squiggle/keymaps/rick-complicated/readme.md diff --git a/keyboards/squiggle/keymaps/rick-complicated/rules.mk b/keyboards/ibnuda/squiggle/keymaps/rick-complicated/rules.mk similarity index 100% rename from keyboards/squiggle/keymaps/rick-complicated/rules.mk rename to keyboards/ibnuda/squiggle/keymaps/rick-complicated/rules.mk diff --git a/keyboards/squiggle/keymaps/rick/config.h b/keyboards/ibnuda/squiggle/keymaps/rick/config.h similarity index 100% rename from keyboards/squiggle/keymaps/rick/config.h rename to keyboards/ibnuda/squiggle/keymaps/rick/config.h diff --git a/keyboards/squiggle/keymaps/rick/keymap.c b/keyboards/ibnuda/squiggle/keymaps/rick/keymap.c similarity index 100% rename from keyboards/squiggle/keymaps/rick/keymap.c rename to keyboards/ibnuda/squiggle/keymaps/rick/keymap.c diff --git a/keyboards/squiggle/keymaps/rick/readme.md b/keyboards/ibnuda/squiggle/keymaps/rick/readme.md similarity index 100% rename from keyboards/squiggle/keymaps/rick/readme.md rename to keyboards/ibnuda/squiggle/keymaps/rick/readme.md diff --git a/keyboards/squiggle/keymaps/rick/rules.mk b/keyboards/ibnuda/squiggle/keymaps/rick/rules.mk similarity index 100% rename from keyboards/squiggle/keymaps/rick/rules.mk rename to keyboards/ibnuda/squiggle/keymaps/rick/rules.mk diff --git a/keyboards/squiggle/readme.md b/keyboards/ibnuda/squiggle/readme.md similarity index 95% rename from keyboards/squiggle/readme.md rename to keyboards/ibnuda/squiggle/readme.md index 8d7b58125e4a..95204ade57d7 100644 --- a/keyboards/squiggle/readme.md +++ b/keyboards/ibnuda/squiggle/readme.md @@ -15,7 +15,7 @@ It's a keyboard family which has the following requirements: Make example for this keyboard (after setting up your build environment): - make squiggle:default + make ibnuda/squiggle:default 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/squiggle/rev1/.noci b/keyboards/ibnuda/squiggle/rev1/.noci similarity index 100% rename from keyboards/squiggle/rev1/.noci rename to keyboards/ibnuda/squiggle/rev1/.noci diff --git a/keyboards/squiggle/rev1/config.h b/keyboards/ibnuda/squiggle/rev1/config.h similarity index 100% rename from keyboards/squiggle/rev1/config.h rename to keyboards/ibnuda/squiggle/rev1/config.h diff --git a/keyboards/squiggle/rev1/info.json b/keyboards/ibnuda/squiggle/rev1/info.json similarity index 100% rename from keyboards/squiggle/rev1/info.json rename to keyboards/ibnuda/squiggle/rev1/info.json diff --git a/keyboards/squiggle/rev1/rev1.c b/keyboards/ibnuda/squiggle/rev1/rev1.c similarity index 100% rename from keyboards/squiggle/rev1/rev1.c rename to keyboards/ibnuda/squiggle/rev1/rev1.c diff --git a/keyboards/squiggle/rev1/rev1.h b/keyboards/ibnuda/squiggle/rev1/rev1.h similarity index 100% rename from keyboards/squiggle/rev1/rev1.h rename to keyboards/ibnuda/squiggle/rev1/rev1.h diff --git a/keyboards/squiggle/rev1/rules.mk b/keyboards/ibnuda/squiggle/rev1/rules.mk similarity index 100% rename from keyboards/squiggle/rev1/rules.mk rename to keyboards/ibnuda/squiggle/rev1/rules.mk diff --git a/keyboards/ibnuda/squiggle/rules.mk b/keyboards/ibnuda/squiggle/rules.mk new file mode 100644 index 000000000000..0214333999bd --- /dev/null +++ b/keyboards/ibnuda/squiggle/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = ibnuda/squiggle/rev1 diff --git a/keyboards/squiggle/squiggle.c b/keyboards/ibnuda/squiggle/squiggle.c similarity index 100% rename from keyboards/squiggle/squiggle.c rename to keyboards/ibnuda/squiggle/squiggle.c diff --git a/keyboards/squiggle/squiggle.h b/keyboards/ibnuda/squiggle/squiggle.h similarity index 95% rename from keyboards/squiggle/squiggle.h rename to keyboards/ibnuda/squiggle/squiggle.h index 1f3e48552fc1..4ed95e707cec 100644 --- a/keyboards/squiggle/squiggle.h +++ b/keyboards/ibnuda/squiggle/squiggle.h @@ -16,7 +16,7 @@ #pragma once -#ifdef KEYBOARD_squiggle_rev1 +#ifdef KEYBOARD_ibnuda_squiggle_rev1 #include "rev1.h" #endif diff --git a/keyboards/squiggle/rules.mk b/keyboards/squiggle/rules.mk deleted file mode 100644 index 4f44ddbb73fa..000000000000 --- a/keyboards/squiggle/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = squiggle/rev1 From cffc3fcce532a02fae8a128e1d5ffeaf6df79520 Mon Sep 17 00:00:00 2001 From: mmccoyd Date: Sun, 30 Jan 2022 10:53:01 -0800 Subject: [PATCH 0130/1832] [Keyboard] Re-org Hillside folders and fix default keymap (#16128) Co-authored-by: mmccoyd --- keyboards/handwired/hillside/0_1/info.json | 96 +++++++++++++++++ .../hillside/0_1/keymaps/default/keymap.json | 101 +++++++++++++++++ .../{ => 0_1}/keymaps/default/readme.md | 66 ++++++------ .../hillside/{ => 0_1}/keymaps/json2hill.py | 0 .../hillside/0_1/keymaps/via/keymap.json | 61 +++++++++++ keyboards/handwired/hillside/0_1/readme.md | 29 +++++ keyboards/handwired/hillside/info.json | 93 +--------------- .../hillside/keymaps/default/keymap.json | 102 ------------------ .../hillside/keymaps/via/keymap.json | 101 ----------------- keyboards/handwired/hillside/readme.md | 26 +---- 10 files changed, 323 insertions(+), 352 deletions(-) create mode 100644 keyboards/handwired/hillside/0_1/keymaps/default/keymap.json rename keyboards/handwired/hillside/{ => 0_1}/keymaps/default/readme.md (79%) rename keyboards/handwired/hillside/{ => 0_1}/keymaps/json2hill.py (100%) create mode 100644 keyboards/handwired/hillside/0_1/keymaps/via/keymap.json create mode 100644 keyboards/handwired/hillside/0_1/readme.md delete mode 100644 keyboards/handwired/hillside/keymaps/default/keymap.json delete mode 100644 keyboards/handwired/hillside/keymaps/via/keymap.json diff --git a/keyboards/handwired/hillside/0_1/info.json b/keyboards/handwired/hillside/0_1/info.json index 4505bf3e3525..8c00f70366e3 100644 --- a/keyboards/handwired/hillside/0_1/info.json +++ b/keyboards/handwired/hillside/0_1/info.json @@ -1,4 +1,14 @@ { + "manufacturer": "mmccoyd", + "maintainer": "mmccoyd", + + "keyboard_name": "Hillside", + "url": "http://github.com/mmccoyd/hillside/", + + "tags": ["split", "column stagger", "choc v1", "choc spaced" ], + + "processor": "atmega32u4", + "matrix_pins": { "rows": ["D7", "E6", "B4", "B5"], "cols": ["F6", "F7", "B1", "B3", "B2", "B6"] @@ -9,5 +19,91 @@ "vid": "0xFEED", "pid": "0x67C0", "device_ver": "0x0001" + }, + + "features": { + "encoder": true, + "extrakey": true, + "rgblight": true + }, + "split": { + "soft_serial_pin": "D2", + "main": "left" + }, + + "rgblight": { + "led_count": 5, + "pin": "D3", + "split": true, + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8 + }, + + "layouts": { + "LAYOUT": { + "layout": [ + + {"label": "Tab", "x": 0, "y": 0.93}, + {"label": "Q", "x": 1, "y": 0.93}, + {"label": "W", "x": 2, "y": 0.31}, + {"label": "E", "x": 3, "y": 0}, + {"label": "R", "x": 4, "y": 0.28}, + {"label": "T", "x": 5, "y": 0.42}, + + {"label": "Y", "x": 9.5, "y": 0.42}, + {"label": "U", "x": 10.5, "y": 0.28}, + {"label": "I", "x": 11.5, "y": 0}, + {"label": "O", "x": 12.5, "y": 0.31}, + {"label": "P", "x": 13.5, "y": 0.93}, + {"label": "Backspace", "x": 14.5, "y": 0.93}, + + + {"label": "Ctrl", "x": 0, "y": 1.93}, + {"label": "A", "x": 1, "y": 1.93}, + {"label": "S", "x": 2, "y": 1.31}, + {"label": "D", "x": 3, "y": 1}, + {"label": "F", "x": 4, "y": 1.28}, + {"label": "G", "x": 5, "y": 1.42}, + + {"label": "H", "x": 9.5, "y": 1.42}, + {"label": "J", "x": 10.5, "y": 1.28}, + {"label": "K", "x": 11.5, "y": 1}, + {"label": "L", "x": 12.5, "y": 1.31}, + {"label": ";", "x": 13.5, "y": 1.93}, + {"label": "'", "x": 14.5, "y": 1.93}, + + + {"label": "Shift", "x": 0, "y": 2.93}, + {"label": "Z", "x": 1, "y": 2.93}, + {"label": "X", "x": 2, "y": 2.31}, + {"label": "C", "x": 3, "y": 2}, + {"label": "V", "x": 4, "y": 2.28}, + {"label": "B", "x": 5, "y": 2.42}, + {"label": "`", "x": 6, "y": 2.78}, + + {"label": "Esc", "x": 8.5, "y": 2.78}, + {"label": "N", "x": 9.5, "y": 2.42}, + {"label": "M", "x": 10.5, "y": 2.28}, + {"label": ",", "x": 11.5, "y": 2}, + {"label": ".", "x": 12.5, "y": 2.31}, + {"label": "/", "x": 13.5, "y": 2.93}, + {"label": "Shift", "x": 14.5, "y": 2.93}, + + + {"label": "Enter", "x": 2, "y": 3.31}, + {"label": "Gui", "x": 3.5, "y": 3.28}, + {"label": "Alt", "x": 4.5, "y": 3.42}, + {"label": "Num", "x": 5.5, "y": 3.78}, + {"label": "Nav", "x": 6.5, "y": 4.14}, + + + {"label": "Sym", "x": 8, "y": 4.14}, + {"label": "Space", "x": 9, "y": 3.78}, + {"label": "Alt", "x": 10, "y": 3.42}, + {"label": "Gui", "x": 11, "y": 3.28}, + {"label": "App", "x": 12.5, "y": 3.31} + ] + } } } diff --git a/keyboards/handwired/hillside/0_1/keymaps/default/keymap.json b/keyboards/handwired/hillside/0_1/keymaps/default/keymap.json new file mode 100644 index 000000000000..c5837a16fbd5 --- /dev/null +++ b/keyboards/handwired/hillside/0_1/keymaps/default/keymap.json @@ -0,0 +1,101 @@ +{ "version": 1, + "notes": "", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "handwired/hillside/0_1", + "keymap": "default", + "layout": "LAYOUT", + "layers": [ + ["KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T", + "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC", + + "KC_CAPS", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G", + "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN" , "KC_ENT", + + "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_GRV", + "KC_ESC" , "KC_N" , "KC_M" , "KC_COMM" , "KC_DOT" , "KC_SLSH" , "KC_RSFT", + + "KC_LCTL", "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)", + "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_QUOT" + + ], + ["KC_TAB" , "KC_QUOT" , "KC_COMM" , "KC_DOT" , "KC_P" , "KC_Y", + "KC_F" , "KC_G" , "KC_C" , "KC_R" , "KC_L" , "KC_BSPC", + + "KC_CAPS", "KC_A" , "KC_O" , "KC_E" , "KC_U" , "KC_I", + "KC_D" , "KC_H" , "KC_T" , "KC_N" , "KC_S" , "KC_ENT", + + "KC_LSFT", "KC_SCLN" , "KC_Q" , "KC_J" , "KC_K" , "KC_X" , "KC_GRV", + "KC_ESC" , "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_Z" , "KC_RSFT", + + "KC_LCTL", "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)", + "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_SLSH" + + ], + ["KC_TAB" , "KC_Q" , "KC_W" , "KC_F" , "KC_P" , "KC_B", + "KC_J" , "KC_L" , "KC_U" , "KC_Y" , "KC_SCLN" , "KC_BSPC", + + "KC_CAPS", "KC_A" , "KC_R" , "KC_S" , "KC_T" , "KC_G", + "KC_M" , "KC_N" , "KC_E" , "KC_I" , "KC_O" , "KC_ENT", + + "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_D" , "KC_V" , "KC_GRV", + "KC_ESC" , "KC_K" , "KC_H" , "KC_COMM" , "KC_DOT" , "KC_SLSH" , "KC_RSFT", + + "KC_LCTL", "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)", + "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_QUOT" + + ], + ["KC_NO" , "KC_INS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_VOLU", + "KC_PGUP", "KC_HOME" , "KC_NO" , "KC_END" , "KC_NO" , "KC_DEL", + + "KC_NO" , "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_VOLD", + "KC_PGDN", "KC_LEFT" , "KC_UP" , "KC_RGHT" , "KC_NO" , "KC_TRNS", + + "KC_LSFT", "LCTL(KC_Z)" , "LCTL(KC_X)" , "LCTL(KC_C)", "LCTL(KC_V)" , "LCTL(KC_Y)", "KC_MUTE", + "KC_ESC" , "OSM(MOD_RALT)", "LCTL(KC_LEFT)", "KC_DOWN" , "LCTL(KC_RGHT)", "KC_APP" , "KC_TRNS", + + "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + "MO(6)" , "KC_BSPC" , "KC_TRNS" , "KC_TRNS" , "KC_RCTL" + + ], + ["KC_F11" , "KC_EXLM" , "KC_AT" , "KC_HASH" , "KC_DLR" , "KC_PERC", + "KC_CIRC", "KC_AMPR" , "KC_ASTR" , "KC_LPRN" , "KC_RPRN" , "KC_TRNS", + + "KC_F12" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5", + "KC_PIPE", "KC_LSFT" , "KC_LCTL" , "KC_LALT" , "KC_LGUI" , "KC_TRNS", + + "KC_LSFT", "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_PSCR", + "KC_ESC" , "KC_BSLS" , "KC_LBRC" , "KC_RBRC" , "KC_LCBR" , "KC_RCBR" , "KC_TRNS", + + "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "MO(6)", + "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_RCTL" + + ], + ["KC_TAB" , "KC_MINS" , "KC_PLUS" , "KC_EQL" , "KC_SLSH" , "KC_ASTR", + "KC_COMM", "KC_7" , "KC_8" , "KC_9" , "KC_NO" , "KC_TRNS", + + "KC_NO" , "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_NO", + "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_UNDS" , "KC_TRNS", + + "KC_TRNS", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", + "KC_NO" , "KC_DOT" , "KC_4" , "KC_5" , "KC_6" , "KC_NO" , "KC_TRNS", + + "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_NO", + "KC_NO" , "KC_BSPC" , "KC_TRNS" , "KC_TRNS" , "KC_RCTL" + + ], + ["KC_NO" , "DF(0)" , "DF(1)" , "DF(2)" , "AG_SWAP" , "AG_NORM", + "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", + + "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "CL_SWAP" , "CL_NORM", + "RGB_MOD", "RGB_VAI" , "RGB_HUI" , "RGB_SAI" , "KC_NO" , "KC_NO", + + "RESET" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", + "RGB_TOG", "RGB_RMOD" , "RGB_VAD" , "RGB_HUD" , "RGB_SAD" , "KC_NO" , "KC_NO", + + "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_TRNS", + "KC_TRNS", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" + + ] + ], + "author": "@mmccoyd" +} diff --git a/keyboards/handwired/hillside/keymaps/default/readme.md b/keyboards/handwired/hillside/0_1/keymaps/default/readme.md similarity index 79% rename from keyboards/handwired/hillside/keymaps/default/readme.md rename to keyboards/handwired/hillside/0_1/keymaps/default/readme.md index a982c0c380bc..ae4a5c5648ca 100644 --- a/keyboards/handwired/hillside/keymaps/default/readme.md +++ b/keyboards/handwired/hillside/0_1/keymaps/default/readme.md @@ -27,60 +27,56 @@ We've deliberately omitted some features: ``` | TAB | Q | W | E | R | T |---------------------------| Y | U | I | O | P | BKSPC | -| CTRL | A | S | D | F | G |---------------------------| H | J | K | L | ; | ' | +| CAPS | A | S | D | F | G |---------------------------| H | J | K | L | ; | ENTER | | SHIFT | Z | X | C | V | B | ~ |---------------| ESC | N | M | , | . | / | SHIFT | ---------------|ENTER|-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| APP |-------------- +--------------|CTRL |-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| ' |-------------- ``` -The base layer can be either of QWERTY, Colemak-DH or Dvorak, - with identical non-alpha and non-symbol keys. -QWERTY is the default. +The base layer provides a very standard key layout: -A standard keyboard layout is used for: - -- Tab, backspace and shift keys in the outer columns. -- Alt/option and GUI/command keys on both thumbs, with the location swappable for windows or mac. +- Return, Tab, backspace and shift keys in the outer columns. +- Alt/option and win/command keys on both thumbs, with the location swappable for windows or mac. - A space key on the right thumb. The differences from a standard layout are: - There are three additional "shift" keys to access the navigation/editing, symbol/function, and number layers. -- Enter is on the left thumb or ring finger. - This location allowed preserving the more common right-hand keys. - Feel free to swap it with the quote key or have it share the right shift key - as a mod-tap key. -- Control is in the caps lock spot. - Esc and `~ are above the thumbs. -- The rarer AltGr key is in a layer. +- The Menu and AltGr keys are on a layer. + +The default layout is QWERTY with alternatives of Dvorak and Colemak-DH +and the alt/option and win/command key locations are swappable for windows or mac.
Details of Dvorak and Colemak-DH -In the Dvorak layout, the outer home row key is the "/?" symbols +The Dvorak and Colemak-DH base layers + have identical non-alpha and non-symbol keys as the QWERTY base layer. +In the Dvorak layout, the symbol key in the bottom row is the "/?" symbols so that the same 12 symbols are taken care of on the base layer. ``` Dvorak | TAB | ' | , | . | P | Y |---------------------------| F | G | C | R | L | BKSPC | -| CTRL | A | O | E | U | I |---------------------------| D | H | T | N | S | / | +| CAPS | A | O | E | U | I |---------------------------| D | H | T | N | S | ENTER | | SHIFT | ; | Q | J | K | X | ~ |---------------| ESC | B | M | W | V | Z | SHIFT | ---------------|ENTER|-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| APP |-------------- +--------------|CTRL |-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| / |-------------- Colemak-DH | TAB | Q | W | F | P | B |---------------------------| J | L | U | Y | ; | BKSPC | -| CTRL | A | R | S | T | G |---------------------------| M | N | E | I | O | ' | +| CAPS | A | R | S | T | G |---------------------------| M | N | E | I | O | ENTER | | SHIFT | Z | X | C | D | V | ~ |---------------| ESC | K | H | , | . | / | SHIFT | ---------------|ENTER|-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| APP |-------------- +--------------|CTRL |-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| ' |-------------- ```
## Navigation, Editing and Media Layer ``` -| CAPS | INS | | | |VOL+ |---------------------------|PG_UP|HOME | | END| | DEL | -| CTRL | GUI | ALT |CTRL |SHIFT|VOL- |---------------------------|PG_DN|LEFT | UP |RIGHT| | CTRL | -| SHIFT |UNDO | CUT |COPY |PASTE|REDO |MUTE |---------------| ESC | |WORDL|DOWN |WORDR|RALT | SHIFT | ---------------|ENTER|-----| GUI | ALT | Num | *** |---| Adj |BSPC | ALT | GUI |-----| APP |-------------- +| | INS | | | |VOL+ |---------------------------|PG_UP|HOME | | END| | DEL | +| | GUI | ALT |CTRL |SHIFT|VOL- |---------------------------|PG_DN|LEFT | UP |RIGHT| | ENTER | +| SHIFT |UNDO | CUT |COPY |PASTE|REDO |MUTE |---------------| ESC |RALT |WORDL|DOWN |WORDR|MENU | SHIFT | +--------------|CTRL |-----| GUI | ALT | Num | *** |---| Adj |BSPC | ALT | GUI |-----|CTRL |-------------- ``` Holding down the Nav key accesses a navigation and editing layer: @@ -96,33 +92,33 @@ Holding down the Nav key accesses a navigation and editing layer: - The base layer modifiers and escape are in the same spots as on the base layer, and a right-hand control key is added. - Media volume and play keys are on the left, accessible with one hand. -- AltGr and caps lock fill out the layer. +- Menu and AltGr keys fill out the layer. - A few keys do nothing and are available for more user-specific needs. ## Symbol and Function Layer ``` -| F12 | ! | @ | # | $ | % |---------------------------| ^ | & | * | ( | ) | BSPC | -| CTRL | F1 | F2 | F3 | F4 | F5 |---------------------------| | |SHIFT|CTRL | ALT | GUI | CTRL | -| SHIFT | F6 | F7 | F8 | F9 | F10 | F11 |---------------| ESC | \ | [ | ] | { | } | SHIFT | ---------------|ENTER|-----| GUI | ALT | Num | Adj |---| *** |SPACE| ALT | GUI |-----| APP |-------------- +| F11 | ! | @ | # | $ | % |---------------------------| ^ | & | * | ( | ) | BSPC | +| F12 | F1 | F2 | F3 | F4 | F5 |---------------------------| | |SHIFT|CTRL | ALT | GUI | ENTER | +| SHIFT | F6 | F7 | F8 | F9 | F10 |PRTSC|---------------| ESC | \ | [ | ] | { | } | SHIFT | +--------------|CTRL |-----| GUI | ALT | Num | Adj |---| *** |SPACE| ALT | GUI |-----|CTRL |-------------- ``` Holding down the Sym key accesses a layer of symbol and function keys: - The symbols usually found on the number keys are in the top row. If desired, you can use these positions for other things, as the symbols are also accessible from the number pad layer with the shift key. -- The remaining symbols appear on the right. +- Several more symbols appear on the right. - The function keys are on the left, beginning with two rows of five. - A row of modifiers in the home row allows the comfortable creation of any modifier and function key combination. - The base layer modifier and escape keys are still available, as is a right-hand control key. ## Number Pad and Algebraic Layer ``` -| | - | + | = | / | * |---------------------------| . | 7 | 8 | 9 | | BSPC | -| CTRL | GUI | ALT |CTRL |SHIFT| |---------------------------| 0 | 1 | 2 | 3 | _ | CTRL | +| TAB | - | + | = | / | * |---------------------------| . | 7 | 8 | 9 | | BSPC | +| | GUI | ALT |CTRL |SHIFT| |---------------------------| 0 | 1 | 2 | 3 | _ | ENTER | | SHIFT | | | | | | |---------------| ESC | , | 4 | 5 | 6 | | SHIFT | ---------------|ENTER|-----| GUI | ALT | *** | |---| |BSPC | ALT | GUI |-----| APP |-------------- +--------------|CTRL |-----| GUI | ALT | *** | |---| |BSPC | ALT | GUI |-----|CTRL |-------------- ``` Holding down the Num key accesses a number pad and arithmetic symbols: @@ -136,7 +132,7 @@ Holding down the Num key accesses a number pad and arithmetic symbols: ## Adjust Layer ``` | |QWERT|DVORK|COLMK|AG_SWAP|AG_NORM|-----------------------| | | | | | | -| | | | | | |---------------------------|MOD+ |BRI+ |HUE+ |SAT+ | | | +| | | | |CTR_S|CTR_N|---------------------------|MOD+ |BRI+ |HUE+ |SAT+ | | | | RESET | | | | | | |--------------|RGBTOG|MOD- |BRI- |HUE- |SAT- | | | --------------| |-----| | | | *** |---| *** | | | |-----| |-------------- ``` @@ -204,7 +200,7 @@ Or, you can use the graphical configurator to edit the keymap. To do that: - Save the keymap using the green down arrow button. - Copy those changes back into your QMK repository and reformat for easy reading using the format script: ``` -./keyboards/handwired/hillside/keymaps/json2hill.py --input /default.json > ./keyboards/handwired/hillside/keymaps/default/keymap.json +./keyboards/handwired/hillside/0_1/keymaps/json2hill.py --input /default.json > ./keyboards/handwired/hillside/0_1/keymaps/default/keymap.json ``` You may need to make that script executable with ```chmod +x```. After your keymap is safely copied and formated, you may want to remove the keymap from your download directory so later downloads will automatically receive the same file name. diff --git a/keyboards/handwired/hillside/keymaps/json2hill.py b/keyboards/handwired/hillside/0_1/keymaps/json2hill.py similarity index 100% rename from keyboards/handwired/hillside/keymaps/json2hill.py rename to keyboards/handwired/hillside/0_1/keymaps/json2hill.py diff --git a/keyboards/handwired/hillside/0_1/keymaps/via/keymap.json b/keyboards/handwired/hillside/0_1/keymaps/via/keymap.json new file mode 100644 index 000000000000..a015f0241c6b --- /dev/null +++ b/keyboards/handwired/hillside/0_1/keymaps/via/keymap.json @@ -0,0 +1,61 @@ +{ "version": 1, + "notes": "", + "keyboard": "handwired/hillside/0_1", + "keymap": "via", + "layout": "LAYOUT", + "layers": [ + ["KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T", + "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC", + + "KC_CAPS" , "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G", + "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_ENT", + + "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_GRV", + "KC_ESC" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT", + + "KC_LCTL" , "KC_LGUI", "KC_LALT", "MO(3)" , "MO(1)", + "MO(2)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_QUOT" + + ], + ["KC_NO" , "KC_INS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_VOLU", + "KC_PGUP" , "KC_HOME", "KC_NO" , "KC_END" , "KC_NO" , "KC_DEL", + + "KC_NO" , "KC_LGUI", "KC_LALT", "KC_LCTL", "KC_LSFT", "KC_VOLD", + "KC_PGDN" , "KC_LEFT", "KC_UP" , "KC_RGHT", "KC_NO" , "KC_TRNS", + + "KC_LSFT" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_MUTE", + "KC_ESC" , "KC_CAPS", "KC_NO" , "KC_DOWN", "KC_NO" , "KC_APP" , "KC_TRNS", + + "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS" , "KC_BSPC", "KC_TRNS", "KC_TRNS", "KC_RCTL" + + ], + ["KC_F11" , "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC", + "KC_CIRC" , "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_TRNS", + + "KC_F12" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5", + "KC_PIPE" , "KC_LSFT", "KC_LCTL", "KC_LALT", "KC_LGUI", "KC_TRNS", + + "KC_LSFT" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_PSCR", + "KC_ESC" , "KC_BSLS", "KC_LBRC", "KC_RBRC", "KC_LCBR", "KC_RCBR", "KC_TRNS", + + "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_RCTL" + + ], + ["KC_TAB" , "KC_MINS", "KC_PLUS", "KC_EQL" , "KC_SLSH", "KC_ASTR", + "KC_COMM" , "KC_7" , "KC_8" , "KC_9" , "KC_NO" , "KC_TRNS", + + "ANY(RGB_TOG)", "KC_LGUI", "KC_LALT", "KC_LCTL", "KC_LSFT", "KC_NO", + "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_UNDS", "KC_TRNS", + + "KC_TRNS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", + "KC_NO" , "KC_DOT" , "KC_4" , "KC_5" , "KC_6" , "KC_NO" , "KC_TRNS", + + "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_NO", + "KC_NO" , "KC_BSPC", "KC_TRNS", "KC_TRNS", "KC_RCTL" + + ] + ], + "author": "@mmccoyd" +} diff --git a/keyboards/handwired/hillside/0_1/readme.md b/keyboards/handwired/hillside/0_1/readme.md new file mode 100644 index 000000000000..f1ff0f850667 --- /dev/null +++ b/keyboards/handwired/hillside/0_1/readme.md @@ -0,0 +1,29 @@ +# Hillside + +![hillside](https://imgur.com/XW0rX13.png) + +[Hillside](https://github.com/mmccoyd/hillside) + is a split ergonomic keyboard + with 3x6+4+2 choc-spaced keys with aggressive column stagger, + a longer thumb arc and a breakoff outer-pinky column. + +* Keyboard Maintainer: [Michael McCoyd](https://github.com/mmccoyd) +* Hardware Supported: ProMicro/Elite-C and compatible +* Hardware Availability: https://github.com/mmccoyd/hillside + +Make example for this keyboard (after setting up your build environment): + + make handwired/hillside/0_1:default + +Flashing example for this keyboard: + + make handwired/hillside/0_1:default:flash + +## Bootloader + +Enter the bootloader by either: + +* **Physical reset button**: Briefly press the button on the front of the PCB. +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +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/hillside/info.json b/keyboards/handwired/hillside/info.json index 7a29df1c64ec..781b43c0ff78 100644 --- a/keyboards/handwired/hillside/info.json +++ b/keyboards/handwired/hillside/info.json @@ -2,96 +2,5 @@ "manufacturer": "mmccoyd", "maintainer": "mmccoyd", - "keyboard_name": "Hillside", - "url": "http://github.com/mmccoyd/hillside/", - - "tags": ["split", "column stagger", "choc v1", "choc spaced" ], - - "processor": "atmega32u4", - - "features": { - "encoder": true, - "extrakey": true, - "rgblight": true - }, - "split": { - "soft_serial_pin": "D2", - "main": "left" - }, - - "rgblight": { - "led_count": 5, - "pin": "D3", - "split": true, - "hue_steps": 8, - "saturation_steps": 8, - "brightness_steps": 8 - }, - - "layouts": { - "LAYOUT": { - "layout": [ - - {"label": "Tab", "x": 0, "y": 0.93}, - {"label": "Q", "x": 1, "y": 0.93}, - {"label": "W", "x": 2, "y": 0.31}, - {"label": "E", "x": 3, "y": 0}, - {"label": "R", "x": 4, "y": 0.28}, - {"label": "T", "x": 5, "y": 0.42}, - - {"label": "Y", "x": 9.5, "y": 0.42}, - {"label": "U", "x": 10.5, "y": 0.28}, - {"label": "I", "x": 11.5, "y": 0}, - {"label": "O", "x": 12.5, "y": 0.31}, - {"label": "P", "x": 13.5, "y": 0.93}, - {"label": "Backspace", "x": 14.5, "y": 0.93}, - - - {"label": "Ctrl", "x": 0, "y": 1.93}, - {"label": "A", "x": 1, "y": 1.93}, - {"label": "S", "x": 2, "y": 1.31}, - {"label": "D", "x": 3, "y": 1}, - {"label": "F", "x": 4, "y": 1.28}, - {"label": "G", "x": 5, "y": 1.42}, - - {"label": "H", "x": 9.5, "y": 1.42}, - {"label": "J", "x": 10.5, "y": 1.28}, - {"label": "K", "x": 11.5, "y": 1}, - {"label": "L", "x": 12.5, "y": 1.31}, - {"label": ";", "x": 13.5, "y": 1.93}, - {"label": "'", "x": 14.5, "y": 1.93}, - - - {"label": "Shift", "x": 0, "y": 2.93}, - {"label": "Z", "x": 1, "y": 2.93}, - {"label": "X", "x": 2, "y": 2.31}, - {"label": "C", "x": 3, "y": 2}, - {"label": "V", "x": 4, "y": 2.28}, - {"label": "B", "x": 5, "y": 2.42}, - {"label": "`", "x": 6, "y": 2.78}, - - {"label": "Esc", "x": 8.5, "y": 2.78}, - {"label": "N", "x": 9.5, "y": 2.42}, - {"label": "M", "x": 10.5, "y": 2.28}, - {"label": ",", "x": 11.5, "y": 2}, - {"label": ".", "x": 12.5, "y": 2.31}, - {"label": "/", "x": 13.5, "y": 2.93}, - {"label": "Shift", "x": 14.5, "y": 2.93}, - - - {"label": "Enter", "x": 2, "y": 3.31}, - {"label": "Gui", "x": 3.5, "y": 3.28}, - {"label": "Alt", "x": 4.5, "y": 3.42}, - {"label": "Num", "x": 5.5, "y": 3.78}, - {"label": "Nav", "x": 6.5, "y": 4.14}, - - - {"label": "Sym", "x": 8, "y": 4.14}, - {"label": "Space", "x": 9, "y": 3.78}, - {"label": "Alt", "x": 10, "y": 3.42}, - {"label": "Gui", "x": 11, "y": 3.28}, - {"label": "App", "x": 12.5, "y": 3.31} - ] - } - } + "url": "http://github.com/mmccoyd/hillside/" } diff --git a/keyboards/handwired/hillside/keymaps/default/keymap.json b/keyboards/handwired/hillside/keymaps/default/keymap.json deleted file mode 100644 index f5871b073f28..000000000000 --- a/keyboards/handwired/hillside/keymaps/default/keymap.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": 1, - "notes": "", - "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", - "keyboard": "handwired/hillside/0_1", - "author": "@mmccoyd", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - ["KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T", - "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC", - - "KC_LCTL", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G", - "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN" , "KC_QUOT", - - "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_GRV", - "KC_ESC" , "KC_N" , "KC_M" , "KC_COMM" , "KC_DOT" , "KC_SLSH" , "KC_RSFT", - - "KC_ENT" , "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)", - "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_APP" - - ], - ["KC_TAB" , "KC_QUOT" , "KC_COMM" , "KC_DOT" , "KC_P" , "KC_Y", - "KC_F" , "KC_G" , "KC_C" , "KC_R" , "KC_L" , "KC_BSPC", - - "KC_LCTL", "KC_A" , "KC_O" , "KC_E" , "KC_U" , "KC_I", - "KC_D" , "KC_H" , "KC_T" , "KC_N" , "KC_S" , "KC_SLSH", - - "KC_LSFT", "KC_SCLN" , "KC_Q" , "KC_J" , "KC_K" , "KC_X" , "KC_GRV", - "KC_ESC" , "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_Z" , "KC_RSFT", - - "KC_ENT" , "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)", - "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_APP" - - ], - ["KC_TAB" , "KC_Q" , "KC_W" , "KC_F" , "KC_P" , "KC_B", - "KC_J" , "KC_L" , "KC_U" , "KC_Y" , "KC_SCLN" , "KC_BSPC", - - "KC_LCTL", "KC_A" , "KC_R" , "KC_S" , "KC_T" , "KC_G", - "KC_M" , "KC_N" , "KC_E" , "KC_I" , "KC_O" , "KC_QUOT", - - "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_D" , "KC_V" , "KC_GRV", - "KC_ESC" , "KC_K" , "KC_H" , "KC_COMM" , "KC_DOT" , "KC_SLSH" , "KC_RSFT", - - "KC_ENT" , "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)", - "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_APP" - - ], - ["KC_CAPS", "KC_INS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_VOLU", - "KC_PGUP", "KC_HOME" , "KC_NO" , "KC_END" , "KC_NO" , "KC_DEL", - - "KC_LCTL", "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_VOLD", - "KC_PGDN", "KC_LEFT" , "KC_UP" , "KC_RGHT" , "KC_NO" , "KC_RCTL", - - "KC_LSFT", "LCTL(KC_Z)", "LCTL(KC_X)" , "LCTL(KC_C)", "LCTL(KC_V)" , "LCTL(KC_Y)", "KC_MUTE", - "KC_ESC" , "KC_NO" , "LCTL(KC_LEFT)", "KC_DOWN" , "LCTL(KC_RGHT)", "KC_RALT" , "KC_RSFT", - - "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "MO(6)" , "KC_BSPC" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" - - ], - ["KC_F12" , "KC_EXLM" , "KC_AT" , "KC_HASH" , "KC_DLR" , "KC_PERC", - "KC_CIRC", "KC_AMPR" , "KC_ASTR" , "KC_LPRN" , "KC_RPRN" , "KC_BSPC", - - "KC_LCTL", "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5", - "KC_PIPE", "KC_LSFT" , "KC_LCTL" , "KC_LALT" , "KC_LGUI" , "KC_RCTL", - - "KC_LSFT", "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11", - "KC_ESC" , "KC_BSLS" , "KC_LBRC" , "KC_RBRC" , "KC_LCBR" , "KC_RCBR" , "KC_RSFT", - - "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "MO(6)", - "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" - - ], - ["KC_NO" , "KC_MINS" , "KC_PLUS" , "KC_EQL" , "KC_SLSH" , "KC_ASTR", - "KC_COMM", "KC_7" , "KC_8" , "KC_9" , "KC_NO" , "KC_TRNS", - - "KC_TRNS", "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_NO", - "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_UNDS" , "KC_RCTL", - - "KC_TRNS", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - "KC_NO" , "KC_DOT" , "KC_4" , "KC_5" , "KC_6" , "KC_NO" , "KC_TRNS", - - "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_NO", - "KC_NO" , "KC_BSPC" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" - - ], - ["KC_NO" , "DF(0)" , "DF(1)" , "DF(2)" , "AG_SWAP" , "AG_NORM", - "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - - "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - "RGB_MOD", "RGB_VAI" , "RGB_HUI" , "RGB_SAI" , "KC_NO" , "KC_NO", - - "RESET" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - "RGB_TOG", "RGB_RMOD" , "RGB_VAD" , "RGB_HUD" , "RGB_SAD" , "KC_NO" , "KC_NO", - - "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_TRNS", - "KC_TRNS", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" - - ] - ] -} diff --git a/keyboards/handwired/hillside/keymaps/via/keymap.json b/keyboards/handwired/hillside/keymaps/via/keymap.json deleted file mode 100644 index 8b4810c3098d..000000000000 --- a/keyboards/handwired/hillside/keymaps/via/keymap.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "version": 1, - "notes": "", - "keyboard": "handwired/hillside/0_1", - "author": "@mmccoyd", - "keymap": "via", - "layout": "LAYOUT", - "layers": [ - ["KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T", - "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC", - - "KC_LCTL", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G", - "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN" , "KC_QUOT", - - "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_GRV", - "KC_ESC" , "KC_N" , "KC_M" , "KC_COMM" , "KC_DOT" , "KC_SLSH" , "KC_RSFT", - - "KC_ENT" , "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)", - "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_APP" - - ], - ["KC_TAB" , "KC_QUOT" , "KC_COMM" , "KC_DOT" , "KC_P" , "KC_Y", - "KC_F" , "KC_G" , "KC_C" , "KC_R" , "KC_L" , "KC_BSPC", - - "KC_LCTL", "KC_A" , "KC_O" , "KC_E" , "KC_U" , "KC_I", - "KC_D" , "KC_H" , "KC_T" , "KC_N" , "KC_S" , "KC_SLSH", - - "KC_LSFT", "KC_SCLN" , "KC_Q" , "KC_J" , "KC_K" , "KC_X" , "KC_GRV", - "KC_ESC" , "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_Z" , "KC_RSFT", - - "KC_ENT" , "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)", - "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_APP" - - ], - ["KC_TAB" , "KC_Q" , "KC_W" , "KC_F" , "KC_P" , "KC_B", - "KC_J" , "KC_L" , "KC_U" , "KC_Y" , "KC_SCLN" , "KC_BSPC", - - "KC_LCTL", "KC_A" , "KC_R" , "KC_S" , "KC_T" , "KC_G", - "KC_M" , "KC_N" , "KC_E" , "KC_I" , "KC_O" , "KC_QUOT", - - "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_D" , "KC_V" , "KC_GRV", - "KC_ESC" , "KC_K" , "KC_H" , "KC_COMM" , "KC_DOT" , "KC_SLSH" , "KC_RSFT", - - "KC_ENT" , "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)", - "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_APP" - - ], - ["KC_CAPS", "KC_INS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_VOLU", - "KC_PGUP", "KC_HOME" , "KC_NO" , "KC_END" , "KC_NO" , "KC_DEL", - - "KC_LCTL", "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_VOLD", - "KC_PGDN", "KC_LEFT" , "KC_UP" , "KC_RGHT" , "KC_NO" , "KC_RCTL", - - "KC_LSFT", "LCTL(KC_Z)", "LCTL(KC_X)" , "LCTL(KC_C)", "LCTL(KC_V)" , "LCTL(KC_Y)", "KC_MUTE", - "KC_ESC" , "KC_NO" , "LCTL(KC_LEFT)", "KC_DOWN" , "LCTL(KC_RGHT)", "KC_RALT" , "KC_RSFT", - - "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "MO(6)" , "KC_BSPC" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" - - ], - ["KC_F12" , "KC_EXLM" , "KC_AT" , "KC_HASH" , "KC_DLR" , "KC_PERC", - "KC_CIRC", "KC_AMPR" , "KC_ASTR" , "KC_LPRN" , "KC_RPRN" , "KC_BSPC", - - "KC_LCTL", "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5", - "KC_PIPE", "KC_LSFT" , "KC_LCTL" , "KC_LALT" , "KC_LGUI" , "KC_RCTL", - - "KC_LSFT", "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11", - "KC_ESC" , "KC_BSLS" , "KC_LBRC" , "KC_RBRC" , "KC_LCBR" , "KC_RCBR" , "KC_RSFT", - - "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "MO(6)", - "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" - - ], - ["KC_NO" , "KC_MINS" , "KC_PLUS" , "KC_EQL" , "KC_SLSH" , "KC_ASTR", - "KC_COMM", "KC_7" , "KC_8" , "KC_9" , "KC_NO" , "KC_TRNS", - - "KC_TRNS", "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_NO", - "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_UNDS" , "KC_RCTL", - - "KC_TRNS", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - "KC_NO" , "KC_DOT" , "KC_4" , "KC_5" , "KC_6" , "KC_NO" , "KC_TRNS", - - "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_NO", - "KC_NO" , "KC_BSPC" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" - - ], - ["KC_NO" , "DF(0)" , "DF(1)" , "DF(2)" , "AG_SWAP" , "AG_NORM", - "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - - "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - "RGB_MOD", "RGB_VAI" , "RGB_HUI" , "RGB_SAI" , "KC_NO" , "KC_NO", - - "RESET" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - "RGB_TOG", "RGB_RMOD" , "RGB_VAD" , "RGB_HUD" , "RGB_SAD" , "KC_NO" , "KC_NO", - - "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_TRNS", - "KC_TRNS", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" - - ] - ] -} diff --git a/keyboards/handwired/hillside/readme.md b/keyboards/handwired/hillside/readme.md index f1ff0f850667..cffb3875aa14 100644 --- a/keyboards/handwired/hillside/readme.md +++ b/keyboards/handwired/hillside/readme.md @@ -2,28 +2,10 @@ ![hillside](https://imgur.com/XW0rX13.png) -[Hillside](https://github.com/mmccoyd/hillside) - is a split ergonomic keyboard - with 3x6+4+2 choc-spaced keys with aggressive column stagger, - a longer thumb arc and a breakoff outer-pinky column. +Hillside is a small family of split ergonomic keyboards, currently of one. +Inside this directory is support for each model. * Keyboard Maintainer: [Michael McCoyd](https://github.com/mmccoyd) -* Hardware Supported: ProMicro/Elite-C and compatible +* Hardware Supported: + * [Hillside 0_1](https://github.com/qmk/qmk_firmware/blob/master/keyboards/handwired/hillside/0_1): ProMicro/Elite-C and compatible * Hardware Availability: https://github.com/mmccoyd/hillside - -Make example for this keyboard (after setting up your build environment): - - make handwired/hillside/0_1:default - -Flashing example for this keyboard: - - make handwired/hillside/0_1:default:flash - -## Bootloader - -Enter the bootloader by either: - -* **Physical reset button**: Briefly press the button on the front of the PCB. -* **Keycode in layout**: Press the key mapped to `RESET` if it is available - -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). From cad8866db1fce8c6e5d2beca779e779abb1d7369 Mon Sep 17 00:00:00 2001 From: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com> Date: Mon, 31 Jan 2022 05:56:54 +1100 Subject: [PATCH 0131/1832] Add support for Q-series on the ckled2001 LED driver (#16051) --- drivers/led/ckled2001.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/led/ckled2001.c b/drivers/led/ckled2001.c index 990e50cb6066..8d71805a2422 100644 --- a/drivers/led/ckled2001.c +++ b/drivers/led/ckled2001.c @@ -125,7 +125,16 @@ void CKLED2001_init(uint8_t addr) { // Set CURRENT PAGE (Page 4) CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, CURRENT_TUNE_PAGE); for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0xFF); + switch (i) { + case 2: + case 5: + case 8: + case 11: + CKLED2001_write_register(addr, i, 0xA0); + break; + default: + CKLED2001_write_register(addr, i, 0xFF); + } } // Enable LEDs ON/OFF From 566f6e7b76448fa0a367ce573b2ff90abd3541a5 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon, 31 Jan 2022 02:58:40 +0800 Subject: [PATCH 0132/1832] [Keyboard] move @matthewdias 's keebs into matthewdias/ (#15991) --- data/mappings/keyboard_aliases.json | 12 ++++++++++++ keyboards/{ => matthewdias}/m3n3van/config.h | 0 keyboards/{ => matthewdias}/m3n3van/info.json | 0 .../m3n3van/keymaps/default/keymap.json | 0 .../m3n3van/keymaps/matthewdias/keymap.c | 0 .../{ => matthewdias}/m3n3van/keymaps/via/keymap.c | 0 .../{ => matthewdias}/m3n3van/keymaps/via/rules.mk | 0 keyboards/{ => matthewdias}/m3n3van/m3n3van.c | 0 keyboards/{ => matthewdias}/m3n3van/m3n3van.h | 0 keyboards/{ => matthewdias}/m3n3van/readme.md | 4 ++-- keyboards/{ => matthewdias}/m3n3van/rules.mk | 0 keyboards/{ => matthewdias}/minim/config.h | 0 keyboards/{ => matthewdias}/minim/info.json | 0 .../minim/keymaps/default/keymap.json | 0 keyboards/{ => matthewdias}/minim/minim.c | 0 keyboards/{ => matthewdias}/minim/minim.h | 0 keyboards/{ => matthewdias}/minim/readme.md | 4 ++-- keyboards/{ => matthewdias}/minim/rules.mk | 0 keyboards/{ => matthewdias}/model_v/config.h | 0 keyboards/{ => matthewdias}/model_v/info.json | 0 .../model_v/keymaps/default/keymap.c | 0 .../{ => matthewdias}/model_v/keymaps/via/keymap.c | 0 .../{ => matthewdias}/model_v/keymaps/via/rules.mk | 0 keyboards/{ => matthewdias}/model_v/model_v.c | 0 keyboards/{ => matthewdias}/model_v/model_v.h | 0 keyboards/{ => matthewdias}/model_v/readme.md | 4 ++-- keyboards/{ => matthewdias}/model_v/rules.mk | 0 keyboards/{ => matthewdias}/txuu/config.h | 0 keyboards/{ => matthewdias}/txuu/info.json | 0 .../{ => matthewdias}/txuu/keymaps/default/keymap.c | 0 .../{ => matthewdias}/txuu/keymaps/via/keymap.c | 0 .../{ => matthewdias}/txuu/keymaps/via/rules.mk | 0 keyboards/{ => matthewdias}/txuu/readme.md | 4 ++-- keyboards/{ => matthewdias}/txuu/rules.mk | 0 keyboards/{ => matthewdias}/txuu/txuu.c | 0 keyboards/{ => matthewdias}/txuu/txuu.h | 0 36 files changed, 20 insertions(+), 8 deletions(-) rename keyboards/{ => matthewdias}/m3n3van/config.h (100%) rename keyboards/{ => matthewdias}/m3n3van/info.json (100%) rename keyboards/{ => matthewdias}/m3n3van/keymaps/default/keymap.json (100%) rename keyboards/{ => matthewdias}/m3n3van/keymaps/matthewdias/keymap.c (100%) rename keyboards/{ => matthewdias}/m3n3van/keymaps/via/keymap.c (100%) rename keyboards/{ => matthewdias}/m3n3van/keymaps/via/rules.mk (100%) rename keyboards/{ => matthewdias}/m3n3van/m3n3van.c (100%) rename keyboards/{ => matthewdias}/m3n3van/m3n3van.h (100%) rename keyboards/{ => matthewdias}/m3n3van/readme.md (92%) rename keyboards/{ => matthewdias}/m3n3van/rules.mk (100%) rename keyboards/{ => matthewdias}/minim/config.h (100%) rename keyboards/{ => matthewdias}/minim/info.json (100%) rename keyboards/{ => matthewdias}/minim/keymaps/default/keymap.json (100%) rename keyboards/{ => matthewdias}/minim/minim.c (100%) rename keyboards/{ => matthewdias}/minim/minim.h (100%) rename keyboards/{ => matthewdias}/minim/readme.md (91%) rename keyboards/{ => matthewdias}/minim/rules.mk (100%) rename keyboards/{ => matthewdias}/model_v/config.h (100%) rename keyboards/{ => matthewdias}/model_v/info.json (100%) rename keyboards/{ => matthewdias}/model_v/keymaps/default/keymap.c (100%) rename keyboards/{ => matthewdias}/model_v/keymaps/via/keymap.c (100%) rename keyboards/{ => matthewdias}/model_v/keymaps/via/rules.mk (100%) rename keyboards/{ => matthewdias}/model_v/model_v.c (100%) rename keyboards/{ => matthewdias}/model_v/model_v.h (100%) rename keyboards/{ => matthewdias}/model_v/readme.md (90%) rename keyboards/{ => matthewdias}/model_v/rules.mk (100%) rename keyboards/{ => matthewdias}/txuu/config.h (100%) rename keyboards/{ => matthewdias}/txuu/info.json (100%) rename keyboards/{ => matthewdias}/txuu/keymaps/default/keymap.c (100%) rename keyboards/{ => matthewdias}/txuu/keymaps/via/keymap.c (100%) rename keyboards/{ => matthewdias}/txuu/keymaps/via/rules.mk (100%) rename keyboards/{ => matthewdias}/txuu/readme.md (90%) rename keyboards/{ => matthewdias}/txuu/rules.mk (100%) rename keyboards/{ => matthewdias}/txuu/txuu.c (100%) rename keyboards/{ => matthewdias}/txuu/txuu.h (100%) diff --git a/data/mappings/keyboard_aliases.json b/data/mappings/keyboard_aliases.json index c8c39b246c74..5d9bf9f439c5 100644 --- a/data/mappings/keyboard_aliases.json +++ b/data/mappings/keyboard_aliases.json @@ -263,6 +263,9 @@ 'lfkeyboards/smk65': { target: 'lfkeyboards/smk65/revb' }, + m3v3van: { + target: 'matthewdias/m3n3van' + }, 'maartenwut/atom47/rev2': { target: 'evyd13/atom47/rev2' }, @@ -356,9 +359,15 @@ 'mechlovin/hannah65': { target: 'mechlovin/hannah65/rev1' }, + minim: { + target: 'matthewdias/minim' + }, model01: { target: 'keyboardio/model01' }, + model_v: { + target: 'matthewdias/model_v' + }, m0lly: { target: 'tkc/m0lly' }, @@ -501,6 +510,9 @@ 'tokyo60': { target: 'tokyokeyboard/tokyo60' }, + 'txuu': { + target: 'matthewdias/txuu' + }, underscore33: { target: 'underscore33/rev1' }, diff --git a/keyboards/m3n3van/config.h b/keyboards/matthewdias/m3n3van/config.h similarity index 100% rename from keyboards/m3n3van/config.h rename to keyboards/matthewdias/m3n3van/config.h diff --git a/keyboards/m3n3van/info.json b/keyboards/matthewdias/m3n3van/info.json similarity index 100% rename from keyboards/m3n3van/info.json rename to keyboards/matthewdias/m3n3van/info.json diff --git a/keyboards/m3n3van/keymaps/default/keymap.json b/keyboards/matthewdias/m3n3van/keymaps/default/keymap.json similarity index 100% rename from keyboards/m3n3van/keymaps/default/keymap.json rename to keyboards/matthewdias/m3n3van/keymaps/default/keymap.json diff --git a/keyboards/m3n3van/keymaps/matthewdias/keymap.c b/keyboards/matthewdias/m3n3van/keymaps/matthewdias/keymap.c similarity index 100% rename from keyboards/m3n3van/keymaps/matthewdias/keymap.c rename to keyboards/matthewdias/m3n3van/keymaps/matthewdias/keymap.c diff --git a/keyboards/m3n3van/keymaps/via/keymap.c b/keyboards/matthewdias/m3n3van/keymaps/via/keymap.c similarity index 100% rename from keyboards/m3n3van/keymaps/via/keymap.c rename to keyboards/matthewdias/m3n3van/keymaps/via/keymap.c diff --git a/keyboards/m3n3van/keymaps/via/rules.mk b/keyboards/matthewdias/m3n3van/keymaps/via/rules.mk similarity index 100% rename from keyboards/m3n3van/keymaps/via/rules.mk rename to keyboards/matthewdias/m3n3van/keymaps/via/rules.mk diff --git a/keyboards/m3n3van/m3n3van.c b/keyboards/matthewdias/m3n3van/m3n3van.c similarity index 100% rename from keyboards/m3n3van/m3n3van.c rename to keyboards/matthewdias/m3n3van/m3n3van.c diff --git a/keyboards/m3n3van/m3n3van.h b/keyboards/matthewdias/m3n3van/m3n3van.h similarity index 100% rename from keyboards/m3n3van/m3n3van.h rename to keyboards/matthewdias/m3n3van/m3n3van.h diff --git a/keyboards/m3n3van/readme.md b/keyboards/matthewdias/m3n3van/readme.md similarity index 92% rename from keyboards/m3n3van/readme.md rename to keyboards/matthewdias/m3n3van/readme.md index 66f9d08042be..4a426cc22498 100644 --- a/keyboards/m3n3van/readme.md +++ b/keyboards/matthewdias/m3n3van/readme.md @@ -12,10 +12,10 @@ To reset the keyboard into bootloader mode, press the reset switch on the unders Make example for this keyboard (after setting up your build environment): - make m3n3van:default + make matthewdias/m3n3van:default Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): - make m3n3van:default:flash + make matthewdias/m3n3van:default:flash 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/m3n3van/rules.mk b/keyboards/matthewdias/m3n3van/rules.mk similarity index 100% rename from keyboards/m3n3van/rules.mk rename to keyboards/matthewdias/m3n3van/rules.mk diff --git a/keyboards/minim/config.h b/keyboards/matthewdias/minim/config.h similarity index 100% rename from keyboards/minim/config.h rename to keyboards/matthewdias/minim/config.h diff --git a/keyboards/minim/info.json b/keyboards/matthewdias/minim/info.json similarity index 100% rename from keyboards/minim/info.json rename to keyboards/matthewdias/minim/info.json diff --git a/keyboards/minim/keymaps/default/keymap.json b/keyboards/matthewdias/minim/keymaps/default/keymap.json similarity index 100% rename from keyboards/minim/keymaps/default/keymap.json rename to keyboards/matthewdias/minim/keymaps/default/keymap.json diff --git a/keyboards/minim/minim.c b/keyboards/matthewdias/minim/minim.c similarity index 100% rename from keyboards/minim/minim.c rename to keyboards/matthewdias/minim/minim.c diff --git a/keyboards/minim/minim.h b/keyboards/matthewdias/minim/minim.h similarity index 100% rename from keyboards/minim/minim.h rename to keyboards/matthewdias/minim/minim.h diff --git a/keyboards/minim/readme.md b/keyboards/matthewdias/minim/readme.md similarity index 91% rename from keyboards/minim/readme.md rename to keyboards/matthewdias/minim/readme.md index 95820c4db9a4..e94e928ce5aa 100644 --- a/keyboards/minim/readme.md +++ b/keyboards/matthewdias/minim/readme.md @@ -12,10 +12,10 @@ To reset the keyboard into bootloader mode, press the reset switch on the unders Make example for this keyboard (after setting up your build environment): - make minim:default + make matthewdias/minim:default Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): - make minim:default:flash + make matthewdias/minim:default:flash 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/minim/rules.mk b/keyboards/matthewdias/minim/rules.mk similarity index 100% rename from keyboards/minim/rules.mk rename to keyboards/matthewdias/minim/rules.mk diff --git a/keyboards/model_v/config.h b/keyboards/matthewdias/model_v/config.h similarity index 100% rename from keyboards/model_v/config.h rename to keyboards/matthewdias/model_v/config.h diff --git a/keyboards/model_v/info.json b/keyboards/matthewdias/model_v/info.json similarity index 100% rename from keyboards/model_v/info.json rename to keyboards/matthewdias/model_v/info.json diff --git a/keyboards/model_v/keymaps/default/keymap.c b/keyboards/matthewdias/model_v/keymaps/default/keymap.c similarity index 100% rename from keyboards/model_v/keymaps/default/keymap.c rename to keyboards/matthewdias/model_v/keymaps/default/keymap.c diff --git a/keyboards/model_v/keymaps/via/keymap.c b/keyboards/matthewdias/model_v/keymaps/via/keymap.c similarity index 100% rename from keyboards/model_v/keymaps/via/keymap.c rename to keyboards/matthewdias/model_v/keymaps/via/keymap.c diff --git a/keyboards/model_v/keymaps/via/rules.mk b/keyboards/matthewdias/model_v/keymaps/via/rules.mk similarity index 100% rename from keyboards/model_v/keymaps/via/rules.mk rename to keyboards/matthewdias/model_v/keymaps/via/rules.mk diff --git a/keyboards/model_v/model_v.c b/keyboards/matthewdias/model_v/model_v.c similarity index 100% rename from keyboards/model_v/model_v.c rename to keyboards/matthewdias/model_v/model_v.c diff --git a/keyboards/model_v/model_v.h b/keyboards/matthewdias/model_v/model_v.h similarity index 100% rename from keyboards/model_v/model_v.h rename to keyboards/matthewdias/model_v/model_v.h diff --git a/keyboards/model_v/readme.md b/keyboards/matthewdias/model_v/readme.md similarity index 90% rename from keyboards/model_v/readme.md rename to keyboards/matthewdias/model_v/readme.md index 17d12d810856..e73c131e29f2 100644 --- a/keyboards/model_v/readme.md +++ b/keyboards/matthewdias/model_v/readme.md @@ -11,10 +11,10 @@ To reset the keyboard into bootloader mode, press the reset switch on the unders Make example for this keyboard (after setting up your build environment): - make model_v:default + make matthewdias/model_v:default Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): - make model_v:default:flash + make matthewdias/model_v:default:flash 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/model_v/rules.mk b/keyboards/matthewdias/model_v/rules.mk similarity index 100% rename from keyboards/model_v/rules.mk rename to keyboards/matthewdias/model_v/rules.mk diff --git a/keyboards/txuu/config.h b/keyboards/matthewdias/txuu/config.h similarity index 100% rename from keyboards/txuu/config.h rename to keyboards/matthewdias/txuu/config.h diff --git a/keyboards/txuu/info.json b/keyboards/matthewdias/txuu/info.json similarity index 100% rename from keyboards/txuu/info.json rename to keyboards/matthewdias/txuu/info.json diff --git a/keyboards/txuu/keymaps/default/keymap.c b/keyboards/matthewdias/txuu/keymaps/default/keymap.c similarity index 100% rename from keyboards/txuu/keymaps/default/keymap.c rename to keyboards/matthewdias/txuu/keymaps/default/keymap.c diff --git a/keyboards/txuu/keymaps/via/keymap.c b/keyboards/matthewdias/txuu/keymaps/via/keymap.c similarity index 100% rename from keyboards/txuu/keymaps/via/keymap.c rename to keyboards/matthewdias/txuu/keymaps/via/keymap.c diff --git a/keyboards/txuu/keymaps/via/rules.mk b/keyboards/matthewdias/txuu/keymaps/via/rules.mk similarity index 100% rename from keyboards/txuu/keymaps/via/rules.mk rename to keyboards/matthewdias/txuu/keymaps/via/rules.mk diff --git a/keyboards/txuu/readme.md b/keyboards/matthewdias/txuu/readme.md similarity index 90% rename from keyboards/txuu/readme.md rename to keyboards/matthewdias/txuu/readme.md index 1800d8a8ca9e..017cd23bb13e 100644 --- a/keyboards/txuu/readme.md +++ b/keyboards/matthewdias/txuu/readme.md @@ -9,10 +9,10 @@ To reset the keyboard into bootloader mode, press the reset switch on the unders Make example for this keyboard (after setting up your build environment): - make txuu:default + make matthewdias/txuu:default Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): - make txuu:default:flash + make matthewdias/txuu:default:flash 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/txuu/rules.mk b/keyboards/matthewdias/txuu/rules.mk similarity index 100% rename from keyboards/txuu/rules.mk rename to keyboards/matthewdias/txuu/rules.mk diff --git a/keyboards/txuu/txuu.c b/keyboards/matthewdias/txuu/txuu.c similarity index 100% rename from keyboards/txuu/txuu.c rename to keyboards/matthewdias/txuu/txuu.c diff --git a/keyboards/txuu/txuu.h b/keyboards/matthewdias/txuu/txuu.h similarity index 100% rename from keyboards/txuu/txuu.h rename to keyboards/matthewdias/txuu/txuu.h From 51e99b562d410e8be7075cac6e5bee6a4b9d99bf Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon, 31 Jan 2022 03:17:04 +0800 Subject: [PATCH 0133/1832] [Keyboard] move @monksoffunk 's boards into 25keys/ (#15789) --- keyboards/{ => 25keys}/aleth42/info.json | 0 keyboards/{ => 25keys}/aleth42/keymaps/default/keymap.c | 0 keyboards/{ => 25keys}/aleth42/keymaps/default/readme.md | 0 keyboards/{ => 25keys}/aleth42/keymaps/via/config.h | 0 keyboards/{ => 25keys}/aleth42/keymaps/via/keymap.c | 0 keyboards/{ => 25keys}/aleth42/keymaps/via/readme.md | 0 keyboards/{ => 25keys}/aleth42/keymaps/via/rules.mk | 0 keyboards/{aleth42/rev1 => 25keys/aleth42}/readme.md | 2 +- keyboards/{ => 25keys}/aleth42/rev0/config.h | 0 keyboards/{ => 25keys}/aleth42/rev0/readme.md | 0 keyboards/{ => 25keys}/aleth42/rev0/rev0.c | 0 keyboards/{ => 25keys}/aleth42/rev0/rev0.h | 0 keyboards/{ => 25keys}/aleth42/rev0/rules.mk | 0 keyboards/{ => 25keys}/aleth42/rev1/config.h | 0 keyboards/{aleth42 => 25keys/aleth42/rev1}/readme.md | 0 keyboards/{ => 25keys}/aleth42/rev1/rev1.c | 0 keyboards/{ => 25keys}/aleth42/rev1/rev1.h | 0 keyboards/{ => 25keys}/aleth42/rev1/rules.mk | 0 keyboards/{ => 25keys}/aleth42/rules.mk | 0 keyboards/{ => 25keys}/cassette42/cassette42.c | 0 keyboards/{ => 25keys}/cassette42/cassette42.h | 0 keyboards/{ => 25keys}/cassette42/common/glcdfont.c | 0 keyboards/{ => 25keys}/cassette42/common/oled_helper.c | 0 keyboards/{ => 25keys}/cassette42/common/oled_helper.h | 0 keyboards/{ => 25keys}/cassette42/config.h | 2 +- keyboards/{ => 25keys}/cassette42/info.json | 0 keyboards/{ => 25keys}/cassette42/keymaps/default/keymap.c | 0 keyboards/{ => 25keys}/cassette42/keymaps/default/readme.md | 0 keyboards/{ => 25keys}/cassette42/readme.md | 2 +- keyboards/{ => 25keys}/cassette42/rules.mk | 0 keyboards/{ => 25keys}/zinc/.noci | 0 keyboards/{ => 25keys}/zinc/config.h | 0 keyboards/{ => 25keys}/zinc/info.json | 0 keyboards/{ => 25keys}/zinc/keymaps/default/config.h | 0 keyboards/{ => 25keys}/zinc/keymaps/default/keymap.c | 0 keyboards/{ => 25keys}/zinc/keymaps/default/readme_en.md | 0 keyboards/{ => 25keys}/zinc/keymaps/default/readme_jp.md | 0 keyboards/{ => 25keys}/zinc/keymaps/default/rules.mk | 0 keyboards/{ => 25keys}/zinc/keymaps/ginjake/config.h | 0 keyboards/{ => 25keys}/zinc/keymaps/ginjake/keymap.c | 0 keyboards/{ => 25keys}/zinc/keymaps/ginjake/readme_jp.md | 0 keyboards/{ => 25keys}/zinc/keymaps/ginjake/rules.mk | 0 keyboards/{ => 25keys}/zinc/keymaps/monks/config.h | 0 keyboards/{ => 25keys}/zinc/keymaps/monks/keymap.c | 0 keyboards/{ => 25keys}/zinc/keymaps/monks/readme_jp.md | 0 keyboards/{ => 25keys}/zinc/keymaps/monks/rules.mk | 0 keyboards/{ => 25keys}/zinc/keymaps/toshi0383/config.h | 0 keyboards/{ => 25keys}/zinc/keymaps/toshi0383/keymap.c | 0 keyboards/{ => 25keys}/zinc/keymaps/toshi0383/rules.mk | 0 keyboards/{ => 25keys}/zinc/keymaps/via/config.h | 0 keyboards/{ => 25keys}/zinc/keymaps/via/keymap.c | 0 keyboards/{ => 25keys}/zinc/keymaps/via/readme_en.md | 0 keyboards/{ => 25keys}/zinc/keymaps/via/readme_jp.md | 0 keyboards/{ => 25keys}/zinc/keymaps/via/rules.mk | 0 keyboards/{ => 25keys}/zinc/readme.md | 2 +- keyboards/{ => 25keys}/zinc/rev1/.noci | 0 keyboards/{ => 25keys}/zinc/rev1/config.h | 0 keyboards/{ => 25keys}/zinc/rev1/info.json | 0 keyboards/{ => 25keys}/zinc/rev1/post_config.h | 0 keyboards/{ => 25keys}/zinc/rev1/rev1.c | 0 keyboards/{ => 25keys}/zinc/rev1/rev1.h | 0 keyboards/{ => 25keys}/zinc/rev1/rules.mk | 0 keyboards/{ => 25keys}/zinc/reva/.noci | 0 keyboards/{ => 25keys}/zinc/reva/config.h | 0 keyboards/{ => 25keys}/zinc/reva/info.json | 0 keyboards/{ => 25keys}/zinc/reva/post_config.h | 0 keyboards/{ => 25keys}/zinc/reva/reva.c | 0 keyboards/{ => 25keys}/zinc/reva/reva.h | 0 keyboards/{ => 25keys}/zinc/reva/rules.mk | 0 keyboards/{ => 25keys}/zinc/rules.mk | 2 +- keyboards/{ => 25keys}/zinc/zinc.c | 0 keyboards/{ => 25keys}/zinc/zinc.h | 4 ++-- 72 files changed, 7 insertions(+), 7 deletions(-) rename keyboards/{ => 25keys}/aleth42/info.json (100%) rename keyboards/{ => 25keys}/aleth42/keymaps/default/keymap.c (100%) rename keyboards/{ => 25keys}/aleth42/keymaps/default/readme.md (100%) rename keyboards/{ => 25keys}/aleth42/keymaps/via/config.h (100%) rename keyboards/{ => 25keys}/aleth42/keymaps/via/keymap.c (100%) rename keyboards/{ => 25keys}/aleth42/keymaps/via/readme.md (100%) rename keyboards/{ => 25keys}/aleth42/keymaps/via/rules.mk (100%) rename keyboards/{aleth42/rev1 => 25keys/aleth42}/readme.md (95%) rename keyboards/{ => 25keys}/aleth42/rev0/config.h (100%) rename keyboards/{ => 25keys}/aleth42/rev0/readme.md (100%) rename keyboards/{ => 25keys}/aleth42/rev0/rev0.c (100%) rename keyboards/{ => 25keys}/aleth42/rev0/rev0.h (100%) rename keyboards/{ => 25keys}/aleth42/rev0/rules.mk (100%) rename keyboards/{ => 25keys}/aleth42/rev1/config.h (100%) rename keyboards/{aleth42 => 25keys/aleth42/rev1}/readme.md (100%) rename keyboards/{ => 25keys}/aleth42/rev1/rev1.c (100%) rename keyboards/{ => 25keys}/aleth42/rev1/rev1.h (100%) rename keyboards/{ => 25keys}/aleth42/rev1/rules.mk (100%) rename keyboards/{ => 25keys}/aleth42/rules.mk (100%) rename keyboards/{ => 25keys}/cassette42/cassette42.c (100%) rename keyboards/{ => 25keys}/cassette42/cassette42.h (100%) rename keyboards/{ => 25keys}/cassette42/common/glcdfont.c (100%) rename keyboards/{ => 25keys}/cassette42/common/oled_helper.c (100%) rename keyboards/{ => 25keys}/cassette42/common/oled_helper.h (100%) rename keyboards/{ => 25keys}/cassette42/config.h (95%) rename keyboards/{ => 25keys}/cassette42/info.json (100%) rename keyboards/{ => 25keys}/cassette42/keymaps/default/keymap.c (100%) rename keyboards/{ => 25keys}/cassette42/keymaps/default/readme.md (100%) rename keyboards/{ => 25keys}/cassette42/readme.md (95%) rename keyboards/{ => 25keys}/cassette42/rules.mk (100%) rename keyboards/{ => 25keys}/zinc/.noci (100%) rename keyboards/{ => 25keys}/zinc/config.h (100%) rename keyboards/{ => 25keys}/zinc/info.json (100%) rename keyboards/{ => 25keys}/zinc/keymaps/default/config.h (100%) rename keyboards/{ => 25keys}/zinc/keymaps/default/keymap.c (100%) rename keyboards/{ => 25keys}/zinc/keymaps/default/readme_en.md (100%) rename keyboards/{ => 25keys}/zinc/keymaps/default/readme_jp.md (100%) rename keyboards/{ => 25keys}/zinc/keymaps/default/rules.mk (100%) rename keyboards/{ => 25keys}/zinc/keymaps/ginjake/config.h (100%) rename keyboards/{ => 25keys}/zinc/keymaps/ginjake/keymap.c (100%) rename keyboards/{ => 25keys}/zinc/keymaps/ginjake/readme_jp.md (100%) rename keyboards/{ => 25keys}/zinc/keymaps/ginjake/rules.mk (100%) rename keyboards/{ => 25keys}/zinc/keymaps/monks/config.h (100%) rename keyboards/{ => 25keys}/zinc/keymaps/monks/keymap.c (100%) rename keyboards/{ => 25keys}/zinc/keymaps/monks/readme_jp.md (100%) rename keyboards/{ => 25keys}/zinc/keymaps/monks/rules.mk (100%) rename keyboards/{ => 25keys}/zinc/keymaps/toshi0383/config.h (100%) rename keyboards/{ => 25keys}/zinc/keymaps/toshi0383/keymap.c (100%) rename keyboards/{ => 25keys}/zinc/keymaps/toshi0383/rules.mk (100%) rename keyboards/{ => 25keys}/zinc/keymaps/via/config.h (100%) rename keyboards/{ => 25keys}/zinc/keymaps/via/keymap.c (100%) rename keyboards/{ => 25keys}/zinc/keymaps/via/readme_en.md (100%) rename keyboards/{ => 25keys}/zinc/keymaps/via/readme_jp.md (100%) rename keyboards/{ => 25keys}/zinc/keymaps/via/rules.mk (100%) rename keyboards/{ => 25keys}/zinc/readme.md (95%) rename keyboards/{ => 25keys}/zinc/rev1/.noci (100%) rename keyboards/{ => 25keys}/zinc/rev1/config.h (100%) rename keyboards/{ => 25keys}/zinc/rev1/info.json (100%) rename keyboards/{ => 25keys}/zinc/rev1/post_config.h (100%) rename keyboards/{ => 25keys}/zinc/rev1/rev1.c (100%) rename keyboards/{ => 25keys}/zinc/rev1/rev1.h (100%) rename keyboards/{ => 25keys}/zinc/rev1/rules.mk (100%) rename keyboards/{ => 25keys}/zinc/reva/.noci (100%) rename keyboards/{ => 25keys}/zinc/reva/config.h (100%) rename keyboards/{ => 25keys}/zinc/reva/info.json (100%) rename keyboards/{ => 25keys}/zinc/reva/post_config.h (100%) rename keyboards/{ => 25keys}/zinc/reva/reva.c (100%) rename keyboards/{ => 25keys}/zinc/reva/reva.h (100%) rename keyboards/{ => 25keys}/zinc/reva/rules.mk (100%) rename keyboards/{ => 25keys}/zinc/rules.mk (95%) rename keyboards/{ => 25keys}/zinc/zinc.c (100%) rename keyboards/{ => 25keys}/zinc/zinc.h (58%) diff --git a/keyboards/aleth42/info.json b/keyboards/25keys/aleth42/info.json similarity index 100% rename from keyboards/aleth42/info.json rename to keyboards/25keys/aleth42/info.json diff --git a/keyboards/aleth42/keymaps/default/keymap.c b/keyboards/25keys/aleth42/keymaps/default/keymap.c similarity index 100% rename from keyboards/aleth42/keymaps/default/keymap.c rename to keyboards/25keys/aleth42/keymaps/default/keymap.c diff --git a/keyboards/aleth42/keymaps/default/readme.md b/keyboards/25keys/aleth42/keymaps/default/readme.md similarity index 100% rename from keyboards/aleth42/keymaps/default/readme.md rename to keyboards/25keys/aleth42/keymaps/default/readme.md diff --git a/keyboards/aleth42/keymaps/via/config.h b/keyboards/25keys/aleth42/keymaps/via/config.h similarity index 100% rename from keyboards/aleth42/keymaps/via/config.h rename to keyboards/25keys/aleth42/keymaps/via/config.h diff --git a/keyboards/aleth42/keymaps/via/keymap.c b/keyboards/25keys/aleth42/keymaps/via/keymap.c similarity index 100% rename from keyboards/aleth42/keymaps/via/keymap.c rename to keyboards/25keys/aleth42/keymaps/via/keymap.c diff --git a/keyboards/aleth42/keymaps/via/readme.md b/keyboards/25keys/aleth42/keymaps/via/readme.md similarity index 100% rename from keyboards/aleth42/keymaps/via/readme.md rename to keyboards/25keys/aleth42/keymaps/via/readme.md diff --git a/keyboards/aleth42/keymaps/via/rules.mk b/keyboards/25keys/aleth42/keymaps/via/rules.mk similarity index 100% rename from keyboards/aleth42/keymaps/via/rules.mk rename to keyboards/25keys/aleth42/keymaps/via/rules.mk diff --git a/keyboards/aleth42/rev1/readme.md b/keyboards/25keys/aleth42/readme.md similarity index 95% rename from keyboards/aleth42/rev1/readme.md rename to keyboards/25keys/aleth42/readme.md index 3da1231d60a5..acf9c38e2e95 100644 --- a/keyboards/aleth42/rev1/readme.md +++ b/keyboards/25keys/aleth42/readme.md @@ -10,6 +10,6 @@ Make example for this keyboard (after setting up your build environment): - make aleth42:default + make 25keys/aleth42/rev1:default 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/aleth42/rev0/config.h b/keyboards/25keys/aleth42/rev0/config.h similarity index 100% rename from keyboards/aleth42/rev0/config.h rename to keyboards/25keys/aleth42/rev0/config.h diff --git a/keyboards/aleth42/rev0/readme.md b/keyboards/25keys/aleth42/rev0/readme.md similarity index 100% rename from keyboards/aleth42/rev0/readme.md rename to keyboards/25keys/aleth42/rev0/readme.md diff --git a/keyboards/aleth42/rev0/rev0.c b/keyboards/25keys/aleth42/rev0/rev0.c similarity index 100% rename from keyboards/aleth42/rev0/rev0.c rename to keyboards/25keys/aleth42/rev0/rev0.c diff --git a/keyboards/aleth42/rev0/rev0.h b/keyboards/25keys/aleth42/rev0/rev0.h similarity index 100% rename from keyboards/aleth42/rev0/rev0.h rename to keyboards/25keys/aleth42/rev0/rev0.h diff --git a/keyboards/aleth42/rev0/rules.mk b/keyboards/25keys/aleth42/rev0/rules.mk similarity index 100% rename from keyboards/aleth42/rev0/rules.mk rename to keyboards/25keys/aleth42/rev0/rules.mk diff --git a/keyboards/aleth42/rev1/config.h b/keyboards/25keys/aleth42/rev1/config.h similarity index 100% rename from keyboards/aleth42/rev1/config.h rename to keyboards/25keys/aleth42/rev1/config.h diff --git a/keyboards/aleth42/readme.md b/keyboards/25keys/aleth42/rev1/readme.md similarity index 100% rename from keyboards/aleth42/readme.md rename to keyboards/25keys/aleth42/rev1/readme.md diff --git a/keyboards/aleth42/rev1/rev1.c b/keyboards/25keys/aleth42/rev1/rev1.c similarity index 100% rename from keyboards/aleth42/rev1/rev1.c rename to keyboards/25keys/aleth42/rev1/rev1.c diff --git a/keyboards/aleth42/rev1/rev1.h b/keyboards/25keys/aleth42/rev1/rev1.h similarity index 100% rename from keyboards/aleth42/rev1/rev1.h rename to keyboards/25keys/aleth42/rev1/rev1.h diff --git a/keyboards/aleth42/rev1/rules.mk b/keyboards/25keys/aleth42/rev1/rules.mk similarity index 100% rename from keyboards/aleth42/rev1/rules.mk rename to keyboards/25keys/aleth42/rev1/rules.mk diff --git a/keyboards/aleth42/rules.mk b/keyboards/25keys/aleth42/rules.mk similarity index 100% rename from keyboards/aleth42/rules.mk rename to keyboards/25keys/aleth42/rules.mk diff --git a/keyboards/cassette42/cassette42.c b/keyboards/25keys/cassette42/cassette42.c similarity index 100% rename from keyboards/cassette42/cassette42.c rename to keyboards/25keys/cassette42/cassette42.c diff --git a/keyboards/cassette42/cassette42.h b/keyboards/25keys/cassette42/cassette42.h similarity index 100% rename from keyboards/cassette42/cassette42.h rename to keyboards/25keys/cassette42/cassette42.h diff --git a/keyboards/cassette42/common/glcdfont.c b/keyboards/25keys/cassette42/common/glcdfont.c similarity index 100% rename from keyboards/cassette42/common/glcdfont.c rename to keyboards/25keys/cassette42/common/glcdfont.c diff --git a/keyboards/cassette42/common/oled_helper.c b/keyboards/25keys/cassette42/common/oled_helper.c similarity index 100% rename from keyboards/cassette42/common/oled_helper.c rename to keyboards/25keys/cassette42/common/oled_helper.c diff --git a/keyboards/cassette42/common/oled_helper.h b/keyboards/25keys/cassette42/common/oled_helper.h similarity index 100% rename from keyboards/cassette42/common/oled_helper.h rename to keyboards/25keys/cassette42/common/oled_helper.h diff --git a/keyboards/cassette42/config.h b/keyboards/25keys/cassette42/config.h similarity index 95% rename from keyboards/cassette42/config.h rename to keyboards/25keys/cassette42/config.h index 1729c31fbd84..cac03f6346c0 100644 --- a/keyboards/cassette42/config.h +++ b/keyboards/25keys/cassette42/config.h @@ -49,4 +49,4 @@ along with this program. If not, see . # define RGBLIGHT_ANIMATIONS #endif -#define OLED_FONT_H "keyboards/cassette42/common/glcdfont.c" +#define OLED_FONT_H "keyboards/25keys/cassette42/common/glcdfont.c" diff --git a/keyboards/cassette42/info.json b/keyboards/25keys/cassette42/info.json similarity index 100% rename from keyboards/cassette42/info.json rename to keyboards/25keys/cassette42/info.json diff --git a/keyboards/cassette42/keymaps/default/keymap.c b/keyboards/25keys/cassette42/keymaps/default/keymap.c similarity index 100% rename from keyboards/cassette42/keymaps/default/keymap.c rename to keyboards/25keys/cassette42/keymaps/default/keymap.c diff --git a/keyboards/cassette42/keymaps/default/readme.md b/keyboards/25keys/cassette42/keymaps/default/readme.md similarity index 100% rename from keyboards/cassette42/keymaps/default/readme.md rename to keyboards/25keys/cassette42/keymaps/default/readme.md diff --git a/keyboards/cassette42/readme.md b/keyboards/25keys/cassette42/readme.md similarity index 95% rename from keyboards/cassette42/readme.md rename to keyboards/25keys/cassette42/readme.md index 2ba9a661bb19..cb6b2cc5b729 100644 --- a/keyboards/cassette42/readme.md +++ b/keyboards/25keys/cassette42/readme.md @@ -10,6 +10,6 @@ An audio control pad with 4 switches and 2 rotary encoders. Make example for this keyboard (after setting up your build environment): - make cassette42:default + make 25keys/cassette42:default 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/cassette42/rules.mk b/keyboards/25keys/cassette42/rules.mk similarity index 100% rename from keyboards/cassette42/rules.mk rename to keyboards/25keys/cassette42/rules.mk diff --git a/keyboards/zinc/.noci b/keyboards/25keys/zinc/.noci similarity index 100% rename from keyboards/zinc/.noci rename to keyboards/25keys/zinc/.noci diff --git a/keyboards/zinc/config.h b/keyboards/25keys/zinc/config.h similarity index 100% rename from keyboards/zinc/config.h rename to keyboards/25keys/zinc/config.h diff --git a/keyboards/zinc/info.json b/keyboards/25keys/zinc/info.json similarity index 100% rename from keyboards/zinc/info.json rename to keyboards/25keys/zinc/info.json diff --git a/keyboards/zinc/keymaps/default/config.h b/keyboards/25keys/zinc/keymaps/default/config.h similarity index 100% rename from keyboards/zinc/keymaps/default/config.h rename to keyboards/25keys/zinc/keymaps/default/config.h diff --git a/keyboards/zinc/keymaps/default/keymap.c b/keyboards/25keys/zinc/keymaps/default/keymap.c similarity index 100% rename from keyboards/zinc/keymaps/default/keymap.c rename to keyboards/25keys/zinc/keymaps/default/keymap.c diff --git a/keyboards/zinc/keymaps/default/readme_en.md b/keyboards/25keys/zinc/keymaps/default/readme_en.md similarity index 100% rename from keyboards/zinc/keymaps/default/readme_en.md rename to keyboards/25keys/zinc/keymaps/default/readme_en.md diff --git a/keyboards/zinc/keymaps/default/readme_jp.md b/keyboards/25keys/zinc/keymaps/default/readme_jp.md similarity index 100% rename from keyboards/zinc/keymaps/default/readme_jp.md rename to keyboards/25keys/zinc/keymaps/default/readme_jp.md diff --git a/keyboards/zinc/keymaps/default/rules.mk b/keyboards/25keys/zinc/keymaps/default/rules.mk similarity index 100% rename from keyboards/zinc/keymaps/default/rules.mk rename to keyboards/25keys/zinc/keymaps/default/rules.mk diff --git a/keyboards/zinc/keymaps/ginjake/config.h b/keyboards/25keys/zinc/keymaps/ginjake/config.h similarity index 100% rename from keyboards/zinc/keymaps/ginjake/config.h rename to keyboards/25keys/zinc/keymaps/ginjake/config.h diff --git a/keyboards/zinc/keymaps/ginjake/keymap.c b/keyboards/25keys/zinc/keymaps/ginjake/keymap.c similarity index 100% rename from keyboards/zinc/keymaps/ginjake/keymap.c rename to keyboards/25keys/zinc/keymaps/ginjake/keymap.c diff --git a/keyboards/zinc/keymaps/ginjake/readme_jp.md b/keyboards/25keys/zinc/keymaps/ginjake/readme_jp.md similarity index 100% rename from keyboards/zinc/keymaps/ginjake/readme_jp.md rename to keyboards/25keys/zinc/keymaps/ginjake/readme_jp.md diff --git a/keyboards/zinc/keymaps/ginjake/rules.mk b/keyboards/25keys/zinc/keymaps/ginjake/rules.mk similarity index 100% rename from keyboards/zinc/keymaps/ginjake/rules.mk rename to keyboards/25keys/zinc/keymaps/ginjake/rules.mk diff --git a/keyboards/zinc/keymaps/monks/config.h b/keyboards/25keys/zinc/keymaps/monks/config.h similarity index 100% rename from keyboards/zinc/keymaps/monks/config.h rename to keyboards/25keys/zinc/keymaps/monks/config.h diff --git a/keyboards/zinc/keymaps/monks/keymap.c b/keyboards/25keys/zinc/keymaps/monks/keymap.c similarity index 100% rename from keyboards/zinc/keymaps/monks/keymap.c rename to keyboards/25keys/zinc/keymaps/monks/keymap.c diff --git a/keyboards/zinc/keymaps/monks/readme_jp.md b/keyboards/25keys/zinc/keymaps/monks/readme_jp.md similarity index 100% rename from keyboards/zinc/keymaps/monks/readme_jp.md rename to keyboards/25keys/zinc/keymaps/monks/readme_jp.md diff --git a/keyboards/zinc/keymaps/monks/rules.mk b/keyboards/25keys/zinc/keymaps/monks/rules.mk similarity index 100% rename from keyboards/zinc/keymaps/monks/rules.mk rename to keyboards/25keys/zinc/keymaps/monks/rules.mk diff --git a/keyboards/zinc/keymaps/toshi0383/config.h b/keyboards/25keys/zinc/keymaps/toshi0383/config.h similarity index 100% rename from keyboards/zinc/keymaps/toshi0383/config.h rename to keyboards/25keys/zinc/keymaps/toshi0383/config.h diff --git a/keyboards/zinc/keymaps/toshi0383/keymap.c b/keyboards/25keys/zinc/keymaps/toshi0383/keymap.c similarity index 100% rename from keyboards/zinc/keymaps/toshi0383/keymap.c rename to keyboards/25keys/zinc/keymaps/toshi0383/keymap.c diff --git a/keyboards/zinc/keymaps/toshi0383/rules.mk b/keyboards/25keys/zinc/keymaps/toshi0383/rules.mk similarity index 100% rename from keyboards/zinc/keymaps/toshi0383/rules.mk rename to keyboards/25keys/zinc/keymaps/toshi0383/rules.mk diff --git a/keyboards/zinc/keymaps/via/config.h b/keyboards/25keys/zinc/keymaps/via/config.h similarity index 100% rename from keyboards/zinc/keymaps/via/config.h rename to keyboards/25keys/zinc/keymaps/via/config.h diff --git a/keyboards/zinc/keymaps/via/keymap.c b/keyboards/25keys/zinc/keymaps/via/keymap.c similarity index 100% rename from keyboards/zinc/keymaps/via/keymap.c rename to keyboards/25keys/zinc/keymaps/via/keymap.c diff --git a/keyboards/zinc/keymaps/via/readme_en.md b/keyboards/25keys/zinc/keymaps/via/readme_en.md similarity index 100% rename from keyboards/zinc/keymaps/via/readme_en.md rename to keyboards/25keys/zinc/keymaps/via/readme_en.md diff --git a/keyboards/zinc/keymaps/via/readme_jp.md b/keyboards/25keys/zinc/keymaps/via/readme_jp.md similarity index 100% rename from keyboards/zinc/keymaps/via/readme_jp.md rename to keyboards/25keys/zinc/keymaps/via/readme_jp.md diff --git a/keyboards/zinc/keymaps/via/rules.mk b/keyboards/25keys/zinc/keymaps/via/rules.mk similarity index 100% rename from keyboards/zinc/keymaps/via/rules.mk rename to keyboards/25keys/zinc/keymaps/via/rules.mk diff --git a/keyboards/zinc/readme.md b/keyboards/25keys/zinc/readme.md similarity index 95% rename from keyboards/zinc/readme.md rename to keyboards/25keys/zinc/readme.md index 0e8d6cd65dfd..61172f163543 100644 --- a/keyboards/zinc/readme.md +++ b/keyboards/25keys/zinc/readme.md @@ -11,7 +11,7 @@ Zinc Make example for this keyboard (after setting up your build environment): - make zinc:default + make 25keys/zinc/rev1:default 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/zinc/rev1/.noci b/keyboards/25keys/zinc/rev1/.noci similarity index 100% rename from keyboards/zinc/rev1/.noci rename to keyboards/25keys/zinc/rev1/.noci diff --git a/keyboards/zinc/rev1/config.h b/keyboards/25keys/zinc/rev1/config.h similarity index 100% rename from keyboards/zinc/rev1/config.h rename to keyboards/25keys/zinc/rev1/config.h diff --git a/keyboards/zinc/rev1/info.json b/keyboards/25keys/zinc/rev1/info.json similarity index 100% rename from keyboards/zinc/rev1/info.json rename to keyboards/25keys/zinc/rev1/info.json diff --git a/keyboards/zinc/rev1/post_config.h b/keyboards/25keys/zinc/rev1/post_config.h similarity index 100% rename from keyboards/zinc/rev1/post_config.h rename to keyboards/25keys/zinc/rev1/post_config.h diff --git a/keyboards/zinc/rev1/rev1.c b/keyboards/25keys/zinc/rev1/rev1.c similarity index 100% rename from keyboards/zinc/rev1/rev1.c rename to keyboards/25keys/zinc/rev1/rev1.c diff --git a/keyboards/zinc/rev1/rev1.h b/keyboards/25keys/zinc/rev1/rev1.h similarity index 100% rename from keyboards/zinc/rev1/rev1.h rename to keyboards/25keys/zinc/rev1/rev1.h diff --git a/keyboards/zinc/rev1/rules.mk b/keyboards/25keys/zinc/rev1/rules.mk similarity index 100% rename from keyboards/zinc/rev1/rules.mk rename to keyboards/25keys/zinc/rev1/rules.mk diff --git a/keyboards/zinc/reva/.noci b/keyboards/25keys/zinc/reva/.noci similarity index 100% rename from keyboards/zinc/reva/.noci rename to keyboards/25keys/zinc/reva/.noci diff --git a/keyboards/zinc/reva/config.h b/keyboards/25keys/zinc/reva/config.h similarity index 100% rename from keyboards/zinc/reva/config.h rename to keyboards/25keys/zinc/reva/config.h diff --git a/keyboards/zinc/reva/info.json b/keyboards/25keys/zinc/reva/info.json similarity index 100% rename from keyboards/zinc/reva/info.json rename to keyboards/25keys/zinc/reva/info.json diff --git a/keyboards/zinc/reva/post_config.h b/keyboards/25keys/zinc/reva/post_config.h similarity index 100% rename from keyboards/zinc/reva/post_config.h rename to keyboards/25keys/zinc/reva/post_config.h diff --git a/keyboards/zinc/reva/reva.c b/keyboards/25keys/zinc/reva/reva.c similarity index 100% rename from keyboards/zinc/reva/reva.c rename to keyboards/25keys/zinc/reva/reva.c diff --git a/keyboards/zinc/reva/reva.h b/keyboards/25keys/zinc/reva/reva.h similarity index 100% rename from keyboards/zinc/reva/reva.h rename to keyboards/25keys/zinc/reva/reva.h diff --git a/keyboards/zinc/reva/rules.mk b/keyboards/25keys/zinc/reva/rules.mk similarity index 100% rename from keyboards/zinc/reva/rules.mk rename to keyboards/25keys/zinc/reva/rules.mk diff --git a/keyboards/zinc/rules.mk b/keyboards/25keys/zinc/rules.mk similarity index 95% rename from keyboards/zinc/rules.mk rename to keyboards/25keys/zinc/rules.mk index c83741f40c79..2fd608c56c6c 100644 --- a/keyboards/zinc/rules.mk +++ b/keyboards/25keys/zinc/rules.mk @@ -19,7 +19,7 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this w RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 -DEFAULT_FOLDER = zinc/rev1 +DEFAULT_FOLDER = 25keys/zinc/rev1 #SRC += i2c.c SRC += serial.c diff --git a/keyboards/zinc/zinc.c b/keyboards/25keys/zinc/zinc.c similarity index 100% rename from keyboards/zinc/zinc.c rename to keyboards/25keys/zinc/zinc.c diff --git a/keyboards/zinc/zinc.h b/keyboards/25keys/zinc/zinc.h similarity index 58% rename from keyboards/zinc/zinc.h rename to keyboards/25keys/zinc/zinc.h index dedc9253b0ef..8a80538e4c6b 100644 --- a/keyboards/zinc/zinc.h +++ b/keyboards/25keys/zinc/zinc.h @@ -1,9 +1,9 @@ #pragma once -#ifdef KEYBOARD_zinc_reva +#ifdef KEYBOARD_25keys_zinc_reva #include "reva.h" #endif -#ifdef KEYBOARD_zinc_rev1 +#ifdef KEYBOARD_25keys_zinc_rev1 #include "rev1.h" #endif From 07bb65384cf96be88feb2916604cb4a89cd0ad33 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon, 31 Jan 2022 03:22:12 +0800 Subject: [PATCH 0134/1832] [Keyboard] move @kkatano 's keyboards to kkatano user folder (#15684) --- data/mappings/keyboard_aliases.json | 8 +++++++- keyboards/{ => kkatano}/bakeneko60/bakeneko60.c | 0 keyboards/{ => kkatano}/bakeneko60/bakeneko60.h | 0 keyboards/{ => kkatano}/bakeneko60/config.h | 0 keyboards/{ => kkatano}/bakeneko60/info.json | 0 .../{ => kkatano}/bakeneko60/keymaps/default/keymap.c | 0 .../{ => kkatano}/bakeneko60/keymaps/default/readme.md | 0 keyboards/{ => kkatano}/bakeneko60/keymaps/via/keymap.c | 0 keyboards/{ => kkatano}/bakeneko60/keymaps/via/rules.mk | 0 keyboards/{ => kkatano}/bakeneko60/readme.md | 4 ++-- keyboards/{ => kkatano}/bakeneko60/rules.mk | 0 keyboards/{ => kkatano}/bakeneko65/rev2/config.h | 0 keyboards/{ => kkatano}/bakeneko65/rev2/info.json | 0 .../bakeneko65/rev2/keymaps/default/keymap.c | 0 .../bakeneko65/rev2/keymaps/default/readme.md | 0 .../{ => kkatano}/bakeneko65/rev2/keymaps/via/keymap.c | 0 .../{ => kkatano}/bakeneko65/rev2/keymaps/via/rules.mk | 0 keyboards/{ => kkatano}/bakeneko65/rev2/readme.md | 4 ++-- keyboards/{ => kkatano}/bakeneko65/rev2/rev2.c | 0 keyboards/{ => kkatano}/bakeneko65/rev2/rev2.h | 0 keyboards/{ => kkatano}/bakeneko65/rev2/rules.mk | 0 keyboards/{ => kkatano}/bakeneko65/rev3/config.h | 0 keyboards/{ => kkatano}/bakeneko65/rev3/info.json | 0 .../bakeneko65/rev3/keymaps/default/keymap.c | 0 .../bakeneko65/rev3/keymaps/default/readme.md | 0 .../{ => kkatano}/bakeneko65/rev3/keymaps/via/keymap.c | 0 .../{ => kkatano}/bakeneko65/rev3/keymaps/via/rules.mk | 0 keyboards/{ => kkatano}/bakeneko65/rev3/readme.md | 4 ++-- keyboards/{ => kkatano}/bakeneko65/rev3/rev3.c | 0 keyboards/{ => kkatano}/bakeneko65/rev3/rev3.h | 0 keyboards/{ => kkatano}/bakeneko65/rev3/rules.mk | 0 keyboards/{ => kkatano}/bakeneko80/bakeneko80.c | 0 keyboards/{ => kkatano}/bakeneko80/bakeneko80.h | 0 keyboards/{ => kkatano}/bakeneko80/config.h | 0 keyboards/{ => kkatano}/bakeneko80/info.json | 0 .../{ => kkatano}/bakeneko80/keymaps/default/keymap.c | 0 .../{ => kkatano}/bakeneko80/keymaps/default/readme.md | 0 keyboards/{ => kkatano}/bakeneko80/readme.md | 2 +- keyboards/{ => kkatano}/bakeneko80/rules.mk | 0 keyboards/{ => kkatano}/wallaby/config.h | 0 keyboards/{ => kkatano}/wallaby/info.json | 0 keyboards/{ => kkatano}/wallaby/keymaps/default/keymap.c | 0 keyboards/{ => kkatano}/wallaby/keymaps/default/readme.md | 0 keyboards/{ => kkatano}/wallaby/readme.md | 2 +- keyboards/{ => kkatano}/wallaby/rules.mk | 0 keyboards/{ => kkatano}/wallaby/wallaby.c | 0 keyboards/{ => kkatano}/wallaby/wallaby.h | 0 keyboards/{ => kkatano}/yurei/config.h | 0 keyboards/{ => kkatano}/yurei/info.json | 0 keyboards/{ => kkatano}/yurei/keymaps/default/keymap.c | 0 keyboards/{ => kkatano}/yurei/keymaps/default/readme.md | 0 keyboards/{ => kkatano}/yurei/readme.md | 2 +- keyboards/{ => kkatano}/yurei/rules.mk | 0 keyboards/{ => kkatano}/yurei/yurei.c | 0 keyboards/{ => kkatano}/yurei/yurei.h | 0 55 files changed, 16 insertions(+), 10 deletions(-) rename keyboards/{ => kkatano}/bakeneko60/bakeneko60.c (100%) rename keyboards/{ => kkatano}/bakeneko60/bakeneko60.h (100%) rename keyboards/{ => kkatano}/bakeneko60/config.h (100%) rename keyboards/{ => kkatano}/bakeneko60/info.json (100%) rename keyboards/{ => kkatano}/bakeneko60/keymaps/default/keymap.c (100%) rename keyboards/{ => kkatano}/bakeneko60/keymaps/default/readme.md (100%) rename keyboards/{ => kkatano}/bakeneko60/keymaps/via/keymap.c (100%) rename keyboards/{ => kkatano}/bakeneko60/keymaps/via/rules.mk (100%) rename keyboards/{ => kkatano}/bakeneko60/readme.md (88%) rename keyboards/{ => kkatano}/bakeneko60/rules.mk (100%) rename keyboards/{ => kkatano}/bakeneko65/rev2/config.h (100%) rename keyboards/{ => kkatano}/bakeneko65/rev2/info.json (100%) rename keyboards/{ => kkatano}/bakeneko65/rev2/keymaps/default/keymap.c (100%) rename keyboards/{ => kkatano}/bakeneko65/rev2/keymaps/default/readme.md (100%) rename keyboards/{ => kkatano}/bakeneko65/rev2/keymaps/via/keymap.c (100%) rename keyboards/{ => kkatano}/bakeneko65/rev2/keymaps/via/rules.mk (100%) rename keyboards/{ => kkatano}/bakeneko65/rev2/readme.md (87%) rename keyboards/{ => kkatano}/bakeneko65/rev2/rev2.c (100%) rename keyboards/{ => kkatano}/bakeneko65/rev2/rev2.h (100%) rename keyboards/{ => kkatano}/bakeneko65/rev2/rules.mk (100%) rename keyboards/{ => kkatano}/bakeneko65/rev3/config.h (100%) rename keyboards/{ => kkatano}/bakeneko65/rev3/info.json (100%) rename keyboards/{ => kkatano}/bakeneko65/rev3/keymaps/default/keymap.c (100%) rename keyboards/{ => kkatano}/bakeneko65/rev3/keymaps/default/readme.md (100%) rename keyboards/{ => kkatano}/bakeneko65/rev3/keymaps/via/keymap.c (100%) rename keyboards/{ => kkatano}/bakeneko65/rev3/keymaps/via/rules.mk (100%) rename keyboards/{ => kkatano}/bakeneko65/rev3/readme.md (87%) rename keyboards/{ => kkatano}/bakeneko65/rev3/rev3.c (100%) rename keyboards/{ => kkatano}/bakeneko65/rev3/rev3.h (100%) rename keyboards/{ => kkatano}/bakeneko65/rev3/rules.mk (100%) rename keyboards/{ => kkatano}/bakeneko80/bakeneko80.c (100%) rename keyboards/{ => kkatano}/bakeneko80/bakeneko80.h (100%) rename keyboards/{ => kkatano}/bakeneko80/config.h (100%) rename keyboards/{ => kkatano}/bakeneko80/info.json (100%) rename keyboards/{ => kkatano}/bakeneko80/keymaps/default/keymap.c (100%) rename keyboards/{ => kkatano}/bakeneko80/keymaps/default/readme.md (100%) rename keyboards/{ => kkatano}/bakeneko80/readme.md (94%) rename keyboards/{ => kkatano}/bakeneko80/rules.mk (100%) rename keyboards/{ => kkatano}/wallaby/config.h (100%) rename keyboards/{ => kkatano}/wallaby/info.json (100%) rename keyboards/{ => kkatano}/wallaby/keymaps/default/keymap.c (100%) rename keyboards/{ => kkatano}/wallaby/keymaps/default/readme.md (100%) rename keyboards/{ => kkatano}/wallaby/readme.md (94%) rename keyboards/{ => kkatano}/wallaby/rules.mk (100%) rename keyboards/{ => kkatano}/wallaby/wallaby.c (100%) rename keyboards/{ => kkatano}/wallaby/wallaby.h (100%) rename keyboards/{ => kkatano}/yurei/config.h (100%) rename keyboards/{ => kkatano}/yurei/info.json (100%) rename keyboards/{ => kkatano}/yurei/keymaps/default/keymap.c (100%) rename keyboards/{ => kkatano}/yurei/keymaps/default/readme.md (100%) rename keyboards/{ => kkatano}/yurei/readme.md (95%) rename keyboards/{ => kkatano}/yurei/rules.mk (100%) rename keyboards/{ => kkatano}/yurei/yurei.c (100%) rename keyboards/{ => kkatano}/yurei/yurei.h (100%) diff --git a/data/mappings/keyboard_aliases.json b/data/mappings/keyboard_aliases.json index 5d9bf9f439c5..430229ecffd5 100644 --- a/data/mappings/keyboard_aliases.json +++ b/data/mappings/keyboard_aliases.json @@ -41,8 +41,14 @@ 'atom47/rev3': { target: 'maartenwut/atom47/rev3' }, + bakeneko60: { + target: 'kkatano/bakeneko60' + }, bakeneko65: { - target: 'bakeneko65/rev2' + target: 'kkatano/bakeneko65/rev2' + }, + bakeneko80: { + target: 'kkatano/bakeneko80' }, bear_face: { target: 'bear_face/v1' diff --git a/keyboards/bakeneko60/bakeneko60.c b/keyboards/kkatano/bakeneko60/bakeneko60.c similarity index 100% rename from keyboards/bakeneko60/bakeneko60.c rename to keyboards/kkatano/bakeneko60/bakeneko60.c diff --git a/keyboards/bakeneko60/bakeneko60.h b/keyboards/kkatano/bakeneko60/bakeneko60.h similarity index 100% rename from keyboards/bakeneko60/bakeneko60.h rename to keyboards/kkatano/bakeneko60/bakeneko60.h diff --git a/keyboards/bakeneko60/config.h b/keyboards/kkatano/bakeneko60/config.h similarity index 100% rename from keyboards/bakeneko60/config.h rename to keyboards/kkatano/bakeneko60/config.h diff --git a/keyboards/bakeneko60/info.json b/keyboards/kkatano/bakeneko60/info.json similarity index 100% rename from keyboards/bakeneko60/info.json rename to keyboards/kkatano/bakeneko60/info.json diff --git a/keyboards/bakeneko60/keymaps/default/keymap.c b/keyboards/kkatano/bakeneko60/keymaps/default/keymap.c similarity index 100% rename from keyboards/bakeneko60/keymaps/default/keymap.c rename to keyboards/kkatano/bakeneko60/keymaps/default/keymap.c diff --git a/keyboards/bakeneko60/keymaps/default/readme.md b/keyboards/kkatano/bakeneko60/keymaps/default/readme.md similarity index 100% rename from keyboards/bakeneko60/keymaps/default/readme.md rename to keyboards/kkatano/bakeneko60/keymaps/default/readme.md diff --git a/keyboards/bakeneko60/keymaps/via/keymap.c b/keyboards/kkatano/bakeneko60/keymaps/via/keymap.c similarity index 100% rename from keyboards/bakeneko60/keymaps/via/keymap.c rename to keyboards/kkatano/bakeneko60/keymaps/via/keymap.c diff --git a/keyboards/bakeneko60/keymaps/via/rules.mk b/keyboards/kkatano/bakeneko60/keymaps/via/rules.mk similarity index 100% rename from keyboards/bakeneko60/keymaps/via/rules.mk rename to keyboards/kkatano/bakeneko60/keymaps/via/rules.mk diff --git a/keyboards/bakeneko60/readme.md b/keyboards/kkatano/bakeneko60/readme.md similarity index 88% rename from keyboards/bakeneko60/readme.md rename to keyboards/kkatano/bakeneko60/readme.md index 18b9d3c4d21c..0e1c293f9019 100644 --- a/keyboards/bakeneko60/readme.md +++ b/keyboards/kkatano/bakeneko60/readme.md @@ -8,10 +8,10 @@ A simple 60% keyboard Make example for this keyboard (after setting up your build environment): - make bakeneko60:default + make kkatano/bakeneko60:default Flashing example for this keyboard: - make bakeneko60:default:flash + make kkatano/bakeneko60:default:flash 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/bakeneko60/rules.mk b/keyboards/kkatano/bakeneko60/rules.mk similarity index 100% rename from keyboards/bakeneko60/rules.mk rename to keyboards/kkatano/bakeneko60/rules.mk diff --git a/keyboards/bakeneko65/rev2/config.h b/keyboards/kkatano/bakeneko65/rev2/config.h similarity index 100% rename from keyboards/bakeneko65/rev2/config.h rename to keyboards/kkatano/bakeneko65/rev2/config.h diff --git a/keyboards/bakeneko65/rev2/info.json b/keyboards/kkatano/bakeneko65/rev2/info.json similarity index 100% rename from keyboards/bakeneko65/rev2/info.json rename to keyboards/kkatano/bakeneko65/rev2/info.json diff --git a/keyboards/bakeneko65/rev2/keymaps/default/keymap.c b/keyboards/kkatano/bakeneko65/rev2/keymaps/default/keymap.c similarity index 100% rename from keyboards/bakeneko65/rev2/keymaps/default/keymap.c rename to keyboards/kkatano/bakeneko65/rev2/keymaps/default/keymap.c diff --git a/keyboards/bakeneko65/rev2/keymaps/default/readme.md b/keyboards/kkatano/bakeneko65/rev2/keymaps/default/readme.md similarity index 100% rename from keyboards/bakeneko65/rev2/keymaps/default/readme.md rename to keyboards/kkatano/bakeneko65/rev2/keymaps/default/readme.md diff --git a/keyboards/bakeneko65/rev2/keymaps/via/keymap.c b/keyboards/kkatano/bakeneko65/rev2/keymaps/via/keymap.c similarity index 100% rename from keyboards/bakeneko65/rev2/keymaps/via/keymap.c rename to keyboards/kkatano/bakeneko65/rev2/keymaps/via/keymap.c diff --git a/keyboards/bakeneko65/rev2/keymaps/via/rules.mk b/keyboards/kkatano/bakeneko65/rev2/keymaps/via/rules.mk similarity index 100% rename from keyboards/bakeneko65/rev2/keymaps/via/rules.mk rename to keyboards/kkatano/bakeneko65/rev2/keymaps/via/rules.mk diff --git a/keyboards/bakeneko65/rev2/readme.md b/keyboards/kkatano/bakeneko65/rev2/readme.md similarity index 87% rename from keyboards/bakeneko65/rev2/readme.md rename to keyboards/kkatano/bakeneko65/rev2/readme.md index 8d2fa6bc58fb..a12eded0db9b 100644 --- a/keyboards/bakeneko65/rev2/readme.md +++ b/keyboards/kkatano/bakeneko65/rev2/readme.md @@ -8,10 +8,10 @@ A simple 65% keyboard Make example for this keyboard (after setting up your build environment): - make bakeneko65/rev2:default + make kkatano/bakeneko65/rev2:default Flashing example for this keyboard: - make bakeneko65/rev2:default:flash + make kkatano/bakeneko65/rev2:default:flash 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/bakeneko65/rev2/rev2.c b/keyboards/kkatano/bakeneko65/rev2/rev2.c similarity index 100% rename from keyboards/bakeneko65/rev2/rev2.c rename to keyboards/kkatano/bakeneko65/rev2/rev2.c diff --git a/keyboards/bakeneko65/rev2/rev2.h b/keyboards/kkatano/bakeneko65/rev2/rev2.h similarity index 100% rename from keyboards/bakeneko65/rev2/rev2.h rename to keyboards/kkatano/bakeneko65/rev2/rev2.h diff --git a/keyboards/bakeneko65/rev2/rules.mk b/keyboards/kkatano/bakeneko65/rev2/rules.mk similarity index 100% rename from keyboards/bakeneko65/rev2/rules.mk rename to keyboards/kkatano/bakeneko65/rev2/rules.mk diff --git a/keyboards/bakeneko65/rev3/config.h b/keyboards/kkatano/bakeneko65/rev3/config.h similarity index 100% rename from keyboards/bakeneko65/rev3/config.h rename to keyboards/kkatano/bakeneko65/rev3/config.h diff --git a/keyboards/bakeneko65/rev3/info.json b/keyboards/kkatano/bakeneko65/rev3/info.json similarity index 100% rename from keyboards/bakeneko65/rev3/info.json rename to keyboards/kkatano/bakeneko65/rev3/info.json diff --git a/keyboards/bakeneko65/rev3/keymaps/default/keymap.c b/keyboards/kkatano/bakeneko65/rev3/keymaps/default/keymap.c similarity index 100% rename from keyboards/bakeneko65/rev3/keymaps/default/keymap.c rename to keyboards/kkatano/bakeneko65/rev3/keymaps/default/keymap.c diff --git a/keyboards/bakeneko65/rev3/keymaps/default/readme.md b/keyboards/kkatano/bakeneko65/rev3/keymaps/default/readme.md similarity index 100% rename from keyboards/bakeneko65/rev3/keymaps/default/readme.md rename to keyboards/kkatano/bakeneko65/rev3/keymaps/default/readme.md diff --git a/keyboards/bakeneko65/rev3/keymaps/via/keymap.c b/keyboards/kkatano/bakeneko65/rev3/keymaps/via/keymap.c similarity index 100% rename from keyboards/bakeneko65/rev3/keymaps/via/keymap.c rename to keyboards/kkatano/bakeneko65/rev3/keymaps/via/keymap.c diff --git a/keyboards/bakeneko65/rev3/keymaps/via/rules.mk b/keyboards/kkatano/bakeneko65/rev3/keymaps/via/rules.mk similarity index 100% rename from keyboards/bakeneko65/rev3/keymaps/via/rules.mk rename to keyboards/kkatano/bakeneko65/rev3/keymaps/via/rules.mk diff --git a/keyboards/bakeneko65/rev3/readme.md b/keyboards/kkatano/bakeneko65/rev3/readme.md similarity index 87% rename from keyboards/bakeneko65/rev3/readme.md rename to keyboards/kkatano/bakeneko65/rev3/readme.md index e147b11e6fd3..18cd57732866 100644 --- a/keyboards/bakeneko65/rev3/readme.md +++ b/keyboards/kkatano/bakeneko65/rev3/readme.md @@ -8,10 +8,10 @@ A simple 65% keyboard Make example for this keyboard (after setting up your build environment): - make bakeneko65/rev3:default + make kkatano/bakeneko65/rev3:default Flashing example for this keyboard: - make bakeneko65/rev3:default:flash + make kkatano/bakeneko65/rev3:default:flash 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/bakeneko65/rev3/rev3.c b/keyboards/kkatano/bakeneko65/rev3/rev3.c similarity index 100% rename from keyboards/bakeneko65/rev3/rev3.c rename to keyboards/kkatano/bakeneko65/rev3/rev3.c diff --git a/keyboards/bakeneko65/rev3/rev3.h b/keyboards/kkatano/bakeneko65/rev3/rev3.h similarity index 100% rename from keyboards/bakeneko65/rev3/rev3.h rename to keyboards/kkatano/bakeneko65/rev3/rev3.h diff --git a/keyboards/bakeneko65/rev3/rules.mk b/keyboards/kkatano/bakeneko65/rev3/rules.mk similarity index 100% rename from keyboards/bakeneko65/rev3/rules.mk rename to keyboards/kkatano/bakeneko65/rev3/rules.mk diff --git a/keyboards/bakeneko80/bakeneko80.c b/keyboards/kkatano/bakeneko80/bakeneko80.c similarity index 100% rename from keyboards/bakeneko80/bakeneko80.c rename to keyboards/kkatano/bakeneko80/bakeneko80.c diff --git a/keyboards/bakeneko80/bakeneko80.h b/keyboards/kkatano/bakeneko80/bakeneko80.h similarity index 100% rename from keyboards/bakeneko80/bakeneko80.h rename to keyboards/kkatano/bakeneko80/bakeneko80.h diff --git a/keyboards/bakeneko80/config.h b/keyboards/kkatano/bakeneko80/config.h similarity index 100% rename from keyboards/bakeneko80/config.h rename to keyboards/kkatano/bakeneko80/config.h diff --git a/keyboards/bakeneko80/info.json b/keyboards/kkatano/bakeneko80/info.json similarity index 100% rename from keyboards/bakeneko80/info.json rename to keyboards/kkatano/bakeneko80/info.json diff --git a/keyboards/bakeneko80/keymaps/default/keymap.c b/keyboards/kkatano/bakeneko80/keymaps/default/keymap.c similarity index 100% rename from keyboards/bakeneko80/keymaps/default/keymap.c rename to keyboards/kkatano/bakeneko80/keymaps/default/keymap.c diff --git a/keyboards/bakeneko80/keymaps/default/readme.md b/keyboards/kkatano/bakeneko80/keymaps/default/readme.md similarity index 100% rename from keyboards/bakeneko80/keymaps/default/readme.md rename to keyboards/kkatano/bakeneko80/keymaps/default/readme.md diff --git a/keyboards/bakeneko80/readme.md b/keyboards/kkatano/bakeneko80/readme.md similarity index 94% rename from keyboards/bakeneko80/readme.md rename to keyboards/kkatano/bakeneko80/readme.md index 30f1b3e608b8..cc04ab447bb1 100644 --- a/keyboards/bakeneko80/readme.md +++ b/keyboards/kkatano/bakeneko80/readme.md @@ -8,6 +8,6 @@ Open source tenkeyless keyboard for DIYers Make example for this keyboard (after setting up your build environment): - make bakeneko80:default + make kkatano/bakeneko80:default 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/bakeneko80/rules.mk b/keyboards/kkatano/bakeneko80/rules.mk similarity index 100% rename from keyboards/bakeneko80/rules.mk rename to keyboards/kkatano/bakeneko80/rules.mk diff --git a/keyboards/wallaby/config.h b/keyboards/kkatano/wallaby/config.h similarity index 100% rename from keyboards/wallaby/config.h rename to keyboards/kkatano/wallaby/config.h diff --git a/keyboards/wallaby/info.json b/keyboards/kkatano/wallaby/info.json similarity index 100% rename from keyboards/wallaby/info.json rename to keyboards/kkatano/wallaby/info.json diff --git a/keyboards/wallaby/keymaps/default/keymap.c b/keyboards/kkatano/wallaby/keymaps/default/keymap.c similarity index 100% rename from keyboards/wallaby/keymaps/default/keymap.c rename to keyboards/kkatano/wallaby/keymaps/default/keymap.c diff --git a/keyboards/wallaby/keymaps/default/readme.md b/keyboards/kkatano/wallaby/keymaps/default/readme.md similarity index 100% rename from keyboards/wallaby/keymaps/default/readme.md rename to keyboards/kkatano/wallaby/keymaps/default/readme.md diff --git a/keyboards/wallaby/readme.md b/keyboards/kkatano/wallaby/readme.md similarity index 94% rename from keyboards/wallaby/readme.md rename to keyboards/kkatano/wallaby/readme.md index 89c9f9c5670e..6be5a059fd18 100644 --- a/keyboards/wallaby/readme.md +++ b/keyboards/kkatano/wallaby/readme.md @@ -8,6 +8,6 @@ A Tenkeyless PCB for YMDK aluminium case compatible with Filco Make example for this keyboard (after setting up your build environment): - make wallaby:default + make kkatano/wallaby:default 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/wallaby/rules.mk b/keyboards/kkatano/wallaby/rules.mk similarity index 100% rename from keyboards/wallaby/rules.mk rename to keyboards/kkatano/wallaby/rules.mk diff --git a/keyboards/wallaby/wallaby.c b/keyboards/kkatano/wallaby/wallaby.c similarity index 100% rename from keyboards/wallaby/wallaby.c rename to keyboards/kkatano/wallaby/wallaby.c diff --git a/keyboards/wallaby/wallaby.h b/keyboards/kkatano/wallaby/wallaby.h similarity index 100% rename from keyboards/wallaby/wallaby.h rename to keyboards/kkatano/wallaby/wallaby.h diff --git a/keyboards/yurei/config.h b/keyboards/kkatano/yurei/config.h similarity index 100% rename from keyboards/yurei/config.h rename to keyboards/kkatano/yurei/config.h diff --git a/keyboards/yurei/info.json b/keyboards/kkatano/yurei/info.json similarity index 100% rename from keyboards/yurei/info.json rename to keyboards/kkatano/yurei/info.json diff --git a/keyboards/yurei/keymaps/default/keymap.c b/keyboards/kkatano/yurei/keymaps/default/keymap.c similarity index 100% rename from keyboards/yurei/keymaps/default/keymap.c rename to keyboards/kkatano/yurei/keymaps/default/keymap.c diff --git a/keyboards/yurei/keymaps/default/readme.md b/keyboards/kkatano/yurei/keymaps/default/readme.md similarity index 100% rename from keyboards/yurei/keymaps/default/readme.md rename to keyboards/kkatano/yurei/keymaps/default/readme.md diff --git a/keyboards/yurei/readme.md b/keyboards/kkatano/yurei/readme.md similarity index 95% rename from keyboards/yurei/readme.md rename to keyboards/kkatano/yurei/readme.md index fc5b3eb5c047..69bd3a7cbef3 100644 --- a/keyboards/yurei/readme.md +++ b/keyboards/kkatano/yurei/readme.md @@ -8,6 +8,6 @@ A Tenkeyless PCB inspired by Phantom, for customizing Filco Majestouch 2. Make example for this keyboard (after setting up your build environment): - make yurei:default + make kkatano/yurei:default 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/yurei/rules.mk b/keyboards/kkatano/yurei/rules.mk similarity index 100% rename from keyboards/yurei/rules.mk rename to keyboards/kkatano/yurei/rules.mk diff --git a/keyboards/yurei/yurei.c b/keyboards/kkatano/yurei/yurei.c similarity index 100% rename from keyboards/yurei/yurei.c rename to keyboards/kkatano/yurei/yurei.c diff --git a/keyboards/yurei/yurei.h b/keyboards/kkatano/yurei/yurei.h similarity index 100% rename from keyboards/yurei/yurei.h rename to keyboards/kkatano/yurei/yurei.h From a1b39e6db231923935055846384eb2e78e538268 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon, 31 Jan 2022 03:28:04 +0800 Subject: [PATCH 0135/1832] [Keyboard] move That-Canadian 's boards into /maple_computing (#16050) --- keyboards/{ => maple_computing}/6ball/6ball.c | 0 keyboards/{ => maple_computing}/6ball/6ball.h | 0 keyboards/{ => maple_computing}/6ball/config.h | 0 keyboards/{ => maple_computing}/6ball/info.json | 0 .../{ => maple_computing}/6ball/keymaps/default/keymap.c | 0 keyboards/{ => maple_computing}/6ball/readme.md | 2 +- keyboards/{ => maple_computing}/6ball/rules.mk | 0 keyboards/{ => maple_computing}/c39/c39.c | 0 keyboards/{ => maple_computing}/c39/c39.h | 0 keyboards/{ => maple_computing}/c39/config.h | 0 keyboards/{ => maple_computing}/c39/info.json | 0 keyboards/{ => maple_computing}/c39/keymaps/default/keymap.c | 0 keyboards/{ => maple_computing}/c39/keymaps/default/readme.md | 0 keyboards/{ => maple_computing}/c39/keymaps/drashna/config.h | 0 keyboards/{ => maple_computing}/c39/keymaps/drashna/keymap.c | 0 keyboards/{ => maple_computing}/c39/keymaps/drashna/readme.md | 0 keyboards/{ => maple_computing}/c39/keymaps/drashna/rules.mk | 0 .../{ => maple_computing}/c39/keymaps/kuchosauronad0/config.h | 0 .../{ => maple_computing}/c39/keymaps/kuchosauronad0/keymap.c | 0 .../c39/keymaps/kuchosauronad0/readme.md | 0 .../{ => maple_computing}/c39/keymaps/kuchosauronad0/rules.mk | 0 keyboards/{ => maple_computing}/c39/readme.md | 2 +- keyboards/{ => maple_computing}/c39/rules.mk | 0 keyboards/{ => maple_computing}/christmas_tree/.noci | 0 keyboards/{ => maple_computing}/christmas_tree/V2017/V2017.c | 0 keyboards/{ => maple_computing}/christmas_tree/V2017/V2017.h | 0 keyboards/{ => maple_computing}/christmas_tree/V2017/config.h | 0 keyboards/{ => maple_computing}/christmas_tree/V2017/rules.mk | 0 .../{ => maple_computing}/christmas_tree/christmas_tree.c | 0 .../{ => maple_computing}/christmas_tree/christmas_tree.h | 0 keyboards/{ => maple_computing}/christmas_tree/config.h | 0 keyboards/{ => maple_computing}/christmas_tree/info.json | 0 .../christmas_tree/keymaps/default/keymap.c | 0 .../christmas_tree/keymaps/default/readme.md | 0 keyboards/{ => maple_computing}/christmas_tree/readme.md | 4 ++-- keyboards/{ => maple_computing}/christmas_tree/rules.mk | 2 +- keyboards/{ => maple_computing}/ivy/.noci | 0 keyboards/{ => maple_computing}/ivy/config.h | 0 keyboards/{ => maple_computing}/ivy/ivy.c | 0 keyboards/{ => maple_computing}/ivy/ivy.h | 2 +- keyboards/{ => maple_computing}/ivy/keymaps/default/keymap.c | 0 keyboards/{ => maple_computing}/ivy/readme.md | 4 ++-- keyboards/{ => maple_computing}/ivy/rev1/config.h | 0 keyboards/{ => maple_computing}/ivy/rev1/info.json | 0 keyboards/{ => maple_computing}/ivy/rev1/rev1.c | 0 keyboards/{ => maple_computing}/ivy/rev1/rev1.h | 0 keyboards/{ => maple_computing}/ivy/rev1/rules.mk | 0 keyboards/{ => maple_computing}/ivy/rules.mk | 0 keyboards/{ => maple_computing}/jnao/config.h | 0 keyboards/{ => maple_computing}/jnao/info.json | 0 keyboards/{ => maple_computing}/jnao/jnao.c | 0 keyboards/{ => maple_computing}/jnao/jnao.h | 0 keyboards/{ => maple_computing}/jnao/keymaps/default/keymap.c | 0 .../{ => maple_computing}/jnao/keymaps/default_4x12/keymap.c | 0 keyboards/{ => maple_computing}/jnao/keymaps/via/keymap.c | 0 keyboards/{ => maple_computing}/jnao/keymaps/via/rules.mk | 0 keyboards/{ => maple_computing}/jnao/readme.md | 2 +- keyboards/{ => maple_computing}/jnao/rules.mk | 0 keyboards/{ => maple_computing}/launchpad/.noci | 0 keyboards/{ => maple_computing}/launchpad/config.h | 0 .../launchpad/keymaps/brandonschlack/config.h | 0 .../launchpad/keymaps/brandonschlack/keymap.c | 0 .../launchpad/keymaps/brandonschlack/readme.md | 0 .../launchpad/keymaps/brandonschlack/rules.mk | 0 .../{ => maple_computing}/launchpad/keymaps/default/keymap.c | 0 .../launchpad/keymaps/default_rgb/config.h | 0 .../launchpad/keymaps/default_rgb/keymap.c | 0 .../launchpad/keymaps/default_rgb/readme.md | 0 .../launchpad/keymaps/default_rgb/rules.mk | 0 .../{ => maple_computing}/launchpad/keymaps/drashna/config.h | 0 .../{ => maple_computing}/launchpad/keymaps/drashna/keymap.c | 0 .../{ => maple_computing}/launchpad/keymaps/drashna/rules.mk | 0 .../{ => maple_computing}/launchpad/keymaps/via/keymap.c | 0 .../{ => maple_computing}/launchpad/keymaps/via/rules.mk | 0 keyboards/{ => maple_computing}/launchpad/launchpad.c | 0 keyboards/{ => maple_computing}/launchpad/launchpad.h | 2 +- keyboards/{ => maple_computing}/launchpad/readme.md | 4 ++-- keyboards/{ => maple_computing}/launchpad/rev1/config.h | 0 keyboards/{ => maple_computing}/launchpad/rev1/info.json | 0 keyboards/{ => maple_computing}/launchpad/rev1/rev1.c | 0 keyboards/{ => maple_computing}/launchpad/rev1/rev1.h | 0 keyboards/{ => maple_computing}/launchpad/rev1/rules.mk | 0 keyboards/{ => maple_computing}/launchpad/rules.mk | 2 +- keyboards/{ => maple_computing}/lets_split_eh/.noci | 0 keyboards/{ => maple_computing}/lets_split_eh/config.h | 0 keyboards/{ => maple_computing}/lets_split_eh/eh/config.h | 0 keyboards/{ => maple_computing}/lets_split_eh/eh/eh.c | 0 keyboards/{ => maple_computing}/lets_split_eh/eh/eh.h | 0 keyboards/{ => maple_computing}/lets_split_eh/eh/info.json | 0 keyboards/{ => maple_computing}/lets_split_eh/eh/rules.mk | 0 .../lets_split_eh/keymaps/bbaserdem/README.md | 0 .../lets_split_eh/keymaps/bbaserdem/config.h | 0 .../lets_split_eh/keymaps/bbaserdem/keymap.c | 0 .../lets_split_eh/keymaps/bbaserdem/rules.mk | 0 .../lets_split_eh/keymaps/default/keymap.c | 0 .../lets_split_eh/keymaps/doxish_dvorak/config.h | 0 .../lets_split_eh/keymaps/doxish_dvorak/keymap.c | 0 .../lets_split_eh/keymaps/doxish_dvorak/rules.mk | 0 .../lets_split_eh/keymaps/mikethetiger/config.h | 0 .../lets_split_eh/keymaps/mikethetiger/keymap.c | 0 .../lets_split_eh/keymaps/mikethetiger/rules.mk | 0 .../{ => maple_computing}/lets_split_eh/keymaps/msiu/config.h | 0 .../{ => maple_computing}/lets_split_eh/keymaps/msiu/keymap.c | 0 .../lets_split_eh/keymaps/resfury/config.h | 0 .../lets_split_eh/keymaps/resfury/keymap.c | 0 .../lets_split_eh/keymaps/resfury/readme.md | 0 .../lets_split_eh/keymaps/resfury/rules.mk | 0 .../lets_split_eh/keymaps/romus/README.md | 0 .../lets_split_eh/keymaps/romus/keymap.c | 0 .../lets_split_eh/keymaps/romus/rules.mk | 0 .../lets_split_eh/keymaps/that_canadian/config.h | 0 .../lets_split_eh/keymaps/that_canadian/keymap.c | 0 .../lets_split_eh/keymaps/that_canadian/rules.mk | 0 keyboards/{ => maple_computing}/lets_split_eh/lets_split_eh.c | 0 keyboards/{ => maple_computing}/lets_split_eh/lets_split_eh.h | 2 +- keyboards/{ => maple_computing}/lets_split_eh/readme.md | 4 ++-- keyboards/{ => maple_computing}/lets_split_eh/rules.mk | 2 +- keyboards/{ => maple_computing}/minidox/.noci | 0 keyboards/{ => maple_computing}/minidox/config.h | 0 .../{ => maple_computing}/minidox/keymaps/alairock/config.h | 0 .../{ => maple_computing}/minidox/keymaps/alairock/keymap.c | 0 .../{ => maple_computing}/minidox/keymaps/alairock/rules.mk | 0 keyboards/{ => maple_computing}/minidox/keymaps/bepo/config.h | 0 keyboards/{ => maple_computing}/minidox/keymaps/bepo/keymap.c | 0 .../{ => maple_computing}/minidox/keymaps/bepo/readme.md | 0 .../{ => maple_computing}/minidox/keymaps/default/keymap.c | 0 .../minidox/keymaps/dustypomerleau/README.md | 0 .../minidox/keymaps/dustypomerleau/config.h | 0 .../minidox/keymaps/dustypomerleau/keymap.c | 0 .../minidox/keymaps/dustypomerleau/rules.mk | 0 .../{ => maple_computing}/minidox/keymaps/haegin/keymap.c | 0 .../{ => maple_computing}/minidox/keymaps/khitsule/config.h | 0 .../{ => maple_computing}/minidox/keymaps/khitsule/keymap.c | 0 .../{ => maple_computing}/minidox/keymaps/khitsule/readme.md | 0 .../{ => maple_computing}/minidox/keymaps/norman/config.h | 0 .../{ => maple_computing}/minidox/keymaps/norman/keymap.c | 0 .../{ => maple_computing}/minidox/keymaps/norman/readme.md | 0 .../minidox/keymaps/rsthd_combos/config.h | 0 .../minidox/keymaps/rsthd_combos/keymap.c | 0 .../minidox/keymaps/rsthd_combos/readme.md | 0 .../minidox/keymaps/rsthd_combos/rules.mk | 0 .../minidox/keymaps/that_canadian/config.h | 0 .../minidox/keymaps/that_canadian/keymap.c | 0 .../minidox/keymaps/that_canadian/rules.mk | 0 .../{ => maple_computing}/minidox/keymaps/tomb0y/README.md | 0 .../{ => maple_computing}/minidox/keymaps/tomb0y/keymap.c | 0 .../{ => maple_computing}/minidox/keymaps/tw1t611/keymap.c | 0 .../{ => maple_computing}/minidox/keymaps/tw1t611/readme.md | 0 .../{ => maple_computing}/minidox/keymaps/tw1t611/rules.mk | 0 .../{ => maple_computing}/minidox/keymaps/xyverz/config.h | 0 .../{ => maple_computing}/minidox/keymaps/xyverz/keymap.c | 0 .../{ => maple_computing}/minidox/keymaps/xyverz/rules.mk | 0 keyboards/{ => maple_computing}/minidox/minidox.c | 0 keyboards/{ => maple_computing}/minidox/minidox.h | 2 +- keyboards/{ => maple_computing}/minidox/readme.md | 4 ++-- keyboards/{ => maple_computing}/minidox/rev1/config.h | 0 keyboards/{ => maple_computing}/minidox/rev1/info.json | 0 keyboards/{ => maple_computing}/minidox/rev1/rev1.c | 0 keyboards/{ => maple_computing}/minidox/rev1/rev1.h | 0 keyboards/{ => maple_computing}/minidox/rev1/rules.mk | 0 keyboards/{ => maple_computing}/minidox/rules.mk | 2 +- keyboards/{ => maple_computing}/the_ruler/config.h | 0 keyboards/{ => maple_computing}/the_ruler/info.json | 0 .../{ => maple_computing}/the_ruler/keymaps/default/keymap.c | 0 .../{ => maple_computing}/the_ruler/keymaps/default/readme.md | 0 keyboards/{ => maple_computing}/the_ruler/readme.md | 2 +- keyboards/{ => maple_computing}/the_ruler/rules.mk | 0 keyboards/{ => maple_computing}/the_ruler/the_ruler.c | 0 keyboards/{ => maple_computing}/the_ruler/the_ruler.h | 0 169 files changed, 22 insertions(+), 22 deletions(-) rename keyboards/{ => maple_computing}/6ball/6ball.c (100%) rename keyboards/{ => maple_computing}/6ball/6ball.h (100%) rename keyboards/{ => maple_computing}/6ball/config.h (100%) rename keyboards/{ => maple_computing}/6ball/info.json (100%) rename keyboards/{ => maple_computing}/6ball/keymaps/default/keymap.c (100%) rename keyboards/{ => maple_computing}/6ball/readme.md (91%) rename keyboards/{ => maple_computing}/6ball/rules.mk (100%) rename keyboards/{ => maple_computing}/c39/c39.c (100%) rename keyboards/{ => maple_computing}/c39/c39.h (100%) rename keyboards/{ => maple_computing}/c39/config.h (100%) rename keyboards/{ => maple_computing}/c39/info.json (100%) rename keyboards/{ => maple_computing}/c39/keymaps/default/keymap.c (100%) rename keyboards/{ => maple_computing}/c39/keymaps/default/readme.md (100%) rename keyboards/{ => maple_computing}/c39/keymaps/drashna/config.h (100%) rename keyboards/{ => maple_computing}/c39/keymaps/drashna/keymap.c (100%) rename keyboards/{ => maple_computing}/c39/keymaps/drashna/readme.md (100%) rename keyboards/{ => maple_computing}/c39/keymaps/drashna/rules.mk (100%) rename keyboards/{ => maple_computing}/c39/keymaps/kuchosauronad0/config.h (100%) rename keyboards/{ => maple_computing}/c39/keymaps/kuchosauronad0/keymap.c (100%) rename keyboards/{ => maple_computing}/c39/keymaps/kuchosauronad0/readme.md (100%) rename keyboards/{ => maple_computing}/c39/keymaps/kuchosauronad0/rules.mk (100%) rename keyboards/{ => maple_computing}/c39/readme.md (93%) rename keyboards/{ => maple_computing}/c39/rules.mk (100%) rename keyboards/{ => maple_computing}/christmas_tree/.noci (100%) rename keyboards/{ => maple_computing}/christmas_tree/V2017/V2017.c (100%) rename keyboards/{ => maple_computing}/christmas_tree/V2017/V2017.h (100%) rename keyboards/{ => maple_computing}/christmas_tree/V2017/config.h (100%) rename keyboards/{ => maple_computing}/christmas_tree/V2017/rules.mk (100%) rename keyboards/{ => maple_computing}/christmas_tree/christmas_tree.c (100%) rename keyboards/{ => maple_computing}/christmas_tree/christmas_tree.h (100%) rename keyboards/{ => maple_computing}/christmas_tree/config.h (100%) rename keyboards/{ => maple_computing}/christmas_tree/info.json (100%) rename keyboards/{ => maple_computing}/christmas_tree/keymaps/default/keymap.c (100%) rename keyboards/{ => maple_computing}/christmas_tree/keymaps/default/readme.md (100%) rename keyboards/{ => maple_computing}/christmas_tree/readme.md (80%) rename keyboards/{ => maple_computing}/christmas_tree/rules.mk (92%) rename keyboards/{ => maple_computing}/ivy/.noci (100%) rename keyboards/{ => maple_computing}/ivy/config.h (100%) rename keyboards/{ => maple_computing}/ivy/ivy.c (100%) rename keyboards/{ => maple_computing}/ivy/ivy.h (61%) rename keyboards/{ => maple_computing}/ivy/keymaps/default/keymap.c (100%) rename keyboards/{ => maple_computing}/ivy/readme.md (82%) rename keyboards/{ => maple_computing}/ivy/rev1/config.h (100%) rename keyboards/{ => maple_computing}/ivy/rev1/info.json (100%) rename keyboards/{ => maple_computing}/ivy/rev1/rev1.c (100%) rename keyboards/{ => maple_computing}/ivy/rev1/rev1.h (100%) rename keyboards/{ => maple_computing}/ivy/rev1/rules.mk (100%) rename keyboards/{ => maple_computing}/ivy/rules.mk (100%) rename keyboards/{ => maple_computing}/jnao/config.h (100%) rename keyboards/{ => maple_computing}/jnao/info.json (100%) rename keyboards/{ => maple_computing}/jnao/jnao.c (100%) rename keyboards/{ => maple_computing}/jnao/jnao.h (100%) rename keyboards/{ => maple_computing}/jnao/keymaps/default/keymap.c (100%) rename keyboards/{ => maple_computing}/jnao/keymaps/default_4x12/keymap.c (100%) rename keyboards/{ => maple_computing}/jnao/keymaps/via/keymap.c (100%) rename keyboards/{ => maple_computing}/jnao/keymaps/via/rules.mk (100%) rename keyboards/{ => maple_computing}/jnao/readme.md (94%) rename keyboards/{ => maple_computing}/jnao/rules.mk (100%) rename keyboards/{ => maple_computing}/launchpad/.noci (100%) rename keyboards/{ => maple_computing}/launchpad/config.h (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/brandonschlack/config.h (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/brandonschlack/keymap.c (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/brandonschlack/readme.md (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/brandonschlack/rules.mk (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/default/keymap.c (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/default_rgb/config.h (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/default_rgb/keymap.c (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/default_rgb/readme.md (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/default_rgb/rules.mk (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/drashna/config.h (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/drashna/keymap.c (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/drashna/rules.mk (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/via/keymap.c (100%) rename keyboards/{ => maple_computing}/launchpad/keymaps/via/rules.mk (100%) rename keyboards/{ => maple_computing}/launchpad/launchpad.c (100%) rename keyboards/{ => maple_computing}/launchpad/launchpad.h (55%) rename keyboards/{ => maple_computing}/launchpad/readme.md (94%) rename keyboards/{ => maple_computing}/launchpad/rev1/config.h (100%) rename keyboards/{ => maple_computing}/launchpad/rev1/info.json (100%) rename keyboards/{ => maple_computing}/launchpad/rev1/rev1.c (100%) rename keyboards/{ => maple_computing}/launchpad/rev1/rev1.h (100%) rename keyboards/{ => maple_computing}/launchpad/rev1/rules.mk (100%) rename keyboards/{ => maple_computing}/launchpad/rules.mk (92%) rename keyboards/{ => maple_computing}/lets_split_eh/.noci (100%) rename keyboards/{ => maple_computing}/lets_split_eh/config.h (100%) rename keyboards/{ => maple_computing}/lets_split_eh/eh/config.h (100%) rename keyboards/{ => maple_computing}/lets_split_eh/eh/eh.c (100%) rename keyboards/{ => maple_computing}/lets_split_eh/eh/eh.h (100%) rename keyboards/{ => maple_computing}/lets_split_eh/eh/info.json (100%) rename keyboards/{ => maple_computing}/lets_split_eh/eh/rules.mk (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/bbaserdem/README.md (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/bbaserdem/config.h (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/bbaserdem/keymap.c (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/bbaserdem/rules.mk (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/default/keymap.c (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/doxish_dvorak/config.h (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/doxish_dvorak/keymap.c (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/doxish_dvorak/rules.mk (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/mikethetiger/config.h (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/mikethetiger/keymap.c (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/mikethetiger/rules.mk (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/msiu/config.h (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/msiu/keymap.c (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/resfury/config.h (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/resfury/keymap.c (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/resfury/readme.md (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/resfury/rules.mk (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/romus/README.md (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/romus/keymap.c (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/romus/rules.mk (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/that_canadian/config.h (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/that_canadian/keymap.c (100%) rename keyboards/{ => maple_computing}/lets_split_eh/keymaps/that_canadian/rules.mk (100%) rename keyboards/{ => maple_computing}/lets_split_eh/lets_split_eh.c (100%) rename keyboards/{ => maple_computing}/lets_split_eh/lets_split_eh.h (56%) rename keyboards/{ => maple_computing}/lets_split_eh/readme.md (85%) rename keyboards/{ => maple_computing}/lets_split_eh/rules.mk (92%) rename keyboards/{ => maple_computing}/minidox/.noci (100%) rename keyboards/{ => maple_computing}/minidox/config.h (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/alairock/config.h (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/alairock/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/alairock/rules.mk (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/bepo/config.h (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/bepo/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/bepo/readme.md (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/default/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/dustypomerleau/README.md (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/dustypomerleau/config.h (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/dustypomerleau/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/dustypomerleau/rules.mk (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/haegin/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/khitsule/config.h (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/khitsule/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/khitsule/readme.md (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/norman/config.h (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/norman/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/norman/readme.md (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/rsthd_combos/config.h (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/rsthd_combos/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/rsthd_combos/readme.md (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/rsthd_combos/rules.mk (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/that_canadian/config.h (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/that_canadian/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/that_canadian/rules.mk (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/tomb0y/README.md (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/tomb0y/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/tw1t611/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/tw1t611/readme.md (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/tw1t611/rules.mk (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/xyverz/config.h (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/xyverz/keymap.c (100%) rename keyboards/{ => maple_computing}/minidox/keymaps/xyverz/rules.mk (100%) rename keyboards/{ => maple_computing}/minidox/minidox.c (100%) rename keyboards/{ => maple_computing}/minidox/minidox.h (59%) rename keyboards/{ => maple_computing}/minidox/readme.md (92%) rename keyboards/{ => maple_computing}/minidox/rev1/config.h (100%) rename keyboards/{ => maple_computing}/minidox/rev1/info.json (100%) rename keyboards/{ => maple_computing}/minidox/rev1/rev1.c (100%) rename keyboards/{ => maple_computing}/minidox/rev1/rev1.h (100%) rename keyboards/{ => maple_computing}/minidox/rev1/rules.mk (100%) rename keyboards/{ => maple_computing}/minidox/rules.mk (93%) rename keyboards/{ => maple_computing}/the_ruler/config.h (100%) rename keyboards/{ => maple_computing}/the_ruler/info.json (100%) rename keyboards/{ => maple_computing}/the_ruler/keymaps/default/keymap.c (100%) rename keyboards/{ => maple_computing}/the_ruler/keymaps/default/readme.md (100%) rename keyboards/{ => maple_computing}/the_ruler/readme.md (93%) rename keyboards/{ => maple_computing}/the_ruler/rules.mk (100%) rename keyboards/{ => maple_computing}/the_ruler/the_ruler.c (100%) rename keyboards/{ => maple_computing}/the_ruler/the_ruler.h (100%) diff --git a/keyboards/6ball/6ball.c b/keyboards/maple_computing/6ball/6ball.c similarity index 100% rename from keyboards/6ball/6ball.c rename to keyboards/maple_computing/6ball/6ball.c diff --git a/keyboards/6ball/6ball.h b/keyboards/maple_computing/6ball/6ball.h similarity index 100% rename from keyboards/6ball/6ball.h rename to keyboards/maple_computing/6ball/6ball.h diff --git a/keyboards/6ball/config.h b/keyboards/maple_computing/6ball/config.h similarity index 100% rename from keyboards/6ball/config.h rename to keyboards/maple_computing/6ball/config.h diff --git a/keyboards/6ball/info.json b/keyboards/maple_computing/6ball/info.json similarity index 100% rename from keyboards/6ball/info.json rename to keyboards/maple_computing/6ball/info.json diff --git a/keyboards/6ball/keymaps/default/keymap.c b/keyboards/maple_computing/6ball/keymaps/default/keymap.c similarity index 100% rename from keyboards/6ball/keymaps/default/keymap.c rename to keyboards/maple_computing/6ball/keymaps/default/keymap.c diff --git a/keyboards/6ball/readme.md b/keyboards/maple_computing/6ball/readme.md similarity index 91% rename from keyboards/6ball/readme.md rename to keyboards/maple_computing/6ball/readme.md index c9548453a939..0b91c8aa28f4 100644 --- a/keyboards/6ball/readme.md +++ b/keyboards/maple_computing/6ball/readme.md @@ -9,6 +9,6 @@ Hardware Availability: ThatCanadian Make example for this keyboard (after setting up your build environment): - make 6ball:default + make maple_computing/6ball:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/6ball/rules.mk b/keyboards/maple_computing/6ball/rules.mk similarity index 100% rename from keyboards/6ball/rules.mk rename to keyboards/maple_computing/6ball/rules.mk diff --git a/keyboards/c39/c39.c b/keyboards/maple_computing/c39/c39.c similarity index 100% rename from keyboards/c39/c39.c rename to keyboards/maple_computing/c39/c39.c diff --git a/keyboards/c39/c39.h b/keyboards/maple_computing/c39/c39.h similarity index 100% rename from keyboards/c39/c39.h rename to keyboards/maple_computing/c39/c39.h diff --git a/keyboards/c39/config.h b/keyboards/maple_computing/c39/config.h similarity index 100% rename from keyboards/c39/config.h rename to keyboards/maple_computing/c39/config.h diff --git a/keyboards/c39/info.json b/keyboards/maple_computing/c39/info.json similarity index 100% rename from keyboards/c39/info.json rename to keyboards/maple_computing/c39/info.json diff --git a/keyboards/c39/keymaps/default/keymap.c b/keyboards/maple_computing/c39/keymaps/default/keymap.c similarity index 100% rename from keyboards/c39/keymaps/default/keymap.c rename to keyboards/maple_computing/c39/keymaps/default/keymap.c diff --git a/keyboards/c39/keymaps/default/readme.md b/keyboards/maple_computing/c39/keymaps/default/readme.md similarity index 100% rename from keyboards/c39/keymaps/default/readme.md rename to keyboards/maple_computing/c39/keymaps/default/readme.md diff --git a/keyboards/c39/keymaps/drashna/config.h b/keyboards/maple_computing/c39/keymaps/drashna/config.h similarity index 100% rename from keyboards/c39/keymaps/drashna/config.h rename to keyboards/maple_computing/c39/keymaps/drashna/config.h diff --git a/keyboards/c39/keymaps/drashna/keymap.c b/keyboards/maple_computing/c39/keymaps/drashna/keymap.c similarity index 100% rename from keyboards/c39/keymaps/drashna/keymap.c rename to keyboards/maple_computing/c39/keymaps/drashna/keymap.c diff --git a/keyboards/c39/keymaps/drashna/readme.md b/keyboards/maple_computing/c39/keymaps/drashna/readme.md similarity index 100% rename from keyboards/c39/keymaps/drashna/readme.md rename to keyboards/maple_computing/c39/keymaps/drashna/readme.md diff --git a/keyboards/c39/keymaps/drashna/rules.mk b/keyboards/maple_computing/c39/keymaps/drashna/rules.mk similarity index 100% rename from keyboards/c39/keymaps/drashna/rules.mk rename to keyboards/maple_computing/c39/keymaps/drashna/rules.mk diff --git a/keyboards/c39/keymaps/kuchosauronad0/config.h b/keyboards/maple_computing/c39/keymaps/kuchosauronad0/config.h similarity index 100% rename from keyboards/c39/keymaps/kuchosauronad0/config.h rename to keyboards/maple_computing/c39/keymaps/kuchosauronad0/config.h diff --git a/keyboards/c39/keymaps/kuchosauronad0/keymap.c b/keyboards/maple_computing/c39/keymaps/kuchosauronad0/keymap.c similarity index 100% rename from keyboards/c39/keymaps/kuchosauronad0/keymap.c rename to keyboards/maple_computing/c39/keymaps/kuchosauronad0/keymap.c diff --git a/keyboards/c39/keymaps/kuchosauronad0/readme.md b/keyboards/maple_computing/c39/keymaps/kuchosauronad0/readme.md similarity index 100% rename from keyboards/c39/keymaps/kuchosauronad0/readme.md rename to keyboards/maple_computing/c39/keymaps/kuchosauronad0/readme.md diff --git a/keyboards/c39/keymaps/kuchosauronad0/rules.mk b/keyboards/maple_computing/c39/keymaps/kuchosauronad0/rules.mk similarity index 100% rename from keyboards/c39/keymaps/kuchosauronad0/rules.mk rename to keyboards/maple_computing/c39/keymaps/kuchosauronad0/rules.mk diff --git a/keyboards/c39/readme.md b/keyboards/maple_computing/c39/readme.md similarity index 93% rename from keyboards/c39/readme.md rename to keyboards/maple_computing/c39/readme.md index 0454f1c12b02..c74294e30089 100755 --- a/keyboards/c39/readme.md +++ b/keyboards/maple_computing/c39/readme.md @@ -11,6 +11,6 @@ Hardware Availability: [SpaceCat.design](https://spacecat.design) Make example for this keyboard (after setting up your build environment): - make c39:default + make maple_computing/c39:default 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/c39/rules.mk b/keyboards/maple_computing/c39/rules.mk similarity index 100% rename from keyboards/c39/rules.mk rename to keyboards/maple_computing/c39/rules.mk diff --git a/keyboards/christmas_tree/.noci b/keyboards/maple_computing/christmas_tree/.noci similarity index 100% rename from keyboards/christmas_tree/.noci rename to keyboards/maple_computing/christmas_tree/.noci diff --git a/keyboards/christmas_tree/V2017/V2017.c b/keyboards/maple_computing/christmas_tree/V2017/V2017.c similarity index 100% rename from keyboards/christmas_tree/V2017/V2017.c rename to keyboards/maple_computing/christmas_tree/V2017/V2017.c diff --git a/keyboards/christmas_tree/V2017/V2017.h b/keyboards/maple_computing/christmas_tree/V2017/V2017.h similarity index 100% rename from keyboards/christmas_tree/V2017/V2017.h rename to keyboards/maple_computing/christmas_tree/V2017/V2017.h diff --git a/keyboards/christmas_tree/V2017/config.h b/keyboards/maple_computing/christmas_tree/V2017/config.h similarity index 100% rename from keyboards/christmas_tree/V2017/config.h rename to keyboards/maple_computing/christmas_tree/V2017/config.h diff --git a/keyboards/christmas_tree/V2017/rules.mk b/keyboards/maple_computing/christmas_tree/V2017/rules.mk similarity index 100% rename from keyboards/christmas_tree/V2017/rules.mk rename to keyboards/maple_computing/christmas_tree/V2017/rules.mk diff --git a/keyboards/christmas_tree/christmas_tree.c b/keyboards/maple_computing/christmas_tree/christmas_tree.c similarity index 100% rename from keyboards/christmas_tree/christmas_tree.c rename to keyboards/maple_computing/christmas_tree/christmas_tree.c diff --git a/keyboards/christmas_tree/christmas_tree.h b/keyboards/maple_computing/christmas_tree/christmas_tree.h similarity index 100% rename from keyboards/christmas_tree/christmas_tree.h rename to keyboards/maple_computing/christmas_tree/christmas_tree.h diff --git a/keyboards/christmas_tree/config.h b/keyboards/maple_computing/christmas_tree/config.h similarity index 100% rename from keyboards/christmas_tree/config.h rename to keyboards/maple_computing/christmas_tree/config.h diff --git a/keyboards/christmas_tree/info.json b/keyboards/maple_computing/christmas_tree/info.json similarity index 100% rename from keyboards/christmas_tree/info.json rename to keyboards/maple_computing/christmas_tree/info.json diff --git a/keyboards/christmas_tree/keymaps/default/keymap.c b/keyboards/maple_computing/christmas_tree/keymaps/default/keymap.c similarity index 100% rename from keyboards/christmas_tree/keymaps/default/keymap.c rename to keyboards/maple_computing/christmas_tree/keymaps/default/keymap.c diff --git a/keyboards/christmas_tree/keymaps/default/readme.md b/keyboards/maple_computing/christmas_tree/keymaps/default/readme.md similarity index 100% rename from keyboards/christmas_tree/keymaps/default/readme.md rename to keyboards/maple_computing/christmas_tree/keymaps/default/readme.md diff --git a/keyboards/christmas_tree/readme.md b/keyboards/maple_computing/christmas_tree/readme.md similarity index 80% rename from keyboards/christmas_tree/readme.md rename to keyboards/maple_computing/christmas_tree/readme.md index b3337dd5ba6a..3ba255a18c57 100644 --- a/keyboards/christmas_tree/readme.md +++ b/keyboards/maple_computing/christmas_tree/readme.md @@ -9,6 +9,6 @@ Keyboard Maintainer: [That-Canadian](https://github.com/That-Canadian) Make example for this keyboard (after setting up your build environment): - make christmas_tree/V2017:default + make maple_computing/christmas_tree/V2017:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/christmas_tree/rules.mk b/keyboards/maple_computing/christmas_tree/rules.mk similarity index 92% rename from keyboards/christmas_tree/rules.mk rename to keyboards/maple_computing/christmas_tree/rules.mk index dada70c309d0..45ac8831638c 100644 --- a/keyboards/christmas_tree/rules.mk +++ b/keyboards/maple_computing/christmas_tree/rules.mk @@ -17,4 +17,4 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -DEFAULT_FOLDER = christmas_tree/V2017 +DEFAULT_FOLDER = maple_computing/christmas_tree/V2017 diff --git a/keyboards/ivy/.noci b/keyboards/maple_computing/ivy/.noci similarity index 100% rename from keyboards/ivy/.noci rename to keyboards/maple_computing/ivy/.noci diff --git a/keyboards/ivy/config.h b/keyboards/maple_computing/ivy/config.h similarity index 100% rename from keyboards/ivy/config.h rename to keyboards/maple_computing/ivy/config.h diff --git a/keyboards/ivy/ivy.c b/keyboards/maple_computing/ivy/ivy.c similarity index 100% rename from keyboards/ivy/ivy.c rename to keyboards/maple_computing/ivy/ivy.c diff --git a/keyboards/ivy/ivy.h b/keyboards/maple_computing/ivy/ivy.h similarity index 61% rename from keyboards/ivy/ivy.h rename to keyboards/maple_computing/ivy/ivy.h index 2cba5f495627..645c5e0ef784 100644 --- a/keyboards/ivy/ivy.h +++ b/keyboards/maple_computing/ivy/ivy.h @@ -1,6 +1,6 @@ #pragma once -#ifdef KEYBOARD_ivy_rev1 +#ifdef KEYBOARD_maple_computing_ivy_rev1 #include "rev1.h" #endif diff --git a/keyboards/ivy/keymaps/default/keymap.c b/keyboards/maple_computing/ivy/keymaps/default/keymap.c similarity index 100% rename from keyboards/ivy/keymaps/default/keymap.c rename to keyboards/maple_computing/ivy/keymaps/default/keymap.c diff --git a/keyboards/ivy/readme.md b/keyboards/maple_computing/ivy/readme.md similarity index 82% rename from keyboards/ivy/readme.md rename to keyboards/maple_computing/ivy/readme.md index f70630b52b25..a3bc043b772b 100644 --- a/keyboards/ivy/readme.md +++ b/keyboards/maple_computing/ivy/readme.md @@ -5,11 +5,11 @@ IVY Make example for this keyboard (after setting up your build environment): - make ivy/rev1:default + make maple_computing/ivy/rev1:default Install examples: - make ivy/rev1:default:dfu + make maple_computing/ivy/rev1:default:dfu 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/ivy/rev1/config.h b/keyboards/maple_computing/ivy/rev1/config.h similarity index 100% rename from keyboards/ivy/rev1/config.h rename to keyboards/maple_computing/ivy/rev1/config.h diff --git a/keyboards/ivy/rev1/info.json b/keyboards/maple_computing/ivy/rev1/info.json similarity index 100% rename from keyboards/ivy/rev1/info.json rename to keyboards/maple_computing/ivy/rev1/info.json diff --git a/keyboards/ivy/rev1/rev1.c b/keyboards/maple_computing/ivy/rev1/rev1.c similarity index 100% rename from keyboards/ivy/rev1/rev1.c rename to keyboards/maple_computing/ivy/rev1/rev1.c diff --git a/keyboards/ivy/rev1/rev1.h b/keyboards/maple_computing/ivy/rev1/rev1.h similarity index 100% rename from keyboards/ivy/rev1/rev1.h rename to keyboards/maple_computing/ivy/rev1/rev1.h diff --git a/keyboards/ivy/rev1/rules.mk b/keyboards/maple_computing/ivy/rev1/rules.mk similarity index 100% rename from keyboards/ivy/rev1/rules.mk rename to keyboards/maple_computing/ivy/rev1/rules.mk diff --git a/keyboards/ivy/rules.mk b/keyboards/maple_computing/ivy/rules.mk similarity index 100% rename from keyboards/ivy/rules.mk rename to keyboards/maple_computing/ivy/rules.mk diff --git a/keyboards/jnao/config.h b/keyboards/maple_computing/jnao/config.h similarity index 100% rename from keyboards/jnao/config.h rename to keyboards/maple_computing/jnao/config.h diff --git a/keyboards/jnao/info.json b/keyboards/maple_computing/jnao/info.json similarity index 100% rename from keyboards/jnao/info.json rename to keyboards/maple_computing/jnao/info.json diff --git a/keyboards/jnao/jnao.c b/keyboards/maple_computing/jnao/jnao.c similarity index 100% rename from keyboards/jnao/jnao.c rename to keyboards/maple_computing/jnao/jnao.c diff --git a/keyboards/jnao/jnao.h b/keyboards/maple_computing/jnao/jnao.h similarity index 100% rename from keyboards/jnao/jnao.h rename to keyboards/maple_computing/jnao/jnao.h diff --git a/keyboards/jnao/keymaps/default/keymap.c b/keyboards/maple_computing/jnao/keymaps/default/keymap.c similarity index 100% rename from keyboards/jnao/keymaps/default/keymap.c rename to keyboards/maple_computing/jnao/keymaps/default/keymap.c diff --git a/keyboards/jnao/keymaps/default_4x12/keymap.c b/keyboards/maple_computing/jnao/keymaps/default_4x12/keymap.c similarity index 100% rename from keyboards/jnao/keymaps/default_4x12/keymap.c rename to keyboards/maple_computing/jnao/keymaps/default_4x12/keymap.c diff --git a/keyboards/jnao/keymaps/via/keymap.c b/keyboards/maple_computing/jnao/keymaps/via/keymap.c similarity index 100% rename from keyboards/jnao/keymaps/via/keymap.c rename to keyboards/maple_computing/jnao/keymaps/via/keymap.c diff --git a/keyboards/jnao/keymaps/via/rules.mk b/keyboards/maple_computing/jnao/keymaps/via/rules.mk similarity index 100% rename from keyboards/jnao/keymaps/via/rules.mk rename to keyboards/maple_computing/jnao/keymaps/via/rules.mk diff --git a/keyboards/jnao/readme.md b/keyboards/maple_computing/jnao/readme.md similarity index 94% rename from keyboards/jnao/readme.md rename to keyboards/maple_computing/jnao/readme.md index 08cf10acaa64..dd7b280a0879 100644 --- a/keyboards/jnao/readme.md +++ b/keyboards/maple_computing/jnao/readme.md @@ -9,6 +9,6 @@ Hardware Availability: [SpaceCat](https://spacecat.design) and [Keebio](https:// Make example for this keyboard (after setting up your build environment): - make jnao:default + make maple_computing/jnao:default 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/jnao/rules.mk b/keyboards/maple_computing/jnao/rules.mk similarity index 100% rename from keyboards/jnao/rules.mk rename to keyboards/maple_computing/jnao/rules.mk diff --git a/keyboards/launchpad/.noci b/keyboards/maple_computing/launchpad/.noci similarity index 100% rename from keyboards/launchpad/.noci rename to keyboards/maple_computing/launchpad/.noci diff --git a/keyboards/launchpad/config.h b/keyboards/maple_computing/launchpad/config.h similarity index 100% rename from keyboards/launchpad/config.h rename to keyboards/maple_computing/launchpad/config.h diff --git a/keyboards/launchpad/keymaps/brandonschlack/config.h b/keyboards/maple_computing/launchpad/keymaps/brandonschlack/config.h similarity index 100% rename from keyboards/launchpad/keymaps/brandonschlack/config.h rename to keyboards/maple_computing/launchpad/keymaps/brandonschlack/config.h diff --git a/keyboards/launchpad/keymaps/brandonschlack/keymap.c b/keyboards/maple_computing/launchpad/keymaps/brandonschlack/keymap.c similarity index 100% rename from keyboards/launchpad/keymaps/brandonschlack/keymap.c rename to keyboards/maple_computing/launchpad/keymaps/brandonschlack/keymap.c diff --git a/keyboards/launchpad/keymaps/brandonschlack/readme.md b/keyboards/maple_computing/launchpad/keymaps/brandonschlack/readme.md similarity index 100% rename from keyboards/launchpad/keymaps/brandonschlack/readme.md rename to keyboards/maple_computing/launchpad/keymaps/brandonschlack/readme.md diff --git a/keyboards/launchpad/keymaps/brandonschlack/rules.mk b/keyboards/maple_computing/launchpad/keymaps/brandonschlack/rules.mk similarity index 100% rename from keyboards/launchpad/keymaps/brandonschlack/rules.mk rename to keyboards/maple_computing/launchpad/keymaps/brandonschlack/rules.mk diff --git a/keyboards/launchpad/keymaps/default/keymap.c b/keyboards/maple_computing/launchpad/keymaps/default/keymap.c similarity index 100% rename from keyboards/launchpad/keymaps/default/keymap.c rename to keyboards/maple_computing/launchpad/keymaps/default/keymap.c diff --git a/keyboards/launchpad/keymaps/default_rgb/config.h b/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h similarity index 100% rename from keyboards/launchpad/keymaps/default_rgb/config.h rename to keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h diff --git a/keyboards/launchpad/keymaps/default_rgb/keymap.c b/keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c similarity index 100% rename from keyboards/launchpad/keymaps/default_rgb/keymap.c rename to keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c diff --git a/keyboards/launchpad/keymaps/default_rgb/readme.md b/keyboards/maple_computing/launchpad/keymaps/default_rgb/readme.md similarity index 100% rename from keyboards/launchpad/keymaps/default_rgb/readme.md rename to keyboards/maple_computing/launchpad/keymaps/default_rgb/readme.md diff --git a/keyboards/launchpad/keymaps/default_rgb/rules.mk b/keyboards/maple_computing/launchpad/keymaps/default_rgb/rules.mk similarity index 100% rename from keyboards/launchpad/keymaps/default_rgb/rules.mk rename to keyboards/maple_computing/launchpad/keymaps/default_rgb/rules.mk diff --git a/keyboards/launchpad/keymaps/drashna/config.h b/keyboards/maple_computing/launchpad/keymaps/drashna/config.h similarity index 100% rename from keyboards/launchpad/keymaps/drashna/config.h rename to keyboards/maple_computing/launchpad/keymaps/drashna/config.h diff --git a/keyboards/launchpad/keymaps/drashna/keymap.c b/keyboards/maple_computing/launchpad/keymaps/drashna/keymap.c similarity index 100% rename from keyboards/launchpad/keymaps/drashna/keymap.c rename to keyboards/maple_computing/launchpad/keymaps/drashna/keymap.c diff --git a/keyboards/launchpad/keymaps/drashna/rules.mk b/keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk similarity index 100% rename from keyboards/launchpad/keymaps/drashna/rules.mk rename to keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk diff --git a/keyboards/launchpad/keymaps/via/keymap.c b/keyboards/maple_computing/launchpad/keymaps/via/keymap.c similarity index 100% rename from keyboards/launchpad/keymaps/via/keymap.c rename to keyboards/maple_computing/launchpad/keymaps/via/keymap.c diff --git a/keyboards/launchpad/keymaps/via/rules.mk b/keyboards/maple_computing/launchpad/keymaps/via/rules.mk similarity index 100% rename from keyboards/launchpad/keymaps/via/rules.mk rename to keyboards/maple_computing/launchpad/keymaps/via/rules.mk diff --git a/keyboards/launchpad/launchpad.c b/keyboards/maple_computing/launchpad/launchpad.c similarity index 100% rename from keyboards/launchpad/launchpad.c rename to keyboards/maple_computing/launchpad/launchpad.c diff --git a/keyboards/launchpad/launchpad.h b/keyboards/maple_computing/launchpad/launchpad.h similarity index 55% rename from keyboards/launchpad/launchpad.h rename to keyboards/maple_computing/launchpad/launchpad.h index 59cf64afecc1..f2a1b4058833 100644 --- a/keyboards/launchpad/launchpad.h +++ b/keyboards/maple_computing/launchpad/launchpad.h @@ -1,6 +1,6 @@ #pragma once -#if defined(KEYBOARD_launchpad_rev1) +#if defined(KEYBOARD_maple_computing_launchpad_rev1) # include "rev1.h" #endif diff --git a/keyboards/launchpad/readme.md b/keyboards/maple_computing/launchpad/readme.md similarity index 94% rename from keyboards/launchpad/readme.md rename to keyboards/maple_computing/launchpad/readme.md index 81281219467e..1dc7a9b4cff5 100644 --- a/keyboards/launchpad/readme.md +++ b/keyboards/maple_computing/launchpad/readme.md @@ -21,7 +21,7 @@ A fantastic project for beginners to learn to solder, veteran's of the hobby who Make example for this keyboard (after setting up your build environment): - make launchpad/rev1:default + make maple_computing/launchpad/rev1:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. @@ -29,4 +29,4 @@ See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) Due to PCB tolerance issues outside of our control, the snap-apart legs included on the PCB may need extra padding to prevent a small amount of wobbling once placed properly. We have included small, clear, and semi-permanent "glue dots" in each order (PCB Only -and- Full Kit) to help with this. You may also use plastic wrap, tape, Elmer's glue, hot glue, rubber cement, etc. We advise against using anything more "permanent" in case you wish to make changes to your Launch Pad in the future. It is also best to attach legs after all of your soldering and building is finished, to get the most accurate feel for your Launch Pad. --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- \ No newline at end of file +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- diff --git a/keyboards/launchpad/rev1/config.h b/keyboards/maple_computing/launchpad/rev1/config.h similarity index 100% rename from keyboards/launchpad/rev1/config.h rename to keyboards/maple_computing/launchpad/rev1/config.h diff --git a/keyboards/launchpad/rev1/info.json b/keyboards/maple_computing/launchpad/rev1/info.json similarity index 100% rename from keyboards/launchpad/rev1/info.json rename to keyboards/maple_computing/launchpad/rev1/info.json diff --git a/keyboards/launchpad/rev1/rev1.c b/keyboards/maple_computing/launchpad/rev1/rev1.c similarity index 100% rename from keyboards/launchpad/rev1/rev1.c rename to keyboards/maple_computing/launchpad/rev1/rev1.c diff --git a/keyboards/launchpad/rev1/rev1.h b/keyboards/maple_computing/launchpad/rev1/rev1.h similarity index 100% rename from keyboards/launchpad/rev1/rev1.h rename to keyboards/maple_computing/launchpad/rev1/rev1.h diff --git a/keyboards/launchpad/rev1/rules.mk b/keyboards/maple_computing/launchpad/rev1/rules.mk similarity index 100% rename from keyboards/launchpad/rev1/rules.mk rename to keyboards/maple_computing/launchpad/rev1/rules.mk diff --git a/keyboards/launchpad/rules.mk b/keyboards/maple_computing/launchpad/rules.mk similarity index 92% rename from keyboards/launchpad/rules.mk rename to keyboards/maple_computing/launchpad/rules.mk index 3bfec5643224..67e76c62447d 100644 --- a/keyboards/launchpad/rules.mk +++ b/keyboards/maple_computing/launchpad/rules.mk @@ -17,4 +17,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -DEFAULT_FOLDER = launchpad/rev1 +DEFAULT_FOLDER = maple_computing/launchpad/rev1 diff --git a/keyboards/lets_split_eh/.noci b/keyboards/maple_computing/lets_split_eh/.noci similarity index 100% rename from keyboards/lets_split_eh/.noci rename to keyboards/maple_computing/lets_split_eh/.noci diff --git a/keyboards/lets_split_eh/config.h b/keyboards/maple_computing/lets_split_eh/config.h similarity index 100% rename from keyboards/lets_split_eh/config.h rename to keyboards/maple_computing/lets_split_eh/config.h diff --git a/keyboards/lets_split_eh/eh/config.h b/keyboards/maple_computing/lets_split_eh/eh/config.h similarity index 100% rename from keyboards/lets_split_eh/eh/config.h rename to keyboards/maple_computing/lets_split_eh/eh/config.h diff --git a/keyboards/lets_split_eh/eh/eh.c b/keyboards/maple_computing/lets_split_eh/eh/eh.c similarity index 100% rename from keyboards/lets_split_eh/eh/eh.c rename to keyboards/maple_computing/lets_split_eh/eh/eh.c diff --git a/keyboards/lets_split_eh/eh/eh.h b/keyboards/maple_computing/lets_split_eh/eh/eh.h similarity index 100% rename from keyboards/lets_split_eh/eh/eh.h rename to keyboards/maple_computing/lets_split_eh/eh/eh.h diff --git a/keyboards/lets_split_eh/eh/info.json b/keyboards/maple_computing/lets_split_eh/eh/info.json similarity index 100% rename from keyboards/lets_split_eh/eh/info.json rename to keyboards/maple_computing/lets_split_eh/eh/info.json diff --git a/keyboards/lets_split_eh/eh/rules.mk b/keyboards/maple_computing/lets_split_eh/eh/rules.mk similarity index 100% rename from keyboards/lets_split_eh/eh/rules.mk rename to keyboards/maple_computing/lets_split_eh/eh/rules.mk diff --git a/keyboards/lets_split_eh/keymaps/bbaserdem/README.md b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/README.md similarity index 100% rename from keyboards/lets_split_eh/keymaps/bbaserdem/README.md rename to keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/README.md diff --git a/keyboards/lets_split_eh/keymaps/bbaserdem/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/config.h similarity index 100% rename from keyboards/lets_split_eh/keymaps/bbaserdem/config.h rename to keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/config.h diff --git a/keyboards/lets_split_eh/keymaps/bbaserdem/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c similarity index 100% rename from keyboards/lets_split_eh/keymaps/bbaserdem/keymap.c rename to keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c diff --git a/keyboards/lets_split_eh/keymaps/bbaserdem/rules.mk b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/rules.mk similarity index 100% rename from keyboards/lets_split_eh/keymaps/bbaserdem/rules.mk rename to keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/rules.mk diff --git a/keyboards/lets_split_eh/keymaps/default/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/default/keymap.c similarity index 100% rename from keyboards/lets_split_eh/keymaps/default/keymap.c rename to keyboards/maple_computing/lets_split_eh/keymaps/default/keymap.c diff --git a/keyboards/lets_split_eh/keymaps/doxish_dvorak/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h similarity index 100% rename from keyboards/lets_split_eh/keymaps/doxish_dvorak/config.h rename to keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h diff --git a/keyboards/lets_split_eh/keymaps/doxish_dvorak/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c similarity index 100% rename from keyboards/lets_split_eh/keymaps/doxish_dvorak/keymap.c rename to keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c diff --git a/keyboards/lets_split_eh/keymaps/doxish_dvorak/rules.mk b/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/rules.mk similarity index 100% rename from keyboards/lets_split_eh/keymaps/doxish_dvorak/rules.mk rename to keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/rules.mk diff --git a/keyboards/lets_split_eh/keymaps/mikethetiger/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/config.h similarity index 100% rename from keyboards/lets_split_eh/keymaps/mikethetiger/config.h rename to keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/config.h diff --git a/keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/keymap.c similarity index 100% rename from keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c rename to keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/keymap.c diff --git a/keyboards/lets_split_eh/keymaps/mikethetiger/rules.mk b/keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/rules.mk similarity index 100% rename from keyboards/lets_split_eh/keymaps/mikethetiger/rules.mk rename to keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/rules.mk diff --git a/keyboards/lets_split_eh/keymaps/msiu/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/msiu/config.h similarity index 100% rename from keyboards/lets_split_eh/keymaps/msiu/config.h rename to keyboards/maple_computing/lets_split_eh/keymaps/msiu/config.h diff --git a/keyboards/lets_split_eh/keymaps/msiu/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/msiu/keymap.c similarity index 100% rename from keyboards/lets_split_eh/keymaps/msiu/keymap.c rename to keyboards/maple_computing/lets_split_eh/keymaps/msiu/keymap.c diff --git a/keyboards/lets_split_eh/keymaps/resfury/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/resfury/config.h similarity index 100% rename from keyboards/lets_split_eh/keymaps/resfury/config.h rename to keyboards/maple_computing/lets_split_eh/keymaps/resfury/config.h diff --git a/keyboards/lets_split_eh/keymaps/resfury/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c similarity index 100% rename from keyboards/lets_split_eh/keymaps/resfury/keymap.c rename to keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c diff --git a/keyboards/lets_split_eh/keymaps/resfury/readme.md b/keyboards/maple_computing/lets_split_eh/keymaps/resfury/readme.md similarity index 100% rename from keyboards/lets_split_eh/keymaps/resfury/readme.md rename to keyboards/maple_computing/lets_split_eh/keymaps/resfury/readme.md diff --git a/keyboards/lets_split_eh/keymaps/resfury/rules.mk b/keyboards/maple_computing/lets_split_eh/keymaps/resfury/rules.mk similarity index 100% rename from keyboards/lets_split_eh/keymaps/resfury/rules.mk rename to keyboards/maple_computing/lets_split_eh/keymaps/resfury/rules.mk diff --git a/keyboards/lets_split_eh/keymaps/romus/README.md b/keyboards/maple_computing/lets_split_eh/keymaps/romus/README.md similarity index 100% rename from keyboards/lets_split_eh/keymaps/romus/README.md rename to keyboards/maple_computing/lets_split_eh/keymaps/romus/README.md diff --git a/keyboards/lets_split_eh/keymaps/romus/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c similarity index 100% rename from keyboards/lets_split_eh/keymaps/romus/keymap.c rename to keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c diff --git a/keyboards/lets_split_eh/keymaps/romus/rules.mk b/keyboards/maple_computing/lets_split_eh/keymaps/romus/rules.mk similarity index 100% rename from keyboards/lets_split_eh/keymaps/romus/rules.mk rename to keyboards/maple_computing/lets_split_eh/keymaps/romus/rules.mk diff --git a/keyboards/lets_split_eh/keymaps/that_canadian/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/config.h similarity index 100% rename from keyboards/lets_split_eh/keymaps/that_canadian/config.h rename to keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/config.h diff --git a/keyboards/lets_split_eh/keymaps/that_canadian/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/keymap.c similarity index 100% rename from keyboards/lets_split_eh/keymaps/that_canadian/keymap.c rename to keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/keymap.c diff --git a/keyboards/lets_split_eh/keymaps/that_canadian/rules.mk b/keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/rules.mk similarity index 100% rename from keyboards/lets_split_eh/keymaps/that_canadian/rules.mk rename to keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/rules.mk diff --git a/keyboards/lets_split_eh/lets_split_eh.c b/keyboards/maple_computing/lets_split_eh/lets_split_eh.c similarity index 100% rename from keyboards/lets_split_eh/lets_split_eh.c rename to keyboards/maple_computing/lets_split_eh/lets_split_eh.c diff --git a/keyboards/lets_split_eh/lets_split_eh.h b/keyboards/maple_computing/lets_split_eh/lets_split_eh.h similarity index 56% rename from keyboards/lets_split_eh/lets_split_eh.h rename to keyboards/maple_computing/lets_split_eh/lets_split_eh.h index aa1f213b2042..aae072e0b695 100644 --- a/keyboards/lets_split_eh/lets_split_eh.h +++ b/keyboards/maple_computing/lets_split_eh/lets_split_eh.h @@ -2,6 +2,6 @@ #include "quantum.h" -#ifdef KEYBOARD_lets_split_eh_eh +#ifdef KEYBOARD_maple_computing_lets_split_eh_eh #include "eh.h" #endif diff --git a/keyboards/lets_split_eh/readme.md b/keyboards/maple_computing/lets_split_eh/readme.md similarity index 85% rename from keyboards/lets_split_eh/readme.md rename to keyboards/maple_computing/lets_split_eh/readme.md index 180cb33d73d0..90ae5393d1c5 100644 --- a/keyboards/lets_split_eh/readme.md +++ b/keyboards/maple_computing/lets_split_eh/readme.md @@ -8,6 +8,6 @@ Keyboard Maintainer: [Christopher Poole (That-Canadian)](https://github.com/That Make example for this keyboard (after setting up your build environment): - make lets_split_eh/eh:default + make maple_computing/lets_split_eh/eh:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/lets_split_eh/rules.mk b/keyboards/maple_computing/lets_split_eh/rules.mk similarity index 92% rename from keyboards/lets_split_eh/rules.mk rename to keyboards/maple_computing/lets_split_eh/rules.mk index 9662dfc60e44..325d4e278cb3 100644 --- a/keyboards/lets_split_eh/rules.mk +++ b/keyboards/maple_computing/lets_split_eh/rules.mk @@ -21,4 +21,4 @@ SPLIT_KEYBOARD = yes LAYOUTS = ortho_4x12 -DEFAULT_FOLDER = lets_split_eh/eh +DEFAULT_FOLDER = maple_computing/lets_split_eh/eh diff --git a/keyboards/minidox/.noci b/keyboards/maple_computing/minidox/.noci similarity index 100% rename from keyboards/minidox/.noci rename to keyboards/maple_computing/minidox/.noci diff --git a/keyboards/minidox/config.h b/keyboards/maple_computing/minidox/config.h similarity index 100% rename from keyboards/minidox/config.h rename to keyboards/maple_computing/minidox/config.h diff --git a/keyboards/minidox/keymaps/alairock/config.h b/keyboards/maple_computing/minidox/keymaps/alairock/config.h similarity index 100% rename from keyboards/minidox/keymaps/alairock/config.h rename to keyboards/maple_computing/minidox/keymaps/alairock/config.h diff --git a/keyboards/minidox/keymaps/alairock/keymap.c b/keyboards/maple_computing/minidox/keymaps/alairock/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/alairock/keymap.c rename to keyboards/maple_computing/minidox/keymaps/alairock/keymap.c diff --git a/keyboards/minidox/keymaps/alairock/rules.mk b/keyboards/maple_computing/minidox/keymaps/alairock/rules.mk similarity index 100% rename from keyboards/minidox/keymaps/alairock/rules.mk rename to keyboards/maple_computing/minidox/keymaps/alairock/rules.mk diff --git a/keyboards/minidox/keymaps/bepo/config.h b/keyboards/maple_computing/minidox/keymaps/bepo/config.h similarity index 100% rename from keyboards/minidox/keymaps/bepo/config.h rename to keyboards/maple_computing/minidox/keymaps/bepo/config.h diff --git a/keyboards/minidox/keymaps/bepo/keymap.c b/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/bepo/keymap.c rename to keyboards/maple_computing/minidox/keymaps/bepo/keymap.c diff --git a/keyboards/minidox/keymaps/bepo/readme.md b/keyboards/maple_computing/minidox/keymaps/bepo/readme.md similarity index 100% rename from keyboards/minidox/keymaps/bepo/readme.md rename to keyboards/maple_computing/minidox/keymaps/bepo/readme.md diff --git a/keyboards/minidox/keymaps/default/keymap.c b/keyboards/maple_computing/minidox/keymaps/default/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/default/keymap.c rename to keyboards/maple_computing/minidox/keymaps/default/keymap.c diff --git a/keyboards/minidox/keymaps/dustypomerleau/README.md b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/README.md similarity index 100% rename from keyboards/minidox/keymaps/dustypomerleau/README.md rename to keyboards/maple_computing/minidox/keymaps/dustypomerleau/README.md diff --git a/keyboards/minidox/keymaps/dustypomerleau/config.h b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h similarity index 100% rename from keyboards/minidox/keymaps/dustypomerleau/config.h rename to keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h diff --git a/keyboards/minidox/keymaps/dustypomerleau/keymap.c b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/dustypomerleau/keymap.c rename to keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c diff --git a/keyboards/minidox/keymaps/dustypomerleau/rules.mk b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/rules.mk similarity index 100% rename from keyboards/minidox/keymaps/dustypomerleau/rules.mk rename to keyboards/maple_computing/minidox/keymaps/dustypomerleau/rules.mk diff --git a/keyboards/minidox/keymaps/haegin/keymap.c b/keyboards/maple_computing/minidox/keymaps/haegin/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/haegin/keymap.c rename to keyboards/maple_computing/minidox/keymaps/haegin/keymap.c diff --git a/keyboards/minidox/keymaps/khitsule/config.h b/keyboards/maple_computing/minidox/keymaps/khitsule/config.h similarity index 100% rename from keyboards/minidox/keymaps/khitsule/config.h rename to keyboards/maple_computing/minidox/keymaps/khitsule/config.h diff --git a/keyboards/minidox/keymaps/khitsule/keymap.c b/keyboards/maple_computing/minidox/keymaps/khitsule/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/khitsule/keymap.c rename to keyboards/maple_computing/minidox/keymaps/khitsule/keymap.c diff --git a/keyboards/minidox/keymaps/khitsule/readme.md b/keyboards/maple_computing/minidox/keymaps/khitsule/readme.md similarity index 100% rename from keyboards/minidox/keymaps/khitsule/readme.md rename to keyboards/maple_computing/minidox/keymaps/khitsule/readme.md diff --git a/keyboards/minidox/keymaps/norman/config.h b/keyboards/maple_computing/minidox/keymaps/norman/config.h similarity index 100% rename from keyboards/minidox/keymaps/norman/config.h rename to keyboards/maple_computing/minidox/keymaps/norman/config.h diff --git a/keyboards/minidox/keymaps/norman/keymap.c b/keyboards/maple_computing/minidox/keymaps/norman/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/norman/keymap.c rename to keyboards/maple_computing/minidox/keymaps/norman/keymap.c diff --git a/keyboards/minidox/keymaps/norman/readme.md b/keyboards/maple_computing/minidox/keymaps/norman/readme.md similarity index 100% rename from keyboards/minidox/keymaps/norman/readme.md rename to keyboards/maple_computing/minidox/keymaps/norman/readme.md diff --git a/keyboards/minidox/keymaps/rsthd_combos/config.h b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/config.h similarity index 100% rename from keyboards/minidox/keymaps/rsthd_combos/config.h rename to keyboards/maple_computing/minidox/keymaps/rsthd_combos/config.h diff --git a/keyboards/minidox/keymaps/rsthd_combos/keymap.c b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/rsthd_combos/keymap.c rename to keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c diff --git a/keyboards/minidox/keymaps/rsthd_combos/readme.md b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/readme.md similarity index 100% rename from keyboards/minidox/keymaps/rsthd_combos/readme.md rename to keyboards/maple_computing/minidox/keymaps/rsthd_combos/readme.md diff --git a/keyboards/minidox/keymaps/rsthd_combos/rules.mk b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/rules.mk similarity index 100% rename from keyboards/minidox/keymaps/rsthd_combos/rules.mk rename to keyboards/maple_computing/minidox/keymaps/rsthd_combos/rules.mk diff --git a/keyboards/minidox/keymaps/that_canadian/config.h b/keyboards/maple_computing/minidox/keymaps/that_canadian/config.h similarity index 100% rename from keyboards/minidox/keymaps/that_canadian/config.h rename to keyboards/maple_computing/minidox/keymaps/that_canadian/config.h diff --git a/keyboards/minidox/keymaps/that_canadian/keymap.c b/keyboards/maple_computing/minidox/keymaps/that_canadian/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/that_canadian/keymap.c rename to keyboards/maple_computing/minidox/keymaps/that_canadian/keymap.c diff --git a/keyboards/minidox/keymaps/that_canadian/rules.mk b/keyboards/maple_computing/minidox/keymaps/that_canadian/rules.mk similarity index 100% rename from keyboards/minidox/keymaps/that_canadian/rules.mk rename to keyboards/maple_computing/minidox/keymaps/that_canadian/rules.mk diff --git a/keyboards/minidox/keymaps/tomb0y/README.md b/keyboards/maple_computing/minidox/keymaps/tomb0y/README.md similarity index 100% rename from keyboards/minidox/keymaps/tomb0y/README.md rename to keyboards/maple_computing/minidox/keymaps/tomb0y/README.md diff --git a/keyboards/minidox/keymaps/tomb0y/keymap.c b/keyboards/maple_computing/minidox/keymaps/tomb0y/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/tomb0y/keymap.c rename to keyboards/maple_computing/minidox/keymaps/tomb0y/keymap.c diff --git a/keyboards/minidox/keymaps/tw1t611/keymap.c b/keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/tw1t611/keymap.c rename to keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c diff --git a/keyboards/minidox/keymaps/tw1t611/readme.md b/keyboards/maple_computing/minidox/keymaps/tw1t611/readme.md similarity index 100% rename from keyboards/minidox/keymaps/tw1t611/readme.md rename to keyboards/maple_computing/minidox/keymaps/tw1t611/readme.md diff --git a/keyboards/minidox/keymaps/tw1t611/rules.mk b/keyboards/maple_computing/minidox/keymaps/tw1t611/rules.mk similarity index 100% rename from keyboards/minidox/keymaps/tw1t611/rules.mk rename to keyboards/maple_computing/minidox/keymaps/tw1t611/rules.mk diff --git a/keyboards/minidox/keymaps/xyverz/config.h b/keyboards/maple_computing/minidox/keymaps/xyverz/config.h similarity index 100% rename from keyboards/minidox/keymaps/xyverz/config.h rename to keyboards/maple_computing/minidox/keymaps/xyverz/config.h diff --git a/keyboards/minidox/keymaps/xyverz/keymap.c b/keyboards/maple_computing/minidox/keymaps/xyverz/keymap.c similarity index 100% rename from keyboards/minidox/keymaps/xyverz/keymap.c rename to keyboards/maple_computing/minidox/keymaps/xyverz/keymap.c diff --git a/keyboards/minidox/keymaps/xyverz/rules.mk b/keyboards/maple_computing/minidox/keymaps/xyverz/rules.mk similarity index 100% rename from keyboards/minidox/keymaps/xyverz/rules.mk rename to keyboards/maple_computing/minidox/keymaps/xyverz/rules.mk diff --git a/keyboards/minidox/minidox.c b/keyboards/maple_computing/minidox/minidox.c similarity index 100% rename from keyboards/minidox/minidox.c rename to keyboards/maple_computing/minidox/minidox.c diff --git a/keyboards/minidox/minidox.h b/keyboards/maple_computing/minidox/minidox.h similarity index 59% rename from keyboards/minidox/minidox.h rename to keyboards/maple_computing/minidox/minidox.h index 5d5ca9f5019e..bae36b55606b 100644 --- a/keyboards/minidox/minidox.h +++ b/keyboards/maple_computing/minidox/minidox.h @@ -1,6 +1,6 @@ #pragma once -#ifdef KEYBOARD_minidox_rev1 +#ifdef KEYBOARD_maple_computing_minidox_rev1 #include "rev1.h" #endif diff --git a/keyboards/minidox/readme.md b/keyboards/maple_computing/minidox/readme.md similarity index 92% rename from keyboards/minidox/readme.md rename to keyboards/maple_computing/minidox/readme.md index ec52e1f75793..934985348c3c 100644 --- a/keyboards/minidox/readme.md +++ b/keyboards/maple_computing/minidox/readme.md @@ -9,11 +9,11 @@ A compact version of the ErgoDox Make example for this keyboard (after setting up your build environment): - make minidox/rev1:default + make maple_computing/minidox/rev1:default Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): - make minidox/rev1:default:flash + make maple_computing/minidox/rev1:default:flash See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/minidox/rev1/config.h b/keyboards/maple_computing/minidox/rev1/config.h similarity index 100% rename from keyboards/minidox/rev1/config.h rename to keyboards/maple_computing/minidox/rev1/config.h diff --git a/keyboards/minidox/rev1/info.json b/keyboards/maple_computing/minidox/rev1/info.json similarity index 100% rename from keyboards/minidox/rev1/info.json rename to keyboards/maple_computing/minidox/rev1/info.json diff --git a/keyboards/minidox/rev1/rev1.c b/keyboards/maple_computing/minidox/rev1/rev1.c similarity index 100% rename from keyboards/minidox/rev1/rev1.c rename to keyboards/maple_computing/minidox/rev1/rev1.c diff --git a/keyboards/minidox/rev1/rev1.h b/keyboards/maple_computing/minidox/rev1/rev1.h similarity index 100% rename from keyboards/minidox/rev1/rev1.h rename to keyboards/maple_computing/minidox/rev1/rev1.h diff --git a/keyboards/minidox/rev1/rules.mk b/keyboards/maple_computing/minidox/rev1/rules.mk similarity index 100% rename from keyboards/minidox/rev1/rules.mk rename to keyboards/maple_computing/minidox/rev1/rules.mk diff --git a/keyboards/minidox/rules.mk b/keyboards/maple_computing/minidox/rules.mk similarity index 93% rename from keyboards/minidox/rules.mk rename to keyboards/maple_computing/minidox/rules.mk index 69d7bcced467..175ed0f6be99 100644 --- a/keyboards/minidox/rules.mk +++ b/keyboards/maple_computing/minidox/rules.mk @@ -19,4 +19,4 @@ AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = minidox/rev1 +DEFAULT_FOLDER = maple_computing/minidox/rev1 diff --git a/keyboards/the_ruler/config.h b/keyboards/maple_computing/the_ruler/config.h similarity index 100% rename from keyboards/the_ruler/config.h rename to keyboards/maple_computing/the_ruler/config.h diff --git a/keyboards/the_ruler/info.json b/keyboards/maple_computing/the_ruler/info.json similarity index 100% rename from keyboards/the_ruler/info.json rename to keyboards/maple_computing/the_ruler/info.json diff --git a/keyboards/the_ruler/keymaps/default/keymap.c b/keyboards/maple_computing/the_ruler/keymaps/default/keymap.c similarity index 100% rename from keyboards/the_ruler/keymaps/default/keymap.c rename to keyboards/maple_computing/the_ruler/keymaps/default/keymap.c diff --git a/keyboards/the_ruler/keymaps/default/readme.md b/keyboards/maple_computing/the_ruler/keymaps/default/readme.md similarity index 100% rename from keyboards/the_ruler/keymaps/default/readme.md rename to keyboards/maple_computing/the_ruler/keymaps/default/readme.md diff --git a/keyboards/the_ruler/readme.md b/keyboards/maple_computing/the_ruler/readme.md similarity index 93% rename from keyboards/the_ruler/readme.md rename to keyboards/maple_computing/the_ruler/readme.md index 13ea61c9a7e5..ff958db0294b 100644 --- a/keyboards/the_ruler/readme.md +++ b/keyboards/maple_computing/the_ruler/readme.md @@ -8,6 +8,6 @@ Hardware Availability: [Bishop Keyboards](https://bishopkeyboards.com/product/pc Make example for this keyboard (after setting up your build environment): - make the_ruler:default + make maple_computing/the_ruler:default 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/the_ruler/rules.mk b/keyboards/maple_computing/the_ruler/rules.mk similarity index 100% rename from keyboards/the_ruler/rules.mk rename to keyboards/maple_computing/the_ruler/rules.mk diff --git a/keyboards/the_ruler/the_ruler.c b/keyboards/maple_computing/the_ruler/the_ruler.c similarity index 100% rename from keyboards/the_ruler/the_ruler.c rename to keyboards/maple_computing/the_ruler/the_ruler.c diff --git a/keyboards/the_ruler/the_ruler.h b/keyboards/maple_computing/the_ruler/the_ruler.h similarity index 100% rename from keyboards/the_ruler/the_ruler.h rename to keyboards/maple_computing/the_ruler/the_ruler.h From d1cf218b9dad0d35413349e7b78ff21612958579 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 30 Jan 2022 13:29:43 -0800 Subject: [PATCH 0136/1832] [Keyboard] Overhaul Tractyl Manuform (#16134) --- .../tractyl_manuform/5x6_right/config.h | 1 - .../tractyl_manuform/5x6_right/f411/config.h | 3 +- .../5x6_right/keymaps/drashna/keymap.c | 4 +- keyboards/handwired/tractyl_manuform/config.h | 2 - .../tractyl_manuform/tractyl_manuform.c | 419 +++++++++++++----- .../tractyl_manuform/tractyl_manuform.h | 118 +++-- users/drashna/oled/oled_stuff.c | 2 +- users/drashna/pointing/pointing.c | 4 +- 8 files changed, 417 insertions(+), 136 deletions(-) diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h index 59cd098fdb33..b4f09e5e87f7 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h @@ -50,5 +50,4 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -#define POINTING_DEVICE_TASK_THROTTLE #define POINTING_DEVICE_RIGHT diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index 6ae51ca6f034..87c323905717 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h @@ -79,7 +79,8 @@ along with this program. If not, see . #define I2C1_SDA_PIN B9 #define I2C1_SCL_PAL_MODE 4 #define I2C1_SDA_PAL_MODE 4 -// #define I2C1_CLOCK_SPEED 400000 +#define I2C1_CLOCK_SPEED 400000 +#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 /* encoder config */ #define ENCODERS_PAD_A \ diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c index fa1e8897eee2..570760cf6621 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c @@ -61,8 +61,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MOUSE] = LAYOUT_5x6_right( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, DPI_CONFIG, + _______, _______, _______, _______, _______, _______, KC_WH_U, DPI_MOD, DPI_RMOD,S_D_MOD, S_D_RMOD,DRGSCRL, + _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING, _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN3, diff --git a/keyboards/handwired/tractyl_manuform/config.h b/keyboards/handwired/tractyl_manuform/config.h index 15c8102b8fcd..f9160ea148cb 100644 --- a/keyboards/handwired/tractyl_manuform/config.h +++ b/keyboards/handwired/tractyl_manuform/config.h @@ -24,8 +24,6 @@ along with this program. If not, see . #define VENDOR_ID 0x44DD #define MANUFACTURER Drashna -#define USB_POLLING_INTERVAL_MS 1 - /* disable debug print */ // #define NO_DEBUG diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c index 5bdc57ca0902..033146134d65 100644 --- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c @@ -18,135 +18,345 @@ #include "transactions.h" #include -#ifndef TRACKBALL_DPI_OPTIONS -# define TRACKBALL_DPI_OPTIONS \ - { 1200, 1600, 2400 } -# ifndef TRACKBALL_DPI_DEFAULT -# define TRACKBALL_DPI_DEFAULT 1 -# endif -#endif -#ifndef TRACKBALL_DPI_DEFAULT -# define TRACKBALL_DPI_DEFAULT 0 -#endif - -keyboard_config_t keyboard_config; -kb_config_data_t kb_config_data; -uint16_t dpi_array[] = TRACKBALL_DPI_OPTIONS; -#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t)) - -bool process_record_kb(uint16_t keycode, keyrecord_t* record) { - if (!process_record_user(keycode, record)) { - return false; - } +#ifdef CONSOLE_ENABLE +# include "print.h" +#endif // CONSOLE_ENABLE #ifdef POINTING_DEVICE_ENABLE - if (keycode == DPI_CONFIG && record->event.pressed) { - if ((get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT) { - keyboard_config.dpi_config = (keyboard_config.dpi_config - 1) % DPI_OPTION_SIZE; - } else { - keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; - } - eeconfig_update_kb(keyboard_config.raw); - kb_config_data.device_cpi = dpi_array[keyboard_config.dpi_config]; - pointing_device_set_cpi(kb_config_data.device_cpi); - } -#endif +# ifndef CHARYBDIS_MINIMUM_DEFAULT_DPI +# define CHARYBDIS_MINIMUM_DEFAULT_DPI 400 +# endif // CHARYBDIS_MINIMUM_DEFAULT_DPI + +# ifndef CHARYBDIS_DEFAULT_DPI_CONFIG_STEP +# define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 200 +# endif // CHARYBDIS_DEFAULT_DPI_CONFIG_STEP + +# ifndef CHARYBDIS_MINIMUM_SNIPING_DPI +# define CHARYBDIS_MINIMUM_SNIPING_DPI 200 +# endif // CHARYBDIS_MINIMUM_SNIPER_MODE_DPI + +# ifndef CHARYBDIS_SNIPING_DPI_CONFIG_STEP +# define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100 +# endif // CHARYBDIS_SNIPING_DPI_CONFIG_STEP + +// Fixed DPI for drag-scroll. +# ifndef CHARYBDIS_DRAGSCROLL_DPI +# define CHARYBDIS_DRAGSCROLL_DPI 100 +# endif // CHARYBDIS_DRAGSCROLL_DPI + +# ifndef CHARYBDIS_DRAGSCROLL_BUFFER_SIZE +# define CHARYBDIS_DRAGSCROLL_BUFFER_SIZE 6 +# endif // !CHARYBDIS_DRAGSCROLL_BUFFER_SIZE + +# ifndef CHARYBDIS_POINTER_ACCELERATION_FACTOR +# define CHARYBDIS_POINTER_ACCELERATION_FACTOR 24 +# endif // !CHARYBDIS_POINTER_ACCELERATION_FACTOR + +typedef union { + uint8_t raw; + struct { + uint8_t pointer_default_dpi : 4; // 16 steps available. + uint8_t pointer_sniping_dpi : 2; // 4 steps available. + bool is_dragscroll_enabled : 1; + bool is_sniping_enabled : 1; + } __attribute__((packed)); +} charybdis_config_t; -/* If Mousekeys is disabled, then use handle the mouse button - * keycodes. This makes things simpler, and allows usage of - * the keycodes in a consistent manner. But only do this if - * Mousekeys is not enable, so it's not handled twice. +static charybdis_config_t g_charybdis_config = {0}; + +/** + * \brief Set the value of `config` from EEPROM. + * + * Note that `is_dragscroll_enabled` and `is_sniping_enabled` are purposefully + * ignored since we do not want to persist this state to memory. In practice, + * this state is always written to maximize write-performances. Therefore, we + * explicitly set them to `false` in this function. */ -#ifndef MOUSEKEY_ENABLE - if (IS_MOUSEKEY_BUTTON(keycode)) { - report_mouse_t currentReport = pointing_device_get_report(); - currentReport.buttons = pointing_device_handle_buttons(currentReport.buttons, record->event.pressed, keycode - KC_MS_BTN1); - pointing_device_set_report(currentReport); - pointing_device_send(); +static void read_charybdis_config_from_eeprom(charybdis_config_t* config) { + config->raw = eeconfig_read_kb() & 0xff; + config->is_dragscroll_enabled = false; + config->is_sniping_enabled = false; +} + +/** + * \brief Save the value of `config` to eeprom. + * + * Note that all values are written verbatim, including whether drag-scroll + * and/or sniper mode are enabled. `read_charybdis_config_from_eeprom(…)` + * resets these 2 values to `false` since it does not make sense to persist + * these across reboots of the board. + */ +static void write_charybdis_config_to_eeprom(charybdis_config_t* config) { eeconfig_update_kb(config->raw); } + +/** \brief Return the current value of the pointer's default DPI. */ +static uint16_t get_pointer_default_dpi(charybdis_config_t* config) { return (uint16_t)config->pointer_default_dpi * CHARYBDIS_DEFAULT_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_DEFAULT_DPI; } + +/** \brief Return the current value of the pointer's sniper-mode DPI. */ +static uint16_t get_pointer_sniping_dpi(charybdis_config_t* config) { return (uint16_t)config->pointer_sniping_dpi * CHARYBDIS_SNIPING_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_SNIPING_DPI; } + +/** \brief Set the appropriate DPI for the input config. */ +static void maybe_update_pointing_device_cpi(charybdis_config_t* config) { + if (config->is_dragscroll_enabled) { + pointing_device_set_cpi(CHARYBDIS_DRAGSCROLL_DPI); + } else if (config->is_sniping_enabled) { + pointing_device_set_cpi(get_pointer_sniping_dpi(config)); + } else { + pointing_device_set_cpi(get_pointer_default_dpi(config)); } -#endif +} - return true; +/** + * \brief Update the pointer's default DPI to the next or previous step. + * + * Increases the DPI value if `forward` is `true`, decreases it otherwise. + * The increment/decrement steps are equal to CHARYBDIS_DEFAULT_DPI_CONFIG_STEP. + */ +static void step_pointer_default_dpi(charybdis_config_t* config, bool forward) { + config->pointer_default_dpi += forward ? 1 : -1; + maybe_update_pointing_device_cpi(config); } -__attribute__((weak)) void keyboard_pre_init_sub(void) {} -void keyboard_pre_init_kb(void) { - // debug_enable = true; - // debug_matrix = true; - // debug_mouse = true; - // debug_encoder = true; - // This is the debug LED. -#if defined(DEBUG_LED_PIN) - setPinOutput(DEBUG_LED_PIN); - writePin(DEBUG_LED_PIN, !debug_enable); -#endif +/** + * \brief Update the pointer's sniper-mode DPI to the next or previous step. + * + * Increases the DPI value if `forward` is `true`, decreases it otherwise. + * The increment/decrement steps are equal to CHARYBDIS_SNIPING_DPI_CONFIG_STEP. + */ +static void step_pointer_sniping_dpi(charybdis_config_t* config, bool forward) { + config->pointer_sniping_dpi += forward ? 1 : -1; + maybe_update_pointing_device_cpi(config); +} + +uint16_t charybdis_get_pointer_default_dpi(void) { return get_pointer_default_dpi(&g_charybdis_config); } + +uint16_t charybdis_get_pointer_sniping_dpi(void) { return get_pointer_sniping_dpi(&g_charybdis_config); } - memset(&kb_config_data, 0, sizeof(kb_config_data)); +void charybdis_cycle_pointer_default_dpi_noeeprom(bool forward) { step_pointer_default_dpi(&g_charybdis_config, forward); } - keyboard_pre_init_sub(); - keyboard_pre_init_user(); +void charybdis_cycle_pointer_default_dpi(bool forward) { + step_pointer_default_dpi(&g_charybdis_config, forward); + write_charybdis_config_to_eeprom(&g_charybdis_config); } -void keyboard_post_init_kb(void) { - transaction_register_rpc(RPC_ID_KB_CONFIG_SYNC, kb_config_sync_handler); +void charybdis_cycle_pointer_sniping_dpi_noeeprom(bool forward) { step_pointer_sniping_dpi(&g_charybdis_config, forward); } - keyboard_post_init_user(); +void charybdis_cycle_pointer_sniping_dpi(bool forward) { + step_pointer_sniping_dpi(&g_charybdis_config, forward); + write_charybdis_config_to_eeprom(&g_charybdis_config); } -#ifdef POINTING_DEVICE_ENABLE -void pointing_device_init_kb(void) { - kb_config_data.device_cpi = dpi_array[keyboard_config.dpi_config]; - pointing_device_set_cpi(kb_config_data.device_cpi); - pointing_device_init_user(); +bool charybdis_get_pointer_sniping_enabled(void) { return g_charybdis_config.is_sniping_enabled; } + +void charybdis_set_pointer_sniping_enabled(bool enable) { + g_charybdis_config.is_sniping_enabled = enable; + maybe_update_pointing_device_cpi(&g_charybdis_config); } -report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { - if (is_keyboard_master()) { - mouse_report = pointing_device_task_user(mouse_report); +bool charybdis_get_pointer_dragscroll_enabled(void) { return g_charybdis_config.is_dragscroll_enabled; } + +void charybdis_set_pointer_dragscroll_enabled(bool enable) { + g_charybdis_config.is_dragscroll_enabled = enable; + maybe_update_pointing_device_cpi(&g_charybdis_config); +} + +void pointing_device_init_kb(void) { maybe_update_pointing_device_cpi(&g_charybdis_config); } + +# ifndef CONSTRAIN_HID +# define CONSTRAIN_HID(value) ((value) < -127 ? -127 : ((value) > 127 ? 127 : (value))) +# endif // !CONSTRAIN_HID + +/** + * \brief Add optional acceleration effect. + * + * If `CHARYBDIS_ENABLE_POINTER_ACCELERATION` is defined, add a simple and naive + * acceleration effect to the provided value. Return the value unchanged + * otherwise. + */ +# ifndef DISPLACEMENT_WITH_ACCELERATION +# ifdef CHARYBDIS_POINTER_ACCELERATION_ENABLE +# define DISPLACEMENT_WITH_ACCELERATION(d) (CONSTRAIN_HID(d > 0 ? d * d / CHARYBDIS_POINTER_ACCELERATION_FACTOR + d : -d * d / CHARYBDIS_POINTER_ACCELERATION_FACTOR + d)) +# else // !CHARYBDIS_POINTER_ACCELERATION_ENABLE +# define DISPLACEMENT_WITH_ACCELERATION(d) (d) +# endif // CHARYBDIS_POINTER_ACCELERATION_ENABLE +# endif // !DISPLACEMENT_WITH_ACCELERATION + +/** + * \brief Augment the pointing device behavior. + * + * Implement the Charybdis-specific features for pointing devices: + * - Drag-scroll + * - Sniping + * - Acceleration + */ +static void pointing_device_task_charybdis(report_mouse_t* mouse_report) { + static int16_t scroll_buffer_x = 0; + static int16_t scroll_buffer_y = 0; + if (g_charybdis_config.is_dragscroll_enabled) { +# ifdef CHARYBDIS_DRAGSCROLL_REVERSE_X + scroll_buffer_x -= mouse_report->x; +# else + scroll_buffer_x += mouse_report->x; +# endif // CHARYBDIS_DRAGSCROLL_REVERSE_X +# ifdef CHARYBDIS_DRAGSCROLL_REVERSE_Y + scroll_buffer_y -= mouse_report->y; +# else + scroll_buffer_y += mouse_report->y; +# endif // CHARYBDIS_DRAGSCROLL_REVERSE_Y + mouse_report->x = 0; + mouse_report->y = 0; + if (abs(scroll_buffer_x) > CHARYBDIS_DRAGSCROLL_BUFFER_SIZE) { + mouse_report->h = scroll_buffer_x > 0 ? 1 : -1; + scroll_buffer_x = 0; + } + if (abs(scroll_buffer_y) > CHARYBDIS_DRAGSCROLL_BUFFER_SIZE) { + mouse_report->v = scroll_buffer_y > 0 ? 1 : -1; + scroll_buffer_y = 0; + } + } else if (!g_charybdis_config.is_sniping_enabled) { + mouse_report->x = DISPLACEMENT_WITH_ACCELERATION(mouse_report->x); + mouse_report->y = DISPLACEMENT_WITH_ACCELERATION(mouse_report->y); } +} + +report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { + pointing_device_task_charybdis(&mouse_report); + mouse_report = pointing_device_task_user(mouse_report); + return mouse_report; } -#endif + +# if defined(POINTING_DEVICE_ENABLE) && !defined(NO_CHARYBDIS_KEYCODES) +/** \brief Whether SHIFT mod is enabled. */ +static bool has_shift_mod(void) { +# ifdef NO_ACTION_ONESHOT + return mod_config(get_mods()) & MOD_MASK_SHIFT; +# else + return mod_config(get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT; +# endif // NO_ACTION_ONESHOT +} +# endif // POINTING_DEVICE_ENABLE && !NO_CHARYBDIS_KEYCODES + +/** + * \brief Outputs the Charybdis configuration to console. + * + * Prints the in-memory configuration structure to console, for debugging. + * Includes: + * - raw value + * - drag-scroll: on/off + * - sniping: on/off + * - default DPI: internal table index/actual DPI + * - sniping DPI: internal table index/actual DPI + */ +static void debug_charybdis_config_to_console(charybdis_config_t* config) { +# ifdef CONSOLE_ENABLE + dprintf("(charybdis) process_record_kb: config = {\n" + "\traw = 0x%04X,\n" + "\t{\n" + "\t\tis_dragscroll_enabled=%b\n" + "\t\tis_sniping_enabled=%b\n" + "\t\tdefault_dpi=0x%02X (%ld)\n" + "\t\tsniping_dpi=0x%01X (%ld)\n" + "\t}\n" + "}\n", + config->raw, config->is_dragscroll_enabled, config->is_sniping_enabled, config->pointer_default_dpi, get_pointer_default_dpi(config), config->pointer_sniping_dpi, get_pointer_sniping_dpi(config)); +# endif // CONSOLE_ENABLE +} + +bool process_record_kb(uint16_t keycode, keyrecord_t* record) { + if (!process_record_user(keycode, record)) { + debug_charybdis_config_to_console(&g_charybdis_config); + return false; + } +# ifndef NO_CHARYBDIS_KEYCODES + switch (keycode) { + case POINTER_DEFAULT_DPI_FORWARD: + if (record->event.pressed) { + // Step backward if shifted, forward otherwise. + charybdis_cycle_pointer_default_dpi(/* forward= */ !has_shift_mod()); + } + break; + case POINTER_DEFAULT_DPI_REVERSE: + if (record->event.pressed) { + // Step forward if shifted, backward otherwise. + charybdis_cycle_pointer_default_dpi(/* forward= */ has_shift_mod()); + } + break; + case POINTER_SNIPING_DPI_FORWARD: + if (record->event.pressed) { + // Step backward if shifted, forward otherwise. + charybdis_cycle_pointer_sniping_dpi(/* forward= */ !has_shift_mod()); + } + break; + case POINTER_SNIPING_DPI_REVERSE: + if (record->event.pressed) { + // Step forward if shifted, backward otherwise. + charybdis_cycle_pointer_sniping_dpi(/* forward= */ has_shift_mod()); + } + break; + case SNIPING_MODE: + charybdis_set_pointer_sniping_enabled(record->event.pressed); + break; + case SNIPING_MODE_TOGGLE: + if (record->event.pressed) { + charybdis_set_pointer_sniping_enabled(!charybdis_get_pointer_sniping_enabled()); + } + break; + case DRAGSCROLL_MODE: + charybdis_set_pointer_dragscroll_enabled(record->event.pressed); + break; + case DRAGSCROLL_MODE_TOGGLE: + if (record->event.pressed) { + charybdis_set_pointer_dragscroll_enabled(!charybdis_get_pointer_dragscroll_enabled()); + } + break; + } +# endif // !NO_CHARYBDIS_KEYCODES +# ifndef MOUSEKEY_ENABLE + // Simulate mouse keys if full support is not enabled (reduces firmware size + // while maintaining support for mouse keys). + if (IS_MOUSEKEY_BUTTON(keycode)) { + report_mouse_t mouse_report = pointing_device_get_report(); + mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, record->event.pressed, keycode - KC_MS_BTN1); + pointing_device_set_report(mouse_report); + pointing_device_send(); + } +# endif // !MOUSEKEY_ENABLE + debug_charybdis_config_to_console(&g_charybdis_config); + return true; +} void eeconfig_init_kb(void) { - keyboard_config.dpi_config = TRACKBALL_DPI_DEFAULT; -#ifdef POINTING_DEVICE_ENABLE - kb_config_data.device_cpi = dpi_array[keyboard_config.dpi_config]; - pointing_device_set_cpi(kb_config_data.device_cpi); -#endif - eeconfig_update_kb(keyboard_config.raw); + g_charybdis_config.raw = 0; + write_charybdis_config_to_eeprom(&g_charybdis_config); + maybe_update_pointing_device_cpi(&g_charybdis_config); eeconfig_init_user(); } -__attribute__((weak)) void matrix_init_sub_kb(void) {} -void matrix_init_kb(void) { - // is safe to just read DPI setting since matrix init - // comes before pointing device init. - keyboard_config.raw = eeconfig_read_kb(); - if (keyboard_config.dpi_config > DPI_OPTION_SIZE) { - eeconfig_init_kb(); +void matrix_power_up(void) { pointing_device_task(); } + +void charybdis_config_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { + if (initiator2target_buffer_size == sizeof(g_charybdis_config)) { + memcpy(&g_charybdis_config, initiator2target_buffer, sizeof(g_charybdis_config)); } - matrix_init_sub_kb(); - matrix_init_user(); } -__attribute__((weak)) void matrix_scan_sub_kb(void) {} -void matrix_scan_kb(void) { - matrix_scan_sub_kb(); - matrix_scan_user(); +void keyboard_post_init_kb(void) { + transaction_register_rpc(RPC_ID_KB_CONFIG_SYNC, charybdis_config_sync_handler); + + keyboard_post_init_user(); } void housekeeping_task_kb(void) { if (is_keyboard_master()) { // Keep track of the last state, so that we can tell if we need to propagate to slave - static kb_config_data_t last_kb_config; - static uint32_t last_sync = 0; - bool needs_sync = false; + static charybdis_config_t last_charybdis_config = {0}; + static uint32_t last_sync = 0; + bool needs_sync = false; // Check if the state values are different - if (memcmp(&kb_config_data, &last_kb_config, sizeof(kb_config_data))) { + if (memcmp(&g_charybdis_config, &last_charybdis_config, sizeof(g_charybdis_config))) { needs_sync = true; - memcpy(&last_kb_config, &kb_config_data, sizeof(kb_config_data)); + memcpy(&last_charybdis_config, &g_charybdis_config, sizeof(g_charybdis_config)); } // Send to slave every 500ms regardless of state change if (timer_elapsed32(last_sync) > 500) { @@ -155,7 +365,7 @@ void housekeeping_task_kb(void) { // Perform the sync if requested if (needs_sync) { - if (transaction_rpc_send(RPC_ID_KB_CONFIG_SYNC, sizeof(kb_config_data), &kb_config_data)) { + if (transaction_rpc_send(RPC_ID_KB_CONFIG_SYNC, sizeof(g_charybdis_config), &g_charybdis_config)) { last_sync = timer_read32(); } } @@ -163,12 +373,19 @@ void housekeeping_task_kb(void) { // no need for user function, is called already } -void kb_config_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { - if (initiator2target_buffer_size == sizeof(kb_config_data)) { - memcpy(&kb_config_data, initiator2target_buffer, sizeof(kb_config_data)); - } -} +#endif // POINTING_DEVICE_ENABLE +__attribute__((weak)) void matrix_init_sub_kb(void) {} +void matrix_init_kb(void) { #ifdef POINTING_DEVICE_ENABLE -void matrix_power_up(void) { pointing_device_task(); } -#endif + read_charybdis_config_from_eeprom(&g_charybdis_config); +#endif // POINTING_DEVICE_ENABLE + matrix_init_sub_kb(); + matrix_init_user(); +} + +__attribute__((weak)) void matrix_scan_sub_kb(void) {} +void matrix_scan_kb(void) { + matrix_scan_sub_kb(); + matrix_scan_user(); +} diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h index 3f8aca4551d9..197aee985e59 100644 --- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h @@ -17,7 +17,6 @@ #pragma once #include "quantum.h" -#include "pointing_device.h" #if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right) # include "5x6_right.h" @@ -25,33 +24,100 @@ # include "4x6_right.h" #endif -typedef union { - uint32_t raw; - struct { - uint8_t dpi_config; - }; -} keyboard_config_t; - -typedef union { - uint32_t raw; - struct { - uint16_t device_cpi; - }; -} kb_config_data_t; - -extern keyboard_config_t keyboard_config; -extern kb_config_data_t kb_config_data; - -enum ploopy_keycodes { - DPI_CONFIG = SAFE_RANGE, +#ifdef POINTING_DEVICE_ENABLE +# ifndef NO_CHARYBDIS_KEYCODES +enum charybdis_keycodes { +# ifdef VIA_ENABLE + POINTER_DEFAULT_DPI_FORWARD = USER00, +# else + POINTER_DEFAULT_DPI_FORWARD = SAFE_RANGE, +# endif // VIA_ENABLE + POINTER_DEFAULT_DPI_REVERSE, + POINTER_SNIPING_DPI_FORWARD, + POINTER_SNIPING_DPI_REVERSE, + SNIPING_MODE, + SNIPING_MODE_TOGGLE, + DRAGSCROLL_MODE, + DRAGSCROLL_MODE_TOGGLE, KEYMAP_SAFE_RANGE, }; +# define CHARYBDIS_SAFE_RANGE KEYMAP_SAFE_RANGE +# define DPI_MOD POINTER_DEFAULT_DPI_FORWARD +# define DPI_RMOD POINTER_DEFAULT_DPI_REVERSE +# define S_D_MOD POINTER_SNIPING_DPI_FORWARD +# define S_D_RMOD POINTER_SNIPING_DPI_REVERSE +# define SNIPING SNIPING_MODE +# define SNP_TOG SNIPING_MODE_TOGGLE +# define DRGSCRL DRAGSCROLL_MODE +# define DRG_TOG DRAGSCROLL_MODE_TOGGLE +# endif // !NO_CHARYBDIS_KEYCODES -void matrix_init_sub_kb(void); -void matrix_scan_sub_kb(void); +/** \brief Return the current DPI value for the pointer's default mode. */ +uint16_t charybdis_get_pointer_default_dpi(void); + +/** + * \brief Update the pointer's default DPI to the next or previous step. + * + * Increases the DPI value if `forward` is `true`, decreases it otherwise. + * The increment/decrement steps are equal to CHARYBDIS_DEFAULT_DPI_CONFIG_STEP. + * + * The new value is persisted in EEPROM. + */ +void charybdis_cycle_pointer_default_dpi(bool forward); + +/** + * \brief Same as `charybdis_cycle_pointer_default_dpi`, but do not write to + * EEPROM. + * + * This means that reseting the board will revert the value to the last + * persisted one. + */ +void charybdis_cycle_pointer_default_dpi_noeeprom(bool forward); + +/** \brief Return the current DPI value for the pointer's sniper-mode. */ +uint16_t charybdis_get_pointer_sniping_dpi(void); + +/** + * \brief Update the pointer's sniper-mode DPI to the next or previous step. + * + * Increases the DPI value if `forward` is `true`, decreases it otherwise. + * The increment/decrement steps are equal to CHARYBDIS_SNIPING_DPI_CONFIG_STEP. + * + * The new value is persisted in EEPROM. + */ +void charybdis_cycle_pointer_sniping_dpi(bool forward); + +/** + * \brief Same as `charybdis_cycle_pointer_sniping_dpi`, but do not write to + * EEPROM. + * + * This means that reseting the board will revert the value to the last + * persisted one. + */ +void charybdis_cycle_pointer_sniping_dpi_noeeprom(bool forward); -void keyboard_pre_init_sync(void); -void keyboard_post_init_sync(void); -void housekeeping_task_sync(void); +/** \brief Whether sniper-mode is enabled. */ +bool charybdis_get_pointer_sniping_enabled(void); + +/** + * \brief Enable/disable sniper mode. + * + * When sniper mode is enabled the dpi is reduced to slow down the pointer for + * more accurate movements. + */ +void charybdis_set_pointer_sniping_enabled(bool enable); -void kb_config_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer); +/** \brief Whether drag-scroll is enabled. */ +bool charybdis_get_pointer_dragscroll_enabled(void); + +/** + * \brief Enable/disable drag-scroll mode. + * + * When drag-scroll mode is enabled, horizontal and vertical pointer movements + * are translated into horizontal and vertical scroll movements. + */ +void charybdis_set_pointer_dragscroll_enabled(bool enable); +#endif // POINTING_DEVICE_ENABLE + +void matrix_init_sub_kb(void); +void matrix_scan_sub_kb(void); diff --git a/users/drashna/oled/oled_stuff.c b/users/drashna/oled/oled_stuff.c index c850c5336f4d..752829e0fa27 100644 --- a/users/drashna/oled/oled_stuff.c +++ b/users/drashna/oled/oled_stuff.c @@ -953,7 +953,7 @@ void oled_driver_render_logo_left(void) { render_matrix_scan_rate(2); # endif oled_set_cursor(7, 2); -# if defined(KEYBOARD_bastardkb_charybdis) +# if defined(KEYBOARD_bastardkb_charybdis) || defined(KEYBOARD_handwired_tractyl_manuform) render_pointing_dpi_status(charybdis_get_pointer_sniping_enabled() ? charybdis_get_pointer_sniping_dpi() : charybdis_get_pointer_default_dpi(), 1); // credit and thanks to jaspertandy on discord for these images diff --git a/users/drashna/pointing/pointing.c b/users/drashna/pointing/pointing.c index 0dcfe73f346b..d0a83e2c2618 100644 --- a/users/drashna/pointing/pointing.c +++ b/users/drashna/pointing/pointing.c @@ -80,9 +80,9 @@ bool process_record_pointing(uint16_t keycode, keyrecord_t* record) { } break; case MO(_MOUSE): -#if defined(KEYBOARD_ploopy) || defined(KEYBOARD_handwired_tractyl_manuform) +#if defined(KEYBOARD_ploopy) case DPI_CONFIG: -#elif defined(KEYBOARD_bastardkb_charybdis) && !defined(NO_CHARYBDIS_KEYCODES) +#elif (defined(KEYBOARD_bastardkb_charybdis) || defined(KEYBOARD_handwired_tractyl_manuform)) && !defined(NO_CHARYBDIS_KEYCODES) case SAFE_RANGE ... (CHARYBDIS_SAFE_RANGE-1): #endif case KC_MS_UP ... KC_MS_WH_RIGHT: From 9af9af73f434bba966cbd15fc8a65c7297e90f6a Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 31 Jan 2022 08:48:05 +1100 Subject: [PATCH 0137/1832] Fix up default folder locations. (#16135) --- keyboards/25keys/aleth42/rules.mk | 2 +- keyboards/maple_computing/ivy/rules.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/25keys/aleth42/rules.mk b/keyboards/25keys/aleth42/rules.mk index 8d130979b880..8034ad544072 100644 --- a/keyboards/25keys/aleth42/rules.mk +++ b/keyboards/25keys/aleth42/rules.mk @@ -1 +1 @@ -DEFAULT_FOLDER = aleth42/rev1 +DEFAULT_FOLDER = 25keys/aleth42/rev1 diff --git a/keyboards/maple_computing/ivy/rules.mk b/keyboards/maple_computing/ivy/rules.mk index 66812904cde6..c076565dfc09 100644 --- a/keyboards/maple_computing/ivy/rules.mk +++ b/keyboards/maple_computing/ivy/rules.mk @@ -17,4 +17,4 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -DEFAULT_FOLDER = ivy/rev1 +DEFAULT_FOLDER = maple_computing/ivy/rev1 From 2e052b87c45ce068cafd78d44f709f7a036d6ccb Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 03:42:53 +0800 Subject: [PATCH 0138/1832] [Keyboard] move unikeyboard boards to /unikeyboard (#16081) --- keyboards/{ => unikeyboard}/diverge3/config.h | 0 keyboards/{ => unikeyboard}/diverge3/diverge3.c | 0 keyboards/{ => unikeyboard}/diverge3/diverge3.h | 0 keyboards/{ => unikeyboard}/diverge3/info.json | 0 .../{ => unikeyboard}/diverge3/keymaps/default/config.h | 0 .../{ => unikeyboard}/diverge3/keymaps/default/keymap.c | 0 .../{ => unikeyboard}/diverge3/keymaps/default/readme.md | 0 .../{ => unikeyboard}/diverge3/keymaps/default/rules.mk | 0 .../{ => unikeyboard}/diverge3/keymaps/iso_uk/config.h | 0 .../{ => unikeyboard}/diverge3/keymaps/iso_uk/keymap.c | 0 .../{ => unikeyboard}/diverge3/keymaps/iso_uk/readme.md | 0 .../{ => unikeyboard}/diverge3/keymaps/iso_uk/rules.mk | 0 .../{ => unikeyboard}/diverge3/keymaps/workman/config.h | 0 .../{ => unikeyboard}/diverge3/keymaps/workman/keymap.c | 0 .../{ => unikeyboard}/diverge3/keymaps/workman/readme.md | 0 .../{ => unikeyboard}/diverge3/keymaps/workman/rules.mk | 0 keyboards/{ => unikeyboard}/diverge3/readme.md | 6 +++--- keyboards/{ => unikeyboard}/diverge3/rules.mk | 0 keyboards/{ => unikeyboard}/divergetm2/config.h | 0 keyboards/{ => unikeyboard}/divergetm2/divergetm2.c | 0 keyboards/{ => unikeyboard}/divergetm2/divergetm2.h | 0 keyboards/{ => unikeyboard}/divergetm2/info.json | 0 .../{ => unikeyboard}/divergetm2/keymaps/default/config.h | 0 .../{ => unikeyboard}/divergetm2/keymaps/default/keymap.c | 0 .../{ => unikeyboard}/divergetm2/keymaps/default/readme.md | 0 .../divergetm2/keymaps/xtonhasvim/config.h | 0 .../divergetm2/keymaps/xtonhasvim/keymap.c | 0 .../divergetm2/keymaps/xtonhasvim/readme.md | 0 .../divergetm2/keymaps/xtonhasvim/rules.mk | 0 keyboards/{ => unikeyboard}/divergetm2/readme.md | 2 +- keyboards/{ => unikeyboard}/divergetm2/rules.mk | 0 keyboards/{ => unikeyboard}/felix/config.h | 0 keyboards/{ => unikeyboard}/felix/felix.c | 0 keyboards/{ => unikeyboard}/felix/felix.h | 0 keyboards/{ => unikeyboard}/felix/info.json | 0 keyboards/{ => unikeyboard}/felix/keymaps/default/keymap.c | 0 keyboards/{ => unikeyboard}/felix/readme.md | 2 +- keyboards/{ => unikeyboard}/felix/rules.mk | 0 38 files changed, 5 insertions(+), 5 deletions(-) rename keyboards/{ => unikeyboard}/diverge3/config.h (100%) rename keyboards/{ => unikeyboard}/diverge3/diverge3.c (100%) rename keyboards/{ => unikeyboard}/diverge3/diverge3.h (100%) rename keyboards/{ => unikeyboard}/diverge3/info.json (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/default/config.h (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/default/keymap.c (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/default/readme.md (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/default/rules.mk (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/iso_uk/config.h (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/iso_uk/keymap.c (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/iso_uk/readme.md (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/iso_uk/rules.mk (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/workman/config.h (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/workman/keymap.c (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/workman/readme.md (100%) rename keyboards/{ => unikeyboard}/diverge3/keymaps/workman/rules.mk (100%) rename keyboards/{ => unikeyboard}/diverge3/readme.md (90%) rename keyboards/{ => unikeyboard}/diverge3/rules.mk (100%) rename keyboards/{ => unikeyboard}/divergetm2/config.h (100%) rename keyboards/{ => unikeyboard}/divergetm2/divergetm2.c (100%) rename keyboards/{ => unikeyboard}/divergetm2/divergetm2.h (100%) rename keyboards/{ => unikeyboard}/divergetm2/info.json (100%) rename keyboards/{ => unikeyboard}/divergetm2/keymaps/default/config.h (100%) rename keyboards/{ => unikeyboard}/divergetm2/keymaps/default/keymap.c (100%) rename keyboards/{ => unikeyboard}/divergetm2/keymaps/default/readme.md (100%) rename keyboards/{ => unikeyboard}/divergetm2/keymaps/xtonhasvim/config.h (100%) rename keyboards/{ => unikeyboard}/divergetm2/keymaps/xtonhasvim/keymap.c (100%) rename keyboards/{ => unikeyboard}/divergetm2/keymaps/xtonhasvim/readme.md (100%) rename keyboards/{ => unikeyboard}/divergetm2/keymaps/xtonhasvim/rules.mk (100%) rename keyboards/{ => unikeyboard}/divergetm2/readme.md (96%) rename keyboards/{ => unikeyboard}/divergetm2/rules.mk (100%) rename keyboards/{ => unikeyboard}/felix/config.h (100%) rename keyboards/{ => unikeyboard}/felix/felix.c (100%) rename keyboards/{ => unikeyboard}/felix/felix.h (100%) rename keyboards/{ => unikeyboard}/felix/info.json (100%) rename keyboards/{ => unikeyboard}/felix/keymaps/default/keymap.c (100%) rename keyboards/{ => unikeyboard}/felix/readme.md (94%) rename keyboards/{ => unikeyboard}/felix/rules.mk (100%) diff --git a/keyboards/diverge3/config.h b/keyboards/unikeyboard/diverge3/config.h similarity index 100% rename from keyboards/diverge3/config.h rename to keyboards/unikeyboard/diverge3/config.h diff --git a/keyboards/diverge3/diverge3.c b/keyboards/unikeyboard/diverge3/diverge3.c similarity index 100% rename from keyboards/diverge3/diverge3.c rename to keyboards/unikeyboard/diverge3/diverge3.c diff --git a/keyboards/diverge3/diverge3.h b/keyboards/unikeyboard/diverge3/diverge3.h similarity index 100% rename from keyboards/diverge3/diverge3.h rename to keyboards/unikeyboard/diverge3/diverge3.h diff --git a/keyboards/diverge3/info.json b/keyboards/unikeyboard/diverge3/info.json similarity index 100% rename from keyboards/diverge3/info.json rename to keyboards/unikeyboard/diverge3/info.json diff --git a/keyboards/diverge3/keymaps/default/config.h b/keyboards/unikeyboard/diverge3/keymaps/default/config.h similarity index 100% rename from keyboards/diverge3/keymaps/default/config.h rename to keyboards/unikeyboard/diverge3/keymaps/default/config.h diff --git a/keyboards/diverge3/keymaps/default/keymap.c b/keyboards/unikeyboard/diverge3/keymaps/default/keymap.c similarity index 100% rename from keyboards/diverge3/keymaps/default/keymap.c rename to keyboards/unikeyboard/diverge3/keymaps/default/keymap.c diff --git a/keyboards/diverge3/keymaps/default/readme.md b/keyboards/unikeyboard/diverge3/keymaps/default/readme.md similarity index 100% rename from keyboards/diverge3/keymaps/default/readme.md rename to keyboards/unikeyboard/diverge3/keymaps/default/readme.md diff --git a/keyboards/diverge3/keymaps/default/rules.mk b/keyboards/unikeyboard/diverge3/keymaps/default/rules.mk similarity index 100% rename from keyboards/diverge3/keymaps/default/rules.mk rename to keyboards/unikeyboard/diverge3/keymaps/default/rules.mk diff --git a/keyboards/diverge3/keymaps/iso_uk/config.h b/keyboards/unikeyboard/diverge3/keymaps/iso_uk/config.h similarity index 100% rename from keyboards/diverge3/keymaps/iso_uk/config.h rename to keyboards/unikeyboard/diverge3/keymaps/iso_uk/config.h diff --git a/keyboards/diverge3/keymaps/iso_uk/keymap.c b/keyboards/unikeyboard/diverge3/keymaps/iso_uk/keymap.c similarity index 100% rename from keyboards/diverge3/keymaps/iso_uk/keymap.c rename to keyboards/unikeyboard/diverge3/keymaps/iso_uk/keymap.c diff --git a/keyboards/diverge3/keymaps/iso_uk/readme.md b/keyboards/unikeyboard/diverge3/keymaps/iso_uk/readme.md similarity index 100% rename from keyboards/diverge3/keymaps/iso_uk/readme.md rename to keyboards/unikeyboard/diverge3/keymaps/iso_uk/readme.md diff --git a/keyboards/diverge3/keymaps/iso_uk/rules.mk b/keyboards/unikeyboard/diverge3/keymaps/iso_uk/rules.mk similarity index 100% rename from keyboards/diverge3/keymaps/iso_uk/rules.mk rename to keyboards/unikeyboard/diverge3/keymaps/iso_uk/rules.mk diff --git a/keyboards/diverge3/keymaps/workman/config.h b/keyboards/unikeyboard/diverge3/keymaps/workman/config.h similarity index 100% rename from keyboards/diverge3/keymaps/workman/config.h rename to keyboards/unikeyboard/diverge3/keymaps/workman/config.h diff --git a/keyboards/diverge3/keymaps/workman/keymap.c b/keyboards/unikeyboard/diverge3/keymaps/workman/keymap.c similarity index 100% rename from keyboards/diverge3/keymaps/workman/keymap.c rename to keyboards/unikeyboard/diverge3/keymaps/workman/keymap.c diff --git a/keyboards/diverge3/keymaps/workman/readme.md b/keyboards/unikeyboard/diverge3/keymaps/workman/readme.md similarity index 100% rename from keyboards/diverge3/keymaps/workman/readme.md rename to keyboards/unikeyboard/diverge3/keymaps/workman/readme.md diff --git a/keyboards/diverge3/keymaps/workman/rules.mk b/keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk similarity index 100% rename from keyboards/diverge3/keymaps/workman/rules.mk rename to keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk diff --git a/keyboards/diverge3/readme.md b/keyboards/unikeyboard/diverge3/readme.md similarity index 90% rename from keyboards/diverge3/readme.md rename to keyboards/unikeyboard/diverge3/readme.md index 45ddaa64cfd0..6e4cf3d78187 100644 --- a/keyboards/diverge3/readme.md +++ b/keyboards/unikeyboard/diverge3/readme.md @@ -8,13 +8,13 @@ Hardware Availability: [Diverge 3](https://unikeyboard.io/product/diverge/) Make example for this keyboard (after setting up your build environment): - make diverge3:default + make unikeyboard/diverge3:default Or for the [Workman](https://github.com/ojbucao/workman) layout: - make diverge3:workman + make unikeyboard/diverge3:workman See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. # Reflashing Animus -Reflashing the stock firmware is pretty easy. Just follow the same steps in the [original guide](https://imgur.com/a/8UapN). You will have to manually reset the Pro Micro (by shorting the GND and RST pins) during the upload step. Then reapply your keymap through Arbites. \ No newline at end of file +Reflashing the stock firmware is pretty easy. Just follow the same steps in the [original guide](https://imgur.com/a/8UapN). You will have to manually reset the Pro Micro (by shorting the GND and RST pins) during the upload step. Then reapply your keymap through Arbites. diff --git a/keyboards/diverge3/rules.mk b/keyboards/unikeyboard/diverge3/rules.mk similarity index 100% rename from keyboards/diverge3/rules.mk rename to keyboards/unikeyboard/diverge3/rules.mk diff --git a/keyboards/divergetm2/config.h b/keyboards/unikeyboard/divergetm2/config.h similarity index 100% rename from keyboards/divergetm2/config.h rename to keyboards/unikeyboard/divergetm2/config.h diff --git a/keyboards/divergetm2/divergetm2.c b/keyboards/unikeyboard/divergetm2/divergetm2.c similarity index 100% rename from keyboards/divergetm2/divergetm2.c rename to keyboards/unikeyboard/divergetm2/divergetm2.c diff --git a/keyboards/divergetm2/divergetm2.h b/keyboards/unikeyboard/divergetm2/divergetm2.h similarity index 100% rename from keyboards/divergetm2/divergetm2.h rename to keyboards/unikeyboard/divergetm2/divergetm2.h diff --git a/keyboards/divergetm2/info.json b/keyboards/unikeyboard/divergetm2/info.json similarity index 100% rename from keyboards/divergetm2/info.json rename to keyboards/unikeyboard/divergetm2/info.json diff --git a/keyboards/divergetm2/keymaps/default/config.h b/keyboards/unikeyboard/divergetm2/keymaps/default/config.h similarity index 100% rename from keyboards/divergetm2/keymaps/default/config.h rename to keyboards/unikeyboard/divergetm2/keymaps/default/config.h diff --git a/keyboards/divergetm2/keymaps/default/keymap.c b/keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c similarity index 100% rename from keyboards/divergetm2/keymaps/default/keymap.c rename to keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c diff --git a/keyboards/divergetm2/keymaps/default/readme.md b/keyboards/unikeyboard/divergetm2/keymaps/default/readme.md similarity index 100% rename from keyboards/divergetm2/keymaps/default/readme.md rename to keyboards/unikeyboard/divergetm2/keymaps/default/readme.md diff --git a/keyboards/divergetm2/keymaps/xtonhasvim/config.h b/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/config.h similarity index 100% rename from keyboards/divergetm2/keymaps/xtonhasvim/config.h rename to keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/config.h diff --git a/keyboards/divergetm2/keymaps/xtonhasvim/keymap.c b/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/keymap.c similarity index 100% rename from keyboards/divergetm2/keymaps/xtonhasvim/keymap.c rename to keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/keymap.c diff --git a/keyboards/divergetm2/keymaps/xtonhasvim/readme.md b/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/readme.md similarity index 100% rename from keyboards/divergetm2/keymaps/xtonhasvim/readme.md rename to keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/readme.md diff --git a/keyboards/divergetm2/keymaps/xtonhasvim/rules.mk b/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/rules.mk similarity index 100% rename from keyboards/divergetm2/keymaps/xtonhasvim/rules.mk rename to keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/rules.mk diff --git a/keyboards/divergetm2/readme.md b/keyboards/unikeyboard/divergetm2/readme.md similarity index 96% rename from keyboards/divergetm2/readme.md rename to keyboards/unikeyboard/divergetm2/readme.md index 893b82cb5cd0..5bff74389f92 100644 --- a/keyboards/divergetm2/readme.md +++ b/keyboards/unikeyboard/divergetm2/readme.md @@ -8,7 +8,7 @@ Hardware Availability: [Diverge TM2](https://unikeyboard.io/product/diverge-tm/) Make example for this keyboard (after setting up your build environment): - make divergetm2:default + make unikeyboard/divergetm2:default 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/divergetm2/rules.mk b/keyboards/unikeyboard/divergetm2/rules.mk similarity index 100% rename from keyboards/divergetm2/rules.mk rename to keyboards/unikeyboard/divergetm2/rules.mk diff --git a/keyboards/felix/config.h b/keyboards/unikeyboard/felix/config.h similarity index 100% rename from keyboards/felix/config.h rename to keyboards/unikeyboard/felix/config.h diff --git a/keyboards/felix/felix.c b/keyboards/unikeyboard/felix/felix.c similarity index 100% rename from keyboards/felix/felix.c rename to keyboards/unikeyboard/felix/felix.c diff --git a/keyboards/felix/felix.h b/keyboards/unikeyboard/felix/felix.h similarity index 100% rename from keyboards/felix/felix.h rename to keyboards/unikeyboard/felix/felix.h diff --git a/keyboards/felix/info.json b/keyboards/unikeyboard/felix/info.json similarity index 100% rename from keyboards/felix/info.json rename to keyboards/unikeyboard/felix/info.json diff --git a/keyboards/felix/keymaps/default/keymap.c b/keyboards/unikeyboard/felix/keymaps/default/keymap.c similarity index 100% rename from keyboards/felix/keymaps/default/keymap.c rename to keyboards/unikeyboard/felix/keymaps/default/keymap.c diff --git a/keyboards/felix/readme.md b/keyboards/unikeyboard/felix/readme.md similarity index 94% rename from keyboards/felix/readme.md rename to keyboards/unikeyboard/felix/readme.md index 0a3fe10a6ec2..2ea41d382f90 100644 --- a/keyboards/felix/readme.md +++ b/keyboards/unikeyboard/felix/readme.md @@ -8,6 +8,6 @@ Hardware Availability: [Unikeyboard](https://unikeyboard.io/product/felix/) Make example for this keyboard (after setting up your build environment): - make felix:default + make unikeyboard/felix:default 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/felix/rules.mk b/keyboards/unikeyboard/felix/rules.mk similarity index 100% rename from keyboards/felix/rules.mk rename to keyboards/unikeyboard/felix/rules.mk From 2427678f7d4f04df10392e07d6c42578775ec15f Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 03:44:45 +0800 Subject: [PATCH 0139/1832] [Keyboard] move @Biacco42 's keebs into /biacco42 (#16080) --- keyboards/{ => biacco42}/ergo42/.noci | 0 keyboards/{ => biacco42}/ergo42/config.h | 0 keyboards/{ => biacco42}/ergo42/ergo42.c | 0 keyboards/{ => biacco42}/ergo42/ergo42.h | 2 +- keyboards/{ => biacco42}/ergo42/info.json | 0 keyboards/{ => biacco42}/ergo42/keymaps/biacco-biacco/config.h | 0 keyboards/{ => biacco42}/ergo42/keymaps/biacco-biacco/keymap.c | 0 keyboards/{ => biacco42}/ergo42/keymaps/biacco-macOS/config.h | 0 keyboards/{ => biacco42}/ergo42/keymaps/biacco-macOS/keymap.c | 0 .../{ => biacco42}/ergo42/keymaps/biacco-underglow/config.h | 0 .../{ => biacco42}/ergo42/keymaps/biacco-underglow/keymap.c | 0 .../{ => biacco42}/ergo42/keymaps/biacco-underglow/rules.mk | 0 keyboards/{ => biacco42}/ergo42/keymaps/biacco-winjp/config.h | 0 keyboards/{ => biacco42}/ergo42/keymaps/biacco-winjp/keymap.c | 0 keyboards/{ => biacco42}/ergo42/keymaps/biacco/config.h | 0 keyboards/{ => biacco42}/ergo42/keymaps/biacco/keymap.c | 0 .../{ => biacco42}/ergo42/keymaps/default-illustrator/config.h | 0 .../{ => biacco42}/ergo42/keymaps/default-illustrator/keymap.c | 0 .../{ => biacco42}/ergo42/keymaps/default-underglow/config.h | 0 .../{ => biacco42}/ergo42/keymaps/default-underglow/keymap.c | 0 .../{ => biacco42}/ergo42/keymaps/default-underglow/rules.mk | 0 keyboards/{ => biacco42}/ergo42/keymaps/default/config.h | 0 keyboards/{ => biacco42}/ergo42/keymaps/default/keymap.c | 0 keyboards/{ => biacco42}/ergo42/keymaps/hdbx/config.h | 0 keyboards/{ => biacco42}/ergo42/keymaps/hdbx/keymap.c | 0 keyboards/{ => biacco42}/ergo42/keymaps/hdbx/readme.md | 0 keyboards/{ => biacco42}/ergo42/keymaps/ichi-t/config.h | 0 keyboards/{ => biacco42}/ergo42/keymaps/ichi-t/keymap.c | 0 keyboards/{ => biacco42}/ergo42/keymaps/koba/config.h | 0 keyboards/{ => biacco42}/ergo42/keymaps/koba/keymap.c | 0 keyboards/{ => biacco42}/ergo42/keymaps/koba/readme.md | 0 keyboards/{ => biacco42}/ergo42/keymaps/koba/readme_ja.md | 0 keyboards/{ => biacco42}/ergo42/keymaps/shinze/config.h | 0 keyboards/{ => biacco42}/ergo42/keymaps/shinze/keymap.c | 0 keyboards/{ => biacco42}/ergo42/keymaps/yshrsmz/config.h | 0 keyboards/{ => biacco42}/ergo42/keymaps/yshrsmz/keymap.c | 0 keyboards/{ => biacco42}/ergo42/keymaps/yshrsmz/rules.mk | 0 keyboards/{ => biacco42}/ergo42/readme.md | 2 +- keyboards/{ => biacco42}/ergo42/rev1/config.h | 0 keyboards/{ => biacco42}/ergo42/rev1/rev1.c | 0 keyboards/{ => biacco42}/ergo42/rev1/rev1.h | 0 keyboards/{ => biacco42}/ergo42/rev1/rules.mk | 0 keyboards/{ => biacco42}/ergo42/rules.mk | 2 +- keyboards/{ => biacco42}/meishi/config.h | 0 keyboards/{ => biacco42}/meishi/info.json | 0 keyboards/{ => biacco42}/meishi/keymaps/default/keymap.c | 0 keyboards/{ => biacco42}/meishi/keymaps/default/readme.md | 0 keyboards/{ => biacco42}/meishi/meishi.c | 0 keyboards/{ => biacco42}/meishi/meishi.h | 0 keyboards/{ => biacco42}/meishi/readme.md | 2 +- keyboards/{ => biacco42}/meishi/rules.mk | 0 keyboards/{ => biacco42}/meishi2/config.h | 0 keyboards/{ => biacco42}/meishi2/info.json | 0 keyboards/{ => biacco42}/meishi2/keymaps/default/keymap.c | 0 keyboards/{ => biacco42}/meishi2/keymaps/default/readme.md | 0 keyboards/{ => biacco42}/meishi2/keymaps/led_status/keymap.c | 0 keyboards/{ => biacco42}/meishi2/keymaps/led_status/readme.md | 0 keyboards/{ => biacco42}/meishi2/keymaps/moc/config.h | 0 keyboards/{ => biacco42}/meishi2/keymaps/moc/keymap.c | 0 keyboards/{ => biacco42}/meishi2/keymaps/moc/readme.md | 0 keyboards/{ => biacco42}/meishi2/keymaps/via/keymap.c | 0 keyboards/{ => biacco42}/meishi2/keymaps/via/rules.mk | 0 keyboards/{ => biacco42}/meishi2/meishi2.c | 0 keyboards/{ => biacco42}/meishi2/meishi2.h | 0 keyboards/{ => biacco42}/meishi2/readme.md | 2 +- keyboards/{ => biacco42}/meishi2/rules.mk | 0 66 files changed, 5 insertions(+), 5 deletions(-) rename keyboards/{ => biacco42}/ergo42/.noci (100%) rename keyboards/{ => biacco42}/ergo42/config.h (100%) rename keyboards/{ => biacco42}/ergo42/ergo42.c (100%) rename keyboards/{ => biacco42}/ergo42/ergo42.h (63%) rename keyboards/{ => biacco42}/ergo42/info.json (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco-biacco/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco-biacco/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco-macOS/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco-macOS/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco-underglow/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco-underglow/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco-underglow/rules.mk (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco-winjp/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco-winjp/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/biacco/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/default-illustrator/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/default-illustrator/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/default-underglow/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/default-underglow/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/default-underglow/rules.mk (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/default/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/default/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/hdbx/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/hdbx/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/hdbx/readme.md (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/ichi-t/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/ichi-t/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/koba/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/koba/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/koba/readme.md (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/koba/readme_ja.md (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/shinze/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/shinze/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/yshrsmz/config.h (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/yshrsmz/keymap.c (100%) rename keyboards/{ => biacco42}/ergo42/keymaps/yshrsmz/rules.mk (100%) rename keyboards/{ => biacco42}/ergo42/readme.md (95%) rename keyboards/{ => biacco42}/ergo42/rev1/config.h (100%) rename keyboards/{ => biacco42}/ergo42/rev1/rev1.c (100%) rename keyboards/{ => biacco42}/ergo42/rev1/rev1.h (100%) rename keyboards/{ => biacco42}/ergo42/rev1/rules.mk (100%) rename keyboards/{ => biacco42}/ergo42/rules.mk (94%) rename keyboards/{ => biacco42}/meishi/config.h (100%) rename keyboards/{ => biacco42}/meishi/info.json (100%) rename keyboards/{ => biacco42}/meishi/keymaps/default/keymap.c (100%) rename keyboards/{ => biacco42}/meishi/keymaps/default/readme.md (100%) rename keyboards/{ => biacco42}/meishi/meishi.c (100%) rename keyboards/{ => biacco42}/meishi/meishi.h (100%) rename keyboards/{ => biacco42}/meishi/readme.md (94%) rename keyboards/{ => biacco42}/meishi/rules.mk (100%) rename keyboards/{ => biacco42}/meishi2/config.h (100%) rename keyboards/{ => biacco42}/meishi2/info.json (100%) rename keyboards/{ => biacco42}/meishi2/keymaps/default/keymap.c (100%) rename keyboards/{ => biacco42}/meishi2/keymaps/default/readme.md (100%) rename keyboards/{ => biacco42}/meishi2/keymaps/led_status/keymap.c (100%) rename keyboards/{ => biacco42}/meishi2/keymaps/led_status/readme.md (100%) rename keyboards/{ => biacco42}/meishi2/keymaps/moc/config.h (100%) rename keyboards/{ => biacco42}/meishi2/keymaps/moc/keymap.c (100%) rename keyboards/{ => biacco42}/meishi2/keymaps/moc/readme.md (100%) rename keyboards/{ => biacco42}/meishi2/keymaps/via/keymap.c (100%) rename keyboards/{ => biacco42}/meishi2/keymaps/via/rules.mk (100%) rename keyboards/{ => biacco42}/meishi2/meishi2.c (100%) rename keyboards/{ => biacco42}/meishi2/meishi2.h (100%) rename keyboards/{ => biacco42}/meishi2/readme.md (95%) rename keyboards/{ => biacco42}/meishi2/rules.mk (100%) diff --git a/keyboards/ergo42/.noci b/keyboards/biacco42/ergo42/.noci similarity index 100% rename from keyboards/ergo42/.noci rename to keyboards/biacco42/ergo42/.noci diff --git a/keyboards/ergo42/config.h b/keyboards/biacco42/ergo42/config.h similarity index 100% rename from keyboards/ergo42/config.h rename to keyboards/biacco42/ergo42/config.h diff --git a/keyboards/ergo42/ergo42.c b/keyboards/biacco42/ergo42/ergo42.c similarity index 100% rename from keyboards/ergo42/ergo42.c rename to keyboards/biacco42/ergo42/ergo42.c diff --git a/keyboards/ergo42/ergo42.h b/keyboards/biacco42/ergo42/ergo42.h similarity index 63% rename from keyboards/ergo42/ergo42.h rename to keyboards/biacco42/ergo42/ergo42.h index 656b211308a5..265e605e6c1b 100644 --- a/keyboards/ergo42/ergo42.h +++ b/keyboards/biacco42/ergo42/ergo42.h @@ -2,6 +2,6 @@ #include "quantum.h" -#ifdef KEYBOARD_ergo42_rev1 +#ifdef KEYBOARD_biacco42_ergo42_rev1 #include "rev1.h" #endif diff --git a/keyboards/ergo42/info.json b/keyboards/biacco42/ergo42/info.json similarity index 100% rename from keyboards/ergo42/info.json rename to keyboards/biacco42/ergo42/info.json diff --git a/keyboards/ergo42/keymaps/biacco-biacco/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-biacco/config.h similarity index 100% rename from keyboards/ergo42/keymaps/biacco-biacco/config.h rename to keyboards/biacco42/ergo42/keymaps/biacco-biacco/config.h diff --git a/keyboards/ergo42/keymaps/biacco-biacco/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-biacco/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/biacco-biacco/keymap.c rename to keyboards/biacco42/ergo42/keymaps/biacco-biacco/keymap.c diff --git a/keyboards/ergo42/keymaps/biacco-macOS/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-macOS/config.h similarity index 100% rename from keyboards/ergo42/keymaps/biacco-macOS/config.h rename to keyboards/biacco42/ergo42/keymaps/biacco-macOS/config.h diff --git a/keyboards/ergo42/keymaps/biacco-macOS/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-macOS/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/biacco-macOS/keymap.c rename to keyboards/biacco42/ergo42/keymaps/biacco-macOS/keymap.c diff --git a/keyboards/ergo42/keymaps/biacco-underglow/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-underglow/config.h similarity index 100% rename from keyboards/ergo42/keymaps/biacco-underglow/config.h rename to keyboards/biacco42/ergo42/keymaps/biacco-underglow/config.h diff --git a/keyboards/ergo42/keymaps/biacco-underglow/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-underglow/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/biacco-underglow/keymap.c rename to keyboards/biacco42/ergo42/keymaps/biacco-underglow/keymap.c diff --git a/keyboards/ergo42/keymaps/biacco-underglow/rules.mk b/keyboards/biacco42/ergo42/keymaps/biacco-underglow/rules.mk similarity index 100% rename from keyboards/ergo42/keymaps/biacco-underglow/rules.mk rename to keyboards/biacco42/ergo42/keymaps/biacco-underglow/rules.mk diff --git a/keyboards/ergo42/keymaps/biacco-winjp/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-winjp/config.h similarity index 100% rename from keyboards/ergo42/keymaps/biacco-winjp/config.h rename to keyboards/biacco42/ergo42/keymaps/biacco-winjp/config.h diff --git a/keyboards/ergo42/keymaps/biacco-winjp/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/biacco-winjp/keymap.c rename to keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c diff --git a/keyboards/ergo42/keymaps/biacco/config.h b/keyboards/biacco42/ergo42/keymaps/biacco/config.h similarity index 100% rename from keyboards/ergo42/keymaps/biacco/config.h rename to keyboards/biacco42/ergo42/keymaps/biacco/config.h diff --git a/keyboards/ergo42/keymaps/biacco/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/biacco/keymap.c rename to keyboards/biacco42/ergo42/keymaps/biacco/keymap.c diff --git a/keyboards/ergo42/keymaps/default-illustrator/config.h b/keyboards/biacco42/ergo42/keymaps/default-illustrator/config.h similarity index 100% rename from keyboards/ergo42/keymaps/default-illustrator/config.h rename to keyboards/biacco42/ergo42/keymaps/default-illustrator/config.h diff --git a/keyboards/ergo42/keymaps/default-illustrator/keymap.c b/keyboards/biacco42/ergo42/keymaps/default-illustrator/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/default-illustrator/keymap.c rename to keyboards/biacco42/ergo42/keymaps/default-illustrator/keymap.c diff --git a/keyboards/ergo42/keymaps/default-underglow/config.h b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h similarity index 100% rename from keyboards/ergo42/keymaps/default-underglow/config.h rename to keyboards/biacco42/ergo42/keymaps/default-underglow/config.h diff --git a/keyboards/ergo42/keymaps/default-underglow/keymap.c b/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/default-underglow/keymap.c rename to keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c diff --git a/keyboards/ergo42/keymaps/default-underglow/rules.mk b/keyboards/biacco42/ergo42/keymaps/default-underglow/rules.mk similarity index 100% rename from keyboards/ergo42/keymaps/default-underglow/rules.mk rename to keyboards/biacco42/ergo42/keymaps/default-underglow/rules.mk diff --git a/keyboards/ergo42/keymaps/default/config.h b/keyboards/biacco42/ergo42/keymaps/default/config.h similarity index 100% rename from keyboards/ergo42/keymaps/default/config.h rename to keyboards/biacco42/ergo42/keymaps/default/config.h diff --git a/keyboards/ergo42/keymaps/default/keymap.c b/keyboards/biacco42/ergo42/keymaps/default/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/default/keymap.c rename to keyboards/biacco42/ergo42/keymaps/default/keymap.c diff --git a/keyboards/ergo42/keymaps/hdbx/config.h b/keyboards/biacco42/ergo42/keymaps/hdbx/config.h similarity index 100% rename from keyboards/ergo42/keymaps/hdbx/config.h rename to keyboards/biacco42/ergo42/keymaps/hdbx/config.h diff --git a/keyboards/ergo42/keymaps/hdbx/keymap.c b/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/hdbx/keymap.c rename to keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c diff --git a/keyboards/ergo42/keymaps/hdbx/readme.md b/keyboards/biacco42/ergo42/keymaps/hdbx/readme.md similarity index 100% rename from keyboards/ergo42/keymaps/hdbx/readme.md rename to keyboards/biacco42/ergo42/keymaps/hdbx/readme.md diff --git a/keyboards/ergo42/keymaps/ichi-t/config.h b/keyboards/biacco42/ergo42/keymaps/ichi-t/config.h similarity index 100% rename from keyboards/ergo42/keymaps/ichi-t/config.h rename to keyboards/biacco42/ergo42/keymaps/ichi-t/config.h diff --git a/keyboards/ergo42/keymaps/ichi-t/keymap.c b/keyboards/biacco42/ergo42/keymaps/ichi-t/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/ichi-t/keymap.c rename to keyboards/biacco42/ergo42/keymaps/ichi-t/keymap.c diff --git a/keyboards/ergo42/keymaps/koba/config.h b/keyboards/biacco42/ergo42/keymaps/koba/config.h similarity index 100% rename from keyboards/ergo42/keymaps/koba/config.h rename to keyboards/biacco42/ergo42/keymaps/koba/config.h diff --git a/keyboards/ergo42/keymaps/koba/keymap.c b/keyboards/biacco42/ergo42/keymaps/koba/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/koba/keymap.c rename to keyboards/biacco42/ergo42/keymaps/koba/keymap.c diff --git a/keyboards/ergo42/keymaps/koba/readme.md b/keyboards/biacco42/ergo42/keymaps/koba/readme.md similarity index 100% rename from keyboards/ergo42/keymaps/koba/readme.md rename to keyboards/biacco42/ergo42/keymaps/koba/readme.md diff --git a/keyboards/ergo42/keymaps/koba/readme_ja.md b/keyboards/biacco42/ergo42/keymaps/koba/readme_ja.md similarity index 100% rename from keyboards/ergo42/keymaps/koba/readme_ja.md rename to keyboards/biacco42/ergo42/keymaps/koba/readme_ja.md diff --git a/keyboards/ergo42/keymaps/shinze/config.h b/keyboards/biacco42/ergo42/keymaps/shinze/config.h similarity index 100% rename from keyboards/ergo42/keymaps/shinze/config.h rename to keyboards/biacco42/ergo42/keymaps/shinze/config.h diff --git a/keyboards/ergo42/keymaps/shinze/keymap.c b/keyboards/biacco42/ergo42/keymaps/shinze/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/shinze/keymap.c rename to keyboards/biacco42/ergo42/keymaps/shinze/keymap.c diff --git a/keyboards/ergo42/keymaps/yshrsmz/config.h b/keyboards/biacco42/ergo42/keymaps/yshrsmz/config.h similarity index 100% rename from keyboards/ergo42/keymaps/yshrsmz/config.h rename to keyboards/biacco42/ergo42/keymaps/yshrsmz/config.h diff --git a/keyboards/ergo42/keymaps/yshrsmz/keymap.c b/keyboards/biacco42/ergo42/keymaps/yshrsmz/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/yshrsmz/keymap.c rename to keyboards/biacco42/ergo42/keymaps/yshrsmz/keymap.c diff --git a/keyboards/ergo42/keymaps/yshrsmz/rules.mk b/keyboards/biacco42/ergo42/keymaps/yshrsmz/rules.mk similarity index 100% rename from keyboards/ergo42/keymaps/yshrsmz/rules.mk rename to keyboards/biacco42/ergo42/keymaps/yshrsmz/rules.mk diff --git a/keyboards/ergo42/readme.md b/keyboards/biacco42/ergo42/readme.md similarity index 95% rename from keyboards/ergo42/readme.md rename to keyboards/biacco42/ergo42/readme.md index c43b47382b27..778c64a99f04 100644 --- a/keyboards/ergo42/readme.md +++ b/keyboards/biacco42/ergo42/readme.md @@ -11,6 +11,6 @@ A split 7x4 ortholinear keyboard. [Hardware project repo](https://github.com/Bia Make example for this keyboard (after setting up your build environment): - make ergo42/rev1:default:flash + make biacco42/ergo42/rev1:default:flash 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/ergo42/rev1/config.h b/keyboards/biacco42/ergo42/rev1/config.h similarity index 100% rename from keyboards/ergo42/rev1/config.h rename to keyboards/biacco42/ergo42/rev1/config.h diff --git a/keyboards/ergo42/rev1/rev1.c b/keyboards/biacco42/ergo42/rev1/rev1.c similarity index 100% rename from keyboards/ergo42/rev1/rev1.c rename to keyboards/biacco42/ergo42/rev1/rev1.c diff --git a/keyboards/ergo42/rev1/rev1.h b/keyboards/biacco42/ergo42/rev1/rev1.h similarity index 100% rename from keyboards/ergo42/rev1/rev1.h rename to keyboards/biacco42/ergo42/rev1/rev1.h diff --git a/keyboards/ergo42/rev1/rules.mk b/keyboards/biacco42/ergo42/rev1/rules.mk similarity index 100% rename from keyboards/ergo42/rev1/rules.mk rename to keyboards/biacco42/ergo42/rev1/rules.mk diff --git a/keyboards/ergo42/rules.mk b/keyboards/biacco42/ergo42/rules.mk similarity index 94% rename from keyboards/ergo42/rules.mk rename to keyboards/biacco42/ergo42/rules.mk index 2225bdcb5999..9420c9b4eb9f 100644 --- a/keyboards/ergo42/rules.mk +++ b/keyboards/biacco42/ergo42/rules.mk @@ -19,4 +19,4 @@ AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = ergo42/rev1 +DEFAULT_FOLDER = biacco42/ergo42/rev1 diff --git a/keyboards/meishi/config.h b/keyboards/biacco42/meishi/config.h similarity index 100% rename from keyboards/meishi/config.h rename to keyboards/biacco42/meishi/config.h diff --git a/keyboards/meishi/info.json b/keyboards/biacco42/meishi/info.json similarity index 100% rename from keyboards/meishi/info.json rename to keyboards/biacco42/meishi/info.json diff --git a/keyboards/meishi/keymaps/default/keymap.c b/keyboards/biacco42/meishi/keymaps/default/keymap.c similarity index 100% rename from keyboards/meishi/keymaps/default/keymap.c rename to keyboards/biacco42/meishi/keymaps/default/keymap.c diff --git a/keyboards/meishi/keymaps/default/readme.md b/keyboards/biacco42/meishi/keymaps/default/readme.md similarity index 100% rename from keyboards/meishi/keymaps/default/readme.md rename to keyboards/biacco42/meishi/keymaps/default/readme.md diff --git a/keyboards/meishi/meishi.c b/keyboards/biacco42/meishi/meishi.c similarity index 100% rename from keyboards/meishi/meishi.c rename to keyboards/biacco42/meishi/meishi.c diff --git a/keyboards/meishi/meishi.h b/keyboards/biacco42/meishi/meishi.h similarity index 100% rename from keyboards/meishi/meishi.h rename to keyboards/biacco42/meishi/meishi.h diff --git a/keyboards/meishi/readme.md b/keyboards/biacco42/meishi/readme.md similarity index 94% rename from keyboards/meishi/readme.md rename to keyboards/biacco42/meishi/readme.md index 99421ed8d33d..4648c14b4daf 100644 --- a/keyboards/meishi/readme.md +++ b/keyboards/biacco42/meishi/readme.md @@ -13,7 +13,7 @@ Hardware Availability: [Tanoshi life - Booth](https://biacco42.booth.pm/) Make example for this keyboard (after setting up your build environment): ``` -$ make meishi:default:avrdude +$ make biacco42/meishi:default:avrdude ``` See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. diff --git a/keyboards/meishi/rules.mk b/keyboards/biacco42/meishi/rules.mk similarity index 100% rename from keyboards/meishi/rules.mk rename to keyboards/biacco42/meishi/rules.mk diff --git a/keyboards/meishi2/config.h b/keyboards/biacco42/meishi2/config.h similarity index 100% rename from keyboards/meishi2/config.h rename to keyboards/biacco42/meishi2/config.h diff --git a/keyboards/meishi2/info.json b/keyboards/biacco42/meishi2/info.json similarity index 100% rename from keyboards/meishi2/info.json rename to keyboards/biacco42/meishi2/info.json diff --git a/keyboards/meishi2/keymaps/default/keymap.c b/keyboards/biacco42/meishi2/keymaps/default/keymap.c similarity index 100% rename from keyboards/meishi2/keymaps/default/keymap.c rename to keyboards/biacco42/meishi2/keymaps/default/keymap.c diff --git a/keyboards/meishi2/keymaps/default/readme.md b/keyboards/biacco42/meishi2/keymaps/default/readme.md similarity index 100% rename from keyboards/meishi2/keymaps/default/readme.md rename to keyboards/biacco42/meishi2/keymaps/default/readme.md diff --git a/keyboards/meishi2/keymaps/led_status/keymap.c b/keyboards/biacco42/meishi2/keymaps/led_status/keymap.c similarity index 100% rename from keyboards/meishi2/keymaps/led_status/keymap.c rename to keyboards/biacco42/meishi2/keymaps/led_status/keymap.c diff --git a/keyboards/meishi2/keymaps/led_status/readme.md b/keyboards/biacco42/meishi2/keymaps/led_status/readme.md similarity index 100% rename from keyboards/meishi2/keymaps/led_status/readme.md rename to keyboards/biacco42/meishi2/keymaps/led_status/readme.md diff --git a/keyboards/meishi2/keymaps/moc/config.h b/keyboards/biacco42/meishi2/keymaps/moc/config.h similarity index 100% rename from keyboards/meishi2/keymaps/moc/config.h rename to keyboards/biacco42/meishi2/keymaps/moc/config.h diff --git a/keyboards/meishi2/keymaps/moc/keymap.c b/keyboards/biacco42/meishi2/keymaps/moc/keymap.c similarity index 100% rename from keyboards/meishi2/keymaps/moc/keymap.c rename to keyboards/biacco42/meishi2/keymaps/moc/keymap.c diff --git a/keyboards/meishi2/keymaps/moc/readme.md b/keyboards/biacco42/meishi2/keymaps/moc/readme.md similarity index 100% rename from keyboards/meishi2/keymaps/moc/readme.md rename to keyboards/biacco42/meishi2/keymaps/moc/readme.md diff --git a/keyboards/meishi2/keymaps/via/keymap.c b/keyboards/biacco42/meishi2/keymaps/via/keymap.c similarity index 100% rename from keyboards/meishi2/keymaps/via/keymap.c rename to keyboards/biacco42/meishi2/keymaps/via/keymap.c diff --git a/keyboards/meishi2/keymaps/via/rules.mk b/keyboards/biacco42/meishi2/keymaps/via/rules.mk similarity index 100% rename from keyboards/meishi2/keymaps/via/rules.mk rename to keyboards/biacco42/meishi2/keymaps/via/rules.mk diff --git a/keyboards/meishi2/meishi2.c b/keyboards/biacco42/meishi2/meishi2.c similarity index 100% rename from keyboards/meishi2/meishi2.c rename to keyboards/biacco42/meishi2/meishi2.c diff --git a/keyboards/meishi2/meishi2.h b/keyboards/biacco42/meishi2/meishi2.h similarity index 100% rename from keyboards/meishi2/meishi2.h rename to keyboards/biacco42/meishi2/meishi2.h diff --git a/keyboards/meishi2/readme.md b/keyboards/biacco42/meishi2/readme.md similarity index 95% rename from keyboards/meishi2/readme.md rename to keyboards/biacco42/meishi2/readme.md index d80ec44184ae..97c5465f8660 100644 --- a/keyboards/meishi2/readme.md +++ b/keyboards/biacco42/meishi2/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [links to where you can find this hardware](https://githu Make example for this keyboard (after setting up your build environment): - make meishi2:default + make biacco42/meishi2:default 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/meishi2/rules.mk b/keyboards/biacco42/meishi2/rules.mk similarity index 100% rename from keyboards/meishi2/rules.mk rename to keyboards/biacco42/meishi2/rules.mk From 6cb0e8924ba258e112174b1dac36c88d16fbc560 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 03:46:08 +0800 Subject: [PATCH 0140/1832] [Keyboard] move @yynmt 's boards into /yynmt (#16075) --- keyboards/{ => yynmt}/dozen0/config.h | 0 keyboards/{ => yynmt}/dozen0/dozen0.c | 0 keyboards/{ => yynmt}/dozen0/dozen0.h | 0 keyboards/{ => yynmt}/dozen0/info.json | 0 keyboards/{ => yynmt}/dozen0/keymaps/default/keymap.c | 0 keyboards/{ => yynmt}/dozen0/keymaps/default/readme.md | 0 keyboards/{ => yynmt}/dozen0/keymaps/f12/keymap.c | 0 keyboards/{ => yynmt}/dozen0/keymaps/via/keymap.c | 0 keyboards/{ => yynmt}/dozen0/keymaps/via/rules.mk | 0 keyboards/{ => yynmt}/dozen0/readme.md | 2 +- keyboards/{ => yynmt}/dozen0/rules.mk | 0 keyboards/{ => yynmt}/kagamidget/config.h | 0 keyboards/{ => yynmt}/kagamidget/info.json | 0 keyboards/{ => yynmt}/kagamidget/kagamidget.c | 0 keyboards/{ => yynmt}/kagamidget/kagamidget.h | 0 keyboards/{ => yynmt}/kagamidget/keymaps/default/keymap.c | 0 keyboards/{ => yynmt}/kagamidget/keymaps/default/readme.md | 0 keyboards/{ => yynmt}/kagamidget/readme.md | 2 +- keyboards/{ => yynmt}/kagamidget/rules.mk | 0 19 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/{ => yynmt}/dozen0/config.h (100%) rename keyboards/{ => yynmt}/dozen0/dozen0.c (100%) rename keyboards/{ => yynmt}/dozen0/dozen0.h (100%) rename keyboards/{ => yynmt}/dozen0/info.json (100%) rename keyboards/{ => yynmt}/dozen0/keymaps/default/keymap.c (100%) rename keyboards/{ => yynmt}/dozen0/keymaps/default/readme.md (100%) rename keyboards/{ => yynmt}/dozen0/keymaps/f12/keymap.c (100%) rename keyboards/{ => yynmt}/dozen0/keymaps/via/keymap.c (100%) rename keyboards/{ => yynmt}/dozen0/keymaps/via/rules.mk (100%) rename keyboards/{ => yynmt}/dozen0/readme.md (95%) rename keyboards/{ => yynmt}/dozen0/rules.mk (100%) rename keyboards/{ => yynmt}/kagamidget/config.h (100%) rename keyboards/{ => yynmt}/kagamidget/info.json (100%) rename keyboards/{ => yynmt}/kagamidget/kagamidget.c (100%) rename keyboards/{ => yynmt}/kagamidget/kagamidget.h (100%) rename keyboards/{ => yynmt}/kagamidget/keymaps/default/keymap.c (100%) rename keyboards/{ => yynmt}/kagamidget/keymaps/default/readme.md (100%) rename keyboards/{ => yynmt}/kagamidget/readme.md (94%) rename keyboards/{ => yynmt}/kagamidget/rules.mk (100%) diff --git a/keyboards/dozen0/config.h b/keyboards/yynmt/dozen0/config.h similarity index 100% rename from keyboards/dozen0/config.h rename to keyboards/yynmt/dozen0/config.h diff --git a/keyboards/dozen0/dozen0.c b/keyboards/yynmt/dozen0/dozen0.c similarity index 100% rename from keyboards/dozen0/dozen0.c rename to keyboards/yynmt/dozen0/dozen0.c diff --git a/keyboards/dozen0/dozen0.h b/keyboards/yynmt/dozen0/dozen0.h similarity index 100% rename from keyboards/dozen0/dozen0.h rename to keyboards/yynmt/dozen0/dozen0.h diff --git a/keyboards/dozen0/info.json b/keyboards/yynmt/dozen0/info.json similarity index 100% rename from keyboards/dozen0/info.json rename to keyboards/yynmt/dozen0/info.json diff --git a/keyboards/dozen0/keymaps/default/keymap.c b/keyboards/yynmt/dozen0/keymaps/default/keymap.c similarity index 100% rename from keyboards/dozen0/keymaps/default/keymap.c rename to keyboards/yynmt/dozen0/keymaps/default/keymap.c diff --git a/keyboards/dozen0/keymaps/default/readme.md b/keyboards/yynmt/dozen0/keymaps/default/readme.md similarity index 100% rename from keyboards/dozen0/keymaps/default/readme.md rename to keyboards/yynmt/dozen0/keymaps/default/readme.md diff --git a/keyboards/dozen0/keymaps/f12/keymap.c b/keyboards/yynmt/dozen0/keymaps/f12/keymap.c similarity index 100% rename from keyboards/dozen0/keymaps/f12/keymap.c rename to keyboards/yynmt/dozen0/keymaps/f12/keymap.c diff --git a/keyboards/dozen0/keymaps/via/keymap.c b/keyboards/yynmt/dozen0/keymaps/via/keymap.c similarity index 100% rename from keyboards/dozen0/keymaps/via/keymap.c rename to keyboards/yynmt/dozen0/keymaps/via/keymap.c diff --git a/keyboards/dozen0/keymaps/via/rules.mk b/keyboards/yynmt/dozen0/keymaps/via/rules.mk similarity index 100% rename from keyboards/dozen0/keymaps/via/rules.mk rename to keyboards/yynmt/dozen0/keymaps/via/rules.mk diff --git a/keyboards/dozen0/readme.md b/keyboards/yynmt/dozen0/readme.md similarity index 95% rename from keyboards/dozen0/readme.md rename to keyboards/yynmt/dozen0/readme.md index 7ef119246199..c215e96e4c96 100644 --- a/keyboards/dozen0/readme.md +++ b/keyboards/yynmt/dozen0/readme.md @@ -10,6 +10,6 @@ Hardware Availability: links to where you can find this hardware Make example for this keyboard (after setting up your build environment): - make dozen0:default + make yynmt/dozen0:default 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/dozen0/rules.mk b/keyboards/yynmt/dozen0/rules.mk similarity index 100% rename from keyboards/dozen0/rules.mk rename to keyboards/yynmt/dozen0/rules.mk diff --git a/keyboards/kagamidget/config.h b/keyboards/yynmt/kagamidget/config.h similarity index 100% rename from keyboards/kagamidget/config.h rename to keyboards/yynmt/kagamidget/config.h diff --git a/keyboards/kagamidget/info.json b/keyboards/yynmt/kagamidget/info.json similarity index 100% rename from keyboards/kagamidget/info.json rename to keyboards/yynmt/kagamidget/info.json diff --git a/keyboards/kagamidget/kagamidget.c b/keyboards/yynmt/kagamidget/kagamidget.c similarity index 100% rename from keyboards/kagamidget/kagamidget.c rename to keyboards/yynmt/kagamidget/kagamidget.c diff --git a/keyboards/kagamidget/kagamidget.h b/keyboards/yynmt/kagamidget/kagamidget.h similarity index 100% rename from keyboards/kagamidget/kagamidget.h rename to keyboards/yynmt/kagamidget/kagamidget.h diff --git a/keyboards/kagamidget/keymaps/default/keymap.c b/keyboards/yynmt/kagamidget/keymaps/default/keymap.c similarity index 100% rename from keyboards/kagamidget/keymaps/default/keymap.c rename to keyboards/yynmt/kagamidget/keymaps/default/keymap.c diff --git a/keyboards/kagamidget/keymaps/default/readme.md b/keyboards/yynmt/kagamidget/keymaps/default/readme.md similarity index 100% rename from keyboards/kagamidget/keymaps/default/readme.md rename to keyboards/yynmt/kagamidget/keymaps/default/readme.md diff --git a/keyboards/kagamidget/readme.md b/keyboards/yynmt/kagamidget/readme.md similarity index 94% rename from keyboards/kagamidget/readme.md rename to keyboards/yynmt/kagamidget/readme.md index af38fdd8589d..78ec4f3c7bf3 100644 --- a/keyboards/kagamidget/readme.md +++ b/keyboards/yynmt/kagamidget/readme.md @@ -9,6 +9,6 @@ Hardware Supported: KagaMidget PCBs, ProMicro supported Make example for this keyboard (after setting up your build environment): - make kagamidget:default + make yynmt/kagamidget:default 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/kagamidget/rules.mk b/keyboards/yynmt/kagamidget/rules.mk similarity index 100% rename from keyboards/kagamidget/rules.mk rename to keyboards/yynmt/kagamidget/rules.mk From 3fefaf7f6b99aafe691a9024db4780684a588e4a Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 03:47:38 +0800 Subject: [PATCH 0141/1832] [Keyboard] move @GlenPickle 's chimera* boards into a folder (#16072) --- keyboards/{ => glenpickle}/chimera_ergo/chimera_ergo.c | 0 keyboards/{ => glenpickle}/chimera_ergo/chimera_ergo.h | 0 keyboards/{ => glenpickle}/chimera_ergo/config.h | 0 keyboards/{ => glenpickle}/chimera_ergo/info.json | 0 .../{ => glenpickle}/chimera_ergo/keymaps/default/keymap.c | 0 keyboards/{ => glenpickle}/chimera_ergo/matrix.c | 0 keyboards/{ => glenpickle}/chimera_ergo/readme.md | 2 +- keyboards/{ => glenpickle}/chimera_ergo/rules.mk | 0 keyboards/{ => glenpickle}/chimera_ls/chimera_ls.c | 0 keyboards/{ => glenpickle}/chimera_ls/chimera_ls.h | 0 keyboards/{ => glenpickle}/chimera_ls/config.h | 0 keyboards/{ => glenpickle}/chimera_ls/info.json | 0 keyboards/{ => glenpickle}/chimera_ls/keymaps/default/keymap.c | 0 keyboards/{ => glenpickle}/chimera_ls/matrix.c | 0 keyboards/{ => glenpickle}/chimera_ls/readme.md | 2 +- keyboards/{ => glenpickle}/chimera_ls/rules.mk | 0 keyboards/{ => glenpickle}/chimera_ortho/chimera_ortho.c | 0 keyboards/{ => glenpickle}/chimera_ortho/chimera_ortho.h | 0 keyboards/{ => glenpickle}/chimera_ortho/config.h | 0 keyboards/{ => glenpickle}/chimera_ortho/info.json | 0 .../{ => glenpickle}/chimera_ortho/keymaps/default/config.h | 0 .../{ => glenpickle}/chimera_ortho/keymaps/default/keymap.c | 0 keyboards/{ => glenpickle}/chimera_ortho/matrix.c | 0 keyboards/{ => glenpickle}/chimera_ortho/readme.md | 2 +- keyboards/{ => glenpickle}/chimera_ortho/rules.mk | 0 .../{ => glenpickle}/chimera_ortho_plus/chimera_ortho_plus.c | 0 .../{ => glenpickle}/chimera_ortho_plus/chimera_ortho_plus.h | 0 keyboards/{ => glenpickle}/chimera_ortho_plus/config.h | 0 keyboards/{ => glenpickle}/chimera_ortho_plus/info.json | 0 .../chimera_ortho_plus/keymaps/default/config.h | 0 .../chimera_ortho_plus/keymaps/default/keymap.c | 0 keyboards/{ => glenpickle}/chimera_ortho_plus/matrix.c | 0 keyboards/{ => glenpickle}/chimera_ortho_plus/readme.md | 2 +- keyboards/{ => glenpickle}/chimera_ortho_plus/rules.mk | 0 34 files changed, 4 insertions(+), 4 deletions(-) rename keyboards/{ => glenpickle}/chimera_ergo/chimera_ergo.c (100%) rename keyboards/{ => glenpickle}/chimera_ergo/chimera_ergo.h (100%) rename keyboards/{ => glenpickle}/chimera_ergo/config.h (100%) rename keyboards/{ => glenpickle}/chimera_ergo/info.json (100%) rename keyboards/{ => glenpickle}/chimera_ergo/keymaps/default/keymap.c (100%) rename keyboards/{ => glenpickle}/chimera_ergo/matrix.c (100%) rename keyboards/{ => glenpickle}/chimera_ergo/readme.md (93%) rename keyboards/{ => glenpickle}/chimera_ergo/rules.mk (100%) rename keyboards/{ => glenpickle}/chimera_ls/chimera_ls.c (100%) rename keyboards/{ => glenpickle}/chimera_ls/chimera_ls.h (100%) rename keyboards/{ => glenpickle}/chimera_ls/config.h (100%) rename keyboards/{ => glenpickle}/chimera_ls/info.json (100%) rename keyboards/{ => glenpickle}/chimera_ls/keymaps/default/keymap.c (100%) rename keyboards/{ => glenpickle}/chimera_ls/matrix.c (100%) rename keyboards/{ => glenpickle}/chimera_ls/readme.md (94%) rename keyboards/{ => glenpickle}/chimera_ls/rules.mk (100%) rename keyboards/{ => glenpickle}/chimera_ortho/chimera_ortho.c (100%) rename keyboards/{ => glenpickle}/chimera_ortho/chimera_ortho.h (100%) rename keyboards/{ => glenpickle}/chimera_ortho/config.h (100%) rename keyboards/{ => glenpickle}/chimera_ortho/info.json (100%) rename keyboards/{ => glenpickle}/chimera_ortho/keymaps/default/config.h (100%) rename keyboards/{ => glenpickle}/chimera_ortho/keymaps/default/keymap.c (100%) rename keyboards/{ => glenpickle}/chimera_ortho/matrix.c (100%) rename keyboards/{ => glenpickle}/chimera_ortho/readme.md (93%) rename keyboards/{ => glenpickle}/chimera_ortho/rules.mk (100%) rename keyboards/{ => glenpickle}/chimera_ortho_plus/chimera_ortho_plus.c (100%) rename keyboards/{ => glenpickle}/chimera_ortho_plus/chimera_ortho_plus.h (100%) rename keyboards/{ => glenpickle}/chimera_ortho_plus/config.h (100%) rename keyboards/{ => glenpickle}/chimera_ortho_plus/info.json (100%) rename keyboards/{ => glenpickle}/chimera_ortho_plus/keymaps/default/config.h (100%) rename keyboards/{ => glenpickle}/chimera_ortho_plus/keymaps/default/keymap.c (100%) rename keyboards/{ => glenpickle}/chimera_ortho_plus/matrix.c (100%) rename keyboards/{ => glenpickle}/chimera_ortho_plus/readme.md (93%) rename keyboards/{ => glenpickle}/chimera_ortho_plus/rules.mk (100%) diff --git a/keyboards/chimera_ergo/chimera_ergo.c b/keyboards/glenpickle/chimera_ergo/chimera_ergo.c similarity index 100% rename from keyboards/chimera_ergo/chimera_ergo.c rename to keyboards/glenpickle/chimera_ergo/chimera_ergo.c diff --git a/keyboards/chimera_ergo/chimera_ergo.h b/keyboards/glenpickle/chimera_ergo/chimera_ergo.h similarity index 100% rename from keyboards/chimera_ergo/chimera_ergo.h rename to keyboards/glenpickle/chimera_ergo/chimera_ergo.h diff --git a/keyboards/chimera_ergo/config.h b/keyboards/glenpickle/chimera_ergo/config.h similarity index 100% rename from keyboards/chimera_ergo/config.h rename to keyboards/glenpickle/chimera_ergo/config.h diff --git a/keyboards/chimera_ergo/info.json b/keyboards/glenpickle/chimera_ergo/info.json similarity index 100% rename from keyboards/chimera_ergo/info.json rename to keyboards/glenpickle/chimera_ergo/info.json diff --git a/keyboards/chimera_ergo/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c similarity index 100% rename from keyboards/chimera_ergo/keymaps/default/keymap.c rename to keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c diff --git a/keyboards/chimera_ergo/matrix.c b/keyboards/glenpickle/chimera_ergo/matrix.c similarity index 100% rename from keyboards/chimera_ergo/matrix.c rename to keyboards/glenpickle/chimera_ergo/matrix.c diff --git a/keyboards/chimera_ergo/readme.md b/keyboards/glenpickle/chimera_ergo/readme.md similarity index 93% rename from keyboards/chimera_ergo/readme.md rename to keyboards/glenpickle/chimera_ergo/readme.md index 2b5d2d65c04d..4ccd039ee08d 100644 --- a/keyboards/chimera_ergo/readme.md +++ b/keyboards/glenpickle/chimera_ergo/readme.md @@ -10,7 +10,7 @@ Hardware Availability: [Gerbers](https://github.com/GlenPickle/Chimera/tree/mast Make example for this keyboard (after setting up your build environment): - make chimera_ergo:default + make glenpickle/chimera_ergo:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/chimera_ergo/rules.mk b/keyboards/glenpickle/chimera_ergo/rules.mk similarity index 100% rename from keyboards/chimera_ergo/rules.mk rename to keyboards/glenpickle/chimera_ergo/rules.mk diff --git a/keyboards/chimera_ls/chimera_ls.c b/keyboards/glenpickle/chimera_ls/chimera_ls.c similarity index 100% rename from keyboards/chimera_ls/chimera_ls.c rename to keyboards/glenpickle/chimera_ls/chimera_ls.c diff --git a/keyboards/chimera_ls/chimera_ls.h b/keyboards/glenpickle/chimera_ls/chimera_ls.h similarity index 100% rename from keyboards/chimera_ls/chimera_ls.h rename to keyboards/glenpickle/chimera_ls/chimera_ls.h diff --git a/keyboards/chimera_ls/config.h b/keyboards/glenpickle/chimera_ls/config.h similarity index 100% rename from keyboards/chimera_ls/config.h rename to keyboards/glenpickle/chimera_ls/config.h diff --git a/keyboards/chimera_ls/info.json b/keyboards/glenpickle/chimera_ls/info.json similarity index 100% rename from keyboards/chimera_ls/info.json rename to keyboards/glenpickle/chimera_ls/info.json diff --git a/keyboards/chimera_ls/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c similarity index 100% rename from keyboards/chimera_ls/keymaps/default/keymap.c rename to keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c diff --git a/keyboards/chimera_ls/matrix.c b/keyboards/glenpickle/chimera_ls/matrix.c similarity index 100% rename from keyboards/chimera_ls/matrix.c rename to keyboards/glenpickle/chimera_ls/matrix.c diff --git a/keyboards/chimera_ls/readme.md b/keyboards/glenpickle/chimera_ls/readme.md similarity index 94% rename from keyboards/chimera_ls/readme.md rename to keyboards/glenpickle/chimera_ls/readme.md index 0170dd8a8f3a..bb882b66a82c 100644 --- a/keyboards/chimera_ls/readme.md +++ b/keyboards/glenpickle/chimera_ls/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [Gerbers](https://github.com/GlenPickle/Chimera/tree/mast Make example for this keyboard (after setting up your build environment): - make chimera_ls:default + make glenpickle/chimera_ls:default 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/chimera_ls/rules.mk b/keyboards/glenpickle/chimera_ls/rules.mk similarity index 100% rename from keyboards/chimera_ls/rules.mk rename to keyboards/glenpickle/chimera_ls/rules.mk diff --git a/keyboards/chimera_ortho/chimera_ortho.c b/keyboards/glenpickle/chimera_ortho/chimera_ortho.c similarity index 100% rename from keyboards/chimera_ortho/chimera_ortho.c rename to keyboards/glenpickle/chimera_ortho/chimera_ortho.c diff --git a/keyboards/chimera_ortho/chimera_ortho.h b/keyboards/glenpickle/chimera_ortho/chimera_ortho.h similarity index 100% rename from keyboards/chimera_ortho/chimera_ortho.h rename to keyboards/glenpickle/chimera_ortho/chimera_ortho.h diff --git a/keyboards/chimera_ortho/config.h b/keyboards/glenpickle/chimera_ortho/config.h similarity index 100% rename from keyboards/chimera_ortho/config.h rename to keyboards/glenpickle/chimera_ortho/config.h diff --git a/keyboards/chimera_ortho/info.json b/keyboards/glenpickle/chimera_ortho/info.json similarity index 100% rename from keyboards/chimera_ortho/info.json rename to keyboards/glenpickle/chimera_ortho/info.json diff --git a/keyboards/chimera_ortho/keymaps/default/config.h b/keyboards/glenpickle/chimera_ortho/keymaps/default/config.h similarity index 100% rename from keyboards/chimera_ortho/keymaps/default/config.h rename to keyboards/glenpickle/chimera_ortho/keymaps/default/config.h diff --git a/keyboards/chimera_ortho/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c similarity index 100% rename from keyboards/chimera_ortho/keymaps/default/keymap.c rename to keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c diff --git a/keyboards/chimera_ortho/matrix.c b/keyboards/glenpickle/chimera_ortho/matrix.c similarity index 100% rename from keyboards/chimera_ortho/matrix.c rename to keyboards/glenpickle/chimera_ortho/matrix.c diff --git a/keyboards/chimera_ortho/readme.md b/keyboards/glenpickle/chimera_ortho/readme.md similarity index 93% rename from keyboards/chimera_ortho/readme.md rename to keyboards/glenpickle/chimera_ortho/readme.md index 644300f9862d..bff001d3c934 100644 --- a/keyboards/chimera_ortho/readme.md +++ b/keyboards/glenpickle/chimera_ortho/readme.md @@ -13,7 +13,7 @@ Hardware Availability: [Gerbers](https://github.com/GlenPickle/Chimera/tree/mast Make example for this keyboard (after setting up your build environment): - make chimera_ortho:default + make glenpickle/chimera_ortho:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/chimera_ortho/rules.mk b/keyboards/glenpickle/chimera_ortho/rules.mk similarity index 100% rename from keyboards/chimera_ortho/rules.mk rename to keyboards/glenpickle/chimera_ortho/rules.mk diff --git a/keyboards/chimera_ortho_plus/chimera_ortho_plus.c b/keyboards/glenpickle/chimera_ortho_plus/chimera_ortho_plus.c similarity index 100% rename from keyboards/chimera_ortho_plus/chimera_ortho_plus.c rename to keyboards/glenpickle/chimera_ortho_plus/chimera_ortho_plus.c diff --git a/keyboards/chimera_ortho_plus/chimera_ortho_plus.h b/keyboards/glenpickle/chimera_ortho_plus/chimera_ortho_plus.h similarity index 100% rename from keyboards/chimera_ortho_plus/chimera_ortho_plus.h rename to keyboards/glenpickle/chimera_ortho_plus/chimera_ortho_plus.h diff --git a/keyboards/chimera_ortho_plus/config.h b/keyboards/glenpickle/chimera_ortho_plus/config.h similarity index 100% rename from keyboards/chimera_ortho_plus/config.h rename to keyboards/glenpickle/chimera_ortho_plus/config.h diff --git a/keyboards/chimera_ortho_plus/info.json b/keyboards/glenpickle/chimera_ortho_plus/info.json similarity index 100% rename from keyboards/chimera_ortho_plus/info.json rename to keyboards/glenpickle/chimera_ortho_plus/info.json diff --git a/keyboards/chimera_ortho_plus/keymaps/default/config.h b/keyboards/glenpickle/chimera_ortho_plus/keymaps/default/config.h similarity index 100% rename from keyboards/chimera_ortho_plus/keymaps/default/config.h rename to keyboards/glenpickle/chimera_ortho_plus/keymaps/default/config.h diff --git a/keyboards/chimera_ortho_plus/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ortho_plus/keymaps/default/keymap.c similarity index 100% rename from keyboards/chimera_ortho_plus/keymaps/default/keymap.c rename to keyboards/glenpickle/chimera_ortho_plus/keymaps/default/keymap.c diff --git a/keyboards/chimera_ortho_plus/matrix.c b/keyboards/glenpickle/chimera_ortho_plus/matrix.c similarity index 100% rename from keyboards/chimera_ortho_plus/matrix.c rename to keyboards/glenpickle/chimera_ortho_plus/matrix.c diff --git a/keyboards/chimera_ortho_plus/readme.md b/keyboards/glenpickle/chimera_ortho_plus/readme.md similarity index 93% rename from keyboards/chimera_ortho_plus/readme.md rename to keyboards/glenpickle/chimera_ortho_plus/readme.md index ad4cb9d392e4..259e9828324e 100644 --- a/keyboards/chimera_ortho_plus/readme.md +++ b/keyboards/glenpickle/chimera_ortho_plus/readme.md @@ -10,6 +10,6 @@ A split wireless 50% ortholinear keyboard. Make example for this keyboard (after setting up your build environment): - make chimera_ortho_plus:default + make glenpickle/chimera_ortho_plus:default 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/chimera_ortho_plus/rules.mk b/keyboards/glenpickle/chimera_ortho_plus/rules.mk similarity index 100% rename from keyboards/chimera_ortho_plus/rules.mk rename to keyboards/glenpickle/chimera_ortho_plus/rules.mk From ae705e3e55ec38767a3e80da645983154a73cbfc Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 03:48:51 +0800 Subject: [PATCH 0142/1832] [Keyboard] move @ka2hiro 's boards into /kagizaraya (#16070) --- keyboards/{ => kagizaraya}/chidori/.noci | 0 keyboards/{ => kagizaraya}/chidori/board.c | 0 keyboards/{ => kagizaraya}/chidori/board.h | 0 keyboards/{ => kagizaraya}/chidori/chidori.c | 0 keyboards/{ => kagizaraya}/chidori/chidori.h | 0 keyboards/{ => kagizaraya}/chidori/config.h | 0 keyboards/{ => kagizaraya}/chidori/info.json | 0 keyboards/{ => kagizaraya}/chidori/keymaps/default/config.h | 0 keyboards/{ => kagizaraya}/chidori/keymaps/default/keymap.c | 0 keyboards/{ => kagizaraya}/chidori/keymaps/default/readme.md | 0 keyboards/{ => kagizaraya}/chidori/keymaps/extended/config.h | 0 keyboards/{ => kagizaraya}/chidori/keymaps/extended/keymap.c | 0 keyboards/{ => kagizaraya}/chidori/keymaps/extended/readme.md | 0 keyboards/{ => kagizaraya}/chidori/keymaps/oled_sample/keymap.c | 0 .../{ => kagizaraya}/chidori/keymaps/oled_sample/readme.md | 0 keyboards/{ => kagizaraya}/chidori/keymaps/oled_sample/rules.mk | 0 keyboards/{ => kagizaraya}/chidori/matrix.c | 0 keyboards/{ => kagizaraya}/chidori/readme.md | 2 +- keyboards/{ => kagizaraya}/chidori/rules.mk | 0 keyboards/{ => kagizaraya}/halberd/config.h | 0 keyboards/{ => kagizaraya}/halberd/halberd.c | 0 keyboards/{ => kagizaraya}/halberd/halberd.h | 0 keyboards/{ => kagizaraya}/halberd/info.json | 0 keyboards/{ => kagizaraya}/halberd/keymaps/default/keymap.c | 0 keyboards/{ => kagizaraya}/halberd/keymaps/default/readme.md | 0 .../{ => kagizaraya}/halberd/keymaps/right_modifiers/keymap.c | 0 .../{ => kagizaraya}/halberd/keymaps/right_modifiers/readme.md | 0 keyboards/{ => kagizaraya}/halberd/readme.md | 2 +- keyboards/{ => kagizaraya}/halberd/rules.mk | 0 keyboards/{ => kagizaraya}/scythe/config.h | 0 keyboards/{ => kagizaraya}/scythe/info.json | 0 keyboards/{ => kagizaraya}/scythe/keymaps/default/keymap.c | 0 keyboards/{ => kagizaraya}/scythe/keymaps/default/readme.md | 0 keyboards/{ => kagizaraya}/scythe/keymaps/forties/keymap.c | 0 keyboards/{ => kagizaraya}/scythe/keymaps/forties/readme.md | 0 keyboards/{ => kagizaraya}/scythe/readme.md | 2 +- keyboards/{ => kagizaraya}/scythe/rules.mk | 0 keyboards/{ => kagizaraya}/scythe/scythe.c | 0 keyboards/{ => kagizaraya}/scythe/scythe.h | 0 39 files changed, 3 insertions(+), 3 deletions(-) rename keyboards/{ => kagizaraya}/chidori/.noci (100%) rename keyboards/{ => kagizaraya}/chidori/board.c (100%) rename keyboards/{ => kagizaraya}/chidori/board.h (100%) rename keyboards/{ => kagizaraya}/chidori/chidori.c (100%) rename keyboards/{ => kagizaraya}/chidori/chidori.h (100%) rename keyboards/{ => kagizaraya}/chidori/config.h (100%) rename keyboards/{ => kagizaraya}/chidori/info.json (100%) rename keyboards/{ => kagizaraya}/chidori/keymaps/default/config.h (100%) rename keyboards/{ => kagizaraya}/chidori/keymaps/default/keymap.c (100%) rename keyboards/{ => kagizaraya}/chidori/keymaps/default/readme.md (100%) rename keyboards/{ => kagizaraya}/chidori/keymaps/extended/config.h (100%) rename keyboards/{ => kagizaraya}/chidori/keymaps/extended/keymap.c (100%) rename keyboards/{ => kagizaraya}/chidori/keymaps/extended/readme.md (100%) rename keyboards/{ => kagizaraya}/chidori/keymaps/oled_sample/keymap.c (100%) rename keyboards/{ => kagizaraya}/chidori/keymaps/oled_sample/readme.md (100%) rename keyboards/{ => kagizaraya}/chidori/keymaps/oled_sample/rules.mk (100%) rename keyboards/{ => kagizaraya}/chidori/matrix.c (100%) rename keyboards/{ => kagizaraya}/chidori/readme.md (94%) rename keyboards/{ => kagizaraya}/chidori/rules.mk (100%) rename keyboards/{ => kagizaraya}/halberd/config.h (100%) rename keyboards/{ => kagizaraya}/halberd/halberd.c (100%) rename keyboards/{ => kagizaraya}/halberd/halberd.h (100%) rename keyboards/{ => kagizaraya}/halberd/info.json (100%) rename keyboards/{ => kagizaraya}/halberd/keymaps/default/keymap.c (100%) rename keyboards/{ => kagizaraya}/halberd/keymaps/default/readme.md (100%) rename keyboards/{ => kagizaraya}/halberd/keymaps/right_modifiers/keymap.c (100%) rename keyboards/{ => kagizaraya}/halberd/keymaps/right_modifiers/readme.md (100%) rename keyboards/{ => kagizaraya}/halberd/readme.md (94%) rename keyboards/{ => kagizaraya}/halberd/rules.mk (100%) rename keyboards/{ => kagizaraya}/scythe/config.h (100%) rename keyboards/{ => kagizaraya}/scythe/info.json (100%) rename keyboards/{ => kagizaraya}/scythe/keymaps/default/keymap.c (100%) rename keyboards/{ => kagizaraya}/scythe/keymaps/default/readme.md (100%) rename keyboards/{ => kagizaraya}/scythe/keymaps/forties/keymap.c (100%) rename keyboards/{ => kagizaraya}/scythe/keymaps/forties/readme.md (100%) rename keyboards/{ => kagizaraya}/scythe/readme.md (94%) rename keyboards/{ => kagizaraya}/scythe/rules.mk (100%) rename keyboards/{ => kagizaraya}/scythe/scythe.c (100%) rename keyboards/{ => kagizaraya}/scythe/scythe.h (100%) diff --git a/keyboards/chidori/.noci b/keyboards/kagizaraya/chidori/.noci similarity index 100% rename from keyboards/chidori/.noci rename to keyboards/kagizaraya/chidori/.noci diff --git a/keyboards/chidori/board.c b/keyboards/kagizaraya/chidori/board.c similarity index 100% rename from keyboards/chidori/board.c rename to keyboards/kagizaraya/chidori/board.c diff --git a/keyboards/chidori/board.h b/keyboards/kagizaraya/chidori/board.h similarity index 100% rename from keyboards/chidori/board.h rename to keyboards/kagizaraya/chidori/board.h diff --git a/keyboards/chidori/chidori.c b/keyboards/kagizaraya/chidori/chidori.c similarity index 100% rename from keyboards/chidori/chidori.c rename to keyboards/kagizaraya/chidori/chidori.c diff --git a/keyboards/chidori/chidori.h b/keyboards/kagizaraya/chidori/chidori.h similarity index 100% rename from keyboards/chidori/chidori.h rename to keyboards/kagizaraya/chidori/chidori.h diff --git a/keyboards/chidori/config.h b/keyboards/kagizaraya/chidori/config.h similarity index 100% rename from keyboards/chidori/config.h rename to keyboards/kagizaraya/chidori/config.h diff --git a/keyboards/chidori/info.json b/keyboards/kagizaraya/chidori/info.json similarity index 100% rename from keyboards/chidori/info.json rename to keyboards/kagizaraya/chidori/info.json diff --git a/keyboards/chidori/keymaps/default/config.h b/keyboards/kagizaraya/chidori/keymaps/default/config.h similarity index 100% rename from keyboards/chidori/keymaps/default/config.h rename to keyboards/kagizaraya/chidori/keymaps/default/config.h diff --git a/keyboards/chidori/keymaps/default/keymap.c b/keyboards/kagizaraya/chidori/keymaps/default/keymap.c similarity index 100% rename from keyboards/chidori/keymaps/default/keymap.c rename to keyboards/kagizaraya/chidori/keymaps/default/keymap.c diff --git a/keyboards/chidori/keymaps/default/readme.md b/keyboards/kagizaraya/chidori/keymaps/default/readme.md similarity index 100% rename from keyboards/chidori/keymaps/default/readme.md rename to keyboards/kagizaraya/chidori/keymaps/default/readme.md diff --git a/keyboards/chidori/keymaps/extended/config.h b/keyboards/kagizaraya/chidori/keymaps/extended/config.h similarity index 100% rename from keyboards/chidori/keymaps/extended/config.h rename to keyboards/kagizaraya/chidori/keymaps/extended/config.h diff --git a/keyboards/chidori/keymaps/extended/keymap.c b/keyboards/kagizaraya/chidori/keymaps/extended/keymap.c similarity index 100% rename from keyboards/chidori/keymaps/extended/keymap.c rename to keyboards/kagizaraya/chidori/keymaps/extended/keymap.c diff --git a/keyboards/chidori/keymaps/extended/readme.md b/keyboards/kagizaraya/chidori/keymaps/extended/readme.md similarity index 100% rename from keyboards/chidori/keymaps/extended/readme.md rename to keyboards/kagizaraya/chidori/keymaps/extended/readme.md diff --git a/keyboards/chidori/keymaps/oled_sample/keymap.c b/keyboards/kagizaraya/chidori/keymaps/oled_sample/keymap.c similarity index 100% rename from keyboards/chidori/keymaps/oled_sample/keymap.c rename to keyboards/kagizaraya/chidori/keymaps/oled_sample/keymap.c diff --git a/keyboards/chidori/keymaps/oled_sample/readme.md b/keyboards/kagizaraya/chidori/keymaps/oled_sample/readme.md similarity index 100% rename from keyboards/chidori/keymaps/oled_sample/readme.md rename to keyboards/kagizaraya/chidori/keymaps/oled_sample/readme.md diff --git a/keyboards/chidori/keymaps/oled_sample/rules.mk b/keyboards/kagizaraya/chidori/keymaps/oled_sample/rules.mk similarity index 100% rename from keyboards/chidori/keymaps/oled_sample/rules.mk rename to keyboards/kagizaraya/chidori/keymaps/oled_sample/rules.mk diff --git a/keyboards/chidori/matrix.c b/keyboards/kagizaraya/chidori/matrix.c similarity index 100% rename from keyboards/chidori/matrix.c rename to keyboards/kagizaraya/chidori/matrix.c diff --git a/keyboards/chidori/readme.md b/keyboards/kagizaraya/chidori/readme.md similarity index 94% rename from keyboards/chidori/readme.md rename to keyboards/kagizaraya/chidori/readme.md index d02b50a75865..b77658349179 100644 --- a/keyboards/chidori/readme.md +++ b/keyboards/kagizaraya/chidori/readme.md @@ -10,6 +10,6 @@ Yet another split keyboard made with only through-hole components. Make example for this keyboard (after setting up your build environment): - make chidori:default:usbasp + make kagizaraya/chidori:default:usbasp 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/chidori/rules.mk b/keyboards/kagizaraya/chidori/rules.mk similarity index 100% rename from keyboards/chidori/rules.mk rename to keyboards/kagizaraya/chidori/rules.mk diff --git a/keyboards/halberd/config.h b/keyboards/kagizaraya/halberd/config.h similarity index 100% rename from keyboards/halberd/config.h rename to keyboards/kagizaraya/halberd/config.h diff --git a/keyboards/halberd/halberd.c b/keyboards/kagizaraya/halberd/halberd.c similarity index 100% rename from keyboards/halberd/halberd.c rename to keyboards/kagizaraya/halberd/halberd.c diff --git a/keyboards/halberd/halberd.h b/keyboards/kagizaraya/halberd/halberd.h similarity index 100% rename from keyboards/halberd/halberd.h rename to keyboards/kagizaraya/halberd/halberd.h diff --git a/keyboards/halberd/info.json b/keyboards/kagizaraya/halberd/info.json similarity index 100% rename from keyboards/halberd/info.json rename to keyboards/kagizaraya/halberd/info.json diff --git a/keyboards/halberd/keymaps/default/keymap.c b/keyboards/kagizaraya/halberd/keymaps/default/keymap.c similarity index 100% rename from keyboards/halberd/keymaps/default/keymap.c rename to keyboards/kagizaraya/halberd/keymaps/default/keymap.c diff --git a/keyboards/halberd/keymaps/default/readme.md b/keyboards/kagizaraya/halberd/keymaps/default/readme.md similarity index 100% rename from keyboards/halberd/keymaps/default/readme.md rename to keyboards/kagizaraya/halberd/keymaps/default/readme.md diff --git a/keyboards/halberd/keymaps/right_modifiers/keymap.c b/keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c similarity index 100% rename from keyboards/halberd/keymaps/right_modifiers/keymap.c rename to keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c diff --git a/keyboards/halberd/keymaps/right_modifiers/readme.md b/keyboards/kagizaraya/halberd/keymaps/right_modifiers/readme.md similarity index 100% rename from keyboards/halberd/keymaps/right_modifiers/readme.md rename to keyboards/kagizaraya/halberd/keymaps/right_modifiers/readme.md diff --git a/keyboards/halberd/readme.md b/keyboards/kagizaraya/halberd/readme.md similarity index 94% rename from keyboards/halberd/readme.md rename to keyboards/kagizaraya/halberd/readme.md index 7fa0388fdaae..51c1736996f4 100644 --- a/keyboards/halberd/readme.md +++ b/keyboards/kagizaraya/halberd/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [@kagizaraya](https://twitter.com/kagizaraya) Make example for this keyboard (after setting up your build environment): - make halberd:default:dfu + make kagizaraya/halberd:default:dfu 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/halberd/rules.mk b/keyboards/kagizaraya/halberd/rules.mk similarity index 100% rename from keyboards/halberd/rules.mk rename to keyboards/kagizaraya/halberd/rules.mk diff --git a/keyboards/scythe/config.h b/keyboards/kagizaraya/scythe/config.h similarity index 100% rename from keyboards/scythe/config.h rename to keyboards/kagizaraya/scythe/config.h diff --git a/keyboards/scythe/info.json b/keyboards/kagizaraya/scythe/info.json similarity index 100% rename from keyboards/scythe/info.json rename to keyboards/kagizaraya/scythe/info.json diff --git a/keyboards/scythe/keymaps/default/keymap.c b/keyboards/kagizaraya/scythe/keymaps/default/keymap.c similarity index 100% rename from keyboards/scythe/keymaps/default/keymap.c rename to keyboards/kagizaraya/scythe/keymaps/default/keymap.c diff --git a/keyboards/scythe/keymaps/default/readme.md b/keyboards/kagizaraya/scythe/keymaps/default/readme.md similarity index 100% rename from keyboards/scythe/keymaps/default/readme.md rename to keyboards/kagizaraya/scythe/keymaps/default/readme.md diff --git a/keyboards/scythe/keymaps/forties/keymap.c b/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c similarity index 100% rename from keyboards/scythe/keymaps/forties/keymap.c rename to keyboards/kagizaraya/scythe/keymaps/forties/keymap.c diff --git a/keyboards/scythe/keymaps/forties/readme.md b/keyboards/kagizaraya/scythe/keymaps/forties/readme.md similarity index 100% rename from keyboards/scythe/keymaps/forties/readme.md rename to keyboards/kagizaraya/scythe/keymaps/forties/readme.md diff --git a/keyboards/scythe/readme.md b/keyboards/kagizaraya/scythe/readme.md similarity index 94% rename from keyboards/scythe/readme.md rename to keyboards/kagizaraya/scythe/readme.md index fed4a77e2fde..d87b1f82bfe5 100644 --- a/keyboards/scythe/readme.md +++ b/keyboards/kagizaraya/scythe/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [@kagizaraya](https://twitter.com/kagizaraya) Make example for this keyboard (after setting up your build environment): - make scythe:default:dfu + make kagizaraya/scythe:default:dfu 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/scythe/rules.mk b/keyboards/kagizaraya/scythe/rules.mk similarity index 100% rename from keyboards/scythe/rules.mk rename to keyboards/kagizaraya/scythe/rules.mk diff --git a/keyboards/scythe/scythe.c b/keyboards/kagizaraya/scythe/scythe.c similarity index 100% rename from keyboards/scythe/scythe.c rename to keyboards/kagizaraya/scythe/scythe.c diff --git a/keyboards/scythe/scythe.h b/keyboards/kagizaraya/scythe/scythe.h similarity index 100% rename from keyboards/scythe/scythe.h rename to keyboards/kagizaraya/scythe/scythe.h From 84b7fc364d8c3a18a109d84837f1399f6f2f8143 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 03:52:01 +0800 Subject: [PATCH 0143/1832] [Keyboard] move @takai 's keyboards into /recompile_keys (#16053) --- keyboards/choco60/rules.mk | 1 - keyboards/nomu30/rules.mk | 1 - keyboards/{ => recompile_keys}/choco60/choco60.c | 0 keyboards/{ => recompile_keys}/choco60/choco60.h | 0 keyboards/{ => recompile_keys}/choco60/config.h | 0 keyboards/{ => recompile_keys}/choco60/info.json | 0 .../{ => recompile_keys}/choco60/keymaps/default/keymap.c | 0 .../{ => recompile_keys}/choco60/keymaps/default/readme.md | 0 keyboards/{ => recompile_keys}/choco60/keymaps/via/keymap.c | 0 keyboards/{ => recompile_keys}/choco60/keymaps/via/rules.mk | 0 keyboards/{ => recompile_keys}/choco60/readme.md | 4 ++-- keyboards/{ => recompile_keys}/choco60/rev1/.noci | 0 keyboards/{ => recompile_keys}/choco60/rev1/config.h | 0 keyboards/{ => recompile_keys}/choco60/rev1/readme.md | 0 keyboards/{ => recompile_keys}/choco60/rev1/rev1.c | 0 keyboards/{ => recompile_keys}/choco60/rev1/rev1.h | 0 keyboards/{ => recompile_keys}/choco60/rev1/rules.mk | 0 keyboards/{ => recompile_keys}/choco60/rev2/config.h | 0 keyboards/{ => recompile_keys}/choco60/rev2/readme.md | 0 keyboards/{ => recompile_keys}/choco60/rev2/rev2.c | 0 keyboards/{ => recompile_keys}/choco60/rev2/rev2.h | 0 keyboards/{ => recompile_keys}/choco60/rev2/rules.mk | 0 keyboards/recompile_keys/choco60/rules.mk | 1 + keyboards/{ => recompile_keys}/cocoa40/.noci | 0 keyboards/{ => recompile_keys}/cocoa40/cocoa40.c | 0 keyboards/{ => recompile_keys}/cocoa40/cocoa40.h | 0 keyboards/{ => recompile_keys}/cocoa40/config.h | 0 keyboards/{ => recompile_keys}/cocoa40/info.json | 0 .../{ => recompile_keys}/cocoa40/keymaps/default/keymap.c | 0 .../{ => recompile_keys}/cocoa40/keymaps/default/readme.md | 0 keyboards/{ => recompile_keys}/cocoa40/readme.md | 2 +- keyboards/{ => recompile_keys}/cocoa40/rules.mk | 0 keyboards/{ => recompile_keys}/mio/config.h | 0 keyboards/{ => recompile_keys}/mio/info.json | 0 keyboards/{ => recompile_keys}/mio/keymaps/default/keymap.c | 0 keyboards/{ => recompile_keys}/mio/keymaps/default/readme.md | 0 keyboards/{ => recompile_keys}/mio/keymaps/via/keymap.c | 0 keyboards/{ => recompile_keys}/mio/keymaps/via/rules.mk | 0 keyboards/{ => recompile_keys}/mio/mio.c | 0 keyboards/{ => recompile_keys}/mio/mio.h | 0 keyboards/{ => recompile_keys}/mio/readme.md | 4 ++-- keyboards/{ => recompile_keys}/mio/rules.mk | 0 keyboards/{ => recompile_keys}/nomu30/.noci | 0 keyboards/{ => recompile_keys}/nomu30/config.h | 0 keyboards/{ => recompile_keys}/nomu30/info.json | 0 .../{ => recompile_keys}/nomu30/keymaps/center_sprit/config.h | 0 .../{ => recompile_keys}/nomu30/keymaps/center_sprit/keymap.c | 0 .../nomu30/keymaps/center_sprit/readme.md | 0 .../{ => recompile_keys}/nomu30/keymaps/center_sprit/rules.mk | 0 .../{ => recompile_keys}/nomu30/keymaps/default/config.h | 0 .../{ => recompile_keys}/nomu30/keymaps/default/keymap.c | 0 .../{ => recompile_keys}/nomu30/keymaps/default/readme.md | 0 .../{ => recompile_keys}/nomu30/keymaps/like_jis/config.h | 0 .../{ => recompile_keys}/nomu30/keymaps/like_jis/keymap.c | 0 .../{ => recompile_keys}/nomu30/keymaps/like_jis/readme.md | 0 .../{ => recompile_keys}/nomu30/keymaps/like_jis/rules.mk | 0 keyboards/{ => recompile_keys}/nomu30/keymaps/via/keymap.c | 0 keyboards/{ => recompile_keys}/nomu30/keymaps/via/rules.mk | 0 keyboards/{ => recompile_keys}/nomu30/nomu30.c | 0 keyboards/{ => recompile_keys}/nomu30/nomu30.h | 4 ++-- keyboards/{ => recompile_keys}/nomu30/readme.md | 2 +- keyboards/{ => recompile_keys}/nomu30/rev1/.noci | 0 keyboards/{ => recompile_keys}/nomu30/rev1/config.h | 0 keyboards/{ => recompile_keys}/nomu30/rev1/rev1.c | 0 keyboards/{ => recompile_keys}/nomu30/rev1/rev1.h | 0 keyboards/{ => recompile_keys}/nomu30/rev1/rules.mk | 0 keyboards/{ => recompile_keys}/nomu30/rev2/.noci | 0 keyboards/{ => recompile_keys}/nomu30/rev2/config.h | 0 keyboards/{ => recompile_keys}/nomu30/rev2/rev2.c | 0 keyboards/{ => recompile_keys}/nomu30/rev2/rev2.h | 0 keyboards/{ => recompile_keys}/nomu30/rev2/rules.mk | 0 keyboards/recompile_keys/nomu30/rules.mk | 1 + 72 files changed, 10 insertions(+), 10 deletions(-) delete mode 100644 keyboards/choco60/rules.mk delete mode 100644 keyboards/nomu30/rules.mk rename keyboards/{ => recompile_keys}/choco60/choco60.c (100%) rename keyboards/{ => recompile_keys}/choco60/choco60.h (100%) rename keyboards/{ => recompile_keys}/choco60/config.h (100%) rename keyboards/{ => recompile_keys}/choco60/info.json (100%) rename keyboards/{ => recompile_keys}/choco60/keymaps/default/keymap.c (100%) rename keyboards/{ => recompile_keys}/choco60/keymaps/default/readme.md (100%) rename keyboards/{ => recompile_keys}/choco60/keymaps/via/keymap.c (100%) rename keyboards/{ => recompile_keys}/choco60/keymaps/via/rules.mk (100%) rename keyboards/{ => recompile_keys}/choco60/readme.md (88%) rename keyboards/{ => recompile_keys}/choco60/rev1/.noci (100%) rename keyboards/{ => recompile_keys}/choco60/rev1/config.h (100%) rename keyboards/{ => recompile_keys}/choco60/rev1/readme.md (100%) rename keyboards/{ => recompile_keys}/choco60/rev1/rev1.c (100%) rename keyboards/{ => recompile_keys}/choco60/rev1/rev1.h (100%) rename keyboards/{ => recompile_keys}/choco60/rev1/rules.mk (100%) rename keyboards/{ => recompile_keys}/choco60/rev2/config.h (100%) rename keyboards/{ => recompile_keys}/choco60/rev2/readme.md (100%) rename keyboards/{ => recompile_keys}/choco60/rev2/rev2.c (100%) rename keyboards/{ => recompile_keys}/choco60/rev2/rev2.h (100%) rename keyboards/{ => recompile_keys}/choco60/rev2/rules.mk (100%) create mode 100644 keyboards/recompile_keys/choco60/rules.mk rename keyboards/{ => recompile_keys}/cocoa40/.noci (100%) rename keyboards/{ => recompile_keys}/cocoa40/cocoa40.c (100%) rename keyboards/{ => recompile_keys}/cocoa40/cocoa40.h (100%) rename keyboards/{ => recompile_keys}/cocoa40/config.h (100%) rename keyboards/{ => recompile_keys}/cocoa40/info.json (100%) rename keyboards/{ => recompile_keys}/cocoa40/keymaps/default/keymap.c (100%) rename keyboards/{ => recompile_keys}/cocoa40/keymaps/default/readme.md (100%) rename keyboards/{ => recompile_keys}/cocoa40/readme.md (94%) rename keyboards/{ => recompile_keys}/cocoa40/rules.mk (100%) rename keyboards/{ => recompile_keys}/mio/config.h (100%) rename keyboards/{ => recompile_keys}/mio/info.json (100%) rename keyboards/{ => recompile_keys}/mio/keymaps/default/keymap.c (100%) rename keyboards/{ => recompile_keys}/mio/keymaps/default/readme.md (100%) rename keyboards/{ => recompile_keys}/mio/keymaps/via/keymap.c (100%) rename keyboards/{ => recompile_keys}/mio/keymaps/via/rules.mk (100%) rename keyboards/{ => recompile_keys}/mio/mio.c (100%) rename keyboards/{ => recompile_keys}/mio/mio.h (100%) rename keyboards/{ => recompile_keys}/mio/readme.md (91%) rename keyboards/{ => recompile_keys}/mio/rules.mk (100%) rename keyboards/{ => recompile_keys}/nomu30/.noci (100%) rename keyboards/{ => recompile_keys}/nomu30/config.h (100%) rename keyboards/{ => recompile_keys}/nomu30/info.json (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/center_sprit/config.h (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/center_sprit/keymap.c (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/center_sprit/readme.md (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/center_sprit/rules.mk (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/default/config.h (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/default/keymap.c (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/default/readme.md (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/like_jis/config.h (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/like_jis/keymap.c (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/like_jis/readme.md (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/like_jis/rules.mk (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/via/keymap.c (100%) rename keyboards/{ => recompile_keys}/nomu30/keymaps/via/rules.mk (100%) rename keyboards/{ => recompile_keys}/nomu30/nomu30.c (100%) rename keyboards/{ => recompile_keys}/nomu30/nomu30.h (93%) rename keyboards/{ => recompile_keys}/nomu30/readme.md (94%) rename keyboards/{ => recompile_keys}/nomu30/rev1/.noci (100%) rename keyboards/{ => recompile_keys}/nomu30/rev1/config.h (100%) rename keyboards/{ => recompile_keys}/nomu30/rev1/rev1.c (100%) rename keyboards/{ => recompile_keys}/nomu30/rev1/rev1.h (100%) rename keyboards/{ => recompile_keys}/nomu30/rev1/rules.mk (100%) rename keyboards/{ => recompile_keys}/nomu30/rev2/.noci (100%) rename keyboards/{ => recompile_keys}/nomu30/rev2/config.h (100%) rename keyboards/{ => recompile_keys}/nomu30/rev2/rev2.c (100%) rename keyboards/{ => recompile_keys}/nomu30/rev2/rev2.h (100%) rename keyboards/{ => recompile_keys}/nomu30/rev2/rules.mk (100%) create mode 100644 keyboards/recompile_keys/nomu30/rules.mk diff --git a/keyboards/choco60/rules.mk b/keyboards/choco60/rules.mk deleted file mode 100644 index 8f712e359b3f..000000000000 --- a/keyboards/choco60/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = choco60/rev1 diff --git a/keyboards/nomu30/rules.mk b/keyboards/nomu30/rules.mk deleted file mode 100644 index 8a7395940705..000000000000 --- a/keyboards/nomu30/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = nomu30/rev1 diff --git a/keyboards/choco60/choco60.c b/keyboards/recompile_keys/choco60/choco60.c similarity index 100% rename from keyboards/choco60/choco60.c rename to keyboards/recompile_keys/choco60/choco60.c diff --git a/keyboards/choco60/choco60.h b/keyboards/recompile_keys/choco60/choco60.h similarity index 100% rename from keyboards/choco60/choco60.h rename to keyboards/recompile_keys/choco60/choco60.h diff --git a/keyboards/choco60/config.h b/keyboards/recompile_keys/choco60/config.h similarity index 100% rename from keyboards/choco60/config.h rename to keyboards/recompile_keys/choco60/config.h diff --git a/keyboards/choco60/info.json b/keyboards/recompile_keys/choco60/info.json similarity index 100% rename from keyboards/choco60/info.json rename to keyboards/recompile_keys/choco60/info.json diff --git a/keyboards/choco60/keymaps/default/keymap.c b/keyboards/recompile_keys/choco60/keymaps/default/keymap.c similarity index 100% rename from keyboards/choco60/keymaps/default/keymap.c rename to keyboards/recompile_keys/choco60/keymaps/default/keymap.c diff --git a/keyboards/choco60/keymaps/default/readme.md b/keyboards/recompile_keys/choco60/keymaps/default/readme.md similarity index 100% rename from keyboards/choco60/keymaps/default/readme.md rename to keyboards/recompile_keys/choco60/keymaps/default/readme.md diff --git a/keyboards/choco60/keymaps/via/keymap.c b/keyboards/recompile_keys/choco60/keymaps/via/keymap.c similarity index 100% rename from keyboards/choco60/keymaps/via/keymap.c rename to keyboards/recompile_keys/choco60/keymaps/via/keymap.c diff --git a/keyboards/choco60/keymaps/via/rules.mk b/keyboards/recompile_keys/choco60/keymaps/via/rules.mk similarity index 100% rename from keyboards/choco60/keymaps/via/rules.mk rename to keyboards/recompile_keys/choco60/keymaps/via/rules.mk diff --git a/keyboards/choco60/readme.md b/keyboards/recompile_keys/choco60/readme.md similarity index 88% rename from keyboards/choco60/readme.md rename to keyboards/recompile_keys/choco60/readme.md index 0290f95d2819..187c3c894295 100644 --- a/keyboards/choco60/readme.md +++ b/keyboards/recompile_keys/choco60/readme.md @@ -11,7 +11,7 @@ A 60% split keyboard for programmers. Make example for this keyboard (after setting up your build environment): - make choco60/rev1:default - make choco60/rev2:default + make recompile_keys/choco60/rev1:default + make recompile_keys/choco60/rev2:default 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/choco60/rev1/.noci b/keyboards/recompile_keys/choco60/rev1/.noci similarity index 100% rename from keyboards/choco60/rev1/.noci rename to keyboards/recompile_keys/choco60/rev1/.noci diff --git a/keyboards/choco60/rev1/config.h b/keyboards/recompile_keys/choco60/rev1/config.h similarity index 100% rename from keyboards/choco60/rev1/config.h rename to keyboards/recompile_keys/choco60/rev1/config.h diff --git a/keyboards/choco60/rev1/readme.md b/keyboards/recompile_keys/choco60/rev1/readme.md similarity index 100% rename from keyboards/choco60/rev1/readme.md rename to keyboards/recompile_keys/choco60/rev1/readme.md diff --git a/keyboards/choco60/rev1/rev1.c b/keyboards/recompile_keys/choco60/rev1/rev1.c similarity index 100% rename from keyboards/choco60/rev1/rev1.c rename to keyboards/recompile_keys/choco60/rev1/rev1.c diff --git a/keyboards/choco60/rev1/rev1.h b/keyboards/recompile_keys/choco60/rev1/rev1.h similarity index 100% rename from keyboards/choco60/rev1/rev1.h rename to keyboards/recompile_keys/choco60/rev1/rev1.h diff --git a/keyboards/choco60/rev1/rules.mk b/keyboards/recompile_keys/choco60/rev1/rules.mk similarity index 100% rename from keyboards/choco60/rev1/rules.mk rename to keyboards/recompile_keys/choco60/rev1/rules.mk diff --git a/keyboards/choco60/rev2/config.h b/keyboards/recompile_keys/choco60/rev2/config.h similarity index 100% rename from keyboards/choco60/rev2/config.h rename to keyboards/recompile_keys/choco60/rev2/config.h diff --git a/keyboards/choco60/rev2/readme.md b/keyboards/recompile_keys/choco60/rev2/readme.md similarity index 100% rename from keyboards/choco60/rev2/readme.md rename to keyboards/recompile_keys/choco60/rev2/readme.md diff --git a/keyboards/choco60/rev2/rev2.c b/keyboards/recompile_keys/choco60/rev2/rev2.c similarity index 100% rename from keyboards/choco60/rev2/rev2.c rename to keyboards/recompile_keys/choco60/rev2/rev2.c diff --git a/keyboards/choco60/rev2/rev2.h b/keyboards/recompile_keys/choco60/rev2/rev2.h similarity index 100% rename from keyboards/choco60/rev2/rev2.h rename to keyboards/recompile_keys/choco60/rev2/rev2.h diff --git a/keyboards/choco60/rev2/rules.mk b/keyboards/recompile_keys/choco60/rev2/rules.mk similarity index 100% rename from keyboards/choco60/rev2/rules.mk rename to keyboards/recompile_keys/choco60/rev2/rules.mk diff --git a/keyboards/recompile_keys/choco60/rules.mk b/keyboards/recompile_keys/choco60/rules.mk new file mode 100644 index 000000000000..6abfd34d4730 --- /dev/null +++ b/keyboards/recompile_keys/choco60/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = recompile_keys/choco60/rev1 diff --git a/keyboards/cocoa40/.noci b/keyboards/recompile_keys/cocoa40/.noci similarity index 100% rename from keyboards/cocoa40/.noci rename to keyboards/recompile_keys/cocoa40/.noci diff --git a/keyboards/cocoa40/cocoa40.c b/keyboards/recompile_keys/cocoa40/cocoa40.c similarity index 100% rename from keyboards/cocoa40/cocoa40.c rename to keyboards/recompile_keys/cocoa40/cocoa40.c diff --git a/keyboards/cocoa40/cocoa40.h b/keyboards/recompile_keys/cocoa40/cocoa40.h similarity index 100% rename from keyboards/cocoa40/cocoa40.h rename to keyboards/recompile_keys/cocoa40/cocoa40.h diff --git a/keyboards/cocoa40/config.h b/keyboards/recompile_keys/cocoa40/config.h similarity index 100% rename from keyboards/cocoa40/config.h rename to keyboards/recompile_keys/cocoa40/config.h diff --git a/keyboards/cocoa40/info.json b/keyboards/recompile_keys/cocoa40/info.json similarity index 100% rename from keyboards/cocoa40/info.json rename to keyboards/recompile_keys/cocoa40/info.json diff --git a/keyboards/cocoa40/keymaps/default/keymap.c b/keyboards/recompile_keys/cocoa40/keymaps/default/keymap.c similarity index 100% rename from keyboards/cocoa40/keymaps/default/keymap.c rename to keyboards/recompile_keys/cocoa40/keymaps/default/keymap.c diff --git a/keyboards/cocoa40/keymaps/default/readme.md b/keyboards/recompile_keys/cocoa40/keymaps/default/readme.md similarity index 100% rename from keyboards/cocoa40/keymaps/default/readme.md rename to keyboards/recompile_keys/cocoa40/keymaps/default/readme.md diff --git a/keyboards/cocoa40/readme.md b/keyboards/recompile_keys/cocoa40/readme.md similarity index 94% rename from keyboards/cocoa40/readme.md rename to keyboards/recompile_keys/cocoa40/readme.md index e05caaba9c19..2690628940cf 100644 --- a/keyboards/cocoa40/readme.md +++ b/keyboards/recompile_keys/cocoa40/readme.md @@ -10,6 +10,6 @@ Hardware Availability: https://keys.recompile.net/projects/cocoa40/ Make example for this keyboard (after setting up your build environment): - make cocoa40:default + make recompile_keys/cocoa40:default 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/cocoa40/rules.mk b/keyboards/recompile_keys/cocoa40/rules.mk similarity index 100% rename from keyboards/cocoa40/rules.mk rename to keyboards/recompile_keys/cocoa40/rules.mk diff --git a/keyboards/mio/config.h b/keyboards/recompile_keys/mio/config.h similarity index 100% rename from keyboards/mio/config.h rename to keyboards/recompile_keys/mio/config.h diff --git a/keyboards/mio/info.json b/keyboards/recompile_keys/mio/info.json similarity index 100% rename from keyboards/mio/info.json rename to keyboards/recompile_keys/mio/info.json diff --git a/keyboards/mio/keymaps/default/keymap.c b/keyboards/recompile_keys/mio/keymaps/default/keymap.c similarity index 100% rename from keyboards/mio/keymaps/default/keymap.c rename to keyboards/recompile_keys/mio/keymaps/default/keymap.c diff --git a/keyboards/mio/keymaps/default/readme.md b/keyboards/recompile_keys/mio/keymaps/default/readme.md similarity index 100% rename from keyboards/mio/keymaps/default/readme.md rename to keyboards/recompile_keys/mio/keymaps/default/readme.md diff --git a/keyboards/mio/keymaps/via/keymap.c b/keyboards/recompile_keys/mio/keymaps/via/keymap.c similarity index 100% rename from keyboards/mio/keymaps/via/keymap.c rename to keyboards/recompile_keys/mio/keymaps/via/keymap.c diff --git a/keyboards/mio/keymaps/via/rules.mk b/keyboards/recompile_keys/mio/keymaps/via/rules.mk similarity index 100% rename from keyboards/mio/keymaps/via/rules.mk rename to keyboards/recompile_keys/mio/keymaps/via/rules.mk diff --git a/keyboards/mio/mio.c b/keyboards/recompile_keys/mio/mio.c similarity index 100% rename from keyboards/mio/mio.c rename to keyboards/recompile_keys/mio/mio.c diff --git a/keyboards/mio/mio.h b/keyboards/recompile_keys/mio/mio.h similarity index 100% rename from keyboards/mio/mio.h rename to keyboards/recompile_keys/mio/mio.h diff --git a/keyboards/mio/readme.md b/keyboards/recompile_keys/mio/readme.md similarity index 91% rename from keyboards/mio/readme.md rename to keyboards/recompile_keys/mio/readme.md index 6ae4fd049ffc..2703c39e6950 100644 --- a/keyboards/mio/readme.md +++ b/keyboards/recompile_keys/mio/readme.md @@ -10,11 +10,11 @@ High-end custom gaming keyboard. Make example for this keyboard (after setting up your build environment): - make mio:default + make recompile_keys/mio:default Flashing example for this keyboard: - make mio:default:flash + make recompile_keys/mio:default:flash 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/mio/rules.mk b/keyboards/recompile_keys/mio/rules.mk similarity index 100% rename from keyboards/mio/rules.mk rename to keyboards/recompile_keys/mio/rules.mk diff --git a/keyboards/nomu30/.noci b/keyboards/recompile_keys/nomu30/.noci similarity index 100% rename from keyboards/nomu30/.noci rename to keyboards/recompile_keys/nomu30/.noci diff --git a/keyboards/nomu30/config.h b/keyboards/recompile_keys/nomu30/config.h similarity index 100% rename from keyboards/nomu30/config.h rename to keyboards/recompile_keys/nomu30/config.h diff --git a/keyboards/nomu30/info.json b/keyboards/recompile_keys/nomu30/info.json similarity index 100% rename from keyboards/nomu30/info.json rename to keyboards/recompile_keys/nomu30/info.json diff --git a/keyboards/nomu30/keymaps/center_sprit/config.h b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/config.h similarity index 100% rename from keyboards/nomu30/keymaps/center_sprit/config.h rename to keyboards/recompile_keys/nomu30/keymaps/center_sprit/config.h diff --git a/keyboards/nomu30/keymaps/center_sprit/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c similarity index 100% rename from keyboards/nomu30/keymaps/center_sprit/keymap.c rename to keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c diff --git a/keyboards/nomu30/keymaps/center_sprit/readme.md b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md similarity index 100% rename from keyboards/nomu30/keymaps/center_sprit/readme.md rename to keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md diff --git a/keyboards/nomu30/keymaps/center_sprit/rules.mk b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/rules.mk similarity index 100% rename from keyboards/nomu30/keymaps/center_sprit/rules.mk rename to keyboards/recompile_keys/nomu30/keymaps/center_sprit/rules.mk diff --git a/keyboards/nomu30/keymaps/default/config.h b/keyboards/recompile_keys/nomu30/keymaps/default/config.h similarity index 100% rename from keyboards/nomu30/keymaps/default/config.h rename to keyboards/recompile_keys/nomu30/keymaps/default/config.h diff --git a/keyboards/nomu30/keymaps/default/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/default/keymap.c similarity index 100% rename from keyboards/nomu30/keymaps/default/keymap.c rename to keyboards/recompile_keys/nomu30/keymaps/default/keymap.c diff --git a/keyboards/nomu30/keymaps/default/readme.md b/keyboards/recompile_keys/nomu30/keymaps/default/readme.md similarity index 100% rename from keyboards/nomu30/keymaps/default/readme.md rename to keyboards/recompile_keys/nomu30/keymaps/default/readme.md diff --git a/keyboards/nomu30/keymaps/like_jis/config.h b/keyboards/recompile_keys/nomu30/keymaps/like_jis/config.h similarity index 100% rename from keyboards/nomu30/keymaps/like_jis/config.h rename to keyboards/recompile_keys/nomu30/keymaps/like_jis/config.h diff --git a/keyboards/nomu30/keymaps/like_jis/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c similarity index 100% rename from keyboards/nomu30/keymaps/like_jis/keymap.c rename to keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c diff --git a/keyboards/nomu30/keymaps/like_jis/readme.md b/keyboards/recompile_keys/nomu30/keymaps/like_jis/readme.md similarity index 100% rename from keyboards/nomu30/keymaps/like_jis/readme.md rename to keyboards/recompile_keys/nomu30/keymaps/like_jis/readme.md diff --git a/keyboards/nomu30/keymaps/like_jis/rules.mk b/keyboards/recompile_keys/nomu30/keymaps/like_jis/rules.mk similarity index 100% rename from keyboards/nomu30/keymaps/like_jis/rules.mk rename to keyboards/recompile_keys/nomu30/keymaps/like_jis/rules.mk diff --git a/keyboards/nomu30/keymaps/via/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/via/keymap.c similarity index 100% rename from keyboards/nomu30/keymaps/via/keymap.c rename to keyboards/recompile_keys/nomu30/keymaps/via/keymap.c diff --git a/keyboards/nomu30/keymaps/via/rules.mk b/keyboards/recompile_keys/nomu30/keymaps/via/rules.mk similarity index 100% rename from keyboards/nomu30/keymaps/via/rules.mk rename to keyboards/recompile_keys/nomu30/keymaps/via/rules.mk diff --git a/keyboards/nomu30/nomu30.c b/keyboards/recompile_keys/nomu30/nomu30.c similarity index 100% rename from keyboards/nomu30/nomu30.c rename to keyboards/recompile_keys/nomu30/nomu30.c diff --git a/keyboards/nomu30/nomu30.h b/keyboards/recompile_keys/nomu30/nomu30.h similarity index 93% rename from keyboards/nomu30/nomu30.h rename to keyboards/recompile_keys/nomu30/nomu30.h index cf724ac6e4c9..964eb2a65fd7 100644 --- a/keyboards/nomu30/nomu30.h +++ b/keyboards/recompile_keys/nomu30/nomu30.h @@ -16,9 +16,9 @@ #pragma once #include "quantum.h" -#ifdef KEYBOARD_nomu30_rev1 +#ifdef KEYBOARD_recompile_keys_nomu30_rev1 #include "rev1.h" -#elif KEYBOARD_nomu30_rev2 +#elif KEYBOARD_recompile_keys_nomu30_rev2 #include "rev2.h" #endif diff --git a/keyboards/nomu30/readme.md b/keyboards/recompile_keys/nomu30/readme.md similarity index 94% rename from keyboards/nomu30/readme.md rename to keyboards/recompile_keys/nomu30/readme.md index 95577164a110..e0551d0002ef 100644 --- a/keyboards/nomu30/readme.md +++ b/keyboards/recompile_keys/nomu30/readme.md @@ -10,6 +10,6 @@ Hardware Availability: https://keys.recompile.net/projects/nomu30/ Make example for this keyboard (after setting up your build environment): - make nomu30:default + make recompile_keys/nomu30:default 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/nomu30/rev1/.noci b/keyboards/recompile_keys/nomu30/rev1/.noci similarity index 100% rename from keyboards/nomu30/rev1/.noci rename to keyboards/recompile_keys/nomu30/rev1/.noci diff --git a/keyboards/nomu30/rev1/config.h b/keyboards/recompile_keys/nomu30/rev1/config.h similarity index 100% rename from keyboards/nomu30/rev1/config.h rename to keyboards/recompile_keys/nomu30/rev1/config.h diff --git a/keyboards/nomu30/rev1/rev1.c b/keyboards/recompile_keys/nomu30/rev1/rev1.c similarity index 100% rename from keyboards/nomu30/rev1/rev1.c rename to keyboards/recompile_keys/nomu30/rev1/rev1.c diff --git a/keyboards/nomu30/rev1/rev1.h b/keyboards/recompile_keys/nomu30/rev1/rev1.h similarity index 100% rename from keyboards/nomu30/rev1/rev1.h rename to keyboards/recompile_keys/nomu30/rev1/rev1.h diff --git a/keyboards/nomu30/rev1/rules.mk b/keyboards/recompile_keys/nomu30/rev1/rules.mk similarity index 100% rename from keyboards/nomu30/rev1/rules.mk rename to keyboards/recompile_keys/nomu30/rev1/rules.mk diff --git a/keyboards/nomu30/rev2/.noci b/keyboards/recompile_keys/nomu30/rev2/.noci similarity index 100% rename from keyboards/nomu30/rev2/.noci rename to keyboards/recompile_keys/nomu30/rev2/.noci diff --git a/keyboards/nomu30/rev2/config.h b/keyboards/recompile_keys/nomu30/rev2/config.h similarity index 100% rename from keyboards/nomu30/rev2/config.h rename to keyboards/recompile_keys/nomu30/rev2/config.h diff --git a/keyboards/nomu30/rev2/rev2.c b/keyboards/recompile_keys/nomu30/rev2/rev2.c similarity index 100% rename from keyboards/nomu30/rev2/rev2.c rename to keyboards/recompile_keys/nomu30/rev2/rev2.c diff --git a/keyboards/nomu30/rev2/rev2.h b/keyboards/recompile_keys/nomu30/rev2/rev2.h similarity index 100% rename from keyboards/nomu30/rev2/rev2.h rename to keyboards/recompile_keys/nomu30/rev2/rev2.h diff --git a/keyboards/nomu30/rev2/rules.mk b/keyboards/recompile_keys/nomu30/rev2/rules.mk similarity index 100% rename from keyboards/nomu30/rev2/rules.mk rename to keyboards/recompile_keys/nomu30/rev2/rules.mk diff --git a/keyboards/recompile_keys/nomu30/rules.mk b/keyboards/recompile_keys/nomu30/rules.mk new file mode 100644 index 000000000000..431b619249b4 --- /dev/null +++ b/keyboards/recompile_keys/nomu30/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = recompile_keys/nomu30/rev1 From a33dcb5a9a948d871cdceb219dba92f0512ff817 Mon Sep 17 00:00:00 2001 From: XScorpion2 Date: Mon, 31 Jan 2022 18:10:46 -0600 Subject: [PATCH 0144/1832] Small fix for Sol 3 brightness limits (#16157) --- keyboards/rgbkb/sol3/config.h | 18 +++++++++--------- keyboards/rgbkb/sol3/rev1/rev1.c | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/keyboards/rgbkb/sol3/config.h b/keyboards/rgbkb/sol3/config.h index a333ef788ab2..8d87e5b2fa98 100644 --- a/keyboards/rgbkb/sol3/config.h +++ b/keyboards/rgbkb/sol3/config.h @@ -88,6 +88,11 @@ #define RGB_DI_PIN B5 #define RGBLED_NUM 156 #define RGBLED_SPLIT { 78, 78 } +#define RGBLIGHT_LIMIT_VAL 255 + +// RGB Lighting Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgblight?id=effect-and-animation-toggles #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -102,11 +107,11 @@ #define DRIVER_LED_TOTAL RGBLED_NUM #define RGB_MATRIX_SPLIT RGBLED_SPLIT #define RGB_MATRIX_CENTER { 81, 28 } +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL #define RGB_MATRIX_LED_FLUSH_LIMIT 33 #define RGB_MATRIX_LED_PROCESS_LIMIT 10 -#define RGB_MATRIX_KEYPRESSES -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_DISABLE_WHEN_USB_SUSPENDED + // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects @@ -140,9 +145,11 @@ #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define ENABLE_RGB_MATRIX_TYPING_HEATMAP #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +#define RGB_MATRIX_KEYPRESSES #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE @@ -156,13 +163,6 @@ #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#if RGB_UNLIMITED_POWER - #define RGBLIGHT_LIMIT_VAL 255 -#else - #define RGBLIGHT_LIMIT_VAL 127 -#endif -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL - #define WS2812_PWM_DRIVER PWMD3 #define WS2812_PWM_CHANNEL 2 #define WS2812_PWM_PAL_MODE 2 diff --git a/keyboards/rgbkb/sol3/rev1/rev1.c b/keyboards/rgbkb/sol3/rev1/rev1.c index 32b278f3d8e7..5dc156c94d1d 100644 --- a/keyboards/rgbkb/sol3/rev1/rev1.c +++ b/keyboards/rgbkb/sol3/rev1/rev1.c @@ -39,7 +39,7 @@ const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPT { { 7, 7 }, { 6, 7 }, { 8, 7 }, { 11, 6 }, { 11, 7 }, } // Touch Encoder 1 matrix entries }; -static bool limit_lightning = false; +static bool limit_lightning = true; RGB rgb_matrix_hsv_to_rgb(HSV hsv) { if (limit_lightning) hsv.v /= 2; From 8515d12e2088fb8a3284a3ae239cc4fc945643e7 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 10:11:18 +0800 Subject: [PATCH 0145/1832] [Keyboard] move @omkbd 's boards to /omkbd (#16116) --- keyboards/{ => omkbd}/ergodash/.noci | 0 keyboards/{ => omkbd}/ergodash/config.h | 0 keyboards/{ => omkbd}/ergodash/ergodash.c | 0 keyboards/{ => omkbd}/ergodash/ergodash.h | 4 +- keyboards/{ => omkbd}/ergodash/mini/.noci | 0 keyboards/{ => omkbd}/ergodash/mini/config.h | 0 keyboards/{ => omkbd}/ergodash/mini/info.json | 0 .../ergodash/mini/keymaps/default/config.h | 0 .../ergodash/mini/keymaps/default/keymap.c | 0 .../ergodash/mini/keymaps/default/rules.mk | 0 .../mini/keymaps/toyoshimahidenori/config.h | 0 .../mini/keymaps/toyoshimahidenori/keymap.c | 0 .../mini/keymaps/toyoshimahidenori/readme.md | 0 .../mini/keymaps/toyoshimahidenori/rules.mk | 0 .../mini/keymaps/yoshimaru46/config.h | 0 .../mini/keymaps/yoshimaru46/keymap.c | 0 .../mini/keymaps/yoshimaru46/readme.md | 0 .../mini/keymaps/yoshimaru46/rules.mk | 0 keyboards/{ => omkbd}/ergodash/mini/mini.c | 0 keyboards/{ => omkbd}/ergodash/mini/mini.h | 0 keyboards/{ => omkbd}/ergodash/mini/readme.md | 2 +- keyboards/{ => omkbd}/ergodash/mini/rules.mk | 0 keyboards/{ => omkbd}/ergodash/readme.md | 4 +- keyboards/{ => omkbd}/ergodash/rev1/.noci | 0 keyboards/{ => omkbd}/ergodash/rev1/config.h | 0 keyboards/{ => omkbd}/ergodash/rev1/info.json | 0 .../ergodash/rev1/keymaps/333fred/config.h | 0 .../ergodash/rev1/keymaps/333fred/keymap.c | 0 .../ergodash/rev1/keymaps/333fred/rules.mk | 0 .../ergodash/rev1/keymaps/default/config.h | 0 .../ergodash/rev1/keymaps/default/keymap.c | 0 .../ergodash/rev1/keymaps/default/rules.mk | 0 .../rev1/keymaps/greenshadowmaker/config.h | 0 .../keyboard-layout-editor.json | 0 .../rev1/keymaps/greenshadowmaker/keymap.c | 0 .../rev1/keymaps/greenshadowmaker/rules.mk | 0 .../rev1/keymaps/ifohancroft/config.h | 0 .../rev1/keymaps/ifohancroft/keymap.c | 0 .../rev1/keymaps/ifohancroft/readme.md | 0 .../rev1/keymaps/ifohancroft/rules.mk | 0 .../ergodash/rev1/keymaps/m47ch4n/config.h | 0 .../ergodash/rev1/keymaps/m47ch4n/keymap.c | 0 .../rev1/keymaps/m47ch4n/m47ch4ns_keymap.json | 0 .../ergodash/rev1/keymaps/m47ch4n/readme.md | 0 .../ergodash/rev1/keymaps/m47ch4n/rules.mk | 0 .../rev1/keymaps/nopunin10did/config.h | 0 .../rev1/keymaps/nopunin10did/keymap.c | 0 .../rev1/keymaps/nopunin10did/layers.json | 0 .../rev1/keymaps/nopunin10did/readme.md | 0 .../rev1/keymaps/nopunin10did/rules.mk | 0 .../rev1/keymaps/shadowprogr/config.h | 0 .../rev1/keymaps/shadowprogr/keymap.c | 0 .../rev1/keymaps/shadowprogr/readme.md | 0 .../rev1/keymaps/shadowprogr/rules.mk | 0 .../ergodash/rev1/keymaps/tw1t611/config.h | 0 .../ergodash/rev1/keymaps/tw1t611/keymap.c | 0 .../ergodash/rev1/keymaps/tw1t611/readme.md | 0 .../ergodash/rev1/keymaps/tw1t611/rules.mk | 0 .../keymaps/yet-another-developer/config.h | 0 .../keymaps/yet-another-developer/keymap.c | 0 .../keymaps/yet-another-developer/rules.mk | 0 keyboards/{ => omkbd}/ergodash/rev1/rev1.c | 0 keyboards/{ => omkbd}/ergodash/rev1/rev1.h | 0 keyboards/{ => omkbd}/ergodash/rev1/rules.mk | 0 keyboards/{ => omkbd}/ergodash/rules.mk | 2 +- keyboards/{ => omkbd}/runner3680/3x6/.noci | 0 keyboards/{ => omkbd}/runner3680/3x6/3x6.c | 0 keyboards/{ => omkbd}/runner3680/3x6/3x6.h | 0 keyboards/{ => omkbd}/runner3680/3x6/config.h | 0 .../{ => omkbd}/runner3680/3x6/info.json | 0 .../runner3680/3x6/keymaps/default/config.h | 0 .../runner3680/3x6/keymaps/default/keymap.c | 0 keyboards/{ => omkbd}/runner3680/3x6/rules.mk | 0 keyboards/{ => omkbd}/runner3680/3x7/.noci | 0 keyboards/{ => omkbd}/runner3680/3x7/3x7.c | 0 keyboards/{ => omkbd}/runner3680/3x7/3x7.h | 0 keyboards/{ => omkbd}/runner3680/3x7/config.h | 0 .../{ => omkbd}/runner3680/3x7/info.json | 0 .../runner3680/3x7/keymaps/default/config.h | 0 .../runner3680/3x7/keymaps/default/keymap.c | 0 keyboards/{ => omkbd}/runner3680/3x7/rules.mk | 0 keyboards/{ => omkbd}/runner3680/3x8/.noci | 0 keyboards/{ => omkbd}/runner3680/3x8/3x8.c | 0 keyboards/{ => omkbd}/runner3680/3x8/3x8.h | 0 keyboards/{ => omkbd}/runner3680/3x8/config.h | 0 .../{ => omkbd}/runner3680/3x8/info.json | 0 .../runner3680/3x8/keymaps/default/config.h | 0 .../runner3680/3x8/keymaps/default/keymap.c | 0 keyboards/{ => omkbd}/runner3680/3x8/rules.mk | 0 keyboards/{ => omkbd}/runner3680/4x6/.noci | 0 keyboards/{ => omkbd}/runner3680/4x6/4x6.c | 0 keyboards/{ => omkbd}/runner3680/4x6/4x6.h | 0 keyboards/{ => omkbd}/runner3680/4x6/config.h | 0 .../{ => omkbd}/runner3680/4x6/info.json | 0 .../runner3680/4x6/keymaps/default/config.h | 0 .../runner3680/4x6/keymaps/default/keymap.c | 0 keyboards/{ => omkbd}/runner3680/4x6/rules.mk | 0 keyboards/{ => omkbd}/runner3680/4x7/.noci | 0 keyboards/{ => omkbd}/runner3680/4x7/4x7.c | 0 keyboards/{ => omkbd}/runner3680/4x7/4x7.h | 0 keyboards/{ => omkbd}/runner3680/4x7/config.h | 0 .../{ => omkbd}/runner3680/4x7/info.json | 0 .../runner3680/4x7/keymaps/default/config.h | 0 .../runner3680/4x7/keymaps/default/keymap.c | 0 keyboards/{ => omkbd}/runner3680/4x7/rules.mk | 0 keyboards/{ => omkbd}/runner3680/4x8/.noci | 0 keyboards/{ => omkbd}/runner3680/4x8/4x8.c | 0 keyboards/{ => omkbd}/runner3680/4x8/4x8.h | 0 keyboards/{ => omkbd}/runner3680/4x8/config.h | 0 .../{ => omkbd}/runner3680/4x8/info.json | 0 .../runner3680/4x8/keymaps/default/config.h | 0 .../runner3680/4x8/keymaps/default/keymap.c | 0 keyboards/{ => omkbd}/runner3680/4x8/rules.mk | 0 keyboards/{ => omkbd}/runner3680/5x6/.noci | 0 keyboards/{ => omkbd}/runner3680/5x6/5x6.c | 0 keyboards/{ => omkbd}/runner3680/5x6/5x6.h | 0 keyboards/{ => omkbd}/runner3680/5x6/config.h | 0 .../{ => omkbd}/runner3680/5x6/info.json | 0 .../runner3680/5x6/keymaps/default/config.h | 0 .../runner3680/5x6/keymaps/default/keymap.c | 0 keyboards/{ => omkbd}/runner3680/5x6/rules.mk | 0 .../{ => omkbd}/runner3680/5x6_5x8/.noci | 0 .../{ => omkbd}/runner3680/5x6_5x8/5x6_5x8.c | 0 .../{ => omkbd}/runner3680/5x6_5x8/5x6_5x8.h | 0 .../{ => omkbd}/runner3680/5x6_5x8/config.h | 0 .../{ => omkbd}/runner3680/5x6_5x8/info.json | 0 .../5x6_5x8/keymaps/default/config.h | 0 .../5x6_5x8/keymaps/default/keymap.c | 0 .../5x6_5x8/keymaps/derekhsu/config.h | 0 .../5x6_5x8/keymaps/derekhsu/keymap.c | 0 .../5x6_5x8/keymaps/derekhsu/rules.mk | 0 .../runner3680/5x6_5x8/keymaps/jis/config.h | 0 .../runner3680/5x6_5x8/keymaps/jis/keymap.c | 0 .../runner3680/5x6_5x8/keymaps/via/config.h | 0 .../runner3680/5x6_5x8/keymaps/via/keymap.c | 0 .../runner3680/5x6_5x8/keymaps/via/rules.mk | 0 .../{ => omkbd}/runner3680/5x6_5x8/rules.mk | 0 keyboards/{ => omkbd}/runner3680/5x7/.noci | 0 keyboards/{ => omkbd}/runner3680/5x7/5x7.c | 0 keyboards/{ => omkbd}/runner3680/5x7/5x7.h | 0 keyboards/{ => omkbd}/runner3680/5x7/config.h | 0 .../{ => omkbd}/runner3680/5x7/info.json | 0 .../runner3680/5x7/keymaps/default/config.h | 0 .../runner3680/5x7/keymaps/default/keymap.c | 0 keyboards/{ => omkbd}/runner3680/5x7/rules.mk | 0 keyboards/{ => omkbd}/runner3680/5x8/.noci | 0 keyboards/{ => omkbd}/runner3680/5x8/5x8.c | 0 keyboards/{ => omkbd}/runner3680/5x8/5x8.h | 0 keyboards/{ => omkbd}/runner3680/5x8/config.h | 0 .../{ => omkbd}/runner3680/5x8/info.json | 0 .../runner3680/5x8/keymaps/JIS/config.h | 0 .../runner3680/5x8/keymaps/JIS/keymap.c | 0 .../runner3680/5x8/keymaps/default/config.h | 0 .../runner3680/5x8/keymaps/default/keymap.c | 0 keyboards/{ => omkbd}/runner3680/5x8/rules.mk | 0 keyboards/{ => omkbd}/runner3680/config.h | 0 keyboards/{ => omkbd}/runner3680/readme.md | 2 +- keyboards/{ => omkbd}/runner3680/rules.mk | 2 +- keyboards/{ => omkbd}/runner3680/runner3680.c | 0 keyboards/omkbd/runner3680/runner3680.h | 43 +++++++++++++++++++ keyboards/runner3680/runner3680.h | 43 ------------------- 161 files changed, 51 insertions(+), 51 deletions(-) rename keyboards/{ => omkbd}/ergodash/.noci (100%) rename keyboards/{ => omkbd}/ergodash/config.h (100%) rename keyboards/{ => omkbd}/ergodash/ergodash.c (100%) rename keyboards/{ => omkbd}/ergodash/ergodash.h (64%) rename keyboards/{ => omkbd}/ergodash/mini/.noci (100%) rename keyboards/{ => omkbd}/ergodash/mini/config.h (100%) rename keyboards/{ => omkbd}/ergodash/mini/info.json (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/default/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/toyoshimahidenori/config.h (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/toyoshimahidenori/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/toyoshimahidenori/readme.md (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/toyoshimahidenori/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/yoshimaru46/config.h (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/yoshimaru46/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/yoshimaru46/readme.md (100%) rename keyboards/{ => omkbd}/ergodash/mini/keymaps/yoshimaru46/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/mini/mini.c (100%) rename keyboards/{ => omkbd}/ergodash/mini/mini.h (100%) rename keyboards/{ => omkbd}/ergodash/mini/readme.md (95%) rename keyboards/{ => omkbd}/ergodash/mini/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/readme.md (93%) rename keyboards/{ => omkbd}/ergodash/rev1/.noci (100%) rename keyboards/{ => omkbd}/ergodash/rev1/config.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/info.json (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/333fred/config.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/333fred/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/333fred/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/default/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/greenshadowmaker/config.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/greenshadowmaker/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/greenshadowmaker/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/ifohancroft/config.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/ifohancroft/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/ifohancroft/readme.md (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/ifohancroft/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/m47ch4n/config.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/m47ch4n/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/m47ch4n/readme.md (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/m47ch4n/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/nopunin10did/config.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/nopunin10did/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/nopunin10did/layers.json (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/nopunin10did/readme.md (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/nopunin10did/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/shadowprogr/config.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/shadowprogr/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/shadowprogr/readme.md (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/shadowprogr/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/tw1t611/config.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/tw1t611/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/tw1t611/readme.md (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/tw1t611/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/yet-another-developer/config.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/yet-another-developer/keymap.c (100%) rename keyboards/{ => omkbd}/ergodash/rev1/keymaps/yet-another-developer/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/rev1/rev1.c (100%) rename keyboards/{ => omkbd}/ergodash/rev1/rev1.h (100%) rename keyboards/{ => omkbd}/ergodash/rev1/rules.mk (100%) rename keyboards/{ => omkbd}/ergodash/rules.mk (94%) rename keyboards/{ => omkbd}/runner3680/3x6/.noci (100%) rename keyboards/{ => omkbd}/runner3680/3x6/3x6.c (100%) rename keyboards/{ => omkbd}/runner3680/3x6/3x6.h (100%) rename keyboards/{ => omkbd}/runner3680/3x6/config.h (100%) rename keyboards/{ => omkbd}/runner3680/3x6/info.json (100%) rename keyboards/{ => omkbd}/runner3680/3x6/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/runner3680/3x6/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/3x6/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/3x7/.noci (100%) rename keyboards/{ => omkbd}/runner3680/3x7/3x7.c (100%) rename keyboards/{ => omkbd}/runner3680/3x7/3x7.h (100%) rename keyboards/{ => omkbd}/runner3680/3x7/config.h (100%) rename keyboards/{ => omkbd}/runner3680/3x7/info.json (100%) rename keyboards/{ => omkbd}/runner3680/3x7/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/runner3680/3x7/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/3x7/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/3x8/.noci (100%) rename keyboards/{ => omkbd}/runner3680/3x8/3x8.c (100%) rename keyboards/{ => omkbd}/runner3680/3x8/3x8.h (100%) rename keyboards/{ => omkbd}/runner3680/3x8/config.h (100%) rename keyboards/{ => omkbd}/runner3680/3x8/info.json (100%) rename keyboards/{ => omkbd}/runner3680/3x8/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/runner3680/3x8/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/3x8/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/4x6/.noci (100%) rename keyboards/{ => omkbd}/runner3680/4x6/4x6.c (100%) rename keyboards/{ => omkbd}/runner3680/4x6/4x6.h (100%) rename keyboards/{ => omkbd}/runner3680/4x6/config.h (100%) rename keyboards/{ => omkbd}/runner3680/4x6/info.json (100%) rename keyboards/{ => omkbd}/runner3680/4x6/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/runner3680/4x6/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/4x6/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/4x7/.noci (100%) rename keyboards/{ => omkbd}/runner3680/4x7/4x7.c (100%) rename keyboards/{ => omkbd}/runner3680/4x7/4x7.h (100%) rename keyboards/{ => omkbd}/runner3680/4x7/config.h (100%) rename keyboards/{ => omkbd}/runner3680/4x7/info.json (100%) rename keyboards/{ => omkbd}/runner3680/4x7/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/runner3680/4x7/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/4x7/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/4x8/.noci (100%) rename keyboards/{ => omkbd}/runner3680/4x8/4x8.c (100%) rename keyboards/{ => omkbd}/runner3680/4x8/4x8.h (100%) rename keyboards/{ => omkbd}/runner3680/4x8/config.h (100%) rename keyboards/{ => omkbd}/runner3680/4x8/info.json (100%) rename keyboards/{ => omkbd}/runner3680/4x8/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/runner3680/4x8/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/4x8/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/5x6/.noci (100%) rename keyboards/{ => omkbd}/runner3680/5x6/5x6.c (100%) rename keyboards/{ => omkbd}/runner3680/5x6/5x6.h (100%) rename keyboards/{ => omkbd}/runner3680/5x6/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x6/info.json (100%) rename keyboards/{ => omkbd}/runner3680/5x6/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x6/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/5x6/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/.noci (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/5x6_5x8.c (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/5x6_5x8.h (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/info.json (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/keymaps/derekhsu/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/keymaps/jis/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/keymaps/jis/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/keymaps/via/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/keymaps/via/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/keymaps/via/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/5x6_5x8/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/5x7/.noci (100%) rename keyboards/{ => omkbd}/runner3680/5x7/5x7.c (100%) rename keyboards/{ => omkbd}/runner3680/5x7/5x7.h (100%) rename keyboards/{ => omkbd}/runner3680/5x7/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x7/info.json (100%) rename keyboards/{ => omkbd}/runner3680/5x7/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x7/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/5x7/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/5x8/.noci (100%) rename keyboards/{ => omkbd}/runner3680/5x8/5x8.c (100%) rename keyboards/{ => omkbd}/runner3680/5x8/5x8.h (100%) rename keyboards/{ => omkbd}/runner3680/5x8/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x8/info.json (100%) rename keyboards/{ => omkbd}/runner3680/5x8/keymaps/JIS/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x8/keymaps/JIS/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/5x8/keymaps/default/config.h (100%) rename keyboards/{ => omkbd}/runner3680/5x8/keymaps/default/keymap.c (100%) rename keyboards/{ => omkbd}/runner3680/5x8/rules.mk (100%) rename keyboards/{ => omkbd}/runner3680/config.h (100%) rename keyboards/{ => omkbd}/runner3680/readme.md (95%) rename keyboards/{ => omkbd}/runner3680/rules.mk (94%) rename keyboards/{ => omkbd}/runner3680/runner3680.c (100%) create mode 100644 keyboards/omkbd/runner3680/runner3680.h delete mode 100644 keyboards/runner3680/runner3680.h diff --git a/keyboards/ergodash/.noci b/keyboards/omkbd/ergodash/.noci similarity index 100% rename from keyboards/ergodash/.noci rename to keyboards/omkbd/ergodash/.noci diff --git a/keyboards/ergodash/config.h b/keyboards/omkbd/ergodash/config.h similarity index 100% rename from keyboards/ergodash/config.h rename to keyboards/omkbd/ergodash/config.h diff --git a/keyboards/ergodash/ergodash.c b/keyboards/omkbd/ergodash/ergodash.c similarity index 100% rename from keyboards/ergodash/ergodash.c rename to keyboards/omkbd/ergodash/ergodash.c diff --git a/keyboards/ergodash/ergodash.h b/keyboards/omkbd/ergodash/ergodash.h similarity index 64% rename from keyboards/ergodash/ergodash.h rename to keyboards/omkbd/ergodash/ergodash.h index 5fba70e75d1e..8c8bd3cdc393 100644 --- a/keyboards/ergodash/ergodash.h +++ b/keyboards/omkbd/ergodash/ergodash.h @@ -2,10 +2,10 @@ #include "quantum.h" -#ifdef KEYBOARD_ergodash_rev1 +#ifdef KEYBOARD_omkbd_ergodash_rev1 #include "rev1.h" #endif // #ifdef KEYBOARD_ergodash_rev1 -#ifdef KEYBOARD_ergodash_mini +#ifdef KEYBOARD_omkbd_ergodash_mini #include "mini.h" #endif diff --git a/keyboards/ergodash/mini/.noci b/keyboards/omkbd/ergodash/mini/.noci similarity index 100% rename from keyboards/ergodash/mini/.noci rename to keyboards/omkbd/ergodash/mini/.noci diff --git a/keyboards/ergodash/mini/config.h b/keyboards/omkbd/ergodash/mini/config.h similarity index 100% rename from keyboards/ergodash/mini/config.h rename to keyboards/omkbd/ergodash/mini/config.h diff --git a/keyboards/ergodash/mini/info.json b/keyboards/omkbd/ergodash/mini/info.json similarity index 100% rename from keyboards/ergodash/mini/info.json rename to keyboards/omkbd/ergodash/mini/info.json diff --git a/keyboards/ergodash/mini/keymaps/default/config.h b/keyboards/omkbd/ergodash/mini/keymaps/default/config.h similarity index 100% rename from keyboards/ergodash/mini/keymaps/default/config.h rename to keyboards/omkbd/ergodash/mini/keymaps/default/config.h diff --git a/keyboards/ergodash/mini/keymaps/default/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c similarity index 100% rename from keyboards/ergodash/mini/keymaps/default/keymap.c rename to keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c diff --git a/keyboards/ergodash/mini/keymaps/default/rules.mk b/keyboards/omkbd/ergodash/mini/keymaps/default/rules.mk similarity index 100% rename from keyboards/ergodash/mini/keymaps/default/rules.mk rename to keyboards/omkbd/ergodash/mini/keymaps/default/rules.mk diff --git a/keyboards/ergodash/mini/keymaps/toyoshimahidenori/config.h b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h similarity index 100% rename from keyboards/ergodash/mini/keymaps/toyoshimahidenori/config.h rename to keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h diff --git a/keyboards/ergodash/mini/keymaps/toyoshimahidenori/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c similarity index 100% rename from keyboards/ergodash/mini/keymaps/toyoshimahidenori/keymap.c rename to keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c diff --git a/keyboards/ergodash/mini/keymaps/toyoshimahidenori/readme.md b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md similarity index 100% rename from keyboards/ergodash/mini/keymaps/toyoshimahidenori/readme.md rename to keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md diff --git a/keyboards/ergodash/mini/keymaps/toyoshimahidenori/rules.mk b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk similarity index 100% rename from keyboards/ergodash/mini/keymaps/toyoshimahidenori/rules.mk rename to keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk diff --git a/keyboards/ergodash/mini/keymaps/yoshimaru46/config.h b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h similarity index 100% rename from keyboards/ergodash/mini/keymaps/yoshimaru46/config.h rename to keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h diff --git a/keyboards/ergodash/mini/keymaps/yoshimaru46/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c similarity index 100% rename from keyboards/ergodash/mini/keymaps/yoshimaru46/keymap.c rename to keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c diff --git a/keyboards/ergodash/mini/keymaps/yoshimaru46/readme.md b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md similarity index 100% rename from keyboards/ergodash/mini/keymaps/yoshimaru46/readme.md rename to keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md diff --git a/keyboards/ergodash/mini/keymaps/yoshimaru46/rules.mk b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk similarity index 100% rename from keyboards/ergodash/mini/keymaps/yoshimaru46/rules.mk rename to keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk diff --git a/keyboards/ergodash/mini/mini.c b/keyboards/omkbd/ergodash/mini/mini.c similarity index 100% rename from keyboards/ergodash/mini/mini.c rename to keyboards/omkbd/ergodash/mini/mini.c diff --git a/keyboards/ergodash/mini/mini.h b/keyboards/omkbd/ergodash/mini/mini.h similarity index 100% rename from keyboards/ergodash/mini/mini.h rename to keyboards/omkbd/ergodash/mini/mini.h diff --git a/keyboards/ergodash/mini/readme.md b/keyboards/omkbd/ergodash/mini/readme.md similarity index 95% rename from keyboards/ergodash/mini/readme.md rename to keyboards/omkbd/ergodash/mini/readme.md index f830f3f1d993..273935f3e37d 100644 --- a/keyboards/ergodash/mini/readme.md +++ b/keyboards/omkbd/ergodash/mini/readme.md @@ -9,7 +9,7 @@ Hardware Availability: Order your own [yourself](https://github.com/omkbd/ErgoDa Make example for this keyboard (after setting up your build environment): - make ergodash/mini:default + make omkbd/ergodash/mini:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/ergodash/mini/rules.mk b/keyboards/omkbd/ergodash/mini/rules.mk similarity index 100% rename from keyboards/ergodash/mini/rules.mk rename to keyboards/omkbd/ergodash/mini/rules.mk diff --git a/keyboards/ergodash/readme.md b/keyboards/omkbd/ergodash/readme.md similarity index 93% rename from keyboards/ergodash/readme.md rename to keyboards/omkbd/ergodash/readme.md index 27672c3ecf37..4260397a9902 100644 --- a/keyboards/ergodash/readme.md +++ b/keyboards/omkbd/ergodash/readme.md @@ -9,12 +9,12 @@ Hardware Availability: Order your own [yourself](https://github.com/omkbd/ErgoDa Make example for this keyboard (after setting up your build environment): - make ergodash/rev1:default + make omkbd/ergodash/rev1:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Install Example: (for pro micro) - `make ergodash/rev1:default:avrdude` + `make omkbd/ergodash/rev1:default:avrdude` Note: "rev1" is for PCB ver 1.0,1.1,1.2 diff --git a/keyboards/ergodash/rev1/.noci b/keyboards/omkbd/ergodash/rev1/.noci similarity index 100% rename from keyboards/ergodash/rev1/.noci rename to keyboards/omkbd/ergodash/rev1/.noci diff --git a/keyboards/ergodash/rev1/config.h b/keyboards/omkbd/ergodash/rev1/config.h similarity index 100% rename from keyboards/ergodash/rev1/config.h rename to keyboards/omkbd/ergodash/rev1/config.h diff --git a/keyboards/ergodash/rev1/info.json b/keyboards/omkbd/ergodash/rev1/info.json similarity index 100% rename from keyboards/ergodash/rev1/info.json rename to keyboards/omkbd/ergodash/rev1/info.json diff --git a/keyboards/ergodash/rev1/keymaps/333fred/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/config.h similarity index 100% rename from keyboards/ergodash/rev1/keymaps/333fred/config.h rename to keyboards/omkbd/ergodash/rev1/keymaps/333fred/config.h diff --git a/keyboards/ergodash/rev1/keymaps/333fred/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/keymap.c similarity index 100% rename from keyboards/ergodash/rev1/keymaps/333fred/keymap.c rename to keyboards/omkbd/ergodash/rev1/keymaps/333fred/keymap.c diff --git a/keyboards/ergodash/rev1/keymaps/333fred/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/rules.mk similarity index 100% rename from keyboards/ergodash/rev1/keymaps/333fred/rules.mk rename to keyboards/omkbd/ergodash/rev1/keymaps/333fred/rules.mk diff --git a/keyboards/ergodash/rev1/keymaps/default/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/default/config.h similarity index 100% rename from keyboards/ergodash/rev1/keymaps/default/config.h rename to keyboards/omkbd/ergodash/rev1/keymaps/default/config.h diff --git a/keyboards/ergodash/rev1/keymaps/default/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/ergodash/rev1/keymaps/default/keymap.c rename to keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c diff --git a/keyboards/ergodash/rev1/keymaps/default/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/default/rules.mk similarity index 100% rename from keyboards/ergodash/rev1/keymaps/default/rules.mk rename to keyboards/omkbd/ergodash/rev1/keymaps/default/rules.mk diff --git a/keyboards/ergodash/rev1/keymaps/greenshadowmaker/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h similarity index 100% rename from keyboards/ergodash/rev1/keymaps/greenshadowmaker/config.h rename to keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h diff --git a/keyboards/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json similarity index 100% rename from keyboards/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json rename to keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json diff --git a/keyboards/ergodash/rev1/keymaps/greenshadowmaker/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c similarity index 100% rename from keyboards/ergodash/rev1/keymaps/greenshadowmaker/keymap.c rename to keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c diff --git a/keyboards/ergodash/rev1/keymaps/greenshadowmaker/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/rules.mk similarity index 100% rename from keyboards/ergodash/rev1/keymaps/greenshadowmaker/rules.mk rename to keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/rules.mk diff --git a/keyboards/ergodash/rev1/keymaps/ifohancroft/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/config.h similarity index 100% rename from keyboards/ergodash/rev1/keymaps/ifohancroft/config.h rename to keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/config.h diff --git a/keyboards/ergodash/rev1/keymaps/ifohancroft/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/keymap.c similarity index 100% rename from keyboards/ergodash/rev1/keymaps/ifohancroft/keymap.c rename to keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/keymap.c diff --git a/keyboards/ergodash/rev1/keymaps/ifohancroft/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/readme.md similarity index 100% rename from keyboards/ergodash/rev1/keymaps/ifohancroft/readme.md rename to keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/readme.md diff --git a/keyboards/ergodash/rev1/keymaps/ifohancroft/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/rules.mk similarity index 100% rename from keyboards/ergodash/rev1/keymaps/ifohancroft/rules.mk rename to keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/rules.mk diff --git a/keyboards/ergodash/rev1/keymaps/m47ch4n/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h similarity index 100% rename from keyboards/ergodash/rev1/keymaps/m47ch4n/config.h rename to keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h diff --git a/keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c similarity index 100% rename from keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c rename to keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c diff --git a/keyboards/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json similarity index 100% rename from keyboards/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json rename to keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json diff --git a/keyboards/ergodash/rev1/keymaps/m47ch4n/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md similarity index 100% rename from keyboards/ergodash/rev1/keymaps/m47ch4n/readme.md rename to keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md diff --git a/keyboards/ergodash/rev1/keymaps/m47ch4n/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk similarity index 100% rename from keyboards/ergodash/rev1/keymaps/m47ch4n/rules.mk rename to keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk diff --git a/keyboards/ergodash/rev1/keymaps/nopunin10did/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/config.h similarity index 100% rename from keyboards/ergodash/rev1/keymaps/nopunin10did/config.h rename to keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/config.h diff --git a/keyboards/ergodash/rev1/keymaps/nopunin10did/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/keymap.c similarity index 100% rename from keyboards/ergodash/rev1/keymaps/nopunin10did/keymap.c rename to keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/keymap.c diff --git a/keyboards/ergodash/rev1/keymaps/nopunin10did/layers.json b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/layers.json similarity index 100% rename from keyboards/ergodash/rev1/keymaps/nopunin10did/layers.json rename to keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/layers.json diff --git a/keyboards/ergodash/rev1/keymaps/nopunin10did/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/readme.md similarity index 100% rename from keyboards/ergodash/rev1/keymaps/nopunin10did/readme.md rename to keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/readme.md diff --git a/keyboards/ergodash/rev1/keymaps/nopunin10did/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/rules.mk similarity index 100% rename from keyboards/ergodash/rev1/keymaps/nopunin10did/rules.mk rename to keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/rules.mk diff --git a/keyboards/ergodash/rev1/keymaps/shadowprogr/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h similarity index 100% rename from keyboards/ergodash/rev1/keymaps/shadowprogr/config.h rename to keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h diff --git a/keyboards/ergodash/rev1/keymaps/shadowprogr/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c similarity index 100% rename from keyboards/ergodash/rev1/keymaps/shadowprogr/keymap.c rename to keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c diff --git a/keyboards/ergodash/rev1/keymaps/shadowprogr/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md similarity index 100% rename from keyboards/ergodash/rev1/keymaps/shadowprogr/readme.md rename to keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md diff --git a/keyboards/ergodash/rev1/keymaps/shadowprogr/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk similarity index 100% rename from keyboards/ergodash/rev1/keymaps/shadowprogr/rules.mk rename to keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk diff --git a/keyboards/ergodash/rev1/keymaps/tw1t611/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h similarity index 100% rename from keyboards/ergodash/rev1/keymaps/tw1t611/config.h rename to keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h diff --git a/keyboards/ergodash/rev1/keymaps/tw1t611/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c similarity index 100% rename from keyboards/ergodash/rev1/keymaps/tw1t611/keymap.c rename to keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c diff --git a/keyboards/ergodash/rev1/keymaps/tw1t611/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/readme.md similarity index 100% rename from keyboards/ergodash/rev1/keymaps/tw1t611/readme.md rename to keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/readme.md diff --git a/keyboards/ergodash/rev1/keymaps/tw1t611/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/rules.mk similarity index 100% rename from keyboards/ergodash/rev1/keymaps/tw1t611/rules.mk rename to keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/rules.mk diff --git a/keyboards/ergodash/rev1/keymaps/yet-another-developer/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/config.h similarity index 100% rename from keyboards/ergodash/rev1/keymaps/yet-another-developer/config.h rename to keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/config.h diff --git a/keyboards/ergodash/rev1/keymaps/yet-another-developer/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/keymap.c similarity index 100% rename from keyboards/ergodash/rev1/keymaps/yet-another-developer/keymap.c rename to keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/keymap.c diff --git a/keyboards/ergodash/rev1/keymaps/yet-another-developer/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/rules.mk similarity index 100% rename from keyboards/ergodash/rev1/keymaps/yet-another-developer/rules.mk rename to keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/rules.mk diff --git a/keyboards/ergodash/rev1/rev1.c b/keyboards/omkbd/ergodash/rev1/rev1.c similarity index 100% rename from keyboards/ergodash/rev1/rev1.c rename to keyboards/omkbd/ergodash/rev1/rev1.c diff --git a/keyboards/ergodash/rev1/rev1.h b/keyboards/omkbd/ergodash/rev1/rev1.h similarity index 100% rename from keyboards/ergodash/rev1/rev1.h rename to keyboards/omkbd/ergodash/rev1/rev1.h diff --git a/keyboards/ergodash/rev1/rules.mk b/keyboards/omkbd/ergodash/rev1/rules.mk similarity index 100% rename from keyboards/ergodash/rev1/rules.mk rename to keyboards/omkbd/ergodash/rev1/rules.mk diff --git a/keyboards/ergodash/rules.mk b/keyboards/omkbd/ergodash/rules.mk similarity index 94% rename from keyboards/ergodash/rules.mk rename to keyboards/omkbd/ergodash/rules.mk index de097dfbb3ec..5c44a744339a 100644 --- a/keyboards/ergodash/rules.mk +++ b/keyboards/omkbd/ergodash/rules.mk @@ -19,4 +19,4 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SPLIT_KEYBOARD = yes # Enables split keyboard support -DEFAULT_FOLDER = ergodash/rev1 +DEFAULT_FOLDER = omkbd/ergodash/rev1 diff --git a/keyboards/runner3680/3x6/.noci b/keyboards/omkbd/runner3680/3x6/.noci similarity index 100% rename from keyboards/runner3680/3x6/.noci rename to keyboards/omkbd/runner3680/3x6/.noci diff --git a/keyboards/runner3680/3x6/3x6.c b/keyboards/omkbd/runner3680/3x6/3x6.c similarity index 100% rename from keyboards/runner3680/3x6/3x6.c rename to keyboards/omkbd/runner3680/3x6/3x6.c diff --git a/keyboards/runner3680/3x6/3x6.h b/keyboards/omkbd/runner3680/3x6/3x6.h similarity index 100% rename from keyboards/runner3680/3x6/3x6.h rename to keyboards/omkbd/runner3680/3x6/3x6.h diff --git a/keyboards/runner3680/3x6/config.h b/keyboards/omkbd/runner3680/3x6/config.h similarity index 100% rename from keyboards/runner3680/3x6/config.h rename to keyboards/omkbd/runner3680/3x6/config.h diff --git a/keyboards/runner3680/3x6/info.json b/keyboards/omkbd/runner3680/3x6/info.json similarity index 100% rename from keyboards/runner3680/3x6/info.json rename to keyboards/omkbd/runner3680/3x6/info.json diff --git a/keyboards/runner3680/3x6/keymaps/default/config.h b/keyboards/omkbd/runner3680/3x6/keymaps/default/config.h similarity index 100% rename from keyboards/runner3680/3x6/keymaps/default/config.h rename to keyboards/omkbd/runner3680/3x6/keymaps/default/config.h diff --git a/keyboards/runner3680/3x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c similarity index 100% rename from keyboards/runner3680/3x6/keymaps/default/keymap.c rename to keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c diff --git a/keyboards/runner3680/3x6/rules.mk b/keyboards/omkbd/runner3680/3x6/rules.mk similarity index 100% rename from keyboards/runner3680/3x6/rules.mk rename to keyboards/omkbd/runner3680/3x6/rules.mk diff --git a/keyboards/runner3680/3x7/.noci b/keyboards/omkbd/runner3680/3x7/.noci similarity index 100% rename from keyboards/runner3680/3x7/.noci rename to keyboards/omkbd/runner3680/3x7/.noci diff --git a/keyboards/runner3680/3x7/3x7.c b/keyboards/omkbd/runner3680/3x7/3x7.c similarity index 100% rename from keyboards/runner3680/3x7/3x7.c rename to keyboards/omkbd/runner3680/3x7/3x7.c diff --git a/keyboards/runner3680/3x7/3x7.h b/keyboards/omkbd/runner3680/3x7/3x7.h similarity index 100% rename from keyboards/runner3680/3x7/3x7.h rename to keyboards/omkbd/runner3680/3x7/3x7.h diff --git a/keyboards/runner3680/3x7/config.h b/keyboards/omkbd/runner3680/3x7/config.h similarity index 100% rename from keyboards/runner3680/3x7/config.h rename to keyboards/omkbd/runner3680/3x7/config.h diff --git a/keyboards/runner3680/3x7/info.json b/keyboards/omkbd/runner3680/3x7/info.json similarity index 100% rename from keyboards/runner3680/3x7/info.json rename to keyboards/omkbd/runner3680/3x7/info.json diff --git a/keyboards/runner3680/3x7/keymaps/default/config.h b/keyboards/omkbd/runner3680/3x7/keymaps/default/config.h similarity index 100% rename from keyboards/runner3680/3x7/keymaps/default/config.h rename to keyboards/omkbd/runner3680/3x7/keymaps/default/config.h diff --git a/keyboards/runner3680/3x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c similarity index 100% rename from keyboards/runner3680/3x7/keymaps/default/keymap.c rename to keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c diff --git a/keyboards/runner3680/3x7/rules.mk b/keyboards/omkbd/runner3680/3x7/rules.mk similarity index 100% rename from keyboards/runner3680/3x7/rules.mk rename to keyboards/omkbd/runner3680/3x7/rules.mk diff --git a/keyboards/runner3680/3x8/.noci b/keyboards/omkbd/runner3680/3x8/.noci similarity index 100% rename from keyboards/runner3680/3x8/.noci rename to keyboards/omkbd/runner3680/3x8/.noci diff --git a/keyboards/runner3680/3x8/3x8.c b/keyboards/omkbd/runner3680/3x8/3x8.c similarity index 100% rename from keyboards/runner3680/3x8/3x8.c rename to keyboards/omkbd/runner3680/3x8/3x8.c diff --git a/keyboards/runner3680/3x8/3x8.h b/keyboards/omkbd/runner3680/3x8/3x8.h similarity index 100% rename from keyboards/runner3680/3x8/3x8.h rename to keyboards/omkbd/runner3680/3x8/3x8.h diff --git a/keyboards/runner3680/3x8/config.h b/keyboards/omkbd/runner3680/3x8/config.h similarity index 100% rename from keyboards/runner3680/3x8/config.h rename to keyboards/omkbd/runner3680/3x8/config.h diff --git a/keyboards/runner3680/3x8/info.json b/keyboards/omkbd/runner3680/3x8/info.json similarity index 100% rename from keyboards/runner3680/3x8/info.json rename to keyboards/omkbd/runner3680/3x8/info.json diff --git a/keyboards/runner3680/3x8/keymaps/default/config.h b/keyboards/omkbd/runner3680/3x8/keymaps/default/config.h similarity index 100% rename from keyboards/runner3680/3x8/keymaps/default/config.h rename to keyboards/omkbd/runner3680/3x8/keymaps/default/config.h diff --git a/keyboards/runner3680/3x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c similarity index 100% rename from keyboards/runner3680/3x8/keymaps/default/keymap.c rename to keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c diff --git a/keyboards/runner3680/3x8/rules.mk b/keyboards/omkbd/runner3680/3x8/rules.mk similarity index 100% rename from keyboards/runner3680/3x8/rules.mk rename to keyboards/omkbd/runner3680/3x8/rules.mk diff --git a/keyboards/runner3680/4x6/.noci b/keyboards/omkbd/runner3680/4x6/.noci similarity index 100% rename from keyboards/runner3680/4x6/.noci rename to keyboards/omkbd/runner3680/4x6/.noci diff --git a/keyboards/runner3680/4x6/4x6.c b/keyboards/omkbd/runner3680/4x6/4x6.c similarity index 100% rename from keyboards/runner3680/4x6/4x6.c rename to keyboards/omkbd/runner3680/4x6/4x6.c diff --git a/keyboards/runner3680/4x6/4x6.h b/keyboards/omkbd/runner3680/4x6/4x6.h similarity index 100% rename from keyboards/runner3680/4x6/4x6.h rename to keyboards/omkbd/runner3680/4x6/4x6.h diff --git a/keyboards/runner3680/4x6/config.h b/keyboards/omkbd/runner3680/4x6/config.h similarity index 100% rename from keyboards/runner3680/4x6/config.h rename to keyboards/omkbd/runner3680/4x6/config.h diff --git a/keyboards/runner3680/4x6/info.json b/keyboards/omkbd/runner3680/4x6/info.json similarity index 100% rename from keyboards/runner3680/4x6/info.json rename to keyboards/omkbd/runner3680/4x6/info.json diff --git a/keyboards/runner3680/4x6/keymaps/default/config.h b/keyboards/omkbd/runner3680/4x6/keymaps/default/config.h similarity index 100% rename from keyboards/runner3680/4x6/keymaps/default/config.h rename to keyboards/omkbd/runner3680/4x6/keymaps/default/config.h diff --git a/keyboards/runner3680/4x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c similarity index 100% rename from keyboards/runner3680/4x6/keymaps/default/keymap.c rename to keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c diff --git a/keyboards/runner3680/4x6/rules.mk b/keyboards/omkbd/runner3680/4x6/rules.mk similarity index 100% rename from keyboards/runner3680/4x6/rules.mk rename to keyboards/omkbd/runner3680/4x6/rules.mk diff --git a/keyboards/runner3680/4x7/.noci b/keyboards/omkbd/runner3680/4x7/.noci similarity index 100% rename from keyboards/runner3680/4x7/.noci rename to keyboards/omkbd/runner3680/4x7/.noci diff --git a/keyboards/runner3680/4x7/4x7.c b/keyboards/omkbd/runner3680/4x7/4x7.c similarity index 100% rename from keyboards/runner3680/4x7/4x7.c rename to keyboards/omkbd/runner3680/4x7/4x7.c diff --git a/keyboards/runner3680/4x7/4x7.h b/keyboards/omkbd/runner3680/4x7/4x7.h similarity index 100% rename from keyboards/runner3680/4x7/4x7.h rename to keyboards/omkbd/runner3680/4x7/4x7.h diff --git a/keyboards/runner3680/4x7/config.h b/keyboards/omkbd/runner3680/4x7/config.h similarity index 100% rename from keyboards/runner3680/4x7/config.h rename to keyboards/omkbd/runner3680/4x7/config.h diff --git a/keyboards/runner3680/4x7/info.json b/keyboards/omkbd/runner3680/4x7/info.json similarity index 100% rename from keyboards/runner3680/4x7/info.json rename to keyboards/omkbd/runner3680/4x7/info.json diff --git a/keyboards/runner3680/4x7/keymaps/default/config.h b/keyboards/omkbd/runner3680/4x7/keymaps/default/config.h similarity index 100% rename from keyboards/runner3680/4x7/keymaps/default/config.h rename to keyboards/omkbd/runner3680/4x7/keymaps/default/config.h diff --git a/keyboards/runner3680/4x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c similarity index 100% rename from keyboards/runner3680/4x7/keymaps/default/keymap.c rename to keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c diff --git a/keyboards/runner3680/4x7/rules.mk b/keyboards/omkbd/runner3680/4x7/rules.mk similarity index 100% rename from keyboards/runner3680/4x7/rules.mk rename to keyboards/omkbd/runner3680/4x7/rules.mk diff --git a/keyboards/runner3680/4x8/.noci b/keyboards/omkbd/runner3680/4x8/.noci similarity index 100% rename from keyboards/runner3680/4x8/.noci rename to keyboards/omkbd/runner3680/4x8/.noci diff --git a/keyboards/runner3680/4x8/4x8.c b/keyboards/omkbd/runner3680/4x8/4x8.c similarity index 100% rename from keyboards/runner3680/4x8/4x8.c rename to keyboards/omkbd/runner3680/4x8/4x8.c diff --git a/keyboards/runner3680/4x8/4x8.h b/keyboards/omkbd/runner3680/4x8/4x8.h similarity index 100% rename from keyboards/runner3680/4x8/4x8.h rename to keyboards/omkbd/runner3680/4x8/4x8.h diff --git a/keyboards/runner3680/4x8/config.h b/keyboards/omkbd/runner3680/4x8/config.h similarity index 100% rename from keyboards/runner3680/4x8/config.h rename to keyboards/omkbd/runner3680/4x8/config.h diff --git a/keyboards/runner3680/4x8/info.json b/keyboards/omkbd/runner3680/4x8/info.json similarity index 100% rename from keyboards/runner3680/4x8/info.json rename to keyboards/omkbd/runner3680/4x8/info.json diff --git a/keyboards/runner3680/4x8/keymaps/default/config.h b/keyboards/omkbd/runner3680/4x8/keymaps/default/config.h similarity index 100% rename from keyboards/runner3680/4x8/keymaps/default/config.h rename to keyboards/omkbd/runner3680/4x8/keymaps/default/config.h diff --git a/keyboards/runner3680/4x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c similarity index 100% rename from keyboards/runner3680/4x8/keymaps/default/keymap.c rename to keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c diff --git a/keyboards/runner3680/4x8/rules.mk b/keyboards/omkbd/runner3680/4x8/rules.mk similarity index 100% rename from keyboards/runner3680/4x8/rules.mk rename to keyboards/omkbd/runner3680/4x8/rules.mk diff --git a/keyboards/runner3680/5x6/.noci b/keyboards/omkbd/runner3680/5x6/.noci similarity index 100% rename from keyboards/runner3680/5x6/.noci rename to keyboards/omkbd/runner3680/5x6/.noci diff --git a/keyboards/runner3680/5x6/5x6.c b/keyboards/omkbd/runner3680/5x6/5x6.c similarity index 100% rename from keyboards/runner3680/5x6/5x6.c rename to keyboards/omkbd/runner3680/5x6/5x6.c diff --git a/keyboards/runner3680/5x6/5x6.h b/keyboards/omkbd/runner3680/5x6/5x6.h similarity index 100% rename from keyboards/runner3680/5x6/5x6.h rename to keyboards/omkbd/runner3680/5x6/5x6.h diff --git a/keyboards/runner3680/5x6/config.h b/keyboards/omkbd/runner3680/5x6/config.h similarity index 100% rename from keyboards/runner3680/5x6/config.h rename to keyboards/omkbd/runner3680/5x6/config.h diff --git a/keyboards/runner3680/5x6/info.json b/keyboards/omkbd/runner3680/5x6/info.json similarity index 100% rename from keyboards/runner3680/5x6/info.json rename to keyboards/omkbd/runner3680/5x6/info.json diff --git a/keyboards/runner3680/5x6/keymaps/default/config.h b/keyboards/omkbd/runner3680/5x6/keymaps/default/config.h similarity index 100% rename from keyboards/runner3680/5x6/keymaps/default/config.h rename to keyboards/omkbd/runner3680/5x6/keymaps/default/config.h diff --git a/keyboards/runner3680/5x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c similarity index 100% rename from keyboards/runner3680/5x6/keymaps/default/keymap.c rename to keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c diff --git a/keyboards/runner3680/5x6/rules.mk b/keyboards/omkbd/runner3680/5x6/rules.mk similarity index 100% rename from keyboards/runner3680/5x6/rules.mk rename to keyboards/omkbd/runner3680/5x6/rules.mk diff --git a/keyboards/runner3680/5x6_5x8/.noci b/keyboards/omkbd/runner3680/5x6_5x8/.noci similarity index 100% rename from keyboards/runner3680/5x6_5x8/.noci rename to keyboards/omkbd/runner3680/5x6_5x8/.noci diff --git a/keyboards/runner3680/5x6_5x8/5x6_5x8.c b/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.c similarity index 100% rename from keyboards/runner3680/5x6_5x8/5x6_5x8.c rename to keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.c diff --git a/keyboards/runner3680/5x6_5x8/5x6_5x8.h b/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.h similarity index 100% rename from keyboards/runner3680/5x6_5x8/5x6_5x8.h rename to keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.h diff --git a/keyboards/runner3680/5x6_5x8/config.h b/keyboards/omkbd/runner3680/5x6_5x8/config.h similarity index 100% rename from keyboards/runner3680/5x6_5x8/config.h rename to keyboards/omkbd/runner3680/5x6_5x8/config.h diff --git a/keyboards/runner3680/5x6_5x8/info.json b/keyboards/omkbd/runner3680/5x6_5x8/info.json similarity index 100% rename from keyboards/runner3680/5x6_5x8/info.json rename to keyboards/omkbd/runner3680/5x6_5x8/info.json diff --git a/keyboards/runner3680/5x6_5x8/keymaps/default/config.h b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/config.h similarity index 100% rename from keyboards/runner3680/5x6_5x8/keymaps/default/config.h rename to keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/config.h diff --git a/keyboards/runner3680/5x6_5x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/keymap.c similarity index 100% rename from keyboards/runner3680/5x6_5x8/keymaps/default/keymap.c rename to keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/keymap.c diff --git a/keyboards/runner3680/5x6_5x8/keymaps/derekhsu/config.h b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h similarity index 100% rename from keyboards/runner3680/5x6_5x8/keymaps/derekhsu/config.h rename to keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h diff --git a/keyboards/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c similarity index 100% rename from keyboards/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c rename to keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c diff --git a/keyboards/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk similarity index 100% rename from keyboards/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk rename to keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk diff --git a/keyboards/runner3680/5x6_5x8/keymaps/jis/config.h b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/config.h similarity index 100% rename from keyboards/runner3680/5x6_5x8/keymaps/jis/config.h rename to keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/config.h diff --git a/keyboards/runner3680/5x6_5x8/keymaps/jis/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/keymap.c similarity index 100% rename from keyboards/runner3680/5x6_5x8/keymaps/jis/keymap.c rename to keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/keymap.c diff --git a/keyboards/runner3680/5x6_5x8/keymaps/via/config.h b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/config.h similarity index 100% rename from keyboards/runner3680/5x6_5x8/keymaps/via/config.h rename to keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/config.h diff --git a/keyboards/runner3680/5x6_5x8/keymaps/via/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/keymap.c similarity index 100% rename from keyboards/runner3680/5x6_5x8/keymaps/via/keymap.c rename to keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/keymap.c diff --git a/keyboards/runner3680/5x6_5x8/keymaps/via/rules.mk b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/rules.mk similarity index 100% rename from keyboards/runner3680/5x6_5x8/keymaps/via/rules.mk rename to keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/rules.mk diff --git a/keyboards/runner3680/5x6_5x8/rules.mk b/keyboards/omkbd/runner3680/5x6_5x8/rules.mk similarity index 100% rename from keyboards/runner3680/5x6_5x8/rules.mk rename to keyboards/omkbd/runner3680/5x6_5x8/rules.mk diff --git a/keyboards/runner3680/5x7/.noci b/keyboards/omkbd/runner3680/5x7/.noci similarity index 100% rename from keyboards/runner3680/5x7/.noci rename to keyboards/omkbd/runner3680/5x7/.noci diff --git a/keyboards/runner3680/5x7/5x7.c b/keyboards/omkbd/runner3680/5x7/5x7.c similarity index 100% rename from keyboards/runner3680/5x7/5x7.c rename to keyboards/omkbd/runner3680/5x7/5x7.c diff --git a/keyboards/runner3680/5x7/5x7.h b/keyboards/omkbd/runner3680/5x7/5x7.h similarity index 100% rename from keyboards/runner3680/5x7/5x7.h rename to keyboards/omkbd/runner3680/5x7/5x7.h diff --git a/keyboards/runner3680/5x7/config.h b/keyboards/omkbd/runner3680/5x7/config.h similarity index 100% rename from keyboards/runner3680/5x7/config.h rename to keyboards/omkbd/runner3680/5x7/config.h diff --git a/keyboards/runner3680/5x7/info.json b/keyboards/omkbd/runner3680/5x7/info.json similarity index 100% rename from keyboards/runner3680/5x7/info.json rename to keyboards/omkbd/runner3680/5x7/info.json diff --git a/keyboards/runner3680/5x7/keymaps/default/config.h b/keyboards/omkbd/runner3680/5x7/keymaps/default/config.h similarity index 100% rename from keyboards/runner3680/5x7/keymaps/default/config.h rename to keyboards/omkbd/runner3680/5x7/keymaps/default/config.h diff --git a/keyboards/runner3680/5x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c similarity index 100% rename from keyboards/runner3680/5x7/keymaps/default/keymap.c rename to keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c diff --git a/keyboards/runner3680/5x7/rules.mk b/keyboards/omkbd/runner3680/5x7/rules.mk similarity index 100% rename from keyboards/runner3680/5x7/rules.mk rename to keyboards/omkbd/runner3680/5x7/rules.mk diff --git a/keyboards/runner3680/5x8/.noci b/keyboards/omkbd/runner3680/5x8/.noci similarity index 100% rename from keyboards/runner3680/5x8/.noci rename to keyboards/omkbd/runner3680/5x8/.noci diff --git a/keyboards/runner3680/5x8/5x8.c b/keyboards/omkbd/runner3680/5x8/5x8.c similarity index 100% rename from keyboards/runner3680/5x8/5x8.c rename to keyboards/omkbd/runner3680/5x8/5x8.c diff --git a/keyboards/runner3680/5x8/5x8.h b/keyboards/omkbd/runner3680/5x8/5x8.h similarity index 100% rename from keyboards/runner3680/5x8/5x8.h rename to keyboards/omkbd/runner3680/5x8/5x8.h diff --git a/keyboards/runner3680/5x8/config.h b/keyboards/omkbd/runner3680/5x8/config.h similarity index 100% rename from keyboards/runner3680/5x8/config.h rename to keyboards/omkbd/runner3680/5x8/config.h diff --git a/keyboards/runner3680/5x8/info.json b/keyboards/omkbd/runner3680/5x8/info.json similarity index 100% rename from keyboards/runner3680/5x8/info.json rename to keyboards/omkbd/runner3680/5x8/info.json diff --git a/keyboards/runner3680/5x8/keymaps/JIS/config.h b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/config.h similarity index 100% rename from keyboards/runner3680/5x8/keymaps/JIS/config.h rename to keyboards/omkbd/runner3680/5x8/keymaps/JIS/config.h diff --git a/keyboards/runner3680/5x8/keymaps/JIS/keymap.c b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c similarity index 100% rename from keyboards/runner3680/5x8/keymaps/JIS/keymap.c rename to keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c diff --git a/keyboards/runner3680/5x8/keymaps/default/config.h b/keyboards/omkbd/runner3680/5x8/keymaps/default/config.h similarity index 100% rename from keyboards/runner3680/5x8/keymaps/default/config.h rename to keyboards/omkbd/runner3680/5x8/keymaps/default/config.h diff --git a/keyboards/runner3680/5x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c similarity index 100% rename from keyboards/runner3680/5x8/keymaps/default/keymap.c rename to keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c diff --git a/keyboards/runner3680/5x8/rules.mk b/keyboards/omkbd/runner3680/5x8/rules.mk similarity index 100% rename from keyboards/runner3680/5x8/rules.mk rename to keyboards/omkbd/runner3680/5x8/rules.mk diff --git a/keyboards/runner3680/config.h b/keyboards/omkbd/runner3680/config.h similarity index 100% rename from keyboards/runner3680/config.h rename to keyboards/omkbd/runner3680/config.h diff --git a/keyboards/runner3680/readme.md b/keyboards/omkbd/runner3680/readme.md similarity index 95% rename from keyboards/runner3680/readme.md rename to keyboards/omkbd/runner3680/readme.md index b32ead412bf3..9dd15495a9c9 100644 --- a/keyboards/runner3680/readme.md +++ b/keyboards/omkbd/runner3680/readme.md @@ -10,6 +10,6 @@ Hardware Availability: Order your own [yourself](https://github.com/omkbd/Runner Make example for this keyboard (after setting up your build environment): - make runner3680/5x8:default + make omkbd/runner3680/5x8:default 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/runner3680/rules.mk b/keyboards/omkbd/runner3680/rules.mk similarity index 94% rename from keyboards/runner3680/rules.mk rename to keyboards/omkbd/runner3680/rules.mk index 2d0ea406eb19..1be171295da6 100644 --- a/keyboards/runner3680/rules.mk +++ b/keyboards/omkbd/runner3680/rules.mk @@ -19,4 +19,4 @@ AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes # Enables split keyboard support -DEFAULT_FOLDER = runner3680/5x8 +DEFAULT_FOLDER = omkbd/runner3680/5x8 diff --git a/keyboards/runner3680/runner3680.c b/keyboards/omkbd/runner3680/runner3680.c similarity index 100% rename from keyboards/runner3680/runner3680.c rename to keyboards/omkbd/runner3680/runner3680.c diff --git a/keyboards/omkbd/runner3680/runner3680.h b/keyboards/omkbd/runner3680/runner3680.h new file mode 100644 index 000000000000..59afecfcfaaf --- /dev/null +++ b/keyboards/omkbd/runner3680/runner3680.h @@ -0,0 +1,43 @@ +#pragma once + +#include "quantum.h" + +#ifdef KEYBOARD_omkbd_runner3680_5x8 + #include "5x8.h" +#endif + +#ifdef KEYBOARD_omkbd_runner3680_5x7 + #include "5x7.h" +#endif + +#ifdef KEYBOARD_omkbd_runner3680_5x6 + #include "5x6.h" +#endif + +#ifdef KEYBOARD_omkbd_runner3680_5x6_5x8 + #include "5x6_5x8.h" +#endif + +#ifdef KEYBOARD_omkbd_runner3680_4x8 + #include "4x8.h" +#endif + +#ifdef KEYBOARD_omkbd_runner3680_4x7 + #include "4x7.h" +#endif + +#ifdef KEYBOARD_omkbd_runner3680_4x6 + #include "4x6.h" +#endif + +#ifdef KEYBOARD_omkbd_runner3680_3x8 + #include "3x8.h" +#endif + +#ifdef KEYBOARD_omkbd_runner3680_3x7 + #include "3x7.h" +#endif + +#ifdef KEYBOARD_omkbd_runner3680_3x6 + #include "3x6.h" +#endif diff --git a/keyboards/runner3680/runner3680.h b/keyboards/runner3680/runner3680.h deleted file mode 100644 index 39a498e90a04..000000000000 --- a/keyboards/runner3680/runner3680.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once - -#include "quantum.h" - -#ifdef KEYBOARD_runner3680_5x8 - #include "5x8.h" -#endif - -#ifdef KEYBOARD_runner3680_5x7 - #include "5x7.h" -#endif - -#ifdef KEYBOARD_runner3680_5x6 - #include "5x6.h" -#endif - -#ifdef KEYBOARD_runner3680_5x6_5x8 - #include "5x6_5x8.h" -#endif - -#ifdef KEYBOARD_runner3680_4x8 - #include "4x8.h" -#endif - -#ifdef KEYBOARD_runner3680_4x7 - #include "4x7.h" -#endif - -#ifdef KEYBOARD_runner3680_4x6 - #include "4x6.h" -#endif - -#ifdef KEYBOARD_runner3680_3x8 - #include "3x8.h" -#endif - -#ifdef KEYBOARD_runner3680_3x7 - #include "3x7.h" -#endif - -#ifdef KEYBOARD_runner3680_3x6 - #include "3x6.h" -#endif From 1477440ba0e57347a4b8be0f137f7ced373b3325 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 10:12:39 +0800 Subject: [PATCH 0146/1832] [Keyboard] move niu_mini to /kbdfans (#16112) --- keyboards/{ => kbdfans}/niu_mini/config.h | 0 keyboards/{ => kbdfans}/niu_mini/info.json | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/abhixec/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/abhixec/readme.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/abhixec/rules.mk | 0 .../{ => kbdfans}/niu_mini/keymaps/codecoffeecode/keymap.c | 0 .../{ => kbdfans}/niu_mini/keymaps/codecoffeecode/readme.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/default/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/default/readme.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/dyesub/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/dyesub/readme.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/dyesub/rules.mk | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/edvard/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/edvard/readme.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/framtava/config.h | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/framtava/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/framtava/readme.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/framtava/rules.mk | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/mason/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/nosarthur/README.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/nosarthur/keymap.c | 0 .../niu_mini/keymaps/nosarthur/keymap_colemak_dh.json | 0 .../niu_mini/keymaps/nosarthur/keymap_qwerty.json | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/nosarthur/rules.mk | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/planck/config.h | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/planck/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/planck/readme.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/planck/rules.mk | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/tobias/config.h | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/tobias/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/tobias/readme.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/tobias/rules.mk | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/tucznak/config.h | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/tucznak/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/tucznak/readme.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/tucznak/rules.mk | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/via/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/via/rules.mk | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/xtonhasvim/config.h | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/xtonhasvim/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/xtonhasvim/readme.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/xtonhasvim/rules.mk | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/yttyx/README.md | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/yttyx/config.h | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/yttyx/keymap.c | 0 keyboards/{ => kbdfans}/niu_mini/keymaps/yttyx/rules.mk | 0 keyboards/{ => kbdfans}/niu_mini/niu_mini.c | 0 keyboards/{ => kbdfans}/niu_mini/niu_mini.h | 0 keyboards/{ => kbdfans}/niu_mini/readme.md | 4 ++-- keyboards/{ => kbdfans}/niu_mini/rules.mk | 0 50 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/{ => kbdfans}/niu_mini/config.h (100%) rename keyboards/{ => kbdfans}/niu_mini/info.json (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/abhixec/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/abhixec/readme.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/abhixec/rules.mk (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/codecoffeecode/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/codecoffeecode/readme.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/default/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/default/readme.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/dyesub/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/dyesub/readme.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/dyesub/rules.mk (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/edvard/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/edvard/readme.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/framtava/config.h (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/framtava/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/framtava/readme.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/framtava/rules.mk (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/mason/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/nosarthur/README.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/nosarthur/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/nosarthur/keymap_colemak_dh.json (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/nosarthur/keymap_qwerty.json (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/nosarthur/rules.mk (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/planck/config.h (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/planck/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/planck/readme.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/planck/rules.mk (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/tobias/config.h (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/tobias/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/tobias/readme.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/tobias/rules.mk (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/tucznak/config.h (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/tucznak/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/tucznak/readme.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/tucznak/rules.mk (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/via/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/via/rules.mk (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/xtonhasvim/config.h (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/xtonhasvim/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/xtonhasvim/readme.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/xtonhasvim/rules.mk (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/yttyx/README.md (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/yttyx/config.h (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/yttyx/keymap.c (100%) rename keyboards/{ => kbdfans}/niu_mini/keymaps/yttyx/rules.mk (100%) rename keyboards/{ => kbdfans}/niu_mini/niu_mini.c (100%) rename keyboards/{ => kbdfans}/niu_mini/niu_mini.h (100%) rename keyboards/{ => kbdfans}/niu_mini/readme.md (91%) rename keyboards/{ => kbdfans}/niu_mini/rules.mk (100%) diff --git a/keyboards/niu_mini/config.h b/keyboards/kbdfans/niu_mini/config.h similarity index 100% rename from keyboards/niu_mini/config.h rename to keyboards/kbdfans/niu_mini/config.h diff --git a/keyboards/niu_mini/info.json b/keyboards/kbdfans/niu_mini/info.json similarity index 100% rename from keyboards/niu_mini/info.json rename to keyboards/kbdfans/niu_mini/info.json diff --git a/keyboards/niu_mini/keymaps/abhixec/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/abhixec/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c diff --git a/keyboards/niu_mini/keymaps/abhixec/readme.md b/keyboards/kbdfans/niu_mini/keymaps/abhixec/readme.md similarity index 100% rename from keyboards/niu_mini/keymaps/abhixec/readme.md rename to keyboards/kbdfans/niu_mini/keymaps/abhixec/readme.md diff --git a/keyboards/niu_mini/keymaps/abhixec/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/abhixec/rules.mk similarity index 100% rename from keyboards/niu_mini/keymaps/abhixec/rules.mk rename to keyboards/kbdfans/niu_mini/keymaps/abhixec/rules.mk diff --git a/keyboards/niu_mini/keymaps/codecoffeecode/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/codecoffeecode/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c diff --git a/keyboards/niu_mini/keymaps/codecoffeecode/readme.md b/keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/readme.md similarity index 100% rename from keyboards/niu_mini/keymaps/codecoffeecode/readme.md rename to keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/readme.md diff --git a/keyboards/niu_mini/keymaps/default/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/default/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/default/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/default/keymap.c diff --git a/keyboards/niu_mini/keymaps/default/readme.md b/keyboards/kbdfans/niu_mini/keymaps/default/readme.md similarity index 100% rename from keyboards/niu_mini/keymaps/default/readme.md rename to keyboards/kbdfans/niu_mini/keymaps/default/readme.md diff --git a/keyboards/niu_mini/keymaps/dyesub/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/dyesub/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c diff --git a/keyboards/niu_mini/keymaps/dyesub/readme.md b/keyboards/kbdfans/niu_mini/keymaps/dyesub/readme.md similarity index 100% rename from keyboards/niu_mini/keymaps/dyesub/readme.md rename to keyboards/kbdfans/niu_mini/keymaps/dyesub/readme.md diff --git a/keyboards/niu_mini/keymaps/dyesub/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/dyesub/rules.mk similarity index 100% rename from keyboards/niu_mini/keymaps/dyesub/rules.mk rename to keyboards/kbdfans/niu_mini/keymaps/dyesub/rules.mk diff --git a/keyboards/niu_mini/keymaps/edvard/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/edvard/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c diff --git a/keyboards/niu_mini/keymaps/edvard/readme.md b/keyboards/kbdfans/niu_mini/keymaps/edvard/readme.md similarity index 100% rename from keyboards/niu_mini/keymaps/edvard/readme.md rename to keyboards/kbdfans/niu_mini/keymaps/edvard/readme.md diff --git a/keyboards/niu_mini/keymaps/framtava/config.h b/keyboards/kbdfans/niu_mini/keymaps/framtava/config.h similarity index 100% rename from keyboards/niu_mini/keymaps/framtava/config.h rename to keyboards/kbdfans/niu_mini/keymaps/framtava/config.h diff --git a/keyboards/niu_mini/keymaps/framtava/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/framtava/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c diff --git a/keyboards/niu_mini/keymaps/framtava/readme.md b/keyboards/kbdfans/niu_mini/keymaps/framtava/readme.md similarity index 100% rename from keyboards/niu_mini/keymaps/framtava/readme.md rename to keyboards/kbdfans/niu_mini/keymaps/framtava/readme.md diff --git a/keyboards/niu_mini/keymaps/framtava/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/framtava/rules.mk similarity index 100% rename from keyboards/niu_mini/keymaps/framtava/rules.mk rename to keyboards/kbdfans/niu_mini/keymaps/framtava/rules.mk diff --git a/keyboards/niu_mini/keymaps/mason/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/mason/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/mason/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/mason/keymap.c diff --git a/keyboards/niu_mini/keymaps/nosarthur/README.md b/keyboards/kbdfans/niu_mini/keymaps/nosarthur/README.md similarity index 100% rename from keyboards/niu_mini/keymaps/nosarthur/README.md rename to keyboards/kbdfans/niu_mini/keymaps/nosarthur/README.md diff --git a/keyboards/niu_mini/keymaps/nosarthur/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/nosarthur/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap.c diff --git a/keyboards/niu_mini/keymaps/nosarthur/keymap_colemak_dh.json b/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_colemak_dh.json similarity index 100% rename from keyboards/niu_mini/keymaps/nosarthur/keymap_colemak_dh.json rename to keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_colemak_dh.json diff --git a/keyboards/niu_mini/keymaps/nosarthur/keymap_qwerty.json b/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_qwerty.json similarity index 100% rename from keyboards/niu_mini/keymaps/nosarthur/keymap_qwerty.json rename to keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_qwerty.json diff --git a/keyboards/niu_mini/keymaps/nosarthur/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/nosarthur/rules.mk similarity index 100% rename from keyboards/niu_mini/keymaps/nosarthur/rules.mk rename to keyboards/kbdfans/niu_mini/keymaps/nosarthur/rules.mk diff --git a/keyboards/niu_mini/keymaps/planck/config.h b/keyboards/kbdfans/niu_mini/keymaps/planck/config.h similarity index 100% rename from keyboards/niu_mini/keymaps/planck/config.h rename to keyboards/kbdfans/niu_mini/keymaps/planck/config.h diff --git a/keyboards/niu_mini/keymaps/planck/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/planck/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c diff --git a/keyboards/niu_mini/keymaps/planck/readme.md b/keyboards/kbdfans/niu_mini/keymaps/planck/readme.md similarity index 100% rename from keyboards/niu_mini/keymaps/planck/readme.md rename to keyboards/kbdfans/niu_mini/keymaps/planck/readme.md diff --git a/keyboards/niu_mini/keymaps/planck/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk similarity index 100% rename from keyboards/niu_mini/keymaps/planck/rules.mk rename to keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk diff --git a/keyboards/niu_mini/keymaps/tobias/config.h b/keyboards/kbdfans/niu_mini/keymaps/tobias/config.h similarity index 100% rename from keyboards/niu_mini/keymaps/tobias/config.h rename to keyboards/kbdfans/niu_mini/keymaps/tobias/config.h diff --git a/keyboards/niu_mini/keymaps/tobias/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/tobias/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c diff --git a/keyboards/niu_mini/keymaps/tobias/readme.md b/keyboards/kbdfans/niu_mini/keymaps/tobias/readme.md similarity index 100% rename from keyboards/niu_mini/keymaps/tobias/readme.md rename to keyboards/kbdfans/niu_mini/keymaps/tobias/readme.md diff --git a/keyboards/niu_mini/keymaps/tobias/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/tobias/rules.mk similarity index 100% rename from keyboards/niu_mini/keymaps/tobias/rules.mk rename to keyboards/kbdfans/niu_mini/keymaps/tobias/rules.mk diff --git a/keyboards/niu_mini/keymaps/tucznak/config.h b/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h similarity index 100% rename from keyboards/niu_mini/keymaps/tucznak/config.h rename to keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h diff --git a/keyboards/niu_mini/keymaps/tucznak/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/tucznak/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c diff --git a/keyboards/niu_mini/keymaps/tucznak/readme.md b/keyboards/kbdfans/niu_mini/keymaps/tucznak/readme.md similarity index 100% rename from keyboards/niu_mini/keymaps/tucznak/readme.md rename to keyboards/kbdfans/niu_mini/keymaps/tucznak/readme.md diff --git a/keyboards/niu_mini/keymaps/tucznak/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/tucznak/rules.mk similarity index 100% rename from keyboards/niu_mini/keymaps/tucznak/rules.mk rename to keyboards/kbdfans/niu_mini/keymaps/tucznak/rules.mk diff --git a/keyboards/niu_mini/keymaps/via/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/via/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/via/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/via/keymap.c diff --git a/keyboards/niu_mini/keymaps/via/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/via/rules.mk similarity index 100% rename from keyboards/niu_mini/keymaps/via/rules.mk rename to keyboards/kbdfans/niu_mini/keymaps/via/rules.mk diff --git a/keyboards/niu_mini/keymaps/xtonhasvim/config.h b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/config.h similarity index 100% rename from keyboards/niu_mini/keymaps/xtonhasvim/config.h rename to keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/config.h diff --git a/keyboards/niu_mini/keymaps/xtonhasvim/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/xtonhasvim/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c diff --git a/keyboards/niu_mini/keymaps/xtonhasvim/readme.md b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/readme.md similarity index 100% rename from keyboards/niu_mini/keymaps/xtonhasvim/readme.md rename to keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/readme.md diff --git a/keyboards/niu_mini/keymaps/xtonhasvim/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/rules.mk similarity index 100% rename from keyboards/niu_mini/keymaps/xtonhasvim/rules.mk rename to keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/rules.mk diff --git a/keyboards/niu_mini/keymaps/yttyx/README.md b/keyboards/kbdfans/niu_mini/keymaps/yttyx/README.md similarity index 100% rename from keyboards/niu_mini/keymaps/yttyx/README.md rename to keyboards/kbdfans/niu_mini/keymaps/yttyx/README.md diff --git a/keyboards/niu_mini/keymaps/yttyx/config.h b/keyboards/kbdfans/niu_mini/keymaps/yttyx/config.h similarity index 100% rename from keyboards/niu_mini/keymaps/yttyx/config.h rename to keyboards/kbdfans/niu_mini/keymaps/yttyx/config.h diff --git a/keyboards/niu_mini/keymaps/yttyx/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/yttyx/keymap.c similarity index 100% rename from keyboards/niu_mini/keymaps/yttyx/keymap.c rename to keyboards/kbdfans/niu_mini/keymaps/yttyx/keymap.c diff --git a/keyboards/niu_mini/keymaps/yttyx/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/yttyx/rules.mk similarity index 100% rename from keyboards/niu_mini/keymaps/yttyx/rules.mk rename to keyboards/kbdfans/niu_mini/keymaps/yttyx/rules.mk diff --git a/keyboards/niu_mini/niu_mini.c b/keyboards/kbdfans/niu_mini/niu_mini.c similarity index 100% rename from keyboards/niu_mini/niu_mini.c rename to keyboards/kbdfans/niu_mini/niu_mini.c diff --git a/keyboards/niu_mini/niu_mini.h b/keyboards/kbdfans/niu_mini/niu_mini.h similarity index 100% rename from keyboards/niu_mini/niu_mini.h rename to keyboards/kbdfans/niu_mini/niu_mini.h diff --git a/keyboards/niu_mini/readme.md b/keyboards/kbdfans/niu_mini/readme.md similarity index 91% rename from keyboards/niu_mini/readme.md rename to keyboards/kbdfans/niu_mini/readme.md index f4863d8549e5..1a91ece94bff 100644 --- a/keyboards/niu_mini/readme.md +++ b/keyboards/kbdfans/niu_mini/readme.md @@ -10,10 +10,10 @@ Hardware Availability: [KBDFans](https://kbdfans.myshopify.com/products/niu-mini Make example for this keyboard (after setting up your build environment): - make niu_mini:default + make kbdfans/niu_mini:default Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): - make niu_mini:default:flash + make kbdfans/niu_mini:default:flash 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/niu_mini/rules.mk b/keyboards/kbdfans/niu_mini/rules.mk similarity index 100% rename from keyboards/niu_mini/rules.mk rename to keyboards/kbdfans/niu_mini/rules.mk From b8deac707e7ed8f278a53dfba93dae0730ea4b77 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 10:12:57 +0800 Subject: [PATCH 0147/1832] [Keyboard] move @tominabox1 's keebs into /tominabox1 (#16109) --- keyboards/{ => tominabox1}/adalyn/adalyn.c | 0 keyboards/{ => tominabox1}/adalyn/adalyn.h | 0 keyboards/{ => tominabox1}/adalyn/config.h | 0 keyboards/{ => tominabox1}/adalyn/info.json | 0 keyboards/{ => tominabox1}/adalyn/keymaps/default/config.h | 0 keyboards/{ => tominabox1}/adalyn/keymaps/default/keymap.c | 0 keyboards/{ => tominabox1}/adalyn/keymaps/default/readme.md | 0 keyboards/{ => tominabox1}/adalyn/keymaps/default/rules.mk | 0 keyboards/{ => tominabox1}/adalyn/readme.md | 4 ++-- keyboards/{ => tominabox1}/adalyn/rules.mk | 0 keyboards/{ => tominabox1}/le_chiffre/config.h | 0 keyboards/{ => tominabox1}/le_chiffre/info.json | 0 .../{ => tominabox1}/le_chiffre/keymaps/default/config.h | 0 .../{ => tominabox1}/le_chiffre/keymaps/default/keymap.c | 0 .../{ => tominabox1}/le_chiffre/keymaps/default/readme.md | 0 .../{ => tominabox1}/le_chiffre/keymaps/default/rules.mk | 0 keyboards/{ => tominabox1}/le_chiffre/keymaps/via/keymap.c | 0 keyboards/{ => tominabox1}/le_chiffre/keymaps/via/rules.mk | 0 keyboards/{ => tominabox1}/le_chiffre/le_chiffre.c | 0 keyboards/{ => tominabox1}/le_chiffre/le_chiffre.h | 0 keyboards/{ => tominabox1}/le_chiffre/readme.md | 2 +- keyboards/{ => tominabox1}/le_chiffre/rules.mk | 0 keyboards/{ => tominabox1}/qaz/config.h | 0 keyboards/{ => tominabox1}/qaz/info.json | 0 keyboards/{ => tominabox1}/qaz/keymaps/default/config.h | 0 keyboards/{ => tominabox1}/qaz/keymaps/default/keymap.c | 0 keyboards/{ => tominabox1}/qaz/keymaps/default/readme.md | 0 keyboards/{ => tominabox1}/qaz/keymaps/default/rules.mk | 0 .../{ => tominabox1}/qaz/keymaps/default_big_space/config.h | 0 .../{ => tominabox1}/qaz/keymaps/default_big_space/keymap.c | 0 .../{ => tominabox1}/qaz/keymaps/default_big_space/readme.md | 0 .../{ => tominabox1}/qaz/keymaps/default_big_space/rules.mk | 0 keyboards/{ => tominabox1}/qaz/keymaps/via/keymap.c | 0 keyboards/{ => tominabox1}/qaz/keymaps/via/rules.mk | 0 keyboards/{ => tominabox1}/qaz/qaz.c | 0 keyboards/{ => tominabox1}/qaz/qaz.h | 0 keyboards/{ => tominabox1}/qaz/readme.md | 2 +- keyboards/{ => tominabox1}/qaz/rules.mk | 0 keyboards/{ => tominabox1}/underscore33/.noci | 0 keyboards/{ => tominabox1}/underscore33/readme.md | 4 ++-- keyboards/{ => tominabox1}/underscore33/rev1/.noci | 0 keyboards/{ => tominabox1}/underscore33/rev1/config.h | 0 keyboards/{ => tominabox1}/underscore33/rev1/info.json | 0 .../underscore33/rev1/keymaps/default/config.h | 0 .../underscore33/rev1/keymaps/default/keymap.c | 0 .../underscore33/rev1/keymaps/default/readme.md | 0 .../underscore33/rev1/keymaps/default/rules.mk | 0 .../underscore33/rev1/keymaps/default_big_space/config.h | 0 .../underscore33/rev1/keymaps/default_big_space/keymap.c | 0 .../underscore33/rev1/keymaps/default_big_space/readme.md | 0 .../underscore33/rev1/keymaps/default_big_space/rules.mk | 0 .../{ => tominabox1}/underscore33/rev1/keymaps/via/keymap.c | 0 .../{ => tominabox1}/underscore33/rev1/keymaps/via/readme.md | 0 .../{ => tominabox1}/underscore33/rev1/keymaps/via/rules.mk | 0 keyboards/{ => tominabox1}/underscore33/rev1/rev1.c | 0 keyboards/{ => tominabox1}/underscore33/rev1/rev1.h | 0 keyboards/{ => tominabox1}/underscore33/rev1/rules.mk | 0 keyboards/{ => tominabox1}/underscore33/rev2/config.h | 0 keyboards/{ => tominabox1}/underscore33/rev2/info.json | 0 .../underscore33/rev2/keymaps/default/config.h | 0 .../underscore33/rev2/keymaps/default/keymap.c | 0 .../underscore33/rev2/keymaps/default/readme.md | 0 .../underscore33/rev2/keymaps/default/rules.mk | 0 .../underscore33/rev2/keymaps/default_big_space/config.h | 0 .../underscore33/rev2/keymaps/default_big_space/keymap.c | 0 .../underscore33/rev2/keymaps/default_big_space/readme.md | 0 .../underscore33/rev2/keymaps/default_big_space/rules.mk | 0 .../{ => tominabox1}/underscore33/rev2/keymaps/via/keymap.c | 0 .../{ => tominabox1}/underscore33/rev2/keymaps/via/readme.md | 0 .../{ => tominabox1}/underscore33/rev2/keymaps/via/rules.mk | 0 keyboards/{ => tominabox1}/underscore33/rev2/rev2.c | 0 keyboards/{ => tominabox1}/underscore33/rev2/rev2.h | 0 keyboards/{ => tominabox1}/underscore33/rev2/rules.mk | 0 keyboards/tominabox1/underscore33/rules.mk | 1 + keyboards/underscore33/rules.mk | 1 - 75 files changed, 7 insertions(+), 7 deletions(-) rename keyboards/{ => tominabox1}/adalyn/adalyn.c (100%) rename keyboards/{ => tominabox1}/adalyn/adalyn.h (100%) rename keyboards/{ => tominabox1}/adalyn/config.h (100%) rename keyboards/{ => tominabox1}/adalyn/info.json (100%) rename keyboards/{ => tominabox1}/adalyn/keymaps/default/config.h (100%) rename keyboards/{ => tominabox1}/adalyn/keymaps/default/keymap.c (100%) rename keyboards/{ => tominabox1}/adalyn/keymaps/default/readme.md (100%) rename keyboards/{ => tominabox1}/adalyn/keymaps/default/rules.mk (100%) rename keyboards/{ => tominabox1}/adalyn/readme.md (93%) rename keyboards/{ => tominabox1}/adalyn/rules.mk (100%) rename keyboards/{ => tominabox1}/le_chiffre/config.h (100%) rename keyboards/{ => tominabox1}/le_chiffre/info.json (100%) rename keyboards/{ => tominabox1}/le_chiffre/keymaps/default/config.h (100%) rename keyboards/{ => tominabox1}/le_chiffre/keymaps/default/keymap.c (100%) rename keyboards/{ => tominabox1}/le_chiffre/keymaps/default/readme.md (100%) rename keyboards/{ => tominabox1}/le_chiffre/keymaps/default/rules.mk (100%) rename keyboards/{ => tominabox1}/le_chiffre/keymaps/via/keymap.c (100%) rename keyboards/{ => tominabox1}/le_chiffre/keymaps/via/rules.mk (100%) rename keyboards/{ => tominabox1}/le_chiffre/le_chiffre.c (100%) rename keyboards/{ => tominabox1}/le_chiffre/le_chiffre.h (100%) rename keyboards/{ => tominabox1}/le_chiffre/readme.md (96%) rename keyboards/{ => tominabox1}/le_chiffre/rules.mk (100%) rename keyboards/{ => tominabox1}/qaz/config.h (100%) rename keyboards/{ => tominabox1}/qaz/info.json (100%) rename keyboards/{ => tominabox1}/qaz/keymaps/default/config.h (100%) rename keyboards/{ => tominabox1}/qaz/keymaps/default/keymap.c (100%) rename keyboards/{ => tominabox1}/qaz/keymaps/default/readme.md (100%) rename keyboards/{ => tominabox1}/qaz/keymaps/default/rules.mk (100%) rename keyboards/{ => tominabox1}/qaz/keymaps/default_big_space/config.h (100%) rename keyboards/{ => tominabox1}/qaz/keymaps/default_big_space/keymap.c (100%) rename keyboards/{ => tominabox1}/qaz/keymaps/default_big_space/readme.md (100%) rename keyboards/{ => tominabox1}/qaz/keymaps/default_big_space/rules.mk (100%) rename keyboards/{ => tominabox1}/qaz/keymaps/via/keymap.c (100%) rename keyboards/{ => tominabox1}/qaz/keymaps/via/rules.mk (100%) rename keyboards/{ => tominabox1}/qaz/qaz.c (100%) rename keyboards/{ => tominabox1}/qaz/qaz.h (100%) rename keyboards/{ => tominabox1}/qaz/readme.md (95%) rename keyboards/{ => tominabox1}/qaz/rules.mk (100%) rename keyboards/{ => tominabox1}/underscore33/.noci (100%) rename keyboards/{ => tominabox1}/underscore33/readme.md (91%) rename keyboards/{ => tominabox1}/underscore33/rev1/.noci (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/config.h (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/info.json (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/default/config.h (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/default/keymap.c (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/default/readme.md (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/default/rules.mk (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/default_big_space/config.h (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/default_big_space/keymap.c (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/default_big_space/readme.md (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/default_big_space/rules.mk (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/via/keymap.c (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/via/readme.md (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/keymaps/via/rules.mk (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/rev1.c (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/rev1.h (100%) rename keyboards/{ => tominabox1}/underscore33/rev1/rules.mk (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/config.h (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/info.json (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/default/config.h (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/default/keymap.c (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/default/readme.md (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/default/rules.mk (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/default_big_space/config.h (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/default_big_space/keymap.c (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/default_big_space/readme.md (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/default_big_space/rules.mk (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/via/keymap.c (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/via/readme.md (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/keymaps/via/rules.mk (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/rev2.c (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/rev2.h (100%) rename keyboards/{ => tominabox1}/underscore33/rev2/rules.mk (100%) create mode 100644 keyboards/tominabox1/underscore33/rules.mk delete mode 100644 keyboards/underscore33/rules.mk diff --git a/keyboards/adalyn/adalyn.c b/keyboards/tominabox1/adalyn/adalyn.c similarity index 100% rename from keyboards/adalyn/adalyn.c rename to keyboards/tominabox1/adalyn/adalyn.c diff --git a/keyboards/adalyn/adalyn.h b/keyboards/tominabox1/adalyn/adalyn.h similarity index 100% rename from keyboards/adalyn/adalyn.h rename to keyboards/tominabox1/adalyn/adalyn.h diff --git a/keyboards/adalyn/config.h b/keyboards/tominabox1/adalyn/config.h similarity index 100% rename from keyboards/adalyn/config.h rename to keyboards/tominabox1/adalyn/config.h diff --git a/keyboards/adalyn/info.json b/keyboards/tominabox1/adalyn/info.json similarity index 100% rename from keyboards/adalyn/info.json rename to keyboards/tominabox1/adalyn/info.json diff --git a/keyboards/adalyn/keymaps/default/config.h b/keyboards/tominabox1/adalyn/keymaps/default/config.h similarity index 100% rename from keyboards/adalyn/keymaps/default/config.h rename to keyboards/tominabox1/adalyn/keymaps/default/config.h diff --git a/keyboards/adalyn/keymaps/default/keymap.c b/keyboards/tominabox1/adalyn/keymaps/default/keymap.c similarity index 100% rename from keyboards/adalyn/keymaps/default/keymap.c rename to keyboards/tominabox1/adalyn/keymaps/default/keymap.c diff --git a/keyboards/adalyn/keymaps/default/readme.md b/keyboards/tominabox1/adalyn/keymaps/default/readme.md similarity index 100% rename from keyboards/adalyn/keymaps/default/readme.md rename to keyboards/tominabox1/adalyn/keymaps/default/readme.md diff --git a/keyboards/adalyn/keymaps/default/rules.mk b/keyboards/tominabox1/adalyn/keymaps/default/rules.mk similarity index 100% rename from keyboards/adalyn/keymaps/default/rules.mk rename to keyboards/tominabox1/adalyn/keymaps/default/rules.mk diff --git a/keyboards/adalyn/readme.md b/keyboards/tominabox1/adalyn/readme.md similarity index 93% rename from keyboards/adalyn/readme.md rename to keyboards/tominabox1/adalyn/readme.md index ee24bead6113..d6292b5cad19 100644 --- a/keyboards/adalyn/readme.md +++ b/keyboards/tominabox1/adalyn/readme.md @@ -8,9 +8,9 @@ * Hardware Availability: Open source on @tominabox1 GitHub Make example for this keyboard (after setting up your build environment): - make adalyn:default + make tominabox1/adalyn:default Flashing example for this keyboard: - make adalyn:default:flash + make tominabox1/adalyn:default:flash 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). ## Bootloader Enter the bootloader in 3 ways: diff --git a/keyboards/adalyn/rules.mk b/keyboards/tominabox1/adalyn/rules.mk similarity index 100% rename from keyboards/adalyn/rules.mk rename to keyboards/tominabox1/adalyn/rules.mk diff --git a/keyboards/le_chiffre/config.h b/keyboards/tominabox1/le_chiffre/config.h similarity index 100% rename from keyboards/le_chiffre/config.h rename to keyboards/tominabox1/le_chiffre/config.h diff --git a/keyboards/le_chiffre/info.json b/keyboards/tominabox1/le_chiffre/info.json similarity index 100% rename from keyboards/le_chiffre/info.json rename to keyboards/tominabox1/le_chiffre/info.json diff --git a/keyboards/le_chiffre/keymaps/default/config.h b/keyboards/tominabox1/le_chiffre/keymaps/default/config.h similarity index 100% rename from keyboards/le_chiffre/keymaps/default/config.h rename to keyboards/tominabox1/le_chiffre/keymaps/default/config.h diff --git a/keyboards/le_chiffre/keymaps/default/keymap.c b/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c similarity index 100% rename from keyboards/le_chiffre/keymaps/default/keymap.c rename to keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c diff --git a/keyboards/le_chiffre/keymaps/default/readme.md b/keyboards/tominabox1/le_chiffre/keymaps/default/readme.md similarity index 100% rename from keyboards/le_chiffre/keymaps/default/readme.md rename to keyboards/tominabox1/le_chiffre/keymaps/default/readme.md diff --git a/keyboards/le_chiffre/keymaps/default/rules.mk b/keyboards/tominabox1/le_chiffre/keymaps/default/rules.mk similarity index 100% rename from keyboards/le_chiffre/keymaps/default/rules.mk rename to keyboards/tominabox1/le_chiffre/keymaps/default/rules.mk diff --git a/keyboards/le_chiffre/keymaps/via/keymap.c b/keyboards/tominabox1/le_chiffre/keymaps/via/keymap.c similarity index 100% rename from keyboards/le_chiffre/keymaps/via/keymap.c rename to keyboards/tominabox1/le_chiffre/keymaps/via/keymap.c diff --git a/keyboards/le_chiffre/keymaps/via/rules.mk b/keyboards/tominabox1/le_chiffre/keymaps/via/rules.mk similarity index 100% rename from keyboards/le_chiffre/keymaps/via/rules.mk rename to keyboards/tominabox1/le_chiffre/keymaps/via/rules.mk diff --git a/keyboards/le_chiffre/le_chiffre.c b/keyboards/tominabox1/le_chiffre/le_chiffre.c similarity index 100% rename from keyboards/le_chiffre/le_chiffre.c rename to keyboards/tominabox1/le_chiffre/le_chiffre.c diff --git a/keyboards/le_chiffre/le_chiffre.h b/keyboards/tominabox1/le_chiffre/le_chiffre.h similarity index 100% rename from keyboards/le_chiffre/le_chiffre.h rename to keyboards/tominabox1/le_chiffre/le_chiffre.h diff --git a/keyboards/le_chiffre/readme.md b/keyboards/tominabox1/le_chiffre/readme.md similarity index 96% rename from keyboards/le_chiffre/readme.md rename to keyboards/tominabox1/le_chiffre/readme.md index ead6d88b3e7b..ea18546c615b 100644 --- a/keyboards/le_chiffre/readme.md +++ b/keyboards/tominabox1/le_chiffre/readme.md @@ -10,6 +10,6 @@ Le Chiffre (ironically, "the number" in French is a 30% keyboard designed by tom Make example for this keyboard (after setting up your build environment): - make le_chiffre:default + make tominabox1/le_chiffre:default 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/le_chiffre/rules.mk b/keyboards/tominabox1/le_chiffre/rules.mk similarity index 100% rename from keyboards/le_chiffre/rules.mk rename to keyboards/tominabox1/le_chiffre/rules.mk diff --git a/keyboards/qaz/config.h b/keyboards/tominabox1/qaz/config.h similarity index 100% rename from keyboards/qaz/config.h rename to keyboards/tominabox1/qaz/config.h diff --git a/keyboards/qaz/info.json b/keyboards/tominabox1/qaz/info.json similarity index 100% rename from keyboards/qaz/info.json rename to keyboards/tominabox1/qaz/info.json diff --git a/keyboards/qaz/keymaps/default/config.h b/keyboards/tominabox1/qaz/keymaps/default/config.h similarity index 100% rename from keyboards/qaz/keymaps/default/config.h rename to keyboards/tominabox1/qaz/keymaps/default/config.h diff --git a/keyboards/qaz/keymaps/default/keymap.c b/keyboards/tominabox1/qaz/keymaps/default/keymap.c similarity index 100% rename from keyboards/qaz/keymaps/default/keymap.c rename to keyboards/tominabox1/qaz/keymaps/default/keymap.c diff --git a/keyboards/qaz/keymaps/default/readme.md b/keyboards/tominabox1/qaz/keymaps/default/readme.md similarity index 100% rename from keyboards/qaz/keymaps/default/readme.md rename to keyboards/tominabox1/qaz/keymaps/default/readme.md diff --git a/keyboards/qaz/keymaps/default/rules.mk b/keyboards/tominabox1/qaz/keymaps/default/rules.mk similarity index 100% rename from keyboards/qaz/keymaps/default/rules.mk rename to keyboards/tominabox1/qaz/keymaps/default/rules.mk diff --git a/keyboards/qaz/keymaps/default_big_space/config.h b/keyboards/tominabox1/qaz/keymaps/default_big_space/config.h similarity index 100% rename from keyboards/qaz/keymaps/default_big_space/config.h rename to keyboards/tominabox1/qaz/keymaps/default_big_space/config.h diff --git a/keyboards/qaz/keymaps/default_big_space/keymap.c b/keyboards/tominabox1/qaz/keymaps/default_big_space/keymap.c similarity index 100% rename from keyboards/qaz/keymaps/default_big_space/keymap.c rename to keyboards/tominabox1/qaz/keymaps/default_big_space/keymap.c diff --git a/keyboards/qaz/keymaps/default_big_space/readme.md b/keyboards/tominabox1/qaz/keymaps/default_big_space/readme.md similarity index 100% rename from keyboards/qaz/keymaps/default_big_space/readme.md rename to keyboards/tominabox1/qaz/keymaps/default_big_space/readme.md diff --git a/keyboards/qaz/keymaps/default_big_space/rules.mk b/keyboards/tominabox1/qaz/keymaps/default_big_space/rules.mk similarity index 100% rename from keyboards/qaz/keymaps/default_big_space/rules.mk rename to keyboards/tominabox1/qaz/keymaps/default_big_space/rules.mk diff --git a/keyboards/qaz/keymaps/via/keymap.c b/keyboards/tominabox1/qaz/keymaps/via/keymap.c similarity index 100% rename from keyboards/qaz/keymaps/via/keymap.c rename to keyboards/tominabox1/qaz/keymaps/via/keymap.c diff --git a/keyboards/qaz/keymaps/via/rules.mk b/keyboards/tominabox1/qaz/keymaps/via/rules.mk similarity index 100% rename from keyboards/qaz/keymaps/via/rules.mk rename to keyboards/tominabox1/qaz/keymaps/via/rules.mk diff --git a/keyboards/qaz/qaz.c b/keyboards/tominabox1/qaz/qaz.c similarity index 100% rename from keyboards/qaz/qaz.c rename to keyboards/tominabox1/qaz/qaz.c diff --git a/keyboards/qaz/qaz.h b/keyboards/tominabox1/qaz/qaz.h similarity index 100% rename from keyboards/qaz/qaz.h rename to keyboards/tominabox1/qaz/qaz.h diff --git a/keyboards/qaz/readme.md b/keyboards/tominabox1/qaz/readme.md similarity index 95% rename from keyboards/qaz/readme.md rename to keyboards/tominabox1/qaz/readme.md index 2f1e7fcc9a98..13940e7c253e 100644 --- a/keyboards/qaz/readme.md +++ b/keyboards/tominabox1/qaz/readme.md @@ -10,6 +10,6 @@ Throw it in your fanny pack and hop on your fixed gear and away you go. QAZ is c Make example for this keyboard (after setting up your build environment): - qmk compile -kb qaz -km default + qmk compile -kb tominabox1/qaz -km default 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/qaz/rules.mk b/keyboards/tominabox1/qaz/rules.mk similarity index 100% rename from keyboards/qaz/rules.mk rename to keyboards/tominabox1/qaz/rules.mk diff --git a/keyboards/underscore33/.noci b/keyboards/tominabox1/underscore33/.noci similarity index 100% rename from keyboards/underscore33/.noci rename to keyboards/tominabox1/underscore33/.noci diff --git a/keyboards/underscore33/readme.md b/keyboards/tominabox1/underscore33/readme.md similarity index 91% rename from keyboards/underscore33/readme.md rename to keyboards/tominabox1/underscore33/readme.md index 7cc2f9f4110f..273786dce02b 100644 --- a/keyboards/underscore33/readme.md +++ b/keyboards/tominabox1/underscore33/readme.md @@ -10,10 +10,10 @@ A little bitty 30% (10x4) ortholinear keyboard designed by tominabox1. The R1 v Make example for this keyboard (after setting up your build environment): - make underscore33/rev2:default + make tominabox1/underscore33/rev2:default Flashing example for this keyboard: - make underscore33/rev2:default:flash + make tominabox1/underscore33/rev2:default:flash 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/underscore33/rev1/.noci b/keyboards/tominabox1/underscore33/rev1/.noci similarity index 100% rename from keyboards/underscore33/rev1/.noci rename to keyboards/tominabox1/underscore33/rev1/.noci diff --git a/keyboards/underscore33/rev1/config.h b/keyboards/tominabox1/underscore33/rev1/config.h similarity index 100% rename from keyboards/underscore33/rev1/config.h rename to keyboards/tominabox1/underscore33/rev1/config.h diff --git a/keyboards/underscore33/rev1/info.json b/keyboards/tominabox1/underscore33/rev1/info.json similarity index 100% rename from keyboards/underscore33/rev1/info.json rename to keyboards/tominabox1/underscore33/rev1/info.json diff --git a/keyboards/underscore33/rev1/keymaps/default/config.h b/keyboards/tominabox1/underscore33/rev1/keymaps/default/config.h similarity index 100% rename from keyboards/underscore33/rev1/keymaps/default/config.h rename to keyboards/tominabox1/underscore33/rev1/keymaps/default/config.h diff --git a/keyboards/underscore33/rev1/keymaps/default/keymap.c b/keyboards/tominabox1/underscore33/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/underscore33/rev1/keymaps/default/keymap.c rename to keyboards/tominabox1/underscore33/rev1/keymaps/default/keymap.c diff --git a/keyboards/underscore33/rev1/keymaps/default/readme.md b/keyboards/tominabox1/underscore33/rev1/keymaps/default/readme.md similarity index 100% rename from keyboards/underscore33/rev1/keymaps/default/readme.md rename to keyboards/tominabox1/underscore33/rev1/keymaps/default/readme.md diff --git a/keyboards/underscore33/rev1/keymaps/default/rules.mk b/keyboards/tominabox1/underscore33/rev1/keymaps/default/rules.mk similarity index 100% rename from keyboards/underscore33/rev1/keymaps/default/rules.mk rename to keyboards/tominabox1/underscore33/rev1/keymaps/default/rules.mk diff --git a/keyboards/underscore33/rev1/keymaps/default_big_space/config.h b/keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/config.h similarity index 100% rename from keyboards/underscore33/rev1/keymaps/default_big_space/config.h rename to keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/config.h diff --git a/keyboards/underscore33/rev1/keymaps/default_big_space/keymap.c b/keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/keymap.c similarity index 100% rename from keyboards/underscore33/rev1/keymaps/default_big_space/keymap.c rename to keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/keymap.c diff --git a/keyboards/underscore33/rev1/keymaps/default_big_space/readme.md b/keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/readme.md similarity index 100% rename from keyboards/underscore33/rev1/keymaps/default_big_space/readme.md rename to keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/readme.md diff --git a/keyboards/underscore33/rev1/keymaps/default_big_space/rules.mk b/keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/rules.mk similarity index 100% rename from keyboards/underscore33/rev1/keymaps/default_big_space/rules.mk rename to keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/rules.mk diff --git a/keyboards/underscore33/rev1/keymaps/via/keymap.c b/keyboards/tominabox1/underscore33/rev1/keymaps/via/keymap.c similarity index 100% rename from keyboards/underscore33/rev1/keymaps/via/keymap.c rename to keyboards/tominabox1/underscore33/rev1/keymaps/via/keymap.c diff --git a/keyboards/underscore33/rev1/keymaps/via/readme.md b/keyboards/tominabox1/underscore33/rev1/keymaps/via/readme.md similarity index 100% rename from keyboards/underscore33/rev1/keymaps/via/readme.md rename to keyboards/tominabox1/underscore33/rev1/keymaps/via/readme.md diff --git a/keyboards/underscore33/rev1/keymaps/via/rules.mk b/keyboards/tominabox1/underscore33/rev1/keymaps/via/rules.mk similarity index 100% rename from keyboards/underscore33/rev1/keymaps/via/rules.mk rename to keyboards/tominabox1/underscore33/rev1/keymaps/via/rules.mk diff --git a/keyboards/underscore33/rev1/rev1.c b/keyboards/tominabox1/underscore33/rev1/rev1.c similarity index 100% rename from keyboards/underscore33/rev1/rev1.c rename to keyboards/tominabox1/underscore33/rev1/rev1.c diff --git a/keyboards/underscore33/rev1/rev1.h b/keyboards/tominabox1/underscore33/rev1/rev1.h similarity index 100% rename from keyboards/underscore33/rev1/rev1.h rename to keyboards/tominabox1/underscore33/rev1/rev1.h diff --git a/keyboards/underscore33/rev1/rules.mk b/keyboards/tominabox1/underscore33/rev1/rules.mk similarity index 100% rename from keyboards/underscore33/rev1/rules.mk rename to keyboards/tominabox1/underscore33/rev1/rules.mk diff --git a/keyboards/underscore33/rev2/config.h b/keyboards/tominabox1/underscore33/rev2/config.h similarity index 100% rename from keyboards/underscore33/rev2/config.h rename to keyboards/tominabox1/underscore33/rev2/config.h diff --git a/keyboards/underscore33/rev2/info.json b/keyboards/tominabox1/underscore33/rev2/info.json similarity index 100% rename from keyboards/underscore33/rev2/info.json rename to keyboards/tominabox1/underscore33/rev2/info.json diff --git a/keyboards/underscore33/rev2/keymaps/default/config.h b/keyboards/tominabox1/underscore33/rev2/keymaps/default/config.h similarity index 100% rename from keyboards/underscore33/rev2/keymaps/default/config.h rename to keyboards/tominabox1/underscore33/rev2/keymaps/default/config.h diff --git a/keyboards/underscore33/rev2/keymaps/default/keymap.c b/keyboards/tominabox1/underscore33/rev2/keymaps/default/keymap.c similarity index 100% rename from keyboards/underscore33/rev2/keymaps/default/keymap.c rename to keyboards/tominabox1/underscore33/rev2/keymaps/default/keymap.c diff --git a/keyboards/underscore33/rev2/keymaps/default/readme.md b/keyboards/tominabox1/underscore33/rev2/keymaps/default/readme.md similarity index 100% rename from keyboards/underscore33/rev2/keymaps/default/readme.md rename to keyboards/tominabox1/underscore33/rev2/keymaps/default/readme.md diff --git a/keyboards/underscore33/rev2/keymaps/default/rules.mk b/keyboards/tominabox1/underscore33/rev2/keymaps/default/rules.mk similarity index 100% rename from keyboards/underscore33/rev2/keymaps/default/rules.mk rename to keyboards/tominabox1/underscore33/rev2/keymaps/default/rules.mk diff --git a/keyboards/underscore33/rev2/keymaps/default_big_space/config.h b/keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/config.h similarity index 100% rename from keyboards/underscore33/rev2/keymaps/default_big_space/config.h rename to keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/config.h diff --git a/keyboards/underscore33/rev2/keymaps/default_big_space/keymap.c b/keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/keymap.c similarity index 100% rename from keyboards/underscore33/rev2/keymaps/default_big_space/keymap.c rename to keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/keymap.c diff --git a/keyboards/underscore33/rev2/keymaps/default_big_space/readme.md b/keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/readme.md similarity index 100% rename from keyboards/underscore33/rev2/keymaps/default_big_space/readme.md rename to keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/readme.md diff --git a/keyboards/underscore33/rev2/keymaps/default_big_space/rules.mk b/keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/rules.mk similarity index 100% rename from keyboards/underscore33/rev2/keymaps/default_big_space/rules.mk rename to keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/rules.mk diff --git a/keyboards/underscore33/rev2/keymaps/via/keymap.c b/keyboards/tominabox1/underscore33/rev2/keymaps/via/keymap.c similarity index 100% rename from keyboards/underscore33/rev2/keymaps/via/keymap.c rename to keyboards/tominabox1/underscore33/rev2/keymaps/via/keymap.c diff --git a/keyboards/underscore33/rev2/keymaps/via/readme.md b/keyboards/tominabox1/underscore33/rev2/keymaps/via/readme.md similarity index 100% rename from keyboards/underscore33/rev2/keymaps/via/readme.md rename to keyboards/tominabox1/underscore33/rev2/keymaps/via/readme.md diff --git a/keyboards/underscore33/rev2/keymaps/via/rules.mk b/keyboards/tominabox1/underscore33/rev2/keymaps/via/rules.mk similarity index 100% rename from keyboards/underscore33/rev2/keymaps/via/rules.mk rename to keyboards/tominabox1/underscore33/rev2/keymaps/via/rules.mk diff --git a/keyboards/underscore33/rev2/rev2.c b/keyboards/tominabox1/underscore33/rev2/rev2.c similarity index 100% rename from keyboards/underscore33/rev2/rev2.c rename to keyboards/tominabox1/underscore33/rev2/rev2.c diff --git a/keyboards/underscore33/rev2/rev2.h b/keyboards/tominabox1/underscore33/rev2/rev2.h similarity index 100% rename from keyboards/underscore33/rev2/rev2.h rename to keyboards/tominabox1/underscore33/rev2/rev2.h diff --git a/keyboards/underscore33/rev2/rules.mk b/keyboards/tominabox1/underscore33/rev2/rules.mk similarity index 100% rename from keyboards/underscore33/rev2/rules.mk rename to keyboards/tominabox1/underscore33/rev2/rules.mk diff --git a/keyboards/tominabox1/underscore33/rules.mk b/keyboards/tominabox1/underscore33/rules.mk new file mode 100644 index 000000000000..b5e13fd4208d --- /dev/null +++ b/keyboards/tominabox1/underscore33/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = tominabox1/underscore33/rev1 diff --git a/keyboards/underscore33/rules.mk b/keyboards/underscore33/rules.mk deleted file mode 100644 index b86f18e114fa..000000000000 --- a/keyboards/underscore33/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = underscore33/rev1 From d9238b7baf3e99087f3e7455214776b28edf31bd Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 10:13:13 +0800 Subject: [PATCH 0148/1832] [Keyboard] fix missed .noci in reviung move (#16107) --- keyboards/{ => reviung}/reviung33/.noci | 0 keyboards/{ => reviung}/reviung61/.noci | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename keyboards/{ => reviung}/reviung33/.noci (100%) rename keyboards/{ => reviung}/reviung61/.noci (100%) diff --git a/keyboards/reviung33/.noci b/keyboards/reviung/reviung33/.noci similarity index 100% rename from keyboards/reviung33/.noci rename to keyboards/reviung/reviung33/.noci diff --git a/keyboards/reviung61/.noci b/keyboards/reviung/reviung61/.noci similarity index 100% rename from keyboards/reviung61/.noci rename to keyboards/reviung/reviung61/.noci From a2cfa23baf5dd43c5649b58fabb4fae95b9ee086 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 10:13:33 +0800 Subject: [PATCH 0149/1832] [Keyboard] move @vuhopkep 's keebs into /hnahkb (#16102) --- keyboards/{ => hnahkb}/freyr/config.h | 0 keyboards/{ => hnahkb}/freyr/freyr.c | 0 keyboards/{ => hnahkb}/freyr/freyr.h | 0 keyboards/{ => hnahkb}/freyr/info.json | 0 keyboards/{ => hnahkb}/freyr/keymaps/default/keymap.c | 0 keyboards/{ => hnahkb}/freyr/keymaps/default/readme.md | 0 keyboards/{ => hnahkb}/freyr/readme.md | 4 ++-- keyboards/{ => hnahkb}/freyr/rules.mk | 0 keyboards/{ => hnahkb}/stella/config.h | 0 keyboards/{ => hnahkb}/stella/info.json | 0 keyboards/{ => hnahkb}/stella/keymaps/default/keymap.c | 0 keyboards/{ => hnahkb}/stella/keymaps/default/readme.md | 0 keyboards/{ => hnahkb}/stella/readme.md | 4 ++-- keyboards/{ => hnahkb}/stella/rules.mk | 0 keyboards/{ => hnahkb}/stella/stella.c | 0 keyboards/{ => hnahkb}/stella/stella.h | 0 keyboards/{ => hnahkb}/vn66/config.h | 0 keyboards/{ => hnahkb}/vn66/info.json | 0 keyboards/{ => hnahkb}/vn66/keymaps/default/keymap.c | 0 keyboards/{ => hnahkb}/vn66/keymaps/default/readme.md | 0 keyboards/{ => hnahkb}/vn66/readme.md | 4 ++-- keyboards/{ => hnahkb}/vn66/rules.mk | 0 keyboards/{ => hnahkb}/vn66/vn66.c | 0 keyboards/{ => hnahkb}/vn66/vn66.h | 0 24 files changed, 6 insertions(+), 6 deletions(-) rename keyboards/{ => hnahkb}/freyr/config.h (100%) rename keyboards/{ => hnahkb}/freyr/freyr.c (100%) rename keyboards/{ => hnahkb}/freyr/freyr.h (100%) rename keyboards/{ => hnahkb}/freyr/info.json (100%) rename keyboards/{ => hnahkb}/freyr/keymaps/default/keymap.c (100%) rename keyboards/{ => hnahkb}/freyr/keymaps/default/readme.md (100%) rename keyboards/{ => hnahkb}/freyr/readme.md (91%) rename keyboards/{ => hnahkb}/freyr/rules.mk (100%) rename keyboards/{ => hnahkb}/stella/config.h (100%) rename keyboards/{ => hnahkb}/stella/info.json (100%) rename keyboards/{ => hnahkb}/stella/keymaps/default/keymap.c (100%) rename keyboards/{ => hnahkb}/stella/keymaps/default/readme.md (100%) rename keyboards/{ => hnahkb}/stella/readme.md (91%) rename keyboards/{ => hnahkb}/stella/rules.mk (100%) rename keyboards/{ => hnahkb}/stella/stella.c (100%) rename keyboards/{ => hnahkb}/stella/stella.h (100%) rename keyboards/{ => hnahkb}/vn66/config.h (100%) rename keyboards/{ => hnahkb}/vn66/info.json (100%) rename keyboards/{ => hnahkb}/vn66/keymaps/default/keymap.c (100%) rename keyboards/{ => hnahkb}/vn66/keymaps/default/readme.md (100%) rename keyboards/{ => hnahkb}/vn66/readme.md (90%) rename keyboards/{ => hnahkb}/vn66/rules.mk (100%) rename keyboards/{ => hnahkb}/vn66/vn66.c (100%) rename keyboards/{ => hnahkb}/vn66/vn66.h (100%) diff --git a/keyboards/freyr/config.h b/keyboards/hnahkb/freyr/config.h similarity index 100% rename from keyboards/freyr/config.h rename to keyboards/hnahkb/freyr/config.h diff --git a/keyboards/freyr/freyr.c b/keyboards/hnahkb/freyr/freyr.c similarity index 100% rename from keyboards/freyr/freyr.c rename to keyboards/hnahkb/freyr/freyr.c diff --git a/keyboards/freyr/freyr.h b/keyboards/hnahkb/freyr/freyr.h similarity index 100% rename from keyboards/freyr/freyr.h rename to keyboards/hnahkb/freyr/freyr.h diff --git a/keyboards/freyr/info.json b/keyboards/hnahkb/freyr/info.json similarity index 100% rename from keyboards/freyr/info.json rename to keyboards/hnahkb/freyr/info.json diff --git a/keyboards/freyr/keymaps/default/keymap.c b/keyboards/hnahkb/freyr/keymaps/default/keymap.c similarity index 100% rename from keyboards/freyr/keymaps/default/keymap.c rename to keyboards/hnahkb/freyr/keymaps/default/keymap.c diff --git a/keyboards/freyr/keymaps/default/readme.md b/keyboards/hnahkb/freyr/keymaps/default/readme.md similarity index 100% rename from keyboards/freyr/keymaps/default/readme.md rename to keyboards/hnahkb/freyr/keymaps/default/readme.md diff --git a/keyboards/freyr/readme.md b/keyboards/hnahkb/freyr/readme.md similarity index 91% rename from keyboards/freyr/readme.md rename to keyboards/hnahkb/freyr/readme.md index 20fa484e8c40..93df05b4752d 100644 --- a/keyboards/freyr/readme.md +++ b/keyboards/hnahkb/freyr/readme.md @@ -11,10 +11,10 @@ Freyr is a tenkeyless keyboard, support ansi and iso layout. Make example for this keyboard (after setting up your build environment): - make freyr:default + make hnahkb/freyr:default Flashing example for this keyboard: - make freyr:default:flash + make hnahkb/freyr:default:flash 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/freyr/rules.mk b/keyboards/hnahkb/freyr/rules.mk similarity index 100% rename from keyboards/freyr/rules.mk rename to keyboards/hnahkb/freyr/rules.mk diff --git a/keyboards/stella/config.h b/keyboards/hnahkb/stella/config.h similarity index 100% rename from keyboards/stella/config.h rename to keyboards/hnahkb/stella/config.h diff --git a/keyboards/stella/info.json b/keyboards/hnahkb/stella/info.json similarity index 100% rename from keyboards/stella/info.json rename to keyboards/hnahkb/stella/info.json diff --git a/keyboards/stella/keymaps/default/keymap.c b/keyboards/hnahkb/stella/keymaps/default/keymap.c similarity index 100% rename from keyboards/stella/keymaps/default/keymap.c rename to keyboards/hnahkb/stella/keymaps/default/keymap.c diff --git a/keyboards/stella/keymaps/default/readme.md b/keyboards/hnahkb/stella/keymaps/default/readme.md similarity index 100% rename from keyboards/stella/keymaps/default/readme.md rename to keyboards/hnahkb/stella/keymaps/default/readme.md diff --git a/keyboards/stella/readme.md b/keyboards/hnahkb/stella/readme.md similarity index 91% rename from keyboards/stella/readme.md rename to keyboards/hnahkb/stella/readme.md index f5820dcf9b40..32481d9d09de 100644 --- a/keyboards/stella/readme.md +++ b/keyboards/hnahkb/stella/readme.md @@ -10,10 +10,10 @@ A custom keyboard design for VGS community Make example for this keyboard (after setting up your build environment): - make stella:default + make hnahkb/stella:default Flashing example for this keyboard: - make stella:default:flash + make hnahkb/stella:default:flash 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/stella/rules.mk b/keyboards/hnahkb/stella/rules.mk similarity index 100% rename from keyboards/stella/rules.mk rename to keyboards/hnahkb/stella/rules.mk diff --git a/keyboards/stella/stella.c b/keyboards/hnahkb/stella/stella.c similarity index 100% rename from keyboards/stella/stella.c rename to keyboards/hnahkb/stella/stella.c diff --git a/keyboards/stella/stella.h b/keyboards/hnahkb/stella/stella.h similarity index 100% rename from keyboards/stella/stella.h rename to keyboards/hnahkb/stella/stella.h diff --git a/keyboards/vn66/config.h b/keyboards/hnahkb/vn66/config.h similarity index 100% rename from keyboards/vn66/config.h rename to keyboards/hnahkb/vn66/config.h diff --git a/keyboards/vn66/info.json b/keyboards/hnahkb/vn66/info.json similarity index 100% rename from keyboards/vn66/info.json rename to keyboards/hnahkb/vn66/info.json diff --git a/keyboards/vn66/keymaps/default/keymap.c b/keyboards/hnahkb/vn66/keymaps/default/keymap.c similarity index 100% rename from keyboards/vn66/keymaps/default/keymap.c rename to keyboards/hnahkb/vn66/keymaps/default/keymap.c diff --git a/keyboards/vn66/keymaps/default/readme.md b/keyboards/hnahkb/vn66/keymaps/default/readme.md similarity index 100% rename from keyboards/vn66/keymaps/default/readme.md rename to keyboards/hnahkb/vn66/keymaps/default/readme.md diff --git a/keyboards/vn66/readme.md b/keyboards/hnahkb/vn66/readme.md similarity index 90% rename from keyboards/vn66/readme.md rename to keyboards/hnahkb/vn66/readme.md index 9b043cb08107..f917da5ea531 100644 --- a/keyboards/vn66/readme.md +++ b/keyboards/hnahkb/vn66/readme.md @@ -10,10 +10,10 @@ A compact 60% keyboard for VNMK Make example for this keyboard (after setting up your build environment): - make vn66:default + make hnahkb/vn66:default Flashing example for this keyboard: - make vn66:default:flash + make hnahkb/vn66:default:flash 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/vn66/rules.mk b/keyboards/hnahkb/vn66/rules.mk similarity index 100% rename from keyboards/vn66/rules.mk rename to keyboards/hnahkb/vn66/rules.mk diff --git a/keyboards/vn66/vn66.c b/keyboards/hnahkb/vn66/vn66.c similarity index 100% rename from keyboards/vn66/vn66.c rename to keyboards/hnahkb/vn66/vn66.c diff --git a/keyboards/vn66/vn66.h b/keyboards/hnahkb/vn66/vn66.h similarity index 100% rename from keyboards/vn66/vn66.h rename to keyboards/hnahkb/vn66/vn66.h From 984481ff8e17173a0faaa12c524d0b502fb438cb Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 12:36:16 +0800 Subject: [PATCH 0150/1832] [Keyboard] move @drhigsby 's boards into /drhigsby (#16041) --- keyboards/{ => drhigsby}/bkf/bkf.c | 0 keyboards/{ => drhigsby}/bkf/bkf.h | 0 keyboards/{ => drhigsby}/bkf/config.h | 0 keyboards/{ => drhigsby}/bkf/info.json | 0 keyboards/{ => drhigsby}/bkf/keymaps/default/keymap.c | 0 keyboards/{ => drhigsby}/bkf/keymaps/default/readme.md | 0 keyboards/{ => drhigsby}/bkf/readme.md | 4 ++-- keyboards/{ => drhigsby}/bkf/rules.mk | 0 keyboards/{ => drhigsby}/dubba175/config.h | 0 keyboards/{ => drhigsby}/dubba175/dubba175.c | 0 keyboards/{ => drhigsby}/dubba175/dubba175.h | 0 keyboards/{ => drhigsby}/dubba175/info.json | 0 .../{ => drhigsby}/dubba175/keymaps/default/config.h | 0 .../{ => drhigsby}/dubba175/keymaps/default/keymap.c | 0 .../{ => drhigsby}/dubba175/keymaps/default/readme.md | 0 .../{ => drhigsby}/dubba175/keymaps/default/rules.mk | 0 keyboards/{ => drhigsby}/dubba175/readme.md | 2 +- keyboards/{ => drhigsby}/dubba175/rules.mk | 0 keyboards/{ => drhigsby}/ogurec/config.h | 0 keyboards/{ => drhigsby}/ogurec/info.json | 0 keyboards/{ => drhigsby}/ogurec/keymaps/dack/config.h | 0 keyboards/{ => drhigsby}/ogurec/keymaps/dack/keymap.c | 0 keyboards/{ => drhigsby}/ogurec/keymaps/dack/readme.md | 0 keyboards/{ => drhigsby}/ogurec/keymaps/default/config.h | 0 keyboards/{ => drhigsby}/ogurec/keymaps/default/keymap.c | 0 keyboards/{ => drhigsby}/ogurec/keymaps/default/readme.md | 0 keyboards/{ => drhigsby}/ogurec/keymaps/default/rules.mk | 0 keyboards/{ => drhigsby}/ogurec/left_pm/left_pm.h | 0 keyboards/{ => drhigsby}/ogurec/left_pm/readme.md | 0 keyboards/{ => drhigsby}/ogurec/left_pm/rules.mk | 0 keyboards/{ => drhigsby}/ogurec/ogurec.c | 0 keyboards/{ => drhigsby}/ogurec/ogurec.h | 4 ++-- keyboards/{ => drhigsby}/ogurec/readme.md | 8 ++++---- keyboards/{ => drhigsby}/ogurec/right_pm/readme.md | 0 keyboards/{ => drhigsby}/ogurec/right_pm/right_pm.h | 0 keyboards/{ => drhigsby}/ogurec/right_pm/rules.mk | 0 keyboards/{ => drhigsby}/ogurec/rules.mk | 2 +- keyboards/{ => drhigsby}/packrat/config.h | 0 keyboards/{ => drhigsby}/packrat/info.json | 0 keyboards/{ => drhigsby}/packrat/keymaps/3uc/config.h | 0 keyboards/{ => drhigsby}/packrat/keymaps/3uc/keymap.c | 0 keyboards/{ => drhigsby}/packrat/keymaps/3uc/readme.md | 0 keyboards/{ => drhigsby}/packrat/keymaps/3uc/rules.mk | 0 keyboards/{ => drhigsby}/packrat/keymaps/default/config.h | 0 keyboards/{ => drhigsby}/packrat/keymaps/default/keymap.c | 0 .../{ => drhigsby}/packrat/keymaps/default/readme.md | 0 keyboards/{ => drhigsby}/packrat/keymaps/default/rules.mk | 0 keyboards/{ => drhigsby}/packrat/packrat.c | 0 keyboards/{ => drhigsby}/packrat/packrat.h | 0 keyboards/{ => drhigsby}/packrat/readme.md | 2 +- keyboards/{ => drhigsby}/packrat/rules.mk | 0 51 files changed, 11 insertions(+), 11 deletions(-) rename keyboards/{ => drhigsby}/bkf/bkf.c (100%) rename keyboards/{ => drhigsby}/bkf/bkf.h (100%) rename keyboards/{ => drhigsby}/bkf/config.h (100%) rename keyboards/{ => drhigsby}/bkf/info.json (100%) rename keyboards/{ => drhigsby}/bkf/keymaps/default/keymap.c (100%) rename keyboards/{ => drhigsby}/bkf/keymaps/default/readme.md (100%) rename keyboards/{ => drhigsby}/bkf/readme.md (94%) rename keyboards/{ => drhigsby}/bkf/rules.mk (100%) rename keyboards/{ => drhigsby}/dubba175/config.h (100%) rename keyboards/{ => drhigsby}/dubba175/dubba175.c (100%) rename keyboards/{ => drhigsby}/dubba175/dubba175.h (100%) rename keyboards/{ => drhigsby}/dubba175/info.json (100%) rename keyboards/{ => drhigsby}/dubba175/keymaps/default/config.h (100%) rename keyboards/{ => drhigsby}/dubba175/keymaps/default/keymap.c (100%) rename keyboards/{ => drhigsby}/dubba175/keymaps/default/readme.md (100%) rename keyboards/{ => drhigsby}/dubba175/keymaps/default/rules.mk (100%) rename keyboards/{ => drhigsby}/dubba175/readme.md (95%) rename keyboards/{ => drhigsby}/dubba175/rules.mk (100%) rename keyboards/{ => drhigsby}/ogurec/config.h (100%) rename keyboards/{ => drhigsby}/ogurec/info.json (100%) rename keyboards/{ => drhigsby}/ogurec/keymaps/dack/config.h (100%) rename keyboards/{ => drhigsby}/ogurec/keymaps/dack/keymap.c (100%) rename keyboards/{ => drhigsby}/ogurec/keymaps/dack/readme.md (100%) rename keyboards/{ => drhigsby}/ogurec/keymaps/default/config.h (100%) rename keyboards/{ => drhigsby}/ogurec/keymaps/default/keymap.c (100%) rename keyboards/{ => drhigsby}/ogurec/keymaps/default/readme.md (100%) rename keyboards/{ => drhigsby}/ogurec/keymaps/default/rules.mk (100%) rename keyboards/{ => drhigsby}/ogurec/left_pm/left_pm.h (100%) rename keyboards/{ => drhigsby}/ogurec/left_pm/readme.md (100%) rename keyboards/{ => drhigsby}/ogurec/left_pm/rules.mk (100%) rename keyboards/{ => drhigsby}/ogurec/ogurec.c (100%) rename keyboards/{ => drhigsby}/ogurec/ogurec.h (89%) rename keyboards/{ => drhigsby}/ogurec/readme.md (87%) rename keyboards/{ => drhigsby}/ogurec/right_pm/readme.md (100%) rename keyboards/{ => drhigsby}/ogurec/right_pm/right_pm.h (100%) rename keyboards/{ => drhigsby}/ogurec/right_pm/rules.mk (100%) rename keyboards/{ => drhigsby}/ogurec/rules.mk (93%) rename keyboards/{ => drhigsby}/packrat/config.h (100%) rename keyboards/{ => drhigsby}/packrat/info.json (100%) rename keyboards/{ => drhigsby}/packrat/keymaps/3uc/config.h (100%) rename keyboards/{ => drhigsby}/packrat/keymaps/3uc/keymap.c (100%) rename keyboards/{ => drhigsby}/packrat/keymaps/3uc/readme.md (100%) rename keyboards/{ => drhigsby}/packrat/keymaps/3uc/rules.mk (100%) rename keyboards/{ => drhigsby}/packrat/keymaps/default/config.h (100%) rename keyboards/{ => drhigsby}/packrat/keymaps/default/keymap.c (100%) rename keyboards/{ => drhigsby}/packrat/keymaps/default/readme.md (100%) rename keyboards/{ => drhigsby}/packrat/keymaps/default/rules.mk (100%) rename keyboards/{ => drhigsby}/packrat/packrat.c (100%) rename keyboards/{ => drhigsby}/packrat/packrat.h (100%) rename keyboards/{ => drhigsby}/packrat/readme.md (97%) rename keyboards/{ => drhigsby}/packrat/rules.mk (100%) diff --git a/keyboards/bkf/bkf.c b/keyboards/drhigsby/bkf/bkf.c similarity index 100% rename from keyboards/bkf/bkf.c rename to keyboards/drhigsby/bkf/bkf.c diff --git a/keyboards/bkf/bkf.h b/keyboards/drhigsby/bkf/bkf.h similarity index 100% rename from keyboards/bkf/bkf.h rename to keyboards/drhigsby/bkf/bkf.h diff --git a/keyboards/bkf/config.h b/keyboards/drhigsby/bkf/config.h similarity index 100% rename from keyboards/bkf/config.h rename to keyboards/drhigsby/bkf/config.h diff --git a/keyboards/bkf/info.json b/keyboards/drhigsby/bkf/info.json similarity index 100% rename from keyboards/bkf/info.json rename to keyboards/drhigsby/bkf/info.json diff --git a/keyboards/bkf/keymaps/default/keymap.c b/keyboards/drhigsby/bkf/keymaps/default/keymap.c similarity index 100% rename from keyboards/bkf/keymaps/default/keymap.c rename to keyboards/drhigsby/bkf/keymaps/default/keymap.c diff --git a/keyboards/bkf/keymaps/default/readme.md b/keyboards/drhigsby/bkf/keymaps/default/readme.md similarity index 100% rename from keyboards/bkf/keymaps/default/readme.md rename to keyboards/drhigsby/bkf/keymaps/default/readme.md diff --git a/keyboards/bkf/readme.md b/keyboards/drhigsby/bkf/readme.md similarity index 94% rename from keyboards/bkf/readme.md rename to keyboards/drhigsby/bkf/readme.md index d55f9637eefd..18742920a495 100644 --- a/keyboards/bkf/readme.md +++ b/keyboards/drhigsby/bkf/readme.md @@ -10,12 +10,12 @@ BKF, Base Kit Forty, is a 40% style keyboard that is fully compatbile with a sta Make example for this keyboard (after setting up your build environment): - make bkf:default + make drhigsby/bkf:default To place this keyboard into bootloader mode, press the reset button on the PCB or short the RST and GND pins on the pro micro. Flashing example for this keyboard: - make bkf:default:flash + make drhigsby/bkf:default:flash 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/bkf/rules.mk b/keyboards/drhigsby/bkf/rules.mk similarity index 100% rename from keyboards/bkf/rules.mk rename to keyboards/drhigsby/bkf/rules.mk diff --git a/keyboards/dubba175/config.h b/keyboards/drhigsby/dubba175/config.h similarity index 100% rename from keyboards/dubba175/config.h rename to keyboards/drhigsby/dubba175/config.h diff --git a/keyboards/dubba175/dubba175.c b/keyboards/drhigsby/dubba175/dubba175.c similarity index 100% rename from keyboards/dubba175/dubba175.c rename to keyboards/drhigsby/dubba175/dubba175.c diff --git a/keyboards/dubba175/dubba175.h b/keyboards/drhigsby/dubba175/dubba175.h similarity index 100% rename from keyboards/dubba175/dubba175.h rename to keyboards/drhigsby/dubba175/dubba175.h diff --git a/keyboards/dubba175/info.json b/keyboards/drhigsby/dubba175/info.json similarity index 100% rename from keyboards/dubba175/info.json rename to keyboards/drhigsby/dubba175/info.json diff --git a/keyboards/dubba175/keymaps/default/config.h b/keyboards/drhigsby/dubba175/keymaps/default/config.h similarity index 100% rename from keyboards/dubba175/keymaps/default/config.h rename to keyboards/drhigsby/dubba175/keymaps/default/config.h diff --git a/keyboards/dubba175/keymaps/default/keymap.c b/keyboards/drhigsby/dubba175/keymaps/default/keymap.c similarity index 100% rename from keyboards/dubba175/keymaps/default/keymap.c rename to keyboards/drhigsby/dubba175/keymaps/default/keymap.c diff --git a/keyboards/dubba175/keymaps/default/readme.md b/keyboards/drhigsby/dubba175/keymaps/default/readme.md similarity index 100% rename from keyboards/dubba175/keymaps/default/readme.md rename to keyboards/drhigsby/dubba175/keymaps/default/readme.md diff --git a/keyboards/dubba175/keymaps/default/rules.mk b/keyboards/drhigsby/dubba175/keymaps/default/rules.mk similarity index 100% rename from keyboards/dubba175/keymaps/default/rules.mk rename to keyboards/drhigsby/dubba175/keymaps/default/rules.mk diff --git a/keyboards/dubba175/readme.md b/keyboards/drhigsby/dubba175/readme.md similarity index 95% rename from keyboards/dubba175/readme.md rename to keyboards/drhigsby/dubba175/readme.md index f8f1459236b6..a07da251ab9c 100644 --- a/keyboards/dubba175/readme.md +++ b/keyboards/drhigsby/dubba175/readme.md @@ -10,6 +10,6 @@ Dubba175 is a 10u wide ortholinear keyboard featuring 2x 1.75u spacebars as the Make example for this keyboard (after setting up your build environment): - make dubba175:default + make drhigsby/dubba175:default 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/dubba175/rules.mk b/keyboards/drhigsby/dubba175/rules.mk similarity index 100% rename from keyboards/dubba175/rules.mk rename to keyboards/drhigsby/dubba175/rules.mk diff --git a/keyboards/ogurec/config.h b/keyboards/drhigsby/ogurec/config.h similarity index 100% rename from keyboards/ogurec/config.h rename to keyboards/drhigsby/ogurec/config.h diff --git a/keyboards/ogurec/info.json b/keyboards/drhigsby/ogurec/info.json similarity index 100% rename from keyboards/ogurec/info.json rename to keyboards/drhigsby/ogurec/info.json diff --git a/keyboards/ogurec/keymaps/dack/config.h b/keyboards/drhigsby/ogurec/keymaps/dack/config.h similarity index 100% rename from keyboards/ogurec/keymaps/dack/config.h rename to keyboards/drhigsby/ogurec/keymaps/dack/config.h diff --git a/keyboards/ogurec/keymaps/dack/keymap.c b/keyboards/drhigsby/ogurec/keymaps/dack/keymap.c similarity index 100% rename from keyboards/ogurec/keymaps/dack/keymap.c rename to keyboards/drhigsby/ogurec/keymaps/dack/keymap.c diff --git a/keyboards/ogurec/keymaps/dack/readme.md b/keyboards/drhigsby/ogurec/keymaps/dack/readme.md similarity index 100% rename from keyboards/ogurec/keymaps/dack/readme.md rename to keyboards/drhigsby/ogurec/keymaps/dack/readme.md diff --git a/keyboards/ogurec/keymaps/default/config.h b/keyboards/drhigsby/ogurec/keymaps/default/config.h similarity index 100% rename from keyboards/ogurec/keymaps/default/config.h rename to keyboards/drhigsby/ogurec/keymaps/default/config.h diff --git a/keyboards/ogurec/keymaps/default/keymap.c b/keyboards/drhigsby/ogurec/keymaps/default/keymap.c similarity index 100% rename from keyboards/ogurec/keymaps/default/keymap.c rename to keyboards/drhigsby/ogurec/keymaps/default/keymap.c diff --git a/keyboards/ogurec/keymaps/default/readme.md b/keyboards/drhigsby/ogurec/keymaps/default/readme.md similarity index 100% rename from keyboards/ogurec/keymaps/default/readme.md rename to keyboards/drhigsby/ogurec/keymaps/default/readme.md diff --git a/keyboards/ogurec/keymaps/default/rules.mk b/keyboards/drhigsby/ogurec/keymaps/default/rules.mk similarity index 100% rename from keyboards/ogurec/keymaps/default/rules.mk rename to keyboards/drhigsby/ogurec/keymaps/default/rules.mk diff --git a/keyboards/ogurec/left_pm/left_pm.h b/keyboards/drhigsby/ogurec/left_pm/left_pm.h similarity index 100% rename from keyboards/ogurec/left_pm/left_pm.h rename to keyboards/drhigsby/ogurec/left_pm/left_pm.h diff --git a/keyboards/ogurec/left_pm/readme.md b/keyboards/drhigsby/ogurec/left_pm/readme.md similarity index 100% rename from keyboards/ogurec/left_pm/readme.md rename to keyboards/drhigsby/ogurec/left_pm/readme.md diff --git a/keyboards/ogurec/left_pm/rules.mk b/keyboards/drhigsby/ogurec/left_pm/rules.mk similarity index 100% rename from keyboards/ogurec/left_pm/rules.mk rename to keyboards/drhigsby/ogurec/left_pm/rules.mk diff --git a/keyboards/ogurec/ogurec.c b/keyboards/drhigsby/ogurec/ogurec.c similarity index 100% rename from keyboards/ogurec/ogurec.c rename to keyboards/drhigsby/ogurec/ogurec.c diff --git a/keyboards/ogurec/ogurec.h b/keyboards/drhigsby/ogurec/ogurec.h similarity index 89% rename from keyboards/ogurec/ogurec.h rename to keyboards/drhigsby/ogurec/ogurec.h index 53956aa586e6..154d5d6cfef1 100644 --- a/keyboards/ogurec/ogurec.h +++ b/keyboards/drhigsby/ogurec/ogurec.h @@ -17,8 +17,8 @@ #include "quantum.h" -#if defined(KEYBOARD_ogurec_left_pm) +#if defined(KEYBOARD_drhigsby_ogurec_left_pm) # include "left_pm.h" -#elif defined(KEYBOARD_ogurec_right_pm) +#elif defined(KEYBOARD_drhigsby_ogurec_right_pm) # include "right_pm.h" #endif diff --git a/keyboards/ogurec/readme.md b/keyboards/drhigsby/ogurec/readme.md similarity index 87% rename from keyboards/ogurec/readme.md rename to keyboards/drhigsby/ogurec/readme.md index 3e0ae153faf0..909db6787e8a 100644 --- a/keyboards/ogurec/readme.md +++ b/keyboards/drhigsby/ogurec/readme.md @@ -14,14 +14,14 @@ When flashing ogurec with the PM soldered onto the right side, follow the second Make example for this keyboard (after setting up your build environment): - make ogurec:default - make ogurec/right_pm:default + make drhigsby/ogurec:default + make drhigsby/ogurec/right_pm:default To place the keyboard into bootloader mode, solder a reset switch onto the PCB and press it OR short the GND and RST pins on the pro micro. Flashing example for this keyboard: - make ogurec:default:flash - make ogurec/right_pm:default:flash + make drhigsby/ogurec:default:flash + make drhigsby/ogurec/right_pm:default:flash 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/ogurec/right_pm/readme.md b/keyboards/drhigsby/ogurec/right_pm/readme.md similarity index 100% rename from keyboards/ogurec/right_pm/readme.md rename to keyboards/drhigsby/ogurec/right_pm/readme.md diff --git a/keyboards/ogurec/right_pm/right_pm.h b/keyboards/drhigsby/ogurec/right_pm/right_pm.h similarity index 100% rename from keyboards/ogurec/right_pm/right_pm.h rename to keyboards/drhigsby/ogurec/right_pm/right_pm.h diff --git a/keyboards/ogurec/right_pm/rules.mk b/keyboards/drhigsby/ogurec/right_pm/rules.mk similarity index 100% rename from keyboards/ogurec/right_pm/rules.mk rename to keyboards/drhigsby/ogurec/right_pm/rules.mk diff --git a/keyboards/ogurec/rules.mk b/keyboards/drhigsby/ogurec/rules.mk similarity index 93% rename from keyboards/ogurec/rules.mk rename to keyboards/drhigsby/ogurec/rules.mk index cf372ceb7e80..11587edf86e8 100644 --- a/keyboards/ogurec/rules.mk +++ b/keyboards/drhigsby/ogurec/rules.mk @@ -16,4 +16,4 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -DEFAULT_FOLDER = ogurec/left_pm +DEFAULT_FOLDER = drhigsby/ogurec/left_pm diff --git a/keyboards/packrat/config.h b/keyboards/drhigsby/packrat/config.h similarity index 100% rename from keyboards/packrat/config.h rename to keyboards/drhigsby/packrat/config.h diff --git a/keyboards/packrat/info.json b/keyboards/drhigsby/packrat/info.json similarity index 100% rename from keyboards/packrat/info.json rename to keyboards/drhigsby/packrat/info.json diff --git a/keyboards/packrat/keymaps/3uc/config.h b/keyboards/drhigsby/packrat/keymaps/3uc/config.h similarity index 100% rename from keyboards/packrat/keymaps/3uc/config.h rename to keyboards/drhigsby/packrat/keymaps/3uc/config.h diff --git a/keyboards/packrat/keymaps/3uc/keymap.c b/keyboards/drhigsby/packrat/keymaps/3uc/keymap.c similarity index 100% rename from keyboards/packrat/keymaps/3uc/keymap.c rename to keyboards/drhigsby/packrat/keymaps/3uc/keymap.c diff --git a/keyboards/packrat/keymaps/3uc/readme.md b/keyboards/drhigsby/packrat/keymaps/3uc/readme.md similarity index 100% rename from keyboards/packrat/keymaps/3uc/readme.md rename to keyboards/drhigsby/packrat/keymaps/3uc/readme.md diff --git a/keyboards/packrat/keymaps/3uc/rules.mk b/keyboards/drhigsby/packrat/keymaps/3uc/rules.mk similarity index 100% rename from keyboards/packrat/keymaps/3uc/rules.mk rename to keyboards/drhigsby/packrat/keymaps/3uc/rules.mk diff --git a/keyboards/packrat/keymaps/default/config.h b/keyboards/drhigsby/packrat/keymaps/default/config.h similarity index 100% rename from keyboards/packrat/keymaps/default/config.h rename to keyboards/drhigsby/packrat/keymaps/default/config.h diff --git a/keyboards/packrat/keymaps/default/keymap.c b/keyboards/drhigsby/packrat/keymaps/default/keymap.c similarity index 100% rename from keyboards/packrat/keymaps/default/keymap.c rename to keyboards/drhigsby/packrat/keymaps/default/keymap.c diff --git a/keyboards/packrat/keymaps/default/readme.md b/keyboards/drhigsby/packrat/keymaps/default/readme.md similarity index 100% rename from keyboards/packrat/keymaps/default/readme.md rename to keyboards/drhigsby/packrat/keymaps/default/readme.md diff --git a/keyboards/packrat/keymaps/default/rules.mk b/keyboards/drhigsby/packrat/keymaps/default/rules.mk similarity index 100% rename from keyboards/packrat/keymaps/default/rules.mk rename to keyboards/drhigsby/packrat/keymaps/default/rules.mk diff --git a/keyboards/packrat/packrat.c b/keyboards/drhigsby/packrat/packrat.c similarity index 100% rename from keyboards/packrat/packrat.c rename to keyboards/drhigsby/packrat/packrat.c diff --git a/keyboards/packrat/packrat.h b/keyboards/drhigsby/packrat/packrat.h similarity index 100% rename from keyboards/packrat/packrat.h rename to keyboards/drhigsby/packrat/packrat.h diff --git a/keyboards/packrat/readme.md b/keyboards/drhigsby/packrat/readme.md similarity index 97% rename from keyboards/packrat/readme.md rename to keyboards/drhigsby/packrat/readme.md index a53377f870a3..98b12543dcf0 100644 --- a/keyboards/packrat/readme.md +++ b/keyboards/drhigsby/packrat/readme.md @@ -12,7 +12,7 @@ Packrat is an 11u wide ortholinear keyboard featuring multiple bottom row option Make example for this keyboard (after setting up your build environment): - make packrat:default + make drhigsby/packrat:default 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/packrat/rules.mk b/keyboards/drhigsby/packrat/rules.mk similarity index 100% rename from keyboards/packrat/rules.mk rename to keyboards/drhigsby/packrat/rules.mk From da5cb5fd6f91c2f7aebbcebbf211252c51d9b4a5 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 1 Feb 2022 12:44:28 +0800 Subject: [PATCH 0151/1832] [Keyboard] move woodkeys.click keyboards to /woodkeys (#16113) --- keyboards/{ => woodkeys}/bigseries/1key/.noci | 0 keyboards/{ => woodkeys}/bigseries/1key/1key.c | 0 keyboards/{ => woodkeys}/bigseries/1key/1key.h | 0 keyboards/{ => woodkeys}/bigseries/1key/config.h | 0 keyboards/{ => woodkeys}/bigseries/1key/info.json | 0 .../{ => woodkeys}/bigseries/1key/keymaps/8ball/keymap.c | 0 .../bigseries/1key/keymaps/ctrl-alt-del/keymap.c | 0 .../{ => woodkeys}/bigseries/1key/keymaps/default/keymap.c | 0 .../bigseries/1key/keymaps/dudeofawesome/README.md | 0 .../bigseries/1key/keymaps/dudeofawesome/config.h | 0 .../bigseries/1key/keymaps/dudeofawesome/keymap.c | 0 .../bigseries/1key/keymaps/dudeofawesome/rules.mk | 0 .../{ => woodkeys}/bigseries/1key/keymaps/leddance/config.h | 0 .../{ => woodkeys}/bigseries/1key/keymaps/leddance/keymap.c | 0 .../{ => woodkeys}/bigseries/1key/keymaps/leddance/rules.mk | 0 keyboards/{ => woodkeys}/bigseries/1key/keymaps/lock/keymap.c | 0 .../{ => woodkeys}/bigseries/1key/keymaps/tester/keymap.c | 0 keyboards/{ => woodkeys}/bigseries/1key/readme.md | 2 +- keyboards/{ => woodkeys}/bigseries/1key/rules.mk | 0 keyboards/{ => woodkeys}/bigseries/2key/.noci | 0 keyboards/{ => woodkeys}/bigseries/2key/2key.c | 0 keyboards/{ => woodkeys}/bigseries/2key/2key.h | 0 keyboards/{ => woodkeys}/bigseries/2key/config.h | 0 keyboards/{ => woodkeys}/bigseries/2key/info.json | 0 .../{ => woodkeys}/bigseries/2key/keymaps/default/keymap.c | 0 keyboards/{ => woodkeys}/bigseries/2key/keymaps/lock/keymap.c | 0 .../{ => woodkeys}/bigseries/2key/keymaps/tester/keymap.c | 0 keyboards/{ => woodkeys}/bigseries/2key/readme.md | 2 +- keyboards/{ => woodkeys}/bigseries/2key/rules.mk | 0 keyboards/{ => woodkeys}/bigseries/3key/.noci | 0 keyboards/{ => woodkeys}/bigseries/3key/3key.c | 0 keyboards/{ => woodkeys}/bigseries/3key/3key.h | 0 keyboards/{ => woodkeys}/bigseries/3key/config.h | 0 keyboards/{ => woodkeys}/bigseries/3key/info.json | 0 .../bigseries/3key/keymaps/ctrl-alt-del/keymap.c | 0 .../{ => woodkeys}/bigseries/3key/keymaps/default/keymap.c | 0 .../{ => woodkeys}/bigseries/3key/keymaps/tester/keymap.c | 0 keyboards/{ => woodkeys}/bigseries/3key/readme.md | 2 +- keyboards/{ => woodkeys}/bigseries/3key/rules.mk | 0 keyboards/{ => woodkeys}/bigseries/4key/4key.c | 0 keyboards/{ => woodkeys}/bigseries/4key/4key.h | 0 keyboards/{ => woodkeys}/bigseries/4key/config.h | 0 keyboards/{ => woodkeys}/bigseries/4key/info.json | 0 .../{ => woodkeys}/bigseries/4key/keymaps/default/keymap.c | 0 .../{ => woodkeys}/bigseries/4key/keymaps/tester/keymap.c | 0 keyboards/{ => woodkeys}/bigseries/4key/readme.md | 2 +- keyboards/{ => woodkeys}/bigseries/4key/rules.mk | 0 keyboards/{ => woodkeys}/bigseries/readme.md | 4 ++-- keyboards/{ => woodkeys}/meira/TWIlib.c | 0 keyboards/{ => woodkeys}/meira/TWIlib.h | 0 keyboards/{ => woodkeys}/meira/config.h | 0 keyboards/{ => woodkeys}/meira/featherble/config.h | 0 keyboards/{ => woodkeys}/meira/featherble/featherble.c | 0 keyboards/{ => woodkeys}/meira/featherble/featherble.h | 0 keyboards/{ => woodkeys}/meira/featherble/rules.mk | 0 keyboards/{ => woodkeys}/meira/info.json | 0 keyboards/{ => woodkeys}/meira/issi.c | 0 keyboards/{ => woodkeys}/meira/issi.h | 0 keyboards/{ => woodkeys}/meira/keymaps/cole/config.h | 0 keyboards/{ => woodkeys}/meira/keymaps/cole/keymap.c | 0 keyboards/{ => woodkeys}/meira/keymaps/cole/readme.md | 0 keyboards/{ => woodkeys}/meira/keymaps/cole/rules.mk | 0 keyboards/{ => woodkeys}/meira/keymaps/default/config.h | 0 keyboards/{ => woodkeys}/meira/keymaps/default/keymap.c | 0 keyboards/{ => woodkeys}/meira/keymaps/default/readme.md | 0 keyboards/{ => woodkeys}/meira/keymaps/grahampheath/config.h | 0 keyboards/{ => woodkeys}/meira/keymaps/grahampheath/keymap.c | 0 keyboards/{ => woodkeys}/meira/keymaps/grahampheath/readme.md | 0 keyboards/{ => woodkeys}/meira/keymaps/grahampheath/rules.mk | 0 keyboards/{ => woodkeys}/meira/keymaps/takmiya/config.h | 0 keyboards/{ => woodkeys}/meira/keymaps/takmiya/keymap.c | 0 keyboards/{ => woodkeys}/meira/keymaps/takmiya/readme.md | 0 keyboards/{ => woodkeys}/meira/lighting.c | 0 keyboards/{ => woodkeys}/meira/lighting.h | 0 keyboards/{ => woodkeys}/meira/matrix.c | 0 keyboards/{ => woodkeys}/meira/meira.c | 0 keyboards/{ => woodkeys}/meira/meira.h | 0 keyboards/{ => woodkeys}/meira/promicro/config.h | 0 keyboards/{ => woodkeys}/meira/promicro/promicro.c | 0 keyboards/{ => woodkeys}/meira/promicro/promicro.h | 0 keyboards/{ => woodkeys}/meira/promicro/rules.mk | 0 keyboards/{ => woodkeys}/meira/readme.md | 4 ++-- keyboards/{ => woodkeys}/meira/rules.mk | 2 +- keyboards/{ => woodkeys}/scarletbandana/config.h | 0 keyboards/{ => woodkeys}/scarletbandana/info.json | 0 .../{ => woodkeys}/scarletbandana/keymaps/default/keymap.c | 0 .../{ => woodkeys}/scarletbandana/keymaps/default/readme.md | 0 keyboards/{ => woodkeys}/scarletbandana/readme.md | 2 +- keyboards/{ => woodkeys}/scarletbandana/rules.mk | 0 keyboards/{ => woodkeys}/scarletbandana/scarletbandana.c | 0 keyboards/{ => woodkeys}/scarletbandana/scarletbandana.h | 0 91 files changed, 10 insertions(+), 10 deletions(-) rename keyboards/{ => woodkeys}/bigseries/1key/.noci (100%) rename keyboards/{ => woodkeys}/bigseries/1key/1key.c (100%) rename keyboards/{ => woodkeys}/bigseries/1key/1key.h (100%) rename keyboards/{ => woodkeys}/bigseries/1key/config.h (100%) rename keyboards/{ => woodkeys}/bigseries/1key/info.json (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/8ball/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/ctrl-alt-del/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/default/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/dudeofawesome/README.md (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/dudeofawesome/config.h (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/dudeofawesome/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/dudeofawesome/rules.mk (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/leddance/config.h (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/leddance/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/leddance/rules.mk (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/lock/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/1key/keymaps/tester/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/1key/readme.md (95%) rename keyboards/{ => woodkeys}/bigseries/1key/rules.mk (100%) rename keyboards/{ => woodkeys}/bigseries/2key/.noci (100%) rename keyboards/{ => woodkeys}/bigseries/2key/2key.c (100%) rename keyboards/{ => woodkeys}/bigseries/2key/2key.h (100%) rename keyboards/{ => woodkeys}/bigseries/2key/config.h (100%) rename keyboards/{ => woodkeys}/bigseries/2key/info.json (100%) rename keyboards/{ => woodkeys}/bigseries/2key/keymaps/default/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/2key/keymaps/lock/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/2key/keymaps/tester/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/2key/readme.md (95%) rename keyboards/{ => woodkeys}/bigseries/2key/rules.mk (100%) rename keyboards/{ => woodkeys}/bigseries/3key/.noci (100%) rename keyboards/{ => woodkeys}/bigseries/3key/3key.c (100%) rename keyboards/{ => woodkeys}/bigseries/3key/3key.h (100%) rename keyboards/{ => woodkeys}/bigseries/3key/config.h (100%) rename keyboards/{ => woodkeys}/bigseries/3key/info.json (100%) rename keyboards/{ => woodkeys}/bigseries/3key/keymaps/ctrl-alt-del/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/3key/keymaps/default/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/3key/keymaps/tester/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/3key/readme.md (95%) rename keyboards/{ => woodkeys}/bigseries/3key/rules.mk (100%) rename keyboards/{ => woodkeys}/bigseries/4key/4key.c (100%) rename keyboards/{ => woodkeys}/bigseries/4key/4key.h (100%) rename keyboards/{ => woodkeys}/bigseries/4key/config.h (100%) rename keyboards/{ => woodkeys}/bigseries/4key/info.json (100%) rename keyboards/{ => woodkeys}/bigseries/4key/keymaps/default/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/4key/keymaps/tester/keymap.c (100%) rename keyboards/{ => woodkeys}/bigseries/4key/readme.md (95%) rename keyboards/{ => woodkeys}/bigseries/4key/rules.mk (100%) rename keyboards/{ => woodkeys}/bigseries/readme.md (91%) rename keyboards/{ => woodkeys}/meira/TWIlib.c (100%) rename keyboards/{ => woodkeys}/meira/TWIlib.h (100%) rename keyboards/{ => woodkeys}/meira/config.h (100%) rename keyboards/{ => woodkeys}/meira/featherble/config.h (100%) rename keyboards/{ => woodkeys}/meira/featherble/featherble.c (100%) rename keyboards/{ => woodkeys}/meira/featherble/featherble.h (100%) rename keyboards/{ => woodkeys}/meira/featherble/rules.mk (100%) rename keyboards/{ => woodkeys}/meira/info.json (100%) rename keyboards/{ => woodkeys}/meira/issi.c (100%) rename keyboards/{ => woodkeys}/meira/issi.h (100%) rename keyboards/{ => woodkeys}/meira/keymaps/cole/config.h (100%) rename keyboards/{ => woodkeys}/meira/keymaps/cole/keymap.c (100%) rename keyboards/{ => woodkeys}/meira/keymaps/cole/readme.md (100%) rename keyboards/{ => woodkeys}/meira/keymaps/cole/rules.mk (100%) rename keyboards/{ => woodkeys}/meira/keymaps/default/config.h (100%) rename keyboards/{ => woodkeys}/meira/keymaps/default/keymap.c (100%) rename keyboards/{ => woodkeys}/meira/keymaps/default/readme.md (100%) rename keyboards/{ => woodkeys}/meira/keymaps/grahampheath/config.h (100%) rename keyboards/{ => woodkeys}/meira/keymaps/grahampheath/keymap.c (100%) rename keyboards/{ => woodkeys}/meira/keymaps/grahampheath/readme.md (100%) rename keyboards/{ => woodkeys}/meira/keymaps/grahampheath/rules.mk (100%) rename keyboards/{ => woodkeys}/meira/keymaps/takmiya/config.h (100%) rename keyboards/{ => woodkeys}/meira/keymaps/takmiya/keymap.c (100%) rename keyboards/{ => woodkeys}/meira/keymaps/takmiya/readme.md (100%) rename keyboards/{ => woodkeys}/meira/lighting.c (100%) rename keyboards/{ => woodkeys}/meira/lighting.h (100%) rename keyboards/{ => woodkeys}/meira/matrix.c (100%) rename keyboards/{ => woodkeys}/meira/meira.c (100%) rename keyboards/{ => woodkeys}/meira/meira.h (100%) rename keyboards/{ => woodkeys}/meira/promicro/config.h (100%) rename keyboards/{ => woodkeys}/meira/promicro/promicro.c (100%) rename keyboards/{ => woodkeys}/meira/promicro/promicro.h (100%) rename keyboards/{ => woodkeys}/meira/promicro/rules.mk (100%) rename keyboards/{ => woodkeys}/meira/readme.md (91%) rename keyboards/{ => woodkeys}/meira/rules.mk (96%) rename keyboards/{ => woodkeys}/scarletbandana/config.h (100%) rename keyboards/{ => woodkeys}/scarletbandana/info.json (100%) rename keyboards/{ => woodkeys}/scarletbandana/keymaps/default/keymap.c (100%) rename keyboards/{ => woodkeys}/scarletbandana/keymaps/default/readme.md (100%) rename keyboards/{ => woodkeys}/scarletbandana/readme.md (93%) rename keyboards/{ => woodkeys}/scarletbandana/rules.mk (100%) rename keyboards/{ => woodkeys}/scarletbandana/scarletbandana.c (100%) rename keyboards/{ => woodkeys}/scarletbandana/scarletbandana.h (100%) diff --git a/keyboards/bigseries/1key/.noci b/keyboards/woodkeys/bigseries/1key/.noci similarity index 100% rename from keyboards/bigseries/1key/.noci rename to keyboards/woodkeys/bigseries/1key/.noci diff --git a/keyboards/bigseries/1key/1key.c b/keyboards/woodkeys/bigseries/1key/1key.c similarity index 100% rename from keyboards/bigseries/1key/1key.c rename to keyboards/woodkeys/bigseries/1key/1key.c diff --git a/keyboards/bigseries/1key/1key.h b/keyboards/woodkeys/bigseries/1key/1key.h similarity index 100% rename from keyboards/bigseries/1key/1key.h rename to keyboards/woodkeys/bigseries/1key/1key.h diff --git a/keyboards/bigseries/1key/config.h b/keyboards/woodkeys/bigseries/1key/config.h similarity index 100% rename from keyboards/bigseries/1key/config.h rename to keyboards/woodkeys/bigseries/1key/config.h diff --git a/keyboards/bigseries/1key/info.json b/keyboards/woodkeys/bigseries/1key/info.json similarity index 100% rename from keyboards/bigseries/1key/info.json rename to keyboards/woodkeys/bigseries/1key/info.json diff --git a/keyboards/bigseries/1key/keymaps/8ball/keymap.c b/keyboards/woodkeys/bigseries/1key/keymaps/8ball/keymap.c similarity index 100% rename from keyboards/bigseries/1key/keymaps/8ball/keymap.c rename to keyboards/woodkeys/bigseries/1key/keymaps/8ball/keymap.c diff --git a/keyboards/bigseries/1key/keymaps/ctrl-alt-del/keymap.c b/keyboards/woodkeys/bigseries/1key/keymaps/ctrl-alt-del/keymap.c similarity index 100% rename from keyboards/bigseries/1key/keymaps/ctrl-alt-del/keymap.c rename to keyboards/woodkeys/bigseries/1key/keymaps/ctrl-alt-del/keymap.c diff --git a/keyboards/bigseries/1key/keymaps/default/keymap.c b/keyboards/woodkeys/bigseries/1key/keymaps/default/keymap.c similarity index 100% rename from keyboards/bigseries/1key/keymaps/default/keymap.c rename to keyboards/woodkeys/bigseries/1key/keymaps/default/keymap.c diff --git a/keyboards/bigseries/1key/keymaps/dudeofawesome/README.md b/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/README.md similarity index 100% rename from keyboards/bigseries/1key/keymaps/dudeofawesome/README.md rename to keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/README.md diff --git a/keyboards/bigseries/1key/keymaps/dudeofawesome/config.h b/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h similarity index 100% rename from keyboards/bigseries/1key/keymaps/dudeofawesome/config.h rename to keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h diff --git a/keyboards/bigseries/1key/keymaps/dudeofawesome/keymap.c b/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/keymap.c similarity index 100% rename from keyboards/bigseries/1key/keymaps/dudeofawesome/keymap.c rename to keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/keymap.c diff --git a/keyboards/bigseries/1key/keymaps/dudeofawesome/rules.mk b/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/rules.mk similarity index 100% rename from keyboards/bigseries/1key/keymaps/dudeofawesome/rules.mk rename to keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/rules.mk diff --git a/keyboards/bigseries/1key/keymaps/leddance/config.h b/keyboards/woodkeys/bigseries/1key/keymaps/leddance/config.h similarity index 100% rename from keyboards/bigseries/1key/keymaps/leddance/config.h rename to keyboards/woodkeys/bigseries/1key/keymaps/leddance/config.h diff --git a/keyboards/bigseries/1key/keymaps/leddance/keymap.c b/keyboards/woodkeys/bigseries/1key/keymaps/leddance/keymap.c similarity index 100% rename from keyboards/bigseries/1key/keymaps/leddance/keymap.c rename to keyboards/woodkeys/bigseries/1key/keymaps/leddance/keymap.c diff --git a/keyboards/bigseries/1key/keymaps/leddance/rules.mk b/keyboards/woodkeys/bigseries/1key/keymaps/leddance/rules.mk similarity index 100% rename from keyboards/bigseries/1key/keymaps/leddance/rules.mk rename to keyboards/woodkeys/bigseries/1key/keymaps/leddance/rules.mk diff --git a/keyboards/bigseries/1key/keymaps/lock/keymap.c b/keyboards/woodkeys/bigseries/1key/keymaps/lock/keymap.c similarity index 100% rename from keyboards/bigseries/1key/keymaps/lock/keymap.c rename to keyboards/woodkeys/bigseries/1key/keymaps/lock/keymap.c diff --git a/keyboards/bigseries/1key/keymaps/tester/keymap.c b/keyboards/woodkeys/bigseries/1key/keymaps/tester/keymap.c similarity index 100% rename from keyboards/bigseries/1key/keymaps/tester/keymap.c rename to keyboards/woodkeys/bigseries/1key/keymaps/tester/keymap.c diff --git a/keyboards/bigseries/1key/readme.md b/keyboards/woodkeys/bigseries/1key/readme.md similarity index 95% rename from keyboards/bigseries/1key/readme.md rename to keyboards/woodkeys/bigseries/1key/readme.md index ad3ee28b14fe..3d019c65d3ad 100644 --- a/keyboards/bigseries/1key/readme.md +++ b/keyboards/woodkeys/bigseries/1key/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [Woodkeys.click](https://woodkeys.click), [NovelKeys](ht Make example for this keyboard (after setting up your build environment): - make bigseries/1key:default + make woodkeys/bigseries/1key:default See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/build-compile-instructions) for more information. diff --git a/keyboards/bigseries/1key/rules.mk b/keyboards/woodkeys/bigseries/1key/rules.mk similarity index 100% rename from keyboards/bigseries/1key/rules.mk rename to keyboards/woodkeys/bigseries/1key/rules.mk diff --git a/keyboards/bigseries/2key/.noci b/keyboards/woodkeys/bigseries/2key/.noci similarity index 100% rename from keyboards/bigseries/2key/.noci rename to keyboards/woodkeys/bigseries/2key/.noci diff --git a/keyboards/bigseries/2key/2key.c b/keyboards/woodkeys/bigseries/2key/2key.c similarity index 100% rename from keyboards/bigseries/2key/2key.c rename to keyboards/woodkeys/bigseries/2key/2key.c diff --git a/keyboards/bigseries/2key/2key.h b/keyboards/woodkeys/bigseries/2key/2key.h similarity index 100% rename from keyboards/bigseries/2key/2key.h rename to keyboards/woodkeys/bigseries/2key/2key.h diff --git a/keyboards/bigseries/2key/config.h b/keyboards/woodkeys/bigseries/2key/config.h similarity index 100% rename from keyboards/bigseries/2key/config.h rename to keyboards/woodkeys/bigseries/2key/config.h diff --git a/keyboards/bigseries/2key/info.json b/keyboards/woodkeys/bigseries/2key/info.json similarity index 100% rename from keyboards/bigseries/2key/info.json rename to keyboards/woodkeys/bigseries/2key/info.json diff --git a/keyboards/bigseries/2key/keymaps/default/keymap.c b/keyboards/woodkeys/bigseries/2key/keymaps/default/keymap.c similarity index 100% rename from keyboards/bigseries/2key/keymaps/default/keymap.c rename to keyboards/woodkeys/bigseries/2key/keymaps/default/keymap.c diff --git a/keyboards/bigseries/2key/keymaps/lock/keymap.c b/keyboards/woodkeys/bigseries/2key/keymaps/lock/keymap.c similarity index 100% rename from keyboards/bigseries/2key/keymaps/lock/keymap.c rename to keyboards/woodkeys/bigseries/2key/keymaps/lock/keymap.c diff --git a/keyboards/bigseries/2key/keymaps/tester/keymap.c b/keyboards/woodkeys/bigseries/2key/keymaps/tester/keymap.c similarity index 100% rename from keyboards/bigseries/2key/keymaps/tester/keymap.c rename to keyboards/woodkeys/bigseries/2key/keymaps/tester/keymap.c diff --git a/keyboards/bigseries/2key/readme.md b/keyboards/woodkeys/bigseries/2key/readme.md similarity index 95% rename from keyboards/bigseries/2key/readme.md rename to keyboards/woodkeys/bigseries/2key/readme.md index e882433017dc..f6bcc5efbbc9 100644 --- a/keyboards/bigseries/2key/readme.md +++ b/keyboards/woodkeys/bigseries/2key/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [Woodkeys.click](https://woodkeys.click), [NovelKeys](ht Make example for this keyboard (after setting up your build environment): - make bigseries/2key:default + make woodkeys/bigseries/2key:default See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/build-compile-instructions) for more information. diff --git a/keyboards/bigseries/2key/rules.mk b/keyboards/woodkeys/bigseries/2key/rules.mk similarity index 100% rename from keyboards/bigseries/2key/rules.mk rename to keyboards/woodkeys/bigseries/2key/rules.mk diff --git a/keyboards/bigseries/3key/.noci b/keyboards/woodkeys/bigseries/3key/.noci similarity index 100% rename from keyboards/bigseries/3key/.noci rename to keyboards/woodkeys/bigseries/3key/.noci diff --git a/keyboards/bigseries/3key/3key.c b/keyboards/woodkeys/bigseries/3key/3key.c similarity index 100% rename from keyboards/bigseries/3key/3key.c rename to keyboards/woodkeys/bigseries/3key/3key.c diff --git a/keyboards/bigseries/3key/3key.h b/keyboards/woodkeys/bigseries/3key/3key.h similarity index 100% rename from keyboards/bigseries/3key/3key.h rename to keyboards/woodkeys/bigseries/3key/3key.h diff --git a/keyboards/bigseries/3key/config.h b/keyboards/woodkeys/bigseries/3key/config.h similarity index 100% rename from keyboards/bigseries/3key/config.h rename to keyboards/woodkeys/bigseries/3key/config.h diff --git a/keyboards/bigseries/3key/info.json b/keyboards/woodkeys/bigseries/3key/info.json similarity index 100% rename from keyboards/bigseries/3key/info.json rename to keyboards/woodkeys/bigseries/3key/info.json diff --git a/keyboards/bigseries/3key/keymaps/ctrl-alt-del/keymap.c b/keyboards/woodkeys/bigseries/3key/keymaps/ctrl-alt-del/keymap.c similarity index 100% rename from keyboards/bigseries/3key/keymaps/ctrl-alt-del/keymap.c rename to keyboards/woodkeys/bigseries/3key/keymaps/ctrl-alt-del/keymap.c diff --git a/keyboards/bigseries/3key/keymaps/default/keymap.c b/keyboards/woodkeys/bigseries/3key/keymaps/default/keymap.c similarity index 100% rename from keyboards/bigseries/3key/keymaps/default/keymap.c rename to keyboards/woodkeys/bigseries/3key/keymaps/default/keymap.c diff --git a/keyboards/bigseries/3key/keymaps/tester/keymap.c b/keyboards/woodkeys/bigseries/3key/keymaps/tester/keymap.c similarity index 100% rename from keyboards/bigseries/3key/keymaps/tester/keymap.c rename to keyboards/woodkeys/bigseries/3key/keymaps/tester/keymap.c diff --git a/keyboards/bigseries/3key/readme.md b/keyboards/woodkeys/bigseries/3key/readme.md similarity index 95% rename from keyboards/bigseries/3key/readme.md rename to keyboards/woodkeys/bigseries/3key/readme.md index d32ec486a04d..c8d0275b870f 100644 --- a/keyboards/bigseries/3key/readme.md +++ b/keyboards/woodkeys/bigseries/3key/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [Woodkeys.click](https://woodkeys.click), [NovelKeys](ht Make example for this keyboard (after setting up your build environment): - make bigseries/3key:default + make woodkeys/bigseries/3key:default See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/build-compile-instructions) for more information. diff --git a/keyboards/bigseries/3key/rules.mk b/keyboards/woodkeys/bigseries/3key/rules.mk similarity index 100% rename from keyboards/bigseries/3key/rules.mk rename to keyboards/woodkeys/bigseries/3key/rules.mk diff --git a/keyboards/bigseries/4key/4key.c b/keyboards/woodkeys/bigseries/4key/4key.c similarity index 100% rename from keyboards/bigseries/4key/4key.c rename to keyboards/woodkeys/bigseries/4key/4key.c diff --git a/keyboards/bigseries/4key/4key.h b/keyboards/woodkeys/bigseries/4key/4key.h similarity index 100% rename from keyboards/bigseries/4key/4key.h rename to keyboards/woodkeys/bigseries/4key/4key.h diff --git a/keyboards/bigseries/4key/config.h b/keyboards/woodkeys/bigseries/4key/config.h similarity index 100% rename from keyboards/bigseries/4key/config.h rename to keyboards/woodkeys/bigseries/4key/config.h diff --git a/keyboards/bigseries/4key/info.json b/keyboards/woodkeys/bigseries/4key/info.json similarity index 100% rename from keyboards/bigseries/4key/info.json rename to keyboards/woodkeys/bigseries/4key/info.json diff --git a/keyboards/bigseries/4key/keymaps/default/keymap.c b/keyboards/woodkeys/bigseries/4key/keymaps/default/keymap.c similarity index 100% rename from keyboards/bigseries/4key/keymaps/default/keymap.c rename to keyboards/woodkeys/bigseries/4key/keymaps/default/keymap.c diff --git a/keyboards/bigseries/4key/keymaps/tester/keymap.c b/keyboards/woodkeys/bigseries/4key/keymaps/tester/keymap.c similarity index 100% rename from keyboards/bigseries/4key/keymaps/tester/keymap.c rename to keyboards/woodkeys/bigseries/4key/keymaps/tester/keymap.c diff --git a/keyboards/bigseries/4key/readme.md b/keyboards/woodkeys/bigseries/4key/readme.md similarity index 95% rename from keyboards/bigseries/4key/readme.md rename to keyboards/woodkeys/bigseries/4key/readme.md index ec40e83f2cd2..2ac56a25c702 100644 --- a/keyboards/bigseries/4key/readme.md +++ b/keyboards/woodkeys/bigseries/4key/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [Woodkeys.click](https://woodkeys.click), [NovelKeys](ht Make example for this keyboard (after setting up your build environment): - make bigseries/4key:default + make woodkeys/bigseries/4key:default See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/build-compile-instructions) for more information. diff --git a/keyboards/bigseries/4key/rules.mk b/keyboards/woodkeys/bigseries/4key/rules.mk similarity index 100% rename from keyboards/bigseries/4key/rules.mk rename to keyboards/woodkeys/bigseries/4key/rules.mk diff --git a/keyboards/bigseries/readme.md b/keyboards/woodkeys/bigseries/readme.md similarity index 91% rename from keyboards/bigseries/readme.md rename to keyboards/woodkeys/bigseries/readme.md index 0b406673537c..5f7a1235084a 100644 --- a/keyboards/bigseries/readme.md +++ b/keyboards/woodkeys/bigseries/readme.md @@ -10,7 +10,7 @@ Hardware Availability: [Woodkeys.click](https://woodkeys.click), [NovelKeys](ht Make example for these keyboards (after setting up your build environment): - make bigseries/1key:default - make bigseries/3key:ctrl-alt-del + make woodkeys/bigseries/1key:default + make woodkeys/bigseries/3key:ctrl-alt-del See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/build-compile-instructions) for more information. diff --git a/keyboards/meira/TWIlib.c b/keyboards/woodkeys/meira/TWIlib.c similarity index 100% rename from keyboards/meira/TWIlib.c rename to keyboards/woodkeys/meira/TWIlib.c diff --git a/keyboards/meira/TWIlib.h b/keyboards/woodkeys/meira/TWIlib.h similarity index 100% rename from keyboards/meira/TWIlib.h rename to keyboards/woodkeys/meira/TWIlib.h diff --git a/keyboards/meira/config.h b/keyboards/woodkeys/meira/config.h similarity index 100% rename from keyboards/meira/config.h rename to keyboards/woodkeys/meira/config.h diff --git a/keyboards/meira/featherble/config.h b/keyboards/woodkeys/meira/featherble/config.h similarity index 100% rename from keyboards/meira/featherble/config.h rename to keyboards/woodkeys/meira/featherble/config.h diff --git a/keyboards/meira/featherble/featherble.c b/keyboards/woodkeys/meira/featherble/featherble.c similarity index 100% rename from keyboards/meira/featherble/featherble.c rename to keyboards/woodkeys/meira/featherble/featherble.c diff --git a/keyboards/meira/featherble/featherble.h b/keyboards/woodkeys/meira/featherble/featherble.h similarity index 100% rename from keyboards/meira/featherble/featherble.h rename to keyboards/woodkeys/meira/featherble/featherble.h diff --git a/keyboards/meira/featherble/rules.mk b/keyboards/woodkeys/meira/featherble/rules.mk similarity index 100% rename from keyboards/meira/featherble/rules.mk rename to keyboards/woodkeys/meira/featherble/rules.mk diff --git a/keyboards/meira/info.json b/keyboards/woodkeys/meira/info.json similarity index 100% rename from keyboards/meira/info.json rename to keyboards/woodkeys/meira/info.json diff --git a/keyboards/meira/issi.c b/keyboards/woodkeys/meira/issi.c similarity index 100% rename from keyboards/meira/issi.c rename to keyboards/woodkeys/meira/issi.c diff --git a/keyboards/meira/issi.h b/keyboards/woodkeys/meira/issi.h similarity index 100% rename from keyboards/meira/issi.h rename to keyboards/woodkeys/meira/issi.h diff --git a/keyboards/meira/keymaps/cole/config.h b/keyboards/woodkeys/meira/keymaps/cole/config.h similarity index 100% rename from keyboards/meira/keymaps/cole/config.h rename to keyboards/woodkeys/meira/keymaps/cole/config.h diff --git a/keyboards/meira/keymaps/cole/keymap.c b/keyboards/woodkeys/meira/keymaps/cole/keymap.c similarity index 100% rename from keyboards/meira/keymaps/cole/keymap.c rename to keyboards/woodkeys/meira/keymaps/cole/keymap.c diff --git a/keyboards/meira/keymaps/cole/readme.md b/keyboards/woodkeys/meira/keymaps/cole/readme.md similarity index 100% rename from keyboards/meira/keymaps/cole/readme.md rename to keyboards/woodkeys/meira/keymaps/cole/readme.md diff --git a/keyboards/meira/keymaps/cole/rules.mk b/keyboards/woodkeys/meira/keymaps/cole/rules.mk similarity index 100% rename from keyboards/meira/keymaps/cole/rules.mk rename to keyboards/woodkeys/meira/keymaps/cole/rules.mk diff --git a/keyboards/meira/keymaps/default/config.h b/keyboards/woodkeys/meira/keymaps/default/config.h similarity index 100% rename from keyboards/meira/keymaps/default/config.h rename to keyboards/woodkeys/meira/keymaps/default/config.h diff --git a/keyboards/meira/keymaps/default/keymap.c b/keyboards/woodkeys/meira/keymaps/default/keymap.c similarity index 100% rename from keyboards/meira/keymaps/default/keymap.c rename to keyboards/woodkeys/meira/keymaps/default/keymap.c diff --git a/keyboards/meira/keymaps/default/readme.md b/keyboards/woodkeys/meira/keymaps/default/readme.md similarity index 100% rename from keyboards/meira/keymaps/default/readme.md rename to keyboards/woodkeys/meira/keymaps/default/readme.md diff --git a/keyboards/meira/keymaps/grahampheath/config.h b/keyboards/woodkeys/meira/keymaps/grahampheath/config.h similarity index 100% rename from keyboards/meira/keymaps/grahampheath/config.h rename to keyboards/woodkeys/meira/keymaps/grahampheath/config.h diff --git a/keyboards/meira/keymaps/grahampheath/keymap.c b/keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c similarity index 100% rename from keyboards/meira/keymaps/grahampheath/keymap.c rename to keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c diff --git a/keyboards/meira/keymaps/grahampheath/readme.md b/keyboards/woodkeys/meira/keymaps/grahampheath/readme.md similarity index 100% rename from keyboards/meira/keymaps/grahampheath/readme.md rename to keyboards/woodkeys/meira/keymaps/grahampheath/readme.md diff --git a/keyboards/meira/keymaps/grahampheath/rules.mk b/keyboards/woodkeys/meira/keymaps/grahampheath/rules.mk similarity index 100% rename from keyboards/meira/keymaps/grahampheath/rules.mk rename to keyboards/woodkeys/meira/keymaps/grahampheath/rules.mk diff --git a/keyboards/meira/keymaps/takmiya/config.h b/keyboards/woodkeys/meira/keymaps/takmiya/config.h similarity index 100% rename from keyboards/meira/keymaps/takmiya/config.h rename to keyboards/woodkeys/meira/keymaps/takmiya/config.h diff --git a/keyboards/meira/keymaps/takmiya/keymap.c b/keyboards/woodkeys/meira/keymaps/takmiya/keymap.c similarity index 100% rename from keyboards/meira/keymaps/takmiya/keymap.c rename to keyboards/woodkeys/meira/keymaps/takmiya/keymap.c diff --git a/keyboards/meira/keymaps/takmiya/readme.md b/keyboards/woodkeys/meira/keymaps/takmiya/readme.md similarity index 100% rename from keyboards/meira/keymaps/takmiya/readme.md rename to keyboards/woodkeys/meira/keymaps/takmiya/readme.md diff --git a/keyboards/meira/lighting.c b/keyboards/woodkeys/meira/lighting.c similarity index 100% rename from keyboards/meira/lighting.c rename to keyboards/woodkeys/meira/lighting.c diff --git a/keyboards/meira/lighting.h b/keyboards/woodkeys/meira/lighting.h similarity index 100% rename from keyboards/meira/lighting.h rename to keyboards/woodkeys/meira/lighting.h diff --git a/keyboards/meira/matrix.c b/keyboards/woodkeys/meira/matrix.c similarity index 100% rename from keyboards/meira/matrix.c rename to keyboards/woodkeys/meira/matrix.c diff --git a/keyboards/meira/meira.c b/keyboards/woodkeys/meira/meira.c similarity index 100% rename from keyboards/meira/meira.c rename to keyboards/woodkeys/meira/meira.c diff --git a/keyboards/meira/meira.h b/keyboards/woodkeys/meira/meira.h similarity index 100% rename from keyboards/meira/meira.h rename to keyboards/woodkeys/meira/meira.h diff --git a/keyboards/meira/promicro/config.h b/keyboards/woodkeys/meira/promicro/config.h similarity index 100% rename from keyboards/meira/promicro/config.h rename to keyboards/woodkeys/meira/promicro/config.h diff --git a/keyboards/meira/promicro/promicro.c b/keyboards/woodkeys/meira/promicro/promicro.c similarity index 100% rename from keyboards/meira/promicro/promicro.c rename to keyboards/woodkeys/meira/promicro/promicro.c diff --git a/keyboards/meira/promicro/promicro.h b/keyboards/woodkeys/meira/promicro/promicro.h similarity index 100% rename from keyboards/meira/promicro/promicro.h rename to keyboards/woodkeys/meira/promicro/promicro.h diff --git a/keyboards/meira/promicro/rules.mk b/keyboards/woodkeys/meira/promicro/rules.mk similarity index 100% rename from keyboards/meira/promicro/rules.mk rename to keyboards/woodkeys/meira/promicro/rules.mk diff --git a/keyboards/meira/readme.md b/keyboards/woodkeys/meira/readme.md similarity index 91% rename from keyboards/meira/readme.md rename to keyboards/woodkeys/meira/readme.md index 716eb7445d76..f0fb02b69e64 100644 --- a/keyboards/meira/readme.md +++ b/keyboards/woodkeys/meira/readme.md @@ -12,8 +12,8 @@ Two controllers are supported: the Pro Micro, and the Adafruit Feather BLE 32u4. Make examples for this keyboard (after setting up your build environment): - make meira/featherble:default # for Feather BLE 32u4 controllers - make meira/promicro:default # for Pro Micro controllers + make woodkeys/meira/featherble:default # for Feather BLE 32u4 controllers + make woodkeys/meira/promicro:default # for Pro Micro controllers 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/meira/rules.mk b/keyboards/woodkeys/meira/rules.mk similarity index 96% rename from keyboards/meira/rules.mk rename to keyboards/woodkeys/meira/rules.mk index cdd0acb8246c..6b5025500c65 100644 --- a/keyboards/meira/rules.mk +++ b/keyboards/woodkeys/meira/rules.mk @@ -30,5 +30,5 @@ CUSTOM_MATRIX = yes #endif SRC += matrix.c TWIlib.c issi.c lighting.c -DEFAULT_FOLDER = meira/promicro +DEFAULT_FOLDER = woodkeys/meira/promicro LAYOUTS = ortho_4x12 diff --git a/keyboards/scarletbandana/config.h b/keyboards/woodkeys/scarletbandana/config.h similarity index 100% rename from keyboards/scarletbandana/config.h rename to keyboards/woodkeys/scarletbandana/config.h diff --git a/keyboards/scarletbandana/info.json b/keyboards/woodkeys/scarletbandana/info.json similarity index 100% rename from keyboards/scarletbandana/info.json rename to keyboards/woodkeys/scarletbandana/info.json diff --git a/keyboards/scarletbandana/keymaps/default/keymap.c b/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c similarity index 100% rename from keyboards/scarletbandana/keymaps/default/keymap.c rename to keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c diff --git a/keyboards/scarletbandana/keymaps/default/readme.md b/keyboards/woodkeys/scarletbandana/keymaps/default/readme.md similarity index 100% rename from keyboards/scarletbandana/keymaps/default/readme.md rename to keyboards/woodkeys/scarletbandana/keymaps/default/readme.md diff --git a/keyboards/scarletbandana/readme.md b/keyboards/woodkeys/scarletbandana/readme.md similarity index 93% rename from keyboards/scarletbandana/readme.md rename to keyboards/woodkeys/scarletbandana/readme.md index 83281bae36c7..4505fd05738d 100644 --- a/keyboards/scarletbandana/readme.md +++ b/keyboards/woodkeys/scarletbandana/readme.md @@ -6,6 +6,6 @@ Hardware Availability: [WoodKeys.click](https://woodkeys.click/product/scarlet-b Make example for this keyboard (after setting up your build environment): - make scarletbandana:default + make woodkeys/scarletbandana:default 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/scarletbandana/rules.mk b/keyboards/woodkeys/scarletbandana/rules.mk similarity index 100% rename from keyboards/scarletbandana/rules.mk rename to keyboards/woodkeys/scarletbandana/rules.mk diff --git a/keyboards/scarletbandana/scarletbandana.c b/keyboards/woodkeys/scarletbandana/scarletbandana.c similarity index 100% rename from keyboards/scarletbandana/scarletbandana.c rename to keyboards/woodkeys/scarletbandana/scarletbandana.c diff --git a/keyboards/scarletbandana/scarletbandana.h b/keyboards/woodkeys/scarletbandana/scarletbandana.h similarity index 100% rename from keyboards/scarletbandana/scarletbandana.h rename to keyboards/woodkeys/scarletbandana/scarletbandana.h From e22efc037a7e4da17f1051d5053768e40683da68 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 2 Feb 2022 15:04:37 +1100 Subject: [PATCH 0152/1832] Don't make EEPROM size assumptions with dynamic keymaps. (#16054) * Don't make EEPROM size assumptions with dynamic keymaps. * Add support for checking against emulated flash, error out if someone attempts to build a board without specifying EEPROM size. * Reorder defines so that MCU is considered last. * Refactor EEPROM definitions for simplicity. * Fix max sizing of kabedon/kabedon980. * Fix max sizing of mechlovin/olly/jf. * Fix unit tests. * Review comments, add messages with values during build failures. --- common_features.mk | 9 ++- keyboards/kabedon/kabedon980/config.h | 10 +-- .../kabedon/kabedon980/keymaps/via/keymap.c | 20 ++---- .../mechlovin/olly/jf/keymaps/via/config.h | 4 +- .../mechlovin/olly/jf/keymaps/via/keymap.c | 25 ------- .../arm_atsam/{eeprom.c => eeprom_samd.c} | 6 +- platforms/arm_atsam/eeprom_samd.h | 8 +++ platforms/chibios/eeprom_stm32.c | 66 +------------------ platforms/chibios/eeprom_stm32_defs.h | 62 +++++++++++++++++ platforms/chibios/eeprom_teensy.c | 15 +---- platforms/chibios/eeprom_teensy.h | 22 +++++++ platforms/eeprom.h | 49 ++++++++++++++ platforms/test/eeprom.c | 4 +- platforms/test/eeprom_stm32_tests.cpp | 3 - platforms/test/eeprom_stm32_tests.h | 8 +++ platforms/test/rules.mk | 2 +- quantum/dynamic_keymap.c | 25 ++++--- 17 files changed, 185 insertions(+), 153 deletions(-) rename platforms/arm_atsam/{eeprom.c => eeprom_samd.c} (96%) create mode 100755 platforms/arm_atsam/eeprom_samd.h create mode 100755 platforms/chibios/eeprom_teensy.h create mode 100644 platforms/test/eeprom_stm32_tests.h diff --git a/common_features.mk b/common_features.mk index d3da487e696b..5c5e6a9a255c 100644 --- a/common_features.mk +++ b/common_features.mk @@ -186,20 +186,21 @@ else else ifeq ($(PLATFORM),CHIBIOS) ifneq ($(filter STM32F3xx_% STM32F1xx_% %_STM32F401xC %_STM32F401xE %_STM32F405xG %_STM32F411xE %_STM32F072xB %_STM32F042x6 %_GD32VF103xB %_GD32VF103x8, $(MCU_SERIES)_$(MCU_LDSCRIPT)),) # Emulated EEPROM - OPT_DEFS += -DEEPROM_DRIVER + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_FLASH_EMULATED COMMON_VPATH += $(DRIVER_PATH)/eeprom SRC += eeprom_driver.c SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),) # True EEPROM on STM32L0xx, L1xx - OPT_DEFS += -DEEPROM_DRIVER + OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1 COMMON_VPATH += $(DRIVER_PATH)/eeprom COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom SRC += eeprom_driver.c SRC += eeprom_stm32_L0_L1.c else ifneq ($(filter $(MCU_SERIES),KL2x K20x),) # Teensy EEPROM implementations + OPT_DEFS += -DEEPROM_TEENSY SRC += eeprom_teensy.c else # Fall back to transient, i.e. non-persistent @@ -209,9 +210,11 @@ else endif else ifeq ($(PLATFORM),ARM_ATSAM) # arm_atsam EEPROM - SRC += $(PLATFORM_COMMON_DIR)/eeprom.c + OPT_DEFS += -DEEPROM_SAMD + SRC += $(PLATFORM_COMMON_DIR)/eeprom_samd.c else ifeq ($(PLATFORM),TEST) # Test harness "EEPROM" + OPT_DEFS += -DEEPROM_TEST_HARNESS SRC += $(PLATFORM_COMMON_DIR)/eeprom.c endif endif diff --git a/keyboards/kabedon/kabedon980/config.h b/keyboards/kabedon/kabedon980/config.h index 5dc70dfebf31..db93dfcf85ed 100644 --- a/keyboards/kabedon/kabedon980/config.h +++ b/keyboards/kabedon/kabedon980/config.h @@ -32,21 +32,21 @@ along with this program. If not, see . #define MATRIX_COLS 13 /* Keyboard Matrix Assignments */ -#define MATRIX_ROW_PINS {D0,D2,F7,B1,B0,D6,C7,D7,B5,B2} -#define MATRIX_COL_PINS {F5,F4,F6,C6,B6,B4,D3,D1,D4,F1,B3,D5,F0} +#define MATRIX_ROW_PINS {D0,D2,F7,B1,B0,D6,C7,D7,B5,B2} +#define MATRIX_COL_PINS {F5,F4,F6,C6,B6,B4,D3,D1,D4,F1,B3,D5,F0} #define UNUSED_PINS -#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047 +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL -#define RGB_DI_PIN B7 +#define RGB_DI_PIN B7 #ifdef RGB_DI_PIN #define RGBLED_NUM 20 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ - #define RGBLIGHT_ANIMATIONS + #define RGBLIGHT_ANIMATIONS #endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ diff --git a/keyboards/kabedon/kabedon980/keymaps/via/keymap.c b/keyboards/kabedon/kabedon980/keymaps/via/keymap.c index 44574452bfb6..76eaa3968aae 100644 --- a/keyboards/kabedon/kabedon980/keymaps/via/keymap.c +++ b/keyboards/kabedon/kabedon980/keymaps/via/keymap.c @@ -6,32 +6,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME, KC_PGUP, KC_PGDN, KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 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_P7, KC_P8, KC_P9, KC_PPLS, - 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_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_P4, KC_P5, KC_P6, 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_P1, KC_P2, KC_P3, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), - + [1] = LAYOUT( RGB_MOD, RGB_TOG, RGB_SAI, RGB_SAD, RGB_HUI, RGB_HUD, RGB_SPI, RGB_SPD, RGB_VAI, RGB_VAD, 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - + [2] = LAYOUT( - 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, 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, 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS ), - - [3] = LAYOUT( - 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/mechlovin/olly/jf/keymaps/via/config.h b/keyboards/mechlovin/olly/jf/keymaps/via/config.h index f330025a008f..82c2e51eb914 100644 --- a/keyboards/mechlovin/olly/jf/keymaps/via/config.h +++ b/keyboards/mechlovin/olly/jf/keymaps/via/config.h @@ -17,6 +17,4 @@ along with this program. If not, see . #pragma once -#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 1607 -#define DYNAMIC_KEYMAP_LAYER_COUNT 6 - +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/mechlovin/olly/jf/keymaps/via/keymap.c b/keyboards/mechlovin/olly/jf/keymaps/via/keymap.c index c90eeb18307e..18ac685abc79 100644 --- a/keyboards/mechlovin/olly/jf/keymaps/via/keymap.c +++ b/keyboards/mechlovin/olly/jf/keymaps/via/keymap.c @@ -40,29 +40,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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 ), - [3] = LAYOUT_all( - 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [4] = LAYOUT_all( - 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [5] = LAYOUT_all( - 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - }; \ No newline at end of file diff --git a/platforms/arm_atsam/eeprom.c b/platforms/arm_atsam/eeprom_samd.c similarity index 96% rename from platforms/arm_atsam/eeprom.c rename to platforms/arm_atsam/eeprom_samd.c index ff1a692623a1..beaffeec3021 100644 --- a/platforms/arm_atsam/eeprom.c +++ b/platforms/arm_atsam/eeprom_samd.c @@ -18,11 +18,7 @@ #include "samd51j18a.h" #include "core_cm4.h" #include "component/nvmctrl.h" - -#ifndef EEPROM_SIZE -# include "eeconfig.h" -# define EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO -#endif +#include "eeprom_samd.h" #ifndef MAX # define MAX(X, Y) ((X) > (Y) ? (X) : (Y)) diff --git a/platforms/arm_atsam/eeprom_samd.h b/platforms/arm_atsam/eeprom_samd.h new file mode 100755 index 000000000000..7dbff9bfa167 --- /dev/null +++ b/platforms/arm_atsam/eeprom_samd.h @@ -0,0 +1,8 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifndef EEPROM_SIZE +# include "eeconfig.h" +# define EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO +#endif diff --git a/platforms/chibios/eeprom_stm32.c b/platforms/chibios/eeprom_stm32.c index acc6a48516c9..8bf0b19c3d15 100644 --- a/platforms/chibios/eeprom_stm32.c +++ b/platforms/chibios/eeprom_stm32.c @@ -133,10 +133,6 @@ */ #include "eeprom_stm32_defs.h" -#if !defined(FEE_PAGE_SIZE) || !defined(FEE_PAGE_COUNT) || !defined(FEE_MCU_FLASH_SIZE) || !defined(FEE_PAGE_BASE_ADDRESS) -# error "not implemented." -#endif - /* These bits are used for optimizing encoding of bytes, 0 and 1 */ #define FEE_WORD_ENCODING 0x8000 #define FEE_VALUE_NEXT 0x6000 @@ -144,69 +140,11 @@ #define FEE_VALUE_ENCODED 0x2000 #define FEE_BYTE_RANGE 0x80 -/* Addressable range 16KByte: 0 <-> (0x1FFF << 1) */ -#define FEE_ADDRESS_MAX_SIZE 0x4000 - /* Flash word value after erase */ #define FEE_EMPTY_WORD ((uint16_t)0xFFFF) -/* Size of combined compacted eeprom and write log pages */ -#define FEE_DENSITY_MAX_SIZE (FEE_PAGE_COUNT * FEE_PAGE_SIZE) - -#ifndef FEE_MCU_FLASH_SIZE_IGNORE_CHECK /* *TODO: Get rid of this check */ -# if FEE_DENSITY_MAX_SIZE > (FEE_MCU_FLASH_SIZE * 1024) -# pragma message STR(FEE_DENSITY_MAX_SIZE) " > " STR(FEE_MCU_FLASH_SIZE * 1024) -# error emulated eeprom: FEE_DENSITY_MAX_SIZE is greater than available flash size -# endif -#endif - -/* Size of emulated eeprom */ -#ifdef FEE_DENSITY_BYTES -# if (FEE_DENSITY_BYTES > FEE_DENSITY_MAX_SIZE) -# pragma message STR(FEE_DENSITY_BYTES) " > " STR(FEE_DENSITY_MAX_SIZE) -# error emulated eeprom: FEE_DENSITY_BYTES exceeds FEE_DENSITY_MAX_SIZE -# endif -# if (FEE_DENSITY_BYTES == FEE_DENSITY_MAX_SIZE) -# pragma message STR(FEE_DENSITY_BYTES) " == " STR(FEE_DENSITY_MAX_SIZE) -# warning emulated eeprom: FEE_DENSITY_BYTES leaves no room for a write log. This will greatly increase the flash wear rate! -# endif -# if FEE_DENSITY_BYTES > FEE_ADDRESS_MAX_SIZE -# pragma message STR(FEE_DENSITY_BYTES) " > " STR(FEE_ADDRESS_MAX_SIZE) -# error emulated eeprom: FEE_DENSITY_BYTES is greater than FEE_ADDRESS_MAX_SIZE allows -# endif -# if ((FEE_DENSITY_BYTES) % 2) == 1 -# error emulated eeprom: FEE_DENSITY_BYTES must be even -# endif -#else -/* Default to half of allocated space used for emulated eeprom, half for write log */ -# define FEE_DENSITY_BYTES (FEE_PAGE_COUNT * FEE_PAGE_SIZE / 2) -#endif - -/* Size of write log */ -#ifdef FEE_WRITE_LOG_BYTES -# if ((FEE_DENSITY_BYTES + FEE_WRITE_LOG_BYTES) > FEE_DENSITY_MAX_SIZE) -# pragma message STR(FEE_DENSITY_BYTES) " + " STR(FEE_WRITE_LOG_BYTES) " > " STR(FEE_DENSITY_MAX_SIZE) -# error emulated eeprom: FEE_WRITE_LOG_BYTES exceeds remaining FEE_DENSITY_MAX_SIZE -# endif -# if ((FEE_WRITE_LOG_BYTES) % 2) == 1 -# error emulated eeprom: FEE_WRITE_LOG_BYTES must be even -# endif -#else -/* Default to use all remaining space */ -# define FEE_WRITE_LOG_BYTES (FEE_PAGE_COUNT * FEE_PAGE_SIZE - FEE_DENSITY_BYTES) -#endif - -/* Start of the emulated eeprom compacted flash area */ -#define FEE_COMPACTED_BASE_ADDRESS FEE_PAGE_BASE_ADDRESS -/* End of the emulated eeprom compacted flash area */ -#define FEE_COMPACTED_LAST_ADDRESS (FEE_COMPACTED_BASE_ADDRESS + FEE_DENSITY_BYTES) -/* Start of the emulated eeprom write log */ -#define FEE_WRITE_LOG_BASE_ADDRESS FEE_COMPACTED_LAST_ADDRESS -/* End of the emulated eeprom write log */ -#define FEE_WRITE_LOG_LAST_ADDRESS (FEE_WRITE_LOG_BASE_ADDRESS + FEE_WRITE_LOG_BYTES) - -#if defined(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) && (DYNAMIC_KEYMAP_EEPROM_MAX_ADDR >= FEE_DENSITY_BYTES) -# error emulated eeprom: DYNAMIC_KEYMAP_EEPROM_MAX_ADDR is greater than the FEE_DENSITY_BYTES available +#if !defined(FEE_PAGE_SIZE) || !defined(FEE_PAGE_COUNT) || !defined(FEE_MCU_FLASH_SIZE) || !defined(FEE_PAGE_BASE_ADDRESS) +# error "not implemented." #endif /* In-memory contents of emulated eeprom for faster access */ diff --git a/platforms/chibios/eeprom_stm32_defs.h b/platforms/chibios/eeprom_stm32_defs.h index 66904f247f58..581434eb5eed 100644 --- a/platforms/chibios/eeprom_stm32_defs.h +++ b/platforms/chibios/eeprom_stm32_defs.h @@ -72,3 +72,65 @@ # define FEE_PAGE_BASE_ADDRESS ((uintptr_t)(FEE_FLASH_BASE) + FEE_MCU_FLASH_SIZE * 1024 - (FEE_PAGE_COUNT * FEE_PAGE_SIZE)) # endif #endif + +/* Addressable range 16KByte: 0 <-> (0x1FFF << 1) */ +#define FEE_ADDRESS_MAX_SIZE 0x4000 + +/* Size of combined compacted eeprom and write log pages */ +#define FEE_DENSITY_MAX_SIZE (FEE_PAGE_COUNT * FEE_PAGE_SIZE) + +#ifndef FEE_MCU_FLASH_SIZE_IGNORE_CHECK /* *TODO: Get rid of this check */ +# if FEE_DENSITY_MAX_SIZE > (FEE_MCU_FLASH_SIZE * 1024) +# pragma message STR(FEE_DENSITY_MAX_SIZE) " > " STR(FEE_MCU_FLASH_SIZE * 1024) +# error emulated eeprom: FEE_DENSITY_MAX_SIZE is greater than available flash size +# endif +#endif + +/* Size of emulated eeprom */ +#ifdef FEE_DENSITY_BYTES +# if (FEE_DENSITY_BYTES > FEE_DENSITY_MAX_SIZE) +# pragma message STR(FEE_DENSITY_BYTES) " > " STR(FEE_DENSITY_MAX_SIZE) +# error emulated eeprom: FEE_DENSITY_BYTES exceeds FEE_DENSITY_MAX_SIZE +# endif +# if (FEE_DENSITY_BYTES == FEE_DENSITY_MAX_SIZE) +# pragma message STR(FEE_DENSITY_BYTES) " == " STR(FEE_DENSITY_MAX_SIZE) +# warning emulated eeprom: FEE_DENSITY_BYTES leaves no room for a write log. This will greatly increase the flash wear rate! +# endif +# if FEE_DENSITY_BYTES > FEE_ADDRESS_MAX_SIZE +# pragma message STR(FEE_DENSITY_BYTES) " > " STR(FEE_ADDRESS_MAX_SIZE) +# error emulated eeprom: FEE_DENSITY_BYTES is greater than FEE_ADDRESS_MAX_SIZE allows +# endif +# if ((FEE_DENSITY_BYTES) % 2) == 1 +# error emulated eeprom: FEE_DENSITY_BYTES must be even +# endif +#else +/* Default to half of allocated space used for emulated eeprom, half for write log */ +# define FEE_DENSITY_BYTES (FEE_PAGE_COUNT * FEE_PAGE_SIZE / 2) +#endif + +/* Size of write log */ +#ifdef FEE_WRITE_LOG_BYTES +# if ((FEE_DENSITY_BYTES + FEE_WRITE_LOG_BYTES) > FEE_DENSITY_MAX_SIZE) +# pragma message STR(FEE_DENSITY_BYTES) " + " STR(FEE_WRITE_LOG_BYTES) " > " STR(FEE_DENSITY_MAX_SIZE) +# error emulated eeprom: FEE_WRITE_LOG_BYTES exceeds remaining FEE_DENSITY_MAX_SIZE +# endif +# if ((FEE_WRITE_LOG_BYTES) % 2) == 1 +# error emulated eeprom: FEE_WRITE_LOG_BYTES must be even +# endif +#else +/* Default to use all remaining space */ +# define FEE_WRITE_LOG_BYTES (FEE_PAGE_COUNT * FEE_PAGE_SIZE - FEE_DENSITY_BYTES) +#endif + +/* Start of the emulated eeprom compacted flash area */ +#define FEE_COMPACTED_BASE_ADDRESS FEE_PAGE_BASE_ADDRESS +/* End of the emulated eeprom compacted flash area */ +#define FEE_COMPACTED_LAST_ADDRESS (FEE_COMPACTED_BASE_ADDRESS + FEE_DENSITY_BYTES) +/* Start of the emulated eeprom write log */ +#define FEE_WRITE_LOG_BASE_ADDRESS FEE_COMPACTED_LAST_ADDRESS +/* End of the emulated eeprom write log */ +#define FEE_WRITE_LOG_LAST_ADDRESS (FEE_WRITE_LOG_BASE_ADDRESS + FEE_WRITE_LOG_BYTES) + +#if defined(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) && (DYNAMIC_KEYMAP_EEPROM_MAX_ADDR >= FEE_DENSITY_BYTES) +# error emulated eeprom: DYNAMIC_KEYMAP_EEPROM_MAX_ADDR is greater than the FEE_DENSITY_BYTES available +#endif diff --git a/platforms/chibios/eeprom_teensy.c b/platforms/chibios/eeprom_teensy.c index 2093f9b4b2bd..575f51526edb 100644 --- a/platforms/chibios/eeprom_teensy.c +++ b/platforms/chibios/eeprom_teensy.c @@ -1,6 +1,7 @@ #include #include +#include "eeprom_teensy.h" #include "eeconfig.h" /*************************************/ @@ -42,18 +43,6 @@ #if defined(K20x) /* chip selection */ /* Teensy 3.0, 3.1, 3.2; mchck; infinity keyboard */ -// The EEPROM is really RAM with a hardware-based backup system to -// flash memory. Selecting a smaller size EEPROM allows more wear -// leveling, for higher write endurance. If you edit this file, -// set this to the smallest size your application can use. Also, -// due to Freescale's implementation, writing 16 or 32 bit words -// (aligned to 2 or 4 byte boundaries) has twice the endurance -// compared to writing 8 bit bytes. -// -# ifndef EEPROM_SIZE -# define EEPROM_SIZE 32 -# endif - /* ^^^ Here be dragons: NXP AppNote AN4282 section 3.1 states that partitioning must only be done once. @@ -350,8 +339,6 @@ void do_flash_cmd(volatile uint8_t *fstat) extern uint32_t __eeprom_workarea_start__; extern uint32_t __eeprom_workarea_end__; -# define EEPROM_SIZE 128 - static uint32_t flashend = 0; void eeprom_initialize(void) { diff --git a/platforms/chibios/eeprom_teensy.h b/platforms/chibios/eeprom_teensy.h new file mode 100755 index 000000000000..ead5998b2987 --- /dev/null +++ b/platforms/chibios/eeprom_teensy.h @@ -0,0 +1,22 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#if defined(K20x) +/* Teensy 3.0, 3.1, 3.2; mchck; infinity keyboard */ +// The EEPROM is really RAM with a hardware-based backup system to +// flash memory. Selecting a smaller size EEPROM allows more wear +// leveling, for higher write endurance. If you edit this file, +// set this to the smallest size your application can use. Also, +// due to Freescale's implementation, writing 16 or 32 bit words +// (aligned to 2 or 4 byte boundaries) has twice the endurance +// compared to writing 8 bit bytes. +// +# ifndef EEPROM_SIZE +# define EEPROM_SIZE 32 +# endif +#elif defined(KL2x) /* Teensy LC (emulated) */ +# define EEPROM_SIZE 128 +#else +# error Unsupported Teensy EEPROM. +#endif diff --git a/platforms/eeprom.h b/platforms/eeprom.h index f5b3f0ad53d1..091e6e440091 100644 --- a/platforms/eeprom.h +++ b/platforms/eeprom.h @@ -1,3 +1,5 @@ +// Copyright 2018-2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #if defined(__AVR__) && !defined(EEPROM_DRIVER) @@ -19,3 +21,50 @@ void eeprom_update_word(uint16_t *__p, uint16_t __value); void eeprom_update_dword(uint32_t *__p, uint32_t __value); void eeprom_update_block(const void *__src, void *__dst, size_t __n); #endif + +#if defined(EEPROM_CUSTOM) +# ifndef EEPROM_SIZE +# error EEPROM_SIZE has not been defined for custom driver. +# endif +# define TOTAL_EEPROM_BYTE_COUNT (EEPROM_SIZE) +#elif defined(EEPROM_TRANSIENT) +# include "eeprom_transient.h" +# define TOTAL_EEPROM_BYTE_COUNT (TRANSIENT_EEPROM_SIZE) +#elif defined(EEPROM_I2C) +# include "eeprom_i2c.h" +# define TOTAL_EEPROM_BYTE_COUNT (EXTERNAL_EEPROM_BYTE_COUNT) +#elif defined(EEPROM_SPI) +# include "eeprom_spi.h" +# define TOTAL_EEPROM_BYTE_COUNT (EXTERNAL_EEPROM_BYTE_COUNT) +#elif defined(EEPROM_STM32_L0_L1) +# include "eeprom_stm32_L0_L1.h" +# define TOTAL_EEPROM_BYTE_COUNT (STM32_ONBOARD_EEPROM_SIZE) +#elif defined(EEPROM_TEENSY) +# include "eeprom_teensy.h" +# define TOTAL_EEPROM_BYTE_COUNT (EEPROM_SIZE) +#elif defined(EEPROM_STM32_FLASH_EMULATED) +# include "eeprom_stm32_defs.h" +# define TOTAL_EEPROM_BYTE_COUNT (FEE_DENSITY_BYTES) +#elif defined(EEPROM_SAMD) +# include "eeprom_samd.h" +# define TOTAL_EEPROM_BYTE_COUNT (EEPROM_SIZE) +#elif defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega16U4__) || defined(__AVR_AT90USB162__) || defined(__AVR_ATtiny85__) +# define TOTAL_EEPROM_BYTE_COUNT 512 +#elif defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega32A__) +# define TOTAL_EEPROM_BYTE_COUNT 1024 +#elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) +# define TOTAL_EEPROM_BYTE_COUNT 2048 +#elif defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) +# define TOTAL_EEPROM_BYTE_COUNT 4096 +#elif defined(EEPROM_TEST_HARNESS) +# ifndef FLASH_STM32_MOCKED +// Normal tests +# define TOTAL_EEPROM_BYTE_COUNT 32 +# else +// Flash wear-leveling testing +# include "eeprom_stm32_tests.h" +# define TOTAL_EEPROM_BYTE_COUNT (EEPROM_SIZE) +# endif +#else +# error Unknown EEPROM driver. +#endif diff --git a/platforms/test/eeprom.c b/platforms/test/eeprom.c index 5c8e69dae330..e292faa644c2 100644 --- a/platforms/test/eeprom.c +++ b/platforms/test/eeprom.c @@ -16,9 +16,7 @@ #include "eeprom.h" -#define EEPROM_SIZE 32 - -static uint8_t buffer[EEPROM_SIZE]; +static uint8_t buffer[TOTAL_EEPROM_BYTE_COUNT]; uint8_t eeprom_read_byte(const uint8_t *addr) { uintptr_t offset = (uintptr_t)addr; diff --git a/platforms/test/eeprom_stm32_tests.cpp b/platforms/test/eeprom_stm32_tests.cpp index 5bc8d87900e1..57f31d634f25 100644 --- a/platforms/test/eeprom_stm32_tests.cpp +++ b/platforms/test/eeprom_stm32_tests.cpp @@ -17,8 +17,6 @@ #include "gtest/gtest.h" extern "C" { -#include "flash_stm32.h" -#include "eeprom_stm32.h" #include "eeprom.h" } @@ -46,7 +44,6 @@ extern "C" { * */ -#define EEPROM_SIZE (FEE_PAGE_SIZE * FEE_PAGE_COUNT / 2) #define LOG_SIZE EEPROM_SIZE #define LOG_BASE (MOCK_FLASH_SIZE - LOG_SIZE) #define EEPROM_BASE (LOG_BASE - EEPROM_SIZE) diff --git a/platforms/test/eeprom_stm32_tests.h b/platforms/test/eeprom_stm32_tests.h new file mode 100644 index 000000000000..35ed885e52ff --- /dev/null +++ b/platforms/test/eeprom_stm32_tests.h @@ -0,0 +1,8 @@ +// Copyright 2018-2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include "flash_stm32.h" +#include "eeprom_stm32.h" + +#define EEPROM_SIZE (FEE_PAGE_SIZE * FEE_PAGE_COUNT / 2) diff --git a/platforms/test/rules.mk b/platforms/test/rules.mk index 66b853d8eeb1..55512c7392f0 100644 --- a/platforms/test/rules.mk +++ b/platforms/test/rules.mk @@ -1,4 +1,4 @@ -eeprom_stm32_DEFS := -DFLASH_STM32_MOCKED -DNO_PRINT -DFEE_FLASH_BASE=FlashBuf +eeprom_stm32_DEFS := -DEEPROM_TEST_HARNESS -DFLASH_STM32_MOCKED -DNO_PRINT -DFEE_FLASH_BASE=FlashBuf eeprom_stm32_tiny_DEFS := $(eeprom_stm32_DEFS) \ -DFEE_MCU_FLASH_SIZE=1 \ -DMOCK_FLASH_SIZE=1024 \ diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c index 19a6bea59a0d..8f1f39bc0f09 100644 --- a/quantum/dynamic_keymap.c +++ b/quantum/dynamic_keymap.c @@ -29,24 +29,22 @@ # define DYNAMIC_KEYMAP_MACRO_COUNT 16 #endif -// This is the default EEPROM max address to use for dynamic keymaps. -// The default is the ATmega32u4 EEPROM max address. -// Explicitly override it if the keyboard uses a microcontroller with -// more EEPROM *and* it makes sense to increase it. +#ifndef TOTAL_EEPROM_BYTE_COUNT +# error Unknown total EEPROM size. Cannot derive maximum for dynamic keymaps. +#endif + #ifndef DYNAMIC_KEYMAP_EEPROM_MAX_ADDR -# if defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) -# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047 -# elif defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) -# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 -# elif defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega16U4__) || defined(__AVR_AT90USB162__) || defined(__AVR_ATtiny85__) -# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 511 -# else -# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 1023 -# endif +# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR (TOTAL_EEPROM_BYTE_COUNT - 1) +#endif + +#if DYNAMIC_KEYMAP_EEPROM_MAX_ADDR > (TOTAL_EEPROM_BYTE_COUNT - 1) +# pragma message STR(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) " > " STR((TOTAL_EEPROM_BYTE_COUNT - 1)) +# error DYNAMIC_KEYMAP_EEPROM_MAX_ADDR is configured to use more space than what is available for the selected EEPROM driver #endif // Due to usage of uint16_t check for max 65535 #if DYNAMIC_KEYMAP_EEPROM_MAX_ADDR > 65535 +# pragma message STR(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) " > 65535" # error DYNAMIC_KEYMAP_EEPROM_MAX_ADDR must be less than 65536 #endif @@ -71,6 +69,7 @@ // or DYNAMIC_KEYMAP_EEPROM_MAX_ADDR to increase it, *only if* the microcontroller has // more than the default. #if DYNAMIC_KEYMAP_EEPROM_MAX_ADDR - DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR < 100 +# pragma message STR(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR - DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR) " < 100" # error Dynamic keymaps are configured to use more EEPROM than is available. #endif From 6e2b03cf6901a6bbd146c074e8e9d9160358c6d9 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 2 Feb 2022 15:30:22 +1100 Subject: [PATCH 0153/1832] Fixup multibuild filegen (#16166) * Add env variable support to multibuild. * Generate version.h in build-specific location. --- build_keyboard.mk | 7 ++++++- lib/python/qmk/cli/multibuild.py | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/build_keyboard.mk b/build_keyboard.mk index e8c3bfe5fad1..a5e20853b3a7 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk @@ -44,7 +44,6 @@ endif ifdef SKIP_GIT VERSION_H_FLAGS := --skip-git endif -$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o quantum/version.h) # Determine which subfolders exist. KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD) @@ -166,6 +165,11 @@ generated-files: $(KEYMAP_OUTPUT)/src/config.h $(KEYMAP_OUTPUT)/src/keymap.c endif +generated-files: $(KEYMAP_OUTPUT)/src/version.h +$(KEYMAP_OUTPUT)/src/version.h: + [ -d $(KEYMAP_OUTPUT)/src ] || mkdir -p $(KEYMAP_OUTPUT)/src + $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(KEYMAP_OUTPUT)/src/version.h + ifeq ($(strip $(CTPC)), yes) CONVERT_TO_PROTON_C=yes endif @@ -393,6 +397,7 @@ VPATH += $(KEYMAP_PATH) VPATH += $(USER_PATH) VPATH += $(KEYBOARD_PATHS) VPATH += $(COMMON_VPATH) +VPATH += $(KEYMAP_OUTPUT)/src include common_features.mk include $(BUILDDEFS_PATH)/generic_features.mk diff --git a/lib/python/qmk/cli/multibuild.py b/lib/python/qmk/cli/multibuild.py index 85ed0fa1e98f..ad059edff38b 100755 --- a/lib/python/qmk/cli/multibuild.py +++ b/lib/python/qmk/cli/multibuild.py @@ -32,6 +32,7 @@ def _is_split(keyboard_name): @cli.argument('-c', '--clean', arg_only=True, action='store_true', help="Remove object files before compiling.") @cli.argument('-f', '--filter', arg_only=True, action='append', default=[], help="Filter the list of keyboards based on the supplied value in rules.mk. Supported format is 'SPLIT_KEYBOARD=yes'. May be passed multiple times.") @cli.argument('-km', '--keymap', type=str, default='default', help="The keymap name to build. Default is 'default'.") +@cli.argument('-e', '--env', arg_only=True, action='append', default=[], help="Set a variable to be passed to make. May be passed multiple times.") @cli.subcommand('Compile QMK Firmware for all keyboards.', hidden=False if cli.config.user.developer else True) def multibuild(cli): """Compile QMK Firmware against all keyboards. @@ -68,7 +69,7 @@ def multibuild(cli): all: {keyboard_safe}_binary {keyboard_safe}_binary: @rm -f "{QMK_FIRMWARE}/.build/failed.log.{keyboard_safe}" || true - +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{cli.args.keymap}" REQUIRE_PLATFORM_KEY= COLOR=true SILENT=false \\ + +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{cli.args.keymap}" REQUIRE_PLATFORM_KEY= COLOR=true SILENT=false {' '.join(cli.args.env)} \\ >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" 2>&1 \\ || cp "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" "{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}" @{{ grep '\[ERRORS\]' "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{cli.args.keymap}" ; }} \\ From d6d48aa2aa201fc91f2d37477fa977046b21b595 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 2 Feb 2022 15:36:37 +1100 Subject: [PATCH 0154/1832] Remove old .gitignore entry. Add more macOS junk exclusions. (#16167) --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 768f40b1918c..8d065cc1c386 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ *.swp *~ .DS_Store +._* # Build artifacts .clang_complete @@ -19,7 +20,6 @@ # QMK-specific api_data/v1 doxygen/ -quantum/version.h *.bin *.eep *.hex From d4dc743a85641dd74c708aa12fb78b91035cc802 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 1 Feb 2022 20:44:42 -0800 Subject: [PATCH 0155/1832] Fix issues with Python Tests (#16162) * Reformat python due to yapf changes * Fix pytest keymap list test * revert formatting * Use contra, because, well https://www.reddit.com/r/MechanicalKeyboards/comments/8riofq/did_i_kill_my_contra/ --- lib/python/qmk/tests/test_cli_commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 2973f817022e..54b143c64fe2 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -113,7 +113,7 @@ def test_list_keymaps_community(): def test_list_keymaps_kb_only(): - result = check_subcommand('list-keymaps', '-kb', 'niu_mini') + result = check_subcommand('list-keymaps', '-kb', 'contra') check_returncode(result) assert 'default' and 'via' in result.stdout From 1bdc1c23c706bc65f62d4377abdcf000d2485de3 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 2 Feb 2022 16:21:07 +1100 Subject: [PATCH 0156/1832] Fixup builds so that teensy EEPROM knows which MCU it's targeting. (#16168) --- platforms/chibios/eeprom_teensy.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platforms/chibios/eeprom_teensy.h b/platforms/chibios/eeprom_teensy.h index ead5998b2987..9a14a1fa79e5 100755 --- a/platforms/chibios/eeprom_teensy.h +++ b/platforms/chibios/eeprom_teensy.h @@ -2,6 +2,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once +#include +#include + #if defined(K20x) /* Teensy 3.0, 3.1, 3.2; mchck; infinity keyboard */ // The EEPROM is really RAM with a hardware-based backup system to From 96dbbc04393f454d2fb30f43c8d2386d081eb6c8 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Tue, 1 Feb 2022 21:25:32 -0800 Subject: [PATCH 0157/1832] Format code according to conventions (#16169) --- keyboards/keyten/kt60_m/kt60_m.c | 34 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/keyboards/keyten/kt60_m/kt60_m.c b/keyboards/keyten/kt60_m/kt60_m.c index 63a7f8d6b6d8..7d4f7614c839 100644 --- a/keyboards/keyten/kt60_m/kt60_m.c +++ b/keyboards/keyten/kt60_m/kt60_m.c @@ -1,18 +1,18 @@ - /* Copyright 2022 Ivan Gromov (@key10iq) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - + /* Copyright 2022 Ivan Gromov (@key10iq) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + #include "kt60_m.h" \ No newline at end of file From 0be2eaf1745e42fc5ebf19656cef40708ca19b3c Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 3 Feb 2022 19:22:49 +1100 Subject: [PATCH 0158/1832] Create a build error if no bootloader is specified. (#16181) * Create a build error if no bootloader is specified. * Update builddefs/bootloader.mk Co-authored-by: Ryan Co-authored-by: Ryan --- builddefs/bootloader.mk | 11 ++++++++++- platforms/avr/bootloaders/{none.c => custom.c} | 0 platforms/chibios/bootloaders/{none.c => custom.c} | 2 -- 3 files changed, 10 insertions(+), 3 deletions(-) rename platforms/avr/bootloaders/{none.c => custom.c} (100%) rename platforms/chibios/bootloaders/{none.c => custom.c} (88%) diff --git a/builddefs/bootloader.mk b/builddefs/bootloader.mk index 470febc34607..56ef7ff5d81e 100644 --- a/builddefs/bootloader.mk +++ b/builddefs/bootloader.mk @@ -38,9 +38,18 @@ # RISC-V: # gd32v-dfu GD32V USB DFU in ROM # +# If you need to provide your own implementation, you can set inside `rules.mk` +# `BOOTLOADER = custom` -- you'll need to provide your own implementations. See +# the respective file under `platforms//bootloaders/custom.c` to see +# which functions may be overridden. +# # BOOTLOADER_SIZE can still be defined manually, but it's recommended # you add any possible configuration to this list +ifeq ($(strip $(BOOTLOADER)), custom) + OPT_DEFS += -DBOOTLOADER_CUSTOM + BOOTLOADER_TYPE = custom +endif ifeq ($(strip $(BOOTLOADER)), atmel-dfu) OPT_DEFS += -DBOOTLOADER_ATMEL_DFU OPT_DEFS += -DBOOTLOADER_DFU @@ -195,5 +204,5 @@ ifeq ($(strip $(BOOTLOADER)), md-boot) endif ifeq ($(strip $(BOOTLOADER_TYPE)),) - BOOTLOADER_TYPE = none + $(error No bootloader specified. Please set an appropriate 'BOOTLOADER' in your keyboard's 'rules.mk' file) endif diff --git a/platforms/avr/bootloaders/none.c b/platforms/avr/bootloaders/custom.c similarity index 100% rename from platforms/avr/bootloaders/none.c rename to platforms/avr/bootloaders/custom.c diff --git a/platforms/chibios/bootloaders/none.c b/platforms/chibios/bootloaders/custom.c similarity index 88% rename from platforms/chibios/bootloaders/none.c rename to platforms/chibios/bootloaders/custom.c index 8379d35abfb4..bba9fc4637db 100644 --- a/platforms/chibios/bootloaders/none.c +++ b/platforms/chibios/bootloaders/custom.c @@ -16,8 +16,6 @@ #include "bootloader.h" -#pragma message "Unknown bootloader set, you may not be able to enter bootloader using software reset" - __attribute__((weak)) void bootloader_jump(void) {} __attribute__((weak)) void enter_bootloader_mode_if_requested(void) {} From db43e450771f4eefe27821a88cc86df46c1006c1 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Fri, 4 Feb 2022 07:36:02 +1100 Subject: [PATCH 0159/1832] Ensure `version.h` is recreated each build. (#16188) --- build_keyboard.mk | 11 +++++------ lib/python/qmk/cli/generate/version_h.py | 3 +++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/build_keyboard.mk b/build_keyboard.mk index a5e20853b3a7..80c295d9be71 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk @@ -45,6 +45,9 @@ ifdef SKIP_GIT VERSION_H_FLAGS := --skip-git endif +# Generate the board's version.h file. +$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(KEYMAP_OUTPUT)/src/version.h) + # Determine which subfolders exist. KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD) KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1))) @@ -165,13 +168,8 @@ generated-files: $(KEYMAP_OUTPUT)/src/config.h $(KEYMAP_OUTPUT)/src/keymap.c endif -generated-files: $(KEYMAP_OUTPUT)/src/version.h -$(KEYMAP_OUTPUT)/src/version.h: - [ -d $(KEYMAP_OUTPUT)/src ] || mkdir -p $(KEYMAP_OUTPUT)/src - $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(KEYMAP_OUTPUT)/src/version.h - ifeq ($(strip $(CTPC)), yes) - CONVERT_TO_PROTON_C=yes + CONVERT_TO_PROTON_C=yes endif ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes) @@ -397,6 +395,7 @@ VPATH += $(KEYMAP_PATH) VPATH += $(USER_PATH) VPATH += $(KEYBOARD_PATHS) VPATH += $(COMMON_VPATH) +VPATH += $(KEYBOARD_OUTPUT)/src VPATH += $(KEYMAP_OUTPUT)/src include common_features.mk diff --git a/lib/python/qmk/cli/generate/version_h.py b/lib/python/qmk/cli/generate/version_h.py index b8e52588c454..69341e36f084 100644 --- a/lib/python/qmk/cli/generate/version_h.py +++ b/lib/python/qmk/cli/generate/version_h.py @@ -20,6 +20,9 @@ def generate_version_h(cli): version_h = create_version_h(cli.args.skip_git, cli.args.skip_all) if cli.args.output: + cli.args.output.parent.mkdir(parents=True, exist_ok=True) + if cli.args.output.exists(): + cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak')) cli.args.output.write_text(version_h) if not cli.args.quiet: From 8927d5660650878804cf3c7d1a6dee7f3acf5ecf Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 4 Feb 2022 17:55:58 +0000 Subject: [PATCH 0160/1832] Update outputselect to use platform connected state API (#16185) --- drivers/bluetooth/outputselect.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/drivers/bluetooth/outputselect.c b/drivers/bluetooth/outputselect.c index cdd2e64cfdb7..44bc4a9aa309 100644 --- a/drivers/bluetooth/outputselect.c +++ b/drivers/bluetooth/outputselect.c @@ -13,10 +13,7 @@ along with this program. If not, see . */ #include "outputselect.h" - -#if defined(PROTOCOL_LUFA) -# include "lufa.h" -#endif +#include "usb_util.h" #ifdef BLUETOOTH_BLUEFRUIT_LE # include "bluefruit_le.h" @@ -39,18 +36,12 @@ void set_output(uint8_t output) { */ __attribute__((weak)) void set_output_user(uint8_t output) {} -static bool is_usb_configured(void) { -#if defined(PROTOCOL_LUFA) - return USB_DeviceState == DEVICE_STATE_Configured; -#endif -} - /** \brief Auto Detect Output * * FIXME: Needs doc */ uint8_t auto_detect_output(void) { - if (is_usb_configured()) { + if (usb_connected_state()) { return OUTPUT_USB; } From 580ef6d88f22478112417c4ab3c1ee50211167d2 Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Fri, 4 Feb 2022 21:08:50 +0300 Subject: [PATCH 0161/1832] ChibiOS timer fixes (#16017) * chibios/timer: Move the 16-bit timer handling into a separate function Extract the code which effectively makes a 32-bit tick counter from a possibly 16-bit ChibiOS system timer into a separate function. Does not really change the behavior of the timer API, but makes the actions done in `timer_clear()` and `timer_read32()` more obvious. * chibios/timer: Rename some variable to better reflect their role * chibios/timer: Fix 32-bit tick counter overflow handling The QMK timer API implementation for ChibiOS used a 32-bit tick counter (obtained from the ChibiOS system timer) and then converted the value to milliseconds to produce the timer value for QMK. However, the frequency of the ChibiOS timer is above 1000 Hz in most cases (values of 10000 Hz or even 100000 Hz are typically used), and therefore the 32-bit tick counter was overflowing and wrapping around much earlier than expected (after about 5 days for 10000 Hz, or about 12 hours for 100000 Hz). When this wraparound happened, the QMK timer value was jumping back to zero, which broke various code dealing with timers (e.g., deferred executors). Just making the tick counter 64-bit to avoid the overflow is not a good solution, because the ChibiOS code which performs the conversion from ticks to milliseconds may encounter overflows when handling a 64-bit value. Adjusting just the value converted to milliseconds to account for lost 2**32 ticks is also not possible, because 2**32 ticks may not correspond to an integer number of milliseconds. Therefore the tick counter overflow is handled as follows: - A reasonably large number of ticks (the highest multiple of the ChibiOS timer frequency that fits into uint32_t) is subtracted from the tick counter, so that its value is again brought below 2**32. The subtracted value is chosen so that it would correspond to an integer number of seconds, therefore it could be converted to milliseconds without any loss of precision. - The equivalent number of milliseconds is then added to the converted QMK timer value, so that the QMK timer continues to count milliseconds as it was before the tick counter overflow. * chibios/timer: Add a virtual timer to make 16-bit timer updates more reliable The code which extends the 16-bit ChibiOS system timer to a 32-bit tick counter requires that it is called at least once for every overflow of the system timer (otherwise the tick counter can skip one or more overflow periods). Normally this requirement is satisfied just from various parts of QMK code reading the current timer value; however, in some rare circumstances the QMK code may be blocked waiting for some event, and when this situation is combined with having a rather high timer frequency, this may result in improper timekeeping. Enhance the timer reliability by adding a ChibiOS virtual timer which invokes a callback every half of the timer overflow period. The virtual timer callback can be invoked even when the normal QMK code is blocked; the only requirement is that the timer interrupts are enabled, and the ChibiOS kernel is not locked for an excessive time (but the timer update will eventually work correctly if the virtual timer handling is not delayed by more than a half of the timer overflow period). Keeping a virtual timer always active also works around a ChibiOS bug that can manifest with a 16-bit system timer and a relatively high timer frequency: when all active virtual timers have delays longer than the timer overflow period, the handling of virtual timers stops completely. In QMK this bug can result in a `wait_ms()` call with a delay larger than the timer overflow period just hanging indefinitely. However, when the timer update code adds a virtual timer with a shorter delay, all other virtual timers are also handled properly. --- platforms/chibios/timer.c | 100 +++++++++++++++++++++++++++++--------- 1 file changed, 77 insertions(+), 23 deletions(-) diff --git a/platforms/chibios/timer.c b/platforms/chibios/timer.c index 9f664e1f7983..74fdd7a6fce9 100644 --- a/platforms/chibios/timer.c +++ b/platforms/chibios/timer.c @@ -2,44 +2,98 @@ #include "timer.h" -static uint32_t reset_point = 0; +static uint32_t ticks_offset = 0; +static uint32_t last_ticks = 0; +static uint32_t ms_offset = 0; #if CH_CFG_ST_RESOLUTION < 32 static uint32_t last_systime = 0; static uint32_t overflow = 0; #endif -void timer_init(void) { timer_clear(); } - -void timer_clear(void) { - reset_point = (uint32_t)chVTGetSystemTime(); -#if CH_CFG_ST_RESOLUTION < 32 - last_systime = reset_point; - overflow = 0; -#endif -} - -uint16_t timer_read(void) { return (uint16_t)timer_read32(); } - -uint32_t timer_read32(void) { - uint32_t systime = (uint32_t)chVTGetSystemTime(); +// Get the current system time in ticks as a 32-bit number. +// This function must be called from within a system lock zone (so that it can safely use and update the static data). +static inline uint32_t get_system_time_ticks(void) { + uint32_t systime = (uint32_t)chVTGetSystemTimeX(); #if CH_CFG_ST_RESOLUTION < 32 - // If/when we need to support 64-bit chips, this may need to be modified to match the native bit-ness of the MCU. - // At this point, the only SysTick resolution allowed other than 32 is 16 bit. - // In the 16-bit case, at: + // If the real system timer resolution is less than 32 bits, provide the missing bits by checking for the counter + // overflow. For this to work, this function must be called at least once for every overflow of the system timer. + // In the 16-bit case, the corresponding times are: // - CH_CFG_ST_FREQUENCY = 100000, overflow will occur every ~0.65 seconds // - CH_CFG_ST_FREQUENCY = 10000, overflow will occur every ~6.5 seconds // - CH_CFG_ST_FREQUENCY = 1000, overflow will occur every ~65 seconds - // With this implementation, as long as we ensure a timer read happens at least once during the overflow period, timing should be accurate. if (systime < last_systime) { overflow += ((uint32_t)1) << CH_CFG_ST_RESOLUTION; } - last_systime = systime; - return (uint32_t)TIME_I2MS(systime - reset_point + overflow); -#else - return (uint32_t)TIME_I2MS(systime - reset_point); + systime += overflow; #endif + + return systime; +} + +#if CH_CFG_ST_RESOLUTION < 32 +static virtual_timer_t update_timer; + +// Update the system tick counter every half of the timer overflow period; this should keep the tick counter correct +// even if something blocks timer interrupts for 1/2 of the timer overflow period. +# define UPDATE_INTERVAL (((sysinterval_t)1) << (CH_CFG_ST_RESOLUTION - 1)) + +// VT callback function to keep the overflow bits of the system tick counter updated. +static void update_fn(void *arg) { + (void)arg; + chSysLockFromISR(); + get_system_time_ticks(); + chVTSetI(&update_timer, UPDATE_INTERVAL, update_fn, NULL); + chSysUnlockFromISR(); +} +#endif + +// The highest multiple of CH_CFG_ST_FREQUENCY that fits into uint32_t. This number of ticks will necessarily +// correspond to some integer number of seconds. +#define OVERFLOW_ADJUST_TICKS ((uint32_t)((UINT32_MAX / CH_CFG_ST_FREQUENCY) * CH_CFG_ST_FREQUENCY)) + +// The time in milliseconds which corresponds to OVERFLOW_ADJUST_TICKS ticks (this is a precise conversion, because +// OVERFLOW_ADJUST_TICKS corresponds to an integer number of seconds). +#define OVERFLOW_ADJUST_MS (TIME_I2MS(OVERFLOW_ADJUST_TICKS)) + +void timer_init(void) { + timer_clear(); +#if CH_CFG_ST_RESOLUTION < 32 + chVTObjectInit(&update_timer); + chVTSet(&update_timer, UPDATE_INTERVAL, update_fn, NULL); +#endif +} + +void timer_clear(void) { + chSysLock(); + ticks_offset = get_system_time_ticks(); + last_ticks = 0; + ms_offset = 0; + chSysUnlock(); +} + +uint16_t timer_read(void) { return (uint16_t)timer_read32(); } + +uint32_t timer_read32(void) { + chSysLock(); + uint32_t ticks = get_system_time_ticks() - ticks_offset; + if (ticks < last_ticks) { + // The 32-bit tick counter overflowed and wrapped around. We cannot just extend the counter to 64 bits here, + // because TIME_I2MS() may encounter overflows when handling a 64-bit argument; therefore the solution here is + // to subtract a reasonably large number of ticks from the tick counter to bring its value below the 32-bit + // limit again, and then add the equivalent number of milliseconds to the converted value. (Adjusting just the + // converted value to account for 2**32 ticks is not possible in general, because 2**32 ticks may not correspond + // to an integer number of milliseconds). + ticks -= OVERFLOW_ADJUST_TICKS; + ticks_offset += OVERFLOW_ADJUST_TICKS; + ms_offset += OVERFLOW_ADJUST_MS; + } + last_ticks = ticks; + uint32_t ms_offset_copy = ms_offset; // read while still holding the lock to ensure a consistent value + chSysUnlock(); + + return (uint32_t)TIME_I2MS(ticks) + ms_offset_copy; } uint16_t timer_elapsed(uint16_t last) { return TIMER_DIFF_16(timer_read(), last); } From 135c93599036bbe646a69b568eef9219823a4be9 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 4 Feb 2022 18:10:00 +0000 Subject: [PATCH 0162/1832] Initial migration of suspend callbacks (#16067) * Initial migration of suspend logic * Add header --- platforms/arm_atsam/suspend.c | 36 --------------------------- platforms/avr/suspend.c | 42 ++++++++++--------------------- platforms/chibios/suspend.c | 28 --------------------- platforms/common.mk | 1 + platforms/suspend.c | 47 +++++++++++++++++++++++++++++++++++ quantum/quantum.c | 23 ----------------- 6 files changed, 61 insertions(+), 116 deletions(-) create mode 100644 platforms/suspend.c diff --git a/platforms/arm_atsam/suspend.c b/platforms/arm_atsam/suspend.c index 73bebc4308f5..de2285bc5f69 100644 --- a/platforms/arm_atsam/suspend.c +++ b/platforms/arm_atsam/suspend.c @@ -3,18 +3,6 @@ #include "md_rgb_matrix.h" #include "suspend.h" -/** \brief Run user level Power down - * - * FIXME: needs doc - */ -__attribute__((weak)) void suspend_power_down_user(void) {} - -/** \brief Run keyboard level Power down - * - * FIXME: needs doc - */ -__attribute__((weak)) void suspend_power_down_kb(void) { suspend_power_down_user(); } - /** \brief Suspend power down * * FIXME: needs doc @@ -27,30 +15,6 @@ void suspend_power_down(void) { suspend_power_down_kb(); } -__attribute__((weak)) void matrix_power_up(void) {} -__attribute__((weak)) void matrix_power_down(void) {} -bool suspend_wakeup_condition(void) { - matrix_power_up(); - matrix_scan(); - matrix_power_down(); - for (uint8_t r = 0; r < MATRIX_ROWS; r++) { - if (matrix_get_row(r)) return true; - } - return false; -} - -/** \brief run user level code immediately after wakeup - * - * FIXME: needs doc - */ -__attribute__((weak)) void suspend_wakeup_init_user(void) {} - -/** \brief run keyboard level code immediately after wakeup - * - * FIXME: needs doc - */ -__attribute__((weak)) void suspend_wakeup_init_kb(void) { suspend_wakeup_init_user(); } - /** \brief run immediately after wakeup * * FIXME: needs doc diff --git a/platforms/avr/suspend.c b/platforms/avr/suspend.c index 7b164a34b1a1..b61597943936 100644 --- a/platforms/avr/suspend.c +++ b/platforms/avr/suspend.c @@ -2,12 +2,9 @@ #include #include #include -#include "matrix.h" -#include "action.h" #include "suspend.h" +#include "action.h" #include "timer.h" -#include "led.h" -#include "host.h" #ifdef PROTOCOL_LUFA # include "lufa.h" @@ -78,6 +75,18 @@ static void power_down(uint8_t wdto) { // Disable watchdog after sleep wdt_disable(); } + +/* watchdog timeout */ +ISR(WDT_vect) { + // compensate timer for sleep + switch (wdt_timeout) { + case WDTO_15MS: + timer_count += 15 + 2; // WDTO_15MS + 2(from observation) + break; + default:; + } +} + #endif /** \brief Suspend power down @@ -102,18 +111,6 @@ void suspend_power_down(void) { #endif } -__attribute__((weak)) void matrix_power_up(void) {} -__attribute__((weak)) void matrix_power_down(void) {} -bool suspend_wakeup_condition(void) { - matrix_power_up(); - matrix_scan(); - matrix_power_down(); - for (uint8_t r = 0; r < MATRIX_ROWS; r++) { - if (matrix_get_row(r)) return true; - } - return false; -} - /** \brief run immediately after wakeup * * FIXME: needs doc @@ -124,16 +121,3 @@ void suspend_wakeup_init(void) { suspend_wakeup_init_quantum(); } - -#if !defined(NO_SUSPEND_POWER_DOWN) && defined(WDT_vect) -/* watchdog timeout */ -ISR(WDT_vect) { - // compensate timer for sleep - switch (wdt_timeout) { - case WDTO_15MS: - timer_count += 15 + 2; // WDTO_15MS + 2(from observation) - break; - default:; - } -} -#endif diff --git a/platforms/chibios/suspend.c b/platforms/chibios/suspend.c index d10ddf450156..ce03433e3a2d 100644 --- a/platforms/chibios/suspend.c +++ b/platforms/chibios/suspend.c @@ -25,34 +25,6 @@ void suspend_power_down(void) { wait_ms(17); } -/** \brief suspend wakeup condition - * - * FIXME: needs doc - */ -__attribute__((weak)) void matrix_power_up(void) {} -__attribute__((weak)) void matrix_power_down(void) {} -bool suspend_wakeup_condition(void) { - matrix_power_up(); - matrix_scan(); - matrix_power_down(); - for (uint8_t r = 0; r < MATRIX_ROWS; r++) { - if (matrix_get_row(r)) return true; - } - return false; -} - -/** \brief run user level code immediately after wakeup - * - * FIXME: needs doc - */ -__attribute__((weak)) void suspend_wakeup_init_user(void) {} - -/** \brief run keyboard level code immediately after wakeup - * - * FIXME: needs doc - */ -__attribute__((weak)) void suspend_wakeup_init_kb(void) { suspend_wakeup_init_user(); } - /** \brief suspend wakeup condition * * run immediately after wakeup diff --git a/platforms/common.mk b/platforms/common.mk index 12ab45f82352..2a1fc8d377be 100644 --- a/platforms/common.mk +++ b/platforms/common.mk @@ -1,6 +1,7 @@ PLATFORM_COMMON_DIR = $(PLATFORM_PATH)/$(PLATFORM_KEY) TMK_COMMON_SRC += \ + $(PLATFORM_PATH)/suspend.c \ $(PLATFORM_COMMON_DIR)/platform.c \ $(PLATFORM_COMMON_DIR)/suspend.c \ $(PLATFORM_COMMON_DIR)/timer.c \ diff --git a/platforms/suspend.c b/platforms/suspend.c new file mode 100644 index 000000000000..cd773764fab0 --- /dev/null +++ b/platforms/suspend.c @@ -0,0 +1,47 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "suspend.h" +#include "matrix.h" + +// TODO: Move to more correct location +__attribute__((weak)) void matrix_power_up(void) {} +__attribute__((weak)) void matrix_power_down(void) {} + +/** \brief Run user level Power down + * + * FIXME: needs doc + */ +__attribute__((weak)) void suspend_power_down_user(void) {} + +/** \brief Run keyboard level Power down + * + * FIXME: needs doc + */ +__attribute__((weak)) void suspend_power_down_kb(void) { suspend_power_down_user(); } + +/** \brief run user level code immediately after wakeup + * + * FIXME: needs doc + */ +__attribute__((weak)) void suspend_wakeup_init_user(void) {} + +/** \brief run keyboard level code immediately after wakeup + * + * FIXME: needs doc + */ +__attribute__((weak)) void suspend_wakeup_init_kb(void) { suspend_wakeup_init_user(); } + +/** \brief suspend wakeup condition + * + * FIXME: needs doc + */ +bool suspend_wakeup_condition(void) { + matrix_power_up(); + matrix_scan(); + matrix_power_down(); + for (uint8_t r = 0; r < MATRIX_ROWS; r++) { + if (matrix_get_row(r)) return true; + } + return false; +} diff --git a/quantum/quantum.c b/quantum/quantum.c index ca3e4027dc62..fb6220efa268 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -381,17 +381,6 @@ __attribute__((weak)) void startup_user() {} __attribute__((weak)) void shutdown_user() {} -/** \brief Run keyboard level Power down - * - * FIXME: needs doc - */ -__attribute__((weak)) void suspend_power_down_user(void) {} -/** \brief Run keyboard level Power down - * - * FIXME: needs doc - */ -__attribute__((weak)) void suspend_power_down_kb(void) { suspend_power_down_user(); } - void suspend_power_down_quantum(void) { #ifndef NO_SUSPEND_POWER_DOWN // Turn off backlight @@ -439,18 +428,6 @@ void suspend_power_down_quantum(void) { #endif } -/** \brief run user level code immediately after wakeup - * - * FIXME: needs doc - */ -__attribute__((weak)) void suspend_wakeup_init_user(void) {} - -/** \brief run keyboard level code immediately after wakeup - * - * FIXME: needs doc - */ -__attribute__((weak)) void suspend_wakeup_init_kb(void) { suspend_wakeup_init_user(); } - __attribute__((weak)) void suspend_wakeup_init_quantum(void) { // Turn on backlight #ifdef BACKLIGHT_ENABLE From 6a35788b636ba226edc2b41f5db29ceafd531b5b Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sat, 5 Feb 2022 02:55:51 +0800 Subject: [PATCH 0163/1832] [Core] Add Pixel Flow RGB matrix effect (#15829) * Initial PIXEL FLOW matrix effect commit * Commit suggested use of rgb_matrix_check_finished_leds Co-authored-by: Sergey Vlasov * Code change support for split RGB Co-authored-by: Sergey Vlasov --- docs/feature_rgb_matrix.md | 2 + docs/squeezing_avr.md | 1 + .../rgb_matrix/animations/pixel_flow_anim.h | 51 +++++++++++++++++++ .../animations/rgb_matrix_effects.inc | 1 + 4 files changed, 55 insertions(+) create mode 100644 quantum/rgb_matrix/animations/pixel_flow_anim.h diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 3384aa718017..0e2e68233f14 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -455,6 +455,7 @@ enum rgb_matrix_effects { RGB_MATRIX_HUE_PENDULUM, // Hue shifts up a slight ammount in a wave to the right, then back to the left RGB_MATRIX_HUE_WAVE, // Hue shifts up a slight ammount and then back down in a wave to the right RGB_MATRIX_PIXEL_FRACTAL, // Single hue fractal filled keys pulsing horizontally out to edges + RGB_MATRIX_PIXEL_FLOW, // Pulsing RGB flow along LED wiring with random hues RGB_MATRIX_PIXEL_RAIN, // Randomly light keys with random hues #if define(RGB_MATRIX_FRAMEBUFFER_EFFECTS) RGB_MATRIX_TYPING_HEATMAP, // How hot is your WPM! @@ -510,6 +511,7 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_RGB_MATRIX_HUE_PENDULUM` |Enables `RGB_MATRIX_HUE_PENDULUM` | |`#define ENABLE_RGB_MATRIX_HUE_WAVE` |Enables `RGB_MATRIX_HUE_WAVE ` | |`#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL` |Enables `RGB_MATRIX_PIXEL_FRACTAL` | +|`#define ENABLE_RGB_MATRIX_PIXEL_FLOW` |Enables `RGB_MATRIX_PIXEL_FLOW` | |`#define ENABLE_RGB_MATRIX_PIXEL_RAIN` |Enables `RGB_MATRIX_PIXEL_RAIN` | ?> These modes don't require any additional defines. diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md index e4d8d7c1465c..4a147e0c6641 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -147,6 +147,7 @@ For RGB Matrix, these need to be explicitly enabled as well. To disable any that #undef ENABLE_RGB_MATRIX_HUE_PENDULUM #undef ENABLE_RGB_MATRIX_HUE_WAVE #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL +#undef ENABLE_RGB_MATRIX_PIXEL_FLOW #undef ENABLE_RGB_MATRIX_PIXEL_RAIN #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP diff --git a/quantum/rgb_matrix/animations/pixel_flow_anim.h b/quantum/rgb_matrix/animations/pixel_flow_anim.h new file mode 100644 index 000000000000..0e81cd011158 --- /dev/null +++ b/quantum/rgb_matrix/animations/pixel_flow_anim.h @@ -0,0 +1,51 @@ +// Copyright 2022 @filterpaper +// SPDX-License-Identifier: GPL-2.0+ + +#ifdef ENABLE_RGB_MATRIX_PIXEL_FLOW +RGB_MATRIX_EFFECT(PIXEL_FLOW) +# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS + +static bool PIXEL_FLOW(effect_params_t* params) { + // LED state array + static RGB led[DRIVER_LED_TOTAL]; + + static uint32_t wait_timer = 0; + if (wait_timer > g_rgb_timer) { + return false; + } + + inline uint32_t interval(void) { + return 3000 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); + } + + if (params->init) { + // Clear LEDs and fill the state array + rgb_matrix_set_color_all(0, 0, 0); + for (uint8_t j = 0; j < DRIVER_LED_TOTAL; ++j) { + led[j] = (random8() & 2) ? (RGB){0,0,0} : hsv_to_rgb((HSV){random8(), qadd8(random8() >> 1, 127), rgb_matrix_config.hsv.v}); + } + } + + RGB_MATRIX_USE_LIMITS(led_min, led_max); + // Light LEDs based on state array + for (uint8_t i = led_min; i < led_max; ++i) { + RGB_MATRIX_TEST_LED_FLAGS(); + rgb_matrix_set_color(i, led[i].r, led[i].g, led[i].b); + } + + if (!rgb_matrix_check_finished_leds(led_max)) { + // Shift LED state forward + for (uint8_t j = 0; j < led_max-1; ++j) { + led[j] = led[j+1]; + } + // Fill last LED + led[led_max-1] = (random8() & 2) ? (RGB){0,0,0} : hsv_to_rgb((HSV){random8(), qadd8(random8() >> 1, 127), rgb_matrix_config.hsv.v}); + // Set pulse timer + wait_timer = g_rgb_timer + interval(); + } + + return rgb_matrix_check_finished_leds(led_max); +} + +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_PIXEL_FLOW diff --git a/quantum/rgb_matrix/animations/rgb_matrix_effects.inc b/quantum/rgb_matrix/animations/rgb_matrix_effects.inc index 27ce34723511..ac7bac428d1e 100644 --- a/quantum/rgb_matrix/animations/rgb_matrix_effects.inc +++ b/quantum/rgb_matrix/animations/rgb_matrix_effects.inc @@ -27,6 +27,7 @@ #include "hue_pendulum_anim.h" #include "hue_wave_anim.h" #include "pixel_rain_anim.h" +#include "pixel_flow_anim.h" #include "pixel_fractal_anim.h" #include "typing_heatmap_anim.h" #include "digital_rain_anim.h" From b4ceefde37bd0c5c003e04ab780bb826df93fb7a Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Fri, 4 Feb 2022 11:23:30 -0800 Subject: [PATCH 0164/1832] Format code according to conventions (#16211) --- quantum/rgb_matrix/animations/pixel_flow_anim.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/quantum/rgb_matrix/animations/pixel_flow_anim.h b/quantum/rgb_matrix/animations/pixel_flow_anim.h index 0e81cd011158..312c87628c70 100644 --- a/quantum/rgb_matrix/animations/pixel_flow_anim.h +++ b/quantum/rgb_matrix/animations/pixel_flow_anim.h @@ -14,15 +14,13 @@ static bool PIXEL_FLOW(effect_params_t* params) { return false; } - inline uint32_t interval(void) { - return 3000 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); - } + inline uint32_t interval(void) { return 3000 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); } if (params->init) { // Clear LEDs and fill the state array rgb_matrix_set_color_all(0, 0, 0); for (uint8_t j = 0; j < DRIVER_LED_TOTAL; ++j) { - led[j] = (random8() & 2) ? (RGB){0,0,0} : hsv_to_rgb((HSV){random8(), qadd8(random8() >> 1, 127), rgb_matrix_config.hsv.v}); + led[j] = (random8() & 2) ? (RGB){0, 0, 0} : hsv_to_rgb((HSV){random8(), qadd8(random8() >> 1, 127), rgb_matrix_config.hsv.v}); } } @@ -35,11 +33,11 @@ static bool PIXEL_FLOW(effect_params_t* params) { if (!rgb_matrix_check_finished_leds(led_max)) { // Shift LED state forward - for (uint8_t j = 0; j < led_max-1; ++j) { - led[j] = led[j+1]; + for (uint8_t j = 0; j < led_max - 1; ++j) { + led[j] = led[j + 1]; } // Fill last LED - led[led_max-1] = (random8() & 2) ? (RGB){0,0,0} : hsv_to_rgb((HSV){random8(), qadd8(random8() >> 1, 127), rgb_matrix_config.hsv.v}); + led[led_max - 1] = (random8() & 2) ? (RGB){0, 0, 0} : hsv_to_rgb((HSV){random8(), qadd8(random8() >> 1, 127), rgb_matrix_config.hsv.v}); // Set pulse timer wait_timer = g_rgb_timer + interval(); } From 8fd8b2dc92a01b86a8e9ff3c37baeba760312140 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sat, 5 Feb 2022 07:36:57 +1100 Subject: [PATCH 0165/1832] Skip categorisation of PR if it's only for code formatting. (#16215) --- lib/python/qmk/cli/generate/develop_pr_list.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/python/qmk/cli/generate/develop_pr_list.py b/lib/python/qmk/cli/generate/develop_pr_list.py index fab026277348..09236a7c42ff 100755 --- a/lib/python/qmk/cli/generate/develop_pr_list.py +++ b/lib/python/qmk/cli/generate/develop_pr_list.py @@ -12,6 +12,14 @@ clean1_expr = re.compile(r'\[(develop|keyboard|keymap|core|cli|bug|docs|feature)\]', flags=re.IGNORECASE) clean2_expr = re.compile(r'^(develop|keyboard|keymap|core|cli|bug|docs|feature):', flags=re.IGNORECASE) +ignored_titles = ["Format code according to conventions"] + + +def _is_ignored(title): + for ignore in ignored_titles: + if ignore in title: + return + def _get_pr_info(cache, gh, pr_num): pull = cache.get(f'pull:{pr_num}') @@ -81,7 +89,9 @@ def fix_or_normal(info, fixes_collection, normal_collection): else: normal_collection.append(info) - if "dependencies" in commit_info['pr_labels']: + if _is_ignored(commit_info['title']): + return + elif "dependencies" in commit_info['pr_labels']: fix_or_normal(commit_info, pr_list_bugs, pr_list_dependencies) elif "core" in commit_info['pr_labels']: fix_or_normal(commit_info, pr_list_bugs, pr_list_core) From f1cd2a5a89454ee11f71bd4c71807e7bb041b202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= Date: Fri, 4 Feb 2022 23:25:57 +0100 Subject: [PATCH 0166/1832] ChibiOS: add support for HID Programmable Buttons (#15787) * ChibiOS: add support for HID Programmable Buttons Fixes #15596 * Enable SHARED_ENDPOINT when PROGRAMMABLE_BUTTON is enabled The Programmable Button driver expects the shared EP to be enabled. So enforce this invariant. --- tmk_core/protocol.mk | 5 +++++ tmk_core/protocol/chibios/chibios.c | 3 ++- tmk_core/protocol/chibios/usb_main.c | 29 ++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/tmk_core/protocol.mk b/tmk_core/protocol.mk index 31a6de76f104..19fd7d242594 100644 --- a/tmk_core/protocol.mk +++ b/tmk_core/protocol.mk @@ -28,6 +28,11 @@ ifeq ($(strip $(EXTRAKEY_ENABLE)), yes) SHARED_EP_ENABLE = yes endif +ifeq ($(strip $(PROGRAMMABLE_BUTTON_ENABLE)), yes) + TMK_COMMON_DEFS += -DPROGRAMMABLE_BUTTON_ENABLE + SHARED_EP_ENABLE = yes +endif + ifeq ($(strip $(RAW_ENABLE)), yes) TMK_COMMON_DEFS += -DRAW_ENABLE endif diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index 41752b21304f..b6cff05e9fd5 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c @@ -60,10 +60,11 @@ void send_keyboard(report_keyboard_t *report); void send_mouse(report_mouse_t *report); void send_system(uint16_t data); void send_consumer(uint16_t data); +void send_programmable_button(uint32_t data); void send_digitizer(report_digitizer_t *report); /* host struct */ -host_driver_t chibios_driver = {keyboard_leds, send_keyboard, send_mouse, send_system, send_consumer}; +host_driver_t chibios_driver = {keyboard_leds, send_keyboard, send_mouse, send_system, send_consumer, send_programmable_button}; #ifdef VIRTSER_ENABLE void virtser_task(void); diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index 541c44b574e2..30bfac9f3e74 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -975,6 +975,35 @@ void send_consumer(uint16_t data) { #endif } +void send_programmable_button(uint32_t data) { +#ifdef PROGRAMMABLE_BUTTON_ENABLE + osalSysLock(); + if (usbGetDriverStateI(&USB_DRIVER) != USB_ACTIVE) { + osalSysUnlock(); + return; + } + + if (usbGetTransmitStatusI(&USB_DRIVER, SHARED_IN_EPNUM)) { + /* Need to either suspend, or loop and call unlock/lock during + * every iteration - otherwise the system will remain locked, + * no interrupts served, so USB not going through as well. + * Note: for suspend, need USB_USE_WAIT == TRUE in halconf.h */ + if (osalThreadSuspendTimeoutS(&(&USB_DRIVER)->epc[SHARED_IN_EPNUM]->in_state->thread, TIME_MS2I(10)) == MSG_TIMEOUT) { + osalSysUnlock(); + return; + } + } + static report_programmable_button_t report = { + .report_id = REPORT_ID_PROGRAMMABLE_BUTTON, + }; + + report.usage = data; + + usbStartTransmitI(&USB_DRIVER, SHARED_IN_EPNUM, (uint8_t *)&report, sizeof(report)); + osalSysUnlock(); +#endif +} + void send_digitizer(report_digitizer_t *report) { #ifdef DIGITIZER_ENABLE # ifdef DIGITIZER_SHARED_EP From e987ce16525137efb50ce02a6552384851b49f88 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sat, 5 Feb 2022 12:32:31 +1100 Subject: [PATCH 0167/1832] Standardise error output. (#16220) --- build_keyboard.mk | 2 +- build_layout.mk | 2 +- builddefs/bootloader.mk | 2 +- builddefs/message.mk | 5 +++++ common_features.mk | 28 ++++++++++++++-------------- 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/build_keyboard.mk b/build_keyboard.mk index 80c295d9be71..f727760465e5 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk @@ -140,7 +140,7 @@ ifeq ("$(wildcard $(KEYMAP_PATH))", "") # If we haven't found a keymap yet fall back to community layouts include build_layout.mk else - $(error Could not find keymap) + $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) # this state should never be reached endif endif diff --git a/build_layout.mk b/build_layout.mk index b4b00793eadc..6166bd847c59 100644 --- a/build_layout.mk +++ b/build_layout.mk @@ -25,7 +25,7 @@ ifneq ($(FORCE_LAYOUT),) $(info Forcing layout: $(FORCE_LAYOUT)) LAYOUTS := $(FORCE_LAYOUT) else - $(error Forced layout does not exist) + $(call CATASTROPHIC_ERROR,Invalid layout,Forced layout does not exist) endif endif diff --git a/builddefs/bootloader.mk b/builddefs/bootloader.mk index 56ef7ff5d81e..226213297e7c 100644 --- a/builddefs/bootloader.mk +++ b/builddefs/bootloader.mk @@ -204,5 +204,5 @@ ifeq ($(strip $(BOOTLOADER)), md-boot) endif ifeq ($(strip $(BOOTLOADER_TYPE)),) - $(error No bootloader specified. Please set an appropriate 'BOOTLOADER' in your keyboard's 'rules.mk' file) + $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,No bootloader specified. Please set an appropriate 'BOOTLOADER' in your keyboard's 'rules.mk' file.) endif diff --git a/builddefs/message.mk b/builddefs/message.mk index 1187491452df..d441f560be7b 100644 --- a/builddefs/message.mk +++ b/builddefs/message.mk @@ -101,3 +101,8 @@ MSG_FLASH_ARCH = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's architecture is n MSG_BOOTLOADER_NOT_FOUND = $(ERROR_COLOR)ERROR:$(NO_COLOR) $(MSG_BOOTLOADER_NOT_FOUND_BASE) Trying again in 5s (Ctrl+C to cancel)\n BOOTLOADER_RETRY_TIME ?= 0.5 MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY = $(MSG_BOOTLOADER_NOT_FOUND_BASE) Trying again every $(BOOTLOADER_RETRY_TIME)s (Ctrl+C to cancel) + +define CATASTROPHIC_ERROR + $(shell printf "\n * %-99s $(ERROR_STRING)\n" "$2" >&2) + $(error $1) +endef \ No newline at end of file diff --git a/common_features.mk b/common_features.mk index 5c5e6a9a255c..7b1ee2e742a3 100644 --- a/common_features.mk +++ b/common_features.mk @@ -112,7 +112,7 @@ VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick cirque_p POINTING_DEVICE_DRIVER ?= custom ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(filter $(POINTING_DEVICE_DRIVER),$(VALID_POINTING_DEVICE_DRIVER_TYPES)),) - $(error POINTING_DEVICE_DRIVER="$(POINTING_DEVICE_DRIVER)" is not a valid pointing device type) + $(call CATASTROPHIC_ERROR,Invalid POINTING_DEVICE_DRIVER,POINTING_DEVICE_DRIVER="$(POINTING_DEVICE_DRIVER)" is not a valid pointing device type) else OPT_DEFS += -DPOINTING_DEVICE_ENABLE MOUSE_ENABLE := yes @@ -153,7 +153,7 @@ endif VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi EEPROM_DRIVER ?= vendor ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),) - $(error EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver) + $(call CATASTROPHIC_ERROR,Invalid EEPROM_DRIVER,EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver) else OPT_DEFS += -DEEPROM_ENABLE ifeq ($(strip $(EEPROM_DRIVER)), custom) @@ -231,7 +231,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) RGBLIGHT_DRIVER ?= WS2812 ifeq ($(filter $(RGBLIGHT_DRIVER),$(VALID_RGBLIGHT_TYPES)),) - $(error RGBLIGHT_DRIVER="$(RGBLIGHT_DRIVER)" is not a valid RGB type) + $(call CATASTROPHIC_ERROR,Invalid RGBLIGHT_DRIVER,RGBLIGHT_DRIVER="$(RGBLIGHT_DRIVER)" is not a valid RGB type) else COMMON_VPATH += $(QUANTUM_DIR)/rgblight POST_CONFIG_H += $(QUANTUM_DIR)/rgblight/rgblight_post_config.h @@ -261,7 +261,7 @@ VALID_LED_MATRIX_TYPES := IS31FL3731 custom ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),) - $(error "$(LED_MATRIX_DRIVER)" is not a valid matrix type) + $(call CATASTROPHIC_ERROR,Invalid LED_MATRIX_DRIVER,LED_MATRIX_DRIVER="$(LED_MATRIX_DRIVER)" is not a valid matrix type) endif OPT_DEFS += -DLED_MATRIX_ENABLE ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) @@ -290,7 +290,7 @@ VALID_RGB_MATRIX_TYPES := AW20216 IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 CK ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) - $(error "$(RGB_MATRIX_DRIVER)" is not a valid matrix type) + $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type) endif OPT_DEFS += -DRGB_MATRIX_ENABLE ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) @@ -404,7 +404,7 @@ else endif ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) ifeq ($(filter $(BACKLIGHT_DRIVER),$(VALID_BACKLIGHT_TYPES)),) - $(error BACKLIGHT_DRIVER="$(BACKLIGHT_DRIVER)" is not a valid backlight type) + $(call CATASTROPHIC_ERROR,Invalid BACKLIGHT_DRIVER,BACKLIGHT_DRIVER="$(BACKLIGHT_DRIVER)" is not a valid backlight type) endif COMMON_VPATH += $(QUANTUM_DIR)/backlight @@ -429,7 +429,7 @@ VALID_WS2812_DRIVER_TYPES := bitbang pwm spi i2c WS2812_DRIVER ?= bitbang ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),) - $(error WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver) + $(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver) endif OPT_DEFS += -DWS2812_DRIVER_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]')) @@ -484,7 +484,7 @@ VALID_MAGIC_TYPES := yes BOOTMAGIC_ENABLE ?= no ifneq ($(strip $(BOOTMAGIC_ENABLE)), no) ifeq ($(filter $(BOOTMAGIC_ENABLE),$(VALID_MAGIC_TYPES)),) - $(error BOOTMAGIC_ENABLE="$(BOOTMAGIC_ENABLE)" is not a valid type of magic) + $(call CATASTROPHIC_ERROR,Invalid BOOTMAGIC_ENABLE,BOOTMAGIC_ENABLE="$(BOOTMAGIC_ENABLE)" is not a valid type of magic) endif ifneq ($(strip $(BOOTMAGIC_ENABLE)), no) OPT_DEFS += -DBOOTMAGIC_LITE @@ -500,7 +500,7 @@ CUSTOM_MATRIX ?= no ifneq ($(strip $(CUSTOM_MATRIX)), yes) ifeq ($(filter $(CUSTOM_MATRIX),$(VALID_CUSTOM_MATRIX_TYPES)),) - $(error CUSTOM_MATRIX="$(CUSTOM_MATRIX)" is not a valid custom matrix type) + $(call CATASTROPHIC_ERROR,Invalid CUSTOM_MATRIX,CUSTOM_MATRIX="$(CUSTOM_MATRIX)" is not a valid custom matrix type) endif # Include common stuff for all non custom matrix users @@ -583,7 +583,7 @@ VALID_OLED_DRIVER_TYPES := SSD1306 custom OLED_DRIVER ?= SSD1306 ifeq ($(strip $(OLED_ENABLE)), yes) ifeq ($(filter $(OLED_DRIVER),$(VALID_OLED_DRIVER_TYPES)),) - $(error OLED_DRIVER="$(OLED_DRIVER)" is not a valid OLED driver) + $(call CATASTROPHIC_ERROR,Invalid OLED_DRIVER,OLED_DRIVER="$(OLED_DRIVER)" is not a valid OLED driver) else OPT_DEFS += -DOLED_ENABLE COMMON_VPATH += $(DRIVER_PATH)/oled @@ -680,7 +680,7 @@ VALID_JOYSTICK_TYPES := analog digital JOYSTICK_DRIVER ?= analog ifeq ($(strip $(JOYSTICK_ENABLE)), yes) ifeq ($(filter $(JOYSTICK_DRIVER),$(VALID_JOYSTICK_TYPES)),) - $(error "$(JOYSTICK_DRIVER)" is not a valid joystick driver) + $(call CATASTROPHIC_ERROR,Invalid JOYSTICK_DRIVER,JOYSTICK_DRIVER="$(JOYSTICK_DRIVER)" is not a valid joystick driver) endif OPT_DEFS += -DJOYSTICK_ENABLE SRC += $(QUANTUM_DIR)/process_keycode/process_joystick.c @@ -700,7 +700,7 @@ VALID_USBPD_DRIVER_TYPES = custom vendor USBPD_DRIVER ?= vendor ifeq ($(strip $(USBPD_ENABLE)), yes) ifeq ($(filter $(strip $(USBPD_DRIVER)),$(VALID_USBPD_DRIVER_TYPES)),) - $(error USBPD_DRIVER="$(USBPD_DRIVER)" is not a valid USBPD driver) + $(call CATASTROPHIC_ERROR,Invalid USBPD_DRIVER,USBPD_DRIVER="$(USBPD_DRIVER)" is not a valid USBPD driver) else OPT_DEFS += -DUSBPD_ENABLE ifeq ($(strip $(USBPD_DRIVER)), vendor) @@ -710,7 +710,7 @@ ifeq ($(strip $(USBPD_ENABLE)), yes) OPT_DEFS += -DUSBPD_STM32G4 SRC += usbpd_stm32g4.c else - $(error There is no vendor-provided USBPD driver available) + $(call CATASTROPHIC_ERROR,Invalid USBPD_DRIVER,There is no vendor-provided USBPD driver available) endif else ifeq ($(strip $(USBPD_DRIVER)), custom) OPT_DEFS += -DUSBPD_CUSTOM @@ -723,7 +723,7 @@ BLUETOOTH_ENABLE ?= no VALID_BLUETOOTH_DRIVER_TYPES := BluefruitLE RN42 custom ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) ifeq ($(filter $(strip $(BLUETOOTH_DRIVER)),$(VALID_BLUETOOTH_DRIVER_TYPES)),) - $(error "$(BLUETOOTH_DRIVER)" is not a valid Bluetooth driver type) + $(call CATASTROPHIC_ERROR,Invalid BLUETOOTH_DRIVER,BLUETOOTH_DRIVER="$(BLUETOOTH_DRIVER)" is not a valid Bluetooth driver type) endif OPT_DEFS += -DBLUETOOTH_ENABLE NO_USB_STARTUP_CHECK := yes From d31dd6d2a0b226193439696a8483edfaacf00450 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sat, 5 Feb 2022 12:51:23 +1100 Subject: [PATCH 0168/1832] Followup to #16220, more test error output. (#16221) --- platforms/avr/platform.mk | 2 +- platforms/chibios/platform.mk | 2 +- testlist.mk | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/platforms/avr/platform.mk b/platforms/avr/platform.mk index b45108736f10..4d9cafaeef4a 100644 --- a/platforms/avr/platform.mk +++ b/platforms/avr/platform.mk @@ -159,7 +159,7 @@ endif bootloader: ifeq ($(strip $(QMK_BOOTLOADER_TYPE)),) - $(error Please set BOOTLOADER to "qmk-dfu" or "qmk-hid" first!) + $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,Please set BOOTLOADER to "qmk-dfu" or "qmk-hid" first!) else make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ clean $(QMK_BIN) generate-dfu-header --quiet --keyboard $(KEYBOARD) --output lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/Keyboard.h diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk index 45e337788229..6fd1fd83f5ad 100644 --- a/platforms/chibios/platform.mk +++ b/platforms/chibios/platform.mk @@ -344,7 +344,7 @@ ifeq ($(strip $(MCU)), risc-v) ifneq ($(shell which riscv64-unknown-elf-gcc 2>/dev/null),) TOOLCHAIN = riscv64-unknown-elf- else - $(error "No RISC-V toolchain found. Can't find riscv32-unknown-elf-gcc or riscv64-unknown-elf-gcc found in your systems PATH variable. Please install a valid toolchain and make it accessible!") + $(call CATASTROPHIC_ERROR,Missing toolchain,No RISC-V toolchain found. Can't find riscv32-unknown-elf-gcc or riscv64-unknown-elf-gcc found in your systems PATH variable. Please install a valid toolchain and make it accessible!) endif endif endif diff --git a/testlist.mk b/testlist.mk index 904485c15ced..86da5668ac9a 100644 --- a/testlist.mk +++ b/testlist.mk @@ -8,7 +8,7 @@ include $(PLATFORM_PATH)/test/testlist.mk define VALIDATE_TEST_LIST ifneq ($1,) ifeq ($$(findstring -,$1),-) - $$(error Test names can't contain '-', but '$1' does) + $$(call CATASTROPHIC_ERROR,Invalid test name,Test names can't contain '-', but '$1' does.) else $$(eval $$(call VALIDATE_TEST_LIST,$$(firstword $2),$$(wordlist 2,9999,$2))) endif From eb8ace0855b36be04d2fc348a9afde7f74d64d1a Mon Sep 17 00:00:00 2001 From: Adam Lickel Date: Fri, 4 Feb 2022 19:08:48 -0800 Subject: [PATCH 0169/1832] RGB Matrix: Reload from EEPROM (#15923) Co-authored-by: Sergey Vlasov --- docs/feature_rgb_matrix.md | 1 + quantum/rgb_matrix/rgb_matrix.c | 10 ++++++++++ quantum/rgb_matrix/rgb_matrix.h | 3 +++ 3 files changed, 14 insertions(+) diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 0e2e68233f14..53729ccc2965 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -709,6 +709,7 @@ Where `28` is an unused index from `eeconfig.h`. |`rgb_matrix_decrease_speed_noeeprom()` |Decrease the speed of the animations (not written to EEPROM) | |`rgb_matrix_set_speed(speed)` |Set the speed of the animations to the given value where `speed` is between 0 and 255 | |`rgb_matrix_set_speed_noeeprom(speed)` |Set the speed of the animations to the given value where `speed` is between 0 and 255 (not written to EEPROM) | +|`rgb_matrix_reload_from_eeprom()` |Reload the effect configuration (enabled, mode and color) from EEPROM | ### Change Color :id=change-color |Function |Description | diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 51e9554e2dc4..5a4556f09752 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -164,6 +164,16 @@ void eeconfig_debug_rgb_matrix(void) { dprintf("rgb_matrix_config.flags = %d\n", rgb_matrix_config.flags); } +void rgb_matrix_reload_from_eeprom(void) { + rgb_matrix_disable_noeeprom(); + /* Reset back to what we have in eeprom */ + eeconfig_init_rgb_matrix(); + eeconfig_debug_rgb_matrix(); // display current eeprom values + if (rgb_matrix_config.enable) { + rgb_matrix_mode_noeeprom(rgb_matrix_config.mode); + } +} + __attribute__((weak)) uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) { return 0; } uint8_t rgb_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *led_i) { diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index a804d99abcc2..3cd77857be93 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -136,6 +136,8 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max); void rgb_matrix_init(void); +void rgb_matrix_reload_from_eeprom(void); + void rgb_matrix_set_suspend_state(bool state); bool rgb_matrix_get_suspend_state(void); void rgb_matrix_toggle(void); @@ -182,6 +184,7 @@ void rgb_matrix_set_flags(led_flags_t flags); #ifndef RGBLIGHT_ENABLE # define eeconfig_update_rgblight_current eeconfig_update_rgb_matrix +# define rgblight_reload_from_eeprom rgb_matrix_reload_from_eeprom # define rgblight_toggle rgb_matrix_toggle # define rgblight_toggle_noeeprom rgb_matrix_toggle_noeeprom # define rgblight_enable rgb_matrix_enable From e16dd1bcc0cc17b9c99996e2830dda194899a204 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sat, 5 Feb 2022 03:23:27 +0000 Subject: [PATCH 0170/1832] add version.h to gitignore (#16222) --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8d065cc1c386..e3a02fe8f6d6 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ # QMK-specific api_data/v1 doxygen/ +quantum/version.h *.bin *.eep *.hex From f4f3bf81c79516b3ad1a0e8c05ef8986f8b546eb Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 5 Feb 2022 16:55:24 +1100 Subject: [PATCH 0171/1832] Add missing `BOOTLOADER` for a handful of boards (#16225) --- keyboards/ez_maker/directpins/teensy_32/info.json | 1 + keyboards/ez_maker/directpins/teensy_lc/info.json | 1 + keyboards/handwired/twadlee/tp69/rules.mk | 3 +++ keyboards/keychron/q2/rev_0110/rules.mk | 3 +++ keyboards/keychron/q2/rev_0111/rules.mk | 3 +++ keyboards/keychron/q2/rev_0112/rules.mk | 3 +++ keyboards/keychron/q2/rev_0113/rules.mk | 3 +++ 7 files changed, 17 insertions(+) diff --git a/keyboards/ez_maker/directpins/teensy_32/info.json b/keyboards/ez_maker/directpins/teensy_32/info.json index 5cebcae1525c..0a6ac5c3745b 100644 --- a/keyboards/ez_maker/directpins/teensy_32/info.json +++ b/keyboards/ez_maker/directpins/teensy_32/info.json @@ -4,6 +4,7 @@ "maintainer": "skullydazed", "debounce": 5, "processor": "MK20DX256", + "bootloader": "halfkay", "features": { "bootmagic": true, "extrakey": true, diff --git a/keyboards/ez_maker/directpins/teensy_lc/info.json b/keyboards/ez_maker/directpins/teensy_lc/info.json index 856a462bb7d9..1e88239d4165 100644 --- a/keyboards/ez_maker/directpins/teensy_lc/info.json +++ b/keyboards/ez_maker/directpins/teensy_lc/info.json @@ -4,6 +4,7 @@ "maintainer": "skullydazed", "debounce": 5, "processor": "MKL26Z64", + "bootloader": "halfkay", "features": { "bootmagic": true, "extrakey": true, diff --git a/keyboards/handwired/twadlee/tp69/rules.mk b/keyboards/handwired/twadlee/tp69/rules.mk index 216e797c4b8e..a1c290cf15bf 100644 --- a/keyboards/handwired/twadlee/tp69/rules.mk +++ b/keyboards/handwired/twadlee/tp69/rules.mk @@ -1,6 +1,9 @@ # MCU name MCU = MKL26Z64 +# Bootloader selection +BOOTLOADER = halfkay + # Build Options # change yes to no to disable # diff --git a/keyboards/keychron/q2/rev_0110/rules.mk b/keyboards/keychron/q2/rev_0110/rules.mk index 957680ab110d..30394028b3c3 100644 --- a/keyboards/keychron/q2/rev_0110/rules.mk +++ b/keyboards/keychron/q2/rev_0110/rules.mk @@ -1,6 +1,9 @@ # MCU name MCU = STM32L433 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # diff --git a/keyboards/keychron/q2/rev_0111/rules.mk b/keyboards/keychron/q2/rev_0111/rules.mk index 3b931ef9fe21..a295f48e1055 100644 --- a/keyboards/keychron/q2/rev_0111/rules.mk +++ b/keyboards/keychron/q2/rev_0111/rules.mk @@ -1,6 +1,9 @@ # MCU name MCU = STM32L433 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # diff --git a/keyboards/keychron/q2/rev_0112/rules.mk b/keyboards/keychron/q2/rev_0112/rules.mk index 957680ab110d..30394028b3c3 100644 --- a/keyboards/keychron/q2/rev_0112/rules.mk +++ b/keyboards/keychron/q2/rev_0112/rules.mk @@ -1,6 +1,9 @@ # MCU name MCU = STM32L433 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # diff --git a/keyboards/keychron/q2/rev_0113/rules.mk b/keyboards/keychron/q2/rev_0113/rules.mk index 3b931ef9fe21..a295f48e1055 100644 --- a/keyboards/keychron/q2/rev_0113/rules.mk +++ b/keyboards/keychron/q2/rev_0113/rules.mk @@ -1,6 +1,9 @@ # MCU name MCU = STM32L433 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # From 3facf053248329fd4417de67f37486529c4a8af3 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 5 Feb 2022 22:43:22 +1100 Subject: [PATCH 0172/1832] Add `custom` to list of valid bootloader types in info.json (#16228) --- data/schemas/keyboard.jsonschema | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 132484b708ae..e61bc48bd044 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -57,7 +57,7 @@ }, "bootloader": { "type": "string", - "enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "md-boot", "micronucleus", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "gd32v-dfu", "wb32-dfu", "unknown", "usbasploader", "USBasp", "tinyuf2"], + "enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "custom", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "md-boot", "micronucleus", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "gd32v-dfu", "wb32-dfu", "unknown", "usbasploader", "USBasp", "tinyuf2"], }, "bootloader_instructions": { "type": "string", From b1debfb12f76759e96619c98116c9c59617c727a Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sat, 5 Feb 2022 14:29:15 +0000 Subject: [PATCH 0173/1832] Remove default pointing device driver. (#16190) * remove custom as default * add missing pointing_device_driver to rules.mk * Update docs --- common_features.mk | 1 - docs/feature_pointing_device.md | 10 ++++++++-- keyboards/3w6/rev2/keymaps/default_pimoroni/rules.mk | 1 + .../crkbd/keymaps/vlukash_trackpad_right/rules.mk | 1 + keyboards/dichotomy/rules.mk | 1 + keyboards/gergo/keymaps/abstractkb/rules.mk | 1 + keyboards/gergo/keymaps/default/rules.mk | 1 + keyboards/gergo/keymaps/germ/rules.mk | 1 + keyboards/gergo/keymaps/gotham/rules.mk | 1 + keyboards/gergo/keymaps/oled/rules.mk | 1 + keyboards/honeycomb/rules.mk | 1 + keyboards/molecule/rules.mk | 1 + keyboards/splitkb/kyria/keymaps/gotham/rules.mk | 1 + 13 files changed, 19 insertions(+), 3 deletions(-) diff --git a/common_features.mk b/common_features.mk index 7b1ee2e742a3..07e26a94468a 100644 --- a/common_features.mk +++ b/common_features.mk @@ -109,7 +109,6 @@ ifeq ($(strip $(MOUSEKEY_ENABLE)), yes) endif VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick cirque_pinnacle_i2c cirque_pinnacle_spi pmw3360 pmw3389 pimoroni_trackball custom -POINTING_DEVICE_DRIVER ?= custom ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(filter $(POINTING_DEVICE_DRIVER),$(VALID_POINTING_DEVICE_DRIVER_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid POINTING_DEVICE_DRIVER,POINTING_DEVICE_DRIVER="$(POINTING_DEVICE_DRIVER)" is not a valid pointing device type) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 1972406ff7cd..4b39599f8ab1 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -2,7 +2,7 @@ Pointing Device is a generic name for a feature intended to be generic: moving the system pointer around. There are certainly other options for it - like mousekeys - but this aims to be easily modifiable and hardware driven. You can implement custom keys to control functionality, or you can gather information from other peripherals and insert it directly here - let QMK handle the processing for you. -To enable Pointing Device, uncomment the following line in your rules.mk: +To enable Pointing Device, add the following line in your rules.mk and specify one of the driver options below. ```make POINTING_DEVICE_ENABLE = yes @@ -181,7 +181,13 @@ The CPI range is 50-16000, in increments of 50. Defaults to 2000 CPI. ### Custom Driver -If you have a sensor type that isn't supported here, you can manually implement it, by adding these functions (with the correct implementation for your device): +If you have a sensor type that isn't supported above, a custom option is available by adding the following to your `rules.mk` + +```make +POINTING_DEVICE_DRIVER = custom +``` + +Using the custom driver will require implementing the following functions: ```c void pointing_device_driver_init(void) {} diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/rules.mk b/keyboards/3w6/rev2/keymaps/default_pimoroni/rules.mk index 231a88371991..5b5f23fbce12 100644 --- a/keyboards/3w6/rev2/keymaps/default_pimoroni/rules.mk +++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/rules.mk @@ -1,3 +1,4 @@ POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = custom SRC += pimoroni_trackball.c MOUSEKEY_ENABLE = no diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/rules.mk b/keyboards/crkbd/keymaps/vlukash_trackpad_right/rules.mk index bd53c1921199..92ded45e93fb 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/rules.mk +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_right/rules.mk @@ -1,5 +1,6 @@ # Build Options POINTING_DEVICE_ENABLE = yes # Generic Pointer, not as big as mouse keys hopefully. +POINTING_DEVICE_DRIVER = custom MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. diff --git a/keyboards/dichotomy/rules.mk b/keyboards/dichotomy/rules.mk index a6029e3dbf17..420e409e4398 100755 --- a/keyboards/dichotomy/rules.mk +++ b/keyboards/dichotomy/rules.mk @@ -10,6 +10,7 @@ BOOTLOADER = caterina BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite #MOUSEKEY_ENABLE = yes # Mouse keys POINTING_DEVICE_ENABLE = yes # Generic Pointer, not as big as mouse keys hopefully. +POINTING_DEVICE_DRIVER = custom EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration diff --git a/keyboards/gergo/keymaps/abstractkb/rules.mk b/keyboards/gergo/keymaps/abstractkb/rules.mk index b87e599734a6..4b4e56c4a047 100644 --- a/keyboards/gergo/keymaps/abstractkb/rules.mk +++ b/keyboards/gergo/keymaps/abstractkb/rules.mk @@ -27,6 +27,7 @@ ifneq ($(strip $(SCROLLSTEP)),) endif ifeq ($(strip $(BALLER)), yes) POINTING_DEVICE_ENABLE = yes + POINTING_DEVICE_DRIVER = custom OPT_DEFS += -DBALLER endif ifeq ($(strip $(DEBUG_BALLER)), yes) diff --git a/keyboards/gergo/keymaps/default/rules.mk b/keyboards/gergo/keymaps/default/rules.mk index 351c5255835d..bc2b3cf43bdc 100644 --- a/keyboards/gergo/keymaps/default/rules.mk +++ b/keyboards/gergo/keymaps/default/rules.mk @@ -27,6 +27,7 @@ ifneq ($(strip $(SCROLLSTEP)),) endif ifeq ($(strip $(BALLER)), yes) POINTING_DEVICE_ENABLE = yes + POINTING_DEVICE_DRIVER = custom OPT_DEFS += -DBALLER endif ifeq ($(strip $(DEBUG_BALLER)), yes) diff --git a/keyboards/gergo/keymaps/germ/rules.mk b/keyboards/gergo/keymaps/germ/rules.mk index badfe7bb9988..0fd941bb53dd 100644 --- a/keyboards/gergo/keymaps/germ/rules.mk +++ b/keyboards/gergo/keymaps/germ/rules.mk @@ -28,6 +28,7 @@ endif ifeq ($(strip $(BALLER)), yes) OPT_DEFS += -DBALLER POINTING_DEVICE_ENABLE = yes + POINTING_DEVICE_DRIVER = custom endif ifeq ($(strip $(DEBUG_BALLER)), yes) OPT_DEFS += -DDEBUG_BALLER diff --git a/keyboards/gergo/keymaps/gotham/rules.mk b/keyboards/gergo/keymaps/gotham/rules.mk index 351c5255835d..bc2b3cf43bdc 100644 --- a/keyboards/gergo/keymaps/gotham/rules.mk +++ b/keyboards/gergo/keymaps/gotham/rules.mk @@ -27,6 +27,7 @@ ifneq ($(strip $(SCROLLSTEP)),) endif ifeq ($(strip $(BALLER)), yes) POINTING_DEVICE_ENABLE = yes + POINTING_DEVICE_DRIVER = custom OPT_DEFS += -DBALLER endif ifeq ($(strip $(DEBUG_BALLER)), yes) diff --git a/keyboards/gergo/keymaps/oled/rules.mk b/keyboards/gergo/keymaps/oled/rules.mk index 63180889885e..788041671962 100644 --- a/keyboards/gergo/keymaps/oled/rules.mk +++ b/keyboards/gergo/keymaps/oled/rules.mk @@ -29,6 +29,7 @@ ifneq ($(strip $(SCROLLSTEP)),) endif ifeq ($(strip $(BALLER)), yes) POINTING_DEVICE_ENABLE = yes + POINTING_DEVICE_DRIVER = custom OPT_DEFS += -DBALLER endif ifeq ($(strip $(DEBUG_BALLER)), yes) diff --git a/keyboards/honeycomb/rules.mk b/keyboards/honeycomb/rules.mk index a6029e3dbf17..420e409e4398 100755 --- a/keyboards/honeycomb/rules.mk +++ b/keyboards/honeycomb/rules.mk @@ -10,6 +10,7 @@ BOOTLOADER = caterina BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite #MOUSEKEY_ENABLE = yes # Mouse keys POINTING_DEVICE_ENABLE = yes # Generic Pointer, not as big as mouse keys hopefully. +POINTING_DEVICE_DRIVER = custom EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration diff --git a/keyboards/molecule/rules.mk b/keyboards/molecule/rules.mk index c4e48dfa15bb..8573995efbfb 100755 --- a/keyboards/molecule/rules.mk +++ b/keyboards/molecule/rules.mk @@ -19,5 +19,6 @@ AUDIO_ENABLE = no # Audio output # Add trackball support POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = custom SRC += adns.c QUANTUM_LIB_SRC += spi_master.c diff --git a/keyboards/splitkb/kyria/keymaps/gotham/rules.mk b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk index 81b7123ba56d..be3789ce9b0e 100644 --- a/keyboards/splitkb/kyria/keymaps/gotham/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk @@ -16,6 +16,7 @@ endif ifeq ($(strip $(THUMBSTICK_ENABLE)), yes) POINTING_DEVICE_ENABLE = yes + POINTING_DEVICE_DRIVER = custom OPT_DEFS += -DTHUMBSTICK_ENABLE SRC += analog.c SRC += thumbstick.c From 38e085df87820941bcfcdce3b3bc16e46855f557 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sun, 6 Feb 2022 13:16:21 +0800 Subject: [PATCH 0174/1832] move input club keyboards into vendor folder (#15788) --- keyboards/{ => input_club}/ergodox_infinity/MEMO.txt | 0 keyboards/{ => input_club}/ergodox_infinity/chconf.h | 0 keyboards/{ => input_club}/ergodox_infinity/config.h | 0 .../ergodox_infinity/ergodox_infinity.c | 0 .../ergodox_infinity/ergodox_infinity.h | 0 .../{ => input_club}/ergodox_infinity/halconf.h | 0 .../{ => input_club}/ergodox_infinity/info.json | 0 .../ergodox_infinity/keymaps/default/keymap.c | 0 .../ergodox_infinity/keymaps/dudeofawesome/README.md | 0 .../ergodox_infinity/keymaps/dudeofawesome/config.h | 0 .../ergodox_infinity/keymaps/dudeofawesome/keymap.c | 0 .../ergodox_infinity/keymaps/dudeofawesome/layers.h | 0 .../ergodox_infinity/keymaps/gordon/config.h | 0 .../ergodox_infinity/keymaps/gordon/keymap.c | 0 .../ergodox_infinity/keymaps/gordon/rules.mk | 0 .../ergodox_infinity/keymaps/halfkeyboard/config.h | 0 .../ergodox_infinity/keymaps/halfkeyboard/keymap.c | 0 .../ergodox_infinity/keymaps/halfkeyboard/rules.mk | 0 .../ergodox_infinity/keymaps/input_club/README.md | 0 .../ergodox_infinity/keymaps/input_club/keymap.c | 0 .../ergodox_infinity/keymaps/narze/config.h | 0 .../ergodox_infinity/keymaps/narze/default.png.md | 0 .../keymaps/narze/default_highres.png.md | 0 .../ergodox_infinity/keymaps/narze/keymap.c | 0 .../ergodox_infinity/keymaps/narze/readme.md | 0 .../ergodox_infinity/keymaps/narze/rules.mk | 0 .../ergodox_infinity/keymaps/narze/visualizer.c | 0 .../ergodox_infinity/keymaps/nordic_ergo/keymap.c | 0 .../ergodox_infinity/keymaps/nordic_ergo/readme.md | 0 .../ergodox_infinity/keymaps/not-quite-neo/keymap.c | 0 .../ergodox_infinity/keymaps/not-quite-neo/readme.md | 0 .../ergodox_infinity/keymaps/not-quite-neo/rules.mk | 0 .../ergodox_infinity/keymaps/rask/README.md | 0 .../ergodox_infinity/keymaps/rask/keymap.c | 0 .../ergodox_infinity/keymaps/rjhilgefort/keymap.c | 0 .../ergodox_infinity/keymaps/rjhilgefort/readme.md | 0 .../keymaps/trulyergonomic/README.md | 0 .../ergodox_infinity/keymaps/trulyergonomic/keymap.c | 0 .../{ => input_club}/ergodox_infinity/mcuconf.h | 0 .../{ => input_club}/ergodox_infinity/readme.md | 12 ++++++------ keyboards/{ => input_club}/ergodox_infinity/rules.mk | 0 keyboards/{ => input_club}/infinity60/chconf.h | 0 keyboards/{ => input_club}/infinity60/config.h | 0 keyboards/{ => input_club}/infinity60/halconf.h | 0 keyboards/{ => input_club}/infinity60/infinity60.c | 0 keyboards/{ => input_club}/infinity60/infinity60.h | 0 keyboards/{ => input_club}/infinity60/info.json | 0 .../infinity60/keymaps/default/keymap.c | 0 .../infinity60/keymaps/depariel/keymap.c | 0 .../infinity60/keymaps/hasu/keymap.c | 0 .../infinity60/keymaps/jpetermans/config.h | 0 .../infinity60/keymaps/jpetermans/keymap.c | 0 .../infinity60/keymaps/jpetermans/readme.md | 0 keyboards/{ => input_club}/infinity60/led.c | 0 keyboards/{ => input_club}/infinity60/led/config.h | 0 keyboards/{ => input_club}/infinity60/led/readme.md | 0 keyboards/{ => input_club}/infinity60/led/rules.mk | 0 .../{ => input_club}/infinity60/led_controller.c | 0 .../{ => input_club}/infinity60/led_controller.h | 0 keyboards/{ => input_club}/infinity60/mcuconf.h | 0 keyboards/{ => input_club}/infinity60/readme.md | 4 ++-- keyboards/{ => input_club}/infinity60/rev1/config.h | 0 keyboards/{ => input_club}/infinity60/rev1/readme.md | 0 keyboards/{ => input_club}/infinity60/rev1/rules.mk | 0 keyboards/{ => input_club}/infinity60/rules.mk | 2 +- keyboards/{ => input_club}/k_type/chconf.h | 0 keyboards/{ => input_club}/k_type/config.h | 0 keyboards/{ => input_club}/k_type/halconf.h | 0 keyboards/{ => input_club}/k_type/i2c_master.c | 0 keyboards/{ => input_club}/k_type/i2c_master.h | 0 keyboards/{ => input_club}/k_type/info.json | 0 keyboards/{ => input_club}/k_type/is31fl3733-dual.c | 0 keyboards/{ => input_club}/k_type/is31fl3733-dual.h | 0 keyboards/{ => input_club}/k_type/k_type-rgbdriver.c | 0 keyboards/{ => input_club}/k_type/k_type.c | 0 keyboards/{ => input_club}/k_type/k_type.h | 0 .../k_type/keymaps/andrew-fahmy/config.h | 0 .../k_type/keymaps/andrew-fahmy/keymap.c | 0 .../k_type/keymaps/andrew-fahmy/rules.mk | 0 .../{ => input_club}/k_type/keymaps/belak/keymap.c | 0 .../{ => input_club}/k_type/keymaps/default/keymap.c | 0 .../{ => input_club}/k_type/keymaps/default/rules.mk | 0 keyboards/{ => input_club}/k_type/mcuconf.h | 0 keyboards/{ => input_club}/k_type/readme.md | 4 ++-- keyboards/{ => input_club}/k_type/rules.mk | 0 .../{ => input_club}/whitefox/board_is31fl3731c.h | 0 keyboards/{ => input_club}/whitefox/chconf.h | 0 keyboards/{ => input_club}/whitefox/config.h | 0 keyboards/{ => input_club}/whitefox/halconf.h | 0 keyboards/{ => input_club}/whitefox/info.json | 0 .../whitefox/keymaps/billypython/config.h | 0 .../whitefox/keymaps/billypython/keymap.c | 0 .../whitefox/keymaps/billypython/rules.mk | 0 .../whitefox/keymaps/default/keymap.c | 0 .../whitefox/keymaps/dhertz/keymap.c | 0 .../whitefox/keymaps/dudeofawesome/keymap.c | 0 .../whitefox/keymaps/dudeofawesome/readme.md | 0 .../whitefox/keymaps/jetpacktuxedo/keymap.c | 0 .../whitefox/keymaps/jetpacktuxedo/readme.md | 0 .../whitefox/keymaps/jetpacktuxedo/rules.mk | 0 .../whitefox/keymaps/kim-kim/keymap.c | 0 .../whitefox/keymaps/konstantin/config.h | 0 .../whitefox/keymaps/konstantin/keymap.c | 0 .../whitefox/keymaps/konstantin/rules.mk | 0 .../whitefox/keymaps/matt3o/keymap.c | 0 .../whitefox/keymaps/mattrighetti/keymap.c | 0 .../whitefox/keymaps/mattrighetti/rules.mk | 0 keyboards/{ => input_club}/whitefox/mcuconf.h | 0 keyboards/{ => input_club}/whitefox/readme.md | 4 ++-- keyboards/{ => input_club}/whitefox/rules.mk | 0 keyboards/{ => input_club}/whitefox/whitefox.c | 0 keyboards/{ => input_club}/whitefox/whitefox.h | 0 112 files changed, 13 insertions(+), 13 deletions(-) rename keyboards/{ => input_club}/ergodox_infinity/MEMO.txt (100%) rename keyboards/{ => input_club}/ergodox_infinity/chconf.h (100%) rename keyboards/{ => input_club}/ergodox_infinity/config.h (100%) rename keyboards/{ => input_club}/ergodox_infinity/ergodox_infinity.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/ergodox_infinity.h (100%) rename keyboards/{ => input_club}/ergodox_infinity/halconf.h (100%) rename keyboards/{ => input_club}/ergodox_infinity/info.json (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/default/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/dudeofawesome/README.md (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/dudeofawesome/config.h (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/dudeofawesome/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/dudeofawesome/layers.h (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/gordon/config.h (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/gordon/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/gordon/rules.mk (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/halfkeyboard/config.h (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/halfkeyboard/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/halfkeyboard/rules.mk (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/input_club/README.md (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/input_club/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/narze/config.h (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/narze/default.png.md (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/narze/default_highres.png.md (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/narze/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/narze/readme.md (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/narze/rules.mk (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/narze/visualizer.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/nordic_ergo/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/nordic_ergo/readme.md (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/not-quite-neo/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/not-quite-neo/readme.md (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/not-quite-neo/rules.mk (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/rask/README.md (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/rask/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/rjhilgefort/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/rjhilgefort/readme.md (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/trulyergonomic/README.md (100%) rename keyboards/{ => input_club}/ergodox_infinity/keymaps/trulyergonomic/keymap.c (100%) rename keyboards/{ => input_club}/ergodox_infinity/mcuconf.h (100%) rename keyboards/{ => input_club}/ergodox_infinity/readme.md (83%) rename keyboards/{ => input_club}/ergodox_infinity/rules.mk (100%) rename keyboards/{ => input_club}/infinity60/chconf.h (100%) rename keyboards/{ => input_club}/infinity60/config.h (100%) rename keyboards/{ => input_club}/infinity60/halconf.h (100%) rename keyboards/{ => input_club}/infinity60/infinity60.c (100%) rename keyboards/{ => input_club}/infinity60/infinity60.h (100%) rename keyboards/{ => input_club}/infinity60/info.json (100%) rename keyboards/{ => input_club}/infinity60/keymaps/default/keymap.c (100%) rename keyboards/{ => input_club}/infinity60/keymaps/depariel/keymap.c (100%) rename keyboards/{ => input_club}/infinity60/keymaps/hasu/keymap.c (100%) rename keyboards/{ => input_club}/infinity60/keymaps/jpetermans/config.h (100%) rename keyboards/{ => input_club}/infinity60/keymaps/jpetermans/keymap.c (100%) rename keyboards/{ => input_club}/infinity60/keymaps/jpetermans/readme.md (100%) rename keyboards/{ => input_club}/infinity60/led.c (100%) rename keyboards/{ => input_club}/infinity60/led/config.h (100%) rename keyboards/{ => input_club}/infinity60/led/readme.md (100%) rename keyboards/{ => input_club}/infinity60/led/rules.mk (100%) rename keyboards/{ => input_club}/infinity60/led_controller.c (100%) rename keyboards/{ => input_club}/infinity60/led_controller.h (100%) rename keyboards/{ => input_club}/infinity60/mcuconf.h (100%) rename keyboards/{ => input_club}/infinity60/readme.md (86%) rename keyboards/{ => input_club}/infinity60/rev1/config.h (100%) rename keyboards/{ => input_club}/infinity60/rev1/readme.md (100%) rename keyboards/{ => input_club}/infinity60/rev1/rules.mk (100%) rename keyboards/{ => input_club}/infinity60/rules.mk (95%) rename keyboards/{ => input_club}/k_type/chconf.h (100%) rename keyboards/{ => input_club}/k_type/config.h (100%) rename keyboards/{ => input_club}/k_type/halconf.h (100%) rename keyboards/{ => input_club}/k_type/i2c_master.c (100%) rename keyboards/{ => input_club}/k_type/i2c_master.h (100%) rename keyboards/{ => input_club}/k_type/info.json (100%) rename keyboards/{ => input_club}/k_type/is31fl3733-dual.c (100%) rename keyboards/{ => input_club}/k_type/is31fl3733-dual.h (100%) rename keyboards/{ => input_club}/k_type/k_type-rgbdriver.c (100%) rename keyboards/{ => input_club}/k_type/k_type.c (100%) rename keyboards/{ => input_club}/k_type/k_type.h (100%) rename keyboards/{ => input_club}/k_type/keymaps/andrew-fahmy/config.h (100%) rename keyboards/{ => input_club}/k_type/keymaps/andrew-fahmy/keymap.c (100%) rename keyboards/{ => input_club}/k_type/keymaps/andrew-fahmy/rules.mk (100%) rename keyboards/{ => input_club}/k_type/keymaps/belak/keymap.c (100%) rename keyboards/{ => input_club}/k_type/keymaps/default/keymap.c (100%) rename keyboards/{ => input_club}/k_type/keymaps/default/rules.mk (100%) rename keyboards/{ => input_club}/k_type/mcuconf.h (100%) rename keyboards/{ => input_club}/k_type/readme.md (90%) rename keyboards/{ => input_club}/k_type/rules.mk (100%) rename keyboards/{ => input_club}/whitefox/board_is31fl3731c.h (100%) rename keyboards/{ => input_club}/whitefox/chconf.h (100%) rename keyboards/{ => input_club}/whitefox/config.h (100%) rename keyboards/{ => input_club}/whitefox/halconf.h (100%) rename keyboards/{ => input_club}/whitefox/info.json (100%) rename keyboards/{ => input_club}/whitefox/keymaps/billypython/config.h (100%) rename keyboards/{ => input_club}/whitefox/keymaps/billypython/keymap.c (100%) rename keyboards/{ => input_club}/whitefox/keymaps/billypython/rules.mk (100%) rename keyboards/{ => input_club}/whitefox/keymaps/default/keymap.c (100%) rename keyboards/{ => input_club}/whitefox/keymaps/dhertz/keymap.c (100%) rename keyboards/{ => input_club}/whitefox/keymaps/dudeofawesome/keymap.c (100%) rename keyboards/{ => input_club}/whitefox/keymaps/dudeofawesome/readme.md (100%) rename keyboards/{ => input_club}/whitefox/keymaps/jetpacktuxedo/keymap.c (100%) rename keyboards/{ => input_club}/whitefox/keymaps/jetpacktuxedo/readme.md (100%) rename keyboards/{ => input_club}/whitefox/keymaps/jetpacktuxedo/rules.mk (100%) rename keyboards/{ => input_club}/whitefox/keymaps/kim-kim/keymap.c (100%) rename keyboards/{ => input_club}/whitefox/keymaps/konstantin/config.h (100%) rename keyboards/{ => input_club}/whitefox/keymaps/konstantin/keymap.c (100%) rename keyboards/{ => input_club}/whitefox/keymaps/konstantin/rules.mk (100%) rename keyboards/{ => input_club}/whitefox/keymaps/matt3o/keymap.c (100%) rename keyboards/{ => input_club}/whitefox/keymaps/mattrighetti/keymap.c (100%) rename keyboards/{ => input_club}/whitefox/keymaps/mattrighetti/rules.mk (100%) rename keyboards/{ => input_club}/whitefox/mcuconf.h (100%) rename keyboards/{ => input_club}/whitefox/readme.md (87%) rename keyboards/{ => input_club}/whitefox/rules.mk (100%) rename keyboards/{ => input_club}/whitefox/whitefox.c (100%) rename keyboards/{ => input_club}/whitefox/whitefox.h (100%) diff --git a/keyboards/ergodox_infinity/MEMO.txt b/keyboards/input_club/ergodox_infinity/MEMO.txt similarity index 100% rename from keyboards/ergodox_infinity/MEMO.txt rename to keyboards/input_club/ergodox_infinity/MEMO.txt diff --git a/keyboards/ergodox_infinity/chconf.h b/keyboards/input_club/ergodox_infinity/chconf.h similarity index 100% rename from keyboards/ergodox_infinity/chconf.h rename to keyboards/input_club/ergodox_infinity/chconf.h diff --git a/keyboards/ergodox_infinity/config.h b/keyboards/input_club/ergodox_infinity/config.h similarity index 100% rename from keyboards/ergodox_infinity/config.h rename to keyboards/input_club/ergodox_infinity/config.h diff --git a/keyboards/ergodox_infinity/ergodox_infinity.c b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c similarity index 100% rename from keyboards/ergodox_infinity/ergodox_infinity.c rename to keyboards/input_club/ergodox_infinity/ergodox_infinity.c diff --git a/keyboards/ergodox_infinity/ergodox_infinity.h b/keyboards/input_club/ergodox_infinity/ergodox_infinity.h similarity index 100% rename from keyboards/ergodox_infinity/ergodox_infinity.h rename to keyboards/input_club/ergodox_infinity/ergodox_infinity.h diff --git a/keyboards/ergodox_infinity/halconf.h b/keyboards/input_club/ergodox_infinity/halconf.h similarity index 100% rename from keyboards/ergodox_infinity/halconf.h rename to keyboards/input_club/ergodox_infinity/halconf.h diff --git a/keyboards/ergodox_infinity/info.json b/keyboards/input_club/ergodox_infinity/info.json similarity index 100% rename from keyboards/ergodox_infinity/info.json rename to keyboards/input_club/ergodox_infinity/info.json diff --git a/keyboards/ergodox_infinity/keymaps/default/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/default/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c diff --git a/keyboards/ergodox_infinity/keymaps/dudeofawesome/README.md b/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/README.md similarity index 100% rename from keyboards/ergodox_infinity/keymaps/dudeofawesome/README.md rename to keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/README.md diff --git a/keyboards/ergodox_infinity/keymaps/dudeofawesome/config.h b/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/config.h similarity index 100% rename from keyboards/ergodox_infinity/keymaps/dudeofawesome/config.h rename to keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/config.h diff --git a/keyboards/ergodox_infinity/keymaps/dudeofawesome/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/dudeofawesome/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/keymap.c diff --git a/keyboards/ergodox_infinity/keymaps/dudeofawesome/layers.h b/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/layers.h similarity index 100% rename from keyboards/ergodox_infinity/keymaps/dudeofawesome/layers.h rename to keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/layers.h diff --git a/keyboards/ergodox_infinity/keymaps/gordon/config.h b/keyboards/input_club/ergodox_infinity/keymaps/gordon/config.h similarity index 100% rename from keyboards/ergodox_infinity/keymaps/gordon/config.h rename to keyboards/input_club/ergodox_infinity/keymaps/gordon/config.h diff --git a/keyboards/ergodox_infinity/keymaps/gordon/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/gordon/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c diff --git a/keyboards/ergodox_infinity/keymaps/gordon/rules.mk b/keyboards/input_club/ergodox_infinity/keymaps/gordon/rules.mk similarity index 100% rename from keyboards/ergodox_infinity/keymaps/gordon/rules.mk rename to keyboards/input_club/ergodox_infinity/keymaps/gordon/rules.mk diff --git a/keyboards/ergodox_infinity/keymaps/halfkeyboard/config.h b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/config.h similarity index 100% rename from keyboards/ergodox_infinity/keymaps/halfkeyboard/config.h rename to keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/config.h diff --git a/keyboards/ergodox_infinity/keymaps/halfkeyboard/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/halfkeyboard/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c diff --git a/keyboards/ergodox_infinity/keymaps/halfkeyboard/rules.mk b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/rules.mk similarity index 100% rename from keyboards/ergodox_infinity/keymaps/halfkeyboard/rules.mk rename to keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/rules.mk diff --git a/keyboards/ergodox_infinity/keymaps/input_club/README.md b/keyboards/input_club/ergodox_infinity/keymaps/input_club/README.md similarity index 100% rename from keyboards/ergodox_infinity/keymaps/input_club/README.md rename to keyboards/input_club/ergodox_infinity/keymaps/input_club/README.md diff --git a/keyboards/ergodox_infinity/keymaps/input_club/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/input_club/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c diff --git a/keyboards/ergodox_infinity/keymaps/narze/config.h b/keyboards/input_club/ergodox_infinity/keymaps/narze/config.h similarity index 100% rename from keyboards/ergodox_infinity/keymaps/narze/config.h rename to keyboards/input_club/ergodox_infinity/keymaps/narze/config.h diff --git a/keyboards/ergodox_infinity/keymaps/narze/default.png.md b/keyboards/input_club/ergodox_infinity/keymaps/narze/default.png.md similarity index 100% rename from keyboards/ergodox_infinity/keymaps/narze/default.png.md rename to keyboards/input_club/ergodox_infinity/keymaps/narze/default.png.md diff --git a/keyboards/ergodox_infinity/keymaps/narze/default_highres.png.md b/keyboards/input_club/ergodox_infinity/keymaps/narze/default_highres.png.md similarity index 100% rename from keyboards/ergodox_infinity/keymaps/narze/default_highres.png.md rename to keyboards/input_club/ergodox_infinity/keymaps/narze/default_highres.png.md diff --git a/keyboards/ergodox_infinity/keymaps/narze/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/narze/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c diff --git a/keyboards/ergodox_infinity/keymaps/narze/readme.md b/keyboards/input_club/ergodox_infinity/keymaps/narze/readme.md similarity index 100% rename from keyboards/ergodox_infinity/keymaps/narze/readme.md rename to keyboards/input_club/ergodox_infinity/keymaps/narze/readme.md diff --git a/keyboards/ergodox_infinity/keymaps/narze/rules.mk b/keyboards/input_club/ergodox_infinity/keymaps/narze/rules.mk similarity index 100% rename from keyboards/ergodox_infinity/keymaps/narze/rules.mk rename to keyboards/input_club/ergodox_infinity/keymaps/narze/rules.mk diff --git a/keyboards/ergodox_infinity/keymaps/narze/visualizer.c b/keyboards/input_club/ergodox_infinity/keymaps/narze/visualizer.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/narze/visualizer.c rename to keyboards/input_club/ergodox_infinity/keymaps/narze/visualizer.c diff --git a/keyboards/ergodox_infinity/keymaps/nordic_ergo/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/nordic_ergo/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c diff --git a/keyboards/ergodox_infinity/keymaps/nordic_ergo/readme.md b/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/readme.md similarity index 100% rename from keyboards/ergodox_infinity/keymaps/nordic_ergo/readme.md rename to keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/readme.md diff --git a/keyboards/ergodox_infinity/keymaps/not-quite-neo/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/not-quite-neo/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c diff --git a/keyboards/ergodox_infinity/keymaps/not-quite-neo/readme.md b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/readme.md similarity index 100% rename from keyboards/ergodox_infinity/keymaps/not-quite-neo/readme.md rename to keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/readme.md diff --git a/keyboards/ergodox_infinity/keymaps/not-quite-neo/rules.mk b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/rules.mk similarity index 100% rename from keyboards/ergodox_infinity/keymaps/not-quite-neo/rules.mk rename to keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/rules.mk diff --git a/keyboards/ergodox_infinity/keymaps/rask/README.md b/keyboards/input_club/ergodox_infinity/keymaps/rask/README.md similarity index 100% rename from keyboards/ergodox_infinity/keymaps/rask/README.md rename to keyboards/input_club/ergodox_infinity/keymaps/rask/README.md diff --git a/keyboards/ergodox_infinity/keymaps/rask/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/rask/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c diff --git a/keyboards/ergodox_infinity/keymaps/rjhilgefort/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/rjhilgefort/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c diff --git a/keyboards/ergodox_infinity/keymaps/rjhilgefort/readme.md b/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/readme.md similarity index 100% rename from keyboards/ergodox_infinity/keymaps/rjhilgefort/readme.md rename to keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/readme.md diff --git a/keyboards/ergodox_infinity/keymaps/trulyergonomic/README.md b/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/README.md similarity index 100% rename from keyboards/ergodox_infinity/keymaps/trulyergonomic/README.md rename to keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/README.md diff --git a/keyboards/ergodox_infinity/keymaps/trulyergonomic/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c similarity index 100% rename from keyboards/ergodox_infinity/keymaps/trulyergonomic/keymap.c rename to keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c diff --git a/keyboards/ergodox_infinity/mcuconf.h b/keyboards/input_club/ergodox_infinity/mcuconf.h similarity index 100% rename from keyboards/ergodox_infinity/mcuconf.h rename to keyboards/input_club/ergodox_infinity/mcuconf.h diff --git a/keyboards/ergodox_infinity/readme.md b/keyboards/input_club/ergodox_infinity/readme.md similarity index 83% rename from keyboards/ergodox_infinity/readme.md rename to keyboards/input_club/ergodox_infinity/readme.md index c51bdd7c82d5..1f8b6433403d 100644 --- a/keyboards/ergodox_infinity/readme.md +++ b/keyboards/input_club/ergodox_infinity/readme.md @@ -5,19 +5,19 @@ for the left and right halves seperately. To flash them: - Make sure you are in the top-level qmk_firmware directory - - Build the firmware with `make ergodox_infinity:keymapname` + - Build the firmware with `make input_club/ergodox_infinity:keymapname` - Plug in the left hand keyboard only. - Press the program button (back of keyboard, above thumb pad). - - Install the firmware with `sudo make ergodox_infinity:keymapname:dfu-util` + - Install the firmware with `sudo make input_club/ergodox_infinity:keymapname:dfu-util` - Plug in the right hand keyboard only. - Press the program button (back of keyboard, above thumb pad). - - Install the firmware with `sudo make ergodox_infinity:keymapname:dfu-util` + - Install the firmware with `sudo make input_club/ergodox_infinity:keymapname:dfu-util` More information on the Infinity firmware is available in the [TMK/chibios for Input Club Infinity Ergodox](https://github.com/fredizzimo/infinity_ergodox/blob/master/README.md) @@ -43,7 +43,7 @@ They only need to be done once, unless you reset the EEPROM later. - Plug in the left keyboard half to the computer, and press its program button. - - Flash the left half with `make ergodox_infinity:default:dfu-util-split-left` + - Flash the left half with `make input_club/ergodox_infinity:default:dfu-util-split-left` (If you need to use a different method to flash your keyboard, still run this command, and abort it with Ctrl+C when the flashing attempts starts to print errors, then flash the built firmware). @@ -53,13 +53,13 @@ They only need to be done once, unless you reset the EEPROM later. - Plug in the right keyboard half to the computer, and press its program button. - - Flash the right half with `make ergodox_infinity:default:dfu-util-split-right` + - Flash the right half with `make input_club/ergodox_infinity:default:dfu-util-split-right` - On the right half, press the top vertical 1.5U key (second from the top in the leftmost column) once, then the 1U key at the bottom in the opposite corner (bottom right corner). - Add `#define EE_HANDS` to the config.h file of your keymap, and build your firmware using - `make ergodox_infinity:keymapname`. + `make input_club/ergodox_infinity:keymapname`. - After this, you can flash both halves with the same firmware, _without_ risking a mirrored keyboard when connected the wrong way. If you reset your EEPROM later, you'll have to follow these steps again, though. diff --git a/keyboards/ergodox_infinity/rules.mk b/keyboards/input_club/ergodox_infinity/rules.mk similarity index 100% rename from keyboards/ergodox_infinity/rules.mk rename to keyboards/input_club/ergodox_infinity/rules.mk diff --git a/keyboards/infinity60/chconf.h b/keyboards/input_club/infinity60/chconf.h similarity index 100% rename from keyboards/infinity60/chconf.h rename to keyboards/input_club/infinity60/chconf.h diff --git a/keyboards/infinity60/config.h b/keyboards/input_club/infinity60/config.h similarity index 100% rename from keyboards/infinity60/config.h rename to keyboards/input_club/infinity60/config.h diff --git a/keyboards/infinity60/halconf.h b/keyboards/input_club/infinity60/halconf.h similarity index 100% rename from keyboards/infinity60/halconf.h rename to keyboards/input_club/infinity60/halconf.h diff --git a/keyboards/infinity60/infinity60.c b/keyboards/input_club/infinity60/infinity60.c similarity index 100% rename from keyboards/infinity60/infinity60.c rename to keyboards/input_club/infinity60/infinity60.c diff --git a/keyboards/infinity60/infinity60.h b/keyboards/input_club/infinity60/infinity60.h similarity index 100% rename from keyboards/infinity60/infinity60.h rename to keyboards/input_club/infinity60/infinity60.h diff --git a/keyboards/infinity60/info.json b/keyboards/input_club/infinity60/info.json similarity index 100% rename from keyboards/infinity60/info.json rename to keyboards/input_club/infinity60/info.json diff --git a/keyboards/infinity60/keymaps/default/keymap.c b/keyboards/input_club/infinity60/keymaps/default/keymap.c similarity index 100% rename from keyboards/infinity60/keymaps/default/keymap.c rename to keyboards/input_club/infinity60/keymaps/default/keymap.c diff --git a/keyboards/infinity60/keymaps/depariel/keymap.c b/keyboards/input_club/infinity60/keymaps/depariel/keymap.c similarity index 100% rename from keyboards/infinity60/keymaps/depariel/keymap.c rename to keyboards/input_club/infinity60/keymaps/depariel/keymap.c diff --git a/keyboards/infinity60/keymaps/hasu/keymap.c b/keyboards/input_club/infinity60/keymaps/hasu/keymap.c similarity index 100% rename from keyboards/infinity60/keymaps/hasu/keymap.c rename to keyboards/input_club/infinity60/keymaps/hasu/keymap.c diff --git a/keyboards/infinity60/keymaps/jpetermans/config.h b/keyboards/input_club/infinity60/keymaps/jpetermans/config.h similarity index 100% rename from keyboards/infinity60/keymaps/jpetermans/config.h rename to keyboards/input_club/infinity60/keymaps/jpetermans/config.h diff --git a/keyboards/infinity60/keymaps/jpetermans/keymap.c b/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c similarity index 100% rename from keyboards/infinity60/keymaps/jpetermans/keymap.c rename to keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c diff --git a/keyboards/infinity60/keymaps/jpetermans/readme.md b/keyboards/input_club/infinity60/keymaps/jpetermans/readme.md similarity index 100% rename from keyboards/infinity60/keymaps/jpetermans/readme.md rename to keyboards/input_club/infinity60/keymaps/jpetermans/readme.md diff --git a/keyboards/infinity60/led.c b/keyboards/input_club/infinity60/led.c similarity index 100% rename from keyboards/infinity60/led.c rename to keyboards/input_club/infinity60/led.c diff --git a/keyboards/infinity60/led/config.h b/keyboards/input_club/infinity60/led/config.h similarity index 100% rename from keyboards/infinity60/led/config.h rename to keyboards/input_club/infinity60/led/config.h diff --git a/keyboards/infinity60/led/readme.md b/keyboards/input_club/infinity60/led/readme.md similarity index 100% rename from keyboards/infinity60/led/readme.md rename to keyboards/input_club/infinity60/led/readme.md diff --git a/keyboards/infinity60/led/rules.mk b/keyboards/input_club/infinity60/led/rules.mk similarity index 100% rename from keyboards/infinity60/led/rules.mk rename to keyboards/input_club/infinity60/led/rules.mk diff --git a/keyboards/infinity60/led_controller.c b/keyboards/input_club/infinity60/led_controller.c similarity index 100% rename from keyboards/infinity60/led_controller.c rename to keyboards/input_club/infinity60/led_controller.c diff --git a/keyboards/infinity60/led_controller.h b/keyboards/input_club/infinity60/led_controller.h similarity index 100% rename from keyboards/infinity60/led_controller.h rename to keyboards/input_club/infinity60/led_controller.h diff --git a/keyboards/infinity60/mcuconf.h b/keyboards/input_club/infinity60/mcuconf.h similarity index 100% rename from keyboards/infinity60/mcuconf.h rename to keyboards/input_club/infinity60/mcuconf.h diff --git a/keyboards/infinity60/readme.md b/keyboards/input_club/infinity60/readme.md similarity index 86% rename from keyboards/infinity60/readme.md rename to keyboards/input_club/infinity60/readme.md index d99d1df08033..e8ee6a9dad72 100644 --- a/keyboards/infinity60/readme.md +++ b/keyboards/input_club/infinity60/readme.md @@ -8,10 +8,10 @@ A compact community driven keyboard. Make example for this keyboard (after setting up your build environment): - make infinity60:default + make input_club/infinity60/rev1:default Flashing example for this keyboard: - make infinity60:default:flash + make input_club/infinity60/rev1:default:flash 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/infinity60/rev1/config.h b/keyboards/input_club/infinity60/rev1/config.h similarity index 100% rename from keyboards/infinity60/rev1/config.h rename to keyboards/input_club/infinity60/rev1/config.h diff --git a/keyboards/infinity60/rev1/readme.md b/keyboards/input_club/infinity60/rev1/readme.md similarity index 100% rename from keyboards/infinity60/rev1/readme.md rename to keyboards/input_club/infinity60/rev1/readme.md diff --git a/keyboards/infinity60/rev1/rules.mk b/keyboards/input_club/infinity60/rev1/rules.mk similarity index 100% rename from keyboards/infinity60/rev1/rules.mk rename to keyboards/input_club/infinity60/rev1/rules.mk diff --git a/keyboards/infinity60/rules.mk b/keyboards/input_club/infinity60/rules.mk similarity index 95% rename from keyboards/infinity60/rules.mk rename to keyboards/input_club/infinity60/rules.mk index a3e05edde112..7e21a06a9b16 100644 --- a/keyboards/infinity60/rules.mk +++ b/keyboards/input_club/infinity60/rules.mk @@ -26,7 +26,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -DEFAULT_FOLDER = infinity60/led +DEFAULT_FOLDER = input_club/infinity60/led LAYOUTS = 60_ansi_split_bs_rshift diff --git a/keyboards/k_type/chconf.h b/keyboards/input_club/k_type/chconf.h similarity index 100% rename from keyboards/k_type/chconf.h rename to keyboards/input_club/k_type/chconf.h diff --git a/keyboards/k_type/config.h b/keyboards/input_club/k_type/config.h similarity index 100% rename from keyboards/k_type/config.h rename to keyboards/input_club/k_type/config.h diff --git a/keyboards/k_type/halconf.h b/keyboards/input_club/k_type/halconf.h similarity index 100% rename from keyboards/k_type/halconf.h rename to keyboards/input_club/k_type/halconf.h diff --git a/keyboards/k_type/i2c_master.c b/keyboards/input_club/k_type/i2c_master.c similarity index 100% rename from keyboards/k_type/i2c_master.c rename to keyboards/input_club/k_type/i2c_master.c diff --git a/keyboards/k_type/i2c_master.h b/keyboards/input_club/k_type/i2c_master.h similarity index 100% rename from keyboards/k_type/i2c_master.h rename to keyboards/input_club/k_type/i2c_master.h diff --git a/keyboards/k_type/info.json b/keyboards/input_club/k_type/info.json similarity index 100% rename from keyboards/k_type/info.json rename to keyboards/input_club/k_type/info.json diff --git a/keyboards/k_type/is31fl3733-dual.c b/keyboards/input_club/k_type/is31fl3733-dual.c similarity index 100% rename from keyboards/k_type/is31fl3733-dual.c rename to keyboards/input_club/k_type/is31fl3733-dual.c diff --git a/keyboards/k_type/is31fl3733-dual.h b/keyboards/input_club/k_type/is31fl3733-dual.h similarity index 100% rename from keyboards/k_type/is31fl3733-dual.h rename to keyboards/input_club/k_type/is31fl3733-dual.h diff --git a/keyboards/k_type/k_type-rgbdriver.c b/keyboards/input_club/k_type/k_type-rgbdriver.c similarity index 100% rename from keyboards/k_type/k_type-rgbdriver.c rename to keyboards/input_club/k_type/k_type-rgbdriver.c diff --git a/keyboards/k_type/k_type.c b/keyboards/input_club/k_type/k_type.c similarity index 100% rename from keyboards/k_type/k_type.c rename to keyboards/input_club/k_type/k_type.c diff --git a/keyboards/k_type/k_type.h b/keyboards/input_club/k_type/k_type.h similarity index 100% rename from keyboards/k_type/k_type.h rename to keyboards/input_club/k_type/k_type.h diff --git a/keyboards/k_type/keymaps/andrew-fahmy/config.h b/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h similarity index 100% rename from keyboards/k_type/keymaps/andrew-fahmy/config.h rename to keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h diff --git a/keyboards/k_type/keymaps/andrew-fahmy/keymap.c b/keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c similarity index 100% rename from keyboards/k_type/keymaps/andrew-fahmy/keymap.c rename to keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c diff --git a/keyboards/k_type/keymaps/andrew-fahmy/rules.mk b/keyboards/input_club/k_type/keymaps/andrew-fahmy/rules.mk similarity index 100% rename from keyboards/k_type/keymaps/andrew-fahmy/rules.mk rename to keyboards/input_club/k_type/keymaps/andrew-fahmy/rules.mk diff --git a/keyboards/k_type/keymaps/belak/keymap.c b/keyboards/input_club/k_type/keymaps/belak/keymap.c similarity index 100% rename from keyboards/k_type/keymaps/belak/keymap.c rename to keyboards/input_club/k_type/keymaps/belak/keymap.c diff --git a/keyboards/k_type/keymaps/default/keymap.c b/keyboards/input_club/k_type/keymaps/default/keymap.c similarity index 100% rename from keyboards/k_type/keymaps/default/keymap.c rename to keyboards/input_club/k_type/keymaps/default/keymap.c diff --git a/keyboards/k_type/keymaps/default/rules.mk b/keyboards/input_club/k_type/keymaps/default/rules.mk similarity index 100% rename from keyboards/k_type/keymaps/default/rules.mk rename to keyboards/input_club/k_type/keymaps/default/rules.mk diff --git a/keyboards/k_type/mcuconf.h b/keyboards/input_club/k_type/mcuconf.h similarity index 100% rename from keyboards/k_type/mcuconf.h rename to keyboards/input_club/k_type/mcuconf.h diff --git a/keyboards/k_type/readme.md b/keyboards/input_club/k_type/readme.md similarity index 90% rename from keyboards/k_type/readme.md rename to keyboards/input_club/k_type/readme.md index 11123c357c27..a69ca38d4d8d 100644 --- a/keyboards/k_type/readme.md +++ b/keyboards/input_club/k_type/readme.md @@ -8,10 +8,10 @@ Firmware for custom keyboard PCB with TKL Key Layout Make example for this keyboard (after setting up your build environment): - make k_type:default + make input_club/k_type:default Flashing example for this keyboard: - make k_type:default:flash + make input_club/k_type:default:flash 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/k_type/rules.mk b/keyboards/input_club/k_type/rules.mk similarity index 100% rename from keyboards/k_type/rules.mk rename to keyboards/input_club/k_type/rules.mk diff --git a/keyboards/whitefox/board_is31fl3731c.h b/keyboards/input_club/whitefox/board_is31fl3731c.h similarity index 100% rename from keyboards/whitefox/board_is31fl3731c.h rename to keyboards/input_club/whitefox/board_is31fl3731c.h diff --git a/keyboards/whitefox/chconf.h b/keyboards/input_club/whitefox/chconf.h similarity index 100% rename from keyboards/whitefox/chconf.h rename to keyboards/input_club/whitefox/chconf.h diff --git a/keyboards/whitefox/config.h b/keyboards/input_club/whitefox/config.h similarity index 100% rename from keyboards/whitefox/config.h rename to keyboards/input_club/whitefox/config.h diff --git a/keyboards/whitefox/halconf.h b/keyboards/input_club/whitefox/halconf.h similarity index 100% rename from keyboards/whitefox/halconf.h rename to keyboards/input_club/whitefox/halconf.h diff --git a/keyboards/whitefox/info.json b/keyboards/input_club/whitefox/info.json similarity index 100% rename from keyboards/whitefox/info.json rename to keyboards/input_club/whitefox/info.json diff --git a/keyboards/whitefox/keymaps/billypython/config.h b/keyboards/input_club/whitefox/keymaps/billypython/config.h similarity index 100% rename from keyboards/whitefox/keymaps/billypython/config.h rename to keyboards/input_club/whitefox/keymaps/billypython/config.h diff --git a/keyboards/whitefox/keymaps/billypython/keymap.c b/keyboards/input_club/whitefox/keymaps/billypython/keymap.c similarity index 100% rename from keyboards/whitefox/keymaps/billypython/keymap.c rename to keyboards/input_club/whitefox/keymaps/billypython/keymap.c diff --git a/keyboards/whitefox/keymaps/billypython/rules.mk b/keyboards/input_club/whitefox/keymaps/billypython/rules.mk similarity index 100% rename from keyboards/whitefox/keymaps/billypython/rules.mk rename to keyboards/input_club/whitefox/keymaps/billypython/rules.mk diff --git a/keyboards/whitefox/keymaps/default/keymap.c b/keyboards/input_club/whitefox/keymaps/default/keymap.c similarity index 100% rename from keyboards/whitefox/keymaps/default/keymap.c rename to keyboards/input_club/whitefox/keymaps/default/keymap.c diff --git a/keyboards/whitefox/keymaps/dhertz/keymap.c b/keyboards/input_club/whitefox/keymaps/dhertz/keymap.c similarity index 100% rename from keyboards/whitefox/keymaps/dhertz/keymap.c rename to keyboards/input_club/whitefox/keymaps/dhertz/keymap.c diff --git a/keyboards/whitefox/keymaps/dudeofawesome/keymap.c b/keyboards/input_club/whitefox/keymaps/dudeofawesome/keymap.c similarity index 100% rename from keyboards/whitefox/keymaps/dudeofawesome/keymap.c rename to keyboards/input_club/whitefox/keymaps/dudeofawesome/keymap.c diff --git a/keyboards/whitefox/keymaps/dudeofawesome/readme.md b/keyboards/input_club/whitefox/keymaps/dudeofawesome/readme.md similarity index 100% rename from keyboards/whitefox/keymaps/dudeofawesome/readme.md rename to keyboards/input_club/whitefox/keymaps/dudeofawesome/readme.md diff --git a/keyboards/whitefox/keymaps/jetpacktuxedo/keymap.c b/keyboards/input_club/whitefox/keymaps/jetpacktuxedo/keymap.c similarity index 100% rename from keyboards/whitefox/keymaps/jetpacktuxedo/keymap.c rename to keyboards/input_club/whitefox/keymaps/jetpacktuxedo/keymap.c diff --git a/keyboards/whitefox/keymaps/jetpacktuxedo/readme.md b/keyboards/input_club/whitefox/keymaps/jetpacktuxedo/readme.md similarity index 100% rename from keyboards/whitefox/keymaps/jetpacktuxedo/readme.md rename to keyboards/input_club/whitefox/keymaps/jetpacktuxedo/readme.md diff --git a/keyboards/whitefox/keymaps/jetpacktuxedo/rules.mk b/keyboards/input_club/whitefox/keymaps/jetpacktuxedo/rules.mk similarity index 100% rename from keyboards/whitefox/keymaps/jetpacktuxedo/rules.mk rename to keyboards/input_club/whitefox/keymaps/jetpacktuxedo/rules.mk diff --git a/keyboards/whitefox/keymaps/kim-kim/keymap.c b/keyboards/input_club/whitefox/keymaps/kim-kim/keymap.c similarity index 100% rename from keyboards/whitefox/keymaps/kim-kim/keymap.c rename to keyboards/input_club/whitefox/keymaps/kim-kim/keymap.c diff --git a/keyboards/whitefox/keymaps/konstantin/config.h b/keyboards/input_club/whitefox/keymaps/konstantin/config.h similarity index 100% rename from keyboards/whitefox/keymaps/konstantin/config.h rename to keyboards/input_club/whitefox/keymaps/konstantin/config.h diff --git a/keyboards/whitefox/keymaps/konstantin/keymap.c b/keyboards/input_club/whitefox/keymaps/konstantin/keymap.c similarity index 100% rename from keyboards/whitefox/keymaps/konstantin/keymap.c rename to keyboards/input_club/whitefox/keymaps/konstantin/keymap.c diff --git a/keyboards/whitefox/keymaps/konstantin/rules.mk b/keyboards/input_club/whitefox/keymaps/konstantin/rules.mk similarity index 100% rename from keyboards/whitefox/keymaps/konstantin/rules.mk rename to keyboards/input_club/whitefox/keymaps/konstantin/rules.mk diff --git a/keyboards/whitefox/keymaps/matt3o/keymap.c b/keyboards/input_club/whitefox/keymaps/matt3o/keymap.c similarity index 100% rename from keyboards/whitefox/keymaps/matt3o/keymap.c rename to keyboards/input_club/whitefox/keymaps/matt3o/keymap.c diff --git a/keyboards/whitefox/keymaps/mattrighetti/keymap.c b/keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c similarity index 100% rename from keyboards/whitefox/keymaps/mattrighetti/keymap.c rename to keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c diff --git a/keyboards/whitefox/keymaps/mattrighetti/rules.mk b/keyboards/input_club/whitefox/keymaps/mattrighetti/rules.mk similarity index 100% rename from keyboards/whitefox/keymaps/mattrighetti/rules.mk rename to keyboards/input_club/whitefox/keymaps/mattrighetti/rules.mk diff --git a/keyboards/whitefox/mcuconf.h b/keyboards/input_club/whitefox/mcuconf.h similarity index 100% rename from keyboards/whitefox/mcuconf.h rename to keyboards/input_club/whitefox/mcuconf.h diff --git a/keyboards/whitefox/readme.md b/keyboards/input_club/whitefox/readme.md similarity index 87% rename from keyboards/whitefox/readme.md rename to keyboards/input_club/whitefox/readme.md index a170723e22fe..d6676f6ce7ff 100644 --- a/keyboards/whitefox/readme.md +++ b/keyboards/input_club/whitefox/readme.md @@ -8,10 +8,10 @@ A compact 65% keyboard. Make example for this keyboard (after setting up your build environment): - make whitefox:default + make input_club/whitefox:default Flashing example for this keyboard: - make whitefox:default:flash + make input_club/whitefox:default:flash 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/whitefox/rules.mk b/keyboards/input_club/whitefox/rules.mk similarity index 100% rename from keyboards/whitefox/rules.mk rename to keyboards/input_club/whitefox/rules.mk diff --git a/keyboards/whitefox/whitefox.c b/keyboards/input_club/whitefox/whitefox.c similarity index 100% rename from keyboards/whitefox/whitefox.c rename to keyboards/input_club/whitefox/whitefox.c diff --git a/keyboards/whitefox/whitefox.h b/keyboards/input_club/whitefox/whitefox.h similarity index 100% rename from keyboards/whitefox/whitefox.h rename to keyboards/input_club/whitefox/whitefox.h From de1417b66075464e3f4152988e4b11544d6ac0eb Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sun, 6 Feb 2022 13:16:47 +0800 Subject: [PATCH 0175/1832] move @qpocket 's keyboards to qpocket/ (#15827) --- keyboards/{ => qpockets}/eggman/config.h | 0 keyboards/{ => qpockets}/eggman/eggman.c | 0 keyboards/{ => qpockets}/eggman/eggman.h | 0 keyboards/{ => qpockets}/eggman/info.json | 0 keyboards/{ => qpockets}/eggman/keymaps/default/config.h | 0 keyboards/{ => qpockets}/eggman/keymaps/default/keymap.c | 0 keyboards/{ => qpockets}/eggman/keymaps/default/rules.mk | 0 keyboards/{ => qpockets}/eggman/readme.md | 4 ++-- keyboards/{ => qpockets}/eggman/rules.mk | 0 keyboards/{ => qpockets}/space_space/readme.md | 4 ++-- keyboards/{ => qpockets}/space_space/rev1/config.h | 0 keyboards/{ => qpockets}/space_space/rev1/info.json | 0 .../space_space/rev1/keymaps/big_space/config.h | 0 .../space_space/rev1/keymaps/big_space/keymap.c | 0 .../space_space/rev1/keymaps/big_space/rules.mk | 0 .../{ => qpockets}/space_space/rev1/keymaps/default/config.h | 0 .../{ => qpockets}/space_space/rev1/keymaps/default/keymap.c | 0 .../{ => qpockets}/space_space/rev1/keymaps/default/rules.mk | 0 keyboards/{ => qpockets}/space_space/rev1/keymaps/readme.md | 0 keyboards/{ => qpockets}/space_space/rev1/readme.md | 0 keyboards/{ => qpockets}/space_space/rev1/rev1.c | 0 keyboards/{ => qpockets}/space_space/rev1/rev1.h | 0 keyboards/{ => qpockets}/space_space/rev1/rules.mk | 0 keyboards/{ => qpockets}/space_space/rev2/config.h | 0 keyboards/{ => qpockets}/space_space/rev2/info.json | 0 .../space_space/rev2/keymaps/big_space/config.h | 0 .../space_space/rev2/keymaps/big_space/keymap.c | 0 .../space_space/rev2/keymaps/big_space/rules.mk | 0 .../{ => qpockets}/space_space/rev2/keymaps/default/config.h | 0 .../{ => qpockets}/space_space/rev2/keymaps/default/keymap.c | 0 .../{ => qpockets}/space_space/rev2/keymaps/default/rules.mk | 0 .../{ => qpockets}/space_space/rev2/keymaps/qpockets/config.h | 0 .../{ => qpockets}/space_space/rev2/keymaps/qpockets/keymap.c | 0 .../{ => qpockets}/space_space/rev2/keymaps/qpockets/rules.mk | 0 keyboards/{ => qpockets}/space_space/rev2/readme.md | 0 keyboards/{ => qpockets}/space_space/rev2/rev2.c | 0 keyboards/{ => qpockets}/space_space/rev2/rev2.h | 0 keyboards/{ => qpockets}/space_space/rev2/rules.mk | 0 keyboards/qpockets/space_space/rules.mk | 1 + keyboards/{ => qpockets}/wanten/config.h | 0 keyboards/{ => qpockets}/wanten/info.json | 0 keyboards/{ => qpockets}/wanten/keymaps/2u_bars/config.h | 0 keyboards/{ => qpockets}/wanten/keymaps/2u_bars/keymap.c | 0 keyboards/{ => qpockets}/wanten/keymaps/2u_bars/rules.mk | 0 keyboards/{ => qpockets}/wanten/keymaps/625_bar/config.h | 0 keyboards/{ => qpockets}/wanten/keymaps/625_bar/keymap.c | 0 keyboards/{ => qpockets}/wanten/keymaps/625_bar/rules.mk | 0 keyboards/{ => qpockets}/wanten/keymaps/default/config.h | 0 keyboards/{ => qpockets}/wanten/keymaps/default/keymap.c | 0 keyboards/{ => qpockets}/wanten/keymaps/default/readme.md | 0 keyboards/{ => qpockets}/wanten/keymaps/default/rules.mk | 0 keyboards/{ => qpockets}/wanten/readme.md | 4 ++-- keyboards/{ => qpockets}/wanten/rules.mk | 0 keyboards/{ => qpockets}/wanten/wanten.c | 0 keyboards/{ => qpockets}/wanten/wanten.h | 0 keyboards/space_space/rules.mk | 1 - 56 files changed, 7 insertions(+), 7 deletions(-) rename keyboards/{ => qpockets}/eggman/config.h (100%) rename keyboards/{ => qpockets}/eggman/eggman.c (100%) rename keyboards/{ => qpockets}/eggman/eggman.h (100%) rename keyboards/{ => qpockets}/eggman/info.json (100%) rename keyboards/{ => qpockets}/eggman/keymaps/default/config.h (100%) rename keyboards/{ => qpockets}/eggman/keymaps/default/keymap.c (100%) rename keyboards/{ => qpockets}/eggman/keymaps/default/rules.mk (100%) rename keyboards/{ => qpockets}/eggman/readme.md (88%) rename keyboards/{ => qpockets}/eggman/rules.mk (100%) rename keyboards/{ => qpockets}/space_space/readme.md (88%) rename keyboards/{ => qpockets}/space_space/rev1/config.h (100%) rename keyboards/{ => qpockets}/space_space/rev1/info.json (100%) rename keyboards/{ => qpockets}/space_space/rev1/keymaps/big_space/config.h (100%) rename keyboards/{ => qpockets}/space_space/rev1/keymaps/big_space/keymap.c (100%) rename keyboards/{ => qpockets}/space_space/rev1/keymaps/big_space/rules.mk (100%) rename keyboards/{ => qpockets}/space_space/rev1/keymaps/default/config.h (100%) rename keyboards/{ => qpockets}/space_space/rev1/keymaps/default/keymap.c (100%) rename keyboards/{ => qpockets}/space_space/rev1/keymaps/default/rules.mk (100%) rename keyboards/{ => qpockets}/space_space/rev1/keymaps/readme.md (100%) rename keyboards/{ => qpockets}/space_space/rev1/readme.md (100%) rename keyboards/{ => qpockets}/space_space/rev1/rev1.c (100%) rename keyboards/{ => qpockets}/space_space/rev1/rev1.h (100%) rename keyboards/{ => qpockets}/space_space/rev1/rules.mk (100%) rename keyboards/{ => qpockets}/space_space/rev2/config.h (100%) rename keyboards/{ => qpockets}/space_space/rev2/info.json (100%) rename keyboards/{ => qpockets}/space_space/rev2/keymaps/big_space/config.h (100%) rename keyboards/{ => qpockets}/space_space/rev2/keymaps/big_space/keymap.c (100%) rename keyboards/{ => qpockets}/space_space/rev2/keymaps/big_space/rules.mk (100%) rename keyboards/{ => qpockets}/space_space/rev2/keymaps/default/config.h (100%) rename keyboards/{ => qpockets}/space_space/rev2/keymaps/default/keymap.c (100%) rename keyboards/{ => qpockets}/space_space/rev2/keymaps/default/rules.mk (100%) rename keyboards/{ => qpockets}/space_space/rev2/keymaps/qpockets/config.h (100%) rename keyboards/{ => qpockets}/space_space/rev2/keymaps/qpockets/keymap.c (100%) rename keyboards/{ => qpockets}/space_space/rev2/keymaps/qpockets/rules.mk (100%) rename keyboards/{ => qpockets}/space_space/rev2/readme.md (100%) rename keyboards/{ => qpockets}/space_space/rev2/rev2.c (100%) rename keyboards/{ => qpockets}/space_space/rev2/rev2.h (100%) rename keyboards/{ => qpockets}/space_space/rev2/rules.mk (100%) create mode 100644 keyboards/qpockets/space_space/rules.mk rename keyboards/{ => qpockets}/wanten/config.h (100%) rename keyboards/{ => qpockets}/wanten/info.json (100%) rename keyboards/{ => qpockets}/wanten/keymaps/2u_bars/config.h (100%) rename keyboards/{ => qpockets}/wanten/keymaps/2u_bars/keymap.c (100%) rename keyboards/{ => qpockets}/wanten/keymaps/2u_bars/rules.mk (100%) rename keyboards/{ => qpockets}/wanten/keymaps/625_bar/config.h (100%) rename keyboards/{ => qpockets}/wanten/keymaps/625_bar/keymap.c (100%) rename keyboards/{ => qpockets}/wanten/keymaps/625_bar/rules.mk (100%) rename keyboards/{ => qpockets}/wanten/keymaps/default/config.h (100%) rename keyboards/{ => qpockets}/wanten/keymaps/default/keymap.c (100%) rename keyboards/{ => qpockets}/wanten/keymaps/default/readme.md (100%) rename keyboards/{ => qpockets}/wanten/keymaps/default/rules.mk (100%) rename keyboards/{ => qpockets}/wanten/readme.md (93%) rename keyboards/{ => qpockets}/wanten/rules.mk (100%) rename keyboards/{ => qpockets}/wanten/wanten.c (100%) rename keyboards/{ => qpockets}/wanten/wanten.h (100%) delete mode 100644 keyboards/space_space/rules.mk diff --git a/keyboards/eggman/config.h b/keyboards/qpockets/eggman/config.h similarity index 100% rename from keyboards/eggman/config.h rename to keyboards/qpockets/eggman/config.h diff --git a/keyboards/eggman/eggman.c b/keyboards/qpockets/eggman/eggman.c similarity index 100% rename from keyboards/eggman/eggman.c rename to keyboards/qpockets/eggman/eggman.c diff --git a/keyboards/eggman/eggman.h b/keyboards/qpockets/eggman/eggman.h similarity index 100% rename from keyboards/eggman/eggman.h rename to keyboards/qpockets/eggman/eggman.h diff --git a/keyboards/eggman/info.json b/keyboards/qpockets/eggman/info.json similarity index 100% rename from keyboards/eggman/info.json rename to keyboards/qpockets/eggman/info.json diff --git a/keyboards/eggman/keymaps/default/config.h b/keyboards/qpockets/eggman/keymaps/default/config.h similarity index 100% rename from keyboards/eggman/keymaps/default/config.h rename to keyboards/qpockets/eggman/keymaps/default/config.h diff --git a/keyboards/eggman/keymaps/default/keymap.c b/keyboards/qpockets/eggman/keymaps/default/keymap.c similarity index 100% rename from keyboards/eggman/keymaps/default/keymap.c rename to keyboards/qpockets/eggman/keymaps/default/keymap.c diff --git a/keyboards/eggman/keymaps/default/rules.mk b/keyboards/qpockets/eggman/keymaps/default/rules.mk similarity index 100% rename from keyboards/eggman/keymaps/default/rules.mk rename to keyboards/qpockets/eggman/keymaps/default/rules.mk diff --git a/keyboards/eggman/readme.md b/keyboards/qpockets/eggman/readme.md similarity index 88% rename from keyboards/eggman/readme.md rename to keyboards/qpockets/eggman/readme.md index 156b4086faf0..e0066fbe1f21 100644 --- a/keyboards/eggman/readme.md +++ b/keyboards/qpockets/eggman/readme.md @@ -9,10 +9,10 @@ i am he and you are me Make example for this keyboard (after setting up your build environment): - make eggman:default + make qpockets/eggman:default Flashing example for this keyboard: - make eggman:default:flash + make qpockets/eggman:default:flash 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/eggman/rules.mk b/keyboards/qpockets/eggman/rules.mk similarity index 100% rename from keyboards/eggman/rules.mk rename to keyboards/qpockets/eggman/rules.mk diff --git a/keyboards/space_space/readme.md b/keyboards/qpockets/space_space/readme.md similarity index 88% rename from keyboards/space_space/readme.md rename to keyboards/qpockets/space_space/readme.md index 08fa640f222d..c84a5832674c 100644 --- a/keyboards/space_space/readme.md +++ b/keyboards/qpockets/space_space/readme.md @@ -9,10 +9,10 @@ Give your space some space Make example for this keyboard (after setting up your build environment): - make space_space/rev2:default + make qpockets/space_space/rev2:default Flashing example for this keyboard: - make space_space/rev2:default:flash + make qpockets/space_space/rev2:default:flash 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/space_space/rev1/config.h b/keyboards/qpockets/space_space/rev1/config.h similarity index 100% rename from keyboards/space_space/rev1/config.h rename to keyboards/qpockets/space_space/rev1/config.h diff --git a/keyboards/space_space/rev1/info.json b/keyboards/qpockets/space_space/rev1/info.json similarity index 100% rename from keyboards/space_space/rev1/info.json rename to keyboards/qpockets/space_space/rev1/info.json diff --git a/keyboards/space_space/rev1/keymaps/big_space/config.h b/keyboards/qpockets/space_space/rev1/keymaps/big_space/config.h similarity index 100% rename from keyboards/space_space/rev1/keymaps/big_space/config.h rename to keyboards/qpockets/space_space/rev1/keymaps/big_space/config.h diff --git a/keyboards/space_space/rev1/keymaps/big_space/keymap.c b/keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c similarity index 100% rename from keyboards/space_space/rev1/keymaps/big_space/keymap.c rename to keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c diff --git a/keyboards/space_space/rev1/keymaps/big_space/rules.mk b/keyboards/qpockets/space_space/rev1/keymaps/big_space/rules.mk similarity index 100% rename from keyboards/space_space/rev1/keymaps/big_space/rules.mk rename to keyboards/qpockets/space_space/rev1/keymaps/big_space/rules.mk diff --git a/keyboards/space_space/rev1/keymaps/default/config.h b/keyboards/qpockets/space_space/rev1/keymaps/default/config.h similarity index 100% rename from keyboards/space_space/rev1/keymaps/default/config.h rename to keyboards/qpockets/space_space/rev1/keymaps/default/config.h diff --git a/keyboards/space_space/rev1/keymaps/default/keymap.c b/keyboards/qpockets/space_space/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/space_space/rev1/keymaps/default/keymap.c rename to keyboards/qpockets/space_space/rev1/keymaps/default/keymap.c diff --git a/keyboards/space_space/rev1/keymaps/default/rules.mk b/keyboards/qpockets/space_space/rev1/keymaps/default/rules.mk similarity index 100% rename from keyboards/space_space/rev1/keymaps/default/rules.mk rename to keyboards/qpockets/space_space/rev1/keymaps/default/rules.mk diff --git a/keyboards/space_space/rev1/keymaps/readme.md b/keyboards/qpockets/space_space/rev1/keymaps/readme.md similarity index 100% rename from keyboards/space_space/rev1/keymaps/readme.md rename to keyboards/qpockets/space_space/rev1/keymaps/readme.md diff --git a/keyboards/space_space/rev1/readme.md b/keyboards/qpockets/space_space/rev1/readme.md similarity index 100% rename from keyboards/space_space/rev1/readme.md rename to keyboards/qpockets/space_space/rev1/readme.md diff --git a/keyboards/space_space/rev1/rev1.c b/keyboards/qpockets/space_space/rev1/rev1.c similarity index 100% rename from keyboards/space_space/rev1/rev1.c rename to keyboards/qpockets/space_space/rev1/rev1.c diff --git a/keyboards/space_space/rev1/rev1.h b/keyboards/qpockets/space_space/rev1/rev1.h similarity index 100% rename from keyboards/space_space/rev1/rev1.h rename to keyboards/qpockets/space_space/rev1/rev1.h diff --git a/keyboards/space_space/rev1/rules.mk b/keyboards/qpockets/space_space/rev1/rules.mk similarity index 100% rename from keyboards/space_space/rev1/rules.mk rename to keyboards/qpockets/space_space/rev1/rules.mk diff --git a/keyboards/space_space/rev2/config.h b/keyboards/qpockets/space_space/rev2/config.h similarity index 100% rename from keyboards/space_space/rev2/config.h rename to keyboards/qpockets/space_space/rev2/config.h diff --git a/keyboards/space_space/rev2/info.json b/keyboards/qpockets/space_space/rev2/info.json similarity index 100% rename from keyboards/space_space/rev2/info.json rename to keyboards/qpockets/space_space/rev2/info.json diff --git a/keyboards/space_space/rev2/keymaps/big_space/config.h b/keyboards/qpockets/space_space/rev2/keymaps/big_space/config.h similarity index 100% rename from keyboards/space_space/rev2/keymaps/big_space/config.h rename to keyboards/qpockets/space_space/rev2/keymaps/big_space/config.h diff --git a/keyboards/space_space/rev2/keymaps/big_space/keymap.c b/keyboards/qpockets/space_space/rev2/keymaps/big_space/keymap.c similarity index 100% rename from keyboards/space_space/rev2/keymaps/big_space/keymap.c rename to keyboards/qpockets/space_space/rev2/keymaps/big_space/keymap.c diff --git a/keyboards/space_space/rev2/keymaps/big_space/rules.mk b/keyboards/qpockets/space_space/rev2/keymaps/big_space/rules.mk similarity index 100% rename from keyboards/space_space/rev2/keymaps/big_space/rules.mk rename to keyboards/qpockets/space_space/rev2/keymaps/big_space/rules.mk diff --git a/keyboards/space_space/rev2/keymaps/default/config.h b/keyboards/qpockets/space_space/rev2/keymaps/default/config.h similarity index 100% rename from keyboards/space_space/rev2/keymaps/default/config.h rename to keyboards/qpockets/space_space/rev2/keymaps/default/config.h diff --git a/keyboards/space_space/rev2/keymaps/default/keymap.c b/keyboards/qpockets/space_space/rev2/keymaps/default/keymap.c similarity index 100% rename from keyboards/space_space/rev2/keymaps/default/keymap.c rename to keyboards/qpockets/space_space/rev2/keymaps/default/keymap.c diff --git a/keyboards/space_space/rev2/keymaps/default/rules.mk b/keyboards/qpockets/space_space/rev2/keymaps/default/rules.mk similarity index 100% rename from keyboards/space_space/rev2/keymaps/default/rules.mk rename to keyboards/qpockets/space_space/rev2/keymaps/default/rules.mk diff --git a/keyboards/space_space/rev2/keymaps/qpockets/config.h b/keyboards/qpockets/space_space/rev2/keymaps/qpockets/config.h similarity index 100% rename from keyboards/space_space/rev2/keymaps/qpockets/config.h rename to keyboards/qpockets/space_space/rev2/keymaps/qpockets/config.h diff --git a/keyboards/space_space/rev2/keymaps/qpockets/keymap.c b/keyboards/qpockets/space_space/rev2/keymaps/qpockets/keymap.c similarity index 100% rename from keyboards/space_space/rev2/keymaps/qpockets/keymap.c rename to keyboards/qpockets/space_space/rev2/keymaps/qpockets/keymap.c diff --git a/keyboards/space_space/rev2/keymaps/qpockets/rules.mk b/keyboards/qpockets/space_space/rev2/keymaps/qpockets/rules.mk similarity index 100% rename from keyboards/space_space/rev2/keymaps/qpockets/rules.mk rename to keyboards/qpockets/space_space/rev2/keymaps/qpockets/rules.mk diff --git a/keyboards/space_space/rev2/readme.md b/keyboards/qpockets/space_space/rev2/readme.md similarity index 100% rename from keyboards/space_space/rev2/readme.md rename to keyboards/qpockets/space_space/rev2/readme.md diff --git a/keyboards/space_space/rev2/rev2.c b/keyboards/qpockets/space_space/rev2/rev2.c similarity index 100% rename from keyboards/space_space/rev2/rev2.c rename to keyboards/qpockets/space_space/rev2/rev2.c diff --git a/keyboards/space_space/rev2/rev2.h b/keyboards/qpockets/space_space/rev2/rev2.h similarity index 100% rename from keyboards/space_space/rev2/rev2.h rename to keyboards/qpockets/space_space/rev2/rev2.h diff --git a/keyboards/space_space/rev2/rules.mk b/keyboards/qpockets/space_space/rev2/rules.mk similarity index 100% rename from keyboards/space_space/rev2/rules.mk rename to keyboards/qpockets/space_space/rev2/rules.mk diff --git a/keyboards/qpockets/space_space/rules.mk b/keyboards/qpockets/space_space/rules.mk new file mode 100644 index 000000000000..0ffe2efbf25e --- /dev/null +++ b/keyboards/qpockets/space_space/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = qpockets/space_space/rev2 diff --git a/keyboards/wanten/config.h b/keyboards/qpockets/wanten/config.h similarity index 100% rename from keyboards/wanten/config.h rename to keyboards/qpockets/wanten/config.h diff --git a/keyboards/wanten/info.json b/keyboards/qpockets/wanten/info.json similarity index 100% rename from keyboards/wanten/info.json rename to keyboards/qpockets/wanten/info.json diff --git a/keyboards/wanten/keymaps/2u_bars/config.h b/keyboards/qpockets/wanten/keymaps/2u_bars/config.h similarity index 100% rename from keyboards/wanten/keymaps/2u_bars/config.h rename to keyboards/qpockets/wanten/keymaps/2u_bars/config.h diff --git a/keyboards/wanten/keymaps/2u_bars/keymap.c b/keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c similarity index 100% rename from keyboards/wanten/keymaps/2u_bars/keymap.c rename to keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c diff --git a/keyboards/wanten/keymaps/2u_bars/rules.mk b/keyboards/qpockets/wanten/keymaps/2u_bars/rules.mk similarity index 100% rename from keyboards/wanten/keymaps/2u_bars/rules.mk rename to keyboards/qpockets/wanten/keymaps/2u_bars/rules.mk diff --git a/keyboards/wanten/keymaps/625_bar/config.h b/keyboards/qpockets/wanten/keymaps/625_bar/config.h similarity index 100% rename from keyboards/wanten/keymaps/625_bar/config.h rename to keyboards/qpockets/wanten/keymaps/625_bar/config.h diff --git a/keyboards/wanten/keymaps/625_bar/keymap.c b/keyboards/qpockets/wanten/keymaps/625_bar/keymap.c similarity index 100% rename from keyboards/wanten/keymaps/625_bar/keymap.c rename to keyboards/qpockets/wanten/keymaps/625_bar/keymap.c diff --git a/keyboards/wanten/keymaps/625_bar/rules.mk b/keyboards/qpockets/wanten/keymaps/625_bar/rules.mk similarity index 100% rename from keyboards/wanten/keymaps/625_bar/rules.mk rename to keyboards/qpockets/wanten/keymaps/625_bar/rules.mk diff --git a/keyboards/wanten/keymaps/default/config.h b/keyboards/qpockets/wanten/keymaps/default/config.h similarity index 100% rename from keyboards/wanten/keymaps/default/config.h rename to keyboards/qpockets/wanten/keymaps/default/config.h diff --git a/keyboards/wanten/keymaps/default/keymap.c b/keyboards/qpockets/wanten/keymaps/default/keymap.c similarity index 100% rename from keyboards/wanten/keymaps/default/keymap.c rename to keyboards/qpockets/wanten/keymaps/default/keymap.c diff --git a/keyboards/wanten/keymaps/default/readme.md b/keyboards/qpockets/wanten/keymaps/default/readme.md similarity index 100% rename from keyboards/wanten/keymaps/default/readme.md rename to keyboards/qpockets/wanten/keymaps/default/readme.md diff --git a/keyboards/wanten/keymaps/default/rules.mk b/keyboards/qpockets/wanten/keymaps/default/rules.mk similarity index 100% rename from keyboards/wanten/keymaps/default/rules.mk rename to keyboards/qpockets/wanten/keymaps/default/rules.mk diff --git a/keyboards/wanten/readme.md b/keyboards/qpockets/wanten/readme.md similarity index 93% rename from keyboards/wanten/readme.md rename to keyboards/qpockets/wanten/readme.md index 90dd1ae132cf..243e949f3440 100644 --- a/keyboards/wanten/readme.md +++ b/keyboards/qpockets/wanten/readme.md @@ -10,11 +10,11 @@ an ortho drop in PCB for Van cases Make example for this keyboard (after setting up your build environment): - make wanten:default + make qpockets/wanten:default Flashing example for this keyboard: - make wanten:default:flash + make qpockets/wanten:default:flash 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/wanten/rules.mk b/keyboards/qpockets/wanten/rules.mk similarity index 100% rename from keyboards/wanten/rules.mk rename to keyboards/qpockets/wanten/rules.mk diff --git a/keyboards/wanten/wanten.c b/keyboards/qpockets/wanten/wanten.c similarity index 100% rename from keyboards/wanten/wanten.c rename to keyboards/qpockets/wanten/wanten.c diff --git a/keyboards/wanten/wanten.h b/keyboards/qpockets/wanten/wanten.h similarity index 100% rename from keyboards/wanten/wanten.h rename to keyboards/qpockets/wanten/wanten.h diff --git a/keyboards/space_space/rules.mk b/keyboards/space_space/rules.mk deleted file mode 100644 index 2ca04be440ea..000000000000 --- a/keyboards/space_space/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = space_space/rev2 From 5a0e129f1160ee439f6be4504fb935204ae86436 Mon Sep 17 00:00:00 2001 From: Desprez Jean-Marc Date: Sun, 6 Feb 2022 17:55:16 +0100 Subject: [PATCH 0176/1832] [Bug] Fix layer_state restoration at end of dynamic macro feature (#16230) --- quantum/process_keycode/process_dynamic_macro.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/process_keycode/process_dynamic_macro.c b/quantum/process_keycode/process_dynamic_macro.c index 18c8d7ca2e10..0feb63401436 100644 --- a/quantum/process_keycode/process_dynamic_macro.c +++ b/quantum/process_keycode/process_dynamic_macro.c @@ -82,7 +82,7 @@ void dynamic_macro_play(keyrecord_t *macro_buffer, keyrecord_t *macro_end, int8_ clear_keyboard(); - layer_state = saved_layer_state; + layer_state_set(saved_layer_state); dynamic_macro_play_user(direction); } From e036c19d063c543090d01ea841ac343a48276f6d Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 7 Feb 2022 04:02:45 +1100 Subject: [PATCH 0177/1832] Add SN74x138 demultiplexer driver (#16217) --- drivers/gpio/sn74x138.c | 65 +++++++ drivers/gpio/sn74x138.h | 48 +++++ keyboards/evyd13/wasdat/config.h | 10 +- keyboards/evyd13/wasdat/matrix.c | 299 +++++-------------------------- keyboards/evyd13/wasdat/rules.mk | 3 +- 5 files changed, 162 insertions(+), 263 deletions(-) create mode 100644 drivers/gpio/sn74x138.c create mode 100644 drivers/gpio/sn74x138.h diff --git a/drivers/gpio/sn74x138.c b/drivers/gpio/sn74x138.c new file mode 100644 index 000000000000..222e5db56cb6 --- /dev/null +++ b/drivers/gpio/sn74x138.c @@ -0,0 +1,65 @@ +/* Copyright 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "sn74x138.h" +#include "gpio.h" + +#define ADDRESS_PIN_COUNT 3 + +#ifndef SN74X138_ADDRESS_PINS +# error sn74x138: no address pins defined! +#endif + +static const pin_t address_pins[ADDRESS_PIN_COUNT] = SN74X138_ADDRESS_PINS; + +void sn74x138_init(void) { + for (int i = 0; i < ADDRESS_PIN_COUNT; i++) { + setPinOutput(address_pins[i]); + writePinLow(address_pins[i]); + } + +#if defined(SN74X138_E1_PIN) + setPinOutput(SN74X138_E1_PIN); + writePinHigh(SN74X138_E1_PIN); +#endif + +#if defined(SN74X138_E2_PIN) + setPinOutput(SN74X138_E2_PIN); + writePinHigh(SN74X138_E2_PIN); +#endif +#if defined(SN74X138_E3_PIN) + setPinOutput(SN74X138_E3_PIN); + writePinLow(SN74X138_E3_PIN); +#endif +} + +void sn74x138_set_enabled(bool enabled) { +#if defined(SN74X138_E1_PIN) + writePin(SN74X138_E1_PIN, !enabled); +#endif +#if defined(SN74X138_E2_PIN) + writePin(SN74X138_E2_PIN, !enabled); +#endif +#if defined(SN74X138_E3_PIN) + writePin(SN74X138_E3_PIN, enabled); +#endif +} + +void sn74x138_set_addr(uint8_t address) { + for (int i = 0; i < ADDRESS_PIN_COUNT; i++) { + writePin(address_pins[i], address & (1 << i)); + } +} diff --git a/drivers/gpio/sn74x138.h b/drivers/gpio/sn74x138.h new file mode 100644 index 000000000000..d4d0b6574d17 --- /dev/null +++ b/drivers/gpio/sn74x138.h @@ -0,0 +1,48 @@ +/* Copyright 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include + +/** + * Driver for 74x138 3-to-8 decoder/demultiplexer with inverting outputs + * https://assets.nexperia.com/documents/data-sheet/74HC_HCT138.pdf + */ + +/** + * Initialize the address and output enable pins. + */ +void sn74x138_init(void); + +/** + * Set the enabled state. + * + * When enabled is true, pulls the E1 and E2 pins low, and the E3 pin high. + * + * \param enabled The enable state to set. + */ +void sn74x138_set_enabled(bool enabled); + +/** + * Set the output pin address. + * + * The selected output pin will be pulled low, while the remaining output pins will be high. + * + * \param address The address to set, from 0 to 7. + */ +void sn74x138_set_addr(uint8_t address); diff --git a/keyboards/evyd13/wasdat/config.h b/keyboards/evyd13/wasdat/config.h index 36bbd30821fa..38f9fe4bda08 100644 --- a/keyboards/evyd13/wasdat/config.h +++ b/keyboards/evyd13/wasdat/config.h @@ -41,22 +41,16 @@ along with this program. If not, see . * */ #define MATRIX_ROW_PINS { D6, D4, F6, F7, F4, F5, F0, F1 } -#define MATRIX_COL_PINS { } +#define MATRIX_COL_PINS { C7, B6, C6, B4, B5, D7, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, D3, B7, B3 } // Columns 6-12 controlled by demux #define UNUSED_PINS -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION ROW2COL +#define SN74X138_ADDRESS_PINS { D2, D1, D0 } // For QMK DFU #define QMK_ESC_OUTPUT D6 #define QMK_ESC_INPUT D7 #define QMK_LED B0 -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - #define LED_NUM_LOCK_PIN B2 #define LED_CAPS_LOCK_PIN B0 #define LED_SCROLL_LOCK_PIN B1 diff --git a/keyboards/evyd13/wasdat/matrix.c b/keyboards/evyd13/wasdat/matrix.c index 6dd79b53306c..c97dd8469444 100644 --- a/keyboards/evyd13/wasdat/matrix.c +++ b/keyboards/evyd13/wasdat/matrix.c @@ -14,268 +14,66 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ + #include #include -#include "wait.h" -#include "util.h" #include "matrix.h" -#include "debounce.h" #include "quantum.h" +#include "sn74x138.h" -#ifdef DIRECT_PINS -static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; -#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -//static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -#endif - -// matrix code - -#ifdef DIRECT_PINS - -static void init_pins(void) { - for (int row = 0; row < MATRIX_ROWS; row++) { - for (int col = 0; col < MATRIX_COLS; col++) { - pin_t pin = direct_pins[row][col]; - if (pin != NO_PIN) { - setPinInputHigh(pin); - } - } - } -} - -static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { - matrix_row_t last_row_value = current_matrix[current_row]; - current_matrix[current_row] = 0; - - for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { - pin_t pin = direct_pins[current_row][col_index]; - if (pin != NO_PIN) { - current_matrix[current_row] |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index); - } - } - - return (last_row_value != current_matrix[current_row]); -} - -#elif (DIODE_DIRECTION == COL2ROW) - -static void select_row(uint8_t row) { - setPinOutput(row_pins[row]); - writePinLow(row_pins[row]); -} - -static void unselect_row(uint8_t row) { setPinInputHigh(row_pins[row]); } - -static void unselect_rows(void) { - for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh(row_pins[x]); - } -} +static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -static void init_pins(void) { - unselect_rows(); - for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh(col_pins[x]); - } -} - -static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { - // Store last value of row prior to reading - matrix_row_t last_row_value = current_matrix[current_row]; - - // Clear data in matrix row - current_matrix[current_row] = 0; - - // Select row and wait for row selecton to stabilize - select_row(current_row); - wait_us(30); - - // For each col... - for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { - - // Select the col pin to read (active low) - uint8_t pin_state = readPin(col_pins[col_index]); - - // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); - } - - // Unselect row - unselect_row(current_row); - - return (last_row_value != current_matrix[current_row]); -} - -#elif (DIODE_DIRECTION == ROW2COL) - -/* Cols 0 - 15 - * col 0: C7 - * col 1: B6 +/* col 0: C7 + * col 1: B6 * col 2: C6 - * col 3: B4 - * col 4: B5 - * col 5: D7 - * These columns use a 74HC237D 3 to 8 bit demultiplexer. - * A0 A1 A2 - * col / pin: PD2 PD1 PD0 - * 6: 1 1 1 - * 7: 0 1 1 - * 8: 1 0 1 - * 9: 0 0 1 - * 10: 1 1 0 - * 11: 0 1 0 - * 12: 1 0 0 - * col 13: D3 - * col 14: B7 - * col 15: B3 + * col 3: B4 + * col 4: B5 + * col 5: D7 + * + * These columns use a 74HC138 3 to 8 bit demultiplexer. + * A2 A1 A0 + * col / pin: PD0 PD1 PD2 + * 6: 1 1 1 + * 7: 1 1 0 + * 8: 1 0 1 + * 9: 1 0 0 + * 10: 0 1 1 + * 11: 0 1 0 + * 12: 0 0 1 + * + * col 13: D3 + * col 14: B7 + * col 15: B3 */ static void select_col(uint8_t col) { - switch (col) { - case 0: - writePinLow(C7); - break; - case 1: - writePinLow(B6); - break; - case 2: - writePinLow(C6); - break; - case 3: - writePinLow(B4); - break; - case 4: - writePinLow(B5); - break; - case 5: - writePinLow(D7); - break; - case 6: - writePinHigh(D0); - writePinHigh(D1); - writePinHigh(D2); - break; - case 7: - writePinHigh(D0); - writePinHigh(D1); - break; - case 8: - writePinHigh(D0); - writePinHigh(D2); - break; - case 9: - writePinHigh(D0); - break; - case 10: - writePinHigh(D1); - writePinHigh(D2); - break; - case 11: - writePinHigh(D1); - break; - case 12: - writePinHigh(D2); - break; - case 13: - writePinLow(D3); - break; - case 14: - writePinLow(B7); - break; - case 15: - writePinLow(B3); - break; + if (col_pins[col] != NO_PIN) { + writePinLow(col_pins[col]); + } else { + sn74x138_set_addr(13 - col); } } static void unselect_col(uint8_t col) { - switch (col) { - case 0: - writePinHigh(C7); - break; - case 1: - writePinHigh(B6); - break; - case 2: - writePinHigh(C6); - break; - case 3: - writePinHigh(B4); - break; - case 4: - writePinHigh(B5); - break; - case 5: - writePinHigh(D7); - break; - case 6: - writePinLow(D0); - writePinLow(D1); - writePinLow(D2); - break; - case 7: - writePinLow(D0); - writePinLow(D1); - break; - case 8: - writePinLow(D0); - writePinLow(D2); - break; - case 9: - writePinLow(D0); - break; - case 10: - writePinLow(D1); - writePinLow(D2); - break; - case 11: - writePinLow(D1); - break; - case 12: - writePinLow(D2); - break; - case 13: - writePinHigh(D3); - break; - case 14: - writePinHigh(B7); - break; - case 15: - writePinHigh(B3); - break; + if (col_pins[col] != NO_PIN) { + setPinOutput(col_pins[col]); + writePinHigh(col_pins[col]); + } else { + sn74x138_set_addr(0); } } static void unselect_cols(void) { - //Native - setPinOutput(D3); - setPinOutput(D7); - writePinHigh(D3); - writePinHigh(D7); - - setPinOutput(C6); - setPinOutput(C7); - writePinHigh(C6); - writePinHigh(C7); - - setPinOutput(B3); - setPinOutput(B4); - setPinOutput(B5); - setPinOutput(B6); - setPinOutput(B7); - writePinHigh(B3); - writePinHigh(B4); - writePinHigh(B5); - writePinHigh(B6); - writePinHigh(B7); + // Native + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + if (col_pins[x] != NO_PIN) { + setPinOutput(col_pins[x]); + writePinHigh(col_pins[x]); + } + } - //Demultiplexer - setPinOutput(D0); - setPinOutput(D1); - setPinOutput(D2); - writePinLow(D0); - writePinLow(D1); - writePinLow(D2); + // Demultiplexer + sn74x138_set_addr(0); } static void init_pins(void) { @@ -288,9 +86,9 @@ static void init_pins(void) { static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { bool matrix_changed = false; - // Select col and wait for col selecton to stabilize + // Select col and wait for col selection to stabilize select_col(current_col); - wait_us(30); + matrix_io_delay(); // For each row... for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) { @@ -318,27 +116,20 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) return matrix_changed; } -#endif - void matrix_init_custom(void) { // initialize key pins init_pins(); + // initialize demultiplexer + sn74x138_init(); } bool matrix_scan_custom(matrix_row_t current_matrix[]) { bool changed = false; -#if defined(DIRECT_PINS) || (DIODE_DIRECTION == COL2ROW) - // Set row, read cols - for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { - changed |= read_cols_on_row(current_matrix, current_row); - } -#elif (DIODE_DIRECTION == ROW2COL) // Set col, read rows for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { changed |= read_rows_on_col(current_matrix, current_col); } -#endif return changed; } diff --git a/keyboards/evyd13/wasdat/rules.mk b/keyboards/evyd13/wasdat/rules.mk index d9f65747fb38..bb4261a4fea4 100644 --- a/keyboards/evyd13/wasdat/rules.mk +++ b/keyboards/evyd13/wasdat/rules.mk @@ -18,6 +18,7 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = lite -SRC += matrix.c +VPATH += drivers/gpio +SRC += matrix.c sn74x138.c LAYOUTS = fullsize_ansi fullsize_iso tkl_ansi tkl_iso From 0452ad94791c99572c88af3cd5489ef3c0f9970f Mon Sep 17 00:00:00 2001 From: MasterSpoon <84671859+MasterSpoon@users.noreply.github.com> Date: Mon, 7 Feb 2022 03:04:43 +1000 Subject: [PATCH 0178/1832] Add RGB matrix & LED Matrix support for IS31FL3742A, IS31FL3743A, IS31FL3745, IS31FL3746A (#14989) Co-authored-by: Xelus22 <17491233+Xelus22@users.noreply.github.com> --- common_features.mk | 61 ++++- docs/feature_led_matrix.md | 103 ++++++++ docs/feature_rgb_matrix.md | 109 ++++++++ drivers/led/issi/is31fl3742.h | 299 ++++++++++++++++++++++ drivers/led/issi/is31fl3743.h | 327 ++++++++++++++++++++++++ drivers/led/issi/is31fl3745.h | 270 +++++++++++++++++++ drivers/led/issi/is31fl3746.h | 198 ++++++++++++++ drivers/led/issi/is31flcommon.c | 230 +++++++++++++++++ drivers/led/issi/is31flcommon.h | 78 ++++++ quantum/led_matrix/led_matrix.h | 2 + quantum/led_matrix/led_matrix_drivers.c | 52 +++- quantum/rgb_matrix/rgb_matrix.h | 2 + quantum/rgb_matrix/rgb_matrix_drivers.c | 52 +++- 13 files changed, 1779 insertions(+), 4 deletions(-) create mode 100644 drivers/led/issi/is31fl3742.h create mode 100644 drivers/led/issi/is31fl3743.h create mode 100644 drivers/led/issi/is31fl3745.h create mode 100644 drivers/led/issi/is31fl3746.h create mode 100644 drivers/led/issi/is31flcommon.c create mode 100644 drivers/led/issi/is31flcommon.h diff --git a/common_features.mk b/common_features.mk index 07e26a94468a..7ff19e808425 100644 --- a/common_features.mk +++ b/common_features.mk @@ -255,7 +255,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) endif LED_MATRIX_ENABLE ?= no -VALID_LED_MATRIX_TYPES := IS31FL3731 custom +VALID_LED_MATRIX_TYPES := IS31FL3731 IS31FL3742A IS31FL3743A IS31FL3745 IS31FL3746A custom # TODO: IS31FL3733 IS31FL3737 IS31FL3741 ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) @@ -282,11 +282,40 @@ endif SRC += is31fl3731-simple.c QUANTUM_LIB_SRC += i2c_master.c endif + + ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3742A) + OPT_DEFS += -DIS31FLCOMMON -DIS31FL3742A -DSTM32_I2C -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31flcommon.c + QUANTUM_LIB_SRC += i2c_master.c + endif + + ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3743A) + OPT_DEFS += -DIS31FLCOMMON -DIS31FL3743A -DSTM32_I2C -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31flcommon.c + QUANTUM_LIB_SRC += i2c_master.c + endif + + ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3745) + OPT_DEFS += -DIS31FLCOMMON -DIS31FL3745 -DSTM32_I2C -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31flcommon.c + QUANTUM_LIB_SRC += i2c_master.c + endif + + ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3746A) + OPT_DEFS += -DIS31FLCOMMON -DIS31FL3746A -DSTM32_I2C -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31flcommon.c + QUANTUM_LIB_SRC += i2c_master.c + endif + endif RGB_MATRIX_ENABLE ?= no -VALID_RGB_MATRIX_TYPES := AW20216 IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 CKLED2001 WS2812 custom +VALID_RGB_MATRIX_TYPES := AW20216 IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 IS31FL3742A IS31FL3743A IS31FL3745 IS31FL3746A CKLED2001 WS2812 custom ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type) @@ -341,6 +370,34 @@ endif QUANTUM_LIB_SRC += i2c_master.c endif + ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3742A) + OPT_DEFS += -DIS31FLCOMMON -DIS31FL3742A -DSTM32_I2C -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31flcommon.c + QUANTUM_LIB_SRC += i2c_master.c + endif + + ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3743A) + OPT_DEFS += -DIS31FLCOMMON -DIS31FL3743A -DSTM32_I2C -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31flcommon.c + QUANTUM_LIB_SRC += i2c_master.c + endif + + ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3745) + OPT_DEFS += -DIS31FLCOMMON -DIS31FL3745 -DSTM32_I2C -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31flcommon.c + QUANTUM_LIB_SRC += i2c_master.c + endif + + ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3746A) + OPT_DEFS += -DIS31FLCOMMON -DIS31FL3746A -DSTM32_I2C -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31flcommon.c + QUANTUM_LIB_SRC += i2c_master.c + endif + ifeq ($(strip $(RGB_MATRIX_DRIVER)), CKLED2001) OPT_DEFS += -DCKLED2001 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md index 37f38cc6eda1..37c74843aa62 100644 --- a/docs/feature_led_matrix.md +++ b/docs/feature_led_matrix.md @@ -67,6 +67,109 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/led/issi/is31fl3731-simple.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` ). +--- +### IS31FLCOMMON :id=is31flcommon + +There is basic support for addressable LED matrix lighting with a selection of I2C ISSI Lumissil LED controllers through a shared common driver. To enable it, add this to your `rules.mk`: + +```makefile +LED_MATRIX_ENABLE = yes +LED_MATRIX_DRIVER = +``` + +Where `` is the applicable LED driver chip as below + +| Driver Name | Data Sheet | Capability | +|-------------|------------|------------| +| `IS31FL3742A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3742A_DS.pdf) | 180 LED, 30x6 Matrix | +| `ISSIFL3743A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3743A_DS.pdf) | 198 LED, 18x11 Matrix | +| `IS31FL3745` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3745_DS.pdf) | 144 LED, 18x8 Matrix | +| `IS31FL3746A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3746A_DS.pdf) | 72 LED, 18x4 Matrix | + +You can use between 1 and 4 IC's. Do not specify `DRIVER_ADDR_` define for IC's if not present on your keyboard. The `DRIVER_ADDR_1` default assumes that all Address pins on the controller have been connected to GND. Drivers that have SYNC functionality have the default settings to disable if 1 driver. If more than 1 drivers then `DRIVER_ADDR_1` will be set to Master and the remaiing ones set to Slave. + +Configure the hardware via your `config.h`: + +| Variable | Description | Default | +|----------|-------------|---------| +| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | +| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | +| `DRIVER_COUNT` | (Required) How many LED driver IC's are present | | +| `DRIVER_LED_TOTAL` | (Required) How many LED lights are present across all drivers | | +| `DRIVER_ADDR_1` | (Optional) Address for the first LED driver | | +| `DRIVER_ADDR_` | (Required) Address for the additional LED drivers | | +| `ISSI_SSR_` | (Optional) Configuration for the Spread Spectrum Register | | +| `ISSI_CONFIGURATION` | (Optional) Configuration for the Configuration Register | | +| `ISSI_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF | +| `ISSI_PULLDOWNUP` | (Optional) Configuration for the Pull Up & Pull Down Register | | +| `ISSI_TEMP` | (Optional) Configuration for the Tempature Register | | +| `ISSI_PWM_ENABLE` | (Optional) Configuration for the PWM Enable Register | | +| `ISSI_PWM_SET` | (Optional) Configuration for the PWM Setting Register | | +| `ISSI_SCAL_LED ` | (Optional) Configuration for the LEDs Scaling Registers | 0xFF | +| `ISSI_MANUAL_SCALING` | (Optional) If you wish to configure the Scaling Registers manually | | + + +Defaults + +| Variable | IS31FL3742A | IS31FL3743A | IS31FL3745 | IS31FL3746 | +|----------|-------------|-------------|------------|------------| +| `DRIVER_ADDR_1` | 0b0110000 | 0b0100000 | 0b0100000 | 0b1100000 | +| `ISSI_SSR_1` | 0x00 | 0x00 / 0x60 | 0x00 / 0xC0 | 0x00 | +| `ISSI_SSR_<2-4>` | 0x00 | 0x40 | 0x80 | 0x00 | +| `ISSI_CONFIGURATION` | 0x31 | 0x01 | 0x31 | 0x01 | +| `ISSI_PULLDOWNUP` | 0x55 | 0x33 | 0x33 | 0x33 | +| `ISSI_TEMP` | N/A | 0x00 | 0x00 | 0x00 | +| `ISSI_PWM_ENABLE` | N/A | N/A | N/A | 0x00 | +| `ISSI_PWM_SET` | 0x00 | N/A | N/A | 0x00 | + +Here is an example using 2 drivers. + +```c +#define DRIVER_ADDR_2 0b0100001 + +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 66 +#define DRIVER_2_LED_TOTAL 42 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +``` +!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. + +Currently only 4 drivers are supported, but it would be trivial to support for more. Note that using a combination of different drivers is not supported. All drivers must be of the same model. + +Define these arrays listing all the LEDs in your `.c`: + +```c +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | LED address + * | | */ + { 0, CS1_SW1 }, + { 0, CS2_SW1 }, + // ... +} +``` + +Where `CSx_SWx` is the location of the LED in the matrix defined by the datasheet. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` for now). + +`ISSI_MANUAL_SCALING` is used to override the Scaling for individual LED's. By default they will be set as per `ISSI_SCAL_LED`. In `config.h` set how many LED's you want to manually set scaling for. +Eg `#define ISSI_MANUAL_SCALING 3` + +Then Define the array listing all the LEDs you want to override in your `.c`: + +```c +const is31_led __flash g_is31_scaling[ISSI_MANUAL_SCALING] = { + * LED Index + * | Scaling + * | | */ + {5, 120}, + {9, 120}, + .... +} +``` + +Where LED Index is the position of the LED in the `g_is31_leds` array. The `scaling` value between 0 and 255 to be written to the Scaling Register. + --- ## Common Configuration :id=common-configuration diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 831df3d44263..a021779d4305 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -232,6 +232,115 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3737.pdf) and the header file `drivers/led/issi/is31fl3737.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0`, `1` for now). +--- +### IS31FLCOMMON :id=is31flcommon + +There is basic support for addressable RGB matrix lighting with a selection of I2C ISSI Lumissil RGB controllers through a shared common driver. To enable it, add this to your `rules.mk`: + +```makefile +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = +``` + +Where `` is the applicable LED driver chip as below + +| Driver Name | Data Sheet | Capability | +|-------------|------------|------------| +| `IS31FL3742A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3742A_DS.pdf) | 60 RGB, 30x6 Matrix | +| `ISSIFL3743A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3743A_DS.pdf) | 66 RGB, 18x11 Matrix | +| `IS31FL3745` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3745_DS.pdf) | 48 RGB, 18x8 Matrix | +| `IS31FL3746A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3746A_DS.pdf) | 24 RGB, 18x4 Matrix | + +You can use between 1 and 4 IC's. Do not specify `DRIVER_ADDR_` define for IC's if not present on your keyboard. The `DRIVER_ADDR_1` default assumes that all Address pins on the controller have been connected to GND. Drivers that have SYNC functionality have the default settings to disable if 1 driver. If more than 1 drivers then `DRIVER_ADDR_1` will be set to Master and the remaining ones set to Slave. + +Configure the hardware via your `config.h`: + +| Variable | Description | Default | +|----------|-------------|---------| +| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | +| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | +| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | +| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | | +| `DRIVER_ADDR_1` | (Optional) Address for the first RGB driver | | +| `DRIVER_ADDR_` | (Required) Address for the additional RGB drivers | | +| `ISSI_SSR_` | (Optional) Configuration for the Spread Spectrum Register | | +| `ISSI_CONFIGURATION` | (Optional) Configuration for the Configuration Register | | +| `ISSI_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF | +| `ISSI_PULLDOWNUP` | (Optional) Configuration for the Pull Up & Pull Down Register | | +| `ISSI_TEMP` | (Optional) Configuration for the Tempature Register | | +| `ISSI_PWM_ENABLE` | (Optional) Configuration for the PWM Enable Register | | +| `ISSI_PWM_SET` | (Optional) Configuration for the PWM Setting Register | | +| `ISSI_SCAL_RED` | (Optional) Configuration for the RED LEDs in Scaling Registers | 0xFF | +| `ISSI_SCAL_BLUE` | (Optional) Configuration for the BLUE LEDs in Scaling Registers | 0xFF | +| `ISSI_SCAL_GREEN` | (Optional) Configuration for the GREEN LEDs in Scaling Registers | 0xFF | +| `ISSI_MANUAL_SCALING` | (Optional) If you wish to configure the Scaling Registers manually | | + + +Defaults + +| Variable | IS31FL3742A | IS31FL3743A | IS31FL3745 | IS31FL3746 | +|----------|-------------|-------------|------------|------------| +| `DRIVER_ADDR_1` | 0b0110000 | 0b0100000 | 0b0100000 | 0b1100000 | +| `ISSI_SSR_1` | 0x00 | 0x00 / 0x60 | 0x00 / 0xC0 | 0x00 | +| `ISSI_SSR_<2-4>` | 0x00 | 0x40 | 0x80 | 0x00 | +| `ISSI_CONFIGURATION` | 0x31 | 0x01 | 0x31 | 0x01 | +| `ISSI_PULLDOWNUP` | 0x55 | 0x33 | 0x33 | 0x33 | +| `ISSI_TEMP` | N/A | 0x00 | 0x00 | 0x00 | +| `ISSI_PWM_ENABLE` | N/A | N/A | N/A | 0x00 | +| `ISSI_PWM_SET` | 0x00 | N/A | N/A | 0x00 | + +Here is an example using 2 drivers. + +```c +#define DRIVER_ADDR_2 0b0100001 + +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 66 +#define DRIVER_2_LED_TOTAL 42 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +``` + +!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. + +Currently only 4 drivers are supported, but it would be trivial to support for more. Note that using a combination of different drivers is not supported. All drivers must be of the same model. + +Define these arrays listing all the LEDs in your `.c`: + +```c +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, CS1_SW1, CS2_SW1, CS3_SW1}, + .... +} +``` + +Where `CSx_SWx` is the location of the LED in the matrix defined by the datasheet. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` for now). + +`ISSI_MANUAL_SCALING` is used to override the Scaling for individual LED's. By default they will be set as per `ISSI_SCAL_`. In `config.h` set how many LED's you want to manually set scaling for. +Eg `#define ISSI_MANUAL_SCALING 3` + +Then Define the array listing all the LEDs you want to override in your `.c`: + +```c +const is31_led __flash g_is31_scaling[ISSI_MANUAL_SCALING] = { + * LED Index + * | R scaling + * | | G scaling + * | | | B scaling + * | | | | */ + {5, 120, 155, 167}, + {9, 120, 155, 167}, + .... +} +``` + +Where LED Index is the position of the LED in the `g_is31_leds` array. The `scaling` value between 0 and 255 to be written to the Scaling Register. + --- ### WS2812 :id=ws2812 diff --git a/drivers/led/issi/is31fl3742.h b/drivers/led/issi/is31fl3742.h new file mode 100644 index 000000000000..c96f12d0f1d4 --- /dev/null +++ b/drivers/led/issi/is31fl3742.h @@ -0,0 +1,299 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2020 MelGeek + * Copyright 2021 MasterSpoon + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// This is a 7-bit address, that gets left-shifted and bit 0 +// set to 0 for write, 1 for read (as per I2C protocol) +// The address will vary depending on your wiring: +// 00 <-> GND +// 01 <-> SCL +// 10 <-> SDA +// 11 <-> VCC +// ADDR represents A1:A0 of the 7-bit address. +// The result is: 0b01100(ADDR) +#ifndef DRIVER_ADDR_1 +# define DRIVER_ADDR_1 0b0110000 +#endif + +// Command Registers +#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE +#define ISSI_COMMANDREGISTER 0xFD +#define ISSI_IDREGISTER 0xFC +#define ISSI_REGISTER_UNLOCK 0xC5 + +// Response Registers +#define ISSI_PAGE_PWM 0x00 +#define ISSI_PAGE_SCALING 0x02 +#define ISSI_PAGE_FUNCTION 0x04 + +// Registers under Function Register +#define ISSI_REG_CONFIGURATION 0x00 +#define ISSI_REG_GLOBALCURRENT 0x01 +#define ISSI_REG_PULLDOWNUP 0x02 +#define ISSI_REG_SSR 0x41 +#define ISSI_REG_RESET 0x3F +#define ISSI_REG_PWM_SET 0x36 + +// Set defaults for Function Registers +#ifndef ISSI_CONFIGURATION +# define ISSI_CONFIGURATION 0x31 +#endif +#ifndef ISSI_GLOBALCURRENT +# define ISSI_GLOBALCURRENT 0xFF +#endif +#ifndef ISSI_PULLDOWNUP +# define ISSI_PULLDOWNUP 0x55 +#endif +#ifndef ISSI_PWM_SET +# define ISSI_PWM_SET 0x00 +#endif + +// Set defaults for Spread Spectrum Register +#ifndef ISSI_SSR_1 +# define ISSI_SSR_1 0x00 +#endif +#ifndef ISSI_SSR_2 +# define ISSI_SSR_2 0x00 +#endif +#ifndef ISSI_SSR_3 +# define ISSI_SSR_3 0x00 +#endif +#ifndef ISSI_SSR_4 +# define ISSI_SSR_4 0x00 +#endif + +// Set defaults for Scaling registers +#ifndef ISSI_SCAL_RED +# define ISSI_SCAL_RED 0xFF +#endif +#ifndef ISSI_SCAL_BLUE +# define ISSI_SCAL_BLUE 0xFF +#endif +#ifndef ISSI_SCAL_GREEN +# define ISSI_SCAL_GREEN 0xFF +#endif +#define ISSI_SCAL_RED_OFF 0x00 +#define ISSI_SCAL_GREEN_OFF 0x00 +#define ISSI_SCAL_BLUE_OFF 0x00 + +#ifndef ISSI_SCAL_LED +# define ISSI_SCAL_LED 0xFF +#endif +#define ISSI_SCAL_LED_OFF 0x00 + +// Set buffer sizes +#define ISSI_MAX_LEDS 180 +#define ISSI_SCALING_SIZE 180 +#define ISSI_PWM_TRF_SIZE 18 +#define ISSI_SCALING_TRF_SIZE 18 + +// Location of 1st bit for PWM and Scaling registers +#define ISSI_PWM_REG_1ST 0x00 +#define ISSI_SCL_REG_1ST 0x00 + +// Map CS SW locations to order in PWM / Scaling buffers +// This matches the ORDER in the Datasheet Register not the POSITION +// It will always count from 0x00 to (ISSI_MAX_LEDS - 1) +#define CS1_SW1 0x00 +#define CS2_SW1 0x01 +#define CS3_SW1 0x02 +#define CS4_SW1 0x03 +#define CS5_SW1 0x04 +#define CS6_SW1 0x05 +#define CS7_SW1 0x06 +#define CS8_SW1 0x07 +#define CS9_SW1 0x08 +#define CS10_SW1 0x09 +#define CS11_SW1 0x0A +#define CS12_SW1 0x0B +#define CS13_SW1 0x0C +#define CS14_SW1 0x0D +#define CS15_SW1 0x0E +#define CS16_SW1 0x0F +#define CS17_SW1 0x10 +#define CS18_SW1 0x11 +#define CS19_SW1 0x12 +#define CS20_SW1 0x13 +#define CS21_SW1 0x14 +#define CS22_SW1 0x15 +#define CS23_SW1 0x16 +#define CS24_SW1 0x17 +#define CS25_SW1 0x18 +#define CS26_SW1 0x19 +#define CS27_SW1 0x1A +#define CS28_SW1 0x1B +#define CS29_SW1 0x1C +#define CS30_SW1 0x1D + +#define CS1_SW2 0x1E +#define CS2_SW2 0x1F +#define CS3_SW2 0x20 +#define CS4_SW2 0x21 +#define CS5_SW2 0x22 +#define CS6_SW2 0x23 +#define CS7_SW2 0x24 +#define CS8_SW2 0x25 +#define CS9_SW2 0x26 +#define CS10_SW2 0x27 +#define CS11_SW2 0x28 +#define CS12_SW2 0x29 +#define CS13_SW2 0x2A +#define CS14_SW2 0x2B +#define CS15_SW2 0x2C +#define CS16_SW2 0x2D +#define CS17_SW2 0x2E +#define CS18_SW2 0x2F +#define CS19_SW2 0x30 +#define CS20_SW2 0x31 +#define CS21_SW2 0x32 +#define CS22_SW2 0x33 +#define CS23_SW2 0x34 +#define CS24_SW2 0x35 +#define CS25_SW2 0x36 +#define CS26_SW2 0x37 +#define CS27_SW2 0x38 +#define CS28_SW2 0x39 +#define CS29_SW2 0x3A +#define CS30_SW2 0x3B + +#define CS1_SW3 0x3C +#define CS2_SW3 0x3D +#define CS3_SW3 0x3E +#define CS4_SW3 0x3F +#define CS5_SW3 0x40 +#define CS6_SW3 0x41 +#define CS7_SW3 0x42 +#define CS8_SW3 0x43 +#define CS9_SW3 0x44 +#define CS10_SW3 0x45 +#define CS11_SW3 0x46 +#define CS12_SW3 0x47 +#define CS13_SW3 0x48 +#define CS14_SW3 0x49 +#define CS15_SW3 0x4A +#define CS16_SW3 0x4B +#define CS17_SW3 0x4C +#define CS18_SW3 0x4D +#define CS19_SW3 0x4E +#define CS20_SW3 0x4F +#define CS21_SW3 0x50 +#define CS22_SW3 0x51 +#define CS23_SW3 0x52 +#define CS24_SW3 0x53 +#define CS25_SW3 0x54 +#define CS26_SW3 0x55 +#define CS27_SW3 0x56 +#define CS28_SW3 0x57 +#define CS29_SW3 0x58 +#define CS30_SW3 0x59 + +#define CS1_SW4 0x5A +#define CS2_SW4 0x5B +#define CS3_SW4 0x5C +#define CS4_SW4 0x5D +#define CS5_SW4 0x5E +#define CS6_SW4 0x5F +#define CS7_SW4 0x60 +#define CS8_SW4 0x61 +#define CS9_SW4 0x62 +#define CS10_SW4 0x63 +#define CS11_SW4 0x64 +#define CS12_SW4 0x65 +#define CS13_SW4 0x66 +#define CS14_SW4 0x67 +#define CS15_SW4 0x68 +#define CS16_SW4 0x69 +#define CS17_SW4 0x6A +#define CS18_SW4 0x6B +#define CS19_SW4 0x6C +#define CS20_SW4 0x6D +#define CS21_SW4 0x6E +#define CS22_SW4 0x6F +#define CS23_SW4 0x70 +#define CS24_SW4 0x71 +#define CS25_SW4 0x72 +#define CS26_SW4 0x73 +#define CS27_SW4 0x74 +#define CS28_SW4 0x75 +#define CS29_SW4 0x76 +#define CS30_SW4 0x77 + +#define CS1_SW5 0x78 +#define CS2_SW5 0x79 +#define CS3_SW5 0x7A +#define CS4_SW5 0x7B +#define CS5_SW5 0x7C +#define CS6_SW5 0x7D +#define CS7_SW5 0x7E +#define CS8_SW5 0x7F +#define CS9_SW5 0x80 +#define CS10_SW5 0x81 +#define CS11_SW5 0x82 +#define CS12_SW5 0x83 +#define CS13_SW5 0x84 +#define CS14_SW5 0x85 +#define CS15_SW5 0x86 +#define CS16_SW5 0x87 +#define CS17_SW5 0x88 +#define CS18_SW5 0x89 +#define CS19_SW5 0x8A +#define CS20_SW5 0x8B +#define CS21_SW5 0x8C +#define CS22_SW5 0x8D +#define CS23_SW5 0x8E +#define CS24_SW5 0x8F +#define CS25_SW5 0x90 +#define CS26_SW5 0x91 +#define CS27_SW5 0x92 +#define CS28_SW5 0x93 +#define CS29_SW5 0x94 +#define CS30_SW5 0x95 + +#define CS1_SW6 0x96 +#define CS2_SW6 0x97 +#define CS3_SW6 0x98 +#define CS4_SW6 0x99 +#define CS5_SW6 0x9A +#define CS6_SW6 0x9B +#define CS7_SW6 0x9C +#define CS8_SW6 0x9D +#define CS9_SW6 0x9E +#define CS10_SW6 0x9F +#define CS11_SW6 0xA0 +#define CS12_SW6 0xA1 +#define CS13_SW6 0xA2 +#define CS14_SW6 0xA3 +#define CS15_SW6 0xA4 +#define CS16_SW6 0xA5 +#define CS17_SW6 0xA6 +#define CS18_SW6 0xA7 +#define CS19_SW6 0xA8 +#define CS20_SW6 0xA9 +#define CS21_SW6 0xAA +#define CS22_SW6 0xAB +#define CS23_SW6 0xAC +#define CS24_SW6 0xAD +#define CS25_SW6 0xAE +#define CS26_SW6 0xAF +#define CS27_SW6 0xB0 +#define CS28_SW6 0xB1 +#define CS29_SW6 0xB2 +#define CS30_SW6 0xB3 diff --git a/drivers/led/issi/is31fl3743.h b/drivers/led/issi/is31fl3743.h new file mode 100644 index 000000000000..d8fcd790963b --- /dev/null +++ b/drivers/led/issi/is31fl3743.h @@ -0,0 +1,327 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2020 MelGeek + * Copyright 2021 MasterSpoon + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// This is a 7-bit address, that gets left-shifted and bit 0 +// set to 0 for write, 1 for read (as per I2C protocol) +// The address will vary depending on your wiring: +// 00 <-> GND +// 01 <-> SCL +// 10 <-> SDA +// 11 <-> VCC +// ADDR1 represents A1:A0 of the 7-bit address. +// ADDR2 represents A3:A2 of the 7-bit address. +// The result is: 0b010(ADDR2)(ADDR1) +#ifndef DRIVER_ADDR_1 +# define DRIVER_ADDR_1 0b0100000 +#endif + +// Set defaults for Spread Spectrum Register +#ifndef ISSI_SSR_1 +# if DRIVER_COUNT == 1 +# define ISSI_SSR_1 0x00 +# else +# define ISSI_SSR_1 0xC0 +# endif +#endif +#ifndef ISSI_SSR_2 +# define ISSI_SSR_2 0x80 +#endif +#ifndef ISSI_SSR_3 +# define ISSI_SSR_3 0x80 +#endif +#ifndef ISSI_SSR_4 +# define ISSI_SSR_4 0x80 +#endif + +// Command Registers +#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE +#define ISSI_COMMANDREGISTER 0xFD +#define ISSI_IDREGISTER 0xFC +#define ISSI_REGISTER_UNLOCK 0xC5 + +// Response Registers +#define ISSI_PAGE_PWM 0x00 +#define ISSI_PAGE_SCALING 0x01 +#define ISSI_PAGE_FUNCTION 0x02 + +// Registers under Function Register +#define ISSI_REG_CONFIGURATION 0x00 +#define ISSI_REG_GLOBALCURRENT 0x01 +#define ISSI_REG_PULLDOWNUP 0x02 +#define ISSI_REG_TEMP 0x24 +#define ISSI_REG_SSR 0x25 +#define ISSI_REG_RESET 0x2F + +// Set defaults for Function Registers +#ifndef ISSI_CONFIGURATION +# define ISSI_CONFIGURATION 0x01 +#endif +#ifndef ISSI_GLOBALCURRENT +# define ISSI_GLOBALCURRENT 0xFF +#endif +#ifndef ISSI_PULLDOWNUP +# define ISSI_PULLDOWNUP 0x33 +#endif +#ifndef ISSI_TEMP +# define ISSI_TEMP 0x00 +#endif + +// Set defaults for Scaling registers +#ifndef ISSI_SCAL_RED +# define ISSI_SCAL_RED 0xFF +#endif +#ifndef ISSI_SCAL_BLUE +# define ISSI_SCAL_BLUE 0xFF +#endif +#ifndef ISSI_SCAL_GREEN +# define ISSI_SCAL_GREEN 0xFF +#endif +#define ISSI_SCAL_RED_OFF 0x00 +#define ISSI_SCAL_GREEN_OFF 0x00 +#define ISSI_SCAL_BLUE_OFF 0x00 + +#ifndef ISSI_SCAL_LED +# define ISSI_SCAL_LED 0xFF +#endif +#define ISSI_SCAL_LED_OFF 0x00 + +// Set buffer sizes +#define ISSI_MAX_LEDS 198 +#define ISSI_SCALING_SIZE 198 +#define ISSI_PWM_TRF_SIZE 18 +#define ISSI_SCALING_TRF_SIZE 18 + +// Location of 1st bit for PWM and Scaling registers +#define ISSI_PWM_REG_1ST 0x01 +#define ISSI_SCL_REG_1ST 0x01 + +// Map CS SW locations to order in PWM / Scaling buffers +// This matches the ORDER in the Datasheet Register not the POSITION +// It will always count from 0x00 to (ISSI_MAX_LEDS - 1) +#define CS1_SW1 0x00 +#define CS2_SW1 0x01 +#define CS3_SW1 0x02 +#define CS4_SW1 0x03 +#define CS5_SW1 0x04 +#define CS6_SW1 0x05 +#define CS7_SW1 0x06 +#define CS8_SW1 0x07 +#define CS9_SW1 0x08 +#define CS10_SW1 0x09 +#define CS11_SW1 0x0A +#define CS12_SW1 0x0B +#define CS13_SW1 0x0C +#define CS14_SW1 0x0D +#define CS15_SW1 0x0E +#define CS16_SW1 0x0F +#define CS17_SW1 0x10 +#define CS18_SW1 0x11 + +#define CS1_SW2 0x12 +#define CS2_SW2 0x13 +#define CS3_SW2 0x14 +#define CS4_SW2 0x15 +#define CS5_SW2 0x16 +#define CS6_SW2 0x17 +#define CS7_SW2 0x18 +#define CS8_SW2 0x19 +#define CS9_SW2 0x1A +#define CS10_SW2 0x1B +#define CS11_SW2 0x1C +#define CS12_SW2 0x1D +#define CS13_SW2 0x1E +#define CS14_SW2 0x1F +#define CS15_SW2 0x20 +#define CS16_SW2 0x21 +#define CS17_SW2 0x22 +#define CS18_SW2 0x23 + +#define CS1_SW3 0x24 +#define CS2_SW3 0x25 +#define CS3_SW3 0x26 +#define CS4_SW3 0x27 +#define CS5_SW3 0x28 +#define CS6_SW3 0x29 +#define CS7_SW3 0x2A +#define CS8_SW3 0x2B +#define CS9_SW3 0x2C +#define CS10_SW3 0x2D +#define CS11_SW3 0x2E +#define CS12_SW3 0x2F +#define CS13_SW3 0x30 +#define CS14_SW3 0x31 +#define CS15_SW3 0x32 +#define CS16_SW3 0x33 +#define CS17_SW3 0x34 +#define CS18_SW3 0x35 + +#define CS1_SW4 0x36 +#define CS2_SW4 0x37 +#define CS3_SW4 0x38 +#define CS4_SW4 0x39 +#define CS5_SW4 0x3A +#define CS6_SW4 0x3B +#define CS7_SW4 0x3C +#define CS8_SW4 0x3D +#define CS9_SW4 0x3E +#define CS10_SW4 0x3F +#define CS11_SW4 0x40 +#define CS12_SW4 0x41 +#define CS13_SW4 0x42 +#define CS14_SW4 0x43 +#define CS15_SW4 0x44 +#define CS16_SW4 0x45 +#define CS17_SW4 0x46 +#define CS18_SW4 0x47 + +#define CS1_SW5 0x48 +#define CS2_SW5 0x49 +#define CS3_SW5 0x4A +#define CS4_SW5 0x4B +#define CS5_SW5 0x4C +#define CS6_SW5 0x4D +#define CS7_SW5 0x4E +#define CS8_SW5 0x4F +#define CS9_SW5 0x50 +#define CS10_SW5 0x51 +#define CS11_SW5 0x52 +#define CS12_SW5 0x53 +#define CS13_SW5 0x54 +#define CS14_SW5 0x55 +#define CS15_SW5 0x56 +#define CS16_SW5 0x57 +#define CS17_SW5 0x58 +#define CS18_SW5 0x59 + +#define CS1_SW6 0x5A +#define CS2_SW6 0x5B +#define CS3_SW6 0x5C +#define CS4_SW6 0x5D +#define CS5_SW6 0x5E +#define CS6_SW6 0x5F +#define CS7_SW6 0x60 +#define CS8_SW6 0x61 +#define CS9_SW6 0x62 +#define CS10_SW6 0x63 +#define CS11_SW6 0x64 +#define CS12_SW6 0x65 +#define CS13_SW6 0x66 +#define CS14_SW6 0x67 +#define CS15_SW6 0x68 +#define CS16_SW6 0x69 +#define CS17_SW6 0x6A +#define CS18_SW6 0x6B + +#define CS1_SW7 0x6C +#define CS2_SW7 0x6D +#define CS3_SW7 0x6E +#define CS4_SW7 0x6F +#define CS5_SW7 0x70 +#define CS6_SW7 0x71 +#define CS7_SW7 0x72 +#define CS8_SW7 0x73 +#define CS9_SW7 0x74 +#define CS10_SW7 0x75 +#define CS11_SW7 0x76 +#define CS12_SW7 0x77 +#define CS13_SW7 0x78 +#define CS14_SW7 0x79 +#define CS15_SW7 0x7A +#define CS16_SW7 0x7B +#define CS17_SW7 0x7C +#define CS18_SW7 0x7D + +#define CS1_SW8 0x7E +#define CS2_SW8 0x7F +#define CS3_SW8 0x80 +#define CS4_SW8 0x81 +#define CS5_SW8 0x82 +#define CS6_SW8 0x83 +#define CS7_SW8 0x84 +#define CS8_SW8 0x85 +#define CS9_SW8 0x86 +#define CS10_SW8 0x87 +#define CS11_SW8 0x88 +#define CS12_SW8 0x89 +#define CS13_SW8 0x8A +#define CS14_SW8 0x8B +#define CS15_SW8 0x8C +#define CS16_SW8 0x8D +#define CS17_SW8 0x8E +#define CS18_SW8 0x8F + +#define CS1_SW9 0x90 +#define CS2_SW9 0x91 +#define CS3_SW9 0x92 +#define CS4_SW9 0x93 +#define CS5_SW9 0x94 +#define CS6_SW9 0x95 +#define CS7_SW9 0x96 +#define CS8_SW9 0x97 +#define CS9_SW9 0x98 +#define CS10_SW9 0x99 +#define CS11_SW9 0x9A +#define CS12_SW9 0x9B +#define CS13_SW9 0x9C +#define CS14_SW9 0x9D +#define CS15_SW9 0x9E +#define CS16_SW9 0x9F +#define CS17_SW9 0xA0 +#define CS18_SW9 0xA1 + +#define CS1_SW10 0xA2 +#define CS2_SW10 0xA3 +#define CS3_SW10 0xA4 +#define CS4_SW10 0xA5 +#define CS5_SW10 0xA6 +#define CS6_SW10 0xA7 +#define CS7_SW10 0xA8 +#define CS8_SW10 0xA9 +#define CS9_SW10 0xAA +#define CS10_SW10 0xAB +#define CS11_SW10 0xAC +#define CS12_SW10 0xAD +#define CS13_SW10 0xAE +#define CS14_SW10 0xAF +#define CS15_SW10 0xB0 +#define CS16_SW10 0xB1 +#define CS17_SW10 0xB2 +#define CS18_SW10 0xB3 + +#define CS1_SW11 0xB4 +#define CS2_SW11 0xB5 +#define CS3_SW11 0xB6 +#define CS4_SW11 0xB7 +#define CS5_SW11 0xB8 +#define CS6_SW11 0xB9 +#define CS7_SW11 0xBA +#define CS8_SW11 0xBB +#define CS9_SW11 0xBC +#define CS10_SW11 0xBD +#define CS11_SW11 0xBE +#define CS12_SW11 0xBF +#define CS13_SW11 0xC0 +#define CS14_SW11 0xC1 +#define CS15_SW11 0xC2 +#define CS16_SW11 0xC3 +#define CS17_SW11 0xC4 +#define CS18_SW11 0xC5 diff --git a/drivers/led/issi/is31fl3745.h b/drivers/led/issi/is31fl3745.h new file mode 100644 index 000000000000..ca5dd4a986a8 --- /dev/null +++ b/drivers/led/issi/is31fl3745.h @@ -0,0 +1,270 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2020 MelGeek + * Copyright 2021 MasterSpoon + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// This is a 7-bit address, that gets left-shifted and bit 0 +// set to 0 for write, 1 for read (as per I2C protocol) +// The address will vary depending on your wiring: +// 00 <-> GND +// 01 <-> SCL +// 10 <-> SDA +// 11 <-> VCC +// ADDR1 represents A1:A0 of the 7-bit address. +// ADDR2 represents A3:A2 of the 7-bit address. +// The result is: 0b010(ADDR2)(ADDR1) +#ifndef DRIVER_ADDR_1 +# define DRIVER_ADDR_1 0b0100000 +#endif + +// Set defaults for Spread Spectrum Register +#ifndef ISSI_SSR_1 +# if DRIVER_COUNT == 1 +# define ISSI_SSR_1 0x00 +# else +# define ISSI_SSR_1 0xC0 +# endif +#endif +#ifndef ISSI_SSR_2 +# define ISSI_SSR_2 0x80 +#endif +#ifndef ISSI_SSR_3 +# define ISSI_SSR_3 0x80 +#endif +#ifndef ISSI_SSR_4 +# define ISSI_SSR_4 0x80 +#endif + +// Command Registers +#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE +#define ISSI_COMMANDREGISTER 0xFD +#define ISSI_IDREGISTER 0xFC +#define ISSI_REGISTER_UNLOCK 0xC5 + +// Response Registers +#define ISSI_PAGE_PWM 0x00 +#define ISSI_PAGE_SCALING 0x01 +#define ISSI_PAGE_FUNCTION 0x02 + +// Registers under Function Register +#define ISSI_REG_CONFIGURATION 0x00 +#define ISSI_REG_GLOBALCURRENT 0x01 +#define ISSI_REG_PULLDOWNUP 0x02 +#define ISSI_REG_TEMP 0x24 +#define ISSI_REG_SSR 0x25 +#define ISSI_REG_RESET 0x2F + +// Set defaults for Function Registers +#ifndef ISSI_CONFIGURATION +# define ISSI_CONFIGURATION 0x31 +#endif +#ifndef ISSI_GLOBALCURRENT +# define ISSI_GLOBALCURRENT 0xFF +#endif +#ifndef ISSI_PULLDOWNUP +# define ISSI_PULLDOWNUP 0x33 +#endif +#ifndef ISSI_TEMP +# define ISSI_TEMP 0x00 +#endif + +// Set defaults for Scaling registers +#ifndef ISSI_SCAL_RED +# define ISSI_SCAL_RED 0xFF +#endif +#ifndef ISSI_SCAL_BLUE +# define ISSI_SCAL_BLUE 0xFF +#endif +#ifndef ISSI_SCAL_GREEN +# define ISSI_SCAL_GREEN 0xFF +#endif +#define ISSI_SCAL_RED_OFF 0x00 +#define ISSI_SCAL_GREEN_OFF 0x00 +#define ISSI_SCAL_BLUE_OFF 0x00 + +#ifndef ISSI_SCAL_LED +# define ISSI_SCAL_LED 0xFF +#endif +#define ISSI_SCAL_LED_OFF 0x00 + +// Set buffer sizes +#define ISSI_MAX_LEDS 144 +#define ISSI_SCALING_SIZE 144 +#define ISSI_PWM_TRF_SIZE 18 +#define ISSI_SCALING_TRF_SIZE 18 + +// Location of 1st bit for PWM and Scaling registers +#define ISSI_PWM_REG_1ST 0x01 +#define ISSI_SCL_REG_1ST 0x01 + +// Map CS SW locations to order in PWM / Scaling buffers +// This matches the ORDER in the Datasheet Register not the POSITION +// It will always count from 0x00 to (ISSI_MAX_LEDS - 1) +#define CS1_SW1 0x00 +#define CS2_SW1 0x01 +#define CS3_SW1 0x02 +#define CS4_SW1 0x03 +#define CS5_SW1 0x04 +#define CS6_SW1 0x05 +#define CS7_SW1 0x06 +#define CS8_SW1 0x07 +#define CS9_SW1 0x08 +#define CS10_SW1 0x09 +#define CS11_SW1 0x0A +#define CS12_SW1 0x0B +#define CS13_SW1 0x0C +#define CS14_SW1 0x0D +#define CS15_SW1 0x0E +#define CS16_SW1 0x0F +#define CS17_SW1 0x10 +#define CS18_SW1 0x11 + +#define CS1_SW2 0x12 +#define CS2_SW2 0x13 +#define CS3_SW2 0x14 +#define CS4_SW2 0x15 +#define CS5_SW2 0x16 +#define CS6_SW2 0x17 +#define CS7_SW2 0x18 +#define CS8_SW2 0x19 +#define CS9_SW2 0x1A +#define CS10_SW2 0x1B +#define CS11_SW2 0x1C +#define CS12_SW2 0x1D +#define CS13_SW2 0x1E +#define CS14_SW2 0x1F +#define CS15_SW2 0x20 +#define CS16_SW2 0x21 +#define CS17_SW2 0x22 +#define CS18_SW2 0x23 + +#define CS1_SW3 0x24 +#define CS2_SW3 0x25 +#define CS3_SW3 0x26 +#define CS4_SW3 0x27 +#define CS5_SW3 0x28 +#define CS6_SW3 0x29 +#define CS7_SW3 0x2A +#define CS8_SW3 0x2B +#define CS9_SW3 0x2C +#define CS10_SW3 0x2D +#define CS11_SW3 0x2E +#define CS12_SW3 0x2F +#define CS13_SW3 0x30 +#define CS14_SW3 0x31 +#define CS15_SW3 0x32 +#define CS16_SW3 0x33 +#define CS17_SW3 0x34 +#define CS18_SW3 0x35 + +#define CS1_SW4 0x36 +#define CS2_SW4 0x37 +#define CS3_SW4 0x38 +#define CS4_SW4 0x39 +#define CS5_SW4 0x3A +#define CS6_SW4 0x3B +#define CS7_SW4 0x3C +#define CS8_SW4 0x3D +#define CS9_SW4 0x3E +#define CS10_SW4 0x3F +#define CS11_SW4 0x40 +#define CS12_SW4 0x41 +#define CS13_SW4 0x42 +#define CS14_SW4 0x43 +#define CS15_SW4 0x44 +#define CS16_SW4 0x45 +#define CS17_SW4 0x46 +#define CS18_SW4 0x47 + +#define CS1_SW5 0x48 +#define CS2_SW5 0x49 +#define CS3_SW5 0x4A +#define CS4_SW5 0x4B +#define CS5_SW5 0x4C +#define CS6_SW5 0x4D +#define CS7_SW5 0x4E +#define CS8_SW5 0x4F +#define CS9_SW5 0x50 +#define CS10_SW5 0x51 +#define CS11_SW5 0x52 +#define CS12_SW5 0x53 +#define CS13_SW5 0x54 +#define CS14_SW5 0x55 +#define CS15_SW5 0x56 +#define CS16_SW5 0x57 +#define CS17_SW5 0x58 +#define CS18_SW5 0x59 + +#define CS1_SW6 0x5A +#define CS2_SW6 0x5B +#define CS3_SW6 0x5C +#define CS4_SW6 0x5D +#define CS5_SW6 0x5E +#define CS6_SW6 0x5F +#define CS7_SW6 0x60 +#define CS8_SW6 0x61 +#define CS9_SW6 0x62 +#define CS10_SW6 0x63 +#define CS11_SW6 0x64 +#define CS12_SW6 0x65 +#define CS13_SW6 0x66 +#define CS14_SW6 0x67 +#define CS15_SW6 0x68 +#define CS16_SW6 0x69 +#define CS17_SW6 0x6A +#define CS18_SW6 0x6B + +#define CS1_SW7 0x6C +#define CS2_SW7 0x6D +#define CS3_SW7 0x6E +#define CS4_SW7 0x6F +#define CS5_SW7 0x70 +#define CS6_SW7 0x71 +#define CS7_SW7 0x72 +#define CS8_SW7 0x73 +#define CS9_SW7 0x74 +#define CS10_SW7 0x75 +#define CS11_SW7 0x76 +#define CS12_SW7 0x77 +#define CS13_SW7 0x78 +#define CS14_SW7 0x79 +#define CS15_SW7 0x7A +#define CS16_SW7 0x7B +#define CS17_SW7 0x7C +#define CS18_SW7 0x7D + +#define CS1_SW8 0x7E +#define CS2_SW8 0x7F +#define CS3_SW8 0x80 +#define CS4_SW8 0x81 +#define CS5_SW8 0x82 +#define CS6_SW8 0x83 +#define CS7_SW8 0x84 +#define CS8_SW8 0x85 +#define CS9_SW8 0x86 +#define CS10_SW8 0x87 +#define CS11_SW8 0x88 +#define CS12_SW8 0x89 +#define CS13_SW8 0x8A +#define CS14_SW8 0x8B +#define CS15_SW8 0x8C +#define CS16_SW8 0x8D +#define CS17_SW8 0x8E +#define CS18_SW8 0x8F diff --git a/drivers/led/issi/is31fl3746.h b/drivers/led/issi/is31fl3746.h new file mode 100644 index 000000000000..f89f281533c2 --- /dev/null +++ b/drivers/led/issi/is31fl3746.h @@ -0,0 +1,198 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2020 MelGeek + * Copyright 2021 MasterSpoon + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// This is a 7-bit address, that gets left-shifted and bit 0 +// set to 0 for write, 1 for read (as per I2C protocol) +// The address will vary depending on your wiring: +// 00 <-> GND +// 01 <-> SCL +// 10 <-> SDA +// 11 <-> VCC +// ADDR1 represents A1:A0 of the 7-bit address. +// ADDR2 represents A3:A2 of the 7-bit address. +// The result is: 0b110(ADDR2)(ADDR1) +#ifndef DRIVER_ADDR_1 +# define DRIVER_ADDR_1 0b1100000 +#endif + +// Set defaults for Spread Spectrum Register +#ifndef ISSI_SSR_1 +# define ISSI_SSR_1 0x00 +#endif +#ifndef ISSI_SSR_2 +# define ISSI_SSR_2 0x00 +#endif +#ifndef ISSI_SSR_3 +# define ISSI_SSR_3 0x00 +#endif +#ifndef ISSI_SSR_4 +# define ISSI_SSR_4 0x00 +#endif + +// Command Registers +#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE +#define ISSI_COMMANDREGISTER 0xFD +#define ISSI_IDREGISTER 0xFC +#define ISSI_REGISTER_UNLOCK 0xC5 + +// Response Registers +#define ISSI_PAGE_PWM 0x00 +#define ISSI_PAGE_SCALING 0x01 +#define ISSI_PAGE_FUNCTION 0x01 + +// Registers under Function Register +#define ISSI_REG_CONFIGURATION 0x50 +#define ISSI_REG_GLOBALCURRENT 0x51 +#define ISSI_REG_PULLDOWNUP 0x52 +#define ISSI_REG_TEMP 0x5F +#define ISSI_REG_SSR 0x60 +#define ISSI_REG_RESET 0x8F +#define ISSI_REG_PWM_ENABLE 0xE0 +#define ISSI_REG_PWM_SET 0xE2 + +// Set defaults for Function Registers +#ifndef ISSI_CONFIGURATION +# define ISSI_CONFIGURATION 0x01 +#endif +#ifndef ISSI_GLOBALCURRENT +# define ISSI_GLOBALCURRENT 0xFF +#endif +#ifndef ISSI_PULLDOWNUP +# define ISSI_PULLDOWNUP 0x33 +#endif +#ifndef ISSI_TEMP +# define ISSI_TEMP 0x00 +#endif +#ifndef ISSI_PWM_ENABLE +# define ISSI_PWM_ENABLE 0x00 +#endif +#ifndef ISSI_PWM_SET +# define ISSI_PWM_SET 0x00 +#endif + +// Set defaults for Scaling registers +#ifndef ISSI_SCAL_RED +# define ISSI_SCAL_RED 0xFF +#endif +#ifndef ISSI_SCAL_BLUE +# define ISSI_SCAL_BLUE 0xFF +#endif +#ifndef ISSI_SCAL_GREEN +# define ISSI_SCAL_GREEN 0xFF +#endif +#define ISSI_SCAL_RED_OFF 0x00 +#define ISSI_SCAL_GREEN_OFF 0x00 +#define ISSI_SCAL_BLUE_OFF 0x00 + +#ifndef ISSI_SCAL_LED +# define ISSI_SCAL_LED 0xFF +#endif +#define ISSI_SCAL_LED_OFF 0x00 + +// Set buffer sizes +#define ISSI_MAX_LEDS 72 +#define ISSI_SCALING_SIZE 72 +#define ISSI_PWM_TRF_SIZE 18 +#define ISSI_SCALING_TRF_SIZE 18 + +// Location of 1st bit for PWM and Scaling registers +#define ISSI_PWM_REG_1ST 0x01 +#define ISSI_SCL_REG_1ST 0x01 + +// Map CS SW locations to order in PWM / Scaling buffers +// This matches the ORDER in the Datasheet Register not the POSITION +// It will always count from 0x00 to (ISSI_MAX_LEDS - 1) +#define CS1_SW1 0x00 +#define CS2_SW1 0x01 +#define CS3_SW1 0x02 +#define CS4_SW1 0x03 +#define CS5_SW1 0x04 +#define CS6_SW1 0x05 +#define CS7_SW1 0x06 +#define CS8_SW1 0x07 +#define CS9_SW1 0x08 +#define CS10_SW1 0x09 +#define CS11_SW1 0x0A +#define CS12_SW1 0x0B +#define CS13_SW1 0x0C +#define CS14_SW1 0x0D +#define CS15_SW1 0x0E +#define CS16_SW1 0x0F +#define CS17_SW1 0x10 +#define CS18_SW1 0x11 + +#define CS1_SW2 0x12 +#define CS2_SW2 0x13 +#define CS3_SW2 0x14 +#define CS4_SW2 0x15 +#define CS5_SW2 0x16 +#define CS6_SW2 0x17 +#define CS7_SW2 0x18 +#define CS8_SW2 0x19 +#define CS9_SW2 0x1A +#define CS10_SW2 0x1B +#define CS11_SW2 0x1C +#define CS12_SW2 0x1D +#define CS13_SW2 0x1E +#define CS14_SW2 0x1F +#define CS15_SW2 0x20 +#define CS16_SW2 0x21 +#define CS17_SW2 0x22 +#define CS18_SW2 0x23 + +#define CS1_SW3 0x24 +#define CS2_SW3 0x25 +#define CS3_SW3 0x26 +#define CS4_SW3 0x27 +#define CS5_SW3 0x28 +#define CS6_SW3 0x29 +#define CS7_SW3 0x2A +#define CS8_SW3 0x2B +#define CS9_SW3 0x2C +#define CS10_SW3 0x2D +#define CS11_SW3 0x2E +#define CS12_SW3 0x2F +#define CS13_SW3 0x30 +#define CS14_SW3 0x31 +#define CS15_SW3 0x32 +#define CS16_SW3 0x33 +#define CS17_SW3 0x34 +#define CS18_SW3 0x35 + +#define CS1_SW4 0x36 +#define CS2_SW4 0x37 +#define CS3_SW4 0x38 +#define CS4_SW4 0x39 +#define CS5_SW4 0x3A +#define CS6_SW4 0x3B +#define CS7_SW4 0x3C +#define CS8_SW4 0x3D +#define CS9_SW4 0x3E +#define CS10_SW4 0x3F +#define CS11_SW4 0x40 +#define CS12_SW4 0x41 +#define CS13_SW4 0x42 +#define CS14_SW4 0x43 +#define CS15_SW4 0x44 +#define CS16_SW4 0x45 +#define CS17_SW4 0x46 +#define CS18_SW4 0x47 diff --git a/drivers/led/issi/is31flcommon.c b/drivers/led/issi/is31flcommon.c new file mode 100644 index 000000000000..9f4b2123ffb2 --- /dev/null +++ b/drivers/led/issi/is31flcommon.c @@ -0,0 +1,230 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2020 MelGeek + * Copyright 2021 MasterSpoon + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "is31flcommon.h" +#include "i2c_master.h" +#include "wait.h" +#include + +// Set defaults for Timeout and Persistence +#ifndef ISSI_TIMEOUT +# define ISSI_TIMEOUT 100 +#endif +#ifndef ISSI_PERSISTENCE +# define ISSI_PERSISTENCE 0 +#endif + +// Transfer buffer for TWITransmitData() +uint8_t g_twi_transfer_buffer[20]; + +// These buffers match the PWM & scaling registers. +// Storing them like this is optimal for I2C transfers to the registers. +uint8_t g_pwm_buffer[DRIVER_COUNT][ISSI_MAX_LEDS]; +bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; + +uint8_t g_scaling_buffer[DRIVER_COUNT][ISSI_SCALING_SIZE]; +bool g_scaling_buffer_update_required[DRIVER_COUNT] = {false}; + +// For writing of single register entry +void IS31FL_write_single_register(uint8_t addr, uint8_t reg, uint8_t data) { + // Set register address and register data ready to write + g_twi_transfer_buffer[0] = reg; + g_twi_transfer_buffer[1] = data; + +#if ISSI_PERSISTENCE > 0 + for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) break; + } +#else + i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); +#endif +} + +// For writing of mulitple register entries to make use of address auto increment +// Once the controller has been called and we have written the first bit of data +// the controller will move to the next register meaning we can write sequential blocks. +bool IS31FL_write_multi_registers(uint8_t addr, uint8_t *source_buffer, uint8_t buffer_size, uint8_t transfer_size, uint8_t start_reg_addr) { + // Split the buffer into chunks to transfer + for (int i = 0; i < buffer_size; i += transfer_size) { + // Set the first entry of transfer buffer to the first register we want to write + g_twi_transfer_buffer[0] = i + start_reg_addr; + // Copy the section of our source buffer into the transfer buffer after first register address + memcpy(g_twi_transfer_buffer + 1, source_buffer + i, transfer_size); + +#if ISSI_PERSISTENCE > 0 + for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, transfer_size + 1, ISSI_TIMEOUT) != 0) { + return false; + } + } +#else + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, transfer_size + 1, ISSI_TIMEOUT) != 0) { + return false; + } +#endif + } + return true; +} + +void IS31FL_unlock_register(uint8_t addr, uint8_t page) { + // unlock the command register and select Page to write + IS31FL_write_single_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, ISSI_REGISTER_UNLOCK); + IS31FL_write_single_register(addr, ISSI_COMMANDREGISTER, page); +} + +void IS31FL_common_init(uint8_t addr, uint8_t ssr) { + // Setup phase, need to take out of software shutdown and configure + // ISSI_SSR_x is passed to allow Master / Slave setting where applicable + + // Unlock the command register & select Function Register + IS31FL_unlock_register(addr, ISSI_PAGE_FUNCTION); + // Set Configuration Register to remove Software shutdown + IS31FL_write_single_register(addr, ISSI_REG_CONFIGURATION, ISSI_CONFIGURATION); + // Set Golbal Current Control Register + IS31FL_write_single_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + // Set Pull up & Down for SWx CSy + IS31FL_write_single_register(addr, ISSI_REG_PULLDOWNUP, ISSI_PULLDOWNUP); +// Set Tempature Status +#ifdef ISSI_REG_TEMP + IS31FL_write_single_register(addr, ISSI_REG_TEMP, ISSI_TEMP); +#endif + // Set Spread Spectrum Register, passed through as sets SYNC function + IS31FL_write_single_register(addr, ISSI_REG_SSR, ssr); +// Set PWM Frequency Enable Register if applicable +#ifdef ISSI_REG_PWM_ENABLE + IS31FL_write_single_register(addr, ISSI_REG_PWM_ENABLE, ISSI_PWM_ENABLE); +#endif +// Set PWM Frequency Register if applicable +#ifdef ISSI_REG_PWM_SET + IS31FL_write_single_register(addr, ISSI_REG_PWM_SET, ISSI_PWM_SET); +#endif + + // Wait 10ms to ensure the device has woken up. + wait_ms(10); +} + +void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index) { + if (g_pwm_buffer_update_required[index]) { + // Queue up the correct page + IS31FL_unlock_register(addr, ISSI_PAGE_PWM); + // Hand off the update to IS31FL_write_multi_registers + IS31FL_write_multi_registers(addr, g_pwm_buffer[index], ISSI_MAX_LEDS, ISSI_PWM_TRF_SIZE, ISSI_PWM_REG_1ST); + // Update flags that pwm_buffer has been updated + g_pwm_buffer_update_required[index] = false; + } +} + +#ifdef ISSI_MANUAL_SCALING +void IS31FL_set_manual_scaling_buffer(void) { + for (int i = 0; i < ISSI_MANUAL_SCALING; i++) { + is31_led scale = g_is31_scaling[i]; + if (scale.driver >= 0 && scale.driver < DRIVER_LED_TOTAL) { + is31_led led = g_is31_leds[scale.driver]; + +# ifdef RGB_MATRIX_ENABLE + g_scaling_buffer[led.driver][led.r] = scale.r; + g_scaling_buffer[led.driver][led.g] = scale.g; + g_scaling_buffer[led.driver][led.b] = scale.b; +# elif defined(LED_MATRIX_ENABLE) + g_scaling_buffer[led.driver][led.v] = scale.v; +# endif + g_scaling_buffer_update_required[led.driver] = true; + } + } +} +#endif + +void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index) { + if (g_scaling_buffer_update_required[index]) { + // Queue up the correct page + IS31FL_unlock_register(addr, ISSI_PAGE_SCALING); + // Hand off the update to IS31FL_write_multi_registers + IS31FL_write_multi_registers(addr, g_scaling_buffer[index], ISSI_SCALING_SIZE, ISSI_SCALING_TRF_SIZE, ISSI_SCL_REG_1ST); + // Update flags that scaling_buffer has been updated + g_scaling_buffer_update_required[index] = false; + } +} + +#ifdef RGB_MATRIX_ENABLE +// Colour is set by adjusting PWM register +void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + if (index >= 0 && index < DRIVER_LED_TOTAL) { + is31_led led = g_is31_leds[index]; + + g_pwm_buffer[led.driver][led.r] = red; + g_pwm_buffer[led.driver][led.g] = green; + g_pwm_buffer[led.driver][led.b] = blue; + g_pwm_buffer_update_required[led.driver] = true; + } +} + +void IS31FL_RGB_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + IS31FL_RGB_set_color(i, red, green, blue); + } +} + +// Setup Scaling register that decides the peak current of each LED +void IS31FL_RGB_set_scaling_buffer(uint8_t index, bool red, bool green, bool blue) { + is31_led led = g_is31_leds[index]; + if (red) { + g_scaling_buffer[led.driver][led.r] = ISSI_SCAL_RED; + } else { + g_scaling_buffer[led.driver][led.r] = ISSI_SCAL_RED_OFF; + } + if (green) { + g_scaling_buffer[led.driver][led.g] = ISSI_SCAL_GREEN; + } else { + g_scaling_buffer[led.driver][led.g] = ISSI_SCAL_GREEN_OFF; + } + if (blue) { + g_scaling_buffer[led.driver][led.b] = ISSI_SCAL_BLUE; + } else { + g_scaling_buffer[led.driver][led.b] = ISSI_SCAL_BLUE_OFF; + } + g_scaling_buffer_update_required[led.driver] = true; +} + +#elif defined(LED_MATRIX_ENABLE) +// LED Matrix Specific scripts +void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value) { + is31_led led = g_is31_leds[index]; + if (value) { + g_scaling_buffer[led.driver][led.v] = ISSI_SCAL_LED; + } else { + g_scaling_buffer[led.driver][led.v] = ISSI_SCAL_LED_OFF; + } + g_scaling_buffer_update_required[led.driver] = true; +} + +void IS31FL_simple_set_brightness(int index, uint8_t value) { + if (index >= 0 && index < DRIVER_LED_TOTAL) { + is31_led led = g_is31_leds[index]; + g_pwm_buffer[led.driver][led.v] = value; + g_pwm_buffer_update_required[led.driver] = true; + } +} + +void IS31FL_simple_set_brigntness_all(uint8_t value) { + for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + IS31FL_simple_set_brightness(i, value); + } +} +#endif diff --git a/drivers/led/issi/is31flcommon.h b/drivers/led/issi/is31flcommon.h new file mode 100644 index 000000000000..77e9665e3237 --- /dev/null +++ b/drivers/led/issi/is31flcommon.h @@ -0,0 +1,78 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2020 MelGeek + * Copyright 2021 MasterSpoon + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include +#include "progmem.h" + +// Which variant header file to use +#ifdef IS31FL3742A +# include "is31fl3742.h" +#elif defined(IS31FL3743A) +# include "is31fl3743.h" +#elif defined(IS31FL3745) +# include "is31fl3745.h" +#elif defined(IS31FL3746A) +# include "is31fl3746.h" +#endif + +#ifdef RGB_MATRIX_ENABLE +typedef struct is31_led { + uint8_t driver; + uint8_t r; + uint8_t g; + uint8_t b; +} __attribute__((packed)) is31_led; + +#elif defined(LED_MATRIX_ENABLE) +typedef struct is31_led { + uint8_t driver; + uint8_t v; +} __attribute__((packed)) is31_led; +#endif + +#ifdef ISSI_MANUAL_SCALING +extern const is31_led __flash g_is31_scaling[]; +void IS31FL_set_manual_scaling_buffer(void); +#endif + +extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; + +void IS31FL_write_single_register(uint8_t addr, uint8_t reg, uint8_t data); +bool IS31FL_write_multi_registers(uint8_t addr, uint8_t *source_buffer, uint8_t buffer_size, uint8_t transfer_size, uint8_t start_reg_addr); +void IS31FL_unlock_register(uint8_t addr, uint8_t page); +void IS31FL_common_init(uint8_t addr, uint8_t ssr); + +void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index); +void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index); + +#ifdef RGB_MATRIX_ENABLE +// RGB Matrix Specific scripts +void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void IS31FL_RGB_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void IS31FL_RGB_set_scaling_buffer(uint8_t index, bool red, bool green, bool blue); +#elif defined(LED_MATRIX_ENABLE) +// LED Matrix Specific scripts +void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value); +void IS31FL_simple_set_brightness(int index, uint8_t value); +void IS31FL_simple_set_brigntness_all(uint8_t value); +#endif diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index cb7526d6e037..d21f36e295cb 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -27,6 +27,8 @@ #ifdef IS31FL3731 # include "is31fl3731-simple.h" +#elif defined(IS31FLCOMMON) +# include "is31flcommon.h" #endif #ifdef IS31FL3733 # include "is31fl3733-simple.h" diff --git a/quantum/led_matrix/led_matrix_drivers.c b/quantum/led_matrix/led_matrix_drivers.c index 2157619a0bec..847ca1c3106b 100644 --- a/quantum/led_matrix/led_matrix_drivers.c +++ b/quantum/led_matrix/led_matrix_drivers.c @@ -25,7 +25,7 @@ * in their own files. */ -#if defined(IS31FL3731) || defined(IS31FL3733) +#if defined(IS31FL3731) || defined(IS31FL3733) || defined(IS31FLCOMMON) # include "i2c_master.h" static void init(void) { @@ -66,6 +66,18 @@ static void init(void) { # endif # endif # endif + +# elif defined(IS31FLCOMMON) + IS31FL_common_init(DRIVER_ADDR_1, ISSI_SSR_1); +# if defined(LED_DRIVER_ADDR_2) + IS31FL_common_init(DRIVER_ADDR_2, ISSI_SSR_2); +# if defined(LED_DRIVER_ADDR_3) + IS31FL_common_init(DRIVER_ADDR_3, ISSI_SSR_3); +# if defined(LED_DRIVER_ADDR_4) + IS31FL_common_init(DRIVER_ADDR_4, ISSI_SSR_4); +# endif +# endif +# endif # endif for (int index = 0; index < DRIVER_LED_TOTAL; index++) { @@ -73,6 +85,8 @@ static void init(void) { IS31FL3731_set_led_control_register(index, true); # elif defined(IS31FL3733) IS31FL3733_set_led_control_register(index, true); +# elif defined(IS31FLCOMMON) + IS31FL_simple_set_scaling_buffer(index, true); # endif } @@ -100,6 +114,21 @@ static void init(void) { # endif # endif # endif + +# elif defined(IS31FLCOMMON) +# ifdef ISSI_MANUAL_SCALING + IS31FL_set_manual_scaling_buffer(); +# endif + IS31FL_common_update_scaling_register(DRIVER_ADDR_1, 0); +# if defined(LED_DRIVER_ADDR_2) + IS31FL_common_update_scaling_register(DRIVER_ADDR_2, 1); +# if defined(LED_DRIVER_ADDR_3) + IS31FL_common_update_scaling_register(DRIVER_ADDR_3, 2); +# if defined(LED_DRIVER_ADDR_4) + IS31FL_common_update_scaling_register(DRIVER_ADDR_4, 3); +# endif +# endif +# endif # endif } @@ -144,5 +173,26 @@ const led_matrix_driver_t led_matrix_driver = { .set_value = IS31FL3733_set_value, .set_value_all = IS31FL3733_set_value_all, }; + +# elif defined(IS31FLCOMMON) +static void flush(void) { + IS31FL_common_update_pwm_register(DRIVER_ADDR_1, 0); +# if defined(LED_DRIVER_ADDR_2) + IS31FL_common_update_pwm_register(DRIVER_ADDR_2, 1); +# if defined(LED_DRIVER_ADDR_3) + IS31FL_common_update_pwm_register(DRIVER_ADDR_3, 2); +# if defined(LED_DRIVER_ADDR_4) + IS31FL_common_update_pwm_register(DRIVER_ADDR_4, 3); +# endif +# endif +# endif +} + +const led_matrix_driver_t led_matrix_driver = { + .init = init, + .flush = flush, + .set_value = IS31FL_simple_set_brightness, + .set_value_all = IS31FL_simple_set_brigntness_all, +}; # endif #endif diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index 3cd77857be93..359d507a4d9f 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -32,6 +32,8 @@ # include "is31fl3737.h" #elif defined(IS31FL3741) # include "is31fl3741.h" +#elif defined(IS31FLCOMMON) +# include "is31flcommon.h" #elif defined(CKLED2001) # include "ckled2001.h" #elif defined(AW20216) diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index 130ca47a6394..bdd512d1c222 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c @@ -23,7 +23,7 @@ * be here if shared between boards. */ -#if defined(IS31FL3731) || defined(IS31FL3733) || defined(IS31FL3737) || defined(IS31FL3741) || defined(CKLED2001) +#if defined(IS31FL3731) || defined(IS31FL3733) || defined(IS31FL3737) || defined(IS31FL3741) || defined(IS31FLCOMMON) || defined(CKLED2001) # include "i2c_master.h" // TODO: Remove this at some later date @@ -81,6 +81,18 @@ static void init(void) { # elif defined(IS31FL3741) IS31FL3741_init(DRIVER_ADDR_1); +# elif defined(IS31FLCOMMON) + IS31FL_common_init(DRIVER_ADDR_1, ISSI_SSR_1); +# if defined(DRIVER_ADDR_2) + IS31FL_common_init(DRIVER_ADDR_2, ISSI_SSR_2); +# if defined(DRIVER_ADDR_3) + IS31FL_common_init(DRIVER_ADDR_3, ISSI_SSR_3); +# if defined(DRIVER_ADDR_4) + IS31FL_common_init(DRIVER_ADDR_4, ISSI_SSR_4); +# endif +# endif +# endif + # elif defined(CKLED2001) CKLED2001_init(DRIVER_ADDR_1); # if defined(DRIVER_ADDR_2) @@ -106,6 +118,8 @@ static void init(void) { IS31FL3737_set_led_control_register(index, enabled, enabled, enabled); # elif defined(IS31FL3741) IS31FL3741_set_led_control_register(index, enabled, enabled, enabled); +# elif defined(IS31FLCOMMON) + IS31FL_RGB_set_scaling_buffer(index, enabled, enabled, enabled); # elif defined(CKLED2001) CKLED2001_set_led_control_register(index, enabled, enabled, enabled); # endif @@ -145,6 +159,21 @@ static void init(void) { # elif defined(IS31FL3741) IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); +# elif defined(IS31FLCOMMON) +# ifdef ISSI_MANUAL_SCALING + IS31FL_set_manual_scaling_buffer(); +# endif + IS31FL_common_update_scaling_register(DRIVER_ADDR_1, 0); +# if defined(DRIVER_ADDR_2) + IS31FL_common_update_scaling_register(DRIVER_ADDR_2, 1); +# if defined(DRIVER_ADDR_3) + IS31FL_common_update_scaling_register(DRIVER_ADDR_3, 2); +# if defined(DRIVER_ADDR_4) + IS31FL_common_update_scaling_register(DRIVER_ADDR_4, 3); +# endif +# endif +# endif + # elif defined(CKLED2001) CKLED2001_update_led_control_registers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) @@ -231,6 +260,27 @@ const rgb_matrix_driver_t rgb_matrix_driver = { .set_color_all = IS31FL3741_set_color_all, }; +# elif defined(IS31FLCOMMON) +static void flush(void) { + IS31FL_common_update_pwm_register(DRIVER_ADDR_1, 0); +# if defined(DRIVER_ADDR_2) + IS31FL_common_update_pwm_register(DRIVER_ADDR_2, 1); +# if defined(DRIVER_ADDR_3) + IS31FL_common_update_pwm_register(DRIVER_ADDR_3, 2); +# if defined(DRIVER_ADDR_4) + IS31FL_common_update_pwm_register(DRIVER_ADDR_4, 3); +# endif +# endif +# endif +} + +const rgb_matrix_driver_t rgb_matrix_driver = { + .init = init, + .flush = flush, + .set_color = IS31FL_RGB_set_color, + .set_color_all = IS31FL_RGB_set_color_all, +}; + # elif defined(CKLED2001) static void flush(void) { CKLED2001_update_pwm_buffers(DRIVER_ADDR_1, 0); From b7f415d0472fcb767c92673a2f628bfaf7f77e54 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Sun, 6 Feb 2022 09:08:13 -0800 Subject: [PATCH 0179/1832] Format code according to conventions (#16249) --- drivers/gpio/sn74x138.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpio/sn74x138.h b/drivers/gpio/sn74x138.h index d4d0b6574d17..6f1f20e61819 100644 --- a/drivers/gpio/sn74x138.h +++ b/drivers/gpio/sn74x138.h @@ -40,7 +40,7 @@ void sn74x138_set_enabled(bool enabled); /** * Set the output pin address. - * + * * The selected output pin will be pulled low, while the remaining output pins will be high. * * \param address The address to set, from 0 to 7. From 9124f5dc2d2f17eb327924d38add7f194dd4d54a Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 6 Feb 2022 14:01:04 -0800 Subject: [PATCH 0180/1832] Add layout change callbacks to VIA (#16087) * Add layout change callbacks to VIA * Update worklouder example --- keyboards/work_louder/work_board/work_board.c | 14 +++++++------- quantum/via.c | 4 ++++ quantum/via.h | 1 + 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/keyboards/work_louder/work_board/work_board.c b/keyboards/work_louder/work_board/work_board.c index 7a8edc1a9ea5..d25ea0cdbaf4 100644 --- a/keyboards/work_louder/work_board/work_board.c +++ b/keyboards/work_louder/work_board/work_board.c @@ -100,15 +100,15 @@ led_config_t g_led_config = { { } }; // clang-format on +# ifdef VIA_ENABLE +bool via_layout_2u = false; + +void via_set_layout_options_kb(uint32_t value) { via_layout_2u = (bool)value; } +# endif // VIA_ENABLE + __attribute__((weak)) void rgb_matrix_indicators_user(void) { # ifdef VIA_ENABLE - static bool layout_2u = false; - static uint16_t timer = 0; - if (timer_elapsed(timer) > 500) { - timer = timer_read(); - layout_2u = (bool)via_get_layout_options(); - } - if (layout_2u) { + if (via_layout_2u) { rgb_matrix_set_color(5, 0, 0, 0); rgb_matrix_set_color(7, 0, 0, 0); } else { diff --git a/quantum/via.c b/quantum/via.c index 7c8aa753e762..a3bd82d9b3d0 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -96,6 +96,7 @@ void via_init(void) { // Let keyboard level test EEPROM valid state, // but not set it valid, it is done here. via_init_kb(); + via_set_layout_options_kb(via_get_layout_options()); // If the EEPROM has the magic, the data is good. // OK to load from EEPROM. @@ -131,7 +132,10 @@ uint32_t via_get_layout_options(void) { return value; } +__attribute__((weak)) void via_set_layout_options_kb(uint32_t value) {} + void via_set_layout_options(uint32_t value) { + via_set_layout_options_kb(value); // Start at the least significant byte void *target = (void *)(VIA_EEPROM_LAYOUT_OPTIONS_ADDR + VIA_EEPROM_LAYOUT_OPTIONS_SIZE - 1); for (uint8_t i = 0; i < VIA_EEPROM_LAYOUT_OPTIONS_SIZE; i++) { diff --git a/quantum/via.h b/quantum/via.h index 3db318a45465..5d16917dfa4f 100644 --- a/quantum/via.h +++ b/quantum/via.h @@ -159,6 +159,7 @@ void via_init(void); // Used by VIA to store and retrieve the layout options. uint32_t via_get_layout_options(void); void via_set_layout_options(uint32_t value); +void via_set_layout_options_kb(uint32_t value); // Called by QMK core to process VIA-specific keycodes. bool process_record_via(uint16_t keycode, keyrecord_t *record); From 842d20267cf78ddfba433e4c8064a40dc84d456c Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 6 Feb 2022 22:59:03 +0000 Subject: [PATCH 0181/1832] Remove half implemented micronucleus bootloader support (#16252) --- data/schemas/keyboard.jsonschema | 2 +- keyboards/xiudi/xd002/rules.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index e61bc48bd044..fc0844a08606 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -57,7 +57,7 @@ }, "bootloader": { "type": "string", - "enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "custom", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "md-boot", "micronucleus", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "gd32v-dfu", "wb32-dfu", "unknown", "usbasploader", "USBasp", "tinyuf2"], + "enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "custom", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "md-boot", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "gd32v-dfu", "wb32-dfu", "unknown", "usbasploader", "USBasp", "tinyuf2"], }, "bootloader_instructions": { "type": "string", diff --git a/keyboards/xiudi/xd002/rules.mk b/keyboards/xiudi/xd002/rules.mk index 77dd994783ef..70c620c8f06a 100644 --- a/keyboards/xiudi/xd002/rules.mk +++ b/keyboards/xiudi/xd002/rules.mk @@ -2,7 +2,7 @@ MCU = attiny85 # Bootloader selection -BOOTLOADER = micronucleus +BOOTLOADER = custom OPT_DEFS += -DBOOTLOADER_SIZE=1862 PROGRAM_CMD = micronucleus --run $(BUILD_DIR)/$(TARGET).hex From 53a73066828bb528610e8d02bd4a6f008c9c33d7 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 6 Feb 2022 23:58:05 +0000 Subject: [PATCH 0182/1832] Reduce firmware size for dztech/dz60rgb_wkl/v2_1:via (#16254) --- keyboards/dztech/dz60rgb_wkl/v2_1/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h index bfa9d8d9555d..960285b97649 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h @@ -86,7 +86,7 @@ # define ENABLE_RGB_MATRIX_HUE_PENDULUM # define ENABLE_RGB_MATRIX_HUE_WAVE # define ENABLE_RGB_MATRIX_PIXEL_RAIN -# define ENABLE_RGB_MATRIX_PIXEL_FLOW +// # define ENABLE_RGB_MATRIX_PIXEL_FLOW # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined # define ENABLE_RGB_MATRIX_TYPING_HEATMAP From a86d6fffc950242f412e05a6a0aed8beede01ba4 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 7 Feb 2022 14:09:21 +1100 Subject: [PATCH 0183/1832] Fixup bootloaders. (#16256) --- keyboards/ducky/one2mini/1861st/1861st.c | 8 ++++++++ keyboards/ducky/one2mini/1861st/rules.mk | 3 +++ keyboards/ergodox_stm32/ergodox_stm32.c | 5 +++++ keyboards/ergodox_stm32/rules.mk | 3 +++ keyboards/jm60/jm60.c | 5 +++++ keyboards/jm60/rules.mk | 3 +++ keyboards/matrix/abelx/abelx.c | 5 +++++ keyboards/matrix/abelx/rules.mk | 3 +++ keyboards/matrix/m12og/rev1/rev1.c | 5 +++++ keyboards/matrix/m12og/rev1/rules.mk | 3 +++ keyboards/matrix/m20add/m20add.c | 5 +++++ keyboards/matrix/m20add/rules.mk | 3 +++ keyboards/matrix/noah/noah.c | 5 +++++ keyboards/matrix/noah/rules.mk | 3 +++ keyboards/wolfmarkclub/wm1/rules.mk | 3 +++ keyboards/wolfmarkclub/wm1/wm1.c | 5 +++++ keyboards/xiaomi/mk02/rules.mk | 3 +++ 17 files changed, 70 insertions(+) create mode 100644 keyboards/ducky/one2mini/1861st/1861st.c diff --git a/keyboards/ducky/one2mini/1861st/1861st.c b/keyboards/ducky/one2mini/1861st/1861st.c new file mode 100644 index 000000000000..1c164ea70d44 --- /dev/null +++ b/keyboards/ducky/one2mini/1861st/1861st.c @@ -0,0 +1,8 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "1861st.h" + +void bootloader_jump(void) { + // TODO: Work out how to jump to LDROM, for now just reset the board. + NVIC_SystemReset(); +} diff --git a/keyboards/ducky/one2mini/1861st/rules.mk b/keyboards/ducky/one2mini/1861st/rules.mk index 277108c8acda..a5b4708b26f4 100644 --- a/keyboards/ducky/one2mini/1861st/rules.mk +++ b/keyboards/ducky/one2mini/1861st/rules.mk @@ -1,6 +1,9 @@ MCU_FAMILY = NUMICRO MCU_SERIES = NUC123 +# Bootloader selection +BOOTLOADER = custom + # linker script to use MCU_LDSCRIPT = NUC123xD4xx0 diff --git a/keyboards/ergodox_stm32/ergodox_stm32.c b/keyboards/ergodox_stm32/ergodox_stm32.c index 846c29d7a4b6..8419b40f4180 100644 --- a/keyboards/ergodox_stm32/ergodox_stm32.c +++ b/keyboards/ergodox_stm32/ergodox_stm32.c @@ -16,6 +16,11 @@ void board_init(void) { AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE; } +void bootloader_jump(void) { + // This board doesn't use the "standard" stm32duino bootloader, and is resident in memory at the base location. All we can do here is reset. + NVIC_SystemReset(); +} + void matrix_init_kb(void) { // Init LED Ports diff --git a/keyboards/ergodox_stm32/rules.mk b/keyboards/ergodox_stm32/rules.mk index 3f7197cbf671..e730df82aa91 100644 --- a/keyboards/ergodox_stm32/rules.mk +++ b/keyboards/ergodox_stm32/rules.mk @@ -3,6 +3,9 @@ MCU = STM32F103 MCU_LDSCRIPT = stm32f103_bootloader BOARD = ST_NUCLEO64_F103RB +# Bootloader selection +BOOTLOADER = custom + BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control diff --git a/keyboards/jm60/jm60.c b/keyboards/jm60/jm60.c index f7b434f30e0a..823892dce9d8 100644 --- a/keyboards/jm60/jm60.c +++ b/keyboards/jm60/jm60.c @@ -20,3 +20,8 @@ along with this program. If not, see . void board_init(void) { AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE; } + +void bootloader_jump(void) { + // This board doesn't use the "standard" stm32duino bootloader. There's no information on how to jump to the custom bootloader, so all we can do here is reset. + NVIC_SystemReset(); +} diff --git a/keyboards/jm60/rules.mk b/keyboards/jm60/rules.mk index 6cb13d932dcd..c6de64a13033 100644 --- a/keyboards/jm60/rules.mk +++ b/keyboards/jm60/rules.mk @@ -4,6 +4,9 @@ MCU = STM32F103 MCU_LDSCRIPT = jm60_bootloader BOARD = ST_NUCLEO64_F103RB +# Bootloader selection +BOOTLOADER = custom + # Build Options # change yes to no to disable # diff --git a/keyboards/matrix/abelx/abelx.c b/keyboards/matrix/abelx/abelx.c index 77e749ee4005..9585948e0cda 100644 --- a/keyboards/matrix/abelx/abelx.c +++ b/keyboards/matrix/abelx/abelx.c @@ -97,3 +97,8 @@ void shutdown_user(void) // set the magic number for resetting to the bootloader *(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC; } + +void bootloader_jump(void) { + shutdown_user(); + NVIC_SystemReset(); +} diff --git a/keyboards/matrix/abelx/rules.mk b/keyboards/matrix/abelx/rules.mk index d4a065662bf2..7a5d01e5cb15 100644 --- a/keyboards/matrix/abelx/rules.mk +++ b/keyboards/matrix/abelx/rules.mk @@ -25,6 +25,9 @@ ARMV = 7 USE_FPU = yes +# Bootloader selection +BOOTLOADER = custom + # Build Options # change yes to no to disable # diff --git a/keyboards/matrix/m12og/rev1/rev1.c b/keyboards/matrix/m12og/rev1/rev1.c index e3277bee2771..53183c7d2d2c 100644 --- a/keyboards/matrix/m12og/rev1/rev1.c +++ b/keyboards/matrix/m12og/rev1/rev1.c @@ -20,6 +20,11 @@ void board_init(void) { writePinLow(A8); } +void bootloader_jump(void) { + // This board doesn't use the standard DFU bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset. + NVIC_SystemReset(); +} + void keyboard_post_init_kb(void) { rgblight_enable_noeeprom(); rgblight_sethsv_noeeprom(5, 255, 255); diff --git a/keyboards/matrix/m12og/rev1/rules.mk b/keyboards/matrix/m12og/rev1/rules.mk index 0e0584b8c967..d9733e8c5eb6 100644 --- a/keyboards/matrix/m12og/rev1/rules.mk +++ b/keyboards/matrix/m12og/rev1/rules.mk @@ -5,6 +5,9 @@ MCU_LDSCRIPT = m12og_v1 BOARD = m12og_v1 +# Bootloader selection +BOOTLOADER = custom + # Build Options # change yes to no to disable # diff --git a/keyboards/matrix/m20add/m20add.c b/keyboards/matrix/m20add/m20add.c index 4d328d6c5430..cdcafb97790c 100644 --- a/keyboards/matrix/m20add/m20add.c +++ b/keyboards/matrix/m20add/m20add.c @@ -59,3 +59,8 @@ void shutdown_user(void) // set the magic number for resetting to the bootloader *(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC; } + +void bootloader_jump(void) { + shutdown_user(); + NVIC_SystemReset(); +} diff --git a/keyboards/matrix/m20add/rules.mk b/keyboards/matrix/m20add/rules.mk index 1ecbd9d3082e..86bd6b937123 100644 --- a/keyboards/matrix/m20add/rules.mk +++ b/keyboards/matrix/m20add/rules.mk @@ -10,6 +10,9 @@ MCU_LDSCRIPT = m20add_boot # or /boards BOARD = ST_NUCLEO64_F411RE +# Bootloader selection +BOOTLOADER = custom + # Build Options # change yes to no to disable # diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c index 2143dee3be08..89c25707af25 100644 --- a/keyboards/matrix/noah/noah.c +++ b/keyboards/matrix/noah/noah.c @@ -4,6 +4,11 @@ #include "noah.h" +void bootloader_jump(void) { + // This board doesn't use the standard DFU bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset. + NVIC_SystemReset(); +} + #ifdef RGBLIGHT_ENABLE #include #include "rgblight.h" diff --git a/keyboards/matrix/noah/rules.mk b/keyboards/matrix/noah/rules.mk index b9f642e8cdfd..7971d628d684 100644 --- a/keyboards/matrix/noah/rules.mk +++ b/keyboards/matrix/noah/rules.mk @@ -10,6 +10,9 @@ MCU_LDSCRIPT = noah_boot # or /boards BOARD = ST_NUCLEO64_F411RE +# Bootloader selection +BOOTLOADER = custom + # Build Options # change yes to no to disable # diff --git a/keyboards/wolfmarkclub/wm1/rules.mk b/keyboards/wolfmarkclub/wm1/rules.mk index 2782d497ce21..a712747048a6 100644 --- a/keyboards/wolfmarkclub/wm1/rules.mk +++ b/keyboards/wolfmarkclub/wm1/rules.mk @@ -5,6 +5,9 @@ MCU = STM32F103 MCU_LDSCRIPT = wm1_f103 BOARD = STM32_F103_STM32DUINO +# Bootloader selection +BOOTLOADER = custom + PROGRAM_CMD = echo 'CLI flashing not supported' >&2 # Build Options diff --git a/keyboards/wolfmarkclub/wm1/wm1.c b/keyboards/wolfmarkclub/wm1/wm1.c index d199546f8906..0ad1ade4cc3f 100644 --- a/keyboards/wolfmarkclub/wm1/wm1.c +++ b/keyboards/wolfmarkclub/wm1/wm1.c @@ -1,5 +1,10 @@ #include "wm1.h" +void bootloader_jump(void) { + // This board doesn't use the "standard" stm32duino bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset. + NVIC_SystemReset(); +} + void matrix_init_kb(void) { setPinOutput(B1); // Top Indicator LED setPinOutput(B0); // Middle Indicator LED diff --git a/keyboards/xiaomi/mk02/rules.mk b/keyboards/xiaomi/mk02/rules.mk index 9d6d62c39408..c20d67dd89d9 100644 --- a/keyboards/xiaomi/mk02/rules.mk +++ b/keyboards/xiaomi/mk02/rules.mk @@ -3,6 +3,9 @@ MCU = STM32F072 BOARD = ST_STM32F072B_DISCOVERY MCU_LDSCRIPT = STM32F072_0x2000_bootloader +# Bootloader selection +BOOTLOADER = custom + DFU_ARGS = -d 0483:df11 -a 0 -s 0x08002000:leave DFU_SUFFIX_ARGS = -v 0483 -p DF11 From a239051c4a4779767059140892144dedea09aaf2 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 9 Feb 2022 03:25:55 +1100 Subject: [PATCH 0184/1832] Misc size regression script improvements. (#16268) * Misc size regression script improvements. - Sets environment variable SIZE_REGRESSION_EXECUTING during execution so hook scripts like `post-checkout` may skip processing. - Forces checkout of the target branch, including removal of all temporary object files in the process. - Prints out a warning on exit stating that the git repository is in an indeterminate state, and the user needs to swap back to whatever intended branch they were working with originally. * Remove `git clean` --- util/size_regression.sh | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/util/size_regression.sh b/util/size_regression.sh index 988d1d9b5bed..d474d8d0d5f4 100755 --- a/util/size_regression.sh +++ b/util/size_regression.sh @@ -11,6 +11,8 @@ dest_ref="develop" ignore_ref="master" unset skip_zero +export SIZE_REGRESSION_EXECUTING=1 + function usage() { echo "Usage: $(basename "$0") [-h] [-j ] [-s ] [-d ] [-n] planck/rev6:default" echo " -h : Shows this usage page." @@ -23,9 +25,24 @@ function usage() { } if [[ ${#} -eq 0 ]]; then - usage + usage + exit 0 fi +unset cleanup_completed +_internal_cleanup() { + if [[ -z "${cleanup_completed:-}" ]] ; then + echo + echo + echo 'Your git repository is in an indeterminate state!' >&2 + echo 'Make sure you swap to your intended branch.' >&2 + echo + unset SIZE_REGRESSION_EXECUTING + fi + cleanup_completed=1 +} +trap _internal_cleanup EXIT HUP INT + while getopts "hj:s:d:i:n" opt "$@" ; do case "$opt" in h) usage; exit 0;; @@ -49,7 +66,8 @@ function build_executor() { revision=$(echo $line | cut -d' ' -f1) make distclean >/dev/null 2>&1 - git checkout $revision >/dev/null 2>&1 || { echo "Failed to check out revision ${revision}" >&2 ; exit 1 ; } + + git checkout -f $revision >/dev/null 2>&1 || { echo "Failed to check out revision ${revision}" >&2 ; exit 1 ; } make -j${job_count} $keyboard_target >/dev/null 2>&1 || true file_size=$(arm-none-eabi-size .build/*.elf 2>/dev/null | awk '/elf/ {print $1}' 2>/dev/null || true) From 2e279f1b889a59156f30524cc83358f64ee53287 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 8 Feb 2022 19:03:30 +0000 Subject: [PATCH 0185/1832] Initial pass at data driven new-keyboard subcommand (#12795) * Initial pass at a data driven keyboard subcommand * format * lint * Handle bootloader now its mandatory --- data/templates/avr/config.h | 134 -------- data/templates/avr/rules.mk | 18 -- data/templates/base/%(KEYBOARD)s.c | 4 - data/templates/base/%(KEYBOARD)s.h | 22 -- data/templates/base/info.json | 17 - data/templates/base/keymaps/default/keymap.c | 22 -- data/templates/base/keymaps/default/readme.md | 1 - data/templates/keyboard/info.json | 24 ++ data/templates/{avr => keyboard}/readme.md | 10 +- data/templates/keyboard/rules.mk | 1 + data/templates/ps2avrgb/config.h | 124 -------- data/templates/ps2avrgb/readme.md | 28 -- data/templates/ps2avrgb/rules.mk | 17 - docs/cli_commands.md | 2 +- lib/python/qmk/cli/new/keyboard.py | 293 ++++++++++++------ lib/python/qmk/path.py | 2 +- util/new_keyboard.sh | 181 ----------- util/new_keymap.sh | 40 --- 18 files changed, 237 insertions(+), 703 deletions(-) delete mode 100644 data/templates/avr/config.h delete mode 100644 data/templates/avr/rules.mk delete mode 100644 data/templates/base/%(KEYBOARD)s.c delete mode 100644 data/templates/base/%(KEYBOARD)s.h delete mode 100644 data/templates/base/info.json delete mode 100644 data/templates/base/keymaps/default/keymap.c delete mode 100644 data/templates/base/keymaps/default/readme.md create mode 100644 data/templates/keyboard/info.json rename data/templates/{avr => keyboard}/readme.md (82%) create mode 100644 data/templates/keyboard/rules.mk delete mode 100644 data/templates/ps2avrgb/config.h delete mode 100644 data/templates/ps2avrgb/readme.md delete mode 100644 data/templates/ps2avrgb/rules.mk delete mode 100755 util/new_keyboard.sh delete mode 100755 util/new_keymap.sh diff --git a/data/templates/avr/config.h b/data/templates/avr/config.h deleted file mode 100644 index 97f7bb6fad16..000000000000 --- a/data/templates/avr/config.h +++ /dev/null @@ -1,134 +0,0 @@ -// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0000 -#define DEVICE_VER 0x0001 -#define MANUFACTURER %(USER_NAME)s -#define PRODUCT %(KEYBOARD)s - -/* key matrix size */ -#define MATRIX_ROWS 2 -#define MATRIX_COLS 3 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { D0, D5 } -#define MATRIX_COL_PINS { F1, F0, B0 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - -//#define LED_NUM_LOCK_PIN B0 -//#define LED_CAPS_LOCK_PIN B1 -//#define LED_SCROLL_LOCK_PIN B2 -//#define LED_COMPOSE_PIN B3 -//#define LED_KANA_PIN B4 - -//#define BACKLIGHT_PIN B7 -//#define BACKLIGHT_LEVELS 3 -//#define BACKLIGHT_BREATHING - -//#define RGB_DI_PIN E2 -//#ifdef RGB_DI_PIN -//# define RGBLED_NUM 16 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ -//# define RGBLIGHT_ANIMATIONS -/*== or choose animations ==*/ -//# define RGBLIGHT_EFFECT_BREATHING -//# define RGBLIGHT_EFFECT_RAINBOW_MOOD -//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -//# define RGBLIGHT_EFFECT_SNAKE -//# define RGBLIGHT_EFFECT_KNIGHT -//# define RGBLIGHT_EFFECT_CHRISTMAS -//# define RGBLIGHT_EFFECT_STATIC_GRADIENT -//# define RGBLIGHT_EFFECT_RGB_TEST -//# define RGBLIGHT_EFFECT_ALTERNATING -/*== customize breathing effect ==*/ -/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -/*==== use exp() and sin() ====*/ -//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -//#endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is useful for the Windows task manager shortcut (ctrl+shift+esc). - */ -//#define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -/* Bootmagic Lite key configuration */ -//#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/data/templates/avr/rules.mk b/data/templates/avr/rules.mk deleted file mode 100644 index 1275531ef6d6..000000000000 --- a/data/templates/avr/rules.mk +++ /dev/null @@ -1,18 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output diff --git a/data/templates/base/%(KEYBOARD)s.c b/data/templates/base/%(KEYBOARD)s.c deleted file mode 100644 index 0c509aff6589..000000000000 --- a/data/templates/base/%(KEYBOARD)s.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "%(KEYBOARD)s.h" diff --git a/data/templates/base/%(KEYBOARD)s.h b/data/templates/base/%(KEYBOARD)s.h deleted file mode 100644 index 3e8ca3912dc8..000000000000 --- a/data/templates/base/%(KEYBOARD)s.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "quantum.h" - -/* This is a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. - */ -#define LAYOUT( \ - k00, k01, k02, \ - k10, k12 \ -) { \ - { k00, k01, k02 }, \ - { k10, KC_NO, k12 } \ -} diff --git a/data/templates/base/info.json b/data/templates/base/info.json deleted file mode 100644 index a50ccba7bf9b..000000000000 --- a/data/templates/base/info.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "keyboard_name": "%(KEYBOARD)s", - "url": "", - "maintainer": "%(USER_NAME)s", - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "k00", "x": 0, "y": 0}, - {"label": "k01", "x": 1, "y": 0}, - {"label": "k02", "x": 2, "y": 0}, - - {"label": "k10", "x": 0, "y": 1, "w": 1.5}, - {"label": "k12", "x": 1.5, "y": 1, "w": 1.5} - ] - } - } -} diff --git a/data/templates/base/keymaps/default/keymap.c b/data/templates/base/keymaps/default/keymap.c deleted file mode 100644 index 3fec3d51203f..000000000000 --- a/data/templates/base/keymaps/default/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_BASE] = LAYOUT( - KC_A, KC_1, MO(_FN), - KC_TAB, KC_SPC - ), - [_FN] = LAYOUT( - _______, _______, _______, - RESET, XXXXXXX - ) -}; diff --git a/data/templates/base/keymaps/default/readme.md b/data/templates/base/keymaps/default/readme.md deleted file mode 100644 index 63a064327571..000000000000 --- a/data/templates/base/keymaps/default/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for %(KEYBOARD)s diff --git a/data/templates/keyboard/info.json b/data/templates/keyboard/info.json new file mode 100644 index 000000000000..92718faf3ae8 --- /dev/null +++ b/data/templates/keyboard/info.json @@ -0,0 +1,24 @@ +{ + "keyboard_name": "%KEYBOARD%", + "maintainer": "%USER_NAME%", + "processor": "%MCU%", + "bootloader": "%BOOTLOADER%", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C2"], + "rows": ["D1"] + }, + "usb": { + "vid": "0xFEED", + "pid": "0x0000", + "device_ver": "0x0001" + }, + "features": { + "bootmagic_lite": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + } +} \ No newline at end of file diff --git a/data/templates/avr/readme.md b/data/templates/keyboard/readme.md similarity index 82% rename from data/templates/avr/readme.md rename to data/templates/keyboard/readme.md index 207850e06565..ca703c53f014 100644 --- a/data/templates/avr/readme.md +++ b/data/templates/keyboard/readme.md @@ -1,20 +1,20 @@ -# %(KEYBOARD)s +# %KEYBOARD% -![%(KEYBOARD)s](imgur.com image replace me!) +![%KEYBOARD%](imgur.com image replace me!) *A short description of the keyboard/project* -* Keyboard Maintainer: [%(YOUR_NAME)s](https://github.com/%(USER_NAME)s) +* Keyboard Maintainer: [%REAL_NAME%](https://github.com/%USER_NAME%) * Hardware Supported: *The PCBs, controllers supported* * Hardware Availability: *Links to where you can find this hardware* Make example for this keyboard (after setting up your build environment): - make %(KEYBOARD)s:default + make %KEYBOARD%:default Flashing example for this keyboard: - make %(KEYBOARD)s:default:flash + make %KEYBOARD%:default:flash 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/data/templates/keyboard/rules.mk b/data/templates/keyboard/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/data/templates/keyboard/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/data/templates/ps2avrgb/config.h b/data/templates/ps2avrgb/config.h deleted file mode 100644 index ef29da0de08a..000000000000 --- a/data/templates/ps2avrgb/config.h +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0000 -#define DEVICE_VER 0x0001 -#define MANUFACTURER %(USER_NAME)s -#define PRODUCT %(KEYBOARD)s - -/* key matrix size */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 15 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 } -#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -//#define LED_NUM_LOCK_PIN D0 -//#define LED_CAPS_LOCK_PIN D1 -//#define LED_SCROLL_LOCK_PIN D6 - -#define BACKLIGHT_PIN D4 -//#define BACKLIGHT_LEVELS 3 -//#define BACKLIGHT_BREATHING - -#define RGBLED_NUM 16 -//#define RGBLIGHT_HUE_STEP 8 -//#define RGBLIGHT_SAT_STEP 8 -//#define RGBLIGHT_VAL_STEP 8 -//#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -//#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ -//#define RGBLIGHT_ANIMATIONS -/*== or choose animations ==*/ -//#define RGBLIGHT_EFFECT_BREATHING -//#define RGBLIGHT_EFFECT_RAINBOW_MOOD -//#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -//#define RGBLIGHT_EFFECT_SNAKE -//#define RGBLIGHT_EFFECT_KNIGHT -//#define RGBLIGHT_EFFECT_CHRISTMAS -//#define RGBLIGHT_EFFECT_STATIC_GRADIENT -//#define RGBLIGHT_EFFECT_RGB_TEST -//#define RGBLIGHT_EFFECT_ALTERNATING -/*== customize breathing effect ==*/ -/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -//#define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -/*==== use exp() and sin() ====*/ -//#define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -//#define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is useful for the Windows task manager shortcut (ctrl+shift+esc). - */ -//#define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -/* Bootmagic Lite key configuration */ -//#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/data/templates/ps2avrgb/readme.md b/data/templates/ps2avrgb/readme.md deleted file mode 100644 index a2ac4495b689..000000000000 --- a/data/templates/ps2avrgb/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# %(KEYBOARD)s - -![%(KEYBOARD)s](imgur.com image replace me!) - -*A short description of the keyboard/project* - -* Keyboard Maintainer: [%(YOUR_NAME)s](https://github.com/yourusername) -* Hardware Supported: *The PCBs, controllers supported* -* Hardware Availability: *Links to where you can find this hardware* - -Make example for this keyboard (after setting up your build environment): - - make %(KEYBOARD)s:default - -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) - - make %(KEYBOARD)s:default:flash - -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). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **BootloadHID reset**: Hold down the key connected to the `A0` and `B0` pins on the MCU if it is known (often top left or bottom left) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/data/templates/ps2avrgb/rules.mk b/data/templates/ps2avrgb/rules.mk deleted file mode 100644 index 1bbfa8fa0ec2..000000000000 --- a/data/templates/ps2avrgb/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -# MCU name -MCU = atmega32a - -# Bootloader selection -BOOTLOADER = bootloadhid - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -WS2812_DRIVER = i2c diff --git a/docs/cli_commands.md b/docs/cli_commands.md index dfbd4c6a2849..93af906b8a3c 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -310,7 +310,7 @@ Any arguments that are not provided will prompt for input. If `-u` is not passed **Usage**: ``` -qmk new-keyboard [-kb KEYBOARD] [-t {avr,ps2avrgb}] -u USERNAME +qmk new-keyboard [-kb KEYBOARD] [-t {atmega32u4,STM32F303,etc}] [-l {60_ansi,75_iso,etc}] -u USERNAME ``` ## `qmk new-keymap` diff --git a/lib/python/qmk/cli/new/keyboard.py b/lib/python/qmk/cli/new/keyboard.py index 4093b8c90d06..59e781a932e3 100644 --- a/lib/python/qmk/cli/new/keyboard.py +++ b/lib/python/qmk/cli/new/keyboard.py @@ -1,15 +1,82 @@ """This script automates the creation of new keyboard directories using a starter template. """ +import re +import json +import shutil from datetime import date from pathlib import Path -import re +from dotty_dict import dotty -from qmk.commands import git_get_username -import qmk.path from milc import cli from milc.questions import choice, question -KEYBOARD_TYPES = ['avr', 'ps2avrgb'] +from qmk.commands import git_get_username +from qmk.json_schema import load_jsonschema +from qmk.path import keyboard +from qmk.json_encoders import InfoJSONEncoder +from qmk.json_schema import deep_update + +COMMUNITY = Path('layouts/default/') +TEMPLATE = Path('data/templates/keyboard/') + +MCU2BOOTLOADER = { + "MKL26Z64": "halfkay", + "MK20DX128": "halfkay", + "MK20DX256": "halfkay", + "MK66FX1M0": "halfkay", + "STM32F042": "stm32-dfu", + "STM32F072": "stm32-dfu", + "STM32F103": "stm32duino", + "STM32F303": "stm32-dfu", + "STM32F401": "stm32-dfu", + "STM32F405": "stm32-dfu", + "STM32F407": "stm32-dfu", + "STM32F411": "stm32-dfu", + "STM32F446": "stm32-dfu", + "STM32G431": "stm32-dfu", + "STM32G474": "stm32-dfu", + "STM32L412": "stm32-dfu", + "STM32L422": "stm32-dfu", + "STM32L432": "stm32-dfu", + "STM32L433": "stm32-dfu", + "STM32L442": "stm32-dfu", + "STM32L443": "stm32-dfu", + "GD32VF103": "gd32v-dfu", + "WB32F3G71": "wb32-dfu", + "atmega16u2": "atmel-dfu", + "atmega32u2": "atmel-dfu", + "atmega16u4": "atmel-dfu", + "atmega32u4": "atmel-dfu", + "at90usb162": "atmel-dfu", + "at90usb646": "atmel-dfu", + "at90usb647": "atmel-dfu", + "at90usb1286": "atmel-dfu", + "at90usb1287": "atmel-dfu", + "atmega32a": "bootloadhid", + "atmega328p": "usbasploader", + "atmega328": "usbasploader", +} + +# defaults +schema = dotty(load_jsonschema('keyboard')) +mcu_types = sorted(schema["properties.processor.enum"], key=str.casefold) +available_layouts = sorted([x.name for x in COMMUNITY.iterdir() if x.is_dir()]) + + +def mcu_type(mcu): + """Callable for argparse validation. + """ + if mcu not in mcu_types: + raise ValueError + return mcu + + +def layout_type(layout): + """Callable for argparse validation. + """ + if layout not in available_layouts: + raise ValueError + return layout def keyboard_name(name): @@ -27,113 +94,163 @@ def validate_keyboard_name(name): return bool(regex.match(name)) -@cli.argument('-kb', '--keyboard', help='Specify the name for the new keyboard directory', arg_only=True, type=keyboard_name) -@cli.argument('-t', '--type', help='Specify the keyboard type', arg_only=True, choices=KEYBOARD_TYPES) -@cli.argument('-u', '--username', help='Specify your username (default from Git config)', arg_only=True) -@cli.argument('-n', '--realname', help='Specify your real name if you want to use that. Defaults to username', arg_only=True) -@cli.subcommand('Creates a new keyboard directory') -def new_keyboard(cli): - """Creates a new keyboard. +def select_default_bootloader(mcu): + """Provide sane defaults for bootloader """ - cli.log.info('{style_bright}Generating a new QMK keyboard directory{style_normal}') - cli.echo('') + return MCU2BOOTLOADER.get(mcu, "custom") + + +def replace_placeholders(src, dest, tokens): + """Replaces the given placeholders in each template file. + """ + content = src.read_text() + for key, value in tokens.items(): + content = content.replace(f'%{key}%', value) - # Get keyboard name - new_keyboard_name = None - while not new_keyboard_name: - new_keyboard_name = cli.args.keyboard if cli.args.keyboard else question('Keyboard Name:') - if not validate_keyboard_name(new_keyboard_name): - cli.log.error('Keyboard names must contain only {fg_cyan}lowercase a-z{fg_reset}, {fg_cyan}0-9{fg_reset}, and {fg_cyan}_{fg_reset}! Please choose a different name.') + dest.write_text(content) - # Exit if passed by arg - if cli.args.keyboard: - return False - new_keyboard_name = None - continue +def augment_community_info(src, dest): + """Splice in any additional data into info.json + """ + info = json.loads(src.read_text()) + template = json.loads(dest.read_text()) - keyboard_path = qmk.path.keyboard(new_keyboard_name) - if keyboard_path.exists(): - cli.log.error(f'Keyboard {{fg_cyan}}{new_keyboard_name}{{fg_reset}} already exists! Please choose a different name.') + # merge community with template + deep_update(info, template) - # Exit if passed by arg - if cli.args.keyboard: - return False + # avoid assumptions on macro name by using the first available + first_layout = next(iter(info["layouts"].values()))["layout"] - new_keyboard_name = None + # guess at width and height now its optional + width, height = (0, 0) + for item in first_layout: + width = max(width, int(item["x"]) + 1) + height = max(height, int(item["y"]) + 1) - # Get keyboard type - keyboard_type = cli.args.type if cli.args.type else choice('Keyboard Type:', KEYBOARD_TYPES, default=0) + info["matrix_pins"] = { + "cols": ["C2"] * width, + "rows": ["D1"] * height, + } - # Get username - user_name = None - while not user_name: - user_name = question('Your GitHub User Name:', default=find_user_name()) + # assume a 1:1 mapping on matrix to electrical + for item in first_layout: + item["matrix"] = [int(item["y"]), int(item["x"])] - if not user_name: - cli.log.error('You didn\'t provide a username, and we couldn\'t find one set in your QMK or Git configs. Please try again.') + # finally write out the updated info.json + dest.write_text(json.dumps(info, cls=InfoJSONEncoder)) - # Exit if passed by arg - if cli.args.username: - return False - real_name = None - while not real_name: - real_name = question('Your real name:', default=user_name) +def prompt_keyboard(): + prompt = """{fg_yellow}Name Your Keyboard Project{style_reset_all} - keyboard_basename = keyboard_path.name - replacements = { - "YEAR": str(date.today().year), - "KEYBOARD": keyboard_basename, - "USER_NAME": user_name, - "YOUR_NAME": real_name, - } +For more infomation, see: +https://docs.qmk.fm/#/hardware_keyboard_guidelines?id=naming-your-keyboardproject - template_dir = Path('data/templates') - template_tree(template_dir / 'base', keyboard_path, replacements) - template_tree(template_dir / keyboard_type, keyboard_path, replacements) +keyboard Name? """ + + return question(prompt, validate=lambda x: not keyboard(x).exists()) - cli.echo('') - cli.log.info(f'{{fg_green}}Created a new keyboard called {{fg_cyan}}{new_keyboard_name}{{fg_green}}.{{fg_reset}}') - cli.log.info(f'To start working on things, `cd` into {{fg_cyan}}{keyboard_path}{{fg_reset}},') - cli.log.info('or open the directory in your preferred text editor.') +def prompt_user(): + prompt = """{fg_yellow}Attribution{style_reset_all} -def find_user_name(): - if cli.args.username: - return cli.args.username - elif cli.config.user.name: - return cli.config.user.name - else: - return git_get_username() +Used for maintainer, copyright, etc +Your GitHub Username? """ + return question(prompt, default=git_get_username()) -def template_tree(src: Path, dst: Path, replacements: dict): - """Recursively copy template and replace placeholders - Args: - src (Path) - The source folder to copy from - dst (Path) - The destination folder to copy to - replacements (dict) - a dictionary with "key":"value" pairs to replace. +def prompt_name(def_name): + prompt = """{fg_yellow}More Attribution{style_reset_all} - Raises: - FileExistsError - When trying to overwrite existing files +Used for maintainer, copyright, etc + +Your Real Name? """ + return question(prompt, default=def_name) + + +def prompt_layout(): + prompt = """{fg_yellow}Pick Base Layout{style_reset_all} + +As a starting point, one of the common layouts can be used to bootstrap the process + +Default Layout? """ + # avoid overwhelming user - remove some? + filtered_layouts = [x for x in available_layouts if not any(xs in x for xs in ['_split', '_blocker', '_tsangan', '_f13'])] + filtered_layouts.append("none of the above") + + return choice(prompt, filtered_layouts, default=len(filtered_layouts) - 1) + + +def prompt_mcu(): + prompt = """{fg_yellow}What Powers Your Project{style_reset_all} + +For more infomation, see: +https://docs.qmk.fm/#/compatible_microcontrollers + +MCU? """ + # remove any options strictly used for compatibility + filtered_mcu = [x for x in mcu_types if not any(xs in x for xs in ['cortex', 'unknown'])] + + return choice(prompt, filtered_mcu, default=filtered_mcu.index("atmega32u4")) + + +@cli.argument('-kb', '--keyboard', help='Specify the name for the new keyboard directory', arg_only=True, type=keyboard_name) +@cli.argument('-l', '--layout', help='Community layout to bootstrap with', arg_only=True, type=layout_type) +@cli.argument('-t', '--type', help='Specify the keyboard MCU type', arg_only=True, type=mcu_type) +@cli.argument('-u', '--username', help='Specify your username (default from Git config)', arg_only=True) +@cli.argument('-n', '--realname', help='Specify your real name if you want to use that. Defaults to username', arg_only=True) +@cli.subcommand('Creates a new keyboard directory') +def new_keyboard(cli): + """Creates a new keyboard. """ + cli.log.info('{style_bright}Generating a new QMK keyboard directory{style_normal}') + cli.echo('') + + kb_name = cli.args.keyboard if cli.args.keyboard else prompt_keyboard() + user_name = cli.args.username if cli.args.username else prompt_user() + real_name = cli.args.realname or cli.args.username if cli.args.realname or cli.args.username else prompt_name(user_name) + default_layout = cli.args.layout if cli.args.layout else prompt_layout() + mcu = cli.args.type if cli.args.type else prompt_mcu() + bootloader = select_default_bootloader(mcu) - dst.mkdir(parents=True, exist_ok=True) + if not validate_keyboard_name(kb_name): + cli.log.error('Keyboard names must contain only {fg_cyan}lowercase a-z{fg_reset}, {fg_cyan}0-9{fg_reset}, and {fg_cyan}_{fg_reset}! Please choose a different name.') + return 1 - for child in src.iterdir(): - if child.is_dir(): - template_tree(child, dst / child.name, replacements=replacements) + if keyboard(kb_name).exists(): + cli.log.error(f'Keyboard {{fg_cyan}}{kb_name}{{fg_reset}} already exists! Please choose a different name.') + return 1 - if child.is_file(): - file_name = dst / (child.name % replacements) + tokens = {'YEAR': str(date.today().year), 'KEYBOARD': kb_name, 'USER_NAME': user_name, 'REAL_NAME': real_name, 'LAYOUT': default_layout, 'MCU': mcu, 'BOOTLOADER': bootloader} - with file_name.open(mode='x') as dst_f: - with child.open() as src_f: - template = src_f.read() - dst_f.write(template % replacements) + if cli.config.general.verbose: + cli.log.info("Creating keyboard with:") + for key, value in tokens.items(): + cli.echo(f" {key.ljust(10)}: {value}") + + # TODO: detach community layout and rename to just "LAYOUT" + if default_layout == 'none of the above': + default_layout = "ortho_4x4" + + # begin with making the deepest folder in the tree + keymaps_path = keyboard(kb_name) / 'keymaps/' + keymaps_path.mkdir(parents=True) + + # copy in keymap.c or keymap.json + community_keymap = Path(COMMUNITY / f'{default_layout}/default_{default_layout}/') + shutil.copytree(community_keymap, keymaps_path / 'default') + + # process template files + for file in list(TEMPLATE.iterdir()): + replace_placeholders(file, keyboard(kb_name) / file.name, tokens) + + # merge in infos + community_info = Path(COMMUNITY / f'{default_layout}/info.json') + augment_community_info(community_info, keyboard(kb_name) / community_info.name) + + cli.log.info(f'{{fg_green}}Created a new keyboard called {{fg_cyan}}{kb_name}{{fg_green}}.{{fg_reset}}') + cli.log.info(f'To start working on things, `cd` into {{fg_cyan}}keyboards/{kb_name}{{fg_reset}},') + cli.log.info('or open the directory in your preferred text editor.') + cli.log.info(f"And build with {{fg_yellow}}qmk compile -kb {kb_name} -km default{{fg_reset}}.") diff --git a/lib/python/qmk/path.py b/lib/python/qmk/path.py index 72bae5927341..dfb8371f8450 100644 --- a/lib/python/qmk/path.py +++ b/lib/python/qmk/path.py @@ -46,7 +46,7 @@ def keymap(keyboard_name): """ keyboard_folder = keyboard(keyboard_name) - for i in range(MAX_KEYBOARD_SUBFOLDERS): + for _ in range(MAX_KEYBOARD_SUBFOLDERS): if (keyboard_folder / 'keymaps').exists(): return (keyboard_folder / 'keymaps').resolve() diff --git a/util/new_keyboard.sh b/util/new_keyboard.sh deleted file mode 100755 index 62e8cb9e133c..000000000000 --- a/util/new_keyboard.sh +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/bin/env bash - -# This script generates a new keyboard directory under keyboards/, -# and copies the template files from data/templates/ into it. - -# Print an error message with the word "ERROR" in red. -echo_error() { - echo -e "[\033[0;91mERROR\033[m]: $1" -} - -# Print a message in bold. -echo_bold() { - echo -e "\033[1m$1\033[m" -} - -# Prompt the user for information, showing the default value in brackets. -prompt() { - local message="$1" - local default="$2" - - [ -n "$default" ] && message+=" [$default]" - message+=": " - - read -rp "$message" prompt_return - [ -z "$prompt_return" ] && prompt_return="$default" -} - -# Grab a username from Git config. -set_git_username() { - git_username="$(git config --get user.name)" -} - -# Copy the template files to the new keyboard directory. -copy_templates() { - mkdir -p "$keyboard_dir" - - echo -n "Copying base template files..." - cp -r "data/templates/base/." "${keyboard_dir}" - echo " done" - - echo -n "Copying $keyboard_type template files..." - cp -r "data/templates/${keyboard_type}/." "${keyboard_dir}" - echo " done" - - echo -n "Renaming keyboard files..." - mv "${keyboard_dir}/keyboard.c" "${keyboard_dir}/${keyboard_base_name}.c" - mv "${keyboard_dir}/keyboard.h" "${keyboard_dir}/${keyboard_base_name}.h" - echo " done" -} - -# Set the inplace editing parameter for sed. -# macOS/BSD sed expects a file extension immediately following -i. -set_sed_i() { - sed_i=(-i) - - case $(uname -a) in - *Darwin*) sed_i=(-i "") - esac -} - -# Replace a token with a value in the given list of files. -replace_placeholders() { - local replace_token="$1" - local replace_value="$2" - shift 2 - local replace_filenames=("$@") - - echo -n "Replacing $replace_token with $replace_value..." - for replace_filename in "${replace_filenames[@]}"; do - sed "${sed_i[@]}" -e "s/${replace_token}/${replace_value}/g" "$replace_filename" - done - echo " done" -} - -# Replace %YEAR% with the current year. -replace_year_placeholders() { - local replace_year_filenames=( - "${keyboard_dir}/config.h" - "${keyboard_dir}/${keyboard_base_name}.c" - "${keyboard_dir}/${keyboard_base_name}.h" - "${keyboard_dir}/keymaps/default/keymap.c" - ) - replace_placeholders "%YEAR%" "$(date +%Y)" "${replace_year_filenames[@]}" -} - -# Replace %KEYBOARD% with the keyboard name. -replace_keyboard_placeholders() { - local replace_keyboard_filenames=( - "${keyboard_dir}/config.h" - "${keyboard_dir}/info.json" - "${keyboard_dir}/readme.md" - "${keyboard_dir}/${keyboard_base_name}.c" - "${keyboard_dir}/keymaps/default/readme.md" - ) - replace_placeholders "%KEYBOARD%" "$keyboard_base_name" "${replace_keyboard_filenames[@]}" -} - -# Replace %YOUR_NAME% with the username. -replace_name_placeholders() { - local replace_name_filenames=( - "${keyboard_dir}/config.h" - "${keyboard_dir}/info.json" - "${keyboard_dir}/readme.md" - "${keyboard_dir}/${keyboard_base_name}.c" - "${keyboard_dir}/${keyboard_base_name}.h" - "${keyboard_dir}/keymaps/default/keymap.c" - ) - replace_placeholders "%YOUR_NAME%" "$username" "${replace_name_filenames[@]}" -} - -# Check if an array contains an element. -array_contains() { - local e match="$1" - shift - for e; do - [[ "$e" == "$match" ]] && return 0; - done - - return 1 -} - -# If we've been started from util/, we want to be in qmk_firmware/ -[[ "$PWD" == *util ]] && cd .. - -# The root qmk_firmware/ directory should have a subdirectory called quantum/ -if [ ! -d "quantum" ]; then - echo_error "Could not detect the QMK firmware directory!" - echo_error "Are you sure you're in the right place?" - exit 1 -fi - -echo_bold "########################################" -echo_bold "# NOTICE #" -echo_bold "# This script has been deprecated. #" -echo_bold "# Please use qmk new-keyboard instead. #" -echo_bold "########################################" -echo -echo_bold "Generating a new QMK keyboard directory" -echo - -# Keyboard name is required, so keep prompting until we get one -while [ -z "$keyboard_name" ]; do - prompt "Keyboard Name" "" - keyboard_name=$prompt_return - keyboard_base_name=$(basename $keyboard_name) -done - -keyboard_dir="keyboards/$keyboard_name" - -if [ -d "$keyboard_dir" ]; then - echo_error "Keyboard $keyboard_name already exists!" - exit 1 -fi - -KEYBOARD_TYPES=("avr" "ps2avrgb") - -prompt "Keyboard Type" "avr" -keyboard_type=$prompt_return - -if ! array_contains "$keyboard_type" "${KEYBOARD_TYPES[@]}"; then - echo_error "Keyboard type must be one of: ${KEYBOARD_TYPES[*]}" - exit 1 -fi - -set_git_username -prompt "Your Name" "$git_username" -username=$prompt_return - -echo - -copy_templates -set_sed_i -replace_year_placeholders -replace_keyboard_placeholders -[ -n "$username" ] && replace_name_placeholders - -echo -echo_bold "Created a new keyboard called $keyboard_name." -echo -echo_bold "To start working on things, cd into keyboards/$keyboard_name," -echo_bold "or open the directory in your favourite text editor." diff --git a/util/new_keymap.sh b/util/new_keymap.sh deleted file mode 100755 index c483314fdb06..000000000000 --- a/util/new_keymap.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Script to make a new keymap for a keyboard of your choosing -# This script automates the copying of the default keymap into -# your own keymap - -KB_PATH=$(echo "$1" | tr 'A-Z' 'a-z') -USERNAME=$(echo "$2" | tr 'A-Z' 'a-z') - -if [ -z "$KB_PATH" ]; then - printf "Usage: %s \n" "$0" - printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0" - exit 1 -fi - -if [ -z "$USERNAME" ]; then - printf "Usage: %s \n" "$0" - printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0" - exit 1 -fi - -cd "$(dirname "$0")/.." - -if [ ! -d "keyboards/$KB_PATH" ]; then - printf "Error! keyboards/%s does not exist!\n" "$KB_PATH" - exit 1 -fi - -if [ -d "keyboards/$KB_PATH/keymaps/$USERNAME" ]; then - printf "Error! keyboards/%s/keymaps/%s already exists!\n" "$KB_PATH" "$USERNAME" - exit 1 -fi - -# Recursively copy the chosen keyboard's default keymap -cp -r keyboards/"$KB_PATH"/keymaps/default keyboards/"$KB_PATH"/keymaps/"$USERNAME" - -printf "%s keymap directory created in: qmk_firmware/keyboards/%s/keymaps/\n\n" "$USERNAME" "$KB_PATH" - -printf "Compile a firmware file with your new keymap by typing: \n" -printf " make %s:%s\n" "$KB_PATH" "$USERNAME" -printf "from the qmk_firmware directory\n" From 74e8a71768c5b6ce04e45b4418784c70d6ca3386 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 9 Feb 2022 00:07:42 +0000 Subject: [PATCH 0186/1832] Move driver to core (#15944) --- .../viktus/sp111 => drivers/gpio}/mcp23018.c | 24 ++----- drivers/gpio/mcp23018.h | 65 +++++++++++++++++++ keyboards/viktus/sp111/mcp23018.h | 34 ---------- keyboards/viktus/sp111/rules.mk | 1 + 4 files changed, 72 insertions(+), 52 deletions(-) rename {keyboards/viktus/sp111 => drivers/gpio}/mcp23018.c (74%) create mode 100644 drivers/gpio/mcp23018.h delete mode 100644 keyboards/viktus/sp111/mcp23018.h diff --git a/keyboards/viktus/sp111/mcp23018.c b/drivers/gpio/mcp23018.c similarity index 74% rename from keyboards/viktus/sp111/mcp23018.c rename to drivers/gpio/mcp23018.c index f1d8e568d29d..dc8ab03c50b7 100644 --- a/keyboards/viktus/sp111/mcp23018.c +++ b/drivers/gpio/mcp23018.c @@ -1,18 +1,6 @@ -/* Copyright 2020 zvecr - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ +// Copyright 2022 zvecr +// SPDX-License-Identifier: GPL-2.0-or-later + #include "mcp23018.h" #include "i2c_master.h" #include "wait.h" @@ -40,7 +28,7 @@ void mcp23018_init(uint8_t addr) { } } -bool mcp23018_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf) { +bool mcp23018_set_config(uint8_t slave_addr, mcp23018_port_t port, uint8_t conf) { uint8_t addr = SLAVE_TO_ADDR(slave_addr); uint8_t cmdDirection = port ? CMD_IODIRB : CMD_IODIRA; uint8_t cmdPullup = port ? CMD_GPPUB : CMD_GPPUA; @@ -60,7 +48,7 @@ bool mcp23018_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf) { return true; } -bool mcp23018_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf) { +bool mcp23018_set_output(uint8_t slave_addr, mcp23018_port_t port, uint8_t conf) { uint8_t addr = SLAVE_TO_ADDR(slave_addr); uint8_t cmd = port ? CMD_GPIOB : CMD_GPIOA; @@ -86,7 +74,7 @@ bool mcp23018_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB) { return true; } -bool mcp23018_readPins(uint8_t slave_addr, uint8_t port, uint8_t* out) { +bool mcp23018_readPins(uint8_t slave_addr, mcp23018_port_t port, uint8_t* out) { uint8_t addr = SLAVE_TO_ADDR(slave_addr); uint8_t cmd = port ? CMD_GPIOB : CMD_GPIOA; diff --git a/drivers/gpio/mcp23018.h b/drivers/gpio/mcp23018.h new file mode 100644 index 000000000000..e7c2730dd155 --- /dev/null +++ b/drivers/gpio/mcp23018.h @@ -0,0 +1,65 @@ +// Copyright 2022 zvecr +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +/** + * Port ID + */ +typedef enum { + mcp23018_PORTA, + mcp23018_PORTB, +} mcp23018_port_t; + +/** + * Helpers for set_config + */ +enum { + ALL_OUTPUT = 0, + ALL_INPUT = 0xFF, +}; + +/** + * Helpers for set_output + */ +enum { + ALL_LOW = 0, + ALL_HIGH = 0xFF, +}; + +/** + * Init expander and any other dependent drivers + */ +void mcp23018_init(uint8_t slave_addr); + +/** + * Configure input/output to a given port + */ +bool mcp23018_set_config(uint8_t slave_addr, mcp23018_port_t port, uint8_t conf); + +/** + * Write high/low to a given port + */ +bool mcp23018_set_output(uint8_t slave_addr, mcp23018_port_t port, uint8_t conf); + +/** + * Write high/low to both ports sequentially + * + * - slightly faster than multiple set_output + */ +bool mcp23018_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB); + +/** + * Read state of a given port + */ +bool mcp23018_readPins(uint8_t slave_addr, mcp23018_port_t port, uint8_t* ret); + +/** + * Read state of both ports sequentially + * + * - slightly faster than multiple readPins + */ +bool mcp23018_readPins_all(uint8_t slave_addr, uint16_t* ret); diff --git a/keyboards/viktus/sp111/mcp23018.h b/keyboards/viktus/sp111/mcp23018.h deleted file mode 100644 index dc2251b72ff1..000000000000 --- a/keyboards/viktus/sp111/mcp23018.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2020 zvecr - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#include -#include - -#define mcp23018_PORTA 0 -#define mcp23018_PORTB 1 - -#define ALL_OUTPUT 0 -#define ALL_INPUT 0xFF -#define ALL_LOW 0 -#define ALL_HIGH 0xFF - -void mcp23018_init(uint8_t addr); -bool mcp23018_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf); -bool mcp23018_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf); -bool mcp23018_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB); -bool mcp23018_readPins(uint8_t slave_addraddr, uint8_t port, uint8_t* ret); -bool mcp23018_readPins_all(uint8_t slave_addr, uint16_t* ret); diff --git a/keyboards/viktus/sp111/rules.mk b/keyboards/viktus/sp111/rules.mk index b779ef4cb2af..fab90d4a881f 100644 --- a/keyboards/viktus/sp111/rules.mk +++ b/keyboards/viktus/sp111/rules.mk @@ -22,5 +22,6 @@ LTO_ENABLE = yes # Smaller (and slightly faster) firmware # custom matrix setup CUSTOM_MATRIX = lite +VPATH += drivers/gpio SRC += mcp23018.c matrix.c QUANTUM_LIB_SRC += i2c_master.c From d1e5221bf806e96e1174ee2b318ef4126e24d2d4 Mon Sep 17 00:00:00 2001 From: jack <59737601+waffle87@users.noreply.github.com> Date: Wed, 9 Feb 2022 00:01:58 -0700 Subject: [PATCH 0187/1832] Fix idobao/id80/v3 compilation errors (#16280) * fix * another redefintion --- keyboards/idobao/id80/v3/config.h | 10 +++------- keyboards/idobao/id80/v3/rules.mk | 1 + 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/keyboards/idobao/id80/v3/config.h b/keyboards/idobao/id80/v3/config.h index 06ca74a0e9b2..4b2fb8d0567e 100644 --- a/keyboards/idobao/id80/v3/config.h +++ b/keyboards/idobao/id80/v3/config.h @@ -62,14 +62,10 @@ along with this program. If not, see . #define DIODE_DIRECTION COL2ROW - +#undef RGB_DI_PIN #define RGB_DI_PIN B6 -# define DRIVER_LED_TOTAL 96 /* 16 Bottom 80 top*/ -#ifdef RGB_DI_PIN -# define RGBLED_NUM 96 /* 16 Bottom 80 top*/ -# define RGB_MATRIX_KEYPRESSES // reacts to keypresses -#endif #ifdef RGB_MATRIX_ENABLE +# define DRIVER_LED_TOTAL 96 /* 16 Bottom 80 top*/ # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: @@ -108,7 +104,7 @@ along with this program. If not, see . // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined # define ENABLE_RGB_MATRIX_TYPING_HEATMAP # define ENABLE_RGB_MATRIX_DIGITAL_RAIN -// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +// enabled only if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE # define ENABLE_RGB_MATRIX_SOLID_REACTIVE # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE diff --git a/keyboards/idobao/id80/v3/rules.mk b/keyboards/idobao/id80/v3/rules.mk index 49781db616e2..6805b8f0f9db 100644 --- a/keyboards/idobao/id80/v3/rules.mk +++ b/keyboards/idobao/id80/v3/rules.mk @@ -17,6 +17,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes +LTO_ENABLE = yes RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 From 1f67de2001965a11925b530eedbe60f0191fdced Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 9 Feb 2022 19:55:39 +0000 Subject: [PATCH 0188/1832] Align existing pca9555 driver to better match mcp23018 API (#16277) --- drivers/gpio/pca9555.c | 61 +++++++++------- drivers/gpio/pca9555.h | 81 +++++++++++++++------- keyboards/moon/matrix.c | 8 ++- keyboards/switchplate/southpaw_65/matrix.c | 13 ++-- keyboards/xiudi/xd84/matrix.c | 3 +- keyboards/xiudi/xd96/matrix.c | 11 +-- 6 files changed, 114 insertions(+), 63 deletions(-) diff --git a/drivers/gpio/pca9555.c b/drivers/gpio/pca9555.c index 02b5abbddef2..adcd040083df 100644 --- a/drivers/gpio/pca9555.c +++ b/drivers/gpio/pca9555.c @@ -1,18 +1,6 @@ -/* Copyright 2019 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ +// Copyright 2020 zvecr +// SPDX-License-Identifier: GPL-2.0-or-later + #include "i2c_master.h" #include "pca9555.h" @@ -45,39 +33,59 @@ void pca9555_init(uint8_t slave_addr) { // i2c_stop(); } -void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf) { +bool pca9555_set_config(uint8_t slave_addr, pca9555_port_t port, uint8_t conf) { uint8_t addr = SLAVE_TO_ADDR(slave_addr); uint8_t cmd = port ? CMD_CONFIG_1 : CMD_CONFIG_0; i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); if (ret != I2C_STATUS_SUCCESS) { print("pca9555_set_config::FAILED\n"); + return false; } + + return true; } -void pca9555_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf) { +bool pca9555_set_output(uint8_t slave_addr, pca9555_port_t port, uint8_t conf) { uint8_t addr = SLAVE_TO_ADDR(slave_addr); uint8_t cmd = port ? CMD_OUTPUT_1 : CMD_OUTPUT_0; i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); if (ret != I2C_STATUS_SUCCESS) { print("pca9555_set_output::FAILED\n"); + return false; } + + return true; } -uint8_t pca9555_readPins(uint8_t slave_addr, uint8_t port) { +bool pca9555_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB) { + uint8_t addr = SLAVE_TO_ADDR(slave_addr); + uint8_t conf[2] = {confA, confB}; + + i2c_status_t ret = i2c_writeReg(addr, CMD_OUTPUT_0, &conf[0], sizeof(conf), TIMEOUT); + if (ret != I2C_STATUS_SUCCESS) { + dprintf("pca9555_set_output::FAILED::%u\n", ret); + return false; + } + + return true; +} + +bool pca9555_readPins(uint8_t slave_addr, pca9555_port_t port, uint8_t* out) { uint8_t addr = SLAVE_TO_ADDR(slave_addr); uint8_t cmd = port ? CMD_INPUT_1 : CMD_INPUT_0; - uint8_t data = 0; - i2c_status_t ret = i2c_readReg(addr, cmd, &data, sizeof(data), TIMEOUT); + i2c_status_t ret = i2c_readReg(addr, cmd, out, sizeof(uint8_t), TIMEOUT); if (ret != I2C_STATUS_SUCCESS) { print("pca9555_readPins::FAILED\n"); + return false; } - return data; + + return true; } -uint16_t pca9555_readAllPins(uint8_t slave_addr) { +bool pca9555_readPins_all(uint8_t slave_addr, uint16_t* out) { uint8_t addr = SLAVE_TO_ADDR(slave_addr); typedef union { @@ -85,11 +93,14 @@ uint16_t pca9555_readAllPins(uint8_t slave_addr) { uint16_t u16; } data16; - data16 data; + data16 data = {.u16 = 0}; i2c_status_t ret = i2c_readReg(addr, CMD_INPUT_0, &data.u8[0], sizeof(data), TIMEOUT); if (ret != I2C_STATUS_SUCCESS) { - print("pca9555_readAllPins::FAILED\n"); + print("pca9555_readPins_all::FAILED\n"); + return false; } - return data.u16; + + *out = data.u16; + return true; } diff --git a/drivers/gpio/pca9555.h b/drivers/gpio/pca9555.h index 3341ec3eb53f..6362ab68aeba 100644 --- a/drivers/gpio/pca9555.h +++ b/drivers/gpio/pca9555.h @@ -1,20 +1,11 @@ -/* Copyright 2019 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ +// Copyright 2020 zvecr +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once +#include +#include + /* PCA9555 ,----------. @@ -38,20 +29,60 @@ `----------' */ -#define PCA9555_PORT0 0 -#define PCA9555_PORT1 1 +/** + * Port ID + */ +typedef enum { + PCA9555_PORT0, + PCA9555_PORT1, +} pca9555_port_t; -#define ALL_OUTPUT 0 -#define ALL_INPUT 0xFF -#define ALL_LOW 0 -#define ALL_HIGH 0xFF +/** + * Helpers for set_config + */ +enum { + ALL_OUTPUT = 0, + ALL_INPUT = 0xFF, +}; + +/** + * Helpers for set_output + */ +enum { + ALL_LOW = 0, + ALL_HIGH = 0xFF, +}; +/** + * Init expander and any other dependent drivers + */ void pca9555_init(uint8_t slave_addr); -void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf); +/** + * Configure input/output to a given port + */ +bool pca9555_set_config(uint8_t slave_addr, pca9555_port_t port, uint8_t conf); -void pca9555_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf); +/** + * Write high/low to a given port + */ +bool pca9555_set_output(uint8_t slave_addr, pca9555_port_t port, uint8_t conf); -uint8_t pca9555_readPins(uint8_t slave_addr, uint8_t port); +/** + * Write high/low to both ports sequentially + * + * - slightly faster than multiple set_output + */ +bool pca9555_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB); -uint16_t pca9555_readAllPins(uint8_t slave_addr); +/** + * Read state of a given port + */ +bool pca9555_readPins(uint8_t slave_addr, pca9555_port_t port, uint8_t* ret); + +/** + * Read state of both ports sequentially + * + * - slightly faster than multiple readPins + */ +bool pca9555_readPins_all(uint8_t slave_addr, uint16_t* ret); diff --git a/keyboards/moon/matrix.c b/keyboards/moon/matrix.c index 24b4d49560fd..0615b60ad3b3 100644 --- a/keyboards/moon/matrix.c +++ b/keyboards/moon/matrix.c @@ -158,10 +158,12 @@ static void select_row(uint8_t row) { } static uint16_t read_cols(void) { - uint16_t state_1 = pca9555_readPins(IC2, PCA9555_PORT0); - uint16_t state_2 = pca9555_readPins(IC2, PCA9555_PORT1); + uint8_t state_1 = 0; + uint8_t state_2 = 0; + pca9555_readPins(IC2, PCA9555_PORT0, &state_1); + pca9555_readPins(IC2, PCA9555_PORT1, &state_2); - uint16_t state = ((state_1 & PORT0_COLS_MASK) << 3) | ((state_2 & PORT1_COLS_MASK)); + uint16_t state = (((uint16_t)state_1 & PORT0_COLS_MASK) << 3) | (((uint16_t)state_2 & PORT1_COLS_MASK)); // A low pin indicates an active column return (~state) & COLS_MASK; diff --git a/keyboards/switchplate/southpaw_65/matrix.c b/keyboards/switchplate/southpaw_65/matrix.c index e701d274f03f..5895750f890b 100644 --- a/keyboards/switchplate/southpaw_65/matrix.c +++ b/keyboards/switchplate/southpaw_65/matrix.c @@ -51,11 +51,14 @@ static void select_row(uint8_t row) { static uint32_t read_cols(void) { //Read column inputs. Pins 13-31 are used. Split across both ICs but they are sequential - uint32_t state_1 = pca9555_readPins(IC1, PCA9555_PORT1); - uint32_t state_2 = pca9555_readPins(IC2, PCA9555_PORT0); - uint32_t state_3 = pca9555_readPins(IC2, PCA9555_PORT1); - - uint32_t state = (((state_3 & 0b01111111) << 12) | (state_2 << 4) | ((state_1 & 0b11110000) >> 4)); + uint8_t state_1 = 0; + uint8_t state_2 = 0; + uint8_t state_3 = 0; + pca9555_readPins(IC2, PCA9555_PORT0, &state_1); + pca9555_readPins(IC2, PCA9555_PORT1, &state_2); + pca9555_readPins(IC1, PCA9555_PORT1, &state_3); + + uint32_t state = ((((uint32_t)state_3 & 0b01111111) << 12) | ((uint32_t)state_2 << 4) | (((uint32_t)state_1 & 0b11110000) >> 4)); return ~state; } diff --git a/keyboards/xiudi/xd84/matrix.c b/keyboards/xiudi/xd84/matrix.c index 92b8ff854670..04128561eef1 100644 --- a/keyboards/xiudi/xd84/matrix.c +++ b/keyboards/xiudi/xd84/matrix.c @@ -53,7 +53,8 @@ static void select_row(uint8_t row) { static uint16_t read_cols(void) { // uint16_t state_1 = pca9555_readPins(IC2, PCA9555_PORT0); // uint16_t state_2 = pca9555_readPins(IC2, PCA9555_PORT1); - uint16_t state = pca9555_readAllPins(IC2); + uint16_t state = 0; + pca9555_readPins_all(IC2, &state); // For the XD84 all cols are on the same IC and mapped sequentially // while this technically gives 16 column reads, diff --git a/keyboards/xiudi/xd96/matrix.c b/keyboards/xiudi/xd96/matrix.c index 8cecc79c2660..beef7fae126f 100644 --- a/keyboards/xiudi/xd96/matrix.c +++ b/keyboards/xiudi/xd96/matrix.c @@ -50,13 +50,16 @@ static void select_row(uint8_t row) { } static uint32_t read_cols(void) { - uint32_t state_1 = pca9555_readPins(IC2, PCA9555_PORT0); - uint32_t state_2 = pca9555_readPins(IC2, PCA9555_PORT1); - uint32_t state_3 = pca9555_readPins(IC1, PCA9555_PORT1); + uint8_t state_1 = 0; + uint8_t state_2 = 0; + uint8_t state_3 = 0; + pca9555_readPins(IC2, PCA9555_PORT0, &state_1); + pca9555_readPins(IC2, PCA9555_PORT1, &state_2); + pca9555_readPins(IC1, PCA9555_PORT1, &state_3); // For the XD96 the pins are mapped to port expanders as follows: // all 8 pins port 0 IC2, first 6 pins port 1 IC2, first 4 pins port 1 IC1 - uint32_t state = (((state_3 & 0b00001111) << 14) | ((state_2 & 0b00111111) << 8) | state_1); + uint32_t state = ((((uint32_t)state_3 & 0b00001111) << 14) | (((uint32_t)state_2 & 0b00111111) << 8) | (uint32_t)state_1); return (~state) & 0b111111111111111111; } From c2c2f30f9f479f280b283919013a1b95b408a9b8 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 10 Feb 2022 07:02:53 +1100 Subject: [PATCH 0189/1832] Remove parent-relative paths from keyboards. (#16282) * Remove parent-relative paths from keyboards. * Update keyboards/capsunlocked/cu75/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan --- keyboards/capsunlocked/cu75/rules.mk | 4 +++- keyboards/ergodox_ez/keymaps/default_glow/rules.mk | 2 +- keyboards/hhkb/ansi/post_rules.mk | 12 ++++++------ keyboards/hhkb/jp/post_rules.mk | 12 ++++++------ keyboards/rgbkb/mun/rules.mk | 8 ++++---- keyboards/rgbkb/sol3/rules.mk | 8 ++++---- 6 files changed, 24 insertions(+), 22 deletions(-) diff --git a/keyboards/capsunlocked/cu75/rules.mk b/keyboards/capsunlocked/cu75/rules.mk index 6274267ab150..d3979a914918 100644 --- a/keyboards/capsunlocked/cu75/rules.mk +++ b/keyboards/capsunlocked/cu75/rules.mk @@ -9,4 +9,6 @@ BOOTLOADER = atmel-dfu # BACKLIGHT_DRIVER = custom -SRC = ../lfkeyboards/TWIlib.c ../lfkeyboards/issi.c ../lfkeyboards/lighting.c +# TODO: These boards need to be converted to RGB Matrix +VPATH += keyboards/lfkeyboards +SRC = TWIlib.c issi.c lighting.c diff --git a/keyboards/ergodox_ez/keymaps/default_glow/rules.mk b/keyboards/ergodox_ez/keymaps/default_glow/rules.mk index 360c3c51b899..20bac4ab9ddd 100644 --- a/keyboards/ergodox_ez/keymaps/default_glow/rules.mk +++ b/keyboards/ergodox_ez/keymaps/default_glow/rules.mk @@ -1,4 +1,4 @@ RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes # enable later -SRC += ../default/keymap.c +SRC += keymaps/default/keymap.c diff --git a/keyboards/hhkb/ansi/post_rules.mk b/keyboards/hhkb/ansi/post_rules.mk index bc6ad5cd4cb9..eb9a8f0adb2c 100644 --- a/keyboards/hhkb/ansi/post_rules.mk +++ b/keyboards/hhkb/ansi/post_rules.mk @@ -4,14 +4,14 @@ OPT_DEFS += -DHHKB_RN42_ENABLE # Support for the RN42 Bluetooth module. This is the BT module in Hasu's BT # HHKB Alt controller. -RN42_DIR = ../rn42 +RN42_DIR = keyboards/hhkb/rn42 SRC += serial_uart.c \ - ../rn42/suart.S \ - ../rn42/rn42.c \ - ../rn42/rn42_task.c \ - ../rn42/battery.c \ - ../rn42/main.c + suart.S \ + rn42.c \ + rn42_task.c \ + battery.c \ + main.c VPATH += $(RN42_DIR) diff --git a/keyboards/hhkb/jp/post_rules.mk b/keyboards/hhkb/jp/post_rules.mk index bc6ad5cd4cb9..eb9a8f0adb2c 100644 --- a/keyboards/hhkb/jp/post_rules.mk +++ b/keyboards/hhkb/jp/post_rules.mk @@ -4,14 +4,14 @@ OPT_DEFS += -DHHKB_RN42_ENABLE # Support for the RN42 Bluetooth module. This is the BT module in Hasu's BT # HHKB Alt controller. -RN42_DIR = ../rn42 +RN42_DIR = keyboards/hhkb/rn42 SRC += serial_uart.c \ - ../rn42/suart.S \ - ../rn42/rn42.c \ - ../rn42/rn42_task.c \ - ../rn42/battery.c \ - ../rn42/main.c + suart.S \ + rn42.c \ + rn42_task.c \ + battery.c \ + main.c VPATH += $(RN42_DIR) diff --git a/keyboards/rgbkb/mun/rules.mk b/keyboards/rgbkb/mun/rules.mk index d2ad9cdcc222..a682f3aa0478 100644 --- a/keyboards/rgbkb/mun/rules.mk +++ b/keyboards/rgbkb/mun/rules.mk @@ -5,8 +5,9 @@ MCU = STM32F303 BOOTLOADER = stm32-dfu # Touch encoder needs -SRC += ../common/touch_encoder.c -SRC += ../common/common_oled.c +VPATH += keyboards/rgbkb/common +SRC += touch_encoder.c +SRC += common_oled.c QUANTUM_LIB_SRC += i2c_master.c # Build Options @@ -35,8 +36,7 @@ SERIAL_DRIVER = usart LTO_ENABLE = yes OPT = 3 -OPT_DEFS += -DOLED_FONT_H=\"../common/glcdfont.c\" -OPT_DEFS += -Ikeyboards/rgbkb/common +OPT_DEFS += -DOLED_FONT_H=\"keyboards/rgbkb/common/glcdfont.c\" # matrix optimisations SRC += matrix.c diff --git a/keyboards/rgbkb/sol3/rules.mk b/keyboards/rgbkb/sol3/rules.mk index 8389a7a9c42d..e30330d3330c 100644 --- a/keyboards/rgbkb/sol3/rules.mk +++ b/keyboards/rgbkb/sol3/rules.mk @@ -5,8 +5,9 @@ MCU = STM32F303 BOOTLOADER = stm32-dfu # Touch encoder needs -SRC += ../common/touch_encoder.c -SRC += ../common/common_oled.c +VPATH += keyboards/rgbkb/common +SRC += touch_encoder.c +SRC += common_oled.c QUANTUM_LIB_SRC += i2c_master.c # Build Options @@ -39,8 +40,7 @@ SERIAL_DRIVER = usart LTO_ENABLE = yes OPT = 3 -OPT_DEFS += -DOLED_FONT_H=\"../common/glcdfont.c\" -OPT_DEFS += -Ikeyboards/rgbkb/common +OPT_DEFS += -DOLED_FONT_H=\"keyboards/rgbkb/common/glcdfont.c\" # TODO: Implement fast matrix scanning # matrix optimisations From 9aed06ba4773b6d32bbdf32a3f30e7bceb7af73a Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Thu, 10 Feb 2022 05:08:20 +0800 Subject: [PATCH 0190/1832] move @npspears 's boards into /checkerboards (#16100) --- keyboards/{ => checkerboards}/plexus75/config.h | 0 keyboards/{ => checkerboards}/plexus75/info.json | 0 keyboards/{ => checkerboards}/plexus75/keymaps/default/config.h | 0 keyboards/{ => checkerboards}/plexus75/keymaps/default/keymap.c | 0 .../{ => checkerboards}/plexus75/keymaps/default/readme.md | 0 .../{ => checkerboards}/plexus75/keymaps/default_3u/keymap.c | 0 .../{ => checkerboards}/plexus75/keymaps/default_3u/readme.md | 0 .../{ => checkerboards}/plexus75/keymaps/default_7u/keymap.c | 0 .../{ => checkerboards}/plexus75/keymaps/default_7u/readme.md | 0 keyboards/{ => checkerboards}/plexus75/keymaps/via/keymap.c | 0 keyboards/{ => checkerboards}/plexus75/keymaps/via/rules.mk | 0 keyboards/{ => checkerboards}/plexus75/plexus75.h | 0 keyboards/{ => checkerboards}/plexus75/readme.md | 2 +- keyboards/{ => checkerboards}/plexus75/rules.mk | 0 keyboards/{ => checkerboards}/pursuit40/config.h | 0 keyboards/{ => checkerboards}/pursuit40/info.json | 0 .../{ => checkerboards}/pursuit40/keymaps/default/config.h | 0 .../{ => checkerboards}/pursuit40/keymaps/default/keymap.c | 0 .../{ => checkerboards}/pursuit40/keymaps/default/readme.md | 0 keyboards/{ => checkerboards}/pursuit40/keymaps/via/keymap.c | 0 keyboards/{ => checkerboards}/pursuit40/keymaps/via/rules.mk | 0 keyboards/{ => checkerboards}/pursuit40/pursuit40.c | 0 keyboards/{ => checkerboards}/pursuit40/pursuit40.h | 0 keyboards/{ => checkerboards}/pursuit40/readme.md | 2 +- keyboards/{ => checkerboards}/pursuit40/rules.mk | 0 keyboards/{ => checkerboards}/quark/config.h | 0 keyboards/{ => checkerboards}/quark/info.json | 0 keyboards/{ => checkerboards}/quark/keymaps/ajp10304/keymap.c | 0 keyboards/{ => checkerboards}/quark/keymaps/ajp10304/readme.md | 0 keyboards/{ => checkerboards}/quark/keymaps/ajp10304/rules.mk | 0 keyboards/{ => checkerboards}/quark/keymaps/default/config.h | 0 keyboards/{ => checkerboards}/quark/keymaps/default/keymap.c | 0 keyboards/{ => checkerboards}/quark/keymaps/default/readme.md | 0 .../{ => checkerboards}/quark/keymaps/default_4x12/config.h | 0 .../{ => checkerboards}/quark/keymaps/default_4x12/keymap.c | 0 .../quark/keymaps/default_4x12_2x225u/config.h | 0 .../quark/keymaps/default_4x12_2x225u/keymap.c | 0 .../quark/keymaps/default_4x12_2x3u/config.h | 0 .../quark/keymaps/default_4x12_2x3u/keymap.c | 0 .../quark/keymaps/default_5x12_2x3u/config.h | 0 .../quark/keymaps/default_5x12_2x3u/keymap.c | 0 .../{ => checkerboards}/quark/keymaps/default_mit/config.h | 0 .../{ => checkerboards}/quark/keymaps/default_mit/keymap.c | 0 keyboards/{ => checkerboards}/quark/keymaps/pezhore/config.h | 0 keyboards/{ => checkerboards}/quark/keymaps/pezhore/keymap.c | 0 keyboards/{ => checkerboards}/quark/keymaps/via/keymap.c | 0 keyboards/{ => checkerboards}/quark/keymaps/via/rules.mk | 0 keyboards/{ => checkerboards}/quark/quark.c | 0 keyboards/{ => checkerboards}/quark/quark.h | 0 keyboards/{ => checkerboards}/quark/readme.md | 2 +- keyboards/{ => checkerboards}/quark/rules.mk | 0 51 files changed, 3 insertions(+), 3 deletions(-) rename keyboards/{ => checkerboards}/plexus75/config.h (100%) rename keyboards/{ => checkerboards}/plexus75/info.json (100%) rename keyboards/{ => checkerboards}/plexus75/keymaps/default/config.h (100%) rename keyboards/{ => checkerboards}/plexus75/keymaps/default/keymap.c (100%) rename keyboards/{ => checkerboards}/plexus75/keymaps/default/readme.md (100%) rename keyboards/{ => checkerboards}/plexus75/keymaps/default_3u/keymap.c (100%) rename keyboards/{ => checkerboards}/plexus75/keymaps/default_3u/readme.md (100%) rename keyboards/{ => checkerboards}/plexus75/keymaps/default_7u/keymap.c (100%) rename keyboards/{ => checkerboards}/plexus75/keymaps/default_7u/readme.md (100%) rename keyboards/{ => checkerboards}/plexus75/keymaps/via/keymap.c (100%) rename keyboards/{ => checkerboards}/plexus75/keymaps/via/rules.mk (100%) rename keyboards/{ => checkerboards}/plexus75/plexus75.h (100%) rename keyboards/{ => checkerboards}/plexus75/readme.md (94%) rename keyboards/{ => checkerboards}/plexus75/rules.mk (100%) rename keyboards/{ => checkerboards}/pursuit40/config.h (100%) rename keyboards/{ => checkerboards}/pursuit40/info.json (100%) rename keyboards/{ => checkerboards}/pursuit40/keymaps/default/config.h (100%) rename keyboards/{ => checkerboards}/pursuit40/keymaps/default/keymap.c (100%) rename keyboards/{ => checkerboards}/pursuit40/keymaps/default/readme.md (100%) rename keyboards/{ => checkerboards}/pursuit40/keymaps/via/keymap.c (100%) rename keyboards/{ => checkerboards}/pursuit40/keymaps/via/rules.mk (100%) rename keyboards/{ => checkerboards}/pursuit40/pursuit40.c (100%) rename keyboards/{ => checkerboards}/pursuit40/pursuit40.h (100%) rename keyboards/{ => checkerboards}/pursuit40/readme.md (94%) rename keyboards/{ => checkerboards}/pursuit40/rules.mk (100%) rename keyboards/{ => checkerboards}/quark/config.h (100%) rename keyboards/{ => checkerboards}/quark/info.json (100%) rename keyboards/{ => checkerboards}/quark/keymaps/ajp10304/keymap.c (100%) rename keyboards/{ => checkerboards}/quark/keymaps/ajp10304/readme.md (100%) rename keyboards/{ => checkerboards}/quark/keymaps/ajp10304/rules.mk (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default/config.h (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default/keymap.c (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default/readme.md (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default_4x12/config.h (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default_4x12/keymap.c (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default_4x12_2x225u/config.h (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default_4x12_2x225u/keymap.c (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default_4x12_2x3u/config.h (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default_4x12_2x3u/keymap.c (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default_5x12_2x3u/config.h (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default_5x12_2x3u/keymap.c (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default_mit/config.h (100%) rename keyboards/{ => checkerboards}/quark/keymaps/default_mit/keymap.c (100%) rename keyboards/{ => checkerboards}/quark/keymaps/pezhore/config.h (100%) rename keyboards/{ => checkerboards}/quark/keymaps/pezhore/keymap.c (100%) rename keyboards/{ => checkerboards}/quark/keymaps/via/keymap.c (100%) rename keyboards/{ => checkerboards}/quark/keymaps/via/rules.mk (100%) rename keyboards/{ => checkerboards}/quark/quark.c (100%) rename keyboards/{ => checkerboards}/quark/quark.h (100%) rename keyboards/{ => checkerboards}/quark/readme.md (95%) rename keyboards/{ => checkerboards}/quark/rules.mk (100%) diff --git a/keyboards/plexus75/config.h b/keyboards/checkerboards/plexus75/config.h similarity index 100% rename from keyboards/plexus75/config.h rename to keyboards/checkerboards/plexus75/config.h diff --git a/keyboards/plexus75/info.json b/keyboards/checkerboards/plexus75/info.json similarity index 100% rename from keyboards/plexus75/info.json rename to keyboards/checkerboards/plexus75/info.json diff --git a/keyboards/plexus75/keymaps/default/config.h b/keyboards/checkerboards/plexus75/keymaps/default/config.h similarity index 100% rename from keyboards/plexus75/keymaps/default/config.h rename to keyboards/checkerboards/plexus75/keymaps/default/config.h diff --git a/keyboards/plexus75/keymaps/default/keymap.c b/keyboards/checkerboards/plexus75/keymaps/default/keymap.c similarity index 100% rename from keyboards/plexus75/keymaps/default/keymap.c rename to keyboards/checkerboards/plexus75/keymaps/default/keymap.c diff --git a/keyboards/plexus75/keymaps/default/readme.md b/keyboards/checkerboards/plexus75/keymaps/default/readme.md similarity index 100% rename from keyboards/plexus75/keymaps/default/readme.md rename to keyboards/checkerboards/plexus75/keymaps/default/readme.md diff --git a/keyboards/plexus75/keymaps/default_3u/keymap.c b/keyboards/checkerboards/plexus75/keymaps/default_3u/keymap.c similarity index 100% rename from keyboards/plexus75/keymaps/default_3u/keymap.c rename to keyboards/checkerboards/plexus75/keymaps/default_3u/keymap.c diff --git a/keyboards/plexus75/keymaps/default_3u/readme.md b/keyboards/checkerboards/plexus75/keymaps/default_3u/readme.md similarity index 100% rename from keyboards/plexus75/keymaps/default_3u/readme.md rename to keyboards/checkerboards/plexus75/keymaps/default_3u/readme.md diff --git a/keyboards/plexus75/keymaps/default_7u/keymap.c b/keyboards/checkerboards/plexus75/keymaps/default_7u/keymap.c similarity index 100% rename from keyboards/plexus75/keymaps/default_7u/keymap.c rename to keyboards/checkerboards/plexus75/keymaps/default_7u/keymap.c diff --git a/keyboards/plexus75/keymaps/default_7u/readme.md b/keyboards/checkerboards/plexus75/keymaps/default_7u/readme.md similarity index 100% rename from keyboards/plexus75/keymaps/default_7u/readme.md rename to keyboards/checkerboards/plexus75/keymaps/default_7u/readme.md diff --git a/keyboards/plexus75/keymaps/via/keymap.c b/keyboards/checkerboards/plexus75/keymaps/via/keymap.c similarity index 100% rename from keyboards/plexus75/keymaps/via/keymap.c rename to keyboards/checkerboards/plexus75/keymaps/via/keymap.c diff --git a/keyboards/plexus75/keymaps/via/rules.mk b/keyboards/checkerboards/plexus75/keymaps/via/rules.mk similarity index 100% rename from keyboards/plexus75/keymaps/via/rules.mk rename to keyboards/checkerboards/plexus75/keymaps/via/rules.mk diff --git a/keyboards/plexus75/plexus75.h b/keyboards/checkerboards/plexus75/plexus75.h similarity index 100% rename from keyboards/plexus75/plexus75.h rename to keyboards/checkerboards/plexus75/plexus75.h diff --git a/keyboards/plexus75/readme.md b/keyboards/checkerboards/plexus75/readme.md similarity index 94% rename from keyboards/plexus75/readme.md rename to keyboards/checkerboards/plexus75/readme.md index 4cc2ff2b0918..5d63086bab49 100644 --- a/keyboards/plexus75/readme.md +++ b/keyboards/checkerboards/plexus75/readme.md @@ -10,6 +10,6 @@ The Plexus75 is a 60% ortholinear keyboard based on the XD75 but instead of an a Make example for this keyboard (after setting up your build environment): - make plexus75:default + make checkerboards/plexus75:default 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/plexus75/rules.mk b/keyboards/checkerboards/plexus75/rules.mk similarity index 100% rename from keyboards/plexus75/rules.mk rename to keyboards/checkerboards/plexus75/rules.mk diff --git a/keyboards/pursuit40/config.h b/keyboards/checkerboards/pursuit40/config.h similarity index 100% rename from keyboards/pursuit40/config.h rename to keyboards/checkerboards/pursuit40/config.h diff --git a/keyboards/pursuit40/info.json b/keyboards/checkerboards/pursuit40/info.json similarity index 100% rename from keyboards/pursuit40/info.json rename to keyboards/checkerboards/pursuit40/info.json diff --git a/keyboards/pursuit40/keymaps/default/config.h b/keyboards/checkerboards/pursuit40/keymaps/default/config.h similarity index 100% rename from keyboards/pursuit40/keymaps/default/config.h rename to keyboards/checkerboards/pursuit40/keymaps/default/config.h diff --git a/keyboards/pursuit40/keymaps/default/keymap.c b/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c similarity index 100% rename from keyboards/pursuit40/keymaps/default/keymap.c rename to keyboards/checkerboards/pursuit40/keymaps/default/keymap.c diff --git a/keyboards/pursuit40/keymaps/default/readme.md b/keyboards/checkerboards/pursuit40/keymaps/default/readme.md similarity index 100% rename from keyboards/pursuit40/keymaps/default/readme.md rename to keyboards/checkerboards/pursuit40/keymaps/default/readme.md diff --git a/keyboards/pursuit40/keymaps/via/keymap.c b/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c similarity index 100% rename from keyboards/pursuit40/keymaps/via/keymap.c rename to keyboards/checkerboards/pursuit40/keymaps/via/keymap.c diff --git a/keyboards/pursuit40/keymaps/via/rules.mk b/keyboards/checkerboards/pursuit40/keymaps/via/rules.mk similarity index 100% rename from keyboards/pursuit40/keymaps/via/rules.mk rename to keyboards/checkerboards/pursuit40/keymaps/via/rules.mk diff --git a/keyboards/pursuit40/pursuit40.c b/keyboards/checkerboards/pursuit40/pursuit40.c similarity index 100% rename from keyboards/pursuit40/pursuit40.c rename to keyboards/checkerboards/pursuit40/pursuit40.c diff --git a/keyboards/pursuit40/pursuit40.h b/keyboards/checkerboards/pursuit40/pursuit40.h similarity index 100% rename from keyboards/pursuit40/pursuit40.h rename to keyboards/checkerboards/pursuit40/pursuit40.h diff --git a/keyboards/pursuit40/readme.md b/keyboards/checkerboards/pursuit40/readme.md similarity index 94% rename from keyboards/pursuit40/readme.md rename to keyboards/checkerboards/pursuit40/readme.md index 86cd043f3842..b2193fec9106 100644 --- a/keyboards/pursuit40/readme.md +++ b/keyboards/checkerboards/pursuit40/readme.md @@ -10,6 +10,6 @@ The Pursuit40 PCB is a modified layout Panc40 by Alex Panc. It's similar to trad Make example for this keyboard (after setting up your build environment): - make pursuit40:default + make checkerboards/pursuit40:default 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/pursuit40/rules.mk b/keyboards/checkerboards/pursuit40/rules.mk similarity index 100% rename from keyboards/pursuit40/rules.mk rename to keyboards/checkerboards/pursuit40/rules.mk diff --git a/keyboards/quark/config.h b/keyboards/checkerboards/quark/config.h similarity index 100% rename from keyboards/quark/config.h rename to keyboards/checkerboards/quark/config.h diff --git a/keyboards/quark/info.json b/keyboards/checkerboards/quark/info.json similarity index 100% rename from keyboards/quark/info.json rename to keyboards/checkerboards/quark/info.json diff --git a/keyboards/quark/keymaps/ajp10304/keymap.c b/keyboards/checkerboards/quark/keymaps/ajp10304/keymap.c similarity index 100% rename from keyboards/quark/keymaps/ajp10304/keymap.c rename to keyboards/checkerboards/quark/keymaps/ajp10304/keymap.c diff --git a/keyboards/quark/keymaps/ajp10304/readme.md b/keyboards/checkerboards/quark/keymaps/ajp10304/readme.md similarity index 100% rename from keyboards/quark/keymaps/ajp10304/readme.md rename to keyboards/checkerboards/quark/keymaps/ajp10304/readme.md diff --git a/keyboards/quark/keymaps/ajp10304/rules.mk b/keyboards/checkerboards/quark/keymaps/ajp10304/rules.mk similarity index 100% rename from keyboards/quark/keymaps/ajp10304/rules.mk rename to keyboards/checkerboards/quark/keymaps/ajp10304/rules.mk diff --git a/keyboards/quark/keymaps/default/config.h b/keyboards/checkerboards/quark/keymaps/default/config.h similarity index 100% rename from keyboards/quark/keymaps/default/config.h rename to keyboards/checkerboards/quark/keymaps/default/config.h diff --git a/keyboards/quark/keymaps/default/keymap.c b/keyboards/checkerboards/quark/keymaps/default/keymap.c similarity index 100% rename from keyboards/quark/keymaps/default/keymap.c rename to keyboards/checkerboards/quark/keymaps/default/keymap.c diff --git a/keyboards/quark/keymaps/default/readme.md b/keyboards/checkerboards/quark/keymaps/default/readme.md similarity index 100% rename from keyboards/quark/keymaps/default/readme.md rename to keyboards/checkerboards/quark/keymaps/default/readme.md diff --git a/keyboards/quark/keymaps/default_4x12/config.h b/keyboards/checkerboards/quark/keymaps/default_4x12/config.h similarity index 100% rename from keyboards/quark/keymaps/default_4x12/config.h rename to keyboards/checkerboards/quark/keymaps/default_4x12/config.h diff --git a/keyboards/quark/keymaps/default_4x12/keymap.c b/keyboards/checkerboards/quark/keymaps/default_4x12/keymap.c similarity index 100% rename from keyboards/quark/keymaps/default_4x12/keymap.c rename to keyboards/checkerboards/quark/keymaps/default_4x12/keymap.c diff --git a/keyboards/quark/keymaps/default_4x12_2x225u/config.h b/keyboards/checkerboards/quark/keymaps/default_4x12_2x225u/config.h similarity index 100% rename from keyboards/quark/keymaps/default_4x12_2x225u/config.h rename to keyboards/checkerboards/quark/keymaps/default_4x12_2x225u/config.h diff --git a/keyboards/quark/keymaps/default_4x12_2x225u/keymap.c b/keyboards/checkerboards/quark/keymaps/default_4x12_2x225u/keymap.c similarity index 100% rename from keyboards/quark/keymaps/default_4x12_2x225u/keymap.c rename to keyboards/checkerboards/quark/keymaps/default_4x12_2x225u/keymap.c diff --git a/keyboards/quark/keymaps/default_4x12_2x3u/config.h b/keyboards/checkerboards/quark/keymaps/default_4x12_2x3u/config.h similarity index 100% rename from keyboards/quark/keymaps/default_4x12_2x3u/config.h rename to keyboards/checkerboards/quark/keymaps/default_4x12_2x3u/config.h diff --git a/keyboards/quark/keymaps/default_4x12_2x3u/keymap.c b/keyboards/checkerboards/quark/keymaps/default_4x12_2x3u/keymap.c similarity index 100% rename from keyboards/quark/keymaps/default_4x12_2x3u/keymap.c rename to keyboards/checkerboards/quark/keymaps/default_4x12_2x3u/keymap.c diff --git a/keyboards/quark/keymaps/default_5x12_2x3u/config.h b/keyboards/checkerboards/quark/keymaps/default_5x12_2x3u/config.h similarity index 100% rename from keyboards/quark/keymaps/default_5x12_2x3u/config.h rename to keyboards/checkerboards/quark/keymaps/default_5x12_2x3u/config.h diff --git a/keyboards/quark/keymaps/default_5x12_2x3u/keymap.c b/keyboards/checkerboards/quark/keymaps/default_5x12_2x3u/keymap.c similarity index 100% rename from keyboards/quark/keymaps/default_5x12_2x3u/keymap.c rename to keyboards/checkerboards/quark/keymaps/default_5x12_2x3u/keymap.c diff --git a/keyboards/quark/keymaps/default_mit/config.h b/keyboards/checkerboards/quark/keymaps/default_mit/config.h similarity index 100% rename from keyboards/quark/keymaps/default_mit/config.h rename to keyboards/checkerboards/quark/keymaps/default_mit/config.h diff --git a/keyboards/quark/keymaps/default_mit/keymap.c b/keyboards/checkerboards/quark/keymaps/default_mit/keymap.c similarity index 100% rename from keyboards/quark/keymaps/default_mit/keymap.c rename to keyboards/checkerboards/quark/keymaps/default_mit/keymap.c diff --git a/keyboards/quark/keymaps/pezhore/config.h b/keyboards/checkerboards/quark/keymaps/pezhore/config.h similarity index 100% rename from keyboards/quark/keymaps/pezhore/config.h rename to keyboards/checkerboards/quark/keymaps/pezhore/config.h diff --git a/keyboards/quark/keymaps/pezhore/keymap.c b/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c similarity index 100% rename from keyboards/quark/keymaps/pezhore/keymap.c rename to keyboards/checkerboards/quark/keymaps/pezhore/keymap.c diff --git a/keyboards/quark/keymaps/via/keymap.c b/keyboards/checkerboards/quark/keymaps/via/keymap.c similarity index 100% rename from keyboards/quark/keymaps/via/keymap.c rename to keyboards/checkerboards/quark/keymaps/via/keymap.c diff --git a/keyboards/quark/keymaps/via/rules.mk b/keyboards/checkerboards/quark/keymaps/via/rules.mk similarity index 100% rename from keyboards/quark/keymaps/via/rules.mk rename to keyboards/checkerboards/quark/keymaps/via/rules.mk diff --git a/keyboards/quark/quark.c b/keyboards/checkerboards/quark/quark.c similarity index 100% rename from keyboards/quark/quark.c rename to keyboards/checkerboards/quark/quark.c diff --git a/keyboards/quark/quark.h b/keyboards/checkerboards/quark/quark.h similarity index 100% rename from keyboards/quark/quark.h rename to keyboards/checkerboards/quark/quark.h diff --git a/keyboards/quark/readme.md b/keyboards/checkerboards/quark/readme.md similarity index 95% rename from keyboards/quark/readme.md rename to keyboards/checkerboards/quark/readme.md index 88b742f8218b..743252758a02 100644 --- a/keyboards/quark/readme.md +++ b/keyboards/checkerboards/quark/readme.md @@ -10,6 +10,6 @@ The Quark PCB is a modified layout for the Planck by OLKB. It's similar to a Pla Make example for this keyboard (after setting up your build environment): - make quark:default + make checkerboards/quark:default 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/quark/rules.mk b/keyboards/checkerboards/quark/rules.mk similarity index 100% rename from keyboards/quark/rules.mk rename to keyboards/checkerboards/quark/rules.mk From a9250ad8a123f566de1a5a97de51f8ae13b33ce1 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Thu, 10 Feb 2022 05:14:33 +0800 Subject: [PATCH 0191/1832] move @7-rate 's keebs to /rate (#16099) --- keyboards/pistachio/rules.mk | 1 - keyboards/{ => rate}/pistachio/config.h | 0 keyboards/{ => rate}/pistachio/info.json | 0 keyboards/{ => rate}/pistachio/keymaps/default/keymap.c | 0 keyboards/{ => rate}/pistachio/keymaps/rate/keymap.c | 0 keyboards/{ => rate}/pistachio/keymaps/via/keymap.c | 0 keyboards/{ => rate}/pistachio/keymaps/via/rules.mk | 0 keyboards/{ => rate}/pistachio/pistachio.c | 0 keyboards/{ => rate}/pistachio/pistachio.h | 4 ++-- keyboards/{ => rate}/pistachio/readme.md | 6 +++--- keyboards/{ => rate}/pistachio/rev1/config.h | 0 keyboards/{ => rate}/pistachio/rev1/readme.md | 0 keyboards/{ => rate}/pistachio/rev1/rev1.c | 0 keyboards/{ => rate}/pistachio/rev1/rev1.h | 0 keyboards/{ => rate}/pistachio/rev1/rules.mk | 0 keyboards/{ => rate}/pistachio/rev2/config.h | 0 keyboards/{ => rate}/pistachio/rev2/readme.md | 0 keyboards/{ => rate}/pistachio/rev2/rev2.c | 0 keyboards/{ => rate}/pistachio/rev2/rev2.h | 0 keyboards/{ => rate}/pistachio/rev2/rules.mk | 0 keyboards/rate/pistachio/rules.mk | 1 + keyboards/{ => rate}/pistachio_mp/config.h | 0 keyboards/{ => rate}/pistachio_mp/info.json | 0 keyboards/{ => rate}/pistachio_mp/keymaps/default/keymap.c | 0 keyboards/{ => rate}/pistachio_mp/keymaps/default/readme.md | 0 keyboards/{ => rate}/pistachio_mp/keymaps/via/keymap.c | 0 keyboards/{ => rate}/pistachio_mp/keymaps/via/readme.md | 0 keyboards/{ => rate}/pistachio_mp/keymaps/via/rules.mk | 0 keyboards/{ => rate}/pistachio_mp/pistachio_mp.c | 0 keyboards/{ => rate}/pistachio_mp/pistachio_mp.h | 0 keyboards/{ => rate}/pistachio_mp/readme.md | 6 +++--- keyboards/{ => rate}/pistachio_mp/rules.mk | 0 keyboards/{ => rate}/pistachio_pro/config.h | 2 +- keyboards/{ => rate}/pistachio_pro/info.json | 0 keyboards/{ => rate}/pistachio_pro/keymaps/default/keymap.c | 0 .../{ => rate}/pistachio_pro/keymaps/default/readme.md | 0 keyboards/{ => rate}/pistachio_pro/keymaps/rate/keymap.c | 0 keyboards/{ => rate}/pistachio_pro/keymaps/rate/readme.md | 0 keyboards/{ => rate}/pistachio_pro/keymaps/via/keymap.c | 0 keyboards/{ => rate}/pistachio_pro/keymaps/via/readme.md | 0 keyboards/{ => rate}/pistachio_pro/keymaps/via/rules.mk | 0 keyboards/{ => rate}/pistachio_pro/lib/bme280.c | 0 keyboards/{ => rate}/pistachio_pro/lib/bme280.h | 0 keyboards/{ => rate}/pistachio_pro/lib/glcdfont.c | 0 keyboards/{ => rate}/pistachio_pro/matrix.c | 0 keyboards/{ => rate}/pistachio_pro/pistachio_pro.c | 0 keyboards/{ => rate}/pistachio_pro/pistachio_pro.h | 0 keyboards/{ => rate}/pistachio_pro/readme.md | 4 ++-- keyboards/{ => rate}/pistachio_pro/rules.mk | 0 49 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 keyboards/pistachio/rules.mk rename keyboards/{ => rate}/pistachio/config.h (100%) rename keyboards/{ => rate}/pistachio/info.json (100%) rename keyboards/{ => rate}/pistachio/keymaps/default/keymap.c (100%) rename keyboards/{ => rate}/pistachio/keymaps/rate/keymap.c (100%) rename keyboards/{ => rate}/pistachio/keymaps/via/keymap.c (100%) rename keyboards/{ => rate}/pistachio/keymaps/via/rules.mk (100%) rename keyboards/{ => rate}/pistachio/pistachio.c (100%) rename keyboards/{ => rate}/pistachio/pistachio.h (89%) rename keyboards/{ => rate}/pistachio/readme.md (85%) rename keyboards/{ => rate}/pistachio/rev1/config.h (100%) rename keyboards/{ => rate}/pistachio/rev1/readme.md (100%) rename keyboards/{ => rate}/pistachio/rev1/rev1.c (100%) rename keyboards/{ => rate}/pistachio/rev1/rev1.h (100%) rename keyboards/{ => rate}/pistachio/rev1/rules.mk (100%) rename keyboards/{ => rate}/pistachio/rev2/config.h (100%) rename keyboards/{ => rate}/pistachio/rev2/readme.md (100%) rename keyboards/{ => rate}/pistachio/rev2/rev2.c (100%) rename keyboards/{ => rate}/pistachio/rev2/rev2.h (100%) rename keyboards/{ => rate}/pistachio/rev2/rules.mk (100%) create mode 100644 keyboards/rate/pistachio/rules.mk rename keyboards/{ => rate}/pistachio_mp/config.h (100%) rename keyboards/{ => rate}/pistachio_mp/info.json (100%) rename keyboards/{ => rate}/pistachio_mp/keymaps/default/keymap.c (100%) rename keyboards/{ => rate}/pistachio_mp/keymaps/default/readme.md (100%) rename keyboards/{ => rate}/pistachio_mp/keymaps/via/keymap.c (100%) rename keyboards/{ => rate}/pistachio_mp/keymaps/via/readme.md (100%) rename keyboards/{ => rate}/pistachio_mp/keymaps/via/rules.mk (100%) rename keyboards/{ => rate}/pistachio_mp/pistachio_mp.c (100%) rename keyboards/{ => rate}/pistachio_mp/pistachio_mp.h (100%) rename keyboards/{ => rate}/pistachio_mp/readme.md (92%) rename keyboards/{ => rate}/pistachio_mp/rules.mk (100%) rename keyboards/{ => rate}/pistachio_pro/config.h (97%) rename keyboards/{ => rate}/pistachio_pro/info.json (100%) rename keyboards/{ => rate}/pistachio_pro/keymaps/default/keymap.c (100%) rename keyboards/{ => rate}/pistachio_pro/keymaps/default/readme.md (100%) rename keyboards/{ => rate}/pistachio_pro/keymaps/rate/keymap.c (100%) rename keyboards/{ => rate}/pistachio_pro/keymaps/rate/readme.md (100%) rename keyboards/{ => rate}/pistachio_pro/keymaps/via/keymap.c (100%) rename keyboards/{ => rate}/pistachio_pro/keymaps/via/readme.md (100%) rename keyboards/{ => rate}/pistachio_pro/keymaps/via/rules.mk (100%) rename keyboards/{ => rate}/pistachio_pro/lib/bme280.c (100%) rename keyboards/{ => rate}/pistachio_pro/lib/bme280.h (100%) rename keyboards/{ => rate}/pistachio_pro/lib/glcdfont.c (100%) rename keyboards/{ => rate}/pistachio_pro/matrix.c (100%) rename keyboards/{ => rate}/pistachio_pro/pistachio_pro.c (100%) rename keyboards/{ => rate}/pistachio_pro/pistachio_pro.h (100%) rename keyboards/{ => rate}/pistachio_pro/readme.md (91%) rename keyboards/{ => rate}/pistachio_pro/rules.mk (100%) diff --git a/keyboards/pistachio/rules.mk b/keyboards/pistachio/rules.mk deleted file mode 100644 index 93ae534be943..000000000000 --- a/keyboards/pistachio/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = pistachio/rev2 \ No newline at end of file diff --git a/keyboards/pistachio/config.h b/keyboards/rate/pistachio/config.h similarity index 100% rename from keyboards/pistachio/config.h rename to keyboards/rate/pistachio/config.h diff --git a/keyboards/pistachio/info.json b/keyboards/rate/pistachio/info.json similarity index 100% rename from keyboards/pistachio/info.json rename to keyboards/rate/pistachio/info.json diff --git a/keyboards/pistachio/keymaps/default/keymap.c b/keyboards/rate/pistachio/keymaps/default/keymap.c similarity index 100% rename from keyboards/pistachio/keymaps/default/keymap.c rename to keyboards/rate/pistachio/keymaps/default/keymap.c diff --git a/keyboards/pistachio/keymaps/rate/keymap.c b/keyboards/rate/pistachio/keymaps/rate/keymap.c similarity index 100% rename from keyboards/pistachio/keymaps/rate/keymap.c rename to keyboards/rate/pistachio/keymaps/rate/keymap.c diff --git a/keyboards/pistachio/keymaps/via/keymap.c b/keyboards/rate/pistachio/keymaps/via/keymap.c similarity index 100% rename from keyboards/pistachio/keymaps/via/keymap.c rename to keyboards/rate/pistachio/keymaps/via/keymap.c diff --git a/keyboards/pistachio/keymaps/via/rules.mk b/keyboards/rate/pistachio/keymaps/via/rules.mk similarity index 100% rename from keyboards/pistachio/keymaps/via/rules.mk rename to keyboards/rate/pistachio/keymaps/via/rules.mk diff --git a/keyboards/pistachio/pistachio.c b/keyboards/rate/pistachio/pistachio.c similarity index 100% rename from keyboards/pistachio/pistachio.c rename to keyboards/rate/pistachio/pistachio.c diff --git a/keyboards/pistachio/pistachio.h b/keyboards/rate/pistachio/pistachio.h similarity index 89% rename from keyboards/pistachio/pistachio.h rename to keyboards/rate/pistachio/pistachio.h index 8cbb967f4938..7bf2c59ad6c0 100644 --- a/keyboards/pistachio/pistachio.h +++ b/keyboards/rate/pistachio/pistachio.h @@ -18,8 +18,8 @@ #include "quantum.h" -#if defined(KEYBOARD_pistachio_rev1) +#if defined(KEYBOARD_rate_pistachio_rev1) # include "rev1.h" -#elif defined(KEYBOARD_pistachio_rev2) +#elif defined(KEYBOARD_rate_pistachio_rev2) # include "rev2.h" #endif diff --git a/keyboards/pistachio/readme.md b/keyboards/rate/pistachio/readme.md similarity index 85% rename from keyboards/pistachio/readme.md rename to keyboards/rate/pistachio/readme.md index 8ff5933f4f1c..dc989bbe6c96 100644 --- a/keyboards/pistachio/readme.md +++ b/keyboards/rate/pistachio/readme.md @@ -10,9 +10,9 @@ This is a 92-key split keyboard with JIS layout and spare keys. Make example for this keyboard (after setting up your build environment): - make pistachio/rev1:default - make pistachio/rev2:default + make rate/pistachio/rev1:default + make rate/pistachio/rev2:default 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). -[Build guide](https://ratelog.net/pistachio-build-guide/) \ No newline at end of file +[Build guide](https://ratelog.net/pistachio-build-guide/) diff --git a/keyboards/pistachio/rev1/config.h b/keyboards/rate/pistachio/rev1/config.h similarity index 100% rename from keyboards/pistachio/rev1/config.h rename to keyboards/rate/pistachio/rev1/config.h diff --git a/keyboards/pistachio/rev1/readme.md b/keyboards/rate/pistachio/rev1/readme.md similarity index 100% rename from keyboards/pistachio/rev1/readme.md rename to keyboards/rate/pistachio/rev1/readme.md diff --git a/keyboards/pistachio/rev1/rev1.c b/keyboards/rate/pistachio/rev1/rev1.c similarity index 100% rename from keyboards/pistachio/rev1/rev1.c rename to keyboards/rate/pistachio/rev1/rev1.c diff --git a/keyboards/pistachio/rev1/rev1.h b/keyboards/rate/pistachio/rev1/rev1.h similarity index 100% rename from keyboards/pistachio/rev1/rev1.h rename to keyboards/rate/pistachio/rev1/rev1.h diff --git a/keyboards/pistachio/rev1/rules.mk b/keyboards/rate/pistachio/rev1/rules.mk similarity index 100% rename from keyboards/pistachio/rev1/rules.mk rename to keyboards/rate/pistachio/rev1/rules.mk diff --git a/keyboards/pistachio/rev2/config.h b/keyboards/rate/pistachio/rev2/config.h similarity index 100% rename from keyboards/pistachio/rev2/config.h rename to keyboards/rate/pistachio/rev2/config.h diff --git a/keyboards/pistachio/rev2/readme.md b/keyboards/rate/pistachio/rev2/readme.md similarity index 100% rename from keyboards/pistachio/rev2/readme.md rename to keyboards/rate/pistachio/rev2/readme.md diff --git a/keyboards/pistachio/rev2/rev2.c b/keyboards/rate/pistachio/rev2/rev2.c similarity index 100% rename from keyboards/pistachio/rev2/rev2.c rename to keyboards/rate/pistachio/rev2/rev2.c diff --git a/keyboards/pistachio/rev2/rev2.h b/keyboards/rate/pistachio/rev2/rev2.h similarity index 100% rename from keyboards/pistachio/rev2/rev2.h rename to keyboards/rate/pistachio/rev2/rev2.h diff --git a/keyboards/pistachio/rev2/rules.mk b/keyboards/rate/pistachio/rev2/rules.mk similarity index 100% rename from keyboards/pistachio/rev2/rules.mk rename to keyboards/rate/pistachio/rev2/rules.mk diff --git a/keyboards/rate/pistachio/rules.mk b/keyboards/rate/pistachio/rules.mk new file mode 100644 index 000000000000..a5f44853163a --- /dev/null +++ b/keyboards/rate/pistachio/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = rate/pistachio/rev2 diff --git a/keyboards/pistachio_mp/config.h b/keyboards/rate/pistachio_mp/config.h similarity index 100% rename from keyboards/pistachio_mp/config.h rename to keyboards/rate/pistachio_mp/config.h diff --git a/keyboards/pistachio_mp/info.json b/keyboards/rate/pistachio_mp/info.json similarity index 100% rename from keyboards/pistachio_mp/info.json rename to keyboards/rate/pistachio_mp/info.json diff --git a/keyboards/pistachio_mp/keymaps/default/keymap.c b/keyboards/rate/pistachio_mp/keymaps/default/keymap.c similarity index 100% rename from keyboards/pistachio_mp/keymaps/default/keymap.c rename to keyboards/rate/pistachio_mp/keymaps/default/keymap.c diff --git a/keyboards/pistachio_mp/keymaps/default/readme.md b/keyboards/rate/pistachio_mp/keymaps/default/readme.md similarity index 100% rename from keyboards/pistachio_mp/keymaps/default/readme.md rename to keyboards/rate/pistachio_mp/keymaps/default/readme.md diff --git a/keyboards/pistachio_mp/keymaps/via/keymap.c b/keyboards/rate/pistachio_mp/keymaps/via/keymap.c similarity index 100% rename from keyboards/pistachio_mp/keymaps/via/keymap.c rename to keyboards/rate/pistachio_mp/keymaps/via/keymap.c diff --git a/keyboards/pistachio_mp/keymaps/via/readme.md b/keyboards/rate/pistachio_mp/keymaps/via/readme.md similarity index 100% rename from keyboards/pistachio_mp/keymaps/via/readme.md rename to keyboards/rate/pistachio_mp/keymaps/via/readme.md diff --git a/keyboards/pistachio_mp/keymaps/via/rules.mk b/keyboards/rate/pistachio_mp/keymaps/via/rules.mk similarity index 100% rename from keyboards/pistachio_mp/keymaps/via/rules.mk rename to keyboards/rate/pistachio_mp/keymaps/via/rules.mk diff --git a/keyboards/pistachio_mp/pistachio_mp.c b/keyboards/rate/pistachio_mp/pistachio_mp.c similarity index 100% rename from keyboards/pistachio_mp/pistachio_mp.c rename to keyboards/rate/pistachio_mp/pistachio_mp.c diff --git a/keyboards/pistachio_mp/pistachio_mp.h b/keyboards/rate/pistachio_mp/pistachio_mp.h similarity index 100% rename from keyboards/pistachio_mp/pistachio_mp.h rename to keyboards/rate/pistachio_mp/pistachio_mp.h diff --git a/keyboards/pistachio_mp/readme.md b/keyboards/rate/pistachio_mp/readme.md similarity index 92% rename from keyboards/pistachio_mp/readme.md rename to keyboards/rate/pistachio_mp/readme.md index 0e5b030a6e7d..b8ea088a4a76 100644 --- a/keyboards/pistachio_mp/readme.md +++ b/keyboards/rate/pistachio_mp/readme.md @@ -10,12 +10,12 @@ This is a numeric keypad with a rotary encoder that uses a stainless steel plate Make example for this keyboard (after setting up your build environment): - make pistachio_mp:default + make rate/pistachio_mp:default Flashing example for this keyboard: - make pistachio_mp:default:flash + make rate/pistachio_mp:default:flash 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). -[Build guide](https://ratelog.net/pistachiomacropad-build-guide/) \ No newline at end of file +[Build guide](https://ratelog.net/pistachiomacropad-build-guide/) diff --git a/keyboards/pistachio_mp/rules.mk b/keyboards/rate/pistachio_mp/rules.mk similarity index 100% rename from keyboards/pistachio_mp/rules.mk rename to keyboards/rate/pistachio_mp/rules.mk diff --git a/keyboards/pistachio_pro/config.h b/keyboards/rate/pistachio_pro/config.h similarity index 97% rename from keyboards/pistachio_pro/config.h rename to keyboards/rate/pistachio_pro/config.h index c3cb58496287..f268967f6e5f 100644 --- a/keyboards/pistachio_pro/config.h +++ b/keyboards/rate/pistachio_pro/config.h @@ -96,7 +96,7 @@ along with this program. If not, see . /* OLED */ #define OLED_DISPLAY_128X64 -#define OLED_FONT_H "keyboards/pistachio_pro/lib/glcdfont.c" +#define OLED_FONT_H "keyboards/rate/pistachio_pro/lib/glcdfont.c" #define OLED_FONT_WIDTH 6 #define OLED_FONT_HEIGHT 6 diff --git a/keyboards/pistachio_pro/info.json b/keyboards/rate/pistachio_pro/info.json similarity index 100% rename from keyboards/pistachio_pro/info.json rename to keyboards/rate/pistachio_pro/info.json diff --git a/keyboards/pistachio_pro/keymaps/default/keymap.c b/keyboards/rate/pistachio_pro/keymaps/default/keymap.c similarity index 100% rename from keyboards/pistachio_pro/keymaps/default/keymap.c rename to keyboards/rate/pistachio_pro/keymaps/default/keymap.c diff --git a/keyboards/pistachio_pro/keymaps/default/readme.md b/keyboards/rate/pistachio_pro/keymaps/default/readme.md similarity index 100% rename from keyboards/pistachio_pro/keymaps/default/readme.md rename to keyboards/rate/pistachio_pro/keymaps/default/readme.md diff --git a/keyboards/pistachio_pro/keymaps/rate/keymap.c b/keyboards/rate/pistachio_pro/keymaps/rate/keymap.c similarity index 100% rename from keyboards/pistachio_pro/keymaps/rate/keymap.c rename to keyboards/rate/pistachio_pro/keymaps/rate/keymap.c diff --git a/keyboards/pistachio_pro/keymaps/rate/readme.md b/keyboards/rate/pistachio_pro/keymaps/rate/readme.md similarity index 100% rename from keyboards/pistachio_pro/keymaps/rate/readme.md rename to keyboards/rate/pistachio_pro/keymaps/rate/readme.md diff --git a/keyboards/pistachio_pro/keymaps/via/keymap.c b/keyboards/rate/pistachio_pro/keymaps/via/keymap.c similarity index 100% rename from keyboards/pistachio_pro/keymaps/via/keymap.c rename to keyboards/rate/pistachio_pro/keymaps/via/keymap.c diff --git a/keyboards/pistachio_pro/keymaps/via/readme.md b/keyboards/rate/pistachio_pro/keymaps/via/readme.md similarity index 100% rename from keyboards/pistachio_pro/keymaps/via/readme.md rename to keyboards/rate/pistachio_pro/keymaps/via/readme.md diff --git a/keyboards/pistachio_pro/keymaps/via/rules.mk b/keyboards/rate/pistachio_pro/keymaps/via/rules.mk similarity index 100% rename from keyboards/pistachio_pro/keymaps/via/rules.mk rename to keyboards/rate/pistachio_pro/keymaps/via/rules.mk diff --git a/keyboards/pistachio_pro/lib/bme280.c b/keyboards/rate/pistachio_pro/lib/bme280.c similarity index 100% rename from keyboards/pistachio_pro/lib/bme280.c rename to keyboards/rate/pistachio_pro/lib/bme280.c diff --git a/keyboards/pistachio_pro/lib/bme280.h b/keyboards/rate/pistachio_pro/lib/bme280.h similarity index 100% rename from keyboards/pistachio_pro/lib/bme280.h rename to keyboards/rate/pistachio_pro/lib/bme280.h diff --git a/keyboards/pistachio_pro/lib/glcdfont.c b/keyboards/rate/pistachio_pro/lib/glcdfont.c similarity index 100% rename from keyboards/pistachio_pro/lib/glcdfont.c rename to keyboards/rate/pistachio_pro/lib/glcdfont.c diff --git a/keyboards/pistachio_pro/matrix.c b/keyboards/rate/pistachio_pro/matrix.c similarity index 100% rename from keyboards/pistachio_pro/matrix.c rename to keyboards/rate/pistachio_pro/matrix.c diff --git a/keyboards/pistachio_pro/pistachio_pro.c b/keyboards/rate/pistachio_pro/pistachio_pro.c similarity index 100% rename from keyboards/pistachio_pro/pistachio_pro.c rename to keyboards/rate/pistachio_pro/pistachio_pro.c diff --git a/keyboards/pistachio_pro/pistachio_pro.h b/keyboards/rate/pistachio_pro/pistachio_pro.h similarity index 100% rename from keyboards/pistachio_pro/pistachio_pro.h rename to keyboards/rate/pistachio_pro/pistachio_pro.h diff --git a/keyboards/pistachio_pro/readme.md b/keyboards/rate/pistachio_pro/readme.md similarity index 91% rename from keyboards/pistachio_pro/readme.md rename to keyboards/rate/pistachio_pro/readme.md index b224c874e61e..752f98b73bee 100644 --- a/keyboards/pistachio_pro/readme.md +++ b/keyboards/rate/pistachio_pro/readme.md @@ -10,11 +10,11 @@ This is a JIS layout TKL keyboard with 89 keys, encoder and OLED. Make example for this keyboard (after setting up your build environment): - make pistachio_pro:default + make rate/pistachio_pro:default Flashing example for this keyboard: - make pistachio_pro:default:flash + make rate/pistachio_pro:default:flash To reset the keyboard into bootloader mode, press the reset switch on the underside. diff --git a/keyboards/pistachio_pro/rules.mk b/keyboards/rate/pistachio_pro/rules.mk similarity index 100% rename from keyboards/pistachio_pro/rules.mk rename to keyboards/rate/pistachio_pro/rules.mk From cd673ccebacb2c0550cce32a824c32ce92c8b97f Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Thu, 10 Feb 2022 05:19:28 +0800 Subject: [PATCH 0192/1832] move spaceholdings boards into /spaceholdings (#16096) --- keyboards/{ => spaceholdings}/nebula12/chconf.h | 0 keyboards/{ => spaceholdings}/nebula12/config.h | 0 keyboards/{ => spaceholdings}/nebula12/halconf.h | 0 keyboards/{ => spaceholdings}/nebula12/info.json | 0 keyboards/{ => spaceholdings}/nebula12/keymaps/default/keymap.c | 0 .../{ => spaceholdings}/nebula12/keymaps/default/readme.md | 0 keyboards/{ => spaceholdings}/nebula12/keymaps/via/keymap.c | 0 keyboards/{ => spaceholdings}/nebula12/keymaps/via/readme.md | 0 keyboards/{ => spaceholdings}/nebula12/keymaps/via/rules.mk | 0 keyboards/{ => spaceholdings}/nebula12/mcuconf.h | 0 keyboards/{ => spaceholdings}/nebula12/nebula12.c | 0 keyboards/{ => spaceholdings}/nebula12/nebula12.h | 0 keyboards/{ => spaceholdings}/nebula12/readme.md | 2 +- keyboards/{ => spaceholdings}/nebula12/rules.mk | 0 keyboards/{ => spaceholdings}/nebula68/config.h | 0 keyboards/{ => spaceholdings}/nebula68/halconf.h | 0 keyboards/{ => spaceholdings}/nebula68/info.json | 0 keyboards/{ => spaceholdings}/nebula68/keymaps/default/keymap.c | 0 .../{ => spaceholdings}/nebula68/keymaps/default/readme.md | 0 keyboards/{ => spaceholdings}/nebula68/keymaps/via/keymap.c | 0 keyboards/{ => spaceholdings}/nebula68/keymaps/via/readme.md | 0 keyboards/{ => spaceholdings}/nebula68/keymaps/via/rules.mk | 0 keyboards/{ => spaceholdings}/nebula68/mcuconf.h | 0 keyboards/{ => spaceholdings}/nebula68/nebula68.c | 0 keyboards/{ => spaceholdings}/nebula68/nebula68.h | 0 keyboards/{ => spaceholdings}/nebula68/readme.md | 2 +- keyboards/{ => spaceholdings}/nebula68/rules.mk | 0 keyboards/{ => spaceholdings}/nebula68b/config.h | 0 keyboards/{ => spaceholdings}/nebula68b/info.json | 0 .../{ => spaceholdings}/nebula68b/keymaps/default/keymap.c | 0 .../{ => spaceholdings}/nebula68b/keymaps/default/readme.md | 0 keyboards/{ => spaceholdings}/nebula68b/keymaps/via/keymap.c | 0 keyboards/{ => spaceholdings}/nebula68b/keymaps/via/readme.md | 0 keyboards/{ => spaceholdings}/nebula68b/keymaps/via/rules.mk | 0 keyboards/{ => spaceholdings}/nebula68b/nebula68b.c | 0 keyboards/{ => spaceholdings}/nebula68b/nebula68b.h | 0 keyboards/{ => spaceholdings}/nebula68b/readme.md | 2 +- keyboards/{ => spaceholdings}/nebula68b/rules.mk | 0 38 files changed, 3 insertions(+), 3 deletions(-) rename keyboards/{ => spaceholdings}/nebula12/chconf.h (100%) rename keyboards/{ => spaceholdings}/nebula12/config.h (100%) rename keyboards/{ => spaceholdings}/nebula12/halconf.h (100%) rename keyboards/{ => spaceholdings}/nebula12/info.json (100%) rename keyboards/{ => spaceholdings}/nebula12/keymaps/default/keymap.c (100%) rename keyboards/{ => spaceholdings}/nebula12/keymaps/default/readme.md (100%) rename keyboards/{ => spaceholdings}/nebula12/keymaps/via/keymap.c (100%) rename keyboards/{ => spaceholdings}/nebula12/keymaps/via/readme.md (100%) rename keyboards/{ => spaceholdings}/nebula12/keymaps/via/rules.mk (100%) rename keyboards/{ => spaceholdings}/nebula12/mcuconf.h (100%) rename keyboards/{ => spaceholdings}/nebula12/nebula12.c (100%) rename keyboards/{ => spaceholdings}/nebula12/nebula12.h (100%) rename keyboards/{ => spaceholdings}/nebula12/readme.md (96%) rename keyboards/{ => spaceholdings}/nebula12/rules.mk (100%) rename keyboards/{ => spaceholdings}/nebula68/config.h (100%) rename keyboards/{ => spaceholdings}/nebula68/halconf.h (100%) rename keyboards/{ => spaceholdings}/nebula68/info.json (100%) rename keyboards/{ => spaceholdings}/nebula68/keymaps/default/keymap.c (100%) rename keyboards/{ => spaceholdings}/nebula68/keymaps/default/readme.md (100%) rename keyboards/{ => spaceholdings}/nebula68/keymaps/via/keymap.c (100%) rename keyboards/{ => spaceholdings}/nebula68/keymaps/via/readme.md (100%) rename keyboards/{ => spaceholdings}/nebula68/keymaps/via/rules.mk (100%) rename keyboards/{ => spaceholdings}/nebula68/mcuconf.h (100%) rename keyboards/{ => spaceholdings}/nebula68/nebula68.c (100%) rename keyboards/{ => spaceholdings}/nebula68/nebula68.h (100%) rename keyboards/{ => spaceholdings}/nebula68/readme.md (96%) rename keyboards/{ => spaceholdings}/nebula68/rules.mk (100%) rename keyboards/{ => spaceholdings}/nebula68b/config.h (100%) rename keyboards/{ => spaceholdings}/nebula68b/info.json (100%) rename keyboards/{ => spaceholdings}/nebula68b/keymaps/default/keymap.c (100%) rename keyboards/{ => spaceholdings}/nebula68b/keymaps/default/readme.md (100%) rename keyboards/{ => spaceholdings}/nebula68b/keymaps/via/keymap.c (100%) rename keyboards/{ => spaceholdings}/nebula68b/keymaps/via/readme.md (100%) rename keyboards/{ => spaceholdings}/nebula68b/keymaps/via/rules.mk (100%) rename keyboards/{ => spaceholdings}/nebula68b/nebula68b.c (100%) rename keyboards/{ => spaceholdings}/nebula68b/nebula68b.h (100%) rename keyboards/{ => spaceholdings}/nebula68b/readme.md (96%) rename keyboards/{ => spaceholdings}/nebula68b/rules.mk (100%) diff --git a/keyboards/nebula12/chconf.h b/keyboards/spaceholdings/nebula12/chconf.h similarity index 100% rename from keyboards/nebula12/chconf.h rename to keyboards/spaceholdings/nebula12/chconf.h diff --git a/keyboards/nebula12/config.h b/keyboards/spaceholdings/nebula12/config.h similarity index 100% rename from keyboards/nebula12/config.h rename to keyboards/spaceholdings/nebula12/config.h diff --git a/keyboards/nebula12/halconf.h b/keyboards/spaceholdings/nebula12/halconf.h similarity index 100% rename from keyboards/nebula12/halconf.h rename to keyboards/spaceholdings/nebula12/halconf.h diff --git a/keyboards/nebula12/info.json b/keyboards/spaceholdings/nebula12/info.json similarity index 100% rename from keyboards/nebula12/info.json rename to keyboards/spaceholdings/nebula12/info.json diff --git a/keyboards/nebula12/keymaps/default/keymap.c b/keyboards/spaceholdings/nebula12/keymaps/default/keymap.c similarity index 100% rename from keyboards/nebula12/keymaps/default/keymap.c rename to keyboards/spaceholdings/nebula12/keymaps/default/keymap.c diff --git a/keyboards/nebula12/keymaps/default/readme.md b/keyboards/spaceholdings/nebula12/keymaps/default/readme.md similarity index 100% rename from keyboards/nebula12/keymaps/default/readme.md rename to keyboards/spaceholdings/nebula12/keymaps/default/readme.md diff --git a/keyboards/nebula12/keymaps/via/keymap.c b/keyboards/spaceholdings/nebula12/keymaps/via/keymap.c similarity index 100% rename from keyboards/nebula12/keymaps/via/keymap.c rename to keyboards/spaceholdings/nebula12/keymaps/via/keymap.c diff --git a/keyboards/nebula12/keymaps/via/readme.md b/keyboards/spaceholdings/nebula12/keymaps/via/readme.md similarity index 100% rename from keyboards/nebula12/keymaps/via/readme.md rename to keyboards/spaceholdings/nebula12/keymaps/via/readme.md diff --git a/keyboards/nebula12/keymaps/via/rules.mk b/keyboards/spaceholdings/nebula12/keymaps/via/rules.mk similarity index 100% rename from keyboards/nebula12/keymaps/via/rules.mk rename to keyboards/spaceholdings/nebula12/keymaps/via/rules.mk diff --git a/keyboards/nebula12/mcuconf.h b/keyboards/spaceholdings/nebula12/mcuconf.h similarity index 100% rename from keyboards/nebula12/mcuconf.h rename to keyboards/spaceholdings/nebula12/mcuconf.h diff --git a/keyboards/nebula12/nebula12.c b/keyboards/spaceholdings/nebula12/nebula12.c similarity index 100% rename from keyboards/nebula12/nebula12.c rename to keyboards/spaceholdings/nebula12/nebula12.c diff --git a/keyboards/nebula12/nebula12.h b/keyboards/spaceholdings/nebula12/nebula12.h similarity index 100% rename from keyboards/nebula12/nebula12.h rename to keyboards/spaceholdings/nebula12/nebula12.h diff --git a/keyboards/nebula12/readme.md b/keyboards/spaceholdings/nebula12/readme.md similarity index 96% rename from keyboards/nebula12/readme.md rename to keyboards/spaceholdings/nebula12/readme.md index 3a68d0a97d18..0fc5be178fa1 100755 --- a/keyboards/nebula12/readme.md +++ b/keyboards/spaceholdings/nebula12/readme.md @@ -12,7 +12,7 @@ This is a standard fixed layout 12 key PCB. It supports VIA, full per-key RGB an Make example for this keyboard (after setting up your build environment): - make nebula12:via + make spaceholdings/nebula12:via 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/nebula12/rules.mk b/keyboards/spaceholdings/nebula12/rules.mk similarity index 100% rename from keyboards/nebula12/rules.mk rename to keyboards/spaceholdings/nebula12/rules.mk diff --git a/keyboards/nebula68/config.h b/keyboards/spaceholdings/nebula68/config.h similarity index 100% rename from keyboards/nebula68/config.h rename to keyboards/spaceholdings/nebula68/config.h diff --git a/keyboards/nebula68/halconf.h b/keyboards/spaceholdings/nebula68/halconf.h similarity index 100% rename from keyboards/nebula68/halconf.h rename to keyboards/spaceholdings/nebula68/halconf.h diff --git a/keyboards/nebula68/info.json b/keyboards/spaceholdings/nebula68/info.json similarity index 100% rename from keyboards/nebula68/info.json rename to keyboards/spaceholdings/nebula68/info.json diff --git a/keyboards/nebula68/keymaps/default/keymap.c b/keyboards/spaceholdings/nebula68/keymaps/default/keymap.c similarity index 100% rename from keyboards/nebula68/keymaps/default/keymap.c rename to keyboards/spaceholdings/nebula68/keymaps/default/keymap.c diff --git a/keyboards/nebula68/keymaps/default/readme.md b/keyboards/spaceholdings/nebula68/keymaps/default/readme.md similarity index 100% rename from keyboards/nebula68/keymaps/default/readme.md rename to keyboards/spaceholdings/nebula68/keymaps/default/readme.md diff --git a/keyboards/nebula68/keymaps/via/keymap.c b/keyboards/spaceholdings/nebula68/keymaps/via/keymap.c similarity index 100% rename from keyboards/nebula68/keymaps/via/keymap.c rename to keyboards/spaceholdings/nebula68/keymaps/via/keymap.c diff --git a/keyboards/nebula68/keymaps/via/readme.md b/keyboards/spaceholdings/nebula68/keymaps/via/readme.md similarity index 100% rename from keyboards/nebula68/keymaps/via/readme.md rename to keyboards/spaceholdings/nebula68/keymaps/via/readme.md diff --git a/keyboards/nebula68/keymaps/via/rules.mk b/keyboards/spaceholdings/nebula68/keymaps/via/rules.mk similarity index 100% rename from keyboards/nebula68/keymaps/via/rules.mk rename to keyboards/spaceholdings/nebula68/keymaps/via/rules.mk diff --git a/keyboards/nebula68/mcuconf.h b/keyboards/spaceholdings/nebula68/mcuconf.h similarity index 100% rename from keyboards/nebula68/mcuconf.h rename to keyboards/spaceholdings/nebula68/mcuconf.h diff --git a/keyboards/nebula68/nebula68.c b/keyboards/spaceholdings/nebula68/nebula68.c similarity index 100% rename from keyboards/nebula68/nebula68.c rename to keyboards/spaceholdings/nebula68/nebula68.c diff --git a/keyboards/nebula68/nebula68.h b/keyboards/spaceholdings/nebula68/nebula68.h similarity index 100% rename from keyboards/nebula68/nebula68.h rename to keyboards/spaceholdings/nebula68/nebula68.h diff --git a/keyboards/nebula68/readme.md b/keyboards/spaceholdings/nebula68/readme.md similarity index 96% rename from keyboards/nebula68/readme.md rename to keyboards/spaceholdings/nebula68/readme.md index b990ed20dcde..528d397529ff 100755 --- a/keyboards/nebula68/readme.md +++ b/keyboards/spaceholdings/nebula68/readme.md @@ -12,7 +12,7 @@ This is a standard fixed layout 68% PCB. It supports VIA, full per-key RGB and u Make example for this keyboard (after setting up your build environment): - make nebula68:via + make spaceholdings/nebula68:via 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/nebula68/rules.mk b/keyboards/spaceholdings/nebula68/rules.mk similarity index 100% rename from keyboards/nebula68/rules.mk rename to keyboards/spaceholdings/nebula68/rules.mk diff --git a/keyboards/nebula68b/config.h b/keyboards/spaceholdings/nebula68b/config.h similarity index 100% rename from keyboards/nebula68b/config.h rename to keyboards/spaceholdings/nebula68b/config.h diff --git a/keyboards/nebula68b/info.json b/keyboards/spaceholdings/nebula68b/info.json similarity index 100% rename from keyboards/nebula68b/info.json rename to keyboards/spaceholdings/nebula68b/info.json diff --git a/keyboards/nebula68b/keymaps/default/keymap.c b/keyboards/spaceholdings/nebula68b/keymaps/default/keymap.c similarity index 100% rename from keyboards/nebula68b/keymaps/default/keymap.c rename to keyboards/spaceholdings/nebula68b/keymaps/default/keymap.c diff --git a/keyboards/nebula68b/keymaps/default/readme.md b/keyboards/spaceholdings/nebula68b/keymaps/default/readme.md similarity index 100% rename from keyboards/nebula68b/keymaps/default/readme.md rename to keyboards/spaceholdings/nebula68b/keymaps/default/readme.md diff --git a/keyboards/nebula68b/keymaps/via/keymap.c b/keyboards/spaceholdings/nebula68b/keymaps/via/keymap.c similarity index 100% rename from keyboards/nebula68b/keymaps/via/keymap.c rename to keyboards/spaceholdings/nebula68b/keymaps/via/keymap.c diff --git a/keyboards/nebula68b/keymaps/via/readme.md b/keyboards/spaceholdings/nebula68b/keymaps/via/readme.md similarity index 100% rename from keyboards/nebula68b/keymaps/via/readme.md rename to keyboards/spaceholdings/nebula68b/keymaps/via/readme.md diff --git a/keyboards/nebula68b/keymaps/via/rules.mk b/keyboards/spaceholdings/nebula68b/keymaps/via/rules.mk similarity index 100% rename from keyboards/nebula68b/keymaps/via/rules.mk rename to keyboards/spaceholdings/nebula68b/keymaps/via/rules.mk diff --git a/keyboards/nebula68b/nebula68b.c b/keyboards/spaceholdings/nebula68b/nebula68b.c similarity index 100% rename from keyboards/nebula68b/nebula68b.c rename to keyboards/spaceholdings/nebula68b/nebula68b.c diff --git a/keyboards/nebula68b/nebula68b.h b/keyboards/spaceholdings/nebula68b/nebula68b.h similarity index 100% rename from keyboards/nebula68b/nebula68b.h rename to keyboards/spaceholdings/nebula68b/nebula68b.h diff --git a/keyboards/nebula68b/readme.md b/keyboards/spaceholdings/nebula68b/readme.md similarity index 96% rename from keyboards/nebula68b/readme.md rename to keyboards/spaceholdings/nebula68b/readme.md index c0834e463a67..624d9aced01a 100755 --- a/keyboards/nebula68b/readme.md +++ b/keyboards/spaceholdings/nebula68b/readme.md @@ -12,7 +12,7 @@ This is a standard fixed layout 68% PCB. It supports VIA, full per-key RGB and u Make example for this keyboard (after setting up your build environment): - make nebula68b:via + make spaceholdings/nebula68b:via 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/nebula68b/rules.mk b/keyboards/spaceholdings/nebula68b/rules.mk similarity index 100% rename from keyboards/nebula68b/rules.mk rename to keyboards/spaceholdings/nebula68b/rules.mk From 8e34b64a9931a9155095ff988eeaafd5094ecaa4 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Thu, 10 Feb 2022 05:29:59 +0800 Subject: [PATCH 0193/1832] move hid_liber to /bpiphany (#16091) --- keyboards/{ => bpiphany}/hid_liber/config.h | 0 keyboards/{ => bpiphany}/hid_liber/hid_liber.c | 0 keyboards/{ => bpiphany}/hid_liber/hid_liber.h | 0 keyboards/{ => bpiphany}/hid_liber/info.json | 0 keyboards/{ => bpiphany}/hid_liber/keymaps/bakageta/config.h | 0 keyboards/{ => bpiphany}/hid_liber/keymaps/bakageta/keymap.c | 0 keyboards/{ => bpiphany}/hid_liber/keymaps/bakageta/readme.md | 0 keyboards/{ => bpiphany}/hid_liber/keymaps/bakageta/rules.mk | 0 keyboards/{ => bpiphany}/hid_liber/keymaps/default/keymap.c | 0 keyboards/{ => bpiphany}/hid_liber/keymaps/default/readme.md | 0 keyboards/{ => bpiphany}/hid_liber/matrix.c | 0 keyboards/{ => bpiphany}/hid_liber/readme.md | 2 +- keyboards/{ => bpiphany}/hid_liber/rules.mk | 0 13 files changed, 1 insertion(+), 1 deletion(-) rename keyboards/{ => bpiphany}/hid_liber/config.h (100%) rename keyboards/{ => bpiphany}/hid_liber/hid_liber.c (100%) rename keyboards/{ => bpiphany}/hid_liber/hid_liber.h (100%) rename keyboards/{ => bpiphany}/hid_liber/info.json (100%) rename keyboards/{ => bpiphany}/hid_liber/keymaps/bakageta/config.h (100%) rename keyboards/{ => bpiphany}/hid_liber/keymaps/bakageta/keymap.c (100%) rename keyboards/{ => bpiphany}/hid_liber/keymaps/bakageta/readme.md (100%) rename keyboards/{ => bpiphany}/hid_liber/keymaps/bakageta/rules.mk (100%) rename keyboards/{ => bpiphany}/hid_liber/keymaps/default/keymap.c (100%) rename keyboards/{ => bpiphany}/hid_liber/keymaps/default/readme.md (100%) rename keyboards/{ => bpiphany}/hid_liber/matrix.c (100%) rename keyboards/{ => bpiphany}/hid_liber/readme.md (96%) rename keyboards/{ => bpiphany}/hid_liber/rules.mk (100%) diff --git a/keyboards/hid_liber/config.h b/keyboards/bpiphany/hid_liber/config.h similarity index 100% rename from keyboards/hid_liber/config.h rename to keyboards/bpiphany/hid_liber/config.h diff --git a/keyboards/hid_liber/hid_liber.c b/keyboards/bpiphany/hid_liber/hid_liber.c similarity index 100% rename from keyboards/hid_liber/hid_liber.c rename to keyboards/bpiphany/hid_liber/hid_liber.c diff --git a/keyboards/hid_liber/hid_liber.h b/keyboards/bpiphany/hid_liber/hid_liber.h similarity index 100% rename from keyboards/hid_liber/hid_liber.h rename to keyboards/bpiphany/hid_liber/hid_liber.h diff --git a/keyboards/hid_liber/info.json b/keyboards/bpiphany/hid_liber/info.json similarity index 100% rename from keyboards/hid_liber/info.json rename to keyboards/bpiphany/hid_liber/info.json diff --git a/keyboards/hid_liber/keymaps/bakageta/config.h b/keyboards/bpiphany/hid_liber/keymaps/bakageta/config.h similarity index 100% rename from keyboards/hid_liber/keymaps/bakageta/config.h rename to keyboards/bpiphany/hid_liber/keymaps/bakageta/config.h diff --git a/keyboards/hid_liber/keymaps/bakageta/keymap.c b/keyboards/bpiphany/hid_liber/keymaps/bakageta/keymap.c similarity index 100% rename from keyboards/hid_liber/keymaps/bakageta/keymap.c rename to keyboards/bpiphany/hid_liber/keymaps/bakageta/keymap.c diff --git a/keyboards/hid_liber/keymaps/bakageta/readme.md b/keyboards/bpiphany/hid_liber/keymaps/bakageta/readme.md similarity index 100% rename from keyboards/hid_liber/keymaps/bakageta/readme.md rename to keyboards/bpiphany/hid_liber/keymaps/bakageta/readme.md diff --git a/keyboards/hid_liber/keymaps/bakageta/rules.mk b/keyboards/bpiphany/hid_liber/keymaps/bakageta/rules.mk similarity index 100% rename from keyboards/hid_liber/keymaps/bakageta/rules.mk rename to keyboards/bpiphany/hid_liber/keymaps/bakageta/rules.mk diff --git a/keyboards/hid_liber/keymaps/default/keymap.c b/keyboards/bpiphany/hid_liber/keymaps/default/keymap.c similarity index 100% rename from keyboards/hid_liber/keymaps/default/keymap.c rename to keyboards/bpiphany/hid_liber/keymaps/default/keymap.c diff --git a/keyboards/hid_liber/keymaps/default/readme.md b/keyboards/bpiphany/hid_liber/keymaps/default/readme.md similarity index 100% rename from keyboards/hid_liber/keymaps/default/readme.md rename to keyboards/bpiphany/hid_liber/keymaps/default/readme.md diff --git a/keyboards/hid_liber/matrix.c b/keyboards/bpiphany/hid_liber/matrix.c similarity index 100% rename from keyboards/hid_liber/matrix.c rename to keyboards/bpiphany/hid_liber/matrix.c diff --git a/keyboards/hid_liber/readme.md b/keyboards/bpiphany/hid_liber/readme.md similarity index 96% rename from keyboards/hid_liber/readme.md rename to keyboards/bpiphany/hid_liber/readme.md index d70ace123d5f..3f653cc040bc 100755 --- a/keyboards/hid_liber/readme.md +++ b/keyboards/bpiphany/hid_liber/readme.md @@ -12,6 +12,6 @@ DIY daughterboard for Filco Majestouch TKL developed by Geekhack and Deskthority Make example for this keyboard (after setting up your build environment): - make hid_liber:default + make bpiphany/hid_liber:default 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/hid_liber/rules.mk b/keyboards/bpiphany/hid_liber/rules.mk similarity index 100% rename from keyboards/hid_liber/rules.mk rename to keyboards/bpiphany/hid_liber/rules.mk From 250fd721ace2a979261f8f1b97a487ed8016ee75 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Thu, 10 Feb 2022 05:33:40 +0800 Subject: [PATCH 0194/1832] move four_banger to bpiphany (#16082) --- keyboards/{ => bpiphany}/four_banger/config.h | 0 keyboards/{ => bpiphany}/four_banger/four_banger.c | 0 keyboards/{ => bpiphany}/four_banger/four_banger.h | 0 keyboards/{ => bpiphany}/four_banger/info.json | 0 keyboards/{ => bpiphany}/four_banger/keymaps/default/keymap.c | 0 keyboards/{ => bpiphany}/four_banger/readme.md | 4 ++-- keyboards/{ => bpiphany}/four_banger/rules.mk | 0 7 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/{ => bpiphany}/four_banger/config.h (100%) rename keyboards/{ => bpiphany}/four_banger/four_banger.c (100%) rename keyboards/{ => bpiphany}/four_banger/four_banger.h (100%) rename keyboards/{ => bpiphany}/four_banger/info.json (100%) rename keyboards/{ => bpiphany}/four_banger/keymaps/default/keymap.c (100%) rename keyboards/{ => bpiphany}/four_banger/readme.md (82%) rename keyboards/{ => bpiphany}/four_banger/rules.mk (100%) diff --git a/keyboards/four_banger/config.h b/keyboards/bpiphany/four_banger/config.h similarity index 100% rename from keyboards/four_banger/config.h rename to keyboards/bpiphany/four_banger/config.h diff --git a/keyboards/four_banger/four_banger.c b/keyboards/bpiphany/four_banger/four_banger.c similarity index 100% rename from keyboards/four_banger/four_banger.c rename to keyboards/bpiphany/four_banger/four_banger.c diff --git a/keyboards/four_banger/four_banger.h b/keyboards/bpiphany/four_banger/four_banger.h similarity index 100% rename from keyboards/four_banger/four_banger.h rename to keyboards/bpiphany/four_banger/four_banger.h diff --git a/keyboards/four_banger/info.json b/keyboards/bpiphany/four_banger/info.json similarity index 100% rename from keyboards/four_banger/info.json rename to keyboards/bpiphany/four_banger/info.json diff --git a/keyboards/four_banger/keymaps/default/keymap.c b/keyboards/bpiphany/four_banger/keymaps/default/keymap.c similarity index 100% rename from keyboards/four_banger/keymaps/default/keymap.c rename to keyboards/bpiphany/four_banger/keymaps/default/keymap.c diff --git a/keyboards/four_banger/readme.md b/keyboards/bpiphany/four_banger/readme.md similarity index 82% rename from keyboards/four_banger/readme.md rename to keyboards/bpiphany/four_banger/readme.md index 913ca6ee85a9..d508447b5650 100644 --- a/keyboards/four_banger/readme.md +++ b/keyboards/bpiphany/four_banger/readme.md @@ -9,6 +9,6 @@ Hardware Availability: [1up Keyboards](https://1upkeyboards.com/) Make example for this keyboard (after setting up your build environment): - make four_banger:default + make bpiphany/four_banger:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/four_banger/rules.mk b/keyboards/bpiphany/four_banger/rules.mk similarity index 100% rename from keyboards/four_banger/rules.mk rename to keyboards/bpiphany/four_banger/rules.mk From ae6f471f1c02cbd107549cfdfa84bb490571c321 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 10 Feb 2022 08:50:55 +1100 Subject: [PATCH 0195/1832] Modify the output of the size checks. (#16290) --- tmk_core/rules.mk | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index 6767a8e4af87..b303a87919b5 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk @@ -234,6 +234,7 @@ endif # Define programs and commands. SHELL = sh +SED = sed REMOVE = rm -f REMOVEDIR = rmdir COPY = cp @@ -292,17 +293,15 @@ sym: $(BUILD_DIR)/$(TARGET).sym LIBNAME=lib$(TARGET).a lib: $(LIBNAME) -# Display size of file. -HEXSIZE = $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex -#ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf -ELFSIZE = $(SIZE) $(BUILD_DIR)/$(TARGET).elf +# Display size of file, modifying the output so people don't mistakenly grab the hex output +BINARY_SIZE = $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex | $(SED) -e 's/\.build\/.*$$/$(TARGET).$(FIRMWARE_FORMAT)/g' sizebefore: - @if test -f $(BUILD_DIR)/$(TARGET).hex; then $(SECHO) $(MSG_SIZE_BEFORE); $(SILENT) || $(HEXSIZE); \ + @if test -f $(BUILD_DIR)/$(TARGET).hex; then $(SECHO) $(MSG_SIZE_BEFORE); $(SILENT) || $(BINARY_SIZE); \ 2>/dev/null; $(SECHO); fi sizeafter: $(BUILD_DIR)/$(TARGET).hex - @if test -f $(BUILD_DIR)/$(TARGET).hex; then $(SECHO); $(SECHO) $(MSG_SIZE_AFTER); $(SILENT) || $(HEXSIZE); \ + @if test -f $(BUILD_DIR)/$(TARGET).hex; then $(SECHO); $(SECHO) $(MSG_SIZE_AFTER); $(SILENT) || $(BINARY_SIZE); \ 2>/dev/null; $(SECHO); fi # Display compiler version information. @@ -479,7 +478,7 @@ ifeq ($(findstring avr-gcc,$(CC)),avr-gcc) SIZE_MARGIN = 1024 check-size: - $(eval MAX_SIZE=$(shell n=`$(CC) -E -mmcu=$(MCU) -D__ASSEMBLER__ $(CFLAGS) $(OPT_DEFS) platforms/avr/bootloader_size.c 2> /dev/null | sed -ne 's/\r//;/^#/n;/^AVR_SIZE:/,$${s/^AVR_SIZE: //;p;}'` && echo $$(($$n)) || echo 0)) + $(eval MAX_SIZE=$(shell n=`$(CC) -E -mmcu=$(MCU) -D__ASSEMBLER__ $(CFLAGS) $(OPT_DEFS) platforms/avr/bootloader_size.c 2> /dev/null | $(SED) -ne 's/\r//;/^#/n;/^AVR_SIZE:/,$${s/^AVR_SIZE: //;p;}'` && echo $$(($$n)) || echo 0)) $(eval CURRENT_SIZE=$(shell if [ -f $(BUILD_DIR)/$(TARGET).hex ]; then $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex | $(AWK) 'NR==2 {print $$4}'; else printf 0; fi)) $(eval FREE_SIZE=$(shell expr $(MAX_SIZE) - $(CURRENT_SIZE))) $(eval OVER_SIZE=$(shell expr $(CURRENT_SIZE) - $(MAX_SIZE))) From 3e52e60595d2dde35d0322cf4bdf7e1705b7afb5 Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 10 Feb 2022 18:20:37 +1100 Subject: [PATCH 0196/1832] Fix slashes in build_full_test.mk (#16300) --- build_full_test.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build_full_test.mk b/build_full_test.mk index 4cd1ac61b53f..4e4b4e4bfd62 100644 --- a/build_full_test.mk +++ b/build_full_test.mk @@ -14,7 +14,7 @@ # along with this program. If not, see . $(TEST)_INC := \ - tests\test_common\common_config.h + tests/test_common/common_config.h $(TEST)_SRC := \ $(TMK_COMMON_SRC) \ @@ -33,4 +33,4 @@ $(TEST)_DEFS := $(TMK_COMMON_DEFS) $(OPT_DEFS) $(TEST)_CONFIG := $(TEST_PATH)/config.h -VPATH += $(TOP_DIR)/tests/test_common \ No newline at end of file +VPATH += $(TOP_DIR)/tests/test_common From f7e7671f691cfd42f322198f04690727f6493d73 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 10 Feb 2022 17:45:51 +0000 Subject: [PATCH 0197/1832] Migrate more makefile utilities to builddefs sub-directory (#16002) --- Makefile | 6 +++--- build_full_test.mk => builddefs/build_full_test.mk | 0 build_json.mk => builddefs/build_json.mk | 0 build_keyboard.mk => builddefs/build_keyboard.mk | 8 ++++---- build_layout.mk => builddefs/build_layout.mk | 0 build_test.mk => builddefs/build_test.mk | 6 +++--- common_features.mk => builddefs/common_features.mk | 0 tmk_core/rules.mk => builddefs/common_rules.mk | 0 testlist.mk => builddefs/testlist.mk | 0 lib/python/qmk/cli/multibuild.py | 2 +- lib/python/qmk/commands.py | 2 +- paths.mk | 4 +++- 12 files changed, 15 insertions(+), 13 deletions(-) rename build_full_test.mk => builddefs/build_full_test.mk (100%) rename build_json.mk => builddefs/build_json.mk (100%) rename build_keyboard.mk => builddefs/build_keyboard.mk (98%) rename build_layout.mk => builddefs/build_layout.mk (100%) rename build_test.mk => builddefs/build_test.mk (93%) rename common_features.mk => builddefs/common_features.mk (100%) rename tmk_core/rules.mk => builddefs/common_rules.mk (100%) rename testlist.mk => builddefs/testlist.mk (100%) diff --git a/Makefile b/Makefile index 22c79880a32e..4c2e6a04dc05 100644 --- a/Makefile +++ b/Makefile @@ -275,7 +275,7 @@ define PARSE_KEYMAP # Specify the variables that we are passing forward to submake MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM) REQUIRE_PLATFORM_KEY=$$(REQUIRE_PLATFORM_KEY) QMK_BIN=$$(QMK_BIN) # And the first part of the make command - MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_keyboard.mk $$(MAKE_TARGET) + MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f $(BUILDDEFS_PATH)/build_keyboard.mk $$(MAKE_TARGET) # The message to display MAKE_MSG := $$(MSG_MAKE_KB) # We run the command differently, depending on if we want more output or not @@ -317,7 +317,7 @@ define BUILD_TEST TEST_NAME := $$(notdir $$(TEST_PATH)) MAKE_TARGET := $2 COMMAND := $1 - MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_test.mk $$(MAKE_TARGET) + MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f $(BUILDDEFS_PATH)/build_test.mk $$(MAKE_TARGET) MAKE_VARS := TEST=$$(TEST_NAME) TEST_PATH=$$(TEST_PATH) FULL_TESTS="$$(FULL_TESTS)" MAKE_MSG := $$(MSG_MAKE_TEST) $$(eval $$(call BUILD)) @@ -339,7 +339,7 @@ define PARSE_TEST TESTS := TEST_NAME := $$(firstword $$(subst :, ,$$(RULE))) TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME):,,$$(RULE))) - include $(ROOT_DIR)/testlist.mk + include $(BUILDDEFS_PATH)/testlist.mk ifeq ($$(TEST_NAME),all) MATCHED_TESTS := $$(TEST_LIST) else diff --git a/build_full_test.mk b/builddefs/build_full_test.mk similarity index 100% rename from build_full_test.mk rename to builddefs/build_full_test.mk diff --git a/build_json.mk b/builddefs/build_json.mk similarity index 100% rename from build_json.mk rename to builddefs/build_json.mk diff --git a/build_keyboard.mk b/builddefs/build_keyboard.mk similarity index 98% rename from build_keyboard.mk rename to builddefs/build_keyboard.mk index f727760465e5..d5efcb4193a1 100644 --- a/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -111,7 +111,7 @@ INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard include $(INFO_RULES_MK) # Check for keymap.json first, so we can regenerate keymap.c -include build_json.mk +include $(BUILDDEFS_PATH)/build_json.mk # Pull in keymap level rules.mk ifeq ("$(wildcard $(KEYMAP_PATH))", "") @@ -138,7 +138,7 @@ ifeq ("$(wildcard $(KEYMAP_PATH))", "") KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) else ifneq ($(LAYOUTS),) # If we haven't found a keymap yet fall back to community layouts - include build_layout.mk + include $(BUILDDEFS_PATH)/build_layout.mk else $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) # this state should never be reached @@ -398,7 +398,7 @@ VPATH += $(COMMON_VPATH) VPATH += $(KEYBOARD_OUTPUT)/src VPATH += $(KEYMAP_OUTPUT)/src -include common_features.mk +include $(BUILDDEFS_PATH)/common_features.mk include $(BUILDDEFS_PATH)/generic_features.mk include $(TMK_PATH)/protocol.mk include $(PLATFORM_PATH)/common.mk @@ -460,7 +460,7 @@ check-md5: build objs-size: build include $(BUILDDEFS_PATH)/show_options.mk -include $(TMK_PATH)/rules.mk +include $(BUILDDEFS_PATH)/common_rules.mk # Ensure we have generated files available for each of the objects define GEN_FILES diff --git a/build_layout.mk b/builddefs/build_layout.mk similarity index 100% rename from build_layout.mk rename to builddefs/build_layout.mk diff --git a/build_test.mk b/builddefs/build_test.mk similarity index 93% rename from build_test.mk rename to builddefs/build_test.mk index ec6699b4ea6e..7226004aabc7 100644 --- a/build_test.mk +++ b/builddefs/build_test.mk @@ -54,7 +54,7 @@ include tests/test_common/build.mk include $(TEST_PATH)/test.mk endif -include common_features.mk +include $(BUILDDEFS_PATH)/common_features.mk include $(BUILDDEFS_PATH)/generic_features.mk include $(PLATFORM_PATH)/common.mk include $(TMK_PATH)/protocol.mk @@ -63,7 +63,7 @@ include $(QUANTUM_PATH)/encoder/tests/rules.mk include $(QUANTUM_PATH)/sequencer/tests/rules.mk include $(PLATFORM_PATH)/test/rules.mk ifneq ($(filter $(FULL_TESTS),$(TEST)),) -include build_full_test.mk +include $(BUILDDEFS_PATH)/build_full_test.mk endif $(TEST)_SRC += \ @@ -77,7 +77,7 @@ $(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS) $(TEST_OBJ)/$(TEST)_CONFIG := $($(TEST)_CONFIG) include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk -include $(TMK_PATH)/rules.mk +include $(BUILDDEFS_PATH)/common_rules.mk $(shell mkdir -p $(BUILD_DIR)/test 2>/dev/null) diff --git a/common_features.mk b/builddefs/common_features.mk similarity index 100% rename from common_features.mk rename to builddefs/common_features.mk diff --git a/tmk_core/rules.mk b/builddefs/common_rules.mk similarity index 100% rename from tmk_core/rules.mk rename to builddefs/common_rules.mk diff --git a/testlist.mk b/builddefs/testlist.mk similarity index 100% rename from testlist.mk rename to builddefs/testlist.mk diff --git a/lib/python/qmk/cli/multibuild.py b/lib/python/qmk/cli/multibuild.py index ad059edff38b..dff8c8842218 100755 --- a/lib/python/qmk/cli/multibuild.py +++ b/lib/python/qmk/cli/multibuild.py @@ -69,7 +69,7 @@ def multibuild(cli): all: {keyboard_safe}_binary {keyboard_safe}_binary: @rm -f "{QMK_FIRMWARE}/.build/failed.log.{keyboard_safe}" || true - +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{cli.args.keymap}" REQUIRE_PLATFORM_KEY= COLOR=true SILENT=false {' '.join(cli.args.env)} \\ + +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{cli.args.keymap}" REQUIRE_PLATFORM_KEY= COLOR=true SILENT=false {' '.join(cli.args.env)} \\ >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" 2>&1 \\ || cp "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" "{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}" @{{ grep '\[ERRORS\]' "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{cli.args.keymap}" ; }} \\ diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index 90a68ca3cd46..275cd72e5cd4 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -213,7 +213,7 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_va '-r', '-R', '-f', - 'build_keyboard.mk', + 'builddefs/build_keyboard.mk', ]) if bootloader: diff --git a/paths.mk b/paths.mk index 5a39d00ecd73..85ccfa07964b 100644 --- a/paths.mk +++ b/paths.mk @@ -2,7 +2,9 @@ TOP_DIR = . TMK_DIR = tmk_core TMK_PATH = $(TMK_DIR) -LIB_PATH = lib + +LIB_DIR = lib +LIB_PATH = $(LIB_DIR) QUANTUM_DIR = quantum QUANTUM_PATH = $(QUANTUM_DIR) From e04f6c5d38d503140de3632e8850159e0ef362a6 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 10 Feb 2022 17:52:39 +0000 Subject: [PATCH 0198/1832] Remove manual enable of LTO within user keymaps (#15378) --- keyboards/contra/keymaps/maxr1998/rules.mk | 2 +- keyboards/crkbd/keymaps/snowe/rules.mk | 2 +- keyboards/dztech/dz60rgb/keymaps/matthewrobo/rules.mk | 2 +- keyboards/dztech/dz65rgb/keymaps/drootz/rules.mk | 2 +- .../handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk | 2 +- keyboards/keebio/iris/keymaps/333fred/rules.mk | 3 +-- keyboards/lily58/keymaps/druotoni/rules.mk | 1 - keyboards/rgbkb/zen/rev1/keymaps/333fred/rules.mk | 2 +- keyboards/rgbkb/zygomorph/keymaps/kageurufu/rules.mk | 2 +- keyboards/woodkeys/meira/keymaps/cole/rules.mk | 2 +- keyboards/woodkeys/meira/keymaps/grahampheath/rules.mk | 2 +- keyboards/yoichiro/lunakey_mini/keymaps/via/rules.mk | 2 +- 12 files changed, 11 insertions(+), 13 deletions(-) diff --git a/keyboards/contra/keymaps/maxr1998/rules.mk b/keyboards/contra/keymaps/maxr1998/rules.mk index e1ba074290bb..8607ce19ef73 100644 --- a/keyboards/contra/keymaps/maxr1998/rules.mk +++ b/keyboards/contra/keymaps/maxr1998/rules.mk @@ -1,7 +1,7 @@ RGBLIGHT_ENABLE = yes KEY_LOCK_ENABLE = yes -EXTRAFLAGS += -flto +LTO_ENABLE = yes UNICODE_ENABLE = no MOUSEKEY_ENABLE = no diff --git a/keyboards/crkbd/keymaps/snowe/rules.mk b/keyboards/crkbd/keymaps/snowe/rules.mk index ce3b5928fadc..96ae4bbf95f8 100644 --- a/keyboards/crkbd/keymaps/snowe/rules.mk +++ b/keyboards/crkbd/keymaps/snowe/rules.mk @@ -21,6 +21,6 @@ OCEAN_DREAM_ENABLE = yes LUNA_ENABLE = no # disabled so travis build succeeds # if firmware size over limit, try this option -CFLAGS += -flto +LTO_ENABLE = yes WPM_ENABLE = yes diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/rules.mk b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/rules.mk index 15b8ec1bafc0..e2618e52906a 100644 --- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/rules.mk +++ b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/rules.mk @@ -2,6 +2,6 @@ NKRO_ENABLE = yes # USB Nkey Rollover AUTO_SHIFT_ENABLE = yes # Auto Shift # VELOCIKEY_ENABLE = yes -EXTRAFLAGS += -flto +LTO_ENABLE = yes # SRC += dz60rgb.c diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/rules.mk b/keyboards/dztech/dz65rgb/keymaps/drootz/rules.mk index 24a765ab9a04..2f8ab8ecc382 100644 --- a/keyboards/dztech/dz65rgb/keymaps/drootz/rules.mk +++ b/keyboards/dztech/dz65rgb/keymaps/drootz/rules.mk @@ -2,7 +2,7 @@ DYNAMIC_MACRO_ENABLE = yes LEADER_ENABLE = yes # Firmware size Optimizations -EXTRAFLAGS += -flto +LTO_ENABLE = yes MOUSEKEY_ENABLE = no NKRO_ENABLE = no SPACE_CADET_ENABLE = no diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk index 6d2e27cb41ca..5ad63b02b703 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk @@ -1,3 +1,3 @@ KEY_LOCK_ENABLE = yes CONSOLE_ENABLE = no -EXTRAFLAGS += -flto +LTO_ENABLE = yes diff --git a/keyboards/keebio/iris/keymaps/333fred/rules.mk b/keyboards/keebio/iris/keymaps/333fred/rules.mk index 995272e2f227..5ad63b02b703 100644 --- a/keyboards/keebio/iris/keymaps/333fred/rules.mk +++ b/keyboards/keebio/iris/keymaps/333fred/rules.mk @@ -1,4 +1,3 @@ KEY_LOCK_ENABLE = yes CONSOLE_ENABLE = no -EXTRAFLAGS += -flto - +LTO_ENABLE = yes diff --git a/keyboards/lily58/keymaps/druotoni/rules.mk b/keyboards/lily58/keymaps/druotoni/rules.mk index c07761108eac..b3182cb46af4 100644 --- a/keyboards/lily58/keymaps/druotoni/rules.mk +++ b/keyboards/lily58/keymaps/druotoni/rules.mk @@ -9,7 +9,6 @@ BOOTLOADER = atmel-dfu # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# EXTRAFLAGS += -flto LTO_ENABLE = yes SPACE_CADET_ENABLE = no GRAVE_ESC_ENABLE = no diff --git a/keyboards/rgbkb/zen/rev1/keymaps/333fred/rules.mk b/keyboards/rgbkb/zen/rev1/keymaps/333fred/rules.mk index f858bbe3daa1..a5b445407367 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/333fred/rules.mk +++ b/keyboards/rgbkb/zen/rev1/keymaps/333fred/rules.mk @@ -1,4 +1,4 @@ RGBLIGHT_ENABLE = yes KEY_LOCK_ENABLE = yes CONSOLE_ENABLE = no -EXTRAFLAGS += -flto +LTO_ENABLE = yes diff --git a/keyboards/rgbkb/zygomorph/keymaps/kageurufu/rules.mk b/keyboards/rgbkb/zygomorph/keymaps/kageurufu/rules.mk index d484c4736694..c5cc34d89893 100644 --- a/keyboards/rgbkb/zygomorph/keymaps/kageurufu/rules.mk +++ b/keyboards/rgbkb/zygomorph/keymaps/kageurufu/rules.mk @@ -41,4 +41,4 @@ ifeq ($(strip $(RGBLIGHT_SPLIT_ENABLE)), yes) endif # Link time optimization, should save on firmware size -EXTRAFLAGS += -flto +LTO_ENABLE = yes diff --git a/keyboards/woodkeys/meira/keymaps/cole/rules.mk b/keyboards/woodkeys/meira/keymaps/cole/rules.mk index 8f8d53e57a5c..eed6b9c11903 100644 --- a/keyboards/woodkeys/meira/keymaps/cole/rules.mk +++ b/keyboards/woodkeys/meira/keymaps/cole/rules.mk @@ -1,2 +1,2 @@ AUDIO_ENABLE = yes # Audio output on port C6 -EXTRAFLAGS+=-flto # -4-7k \ No newline at end of file +LTO_ENABLE = yes # -4-7k diff --git a/keyboards/woodkeys/meira/keymaps/grahampheath/rules.mk b/keyboards/woodkeys/meira/keymaps/grahampheath/rules.mk index b3b1980eb151..1c61fe1c12b4 100644 --- a/keyboards/woodkeys/meira/keymaps/grahampheath/rules.mk +++ b/keyboards/woodkeys/meira/keymaps/grahampheath/rules.mk @@ -1,5 +1,5 @@ AUDIO_ENABLE = yes # Audio output on port C6 -EXTRAFLAGS+=-flto # -4-7k +LTO_ENABLE = yes # -4-7k MOUSEKEY_ENABLE = no # Mouse keys(-47kb) ISSI_ENABLE = no BACKLIGHT_ENABLE = no \ No newline at end of file diff --git a/keyboards/yoichiro/lunakey_mini/keymaps/via/rules.mk b/keyboards/yoichiro/lunakey_mini/keymaps/via/rules.mk index 8b55a3b731fb..989d0d173c5e 100644 --- a/keyboards/yoichiro/lunakey_mini/keymaps/via/rules.mk +++ b/keyboards/yoichiro/lunakey_mini/keymaps/via/rules.mk @@ -2,4 +2,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB Underglow AUDIO_ENABLE = no # Enable Audio output OLED_ENABLE = no # Enable OLED Display VIA_ENABLE = yes # Enable VIA support -LTO_ENABLE = yes # CFLAGS=flto +LTO_ENABLE = yes # Reduce firmware size From 7c57c88c86f62de5284f0bf0d616efb286e2f3e9 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Fri, 11 Feb 2022 05:19:33 +0800 Subject: [PATCH 0199/1832] move ID87 to IDOBAO vendor folder (#15667) * move ID87 to IDOBAO vendor folder * move to v1 to acommondate for v2 --- keyboards/{id87 => idobao/id87/v1}/config.h | 0 keyboards/{id87 => idobao/id87/v1}/info.json | 0 keyboards/{id87 => idobao/id87/v1}/keymaps/default/keymap.c | 0 keyboards/{id87 => idobao/id87/v1}/keymaps/default/readme.md | 0 keyboards/{id87 => idobao/id87/v1}/keymaps/via/keymap.c | 0 keyboards/{id87 => idobao/id87/v1}/keymaps/via/rules.mk | 0 keyboards/{id87 => idobao/id87/v1}/readme.md | 4 ++-- keyboards/{id87 => idobao/id87/v1}/rules.mk | 0 keyboards/{id87/id87.c => idobao/id87/v1/v1.c} | 2 +- keyboards/{id87/id87.h => idobao/id87/v1/v1.h} | 0 10 files changed, 3 insertions(+), 3 deletions(-) rename keyboards/{id87 => idobao/id87/v1}/config.h (100%) rename keyboards/{id87 => idobao/id87/v1}/info.json (100%) rename keyboards/{id87 => idobao/id87/v1}/keymaps/default/keymap.c (100%) rename keyboards/{id87 => idobao/id87/v1}/keymaps/default/readme.md (100%) rename keyboards/{id87 => idobao/id87/v1}/keymaps/via/keymap.c (100%) rename keyboards/{id87 => idobao/id87/v1}/keymaps/via/rules.mk (100%) rename keyboards/{id87 => idobao/id87/v1}/readme.md (91%) rename keyboards/{id87 => idobao/id87/v1}/rules.mk (100%) rename keyboards/{id87/id87.c => idobao/id87/v1/v1.c} (97%) rename keyboards/{id87/id87.h => idobao/id87/v1/v1.h} (100%) diff --git a/keyboards/id87/config.h b/keyboards/idobao/id87/v1/config.h similarity index 100% rename from keyboards/id87/config.h rename to keyboards/idobao/id87/v1/config.h diff --git a/keyboards/id87/info.json b/keyboards/idobao/id87/v1/info.json similarity index 100% rename from keyboards/id87/info.json rename to keyboards/idobao/id87/v1/info.json diff --git a/keyboards/id87/keymaps/default/keymap.c b/keyboards/idobao/id87/v1/keymaps/default/keymap.c similarity index 100% rename from keyboards/id87/keymaps/default/keymap.c rename to keyboards/idobao/id87/v1/keymaps/default/keymap.c diff --git a/keyboards/id87/keymaps/default/readme.md b/keyboards/idobao/id87/v1/keymaps/default/readme.md similarity index 100% rename from keyboards/id87/keymaps/default/readme.md rename to keyboards/idobao/id87/v1/keymaps/default/readme.md diff --git a/keyboards/id87/keymaps/via/keymap.c b/keyboards/idobao/id87/v1/keymaps/via/keymap.c similarity index 100% rename from keyboards/id87/keymaps/via/keymap.c rename to keyboards/idobao/id87/v1/keymaps/via/keymap.c diff --git a/keyboards/id87/keymaps/via/rules.mk b/keyboards/idobao/id87/v1/keymaps/via/rules.mk similarity index 100% rename from keyboards/id87/keymaps/via/rules.mk rename to keyboards/idobao/id87/v1/keymaps/via/rules.mk diff --git a/keyboards/id87/readme.md b/keyboards/idobao/id87/v1/readme.md similarity index 91% rename from keyboards/id87/readme.md rename to keyboards/idobao/id87/v1/readme.md index ee3604f84926..59814f81f709 100644 --- a/keyboards/id87/readme.md +++ b/keyboards/idobao/id87/v1/readme.md @@ -10,10 +10,10 @@ A TKL hotswap board from IDOBAO. Make example for this keyboard (after setting up your build environment): - make id87:default + make idobao/id87/v1:default Flashing example for this keyboard: - make id87:default:flash + make idobao/id87/v1:default:flash 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/id87/rules.mk b/keyboards/idobao/id87/v1/rules.mk similarity index 100% rename from keyboards/id87/rules.mk rename to keyboards/idobao/id87/v1/rules.mk diff --git a/keyboards/id87/id87.c b/keyboards/idobao/id87/v1/v1.c similarity index 97% rename from keyboards/id87/id87.c rename to keyboards/idobao/id87/v1/v1.c index 145edc163998..59dc3daab468 100644 --- a/keyboards/id87/id87.c +++ b/keyboards/idobao/id87/v1/v1.c @@ -12,4 +12,4 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "id87.h" +#include "v1.h" diff --git a/keyboards/id87/id87.h b/keyboards/idobao/id87/v1/v1.h similarity index 100% rename from keyboards/id87/id87.h rename to keyboards/idobao/id87/v1/v1.h From 27ec6674304412fb6f5499dbf0874dcf7b5524c6 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Fri, 11 Feb 2022 05:46:03 +0800 Subject: [PATCH 0200/1832] move id80 and id75 to v1 to accommodate for id75 v2 and id80 v3 (#15992) * move id80 to a v1 to acommondate for v2 and a future v3 * move id75 to v1 * fix manufacturer and product fields, enable backlight * move user keymap * Fix DEFAULT_FOLDER * Update build command Co-authored-by: zvecr --- keyboards/idobao/id75/{ => v1}/config.h | 4 ++-- keyboards/idobao/id75/{ => v1}/info.json | 0 keyboards/idobao/id75/{ => v1}/readme.md | 2 +- keyboards/idobao/id75/{ => v1}/rules.mk | 6 +++--- keyboards/idobao/id75/{id75.c => v1/v1.c} | 2 +- keyboards/idobao/id75/{id75.h => v1/v1.h} | 0 keyboards/idobao/id80/{ => v1}/ansi/config.h | 0 .../idobao/id80/{ => v1}/ansi/keymaps/default/keymap.c | 0 .../idobao/id80/{ => v1}/ansi/keymaps/default/readme.md | 0 keyboards/idobao/id80/{ => v1}/ansi/keymaps/msf/config.h | 0 keyboards/idobao/id80/{ => v1}/ansi/keymaps/msf/keymap.c | 0 keyboards/idobao/id80/{ => v1}/ansi/keymaps/msf/readme.md | 0 keyboards/idobao/id80/{ => v1}/ansi/keymaps/msf/rules.mk | 0 keyboards/idobao/id80/{ => v1/ansi}/keymaps/rverst/keymap.c | 0 .../idobao/id80/{ => v1/ansi}/keymaps/rverst/readme.md | 0 .../idobao/id80/{ => v1/ansi}/keymaps/rverst/rverst.json | 0 keyboards/idobao/id80/{ => v1}/ansi/keymaps/via/keymap.c | 0 keyboards/idobao/id80/{ => v1}/ansi/keymaps/via/rules.mk | 0 keyboards/idobao/id80/{ => v1}/ansi/readme.md | 0 keyboards/idobao/id80/{ => v1}/ansi/rules.mk | 0 keyboards/idobao/id80/{ => v1}/config.h | 0 keyboards/idobao/id80/{ => v1}/info.json | 0 keyboards/idobao/id80/{ => v1}/iso/config.h | 0 keyboards/idobao/id80/{ => v1}/iso/keymaps/default/keymap.c | 0 .../idobao/id80/{ => v1}/iso/keymaps/default/readme.md | 0 keyboards/idobao/id80/{ => v1}/iso/keymaps/via/keymap.c | 0 keyboards/idobao/id80/{ => v1}/iso/keymaps/via/rules.mk | 0 keyboards/idobao/id80/{ => v1}/iso/readme.md | 0 keyboards/idobao/id80/{ => v1}/iso/rules.mk | 0 keyboards/idobao/id80/{ => v1}/readme.md | 4 ++-- keyboards/idobao/id80/{ => v1}/rules.mk | 2 +- keyboards/idobao/id80/{id80.c => v1/v1.c} | 2 +- keyboards/idobao/id80/{id80.h => v1/v1.h} | 0 33 files changed, 11 insertions(+), 11 deletions(-) rename keyboards/idobao/id75/{ => v1}/config.h (98%) rename keyboards/idobao/id75/{ => v1}/info.json (100%) rename keyboards/idobao/id75/{ => v1}/readme.md (96%) rename keyboards/idobao/id75/{ => v1}/rules.mk (72%) rename keyboards/idobao/id75/{id75.c => v1/v1.c} (97%) rename keyboards/idobao/id75/{id75.h => v1/v1.h} (100%) rename keyboards/idobao/id80/{ => v1}/ansi/config.h (100%) rename keyboards/idobao/id80/{ => v1}/ansi/keymaps/default/keymap.c (100%) rename keyboards/idobao/id80/{ => v1}/ansi/keymaps/default/readme.md (100%) rename keyboards/idobao/id80/{ => v1}/ansi/keymaps/msf/config.h (100%) rename keyboards/idobao/id80/{ => v1}/ansi/keymaps/msf/keymap.c (100%) rename keyboards/idobao/id80/{ => v1}/ansi/keymaps/msf/readme.md (100%) rename keyboards/idobao/id80/{ => v1}/ansi/keymaps/msf/rules.mk (100%) rename keyboards/idobao/id80/{ => v1/ansi}/keymaps/rverst/keymap.c (100%) rename keyboards/idobao/id80/{ => v1/ansi}/keymaps/rverst/readme.md (100%) rename keyboards/idobao/id80/{ => v1/ansi}/keymaps/rverst/rverst.json (100%) rename keyboards/idobao/id80/{ => v1}/ansi/keymaps/via/keymap.c (100%) rename keyboards/idobao/id80/{ => v1}/ansi/keymaps/via/rules.mk (100%) rename keyboards/idobao/id80/{ => v1}/ansi/readme.md (100%) rename keyboards/idobao/id80/{ => v1}/ansi/rules.mk (100%) rename keyboards/idobao/id80/{ => v1}/config.h (100%) rename keyboards/idobao/id80/{ => v1}/info.json (100%) rename keyboards/idobao/id80/{ => v1}/iso/config.h (100%) rename keyboards/idobao/id80/{ => v1}/iso/keymaps/default/keymap.c (100%) rename keyboards/idobao/id80/{ => v1}/iso/keymaps/default/readme.md (100%) rename keyboards/idobao/id80/{ => v1}/iso/keymaps/via/keymap.c (100%) rename keyboards/idobao/id80/{ => v1}/iso/keymaps/via/rules.mk (100%) rename keyboards/idobao/id80/{ => v1}/iso/readme.md (100%) rename keyboards/idobao/id80/{ => v1}/iso/rules.mk (100%) rename keyboards/idobao/id80/{ => v1}/readme.md (93%) rename keyboards/idobao/id80/{ => v1}/rules.mk (95%) rename keyboards/idobao/id80/{id80.c => v1/v1.c} (97%) rename keyboards/idobao/id80/{id80.h => v1/v1.h} (100%) diff --git a/keyboards/idobao/id75/config.h b/keyboards/idobao/id75/v1/config.h similarity index 98% rename from keyboards/idobao/id75/config.h rename to keyboards/idobao/id75/v1/config.h index ffe0bb70114b..caaf7f75dc95 100644 --- a/keyboards/idobao/id75/config.h +++ b/keyboards/idobao/id75/v1/config.h @@ -23,8 +23,8 @@ along with this program. If not, see . #define VENDOR_ID 0x6964 // ID #define PRODUCT_ID 0x0075 #define DEVICE_VER 0x0001 -#define MANUFACTURER Generic -#define PRODUCT Idobo +#define MANUFACTURER IDOBAO +#define PRODUCT ID75 /* key matrix size */ #define MATRIX_ROWS 5 diff --git a/keyboards/idobao/id75/info.json b/keyboards/idobao/id75/v1/info.json similarity index 100% rename from keyboards/idobao/id75/info.json rename to keyboards/idobao/id75/v1/info.json diff --git a/keyboards/idobao/id75/readme.md b/keyboards/idobao/id75/v1/readme.md similarity index 96% rename from keyboards/idobao/id75/readme.md rename to keyboards/idobao/id75/v1/readme.md index 9f0f87360cd0..545f3121f784 100644 --- a/keyboards/idobao/id75/readme.md +++ b/keyboards/idobao/id75/v1/readme.md @@ -14,6 +14,6 @@ Hardware Availability: Make example for this keyboard (after setting up your build environment): - make idobao/id75:default + make idobao/id75/v1:default 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/idobao/id75/rules.mk b/keyboards/idobao/id75/v1/rules.mk similarity index 72% rename from keyboards/idobao/id75/rules.mk rename to keyboards/idobao/id75/v1/rules.mk index 721b7f56068a..0ce4fe96d9fd 100644 --- a/keyboards/idobao/id75/rules.mk +++ b/keyboards/idobao/id75/v1/rules.mk @@ -11,10 +11,10 @@ BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration +COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes # Use link time optimization diff --git a/keyboards/idobao/id75/id75.c b/keyboards/idobao/id75/v1/v1.c similarity index 97% rename from keyboards/idobao/id75/id75.c rename to keyboards/idobao/id75/v1/v1.c index 0a0e08cc3285..992a292616f4 100644 --- a/keyboards/idobao/id75/id75.c +++ b/keyboards/idobao/id75/v1/v1.c @@ -13,4 +13,4 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "id75.h" +#include "v1.h" diff --git a/keyboards/idobao/id75/id75.h b/keyboards/idobao/id75/v1/v1.h similarity index 100% rename from keyboards/idobao/id75/id75.h rename to keyboards/idobao/id75/v1/v1.h diff --git a/keyboards/idobao/id80/ansi/config.h b/keyboards/idobao/id80/v1/ansi/config.h similarity index 100% rename from keyboards/idobao/id80/ansi/config.h rename to keyboards/idobao/id80/v1/ansi/config.h diff --git a/keyboards/idobao/id80/ansi/keymaps/default/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c similarity index 100% rename from keyboards/idobao/id80/ansi/keymaps/default/keymap.c rename to keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c diff --git a/keyboards/idobao/id80/ansi/keymaps/default/readme.md b/keyboards/idobao/id80/v1/ansi/keymaps/default/readme.md similarity index 100% rename from keyboards/idobao/id80/ansi/keymaps/default/readme.md rename to keyboards/idobao/id80/v1/ansi/keymaps/default/readme.md diff --git a/keyboards/idobao/id80/ansi/keymaps/msf/config.h b/keyboards/idobao/id80/v1/ansi/keymaps/msf/config.h similarity index 100% rename from keyboards/idobao/id80/ansi/keymaps/msf/config.h rename to keyboards/idobao/id80/v1/ansi/keymaps/msf/config.h diff --git a/keyboards/idobao/id80/ansi/keymaps/msf/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/msf/keymap.c similarity index 100% rename from keyboards/idobao/id80/ansi/keymaps/msf/keymap.c rename to keyboards/idobao/id80/v1/ansi/keymaps/msf/keymap.c diff --git a/keyboards/idobao/id80/ansi/keymaps/msf/readme.md b/keyboards/idobao/id80/v1/ansi/keymaps/msf/readme.md similarity index 100% rename from keyboards/idobao/id80/ansi/keymaps/msf/readme.md rename to keyboards/idobao/id80/v1/ansi/keymaps/msf/readme.md diff --git a/keyboards/idobao/id80/ansi/keymaps/msf/rules.mk b/keyboards/idobao/id80/v1/ansi/keymaps/msf/rules.mk similarity index 100% rename from keyboards/idobao/id80/ansi/keymaps/msf/rules.mk rename to keyboards/idobao/id80/v1/ansi/keymaps/msf/rules.mk diff --git a/keyboards/idobao/id80/keymaps/rverst/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/keymap.c similarity index 100% rename from keyboards/idobao/id80/keymaps/rverst/keymap.c rename to keyboards/idobao/id80/v1/ansi/keymaps/rverst/keymap.c diff --git a/keyboards/idobao/id80/keymaps/rverst/readme.md b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/readme.md similarity index 100% rename from keyboards/idobao/id80/keymaps/rverst/readme.md rename to keyboards/idobao/id80/v1/ansi/keymaps/rverst/readme.md diff --git a/keyboards/idobao/id80/keymaps/rverst/rverst.json b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/rverst.json similarity index 100% rename from keyboards/idobao/id80/keymaps/rverst/rverst.json rename to keyboards/idobao/id80/v1/ansi/keymaps/rverst/rverst.json diff --git a/keyboards/idobao/id80/ansi/keymaps/via/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c similarity index 100% rename from keyboards/idobao/id80/ansi/keymaps/via/keymap.c rename to keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c diff --git a/keyboards/idobao/id80/ansi/keymaps/via/rules.mk b/keyboards/idobao/id80/v1/ansi/keymaps/via/rules.mk similarity index 100% rename from keyboards/idobao/id80/ansi/keymaps/via/rules.mk rename to keyboards/idobao/id80/v1/ansi/keymaps/via/rules.mk diff --git a/keyboards/idobao/id80/ansi/readme.md b/keyboards/idobao/id80/v1/ansi/readme.md similarity index 100% rename from keyboards/idobao/id80/ansi/readme.md rename to keyboards/idobao/id80/v1/ansi/readme.md diff --git a/keyboards/idobao/id80/ansi/rules.mk b/keyboards/idobao/id80/v1/ansi/rules.mk similarity index 100% rename from keyboards/idobao/id80/ansi/rules.mk rename to keyboards/idobao/id80/v1/ansi/rules.mk diff --git a/keyboards/idobao/id80/config.h b/keyboards/idobao/id80/v1/config.h similarity index 100% rename from keyboards/idobao/id80/config.h rename to keyboards/idobao/id80/v1/config.h diff --git a/keyboards/idobao/id80/info.json b/keyboards/idobao/id80/v1/info.json similarity index 100% rename from keyboards/idobao/id80/info.json rename to keyboards/idobao/id80/v1/info.json diff --git a/keyboards/idobao/id80/iso/config.h b/keyboards/idobao/id80/v1/iso/config.h similarity index 100% rename from keyboards/idobao/id80/iso/config.h rename to keyboards/idobao/id80/v1/iso/config.h diff --git a/keyboards/idobao/id80/iso/keymaps/default/keymap.c b/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c similarity index 100% rename from keyboards/idobao/id80/iso/keymaps/default/keymap.c rename to keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c diff --git a/keyboards/idobao/id80/iso/keymaps/default/readme.md b/keyboards/idobao/id80/v1/iso/keymaps/default/readme.md similarity index 100% rename from keyboards/idobao/id80/iso/keymaps/default/readme.md rename to keyboards/idobao/id80/v1/iso/keymaps/default/readme.md diff --git a/keyboards/idobao/id80/iso/keymaps/via/keymap.c b/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c similarity index 100% rename from keyboards/idobao/id80/iso/keymaps/via/keymap.c rename to keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c diff --git a/keyboards/idobao/id80/iso/keymaps/via/rules.mk b/keyboards/idobao/id80/v1/iso/keymaps/via/rules.mk similarity index 100% rename from keyboards/idobao/id80/iso/keymaps/via/rules.mk rename to keyboards/idobao/id80/v1/iso/keymaps/via/rules.mk diff --git a/keyboards/idobao/id80/iso/readme.md b/keyboards/idobao/id80/v1/iso/readme.md similarity index 100% rename from keyboards/idobao/id80/iso/readme.md rename to keyboards/idobao/id80/v1/iso/readme.md diff --git a/keyboards/idobao/id80/iso/rules.mk b/keyboards/idobao/id80/v1/iso/rules.mk similarity index 100% rename from keyboards/idobao/id80/iso/rules.mk rename to keyboards/idobao/id80/v1/iso/rules.mk diff --git a/keyboards/idobao/id80/readme.md b/keyboards/idobao/id80/v1/readme.md similarity index 93% rename from keyboards/idobao/id80/readme.md rename to keyboards/idobao/id80/v1/readme.md index bcc4a25d7d38..8a26378b3b06 100644 --- a/keyboards/idobao/id80/readme.md +++ b/keyboards/idobao/id80/v1/readme.md @@ -12,7 +12,7 @@ A 75% hotswap keyboard from IDOBAO. Make example for this keyboard (after setting up your build environment): - make idobao/id80/ansi:default + make idobao/id80/v1/ansi:default ## ISO support: @@ -22,6 +22,6 @@ Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment): - make idobao/id80/iso:default + make idobao/id80/v1/iso:default 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/idobao/id80/rules.mk b/keyboards/idobao/id80/v1/rules.mk similarity index 95% rename from keyboards/idobao/id80/rules.mk rename to keyboards/idobao/id80/v1/rules.mk index f988be4e29f3..0baebd07fc5f 100644 --- a/keyboards/idobao/id80/rules.mk +++ b/keyboards/idobao/id80/v1/rules.mk @@ -1,5 +1,5 @@ # Defalt to the ansi version -DEFAULT_FOLDER = idobao/id80/ansi +DEFAULT_FOLDER = idobao/id80/v1/ansi # MCU name MCU = atmega32u4 diff --git a/keyboards/idobao/id80/id80.c b/keyboards/idobao/id80/v1/v1.c similarity index 97% rename from keyboards/idobao/id80/id80.c rename to keyboards/idobao/id80/v1/v1.c index 4a06660de91f..7147b6163e18 100644 --- a/keyboards/idobao/id80/id80.c +++ b/keyboards/idobao/id80/v1/v1.c @@ -13,4 +13,4 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "id80.h" +#include "v1.h" diff --git a/keyboards/idobao/id80/id80.h b/keyboards/idobao/id80/v1/v1.h similarity index 100% rename from keyboards/idobao/id80/id80.h rename to keyboards/idobao/id80/v1/v1.h From 9e4942bec83e43da3d0624597bcf4ee5d855aa07 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Fri, 11 Feb 2022 07:20:11 +0800 Subject: [PATCH 0201/1832] [Keyboard] move latincompass's boards to /latincompass (#16039) --- keyboards/{ => latincompass}/latin17rgb/config.h | 0 keyboards/{ => latincompass}/latin17rgb/info.json | 0 .../{ => latincompass}/latin17rgb/keymaps/default/keymap.c | 0 keyboards/{ => latincompass}/latin17rgb/keymaps/via/keymap.c | 0 keyboards/{ => latincompass}/latin17rgb/keymaps/via/rules.mk | 0 keyboards/{ => latincompass}/latin17rgb/latin17rgb.c | 0 keyboards/{ => latincompass}/latin17rgb/latin17rgb.h | 0 keyboards/{ => latincompass}/latin17rgb/readme.md | 4 ++-- keyboards/{ => latincompass}/latin17rgb/rules.mk | 0 keyboards/{ => latincompass}/latin47ble/config.h | 0 keyboards/{ => latincompass}/latin47ble/info.json | 0 .../{ => latincompass}/latin47ble/keymaps/default/keymap.c | 0 keyboards/{ => latincompass}/latin47ble/keymaps/via/keymap.c | 0 keyboards/{ => latincompass}/latin47ble/keymaps/via/rules.mk | 0 keyboards/{ => latincompass}/latin47ble/latin47ble.c | 0 keyboards/{ => latincompass}/latin47ble/latin47ble.h | 0 keyboards/{ => latincompass}/latin47ble/readme.md | 2 +- keyboards/{ => latincompass}/latin47ble/rules.mk | 0 keyboards/{ => latincompass}/latin60rgb/config.h | 0 keyboards/{ => latincompass}/latin60rgb/info.json | 0 .../{ => latincompass}/latin60rgb/keymaps/default/keymap.c | 0 keyboards/{ => latincompass}/latin60rgb/keymaps/via/keymap.c | 0 keyboards/{ => latincompass}/latin60rgb/keymaps/via/rules.mk | 0 keyboards/{ => latincompass}/latin60rgb/latin60rgb.c | 0 keyboards/{ => latincompass}/latin60rgb/latin60rgb.h | 0 keyboards/{ => latincompass}/latin60rgb/readme.md | 2 +- keyboards/{ => latincompass}/latin60rgb/rules.mk | 0 keyboards/{ => latincompass}/latin64ble/config.h | 0 keyboards/{ => latincompass}/latin64ble/info.json | 0 .../{ => latincompass}/latin64ble/keymaps/default/keymap.c | 0 keyboards/{ => latincompass}/latin64ble/keymaps/via/keymap.c | 0 keyboards/{ => latincompass}/latin64ble/keymaps/via/rules.mk | 0 keyboards/{ => latincompass}/latin64ble/latin64ble.c | 0 keyboards/{ => latincompass}/latin64ble/latin64ble.h | 0 keyboards/{ => latincompass}/latin64ble/readme.md | 2 +- keyboards/{ => latincompass}/latin64ble/rules.mk | 0 keyboards/{ => latincompass}/latin6rgb/config.h | 0 keyboards/{ => latincompass}/latin6rgb/info.json | 0 .../{ => latincompass}/latin6rgb/keymaps/default/keymap.c | 0 keyboards/{ => latincompass}/latin6rgb/keymaps/via/keymap.c | 0 keyboards/{ => latincompass}/latin6rgb/keymaps/via/rules.mk | 0 keyboards/{ => latincompass}/latin6rgb/latin6rgb.c | 0 keyboards/{ => latincompass}/latin6rgb/latin6rgb.h | 0 keyboards/{ => latincompass}/latin6rgb/readme.md | 2 +- keyboards/{ => latincompass}/latin6rgb/rules.mk | 0 keyboards/{ => latincompass}/latinpad/config.h | 0 keyboards/{ => latincompass}/latinpad/info.json | 0 .../{ => latincompass}/latinpad/keymaps/default/keymap.c | 0 keyboards/{ => latincompass}/latinpad/keymaps/via/keymap.c | 0 keyboards/{ => latincompass}/latinpad/keymaps/via/rules.mk | 0 keyboards/{ => latincompass}/latinpad/latinpad.c | 0 keyboards/{ => latincompass}/latinpad/latinpad.h | 0 keyboards/{ => latincompass}/latinpad/lib/glcdfont.c | 0 keyboards/{ => latincompass}/latinpad/readme.md | 2 +- keyboards/{ => latincompass}/latinpad/rules.mk | 0 keyboards/{ => latincompass}/latinpadble/config.h | 0 keyboards/{ => latincompass}/latinpadble/info.json | 0 .../{ => latincompass}/latinpadble/keymaps/default/keymap.c | 0 keyboards/{ => latincompass}/latinpadble/keymaps/via/keymap.c | 0 keyboards/{ => latincompass}/latinpadble/keymaps/via/rules.mk | 0 keyboards/{ => latincompass}/latinpadble/latinpadble.c | 0 keyboards/{ => latincompass}/latinpadble/latinpadble.h | 0 keyboards/{ => latincompass}/latinpadble/lib/glcdfont.c | 0 keyboards/{ => latincompass}/latinpadble/readme.md | 2 +- keyboards/{ => latincompass}/latinpadble/rules.mk | 0 65 files changed, 8 insertions(+), 8 deletions(-) rename keyboards/{ => latincompass}/latin17rgb/config.h (100%) rename keyboards/{ => latincompass}/latin17rgb/info.json (100%) rename keyboards/{ => latincompass}/latin17rgb/keymaps/default/keymap.c (100%) rename keyboards/{ => latincompass}/latin17rgb/keymaps/via/keymap.c (100%) rename keyboards/{ => latincompass}/latin17rgb/keymaps/via/rules.mk (100%) rename keyboards/{ => latincompass}/latin17rgb/latin17rgb.c (100%) rename keyboards/{ => latincompass}/latin17rgb/latin17rgb.h (100%) rename keyboards/{ => latincompass}/latin17rgb/readme.md (89%) rename keyboards/{ => latincompass}/latin17rgb/rules.mk (100%) rename keyboards/{ => latincompass}/latin47ble/config.h (100%) rename keyboards/{ => latincompass}/latin47ble/info.json (100%) rename keyboards/{ => latincompass}/latin47ble/keymaps/default/keymap.c (100%) rename keyboards/{ => latincompass}/latin47ble/keymaps/via/keymap.c (100%) rename keyboards/{ => latincompass}/latin47ble/keymaps/via/rules.mk (100%) rename keyboards/{ => latincompass}/latin47ble/latin47ble.c (100%) rename keyboards/{ => latincompass}/latin47ble/latin47ble.h (100%) rename keyboards/{ => latincompass}/latin47ble/readme.md (93%) rename keyboards/{ => latincompass}/latin47ble/rules.mk (100%) rename keyboards/{ => latincompass}/latin60rgb/config.h (100%) rename keyboards/{ => latincompass}/latin60rgb/info.json (100%) rename keyboards/{ => latincompass}/latin60rgb/keymaps/default/keymap.c (100%) rename keyboards/{ => latincompass}/latin60rgb/keymaps/via/keymap.c (100%) rename keyboards/{ => latincompass}/latin60rgb/keymaps/via/rules.mk (100%) rename keyboards/{ => latincompass}/latin60rgb/latin60rgb.c (100%) rename keyboards/{ => latincompass}/latin60rgb/latin60rgb.h (100%) rename keyboards/{ => latincompass}/latin60rgb/readme.md (94%) rename keyboards/{ => latincompass}/latin60rgb/rules.mk (100%) rename keyboards/{ => latincompass}/latin64ble/config.h (100%) rename keyboards/{ => latincompass}/latin64ble/info.json (100%) rename keyboards/{ => latincompass}/latin64ble/keymaps/default/keymap.c (100%) rename keyboards/{ => latincompass}/latin64ble/keymaps/via/keymap.c (100%) rename keyboards/{ => latincompass}/latin64ble/keymaps/via/rules.mk (100%) rename keyboards/{ => latincompass}/latin64ble/latin64ble.c (100%) rename keyboards/{ => latincompass}/latin64ble/latin64ble.h (100%) rename keyboards/{ => latincompass}/latin64ble/readme.md (93%) rename keyboards/{ => latincompass}/latin64ble/rules.mk (100%) rename keyboards/{ => latincompass}/latin6rgb/config.h (100%) rename keyboards/{ => latincompass}/latin6rgb/info.json (100%) rename keyboards/{ => latincompass}/latin6rgb/keymaps/default/keymap.c (100%) rename keyboards/{ => latincompass}/latin6rgb/keymaps/via/keymap.c (100%) rename keyboards/{ => latincompass}/latin6rgb/keymaps/via/rules.mk (100%) rename keyboards/{ => latincompass}/latin6rgb/latin6rgb.c (100%) rename keyboards/{ => latincompass}/latin6rgb/latin6rgb.h (100%) rename keyboards/{ => latincompass}/latin6rgb/readme.md (93%) rename keyboards/{ => latincompass}/latin6rgb/rules.mk (100%) rename keyboards/{ => latincompass}/latinpad/config.h (100%) rename keyboards/{ => latincompass}/latinpad/info.json (100%) rename keyboards/{ => latincompass}/latinpad/keymaps/default/keymap.c (100%) rename keyboards/{ => latincompass}/latinpad/keymaps/via/keymap.c (100%) rename keyboards/{ => latincompass}/latinpad/keymaps/via/rules.mk (100%) rename keyboards/{ => latincompass}/latinpad/latinpad.c (100%) rename keyboards/{ => latincompass}/latinpad/latinpad.h (100%) rename keyboards/{ => latincompass}/latinpad/lib/glcdfont.c (100%) rename keyboards/{ => latincompass}/latinpad/readme.md (94%) rename keyboards/{ => latincompass}/latinpad/rules.mk (100%) rename keyboards/{ => latincompass}/latinpadble/config.h (100%) rename keyboards/{ => latincompass}/latinpadble/info.json (100%) rename keyboards/{ => latincompass}/latinpadble/keymaps/default/keymap.c (100%) rename keyboards/{ => latincompass}/latinpadble/keymaps/via/keymap.c (100%) rename keyboards/{ => latincompass}/latinpadble/keymaps/via/rules.mk (100%) rename keyboards/{ => latincompass}/latinpadble/latinpadble.c (100%) rename keyboards/{ => latincompass}/latinpadble/latinpadble.h (100%) rename keyboards/{ => latincompass}/latinpadble/lib/glcdfont.c (100%) rename keyboards/{ => latincompass}/latinpadble/readme.md (94%) rename keyboards/{ => latincompass}/latinpadble/rules.mk (100%) diff --git a/keyboards/latin17rgb/config.h b/keyboards/latincompass/latin17rgb/config.h similarity index 100% rename from keyboards/latin17rgb/config.h rename to keyboards/latincompass/latin17rgb/config.h diff --git a/keyboards/latin17rgb/info.json b/keyboards/latincompass/latin17rgb/info.json similarity index 100% rename from keyboards/latin17rgb/info.json rename to keyboards/latincompass/latin17rgb/info.json diff --git a/keyboards/latin17rgb/keymaps/default/keymap.c b/keyboards/latincompass/latin17rgb/keymaps/default/keymap.c similarity index 100% rename from keyboards/latin17rgb/keymaps/default/keymap.c rename to keyboards/latincompass/latin17rgb/keymaps/default/keymap.c diff --git a/keyboards/latin17rgb/keymaps/via/keymap.c b/keyboards/latincompass/latin17rgb/keymaps/via/keymap.c similarity index 100% rename from keyboards/latin17rgb/keymaps/via/keymap.c rename to keyboards/latincompass/latin17rgb/keymaps/via/keymap.c diff --git a/keyboards/latin17rgb/keymaps/via/rules.mk b/keyboards/latincompass/latin17rgb/keymaps/via/rules.mk similarity index 100% rename from keyboards/latin17rgb/keymaps/via/rules.mk rename to keyboards/latincompass/latin17rgb/keymaps/via/rules.mk diff --git a/keyboards/latin17rgb/latin17rgb.c b/keyboards/latincompass/latin17rgb/latin17rgb.c similarity index 100% rename from keyboards/latin17rgb/latin17rgb.c rename to keyboards/latincompass/latin17rgb/latin17rgb.c diff --git a/keyboards/latin17rgb/latin17rgb.h b/keyboards/latincompass/latin17rgb/latin17rgb.h similarity index 100% rename from keyboards/latin17rgb/latin17rgb.h rename to keyboards/latincompass/latin17rgb/latin17rgb.h diff --git a/keyboards/latin17rgb/readme.md b/keyboards/latincompass/latin17rgb/readme.md similarity index 89% rename from keyboards/latin17rgb/readme.md rename to keyboards/latincompass/latin17rgb/readme.md index 775055f27aae..aa7095b5d6e7 100644 --- a/keyboards/latin17rgb/readme.md +++ b/keyboards/latincompass/latin17rgb/readme.md @@ -9,11 +9,11 @@ Make example for this keyboard (after setting up your build environment): - make latin17rgb:default + make latincompass/latin17rgb:default Flashing example for this keyboard: - make latin17rgb:default:flash + make latincompass/latin17rgb:default:flash To reset the board into bootloader mode, hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings). diff --git a/keyboards/latin17rgb/rules.mk b/keyboards/latincompass/latin17rgb/rules.mk similarity index 100% rename from keyboards/latin17rgb/rules.mk rename to keyboards/latincompass/latin17rgb/rules.mk diff --git a/keyboards/latin47ble/config.h b/keyboards/latincompass/latin47ble/config.h similarity index 100% rename from keyboards/latin47ble/config.h rename to keyboards/latincompass/latin47ble/config.h diff --git a/keyboards/latin47ble/info.json b/keyboards/latincompass/latin47ble/info.json similarity index 100% rename from keyboards/latin47ble/info.json rename to keyboards/latincompass/latin47ble/info.json diff --git a/keyboards/latin47ble/keymaps/default/keymap.c b/keyboards/latincompass/latin47ble/keymaps/default/keymap.c similarity index 100% rename from keyboards/latin47ble/keymaps/default/keymap.c rename to keyboards/latincompass/latin47ble/keymaps/default/keymap.c diff --git a/keyboards/latin47ble/keymaps/via/keymap.c b/keyboards/latincompass/latin47ble/keymaps/via/keymap.c similarity index 100% rename from keyboards/latin47ble/keymaps/via/keymap.c rename to keyboards/latincompass/latin47ble/keymaps/via/keymap.c diff --git a/keyboards/latin47ble/keymaps/via/rules.mk b/keyboards/latincompass/latin47ble/keymaps/via/rules.mk similarity index 100% rename from keyboards/latin47ble/keymaps/via/rules.mk rename to keyboards/latincompass/latin47ble/keymaps/via/rules.mk diff --git a/keyboards/latin47ble/latin47ble.c b/keyboards/latincompass/latin47ble/latin47ble.c similarity index 100% rename from keyboards/latin47ble/latin47ble.c rename to keyboards/latincompass/latin47ble/latin47ble.c diff --git a/keyboards/latin47ble/latin47ble.h b/keyboards/latincompass/latin47ble/latin47ble.h similarity index 100% rename from keyboards/latin47ble/latin47ble.h rename to keyboards/latincompass/latin47ble/latin47ble.h diff --git a/keyboards/latin47ble/readme.md b/keyboards/latincompass/latin47ble/readme.md similarity index 93% rename from keyboards/latin47ble/readme.md rename to keyboards/latincompass/latin47ble/readme.md index cc8e9e6a3441..f03a15d82684 100644 --- a/keyboards/latin47ble/readme.md +++ b/keyboards/latincompass/latin47ble/readme.md @@ -9,6 +9,6 @@ macro 47 ble 4.0 RGB keyboard Make example for this keyboard (after setting up your build environment): - make latin47ble:default + make latincompass/latin47ble:default 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/latin47ble/rules.mk b/keyboards/latincompass/latin47ble/rules.mk similarity index 100% rename from keyboards/latin47ble/rules.mk rename to keyboards/latincompass/latin47ble/rules.mk diff --git a/keyboards/latin60rgb/config.h b/keyboards/latincompass/latin60rgb/config.h similarity index 100% rename from keyboards/latin60rgb/config.h rename to keyboards/latincompass/latin60rgb/config.h diff --git a/keyboards/latin60rgb/info.json b/keyboards/latincompass/latin60rgb/info.json similarity index 100% rename from keyboards/latin60rgb/info.json rename to keyboards/latincompass/latin60rgb/info.json diff --git a/keyboards/latin60rgb/keymaps/default/keymap.c b/keyboards/latincompass/latin60rgb/keymaps/default/keymap.c similarity index 100% rename from keyboards/latin60rgb/keymaps/default/keymap.c rename to keyboards/latincompass/latin60rgb/keymaps/default/keymap.c diff --git a/keyboards/latin60rgb/keymaps/via/keymap.c b/keyboards/latincompass/latin60rgb/keymaps/via/keymap.c similarity index 100% rename from keyboards/latin60rgb/keymaps/via/keymap.c rename to keyboards/latincompass/latin60rgb/keymaps/via/keymap.c diff --git a/keyboards/latin60rgb/keymaps/via/rules.mk b/keyboards/latincompass/latin60rgb/keymaps/via/rules.mk similarity index 100% rename from keyboards/latin60rgb/keymaps/via/rules.mk rename to keyboards/latincompass/latin60rgb/keymaps/via/rules.mk diff --git a/keyboards/latin60rgb/latin60rgb.c b/keyboards/latincompass/latin60rgb/latin60rgb.c similarity index 100% rename from keyboards/latin60rgb/latin60rgb.c rename to keyboards/latincompass/latin60rgb/latin60rgb.c diff --git a/keyboards/latin60rgb/latin60rgb.h b/keyboards/latincompass/latin60rgb/latin60rgb.h similarity index 100% rename from keyboards/latin60rgb/latin60rgb.h rename to keyboards/latincompass/latin60rgb/latin60rgb.h diff --git a/keyboards/latin60rgb/readme.md b/keyboards/latincompass/latin60rgb/readme.md similarity index 94% rename from keyboards/latin60rgb/readme.md rename to keyboards/latincompass/latin60rgb/readme.md index 3b5715c2daa1..ae855bc8c173 100644 --- a/keyboards/latin60rgb/readme.md +++ b/keyboards/latincompass/latin60rgb/readme.md @@ -9,6 +9,6 @@ Make example for this keyboard (after setting up your build environment): - make latin60rgb:default + make latincompass/latin60rgb:default 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/latin60rgb/rules.mk b/keyboards/latincompass/latin60rgb/rules.mk similarity index 100% rename from keyboards/latin60rgb/rules.mk rename to keyboards/latincompass/latin60rgb/rules.mk diff --git a/keyboards/latin64ble/config.h b/keyboards/latincompass/latin64ble/config.h similarity index 100% rename from keyboards/latin64ble/config.h rename to keyboards/latincompass/latin64ble/config.h diff --git a/keyboards/latin64ble/info.json b/keyboards/latincompass/latin64ble/info.json similarity index 100% rename from keyboards/latin64ble/info.json rename to keyboards/latincompass/latin64ble/info.json diff --git a/keyboards/latin64ble/keymaps/default/keymap.c b/keyboards/latincompass/latin64ble/keymaps/default/keymap.c similarity index 100% rename from keyboards/latin64ble/keymaps/default/keymap.c rename to keyboards/latincompass/latin64ble/keymaps/default/keymap.c diff --git a/keyboards/latin64ble/keymaps/via/keymap.c b/keyboards/latincompass/latin64ble/keymaps/via/keymap.c similarity index 100% rename from keyboards/latin64ble/keymaps/via/keymap.c rename to keyboards/latincompass/latin64ble/keymaps/via/keymap.c diff --git a/keyboards/latin64ble/keymaps/via/rules.mk b/keyboards/latincompass/latin64ble/keymaps/via/rules.mk similarity index 100% rename from keyboards/latin64ble/keymaps/via/rules.mk rename to keyboards/latincompass/latin64ble/keymaps/via/rules.mk diff --git a/keyboards/latin64ble/latin64ble.c b/keyboards/latincompass/latin64ble/latin64ble.c similarity index 100% rename from keyboards/latin64ble/latin64ble.c rename to keyboards/latincompass/latin64ble/latin64ble.c diff --git a/keyboards/latin64ble/latin64ble.h b/keyboards/latincompass/latin64ble/latin64ble.h similarity index 100% rename from keyboards/latin64ble/latin64ble.h rename to keyboards/latincompass/latin64ble/latin64ble.h diff --git a/keyboards/latin64ble/readme.md b/keyboards/latincompass/latin64ble/readme.md similarity index 93% rename from keyboards/latin64ble/readme.md rename to keyboards/latincompass/latin64ble/readme.md index 98f5e50a6917..d8ee92d16dbd 100644 --- a/keyboards/latin64ble/readme.md +++ b/keyboards/latincompass/latin64ble/readme.md @@ -9,6 +9,6 @@ macro 64 ble 4.0 RGB keyboard Make example for this keyboard (after setting up your build environment): - make latin64ble:default + make latincompass/latin64ble:default 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/latin64ble/rules.mk b/keyboards/latincompass/latin64ble/rules.mk similarity index 100% rename from keyboards/latin64ble/rules.mk rename to keyboards/latincompass/latin64ble/rules.mk diff --git a/keyboards/latin6rgb/config.h b/keyboards/latincompass/latin6rgb/config.h similarity index 100% rename from keyboards/latin6rgb/config.h rename to keyboards/latincompass/latin6rgb/config.h diff --git a/keyboards/latin6rgb/info.json b/keyboards/latincompass/latin6rgb/info.json similarity index 100% rename from keyboards/latin6rgb/info.json rename to keyboards/latincompass/latin6rgb/info.json diff --git a/keyboards/latin6rgb/keymaps/default/keymap.c b/keyboards/latincompass/latin6rgb/keymaps/default/keymap.c similarity index 100% rename from keyboards/latin6rgb/keymaps/default/keymap.c rename to keyboards/latincompass/latin6rgb/keymaps/default/keymap.c diff --git a/keyboards/latin6rgb/keymaps/via/keymap.c b/keyboards/latincompass/latin6rgb/keymaps/via/keymap.c similarity index 100% rename from keyboards/latin6rgb/keymaps/via/keymap.c rename to keyboards/latincompass/latin6rgb/keymaps/via/keymap.c diff --git a/keyboards/latin6rgb/keymaps/via/rules.mk b/keyboards/latincompass/latin6rgb/keymaps/via/rules.mk similarity index 100% rename from keyboards/latin6rgb/keymaps/via/rules.mk rename to keyboards/latincompass/latin6rgb/keymaps/via/rules.mk diff --git a/keyboards/latin6rgb/latin6rgb.c b/keyboards/latincompass/latin6rgb/latin6rgb.c similarity index 100% rename from keyboards/latin6rgb/latin6rgb.c rename to keyboards/latincompass/latin6rgb/latin6rgb.c diff --git a/keyboards/latin6rgb/latin6rgb.h b/keyboards/latincompass/latin6rgb/latin6rgb.h similarity index 100% rename from keyboards/latin6rgb/latin6rgb.h rename to keyboards/latincompass/latin6rgb/latin6rgb.h diff --git a/keyboards/latin6rgb/readme.md b/keyboards/latincompass/latin6rgb/readme.md similarity index 93% rename from keyboards/latin6rgb/readme.md rename to keyboards/latincompass/latin6rgb/readme.md index 5338f1625cff..24d340a510c0 100644 --- a/keyboards/latin6rgb/readme.md +++ b/keyboards/latincompass/latin6rgb/readme.md @@ -9,6 +9,6 @@ Make example for this keyboard (after setting up your build environment): - make latin6rgb:default + make latincompass/latin6rgb:default 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/latin6rgb/rules.mk b/keyboards/latincompass/latin6rgb/rules.mk similarity index 100% rename from keyboards/latin6rgb/rules.mk rename to keyboards/latincompass/latin6rgb/rules.mk diff --git a/keyboards/latinpad/config.h b/keyboards/latincompass/latinpad/config.h similarity index 100% rename from keyboards/latinpad/config.h rename to keyboards/latincompass/latinpad/config.h diff --git a/keyboards/latinpad/info.json b/keyboards/latincompass/latinpad/info.json similarity index 100% rename from keyboards/latinpad/info.json rename to keyboards/latincompass/latinpad/info.json diff --git a/keyboards/latinpad/keymaps/default/keymap.c b/keyboards/latincompass/latinpad/keymaps/default/keymap.c similarity index 100% rename from keyboards/latinpad/keymaps/default/keymap.c rename to keyboards/latincompass/latinpad/keymaps/default/keymap.c diff --git a/keyboards/latinpad/keymaps/via/keymap.c b/keyboards/latincompass/latinpad/keymaps/via/keymap.c similarity index 100% rename from keyboards/latinpad/keymaps/via/keymap.c rename to keyboards/latincompass/latinpad/keymaps/via/keymap.c diff --git a/keyboards/latinpad/keymaps/via/rules.mk b/keyboards/latincompass/latinpad/keymaps/via/rules.mk similarity index 100% rename from keyboards/latinpad/keymaps/via/rules.mk rename to keyboards/latincompass/latinpad/keymaps/via/rules.mk diff --git a/keyboards/latinpad/latinpad.c b/keyboards/latincompass/latinpad/latinpad.c similarity index 100% rename from keyboards/latinpad/latinpad.c rename to keyboards/latincompass/latinpad/latinpad.c diff --git a/keyboards/latinpad/latinpad.h b/keyboards/latincompass/latinpad/latinpad.h similarity index 100% rename from keyboards/latinpad/latinpad.h rename to keyboards/latincompass/latinpad/latinpad.h diff --git a/keyboards/latinpad/lib/glcdfont.c b/keyboards/latincompass/latinpad/lib/glcdfont.c similarity index 100% rename from keyboards/latinpad/lib/glcdfont.c rename to keyboards/latincompass/latinpad/lib/glcdfont.c diff --git a/keyboards/latinpad/readme.md b/keyboards/latincompass/latinpad/readme.md similarity index 94% rename from keyboards/latinpad/readme.md rename to keyboards/latincompass/latinpad/readme.md index 620bf64301e6..6fcd0f3a011d 100644 --- a/keyboards/latinpad/readme.md +++ b/keyboards/latincompass/latinpad/readme.md @@ -9,6 +9,6 @@ macro 2 rotary encoder pad Make example for this keyboard (after setting up your build environment): - make latinpad:default + make latincompass/latinpad:default 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/latinpad/rules.mk b/keyboards/latincompass/latinpad/rules.mk similarity index 100% rename from keyboards/latinpad/rules.mk rename to keyboards/latincompass/latinpad/rules.mk diff --git a/keyboards/latinpadble/config.h b/keyboards/latincompass/latinpadble/config.h similarity index 100% rename from keyboards/latinpadble/config.h rename to keyboards/latincompass/latinpadble/config.h diff --git a/keyboards/latinpadble/info.json b/keyboards/latincompass/latinpadble/info.json similarity index 100% rename from keyboards/latinpadble/info.json rename to keyboards/latincompass/latinpadble/info.json diff --git a/keyboards/latinpadble/keymaps/default/keymap.c b/keyboards/latincompass/latinpadble/keymaps/default/keymap.c similarity index 100% rename from keyboards/latinpadble/keymaps/default/keymap.c rename to keyboards/latincompass/latinpadble/keymaps/default/keymap.c diff --git a/keyboards/latinpadble/keymaps/via/keymap.c b/keyboards/latincompass/latinpadble/keymaps/via/keymap.c similarity index 100% rename from keyboards/latinpadble/keymaps/via/keymap.c rename to keyboards/latincompass/latinpadble/keymaps/via/keymap.c diff --git a/keyboards/latinpadble/keymaps/via/rules.mk b/keyboards/latincompass/latinpadble/keymaps/via/rules.mk similarity index 100% rename from keyboards/latinpadble/keymaps/via/rules.mk rename to keyboards/latincompass/latinpadble/keymaps/via/rules.mk diff --git a/keyboards/latinpadble/latinpadble.c b/keyboards/latincompass/latinpadble/latinpadble.c similarity index 100% rename from keyboards/latinpadble/latinpadble.c rename to keyboards/latincompass/latinpadble/latinpadble.c diff --git a/keyboards/latinpadble/latinpadble.h b/keyboards/latincompass/latinpadble/latinpadble.h similarity index 100% rename from keyboards/latinpadble/latinpadble.h rename to keyboards/latincompass/latinpadble/latinpadble.h diff --git a/keyboards/latinpadble/lib/glcdfont.c b/keyboards/latincompass/latinpadble/lib/glcdfont.c similarity index 100% rename from keyboards/latinpadble/lib/glcdfont.c rename to keyboards/latincompass/latinpadble/lib/glcdfont.c diff --git a/keyboards/latinpadble/readme.md b/keyboards/latincompass/latinpadble/readme.md similarity index 94% rename from keyboards/latinpadble/readme.md rename to keyboards/latincompass/latinpadble/readme.md index 324a28febfcc..2e1e6dbb8cd0 100644 --- a/keyboards/latinpadble/readme.md +++ b/keyboards/latincompass/latinpadble/readme.md @@ -9,6 +9,6 @@ Panasonic rotary encoder BLE pad Make example for this keyboard (after setting up your build environment): - make latinpadble:default + make latincompass/latinpadble:default 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/latinpadble/rules.mk b/keyboards/latincompass/latinpadble/rules.mk similarity index 100% rename from keyboards/latinpadble/rules.mk rename to keyboards/latincompass/latinpadble/rules.mk From 793f54f6ca5e844319f7e082b84fb4ca375bd9de Mon Sep 17 00:00:00 2001 From: Idan Kamara Date: Fri, 11 Feb 2022 11:36:26 +0200 Subject: [PATCH 0202/1832] ps2/avr: use the correct file name (#16316) This was missed in https://github.com/qmk/qmk_firmware/pull/14895. Thanks to fauxpark for spotting this. --- builddefs/common_features.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 7ff19e808425..db9b580286cf 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -707,7 +707,7 @@ endif ifeq ($(strip $(PS2_USE_BUSYWAIT)), yes) PS2_ENABLE := yes SRC += ps2_busywait.c - SRC += ps2_io_avr.c + SRC += ps2_io.c OPT_DEFS += -DPS2_USE_BUSYWAIT endif From 39bec3bfa5ff63ee99f0fd15293967fd8655a154 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 11 Feb 2022 19:01:16 +0000 Subject: [PATCH 0203/1832] Various fixes for matrix _RIGHT handling (#16292) * Various fixes for matrix _RIGHT handling * clang --- quantum/matrix.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/quantum/matrix.c b/quantum/matrix.c index 244c4d08b075..0b16184e12c0 100644 --- a/quantum/matrix.c +++ b/quantum/matrix.c @@ -47,13 +47,13 @@ along with this program. If not, see . #endif #ifdef DIRECT_PINS -static SPLIT_MUTABLE pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; +static SPLIT_MUTABLE pin_t direct_pins[ROWS_PER_HAND][MATRIX_COLS] = DIRECT_PINS; #elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) # ifdef MATRIX_ROW_PINS -static SPLIT_MUTABLE_ROW pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +static SPLIT_MUTABLE_ROW pin_t row_pins[ROWS_PER_HAND] = MATRIX_ROW_PINS; # endif // MATRIX_ROW_PINS # ifdef MATRIX_COL_PINS -static SPLIT_MUTABLE_COL pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +static SPLIT_MUTABLE_COL pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; # endif // MATRIX_COL_PINS #endif @@ -102,7 +102,7 @@ static inline uint8_t readMatrixPin(pin_t pin) { #ifdef DIRECT_PINS __attribute__((weak)) void matrix_init_pins(void) { - for (int row = 0; row < MATRIX_ROWS; row++) { + for (int row = 0; row < ROWS_PER_HAND; row++) { for (int col = 0; col < MATRIX_COLS; col++) { pin_t pin = direct_pins[row][col]; if (pin != NO_PIN) { @@ -270,16 +270,16 @@ void matrix_init(void) { // Set pinout for right half if pinout for that half is defined if (!isLeftHand) { # ifdef DIRECT_PINS_RIGHT - const pin_t direct_pins_right[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS_RIGHT; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + const pin_t direct_pins_right[ROWS_PER_HAND][MATRIX_COLS] = DIRECT_PINS_RIGHT; + for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { for (uint8_t j = 0; j < MATRIX_COLS; j++) { direct_pins[i][j] = direct_pins_right[i][j]; } } # endif # ifdef MATRIX_ROW_PINS_RIGHT - const pin_t row_pins_right[MATRIX_ROWS] = MATRIX_ROW_PINS_RIGHT; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + const pin_t row_pins_right[ROWS_PER_HAND] = MATRIX_ROW_PINS_RIGHT; + for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { row_pins[i] = row_pins_right[i]; } # endif From 7148a69d5ea7d75119c81cf9b7c579f3136c4fd3 Mon Sep 17 00:00:00 2001 From: precondition <57645186+precondition@users.noreply.github.com> Date: Fri, 11 Feb 2022 20:53:26 +0100 Subject: [PATCH 0204/1832] Pass in the keyrecord_t of the dual-role/tapping key when calling per-key tap hold functions (#15938) * Replace keyp by &tapping_key in the record arg of per-key tap hold funcs * Replace NULL by &(keyrecord_t){} in 2nd arg of get_tapping_term --- quantum/action_tapping.c | 18 +++++++++--------- quantum/pointing_device_drivers.c | 2 +- quantum/process_keycode/process_tap_dance.c | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c index d2c93f85e3f5..4ba38bee8d8e 100644 --- a/quantum/action_tapping.c +++ b/quantum/action_tapping.c @@ -124,7 +124,7 @@ bool process_tapping(keyrecord_t *keyp) { # if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) || ( # ifdef RETRO_TAPPING_PER_KEY - get_retro_tapping(tapping_keycode, keyp) && + get_retro_tapping(tapping_keycode, &tapping_key) && # endif (RETRO_SHIFT + 0) != 0 && TIMER_DIFF_16(event.time, tapping_key.event.time) < (RETRO_SHIFT + 0) ) @@ -158,7 +158,7 @@ bool process_tapping(keyrecord_t *keyp) { ( ( # ifdef TAPPING_TERM_PER_KEY - get_tapping_term(tapping_keycode, keyp) + get_tapping_term(tapping_keycode, &tapping_key) # else g_tapping_term # endif @@ -166,7 +166,7 @@ bool process_tapping(keyrecord_t *keyp) { ) # ifdef PERMISSIVE_HOLD_PER_KEY - || get_permissive_hold(tapping_keycode, keyp) + || get_permissive_hold(tapping_keycode, &tapping_key) # elif defined(PERMISSIVE_HOLD) || true # endif @@ -177,7 +177,7 @@ bool process_tapping(keyrecord_t *keyp) { # if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) || ( # ifdef RETRO_TAPPING_PER_KEY - get_retro_tapping(tapping_keycode, keyp) && + get_retro_tapping(tapping_keycode, &tapping_key) && # endif ( // Rolled over the two keys. @@ -188,7 +188,7 @@ bool process_tapping(keyrecord_t *keyp) { || ( IS_LT(tapping_keycode) # ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY - && get_hold_on_other_key_press(tapping_keycode, keyp) + && get_hold_on_other_key_press(tapping_keycode, &tapping_key) # endif ) # endif @@ -196,7 +196,7 @@ bool process_tapping(keyrecord_t *keyp) { || ( IS_MT(tapping_keycode) # ifdef IGNORE_MOD_TAP_INTERRUPT_PER_KEY - && !get_ignore_mod_tap_interrupt(tapping_keycode, keyp) + && !get_ignore_mod_tap_interrupt(tapping_keycode, &tapping_key) # endif ) # endif @@ -252,7 +252,7 @@ bool process_tapping(keyrecord_t *keyp) { tapping_key.tap.interrupted = true; # if defined(HOLD_ON_OTHER_KEY_PRESS) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY) # if defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY) - if (get_hold_on_other_key_press(tapping_keycode, keyp)) + if (get_hold_on_other_key_press(tapping_keycode, &tapping_key)) # endif { debug("Tapping: End. No tap. Interfered by pressed key\n"); @@ -360,7 +360,7 @@ bool process_tapping(keyrecord_t *keyp) { # if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) || ( # ifdef RETRO_TAPPING_PER_KEY - get_retro_tapping(tapping_keycode, keyp) && + get_retro_tapping(tapping_keycode, &tapping_key) && # endif (RETRO_SHIFT + 0) != 0 && TIMER_DIFF_16(event.time, tapping_key.event.time) < (RETRO_SHIFT + 0) ) @@ -373,7 +373,7 @@ bool process_tapping(keyrecord_t *keyp) { # if !defined(TAPPING_FORCE_HOLD) || defined(TAPPING_FORCE_HOLD_PER_KEY) if ( # ifdef TAPPING_FORCE_HOLD_PER_KEY - !get_tapping_force_hold(tapping_keycode, keyp) && + !get_tapping_force_hold(tapping_keycode, &tapping_key) && # endif !tapping_key.tap.interrupted && tapping_key.tap.count > 0) { // sequential tap. diff --git a/quantum/pointing_device_drivers.c b/quantum/pointing_device_drivers.c index 4333bbb095f3..7702958f889e 100644 --- a/quantum/pointing_device_drivers.c +++ b/quantum/pointing_device_drivers.c @@ -101,7 +101,7 @@ const pointing_device_driver_t pointing_device_driver = { # ifdef TAPPING_TERM_PER_KEY # include "action.h" # include "action_tapping.h" -# define CIRQUE_PINNACLE_TAPPING_TERM get_tapping_term(KC_BTN1, NULL) +# define CIRQUE_PINNACLE_TAPPING_TERM get_tapping_term(KC_BTN1, &(keyrecord_t){}) # else # ifdef TAPPING_TERM # define CIRQUE_PINNACLE_TAPPING_TERM TAPPING_TERM diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c index c707fdea308e..035c9c265d6b 100644 --- a/quantum/process_keycode/process_tap_dance.c +++ b/quantum/process_keycode/process_tap_dance.c @@ -173,7 +173,7 @@ void tap_dance_task() { tap_user_defined = action->custom_tapping_term; } else { #ifdef TAPPING_TERM_PER_KEY - tap_user_defined = get_tapping_term(action->state.keycode, NULL); + tap_user_defined = get_tapping_term(action->state.keycode, &(keyrecord_t){}); #else tap_user_defined = TAPPING_TERM; #endif From 00cc64638c7ffa90b1acc10c420daaa3795a87ba Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Fri, 11 Feb 2022 20:13:22 +0000 Subject: [PATCH 0205/1832] Fix right side ws2812 leds having two indices (#15985) * Fix right side leds having two indices * remove redundant left check --- quantum/rgb_matrix/rgb_matrix_drivers.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index bdd512d1c222..27fa7369bfd7 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c @@ -349,10 +349,15 @@ static void flush(void) { static inline void setled(int i, uint8_t r, uint8_t g, uint8_t b) { # if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) const uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT; - if (!is_keyboard_left() && (i >= k_rgb_matrix_split[0])) { - i -= k_rgb_matrix_split[0]; - } else if (is_keyboard_left() && (i >= k_rgb_matrix_split[0])) + if (!is_keyboard_left()) { + if (i >= k_rgb_matrix_split[0]) { + i -= k_rgb_matrix_split[0]; + } else { + return; + } + } else if (i >= k_rgb_matrix_split[0]) { return; + } # endif rgb_matrix_ws2812_array[i].r = r; From 71c0b97bced7722abaa0adefd57066cc065538b5 Mon Sep 17 00:00:00 2001 From: Joy Lee Date: Sat, 12 Feb 2022 04:26:16 +0800 Subject: [PATCH 0206/1832] Added external spi flash driver. (#15419) --- builddefs/common_features.mk | 15 ++ docs/flash_driver.md | 24 +++ drivers/flash/flash_spi.c | 372 +++++++++++++++++++++++++++++++++++ drivers/flash/flash_spi.h | 136 +++++++++++++ 4 files changed, 547 insertions(+) create mode 100644 docs/flash_driver.md create mode 100644 drivers/flash/flash_spi.c create mode 100644 drivers/flash/flash_spi.h diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index db9b580286cf..08d186d656c7 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -219,6 +219,21 @@ else endif endif +VALID_FLASH_DRIVER_TYPES := spi +FLASH_DRIVER ?= no +ifneq ($(strip $(FLASH_DRIVER)), no) + ifeq ($(filter $(FLASH_DRIVER),$(VALID_FLASH_DRIVER_TYPES)),) + $(error FLASH_DRIVER="$(FLASH_DRIVER)" is not a valid FLASH driver) + else + OPT_DEFS += -DFLASH_ENABLE + ifeq ($(strip $(FLASH_DRIVER)), spi) + OPT_DEFS += -DFLASH_DRIVER -DFLASH_SPI + COMMON_VPATH += $(DRIVER_PATH)/flash + SRC += flash_spi.c + endif + endif +endif + RGBLIGHT_ENABLE ?= no VALID_RGBLIGHT_TYPES := WS2812 APA102 custom diff --git a/docs/flash_driver.md b/docs/flash_driver.md new file mode 100644 index 000000000000..fa7fed5171b1 --- /dev/null +++ b/docs/flash_driver.md @@ -0,0 +1,24 @@ +# FLASH Driver Configuration :id=flash-driver-configuration + +The FLASH driver can be swapped out depending on the needs of the keyboard, or whether extra hardware is present. + +Driver | Description +-----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +`FLASH_DRIVER = spi` | Supports writing to almost all NOR Flash chips. See the driver section below. + + +## SPI FLASH Driver Configuration :id=spi-flash-driver-configuration + +Currently QMK supports almost all NOR Flash chips over SPI. As such, requires a working spi_master driver configuration. You can override the driver configuration via your config.h: + +`config.h` override | Description | Default Value +-----------------------------------------------|--------------------------------------------------------------------------------------|----------------- +`#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN` | SPI Slave select pin in order to inform that the FLASH is currently being addressed | _none_ +`#define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR` | Clock divisor used to divide the peripheral clock to derive the SPI frequency | `8` +`#define EXTERNAL_FLASH_PAGE_SIZE` | The Page size of the FLASH in bytes, as specified in the datasheet | `256` +`#define EXTERNAL_FLASH_SECTOR_SIZE` | The sector size of the FLASH in bytes, as specified in the datasheet | `(4 * 1024)` +`#define EXTERNAL_FLASH_BLOCK_SIZE` | The block size of the FLASH in bytes, as specified in the datasheet | `(64 * 1024)` +`#define EXTERNAL_FLASH_SIZE` | The total size of the FLASH in bytes, as specified in the datasheet | `(512 * 1024)` +`#define EXTERNAL_FLASH_ADDRESS_SIZE` | The Flash address size in bytes, as specified in datasheet | `3` + +!> All the above default configurations are based on MX25L4006E NOR Flash. diff --git a/drivers/flash/flash_spi.c b/drivers/flash/flash_spi.c new file mode 100644 index 000000000000..2fa8891e3831 --- /dev/null +++ b/drivers/flash/flash_spi.c @@ -0,0 +1,372 @@ +/* +Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include + +#include "util.h" +#include "wait.h" +#include "debug.h" +#include "timer.h" +#include "flash_spi.h" +#include "spi_master.h" + +/* + The time-out time of spi flash transmission. +*/ +#ifndef EXTERNAL_FLASH_SPI_TIMEOUT +# define EXTERNAL_FLASH_SPI_TIMEOUT 1000 +#endif + +/* ID comands */ +#define FLASH_CMD_RDID 0x9F /* RDID (Read Identification) */ +#define FLASH_CMD_RES 0xAB /* RES (Read Electronic ID) */ +#define FLASH_CMD_REMS 0x90 /* REMS (Read Electronic & Device ID) */ + +/* register comands */ +#define FLASH_CMD_WRSR 0x01 /* WRSR (Write Status register) */ +#define FLASH_CMD_RDSR 0x05 /* RDSR (Read Status register) */ + +/* READ comands */ +#define FLASH_CMD_READ 0x03 /* READ (1 x I/O) */ +#define FLASH_CMD_FASTREAD 0x0B /* FAST READ (Fast read data) */ +#define FLASH_CMD_DREAD 0x3B /* DREAD (1In/2 Out fast read) */ + +/* Program comands */ +#define FLASH_CMD_WREN 0x06 /* WREN (Write Enable) */ +#define FLASH_CMD_WRDI 0x04 /* WRDI (Write Disable) */ +#define FLASH_CMD_PP 0x02 /* PP (page program) */ + +/* Erase comands */ +#define FLASH_CMD_SE 0x20 /* SE (Sector Erase) */ +#define FLASH_CMD_BE 0xD8 /* BE (Block Erase) */ +#define FLASH_CMD_CE 0x60 /* CE (Chip Erase) hex code: 60 or C7 */ + +/* Mode setting comands */ +#define FLASH_CMD_DP 0xB9 /* DP (Deep Power Down) */ +#define FLASH_CMD_RDP 0xAB /* RDP (Release form Deep Power Down) */ + +/* Status register */ +#define FLASH_FLAG_WIP 0x01 /* Write in progress bit */ +#define FLASH_FLAG_WEL 0x02 /* Write enable latch bit */ + +// #define DEBUG_FLASH_SPI_OUTPUT + +static bool spi_flash_start(void) { return spi_start(EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN, EXTERNAL_FLASH_SPI_LSBFIRST, EXTERNAL_FLASH_SPI_MODE, EXTERNAL_FLASH_SPI_CLOCK_DIVISOR); } + +static flash_status_t spi_flash_wait_while_busy(void) { + uint32_t deadline = timer_read32() + EXTERNAL_FLASH_SPI_TIMEOUT; + flash_status_t response = FLASH_STATUS_SUCCESS; + uint8_t retval; + + do { + bool res = spi_flash_start(); + if (!res) { + dprint("Failed to start SPI! [spi flash wait while busy]\n"); + return FLASH_STATUS_ERROR; + } + + spi_write(FLASH_CMD_RDSR); + + retval = (uint8_t)spi_read(); + + spi_stop(); + + if (timer_read32() >= deadline) { + response = FLASH_STATUS_TIMEOUT; + break; + } + } while (retval & FLASH_FLAG_WIP); + + return response; +} + +static flash_status_t spi_flash_write_enable(void) { + bool res = spi_flash_start(); + if (!res) { + dprint("Failed to start SPI! [spi flash write enable]\n"); + return FLASH_STATUS_ERROR; + } + + spi_write(FLASH_CMD_WREN); + + spi_stop(); + + return FLASH_STATUS_SUCCESS; +} + +static flash_status_t spi_flash_write_disable(void) { + bool res = spi_flash_start(); + if (!res) { + dprint("Failed to start SPI! [spi flash write disable]\n"); + return FLASH_STATUS_ERROR; + } + + spi_write(FLASH_CMD_WRDI); + + spi_stop(); + + return FLASH_STATUS_SUCCESS; +} + +/* This function is used for read transfer, write transfer and erase transfer. */ +static flash_status_t spi_flash_transaction(uint8_t cmd, uint32_t addr, uint8_t *data, size_t len) { + flash_status_t response = FLASH_STATUS_SUCCESS; + uint8_t buffer[EXTERNAL_FLASH_ADDRESS_SIZE + 1]; + + buffer[0] = cmd; + for (int i = 0; i < EXTERNAL_FLASH_ADDRESS_SIZE; ++i) { + buffer[EXTERNAL_FLASH_ADDRESS_SIZE - i] = addr & 0xFF; + addr >>= 8; + } + + bool res = spi_flash_start(); + if (!res) { + dprint("Failed to start SPI! [spi flash transmit]\n"); + return FLASH_STATUS_ERROR; + } + + response = spi_transmit(buffer, sizeof(buffer)); + + if ((!response) && (data != NULL)) { + switch (cmd) { + case FLASH_CMD_READ: + response = spi_receive(data, len); + break; + case FLASH_CMD_PP: + response = spi_transmit(data, len); + break; + default: + response = FLASH_STATUS_ERROR; + break; + } + } + + spi_stop(); + + return response; +} + +void flash_init(void) { spi_init(); } + +flash_status_t flash_erase_chip(void) { + flash_status_t response = FLASH_STATUS_SUCCESS; + + /* Wait for the write-in-progress bit to be cleared. */ + response = spi_flash_wait_while_busy(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to check WIP flag! [spi flash erase chip]\n"); + return response; + } + + /* Enable writes. */ + response = spi_flash_write_enable(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to write-enable! [spi flash erase chip]\n"); + return response; + } + + /* Erase Chip. */ + bool res = spi_flash_start(); + if (!res) { + dprint("Failed to start SPI! [spi flash erase chip]\n"); + return FLASH_STATUS_ERROR; + } + spi_write(FLASH_CMD_CE); + spi_stop(); + + /* Wait for the write-in-progress bit to be cleared.*/ + response = spi_flash_wait_while_busy(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to check WIP flag! [spi flash erase chip]\n"); + return response; + } + + return response; +} + +flash_status_t flash_erase_sector(uint32_t addr) { + flash_status_t response = FLASH_STATUS_SUCCESS; + + /* Check that the address exceeds the limit. */ + if ((addr + (EXTERNAL_FLASH_SECTOR_SIZE)) >= (EXTERNAL_FLASH_SIZE) || ((addr % (EXTERNAL_FLASH_SECTOR_SIZE)) != 0)) { + dprintf("Flash erase sector address over limit! [addr:0x%x]\n", (uint32_t)addr); + return FLASH_STATUS_ERROR; + } + + /* Wait for the write-in-progress bit to be cleared. */ + response = spi_flash_wait_while_busy(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to check WIP flag! [spi flash erase sector]\n"); + return response; + } + + /* Enable writes. */ + response = spi_flash_write_enable(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to write-enable! [spi flash erase sector]\n"); + return response; + } + + /* Erase Sector. */ + response = spi_flash_transaction(FLASH_CMD_SE, addr, NULL, 0); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to erase sector! [spi flash erase sector]\n"); + return response; + } + + /* Wait for the write-in-progress bit to be cleared.*/ + response = spi_flash_wait_while_busy(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to check WIP flag! [spi flash erase sector]\n"); + return response; + } + + return response; +} + +flash_status_t flash_erase_block(uint32_t addr) { + flash_status_t response = FLASH_STATUS_SUCCESS; + + /* Check that the address exceeds the limit. */ + if ((addr + (EXTERNAL_FLASH_BLOCK_SIZE)) >= (EXTERNAL_FLASH_SIZE) || ((addr % (EXTERNAL_FLASH_BLOCK_SIZE)) != 0)) { + dprintf("Flash erase block address over limit! [addr:0x%x]\n", (uint32_t)addr); + return FLASH_STATUS_ERROR; + } + + /* Wait for the write-in-progress bit to be cleared. */ + response = spi_flash_wait_while_busy(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to check WIP flag! [spi flash erase block]\n"); + return response; + } + + /* Enable writes. */ + response = spi_flash_write_enable(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to write-enable! [spi flash erase block]\n"); + return response; + } + + /* Erase Block. */ + response = spi_flash_transaction(FLASH_CMD_BE, addr, NULL, 0); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to erase block! [spi flash erase block]\n"); + return response; + } + + /* Wait for the write-in-progress bit to be cleared.*/ + response = spi_flash_wait_while_busy(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to check WIP flag! [spi flash erase block]\n"); + return response; + } + + return response; +} + +flash_status_t flash_read_block(uint32_t addr, void *buf, size_t len) { + flash_status_t response = FLASH_STATUS_SUCCESS; + uint8_t * read_buf = (uint8_t *)buf; + + /* Wait for the write-in-progress bit to be cleared. */ + response = spi_flash_wait_while_busy(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to check WIP flag! [spi flash read block]\n"); + memset(read_buf, 0, len); + return response; + } + + /* Perform read. */ + response = spi_flash_transaction(FLASH_CMD_READ, addr, read_buf, len); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to read block! [spi flash read block]\n"); + memset(read_buf, 0, len); + return response; + } + +#if defined(CONSOLE_ENABLE) && defined(DEBUG_FLASH_SPI_OUTPUT) + dprintf("[SPI FLASH R] 0x%08lX: ", addr); + for (size_t i = 0; i < len; ++i) { + dprintf(" %02X", (int)(((uint8_t *)read_buf)[i])); + } + dprintf("\n"); +#endif // DEBUG_FLASH_SPI_OUTPUT + + return response; +} + +flash_status_t flash_write_block(uint32_t addr, const void *buf, size_t len) { + flash_status_t response = FLASH_STATUS_SUCCESS; + uint8_t * write_buf = (uint8_t *)buf; + + while (len > 0) { + uint32_t page_offset = addr % EXTERNAL_FLASH_PAGE_SIZE; + size_t write_length = EXTERNAL_FLASH_PAGE_SIZE - page_offset; + if (write_length > len) { + write_length = len; + } + + /* Wait for the write-in-progress bit to be cleared. */ + response = spi_flash_wait_while_busy(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to check WIP flag! [spi flash write block]\n"); + return response; + } + + /* Enable writes. */ + response = spi_flash_write_enable(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to write-enable! [spi flash write block]\n"); + return response; + } + +#if defined(CONSOLE_ENABLE) && defined(DEBUG_FLASH_SPI_OUTPUT) + dprintf("[SPI FLASH W] 0x%08lX: ", addr); + for (size_t i = 0; i < write_length; i++) { + dprintf(" %02X", (int)(uint8_t)(write_buf[i])); + } + dprintf("\n"); +#endif // DEBUG_FLASH_SPI_OUTPUT + + /* Perform the write. */ + response = spi_flash_transaction(FLASH_CMD_PP, addr, write_buf, write_length); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to write block! [spi flash write block]\n"); + return response; + } + + write_buf += write_length; + addr += write_length; + len -= write_length; + } + + /* Wait for the write-in-progress bit to be cleared. */ + response = spi_flash_wait_while_busy(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to check WIP flag! [spi flash write block]\n"); + return response; + } + + /* Disable writes. */ + response = spi_flash_write_disable(); + if (response != FLASH_STATUS_SUCCESS) { + dprint("Failed to write-disable! [spi flash write block]\n"); + return response; + } + + return response; +} diff --git a/drivers/flash/flash_spi.h b/drivers/flash/flash_spi.h new file mode 100644 index 000000000000..abe95e955e56 --- /dev/null +++ b/drivers/flash/flash_spi.h @@ -0,0 +1,136 @@ +/* +Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +/* All the following default configurations are based on MX25L4006E Nor FLASH. */ + +/* + The slave select pin of the FLASH. + This needs to be a normal GPIO pin_t value, such as B14. +*/ +#ifndef EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN +# error "No chip select pin defined -- missing EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN" +#endif + +/* + The clock divisor for SPI to ensure that the MCU is within the + specifications of the FLASH chip. Generally this will be PCLK divided by + the intended divisor -- check your clock settings and the datasheet of + your FLASH. +*/ +#ifndef EXTERNAL_FLASH_SPI_CLOCK_DIVISOR +# ifdef __AVR__ +# define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 4 +# else +# define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 8 +# endif +#endif + +/* + The SPI mode to communicate with the FLASH. +*/ +#ifndef EXTERNAL_FLASH_SPI_MODE +# define EXTERNAL_FLASH_SPI_MODE 0 +#endif + +/* + Whether or not the SPI communication between the MCU and FLASH should be + LSB-first. +*/ +#ifndef EXTERNAL_FLASH_SPI_LSBFIRST +# define EXTERNAL_FLASH_SPI_LSBFIRST false +#endif + +/* + The Flash address size in bytes, as specified in datasheet. +*/ +#ifndef EXTERNAL_FLASH_ADDRESS_SIZE +# define EXTERNAL_FLASH_ADDRESS_SIZE 3 +#endif + +/* + The page size of the FLASH in bytes, as specified in the datasheet. +*/ +#ifndef EXTERNAL_FLASH_PAGE_SIZE +# define EXTERNAL_FLASH_PAGE_SIZE 256 +#endif + +/* + The sector size of the FLASH in bytes, as specified in the datasheet. +*/ +#ifndef EXTERNAL_FLASH_SECTOR_SIZE +# define EXTERNAL_FLASH_SECTOR_SIZE (4 * 1024) +#endif + +/* + The block size of the FLASH in bytes, as specified in the datasheet. +*/ +#ifndef EXTERNAL_FLASH_BLOCK_SIZE +# define EXTERNAL_FLASH_BLOCK_SIZE (64 * 1024) +#endif + +/* + The total size of the FLASH in bytes, as specified in the datasheet. +*/ +#ifndef EXTERNAL_FLASH_SIZE +# define EXTERNAL_FLASH_SIZE (512 * 1024) +#endif + +/* + The block count of the FLASH, calculated by total FLASH size and block size. +*/ +#define EXTERNAL_FLASH_BLOCK_COUNT ((EXTERNAL_FLASH_SIZE) / (EXTERNAL_FLASH_BLOCK_SIZE)) + +/* + The sector count of the FLASH, calculated by total FLASH size and sector size. +*/ +#define EXTERNAL_FLASH_SECTOR_COUNT ((EXTERNAL_FLASH_SIZE) / (EXTERNAL_FLASH_SECTOR_SIZE)) + +/* + The page count of the FLASH, calculated by total FLASH size and page size. +*/ +#define EXTERNAL_FLASH_PAGE_COUNT ((EXTERNAL_FLASH_SIZE) / (EXTERNAL_FLASH_PAGE_SIZE)) + +typedef int16_t flash_status_t; + +#define FLASH_STATUS_SUCCESS (0) +#define FLASH_STATUS_ERROR (-1) +#define FLASH_STATUS_TIMEOUT (-2) +#define FLASH_STATUS_BAD_ADDRESS (-3) + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +void flash_init(void); + +flash_status_t flash_erase_chip(void); + +flash_status_t flash_erase_block(uint32_t addr); + +flash_status_t flash_erase_sector(uint32_t addr); + +flash_status_t flash_read_block(uint32_t addr, void *buf, size_t len); + +flash_status_t flash_write_block(uint32_t addr, const void *buf, size_t len); + +#ifdef __cplusplus +} +#endif From bd35fa7de1323d572d530cfa4dbe9cf68cf1480b Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sat, 12 Feb 2022 05:51:20 +0800 Subject: [PATCH 0207/1832] move @takashiski 's keebs into /takashiski (#16089) --- keyboards/{ => takashiski}/hecomi/alpha/config.h | 0 keyboards/{ => takashiski}/hecomi/alpha/info.json | 0 keyboards/{ => takashiski}/hecomi/alpha/readme.md | 0 keyboards/{ => takashiski}/hecomi/alpha/rules.mk | 0 keyboards/{ => takashiski}/hecomi/hecomi.c | 0 keyboards/{ => takashiski}/hecomi/hecomi.h | 0 keyboards/{ => takashiski}/hecomi/keymaps/default/keymap.c | 0 keyboards/{ => takashiski}/hecomi/keymaps/default/readme.md | 0 keyboards/{ => takashiski}/hecomi/keymaps/kakunpc/config.h | 0 keyboards/{ => takashiski}/hecomi/keymaps/kakunpc/keymap.c | 0 keyboards/{ => takashiski}/hecomi/keymaps/kakunpc/readme.md | 0 keyboards/{ => takashiski}/hecomi/readme.md | 2 +- keyboards/{ => takashiski}/hecomi/rules.mk | 2 +- keyboards/{ => takashiski}/namecard2x4/.noci | 0 keyboards/{ => takashiski}/namecard2x4/info.json | 0 .../{ => takashiski}/namecard2x4/keymaps/brainfuck/config.h | 0 .../{ => takashiski}/namecard2x4/keymaps/brainfuck/keymap.c | 0 .../{ => takashiski}/namecard2x4/keymaps/brainfuck/readme.md | 0 keyboards/{ => takashiski}/namecard2x4/keymaps/default/keymap.c | 0 .../{ => takashiski}/namecard2x4/keymaps/default/readme.md | 0 keyboards/{ => takashiski}/namecard2x4/namecard2x4.c | 0 keyboards/{ => takashiski}/namecard2x4/namecard2x4.h | 0 keyboards/{ => takashiski}/namecard2x4/readme.md | 2 +- keyboards/{ => takashiski}/namecard2x4/rev1/.noci | 0 keyboards/{ => takashiski}/namecard2x4/rev1/config.h | 0 keyboards/{ => takashiski}/namecard2x4/rev1/rules.mk | 0 keyboards/{ => takashiski}/namecard2x4/rev2/config.h | 0 keyboards/{ => takashiski}/namecard2x4/rev2/rules.mk | 0 keyboards/{ => takashiski}/namecard2x4/rules.mk | 2 +- keyboards/{ => takashiski}/otaku_split/rev0/.noci | 0 keyboards/{ => takashiski}/otaku_split/rev0/config.h | 0 keyboards/{ => takashiski}/otaku_split/rev0/info.json | 0 .../{ => takashiski}/otaku_split/rev0/keymaps/default/keymap.c | 0 .../{ => takashiski}/otaku_split/rev0/keymaps/default/readme.md | 0 .../{ => takashiski}/otaku_split/rev0/keymaps/sample/keymap.c | 0 .../{ => takashiski}/otaku_split/rev0/keymaps/sample/readme.md | 0 keyboards/{ => takashiski}/otaku_split/rev0/readme.md | 2 +- keyboards/{ => takashiski}/otaku_split/rev0/rev0.c | 0 keyboards/{ => takashiski}/otaku_split/rev0/rev0.h | 0 keyboards/{ => takashiski}/otaku_split/rev0/rules.mk | 0 keyboards/{ => takashiski}/otaku_split/rev1/config.h | 0 keyboards/{ => takashiski}/otaku_split/rev1/info.json | 0 .../{ => takashiski}/otaku_split/rev1/keymaps/default/keymap.c | 0 .../{ => takashiski}/otaku_split/rev1/keymaps/default/readme.md | 0 .../{ => takashiski}/otaku_split/rev1/keymaps/sample/keymap.c | 0 .../{ => takashiski}/otaku_split/rev1/keymaps/sample/readme.md | 0 keyboards/{ => takashiski}/otaku_split/rev1/readme.md | 2 +- keyboards/{ => takashiski}/otaku_split/rev1/rev1.c | 0 keyboards/{ => takashiski}/otaku_split/rev1/rev1.h | 0 keyboards/{ => takashiski}/otaku_split/rev1/rules.mk | 0 50 files changed, 6 insertions(+), 6 deletions(-) rename keyboards/{ => takashiski}/hecomi/alpha/config.h (100%) rename keyboards/{ => takashiski}/hecomi/alpha/info.json (100%) rename keyboards/{ => takashiski}/hecomi/alpha/readme.md (100%) rename keyboards/{ => takashiski}/hecomi/alpha/rules.mk (100%) rename keyboards/{ => takashiski}/hecomi/hecomi.c (100%) rename keyboards/{ => takashiski}/hecomi/hecomi.h (100%) rename keyboards/{ => takashiski}/hecomi/keymaps/default/keymap.c (100%) rename keyboards/{ => takashiski}/hecomi/keymaps/default/readme.md (100%) rename keyboards/{ => takashiski}/hecomi/keymaps/kakunpc/config.h (100%) rename keyboards/{ => takashiski}/hecomi/keymaps/kakunpc/keymap.c (100%) rename keyboards/{ => takashiski}/hecomi/keymaps/kakunpc/readme.md (100%) rename keyboards/{ => takashiski}/hecomi/readme.md (94%) rename keyboards/{ => takashiski}/hecomi/rules.mk (94%) rename keyboards/{ => takashiski}/namecard2x4/.noci (100%) rename keyboards/{ => takashiski}/namecard2x4/info.json (100%) rename keyboards/{ => takashiski}/namecard2x4/keymaps/brainfuck/config.h (100%) rename keyboards/{ => takashiski}/namecard2x4/keymaps/brainfuck/keymap.c (100%) rename keyboards/{ => takashiski}/namecard2x4/keymaps/brainfuck/readme.md (100%) rename keyboards/{ => takashiski}/namecard2x4/keymaps/default/keymap.c (100%) rename keyboards/{ => takashiski}/namecard2x4/keymaps/default/readme.md (100%) rename keyboards/{ => takashiski}/namecard2x4/namecard2x4.c (100%) rename keyboards/{ => takashiski}/namecard2x4/namecard2x4.h (100%) rename keyboards/{ => takashiski}/namecard2x4/readme.md (95%) rename keyboards/{ => takashiski}/namecard2x4/rev1/.noci (100%) rename keyboards/{ => takashiski}/namecard2x4/rev1/config.h (100%) rename keyboards/{ => takashiski}/namecard2x4/rev1/rules.mk (100%) rename keyboards/{ => takashiski}/namecard2x4/rev2/config.h (100%) rename keyboards/{ => takashiski}/namecard2x4/rev2/rules.mk (100%) rename keyboards/{ => takashiski}/namecard2x4/rules.mk (93%) rename keyboards/{ => takashiski}/otaku_split/rev0/.noci (100%) rename keyboards/{ => takashiski}/otaku_split/rev0/config.h (100%) rename keyboards/{ => takashiski}/otaku_split/rev0/info.json (100%) rename keyboards/{ => takashiski}/otaku_split/rev0/keymaps/default/keymap.c (100%) rename keyboards/{ => takashiski}/otaku_split/rev0/keymaps/default/readme.md (100%) rename keyboards/{ => takashiski}/otaku_split/rev0/keymaps/sample/keymap.c (100%) rename keyboards/{ => takashiski}/otaku_split/rev0/keymaps/sample/readme.md (100%) rename keyboards/{ => takashiski}/otaku_split/rev0/readme.md (94%) rename keyboards/{ => takashiski}/otaku_split/rev0/rev0.c (100%) rename keyboards/{ => takashiski}/otaku_split/rev0/rev0.h (100%) rename keyboards/{ => takashiski}/otaku_split/rev0/rules.mk (100%) rename keyboards/{ => takashiski}/otaku_split/rev1/config.h (100%) rename keyboards/{ => takashiski}/otaku_split/rev1/info.json (100%) rename keyboards/{ => takashiski}/otaku_split/rev1/keymaps/default/keymap.c (100%) rename keyboards/{ => takashiski}/otaku_split/rev1/keymaps/default/readme.md (100%) rename keyboards/{ => takashiski}/otaku_split/rev1/keymaps/sample/keymap.c (100%) rename keyboards/{ => takashiski}/otaku_split/rev1/keymaps/sample/readme.md (100%) rename keyboards/{ => takashiski}/otaku_split/rev1/readme.md (95%) rename keyboards/{ => takashiski}/otaku_split/rev1/rev1.c (100%) rename keyboards/{ => takashiski}/otaku_split/rev1/rev1.h (100%) rename keyboards/{ => takashiski}/otaku_split/rev1/rules.mk (100%) diff --git a/keyboards/hecomi/alpha/config.h b/keyboards/takashiski/hecomi/alpha/config.h similarity index 100% rename from keyboards/hecomi/alpha/config.h rename to keyboards/takashiski/hecomi/alpha/config.h diff --git a/keyboards/hecomi/alpha/info.json b/keyboards/takashiski/hecomi/alpha/info.json similarity index 100% rename from keyboards/hecomi/alpha/info.json rename to keyboards/takashiski/hecomi/alpha/info.json diff --git a/keyboards/hecomi/alpha/readme.md b/keyboards/takashiski/hecomi/alpha/readme.md similarity index 100% rename from keyboards/hecomi/alpha/readme.md rename to keyboards/takashiski/hecomi/alpha/readme.md diff --git a/keyboards/hecomi/alpha/rules.mk b/keyboards/takashiski/hecomi/alpha/rules.mk similarity index 100% rename from keyboards/hecomi/alpha/rules.mk rename to keyboards/takashiski/hecomi/alpha/rules.mk diff --git a/keyboards/hecomi/hecomi.c b/keyboards/takashiski/hecomi/hecomi.c similarity index 100% rename from keyboards/hecomi/hecomi.c rename to keyboards/takashiski/hecomi/hecomi.c diff --git a/keyboards/hecomi/hecomi.h b/keyboards/takashiski/hecomi/hecomi.h similarity index 100% rename from keyboards/hecomi/hecomi.h rename to keyboards/takashiski/hecomi/hecomi.h diff --git a/keyboards/hecomi/keymaps/default/keymap.c b/keyboards/takashiski/hecomi/keymaps/default/keymap.c similarity index 100% rename from keyboards/hecomi/keymaps/default/keymap.c rename to keyboards/takashiski/hecomi/keymaps/default/keymap.c diff --git a/keyboards/hecomi/keymaps/default/readme.md b/keyboards/takashiski/hecomi/keymaps/default/readme.md similarity index 100% rename from keyboards/hecomi/keymaps/default/readme.md rename to keyboards/takashiski/hecomi/keymaps/default/readme.md diff --git a/keyboards/hecomi/keymaps/kakunpc/config.h b/keyboards/takashiski/hecomi/keymaps/kakunpc/config.h similarity index 100% rename from keyboards/hecomi/keymaps/kakunpc/config.h rename to keyboards/takashiski/hecomi/keymaps/kakunpc/config.h diff --git a/keyboards/hecomi/keymaps/kakunpc/keymap.c b/keyboards/takashiski/hecomi/keymaps/kakunpc/keymap.c similarity index 100% rename from keyboards/hecomi/keymaps/kakunpc/keymap.c rename to keyboards/takashiski/hecomi/keymaps/kakunpc/keymap.c diff --git a/keyboards/hecomi/keymaps/kakunpc/readme.md b/keyboards/takashiski/hecomi/keymaps/kakunpc/readme.md similarity index 100% rename from keyboards/hecomi/keymaps/kakunpc/readme.md rename to keyboards/takashiski/hecomi/keymaps/kakunpc/readme.md diff --git a/keyboards/hecomi/readme.md b/keyboards/takashiski/hecomi/readme.md similarity index 94% rename from keyboards/hecomi/readme.md rename to keyboards/takashiski/hecomi/readme.md index 79a80f35e53f..3d061659d5f1 100644 --- a/keyboards/hecomi/readme.md +++ b/keyboards/takashiski/hecomi/readme.md @@ -12,6 +12,6 @@ Hardware Availability: booth(@skyhigh_works) Make example for this keyboard (after setting up your build environment): - make hecomi/alpha:default + make takashiski/hecomi/alpha:default 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/hecomi/rules.mk b/keyboards/takashiski/hecomi/rules.mk similarity index 94% rename from keyboards/hecomi/rules.mk rename to keyboards/takashiski/hecomi/rules.mk index b570db0d065e..c46100f19e05 100644 --- a/keyboards/hecomi/rules.mk +++ b/keyboards/takashiski/hecomi/rules.mk @@ -18,4 +18,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = hecomi/alpha +DEFAULT_FOLDER = takashiski/hecomi/alpha diff --git a/keyboards/namecard2x4/.noci b/keyboards/takashiski/namecard2x4/.noci similarity index 100% rename from keyboards/namecard2x4/.noci rename to keyboards/takashiski/namecard2x4/.noci diff --git a/keyboards/namecard2x4/info.json b/keyboards/takashiski/namecard2x4/info.json similarity index 100% rename from keyboards/namecard2x4/info.json rename to keyboards/takashiski/namecard2x4/info.json diff --git a/keyboards/namecard2x4/keymaps/brainfuck/config.h b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h similarity index 100% rename from keyboards/namecard2x4/keymaps/brainfuck/config.h rename to keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h diff --git a/keyboards/namecard2x4/keymaps/brainfuck/keymap.c b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c similarity index 100% rename from keyboards/namecard2x4/keymaps/brainfuck/keymap.c rename to keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c diff --git a/keyboards/namecard2x4/keymaps/brainfuck/readme.md b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/readme.md similarity index 100% rename from keyboards/namecard2x4/keymaps/brainfuck/readme.md rename to keyboards/takashiski/namecard2x4/keymaps/brainfuck/readme.md diff --git a/keyboards/namecard2x4/keymaps/default/keymap.c b/keyboards/takashiski/namecard2x4/keymaps/default/keymap.c similarity index 100% rename from keyboards/namecard2x4/keymaps/default/keymap.c rename to keyboards/takashiski/namecard2x4/keymaps/default/keymap.c diff --git a/keyboards/namecard2x4/keymaps/default/readme.md b/keyboards/takashiski/namecard2x4/keymaps/default/readme.md similarity index 100% rename from keyboards/namecard2x4/keymaps/default/readme.md rename to keyboards/takashiski/namecard2x4/keymaps/default/readme.md diff --git a/keyboards/namecard2x4/namecard2x4.c b/keyboards/takashiski/namecard2x4/namecard2x4.c similarity index 100% rename from keyboards/namecard2x4/namecard2x4.c rename to keyboards/takashiski/namecard2x4/namecard2x4.c diff --git a/keyboards/namecard2x4/namecard2x4.h b/keyboards/takashiski/namecard2x4/namecard2x4.h similarity index 100% rename from keyboards/namecard2x4/namecard2x4.h rename to keyboards/takashiski/namecard2x4/namecard2x4.h diff --git a/keyboards/namecard2x4/readme.md b/keyboards/takashiski/namecard2x4/readme.md similarity index 95% rename from keyboards/namecard2x4/readme.md rename to keyboards/takashiski/namecard2x4/readme.md index ec98bc6736c7..165940bceb94 100644 --- a/keyboards/namecard2x4/readme.md +++ b/keyboards/takashiski/namecard2x4/readme.md @@ -18,7 +18,7 @@ Keyboard Maintainer: [takashiski](https://github.com/takashiski) Make example for this keyboard (after setting up your build environment): - make namecard2x4:default + make takashiski/namecard2x4:default 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/namecard2x4/rev1/.noci b/keyboards/takashiski/namecard2x4/rev1/.noci similarity index 100% rename from keyboards/namecard2x4/rev1/.noci rename to keyboards/takashiski/namecard2x4/rev1/.noci diff --git a/keyboards/namecard2x4/rev1/config.h b/keyboards/takashiski/namecard2x4/rev1/config.h similarity index 100% rename from keyboards/namecard2x4/rev1/config.h rename to keyboards/takashiski/namecard2x4/rev1/config.h diff --git a/keyboards/namecard2x4/rev1/rules.mk b/keyboards/takashiski/namecard2x4/rev1/rules.mk similarity index 100% rename from keyboards/namecard2x4/rev1/rules.mk rename to keyboards/takashiski/namecard2x4/rev1/rules.mk diff --git a/keyboards/namecard2x4/rev2/config.h b/keyboards/takashiski/namecard2x4/rev2/config.h similarity index 100% rename from keyboards/namecard2x4/rev2/config.h rename to keyboards/takashiski/namecard2x4/rev2/config.h diff --git a/keyboards/namecard2x4/rev2/rules.mk b/keyboards/takashiski/namecard2x4/rev2/rules.mk similarity index 100% rename from keyboards/namecard2x4/rev2/rules.mk rename to keyboards/takashiski/namecard2x4/rev2/rules.mk diff --git a/keyboards/namecard2x4/rules.mk b/keyboards/takashiski/namecard2x4/rules.mk similarity index 93% rename from keyboards/namecard2x4/rules.mk rename to keyboards/takashiski/namecard2x4/rules.mk index b1f04b15ec3c..e0f4e62f042c 100644 --- a/keyboards/namecard2x4/rules.mk +++ b/keyboards/takashiski/namecard2x4/rules.mk @@ -18,4 +18,4 @@ AUDIO_ENABLE = no # Audio output #RGBLIGHT_ENABLE = yes # uncomment if you want addressable led strips -DEFAULT_FOLDER = namecard2x4/rev2 +DEFAULT_FOLDER = takashiski/namecard2x4/rev2 diff --git a/keyboards/otaku_split/rev0/.noci b/keyboards/takashiski/otaku_split/rev0/.noci similarity index 100% rename from keyboards/otaku_split/rev0/.noci rename to keyboards/takashiski/otaku_split/rev0/.noci diff --git a/keyboards/otaku_split/rev0/config.h b/keyboards/takashiski/otaku_split/rev0/config.h similarity index 100% rename from keyboards/otaku_split/rev0/config.h rename to keyboards/takashiski/otaku_split/rev0/config.h diff --git a/keyboards/otaku_split/rev0/info.json b/keyboards/takashiski/otaku_split/rev0/info.json similarity index 100% rename from keyboards/otaku_split/rev0/info.json rename to keyboards/takashiski/otaku_split/rev0/info.json diff --git a/keyboards/otaku_split/rev0/keymaps/default/keymap.c b/keyboards/takashiski/otaku_split/rev0/keymaps/default/keymap.c similarity index 100% rename from keyboards/otaku_split/rev0/keymaps/default/keymap.c rename to keyboards/takashiski/otaku_split/rev0/keymaps/default/keymap.c diff --git a/keyboards/otaku_split/rev0/keymaps/default/readme.md b/keyboards/takashiski/otaku_split/rev0/keymaps/default/readme.md similarity index 100% rename from keyboards/otaku_split/rev0/keymaps/default/readme.md rename to keyboards/takashiski/otaku_split/rev0/keymaps/default/readme.md diff --git a/keyboards/otaku_split/rev0/keymaps/sample/keymap.c b/keyboards/takashiski/otaku_split/rev0/keymaps/sample/keymap.c similarity index 100% rename from keyboards/otaku_split/rev0/keymaps/sample/keymap.c rename to keyboards/takashiski/otaku_split/rev0/keymaps/sample/keymap.c diff --git a/keyboards/otaku_split/rev0/keymaps/sample/readme.md b/keyboards/takashiski/otaku_split/rev0/keymaps/sample/readme.md similarity index 100% rename from keyboards/otaku_split/rev0/keymaps/sample/readme.md rename to keyboards/takashiski/otaku_split/rev0/keymaps/sample/readme.md diff --git a/keyboards/otaku_split/rev0/readme.md b/keyboards/takashiski/otaku_split/rev0/readme.md similarity index 94% rename from keyboards/otaku_split/rev0/readme.md rename to keyboards/takashiski/otaku_split/rev0/readme.md index 9103843d5df8..53efbd85f899 100644 --- a/keyboards/otaku_split/rev0/readme.md +++ b/keyboards/takashiski/otaku_split/rev0/readme.md @@ -11,6 +11,6 @@ Hardware Availability: https://skyhigh-works.booth.pm/items/1365150 Make example for this keyboard (after setting up your build environment): - make otaku_split/rev0:default + make takashiski/otaku_split/rev0:default 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/otaku_split/rev0/rev0.c b/keyboards/takashiski/otaku_split/rev0/rev0.c similarity index 100% rename from keyboards/otaku_split/rev0/rev0.c rename to keyboards/takashiski/otaku_split/rev0/rev0.c diff --git a/keyboards/otaku_split/rev0/rev0.h b/keyboards/takashiski/otaku_split/rev0/rev0.h similarity index 100% rename from keyboards/otaku_split/rev0/rev0.h rename to keyboards/takashiski/otaku_split/rev0/rev0.h diff --git a/keyboards/otaku_split/rev0/rules.mk b/keyboards/takashiski/otaku_split/rev0/rules.mk similarity index 100% rename from keyboards/otaku_split/rev0/rules.mk rename to keyboards/takashiski/otaku_split/rev0/rules.mk diff --git a/keyboards/otaku_split/rev1/config.h b/keyboards/takashiski/otaku_split/rev1/config.h similarity index 100% rename from keyboards/otaku_split/rev1/config.h rename to keyboards/takashiski/otaku_split/rev1/config.h diff --git a/keyboards/otaku_split/rev1/info.json b/keyboards/takashiski/otaku_split/rev1/info.json similarity index 100% rename from keyboards/otaku_split/rev1/info.json rename to keyboards/takashiski/otaku_split/rev1/info.json diff --git a/keyboards/otaku_split/rev1/keymaps/default/keymap.c b/keyboards/takashiski/otaku_split/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/otaku_split/rev1/keymaps/default/keymap.c rename to keyboards/takashiski/otaku_split/rev1/keymaps/default/keymap.c diff --git a/keyboards/otaku_split/rev1/keymaps/default/readme.md b/keyboards/takashiski/otaku_split/rev1/keymaps/default/readme.md similarity index 100% rename from keyboards/otaku_split/rev1/keymaps/default/readme.md rename to keyboards/takashiski/otaku_split/rev1/keymaps/default/readme.md diff --git a/keyboards/otaku_split/rev1/keymaps/sample/keymap.c b/keyboards/takashiski/otaku_split/rev1/keymaps/sample/keymap.c similarity index 100% rename from keyboards/otaku_split/rev1/keymaps/sample/keymap.c rename to keyboards/takashiski/otaku_split/rev1/keymaps/sample/keymap.c diff --git a/keyboards/otaku_split/rev1/keymaps/sample/readme.md b/keyboards/takashiski/otaku_split/rev1/keymaps/sample/readme.md similarity index 100% rename from keyboards/otaku_split/rev1/keymaps/sample/readme.md rename to keyboards/takashiski/otaku_split/rev1/keymaps/sample/readme.md diff --git a/keyboards/otaku_split/rev1/readme.md b/keyboards/takashiski/otaku_split/rev1/readme.md similarity index 95% rename from keyboards/otaku_split/rev1/readme.md rename to keyboards/takashiski/otaku_split/rev1/readme.md index 592c82641e4b..1c1ff5656aa5 100644 --- a/keyboards/otaku_split/rev1/readme.md +++ b/keyboards/takashiski/otaku_split/rev1/readme.md @@ -14,6 +14,6 @@ Hardware Availability: https://skyhigh-works.booth.pm/items/1398595 Make example for this keyboard (after setting up your build environment): - make otaku_split/rev1:default + make takashiski/otaku_split/rev1:default 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/otaku_split/rev1/rev1.c b/keyboards/takashiski/otaku_split/rev1/rev1.c similarity index 100% rename from keyboards/otaku_split/rev1/rev1.c rename to keyboards/takashiski/otaku_split/rev1/rev1.c diff --git a/keyboards/otaku_split/rev1/rev1.h b/keyboards/takashiski/otaku_split/rev1/rev1.h similarity index 100% rename from keyboards/otaku_split/rev1/rev1.h rename to keyboards/takashiski/otaku_split/rev1/rev1.h diff --git a/keyboards/otaku_split/rev1/rules.mk b/keyboards/takashiski/otaku_split/rev1/rules.mk similarity index 100% rename from keyboards/otaku_split/rev1/rules.mk rename to keyboards/takashiski/otaku_split/rev1/rules.mk From 8957e928a2231b97b815accdd73e9362501b01f0 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sat, 12 Feb 2022 06:41:10 +0800 Subject: [PATCH 0208/1832] move mechkeys keyboards into the mechkeys/ vendor folder (#15760) * move mechkeys keyboards to mechkeys/ * fix compilation * fix default folder --- keyboards/{ => mechkeys}/acr60/acr60.c | 0 keyboards/{ => mechkeys}/acr60/acr60.h | 0 keyboards/{ => mechkeys}/acr60/config.h | 0 keyboards/{ => mechkeys}/acr60/info.json | 0 keyboards/{ => mechkeys}/acr60/keymaps/default/keymap.c | 0 keyboards/{ => mechkeys}/acr60/keymaps/mitch/keymap.c | 0 keyboards/{ => mechkeys}/acr60/readme.md | 4 ++-- keyboards/{ => mechkeys}/acr60/rules.mk | 0 keyboards/{ => mechkeys}/alu84/alu84.c | 0 keyboards/{ => mechkeys}/alu84/alu84.h | 0 keyboards/{ => mechkeys}/alu84/config.h | 0 keyboards/{ => mechkeys}/alu84/info.json | 0 keyboards/{ => mechkeys}/alu84/keymaps/default/keymap.c | 0 keyboards/{ => mechkeys}/alu84/keymaps/turbomech/config.h | 0 keyboards/{ => mechkeys}/alu84/keymaps/turbomech/keymap.c | 0 keyboards/{ => mechkeys}/alu84/keymaps/turbomech/readme.md | 0 keyboards/{ => mechkeys}/alu84/keymaps/turbomech/rules.mk | 0 keyboards/{ => mechkeys}/alu84/readme.md | 4 ++-- keyboards/{ => mechkeys}/alu84/rules.mk | 0 keyboards/{ => mechkeys}/espectro/config.h | 0 keyboards/{ => mechkeys}/espectro/espectro.c | 0 keyboards/{ => mechkeys}/espectro/espectro.h | 0 keyboards/{ => mechkeys}/espectro/info.json | 0 keyboards/{ => mechkeys}/espectro/keymaps/default/keymap.c | 0 keyboards/{ => mechkeys}/espectro/keymaps/iso/keymap.c | 0 keyboards/{ => mechkeys}/espectro/keymaps/mac/config.h | 0 keyboards/{ => mechkeys}/espectro/keymaps/mac/keymap.c | 0 keyboards/{ => mechkeys}/espectro/keymaps/mac/readme.md | 0 keyboards/{ => mechkeys}/espectro/keymaps/mapdev/keymap.c | 0 .../{ => mechkeys}/espectro/keymaps/mikethetiger/keymap.c | 0 keyboards/{ => mechkeys}/espectro/readme.md | 2 +- keyboards/{ => mechkeys}/espectro/rules.mk | 0 keyboards/{ => mechkeys}/mechmini/mechmini.c | 0 keyboards/{ => mechkeys}/mechmini/mechmini.h | 4 ++-- keyboards/{ => mechkeys}/mechmini/readme.md | 2 +- keyboards/mechkeys/mechmini/rules.mk | 1 + keyboards/{ => mechkeys}/mechmini/v1/.noci | 0 keyboards/{ => mechkeys}/mechmini/v1/config.h | 0 keyboards/{ => mechkeys}/mechmini/v1/info.json | 0 keyboards/{ => mechkeys}/mechmini/v1/keymaps/default/keymap.c | 0 keyboards/{ => mechkeys}/mechmini/v1/keymaps/pitty/keymap.c | 0 keyboards/{ => mechkeys}/mechmini/v1/readme.md | 4 ++-- keyboards/{ => mechkeys}/mechmini/v1/rules.mk | 0 keyboards/{ => mechkeys}/mechmini/v1/v1.c | 0 keyboards/{ => mechkeys}/mechmini/v1/v1.h | 2 +- keyboards/{ => mechkeys}/mechmini/v2/config.h | 0 keyboards/{ => mechkeys}/mechmini/v2/info.json | 0 .../mechmini/v2/keymaps/2u_space_ortho/keymap.c | 0 .../{ => mechkeys}/mechmini/v2/keymaps/625_space/keymap.c | 0 keyboards/{ => mechkeys}/mechmini/v2/keymaps/arkag/config.h | 0 keyboards/{ => mechkeys}/mechmini/v2/keymaps/arkag/keymap.c | 0 keyboards/{ => mechkeys}/mechmini/v2/keymaps/arkag/rules.mk | 0 keyboards/{ => mechkeys}/mechmini/v2/keymaps/default/keymap.c | 0 .../{ => mechkeys}/mechmini/v2/keymaps/default/readme.md | 0 .../mechmini/v2/keymaps/lbibass_625_space/config.h | 0 .../mechmini/v2/keymaps/lbibass_625_space/keymap.c | 0 .../mechmini/v2/keymaps/lbibass_625_space/readme.md | 0 .../mechmini/v2/keymaps/lbibass_625_space/rules.mk | 0 .../mechmini/v2/keymaps/lbibass_split_space/config.h | 0 .../mechmini/v2/keymaps/lbibass_split_space/keymap.c | 0 .../mechmini/v2/keymaps/lbibass_split_space/readme.md | 0 .../mechmini/v2/keymaps/lbibass_split_space/rules.mk | 0 keyboards/{ => mechkeys}/mechmini/v2/keymaps/ortho/keymap.c | 0 .../mechmini/v2/keymaps/spacebarracecar/config.h | 0 .../mechmini/v2/keymaps/spacebarracecar/keymap.c | 0 .../mechmini/v2/keymaps/spacebarracecar/readme.md | 0 .../mechmini/v2/keymaps/spacebarracecar/rules.mk | 0 .../{ => mechkeys}/mechmini/v2/keymaps/split_space/keymap.c | 0 .../{ => mechkeys}/mechmini/v2/keymaps/split_space/readme.md | 0 keyboards/{ => mechkeys}/mechmini/v2/keymaps/via/keymap.c | 0 keyboards/{ => mechkeys}/mechmini/v2/keymaps/via/rules.mk | 0 .../{ => mechkeys}/mechmini/v2/keymaps/wsturgiss/config.h | 0 .../{ => mechkeys}/mechmini/v2/keymaps/wsturgiss/keymap.c | 0 .../{ => mechkeys}/mechmini/v2/keymaps/wsturgiss/rules.mk | 0 keyboards/{ => mechkeys}/mechmini/v2/readme.md | 2 +- keyboards/{ => mechkeys}/mechmini/v2/rules.mk | 0 keyboards/{ => mechkeys}/mechmini/v2/v2.c | 0 keyboards/{ => mechkeys}/mechmini/v2/v2.h | 0 keyboards/mechmini/rules.mk | 1 - 79 files changed, 13 insertions(+), 13 deletions(-) rename keyboards/{ => mechkeys}/acr60/acr60.c (100%) rename keyboards/{ => mechkeys}/acr60/acr60.h (100%) rename keyboards/{ => mechkeys}/acr60/config.h (100%) rename keyboards/{ => mechkeys}/acr60/info.json (100%) rename keyboards/{ => mechkeys}/acr60/keymaps/default/keymap.c (100%) rename keyboards/{ => mechkeys}/acr60/keymaps/mitch/keymap.c (100%) rename keyboards/{ => mechkeys}/acr60/readme.md (93%) rename keyboards/{ => mechkeys}/acr60/rules.mk (100%) rename keyboards/{ => mechkeys}/alu84/alu84.c (100%) rename keyboards/{ => mechkeys}/alu84/alu84.h (100%) rename keyboards/{ => mechkeys}/alu84/config.h (100%) rename keyboards/{ => mechkeys}/alu84/info.json (100%) rename keyboards/{ => mechkeys}/alu84/keymaps/default/keymap.c (100%) rename keyboards/{ => mechkeys}/alu84/keymaps/turbomech/config.h (100%) rename keyboards/{ => mechkeys}/alu84/keymaps/turbomech/keymap.c (100%) rename keyboards/{ => mechkeys}/alu84/keymaps/turbomech/readme.md (100%) rename keyboards/{ => mechkeys}/alu84/keymaps/turbomech/rules.mk (100%) rename keyboards/{ => mechkeys}/alu84/readme.md (91%) rename keyboards/{ => mechkeys}/alu84/rules.mk (100%) rename keyboards/{ => mechkeys}/espectro/config.h (100%) rename keyboards/{ => mechkeys}/espectro/espectro.c (100%) rename keyboards/{ => mechkeys}/espectro/espectro.h (100%) rename keyboards/{ => mechkeys}/espectro/info.json (100%) rename keyboards/{ => mechkeys}/espectro/keymaps/default/keymap.c (100%) rename keyboards/{ => mechkeys}/espectro/keymaps/iso/keymap.c (100%) rename keyboards/{ => mechkeys}/espectro/keymaps/mac/config.h (100%) rename keyboards/{ => mechkeys}/espectro/keymaps/mac/keymap.c (100%) rename keyboards/{ => mechkeys}/espectro/keymaps/mac/readme.md (100%) rename keyboards/{ => mechkeys}/espectro/keymaps/mapdev/keymap.c (100%) rename keyboards/{ => mechkeys}/espectro/keymaps/mikethetiger/keymap.c (100%) rename keyboards/{ => mechkeys}/espectro/readme.md (95%) rename keyboards/{ => mechkeys}/espectro/rules.mk (100%) rename keyboards/{ => mechkeys}/mechmini/mechmini.c (100%) rename keyboards/{ => mechkeys}/mechmini/mechmini.h (90%) rename keyboards/{ => mechkeys}/mechmini/readme.md (97%) create mode 100644 keyboards/mechkeys/mechmini/rules.mk rename keyboards/{ => mechkeys}/mechmini/v1/.noci (100%) rename keyboards/{ => mechkeys}/mechmini/v1/config.h (100%) rename keyboards/{ => mechkeys}/mechmini/v1/info.json (100%) rename keyboards/{ => mechkeys}/mechmini/v1/keymaps/default/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v1/keymaps/pitty/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v1/readme.md (92%) rename keyboards/{ => mechkeys}/mechmini/v1/rules.mk (100%) rename keyboards/{ => mechkeys}/mechmini/v1/v1.c (100%) rename keyboards/{ => mechkeys}/mechmini/v1/v1.h (98%) rename keyboards/{ => mechkeys}/mechmini/v2/config.h (100%) rename keyboards/{ => mechkeys}/mechmini/v2/info.json (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/2u_space_ortho/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/625_space/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/arkag/config.h (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/arkag/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/arkag/rules.mk (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/default/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/default/readme.md (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/lbibass_625_space/config.h (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/lbibass_625_space/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/lbibass_625_space/readme.md (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/lbibass_625_space/rules.mk (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/lbibass_split_space/config.h (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/lbibass_split_space/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/lbibass_split_space/readme.md (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/lbibass_split_space/rules.mk (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/ortho/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/spacebarracecar/config.h (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/spacebarracecar/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/spacebarracecar/readme.md (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/spacebarracecar/rules.mk (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/split_space/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/split_space/readme.md (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/via/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/via/rules.mk (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/wsturgiss/config.h (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/wsturgiss/keymap.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/keymaps/wsturgiss/rules.mk (100%) rename keyboards/{ => mechkeys}/mechmini/v2/readme.md (95%) rename keyboards/{ => mechkeys}/mechmini/v2/rules.mk (100%) rename keyboards/{ => mechkeys}/mechmini/v2/v2.c (100%) rename keyboards/{ => mechkeys}/mechmini/v2/v2.h (100%) delete mode 100644 keyboards/mechmini/rules.mk diff --git a/keyboards/acr60/acr60.c b/keyboards/mechkeys/acr60/acr60.c similarity index 100% rename from keyboards/acr60/acr60.c rename to keyboards/mechkeys/acr60/acr60.c diff --git a/keyboards/acr60/acr60.h b/keyboards/mechkeys/acr60/acr60.h similarity index 100% rename from keyboards/acr60/acr60.h rename to keyboards/mechkeys/acr60/acr60.h diff --git a/keyboards/acr60/config.h b/keyboards/mechkeys/acr60/config.h similarity index 100% rename from keyboards/acr60/config.h rename to keyboards/mechkeys/acr60/config.h diff --git a/keyboards/acr60/info.json b/keyboards/mechkeys/acr60/info.json similarity index 100% rename from keyboards/acr60/info.json rename to keyboards/mechkeys/acr60/info.json diff --git a/keyboards/acr60/keymaps/default/keymap.c b/keyboards/mechkeys/acr60/keymaps/default/keymap.c similarity index 100% rename from keyboards/acr60/keymaps/default/keymap.c rename to keyboards/mechkeys/acr60/keymaps/default/keymap.c diff --git a/keyboards/acr60/keymaps/mitch/keymap.c b/keyboards/mechkeys/acr60/keymaps/mitch/keymap.c similarity index 100% rename from keyboards/acr60/keymaps/mitch/keymap.c rename to keyboards/mechkeys/acr60/keymaps/mitch/keymap.c diff --git a/keyboards/acr60/readme.md b/keyboards/mechkeys/acr60/readme.md similarity index 93% rename from keyboards/acr60/readme.md rename to keyboards/mechkeys/acr60/readme.md index 70b617dfdadf..4d8bffa36414 100644 --- a/keyboards/acr60/readme.md +++ b/keyboards/mechkeys/acr60/readme.md @@ -10,11 +10,11 @@ A customizable 60% keyboard made and sold by mechkeys.ca [More info on MECHKEYS] Make example for this keyboard (after setting up your build environment): - make acr60:default + make mechkeys/acr60:default Flashing example for this keyboard: - make acr60:default:flash + make mechkeys/acr60:default:flash To reset the board into bootloader mode, do one of the following: diff --git a/keyboards/acr60/rules.mk b/keyboards/mechkeys/acr60/rules.mk similarity index 100% rename from keyboards/acr60/rules.mk rename to keyboards/mechkeys/acr60/rules.mk diff --git a/keyboards/alu84/alu84.c b/keyboards/mechkeys/alu84/alu84.c similarity index 100% rename from keyboards/alu84/alu84.c rename to keyboards/mechkeys/alu84/alu84.c diff --git a/keyboards/alu84/alu84.h b/keyboards/mechkeys/alu84/alu84.h similarity index 100% rename from keyboards/alu84/alu84.h rename to keyboards/mechkeys/alu84/alu84.h diff --git a/keyboards/alu84/config.h b/keyboards/mechkeys/alu84/config.h similarity index 100% rename from keyboards/alu84/config.h rename to keyboards/mechkeys/alu84/config.h diff --git a/keyboards/alu84/info.json b/keyboards/mechkeys/alu84/info.json similarity index 100% rename from keyboards/alu84/info.json rename to keyboards/mechkeys/alu84/info.json diff --git a/keyboards/alu84/keymaps/default/keymap.c b/keyboards/mechkeys/alu84/keymaps/default/keymap.c similarity index 100% rename from keyboards/alu84/keymaps/default/keymap.c rename to keyboards/mechkeys/alu84/keymaps/default/keymap.c diff --git a/keyboards/alu84/keymaps/turbomech/config.h b/keyboards/mechkeys/alu84/keymaps/turbomech/config.h similarity index 100% rename from keyboards/alu84/keymaps/turbomech/config.h rename to keyboards/mechkeys/alu84/keymaps/turbomech/config.h diff --git a/keyboards/alu84/keymaps/turbomech/keymap.c b/keyboards/mechkeys/alu84/keymaps/turbomech/keymap.c similarity index 100% rename from keyboards/alu84/keymaps/turbomech/keymap.c rename to keyboards/mechkeys/alu84/keymaps/turbomech/keymap.c diff --git a/keyboards/alu84/keymaps/turbomech/readme.md b/keyboards/mechkeys/alu84/keymaps/turbomech/readme.md similarity index 100% rename from keyboards/alu84/keymaps/turbomech/readme.md rename to keyboards/mechkeys/alu84/keymaps/turbomech/readme.md diff --git a/keyboards/alu84/keymaps/turbomech/rules.mk b/keyboards/mechkeys/alu84/keymaps/turbomech/rules.mk similarity index 100% rename from keyboards/alu84/keymaps/turbomech/rules.mk rename to keyboards/mechkeys/alu84/keymaps/turbomech/rules.mk diff --git a/keyboards/alu84/readme.md b/keyboards/mechkeys/alu84/readme.md similarity index 91% rename from keyboards/alu84/readme.md rename to keyboards/mechkeys/alu84/readme.md index 12da1d8a8f0d..ca2afbe970b2 100644 --- a/keyboards/alu84/readme.md +++ b/keyboards/mechkeys/alu84/readme.md @@ -10,11 +10,11 @@ A 75% keyboard made and sold by MECHKEYS. Make example for this keyboard (after setting up your build environment): - make alu84:default + make mechkeys/alu84:default Flashing example for this keyboard: - make alu84:default:flash + make mechkeys/alu84:default:flash To reset the board into bootloader mode, hold Space+B while plugging the cable in. diff --git a/keyboards/alu84/rules.mk b/keyboards/mechkeys/alu84/rules.mk similarity index 100% rename from keyboards/alu84/rules.mk rename to keyboards/mechkeys/alu84/rules.mk diff --git a/keyboards/espectro/config.h b/keyboards/mechkeys/espectro/config.h similarity index 100% rename from keyboards/espectro/config.h rename to keyboards/mechkeys/espectro/config.h diff --git a/keyboards/espectro/espectro.c b/keyboards/mechkeys/espectro/espectro.c similarity index 100% rename from keyboards/espectro/espectro.c rename to keyboards/mechkeys/espectro/espectro.c diff --git a/keyboards/espectro/espectro.h b/keyboards/mechkeys/espectro/espectro.h similarity index 100% rename from keyboards/espectro/espectro.h rename to keyboards/mechkeys/espectro/espectro.h diff --git a/keyboards/espectro/info.json b/keyboards/mechkeys/espectro/info.json similarity index 100% rename from keyboards/espectro/info.json rename to keyboards/mechkeys/espectro/info.json diff --git a/keyboards/espectro/keymaps/default/keymap.c b/keyboards/mechkeys/espectro/keymaps/default/keymap.c similarity index 100% rename from keyboards/espectro/keymaps/default/keymap.c rename to keyboards/mechkeys/espectro/keymaps/default/keymap.c diff --git a/keyboards/espectro/keymaps/iso/keymap.c b/keyboards/mechkeys/espectro/keymaps/iso/keymap.c similarity index 100% rename from keyboards/espectro/keymaps/iso/keymap.c rename to keyboards/mechkeys/espectro/keymaps/iso/keymap.c diff --git a/keyboards/espectro/keymaps/mac/config.h b/keyboards/mechkeys/espectro/keymaps/mac/config.h similarity index 100% rename from keyboards/espectro/keymaps/mac/config.h rename to keyboards/mechkeys/espectro/keymaps/mac/config.h diff --git a/keyboards/espectro/keymaps/mac/keymap.c b/keyboards/mechkeys/espectro/keymaps/mac/keymap.c similarity index 100% rename from keyboards/espectro/keymaps/mac/keymap.c rename to keyboards/mechkeys/espectro/keymaps/mac/keymap.c diff --git a/keyboards/espectro/keymaps/mac/readme.md b/keyboards/mechkeys/espectro/keymaps/mac/readme.md similarity index 100% rename from keyboards/espectro/keymaps/mac/readme.md rename to keyboards/mechkeys/espectro/keymaps/mac/readme.md diff --git a/keyboards/espectro/keymaps/mapdev/keymap.c b/keyboards/mechkeys/espectro/keymaps/mapdev/keymap.c similarity index 100% rename from keyboards/espectro/keymaps/mapdev/keymap.c rename to keyboards/mechkeys/espectro/keymaps/mapdev/keymap.c diff --git a/keyboards/espectro/keymaps/mikethetiger/keymap.c b/keyboards/mechkeys/espectro/keymaps/mikethetiger/keymap.c similarity index 100% rename from keyboards/espectro/keymaps/mikethetiger/keymap.c rename to keyboards/mechkeys/espectro/keymaps/mikethetiger/keymap.c diff --git a/keyboards/espectro/readme.md b/keyboards/mechkeys/espectro/readme.md similarity index 95% rename from keyboards/espectro/readme.md rename to keyboards/mechkeys/espectro/readme.md index c4c0edc7f74c..fca7ad730894 100644 --- a/keyboards/espectro/readme.md +++ b/keyboards/mechkeys/espectro/readme.md @@ -10,6 +10,6 @@ Hardware Availability: [MECHKEYS](https://mechkeys.ca) Make example for this keyboard (after setting up your build environment): - make espectro:default + make mechkeys/espectro:default 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/espectro/rules.mk b/keyboards/mechkeys/espectro/rules.mk similarity index 100% rename from keyboards/espectro/rules.mk rename to keyboards/mechkeys/espectro/rules.mk diff --git a/keyboards/mechmini/mechmini.c b/keyboards/mechkeys/mechmini/mechmini.c similarity index 100% rename from keyboards/mechmini/mechmini.c rename to keyboards/mechkeys/mechmini/mechmini.c diff --git a/keyboards/mechmini/mechmini.h b/keyboards/mechkeys/mechmini/mechmini.h similarity index 90% rename from keyboards/mechmini/mechmini.h rename to keyboards/mechkeys/mechmini/mechmini.h index cbd405285f35..9420b3e161ea 100644 --- a/keyboards/mechmini/mechmini.h +++ b/keyboards/mechkeys/mechmini/mechmini.h @@ -18,8 +18,8 @@ #include "quantum.h" -#if defined(KEYBOARD_mechmini_v1) +#if defined(KEYBOARD_mechkeys_mechmini_v1) # include "v1.h" -#elif defined(KEYBOARD_mechmini_v2) +#elif defined(KEYBOARD_mechkeys_mechmini_v2) # include "v2.h" #endif diff --git a/keyboards/mechmini/readme.md b/keyboards/mechkeys/mechmini/readme.md similarity index 97% rename from keyboards/mechmini/readme.md rename to keyboards/mechkeys/mechmini/readme.md index fc43eb124845..f9c026427355 100644 --- a/keyboards/mechmini/readme.md +++ b/keyboards/mechkeys/mechmini/readme.md @@ -17,7 +17,7 @@ Hardware Availability: [MECHKEYS](https://mechkeys.ca/collections/keyboards/prod Make example for this keyboard (after setting up your build environment), this will make the Mechmini 2.0 default keymap (split space) - please see v1 readme for v1 make instructions: - make mechmini:default + make mechkeys/mechmini:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/mechkeys/mechmini/rules.mk b/keyboards/mechkeys/mechmini/rules.mk new file mode 100644 index 000000000000..9d63d875ebe8 --- /dev/null +++ b/keyboards/mechkeys/mechmini/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechkeys/mechmini/v2 diff --git a/keyboards/mechmini/v1/.noci b/keyboards/mechkeys/mechmini/v1/.noci similarity index 100% rename from keyboards/mechmini/v1/.noci rename to keyboards/mechkeys/mechmini/v1/.noci diff --git a/keyboards/mechmini/v1/config.h b/keyboards/mechkeys/mechmini/v1/config.h similarity index 100% rename from keyboards/mechmini/v1/config.h rename to keyboards/mechkeys/mechmini/v1/config.h diff --git a/keyboards/mechmini/v1/info.json b/keyboards/mechkeys/mechmini/v1/info.json similarity index 100% rename from keyboards/mechmini/v1/info.json rename to keyboards/mechkeys/mechmini/v1/info.json diff --git a/keyboards/mechmini/v1/keymaps/default/keymap.c b/keyboards/mechkeys/mechmini/v1/keymaps/default/keymap.c similarity index 100% rename from keyboards/mechmini/v1/keymaps/default/keymap.c rename to keyboards/mechkeys/mechmini/v1/keymaps/default/keymap.c diff --git a/keyboards/mechmini/v1/keymaps/pitty/keymap.c b/keyboards/mechkeys/mechmini/v1/keymaps/pitty/keymap.c similarity index 100% rename from keyboards/mechmini/v1/keymaps/pitty/keymap.c rename to keyboards/mechkeys/mechmini/v1/keymaps/pitty/keymap.c diff --git a/keyboards/mechmini/v1/readme.md b/keyboards/mechkeys/mechmini/v1/readme.md similarity index 92% rename from keyboards/mechmini/v1/readme.md rename to keyboards/mechkeys/mechmini/v1/readme.md index 902948c24dad..d6b88d9c0485 100644 --- a/keyboards/mechmini/v1/readme.md +++ b/keyboards/mechkeys/mechmini/v1/readme.md @@ -8,11 +8,11 @@ A 40% ortholinear/staggered keyboard, that was originally bootmapper and can be Make example for this keyboard (after setting up your build environment): - make mechmini/v1:default + make mechkeys/mechmini/v1:default Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) - make mechmini/v1:default:flash + make mechkeys/mechmini/v1:default:flash **Reset Key**: Hold down the key commonly programmed as *L_Ctrl* while plugging in the keyboard. diff --git a/keyboards/mechmini/v1/rules.mk b/keyboards/mechkeys/mechmini/v1/rules.mk similarity index 100% rename from keyboards/mechmini/v1/rules.mk rename to keyboards/mechkeys/mechmini/v1/rules.mk diff --git a/keyboards/mechmini/v1/v1.c b/keyboards/mechkeys/mechmini/v1/v1.c similarity index 100% rename from keyboards/mechmini/v1/v1.c rename to keyboards/mechkeys/mechmini/v1/v1.c diff --git a/keyboards/mechmini/v1/v1.h b/keyboards/mechkeys/mechmini/v1/v1.h similarity index 98% rename from keyboards/mechmini/v1/v1.h rename to keyboards/mechkeys/mechmini/v1/v1.h index 526f12e410a6..07d1e683f7d1 100644 --- a/keyboards/mechmini/v1/v1.h +++ b/keyboards/mechkeys/mechmini/v1/v1.h @@ -17,7 +17,7 @@ along with this program. If not, see . #pragma once -#include "mechmini.h" +#include "../mechmini.h" #define ___ KC_NO diff --git a/keyboards/mechmini/v2/config.h b/keyboards/mechkeys/mechmini/v2/config.h similarity index 100% rename from keyboards/mechmini/v2/config.h rename to keyboards/mechkeys/mechmini/v2/config.h diff --git a/keyboards/mechmini/v2/info.json b/keyboards/mechkeys/mechmini/v2/info.json similarity index 100% rename from keyboards/mechmini/v2/info.json rename to keyboards/mechkeys/mechmini/v2/info.json diff --git a/keyboards/mechmini/v2/keymaps/2u_space_ortho/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/2u_space_ortho/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/2u_space_ortho/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/2u_space_ortho/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/625_space/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/625_space/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/625_space/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/625_space/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/arkag/config.h b/keyboards/mechkeys/mechmini/v2/keymaps/arkag/config.h similarity index 100% rename from keyboards/mechmini/v2/keymaps/arkag/config.h rename to keyboards/mechkeys/mechmini/v2/keymaps/arkag/config.h diff --git a/keyboards/mechmini/v2/keymaps/arkag/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/arkag/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/arkag/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/arkag/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/arkag/rules.mk b/keyboards/mechkeys/mechmini/v2/keymaps/arkag/rules.mk similarity index 100% rename from keyboards/mechmini/v2/keymaps/arkag/rules.mk rename to keyboards/mechkeys/mechmini/v2/keymaps/arkag/rules.mk diff --git a/keyboards/mechmini/v2/keymaps/default/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/default/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/default/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/default/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/default/readme.md b/keyboards/mechkeys/mechmini/v2/keymaps/default/readme.md similarity index 100% rename from keyboards/mechmini/v2/keymaps/default/readme.md rename to keyboards/mechkeys/mechmini/v2/keymaps/default/readme.md diff --git a/keyboards/mechmini/v2/keymaps/lbibass_625_space/config.h b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/config.h similarity index 100% rename from keyboards/mechmini/v2/keymaps/lbibass_625_space/config.h rename to keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/config.h diff --git a/keyboards/mechmini/v2/keymaps/lbibass_625_space/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/lbibass_625_space/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/lbibass_625_space/readme.md b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/readme.md similarity index 100% rename from keyboards/mechmini/v2/keymaps/lbibass_625_space/readme.md rename to keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/readme.md diff --git a/keyboards/mechmini/v2/keymaps/lbibass_625_space/rules.mk b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/rules.mk similarity index 100% rename from keyboards/mechmini/v2/keymaps/lbibass_625_space/rules.mk rename to keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/rules.mk diff --git a/keyboards/mechmini/v2/keymaps/lbibass_split_space/config.h b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/config.h similarity index 100% rename from keyboards/mechmini/v2/keymaps/lbibass_split_space/config.h rename to keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/config.h diff --git a/keyboards/mechmini/v2/keymaps/lbibass_split_space/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/lbibass_split_space/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/lbibass_split_space/readme.md b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/readme.md similarity index 100% rename from keyboards/mechmini/v2/keymaps/lbibass_split_space/readme.md rename to keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/readme.md diff --git a/keyboards/mechmini/v2/keymaps/lbibass_split_space/rules.mk b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/rules.mk similarity index 100% rename from keyboards/mechmini/v2/keymaps/lbibass_split_space/rules.mk rename to keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/rules.mk diff --git a/keyboards/mechmini/v2/keymaps/ortho/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/ortho/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/ortho/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/ortho/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/spacebarracecar/config.h b/keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/config.h similarity index 100% rename from keyboards/mechmini/v2/keymaps/spacebarracecar/config.h rename to keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/config.h diff --git a/keyboards/mechmini/v2/keymaps/spacebarracecar/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/spacebarracecar/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/spacebarracecar/readme.md b/keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/readme.md similarity index 100% rename from keyboards/mechmini/v2/keymaps/spacebarracecar/readme.md rename to keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/readme.md diff --git a/keyboards/mechmini/v2/keymaps/spacebarracecar/rules.mk b/keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/rules.mk similarity index 100% rename from keyboards/mechmini/v2/keymaps/spacebarracecar/rules.mk rename to keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/rules.mk diff --git a/keyboards/mechmini/v2/keymaps/split_space/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/split_space/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/split_space/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/split_space/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/split_space/readme.md b/keyboards/mechkeys/mechmini/v2/keymaps/split_space/readme.md similarity index 100% rename from keyboards/mechmini/v2/keymaps/split_space/readme.md rename to keyboards/mechkeys/mechmini/v2/keymaps/split_space/readme.md diff --git a/keyboards/mechmini/v2/keymaps/via/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/via/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/via/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/via/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/via/rules.mk b/keyboards/mechkeys/mechmini/v2/keymaps/via/rules.mk similarity index 100% rename from keyboards/mechmini/v2/keymaps/via/rules.mk rename to keyboards/mechkeys/mechmini/v2/keymaps/via/rules.mk diff --git a/keyboards/mechmini/v2/keymaps/wsturgiss/config.h b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/config.h similarity index 100% rename from keyboards/mechmini/v2/keymaps/wsturgiss/config.h rename to keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/config.h diff --git a/keyboards/mechmini/v2/keymaps/wsturgiss/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c similarity index 100% rename from keyboards/mechmini/v2/keymaps/wsturgiss/keymap.c rename to keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c diff --git a/keyboards/mechmini/v2/keymaps/wsturgiss/rules.mk b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/rules.mk similarity index 100% rename from keyboards/mechmini/v2/keymaps/wsturgiss/rules.mk rename to keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/rules.mk diff --git a/keyboards/mechmini/v2/readme.md b/keyboards/mechkeys/mechmini/v2/readme.md similarity index 95% rename from keyboards/mechmini/v2/readme.md rename to keyboards/mechkeys/mechmini/v2/readme.md index fdc9fef9bf2b..8724f16a0ff2 100644 --- a/keyboards/mechmini/v2/readme.md +++ b/keyboards/mechkeys/mechmini/v2/readme.md @@ -13,7 +13,7 @@ Hardware Availability: [MECHKEYS Mechmini 2.0](https://mechkeys.ca/collections/k Make example for this keyboard (after setting up your build environment), this will make the Mechmini 2.0 default keymap (split space): - make mechmini/v2:default + make mechkeys/mechmini/v2:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/mechmini/v2/rules.mk b/keyboards/mechkeys/mechmini/v2/rules.mk similarity index 100% rename from keyboards/mechmini/v2/rules.mk rename to keyboards/mechkeys/mechmini/v2/rules.mk diff --git a/keyboards/mechmini/v2/v2.c b/keyboards/mechkeys/mechmini/v2/v2.c similarity index 100% rename from keyboards/mechmini/v2/v2.c rename to keyboards/mechkeys/mechmini/v2/v2.c diff --git a/keyboards/mechmini/v2/v2.h b/keyboards/mechkeys/mechmini/v2/v2.h similarity index 100% rename from keyboards/mechmini/v2/v2.h rename to keyboards/mechkeys/mechmini/v2/v2.h diff --git a/keyboards/mechmini/rules.mk b/keyboards/mechmini/rules.mk deleted file mode 100644 index 71dae51277b7..000000000000 --- a/keyboards/mechmini/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = mechmini/v2 From c72120baab093a4cfdd9192e8bde0c64ee4172ae Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sat, 12 Feb 2022 09:13:48 +0800 Subject: [PATCH 0209/1832] move @satt99 's comet46 to satt/ (#16059) --- keyboards/{ => satt}/comet46/comet46.c | 0 keyboards/{ => satt}/comet46/comet46.h | 0 keyboards/{ => satt}/comet46/config.h | 0 keyboards/{ => satt}/comet46/i2c.c | 0 keyboards/{ => satt}/comet46/i2c.h | 0 keyboards/{ => satt}/comet46/info.json | 0 keyboards/{ => satt}/comet46/keymaps/default-rgbled/keymap.c | 0 keyboards/{ => satt}/comet46/keymaps/default-rgbled/readme.md | 0 keyboards/{ => satt}/comet46/keymaps/default/config.h | 0 keyboards/{ => satt}/comet46/keymaps/default/keymap.c | 0 keyboards/{ => satt}/comet46/keymaps/default/readme.md | 0 keyboards/{ => satt}/comet46/keymaps/default/rules.mk | 0 keyboards/{ => satt}/comet46/keymaps/satt/action_pseudo_lut.c | 0 keyboards/{ => satt}/comet46/keymaps/satt/action_pseudo_lut.h | 0 keyboards/{ => satt}/comet46/keymaps/satt/config.h | 0 keyboards/{ => satt}/comet46/keymaps/satt/keymap.c | 0 keyboards/{ => satt}/comet46/keymaps/satt/keymap_jis2us.h | 0 keyboards/{ => satt}/comet46/keymaps/satt/readme.md | 0 keyboards/{ => satt}/comet46/keymaps/satt/rules.mk | 0 keyboards/{ => satt}/comet46/lib/glcdfont.c | 0 keyboards/{ => satt}/comet46/lib/host_led_state_reader.c | 0 keyboards/{ => satt}/comet46/lib/keylogger.c | 0 keyboards/{ => satt}/comet46/lib/modifier_state_reader.c | 0 keyboards/{ => satt}/comet46/matrix.c | 0 keyboards/{ => satt}/comet46/readme.md | 2 +- keyboards/{ => satt}/comet46/rules.mk | 0 keyboards/{ => satt}/comet46/ssd1306.c | 0 keyboards/{ => satt}/comet46/ssd1306.h | 0 28 files changed, 1 insertion(+), 1 deletion(-) rename keyboards/{ => satt}/comet46/comet46.c (100%) rename keyboards/{ => satt}/comet46/comet46.h (100%) rename keyboards/{ => satt}/comet46/config.h (100%) rename keyboards/{ => satt}/comet46/i2c.c (100%) rename keyboards/{ => satt}/comet46/i2c.h (100%) rename keyboards/{ => satt}/comet46/info.json (100%) rename keyboards/{ => satt}/comet46/keymaps/default-rgbled/keymap.c (100%) rename keyboards/{ => satt}/comet46/keymaps/default-rgbled/readme.md (100%) rename keyboards/{ => satt}/comet46/keymaps/default/config.h (100%) rename keyboards/{ => satt}/comet46/keymaps/default/keymap.c (100%) rename keyboards/{ => satt}/comet46/keymaps/default/readme.md (100%) rename keyboards/{ => satt}/comet46/keymaps/default/rules.mk (100%) rename keyboards/{ => satt}/comet46/keymaps/satt/action_pseudo_lut.c (100%) rename keyboards/{ => satt}/comet46/keymaps/satt/action_pseudo_lut.h (100%) rename keyboards/{ => satt}/comet46/keymaps/satt/config.h (100%) rename keyboards/{ => satt}/comet46/keymaps/satt/keymap.c (100%) rename keyboards/{ => satt}/comet46/keymaps/satt/keymap_jis2us.h (100%) rename keyboards/{ => satt}/comet46/keymaps/satt/readme.md (100%) rename keyboards/{ => satt}/comet46/keymaps/satt/rules.mk (100%) rename keyboards/{ => satt}/comet46/lib/glcdfont.c (100%) rename keyboards/{ => satt}/comet46/lib/host_led_state_reader.c (100%) rename keyboards/{ => satt}/comet46/lib/keylogger.c (100%) rename keyboards/{ => satt}/comet46/lib/modifier_state_reader.c (100%) rename keyboards/{ => satt}/comet46/matrix.c (100%) rename keyboards/{ => satt}/comet46/readme.md (96%) rename keyboards/{ => satt}/comet46/rules.mk (100%) rename keyboards/{ => satt}/comet46/ssd1306.c (100%) rename keyboards/{ => satt}/comet46/ssd1306.h (100%) diff --git a/keyboards/comet46/comet46.c b/keyboards/satt/comet46/comet46.c similarity index 100% rename from keyboards/comet46/comet46.c rename to keyboards/satt/comet46/comet46.c diff --git a/keyboards/comet46/comet46.h b/keyboards/satt/comet46/comet46.h similarity index 100% rename from keyboards/comet46/comet46.h rename to keyboards/satt/comet46/comet46.h diff --git a/keyboards/comet46/config.h b/keyboards/satt/comet46/config.h similarity index 100% rename from keyboards/comet46/config.h rename to keyboards/satt/comet46/config.h diff --git a/keyboards/comet46/i2c.c b/keyboards/satt/comet46/i2c.c similarity index 100% rename from keyboards/comet46/i2c.c rename to keyboards/satt/comet46/i2c.c diff --git a/keyboards/comet46/i2c.h b/keyboards/satt/comet46/i2c.h similarity index 100% rename from keyboards/comet46/i2c.h rename to keyboards/satt/comet46/i2c.h diff --git a/keyboards/comet46/info.json b/keyboards/satt/comet46/info.json similarity index 100% rename from keyboards/comet46/info.json rename to keyboards/satt/comet46/info.json diff --git a/keyboards/comet46/keymaps/default-rgbled/keymap.c b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c similarity index 100% rename from keyboards/comet46/keymaps/default-rgbled/keymap.c rename to keyboards/satt/comet46/keymaps/default-rgbled/keymap.c diff --git a/keyboards/comet46/keymaps/default-rgbled/readme.md b/keyboards/satt/comet46/keymaps/default-rgbled/readme.md similarity index 100% rename from keyboards/comet46/keymaps/default-rgbled/readme.md rename to keyboards/satt/comet46/keymaps/default-rgbled/readme.md diff --git a/keyboards/comet46/keymaps/default/config.h b/keyboards/satt/comet46/keymaps/default/config.h similarity index 100% rename from keyboards/comet46/keymaps/default/config.h rename to keyboards/satt/comet46/keymaps/default/config.h diff --git a/keyboards/comet46/keymaps/default/keymap.c b/keyboards/satt/comet46/keymaps/default/keymap.c similarity index 100% rename from keyboards/comet46/keymaps/default/keymap.c rename to keyboards/satt/comet46/keymaps/default/keymap.c diff --git a/keyboards/comet46/keymaps/default/readme.md b/keyboards/satt/comet46/keymaps/default/readme.md similarity index 100% rename from keyboards/comet46/keymaps/default/readme.md rename to keyboards/satt/comet46/keymaps/default/readme.md diff --git a/keyboards/comet46/keymaps/default/rules.mk b/keyboards/satt/comet46/keymaps/default/rules.mk similarity index 100% rename from keyboards/comet46/keymaps/default/rules.mk rename to keyboards/satt/comet46/keymaps/default/rules.mk diff --git a/keyboards/comet46/keymaps/satt/action_pseudo_lut.c b/keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.c similarity index 100% rename from keyboards/comet46/keymaps/satt/action_pseudo_lut.c rename to keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.c diff --git a/keyboards/comet46/keymaps/satt/action_pseudo_lut.h b/keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.h similarity index 100% rename from keyboards/comet46/keymaps/satt/action_pseudo_lut.h rename to keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.h diff --git a/keyboards/comet46/keymaps/satt/config.h b/keyboards/satt/comet46/keymaps/satt/config.h similarity index 100% rename from keyboards/comet46/keymaps/satt/config.h rename to keyboards/satt/comet46/keymaps/satt/config.h diff --git a/keyboards/comet46/keymaps/satt/keymap.c b/keyboards/satt/comet46/keymaps/satt/keymap.c similarity index 100% rename from keyboards/comet46/keymaps/satt/keymap.c rename to keyboards/satt/comet46/keymaps/satt/keymap.c diff --git a/keyboards/comet46/keymaps/satt/keymap_jis2us.h b/keyboards/satt/comet46/keymaps/satt/keymap_jis2us.h similarity index 100% rename from keyboards/comet46/keymaps/satt/keymap_jis2us.h rename to keyboards/satt/comet46/keymaps/satt/keymap_jis2us.h diff --git a/keyboards/comet46/keymaps/satt/readme.md b/keyboards/satt/comet46/keymaps/satt/readme.md similarity index 100% rename from keyboards/comet46/keymaps/satt/readme.md rename to keyboards/satt/comet46/keymaps/satt/readme.md diff --git a/keyboards/comet46/keymaps/satt/rules.mk b/keyboards/satt/comet46/keymaps/satt/rules.mk similarity index 100% rename from keyboards/comet46/keymaps/satt/rules.mk rename to keyboards/satt/comet46/keymaps/satt/rules.mk diff --git a/keyboards/comet46/lib/glcdfont.c b/keyboards/satt/comet46/lib/glcdfont.c similarity index 100% rename from keyboards/comet46/lib/glcdfont.c rename to keyboards/satt/comet46/lib/glcdfont.c diff --git a/keyboards/comet46/lib/host_led_state_reader.c b/keyboards/satt/comet46/lib/host_led_state_reader.c similarity index 100% rename from keyboards/comet46/lib/host_led_state_reader.c rename to keyboards/satt/comet46/lib/host_led_state_reader.c diff --git a/keyboards/comet46/lib/keylogger.c b/keyboards/satt/comet46/lib/keylogger.c similarity index 100% rename from keyboards/comet46/lib/keylogger.c rename to keyboards/satt/comet46/lib/keylogger.c diff --git a/keyboards/comet46/lib/modifier_state_reader.c b/keyboards/satt/comet46/lib/modifier_state_reader.c similarity index 100% rename from keyboards/comet46/lib/modifier_state_reader.c rename to keyboards/satt/comet46/lib/modifier_state_reader.c diff --git a/keyboards/comet46/matrix.c b/keyboards/satt/comet46/matrix.c similarity index 100% rename from keyboards/comet46/matrix.c rename to keyboards/satt/comet46/matrix.c diff --git a/keyboards/comet46/readme.md b/keyboards/satt/comet46/readme.md similarity index 96% rename from keyboards/comet46/readme.md rename to keyboards/satt/comet46/readme.md index 3db64d291ba6..60cb432a481a 100644 --- a/keyboards/comet46/readme.md +++ b/keyboards/satt/comet46/readme.md @@ -11,7 +11,7 @@ Firmware for nordic MCUs: [SRC and precompiled](https://github.com/satt99/comet4 Make example for this keyboard (after setting up your build environment): - make comet46:default + make satt/comet46:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/comet46/rules.mk b/keyboards/satt/comet46/rules.mk similarity index 100% rename from keyboards/comet46/rules.mk rename to keyboards/satt/comet46/rules.mk diff --git a/keyboards/comet46/ssd1306.c b/keyboards/satt/comet46/ssd1306.c similarity index 100% rename from keyboards/comet46/ssd1306.c rename to keyboards/satt/comet46/ssd1306.c diff --git a/keyboards/comet46/ssd1306.h b/keyboards/satt/comet46/ssd1306.h similarity index 100% rename from keyboards/comet46/ssd1306.h rename to keyboards/satt/comet46/ssd1306.h From 0f926a8ae895580612313c866575969759a88db8 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sat, 12 Feb 2022 09:14:07 +0800 Subject: [PATCH 0210/1832] move montex to IDOBAO vendor folder (#15668) * move montex to IDOBAO vendor folder * move montex to montex/v1 --- keyboards/{montex => idobao/montex/v1}/config.h | 0 keyboards/{montex => idobao/montex/v1}/info.json | 0 keyboards/{montex => idobao/montex/v1}/keymaps/default/keymap.c | 0 keyboards/{montex => idobao/montex/v1}/keymaps/via/keymap.c | 0 keyboards/{montex => idobao/montex/v1}/keymaps/via/rules.mk | 0 keyboards/{montex => idobao/montex/v1}/readme.md | 2 +- keyboards/{montex => idobao/montex/v1}/rules.mk | 0 keyboards/{montex/montex.c => idobao/montex/v1/v1.c} | 2 +- keyboards/{montex/montex.h => idobao/montex/v1/v1.h} | 0 9 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/{montex => idobao/montex/v1}/config.h (100%) rename keyboards/{montex => idobao/montex/v1}/info.json (100%) rename keyboards/{montex => idobao/montex/v1}/keymaps/default/keymap.c (100%) rename keyboards/{montex => idobao/montex/v1}/keymaps/via/keymap.c (100%) rename keyboards/{montex => idobao/montex/v1}/keymaps/via/rules.mk (100%) rename keyboards/{montex => idobao/montex/v1}/readme.md (97%) rename keyboards/{montex => idobao/montex/v1}/rules.mk (100%) rename keyboards/{montex/montex.c => idobao/montex/v1/v1.c} (97%) rename keyboards/{montex/montex.h => idobao/montex/v1/v1.h} (100%) diff --git a/keyboards/montex/config.h b/keyboards/idobao/montex/v1/config.h similarity index 100% rename from keyboards/montex/config.h rename to keyboards/idobao/montex/v1/config.h diff --git a/keyboards/montex/info.json b/keyboards/idobao/montex/v1/info.json similarity index 100% rename from keyboards/montex/info.json rename to keyboards/idobao/montex/v1/info.json diff --git a/keyboards/montex/keymaps/default/keymap.c b/keyboards/idobao/montex/v1/keymaps/default/keymap.c similarity index 100% rename from keyboards/montex/keymaps/default/keymap.c rename to keyboards/idobao/montex/v1/keymaps/default/keymap.c diff --git a/keyboards/montex/keymaps/via/keymap.c b/keyboards/idobao/montex/v1/keymaps/via/keymap.c similarity index 100% rename from keyboards/montex/keymaps/via/keymap.c rename to keyboards/idobao/montex/v1/keymaps/via/keymap.c diff --git a/keyboards/montex/keymaps/via/rules.mk b/keyboards/idobao/montex/v1/keymaps/via/rules.mk similarity index 100% rename from keyboards/montex/keymaps/via/rules.mk rename to keyboards/idobao/montex/v1/keymaps/via/rules.mk diff --git a/keyboards/montex/readme.md b/keyboards/idobao/montex/v1/readme.md similarity index 97% rename from keyboards/montex/readme.md rename to keyboards/idobao/montex/v1/readme.md index 8c4a7226ce52..e9d84fa674b2 100644 --- a/keyboards/montex/readme.md +++ b/keyboards/idobao/montex/v1/readme.md @@ -16,6 +16,6 @@ Then press the button labeled SW2 located between the 2 upper LEDs. Make example for this keyboard (after setting up your build environment): - make montex:default + make idobao/montex/v1:default 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/montex/rules.mk b/keyboards/idobao/montex/v1/rules.mk similarity index 100% rename from keyboards/montex/rules.mk rename to keyboards/idobao/montex/v1/rules.mk diff --git a/keyboards/montex/montex.c b/keyboards/idobao/montex/v1/v1.c similarity index 97% rename from keyboards/montex/montex.c rename to keyboards/idobao/montex/v1/v1.c index 4d3ecb186016..e927383097ad 100644 --- a/keyboards/montex/montex.c +++ b/keyboards/idobao/montex/v1/v1.c @@ -14,4 +14,4 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "montex.h" +#include "v1.h" diff --git a/keyboards/montex/montex.h b/keyboards/idobao/montex/v1/v1.h similarity index 100% rename from keyboards/montex/montex.h rename to keyboards/idobao/montex/v1/v1.h From 17c0ca6fa4f7b6f65b4442c2f5bc32fee914b376 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sat, 12 Feb 2022 11:54:48 +0800 Subject: [PATCH 0211/1832] [Keyboard] move g heavy industry boards into /gboards (#16040) Co-authored-by: zvecr --- keyboards/{ => gboards}/butterstick/butterstick.c | 0 keyboards/{ => gboards}/butterstick/butterstick.h | 0 keyboards/{ => gboards}/butterstick/config.h | 0 keyboards/{ => gboards}/butterstick/info.json | 0 .../{ => gboards}/butterstick/keymaps/default/keymap.c | 0 .../{ => gboards}/butterstick/keymaps/dennytom/README.md | 0 .../{ => gboards}/butterstick/keymaps/dennytom/keymap.c | 0 .../butterstick/keymaps/dennytom/keymap_def.json | 0 .../{ => gboards}/butterstick/keymaps/dennytom/rules.mk | 0 keyboards/{ => gboards}/butterstick/readme.md | 2 +- keyboards/{ => gboards}/butterstick/rules.mk | 0 keyboards/{ => gboards}/butterstick/sten.c | 0 keyboards/{ => gboards}/butterstick/sten.h | 0 keyboards/{ => gboards}/ergotaco/config.h | 0 keyboards/{ => gboards}/ergotaco/ergotaco.c | 0 keyboards/{ => gboards}/ergotaco/ergotaco.h | 0 keyboards/{ => gboards}/ergotaco/info.json | 0 keyboards/{ => gboards}/ergotaco/keymaps/default/keymap.c | 0 keyboards/{ => gboards}/ergotaco/keymaps/default/readme.md | 2 +- keyboards/{ => gboards}/ergotaco/keymaps/default/rules.mk | 0 keyboards/{ => gboards}/ergotaco/matrix.c | 0 keyboards/{ => gboards}/ergotaco/post_rules.mk | 0 keyboards/{ => gboards}/ergotaco/readme.md | 4 ++-- keyboards/{ => gboards}/ergotaco/rules.mk | 0 keyboards/{ => gboards}/georgi/config.h | 0 keyboards/{ => gboards}/georgi/georgi.c | 0 keyboards/{ => gboards}/georgi/georgi.h | 0 keyboards/{ => gboards}/georgi/info.json | 0 keyboards/{ => gboards}/georgi/keymaps/colemak-dh/keymap.c | 0 keyboards/{ => gboards}/georgi/keymaps/colemak-dh/readme.md | 0 keyboards/{ => gboards}/georgi/keymaps/colemak-dh/rules.mk | 0 .../{ => gboards}/georgi/keymaps/default-flipped/keymap.c | 0 .../{ => gboards}/georgi/keymaps/default-flipped/readme.md | 0 .../{ => gboards}/georgi/keymaps/default-flipped/rules.mk | 0 keyboards/{ => gboards}/georgi/keymaps/default/keymap.c | 0 keyboards/{ => gboards}/georgi/keymaps/default/readme.md | 0 keyboards/{ => gboards}/georgi/keymaps/default/rules.mk | 0 keyboards/{ => gboards}/georgi/keymaps/dennytom/README.md | 0 keyboards/{ => gboards}/georgi/keymaps/dennytom/keymap.c | 0 .../{ => gboards}/georgi/keymaps/dennytom/keymap_def.json | 0 keyboards/{ => gboards}/georgi/keymaps/dennytom/rules.mk | 0 keyboards/{ => gboards}/georgi/keymaps/minimal/keymap.c | 0 keyboards/{ => gboards}/georgi/keymaps/minimal/readme.md | 0 keyboards/{ => gboards}/georgi/keymaps/minimal/rules.mk | 0 keyboards/{ => gboards}/georgi/keymaps/norman/keymap.c | 0 keyboards/{ => gboards}/georgi/keymaps/norman/readme.md | 0 keyboards/{ => gboards}/georgi/keymaps/norman/rules.mk | 0 keyboards/{ => gboards}/georgi/matrix.c | 0 keyboards/{ => gboards}/georgi/readme.md | 6 +++--- keyboards/{ => gboards}/georgi/rules.mk | 0 keyboards/{ => gboards}/georgi/sten.c | 0 keyboards/{ => gboards}/georgi/sten.h | 0 keyboards/{ => gboards}/gergo/config.h | 0 keyboards/{ => gboards}/gergo/gergo.c | 0 keyboards/{ => gboards}/gergo/gergo.h | 0 keyboards/{ => gboards}/gergo/info.json | 0 keyboards/{ => gboards}/gergo/keymaps/abstractkb/config.h | 0 keyboards/{ => gboards}/gergo/keymaps/abstractkb/keymap.c | 0 keyboards/{ => gboards}/gergo/keymaps/abstractkb/readme.md | 2 +- keyboards/{ => gboards}/gergo/keymaps/abstractkb/rules.mk | 0 keyboards/{ => gboards}/gergo/keymaps/colemak/keymap.c | 0 keyboards/{ => gboards}/gergo/keymaps/colemak/readme.md | 2 +- keyboards/{ => gboards}/gergo/keymaps/colemak/rules.mk | 0 keyboards/{ => gboards}/gergo/keymaps/default/config.h | 0 keyboards/{ => gboards}/gergo/keymaps/default/keymap.c | 0 keyboards/{ => gboards}/gergo/keymaps/default/readme.md | 2 +- keyboards/{ => gboards}/gergo/keymaps/default/rules.mk | 0 keyboards/{ => gboards}/gergo/keymaps/drashna/keymap.c | 0 keyboards/{ => gboards}/gergo/keymaps/drashna/rules.mk | 0 keyboards/{ => gboards}/gergo/keymaps/germ/config.h | 0 keyboards/{ => gboards}/gergo/keymaps/germ/keymap.c | 0 keyboards/{ => gboards}/gergo/keymaps/germ/readme.md | 2 +- keyboards/{ => gboards}/gergo/keymaps/germ/rules.mk | 0 keyboards/{ => gboards}/gergo/keymaps/gotham/config.h | 0 keyboards/{ => gboards}/gergo/keymaps/gotham/keymap.c | 0 keyboards/{ => gboards}/gergo/keymaps/gotham/readme.md | 0 keyboards/{ => gboards}/gergo/keymaps/gotham/rules.mk | 0 .../gergo/keymaps/manna-harbour_miryoku/config.h | 0 .../gergo/keymaps/manna-harbour_miryoku/keymap.c | 0 keyboards/gboards/gergo/keymaps/oled/config.h | 4 ++++ keyboards/{ => gboards}/gergo/keymaps/oled/glcdfont.c | 0 keyboards/{ => gboards}/gergo/keymaps/oled/keymap.c | 0 keyboards/{ => gboards}/gergo/keymaps/oled/readme.md | 2 +- keyboards/{ => gboards}/gergo/keymaps/oled/rules.mk | 0 keyboards/{ => gboards}/gergo/matrix.c | 0 keyboards/{ => gboards}/gergo/readme.md | 6 +++--- keyboards/{ => gboards}/gergo/rules.mk | 0 keyboards/gboards/readme.md | 6 +++--- keyboards/gergo/keymaps/oled/config.h | 4 ---- 89 files changed, 22 insertions(+), 22 deletions(-) rename keyboards/{ => gboards}/butterstick/butterstick.c (100%) rename keyboards/{ => gboards}/butterstick/butterstick.h (100%) rename keyboards/{ => gboards}/butterstick/config.h (100%) rename keyboards/{ => gboards}/butterstick/info.json (100%) rename keyboards/{ => gboards}/butterstick/keymaps/default/keymap.c (100%) rename keyboards/{ => gboards}/butterstick/keymaps/dennytom/README.md (100%) rename keyboards/{ => gboards}/butterstick/keymaps/dennytom/keymap.c (100%) rename keyboards/{ => gboards}/butterstick/keymaps/dennytom/keymap_def.json (100%) rename keyboards/{ => gboards}/butterstick/keymaps/dennytom/rules.mk (100%) rename keyboards/{ => gboards}/butterstick/readme.md (95%) rename keyboards/{ => gboards}/butterstick/rules.mk (100%) rename keyboards/{ => gboards}/butterstick/sten.c (100%) rename keyboards/{ => gboards}/butterstick/sten.h (100%) rename keyboards/{ => gboards}/ergotaco/config.h (100%) rename keyboards/{ => gboards}/ergotaco/ergotaco.c (100%) rename keyboards/{ => gboards}/ergotaco/ergotaco.h (100%) rename keyboards/{ => gboards}/ergotaco/info.json (100%) rename keyboards/{ => gboards}/ergotaco/keymaps/default/keymap.c (100%) rename keyboards/{ => gboards}/ergotaco/keymaps/default/readme.md (79%) rename keyboards/{ => gboards}/ergotaco/keymaps/default/rules.mk (100%) rename keyboards/{ => gboards}/ergotaco/matrix.c (100%) rename keyboards/{ => gboards}/ergotaco/post_rules.mk (100%) rename keyboards/{ => gboards}/ergotaco/readme.md (91%) rename keyboards/{ => gboards}/ergotaco/rules.mk (100%) rename keyboards/{ => gboards}/georgi/config.h (100%) rename keyboards/{ => gboards}/georgi/georgi.c (100%) rename keyboards/{ => gboards}/georgi/georgi.h (100%) rename keyboards/{ => gboards}/georgi/info.json (100%) rename keyboards/{ => gboards}/georgi/keymaps/colemak-dh/keymap.c (100%) rename keyboards/{ => gboards}/georgi/keymaps/colemak-dh/readme.md (100%) rename keyboards/{ => gboards}/georgi/keymaps/colemak-dh/rules.mk (100%) rename keyboards/{ => gboards}/georgi/keymaps/default-flipped/keymap.c (100%) rename keyboards/{ => gboards}/georgi/keymaps/default-flipped/readme.md (100%) rename keyboards/{ => gboards}/georgi/keymaps/default-flipped/rules.mk (100%) rename keyboards/{ => gboards}/georgi/keymaps/default/keymap.c (100%) rename keyboards/{ => gboards}/georgi/keymaps/default/readme.md (100%) rename keyboards/{ => gboards}/georgi/keymaps/default/rules.mk (100%) rename keyboards/{ => gboards}/georgi/keymaps/dennytom/README.md (100%) rename keyboards/{ => gboards}/georgi/keymaps/dennytom/keymap.c (100%) rename keyboards/{ => gboards}/georgi/keymaps/dennytom/keymap_def.json (100%) rename keyboards/{ => gboards}/georgi/keymaps/dennytom/rules.mk (100%) rename keyboards/{ => gboards}/georgi/keymaps/minimal/keymap.c (100%) rename keyboards/{ => gboards}/georgi/keymaps/minimal/readme.md (100%) rename keyboards/{ => gboards}/georgi/keymaps/minimal/rules.mk (100%) rename keyboards/{ => gboards}/georgi/keymaps/norman/keymap.c (100%) rename keyboards/{ => gboards}/georgi/keymaps/norman/readme.md (100%) rename keyboards/{ => gboards}/georgi/keymaps/norman/rules.mk (100%) rename keyboards/{ => gboards}/georgi/matrix.c (100%) rename keyboards/{ => gboards}/georgi/readme.md (80%) rename keyboards/{ => gboards}/georgi/rules.mk (100%) rename keyboards/{ => gboards}/georgi/sten.c (100%) rename keyboards/{ => gboards}/georgi/sten.h (100%) rename keyboards/{ => gboards}/gergo/config.h (100%) rename keyboards/{ => gboards}/gergo/gergo.c (100%) rename keyboards/{ => gboards}/gergo/gergo.h (100%) rename keyboards/{ => gboards}/gergo/info.json (100%) rename keyboards/{ => gboards}/gergo/keymaps/abstractkb/config.h (100%) rename keyboards/{ => gboards}/gergo/keymaps/abstractkb/keymap.c (100%) rename keyboards/{ => gboards}/gergo/keymaps/abstractkb/readme.md (88%) rename keyboards/{ => gboards}/gergo/keymaps/abstractkb/rules.mk (100%) rename keyboards/{ => gboards}/gergo/keymaps/colemak/keymap.c (100%) rename keyboards/{ => gboards}/gergo/keymaps/colemak/readme.md (92%) rename keyboards/{ => gboards}/gergo/keymaps/colemak/rules.mk (100%) rename keyboards/{ => gboards}/gergo/keymaps/default/config.h (100%) rename keyboards/{ => gboards}/gergo/keymaps/default/keymap.c (100%) rename keyboards/{ => gboards}/gergo/keymaps/default/readme.md (90%) rename keyboards/{ => gboards}/gergo/keymaps/default/rules.mk (100%) rename keyboards/{ => gboards}/gergo/keymaps/drashna/keymap.c (100%) rename keyboards/{ => gboards}/gergo/keymaps/drashna/rules.mk (100%) rename keyboards/{ => gboards}/gergo/keymaps/germ/config.h (100%) rename keyboards/{ => gboards}/gergo/keymaps/germ/keymap.c (100%) rename keyboards/{ => gboards}/gergo/keymaps/germ/readme.md (90%) rename keyboards/{ => gboards}/gergo/keymaps/germ/rules.mk (100%) rename keyboards/{ => gboards}/gergo/keymaps/gotham/config.h (100%) rename keyboards/{ => gboards}/gergo/keymaps/gotham/keymap.c (100%) rename keyboards/{ => gboards}/gergo/keymaps/gotham/readme.md (100%) rename keyboards/{ => gboards}/gergo/keymaps/gotham/rules.mk (100%) rename keyboards/{ => gboards}/gergo/keymaps/manna-harbour_miryoku/config.h (100%) rename keyboards/{ => gboards}/gergo/keymaps/manna-harbour_miryoku/keymap.c (100%) create mode 100644 keyboards/gboards/gergo/keymaps/oled/config.h rename keyboards/{ => gboards}/gergo/keymaps/oled/glcdfont.c (100%) rename keyboards/{ => gboards}/gergo/keymaps/oled/keymap.c (100%) rename keyboards/{ => gboards}/gergo/keymaps/oled/readme.md (90%) rename keyboards/{ => gboards}/gergo/keymaps/oled/rules.mk (100%) rename keyboards/{ => gboards}/gergo/matrix.c (100%) rename keyboards/{ => gboards}/gergo/readme.md (77%) rename keyboards/{ => gboards}/gergo/rules.mk (100%) delete mode 100644 keyboards/gergo/keymaps/oled/config.h diff --git a/keyboards/butterstick/butterstick.c b/keyboards/gboards/butterstick/butterstick.c similarity index 100% rename from keyboards/butterstick/butterstick.c rename to keyboards/gboards/butterstick/butterstick.c diff --git a/keyboards/butterstick/butterstick.h b/keyboards/gboards/butterstick/butterstick.h similarity index 100% rename from keyboards/butterstick/butterstick.h rename to keyboards/gboards/butterstick/butterstick.h diff --git a/keyboards/butterstick/config.h b/keyboards/gboards/butterstick/config.h similarity index 100% rename from keyboards/butterstick/config.h rename to keyboards/gboards/butterstick/config.h diff --git a/keyboards/butterstick/info.json b/keyboards/gboards/butterstick/info.json similarity index 100% rename from keyboards/butterstick/info.json rename to keyboards/gboards/butterstick/info.json diff --git a/keyboards/butterstick/keymaps/default/keymap.c b/keyboards/gboards/butterstick/keymaps/default/keymap.c similarity index 100% rename from keyboards/butterstick/keymaps/default/keymap.c rename to keyboards/gboards/butterstick/keymaps/default/keymap.c diff --git a/keyboards/butterstick/keymaps/dennytom/README.md b/keyboards/gboards/butterstick/keymaps/dennytom/README.md similarity index 100% rename from keyboards/butterstick/keymaps/dennytom/README.md rename to keyboards/gboards/butterstick/keymaps/dennytom/README.md diff --git a/keyboards/butterstick/keymaps/dennytom/keymap.c b/keyboards/gboards/butterstick/keymaps/dennytom/keymap.c similarity index 100% rename from keyboards/butterstick/keymaps/dennytom/keymap.c rename to keyboards/gboards/butterstick/keymaps/dennytom/keymap.c diff --git a/keyboards/butterstick/keymaps/dennytom/keymap_def.json b/keyboards/gboards/butterstick/keymaps/dennytom/keymap_def.json similarity index 100% rename from keyboards/butterstick/keymaps/dennytom/keymap_def.json rename to keyboards/gboards/butterstick/keymaps/dennytom/keymap_def.json diff --git a/keyboards/butterstick/keymaps/dennytom/rules.mk b/keyboards/gboards/butterstick/keymaps/dennytom/rules.mk similarity index 100% rename from keyboards/butterstick/keymaps/dennytom/rules.mk rename to keyboards/gboards/butterstick/keymaps/dennytom/rules.mk diff --git a/keyboards/butterstick/readme.md b/keyboards/gboards/butterstick/readme.md similarity index 95% rename from keyboards/butterstick/readme.md rename to keyboards/gboards/butterstick/readme.md index 8bae8ba5a05f..37e9375d8859 100644 --- a/keyboards/butterstick/readme.md +++ b/keyboards/gboards/butterstick/readme.md @@ -9,6 +9,6 @@ Hardware Availability: [g Heavy Industries](https://www.gboards.ca/product/butte Make example for this keyboard (after setting up your build environment): - make butterstick:default + make gboards/butterstick:default 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/butterstick/rules.mk b/keyboards/gboards/butterstick/rules.mk similarity index 100% rename from keyboards/butterstick/rules.mk rename to keyboards/gboards/butterstick/rules.mk diff --git a/keyboards/butterstick/sten.c b/keyboards/gboards/butterstick/sten.c similarity index 100% rename from keyboards/butterstick/sten.c rename to keyboards/gboards/butterstick/sten.c diff --git a/keyboards/butterstick/sten.h b/keyboards/gboards/butterstick/sten.h similarity index 100% rename from keyboards/butterstick/sten.h rename to keyboards/gboards/butterstick/sten.h diff --git a/keyboards/ergotaco/config.h b/keyboards/gboards/ergotaco/config.h similarity index 100% rename from keyboards/ergotaco/config.h rename to keyboards/gboards/ergotaco/config.h diff --git a/keyboards/ergotaco/ergotaco.c b/keyboards/gboards/ergotaco/ergotaco.c similarity index 100% rename from keyboards/ergotaco/ergotaco.c rename to keyboards/gboards/ergotaco/ergotaco.c diff --git a/keyboards/ergotaco/ergotaco.h b/keyboards/gboards/ergotaco/ergotaco.h similarity index 100% rename from keyboards/ergotaco/ergotaco.h rename to keyboards/gboards/ergotaco/ergotaco.h diff --git a/keyboards/ergotaco/info.json b/keyboards/gboards/ergotaco/info.json similarity index 100% rename from keyboards/ergotaco/info.json rename to keyboards/gboards/ergotaco/info.json diff --git a/keyboards/ergotaco/keymaps/default/keymap.c b/keyboards/gboards/ergotaco/keymaps/default/keymap.c similarity index 100% rename from keyboards/ergotaco/keymaps/default/keymap.c rename to keyboards/gboards/ergotaco/keymaps/default/keymap.c diff --git a/keyboards/ergotaco/keymaps/default/readme.md b/keyboards/gboards/ergotaco/keymaps/default/readme.md similarity index 79% rename from keyboards/ergotaco/keymaps/default/readme.md rename to keyboards/gboards/ergotaco/keymaps/default/readme.md index 653f3774eaa9..d9c7c1601f51 100644 --- a/keyboards/ergotaco/keymaps/default/readme.md +++ b/keyboards/gboards/ergotaco/keymaps/default/readme.md @@ -1,6 +1,6 @@ This is the default keymap for the ErgoTaco, Make it your own! ## Settings -To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/ergotaco/keymaps/default/rules.mk +To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gboards/ergotaco/keymaps/default/rules.mk Ideally you should copy this directory and make your changes there. If you come up with a good layout submit a PR! diff --git a/keyboards/ergotaco/keymaps/default/rules.mk b/keyboards/gboards/ergotaco/keymaps/default/rules.mk similarity index 100% rename from keyboards/ergotaco/keymaps/default/rules.mk rename to keyboards/gboards/ergotaco/keymaps/default/rules.mk diff --git a/keyboards/ergotaco/matrix.c b/keyboards/gboards/ergotaco/matrix.c similarity index 100% rename from keyboards/ergotaco/matrix.c rename to keyboards/gboards/ergotaco/matrix.c diff --git a/keyboards/ergotaco/post_rules.mk b/keyboards/gboards/ergotaco/post_rules.mk similarity index 100% rename from keyboards/ergotaco/post_rules.mk rename to keyboards/gboards/ergotaco/post_rules.mk diff --git a/keyboards/ergotaco/readme.md b/keyboards/gboards/ergotaco/readme.md similarity index 91% rename from keyboards/ergotaco/readme.md rename to keyboards/gboards/ergotaco/readme.md index 40077e2a8dca..dc9db3bb64ed 100644 --- a/keyboards/ergotaco/readme.md +++ b/keyboards/gboards/ergotaco/readme.md @@ -11,13 +11,13 @@ Hardware Availability: [gboards.ca](http://gboards.ca) ## Firmware building Clone the QMK Repo and install dfu-programmer, flash with: - make ergotaco:default:dfu + make gboards/ergotaco:default:dfu And reset your keyboard! To just test if your build system is sane, try compiling the default keymap using: - make ergotaco:default + make gboards/ergotaco:default 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/ergotaco/rules.mk b/keyboards/gboards/ergotaco/rules.mk similarity index 100% rename from keyboards/ergotaco/rules.mk rename to keyboards/gboards/ergotaco/rules.mk diff --git a/keyboards/georgi/config.h b/keyboards/gboards/georgi/config.h similarity index 100% rename from keyboards/georgi/config.h rename to keyboards/gboards/georgi/config.h diff --git a/keyboards/georgi/georgi.c b/keyboards/gboards/georgi/georgi.c similarity index 100% rename from keyboards/georgi/georgi.c rename to keyboards/gboards/georgi/georgi.c diff --git a/keyboards/georgi/georgi.h b/keyboards/gboards/georgi/georgi.h similarity index 100% rename from keyboards/georgi/georgi.h rename to keyboards/gboards/georgi/georgi.h diff --git a/keyboards/georgi/info.json b/keyboards/gboards/georgi/info.json similarity index 100% rename from keyboards/georgi/info.json rename to keyboards/gboards/georgi/info.json diff --git a/keyboards/georgi/keymaps/colemak-dh/keymap.c b/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c similarity index 100% rename from keyboards/georgi/keymaps/colemak-dh/keymap.c rename to keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c diff --git a/keyboards/georgi/keymaps/colemak-dh/readme.md b/keyboards/gboards/georgi/keymaps/colemak-dh/readme.md similarity index 100% rename from keyboards/georgi/keymaps/colemak-dh/readme.md rename to keyboards/gboards/georgi/keymaps/colemak-dh/readme.md diff --git a/keyboards/georgi/keymaps/colemak-dh/rules.mk b/keyboards/gboards/georgi/keymaps/colemak-dh/rules.mk similarity index 100% rename from keyboards/georgi/keymaps/colemak-dh/rules.mk rename to keyboards/gboards/georgi/keymaps/colemak-dh/rules.mk diff --git a/keyboards/georgi/keymaps/default-flipped/keymap.c b/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c similarity index 100% rename from keyboards/georgi/keymaps/default-flipped/keymap.c rename to keyboards/gboards/georgi/keymaps/default-flipped/keymap.c diff --git a/keyboards/georgi/keymaps/default-flipped/readme.md b/keyboards/gboards/georgi/keymaps/default-flipped/readme.md similarity index 100% rename from keyboards/georgi/keymaps/default-flipped/readme.md rename to keyboards/gboards/georgi/keymaps/default-flipped/readme.md diff --git a/keyboards/georgi/keymaps/default-flipped/rules.mk b/keyboards/gboards/georgi/keymaps/default-flipped/rules.mk similarity index 100% rename from keyboards/georgi/keymaps/default-flipped/rules.mk rename to keyboards/gboards/georgi/keymaps/default-flipped/rules.mk diff --git a/keyboards/georgi/keymaps/default/keymap.c b/keyboards/gboards/georgi/keymaps/default/keymap.c similarity index 100% rename from keyboards/georgi/keymaps/default/keymap.c rename to keyboards/gboards/georgi/keymaps/default/keymap.c diff --git a/keyboards/georgi/keymaps/default/readme.md b/keyboards/gboards/georgi/keymaps/default/readme.md similarity index 100% rename from keyboards/georgi/keymaps/default/readme.md rename to keyboards/gboards/georgi/keymaps/default/readme.md diff --git a/keyboards/georgi/keymaps/default/rules.mk b/keyboards/gboards/georgi/keymaps/default/rules.mk similarity index 100% rename from keyboards/georgi/keymaps/default/rules.mk rename to keyboards/gboards/georgi/keymaps/default/rules.mk diff --git a/keyboards/georgi/keymaps/dennytom/README.md b/keyboards/gboards/georgi/keymaps/dennytom/README.md similarity index 100% rename from keyboards/georgi/keymaps/dennytom/README.md rename to keyboards/gboards/georgi/keymaps/dennytom/README.md diff --git a/keyboards/georgi/keymaps/dennytom/keymap.c b/keyboards/gboards/georgi/keymaps/dennytom/keymap.c similarity index 100% rename from keyboards/georgi/keymaps/dennytom/keymap.c rename to keyboards/gboards/georgi/keymaps/dennytom/keymap.c diff --git a/keyboards/georgi/keymaps/dennytom/keymap_def.json b/keyboards/gboards/georgi/keymaps/dennytom/keymap_def.json similarity index 100% rename from keyboards/georgi/keymaps/dennytom/keymap_def.json rename to keyboards/gboards/georgi/keymaps/dennytom/keymap_def.json diff --git a/keyboards/georgi/keymaps/dennytom/rules.mk b/keyboards/gboards/georgi/keymaps/dennytom/rules.mk similarity index 100% rename from keyboards/georgi/keymaps/dennytom/rules.mk rename to keyboards/gboards/georgi/keymaps/dennytom/rules.mk diff --git a/keyboards/georgi/keymaps/minimal/keymap.c b/keyboards/gboards/georgi/keymaps/minimal/keymap.c similarity index 100% rename from keyboards/georgi/keymaps/minimal/keymap.c rename to keyboards/gboards/georgi/keymaps/minimal/keymap.c diff --git a/keyboards/georgi/keymaps/minimal/readme.md b/keyboards/gboards/georgi/keymaps/minimal/readme.md similarity index 100% rename from keyboards/georgi/keymaps/minimal/readme.md rename to keyboards/gboards/georgi/keymaps/minimal/readme.md diff --git a/keyboards/georgi/keymaps/minimal/rules.mk b/keyboards/gboards/georgi/keymaps/minimal/rules.mk similarity index 100% rename from keyboards/georgi/keymaps/minimal/rules.mk rename to keyboards/gboards/georgi/keymaps/minimal/rules.mk diff --git a/keyboards/georgi/keymaps/norman/keymap.c b/keyboards/gboards/georgi/keymaps/norman/keymap.c similarity index 100% rename from keyboards/georgi/keymaps/norman/keymap.c rename to keyboards/gboards/georgi/keymaps/norman/keymap.c diff --git a/keyboards/georgi/keymaps/norman/readme.md b/keyboards/gboards/georgi/keymaps/norman/readme.md similarity index 100% rename from keyboards/georgi/keymaps/norman/readme.md rename to keyboards/gboards/georgi/keymaps/norman/readme.md diff --git a/keyboards/georgi/keymaps/norman/rules.mk b/keyboards/gboards/georgi/keymaps/norman/rules.mk similarity index 100% rename from keyboards/georgi/keymaps/norman/rules.mk rename to keyboards/gboards/georgi/keymaps/norman/rules.mk diff --git a/keyboards/georgi/matrix.c b/keyboards/gboards/georgi/matrix.c similarity index 100% rename from keyboards/georgi/matrix.c rename to keyboards/gboards/georgi/matrix.c diff --git a/keyboards/georgi/readme.md b/keyboards/gboards/georgi/readme.md similarity index 80% rename from keyboards/georgi/readme.md rename to keyboards/gboards/georgi/readme.md index 247219b9345c..2ba259ab7eee 100644 --- a/keyboards/georgi/readme.md +++ b/keyboards/gboards/georgi/readme.md @@ -13,13 +13,13 @@ Hardware Availability: [gboards.ca](http://gboards.ca) ## Firmware building After cloning the QMK repo and installing dfu-programmer build and flash with. Be sure to reset your keyboard! - make georgi:default:dfu + make gboards/georgi:default:dfu To just test your build with the default keymap - make georgi:default + make gboards/georgi:default -Build options can be enabled/disabled in keyboards/georgi/keymaps/default/rules.mk . Copy the default directory and make any changes to your layout, if you think they're worth sharing submit a PR! +Build options can be enabled/disabled in keyboards/gboards/georgi/keymaps/default/rules.mk . Copy the default directory and make any changes to your layout, if you think they're worth sharing submit a PR! ## Documentation Is hosted over on [docs.gboards.ca](http://docs.gboards.ca/). Please take a look at the docs for customizing your firmware! diff --git a/keyboards/georgi/rules.mk b/keyboards/gboards/georgi/rules.mk similarity index 100% rename from keyboards/georgi/rules.mk rename to keyboards/gboards/georgi/rules.mk diff --git a/keyboards/georgi/sten.c b/keyboards/gboards/georgi/sten.c similarity index 100% rename from keyboards/georgi/sten.c rename to keyboards/gboards/georgi/sten.c diff --git a/keyboards/georgi/sten.h b/keyboards/gboards/georgi/sten.h similarity index 100% rename from keyboards/georgi/sten.h rename to keyboards/gboards/georgi/sten.h diff --git a/keyboards/gergo/config.h b/keyboards/gboards/gergo/config.h similarity index 100% rename from keyboards/gergo/config.h rename to keyboards/gboards/gergo/config.h diff --git a/keyboards/gergo/gergo.c b/keyboards/gboards/gergo/gergo.c similarity index 100% rename from keyboards/gergo/gergo.c rename to keyboards/gboards/gergo/gergo.c diff --git a/keyboards/gergo/gergo.h b/keyboards/gboards/gergo/gergo.h similarity index 100% rename from keyboards/gergo/gergo.h rename to keyboards/gboards/gergo/gergo.h diff --git a/keyboards/gergo/info.json b/keyboards/gboards/gergo/info.json similarity index 100% rename from keyboards/gergo/info.json rename to keyboards/gboards/gergo/info.json diff --git a/keyboards/gergo/keymaps/abstractkb/config.h b/keyboards/gboards/gergo/keymaps/abstractkb/config.h similarity index 100% rename from keyboards/gergo/keymaps/abstractkb/config.h rename to keyboards/gboards/gergo/keymaps/abstractkb/config.h diff --git a/keyboards/gergo/keymaps/abstractkb/keymap.c b/keyboards/gboards/gergo/keymaps/abstractkb/keymap.c similarity index 100% rename from keyboards/gergo/keymaps/abstractkb/keymap.c rename to keyboards/gboards/gergo/keymaps/abstractkb/keymap.c diff --git a/keyboards/gergo/keymaps/abstractkb/readme.md b/keyboards/gboards/gergo/keymaps/abstractkb/readme.md similarity index 88% rename from keyboards/gergo/keymaps/abstractkb/readme.md rename to keyboards/gboards/gergo/keymaps/abstractkb/readme.md index 0b07136e89a2..863b21e8e23c 100644 --- a/keyboards/gergo/keymaps/abstractkb/readme.md +++ b/keyboards/gboards/gergo/keymaps/abstractkb/readme.md @@ -5,6 +5,6 @@ This is my personal modification to the stock gergo keymap. ## Settings -To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gergo/keymaps/default/rules.mk +To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gboards/gergo/keymaps/default/rules.mk Ideally you should copy this directory and make your changes there. If you come up with a good layout submit a PR! diff --git a/keyboards/gergo/keymaps/abstractkb/rules.mk b/keyboards/gboards/gergo/keymaps/abstractkb/rules.mk similarity index 100% rename from keyboards/gergo/keymaps/abstractkb/rules.mk rename to keyboards/gboards/gergo/keymaps/abstractkb/rules.mk diff --git a/keyboards/gergo/keymaps/colemak/keymap.c b/keyboards/gboards/gergo/keymaps/colemak/keymap.c similarity index 100% rename from keyboards/gergo/keymaps/colemak/keymap.c rename to keyboards/gboards/gergo/keymaps/colemak/keymap.c diff --git a/keyboards/gergo/keymaps/colemak/readme.md b/keyboards/gboards/gergo/keymaps/colemak/readme.md similarity index 92% rename from keyboards/gergo/keymaps/colemak/readme.md rename to keyboards/gboards/gergo/keymaps/colemak/readme.md index 1c1cc7bdea23..5cfe3b83065f 100644 --- a/keyboards/gergo/keymaps/colemak/readme.md +++ b/keyboards/gboards/gergo/keymaps/colemak/readme.md @@ -11,6 +11,6 @@ You can view this layout over at [keyboad-layout-editor.com](http://www.keyboard-layout-editor.com/#/gists/f04d6a3b0cd3db91407c51f7ba36aeb3). ## Settings -To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gergo/keymaps/default/rules.mk +To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gboards/gergo/keymaps/default/rules.mk Ideally you should copy this directory and make your changes there. If you come up with a good layout submit a PR! diff --git a/keyboards/gergo/keymaps/colemak/rules.mk b/keyboards/gboards/gergo/keymaps/colemak/rules.mk similarity index 100% rename from keyboards/gergo/keymaps/colemak/rules.mk rename to keyboards/gboards/gergo/keymaps/colemak/rules.mk diff --git a/keyboards/gergo/keymaps/default/config.h b/keyboards/gboards/gergo/keymaps/default/config.h similarity index 100% rename from keyboards/gergo/keymaps/default/config.h rename to keyboards/gboards/gergo/keymaps/default/config.h diff --git a/keyboards/gergo/keymaps/default/keymap.c b/keyboards/gboards/gergo/keymaps/default/keymap.c similarity index 100% rename from keyboards/gergo/keymaps/default/keymap.c rename to keyboards/gboards/gergo/keymaps/default/keymap.c diff --git a/keyboards/gergo/keymaps/default/readme.md b/keyboards/gboards/gergo/keymaps/default/readme.md similarity index 90% rename from keyboards/gergo/keymaps/default/readme.md rename to keyboards/gboards/gergo/keymaps/default/readme.md index 471a20fbdff2..8e49b2f5b06a 100644 --- a/keyboards/gergo/keymaps/default/readme.md +++ b/keyboards/gboards/gergo/keymaps/default/readme.md @@ -5,6 +5,6 @@ This is the default keymap for Gergo, it's based heavily off of the naps62 ErgoDox layout and is aimed at a programmer friendly keymap. ## Settings -To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gergo/keymaps/default/rules.mk +To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gboards/gergo/keymaps/default/rules.mk Ideally you should copy this directory and make your changes there. If you come up with a good layout submit a PR! diff --git a/keyboards/gergo/keymaps/default/rules.mk b/keyboards/gboards/gergo/keymaps/default/rules.mk similarity index 100% rename from keyboards/gergo/keymaps/default/rules.mk rename to keyboards/gboards/gergo/keymaps/default/rules.mk diff --git a/keyboards/gergo/keymaps/drashna/keymap.c b/keyboards/gboards/gergo/keymaps/drashna/keymap.c similarity index 100% rename from keyboards/gergo/keymaps/drashna/keymap.c rename to keyboards/gboards/gergo/keymaps/drashna/keymap.c diff --git a/keyboards/gergo/keymaps/drashna/rules.mk b/keyboards/gboards/gergo/keymaps/drashna/rules.mk similarity index 100% rename from keyboards/gergo/keymaps/drashna/rules.mk rename to keyboards/gboards/gergo/keymaps/drashna/rules.mk diff --git a/keyboards/gergo/keymaps/germ/config.h b/keyboards/gboards/gergo/keymaps/germ/config.h similarity index 100% rename from keyboards/gergo/keymaps/germ/config.h rename to keyboards/gboards/gergo/keymaps/germ/config.h diff --git a/keyboards/gergo/keymaps/germ/keymap.c b/keyboards/gboards/gergo/keymaps/germ/keymap.c similarity index 100% rename from keyboards/gergo/keymaps/germ/keymap.c rename to keyboards/gboards/gergo/keymaps/germ/keymap.c diff --git a/keyboards/gergo/keymaps/germ/readme.md b/keyboards/gboards/gergo/keymaps/germ/readme.md similarity index 90% rename from keyboards/gergo/keymaps/germ/readme.md rename to keyboards/gboards/gergo/keymaps/germ/readme.md index 471a20fbdff2..8e49b2f5b06a 100644 --- a/keyboards/gergo/keymaps/germ/readme.md +++ b/keyboards/gboards/gergo/keymaps/germ/readme.md @@ -5,6 +5,6 @@ This is the default keymap for Gergo, it's based heavily off of the naps62 ErgoDox layout and is aimed at a programmer friendly keymap. ## Settings -To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gergo/keymaps/default/rules.mk +To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gboards/gergo/keymaps/default/rules.mk Ideally you should copy this directory and make your changes there. If you come up with a good layout submit a PR! diff --git a/keyboards/gergo/keymaps/germ/rules.mk b/keyboards/gboards/gergo/keymaps/germ/rules.mk similarity index 100% rename from keyboards/gergo/keymaps/germ/rules.mk rename to keyboards/gboards/gergo/keymaps/germ/rules.mk diff --git a/keyboards/gergo/keymaps/gotham/config.h b/keyboards/gboards/gergo/keymaps/gotham/config.h similarity index 100% rename from keyboards/gergo/keymaps/gotham/config.h rename to keyboards/gboards/gergo/keymaps/gotham/config.h diff --git a/keyboards/gergo/keymaps/gotham/keymap.c b/keyboards/gboards/gergo/keymaps/gotham/keymap.c similarity index 100% rename from keyboards/gergo/keymaps/gotham/keymap.c rename to keyboards/gboards/gergo/keymaps/gotham/keymap.c diff --git a/keyboards/gergo/keymaps/gotham/readme.md b/keyboards/gboards/gergo/keymaps/gotham/readme.md similarity index 100% rename from keyboards/gergo/keymaps/gotham/readme.md rename to keyboards/gboards/gergo/keymaps/gotham/readme.md diff --git a/keyboards/gergo/keymaps/gotham/rules.mk b/keyboards/gboards/gergo/keymaps/gotham/rules.mk similarity index 100% rename from keyboards/gergo/keymaps/gotham/rules.mk rename to keyboards/gboards/gergo/keymaps/gotham/rules.mk diff --git a/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h b/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/config.h similarity index 100% rename from keyboards/gergo/keymaps/manna-harbour_miryoku/config.h rename to keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/config.h diff --git a/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/keymap.c similarity index 100% rename from keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c rename to keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/keymap.c diff --git a/keyboards/gboards/gergo/keymaps/oled/config.h b/keyboards/gboards/gergo/keymaps/oled/config.h new file mode 100644 index 000000000000..af960a1eed89 --- /dev/null +++ b/keyboards/gboards/gergo/keymaps/oled/config.h @@ -0,0 +1,4 @@ +#pragma once + +#define IGNORE_MOD_TAP_INTERRUPT +#define OLED_FONT_H "keyboards/gboards/gergo/keymaps/oled/glcdfont.c" diff --git a/keyboards/gergo/keymaps/oled/glcdfont.c b/keyboards/gboards/gergo/keymaps/oled/glcdfont.c similarity index 100% rename from keyboards/gergo/keymaps/oled/glcdfont.c rename to keyboards/gboards/gergo/keymaps/oled/glcdfont.c diff --git a/keyboards/gergo/keymaps/oled/keymap.c b/keyboards/gboards/gergo/keymaps/oled/keymap.c similarity index 100% rename from keyboards/gergo/keymaps/oled/keymap.c rename to keyboards/gboards/gergo/keymaps/oled/keymap.c diff --git a/keyboards/gergo/keymaps/oled/readme.md b/keyboards/gboards/gergo/keymaps/oled/readme.md similarity index 90% rename from keyboards/gergo/keymaps/oled/readme.md rename to keyboards/gboards/gergo/keymaps/oled/readme.md index 471a20fbdff2..8e49b2f5b06a 100644 --- a/keyboards/gergo/keymaps/oled/readme.md +++ b/keyboards/gboards/gergo/keymaps/oled/readme.md @@ -5,6 +5,6 @@ This is the default keymap for Gergo, it's based heavily off of the naps62 ErgoDox layout and is aimed at a programmer friendly keymap. ## Settings -To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gergo/keymaps/default/rules.mk +To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gboards/gergo/keymaps/default/rules.mk Ideally you should copy this directory and make your changes there. If you come up with a good layout submit a PR! diff --git a/keyboards/gergo/keymaps/oled/rules.mk b/keyboards/gboards/gergo/keymaps/oled/rules.mk similarity index 100% rename from keyboards/gergo/keymaps/oled/rules.mk rename to keyboards/gboards/gergo/keymaps/oled/rules.mk diff --git a/keyboards/gergo/matrix.c b/keyboards/gboards/gergo/matrix.c similarity index 100% rename from keyboards/gergo/matrix.c rename to keyboards/gboards/gergo/matrix.c diff --git a/keyboards/gergo/readme.md b/keyboards/gboards/gergo/readme.md similarity index 77% rename from keyboards/gergo/readme.md rename to keyboards/gboards/gergo/readme.md index 3436090b27ec..b2558e6715f4 100644 --- a/keyboards/gergo/readme.md +++ b/keyboards/gboards/gergo/readme.md @@ -13,13 +13,13 @@ Hardware Availability: [gboards.ca](http://gboards.ca) ## Firmware building After cloning the QMK repo and installing dfu-programmer build and flash with. Be sure to reset your keyboard! - make gergo:germ:dfu + make gboards/gergo:germ:dfu To just test your build with the default keymap - make gergo:germ + make gboards/gergo:germ -Gadgets and options can be enabled/disabled in keyboards/gergo/keymaps/default/rules.mk . Copy the default directory and make any changes to your layout, if you think they're worth sharing submit a PR! +Gadgets and options can be enabled/disabled in keyboards/gboards/gergo/keymaps/default/rules.mk . Copy the default directory and make any changes to your layout, if you think they're worth sharing submit a PR! 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/gergo/rules.mk b/keyboards/gboards/gergo/rules.mk similarity index 100% rename from keyboards/gergo/rules.mk rename to keyboards/gboards/gergo/rules.mk diff --git a/keyboards/gboards/readme.md b/keyboards/gboards/readme.md index 743bacbcc154..384b568d895a 100644 --- a/keyboards/gboards/readme.md +++ b/keyboards/gboards/readme.md @@ -22,11 +22,11 @@ multi-chords! You can browse the available combo lists in combos/ ## Engine This is the onboard chording engine for all sorts of fun shenanigans. Be aware that this currently is a bit of a QMK -replacement focused on pure chording. Take a look at the configuration in keyboards/ginny for ideas, all these dicts +replacement focused on pure chording. Take a look at the configuration in keyboards/gboards/ginny for ideas, all these dicts are stored over in dicts/ ## Installation -You will need to add the following bits to your rules.mk, refer to keyboards/ginny for a working example +You will need to add the following bits to your rules.mk, refer to keyboards/gboards/ginny for a working example `VPATH += keyboards/gboards/` And if you're using the chording engine, this as well. @@ -35,5 +35,5 @@ And if you're using the chording engine, this as well. For combos, add `#include "g/keymap_combos.h"` to keymap.c to compile your combos.def into your keymap For the chording engine, add `#include "g/keymap_engine.h"` to keymap.c compile your dicts.def into your keymap. If you -don't have a config_engine.h file for your keyboard, you will need to create it. (Once again, look at keyboards/ginny/ +don't have a config_engine.h file for your keyboard, you will need to create it. (Once again, look at keyboards/gboards/ginny/ for a example of how to do this. diff --git a/keyboards/gergo/keymaps/oled/config.h b/keyboards/gergo/keymaps/oled/config.h deleted file mode 100644 index b18608068132..000000000000 --- a/keyboards/gergo/keymaps/oled/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#define IGNORE_MOD_TAP_INTERRUPT -#define OLED_FONT_H "keyboards/gergo/keymaps/oled/glcdfont.c" From e596ece87aac51f053f1f26f5f5bff964d7c351a Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 12 Feb 2022 15:00:34 +1100 Subject: [PATCH 0212/1832] Clang-format tweaks (#15906) --- .clang-format | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.clang-format b/.clang-format index b4f7967831ab..ce145e299c86 100644 --- a/.clang-format +++ b/.clang-format @@ -5,6 +5,9 @@ AlignConsecutiveAssignments: 'true' AlignConsecutiveDeclarations: 'true' AlignOperands: 'true' AllowAllParametersOfDeclarationOnNextLine: 'false' +AllowShortCaseLabelsOnASingleLine: 'false' +AllowShortFunctionsOnASingleLine: Empty +AllowShortLoopsOnASingleLine: 'false' AlwaysBreakAfterDefinitionReturnType: None AlwaysBreakAfterReturnType: None AlwaysBreakBeforeMultilineStrings: 'false' @@ -20,6 +23,7 @@ SortIncludes: 'false' SpaceBeforeAssignmentOperators: 'true' SpaceBeforeParens: ControlStatements SpaceInEmptyParentheses: 'false' +SpacesBeforeTrailingComments: 1 TabWidth: '4' UseTab: Never From afcdd7079c774dec2aa4b7f2d08adf8b7310919b Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 12 Feb 2022 09:16:35 -0800 Subject: [PATCH 0213/1832] Update keyboard mapping for all moved boards this cycle (#16312) --- data/mappings/keyboard_aliases.json | 610 ++++++++++++++++++++++++++++ 1 file changed, 610 insertions(+) diff --git a/data/mappings/keyboard_aliases.json b/data/mappings/keyboard_aliases.json index 430229ecffd5..343812718e61 100644 --- a/data/mappings/keyboard_aliases.json +++ b/data/mappings/keyboard_aliases.json @@ -584,5 +584,615 @@ }, zeal65: { target: 'wilba_tech/zeal65' + }, + # Moved during 2022 Q1 cycle + 6ball: { + target: 'maple_computing/6ball' + }, + 7skb: { + target: 'salicylic_acid3/7skb' + }, + 7splus: { + target: 'salicylic_acid3/7splus' + }, + acr60: { + target: 'mechkeys/acr60' + }, + adalyn: { + target: 'tominabox1/adalyn' + }, + ajisai74: { + target: 'salicylic_acid3/ajisai74' + }, + aleth42: { + target: '25keys/aleth42' + }, + alicia_cook: { + target: 'ibnuda/alicia_cook' + }, + allison: { + target: 'prototypist/allison' + }, + allison_numpad: { + target: 'prototypist/allison_numpad' + }, + alu84: { + target: 'mechkeys/alu84' + }, + angel17: { + target: 'kakunpc/angel17' + }, + angel64/alpha: { + target: 'kakunpc/angel64/alpha' + }, + angel64/rev1: { + target: 'kakunpc/angel64/rev1' + }, + arch_36: { + target: 'obosob/arch_36' + }, + bakeneko60: { + target: 'kkatano/bakeneko60' + }, + bakeneko65/rev2: { + target: 'kkatano/bakeneko65/rev2' + }, + bakeneko65/rev3: { + target: 'kkatano/bakeneko65/rev3' + }, + bakeneko80: { + target: 'kkatano/bakeneko80' + }, + barleycorn: { + target: 'yiancardesigns/barleycorn' + }, + bat43/rev1: { + target: 'dailycraft/bat43/rev1' + }, + bat43/rev2: { + target: 'dailycraft/bat43/rev2' + }, + bigseries/1key: { + target: 'woodkeys/bigseries/1key' + }, + bigseries/2key: { + target: 'woodkeys/bigseries/2key' + }, + bigseries/3key: { + target: 'woodkeys/bigseries/3key' + }, + bigseries/4key: { + target: 'woodkeys/bigseries/4key' + }, + bkf: { + target: 'drhigsby/bkf' + }, + business_card/alpha: { + target: 'kakunpc/business_card/alpha' + }, + business_card/beta: { + target: 'kakunpc/business_card/beta' + }, + butterstick: { + target: 'gboards/butterstick' + }, + c39: { + target: 'maple_computing/c39' + }, + cassette42: { + target: '25keys/cassette42' + }, + chidori: { + target: 'kagizaraya/chidori' + }, + chili: { + target: 'ydkb/chili' + }, + chimera_ergo: { + target: 'glenpickle/chimera_ergo' + }, + chimera_ls: { + target: 'glenpickle/chimera_ls' + }, + chimera_ortho: { + target: 'glenpickle/chimera_ortho' + }, + chimera_ortho_plus: { + target: 'glenpickle/chimera_ortho_plus' + }, + choc_taro: { + target: 'kakunpc/choc_taro' + }, + choco60: { + target: 'recompile_keys/choco60' + }, + christmas_tree: { + target: 'maple_computing/christmas_tree' + }, + claw44/rev1: { + target: 'dailycraft/claw44/rev1' + }, + cocoa40: { + target: 'recompile_keys/cocoa40' + }, + comet46: { + target: 'satt/comet46' + }, + cu24: { + target: 'capsunlocked/cu24' + }, + cu75: { + target: 'capsunlocked/cu75' + }, + cu80: { + target: 'capsunlocked/cu80/v1' + }, + delilah: { + target: 'rainkeebs/delilah' + }, + diverge3: { + target: 'unikeyboard/diverge3' + }, + divergetm2: { + target: 'unikeyboard/divergetm2' + }, + dozen0: { + target: 'yynmt/dozen0' + }, + dubba175: { + target: 'drhigsby/dubba175' + }, + eggman: { + target: 'qpockets/eggman' + }, + ergo42: { + target: 'biacco42/ergo42' + }, + ergoarrows: { + target: 'salicylic_acid3/ergoarrows' + }, + ergodash/mini: { + target: 'omkbd/ergodash/mini' + }, + ergodash/rev1: { + target: 'omkbd/ergodash/rev1' + }, + ergodox_infinity: { + target: 'input_club/ergodox_infinity' + }, + ergotaco: { + target: 'gboards/ergotaco' + }, + espectro: { + target: 'mechkeys/espectro' + }, + felix: { + target: 'unikeyboard/felix' + }, + four_banger: { + target: 'bpiphany/four_banger' + }, + freyr: { + target: 'hnahkb/freyr' + }, + geminate60: { + target: 'weirdo/geminate60' + }, + georgi: { + target: 'gboards/georgi' + }, + gergo: { + target: 'gboards/gergo' + }, + getta25: { + target: 'salicylic_acid3/getta25' + }, + gingham: { + target: 'yiancardesigns/gingham' + }, + gurindam: { + target: 'ibnuda/gurindam' + }, + halberd: { + target: 'kagizaraya/halberd' + }, + hecomi/alpha: { + target: 'takashiski/hecomi/alpha' + }, + hid_liber: { + target: 'bpiphany/hid_liber' + }, + id67/default_rgb: { + target: 'idobao/id67/default_rgb' + }, + id67/rgb: { + target: 'idobao/id67/rgb' + }, + id80: { + target: 'idobao/id80/v1' + }, + id87: { + target: 'idobao/id87/v1' + }, + idobo: { + target: 'idobao/id75/v1' + }, + infinity60: { + target: 'input_club/infinity60' + }, + ivy/rev1: { + target: 'maple_computing/ivy/rev1' + }, + jisplit89: { + target: 'salicylic_acid3/jisplit89' + }, + jnao: { + target: 'maple_computing/jnao' + }, + just60: { + target: 'ydkb/just60' + }, + k_type: { + target: 'input_club/k_type' + }, + kagamidget: { + target: 'yynmt/kagamidget' + }, + kelowna/rgb64: { + target: 'weirdo/kelowna/rgb64' + }, + kprepublic/bm65hsrgb_iso: { + target: 'kprepublic/bm65hsrgb_iso/rev1' + }, + kprepublic/bm68hsrgb: { + target: 'kprepublic/bm68hsrgb/rev1' + }, + latin17rgb: { + target: 'latincompass/latin17rgb' + }, + latin47ble: { + target: 'latincompass/latin47ble' + }, + latin60rgb: { + target: 'latincompass/latin60rgb' + }, + latin64ble: { + target: 'latincompass/latin64ble' + }, + latin6rgb: { + target: 'latincompass/latin6rgb' + }, + latinpad: { + target: 'latincompass/latinpad' + }, + latinpadble: { + target: 'latincompass/latinpadble' + }, + launchpad/rev1: { + target: 'maple_computing/launchpad/rev1' + }, + lck75: { + target: 'lyso1/lck75' + }, + le_chiffre: { + target: 'tominabox1/le_chiffre' + }, + lefishe: { + target: 'lyso1/lefishe' + }, + lets_split_eh/eh: { + target: 'maple_computing/lets_split_eh/eh' + }, + ls_60: { + target: 'weirdo/ls_60' + }, + m3n3van: { + target: 'matthewdias/m3n3van' + }, + mechmini/v1: { + target: 'mechkeys/mechmini/v1' + }, + mechmini/v2: { + target: 'mechkeys/mechmini/v2' + }, + meira: { + target: 'woodkeys/meira' + }, + meishi: { + target: 'biacco42/meishi' + }, + meishi2: { + target: 'biacco42/meishi2' + }, + minidox/rev1: { + target: 'maple_computing/minidox/rev1' + }, + minim: { + target: 'matthewdias/minim' + }, + mio: { + target: 'recompile_keys/mio' + }, + model_v: { + target: 'matthewdias/model_v' + }, + montex: { + target: 'idobao/montex/v1' + }, + nafuda: { + target: 'salicylic_acid3/nafuda' + }, + naiping/np64: { + target: 'weirdo/naiping/np64' + }, + naiping/nphhkb: { + target: 'weirdo/naiping/nphhkb' + }, + naiping/npminila: { + target: 'weirdo/naiping/npminila' + }, + naked48: { + target: 'salicylic_acid3/naked48' + }, + naked60: { + target: 'salicylic_acid3/naked60' + }, + naked64: { + target: 'salicylic_acid3/naked64' + }, + namecard2x4: { + target: 'takashiski/namecard2x4' + }, + nebula12: { + target: 'spaceholdings/nebula12' + }, + nebula68: { + target: 'spaceholdings/nebula68' + }, + nebula68b: { + target: 'spaceholdings/nebula68b' + }, + niu_mini: { + target: 'kbdfans/niu_mini' + }, + nk1: { + target: 'novelkeys/nk1' + }, + nk65: { + target: 'novelkeys/nk65' + }, + nk87: { + target: 'novelkeys/nk87' + }, + nknl7en: { + target: 'salicylic_acid3/nknl7en' + }, + nknl7jp: { + target: 'salicylic_acid3/nknl7jp' + }, + nomu30: { + target: 'recompile_keys/nomu30' + }, + novelpad: { + target: 'novelkeys/novelpad' + }, + ogurec: { + target: 'drhigsby/ogurec' + }, + otaku_split/rev0: { + target: 'takashiski/otaku_split/rev0' + }, + otaku_split/rev1: { + target: 'takashiski/otaku_split/rev1' + }, + owl8: { + target: 'dailycraft/owl8' + }, + packrat: { + target: 'drhigsby/packrat' + }, + pistachio: { + target: 'rate/pistachio' + }, + pistachio_mp: { + target: 'rate/pistachio_mp' + }, + pistachio_pro: { + target: 'rate/pistachio_pro' + }, + plexus75: { + target: 'checkerboards/plexus75' + }, + pursuit40: { + target: 'checkerboards/pursuit40' + }, + qaz: { + target: 'tominabox1/qaz' + }, + quark: { + target: 'checkerboards/quark' + }, + rabbit_capture_plan: { + target: 'kakunpc/rabbit_capture_plan' + }, + rainkeeb: { + target: 'rainkeebs/rainkeeb' + }, + reviung33: { + target: 'reviung/reviung33' + }, + reviung34: { + target: 'reviung/reviung34' + }, + reviung39: { + target: 'reviung/reviung39' + }, + reviung41: { + target: 'reviung/reviung41' + }, + reviung5: { + target: 'reviung/reviung5' + }, + reviung53: { + target: 'reviung/reviung53' + }, + reviung61: { + target: 'reviung/reviung61' + }, + runner3680/3x6: { + target: 'omkbd/runner3680/3x6' + }, + runner3680/3x7: { + target: 'omkbd/runner3680/3x7' + }, + runner3680/3x8: { + target: 'omkbd/runner3680/3x8' + }, + runner3680/4x6: { + target: 'omkbd/runner3680/4x6' + }, + runner3680/4x7: { + target: 'omkbd/runner3680/4x7' + }, + runner3680/4x8: { + target: 'omkbd/runner3680/4x8' + }, + runner3680/5x6: { + target: 'omkbd/runner3680/5x6' + }, + runner3680/5x6_5x8: { + target: 'omkbd/runner3680/5x6_5x8' + }, + runner3680/5x7: { + target: 'omkbd/runner3680/5x7' + }, + runner3680/5x8: { + target: 'omkbd/runner3680/5x8' + }, + scarletbandana: { + target: 'woodkeys/scarletbandana' + }, + scythe: { + target: 'kagizaraya/scythe' + }, + seigaiha: { + target: 'yiancardesigns/seigaiha' + }, + setta21: { + target: 'salicylic_acid3/setta21' + }, + space_space/rev1: { + target: 'qpockets/space_space/rev1' + }, + space_space/rev2: { + target: 'qpockets/space_space/rev2' + }, + spiderisland/winry25tc: { + target: 'winry/winry25tc' + }, + splitreus62: { + target: 'nacly/splitreus62' + }, + squiggle/rev1: { + target: 'ibnuda/squiggle/rev1' + }, + standaside: { + target: 'edi/standaside' + }, + steal_this_keyboard: { + target: 'obosob/steal_this_keyboard' + }, + stella: { + target: 'hnahkb/stella' + }, + suihankey/alpha: { + target: 'kakunpc/suihankey/alpha' + }, + suihankey/rev1: { + target: 'kakunpc/suihankey/rev1' + }, + suihankey/split: { + target: 'kakunpc/suihankey/split' + }, + the_ruler: { + target: 'maple_computing/the_ruler' + }, + thedogkeyboard: { + target: 'kakunpc/thedogkeyboard' + }, + tiger910: { + target: 'weirdo/tiger910' + }, + treadstone32: { + target: 'marksard/treadstone32' + }, + treadstone48/rev1: { + target: 'marksard/treadstone48/rev1' + }, + treadstone48/rev2: { + target: 'marksard/treadstone48/rev2' + }, + txuu: { + target: 'matthewdias/txuu' + }, + ua62: { + target: 'nacly/ua62' + }, + underscore33/rev1: { + target: 'tominabox1/underscore33/rev1' + }, + underscore33/rev2: { + target: 'tominabox1/underscore33/rev2' + }, + vn66: { + target: 'hnahkb/vn66' + }, + wallaby: { + target: 'kkatano/wallaby' + }, + wanten: { + target: 'qpockets/wanten' + }, + whitefox: { + target: 'input_club/whitefox' + }, + wings42/rev1: { + target: 'dailycraft/wings42/rev1' + }, + wings42/rev1_extkeys: { + target: 'dailycraft/wings42/rev1_extkeys' + }, + wings42/rev2: { + target: 'dailycraft/wings42/rev2' + }, + yasui: { + target: 'rainkeebs/yasui' + }, + yd60mq: { + target: 'ymdk/yd60mq' + }, + yd68: { + target: 'ydkb/yd68' + }, + ymd75: { + target: 'ymdk/ymd75' + }, + ymd96: { + target: 'ymdk/ymd96' + }, + ymdk_np21: { + target: 'ymdk/np21' + }, + yurei: { + target: 'kkatano/yurei' + }, + zinc: { + target: '25keys/zinc' + }, + zinc/rev1: { + target: '25keys/zinc/rev1' + }, + zinc/reva: { + target: '25keys/zinc/reva' } } From 63646e8906e062d1c1de3925cba70c4e3426a855 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Sat, 12 Feb 2022 10:29:31 -0800 Subject: [PATCH 0214/1832] Format code according to conventions (#16322) --- drivers/bluetooth/bluefruit_le.cpp | 26 +- drivers/bluetooth/outputselect.c | 2 +- drivers/bluetooth/rn42.c | 8 +- drivers/eeprom/eeprom_driver.c | 12 +- drivers/eeprom/eeprom_i2c.c | 6 +- drivers/eeprom/eeprom_spi.c | 12 +- drivers/eeprom/eeprom_transient.c | 8 +- drivers/eeprom/eeprom_transient.h | 2 +- drivers/flash/flash_spi.c | 12 +- drivers/gpio/mcp23018.c | 6 +- drivers/haptic/DRV2605L.c | 6 +- drivers/haptic/solenoid.c | 20 +- drivers/lcd/st7565.c | 25 +- drivers/lcd/st7565.h | 8 +- drivers/led/apa102.c | 10 +- drivers/led/aw20216.c | 14 +- drivers/led/issi/is31fl3731-simple.c | 6 +- drivers/led/issi/is31fl3731.c | 6 +- drivers/led/issi/is31fl3733-simple.c | 20 +- drivers/led/issi/is31fl3733-simple.h | 14 +- drivers/led/issi/is31fl3733.c | 20 +- drivers/led/issi/is31fl3733.h | 14 +- drivers/led/issi/is31fl3736.c | 20 +- drivers/led/issi/is31fl3736.h | 16 +- drivers/led/issi/is31fl3737.c | 20 +- drivers/led/issi/is31fl3737.h | 16 +- drivers/led/issi/is31fl3741.c | 20 +- drivers/led/issi/is31fl3741.h | 16 +- drivers/oled/oled_driver.h | 22 +- drivers/oled/ssd1306_sh1106.c | 49 +- drivers/ps2/ps2_busywait.c | 6 +- drivers/ps2/ps2_interrupt.c | 16 +- drivers/ps2/ps2_mouse.c | 28 +- drivers/sensors/adns5050.c | 10 +- drivers/sensors/adns9800.c | 4 +- drivers/sensors/analog_joystick.c | 2 +- drivers/sensors/cirque_pinnacle.c | 38 +- drivers/sensors/cirque_pinnacle.h | 8 +- drivers/sensors/cirque_pinnacle_i2c.c | 4 +- drivers/sensors/cirque_pinnacle_spi.c | 10 +- drivers/sensors/pimoroni_trackball.c | 4 +- drivers/sensors/pmw3360.c | 14 +- drivers/sensors/pmw3360.h | 8 +- drivers/sensors/pmw3389.c | 14 +- drivers/sensors/pmw3389.h | 8 +- drivers/usb2422.c | 14 +- drivers/ws2812.h | 8 +- platforms/arm_atsam/bootloaders/md_boot.c | 22 +- platforms/arm_atsam/eeprom_samd.c | 4 +- platforms/arm_atsam/eeprom_samd.h | 2 +- platforms/arm_atsam/suspend.c | 2 +- platforms/arm_atsam/timer.c | 32 +- platforms/avr/bootloaders/dfu.c | 4 +- platforms/avr/bootloaders/halfkay.c | 10 +- platforms/avr/drivers/analog.c | 8 +- platforms/avr/drivers/analog.h | 18 +- platforms/avr/drivers/audio_pwm_hardware.c | 8 +- platforms/avr/drivers/glcdfont.c | 18 +- platforms/avr/drivers/hd44780.c | 22 +- platforms/avr/drivers/i2c_master.c | 6 +- platforms/avr/drivers/i2c_slave.c | 12 +- platforms/avr/drivers/i2c_slave.h | 6 +- platforms/avr/drivers/ps2/ps2_io.c | 8 +- platforms/avr/drivers/ps2/ps2_usart.c | 8 +- platforms/avr/drivers/serial.c | 116 +-- platforms/avr/drivers/spi_master.c | 2 +- platforms/avr/drivers/ssd1306.c | 22 +- platforms/avr/drivers/uart.c | 4 +- platforms/avr/drivers/ws2812.c | 14 +- platforms/avr/drivers/ws2812_i2c.c | 4 +- platforms/avr/pin_defs.h | 2 +- platforms/avr/printf.c | 4 +- platforms/avr/sleep_led.c | 2 +- platforms/avr/suspend.c | 2 +- platforms/avr/timer.c | 24 +- platforms/chibios/bootloaders/stm32_dfu.c | 2 +- platforms/chibios/bootloaders/stm32duino.c | 4 +- platforms/chibios/chibios_config.h | 4 +- platforms/chibios/drivers/analog.c | 6 +- platforms/chibios/drivers/analog.h | 4 +- .../chibios/drivers/audio_dac_additive.c | 26 +- platforms/chibios/drivers/audio_dac_basic.c | 16 +- .../chibios/drivers/audio_pwm_hardware.c | 18 +- .../chibios/drivers/audio_pwm_software.c | 18 +- .../drivers/eeprom/eeprom_stm32_L0_L1.h | 2 +- platforms/chibios/drivers/i2c_master.c | 4 +- platforms/chibios/drivers/serial.c | 36 +- platforms/chibios/drivers/serial_usart.c | 2 +- platforms/chibios/drivers/serial_usart.h | 6 +- platforms/chibios/drivers/spi_master.c | 2 +- platforms/chibios/drivers/uart.c | 16 +- platforms/chibios/drivers/usbpd_stm32g4.c | 4 +- platforms/chibios/drivers/ws2812.c | 10 +- platforms/chibios/drivers/ws2812_pwm.c | 30 +- platforms/chibios/drivers/ws2812_spi.c | 40 +- platforms/chibios/eeprom_stm32.c | 8 +- platforms/chibios/eeprom_stm32_defs.h | 26 +- platforms/chibios/eeprom_teensy.c | 34 +- platforms/chibios/gd32v_compatibility.h | 4 +- platforms/chibios/sleep_led.c | 36 +- platforms/chibios/syscall-fallbacks.c | 8 +- platforms/chibios/timer.c | 14 +- platforms/suspend.c | 8 +- platforms/test/eeprom.c | 4 +- platforms/test/eeprom_stm32_tests.cpp | 54 +- platforms/test/flash_stm32_mock.c | 12 +- platforms/test/timer.c | 36 +- platforms/timer.h | 16 +- quantum/action.c | 50 +- quantum/action_layer.c | 88 ++- quantum/action_tapping.c | 16 +- quantum/action_util.c | 132 +++- quantum/action_util.h | 12 +- quantum/audio/audio.c | 78 +- quantum/audio/audio.h | 6 +- quantum/audio/song_list.h | 2 +- quantum/audio/voices.c | 48 +- quantum/audio/voices.h | 2 +- quantum/backlight/backlight.c | 54 +- quantum/backlight/backlight.h | 2 +- quantum/backlight/backlight_avr.c | 50 +- quantum/backlight/backlight_chibios.c | 16 +- quantum/backlight/backlight_driver_common.c | 8 +- quantum/backlight/backlight_software.c | 12 +- quantum/backlight/backlight_timer.c | 32 +- quantum/bitwise.c | 9 +- quantum/bootmagic/bootmagic_lite.c | 8 +- quantum/color.c | 4 +- quantum/command.c | 2 +- quantum/debounce/sym_defer_g.c | 2 +- quantum/debounce/sym_defer_pr.c | 4 +- quantum/debounce/sym_eager_pk.c | 2 +- .../debounce/tests/debounce_test_common.cpp | 4 +- quantum/deferred_exec.c | 16 +- quantum/digitizer.c | 8 +- quantum/dip_switch.c | 16 +- quantum/dynamic_keymap.c | 20 +- quantum/eeconfig.c | 70 +- quantum/eeconfig.h | 52 +- quantum/encoder.c | 14 +- quantum/encoder/tests/mock.c | 4 +- quantum/encoder/tests/mock_split.c | 4 +- quantum/haptic.c | 4 +- quantum/keyboard.c | 58 +- quantum/keyboard.h | 36 +- quantum/keycode.h | 26 +- quantum/keymap_common.c | 2 +- quantum/keymap_extras/keymap_nordic.h | 2 +- quantum/keymap_extras/keymap_steno.h | 2 +- quantum/led.c | 12 +- .../led_matrix/animations/alpha_mods_anim.h | 4 +- quantum/led_matrix/animations/band_anim.h | 8 +- .../animations/band_pinwheel_anim.h | 12 +- .../led_matrix/animations/band_spiral_anim.h | 12 +- .../led_matrix/animations/breathing_anim.h | 4 +- .../animations/cycle_left_right_anim.h | 12 +- .../led_matrix/animations/cycle_out_in_anim.h | 12 +- .../animations/cycle_up_down_anim.h | 12 +- .../led_matrix/animations/dual_beacon_anim.h | 12 +- .../runners/effect_runner_reactive.h | 2 +- .../runners/effect_runner_reactive_splash.h | 2 +- quantum/led_matrix/animations/solid_anim.h | 2 +- .../animations/solid_reactive_cross.h | 14 +- .../animations/solid_reactive_nexus.h | 14 +- .../animations/solid_reactive_simple_anim.h | 14 +- .../animations/solid_reactive_wide.h | 14 +- .../led_matrix/animations/solid_splash_anim.h | 14 +- .../animations/wave_left_right_anim.h | 12 +- .../led_matrix/animations/wave_up_down_anim.h | 12 +- quantum/led_matrix/led_matrix.c | 179 +++-- quantum/led_matrix/led_matrix_types.h | 6 +- quantum/logging/debug.c | 10 +- quantum/logging/print.c | 12 +- quantum/logging/print.h | 2 +- quantum/logging/sendchar.c | 4 +- quantum/main.c | 4 +- quantum/matrix.c | 28 +- quantum/matrix_common.c | 44 +- quantum/mousekey.c | 4 +- quantum/pointing_device.c | 40 +- quantum/pointing_device.h | 4 +- quantum/pointing_device_drivers.c | 24 +- quantum/process_keycode/process_audio.c | 12 +- quantum/process_keycode/process_auto_shift.c | 36 +- quantum/process_keycode/process_clicky.c | 32 +- quantum/process_keycode/process_combo.c | 40 +- .../process_keycode/process_dynamic_macro.c | 16 +- quantum/process_keycode/process_joystick.c | 4 +- .../process_keycode/process_key_override.c | 24 +- quantum/process_keycode/process_leader.c | 4 +- quantum/process_keycode/process_magic.c | 8 +- quantum/process_keycode/process_midi.c | 26 +- quantum/process_keycode/process_midi.h | 4 +- quantum/process_keycode/process_music.c | 26 +- quantum/process_keycode/process_music.h | 8 +- quantum/process_keycode/process_printer.c | 7 +- quantum/process_keycode/process_printer_bb.c | 23 +- quantum/process_keycode/process_steno.c | 24 +- quantum/process_keycode/process_tap_dance.c | 4 +- quantum/process_keycode/process_terminal.c | 34 +- quantum/process_keycode/process_ucis.c | 2 +- .../process_keycode/process_unicode_common.c | 24 +- .../process_keycode/process_unicode_common.h | 12 +- quantum/programmable_button.c | 28 +- quantum/quantum.c | 39 +- quantum/quantum_keycodes.h | 714 +++++++++--------- .../rgb_matrix/animations/alpha_mods_anim.h | 4 +- .../rgb_matrix/animations/breathing_anim.h | 4 +- .../animations/colorband_pinwheel_sat_anim.h | 8 +- .../animations/colorband_pinwheel_val_anim.h | 8 +- .../animations/colorband_sat_anim.h | 8 +- .../animations/colorband_spiral_sat_anim.h | 8 +- .../animations/colorband_spiral_val_anim.h | 8 +- .../animations/colorband_val_anim.h | 8 +- .../rgb_matrix/animations/cycle_all_anim.h | 8 +- .../animations/cycle_left_right_anim.h | 8 +- .../rgb_matrix/animations/cycle_out_in_anim.h | 8 +- .../animations/cycle_out_in_dual_anim.h | 8 +- .../animations/cycle_pinwheel_anim.h | 8 +- .../rgb_matrix/animations/cycle_spiral_anim.h | 8 +- .../animations/cycle_up_down_anim.h | 8 +- .../rgb_matrix/animations/digital_rain_anim.h | 4 +- .../rgb_matrix/animations/dual_beacon_anim.h | 8 +- .../animations/gradient_left_right_anim.h | 4 +- .../animations/gradient_up_down_anim.h | 4 +- .../animations/hue_breathing_anim.h | 4 +- .../rgb_matrix/animations/hue_pendulum_anim.h | 8 +- quantum/rgb_matrix/animations/hue_wave_anim.h | 8 +- .../animations/jellybean_raindrops_anim.h | 4 +- .../rgb_matrix/animations/pixel_flow_anim.h | 8 +- .../animations/pixel_fractal_anim.h | 12 +- .../rgb_matrix/animations/pixel_rain_anim.h | 8 +- .../animations/rainbow_beacon_anim.h | 8 +- .../animations/rainbow_moving_chevron_anim.h | 8 +- .../animations/rainbow_pinwheels_anim.h | 8 +- .../rgb_matrix/animations/raindrops_anim.h | 4 +- .../runners/effect_runner_reactive.h | 2 +- .../runners/effect_runner_reactive_splash.h | 2 +- .../rgb_matrix/animations/solid_color_anim.h | 2 +- .../animations/solid_reactive_anim.h | 10 +- .../animations/solid_reactive_cross.h | 14 +- .../animations/solid_reactive_nexus.h | 14 +- .../animations/solid_reactive_simple_anim.h | 10 +- .../animations/solid_reactive_wide.h | 14 +- .../rgb_matrix/animations/solid_splash_anim.h | 14 +- quantum/rgb_matrix/animations/splash_anim.h | 14 +- .../animations/typing_heatmap_anim.h | 4 +- quantum/rgb_matrix/rgb_matrix.c | 249 ++++-- quantum/rgb_matrix/rgb_matrix_types.h | 6 +- quantum/rgblight/rgblight.c | 226 ++++-- quantum/rgblight/rgblight.h | 10 +- quantum/ring_buffer.h | 8 +- quantum/send_string.c | 22 +- quantum/sequencer/sequencer.c | 62 +- quantum/sequencer/sequencer.h | 8 +- quantum/sequencer/tests/midi_mock.c | 12 +- quantum/sequencer/tests/sequencer_tests.cpp | 4 +- quantum/split_common/post_config.h | 2 +- quantum/split_common/split_util.c | 20 +- quantum/split_common/transaction_id_define.h | 36 +- quantum/split_common/transactions.c | 94 +-- quantum/split_common/transport.c | 30 +- quantum/split_common/transport.h | 60 +- quantum/sync_timer.c | 4 +- quantum/velocikey.c | 8 +- quantum/via.c | 18 +- quantum/via.h | 6 +- quantum/wpm.c | 22 +- tests/test_common/keyboard_report_util.cpp | 14 +- tests/test_common/matrix.c | 16 +- tests/test_common/test_driver.cpp | 20 +- tests/test_common/test_fixture.cpp | 4 +- tests/test_common/test_logger.cpp | 8 +- tmk_core/protocol/arm_atsam/adc.c | 26 +- tmk_core/protocol/arm_atsam/adc.h | 2 +- .../protocol/arm_atsam/arm_atsam_protocol.h | 4 +- tmk_core/protocol/arm_atsam/clks.c | 42 +- tmk_core/protocol/arm_atsam/clks.h | 24 +- tmk_core/protocol/arm_atsam/d51_util.c | 34 +- tmk_core/protocol/arm_atsam/d51_util.h | 4 +- tmk_core/protocol/arm_atsam/i2c_master.c | 132 ++-- tmk_core/protocol/arm_atsam/i2c_master.h | 4 +- tmk_core/protocol/arm_atsam/issi3733_driver.h | 200 ++--- tmk_core/protocol/arm_atsam/main_arm_atsam.c | 113 +-- tmk_core/protocol/arm_atsam/main_arm_atsam.h | 2 +- tmk_core/protocol/arm_atsam/md_rgb_matrix.c | 82 +- tmk_core/protocol/arm_atsam/md_rgb_matrix.h | 142 ++-- .../arm_atsam/md_rgb_matrix_programs.c | 4 +- tmk_core/protocol/arm_atsam/shift_register.c | 12 +- tmk_core/protocol/arm_atsam/spi_master.c | 22 +- tmk_core/protocol/arm_atsam/usb/compiler.h | 124 +-- tmk_core/protocol/arm_atsam/usb/conf_usb.h | 4 +- tmk_core/protocol/arm_atsam/usb/main_usb.c | 48 +- .../protocol/arm_atsam/usb/status_codes.h | 28 +- tmk_core/protocol/arm_atsam/usb/udc.c | 66 +- tmk_core/protocol/arm_atsam/usb/udc.h | 18 +- tmk_core/protocol/arm_atsam/usb/udc_desc.h | 2 +- tmk_core/protocol/arm_atsam/usb/udd.h | 2 +- tmk_core/protocol/arm_atsam/usb/udi.h | 2 +- tmk_core/protocol/arm_atsam/usb/udi_cdc.c | 158 ++-- tmk_core/protocol/arm_atsam/usb/udi_cdc.h | 6 +- .../protocol/arm_atsam/usb/udi_cdc_conf.h | 8 +- .../protocol/arm_atsam/usb/udi_device_conf.h | 20 +- .../arm_atsam/usb/udi_device_epsize.h | 2 +- tmk_core/protocol/arm_atsam/usb/udi_hid.c | 2 +- tmk_core/protocol/arm_atsam/usb/udi_hid.h | 2 +- tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c | 146 ++-- tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.h | 12 +- .../protocol/arm_atsam/usb/udi_hid_kbd_conf.h | 2 +- .../protocol/arm_atsam/usb/udi_hid_kbd_desc.c | 6 +- tmk_core/protocol/arm_atsam/usb/ui.c | 2 +- tmk_core/protocol/arm_atsam/usb/ui.h | 2 +- tmk_core/protocol/arm_atsam/usb/usb.c | 28 +- tmk_core/protocol/arm_atsam/usb/usb.h | 32 +- tmk_core/protocol/arm_atsam/usb/usb_atmel.h | 4 +- .../protocol/arm_atsam/usb/usb_device_udd.c | 38 +- tmk_core/protocol/arm_atsam/usb/usb_hub.c | 76 +- tmk_core/protocol/arm_atsam/usb/usb_hub.h | 2 +- tmk_core/protocol/arm_atsam/usb/usb_main.h | 12 +- .../protocol/arm_atsam/usb/usb_protocol.h | 76 +- .../protocol/arm_atsam/usb/usb_protocol_cdc.h | 80 +- .../protocol/arm_atsam/usb/usb_protocol_hid.h | 102 +-- tmk_core/protocol/arm_atsam/usb/usb_util.c | 22 +- tmk_core/protocol/arm_atsam/usb/usb_util.h | 2 +- tmk_core/protocol/chibios/chibios.c | 8 +- tmk_core/protocol/chibios/usb_driver.c | 32 +- tmk_core/protocol/chibios/usb_main.c | 24 +- tmk_core/protocol/chibios/usb_util.c | 8 +- tmk_core/protocol/host.c | 28 +- tmk_core/protocol/lufa/lufa.c | 53 +- tmk_core/protocol/lufa/usb_util.c | 8 +- tmk_core/protocol/midi/bytequeue/bytequeue.c | 4 +- .../midi/bytequeue/interrupt_setting.c | 8 +- tmk_core/protocol/midi/midi.c | 130 +++- tmk_core/protocol/midi/midi.h | 6 +- tmk_core/protocol/midi/midi_device.c | 11 +- tmk_core/protocol/midi/qmk_midi.c | 2 +- tmk_core/protocol/midi/sysex_tools.c | 2 +- tmk_core/protocol/usb_descriptor.h | 2 +- tmk_core/protocol/usb_device_state.c | 4 +- tmk_core/protocol/usb_device_state.h | 8 +- tmk_core/protocol/usb_util.c | 4 +- tmk_core/protocol/vusb/protocol.c | 4 +- tmk_core/protocol/vusb/usb_util.c | 4 +- tmk_core/protocol/vusb/vusb.c | 358 ++++----- 345 files changed, 4939 insertions(+), 3252 deletions(-) mode change 100755 => 100644 platforms/arm_atsam/eeprom_samd.h diff --git a/drivers/bluetooth/bluefruit_le.cpp b/drivers/bluetooth/bluefruit_le.cpp index 86581a1a489b..19310767cfc3 100644 --- a/drivers/bluetooth/bluefruit_le.cpp +++ b/drivers/bluetooth/bluefruit_le.cpp @@ -29,7 +29,7 @@ #endif #ifndef BLUEFRUIT_LE_SCK_DIVISOR -# define BLUEFRUIT_LE_SCK_DIVISOR 2 // 4MHz SCK/8MHz CPU, calculated for Feather 32U4 BLE +# define BLUEFRUIT_LE_SCK_DIVISOR 2 // 4MHz SCK/8MHz CPU, calculated for Feather 32U4 BLE #endif #define SAMPLE_BATTERY @@ -77,10 +77,10 @@ struct sdep_msg { // information here. enum queue_type { - QTKeyReport, // 1-byte modifier + 6-byte key report - QTConsumer, // 16-bit key code + QTKeyReport, // 1-byte modifier + 6-byte key report + QTConsumer, // 16-bit key code #ifdef MOUSE_ENABLE - QTMouseMove, // 4-byte mouse report + QTMouseMove, // 4-byte mouse report #endif }; @@ -115,8 +115,8 @@ enum sdep_type { SdepResponse = 0x20, SdepAlert = 0x40, SdepError = 0x80, - SdepSlaveNotReady = 0xFE, // Try again later - SdepSlaveOverflow = 0xFF, // You read more data than is available + SdepSlaveNotReady = 0xFE, // Try again later + SdepSlaveOverflow = 0xFF, // You read more data than is available }; enum ble_cmd { @@ -306,13 +306,15 @@ static bool ble_init(void) { wait_ms(10); writePinHigh(BLUEFRUIT_LE_RST_PIN); - wait_ms(1000); // Give it a second to initialize + wait_ms(1000); // Give it a second to initialize state.initialized = true; return state.initialized; } -static inline uint8_t min(uint8_t a, uint8_t b) { return a < b ? a : b; } +static inline uint8_t min(uint8_t a, uint8_t b) { + return a < b ? a : b; +} static bool read_response(char *resp, uint16_t resplen, bool verbose) { char *dest = resp; @@ -424,7 +426,9 @@ bool at_command_P(const char *cmd, char *resp, uint16_t resplen, bool verbose) { return at_command(cmdbuf, resp, resplen, verbose); } -bool bluefruit_le_is_connected(void) { return state.is_connected; } +bool bluefruit_le_is_connected(void) { + return state.is_connected; +} bool bluefruit_le_enable_keyboard(void) { char resbuf[128]; @@ -671,7 +675,9 @@ void bluefruit_le_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, } #endif -uint32_t bluefruit_le_read_battery_voltage(void) { return state.vbat; } +uint32_t bluefruit_le_read_battery_voltage(void) { + return state.vbat; +} bool bluefruit_le_set_mode_leds(bool on) { if (!state.configured) { diff --git a/drivers/bluetooth/outputselect.c b/drivers/bluetooth/outputselect.c index 44bc4a9aa309..b986ba274e9d 100644 --- a/drivers/bluetooth/outputselect.c +++ b/drivers/bluetooth/outputselect.c @@ -52,7 +52,7 @@ uint8_t auto_detect_output(void) { #endif #ifdef BLUETOOTH_ENABLE - return OUTPUT_BLUETOOTH; // should check if BT is connected here + return OUTPUT_BLUETOOTH; // should check if BT is connected here #endif return OUTPUT_NONE; diff --git a/drivers/bluetooth/rn42.c b/drivers/bluetooth/rn42.c index 2ef40bb7e0ea..5d497cda2044 100644 --- a/drivers/bluetooth/rn42.c +++ b/drivers/bluetooth/rn42.c @@ -61,7 +61,9 @@ static inline uint16_t rn42_consumer_usage_to_bitmap(uint16_t usage) { } } -void rn42_init(void) { uart_init(RN42_BAUD_RATE); } +void rn42_init(void) { + uart_init(RN42_BAUD_RATE); +} void rn42_send_keyboard(report_keyboard_t *report) { uart_write(0xFD); @@ -81,8 +83,8 @@ void rn42_send_mouse(report_mouse_t *report) { uart_write(report->buttons); uart_write(report->x); uart_write(report->y); - uart_write(report->v); // should try sending the wheel v here - uart_write(report->h); // should try sending the wheel h here + uart_write(report->v); // should try sending the wheel v here + uart_write(report->h); // should try sending the wheel h here uart_write(0x00); } diff --git a/drivers/eeprom/eeprom_driver.c b/drivers/eeprom/eeprom_driver.c index 6ce47faf7dab..885cf2198115 100644 --- a/drivers/eeprom/eeprom_driver.c +++ b/drivers/eeprom/eeprom_driver.c @@ -37,11 +37,17 @@ uint32_t eeprom_read_dword(const uint32_t *addr) { return ret; } -void eeprom_write_byte(uint8_t *addr, uint8_t value) { eeprom_write_block(&value, addr, 1); } +void eeprom_write_byte(uint8_t *addr, uint8_t value) { + eeprom_write_block(&value, addr, 1); +} -void eeprom_write_word(uint16_t *addr, uint16_t value) { eeprom_write_block(&value, addr, 2); } +void eeprom_write_word(uint16_t *addr, uint16_t value) { + eeprom_write_block(&value, addr, 2); +} -void eeprom_write_dword(uint32_t *addr, uint32_t value) { eeprom_write_block(&value, addr, 4); } +void eeprom_write_dword(uint32_t *addr, uint32_t value) { + eeprom_write_block(&value, addr, 4); +} void eeprom_update_block(const void *buf, void *addr, size_t len) { uint8_t read_buf[len]; diff --git a/drivers/eeprom/eeprom_i2c.c b/drivers/eeprom/eeprom_i2c.c index 8e80ff544fc6..a74a0104157c 100644 --- a/drivers/eeprom/eeprom_i2c.c +++ b/drivers/eeprom/eeprom_i2c.c @@ -43,7 +43,7 @@ #if defined(CONSOLE_ENABLE) && defined(DEBUG_EEPROM_OUTPUT) # include "timer.h" # include "debug.h" -#endif // DEBUG_EEPROM_OUTPUT +#endif // DEBUG_EEPROM_OUTPUT static inline void fill_target_address(uint8_t *buffer, const void *addr) { uintptr_t p = (uintptr_t)addr; @@ -91,7 +91,7 @@ void eeprom_read_block(void *buf, const void *addr, size_t len) { dprintf(" %02X", (int)(((uint8_t *)buf)[i])); } dprintf("\n"); -#endif // DEBUG_EEPROM_OUTPUT +#endif // DEBUG_EEPROM_OUTPUT } void eeprom_write_block(const void *buf, void *addr, size_t len) { @@ -122,7 +122,7 @@ void eeprom_write_block(const void *buf, void *addr, size_t len) { dprintf(" %02X", (int)(read_buf[i])); } dprintf("\n"); -#endif // DEBUG_EEPROM_OUTPUT +#endif // DEBUG_EEPROM_OUTPUT i2c_transmit(EXTERNAL_EEPROM_I2C_ADDRESS((uintptr_t)addr), complete_packet, EXTERNAL_EEPROM_ADDRESS_SIZE + write_length, 100); wait_ms(EXTERNAL_EEPROM_WRITE_TIME); diff --git a/drivers/eeprom/eeprom_spi.c b/drivers/eeprom/eeprom_spi.c index e27309085437..25955498c46a 100644 --- a/drivers/eeprom/eeprom_spi.c +++ b/drivers/eeprom/eeprom_spi.c @@ -52,7 +52,9 @@ # define EXTERNAL_EEPROM_SPI_TIMEOUT 100 #endif -static bool spi_eeprom_start(void) { return spi_start(EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN, EXTERNAL_EEPROM_SPI_LSBFIRST, EXTERNAL_EEPROM_SPI_MODE, EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR); } +static bool spi_eeprom_start(void) { + return spi_start(EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN, EXTERNAL_EEPROM_SPI_LSBFIRST, EXTERNAL_EEPROM_SPI_MODE, EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR); +} static spi_status_t spi_eeprom_wait_while_busy(int timeout) { uint32_t deadline = timer_read32() + timeout; @@ -80,7 +82,9 @@ static void spi_eeprom_transmit_address(uintptr_t addr) { //---------------------------------------------------------------------------------------------------------------------- -void eeprom_driver_init(void) { spi_init(); } +void eeprom_driver_init(void) { + spi_init(); +} void eeprom_driver_erase(void) { #if defined(CONSOLE_ENABLE) && defined(DEBUG_EEPROM_OUTPUT) @@ -135,7 +139,7 @@ void eeprom_read_block(void *buf, const void *addr, size_t len) { dprintf(" %02X", (int)(((uint8_t *)buf)[i])); } dprintf("\n"); -#endif // DEBUG_EEPROM_OUTPUT +#endif // DEBUG_EEPROM_OUTPUT spi_stop(); } @@ -192,7 +196,7 @@ void eeprom_write_block(const void *buf, void *addr, size_t len) { dprintf(" %02X", (int)(uint8_t)(read_buf[i])); } dprintf("\n"); -#endif // DEBUG_EEPROM_OUTPUT +#endif // DEBUG_EEPROM_OUTPUT spi_write(CMD_WRITE); spi_eeprom_transmit_address(target_addr); diff --git a/drivers/eeprom/eeprom_transient.c b/drivers/eeprom/eeprom_transient.c index b4c78c6f400a..9dc4289c271b 100644 --- a/drivers/eeprom/eeprom_transient.c +++ b/drivers/eeprom/eeprom_transient.c @@ -30,9 +30,13 @@ size_t clamp_length(intptr_t offset, size_t len) { return len; } -void eeprom_driver_init(void) { eeprom_driver_erase(); } +void eeprom_driver_init(void) { + eeprom_driver_erase(); +} -void eeprom_driver_erase(void) { memset(transientBuffer, 0x00, TRANSIENT_EEPROM_SIZE); } +void eeprom_driver_erase(void) { + memset(transientBuffer, 0x00, TRANSIENT_EEPROM_SIZE); +} void eeprom_read_block(void *buf, const void *addr, size_t len) { intptr_t offset = (intptr_t)addr; diff --git a/drivers/eeprom/eeprom_transient.h b/drivers/eeprom/eeprom_transient.h index d06189b246df..687b8619fe5e 100644 --- a/drivers/eeprom/eeprom_transient.h +++ b/drivers/eeprom/eeprom_transient.h @@ -21,5 +21,5 @@ */ #ifndef TRANSIENT_EEPROM_SIZE # include "eeconfig.h" -# define TRANSIENT_EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO +# define TRANSIENT_EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO #endif diff --git a/drivers/flash/flash_spi.c b/drivers/flash/flash_spi.c index 2fa8891e3831..f4cbf6515998 100644 --- a/drivers/flash/flash_spi.c +++ b/drivers/flash/flash_spi.c @@ -65,7 +65,9 @@ along with this program. If not, see . // #define DEBUG_FLASH_SPI_OUTPUT -static bool spi_flash_start(void) { return spi_start(EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN, EXTERNAL_FLASH_SPI_LSBFIRST, EXTERNAL_FLASH_SPI_MODE, EXTERNAL_FLASH_SPI_CLOCK_DIVISOR); } +static bool spi_flash_start(void) { + return spi_start(EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN, EXTERNAL_FLASH_SPI_LSBFIRST, EXTERNAL_FLASH_SPI_MODE, EXTERNAL_FLASH_SPI_CLOCK_DIVISOR); +} static flash_status_t spi_flash_wait_while_busy(void) { uint32_t deadline = timer_read32() + EXTERNAL_FLASH_SPI_TIMEOUT; @@ -160,7 +162,9 @@ static flash_status_t spi_flash_transaction(uint8_t cmd, uint32_t addr, uint8_t return response; } -void flash_init(void) { spi_init(); } +void flash_init(void) { + spi_init(); +} flash_status_t flash_erase_chip(void) { flash_status_t response = FLASH_STATUS_SUCCESS; @@ -304,7 +308,7 @@ flash_status_t flash_read_block(uint32_t addr, void *buf, size_t len) { dprintf(" %02X", (int)(((uint8_t *)read_buf)[i])); } dprintf("\n"); -#endif // DEBUG_FLASH_SPI_OUTPUT +#endif // DEBUG_FLASH_SPI_OUTPUT return response; } @@ -340,7 +344,7 @@ flash_status_t flash_write_block(uint32_t addr, const void *buf, size_t len) { dprintf(" %02X", (int)(uint8_t)(write_buf[i])); } dprintf("\n"); -#endif // DEBUG_FLASH_SPI_OUTPUT +#endif // DEBUG_FLASH_SPI_OUTPUT /* Perform the write. */ response = spi_flash_transaction(FLASH_CMD_PP, addr, write_buf, write_length); diff --git a/drivers/gpio/mcp23018.c b/drivers/gpio/mcp23018.c index dc8ab03c50b7..41cbfe087e4e 100644 --- a/drivers/gpio/mcp23018.c +++ b/drivers/gpio/mcp23018.c @@ -10,11 +10,11 @@ #define TIMEOUT 100 enum { - CMD_IODIRA = 0x00, // i/o direction register + CMD_IODIRA = 0x00, // i/o direction register CMD_IODIRB = 0x01, - CMD_GPPUA = 0x0C, // GPIO pull-up resistor register + CMD_GPPUA = 0x0C, // GPIO pull-up resistor register CMD_GPPUB = 0x0D, - CMD_GPIOA = 0x12, // general purpose i/o port register (write modifies OLAT) + CMD_GPIOA = 0x12, // general purpose i/o port register (write modifies OLAT) CMD_GPIOB = 0x13, }; diff --git a/drivers/haptic/DRV2605L.c b/drivers/haptic/DRV2605L.c index 5de2b354c9a7..5a1d2ca0afb3 100644 --- a/drivers/haptic/DRV2605L.c +++ b/drivers/haptic/DRV2605L.c @@ -106,12 +106,14 @@ void DRV_init(void) { void DRV_rtp_init(void) { DRV_write(DRV_GO, 0x00); - DRV_write(DRV_RTP_INPUT, 20); // 20 is the lowest value I've found where haptics can still be felt. + DRV_write(DRV_RTP_INPUT, 20); // 20 is the lowest value I've found where haptics can still be felt. DRV_write(DRV_MODE, 0x05); DRV_write(DRV_GO, 0x01); } -void DRV_amplitude(uint8_t amplitude) { DRV_write(DRV_RTP_INPUT, amplitude); } +void DRV_amplitude(uint8_t amplitude) { + DRV_write(DRV_RTP_INPUT, amplitude); +} void DRV_pulse(uint8_t sequence) { DRV_write(DRV_GO, 0x00); diff --git a/drivers/haptic/solenoid.c b/drivers/haptic/solenoid.c index 7a09940f78cb..14d868bffe81 100644 --- a/drivers/haptic/solenoid.c +++ b/drivers/haptic/solenoid.c @@ -28,13 +28,21 @@ uint8_t solenoid_dwell = SOLENOID_DEFAULT_DWELL; extern haptic_config_t haptic_config; -void solenoid_buzz_on(void) { haptic_set_buzz(1); } +void solenoid_buzz_on(void) { + haptic_set_buzz(1); +} -void solenoid_buzz_off(void) { haptic_set_buzz(0); } +void solenoid_buzz_off(void) { + haptic_set_buzz(0); +} -void solenoid_set_buzz(int buzz) { haptic_set_buzz(buzz); } +void solenoid_set_buzz(int buzz) { + haptic_set_buzz(buzz); +} -void solenoid_set_dwell(uint8_t dwell) { solenoid_dwell = dwell; } +void solenoid_set_dwell(uint8_t dwell) { + solenoid_dwell = dwell; +} void solenoid_stop(void) { SOLENOID_PIN_WRITE_INACTIVE(); @@ -89,4 +97,6 @@ void solenoid_setup(void) { } } -void solenoid_shutdown(void) { SOLENOID_PIN_WRITE_INACTIVE(); } +void solenoid_shutdown(void) { + SOLENOID_PIN_WRITE_INACTIVE(); +} diff --git a/drivers/lcd/st7565.c b/drivers/lcd/st7565.c index 49b13c00f157..47ee02804ba3 100644 --- a/drivers/lcd/st7565.c +++ b/drivers/lcd/st7565.c @@ -39,7 +39,7 @@ along with this program. If not, see . // Addressing Setting Commands #define PAM_SETCOLUMN_LSB 0x00 #define PAM_SETCOLUMN_MSB 0x10 -#define PAM_PAGE_ADDR 0xB0 // 0xb0 -- 0xb7 +#define PAM_PAGE_ADDR 0xB0 // 0xb0 -- 0xb7 // Hardware Configuration Commands #define DISPLAY_START_LINE 0x40 @@ -138,7 +138,9 @@ bool st7565_init(display_rotation_t rotation) { return true; } -__attribute__((weak)) display_rotation_t st7565_init_user(display_rotation_t rotation) { return rotation; } +__attribute__((weak)) display_rotation_t st7565_init_user(display_rotation_t rotation) { + return rotation; +} void st7565_clear(void) { memset(st7565_buffer, 0, sizeof(st7565_buffer)); @@ -212,7 +214,8 @@ void st7565_advance_page(bool clearPageRemainder) { remaining = remaining / ST7565_FONT_WIDTH; // Write empty character until next line - while (remaining--) st7565_write_char(' ', false); + while (remaining--) + st7565_write_char(' ', false); } else { // Next page index out of bounds? if (index + remaining >= ST7565_MATRIX_SIZE) { @@ -263,7 +266,7 @@ void st7565_write_char(const char data, bool invert) { _Static_assert(sizeof(font) >= ((ST7565_FONT_END + 1 - ST7565_FONT_START) * ST7565_FONT_WIDTH), "ST7565_FONT_END references outside array"); // set the reder buffer data - uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index + uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index if (cast_data < ST7565_FONT_START || cast_data > ST7565_FONT_END) { memset(st7565_cursor, 0x00, ST7565_FONT_WIDTH); } else { @@ -389,7 +392,7 @@ void st7565_write_raw_P(const char *data, uint16_t size) { st7565_dirty |= ((ST7565_BLOCK_TYPE)1 << (i / ST7565_BLOCK_SIZE)); } } -#endif // defined(__AVR__) +#endif // defined(__AVR__) bool st7565_on(void) { if (!st7565_initialized) { @@ -429,7 +432,9 @@ bool st7565_off(void) { __attribute__((weak)) void st7565_off_user(void) {} -bool st7565_is_on(void) { return st7565_active; } +bool st7565_is_on(void) { + return st7565_active; +} bool st7565_invert(bool invert) { if (!st7565_initialized) { @@ -445,9 +450,13 @@ bool st7565_invert(bool invert) { return st7565_inverted; } -uint8_t st7565_max_chars(void) { return ST7565_DISPLAY_WIDTH / ST7565_FONT_WIDTH; } +uint8_t st7565_max_chars(void) { + return ST7565_DISPLAY_WIDTH / ST7565_FONT_WIDTH; +} -uint8_t st7565_max_lines(void) { return ST7565_DISPLAY_HEIGHT / ST7565_FONT_HEIGHT; } +uint8_t st7565_max_lines(void) { + return ST7565_DISPLAY_HEIGHT / ST7565_FONT_HEIGHT; +} void st7565_task(void) { if (!st7565_initialized) { diff --git a/drivers/lcd/st7565.h b/drivers/lcd/st7565.h index d453dbe6da90..0e42c8765be4 100644 --- a/drivers/lcd/st7565.h +++ b/drivers/lcd/st7565.h @@ -29,16 +29,16 @@ along with this program. If not, see . # define ST7565_DISPLAY_HEIGHT 32 #endif #ifndef ST7565_MATRIX_SIZE -# define ST7565_MATRIX_SIZE (ST7565_DISPLAY_HEIGHT / 8 * ST7565_DISPLAY_WIDTH) // 1024 (compile time mathed) +# define ST7565_MATRIX_SIZE (ST7565_DISPLAY_HEIGHT / 8 * ST7565_DISPLAY_WIDTH) // 1024 (compile time mathed) #endif #ifndef ST7565_BLOCK_TYPE # define ST7565_BLOCK_TYPE uint16_t #endif #ifndef ST7565_BLOCK_COUNT -# define ST7565_BLOCK_COUNT (sizeof(ST7565_BLOCK_TYPE) * 8) // 32 (compile time mathed) +# define ST7565_BLOCK_COUNT (sizeof(ST7565_BLOCK_TYPE) * 8) // 32 (compile time mathed) #endif #ifndef ST7565_BLOCK_SIZE -# define ST7565_BLOCK_SIZE (ST7565_MATRIX_SIZE / ST7565_BLOCK_COUNT) // 32 (compile time mathed) +# define ST7565_BLOCK_SIZE (ST7565_MATRIX_SIZE / ST7565_BLOCK_COUNT) // 32 (compile time mathed) #endif // the column address corresponding to the first column in the display hardware @@ -174,7 +174,7 @@ void st7565_write_raw_P(const char *data, uint16_t size); # define st7565_write_P(data, invert) st7565_write(data, invert) # define st7565_write_ln_P(data, invert) st7565_write_ln(data, invert) # define st7565_write_raw_P(data, size) st7565_write_raw(data, size) -#endif // defined(__AVR__) +#endif // defined(__AVR__) // Can be used to manually turn on the screen if it is off // Returns true if the screen was on or turns on diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index 00e7eb450536..f29194897528 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -20,15 +20,15 @@ #ifndef APA102_NOPS # if defined(__AVR__) -# define APA102_NOPS 0 // AVR at 16 MHz already spends 62.5 ns per clock, so no extra delay is needed +# define APA102_NOPS 0 // AVR at 16 MHz already spends 62.5 ns per clock, so no extra delay is needed # elif defined(PROTOCOL_CHIBIOS) # include "hal.h" # if defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(GD32VF103) -# define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) // This calculates how many loops of 4 nops to run to delay 100 ns +# define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) // This calculates how many loops of 4 nops to run to delay 100 ns # else # error("APA102_NOPS configuration required") -# define APA102_NOPS 0 // this just pleases the compile so the above error is easier to spot +# define APA102_NOPS 0 // this just pleases the compile so the above error is easier to spot # endif # endif #endif @@ -72,7 +72,9 @@ void apa102_setleds(LED_TYPE *start_led, uint16_t num_leds) { } // Overwrite the default rgblight_call_driver to use apa102 driver -void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { apa102_setleds(start_led, num_leds); } +void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { + apa102_setleds(start_led, num_leds); +} void static apa102_init(void) { setPinOutput(RGB_DI_PIN); diff --git a/drivers/led/aw20216.c b/drivers/led/aw20216.c index 2c7ff8f08898..59389cdcd608 100644 --- a/drivers/led/aw20216.c +++ b/drivers/led/aw20216.c @@ -23,17 +23,17 @@ */ #define AWINIC_ID 0b1010 << 4 -#define AW_PAGE_FUNCTION 0x00 << 1 // PG0, Function registers -#define AW_PAGE_PWM 0x01 << 1 // PG1, LED PWM control -#define AW_PAGE_SCALING 0x02 << 1 // PG2, LED current scaling control -#define AW_PAGE_PATCHOICE 0x03 << 1 // PG3, Pattern choice? -#define AW_PAGE_PWMSCALING 0x04 << 1 // PG4, LED PWM + Scaling control? +#define AW_PAGE_FUNCTION 0x00 << 1 // PG0, Function registers +#define AW_PAGE_PWM 0x01 << 1 // PG1, LED PWM control +#define AW_PAGE_SCALING 0x02 << 1 // PG2, LED current scaling control +#define AW_PAGE_PATCHOICE 0x03 << 1 // PG3, Pattern choice? +#define AW_PAGE_PWMSCALING 0x04 << 1 // PG4, LED PWM + Scaling control? #define AW_WRITE 0 #define AW_READ 1 -#define AW_REG_CONFIGURATION 0x00 // PG0 -#define AW_REG_GLOBALCURRENT 0x01 // PG0 +#define AW_REG_CONFIGURATION 0x00 // PG0 +#define AW_REG_GLOBALCURRENT 0x01 // PG0 // Default value of AW_REG_CONFIGURATION // D7:D4 = 1011, SWSEL (SW1~SW12 active) diff --git a/drivers/led/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c index f51e2e38aff8..3abe9ea33775 100644 --- a/drivers/led/issi/is31fl3731-simple.c +++ b/drivers/led/issi/is31fl3731-simple.c @@ -42,13 +42,13 @@ #define ISSI_REG_PICTUREFRAME 0x01 // Not defined in the datasheet -- See AN for IC -#define ISSI_REG_GHOST_IMAGE_PREVENTION 0xC2 // Set bit 4 to enable de-ghosting +#define ISSI_REG_GHOST_IMAGE_PREVENTION 0xC2 // Set bit 4 to enable de-ghosting #define ISSI_REG_SHUTDOWN 0x0A #define ISSI_REG_AUDIOSYNC 0x06 #define ISSI_COMMANDREGISTER 0xFD -#define ISSI_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine' +#define ISSI_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine' #ifndef ISSI_TIMEOUT # define ISSI_TIMEOUT 100 @@ -148,7 +148,7 @@ void IS31FL3731_init(uint8_t addr) { // enable software shutdown IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); -#ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array +#ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array IS31FL3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); #endif diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c index e6190a6b9082..9c6c29f081b0 100644 --- a/drivers/led/issi/is31fl3731.c +++ b/drivers/led/issi/is31fl3731.c @@ -41,13 +41,13 @@ #define ISSI_REG_PICTUREFRAME 0x01 // Not defined in the datasheet -- See AN for IC -#define ISSI_REG_GHOST_IMAGE_PREVENTION 0xC2 // Set bit 4 to enable de-ghosting +#define ISSI_REG_GHOST_IMAGE_PREVENTION 0xC2 // Set bit 4 to enable de-ghosting #define ISSI_REG_SHUTDOWN 0x0A #define ISSI_REG_AUDIOSYNC 0x06 #define ISSI_COMMANDREGISTER 0xFD -#define ISSI_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine' +#define ISSI_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine' #ifndef ISSI_TIMEOUT # define ISSI_TIMEOUT 100 @@ -136,7 +136,7 @@ void IS31FL3731_init(uint8_t addr) { // enable software shutdown IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); -#ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array +#ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array IS31FL3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); #endif diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c index 777895bf89bd..af006f756d0e 100644 --- a/drivers/led/issi/is31fl3733-simple.c +++ b/drivers/led/issi/is31fl3733-simple.c @@ -39,16 +39,16 @@ #define ISSI_INTERRUPTMASKREGISTER 0xF0 #define ISSI_INTERRUPTSTATUSREGISTER 0xF1 -#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 -#define ISSI_PAGE_PWM 0x01 // PG1 -#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 -#define ISSI_PAGE_FUNCTION 0x03 // PG3 +#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 +#define ISSI_PAGE_PWM 0x01 // PG1 +#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 +#define ISSI_PAGE_FUNCTION 0x03 // PG3 -#define ISSI_REG_CONFIGURATION 0x00 // PG3 -#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 -#define ISSI_REG_RESET 0x11 // PG3 -#define ISSI_REG_SWPULLUP 0x0F // PG3 -#define ISSI_REG_CSPULLUP 0x10 // PG3 +#define ISSI_REG_CONFIGURATION 0x00 // PG3 +#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 +#define ISSI_REG_RESET 0x11 // PG3 +#define ISSI_REG_SWPULLUP 0x0F // PG3 +#define ISSI_REG_CSPULLUP 0x10 // PG3 #ifndef ISSI_TIMEOUT # define ISSI_TIMEOUT 100 @@ -59,7 +59,7 @@ #endif #ifndef ISSI_PWM_FREQUENCY -# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3733B only +# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3733B only #endif #ifndef ISSI_SWPULLUP diff --git a/drivers/led/issi/is31fl3733-simple.h b/drivers/led/issi/is31fl3733-simple.h index f071db5e4004..f5253e310172 100644 --- a/drivers/led/issi/is31fl3733-simple.h +++ b/drivers/led/issi/is31fl3733-simple.h @@ -47,13 +47,13 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool value); void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index); void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index); -#define PUR_0R 0x00 // No PUR resistor -#define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL -#define PUR_3KR 0x03 // 3.0k Ohm resistor on all the time -#define PUR_4KR 0x04 // 4.0k Ohm resistor on all the time -#define PUR_8KR 0x05 // 8.0k Ohm resistor on all the time -#define PUR_16KR 0x06 // 16k Ohm resistor on all the time -#define PUR_32KR 0x07 // 32k Ohm resistor in t_NOL +#define PUR_0R 0x00 // No PUR resistor +#define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL +#define PUR_3KR 0x03 // 3.0k Ohm resistor on all the time +#define PUR_4KR 0x04 // 4.0k Ohm resistor on all the time +#define PUR_8KR 0x05 // 8.0k Ohm resistor on all the time +#define PUR_16KR 0x06 // 16k Ohm resistor on all the time +#define PUR_32KR 0x07 // 32k Ohm resistor in t_NOL #define A_1 0x00 #define A_2 0x01 diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c index 696491d0706a..a2fdaa90fa43 100644 --- a/drivers/led/issi/is31fl3733.c +++ b/drivers/led/issi/is31fl3733.c @@ -38,16 +38,16 @@ #define ISSI_INTERRUPTMASKREGISTER 0xF0 #define ISSI_INTERRUPTSTATUSREGISTER 0xF1 -#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 -#define ISSI_PAGE_PWM 0x01 // PG1 -#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 -#define ISSI_PAGE_FUNCTION 0x03 // PG3 +#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 +#define ISSI_PAGE_PWM 0x01 // PG1 +#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 +#define ISSI_PAGE_FUNCTION 0x03 // PG3 -#define ISSI_REG_CONFIGURATION 0x00 // PG3 -#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 -#define ISSI_REG_RESET 0x11 // PG3 -#define ISSI_REG_SWPULLUP 0x0F // PG3 -#define ISSI_REG_CSPULLUP 0x10 // PG3 +#define ISSI_REG_CONFIGURATION 0x00 // PG3 +#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 +#define ISSI_REG_RESET 0x11 // PG3 +#define ISSI_REG_SWPULLUP 0x0F // PG3 +#define ISSI_REG_CSPULLUP 0x10 // PG3 #ifndef ISSI_TIMEOUT # define ISSI_TIMEOUT 100 @@ -58,7 +58,7 @@ #endif #ifndef ISSI_PWM_FREQUENCY -# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3733B only +# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3733B only #endif #ifndef ISSI_SWPULLUP diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h index c5d62fed8517..7653dd17c031 100644 --- a/drivers/led/issi/is31fl3733.h +++ b/drivers/led/issi/is31fl3733.h @@ -48,13 +48,13 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bo void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index); void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index); -#define PUR_0R 0x00 // No PUR resistor -#define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL -#define PUR_3KR 0x03 // 3.0k Ohm resistor on all the time -#define PUR_4KR 0x04 // 4.0k Ohm resistor on all the time -#define PUR_8KR 0x05 // 8.0k Ohm resistor on all the time -#define PUR_16KR 0x06 // 16k Ohm resistor on all the time -#define PUR_32KR 0x07 // 32k Ohm resistor in t_NOL +#define PUR_0R 0x00 // No PUR resistor +#define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL +#define PUR_3KR 0x03 // 3.0k Ohm resistor on all the time +#define PUR_4KR 0x04 // 4.0k Ohm resistor on all the time +#define PUR_8KR 0x05 // 8.0k Ohm resistor on all the time +#define PUR_16KR 0x06 // 16k Ohm resistor on all the time +#define PUR_32KR 0x07 // 32k Ohm resistor in t_NOL #define A_1 0x00 #define A_2 0x01 diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c index c9a871118d2b..7752a3f6cbb3 100644 --- a/drivers/led/issi/is31fl3736.c +++ b/drivers/led/issi/is31fl3736.c @@ -36,16 +36,16 @@ #define ISSI_INTERRUPTMASKREGISTER 0xF0 #define ISSI_INTERRUPTSTATUSREGISTER 0xF1 -#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 -#define ISSI_PAGE_PWM 0x01 // PG1 -#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 -#define ISSI_PAGE_FUNCTION 0x03 // PG3 - -#define ISSI_REG_CONFIGURATION 0x00 // PG3 -#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 -#define ISSI_REG_RESET 0x11 // PG3 -#define ISSI_REG_SWPULLUP 0x0F // PG3 -#define ISSI_REG_CSPULLUP 0x10 // PG3 +#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 +#define ISSI_PAGE_PWM 0x01 // PG1 +#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 +#define ISSI_PAGE_FUNCTION 0x03 // PG3 + +#define ISSI_REG_CONFIGURATION 0x00 // PG3 +#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 +#define ISSI_REG_RESET 0x11 // PG3 +#define ISSI_REG_SWPULLUP 0x0F // PG3 +#define ISSI_REG_CSPULLUP 0x10 // PG3 #ifndef ISSI_TIMEOUT # define ISSI_TIMEOUT 100 diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h index 9fbe1cc577cb..f126034615df 100644 --- a/drivers/led/issi/is31fl3736.h +++ b/drivers/led/issi/is31fl3736.h @@ -61,14 +61,14 @@ void IS31FL3736_mono_set_led_control_register(uint8_t index, bool enabled); void IS31FL3736_update_pwm_buffers(uint8_t addr1, uint8_t addr2); void IS31FL3736_update_led_control_registers(uint8_t addr1, uint8_t addr2); -#define PUR_0R 0x00 // No PUR resistor -#define PUR_05KR 0x01 // 0.5k Ohm resistor -#define PUR_1KR 0x02 // 1.0k Ohm resistor -#define PUR_2KR 0x03 // 2.0k Ohm resistor -#define PUR_4KR 0x04 // 4.0k Ohm resistor -#define PUR_8KR 0x05 // 8.0k Ohm resistor -#define PUR_16KR 0x06 // 16k Ohm resistor -#define PUR_32KR 0x07 // 32k Ohm resistor +#define PUR_0R 0x00 // No PUR resistor +#define PUR_05KR 0x01 // 0.5k Ohm resistor +#define PUR_1KR 0x02 // 1.0k Ohm resistor +#define PUR_2KR 0x03 // 2.0k Ohm resistor +#define PUR_4KR 0x04 // 4.0k Ohm resistor +#define PUR_8KR 0x05 // 8.0k Ohm resistor +#define PUR_16KR 0x06 // 16k Ohm resistor +#define PUR_32KR 0x07 // 32k Ohm resistor #define A_1 0x00 #define A_2 0x02 diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c index 0722e18869f6..9f2a13de4517 100644 --- a/drivers/led/issi/is31fl3737.c +++ b/drivers/led/issi/is31fl3737.c @@ -38,16 +38,16 @@ #define ISSI_INTERRUPTMASKREGISTER 0xF0 #define ISSI_INTERRUPTSTATUSREGISTER 0xF1 -#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 -#define ISSI_PAGE_PWM 0x01 // PG1 -#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 -#define ISSI_PAGE_FUNCTION 0x03 // PG3 - -#define ISSI_REG_CONFIGURATION 0x00 // PG3 -#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 -#define ISSI_REG_RESET 0x11 // PG3 -#define ISSI_REG_SWPULLUP 0x0F // PG3 -#define ISSI_REG_CSPULLUP 0x10 // PG3 +#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 +#define ISSI_PAGE_PWM 0x01 // PG1 +#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 +#define ISSI_PAGE_FUNCTION 0x03 // PG3 + +#define ISSI_REG_CONFIGURATION 0x00 // PG3 +#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 +#define ISSI_REG_RESET 0x11 // PG3 +#define ISSI_REG_SWPULLUP 0x0F // PG3 +#define ISSI_REG_CSPULLUP 0x10 // PG3 #ifndef ISSI_TIMEOUT # define ISSI_TIMEOUT 100 diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h index 31b1a2226772..ddb70a9df50c 100644 --- a/drivers/led/issi/is31fl3737.h +++ b/drivers/led/issi/is31fl3737.h @@ -48,14 +48,14 @@ void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bo void IS31FL3737_update_pwm_buffers(uint8_t addr1, uint8_t addr2); void IS31FL3737_update_led_control_registers(uint8_t addr1, uint8_t addr2); -#define PUR_0R 0x00 // No PUR resistor -#define PUR_05KR 0x01 // 0.5k Ohm resistor in t_NOL -#define PUR_1KR 0x02 // 1.0k Ohm resistor in t_NOL -#define PUR_2KR 0x03 // 2.0k Ohm resistor in t_NOL -#define PUR_4KR 0x04 // 4.0k Ohm resistor in t_NOL -#define PUR_8KR 0x05 // 8.0k Ohm resistor in t_NOL -#define PUR_16KR 0x06 // 16k Ohm resistor in t_NOL -#define PUR_32KR 0x07 // 32k Ohm resistor in t_NOL +#define PUR_0R 0x00 // No PUR resistor +#define PUR_05KR 0x01 // 0.5k Ohm resistor in t_NOL +#define PUR_1KR 0x02 // 1.0k Ohm resistor in t_NOL +#define PUR_2KR 0x03 // 2.0k Ohm resistor in t_NOL +#define PUR_4KR 0x04 // 4.0k Ohm resistor in t_NOL +#define PUR_8KR 0x05 // 8.0k Ohm resistor in t_NOL +#define PUR_16KR 0x06 // 16k Ohm resistor in t_NOL +#define PUR_32KR 0x07 // 32k Ohm resistor in t_NOL #define A_1 0x00 #define A_2 0x01 diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c index 8d347a5e607a..393b0179b536 100644 --- a/drivers/led/issi/is31fl3741.c +++ b/drivers/led/issi/is31fl3741.c @@ -42,16 +42,16 @@ #define ISSI_INTERRUPTSTATUSREGISTER 0xF1 #define ISSI_IDREGISTER 0xFC -#define ISSI_PAGE_PWM0 0x00 // PG0 -#define ISSI_PAGE_PWM1 0x01 // PG1 -#define ISSI_PAGE_SCALING_0 0x02 // PG2 -#define ISSI_PAGE_SCALING_1 0x03 // PG3 -#define ISSI_PAGE_FUNCTION 0x04 // PG4 - -#define ISSI_REG_CONFIGURATION 0x00 // PG4 -#define ISSI_REG_GLOBALCURRENT 0x01 // PG4 -#define ISSI_REG_PULLDOWNUP 0x02 // PG4 -#define ISSI_REG_RESET 0x3F // PG4 +#define ISSI_PAGE_PWM0 0x00 // PG0 +#define ISSI_PAGE_PWM1 0x01 // PG1 +#define ISSI_PAGE_SCALING_0 0x02 // PG2 +#define ISSI_PAGE_SCALING_1 0x03 // PG3 +#define ISSI_PAGE_FUNCTION 0x04 // PG4 + +#define ISSI_REG_CONFIGURATION 0x00 // PG4 +#define ISSI_REG_GLOBALCURRENT 0x01 // PG4 +#define ISSI_REG_PULLDOWNUP 0x02 // PG4 +#define ISSI_REG_RESET 0x3F // PG4 #ifndef ISSI_TIMEOUT # define ISSI_TIMEOUT 100 diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h index 8154f8be702f..3bdb23bd2d37 100644 --- a/drivers/led/issi/is31fl3741.h +++ b/drivers/led/issi/is31fl3741.h @@ -51,14 +51,14 @@ void IS31FL3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue); -#define PUR_0R 0x00 // No PUR resistor -#define PUR_05KR 0x01 // 0.5k Ohm resistor -#define PUR_1KR 0x02 // 1.0k Ohm resistor -#define PUR_2KR 0x03 // 2.0k Ohm resistor -#define PUR_4KR 0x04 // 4.0k Ohm resistor -#define PUR_8KR 0x05 // 8.0k Ohm resistor -#define PUR_16KR 0x06 // 16k Ohm resistor -#define PUR_32KR 0x07 // 32k Ohm resistor +#define PUR_0R 0x00 // No PUR resistor +#define PUR_05KR 0x01 // 0.5k Ohm resistor +#define PUR_1KR 0x02 // 1.0k Ohm resistor +#define PUR_2KR 0x03 // 2.0k Ohm resistor +#define PUR_4KR 0x04 // 4.0k Ohm resistor +#define PUR_8KR 0x05 // 8.0k Ohm resistor +#define PUR_16KR 0x06 // 16k Ohm resistor +#define PUR_32KR 0x07 // 32k Ohm resistor #define CS1_SW1 0x00 #define CS2_SW1 0x01 diff --git a/drivers/oled/oled_driver.h b/drivers/oled/oled_driver.h index 3b56d370dc7e..918b837f07e8 100644 --- a/drivers/oled/oled_driver.h +++ b/drivers/oled/oled_driver.h @@ -34,16 +34,16 @@ along with this program. If not, see . # define OLED_DISPLAY_HEIGHT 64 # endif # ifndef OLED_MATRIX_SIZE -# define OLED_MATRIX_SIZE (OLED_DISPLAY_HEIGHT / 8 * OLED_DISPLAY_WIDTH) // 1024 (compile time mathed) +# define OLED_MATRIX_SIZE (OLED_DISPLAY_HEIGHT / 8 * OLED_DISPLAY_WIDTH) // 1024 (compile time mathed) # endif # ifndef OLED_BLOCK_TYPE # define OLED_BLOCK_TYPE uint16_t # endif # ifndef OLED_BLOCK_COUNT -# define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8) // 32 (compile time mathed) +# define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8) // 32 (compile time mathed) # endif # ifndef OLED_BLOCK_SIZE -# define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT) // 32 (compile time mathed) +# define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT) // 32 (compile time mathed) # endif # ifndef OLED_COM_PINS # define OLED_COM_PINS COM_PINS_ALT @@ -68,7 +68,7 @@ along with this program. If not, see . // If OLED_BLOCK_TYPE is uint8_t, these tables would look like: // #define OLED_SOURCE_MAP { 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120 } // #define OLED_TARGET_MAP { 56, 120, 48, 112, 40, 104, 32, 96, 24, 88, 16, 80, 8, 72, 0, 64 } -#else // defined(OLED_DISPLAY_128X64) +#else // defined(OLED_DISPLAY_128X64) // Default 128x32 # ifndef OLED_DISPLAY_WIDTH # define OLED_DISPLAY_WIDTH 128 @@ -77,16 +77,16 @@ along with this program. If not, see . # define OLED_DISPLAY_HEIGHT 32 # endif # ifndef OLED_MATRIX_SIZE -# define OLED_MATRIX_SIZE (OLED_DISPLAY_HEIGHT / 8 * OLED_DISPLAY_WIDTH) // 512 (compile time mathed) +# define OLED_MATRIX_SIZE (OLED_DISPLAY_HEIGHT / 8 * OLED_DISPLAY_WIDTH) // 512 (compile time mathed) # endif # ifndef OLED_BLOCK_TYPE -# define OLED_BLOCK_TYPE uint16_t // Type to use for segmenting the oled display for smart rendering, use unsigned types only +# define OLED_BLOCK_TYPE uint16_t // Type to use for segmenting the oled display for smart rendering, use unsigned types only # endif # ifndef OLED_BLOCK_COUNT -# define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8) // 16 (compile time mathed) +# define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8) // 16 (compile time mathed) # endif # ifndef OLED_BLOCK_SIZE -# define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT) // 32 (compile time mathed) +# define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT) // 32 (compile time mathed) # endif # ifndef OLED_COM_PINS # define OLED_COM_PINS COM_PINS_SEQ @@ -105,7 +105,7 @@ along with this program. If not, see . // If OLED_BLOCK_TYPE is uint8_t, these tables would look like: // #define OLED_SOURCE_MAP { 0, 8, 16, 24, 32, 40, 48, 56 } // #define OLED_TARGET_MAP { 48, 32, 16, 0, 56, 40, 24, 8 } -#endif // defined(OLED_DISPLAY_CUSTOM) +#endif // defined(OLED_DISPLAY_CUSTOM) #if !defined(OLED_IC) # define OLED_IC OLED_IC_SSD1306 @@ -180,7 +180,7 @@ typedef enum { OLED_ROTATION_0 = 0, OLED_ROTATION_90 = 1, OLED_ROTATION_180 = 2, - OLED_ROTATION_270 = 3, // OLED_ROTATION_90 | OLED_ROTATION_180 + OLED_ROTATION_270 = 3, // OLED_ROTATION_90 | OLED_ROTATION_180 } oled_rotation_t; // Initialize the oled display, rotating the rendered output based on the define passed in. @@ -262,7 +262,7 @@ void oled_write_raw_P(const char *data, uint16_t size); # define oled_write_P(data, invert) oled_write(data, invert) # define oled_write_ln_P(data, invert) oled_write(data, invert) # define oled_write_raw_P(data, size) oled_write_raw(data, size) -#endif // defined(__AVR__) +#endif // defined(__AVR__) // Can be used to manually turn on the screen if it is off // Returns true if the screen was on or turns on diff --git a/drivers/oled/ssd1306_sh1106.c b/drivers/oled/ssd1306_sh1106.c index d9bd3c14bd72..30cfeb5648dd 100644 --- a/drivers/oled/ssd1306_sh1106.c +++ b/drivers/oled/ssd1306_sh1106.c @@ -53,7 +53,7 @@ along with this program. If not, see . #define PAGE_ADDR 0x22 #define PAM_SETCOLUMN_LSB 0x00 #define PAM_SETCOLUMN_MSB 0x10 -#define PAM_PAGE_ADDR 0xB0 // 0xb0 -- 0xb7 +#define PAM_PAGE_ADDR 0xB0 // 0xb0 -- 0xb7 // Hardware Configuration Commands #define DISPLAY_START_LINE 0x40 @@ -97,9 +97,9 @@ along with this program. If not, see . #define I2C_DATA 0x40 #if defined(__AVR__) # define I2C_TRANSMIT_P(data) i2c_transmit_P((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) -#else // defined(__AVR__) +#else // defined(__AVR__) # define I2C_TRANSMIT_P(data) i2c_transmit((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) -#endif // defined(__AVR__) +#endif // defined(__AVR__) #define I2C_TRANSMIT(data) i2c_transmit((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) #define I2C_WRITE_REG(mode, data, size) i2c_writeReg((OLED_DISPLAY_ADDRESS << 1), mode, data, size, OLED_I2C_TIMEOUT) @@ -119,7 +119,7 @@ bool oled_inverted = false; uint8_t oled_brightness = OLED_BRIGHTNESS; oled_rotation_t oled_rotation = 0; uint8_t oled_rotation_width = 0; -uint8_t oled_scroll_speed = 0; // this holds the speed after being remapped to ssd1306 internal values +uint8_t oled_scroll_speed = 0; // this holds the speed after being remapped to ssd1306 internal values uint8_t oled_scroll_start = 0; uint8_t oled_scroll_end = 7; #if OLED_TIMEOUT > 0 @@ -190,7 +190,7 @@ bool oled_init(oled_rotation_t rotation) { #if (OLED_IC != OLED_IC_SH1106) // MEMORY_MODE is unsupported on SH1106 (Page Addressing only) MEMORY_MODE, - 0x00, // Horizontal addressing mode + 0x00, // Horizontal addressing mode #endif }; if (I2C_TRANSMIT_P(display_setup1) != I2C_STATUS_SUCCESS) { @@ -232,8 +232,12 @@ bool oled_init(oled_rotation_t rotation) { return true; } -__attribute__((weak)) oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return rotation; } -__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { return rotation; } +__attribute__((weak)) oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return rotation; +} +__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return rotation; +} void oled_clear(void) { memset(oled_buffer, 0, sizeof(oled_buffer)); @@ -306,9 +310,9 @@ void oled_render(void) { // Set column & page position static uint8_t display_start[] = {I2C_CMD, COLUMN_ADDR, 0, OLED_DISPLAY_WIDTH - 1, PAGE_ADDR, 0, OLED_DISPLAY_HEIGHT / 8 - 1}; if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { - calc_bounds(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start + calc_bounds(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start } else { - calc_bounds_90(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start + calc_bounds_90(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start } // Send column & page position @@ -368,7 +372,8 @@ void oled_advance_page(bool clearPageRemainder) { remaining = remaining / OLED_FONT_WIDTH; // Write empty character until next line - while (remaining--) oled_write_char(' ', false); + while (remaining--) + oled_write_char(' ', false); } else { // Next page index out of bounds? if (index + remaining >= OLED_MATRIX_SIZE) { @@ -419,7 +424,7 @@ void oled_write_char(const char data, bool invert) { _Static_assert(sizeof(font) >= ((OLED_FONT_END + 1 - OLED_FONT_START) * OLED_FONT_WIDTH), "OLED_FONT_END references outside array"); // set the reder buffer data - uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index + uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index if (cast_data < OLED_FONT_START || cast_data > OLED_FONT_END) { memset(oled_cursor, 0x00, OLED_FONT_WIDTH); } else { @@ -545,7 +550,7 @@ void oled_write_raw_P(const char *data, uint16_t size) { oled_dirty |= ((OLED_BLOCK_TYPE)1 << (i / OLED_BLOCK_SIZE)); } } -#endif // defined(__AVR__) +#endif // defined(__AVR__) bool oled_on(void) { if (!oled_initialized) { @@ -595,7 +600,9 @@ bool oled_off(void) { return !oled_active; } -bool is_oled_on(void) { return oled_active; } +bool is_oled_on(void) { + return oled_active; +} uint8_t oled_set_brightness(uint8_t level) { if (!oled_initialized) { @@ -613,7 +620,9 @@ uint8_t oled_set_brightness(uint8_t level) { return oled_brightness; } -uint8_t oled_get_brightness(void) { return oled_brightness; } +uint8_t oled_get_brightness(void) { + return oled_brightness; +} // Set the specific 8 lines rows of the screen to scroll. // 0 is the default for start, and 7 for end, which is the entire @@ -693,7 +702,9 @@ bool oled_scroll_off(void) { return !oled_scrolling; } -bool is_oled_scrolling(void) { return oled_scrolling; } +bool is_oled_scrolling(void) { + return oled_scrolling; +} bool oled_invert(bool invert) { if (!oled_initialized) { @@ -777,5 +788,9 @@ void oled_task(void) { #endif } -__attribute__((weak)) bool oled_task_kb(void) { return oled_task_user(); } -__attribute__((weak)) bool oled_task_user(void) { return true; } +__attribute__((weak)) bool oled_task_kb(void) { + return oled_task_user(); +} +__attribute__((weak)) bool oled_task_user(void) { + return true; +} diff --git a/drivers/ps2/ps2_busywait.c b/drivers/ps2/ps2_busywait.c index 983194eea84d..c5a0183bb702 100644 --- a/drivers/ps2/ps2_busywait.c +++ b/drivers/ps2/ps2_busywait.c @@ -71,12 +71,12 @@ uint8_t ps2_host_send(uint8_t data) { /* terminate a transmission if we have */ inhibit(); - wait_us(100); // 100us [4]p.13, [5]p.50 + wait_us(100); // 100us [4]p.13, [5]p.50 /* 'Request to Send' and Start bit */ data_lo(); clock_hi(); - WAIT(clock_lo, 10000, 10); // 10ms [5]p.50 + WAIT(clock_lo, 10000, 10); // 10ms [5]p.50 /* Data bit */ for (uint8_t i = 0; i < 8; i++) { @@ -143,7 +143,7 @@ uint8_t ps2_host_recv(void) { idle(); /* start bit [1] */ - WAIT(clock_lo, 100, 1); // TODO: this is enough? + WAIT(clock_lo, 100, 1); // TODO: this is enough? WAIT(data_lo, 1, 2); WAIT(clock_hi, 50, 3); diff --git a/drivers/ps2/ps2_interrupt.c b/drivers/ps2/ps2_interrupt.c index 70debd02f7fa..c49b4f8b75e5 100644 --- a/drivers/ps2/ps2_interrupt.c +++ b/drivers/ps2/ps2_interrupt.c @@ -43,7 +43,7 @@ POSSIBILITY OF SUCH DAMAGE. #if defined(__AVR__) # include -#elif defined(PROTOCOL_CHIBIOS) // TODO: or STM32 ? +#elif defined(PROTOCOL_CHIBIOS) // TODO: or STM32 ? // chibiOS headers # include "ch.h" # include "hal.h" @@ -71,7 +71,9 @@ static inline void pbuf_clear(void); #if defined(PROTOCOL_CHIBIOS) void ps2_interrupt_service_routine(void); -void palCallback(void *arg) { ps2_interrupt_service_routine(); } +void palCallback(void *arg) { + ps2_interrupt_service_routine(); +} # define PS2_INT_INIT() \ { palSetLineMode(PS2_CLOCK_PIN, PAL_MODE_INPUT); } \ @@ -85,7 +87,7 @@ void palCallback(void *arg) { ps2_interrupt_service_routine(); } # define PS2_INT_OFF() \ { palDisableLineEvent(PS2_CLOCK_PIN); } \ while (0) -#endif // PROTOCOL_CHIBIOS +#endif // PROTOCOL_CHIBIOS void ps2_host_init(void) { idle(); @@ -103,12 +105,12 @@ uint8_t ps2_host_send(uint8_t data) { /* terminate a transmission if we have */ inhibit(); - wait_us(100); // 100us [4]p.13, [5]p.50 + wait_us(100); // 100us [4]p.13, [5]p.50 /* 'Request to Send' and Start bit */ data_lo(); clock_hi(); - WAIT(clock_lo, 10000, 10); // 10ms [5]p.50 + WAIT(clock_lo, 10000, 10); // 10ms [5]p.50 /* Data bit[2-9] */ for (uint8_t i = 0; i < 8; i++) { @@ -244,7 +246,9 @@ void ps2_interrupt_service_routine(void) { } #if defined(__AVR__) -ISR(PS2_INT_VECT) { ps2_interrupt_service_routine(); } +ISR(PS2_INT_VECT) { + ps2_interrupt_service_routine(); +} #endif /* send LED state to keyboard */ diff --git a/drivers/ps2/ps2_mouse.c b/drivers/ps2/ps2_mouse.c index 8a6668b41069..ccb0a929aef3 100644 --- a/drivers/ps2/ps2_mouse.c +++ b/drivers/ps2/ps2_mouse.c @@ -42,7 +42,7 @@ static inline void ps2_mouse_scroll_button_task(report_mouse_t *mouse_report); void ps2_mouse_init(void) { ps2_host_init(); - wait_ms(PS2_MOUSE_INIT_DELAY); // wait for powering up + wait_ms(PS2_MOUSE_INIT_DELAY); // wait for powering up PS2_MOUSE_SEND(PS2_MOUSE_RESET, "ps2_mouse_init: sending reset"); @@ -113,9 +113,13 @@ void ps2_mouse_task(void) { ps2_mouse_clear_report(&mouse_report); } -void ps2_mouse_disable_data_reporting(void) { PS2_MOUSE_SEND(PS2_MOUSE_DISABLE_DATA_REPORTING, "ps2 mouse disable data reporting"); } +void ps2_mouse_disable_data_reporting(void) { + PS2_MOUSE_SEND(PS2_MOUSE_DISABLE_DATA_REPORTING, "ps2 mouse disable data reporting"); +} -void ps2_mouse_enable_data_reporting(void) { PS2_MOUSE_SEND(PS2_MOUSE_ENABLE_DATA_REPORTING, "ps2 mouse enable data reporting"); } +void ps2_mouse_enable_data_reporting(void) { + PS2_MOUSE_SEND(PS2_MOUSE_ENABLE_DATA_REPORTING, "ps2 mouse enable data reporting"); +} void ps2_mouse_set_remote_mode(void) { PS2_MOUSE_SEND_SAFE(PS2_MOUSE_SET_REMOTE_MODE, "ps2 mouse set remote mode"); @@ -127,13 +131,21 @@ void ps2_mouse_set_stream_mode(void) { ps2_mouse_mode = PS2_MOUSE_STREAM_MODE; } -void ps2_mouse_set_scaling_2_1(void) { PS2_MOUSE_SEND_SAFE(PS2_MOUSE_SET_SCALING_2_1, "ps2 mouse set scaling 2:1"); } +void ps2_mouse_set_scaling_2_1(void) { + PS2_MOUSE_SEND_SAFE(PS2_MOUSE_SET_SCALING_2_1, "ps2 mouse set scaling 2:1"); +} -void ps2_mouse_set_scaling_1_1(void) { PS2_MOUSE_SEND_SAFE(PS2_MOUSE_SET_SCALING_1_1, "ps2 mouse set scaling 1:1"); } +void ps2_mouse_set_scaling_1_1(void) { + PS2_MOUSE_SEND_SAFE(PS2_MOUSE_SET_SCALING_1_1, "ps2 mouse set scaling 1:1"); +} -void ps2_mouse_set_resolution(ps2_mouse_resolution_t resolution) { PS2_MOUSE_SET_SAFE(PS2_MOUSE_SET_RESOLUTION, resolution, "ps2 mouse set resolution"); } +void ps2_mouse_set_resolution(ps2_mouse_resolution_t resolution) { + PS2_MOUSE_SET_SAFE(PS2_MOUSE_SET_RESOLUTION, resolution, "ps2 mouse set resolution"); +} -void ps2_mouse_set_sample_rate(ps2_mouse_sample_rate_t sample_rate) { PS2_MOUSE_SET_SAFE(PS2_MOUSE_SET_SAMPLE_RATE, sample_rate, "ps2 mouse set sample rate"); } +void ps2_mouse_set_sample_rate(ps2_mouse_sample_rate_t sample_rate) { + PS2_MOUSE_SET_SAFE(PS2_MOUSE_SET_SAMPLE_RATE, sample_rate, "ps2 mouse set sample rate"); +} /* ============================= HELPERS ============================ */ @@ -165,7 +177,7 @@ static inline void ps2_mouse_convert_report_to_hid(report_mouse_t *mouse_report) #ifdef PS2_MOUSE_INVERT_X mouse_report->x = -mouse_report->x; #endif -#ifndef PS2_MOUSE_INVERT_Y // NOTE if not! +#ifndef PS2_MOUSE_INVERT_Y // NOTE if not! // invert coordinate of y to conform to USB HID mouse mouse_report->y = -mouse_report->y; #endif diff --git a/drivers/sensors/adns5050.c b/drivers/sensors/adns5050.c index c23d24d5af5e..b76268fba267 100644 --- a/drivers/sensors/adns5050.c +++ b/drivers/sensors/adns5050.c @@ -74,9 +74,13 @@ void adns5050_sync(void) { writePinHigh(ADNS5050_CS_PIN); } -void adns5050_cs_select(void) { writePinLow(ADNS5050_CS_PIN); } +void adns5050_cs_select(void) { + writePinLow(ADNS5050_CS_PIN); +} -void adns5050_cs_deselect(void) { writePinHigh(ADNS5050_CS_PIN); } +void adns5050_cs_deselect(void) { + writePinHigh(ADNS5050_CS_PIN); +} uint8_t adns5050_serial_read(void) { setPinInput(ADNS5050_SDIO_PIN); @@ -190,7 +194,7 @@ int8_t convert_twoscomp(uint8_t data) { // Don't forget to use the definitions for CPI in the header file. void adns5050_set_cpi(uint16_t cpi) { - uint8_t cpival = constrain((cpi / 125), 0x1, 0xD); // limits to 0--119 + uint8_t cpival = constrain((cpi / 125), 0x1, 0xD); // limits to 0--119 adns5050_write_reg(REG_MOUSE_CONTROL2, 0b10000 | cpival); } diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c index d167841968d0..3633f23e5247 100644 --- a/drivers/sensors/adns9800.c +++ b/drivers/sensors/adns9800.c @@ -77,7 +77,9 @@ #define MSB1 0x80 // clang-format on -void adns9800_spi_start(void) { spi_start(ADNS9800_CS_PIN, false, ADNS9800_SPI_MODE, ADNS9800_SPI_DIVISOR); } +void adns9800_spi_start(void) { + spi_start(ADNS9800_CS_PIN, false, ADNS9800_SPI_MODE, ADNS9800_SPI_DIVISOR); +} void adns9800_write(uint8_t reg_addr, uint8_t data) { adns9800_spi_start(); diff --git a/drivers/sensors/analog_joystick.c b/drivers/sensors/analog_joystick.c index 1666bed047dd..95f8cff23ab2 100644 --- a/drivers/sensors/analog_joystick.c +++ b/drivers/sensors/analog_joystick.c @@ -24,7 +24,7 @@ uint16_t minAxisValue = ANALOG_JOYSTICK_AXIS_MIN; uint16_t maxAxisValue = ANALOG_JOYSTICK_AXIS_MAX; uint8_t maxCursorSpeed = ANALOG_JOYSTICK_SPEED_MAX; -uint8_t speedRegulator = ANALOG_JOYSTICK_SPEED_REGULATOR; // Lower Values Create Faster Movement +uint8_t speedRegulator = ANALOG_JOYSTICK_SPEED_REGULATOR; // Lower Values Create Faster Movement int16_t xOrigin, yOrigin; diff --git a/drivers/sensors/cirque_pinnacle.c b/drivers/sensors/cirque_pinnacle.c index b807c4f07660..2db7f916fed3 100644 --- a/drivers/sensors/cirque_pinnacle.c +++ b/drivers/sensors/cirque_pinnacle.c @@ -54,7 +54,9 @@ void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count); void RAP_Write(uint8_t address, uint8_t data); #ifdef CONSOLE_ENABLE -void print_byte(uint8_t byte) { xprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); } +void print_byte(uint8_t byte) { + xprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); +} #endif /* Logical Scaling Functions */ @@ -73,8 +75,12 @@ void ClipCoordinates(pinnacle_data_t* coordinates) { } } -uint16_t cirque_pinnacle_get_scale(void) { return scale_data; } -void cirque_pinnacle_set_scale(uint16_t scale) { scale_data = scale; } +uint16_t cirque_pinnacle_get_scale(void) { + return scale_data; +} +void cirque_pinnacle_set_scale(uint16_t scale) { + scale_data = scale; +} // Scales data to desired X & Y resolution void cirque_pinnacle_scale_data(pinnacle_data_t* coordinates, uint16_t xResolution, uint16_t yResolution) { @@ -105,13 +111,13 @@ void cirque_pinnacle_clear_flags() { void cirque_pinnacle_enable_feed(bool feedEnable) { uint8_t temp; - RAP_ReadBytes(FEEDCONFIG_1, &temp, 1); // Store contents of FeedConfig1 register + RAP_ReadBytes(FEEDCONFIG_1, &temp, 1); // Store contents of FeedConfig1 register if (feedEnable) { - temp |= 0x01; // Set Feed Enable bit + temp |= 0x01; // Set Feed Enable bit RAP_Write(0x04, temp); } else { - temp &= ~0x01; // Clear Feed Enable bit + temp &= ~0x01; // Clear Feed Enable bit RAP_Write(0x04, temp); } } @@ -122,13 +128,13 @@ void cirque_pinnacle_enable_feed(bool feedEnable) { void ERA_ReadBytes(uint16_t address, uint8_t* data, uint16_t count) { uint8_t ERAControlValue = 0xFF; - cirque_pinnacle_enable_feed(false); // Disable feed + cirque_pinnacle_enable_feed(false); // Disable feed - RAP_Write(ERA_HIGH_BYTE, (uint8_t)(address >> 8)); // Send upper byte of ERA address - RAP_Write(ERA_LOW_BYTE, (uint8_t)(address & 0x00FF)); // Send lower byte of ERA address + RAP_Write(ERA_HIGH_BYTE, (uint8_t)(address >> 8)); // Send upper byte of ERA address + RAP_Write(ERA_LOW_BYTE, (uint8_t)(address & 0x00FF)); // Send lower byte of ERA address for (uint16_t i = 0; i < count; i++) { - RAP_Write(ERA_CONTROL, 0x05); // Signal ERA-read (auto-increment) to Pinnacle + RAP_Write(ERA_CONTROL, 0x05); // Signal ERA-read (auto-increment) to Pinnacle // Wait for status register 0x1E to clear do { @@ -145,14 +151,14 @@ void ERA_ReadBytes(uint16_t address, uint8_t* data, uint16_t count) { void ERA_WriteByte(uint16_t address, uint8_t data) { uint8_t ERAControlValue = 0xFF; - cirque_pinnacle_enable_feed(false); // Disable feed + cirque_pinnacle_enable_feed(false); // Disable feed - RAP_Write(ERA_VALUE, data); // Send data byte to be written + RAP_Write(ERA_VALUE, data); // Send data byte to be written - RAP_Write(ERA_HIGH_BYTE, (uint8_t)(address >> 8)); // Upper byte of ERA address - RAP_Write(ERA_LOW_BYTE, (uint8_t)(address & 0x00FF)); // Lower byte of ERA address + RAP_Write(ERA_HIGH_BYTE, (uint8_t)(address >> 8)); // Upper byte of ERA address + RAP_Write(ERA_LOW_BYTE, (uint8_t)(address & 0x00FF)); // Lower byte of ERA address - RAP_Write(ERA_CONTROL, 0x02); // Signal an ERA-write to Pinnacle + RAP_Write(ERA_CONTROL, 0x02); // Signal an ERA-write to Pinnacle // Wait for status register 0x1E to clear do { @@ -166,7 +172,7 @@ void cirque_pinnacle_set_adc_attenuation(uint8_t adcGain) { uint8_t temp = 0x00; ERA_ReadBytes(0x0187, &temp, 1); - temp &= 0x3F; // clear top two bits + temp &= 0x3F; // clear top two bits temp |= adcGain; ERA_WriteByte(0x0187, temp); ERA_ReadBytes(0x0187, &temp, 1); diff --git a/drivers/sensors/cirque_pinnacle.h b/drivers/sensors/cirque_pinnacle.h index db891122a661..c8cb360e0388 100644 --- a/drivers/sensors/cirque_pinnacle.h +++ b/drivers/sensors/cirque_pinnacle.h @@ -26,16 +26,16 @@ void cirque_pinnacle_set_scale(uint16_t scale); // Coordinate scaling values #ifndef CIRQUE_PINNACLE_X_LOWER -# define CIRQUE_PINNACLE_X_LOWER 127 // min "reachable" X value +# define CIRQUE_PINNACLE_X_LOWER 127 // min "reachable" X value #endif #ifndef CIRQUE_PINNACLE_X_UPPER -# define CIRQUE_PINNACLE_X_UPPER 1919 // max "reachable" X value +# define CIRQUE_PINNACLE_X_UPPER 1919 // max "reachable" X value #endif #ifndef CIRQUE_PINNACLE_Y_LOWER -# define CIRQUE_PINNACLE_Y_LOWER 63 // min "reachable" Y value +# define CIRQUE_PINNACLE_Y_LOWER 63 // min "reachable" Y value #endif #ifndef CIRQUE_PINNACLE_Y_UPPER -# define CIRQUE_PINNACLE_Y_UPPER 1471 // max "reachable" Y value +# define CIRQUE_PINNACLE_Y_UPPER 1471 // max "reachable" Y value #endif #ifndef CIRQUE_PINNACLE_X_RANGE # define CIRQUE_PINNACLE_X_RANGE (CIRQUE_PINNACLE_X_UPPER - CIRQUE_PINNACLE_X_LOWER) diff --git a/drivers/sensors/cirque_pinnacle_i2c.c b/drivers/sensors/cirque_pinnacle_i2c.c index 81dd982b0cc8..8a38f1dcea0e 100644 --- a/drivers/sensors/cirque_pinnacle_i2c.c +++ b/drivers/sensors/cirque_pinnacle_i2c.c @@ -14,7 +14,7 @@ extern bool touchpad_init; /* RAP Functions */ // Reads Pinnacle registers starting at
void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { - uint8_t cmdByte = READ_MASK | address; // Form the READ command byte + uint8_t cmdByte = READ_MASK | address; // Form the READ command byte if (touchpad_init) { i2c_writeReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, NULL, 0, CIRQUE_PINNACLE_TIMEOUT); if (i2c_readReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, data, count, CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) { @@ -29,7 +29,7 @@ void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { // Writes single-byte to
void RAP_Write(uint8_t address, uint8_t data) { - uint8_t cmdByte = WRITE_MASK | address; // Form the WRITE command byte + uint8_t cmdByte = WRITE_MASK | address; // Form the WRITE command byte if (touchpad_init) { if (i2c_writeReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, &data, sizeof(data), CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) { diff --git a/drivers/sensors/cirque_pinnacle_spi.c b/drivers/sensors/cirque_pinnacle_spi.c index ed40abd9fa1f..e00e73eb8cf6 100644 --- a/drivers/sensors/cirque_pinnacle_spi.c +++ b/drivers/sensors/cirque_pinnacle_spi.c @@ -13,14 +13,14 @@ extern bool touchpad_init; /* RAP Functions */ // Reads Pinnacle registers starting at
void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { - uint8_t cmdByte = READ_MASK | address; // Form the READ command byte + uint8_t cmdByte = READ_MASK | address; // Form the READ command byte if (touchpad_init) { if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_PINNACLE_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { spi_write(cmdByte); - spi_read(); // filler - spi_read(); // filler + spi_read(); // filler + spi_read(); // filler for (uint8_t i = 0; i < count; i++) { - data[i] = spi_read(); // each sepsequent read gets another register's contents + data[i] = spi_read(); // each sepsequent read gets another register's contents } } else { #ifdef CONSOLE_ENABLE @@ -34,7 +34,7 @@ void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { // Writes single-byte to
void RAP_Write(uint8_t address, uint8_t data) { - uint8_t cmdByte = WRITE_MASK | address; // Form the WRITE command byte + uint8_t cmdByte = WRITE_MASK | address; // Form the WRITE command byte if (touchpad_init) { if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_PINNACLE_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c index 2867e763bc70..333e017a0642 100644 --- a/drivers/sensors/pimoroni_trackball.c +++ b/drivers/sensors/pimoroni_trackball.c @@ -33,7 +33,9 @@ static uint16_t precision = 128; -uint16_t pimoroni_trackball_get_cpi(void) { return (precision * 125); } +uint16_t pimoroni_trackball_get_cpi(void) { + return (precision * 125); +} /** * @brief Sets the scaling value for pimoroni trackball * diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 8d1b08e22be0..8c977be1c816 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -86,7 +86,9 @@ bool _inBurst = false; #ifdef CONSOLE_ENABLE -void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); } +void print_byte(uint8_t byte) { + dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); +} #endif #define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt))) @@ -144,7 +146,7 @@ bool pmw3360_init(void) { pmw3360_spi_start(); spi_stop(); - pmw3360_write(REG_Shutdown, 0xb6); // Shutdown first + pmw3360_write(REG_Shutdown, 0xb6); // Shutdown first wait_ms(300); pmw3360_spi_start(); @@ -222,7 +224,7 @@ bool pmw3360_check_signature(void) { uint8_t pid = pmw3360_read(REG_Product_ID); uint8_t iv_pid = pmw3360_read(REG_Inverse_Product_ID); uint8_t SROM_ver = pmw3360_read(REG_SROM_ID); - return (pid == firmware_signature[0] && iv_pid == firmware_signature[1] && SROM_ver == firmware_signature[2]); // signature for SROM 0x04 + return (pid == firmware_signature[0] && iv_pid == firmware_signature[1] && SROM_ver == firmware_signature[2]); // signature for SROM 0x04 } uint16_t pmw3360_get_cpi(void) { @@ -248,17 +250,17 @@ report_pmw3360_t pmw3360_read_burst(void) { pmw3360_spi_start(); spi_write(REG_Motion_Burst); - wait_us(35); // waits for tSRAD_MOTBR + wait_us(35); // waits for tSRAD_MOTBR report.motion = spi_read(); - spi_read(); // skip Observation + spi_read(); // skip Observation // delta registers report.dx = spi_read(); report.mdx = spi_read(); report.dy = spi_read(); report.mdy = spi_read(); - if (report.motion & 0b111) { // panic recovery, sometimes burst mode works weird. + if (report.motion & 0b111) { // panic recovery, sometimes burst mode works weird. _inBurst = false; } diff --git a/drivers/sensors/pmw3360.h b/drivers/sensors/pmw3360.h index 4e17aa0c468a..eec729587160 100644 --- a/drivers/sensors/pmw3360.h +++ b/drivers/sensors/pmw3360.h @@ -58,11 +58,11 @@ typedef struct { int8_t motion; - bool isMotion; // True if a motion is detected. - bool isOnSurface; // True when a chip is on a surface - int16_t dx; // displacement on x directions. Unit: Count. (CPI * Count = Inch value) + bool isMotion; // True if a motion is detected. + bool isOnSurface; // True when a chip is on a surface + int16_t dx; // displacement on x directions. Unit: Count. (CPI * Count = Inch value) int8_t mdx; - int16_t dy; // displacement on y directions. + int16_t dy; // displacement on y directions. int8_t mdy; } report_pmw3360_t; diff --git a/drivers/sensors/pmw3389.c b/drivers/sensors/pmw3389.c index 963925bd380f..828dafa134fb 100644 --- a/drivers/sensors/pmw3389.c +++ b/drivers/sensors/pmw3389.c @@ -90,7 +90,9 @@ bool _inBurst = false; #ifdef CONSOLE_ENABLE -void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); } +void print_byte(uint8_t byte) { + dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); +} #endif #define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt))) @@ -148,7 +150,7 @@ bool pmw3389_init(void) { pmw3389_spi_start(); spi_stop(); - pmw3389_write(REG_Shutdown, 0xb6); // Shutdown first + pmw3389_write(REG_Shutdown, 0xb6); // Shutdown first wait_ms(300); pmw3389_spi_start(); @@ -226,7 +228,7 @@ bool pmw3389_check_signature(void) { uint8_t pid = pmw3389_read(REG_Product_ID); uint8_t iv_pid = pmw3389_read(REG_Inverse_Product_ID); uint8_t SROM_ver = pmw3389_read(REG_SROM_ID); - return (pid == firmware_signature[0] && iv_pid == firmware_signature[1] && SROM_ver == firmware_signature[2]); // signature for SROM 0x04 + return (pid == firmware_signature[0] && iv_pid == firmware_signature[1] && SROM_ver == firmware_signature[2]); // signature for SROM 0x04 } uint16_t pmw3389_get_cpi(void) { @@ -254,17 +256,17 @@ report_pmw3389_t pmw3389_read_burst(void) { pmw3389_spi_start(); spi_write(REG_Motion_Burst); - wait_us(35); // waits for tSRAD_MOTBR + wait_us(35); // waits for tSRAD_MOTBR report.motion = spi_read(); - spi_read(); // skip Observation + spi_read(); // skip Observation // delta registers report.dx = spi_read(); report.mdx = spi_read(); report.dy = spi_read(); report.mdy = spi_read(); - if (report.motion & 0b111) { // panic recovery, sometimes burst mode works weird. + if (report.motion & 0b111) { // panic recovery, sometimes burst mode works weird. _inBurst = false; } diff --git a/drivers/sensors/pmw3389.h b/drivers/sensors/pmw3389.h index a7c95e60765d..db4a763fe358 100644 --- a/drivers/sensors/pmw3389.h +++ b/drivers/sensors/pmw3389.h @@ -59,11 +59,11 @@ typedef struct { int8_t motion; - bool isMotion; // True if a motion is detected. - bool isOnSurface; // True when a chip is on a surface - int16_t dx; // displacement on x directions. Unit: Count. (CPI * Count = Inch value) + bool isMotion; // True if a motion is detected. + bool isOnSurface; // True when a chip is on a surface + int16_t dx; // displacement on x directions. Unit: Count. (CPI * Count = Inch value) int8_t mdx; - int16_t dy; // displacement on y directions. + int16_t dy; // displacement on y directions. int8_t mdy; } report_pmw3389_t; diff --git a/drivers/usb2422.c b/drivers/usb2422.c index 62b919093b96..8ee54b24eebe 100644 --- a/drivers/usb2422.c +++ b/drivers/usb2422.c @@ -352,7 +352,7 @@ void USB2422_init() { setPinInput(USB2422_ACTIVE_PIN); #endif - i2c_init(); // IC2 clk must be high at USB2422 reset release time to signal SMB configuration + i2c_init(); // IC2 clk must be high at USB2422 reset release time to signal SMB configuration } void USB2422_configure() { @@ -363,14 +363,14 @@ void USB2422_configure() { // configure Usb2422 registers config.VID.reg = USB2422_VENDOR_ID; config.PID.reg = USB2422_PRODUCT_ID; - config.DID.reg = USB2422_DEVICE_VER; // BCD format, eg 01.01 - config.CFG1.bit.SELF_BUS_PWR = 1; // self powered for now - config.CFG1.bit.HS_DISABLE = 1; // full or high speed + config.DID.reg = USB2422_DEVICE_VER; // BCD format, eg 01.01 + config.CFG1.bit.SELF_BUS_PWR = 1; // self powered for now + config.CFG1.bit.HS_DISABLE = 1; // full or high speed // config.CFG2.bit.COMPOUND = 0; // compound device - config.CFG3.bit.STRING_EN = 1; // strings enabled + config.CFG3.bit.STRING_EN = 1; // strings enabled // config.NRD.bit.PORT2_NR = 0; // MCU is non-removable - config.MAXPB.reg = 20; // 0mA - config.HCMCB.reg = 20; // 0mA + config.MAXPB.reg = 20; // 0mA + config.HCMCB.reg = 20; // 0mA config.MFRSL.reg = sizeof(USB2422_MANUFACTURER); config.PRDSL.reg = sizeof(USB2422_PRODUCT); config.SERSL.reg = sizeof(SERNAME); diff --git a/drivers/ws2812.h b/drivers/ws2812.h index 945b3d072892..5985b5340c2a 100644 --- a/drivers/ws2812.h +++ b/drivers/ws2812.h @@ -33,19 +33,19 @@ #endif #ifndef WS2812_T1H -# define WS2812_T1H 900 // Width of a 1 bit in ns +# define WS2812_T1H 900 // Width of a 1 bit in ns #endif #ifndef WS2812_T1L -# define WS2812_T1L (WS2812_TIMING - WS2812_T1H) // Width of a 1 bit in ns +# define WS2812_T1L (WS2812_TIMING - WS2812_T1H) // Width of a 1 bit in ns #endif #ifndef WS2812_T0H -# define WS2812_T0H 350 // Width of a 0 bit in ns +# define WS2812_T0H 350 // Width of a 0 bit in ns #endif #ifndef WS2812_T0L -# define WS2812_T0L (WS2812_TIMING - WS2812_T0H) // Width of a 0 bit in ns +# define WS2812_T0L (WS2812_TIMING - WS2812_T0H) // Width of a 0 bit in ns #endif /* diff --git a/platforms/arm_atsam/bootloaders/md_boot.c b/platforms/arm_atsam/bootloaders/md_boot.c index 9cf16f3597c3..32cf850448ea 100644 --- a/platforms/arm_atsam/bootloaders/md_boot.c +++ b/platforms/arm_atsam/bootloaders/md_boot.c @@ -26,20 +26,20 @@ extern uint32_t _eram; // CTRL keyboards released with bootloader version below must use RAM method. Otherwise use WDT method. void bootloader_jump(void) { #ifdef KEYBOARD_massdrop_ctrl - uint8_t ver_ram_method[] = "v2.18Jun 22 2018 17:28:08"; // The version to match (NULL terminated by compiler) - uint8_t *ver_check = ver_ram_method; // Pointer to version match string for traversal - uint8_t *ver_rom = (uint8_t *)0x21A0; // Pointer to address in ROM where this specific bootloader version would exist + uint8_t ver_ram_method[] = "v2.18Jun 22 2018 17:28:08"; // The version to match (NULL terminated by compiler) + uint8_t *ver_check = ver_ram_method; // Pointer to version match string for traversal + uint8_t *ver_rom = (uint8_t *)0x21A0; // Pointer to address in ROM where this specific bootloader version would exist - while (*ver_check && *ver_rom == *ver_check) { // While there are check version characters to match and bootloader's version matches check's version - ver_check++; // Move check version pointer to next character - ver_rom++; // Move ROM version pointer to next character + while (*ver_check && *ver_rom == *ver_check) { // While there are check version characters to match and bootloader's version matches check's version + ver_check++; // Move check version pointer to next character + ver_rom++; // Move ROM version pointer to next character } - if (!*ver_check) { // If check version pointer is NULL, all characters have matched - *MAGIC_ADDR = BOOTLOADER_MAGIC; // Set magic number into RAM - NVIC_SystemReset(); // Perform system reset + if (!*ver_check) { // If check version pointer is NULL, all characters have matched + *MAGIC_ADDR = BOOTLOADER_MAGIC; // Set magic number into RAM + NVIC_SystemReset(); // Perform system reset while (1) - ; // Won't get here + ; // Won't get here } #endif @@ -61,5 +61,5 @@ void bootloader_jump(void) { while (!WDT->CTRLA.bit.ENABLE) ; while (1) - ; // Wait on timeout + ; // Wait on timeout } diff --git a/platforms/arm_atsam/eeprom_samd.c b/platforms/arm_atsam/eeprom_samd.c index beaffeec3021..1c1e031e5da3 100644 --- a/platforms/arm_atsam/eeprom_samd.c +++ b/platforms/arm_atsam/eeprom_samd.c @@ -155,7 +155,9 @@ void eeprom_write_block(const void *buf, void *addr, size_t len) { } } -void eeprom_update_byte(uint8_t *addr, uint8_t value) { eeprom_write_byte(addr, value); } +void eeprom_update_byte(uint8_t *addr, uint8_t value) { + eeprom_write_byte(addr, value); +} void eeprom_update_word(uint16_t *addr, uint16_t value) { uint8_t *p = (uint8_t *)addr; diff --git a/platforms/arm_atsam/eeprom_samd.h b/platforms/arm_atsam/eeprom_samd.h old mode 100755 new mode 100644 index 7dbff9bfa167..878e72865cf4 --- a/platforms/arm_atsam/eeprom_samd.h +++ b/platforms/arm_atsam/eeprom_samd.h @@ -4,5 +4,5 @@ #ifndef EEPROM_SIZE # include "eeconfig.h" -# define EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO +# define EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO #endif diff --git a/platforms/arm_atsam/suspend.c b/platforms/arm_atsam/suspend.c index de2285bc5f69..242e9c91a2fa 100644 --- a/platforms/arm_atsam/suspend.c +++ b/platforms/arm_atsam/suspend.c @@ -9,7 +9,7 @@ */ void suspend_power_down(void) { #ifdef RGB_MATRIX_ENABLE - I2C3733_Control_Set(0); // Disable LED driver + I2C3733_Control_Set(0); // Disable LED driver #endif suspend_power_down_kb(); diff --git a/platforms/arm_atsam/timer.c b/platforms/arm_atsam/timer.c index b835dd5e753f..cf01e3625e4a 100644 --- a/platforms/arm_atsam/timer.c +++ b/platforms/arm_atsam/timer.c @@ -2,18 +2,34 @@ #include "timer.h" #include "tmk_core/protocol/arm_atsam/clks.h" -void set_time(uint64_t tset) { ms_clk = tset; } +void set_time(uint64_t tset) { + ms_clk = tset; +} -void timer_init(void) { timer_clear(); } +void timer_init(void) { + timer_clear(); +} -uint16_t timer_read(void) { return (uint16_t)ms_clk; } +uint16_t timer_read(void) { + return (uint16_t)ms_clk; +} -uint32_t timer_read32(void) { return (uint32_t)ms_clk; } +uint32_t timer_read32(void) { + return (uint32_t)ms_clk; +} -uint64_t timer_read64(void) { return ms_clk; } +uint64_t timer_read64(void) { + return ms_clk; +} -uint16_t timer_elapsed(uint16_t tlast) { return TIMER_DIFF_16(timer_read(), tlast); } +uint16_t timer_elapsed(uint16_t tlast) { + return TIMER_DIFF_16(timer_read(), tlast); +} -uint32_t timer_elapsed32(uint32_t tlast) { return TIMER_DIFF_32(timer_read32(), tlast); } +uint32_t timer_elapsed32(uint32_t tlast) { + return TIMER_DIFF_32(timer_read32(), tlast); +} -void timer_clear(void) { set_time(0); } +void timer_clear(void) { + set_time(0); +} diff --git a/platforms/avr/bootloaders/dfu.c b/platforms/avr/bootloaders/dfu.c index cb42821a9304..06b2c8963ac3 100644 --- a/platforms/avr/bootloaders/dfu.c +++ b/platforms/avr/bootloaders/dfu.c @@ -30,9 +30,9 @@ uint32_t reset_key __attribute__((section(".noinit,\"aw\",@nobits;"))); __attribute__((weak)) void bootloader_jump(void) { UDCON = 1; - USBCON = (1 << FRZCLK); // disable USB + USBCON = (1 << FRZCLK); // disable USB UCSR1B = 0; - _delay_ms(5); // 5 seems to work fine + _delay_ms(5); // 5 seems to work fine // watchdog reset reset_key = BOOTLOADER_RESET_KEY; diff --git a/platforms/avr/bootloaders/halfkay.c b/platforms/avr/bootloaders/halfkay.c index 6ce2e19114a9..651696f9881d 100644 --- a/platforms/avr/bootloaders/halfkay.c +++ b/platforms/avr/bootloaders/halfkay.c @@ -27,11 +27,11 @@ __attribute__((weak)) void bootloader_jump(void) { // disable all peripherals // a shutdown call might make sense here UDCON = 1; - USBCON = (1 << FRZCLK); // disable USB + USBCON = (1 << FRZCLK); // disable USB UCSR1B = 0; _delay_ms(5); -#if defined(__AVR_AT90USB162__) // Teensy 1.0 +#if defined(__AVR_AT90USB162__) // Teensy 1.0 EIMSK = 0; PCICR = 0; SPCR = 0; @@ -47,7 +47,7 @@ __attribute__((weak)) void bootloader_jump(void) { PORTC = 0; PORTD = 0; asm volatile("jmp 0x3E00"); -#elif defined(__AVR_ATmega32U4__) // Teensy 2.0 +#elif defined(__AVR_ATmega32U4__) // Teensy 2.0 EIMSK = 0; PCICR = 0; SPCR = 0; @@ -72,7 +72,7 @@ __attribute__((weak)) void bootloader_jump(void) { PORTE = 0; PORTF = 0; asm volatile("jmp 0x7E00"); -#elif defined(__AVR_AT90USB646__) // Teensy++ 1.0 +#elif defined(__AVR_AT90USB646__) // Teensy++ 1.0 EIMSK = 0; PCICR = 0; SPCR = 0; @@ -98,7 +98,7 @@ __attribute__((weak)) void bootloader_jump(void) { PORTE = 0; PORTF = 0; asm volatile("jmp 0xFC00"); -#elif defined(__AVR_AT90USB1286__) // Teensy++ 2.0 +#elif defined(__AVR_AT90USB1286__) // Teensy++ 2.0 EIMSK = 0; PCICR = 0; SPCR = 0; diff --git a/platforms/avr/drivers/analog.c b/platforms/avr/drivers/analog.c index 628835ccef0f..ed4d56360908 100644 --- a/platforms/avr/drivers/analog.c +++ b/platforms/avr/drivers/analog.c @@ -21,9 +21,13 @@ static uint8_t aref = ADC_REF_POWER; -void analogReference(uint8_t mode) { aref = mode & (_BV(REFS1) | _BV(REFS0)); } +void analogReference(uint8_t mode) { + aref = mode & (_BV(REFS1) | _BV(REFS0)); +} -int16_t analogReadPin(pin_t pin) { return adc_read(pinToMux(pin)); } +int16_t analogReadPin(pin_t pin) { + return adc_read(pinToMux(pin)); +} uint8_t pinToMux(pin_t pin) { switch (pin) { diff --git a/platforms/avr/drivers/analog.h b/platforms/avr/drivers/analog.h index fa2fb0d89b8d..fb13e106ff1c 100644 --- a/platforms/avr/drivers/analog.h +++ b/platforms/avr/drivers/analog.h @@ -32,21 +32,21 @@ int16_t adc_read(uint8_t mux); } #endif -#define ADC_REF_EXTERNAL 0 // AREF, Internal Vref turned off -#define ADC_REF_POWER _BV(REFS0) // AVCC with external capacitor on AREF pin -#define ADC_REF_INTERNAL (_BV(REFS1) | _BV(REFS0)) // Internal 2.56V Voltage Reference with external capacitor on AREF pin (1.1V for 328P) +#define ADC_REF_EXTERNAL 0 // AREF, Internal Vref turned off +#define ADC_REF_POWER _BV(REFS0) // AVCC with external capacitor on AREF pin +#define ADC_REF_INTERNAL (_BV(REFS1) | _BV(REFS0)) // Internal 2.56V Voltage Reference with external capacitor on AREF pin (1.1V for 328P) // These prescaler values are for high speed mode, ADHSM = 1 #if F_CPU == 16000000L || F_CPU == 12000000L -# define ADC_PRESCALER (_BV(ADPS2) | _BV(ADPS1)) // /64 +# define ADC_PRESCALER (_BV(ADPS2) | _BV(ADPS1)) // /64 #elif F_CPU == 8000000L -# define ADC_PRESCALER (_BV(ADPS2) | _BV(ADPS0)) // /32 +# define ADC_PRESCALER (_BV(ADPS2) | _BV(ADPS0)) // /32 #elif F_CPU == 4000000L -# define ADC_PRESCALER (_BV(ADPS2)) // /16 +# define ADC_PRESCALER (_BV(ADPS2)) // /16 #elif F_CPU == 2000000L -# define ADC_PRESCALER (_BV(ADPS1) | _BV(ADPS0)) // /8 +# define ADC_PRESCALER (_BV(ADPS1) | _BV(ADPS0)) // /8 #elif F_CPU == 1000000L -# define ADC_PRESCALER _BV(ADPS1) // /4 +# define ADC_PRESCALER _BV(ADPS1) // /4 #else -# define ADC_PRESCALER _BV(ADPS0) // /2 +# define ADC_PRESCALER _BV(ADPS0) // /2 #endif diff --git a/platforms/avr/drivers/audio_pwm_hardware.c b/platforms/avr/drivers/audio_pwm_hardware.c index df03a4558cad..78776ee48a9f 100644 --- a/platforms/avr/drivers/audio_pwm_hardware.c +++ b/platforms/avr/drivers/audio_pwm_hardware.c @@ -152,7 +152,7 @@ extern uint8_t note_timbre; #ifdef AUDIO1_PIN_SET static float channel_1_frequency = 0.0f; void channel_1_set_frequency(float freq) { - if (freq == 0.0f) // a pause/rest is a valid "note" with freq=0 + if (freq == 0.0f) // a pause/rest is a valid "note" with freq=0 { // disable the output, but keep the pwm-ISR going (with the previous // frequency) so the audio-state keeps getting updated @@ -160,7 +160,7 @@ void channel_1_set_frequency(float freq) { AUDIO1_TCCRxA &= ~(_BV(AUDIO1_COMxy1) | _BV(AUDIO1_COMxy0)); return; } else { - AUDIO1_TCCRxA |= _BV(AUDIO1_COMxy1); // enable output, PWM mode + AUDIO1_TCCRxA |= _BV(AUDIO1_COMxy1); // enable output, PWM mode } channel_1_frequency = freq; @@ -202,7 +202,9 @@ void channel_2_set_frequency(float freq) { AUDIO2_OCRxy = (uint16_t)((((float)F_CPU) / (freq * CPU_PRESCALER)) * note_timbre / 100); } -float channel_2_get_frequency(void) { return channel_2_frequency; } +float channel_2_get_frequency(void) { + return channel_2_frequency; +} void channel_2_start(void) { AUDIO2_TIMSKx |= _BV(AUDIO2_OCIExy); diff --git a/platforms/avr/drivers/glcdfont.c b/platforms/avr/drivers/glcdfont.c index 5e763b054f89..57a21965de63 100644 --- a/platforms/avr/drivers/glcdfont.c +++ b/platforms/avr/drivers/glcdfont.c @@ -10,14 +10,14 @@ static const unsigned char font[] PROGMEM = { 0x30, 0x38, 0x3E, 0x38, 0x30, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x23, 0x13, 0x08, 0x64, 0x62, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x80, 0x70, 0x30, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x60, 0x60, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x72, 0x49, 0x49, 0x49, 0x46, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x27, 0x45, 0x45, 0x45, 0x39, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x41, 0x21, 0x11, 0x09, 0x07, 0x36, 0x49, 0x49, 0x49, 0x36, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x41, 0x22, 0x14, 0x08, 0x02, 0x01, 0x59, 0x09, 0x06, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x7F, 0x08, 0x14, 0x22, 0x41, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x26, 0x49, 0x49, 0x49, 0x32, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x63, 0x14, 0x08, 0x14, 0x63, 0x03, 0x04, 0x78, 0x04, 0x03, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x04, 0x02, 0x01, 0x02, 0x04, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x03, 0x07, 0x08, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x38, 0x44, 0x44, 0x44, 0x28, 0x38, 0x44, 0x44, 0x28, 0x7F, 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x08, 0x7E, 0x09, 0x02, 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x44, 0x7D, 0x40, 0x00, 0x20, 0x40, 0x40, 0x3D, 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, 0x7C, 0x04, 0x78, 0x04, 0x78, 0x7C, 0x08, 0x04, 0x04, 0x78, 0x38, 0x44, 0x44, 0x44, 0x38, 0xFC, 0x18, 0x24, 0x24, 0x18, 0x18, 0x24, 0x24, 0x18, 0xFC, 0x7C, 0x08, 0x04, 0x04, 0x08, 0x48, 0x54, 0x54, 0x54, 0x24, 0x04, 0x04, 0x3F, 0x44, 0x24, 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x3C, 0x40, 0x30, 0x40, 0x3C, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x41, 0x36, 0x08, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x1E, 0xA1, 0xA1, 0x61, 0x12, 0x3A, 0x40, 0x40, 0x20, 0x7A, 0x38, 0x54, 0x54, 0x55, 0x59, 0x21, 0x55, 0x55, 0x79, 0x41, 0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut - 0x21, 0x55, 0x54, 0x78, 0x40, 0x20, 0x54, 0x55, 0x79, 0x40, 0x0C, 0x1E, 0x52, 0x72, 0x12, 0x39, 0x55, 0x55, 0x55, 0x59, 0x39, 0x54, 0x54, 0x54, 0x59, 0x39, 0x55, 0x54, 0x54, 0x58, 0x00, 0x00, 0x45, 0x7C, 0x41, 0x00, 0x02, 0x45, 0x7D, 0x42, 0x00, 0x01, 0x45, 0x7C, 0x40, 0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut - 0xF0, 0x28, 0x25, 0x28, 0xF0, 0x7C, 0x54, 0x55, 0x45, 0x00, 0x20, 0x54, 0x54, 0x7C, 0x54, 0x7C, 0x0A, 0x09, 0x7F, 0x49, 0x32, 0x49, 0x49, 0x49, 0x32, 0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut - 0x32, 0x4A, 0x48, 0x48, 0x30, 0x3A, 0x41, 0x41, 0x21, 0x7A, 0x3A, 0x42, 0x40, 0x20, 0x78, 0x00, 0x9D, 0xA0, 0xA0, 0x7D, 0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut - 0x3D, 0x40, 0x40, 0x40, 0x3D, 0x3C, 0x24, 0xFF, 0x24, 0x24, 0x48, 0x7E, 0x49, 0x43, 0x66, 0x2B, 0x2F, 0xFC, 0x2F, 0x2B, 0xFF, 0x09, 0x29, 0xF6, 0x20, 0xC0, 0x88, 0x7E, 0x09, 0x03, 0x20, 0x54, 0x54, 0x79, 0x41, 0x00, 0x00, 0x44, 0x7D, 0x41, 0x30, 0x48, 0x48, 0x4A, 0x32, 0x38, 0x40, 0x40, 0x22, 0x7A, 0x00, 0x7A, 0x0A, 0x0A, 0x72, 0x7D, 0x0D, 0x19, 0x31, 0x7D, 0x26, 0x29, 0x29, 0x2F, 0x28, 0x26, 0x29, 0x29, 0x29, 0x26, 0x30, 0x48, 0x4D, 0x40, 0x20, 0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x38, 0x2F, 0x10, 0xC8, 0xAC, 0xBA, 0x2F, 0x10, 0x28, 0x34, 0xFA, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x08, 0x14, 0x2A, 0x14, 0x22, 0x22, 0x14, 0x2A, 0x14, 0x08, 0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old code - 0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block - 0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block + 0x44, 0x28, 0x10, 0x28, 0x44, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x41, 0x36, 0x08, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x1E, 0xA1, 0xA1, 0x61, 0x12, 0x3A, 0x40, 0x40, 0x20, 0x7A, 0x38, 0x54, 0x54, 0x55, 0x59, 0x21, 0x55, 0x55, 0x79, 0x41, 0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut + 0x21, 0x55, 0x54, 0x78, 0x40, 0x20, 0x54, 0x55, 0x79, 0x40, 0x0C, 0x1E, 0x52, 0x72, 0x12, 0x39, 0x55, 0x55, 0x55, 0x59, 0x39, 0x54, 0x54, 0x54, 0x59, 0x39, 0x55, 0x54, 0x54, 0x58, 0x00, 0x00, 0x45, 0x7C, 0x41, 0x00, 0x02, 0x45, 0x7D, 0x42, 0x00, 0x01, 0x45, 0x7C, 0x40, 0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut + 0xF0, 0x28, 0x25, 0x28, 0xF0, 0x7C, 0x54, 0x55, 0x45, 0x00, 0x20, 0x54, 0x54, 0x7C, 0x54, 0x7C, 0x0A, 0x09, 0x7F, 0x49, 0x32, 0x49, 0x49, 0x49, 0x32, 0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut + 0x32, 0x4A, 0x48, 0x48, 0x30, 0x3A, 0x41, 0x41, 0x21, 0x7A, 0x3A, 0x42, 0x40, 0x20, 0x78, 0x00, 0x9D, 0xA0, 0xA0, 0x7D, 0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut + 0x3D, 0x40, 0x40, 0x40, 0x3D, 0x3C, 0x24, 0xFF, 0x24, 0x24, 0x48, 0x7E, 0x49, 0x43, 0x66, 0x2B, 0x2F, 0xFC, 0x2F, 0x2B, 0xFF, 0x09, 0x29, 0xF6, 0x20, 0xC0, 0x88, 0x7E, 0x09, 0x03, 0x20, 0x54, 0x54, 0x79, 0x41, 0x00, 0x00, 0x44, 0x7D, 0x41, 0x30, 0x48, 0x48, 0x4A, 0x32, 0x38, 0x40, 0x40, 0x22, 0x7A, 0x00, 0x7A, 0x0A, 0x0A, 0x72, 0x7D, 0x0D, 0x19, 0x31, 0x7D, 0x26, 0x29, 0x29, 0x2F, 0x28, 0x26, 0x29, 0x29, 0x29, 0x26, 0x30, 0x48, 0x4D, 0x40, 0x20, 0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x38, 0x2F, 0x10, 0xC8, 0xAC, 0xBA, 0x2F, 0x10, 0x28, 0x34, 0xFA, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x08, 0x14, 0x2A, 0x14, 0x22, 0x22, 0x14, 0x2A, 0x14, 0x08, 0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old code + 0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block + 0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block 0x00, 0x00, 0x00, 0xFF, 0x00, 0x10, 0x10, 0x10, 0xFF, 0x00, 0x14, 0x14, 0x14, 0xFF, 0x00, 0x10, 0x10, 0xFF, 0x00, 0xFF, 0x10, 0x10, 0xF0, 0x10, 0xF0, 0x14, 0x14, 0x14, 0xFC, 0x00, 0x14, 0x14, 0xF7, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x14, 0x14, 0xF4, 0x04, 0xFC, 0x14, 0x14, 0x17, 0x10, 0x1F, 0x10, 0x10, 0x1F, 0x10, 0x1F, 0x14, 0x14, 0x14, 0x1F, 0x00, 0x10, 0x10, 0x10, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x10, 0x10, 0x10, 0x10, 0x1F, 0x10, 0x10, 0x10, 0x10, 0xF0, 0x10, 0x00, 0x00, 0x00, 0xFF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xFF, 0x10, 0x00, 0x00, 0x00, 0xFF, 0x14, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x1F, 0x10, 0x17, 0x00, 0x00, 0xFC, 0x04, 0xF4, 0x14, 0x14, 0x17, 0x10, 0x17, 0x14, 0x14, 0xF4, 0x04, 0xF4, 0x00, 0x00, 0xFF, 0x00, 0xF7, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0xF7, 0x00, 0xF7, 0x14, 0x14, 0x14, 0x17, 0x14, 0x10, 0x10, 0x1F, 0x10, 0x1F, - 0x14, 0x14, 0x14, 0xF4, 0x14, 0x10, 0x10, 0xF0, 0x10, 0xF0, 0x00, 0x00, 0x1F, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x14, 0x00, 0x00, 0x00, 0xFC, 0x14, 0x00, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0x10, 0xFF, 0x10, 0xFF, 0x14, 0x14, 0x14, 0xFF, 0x14, 0x10, 0x10, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x38, 0x44, 0x44, 0x38, 0x44, 0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta - 0x7E, 0x02, 0x02, 0x06, 0x06, 0x02, 0x7E, 0x02, 0x7E, 0x02, 0x63, 0x55, 0x49, 0x41, 0x63, 0x38, 0x44, 0x44, 0x3C, 0x04, 0x40, 0x7E, 0x20, 0x1E, 0x20, 0x06, 0x02, 0x7E, 0x02, 0x02, 0x99, 0xA5, 0xE7, 0xA5, 0x99, 0x1C, 0x2A, 0x49, 0x2A, 0x1C, 0x4C, 0x72, 0x01, 0x72, 0x4C, 0x30, 0x4A, 0x4D, 0x4D, 0x30, 0x30, 0x48, 0x78, 0x48, 0x30, 0xBC, 0x62, 0x5A, 0x46, 0x3D, 0x3E, 0x49, 0x49, 0x49, 0x00, 0x7E, 0x01, 0x01, 0x01, 0x7E, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x44, 0x44, 0x5F, 0x44, 0x44, 0x40, 0x51, 0x4A, 0x44, 0x40, 0x40, 0x44, 0x4A, 0x51, 0x40, 0x00, 0x00, 0xFF, 0x01, 0x03, 0xE0, 0x80, 0xFF, 0x00, 0x00, 0x08, 0x08, 0x6B, 0x6B, 0x08, 0x36, 0x12, 0x36, 0x24, 0x36, 0x06, 0x0F, 0x09, 0x0F, 0x06, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x30, 0x40, 0xFF, 0x01, 0x01, 0x00, 0x1F, 0x01, 0x01, 0x1E, 0x00, 0x19, 0x1D, 0x17, 0x12, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP + 0x14, 0x14, 0x14, 0xF4, 0x14, 0x10, 0x10, 0xF0, 0x10, 0xF0, 0x00, 0x00, 0x1F, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x14, 0x00, 0x00, 0x00, 0xFC, 0x14, 0x00, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0x10, 0xFF, 0x10, 0xFF, 0x14, 0x14, 0x14, 0xFF, 0x14, 0x10, 0x10, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x38, 0x44, 0x44, 0x38, 0x44, 0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta + 0x7E, 0x02, 0x02, 0x06, 0x06, 0x02, 0x7E, 0x02, 0x7E, 0x02, 0x63, 0x55, 0x49, 0x41, 0x63, 0x38, 0x44, 0x44, 0x3C, 0x04, 0x40, 0x7E, 0x20, 0x1E, 0x20, 0x06, 0x02, 0x7E, 0x02, 0x02, 0x99, 0xA5, 0xE7, 0xA5, 0x99, 0x1C, 0x2A, 0x49, 0x2A, 0x1C, 0x4C, 0x72, 0x01, 0x72, 0x4C, 0x30, 0x4A, 0x4D, 0x4D, 0x30, 0x30, 0x48, 0x78, 0x48, 0x30, 0xBC, 0x62, 0x5A, 0x46, 0x3D, 0x3E, 0x49, 0x49, 0x49, 0x00, 0x7E, 0x01, 0x01, 0x01, 0x7E, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x44, 0x44, 0x5F, 0x44, 0x44, 0x40, 0x51, 0x4A, 0x44, 0x40, 0x40, 0x44, 0x4A, 0x51, 0x40, 0x00, 0x00, 0xFF, 0x01, 0x03, 0xE0, 0x80, 0xFF, 0x00, 0x00, 0x08, 0x08, 0x6B, 0x6B, 0x08, 0x36, 0x12, 0x36, 0x24, 0x36, 0x06, 0x0F, 0x09, 0x0F, 0x06, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x30, 0x40, 0xFF, 0x01, 0x01, 0x00, 0x1F, 0x01, 0x01, 0x1E, 0x00, 0x19, 0x1D, 0x17, 0x12, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP }; diff --git a/platforms/avr/drivers/hd44780.c b/platforms/avr/drivers/hd44780.c index f71069dece74..f15d7d0da832 100644 --- a/platforms/avr/drivers/hd44780.c +++ b/platforms/avr/drivers/hd44780.c @@ -262,7 +262,7 @@ static uint8_t lcd_waitbusy(void) delay(LCD_DELAY_BUSY_FLAG); /* now read the address counter */ - return (lcd_read(0)); // return address counter + return (lcd_read(0)); // return address counter } /* lcd_waitbusy */ @@ -362,17 +362,23 @@ void lcd_gotoxy(uint8_t x, uint8_t y) { /************************************************************************* *************************************************************************/ -int lcd_getxy(void) { return lcd_waitbusy(); } +int lcd_getxy(void) { + return lcd_waitbusy(); +} /************************************************************************* Clear display and set cursor to home position *************************************************************************/ -void lcd_clrscr(void) { lcd_command(1 << LCD_CLR); } +void lcd_clrscr(void) { + lcd_command(1 << LCD_CLR); +} /************************************************************************* Set cursor to home position *************************************************************************/ -void lcd_home(void) { lcd_command(1 << LCD_HOME); } +void lcd_home(void) { + lcd_command(1 << LCD_HOME); +} /************************************************************************* Display character at current cursor position @@ -382,7 +388,7 @@ Returns: none void lcd_putc(char c) { uint8_t pos; - pos = lcd_waitbusy(); // read busy-flag and address counter + pos = lcd_waitbusy(); // read busy-flag and address counter if (c == '\n') { lcd_newline(pos); } else { @@ -483,8 +489,8 @@ void lcd_init(uint8_t dispAttr) { delay(LCD_DELAY_BOOTUP); /* wait 16ms or more after power-on */ /* initial write to lcd is 8bit */ - LCD_DATA1_PORT |= _BV(LCD_DATA1_PIN); // LCD_FUNCTION>>4; - LCD_DATA0_PORT |= _BV(LCD_DATA0_PIN); // LCD_FUNCTION_8BIT>>4; + LCD_DATA1_PORT |= _BV(LCD_DATA1_PIN); // LCD_FUNCTION>>4; + LCD_DATA0_PORT |= _BV(LCD_DATA0_PIN); // LCD_FUNCTION_8BIT>>4; lcd_e_toggle(); delay(LCD_DELAY_INIT); /* delay, busy flag can't be checked here */ @@ -497,7 +503,7 @@ void lcd_init(uint8_t dispAttr) { delay(LCD_DELAY_INIT_REP); /* delay, busy flag can't be checked here */ /* now configure for 4bit mode */ - LCD_DATA0_PORT &= ~_BV(LCD_DATA0_PIN); // LCD_FUNCTION_4BIT_1LINE>>4 + LCD_DATA0_PORT &= ~_BV(LCD_DATA0_PIN); // LCD_FUNCTION_4BIT_1LINE>>4 lcd_e_toggle(); delay(LCD_DELAY_INIT_4BIT); /* some displays need this additional delay */ diff --git a/platforms/avr/drivers/i2c_master.c b/platforms/avr/drivers/i2c_master.c index d4024378cafe..c1a7b5f72d9d 100644 --- a/platforms/avr/drivers/i2c_master.c +++ b/platforms/avr/drivers/i2c_master.c @@ -25,12 +25,12 @@ #include "wait.h" #ifndef F_SCL -# define F_SCL 400000UL // SCL frequency +# define F_SCL 400000UL // SCL frequency #endif #ifndef I2C_START_RETRY_COUNT # define I2C_START_RETRY_COUNT 20 -#endif // I2C_START_RETRY_COUNT +#endif // I2C_START_RETRY_COUNT #define I2C_ACTION_READ 0x01 #define I2C_ACTION_WRITE 0x00 @@ -98,7 +98,7 @@ static i2c_status_t i2c_start_impl(uint8_t address, uint16_t timeout) { i2c_status_t i2c_start(uint8_t address, uint16_t timeout) { // Retry i2c_start_impl a bunch times in case the remote side has interrupts disabled. uint16_t timeout_timer = timer_read(); - uint16_t time_slice = MAX(1, (timeout == (I2C_TIMEOUT_INFINITE)) ? 5 : (timeout / (I2C_START_RETRY_COUNT))); // if it's infinite, wait 1ms between attempts, otherwise split up the entire timeout into the number of retries + uint16_t time_slice = MAX(1, (timeout == (I2C_TIMEOUT_INFINITE)) ? 5 : (timeout / (I2C_START_RETRY_COUNT))); // if it's infinite, wait 1ms between attempts, otherwise split up the entire timeout into the number of retries i2c_status_t status; do { status = i2c_start_impl(address, time_slice); diff --git a/platforms/avr/drivers/i2c_slave.c b/platforms/avr/drivers/i2c_slave.c index 2907f164c07d..660d271be2ba 100644 --- a/platforms/avr/drivers/i2c_slave.c +++ b/platforms/avr/drivers/i2c_slave.c @@ -29,7 +29,7 @@ # include "transactions.h" static volatile bool is_callback_executor = false; -#endif // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) +#endif // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) volatile uint8_t i2c_slave_reg[I2C_SLAVE_REG_COUNT]; @@ -57,7 +57,7 @@ ISR(TWI_vect) { slave_has_register_set = false; #if defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) is_callback_executor = false; -#endif // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) +#endif // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) break; case TW_SR_DATA_ACK: @@ -66,16 +66,16 @@ ISR(TWI_vect) { if (!slave_has_register_set) { buffer_address = TWDR; - if (buffer_address >= I2C_SLAVE_REG_COUNT) { // address out of bounds dont ack + if (buffer_address >= I2C_SLAVE_REG_COUNT) { // address out of bounds dont ack ack = 0; buffer_address = 0; } - slave_has_register_set = true; // address has been received now fill in buffer + slave_has_register_set = true; // address has been received now fill in buffer #if defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) // Work out if we're attempting to execute a callback is_callback_executor = buffer_address == split_transaction_table[I2C_EXECUTE_CALLBACK].initiator2target_offset; -#endif // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) +#endif // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) } else { i2c_slave_reg[buffer_address] = TWDR; buffer_address++; @@ -88,7 +88,7 @@ ISR(TWI_vect) { trans->slave_callback(trans->initiator2target_buffer_size, split_trans_initiator2target_buffer(trans), trans->target2initiator_buffer_size, split_trans_target2initiator_buffer(trans)); } } -#endif // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) +#endif // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) } break; diff --git a/platforms/avr/drivers/i2c_slave.h b/platforms/avr/drivers/i2c_slave.h index a8647c9da3e3..178b6a29dfac 100644 --- a/platforms/avr/drivers/i2c_slave.h +++ b/platforms/avr/drivers/i2c_slave.h @@ -27,11 +27,11 @@ # if defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) # include "transport.h" # define I2C_SLAVE_REG_COUNT sizeof(split_shared_memory_t) -# else // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) +# else // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) # define I2C_SLAVE_REG_COUNT 30 -# endif // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) +# endif // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) -#endif // I2C_SLAVE_REG_COUNT +#endif // I2C_SLAVE_REG_COUNT _Static_assert(I2C_SLAVE_REG_COUNT < 256, "I2C target registers must be single byte"); diff --git a/platforms/avr/drivers/ps2/ps2_io.c b/platforms/avr/drivers/ps2/ps2_io.c index 7c826fbf1aac..b75a1ab0bec7 100644 --- a/platforms/avr/drivers/ps2/ps2_io.c +++ b/platforms/avr/drivers/ps2/ps2_io.c @@ -23,7 +23,9 @@ void clock_lo(void) { setPinOutput(PS2_CLOCK_PIN); } -void clock_hi(void) { setPinInputHigh(PS2_CLOCK_PIN); } +void clock_hi(void) { + setPinInputHigh(PS2_CLOCK_PIN); +} bool clock_in(void) { setPinInputHigh(PS2_CLOCK_PIN); @@ -42,7 +44,9 @@ void data_lo(void) { setPinOutput(PS2_DATA_PIN); } -void data_hi(void) { setPinInputHigh(PS2_DATA_PIN); } +void data_hi(void) { + setPinInputHigh(PS2_DATA_PIN); +} bool data_in(void) { setPinInputHigh(PS2_DATA_PIN); diff --git a/platforms/avr/drivers/ps2/ps2_usart.c b/platforms/avr/drivers/ps2/ps2_usart.c index 151cfcd68f3a..39ec930d4aa1 100644 --- a/platforms/avr/drivers/ps2/ps2_usart.c +++ b/platforms/avr/drivers/ps2/ps2_usart.c @@ -76,7 +76,7 @@ static inline bool pbuf_has_data(void); static inline void pbuf_clear(void); void ps2_host_init(void) { - idle(); // without this many USART errors occur when cable is disconnected + idle(); // without this many USART errors occur when cable is disconnected PS2_USART_INIT(); PS2_USART_RX_INT_ON(); // POR(150-2000ms) plus BAT(300-500ms) may take 2.5sec([3]p.20) @@ -91,12 +91,12 @@ uint8_t ps2_host_send(uint8_t data) { /* terminate a transmission if we have */ inhibit(); - _delay_us(100); // [4]p.13 + _delay_us(100); // [4]p.13 /* 'Request to Send' and Start bit */ data_lo(); clock_hi(); - WAIT(clock_lo, 10000, 10); // 10ms [5]p.50 + WAIT(clock_lo, 10000, 10); // 10ms [5]p.50 /* Data bit[2-9] */ for (uint8_t i = 0; i < 8; i++) { @@ -165,7 +165,7 @@ uint8_t ps2_host_recv(void) { ISR(PS2_USART_RX_VECT) { // TODO: request RESEND when error occurs? - uint8_t error = PS2_USART_ERROR; // USART error should be read before data + uint8_t error = PS2_USART_ERROR; // USART error should be read before data uint8_t data = PS2_USART_RX_DATA; if (!error) { pbuf_enqueue(data); diff --git a/platforms/avr/drivers/serial.c b/platforms/avr/drivers/serial.c index 62908e587578..6a36aa5f7f15 100644 --- a/platforms/avr/drivers/serial.c +++ b/platforms/avr/drivers/serial.c @@ -156,59 +156,59 @@ # if SELECT_SOFT_SERIAL_SPEED == 0 // Very High speed -# define SERIAL_DELAY 4 // micro sec +# define SERIAL_DELAY 4 // micro sec # if __GNUC__ < 6 -# define READ_WRITE_START_ADJUST 33 // cycles -# define READ_WRITE_WIDTH_ADJUST 3 // cycles +# define READ_WRITE_START_ADJUST 33 // cycles +# define READ_WRITE_WIDTH_ADJUST 3 // cycles # else -# define READ_WRITE_START_ADJUST 34 // cycles -# define READ_WRITE_WIDTH_ADJUST 7 // cycles +# define READ_WRITE_START_ADJUST 34 // cycles +# define READ_WRITE_WIDTH_ADJUST 7 // cycles # endif # elif SELECT_SOFT_SERIAL_SPEED == 1 // High speed -# define SERIAL_DELAY 6 // micro sec +# define SERIAL_DELAY 6 // micro sec # if __GNUC__ < 6 -# define READ_WRITE_START_ADJUST 30 // cycles -# define READ_WRITE_WIDTH_ADJUST 3 // cycles +# define READ_WRITE_START_ADJUST 30 // cycles +# define READ_WRITE_WIDTH_ADJUST 3 // cycles # else -# define READ_WRITE_START_ADJUST 33 // cycles -# define READ_WRITE_WIDTH_ADJUST 7 // cycles +# define READ_WRITE_START_ADJUST 33 // cycles +# define READ_WRITE_WIDTH_ADJUST 7 // cycles # endif # elif SELECT_SOFT_SERIAL_SPEED == 2 // Middle speed -# define SERIAL_DELAY 12 // micro sec -# define READ_WRITE_START_ADJUST 30 // cycles +# define SERIAL_DELAY 12 // micro sec +# define READ_WRITE_START_ADJUST 30 // cycles # if __GNUC__ < 6 -# define READ_WRITE_WIDTH_ADJUST 3 // cycles +# define READ_WRITE_WIDTH_ADJUST 3 // cycles # else -# define READ_WRITE_WIDTH_ADJUST 7 // cycles +# define READ_WRITE_WIDTH_ADJUST 7 // cycles # endif # elif SELECT_SOFT_SERIAL_SPEED == 3 // Low speed -# define SERIAL_DELAY 24 // micro sec -# define READ_WRITE_START_ADJUST 30 // cycles +# define SERIAL_DELAY 24 // micro sec +# define READ_WRITE_START_ADJUST 30 // cycles # if __GNUC__ < 6 -# define READ_WRITE_WIDTH_ADJUST 3 // cycles +# define READ_WRITE_WIDTH_ADJUST 3 // cycles # else -# define READ_WRITE_WIDTH_ADJUST 7 // cycles +# define READ_WRITE_WIDTH_ADJUST 7 // cycles # endif # elif SELECT_SOFT_SERIAL_SPEED == 4 // Very Low speed -# define SERIAL_DELAY 36 // micro sec -# define READ_WRITE_START_ADJUST 30 // cycles +# define SERIAL_DELAY 36 // micro sec +# define READ_WRITE_START_ADJUST 30 // cycles # if __GNUC__ < 6 -# define READ_WRITE_WIDTH_ADJUST 3 // cycles +# define READ_WRITE_WIDTH_ADJUST 3 // cycles # else -# define READ_WRITE_WIDTH_ADJUST 7 // cycles +# define READ_WRITE_WIDTH_ADJUST 7 // cycles # endif # elif SELECT_SOFT_SERIAL_SPEED == 5 // Ultra Low speed -# define SERIAL_DELAY 48 // micro sec -# define READ_WRITE_START_ADJUST 30 // cycles +# define SERIAL_DELAY 48 // micro sec +# define READ_WRITE_START_ADJUST 30 // cycles # if __GNUC__ < 6 -# define READ_WRITE_WIDTH_ADJUST 3 // cycles +# define READ_WRITE_WIDTH_ADJUST 3 // cycles # else -# define READ_WRITE_WIDTH_ADJUST 7 // cycles +# define READ_WRITE_WIDTH_ADJUST 7 // cycles # endif # else # error invalid SELECT_SOFT_SERIAL_SPEED value @@ -223,29 +223,45 @@ # define SLAVE_INT_ACK_WIDTH 4 inline static void serial_delay(void) ALWAYS_INLINE; -inline static void serial_delay(void) { _delay_us(SERIAL_DELAY); } +inline static void serial_delay(void) { + _delay_us(SERIAL_DELAY); +} inline static void serial_delay_half1(void) ALWAYS_INLINE; -inline static void serial_delay_half1(void) { _delay_us(SERIAL_DELAY_HALF1); } +inline static void serial_delay_half1(void) { + _delay_us(SERIAL_DELAY_HALF1); +} inline static void serial_delay_half2(void) ALWAYS_INLINE; -inline static void serial_delay_half2(void) { _delay_us(SERIAL_DELAY_HALF2); } +inline static void serial_delay_half2(void) { + _delay_us(SERIAL_DELAY_HALF2); +} inline static void serial_output(void) ALWAYS_INLINE; -inline static void serial_output(void) { setPinOutput(SOFT_SERIAL_PIN); } +inline static void serial_output(void) { + setPinOutput(SOFT_SERIAL_PIN); +} // make the serial pin an input with pull-up resistor inline static void serial_input_with_pullup(void) ALWAYS_INLINE; -inline static void serial_input_with_pullup(void) { setPinInputHigh(SOFT_SERIAL_PIN); } +inline static void serial_input_with_pullup(void) { + setPinInputHigh(SOFT_SERIAL_PIN); +} inline static uint8_t serial_read_pin(void) ALWAYS_INLINE; -inline static uint8_t serial_read_pin(void) { return !!readPin(SOFT_SERIAL_PIN); } +inline static uint8_t serial_read_pin(void) { + return !!readPin(SOFT_SERIAL_PIN); +} inline static void serial_low(void) ALWAYS_INLINE; -inline static void serial_low(void) { writePinLow(SOFT_SERIAL_PIN); } +inline static void serial_low(void) { + writePinLow(SOFT_SERIAL_PIN); +} inline static void serial_high(void) ALWAYS_INLINE; -inline static void serial_high(void) { writePinHigh(SOFT_SERIAL_PIN); } +inline static void serial_high(void) { + writePinHigh(SOFT_SERIAL_PIN); +} void soft_serial_initiator_init(void) { serial_output(); @@ -286,7 +302,7 @@ static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) { _delay_sub_us(READ_WRITE_START_ADJUST); for (i = 0, byte = 0, p = PARITY; i < bit; i++) { - serial_delay_half1(); // read the middle of pulses + serial_delay_half1(); // read the middle of pulses if (serial_read_pin()) { byte = (byte << 1) | 1; p ^= 1; @@ -298,7 +314,7 @@ static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) { serial_delay_half2(); } /* recive parity bit */ - serial_delay_half1(); // read the middle of pulses + serial_delay_half1(); // read the middle of pulses pb = serial_read_pin(); _delay_sub_us(READ_WRITE_WIDTH_ADJUST); serial_delay_half2(); @@ -330,7 +346,7 @@ void serial_write_chunk(uint8_t data, uint8_t bit) { } serial_delay(); - serial_low(); // sync_send() / senc_recv() need raise edge + serial_low(); // sync_send() / senc_recv() need raise edge } static void serial_send_packet(uint8_t *buffer, uint8_t size) NO_INLINE; @@ -356,19 +372,19 @@ static uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) { } inline static void change_sender2reciver(void) { - sync_send(); // 0 - serial_delay_half1(); // 1 - serial_low(); // 2 - serial_input_with_pullup(); // 2 - serial_delay_half1(); // 3 + sync_send(); // 0 + serial_delay_half1(); // 1 + serial_low(); // 2 + serial_input_with_pullup(); // 2 + serial_delay_half1(); // 3 } inline static void change_reciver2sender(void) { - sync_recv(); // 0 - serial_delay(); // 1 - serial_low(); // 3 - serial_output(); // 3 - serial_delay_half1(); // 4 + sync_recv(); // 0 + serial_delay(); // 1 + serial_low(); // 3 + serial_output(); // 3 + serial_delay_half1(); // 4 } static inline uint8_t nibble_bits_count(uint8_t bits) { @@ -391,11 +407,11 @@ ISR(SERIAL_PIN_INTERRUPT) { } serial_delay_half1(); - serial_high(); // response step1 low->high + serial_high(); // response step1 low->high serial_output(); _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT * SLAVE_INT_ACK_WIDTH); split_transaction_desc_t *trans = &split_transaction_table[tid]; - serial_low(); // response step2 ack high->low + serial_low(); // response step2 ack high->low // If the transaction has a callback, we can execute it now if (trans->slave_callback) { @@ -412,7 +428,7 @@ ISR(SERIAL_PIN_INTERRUPT) { serial_recive_packet((uint8_t *)split_trans_initiator2target_buffer(trans), trans->initiator2target_buffer_size); } - sync_recv(); // weit initiator output to high + sync_recv(); // weit initiator output to high } ///////// diff --git a/platforms/avr/drivers/spi_master.c b/platforms/avr/drivers/spi_master.c index 4e8fd3bcdfb1..ae9df03c02dc 100644 --- a/platforms/avr/drivers/spi_master.c +++ b/platforms/avr/drivers/spi_master.c @@ -125,7 +125,7 @@ spi_status_t spi_write(uint8_t data) { } spi_status_t spi_read() { - SPDR = 0x00; // Dummy + SPDR = 0x00; // Dummy uint16_t timeout_timer = timer_read(); while (!(SPSR & _BV(SPIF))) { diff --git a/platforms/avr/drivers/ssd1306.c b/platforms/avr/drivers/ssd1306.c index 1a09a2bcb789..7afbc09f0015 100644 --- a/platforms/avr/drivers/ssd1306.c +++ b/platforms/avr/drivers/ssd1306.c @@ -161,7 +161,7 @@ bool iota_gfx_init(void) { send_cmd1(DeActivateScroll); send_cmd1(DisplayOn); - send_cmd2(SetContrast, 0); // Dim + send_cmd2(SetContrast, 0); // Dim clear_display(); @@ -226,7 +226,9 @@ void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c) { matrix_write_char_inner(matrix, c); } -void iota_gfx_write_char(uint8_t c) { matrix_write_char(&display, c); } +void iota_gfx_write_char(uint8_t c) { + matrix_write_char(&display, c); +} void matrix_write(struct CharacterMatrix *matrix, const char *data) { const char *end = data + strlen(data); @@ -236,7 +238,9 @@ void matrix_write(struct CharacterMatrix *matrix, const char *data) { } } -void iota_gfx_write(const char *data) { matrix_write(&display, data); } +void iota_gfx_write(const char *data) { + matrix_write(&display, data); +} void matrix_write_P(struct CharacterMatrix *matrix, const char *data) { while (true) { @@ -249,7 +253,9 @@ void matrix_write_P(struct CharacterMatrix *matrix, const char *data) { } } -void iota_gfx_write_P(const char *data) { matrix_write_P(&display, data); } +void iota_gfx_write_P(const char *data) { + matrix_write_P(&display, data); +} void matrix_clear(struct CharacterMatrix *matrix) { memset(matrix->display, ' ', sizeof(matrix->display)); @@ -257,7 +263,9 @@ void matrix_clear(struct CharacterMatrix *matrix) { matrix->dirty = true; } -void iota_gfx_clear_screen(void) { matrix_clear(&display); } +void iota_gfx_clear_screen(void) { + matrix_clear(&display); +} void matrix_render(struct CharacterMatrix *matrix) { last_flush = timer_read(); @@ -301,7 +309,9 @@ void matrix_render(struct CharacterMatrix *matrix) { # endif } -void iota_gfx_flush(void) { matrix_render(&display); } +void iota_gfx_flush(void) { + matrix_render(&display); +} __attribute__((weak)) void iota_gfx_task_user(void) {} diff --git a/platforms/avr/drivers/uart.c b/platforms/avr/drivers/uart.c index 01cf6b1fb8db..fd5caf9a78a3 100644 --- a/platforms/avr/drivers/uart.c +++ b/platforms/avr/drivers/uart.c @@ -108,7 +108,7 @@ void uart_write(uint8_t data) { // return immediately to avoid deadlock when interrupt is disabled(called from ISR) if (tx_buffer_tail == i && (SREG & (1 << SREG_I)) == 0) return; while (tx_buffer_tail == i) - ; // wait until space in buffer + ; // wait until space in buffer // cli(); tx_buffer[i] = data; tx_buffer_head = i; @@ -121,7 +121,7 @@ uint8_t uart_read(void) { uint8_t data, i; while (rx_buffer_head == rx_buffer_tail) - ; // wait for character + ; // wait for character i = rx_buffer_tail + 1; if (i >= RX_BUFFER_SIZE) i = 0; data = rx_buffer[i]; diff --git a/platforms/avr/drivers/ws2812.c b/platforms/avr/drivers/ws2812.c index 9150b3c520ca..c461ab3ba791 100644 --- a/platforms/avr/drivers/ws2812.c +++ b/platforms/avr/drivers/ws2812.c @@ -110,7 +110,7 @@ static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t asm volatile(" ldi %0,8 \n\t" "loop%=: \n\t" - " out %2,%3 \n\t" // '1' [01] '0' [01] - re + " out %2,%3 \n\t" // '1' [01] '0' [01] - re #if (w1_nops & 1) w_nop1 #endif @@ -126,9 +126,9 @@ static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t #if (w1_nops & 16) w_nop16 #endif - " sbrs %1,7 \n\t" // '1' [03] '0' [02] - " out %2,%4 \n\t" // '1' [--] '0' [03] - fe-low - " lsl %1 \n\t" // '1' [04] '0' [04] + " sbrs %1,7 \n\t" // '1' [03] '0' [02] + " out %2,%4 \n\t" // '1' [--] '0' [03] - fe-low + " lsl %1 \n\t" // '1' [04] '0' [04] #if (w2_nops & 1) w_nop1 #endif @@ -144,7 +144,7 @@ static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t #if (w2_nops & 16) w_nop16 #endif - " out %2,%4 \n\t" // '1' [+1] '0' [+1] - fe-high + " out %2,%4 \n\t" // '1' [+1] '0' [+1] - fe-high #if (w3_nops & 1) w_nop1 #endif @@ -161,8 +161,8 @@ static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t w_nop16 #endif - " dec %0 \n\t" // '1' [+2] '0' [+2] - " brne loop%=\n\t" // '1' [+3] '0' [+4] + " dec %0 \n\t" // '1' [+2] '0' [+2] + " brne loop%=\n\t" // '1' [+3] '0' [+4] : "=&d"(ctr) : "r"(curbyte), "I"(_SFR_IO_ADDR(PORTx_ADDRESS(RGB_DI_PIN))), "r"(maskhi), "r"(masklo)); } diff --git a/platforms/avr/drivers/ws2812_i2c.c b/platforms/avr/drivers/ws2812_i2c.c index 1c332e24b602..709f3822547f 100644 --- a/platforms/avr/drivers/ws2812_i2c.c +++ b/platforms/avr/drivers/ws2812_i2c.c @@ -13,7 +13,9 @@ # define WS2812_TIMEOUT 100 #endif -void ws2812_init(void) { i2c_init(); } +void ws2812_init(void) { + i2c_init(); +} // Setleds for standard RGB void ws2812_setleds(LED_TYPE *ledarray, uint16_t leds) { diff --git a/platforms/avr/pin_defs.h b/platforms/avr/pin_defs.h index 23d948041d3b..3889704a8785 100644 --- a/platforms/avr/pin_defs.h +++ b/platforms/avr/pin_defs.h @@ -17,7 +17,7 @@ #include -#define PORT_SHIFTER 4 // this may be 4 for all AVR chips +#define PORT_SHIFTER 4 // this may be 4 for all AVR chips // If you want to add more to this list, reference the PINx definitions in these header // files: https://github.com/vancegroup-mirrors/avr-libc/tree/master/avr-libc/include/avr diff --git a/platforms/avr/printf.c b/platforms/avr/printf.c index 9ad7a38693c5..062f70fa0bb0 100644 --- a/platforms/avr/printf.c +++ b/platforms/avr/printf.c @@ -17,4 +17,6 @@ along with this program. If not, see . #include "xprintf.h" #include "sendchar.h" -void print_set_sendchar(sendchar_func_t func) { xdev_out(func); } +void print_set_sendchar(sendchar_func_t func) { + xdev_out(func); +} diff --git a/platforms/avr/sleep_led.c b/platforms/avr/sleep_led.c index 9a3b52abe54c..b05431633ba3 100644 --- a/platforms/avr/sleep_led.c +++ b/platforms/avr/sleep_led.c @@ -12,7 +12,7 @@ #if SLEEP_LED_TIMER == 1 # define TCCRxB TCCR1B # define TIMERx_COMPA_vect TIMER1_COMPA_vect -# if defined(__AVR_ATmega32A__) // This MCU has only one TIMSK register +# if defined(__AVR_ATmega32A__) // This MCU has only one TIMSK register # define TIMSKx TIMSK # else # define TIMSKx TIMSK1 diff --git a/platforms/avr/suspend.c b/platforms/avr/suspend.c index b61597943936..1a7cd3b4ab8d 100644 --- a/platforms/avr/suspend.c +++ b/platforms/avr/suspend.c @@ -81,7 +81,7 @@ ISR(WDT_vect) { // compensate timer for sleep switch (wdt_timeout) { case WDTO_15MS: - timer_count += 15 + 2; // WDTO_15MS + 2(from observation) + timer_count += 15 + 2; // WDTO_15MS + 2(from observation) break; default:; } diff --git a/platforms/avr/timer.c b/platforms/avr/timer.c index c2e6c6e08125..9fb671ae8d88 100644 --- a/platforms/avr/timer.c +++ b/platforms/avr/timer.c @@ -73,7 +73,9 @@ void timer_init(void) { * FIXME: needs doc */ inline void timer_clear(void) { - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { timer_count = 0; } + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + timer_count = 0; + } } /** \brief timer read @@ -83,7 +85,9 @@ inline void timer_clear(void) { inline uint16_t timer_read(void) { uint32_t t; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { t = timer_count; } + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + t = timer_count; + } return (t & 0xFFFF); } @@ -95,7 +99,9 @@ inline uint16_t timer_read(void) { inline uint32_t timer_read32(void) { uint32_t t; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { t = timer_count; } + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + t = timer_count; + } return t; } @@ -107,7 +113,9 @@ inline uint32_t timer_read32(void) { inline uint16_t timer_elapsed(uint16_t last) { uint32_t t; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { t = timer_count; } + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + t = timer_count; + } return TIMER_DIFF_16((t & 0xFFFF), last); } @@ -119,7 +127,9 @@ inline uint16_t timer_elapsed(uint16_t last) { inline uint32_t timer_elapsed32(uint32_t last) { uint32_t t; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { t = timer_count; } + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + t = timer_count; + } return TIMER_DIFF_32(t, last); } @@ -130,4 +140,6 @@ inline uint32_t timer_elapsed32(uint32_t last) { #else # define TIMER_INTERRUPT_VECTOR TIMER0_COMP_vect #endif -ISR(TIMER_INTERRUPT_VECTOR, ISR_NOBLOCK) { timer_count++; } +ISR(TIMER_INTERRUPT_VECTOR, ISR_NOBLOCK) { + timer_count++; +} diff --git a/platforms/chibios/bootloaders/stm32_dfu.c b/platforms/chibios/bootloaders/stm32_dfu.c index 0a113570f728..0e7411136706 100644 --- a/platforms/chibios/bootloaders/stm32_dfu.c +++ b/platforms/chibios/bootloaders/stm32_dfu.c @@ -72,7 +72,7 @@ void enter_bootloader_mode_if_requested(void) {} # define MAGIC_ADDR (unsigned long *)(SYMVAL(__ram0_end__) - 4) __attribute__((weak)) void bootloader_jump(void) { - *MAGIC_ADDR = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader + *MAGIC_ADDR = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader NVIC_SystemReset(); } diff --git a/platforms/chibios/bootloaders/stm32duino.c b/platforms/chibios/bootloaders/stm32duino.c index dd1d551fa9d4..53d3ba0adb11 100644 --- a/platforms/chibios/bootloaders/stm32duino.c +++ b/platforms/chibios/bootloaders/stm32duino.c @@ -18,4 +18,6 @@ #include -__attribute__((weak)) void bootloader_jump(void) { NVIC_SystemReset(); } +__attribute__((weak)) void bootloader_jump(void) { + NVIC_SystemReset(); +} diff --git a/platforms/chibios/chibios_config.h b/platforms/chibios/chibios_config.h index 4e3573660676..67d7541ba2d3 100644 --- a/platforms/chibios/chibios_config.h +++ b/platforms/chibios/chibios_config.h @@ -16,7 +16,7 @@ #pragma once #ifndef USB_VBUS_PIN -# define SPLIT_USB_DETECT // Force this on when dedicated pin is not used +# define SPLIT_USB_DETECT // Force this on when dedicated pin is not used #endif // STM32 compatibility @@ -76,7 +76,7 @@ # if defined(K20x) || defined(KL2x) # define USE_I2CV1 -# define USE_I2CV1_CONTRIB // for some reason a bunch of ChibiOS-Contrib boards only have clock_speed +# define USE_I2CV1_CONTRIB // for some reason a bunch of ChibiOS-Contrib boards only have clock_speed # define USE_GPIOV1 # endif #endif diff --git a/platforms/chibios/drivers/analog.c b/platforms/chibios/drivers/analog.c index eb437665f1d4..48a59fd29087 100644 --- a/platforms/chibios/drivers/analog.c +++ b/platforms/chibios/drivers/analog.c @@ -101,9 +101,9 @@ // Options are 12, 10, 8, and 6 bit. #ifndef ADC_RESOLUTION -# ifdef ADC_CFGR_RES_10BITS // ADCv3, ADCv4 +# ifdef ADC_CFGR_RES_10BITS // ADCv3, ADCv4 # define ADC_RESOLUTION ADC_CFGR_RES_10BITS -# else // ADCv1, ADCv5, or the bodge for ADCv2 above +# else // ADCv1, ADCv5, or the bodge for ADCv2 above # define ADC_RESOLUTION ADC_CFGR1_RES_10BIT # endif #endif @@ -123,7 +123,7 @@ static ADCConversionGroup adcConversionGroup = { .smpr = ADC_SAMPLING_RATE, #elif defined(USE_ADCV2) # if !defined(STM32F1XX) && !defined(GD32VF103) - .cr2 = ADC_CR2_SWSTART, // F103 seem very unhappy with, F401 seems very unhappy without... + .cr2 = ADC_CR2_SWSTART, // F103 seem very unhappy with, F401 seems very unhappy without... # endif .smpr2 = ADC_SMPR2_SMP_AN0(ADC_SAMPLING_RATE) | ADC_SMPR2_SMP_AN1(ADC_SAMPLING_RATE) | ADC_SMPR2_SMP_AN2(ADC_SAMPLING_RATE) | ADC_SMPR2_SMP_AN3(ADC_SAMPLING_RATE) | ADC_SMPR2_SMP_AN4(ADC_SAMPLING_RATE) | ADC_SMPR2_SMP_AN5(ADC_SAMPLING_RATE) | ADC_SMPR2_SMP_AN6(ADC_SAMPLING_RATE) | ADC_SMPR2_SMP_AN7(ADC_SAMPLING_RATE) | ADC_SMPR2_SMP_AN8(ADC_SAMPLING_RATE) | ADC_SMPR2_SMP_AN9(ADC_SAMPLING_RATE), .smpr1 = ADC_SMPR1_SMP_AN10(ADC_SAMPLING_RATE) | ADC_SMPR1_SMP_AN11(ADC_SAMPLING_RATE) | ADC_SMPR1_SMP_AN12(ADC_SAMPLING_RATE) | ADC_SMPR1_SMP_AN13(ADC_SAMPLING_RATE) | ADC_SMPR1_SMP_AN14(ADC_SAMPLING_RATE) | ADC_SMPR1_SMP_AN15(ADC_SAMPLING_RATE), diff --git a/platforms/chibios/drivers/analog.h b/platforms/chibios/drivers/analog.h index e61c394265bf..8a821719e327 100644 --- a/platforms/chibios/drivers/analog.h +++ b/platforms/chibios/drivers/analog.h @@ -28,7 +28,9 @@ typedef struct { uint8_t adc; } adc_mux; #define TO_MUX(i, a) \ - (adc_mux) { i, a } + (adc_mux) { \ + i, a \ + } int16_t analogReadPin(pin_t pin); int16_t analogReadPinAdc(pin_t pin, uint8_t adc); diff --git a/platforms/chibios/drivers/audio_dac_additive.c b/platforms/chibios/drivers/audio_dac_additive.c index db304adb8774..db07c4b39349 100644 --- a/platforms/chibios/drivers/audio_dac_additive.c +++ b/platforms/chibios/drivers/audio_dac_additive.c @@ -52,19 +52,19 @@ static const dacsample_t dac_buffer_sine[AUDIO_DAC_BUFFER_SIZE] = { // 256 values, max 4095 0x0, 0x1, 0x2, 0x6, 0xa, 0xf, 0x16, 0x1e, 0x27, 0x32, 0x3d, 0x4a, 0x58, 0x67, 0x78, 0x89, 0x9c, 0xb0, 0xc5, 0xdb, 0xf2, 0x10a, 0x123, 0x13e, 0x159, 0x175, 0x193, 0x1b1, 0x1d1, 0x1f1, 0x212, 0x235, 0x258, 0x27c, 0x2a0, 0x2c6, 0x2ed, 0x314, 0x33c, 0x365, 0x38e, 0x3b8, 0x3e3, 0x40e, 0x43a, 0x467, 0x494, 0x4c2, 0x4f0, 0x51f, 0x54e, 0x57d, 0x5ad, 0x5dd, 0x60e, 0x63f, 0x670, 0x6a1, 0x6d3, 0x705, 0x737, 0x769, 0x79b, 0x7cd, 0x800, 0x832, 0x864, 0x896, 0x8c8, 0x8fa, 0x92c, 0x95e, 0x98f, 0x9c0, 0x9f1, 0xa22, 0xa52, 0xa82, 0xab1, 0xae0, 0xb0f, 0xb3d, 0xb6b, 0xb98, 0xbc5, 0xbf1, 0xc1c, 0xc47, 0xc71, 0xc9a, 0xcc3, 0xceb, 0xd12, 0xd39, 0xd5f, 0xd83, 0xda7, 0xdca, 0xded, 0xe0e, 0xe2e, 0xe4e, 0xe6c, 0xe8a, 0xea6, 0xec1, 0xedc, 0xef5, 0xf0d, 0xf24, 0xf3a, 0xf4f, 0xf63, 0xf76, 0xf87, 0xf98, 0xfa7, 0xfb5, 0xfc2, 0xfcd, 0xfd8, 0xfe1, 0xfe9, 0xff0, 0xff5, 0xff9, 0xffd, 0xffe, 0xfff, 0xffe, 0xffd, 0xff9, 0xff5, 0xff0, 0xfe9, 0xfe1, 0xfd8, 0xfcd, 0xfc2, 0xfb5, 0xfa7, 0xf98, 0xf87, 0xf76, 0xf63, 0xf4f, 0xf3a, 0xf24, 0xf0d, 0xef5, 0xedc, 0xec1, 0xea6, 0xe8a, 0xe6c, 0xe4e, 0xe2e, 0xe0e, 0xded, 0xdca, 0xda7, 0xd83, 0xd5f, 0xd39, 0xd12, 0xceb, 0xcc3, 0xc9a, 0xc71, 0xc47, 0xc1c, 0xbf1, 0xbc5, 0xb98, 0xb6b, 0xb3d, 0xb0f, 0xae0, 0xab1, 0xa82, 0xa52, 0xa22, 0x9f1, 0x9c0, 0x98f, 0x95e, 0x92c, 0x8fa, 0x8c8, 0x896, 0x864, 0x832, 0x800, 0x7cd, 0x79b, 0x769, 0x737, 0x705, 0x6d3, 0x6a1, 0x670, 0x63f, 0x60e, 0x5dd, 0x5ad, 0x57d, 0x54e, 0x51f, 0x4f0, 0x4c2, 0x494, 0x467, 0x43a, 0x40e, 0x3e3, 0x3b8, 0x38e, 0x365, 0x33c, 0x314, 0x2ed, 0x2c6, 0x2a0, 0x27c, 0x258, 0x235, 0x212, 0x1f1, 0x1d1, 0x1b1, 0x193, 0x175, 0x159, 0x13e, 0x123, 0x10a, 0xf2, 0xdb, 0xc5, 0xb0, 0x9c, 0x89, 0x78, 0x67, 0x58, 0x4a, 0x3d, 0x32, 0x27, 0x1e, 0x16, 0xf, 0xa, 0x6, 0x2, 0x1}; -#endif // AUDIO_DAC_SAMPLE_WAVEFORM_SINE +#endif // AUDIO_DAC_SAMPLE_WAVEFORM_SINE #ifdef AUDIO_DAC_SAMPLE_WAVEFORM_TRIANGLE static const dacsample_t dac_buffer_triangle[AUDIO_DAC_BUFFER_SIZE] = { // 256 values, max 4095 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0, 0x100, 0x120, 0x140, 0x160, 0x180, 0x1a0, 0x1c0, 0x1e0, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0x300, 0x320, 0x340, 0x360, 0x380, 0x3a0, 0x3c0, 0x3e0, 0x400, 0x420, 0x440, 0x460, 0x480, 0x4a0, 0x4c0, 0x4e0, 0x500, 0x520, 0x540, 0x560, 0x580, 0x5a0, 0x5c0, 0x5e0, 0x600, 0x620, 0x640, 0x660, 0x680, 0x6a0, 0x6c0, 0x6e0, 0x700, 0x720, 0x740, 0x760, 0x780, 0x7a0, 0x7c0, 0x7e0, 0x800, 0x81f, 0x83f, 0x85f, 0x87f, 0x89f, 0x8bf, 0x8df, 0x8ff, 0x91f, 0x93f, 0x95f, 0x97f, 0x99f, 0x9bf, 0x9df, 0x9ff, 0xa1f, 0xa3f, 0xa5f, 0xa7f, 0xa9f, 0xabf, 0xadf, 0xaff, 0xb1f, 0xb3f, 0xb5f, 0xb7f, 0xb9f, 0xbbf, 0xbdf, 0xbff, 0xc1f, 0xc3f, 0xc5f, 0xc7f, 0xc9f, 0xcbf, 0xcdf, 0xcff, 0xd1f, 0xd3f, 0xd5f, 0xd7f, 0xd9f, 0xdbf, 0xddf, 0xdff, 0xe1f, 0xe3f, 0xe5f, 0xe7f, 0xe9f, 0xebf, 0xedf, 0xeff, 0xf1f, 0xf3f, 0xf5f, 0xf7f, 0xf9f, 0xfbf, 0xfdf, 0xfff, 0xfdf, 0xfbf, 0xf9f, 0xf7f, 0xf5f, 0xf3f, 0xf1f, 0xeff, 0xedf, 0xebf, 0xe9f, 0xe7f, 0xe5f, 0xe3f, 0xe1f, 0xdff, 0xddf, 0xdbf, 0xd9f, 0xd7f, 0xd5f, 0xd3f, 0xd1f, 0xcff, 0xcdf, 0xcbf, 0xc9f, 0xc7f, 0xc5f, 0xc3f, 0xc1f, 0xbff, 0xbdf, 0xbbf, 0xb9f, 0xb7f, 0xb5f, 0xb3f, 0xb1f, 0xaff, 0xadf, 0xabf, 0xa9f, 0xa7f, 0xa5f, 0xa3f, 0xa1f, 0x9ff, 0x9df, 0x9bf, 0x99f, 0x97f, 0x95f, 0x93f, 0x91f, 0x8ff, 0x8df, 0x8bf, 0x89f, 0x87f, 0x85f, 0x83f, 0x81f, 0x800, 0x7e0, 0x7c0, 0x7a0, 0x780, 0x760, 0x740, 0x720, 0x700, 0x6e0, 0x6c0, 0x6a0, 0x680, 0x660, 0x640, 0x620, 0x600, 0x5e0, 0x5c0, 0x5a0, 0x580, 0x560, 0x540, 0x520, 0x500, 0x4e0, 0x4c0, 0x4a0, 0x480, 0x460, 0x440, 0x420, 0x400, 0x3e0, 0x3c0, 0x3a0, 0x380, 0x360, 0x340, 0x320, 0x300, 0x2e0, 0x2c0, 0x2a0, 0x280, 0x260, 0x240, 0x220, 0x200, 0x1e0, 0x1c0, 0x1a0, 0x180, 0x160, 0x140, 0x120, 0x100, 0xe0, 0xc0, 0xa0, 0x80, 0x60, 0x40, 0x20}; -#endif // AUDIO_DAC_SAMPLE_WAVEFORM_TRIANGLE +#endif // AUDIO_DAC_SAMPLE_WAVEFORM_TRIANGLE #ifdef AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE static const dacsample_t dac_buffer_square[AUDIO_DAC_BUFFER_SIZE] = { - [0 ... AUDIO_DAC_BUFFER_SIZE / 2 - 1] = 0, // first and - [AUDIO_DAC_BUFFER_SIZE / 2 ... AUDIO_DAC_BUFFER_SIZE - 1] = AUDIO_DAC_SAMPLE_MAX, // second half + [0 ... AUDIO_DAC_BUFFER_SIZE / 2 - 1] = 0, // first and + [AUDIO_DAC_BUFFER_SIZE / 2 ... AUDIO_DAC_BUFFER_SIZE - 1] = AUDIO_DAC_SAMPLE_MAX, // second half }; -#endif // AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE +#endif // AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE /* // four steps: 0, 1/3, 2/3 and 1 static const dacsample_t dac_buffer_staircase[AUDIO_DAC_BUFFER_SIZE] = { @@ -77,7 +77,7 @@ static const dacsample_t dac_buffer_staircase[AUDIO_DAC_BUFFER_SIZE] = { #ifdef AUDIO_DAC_SAMPLE_WAVEFORM_TRAPEZOID static const dacsample_t dac_buffer_trapezoid[AUDIO_DAC_BUFFER_SIZE] = {0x0, 0x1f, 0x7f, 0xdf, 0x13f, 0x19f, 0x1ff, 0x25f, 0x2bf, 0x31f, 0x37f, 0x3df, 0x43f, 0x49f, 0x4ff, 0x55f, 0x5bf, 0x61f, 0x67f, 0x6df, 0x73f, 0x79f, 0x7ff, 0x85f, 0x8bf, 0x91f, 0x97f, 0x9df, 0xa3f, 0xa9f, 0xaff, 0xb5f, 0xbbf, 0xc1f, 0xc7f, 0xcdf, 0xd3f, 0xd9f, 0xdff, 0xe5f, 0xebf, 0xf1f, 0xf7f, 0xfdf, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfdf, 0xf7f, 0xf1f, 0xebf, 0xe5f, 0xdff, 0xd9f, 0xd3f, 0xcdf, 0xc7f, 0xc1f, 0xbbf, 0xb5f, 0xaff, 0xa9f, 0xa3f, 0x9df, 0x97f, 0x91f, 0x8bf, 0x85f, 0x7ff, 0x79f, 0x73f, 0x6df, 0x67f, 0x61f, 0x5bf, 0x55f, 0x4ff, 0x49f, 0x43f, 0x3df, 0x37f, 0x31f, 0x2bf, 0x25f, 0x1ff, 0x19f, 0x13f, 0xdf, 0x7f, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}; -#endif // AUDIO_DAC_SAMPLE_WAVEFORM_TRAPEZOID +#endif // AUDIO_DAC_SAMPLE_WAVEFORM_TRAPEZOID static dacsample_t dac_buffer_empty[AUDIO_DAC_BUFFER_SIZE] = {AUDIO_DAC_OFF_VALUE}; @@ -98,7 +98,7 @@ typedef enum { OUTPUT_REACHED_ZERO_BEFORE_OFF, OUTPUT_OFF, OUTPUT_OFF_1, - OUTPUT_OFF_2, // trailing off: giving the DAC two more conversion cycles until the AUDIO_DAC_OFF_VALUE reaches the output, then turn the timer off, which leaves the output at that level + OUTPUT_OFF_2, // trailing off: giving the DAC two more conversion cycles until the AUDIO_DAC_OFF_VALUE reaches the output, then turn the timer off, which leaves the output at that level number_of_output_states } output_states_t; output_states_t state = OUTPUT_OFF_2; @@ -171,7 +171,7 @@ static void dac_end(DACDriver *dacp) { // work on the other half of the buffer if (dacIsBufferComplete(dacp)) { - sample_p += AUDIO_DAC_BUFFER_SIZE / 2; // 'half_index' + sample_p += AUDIO_DAC_BUFFER_SIZE / 2; // 'half_index' } for (uint8_t s = 0; s < AUDIO_DAC_BUFFER_SIZE / 2; s++) { @@ -196,8 +196,8 @@ static void dac_end(DACDriver *dacp) { * * * * =====*=*================================================= 0x0 */ - if (((sample_p[s] + (AUDIO_DAC_SAMPLE_MAX / 100)) > AUDIO_DAC_OFF_VALUE) && // value approaches from below - (sample_p[s] < (AUDIO_DAC_OFF_VALUE + (AUDIO_DAC_SAMPLE_MAX / 100))) // or above + if (((sample_p[s] + (AUDIO_DAC_SAMPLE_MAX / 100)) > AUDIO_DAC_OFF_VALUE) && // value approaches from below + (sample_p[s] < (AUDIO_DAC_OFF_VALUE + (AUDIO_DAC_SAMPLE_MAX / 100))) // or above ) { if ((OUTPUT_SHOULD_START == state) && (active_tones_snapshot_length > 0)) { state = OUTPUT_RUN_NORMALLY; @@ -220,7 +220,7 @@ static void dac_end(DACDriver *dacp) { // -> saves cpu cycles (?) for (uint8_t i = 0; i < active_tones; i++) { float freq = audio_get_processed_frequency(i); - if (freq > 0) { // disregard 'rest' notes, with valid frequency 0.0f; which would only lower the resulting waveform volume during the additive synthesis step + if (freq > 0) { // disregard 'rest' notes, with valid frequency 0.0f; which would only lower the resulting waveform volume during the additive synthesis step active_tones_snapshot[active_tones_snapshot_length++] = freq; } } @@ -321,7 +321,9 @@ void audio_driver_initialize() { gptStart(&GPTD6, &gpt6cfg1); } -void audio_driver_stop(void) { state = OUTPUT_SHOULD_STOP; } +void audio_driver_stop(void) { + state = OUTPUT_SHOULD_STOP; +} void audio_driver_start(void) { gptStartContinuous(&GPTD6, 2U); diff --git a/platforms/chibios/drivers/audio_dac_basic.c b/platforms/chibios/drivers/audio_dac_basic.c index fac65135066a..64439a1e3cee 100644 --- a/platforms/chibios/drivers/audio_dac_basic.c +++ b/platforms/chibios/drivers/audio_dac_basic.c @@ -115,13 +115,15 @@ void channel_1_set_frequency(float freq) { channel_1_frequency = freq; channel_1_stop(); - if (freq <= 0.0) // a pause/rest has freq=0 + if (freq <= 0.0) // a pause/rest has freq=0 return; gpt6cfg1.frequency = 2 * freq * AUDIO_DAC_BUFFER_SIZE; channel_1_start(); } -float channel_1_get_frequency(void) { return channel_1_frequency; } +float channel_1_get_frequency(void) { + return channel_1_frequency; +} void channel_2_start(void) { gptStart(&GPTD7, &gpt7cfg1); @@ -140,13 +142,15 @@ void channel_2_set_frequency(float freq) { channel_2_frequency = freq; channel_2_stop(); - if (freq <= 0.0) // a pause/rest has freq=0 + if (freq <= 0.0) // a pause/rest has freq=0 return; gpt7cfg1.frequency = 2 * freq * AUDIO_DAC_BUFFER_SIZE; channel_2_start(); } -float channel_2_get_frequency(void) { return channel_2_frequency; } +float channel_2_get_frequency(void) { + return channel_2_frequency; +} static void gpt_audio_state_cb(GPTDriver *gptp) { if (audio_update_state()) { @@ -155,8 +159,8 @@ static void gpt_audio_state_cb(GPTDriver *gptp) { channel_1_set_frequency(audio_get_processed_frequency(0)); channel_2_set_frequency(audio_get_processed_frequency(0)); -#else // two separate audio outputs/speakers - // primary speaker on A4, optional secondary on A5 +#else // two separate audio outputs/speakers + // primary speaker on A4, optional secondary on A5 if (AUDIO_PIN == A4) { channel_1_set_frequency(audio_get_processed_frequency(0)); if (AUDIO_PIN_ALT == A5) { diff --git a/platforms/chibios/drivers/audio_pwm_hardware.c b/platforms/chibios/drivers/audio_pwm_hardware.c index cd40019ee7c3..710f3976090c 100644 --- a/platforms/chibios/drivers/audio_pwm_hardware.c +++ b/platforms/chibios/drivers/audio_pwm_hardware.c @@ -72,7 +72,7 @@ static float channel_1_frequency = 0.0f; void channel_1_set_frequency(float freq) { channel_1_frequency = freq; - if (freq <= 0.0) // a pause/rest has freq=0 + if (freq <= 0.0) // a pause/rest has freq=0 return; pwmcnt_t period = (pwmCFG.frequency / freq); @@ -82,14 +82,18 @@ void channel_1_set_frequency(float freq) { PWM_PERCENTAGE_TO_WIDTH(&AUDIO_PWM_DRIVER, (100 - note_timbre) * 100)); } -float channel_1_get_frequency(void) { return channel_1_frequency; } +float channel_1_get_frequency(void) { + return channel_1_frequency; +} void channel_1_start(void) { pwmStop(&AUDIO_PWM_DRIVER); pwmStart(&AUDIO_PWM_DRIVER, &pwmCFG); } -void channel_1_stop(void) { pwmStop(&AUDIO_PWM_DRIVER); } +void channel_1_stop(void) { + pwmStop(&AUDIO_PWM_DRIVER); +} static void gpt_callback(GPTDriver *gptp); GPTConfig gptCFG = { @@ -108,9 +112,9 @@ void audio_driver_initialize(void) { pwmStart(&AUDIO_PWM_DRIVER, &pwmCFG); // connect the AUDIO_PIN to the PWM hardware -#if defined(USE_GPIOV1) // STM32F103C8 +#if defined(USE_GPIOV1) // STM32F103C8 palSetLineMode(AUDIO_PIN, PAL_MODE_ALTERNATE_PUSHPULL); -#else // GPIOv2 (or GPIOv3 for f4xx, which is the same/compatible at this command) +#else // GPIOv2 (or GPIOv3 for f4xx, which is the same/compatible at this command) palSetLineMode(AUDIO_PIN, PAL_MODE_ALTERNATE(AUDIO_PWM_PAL_MODE)); #endif @@ -135,10 +139,10 @@ void audio_driver_stop(void) { * and updates the pwm to output that frequency */ static void gpt_callback(GPTDriver *gptp) { - float freq; // TODO: freq_alt + float freq; // TODO: freq_alt if (audio_update_state()) { - freq = audio_get_processed_frequency(0); // freq_alt would be index=1 + freq = audio_get_processed_frequency(0); // freq_alt would be index=1 channel_1_set_frequency(freq); } } diff --git a/platforms/chibios/drivers/audio_pwm_software.c b/platforms/chibios/drivers/audio_pwm_software.c index 15c3e98b6a96..e01f86ea5265 100644 --- a/platforms/chibios/drivers/audio_pwm_software.c +++ b/platforms/chibios/drivers/audio_pwm_software.c @@ -57,7 +57,7 @@ static float channel_1_frequency = 0.0f; void channel_1_set_frequency(float freq) { channel_1_frequency = freq; - if (freq <= 0.0) // a pause/rest has freq=0 + if (freq <= 0.0) // a pause/rest has freq=0 return; pwmcnt_t period = (pwmCFG.frequency / freq); @@ -68,7 +68,9 @@ void channel_1_set_frequency(float freq) { PWM_PERCENTAGE_TO_WIDTH(&AUDIO_PWM_DRIVER, (100 - note_timbre) * 100)); } -float channel_1_get_frequency(void) { return channel_1_frequency; } +float channel_1_get_frequency(void) { + return channel_1_frequency; +} void channel_1_start(void) { pwmStop(&AUDIO_PWM_DRIVER); @@ -81,10 +83,10 @@ void channel_1_start(void) { void channel_1_stop(void) { pwmStop(&AUDIO_PWM_DRIVER); - palClearLine(AUDIO_PIN); // leave the line low, after last note was played + palClearLine(AUDIO_PIN); // leave the line low, after last note was played #if defined(AUDIO_PIN_ALT) && defined(AUDIO_PIN_ALT_AS_NEGATIVE) - palClearLine(AUDIO_PIN_ALT); // leave the line low, after last note was played + palClearLine(AUDIO_PIN_ALT); // leave the line low, after last note was played #endif } @@ -100,7 +102,7 @@ static void pwm_audio_period_callback(PWMDriver *pwmp) { static void pwm_audio_channel_interrupt_callback(PWMDriver *pwmp) { (void)pwmp; if (channel_1_frequency > 0) { - palSetLine(AUDIO_PIN); // generate a PWM signal on any pin, not necessarily the one connected to the timer + palSetLine(AUDIO_PIN); // generate a PWM signal on any pin, not necessarily the one connected to the timer #if defined(AUDIO_PIN_ALT) && defined(AUDIO_PIN_ALT_AS_NEGATIVE) palClearLine(AUDIO_PIN_ALT); #endif @@ -131,7 +133,7 @@ void audio_driver_initialize(void) { palClearLine(AUDIO_PIN_ALT); #endif - pwmEnablePeriodicNotification(&AUDIO_PWM_DRIVER); // enable pwm callbacks + pwmEnablePeriodicNotification(&AUDIO_PWM_DRIVER); // enable pwm callbacks pwmEnableChannelNotification(&AUDIO_PWM_DRIVER, AUDIO_PWM_CHANNEL - 1); gptStart(&AUDIO_STATE_TIMER, &gptCFG); @@ -155,10 +157,10 @@ void audio_driver_stop(void) { * and updates the pwm to output that frequency */ static void gpt_callback(GPTDriver *gptp) { - float freq; // TODO: freq_alt + float freq; // TODO: freq_alt if (audio_update_state()) { - freq = audio_get_processed_frequency(0); // freq_alt would be index=1 + freq = audio_get_processed_frequency(0); // freq_alt would be index=1 channel_1_set_frequency(freq); } } diff --git a/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.h b/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.h index a35defca8bfa..616d7ccbeeec 100644 --- a/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.h +++ b/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.h @@ -24,7 +24,7 @@ # define STM32_ONBOARD_EEPROM_SIZE 1024 # else # include "eeconfig.h" -# define STM32_ONBOARD_EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO and EEPROM page sizing +# define STM32_ONBOARD_EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO and EEPROM page sizing # endif #endif diff --git a/platforms/chibios/drivers/i2c_master.c b/platforms/chibios/drivers/i2c_master.c index 4a5d4760d0c0..d10bdbabc100 100644 --- a/platforms/chibios/drivers/i2c_master.c +++ b/platforms/chibios/drivers/i2c_master.c @@ -203,4 +203,6 @@ i2c_status_t i2c_readReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uin return chibios_to_qmk(&status); } -void i2c_stop(void) { i2cStop(&I2C_DRIVER); } +void i2c_stop(void) { + i2cStop(&I2C_DRIVER); +} diff --git a/platforms/chibios/drivers/serial.c b/platforms/chibios/drivers/serial.c index 17d0b32be8ad..6db5d8525067 100644 --- a/platforms/chibios/drivers/serial.c +++ b/platforms/chibios/drivers/serial.c @@ -50,14 +50,30 @@ # error invalid SELECT_SOFT_SERIAL_SPEED value #endif -inline static void serial_delay(void) { wait_us(SERIAL_DELAY); } -inline static void serial_delay_half(void) { wait_us(SERIAL_DELAY / 2); } -inline static void serial_delay_blip(void) { wait_us(1); } -inline static void serial_output(void) { setPinOutput(SOFT_SERIAL_PIN); } -inline static void serial_input(void) { setPinInputHigh(SOFT_SERIAL_PIN); } -inline static bool serial_read_pin(void) { return !!readPin(SOFT_SERIAL_PIN); } -inline static void serial_low(void) { writePinLow(SOFT_SERIAL_PIN); } -inline static void serial_high(void) { writePinHigh(SOFT_SERIAL_PIN); } +inline static void serial_delay(void) { + wait_us(SERIAL_DELAY); +} +inline static void serial_delay_half(void) { + wait_us(SERIAL_DELAY / 2); +} +inline static void serial_delay_blip(void) { + wait_us(1); +} +inline static void serial_output(void) { + setPinOutput(SOFT_SERIAL_PIN); +} +inline static void serial_input(void) { + setPinInputHigh(SOFT_SERIAL_PIN); +} +inline static bool serial_read_pin(void) { + return !!readPin(SOFT_SERIAL_PIN); +} +inline static void serial_low(void) { + writePinLow(SOFT_SERIAL_PIN); +} +inline static void serial_high(void) { + writePinHigh(SOFT_SERIAL_PIN); +} void interrupt_handler(void *arg); @@ -226,7 +242,7 @@ bool soft_serial_transaction(int sstd_index) { uint8_t checksum = 0; // send data to the slave - serial_write_byte(sstd_index); // first chunk is transaction id + serial_write_byte(sstd_index); // first chunk is transaction id sync_recv(); for (int i = 0; i < trans->initiator2target_buffer_size; ++i) { @@ -238,7 +254,7 @@ bool soft_serial_transaction(int sstd_index) { sync_recv(); serial_delay(); - serial_delay(); // read mid pulses + serial_delay(); // read mid pulses // receive data from the slave uint8_t checksum_computed = 0; diff --git a/platforms/chibios/drivers/serial_usart.c b/platforms/chibios/drivers/serial_usart.c index 42c476a374a4..85c64214d161 100644 --- a/platforms/chibios/drivers/serial_usart.c +++ b/platforms/chibios/drivers/serial_usart.c @@ -238,7 +238,7 @@ void soft_serial_initiator_init(void) { usart_master_init(&serial_driver); #if defined(MCU_STM32) && defined(SERIAL_USART_PIN_SWAP) - serial_config.cr2 |= USART_CR2_SWAP; // master has swapped TX/RX pins + serial_config.cr2 |= USART_CR2_SWAP; // master has swapped TX/RX pins #endif sdStart(serial_driver, &serial_config); diff --git a/platforms/chibios/drivers/serial_usart.h b/platforms/chibios/drivers/serial_usart.h index 7b135b31e055..81fe9e0113b4 100644 --- a/platforms/chibios/drivers/serial_usart.h +++ b/platforms/chibios/drivers/serial_usart.h @@ -50,15 +50,15 @@ #endif #if !defined(USART_CR1_M0) -# define USART_CR1_M0 USART_CR1_M // some platforms (f1xx) dont have this so +# define USART_CR1_M0 USART_CR1_M // some platforms (f1xx) dont have this so #endif #if !defined(SERIAL_USART_CR1) -# define SERIAL_USART_CR1 (USART_CR1_PCE | USART_CR1_PS | USART_CR1_M0) // parity enable, odd parity, 9 bit length +# define SERIAL_USART_CR1 (USART_CR1_PCE | USART_CR1_PS | USART_CR1_M0) // parity enable, odd parity, 9 bit length #endif #if !defined(SERIAL_USART_CR2) -# define SERIAL_USART_CR2 (USART_CR2_STOP_1) // 2 stop bits +# define SERIAL_USART_CR2 (USART_CR2_STOP_1) // 2 stop bits #endif #if !defined(SERIAL_USART_CR3) diff --git a/platforms/chibios/drivers/spi_master.c b/platforms/chibios/drivers/spi_master.c index dde0bb059792..998bace5501c 100644 --- a/platforms/chibios/drivers/spi_master.c +++ b/platforms/chibios/drivers/spi_master.c @@ -115,7 +115,7 @@ bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) { #elif defined(HT32) spiConfig.cr0 = SPI_CR0_SELOEN; - spiConfig.cr1 = SPI_CR1_MODE | 8; // 8 bits and in master mode + spiConfig.cr1 = SPI_CR1_MODE | 8; // 8 bits and in master mode if (lsbFirst) { spiConfig.cr1 |= SPI_CR1_FIRSTBIT; diff --git a/platforms/chibios/drivers/uart.c b/platforms/chibios/drivers/uart.c index d2ea5d6415c4..dbe991efa35e 100644 --- a/platforms/chibios/drivers/uart.c +++ b/platforms/chibios/drivers/uart.c @@ -43,7 +43,9 @@ void uart_init(uint32_t baud) { } } -void uart_write(uint8_t data) { sdPut(&SERIAL_DRIVER, c); } +void uart_write(uint8_t data) { + sdPut(&SERIAL_DRIVER, c); +} uint8_t uart_read(void) { msg_t res = sdGet(&SERIAL_DRIVER); @@ -51,8 +53,14 @@ uint8_t uart_read(void) { return (uint8_t)res; } -void uart_transmit(const uint8_t *data, uint16_t length) { sdWrite(&SERIAL_DRIVER, data, length); } +void uart_transmit(const uint8_t *data, uint16_t length) { + sdWrite(&SERIAL_DRIVER, data, length); +} -void uart_receive(uint8_t *data, uint16_t length) { sdRead(&SERIAL_DRIVER, data, length); } +void uart_receive(uint8_t *data, uint16_t length) { + sdRead(&SERIAL_DRIVER, data, length); +} -bool uart_available(void) { return !sdGetWouldBlock(&SERIAL_DRIVER); } +bool uart_available(void) { + return !sdGetWouldBlock(&SERIAL_DRIVER); +} diff --git a/platforms/chibios/drivers/usbpd_stm32g4.c b/platforms/chibios/drivers/usbpd_stm32g4.c index f16ca8aeaeac..0096f22f077c 100644 --- a/platforms/chibios/drivers/usbpd_stm32g4.c +++ b/platforms/chibios/drivers/usbpd_stm32g4.c @@ -18,7 +18,7 @@ #ifndef USBPD_UCPD1_CFG1 # define USBPD_UCPD1_CFG1 (UCPD_CFG1_PSC_UCPDCLK_0 | UCPD_CFG1_TRANSWIN_3 | UCPD_CFG1_IFRGAP_4 | UCPD_CFG1_HBITCLKDIV_4) -#endif // USBPD_UCPD1_CFG1 +#endif // USBPD_UCPD1_CFG1 // Initialises the USBPD subsystem __attribute__((weak)) void usbpd_init(void) { @@ -64,7 +64,7 @@ __attribute__((weak)) usbpd_allowance_t usbpd_get_allowance(void) { switch (vstate_max) { case 0: case 1: - return USBPD_500MA; // Note that this is 500mA (i.e. max USB 2.0), not 900mA, as we're not using USB 3.1 as a sink device. + return USBPD_500MA; // Note that this is 500mA (i.e. max USB 2.0), not 900mA, as we're not using USB 3.1 as a sink device. case 2: return USBPD_1500MA; case 3: diff --git a/platforms/chibios/drivers/ws2812.c b/platforms/chibios/drivers/ws2812.c index 7e870661dec2..1b3bb5984261 100644 --- a/platforms/chibios/drivers/ws2812.c +++ b/platforms/chibios/drivers/ws2812.c @@ -10,7 +10,7 @@ # define NOP_FUDGE 0.4 # else # error("NOP_FUDGE configuration required") -# define NOP_FUDGE 1 // this just pleases the compile so the above error is easier to spot +# define NOP_FUDGE 1 // this just pleases the compile so the above error is easier to spot # endif #endif @@ -25,12 +25,12 @@ // The reset gap can be 6000 ns, but depending on the LED strip it may have to be increased // to values like 600000 ns. If it is too small, the pixels will show nothing most of the time. #ifndef WS2812_RES -# define WS2812_RES (1000 * WS2812_TRST_US) // Width of the low gap between bits to cause a frame to latch +# define WS2812_RES (1000 * WS2812_TRST_US) // Width of the low gap between bits to cause a frame to latch #endif #define NUMBER_NOPS 6 #define CYCLES_PER_SEC (CPU_CLOCK / NUMBER_NOPS * NOP_FUDGE) -#define NS_PER_SEC (1000000000L) // Note that this has to be SIGNED since we want to be able to check for negative values of derivatives +#define NS_PER_SEC (1000000000L) // Note that this has to be SIGNED since we want to be able to check for negative values of derivatives #define NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #define NS_TO_CYCLES(n) ((n) / NS_PER_CYCLE) @@ -67,7 +67,9 @@ void sendByte(uint8_t byte) { } } -void ws2812_init(void) { palSetLineMode(RGB_DI_PIN, WS2812_OUTPUT_MODE); } +void ws2812_init(void) { + palSetLineMode(RGB_DI_PIN, WS2812_OUTPUT_MODE); +} // Setleds for standard RGB void ws2812_setleds(LED_TYPE *ledarray, uint16_t leds) { diff --git a/platforms/chibios/drivers/ws2812_pwm.c b/platforms/chibios/drivers/ws2812_pwm.c index 19ea3cfe8ac6..57187676d77d 100644 --- a/platforms/chibios/drivers/ws2812_pwm.c +++ b/platforms/chibios/drivers/ws2812_pwm.c @@ -11,19 +11,19 @@ #endif #ifndef WS2812_PWM_DRIVER -# define WS2812_PWM_DRIVER PWMD2 // TIMx +# define WS2812_PWM_DRIVER PWMD2 // TIMx #endif #ifndef WS2812_PWM_CHANNEL -# define WS2812_PWM_CHANNEL 2 // Channel +# define WS2812_PWM_CHANNEL 2 // Channel #endif #ifndef WS2812_PWM_PAL_MODE -# define WS2812_PWM_PAL_MODE 2 // DI Pin's alternate function value +# define WS2812_PWM_PAL_MODE 2 // DI Pin's alternate function value #endif #ifndef WS2812_DMA_STREAM -# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP #endif #ifndef WS2812_DMA_CHANNEL -# define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP +# define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP #endif #if (STM32_DMA_SUPPORTS_DMAMUX == TRUE) && !defined(WS2812_DMAMUX_ID) # error "please consult your MCU's datasheet and specify in your config.h: #define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM?_UP" @@ -56,7 +56,7 @@ #ifndef WS2812_PWM_TARGET_PERIOD //# define WS2812_PWM_TARGET_PERIOD 800000 // Original code is 800k...? -# define WS2812_PWM_TARGET_PERIOD 80000 // TODO: work out why 10x less on f303/f4x1 +# define WS2812_PWM_TARGET_PERIOD 80000 // TODO: work out why 10x less on f303/f4x1 #endif /* --- PRIVATE CONSTANTS ---------------------------------------------------- */ @@ -259,8 +259,10 @@ write/read to/from the other buffer). void ws2812_init(void) { // Initialize led frame buffer uint32_t i; - for (i = 0; i < WS2812_COLOR_BIT_N; i++) ws2812_frame_buffer[i] = WS2812_DUTYCYCLE_0; // All color bits are zero duty cycle - for (i = 0; i < WS2812_RESET_BIT_N; i++) ws2812_frame_buffer[i + WS2812_COLOR_BIT_N] = 0; // All reset bits are zero + for (i = 0; i < WS2812_COLOR_BIT_N; i++) + ws2812_frame_buffer[i] = WS2812_DUTYCYCLE_0; // All color bits are zero duty cycle + for (i = 0; i < WS2812_RESET_BIT_N; i++) + ws2812_frame_buffer[i + WS2812_COLOR_BIT_N] = 0; // All reset bits are zero palSetLineMode(RGB_DI_PIN, WS2812_OUTPUT_MODE); @@ -268,22 +270,22 @@ void ws2812_init(void) { //#pragma GCC diagnostic ignored "-Woverride-init" // Turn off override-init warning for this struct. We use the overriding ability to set a "default" channel config static const PWMConfig ws2812_pwm_config = { .frequency = WS2812_PWM_FREQUENCY, - .period = WS2812_PWM_PERIOD, // Mit dieser Periode wird UDE-Event erzeugt und ein neuer Wert (Länge WS2812_BIT_N) vom DMA ins CCR geschrieben + .period = WS2812_PWM_PERIOD, // Mit dieser Periode wird UDE-Event erzeugt und ein neuer Wert (Länge WS2812_BIT_N) vom DMA ins CCR geschrieben .callback = NULL, .channels = { - [0 ... 3] = {.mode = PWM_OUTPUT_DISABLED, .callback = NULL}, // Channels default to disabled - [WS2812_PWM_CHANNEL - 1] = {.mode = WS2812_PWM_OUTPUT_MODE, .callback = NULL}, // Turn on the channel we care about + [0 ... 3] = {.mode = PWM_OUTPUT_DISABLED, .callback = NULL}, // Channels default to disabled + [WS2812_PWM_CHANNEL - 1] = {.mode = WS2812_PWM_OUTPUT_MODE, .callback = NULL}, // Turn on the channel we care about }, .cr2 = 0, - .dier = TIM_DIER_UDE, // DMA on update event for next period + .dier = TIM_DIER_UDE, // DMA on update event for next period }; //#pragma GCC diagnostic pop // Restore command-line warning options // Configure DMA // dmaInit(); // Joe added this dmaStreamAlloc(WS2812_DMA_STREAM - STM32_DMA_STREAM(0), 10, NULL, NULL); - dmaStreamSetPeripheral(WS2812_DMA_STREAM, &(WS2812_PWM_DRIVER.tim->CCR[WS2812_PWM_CHANNEL - 1])); // Ziel ist der An-Zeit im Cap-Comp-Register + dmaStreamSetPeripheral(WS2812_DMA_STREAM, &(WS2812_PWM_DRIVER.tim->CCR[WS2812_PWM_CHANNEL - 1])); // Ziel ist der An-Zeit im Cap-Comp-Register dmaStreamSetMemory0(WS2812_DMA_STREAM, ws2812_frame_buffer); dmaStreamSetTransactionSize(WS2812_DMA_STREAM, WS2812_BIT_N); dmaStreamSetMode(WS2812_DMA_STREAM, STM32_DMA_CR_CHSEL(WS2812_DMA_CHANNEL) | STM32_DMA_CR_DIR_M2P | STM32_DMA_CR_PSIZE_WORD | STM32_DMA_CR_MSIZE_WORD | STM32_DMA_CR_MINC | STM32_DMA_CR_CIRC | STM32_DMA_CR_PL(3)); @@ -302,7 +304,7 @@ void ws2812_init(void) { // ChibiOS driver code, so we don't have to do anything special to the timer. If we did, we'd have to start the timer, // disable counting, enable the channel, and then make whatever configuration changes we need. pwmStart(&WS2812_PWM_DRIVER, &ws2812_pwm_config); - pwmEnableChannel(&WS2812_PWM_DRIVER, WS2812_PWM_CHANNEL - 1, 0); // Initial period is 0; output will be low until first duty cycle is DMA'd in + pwmEnableChannel(&WS2812_PWM_DRIVER, WS2812_PWM_CHANNEL - 1, 0); // Initial period is 0; output will be low until first duty cycle is DMA'd in } void ws2812_write_led(uint16_t led_number, uint8_t r, uint8_t g, uint8_t b) { diff --git a/platforms/chibios/drivers/ws2812_spi.c b/platforms/chibios/drivers/ws2812_spi.c index ba471e0b8e5b..76191db1657a 100644 --- a/platforms/chibios/drivers/ws2812_spi.c +++ b/platforms/chibios/drivers/ws2812_spi.c @@ -42,7 +42,7 @@ # define WS2812_SPI_DIVISOR_CR1_BR_X (SPI_CR1_BR_0) #elif WS2812_SPI_DIVISOR == 8 # define WS2812_SPI_DIVISOR_CR1_BR_X (SPI_CR1_BR_1) -#elif WS2812_SPI_DIVISOR == 16 // same as default +#elif WS2812_SPI_DIVISOR == 16 // same as default # define WS2812_SPI_DIVISOR_CR1_BR_X (SPI_CR1_BR_1 | SPI_CR1_BR_0) #elif WS2812_SPI_DIVISOR == 32 # define WS2812_SPI_DIVISOR_CR1_BR_X (SPI_CR1_BR_2) @@ -53,14 +53,14 @@ #elif WS2812_SPI_DIVISOR == 256 # define WS2812_SPI_DIVISOR_CR1_BR_X (SPI_CR1_BR_2 | SPI_CR1_BR_1 | SPI_CR1_BR_0) #else -# define WS2812_SPI_DIVISOR_CR1_BR_X (SPI_CR1_BR_1 | SPI_CR1_BR_0) // default +# define WS2812_SPI_DIVISOR_CR1_BR_X (SPI_CR1_BR_1 | SPI_CR1_BR_0) // default #endif // Use SPI circular buffer #ifdef WS2812_SPI_USE_CIRCULAR_BUFFER -# define WS2812_SPI_BUFFER_MODE 1 // circular buffer +# define WS2812_SPI_BUFFER_MODE 1 // circular buffer #else -# define WS2812_SPI_BUFFER_MODE 0 // normal buffer +# define WS2812_SPI_BUFFER_MODE 0 // normal buffer #endif #if defined(USE_GPIOV1) @@ -104,20 +104,30 @@ static void set_led_color_rgb(LED_TYPE color, int pos) { uint8_t* tx_start = &txbuf[PREAMBLE_SIZE]; #if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.g, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.r, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j); + for (int j = 0; j < 4; j++) + tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.g, j); + for (int j = 0; j < 4; j++) + tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.r, j); + for (int j = 0; j < 4; j++) + tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j); #elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.r, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j); + for (int j = 0; j < 4; j++) + tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.r, j); + for (int j = 0; j < 4; j++) + tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j); + for (int j = 0; j < 4; j++) + tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j); #elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_BGR) - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.b, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.r, j); + for (int j = 0; j < 4; j++) + tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.b, j); + for (int j = 0; j < 4; j++) + tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j); + for (int j = 0; j < 4; j++) + tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.r, j); #endif #ifdef RGBW - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 4 + j] = get_protocol_eq(color.w, j); + for (int j = 0; j < 4; j++) + tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 4 + j] = get_protocol_eq(color.w, j); #endif } @@ -126,7 +136,7 @@ void ws2812_init(void) { #ifdef WS2812_SPI_SCK_PIN palSetLineMode(WS2812_SPI_SCK_PIN, WS2812_SCK_OUTPUT_MODE); -#endif // WS2812_SPI_SCK_PIN +#endif // WS2812_SPI_SCK_PIN // TODO: more dynamic baudrate static const SPIConfig spicfg = {WS2812_SPI_BUFFER_MODE, NULL, PAL_PORT(RGB_DI_PIN), PAL_PAD(RGB_DI_PIN), WS2812_SPI_DIVISOR_CR1_BR_X}; diff --git a/platforms/chibios/eeprom_stm32.c b/platforms/chibios/eeprom_stm32.c index 8bf0b19c3d15..a15bfe09edae 100644 --- a/platforms/chibios/eeprom_stm32.c +++ b/platforms/chibios/eeprom_stm32.c @@ -560,9 +560,13 @@ uint16_t EEPROM_ReadDataWord(uint16_t Address) { /***************************************************************************** * Bind to eeprom_driver.c *******************************************************************************/ -void eeprom_driver_init(void) { EEPROM_Init(); } +void eeprom_driver_init(void) { + EEPROM_Init(); +} -void eeprom_driver_erase(void) { EEPROM_Erase(); } +void eeprom_driver_erase(void) { + EEPROM_Erase(); +} void eeprom_read_block(void *buf, const void *addr, size_t len) { const uint8_t *src = (const uint8_t *)addr; diff --git a/platforms/chibios/eeprom_stm32_defs.h b/platforms/chibios/eeprom_stm32_defs.h index 581434eb5eed..a6ceb413557e 100644 --- a/platforms/chibios/eeprom_stm32_defs.h +++ b/platforms/chibios/eeprom_stm32_defs.h @@ -20,41 +20,41 @@ #if !defined(FEE_PAGE_SIZE) || !defined(FEE_PAGE_COUNT) # if defined(STM32F103xB) || defined(STM32F042x6) || defined(GD32VF103C8) || defined(GD32VF103CB) # ifndef FEE_PAGE_SIZE -# define FEE_PAGE_SIZE 0x400 // Page size = 1KByte +# define FEE_PAGE_SIZE 0x400 // Page size = 1KByte # endif # ifndef FEE_PAGE_COUNT -# define FEE_PAGE_COUNT 2 // How many pages are used +# define FEE_PAGE_COUNT 2 // How many pages are used # endif # elif defined(STM32F103xE) || defined(STM32F303xC) || defined(STM32F072xB) || defined(STM32F070xB) # ifndef FEE_PAGE_SIZE -# define FEE_PAGE_SIZE 0x800 // Page size = 2KByte +# define FEE_PAGE_SIZE 0x800 // Page size = 2KByte # endif # ifndef FEE_PAGE_COUNT -# define FEE_PAGE_COUNT 4 // How many pages are used +# define FEE_PAGE_COUNT 4 // How many pages are used # endif # elif defined(STM32F401xC) || defined(STM32F401xE) || defined(STM32F405xG) || defined(STM32F411xE) # ifndef FEE_PAGE_SIZE -# define FEE_PAGE_SIZE 0x4000 // Page size = 16KByte +# define FEE_PAGE_SIZE 0x4000 // Page size = 16KByte # endif # ifndef FEE_PAGE_COUNT -# define FEE_PAGE_COUNT 1 // How many pages are used +# define FEE_PAGE_COUNT 1 // How many pages are used # endif # endif #endif #if !defined(FEE_MCU_FLASH_SIZE) # if defined(STM32F042x6) -# define FEE_MCU_FLASH_SIZE 32 // Size in Kb +# define FEE_MCU_FLASH_SIZE 32 // Size in Kb # elif defined(GD32VF103C8) -# define FEE_MCU_FLASH_SIZE 64 // Size in Kb +# define FEE_MCU_FLASH_SIZE 64 // Size in Kb # elif defined(STM32F103xB) || defined(STM32F072xB) || defined(STM32F070xB) || defined(GD32VF103CB) -# define FEE_MCU_FLASH_SIZE 128 // Size in Kb +# define FEE_MCU_FLASH_SIZE 128 // Size in Kb # elif defined(STM32F303xC) || defined(STM32F401xC) -# define FEE_MCU_FLASH_SIZE 256 // Size in Kb +# define FEE_MCU_FLASH_SIZE 256 // Size in Kb # elif defined(STM32F103xE) || defined(STM32F401xE) || defined(STM32F411xE) -# define FEE_MCU_FLASH_SIZE 512 // Size in Kb +# define FEE_MCU_FLASH_SIZE 512 // Size in Kb # elif defined(STM32F405xG) -# define FEE_MCU_FLASH_SIZE 1024 // Size in Kb +# define FEE_MCU_FLASH_SIZE 1024 // Size in Kb # endif #endif @@ -62,7 +62,7 @@ #if !defined(FEE_PAGE_BASE_ADDRESS) # if defined(STM32F401xC) || defined(STM32F401xE) || defined(STM32F405xG) || defined(STM32F411xE) # ifndef FEE_PAGE_BASE_ADDRESS -# define FEE_PAGE_BASE_ADDRESS 0x08004000 // bodge to force 2nd 16k page +# define FEE_PAGE_BASE_ADDRESS 0x08004000 // bodge to force 2nd 16k page # endif # else # ifndef FEE_FLASH_BASE diff --git a/platforms/chibios/eeprom_teensy.c b/platforms/chibios/eeprom_teensy.c index 575f51526edb..c8777febde3a 100644 --- a/platforms/chibios/eeprom_teensy.c +++ b/platforms/chibios/eeprom_teensy.c @@ -60,19 +60,19 @@ // Minimum EEPROM Endurance // ------------------------ -# if (EEPROM_SIZE == 2048) // 35000 writes/byte or 70000 writes/word +# if (EEPROM_SIZE == 2048) // 35000 writes/byte or 70000 writes/word # define EEESIZE 0x33 -# elif (EEPROM_SIZE == 1024) // 75000 writes/byte or 150000 writes/word +# elif (EEPROM_SIZE == 1024) // 75000 writes/byte or 150000 writes/word # define EEESIZE 0x34 -# elif (EEPROM_SIZE == 512) // 155000 writes/byte or 310000 writes/word +# elif (EEPROM_SIZE == 512) // 155000 writes/byte or 310000 writes/word # define EEESIZE 0x35 -# elif (EEPROM_SIZE == 256) // 315000 writes/byte or 630000 writes/word +# elif (EEPROM_SIZE == 256) // 315000 writes/byte or 630000 writes/word # define EEESIZE 0x36 -# elif (EEPROM_SIZE == 128) // 635000 writes/byte or 1270000 writes/word +# elif (EEPROM_SIZE == 128) // 635000 writes/byte or 1270000 writes/word # define EEESIZE 0x37 -# elif (EEPROM_SIZE == 64) // 1275000 writes/byte or 2550000 writes/word +# elif (EEPROM_SIZE == 64) // 1275000 writes/byte or 2550000 writes/word # define EEESIZE 0x38 -# elif (EEPROM_SIZE == 32) // 2555000 writes/byte or 5110000 writes/word +# elif (EEPROM_SIZE == 32) // 2555000 writes/byte or 5110000 writes/word # define EEESIZE 0x39 # endif @@ -88,9 +88,9 @@ void eeprom_initialize(void) { if (FTFL->FCNFG & FTFL_FCNFG_RAMRDY) { // FlexRAM is configured as traditional RAM // We need to reconfigure for EEPROM usage - FTFL->FCCOB0 = 0x80; // PGMPART = Program Partition Command - FTFL->FCCOB4 = EEESIZE; // EEPROM Size - FTFL->FCCOB5 = 0x03; // 0K for Dataflash, 32K for EEPROM backup + FTFL->FCCOB0 = 0x80; // PGMPART = Program Partition Command + FTFL->FCCOB4 = EEESIZE; // EEPROM Size + FTFL->FCCOB5 = 0x03; // 0K for Dataflash, 32K for EEPROM backup __disable_irq(); // do_flash_cmd() must execute from RAM. Luckily the C syntax is simple... (*((void (*)(volatile uint8_t *))((uint32_t)do_flash_cmd | 1)))(&(FTFL->FSTAT)); @@ -98,7 +98,7 @@ void eeprom_initialize(void) { status = FTFL->FSTAT; if (status & (FTFL_FSTAT_RDCOLERR | FTFL_FSTAT_ACCERR | FTFL_FSTAT_FPVIOL)) { FTFL->FSTAT = (status & (FTFL_FSTAT_RDCOLERR | FTFL_FSTAT_ACCERR | FTFL_FSTAT_FPVIOL)); - return; // error + return; // error } } // wait for eeprom to become ready (is this really necessary?) @@ -162,7 +162,9 @@ void eeprom_read_block(void *buf, const void *addr, uint32_t len) { * * FIXME: needs doc */ -int eeprom_is_ready(void) { return (FTFL->FCNFG & FTFL_FCNFG_EEERDY) ? 1 : 0; } +int eeprom_is_ready(void) { + return (FTFL->FCNFG & FTFL_FCNFG_EEERDY) ? 1 : 0; +} /** \brief flexram wait * @@ -486,7 +488,9 @@ void eeprom_read_block(void *buf, const void *addr, uint32_t len) { } } -int eeprom_is_ready(void) { return 1; } +int eeprom_is_ready(void) { + return 1; +} void eeprom_write_word(uint16_t *addr, uint16_t value) { uint8_t *p = (uint8_t *)addr; @@ -515,7 +519,9 @@ void eeprom_write_block(const void *buf, void *addr, uint32_t len) { #endif /* chip selection */ // The update functions just calls write for now, but could probably be optimized -void eeprom_update_byte(uint8_t *addr, uint8_t value) { eeprom_write_byte(addr, value); } +void eeprom_update_byte(uint8_t *addr, uint8_t value) { + eeprom_write_byte(addr, value); +} void eeprom_update_word(uint16_t *addr, uint16_t value) { uint8_t *p = (uint8_t *)addr; diff --git a/platforms/chibios/gd32v_compatibility.h b/platforms/chibios/gd32v_compatibility.h index f4dcfd8c55ea..a3148fb6d2e4 100644 --- a/platforms/chibios/gd32v_compatibility.h +++ b/platforms/chibios/gd32v_compatibility.h @@ -97,10 +97,10 @@ /* Serial USART redefines. */ #if HAL_USE_SERIAL # if !defined(SERIAL_USART_CR1) -# define SERIAL_USART_CR1 (USART_CTL0_PCEN | USART_CTL0_PM | USART_CTL0_WL) // parity enable, odd parity, 9 bit length +# define SERIAL_USART_CR1 (USART_CTL0_PCEN | USART_CTL0_PM | USART_CTL0_WL) // parity enable, odd parity, 9 bit length # endif # if !defined(SERIAL_USART_CR2) -# define SERIAL_USART_CR2 (USART_CTL1_STB_1) // 2 stop bits +# define SERIAL_USART_CR2 (USART_CTL1_STB_1) // 2 stop bits # endif # if !defined(SERIAL_USART_CR3) # define SERIAL_USART_CR3 0x0 diff --git a/platforms/chibios/sleep_led.c b/platforms/chibios/sleep_led.c index 477056a454f0..a777d60468bb 100644 --- a/platforms/chibios/sleep_led.c +++ b/platforms/chibios/sleep_led.c @@ -93,7 +93,7 @@ void sleep_led_init(void) { /* Reset LPTMR settings */ LPTMR0->CSR = 0; /* Set the compare value */ - LPTMR0->CMR = 0; // trigger on counter value (i.e. every time) + LPTMR0->CMR = 0; // trigger on counter value (i.e. every time) /* Set up clock source and prescaler */ /* Software PWM @@ -118,11 +118,11 @@ void sleep_led_init(void) { /* === OPTION 2 === */ # if 1 // nMHz IRC (n=4 on KL25Z, KL26Z and K20x; n=2 or 8 on KL27Z) - MCG->C2 |= MCG_C2_IRCS; // fast (4MHz) internal ref clock -# if defined(KL27) // divide the 8MHz IRC by 2, to have the same MCGIRCLK speed as others + MCG->C2 |= MCG_C2_IRCS; // fast (4MHz) internal ref clock +# if defined(KL27) // divide the 8MHz IRC by 2, to have the same MCGIRCLK speed as others MCG->MC |= MCG_MC_LIRC_DIV2_DIV2; -# endif /* KL27 */ - MCG->C1 |= MCG_C1_IRCLKEN; // enable internal ref clock +# endif /* KL27 */ + MCG->C1 |= MCG_C1_IRCLKEN; // enable internal ref clock // to work in stop mode, also MCG_C1_IREFSTEN // Divide 4MHz by 2^N (N=6) => 62500 irqs/sec => // => approx F=61, R=256, duration = 4 @@ -140,7 +140,7 @@ void sleep_led_init(void) { /* === END OPTIONS === */ /* Interrupt on TCF set (compare flag) */ - nvicEnableVector(LPTMR0_IRQn, 2); // vector, priority + nvicEnableVector(LPTMR0_IRQn, 2); // vector, priority LPTMR0->CSR |= LPTMRx_CSR_TIE; } @@ -169,21 +169,33 @@ static void gptTimerCallback(GPTDriver *gptp) { static const GPTConfig gptcfg = {1000000, gptTimerCallback, 0, 0}; /* Initialise the timer */ -void sleep_led_init(void) { gptStart(&SLEEP_LED_GPT_DRIVER, &gptcfg); } +void sleep_led_init(void) { + gptStart(&SLEEP_LED_GPT_DRIVER, &gptcfg); +} -void sleep_led_enable(void) { gptStartContinuous(&SLEEP_LED_GPT_DRIVER, gptcfg.frequency / 0xFFFF); } +void sleep_led_enable(void) { + gptStartContinuous(&SLEEP_LED_GPT_DRIVER, gptcfg.frequency / 0xFFFF); +} -void sleep_led_disable(void) { gptStopTimer(&SLEEP_LED_GPT_DRIVER); } +void sleep_led_disable(void) { + gptStopTimer(&SLEEP_LED_GPT_DRIVER); +} -void sleep_led_toggle(void) { (SLEEP_LED_GPT_DRIVER.state == GPT_READY) ? sleep_led_enable() : sleep_led_disable(); } +void sleep_led_toggle(void) { + (SLEEP_LED_GPT_DRIVER.state == GPT_READY) ? sleep_led_enable() : sleep_led_disable(); +} #else /* platform selection: not on familiar chips */ void sleep_led_init(void) {} -void sleep_led_enable(void) { led_set(1 << USB_LED_CAPS_LOCK); } +void sleep_led_enable(void) { + led_set(1 << USB_LED_CAPS_LOCK); +} -void sleep_led_disable(void) { led_set(0); } +void sleep_led_disable(void) { + led_set(0); +} void sleep_led_toggle(void) { // not implemented diff --git a/platforms/chibios/syscall-fallbacks.c b/platforms/chibios/syscall-fallbacks.c index 7150a463262d..86f7907bfcaa 100644 --- a/platforms/chibios/syscall-fallbacks.c +++ b/platforms/chibios/syscall-fallbacks.c @@ -87,9 +87,13 @@ __attribute__((weak, used)) int _kill(int pid, int sig) { return -1; } -__attribute__((weak, used)) pid_t _getpid(void) { return 1; } +__attribute__((weak, used)) pid_t _getpid(void) { + return 1; +} -__attribute__((weak, used)) void _fini(void) { return; } +__attribute__((weak, used)) void _fini(void) { + return; +} __attribute__((weak, used, noreturn)) void _exit(int i) { while (1) diff --git a/platforms/chibios/timer.c b/platforms/chibios/timer.c index 74fdd7a6fce9..e3bdfdcc372e 100644 --- a/platforms/chibios/timer.c +++ b/platforms/chibios/timer.c @@ -73,7 +73,9 @@ void timer_clear(void) { chSysUnlock(); } -uint16_t timer_read(void) { return (uint16_t)timer_read32(); } +uint16_t timer_read(void) { + return (uint16_t)timer_read32(); +} uint32_t timer_read32(void) { chSysLock(); @@ -90,12 +92,16 @@ uint32_t timer_read32(void) { ms_offset += OVERFLOW_ADJUST_MS; } last_ticks = ticks; - uint32_t ms_offset_copy = ms_offset; // read while still holding the lock to ensure a consistent value + uint32_t ms_offset_copy = ms_offset; // read while still holding the lock to ensure a consistent value chSysUnlock(); return (uint32_t)TIME_I2MS(ticks) + ms_offset_copy; } -uint16_t timer_elapsed(uint16_t last) { return TIMER_DIFF_16(timer_read(), last); } +uint16_t timer_elapsed(uint16_t last) { + return TIMER_DIFF_16(timer_read(), last); +} -uint32_t timer_elapsed32(uint32_t last) { return TIMER_DIFF_32(timer_read32(), last); } +uint32_t timer_elapsed32(uint32_t last) { + return TIMER_DIFF_32(timer_read32(), last); +} diff --git a/platforms/suspend.c b/platforms/suspend.c index cd773764fab0..fea23cbd02b4 100644 --- a/platforms/suspend.c +++ b/platforms/suspend.c @@ -18,7 +18,9 @@ __attribute__((weak)) void suspend_power_down_user(void) {} * * FIXME: needs doc */ -__attribute__((weak)) void suspend_power_down_kb(void) { suspend_power_down_user(); } +__attribute__((weak)) void suspend_power_down_kb(void) { + suspend_power_down_user(); +} /** \brief run user level code immediately after wakeup * @@ -30,7 +32,9 @@ __attribute__((weak)) void suspend_wakeup_init_user(void) {} * * FIXME: needs doc */ -__attribute__((weak)) void suspend_wakeup_init_kb(void) { suspend_wakeup_init_user(); } +__attribute__((weak)) void suspend_wakeup_init_kb(void) { + suspend_wakeup_init_user(); +} /** \brief suspend wakeup condition * diff --git a/platforms/test/eeprom.c b/platforms/test/eeprom.c index e292faa644c2..d501745e5579 100644 --- a/platforms/test/eeprom.c +++ b/platforms/test/eeprom.c @@ -68,7 +68,9 @@ void eeprom_write_block(const void *buf, void *addr, size_t len) { } } -void eeprom_update_byte(uint8_t *addr, uint8_t value) { eeprom_write_byte(addr, value); } +void eeprom_update_byte(uint8_t *addr, uint8_t value) { + eeprom_write_byte(addr, value); +} void eeprom_update_word(uint16_t *addr, uint16_t value) { uint8_t *p = (uint8_t *)addr; diff --git a/platforms/test/eeprom_stm32_tests.cpp b/platforms/test/eeprom_stm32_tests.cpp index 57f31d634f25..d2c41fb77dfb 100644 --- a/platforms/test/eeprom_stm32_tests.cpp +++ b/platforms/test/eeprom_stm32_tests.cpp @@ -60,7 +60,9 @@ class EepromStm32Test : public testing::Test { ~EepromStm32Test() {} protected: - void SetUp() override { EEPROM_Erase(); } + void SetUp() override { + EEPROM_Erase(); + } void TearDown() override { #ifdef EEPROM_DEBUG @@ -83,7 +85,7 @@ TEST_F(EepromStm32Test, TestReadGarbage) { garbage += i; FlashBuf[i] = garbage; } - EEPROM_Init(); // Just verify we don't crash + EEPROM_Init(); // Just verify we don't crash } TEST_F(EepromStm32Test, TestWriteBadAddress) { @@ -206,11 +208,11 @@ TEST_F(EepromStm32Test, TestReadWord) { TEST_F(EepromStm32Test, TestWriteWord) { /* Direct compacted-area: Address < 0x80 */ - EEPROM_WriteDataWord(0, 0xdead); // Aligned - EEPROM_WriteDataWord(3, 0xbeef); // Unaligned + EEPROM_WriteDataWord(0, 0xdead); // Aligned + EEPROM_WriteDataWord(3, 0xbeef); // Unaligned /* Direct compacted-area: Address >= 0x80 */ - EEPROM_WriteDataWord(200, 0xabcd); // Aligned - EEPROM_WriteDataWord(203, 0x9876); // Unaligned + EEPROM_WriteDataWord(200, 0xabcd); // Aligned + EEPROM_WriteDataWord(203, 0x9876); // Unaligned EEPROM_WriteDataWord(EEPROM_SIZE - 4, 0x1234); EEPROM_WriteDataWord(EEPROM_SIZE - 2, 0x5678); /* Write Log word zero-encoded */ @@ -218,10 +220,10 @@ TEST_F(EepromStm32Test, TestWriteWord) { /* Write Log word one-encoded */ EEPROM_WriteDataWord(EEPROM_SIZE - 2, 1); /* Write Log word value aligned */ - EEPROM_WriteDataWord(200, 0x4321); // Aligned + EEPROM_WriteDataWord(200, 0x4321); // Aligned /* Write Log word value unaligned */ - EEPROM_WriteDataByte(202, 0x3c); // Set neighboring byte - EEPROM_WriteDataWord(203, 0xcdef); // Unaligned + EEPROM_WriteDataByte(202, 0x3c); // Set neighboring byte + EEPROM_WriteDataWord(203, 0xcdef); // Unaligned /* Check values */ /* Direct compacted-area */ EXPECT_EQ(*(uint16_t*)&FlashBuf[EEPROM_BASE], (uint16_t)~0xdead); @@ -249,11 +251,11 @@ TEST_F(EepromStm32Test, TestWriteWord) { TEST_F(EepromStm32Test, TestWordRoundTrip) { /* Direct compacted-area: Address < 0x80 */ - EEPROM_WriteDataWord(0, 0xdead); // Aligned - EEPROM_WriteDataWord(3, 0xbeef); // Unaligned + EEPROM_WriteDataWord(0, 0xdead); // Aligned + EEPROM_WriteDataWord(3, 0xbeef); // Unaligned /* Direct compacted-area: Address >= 0x80 */ - EEPROM_WriteDataWord(200, 0xabcd); // Aligned - EEPROM_WriteDataWord(203, 0x9876); // Unaligned + EEPROM_WriteDataWord(200, 0xabcd); // Aligned + EEPROM_WriteDataWord(203, 0x9876); // Unaligned EEPROM_WriteDataWord(EEPROM_SIZE - 4, 0x1234); EEPROM_WriteDataWord(EEPROM_SIZE - 2, 0x5678); /* Check values */ @@ -270,10 +272,10 @@ TEST_F(EepromStm32Test, TestWordRoundTrip) { /* Write Log word one-encoded */ EEPROM_WriteDataWord(EEPROM_SIZE - 2, 1); /* Write Log word value aligned */ - EEPROM_WriteDataWord(200, 0x4321); // Aligned + EEPROM_WriteDataWord(200, 0x4321); // Aligned /* Write Log word value unaligned */ - EEPROM_WriteDataByte(202, 0x3c); // Set neighboring byte - EEPROM_WriteDataWord(203, 0xcdef); // Unaligned + EEPROM_WriteDataByte(202, 0x3c); // Set neighboring byte + EEPROM_WriteDataWord(203, 0xcdef); // Unaligned /* Check values */ EEPROM_Init(); EXPECT_EQ(EEPROM_ReadDataWord(200), 0x4321); @@ -324,34 +326,34 @@ TEST_F(EepromStm32Test, TestByteWordBoundary) { TEST_F(EepromStm32Test, TestDWordRoundTrip) { /* Direct compacted-area: Address < 0x80 */ - eeprom_write_dword((uint32_t*)0, 0xdeadbeef); // Aligned - eeprom_write_dword((uint32_t*)9, 0x12345678); // Unaligned + eeprom_write_dword((uint32_t*)0, 0xdeadbeef); // Aligned + eeprom_write_dword((uint32_t*)9, 0x12345678); // Unaligned /* Direct compacted-area: Address >= 0x80 */ eeprom_write_dword((uint32_t*)200, 0xfacef00d); - eeprom_write_dword((uint32_t*)(EEPROM_SIZE - 4), 0xba5eba11); // Aligned - eeprom_write_dword((uint32_t*)(EEPROM_SIZE - 9), 0xcafed00d); // Unaligned + eeprom_write_dword((uint32_t*)(EEPROM_SIZE - 4), 0xba5eba11); // Aligned + eeprom_write_dword((uint32_t*)(EEPROM_SIZE - 9), 0xcafed00d); // Unaligned /* Check direct values */ EEPROM_Init(); EXPECT_EQ(eeprom_read_dword((uint32_t*)0), 0xdeadbeef); EXPECT_EQ(eeprom_read_dword((uint32_t*)9), 0x12345678); EXPECT_EQ(eeprom_read_dword((uint32_t*)200), 0xfacef00d); - EXPECT_EQ(eeprom_read_dword((uint32_t*)(EEPROM_SIZE - 4)), 0xba5eba11); // Aligned - EXPECT_EQ(eeprom_read_dword((uint32_t*)(EEPROM_SIZE - 9)), 0xcafed00d); // Unaligned + EXPECT_EQ(eeprom_read_dword((uint32_t*)(EEPROM_SIZE - 4)), 0xba5eba11); // Aligned + EXPECT_EQ(eeprom_read_dword((uint32_t*)(EEPROM_SIZE - 9)), 0xcafed00d); // Unaligned /* Write Log byte encoded */ eeprom_write_dword((uint32_t*)0, 0xdecafbad); eeprom_write_dword((uint32_t*)9, 0x87654321); /* Write Log word encoded */ eeprom_write_dword((uint32_t*)200, 1); /* Write Log word value aligned */ - eeprom_write_dword((uint32_t*)(EEPROM_SIZE - 4), 0xdeadc0de); // Aligned - eeprom_write_dword((uint32_t*)(EEPROM_SIZE - 9), 0x6789abcd); // Unaligned + eeprom_write_dword((uint32_t*)(EEPROM_SIZE - 4), 0xdeadc0de); // Aligned + eeprom_write_dword((uint32_t*)(EEPROM_SIZE - 9), 0x6789abcd); // Unaligned /* Check log values */ EEPROM_Init(); EXPECT_EQ(eeprom_read_dword((uint32_t*)0), 0xdecafbad); EXPECT_EQ(eeprom_read_dword((uint32_t*)9), 0x87654321); EXPECT_EQ(eeprom_read_dword((uint32_t*)200), 1); - EXPECT_EQ(eeprom_read_dword((uint32_t*)(EEPROM_SIZE - 4)), 0xdeadc0de); // Aligned - EXPECT_EQ(eeprom_read_dword((uint32_t*)(EEPROM_SIZE - 9)), 0x6789abcd); // Unaligned + EXPECT_EQ(eeprom_read_dword((uint32_t*)(EEPROM_SIZE - 4)), 0xdeadc0de); // Aligned + EXPECT_EQ(eeprom_read_dword((uint32_t*)(EEPROM_SIZE - 9)), 0x6789abcd); // Unaligned } TEST_F(EepromStm32Test, TestBlockRoundTrip) { diff --git a/platforms/test/flash_stm32_mock.c b/platforms/test/flash_stm32_mock.c index 222a004bc766..b6ab170f9525 100644 --- a/platforms/test/flash_stm32_mock.c +++ b/platforms/test/flash_stm32_mock.c @@ -44,6 +44,12 @@ FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data) { } } -FLASH_Status FLASH_WaitForLastOperation(uint32_t Timeout) { return FLASH_COMPLETE; } -void FLASH_Unlock(void) { flash_locked = false; } -void FLASH_Lock(void) { flash_locked = true; } +FLASH_Status FLASH_WaitForLastOperation(uint32_t Timeout) { + return FLASH_COMPLETE; +} +void FLASH_Unlock(void) { + flash_locked = false; +} +void FLASH_Lock(void) { + flash_locked = true; +} diff --git a/platforms/test/timer.c b/platforms/test/timer.c index 61c3a002011b..e0acd1b16d6e 100644 --- a/platforms/test/timer.c +++ b/platforms/test/timer.c @@ -18,16 +18,34 @@ static uint32_t current_time = 0; -void timer_init(void) { current_time = 0; } +void timer_init(void) { + current_time = 0; +} -void timer_clear(void) { current_time = 0; } +void timer_clear(void) { + current_time = 0; +} -uint16_t timer_read(void) { return current_time & 0xFFFF; } -uint32_t timer_read32(void) { return current_time; } -uint16_t timer_elapsed(uint16_t last) { return TIMER_DIFF_16(timer_read(), last); } -uint32_t timer_elapsed32(uint32_t last) { return TIMER_DIFF_32(timer_read32(), last); } +uint16_t timer_read(void) { + return current_time & 0xFFFF; +} +uint32_t timer_read32(void) { + return current_time; +} +uint16_t timer_elapsed(uint16_t last) { + return TIMER_DIFF_16(timer_read(), last); +} +uint32_t timer_elapsed32(uint32_t last) { + return TIMER_DIFF_32(timer_read32(), last); +} -void set_time(uint32_t t) { current_time = t; } -void advance_time(uint32_t ms) { current_time += ms; } +void set_time(uint32_t t) { + current_time = t; +} +void advance_time(uint32_t ms) { + current_time += ms; +} -void wait_ms(uint32_t ms) { advance_time(ms); } +void wait_ms(uint32_t ms) { + advance_time(ms); +} diff --git a/platforms/timer.h b/platforms/timer.h index 02e39e79e797..d55f40f0b0b1 100644 --- a/platforms/timer.h +++ b/platforms/timer.h @@ -52,14 +52,22 @@ uint32_t timer_elapsed32(uint32_t last); # define TIMER_DIFF_FAST(a, b) TIMER_DIFF_16(a, b) # define timer_expired_fast(current, future) timer_expired(current, future) typedef uint16_t fast_timer_t; -fast_timer_t inline timer_read_fast(void) { return timer_read(); } -fast_timer_t inline timer_elapsed_fast(fast_timer_t last) { return timer_elapsed(last); } +fast_timer_t inline timer_read_fast(void) { + return timer_read(); +} +fast_timer_t inline timer_elapsed_fast(fast_timer_t last) { + return timer_elapsed(last); +} #else # define TIMER_DIFF_FAST(a, b) TIMER_DIFF_32(a, b) # define timer_expired_fast(current, future) timer_expired32(current, future) typedef uint32_t fast_timer_t; -fast_timer_t inline timer_read_fast(void) { return timer_read32(); } -fast_timer_t inline timer_elapsed_fast(fast_timer_t last) { return timer_elapsed32(last); } +fast_timer_t inline timer_read_fast(void) { + return timer_read32(); +} +fast_timer_t inline timer_elapsed_fast(fast_timer_t last) { + return timer_elapsed32(last); +} #endif #ifdef __cplusplus diff --git a/quantum/action.c b/quantum/action.c index d932c016882c..2bb1c3498552 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -53,14 +53,20 @@ int retro_tapping_counter = 0; #endif #ifdef IGNORE_MOD_TAP_INTERRUPT_PER_KEY -__attribute__((weak)) bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { return false; } +__attribute__((weak)) bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { + return false; +} #endif #ifdef RETRO_TAPPING_PER_KEY -__attribute__((weak)) bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) { return false; } +__attribute__((weak)) bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) { + return false; +} #endif -__attribute__((weak)) bool pre_process_record_quantum(keyrecord_t *record) { return true; } +__attribute__((weak)) bool pre_process_record_quantum(keyrecord_t *record) { + return true; +} /** \brief Called to execute an action. * @@ -163,10 +169,14 @@ void process_record_nocache(keyrecord_t *record) { disable_action_cache = false; } #else -void process_record_nocache(keyrecord_t *record) { process_record(record); } +void process_record_nocache(keyrecord_t *record) { + process_record(record); +} #endif -__attribute__((weak)) bool process_record_quantum(keyrecord_t *record) { return true; } +__attribute__((weak)) bool process_record_quantum(keyrecord_t *record) { + return true; +} __attribute__((weak)) void post_process_record_quantum(keyrecord_t *record) {} @@ -688,7 +698,7 @@ void process_action(keyrecord_t *record, action_t action) { /* tap key */ if (tap_count > 0) { if (swap_held) { - swap_hands = !swap_hands; // undo hold set up in _tap_hint + swap_hands = !swap_hands; // undo hold set up in _tap_hint swap_held = false; } if (event.pressed) { @@ -696,11 +706,11 @@ void process_action(keyrecord_t *record, action_t action) { } else { wait_ms(TAP_CODE_DELAY); unregister_code(action.swap.code); - *record = (keyrecord_t){}; // hack: reset tap mode + *record = (keyrecord_t){}; // hack: reset tap mode } } else { if (swap_held && !event.pressed) { - swap_hands = !swap_hands; // undo hold set up in _tap_hint + swap_hands = !swap_hands; // undo hold set up in _tap_hint swap_held = false; } } @@ -862,9 +872,13 @@ __attribute__((weak)) void register_code(uint8_t code) { } #ifdef EXTRAKEY_ENABLE else if - IS_SYSTEM(code) { host_system_send(KEYCODE2SYSTEM(code)); } + IS_SYSTEM(code) { + host_system_send(KEYCODE2SYSTEM(code)); + } else if - IS_CONSUMER(code) { host_consumer_send(KEYCODE2CONSUMER(code)); } + IS_CONSUMER(code) { + host_consumer_send(KEYCODE2CONSUMER(code)); + } #endif #ifdef MOUSEKEY_ENABLE else if @@ -927,9 +941,13 @@ __attribute__((weak)) void unregister_code(uint8_t code) { send_keyboard_report(); } else if - IS_SYSTEM(code) { host_system_send(0); } + IS_SYSTEM(code) { + host_system_send(0); + } else if - IS_CONSUMER(code) { host_consumer_send(0); } + IS_CONSUMER(code) { + host_consumer_send(0); + } #ifdef MOUSEKEY_ENABLE else if IS_MOUSEKEY(code) { @@ -956,7 +974,9 @@ __attribute__((weak)) void tap_code_delay(uint8_t code, uint16_t delay) { * * \param code The basic keycode to tap. If `code` is `KC_CAPS_LOCK`, the delay will be `TAP_HOLD_CAPS_DELAY`, otherwise `TAP_CODE_DELAY`, if defined. */ -__attribute__((weak)) void tap_code(uint8_t code) { tap_code_delay(code, code == KC_CAPS_LOCK ? TAP_HOLD_CAPS_DELAY : TAP_CODE_DELAY); } +__attribute__((weak)) void tap_code(uint8_t code) { + tap_code_delay(code, code == KC_CAPS_LOCK ? TAP_HOLD_CAPS_DELAY : TAP_CODE_DELAY); +} /** \brief Adds the given physically pressed modifiers and sends a keyboard report immediately. * @@ -1100,7 +1120,9 @@ bool is_tap_action(action_t action) { * * FIXME: Needs documentation. */ -void debug_event(keyevent_t event) { dprintf("%04X%c(%u)", (event.key.row << 8 | event.key.col), (event.pressed ? 'd' : 'u'), event.time); } +void debug_event(keyevent_t event) { + dprintf("%04X%c(%u)", (event.key.row << 8 | event.key.col), (event.pressed ? 'd' : 'u'), event.time); +} /** \brief Debug print (FIXME: Needs better description) * * FIXME: Needs documentation. diff --git a/quantum/action_layer.c b/quantum/action_layer.c index ed1a4bd20d94..e20eedee404b 100644 --- a/quantum/action_layer.c +++ b/quantum/action_layer.c @@ -18,13 +18,17 @@ layer_state_t default_layer_state = 0; * * Run user code on default layer state change */ -__attribute__((weak)) layer_state_t default_layer_state_set_user(layer_state_t state) { return state; } +__attribute__((weak)) layer_state_t default_layer_state_set_user(layer_state_t state) { + return state; +} /** \brief Default Layer State Set At Keyboard Level * * Run keyboard code on default layer state change */ -__attribute__((weak)) layer_state_t default_layer_state_set_kb(layer_state_t state) { return default_layer_state_set_user(state); } +__attribute__((weak)) layer_state_t default_layer_state_set_kb(layer_state_t state) { + return default_layer_state_set_user(state); +} /** \brief Default Layer State Set * @@ -39,9 +43,9 @@ static void default_layer_state_set(layer_state_t state) { default_layer_debug(); debug("\n"); #ifdef STRICT_LAYER_RELEASE - clear_keyboard_but_mods(); // To avoid stuck keys + clear_keyboard_but_mods(); // To avoid stuck keys #else - clear_keyboard_but_mods_and_keys(); // Don't reset held keys + clear_keyboard_but_mods_and_keys(); // Don't reset held keys #endif } @@ -49,30 +53,40 @@ static void default_layer_state_set(layer_state_t state) { * * Print out the hex value of the 32-bit default layer state, as well as the value of the highest bit. */ -void default_layer_debug(void) { dprintf("%08lX(%u)", default_layer_state, get_highest_layer(default_layer_state)); } +void default_layer_debug(void) { + dprintf("%08lX(%u)", default_layer_state, get_highest_layer(default_layer_state)); +} /** \brief Default Layer Set * * Sets the default layer state. */ -void default_layer_set(layer_state_t state) { default_layer_state_set(state); } +void default_layer_set(layer_state_t state) { + default_layer_state_set(state); +} #ifndef NO_ACTION_LAYER /** \brief Default Layer Or * * Turns on the default layer based on matching bits between specifed layer and existing layer state */ -void default_layer_or(layer_state_t state) { default_layer_state_set(default_layer_state | state); } +void default_layer_or(layer_state_t state) { + default_layer_state_set(default_layer_state | state); +} /** \brief Default Layer And * * Turns on default layer based on matching enabled bits between specifed layer and existing layer state */ -void default_layer_and(layer_state_t state) { default_layer_state_set(default_layer_state & state); } +void default_layer_and(layer_state_t state) { + default_layer_state_set(default_layer_state & state); +} /** \brief Default Layer Xor * * Turns on default layer based on non-matching bits between specifed layer and existing layer state */ -void default_layer_xor(layer_state_t state) { default_layer_state_set(default_layer_state ^ state); } +void default_layer_xor(layer_state_t state) { + default_layer_state_set(default_layer_state ^ state); +} #endif #ifndef NO_ACTION_LAYER @@ -84,13 +98,17 @@ layer_state_t layer_state = 0; * * Runs user code on layer state change */ -__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { return state; } +__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { + return state; +} /** \brief Layer state set keyboard * * Runs keyboard code on layer state change */ -__attribute__((weak)) layer_state_t layer_state_set_kb(layer_state_t state) { return layer_state_set_user(state); } +__attribute__((weak)) layer_state_t layer_state_set_kb(layer_state_t state) { + return layer_state_set_user(state); +} /** \brief Layer state set * @@ -105,9 +123,9 @@ void layer_state_set(layer_state_t state) { layer_debug(); dprintln(); # ifdef STRICT_LAYER_RELEASE - clear_keyboard_but_mods(); // To avoid stuck keys + clear_keyboard_but_mods(); // To avoid stuck keys # else - clear_keyboard_but_mods_and_keys(); // Don't reset held keys + clear_keyboard_but_mods_and_keys(); // Don't reset held keys # endif } @@ -115,13 +133,17 @@ void layer_state_set(layer_state_t state) { * * Turn off all layers */ -void layer_clear(void) { layer_state_set(0); } +void layer_clear(void) { + layer_state_set(0); +} /** \brief Layer state is * * Return whether the given state is on (it might still be shadowed by a higher state, though) */ -bool layer_state_is(uint8_t layer) { return layer_state_cmp(layer_state, layer); } +bool layer_state_is(uint8_t layer) { + return layer_state_cmp(layer_state, layer); +} /** \brief Layer state compare * @@ -138,47 +160,63 @@ bool layer_state_cmp(layer_state_t cmp_layer_state, uint8_t layer) { * * Turns on the given layer and turn off all other layers */ -void layer_move(uint8_t layer) { layer_state_set((layer_state_t)1 << layer); } +void layer_move(uint8_t layer) { + layer_state_set((layer_state_t)1 << layer); +} /** \brief Layer on * * Turns on given layer */ -void layer_on(uint8_t layer) { layer_state_set(layer_state | ((layer_state_t)1 << layer)); } +void layer_on(uint8_t layer) { + layer_state_set(layer_state | ((layer_state_t)1 << layer)); +} /** \brief Layer off * * Turns off given layer */ -void layer_off(uint8_t layer) { layer_state_set(layer_state & ~((layer_state_t)1 << layer)); } +void layer_off(uint8_t layer) { + layer_state_set(layer_state & ~((layer_state_t)1 << layer)); +} /** \brief Layer invert * * Toggle the given layer (set it if it's unset, or unset it if it's set) */ -void layer_invert(uint8_t layer) { layer_state_set(layer_state ^ ((layer_state_t)1 << layer)); } +void layer_invert(uint8_t layer) { + layer_state_set(layer_state ^ ((layer_state_t)1 << layer)); +} /** \brief Layer or * * Turns on layers based on matching bits between specifed layer and existing layer state */ -void layer_or(layer_state_t state) { layer_state_set(layer_state | state); } +void layer_or(layer_state_t state) { + layer_state_set(layer_state | state); +} /** \brief Layer and * * Turns on layers based on matching enabled bits between specifed layer and existing layer state */ -void layer_and(layer_state_t state) { layer_state_set(layer_state & state); } +void layer_and(layer_state_t state) { + layer_state_set(layer_state & state); +} /** \brief Layer xor * * Turns on layers based on non-matching bits between specifed layer and existing layer state */ -void layer_xor(layer_state_t state) { layer_state_set(layer_state ^ state); } +void layer_xor(layer_state_t state) { + layer_state_set(layer_state ^ state); +} /** \brief Layer debug printing * * Print out the hex value of the 32-bit layer state, as well as the value of the highest bit. */ -void layer_debug(void) { dprintf("%08lX(%u)", layer_state, get_highest_layer(layer_state)); } +void layer_debug(void) { + dprintf("%08lX(%u)", layer_state, get_highest_layer(layer_state)); +} #endif #if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE) @@ -276,4 +314,6 @@ uint8_t layer_switch_get_layer(keypos_t key) { * * Gets action code based on key position */ -action_t layer_switch_get_action(keypos_t key) { return action_for_key(layer_switch_get_layer(key), key); } +action_t layer_switch_get_action(keypos_t key) { + return action_for_key(layer_switch_get_layer(key), key); +} diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c index 4ba38bee8d8e..6f8b4f8c56ae 100644 --- a/quantum/action_tapping.c +++ b/quantum/action_tapping.c @@ -26,7 +26,9 @@ uint16_t g_tapping_term = TAPPING_TERM; -__attribute__((weak)) uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { return g_tapping_term; } +__attribute__((weak)) uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + return g_tapping_term; +} # ifdef TAPPING_TERM_PER_KEY # define WITHIN_TAPPING_TERM(e) (TIMER_DIFF_16(e.time, tapping_key.event.time) < get_tapping_term(get_record_keycode(&tapping_key, false), &tapping_key)) @@ -35,15 +37,21 @@ __attribute__((weak)) uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *r # endif # ifdef TAPPING_FORCE_HOLD_PER_KEY -__attribute__((weak)) bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { return false; } +__attribute__((weak)) bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { + return false; +} # endif # ifdef PERMISSIVE_HOLD_PER_KEY -__attribute__((weak)) bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { return false; } +__attribute__((weak)) bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { + return false; +} # endif # ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY -__attribute__((weak)) bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { return false; } +__attribute__((weak)) bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { + return false; +} # endif # if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) diff --git a/quantum/action_util.c b/quantum/action_util.c index 9eb2a6d30dc2..64a1b6b30d80 100644 --- a/quantum/action_util.c +++ b/quantum/action_util.c @@ -43,8 +43,10 @@ extern inline void clear_keys(void); #ifndef NO_ACTION_ONESHOT static uint8_t oneshot_mods = 0; static uint8_t oneshot_locked_mods = 0; -uint8_t get_oneshot_locked_mods(void) { return oneshot_locked_mods; } -void set_oneshot_locked_mods(uint8_t mods) { +uint8_t get_oneshot_locked_mods(void) { + return oneshot_locked_mods; +} +void set_oneshot_locked_mods(uint8_t mods) { if (mods != oneshot_locked_mods) { oneshot_locked_mods = mods; oneshot_locked_mods_changed_kb(oneshot_locked_mods); @@ -58,9 +60,13 @@ void clear_oneshot_locked_mods(void) { } # if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0)) static uint16_t oneshot_time = 0; -bool has_oneshot_mods_timed_out(void) { return TIMER_DIFF_16(timer_read(), oneshot_time) >= ONESHOT_TIMEOUT; } +bool has_oneshot_mods_timed_out(void) { + return TIMER_DIFF_16(timer_read(), oneshot_time) >= ONESHOT_TIMEOUT; +} # else -bool has_oneshot_mods_timed_out(void) { return false; } +bool has_oneshot_mods_timed_out(void) { + return false; +} # endif #endif @@ -74,24 +80,32 @@ bool has_oneshot_mods_timed_out(void) { return false; } */ static int8_t oneshot_layer_data = 0; -inline uint8_t get_oneshot_layer(void) { return oneshot_layer_data >> 3; } -inline uint8_t get_oneshot_layer_state(void) { return oneshot_layer_data & 0b111; } +inline uint8_t get_oneshot_layer(void) { + return oneshot_layer_data >> 3; +} +inline uint8_t get_oneshot_layer_state(void) { + return oneshot_layer_data & 0b111; +} # ifdef SWAP_HANDS_ENABLE enum { SHO_OFF, - SHO_ACTIVE, // Swap hands button was pressed, and we didn't send any swapped keys yet - SHO_PRESSED, // Swap hands button is currently pressed - SHO_USED, // Swap hands button is still pressed, and we already sent swapped keys + SHO_ACTIVE, // Swap hands button was pressed, and we didn't send any swapped keys yet + SHO_PRESSED, // Swap hands button is currently pressed + SHO_USED, // Swap hands button is still pressed, and we already sent swapped keys } swap_hands_oneshot = SHO_OFF; # endif # if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0)) static uint16_t oneshot_layer_time = 0; -inline bool has_oneshot_layer_timed_out() { return TIMER_DIFF_16(timer_read(), oneshot_layer_time) >= ONESHOT_TIMEOUT && !(get_oneshot_layer_state() & ONESHOT_TOGGLED); } +inline bool has_oneshot_layer_timed_out() { + return TIMER_DIFF_16(timer_read(), oneshot_layer_time) >= ONESHOT_TIMEOUT && !(get_oneshot_layer_state() & ONESHOT_TOGGLED); +} # ifdef SWAP_HANDS_ENABLE static uint16_t oneshot_swaphands_time = 0; -inline bool has_oneshot_swaphands_timed_out() { return TIMER_DIFF_16(timer_read(), oneshot_swaphands_time) >= ONESHOT_TIMEOUT && (swap_hands_oneshot == SHO_ACTIVE); } +inline bool has_oneshot_swaphands_timed_out() { + return TIMER_DIFF_16(timer_read(), oneshot_swaphands_time) >= ONESHOT_TIMEOUT && (swap_hands_oneshot == SHO_ACTIVE); +} # endif # endif @@ -179,7 +193,9 @@ void clear_oneshot_layer_state(oneshot_fullfillment_t state) { * * FIXME: needs doc */ -bool is_oneshot_layer_active(void) { return get_oneshot_layer_state(); } +bool is_oneshot_layer_active(void) { + return get_oneshot_layer_state(); +} /** \brief set oneshot * @@ -198,21 +214,29 @@ void oneshot_set(bool active) { * * FIXME: needs doc */ -void oneshot_toggle(void) { oneshot_set(!keymap_config.oneshot_disable); } +void oneshot_toggle(void) { + oneshot_set(!keymap_config.oneshot_disable); +} /** \brief enable oneshot * * FIXME: needs doc */ -void oneshot_enable(void) { oneshot_set(true); } +void oneshot_enable(void) { + oneshot_set(true); +} /** \brief disable oneshot * * FIXME: needs doc */ -void oneshot_disable(void) { oneshot_set(false); } +void oneshot_disable(void) { + oneshot_set(false); +} -bool is_oneshot_enabled(void) { return keymap_config.oneshot_disable; } +bool is_oneshot_enabled(void) { + return keymap_config.oneshot_disable; +} #endif @@ -259,68 +283,96 @@ void send_keyboard_report(void) { * * FIXME: needs doc */ -uint8_t get_mods(void) { return real_mods; } +uint8_t get_mods(void) { + return real_mods; +} /** \brief add mods * * FIXME: needs doc */ -void add_mods(uint8_t mods) { real_mods |= mods; } +void add_mods(uint8_t mods) { + real_mods |= mods; +} /** \brief del mods * * FIXME: needs doc */ -void del_mods(uint8_t mods) { real_mods &= ~mods; } +void del_mods(uint8_t mods) { + real_mods &= ~mods; +} /** \brief set mods * * FIXME: needs doc */ -void set_mods(uint8_t mods) { real_mods = mods; } +void set_mods(uint8_t mods) { + real_mods = mods; +} /** \brief clear mods * * FIXME: needs doc */ -void clear_mods(void) { real_mods = 0; } +void clear_mods(void) { + real_mods = 0; +} /** \brief get weak mods * * FIXME: needs doc */ -uint8_t get_weak_mods(void) { return weak_mods; } +uint8_t get_weak_mods(void) { + return weak_mods; +} /** \brief add weak mods * * FIXME: needs doc */ -void add_weak_mods(uint8_t mods) { weak_mods |= mods; } +void add_weak_mods(uint8_t mods) { + weak_mods |= mods; +} /** \brief del weak mods * * FIXME: needs doc */ -void del_weak_mods(uint8_t mods) { weak_mods &= ~mods; } +void del_weak_mods(uint8_t mods) { + weak_mods &= ~mods; +} /** \brief set weak mods * * FIXME: needs doc */ -void set_weak_mods(uint8_t mods) { weak_mods = mods; } +void set_weak_mods(uint8_t mods) { + weak_mods = mods; +} /** \brief clear weak mods * * FIXME: needs doc */ -void clear_weak_mods(void) { weak_mods = 0; } +void clear_weak_mods(void) { + weak_mods = 0; +} #ifdef KEY_OVERRIDE_ENABLE /** \brief set weak mods used by key overrides. DO not call this manually */ -void set_weak_override_mods(uint8_t mods) { weak_override_mods = mods; } +void set_weak_override_mods(uint8_t mods) { + weak_override_mods = mods; +} /** \brief clear weak mods used by key overrides. DO not call this manually */ -void clear_weak_override_mods(void) { weak_override_mods = 0; } +void clear_weak_override_mods(void) { + weak_override_mods = 0; +} /** \brief set suppressed mods used by key overrides. DO not call this manually */ -void set_suppressed_override_mods(uint8_t mods) { suppressed_mods = mods; } +void set_suppressed_override_mods(uint8_t mods) { + suppressed_mods = mods; +} /** \brief clear suppressed mods used by key overrides. DO not call this manually */ -void clear_suppressed_override_mods(void) { suppressed_mods = 0; } +void clear_suppressed_override_mods(void) { + suppressed_mods = 0; +} #endif #ifndef NO_ACTION_ONESHOT @@ -328,7 +380,9 @@ void clear_suppressed_override_mods(void) { suppressed_mods = 0; } * * FIXME: needs doc */ -uint8_t get_oneshot_mods(void) { return oneshot_mods; } +uint8_t get_oneshot_mods(void) { + return oneshot_mods; +} void add_oneshot_mods(uint8_t mods) { if ((oneshot_mods & mods) != mods) { @@ -391,7 +445,9 @@ __attribute__((weak)) void oneshot_locked_mods_changed_user(uint8_t mods) {} * * \param mods Contains the active modifiers active after the change. */ -__attribute__((weak)) void oneshot_locked_mods_changed_kb(uint8_t mods) { oneshot_locked_mods_changed_user(mods); } +__attribute__((weak)) void oneshot_locked_mods_changed_kb(uint8_t mods) { + oneshot_locked_mods_changed_user(mods); +} /** \brief Called when the one shot modifiers have been changed. * @@ -403,7 +459,9 @@ __attribute__((weak)) void oneshot_mods_changed_user(uint8_t mods) {} * * \param mods Contains the active modifiers active after the change. */ -__attribute__((weak)) void oneshot_mods_changed_kb(uint8_t mods) { oneshot_mods_changed_user(mods); } +__attribute__((weak)) void oneshot_mods_changed_kb(uint8_t mods) { + oneshot_mods_changed_user(mods); +} /** \brief Called when the one shot layers have been changed. * @@ -415,10 +473,14 @@ __attribute__((weak)) void oneshot_layer_changed_user(uint8_t layer) {} * * \param layer Contains the layer that is toggled on, or zero when toggled off. */ -__attribute__((weak)) void oneshot_layer_changed_kb(uint8_t layer) { oneshot_layer_changed_user(layer); } +__attribute__((weak)) void oneshot_layer_changed_kb(uint8_t layer) { + oneshot_layer_changed_user(layer); +} /** \brief inspect keyboard state * * FIXME: needs doc */ -uint8_t has_anymod(void) { return bitpop(real_mods); } +uint8_t has_anymod(void) { + return bitpop(real_mods); +} diff --git a/quantum/action_util.h b/quantum/action_util.h index bfd0a6cf95ab..6f1f09c4bd1c 100644 --- a/quantum/action_util.h +++ b/quantum/action_util.h @@ -29,11 +29,17 @@ extern report_keyboard_t *keyboard_report; void send_keyboard_report(void); /* key */ -inline void add_key(uint8_t key) { add_key_to_report(keyboard_report, key); } +inline void add_key(uint8_t key) { + add_key_to_report(keyboard_report, key); +} -inline void del_key(uint8_t key) { del_key_from_report(keyboard_report, key); } +inline void del_key(uint8_t key) { + del_key_from_report(keyboard_report, key); +} -inline void clear_keys(void) { clear_keys_from_report(keyboard_report); } +inline void clear_keys(void) { + clear_keys_from_report(keyboard_report); +} /* modifier */ uint8_t get_mods(void); diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index b3d6389dd5b5..c6523b908cd3 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -64,21 +64,21 @@ #ifndef AUDIO_TONE_STACKSIZE # define AUDIO_TONE_STACKSIZE 8 #endif -uint8_t active_tones = 0; // number of tones pushed onto the stack by audio_play_tone - might be more than the hardware is able to reproduce at any single time -musical_tone_t tones[AUDIO_TONE_STACKSIZE]; // stack of currently active tones +uint8_t active_tones = 0; // number of tones pushed onto the stack by audio_play_tone - might be more than the hardware is able to reproduce at any single time +musical_tone_t tones[AUDIO_TONE_STACKSIZE]; // stack of currently active tones -bool playing_melody = false; // playing a SONG? -bool playing_note = false; // or (possibly multiple simultaneous) tones -bool state_changed = false; // global flag, which is set if anything changes with the active_tones +bool playing_melody = false; // playing a SONG? +bool playing_note = false; // or (possibly multiple simultaneous) tones +bool state_changed = false; // global flag, which is set if anything changes with the active_tones // melody/SONG related state variables -float (*notes_pointer)[][2]; // SONG, an array of MUSICAL_NOTEs -uint16_t notes_count; // length of the notes_pointer array -bool notes_repeat; // PLAY_SONG or PLAY_LOOP? -uint16_t melody_current_note_duration = 0; // duration of the currently playing note from the active melody, in ms -uint8_t note_tempo = TEMPO_DEFAULT; // beats-per-minute -uint16_t current_note = 0; // index into the array at notes_pointer -bool note_resting = false; // if a short pause was introduced between two notes with the same frequency while playing a melody +float (*notes_pointer)[][2]; // SONG, an array of MUSICAL_NOTEs +uint16_t notes_count; // length of the notes_pointer array +bool notes_repeat; // PLAY_SONG or PLAY_LOOP? +uint16_t melody_current_note_duration = 0; // duration of the currently playing note from the active melody, in ms +uint8_t note_tempo = TEMPO_DEFAULT; // beats-per-minute +uint16_t current_note = 0; // index into the array at notes_pointer +bool note_resting = false; // if a short pause was introduced between two notes with the same frequency while playing a melody uint16_t last_timestamp = 0; #ifdef AUDIO_ENABLE_TONE_MULTIPLEXING @@ -86,7 +86,7 @@ uint16_t last_timestamp = 0; # define AUDIO_MAX_SIMULTANEOUS_TONES 3 # endif uint16_t tone_multiplexing_rate = AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT; -uint8_t tone_multiplexing_index_shift = 0; // offset used on active-tone array access +uint8_t tone_multiplexing_index_shift = 0; // offset used on active-tone array access #endif // provided and used by voices.c @@ -123,12 +123,12 @@ void audio_init() { eeconfig_init(); } audio_config.raw = eeconfig_read_audio(); -#else // EEPROM settings +#else // EEPROM settings audio_config.enable = true; # ifdef AUDIO_CLICKY_ON audio_config.clicky_enable = true; # endif -#endif // EEPROM settings +#endif // EEPROM settings for (uint8_t i = 0; i < AUDIO_TONE_STACKSIZE; i++) { tones[i] = (musical_tone_t){.time_started = 0, .pitch = -1.0f, .duration = 0}; @@ -181,7 +181,9 @@ void audio_off(void) { eeconfig_update_audio(audio_config.raw); } -bool audio_is_on(void) { return (audio_config.enable != 0); } +bool audio_is_on(void) { + return (audio_config.enable != 0); +} void audio_stop_all() { if (audio_driver_stopped) { @@ -268,7 +270,7 @@ void audio_play_note(float pitch, uint16_t duration) { tones[j] = tones[j + 1]; tones[j + 1] = (musical_tone_t){.time_started = timer_read(), .pitch = pitch, .duration = duration}; } - return; // since this frequency played already, the hardware was already started + return; // since this frequency played already, the hardware was already started } } @@ -286,7 +288,7 @@ void audio_play_note(float pitch, uint16_t duration) { tones[active_tones - 1] = (musical_tone_t){.time_started = timer_read(), .pitch = pitch, .duration = duration}; // TODO: needs to be handled per note/tone -> use its timestamp instead? - voices_timer = timer_read(); // reset to zero, for the effects added by voices.c + voices_timer = timer_read(); // reset to zero, for the effects added by voices.c if (audio_driver_stopped) { audio_driver_start(); @@ -294,7 +296,9 @@ void audio_play_note(float pitch, uint16_t duration) { } } -void audio_play_tone(float pitch) { audio_play_note(pitch, 0xffff); } +void audio_play_tone(float pitch) { + audio_play_note(pitch, 0xffff); +} void audio_play_melody(float (*np)[][2], uint16_t n_count, bool n_repeat) { if (!audio_config.enable) { @@ -316,7 +320,7 @@ void audio_play_melody(float (*np)[][2], uint16_t n_count, bool n_repeat) { notes_count = n_count; notes_repeat = n_repeat; - current_note = 0; // note in the melody-array/list at note_pointer + current_note = 0; // note in the melody-array/list at note_pointer // start first note manually, which also starts the audio_driver // all following/remaining notes are played by 'audio_update_state' @@ -347,11 +351,17 @@ void audio_play_click(uint16_t delay, float pitch, uint16_t duration) { } } -bool audio_is_playing_note(void) { return playing_note; } +bool audio_is_playing_note(void) { + return playing_note; +} -bool audio_is_playing_melody(void) { return playing_melody; } +bool audio_is_playing_melody(void) { + return playing_melody; +} -uint8_t audio_get_number_of_active_tones(void) { return active_tones; } +uint8_t audio_get_number_of_active_tones(void) { + return active_tones; +} float audio_get_frequency(uint8_t tone_index) { if (tone_index >= active_tones) { @@ -370,7 +380,7 @@ float audio_get_processed_frequency(uint8_t tone_index) { #ifdef AUDIO_ENABLE_TONE_MULTIPLEXING index = index - tone_multiplexing_index_shift; - if (index < 0) // wrap around + if (index < 0) // wrap around index += active_tones; #endif @@ -396,7 +406,7 @@ bool audio_update_state(void) { last_timestamp = current_time; uint16_t previous_note = current_note; current_note++; - voices_timer = timer_read(); // reset to zero, for the effects added by voices.c + voices_timer = timer_read(); // reset to zero, for the effects added by voices.c if (current_note >= notes_count) { if (notes_repeat) { @@ -466,11 +476,11 @@ bool audio_update_state(void) { // housekeeping: stop notes that have no playtime left for (int i = 0; i < active_tones; i++) { - if ((tones[i].duration != 0xffff) // indefinitely playing notes, started by 'audio_play_tone' - && (tones[i].duration != 0) // 'uninitialized' + if ((tones[i].duration != 0xffff) // indefinitely playing notes, started by 'audio_play_tone' + && (tones[i].duration != 0) // 'uninitialized' ) { if (timer_elapsed(tones[i].time_started) >= tones[i].duration) { - audio_stop_tone(tones[i].pitch); // also sets 'state_changed=true' + audio_stop_tone(tones[i].pitch); // also sets 'state_changed=true' } } } @@ -487,9 +497,15 @@ bool audio_update_state(void) { // Tone-multiplexing functions #ifdef AUDIO_ENABLE_TONE_MULTIPLEXING -void audio_set_tone_multiplexing_rate(uint16_t rate) { tone_multiplexing_rate = rate; } -void audio_enable_tone_multiplexing(void) { tone_multiplexing_rate = AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT; } -void audio_disable_tone_multiplexing(void) { tone_multiplexing_rate = 0; } +void audio_set_tone_multiplexing_rate(uint16_t rate) { + tone_multiplexing_rate = rate; +} +void audio_enable_tone_multiplexing(void) { + tone_multiplexing_rate = AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT; +} +void audio_disable_tone_multiplexing(void) { + tone_multiplexing_rate = 0; +} void audio_increase_tone_multiplexing_rate(uint16_t change) { if ((0xffff - change) > tone_multiplexing_rate) { tone_multiplexing_rate += change; diff --git a/quantum/audio/audio.h b/quantum/audio/audio.h index 290d461f5a16..fe23cf3ed1a8 100644 --- a/quantum/audio/audio.h +++ b/quantum/audio/audio.h @@ -54,9 +54,9 @@ typedef union { * "A musical tone is characterized by its duration, pitch, intensity (or loudness), and timbre (or quality)" */ typedef struct { - uint16_t time_started; // timestamp the tone/note was started, system time runs with 1ms resolution -> 16bit timer overflows every ~64 seconds, long enough under normal circumstances; but might be too soon for long-duration notes when the note_tempo is set to a very low value - float pitch; // aka frequency, in Hz - uint16_t duration; // in ms, converted from the musical_notes.h unit which has 64parts to a beat, factoring in the current tempo in beats-per-minute + uint16_t time_started; // timestamp the tone/note was started, system time runs with 1ms resolution -> 16bit timer overflows every ~64 seconds, long enough under normal circumstances; but might be too soon for long-duration notes when the note_tempo is set to a very low value + float pitch; // aka frequency, in Hz + uint16_t duration; // in ms, converted from the musical_notes.h unit which has 64parts to a beat, factoring in the current tempo in beats-per-minute // float intensity; // aka volume [0,1] TODO: not used at the moment; pwm drivers can't handle it // uint8_t timbre; // range: [0,100] TODO: this currently kept track of globally, should we do this per tone instead? } musical_tone_t; diff --git a/quantum/audio/song_list.h b/quantum/audio/song_list.h index 8e80a016aa51..3e425abb4783 100644 --- a/quantum/audio/song_list.h +++ b/quantum/audio/song_list.h @@ -22,7 +22,7 @@ #if __has_include("user_song_list.h") # include "user_song_list.h" -#endif // if file exists +#endif // if file exists #define NO_SOUND diff --git a/quantum/audio/voices.c b/quantum/audio/voices.c index 8988d827e9b8..1c08a3af366a 100644 --- a/quantum/audio/voices.c +++ b/quantum/audio/voices.c @@ -32,11 +32,17 @@ voice_type voice = AUDIO_VOICE_DEFAULT; voice_type voice = default_voice; #endif -void set_voice(voice_type v) { voice = v; } +void set_voice(voice_type v) { + voice = v; +} -void voice_iterate() { voice = (voice + 1) % number_of_voices; } +void voice_iterate() { + voice = (voice + 1) % number_of_voices; +} -void voice_deiterate() { voice = (voice - 1 + number_of_voices) % number_of_voices; } +void voice_deiterate() { + voice = (voice - 1 + number_of_voices) % number_of_voices; +} #ifdef AUDIO_VOICES float mod(float a, int b) { @@ -67,8 +73,8 @@ float voice_envelope(float frequency) { // envelope_index ranges from 0 to 0xFFFF, which is preserved at 880.0 Hz // __attribute__((unused)) uint16_t compensated_index = (uint16_t)((float)envelope_index * (880.0 / frequency)); #ifdef AUDIO_VOICES - uint16_t envelope_index = timer_elapsed(voices_timer); // TODO: multiply in some factor? - uint16_t compensated_index = envelope_index / 100; // TODO: correct factor would be? + uint16_t envelope_index = timer_elapsed(voices_timer); // TODO: multiply in some factor? + uint16_t compensated_index = envelope_index / 100; // TODO: correct factor would be? #endif switch (voice) { @@ -303,7 +309,7 @@ float voice_envelope(float frequency) { // note_timbre = TIMBRE_25; // break; -#endif // AUDIO_VOICES +#endif // AUDIO_VOICES default: break; @@ -318,19 +324,31 @@ float voice_envelope(float frequency) { // TODO: where to keep track of the start-frequency? // frequency = voice_add_glissando(??, frequency); } -#endif // AUDIO_VOICES +#endif // AUDIO_VOICES return frequency; } // Vibrato functions -void voice_set_vibrato_rate(float rate) { vibrato_rate = rate; } -void voice_increase_vibrato_rate(float change) { vibrato_rate *= change; } -void voice_decrease_vibrato_rate(float change) { vibrato_rate /= change; } -void voice_set_vibrato_strength(float strength) { vibrato_strength = strength; } -void voice_increase_vibrato_strength(float change) { vibrato_strength *= change; } -void voice_decrease_vibrato_strength(float change) { vibrato_strength /= change; } +void voice_set_vibrato_rate(float rate) { + vibrato_rate = rate; +} +void voice_increase_vibrato_rate(float change) { + vibrato_rate *= change; +} +void voice_decrease_vibrato_rate(float change) { + vibrato_rate /= change; +} +void voice_set_vibrato_strength(float strength) { + vibrato_strength = strength; +} +void voice_increase_vibrato_strength(float change) { + vibrato_strength *= change; +} +void voice_decrease_vibrato_strength(float change) { + vibrato_strength /= change; +} // Timbre functions @@ -339,4 +357,6 @@ void voice_set_timbre(uint8_t timbre) { note_timbre = timbre; } } -uint8_t voice_get_timbre(void) { return note_timbre; } +uint8_t voice_get_timbre(void) { + return note_timbre; +} diff --git a/quantum/audio/voices.h b/quantum/audio/voices.h index 1f402e7e1269..fcab9db55688 100644 --- a/quantum/audio/voices.h +++ b/quantum/audio/voices.h @@ -40,7 +40,7 @@ typedef enum { // duty_third_down, // duty_fifth_third_down, #endif - number_of_voices // important that this is last + number_of_voices // important that this is last } voice_type; void set_voice(voice_type v); diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c index dfb98419e6c9..52ec086bb093 100644 --- a/quantum/backlight/backlight.c +++ b/quantum/backlight/backlight.c @@ -95,10 +95,10 @@ void backlight_toggle(void) { * FIXME: needs doc */ void backlight_enable(void) { - if (backlight_config.enable) return; // do nothing if backlight is already on + if (backlight_config.enable) return; // do nothing if backlight is already on backlight_config.enable = true; - if (backlight_config.raw == 1) // enabled but level == 0 + if (backlight_config.raw == 1) // enabled but level == 0 backlight_config.level = 1; eeconfig_update_backlight(backlight_config.raw); dprintf("backlight enable\n"); @@ -110,7 +110,7 @@ void backlight_enable(void) { * FIXME: needs doc */ void backlight_disable(void) { - if (!backlight_config.enable) return; // do nothing if backlight is already off + if (!backlight_config.enable) return; // do nothing if backlight is already off backlight_config.enable = false; eeconfig_update_backlight(backlight_config.raw); @@ -122,7 +122,9 @@ void backlight_disable(void) { * * FIXME: needs doc */ -bool is_backlight_enabled(void) { return backlight_config.enable; } +bool is_backlight_enabled(void) { + return backlight_config.enable; +} /** \brief Backlight step through levels * @@ -158,11 +160,17 @@ void backlight_level(uint8_t level) { eeconfig_update_backlight(backlight_config.raw); } -uint8_t eeconfig_read_backlight(void) { return eeprom_read_byte(EECONFIG_BACKLIGHT); } +uint8_t eeconfig_read_backlight(void) { + return eeprom_read_byte(EECONFIG_BACKLIGHT); +} -void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); } +void eeconfig_update_backlight(uint8_t val) { + eeprom_update_byte(EECONFIG_BACKLIGHT, val); +} -void eeconfig_update_backlight_current(void) { eeconfig_update_backlight(backlight_config.raw); } +void eeconfig_update_backlight_current(void) { + eeconfig_update_backlight(backlight_config.raw); +} void eeconfig_update_backlight_default(void) { backlight_config.enable = 1; @@ -179,7 +187,9 @@ void eeconfig_update_backlight_default(void) { * * FIXME: needs doc */ -uint8_t get_backlight_level(void) { return backlight_config.level; } +uint8_t get_backlight_level(void) { + return backlight_config.level; +} #ifdef BACKLIGHT_BREATHING /** \brief Backlight breathing toggle @@ -200,7 +210,7 @@ void backlight_toggle_breathing(void) { * FIXME: needs doc */ void backlight_enable_breathing(void) { - if (backlight_config.breathing) return; // do nothing if breathing is already on + if (backlight_config.breathing) return; // do nothing if breathing is already on backlight_config.breathing = true; eeconfig_update_backlight(backlight_config.raw); @@ -213,7 +223,7 @@ void backlight_enable_breathing(void) { * FIXME: needs doc */ void backlight_disable_breathing(void) { - if (!backlight_config.breathing) return; // do nothing if breathing is already off + if (!backlight_config.breathing) return; // do nothing if breathing is already off backlight_config.breathing = false; eeconfig_update_backlight(backlight_config.raw); @@ -225,18 +235,30 @@ void backlight_disable_breathing(void) { * * FIXME: needs doc */ -bool is_backlight_breathing(void) { return backlight_config.breathing; } +bool is_backlight_breathing(void) { + return backlight_config.breathing; +} // following are marked as weak purely for backwards compatibility -__attribute__((weak)) void breathing_period_set(uint8_t value) { breathing_period = value ? value : 1; } +__attribute__((weak)) void breathing_period_set(uint8_t value) { + breathing_period = value ? value : 1; +} -__attribute__((weak)) uint8_t get_breathing_period(void) { return breathing_period; } +__attribute__((weak)) uint8_t get_breathing_period(void) { + return breathing_period; +} -__attribute__((weak)) void breathing_period_default(void) { breathing_period_set(BREATHING_PERIOD); } +__attribute__((weak)) void breathing_period_default(void) { + breathing_period_set(BREATHING_PERIOD); +} -__attribute__((weak)) void breathing_period_inc(void) { breathing_period_set(breathing_period + 1); } +__attribute__((weak)) void breathing_period_inc(void) { + breathing_period_set(breathing_period + 1); +} -__attribute__((weak)) void breathing_period_dec(void) { breathing_period_set(breathing_period - 1); } +__attribute__((weak)) void breathing_period_dec(void) { + breathing_period_set(breathing_period - 1); +} __attribute__((weak)) void breathing_toggle(void) { if (is_breathing()) diff --git a/quantum/backlight/backlight.h b/quantum/backlight/backlight.h index c30c70fd6266..ff9c8de420ce 100644 --- a/quantum/backlight/backlight.h +++ b/quantum/backlight/backlight.h @@ -39,7 +39,7 @@ typedef union { struct { bool enable : 1; bool breathing : 1; - uint8_t reserved : 1; // Reserved for possible future backlight modes + uint8_t reserved : 1; // Reserved for possible future backlight modes uint8_t level : 5; }; } backlight_config_t; diff --git a/quantum/backlight/backlight_avr.c b/quantum/backlight/backlight_avr.c index 9c972ae02eda..f3a025227001 100644 --- a/quantum/backlight/backlight_avr.c +++ b/quantum/backlight/backlight_avr.c @@ -136,7 +136,7 @@ # define TCCRxB TCCR1B # define TIMERx_COMPA_vect TIMER1_COMPA_vect # define TIMERx_OVF_vect TIMER1_OVF_vect -# if defined(__AVR_ATmega32A__) // This MCU has only one TIMSK register +# if defined(__AVR_ATmega32A__) // This MCU has only one TIMSK register # define TIMSKx TIMSK # else # define TIMSKx TIMSK1 @@ -166,7 +166,7 @@ error("Please set 'BACKLIGHT_DRIVER = custom' within rules.mk") error("Please set 'BACKLIGHT_DRIVER = software' within rules.mk") #endif -#ifndef BACKLIGHT_PWM_TIMER // pwm through software +#ifndef BACKLIGHT_PWM_TIMER // pwm through software static inline void enable_pwm(void) { # if BACKLIGHT_ON_STATE == 1 @@ -203,7 +203,9 @@ static inline void disable_pwm(void) { // or F_CPU/BACKLIGHT_CUSTOM_RESOLUTION if used. // Triggered when the counter reaches the OCRx value -ISR(TIMERx_COMPA_vect) { backlight_pins_off(); } +ISR(TIMERx_COMPA_vect) { + backlight_pins_off(); +} // Triggered when the counter reaches the TOP value // this one triggers at F_CPU/ICRx = 16MHz/65536 =~ 244 Hz @@ -232,15 +234,15 @@ ISR(TIMERx_OVF_vect) { // See http://jared.geek.nz/2013/feb/linear-led-pwm static uint16_t cie_lightness(uint16_t v) { - if (v <= (uint32_t)ICRx / 12) // If the value is less than or equal to ~8% of max + if (v <= (uint32_t)ICRx / 12) // If the value is less than or equal to ~8% of max { - return v / 9; // Same as dividing by 900% + return v / 9; // Same as dividing by 900% } else { // In the next two lines values are bit-shifted. This is to avoid loosing decimals in integer math. - uint32_t y = (((uint32_t)v + (uint32_t)ICRx / 6) << 5) / ((uint32_t)ICRx / 6 + ICRx); // If above 8%, add ~16% of max, and normalize with (max + ~16% max) - uint32_t out = (y * y * y * ICRx) >> 15; // Cube it and undo the bit-shifting. (which is now three times as much due to the cubing) + uint32_t y = (((uint32_t)v + (uint32_t)ICRx / 6) << 5) / ((uint32_t)ICRx / 6 + ICRx); // If above 8%, add ~16% of max, and normalize with (max + ~16% max) + uint32_t out = (y * y * y * ICRx) >> 15; // Cube it and undo the bit-shifting. (which is now three times as much due to the cubing) - if (out > ICRx) // Avoid overflows + if (out > ICRx) // Avoid overflows { out = ICRx; } @@ -249,10 +251,14 @@ static uint16_t cie_lightness(uint16_t v) { } // rescale the supplied backlight value to be in terms of the value limit // range for val is [0..ICRx]. PWM pin is high while the timer count is below val. -static uint32_t rescale_limit_val(uint32_t val) { return (val * (BACKLIGHT_LIMIT_VAL + 1)) / 256; } +static uint32_t rescale_limit_val(uint32_t val) { + return (val * (BACKLIGHT_LIMIT_VAL + 1)) / 256; +} // range for val is [0..ICRx]. PWM pin is high while the timer count is below val. -static inline void set_pwm(uint16_t val) { OCRxx = val; } +static inline void set_pwm(uint16_t val) { + OCRxx = val; +} void backlight_set(uint8_t level) { if (level > BACKLIGHT_LEVELS) level = BACKLIGHT_LEVELS; @@ -303,7 +309,9 @@ static uint16_t breathing_freq_scale_factor = 2; # ifdef BACKLIGHT_PWM_TIMER static bool breathing = false; -bool is_breathing(void) { return breathing; } +bool is_breathing(void) { + return breathing; +} # define breathing_interrupt_enable() \ do { \ @@ -315,7 +323,9 @@ bool is_breathing(void) { return breathing; } } while (0) # else -bool is_breathing(void) { return !!(TIMSKx & _BV(TOIEx)); } +bool is_breathing(void) { + return !!(TIMSKx & _BV(TOIEx)); +} # define breathing_interrupt_enable() \ do { \ @@ -370,7 +380,9 @@ void breathing_self_disable(void) { static const uint8_t breathing_table[BREATHING_STEPS] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 17, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 70, 76, 83, 91, 98, 106, 113, 121, 129, 138, 146, 154, 162, 170, 178, 185, 193, 200, 207, 213, 220, 225, 231, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 231, 225, 220, 213, 207, 200, 193, 185, 178, 170, 162, 154, 146, 138, 129, 121, 113, 106, 98, 91, 83, 76, 70, 63, 57, 51, 46, 41, 36, 32, 28, 24, 20, 17, 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // Use this before the cie_lightness function. -static inline uint16_t scale_backlight(uint16_t v) { return v / BACKLIGHT_LEVELS * get_backlight_level(); } +static inline uint16_t scale_backlight(uint16_t v) { + return v / BACKLIGHT_LEVELS * get_backlight_level(); +} # ifdef BACKLIGHT_PWM_TIMER void breathing_task(void) @@ -403,7 +415,7 @@ ISR(TIMERx_OVF_vect) set_pwm(cie_lightness(rescale_limit_val(scale_backlight((uint16_t)pgm_read_byte(&breathing_table[index]) * ICRx / 255)))); } -#endif // BACKLIGHT_BREATHING +#endif // BACKLIGHT_BREATHING void backlight_init_ports(void) { // Setup backlight pin as output and output to on state. @@ -415,10 +427,10 @@ void backlight_init_ports(void) { #ifdef BACKLIGHT_PWM_TIMER // TimerX setup, Fast PWM mode count to TOP set in ICRx - TCCRxA = _BV(WGM11); // = 0b00000010; + TCCRxA = _BV(WGM11); // = 0b00000010; // clock select clk/1 - TCCRxB = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; -#else // hardware PWM + TCCRxB = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; +#else // hardware PWM // Pin PB7 = OCR1C (Timer 1, Channel C) // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0 // (i.e. start high, go low when counter matches.) @@ -430,8 +442,8 @@ void backlight_init_ports(void) { "In fast PWM mode, the compare units allow generation of PWM waveforms on the OCnx pins. Setting the COMnx1:0 bits to two will produce a non-inverted PWM [..]." "In fast PWM mode the counter is incremented until the counter value matches either one of the fixed values 0x00FF, 0x01FF, or 0x03FF (WGMn3:0 = 5, 6, or 7), the value in ICRn (WGMn3:0 = 14), or the value in OCRnA (WGMn3:0 = 15)." */ - TCCRxA = _BV(COMxx1) | _BV(WGM11); // = 0b00001010; - TCCRxB = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; + TCCRxA = _BV(COMxx1) | _BV(WGM11); // = 0b00001010; + TCCRxB = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; #endif #ifdef BACKLIGHT_CUSTOM_RESOLUTION diff --git a/quantum/backlight/backlight_chibios.c b/quantum/backlight/backlight_chibios.c index 7c6edd10d6eb..e8f9e70f782b 100644 --- a/quantum/backlight/backlight_chibios.c +++ b/quantum/backlight/backlight_chibios.c @@ -53,14 +53,14 @@ static PWMConfig pwmCFG = {0xFFFF, /* PWM clock frequency */ // See http://jared.geek.nz/2013/feb/linear-led-pwm static uint16_t cie_lightness(uint16_t v) { - if (v <= 5243) // if below 8% of max - return v / 9; // same as dividing by 900% + if (v <= 5243) // if below 8% of max + return v / 9; // same as dividing by 900% else { - uint32_t y = (((uint32_t)v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare + uint32_t y = (((uint32_t)v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare // to get a useful result with integer division, we shift left in the expression above // and revert what we've done again after squaring. y = y * y * y >> 8; - if (y > 0xFFFFUL) // prevent overflow + if (y > 0xFFFFUL) // prevent overflow return 0xFFFFU; else return (uint16_t)y; @@ -117,7 +117,9 @@ static const uint8_t breathing_table[BREATHING_STEPS] = {0, 0, 0, 0, 0, 0, 0, 0, void breathing_callback(PWMDriver *pwmp); -bool is_breathing(void) { return pwmCFG.callback != NULL; } +bool is_breathing(void) { + return pwmCFG.callback != NULL; +} void breathing_enable(void) { pwmCFG.callback = breathing_callback; @@ -133,7 +135,9 @@ void breathing_disable(void) { } // Use this before the cie_lightness function. -static inline uint16_t scale_backlight(uint16_t v) { return v / BACKLIGHT_LEVELS * get_backlight_level(); } +static inline uint16_t scale_backlight(uint16_t v) { + return v / BACKLIGHT_LEVELS * get_backlight_level(); +} void breathing_callback(PWMDriver *pwmp) { uint8_t breathing_period = get_breathing_period(); diff --git a/quantum/backlight/backlight_driver_common.c b/quantum/backlight/backlight_driver_common.c index 270a43c67e63..e4c2e90b5fd0 100644 --- a/quantum/backlight/backlight_driver_common.c +++ b/quantum/backlight/backlight_driver_common.c @@ -44,6 +44,10 @@ void backlight_pins_init(void) { FOR_EACH_LED(setPinOutput(backlight_pin); backlight_off(backlight_pin);) } -void backlight_pins_on(void) { FOR_EACH_LED(backlight_on(backlight_pin);) } +void backlight_pins_on(void) { + FOR_EACH_LED(backlight_on(backlight_pin);) +} -void backlight_pins_off(void) { FOR_EACH_LED(backlight_off(backlight_pin);) } +void backlight_pins_off(void) { + FOR_EACH_LED(backlight_off(backlight_pin);) +} diff --git a/quantum/backlight/backlight_software.c b/quantum/backlight/backlight_software.c index 709304f55929..3d412cab5214 100644 --- a/quantum/backlight/backlight_software.c +++ b/quantum/backlight/backlight_software.c @@ -30,11 +30,17 @@ static const uint16_t backlight_duty_table[] = { // clang-format on -static uint8_t scale_backlight(uint8_t v) { return v * (backlight_duty_table_size - 1) / BACKLIGHT_LEVELS; } +static uint8_t scale_backlight(uint8_t v) { + return v * (backlight_duty_table_size - 1) / BACKLIGHT_LEVELS; +} -void backlight_init_ports(void) { backlight_pins_init(); } +void backlight_init_ports(void) { + backlight_pins_init(); +} -void backlight_set(uint8_t level) { s_duty_pattern = backlight_duty_table[scale_backlight(level)]; } +void backlight_set(uint8_t level) { + s_duty_pattern = backlight_duty_table[scale_backlight(level)]; +} void backlight_task(void) { static uint8_t backlight_tick = 0; diff --git a/quantum/backlight/backlight_timer.c b/quantum/backlight/backlight_timer.c index c32c35c1543a..82fb6a6a83e7 100644 --- a/quantum/backlight/backlight_timer.c +++ b/quantum/backlight/backlight_timer.c @@ -14,14 +14,14 @@ static uint16_t backlight_timer_get_duty(void); // See http://jared.geek.nz/2013/feb/linear-led-pwm static uint16_t cie_lightness(uint16_t v) { - if (v <= 5243) // if below 8% of max - return v / 9; // same as dividing by 900% + if (v <= 5243) // if below 8% of max + return v / 9; // same as dividing by 900% else { - uint32_t y = (((uint32_t)v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare + uint32_t y = (((uint32_t)v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare // to get a useful result with integer division, we shift left in the expression above // and revert what we've done again after squaring. y = y * y * y >> 8; - if (y > 0xFFFFUL) // prevent overflow + if (y > 0xFFFFUL) // prevent overflow return 0xFFFFU; else return (uint16_t)y; @@ -61,7 +61,9 @@ static void backlight_timer_top(void) { } } -static void backlight_timer_cmp(void) { backlight_pins_off(); } +static void backlight_timer_cmp(void) { + backlight_pins_off(); +} void backlight_task(void) {} @@ -77,7 +79,9 @@ static uint16_t breathing_counter = 0; static const uint8_t breathing_table[BREATHING_STEPS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 17, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 70, 76, 83, 91, 98, 106, 113, 121, 129, 138, 146, 154, 162, 170, 178, 185, 193, 200, 207, 213, 220, 225, 231, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 231, 225, 220, 213, 207, 200, 193, 185, 178, 170, 162, 154, 146, 138, 129, 121, 113, 106, 98, 91, 83, 76, 70, 63, 57, 51, 46, 41, 36, 32, 28, 24, 20, 17, 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // Use this before the cie_lightness function. -static inline uint16_t scale_backlight(uint16_t v) { return v / BACKLIGHT_LEVELS * get_backlight_level(); } +static inline uint16_t scale_backlight(uint16_t v) { + return v / BACKLIGHT_LEVELS * get_backlight_level(); +} void breathing_task(void) { uint8_t breathing_period = get_breathing_period(); @@ -91,13 +95,17 @@ void breathing_task(void) { backlight_timer_set_duty(cie_lightness(scale_backlight((uint16_t)breathing_table[index] * 256))); } -bool is_breathing(void) { return breathing; } +bool is_breathing(void) { + return breathing; +} void breathing_enable(void) { breathing_counter = 0; breathing = true; } -void breathing_disable(void) { breathing = false; } +void breathing_disable(void) { + breathing = false; +} void breathing_pulse(void) { backlight_set(is_backlight_enabled() ? 0 : BACKLIGHT_LEVELS); @@ -140,8 +148,12 @@ static void timerCallback(void) { } } -static void backlight_timer_set_duty(uint16_t duty) { s_duty = duty; } -static uint16_t backlight_timer_get_duty(void) { return s_duty; } +static void backlight_timer_set_duty(uint16_t duty) { + s_duty = duty; +} +static uint16_t backlight_timer_get_duty(void) { + return s_duty; +} // ChibiOS - Map GPT timer onto Software PWM static void gptTimerCallback(GPTDriver *gptp) { diff --git a/quantum/bitwise.c b/quantum/bitwise.c index 861cca0054fb..1868e1493232 100644 --- a/quantum/bitwise.c +++ b/quantum/bitwise.c @@ -20,7 +20,8 @@ along with this program. If not, see . // bit population - return number of on-bit __attribute__((noinline)) uint8_t bitpop(uint8_t bits) { uint8_t c; - for (c = 0; bits; c++) bits &= bits - 1; + for (c = 0; bits; c++) + bits &= bits - 1; return c; /* const uint8_t bit_count[] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 }; @@ -30,13 +31,15 @@ __attribute__((noinline)) uint8_t bitpop(uint8_t bits) { uint8_t bitpop16(uint16_t bits) { uint8_t c; - for (c = 0; bits; c++) bits &= bits - 1; + for (c = 0; bits; c++) + bits &= bits - 1; return c; } uint8_t bitpop32(uint32_t bits) { uint8_t c; - for (c = 0; bits; c++) bits &= bits - 1; + for (c = 0; bits; c++) + bits &= bits - 1; return c; } diff --git a/quantum/bootmagic/bootmagic_lite.c b/quantum/bootmagic/bootmagic_lite.c index 54bbf5a2ee76..f63c71fc6b16 100644 --- a/quantum/bootmagic/bootmagic_lite.c +++ b/quantum/bootmagic/bootmagic_lite.c @@ -19,7 +19,9 @@ * * ...just incase someone wants to only change the eeprom behaviour */ -__attribute__((weak)) void bootmagic_lite_reset_eeprom(void) { eeconfig_disable(); } +__attribute__((weak)) void bootmagic_lite_reset_eeprom(void) { + eeconfig_disable(); +} /** \brief The lite version of TMK's bootmagic based on Wilba. * @@ -57,4 +59,6 @@ __attribute__((weak)) void bootmagic_lite(void) { } } -void bootmagic(void) { bootmagic_lite(); } +void bootmagic(void) { + bootmagic_lite(); +} diff --git a/quantum/color.c b/quantum/color.c index 1c5128e4a2b0..c80078dbf215 100644 --- a/quantum/color.c +++ b/quantum/color.c @@ -104,7 +104,9 @@ RGB hsv_to_rgb(HSV hsv) { #endif } -RGB hsv_to_rgb_nocie(HSV hsv) { return hsv_to_rgb_impl(hsv, false); } +RGB hsv_to_rgb_nocie(HSV hsv) { + return hsv_to_rgb_impl(hsv, false); +} #ifdef RGBW # ifndef MIN diff --git a/quantum/command.c b/quantum/command.c index 6d56a25ea114..f90d73207c3e 100644 --- a/quantum/command.c +++ b/quantum/command.c @@ -446,7 +446,7 @@ static bool command_common(uint8_t code) { // NKRO toggle case MAGIC_KC(MAGIC_KEY_NKRO): - clear_keyboard(); // clear to prevent stuck keys + clear_keyboard(); // clear to prevent stuck keys keymap_config.nkro = !keymap_config.nkro; if (keymap_config.nkro) { print("NKRO: on\n"); diff --git a/quantum/debounce/sym_defer_g.c b/quantum/debounce/sym_defer_g.c index 8cac1c37f9db..47450992a492 100644 --- a/quantum/debounce/sym_defer_g.c +++ b/quantum/debounce/sym_defer_g.c @@ -45,6 +45,6 @@ void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool } void debounce_free(void) {} -#else // no debouncing. +#else // no debouncing. # include "none.c" #endif diff --git a/quantum/debounce/sym_defer_pr.c b/quantum/debounce/sym_defer_pr.c index 8b33acc6a261..ce24f0922fea 100644 --- a/quantum/debounce/sym_defer_pr.c +++ b/quantum/debounce/sym_defer_pr.c @@ -69,4 +69,6 @@ void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool } } -bool debounce_active(void) { return true; } +bool debounce_active(void) { + return true; +} diff --git a/quantum/debounce/sym_eager_pk.c b/quantum/debounce/sym_eager_pk.c index deec4636493c..fe3e88bb061b 100644 --- a/quantum/debounce/sym_eager_pk.c +++ b/quantum/debounce/sym_eager_pk.c @@ -131,7 +131,7 @@ static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], ui if (*debounce_pointer == DEBOUNCE_ELAPSED) { *debounce_pointer = DEBOUNCE; counters_need_update = true; - existing_row ^= col_mask; // flip the bit. + existing_row ^= col_mask; // flip the bit. } } debounce_pointer++; diff --git a/quantum/debounce/tests/debounce_test_common.cpp b/quantum/debounce/tests/debounce_test_common.cpp index f9414e571d84..0d5a7bb76648 100644 --- a/quantum/debounce/tests/debounce_test_common.cpp +++ b/quantum/debounce/tests/debounce_test_common.cpp @@ -31,7 +31,9 @@ void set_time(uint32_t t); void advance_time(uint32_t ms); } -void DebounceTest::addEvents(std::initializer_list events) { events_.insert(events_.end(), events.begin(), events.end()); } +void DebounceTest::addEvents(std::initializer_list events) { + events_.insert(events_.end(), events.begin(), events.end()); +} void DebounceTest::runEvents() { /* Run the test multiple times, from 1kHz to 10kHz scan rate */ diff --git a/quantum/deferred_exec.c b/quantum/deferred_exec.c index a64b451df2d2..a0046a9648d6 100644 --- a/quantum/deferred_exec.c +++ b/quantum/deferred_exec.c @@ -157,7 +157,15 @@ void deferred_exec_advanced_task(deferred_executor_t *table, size_t table_count, static uint32_t last_deferred_exec_check = 0; static deferred_executor_t basic_executors[MAX_DEFERRED_EXECUTORS] = {0}; -deferred_token defer_exec(uint32_t delay_ms, deferred_exec_callback callback, void *cb_arg) { return defer_exec_advanced(basic_executors, MAX_DEFERRED_EXECUTORS, delay_ms, callback, cb_arg); } -bool extend_deferred_exec(deferred_token token, uint32_t delay_ms) { return extend_deferred_exec_advanced(basic_executors, MAX_DEFERRED_EXECUTORS, token, delay_ms); } -bool cancel_deferred_exec(deferred_token token) { return cancel_deferred_exec_advanced(basic_executors, MAX_DEFERRED_EXECUTORS, token); } -void deferred_exec_task(void) { deferred_exec_advanced_task(basic_executors, MAX_DEFERRED_EXECUTORS, &last_deferred_exec_check); } +deferred_token defer_exec(uint32_t delay_ms, deferred_exec_callback callback, void *cb_arg) { + return defer_exec_advanced(basic_executors, MAX_DEFERRED_EXECUTORS, delay_ms, callback, cb_arg); +} +bool extend_deferred_exec(deferred_token token, uint32_t delay_ms) { + return extend_deferred_exec_advanced(basic_executors, MAX_DEFERRED_EXECUTORS, token, delay_ms); +} +bool cancel_deferred_exec(deferred_token token) { + return cancel_deferred_exec_advanced(basic_executors, MAX_DEFERRED_EXECUTORS, token); +} +void deferred_exec_task(void) { + deferred_exec_advanced_task(basic_executors, MAX_DEFERRED_EXECUTORS, &last_deferred_exec_check); +} diff --git a/quantum/digitizer.c b/quantum/digitizer.c index e29986742916..7925129d0cb5 100644 --- a/quantum/digitizer.c +++ b/quantum/digitizer.c @@ -24,9 +24,13 @@ __attribute__((weak)) void digitizer_send(void) { } } -__attribute__((weak)) void digitizer_task(void) { digitizer_send(); } +__attribute__((weak)) void digitizer_task(void) { + digitizer_send(); +} -digitizer_t digitizer_get_report(void) { return digitizerReport; } +digitizer_t digitizer_get_report(void) { + return digitizerReport; +} void digitizer_set_report(digitizer_t newDigitizerReport) { digitizerReport = newDigitizerReport; diff --git a/quantum/dip_switch.c b/quantum/dip_switch.c index 133ec850273e..eee29aaf9122 100644 --- a/quantum/dip_switch.c +++ b/quantum/dip_switch.c @@ -52,13 +52,21 @@ static uint16_t scan_count; static bool dip_switch_state[NUMBER_OF_DIP_SWITCHES] = {0}; static bool last_dip_switch_state[NUMBER_OF_DIP_SWITCHES] = {0}; -__attribute__((weak)) bool dip_switch_update_user(uint8_t index, bool active) { return true; } +__attribute__((weak)) bool dip_switch_update_user(uint8_t index, bool active) { + return true; +} -__attribute__((weak)) bool dip_switch_update_kb(uint8_t index, bool active) { return dip_switch_update_user(index, active); } +__attribute__((weak)) bool dip_switch_update_kb(uint8_t index, bool active) { + return dip_switch_update_user(index, active); +} -__attribute__((weak)) bool dip_switch_update_mask_user(uint32_t state) { return true; } +__attribute__((weak)) bool dip_switch_update_mask_user(uint32_t state) { + return true; +} -__attribute__((weak)) bool dip_switch_update_mask_kb(uint32_t state) { return dip_switch_update_mask_user(state); } +__attribute__((weak)) bool dip_switch_update_mask_kb(uint32_t state) { + return dip_switch_update_mask_user(state); +} void dip_switch_init(void) { #ifdef DIP_SWITCH_PINS diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c index 8f1f39bc0f09..f070375ff3c2 100644 --- a/quantum/dynamic_keymap.c +++ b/quantum/dynamic_keymap.c @@ -14,12 +14,12 @@ * along with this program. If not, see . */ -#include "keymap.h" // to get keymaps[][][] +#include "keymap.h" // to get keymaps[][][] #include "eeprom.h" -#include "progmem.h" // to read default from flash -#include "quantum.h" // for send_string() +#include "progmem.h" // to read default from flash +#include "quantum.h" // for send_string() #include "dynamic_keymap.h" -#include "via.h" // for default VIA_EEPROM_ADDR_END +#include "via.h" // for default VIA_EEPROM_ADDR_END #ifndef DYNAMIC_KEYMAP_LAYER_COUNT # define DYNAMIC_KEYMAP_LAYER_COUNT 4 @@ -79,7 +79,9 @@ # define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE (DYNAMIC_KEYMAP_EEPROM_MAX_ADDR - DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + 1) #endif -uint8_t dynamic_keymap_get_layer_count(void) { return DYNAMIC_KEYMAP_LAYER_COUNT; } +uint8_t dynamic_keymap_get_layer_count(void) { + return DYNAMIC_KEYMAP_LAYER_COUNT; +} void *dynamic_keymap_key_to_eeprom_address(uint8_t layer, uint8_t row, uint8_t column) { // TODO: optimize this with some left shifts @@ -151,9 +153,13 @@ uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key) { } } -uint8_t dynamic_keymap_macro_get_count(void) { return DYNAMIC_KEYMAP_MACRO_COUNT; } +uint8_t dynamic_keymap_macro_get_count(void) { + return DYNAMIC_KEYMAP_MACRO_COUNT; +} -uint16_t dynamic_keymap_macro_get_buffer_size(void) { return DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE; } +uint16_t dynamic_keymap_macro_get_buffer_size(void) { + return DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE; +} void dynamic_keymap_macro_get_buffer(uint16_t offset, uint16_t size, uint8_t *data) { void * source = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset); diff --git a/quantum/eeconfig.c b/quantum/eeconfig.c index 4c2ad2490ce8..14cd5887f442 100644 --- a/quantum/eeconfig.c +++ b/quantum/eeconfig.c @@ -49,7 +49,7 @@ void eeconfig_init_quantum(void) { eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, 0); eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0); eeprom_update_byte(EECONFIG_BACKLIGHT, 0); - eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default + eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default eeprom_update_dword(EECONFIG_RGBLIGHT, 0); eeprom_update_byte(EECONFIG_STENOMODE, 0); eeprom_update_dword(EECONFIG_HAPTIC, 0); @@ -90,13 +90,17 @@ void eeconfig_init_quantum(void) { * * FIXME: needs doc */ -void eeconfig_init(void) { eeconfig_init_quantum(); } +void eeconfig_init(void) { + eeconfig_init_quantum(); +} /** \brief eeconfig enable * * FIXME: needs doc */ -void eeconfig_enable(void) { eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); } +void eeconfig_enable(void) { + eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); +} /** \brief eeconfig disable * @@ -141,29 +145,39 @@ bool eeconfig_is_disabled(void) { * * FIXME: needs doc */ -uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); } +uint8_t eeconfig_read_debug(void) { + return eeprom_read_byte(EECONFIG_DEBUG); +} /** \brief eeconfig update debug * * FIXME: needs doc */ -void eeconfig_update_debug(uint8_t val) { eeprom_update_byte(EECONFIG_DEBUG, val); } +void eeconfig_update_debug(uint8_t val) { + eeprom_update_byte(EECONFIG_DEBUG, val); +} /** \brief eeconfig read default layer * * FIXME: needs doc */ -uint8_t eeconfig_read_default_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); } +uint8_t eeconfig_read_default_layer(void) { + return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); +} /** \brief eeconfig update default layer * * FIXME: needs doc */ -void eeconfig_update_default_layer(uint8_t val) { eeprom_update_byte(EECONFIG_DEFAULT_LAYER, val); } +void eeconfig_update_default_layer(uint8_t val) { + eeprom_update_byte(EECONFIG_DEFAULT_LAYER, val); +} /** \brief eeconfig read keymap * * FIXME: needs doc */ -uint16_t eeconfig_read_keymap(void) { return (eeprom_read_byte(EECONFIG_KEYMAP_LOWER_BYTE) | (eeprom_read_byte(EECONFIG_KEYMAP_UPPER_BYTE) << 8)); } +uint16_t eeconfig_read_keymap(void) { + return (eeprom_read_byte(EECONFIG_KEYMAP_LOWER_BYTE) | (eeprom_read_byte(EECONFIG_KEYMAP_UPPER_BYTE) << 8)); +} /** \brief eeconfig update keymap * * FIXME: needs doc @@ -177,53 +191,73 @@ void eeconfig_update_keymap(uint16_t val) { * * FIXME: needs doc */ -uint8_t eeconfig_read_audio(void) { return eeprom_read_byte(EECONFIG_AUDIO); } +uint8_t eeconfig_read_audio(void) { + return eeprom_read_byte(EECONFIG_AUDIO); +} /** \brief eeconfig update audio * * FIXME: needs doc */ -void eeconfig_update_audio(uint8_t val) { eeprom_update_byte(EECONFIG_AUDIO, val); } +void eeconfig_update_audio(uint8_t val) { + eeprom_update_byte(EECONFIG_AUDIO, val); +} /** \brief eeconfig read kb * * FIXME: needs doc */ -uint32_t eeconfig_read_kb(void) { return eeprom_read_dword(EECONFIG_KEYBOARD); } +uint32_t eeconfig_read_kb(void) { + return eeprom_read_dword(EECONFIG_KEYBOARD); +} /** \brief eeconfig update kb * * FIXME: needs doc */ -void eeconfig_update_kb(uint32_t val) { eeprom_update_dword(EECONFIG_KEYBOARD, val); } +void eeconfig_update_kb(uint32_t val) { + eeprom_update_dword(EECONFIG_KEYBOARD, val); +} /** \brief eeconfig read user * * FIXME: needs doc */ -uint32_t eeconfig_read_user(void) { return eeprom_read_dword(EECONFIG_USER); } +uint32_t eeconfig_read_user(void) { + return eeprom_read_dword(EECONFIG_USER); +} /** \brief eeconfig update user * * FIXME: needs doc */ -void eeconfig_update_user(uint32_t val) { eeprom_update_dword(EECONFIG_USER, val); } +void eeconfig_update_user(uint32_t val) { + eeprom_update_dword(EECONFIG_USER, val); +} /** \brief eeconfig read haptic * * FIXME: needs doc */ -uint32_t eeconfig_read_haptic(void) { return eeprom_read_dword(EECONFIG_HAPTIC); } +uint32_t eeconfig_read_haptic(void) { + return eeprom_read_dword(EECONFIG_HAPTIC); +} /** \brief eeconfig update haptic * * FIXME: needs doc */ -void eeconfig_update_haptic(uint32_t val) { eeprom_update_dword(EECONFIG_HAPTIC, val); } +void eeconfig_update_haptic(uint32_t val) { + eeprom_update_dword(EECONFIG_HAPTIC, val); +} /** \brief eeconfig read split handedness * * FIXME: needs doc */ -bool eeconfig_read_handedness(void) { return !!eeprom_read_byte(EECONFIG_HANDEDNESS); } +bool eeconfig_read_handedness(void) { + return !!eeprom_read_byte(EECONFIG_HANDEDNESS); +} /** \brief eeconfig update split handedness * * FIXME: needs doc */ -void eeconfig_update_handedness(bool val) { eeprom_update_byte(EECONFIG_HANDEDNESS, !!val); } +void eeconfig_update_handedness(bool val) { + eeprom_update_byte(EECONFIG_HANDEDNESS, !!val); +} diff --git a/quantum/eeconfig.h b/quantum/eeconfig.h index 22d874273c08..f3cd1867ab43 100644 --- a/quantum/eeconfig.h +++ b/quantum/eeconfig.h @@ -21,7 +21,7 @@ along with this program. If not, see . #include #ifndef EECONFIG_MAGIC_NUMBER -# define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEE9 // When changing, decrement this value to avoid future re-init issues +# define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEE9 // When changing, decrement this value to avoid future re-init issues #endif #define EECONFIG_MAGIC_NUMBER_OFF (uint16_t)0xFFFF @@ -112,28 +112,30 @@ void eeconfig_update_haptic(uint32_t val); bool eeconfig_read_handedness(void); void eeconfig_update_handedness(bool val); -#define EECONFIG_DEBOUNCE_HELPER(name, offset, config) \ - static uint8_t dirty_##name = false; \ - \ - static inline void eeconfig_init_##name(void) { \ - eeprom_read_block(&config, offset, sizeof(config)); \ - dirty_##name = false; \ - } \ - static inline void eeconfig_flush_##name(bool force) { \ - if (force || dirty_##name) { \ - eeprom_update_block(&config, offset, sizeof(config)); \ - dirty_##name = false; \ - } \ - } \ - static inline void eeconfig_flush_##name##_task(uint16_t timeout) { \ - static uint16_t flush_timer = 0; \ - if (timer_elapsed(flush_timer) > timeout) { \ - eeconfig_flush_##name(false); \ - flush_timer = timer_read(); \ - } \ - } \ - static inline void eeconfig_flag_##name(bool v) { dirty_##name |= v; } \ - static inline void eeconfig_write_##name(typeof(config) conf) { \ - memcpy(&config, &conf, sizeof(config)); \ - eeconfig_flag_##name(true); \ +#define EECONFIG_DEBOUNCE_HELPER(name, offset, config) \ + static uint8_t dirty_##name = false; \ + \ + static inline void eeconfig_init_##name(void) { \ + eeprom_read_block(&config, offset, sizeof(config)); \ + dirty_##name = false; \ + } \ + static inline void eeconfig_flush_##name(bool force) { \ + if (force || dirty_##name) { \ + eeprom_update_block(&config, offset, sizeof(config)); \ + dirty_##name = false; \ + } \ + } \ + static inline void eeconfig_flush_##name##_task(uint16_t timeout) { \ + static uint16_t flush_timer = 0; \ + if (timer_elapsed(flush_timer) > timeout) { \ + eeconfig_flush_##name(false); \ + flush_timer = timer_read(); \ + } \ + } \ + static inline void eeconfig_flag_##name(bool v) { \ + dirty_##name |= v; \ + } \ + static inline void eeconfig_write_##name(typeof(config) conf) { \ + memcpy(&config, &conf, sizeof(config)); \ + eeconfig_flag_##name(true); \ } diff --git a/quantum/encoder.c b/quantum/encoder.c index 8fb87281c2b1..59133f872a81 100644 --- a/quantum/encoder.c +++ b/quantum/encoder.c @@ -59,9 +59,13 @@ static uint8_t thisHand, thatHand; static uint8_t encoder_value[NUMBER_OF_ENCODERS] = {0}; #endif -__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return true; } +__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { + return true; +} -__attribute__((weak)) bool encoder_update_kb(uint8_t index, bool clockwise) { return encoder_update_user(index, clockwise); } +__attribute__((weak)) bool encoder_update_kb(uint8_t index, bool clockwise) { + return encoder_update_user(index, clockwise); +} void encoder_init(void) { #if defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT) @@ -113,7 +117,7 @@ static bool encoder_update(uint8_t index, uint8_t state) { changed = true; encoder_update_kb(index, ENCODER_COUNTER_CLOCKWISE); } - if (encoder_pulses[i] <= -resolution) { // direction is arbitrary here, but this clockwise + if (encoder_pulses[i] <= -resolution) { // direction is arbitrary here, but this clockwise encoder_value[index]--; changed = true; encoder_update_kb(index, ENCODER_CLOCKWISE); @@ -140,7 +144,9 @@ bool encoder_read(void) { #ifdef SPLIT_KEYBOARD void last_encoder_activity_trigger(void); -void encoder_state_raw(uint8_t* slave_state) { memcpy(slave_state, &encoder_value[thisHand], sizeof(uint8_t) * NUMBER_OF_ENCODERS); } +void encoder_state_raw(uint8_t* slave_state) { + memcpy(slave_state, &encoder_value[thisHand], sizeof(uint8_t) * NUMBER_OF_ENCODERS); +} void encoder_update_raw(uint8_t* slave_state) { bool changed = false; diff --git a/quantum/encoder/tests/mock.c b/quantum/encoder/tests/mock.c index d0506a938f7b..10a00cb8f2c1 100644 --- a/quantum/encoder/tests/mock.c +++ b/quantum/encoder/tests/mock.c @@ -26,7 +26,9 @@ uint8_t mockSetPinInputHigh(pin_t pin) { return 0; } -bool mockReadPin(pin_t pin) { return pins[pin]; } +bool mockReadPin(pin_t pin) { + return pins[pin]; +} bool setPin(pin_t pin, bool val) { pins[pin] = val; diff --git a/quantum/encoder/tests/mock_split.c b/quantum/encoder/tests/mock_split.c index 68bf3af59929..dd3c26d9584b 100644 --- a/quantum/encoder/tests/mock_split.c +++ b/quantum/encoder/tests/mock_split.c @@ -26,7 +26,9 @@ uint8_t mockSetPinInputHigh(pin_t pin) { return 0; } -bool mockReadPin(pin_t pin) { return pins[pin]; } +bool mockReadPin(pin_t pin) { + return pins[pin]; +} bool setPin(pin_t pin, bool val) { pins[pin] = val; diff --git a/quantum/haptic.c b/quantum/haptic.c index f915acf94647..31d111480675 100644 --- a/quantum/haptic.c +++ b/quantum/haptic.c @@ -247,7 +247,9 @@ void haptic_set_dwell(uint8_t dwell) { xprintf("haptic_config.dwell = %u\n", haptic_config.dwell); } -uint8_t haptic_get_enable(void) { return haptic_config.enable; } +uint8_t haptic_get_enable(void) { + return haptic_config.enable; +} uint8_t haptic_get_mode(void) { if (!haptic_config.enable) { diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 6bb28009103e..ba5609f0aabf 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -110,18 +110,34 @@ along with this program. If not, see . #endif static uint32_t last_input_modification_time = 0; -uint32_t last_input_activity_time(void) { return last_input_modification_time; } -uint32_t last_input_activity_elapsed(void) { return timer_elapsed32(last_input_modification_time); } +uint32_t last_input_activity_time(void) { + return last_input_modification_time; +} +uint32_t last_input_activity_elapsed(void) { + return timer_elapsed32(last_input_modification_time); +} static uint32_t last_matrix_modification_time = 0; -uint32_t last_matrix_activity_time(void) { return last_matrix_modification_time; } -uint32_t last_matrix_activity_elapsed(void) { return timer_elapsed32(last_matrix_modification_time); } -void last_matrix_activity_trigger(void) { last_matrix_modification_time = last_input_modification_time = timer_read32(); } +uint32_t last_matrix_activity_time(void) { + return last_matrix_modification_time; +} +uint32_t last_matrix_activity_elapsed(void) { + return timer_elapsed32(last_matrix_modification_time); +} +void last_matrix_activity_trigger(void) { + last_matrix_modification_time = last_input_modification_time = timer_read32(); +} static uint32_t last_encoder_modification_time = 0; -uint32_t last_encoder_activity_time(void) { return last_encoder_modification_time; } -uint32_t last_encoder_activity_elapsed(void) { return timer_elapsed32(last_encoder_modification_time); } -void last_encoder_activity_trigger(void) { last_encoder_modification_time = last_input_modification_time = timer_read32(); } +uint32_t last_encoder_activity_time(void) { + return last_encoder_modification_time; +} +uint32_t last_encoder_activity_elapsed(void) { + return timer_elapsed32(last_encoder_modification_time); +} +void last_encoder_activity_trigger(void) { + last_encoder_modification_time = last_input_modification_time = timer_read32(); +} // Only enable this if console is enabled to print to #if defined(DEBUG_MATRIX_SCAN_RATE) @@ -143,7 +159,9 @@ void matrix_scan_perf_task(void) { } } -uint32_t get_matrix_scan_rate(void) { return last_matrix_scan_count; } +uint32_t get_matrix_scan_rate(void) { + return last_matrix_scan_count; +} #else # define matrix_scan_perf_task() #endif @@ -163,7 +181,7 @@ static matrix_row_t get_real_keys(uint8_t row, matrix_row_t rowdata) { } static inline bool popcount_more_than_one(matrix_row_t rowdata) { - rowdata &= rowdata - 1; // if there are less than two bits (keys) set, rowdata will become zero + rowdata &= rowdata - 1; // if there are less than two bits (keys) set, rowdata will become zero return rowdata; } @@ -220,7 +238,9 @@ __attribute__((weak)) void keyboard_pre_init_user(void) {} * * FIXME: needs doc */ -__attribute__((weak)) void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } +__attribute__((weak)) void keyboard_pre_init_kb(void) { + keyboard_pre_init_user(); +} /** \brief keyboard_post_init_user * @@ -234,7 +254,9 @@ __attribute__((weak)) void keyboard_post_init_user() {} * FIXME: needs doc */ -__attribute__((weak)) void keyboard_post_init_kb(void) { keyboard_post_init_user(); } +__attribute__((weak)) void keyboard_post_init_kb(void) { + keyboard_post_init_user(); +} /** \brief keyboard_setup * @@ -258,13 +280,17 @@ void keyboard_setup(void) { * * FIXME: needs doc */ -__attribute__((weak)) bool is_keyboard_master(void) { return true; } +__attribute__((weak)) bool is_keyboard_master(void) { + return true; +} /** \brief is_keyboard_left * * FIXME: needs doc */ -__attribute__((weak)) bool is_keyboard_left(void) { return true; } +__attribute__((weak)) bool is_keyboard_left(void) { + return true; +} #endif @@ -273,7 +299,9 @@ __attribute__((weak)) bool is_keyboard_left(void) { return true; } * Override this function if you have a condition where keypresses processing should change: * - splits where the slave side needs to process for rgb/oled functionality */ -__attribute__((weak)) bool should_process_keypress(void) { return is_keyboard_master(); } +__attribute__((weak)) bool should_process_keypress(void) { + return is_keyboard_master(); +} /** \brief housekeeping_task_kb * diff --git a/quantum/keyboard.h b/quantum/keyboard.h index 9b0fb3cef8e0..e122b3826414 100644 --- a/quantum/keyboard.h +++ b/quantum/keyboard.h @@ -44,13 +44,21 @@ typedef struct { * 1) (time == 0) to handle (keyevent_t){} as empty event * 2) Matrix(255, 255) to make TICK event available */ -static inline bool IS_NOEVENT(keyevent_t event) { return event.time == 0 || (event.key.row == 255 && event.key.col == 255); } -static inline bool IS_PRESSED(keyevent_t event) { return (!IS_NOEVENT(event) && event.pressed); } -static inline bool IS_RELEASED(keyevent_t event) { return (!IS_NOEVENT(event) && !event.pressed); } +static inline bool IS_NOEVENT(keyevent_t event) { + return event.time == 0 || (event.key.row == 255 && event.key.col == 255); +} +static inline bool IS_PRESSED(keyevent_t event) { + return (!IS_NOEVENT(event) && event.pressed); +} +static inline bool IS_RELEASED(keyevent_t event) { + return (!IS_NOEVENT(event) && !event.pressed); +} /* Tick event */ -#define TICK \ - (keyevent_t) { .key = (keypos_t){.row = 255, .col = 255}, .pressed = false, .time = (timer_read() | 1) } +#define TICK \ + (keyevent_t) { \ + .key = (keypos_t){.row = 255, .col = 255}, .pressed = false, .time = (timer_read() | 1) \ + } /* it runs once at early stage of startup before keyboard_init. */ void keyboard_setup(void); @@ -68,18 +76,18 @@ void keyboard_pre_init_user(void); void keyboard_post_init_kb(void); void keyboard_post_init_user(void); -void housekeeping_task(void); // To be executed by the main loop in each backend TMK protocol -void housekeeping_task_kb(void); // To be overridden by keyboard-level code -void housekeeping_task_user(void); // To be overridden by user/keymap-level code +void housekeeping_task(void); // To be executed by the main loop in each backend TMK protocol +void housekeeping_task_kb(void); // To be overridden by keyboard-level code +void housekeeping_task_user(void); // To be overridden by user/keymap-level code -uint32_t last_input_activity_time(void); // Timestamp of the last matrix or encoder activity -uint32_t last_input_activity_elapsed(void); // Number of milliseconds since the last matrix or encoder activity +uint32_t last_input_activity_time(void); // Timestamp of the last matrix or encoder activity +uint32_t last_input_activity_elapsed(void); // Number of milliseconds since the last matrix or encoder activity -uint32_t last_matrix_activity_time(void); // Timestamp of the last matrix activity -uint32_t last_matrix_activity_elapsed(void); // Number of milliseconds since the last matrix activity +uint32_t last_matrix_activity_time(void); // Timestamp of the last matrix activity +uint32_t last_matrix_activity_elapsed(void); // Number of milliseconds since the last matrix activity -uint32_t last_encoder_activity_time(void); // Timestamp of the last encoder activity -uint32_t last_encoder_activity_elapsed(void); // Number of milliseconds since the last encoder activity +uint32_t last_encoder_activity_time(void); // Timestamp of the last encoder activity +uint32_t last_encoder_activity_elapsed(void); // Number of milliseconds since the last encoder activity uint32_t get_matrix_scan_rate(void); diff --git a/quantum/keycode.h b/quantum/keycode.h index a93255063524..3c80a386d18b 100644 --- a/quantum/keycode.h +++ b/quantum/keycode.h @@ -251,7 +251,7 @@ enum hid_keyboard_keypad_usage { KC_J, KC_K, KC_L, - KC_M, // 0x10 + KC_M, // 0x10 KC_N, KC_O, KC_P, @@ -267,7 +267,7 @@ enum hid_keyboard_keypad_usage { KC_Z, KC_1, KC_2, - KC_3, // 0x20 + KC_3, // 0x20 KC_4, KC_5, KC_6, @@ -283,7 +283,7 @@ enum hid_keyboard_keypad_usage { KC_MINUS, KC_EQUAL, KC_LEFT_BRACKET, - KC_RIGHT_BRACKET, // 0x30 + KC_RIGHT_BRACKET, // 0x30 KC_BACKSLASH, KC_NONUS_HASH, KC_SEMICOLON, @@ -299,7 +299,7 @@ enum hid_keyboard_keypad_usage { KC_F4, KC_F5, KC_F6, - KC_F7, // 0x40 + KC_F7, // 0x40 KC_F8, KC_F9, KC_F10, @@ -315,7 +315,7 @@ enum hid_keyboard_keypad_usage { KC_END, KC_PAGE_DOWN, KC_RIGHT, - KC_LEFT, // 0x50 + KC_LEFT, // 0x50 KC_DOWN, KC_UP, KC_NUM_LOCK, @@ -331,7 +331,7 @@ enum hid_keyboard_keypad_usage { KC_KP_5, KC_KP_6, KC_KP_7, - KC_KP_8, // 0x60 + KC_KP_8, // 0x60 KC_KP_9, KC_KP_0, KC_KP_DOT, @@ -347,7 +347,7 @@ enum hid_keyboard_keypad_usage { KC_F18, KC_F19, KC_F20, - KC_F21, // 0x70 + KC_F21, // 0x70 KC_F22, KC_F23, KC_F24, @@ -363,7 +363,7 @@ enum hid_keyboard_keypad_usage { KC_PASTE, KC_FIND, KC_KB_MUTE, - KC_KB_VOLUME_UP, // 0x80 + KC_KB_VOLUME_UP, // 0x80 KC_KB_VOLUME_DOWN, KC_LOCKING_CAPS_LOCK, KC_LOCKING_NUM_LOCK, @@ -379,7 +379,7 @@ enum hid_keyboard_keypad_usage { KC_INTERNATIONAL_7, KC_INTERNATIONAL_8, KC_INTERNATIONAL_9, - KC_LANGUAGE_1, // 0x90 + KC_LANGUAGE_1, // 0x90 KC_LANGUAGE_2, KC_LANGUAGE_3, KC_LANGUAGE_4, @@ -395,7 +395,7 @@ enum hid_keyboard_keypad_usage { KC_PRIOR, KC_RETURN, KC_SEPARATOR, - KC_OUT, // 0xA0 + KC_OUT, // 0xA0 KC_OPER, KC_CLEAR_AGAIN, KC_CRSEL, @@ -488,7 +488,7 @@ enum internal_special_keycodes { KC_MEDIA_STOP, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_SELECT, - KC_MEDIA_EJECT, // 0xB0 + KC_MEDIA_EJECT, // 0xB0 KC_MAIL, KC_CALCULATOR, KC_MY_COMPUTER, @@ -514,7 +514,7 @@ enum mouse_keys { #endif KC_MS_DOWN, KC_MS_LEFT, - KC_MS_RIGHT, // 0xF0 + KC_MS_RIGHT, // 0xF0 KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, @@ -539,7 +539,7 @@ enum mouse_keys { /* Acceleration */ KC_MS_ACCEL0, KC_MS_ACCEL1, - KC_MS_ACCEL2 // 0xFF + KC_MS_ACCEL2 // 0xFF }; #include "keycode_legacy.h" diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index cd67f71a8fea..a91b2a0b36a1 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -77,7 +77,7 @@ action_t action_for_keycode(uint16_t keycode) { case QK_MODS ... QK_MODS_MAX:; // Has a modifier // Split it up - action.code = ACTION_MODS_KEY(keycode >> 8, keycode & 0xFF); // adds modifier to key + action.code = ACTION_MODS_KEY(keycode >> 8, keycode & 0xFF); // adds modifier to key break; #ifndef NO_ACTION_LAYER case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: diff --git a/quantum/keymap_extras/keymap_nordic.h b/quantum/keymap_extras/keymap_nordic.h index 76d2f4f6b0b3..55a58a25b07e 100644 --- a/quantum/keymap_extras/keymap_nordic.h +++ b/quantum/keymap_extras/keymap_nordic.h @@ -24,7 +24,7 @@ #define NO_ACUT KC_EQL #define NO_AM KC_LBRC -#define NO_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout +#define NO_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout #define NO_AE KC_SCLN #define NO_OSLH KC_QUOT #define NO_APOS KC_NUHS diff --git a/quantum/keymap_extras/keymap_steno.h b/quantum/keymap_extras/keymap_steno.h index 310aa0740947..e888ccd64374 100644 --- a/quantum/keymap_extras/keymap_steno.h +++ b/quantum/keymap_extras/keymap_steno.h @@ -70,7 +70,7 @@ enum steno_keycodes { STN_NB, STN_NC, STN_ZR, - STN__MAX = STN_ZR, // must be less than QK_STENO_BOLT + STN__MAX = STN_ZR, // must be less than QK_STENO_BOLT }; #ifdef STENO_COMBINEDMAP diff --git a/quantum/led.c b/quantum/led.c index 7b3f87720862..c5ddbc22c5af 100644 --- a/quantum/led.c +++ b/quantum/led.c @@ -64,13 +64,17 @@ __attribute__((weak)) void led_set_user(uint8_t usb_led) {} * * \deprecated Use led_update_kb() instead. */ -__attribute__((weak)) void led_set_kb(uint8_t usb_led) { led_set_user(usb_led); } +__attribute__((weak)) void led_set_kb(uint8_t usb_led) { + led_set_user(usb_led); +} /** \brief Lock LED update callback - keymap/user level * * \return True if led_update_kb() should run its own code, false otherwise. */ -__attribute__((weak)) bool led_update_user(led_t led_state) { return true; } +__attribute__((weak)) bool led_update_user(led_t led_state) { + return true; +} /** \brief Lock LED update callback - keyboard level * @@ -156,7 +160,9 @@ void led_suspend(void) { /** \brief Trigger behaviour on transition from suspend */ -void led_wakeup(void) { led_set(host_keyboard_leds()); } +void led_wakeup(void) { + led_set(host_keyboard_leds()); +} /** \brief set host led state * diff --git a/quantum/led_matrix/animations/alpha_mods_anim.h b/quantum/led_matrix/animations/alpha_mods_anim.h index 4d017894a11b..01acb3f933c7 100644 --- a/quantum/led_matrix/animations/alpha_mods_anim.h +++ b/quantum/led_matrix/animations/alpha_mods_anim.h @@ -20,5 +20,5 @@ bool ALPHAS_MODS(effect_params_t* params) { return led_matrix_check_finished_leds(led_max); } -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_ALPHAS_MODS +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_ALPHAS_MODS diff --git a/quantum/led_matrix/animations/band_anim.h b/quantum/led_matrix/animations/band_anim.h index 293be4f67adc..d9491849eaed 100644 --- a/quantum/led_matrix/animations/band_anim.h +++ b/quantum/led_matrix/animations/band_anim.h @@ -7,7 +7,9 @@ static uint8_t BAND_math(uint8_t val, uint8_t i, uint8_t time) { return scale8(v < 0 ? 0 : v, val); } -bool BAND(effect_params_t* params) { return effect_runner_i(params, &BAND_math); } +bool BAND(effect_params_t* params) { + return effect_runner_i(params, &BAND_math); +} -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_BAND +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_BAND diff --git a/quantum/led_matrix/animations/band_pinwheel_anim.h b/quantum/led_matrix/animations/band_pinwheel_anim.h index f47a3869ce5a..482d183eb6e4 100644 --- a/quantum/led_matrix/animations/band_pinwheel_anim.h +++ b/quantum/led_matrix/animations/band_pinwheel_anim.h @@ -2,9 +2,13 @@ LED_MATRIX_EFFECT(BAND_PINWHEEL) # ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS -static uint8_t BAND_PINWHEEL_math(uint8_t val, int16_t dx, int16_t dy, uint8_t time) { return scale8(val - time - atan2_8(dy, dx) * 3, val); } +static uint8_t BAND_PINWHEEL_math(uint8_t val, int16_t dx, int16_t dy, uint8_t time) { + return scale8(val - time - atan2_8(dy, dx) * 3, val); +} -bool BAND_PINWHEEL(effect_params_t* params) { return effect_runner_dx_dy(params, &BAND_PINWHEEL_math); } +bool BAND_PINWHEEL(effect_params_t* params) { + return effect_runner_dx_dy(params, &BAND_PINWHEEL_math); +} -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_BAND_PINWHEEL +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_BAND_PINWHEEL diff --git a/quantum/led_matrix/animations/band_spiral_anim.h b/quantum/led_matrix/animations/band_spiral_anim.h index a4bd38218173..ef93d192701c 100644 --- a/quantum/led_matrix/animations/band_spiral_anim.h +++ b/quantum/led_matrix/animations/band_spiral_anim.h @@ -2,9 +2,13 @@ LED_MATRIX_EFFECT(BAND_SPIRAL) # ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS -static uint8_t BAND_SPIRAL_math(uint8_t val, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { return scale8(val + dist - time - atan2_8(dy, dx), val); } +static uint8_t BAND_SPIRAL_math(uint8_t val, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { + return scale8(val + dist - time - atan2_8(dy, dx), val); +} -bool BAND_SPIRAL(effect_params_t* params) { return effect_runner_dx_dy_dist(params, &BAND_SPIRAL_math); } +bool BAND_SPIRAL(effect_params_t* params) { + return effect_runner_dx_dy_dist(params, &BAND_SPIRAL_math); +} -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_BAND_SPIRAL +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_BAND_SPIRAL diff --git a/quantum/led_matrix/animations/breathing_anim.h b/quantum/led_matrix/animations/breathing_anim.h index 899925f516d1..0bd4cb0cc388 100644 --- a/quantum/led_matrix/animations/breathing_anim.h +++ b/quantum/led_matrix/animations/breathing_anim.h @@ -15,5 +15,5 @@ bool BREATHING(effect_params_t* params) { return led_matrix_check_finished_leds(led_max); } -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_BREATHING +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_BREATHING diff --git a/quantum/led_matrix/animations/cycle_left_right_anim.h b/quantum/led_matrix/animations/cycle_left_right_anim.h index 1a8999b8313c..0a339e6d62b7 100644 --- a/quantum/led_matrix/animations/cycle_left_right_anim.h +++ b/quantum/led_matrix/animations/cycle_left_right_anim.h @@ -2,9 +2,13 @@ LED_MATRIX_EFFECT(CYCLE_LEFT_RIGHT) # ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS -static uint8_t CYCLE_LEFT_RIGHT_math(uint8_t val, uint8_t i, uint8_t time) { return scale8(g_led_config.point[i].x - time, val); } +static uint8_t CYCLE_LEFT_RIGHT_math(uint8_t val, uint8_t i, uint8_t time) { + return scale8(g_led_config.point[i].x - time, val); +} -bool CYCLE_LEFT_RIGHT(effect_params_t* params) { return effect_runner_i(params, &CYCLE_LEFT_RIGHT_math); } +bool CYCLE_LEFT_RIGHT(effect_params_t* params) { + return effect_runner_i(params, &CYCLE_LEFT_RIGHT_math); +} -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT diff --git a/quantum/led_matrix/animations/cycle_out_in_anim.h b/quantum/led_matrix/animations/cycle_out_in_anim.h index 77d3a14b6ff7..8311d97fe894 100644 --- a/quantum/led_matrix/animations/cycle_out_in_anim.h +++ b/quantum/led_matrix/animations/cycle_out_in_anim.h @@ -2,9 +2,13 @@ LED_MATRIX_EFFECT(CYCLE_OUT_IN) # ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS -static uint8_t CYCLE_OUT_IN_math(uint8_t val, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { return scale8(3 * dist / 2 + time, val); } +static uint8_t CYCLE_OUT_IN_math(uint8_t val, int16_t dx, int16_t dy, uint8_t dist, uint8_t time) { + return scale8(3 * dist / 2 + time, val); +} -bool CYCLE_OUT_IN(effect_params_t* params) { return effect_runner_dx_dy_dist(params, &CYCLE_OUT_IN_math); } +bool CYCLE_OUT_IN(effect_params_t* params) { + return effect_runner_dx_dy_dist(params, &CYCLE_OUT_IN_math); +} -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_CYCLE_OUT_IN +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_CYCLE_OUT_IN diff --git a/quantum/led_matrix/animations/cycle_up_down_anim.h b/quantum/led_matrix/animations/cycle_up_down_anim.h index b25947199c13..7e2d71a0f1f3 100644 --- a/quantum/led_matrix/animations/cycle_up_down_anim.h +++ b/quantum/led_matrix/animations/cycle_up_down_anim.h @@ -2,9 +2,13 @@ LED_MATRIX_EFFECT(CYCLE_UP_DOWN) # ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS -static uint8_t CYCLE_UP_DOWN_math(uint8_t val, uint8_t i, uint8_t time) { return scale8(g_led_config.point[i].y - time, val); } +static uint8_t CYCLE_UP_DOWN_math(uint8_t val, uint8_t i, uint8_t time) { + return scale8(g_led_config.point[i].y - time, val); +} -bool CYCLE_UP_DOWN(effect_params_t* params) { return effect_runner_i(params, &CYCLE_UP_DOWN_math); } +bool CYCLE_UP_DOWN(effect_params_t* params) { + return effect_runner_i(params, &CYCLE_UP_DOWN_math); +} -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_CYCLE_UP_DOWN +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_CYCLE_UP_DOWN diff --git a/quantum/led_matrix/animations/dual_beacon_anim.h b/quantum/led_matrix/animations/dual_beacon_anim.h index 81735e323cb0..1dfb5ffe5231 100644 --- a/quantum/led_matrix/animations/dual_beacon_anim.h +++ b/quantum/led_matrix/animations/dual_beacon_anim.h @@ -2,9 +2,13 @@ LED_MATRIX_EFFECT(DUAL_BEACON) # ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS -static uint8_t DUAL_BEACON_math(uint8_t val, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { return scale8(((g_led_config.point[i].y - k_led_matrix_center.y) * cos + (g_led_config.point[i].x - k_led_matrix_center.x) * sin) / 128, val); } +static uint8_t DUAL_BEACON_math(uint8_t val, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { + return scale8(((g_led_config.point[i].y - k_led_matrix_center.y) * cos + (g_led_config.point[i].x - k_led_matrix_center.x) * sin) / 128, val); +} -bool DUAL_BEACON(effect_params_t* params) { return effect_runner_sin_cos_i(params, &DUAL_BEACON_math); } +bool DUAL_BEACON(effect_params_t* params) { + return effect_runner_sin_cos_i(params, &DUAL_BEACON_math); +} -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_DUAL_BEACON +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_DUAL_BEACON diff --git a/quantum/led_matrix/animations/runners/effect_runner_reactive.h b/quantum/led_matrix/animations/runners/effect_runner_reactive.h index be3090aa5320..846845874425 100644 --- a/quantum/led_matrix/animations/runners/effect_runner_reactive.h +++ b/quantum/led_matrix/animations/runners/effect_runner_reactive.h @@ -25,4 +25,4 @@ bool effect_runner_reactive(effect_params_t* params, reactive_f effect_func) { return led_matrix_check_finished_leds(led_max); } -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +#endif // LED_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/led_matrix/animations/runners/effect_runner_reactive_splash.h b/quantum/led_matrix/animations/runners/effect_runner_reactive_splash.h index f6ffc825a1ee..aec4a6ffdafb 100644 --- a/quantum/led_matrix/animations/runners/effect_runner_reactive_splash.h +++ b/quantum/led_matrix/animations/runners/effect_runner_reactive_splash.h @@ -23,4 +23,4 @@ bool effect_runner_reactive_splash(uint8_t start, effect_params_t* params, react return led_matrix_check_finished_leds(led_max); } -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +#endif // LED_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/led_matrix/animations/solid_anim.h b/quantum/led_matrix/animations/solid_anim.h index c728dbcc98d9..895542e15294 100644 --- a/quantum/led_matrix/animations/solid_anim.h +++ b/quantum/led_matrix/animations/solid_anim.h @@ -12,4 +12,4 @@ bool SOLID(effect_params_t* params) { return led_matrix_check_finished_leds(led_max); } -#endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/quantum/led_matrix/animations/solid_reactive_cross.h b/quantum/led_matrix/animations/solid_reactive_cross.h index a149e9a9290f..55a2556996ff 100644 --- a/quantum/led_matrix/animations/solid_reactive_cross.h +++ b/quantum/led_matrix/animations/solid_reactive_cross.h @@ -23,13 +23,17 @@ static uint8_t SOLID_REACTIVE_CROSS_math(uint8_t val, int16_t dx, int16_t dy, ui } # ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS -bool SOLID_REACTIVE_CROSS(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_CROSS_math); } +bool SOLID_REACTIVE_CROSS(effect_params_t* params) { + return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_CROSS_math); +} # endif # ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS -bool SOLID_REACTIVE_MULTICROSS(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_CROSS_math); } +bool SOLID_REACTIVE_MULTICROSS(effect_params_t* params) { + return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_CROSS_math); +} # endif -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS) || defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS) -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS) || defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS) +#endif // LED_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/led_matrix/animations/solid_reactive_nexus.h b/quantum/led_matrix/animations/solid_reactive_nexus.h index 5a86e48c6c31..b1ec54e3b129 100644 --- a/quantum/led_matrix/animations/solid_reactive_nexus.h +++ b/quantum/led_matrix/animations/solid_reactive_nexus.h @@ -20,13 +20,17 @@ static uint8_t SOLID_REACTIVE_NEXUS_math(uint8_t val, int16_t dx, int16_t dy, ui } # ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS -bool SOLID_REACTIVE_NEXUS(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_NEXUS_math); } +bool SOLID_REACTIVE_NEXUS(effect_params_t* params) { + return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_NEXUS_math); +} # endif # ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS -bool SOLID_REACTIVE_MULTINEXUS(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_NEXUS_math); } +bool SOLID_REACTIVE_MULTINEXUS(effect_params_t* params) { + return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_NEXUS_math); +} # endif -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS) || defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS) -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS) || defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS) +#endif // LED_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/led_matrix/animations/solid_reactive_simple_anim.h b/quantum/led_matrix/animations/solid_reactive_simple_anim.h index 14f5e90730f1..3b289c78dd4c 100644 --- a/quantum/led_matrix/animations/solid_reactive_simple_anim.h +++ b/quantum/led_matrix/animations/solid_reactive_simple_anim.h @@ -3,10 +3,14 @@ LED_MATRIX_EFFECT(SOLID_REACTIVE_SIMPLE) # ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS -static uint8_t SOLID_REACTIVE_SIMPLE_math(uint8_t val, uint16_t offset) { return scale8(255 - offset, val); } +static uint8_t SOLID_REACTIVE_SIMPLE_math(uint8_t val, uint16_t offset) { + return scale8(255 - offset, val); +} -bool SOLID_REACTIVE_SIMPLE(effect_params_t* params) { return effect_runner_reactive(params, &SOLID_REACTIVE_SIMPLE_math); } +bool SOLID_REACTIVE_SIMPLE(effect_params_t* params) { + return effect_runner_reactive(params, &SOLID_REACTIVE_SIMPLE_math); +} -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE +#endif // LED_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/led_matrix/animations/solid_reactive_wide.h b/quantum/led_matrix/animations/solid_reactive_wide.h index 3aa88063a713..96338113f180 100644 --- a/quantum/led_matrix/animations/solid_reactive_wide.h +++ b/quantum/led_matrix/animations/solid_reactive_wide.h @@ -18,13 +18,17 @@ static uint8_t SOLID_REACTIVE_WIDE_math(uint8_t val, int16_t dx, int16_t dy, uin } # ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE -bool SOLID_REACTIVE_WIDE(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_WIDE_math); } +bool SOLID_REACTIVE_WIDE(effect_params_t* params) { + return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_WIDE_math); +} # endif # ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE -bool SOLID_REACTIVE_MULTIWIDE(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_WIDE_math); } +bool SOLID_REACTIVE_MULTIWIDE(effect_params_t* params) { + return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_WIDE_math); +} # endif -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // !defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE) || !defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE) -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // !defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE) || !defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE) +#endif // LED_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/led_matrix/animations/solid_splash_anim.h b/quantum/led_matrix/animations/solid_splash_anim.h index 17b692a09a21..b8b6e8ea5ef4 100644 --- a/quantum/led_matrix/animations/solid_splash_anim.h +++ b/quantum/led_matrix/animations/solid_splash_anim.h @@ -18,13 +18,17 @@ uint8_t SOLID_SPLASH_math(uint8_t val, int16_t dx, int16_t dy, uint8_t dist, uin } # ifdef ENABLE_LED_MATRIX_SOLID_SPLASH -bool SOLID_SPLASH(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_SPLASH_math); } +bool SOLID_SPLASH(effect_params_t* params) { + return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_SPLASH_math); +} # endif # ifdef ENABLE_LED_MATRIX_SOLID_MULTISPLASH -bool SOLID_MULTISPLASH(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_SPLASH_math); } +bool SOLID_MULTISPLASH(effect_params_t* params) { + return effect_runner_reactive_splash(0, params, &SOLID_SPLASH_math); +} # endif -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // defined(ENABLE_LED_MATRIX_SPLASH) || defined(ENABLE_LED_MATRIX_MULTISPLASH) -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // defined(ENABLE_LED_MATRIX_SPLASH) || defined(ENABLE_LED_MATRIX_MULTISPLASH) +#endif // LED_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/led_matrix/animations/wave_left_right_anim.h b/quantum/led_matrix/animations/wave_left_right_anim.h index 76487f85155b..8dedd647388d 100644 --- a/quantum/led_matrix/animations/wave_left_right_anim.h +++ b/quantum/led_matrix/animations/wave_left_right_anim.h @@ -2,9 +2,13 @@ LED_MATRIX_EFFECT(WAVE_LEFT_RIGHT) # ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS -static uint8_t WAVE_LEFT_RIGHT_math(uint8_t val, uint8_t i, uint8_t time) { return scale8(sin8(g_led_config.point[i].x - time), val); } +static uint8_t WAVE_LEFT_RIGHT_math(uint8_t val, uint8_t i, uint8_t time) { + return scale8(sin8(g_led_config.point[i].x - time), val); +} -bool WAVE_LEFT_RIGHT(effect_params_t* params) { return effect_runner_i(params, &WAVE_LEFT_RIGHT_math); } +bool WAVE_LEFT_RIGHT(effect_params_t* params) { + return effect_runner_i(params, &WAVE_LEFT_RIGHT_math); +} -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT diff --git a/quantum/led_matrix/animations/wave_up_down_anim.h b/quantum/led_matrix/animations/wave_up_down_anim.h index 94710f5c6e90..4564f3e493e2 100644 --- a/quantum/led_matrix/animations/wave_up_down_anim.h +++ b/quantum/led_matrix/animations/wave_up_down_anim.h @@ -2,9 +2,13 @@ LED_MATRIX_EFFECT(WAVE_UP_DOWN) # ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS -static uint8_t WAVE_UP_DOWN_math(uint8_t val, uint8_t i, uint8_t time) { return scale8(sin8(g_led_config.point[i].y - time), val); } +static uint8_t WAVE_UP_DOWN_math(uint8_t val, uint8_t i, uint8_t time) { + return scale8(sin8(g_led_config.point[i].y - time), val); +} -bool WAVE_UP_DOWN(effect_params_t* params) { return effect_runner_i(params, &WAVE_UP_DOWN_math); } +bool WAVE_UP_DOWN(effect_params_t* params) { + return effect_runner_i(params, &WAVE_UP_DOWN_math); +} -# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_LED_MATRIX_WAVE_UP_DOWN +# endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_LED_MATRIX_WAVE_UP_DOWN diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index be1494e88461..38ed79bed05e 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -88,14 +88,14 @@ const led_point_t k_led_matrix_center = LED_MATRIX_CENTER; #endif // globals -led_eeconfig_t led_matrix_eeconfig; // TODO: would like to prefix this with g_ for global consistancy, do this in another pr +led_eeconfig_t led_matrix_eeconfig; // TODO: would like to prefix this with g_ for global consistancy, do this in another pr uint32_t g_led_timer; #ifdef LED_MATRIX_FRAMEBUFFER_EFFECTS uint8_t g_led_frame_buffer[MATRIX_ROWS][MATRIX_COLS] = {{0}}; -#endif // LED_MATRIX_FRAMEBUFFER_EFFECTS +#endif // LED_MATRIX_FRAMEBUFFER_EFFECTS #ifdef LED_MATRIX_KEYREACTIVE_ENABLED last_hit_t g_last_hit_tracker; -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +#endif // LED_MATRIX_KEYREACTIVE_ENABLED // internals static bool suspend_state = false; @@ -105,13 +105,13 @@ static effect_params_t led_effect_params = {0, LED_FLAG_ALL, false}; static led_task_states led_task_state = SYNCING; #if LED_DISABLE_TIMEOUT > 0 static uint32_t led_anykey_timer; -#endif // LED_DISABLE_TIMEOUT > 0 +#endif // LED_DISABLE_TIMEOUT > 0 // double buffers static uint32_t led_timer_buffer; #ifdef LED_MATRIX_KEYREACTIVE_ENABLED static last_hit_t last_hit_buffer; -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +#endif // LED_MATRIX_KEYREACTIVE_ENABLED // split led matrix #if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) @@ -120,7 +120,9 @@ const uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT; EECONFIG_DEBOUNCE_HELPER(led_matrix, EECONFIG_LED_MATRIX, led_matrix_eeconfig); -void eeconfig_update_led_matrix(void) { eeconfig_flush_led_matrix(true); } +void eeconfig_update_led_matrix(void) { + eeconfig_flush_led_matrix(true); +} void eeconfig_update_led_matrix_default(void) { dprintf("eeconfig_update_led_matrix_default\n"); @@ -141,7 +143,9 @@ void eeconfig_debug_led_matrix(void) { dprintf("led_matrix_eeconfig.flags = %d\n", led_matrix_eeconfig.flags); } -__attribute__((weak)) uint8_t led_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) { return 0; } +__attribute__((weak)) uint8_t led_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) { + return 0; +} uint8_t led_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *led_i) { uint8_t led_count = led_matrix_map_row_column_to_led_kb(row, column, led_i); @@ -153,7 +157,9 @@ uint8_t led_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *l return led_count; } -void led_matrix_update_pwm_buffers(void) { led_matrix_driver.flush(); } +void led_matrix_update_pwm_buffers(void) { + led_matrix_driver.flush(); +} void led_matrix_set_value(int index, uint8_t value) { #ifdef USE_CIE1931_CURVE @@ -164,7 +170,8 @@ void led_matrix_set_value(int index, uint8_t value) { void led_matrix_set_value_all(uint8_t value) { #if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) led_matrix_set_value(i, value); + for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) + led_matrix_set_value(i, value); #else # ifdef USE_CIE1931_CURVE led_matrix_driver.set_value_all(pgm_read_byte(&CIE1931_CURVE[value])); @@ -180,7 +187,7 @@ void process_led_matrix(uint8_t row, uint8_t col, bool pressed) { #endif #if LED_DISABLE_TIMEOUT > 0 led_anykey_timer = 0; -#endif // LED_DISABLE_TIMEOUT > 0 +#endif // LED_DISABLE_TIMEOUT > 0 #ifdef LED_MATRIX_KEYREACTIVE_ENABLED uint8_t led[LED_HITS_TO_REMEMBER]; @@ -190,7 +197,7 @@ void process_led_matrix(uint8_t row, uint8_t col, bool pressed) { if (!pressed) # elif defined(LED_MATRIX_KEYPRESSES) if (pressed) -# endif // defined(LED_MATRIX_KEYRELEASES) +# endif // defined(LED_MATRIX_KEYRELEASES) { led_count = led_matrix_map_row_column_to_led(row, col, led); } @@ -198,7 +205,7 @@ void process_led_matrix(uint8_t row, uint8_t col, bool pressed) { if (last_hit_buffer.count + led_count > LED_HITS_TO_REMEMBER) { memcpy(&last_hit_buffer.x[0], &last_hit_buffer.x[led_count], LED_HITS_TO_REMEMBER - led_count); memcpy(&last_hit_buffer.y[0], &last_hit_buffer.y[led_count], LED_HITS_TO_REMEMBER - led_count); - memcpy(&last_hit_buffer.tick[0], &last_hit_buffer.tick[led_count], (LED_HITS_TO_REMEMBER - led_count) * 2); // 16 bit + memcpy(&last_hit_buffer.tick[0], &last_hit_buffer.tick[led_count], (LED_HITS_TO_REMEMBER - led_count) * 2); // 16 bit memcpy(&last_hit_buffer.index[0], &last_hit_buffer.index[led_count], LED_HITS_TO_REMEMBER - led_count); last_hit_buffer.count = LED_HITS_TO_REMEMBER - led_count; } @@ -211,13 +218,13 @@ void process_led_matrix(uint8_t row, uint8_t col, bool pressed) { last_hit_buffer.tick[index] = 0; last_hit_buffer.count++; } -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +#endif // LED_MATRIX_KEYREACTIVE_ENABLED #if defined(LED_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_LED_MATRIX_TYPING_HEATMAP) if (led_matrix_eeconfig.mode == LED_MATRIX_TYPING_HEATMAP) { process_led_matrix_typing_heatmap(row, col); } -#endif // defined(LED_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_LED_MATRIX_TYPING_HEATMAP) +#endif // defined(LED_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_LED_MATRIX_TYPING_HEATMAP) } static bool led_matrix_none(effect_params_t *params) { @@ -232,7 +239,7 @@ static bool led_matrix_none(effect_params_t *params) { static void led_task_timers(void) { #if defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_DISABLE_TIMEOUT > 0 uint32_t deltaTime = sync_timer_elapsed32(led_timer_buffer); -#endif // defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_DISABLE_TIMEOUT > 0 +#endif // defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_DISABLE_TIMEOUT > 0 led_timer_buffer = sync_timer_read32(); // Update double buffer timers @@ -244,7 +251,7 @@ static void led_task_timers(void) { led_anykey_timer += deltaTime; } } -#endif // LED_DISABLE_TIMEOUT > 0 +#endif // LED_DISABLE_TIMEOUT > 0 // Update double buffer last hit timers #ifdef LED_MATRIX_KEYREACTIVE_ENABLED @@ -256,7 +263,7 @@ static void led_task_timers(void) { } last_hit_buffer.tick[i] += deltaTime; } -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +#endif // LED_MATRIX_KEYREACTIVE_ENABLED } static void led_task_sync(void) { @@ -273,7 +280,7 @@ static void led_task_start(void) { g_led_timer = led_timer_buffer; #ifdef LED_MATRIX_KEYREACTIVE_ENABLED g_last_hit_tracker = last_hit_buffer; -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +#endif // LED_MATRIX_KEYREACTIVE_ENABLED // next task led_task_state = RENDERING; @@ -352,7 +359,7 @@ void led_matrix_task(void) { bool suspend_backlight = suspend_state || #if LED_DISABLE_TIMEOUT > 0 (led_anykey_timer > (uint32_t)LED_DISABLE_TIMEOUT) || -#endif // LED_DISABLE_TIMEOUT > 0 +#endif // LED_DISABLE_TIMEOUT > 0 false; uint8_t effect = suspend_backlight || !led_matrix_eeconfig.enable ? 0 : led_matrix_eeconfig.mode; @@ -421,7 +428,7 @@ void led_matrix_init(void) { for (uint8_t i = 0; i < LED_HITS_TO_REMEMBER; ++i) { last_hit_buffer.tick[i] = UINT16_MAX; } -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +#endif // LED_MATRIX_KEYREACTIVE_ENABLED if (!eeconfig_is_enabled()) { dprintf("led_matrix_init_drivers eeconfig is not enabled.\n"); @@ -434,20 +441,22 @@ void led_matrix_init(void) { dprintf("led_matrix_init_drivers led_matrix_eeconfig.mode = 0. Write default values to EEPROM.\n"); eeconfig_update_led_matrix_default(); } - eeconfig_debug_led_matrix(); // display current eeprom values + eeconfig_debug_led_matrix(); // display current eeprom values } void led_matrix_set_suspend_state(bool state) { #ifdef LED_DISABLE_WHEN_USB_SUSPENDED - if (state && !suspend_state && is_keyboard_master()) { // only run if turning off, and only once - led_task_render(0); // turn off all LEDs when suspending - led_task_flush(0); // and actually flash led state to LEDs + if (state && !suspend_state && is_keyboard_master()) { // only run if turning off, and only once + led_task_render(0); // turn off all LEDs when suspending + led_task_flush(0); // and actually flash led state to LEDs } suspend_state = state; #endif } -bool led_matrix_get_suspend_state(void) { return suspend_state; } +bool led_matrix_get_suspend_state(void) { + return suspend_state; +} void led_matrix_toggle_eeprom_helper(bool write_to_eeprom) { led_matrix_eeconfig.enable ^= 1; @@ -455,8 +464,12 @@ void led_matrix_toggle_eeprom_helper(bool write_to_eeprom) { eeconfig_flag_led_matrix(write_to_eeprom); dprintf("led matrix toggle [%s]: led_matrix_eeconfig.enable = %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", led_matrix_eeconfig.enable); } -void led_matrix_toggle_noeeprom(void) { led_matrix_toggle_eeprom_helper(false); } -void led_matrix_toggle(void) { led_matrix_toggle_eeprom_helper(true); } +void led_matrix_toggle_noeeprom(void) { + led_matrix_toggle_eeprom_helper(false); +} +void led_matrix_toggle(void) { + led_matrix_toggle_eeprom_helper(true); +} void led_matrix_enable(void) { led_matrix_enable_noeeprom(); @@ -478,7 +491,9 @@ void led_matrix_disable_noeeprom(void) { led_matrix_eeconfig.enable = 0; } -uint8_t led_matrix_is_enabled(void) { return led_matrix_eeconfig.enable; } +uint8_t led_matrix_is_enabled(void) { + return led_matrix_eeconfig.enable; +} void led_matrix_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { if (!led_matrix_eeconfig.enable) { @@ -495,24 +510,38 @@ void led_matrix_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { eeconfig_flag_led_matrix(write_to_eeprom); dprintf("led matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", led_matrix_eeconfig.mode); } -void led_matrix_mode_noeeprom(uint8_t mode) { led_matrix_mode_eeprom_helper(mode, false); } -void led_matrix_mode(uint8_t mode) { led_matrix_mode_eeprom_helper(mode, true); } +void led_matrix_mode_noeeprom(uint8_t mode) { + led_matrix_mode_eeprom_helper(mode, false); +} +void led_matrix_mode(uint8_t mode) { + led_matrix_mode_eeprom_helper(mode, true); +} -uint8_t led_matrix_get_mode(void) { return led_matrix_eeconfig.mode; } +uint8_t led_matrix_get_mode(void) { + return led_matrix_eeconfig.mode; +} void led_matrix_step_helper(bool write_to_eeprom) { uint8_t mode = led_matrix_eeconfig.mode + 1; led_matrix_mode_eeprom_helper((mode < LED_MATRIX_EFFECT_MAX) ? mode : 1, write_to_eeprom); } -void led_matrix_step_noeeprom(void) { led_matrix_step_helper(false); } -void led_matrix_step(void) { led_matrix_step_helper(true); } +void led_matrix_step_noeeprom(void) { + led_matrix_step_helper(false); +} +void led_matrix_step(void) { + led_matrix_step_helper(true); +} void led_matrix_step_reverse_helper(bool write_to_eeprom) { uint8_t mode = led_matrix_eeconfig.mode - 1; led_matrix_mode_eeprom_helper((mode < 1) ? LED_MATRIX_EFFECT_MAX - 1 : mode, write_to_eeprom); } -void led_matrix_step_reverse_noeeprom(void) { led_matrix_step_reverse_helper(false); } -void led_matrix_step_reverse(void) { led_matrix_step_reverse_helper(true); } +void led_matrix_step_reverse_noeeprom(void) { + led_matrix_step_reverse_helper(false); +} +void led_matrix_step_reverse(void) { + led_matrix_step_reverse_helper(true); +} void led_matrix_set_val_eeprom_helper(uint8_t val, bool write_to_eeprom) { if (!led_matrix_eeconfig.enable) { @@ -522,37 +551,77 @@ void led_matrix_set_val_eeprom_helper(uint8_t val, bool write_to_eeprom) { eeconfig_flag_led_matrix(write_to_eeprom); dprintf("led matrix set val [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", led_matrix_eeconfig.val); } -void led_matrix_set_val_noeeprom(uint8_t val) { led_matrix_set_val_eeprom_helper(val, false); } -void led_matrix_set_val(uint8_t val) { led_matrix_set_val_eeprom_helper(val, true); } +void led_matrix_set_val_noeeprom(uint8_t val) { + led_matrix_set_val_eeprom_helper(val, false); +} +void led_matrix_set_val(uint8_t val) { + led_matrix_set_val_eeprom_helper(val, true); +} -uint8_t led_matrix_get_val(void) { return led_matrix_eeconfig.val; } +uint8_t led_matrix_get_val(void) { + return led_matrix_eeconfig.val; +} -void led_matrix_increase_val_helper(bool write_to_eeprom) { led_matrix_set_val_eeprom_helper(qadd8(led_matrix_eeconfig.val, LED_MATRIX_VAL_STEP), write_to_eeprom); } -void led_matrix_increase_val_noeeprom(void) { led_matrix_increase_val_helper(false); } -void led_matrix_increase_val(void) { led_matrix_increase_val_helper(true); } +void led_matrix_increase_val_helper(bool write_to_eeprom) { + led_matrix_set_val_eeprom_helper(qadd8(led_matrix_eeconfig.val, LED_MATRIX_VAL_STEP), write_to_eeprom); +} +void led_matrix_increase_val_noeeprom(void) { + led_matrix_increase_val_helper(false); +} +void led_matrix_increase_val(void) { + led_matrix_increase_val_helper(true); +} -void led_matrix_decrease_val_helper(bool write_to_eeprom) { led_matrix_set_val_eeprom_helper(qsub8(led_matrix_eeconfig.val, LED_MATRIX_VAL_STEP), write_to_eeprom); } -void led_matrix_decrease_val_noeeprom(void) { led_matrix_decrease_val_helper(false); } -void led_matrix_decrease_val(void) { led_matrix_decrease_val_helper(true); } +void led_matrix_decrease_val_helper(bool write_to_eeprom) { + led_matrix_set_val_eeprom_helper(qsub8(led_matrix_eeconfig.val, LED_MATRIX_VAL_STEP), write_to_eeprom); +} +void led_matrix_decrease_val_noeeprom(void) { + led_matrix_decrease_val_helper(false); +} +void led_matrix_decrease_val(void) { + led_matrix_decrease_val_helper(true); +} void led_matrix_set_speed_eeprom_helper(uint8_t speed, bool write_to_eeprom) { led_matrix_eeconfig.speed = speed; eeconfig_flag_led_matrix(write_to_eeprom); dprintf("led matrix set speed [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", led_matrix_eeconfig.speed); } -void led_matrix_set_speed_noeeprom(uint8_t speed) { led_matrix_set_speed_eeprom_helper(speed, false); } -void led_matrix_set_speed(uint8_t speed) { led_matrix_set_speed_eeprom_helper(speed, true); } +void led_matrix_set_speed_noeeprom(uint8_t speed) { + led_matrix_set_speed_eeprom_helper(speed, false); +} +void led_matrix_set_speed(uint8_t speed) { + led_matrix_set_speed_eeprom_helper(speed, true); +} -uint8_t led_matrix_get_speed(void) { return led_matrix_eeconfig.speed; } +uint8_t led_matrix_get_speed(void) { + return led_matrix_eeconfig.speed; +} -void led_matrix_increase_speed_helper(bool write_to_eeprom) { led_matrix_set_speed_eeprom_helper(qadd8(led_matrix_eeconfig.speed, LED_MATRIX_SPD_STEP), write_to_eeprom); } -void led_matrix_increase_speed_noeeprom(void) { led_matrix_increase_speed_helper(false); } -void led_matrix_increase_speed(void) { led_matrix_increase_speed_helper(true); } +void led_matrix_increase_speed_helper(bool write_to_eeprom) { + led_matrix_set_speed_eeprom_helper(qadd8(led_matrix_eeconfig.speed, LED_MATRIX_SPD_STEP), write_to_eeprom); +} +void led_matrix_increase_speed_noeeprom(void) { + led_matrix_increase_speed_helper(false); +} +void led_matrix_increase_speed(void) { + led_matrix_increase_speed_helper(true); +} -void led_matrix_decrease_speed_helper(bool write_to_eeprom) { led_matrix_set_speed_eeprom_helper(qsub8(led_matrix_eeconfig.speed, LED_MATRIX_SPD_STEP), write_to_eeprom); } -void led_matrix_decrease_speed_noeeprom(void) { led_matrix_decrease_speed_helper(false); } -void led_matrix_decrease_speed(void) { led_matrix_decrease_speed_helper(true); } +void led_matrix_decrease_speed_helper(bool write_to_eeprom) { + led_matrix_set_speed_eeprom_helper(qsub8(led_matrix_eeconfig.speed, LED_MATRIX_SPD_STEP), write_to_eeprom); +} +void led_matrix_decrease_speed_noeeprom(void) { + led_matrix_decrease_speed_helper(false); +} +void led_matrix_decrease_speed(void) { + led_matrix_decrease_speed_helper(true); +} -led_flags_t led_matrix_get_flags(void) { return led_matrix_eeconfig.flags; } +led_flags_t led_matrix_get_flags(void) { + return led_matrix_eeconfig.flags; +} -void led_matrix_set_flags(led_flags_t flags) { led_matrix_eeconfig.flags = flags; } +void led_matrix_set_flags(led_flags_t flags) { + led_matrix_eeconfig.flags = flags; +} diff --git a/quantum/led_matrix/led_matrix_types.h b/quantum/led_matrix/led_matrix_types.h index 61cdbd9b8e02..3dc533100f43 100644 --- a/quantum/led_matrix/led_matrix_types.h +++ b/quantum/led_matrix/led_matrix_types.h @@ -36,7 +36,7 @@ // Last led hit #ifndef LED_HITS_TO_REMEMBER # define LED_HITS_TO_REMEMBER 8 -#endif // LED_HITS_TO_REMEMBER +#endif // LED_HITS_TO_REMEMBER #ifdef LED_MATRIX_KEYREACTIVE_ENABLED typedef struct PACKED { @@ -46,7 +46,7 @@ typedef struct PACKED { uint8_t index[LED_HITS_TO_REMEMBER]; uint16_t tick[LED_HITS_TO_REMEMBER]; } last_hit_t; -#endif // LED_MATRIX_KEYREACTIVE_ENABLED +#endif // LED_MATRIX_KEYREACTIVE_ENABLED typedef enum led_task_states { STARTING, RENDERING, FLUSHING, SYNCING } led_task_states; @@ -87,7 +87,7 @@ typedef union { uint8_t mode : 6; uint16_t reserved; uint8_t val; - uint8_t speed; // EECONFIG needs to be increased to support this + uint8_t speed; // EECONFIG needs to be increased to support this led_flags_t flags; }; } led_eeconfig_t; diff --git a/quantum/logging/debug.c b/quantum/logging/debug.c index ea62deaa8ccc..ca7654eda2aa 100644 --- a/quantum/logging/debug.c +++ b/quantum/logging/debug.c @@ -17,9 +17,9 @@ along with this program. If not, see . #include "debug.h" debug_config_t debug_config = { - .enable = false, // - .matrix = false, // - .keyboard = false, // - .mouse = false, // - .reserved = 0 // + .enable = false, // + .matrix = false, // + .keyboard = false, // + .mouse = false, // + .reserved = 0 // }; diff --git a/quantum/logging/print.c b/quantum/logging/print.c index e8440e55ee5d..50a6b826eec8 100644 --- a/quantum/logging/print.c +++ b/quantum/logging/print.c @@ -19,9 +19,15 @@ along with this program. If not, see . // bind lib/printf to console interface - sendchar -static int8_t null_sendchar_func(uint8_t c) { return 0; } +static int8_t null_sendchar_func(uint8_t c) { + return 0; +} static sendchar_func_t func = null_sendchar_func; -void print_set_sendchar(sendchar_func_t send) { func = send; } +void print_set_sendchar(sendchar_func_t send) { + func = send; +} -void _putchar(char character) { func(character); } +void _putchar(char character) { + func(character); +} diff --git a/quantum/logging/print.h b/quantum/logging/print.h index 8c055f549e59..aa72fc70745e 100644 --- a/quantum/logging/print.h +++ b/quantum/logging/print.h @@ -37,7 +37,7 @@ void print_set_sendchar(sendchar_func_t func); # include_next "_print.h" /* Include the platforms print.h */ # else // Fall back to lib/printf -# include "printf.h" // lib/printf/printf.h +# include "printf.h" // lib/printf/printf.h // Create user & normal print defines # define print(s) printf(s) diff --git a/quantum/logging/sendchar.c b/quantum/logging/sendchar.c index 9422382f6f9f..5bc744b7433c 100644 --- a/quantum/logging/sendchar.c +++ b/quantum/logging/sendchar.c @@ -17,4 +17,6 @@ along with this program. If not, see . #include "sendchar.h" /* default noop "null" implementation */ -__attribute__((weak)) int8_t sendchar(uint8_t c) { return 0; } +__attribute__((weak)) int8_t sendchar(uint8_t c) { + return 0; +} diff --git a/quantum/main.c b/quantum/main.c index 6ed6b95741d9..faba668056e1 100644 --- a/quantum/main.c +++ b/quantum/main.c @@ -45,7 +45,7 @@ void protocol_task(void) { #ifdef DEFERRED_EXEC_ENABLE void deferred_exec_task(void); -#endif // DEFERRED_EXEC_ENABLE +#endif // DEFERRED_EXEC_ENABLE /** \brief Main * @@ -66,7 +66,7 @@ int main(void) { #ifdef DEFERRED_EXEC_ENABLE // Run deferred executions deferred_exec_task(); -#endif // DEFERRED_EXEC_ENABLE +#endif // DEFERRED_EXEC_ENABLE housekeeping_task(); } diff --git a/quantum/matrix.c b/quantum/matrix.c index 0b16184e12c0..db59b73754f5 100644 --- a/quantum/matrix.c +++ b/quantum/matrix.c @@ -51,15 +51,15 @@ static SPLIT_MUTABLE pin_t direct_pins[ROWS_PER_HAND][MATRIX_COLS] = DIRECT_PINS #elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) # ifdef MATRIX_ROW_PINS static SPLIT_MUTABLE_ROW pin_t row_pins[ROWS_PER_HAND] = MATRIX_ROW_PINS; -# endif // MATRIX_ROW_PINS +# endif // MATRIX_ROW_PINS # ifdef MATRIX_COL_PINS static SPLIT_MUTABLE_COL pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -# endif // MATRIX_COL_PINS +# endif // MATRIX_COL_PINS #endif /* matrix state(1:on, 0:off) */ -extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values #ifdef SPLIT_KEYBOARD // row offsets for each hand @@ -86,7 +86,9 @@ static inline void setPinOutput_writeHigh(pin_t pin) { } static inline void setPinInputHigh_atomic(pin_t pin) { - ATOMIC_BLOCK_FORCEON { setPinInputHigh(pin); } + ATOMIC_BLOCK_FORCEON { + setPinInputHigh(pin); + } } static inline uint8_t readMatrixPin(pin_t pin) { @@ -171,8 +173,8 @@ __attribute__((weak)) void matrix_read_cols_on_row(matrix_row_t current_matrix[] // Start with a clear matrix row matrix_row_t current_row_value = 0; - if (!select_row(current_row)) { // Select row - return; // skip NO_PIN row + if (!select_row(current_row)) { // Select row + return; // skip NO_PIN row } matrix_output_select_delay(); @@ -187,7 +189,7 @@ __attribute__((weak)) void matrix_read_cols_on_row(matrix_row_t current_matrix[] // Unselect row unselect_row(current_row); - matrix_output_unselect_delay(current_row, current_row_value != 0); // wait for all Col signals to go HIGH + matrix_output_unselect_delay(current_row, current_row_value != 0); // wait for all Col signals to go HIGH // Update the matrix current_matrix[current_row] = current_row_value; @@ -234,8 +236,8 @@ __attribute__((weak)) void matrix_read_rows_on_col(matrix_row_t current_matrix[] bool key_pressed = false; // Select col - if (!select_col(current_col)) { // select col - return; // skip NO_PIN col + if (!select_col(current_col)) { // select col + return; // skip NO_PIN col } matrix_output_select_delay(); @@ -254,13 +256,13 @@ __attribute__((weak)) void matrix_read_rows_on_col(matrix_row_t current_matrix[] // Unselect col unselect_col(current_col); - matrix_output_unselect_delay(current_col, key_pressed); // wait for all Row signals to go HIGH + matrix_output_unselect_delay(current_col, key_pressed); // wait for all Row signals to go HIGH } # else # error DIODE_DIRECTION must be one of COL2ROW or ROW2COL! # endif -# endif // defined(MATRIX_ROW_PINS) && defined(MATRIX_COL_PINS) +# endif // defined(MATRIX_ROW_PINS) && defined(MATRIX_COL_PINS) #else # error DIODE_DIRECTION is not defined! #endif @@ -311,7 +313,7 @@ void matrix_init(void) { // Fallback implementation for keyboards not using the standard split_util.c __attribute__((weak)) bool transport_master_if_connected(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { transport_master(master_matrix, slave_matrix); - return true; // Treat the transport as always connected + return true; // Treat the transport as always connected } #endif diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c index d67aaf508c2c..1497ceae71b5 100644 --- a/quantum/matrix_common.c +++ b/quantum/matrix_common.c @@ -33,9 +33,13 @@ extern const matrix_row_t matrix_mask[]; // user-defined overridable functions -__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); } +__attribute__((weak)) void matrix_init_kb(void) { + matrix_init_user(); +} -__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); } +__attribute__((weak)) void matrix_scan_kb(void) { + matrix_scan_user(); +} __attribute__((weak)) void matrix_init_user(void) {} @@ -43,11 +47,17 @@ __attribute__((weak)) void matrix_scan_user(void) {} // helper functions -inline uint8_t matrix_rows(void) { return MATRIX_ROWS; } +inline uint8_t matrix_rows(void) { + return MATRIX_ROWS; +} -inline uint8_t matrix_cols(void) { return MATRIX_COLS; } +inline uint8_t matrix_cols(void) { + return MATRIX_COLS; +} -inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); } +inline bool matrix_is_on(uint8_t row, uint8_t col) { + return (matrix[row] & ((matrix_row_t)1 << col)); +} inline matrix_row_t matrix_get_row(uint8_t row) { // Matrix mask lets you disable switches in the returned matrix data. For example, if you have a @@ -124,16 +134,26 @@ bool matrix_post_scan(void) { #endif /* `matrix_io_delay ()` exists for backwards compatibility. From now on, use matrix_output_unselect_delay(). */ -__attribute__((weak)) void matrix_io_delay(void) { wait_us(MATRIX_IO_DELAY); } -__attribute__((weak)) void matrix_output_select_delay(void) { waitInputPinDelay(); } -__attribute__((weak)) void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { matrix_io_delay(); } +__attribute__((weak)) void matrix_io_delay(void) { + wait_us(MATRIX_IO_DELAY); +} +__attribute__((weak)) void matrix_output_select_delay(void) { + waitInputPinDelay(); +} +__attribute__((weak)) void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { + matrix_io_delay(); +} // CUSTOM MATRIX 'LITE' __attribute__((weak)) void matrix_init_custom(void) {} -__attribute__((weak)) bool matrix_scan_custom(matrix_row_t current_matrix[]) { return true; } +__attribute__((weak)) bool matrix_scan_custom(matrix_row_t current_matrix[]) { + return true; +} #ifdef SPLIT_KEYBOARD -__attribute__((weak)) void matrix_slave_scan_kb(void) { matrix_slave_scan_user(); } +__attribute__((weak)) void matrix_slave_scan_kb(void) { + matrix_slave_scan_user(); +} __attribute__((weak)) void matrix_slave_scan_user(void) {} #endif @@ -170,4 +190,6 @@ __attribute__((weak)) uint8_t matrix_scan(void) { return changed; } -__attribute__((weak)) bool peek_matrix(uint8_t row_index, uint8_t col_index, bool raw) { return 0 != ((raw ? raw_matrix[row_index] : matrix[row_index]) & (MATRIX_ROW_SHIFTER << col_index)); } +__attribute__((weak)) bool peek_matrix(uint8_t row_index, uint8_t col_index, bool raw) { + return 0 != ((raw ? raw_matrix[row_index] : matrix[row_index]) & (MATRIX_ROW_SHIFTER << col_index)); +} diff --git a/quantum/mousekey.c b/quantum/mousekey.c index c2291fb39790..8bafbf977a7f 100644 --- a/quantum/mousekey.c +++ b/quantum/mousekey.c @@ -487,4 +487,6 @@ static void mousekey_debug(void) { print(")\n"); } -report_mouse_t mousekey_get_report(void) { return mouse_report; } +report_mouse_t mousekey_get_report(void) { + return mouse_report; +} diff --git a/quantum/pointing_device.c b/quantum/pointing_device.c index cce292e0bfb0..9627cab4b836 100644 --- a/quantum/pointing_device.c +++ b/quantum/pointing_device.c @@ -39,7 +39,9 @@ uint16_t shared_cpi = 0; * * @param[in] new_mouse_report report_mouse_t */ -void pointing_device_set_shared_report(report_mouse_t new_mouse_report) { shared_mouse_report = new_mouse_report; } +void pointing_device_set_shared_report(report_mouse_t new_mouse_report) { + shared_mouse_report = new_mouse_report; +} /** * @brief Gets current pointing device CPI if supported @@ -50,7 +52,9 @@ void pointing_device_set_shared_report(report_mouse_t new_mouse_report) { shared * * @return cpi value as uint16_t */ -uint16_t pointing_device_get_shared_cpi(void) { return shared_cpi; } +uint16_t pointing_device_get_shared_cpi(void) { + return shared_cpi; +} # if defined(POINTING_DEVICE_LEFT) # define POINTING_DEVICE_THIS_SIDE is_keyboard_left() @@ -60,7 +64,7 @@ uint16_t pointing_device_get_shared_cpi(void) { return shared_cpi; } # define POINTING_DEVICE_THIS_SIDE true # endif -#endif // defined(SPLIT_POINTING_ENABLE) +#endif // defined(SPLIT_POINTING_ENABLE) static report_mouse_t local_mouse_report = {}; @@ -73,7 +77,9 @@ extern const pointing_device_driver_t pointing_device_driver; * @param[in] old report_mouse_t * @return bool result */ -__attribute__((weak)) bool has_mouse_report_changed(report_mouse_t new, report_mouse_t old) { return memcmp(&new, &old, sizeof(new)); } +__attribute__((weak)) bool has_mouse_report_changed(report_mouse_t new, report_mouse_t old) { + return memcmp(&new, &old, sizeof(new)); +} /** * @brief Keyboard level code pointing device initialisation @@ -95,7 +101,9 @@ __attribute__((weak)) void pointing_device_init_user(void) {} * @param[in] mouse_report report_mouse_t * @return report_mouse_t */ -__attribute__((weak)) report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { return pointing_device_task_user(mouse_report); } +__attribute__((weak)) report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { + return pointing_device_task_user(mouse_report); +} /** * @brief Weak function allowing for user level mouse report modification @@ -105,7 +113,9 @@ __attribute__((weak)) report_mouse_t pointing_device_task_kb(report_mouse_t mous * @param[in] mouse_report report_mouse_t * @return report_mouse_t */ -__attribute__((weak)) report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { return mouse_report; } +__attribute__((weak)) report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { + return mouse_report; +} /** * @brief Handles pointing device buttons @@ -246,7 +256,7 @@ __attribute__((weak)) void pointing_device_task(void) { # endif #else local_mouse_report = pointing_device_driver.get_report(local_mouse_report); -#endif // defined(SPLIT_POINTING_ENABLE) +#endif // defined(SPLIT_POINTING_ENABLE) // allow kb to intercept and modify report #if defined(SPLIT_POINTING_ENABLE) && defined(POINTING_DEVICE_COMBINED) @@ -275,14 +285,18 @@ __attribute__((weak)) void pointing_device_task(void) { * * @return report_mouse_t */ -report_mouse_t pointing_device_get_report(void) { return local_mouse_report; } +report_mouse_t pointing_device_get_report(void) { + return local_mouse_report; +} /** * @brief Sets mouse report used be pointing device task * * @param[in] new_mouse_report */ -void pointing_device_set_report(report_mouse_t new_mouse_report) { local_mouse_report = new_mouse_report; } +void pointing_device_set_report(report_mouse_t new_mouse_report) { + local_mouse_report = new_mouse_report; +} /** * @brief Gets current pointing device CPI if supported @@ -422,7 +436,9 @@ report_mouse_t pointing_device_adjust_by_defines_right(report_mouse_t mouse_repo * @param[in] right_report report_mouse_t * @return pointing_device_task_combined_user(left_report, right_report) by default */ -__attribute__((weak)) report_mouse_t pointing_device_task_combined_kb(report_mouse_t left_report, report_mouse_t right_report) { return pointing_device_task_combined_user(left_report, right_report); } +__attribute__((weak)) report_mouse_t pointing_device_task_combined_kb(report_mouse_t left_report, report_mouse_t right_report) { + return pointing_device_task_combined_user(left_report, right_report); +} /** * @brief Weak function allowing for user level mouse report modification @@ -435,5 +451,7 @@ __attribute__((weak)) report_mouse_t pointing_device_task_combined_kb(report_mou * @param[in] right_report report_mouse_t * @return pointing_device_combine_reports(left_report, right_report) by default */ -__attribute__((weak)) report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, report_mouse_t right_report) { return pointing_device_combine_reports(left_report, right_report); } +__attribute__((weak)) report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, report_mouse_t right_report) { + return pointing_device_combine_reports(left_report, right_report); +} #endif diff --git a/quantum/pointing_device.h b/quantum/pointing_device.h index 8394c20952c9..5f3845227aa0 100644 --- a/quantum/pointing_device.h +++ b/quantum/pointing_device.h @@ -103,5 +103,5 @@ report_mouse_t pointing_device_combine_reports(report_mouse_t left_report, repor report_mouse_t pointing_device_task_combined_kb(report_mouse_t left_report, report_mouse_t right_report); report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, report_mouse_t right_report); report_mouse_t pointing_device_adjust_by_defines_right(report_mouse_t mouse_report); -# endif // defined(POINTING_DEVICE_COMBINED) -#endif // defined(SPLIT_POINTING_ENABLE) +# endif // defined(POINTING_DEVICE_COMBINED) +#endif // defined(SPLIT_POINTING_ENABLE) diff --git a/quantum/pointing_device_drivers.c b/quantum/pointing_device_drivers.c index 7702958f889e..b8ef6e67e58a 100644 --- a/quantum/pointing_device_drivers.c +++ b/quantum/pointing_device_drivers.c @@ -120,7 +120,7 @@ report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) { int8_t report_x = 0, report_y = 0; static bool is_z_down = false; - cirque_pinnacle_scale_data(&touchData, cirque_pinnacle_get_scale(), cirque_pinnacle_get_scale()); // Scale coordinates to arbitrary X, Y resolution + cirque_pinnacle_scale_data(&touchData, cirque_pinnacle_get_scale(), cirque_pinnacle_get_scale()); // Scale coordinates to arbitrary X, Y resolution if (x && y && touchData.xValue && touchData.yValue) { report_x = (int8_t)(touchData.xValue - x); @@ -207,11 +207,13 @@ const pointing_device_driver_t pointing_device_driver = { }; // clang-format on #elif defined(POINTING_DEVICE_DRIVER_pmw3360) -static void pmw3360_device_init(void) { pmw3360_init(); } +static void pmw3360_device_init(void) { + pmw3360_init(); +} report_mouse_t pmw3360_get_report(report_mouse_t mouse_report) { report_pmw3360_t data = pmw3360_read_burst(); - static uint16_t MotionStart = 0; // Timer for accel, 0 is resting state + static uint16_t MotionStart = 0; // Timer for accel, 0 is resting state if (data.isOnSurface && data.isMotion) { // Reset timer if stopped moving @@ -243,11 +245,13 @@ const pointing_device_driver_t pointing_device_driver = { }; // clang-format on #elif defined(POINTING_DEVICE_DRIVER_pmw3389) -static void pmw3389_device_init(void) { pmw3389_init(); } +static void pmw3389_device_init(void) { + pmw3389_init(); +} report_mouse_t pmw3389_get_report(report_mouse_t mouse_report) { report_pmw3389_t data = pmw3389_read_burst(); - static uint16_t MotionStart = 0; // Timer for accel, 0 is resting state + static uint16_t MotionStart = 0; // Timer for accel, 0 is resting state if (data.isOnSurface && data.isMotion) { // Reset timer if stopped moving @@ -280,9 +284,13 @@ const pointing_device_driver_t pointing_device_driver = { // clang-format on #else __attribute__((weak)) void pointing_device_driver_init(void) {} -__attribute__((weak)) report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { return mouse_report; } -__attribute__((weak)) uint16_t pointing_device_driver_get_cpi(void) { return 0; } -__attribute__((weak)) void pointing_device_driver_set_cpi(uint16_t cpi) {} +__attribute__((weak)) report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { + return mouse_report; +} +__attribute__((weak)) uint16_t pointing_device_driver_get_cpi(void) { + return 0; +} +__attribute__((weak)) void pointing_device_driver_set_cpi(uint16_t cpi) {} // clang-format off const pointing_device_driver_t pointing_device_driver = { diff --git a/quantum/process_keycode/process_audio.c b/quantum/process_keycode/process_audio.c index 23664721e841..e7fe453308bb 100644 --- a/quantum/process_keycode/process_audio.c +++ b/quantum/process_keycode/process_audio.c @@ -50,11 +50,17 @@ bool process_audio(uint16_t keycode, keyrecord_t *record) { return true; } -void process_audio_noteon(uint8_t note) { play_note(compute_freq_for_midi_note(note), 0xF); } +void process_audio_noteon(uint8_t note) { + play_note(compute_freq_for_midi_note(note), 0xF); +} -void process_audio_noteoff(uint8_t note) { stop_note(compute_freq_for_midi_note(note)); } +void process_audio_noteoff(uint8_t note) { + stop_note(compute_freq_for_midi_note(note)); +} -void process_audio_all_notes_off(void) { stop_all_notes(); } +void process_audio_all_notes_off(void) { + stop_all_notes(); +} __attribute__((weak)) void audio_on_user() {} __attribute__((weak)) void audio_off_user() {} diff --git a/quantum/process_keycode/process_auto_shift.c b/quantum/process_keycode/process_auto_shift.c index bbc6367ff187..2150edd7b284 100644 --- a/quantum/process_keycode/process_auto_shift.c +++ b/quantum/process_keycode/process_auto_shift.c @@ -62,7 +62,9 @@ static struct { // clang-format on /** \brief Called on physical press, returns whether key should be added to Auto Shift */ -__attribute__((weak)) bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { return false; } +__attribute__((weak)) bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { + return false; +} /** \brief Called on physical press, returns whether is Auto Shift key */ __attribute__((weak)) bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { @@ -82,8 +84,12 @@ __attribute__((weak)) bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *r } /** \brief Called to check whether defines should apply if PER_KEY is set for it */ -__attribute__((weak)) bool get_auto_shift_repeat(uint16_t keycode, keyrecord_t *record) { return true; } -__attribute__((weak)) bool get_auto_shift_no_auto_repeat(uint16_t keycode, keyrecord_t *record) { return true; } +__attribute__((weak)) bool get_auto_shift_repeat(uint16_t keycode, keyrecord_t *record) { + return true; +} +__attribute__((weak)) bool get_auto_shift_no_auto_repeat(uint16_t keycode, keyrecord_t *record) { + return true; +} /** \brief Called when an Auto Shift key needs to be pressed */ __attribute__((weak)) void autoshift_press_user(uint16_t keycode, bool shifted, keyrecord_t *record) { @@ -94,7 +100,9 @@ __attribute__((weak)) void autoshift_press_user(uint16_t keycode, bool shifted, } /** \brief Called when an Auto Shift key needs to be released */ -__attribute__((weak)) void autoshift_release_user(uint16_t keycode, bool shifted, keyrecord_t *record) { unregister_code16((IS_RETRO(keycode)) ? keycode & 0xFF : keycode); } +__attribute__((weak)) void autoshift_release_user(uint16_t keycode, bool shifted, keyrecord_t *record) { + unregister_code16((IS_RETRO(keycode)) ? keycode & 0xFF : keycode); +} /** \brief Sets the shift state to use when keyrepeating, required by custom shifts */ void set_autoshift_shift_state(uint16_t keycode, bool shifted) { @@ -311,7 +319,9 @@ void autoshift_toggle(void) { autoshift_flush_shift(); } -void autoshift_enable(void) { autoshift_flags.enabled = true; } +void autoshift_enable(void) { + autoshift_flags.enabled = true; +} void autoshift_disable(void) { autoshift_flags.enabled = false; @@ -328,12 +338,20 @@ void autoshift_timer_report(void) { } # endif -bool get_autoshift_state(void) { return autoshift_flags.enabled; } +bool get_autoshift_state(void) { + return autoshift_flags.enabled; +} -uint16_t get_generic_autoshift_timeout() { return autoshift_timeout; } -__attribute__((weak)) uint16_t get_autoshift_timeout(uint16_t keycode, keyrecord_t *record) { return autoshift_timeout; } +uint16_t get_generic_autoshift_timeout() { + return autoshift_timeout; +} +__attribute__((weak)) uint16_t get_autoshift_timeout(uint16_t keycode, keyrecord_t *record) { + return autoshift_timeout; +} -void set_autoshift_timeout(uint16_t timeout) { autoshift_timeout = timeout; } +void set_autoshift_timeout(uint16_t timeout) { + autoshift_timeout = timeout; +} bool process_auto_shift(uint16_t keycode, keyrecord_t *record) { // Note that record->event.time isn't reliable, see: diff --git a/quantum/process_keycode/process_clicky.c b/quantum/process_keycode/process_clicky.c index 6ab382d4aadf..97957349848c 100644 --- a/quantum/process_keycode/process_clicky.c +++ b/quantum/process_keycode/process_clicky.c @@ -5,40 +5,40 @@ # ifndef AUDIO_CLICKY_DELAY_DURATION # define AUDIO_CLICKY_DELAY_DURATION 1 -# endif // !AUDIO_CLICKY_DELAY_DURATION +# endif // !AUDIO_CLICKY_DELAY_DURATION # ifndef AUDIO_CLICKY_FREQ_DEFAULT # define AUDIO_CLICKY_FREQ_DEFAULT 440.0f -# endif // !AUDIO_CLICKY_FREQ_DEFAULT +# endif // !AUDIO_CLICKY_FREQ_DEFAULT # ifndef AUDIO_CLICKY_FREQ_MIN # define AUDIO_CLICKY_FREQ_MIN 65.0f -# endif // !AUDIO_CLICKY_FREQ_MIN +# endif // !AUDIO_CLICKY_FREQ_MIN # ifndef AUDIO_CLICKY_FREQ_MAX # define AUDIO_CLICKY_FREQ_MAX 1500.0f -# endif // !AUDIO_CLICKY_FREQ_MAX +# endif // !AUDIO_CLICKY_FREQ_MAX # ifndef AUDIO_CLICKY_FREQ_FACTOR # define AUDIO_CLICKY_FREQ_FACTOR 1.18921f -# endif // !AUDIO_CLICKY_FREQ_FACTOR +# endif // !AUDIO_CLICKY_FREQ_FACTOR # ifndef AUDIO_CLICKY_FREQ_RANDOMNESS # define AUDIO_CLICKY_FREQ_RANDOMNESS 0.05f -# endif // !AUDIO_CLICKY_FREQ_RANDOMNESS +# endif // !AUDIO_CLICKY_FREQ_RANDOMNESS float clicky_freq = AUDIO_CLICKY_FREQ_DEFAULT; float clicky_rand = AUDIO_CLICKY_FREQ_RANDOMNESS; // the first "note" is an intentional delay; the 2nd and 3rd notes are the "clicky" -float clicky_song[][2] = {{AUDIO_CLICKY_FREQ_MIN, AUDIO_CLICKY_DELAY_DURATION}, {AUDIO_CLICKY_FREQ_DEFAULT, 3}, {AUDIO_CLICKY_FREQ_DEFAULT, 1}}; // 3 and 1 --> durations +float clicky_song[][2] = {{AUDIO_CLICKY_FREQ_MIN, AUDIO_CLICKY_DELAY_DURATION}, {AUDIO_CLICKY_FREQ_DEFAULT, 3}, {AUDIO_CLICKY_FREQ_DEFAULT, 1}}; // 3 and 1 --> durations extern audio_config_t audio_config; # ifndef NO_MUSIC_MODE extern bool music_activated; extern bool midi_activated; -# endif // !NO_MUSIC_MODE +# endif // !NO_MUSIC_MODE void clicky_play(void) { # ifndef NO_MUSIC_MODE if (music_activated || midi_activated || !audio_config.enable) return; -# endif // !NO_MUSIC_MODE +# endif // !NO_MUSIC_MODE clicky_song[1][0] = 2.0f * clicky_freq * (1.0f + clicky_rand * (((float)rand()) / ((float)(RAND_MAX)))); clicky_song[2][0] = clicky_freq * (1.0f + clicky_rand * (((float)rand()) / ((float)(RAND_MAX)))); PLAY_SONG(clicky_song); @@ -58,7 +58,9 @@ void clicky_freq_down(void) { } } -void clicky_freq_reset(void) { clicky_freq = AUDIO_CLICKY_FREQ_DEFAULT; } +void clicky_freq_reset(void) { + clicky_freq = AUDIO_CLICKY_FREQ_DEFAULT; +} void clicky_toggle(void) { audio_config.clicky_enable ^= 1; @@ -75,7 +77,9 @@ void clicky_off(void) { eeconfig_update_audio(audio_config.raw); } -bool is_clicky_on(void) { return (audio_config.clicky_enable != 0); } +bool is_clicky_on(void) { + return (audio_config.clicky_enable != 0); +} bool process_clicky(uint16_t keycode, keyrecord_t *record) { if (keycode == CLICKY_TOGGLE && record->event.pressed) { @@ -101,8 +105,8 @@ bool process_clicky(uint16_t keycode, keyrecord_t *record) { } if (audio_config.enable && audio_config.clicky_enable) { - if (record->event.pressed) { // Leave this separate so it's easier to add upstroke sound - if (keycode != AU_OFF && keycode != AU_TOG) { // DO NOT PLAY if audio will be disabled, and causes issuse on ARM + if (record->event.pressed) { // Leave this separate so it's easier to add upstroke sound + if (keycode != AU_OFF && keycode != AU_TOG) { // DO NOT PLAY if audio will be disabled, and causes issuse on ARM clicky_play(); } } @@ -110,4 +114,4 @@ bool process_clicky(uint16_t keycode, keyrecord_t *record) { return true; } -#endif // AUDIO_CLICKY +#endif // AUDIO_CLICKY diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index 21fd737ab7db..efaf8fe0e9e6 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c @@ -30,33 +30,45 @@ extern uint16_t COMBO_LEN; __attribute__((weak)) void process_combo_event(uint16_t combo_index, bool pressed) {} #ifdef COMBO_MUST_HOLD_PER_COMBO -__attribute__((weak)) bool get_combo_must_hold(uint16_t index, combo_t *combo) { return false; } +__attribute__((weak)) bool get_combo_must_hold(uint16_t index, combo_t *combo) { + return false; +} #endif #ifdef COMBO_MUST_TAP_PER_COMBO -__attribute__((weak)) bool get_combo_must_tap(uint16_t index, combo_t *combo) { return false; } +__attribute__((weak)) bool get_combo_must_tap(uint16_t index, combo_t *combo) { + return false; +} #endif #ifdef COMBO_TERM_PER_COMBO -__attribute__((weak)) uint16_t get_combo_term(uint16_t index, combo_t *combo) { return COMBO_TERM; } +__attribute__((weak)) uint16_t get_combo_term(uint16_t index, combo_t *combo) { + return COMBO_TERM; +} #endif #ifdef COMBO_MUST_PRESS_IN_ORDER_PER_COMBO -__attribute__((weak)) bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo) { return true; } +__attribute__((weak)) bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo) { + return true; +} #endif #ifdef COMBO_PROCESS_KEY_RELEASE -__attribute__((weak)) bool process_combo_key_release(uint16_t combo_index, combo_t *combo, uint8_t key_index, uint16_t keycode) { return false; } +__attribute__((weak)) bool process_combo_key_release(uint16_t combo_index, combo_t *combo, uint8_t key_index, uint16_t keycode) { + return false; +} #endif #ifdef COMBO_SHOULD_TRIGGER -__attribute__((weak)) bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) { return true; } +__attribute__((weak)) bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) { + return true; +} #endif #ifndef COMBO_NO_TIMER static uint16_t timer = 0; #endif -static bool b_combo_enable = true; // defaults to enabled +static bool b_combo_enable = true; // defaults to enabled static uint16_t longest_term = 0; typedef struct { @@ -462,7 +474,7 @@ static bool process_single_combo(combo_t *combo, uint16_t keycode, keyrecord_t * // get possible longer waiting time for tap-/hold-only combos. longest_term = _get_wait_time(combo_index, combo); } - } // if timer elapsed end + } // if timer elapsed end } } else { // chord releases @@ -477,7 +489,7 @@ static bool process_single_combo(combo_t *combo, uint16_t keycode, keyrecord_t * else if (get_combo_must_tap(combo_index, combo)) { // immediately apply tap-only combo apply_combo(combo_index, combo); - apply_combos(); // also apply other prepared combos and dump key buffer + apply_combos(); // also apply other prepared combos and dump key buffer # ifdef COMBO_PROCESS_KEY_RELEASE if (process_combo_key_release(combo_index, combo, key_index, keycode)) { release_combo(combo_index, combo); @@ -559,7 +571,7 @@ bool process_combo(uint16_t keycode, keyrecord_t *record) { key_buffer[key_buffer_size++] = (queued_record_t){ .record = *record, .keycode = keycode, - .combo_index = -1, // this will be set when applying combos + .combo_index = -1, // this will be set when applying combos }; } } else { @@ -598,7 +610,9 @@ void combo_task(void) { #endif } -void combo_enable(void) { b_combo_enable = true; } +void combo_enable(void) { + b_combo_enable = true; +} void combo_disable(void) { #ifndef COMBO_NO_TIMER @@ -618,4 +632,6 @@ void combo_toggle(void) { } } -bool is_combo_enabled(void) { return b_combo_enable; } +bool is_combo_enabled(void) { + return b_combo_enable; +} diff --git a/quantum/process_keycode/process_dynamic_macro.c b/quantum/process_keycode/process_dynamic_macro.c index 0feb63401436..a1ada2d5a28e 100644 --- a/quantum/process_keycode/process_dynamic_macro.c +++ b/quantum/process_keycode/process_dynamic_macro.c @@ -29,13 +29,21 @@ void dynamic_macro_led_blink(void) { /* User hooks for Dynamic Macros */ -__attribute__((weak)) void dynamic_macro_record_start_user(void) { dynamic_macro_led_blink(); } +__attribute__((weak)) void dynamic_macro_record_start_user(void) { + dynamic_macro_led_blink(); +} -__attribute__((weak)) void dynamic_macro_play_user(int8_t direction) { dynamic_macro_led_blink(); } +__attribute__((weak)) void dynamic_macro_play_user(int8_t direction) { + dynamic_macro_led_blink(); +} -__attribute__((weak)) void dynamic_macro_record_key_user(int8_t direction, keyrecord_t *record) { dynamic_macro_led_blink(); } +__attribute__((weak)) void dynamic_macro_record_key_user(int8_t direction, keyrecord_t *record) { + dynamic_macro_led_blink(); +} -__attribute__((weak)) void dynamic_macro_record_end_user(int8_t direction) { dynamic_macro_led_blink(); } +__attribute__((weak)) void dynamic_macro_record_end_user(int8_t direction) { + dynamic_macro_led_blink(); +} /* Convenience macros used for retrieving the debug info. All of them * need a `direction` variable accessible at the call site. diff --git a/quantum/process_keycode/process_joystick.c b/quantum/process_keycode/process_joystick.c index fa9c2c1dbccc..2fb092c5736f 100644 --- a/quantum/process_keycode/process_joystick.c +++ b/quantum/process_keycode/process_joystick.c @@ -74,7 +74,9 @@ void restorePinState(pin_t pin, uint16_t restoreState) { #endif } -__attribute__((weak)) bool process_joystick_analogread() { return process_joystick_analogread_quantum(); } +__attribute__((weak)) bool process_joystick_analogread() { + return process_joystick_analogread_quantum(); +} bool process_joystick_analogread_quantum() { #if JOYSTICK_AXES_COUNT > 0 diff --git a/quantum/process_keycode/process_key_override.c b/quantum/process_keycode/process_key_override.c index 09b2725079ef..ad9683d10666 100644 --- a/quantum/process_keycode/process_key_override.c +++ b/quantum/process_keycode/process_key_override.c @@ -106,7 +106,9 @@ void key_override_toggle(void) { } } -bool key_override_is_enabled(void) { return enabled; } +bool key_override_is_enabled(void) { + return enabled; +} // Returns whether the modifiers that are pressed are such that the override should activate static bool key_override_matches_active_modifiers(const key_override_t *override, const uint8_t mods) { @@ -150,7 +152,7 @@ static void schedule_deferred_register(const uint16_t keycode) { } else { // Wait a very short time when a modifier event triggers the override to avoid false activations when e.g. a modifier is pressed just before a key is released (with the intention of pairing the modifier with a different key), or a modifier is lifted shortly before the trigger key is lifted. Operating systems by default reject modifier-events that happen very close to a non-modifier event. defer_reference_time = timer_read32(); - defer_delay = 50; // 50ms + defer_delay = 50; // 50ms } deferred_register = keycode; } @@ -174,8 +176,8 @@ const key_override_t *clear_active_override(const bool allow_reregister) { const uint8_t mod_free_replacement = clear_mods_from(active_override->replacement); - bool unregister_replacement = mod_free_replacement != KC_NO && // KC_NO is never registered - mod_free_replacement < SAFE_RANGE; // Custom keycodes are never registered + bool unregister_replacement = mod_free_replacement != KC_NO && // KC_NO is never registered + mod_free_replacement < SAFE_RANGE; // Custom keycodes are never registered // Try firing the custom handler if (active_override->custom_action != NULL) { @@ -195,11 +197,11 @@ const key_override_t *clear_active_override(const bool allow_reregister) { const uint16_t trigger = active_override->trigger; - const bool reregister_trigger = allow_reregister && // Check if allowed from caller - (active_override->options & ko_option_no_reregister_trigger) == 0 && // Check if override allows - active_override_trigger_is_down && // Check if trigger is even down - trigger != KC_NO && // KC_NO is never registered - trigger < SAFE_RANGE; // A custom keycode should not be registered + const bool reregister_trigger = allow_reregister && // Check if allowed from caller + (active_override->options & ko_option_no_reregister_trigger) == 0 && // Check if override allows + active_override_trigger_is_down && // Check if trigger is even down + trigger != KC_NO && // KC_NO is never registered + trigger < SAFE_RANGE; // A custom keycode should not be registered // Optionally re-register the trigger if it is still down if (reregister_trigger) { @@ -336,8 +338,8 @@ static bool try_activating_override(const uint16_t keycode, const uint8_t layer, const uint16_t mod_free_replacement = clear_mods_from(override->replacement); - bool register_replacement = mod_free_replacement != KC_NO && // KC_NO is never registered - mod_free_replacement < SAFE_RANGE; // Custom keycodes are never registered + bool register_replacement = mod_free_replacement != KC_NO && // KC_NO is never registered + mod_free_replacement < SAFE_RANGE; // Custom keycodes are never registered // Try firing the custom handler if (override->custom_action != NULL) { diff --git a/quantum/process_keycode/process_leader.c b/quantum/process_keycode/process_leader.c index cf63f2514137..c2fd02e5c713 100644 --- a/quantum/process_keycode/process_leader.c +++ b/quantum/process_keycode/process_leader.c @@ -51,13 +51,13 @@ bool process_leader(uint16_t keycode, keyrecord_t *record) { if (leading) { # ifndef LEADER_NO_TIMEOUT if (timer_elapsed(leader_time) < LEADER_TIMEOUT) -# endif // LEADER_NO_TIMEOUT +# endif // LEADER_NO_TIMEOUT { # ifndef LEADER_KEY_STRICT_KEY_PROCESSING if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } -# endif // LEADER_KEY_STRICT_KEY_PROCESSING +# endif // LEADER_KEY_STRICT_KEY_PROCESSING if (leader_sequence_size < (sizeof(leader_sequence) / sizeof(leader_sequence[0]))) { leader_sequence[leader_sequence_size] = keycode; leader_sequence_size++; diff --git a/quantum/process_keycode/process_magic.c b/quantum/process_keycode/process_magic.c index 6332be647cd4..10161adda376 100644 --- a/quantum/process_keycode/process_magic.c +++ b/quantum/process_keycode/process_magic.c @@ -76,7 +76,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) { keymap_config.swap_backslash_backspace = true; break; case MAGIC_HOST_NKRO: - clear_keyboard(); // clear first buffer to prevent stuck keys + clear_keyboard(); // clear first buffer to prevent stuck keys keymap_config.nkro = true; break; case MAGIC_SWAP_ALT_GUI: @@ -119,7 +119,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) { keymap_config.swap_backslash_backspace = false; break; case MAGIC_UNHOST_NKRO: - clear_keyboard(); // clear first buffer to prevent stuck keys + clear_keyboard(); // clear first buffer to prevent stuck keys keymap_config.nkro = false; break; case MAGIC_UNSWAP_ALT_GUI: @@ -157,7 +157,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) { #endif break; case MAGIC_TOGGLE_NKRO: - clear_keyboard(); // clear first buffer to prevent stuck keys + clear_keyboard(); // clear first buffer to prevent stuck keys keymap_config.nkro = !keymap_config.nkro; break; case MAGIC_EE_HANDS_LEFT: @@ -175,7 +175,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) { } eeconfig_update_keymap(keymap_config.raw); - clear_keyboard(); // clear to prevent stuck keys + clear_keyboard(); // clear to prevent stuck keys return false; } diff --git a/quantum/process_keycode/process_midi.c b/quantum/process_keycode/process_midi.c index 9632d2b75710..c49c31a52515 100644 --- a/quantum/process_keycode/process_midi.c +++ b/quantum/process_keycode/process_midi.c @@ -22,13 +22,19 @@ # ifdef MIDI_BASIC -void process_midi_basic_noteon(uint8_t note) { midi_send_noteon(&midi_device, 0, note, 127); } +void process_midi_basic_noteon(uint8_t note) { + midi_send_noteon(&midi_device, 0, note, 127); +} -void process_midi_basic_noteoff(uint8_t note) { midi_send_noteoff(&midi_device, 0, note, 0); } +void process_midi_basic_noteoff(uint8_t note) { + midi_send_noteoff(&midi_device, 0, note, 0); +} -void process_midi_all_notes_off(void) { midi_send_cc(&midi_device, 0, 0x7B, 0); } +void process_midi_all_notes_off(void) { + midi_send_cc(&midi_device, 0, 0x7B, 0); +} -# endif // MIDI_BASIC +# endif // MIDI_BASIC # ifdef MIDI_ADVANCED @@ -41,7 +47,9 @@ static int8_t midi_modulation_step; static uint16_t midi_modulation_timer; midi_config_t midi_config; -inline uint8_t compute_velocity(uint8_t setting) { return setting * (128 / (MIDI_VELOCITY_MAX - MIDI_VELOCITY_MIN)); } +inline uint8_t compute_velocity(uint8_t setting) { + return setting * (128 / (MIDI_VELOCITY_MAX - MIDI_VELOCITY_MIN)); +} void midi_init(void) { midi_config.octave = MI_OCT_2 - MIDI_OCTAVE_MIN; @@ -60,7 +68,9 @@ void midi_init(void) { midi_modulation_timer = 0; } -uint8_t midi_compute_note(uint16_t keycode) { return 12 * midi_config.octave + (keycode - MIDI_TONE_MIN) + midi_config.transpose; } +uint8_t midi_compute_note(uint16_t keycode) { + return 12 * midi_config.octave + (keycode - MIDI_TONE_MIN) + midi_config.transpose; +} bool process_midi(uint16_t keycode, keyrecord_t *record) { switch (keycode) { @@ -238,7 +248,7 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) { return true; } -# endif // MIDI_ADVANCED +# endif // MIDI_ADVANCED void midi_task(void) { midi_device_process(&midi_device); @@ -263,4 +273,4 @@ void midi_task(void) { # endif } -#endif // MIDI_ENABLE +#endif // MIDI_ENABLE diff --git a/quantum/process_keycode/process_midi.h b/quantum/process_keycode/process_midi.h index 68c6eda6665a..e528c6ec0cab 100644 --- a/quantum/process_keycode/process_midi.h +++ b/quantum/process_keycode/process_midi.h @@ -49,6 +49,6 @@ bool process_midi(uint16_t keycode, keyrecord_t *record); # define MIDI_TONE_COUNT (MIDI_TONE_MAX - MIDI_TONE_MIN + 1) uint8_t midi_compute_note(uint16_t keycode); -# endif // MIDI_ADVANCED +# endif // MIDI_ADVANCED -#endif // MIDI_ENABLE +#endif // MIDI_ENABLE diff --git a/quantum/process_keycode/process_music.c b/quantum/process_keycode/process_music.c index 6822c5e28912..eeec0c28a4ad 100644 --- a/quantum/process_keycode/process_music.c +++ b/quantum/process_keycode/process_music.c @@ -146,7 +146,7 @@ bool process_music(uint16_t keycode, keyrecord_t *record) { if (music_activated || midi_activated) { if (record->event.pressed) { - if (keycode == KC_LEFT_CTRL) { // Start recording + if (keycode == KC_LEFT_CTRL) { // Start recording music_all_notes_off(); music_sequence_recording = true; music_sequence_recorded = false; @@ -155,9 +155,9 @@ bool process_music(uint16_t keycode, keyrecord_t *record) { return false; } - if (keycode == KC_LEFT_ALT) { // Stop recording/playing + if (keycode == KC_LEFT_ALT) { // Stop recording/playing music_all_notes_off(); - if (music_sequence_recording) { // was recording + if (music_sequence_recording) { // was recording music_sequence_recorded = true; } music_sequence_recording = false; @@ -165,7 +165,7 @@ bool process_music(uint16_t keycode, keyrecord_t *record) { return false; } - if (keycode == KC_LEFT_GUI && music_sequence_recorded) { // Start playing + if (keycode == KC_LEFT_GUI && music_sequence_recorded) { // Start playing music_all_notes_off(); music_sequence_recording = false; music_sequence_playing = true; @@ -230,11 +230,17 @@ bool music_mask(uint16_t keycode) { # endif } -__attribute__((weak)) bool music_mask_kb(uint16_t keycode) { return music_mask_user(keycode); } +__attribute__((weak)) bool music_mask_kb(uint16_t keycode) { + return music_mask_user(keycode); +} -__attribute__((weak)) bool music_mask_user(uint16_t keycode) { return keycode < 0xFF; } +__attribute__((weak)) bool music_mask_user(uint16_t keycode) { + return keycode < 0xFF; +} -bool is_music_on(void) { return (music_activated != 0); } +bool is_music_on(void) { + return (music_activated != 0); +} void music_toggle(void) { if (!music_activated) { @@ -260,7 +266,9 @@ void music_off(void) { # endif } -bool is_midi_on(void) { return (midi_activated != 0); } +bool is_midi_on(void) { + return (midi_activated != 0); +} void midi_toggle(void) { if (!midi_activated) { @@ -315,4 +323,4 @@ __attribute__((weak)) void midi_on_user() {} __attribute__((weak)) void music_scale_user() {} -#endif // defined(AUDIO_ENABLE) || (defined(MIDI_ENABLE) && defined(MIDI_BASIC)) +#endif // defined(AUDIO_ENABLE) || (defined(MIDI_ENABLE) && defined(MIDI_BASIC)) diff --git a/quantum/process_keycode/process_music.h b/quantum/process_keycode/process_music.h index e275cd9d26f3..83726a05ba9f 100644 --- a/quantum/process_keycode/process_music.h +++ b/quantum/process_keycode/process_music.h @@ -51,8 +51,10 @@ bool music_mask_kb(uint16_t keycode); bool music_mask_user(uint16_t keycode); # ifndef SCALE -# define SCALE \ - (int8_t[]) { 0 + (12 * 0), 2 + (12 * 0), 4 + (12 * 0), 5 + (12 * 0), 7 + (12 * 0), 9 + (12 * 0), 11 + (12 * 0), 0 + (12 * 1), 2 + (12 * 1), 4 + (12 * 1), 5 + (12 * 1), 7 + (12 * 1), 9 + (12 * 1), 11 + (12 * 1), 0 + (12 * 2), 2 + (12 * 2), 4 + (12 * 2), 5 + (12 * 2), 7 + (12 * 2), 9 + (12 * 2), 11 + (12 * 2), 0 + (12 * 3), 2 + (12 * 3), 4 + (12 * 3), 5 + (12 * 3), 7 + (12 * 3), 9 + (12 * 3), 11 + (12 * 3), 0 + (12 * 4), 2 + (12 * 4), 4 + (12 * 4), 5 + (12 * 4), 7 + (12 * 4), 9 + (12 * 4), 11 + (12 * 4), } +# define SCALE \ + (int8_t[]) { \ + 0 + (12 * 0), 2 + (12 * 0), 4 + (12 * 0), 5 + (12 * 0), 7 + (12 * 0), 9 + (12 * 0), 11 + (12 * 0), 0 + (12 * 1), 2 + (12 * 1), 4 + (12 * 1), 5 + (12 * 1), 7 + (12 * 1), 9 + (12 * 1), 11 + (12 * 1), 0 + (12 * 2), 2 + (12 * 2), 4 + (12 * 2), 5 + (12 * 2), 7 + (12 * 2), 9 + (12 * 2), 11 + (12 * 2), 0 + (12 * 3), 2 + (12 * 3), 4 + (12 * 3), 5 + (12 * 3), 7 + (12 * 3), 9 + (12 * 3), 11 + (12 * 3), 0 + (12 * 4), 2 + (12 * 4), 4 + (12 * 4), 5 + (12 * 4), 7 + (12 * 4), 9 + (12 * 4), 11 + (12 * 4), \ + } # endif -#endif // defined(AUDIO_ENABLE) || (defined(MIDI_ENABLE) && defined(MIDI_BASIC)) +#endif // defined(AUDIO_ENABLE) || (defined(MIDI_ENABLE) && defined(MIDI_BASIC)) diff --git a/quantum/process_keycode/process_printer.c b/quantum/process_keycode/process_printer.c index 0801f078eff6..6dd1f28c9b40 100644 --- a/quantum/process_keycode/process_printer.c +++ b/quantum/process_keycode/process_printer.c @@ -26,7 +26,9 @@ void enable_printing(void) { uart_init(19200); } -void disable_printing(void) { printing_enabled = false; } +void disable_printing(void) { + printing_enabled = false; +} uint8_t shifted_numbers[10] = {0x21, 0x40, 0x23, 0x24, 0x25, 0x5E, 0x26, 0x2A, 0x28, 0x29}; @@ -41,7 +43,8 @@ void print_char(char c) { } void print_string(char c[]) { - for (uint8_t i = 0; i < strlen(c); i++) print_char(c[i]); + for (uint8_t i = 0; i < strlen(c); i++) + print_char(c[i]); } void print_box_string(const char text[]) { diff --git a/quantum/process_keycode/process_printer_bb.c b/quantum/process_keycode/process_printer_bb.c index 6c91bd27ef79..88a9f33994d9 100644 --- a/quantum/process_keycode/process_printer_bb.c +++ b/quantum/process_keycode/process_printer_bb.c @@ -25,13 +25,21 @@ uint8_t character_shift = 0; #define SERIAL_PIN_MASK _BV(PD3) #define SERIAL_DELAY 52 -inline static void serial_delay(void) { _delay_us(SERIAL_DELAY); } +inline static void serial_delay(void) { + _delay_us(SERIAL_DELAY); +} -inline static void serial_high(void) { SERIAL_PIN_PORT |= SERIAL_PIN_MASK; } +inline static void serial_high(void) { + SERIAL_PIN_PORT |= SERIAL_PIN_MASK; +} -inline static void serial_low(void) { SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK; } +inline static void serial_low(void) { + SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK; +} -inline static void serial_output(void) { SERIAL_PIN_DDR |= SERIAL_PIN_MASK; } +inline static void serial_output(void) { + SERIAL_PIN_DDR |= SERIAL_PIN_MASK; +} void enable_printing() { printing_enabled = true; @@ -39,7 +47,9 @@ void enable_printing() { serial_high(); } -void disable_printing() { printing_enabled = false; } +void disable_printing() { + printing_enabled = false; +} uint8_t shifted_numbers[10] = {0x21, 0x40, 0x23, 0x24, 0x25, 0x5E, 0x26, 0x2A, 0x28, 0x29}; @@ -61,7 +71,8 @@ void print_char(char c) { } void print_string(char c[]) { - for (uint8_t i = 0; i < strlen(c); i++) print_char(c[i]); + for (uint8_t i = 0; i < strlen(c); i++) + print_char(c[i]); } bool process_printer(uint16_t keycode, keyrecord_t *record) { diff --git a/quantum/process_keycode/process_steno.c b/quantum/process_keycode/process_steno.c index 5d0bb313b4cf..12ee8982125a 100644 --- a/quantum/process_keycode/process_steno.c +++ b/quantum/process_keycode/process_steno.c @@ -102,11 +102,17 @@ void steno_set_mode(steno_mode_t new_mode) { /* override to intercept chords right before they get sent. * return zero to suppress normal sending behavior. */ -__attribute__((weak)) bool send_steno_chord_user(steno_mode_t mode, uint8_t chord[6]) { return true; } +__attribute__((weak)) bool send_steno_chord_user(steno_mode_t mode, uint8_t chord[6]) { + return true; +} -__attribute__((weak)) bool postprocess_steno_user(uint16_t keycode, keyrecord_t *record, steno_mode_t mode, uint8_t chord[6], int8_t pressed) { return true; } +__attribute__((weak)) bool postprocess_steno_user(uint16_t keycode, keyrecord_t *record, steno_mode_t mode, uint8_t chord[6], int8_t pressed) { + return true; +} -__attribute__((weak)) bool process_steno_user(uint16_t keycode, keyrecord_t *record) { return true; } +__attribute__((weak)) bool process_steno_user(uint16_t keycode, keyrecord_t *record) { + return true; +} static void send_steno_chord(void) { if (send_steno_chord_user(mode, chord)) { @@ -114,11 +120,11 @@ static void send_steno_chord(void) { case STENO_MODE_BOLT: send_steno_state(BOLT_STATE_SIZE, false); #ifdef VIRTSER_ENABLE - virtser_send(0); // terminating byte + virtser_send(0); // terminating byte #endif break; case STENO_MODE_GEMINI: - chord[0] |= 0x80; // Indicate start of packet + chord[0] |= 0x80; // Indicate start of packet send_steno_state(GEMINI_STATE_SIZE, true); break; } @@ -126,9 +132,13 @@ static void send_steno_chord(void) { steno_clear_state(); } -uint8_t *steno_get_state(void) { return &state[0]; } +uint8_t *steno_get_state(void) { + return &state[0]; +} -uint8_t *steno_get_chord(void) { return &chord[0]; } +uint8_t *steno_get_chord(void) { + return &chord[0]; +} static bool update_state_bolt(uint8_t key, bool press) { uint8_t boltcode = pgm_read_byte(boltmap + key); diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c index 035c9c265d6b..e99119b2aee2 100644 --- a/quantum/process_keycode/process_tap_dance.c +++ b/quantum/process_keycode/process_tap_dance.c @@ -86,7 +86,9 @@ static inline void _process_tap_dance_action_fn(qk_tap_dance_state_t *state, voi } } -static inline void process_tap_dance_action_on_each_tap(qk_tap_dance_action_t *action) { _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_each_tap); } +static inline void process_tap_dance_action_on_each_tap(qk_tap_dance_action_t *action) { + _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_each_tap); +} static inline void process_tap_dance_action_on_dance_finished(qk_tap_dance_action_t *action) { if (action->state.finished) return; diff --git a/quantum/process_keycode/process_terminal.c b/quantum/process_keycode/process_terminal.c index a059f3a521a8..da1c4d506f60 100644 --- a/quantum/process_keycode/process_terminal.c +++ b/quantum/process_keycode/process_terminal.c @@ -27,12 +27,12 @@ bool terminal_enabled = false; char buffer[80] = ""; char cmd_buffer[CMD_BUFF_SIZE][80]; -bool cmd_buffer_enabled = true; // replace with ifdef? +bool cmd_buffer_enabled = true; // replace with ifdef? char newline[2] = "\n"; char arguments[6][20]; bool firstTime = true; -short int current_cmd_buffer_pos = 0; // used for up/down arrows - keeps track of where you are in the command buffer +short int current_cmd_buffer_pos = 0; // used for up/down arrows - keeps track of where you are in the command buffer __attribute__((weak)) const char terminal_prompt[8] = "> "; @@ -59,7 +59,8 @@ void enable_terminal(void) { terminal_enabled = true; strcpy(buffer, ""); memset(cmd_buffer, 0, CMD_BUFF_SIZE * 80); - for (int i = 0; i < 6; i++) strcpy(arguments[i], ""); + for (int i = 0; i < 6; i++) + strcpy(arguments[i], ""); // select all text to start over // SEND_STRING(SS_LCTL("a")); send_string(terminal_prompt); @@ -160,7 +161,7 @@ void print_cmd_buff(void) { for (int i = 0; i < CMD_BUFF_SIZE; i++) { char tmpChar = ' '; itoa(i, &tmpChar, 10); - const char *tmpCnstCharStr = &tmpChar; // because sned_string wont take a normal char * + const char *tmpCnstCharStr = &tmpChar; // because sned_string wont take a normal char * send_string(tmpCnstCharStr); SEND_STRING(". "); send_string(cmd_buffer[i]); @@ -185,7 +186,7 @@ void terminal_help(void) { } void command_not_found(void) { - wait_ms(50); // sometimes buffer isnt grabbed quick enough + wait_ms(50); // sometimes buffer isnt grabbed quick enough SEND_STRING("command \""); send_string(buffer); SEND_STRING("\" not found\n"); @@ -217,15 +218,16 @@ void process_terminal_command(void) { if (terminal_enabled) { strcpy(buffer, ""); - for (int i = 0; i < 6; i++) strcpy(arguments[i], ""); + for (int i = 0; i < 6; i++) + strcpy(arguments[i], ""); SEND_STRING(SS_TAP(X_HOME)); send_string(terminal_prompt); } } void check_pos(void) { - if (current_cmd_buffer_pos >= CMD_BUFF_SIZE) { // if over the top, move it back down to the top of the buffer so you can climb back down... + if (current_cmd_buffer_pos >= CMD_BUFF_SIZE) { // if over the top, move it back down to the top of the buffer so you can climb back down... current_cmd_buffer_pos = CMD_BUFF_SIZE - 1; - } else if (current_cmd_buffer_pos < 0) { //...and if you fall under the bottom of the buffer, reset back to 0 so you can climb back up + } else if (current_cmd_buffer_pos < 0) { //...and if you fall under the bottom of the buffer, reset back to 0 so you can climb back up current_cmd_buffer_pos = 0; } } @@ -278,33 +280,33 @@ bool process_terminal(uint16_t keycode, keyrecord_t *record) { case KC_RIGHT: return false; break; - case KC_UP: // 0 = recent - check_pos(); // check our current buffer position is valid - if (current_cmd_buffer_pos <= CMD_BUFF_SIZE - 1) { // once we get to the top, dont do anything + case KC_UP: // 0 = recent + check_pos(); // check our current buffer position is valid + if (current_cmd_buffer_pos <= CMD_BUFF_SIZE - 1) { // once we get to the top, dont do anything str_len = strlen(buffer); for (int i = 0; i < str_len; ++i) { - send_string(SS_TAP(X_BSPACE)); // clear w/e is on the line already + send_string(SS_TAP(X_BSPACE)); // clear w/e is on the line already // process_terminal(KC_BACKSPACE,record); } strncpy(buffer, cmd_buffer[current_cmd_buffer_pos], 80); send_string(buffer); - ++current_cmd_buffer_pos; // get ready to access the above cmd if up/down is pressed again + ++current_cmd_buffer_pos; // get ready to access the above cmd if up/down is pressed again } return false; break; case KC_DOWN: check_pos(); - if (current_cmd_buffer_pos >= 0) { // once we get to the bottom, dont do anything + if (current_cmd_buffer_pos >= 0) { // once we get to the bottom, dont do anything str_len = strlen(buffer); for (int i = 0; i < str_len; ++i) { - send_string(SS_TAP(X_BSPACE)); // clear w/e is on the line already + send_string(SS_TAP(X_BSPACE)); // clear w/e is on the line already // process_terminal(KC_BACKSPACE,record); } strncpy(buffer, cmd_buffer[current_cmd_buffer_pos], 79); send_string(buffer); - --current_cmd_buffer_pos; // get ready to access the above cmd if down/up is pressed again + --current_cmd_buffer_pos; // get ready to access the above cmd if down/up is pressed again } return false; break; diff --git a/quantum/process_keycode/process_ucis.c b/quantum/process_keycode/process_ucis.c index d084d2b66c6d..6a8d8f0ff6a4 100644 --- a/quantum/process_keycode/process_ucis.c +++ b/quantum/process_keycode/process_ucis.c @@ -27,7 +27,7 @@ void qk_ucis_start(void) { __attribute__((weak)) void qk_ucis_start_user(void) { unicode_input_start(); - register_hex(0x2328); // ⌨ + register_hex(0x2328); // ⌨ unicode_input_finish(); } diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index 7685bb1c9950..46b77e14bae5 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -54,7 +54,9 @@ void unicode_input_mode_init(void) { dprintf("Unicode input mode init to: %u\n", unicode_config.input_mode); } -uint8_t get_unicode_input_mode(void) { return unicode_config.input_mode; } +uint8_t get_unicode_input_mode(void) { + return unicode_config.input_mode; +} void set_unicode_input_mode(uint8_t mode) { unicode_config.input_mode = mode; @@ -76,7 +78,9 @@ void cycle_unicode_input_mode(int8_t offset) { #endif } -void persist_unicode_input_mode(void) { eeprom_update_byte(EECONFIG_UNICODEMODE, unicode_config.input_mode); } +void persist_unicode_input_mode(void) { + eeprom_update_byte(EECONFIG_UNICODEMODE, unicode_config.input_mode); +} __attribute__((weak)) void unicode_input_start(void) { unicode_saved_caps_lock = host_keyboard_led_state().caps_lock; @@ -90,8 +94,8 @@ __attribute__((weak)) void unicode_input_start(void) { tap_code(KC_CAPS_LOCK); } - unicode_saved_mods = get_mods(); // Save current mods - clear_mods(); // Unregister mods to start from a clean state + unicode_saved_mods = get_mods(); // Save current mods + clear_mods(); // Unregister mods to start from a clean state switch (unicode_config.input_mode) { case UC_MAC: @@ -140,7 +144,7 @@ __attribute__((weak)) void unicode_input_finish(void) { break; } - set_mods(unicode_saved_mods); // Reregister previously set mods + set_mods(unicode_saved_mods); // Reregister previously set mods } __attribute__((weak)) void unicode_input_cancel(void) { @@ -165,7 +169,7 @@ __attribute__((weak)) void unicode_input_cancel(void) { break; } - set_mods(unicode_saved_mods); // Reregister previously set mods + set_mods(unicode_saved_mods); // Reregister previously set mods } // clang-format off @@ -262,16 +266,16 @@ void send_unicode_hex_string(const char *str) { static const char *decode_utf8(const char *str, int32_t *code_point) { const char *next; - if (str[0] < 0x80) { // U+0000-007F + if (str[0] < 0x80) { // U+0000-007F *code_point = str[0]; next = str + 1; - } else if ((str[0] & 0xE0) == 0xC0) { // U+0080-07FF + } else if ((str[0] & 0xE0) == 0xC0) { // U+0080-07FF *code_point = ((int32_t)(str[0] & 0x1F) << 6) | ((int32_t)(str[1] & 0x3F) << 0); next = str + 2; - } else if ((str[0] & 0xF0) == 0xE0) { // U+0800-FFFF + } else if ((str[0] & 0xF0) == 0xE0) { // U+0800-FFFF *code_point = ((int32_t)(str[0] & 0x0F) << 12) | ((int32_t)(str[1] & 0x3F) << 6) | ((int32_t)(str[2] & 0x3F) << 0); next = str + 3; - } else if ((str[0] & 0xF8) == 0xF0 && (str[0] <= 0xF4)) { // U+10000-10FFFF + } else if ((str[0] & 0xF8) == 0xF0 && (str[0] <= 0xF4)) { // U+10000-10FFFF *code_point = ((int32_t)(str[0] & 0x07) << 18) | ((int32_t)(str[1] & 0x3F) << 12) | ((int32_t)(str[2] & 0x3F) << 6) | ((int32_t)(str[3] & 0x3F) << 0); next = str + 4; } else { diff --git a/quantum/process_keycode/process_unicode_common.h b/quantum/process_keycode/process_unicode_common.h index 72defb445eb1..1a6607c757d6 100644 --- a/quantum/process_keycode/process_unicode_common.h +++ b/quantum/process_keycode/process_unicode_common.h @@ -59,12 +59,12 @@ #define UC_OSX UC_MAC enum unicode_input_modes { - UC_MAC, // macOS using Unicode Hex Input - UC_LNX, // Linux using IBus - UC_WIN, // Windows using EnableHexNumpad - UC_BSD, // BSD (not implemented) - UC_WINC, // Windows using WinCompose (https://github.com/samhocevar/wincompose) - UC__COUNT // Number of available input modes (always leave at the end) + UC_MAC, // macOS using Unicode Hex Input + UC_LNX, // Linux using IBus + UC_WIN, // Windows using EnableHexNumpad + UC_BSD, // BSD (not implemented) + UC_WINC, // Windows using WinCompose (https://github.com/samhocevar/wincompose) + UC__COUNT // Number of available input modes (always leave at the end) }; typedef union { diff --git a/quantum/programmable_button.c b/quantum/programmable_button.c index be828fd17cd8..a3ef42d82ba2 100644 --- a/quantum/programmable_button.c +++ b/quantum/programmable_button.c @@ -22,16 +22,30 @@ along with this program. If not, see . static uint32_t programmable_button_report = 0; -void programmable_button_clear(void) { programmable_button_report = 0; } +void programmable_button_clear(void) { + programmable_button_report = 0; +} -void programmable_button_send(void) { host_programmable_button_send(programmable_button_report); } +void programmable_button_send(void) { + host_programmable_button_send(programmable_button_report); +} -void programmable_button_on(uint8_t index) { programmable_button_report |= REPORT_BIT(index); } +void programmable_button_on(uint8_t index) { + programmable_button_report |= REPORT_BIT(index); +} -void programmable_button_off(uint8_t index) { programmable_button_report &= ~REPORT_BIT(index); } +void programmable_button_off(uint8_t index) { + programmable_button_report &= ~REPORT_BIT(index); +} -bool programmable_button_is_on(uint8_t index) { return !!(programmable_button_report & REPORT_BIT(index)); }; +bool programmable_button_is_on(uint8_t index) { + return !!(programmable_button_report & REPORT_BIT(index)); +}; -uint32_t programmable_button_get_report(void) { return programmable_button_report; }; +uint32_t programmable_button_get_report(void) { + return programmable_button_report; +}; -void programmable_button_set_report(uint32_t report) { programmable_button_report = report; } +void programmable_button_set_report(uint32_t report) { + programmable_button_report = report; +} diff --git a/quantum/quantum.c b/quantum/quantum.c index fb6220efa268..dce41c08ae63 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -56,7 +56,7 @@ uint8_t extract_mod_bits(uint16_t code) { uint8_t mods_to_send = 0; - if (code & QK_RMODS_MIN) { // Right mod flag is set + if (code & QK_RMODS_MIN) { // Right mod flag is set if (code & QK_LCTL) mods_to_send |= MOD_BIT(KC_RIGHT_CTRL); if (code & QK_LSFT) mods_to_send |= MOD_BIT(KC_RIGHT_SHIFT); if (code & QK_LALT) mods_to_send |= MOD_BIT(KC_RIGHT_ALT); @@ -71,7 +71,9 @@ uint8_t extract_mod_bits(uint16_t code) { return mods_to_send; } -void do_code16(uint16_t code, void (*f)(uint8_t)) { f(extract_mod_bits(code)); } +void do_code16(uint16_t code, void (*f)(uint8_t)) { + f(extract_mod_bits(code)); +} __attribute__((weak)) void register_code16(uint16_t code) { if (IS_MOD(code) || code == KC_NO) { @@ -101,13 +103,21 @@ __attribute__((weak)) void tap_code16(uint16_t code) { unregister_code16(code); } -__attribute__((weak)) bool process_action_kb(keyrecord_t *record) { return true; } +__attribute__((weak)) bool process_action_kb(keyrecord_t *record) { + return true; +} -__attribute__((weak)) bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return process_record_user(keycode, record); } +__attribute__((weak)) bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + return process_record_user(keycode, record); +} -__attribute__((weak)) bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } +__attribute__((weak)) bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} -__attribute__((weak)) void post_process_record_kb(uint16_t keycode, keyrecord_t *record) { post_process_record_user(keycode, record); } +__attribute__((weak)) void post_process_record_kb(uint16_t keycode, keyrecord_t *record) { + post_process_record_user(keycode, record); +} __attribute__((weak)) void post_process_record_user(uint16_t keycode, keyrecord_t *record) {} @@ -123,7 +133,8 @@ void reset_keyboard(void) { uint16_t timer_start = timer_read(); PLAY_SONG(goodbye_song); shutdown_user(); - while (timer_elapsed(timer_start) < 250) wait_ms(1); + while (timer_elapsed(timer_start) < 250) + wait_ms(1); stop_all_notes(); #else shutdown_user(); @@ -178,7 +189,7 @@ bool pre_process_record_quantum(keyrecord_t *record) { true)) { return false; } - return true; // continue processing + return true; // continue processing } /* Get keycode, and then call keyboard function */ @@ -367,11 +378,17 @@ layer_state_t update_tri_layer_state(layer_state_t state, uint8_t layer1, uint8_ return (state & mask12) == mask12 ? (state | mask3) : (state & ~mask3); } -void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3) { layer_state_set(update_tri_layer_state(layer_state, layer1, layer2, layer3)); } +void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3) { + layer_state_set(update_tri_layer_state(layer_state, layer1, layer2, layer3)); +} // TODO: remove legacy api -void matrix_init_quantum() { matrix_init_kb(); } -void matrix_scan_quantum() { matrix_scan_kb(); } +void matrix_init_quantum() { + matrix_init_kb(); +} +void matrix_scan_quantum() { + matrix_scan_kb(); +} //------------------------------------------------------------------------------ // Override these functions in your keymap file to play different tunes on diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index b5b35667861f..2552c48165fd 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -77,421 +77,421 @@ enum quantum_keycodes { // Loose keycodes - to be used directly QK_BOOTLOADER = 0x5C00, - QK_DEBUG_TOGGLE, // 5C01 + QK_DEBUG_TOGGLE, // 5C01 // Magic - MAGIC_SWAP_CONTROL_CAPSLOCK, // 5C02 - MAGIC_CAPSLOCK_TO_CONTROL, // 5C03 - MAGIC_SWAP_LALT_LGUI, // 5C04 - MAGIC_SWAP_RALT_RGUI, // 5C05 - MAGIC_NO_GUI, // 5C06 - MAGIC_SWAP_GRAVE_ESC, // 5C07 - MAGIC_SWAP_BACKSLASH_BACKSPACE, // 5C08 - MAGIC_HOST_NKRO, // 5C09 - MAGIC_SWAP_ALT_GUI, // 5C0A - MAGIC_UNSWAP_CONTROL_CAPSLOCK, // 5C0B - MAGIC_UNCAPSLOCK_TO_CONTROL, // 5C0C - MAGIC_UNSWAP_LALT_LGUI, // 5C0D - MAGIC_UNSWAP_RALT_RGUI, // 5C0E - MAGIC_UNNO_GUI, // 5C0F - MAGIC_UNSWAP_GRAVE_ESC, // 5C10 - MAGIC_UNSWAP_BACKSLASH_BACKSPACE, // 5C11 - MAGIC_UNHOST_NKRO, // 5C12 - MAGIC_UNSWAP_ALT_GUI, // 5C13 - MAGIC_TOGGLE_NKRO, // 5C14 - MAGIC_TOGGLE_ALT_GUI, // 5C15 + MAGIC_SWAP_CONTROL_CAPSLOCK, // 5C02 + MAGIC_CAPSLOCK_TO_CONTROL, // 5C03 + MAGIC_SWAP_LALT_LGUI, // 5C04 + MAGIC_SWAP_RALT_RGUI, // 5C05 + MAGIC_NO_GUI, // 5C06 + MAGIC_SWAP_GRAVE_ESC, // 5C07 + MAGIC_SWAP_BACKSLASH_BACKSPACE, // 5C08 + MAGIC_HOST_NKRO, // 5C09 + MAGIC_SWAP_ALT_GUI, // 5C0A + MAGIC_UNSWAP_CONTROL_CAPSLOCK, // 5C0B + MAGIC_UNCAPSLOCK_TO_CONTROL, // 5C0C + MAGIC_UNSWAP_LALT_LGUI, // 5C0D + MAGIC_UNSWAP_RALT_RGUI, // 5C0E + MAGIC_UNNO_GUI, // 5C0F + MAGIC_UNSWAP_GRAVE_ESC, // 5C10 + MAGIC_UNSWAP_BACKSLASH_BACKSPACE, // 5C11 + MAGIC_UNHOST_NKRO, // 5C12 + MAGIC_UNSWAP_ALT_GUI, // 5C13 + MAGIC_TOGGLE_NKRO, // 5C14 + MAGIC_TOGGLE_ALT_GUI, // 5C15 // Grave Escape - QK_GRAVE_ESCAPE, // 5C16 + QK_GRAVE_ESCAPE, // 5C16 // Auto Shift - KC_ASUP, // 5C17 - KC_ASDN, // 5C18 - KC_ASRP, // 5C19 - KC_ASTG, // 5C1A - KC_ASON, // 5C1B - KC_ASOFF, // 5C1C + KC_ASUP, // 5C17 + KC_ASDN, // 5C18 + KC_ASRP, // 5C19 + KC_ASTG, // 5C1A + KC_ASON, // 5C1B + KC_ASOFF, // 5C1C // Audio - AU_ON, // 5C1D - AU_OFF, // 5C1E - AU_TOG, // 5C1F + AU_ON, // 5C1D + AU_OFF, // 5C1E + AU_TOG, // 5C1F // Audio Clicky - CLICKY_TOGGLE, // 5C20 - CLICKY_ENABLE, // 5C21 - CLICKY_DISABLE, // 5C22 - CLICKY_UP, // 5C23 - CLICKY_DOWN, // 5C24 - CLICKY_RESET, // 5C25 + CLICKY_TOGGLE, // 5C20 + CLICKY_ENABLE, // 5C21 + CLICKY_DISABLE, // 5C22 + CLICKY_UP, // 5C23 + CLICKY_DOWN, // 5C24 + CLICKY_RESET, // 5C25 // Music mode - MU_ON, // 5C26 - MU_OFF, // 5C27 - MU_TOG, // 5C28 - MU_MOD, // 5C29 - MUV_IN, // 5C2A - MUV_DE, // 5C2B + MU_ON, // 5C26 + MU_OFF, // 5C27 + MU_TOG, // 5C28 + MU_MOD, // 5C29 + MUV_IN, // 5C2A + MUV_DE, // 5C2B // MIDI - MI_ON, // 5C2C - MI_OFF, // 5C2D - MI_TOG, // 5C2E + MI_ON, // 5C2C + MI_OFF, // 5C2D + MI_TOG, // 5C2E - MI_C, // 5C2F - MI_Cs, // 5C30 + MI_C, // 5C2F + MI_Cs, // 5C30 MI_Db = MI_Cs, - MI_D, // 5C31 - MI_Ds, // 5C32 + MI_D, // 5C31 + MI_Ds, // 5C32 MI_Eb = MI_Ds, - MI_E, // 5C33 - MI_F, // 5C34 - MI_Fs, // 5C35 + MI_E, // 5C33 + MI_F, // 5C34 + MI_Fs, // 5C35 MI_Gb = MI_Fs, - MI_G, // 5C36 - MI_Gs, // 5C37 + MI_G, // 5C36 + MI_Gs, // 5C37 MI_Ab = MI_Gs, - MI_A, // 5C38 - MI_As, // 5C39 + MI_A, // 5C38 + MI_As, // 5C39 MI_Bb = MI_As, - MI_B, // 5C3A + MI_B, // 5C3A - MI_C_1, // 5C3B - MI_Cs_1, // 5C3C + MI_C_1, // 5C3B + MI_Cs_1, // 5C3C MI_Db_1 = MI_Cs_1, - MI_D_1, // 5C3D - MI_Ds_1, // 5C3E + MI_D_1, // 5C3D + MI_Ds_1, // 5C3E MI_Eb_1 = MI_Ds_1, - MI_E_1, // 5C3F - MI_F_1, // 5C40 - MI_Fs_1, // 5C41 + MI_E_1, // 5C3F + MI_F_1, // 5C40 + MI_Fs_1, // 5C41 MI_Gb_1 = MI_Fs_1, - MI_G_1, // 5C42 - MI_Gs_1, // 5C43 + MI_G_1, // 5C42 + MI_Gs_1, // 5C43 MI_Ab_1 = MI_Gs_1, - MI_A_1, // 5C44 - MI_As_1, // 5C45 + MI_A_1, // 5C44 + MI_As_1, // 5C45 MI_Bb_1 = MI_As_1, - MI_B_1, // 5C46 + MI_B_1, // 5C46 - MI_C_2, // 5C47 - MI_Cs_2, // 5C48 + MI_C_2, // 5C47 + MI_Cs_2, // 5C48 MI_Db_2 = MI_Cs_2, - MI_D_2, // 5C49 - MI_Ds_2, // 5C4A + MI_D_2, // 5C49 + MI_Ds_2, // 5C4A MI_Eb_2 = MI_Ds_2, - MI_E_2, // 5C4B - MI_F_2, // 5C4C - MI_Fs_2, // 5C4D + MI_E_2, // 5C4B + MI_F_2, // 5C4C + MI_Fs_2, // 5C4D MI_Gb_2 = MI_Fs_2, - MI_G_2, // 5C4E - MI_Gs_2, // 5C4F + MI_G_2, // 5C4E + MI_Gs_2, // 5C4F MI_Ab_2 = MI_Gs_2, - MI_A_2, // 5C50 - MI_As_2, // 5C51 + MI_A_2, // 5C50 + MI_As_2, // 5C51 MI_Bb_2 = MI_As_2, - MI_B_2, // 5C52 + MI_B_2, // 5C52 - MI_C_3, // 5C53 - MI_Cs_3, // 5C54 + MI_C_3, // 5C53 + MI_Cs_3, // 5C54 MI_Db_3 = MI_Cs_3, - MI_D_3, // 5C55 - MI_Ds_3, // 5C56 + MI_D_3, // 5C55 + MI_Ds_3, // 5C56 MI_Eb_3 = MI_Ds_3, - MI_E_3, // 5C57 - MI_F_3, // 5C58 - MI_Fs_3, // 5C59 + MI_E_3, // 5C57 + MI_F_3, // 5C58 + MI_Fs_3, // 5C59 MI_Gb_3 = MI_Fs_3, - MI_G_3, // 5C5A - MI_Gs_3, // 5C5B + MI_G_3, // 5C5A + MI_Gs_3, // 5C5B MI_Ab_3 = MI_Gs_3, - MI_A_3, // 5C5C - MI_As_3, // 5C5D + MI_A_3, // 5C5C + MI_As_3, // 5C5D MI_Bb_3 = MI_As_3, - MI_B_3, // 5C5E + MI_B_3, // 5C5E - MI_C_4, // 5C5F - MI_Cs_4, // 5C60 + MI_C_4, // 5C5F + MI_Cs_4, // 5C60 MI_Db_4 = MI_Cs_4, - MI_D_4, // 5C61 - MI_Ds_4, // 5C62 + MI_D_4, // 5C61 + MI_Ds_4, // 5C62 MI_Eb_4 = MI_Ds_4, - MI_E_4, // 5C63 - MI_F_4, // 5C64 - MI_Fs_4, // 5C65 + MI_E_4, // 5C63 + MI_F_4, // 5C64 + MI_Fs_4, // 5C65 MI_Gb_4 = MI_Fs_4, - MI_G_4, // 5C66 - MI_Gs_4, // 5C67 + MI_G_4, // 5C66 + MI_Gs_4, // 5C67 MI_Ab_4 = MI_Gs_4, - MI_A_4, // 5C68 - MI_As_4, // 5C69 + MI_A_4, // 5C68 + MI_As_4, // 5C69 MI_Bb_4 = MI_As_4, - MI_B_4, // 5C6A + MI_B_4, // 5C6A - MI_C_5, // 5C6B - MI_Cs_5, // 5C6C + MI_C_5, // 5C6B + MI_Cs_5, // 5C6C MI_Db_5 = MI_Cs_5, - MI_D_5, // 5C6D - MI_Ds_5, // 5C6E + MI_D_5, // 5C6D + MI_Ds_5, // 5C6E MI_Eb_5 = MI_Ds_5, - MI_E_5, // 5C6F - MI_F_5, // 5C70 - MI_Fs_5, // 5C71 + MI_E_5, // 5C6F + MI_F_5, // 5C70 + MI_Fs_5, // 5C71 MI_Gb_5 = MI_Fs_5, - MI_G_5, // 5C72 - MI_Gs_5, // 5C73 + MI_G_5, // 5C72 + MI_Gs_5, // 5C73 MI_Ab_5 = MI_Gs_5, - MI_A_5, // 5C74 - MI_As_5, // 5C75 + MI_A_5, // 5C74 + MI_As_5, // 5C75 MI_Bb_5 = MI_As_5, - MI_B_5, // 5C76 - - MI_OCT_N2, // 5C77 - MI_OCT_N1, // 5C78 - MI_OCT_0, // 5C79 - MI_OCT_1, // 5C7A - MI_OCT_2, // 5C7B - MI_OCT_3, // 5C7C - MI_OCT_4, // 5C7D - MI_OCT_5, // 5C7E - MI_OCT_6, // 5C7F - MI_OCT_7, // 5C80 - MI_OCTD, // 5C81 - MI_OCTU, // 5C82 - - MI_TRNS_N6, // 5C83 - MI_TRNS_N5, // 5C84 - MI_TRNS_N4, // 5C85 - MI_TRNS_N3, // 5C86 - MI_TRNS_N2, // 5C87 - MI_TRNS_N1, // 5C88 - MI_TRNS_0, // 5C89 - MI_TRNS_1, // 5C8A - MI_TRNS_2, // 5C8B - MI_TRNS_3, // 5C8C - MI_TRNS_4, // 5C8D - MI_TRNS_5, // 5C8E - MI_TRNS_6, // 5C8F - MI_TRNSD, // 5C90 - MI_TRNSU, // 5C91 - - MI_VEL_0, // 5C92 + MI_B_5, // 5C76 + + MI_OCT_N2, // 5C77 + MI_OCT_N1, // 5C78 + MI_OCT_0, // 5C79 + MI_OCT_1, // 5C7A + MI_OCT_2, // 5C7B + MI_OCT_3, // 5C7C + MI_OCT_4, // 5C7D + MI_OCT_5, // 5C7E + MI_OCT_6, // 5C7F + MI_OCT_7, // 5C80 + MI_OCTD, // 5C81 + MI_OCTU, // 5C82 + + MI_TRNS_N6, // 5C83 + MI_TRNS_N5, // 5C84 + MI_TRNS_N4, // 5C85 + MI_TRNS_N3, // 5C86 + MI_TRNS_N2, // 5C87 + MI_TRNS_N1, // 5C88 + MI_TRNS_0, // 5C89 + MI_TRNS_1, // 5C8A + MI_TRNS_2, // 5C8B + MI_TRNS_3, // 5C8C + MI_TRNS_4, // 5C8D + MI_TRNS_5, // 5C8E + MI_TRNS_6, // 5C8F + MI_TRNSD, // 5C90 + MI_TRNSU, // 5C91 + + MI_VEL_0, // 5C92 #ifdef VIA_ENABLE MI_VEL_1 = MI_VEL_0, #else - MI_VEL_1, // 5C93 + MI_VEL_1, // 5C93 #endif - MI_VEL_2, // 5C94 - MI_VEL_3, // 5C95 - MI_VEL_4, // 5C96 - MI_VEL_5, // 5C97 - MI_VEL_6, // 5C98 - MI_VEL_7, // 5C99 - MI_VEL_8, // 5C9A - MI_VEL_9, // 5C9B - MI_VEL_10, // 5C9C - MI_VELD, // 5C9D - MI_VELU, // 5C9E - - MI_CH1, // 5C9F - MI_CH2, // 5CA0 - MI_CH3, // 5CA1 - MI_CH4, // 5CA2 - MI_CH5, // 5CA3 - MI_CH6, // 5CA4 - MI_CH7, // 5CA5 - MI_CH8, // 5CA6 - MI_CH9, // 5CA7 - MI_CH10, // 5CA8 - MI_CH11, // 5CA9 - MI_CH12, // 5CAA - MI_CH13, // 5CAB - MI_CH14, // 5CAC - MI_CH15, // 5CAD - MI_CH16, // 5CAE - MI_CHD, // 5CAF - MI_CHU, // 5CB0 - - MI_ALLOFF, // 5CB1 - - MI_SUS, // 5CB2 - MI_PORT, // 5CB3 - MI_SOST, // 5CB4 - MI_SOFT, // 5CB5 - MI_LEG, // 5CB6 - - MI_MOD, // 5CB7 - MI_MODSD, // 5CB8 - MI_MODSU, // 5CB9 - - MI_BENDD, // 5CBA - MI_BENDU, // 5CBB + MI_VEL_2, // 5C94 + MI_VEL_3, // 5C95 + MI_VEL_4, // 5C96 + MI_VEL_5, // 5C97 + MI_VEL_6, // 5C98 + MI_VEL_7, // 5C99 + MI_VEL_8, // 5C9A + MI_VEL_9, // 5C9B + MI_VEL_10, // 5C9C + MI_VELD, // 5C9D + MI_VELU, // 5C9E + + MI_CH1, // 5C9F + MI_CH2, // 5CA0 + MI_CH3, // 5CA1 + MI_CH4, // 5CA2 + MI_CH5, // 5CA3 + MI_CH6, // 5CA4 + MI_CH7, // 5CA5 + MI_CH8, // 5CA6 + MI_CH9, // 5CA7 + MI_CH10, // 5CA8 + MI_CH11, // 5CA9 + MI_CH12, // 5CAA + MI_CH13, // 5CAB + MI_CH14, // 5CAC + MI_CH15, // 5CAD + MI_CH16, // 5CAE + MI_CHD, // 5CAF + MI_CHU, // 5CB0 + + MI_ALLOFF, // 5CB1 + + MI_SUS, // 5CB2 + MI_PORT, // 5CB3 + MI_SOST, // 5CB4 + MI_SOFT, // 5CB5 + MI_LEG, // 5CB6 + + MI_MOD, // 5CB7 + MI_MODSD, // 5CB8 + MI_MODSU, // 5CB9 + + MI_BENDD, // 5CBA + MI_BENDU, // 5CBB // Backlight - BL_ON, // 5CBC - BL_OFF, // 5CBD - BL_DEC, // 5CBE - BL_INC, // 5CBF - BL_TOGG, // 5CC0 - BL_STEP, // 5CC1 - BL_BRTG, // 5CC2 + BL_ON, // 5CBC + BL_OFF, // 5CBD + BL_DEC, // 5CBE + BL_INC, // 5CBF + BL_TOGG, // 5CC0 + BL_STEP, // 5CC1 + BL_BRTG, // 5CC2 // RGB underglow/matrix - RGB_TOG, // 5CC3 - RGB_MODE_FORWARD, // 5CC4 - RGB_MODE_REVERSE, // 5CC5 - RGB_HUI, // 5CC6 - RGB_HUD, // 5CC7 - RGB_SAI, // 5CC8 - RGB_SAD, // 5CC9 - RGB_VAI, // 5CCA - RGB_VAD, // 5CCB - RGB_SPI, // 5CCC - RGB_SPD, // 5CCD - RGB_MODE_PLAIN, // 5CCE - RGB_MODE_BREATHE, // 5CCF - RGB_MODE_RAINBOW, // 5CD0 - RGB_MODE_SWIRL, // 5CD1 - RGB_MODE_SNAKE, // 5CD2 - RGB_MODE_KNIGHT, // 5CD3 - RGB_MODE_XMAS, // 5CD4 - RGB_MODE_GRADIENT, // 5CD5 - RGB_MODE_RGBTEST, // 5CD6 + RGB_TOG, // 5CC3 + RGB_MODE_FORWARD, // 5CC4 + RGB_MODE_REVERSE, // 5CC5 + RGB_HUI, // 5CC6 + RGB_HUD, // 5CC7 + RGB_SAI, // 5CC8 + RGB_SAD, // 5CC9 + RGB_VAI, // 5CCA + RGB_VAD, // 5CCB + RGB_SPI, // 5CCC + RGB_SPD, // 5CCD + RGB_MODE_PLAIN, // 5CCE + RGB_MODE_BREATHE, // 5CCF + RGB_MODE_RAINBOW, // 5CD0 + RGB_MODE_SWIRL, // 5CD1 + RGB_MODE_SNAKE, // 5CD2 + RGB_MODE_KNIGHT, // 5CD3 + RGB_MODE_XMAS, // 5CD4 + RGB_MODE_GRADIENT, // 5CD5 + RGB_MODE_RGBTEST, // 5CD6 // Velocikey - VLK_TOG, // 5CD7 + VLK_TOG, // 5CD7 // Space Cadet - KC_LSPO, // 5CD8 - KC_RSPC, // 5CD9 - KC_SFTENT, // 5CDA + KC_LSPO, // 5CD8 + KC_RSPC, // 5CD9 + KC_SFTENT, // 5CDA // Thermal Printer - PRINT_ON, // 5CDB - PRINT_OFF, // 5CDC + PRINT_ON, // 5CDB + PRINT_OFF, // 5CDC // Bluetooth: output selection - OUT_AUTO, // 5CDD - OUT_USB, // 5CDE + OUT_AUTO, // 5CDD + OUT_USB, // 5CDE // Clear EEPROM - QK_CLEAR_EEPROM, // 5CDF + QK_CLEAR_EEPROM, // 5CDF // Unicode - UNICODE_MODE_FORWARD, // 5CE0 - UNICODE_MODE_REVERSE, // 5CE1 - UNICODE_MODE_MAC, // 5CE2 - UNICODE_MODE_LNX, // 5CE3 - UNICODE_MODE_WIN, // 5CE4 - UNICODE_MODE_BSD, // 5CE5 - UNICODE_MODE_WINC, // 5CE6 + UNICODE_MODE_FORWARD, // 5CE0 + UNICODE_MODE_REVERSE, // 5CE1 + UNICODE_MODE_MAC, // 5CE2 + UNICODE_MODE_LNX, // 5CE3 + UNICODE_MODE_WIN, // 5CE4 + UNICODE_MODE_BSD, // 5CE5 + UNICODE_MODE_WINC, // 5CE6 // Haptic - HPT_ON, // 5CE7 - HPT_OFF, // 5CE8 - HPT_TOG, // 5CE9 - HPT_RST, // 5CEA - HPT_FBK, // 5CEB - HPT_BUZ, // 5CEC - HPT_MODI, // 5CED - HPT_MODD, // 5CEE - HPT_CONT, // 5CEF - HPT_CONI, // 5CF0 - HPT_COND, // 5CF1 - HPT_DWLI, // 5CF2 - HPT_DWLD, // 5CF3 + HPT_ON, // 5CE7 + HPT_OFF, // 5CE8 + HPT_TOG, // 5CE9 + HPT_RST, // 5CEA + HPT_FBK, // 5CEB + HPT_BUZ, // 5CEC + HPT_MODI, // 5CED + HPT_MODD, // 5CEE + HPT_CONT, // 5CEF + HPT_CONI, // 5CF0 + HPT_COND, // 5CF1 + HPT_DWLI, // 5CF2 + HPT_DWLD, // 5CF3 // Space Cadet (continued) - KC_LCPO, // 5CF4 - KC_RCPC, // 5CF5 - KC_LAPO, // 5CF6 - KC_RAPC, // 5CF7 + KC_LCPO, // 5CF4 + KC_RCPC, // 5CF5 + KC_LAPO, // 5CF6 + KC_RAPC, // 5CF7 // Combos - CMB_ON, // 5CF8 - CMB_OFF, // 5CF9 - CMB_TOG, // 5CFA + CMB_ON, // 5CF8 + CMB_OFF, // 5CF9 + CMB_TOG, // 5CFA // Magic (continued) - MAGIC_SWAP_LCTL_LGUI, // 5CFB - MAGIC_SWAP_RCTL_RGUI, // 5CFC - MAGIC_UNSWAP_LCTL_LGUI, // 5CFD - MAGIC_UNSWAP_RCTL_RGUI, // 5CFE - MAGIC_SWAP_CTL_GUI, // 5CFF - MAGIC_UNSWAP_CTL_GUI, // 5D00 - MAGIC_TOGGLE_CTL_GUI, // 5D01 - MAGIC_EE_HANDS_LEFT, // 5D02 - MAGIC_EE_HANDS_RIGHT, // 5D03 + MAGIC_SWAP_LCTL_LGUI, // 5CFB + MAGIC_SWAP_RCTL_RGUI, // 5CFC + MAGIC_UNSWAP_LCTL_LGUI, // 5CFD + MAGIC_UNSWAP_RCTL_RGUI, // 5CFE + MAGIC_SWAP_CTL_GUI, // 5CFF + MAGIC_UNSWAP_CTL_GUI, // 5D00 + MAGIC_TOGGLE_CTL_GUI, // 5D01 + MAGIC_EE_HANDS_LEFT, // 5D02 + MAGIC_EE_HANDS_RIGHT, // 5D03 // Dynamic Macros - DYN_REC_START1, // 5D04 - DYN_REC_START2, // 5D05 - DYN_REC_STOP, // 5D06 - DYN_MACRO_PLAY1, // 5D07 - DYN_MACRO_PLAY2, // 5D08 + DYN_REC_START1, // 5D04 + DYN_REC_START2, // 5D05 + DYN_REC_STOP, // 5D06 + DYN_MACRO_PLAY1, // 5D07 + DYN_MACRO_PLAY2, // 5D08 // Joystick - JS_BUTTON0, // 5D09 - JS_BUTTON1, // 5D0A - JS_BUTTON2, // 5D0B - JS_BUTTON3, // 5D0C - JS_BUTTON4, // 5D0D - JS_BUTTON5, // 5D0E - JS_BUTTON6, // 5D0F - JS_BUTTON7, // 5D10 - JS_BUTTON8, // 5D11 - JS_BUTTON9, // 5D12 - JS_BUTTON10, // 5D13 - JS_BUTTON11, // 5D14 - JS_BUTTON12, // 5D15 - JS_BUTTON13, // 5D16 - JS_BUTTON14, // 5D17 - JS_BUTTON15, // 5D18 - JS_BUTTON16, // 5D19 - JS_BUTTON17, // 5D1A - JS_BUTTON18, // 5D1B - JS_BUTTON19, // 5D1C - JS_BUTTON20, // 5D1D - JS_BUTTON21, // 5D1E - JS_BUTTON22, // 5D1F - JS_BUTTON23, // 5D20 - JS_BUTTON24, // 5D21 - JS_BUTTON25, // 5D22 - JS_BUTTON26, // 5D23 - JS_BUTTON27, // 5D24 - JS_BUTTON28, // 5D25 - JS_BUTTON29, // 5D26 - JS_BUTTON30, // 5D27 - JS_BUTTON31, // 5D28 + JS_BUTTON0, // 5D09 + JS_BUTTON1, // 5D0A + JS_BUTTON2, // 5D0B + JS_BUTTON3, // 5D0C + JS_BUTTON4, // 5D0D + JS_BUTTON5, // 5D0E + JS_BUTTON6, // 5D0F + JS_BUTTON7, // 5D10 + JS_BUTTON8, // 5D11 + JS_BUTTON9, // 5D12 + JS_BUTTON10, // 5D13 + JS_BUTTON11, // 5D14 + JS_BUTTON12, // 5D15 + JS_BUTTON13, // 5D16 + JS_BUTTON14, // 5D17 + JS_BUTTON15, // 5D18 + JS_BUTTON16, // 5D19 + JS_BUTTON17, // 5D1A + JS_BUTTON18, // 5D1B + JS_BUTTON19, // 5D1C + JS_BUTTON20, // 5D1D + JS_BUTTON21, // 5D1E + JS_BUTTON22, // 5D1F + JS_BUTTON23, // 5D20 + JS_BUTTON24, // 5D21 + JS_BUTTON25, // 5D22 + JS_BUTTON26, // 5D23 + JS_BUTTON27, // 5D24 + JS_BUTTON28, // 5D25 + JS_BUTTON29, // 5D26 + JS_BUTTON30, // 5D27 + JS_BUTTON31, // 5D28 // Leader Key - KC_LEAD, // 5D29 + KC_LEAD, // 5D29 // Bluetooth: output selection (continued) - OUT_BT, // 5D2A + OUT_BT, // 5D2A // Lock Key - KC_LOCK, // 5D2B + KC_LOCK, // 5D2B // Terminal - TERM_ON, // 5D2C - TERM_OFF, // 5D2D + TERM_ON, // 5D2C + TERM_OFF, // 5D2D // Sequencer - SQ_ON, // 5D2E - SQ_OFF, // 5D2F - SQ_TOG, // 5D30 + SQ_ON, // 5D2E + SQ_OFF, // 5D2F + SQ_TOG, // 5D30 - SQ_TMPD, // 5D31 - SQ_TMPU, // 5D32 + SQ_TMPD, // 5D31 + SQ_TMPU, // 5D32 - SQ_RESD, // 5D33 - SQ_RESU, // 5D34 + SQ_RESD, // 5D33 + SQ_RESU, // 5D34 - SQ_SALL, // 5D35 - SQ_SCLR, // 5D36 + SQ_SALL, // 5D35 + SQ_SCLR, // 5D36 - SEQUENCER_STEP_MIN, // 5D37 + SEQUENCER_STEP_MIN, // 5D37 SEQUENCER_STEP_MAX = SEQUENCER_STEP_MIN + SEQUENCER_STEPS, SEQUENCER_RESOLUTION_MIN, @@ -636,69 +636,69 @@ enum quantum_keycodes { #define MOD_MEH 0x7 // US ANSI shifted keycode aliases -#define KC_TILDE LSFT(KC_GRAVE) // ~ +#define KC_TILDE LSFT(KC_GRAVE) // ~ #define KC_TILD KC_TILDE -#define KC_EXCLAIM LSFT(KC_1) // ! +#define KC_EXCLAIM LSFT(KC_1) // ! #define KC_EXLM KC_EXCLAIM -#define KC_AT LSFT(KC_2) // @ +#define KC_AT LSFT(KC_2) // @ -#define KC_HASH LSFT(KC_3) // # +#define KC_HASH LSFT(KC_3) // # -#define KC_DOLLAR LSFT(KC_4) // $ +#define KC_DOLLAR LSFT(KC_4) // $ #define KC_DLR KC_DOLLAR -#define KC_PERCENT LSFT(KC_5) // % +#define KC_PERCENT LSFT(KC_5) // % #define KC_PERC KC_PERCENT -#define KC_CIRCUMFLEX LSFT(KC_6) // ^ +#define KC_CIRCUMFLEX LSFT(KC_6) // ^ #define KC_CIRC KC_CIRCUMFLEX -#define KC_AMPERSAND LSFT(KC_7) // & +#define KC_AMPERSAND LSFT(KC_7) // & #define KC_AMPR KC_AMPERSAND -#define KC_ASTERISK LSFT(KC_8) // * +#define KC_ASTERISK LSFT(KC_8) // * #define KC_ASTR KC_ASTERISK -#define KC_LEFT_PAREN LSFT(KC_9) // ( +#define KC_LEFT_PAREN LSFT(KC_9) // ( #define KC_LPRN KC_LEFT_PAREN -#define KC_RIGHT_PAREN LSFT(KC_0) // ) +#define KC_RIGHT_PAREN LSFT(KC_0) // ) #define KC_RPRN KC_RIGHT_PAREN -#define KC_UNDERSCORE LSFT(KC_MINUS) // _ +#define KC_UNDERSCORE LSFT(KC_MINUS) // _ #define KC_UNDS KC_UNDERSCORE -#define KC_PLUS LSFT(KC_EQUAL) // + +#define KC_PLUS LSFT(KC_EQUAL) // + -#define KC_LEFT_CURLY_BRACE LSFT(KC_LEFT_BRACKET) // { +#define KC_LEFT_CURLY_BRACE LSFT(KC_LEFT_BRACKET) // { #define KC_LCBR KC_LEFT_CURLY_BRACE -#define KC_RIGHT_CURLY_BRACE LSFT(KC_RIGHT_BRACKET) // } +#define KC_RIGHT_CURLY_BRACE LSFT(KC_RIGHT_BRACKET) // } #define KC_RCBR KC_RIGHT_CURLY_BRACE -#define KC_LEFT_ANGLE_BRACKET LSFT(KC_COMMA) // < +#define KC_LEFT_ANGLE_BRACKET LSFT(KC_COMMA) // < #define KC_LABK KC_LEFT_ANGLE_BRACKET #define KC_LT KC_LEFT_ANGLE_BRACKET -#define KC_RIGHT_ANGLE_BRACKET LSFT(KC_DOT) // > +#define KC_RIGHT_ANGLE_BRACKET LSFT(KC_DOT) // > #define KC_RABK KC_RIGHT_ANGLE_BRACKET #define KC_GT KC_RIGHT_ANGLE_BRACKET -#define KC_COLON LSFT(KC_SEMICOLON) // : +#define KC_COLON LSFT(KC_SEMICOLON) // : #define KC_COLN KC_COLON -#define KC_PIPE LSFT(KC_BACKSLASH) // | +#define KC_PIPE LSFT(KC_BACKSLASH) // | -#define KC_QUESTION LSFT(KC_SLASH) // ? +#define KC_QUESTION LSFT(KC_SLASH) // ? #define KC_QUES KC_QUESTION -#define KC_DOUBLE_QUOTE LSFT(KC_QUOTE) // " +#define KC_DOUBLE_QUOTE LSFT(KC_QUOTE) // " #define KC_DQUO KC_DOUBLE_QUOTE #define KC_DQT KC_DOUBLE_QUOTE -#define KC_DELT KC_DELETE // Del key (four letter code) +#define KC_DELT KC_DELETE // Del key (four letter code) // Modified keycode aliases #define C(kc) LCTL(kc) @@ -841,22 +841,22 @@ enum quantum_keycodes { #define CMD_T(kc) LCMD_T(kc) #define WIN_T(kc) LWIN_T(kc) -#define C_S_T(kc) MT(MOD_LCTL | MOD_LSFT, kc) // Left Control + Shift e.g. for gnome-terminal -#define MEH_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT, kc) // Meh is a less hyper version of the Hyper key -- doesn't include GUI, so just Left Control + Shift + Alt -#define LCAG_T(kc) MT(MOD_LCTL | MOD_LALT | MOD_LGUI, kc) // Left Control + Alt + GUI -#define RCAG_T(kc) MT(MOD_RCTL | MOD_RALT | MOD_RGUI, kc) // Right Control + Alt + GUI -#define HYPR_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI, kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/ -#define LSG_T(kc) MT(MOD_LSFT | MOD_LGUI, kc) // Left Shift + GUI +#define C_S_T(kc) MT(MOD_LCTL | MOD_LSFT, kc) // Left Control + Shift e.g. for gnome-terminal +#define MEH_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT, kc) // Meh is a less hyper version of the Hyper key -- doesn't include GUI, so just Left Control + Shift + Alt +#define LCAG_T(kc) MT(MOD_LCTL | MOD_LALT | MOD_LGUI, kc) // Left Control + Alt + GUI +#define RCAG_T(kc) MT(MOD_RCTL | MOD_RALT | MOD_RGUI, kc) // Right Control + Alt + GUI +#define HYPR_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI, kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/ +#define LSG_T(kc) MT(MOD_LSFT | MOD_LGUI, kc) // Left Shift + GUI #define SGUI_T(kc) LSG_T(kc) #define SCMD_T(kc) LSG_T(kc) #define SWIN_T(kc) LSG_T(kc) -#define LAG_T(kc) MT(MOD_LALT | MOD_LGUI, kc) // Left Alt + GUI -#define RSG_T(kc) MT(MOD_RSFT | MOD_RGUI, kc) // Right Shift + GUI -#define RAG_T(kc) MT(MOD_RALT | MOD_RGUI, kc) // Right Alt + GUI -#define LCA_T(kc) MT(MOD_LCTL | MOD_LALT, kc) // Left Control + Alt -#define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc) // Left Shift + Alt -#define RSA_T(kc) MT(MOD_RSFT | MOD_RALT, kc) // Right Shift + Alt -#define RCS_T(kc) MT(MOD_RCTL | MOD_RSFT, kc) // Right Control + Shift +#define LAG_T(kc) MT(MOD_LALT | MOD_LGUI, kc) // Left Alt + GUI +#define RSG_T(kc) MT(MOD_RSFT | MOD_RGUI, kc) // Right Shift + GUI +#define RAG_T(kc) MT(MOD_RALT | MOD_RGUI, kc) // Right Alt + GUI +#define LCA_T(kc) MT(MOD_LCTL | MOD_LALT, kc) // Left Control + Alt +#define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc) // Left Shift + Alt +#define RSA_T(kc) MT(MOD_RSFT | MOD_RALT, kc) // Right Shift + Alt +#define RCS_T(kc) MT(MOD_RCTL | MOD_RSFT, kc) // Right Control + Shift #define SAGR_T(kc) RSA_T(kc) #define ALL_T(kc) HYPR_T(kc) @@ -870,14 +870,14 @@ enum quantum_keycodes { #define UC(c) (QK_UNICODE | (c)) // UNICODEMAP_ENABLE - Allows Unicode input up to 0x10FFFF, requires unicode_map #define X(i) (QK_UNICODEMAP | (i)) -#define XP(i, j) (QK_UNICODEMAP_PAIR | ((i)&0x7F) | (((j)&0x7F) << 7)) // 127 max i and j +#define XP(i, j) (QK_UNICODEMAP_PAIR | ((i)&0x7F) | (((j)&0x7F) << 7)) // 127 max i and j #define UC_MOD UNICODE_MODE_FORWARD #define UC_RMOD UNICODE_MODE_REVERSE #define UC_M_MA UNICODE_MODE_MAC -#define UNICODE_MODE_OSX UNICODE_MODE_MAC // Deprecated alias -#define UC_M_OS UNICODE_MODE_MAC // Deprecated alias +#define UNICODE_MODE_OSX UNICODE_MODE_MAC // Deprecated alias +#define UC_M_OS UNICODE_MODE_MAC // Deprecated alias #define UC_M_LN UNICODE_MODE_LNX #define UC_M_WI UNICODE_MODE_WIN #define UC_M_BS UNICODE_MODE_BSD diff --git a/quantum/rgb_matrix/animations/alpha_mods_anim.h b/quantum/rgb_matrix/animations/alpha_mods_anim.h index d6136f1ba470..59b8381d6984 100644 --- a/quantum/rgb_matrix/animations/alpha_mods_anim.h +++ b/quantum/rgb_matrix/animations/alpha_mods_anim.h @@ -22,5 +22,5 @@ bool ALPHAS_MODS(effect_params_t* params) { return rgb_matrix_check_finished_leds(led_max); } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_ALPHAS_MODS +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/quantum/rgb_matrix/animations/breathing_anim.h b/quantum/rgb_matrix/animations/breathing_anim.h index 29187e1543e7..e9a3c96e1bb8 100644 --- a/quantum/rgb_matrix/animations/breathing_anim.h +++ b/quantum/rgb_matrix/animations/breathing_anim.h @@ -16,5 +16,5 @@ bool BREATHING(effect_params_t* params) { return rgb_matrix_check_finished_leds(led_max); } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_BREATHING +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_BREATHING diff --git a/quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h b/quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h index 0375d4937de0..06aa8b5ed5f4 100644 --- a/quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h +++ b/quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h @@ -7,7 +7,9 @@ static HSV BAND_PINWHEEL_SAT_math(HSV hsv, int16_t dx, int16_t dy, uint8_t time) return hsv; } -bool BAND_PINWHEEL_SAT(effect_params_t* params) { return effect_runner_dx_dy(params, &BAND_PINWHEEL_SAT_math); } +bool BAND_PINWHEEL_SAT(effect_params_t* params) { + return effect_runner_dx_dy(params, &BAND_PINWHEEL_SAT_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT diff --git a/quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h b/quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h index e40bf4cd1f2f..bcbc31949814 100644 --- a/quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h +++ b/quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h @@ -7,7 +7,9 @@ static HSV BAND_PINWHEEL_VAL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t time) return hsv; } -bool BAND_PINWHEEL_VAL(effect_params_t* params) { return effect_runner_dx_dy(params, &BAND_PINWHEEL_VAL_math); } +bool BAND_PINWHEEL_VAL(effect_params_t* params) { + return effect_runner_dx_dy(params, &BAND_PINWHEEL_VAL_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL diff --git a/quantum/rgb_matrix/animations/colorband_sat_anim.h b/quantum/rgb_matrix/animations/colorband_sat_anim.h index 1c4f7de575a6..cb0897ad3e9a 100644 --- a/quantum/rgb_matrix/animations/colorband_sat_anim.h +++ b/quantum/rgb_matrix/animations/colorband_sat_anim.h @@ -8,7 +8,9 @@ static HSV BAND_SAT_math(HSV hsv, uint8_t i, uint8_t time) { return hsv; } -bool BAND_SAT(effect_params_t* params) { return effect_runner_i(params, &BAND_SAT_math); } +bool BAND_SAT(effect_params_t* params) { + return effect_runner_i(params, &BAND_SAT_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_BAND_SAT +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_BAND_SAT diff --git a/quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h b/quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h index cdd02b37974b..d26eb378558a 100644 --- a/quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h +++ b/quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h @@ -7,7 +7,9 @@ static HSV BAND_SPIRAL_SAT_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, u return hsv; } -bool BAND_SPIRAL_SAT(effect_params_t* params) { return effect_runner_dx_dy_dist(params, &BAND_SPIRAL_SAT_math); } +bool BAND_SPIRAL_SAT(effect_params_t* params) { + return effect_runner_dx_dy_dist(params, &BAND_SPIRAL_SAT_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT diff --git a/quantum/rgb_matrix/animations/colorband_spiral_val_anim.h b/quantum/rgb_matrix/animations/colorband_spiral_val_anim.h index e1331eaebe86..3ae34bb6f097 100644 --- a/quantum/rgb_matrix/animations/colorband_spiral_val_anim.h +++ b/quantum/rgb_matrix/animations/colorband_spiral_val_anim.h @@ -7,7 +7,9 @@ static HSV BAND_SPIRAL_VAL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, u return hsv; } -bool BAND_SPIRAL_VAL(effect_params_t* params) { return effect_runner_dx_dy_dist(params, &BAND_SPIRAL_VAL_math); } +bool BAND_SPIRAL_VAL(effect_params_t* params) { + return effect_runner_dx_dy_dist(params, &BAND_SPIRAL_VAL_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL diff --git a/quantum/rgb_matrix/animations/colorband_val_anim.h b/quantum/rgb_matrix/animations/colorband_val_anim.h index 02ee4add6724..69c29f53a355 100644 --- a/quantum/rgb_matrix/animations/colorband_val_anim.h +++ b/quantum/rgb_matrix/animations/colorband_val_anim.h @@ -8,7 +8,9 @@ static HSV BAND_VAL_math(HSV hsv, uint8_t i, uint8_t time) { return hsv; } -bool BAND_VAL(effect_params_t* params) { return effect_runner_i(params, &BAND_VAL_math); } +bool BAND_VAL(effect_params_t* params) { + return effect_runner_i(params, &BAND_VAL_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_BAND_VAL +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_BAND_VAL diff --git a/quantum/rgb_matrix/animations/cycle_all_anim.h b/quantum/rgb_matrix/animations/cycle_all_anim.h index 3b73b9d385aa..d8c7220d95e7 100644 --- a/quantum/rgb_matrix/animations/cycle_all_anim.h +++ b/quantum/rgb_matrix/animations/cycle_all_anim.h @@ -7,7 +7,9 @@ static HSV CYCLE_ALL_math(HSV hsv, uint8_t i, uint8_t time) { return hsv; } -bool CYCLE_ALL(effect_params_t* params) { return effect_runner_i(params, &CYCLE_ALL_math); } +bool CYCLE_ALL(effect_params_t* params) { + return effect_runner_i(params, &CYCLE_ALL_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_CYCLE_ALL +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_CYCLE_ALL diff --git a/quantum/rgb_matrix/animations/cycle_left_right_anim.h b/quantum/rgb_matrix/animations/cycle_left_right_anim.h index bf6a57406969..84c2127aff9a 100644 --- a/quantum/rgb_matrix/animations/cycle_left_right_anim.h +++ b/quantum/rgb_matrix/animations/cycle_left_right_anim.h @@ -7,7 +7,9 @@ static HSV CYCLE_LEFT_RIGHT_math(HSV hsv, uint8_t i, uint8_t time) { return hsv; } -bool CYCLE_LEFT_RIGHT(effect_params_t* params) { return effect_runner_i(params, &CYCLE_LEFT_RIGHT_math); } +bool CYCLE_LEFT_RIGHT(effect_params_t* params) { + return effect_runner_i(params, &CYCLE_LEFT_RIGHT_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT diff --git a/quantum/rgb_matrix/animations/cycle_out_in_anim.h b/quantum/rgb_matrix/animations/cycle_out_in_anim.h index 2bdb9d9375a5..9513fe959344 100644 --- a/quantum/rgb_matrix/animations/cycle_out_in_anim.h +++ b/quantum/rgb_matrix/animations/cycle_out_in_anim.h @@ -7,7 +7,9 @@ static HSV CYCLE_OUT_IN_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint return hsv; } -bool CYCLE_OUT_IN(effect_params_t* params) { return effect_runner_dx_dy_dist(params, &CYCLE_OUT_IN_math); } +bool CYCLE_OUT_IN(effect_params_t* params) { + return effect_runner_dx_dy_dist(params, &CYCLE_OUT_IN_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_CYCLE_OUT_IN diff --git a/quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h b/quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h index 51979c44feed..3cca45f27a57 100644 --- a/quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h +++ b/quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h @@ -9,7 +9,9 @@ static HSV CYCLE_OUT_IN_DUAL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t time) return hsv; } -bool CYCLE_OUT_IN_DUAL(effect_params_t* params) { return effect_runner_dx_dy(params, &CYCLE_OUT_IN_DUAL_math); } +bool CYCLE_OUT_IN_DUAL(effect_params_t* params) { + return effect_runner_dx_dy(params, &CYCLE_OUT_IN_DUAL_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL diff --git a/quantum/rgb_matrix/animations/cycle_pinwheel_anim.h b/quantum/rgb_matrix/animations/cycle_pinwheel_anim.h index 10ba2b7c2c78..de5993992cbe 100644 --- a/quantum/rgb_matrix/animations/cycle_pinwheel_anim.h +++ b/quantum/rgb_matrix/animations/cycle_pinwheel_anim.h @@ -7,7 +7,9 @@ static HSV CYCLE_PINWHEEL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { return hsv; } -bool CYCLE_PINWHEEL(effect_params_t* params) { return effect_runner_dx_dy(params, &CYCLE_PINWHEEL_math); } +bool CYCLE_PINWHEEL(effect_params_t* params) { + return effect_runner_dx_dy(params, &CYCLE_PINWHEEL_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_CYCLE_PINWHEEL diff --git a/quantum/rgb_matrix/animations/cycle_spiral_anim.h b/quantum/rgb_matrix/animations/cycle_spiral_anim.h index 482c7e7da63c..904450179eb1 100644 --- a/quantum/rgb_matrix/animations/cycle_spiral_anim.h +++ b/quantum/rgb_matrix/animations/cycle_spiral_anim.h @@ -7,7 +7,9 @@ static HSV CYCLE_SPIRAL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint return hsv; } -bool CYCLE_SPIRAL(effect_params_t* params) { return effect_runner_dx_dy_dist(params, &CYCLE_SPIRAL_math); } +bool CYCLE_SPIRAL(effect_params_t* params) { + return effect_runner_dx_dy_dist(params, &CYCLE_SPIRAL_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_CYCLE_SPIRAL diff --git a/quantum/rgb_matrix/animations/cycle_up_down_anim.h b/quantum/rgb_matrix/animations/cycle_up_down_anim.h index 277edccb2f12..dce05fecff0c 100644 --- a/quantum/rgb_matrix/animations/cycle_up_down_anim.h +++ b/quantum/rgb_matrix/animations/cycle_up_down_anim.h @@ -7,7 +7,9 @@ static HSV CYCLE_UP_DOWN_math(HSV hsv, uint8_t i, uint8_t time) { return hsv; } -bool CYCLE_UP_DOWN(effect_params_t* params) { return effect_runner_i(params, &CYCLE_UP_DOWN_math); } +bool CYCLE_UP_DOWN(effect_params_t* params) { + return effect_runner_i(params, &CYCLE_UP_DOWN_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_CYCLE_UP_DOWN diff --git a/quantum/rgb_matrix/animations/digital_rain_anim.h b/quantum/rgb_matrix/animations/digital_rain_anim.h index 8ce8fd7039bb..4633145ff6bd 100644 --- a/quantum/rgb_matrix/animations/digital_rain_anim.h +++ b/quantum/rgb_matrix/animations/digital_rain_anim.h @@ -71,5 +71,5 @@ bool DIGITAL_RAIN(effect_params_t* params) { return false; } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && !defined(ENABLE_RGB_MATRIX_DIGITAL_RAIN) +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && !defined(ENABLE_RGB_MATRIX_DIGITAL_RAIN) diff --git a/quantum/rgb_matrix/animations/dual_beacon_anim.h b/quantum/rgb_matrix/animations/dual_beacon_anim.h index dbe9b3ecf166..5585015b8694 100644 --- a/quantum/rgb_matrix/animations/dual_beacon_anim.h +++ b/quantum/rgb_matrix/animations/dual_beacon_anim.h @@ -7,7 +7,9 @@ static HSV DUAL_BEACON_math(HSV hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t return hsv; } -bool DUAL_BEACON(effect_params_t* params) { return effect_runner_sin_cos_i(params, &DUAL_BEACON_math); } +bool DUAL_BEACON(effect_params_t* params) { + return effect_runner_sin_cos_i(params, &DUAL_BEACON_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_DUAL_BEACON +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_DUAL_BEACON diff --git a/quantum/rgb_matrix/animations/gradient_left_right_anim.h b/quantum/rgb_matrix/animations/gradient_left_right_anim.h index 8bb5e570bd0f..ebb06f59f278 100644 --- a/quantum/rgb_matrix/animations/gradient_left_right_anim.h +++ b/quantum/rgb_matrix/animations/gradient_left_right_anim.h @@ -18,5 +18,5 @@ bool GRADIENT_LEFT_RIGHT(effect_params_t* params) { return rgb_matrix_check_finished_leds(led_max); } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT diff --git a/quantum/rgb_matrix/animations/gradient_up_down_anim.h b/quantum/rgb_matrix/animations/gradient_up_down_anim.h index a5674583e39d..febc3919a888 100644 --- a/quantum/rgb_matrix/animations/gradient_up_down_anim.h +++ b/quantum/rgb_matrix/animations/gradient_up_down_anim.h @@ -18,5 +18,5 @@ bool GRADIENT_UP_DOWN(effect_params_t* params) { return rgb_matrix_check_finished_leds(led_max); } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/quantum/rgb_matrix/animations/hue_breathing_anim.h b/quantum/rgb_matrix/animations/hue_breathing_anim.h index 82be1a44241f..853776283298 100644 --- a/quantum/rgb_matrix/animations/hue_breathing_anim.h +++ b/quantum/rgb_matrix/animations/hue_breathing_anim.h @@ -18,5 +18,5 @@ bool HUE_BREATHING(effect_params_t* params) { return rgb_matrix_check_finished_leds(led_max); } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // DISABLE_RGB_HUE_BREATHING +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // DISABLE_RGB_HUE_BREATHING diff --git a/quantum/rgb_matrix/animations/hue_pendulum_anim.h b/quantum/rgb_matrix/animations/hue_pendulum_anim.h index a6e1c1074de7..7d8cbcdfb243 100644 --- a/quantum/rgb_matrix/animations/hue_pendulum_anim.h +++ b/quantum/rgb_matrix/animations/hue_pendulum_anim.h @@ -11,7 +11,9 @@ static HSV HUE_PENDULUM_math(HSV hsv, uint8_t i, uint8_t time) { return hsv; } -bool HUE_PENDULUM(effect_params_t* params) { return effect_runner_i(params, &HUE_PENDULUM_math); } +bool HUE_PENDULUM(effect_params_t* params) { + return effect_runner_i(params, &HUE_PENDULUM_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // DISABLE_RGB_HUE_PENDULUM +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // DISABLE_RGB_HUE_PENDULUM diff --git a/quantum/rgb_matrix/animations/hue_wave_anim.h b/quantum/rgb_matrix/animations/hue_wave_anim.h index b1c72b7336f6..81aa7e139e9a 100644 --- a/quantum/rgb_matrix/animations/hue_wave_anim.h +++ b/quantum/rgb_matrix/animations/hue_wave_anim.h @@ -11,7 +11,9 @@ static HSV HUE_WAVE_math(HSV hsv, uint8_t i, uint8_t time) { return hsv; } -bool HUE_WAVE(effect_params_t* params) { return effect_runner_i(params, &HUE_WAVE_math); } +bool HUE_WAVE(effect_params_t* params) { + return effect_runner_i(params, &HUE_WAVE_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // DISABLE_RGB_HUE_WAVE +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // DISABLE_RGB_HUE_WAVE diff --git a/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h b/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h index 3ffb57eb3592..31dffcbc5afd 100644 --- a/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h +++ b/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h @@ -25,5 +25,5 @@ bool JELLYBEAN_RAINDROPS(effect_params_t* params) { return rgb_matrix_check_finished_leds(led_max); } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS diff --git a/quantum/rgb_matrix/animations/pixel_flow_anim.h b/quantum/rgb_matrix/animations/pixel_flow_anim.h index 312c87628c70..714f5d174e35 100644 --- a/quantum/rgb_matrix/animations/pixel_flow_anim.h +++ b/quantum/rgb_matrix/animations/pixel_flow_anim.h @@ -14,7 +14,9 @@ static bool PIXEL_FLOW(effect_params_t* params) { return false; } - inline uint32_t interval(void) { return 3000 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); } + inline uint32_t interval(void) { + return 3000 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); + } if (params->init) { // Clear LEDs and fill the state array @@ -45,5 +47,5 @@ static bool PIXEL_FLOW(effect_params_t* params) { return rgb_matrix_check_finished_leds(led_max); } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_PIXEL_FLOW +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_PIXEL_FLOW diff --git a/quantum/rgb_matrix/animations/pixel_fractal_anim.h b/quantum/rgb_matrix/animations/pixel_fractal_anim.h index 35187b92de70..906da1a48ede 100644 --- a/quantum/rgb_matrix/animations/pixel_fractal_anim.h +++ b/quantum/rgb_matrix/animations/pixel_fractal_anim.h @@ -29,7 +29,9 @@ static bool PIXEL_FRACTAL(effect_params_t* params) { return false; } - inline uint32_t interval(void) { return 3000 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); } + inline uint32_t interval(void) { + return 3000 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); + } if (params->init) { rgb_matrix_set_color_all(0, 0, 0); @@ -37,7 +39,7 @@ static bool PIXEL_FRACTAL(effect_params_t* params) { RGB rgb = rgb_matrix_hsv_to_rgb(rgb_matrix_config.hsv); for (uint8_t h = 0; h < MATRIX_ROWS; ++h) { - for (uint8_t l = 0; l < MID_COL - 1; ++l) { // Light and move left columns outwards + for (uint8_t l = 0; l < MID_COL - 1; ++l) { // Light and move left columns outwards if (led[h][l]) { rgb_matrix_set_color(g_led_config.matrix_co[h][l], rgb.r, rgb.g, rgb.b); } else { @@ -46,7 +48,7 @@ static bool PIXEL_FRACTAL(effect_params_t* params) { led[h][l] = led[h][l + 1]; } - for (uint8_t r = MATRIX_COLS - 1; r > MID_COL; --r) { // Light and move right columns outwards + for (uint8_t r = MATRIX_COLS - 1; r > MID_COL; --r) { // Light and move right columns outwards if (led[h][r]) { rgb_matrix_set_color(g_led_config.matrix_co[h][r], rgb.r, rgb.g, rgb.b); } else { @@ -74,5 +76,5 @@ static bool PIXEL_FRACTAL(effect_params_t* params) { wait_timer = g_rgb_timer + interval(); return false; } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_PIXEL_FRACTAL +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_PIXEL_FRACTAL diff --git a/quantum/rgb_matrix/animations/pixel_rain_anim.h b/quantum/rgb_matrix/animations/pixel_rain_anim.h index 001649aa6e0c..03488b43df07 100644 --- a/quantum/rgb_matrix/animations/pixel_rain_anim.h +++ b/quantum/rgb_matrix/animations/pixel_rain_anim.h @@ -24,7 +24,9 @@ static bool PIXEL_RAIN(effect_params_t* params) { return false; } - inline uint32_t interval(void) { return 500 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); } + inline uint32_t interval(void) { + return 500 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); + } bool rain_pixel(uint8_t i, effect_params_t * params, bool off) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) { @@ -44,5 +46,5 @@ static bool PIXEL_RAIN(effect_params_t* params) { return rain_pixel(mod8(random8(), DRIVER_LED_TOTAL), params, random8() & 2); } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_PIXEL_RAIN +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_PIXEL_RAIN diff --git a/quantum/rgb_matrix/animations/rainbow_beacon_anim.h b/quantum/rgb_matrix/animations/rainbow_beacon_anim.h index cd529958dbfd..bdcca5530fd4 100644 --- a/quantum/rgb_matrix/animations/rainbow_beacon_anim.h +++ b/quantum/rgb_matrix/animations/rainbow_beacon_anim.h @@ -7,7 +7,9 @@ static HSV RAINBOW_BEACON_math(HSV hsv, int8_t sin, int8_t cos, uint8_t i, uint8 return hsv; } -bool RAINBOW_BEACON(effect_params_t* params) { return effect_runner_sin_cos_i(params, &RAINBOW_BEACON_math); } +bool RAINBOW_BEACON(effect_params_t* params) { + return effect_runner_sin_cos_i(params, &RAINBOW_BEACON_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_RAINBOW_BEACON +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_RAINBOW_BEACON diff --git a/quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h b/quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h index 2f3de64e9dca..f7b8f6c2f324 100644 --- a/quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h +++ b/quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h @@ -7,7 +7,9 @@ static HSV RAINBOW_MOVING_CHEVRON_math(HSV hsv, uint8_t i, uint8_t time) { return hsv; } -bool RAINBOW_MOVING_CHEVRON(effect_params_t* params) { return effect_runner_i(params, &RAINBOW_MOVING_CHEVRON_math); } +bool RAINBOW_MOVING_CHEVRON(effect_params_t* params) { + return effect_runner_i(params, &RAINBOW_MOVING_CHEVRON_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON diff --git a/quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h b/quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h index dae2b5d19044..91e31ea8cc0f 100644 --- a/quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h +++ b/quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h @@ -7,7 +7,9 @@ static HSV RAINBOW_PINWHEELS_math(HSV hsv, int8_t sin, int8_t cos, uint8_t i, ui return hsv; } -bool RAINBOW_PINWHEELS(effect_params_t* params) { return effect_runner_sin_cos_i(params, &RAINBOW_PINWHEELS_math); } +bool RAINBOW_PINWHEELS(effect_params_t* params) { + return effect_runner_sin_cos_i(params, &RAINBOW_PINWHEELS_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS diff --git a/quantum/rgb_matrix/animations/raindrops_anim.h b/quantum/rgb_matrix/animations/raindrops_anim.h index 4b1b9dd9ec4d..2d4b53b7b0b4 100644 --- a/quantum/rgb_matrix/animations/raindrops_anim.h +++ b/quantum/rgb_matrix/animations/raindrops_anim.h @@ -35,5 +35,5 @@ bool RAINDROPS(effect_params_t* params) { return rgb_matrix_check_finished_leds(led_max); } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // ENABLE_RGB_MATRIX_RAINDROPS +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // ENABLE_RGB_MATRIX_RAINDROPS diff --git a/quantum/rgb_matrix/animations/runners/effect_runner_reactive.h b/quantum/rgb_matrix/animations/runners/effect_runner_reactive.h index d5c1a26cefe7..f9584d707191 100644 --- a/quantum/rgb_matrix/animations/runners/effect_runner_reactive.h +++ b/quantum/rgb_matrix/animations/runners/effect_runner_reactive.h @@ -26,4 +26,4 @@ bool effect_runner_reactive(effect_params_t* params, reactive_f effect_func) { return rgb_matrix_check_finished_leds(led_max); } -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/rgb_matrix/animations/runners/effect_runner_reactive_splash.h b/quantum/rgb_matrix/animations/runners/effect_runner_reactive_splash.h index d3a6e4e72f0f..41020eb47f82 100644 --- a/quantum/rgb_matrix/animations/runners/effect_runner_reactive_splash.h +++ b/quantum/rgb_matrix/animations/runners/effect_runner_reactive_splash.h @@ -26,4 +26,4 @@ bool effect_runner_reactive_splash(uint8_t start, effect_params_t* params, react return rgb_matrix_check_finished_leds(led_max); } -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/rgb_matrix/animations/solid_color_anim.h b/quantum/rgb_matrix/animations/solid_color_anim.h index 4209959468af..c8762dcbc2ef 100644 --- a/quantum/rgb_matrix/animations/solid_color_anim.h +++ b/quantum/rgb_matrix/animations/solid_color_anim.h @@ -12,4 +12,4 @@ bool SOLID_COLOR(effect_params_t* params) { return rgb_matrix_check_finished_leds(led_max); } -#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/quantum/rgb_matrix/animations/solid_reactive_anim.h b/quantum/rgb_matrix/animations/solid_reactive_anim.h index 360d05a67af3..d3a7ebbdf7c2 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_anim.h +++ b/quantum/rgb_matrix/animations/solid_reactive_anim.h @@ -8,8 +8,10 @@ static HSV SOLID_REACTIVE_math(HSV hsv, uint16_t offset) { return hsv; } -bool SOLID_REACTIVE(effect_params_t* params) { return effect_runner_reactive(params, &SOLID_REACTIVE_math); } +bool SOLID_REACTIVE(effect_params_t* params) { + return effect_runner_reactive(params, &SOLID_REACTIVE_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // ENABLE_RGB_MATRIX_SOLID_REACTIVE -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // ENABLE_RGB_MATRIX_SOLID_REACTIVE +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/rgb_matrix/animations/solid_reactive_cross.h b/quantum/rgb_matrix/animations/solid_reactive_cross.h index 496651f8a5fc..043a369b7371 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_cross.h +++ b/quantum/rgb_matrix/animations/solid_reactive_cross.h @@ -24,13 +24,17 @@ static HSV SOLID_REACTIVE_CROSS_math(HSV hsv, int16_t dx, int16_t dy, uint8_t di } # ifdef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -bool SOLID_REACTIVE_CROSS(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_CROSS_math); } +bool SOLID_REACTIVE_CROSS(effect_params_t* params) { + return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_CROSS_math); +} # endif # ifdef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -bool SOLID_REACTIVE_MULTICROSS(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_CROSS_math); } +bool SOLID_REACTIVE_MULTICROSS(effect_params_t* params) { + return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_CROSS_math); +} # endif -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // !defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS) || defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS) -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // !defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS) || defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS) +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/rgb_matrix/animations/solid_reactive_nexus.h b/quantum/rgb_matrix/animations/solid_reactive_nexus.h index 3562e74a7279..8d62a49feae0 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_nexus.h +++ b/quantum/rgb_matrix/animations/solid_reactive_nexus.h @@ -22,13 +22,17 @@ static HSV SOLID_REACTIVE_NEXUS_math(HSV hsv, int16_t dx, int16_t dy, uint8_t di } # ifdef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -bool SOLID_REACTIVE_NEXUS(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_NEXUS_math); } +bool SOLID_REACTIVE_NEXUS(effect_params_t* params) { + return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_NEXUS_math); +} # endif # ifdef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -bool SOLID_REACTIVE_MULTINEXUS(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_NEXUS_math); } +bool SOLID_REACTIVE_MULTINEXUS(effect_params_t* params) { + return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_NEXUS_math); +} # endif -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // !defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS) || !defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS) -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // !defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS) || !defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS) +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h b/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h index 69189f636b20..0d0a424cf322 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h +++ b/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h @@ -8,8 +8,10 @@ static HSV SOLID_REACTIVE_SIMPLE_math(HSV hsv, uint16_t offset) { return hsv; } -bool SOLID_REACTIVE_SIMPLE(effect_params_t* params) { return effect_runner_reactive(params, &SOLID_REACTIVE_SIMPLE_math); } +bool SOLID_REACTIVE_SIMPLE(effect_params_t* params) { + return effect_runner_reactive(params, &SOLID_REACTIVE_SIMPLE_math); +} -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/rgb_matrix/animations/solid_reactive_wide.h b/quantum/rgb_matrix/animations/solid_reactive_wide.h index a613c7ff5f7c..759879631653 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_wide.h +++ b/quantum/rgb_matrix/animations/solid_reactive_wide.h @@ -19,13 +19,17 @@ static HSV SOLID_REACTIVE_WIDE_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dis } # ifdef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -bool SOLID_REACTIVE_WIDE(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_WIDE_math); } +bool SOLID_REACTIVE_WIDE(effect_params_t* params) { + return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_WIDE_math); +} # endif # ifdef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -bool SOLID_REACTIVE_MULTIWIDE(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_WIDE_math); } +bool SOLID_REACTIVE_MULTIWIDE(effect_params_t* params) { + return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_WIDE_math); +} # endif -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // !defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE) || !defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE) -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // !defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE) || !defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE) +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/rgb_matrix/animations/solid_splash_anim.h b/quantum/rgb_matrix/animations/solid_splash_anim.h index bd9c1cfe2b98..77d6f8c5eb0c 100644 --- a/quantum/rgb_matrix/animations/solid_splash_anim.h +++ b/quantum/rgb_matrix/animations/solid_splash_anim.h @@ -19,13 +19,17 @@ HSV SOLID_SPLASH_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t ti } # ifdef ENABLE_RGB_MATRIX_SOLID_SPLASH -bool SOLID_SPLASH(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_SPLASH_math); } +bool SOLID_SPLASH(effect_params_t* params) { + return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_SPLASH_math); +} # endif # ifdef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -bool SOLID_MULTISPLASH(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_SPLASH_math); } +bool SOLID_MULTISPLASH(effect_params_t* params) { + return effect_runner_reactive_splash(0, params, &SOLID_SPLASH_math); +} # endif -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // !defined(ENABLE_RGB_MATRIX_SPLASH) && !defined(ENABLE_RGB_MATRIX_MULTISPLASH) -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // !defined(ENABLE_RGB_MATRIX_SPLASH) && !defined(ENABLE_RGB_MATRIX_MULTISPLASH) +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/rgb_matrix/animations/splash_anim.h b/quantum/rgb_matrix/animations/splash_anim.h index 382355e9ed63..06459e1b0a2e 100644 --- a/quantum/rgb_matrix/animations/splash_anim.h +++ b/quantum/rgb_matrix/animations/splash_anim.h @@ -20,13 +20,17 @@ HSV SPLASH_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) { } # ifdef ENABLE_RGB_MATRIX_SPLASH -bool SPLASH(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SPLASH_math); } +bool SPLASH(effect_params_t* params) { + return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SPLASH_math); +} # endif # ifdef ENABLE_RGB_MATRIX_MULTISPLASH -bool MULTISPLASH(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SPLASH_math); } +bool MULTISPLASH(effect_params_t* params) { + return effect_runner_reactive_splash(0, params, &SPLASH_math); +} # endif -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -# endif // !defined(ENABLE_RGB_MATRIX_SPLASH) || !defined(ENABLE_RGB_MATRIX_MULTISPLASH) -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +# endif // !defined(ENABLE_RGB_MATRIX_SPLASH) || !defined(ENABLE_RGB_MATRIX_MULTISPLASH) +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/quantum/rgb_matrix/animations/typing_heatmap_anim.h b/quantum/rgb_matrix/animations/typing_heatmap_anim.h index b66667b9b8c0..f3a94280c068 100644 --- a/quantum/rgb_matrix/animations/typing_heatmap_anim.h +++ b/quantum/rgb_matrix/animations/typing_heatmap_anim.h @@ -82,5 +82,5 @@ bool TYPING_HEATMAP(effect_params_t* params) { return led_max < sizeof(g_rgb_frame_buffer); } -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP) +# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP) diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 5a4556f09752..f721dfc7f240 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -31,7 +31,9 @@ const led_point_t k_rgb_matrix_center = {112, 32}; const led_point_t k_rgb_matrix_center = RGB_MATRIX_CENTER; #endif -__attribute__((weak)) RGB rgb_matrix_hsv_to_rgb(HSV hsv) { return hsv_to_rgb(hsv); } +__attribute__((weak)) RGB rgb_matrix_hsv_to_rgb(HSV hsv) { + return hsv_to_rgb(hsv); +} // Generic effect runners #include "rgb_matrix_runners.inc" @@ -109,14 +111,14 @@ __attribute__((weak)) RGB rgb_matrix_hsv_to_rgb(HSV hsv) { return hsv_to_rgb(hsv #endif // globals -rgb_config_t rgb_matrix_config; // TODO: would like to prefix this with g_ for global consistancy, do this in another pr +rgb_config_t rgb_matrix_config; // TODO: would like to prefix this with g_ for global consistancy, do this in another pr uint32_t g_rgb_timer; #ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS uint8_t g_rgb_frame_buffer[MATRIX_ROWS][MATRIX_COLS] = {{0}}; -#endif // RGB_MATRIX_FRAMEBUFFER_EFFECTS +#endif // RGB_MATRIX_FRAMEBUFFER_EFFECTS #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED last_hit_t g_last_hit_tracker; -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED // internals static bool suspend_state = false; @@ -126,13 +128,13 @@ static effect_params_t rgb_effect_params = {0, LED_FLAG_ALL, false}; static rgb_task_states rgb_task_state = SYNCING; #if RGB_DISABLE_TIMEOUT > 0 static uint32_t rgb_anykey_timer; -#endif // RGB_DISABLE_TIMEOUT > 0 +#endif // RGB_DISABLE_TIMEOUT > 0 // double buffers static uint32_t rgb_timer_buffer; #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED static last_hit_t last_hit_buffer; -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED // split rgb matrix #if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) @@ -141,7 +143,9 @@ const uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT; EECONFIG_DEBOUNCE_HELPER(rgb_matrix, EECONFIG_RGB_MATRIX, rgb_matrix_config); -void eeconfig_update_rgb_matrix(void) { eeconfig_flush_rgb_matrix(true); } +void eeconfig_update_rgb_matrix(void) { + eeconfig_flush_rgb_matrix(true); +} void eeconfig_update_rgb_matrix_default(void) { dprintf("eeconfig_update_rgb_matrix_default\n"); @@ -168,13 +172,15 @@ void rgb_matrix_reload_from_eeprom(void) { rgb_matrix_disable_noeeprom(); /* Reset back to what we have in eeprom */ eeconfig_init_rgb_matrix(); - eeconfig_debug_rgb_matrix(); // display current eeprom values + eeconfig_debug_rgb_matrix(); // display current eeprom values if (rgb_matrix_config.enable) { rgb_matrix_mode_noeeprom(rgb_matrix_config.mode); } } -__attribute__((weak)) uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) { return 0; } +__attribute__((weak)) uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) { + return 0; +} uint8_t rgb_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *led_i) { uint8_t led_count = rgb_matrix_map_row_column_to_led_kb(row, column, led_i); @@ -186,13 +192,18 @@ uint8_t rgb_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *l return led_count; } -void rgb_matrix_update_pwm_buffers(void) { rgb_matrix_driver.flush(); } +void rgb_matrix_update_pwm_buffers(void) { + rgb_matrix_driver.flush(); +} -void rgb_matrix_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { rgb_matrix_driver.set_color(index, red, green, blue); } +void rgb_matrix_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + rgb_matrix_driver.set_color(index, red, green, blue); +} void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { #if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) rgb_matrix_set_color(i, red, green, blue); + for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) + rgb_matrix_set_color(i, red, green, blue); #else rgb_matrix_driver.set_color_all(red, green, blue); #endif @@ -204,7 +215,7 @@ void process_rgb_matrix(uint8_t row, uint8_t col, bool pressed) { #endif #if RGB_DISABLE_TIMEOUT > 0 rgb_anykey_timer = 0; -#endif // RGB_DISABLE_TIMEOUT > 0 +#endif // RGB_DISABLE_TIMEOUT > 0 #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED uint8_t led[LED_HITS_TO_REMEMBER]; @@ -214,7 +225,7 @@ void process_rgb_matrix(uint8_t row, uint8_t col, bool pressed) { if (!pressed) # elif defined(RGB_MATRIX_KEYPRESSES) if (pressed) -# endif // defined(RGB_MATRIX_KEYRELEASES) +# endif // defined(RGB_MATRIX_KEYRELEASES) { led_count = rgb_matrix_map_row_column_to_led(row, col, led); } @@ -222,7 +233,7 @@ void process_rgb_matrix(uint8_t row, uint8_t col, bool pressed) { if (last_hit_buffer.count + led_count > LED_HITS_TO_REMEMBER) { memcpy(&last_hit_buffer.x[0], &last_hit_buffer.x[led_count], LED_HITS_TO_REMEMBER - led_count); memcpy(&last_hit_buffer.y[0], &last_hit_buffer.y[led_count], LED_HITS_TO_REMEMBER - led_count); - memcpy(&last_hit_buffer.tick[0], &last_hit_buffer.tick[led_count], (LED_HITS_TO_REMEMBER - led_count) * 2); // 16 bit + memcpy(&last_hit_buffer.tick[0], &last_hit_buffer.tick[led_count], (LED_HITS_TO_REMEMBER - led_count) * 2); // 16 bit memcpy(&last_hit_buffer.index[0], &last_hit_buffer.index[led_count], LED_HITS_TO_REMEMBER - led_count); last_hit_buffer.count = LED_HITS_TO_REMEMBER - led_count; } @@ -235,13 +246,13 @@ void process_rgb_matrix(uint8_t row, uint8_t col, bool pressed) { last_hit_buffer.tick[index] = 0; last_hit_buffer.count++; } -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP) if (rgb_matrix_config.mode == RGB_MATRIX_TYPING_HEATMAP) { process_rgb_matrix_typing_heatmap(row, col); } -#endif // defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP) +#endif // defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP) } void rgb_matrix_test(void) { @@ -280,7 +291,7 @@ static bool rgb_matrix_none(effect_params_t *params) { static void rgb_task_timers(void) { #if defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_DISABLE_TIMEOUT > 0 uint32_t deltaTime = sync_timer_elapsed32(rgb_timer_buffer); -#endif // defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_DISABLE_TIMEOUT > 0 +#endif // defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_DISABLE_TIMEOUT > 0 rgb_timer_buffer = sync_timer_read32(); // Update double buffer timers @@ -288,7 +299,7 @@ static void rgb_task_timers(void) { if (rgb_anykey_timer + deltaTime <= UINT32_MAX) { rgb_anykey_timer += deltaTime; } -#endif // RGB_DISABLE_TIMEOUT > 0 +#endif // RGB_DISABLE_TIMEOUT > 0 // Update double buffer last hit timers #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED @@ -300,7 +311,7 @@ static void rgb_task_timers(void) { } last_hit_buffer.tick[i] += deltaTime; } -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED } static void rgb_task_sync(void) { @@ -317,7 +328,7 @@ static void rgb_task_start(void) { g_rgb_timer = rgb_timer_buffer; #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED g_last_hit_tracker = last_hit_buffer; -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED // next task rgb_task_state = RENDERING; @@ -403,7 +414,7 @@ void rgb_matrix_task(void) { bool suspend_backlight = suspend_state || #if RGB_DISABLE_TIMEOUT > 0 (rgb_anykey_timer > (uint32_t)RGB_DISABLE_TIMEOUT) || -#endif // RGB_DISABLE_TIMEOUT > 0 +#endif // RGB_DISABLE_TIMEOUT > 0 false; uint8_t effect = suspend_backlight || !rgb_matrix_config.enable ? 0 : rgb_matrix_config.mode; @@ -472,7 +483,7 @@ void rgb_matrix_init(void) { for (uint8_t i = 0; i < LED_HITS_TO_REMEMBER; ++i) { last_hit_buffer.tick[i] = UINT16_MAX; } -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED if (!eeconfig_is_enabled()) { dprintf("rgb_matrix_init_drivers eeconfig is not enabled.\n"); @@ -485,20 +496,22 @@ void rgb_matrix_init(void) { dprintf("rgb_matrix_init_drivers rgb_matrix_config.mode = 0. Write default values to EEPROM.\n"); eeconfig_update_rgb_matrix_default(); } - eeconfig_debug_rgb_matrix(); // display current eeprom values + eeconfig_debug_rgb_matrix(); // display current eeprom values } void rgb_matrix_set_suspend_state(bool state) { #ifdef RGB_DISABLE_WHEN_USB_SUSPENDED - if (state && !suspend_state) { // only run if turning off, and only once - rgb_task_render(0); // turn off all LEDs when suspending - rgb_task_flush(0); // and actually flash led state to LEDs + if (state && !suspend_state) { // only run if turning off, and only once + rgb_task_render(0); // turn off all LEDs when suspending + rgb_task_flush(0); // and actually flash led state to LEDs } suspend_state = state; #endif } -bool rgb_matrix_get_suspend_state(void) { return suspend_state; } +bool rgb_matrix_get_suspend_state(void) { + return suspend_state; +} void rgb_matrix_toggle_eeprom_helper(bool write_to_eeprom) { rgb_matrix_config.enable ^= 1; @@ -506,8 +519,12 @@ void rgb_matrix_toggle_eeprom_helper(bool write_to_eeprom) { eeconfig_flag_rgb_matrix(write_to_eeprom); dprintf("rgb matrix toggle [%s]: rgb_matrix_config.enable = %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.enable); } -void rgb_matrix_toggle_noeeprom(void) { rgb_matrix_toggle_eeprom_helper(false); } -void rgb_matrix_toggle(void) { rgb_matrix_toggle_eeprom_helper(true); } +void rgb_matrix_toggle_noeeprom(void) { + rgb_matrix_toggle_eeprom_helper(false); +} +void rgb_matrix_toggle(void) { + rgb_matrix_toggle_eeprom_helper(true); +} void rgb_matrix_enable(void) { rgb_matrix_enable_noeeprom(); @@ -529,7 +546,9 @@ void rgb_matrix_disable_noeeprom(void) { rgb_matrix_config.enable = 0; } -uint8_t rgb_matrix_is_enabled(void) { return rgb_matrix_config.enable; } +uint8_t rgb_matrix_is_enabled(void) { + return rgb_matrix_config.enable; +} void rgb_matrix_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { if (!rgb_matrix_config.enable) { @@ -546,24 +565,38 @@ void rgb_matrix_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { eeconfig_flag_rgb_matrix(write_to_eeprom); dprintf("rgb matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.mode); } -void rgb_matrix_mode_noeeprom(uint8_t mode) { rgb_matrix_mode_eeprom_helper(mode, false); } -void rgb_matrix_mode(uint8_t mode) { rgb_matrix_mode_eeprom_helper(mode, true); } +void rgb_matrix_mode_noeeprom(uint8_t mode) { + rgb_matrix_mode_eeprom_helper(mode, false); +} +void rgb_matrix_mode(uint8_t mode) { + rgb_matrix_mode_eeprom_helper(mode, true); +} -uint8_t rgb_matrix_get_mode(void) { return rgb_matrix_config.mode; } +uint8_t rgb_matrix_get_mode(void) { + return rgb_matrix_config.mode; +} void rgb_matrix_step_helper(bool write_to_eeprom) { uint8_t mode = rgb_matrix_config.mode + 1; rgb_matrix_mode_eeprom_helper((mode < RGB_MATRIX_EFFECT_MAX) ? mode : 1, write_to_eeprom); } -void rgb_matrix_step_noeeprom(void) { rgb_matrix_step_helper(false); } -void rgb_matrix_step(void) { rgb_matrix_step_helper(true); } +void rgb_matrix_step_noeeprom(void) { + rgb_matrix_step_helper(false); +} +void rgb_matrix_step(void) { + rgb_matrix_step_helper(true); +} void rgb_matrix_step_reverse_helper(bool write_to_eeprom) { uint8_t mode = rgb_matrix_config.mode - 1; rgb_matrix_mode_eeprom_helper((mode < 1) ? RGB_MATRIX_EFFECT_MAX - 1 : mode, write_to_eeprom); } -void rgb_matrix_step_reverse_noeeprom(void) { rgb_matrix_step_reverse_helper(false); } -void rgb_matrix_step_reverse(void) { rgb_matrix_step_reverse_helper(true); } +void rgb_matrix_step_reverse_noeeprom(void) { + rgb_matrix_step_reverse_helper(false); +} +void rgb_matrix_step_reverse(void) { + rgb_matrix_step_reverse_helper(true); +} void rgb_matrix_sethsv_eeprom_helper(uint16_t hue, uint8_t sat, uint8_t val, bool write_to_eeprom) { if (!rgb_matrix_config.enable) { @@ -575,56 +608,126 @@ void rgb_matrix_sethsv_eeprom_helper(uint16_t hue, uint8_t sat, uint8_t val, boo eeconfig_flag_rgb_matrix(write_to_eeprom); dprintf("rgb matrix set hsv [%s]: %u,%u,%u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v); } -void rgb_matrix_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val) { rgb_matrix_sethsv_eeprom_helper(hue, sat, val, false); } -void rgb_matrix_sethsv(uint16_t hue, uint8_t sat, uint8_t val) { rgb_matrix_sethsv_eeprom_helper(hue, sat, val, true); } +void rgb_matrix_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val) { + rgb_matrix_sethsv_eeprom_helper(hue, sat, val, false); +} +void rgb_matrix_sethsv(uint16_t hue, uint8_t sat, uint8_t val) { + rgb_matrix_sethsv_eeprom_helper(hue, sat, val, true); +} -HSV rgb_matrix_get_hsv(void) { return rgb_matrix_config.hsv; } -uint8_t rgb_matrix_get_hue(void) { return rgb_matrix_config.hsv.h; } -uint8_t rgb_matrix_get_sat(void) { return rgb_matrix_config.hsv.s; } -uint8_t rgb_matrix_get_val(void) { return rgb_matrix_config.hsv.v; } +HSV rgb_matrix_get_hsv(void) { + return rgb_matrix_config.hsv; +} +uint8_t rgb_matrix_get_hue(void) { + return rgb_matrix_config.hsv.h; +} +uint8_t rgb_matrix_get_sat(void) { + return rgb_matrix_config.hsv.s; +} +uint8_t rgb_matrix_get_val(void) { + return rgb_matrix_config.hsv.v; +} -void rgb_matrix_increase_hue_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h + RGB_MATRIX_HUE_STEP, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v, write_to_eeprom); } -void rgb_matrix_increase_hue_noeeprom(void) { rgb_matrix_increase_hue_helper(false); } -void rgb_matrix_increase_hue(void) { rgb_matrix_increase_hue_helper(true); } +void rgb_matrix_increase_hue_helper(bool write_to_eeprom) { + rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h + RGB_MATRIX_HUE_STEP, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v, write_to_eeprom); +} +void rgb_matrix_increase_hue_noeeprom(void) { + rgb_matrix_increase_hue_helper(false); +} +void rgb_matrix_increase_hue(void) { + rgb_matrix_increase_hue_helper(true); +} -void rgb_matrix_decrease_hue_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h - RGB_MATRIX_HUE_STEP, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v, write_to_eeprom); } -void rgb_matrix_decrease_hue_noeeprom(void) { rgb_matrix_decrease_hue_helper(false); } -void rgb_matrix_decrease_hue(void) { rgb_matrix_decrease_hue_helper(true); } +void rgb_matrix_decrease_hue_helper(bool write_to_eeprom) { + rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h - RGB_MATRIX_HUE_STEP, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v, write_to_eeprom); +} +void rgb_matrix_decrease_hue_noeeprom(void) { + rgb_matrix_decrease_hue_helper(false); +} +void rgb_matrix_decrease_hue(void) { + rgb_matrix_decrease_hue_helper(true); +} -void rgb_matrix_increase_sat_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, qadd8(rgb_matrix_config.hsv.s, RGB_MATRIX_SAT_STEP), rgb_matrix_config.hsv.v, write_to_eeprom); } -void rgb_matrix_increase_sat_noeeprom(void) { rgb_matrix_increase_sat_helper(false); } -void rgb_matrix_increase_sat(void) { rgb_matrix_increase_sat_helper(true); } +void rgb_matrix_increase_sat_helper(bool write_to_eeprom) { + rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, qadd8(rgb_matrix_config.hsv.s, RGB_MATRIX_SAT_STEP), rgb_matrix_config.hsv.v, write_to_eeprom); +} +void rgb_matrix_increase_sat_noeeprom(void) { + rgb_matrix_increase_sat_helper(false); +} +void rgb_matrix_increase_sat(void) { + rgb_matrix_increase_sat_helper(true); +} -void rgb_matrix_decrease_sat_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, qsub8(rgb_matrix_config.hsv.s, RGB_MATRIX_SAT_STEP), rgb_matrix_config.hsv.v, write_to_eeprom); } -void rgb_matrix_decrease_sat_noeeprom(void) { rgb_matrix_decrease_sat_helper(false); } -void rgb_matrix_decrease_sat(void) { rgb_matrix_decrease_sat_helper(true); } +void rgb_matrix_decrease_sat_helper(bool write_to_eeprom) { + rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, qsub8(rgb_matrix_config.hsv.s, RGB_MATRIX_SAT_STEP), rgb_matrix_config.hsv.v, write_to_eeprom); +} +void rgb_matrix_decrease_sat_noeeprom(void) { + rgb_matrix_decrease_sat_helper(false); +} +void rgb_matrix_decrease_sat(void) { + rgb_matrix_decrease_sat_helper(true); +} -void rgb_matrix_increase_val_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, qadd8(rgb_matrix_config.hsv.v, RGB_MATRIX_VAL_STEP), write_to_eeprom); } -void rgb_matrix_increase_val_noeeprom(void) { rgb_matrix_increase_val_helper(false); } -void rgb_matrix_increase_val(void) { rgb_matrix_increase_val_helper(true); } +void rgb_matrix_increase_val_helper(bool write_to_eeprom) { + rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, qadd8(rgb_matrix_config.hsv.v, RGB_MATRIX_VAL_STEP), write_to_eeprom); +} +void rgb_matrix_increase_val_noeeprom(void) { + rgb_matrix_increase_val_helper(false); +} +void rgb_matrix_increase_val(void) { + rgb_matrix_increase_val_helper(true); +} -void rgb_matrix_decrease_val_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, qsub8(rgb_matrix_config.hsv.v, RGB_MATRIX_VAL_STEP), write_to_eeprom); } -void rgb_matrix_decrease_val_noeeprom(void) { rgb_matrix_decrease_val_helper(false); } -void rgb_matrix_decrease_val(void) { rgb_matrix_decrease_val_helper(true); } +void rgb_matrix_decrease_val_helper(bool write_to_eeprom) { + rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, qsub8(rgb_matrix_config.hsv.v, RGB_MATRIX_VAL_STEP), write_to_eeprom); +} +void rgb_matrix_decrease_val_noeeprom(void) { + rgb_matrix_decrease_val_helper(false); +} +void rgb_matrix_decrease_val(void) { + rgb_matrix_decrease_val_helper(true); +} void rgb_matrix_set_speed_eeprom_helper(uint8_t speed, bool write_to_eeprom) { rgb_matrix_config.speed = speed; eeconfig_flag_rgb_matrix(write_to_eeprom); dprintf("rgb matrix set speed [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.speed); } -void rgb_matrix_set_speed_noeeprom(uint8_t speed) { rgb_matrix_set_speed_eeprom_helper(speed, false); } -void rgb_matrix_set_speed(uint8_t speed) { rgb_matrix_set_speed_eeprom_helper(speed, true); } +void rgb_matrix_set_speed_noeeprom(uint8_t speed) { + rgb_matrix_set_speed_eeprom_helper(speed, false); +} +void rgb_matrix_set_speed(uint8_t speed) { + rgb_matrix_set_speed_eeprom_helper(speed, true); +} -uint8_t rgb_matrix_get_speed(void) { return rgb_matrix_config.speed; } +uint8_t rgb_matrix_get_speed(void) { + return rgb_matrix_config.speed; +} -void rgb_matrix_increase_speed_helper(bool write_to_eeprom) { rgb_matrix_set_speed_eeprom_helper(qadd8(rgb_matrix_config.speed, RGB_MATRIX_SPD_STEP), write_to_eeprom); } -void rgb_matrix_increase_speed_noeeprom(void) { rgb_matrix_increase_speed_helper(false); } -void rgb_matrix_increase_speed(void) { rgb_matrix_increase_speed_helper(true); } +void rgb_matrix_increase_speed_helper(bool write_to_eeprom) { + rgb_matrix_set_speed_eeprom_helper(qadd8(rgb_matrix_config.speed, RGB_MATRIX_SPD_STEP), write_to_eeprom); +} +void rgb_matrix_increase_speed_noeeprom(void) { + rgb_matrix_increase_speed_helper(false); +} +void rgb_matrix_increase_speed(void) { + rgb_matrix_increase_speed_helper(true); +} -void rgb_matrix_decrease_speed_helper(bool write_to_eeprom) { rgb_matrix_set_speed_eeprom_helper(qsub8(rgb_matrix_config.speed, RGB_MATRIX_SPD_STEP), write_to_eeprom); } -void rgb_matrix_decrease_speed_noeeprom(void) { rgb_matrix_decrease_speed_helper(false); } -void rgb_matrix_decrease_speed(void) { rgb_matrix_decrease_speed_helper(true); } +void rgb_matrix_decrease_speed_helper(bool write_to_eeprom) { + rgb_matrix_set_speed_eeprom_helper(qsub8(rgb_matrix_config.speed, RGB_MATRIX_SPD_STEP), write_to_eeprom); +} +void rgb_matrix_decrease_speed_noeeprom(void) { + rgb_matrix_decrease_speed_helper(false); +} +void rgb_matrix_decrease_speed(void) { + rgb_matrix_decrease_speed_helper(true); +} -led_flags_t rgb_matrix_get_flags(void) { return rgb_matrix_config.flags; } +led_flags_t rgb_matrix_get_flags(void) { + return rgb_matrix_config.flags; +} -void rgb_matrix_set_flags(led_flags_t flags) { rgb_matrix_config.flags = flags; } +void rgb_matrix_set_flags(led_flags_t flags) { + rgb_matrix_config.flags = flags; +} diff --git a/quantum/rgb_matrix/rgb_matrix_types.h b/quantum/rgb_matrix/rgb_matrix_types.h index df575d6577c4..d0ac4e4466fe 100644 --- a/quantum/rgb_matrix/rgb_matrix_types.h +++ b/quantum/rgb_matrix/rgb_matrix_types.h @@ -37,7 +37,7 @@ // Last led hit #ifndef LED_HITS_TO_REMEMBER # define LED_HITS_TO_REMEMBER 8 -#endif // LED_HITS_TO_REMEMBER +#endif // LED_HITS_TO_REMEMBER #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED typedef struct PACKED { @@ -47,7 +47,7 @@ typedef struct PACKED { uint8_t index[LED_HITS_TO_REMEMBER]; uint16_t tick[LED_HITS_TO_REMEMBER]; } last_hit_t; -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED +#endif // RGB_MATRIX_KEYREACTIVE_ENABLED typedef enum rgb_task_states { STARTING, RENDERING, FLUSHING, SYNCING } rgb_task_states; @@ -88,7 +88,7 @@ typedef union { uint8_t enable : 2; uint8_t mode : 6; HSV hsv; - uint8_t speed; // EECONFIG needs to be increased to support this + uint8_t speed; // EECONFIG needs to be increased to support this led_flags_t flags; }; } rgb_config_t; diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index 148dae78f4b3..8f933a6e510c 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -72,7 +72,7 @@ static uint8_t static_effect_table[] = { #define _RGBM_TMP_STATIC(sym, msym) RGBLIGHT_MODE_##msym, #define _RGBM_TMP_DYNAMIC(sym, msym) RGBLIGHT_MODE_##msym, static uint8_t mode_base_table[] = { - 0, // RGBLIGHT_MODE_zero + 0, // RGBLIGHT_MODE_zero #include "rgblight_modes.h" }; @@ -96,7 +96,9 @@ static uint8_t mode_base_table[] = { # define RGBLIGHT_DEFAULT_SPD 0 #endif -static inline int is_static_effect(uint8_t mode) { return memchr(static_effect_table, mode, sizeof(static_effect_table)) != NULL; } +static inline int is_static_effect(uint8_t mode) { + return memchr(static_effect_table, mode, sizeof(static_effect_table)) != NULL; +} #ifdef RGBLIGHT_LED_MAP const uint8_t led_map[] PROGMEM = RGBLIGHT_LED_MAP; @@ -143,7 +145,9 @@ void rgblight_set_effect_range(uint8_t start_pos, uint8_t num_leds) { rgblight_ranges.effect_num_leds = num_leds; } -__attribute__((weak)) RGB rgblight_hsv_to_rgb(HSV hsv) { return hsv_to_rgb(hsv); } +__attribute__((weak)) RGB rgblight_hsv_to_rgb(HSV hsv) { + return hsv_to_rgb(hsv); +} void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) { HSV hsv = {hue, sat, val}; @@ -151,7 +155,9 @@ void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) { setrgb(rgb.r, rgb.g, rgb.b, led1); } -void sethsv(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) { sethsv_raw(hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val, led1); } +void sethsv(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) { + sethsv_raw(hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val, led1); +} void setrgb(uint8_t r, uint8_t g, uint8_t b, LED_TYPE *led1) { led1->r = r; @@ -191,7 +197,9 @@ void eeconfig_update_rgblight(uint32_t val) { #endif } -void eeconfig_update_rgblight_current(void) { eeconfig_update_rgblight(rgblight_config.raw); } +void eeconfig_update_rgblight_current(void) { + eeconfig_update_rgblight(rgblight_config.raw); +} void eeconfig_update_rgblight_default(void) { rgblight_config.enable = 1; @@ -238,9 +246,9 @@ void rgblight_init(void) { } rgblight_check_config(); - eeconfig_debug_rgblight(); // display current eeprom values + eeconfig_debug_rgblight(); // display current eeprom values - rgblight_timer_init(); // setup the timer + rgblight_timer_init(); // setup the timer if (rgblight_config.enable) { rgblight_mode_noeeprom(rgblight_config.mode); @@ -254,13 +262,15 @@ void rgblight_reload_from_eeprom(void) { rgblight_config.raw = eeconfig_read_rgblight(); RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; rgblight_check_config(); - eeconfig_debug_rgblight(); // display current eeprom values + eeconfig_debug_rgblight(); // display current eeprom values if (rgblight_config.enable) { rgblight_mode_noeeprom(rgblight_config.mode); } } -uint32_t rgblight_read_dword(void) { return rgblight_config.raw; } +uint32_t rgblight_read_dword(void) { + return rgblight_config.raw; +} void rgblight_update_dword(uint32_t dword) { RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; @@ -296,8 +306,12 @@ void rgblight_step_helper(bool write_to_eeprom) { } rgblight_mode_eeprom_helper(mode, write_to_eeprom); } -void rgblight_step_noeeprom(void) { rgblight_step_helper(false); } -void rgblight_step(void) { rgblight_step_helper(true); } +void rgblight_step_noeeprom(void) { + rgblight_step_helper(false); +} +void rgblight_step(void) { + rgblight_step_helper(true); +} void rgblight_step_reverse_helper(bool write_to_eeprom) { uint8_t mode = 0; mode = rgblight_config.mode - 1; @@ -306,8 +320,12 @@ void rgblight_step_reverse_helper(bool write_to_eeprom) { } rgblight_mode_eeprom_helper(mode, write_to_eeprom); } -void rgblight_step_reverse_noeeprom(void) { rgblight_step_reverse_helper(false); } -void rgblight_step_reverse(void) { rgblight_step_reverse_helper(true); } +void rgblight_step_reverse_noeeprom(void) { + rgblight_step_reverse_helper(false); +} +void rgblight_step_reverse(void) { + rgblight_step_reverse_helper(true); +} uint8_t rgblight_get_mode(void) { if (!rgblight_config.enable) { @@ -346,9 +364,13 @@ void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { rgblight_sethsv_noeeprom(rgblight_config.hue, rgblight_config.sat, rgblight_config.val); } -void rgblight_mode(uint8_t mode) { rgblight_mode_eeprom_helper(mode, true); } +void rgblight_mode(uint8_t mode) { + rgblight_mode_eeprom_helper(mode, true); +} -void rgblight_mode_noeeprom(uint8_t mode) { rgblight_mode_eeprom_helper(mode, false); } +void rgblight_mode_noeeprom(uint8_t mode) { + rgblight_mode_eeprom_helper(mode, false); +} void rgblight_toggle(void) { dprintf("rgblight toggle [EEPROM]: rgblight_config.enable = %u\n", !rgblight_config.enable); @@ -401,64 +423,98 @@ void rgblight_disable_noeeprom(void) { rgblight_set(); } -bool rgblight_is_enabled(void) { return rgblight_config.enable; } +bool rgblight_is_enabled(void) { + return rgblight_config.enable; +} void rgblight_increase_hue_helper(bool write_to_eeprom) { uint8_t hue = rgblight_config.hue + RGBLIGHT_HUE_STEP; rgblight_sethsv_eeprom_helper(hue, rgblight_config.sat, rgblight_config.val, write_to_eeprom); } -void rgblight_increase_hue_noeeprom(void) { rgblight_increase_hue_helper(false); } -void rgblight_increase_hue(void) { rgblight_increase_hue_helper(true); } +void rgblight_increase_hue_noeeprom(void) { + rgblight_increase_hue_helper(false); +} +void rgblight_increase_hue(void) { + rgblight_increase_hue_helper(true); +} void rgblight_decrease_hue_helper(bool write_to_eeprom) { uint8_t hue = rgblight_config.hue - RGBLIGHT_HUE_STEP; rgblight_sethsv_eeprom_helper(hue, rgblight_config.sat, rgblight_config.val, write_to_eeprom); } -void rgblight_decrease_hue_noeeprom(void) { rgblight_decrease_hue_helper(false); } -void rgblight_decrease_hue(void) { rgblight_decrease_hue_helper(true); } +void rgblight_decrease_hue_noeeprom(void) { + rgblight_decrease_hue_helper(false); +} +void rgblight_decrease_hue(void) { + rgblight_decrease_hue_helper(true); +} void rgblight_increase_sat_helper(bool write_to_eeprom) { uint8_t sat = qadd8(rgblight_config.sat, RGBLIGHT_SAT_STEP); rgblight_sethsv_eeprom_helper(rgblight_config.hue, sat, rgblight_config.val, write_to_eeprom); } -void rgblight_increase_sat_noeeprom(void) { rgblight_increase_sat_helper(false); } -void rgblight_increase_sat(void) { rgblight_increase_sat_helper(true); } +void rgblight_increase_sat_noeeprom(void) { + rgblight_increase_sat_helper(false); +} +void rgblight_increase_sat(void) { + rgblight_increase_sat_helper(true); +} void rgblight_decrease_sat_helper(bool write_to_eeprom) { uint8_t sat = qsub8(rgblight_config.sat, RGBLIGHT_SAT_STEP); rgblight_sethsv_eeprom_helper(rgblight_config.hue, sat, rgblight_config.val, write_to_eeprom); } -void rgblight_decrease_sat_noeeprom(void) { rgblight_decrease_sat_helper(false); } -void rgblight_decrease_sat(void) { rgblight_decrease_sat_helper(true); } +void rgblight_decrease_sat_noeeprom(void) { + rgblight_decrease_sat_helper(false); +} +void rgblight_decrease_sat(void) { + rgblight_decrease_sat_helper(true); +} void rgblight_increase_val_helper(bool write_to_eeprom) { uint8_t val = qadd8(rgblight_config.val, RGBLIGHT_VAL_STEP); rgblight_sethsv_eeprom_helper(rgblight_config.hue, rgblight_config.sat, val, write_to_eeprom); } -void rgblight_increase_val_noeeprom(void) { rgblight_increase_val_helper(false); } -void rgblight_increase_val(void) { rgblight_increase_val_helper(true); } +void rgblight_increase_val_noeeprom(void) { + rgblight_increase_val_helper(false); +} +void rgblight_increase_val(void) { + rgblight_increase_val_helper(true); +} void rgblight_decrease_val_helper(bool write_to_eeprom) { uint8_t val = qsub8(rgblight_config.val, RGBLIGHT_VAL_STEP); rgblight_sethsv_eeprom_helper(rgblight_config.hue, rgblight_config.sat, val, write_to_eeprom); } -void rgblight_decrease_val_noeeprom(void) { rgblight_decrease_val_helper(false); } -void rgblight_decrease_val(void) { rgblight_decrease_val_helper(true); } +void rgblight_decrease_val_noeeprom(void) { + rgblight_decrease_val_helper(false); +} +void rgblight_decrease_val(void) { + rgblight_decrease_val_helper(true); +} void rgblight_increase_speed_helper(bool write_to_eeprom) { if (rgblight_config.speed < 3) rgblight_config.speed++; // RGBLIGHT_SPLIT_SET_CHANGE_HSVS; // NEED? if (write_to_eeprom) { - eeconfig_update_rgblight(rgblight_config.raw); // EECONFIG needs to be increased to support this + eeconfig_update_rgblight(rgblight_config.raw); // EECONFIG needs to be increased to support this } } -void rgblight_increase_speed(void) { rgblight_increase_speed_helper(true); } -void rgblight_increase_speed_noeeprom(void) { rgblight_increase_speed_helper(false); } +void rgblight_increase_speed(void) { + rgblight_increase_speed_helper(true); +} +void rgblight_increase_speed_noeeprom(void) { + rgblight_increase_speed_helper(false); +} void rgblight_decrease_speed_helper(bool write_to_eeprom) { if (rgblight_config.speed > 0) rgblight_config.speed--; // RGBLIGHT_SPLIT_SET_CHANGE_HSVS; // NEED?? if (write_to_eeprom) { - eeconfig_update_rgblight(rgblight_config.raw); // EECONFIG needs to be increased to support this + eeconfig_update_rgblight(rgblight_config.raw); // EECONFIG needs to be increased to support this } } -void rgblight_decrease_speed(void) { rgblight_decrease_speed_helper(true); } -void rgblight_decrease_speed_noeeprom(void) { rgblight_decrease_speed_helper(false); } +void rgblight_decrease_speed(void) { + rgblight_decrease_speed_helper(true); +} +void rgblight_decrease_speed_noeeprom(void) { + rgblight_decrease_speed_helper(false); +} void rgblight_sethsv_noeeprom_old(uint8_t hue, uint8_t sat, uint8_t val) { if (rgblight_config.enable) { @@ -478,7 +534,7 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b); } else { // all LEDs in same color - if (1 == 0) { // dummy + if (1 == 0) { // dummy } #ifdef RGBLIGHT_EFFECT_BREATHING else if (rgblight_status.base_mode == RGBLIGHT_MODE_BREATHING) { @@ -540,33 +596,51 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w } } -void rgblight_sethsv(uint8_t hue, uint8_t sat, uint8_t val) { rgblight_sethsv_eeprom_helper(hue, sat, val, true); } +void rgblight_sethsv(uint8_t hue, uint8_t sat, uint8_t val) { + rgblight_sethsv_eeprom_helper(hue, sat, val, true); +} -void rgblight_sethsv_noeeprom(uint8_t hue, uint8_t sat, uint8_t val) { rgblight_sethsv_eeprom_helper(hue, sat, val, false); } +void rgblight_sethsv_noeeprom(uint8_t hue, uint8_t sat, uint8_t val) { + rgblight_sethsv_eeprom_helper(hue, sat, val, false); +} -uint8_t rgblight_get_speed(void) { return rgblight_config.speed; } +uint8_t rgblight_get_speed(void) { + return rgblight_config.speed; +} void rgblight_set_speed_eeprom_helper(uint8_t speed, bool write_to_eeprom) { rgblight_config.speed = speed; if (write_to_eeprom) { - eeconfig_update_rgblight(rgblight_config.raw); // EECONFIG needs to be increased to support this + eeconfig_update_rgblight(rgblight_config.raw); // EECONFIG needs to be increased to support this dprintf("rgblight set speed [EEPROM]: %u\n", rgblight_config.speed); } else { dprintf("rgblight set speed [NOEEPROM]: %u\n", rgblight_config.speed); } } -void rgblight_set_speed(uint8_t speed) { rgblight_set_speed_eeprom_helper(speed, true); } +void rgblight_set_speed(uint8_t speed) { + rgblight_set_speed_eeprom_helper(speed, true); +} -void rgblight_set_speed_noeeprom(uint8_t speed) { rgblight_set_speed_eeprom_helper(speed, false); } +void rgblight_set_speed_noeeprom(uint8_t speed) { + rgblight_set_speed_eeprom_helper(speed, false); +} -uint8_t rgblight_get_hue(void) { return rgblight_config.hue; } +uint8_t rgblight_get_hue(void) { + return rgblight_config.hue; +} -uint8_t rgblight_get_sat(void) { return rgblight_config.sat; } +uint8_t rgblight_get_sat(void) { + return rgblight_config.sat; +} -uint8_t rgblight_get_val(void) { return rgblight_config.val; } +uint8_t rgblight_get_val(void) { + return rgblight_config.val; +} -HSV rgblight_get_hsv(void) { return (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; } +HSV rgblight_get_hsv(void) { + return (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; +} void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) { if (!rgblight_config.enable) { @@ -648,14 +722,22 @@ void rgblight_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start, } #ifndef RGBLIGHT_SPLIT -void rgblight_setrgb_master(uint8_t r, uint8_t g, uint8_t b) { rgblight_setrgb_range(r, g, b, 0, (uint8_t)RGBLED_NUM / 2); } +void rgblight_setrgb_master(uint8_t r, uint8_t g, uint8_t b) { + rgblight_setrgb_range(r, g, b, 0, (uint8_t)RGBLED_NUM / 2); +} -void rgblight_setrgb_slave(uint8_t r, uint8_t g, uint8_t b) { rgblight_setrgb_range(r, g, b, (uint8_t)RGBLED_NUM / 2, (uint8_t)RGBLED_NUM); } +void rgblight_setrgb_slave(uint8_t r, uint8_t g, uint8_t b) { + rgblight_setrgb_range(r, g, b, (uint8_t)RGBLED_NUM / 2, (uint8_t)RGBLED_NUM); +} -void rgblight_sethsv_master(uint8_t hue, uint8_t sat, uint8_t val) { rgblight_sethsv_range(hue, sat, val, 0, (uint8_t)RGBLED_NUM / 2); } +void rgblight_sethsv_master(uint8_t hue, uint8_t sat, uint8_t val) { + rgblight_sethsv_range(hue, sat, val, 0, (uint8_t)RGBLED_NUM / 2); +} -void rgblight_sethsv_slave(uint8_t hue, uint8_t sat, uint8_t val) { rgblight_sethsv_range(hue, sat, val, (uint8_t)RGBLED_NUM / 2, (uint8_t)RGBLED_NUM); } -#endif // ifndef RGBLIGHT_SPLIT +void rgblight_sethsv_slave(uint8_t hue, uint8_t sat, uint8_t val) { + rgblight_sethsv_range(hue, sat, val, (uint8_t)RGBLED_NUM / 2, (uint8_t)RGBLED_NUM); +} +#endif // ifndef RGBLIGHT_SPLIT #ifdef RGBLIGHT_LAYERS void rgblight_set_layer_state(uint8_t layer, bool enabled) { @@ -693,18 +775,18 @@ static void rgblight_layers_write(void) { // For each layer for (const rgblight_segment_t *const *layer_ptr = rgblight_layers; i < RGBLIGHT_MAX_LAYERS; layer_ptr++, i++) { if (!rgblight_get_layer_state(i)) { - continue; // Layer is disabled + continue; // Layer is disabled } const rgblight_segment_t *segment_ptr = pgm_read_ptr(layer_ptr); if (segment_ptr == NULL) { - break; // No more layers + break; // No more layers } // For each segment while (1) { rgblight_segment_t segment; memcpy_P(&segment, segment_ptr, sizeof(rgblight_segment_t)); if (segment.index == RGBLIGHT_END_SEGMENT_INDEX) { - break; // No more segments + break; // No more segments } // Write segment.count LEDs LED_TYPE *const limit = &led[MIN(segment.index + segment.count, RGBLED_NUM)]; @@ -726,7 +808,9 @@ static uint16_t _repeat_timer; static uint8_t _times_remaining; static uint16_t _dur; -void rgblight_blink_layer(uint8_t layer, uint16_t duration_ms) { rgblight_blink_layer_repeat(layer, duration_ms, 1); } +void rgblight_blink_layer(uint8_t layer, uint16_t duration_ms) { + rgblight_blink_layer_repeat(layer, duration_ms, 1); +} void rgblight_blink_layer_repeat(uint8_t layer, uint16_t duration_ms, uint8_t times) { _times_remaining = times * 2; @@ -796,7 +880,9 @@ void rgblight_wakeup(void) { #endif -__attribute__((weak)) void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { ws2812_setleds(start_led, num_leds); } +__attribute__((weak)) void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { + ws2812_setleds(start_led, num_leds); +} #ifndef RGBLIGHT_CUSTOM_DRIVER @@ -848,9 +934,13 @@ void rgblight_set(void) { #ifdef RGBLIGHT_SPLIT /* for split keyboard master side */ -uint8_t rgblight_get_change_flags(void) { return rgblight_status.change_flags; } +uint8_t rgblight_get_change_flags(void) { + return rgblight_status.change_flags; +} -void rgblight_clear_change_flags(void) { rgblight_status.change_flags = 0; } +void rgblight_clear_change_flags(void) { + rgblight_status.change_flags = 0; +} void rgblight_get_syncinfo(rgblight_syncinfo_t *syncinfo) { syncinfo->config = rgblight_config; @@ -866,7 +956,7 @@ void rgblight_update_sync(rgblight_syncinfo_t *syncinfo, bool write_to_eeprom) { # endif if (syncinfo->status.change_flags & RGBLIGHT_STATUS_CHANGE_MODE) { if (syncinfo->config.enable) { - rgblight_config.enable = 1; // == rgblight_enable_noeeprom(); + rgblight_config.enable = 1; // == rgblight_enable_noeeprom(); rgblight_mode_eeprom_helper(syncinfo->config.mode, write_to_eeprom); } else { rgblight_disable_noeeprom(); @@ -945,12 +1035,12 @@ static void rgblight_effect_dummy(animation_status_t *anim) { void rgblight_task(void) { if (rgblight_status.timer_enabled) { effect_func_t effect_func = rgblight_effect_dummy; - uint16_t interval_time = 2000; // dummy interval + uint16_t interval_time = 2000; // dummy interval uint8_t delta = rgblight_config.mode - rgblight_status.base_mode; animation_status.delta = delta; // static light mode, do nothing here - if (1 == 0) { // dummy + if (1 == 0) { // dummy } # ifdef RGBLIGHT_EFFECT_BREATHING else if (rgblight_status.base_mode == RGBLIGHT_MODE_BREATHING) { @@ -1016,7 +1106,7 @@ void rgblight_task(void) { if (animation_status.restart) { animation_status.restart = false; animation_status.last_timer = sync_timer_read(); - animation_status.pos16 = 0; // restart signal to local each effect + animation_status.pos16 = 0; // restart signal to local each effect } uint16_t now = sync_timer_read(); if (timer_expired(now, animation_status.last_timer)) { @@ -1055,7 +1145,7 @@ void rgblight_task(void) { # ifndef RGBLIGHT_EFFECT_BREATHE_CENTER # ifndef RGBLIGHT_BREATHE_TABLE_SIZE -# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256 or 128 or 64 +# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256 or 128 or 64 # endif # include # endif @@ -1131,7 +1221,7 @@ void rgblight_effect_snake(animation_status_t *anim) { } # if defined(RGBLIGHT_SPLIT) && !defined(RGBLIGHT_SPLIT_NO_ANIMATION_SYNC) - if (anim->pos == 0) { // restart signal + if (anim->pos == 0) { // restart signal if (increment == 1) { pos = rgblight_ranges.effect_num_leds - 1; } else { @@ -1194,7 +1284,7 @@ void rgblight_effect_knight(animation_status_t *anim) { uint8_t i, cur; # if defined(RGBLIGHT_SPLIT) && !defined(RGBLIGHT_SPLIT_NO_ANIMATION_SYNC) - if (anim->pos == 0) { // restart signal + if (anim->pos == 0) { // restart signal anim->pos = 1; low_bound = 0; high_bound = RGBLIGHT_EFFECT_KNIGHT_LENGTH - 1; @@ -1347,8 +1437,12 @@ void rgblight_effect_twinkle(animation_status_t *anim) { const uint8_t bottom = breathe_calc(0); const uint8_t top = breathe_calc(127); - uint8_t frac(uint8_t n, uint8_t d) { return (uint16_t)255 * n / d; } - uint8_t scale(uint16_t v, uint8_t scale) { return (v * scale) >> 8; } + uint8_t frac(uint8_t n, uint8_t d) { + return (uint16_t)255 * n / d; + } + uint8_t scale(uint16_t v, uint8_t scale) { + return (v * scale) >> 8; + } for (uint8_t i = 0; i < rgblight_ranges.effect_num_leds; i++) { TwinkleState *t = &(led_twinkle_state[i]); diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index 5b90b8f49e0f..7076dc41ac8f 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -119,7 +119,7 @@ enum RGBLIGHT_EFFECT_MODE { // sample: #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 #ifndef RGBLIGHT_EFFECT_BREATHE_MAX -# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0-255 +# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0-255 #endif #ifndef RGBLIGHT_EFFECT_SNAKE_LENGTH @@ -177,8 +177,8 @@ enum RGBLIGHT_EFFECT_MODE { #ifdef RGBLIGHT_LAYERS typedef struct { - uint8_t index; // The first LED to light - uint8_t count; // The number of LEDs to light + uint8_t index; // The first LED to light + uint8_t count; // The number of LEDs to light uint8_t hue; uint8_t sat; uint8_t val; @@ -241,7 +241,7 @@ typedef union { uint8_t hue : 8; uint8_t sat : 8; uint8_t val : 8; - uint8_t speed : 8; // EECONFIG needs to be increased to support this + uint8_t speed : 8; // EECONFIG needs to be increased to support this }; } rgblight_config_t; @@ -271,7 +271,7 @@ extern rgblight_ranges_t rgblight_ranges; /* === Utility Functions ===*/ void sethsv(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1); -void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1); // without RGBLIGHT_LIMIT_VAL check +void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1); // without RGBLIGHT_LIMIT_VAL check void setrgb(uint8_t r, uint8_t g, uint8_t b, LED_TYPE *led1); /* === Low level Functions === */ diff --git a/quantum/ring_buffer.h b/quantum/ring_buffer.h index 284745ca8e03..85419de11b80 100644 --- a/quantum/ring_buffer.h +++ b/quantum/ring_buffer.h @@ -36,9 +36,13 @@ static inline uint8_t rbuf_dequeue(void) { } static inline bool rbuf_has_data(void) { bool has_data; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { has_data = (rbuf_head != rbuf_tail); } + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + has_data = (rbuf_head != rbuf_tail); + } return has_data; } static inline void rbuf_clear(void) { - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { rbuf_head = rbuf_tail = 0; } + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + rbuf_head = rbuf_tail = 0; + } } diff --git a/quantum/send_string.c b/quantum/send_string.c index 1a7f7a1315ac..0de12ba12d05 100644 --- a/quantum/send_string.c +++ b/quantum/send_string.c @@ -142,9 +142,13 @@ __attribute__((weak)) const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // Note: we bit-pack in "reverse" order to optimize loading #define PGM_LOADBIT(mem, pos) ((pgm_read_byte(&((mem)[(pos) / 8])) >> ((pos) % 8)) & 0x01) -void send_string(const char *str) { send_string_with_delay(str, 0); } +void send_string(const char *str) { + send_string_with_delay(str, 0); +} -void send_string_P(const char *str) { send_string_with_delay_P(str, 0); } +void send_string_P(const char *str) { + send_string_with_delay_P(str, 0); +} void send_string_with_delay(const char *str, uint8_t interval) { while (1) { @@ -173,7 +177,8 @@ void send_string_with_delay(const char *str, uint8_t interval) { ms += keycode - '0'; keycode = *(++str); } - while (ms--) wait_ms(1); + while (ms--) + wait_ms(1); } } else { send_char(ascii_code); @@ -182,7 +187,8 @@ void send_string_with_delay(const char *str, uint8_t interval) { // interval { uint8_t ms = interval; - while (ms--) wait_ms(1); + while (ms--) + wait_ms(1); } } } @@ -214,7 +220,8 @@ void send_string_with_delay_P(const char *str, uint8_t interval) { ms += keycode - '0'; keycode = pgm_read_byte(++str); } - while (ms--) wait_ms(1); + while (ms--) + wait_ms(1); } } else { send_char(ascii_code); @@ -223,14 +230,15 @@ void send_string_with_delay_P(const char *str, uint8_t interval) { // interval { uint8_t ms = interval; - while (ms--) wait_ms(1); + while (ms--) + wait_ms(1); } } } void send_char(char ascii_code) { #if defined(AUDIO_ENABLE) && defined(SENDSTRING_BELL) - if (ascii_code == '\a') { // BEL + if (ascii_code == '\a') { // BEL PLAY_SONG(bell_song); return; } diff --git a/quantum/sequencer/sequencer.c b/quantum/sequencer/sequencer.c index 18a83661ec87..2e92f7b3ebfe 100644 --- a/quantum/sequencer/sequencer.c +++ b/quantum/sequencer/sequencer.c @@ -25,16 +25,18 @@ #endif sequencer_config_t sequencer_config = { - false, // enabled - {false}, // steps - {0}, // track notes - 60, // tempo - SQ_RES_4, // resolution + false, // enabled + {false}, // steps + {0}, // track notes + 60, // tempo + SQ_RES_4, // resolution }; sequencer_state_t sequencer_internal_state = {0, 0, 0, 0, SEQUENCER_PHASE_ATTACK}; -bool is_sequencer_on(void) { return sequencer_config.enabled; } +bool is_sequencer_on(void) { + return sequencer_config.enabled; +} void sequencer_on(void) { dprintln("sequencer on"); @@ -65,7 +67,9 @@ void sequencer_set_track_notes(const uint16_t track_notes[SEQUENCER_TRACKS]) { } } -bool is_sequencer_track_active(uint8_t track) { return (sequencer_internal_state.active_tracks >> track) & true; } +bool is_sequencer_track_active(uint8_t track) { + return (sequencer_internal_state.active_tracks >> track) & true; +} void sequencer_set_track_activation(uint8_t track, bool value) { if (value) { @@ -76,7 +80,9 @@ void sequencer_set_track_activation(uint8_t track, bool value) { dprintf("sequencer: track %d is %s\n", track, value ? "active" : "inactive"); } -void sequencer_toggle_track_activation(uint8_t track) { sequencer_set_track_activation(track, !is_sequencer_track_active(track)); } +void sequencer_toggle_track_activation(uint8_t track) { + sequencer_set_track_activation(track, !is_sequencer_track_active(track)); +} void sequencer_toggle_single_active_track(uint8_t track) { if (is_sequencer_track_active(track)) { @@ -86,9 +92,13 @@ void sequencer_toggle_single_active_track(uint8_t track) { } } -bool is_sequencer_step_on(uint8_t step) { return step < SEQUENCER_STEPS && (sequencer_config.steps[step] & sequencer_internal_state.active_tracks) > 0; } +bool is_sequencer_step_on(uint8_t step) { + return step < SEQUENCER_STEPS && (sequencer_config.steps[step] & sequencer_internal_state.active_tracks) > 0; +} -bool is_sequencer_step_on_for_track(uint8_t step, uint8_t track) { return step < SEQUENCER_STEPS && (sequencer_config.steps[step] >> track) & true; } +bool is_sequencer_step_on_for_track(uint8_t step, uint8_t track) { + return step < SEQUENCER_STEPS && (sequencer_config.steps[step] >> track) & true; +} void sequencer_set_step(uint8_t step, bool value) { if (step < SEQUENCER_STEPS) { @@ -122,7 +132,9 @@ void sequencer_set_all_steps(bool value) { dprintf("sequencer: all steps are %s\n", value ? "on" : "off"); } -uint8_t sequencer_get_tempo(void) { return sequencer_config.tempo; } +uint8_t sequencer_get_tempo(void) { + return sequencer_config.tempo; +} void sequencer_set_tempo(uint8_t tempo) { if (tempo > 0) { @@ -142,9 +154,13 @@ void sequencer_increase_tempo(void) { } } -void sequencer_decrease_tempo(void) { sequencer_set_tempo(sequencer_config.tempo - 1); } +void sequencer_decrease_tempo(void) { + sequencer_set_tempo(sequencer_config.tempo - 1); +} -sequencer_resolution_t sequencer_get_resolution(void) { return sequencer_config.resolution; } +sequencer_resolution_t sequencer_get_resolution(void) { + return sequencer_config.resolution; +} void sequencer_set_resolution(sequencer_resolution_t resolution) { if (resolution >= 0 && resolution < SEQUENCER_RESOLUTIONS) { @@ -155,11 +171,17 @@ void sequencer_set_resolution(sequencer_resolution_t resolution) { } } -void sequencer_increase_resolution(void) { sequencer_set_resolution(sequencer_config.resolution + 1); } +void sequencer_increase_resolution(void) { + sequencer_set_resolution(sequencer_config.resolution + 1); +} -void sequencer_decrease_resolution(void) { sequencer_set_resolution(sequencer_config.resolution - 1); } +void sequencer_decrease_resolution(void) { + sequencer_set_resolution(sequencer_config.resolution - 1); +} -uint8_t sequencer_get_current_step(void) { return sequencer_internal_state.current_step; } +uint8_t sequencer_get_current_step(void) { + return sequencer_internal_state.current_step; +} void sequencer_phase_attack(void) { dprintf("sequencer: step %d\n", sequencer_internal_state.current_step); @@ -229,9 +251,13 @@ void sequencer_task(void) { } } -uint16_t sequencer_get_beat_duration(void) { return get_beat_duration(sequencer_config.tempo); } +uint16_t sequencer_get_beat_duration(void) { + return get_beat_duration(sequencer_config.tempo); +} -uint16_t sequencer_get_step_duration(void) { return get_step_duration(sequencer_config.tempo, sequencer_config.resolution); } +uint16_t sequencer_get_step_duration(void) { + return get_step_duration(sequencer_config.tempo, sequencer_config.resolution); +} uint16_t get_beat_duration(uint8_t tempo) { // Don’t crash in the unlikely case where the given tempo is 0 diff --git a/quantum/sequencer/sequencer.h b/quantum/sequencer/sequencer.h index 4017ae764efc..a8ea16eece6c 100644 --- a/quantum/sequencer/sequencer.h +++ b/quantum/sequencer/sequencer.h @@ -48,7 +48,7 @@ typedef struct { bool enabled; uint8_t steps[SEQUENCER_STEPS]; uint16_t track_notes[SEQUENCER_TRACKS]; - uint8_t tempo; // Is a maximum tempo of 255 reasonable? + uint8_t tempo; // Is a maximum tempo of 255 reasonable? sequencer_resolution_t resolution; } sequencer_config_t; @@ -57,9 +57,9 @@ typedef struct { * We use a "phase" state machine to delay some of the events. */ typedef enum sequencer_phase_t { - SEQUENCER_PHASE_ATTACK, // t=0ms, send the MIDI note on signal - SEQUENCER_PHASE_RELEASE, // t=SEQUENCER_PHASE_RELEASE_TIMEOUT ms, send the MIDI note off signal - SEQUENCER_PHASE_PAUSE // t=step duration ms, loop + SEQUENCER_PHASE_ATTACK, // t=0ms, send the MIDI note on signal + SEQUENCER_PHASE_RELEASE, // t=SEQUENCER_PHASE_RELEASE_TIMEOUT ms, send the MIDI note off signal + SEQUENCER_PHASE_PAUSE // t=step duration ms, loop } sequencer_phase_t; typedef struct { diff --git a/quantum/sequencer/tests/midi_mock.c b/quantum/sequencer/tests/midi_mock.c index 236e16f9d70e..5bd945d615c0 100644 --- a/quantum/sequencer/tests/midi_mock.c +++ b/quantum/sequencer/tests/midi_mock.c @@ -19,8 +19,14 @@ uint16_t last_noteon = 0; uint16_t last_noteoff = 0; -uint16_t midi_compute_note(uint16_t keycode) { return keycode; } +uint16_t midi_compute_note(uint16_t keycode) { + return keycode; +} -void process_midi_basic_noteon(uint16_t note) { last_noteon = note; } +void process_midi_basic_noteon(uint16_t note) { + last_noteon = note; +} -void process_midi_basic_noteoff(uint16_t note) { last_noteoff = note; } +void process_midi_basic_noteoff(uint16_t note) { + last_noteoff = note; +} diff --git a/quantum/sequencer/tests/sequencer_tests.cpp b/quantum/sequencer/tests/sequencer_tests.cpp index 290605a52a4f..05e58e41111f 100644 --- a/quantum/sequencer/tests/sequencer_tests.cpp +++ b/quantum/sequencer/tests/sequencer_tests.cpp @@ -78,7 +78,9 @@ class SequencerTest : public ::testing::Test { sequencer_state_t state_copy; }; -TEST_F(SequencerTest, TestOffByDefault) { EXPECT_EQ(is_sequencer_on(), false); } +TEST_F(SequencerTest, TestOffByDefault) { + EXPECT_EQ(is_sequencer_on(), false); +} TEST_F(SequencerTest, TestOn) { sequencer_config.enabled = false; diff --git a/quantum/split_common/post_config.h b/quantum/split_common/post_config.h index a4c0a1956b8a..8f79beb6eda6 100644 --- a/quantum/split_common/post_config.h +++ b/quantum/split_common/post_config.h @@ -5,6 +5,6 @@ # endif # ifndef F_SCL -# define F_SCL 100000UL // SCL frequency +# define F_SCL 100000UL // SCL frequency # endif #endif diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c index 35f0a9d181dd..7d50adf758fb 100644 --- a/quantum/split_common/split_util.c +++ b/quantum/split_common/split_util.c @@ -43,14 +43,14 @@ // Set to 0 to disable the disconnection check altogether. #ifndef SPLIT_MAX_CONNECTION_ERRORS # define SPLIT_MAX_CONNECTION_ERRORS 10 -#endif // SPLIT_MAX_CONNECTION_ERRORS +#endif // SPLIT_MAX_CONNECTION_ERRORS // How long (in milliseconds) to block all connection attempts after the communication has been flagged as disconnected. // One communication attempt will be allowed everytime this amount of time has passed since the last attempt. If that attempt succeeds, the communication is seen as working again. // Set to 0 to disable communication throttling while disconnected #ifndef SPLIT_CONNECTION_CHECK_TIMEOUT # define SPLIT_CONNECTION_CHECK_TIMEOUT 500 -#endif // SPLIT_CONNECTION_CHECK_TIMEOUT +#endif // SPLIT_CONNECTION_CHECK_TIMEOUT static uint8_t connection_errors = 0; @@ -68,7 +68,9 @@ static bool usbIsActive(void) { return false; } #else -static inline bool usbIsActive(void) { return usb_vbus_state(); } +static inline bool usbIsActive(void) { + return usb_vbus_state(); +} #endif #ifdef SPLIT_HAND_MATRIX_GRID @@ -83,7 +85,7 @@ static uint8_t peek_matrix_intersection(pin_t out_pin, pin_t in_pin) { uint8_t pin_state = readPin(in_pin); // Set out_pin to a setting that is less susceptible to noise. setPinInputHigh(out_pin); - matrix_io_delay(); // Wait for the pull-up to go HIGH. + matrix_io_delay(); // Wait for the pull-up to go HIGH. return pin_state; } #endif @@ -158,7 +160,9 @@ void split_post_init(void) { } } -bool is_transport_connected(void) { return connection_errors < SPLIT_MAX_CONNECTION_ERRORS; } +bool is_transport_connected(void) { + return connection_errors < SPLIT_MAX_CONNECTION_ERRORS; +} bool transport_master_if_connected(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { #if SPLIT_MAX_CONNECTION_ERRORS > 0 && SPLIT_CONNECTION_CHECK_TIMEOUT > 0 @@ -169,7 +173,7 @@ bool transport_master_if_connected(matrix_row_t master_matrix[], matrix_row_t sl if (is_disconnected && timer_elapsed(connection_check_timer) < SPLIT_CONNECTION_CHECK_TIMEOUT) { return false; } -#endif // SPLIT_MAX_CONNECTION_ERRORS > 0 && SPLIT_CONNECTION_CHECK_TIMEOUT > 0 +#endif // SPLIT_MAX_CONNECTION_ERRORS > 0 && SPLIT_CONNECTION_CHECK_TIMEOUT > 0 __attribute__((unused)) bool okay = transport_master(master_matrix, slave_matrix); #if SPLIT_MAX_CONNECTION_ERRORS > 0 @@ -186,10 +190,10 @@ bool transport_master_if_connected(matrix_row_t master_matrix[], matrix_row_t sl return connected; } else if (is_disconnected) { dprintln("Target connected"); -# endif // SPLIT_CONNECTION_CHECK_TIMEOUT > 0 +# endif // SPLIT_CONNECTION_CHECK_TIMEOUT > 0 } connection_errors = 0; -#endif // SPLIT_MAX_CONNECTION_ERRORS > 0 +#endif // SPLIT_MAX_CONNECTION_ERRORS > 0 return true; } diff --git a/quantum/split_common/transaction_id_define.h b/quantum/split_common/transaction_id_define.h index aa71c3621e7a..761a8884f4ec 100644 --- a/quantum/split_common/transaction_id_define.h +++ b/quantum/split_common/transaction_id_define.h @@ -19,87 +19,87 @@ enum serial_transaction_id { #ifdef USE_I2C I2C_EXECUTE_CALLBACK, -#endif // USE_I2C +#endif // USE_I2C GET_SLAVE_MATRIX_CHECKSUM, GET_SLAVE_MATRIX_DATA, #ifdef SPLIT_TRANSPORT_MIRROR PUT_MASTER_MATRIX, -#endif // SPLIT_TRANSPORT_MIRROR +#endif // SPLIT_TRANSPORT_MIRROR #ifdef ENCODER_ENABLE GET_ENCODERS_CHECKSUM, GET_ENCODERS_DATA, -#endif // ENCODER_ENABLE +#endif // ENCODER_ENABLE #ifndef DISABLE_SYNC_TIMER PUT_SYNC_TIMER, -#endif // DISABLE_SYNC_TIMER +#endif // DISABLE_SYNC_TIMER #if !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) PUT_LAYER_STATE, PUT_DEFAULT_LAYER_STATE, -#endif // !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) +#endif // !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) #ifdef SPLIT_LED_STATE_ENABLE PUT_LED_STATE, -#endif // SPLIT_LED_STATE_ENABLE +#endif // SPLIT_LED_STATE_ENABLE #ifdef SPLIT_MODS_ENABLE PUT_MODS, -#endif // SPLIT_MODS_ENABLE +#endif // SPLIT_MODS_ENABLE #ifdef BACKLIGHT_ENABLE PUT_BACKLIGHT, -#endif // BACKLIGHT_ENABLE +#endif // BACKLIGHT_ENABLE #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) PUT_RGBLIGHT, -#endif // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) +#endif // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) #if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) PUT_LED_MATRIX, -#endif // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) +#endif // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) #if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) PUT_RGB_MATRIX, -#endif // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) +#endif // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) #if defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) PUT_WPM, -#endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) +#endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) #if defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) PUT_OLED, -#endif // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) +#endif // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) #if defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) PUT_ST7565, -#endif // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) +#endif // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) #if defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) GET_POINTING_CHECKSUM, GET_POINTING_DATA, PUT_POINTING_CPI, -#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) +#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) PUT_RPC_INFO, PUT_RPC_REQ_DATA, EXECUTE_RPC, GET_RPC_RESP_DATA, -#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) // keyboard-specific #ifdef SPLIT_TRANSACTION_IDS_KB SPLIT_TRANSACTION_IDS_KB, -#endif // SPLIT_TRANSACTION_IDS_KB +#endif // SPLIT_TRANSACTION_IDS_KB // user/keymap-specific #ifdef SPLIT_TRANSACTION_IDS_USER SPLIT_TRANSACTION_IDS_USER, -#endif // SPLIT_TRANSACTION_IDS_USER +#endif // SPLIT_TRANSACTION_IDS_USER NUM_TOTAL_TRANSACTIONS }; diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 4b059a2b8a8b..cffbccaeee2f 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -30,7 +30,7 @@ #ifndef FORCED_SYNC_THROTTLE_MS # define FORCED_SYNC_THROTTLE_MS 100 -#endif // FORCED_SYNC_THROTTLE_MS +#endif // FORCED_SYNC_THROTTLE_MS #define sizeof_member(type, member) sizeof(((type *)NULL)->member) @@ -49,7 +49,7 @@ // Forward-declare the RPC callback handlers void slave_rpc_info_callback(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer); void slave_rpc_exec_callback(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer); -#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) //////////////////////////////////////////////////// // Helpers @@ -63,7 +63,9 @@ static bool transaction_handler_master(matrix_row_t master_matrix[], matrix_row_ } } bool this_okay = true; - ATOMIC_BLOCK_FORCEON { this_okay = handler(master_matrix, slave_matrix); }; + ATOMIC_BLOCK_FORCEON { + this_okay = handler(master_matrix, slave_matrix); + }; if (this_okay) return true; } dprintf("Failed to execute %s\n", prefix); @@ -75,9 +77,11 @@ static bool transaction_handler_master(matrix_row_t master_matrix[], matrix_row_ if (!transaction_handler_master(master_matrix, slave_matrix, #prefix, &prefix##_handlers_master)) return false; \ } while (0) -#define TRANSACTION_HANDLER_SLAVE(prefix) \ - do { \ - ATOMIC_BLOCK_FORCEON { prefix##_handlers_slave(master_matrix, slave_matrix); }; \ +#define TRANSACTION_HANDLER_SLAVE(prefix) \ + do { \ + ATOMIC_BLOCK_FORCEON { \ + prefix##_handlers_slave(master_matrix, slave_matrix); \ + }; \ } while (0) inline static bool read_if_checksum_mismatch(int8_t trans_id_checksum, int8_t trans_id_retrieve, uint32_t *last_update, void *destination, const void *equiv_shmem, size_t length) { @@ -116,8 +120,8 @@ inline static bool send_if_data_mismatch(int8_t trans_id, uint32_t *last_update, static bool slave_matrix_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { static uint32_t last_update = 0; - static matrix_row_t last_matrix[(MATRIX_ROWS) / 2] = {0}; // last successfully-read matrix, so we can replicate if there are checksum errors - matrix_row_t temp_matrix[(MATRIX_ROWS) / 2]; // holding area while we test whether or not checksum is correct + static matrix_row_t last_matrix[(MATRIX_ROWS) / 2] = {0}; // last successfully-read matrix, so we can replicate if there are checksum errors + matrix_row_t temp_matrix[(MATRIX_ROWS) / 2]; // holding area while we test whether or not checksum is correct bool okay = read_if_checksum_mismatch(GET_SLAVE_MATRIX_CHECKSUM, GET_SLAVE_MATRIX_DATA, &last_update, temp_matrix, split_shmem->smatrix.matrix, sizeof(split_shmem->smatrix.matrix)); if (okay) { @@ -161,13 +165,13 @@ static void master_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_ro # define TRANSACTIONS_MASTER_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(master_matrix) # define TRANSACTIONS_MASTER_MATRIX_REGISTRATIONS [PUT_MASTER_MATRIX] = trans_initiator2target_initializer(mmatrix.matrix), -#else // SPLIT_TRANSPORT_MIRROR +#else // SPLIT_TRANSPORT_MIRROR # define TRANSACTIONS_MASTER_MATRIX_MASTER() # define TRANSACTIONS_MASTER_MATRIX_SLAVE() # define TRANSACTIONS_MASTER_MATRIX_REGISTRATIONS -#endif // SPLIT_TRANSPORT_MIRROR +#endif // SPLIT_TRANSPORT_MIRROR //////////////////////////////////////////////////// // Encoders @@ -200,13 +204,13 @@ static void encoder_handlers_slave(matrix_row_t master_matrix[], matrix_row_t sl [GET_ENCODERS_DATA] = trans_target2initiator_initializer(encoders.state), // clang-format on -#else // ENCODER_ENABLE +#else // ENCODER_ENABLE # define TRANSACTIONS_ENCODERS_MASTER() # define TRANSACTIONS_ENCODERS_SLAVE() # define TRANSACTIONS_ENCODERS_REGISTRATIONS -#endif // ENCODER_ENABLE +#endif // ENCODER_ENABLE //////////////////////////////////////////////////// // Sync timer @@ -239,13 +243,13 @@ static void sync_timer_handlers_slave(matrix_row_t master_matrix[], matrix_row_t # define TRANSACTIONS_SYNC_TIMER_SLAVE() TRANSACTION_HANDLER_SLAVE(sync_timer) # define TRANSACTIONS_SYNC_TIMER_REGISTRATIONS [PUT_SYNC_TIMER] = trans_initiator2target_initializer(sync_timer), -#else // DISABLE_SYNC_TIMER +#else // DISABLE_SYNC_TIMER # define TRANSACTIONS_SYNC_TIMER_MASTER() # define TRANSACTIONS_SYNC_TIMER_SLAVE() # define TRANSACTIONS_SYNC_TIMER_REGISTRATIONS -#endif // DISABLE_SYNC_TIMER +#endif // DISABLE_SYNC_TIMER //////////////////////////////////////////////////// // Layer state @@ -276,13 +280,13 @@ static void layer_state_handlers_slave(matrix_row_t master_matrix[], matrix_row_ [PUT_DEFAULT_LAYER_STATE] = trans_initiator2target_initializer(layers.default_layer_state), // clang-format on -#else // !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) +#else // !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) # define TRANSACTIONS_LAYER_STATE_MASTER() # define TRANSACTIONS_LAYER_STATE_SLAVE() # define TRANSACTIONS_LAYER_STATE_REGISTRATIONS -#endif // !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) +#endif // !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) //////////////////////////////////////////////////// // LED state @@ -304,13 +308,13 @@ static void led_state_handlers_slave(matrix_row_t master_matrix[], matrix_row_t # define TRANSACTIONS_LED_STATE_SLAVE() TRANSACTION_HANDLER_SLAVE(led_state) # define TRANSACTIONS_LED_STATE_REGISTRATIONS [PUT_LED_STATE] = trans_initiator2target_initializer(led_state), -#else // SPLIT_LED_STATE_ENABLE +#else // SPLIT_LED_STATE_ENABLE # define TRANSACTIONS_LED_STATE_MASTER() # define TRANSACTIONS_LED_STATE_SLAVE() # define TRANSACTIONS_LED_STATE_REGISTRATIONS -#endif // SPLIT_LED_STATE_ENABLE +#endif // SPLIT_LED_STATE_ENABLE //////////////////////////////////////////////////// // Mods @@ -336,7 +340,7 @@ static bool mods_handlers_master(matrix_row_t master_matrix[], matrix_row_t slav if (!mods_need_sync && new_mods.oneshot_mods != split_shmem->mods.oneshot_mods) { mods_need_sync = true; } -# endif // NO_ACTION_ONESHOT +# endif // NO_ACTION_ONESHOT bool okay = true; if (mods_need_sync) { @@ -361,13 +365,13 @@ static void mods_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave # define TRANSACTIONS_MODS_SLAVE() TRANSACTION_HANDLER_SLAVE(mods) # define TRANSACTIONS_MODS_REGISTRATIONS [PUT_MODS] = trans_initiator2target_initializer(mods), -#else // SPLIT_MODS_ENABLE +#else // SPLIT_MODS_ENABLE # define TRANSACTIONS_MODS_MASTER() # define TRANSACTIONS_MODS_SLAVE() # define TRANSACTIONS_MODS_REGISTRATIONS -#endif // SPLIT_MODS_ENABLE +#endif // SPLIT_MODS_ENABLE //////////////////////////////////////////////////// // Backlight @@ -380,19 +384,21 @@ static bool backlight_handlers_master(matrix_row_t master_matrix[], matrix_row_t return send_if_condition(PUT_BACKLIGHT, &last_update, (level != split_shmem->backlight_level), &level, sizeof(level)); } -static void backlight_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { backlight_set(split_shmem->backlight_level); } +static void backlight_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { + backlight_set(split_shmem->backlight_level); +} # define TRANSACTIONS_BACKLIGHT_MASTER() TRANSACTION_HANDLER_MASTER(backlight) # define TRANSACTIONS_BACKLIGHT_SLAVE() TRANSACTION_HANDLER_SLAVE(backlight) # define TRANSACTIONS_BACKLIGHT_REGISTRATIONS [PUT_BACKLIGHT] = trans_initiator2target_initializer(backlight_level), -#else // BACKLIGHT_ENABLE +#else // BACKLIGHT_ENABLE # define TRANSACTIONS_BACKLIGHT_MASTER() # define TRANSACTIONS_BACKLIGHT_SLAVE() # define TRANSACTIONS_BACKLIGHT_REGISTRATIONS -#endif // BACKLIGHT_ENABLE +#endif // BACKLIGHT_ENABLE //////////////////////////////////////////////////// // RGBLIGHT @@ -423,13 +429,13 @@ static void rgblight_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s # define TRANSACTIONS_RGBLIGHT_SLAVE() TRANSACTION_HANDLER_SLAVE(rgblight) # define TRANSACTIONS_RGBLIGHT_REGISTRATIONS [PUT_RGBLIGHT] = trans_initiator2target_initializer(rgblight_sync), -#else // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) +#else // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) # define TRANSACTIONS_RGBLIGHT_MASTER() # define TRANSACTIONS_RGBLIGHT_SLAVE() # define TRANSACTIONS_RGBLIGHT_REGISTRATIONS -#endif // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) +#endif // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) //////////////////////////////////////////////////// // LED Matrix @@ -453,13 +459,13 @@ static void led_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_row_t # define TRANSACTIONS_LED_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(led_matrix) # define TRANSACTIONS_LED_MATRIX_REGISTRATIONS [PUT_LED_MATRIX] = trans_initiator2target_initializer(led_matrix_sync), -#else // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) +#else // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) # define TRANSACTIONS_LED_MATRIX_MASTER() # define TRANSACTIONS_LED_MATRIX_SLAVE() # define TRANSACTIONS_LED_MATRIX_REGISTRATIONS -#endif // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) +#endif // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) //////////////////////////////////////////////////// // RGB Matrix @@ -483,13 +489,13 @@ static void rgb_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_row_t # define TRANSACTIONS_RGB_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(rgb_matrix) # define TRANSACTIONS_RGB_MATRIX_REGISTRATIONS [PUT_RGB_MATRIX] = trans_initiator2target_initializer(rgb_matrix_sync), -#else // defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) +#else // defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) # define TRANSACTIONS_RGB_MATRIX_MASTER() # define TRANSACTIONS_RGB_MATRIX_SLAVE() # define TRANSACTIONS_RGB_MATRIX_REGISTRATIONS -#endif // defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) +#endif // defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) //////////////////////////////////////////////////// // WPM @@ -502,19 +508,21 @@ static bool wpm_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave return send_if_condition(PUT_WPM, &last_update, (current_wpm != split_shmem->current_wpm), ¤t_wpm, sizeof(current_wpm)); } -static void wpm_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { set_current_wpm(split_shmem->current_wpm); } +static void wpm_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { + set_current_wpm(split_shmem->current_wpm); +} # define TRANSACTIONS_WPM_MASTER() TRANSACTION_HANDLER_MASTER(wpm) # define TRANSACTIONS_WPM_SLAVE() TRANSACTION_HANDLER_SLAVE(wpm) # define TRANSACTIONS_WPM_REGISTRATIONS [PUT_WPM] = trans_initiator2target_initializer(current_wpm), -#else // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) +#else // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) # define TRANSACTIONS_WPM_MASTER() # define TRANSACTIONS_WPM_SLAVE() # define TRANSACTIONS_WPM_REGISTRATIONS -#endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) +#endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) //////////////////////////////////////////////////// // OLED @@ -539,13 +547,13 @@ static void oled_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave # define TRANSACTIONS_OLED_SLAVE() TRANSACTION_HANDLER_SLAVE(oled) # define TRANSACTIONS_OLED_REGISTRATIONS [PUT_OLED] = trans_initiator2target_initializer(current_oled_state), -#else // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) +#else // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) # define TRANSACTIONS_OLED_MASTER() # define TRANSACTIONS_OLED_SLAVE() # define TRANSACTIONS_OLED_REGISTRATIONS -#endif // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) +#endif // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) //////////////////////////////////////////////////// // ST7565 @@ -570,13 +578,13 @@ static void st7565_handlers_slave(matrix_row_t master_matrix[], matrix_row_t sla # define TRANSACTIONS_ST7565_SLAVE() TRANSACTION_HANDLER_SLAVE(st7565) # define TRANSACTIONS_ST7565_REGISTRATIONS [PUT_ST7565] = trans_initiator2target_initializer(current_st7565_state), -#else // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) +#else // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) # define TRANSACTIONS_ST7565_MASTER() # define TRANSACTIONS_ST7565_SLAVE() # define TRANSACTIONS_ST7565_REGISTRATIONS -#endif // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) +#endif // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) //////////////////////////////////////////////////// // POINTING @@ -631,7 +639,7 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s } last_exec = timer_read32(); # endif - temp_cpi = !pointing_device_driver.get_cpi ? 0 : pointing_device_driver.get_cpi(); // check for NULL + temp_cpi = !pointing_device_driver.get_cpi ? 0 : pointing_device_driver.get_cpi(); // check for NULL if (split_shmem->pointing.cpi && memcmp(&split_shmem->pointing.cpi, &temp_cpi, sizeof(temp_cpi)) != 0) { if (pointing_device_driver.set_cpi) { pointing_device_driver.set_cpi(split_shmem->pointing.cpi); @@ -648,13 +656,13 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s # define TRANSACTIONS_POINTING_SLAVE() TRANSACTION_HANDLER_SLAVE(pointing) # define TRANSACTIONS_POINTING_REGISTRATIONS [GET_POINTING_CHECKSUM] = trans_target2initiator_initializer(pointing.checksum), [GET_POINTING_DATA] = trans_target2initiator_initializer(pointing.report), [PUT_POINTING_CPI] = trans_initiator2target_initializer(pointing.cpi), -#else // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) +#else // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) # define TRANSACTIONS_POINTING_MASTER() # define TRANSACTIONS_POINTING_SLAVE() # define TRANSACTIONS_POINTING_REGISTRATIONS -#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) +#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) //////////////////////////////////////////////////// @@ -664,7 +672,7 @@ split_transaction_desc_t split_transaction_table[NUM_TOTAL_TRANSACTIONS] = { #ifdef USE_I2C [I2C_EXECUTE_CALLBACK] = trans_initiator2target_initializer(transaction_id), -#endif // USE_I2C +#endif // USE_I2C // clang-format off TRANSACTIONS_SLAVE_MATRIX_REGISTRATIONS @@ -689,7 +697,7 @@ split_transaction_desc_t split_transaction_table[NUM_TOTAL_TRANSACTIONS] = { [PUT_RPC_REQ_DATA] = trans_initiator2target_initializer(rpc_m2s_buffer), [EXECUTE_RPC] = trans_initiator2target_initializer_cb(rpc_info.transaction_id, slave_rpc_exec_callback), [GET_RPC_RESP_DATA] = trans_target2initiator_initializer(rpc_s2m_buffer), -#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) }; bool transactions_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { @@ -800,4 +808,4 @@ void slave_rpc_exec_callback(uint8_t initiator2target_buffer_size, const void *i } } -#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) diff --git a/quantum/split_common/transport.c b/quantum/split_common/transport.c index 060ba8a9274c..aade3c98d7a8 100644 --- a/quantum/split_common/transport.c +++ b/quantum/split_common/transport.c @@ -26,7 +26,7 @@ # ifndef SLAVE_I2C_TIMEOUT # define SLAVE_I2C_TIMEOUT 100 -# endif // SLAVE_I2C_TIMEOUT +# endif // SLAVE_I2C_TIMEOUT # ifndef SLAVE_I2C_ADDRESS # define SLAVE_I2C_ADDRESS 0x32 @@ -40,8 +40,12 @@ _Static_assert(sizeof(split_shared_memory_t) <= I2C_SLAVE_REG_COUNT, "split_shar split_shared_memory_t *const split_shmem = (split_shared_memory_t *)i2c_slave_reg; -void transport_master_init(void) { i2c_init(); } -void transport_slave_init(void) { i2c_slave_init(SLAVE_I2C_ADDRESS); } +void transport_master_init(void) { + i2c_init(); +} +void transport_slave_init(void) { + i2c_slave_init(SLAVE_I2C_ADDRESS); +} i2c_status_t transport_trigger_callback(int8_t id) { // If there's no callback, indicate that we were successful @@ -82,15 +86,19 @@ bool transport_execute_transaction(int8_t id, const void *initiator2target_buf, return true; } -#else // USE_I2C +#else // USE_I2C # include "serial.h" static split_shared_memory_t shared_memory; split_shared_memory_t *const split_shmem = &shared_memory; -void transport_master_init(void) { soft_serial_initiator_init(); } -void transport_slave_init(void) { soft_serial_target_init(); } +void transport_master_init(void) { + soft_serial_initiator_init(); +} +void transport_slave_init(void) { + soft_serial_target_init(); +} bool transport_execute_transaction(int8_t id, const void *initiator2target_buf, uint16_t initiator2target_length, void *target2initiator_buf, uint16_t target2initiator_length) { split_transaction_desc_t *trans = &split_transaction_table[id]; @@ -111,8 +119,12 @@ bool transport_execute_transaction(int8_t id, const void *initiator2target_buf, return true; } -#endif // USE_I2C +#endif // USE_I2C -bool transport_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { return transactions_master(master_matrix, slave_matrix); } +bool transport_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { + return transactions_master(master_matrix, slave_matrix); +} -void transport_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { transactions_slave(master_matrix, slave_matrix); } +void transport_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { + transactions_slave(master_matrix, slave_matrix); +} diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h index 31b804908b94..26bd136728ee 100644 --- a/quantum/split_common/transport.h +++ b/quantum/split_common/transport.h @@ -25,11 +25,11 @@ #ifndef RPC_M2S_BUFFER_SIZE # define RPC_M2S_BUFFER_SIZE 32 -#endif // RPC_M2S_BUFFER_SIZE +#endif // RPC_M2S_BUFFER_SIZE #ifndef RPC_S2M_BUFFER_SIZE # define RPC_S2M_BUFFER_SIZE 32 -#endif // RPC_S2M_BUFFER_SIZE +#endif // RPC_S2M_BUFFER_SIZE void transport_master_init(void); void transport_slave_init(void); @@ -43,15 +43,15 @@ bool transport_execute_transaction(int8_t id, const void *initiator2target_buf, #ifdef ENCODER_ENABLE # include "encoder.h" # define NUMBER_OF_ENCODERS (sizeof((pin_t[])ENCODERS_PAD_A) / sizeof(pin_t)) -#endif // ENCODER_ENABLE +#endif // ENCODER_ENABLE #ifdef BACKLIGHT_ENABLE # include "backlight.h" -#endif // BACKLIGHT_ENABLE +#endif // BACKLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE # include "rgblight.h" -#endif // RGBLIGHT_ENABLE +#endif // RGBLIGHT_ENABLE typedef struct _split_slave_matrix_sync_t { uint8_t checksum; @@ -62,21 +62,21 @@ typedef struct _split_slave_matrix_sync_t { typedef struct _split_master_matrix_sync_t { matrix_row_t matrix[(MATRIX_ROWS) / 2]; } split_master_matrix_sync_t; -#endif // SPLIT_TRANSPORT_MIRROR +#endif // SPLIT_TRANSPORT_MIRROR #ifdef ENCODER_ENABLE typedef struct _split_slave_encoder_sync_t { uint8_t checksum; uint8_t state[NUMBER_OF_ENCODERS]; } split_slave_encoder_sync_t; -#endif // ENCODER_ENABLE +#endif // ENCODER_ENABLE #if !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) typedef struct _split_layers_sync_t { layer_state_t layer_state; layer_state_t default_layer_state; } split_layers_sync_t; -#endif // !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) +#endif // !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) #if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) # include "led_matrix.h" @@ -85,7 +85,7 @@ typedef struct _led_matrix_sync_t { led_eeconfig_t led_matrix; bool led_suspend_state; } led_matrix_sync_t; -#endif // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) +#endif // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) #if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) # include "rgb_matrix.h" @@ -94,7 +94,7 @@ typedef struct _rgb_matrix_sync_t { rgb_config_t rgb_matrix; bool rgb_suspend_state; } rgb_matrix_sync_t; -#endif // defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) +#endif // defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) #ifdef SPLIT_MODS_ENABLE typedef struct _split_mods_sync_t { @@ -102,9 +102,9 @@ typedef struct _split_mods_sync_t { uint8_t weak_mods; # ifndef NO_ACTION_ONESHOT uint8_t oneshot_mods; -# endif // NO_ACTION_ONESHOT +# endif // NO_ACTION_ONESHOT } split_mods_sync_t; -#endif // SPLIT_MODS_ENABLE +#endif // SPLIT_MODS_ENABLE #if defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) # include "pointing_device.h" @@ -113,7 +113,7 @@ typedef struct _split_slave_pointing_sync_t { report_mouse_t report; uint16_t cpi; } split_slave_pointing_sync_t; -#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) +#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) typedef struct _rpc_sync_info_t { @@ -121,76 +121,76 @@ typedef struct _rpc_sync_info_t { uint8_t m2s_length; uint8_t s2m_length; } rpc_sync_info_t; -#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) typedef struct _split_shared_memory_t { #ifdef USE_I2C int8_t transaction_id; -#endif // USE_I2C +#endif // USE_I2C split_slave_matrix_sync_t smatrix; #ifdef SPLIT_TRANSPORT_MIRROR split_master_matrix_sync_t mmatrix; -#endif // SPLIT_TRANSPORT_MIRROR +#endif // SPLIT_TRANSPORT_MIRROR #ifdef ENCODER_ENABLE split_slave_encoder_sync_t encoders; -#endif // ENCODER_ENABLE +#endif // ENCODER_ENABLE #ifndef DISABLE_SYNC_TIMER uint32_t sync_timer; -#endif // DISABLE_SYNC_TIMER +#endif // DISABLE_SYNC_TIMER #if !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) split_layers_sync_t layers; -#endif // !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) +#endif // !defined(NO_ACTION_LAYER) && defined(SPLIT_LAYER_STATE_ENABLE) #ifdef SPLIT_LED_STATE_ENABLE uint8_t led_state; -#endif // SPLIT_LED_STATE_ENABLE +#endif // SPLIT_LED_STATE_ENABLE #ifdef SPLIT_MODS_ENABLE split_mods_sync_t mods; -#endif // SPLIT_MODS_ENABLE +#endif // SPLIT_MODS_ENABLE #ifdef BACKLIGHT_ENABLE uint8_t backlight_level; -#endif // BACKLIGHT_ENABLE +#endif // BACKLIGHT_ENABLE #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) rgblight_syncinfo_t rgblight_sync; -#endif // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) +#endif // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) #if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) led_matrix_sync_t led_matrix_sync; -#endif // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) +#endif // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) #if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) rgb_matrix_sync_t rgb_matrix_sync; -#endif // defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) +#endif // defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) #if defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) uint8_t current_wpm; -#endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) +#endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) #if defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) uint8_t current_oled_state; -#endif // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) +#endif // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) #if defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) uint8_t current_st7565_state; -#endif // ST7565_ENABLE(OLED_ENABLE) && defined(SPLIT_ST7565_ENABLE) +#endif // ST7565_ENABLE(OLED_ENABLE) && defined(SPLIT_ST7565_ENABLE) #if defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) split_slave_pointing_sync_t pointing; -#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) +#endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) rpc_sync_info_t rpc_info; uint8_t rpc_m2s_buffer[RPC_M2S_BUFFER_SIZE]; uint8_t rpc_s2m_buffer[RPC_S2M_BUFFER_SIZE]; -#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) } split_shared_memory_t; extern split_shared_memory_t *const split_shmem; diff --git a/quantum/sync_timer.c b/quantum/sync_timer.c index de24b463b6b7..217891233f02 100644 --- a/quantum/sync_timer.c +++ b/quantum/sync_timer.c @@ -29,7 +29,9 @@ SOFTWARE. #if defined(SPLIT_KEYBOARD) && !defined(DISABLE_SYNC_TIMER) volatile int32_t sync_timer_ms; -void sync_timer_init(void) { sync_timer_ms = 0; } +void sync_timer_init(void) { + sync_timer_ms = 0; +} void sync_timer_update(uint32_t time) { if (is_keyboard_master()) return; diff --git a/quantum/velocikey.c b/quantum/velocikey.c index 6b7f82d9508d..58e14215bb36 100644 --- a/quantum/velocikey.c +++ b/quantum/velocikey.c @@ -13,7 +13,9 @@ #define TYPING_SPEED_MAX_VALUE 200 uint8_t typing_speed = 0; -bool velocikey_enabled(void) { return eeprom_read_byte(EECONFIG_VELOCIKEY) == 1; } +bool velocikey_enabled(void) { + return eeprom_read_byte(EECONFIG_VELOCIKEY) == 1; +} void velocikey_toggle(void) { if (velocikey_enabled()) @@ -39,4 +41,6 @@ void velocikey_decelerate(void) { } } -uint8_t velocikey_match_speed(uint8_t minValue, uint8_t maxValue) { return MAX(minValue, maxValue - (maxValue - minValue) * ((float)typing_speed / TYPING_SPEED_MAX_VALUE)); } +uint8_t velocikey_match_speed(uint8_t minValue, uint8_t maxValue) { + return MAX(minValue, maxValue - (maxValue - minValue) * ((float)typing_speed / TYPING_SPEED_MAX_VALUE)); +} diff --git a/quantum/via.c b/quantum/via.c index a3bd82d9b3d0..05ab799cbbed 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -45,7 +45,7 @@ #include "raw_hid.h" #include "dynamic_keymap.h" #include "eeprom.h" -#include "version.h" // for QMK_BUILDDATE used in EEPROM magic +#include "version.h" // for QMK_BUILDDATE used in EEPROM magic #include "via_ensure_keycode.h" // Forward declare some helpers. @@ -62,7 +62,7 @@ void via_qmk_rgblight_get_value(uint8_t *data); // Can be called in an overriding via_init_kb() to test if keyboard level code usage of // EEPROM is invalid and use/save defaults. bool via_eeprom_is_valid(void) { - char * p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" + char * p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" uint8_t magic0 = ((p[2] & 0x0F) << 4) | (p[3] & 0x0F); uint8_t magic1 = ((p[5] & 0x0F) << 4) | (p[6] & 0x0F); uint8_t magic2 = ((p[8] & 0x0F) << 4) | (p[9] & 0x0F); @@ -73,7 +73,7 @@ bool via_eeprom_is_valid(void) { // Sets VIA/keyboard level usage of EEPROM to valid/invalid // Keyboard level code (eg. via_init_kb()) should not call this void via_eeprom_set_valid(bool valid) { - char * p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" + char * p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" uint8_t magic0 = ((p[2] & 0x0F) << 4) | (p[3] & 0x0F); uint8_t magic1 = ((p[5] & 0x0F) << 4) | (p[6] & 0x0F); uint8_t magic2 = ((p[8] & 0x0F) << 4) | (p[9] & 0x0F); @@ -347,13 +347,13 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { } case id_dynamic_keymap_macro_get_buffer: { uint16_t offset = (command_data[0] << 8) | command_data[1]; - uint16_t size = command_data[2]; // size <= 28 + uint16_t size = command_data[2]; // size <= 28 dynamic_keymap_macro_get_buffer(offset, size, &command_data[3]); break; } case id_dynamic_keymap_macro_set_buffer: { uint16_t offset = (command_data[0] << 8) | command_data[1]; - uint16_t size = command_data[2]; // size <= 28 + uint16_t size = command_data[2]; // size <= 28 dynamic_keymap_macro_set_buffer(offset, size, &command_data[3]); break; } @@ -367,13 +367,13 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { } case id_dynamic_keymap_get_buffer: { uint16_t offset = (command_data[0] << 8) | command_data[1]; - uint16_t size = command_data[2]; // size <= 28 + uint16_t size = command_data[2]; // size <= 28 dynamic_keymap_get_buffer(offset, size, &command_data[3]); break; } case id_dynamic_keymap_set_buffer: { uint16_t offset = (command_data[0] << 8) | command_data[1]; - uint16_t size = command_data[2]; // size <= 28 + uint16_t size = command_data[2]; // size <= 28 dynamic_keymap_set_buffer(offset, size, &command_data[3]); break; } @@ -438,7 +438,7 @@ void via_qmk_backlight_set_value(uint8_t *data) { } } -#endif // #if defined(VIA_QMK_BACKLIGHT_ENABLE) +#endif // #if defined(VIA_QMK_BACKLIGHT_ENABLE) #if defined(VIA_QMK_RGBLIGHT_ENABLE) @@ -494,4 +494,4 @@ void via_qmk_rgblight_set_value(uint8_t *data) { } } -#endif // #if defined(VIA_QMK_RGBLIGHT_ENABLE) +#endif // #if defined(VIA_QMK_RGBLIGHT_ENABLE) diff --git a/quantum/via.h b/quantum/via.h index 5d16917dfa4f..ac29a5890232 100644 --- a/quantum/via.h +++ b/quantum/via.h @@ -16,7 +16,7 @@ #pragma once -#include "eeconfig.h" // for EECONFIG_SIZE +#include "eeconfig.h" // for EECONFIG_SIZE // Keyboard level code can change where VIA stores the magic. // The magic is the build date YYMMDD encoded as BCD in 3 bytes, @@ -59,7 +59,7 @@ #define VIA_PROTOCOL_VERSION 0x0009 enum via_command_id { - id_get_protocol_version = 0x01, // always 0x01 + id_get_protocol_version = 0x01, // always 0x01 id_get_keyboard_value = 0x02, id_set_keyboard_value = 0x03, id_dynamic_keymap_get_keycode = 0x04, @@ -82,7 +82,7 @@ enum via_command_id { }; enum via_keyboard_value_id { - id_uptime = 0x01, // + id_uptime = 0x01, // id_layout_options = 0x02, id_switch_matrix_state = 0x03 }; diff --git a/quantum/wpm.c b/quantum/wpm.c index 62d4128b8e5f..b2e6fe0430cc 100644 --- a/quantum/wpm.c +++ b/quantum/wpm.c @@ -55,12 +55,20 @@ static uint8_t prev_wpm = 0; static uint8_t next_wpm = 0; #endif -void set_current_wpm(uint8_t new_wpm) { current_wpm = new_wpm; } -uint8_t get_current_wpm(void) { return current_wpm; } +void set_current_wpm(uint8_t new_wpm) { + current_wpm = new_wpm; +} +uint8_t get_current_wpm(void) { + return current_wpm; +} -bool wpm_keycode(uint16_t keycode) { return wpm_keycode_kb(keycode); } +bool wpm_keycode(uint16_t keycode) { + return wpm_keycode_kb(keycode); +} -__attribute__((weak)) bool wpm_keycode_kb(uint16_t keycode) { return wpm_keycode_user(keycode); } +__attribute__((weak)) bool wpm_keycode_kb(uint16_t keycode) { + return wpm_keycode_user(keycode); +} __attribute__((weak)) bool wpm_keycode_user(uint16_t keycode) { if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) || (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) { @@ -122,7 +130,7 @@ void decay_wpm(void) { uint32_t duration = (((periods)*PERIOD_DURATION) + elapsed); int32_t wpm_now = (60000 * presses) / (duration * WPM_ESTIMATED_WORD_SIZE); - if (wpm_now < 0) // set some reasonable WPM measurement limits + if (wpm_now < 0) // set some reasonable WPM measurement limits wpm_now = 0; if (wpm_now > 240) wpm_now = 240; @@ -133,7 +141,7 @@ void decay_wpm(void) { elapsed = 0; wpm_timer = timer_read32(); } - if (presses < 2) // don't guess high WPM based on a single keypress. + if (presses < 2) // don't guess high WPM based on a single keypress. wpm_now = 0; #if defined(WPM_LAUNCH_CONTROL) @@ -150,7 +158,7 @@ void decay_wpm(void) { wpm_now = 0; period_presses[0] = 0; } -#endif // WPM_LAUNCH_CONTROL +#endif // WPM_LAUNCH_CONTROL #if defined(WPM_UNFILTERED) current_wpm = wpm_now; diff --git a/tests/test_common/keyboard_report_util.cpp b/tests/test_common/keyboard_report_util.cpp index e148c76beb7e..7908e64f7f41 100644 --- a/tests/test_common/keyboard_report_util.cpp +++ b/tests/test_common/keyboard_report_util.cpp @@ -36,7 +36,7 @@ std::vector get_keys(const report_keyboard_t& report) { std::sort(result.begin(), result.end()); return result; } -} // namespace +} // namespace bool operator==(const report_keyboard_t& lhs, const report_keyboard_t& rhs) { auto lhskeys = get_keys(lhs); @@ -72,8 +72,14 @@ KeyboardReportMatcher::KeyboardReportMatcher(const std::vector& keys) { } } -bool KeyboardReportMatcher::MatchAndExplain(report_keyboard_t& report, MatchResultListener* listener) const { return m_report == report; } +bool KeyboardReportMatcher::MatchAndExplain(report_keyboard_t& report, MatchResultListener* listener) const { + return m_report == report; +} -void KeyboardReportMatcher::DescribeTo(::std::ostream* os) const { *os << "is equal to " << m_report; } +void KeyboardReportMatcher::DescribeTo(::std::ostream* os) const { + *os << "is equal to " << m_report; +} -void KeyboardReportMatcher::DescribeNegationTo(::std::ostream* os) const { *os << "is not equal to " << m_report; } +void KeyboardReportMatcher::DescribeNegationTo(::std::ostream* os) const { + *os << "is not equal to " << m_report; +} diff --git a/tests/test_common/matrix.c b/tests/test_common/matrix.c index 9a92a801c780..7b24d560e3e0 100644 --- a/tests/test_common/matrix.c +++ b/tests/test_common/matrix.c @@ -30,7 +30,9 @@ uint8_t matrix_scan(void) { return 1; } -matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } +matrix_row_t matrix_get_row(uint8_t row) { + return matrix[row]; +} void matrix_print(void) {} @@ -38,10 +40,16 @@ void matrix_init_kb(void) {} void matrix_scan_kb(void) {} -void press_key(uint8_t col, uint8_t row) { matrix[row] |= 1 << col; } +void press_key(uint8_t col, uint8_t row) { + matrix[row] |= 1 << col; +} -void release_key(uint8_t col, uint8_t row) { matrix[row] &= ~(1 << col); } +void release_key(uint8_t col, uint8_t row) { + matrix[row] &= ~(1 << col); +} -void clear_all_keys(void) { memset(matrix, 0, sizeof(matrix)); } +void clear_all_keys(void) { + memset(matrix, 0, sizeof(matrix)); +} void led_set(uint8_t usb_led) {} diff --git a/tests/test_common/test_driver.cpp b/tests/test_common/test_driver.cpp index 2fa2b6a2e791..68f1dfd17d15 100644 --- a/tests/test_common/test_driver.cpp +++ b/tests/test_common/test_driver.cpp @@ -23,17 +23,27 @@ TestDriver::TestDriver() : m_driver{&TestDriver::keyboard_leds, &TestDriver::sen m_this = this; } -TestDriver::~TestDriver() { m_this = nullptr; } +TestDriver::~TestDriver() { + m_this = nullptr; +} -uint8_t TestDriver::keyboard_leds(void) { return m_this->m_leds; } +uint8_t TestDriver::keyboard_leds(void) { + return m_this->m_leds; +} void TestDriver::send_keyboard(report_keyboard_t* report) { test_logger.trace() << *report; m_this->send_keyboard_mock(*report); } -void TestDriver::send_mouse(report_mouse_t* report) { m_this->send_mouse_mock(*report); } +void TestDriver::send_mouse(report_mouse_t* report) { + m_this->send_mouse_mock(*report); +} -void TestDriver::send_system(uint16_t data) { m_this->send_system_mock(data); } +void TestDriver::send_system(uint16_t data) { + m_this->send_system_mock(data); +} -void TestDriver::send_consumer(uint16_t data) { m_this->send_consumer(data); } +void TestDriver::send_consumer(uint16_t data) { + m_this->send_consumer(data); +} diff --git a/tests/test_common/test_fixture.cpp b/tests/test_common/test_fixture.cpp index 91bf3e779ec9..c98a679554db 100644 --- a/tests/test_common/test_fixture.cpp +++ b/tests/test_common/test_fixture.cpp @@ -55,7 +55,9 @@ void TestFixture::SetUpTestCase() { void TestFixture::TearDownTestCase() {} -TestFixture::TestFixture() { m_this = this; } +TestFixture::TestFixture() { + m_this = this; +} TestFixture::~TestFixture() { test_logger.info() << "TestFixture clean-up start." << std::endl; diff --git a/tests/test_common/test_logger.cpp b/tests/test_common/test_logger.cpp index 959fdde5ec56..efc7719d132e 100644 --- a/tests/test_common/test_logger.cpp +++ b/tests/test_common/test_logger.cpp @@ -34,6 +34,10 @@ TestLogger& TestLogger::error() { return *this; } -void TestLogger::reset() { this->m_log.str(""); }; +void TestLogger::reset() { + this->m_log.str(""); +}; -void TestLogger::print_log() { std::cerr << this->m_log.str(); } +void TestLogger::print_log() { + std::cerr << this->m_log.str(); +} diff --git a/tmk_core/protocol/arm_atsam/adc.c b/tmk_core/protocol/arm_atsam/adc.c index 1ef1b11d5721..3afcbddf1011 100644 --- a/tmk_core/protocol/arm_atsam/adc.c +++ b/tmk_core/protocol/arm_atsam/adc.c @@ -27,10 +27,10 @@ uint16_t v_con_2_boot; void ADC0_clock_init(void) { DBGC(DC_ADC0_CLOCK_INIT_BEGIN); - MCLK->APBDMASK.bit.ADC0_ = 1; // ADC0 Clock Enable + MCLK->APBDMASK.bit.ADC0_ = 1; // ADC0 Clock Enable - GCLK->PCHCTRL[ADC0_GCLK_ID].bit.GEN = GEN_OSC0; // Select generator clock - GCLK->PCHCTRL[ADC0_GCLK_ID].bit.CHEN = 1; // Enable peripheral clock + GCLK->PCHCTRL[ADC0_GCLK_ID].bit.GEN = GEN_OSC0; // Select generator clock + GCLK->PCHCTRL[ADC0_GCLK_ID].bit.CHEN = 1; // Enable peripheral clock DBGC(DC_ADC0_CLOCK_INIT_COMPLETE); } @@ -39,15 +39,15 @@ void ADC0_init(void) { DBGC(DC_ADC0_INIT_BEGIN); // MCU - PORT->Group[1].DIRCLR.reg = 1 << 0; // PB00 as input 5V - PORT->Group[1].DIRCLR.reg = 1 << 1; // PB01 as input CON2 - PORT->Group[1].DIRCLR.reg = 1 << 2; // PB02 as input CON1 - PORT->Group[1].PMUX[0].bit.PMUXE = 1; // PB00 mux select B ADC 5V - PORT->Group[1].PMUX[0].bit.PMUXO = 1; // PB01 mux select B ADC CON2 - PORT->Group[1].PMUX[1].bit.PMUXE = 1; // PB02 mux select B ADC CON1 - PORT->Group[1].PINCFG[0].bit.PMUXEN = 1; // PB01 mux ADC Enable 5V - PORT->Group[1].PINCFG[1].bit.PMUXEN = 1; // PB01 mux ADC Enable CON2 - PORT->Group[1].PINCFG[2].bit.PMUXEN = 1; // PB02 mux ADC Enable CON1 + PORT->Group[1].DIRCLR.reg = 1 << 0; // PB00 as input 5V + PORT->Group[1].DIRCLR.reg = 1 << 1; // PB01 as input CON2 + PORT->Group[1].DIRCLR.reg = 1 << 2; // PB02 as input CON1 + PORT->Group[1].PMUX[0].bit.PMUXE = 1; // PB00 mux select B ADC 5V + PORT->Group[1].PMUX[0].bit.PMUXO = 1; // PB01 mux select B ADC CON2 + PORT->Group[1].PMUX[1].bit.PMUXE = 1; // PB02 mux select B ADC CON1 + PORT->Group[1].PINCFG[0].bit.PMUXEN = 1; // PB01 mux ADC Enable 5V + PORT->Group[1].PINCFG[1].bit.PMUXEN = 1; // PB01 mux ADC Enable CON2 + PORT->Group[1].PINCFG[2].bit.PMUXEN = 1; // PB02 mux ADC Enable CON1 // ADC ADC0->CTRLA.bit.SWRST = 1; @@ -81,7 +81,7 @@ void ADC0_init(void) { } // Settling - ADC0->SAMPCTRL.bit.SAMPLEN = 45; // Sampling Time Length: 1-63, 1 ADC CLK per + ADC0->SAMPCTRL.bit.SAMPLEN = 45; // Sampling Time Length: 1-63, 1 ADC CLK per while (ADC0->SYNCBUSY.bit.SAMPCTRL) { DBGC(DC_ADC0_SAMPCTRL_SYNCING_1); } diff --git a/tmk_core/protocol/arm_atsam/adc.h b/tmk_core/protocol/arm_atsam/adc.h index 9ab653e5a206..74fbb0e66f71 100644 --- a/tmk_core/protocol/arm_atsam/adc.h +++ b/tmk_core/protocol/arm_atsam/adc.h @@ -34,4 +34,4 @@ extern uint16_t v_con_2_boot; void ADC0_clock_init(void); void ADC0_init(void); -#endif //_ADC_H_ +#endif //_ADC_H_ diff --git a/tmk_core/protocol/arm_atsam/arm_atsam_protocol.h b/tmk_core/protocol/arm_atsam/arm_atsam_protocol.h index 319ff8487da8..db9827f6a2b8 100644 --- a/tmk_core/protocol/arm_atsam/arm_atsam_protocol.h +++ b/tmk_core/protocol/arm_atsam/arm_atsam_protocol.h @@ -42,6 +42,6 @@ along with this program. If not, see . # include "./usb/udc.h" # include "./usb/udi_cdc.h" -#endif // MD_BOOTLOADER +#endif // MD_BOOTLOADER -#endif //_ARM_ATSAM_PROTOCOL_H_ +#endif //_ARM_ATSAM_PROTOCOL_H_ diff --git a/tmk_core/protocol/arm_atsam/clks.c b/tmk_core/protocol/arm_atsam/clks.c index 84ed6d83af57..9b9475c61659 100644 --- a/tmk_core/protocol/arm_atsam/clks.c +++ b/tmk_core/protocol/arm_atsam/clks.c @@ -22,7 +22,7 @@ along with this program. If not, see . volatile clk_t system_clks; volatile uint64_t ms_clk; uint32_t usec_delay_mult; -#define USEC_DELAY_LOOP_CYCLES 3 // Sum of instruction cycles in us delay loop +#define USEC_DELAY_LOOP_CYCLES 3 // Sum of instruction cycles in us delay loop const uint32_t sercom_apbbase[] = {(uint32_t)SERCOM0, (uint32_t)SERCOM1, (uint32_t)SERCOM2, (uint32_t)SERCOM3, (uint32_t)SERCOM4, (uint32_t)SERCOM5}; const uint8_t sercom_pchan[] = {7, 8, 23, 24, 34, 35}; @@ -59,9 +59,9 @@ void CLK_oscctrl_init(void) { while (posctrl->Dpll[USE_DPLL_IND].DPLLSYNCBUSY.bit.ENABLE) { DBGC(DC_CLK_OSC_INIT_DPLL_SYNC_DISABLE); } - posctrl->Dpll[USE_DPLL_IND].DPLLCTRLB.bit.REFCLK = 2; // select XOSC0 (16MHz) - posctrl->Dpll[USE_DPLL_IND].DPLLCTRLB.bit.DIV = 7; // 16 MHz / (2 * (7 + 1)) = 1 MHz - posctrl->Dpll[USE_DPLL_IND].DPLLRATIO.bit.LDR = PLL_RATIO; // 1 MHz * (PLL_RATIO(47) + 1) = 48MHz + posctrl->Dpll[USE_DPLL_IND].DPLLCTRLB.bit.REFCLK = 2; // select XOSC0 (16MHz) + posctrl->Dpll[USE_DPLL_IND].DPLLCTRLB.bit.DIV = 7; // 16 MHz / (2 * (7 + 1)) = 1 MHz + posctrl->Dpll[USE_DPLL_IND].DPLLRATIO.bit.LDR = PLL_RATIO; // 1 MHz * (PLL_RATIO(47) + 1) = 48MHz while (posctrl->Dpll[USE_DPLL_IND].DPLLSYNCBUSY.bit.DPLLRATIO) { DBGC(DC_CLK_OSC_INIT_DPLL_SYNC_RATIO); } @@ -87,7 +87,7 @@ void CLK_oscctrl_init(void) { system_clks.freq_gclk[0] = system_clks.freq_dpll[0]; usec_delay_mult = system_clks.freq_gclk[0] / (USEC_DELAY_LOOP_CYCLES * 1000000); - if (usec_delay_mult < 1) usec_delay_mult = 1; // Never allow a multiplier of zero + if (usec_delay_mult < 1) usec_delay_mult = 1; // Never allow a multiplier of zero DBGC(DC_CLK_OSC_INIT_COMPLETE); } @@ -240,7 +240,7 @@ uint32_t CLK_enable_timebase(void) { // ptc4->COUNT16.DBGCTRL.bit.DBGRUN = 1; // wave mode - ptc4->COUNT16.WAVE.bit.WAVEGEN = 1; // MFRQ match frequency mode, toggle each CC match + ptc4->COUNT16.WAVE.bit.WAVEGEN = 1; // MFRQ match frequency mode, toggle each CC match // generate event for next stage ptc4->COUNT16.EVCTRL.bit.MCEO0 = 1; @@ -272,9 +272,9 @@ uint32_t CLK_enable_timebase(void) { DBGC(DC_CLK_ENABLE_TIMEBASE_TC0_SYNC_SWRST_2); } // CTRLA as default - ptc0->COUNT32.CTRLA.bit.MODE = 2; // 32 bit mode - ptc0->COUNT32.EVCTRL.bit.TCEI = 1; // enable incoming events - ptc0->COUNT32.EVCTRL.bit.EVACT = 2; // count events + ptc0->COUNT32.CTRLA.bit.MODE = 2; // 32 bit mode + ptc0->COUNT32.EVCTRL.bit.TCEI = 1; // enable incoming events + ptc0->COUNT32.EVCTRL.bit.EVACT = 2; // count events DBGC(DC_CLK_ENABLE_TIMEBASE_TC0_COMPLETE); @@ -284,10 +284,10 @@ uint32_t CLK_enable_timebase(void) { pmclk->APBBMASK.bit.EVSYS_ = 1; pgclk->PCHCTRL[EVSYS_GCLK_ID_0].bit.GEN = GEN_TC45; pgclk->PCHCTRL[EVSYS_GCLK_ID_0].bit.CHEN = 1; - pevsys->USER[44].reg = EVSYS_ID_USER_PORT_EV_0; // TC0 will get event channel 0 - pevsys->Channel[0].CHANNEL.bit.EDGSEL = EVSYS_CHANNEL_EDGSEL_RISING_EDGE_Val; // Rising edge - pevsys->Channel[0].CHANNEL.bit.PATH = EVSYS_CHANNEL_PATH_SYNCHRONOUS_Val; // Synchronous - pevsys->Channel[0].CHANNEL.bit.EVGEN = EVSYS_ID_GEN_TC4_MCX_0; // TC4 MC0 + pevsys->USER[44].reg = EVSYS_ID_USER_PORT_EV_0; // TC0 will get event channel 0 + pevsys->Channel[0].CHANNEL.bit.EDGSEL = EVSYS_CHANNEL_EDGSEL_RISING_EDGE_Val; // Rising edge + pevsys->Channel[0].CHANNEL.bit.PATH = EVSYS_CHANNEL_PATH_SYNCHRONOUS_Val; // Synchronous + pevsys->Channel[0].CHANNEL.bit.EVGEN = EVSYS_ID_GEN_TC4_MCX_0; // TC4 MC0 DBGC(DC_CLK_ENABLE_TIMEBASE_EVSYS_COMPLETE); @@ -301,15 +301,15 @@ uint32_t CLK_enable_timebase(void) { } void CLK_delay_us(uint32_t usec) { - asm("CBZ R0, return\n\t" // If usec == 0, branch to return label + asm("CBZ R0, return\n\t" // If usec == 0, branch to return label ); - asm("MULS R0, %0\n\t" // Multiply R0(usec) by usec_delay_mult and store in R0 - ".balign 16\n\t" // Ensure loop is aligned for fastest performance - "loop: SUBS R0, #1\n\t" // Subtract 1 from R0 and update flags (1 cycle) - "BNE loop\n\t" // Branch if non-zero to loop label (2 cycles) NOTE: USEC_DELAY_LOOP_CYCLES is the sum of loop cycles - "return:\n\t" // Return label - : // No output registers - : "r"(usec_delay_mult) // For %0 + asm("MULS R0, %0\n\t" // Multiply R0(usec) by usec_delay_mult and store in R0 + ".balign 16\n\t" // Ensure loop is aligned for fastest performance + "loop: SUBS R0, #1\n\t" // Subtract 1 from R0 and update flags (1 cycle) + "BNE loop\n\t" // Branch if non-zero to loop label (2 cycles) NOTE: USEC_DELAY_LOOP_CYCLES is the sum of loop cycles + "return:\n\t" // Return label + : // No output registers + : "r"(usec_delay_mult) // For %0 ); // Note: BX LR generated } diff --git a/tmk_core/protocol/arm_atsam/clks.h b/tmk_core/protocol/arm_atsam/clks.h index 72df3a8e3f3f..6ee71aff8fa6 100644 --- a/tmk_core/protocol/arm_atsam/clks.h +++ b/tmk_core/protocol/arm_atsam/clks.h @@ -24,14 +24,14 @@ along with this program. If not, see . # include "config_led.h" # include "config.h" -#endif // MD_BOOTLOADER +#endif // MD_BOOTLOADER -#define PLL_RATIO 47 // mcu frequency ((X+1)MHz) -#define FREQ_DFLL_DEFAULT 48000000 // DFLL frequency / usb clock -#define FREQ_SPI_DEFAULT 1000000 // spi to 595 shift regs -#define FREQ_I2C0_DEFAULT 100000 // i2c to hub -#define FREQ_I2C1_DEFAULT I2C_HZ // i2c to LED drivers -#define FREQ_TC45_DEFAULT 1000000 // 1 usec resolution +#define PLL_RATIO 47 // mcu frequency ((X+1)MHz) +#define FREQ_DFLL_DEFAULT 48000000 // DFLL frequency / usb clock +#define FREQ_SPI_DEFAULT 1000000 // spi to 595 shift regs +#define FREQ_I2C0_DEFAULT 100000 // i2c to hub +#define FREQ_I2C1_DEFAULT I2C_HZ // i2c to LED drivers +#define FREQ_TC45_DEFAULT 1000000 // 1 usec resolution // I2C1 Set ~Result PWM Time (2x Drivers) // 1000000 1090000 @@ -44,10 +44,10 @@ along with this program. If not, see . #define FREQ_XOSC0 16000000 -#define CHAN_SERCOM_SPI 2 // shift regs -#define CHAN_SERCOM_I2C0 0 // hub -#define CHAN_SERCOM_I2C1 1 // led drivers -#define CHAN_SERCOM_UART 3 // debug util +#define CHAN_SERCOM_SPI 2 // shift regs +#define CHAN_SERCOM_I2C0 0 // hub +#define CHAN_SERCOM_I2C1 1 // led drivers +#define CHAN_SERCOM_UART 3 // debug util // Generator clock channels #define GEN_DPLL0 0 @@ -86,4 +86,4 @@ uint32_t CLK_set_i2c0_freq(uint8_t sercomn, uint32_t freq); uint32_t CLK_set_i2c1_freq(uint8_t sercomn, uint32_t freq); void CLK_init(void); -#endif // _CLKS_H_ +#endif // _CLKS_H_ diff --git a/tmk_core/protocol/arm_atsam/d51_util.c b/tmk_core/protocol/arm_atsam/d51_util.c index df596f7ba242..590323308563 100644 --- a/tmk_core/protocol/arm_atsam/d51_util.c +++ b/tmk_core/protocol/arm_atsam/d51_util.c @@ -34,7 +34,8 @@ void dbg_print(uint32_t x) { while (t >= 0) { p2 = t; p = 1; - while (p2--) p *= 10; + while (p2--) + p *= 10; n = x / p; x -= n * p; if (!n) { @@ -55,7 +56,7 @@ void dbg_print(uint32_t x) { } for (w = DBG_PAUSE; w; w--) - ; // Long pause after number is complete + ; // Long pause after number is complete } // Display unsigned 32-bit number through debug led @@ -91,7 +92,8 @@ void dled_print(uint32_t x, uint8_t long_pause) { while (t >= 0) { p2 = t; p = 1; - while (p2--) p *= 10; + while (p2--) + p *= 10; n = x / p; x -= n * p; if (!n) { @@ -188,12 +190,12 @@ void debug_code_init(void) { DBGC(DC_UNSET); // Configure Ports for EIC - PORT->Group[DEBUG_BOOT_TRACING_PORT].DIRCLR.reg = 1 << DEBUG_BOOT_TRACING_PIN; // Input - PORT->Group[DEBUG_BOOT_TRACING_PORT].OUTSET.reg = 1 << DEBUG_BOOT_TRACING_PIN; // High - PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.INEN = 1; // Input Enable - PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.PULLEN = 1; // Pull Enable - PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.PMUXEN = 1; // Mux Enable - PORT->Group[DEBUG_BOOT_TRACING_PORT].PMUX[DEBUG_BOOT_TRACING_PIN / 2].bit.PMUXO = 0; // Mux A + PORT->Group[DEBUG_BOOT_TRACING_PORT].DIRCLR.reg = 1 << DEBUG_BOOT_TRACING_PIN; // Input + PORT->Group[DEBUG_BOOT_TRACING_PORT].OUTSET.reg = 1 << DEBUG_BOOT_TRACING_PIN; // High + PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.INEN = 1; // Input Enable + PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.PULLEN = 1; // Pull Enable + PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.PMUXEN = 1; // Mux Enable + PORT->Group[DEBUG_BOOT_TRACING_PORT].PMUX[DEBUG_BOOT_TRACING_PIN / 2].bit.PMUXO = 0; // Mux A // Enable CLK_EIC_APB MCLK->APBAMASK.bit.EIC_ = 1; @@ -223,12 +225,12 @@ void debug_code_disable(void) { } // Default port configuration - PORT->Group[DEBUG_BOOT_TRACING_PORT].DIRCLR.reg = 1 << DEBUG_BOOT_TRACING_PIN; // Input - PORT->Group[DEBUG_BOOT_TRACING_PORT].OUTCLR.reg = 1 << DEBUG_BOOT_TRACING_PIN; // Low - PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.INEN = 0; // Input Disable - PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.PULLEN = 0; // Pull Disable - PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.PMUXEN = 0; // Mux Disable - PORT->Group[DEBUG_BOOT_TRACING_PORT].PMUX[DEBUG_BOOT_TRACING_PIN / 2].bit.PMUXO = 0; // Mux A + PORT->Group[DEBUG_BOOT_TRACING_PORT].DIRCLR.reg = 1 << DEBUG_BOOT_TRACING_PIN; // Input + PORT->Group[DEBUG_BOOT_TRACING_PORT].OUTCLR.reg = 1 << DEBUG_BOOT_TRACING_PIN; // Low + PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.INEN = 0; // Input Disable + PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.PULLEN = 0; // Pull Disable + PORT->Group[DEBUG_BOOT_TRACING_PORT].PINCFG[DEBUG_BOOT_TRACING_PIN].bit.PMUXEN = 0; // Mux Disable + PORT->Group[DEBUG_BOOT_TRACING_PORT].PMUX[DEBUG_BOOT_TRACING_PIN / 2].bit.PMUXO = 0; // Mux A // Disable CLK_EIC_APB MCLK->APBAMASK.bit.EIC_ = 0; @@ -239,4 +241,4 @@ void debug_code_disable(void) { void debug_code_init(void) {} void debug_code_disable(void) {} -#endif // DEBUG_BOOT_TRACING_ENABLE +#endif // DEBUG_BOOT_TRACING_ENABLE diff --git a/tmk_core/protocol/arm_atsam/d51_util.h b/tmk_core/protocol/arm_atsam/d51_util.h index 89cf338d2340..d301e5541140 100644 --- a/tmk_core/protocol/arm_atsam/d51_util.h +++ b/tmk_core/protocol/arm_atsam/d51_util.h @@ -219,6 +219,6 @@ enum debug_code_list { # define DBGC(n) \ {} -#endif // DEBUG_BOOT_TRACING_ENABLE +#endif // DEBUG_BOOT_TRACING_ENABLE -#endif //_D51_UTIL_H_ +#endif //_D51_UTIL_H_ diff --git a/tmk_core/protocol/arm_atsam/i2c_master.c b/tmk_core/protocol/arm_atsam/i2c_master.c index af046625f433..6b0b9a703bd8 100644 --- a/tmk_core/protocol/arm_atsam/i2c_master.c +++ b/tmk_core/protocol/arm_atsam/i2c_master.c @@ -26,21 +26,21 @@ along with this program. If not, see . # include "config_led.h" # include "matrix.h" -# define I2C_LED_USE_DMA 1 // Set 1 to use background DMA transfers for leds, Set 0 to use inline software transfers +# define I2C_LED_USE_DMA 1 // Set 1 to use background DMA transfers for leds, Set 0 to use inline software transfers DmacDescriptor dmac_desc; DmacDescriptor dmac_desc_wb; -static uint8_t i2c_led_q[I2C_Q_SIZE]; // I2C queue circular buffer -static uint8_t i2c_led_q_s; // Start of circular buffer -static uint8_t i2c_led_q_e; // End of circular buffer -static uint8_t i2c_led_q_full; // Queue full counter for reset +static uint8_t i2c_led_q[I2C_Q_SIZE]; // I2C queue circular buffer +static uint8_t i2c_led_q_s; // Start of circular buffer +static uint8_t i2c_led_q_e; // End of circular buffer +static uint8_t i2c_led_q_full; // Queue full counter for reset -static uint8_t dma_sendbuf[I2C_DMA_MAX_SEND]; // Data being written to I2C +static uint8_t dma_sendbuf[I2C_DMA_MAX_SEND]; // Data being written to I2C volatile uint8_t i2c_led_q_running; -#endif // !defined(MD_BOOTLOADER) && defined(RGB_MATRIX_ENABLE) +#endif // !defined(MD_BOOTLOADER) && defined(RGB_MATRIX_ENABLE) void i2c0_init(void) { DBGC(DC_I2C0_INIT_BEGIN); @@ -56,23 +56,23 @@ void i2c0_init(void) { // I2C // Note: SW Reset handled in CLK_set_i2c0_freq clks.c - SERCOM0->I2CM.CTRLA.bit.MODE = 5; // Set master mode + SERCOM0->I2CM.CTRLA.bit.MODE = 5; // Set master mode - SERCOM0->I2CM.CTRLA.bit.SPEED = 0; // Set to 1 for Fast-mode Plus (FM+) up to 1 MHz - SERCOM0->I2CM.CTRLA.bit.RUNSTDBY = 1; // Enabled + SERCOM0->I2CM.CTRLA.bit.SPEED = 0; // Set to 1 for Fast-mode Plus (FM+) up to 1 MHz + SERCOM0->I2CM.CTRLA.bit.RUNSTDBY = 1; // Enabled - SERCOM0->I2CM.CTRLA.bit.ENABLE = 1; // Enable the device + SERCOM0->I2CM.CTRLA.bit.ENABLE = 1; // Enable the device while (SERCOM0->I2CM.SYNCBUSY.bit.ENABLE) { DBGC(DC_I2C0_INIT_SYNC_ENABLING); - } // Wait for SYNCBUSY.ENABLE to clear + } // Wait for SYNCBUSY.ENABLE to clear - SERCOM0->I2CM.STATUS.bit.BUSSTATE = 1; // Force into IDLE state + SERCOM0->I2CM.STATUS.bit.BUSSTATE = 1; // Force into IDLE state while (SERCOM0->I2CM.SYNCBUSY.bit.SYSOP) { DBGC(DC_I2C0_INIT_SYNC_SYSOP); } while (SERCOM0->I2CM.STATUS.bit.BUSSTATE != 1) { DBGC(DC_I2C0_INIT_WAIT_IDLE); - } // Wait while not idle + } // Wait while not idle DBGC(DC_I2C0_INIT_COMPLETE); } @@ -139,27 +139,27 @@ void i2c1_init(void) { /* I2C */ // Note: SW Reset handled in CLK_set_i2c1_freq clks.c - SERCOM1->I2CM.CTRLA.bit.MODE = 5; // MODE: Set master mode (No sync) - SERCOM1->I2CM.CTRLA.bit.SPEED = 1; // SPEED: Fm+ up to 1MHz (No sync) - SERCOM1->I2CM.CTRLA.bit.RUNSTDBY = 1; // RUNSTBY: Enabled (No sync) + SERCOM1->I2CM.CTRLA.bit.MODE = 5; // MODE: Set master mode (No sync) + SERCOM1->I2CM.CTRLA.bit.SPEED = 1; // SPEED: Fm+ up to 1MHz (No sync) + SERCOM1->I2CM.CTRLA.bit.RUNSTDBY = 1; // RUNSTBY: Enabled (No sync) - SERCOM1->I2CM.CTRLB.bit.SMEN = 1; // SMEN: Smart mode enabled (For DMA)(No sync) + SERCOM1->I2CM.CTRLB.bit.SMEN = 1; // SMEN: Smart mode enabled (For DMA)(No sync) NVIC_EnableIRQ(SERCOM1_0_IRQn); SERCOM1->I2CM.INTENSET.bit.ERROR = 1; - SERCOM1->I2CM.CTRLA.bit.ENABLE = 1; // ENABLE: Enable the device (sync SYNCBUSY.ENABLE) + SERCOM1->I2CM.CTRLA.bit.ENABLE = 1; // ENABLE: Enable the device (sync SYNCBUSY.ENABLE) while (SERCOM1->I2CM.SYNCBUSY.bit.ENABLE) { DBGC(DC_I2C1_INIT_SYNC_ENABLING); - } // Wait for SYNCBUSY.ENABLE to clear + } // Wait for SYNCBUSY.ENABLE to clear - SERCOM1->I2CM.STATUS.bit.BUSSTATE = 1; // BUSSTATE: Force into IDLE state (sync SYNCBUSY.SYSOP) + SERCOM1->I2CM.STATUS.bit.BUSSTATE = 1; // BUSSTATE: Force into IDLE state (sync SYNCBUSY.SYSOP) while (SERCOM1->I2CM.SYNCBUSY.bit.SYSOP) { DBGC(DC_I2C1_INIT_SYNC_SYSOP); } while (SERCOM1->I2CM.STATUS.bit.BUSSTATE != 1) { DBGC(DC_I2C1_INIT_WAIT_IDLE); - } // Wait while not idle + } // Wait while not idle DBGC(DC_I2C1_INIT_COMPLETE); } @@ -240,7 +240,7 @@ void i2c_led_send_onoff(uint8_t drvid) { } # endif - *issidrv[drvid].onoff = 0; // Force start location offset to zero + *issidrv[drvid].onoff = 0; // Force start location offset to zero i2c1_transmit(issidrv[drvid].addr, issidrv[drvid].onoff, ISSI3733_PG0_BYTES, 0); } @@ -265,7 +265,7 @@ void i2c_led_send_pwm(uint8_t drvid) { } # endif - *issidrv[drvid].pwm = 0; // Force start location offset to zero + *issidrv[drvid].pwm = 0; // Force start location offset to zero i2c1_transmit(issidrv[drvid].addr, issidrv[drvid].pwm, ISSI3733_PG1_BYTES, 0); } @@ -300,12 +300,12 @@ uint8_t I2C3733_Init_Drivers(void) { // Set up master device i2c_led_send_CRWL(0); i2c_led_select_page(0, 3); - i2c_led_send_mode_op_gcr(0, 0, ISSI3733_CR_SSD_NORMAL); // No SYNC due to brightness mismatch with second driver + i2c_led_send_mode_op_gcr(0, 0, ISSI3733_CR_SSD_NORMAL); // No SYNC due to brightness mismatch with second driver // Set up slave device i2c_led_send_CRWL(1); i2c_led_select_page(1, 3); - i2c_led_send_mode_op_gcr(1, 0, ISSI3733_CR_SSD_NORMAL); // No SYNC due to brightness mismatch with first driver and slight flicker at rgb values 1,2 + i2c_led_send_mode_op_gcr(1, 0, ISSI3733_CR_SSD_NORMAL); // No SYNC due to brightness mismatch with first driver and slight flicker at rgb values 1,2 i2c_led_send_CRWL(0); i2c_led_select_page(0, 3); @@ -326,41 +326,41 @@ void I2C_DMAC_LED_Init(void) { DBGC(DC_I2C_DMAC_LED_INIT_BEGIN); // Disable device - dmac->CTRL.bit.DMAENABLE = 0; // Disable DMAC + dmac->CTRL.bit.DMAENABLE = 0; // Disable DMAC while (dmac->CTRL.bit.DMAENABLE) { - } // Wait for disabled state in case of ongoing transfers - dmac->CTRL.bit.SWRST = 1; // Software Reset DMAC + } // Wait for disabled state in case of ongoing transfers + dmac->CTRL.bit.SWRST = 1; // Software Reset DMAC while (dmac->CTRL.bit.SWRST) { - } // Wait for software reset to complete + } // Wait for software reset to complete // Configure device - dmac->BASEADDR.reg = (uint32_t)&dmac_desc; // Set descriptor base address - dmac->WRBADDR.reg = (uint32_t)&dmac_desc_wb; // Set descriptor write back address - dmac->CTRL.reg |= 0x0f00; // Handle all priorities (LVL0-3) + dmac->BASEADDR.reg = (uint32_t)&dmac_desc; // Set descriptor base address + dmac->WRBADDR.reg = (uint32_t)&dmac_desc_wb; // Set descriptor write back address + dmac->CTRL.reg |= 0x0f00; // Handle all priorities (LVL0-3) // Disable channel - dmac->Channel[0].CHCTRLA.bit.ENABLE = 0; // Disable the channel + dmac->Channel[0].CHCTRLA.bit.ENABLE = 0; // Disable the channel while (dmac->Channel[0].CHCTRLA.bit.ENABLE) { - } // Wait for disabled state in case of ongoing transfers - dmac->Channel[0].CHCTRLA.bit.SWRST = 1; // Software Reset the channel + } // Wait for disabled state in case of ongoing transfers + dmac->Channel[0].CHCTRLA.bit.SWRST = 1; // Software Reset the channel while (dmac->Channel[0].CHCTRLA.bit.SWRST) { - } // Wait for software reset to complete + } // Wait for software reset to complete // Configure channel - dmac->Channel[0].CHCTRLA.bit.THRESHOLD = 0; // 1BEAT - dmac->Channel[0].CHCTRLA.bit.BURSTLEN = 0; // SINGLE - dmac->Channel[0].CHCTRLA.bit.TRIGACT = 2; // BURST - dmac->Channel[0].CHCTRLA.bit.TRIGSRC = SERCOM1_DMAC_ID_TX; // Trigger source - dmac->Channel[0].CHCTRLA.bit.RUNSTDBY = 1; // Run in standby + dmac->Channel[0].CHCTRLA.bit.THRESHOLD = 0; // 1BEAT + dmac->Channel[0].CHCTRLA.bit.BURSTLEN = 0; // SINGLE + dmac->Channel[0].CHCTRLA.bit.TRIGACT = 2; // BURST + dmac->Channel[0].CHCTRLA.bit.TRIGSRC = SERCOM1_DMAC_ID_TX; // Trigger source + dmac->Channel[0].CHCTRLA.bit.RUNSTDBY = 1; // Run in standby NVIC_EnableIRQ(DMAC_0_IRQn); dmac->Channel[0].CHINTENSET.bit.TCMPL = 1; dmac->Channel[0].CHINTENSET.bit.TERR = 1; // Enable device - dmac->CTRL.bit.DMAENABLE = 1; // Enable DMAC + dmac->CTRL.bit.DMAENABLE = 1; // Enable DMAC while (dmac->CTRL.bit.DMAENABLE == 0) { - } // Wait for enable state + } // Wait for enable state DBGC(DC_I2C_DMAC_LED_INIT_COMPLETE); } @@ -377,14 +377,14 @@ void I2C3733_Control_Set(uint8_t state) { } void i2c_led_desc_defaults(void) { - dmac_desc.BTCTRL.bit.STEPSIZE = 0; // SRCINC used in favor for auto 1 inc - dmac_desc.BTCTRL.bit.STEPSEL = 0; // SRCINC used in favor for auto 1 inc - dmac_desc.BTCTRL.bit.DSTINC = 0; // The Destination Address Increment is disabled - dmac_desc.BTCTRL.bit.SRCINC = 1; // The Source Address Increment is enabled (Inc by 1) - dmac_desc.BTCTRL.bit.BEATSIZE = 0; // 8-bit bus transfer - dmac_desc.BTCTRL.bit.BLOCKACT = 0; // Channel will be disabled if it is the last block transfer in the transaction - dmac_desc.BTCTRL.bit.EVOSEL = 0; // Event generation disabled - dmac_desc.BTCTRL.bit.VALID = 1; // Set dmac valid + dmac_desc.BTCTRL.bit.STEPSIZE = 0; // SRCINC used in favor for auto 1 inc + dmac_desc.BTCTRL.bit.STEPSEL = 0; // SRCINC used in favor for auto 1 inc + dmac_desc.BTCTRL.bit.DSTINC = 0; // The Destination Address Increment is disabled + dmac_desc.BTCTRL.bit.SRCINC = 1; // The Source Address Increment is enabled (Inc by 1) + dmac_desc.BTCTRL.bit.BEATSIZE = 0; // 8-bit bus transfer + dmac_desc.BTCTRL.bit.BLOCKACT = 0; // Channel will be disabled if it is the last block transfer in the transaction + dmac_desc.BTCTRL.bit.EVOSEL = 0; // Event generation disabled + dmac_desc.BTCTRL.bit.VALID = 1; // Set dmac valid } void i2c_led_prepare_send_dma(uint8_t *data, uint8_t len) { @@ -397,9 +397,9 @@ void i2c_led_prepare_send_dma(uint8_t *data, uint8_t len) { } void i2c_led_begin_dma(uint8_t drvid) { - DMAC->Channel[0].CHCTRLA.bit.ENABLE = 1; // Enable the channel + DMAC->Channel[0].CHCTRLA.bit.ENABLE = 1; // Enable the channel - SERCOM1->I2CM.ADDR.reg = (dmac_desc.BTCNT.reg << 16) | 0x2000 | issidrv[drvid].addr; // Begin transfer + SERCOM1->I2CM.ADDR.reg = (dmac_desc.BTCNT.reg << 16) | 0x2000 | issidrv[drvid].addr; // Begin transfer } void i2c_led_send_CRWL_dma(uint8_t drvid) { @@ -429,7 +429,7 @@ void i2c_led_send_GCR_dma(uint8_t drvid) { void i2c_led_send_pwm_dma(uint8_t drvid) { // Note: This copies the CURRENT pwm buffer, which may be getting modified memcpy(dma_sendbuf, issidrv[drvid].pwm, ISSI3733_PG1_BYTES); - *dma_sendbuf = 0; // Force start location offset to zero + *dma_sendbuf = 0; // Force start location offset to zero i2c_led_prepare_send_dma(dma_sendbuf, ISSI3733_PG1_BYTES); i2c_led_begin_dma(drvid); @@ -438,7 +438,7 @@ void i2c_led_send_pwm_dma(uint8_t drvid) { void i2c_led_send_onoff_dma(uint8_t drvid) { // Note: This copies the CURRENT onoff buffer, which may be getting modified memcpy(dma_sendbuf, issidrv[drvid].onoff, ISSI3733_PG0_BYTES); - *dma_sendbuf = 0; // Force start location offset to zero + *dma_sendbuf = 0; // Force start location offset to zero i2c_led_prepare_send_dma(dma_sendbuf, ISSI3733_PG0_BYTES); i2c_led_begin_dma(drvid); @@ -452,12 +452,16 @@ void i2c_led_q_init(void) { i2c_led_q_full = 0; } -uint8_t i2c_led_q_isempty(void) { return i2c_led_q_s == i2c_led_q_e; } +uint8_t i2c_led_q_isempty(void) { + return i2c_led_q_s == i2c_led_q_e; +} -uint8_t i2c_led_q_size(void) { return (i2c_led_q_e - i2c_led_q_s) % I2C_Q_SIZE; } +uint8_t i2c_led_q_size(void) { + return (i2c_led_q_e - i2c_led_q_s) % I2C_Q_SIZE; +} uint8_t i2c_led_q_available(void) { - return I2C_Q_SIZE - i2c_led_q_size() - 1; // Never allow end to meet start + return I2C_Q_SIZE - i2c_led_q_size() - 1; // Never allow end to meet start } void i2c_led_q_add(uint8_t cmd) { @@ -466,11 +470,11 @@ void i2c_led_q_add(uint8_t cmd) { // Assign command i2c_led_q[i2c_led_q_e] = cmd; - i2c_led_q_e = (i2c_led_q_e + 1) % I2C_Q_SIZE; // Move end up one or wrap + i2c_led_q_e = (i2c_led_q_e + 1) % I2C_Q_SIZE; // Move end up one or wrap } void i2c_led_q_s_advance(void) { - i2c_led_q_s = (i2c_led_q_s + 1) % I2C_Q_SIZE; // Move start up one or wrap + i2c_led_q_s = (i2c_led_q_s + 1) % I2C_Q_SIZE; // Move start up one or wrap } // Always request room before adding commands @@ -480,7 +484,7 @@ uint8_t i2c_led_q_request_room(uint8_t request_size) { if (request_size > i2c_led_q_available()) { i2c_led_q_full++; - if (i2c_led_q_full >= 100) // Give the queue a chance to clear up + if (i2c_led_q_full >= 100) // Give the queue a chance to clear up { DBG_LED_ON; I2C_DMAC_LED_Init(); @@ -554,7 +558,7 @@ uint8_t i2c_led_q_run(void) { # endif } - i2c_led_q_s_advance(); // Advance last run command or if the command byte was not serviced + i2c_led_q_s_advance(); // Advance last run command or if the command byte was not serviced # if I2C_LED_USE_DMA != 1 } @@ -583,4 +587,4 @@ i2c_status_t i2c_transmit(uint8_t address, const uint8_t *data, uint16_t length, return ret ? I2C_STATUS_SUCCESS : I2C_STATUS_ERROR; } -#endif // !defined(MD_BOOTLOADER) && defined(RGB_MATRIX_ENABLE) +#endif // !defined(MD_BOOTLOADER) && defined(RGB_MATRIX_ENABLE) diff --git a/tmk_core/protocol/arm_atsam/i2c_master.h b/tmk_core/protocol/arm_atsam/i2c_master.h index e11235d4476a..5459923de43d 100644 --- a/tmk_core/protocol/arm_atsam/i2c_master.h +++ b/tmk_core/protocol/arm_atsam/i2c_master.h @@ -95,7 +95,7 @@ void i2c1_init(void); uint8_t i2c1_transmit(uint8_t address, uint8_t *data, uint16_t length, uint16_t timeout); void i2c1_stop(void); -#endif // MD_BOOTLOADER +#endif // MD_BOOTLOADER void i2c0_init(void); uint8_t i2c0_transmit(uint8_t address, uint8_t *data, uint16_t length, uint16_t timeout); @@ -110,4 +110,4 @@ typedef int16_t i2c_status_t; void i2c_init(void); i2c_status_t i2c_transmit(uint8_t address, const uint8_t *data, uint16_t length, uint16_t timeout); -#endif // _I2C_MASTER_H_ +#endif // _I2C_MASTER_H_ diff --git a/tmk_core/protocol/arm_atsam/issi3733_driver.h b/tmk_core/protocol/arm_atsam/issi3733_driver.h index bd29fe76b6b5..c01f147e13dd 100644 --- a/tmk_core/protocol/arm_atsam/issi3733_driver.h +++ b/tmk_core/protocol/arm_atsam/issi3733_driver.h @@ -20,29 +20,29 @@ along with this program. If not, see . // ISII3733 Registers -#define ISSI3733_CMDR 0xFD // Command Register (Write Only) - -#define ISSI3733_CMDRWL 0xFE // Command Register Write Lock (Read/Write) -#define ISSI3733_CMDRWL_WRITE_DISABLE 0x00 // Lock register -#define ISSI3733_CMDRWL_WRITE_ENABLE_ONCE 0xC5 // Enable one write to register then reset to locked - -#define ISSI3733_IMR 0xF0 // Interrupt Mask Register (Write Only) -#define ISSI3733_IMR_IAC_ON 0x08 // Auto Clear Interrupt Bit - Interrupt auto clear when INTB stay low exceeds 8ms -#define ISSI3733_IMR_IAB_ON 0x04 // Auto Breath Interrupt Bit - Enable auto breath loop finish interrupt -#define ISSI3733_IMR_IS_ON 0x02 // Dot Short Interrupt Bit - Enable dot short interrupt -#define ISSI3733_IMR_IO_ON 0x01 // Dot Open Interrupt Bit - Enable dot open interrupt - -#define ISSI3733_ISR 0xF1 // Interrupt Status Register (Read Only) -#define ISSI3733_ISR_ABM3_FINISH 0x10 // Auto Breath Mode 3 Finish Bit - ABM3 finished -#define ISSI3733_ISR_ABM2_FINISH 0x08 // Auto Breath Mode 2 Finish Bit - ABM2 finished -#define ISSI3733_ISR_ABM1_FINISH 0x04 // Auto Breath Mode 1 Finish Bit - ABM1 finished -#define ISSI3733_ISR_SB 0x02 // Short Bit - Shorted -#define ISSI3733_ISR_OB 0x01 // Open Bit - Opened - -#define ISSI3733_PG0 0x00 // LED Control Register -#define ISSI3733_PG1 0x01 // PWM Register -#define ISSI3733_PG2 0x02 // Auto Breath Mode Register -#define ISSI3733_PG3 0x03 // Function Register +#define ISSI3733_CMDR 0xFD // Command Register (Write Only) + +#define ISSI3733_CMDRWL 0xFE // Command Register Write Lock (Read/Write) +#define ISSI3733_CMDRWL_WRITE_DISABLE 0x00 // Lock register +#define ISSI3733_CMDRWL_WRITE_ENABLE_ONCE 0xC5 // Enable one write to register then reset to locked + +#define ISSI3733_IMR 0xF0 // Interrupt Mask Register (Write Only) +#define ISSI3733_IMR_IAC_ON 0x08 // Auto Clear Interrupt Bit - Interrupt auto clear when INTB stay low exceeds 8ms +#define ISSI3733_IMR_IAB_ON 0x04 // Auto Breath Interrupt Bit - Enable auto breath loop finish interrupt +#define ISSI3733_IMR_IS_ON 0x02 // Dot Short Interrupt Bit - Enable dot short interrupt +#define ISSI3733_IMR_IO_ON 0x01 // Dot Open Interrupt Bit - Enable dot open interrupt + +#define ISSI3733_ISR 0xF1 // Interrupt Status Register (Read Only) +#define ISSI3733_ISR_ABM3_FINISH 0x10 // Auto Breath Mode 3 Finish Bit - ABM3 finished +#define ISSI3733_ISR_ABM2_FINISH 0x08 // Auto Breath Mode 2 Finish Bit - ABM2 finished +#define ISSI3733_ISR_ABM1_FINISH 0x04 // Auto Breath Mode 1 Finish Bit - ABM1 finished +#define ISSI3733_ISR_SB 0x02 // Short Bit - Shorted +#define ISSI3733_ISR_OB 0x01 // Open Bit - Opened + +#define ISSI3733_PG0 0x00 // LED Control Register +#define ISSI3733_PG1 0x01 // PWM Register +#define ISSI3733_PG2 0x02 // Auto Breath Mode Register +#define ISSI3733_PG3 0x03 // Function Register #define ISSI3733_PG_ONOFF ISSI3733_PG0 #define ISSI3733_PG_OR ISSI3733_PG0 @@ -51,88 +51,88 @@ along with this program. If not, see . #define ISSI3733_PG_ABM ISSI3733_PG2 #define ISSI3733_PG_FN ISSI3733_PG3 -#define ISSI3733_CR 0x00 // Configuration Register +#define ISSI3733_CR 0x00 // Configuration Register // PG3: Configuration Register: Synchronize Configuration -#define ISSI3733_CR_SYNC_MASTER 0x40 // Master -#define ISSI3733_CR_SYNC_SLAVE 0x80 // Slave -#define ISSI3733_CR_SYNC_HIGH_IMP 0xC0 // High Impedance +#define ISSI3733_CR_SYNC_MASTER 0x40 // Master +#define ISSI3733_CR_SYNC_SLAVE 0x80 // Slave +#define ISSI3733_CR_SYNC_HIGH_IMP 0xC0 // High Impedance // PG3: Configuration Register: Open/Short Detection Enable Bit //#define ISSI3733_CR_OSD_DISABLE 0x00 //Disable open/short detection -#define ISSI3733_CR_OSD_ENABLE 0x04 // Enable open/short detection +#define ISSI3733_CR_OSD_ENABLE 0x04 // Enable open/short detection // PG3: Configuration Register: Auto Breath Enable //#define ISSI3733_CR_B_EN_PWM 0x00 //PWM Mode Enable -#define ISSI3733_CR_B_EN_AUTO 0x02 // Auto Breath Mode Enable +#define ISSI3733_CR_B_EN_AUTO 0x02 // Auto Breath Mode Enable // PG3: Configuration Register: Software Shutdown Control //#define ISSI3733_CR_SSD_SHUTDOWN 0x00 //Software shutdown -#define ISSI3733_CR_SSD_NORMAL 0x01 // Normal operation +#define ISSI3733_CR_SSD_NORMAL 0x01 // Normal operation -#define ISSI3733_GCCR 0x01 // Global Current Control Register +#define ISSI3733_GCCR 0x01 // Global Current Control Register // 1 Byte, Iout = (GCC / 256) * (840 / Rext) // TODO: Give user define for Rext // PG3: Auto Breath Control Register 1 -#define ISSI3733_ABCR1_ABM1 0x02 // Auto Breath Control Register 1 of ABM-1 -#define ISSI3733_ABCR1_ABM2 0x06 // Auto Breath Control Register 1 of ABM-2 -#define ISSI3733_ABCR1_ABM3 0x0A // Auto Breath Control Register 1 of ABM-3 +#define ISSI3733_ABCR1_ABM1 0x02 // Auto Breath Control Register 1 of ABM-1 +#define ISSI3733_ABCR1_ABM2 0x06 // Auto Breath Control Register 1 of ABM-2 +#define ISSI3733_ABCR1_ABM3 0x0A // Auto Breath Control Register 1 of ABM-3 // Rise time -#define ISSI3733_ABCR1_T1_0021 0x00 // 0.21s -#define ISSI3733_ABCR1_T1_0042 0x20 // 0.42s -#define ISSI3733_ABCR1_T1_0084 0x40 // 0.84s -#define ISSI3733_ABCR1_T1_0168 0x60 // 1.68s -#define ISSI3733_ABCR1_T1_0336 0x80 // 3.36s -#define ISSI3733_ABCR1_T1_0672 0xA0 // 6.72s -#define ISSI3733_ABCR1_T1_1344 0xC0 // 13.44s -#define ISSI3733_ABCR1_T1_2688 0xE0 // 26.88s +#define ISSI3733_ABCR1_T1_0021 0x00 // 0.21s +#define ISSI3733_ABCR1_T1_0042 0x20 // 0.42s +#define ISSI3733_ABCR1_T1_0084 0x40 // 0.84s +#define ISSI3733_ABCR1_T1_0168 0x60 // 1.68s +#define ISSI3733_ABCR1_T1_0336 0x80 // 3.36s +#define ISSI3733_ABCR1_T1_0672 0xA0 // 6.72s +#define ISSI3733_ABCR1_T1_1344 0xC0 // 13.44s +#define ISSI3733_ABCR1_T1_2688 0xE0 // 26.88s // Max value time -#define ISSI3733_ABCR1_T2_0000 0x00 // 0s -#define ISSI3733_ABCR1_T2_0021 0x02 // 0.21s -#define ISSI3733_ABCR1_T2_0042 0x04 // 0.42s -#define ISSI3733_ABCR1_T2_0084 0x06 // 0.84s -#define ISSI3733_ABCR1_T2_0168 0x08 // 1.68s -#define ISSI3733_ABCR1_T2_0336 0x0A // 3.36s -#define ISSI3733_ABCR1_T2_0672 0x0C // 6.72s -#define ISSI3733_ABCR1_T2_1344 0x0E // 13.44s -#define ISSI3733_ABCR1_T2_2688 0x10 // 26.88s +#define ISSI3733_ABCR1_T2_0000 0x00 // 0s +#define ISSI3733_ABCR1_T2_0021 0x02 // 0.21s +#define ISSI3733_ABCR1_T2_0042 0x04 // 0.42s +#define ISSI3733_ABCR1_T2_0084 0x06 // 0.84s +#define ISSI3733_ABCR1_T2_0168 0x08 // 1.68s +#define ISSI3733_ABCR1_T2_0336 0x0A // 3.36s +#define ISSI3733_ABCR1_T2_0672 0x0C // 6.72s +#define ISSI3733_ABCR1_T2_1344 0x0E // 13.44s +#define ISSI3733_ABCR1_T2_2688 0x10 // 26.88s // PG3: Auto Breath Control Register 2 -#define ISSI3733_ABCR2_ABM1 0x03 // Auto Breath Control Register 2 of ABM-1 -#define ISSI3733_ABCR2_ABM2 0x07 // Auto Breath Control Register 2 of ABM-2 -#define ISSI3733_ABCR2_ABM3 0x0B // Auto Breath Control Register 2 of ABM-3 +#define ISSI3733_ABCR2_ABM1 0x03 // Auto Breath Control Register 2 of ABM-1 +#define ISSI3733_ABCR2_ABM2 0x07 // Auto Breath Control Register 2 of ABM-2 +#define ISSI3733_ABCR2_ABM3 0x0B // Auto Breath Control Register 2 of ABM-3 // Fall time -#define ISSI3733_ABCR2_T3_0021 0x00 // 0.21s -#define ISSI3733_ABCR2_T3_0042 0x20 // 0.42s -#define ISSI3733_ABCR2_T3_0084 0x40 // 0.84s -#define ISSI3733_ABCR2_T3_0168 0x60 // 1.68s -#define ISSI3733_ABCR2_T3_0336 0x80 // 3.36s -#define ISSI3733_ABCR2_T3_0672 0xA0 // 6.72s -#define ISSI3733_ABCR2_T3_1344 0xC0 // 13.44s -#define ISSI3733_ABCR2_T3_2688 0xE0 // 26.88s +#define ISSI3733_ABCR2_T3_0021 0x00 // 0.21s +#define ISSI3733_ABCR2_T3_0042 0x20 // 0.42s +#define ISSI3733_ABCR2_T3_0084 0x40 // 0.84s +#define ISSI3733_ABCR2_T3_0168 0x60 // 1.68s +#define ISSI3733_ABCR2_T3_0336 0x80 // 3.36s +#define ISSI3733_ABCR2_T3_0672 0xA0 // 6.72s +#define ISSI3733_ABCR2_T3_1344 0xC0 // 13.44s +#define ISSI3733_ABCR2_T3_2688 0xE0 // 26.88s // Min value time -#define ISSI3733_ABCR2_T4_0000 0x00 // 0s -#define ISSI3733_ABCR2_T4_0021 0x02 // 0.21s -#define ISSI3733_ABCR2_T4_0042 0x04 // 0.42s -#define ISSI3733_ABCR2_T4_0084 0x06 // 0.84s -#define ISSI3733_ABCR2_T4_0168 0x08 // 1.68s -#define ISSI3733_ABCR2_T4_0336 0x0A // 3.36s -#define ISSI3733_ABCR2_T4_0672 0x0C // 6.72s -#define ISSI3733_ABCR2_T4_1344 0x0E // 13.44s -#define ISSI3733_ABCR2_T4_2688 0x10 // 26.88s -#define ISSI3733_ABCR2_T4_5376 0x12 // 53.76s -#define ISSI3733_ABCR2_T4_10752 0x14 // 107.52s +#define ISSI3733_ABCR2_T4_0000 0x00 // 0s +#define ISSI3733_ABCR2_T4_0021 0x02 // 0.21s +#define ISSI3733_ABCR2_T4_0042 0x04 // 0.42s +#define ISSI3733_ABCR2_T4_0084 0x06 // 0.84s +#define ISSI3733_ABCR2_T4_0168 0x08 // 1.68s +#define ISSI3733_ABCR2_T4_0336 0x0A // 3.36s +#define ISSI3733_ABCR2_T4_0672 0x0C // 6.72s +#define ISSI3733_ABCR2_T4_1344 0x0E // 13.44s +#define ISSI3733_ABCR2_T4_2688 0x10 // 26.88s +#define ISSI3733_ABCR2_T4_5376 0x12 // 53.76s +#define ISSI3733_ABCR2_T4_10752 0x14 // 107.52s // PG3: Auto Breath Control Register 3 -#define ISSI3733_ABCR3_ABM1 0x04 // Auto Breath Control Register 3 of ABM-1 -#define ISSI3733_ABCR3_ABM2 0x08 // Auto Breath Control Register 3 of ABM-2 -#define ISSI3733_ABCR3_ABM3 0x0C // Auto Breath Control Register 3 of ABM-3 +#define ISSI3733_ABCR3_ABM1 0x04 // Auto Breath Control Register 3 of ABM-1 +#define ISSI3733_ABCR3_ABM2 0x08 // Auto Breath Control Register 3 of ABM-2 +#define ISSI3733_ABCR3_ABM3 0x0C // Auto Breath Control Register 3 of ABM-3 #define ISSI3733_ABCR3_LTA_LOOP_ENDLESS 0x00 #define ISSI3733_ABCR3_LTA_LOOP_1 0x01 @@ -158,44 +158,44 @@ along with this program. If not, see . #define ISSI3733_ABCR3_LB_T4 0x30 // Loop End -#define ISSI3733_ABCR3_LE_T3 0x00 // End at Off state -#define ISSI3733_ABCR3_LE_T1 0x40 // End at On State +#define ISSI3733_ABCR3_LE_T3 0x00 // End at Off state +#define ISSI3733_ABCR3_LE_T1 0x40 // End at On State // PG3: Auto Breath Control Register 4 -#define ISSI3733_ABCR4_ABM1 0x05 // Auto Breath Control Register 4 of ABM-1 -#define ISSI3733_ABCR4_ABM2 0x09 // Auto Breath Control Register 4 of ABM-2 -#define ISSI3733_ABCR4_ABM3 0x0D // Auto Breath Control Register 4 of ABM-3 +#define ISSI3733_ABCR4_ABM1 0x05 // Auto Breath Control Register 4 of ABM-1 +#define ISSI3733_ABCR4_ABM2 0x09 // Auto Breath Control Register 4 of ABM-2 +#define ISSI3733_ABCR4_ABM3 0x0D // Auto Breath Control Register 4 of ABM-3 #define ISSI3733_ABCR4_LTB_LOOP_ENDLESS 0x00 // Or 8bit loop times // PG3: Time Update Register #define ISSI3733_TUR 0x0E -#define ISSI3733_TUR_UPDATE 0x00 // Write to update 02h~0Dh time registers after configuring +#define ISSI3733_TUR_UPDATE 0x00 // Write to update 02h~0Dh time registers after configuring // PG3: SWy Pull-Up Resistor Selection Register #define ISSI3733_SWYR_PUR 0x0F -#define ISSI3733_SWYR_PUR_NONE 0x00 // No pull-up resistor -#define ISSI3733_SWYR_PUR_500 0x01 // 0.5k Ohm -#define ISSI3733_SWYR_PUR_1000 0x02 // 1.0k Ohm -#define ISSI3733_SWYR_PUR_2000 0x03 // 2.0k Ohm -#define ISSI3733_SWYR_PUR_4000 0x04 // 4.0k Ohm -#define ISSI3733_SWYR_PUR_8000 0x05 // 8.0k Ohm -#define ISSI3733_SWYR_PUR_16000 0x06 // 16k Ohm -#define ISSI3733_SWYR_PUR_32000 0x07 // 32k Ohm +#define ISSI3733_SWYR_PUR_NONE 0x00 // No pull-up resistor +#define ISSI3733_SWYR_PUR_500 0x01 // 0.5k Ohm +#define ISSI3733_SWYR_PUR_1000 0x02 // 1.0k Ohm +#define ISSI3733_SWYR_PUR_2000 0x03 // 2.0k Ohm +#define ISSI3733_SWYR_PUR_4000 0x04 // 4.0k Ohm +#define ISSI3733_SWYR_PUR_8000 0x05 // 8.0k Ohm +#define ISSI3733_SWYR_PUR_16000 0x06 // 16k Ohm +#define ISSI3733_SWYR_PUR_32000 0x07 // 32k Ohm // PG3: CSx Pull-Down Resistor Selection Register #define ISSI3733_CSXR_PDR 0x10 -#define ISSI3733_CSXR_PDR_NONE 0x00 // No pull-down resistor -#define ISSI3733_CSXR_PDR_500 0x01 // 0.5k Ohm -#define ISSI3733_CSXR_PDR_1000 0x02 // 1.0k Ohm -#define ISSI3733_CSXR_PDR_2000 0x03 // 2.0k Ohm -#define ISSI3733_CSXR_PDR_4000 0x04 // 4.0k Ohm -#define ISSI3733_CSXR_PDR_8000 0x05 // 8.0k Ohm -#define ISSI3733_CSXR_PDR_16000 0x06 // 16k Ohm -#define ISSI3733_CSXR_PDR_32000 0x07 // 32k Ohm +#define ISSI3733_CSXR_PDR_NONE 0x00 // No pull-down resistor +#define ISSI3733_CSXR_PDR_500 0x01 // 0.5k Ohm +#define ISSI3733_CSXR_PDR_1000 0x02 // 1.0k Ohm +#define ISSI3733_CSXR_PDR_2000 0x03 // 2.0k Ohm +#define ISSI3733_CSXR_PDR_4000 0x04 // 4.0k Ohm +#define ISSI3733_CSXR_PDR_8000 0x05 // 8.0k Ohm +#define ISSI3733_CSXR_PDR_16000 0x06 // 16k Ohm +#define ISSI3733_CSXR_PDR_32000 0x07 // 32k Ohm // PG3: Reset Register -#define ISSI3733_RR 0x11 // Read to reset all registers to default values +#define ISSI3733_RR 0x11 // Read to reset all registers to default values -#endif //_ISSI3733_DRIVER_H_ +#endif //_ISSI3733_DRIVER_H_ diff --git a/tmk_core/protocol/arm_atsam/main_arm_atsam.c b/tmk_core/protocol/arm_atsam/main_arm_atsam.c index de12821a7472..d092da86826c 100644 --- a/tmk_core/protocol/arm_atsam/main_arm_atsam.c +++ b/tmk_core/protocol/arm_atsam/main_arm_atsam.c @@ -31,7 +31,7 @@ along with this program. If not, see . // From keyboard's directory #include "config_led.h" -uint8_t g_usb_state = USB_FSMSTATUS_FSMSTATE_OFF_Val; // Saved USB state from hardware value to detect changes +uint8_t g_usb_state = USB_FSMSTATUS_FSMSTATE_OFF_Val; // Saved USB state from hardware value to detect changes void main_subtasks(void); uint8_t keyboard_leds(void); @@ -42,7 +42,7 @@ void send_consumer(uint16_t data); #ifdef DEFERRED_EXEC_ENABLE void deferred_exec_task(void); -#endif // DEFERRED_EXEC_ENABLE +#endif // DEFERRED_EXEC_ENABLE host_driver_t arm_atsam_driver = {keyboard_leds, send_keyboard, send_mouse, send_system, send_consumer}; @@ -53,7 +53,7 @@ uint8_t keyboard_leds(void) { if (keymap_config.nkro) return udi_hid_nkro_report_set; else -#endif // NKRO_ENABLE +#endif // NKRO_ENABLE return udi_hid_kbd_report_set; } @@ -62,10 +62,10 @@ void send_keyboard(report_keyboard_t *report) { #ifdef NKRO_ENABLE if (!keymap_config.nkro) { -#endif // NKRO_ENABLE +#endif // NKRO_ENABLE while (udi_hid_kbd_b_report_trans_ongoing) { main_subtasks(); - } // Run other tasks while waiting for USB to be free + } // Run other tasks while waiting for USB to be free irqflags = __get_PRIMASK(); __disable_irq(); @@ -81,7 +81,7 @@ void send_keyboard(report_keyboard_t *report) { } else { while (udi_hid_nkro_b_report_trans_ongoing) { main_subtasks(); - } // Run other tasks while waiting for USB to be free + } // Run other tasks while waiting for USB to be free irqflags = __get_PRIMASK(); __disable_irq(); @@ -94,7 +94,7 @@ void send_keyboard(report_keyboard_t *report) { __DMB(); __set_PRIMASK(irqflags); } -#endif // NKRO_ENABLE +#endif // NKRO_ENABLE } void send_mouse(report_mouse_t *report) { @@ -111,7 +111,7 @@ void send_mouse(report_mouse_t *report) { __DMB(); __set_PRIMASK(irqflags); -#endif // MOUSEKEY_ENABLE +#endif // MOUSEKEY_ENABLE } #ifdef EXTRAKEY_ENABLE @@ -130,18 +130,18 @@ void send_extra(uint8_t report_id, uint16_t data) { __DMB(); __set_PRIMASK(irqflags); } -#endif // EXTRAKEY_ENABLE +#endif // EXTRAKEY_ENABLE void send_system(uint16_t data) { #ifdef EXTRAKEY_ENABLE send_extra(REPORT_ID_SYSTEM, data); -#endif // EXTRAKEY_ENABLE +#endif // EXTRAKEY_ENABLE } void send_consumer(uint16_t data) { #ifdef EXTRAKEY_ENABLE send_extra(REPORT_ID_CONSUMER, data); -#endif // EXTRAKEY_ENABLE +#endif // EXTRAKEY_ENABLE } #ifdef CONSOLE_ENABLE @@ -158,81 +158,81 @@ int8_t sendchar(uint8_t c) { void main_subtask_console_flush(void) { while (udi_hid_con_b_report_trans_ongoing) { - } // Wait for any previous transfers to complete + } // Wait for any previous transfers to complete uint16_t result = console_printbuf_len; uint32_t irqflags; - char * pconbuf = console_printbuf; // Pointer to start send from - int send_out = CONSOLE_EPSIZE; // Bytes to send per transfer + char * pconbuf = console_printbuf; // Pointer to start send from + int send_out = CONSOLE_EPSIZE; // Bytes to send per transfer - while (result > 0) { // While not error and bytes remain + while (result > 0) { // While not error and bytes remain while (udi_hid_con_b_report_trans_ongoing) { - } // Wait for any previous transfers to complete + } // Wait for any previous transfers to complete irqflags = __get_PRIMASK(); __disable_irq(); __DMB(); - if (result < CONSOLE_EPSIZE) { // If remaining bytes are less than console epsize - memset(udi_hid_con_report, 0, CONSOLE_EPSIZE); // Clear the buffer - send_out = result; // Send remaining size + if (result < CONSOLE_EPSIZE) { // If remaining bytes are less than console epsize + memset(udi_hid_con_report, 0, CONSOLE_EPSIZE); // Clear the buffer + send_out = result; // Send remaining size } - memcpy(udi_hid_con_report, pconbuf, send_out); // Copy data into the send buffer + memcpy(udi_hid_con_report, pconbuf, send_out); // Copy data into the send buffer - udi_hid_con_b_report_valid = 1; // Set report valid - udi_hid_con_send_report(); // Send report + udi_hid_con_b_report_valid = 1; // Set report valid + udi_hid_con_send_report(); // Send report __DMB(); __set_PRIMASK(irqflags); - result -= send_out; // Decrement result by bytes sent - pconbuf += send_out; // Increment buffer point by bytes sent + result -= send_out; // Decrement result by bytes sent + pconbuf += send_out; // Increment buffer point by bytes sent } console_printbuf_len = 0; } -#endif // CONSOLE_ENABLE +#endif // CONSOLE_ENABLE void main_subtask_usb_state(void) { - static uint64_t fsmstate_on_delay = 0; // Delay timer to be sure USB is actually operating before bringing up hardware - uint8_t fsmstate_now = USB->DEVICE.FSMSTATUS.reg; // Current state from hardware register + static uint64_t fsmstate_on_delay = 0; // Delay timer to be sure USB is actually operating before bringing up hardware + uint8_t fsmstate_now = USB->DEVICE.FSMSTATUS.reg; // Current state from hardware register - if (fsmstate_now == USB_FSMSTATUS_FSMSTATE_SUSPEND_Val) // If USB SUSPENDED + if (fsmstate_now == USB_FSMSTATUS_FSMSTATE_SUSPEND_Val) // If USB SUSPENDED { - fsmstate_on_delay = 0; // Clear ON delay timer + fsmstate_on_delay = 0; // Clear ON delay timer - if (g_usb_state != USB_FSMSTATUS_FSMSTATE_SUSPEND_Val) // If previously not SUSPENDED + if (g_usb_state != USB_FSMSTATUS_FSMSTATE_SUSPEND_Val) // If previously not SUSPENDED { - suspend_power_down(); // Run suspend routine - g_usb_state = fsmstate_now; // Save current USB state + suspend_power_down(); // Run suspend routine + g_usb_state = fsmstate_now; // Save current USB state } - } else if (fsmstate_now == USB_FSMSTATUS_FSMSTATE_SLEEP_Val) // Else if USB SLEEPING + } else if (fsmstate_now == USB_FSMSTATUS_FSMSTATE_SLEEP_Val) // Else if USB SLEEPING { - fsmstate_on_delay = 0; // Clear ON delay timer + fsmstate_on_delay = 0; // Clear ON delay timer - if (g_usb_state != USB_FSMSTATUS_FSMSTATE_SLEEP_Val) // If previously not SLEEPING + if (g_usb_state != USB_FSMSTATUS_FSMSTATE_SLEEP_Val) // If previously not SLEEPING { - suspend_power_down(); // Run suspend routine - g_usb_state = fsmstate_now; // Save current USB state + suspend_power_down(); // Run suspend routine + g_usb_state = fsmstate_now; // Save current USB state } - } else if (fsmstate_now == USB_FSMSTATUS_FSMSTATE_ON_Val) // Else if USB ON + } else if (fsmstate_now == USB_FSMSTATUS_FSMSTATE_ON_Val) // Else if USB ON { - if (g_usb_state != USB_FSMSTATUS_FSMSTATE_ON_Val) // If previously not ON + if (g_usb_state != USB_FSMSTATUS_FSMSTATE_ON_Val) // If previously not ON { - if (fsmstate_on_delay == 0) // If ON delay timer is cleared + if (fsmstate_on_delay == 0) // If ON delay timer is cleared { - fsmstate_on_delay = timer_read64() + 250; // Set ON delay timer - } else if (timer_read64() > fsmstate_on_delay) // Else if ON delay timer is active and timed out + fsmstate_on_delay = timer_read64() + 250; // Set ON delay timer + } else if (timer_read64() > fsmstate_on_delay) // Else if ON delay timer is active and timed out { - suspend_wakeup_init(); // Run wakeup routine - g_usb_state = fsmstate_now; // Save current USB state + suspend_wakeup_init(); // Run wakeup routine + g_usb_state = fsmstate_now; // Save current USB state } } - } else // Else if USB is in a state not being tracked + } else // Else if USB is in a state not being tracked { - fsmstate_on_delay = 0; // Clear ON delay timer + fsmstate_on_delay = 0; // Clear ON delay timer } } @@ -262,7 +262,9 @@ void main_subtask_usb_extra_device(void) { } #ifdef RAW_ENABLE -void main_subtask_raw(void) { udi_hid_raw_receive_report(); } +void main_subtask_raw(void) { + udi_hid_raw_receive_report(); +} #endif void main_subtasks(void) { @@ -296,7 +298,7 @@ int main(void) { #ifdef RGB_MATRIX_ENABLE i2c1_init(); -#endif // RGB_MATRIX_ENABLE +#endif // RGB_MATRIX_ENABLE matrix_init(); @@ -325,8 +327,9 @@ int main(void) { i2c_led_q_init(); - for (uint8_t drvid = 0; drvid < ISSI3733_DRIVER_COUNT; drvid++) I2C_LED_Q_ONOFF(drvid); // Queue data -#endif // RGB_MATRIX_ENABLE + for (uint8_t drvid = 0; drvid < ISSI3733_DRIVER_COUNT; drvid++) + I2C_LED_Q_ONOFF(drvid); // Queue data +#endif // RGB_MATRIX_ENABLE keyboard_setup(); @@ -336,18 +339,18 @@ int main(void) { #ifdef CONSOLE_ENABLE uint64_t next_print = 0; -#endif // CONSOLE_ENABLE +#endif // CONSOLE_ENABLE v_5v_avg = adc_get(ADC_5V); debug_code_disable(); while (1) { - main_subtasks(); // Note these tasks will also be run while waiting for USB keyboard polling intervals + main_subtasks(); // Note these tasks will also be run while waiting for USB keyboard polling intervals if (g_usb_state == USB_FSMSTATUS_FSMSTATE_SUSPEND_Val || g_usb_state == USB_FSMSTATUS_FSMSTATE_SLEEP_Val) { if (suspend_wakeup_condition()) { - udc_remotewakeup(); // Send remote wakeup signal + udc_remotewakeup(); // Send remote wakeup signal wait_ms(50); } @@ -362,12 +365,12 @@ int main(void) { // Add any debug information here that you want to see very often // dprintf("5v=%u 5vu=%u dlow=%u dhi=%u gca=%u gcd=%u\r\n", v_5v, v_5v_avg, v_5v_avg - V5_LOW, v_5v_avg - V5_HIGH, gcr_actual, gcr_desired); } -#endif // CONSOLE_ENABLE +#endif // CONSOLE_ENABLE #ifdef DEFERRED_EXEC_ENABLE // Run deferred executions deferred_exec_task(); -#endif // DEFERRED_EXEC_ENABLE +#endif // DEFERRED_EXEC_ENABLE // Run housekeeping housekeeping_task(); diff --git a/tmk_core/protocol/arm_atsam/main_arm_atsam.h b/tmk_core/protocol/arm_atsam/main_arm_atsam.h index 5b088f0e20cc..78205e2e1be9 100644 --- a/tmk_core/protocol/arm_atsam/main_arm_atsam.h +++ b/tmk_core/protocol/arm_atsam/main_arm_atsam.h @@ -20,4 +20,4 @@ along with this program. If not, see . uint8_t keyboard_leds(void); -#endif //_MAIN_ARM_ATSAM_H_ +#endif //_MAIN_ARM_ATSAM_H_ diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c index 0741584439f7..84ce3ee24b4c 100644 --- a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c +++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c @@ -53,16 +53,20 @@ void eeconfig_update_md_led_default(void) { eeconfig_flush_md_led(true); } -void md_led_changed(void) { eeconfig_flag_md_led(true); } +void md_led_changed(void) { + eeconfig_flag_md_led(true); +} // todo: use real task rather than this bodge -void housekeeping_task_kb(void) { eeconfig_flush_md_led_task(FLUSH_TIMEOUT); } +void housekeeping_task_kb(void) { + eeconfig_flush_md_led_task(FLUSH_TIMEOUT); +} __attribute__((weak)) led_instruction_t led_instructions[] = {{.end = 1}}; static void md_rgb_matrix_config_override(int i); # else uint8_t gcr_desired; -# endif // USE_MASSDROP_CONFIGURATOR +# endif // USE_MASSDROP_CONFIGURATOR void SERCOM1_0_Handler(void) { if (SERCOM1->I2CM.INTFLAG.bit.ERROR) { @@ -125,9 +129,9 @@ void gcr_compute(void) { if (v_5v < V5_CAT) { I2C3733_Control_Set(0); // CDC_print("USB: WARNING: 5V catastrophic level reached! Disabling LED drivers!\r\n"); //Blocking print is bad here! - v_5v_cat_hit = 20; //~100ms recover - gcr_actual = 0; // Minimize GCR - usb_gcr_auto = 1; // Force auto mode enabled + v_5v_cat_hit = 20; //~100ms recover + gcr_actual = 0; // Minimize GCR + usb_gcr_auto = 1; // Force auto mode enabled return; } else if (v_5v_cat_hit > 1) { v_5v_cat_hit--; @@ -157,24 +161,24 @@ void gcr_compute(void) { gcr_min_counter = 0; } else if (action == ACT_GCR_INC) { if (LED_GCR_STEP_AUTO > LED_GCR_MAX - gcr_actual) - gcr_actual = LED_GCR_MAX; // Obey max and prevent wrapping + gcr_actual = LED_GCR_MAX; // Obey max and prevent wrapping else gcr_actual += LED_GCR_STEP_AUTO; gcr_min_counter = 0; } else if (action == ACT_GCR_DEC) { - if (LED_GCR_STEP_AUTO > gcr_actual) // Prevent wrapping + if (LED_GCR_STEP_AUTO > gcr_actual) // Prevent wrapping { gcr_actual = 0; // At this point, power can no longer be cut from the LED drivers, so focus on cutting out extra port if active - if (usb_extra_state != USB_EXTRA_STATE_DISABLED_UNTIL_REPLUG) // If not in a wait for replug state + if (usb_extra_state != USB_EXTRA_STATE_DISABLED_UNTIL_REPLUG) // If not in a wait for replug state { - if (usb_extra_state == USB_EXTRA_STATE_ENABLED) // If extra usb is enabled + if (usb_extra_state == USB_EXTRA_STATE_ENABLED) // If extra usb is enabled { gcr_min_counter++; - if (gcr_min_counter > 200) // 5ms per check = 1s delay + if (gcr_min_counter > 200) // 5ms per check = 1s delay { USB_ExtraSetState(USB_EXTRA_STATE_DISABLED_UNTIL_REPLUG); - usb_extra_manual = 0; // Force disable manual mode of extra port + usb_extra_manual = 0; // Force disable manual mode of extra port if (usb_extra_manual) CDC_print("USB: Disabling extra port until replug and manual mode toggle!\r\n"); else @@ -275,11 +279,11 @@ static void flush(void) { # ifdef USE_MASSDROP_CONFIGURATOR if (!led_enabled) { return; - } // Prevent calculations and I2C traffic if LED drivers are not enabled + } // Prevent calculations and I2C traffic if LED drivers are not enabled # else if (!sr_exp_data.bit.SDB_N) { return; - } // Prevent calculations and I2C traffic if LED drivers are not enabled + } // Prevent calculations and I2C traffic if LED drivers are not enabled # endif // Wait for previous transfer to complete @@ -319,17 +323,19 @@ static void flush(void) { pomod = (uint32_t)pomod % 10000; pomod /= 100.0f; -# endif // USE_MASSDROP_CONFIGURATOR +# endif // USE_MASSDROP_CONFIGURATOR uint8_t drvid; // NOTE: GCR does not need to be timed with LED processing, but there is really no harm if (gcr_actual != gcr_actual_last) { - for (drvid = 0; drvid < ISSI3733_DRIVER_COUNT; drvid++) I2C_LED_Q_GCR(drvid); // Queue data + for (drvid = 0; drvid < ISSI3733_DRIVER_COUNT; drvid++) + I2C_LED_Q_GCR(drvid); // Queue data gcr_actual_last = gcr_actual; } - for (drvid = 0; drvid < ISSI3733_DRIVER_COUNT; drvid++) I2C_LED_Q_PWM(drvid); // Queue data + for (drvid = 0; drvid < ISSI3733_DRIVER_COUNT; drvid++) + I2C_LED_Q_PWM(drvid); // Queue data i2c_led_q_run(); } @@ -341,19 +347,19 @@ void md_rgb_matrix_indicators_advanced(uint8_t led_min, uint8_t led_max) { if ( # if USB_LED_NUM_LOCK_SCANCODE != 255 (led_map[i].scan == USB_LED_NUM_LOCK_SCANCODE && (kbled & (1 << USB_LED_NUM_LOCK))) || -# endif // NUM LOCK +# endif // NUM LOCK # if USB_LED_CAPS_LOCK_SCANCODE != 255 (led_map[i].scan == USB_LED_CAPS_LOCK_SCANCODE && (kbled & (1 << USB_LED_CAPS_LOCK))) || -# endif // CAPS LOCK +# endif // CAPS LOCK # if USB_LED_SCROLL_LOCK_SCANCODE != 255 (led_map[i].scan == USB_LED_SCROLL_LOCK_SCANCODE && (kbled & (1 << USB_LED_SCROLL_LOCK))) || -# endif // SCROLL LOCK +# endif // SCROLL LOCK # if USB_LED_COMPOSE_SCANCODE != 255 (led_map[i].scan == USB_LED_COMPOSE_SCANCODE && (kbled & (1 << USB_LED_COMPOSE))) || -# endif // COMPOSE +# endif // COMPOSE # if USB_LED_KANA_SCANCODE != 255 (led_map[i].scan == USB_LED_KANA_SCANCODE && (kbled & (1 << USB_LED_KANA))) || -# endif // KANA +# endif // KANA (0)) { if (rgb_matrix_get_flags() & LED_FLAG_INDICATOR) { led_buffer[i].r = 255 - led_buffer[i].r; @@ -378,7 +384,7 @@ static void led_run_pattern(led_setup_t* f, float* ro, float* go, float* bo, flo float po; while (f->end != 1) { - po = pos; // Reset po for new frame + po = pos; // Reset po for new frame // Add in any moving effects if ((!led_animation_direction && f->ef & EF_SCR_R) || (led_animation_direction && (f->ef & EF_SCR_L))) { @@ -413,17 +419,17 @@ static void led_run_pattern(led_setup_t* f, float* ro, float* go, float* bo, flo // Add in any color effects if (f->ef & EF_OVER) { - *ro = (po * (f->re - f->rs)) + f->rs; // + 0.5; - *go = (po * (f->ge - f->gs)) + f->gs; // + 0.5; - *bo = (po * (f->be - f->bs)) + f->bs; // + 0.5; + *ro = (po * (f->re - f->rs)) + f->rs; // + 0.5; + *go = (po * (f->ge - f->gs)) + f->gs; // + 0.5; + *bo = (po * (f->be - f->bs)) + f->bs; // + 0.5; } else if (f->ef & EF_SUBTRACT) { - *ro -= (po * (f->re - f->rs)) + f->rs; // + 0.5; - *go -= (po * (f->ge - f->gs)) + f->gs; // + 0.5; - *bo -= (po * (f->be - f->bs)) + f->bs; // + 0.5; + *ro -= (po * (f->re - f->rs)) + f->rs; // + 0.5; + *go -= (po * (f->ge - f->gs)) + f->gs; // + 0.5; + *bo -= (po * (f->be - f->bs)) + f->bs; // + 0.5; } else { - *ro += (po * (f->re - f->rs)) + f->rs; // + 0.5; - *go += (po * (f->ge - f->gs)) + f->gs; // + 0.5; - *bo += (po * (f->be - f->bs)) + f->bs; // + 0.5; + *ro += (po * (f->re - f->rs)) + f->rs; // + 0.5; + *go += (po * (f->ge - f->gs)) + f->gs; // + 0.5; + *bo += (po * (f->be - f->bs)) + f->bs; // + 0.5; } f++; @@ -471,10 +477,10 @@ static void md_rgb_matrix_config_override(int i) { // Check if this applies to current index if (led_cur_instruction->flags & LED_FLAG_MATCH_ID) { - uint8_t modid = i / 32; // Calculate which id# contains the led bit - uint32_t modidbit = 1 << (i % 32); // Calculate the bit within the id# - uint32_t* bitfield = &led_cur_instruction->id0 + modid; // Add modid as offset to id0 address. *bitfield is now idX of the led id - if (~(*bitfield) & modidbit) { // Check if led bit is not set in idX + uint8_t modid = i / 32; // Calculate which id# contains the led bit + uint32_t modidbit = 1 << (i % 32); // Calculate the bit within the id# + uint32_t* bitfield = &led_cur_instruction->id0 + modid; // Add modid as offset to id0 address. *bitfield is now idX of the led id + if (~(*bitfield) & modidbit) { // Check if led bit is not set in idX goto next_iter; } } @@ -538,5 +544,5 @@ static void md_rgb_matrix_config_override(int i) { led_buffer[i].b = (uint8_t)bo; } -# endif // USE_MASSDROP_CONFIGURATOR -#endif // RGB_MATRIX_ENABLE +# endif // USE_MASSDROP_CONFIGURATOR +#endif // RGB_MATRIX_ENABLE diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix.h b/tmk_core/protocol/arm_atsam/md_rgb_matrix.h index deea12b888ea..f27da028a0c3 100644 --- a/tmk_core/protocol/arm_atsam/md_rgb_matrix.h +++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix.h @@ -31,10 +31,10 @@ along with this program. If not, see . #define ISSI3733_SW_COUNT 12 #define ISSI3733_LED_RGB_COUNT ISSI3733_CS_COUNT *ISSI3733_SW_COUNT -#define ISSI3733_PG0_BYTES ISSI3733_LED_RGB_COUNT / 8 + 1 //+1 for first byte being memory start offset for I2C transfer -#define ISSI3733_PG1_BYTES ISSI3733_LED_RGB_COUNT + 1 //+1 for first byte being memory start offset for I2C transfer -#define ISSI3733_PG2_BYTES ISSI3733_LED_RGB_COUNT + 1 //+1 for first byte being memory start offset for I2C transfer -#define ISSI3733_PG3_BYTES 18 + 1 //+1 for first byte being memory start offset for I2C transfer +#define ISSI3733_PG0_BYTES ISSI3733_LED_RGB_COUNT / 8 + 1 //+1 for first byte being memory start offset for I2C transfer +#define ISSI3733_PG1_BYTES ISSI3733_LED_RGB_COUNT + 1 //+1 for first byte being memory start offset for I2C transfer +#define ISSI3733_PG2_BYTES ISSI3733_LED_RGB_COUNT + 1 //+1 for first byte being memory start offset for I2C transfer +#define ISSI3733_PG3_BYTES 18 + 1 //+1 for first byte being memory start offset for I2C transfer #define ISSI3733_PG_ONOFF_BYTES ISSI3733_PG0_BYTES #define ISSI3733_PG_OR_BYTES ISSI3733_PG0_BYTES @@ -44,38 +44,38 @@ along with this program. If not, see . #define ISSI3733_PG_FN_BYTES ISSI3733_PG3_BYTES typedef struct issi3733_driver_s { - uint8_t addr; // Address of the driver according to wiring "ISSI3733: Table 1 Slave Address" - uint8_t onoff[ISSI3733_PG_ONOFF_BYTES]; // PG0 - LED Control Register - LED On/Off Register - uint8_t open[ISSI3733_PG_OR_BYTES]; // PG0 - LED Control Register - LED Open Register - uint8_t shrt[ISSI3733_PG_SR_BYTES]; // PG0 - LED Control Register - LED Short Register - uint8_t pwm[ISSI3733_PG_PWM_BYTES]; // PG1 - PWM Register - uint8_t abm[ISSI3733_PG_ABM_BYTES]; // PG2 - Auto Breath Mode Register - uint8_t conf[ISSI3733_PG_FN_BYTES]; // PG3 - Function Register + uint8_t addr; // Address of the driver according to wiring "ISSI3733: Table 1 Slave Address" + uint8_t onoff[ISSI3733_PG_ONOFF_BYTES]; // PG0 - LED Control Register - LED On/Off Register + uint8_t open[ISSI3733_PG_OR_BYTES]; // PG0 - LED Control Register - LED Open Register + uint8_t shrt[ISSI3733_PG_SR_BYTES]; // PG0 - LED Control Register - LED Short Register + uint8_t pwm[ISSI3733_PG_PWM_BYTES]; // PG1 - PWM Register + uint8_t abm[ISSI3733_PG_ABM_BYTES]; // PG2 - Auto Breath Mode Register + uint8_t conf[ISSI3733_PG_FN_BYTES]; // PG3 - Function Register } issi3733_driver_t; typedef struct issi3733_rgb_s { - uint8_t *r; // Direct access into PWM data - uint8_t *g; // Direct access into PWM data - uint8_t *b; // Direct access into PWM data + uint8_t *r; // Direct access into PWM data + uint8_t *g; // Direct access into PWM data + uint8_t *b; // Direct access into PWM data } issi3733_rgb_t; typedef struct issi3733_rgb_adr_s { - uint8_t drv; // Driver from given list - uint8_t cs; // CS - uint8_t swr; // SW Red - uint8_t swg; // SW Green - uint8_t swb; // SW Blue + uint8_t drv; // Driver from given list + uint8_t cs; // CS + uint8_t swr; // SW Red + uint8_t swg; // SW Green + uint8_t swb; // SW Blue } issi3733_rgb_adr_t; typedef struct issi3733_led_s { - uint8_t id; // According to PCB ref - issi3733_rgb_t rgb; // PWM settings of R G B - issi3733_rgb_adr_t adr; // Hardware addresses - float x; // Physical position X - float y; // Physical position Y - float px; // Physical position X in percent - float py; // Physical position Y in percent - uint8_t scan; // Key scan code from wiring (set 0xFF if no key) + uint8_t id; // According to PCB ref + issi3733_rgb_t rgb; // PWM settings of R G B + issi3733_rgb_adr_t adr; // Hardware addresses + float x; // Physical position X + float y; // Physical position Y + float px; // Physical position X in percent + float py; // Physical position Y in percent + uint8_t scan; // Key scan code from wiring (set 0xFF if no key) } issi3733_led_t; extern issi3733_driver_t issidrv[ISSI3733_DRIVER_COUNT]; @@ -92,44 +92,44 @@ void md_rgb_matrix_indicators_advanced(uint8_t led_min, uint8_t led_max); #ifdef USE_MASSDROP_CONFIGURATOR -# define EF_NONE 0x00000000 // No effect -# define EF_OVER 0x00000001 // Overwrite any previous color information with new -# define EF_SCR_L 0x00000002 // Scroll left -# define EF_SCR_R 0x00000004 // Scroll right -# define EF_SUBTRACT 0x00000008 // Subtract color values +# define EF_NONE 0x00000000 // No effect +# define EF_OVER 0x00000001 // Overwrite any previous color information with new +# define EF_SCR_L 0x00000002 // Scroll left +# define EF_SCR_R 0x00000004 // Scroll right +# define EF_SUBTRACT 0x00000008 // Subtract color values typedef struct led_setup_s { - float hs; // Band begin at percent - float he; // Band end at percent - uint8_t rs; // Red start value - uint8_t re; // Red end value - uint8_t gs; // Green start value - uint8_t ge; // Green end value - uint8_t bs; // Blue start value - uint8_t be; // Blue end value - uint32_t ef; // Animation and color effects - uint8_t end; // Set to signal end of the setup + float hs; // Band begin at percent + float he; // Band end at percent + uint8_t rs; // Red start value + uint8_t re; // Red end value + uint8_t gs; // Green start value + uint8_t ge; // Green end value + uint8_t bs; // Blue start value + uint8_t be; // Blue end value + uint32_t ef; // Animation and color effects + uint8_t end; // Set to signal end of the setup } led_setup_t; extern const uint8_t led_setups_count; extern void * led_setups[]; // LED Extra Instructions -# define LED_FLAG_NULL 0x00 // Matching and coloring not used (default) -# define LED_FLAG_MATCH_ID 0x01 // Match on the ID of the LED (set id#'s to desired bit pattern, first LED is id 1) -# define LED_FLAG_MATCH_LAYER 0x02 // Match on the current active layer (set layer to desired match layer) -# define LED_FLAG_USE_RGB 0x10 // Use a specific RGB value (set r, g, b to desired output color values) -# define LED_FLAG_USE_PATTERN 0x20 // Use a specific pattern ID (set pattern_id to desired output pattern) -# define LED_FLAG_USE_ROTATE_PATTERN 0x40 // Use pattern the user has cycled to manually +# define LED_FLAG_NULL 0x00 // Matching and coloring not used (default) +# define LED_FLAG_MATCH_ID 0x01 // Match on the ID of the LED (set id#'s to desired bit pattern, first LED is id 1) +# define LED_FLAG_MATCH_LAYER 0x02 // Match on the current active layer (set layer to desired match layer) +# define LED_FLAG_USE_RGB 0x10 // Use a specific RGB value (set r, g, b to desired output color values) +# define LED_FLAG_USE_PATTERN 0x20 // Use a specific pattern ID (set pattern_id to desired output pattern) +# define LED_FLAG_USE_ROTATE_PATTERN 0x40 // Use pattern the user has cycled to manually typedef struct led_instruction_s { - uint16_t flags; // Bitfield for LED instructions - uint32_t id0; // Bitwise id, IDs 0-31 - uint32_t id1; // Bitwise id, IDs 32-63 - uint32_t id2; // Bitwise id, IDs 64-95 - uint32_t id3; // Bitwise id, IDs 96-127 - uint32_t id4; // Bitwise id, IDs 128-159 - uint32_t id5; // Bitwise id, IDs 160-191 + uint16_t flags; // Bitfield for LED instructions + uint32_t id0; // Bitwise id, IDs 0-31 + uint32_t id1; // Bitwise id, IDs 32-63 + uint32_t id2; // Bitwise id, IDs 64-95 + uint32_t id3; // Bitwise id, IDs 96-127 + uint32_t id4; // Bitwise id, IDs 128-159 + uint32_t id5; // Bitwise id, IDs 160-191 uint8_t layer; uint8_t r; uint8_t g; @@ -141,7 +141,7 @@ typedef struct led_instruction_s { extern led_instruction_t led_instructions[]; typedef struct led_config_s { - uint8_t ver; // assumed to be zero on eeprom reset + uint8_t ver; // assumed to be zero on eeprom reset uint8_t desired_gcr; uint8_t animation_breathing; @@ -178,27 +178,27 @@ void md_led_changed(void); # define led_ratio_brightness md_led_config.ratio_brightness # define led_edge_mode md_led_config.edge_mode -# define LED_MODE_NORMAL 0 // Must be 0 +# define LED_MODE_NORMAL 0 // Must be 0 # define LED_MODE_KEYS_ONLY 1 # define LED_MODE_NON_KEYS_ONLY 2 # define LED_MODE_INDICATORS_ONLY 3 -# define LED_MODE_MAX_INDEX LED_MODE_INDICATORS_ONLY // Must be highest value +# define LED_MODE_MAX_INDEX LED_MODE_INDICATORS_ONLY // Must be highest value -# define LED_EDGE_MODE_ALL 0 // All edge LEDs are active (Must be 0) -# define LED_EDGE_MODE_ALTERNATE 1 // Alternate mode of edge LEDs are active (Intention is for 'only every other edge LED' to be active) -# define LED_EDGE_MODE_MAX LED_EDGE_MODE_ALTERNATE // Must be the highest valued LED edge mode +# define LED_EDGE_MODE_ALL 0 // All edge LEDs are active (Must be 0) +# define LED_EDGE_MODE_ALTERNATE 1 // Alternate mode of edge LEDs are active (Intention is for 'only every other edge LED' to be active) +# define LED_EDGE_MODE_MAX LED_EDGE_MODE_ALTERNATE // Must be the highest valued LED edge mode -# define LED_EDGE_FULL_MODE 255 // LEDs configured with this scan code will always be on for edge lighting modes -# define LED_EDGE_ALT_MODE 254 // LEDs configured with this scan code will turn off in edge alternating mode -# define LED_EDGE_MIN_SCAN 254 // LEDs configured with scan code >= to this are assigned as edge LEDs -# define LED_INDICATOR_SCAN 253 // LEDs configured as dedicated indicators +# define LED_EDGE_FULL_MODE 255 // LEDs configured with this scan code will always be on for edge lighting modes +# define LED_EDGE_ALT_MODE 254 // LEDs configured with this scan code will turn off in edge alternating mode +# define LED_EDGE_MIN_SCAN 254 // LEDs configured with scan code >= to this are assigned as edge LEDs +# define LED_INDICATOR_SCAN 253 // LEDs configured as dedicated indicators -# define LED_IS_KEY(scan) (scan < LED_INDICATOR_SCAN) // Return true if an LED's scan value indicates it is a key LED -# define LED_IS_EDGE(scan) (scan >= LED_EDGE_MIN_SCAN) // Return true if an LED's scan value indicates an edge LED -# define LED_IS_EDGE_ALT(scan) (scan == LED_EDGE_ALT_MODE) // Return true if an LED's scan value indicates an alternate edge mode LED -# define LED_IS_INDICATOR(scan) (scan == LED_INDICATOR_SCAN) // Return true if an LED's scan value indicates it is a dedicated Indicator +# define LED_IS_KEY(scan) (scan < LED_INDICATOR_SCAN) // Return true if an LED's scan value indicates it is a key LED +# define LED_IS_EDGE(scan) (scan >= LED_EDGE_MIN_SCAN) // Return true if an LED's scan value indicates an edge LED +# define LED_IS_EDGE_ALT(scan) (scan == LED_EDGE_ALT_MODE) // Return true if an LED's scan value indicates an alternate edge mode LED +# define LED_IS_INDICATOR(scan) (scan == LED_INDICATOR_SCAN) // Return true if an LED's scan value indicates it is a dedicated Indicator #else extern uint8_t gcr_desired; -#endif // USE_MASSDROP_CONFIGURATOR +#endif // USE_MASSDROP_CONFIGURATOR -#endif //_LED_MATRIX_H_ +#endif //_LED_MATRIX_H_ diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c index 92b40b5b8556..69b3ad574ccc 100644 --- a/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c +++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c @@ -97,5 +97,5 @@ void *led_setups[] = {leds_rainbow_s, leds_rainbow_ns, leds_teal_salmon, leds_ye const uint8_t led_setups_count = sizeof(led_setups) / sizeof(led_setups[0]); -# endif // USE_MASSDROP_CONFIGURATOR -#endif // RGB_MATRIX_ENABLE \ No newline at end of file +# endif // USE_MASSDROP_CONFIGURATOR +#endif // RGB_MATRIX_ENABLE \ No newline at end of file diff --git a/tmk_core/protocol/arm_atsam/shift_register.c b/tmk_core/protocol/arm_atsam/shift_register.c index 8d63af1b59de..3adb682aa8b6 100644 --- a/tmk_core/protocol/arm_atsam/shift_register.c +++ b/tmk_core/protocol/arm_atsam/shift_register.c @@ -54,7 +54,9 @@ void shift_out_impl(const uint8_t *data, uint16_t length) { #else -void shift_init_impl(void) { spi_init(); } +void shift_init_impl(void) { + spi_init(); +} void shift_out_impl(const uint8_t *data, uint16_t length) { spi_start(SR_EXP_RCLK_PIN, true, 0, 0); @@ -67,7 +69,9 @@ void shift_out_impl(const uint8_t *data, uint16_t length) { // *************************************************************** -void shift_out(const uint8_t *data, uint16_t length) { shift_out_impl(data, length); } +void shift_out(const uint8_t *data, uint16_t length) { + shift_out_impl(data, length); +} void shift_enable(void) { setPinOutput(SR_EXP_OE_PIN); @@ -90,8 +94,8 @@ sr_exp_t sr_exp_data; void SR_EXP_WriteData(void) { uint8_t data[2] = { - sr_exp_data.reg & 0xFF, // Shift in bits 7-0 - (sr_exp_data.reg >> 8) & 0xFF, // Shift in bits 15-8 + sr_exp_data.reg & 0xFF, // Shift in bits 7-0 + (sr_exp_data.reg >> 8) & 0xFF, // Shift in bits 15-8 }; shift_out(data, 2); } diff --git a/tmk_core/protocol/arm_atsam/spi_master.c b/tmk_core/protocol/arm_atsam/spi_master.c index 9781d45b1e00..3be82fac1d99 100644 --- a/tmk_core/protocol/arm_atsam/spi_master.c +++ b/tmk_core/protocol/arm_atsam/spi_master.c @@ -45,10 +45,10 @@ __attribute__((weak)) void spi_init(void) { CLK_set_spi_freq(CHAN_SERCOM_SPI, FREQ_SPI_DEFAULT); // Set up MCU SPI pins - PORT->Group[SAMD_PORT(SPI_DATAOUT_PIN)].PMUX[SAMD_PIN(SPI_DATAOUT_PIN) / 2].bit.SPI_DATAOUT_MUX_SEL = SPI_DATAOUT_MUX; // MUX select for sercom - PORT->Group[SAMD_PORT(SPI_SCLK_PIN)].PMUX[SAMD_PIN(SPI_SCLK_PIN) / 2].bit.SPI_SCLK_MUX_SEL = SPI_SCLK_MUX; // MUX select for sercom - PORT->Group[SAMD_PORT(SPI_DATAOUT_PIN)].PINCFG[SAMD_PIN(SPI_DATAOUT_PIN)].bit.PMUXEN = 1; // MUX Enable - PORT->Group[SAMD_PORT(SPI_SCLK_PIN)].PINCFG[SAMD_PIN(SPI_SCLK_PIN)].bit.PMUXEN = 1; // MUX Enable + PORT->Group[SAMD_PORT(SPI_DATAOUT_PIN)].PMUX[SAMD_PIN(SPI_DATAOUT_PIN) / 2].bit.SPI_DATAOUT_MUX_SEL = SPI_DATAOUT_MUX; // MUX select for sercom + PORT->Group[SAMD_PORT(SPI_SCLK_PIN)].PMUX[SAMD_PIN(SPI_SCLK_PIN) / 2].bit.SPI_SCLK_MUX_SEL = SPI_SCLK_MUX; // MUX select for sercom + PORT->Group[SAMD_PORT(SPI_DATAOUT_PIN)].PINCFG[SAMD_PIN(SPI_DATAOUT_PIN)].bit.PMUXEN = 1; // MUX Enable + PORT->Group[SAMD_PORT(SPI_SCLK_PIN)].PINCFG[SAMD_PIN(SPI_SCLK_PIN)].bit.PMUXEN = 1; // MUX Enable DBGC(DC_SPI_INIT_COMPLETE); } @@ -63,14 +63,14 @@ bool spi_start(pin_t csPin, bool lsbFirst, uint8_t mode, uint16_t divisor) { setPinOutput(currentSelectPin); writePinLow(currentSelectPin); - SPI_SERCOM->SPI.CTRLA.bit.DORD = lsbFirst; // Data Order - LSB is transferred first - SPI_SERCOM->SPI.CTRLA.bit.CPOL = 1; // Clock Polarity - SCK high when idle. Leading edge of cycle is falling. Trailing rising. - SPI_SERCOM->SPI.CTRLA.bit.CPHA = 1; // Clock Phase - Leading Edge Falling, change, Trailing Edge - Rising, sample - SPI_SERCOM->SPI.CTRLA.bit.DIPO = 3; // Data In Pinout - SERCOM PAD[3] is used as data input (Configure away from DOPO. Not using input.) - SPI_SERCOM->SPI.CTRLA.bit.DOPO = 0; // Data Output PAD[0], Serial Clock PAD[1] - SPI_SERCOM->SPI.CTRLA.bit.MODE = 3; // Operating Mode - Master operation + SPI_SERCOM->SPI.CTRLA.bit.DORD = lsbFirst; // Data Order - LSB is transferred first + SPI_SERCOM->SPI.CTRLA.bit.CPOL = 1; // Clock Polarity - SCK high when idle. Leading edge of cycle is falling. Trailing rising. + SPI_SERCOM->SPI.CTRLA.bit.CPHA = 1; // Clock Phase - Leading Edge Falling, change, Trailing Edge - Rising, sample + SPI_SERCOM->SPI.CTRLA.bit.DIPO = 3; // Data In Pinout - SERCOM PAD[3] is used as data input (Configure away from DOPO. Not using input.) + SPI_SERCOM->SPI.CTRLA.bit.DOPO = 0; // Data Output PAD[0], Serial Clock PAD[1] + SPI_SERCOM->SPI.CTRLA.bit.MODE = 3; // Operating Mode - Master operation - SPI_SERCOM->SPI.CTRLA.bit.ENABLE = 1; // Enable - Peripheral is enabled or being enabled + SPI_SERCOM->SPI.CTRLA.bit.ENABLE = 1; // Enable - Peripheral is enabled or being enabled while (SPI_SERCOM->SPI.SYNCBUSY.bit.ENABLE) { DBGC(DC_SPI_SYNC_ENABLING); } diff --git a/tmk_core/protocol/arm_atsam/usb/compiler.h b/tmk_core/protocol/arm_atsam/usb/compiler.h index 6ba232234038..517499f9465a 100644 --- a/tmk_core/protocol/arm_atsam/usb/compiler.h +++ b/tmk_core/protocol/arm_atsam/usb/compiler.h @@ -876,66 +876,66 @@ typedef struct { // kmod #define LOW 0 // kmod #define HIGH 1 -typedef int8_t S8; //!< 8-bit signed integer. -typedef uint8_t U8; //!< 8-bit unsigned integer. -typedef int16_t S16; //!< 16-bit signed integer. -typedef uint16_t U16; //!< 16-bit unsigned integer. -typedef int32_t S32; //!< 32-bit signed integer. -typedef uint32_t U32; //!< 32-bit unsigned integer. -typedef int64_t S64; //!< 64-bit signed integer. -typedef uint64_t U64; //!< 64-bit unsigned integer. -typedef float F32; //!< 32-bit floating-point number. -typedef double F64; //!< 64-bit floating-point number. - -# define MSB(u16) (((U8 *)&(u16))[1]) //!< Most significant byte of \a u16. -# define LSB(u16) (((U8 *)&(u16))[0]) //!< Least significant byte of \a u16. - -# define MSH(u32) (((U16 *)&(u32))[1]) //!< Most significant half-word of \a u32. -# define LSH(u32) (((U16 *)&(u32))[0]) //!< Least significant half-word of \a u32. -# define MSB0W(u32) (((U8 *)&(u32))[3]) //!< Most significant byte of 1st rank of \a u32. -# define MSB1W(u32) (((U8 *)&(u32))[2]) //!< Most significant byte of 2nd rank of \a u32. -# define MSB2W(u32) (((U8 *)&(u32))[1]) //!< Most significant byte of 3rd rank of \a u32. -# define MSB3W(u32) (((U8 *)&(u32))[0]) //!< Most significant byte of 4th rank of \a u32. -# define LSB3W(u32) MSB0W(u32) //!< Least significant byte of 4th rank of \a u32. -# define LSB2W(u32) MSB1W(u32) //!< Least significant byte of 3rd rank of \a u32. -# define LSB1W(u32) MSB2W(u32) //!< Least significant byte of 2nd rank of \a u32. -# define LSB0W(u32) MSB3W(u32) //!< Least significant byte of 1st rank of \a u32. - -# define MSW(u64) (((U32 *)&(u64))[1]) //!< Most significant word of \a u64. -# define LSW(u64) (((U32 *)&(u64))[0]) //!< Least significant word of \a u64. -# define MSH0(u64) (((U16 *)&(u64))[3]) //!< Most significant half-word of 1st rank of \a u64. -# define MSH1(u64) (((U16 *)&(u64))[2]) //!< Most significant half-word of 2nd rank of \a u64. -# define MSH2(u64) (((U16 *)&(u64))[1]) //!< Most significant half-word of 3rd rank of \a u64. -# define MSH3(u64) (((U16 *)&(u64))[0]) //!< Most significant half-word of 4th rank of \a u64. -# define LSH3(u64) MSH0(u64) //!< Least significant half-word of 4th rank of \a u64. -# define LSH2(u64) MSH1(u64) //!< Least significant half-word of 3rd rank of \a u64. -# define LSH1(u64) MSH2(u64) //!< Least significant half-word of 2nd rank of \a u64. -# define LSH0(u64) MSH3(u64) //!< Least significant half-word of 1st rank of \a u64. -# define MSB0D(u64) (((U8 *)&(u64))[7]) //!< Most significant byte of 1st rank of \a u64. -# define MSB1D(u64) (((U8 *)&(u64))[6]) //!< Most significant byte of 2nd rank of \a u64. -# define MSB2D(u64) (((U8 *)&(u64))[5]) //!< Most significant byte of 3rd rank of \a u64. -# define MSB3D(u64) (((U8 *)&(u64))[4]) //!< Most significant byte of 4th rank of \a u64. -# define MSB4D(u64) (((U8 *)&(u64))[3]) //!< Most significant byte of 5th rank of \a u64. -# define MSB5D(u64) (((U8 *)&(u64))[2]) //!< Most significant byte of 6th rank of \a u64. -# define MSB6D(u64) (((U8 *)&(u64))[1]) //!< Most significant byte of 7th rank of \a u64. -# define MSB7D(u64) (((U8 *)&(u64))[0]) //!< Most significant byte of 8th rank of \a u64. -# define LSB7D(u64) MSB0D(u64) //!< Least significant byte of 8th rank of \a u64. -# define LSB6D(u64) MSB1D(u64) //!< Least significant byte of 7th rank of \a u64. -# define LSB5D(u64) MSB2D(u64) //!< Least significant byte of 6th rank of \a u64. -# define LSB4D(u64) MSB3D(u64) //!< Least significant byte of 5th rank of \a u64. -# define LSB3D(u64) MSB4D(u64) //!< Least significant byte of 4th rank of \a u64. -# define LSB2D(u64) MSB5D(u64) //!< Least significant byte of 3rd rank of \a u64. -# define LSB1D(u64) MSB6D(u64) //!< Least significant byte of 2nd rank of \a u64. -# define LSB0D(u64) MSB7D(u64) //!< Least significant byte of 1st rank of \a u64. - -# define LSB0(u32) LSB0W(u32) //!< Least significant byte of 1st rank of \a u32. -# define LSB1(u32) LSB1W(u32) //!< Least significant byte of 2nd rank of \a u32. -# define LSB2(u32) LSB2W(u32) //!< Least significant byte of 3rd rank of \a u32. -# define LSB3(u32) LSB3W(u32) //!< Least significant byte of 4th rank of \a u32. -# define MSB3(u32) MSB3W(u32) //!< Most significant byte of 4th rank of \a u32. -# define MSB2(u32) MSB2W(u32) //!< Most significant byte of 3rd rank of \a u32. -# define MSB1(u32) MSB1W(u32) //!< Most significant byte of 2nd rank of \a u32. -# define MSB0(u32) MSB0W(u32) //!< Most significant byte of 1st rank of \a u32. +typedef int8_t S8; //!< 8-bit signed integer. +typedef uint8_t U8; //!< 8-bit unsigned integer. +typedef int16_t S16; //!< 16-bit signed integer. +typedef uint16_t U16; //!< 16-bit unsigned integer. +typedef int32_t S32; //!< 32-bit signed integer. +typedef uint32_t U32; //!< 32-bit unsigned integer. +typedef int64_t S64; //!< 64-bit signed integer. +typedef uint64_t U64; //!< 64-bit unsigned integer. +typedef float F32; //!< 32-bit floating-point number. +typedef double F64; //!< 64-bit floating-point number. + +# define MSB(u16) (((U8 *)&(u16))[1]) //!< Most significant byte of \a u16. +# define LSB(u16) (((U8 *)&(u16))[0]) //!< Least significant byte of \a u16. + +# define MSH(u32) (((U16 *)&(u32))[1]) //!< Most significant half-word of \a u32. +# define LSH(u32) (((U16 *)&(u32))[0]) //!< Least significant half-word of \a u32. +# define MSB0W(u32) (((U8 *)&(u32))[3]) //!< Most significant byte of 1st rank of \a u32. +# define MSB1W(u32) (((U8 *)&(u32))[2]) //!< Most significant byte of 2nd rank of \a u32. +# define MSB2W(u32) (((U8 *)&(u32))[1]) //!< Most significant byte of 3rd rank of \a u32. +# define MSB3W(u32) (((U8 *)&(u32))[0]) //!< Most significant byte of 4th rank of \a u32. +# define LSB3W(u32) MSB0W(u32) //!< Least significant byte of 4th rank of \a u32. +# define LSB2W(u32) MSB1W(u32) //!< Least significant byte of 3rd rank of \a u32. +# define LSB1W(u32) MSB2W(u32) //!< Least significant byte of 2nd rank of \a u32. +# define LSB0W(u32) MSB3W(u32) //!< Least significant byte of 1st rank of \a u32. + +# define MSW(u64) (((U32 *)&(u64))[1]) //!< Most significant word of \a u64. +# define LSW(u64) (((U32 *)&(u64))[0]) //!< Least significant word of \a u64. +# define MSH0(u64) (((U16 *)&(u64))[3]) //!< Most significant half-word of 1st rank of \a u64. +# define MSH1(u64) (((U16 *)&(u64))[2]) //!< Most significant half-word of 2nd rank of \a u64. +# define MSH2(u64) (((U16 *)&(u64))[1]) //!< Most significant half-word of 3rd rank of \a u64. +# define MSH3(u64) (((U16 *)&(u64))[0]) //!< Most significant half-word of 4th rank of \a u64. +# define LSH3(u64) MSH0(u64) //!< Least significant half-word of 4th rank of \a u64. +# define LSH2(u64) MSH1(u64) //!< Least significant half-word of 3rd rank of \a u64. +# define LSH1(u64) MSH2(u64) //!< Least significant half-word of 2nd rank of \a u64. +# define LSH0(u64) MSH3(u64) //!< Least significant half-word of 1st rank of \a u64. +# define MSB0D(u64) (((U8 *)&(u64))[7]) //!< Most significant byte of 1st rank of \a u64. +# define MSB1D(u64) (((U8 *)&(u64))[6]) //!< Most significant byte of 2nd rank of \a u64. +# define MSB2D(u64) (((U8 *)&(u64))[5]) //!< Most significant byte of 3rd rank of \a u64. +# define MSB3D(u64) (((U8 *)&(u64))[4]) //!< Most significant byte of 4th rank of \a u64. +# define MSB4D(u64) (((U8 *)&(u64))[3]) //!< Most significant byte of 5th rank of \a u64. +# define MSB5D(u64) (((U8 *)&(u64))[2]) //!< Most significant byte of 6th rank of \a u64. +# define MSB6D(u64) (((U8 *)&(u64))[1]) //!< Most significant byte of 7th rank of \a u64. +# define MSB7D(u64) (((U8 *)&(u64))[0]) //!< Most significant byte of 8th rank of \a u64. +# define LSB7D(u64) MSB0D(u64) //!< Least significant byte of 8th rank of \a u64. +# define LSB6D(u64) MSB1D(u64) //!< Least significant byte of 7th rank of \a u64. +# define LSB5D(u64) MSB2D(u64) //!< Least significant byte of 6th rank of \a u64. +# define LSB4D(u64) MSB3D(u64) //!< Least significant byte of 5th rank of \a u64. +# define LSB3D(u64) MSB4D(u64) //!< Least significant byte of 4th rank of \a u64. +# define LSB2D(u64) MSB5D(u64) //!< Least significant byte of 3rd rank of \a u64. +# define LSB1D(u64) MSB6D(u64) //!< Least significant byte of 2nd rank of \a u64. +# define LSB0D(u64) MSB7D(u64) //!< Least significant byte of 1st rank of \a u64. + +# define LSB0(u32) LSB0W(u32) //!< Least significant byte of 1st rank of \a u32. +# define LSB1(u32) LSB1W(u32) //!< Least significant byte of 2nd rank of \a u32. +# define LSB2(u32) LSB2W(u32) //!< Least significant byte of 3rd rank of \a u32. +# define LSB3(u32) LSB3W(u32) //!< Least significant byte of 4th rank of \a u32. +# define MSB3(u32) MSB3W(u32) //!< Most significant byte of 4th rank of \a u32. +# define MSB2(u32) MSB2W(u32) //!< Most significant byte of 3rd rank of \a u32. +# define MSB1(u32) MSB1W(u32) //!< Most significant byte of 2nd rank of \a u32. +# define MSB0(u32) MSB0W(u32) //!< Most significant byte of 1st rank of \a u32. # if defined(__ICCARM__) # define SHORTENUM __packed @@ -1031,7 +1031,9 @@ static inline void convert_16_bit_to_byte_address(uint16_t value, uint8_t *data) * @return 16-Bit value * @ingroup apiPalApi */ -static inline uint16_t convert_byte_array_to_16_bit(uint8_t *data) { return (data[0] | ((uint16_t)data[1] << 8)); } +static inline uint16_t convert_byte_array_to_16_bit(uint8_t *data) { + return (data[0] | ((uint16_t)data[1] << 8)); +} /* Converts a 4 Byte array into a 32-Bit value */ static inline uint32_t convert_byte_array_to_32_bit(uint8_t *data) { diff --git a/tmk_core/protocol/arm_atsam/usb/conf_usb.h b/tmk_core/protocol/arm_atsam/usb/conf_usb.h index 184a2e81dc38..50d189a2025f 100644 --- a/tmk_core/protocol/arm_atsam/usb/conf_usb.h +++ b/tmk_core/protocol/arm_atsam/usb/conf_usb.h @@ -59,7 +59,7 @@ #define USB_DEVICE_VENDOR_ID VENDOR_ID #define USB_DEVICE_PRODUCT_ID PRODUCT_ID #define USB_DEVICE_VERSION DEVICE_VER -#define USB_DEVICE_POWER 500 // Consumption on Vbus line (mA) +#define USB_DEVICE_POWER 500 // Consumption on Vbus line (mA) #define USB_DEVICE_ATTR (USB_CONFIG_ATTR_REMOTE_WAKEUP | USB_CONFIG_ATTR_BUS_POWERED) // (USB_CONFIG_ATTR_REMOTE_WAKEUP|USB_CONFIG_ATTR_BUS_POWERED) // (USB_CONFIG_ATTR_REMOTE_WAKEUP|USB_CONFIG_ATTR_SELF_POWERED) @@ -161,4 +161,4 @@ #include "usb_main.h" #include "ui.h" -#endif // _CONF_USB_H_ +#endif // _CONF_USB_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/main_usb.c b/tmk_core/protocol/arm_atsam/usb/main_usb.c index 5fcb9a9c6124..ee6ed25b8573 100644 --- a/tmk_core/protocol/arm_atsam/usb/main_usb.c +++ b/tmk_core/protocol/arm_atsam/usb/main_usb.c @@ -25,15 +25,25 @@ along with this program. If not, see . uint8_t keyboard_protocol = 1; -void main_suspend_action(void) { ui_powerdown(); } +void main_suspend_action(void) { + ui_powerdown(); +} -void main_resume_action(void) { ui_wakeup(); } +void main_resume_action(void) { + ui_wakeup(); +} -void main_sof_action(void) { ui_process(udd_get_frame_number()); } +void main_sof_action(void) { + ui_process(udd_get_frame_number()); +} -void main_remotewakeup_enable(void) { ui_wakeup_enable(); } +void main_remotewakeup_enable(void) { + ui_wakeup_enable(); +} -void main_remotewakeup_disable(void) { ui_wakeup_disable(); } +void main_remotewakeup_disable(void) { + ui_wakeup_disable(); +} volatile bool main_b_kbd_enable = false; bool main_kbd_enable(void) { @@ -41,7 +51,9 @@ bool main_kbd_enable(void) { return true; } -void main_kbd_disable(void) { main_b_kbd_enable = false; } +void main_kbd_disable(void) { + main_b_kbd_enable = false; +} #ifdef NKRO_ENABLE volatile bool main_b_nkro_enable = false; @@ -50,7 +62,9 @@ bool main_nkro_enable(void) { return true; } -void main_nkro_disable(void) { main_b_nkro_enable = false; } +void main_nkro_disable(void) { + main_b_nkro_enable = false; +} #endif #ifdef EXTRAKEY_ENABLE @@ -60,7 +74,9 @@ bool main_exk_enable(void) { return true; } -void main_exk_disable(void) { main_b_exk_enable = false; } +void main_exk_disable(void) { + main_b_exk_enable = false; +} #endif #ifdef CONSOLE_ENABLE @@ -70,7 +86,9 @@ bool main_con_enable(void) { return true; } -void main_con_disable(void) { main_b_con_enable = false; } +void main_con_disable(void) { + main_b_con_enable = false; +} #endif #ifdef MOUSE_ENABLE @@ -80,7 +98,9 @@ bool main_mou_enable(void) { return true; } -void main_mou_disable(void) { main_b_mou_enable = false; } +void main_mou_disable(void) { + main_b_mou_enable = false; +} #endif #ifdef RAW_ENABLE @@ -90,7 +110,11 @@ bool main_raw_enable(void) { return true; } -void main_raw_disable(void) { main_b_raw_enable = false; } +void main_raw_disable(void) { + main_b_raw_enable = false; +} -void main_raw_receive(uint8_t *buffer, uint8_t len) { raw_hid_receive(buffer, len); } +void main_raw_receive(uint8_t *buffer, uint8_t len) { + raw_hid_receive(buffer, len); +} #endif diff --git a/tmk_core/protocol/arm_atsam/usb/status_codes.h b/tmk_core/protocol/arm_atsam/usb/status_codes.h index a7a1230be0a9..72819a0d7d2f 100644 --- a/tmk_core/protocol/arm_atsam/usb/status_codes.h +++ b/tmk_core/protocol/arm_atsam/usb/status_codes.h @@ -124,20 +124,20 @@ typedef enum status_code status_code_genare_t; */ enum status_code_wireless { // STATUS_OK = 0, //!< Success - ERR_IO_ERROR = -1, //!< I/O error - ERR_FLUSHED = -2, //!< Request flushed from queue - ERR_TIMEOUT = -3, //!< Operation timed out - ERR_BAD_DATA = -4, //!< Data integrity check failed - ERR_PROTOCOL = -5, //!< Protocol error - ERR_UNSUPPORTED_DEV = -6, //!< Unsupported device - ERR_NO_MEMORY = -7, //!< Insufficient memory - ERR_INVALID_ARG = -8, //!< Invalid argument - ERR_BAD_ADDRESS = -9, //!< Bad address - ERR_BUSY = -10, //!< Resource is busy - ERR_BAD_FORMAT = -11, //!< Data format not recognized - ERR_NO_TIMER = -12, //!< No timer available - ERR_TIMER_ALREADY_RUNNING = -13, //!< Timer already running - ERR_TIMER_NOT_RUNNING = -14, //!< Timer not running + ERR_IO_ERROR = -1, //!< I/O error + ERR_FLUSHED = -2, //!< Request flushed from queue + ERR_TIMEOUT = -3, //!< Operation timed out + ERR_BAD_DATA = -4, //!< Data integrity check failed + ERR_PROTOCOL = -5, //!< Protocol error + ERR_UNSUPPORTED_DEV = -6, //!< Unsupported device + ERR_NO_MEMORY = -7, //!< Insufficient memory + ERR_INVALID_ARG = -8, //!< Invalid argument + ERR_BAD_ADDRESS = -9, //!< Bad address + ERR_BUSY = -10, //!< Resource is busy + ERR_BAD_FORMAT = -11, //!< Data format not recognized + ERR_NO_TIMER = -12, //!< No timer available + ERR_TIMER_ALREADY_RUNNING = -13, //!< Timer already running + ERR_TIMER_NOT_RUNNING = -14, //!< Timer not running /** * \brief Operation in progress diff --git a/tmk_core/protocol/arm_atsam/usb/udc.c b/tmk_core/protocol/arm_atsam/usb/udc.c index 1f0c0d95d6ec..2a371c200af1 100644 --- a/tmk_core/protocol/arm_atsam/usb/udc.c +++ b/tmk_core/protocol/arm_atsam/usb/udc.c @@ -52,7 +52,7 @@ #include "udi.h" #include "udc.h" -#define BOOTLOADER_SERIAL_MAX_SIZE 20 // DO NOT MODIFY! +#define BOOTLOADER_SERIAL_MAX_SIZE 20 // DO NOT MODIFY! /** * \ingroup udc_group @@ -132,13 +132,13 @@ uint8_t bootloader_serial_number[BOOTLOADER_SERIAL_MAX_SIZE + 1] = ""; static const uint8_t *udc_get_string_serial_name(void) { #if defined USB_DEVICE_SERIAL_USE_BOOTLOADER_SERIAL uint32_t serial_ptrloc = (uint32_t)&_srom - 4; - uint32_t serial_address = *(uint32_t *)serial_ptrloc; // Address of bootloader's serial number if available + uint32_t serial_address = *(uint32_t *)serial_ptrloc; // Address of bootloader's serial number if available - if (serial_address != 0xFFFFFFFF && serial_address < serial_ptrloc) // Check for factory programmed serial address + if (serial_address != 0xFFFFFFFF && serial_address < serial_ptrloc) // Check for factory programmed serial address { - if ((serial_address & 0xFF) % 4 == 0) // Check alignment + if ((serial_address & 0xFF) % 4 == 0) // Check alignment { - uint16_t *serial_use = (uint16_t *)(serial_address); // Point to address of string in rom + uint16_t *serial_use = (uint16_t *)(serial_address); // Point to address of string in rom uint8_t serial_length = 0; while ((*(serial_use + serial_length) > 32 && *(serial_use + serial_length) < 127) && serial_length < BOOTLOADER_SERIAL_MAX_SIZE) { @@ -149,7 +149,7 @@ static const uint8_t *udc_get_string_serial_name(void) { usb_device_serial_name_size = serial_length; - return bootloader_serial_number; // Use serial programmed into bootloader rom + return bootloader_serial_number; // Use serial programmed into bootloader rom } } #endif @@ -157,9 +157,9 @@ static const uint8_t *udc_get_string_serial_name(void) { usb_device_serial_name_size = USB_DEVICE_SERIAL_NAME_SIZE; #if defined USB_DEVICE_SERIAL_NAME - return (const uint8_t *)USB_DEVICE_SERIAL_NAME; // Use serial supplied by keyboard's config.h + return (const uint8_t *)USB_DEVICE_SERIAL_NAME; // Use serial supplied by keyboard's config.h #else - return 0; // No serial supplied + return 0; // No serial supplied #endif } @@ -169,7 +169,7 @@ static const uint8_t *udc_get_string_serial_name(void) { */ #ifndef BOOTLOADER_SERIAL_MAX_SIZE # define BOOTLOADER_SERIAL_MAX_SIZE 0 -#endif // BOOTLOADER_SERIAL_MAX_SIZE +#endif // BOOTLOADER_SERIAL_MAX_SIZE struct udc_string_desc_t { usb_str_desc_t header; le16_t string[Max(Max(Max(USB_DEVICE_MANUFACTURE_NAME_SIZE, USB_DEVICE_PRODUCT_NAME_SIZE), USB_DEVICE_SERIAL_NAME_SIZE), BOOTLOADER_SERIAL_MAX_SIZE)]; @@ -178,14 +178,18 @@ COMPILER_WORD_ALIGNED static UDC_DESC_STORAGE struct udc_string_desc_t udc_string_desc = {.header.bDescriptorType = USB_DT_STRING}; //! @} -usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void) { return udc_ptr_iface; } +usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void) { + return udc_ptr_iface; +} /** * \brief Returns a value to check the end of USB Configuration descriptor * * \return address after the last byte of USB Configuration descriptor */ -static usb_conf_desc_t UDC_DESC_STORAGE *udc_get_eof_conf(void) { return (UDC_DESC_STORAGE usb_conf_desc_t *)((uint8_t *)udc_ptr_conf->desc + le16_to_cpu(udc_ptr_conf->desc->wTotalLength)); } +static usb_conf_desc_t UDC_DESC_STORAGE *udc_get_eof_conf(void) { + return (UDC_DESC_STORAGE usb_conf_desc_t *)((uint8_t *)udc_ptr_conf->desc + le16_to_cpu(udc_ptr_conf->desc->wTotalLength)); +} #if (0 != USB_DEVICE_MAX_EP) /** @@ -209,15 +213,15 @@ static usb_conf_desc_t UDC_DESC_STORAGE *udc_next_desc_in_iface(usb_conf_desc_t // If new interface descriptor is found, // then it is the end of the current global interface descriptor if (USB_DT_INTERFACE == desc->bDescriptorType) { - break; // End of global interface descriptor + break; // End of global interface descriptor } if (desc_id == desc->bDescriptorType) { - return desc; // Specific descriptor found + return desc; // Specific descriptor found } // Go to next descriptor desc = (UDC_DESC_STORAGE usb_conf_desc_t *)((uint8_t *)desc + desc->bLength); } - return NULL; // No specific descriptor found + return NULL; // No specific descriptor found } #endif @@ -251,13 +255,13 @@ static bool udc_update_iface_desc(uint8_t iface_num, uint8_t setting_num) { // A interface descriptor is found // Check interface and alternate setting number if ((iface_num == udc_ptr_iface->bInterfaceNumber) && (setting_num == udc_ptr_iface->bAlternateSetting)) { - return true; // Interface found + return true; // Interface found } } // Go to next descriptor udc_ptr_iface = (UDC_DESC_STORAGE usb_iface_desc_t *)((uint8_t *)udc_ptr_iface + udc_ptr_iface->bLength); } - return false; // Interface not found + return false; // Interface not found } /** @@ -343,7 +347,9 @@ static bool udc_iface_enable(uint8_t iface_num, uint8_t setting_num) { /*! \brief Start the USB Device stack */ -void udc_start(void) { udd_enable(); } +void udc_start(void) { + udd_enable(); +} /*! \brief Stop the USB Device stack */ @@ -510,7 +516,7 @@ static bool udc_req_std_dev_set_feature(void) { udd_g_ctrlreq.callback = udd_test_mode_packet; return true; - case USB_DEV_TEST_MODE_FORCE_ENABLE: // Only for downstream facing hub ports + case USB_DEV_TEST_MODE_FORCE_ENABLE: // Only for downstream facing hub ports default: break; } @@ -544,7 +550,9 @@ static bool udc_req_std_ep_set_feature(void) { * \brief Change the address of device * Callback called at the end of request set address */ -static void udc_valid_address(void) { udd_set_address(udd_g_ctrlreq.req.wValue & 0x7F); } +static void udc_valid_address(void) { + udd_set_address(udd_g_ctrlreq.req.wValue & 0x7F); +} /** * \brief Standard device request to set device address @@ -763,7 +771,7 @@ static bool udc_req_std_dev_set_configuration(void) { // Enable new configuration udc_num_configuration = udd_g_ctrlreq.req.wValue & 0xFF; if (udc_num_configuration == 0) { - return true; // Default empty configuration requested + return true; // Default empty configuration requested } // Update pointer of the configuration descriptor #ifdef USB_DEVICE_HS_SUPPORT @@ -796,10 +804,10 @@ static bool udc_req_std_iface_get_setting(void) { udi_api_t UDC_DESC_STORAGE *udi_api; if (udd_g_ctrlreq.req.wLength != 1) { - return false; // Error in request + return false; // Error in request } if (!udc_num_configuration) { - return false; // The device is not is configured state yet + return false; // The device is not is configured state yet } // Check the interface number included in the request @@ -832,10 +840,10 @@ static bool udc_req_std_iface_set_setting(void) { uint8_t iface_num, setting_num; if (udd_g_ctrlreq.req.wLength) { - return false; // Error in request + return false; // Error in request } if (!udc_num_configuration) { - return false; // The device is not is configured state yet + return false; // The device is not is configured state yet } iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; @@ -859,7 +867,7 @@ static bool udc_reqstd(void) { if (Udd_setup_is_in()) { // GET Standard Requests if (udd_g_ctrlreq.req.wLength == 0) { - return false; // Error for USB host + return false; // Error for USB host } if (USB_REQ_RECIP_DEVICE == Udd_setup_recipient()) { @@ -953,7 +961,7 @@ static bool udc_req_iface(void) { udi_api_t UDC_DESC_STORAGE *udi_api; if (0 == udc_num_configuration) { - return false; // The device is not is configured state yet + return false; // The device is not is configured state yet } // Check interface number iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; @@ -987,7 +995,7 @@ static bool udc_req_ep(void) { udi_api_t UDC_DESC_STORAGE *udi_api; if (0 == udc_num_configuration) { - return false; // The device is not is configured state yet + return false; // The device is not is configured state yet } // Send this request on all enabled interfaces iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; @@ -1027,7 +1035,7 @@ bool udc_process_setup(void) { if (Udd_setup_is_in()) { if (udd_g_ctrlreq.req.wLength == 0) { - return false; // Error from USB host + return false; // Error from USB host } } @@ -1055,7 +1063,7 @@ bool udc_process_setup(void) { // Here SETUP request unknown by UDC and UDIs #ifdef USB_DEVICE_SPECIFIC_REQUEST // Try to decode it in specific callback - return USB_DEVICE_SPECIFIC_REQUEST(); // Ex: Vendor request,... + return USB_DEVICE_SPECIFIC_REQUEST(); // Ex: Vendor request,... #else return false; #endif diff --git a/tmk_core/protocol/arm_atsam/usb/udc.h b/tmk_core/protocol/arm_atsam/usb/udc.h index 8d33307d3c86..f2144059eb5a 100644 --- a/tmk_core/protocol/arm_atsam/usb/udc.h +++ b/tmk_core/protocol/arm_atsam/usb/udc.h @@ -172,7 +172,9 @@ extern "C" { } \endcode */ -static inline bool udc_include_vbus_monitoring(void) { return udd_include_vbus_monitoring(); } +static inline bool udc_include_vbus_monitoring(void) { + return udd_include_vbus_monitoring(); +} /*! \brief Start the USB Device stack */ @@ -189,19 +191,25 @@ void udc_stop(void); * then it will attach device when an acceptable Vbus * level from the host is detected. */ -static inline void udc_attach(void) { udd_attach(); } +static inline void udc_attach(void) { + udd_attach(); +} /** * \brief Detaches the device from the bus * * The driver must remove pull-up on USB line D- or D+. */ -static inline void udc_detach(void) { udd_detach(); } +static inline void udc_detach(void) { + udd_detach(); +} /*! \brief The USB driver sends a resume signal called \e "Upstream Resume" * This is authorized only when the remote wakeup feature is enabled by host. */ -inline void udc_remotewakeup(void) { udd_send_remotewakeup(); } +inline void udc_remotewakeup(void) { + udd_send_remotewakeup(); +} /** * \brief Returns a pointer on the current interface descriptor @@ -245,4 +253,4 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void); } #endif -#endif // _UDC_H_ +#endif // _UDC_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udc_desc.h b/tmk_core/protocol/arm_atsam/usb/udc_desc.h index 39ea153b401b..50861da96436 100644 --- a/tmk_core/protocol/arm_atsam/usb/udc_desc.h +++ b/tmk_core/protocol/arm_atsam/usb/udc_desc.h @@ -129,4 +129,4 @@ extern UDC_DESC_STORAGE udc_config_t udc_config; #ifdef __cplusplus } #endif -#endif // _UDC_DESC_H_ +#endif // _UDC_DESC_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udd.h b/tmk_core/protocol/arm_atsam/usb/udd.h index 805b761a7755..d9f58baf0b27 100644 --- a/tmk_core/protocol/arm_atsam/usb/udd.h +++ b/tmk_core/protocol/arm_atsam/usb/udd.h @@ -381,4 +381,4 @@ extern void udc_sof_notify(void); #ifdef __cplusplus } #endif -#endif // _UDD_H_ +#endif // _UDD_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udi.h b/tmk_core/protocol/arm_atsam/usb/udi.h index 89942cce4d93..60b117f3ca3a 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi.h +++ b/tmk_core/protocol/arm_atsam/usb/udi.h @@ -130,4 +130,4 @@ typedef struct { #ifdef __cplusplus } #endif -#endif // _UDI_H_ +#endif // _UDI_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udi_cdc.c b/tmk_core/protocol/arm_atsam/usb/udi_cdc.c index 27db4017c443..0391b49f6686 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_cdc.c +++ b/tmk_core/protocol/arm_atsam/usb/udi_cdc.c @@ -386,7 +386,7 @@ bool udi_cdc_comm_setup(void) { switch (udd_g_ctrlreq.req.bRequest) { case USB_REQ_CDC_GET_LINE_CODING: // Get configuration of CDC line - if (sizeof(usb_cdc_line_coding_t) != udd_g_ctrlreq.req.wLength) return false; // Error for USB host + if (sizeof(usb_cdc_line_coding_t) != udd_g_ctrlreq.req.wLength) return false; // Error for USB host udd_g_ctrlreq.payload = (uint8_t *)&udi_cdc_line_coding[port]; udd_g_ctrlreq.payload_size = sizeof(usb_cdc_line_coding_t); return true; @@ -400,7 +400,7 @@ bool udi_cdc_comm_setup(void) { switch (udd_g_ctrlreq.req.bRequest) { case USB_REQ_CDC_SET_LINE_CODING: // Change configuration of CDC line - if (sizeof(usb_cdc_line_coding_t) != udd_g_ctrlreq.req.wLength) return false; // Error for USB host + if (sizeof(usb_cdc_line_coding_t) != udd_g_ctrlreq.req.wLength) return false; // Error for USB host udd_g_ctrlreq.callback = udi_cdc_line_coding_received; udd_g_ctrlreq.payload = (uint8_t *)&udi_cdc_line_coding[port]; udd_g_ctrlreq.payload_size = sizeof(usb_cdc_line_coding_t); @@ -417,15 +417,15 @@ bool udi_cdc_comm_setup(void) { } } } - return false; // request Not supported + return false; // request Not supported } bool udi_cdc_data_setup(void) { - return false; // request Not supported + return false; // request Not supported } uint8_t udi_cdc_getsetting(void) { - return 0; // CDC don't have multiple alternate setting + return 0; // CDC don't have multiple alternate setting } void udi_cdc_data_sof_notify(void) { @@ -476,7 +476,7 @@ static void udi_cdc_line_coding_received(void) { static void udi_cdc_ctrl_state_change(uint8_t port, bool b_set, le16_t bit_mask) { udd_ep_id_t ep_comm; - uint32_t irqflags; // irqflags_t + uint32_t irqflags; // irqflags_t //#if UDI_CDC_PORT_NB == 1 // To optimize code port = 0; @@ -514,7 +514,7 @@ static void udi_cdc_ctrl_state_change(uint8_t port, bool b_set, le16_t bit_mask) } static void udi_cdc_ctrl_state_notify(uint8_t port, udd_ep_id_t ep) { -# if UDI_CDC_PORT_NB == 1 // To optimize code +# if UDI_CDC_PORT_NB == 1 // To optimize code port = 0; # endif @@ -562,7 +562,7 @@ static void udi_cdc_serial_state_msg_sent(udd_ep_status_t status, iram_size_t n, //------- Internal routines to process data transfer static bool udi_cdc_rx_start(uint8_t port) { - uint32_t irqflags; // irqflags_t + uint32_t irqflags; // irqflags_t uint8_t buf_sel_trans; udd_ep_id_t ep; @@ -685,7 +685,7 @@ static void udi_cdc_data_sent(udd_ep_status_t status, iram_size_t n, udd_ep_id_t } static void udi_cdc_tx_send(uint8_t port) { - uint32_t irqflags; // irqflags_t + uint32_t irqflags; // irqflags_t uint8_t buf_sel_trans; bool b_short_packet; udd_ep_id_t ep; @@ -696,15 +696,15 @@ static void udi_cdc_tx_send(uint8_t port) { //#endif if (udi_cdc_tx_trans_ongoing[port]) { - return; // Already on going or wait next SOF to send next data + return; // Already on going or wait next SOF to send next data } if (udd_is_high_speed()) { if (udi_cdc_tx_sof_num[port] == udd_get_micro_frame_number()) { - return; // Wait next SOF to send next data + return; // Wait next SOF to send next data } } else { if (udi_cdc_tx_sof_num[port] == udd_get_frame_number()) { - return; // Wait next SOF to send next data + return; // Wait next SOF to send next data } } @@ -743,7 +743,7 @@ static void udi_cdc_tx_send(uint8_t port) { udi_cdc_tx_sof_num[port] = udd_get_frame_number(); } } else { - udi_cdc_tx_sof_num[port] = 0; // Force next transfer without wait SOF + udi_cdc_tx_sof_num[port] = 0; // Force next transfer without wait SOF } /* @@ -768,28 +768,48 @@ static void udi_cdc_tx_send(uint8_t port) { //--------------------------------------------- //------- Application interface -void udi_cdc_ctrl_signal_dcd(bool b_set) { udi_cdc_ctrl_state_change(0, b_set, CDC_SERIAL_STATE_DCD); } +void udi_cdc_ctrl_signal_dcd(bool b_set) { + udi_cdc_ctrl_state_change(0, b_set, CDC_SERIAL_STATE_DCD); +} -void udi_cdc_ctrl_signal_dsr(bool b_set) { udi_cdc_ctrl_state_change(0, b_set, CDC_SERIAL_STATE_DSR); } +void udi_cdc_ctrl_signal_dsr(bool b_set) { + udi_cdc_ctrl_state_change(0, b_set, CDC_SERIAL_STATE_DSR); +} -void udi_cdc_signal_framing_error(void) { udi_cdc_ctrl_state_change(0, true, CDC_SERIAL_STATE_FRAMING); } +void udi_cdc_signal_framing_error(void) { + udi_cdc_ctrl_state_change(0, true, CDC_SERIAL_STATE_FRAMING); +} -void udi_cdc_signal_parity_error(void) { udi_cdc_ctrl_state_change(0, true, CDC_SERIAL_STATE_PARITY); } +void udi_cdc_signal_parity_error(void) { + udi_cdc_ctrl_state_change(0, true, CDC_SERIAL_STATE_PARITY); +} -void udi_cdc_signal_overrun(void) { udi_cdc_ctrl_state_change(0, true, CDC_SERIAL_STATE_OVERRUN); } +void udi_cdc_signal_overrun(void) { + udi_cdc_ctrl_state_change(0, true, CDC_SERIAL_STATE_OVERRUN); +} -void udi_cdc_multi_ctrl_signal_dcd(uint8_t port, bool b_set) { udi_cdc_ctrl_state_change(port, b_set, CDC_SERIAL_STATE_DCD); } +void udi_cdc_multi_ctrl_signal_dcd(uint8_t port, bool b_set) { + udi_cdc_ctrl_state_change(port, b_set, CDC_SERIAL_STATE_DCD); +} -void udi_cdc_multi_ctrl_signal_dsr(uint8_t port, bool b_set) { udi_cdc_ctrl_state_change(port, b_set, CDC_SERIAL_STATE_DSR); } +void udi_cdc_multi_ctrl_signal_dsr(uint8_t port, bool b_set) { + udi_cdc_ctrl_state_change(port, b_set, CDC_SERIAL_STATE_DSR); +} -void udi_cdc_multi_signal_framing_error(uint8_t port) { udi_cdc_ctrl_state_change(port, true, CDC_SERIAL_STATE_FRAMING); } +void udi_cdc_multi_signal_framing_error(uint8_t port) { + udi_cdc_ctrl_state_change(port, true, CDC_SERIAL_STATE_FRAMING); +} -void udi_cdc_multi_signal_parity_error(uint8_t port) { udi_cdc_ctrl_state_change(port, true, CDC_SERIAL_STATE_PARITY); } +void udi_cdc_multi_signal_parity_error(uint8_t port) { + udi_cdc_ctrl_state_change(port, true, CDC_SERIAL_STATE_PARITY); +} -void udi_cdc_multi_signal_overrun(uint8_t port) { udi_cdc_ctrl_state_change(port, true, CDC_SERIAL_STATE_OVERRUN); } +void udi_cdc_multi_signal_overrun(uint8_t port) { + udi_cdc_ctrl_state_change(port, true, CDC_SERIAL_STATE_OVERRUN); +} iram_size_t udi_cdc_multi_get_nb_received_data(uint8_t port) { - uint32_t irqflags; // irqflags_t + uint32_t irqflags; // irqflags_t uint16_t pos; iram_size_t nb_received; @@ -807,14 +827,20 @@ iram_size_t udi_cdc_multi_get_nb_received_data(uint8_t port) { return nb_received; } -iram_size_t udi_cdc_get_nb_received_data(void) { return udi_cdc_multi_get_nb_received_data(0); } +iram_size_t udi_cdc_get_nb_received_data(void) { + return udi_cdc_multi_get_nb_received_data(0); +} -bool udi_cdc_multi_is_rx_ready(uint8_t port) { return (udi_cdc_multi_get_nb_received_data(port) > 0); } +bool udi_cdc_multi_is_rx_ready(uint8_t port) { + return (udi_cdc_multi_get_nb_received_data(port) > 0); +} -bool udi_cdc_is_rx_ready(void) { return udi_cdc_multi_is_rx_ready(0); } +bool udi_cdc_is_rx_ready(void) { + return udi_cdc_multi_is_rx_ready(0); +} int udi_cdc_multi_getc(uint8_t port) { - uint32_t irqflags; // irqflags_t + uint32_t irqflags; // irqflags_t int rx_data = 0; bool b_databit_9; uint16_t pos; @@ -859,10 +885,12 @@ int udi_cdc_multi_getc(uint8_t port) { return rx_data; } -int udi_cdc_getc(void) { return udi_cdc_multi_getc(0); } +int udi_cdc_getc(void) { + return udi_cdc_multi_getc(0); +} iram_size_t udi_cdc_multi_read_buf(uint8_t port, void *buf, iram_size_t size) { - uint32_t irqflags; // irqflags_t + uint32_t irqflags; // irqflags_t uint8_t * ptr_buf = (uint8_t *)buf; iram_size_t copy_nb; uint16_t pos; @@ -912,7 +940,7 @@ static iram_size_t udi_cdc_multi_read_no_polling(uint8_t port, void *buf, iram_s iram_size_t nb_avail_data; uint16_t pos; uint8_t buf_sel; - uint32_t irqflags; // irqflags_t + uint32_t irqflags; // irqflags_t //#if UDI_CDC_PORT_NB == 1 // To optimize code port = 0; @@ -952,12 +980,16 @@ static iram_size_t udi_cdc_multi_read_no_polling(uint8_t port, void *buf, iram_s return (nb_avail_data); } -iram_size_t udi_cdc_read_no_polling(void *buf, iram_size_t size) { return udi_cdc_multi_read_no_polling(0, buf, size); } +iram_size_t udi_cdc_read_no_polling(void *buf, iram_size_t size) { + return udi_cdc_multi_read_no_polling(0, buf, size); +} -iram_size_t udi_cdc_read_buf(void *buf, iram_size_t size) { return udi_cdc_multi_read_buf(0, buf, size); } +iram_size_t udi_cdc_read_buf(void *buf, iram_size_t size) { + return udi_cdc_multi_read_buf(0, buf, size); +} iram_size_t udi_cdc_multi_get_free_tx_buffer(uint8_t port) { - uint32_t irqflags; // irqflags_t + uint32_t irqflags; // irqflags_t iram_size_t buf_sel_nb, retval; uint8_t buf_sel; @@ -986,14 +1018,20 @@ iram_size_t udi_cdc_multi_get_free_tx_buffer(uint8_t port) { return retval; } -iram_size_t udi_cdc_get_free_tx_buffer(void) { return udi_cdc_multi_get_free_tx_buffer(0); } +iram_size_t udi_cdc_get_free_tx_buffer(void) { + return udi_cdc_multi_get_free_tx_buffer(0); +} -bool udi_cdc_multi_is_tx_ready(uint8_t port) { return (udi_cdc_multi_get_free_tx_buffer(port) != 0); } +bool udi_cdc_multi_is_tx_ready(uint8_t port) { + return (udi_cdc_multi_get_free_tx_buffer(port) != 0); +} -bool udi_cdc_is_tx_ready(void) { return udi_cdc_multi_is_tx_ready(0); } +bool udi_cdc_is_tx_ready(void) { + return udi_cdc_multi_is_tx_ready(0); +} int udi_cdc_multi_putc(uint8_t port, int value) { - uint32_t irqflags; // irqflags_t + uint32_t irqflags; // irqflags_t bool b_databit_9; uint8_t buf_sel; @@ -1030,10 +1068,12 @@ int udi_cdc_multi_putc(uint8_t port, int value) { return true; } -int udi_cdc_putc(int value) { return udi_cdc_multi_putc(0, value); } +int udi_cdc_putc(int value) { + return udi_cdc_multi_putc(0, value); +} iram_size_t udi_cdc_multi_write_buf(uint8_t port, const void *buf, iram_size_t size) { - uint32_t irqflags; // irqflags_t + uint32_t irqflags; // irqflags_t uint8_t buf_sel; uint16_t buf_nb; iram_size_t copy_nb; @@ -1083,7 +1123,9 @@ iram_size_t udi_cdc_multi_write_buf(uint8_t port, const void *buf, iram_size_t s return 0; } -iram_size_t udi_cdc_write_buf(const void *buf, iram_size_t size) { return udi_cdc_multi_write_buf(0, buf, size); } +iram_size_t udi_cdc_write_buf(const void *buf, iram_size_t size) { + return udi_cdc_multi_write_buf(0, buf, size); +} # define MAX_PRINT 256 # define CDC_SEND_INTERVAL 2 @@ -1121,10 +1163,10 @@ uint32_t CDC_print(char *printbuf) { char printbuf[CDC_PRINTBUF_SIZE]; int CDC_printf(const char *_Format, ...) { - va_list va; // Variable argument list variable + va_list va; // Variable argument list variable int result; - va_start(va, _Format); // Initialize the variable argument list + va_start(va, _Format); // Initialize the variable argument list result = vsnprintf(printbuf, CDC_PRINTBUF_SIZE, _Format, va); va_end(va); @@ -1146,18 +1188,18 @@ uint32_t CDC_input_buf(inbuf_t inbuf, uint32_t inbuf_size) { if (RXChar) { switch (RXChar) { - case '\t': // tab - repeat last + case '\t': // tab - repeat last inbuf.count = inbuf.lastcount; inbuf.buf[inbuf.count + 1] = 0; CDC_print(inbuf.buf); break; - case '\r': // enter + case '\r': // enter inbuf.buf[inbuf.count] = 0; inbuf.lastcount = inbuf.count; inbuf.count = 0; entered = 1; break; - case '\b': // backspace + case '\b': // backspace if (inbuf.count > 0) { inbuf.count -= 1; CDC_print("\b \b\0"); @@ -1181,7 +1223,9 @@ uint32_t CDC_input_buf(inbuf_t inbuf, uint32_t inbuf_size) { return entered; } -uint32_t CDC_input() { return CDC_input_buf(inbuf, CDC_INBUF_SIZE); } +uint32_t CDC_input() { + return CDC_input_buf(inbuf, CDC_INBUF_SIZE); +} void CDC_init(void) { inbuf.count = 0; @@ -1190,19 +1234,27 @@ void CDC_init(void) { cdc_tx_send_time_next = timer_read64() + CDC_SEND_INTERVAL; } -#else // CDC line 62 +#else // CDC line 62 char printbuf[CDC_PRINTBUF_SIZE]; -void CDC_send(void) { return; } +void CDC_send(void) { + return; +} -uint32_t CDC_print(char *printbuf) { return 0; } +uint32_t CDC_print(char *printbuf) { + return 0; +} -int CDC_printf(const char *_Format, ...) { return 0; } +int CDC_printf(const char *_Format, ...) { + return 0; +} inbuf_t inbuf; -uint32_t CDC_input(void) { return 0; } +uint32_t CDC_input(void) { + return 0; +} void CDC_init(void) { inbuf.count = 0; @@ -1210,6 +1262,6 @@ void CDC_init(void) { printbuf[0] = 0; } -#endif // CDC line 62 +#endif // CDC line 62 //@} diff --git a/tmk_core/protocol/arm_atsam/usb/udi_cdc.h b/tmk_core/protocol/arm_atsam/usb/udi_cdc.h index 406023980c74..ff4f521ce011 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_cdc.h +++ b/tmk_core/protocol/arm_atsam/usb/udi_cdc.h @@ -346,7 +346,7 @@ typedef struct { char buf[CDC_INBUF_SIZE]; } inbuf_t; -#else // VIRTSER_ENABLE +#else // VIRTSER_ENABLE // keep these to accommodate calls if remaining # define CDC_PRINTBUF_SIZE 1 @@ -362,7 +362,7 @@ typedef struct { extern inbuf_t inbuf; -#endif // VIRTSER_ENABLE +#endif // VIRTSER_ENABLE uint32_t CDC_print(char* printbuf); int CDC_printf(const char* _Format, ...); @@ -373,4 +373,4 @@ void CDC_init(void); } #endif -#endif // _UDI_CDC_H_ +#endif // _UDI_CDC_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udi_cdc_conf.h b/tmk_core/protocol/arm_atsam/usb/udi_cdc_conf.h index e07951249262..e17ed7bf4451 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_cdc_conf.h +++ b/tmk_core/protocol/arm_atsam/usb/udi_cdc_conf.h @@ -59,9 +59,9 @@ extern "C" { #endif -#define UDI_CDC_DATA_EP_IN_0 ((CDC_TX_ENDPOINT) | (USB_EP_DIR_IN)) // TX -#define UDI_CDC_DATA_EP_OUT_0 ((CDC_RX_ENDPOINT) | (USB_EP_DIR_OUT)) // RX -#define UDI_CDC_COMM_EP_0 ((CDC_ACM_ENDPOINT) | (USB_EP_DIR_IN)) // Notify endpoint +#define UDI_CDC_DATA_EP_IN_0 ((CDC_TX_ENDPOINT) | (USB_EP_DIR_IN)) // TX +#define UDI_CDC_DATA_EP_OUT_0 ((CDC_RX_ENDPOINT) | (USB_EP_DIR_OUT)) // RX +#define UDI_CDC_COMM_EP_0 ((CDC_ACM_ENDPOINT) | (USB_EP_DIR_IN)) // Notify endpoint #define UDI_CDC_COMM_IFACE_NUMBER_0 (CDC_STATUS_INTERFACE) #define UDI_CDC_DATA_IFACE_NUMBER_0 (CDC_DATA_INTERFACE) @@ -69,4 +69,4 @@ extern "C" { #ifdef __cplusplus } #endif -#endif // _UDI_CDC_CONF_H_ +#endif // _UDI_CDC_CONF_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h b/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h index 1c0983115cc1..eeed19627592 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h +++ b/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h @@ -220,7 +220,7 @@ along with this program. If not, see . # define NEXT_OUT_EPNUM_4 (CDC_OUT_EPNUM + 1) # define CDC_ACM_SIZE CDC_NOTIFICATION_EPSIZE -# define CDC_RX_SIZE CDC_EPSIZE // KFSMOD was 64 +# define CDC_RX_SIZE CDC_EPSIZE // KFSMOD was 64 # define CDC_TX_SIZE CDC_RX_SIZE # define CDC_ACM_POLLING_INTERVAL 255 # define CDC_EP_INTERVAL_STATUS CDC_ACM_POLLING_INTERVAL @@ -370,7 +370,7 @@ extern udi_hid_exk_report_t udi_hid_exk_report; COMPILER_PACK_RESET() -#endif // EXTRAKEY_ENABLE +#endif // EXTRAKEY_ENABLE // ********************************************************************** // NKRO Descriptor structure and content @@ -433,7 +433,7 @@ extern uint8_t udi_hid_nkro_report[UDI_HID_NKRO_REPORT_SIZE]; COMPILER_PACK_RESET() -#endif // NKRO_ENABLE +#endif // NKRO_ENABLE // ********************************************************************** // MOU Descriptor structure and content @@ -449,7 +449,7 @@ typedef struct { } udi_hid_mou_desc_t; typedef struct { - uint8_t array[77]; // MOU PDS + uint8_t array[77]; // MOU PDS } udi_hid_mou_report_desc_t; // clang-format off @@ -488,12 +488,12 @@ typedef struct { // clang-format on // report buffer -# define UDI_HID_MOU_REPORT_SIZE 5 // MOU PDS +# define UDI_HID_MOU_REPORT_SIZE 5 // MOU PDS extern uint8_t udi_hid_mou_report[UDI_HID_MOU_REPORT_SIZE]; COMPILER_PACK_RESET() -#endif // MOUSE_ENABLE +#endif // MOUSE_ENABLE // ********************************************************************** // RAW Descriptor structure and content @@ -565,7 +565,7 @@ extern uint8_t udi_hid_raw_report[UDI_HID_RAW_REPORT_SIZE]; COMPILER_PACK_RESET() -#endif // RAW_ENABLE +#endif // RAW_ENABLE // ********************************************************************** // CON Descriptor structure and content @@ -637,7 +637,7 @@ extern uint8_t udi_hid_con_report[UDI_HID_CON_REPORT_SIZE]; COMPILER_PACK_RESET() -#endif // CONSOLE_ENABLE +#endif // CONSOLE_ENABLE // ********************************************************************** // CDC Descriptor structure and content @@ -780,7 +780,7 @@ typedef struct { COMPILER_PACK_RESET() -#endif // VIRTSER_ENABLE +#endif // VIRTSER_ENABLE // ********************************************************************** // CONFIGURATION Descriptor structure and content @@ -815,4 +815,4 @@ typedef struct { COMPILER_PACK_RESET() -#endif //_UDI_DEVICE_CONF_H_ +#endif //_UDI_DEVICE_CONF_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udi_device_epsize.h b/tmk_core/protocol/arm_atsam/usb/udi_device_epsize.h index 09de47546999..7a9ed3193001 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_device_epsize.h +++ b/tmk_core/protocol/arm_atsam/usb/udi_device_epsize.h @@ -28,4 +28,4 @@ along with this program. If not, see . #define CDC_NOTIFICATION_EPSIZE 8 #define CDC_EPSIZE 16 -#endif //_UDI_DEVICE_EPSIZE_H_ +#endif //_UDI_DEVICE_EPSIZE_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udi_hid.c b/tmk_core/protocol/arm_atsam/usb/udi_hid.c index b0bdcc693252..73e384a03927 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_hid.c +++ b/tmk_core/protocol/arm_atsam/usb/udi_hid.c @@ -110,7 +110,7 @@ bool udi_hid_setup(uint8_t *rate, uint8_t *protocol, uint8_t *report_desc, bool } } } - return false; // Request not supported + return false; // Request not supported } //--------------------------------------------- diff --git a/tmk_core/protocol/arm_atsam/usb/udi_hid.h b/tmk_core/protocol/arm_atsam/usb/udi_hid.h index 6fd2cabd4cef..a08b7db744c8 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_hid.h +++ b/tmk_core/protocol/arm_atsam/usb/udi_hid.h @@ -82,4 +82,4 @@ bool udi_hid_setup(uint8_t *rate, uint8_t *protocol, uint8_t *report_desc, bool #ifdef __cplusplus } #endif -#endif // _UDI_HID_H_ +#endif // _UDI_HID_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c index 9ea4addcfc3e..be4f2bb0c90b 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c +++ b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c @@ -94,42 +94,42 @@ static uint8_t udi_hid_kbd_report_trans[UDI_HID_KBD_REPORT_SIZE]; COMPILER_WORD_ALIGNED UDC_DESC_STORAGE udi_hid_kbd_report_desc_t udi_hid_kbd_report_desc = {{ - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x06, // Usage (Keyboard) - 0xA1, 0x01, // Collection (Application) + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x06, // Usage (Keyboard) + 0xA1, 0x01, // Collection (Application) // Modifiers (8 bits) - 0x05, 0x07, // Usage Page (Keyboard) - 0x19, 0xE0, // Usage Minimum (Keyboard Left Control) - 0x29, 0xE7, // Usage Maximum (Keyboard Right GUI) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x95, 0x08, // Report Count (8) - 0x75, 0x01, // Report Size (1) - 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x05, 0x07, // Usage Page (Keyboard) + 0x19, 0xE0, // Usage Minimum (Keyboard Left Control) + 0x29, 0xE7, // Usage Maximum (Keyboard Right GUI) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x08, // Report Count (8) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data, Variable, Absolute) // Reserved (1 byte) - 0x81, 0x01, // Input (Constant) + 0x81, 0x01, // Input (Constant) // Keycodes (6 bytes) - 0x19, 0x00, // Usage Minimum (0) - 0x29, 0xFF, // Usage Maximum (255) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0xFF, // Logical Maximum (255) - 0x95, 0x06, // Report Count (6) - 0x75, 0x08, // Report Size (8) - 0x81, 0x00, // Input (Data, Array, Absolute) + 0x19, 0x00, // Usage Minimum (0) + 0x29, 0xFF, // Usage Maximum (255) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0xFF, // Logical Maximum (255) + 0x95, 0x06, // Report Count (6) + 0x75, 0x08, // Report Size (8) + 0x81, 0x00, // Input (Data, Array, Absolute) // Status LEDs (5 bits) - 0x05, 0x08, // Usage Page (LED) - 0x19, 0x01, // Usage Minimum (Num Lock) - 0x29, 0x05, // Usage Maximum (Kana) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x95, 0x05, // Report Count (5) - 0x75, 0x01, // Report Size (1) - 0x91, 0x02, // Output (Data, Variable, Absolute) + 0x05, 0x08, // Usage Page (LED) + 0x19, 0x01, // Usage Minimum (Num Lock) + 0x29, 0x05, // Usage Maximum (Kana) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x05, // Report Count (5) + 0x75, 0x01, // Report Size (1) + 0x91, 0x02, // Output (Data, Variable, Absolute) // LED padding (3 bits) - 0x95, 0x03, // Report Count (3) - 0x91, 0x01, // Output (Constant) - 0xC0 // End Collection + 0x95, 0x03, // Report Count (3) + 0x91, 0x01, // Output (Constant) + 0xC0 // End Collection }}; static bool udi_hid_kbd_setreport(void); @@ -148,11 +148,17 @@ bool udi_hid_kbd_enable(void) { return UDI_HID_KBD_ENABLE_EXT(); } -void udi_hid_kbd_disable(void) { UDI_HID_KBD_DISABLE_EXT(); } +void udi_hid_kbd_disable(void) { + UDI_HID_KBD_DISABLE_EXT(); +} -bool udi_hid_kbd_setup(void) { return udi_hid_setup(&udi_hid_kbd_rate, &udi_hid_kbd_protocol, (uint8_t *)&udi_hid_kbd_report_desc, udi_hid_kbd_setreport); } +bool udi_hid_kbd_setup(void) { + return udi_hid_setup(&udi_hid_kbd_rate, &udi_hid_kbd_protocol, (uint8_t *)&udi_hid_kbd_report_desc, udi_hid_kbd_setreport); +} -uint8_t udi_hid_kbd_getsetting(void) { return 0; } +uint8_t udi_hid_kbd_getsetting(void) { + return 0; +} static bool udi_hid_kbd_setreport(void) { if ((USB_HID_REPORT_TYPE_OUTPUT == (udd_g_ctrlreq.req.wValue >> 8)) && (0 == (0xFF & udd_g_ctrlreq.req.wValue)) && (1 == udd_g_ctrlreq.req.wLength)) { @@ -234,41 +240,41 @@ static uint8_t udi_hid_nkro_report_trans[UDI_HID_NKRO_REPORT_SIZE]; COMPILER_WORD_ALIGNED UDC_DESC_STORAGE udi_hid_nkro_report_desc_t udi_hid_nkro_report_desc = {{ - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x06, // Usage (Keyboard) - 0xA1, 0x01, // Collection (Application) + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x06, // Usage (Keyboard) + 0xA1, 0x01, // Collection (Application) // Modifiers (8 bits) - 0x05, 0x07, // Usage Page (Keyboard/Keypad) - 0x19, 0xE0, // Usage Minimum (Keyboard Left Control) - 0x29, 0xE7, // Usage Maximum (Keyboard Right GUI) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x95, 0x08, // Report Count (8) - 0x75, 0x01, // Report Size (1) - 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x05, 0x07, // Usage Page (Keyboard/Keypad) + 0x19, 0xE0, // Usage Minimum (Keyboard Left Control) + 0x29, 0xE7, // Usage Maximum (Keyboard Right GUI) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x08, // Report Count (8) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data, Variable, Absolute) // Keycodes - 0x05, 0x07, // Usage Page (Keyboard/Keypad) - 0x19, 0x00, // Usage Minimum (0) - 0x29, 0xF7, // Usage Maximum (247) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x95, 0xF8, // Report Count (248) - 0x75, 0x01, // Report Size (1) - 0x81, 0x02, // Input (Data, Variable, Absolute, Bitfield) + 0x05, 0x07, // Usage Page (Keyboard/Keypad) + 0x19, 0x00, // Usage Minimum (0) + 0x29, 0xF7, // Usage Maximum (247) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0xF8, // Report Count (248) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data, Variable, Absolute, Bitfield) // Status LEDs (5 bits) - 0x05, 0x08, // Usage Page (LED) - 0x19, 0x01, // Usage Minimum (Num Lock) - 0x29, 0x05, // Usage Maximum (Kana) - 0x95, 0x05, // Report Count (5) - 0x75, 0x01, // Report Size (1) - 0x91, 0x02, // Output (Data, Variable, Absolute) + 0x05, 0x08, // Usage Page (LED) + 0x19, 0x01, // Usage Minimum (Num Lock) + 0x29, 0x05, // Usage Maximum (Kana) + 0x95, 0x05, // Report Count (5) + 0x75, 0x01, // Report Size (1) + 0x91, 0x02, // Output (Data, Variable, Absolute) // LED padding (3 bits) - 0x95, 0x01, // Report Count (1) - 0x75, 0x03, // Report Size (3) - 0x91, 0x03, // Output (Constant) - 0xC0 // End Collection + 0x95, 0x01, // Report Count (1) + 0x75, 0x03, // Report Size (3) + 0x91, 0x03, // Output (Constant) + 0xC0 // End Collection }}; static bool udi_hid_nkro_setreport(void); @@ -285,18 +291,24 @@ bool udi_hid_nkro_enable(void) { return UDI_HID_NKRO_ENABLE_EXT(); } -void udi_hid_nkro_disable(void) { UDI_HID_NKRO_DISABLE_EXT(); } +void udi_hid_nkro_disable(void) { + UDI_HID_NKRO_DISABLE_EXT(); +} -bool udi_hid_nkro_setup(void) { return udi_hid_setup(&udi_hid_nkro_rate, &udi_hid_nkro_protocol, (uint8_t *)&udi_hid_nkro_report_desc, udi_hid_nkro_setreport); } +bool udi_hid_nkro_setup(void) { + return udi_hid_setup(&udi_hid_nkro_rate, &udi_hid_nkro_protocol, (uint8_t *)&udi_hid_nkro_report_desc, udi_hid_nkro_setreport); +} -uint8_t udi_hid_nkro_getsetting(void) { return 0; } +uint8_t udi_hid_nkro_getsetting(void) { + return 0; +} // keyboard receives LED report here static bool udi_hid_nkro_setreport(void) { if ((USB_HID_REPORT_TYPE_OUTPUT == (udd_g_ctrlreq.req.wValue >> 8)) && (0 == (0xFF & udd_g_ctrlreq.req.wValue)) && (1 == udd_g_ctrlreq.req.wLength)) { // Report OUT type on report ID 0 from USB Host udd_g_ctrlreq.payload = &udi_hid_nkro_report_set; - udd_g_ctrlreq.callback = udi_hid_nkro_setreport_valid; // must call routine to transform setreport to LED state + udd_g_ctrlreq.callback = udi_hid_nkro_setreport_valid; // must call routine to transform setreport to LED state udd_g_ctrlreq.payload_size = 1; return true; } @@ -333,7 +345,7 @@ static void udi_hid_nkro_setreport_valid(void) { // UDI_HID_NKRO_CHANGE_LED(udi_hid_nkro_report_set); } -#endif // NKRO_ENABLE +#endif // NKRO_ENABLE //******************************************************************************************** // EXK (extra-keys) SYS-CTRL Keyboard diff --git a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.h b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.h index a2d2281628a2..a33001449858 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.h +++ b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.h @@ -71,7 +71,7 @@ extern UDC_DESC_STORAGE udi_api_t udi_api_hid_nkro; extern bool udi_hid_nkro_b_report_valid; extern volatile bool udi_hid_nkro_b_report_trans_ongoing; bool udi_hid_nkro_send_report(void); -#endif // NKRO_ENABLE +#endif // NKRO_ENABLE //******************************************************************************************** // SYS-CTRL interface @@ -81,7 +81,7 @@ extern UDC_DESC_STORAGE udi_api_t udi_api_hid_exk; extern bool udi_hid_exk_b_report_valid; extern uint8_t udi_hid_exk_report_set; bool udi_hid_exk_send_report(void); -#endif // EXTRAKEY_ENABLE +#endif // EXTRAKEY_ENABLE //******************************************************************************************** // CON Console @@ -92,7 +92,7 @@ extern bool udi_hid_con_b_report_valid; extern uint8_t udi_hid_con_report_set[UDI_HID_CON_REPORT_SIZE]; extern volatile bool udi_hid_con_b_report_trans_ongoing; bool udi_hid_con_send_report(void); -#endif // CONSOLE_ENABLE +#endif // CONSOLE_ENABLE //******************************************************************************************** // MOU Mouse @@ -101,7 +101,7 @@ bool udi_hid_con_send_report(void); extern UDC_DESC_STORAGE udi_api_t udi_api_hid_mou; extern bool udi_hid_mou_b_report_valid; bool udi_hid_mou_send_report(void); -#endif // MOUSE_ENABLE +#endif // MOUSE_ENABLE //******************************************************************************************** // RAW Raw @@ -110,7 +110,7 @@ bool udi_hid_mou_send_report(void); extern UDC_DESC_STORAGE udi_api_t udi_api_hid_raw; bool udi_hid_raw_send_report(void); bool udi_hid_raw_receive_report(void); -#endif // RAW_ENABLE +#endif // RAW_ENABLE //@} @@ -118,4 +118,4 @@ bool udi_hid_raw_receive_report(void); } #endif -#endif // _UDC_HID_KBD_H_ +#endif // _UDC_HID_KBD_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd_conf.h b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd_conf.h index ec73252b6998..db5db17ed506 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd_conf.h +++ b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd_conf.h @@ -57,4 +57,4 @@ #include "udi_hid_kbd.h" -#endif // _UDI_HID_KBD_CONF_H_ +#endif // _UDI_HID_KBD_CONF_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd_desc.c b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd_desc.c index 3c1c9a792699..2a60868ed288 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd_desc.c +++ b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd_desc.c @@ -78,17 +78,17 @@ UDC_DESC_STORAGE usb_dev_desc_t udc_device_desc = {.bLength = sizeof(usb #ifdef USB_DEVICE_MANUFACTURE_NAME .iManufacturer = 1, #else - .iManufacturer = 0, // No manufacture string + .iManufacturer = 0, // No manufacture string #endif #ifdef USB_DEVICE_PRODUCT_NAME .iProduct = 2, #else - .iProduct = 0, // No product string + .iProduct = 0, // No product string #endif #if (defined USB_DEVICE_SERIAL_NAME || defined USB_DEVICE_GET_SERIAL_NAME_POINTER) .iSerialNumber = 3, #else - .iSerialNumber = 0, // No serial string + .iSerialNumber = 0, // No serial string #endif .bNumConfigurations = 1}; diff --git a/tmk_core/protocol/arm_atsam/usb/ui.c b/tmk_core/protocol/arm_atsam/usb/ui.c index 86c7edc94e18..f5263d728937 100644 --- a/tmk_core/protocol/arm_atsam/usb/ui.c +++ b/tmk_core/protocol/arm_atsam/usb/ui.c @@ -48,7 +48,7 @@ # define ARM_MATH_CM4 #endif -#undef LITTLE_ENDIAN // redefined in samd51j18a.h +#undef LITTLE_ENDIAN // redefined in samd51j18a.h #include "samd51j18a.h" #include "ui.h" diff --git a/tmk_core/protocol/arm_atsam/usb/ui.h b/tmk_core/protocol/arm_atsam/usb/ui.h index f7bc6523609b..d1c767d45764 100644 --- a/tmk_core/protocol/arm_atsam/usb/ui.h +++ b/tmk_core/protocol/arm_atsam/usb/ui.h @@ -73,4 +73,4 @@ void ui_process(uint16_t framenumber); */ void ui_kbd_led(uint8_t value); -#endif // _UI_H_ +#endif // _UI_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/usb.c b/tmk_core/protocol/arm_atsam/usb/usb.c index b7393660b15f..1abf0a2f4de7 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb.c +++ b/tmk_core/protocol/arm_atsam/usb/usb.c @@ -52,7 +52,7 @@ #endif #include "compiler.h" -#undef LITTLE_ENDIAN // redefined in samd51j18a.h +#undef LITTLE_ENDIAN // redefined in samd51j18a.h #include "samd51j18a.h" #include #include @@ -319,7 +319,7 @@ enum status_code usb_device_endpoint_enable_callback(struct usb_module *module_i module_inst->device_endpoint_enabled_callback_mask[ep_num] |= _usb_endpoint_irq_bits[callback_type]; if (callback_type == USB_DEVICE_ENDPOINT_CALLBACK_TRCPT) { - if (ep_num == 0) { // control endpoint + if (ep_num == 0) { // control endpoint module_inst->hw->DEVICE.DeviceEndpoint[ep_num].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT0 | USB_DEVICE_EPINTENSET_TRCPT1; } else if (ep & USB_EP_DIR_IN) { module_inst->hw->DEVICE.DeviceEndpoint[ep_num].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT1; @@ -329,7 +329,7 @@ enum status_code usb_device_endpoint_enable_callback(struct usb_module *module_i } if (callback_type == USB_DEVICE_ENDPOINT_CALLBACK_TRFAIL) { - if (ep_num == 0) { // control endpoint + if (ep_num == 0) { // control endpoint module_inst->hw->DEVICE.DeviceEndpoint[ep_num].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL0 | USB_DEVICE_EPINTENSET_TRFAIL1; } else if (ep & USB_EP_DIR_IN) { module_inst->hw->DEVICE.DeviceEndpoint[ep_num].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL1; @@ -377,7 +377,7 @@ enum status_code usb_device_endpoint_disable_callback(struct usb_module *module_ module_inst->device_endpoint_enabled_callback_mask[ep_num] &= ~_usb_endpoint_irq_bits[callback_type]; if (callback_type == USB_DEVICE_ENDPOINT_CALLBACK_TRCPT) { - if (ep_num == 0) { // control endpoint + if (ep_num == 0) { // control endpoint module_inst->hw->DEVICE.DeviceEndpoint[ep_num].EPINTENCLR.reg = USB_DEVICE_EPINTENCLR_TRCPT0 | USB_DEVICE_EPINTENCLR_TRCPT1; } else if (ep & USB_EP_DIR_IN) { module_inst->hw->DEVICE.DeviceEndpoint[ep_num].EPINTENCLR.reg = USB_DEVICE_EPINTENCLR_TRCPT1; @@ -387,7 +387,7 @@ enum status_code usb_device_endpoint_disable_callback(struct usb_module *module_ } if (callback_type == USB_DEVICE_ENDPOINT_CALLBACK_TRFAIL) { - if (ep_num == 0) { // control endpoint + if (ep_num == 0) { // control endpoint module_inst->hw->DEVICE.DeviceEndpoint[ep_num].EPINTENCLR.reg = USB_DEVICE_EPINTENCLR_TRFAIL0 | USB_DEVICE_EPINTENCLR_TRFAIL1; } else if (ep & USB_EP_DIR_IN) { module_inst->hw->DEVICE.DeviceEndpoint[ep_num].EPINTENCLR.reg = USB_DEVICE_EPINTENCLR_TRFAIL1; @@ -903,11 +903,17 @@ void USB_0_Handler(void) { } } -void USB_1_Handler(void) { _usb_device_interrupt_handler(); } +void USB_1_Handler(void) { + _usb_device_interrupt_handler(); +} -void USB_2_Handler(void) { _usb_device_interrupt_handler(); } +void USB_2_Handler(void) { + _usb_device_interrupt_handler(); +} -void USB_3_Handler(void) { _usb_device_interrupt_handler(); } +void USB_3_Handler(void) { + _usb_device_interrupt_handler(); +} /** * \brief Get the default USB module settings @@ -974,10 +980,10 @@ enum status_code usb_init(struct usb_module *module_inst, Usb *const hw, struct pmclk->APBBMASK.bit.USB_ = 1; /* Set up the USB DP/DN pins */ - pport->Group[0].PMUX[12].reg = 0x77; // PA24, PA25, function column H for USB D-, D+ + pport->Group[0].PMUX[12].reg = 0x77; // PA24, PA25, function column H for USB D-, D+ pport->Group[0].PINCFG[24].bit.PMUXEN = 1; pport->Group[0].PINCFG[25].bit.PMUXEN = 1; - pport->Group[1].PMUX[11].bit.PMUXE = 7; // PB22, function column H for USB SOF_1KHz output + pport->Group[1].PMUX[11].bit.PMUXE = 7; // PB22, function column H for USB SOF_1KHz output pport->Group[1].PINCFG[22].bit.PMUXEN = 1; // configure and enable DFLL for USB clock recovery mode at 48MHz @@ -996,7 +1002,7 @@ enum status_code usb_init(struct usb_module *module_inst, Usb *const hw, struct while (posc->DFLLSYNC.bit.DFLLCTRLB) ; posc->DFLLCTRLB.bit.CCDIS = 1; - posc->DFLLMUL.bit.MUL = 0xbb80; // 4800 x 1KHz + posc->DFLLMUL.bit.MUL = 0xbb80; // 4800 x 1KHz while (posc->DFLLSYNC.bit.DFLLMUL) ; posc->DFLLCTRLA.bit.ENABLE = 1; diff --git a/tmk_core/protocol/arm_atsam/usb/usb.h b/tmk_core/protocol/arm_atsam/usb/usb.h index 4c937ecdc92f..270143a11237 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb.h +++ b/tmk_core/protocol/arm_atsam/usb/usb.h @@ -319,14 +319,18 @@ enum status_code usb_init(struct usb_module *module_inst, Usb *const hw, struct * * \param module_inst Pointer to USB device module instance */ -static inline void usb_device_attach(struct usb_module *module_inst) { module_inst->hw->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_DETACH; } +static inline void usb_device_attach(struct usb_module *module_inst) { + module_inst->hw->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_DETACH; +} /** * \brief Detach USB device from the bus * * \param module_inst Pointer to USB device module instance */ -static inline void usb_device_detach(struct usb_module *module_inst) { module_inst->hw->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_DETACH; } +static inline void usb_device_detach(struct usb_module *module_inst) { + module_inst->hw->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_DETACH; +} /** * \brief Get the speed mode of USB device @@ -348,7 +352,9 @@ static inline enum usb_speed usb_device_get_speed(struct usb_module *module_inst * \param module_inst Pointer to USB device module instance * \return USB device address value. */ -static inline uint8_t usb_device_get_address(struct usb_module *module_inst) { return ((uint8_t)(module_inst->hw->DEVICE.DADD.bit.DADD)); } +static inline uint8_t usb_device_get_address(struct usb_module *module_inst) { + return ((uint8_t)(module_inst->hw->DEVICE.DADD.bit.DADD)); +} /** * \brief Set the speed mode of USB device @@ -356,7 +362,9 @@ static inline uint8_t usb_device_get_address(struct usb_module *module_inst) { r * \param module_inst Pointer to USB device module instance * \param address USB device address value */ -static inline void usb_device_set_address(struct usb_module *module_inst, uint8_t address) { module_inst->hw->DEVICE.DADD.reg = USB_DEVICE_DADD_ADDEN | address; } +static inline void usb_device_set_address(struct usb_module *module_inst, uint8_t address) { + module_inst->hw->DEVICE.DADD.reg = USB_DEVICE_DADD_ADDEN | address; +} /** * \brief Get the frame number of USB device @@ -364,7 +372,9 @@ static inline void usb_device_set_address(struct usb_module *module_inst, uint8_ * \param module_inst Pointer to USB device module instance * \return USB device frame number value. */ -static inline uint16_t usb_device_get_frame_number(struct usb_module *module_inst) { return ((uint16_t)(module_inst->hw->DEVICE.FNUM.bit.FNUM)); } +static inline uint16_t usb_device_get_frame_number(struct usb_module *module_inst) { + return ((uint16_t)(module_inst->hw->DEVICE.FNUM.bit.FNUM)); +} /** * \brief Get the micro-frame number of USB device @@ -372,14 +382,18 @@ static inline uint16_t usb_device_get_frame_number(struct usb_module *module_ins * \param module_inst Pointer to USB device module instance * \return USB device micro-frame number value. */ -static inline uint16_t usb_device_get_micro_frame_number(struct usb_module *module_inst) { return ((uint16_t)(module_inst->hw->DEVICE.FNUM.reg)); } +static inline uint16_t usb_device_get_micro_frame_number(struct usb_module *module_inst) { + return ((uint16_t)(module_inst->hw->DEVICE.FNUM.reg)); +} /** * \brief USB device send the resume wakeup * * \param module_inst Pointer to USB device module instance */ -static inline void usb_device_send_remote_wake_up(struct usb_module *module_inst) { module_inst->hw->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_UPRSM; } +static inline void usb_device_send_remote_wake_up(struct usb_module *module_inst) { + module_inst->hw->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_UPRSM; +} /** * \brief USB device set the LPM mode @@ -387,7 +401,9 @@ static inline void usb_device_send_remote_wake_up(struct usb_module *module_inst * \param module_inst Pointer to USB device module instance * \param lpm_mode LPM mode */ -static inline void usb_device_set_lpm_mode(struct usb_module *module_inst, enum usb_device_lpm_mode lpm_mode) { module_inst->hw->DEVICE.CTRLB.bit.LPMHDSK = lpm_mode; } +static inline void usb_device_set_lpm_mode(struct usb_module *module_inst, enum usb_device_lpm_mode lpm_mode) { + module_inst->hw->DEVICE.CTRLB.bit.LPMHDSK = lpm_mode; +} /** * \name USB Device Callback Management diff --git a/tmk_core/protocol/arm_atsam/usb/usb_atmel.h b/tmk_core/protocol/arm_atsam/usb/usb_atmel.h index 1cef70378822..82bafdc7d156 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_atmel.h +++ b/tmk_core/protocol/arm_atsam/usb/usb_atmel.h @@ -109,7 +109,7 @@ #define USB_PID_ATMEL_UC3_EVK1101_CTRLPANEL_HID_MS 0x2306 #define USB_PID_ATMEL_UC3_CDC 0x2307 #define USB_PID_ATMEL_UC3_AUDIO_MICRO 0x2308 -#define USB_PID_ATMEL_UC3_CDC_DEBUG 0x2310 // Virtual Com (debug interface) on EVK11xx +#define USB_PID_ATMEL_UC3_CDC_DEBUG 0x2310 // Virtual Com (debug interface) on EVK11xx #define USB_PID_ATMEL_UC3_AUDIO_SPEAKER_MICRO 0x2311 #define USB_PID_ATMEL_UC3_CDC_MSC 0x2312 //! @} @@ -186,4 +186,4 @@ //! @} -#endif // _USB_ATMEL_H_ +#endif // _USB_ATMEL_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/usb_device_udd.c b/tmk_core/protocol/arm_atsam/usb/usb_device_udd.c index f138b42786b2..e4510e73634f 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_device_udd.c +++ b/tmk_core/protocol/arm_atsam/usb/usb_device_udd.c @@ -127,12 +127,12 @@ uint8_t udd_ctrl_buffer[USB_DEVICE_EP_CTRL_SIZE]; /** Bit definitions about endpoint control state machine for udd_ep_control_state */ typedef enum { - UDD_EPCTRL_SETUP = 0, //!< Wait a SETUP packet - UDD_EPCTRL_DATA_OUT = 1, //!< Wait a OUT data packet - UDD_EPCTRL_DATA_IN = 2, //!< Wait a IN data packet - UDD_EPCTRL_HANDSHAKE_WAIT_IN_ZLP = 3, //!< Wait a IN ZLP packet - UDD_EPCTRL_HANDSHAKE_WAIT_OUT_ZLP = 4, //!< Wait a OUT ZLP packet - UDD_EPCTRL_STALL_REQ = 5, //!< STALL enabled on IN & OUT packet + UDD_EPCTRL_SETUP = 0, //!< Wait a SETUP packet + UDD_EPCTRL_DATA_OUT = 1, //!< Wait a OUT data packet + UDD_EPCTRL_DATA_IN = 2, //!< Wait a IN data packet + UDD_EPCTRL_HANDSHAKE_WAIT_IN_ZLP = 3, //!< Wait a IN ZLP packet + UDD_EPCTRL_HANDSHAKE_WAIT_OUT_ZLP = 4, //!< Wait a OUT ZLP packet + UDD_EPCTRL_STALL_REQ = 5, //!< STALL enabled on IN & OUT packet } udd_ctrl_ep_state_t; /** Global variable to give and record information of the set up request management */ @@ -363,11 +363,17 @@ void udd_ep_abort(udd_ep_id_t ep) { } } -bool udd_is_high_speed(void) { return false; } +bool udd_is_high_speed(void) { + return false; +} -uint16_t udd_get_frame_number(void) { return usb_device_get_frame_number(&usb_device); } +uint16_t udd_get_frame_number(void) { + return usb_device_get_frame_number(&usb_device); +} -uint16_t udd_get_micro_frame_number(void) { return usb_device_get_micro_frame_number(&usb_device); } +uint16_t udd_get_micro_frame_number(void) { + return usb_device_get_micro_frame_number(&usb_device); +} void udd_ep_free(udd_ep_id_t ep) { struct usb_device_endpoint_config config_ep; @@ -436,7 +442,9 @@ bool udd_ep_alloc(udd_ep_id_t ep, uint8_t bmAttributes, uint16_t MaxEndpointSize return true; } -bool udd_ep_is_halted(udd_ep_id_t ep) { return usb_device_endpoint_is_halted(&usb_device, ep); } +bool udd_ep_is_halted(udd_ep_id_t ep) { + return usb_device_endpoint_is_halted(&usb_device, ep); +} bool udd_ep_set_halt(udd_ep_id_t ep) { uint8_t ep_num = ep & USB_EP_ADDR_MASK; @@ -591,9 +599,13 @@ bool udd_ep_run(udd_ep_id_t ep, bool b_shortpacket, uint8_t *buf, iram_size_t bu } } -void udd_set_address(uint8_t address) { usb_device_set_address(&usb_device, address); } +void udd_set_address(uint8_t address) { + usb_device_set_address(&usb_device, address); +} -uint8_t udd_getaddress(void) { return usb_device_get_address(&usb_device); } +uint8_t udd_getaddress(void) { + return usb_device_get_address(&usb_device); +} void udd_send_remotewakeup(void) { uint32_t try @@ -913,7 +925,7 @@ static void _usb_device_lpm_suspend(struct usb_module *module_inst, void *pointe usb_device_enable_callback(&usb_device, USB_DEVICE_CALLBACK_WAKEUP); //#warning Here the sleep mode must be choose to have a DFLL startup time < bmAttribut.HIRD - udd_sleep_mode(UDD_STATE_SUSPEND_LPM); // Enter in LPM SUSPEND mode + udd_sleep_mode(UDD_STATE_SUSPEND_LPM); // Enter in LPM SUSPEND mode if ((*lpm_wakeup_enable)) { UDC_REMOTEWAKEUP_LPM_ENABLE(); } diff --git a/tmk_core/protocol/arm_atsam/usb/usb_hub.c b/tmk_core/protocol/arm_atsam/usb/usb_hub.c index c5fd284aab76..14fba799c797 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_hub.c +++ b/tmk_core/protocol/arm_atsam/usb/usb_hub.c @@ -27,7 +27,7 @@ uint8_t usb_extra_state; uint8_t usb_extra_manual; uint8_t usb_gcr_auto; -#endif // MD_BOOTLOADER +#endif // MD_BOOTLOADER uint16_t adc_extra; @@ -51,10 +51,10 @@ void USB_Hub_init(void) { pmclk->APBBMASK.bit.USB_ = 1; // setup port pins for D-, D+, and SOF_1KHZ - pport->Group[0].PMUX[12].reg = 0x77; // PA24, PA25, function column H for USB D-, D+ + pport->Group[0].PMUX[12].reg = 0x77; // PA24, PA25, function column H for USB D-, D+ pport->Group[0].PINCFG[24].bit.PMUXEN = 1; pport->Group[0].PINCFG[25].bit.PMUXEN = 1; - pport->Group[1].PMUX[11].bit.PMUXE = 7; // PB22, function column H for USB SOF_1KHz output + pport->Group[1].PMUX[11].bit.PMUXE = 7; // PB22, function column H for USB SOF_1KHz output pport->Group[1].PINCFG[22].bit.PMUXEN = 1; // configure and enable DFLL for USB clock recovery mode at 48MHz @@ -78,7 +78,7 @@ void USB_Hub_init(void) { DBGC(DC_USB2422_INIT_OSC_SYNC_DFLLCTRLB_4); } posc->DFLLCTRLB.bit.CCDIS = 1; - posc->DFLLMUL.bit.MUL = 0xBB80; // 4800 x 1KHz + posc->DFLLMUL.bit.MUL = 0xBB80; // 4800 x 1KHz while (posc->DFLLSYNC.bit.DFLLMUL) { DBGC(DC_USB2422_INIT_OSC_SYNC_DFLLMUL); } @@ -99,7 +99,7 @@ void USB_Hub_init(void) { pusb->DEVICE.PADCAL.bit.TRANSP = (USB_FUSES_TRANSP_ADDR >> USB_FUSES_TRANSP_Pos) & USB_FUSES_TRANSP_Msk; pusb->DEVICE.PADCAL.bit.TRIM = (USB_FUSES_TRIM_ADDR >> USB_FUSES_TRIM_Pos) & USB_FUSES_TRIM_Msk; // device mode, enabled - pusb->DEVICE.CTRLB.bit.SPDCONF = 0; // full speed + pusb->DEVICE.CTRLB.bit.SPDCONF = 0; // full speed pusb->DEVICE.CTRLA.bit.MODE = 0; pusb->DEVICE.CTRLA.bit.ENABLE = 1; while (pusb->DEVICE.SYNCBUSY.bit.ENABLE) { @@ -111,8 +111,8 @@ void USB_Hub_init(void) { USB2422_init(); - sr_exp_data.bit.HUB_CONNECT = 1; // connect signal - sr_exp_data.bit.HUB_RESET_N = 1; // reset high + sr_exp_data.bit.HUB_CONNECT = 1; // connect signal + sr_exp_data.bit.HUB_RESET_N = 1; // reset high SR_EXP_WriteData(); wait_us(100); @@ -122,7 +122,7 @@ void USB_Hub_init(void) { usb_extra_manual = 0; usb_gcr_auto = 1; -#endif // MD_BOOTLOADER +#endif // MD_BOOTLOADER DBGC(DC_USB2422_INIT_COMPLETE); } @@ -131,10 +131,10 @@ void USB_reset(void) { DBGC(DC_USB_RESET_BEGIN); // pulse reset for at least 1 usec - sr_exp_data.bit.HUB_RESET_N = 0; // reset low + sr_exp_data.bit.HUB_RESET_N = 0; // reset low SR_EXP_WriteData(); wait_us(2); - sr_exp_data.bit.HUB_RESET_N = 1; // reset high to run + sr_exp_data.bit.HUB_RESET_N = 1; // reset high to run SR_EXP_WriteData(); DBGC(DC_USB_RESET_COMPLETE); @@ -150,7 +150,9 @@ void USB_configure(void) { DBGC(DC_USB_CONFIGURE_COMPLETE); } -uint16_t USB_active(void) { return USB2422_active(); } +uint16_t USB_active(void) { + return USB2422_active(); +} void USB_set_host_by_voltage(void) { // UP is upstream device (HOST) @@ -162,13 +164,13 @@ void USB_set_host_by_voltage(void) { usb_host_port = USB_HOST_PORT_UNKNOWN; #ifndef MD_BOOTLOADER usb_extra_state = USB_EXTRA_STATE_UNKNOWN; -#endif // MD_BOOTLOADER - sr_exp_data.bit.SRC_1 = 1; // USBC-1 available for test - sr_exp_data.bit.SRC_2 = 1; // USBC-2 available for test - sr_exp_data.bit.E_UP_N = 1; // HOST disable - sr_exp_data.bit.E_DN1_N = 1; // EXTRA disable - sr_exp_data.bit.E_VBUS_1 = 0; // USBC-1 disable full power I/O - sr_exp_data.bit.E_VBUS_2 = 0; // USBC-2 disable full power I/O +#endif // MD_BOOTLOADER + sr_exp_data.bit.SRC_1 = 1; // USBC-1 available for test + sr_exp_data.bit.SRC_2 = 1; // USBC-2 available for test + sr_exp_data.bit.E_UP_N = 1; // HOST disable + sr_exp_data.bit.E_DN1_N = 1; // EXTRA disable + sr_exp_data.bit.E_VBUS_1 = 0; // USBC-1 disable full power I/O + sr_exp_data.bit.E_VBUS_2 = 0; // USBC-2 disable full power I/O SR_EXP_WriteData(); @@ -185,33 +187,33 @@ void USB_set_host_by_voltage(void) { v_con_2_boot = v_con_2; if (v_con_1 > v_con_2) { - sr_exp_data.bit.S_UP = 0; // HOST to USBC-1 - sr_exp_data.bit.S_DN1 = 1; // EXTRA to USBC-2 - sr_exp_data.bit.SRC_1 = 1; // HOST on USBC-1 - sr_exp_data.bit.SRC_2 = 0; // EXTRA available on USBC-2 + sr_exp_data.bit.S_UP = 0; // HOST to USBC-1 + sr_exp_data.bit.S_DN1 = 1; // EXTRA to USBC-2 + sr_exp_data.bit.SRC_1 = 1; // HOST on USBC-1 + sr_exp_data.bit.SRC_2 = 0; // EXTRA available on USBC-2 - sr_exp_data.bit.E_VBUS_1 = 1; // USBC-1 enable full power I/O - sr_exp_data.bit.E_VBUS_2 = 0; // USBC-2 disable full power I/O + sr_exp_data.bit.E_VBUS_1 = 1; // USBC-1 enable full power I/O + sr_exp_data.bit.E_VBUS_2 = 0; // USBC-2 disable full power I/O SR_EXP_WriteData(); - sr_exp_data.bit.E_UP_N = 0; // HOST enable + sr_exp_data.bit.E_UP_N = 0; // HOST enable SR_EXP_WriteData(); usb_host_port = USB_HOST_PORT_1; } else { - sr_exp_data.bit.S_UP = 1; // EXTRA to USBC-1 - sr_exp_data.bit.S_DN1 = 0; // HOST to USBC-2 - sr_exp_data.bit.SRC_1 = 0; // EXTRA available on USBC-1 - sr_exp_data.bit.SRC_2 = 1; // HOST on USBC-2 + sr_exp_data.bit.S_UP = 1; // EXTRA to USBC-1 + sr_exp_data.bit.S_DN1 = 0; // HOST to USBC-2 + sr_exp_data.bit.SRC_1 = 0; // EXTRA available on USBC-1 + sr_exp_data.bit.SRC_2 = 1; // HOST on USBC-2 - sr_exp_data.bit.E_VBUS_1 = 0; // USBC-1 disable full power I/O - sr_exp_data.bit.E_VBUS_2 = 1; // USBC-2 enable full power I/O + sr_exp_data.bit.E_VBUS_1 = 0; // USBC-1 disable full power I/O + sr_exp_data.bit.E_VBUS_2 = 1; // USBC-2 enable full power I/O SR_EXP_WriteData(); - sr_exp_data.bit.E_UP_N = 0; // HOST enable + sr_exp_data.bit.E_UP_N = 0; // HOST enable SR_EXP_WriteData(); @@ -220,7 +222,7 @@ void USB_set_host_by_voltage(void) { #ifndef MD_BOOTLOADER usb_extra_state = USB_EXTRA_STATE_DISABLED; -#endif // MD_BOOTLOADER +#endif // MD_BOOTLOADER USB_reset(); USB_configure(); @@ -241,7 +243,7 @@ uint8_t USB_Hub_Port_Detect_Init(void) { while (!USB_active()) { tmod = timer_read64() % PORT_DETECT_RETRY_INTERVAL; - if (v_con_1 > v_con_2) // Values updated from USB_set_host_by_voltage(); + if (v_con_1 > v_con_2) // Values updated from USB_set_host_by_voltage(); { // 1 flash for port 1 detected if (tmod > 500 && tmod < 600) { @@ -249,7 +251,7 @@ uint8_t USB_Hub_Port_Detect_Init(void) { } else { DBG_LED_OFF; } - } else if (v_con_2 > v_con_1) // Values updated from USB_set_host_by_voltage(); + } else if (v_con_2 > v_con_1) // Values updated from USB_set_host_by_voltage(); { // 2 flash for port 2 detected if (tmod > 500 && tmod < 600) { @@ -321,7 +323,7 @@ void USB_HandleExtraDevice(void) { // Detect unplug and reset state to disabled if (adc_extra > USB_EXTRA_ADC_THRESHOLD) usb_extra_state = USB_EXTRA_STATE_DISABLED; - return; // Return even if unplug detected + return; // Return even if unplug detected } if (usb_extra_manual) { @@ -337,4 +339,4 @@ void USB_HandleExtraDevice(void) { USB_ExtraSetState(USB_EXTRA_STATE_DISABLED); } -#endif // MD_BOOTLOADER +#endif // MD_BOOTLOADER diff --git a/tmk_core/protocol/arm_atsam/usb/usb_hub.h b/tmk_core/protocol/arm_atsam/usb/usb_hub.h index 76b1e0a32633..d7b2e3fab445 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_hub.h +++ b/tmk_core/protocol/arm_atsam/usb/usb_hub.h @@ -48,4 +48,4 @@ uint16_t adc_get(uint8_t muxpos); void USB_HandleExtraDevice(void); void USB_ExtraSetState(uint8_t state); -#endif //_USB2422_H_ +#endif //_USB2422_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/usb_main.h b/tmk_core/protocol/arm_atsam/usb/usb_main.h index d8461c6c9f65..c3b1698c594c 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_main.h +++ b/tmk_core/protocol/arm_atsam/usb/usb_main.h @@ -71,31 +71,31 @@ void main_kbd_disable(void); extern volatile bool main_b_nkro_enable; bool main_nkro_enable(void); void main_nkro_disable(void); -#endif // NKRO_ENABLE +#endif // NKRO_ENABLE #ifdef EXTRAKEY_ENABLE extern volatile bool main_b_exk_enable; bool main_exk_enable(void); void main_exk_disable(void); -#endif // EXTRAKEY_ENABLE +#endif // EXTRAKEY_ENABLE #ifdef CONSOLE_ENABLE extern volatile bool main_b_con_enable; bool main_con_enable(void); void main_con_disable(void); -#endif // CONSOLE_ENABLE +#endif // CONSOLE_ENABLE #ifdef MOUSE_ENABLE extern volatile bool main_b_mou_enable; bool main_mou_enable(void); void main_mou_disable(void); -#endif // MOUSE_ENABLE +#endif // MOUSE_ENABLE #ifdef RAW_ENABLE extern volatile bool main_b_raw_enable; bool main_raw_enable(void); void main_raw_disable(void); void main_raw_receive(uint8_t *buffer, uint8_t len); -#endif // RAW_ENABLE +#endif // RAW_ENABLE -#endif // _MAIN_H_ +#endif // _MAIN_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/usb_protocol.h b/tmk_core/protocol/arm_atsam/usb/usb_protocol.h index 54d023a6eeea..639b80a80401 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_protocol.h +++ b/tmk_core/protocol/arm_atsam/usb/usb_protocol.h @@ -63,8 +63,8 @@ */ //! Value for field bcdUSB -#define USB_V2_0 0x0200 //!< USB Specification version 2.00 -#define USB_V2_1 0x0201 //!< USB Specification version 2.01 +#define USB_V2_0 0x0200 //!< USB Specification version 2.00 +#define USB_V2_1 0x0201 //!< USB Specification version 2.01 /*! \name Generic definitions (Class, subclass and protocol) */ @@ -85,26 +85,26 @@ /** * \brief USB request data transfer direction (bmRequestType) */ -#define USB_REQ_DIR_OUT (0 << 7) //!< Host to device -#define USB_REQ_DIR_IN (1 << 7) //!< Device to host -#define USB_REQ_DIR_MASK (1 << 7) //!< Mask +#define USB_REQ_DIR_OUT (0 << 7) //!< Host to device +#define USB_REQ_DIR_IN (1 << 7) //!< Device to host +#define USB_REQ_DIR_MASK (1 << 7) //!< Mask /** * \brief USB request types (bmRequestType) */ -#define USB_REQ_TYPE_STANDARD (0 << 5) //!< Standard request -#define USB_REQ_TYPE_CLASS (1 << 5) //!< Class-specific request -#define USB_REQ_TYPE_VENDOR (2 << 5) //!< Vendor-specific request -#define USB_REQ_TYPE_MASK (3 << 5) //!< Mask +#define USB_REQ_TYPE_STANDARD (0 << 5) //!< Standard request +#define USB_REQ_TYPE_CLASS (1 << 5) //!< Class-specific request +#define USB_REQ_TYPE_VENDOR (2 << 5) //!< Vendor-specific request +#define USB_REQ_TYPE_MASK (3 << 5) //!< Mask /** * \brief USB recipient codes (bmRequestType) */ -#define USB_REQ_RECIP_DEVICE (0 << 0) //!< Recipient device -#define USB_REQ_RECIP_INTERFACE (1 << 0) //!< Recipient interface -#define USB_REQ_RECIP_ENDPOINT (2 << 0) //!< Recipient endpoint -#define USB_REQ_RECIP_OTHER (3 << 0) //!< Recipient other -#define USB_REQ_RECIP_MASK (0x1F) //!< Mask +#define USB_REQ_RECIP_DEVICE (0 << 0) //!< Recipient device +#define USB_REQ_RECIP_INTERFACE (1 << 0) //!< Recipient interface +#define USB_REQ_RECIP_ENDPOINT (2 << 0) //!< Recipient endpoint +#define USB_REQ_RECIP_OTHER (3 << 0) //!< Recipient other +#define USB_REQ_RECIP_MASK (0x1F) //!< Mask /** * \brief Standard USB requests (bRequest) @@ -149,8 +149,8 @@ enum usb_endpoint_status { * \note valid for SetFeature request. */ enum usb_device_feature { - USB_DEV_FEATURE_REMOTE_WAKEUP = 1, //!< Remote wakeup enabled - USB_DEV_FEATURE_TEST_MODE = 2, //!< USB test mode + USB_DEV_FEATURE_REMOTE_WAKEUP = 1, //!< Remote wakeup enabled + USB_DEV_FEATURE_TEST_MODE = 2, //!< USB test mode USB_DEV_FEATURE_OTG_B_HNP_ENABLE = 3, USB_DEV_FEATURE_OTG_A_HNP_SUPPORT = 4, USB_DEV_FEATURE_OTG_A_ALT_HNP_SUPPORT = 5 @@ -261,7 +261,7 @@ enum usb_ep_type { * \brief Standard USB language IDs for string descriptors */ enum usb_langid { - USB_LANGID_EN_US = 0x0409, //!< English (United States) + USB_LANGID_EN_US = 0x0409, //!< English (United States) }; /** @@ -396,14 +396,14 @@ typedef struct { * \brief Standard USB Interface Association Descriptor structure */ typedef struct { - uint8_t bLength; //!< size of this descriptor in bytes - uint8_t bDescriptorType; //!< INTERFACE descriptor type - uint8_t bFirstInterface; //!< Number of interface - uint8_t bInterfaceCount; //!< value to select alternate setting - uint8_t bFunctionClass; //!< Class code assigned by the USB - uint8_t bFunctionSubClass; //!< Sub-class code assigned by the USB - uint8_t bFunctionProtocol; //!< Protocol code assigned by the USB - uint8_t iFunction; //!< Index of string descriptor + uint8_t bLength; //!< size of this descriptor in bytes + uint8_t bDescriptorType; //!< INTERFACE descriptor type + uint8_t bFirstInterface; //!< Number of interface + uint8_t bInterfaceCount; //!< value to select alternate setting + uint8_t bFunctionClass; //!< Class code assigned by the USB + uint8_t bFunctionSubClass; //!< Sub-class code assigned by the USB + uint8_t bFunctionProtocol; //!< Protocol code assigned by the USB + uint8_t iFunction; //!< Index of string descriptor } usb_association_desc_t; /** @@ -420,25 +420,25 @@ typedef struct { uint8_t bMaxPower; } usb_conf_desc_t; -#define USB_CONFIG_ATTR_MUST_SET (1 << 7) //!< Must always be set -#define USB_CONFIG_ATTR_BUS_POWERED (0 << 6) //!< Bus-powered -#define USB_CONFIG_ATTR_SELF_POWERED (1 << 6) //!< Self-powered -#define USB_CONFIG_ATTR_REMOTE_WAKEUP (1 << 5) //!< remote wakeup supported +#define USB_CONFIG_ATTR_MUST_SET (1 << 7) //!< Must always be set +#define USB_CONFIG_ATTR_BUS_POWERED (0 << 6) //!< Bus-powered +#define USB_CONFIG_ATTR_SELF_POWERED (1 << 6) //!< Self-powered +#define USB_CONFIG_ATTR_REMOTE_WAKEUP (1 << 5) //!< remote wakeup supported -#define USB_CONFIG_MAX_POWER(ma) (((ma) + 1) / 2) //!< Max power in mA +#define USB_CONFIG_MAX_POWER(ma) (((ma) + 1) / 2) //!< Max power in mA /** * \brief Standard USB association descriptor structure */ typedef struct { - uint8_t bLength; //!< Size of this descriptor in bytes - uint8_t bDescriptorType; //!< Interface descriptor type - uint8_t bFirstInterface; //!< Number of interface - uint8_t bInterfaceCount; //!< value to select alternate setting - uint8_t bFunctionClass; //!< Class code assigned by the USB - uint8_t bFunctionSubClass; //!< Sub-class code assigned by the USB - uint8_t bFunctionProtocol; //!< Protocol code assigned by the USB - uint8_t iFunction; //!< Index of string descriptor + uint8_t bLength; //!< Size of this descriptor in bytes + uint8_t bDescriptorType; //!< Interface descriptor type + uint8_t bFirstInterface; //!< Number of interface + uint8_t bInterfaceCount; //!< value to select alternate setting + uint8_t bFunctionClass; //!< Class code assigned by the USB + uint8_t bFunctionSubClass; //!< Sub-class code assigned by the USB + uint8_t bFunctionProtocol; //!< Protocol code assigned by the USB + uint8_t iFunction; //!< Index of string descriptor } usb_iad_desc_t; /** diff --git a/tmk_core/protocol/arm_atsam/usb/usb_protocol_cdc.h b/tmk_core/protocol/arm_atsam/usb/usb_protocol_cdc.h index f35503a3be58..1d36d58dbdc0 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_protocol_cdc.h +++ b/tmk_core/protocol/arm_atsam/usb/usb_protocol_cdc.h @@ -50,41 +50,41 @@ #ifdef VIRTSER_ENABLE -# define CDC_CLASS_DEVICE 0x02 //!< USB Communication Device Class -# define CDC_CLASS_COMM 0x02 //!< CDC Communication Class Interface -# define CDC_CLASS_DATA 0x0A //!< CDC Data Class Interface - -# define CDC_SUBCLASS_DLCM 0x01 //!< Direct Line Control Model -# define CDC_SUBCLASS_ACM 0x02 //!< Abstract Control Model -# define CDC_SUBCLASS_TCM 0x03 //!< Telephone Control Model -# define CDC_SUBCLASS_MCCM 0x04 //!< Multi-Channel Control Model -# define CDC_SUBCLASS_CCM 0x05 //!< CAPI Control Model -# define CDC_SUBCLASS_ETH 0x06 //!< Ethernet Networking Control Model -# define CDC_SUBCLASS_ATM 0x07 //!< ATM Networking Control Model - -# define CDC_PROTOCOL_V25TER 0x01 //!< Common AT commands - -# define CDC_PROTOCOL_I430 0x30 //!< ISDN BRI -# define CDC_PROTOCOL_HDLC 0x31 //!< HDLC -# define CDC_PROTOCOL_TRANS 0x32 //!< Transparent -# define CDC_PROTOCOL_Q921M 0x50 //!< Q.921 management protocol -# define CDC_PROTOCOL_Q921 0x51 //!< Q.931 [sic] Data link protocol -# define CDC_PROTOCOL_Q921TM 0x52 //!< Q.921 TEI-multiplexor -# define CDC_PROTOCOL_V42BIS 0x90 //!< Data compression procedures -# define CDC_PROTOCOL_Q931 0x91 //!< Euro-ISDN protocol control -# define CDC_PROTOCOL_V120 0x92 //!< V.24 rate adaption to ISDN -# define CDC_PROTOCOL_CAPI20 0x93 //!< CAPI Commands -# define CDC_PROTOCOL_HOST 0xFD //!< Host based driver +# define CDC_CLASS_DEVICE 0x02 //!< USB Communication Device Class +# define CDC_CLASS_COMM 0x02 //!< CDC Communication Class Interface +# define CDC_CLASS_DATA 0x0A //!< CDC Data Class Interface + +# define CDC_SUBCLASS_DLCM 0x01 //!< Direct Line Control Model +# define CDC_SUBCLASS_ACM 0x02 //!< Abstract Control Model +# define CDC_SUBCLASS_TCM 0x03 //!< Telephone Control Model +# define CDC_SUBCLASS_MCCM 0x04 //!< Multi-Channel Control Model +# define CDC_SUBCLASS_CCM 0x05 //!< CAPI Control Model +# define CDC_SUBCLASS_ETH 0x06 //!< Ethernet Networking Control Model +# define CDC_SUBCLASS_ATM 0x07 //!< ATM Networking Control Model + +# define CDC_PROTOCOL_V25TER 0x01 //!< Common AT commands + +# define CDC_PROTOCOL_I430 0x30 //!< ISDN BRI +# define CDC_PROTOCOL_HDLC 0x31 //!< HDLC +# define CDC_PROTOCOL_TRANS 0x32 //!< Transparent +# define CDC_PROTOCOL_Q921M 0x50 //!< Q.921 management protocol +# define CDC_PROTOCOL_Q921 0x51 //!< Q.931 [sic] Data link protocol +# define CDC_PROTOCOL_Q921TM 0x52 //!< Q.921 TEI-multiplexor +# define CDC_PROTOCOL_V42BIS 0x90 //!< Data compression procedures +# define CDC_PROTOCOL_Q931 0x91 //!< Euro-ISDN protocol control +# define CDC_PROTOCOL_V120 0x92 //!< V.24 rate adaption to ISDN +# define CDC_PROTOCOL_CAPI20 0x93 //!< CAPI Commands +# define CDC_PROTOCOL_HOST 0xFD //!< Host based driver # define CDC_PROTOCOL_PUFD 0xFE -# define CDC_CS_INTERFACE 0x24 //!< Interface Functional Descriptor -# define CDC_CS_ENDPOINT 0x25 //!< Endpoint Functional Descriptor +# define CDC_CS_INTERFACE 0x24 //!< Interface Functional Descriptor +# define CDC_CS_ENDPOINT 0x25 //!< Endpoint Functional Descriptor -# define CDC_SCS_HEADER 0x00 //!< Header Functional Descriptor -# define CDC_SCS_CALL_MGMT 0x01 //!< Call Management -# define CDC_SCS_ACM 0x02 //!< Abstract Control Management -# define CDC_SCS_UNION 0x06 //!< Union Functional Descriptor +# define CDC_SCS_HEADER 0x00 //!< Header Functional Descriptor +# define CDC_SCS_CALL_MGMT 0x01 //!< Call Management +# define CDC_SCS_ACM 0x02 //!< Abstract Control Management +# define CDC_SCS_UNION 0x06 //!< Union Functional Descriptor # define USB_REQ_CDC_SEND_ENCAPSULATED_COMMAND 0x00 # define USB_REQ_CDC_GET_ENCAPSULATED_RESPONSE 0x01 @@ -144,17 +144,17 @@ typedef struct { # pragma pack(pop) enum cdc_char_format { - CDC_STOP_BITS_1 = 0, //!< 1 stop bit - CDC_STOP_BITS_1_5 = 1, //!< 1.5 stop bits - CDC_STOP_BITS_2 = 2, //!< 2 stop bits + CDC_STOP_BITS_1 = 0, //!< 1 stop bit + CDC_STOP_BITS_1_5 = 1, //!< 1.5 stop bits + CDC_STOP_BITS_2 = 2, //!< 2 stop bits }; enum cdc_parity { - CDC_PAR_NONE = 0, //!< No parity - CDC_PAR_ODD = 1, //!< Odd parity - CDC_PAR_EVEN = 2, //!< Even parity - CDC_PAR_MARK = 3, //!< Parity forced to 0 (space) - CDC_PAR_SPACE = 4, //!< Parity forced to 1 (mark) + CDC_PAR_NONE = 0, //!< No parity + CDC_PAR_ODD = 1, //!< Odd parity + CDC_PAR_EVEN = 2, //!< Even parity + CDC_PAR_MARK = 3, //!< Parity forced to 0 (space) + CDC_PAR_SPACE = 4, //!< Parity forced to 1 (mark) }; typedef struct { @@ -187,4 +187,4 @@ typedef struct { #endif -#endif // _USB_PROTOCOL_CDC_H_ +#endif // _USB_PROTOCOL_CDC_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/usb_protocol_hid.h b/tmk_core/protocol/arm_atsam/usb/usb_protocol_hid.h index fb97f63cef97..c984c0762f07 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_protocol_hid.h +++ b/tmk_core/protocol/arm_atsam/usb/usb_protocol_hid.h @@ -121,13 +121,13 @@ COMPILER_PACK_SET(1) //! \brief HID Descriptor typedef struct { - uint8_t bLength; //!< Size of this descriptor in bytes - uint8_t bDescriptorType; //!< HID descriptor type - le16_t bcdHID; //!< Binary Coded Decimal Spec. release - uint8_t bCountryCode; //!< Hardware target country - uint8_t bNumDescriptors; //!< Number of HID class descriptors to follow - uint8_t bRDescriptorType; //!< Report descriptor type - le16_t wDescriptorLength; //!< Total length of Report descriptor + uint8_t bLength; //!< Size of this descriptor in bytes + uint8_t bDescriptorType; //!< HID descriptor type + le16_t bcdHID; //!< Binary Coded Decimal Spec. release + uint8_t bCountryCode; //!< Hardware target country + uint8_t bNumDescriptors; //!< Number of HID class descriptors to follow + uint8_t bRDescriptorType; //!< Report descriptor type + le16_t wDescriptorLength; //!< Total length of Report descriptor } usb_hid_descriptor_t; COMPILER_PACK_RESET() @@ -151,45 +151,45 @@ COMPILER_PACK_RESET() //! \name Country code //! @{ -#define USB_HID_NO_COUNTRY_CODE 0 // Not Supported -#define USB_HID_COUNTRY_ARABIC 1 // Arabic -#define USB_HID_COUNTRY_BELGIAN 2 // Belgian -#define USB_HID_COUNTRY_CANADIAN_BILINGUAL 3 // Canadian-Bilingual -#define USB_HID_COUNTRY_CANADIAN_FRENCH 4 // Canadian-French -#define USB_HID_COUNTRY_CZECH_REPUBLIC 5 // Czech Republic -#define USB_HID_COUNTRY_DANISH 6 // Danish -#define USB_HID_COUNTRY_FINNISH 7 // Finnish -#define USB_HID_COUNTRY_FRENCH 8 // French -#define USB_HID_COUNTRY_GERMAN 9 // German -#define USB_HID_COUNTRY_GREEK 10 // Greek -#define USB_HID_COUNTRY_HEBREW 11 // Hebrew -#define USB_HID_COUNTRY_HUNGARY 12 // Hungary -#define USB_HID_COUNTRY_INTERNATIONAL_ISO 13 // International (ISO) -#define USB_HID_COUNTRY_ITALIAN 14 // Italian -#define USB_HID_COUNTRY_JAPAN_KATAKANA 15 // Japan (Katakana) -#define USB_HID_COUNTRY_KOREAN 16 // Korean -#define USB_HID_COUNTRY_LATIN_AMERICAN 17 // Latin American -#define USB_HID_COUNTRY_NETHERLANDS_DUTCH 18 // Netherlands/Dutch -#define USB_HID_COUNTRY_NORWEGIAN 19 // Norwegian -#define USB_HID_COUNTRY_PERSIAN_FARSI 20 // Persian (Farsi) -#define USB_HID_COUNTRY_POLAND 21 // Poland -#define USB_HID_COUNTRY_PORTUGUESE 22 // Portuguese -#define USB_HID_COUNTRY_RUSSIA 23 // Russia -#define USB_HID_COUNTRY_SLOVAKIA 24 // Slovakia -#define USB_HID_COUNTRY_SPANISH 25 // Spanish -#define USB_HID_COUNTRY_SWEDISH 26 // Swedish -#define USB_HID_COUNTRY_SWISS_FRENCH 27 // Swiss/French -#define USB_HID_COUNTRY_SWISS_GERMAN 28 // Swiss/German -#define USB_HID_COUNTRY_SWITZERLAND 29 // Switzerland -#define USB_HID_COUNTRY_TAIWAN 30 // Taiwan -#define USB_HID_COUNTRY_TURKISH_Q 31 // Turkish-Q -#define USB_HID_COUNTRY_UK 32 // UK -#define USB_HID_COUNTRY_US 33 // US -#define USB_HID_COUNTRY_YUGOSLAVIA 34 // Yugoslavia +#define USB_HID_NO_COUNTRY_CODE 0 // Not Supported +#define USB_HID_COUNTRY_ARABIC 1 // Arabic +#define USB_HID_COUNTRY_BELGIAN 2 // Belgian +#define USB_HID_COUNTRY_CANADIAN_BILINGUAL 3 // Canadian-Bilingual +#define USB_HID_COUNTRY_CANADIAN_FRENCH 4 // Canadian-French +#define USB_HID_COUNTRY_CZECH_REPUBLIC 5 // Czech Republic +#define USB_HID_COUNTRY_DANISH 6 // Danish +#define USB_HID_COUNTRY_FINNISH 7 // Finnish +#define USB_HID_COUNTRY_FRENCH 8 // French +#define USB_HID_COUNTRY_GERMAN 9 // German +#define USB_HID_COUNTRY_GREEK 10 // Greek +#define USB_HID_COUNTRY_HEBREW 11 // Hebrew +#define USB_HID_COUNTRY_HUNGARY 12 // Hungary +#define USB_HID_COUNTRY_INTERNATIONAL_ISO 13 // International (ISO) +#define USB_HID_COUNTRY_ITALIAN 14 // Italian +#define USB_HID_COUNTRY_JAPAN_KATAKANA 15 // Japan (Katakana) +#define USB_HID_COUNTRY_KOREAN 16 // Korean +#define USB_HID_COUNTRY_LATIN_AMERICAN 17 // Latin American +#define USB_HID_COUNTRY_NETHERLANDS_DUTCH 18 // Netherlands/Dutch +#define USB_HID_COUNTRY_NORWEGIAN 19 // Norwegian +#define USB_HID_COUNTRY_PERSIAN_FARSI 20 // Persian (Farsi) +#define USB_HID_COUNTRY_POLAND 21 // Poland +#define USB_HID_COUNTRY_PORTUGUESE 22 // Portuguese +#define USB_HID_COUNTRY_RUSSIA 23 // Russia +#define USB_HID_COUNTRY_SLOVAKIA 24 // Slovakia +#define USB_HID_COUNTRY_SPANISH 25 // Spanish +#define USB_HID_COUNTRY_SWEDISH 26 // Swedish +#define USB_HID_COUNTRY_SWISS_FRENCH 27 // Swiss/French +#define USB_HID_COUNTRY_SWISS_GERMAN 28 // Swiss/German +#define USB_HID_COUNTRY_SWITZERLAND 29 // Switzerland +#define USB_HID_COUNTRY_TAIWAN 30 // Taiwan +#define USB_HID_COUNTRY_TURKISH_Q 31 // Turkish-Q +#define USB_HID_COUNTRY_UK 32 // UK +#define USB_HID_COUNTRY_US 33 // US +#define USB_HID_COUNTRY_YUGOSLAVIA 34 // Yugoslavia #define USB_HID_COUNTRY_TURKISH_F \ - 35 // Turkish-F - //! @} - //! @} + 35 // Turkish-F + //! @} + //! @} //! @} //! \name HID KEYS values @@ -237,12 +237,12 @@ COMPILER_PACK_RESET() #define HID_SPACEBAR 44 #define HID_UNDERSCORE 45 #define HID_PLUS 46 -#define HID_OPEN_BRACKET 47 // { -#define HID_CLOSE_BRACKET 48 // } +#define HID_OPEN_BRACKET 47 // { +#define HID_CLOSE_BRACKET 48 // } #define HID_BACKSLASH 49 -#define HID_ASH 50 // # ~ -#define HID_COLON 51 // ; : -#define HID_QUOTE 52 // ' " +#define HID_ASH 50 // # ~ +#define HID_COLON 51 // ; : +#define HID_QUOTE 52 // ' " #define HID_TILDE 53 #define HID_COMMA 54 #define HID_DOT 55 @@ -314,4 +314,4 @@ COMPILER_PACK_RESET() #define HID_LED_KANA (1 << 4) //! @} -#endif // _USB_PROTOCOL_HID_H_ +#endif // _USB_PROTOCOL_HID_H_ diff --git a/tmk_core/protocol/arm_atsam/usb/usb_util.c b/tmk_core/protocol/arm_atsam/usb/usb_util.c index a682c00b5807..c7555c84c671 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_util.c +++ b/tmk_core/protocol/arm_atsam/usb/usb_util.c @@ -11,17 +11,17 @@ char digit(int d, int radix) { } int UTIL_ltoa_radix(int64_t value, char *dest, int radix) { - int64_t original = value; // save original value + int64_t original = value; // save original value char buf[25] = ""; int c = sizeof(buf) - 1; int last = c; int d; int size; - if (value < 0) // if it's negative, take the absolute value + if (value < 0) // if it's negative, take the absolute value value = -value; - do // write least significant digit of value that's left + do // write least significant digit of value that's left { d = (value % radix); buf[--c] = digit(d, radix); @@ -30,14 +30,20 @@ int UTIL_ltoa_radix(int64_t value, char *dest, int radix) { if (original < 0) buf[--c] = '-'; - size = last - c + 1; // includes null at end + size = last - c + 1; // includes null at end memcpy(dest, &buf[c], last - c + 1); - return (size - 1); // without null termination + return (size - 1); // without null termination } -int UTIL_ltoa(int64_t value, char *dest) { return UTIL_ltoa_radix(value, dest, 10); } +int UTIL_ltoa(int64_t value, char *dest) { + return UTIL_ltoa_radix(value, dest, 10); +} -int UTIL_itoa(int value, char *dest) { return UTIL_ltoa_radix((int64_t)value, dest, 10); } +int UTIL_itoa(int value, char *dest) { + return UTIL_ltoa_radix((int64_t)value, dest, 10); +} -int UTIL_utoa(uint32_t value, char *dest) { return UTIL_ltoa_radix((int64_t)value, dest, 10); } +int UTIL_utoa(uint32_t value, char *dest) { + return UTIL_ltoa_radix((int64_t)value, dest, 10); +} diff --git a/tmk_core/protocol/arm_atsam/usb/usb_util.h b/tmk_core/protocol/arm_atsam/usb/usb_util.h index 3bad2c26f2a6..3e5b4fbb3245 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_util.h +++ b/tmk_core/protocol/arm_atsam/usb/usb_util.h @@ -6,4 +6,4 @@ int UTIL_ltoa(int64_t value, char *dest); int UTIL_itoa(int value, char *dest); int UTIL_utoa(uint32_t value, char *dest); -#endif //_USB_UTIL_H_ +#endif //_USB_UTIL_H_ diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index b6cff05e9fd5..c9a480c32555 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c @@ -107,7 +107,7 @@ __attribute__((weak)) void early_hardware_init_pre(void) { #if EARLY_INIT_PERFORM_BOOTLOADER_JUMP void enter_bootloader_mode_if_requested(void); enter_bootloader_mode_if_requested(); -#endif // EARLY_INIT_PERFORM_BOOTLOADER_JUMP +#endif // EARLY_INIT_PERFORM_BOOTLOADER_JUMP } __attribute__((weak)) void early_hardware_init_post(void) {} @@ -176,7 +176,9 @@ void protocol_pre_init(void) { print("USB configured.\n"); } -void protocol_post_init(void) { host_set_driver(driver); } +void protocol_post_init(void) { + host_set_driver(driver); +} void protocol_pre_task(void) { usb_event_queue_task(); @@ -186,7 +188,7 @@ void protocol_pre_task(void) { print("[s]"); while (USB_DRIVER.state == USB_SUSPENDED) { /* Do this in the suspended state */ - suspend_power_down(); // on AVR this deep sleeps for 15ms + suspend_power_down(); // on AVR this deep sleeps for 15ms /* Remote wakeup */ if (suspend_wakeup_condition()) { usbWakeupHost(&USB_DRIVER); diff --git a/tmk_core/protocol/chibios/usb_driver.c b/tmk_core/protocol/chibios/usb_driver.c index cc0ce7600fc9..4de060f306b3 100644 --- a/tmk_core/protocol/chibios/usb_driver.c +++ b/tmk_core/protocol/chibios/usb_driver.c @@ -80,21 +80,37 @@ static bool qmkusb_start_receive(QMKUSBDriver *qmkusbp) { * Interface implementation. */ -static size_t _write(void *ip, const uint8_t *bp, size_t n) { return obqWriteTimeout(&((QMKUSBDriver *)ip)->obqueue, bp, n, TIME_INFINITE); } +static size_t _write(void *ip, const uint8_t *bp, size_t n) { + return obqWriteTimeout(&((QMKUSBDriver *)ip)->obqueue, bp, n, TIME_INFINITE); +} -static size_t _read(void *ip, uint8_t *bp, size_t n) { return ibqReadTimeout(&((QMKUSBDriver *)ip)->ibqueue, bp, n, TIME_INFINITE); } +static size_t _read(void *ip, uint8_t *bp, size_t n) { + return ibqReadTimeout(&((QMKUSBDriver *)ip)->ibqueue, bp, n, TIME_INFINITE); +} -static msg_t _put(void *ip, uint8_t b) { return obqPutTimeout(&((QMKUSBDriver *)ip)->obqueue, b, TIME_INFINITE); } +static msg_t _put(void *ip, uint8_t b) { + return obqPutTimeout(&((QMKUSBDriver *)ip)->obqueue, b, TIME_INFINITE); +} -static msg_t _get(void *ip) { return ibqGetTimeout(&((QMKUSBDriver *)ip)->ibqueue, TIME_INFINITE); } +static msg_t _get(void *ip) { + return ibqGetTimeout(&((QMKUSBDriver *)ip)->ibqueue, TIME_INFINITE); +} -static msg_t _putt(void *ip, uint8_t b, sysinterval_t timeout) { return obqPutTimeout(&((QMKUSBDriver *)ip)->obqueue, b, timeout); } +static msg_t _putt(void *ip, uint8_t b, sysinterval_t timeout) { + return obqPutTimeout(&((QMKUSBDriver *)ip)->obqueue, b, timeout); +} -static msg_t _gett(void *ip, sysinterval_t timeout) { return ibqGetTimeout(&((QMKUSBDriver *)ip)->ibqueue, timeout); } +static msg_t _gett(void *ip, sysinterval_t timeout) { + return ibqGetTimeout(&((QMKUSBDriver *)ip)->ibqueue, timeout); +} -static size_t _writet(void *ip, const uint8_t *bp, size_t n, sysinterval_t timeout) { return obqWriteTimeout(&((QMKUSBDriver *)ip)->obqueue, bp, n, timeout); } +static size_t _writet(void *ip, const uint8_t *bp, size_t n, sysinterval_t timeout) { + return obqWriteTimeout(&((QMKUSBDriver *)ip)->obqueue, bp, n, timeout); +} -static size_t _readt(void *ip, uint8_t *bp, size_t n, sysinterval_t timeout) { return ibqReadTimeout(&((QMKUSBDriver *)ip)->ibqueue, bp, n, timeout); } +static size_t _readt(void *ip, uint8_t *bp, size_t n, sysinterval_t timeout) { + return ibqReadTimeout(&((QMKUSBDriver *)ip)->ibqueue, bp, n, timeout); +} static const struct QMKUSBDriverVMT vmt = {0, _write, _read, _put, _get, _putt, _gett, _writet, _readt}; diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index 30bfac9f3e74..d9aa351ecbe2 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -775,7 +775,9 @@ void kbd_in_cb(USBDriver *usbp, usbep_t ep) { /* start-of-frame handler * TODO: i guess it would be better to re-implement using timers, * so that this is not going to have to be checked every 1ms */ -void kbd_sof_cb(USBDriver *usbp) { (void)usbp; } +void kbd_sof_cb(USBDriver *usbp) { + (void)usbp; +} /* Idle requests timer code * callback (called from ISR, unlocked state) */ @@ -815,7 +817,9 @@ static void keyboard_idle_timer_cb(void *arg) { } /* LED status */ -uint8_t keyboard_leds(void) { return keyboard_led_state; } +uint8_t keyboard_leds(void) { + return keyboard_led_state; +} /* prepare and start sending a report IN * not callable from ISR or locked state */ @@ -915,7 +919,9 @@ void send_mouse(report_mouse_t *report) { } #else /* MOUSE_ENABLE */ -void send_mouse(report_mouse_t *report) { (void)report; } +void send_mouse(report_mouse_t *report) { + (void)report; +} #endif /* MOUSE_ENABLE */ /* --------------------------------------------------------- @@ -1107,7 +1113,9 @@ void raw_hid_task(void) { #ifdef MIDI_ENABLE -void send_midi_packet(MIDI_EventPacket_t *event) { chnWrite(&drivers.midi_driver.driver, (uint8_t *)event, sizeof(MIDI_EventPacket_t)); } +void send_midi_packet(MIDI_EventPacket_t *event) { + chnWrite(&drivers.midi_driver.driver, (uint8_t *)event, sizeof(MIDI_EventPacket_t)); +} bool recv_midi_packet(MIDI_EventPacket_t *const event) { size_t size = chnReadTimeout(&drivers.midi_driver.driver, (uint8_t *)event, sizeof(MIDI_EventPacket_t), TIME_IMMEDIATE); @@ -1130,7 +1138,9 @@ void midi_ep_task(void) { void virtser_init(void) {} -void virtser_send(const uint8_t byte) { chnWrite(&drivers.serial_driver.driver, &byte, 1); } +void virtser_send(const uint8_t byte) { + chnWrite(&drivers.serial_driver.driver, &byte, 1); +} __attribute__((weak)) void virtser_recv(uint8_t c) { // Ignore by default @@ -1174,7 +1184,7 @@ void send_joystick_packet(joystick_t *joystick) { joystick->axes[5], # endif }, -# endif // JOYSTICK_AXES_COUNT>0 +# endif // JOYSTICK_AXES_COUNT>0 # if JOYSTICK_BUTTON_COUNT > 0 .buttons = { @@ -1190,7 +1200,7 @@ void send_joystick_packet(joystick_t *joystick) { joystick->buttons[3], # endif } -# endif // JOYSTICK_BUTTON_COUNT>0 +# endif // JOYSTICK_BUTTON_COUNT>0 }; // chnWrite(&drivers.joystick_driver.driver, (uint8_t *)&rep, sizeof(rep)); diff --git a/tmk_core/protocol/chibios/usb_util.c b/tmk_core/protocol/chibios/usb_util.c index e32d6ebfa4d7..c8b435db0c6e 100644 --- a/tmk_core/protocol/chibios/usb_util.c +++ b/tmk_core/protocol/chibios/usb_util.c @@ -16,6 +16,10 @@ #include #include "usb_util.h" -void usb_disconnect(void) { usbStop(&USBD1); } +void usb_disconnect(void) { + usbStop(&USBD1); +} -bool usb_connected_state(void) { return usbGetDriverStateI(&USBD1) == USB_ACTIVE; } +bool usb_connected_state(void) { + return usbGetDriverStateI(&USBD1) == USB_ACTIVE; +} diff --git a/tmk_core/protocol/host.c b/tmk_core/protocol/host.c index 56d4bb084713..053d2b79e312 100644 --- a/tmk_core/protocol/host.c +++ b/tmk_core/protocol/host.c @@ -34,13 +34,19 @@ static uint16_t last_system_report = 0; static uint16_t last_consumer_report = 0; static uint32_t last_programmable_button_report = 0; -void host_set_driver(host_driver_t *d) { driver = d; } +void host_set_driver(host_driver_t *d) { + driver = d; +} -host_driver_t *host_get_driver(void) { return driver; } +host_driver_t *host_get_driver(void) { + return driver; +} #ifdef SPLIT_KEYBOARD uint8_t split_led_state = 0; -void set_split_host_keyboard_leds(uint8_t led_state) { split_led_state = led_state; } +void set_split_host_keyboard_leds(uint8_t led_state) { + split_led_state = led_state; +} #endif uint8_t host_keyboard_leds(void) { @@ -51,7 +57,9 @@ uint8_t host_keyboard_leds(void) { return (*driver->keyboard_leds)(); } -led_t host_keyboard_led_state(void) { return (led_t)host_keyboard_leds(); } +led_t host_keyboard_led_state(void) { + return (led_t)host_keyboard_leds(); +} /* send report */ void host_keyboard_send(report_keyboard_t *report) { @@ -131,8 +139,14 @@ void host_programmable_button_send(uint32_t report) { (*driver->send_programmable_button)(report); } -uint16_t host_last_system_report(void) { return last_system_report; } +uint16_t host_last_system_report(void) { + return last_system_report; +} -uint16_t host_last_consumer_report(void) { return last_consumer_report; } +uint16_t host_last_consumer_report(void) { + return last_consumer_report; +} -uint32_t host_last_programmable_button_report(void) { return last_programmable_button_report; } +uint32_t host_last_programmable_button_report(void) { + return last_programmable_button_report; +} diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index 3943f8c92b5a..b4b03357a36b 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -256,7 +256,8 @@ static void Console_Task(void) { } // fill empty bank - while (Endpoint_IsReadWriteAllowed()) Endpoint_Write_8(0); + while (Endpoint_IsReadWriteAllowed()) + Endpoint_Write_8(0); // flush sendchar packet if (Endpoint_IsINReady()) { @@ -296,7 +297,7 @@ void send_joystick_packet(joystick_t *joystick) { joystick->axes[5], # endif }, -# endif // JOYSTICK_AXES_COUNT>0 +# endif // JOYSTICK_AXES_COUNT>0 # if JOYSTICK_BUTTON_COUNT > 0 .buttons = { @@ -312,14 +313,15 @@ void send_joystick_packet(joystick_t *joystick) { joystick->buttons[3], # endif } -# endif // JOYSTICK_BUTTON_COUNT>0 +# endif // JOYSTICK_BUTTON_COUNT>0 }; /* Select the Joystick Report Endpoint */ Endpoint_SelectEndpoint(JOYSTICK_IN_EPNUM); /* Check if write ready for a polling interval around 10ms */ - while (timeout-- && !Endpoint_IsReadWriteAllowed()) _delay_us(40); + while (timeout-- && !Endpoint_IsReadWriteAllowed()) + _delay_us(40); if (!Endpoint_IsReadWriteAllowed()) return; /* Write Joystick Report Data */ @@ -414,9 +416,11 @@ void EVENT_USB_Device_WakeUp() { #ifdef CONSOLE_ENABLE static bool console_flush = false; -# define CONSOLE_FLUSH_SET(b) \ - do { \ - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { console_flush = b; } \ +# define CONSOLE_FLUSH_SET(b) \ + do { \ + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \ + console_flush = b; \ + } \ } while (0) /** \brief Event USB Device Start Of Frame @@ -634,7 +638,9 @@ void EVENT_USB_Device_ControlRequest(void) { * * FIXME: Needs doc */ -static uint8_t keyboard_leds(void) { return keyboard_led_state; } +static uint8_t keyboard_leds(void) { + return keyboard_led_state; +} /** \brief Send Keyboard * @@ -665,7 +671,8 @@ static void send_keyboard(report_keyboard_t *report) { #endif Endpoint_SelectEndpoint(ep); /* Check if write ready for a polling interval around 10ms */ - while (timeout-- && !Endpoint_IsReadWriteAllowed()) _delay_us(40); + while (timeout-- && !Endpoint_IsReadWriteAllowed()) + _delay_us(40); if (!Endpoint_IsReadWriteAllowed()) return; /* If we're in Boot Protocol, don't send any report ID or other funky fields */ @@ -705,7 +712,8 @@ static void send_mouse(report_mouse_t *report) { Endpoint_SelectEndpoint(MOUSE_IN_EPNUM); /* Check if write ready for a polling interval around 10ms */ - while (timeout-- && !Endpoint_IsReadWriteAllowed()) _delay_us(40); + while (timeout-- && !Endpoint_IsReadWriteAllowed()) + _delay_us(40); if (!Endpoint_IsReadWriteAllowed()) return; /* Write Mouse Report Data */ @@ -725,7 +733,8 @@ static void send_report(void *report, size_t size) { Endpoint_SelectEndpoint(SHARED_IN_EPNUM); /* Check if write ready for a polling interval around 10ms */ - while (timeout-- && !Endpoint_IsReadWriteAllowed()) _delay_us(40); + while (timeout-- && !Endpoint_IsReadWriteAllowed()) + _delay_us(40); if (!Endpoint_IsReadWriteAllowed()) return; Endpoint_Write_Stream_LE(report, size, NULL); @@ -876,9 +885,13 @@ USB_ClassInfo_MIDI_Device_t USB_MIDI_Interface = { // clang-format on -void send_midi_packet(MIDI_EventPacket_t *event) { MIDI_Device_SendEventPacket(&USB_MIDI_Interface, event); } +void send_midi_packet(MIDI_EventPacket_t *event) { + MIDI_Device_SendEventPacket(&USB_MIDI_Interface, event); +} -bool recv_midi_packet(MIDI_EventPacket_t *const event) { return MIDI_Device_ReceiveEventPacket(&USB_MIDI_Interface, event); } +bool recv_midi_packet(MIDI_EventPacket_t *const event) { + return MIDI_Device_ReceiveEventPacket(&USB_MIDI_Interface, event); +} #endif @@ -934,7 +947,8 @@ void virtser_send(const uint8_t byte) { return; } - while (timeout-- && !Endpoint_IsReadWriteAllowed()) _delay_us(40); + while (timeout-- && !Endpoint_IsReadWriteAllowed()) + _delay_us(40); Endpoint_Write_8(byte); CDC_Device_Flush(&cdc_device); @@ -957,7 +971,8 @@ void send_digitizer(report_digitizer_t *report) { Endpoint_SelectEndpoint(DIGITIZER_IN_EPNUM); /* Check if write ready for a polling interval around 10ms */ - while (timeout-- && !Endpoint_IsReadWriteAllowed()) _delay_us(40); + while (timeout-- && !Endpoint_IsReadWriteAllowed()) + _delay_us(40); if (!Endpoint_IsReadWriteAllowed()) return; Endpoint_Write_Stream_LE(report, sizeof(report_digitizer_t), NULL); @@ -1033,7 +1048,9 @@ void protocol_pre_init(void) { #endif } -void protocol_post_init(void) { host_set_driver(&lufa_driver); } +void protocol_post_init(void) { + host_set_driver(&lufa_driver); +} void protocol_pre_task(void) { #if !defined(NO_USB_STARTUP_CHECK) @@ -1084,4 +1101,6 @@ void protocol_post_task(void) { #endif } -uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint16_t wIndex, const void **const DescriptorAddress) { return get_usb_descriptor(wValue, wIndex, DescriptorAddress); } +uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint16_t wIndex, const void **const DescriptorAddress) { + return get_usb_descriptor(wValue, wIndex, DescriptorAddress); +} diff --git a/tmk_core/protocol/lufa/usb_util.c b/tmk_core/protocol/lufa/usb_util.c index 9691eff1e4d2..2e3b86b80e68 100644 --- a/tmk_core/protocol/lufa/usb_util.c +++ b/tmk_core/protocol/lufa/usb_util.c @@ -22,13 +22,15 @@ void usb_disconnect(void) { USB_DeviceState = DEVICE_STATE_Unattached; } -bool usb_connected_state(void) { return USB_Device_IsAddressSet(); } +bool usb_connected_state(void) { + return USB_Device_IsAddressSet(); +} #if defined(OTGPADE) bool usb_vbus_state(void) { - USB_OTGPAD_On(); // enables VBUS pad + USB_OTGPAD_On(); // enables VBUS pad wait_us(5); - return USB_VBUS_GetStatus(); // checks state of VBUS + return USB_VBUS_GetStatus(); // checks state of VBUS } #endif diff --git a/tmk_core/protocol/midi/bytequeue/bytequeue.c b/tmk_core/protocol/midi/bytequeue/bytequeue.c index e36a9e66b1f9..0dd18680f0cb 100644 --- a/tmk_core/protocol/midi/bytequeue/bytequeue.c +++ b/tmk_core/protocol/midi/bytequeue/bytequeue.c @@ -52,7 +52,9 @@ byteQueueIndex_t bytequeue_length(byteQueue_t* queue) { } // we don't need to avoid interrupts if there is only one reader -uint8_t bytequeue_get(byteQueue_t* queue, byteQueueIndex_t index) { return queue->data[(queue->start + index) % queue->length]; } +uint8_t bytequeue_get(byteQueue_t* queue, byteQueueIndex_t index) { + return queue->data[(queue->start + index) % queue->length]; +} // we just update the start index to remove elements void bytequeue_remove(byteQueue_t* queue, byteQueueIndex_t numToRemove) { diff --git a/tmk_core/protocol/midi/bytequeue/interrupt_setting.c b/tmk_core/protocol/midi/bytequeue/interrupt_setting.c index 407cc65f4910..d9c003594663 100644 --- a/tmk_core/protocol/midi/bytequeue/interrupt_setting.c +++ b/tmk_core/protocol/midi/bytequeue/interrupt_setting.c @@ -30,7 +30,9 @@ interrupt_setting_t store_and_clear_interrupt(void) { return sreg; } -void restore_interrupt_setting(interrupt_setting_t setting) { SREG = setting; } +void restore_interrupt_setting(interrupt_setting_t setting) { + SREG = setting; +} #elif defined(__arm__) # include @@ -39,5 +41,7 @@ interrupt_setting_t store_and_clear_interrupt(void) { return 0; } -void restore_interrupt_setting(interrupt_setting_t setting) { chSysUnlock(); } +void restore_interrupt_setting(interrupt_setting_t setting) { + chSysUnlock(); +} #endif diff --git a/tmk_core/protocol/midi/midi.c b/tmk_core/protocol/midi/midi.c index 643c43722df2..f3792552f4b4 100644 --- a/tmk_core/protocol/midi/midi.c +++ b/tmk_core/protocol/midi/midi.c @@ -17,7 +17,7 @@ // along with avr-midi. If not, see . #include "midi.h" -#include //for memcpy +#include //for memcpy #define MIN(x, y) (((x) < (y)) ? (x) : (y)) @@ -25,9 +25,13 @@ # define NULL 0 #endif -bool midi_is_statusbyte(uint8_t theByte) { return (bool)(theByte & MIDI_STATUSMASK); } +bool midi_is_statusbyte(uint8_t theByte) { + return (bool)(theByte & MIDI_STATUSMASK); +} -bool midi_is_realtime(uint8_t theByte) { return (theByte >= MIDI_CLOCK); } +bool midi_is_realtime(uint8_t theByte) { + return (theByte >= MIDI_CLOCK); +} midi_packet_length_t midi_packet_length(uint8_t status) { switch (status & 0xF0) { @@ -83,7 +87,9 @@ void midi_send_noteoff(MidiDevice* device, uint8_t chan, uint8_t num, uint8_t ve device->send_func(device, 3, MIDI_NOTEOFF | (chan & MIDI_CHANMASK), num & 0x7F, vel & 0x7F); } -void midi_send_aftertouch(MidiDevice* device, uint8_t chan, uint8_t note_num, uint8_t amt) { device->send_func(device, 3, MIDI_AFTERTOUCH | (chan & MIDI_CHANMASK), note_num & 0x7F, amt & 0x7F); } +void midi_send_aftertouch(MidiDevice* device, uint8_t chan, uint8_t note_num, uint8_t amt) { + device->send_func(device, 3, MIDI_AFTERTOUCH | (chan & MIDI_CHANMASK), note_num & 0x7F, amt & 0x7F); +} // XXX does this work right? // amt in range -0x2000, 0x1fff @@ -102,34 +108,62 @@ void midi_send_pitchbend(MidiDevice* device, uint8_t chan, int16_t amt) { device->send_func(device, 3, MIDI_PITCHBEND | (chan & MIDI_CHANMASK), uAmt & 0x7F, (uAmt >> 7) & 0x7F); } -void midi_send_programchange(MidiDevice* device, uint8_t chan, uint8_t num) { device->send_func(device, 2, MIDI_PROGCHANGE | (chan & MIDI_CHANMASK), num & 0x7F, 0); } +void midi_send_programchange(MidiDevice* device, uint8_t chan, uint8_t num) { + device->send_func(device, 2, MIDI_PROGCHANGE | (chan & MIDI_CHANMASK), num & 0x7F, 0); +} -void midi_send_channelpressure(MidiDevice* device, uint8_t chan, uint8_t amt) { device->send_func(device, 2, MIDI_CHANPRESSURE | (chan & MIDI_CHANMASK), amt & 0x7F, 0); } +void midi_send_channelpressure(MidiDevice* device, uint8_t chan, uint8_t amt) { + device->send_func(device, 2, MIDI_CHANPRESSURE | (chan & MIDI_CHANMASK), amt & 0x7F, 0); +} -void midi_send_clock(MidiDevice* device) { device->send_func(device, 1, MIDI_CLOCK, 0, 0); } +void midi_send_clock(MidiDevice* device) { + device->send_func(device, 1, MIDI_CLOCK, 0, 0); +} -void midi_send_tick(MidiDevice* device) { device->send_func(device, 1, MIDI_TICK, 0, 0); } +void midi_send_tick(MidiDevice* device) { + device->send_func(device, 1, MIDI_TICK, 0, 0); +} -void midi_send_start(MidiDevice* device) { device->send_func(device, 1, MIDI_START, 0, 0); } +void midi_send_start(MidiDevice* device) { + device->send_func(device, 1, MIDI_START, 0, 0); +} -void midi_send_continue(MidiDevice* device) { device->send_func(device, 1, MIDI_CONTINUE, 0, 0); } +void midi_send_continue(MidiDevice* device) { + device->send_func(device, 1, MIDI_CONTINUE, 0, 0); +} -void midi_send_stop(MidiDevice* device) { device->send_func(device, 1, MIDI_STOP, 0, 0); } +void midi_send_stop(MidiDevice* device) { + device->send_func(device, 1, MIDI_STOP, 0, 0); +} -void midi_send_activesense(MidiDevice* device) { device->send_func(device, 1, MIDI_ACTIVESENSE, 0, 0); } +void midi_send_activesense(MidiDevice* device) { + device->send_func(device, 1, MIDI_ACTIVESENSE, 0, 0); +} -void midi_send_reset(MidiDevice* device) { device->send_func(device, 1, MIDI_RESET, 0, 0); } +void midi_send_reset(MidiDevice* device) { + device->send_func(device, 1, MIDI_RESET, 0, 0); +} -void midi_send_tcquarterframe(MidiDevice* device, uint8_t time) { device->send_func(device, 2, MIDI_TC_QUARTERFRAME, time & 0x7F, 0); } +void midi_send_tcquarterframe(MidiDevice* device, uint8_t time) { + device->send_func(device, 2, MIDI_TC_QUARTERFRAME, time & 0x7F, 0); +} // XXX is this right? -void midi_send_songposition(MidiDevice* device, uint16_t pos) { device->send_func(device, 3, MIDI_SONGPOSITION, pos & 0x7F, (pos >> 7) & 0x7F); } +void midi_send_songposition(MidiDevice* device, uint16_t pos) { + device->send_func(device, 3, MIDI_SONGPOSITION, pos & 0x7F, (pos >> 7) & 0x7F); +} -void midi_send_songselect(MidiDevice* device, uint8_t song) { device->send_func(device, 2, MIDI_SONGSELECT, song & 0x7F, 0); } +void midi_send_songselect(MidiDevice* device, uint8_t song) { + device->send_func(device, 2, MIDI_SONGSELECT, song & 0x7F, 0); +} -void midi_send_tunerequest(MidiDevice* device) { device->send_func(device, 1, MIDI_TUNEREQUEST, 0, 0); } +void midi_send_tunerequest(MidiDevice* device) { + device->send_func(device, 1, MIDI_TUNEREQUEST, 0, 0); +} -void midi_send_byte(MidiDevice* device, uint8_t b) { device->send_func(device, 1, b, 0, 0); } +void midi_send_byte(MidiDevice* device, uint8_t b) { + device->send_func(device, 1, b, 0, 0); +} void midi_send_data(MidiDevice* device, uint16_t count, uint8_t byte0, uint8_t byte1, uint8_t byte2) { // ensure that the count passed along is always 3 or lower @@ -150,32 +184,62 @@ void midi_send_array(MidiDevice* device, uint16_t count, uint8_t* array) { } } -void midi_register_cc_callback(MidiDevice* device, midi_three_byte_func_t func) { device->input_cc_callback = func; } +void midi_register_cc_callback(MidiDevice* device, midi_three_byte_func_t func) { + device->input_cc_callback = func; +} -void midi_register_noteon_callback(MidiDevice* device, midi_three_byte_func_t func) { device->input_noteon_callback = func; } +void midi_register_noteon_callback(MidiDevice* device, midi_three_byte_func_t func) { + device->input_noteon_callback = func; +} -void midi_register_noteoff_callback(MidiDevice* device, midi_three_byte_func_t func) { device->input_noteoff_callback = func; } +void midi_register_noteoff_callback(MidiDevice* device, midi_three_byte_func_t func) { + device->input_noteoff_callback = func; +} -void midi_register_aftertouch_callback(MidiDevice* device, midi_three_byte_func_t func) { device->input_aftertouch_callback = func; } +void midi_register_aftertouch_callback(MidiDevice* device, midi_three_byte_func_t func) { + device->input_aftertouch_callback = func; +} -void midi_register_pitchbend_callback(MidiDevice* device, midi_three_byte_func_t func) { device->input_pitchbend_callback = func; } +void midi_register_pitchbend_callback(MidiDevice* device, midi_three_byte_func_t func) { + device->input_pitchbend_callback = func; +} -void midi_register_songposition_callback(MidiDevice* device, midi_three_byte_func_t func) { device->input_songposition_callback = func; } +void midi_register_songposition_callback(MidiDevice* device, midi_three_byte_func_t func) { + device->input_songposition_callback = func; +} -void midi_register_progchange_callback(MidiDevice* device, midi_two_byte_func_t func) { device->input_progchange_callback = func; } +void midi_register_progchange_callback(MidiDevice* device, midi_two_byte_func_t func) { + device->input_progchange_callback = func; +} -void midi_register_chanpressure_callback(MidiDevice* device, midi_two_byte_func_t func) { device->input_chanpressure_callback = func; } +void midi_register_chanpressure_callback(MidiDevice* device, midi_two_byte_func_t func) { + device->input_chanpressure_callback = func; +} -void midi_register_songselect_callback(MidiDevice* device, midi_two_byte_func_t func) { device->input_songselect_callback = func; } +void midi_register_songselect_callback(MidiDevice* device, midi_two_byte_func_t func) { + device->input_songselect_callback = func; +} -void midi_register_tc_quarterframe_callback(MidiDevice* device, midi_two_byte_func_t func) { device->input_tc_quarterframe_callback = func; } +void midi_register_tc_quarterframe_callback(MidiDevice* device, midi_two_byte_func_t func) { + device->input_tc_quarterframe_callback = func; +} -void midi_register_realtime_callback(MidiDevice* device, midi_one_byte_func_t func) { device->input_realtime_callback = func; } +void midi_register_realtime_callback(MidiDevice* device, midi_one_byte_func_t func) { + device->input_realtime_callback = func; +} -void midi_register_tunerequest_callback(MidiDevice* device, midi_one_byte_func_t func) { device->input_tunerequest_callback = func; } +void midi_register_tunerequest_callback(MidiDevice* device, midi_one_byte_func_t func) { + device->input_tunerequest_callback = func; +} -void midi_register_sysex_callback(MidiDevice* device, midi_sysex_func_t func) { device->input_sysex_callback = func; } +void midi_register_sysex_callback(MidiDevice* device, midi_sysex_func_t func) { + device->input_sysex_callback = func; +} -void midi_register_fallthrough_callback(MidiDevice* device, midi_var_byte_func_t func) { device->input_fallthrough_callback = func; } +void midi_register_fallthrough_callback(MidiDevice* device, midi_var_byte_func_t func) { + device->input_fallthrough_callback = func; +} -void midi_register_catchall_callback(MidiDevice* device, midi_var_byte_func_t func) { device->input_catchall_callback = func; } +void midi_register_catchall_callback(MidiDevice* device, midi_var_byte_func_t func) { + device->input_catchall_callback = func; +} diff --git a/tmk_core/protocol/midi/midi.h b/tmk_core/protocol/midi/midi.h index 75f3b13b0bf5..34547077e49e 100644 --- a/tmk_core/protocol/midi/midi.h +++ b/tmk_core/protocol/midi/midi.h @@ -48,7 +48,7 @@ extern "C" { * * @param device the device to initialize */ -void midi_device_init(MidiDevice* device); // [implementation in midi_device.c] +void midi_device_init(MidiDevice* device); // [implementation in midi_device.c] /** * @brief Process input data @@ -58,7 +58,7 @@ void midi_device_init(MidiDevice* device); // [implementation in midi_device.c] * * @param device the device to process */ -void midi_device_process(MidiDevice* device); // [implementation in midi_device.c] +void midi_device_process(MidiDevice* device); // [implementation in midi_device.c] /**@}*/ @@ -115,7 +115,7 @@ void midi_send_aftertouch(MidiDevice* device, uint8_t chan, uint8_t note_num, ui * @param chan the channel to send on, 0-15 * @param amt the bend amount range: -8192..8191, 0 means no bend */ -void midi_send_pitchbend(MidiDevice* device, uint8_t chan, int16_t amt); // range -8192, 8191 +void midi_send_pitchbend(MidiDevice* device, uint8_t chan, int16_t amt); // range -8192, 8191 /** * @brief Send a program change message via the given device. diff --git a/tmk_core/protocol/midi/midi_device.c b/tmk_core/protocol/midi/midi_device.c index 58fe685e2d37..77c010b15623 100644 --- a/tmk_core/protocol/midi/midi_device.c +++ b/tmk_core/protocol/midi/midi_device.c @@ -60,12 +60,17 @@ void midi_device_init(MidiDevice* device) { void midi_device_input(MidiDevice* device, uint8_t cnt, uint8_t* input) { uint8_t i; - for (i = 0; i < cnt; i++) bytequeue_enqueue(&device->input_queue, input[i]); + for (i = 0; i < cnt; i++) + bytequeue_enqueue(&device->input_queue, input[i]); } -void midi_device_set_send_func(MidiDevice* device, midi_var_byte_func_t send_func) { device->send_func = send_func; } +void midi_device_set_send_func(MidiDevice* device, midi_var_byte_func_t send_func) { + device->send_func = send_func; +} -void midi_device_set_pre_input_process_func(MidiDevice* device, midi_no_byte_func_t pre_process_func) { device->pre_input_process_callback = pre_process_func; } +void midi_device_set_pre_input_process_func(MidiDevice* device, midi_no_byte_func_t pre_process_func) { + device->pre_input_process_callback = pre_process_func; +} void midi_device_process(MidiDevice* device) { // call the pre_input_process_callback if there is one diff --git a/tmk_core/protocol/midi/qmk_midi.c b/tmk_core/protocol/midi/qmk_midi.c index 3a454d61ae8e..f6a5d9228124 100644 --- a/tmk_core/protocol/midi/qmk_midi.c +++ b/tmk_core/protocol/midi/qmk_midi.c @@ -50,7 +50,7 @@ static void usb_send_func(MidiDevice* device, uint16_t cnt, uint8_t byte0, uint8 event.Event = MIDI_EVENT(cable, SYSEX_START_OR_CONT); break; default: - return; // invalid cnt + return; // invalid cnt } } else { // deal with 'system common' messages diff --git a/tmk_core/protocol/midi/sysex_tools.c b/tmk_core/protocol/midi/sysex_tools.c index 84bca7215819..c9a9d0328502 100644 --- a/tmk_core/protocol/midi/sysex_tools.c +++ b/tmk_core/protocol/midi/sysex_tools.c @@ -35,7 +35,7 @@ uint16_t sysex_decoded_length(uint16_t encoded_length) { } uint16_t sysex_encode(uint8_t *encoded, const uint8_t *source, const uint16_t length) { - uint16_t encoded_full = length / 7; // number of full 8 byte sections from 7 bytes of input + uint16_t encoded_full = length / 7; // number of full 8 byte sections from 7 bytes of input uint16_t i, j; // fill out the fully encoded sections diff --git a/tmk_core/protocol/usb_descriptor.h b/tmk_core/protocol/usb_descriptor.h index 0f0c78f66c40..6c3424145ce5 100644 --- a/tmk_core/protocol/usb_descriptor.h +++ b/tmk_core/protocol/usb_descriptor.h @@ -200,7 +200,7 @@ enum usb_interfaces { * Endpoint numbers */ enum usb_endpoints { - __unused_epnum__ = NEXT_EPNUM, // Endpoint numbering starts at 1 + __unused_epnum__ = NEXT_EPNUM, // Endpoint numbering starts at 1 #ifndef KEYBOARD_SHARED_EP KEYBOARD_IN_EPNUM = NEXT_EPNUM, diff --git a/tmk_core/protocol/usb_device_state.c b/tmk_core/protocol/usb_device_state.c index 84f01943be4c..8d56ba4d2f94 100644 --- a/tmk_core/protocol/usb_device_state.c +++ b/tmk_core/protocol/usb_device_state.c @@ -22,7 +22,9 @@ enum usb_device_state usb_device_state = USB_DEVICE_STATE_NO_INIT; -__attribute__((weak)) void notify_usb_device_state_change_kb(enum usb_device_state usb_device_state) { notify_usb_device_state_change_user(usb_device_state); } +__attribute__((weak)) void notify_usb_device_state_change_kb(enum usb_device_state usb_device_state) { + notify_usb_device_state_change_user(usb_device_state); +} __attribute__((weak)) void notify_usb_device_state_change_user(enum usb_device_state usb_device_state) {} diff --git a/tmk_core/protocol/usb_device_state.h b/tmk_core/protocol/usb_device_state.h index c229311d4673..3be65ea7e15e 100644 --- a/tmk_core/protocol/usb_device_state.h +++ b/tmk_core/protocol/usb_device_state.h @@ -27,10 +27,10 @@ void usb_device_state_set_reset(void); void usb_device_state_init(void); enum usb_device_state { - USB_DEVICE_STATE_NO_INIT = 0, // We're in this state before calling usb_device_state_init() - USB_DEVICE_STATE_INIT = 1, // Can consume up to 100mA - USB_DEVICE_STATE_CONFIGURED = 2, // Can consume up to what is specified in configuration descriptor, typically 500mA - USB_DEVICE_STATE_SUSPEND = 3 // Can consume only suspend current + USB_DEVICE_STATE_NO_INIT = 0, // We're in this state before calling usb_device_state_init() + USB_DEVICE_STATE_INIT = 1, // Can consume up to 100mA + USB_DEVICE_STATE_CONFIGURED = 2, // Can consume up to what is specified in configuration descriptor, typically 500mA + USB_DEVICE_STATE_SUSPEND = 3 // Can consume only suspend current }; extern enum usb_device_state usb_device_state; diff --git a/tmk_core/protocol/usb_util.c b/tmk_core/protocol/usb_util.c index dd1deeaa1123..49aadedc2af9 100644 --- a/tmk_core/protocol/usb_util.c +++ b/tmk_core/protocol/usb_util.c @@ -17,7 +17,9 @@ #include "usb_util.h" __attribute__((weak)) void usb_disconnect(void) {} -__attribute__((weak)) bool usb_connected_state(void) { return true; } +__attribute__((weak)) bool usb_connected_state(void) { + return true; +} __attribute__((weak)) bool usb_vbus_state(void) { #ifdef USB_VBUS_PIN setPinInput(USB_VBUS_PIN); diff --git a/tmk_core/protocol/vusb/protocol.c b/tmk_core/protocol/vusb/protocol.c index 644e77e021a4..20d053048364 100644 --- a/tmk_core/protocol/vusb/protocol.c +++ b/tmk_core/protocol/vusb/protocol.c @@ -97,7 +97,9 @@ static void vusb_wakeup(void) { * * FIXME: Needs doc */ -static void setup_usb(void) { initForUsbConnectivity(); } +static void setup_usb(void) { + initForUsbConnectivity(); +} uint16_t sof_timer = 0; diff --git a/tmk_core/protocol/vusb/usb_util.c b/tmk_core/protocol/vusb/usb_util.c index 4ee2d3188b32..38c4352d5541 100644 --- a/tmk_core/protocol/vusb/usb_util.c +++ b/tmk_core/protocol/vusb/usb_util.c @@ -16,7 +16,9 @@ #include #include "usb_util.h" -void usb_disconnect(void) { usbDeviceDisconnect(); } +void usb_disconnect(void) { + usbDeviceDisconnect(); +} bool usb_connected_state(void) { usbPoll(); diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index 8bdcccc9c9da..ebde955d3b4d 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -230,9 +230,13 @@ static void send_programmable_button(uint32_t data); static host_driver_t driver = {keyboard_leds, send_keyboard, send_mouse, send_system, send_consumer, send_programmable_button}; -host_driver_t *vusb_driver(void) { return &driver; } +host_driver_t *vusb_driver(void) { + return &driver; +} -static uint8_t keyboard_leds(void) { return keyboard_led_state; } +static uint8_t keyboard_leds(void) { + return keyboard_led_state; +} static void send_keyboard(report_keyboard_t *report) { uint8_t next = (kbuf_head + 1) % KBUF_SIZE; @@ -348,7 +352,7 @@ usbMsgLen_t usbFunctionSetup(uchar data[8]) { last_req.kind = SET_LED; last_req.len = rq->wLength.word; } - return USB_NO_MSG; // to get data in usbFunctionWrite + return USB_NO_MSG; // to get data in usbFunctionWrite } else { dprint("UNKNOWN:"); } @@ -410,47 +414,47 @@ const PROGMEM uchar shared_hid_report[] = { #else const PROGMEM uchar keyboard_hid_report[] = { #endif - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x06, // Usage (Keyboard) - 0xA1, 0x01, // Collection (Application) + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x06, // Usage (Keyboard) + 0xA1, 0x01, // Collection (Application) #ifdef KEYBOARD_SHARED_EP - 0x85, REPORT_ID_KEYBOARD, // Report ID + 0x85, REPORT_ID_KEYBOARD, // Report ID #endif // Modifiers (8 bits) - 0x05, 0x07, // Usage Page (Keyboard/Keypad) - 0x19, 0xE0, // Usage Minimum (Keyboard Left Control) - 0x29, 0xE7, // Usage Maximum (Keyboard Right GUI) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x95, 0x08, // Report Count (8) - 0x75, 0x01, // Report Size (1) - 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x05, 0x07, // Usage Page (Keyboard/Keypad) + 0x19, 0xE0, // Usage Minimum (Keyboard Left Control) + 0x29, 0xE7, // Usage Maximum (Keyboard Right GUI) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x08, // Report Count (8) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data, Variable, Absolute) // Reserved (1 byte) - 0x95, 0x01, // Report Count (1) - 0x75, 0x08, // Report Size (8) - 0x81, 0x03, // Input (Constant) + 0x95, 0x01, // Report Count (1) + 0x75, 0x08, // Report Size (8) + 0x81, 0x03, // Input (Constant) // Keycodes (6 bytes) - 0x05, 0x07, // Usage Page (Keyboard/Keypad) - 0x19, 0x00, // Usage Minimum (0) - 0x29, 0xFF, // Usage Maximum (255) - 0x15, 0x00, // Logical Minimum (0) - 0x26, 0xFF, 0x00, // Logical Maximum (255) - 0x95, 0x06, // Report Count (6) - 0x75, 0x08, // Report Size (8) - 0x81, 0x00, // Input (Data, Array, Absolute) + 0x05, 0x07, // Usage Page (Keyboard/Keypad) + 0x19, 0x00, // Usage Minimum (0) + 0x29, 0xFF, // Usage Maximum (255) + 0x15, 0x00, // Logical Minimum (0) + 0x26, 0xFF, 0x00, // Logical Maximum (255) + 0x95, 0x06, // Report Count (6) + 0x75, 0x08, // Report Size (8) + 0x81, 0x00, // Input (Data, Array, Absolute) // Status LEDs (5 bits) - 0x05, 0x08, // Usage Page (LED) - 0x19, 0x01, // Usage Minimum (Num Lock) - 0x29, 0x05, // Usage Maximum (Kana) - 0x95, 0x05, // Report Count (5) - 0x75, 0x01, // Report Size (1) - 0x91, 0x02, // Output (Data, Variable, Absolute) + 0x05, 0x08, // Usage Page (LED) + 0x19, 0x01, // Usage Minimum (Num Lock) + 0x29, 0x05, // Usage Maximum (Kana) + 0x95, 0x05, // Report Count (5) + 0x75, 0x01, // Report Size (1) + 0x91, 0x02, // Output (Data, Variable, Absolute) // LED padding (3 bits) - 0x95, 0x01, // Report Count (1) - 0x75, 0x03, // Report Size (3) - 0x91, 0x03, // Output (Constant) - 0xC0, // End Collection + 0x95, 0x01, // Report Count (1) + 0x75, 0x03, // Report Size (3) + 0x91, 0x03, // Output (Constant) + 0xC0, // End Collection #ifndef KEYBOARD_SHARED_EP }; #endif @@ -462,135 +466,135 @@ const PROGMEM uchar shared_hid_report[] = { #ifdef MOUSE_ENABLE // Mouse report descriptor - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x02, // Usage (Mouse) - 0xA1, 0x01, // Collection (Application) - 0x85, REPORT_ID_MOUSE, // Report ID - 0x09, 0x01, // Usage (Pointer) - 0xA1, 0x00, // Collection (Physical) + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x02, // Usage (Mouse) + 0xA1, 0x01, // Collection (Application) + 0x85, REPORT_ID_MOUSE, // Report ID + 0x09, 0x01, // Usage (Pointer) + 0xA1, 0x00, // Collection (Physical) // Buttons (8 bits) - 0x05, 0x09, // Usage Page (Button) - 0x19, 0x01, // Usage Minimum (Button 1) - 0x29, 0x08, // Usage Maximum (Button 8) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x95, 0x08, // Report Count (8) - 0x75, 0x01, // Report Size (1) - 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x05, 0x09, // Usage Page (Button) + 0x19, 0x01, // Usage Minimum (Button 1) + 0x29, 0x08, // Usage Maximum (Button 8) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x08, // Report Count (8) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data, Variable, Absolute) // X/Y position (2 bytes) - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x30, // Usage (X) - 0x09, 0x31, // Usage (Y) - 0x15, 0x81, // Logical Minimum (-127) - 0x25, 0x7F, // Logical Maximum (127) - 0x95, 0x02, // Report Count (2) - 0x75, 0x08, // Report Size (8) - 0x81, 0x06, // Input (Data, Variable, Relative) + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x30, // Usage (X) + 0x09, 0x31, // Usage (Y) + 0x15, 0x81, // Logical Minimum (-127) + 0x25, 0x7F, // Logical Maximum (127) + 0x95, 0x02, // Report Count (2) + 0x75, 0x08, // Report Size (8) + 0x81, 0x06, // Input (Data, Variable, Relative) // Vertical wheel (1 byte) - 0x09, 0x38, // Usage (Wheel) - 0x15, 0x81, // Logical Minimum (-127) - 0x25, 0x7F, // Logical Maximum (127) - 0x95, 0x01, // Report Count (1) - 0x75, 0x08, // Report Size (8) - 0x81, 0x06, // Input (Data, Variable, Relative) + 0x09, 0x38, // Usage (Wheel) + 0x15, 0x81, // Logical Minimum (-127) + 0x25, 0x7F, // Logical Maximum (127) + 0x95, 0x01, // Report Count (1) + 0x75, 0x08, // Report Size (8) + 0x81, 0x06, // Input (Data, Variable, Relative) // Horizontal wheel (1 byte) - 0x05, 0x0C, // Usage Page (Consumer) - 0x0A, 0x38, 0x02, // Usage (AC Pan) - 0x15, 0x81, // Logical Minimum (-127) - 0x25, 0x7F, // Logical Maximum (127) - 0x95, 0x01, // Report Count (1) - 0x75, 0x08, // Report Size (8) - 0x81, 0x06, // Input (Data, Variable, Relative) - 0xC0, // End Collection - 0xC0, // End Collection + 0x05, 0x0C, // Usage Page (Consumer) + 0x0A, 0x38, 0x02, // Usage (AC Pan) + 0x15, 0x81, // Logical Minimum (-127) + 0x25, 0x7F, // Logical Maximum (127) + 0x95, 0x01, // Report Count (1) + 0x75, 0x08, // Report Size (8) + 0x81, 0x06, // Input (Data, Variable, Relative) + 0xC0, // End Collection + 0xC0, // End Collection #endif #ifdef EXTRAKEY_ENABLE // Extrakeys report descriptor - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x80, // Usage (System Control) - 0xA1, 0x01, // Collection (Application) - 0x85, REPORT_ID_SYSTEM, // Report ID - 0x19, 0x01, // Usage Minimum (Pointer) - 0x2A, 0xB7, 0x00, // Usage Maximum (System Display LCD Autoscale) - 0x15, 0x01, // Logical Minimum - 0x26, 0xB7, 0x00, // Logical Maximum - 0x95, 0x01, // Report Count (1) - 0x75, 0x10, // Report Size (16) - 0x81, 0x00, // Input (Data, Array, Absolute) - 0xC0, // End Collection - - 0x05, 0x0C, // Usage Page (Consumer) - 0x09, 0x01, // Usage (Consumer Control) - 0xA1, 0x01, // Collection (Application) - 0x85, REPORT_ID_CONSUMER, // Report ID - 0x19, 0x01, // Usage Minimum (Consumer Control) - 0x2A, 0xA0, 0x02, // Usage Maximum (AC Desktop Show All Applications) - 0x15, 0x01, // Logical Minimum - 0x26, 0xA0, 0x02, // Logical Maximum - 0x95, 0x01, // Report Count (1) - 0x75, 0x10, // Report Size (16) - 0x81, 0x00, // Input (Data, Array, Absolute) - 0xC0, // End Collection + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x80, // Usage (System Control) + 0xA1, 0x01, // Collection (Application) + 0x85, REPORT_ID_SYSTEM, // Report ID + 0x19, 0x01, // Usage Minimum (Pointer) + 0x2A, 0xB7, 0x00, // Usage Maximum (System Display LCD Autoscale) + 0x15, 0x01, // Logical Minimum + 0x26, 0xB7, 0x00, // Logical Maximum + 0x95, 0x01, // Report Count (1) + 0x75, 0x10, // Report Size (16) + 0x81, 0x00, // Input (Data, Array, Absolute) + 0xC0, // End Collection + + 0x05, 0x0C, // Usage Page (Consumer) + 0x09, 0x01, // Usage (Consumer Control) + 0xA1, 0x01, // Collection (Application) + 0x85, REPORT_ID_CONSUMER, // Report ID + 0x19, 0x01, // Usage Minimum (Consumer Control) + 0x2A, 0xA0, 0x02, // Usage Maximum (AC Desktop Show All Applications) + 0x15, 0x01, // Logical Minimum + 0x26, 0xA0, 0x02, // Logical Maximum + 0x95, 0x01, // Report Count (1) + 0x75, 0x10, // Report Size (16) + 0x81, 0x00, // Input (Data, Array, Absolute) + 0xC0, // End Collection #endif #ifdef DIGITIZER_ENABLE // Digitizer report descriptor - 0x05, 0x0D, // Usage Page (Digitizers) - 0x09, 0x01, // Usage (Digitizer) - 0xA1, 0x01, // Collection (Application) - 0x85, REPORT_ID_DIGITIZER, // Report ID - 0x09, 0x22, // Usage (Finger) - 0xA1, 0x00, // Collection (Physical) + 0x05, 0x0D, // Usage Page (Digitizers) + 0x09, 0x01, // Usage (Digitizer) + 0xA1, 0x01, // Collection (Application) + 0x85, REPORT_ID_DIGITIZER, // Report ID + 0x09, 0x22, // Usage (Finger) + 0xA1, 0x00, // Collection (Physical) // Tip Switch (1 bit) - 0x09, 0x42, // Usage (Tip Switch) - 0x15, 0x00, // Logical Minimum - 0x25, 0x01, // Logical Maximum - 0x95, 0x01, // Report Count (1) - 0x75, 0x01, // Report Size (16) - 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x09, 0x42, // Usage (Tip Switch) + 0x15, 0x00, // Logical Minimum + 0x25, 0x01, // Logical Maximum + 0x95, 0x01, // Report Count (1) + 0x75, 0x01, // Report Size (16) + 0x81, 0x02, // Input (Data, Variable, Absolute) // In Range (1 bit) - 0x09, 0x32, // Usage (In Range) - 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x09, 0x32, // Usage (In Range) + 0x81, 0x02, // Input (Data, Variable, Absolute) // Padding (6 bits) - 0x95, 0x06, // Report Count (6) - 0x81, 0x03, // Input (Constant) + 0x95, 0x06, // Report Count (6) + 0x81, 0x03, // Input (Constant) // X/Y Position (4 bytes) - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x26, 0xFF, 0x7F, // Logical Maximum (32767) - 0x95, 0x01, // Report Count (1) - 0x75, 0x10, // Report Size (16) - 0x65, 0x33, // Unit (Inch, English Linear) - 0x55, 0x0E, // Unit Exponent (-2) - 0x09, 0x30, // Usage (X) - 0x81, 0x02, // Input (Data, Variable, Absolute) - 0x09, 0x31, // Usage (Y) - 0x81, 0x02, // Input (Data, Variable, Absolute) - 0xC0, // End Collection - 0xC0, // End Collection + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x26, 0xFF, 0x7F, // Logical Maximum (32767) + 0x95, 0x01, // Report Count (1) + 0x75, 0x10, // Report Size (16) + 0x65, 0x33, // Unit (Inch, English Linear) + 0x55, 0x0E, // Unit Exponent (-2) + 0x09, 0x30, // Usage (X) + 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x09, 0x31, // Usage (Y) + 0x81, 0x02, // Input (Data, Variable, Absolute) + 0xC0, // End Collection + 0xC0, // End Collection #endif #ifdef PROGRAMMABLE_BUTTON_ENABLE // Programmable buttons report descriptor - 0x05, 0x0C, // Usage Page (Consumer) - 0x09, 0x01, // Usage (Consumer Control) - 0xA1, 0x01, // Collection (Application) - 0x85, REPORT_ID_PROGRAMMABLE_BUTTON, // Report ID - 0x09, 0x03, // Usage (Programmable Buttons) - 0xA1, 0x04, // Collection (Named Array) - 0x05, 0x09, // Usage Page (Button) - 0x19, 0x01, // Usage Minimum (Button 1) - 0x29, 0x20, // Usage Maximum (Button 32) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x95, 0x20, // Report Count (32) - 0x75, 0x01, // Report Size (1) - 0x81, 0x02, // Input (Data, Variable, Absolute) - 0xC0, // End Collection - 0xC0, // End Collection + 0x05, 0x0C, // Usage Page (Consumer) + 0x09, 0x01, // Usage (Consumer Control) + 0xA1, 0x01, // Collection (Application) + 0x85, REPORT_ID_PROGRAMMABLE_BUTTON, // Report ID + 0x09, 0x03, // Usage (Programmable Buttons) + 0xA1, 0x04, // Collection (Named Array) + 0x05, 0x09, // Usage Page (Button) + 0x19, 0x01, // Usage Minimum (Button 1) + 0x29, 0x20, // Usage Maximum (Button 32) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x20, // Report Count (32) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data, Variable, Absolute) + 0xC0, // End Collection + 0xC0, // End Collection #endif #ifdef SHARED_EP_ENABLE @@ -599,47 +603,47 @@ const PROGMEM uchar shared_hid_report[] = { #ifdef RAW_ENABLE const PROGMEM uchar raw_hid_report[] = { - 0x06, RAW_USAGE_PAGE_LO, RAW_USAGE_PAGE_HI, // Usage Page (Vendor Defined) - 0x09, RAW_USAGE_ID, // Usage (Vendor Defined) - 0xA1, 0x01, // Collection (Application) + 0x06, RAW_USAGE_PAGE_LO, RAW_USAGE_PAGE_HI, // Usage Page (Vendor Defined) + 0x09, RAW_USAGE_ID, // Usage (Vendor Defined) + 0xA1, 0x01, // Collection (Application) // Data to host - 0x09, 0x62, // Usage (Vendor Defined) - 0x15, 0x00, // Logical Minimum (0) - 0x26, 0xFF, 0x00, // Logical Maximum (255) - 0x95, RAW_BUFFER_SIZE, // Report Count - 0x75, 0x08, // Report Size (8) - 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x09, 0x62, // Usage (Vendor Defined) + 0x15, 0x00, // Logical Minimum (0) + 0x26, 0xFF, 0x00, // Logical Maximum (255) + 0x95, RAW_BUFFER_SIZE, // Report Count + 0x75, 0x08, // Report Size (8) + 0x81, 0x02, // Input (Data, Variable, Absolute) // Data from host - 0x09, 0x63, // Usage (Vendor Defined) - 0x15, 0x00, // Logical Minimum (0) - 0x26, 0xFF, 0x00, // Logical Maximum (255) - 0x95, RAW_BUFFER_SIZE, // Report Count - 0x75, 0x08, // Report Size (8) - 0x91, 0x02, // Output (Data, Variable, Absolute) - 0xC0 // End Collection + 0x09, 0x63, // Usage (Vendor Defined) + 0x15, 0x00, // Logical Minimum (0) + 0x26, 0xFF, 0x00, // Logical Maximum (255) + 0x95, RAW_BUFFER_SIZE, // Report Count + 0x75, 0x08, // Report Size (8) + 0x91, 0x02, // Output (Data, Variable, Absolute) + 0xC0 // End Collection }; #endif #if defined(CONSOLE_ENABLE) const PROGMEM uchar console_hid_report[] = { - 0x06, 0x31, 0xFF, // Usage Page (Vendor Defined - PJRC Teensy compatible) - 0x09, 0x74, // Usage (Vendor Defined - PJRC Teensy compatible) - 0xA1, 0x01, // Collection (Application) + 0x06, 0x31, 0xFF, // Usage Page (Vendor Defined - PJRC Teensy compatible) + 0x09, 0x74, // Usage (Vendor Defined - PJRC Teensy compatible) + 0xA1, 0x01, // Collection (Application) // Data to host - 0x09, 0x75, // Usage (Vendor Defined) - 0x15, 0x00, // Logical Minimum (0x00) - 0x26, 0xFF, 0x00, // Logical Maximum (0x00FF) - 0x95, CONSOLE_BUFFER_SIZE, // Report Count - 0x75, 0x08, // Report Size (8) - 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x09, 0x75, // Usage (Vendor Defined) + 0x15, 0x00, // Logical Minimum (0x00) + 0x26, 0xFF, 0x00, // Logical Maximum (0x00FF) + 0x95, CONSOLE_BUFFER_SIZE, // Report Count + 0x75, 0x08, // Report Size (8) + 0x81, 0x02, // Input (Data, Variable, Absolute) // Data from host - 0x09, 0x76, // Usage (Vendor Defined) - 0x15, 0x00, // Logical Minimum (0x00) - 0x26, 0xFF, 0x00, // Logical Maximum (0x00FF) - 0x95, CONSOLE_BUFFER_SIZE, // Report Count - 0x75, 0x08, // Report Size (8) - 0x91, 0x02, // Output (Data) - 0xC0 // End Collection + 0x09, 0x76, // Usage (Vendor Defined) + 0x15, 0x00, // Logical Minimum (0x00) + 0x26, 0xFF, 0x00, // Logical Maximum (0x00FF) + 0x95, CONSOLE_BUFFER_SIZE, // Report Count + 0x75, 0x08, // Report Size (8) + 0x91, 0x02, // Output (Data) + 0xC0 // End Collection }; #endif @@ -939,16 +943,16 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) { usbMsgPtr = (usbMsgPtr_t)&usbStringDescriptorZero; len = usbStringDescriptorZero.header.bLength; break; - case 1: // iManufacturer + case 1: // iManufacturer usbMsgPtr = (usbMsgPtr_t)&usbStringDescriptorManufacturer; len = usbStringDescriptorManufacturer.header.bLength; break; - case 2: // iProduct + case 2: // iProduct usbMsgPtr = (usbMsgPtr_t)&usbStringDescriptorProduct; len = usbStringDescriptorProduct.header.bLength; break; #if defined(SERIAL_NUMBER) - case 3: // iSerialNumber + case 3: // iSerialNumber usbMsgPtr = (usbMsgPtr_t)&usbStringDescriptorSerial; len = usbStringDescriptorSerial.header.bLength; break; From 4fd04b23714ebfaa9aae75f8ebc4c33b90941aba Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 13 Feb 2022 20:44:44 +0000 Subject: [PATCH 0215/1832] Fix compilation of ChibiOS UART driver (#16348) Cherry picked fix from 15724 --- platforms/chibios/drivers/uart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/chibios/drivers/uart.c b/platforms/chibios/drivers/uart.c index dbe991efa35e..4884d7024f68 100644 --- a/platforms/chibios/drivers/uart.c +++ b/platforms/chibios/drivers/uart.c @@ -44,7 +44,7 @@ void uart_init(uint32_t baud) { } void uart_write(uint8_t data) { - sdPut(&SERIAL_DRIVER, c); + sdPut(&SERIAL_DRIVER, data); } uint8_t uart_read(void) { From 23c238a1807c3e8c3bdd4eb432506a1469640df5 Mon Sep 17 00:00:00 2001 From: Erovia Date: Mon, 14 Feb 2022 11:02:35 +0000 Subject: [PATCH 0216/1832] CLI: Minor additions #12795 (#16276) --- lib/python/qmk/cli/new/keyboard.py | 89 +++++++++++++----------------- lib/python/qmk/constants.py | 39 +++++++++++++ 2 files changed, 76 insertions(+), 52 deletions(-) diff --git a/lib/python/qmk/cli/new/keyboard.py b/lib/python/qmk/cli/new/keyboard.py index 59e781a932e3..8596994d385a 100644 --- a/lib/python/qmk/cli/new/keyboard.py +++ b/lib/python/qmk/cli/new/keyboard.py @@ -15,48 +15,11 @@ from qmk.path import keyboard from qmk.json_encoders import InfoJSONEncoder from qmk.json_schema import deep_update +from qmk.constants import MCU2BOOTLOADER COMMUNITY = Path('layouts/default/') TEMPLATE = Path('data/templates/keyboard/') -MCU2BOOTLOADER = { - "MKL26Z64": "halfkay", - "MK20DX128": "halfkay", - "MK20DX256": "halfkay", - "MK66FX1M0": "halfkay", - "STM32F042": "stm32-dfu", - "STM32F072": "stm32-dfu", - "STM32F103": "stm32duino", - "STM32F303": "stm32-dfu", - "STM32F401": "stm32-dfu", - "STM32F405": "stm32-dfu", - "STM32F407": "stm32-dfu", - "STM32F411": "stm32-dfu", - "STM32F446": "stm32-dfu", - "STM32G431": "stm32-dfu", - "STM32G474": "stm32-dfu", - "STM32L412": "stm32-dfu", - "STM32L422": "stm32-dfu", - "STM32L432": "stm32-dfu", - "STM32L433": "stm32-dfu", - "STM32L442": "stm32-dfu", - "STM32L443": "stm32-dfu", - "GD32VF103": "gd32v-dfu", - "WB32F3G71": "wb32-dfu", - "atmega16u2": "atmel-dfu", - "atmega32u2": "atmel-dfu", - "atmega16u4": "atmel-dfu", - "atmega32u4": "atmel-dfu", - "at90usb162": "atmel-dfu", - "at90usb646": "atmel-dfu", - "at90usb647": "atmel-dfu", - "at90usb1286": "atmel-dfu", - "at90usb1287": "atmel-dfu", - "atmega32a": "bootloadhid", - "atmega328p": "usbasploader", - "atmega328": "usbasploader", -} - # defaults schema = dotty(load_jsonschema('keyboard')) mcu_types = sorted(schema["properties.processor.enum"], key=str.casefold) @@ -141,20 +104,42 @@ def augment_community_info(src, dest): dest.write_text(json.dumps(info, cls=InfoJSONEncoder)) +def _question(*args, **kwargs): + """Ugly workaround until 'milc' learns to display a repromt msg + """ + # TODO: Remove this once milc.questions.question handles reprompt messages + + reprompt = kwargs["reprompt"] + del kwargs["reprompt"] + validate = kwargs["validate"] + del kwargs["validate"] + + prompt = args[0] + ret = None + while not ret: + ret = question(prompt, **kwargs) + if not validate(ret): + ret = None + prompt = reprompt + + return ret + + def prompt_keyboard(): prompt = """{fg_yellow}Name Your Keyboard Project{style_reset_all} - For more infomation, see: https://docs.qmk.fm/#/hardware_keyboard_guidelines?id=naming-your-keyboardproject -keyboard Name? """ +Keyboard Name? """ - return question(prompt, validate=lambda x: not keyboard(x).exists()) + errmsg = 'Keyboard already exists! Please choose a different name:' + return _question(prompt, reprompt=errmsg, validate=lambda x: not keyboard(x).exists()) -def prompt_user(): - prompt = """{fg_yellow}Attribution{style_reset_all} +def prompt_user(): + prompt = """ +{fg_yellow}Attribution{style_reset_all} Used for maintainer, copyright, etc Your GitHub Username? """ @@ -162,8 +147,8 @@ def prompt_user(): def prompt_name(def_name): - prompt = """{fg_yellow}More Attribution{style_reset_all} - + prompt = """ +{fg_yellow}More Attribution{style_reset_all} Used for maintainer, copyright, etc Your Real Name? """ @@ -171,8 +156,8 @@ def prompt_name(def_name): def prompt_layout(): - prompt = """{fg_yellow}Pick Base Layout{style_reset_all} - + prompt = """ +{fg_yellow}Pick Base Layout{style_reset_all} As a starting point, one of the common layouts can be used to bootstrap the process Default Layout? """ @@ -184,8 +169,8 @@ def prompt_layout(): def prompt_mcu(): - prompt = """{fg_yellow}What Powers Your Project{style_reset_all} - + prompt = """ +{fg_yellow}What Powers Your Project{style_reset_all} For more infomation, see: https://docs.qmk.fm/#/compatible_microcontrollers @@ -199,7 +184,7 @@ def prompt_mcu(): @cli.argument('-kb', '--keyboard', help='Specify the name for the new keyboard directory', arg_only=True, type=keyboard_name) @cli.argument('-l', '--layout', help='Community layout to bootstrap with', arg_only=True, type=layout_type) @cli.argument('-t', '--type', help='Specify the keyboard MCU type', arg_only=True, type=mcu_type) -@cli.argument('-u', '--username', help='Specify your username (default from Git config)', arg_only=True) +@cli.argument('-u', '--username', help='Specify your username (default from Git config)', dest='name') @cli.argument('-n', '--realname', help='Specify your real name if you want to use that. Defaults to username', arg_only=True) @cli.subcommand('Creates a new keyboard directory') def new_keyboard(cli): @@ -209,8 +194,8 @@ def new_keyboard(cli): cli.echo('') kb_name = cli.args.keyboard if cli.args.keyboard else prompt_keyboard() - user_name = cli.args.username if cli.args.username else prompt_user() - real_name = cli.args.realname or cli.args.username if cli.args.realname or cli.args.username else prompt_name(user_name) + user_name = cli.config.new_keyboard.name if cli.config.new_keyboard.name else prompt_user() + real_name = cli.args.realname or cli.config.new_keyboard.name if cli.args.realname or cli.config.new_keyboard.name else prompt_name(user_name) default_layout = cli.args.layout if cli.args.layout else prompt_layout() mcu = cli.args.type if cli.args.type else prompt_mcu() bootloader = select_default_bootloader(mcu) diff --git a/lib/python/qmk/constants.py b/lib/python/qmk/constants.py index 00e453189f16..e4b699cdb110 100644 --- a/lib/python/qmk/constants.py +++ b/lib/python/qmk/constants.py @@ -17,6 +17,45 @@ LUFA_PROCESSORS = 'at90usb162', 'atmega16u2', 'atmega32u2', 'atmega16u4', 'atmega32u4', 'at90usb646', 'at90usb647', 'at90usb1286', 'at90usb1287', None VUSB_PROCESSORS = 'atmega32a', 'atmega328p', 'atmega328', 'attiny85' +# Bootloaders of the supported processors +MCU2BOOTLOADER = { + "MKL26Z64": "halfkay", + "MK20DX128": "halfkay", + "MK20DX256": "halfkay", + "MK66FX1M0": "halfkay", + "STM32F042": "stm32-dfu", + "STM32F072": "stm32-dfu", + "STM32F103": "stm32duino", + "STM32F303": "stm32-dfu", + "STM32F401": "stm32-dfu", + "STM32F405": "stm32-dfu", + "STM32F407": "stm32-dfu", + "STM32F411": "stm32-dfu", + "STM32F446": "stm32-dfu", + "STM32G431": "stm32-dfu", + "STM32G474": "stm32-dfu", + "STM32L412": "stm32-dfu", + "STM32L422": "stm32-dfu", + "STM32L432": "stm32-dfu", + "STM32L433": "stm32-dfu", + "STM32L442": "stm32-dfu", + "STM32L443": "stm32-dfu", + "GD32VF103": "gd32v-dfu", + "WB32F3G71": "wb32-dfu", + "atmega16u2": "atmel-dfu", + "atmega32u2": "atmel-dfu", + "atmega16u4": "atmel-dfu", + "atmega32u4": "atmel-dfu", + "at90usb162": "atmel-dfu", + "at90usb646": "atmel-dfu", + "at90usb647": "atmel-dfu", + "at90usb1286": "atmel-dfu", + "at90usb1287": "atmel-dfu", + "atmega32a": "bootloadhid", + "atmega328p": "usbasploader", + "atmega328": "usbasploader", +} + # Common format strings DATE_FORMAT = '%Y-%m-%d' DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S %Z' From b0621223bc53f634a28243b874379e8e157878fd Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 15 Feb 2022 01:42:58 +0000 Subject: [PATCH 0217/1832] Various fixes for new-keyboard (#16358) --- data/templates/keyboard/config.h | 20 ++++++++++++++++++++ data/templates/keyboard/info.json | 1 + lib/python/qmk/cli/new/keyboard.py | 10 +++++++++- lib/python/qmk/info.py | 1 + 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 data/templates/keyboard/config.h diff --git a/data/templates/keyboard/config.h b/data/templates/keyboard/config.h new file mode 100644 index 000000000000..b15c8d31f143 --- /dev/null +++ b/data/templates/keyboard/config.h @@ -0,0 +1,20 @@ +// Copyright %YEAR% %REAL_NAME% (@%USER_NAME%) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/data/templates/keyboard/info.json b/data/templates/keyboard/info.json index 92718faf3ae8..41bc691313cb 100644 --- a/data/templates/keyboard/info.json +++ b/data/templates/keyboard/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "%KEYBOARD%", "maintainer": "%USER_NAME%", + "manufacturer": "%REAL_NAME%", "processor": "%MCU%", "bootloader": "%BOOTLOADER%", "diode_direction": "COL2ROW", diff --git a/lib/python/qmk/cli/new/keyboard.py b/lib/python/qmk/cli/new/keyboard.py index 8596994d385a..6fa9ad5b2c44 100644 --- a/lib/python/qmk/cli/new/keyboard.py +++ b/lib/python/qmk/cli/new/keyboard.py @@ -208,7 +208,15 @@ def new_keyboard(cli): cli.log.error(f'Keyboard {{fg_cyan}}{kb_name}{{fg_reset}} already exists! Please choose a different name.') return 1 - tokens = {'YEAR': str(date.today().year), 'KEYBOARD': kb_name, 'USER_NAME': user_name, 'REAL_NAME': real_name, 'LAYOUT': default_layout, 'MCU': mcu, 'BOOTLOADER': bootloader} + tokens = { # Comment here is to force multiline formatting + 'YEAR': str(date.today().year), + 'KEYBOARD': kb_name, + 'USER_NAME': user_name, + 'REAL_NAME': real_name, + 'LAYOUT': default_layout, + 'MCU': mcu, + 'BOOTLOADER': bootloader + } if cli.config.general.verbose: cli.log.info("Creating keyboard with:") diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 905f10ecc232..7e6f531f9c47 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -49,6 +49,7 @@ def info_json(keyboard): 'parse_errors': [], 'parse_warnings': [], 'maintainer': 'qmk', + 'manufacturer': 'qmk', } # Populate the list of JSON keymaps From fede569bbe66e2fa0b16cc3ac7b7e6b66daf9f86 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 15 Feb 2022 04:41:16 +0000 Subject: [PATCH 0218/1832] Allow NO_PIN within info.json (#16359) --- data/schemas/definitions.jsonschema | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index 3f92e289a79c..9fd503a108b0 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -51,6 +51,10 @@ }, "mcu_pin": { "oneOf": [ + { + "type": "string", + "enum": ["NO_PIN"] + }, { "type": "string", "pattern": "^[A-K]\\d{1,2}$" From 16767312dbb101fe8d87d02655a78809e4b6330f Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 15 Feb 2022 04:45:32 +0000 Subject: [PATCH 0219/1832] Align docs to new-keyboard behaviour (#16357) --- docs/_summary.md | 11 +- docs/hardware_avr.md | 182 --------------------------- docs/index.html | 1 - docs/porting_your_keyboard_to_qmk.md | 163 ++++++++++++++++++++++++ 4 files changed, 169 insertions(+), 188 deletions(-) delete mode 100644 docs/hardware_avr.md create mode 100644 docs/porting_your_keyboard_to_qmk.md diff --git a/docs/_summary.md b/docs/_summary.md index e26d9ae21061..8c83a216ab87 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -37,7 +37,6 @@ * Guides * [Customizing Functionality](custom_quantum_functions.md) * [Driver Installation with Zadig](driver_installation_zadig.md) - * [Easy Maker for One Offs](easy_maker.md) * [Keymap Overview](keymap.md) * Development Environments * [Docker Guide](getting_started_docker.md) @@ -53,9 +52,6 @@ * [Your Fork](newbs_git_using_your_master_branch.md) * [Merge Conflicts](newbs_git_resolving_merge_conflicts.md) * [Fixing Your Branch](newbs_git_resynchronize_a_branch.md) - * Keyboard Building - * [Hand Wiring Guide](hand_wire.md) - * [ISP Flashing Guide](isp_flashing_guide.md) * Simple Keycodes * [Full List](keycodes.md) @@ -124,6 +120,12 @@ * [Thermal Printer](feature_thermal_printer.md) * [Velocikey](feature_velocikey.md) + * Keyboard Building + * [Easy Maker for One Offs](easy_maker.md) + * [Porting Keyboards](porting_your_keyboard_to_qmk.md) + * [Hand Wiring Guide](hand_wire.md) + * [ISP Flashing Guide](isp_flashing_guide.md) + * Developing QMK * [PR Checklist](pr_checklist.md) * Breaking Changes @@ -134,7 +136,6 @@ * C Development * [ARM Debugging Guide](arm_debugging.md) - * [AVR Processors](hardware_avr.md) * [Coding Conventions](coding_conventions_c.md) * [Compatible Microcontrollers](compatible_microcontrollers.md) * [Drivers](hardware_drivers.md) diff --git a/docs/hardware_avr.md b/docs/hardware_avr.md deleted file mode 100644 index 69aca2cf3455..000000000000 --- a/docs/hardware_avr.md +++ /dev/null @@ -1,182 +0,0 @@ -# Keyboards with AVR Processors - -This page describes the support for AVR processors in QMK. AVR processors include the atmega32u4, atmega32u2, at90usb1286, and other processors from Atmel Corporation. AVR processors are 8-bit MCUs that are designed to be easy to work with. The most common AVR processors in keyboards have on-board USB and plenty of GPIO for supporting large keyboard matrices. They are the most popular MCU for use in keyboards today. - -If you have not yet you should read the [Keyboard Guidelines](hardware_keyboard_guidelines.md) to get a sense of how keyboards fit into QMK. - -## Adding Your AVR Keyboard to QMK - -QMK has a number of features to simplify working with AVR keyboards. For most keyboards you don't have to write a single line of code. To get started, run `qmk new-keyboard`: - -``` -$ qmk new-keyboard -Ψ Generating a new QMK keyboard directory - -Keyboard Name: mycoolkeeb -Keyboard Type: - 1. avr - 2. ps2avrgb -Please enter your choice: [1] -Your Name: [John Smith] -Ψ Copying base template files... -Ψ Copying avr template files... -Ψ Renaming keyboard.[ch] to mycoolkeeb.[ch]... -Ψ Replacing %YEAR% with 2021... -Ψ Replacing %KEYBOARD% with mycoolkeeb... -Ψ Replacing %YOUR_NAME% with John Smith... - -Ψ Created a new keyboard called mycoolkeeb. -Ψ To start working on things, `cd` into keyboards/mycoolkeeb, -Ψ or open the directory in your preferred text editor. -``` - -This will create all the files needed to support your new keyboard, and populate the settings with default values. Now you just need to customize it for your keyboard. - -## `readme.md` - -This is where you'll describe your keyboard. Please follow the [Keyboard Readme Template](documentation_templates.md#keyboard-readmemd-template) when writing your `readme.md`. You're encouraged to place an image at the top of your `readme.md`, please use an external service such as [Imgur](https://imgur.com) to host the images. - -## `.c` - -This is where all the custom logic for your keyboard goes. Many keyboards do not need to put anything at all in here. You can learn more about writing custom logic in [Custom Quantum Functions](custom_quantum_functions.md). - -## `.h` - -This is the file you define your [Layout Macro(s)](feature_layouts.md) in. At minimum you should have a `#define LAYOUT` for your keyboard that looks something like this: - -```c -#define LAYOUT( \ - k00, k01, k02, \ - k10, k11 \ -) { \ - { k00, k01, k02 }, \ - { k10, KC_NO, k11 }, \ -} -``` - -The first half of the `LAYOUT` pre-processor macro defines the physical arrangement of keys. The second half of the macro defines the matrix the switches are connected to. This allows you to have a physical arrangement of keys that differs from the wiring matrix. - -Each of the `k__` variables needs to be unique, and typically they follow the format `k`. - -The physical matrix (the second half) must have a number of rows equaling `MATRIX_ROWS`, and each row must have exactly `MATRIX_COLS` elements in it. If you do not have this many physical keys you can use `KC_NO` to fill in the blank spots. - -## `config.h` - -The `config.h` file is where you configure the hardware and feature set for your keyboard. There are a lot of options that can be placed in that file, too many to list there. For a complete overview of available options see the [Config Options](config_options.md) page. - -### Hardware Configuration - - -At the top of the `config.h` you'll find USB related settings. These control how your keyboard appears to the Operating System. If you don't have a good reason to change you should leave the `VENDOR_ID` as `0xFEED`. For the `PRODUCT_ID` you should pick a number that is not yet in use. - -Do change the `MANUFACTURER` and `PRODUCT` lines to accurately reflect your keyboard. - -```c -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER You -#define PRODUCT my_awesome_keyboard -``` - -?> Windows and macOS will display the `MANUFACTURER` and `PRODUCT` in the list of USB devices. `lsusb` on Linux instead prefers the values in the list maintained by the [USB ID Repository](http://www.linux-usb.org/usb-ids.html). By default, it will only use `MANUFACTURER` and `PRODUCT` if the list does not contain that `VENDOR_ID` / `PRODUCT_ID`. `sudo lsusb -v` will show the values reported by the device, and they are also present in kernel logs after plugging it in. - -### Keyboard Matrix Configuration - -The next section of the `config.h` file deals with your keyboard's matrix. The first thing you should set is the matrix's size. This is usually, but not always, the same number of rows and columns as the physical key arrangement. - -```c -#define MATRIX_ROWS 2 -#define MATRIX_COLS 3 -``` - -Once you've defined the size of your matrix you need to define which pins on your MCU are connected to rows and columns. To do so simply specify the names of those pins: - -```c -#define MATRIX_ROW_PINS { D0, D5 } -#define MATRIX_COL_PINS { F1, F0, B0 } -#define UNUSED_PINS -``` - -The number of `MATRIX_ROW_PINS` entries must be the same as the number you assigned to `MATRIX_ROWS`, and likewise for `MATRIX_COL_PINS` and `MATRIX_COLS`. You do not have to specify `UNUSED_PINS`, but you can if you want to document what pins are open. - -Finally, you can specify the direction your diodes point. This can be `COL2ROW` or `ROW2COL`. - -```c -#define DIODE_DIRECTION COL2ROW -``` - -#### Direct Pin Matrix -To configure a keyboard where each switch is connected to a separate pin and ground instead of sharing row and column pins, use `DIRECT_PINS`. The mapping defines the pins of each switch in rows and columns, from left to right. Must conform to the sizes within `MATRIX_ROWS` and `MATRIX_COLS`, use `NO_PIN` to fill in blank spaces. Overrides the behaviour of `DIODE_DIRECTION`, `MATRIX_ROW_PINS` and `MATRIX_COL_PINS`. - -```c -// #define MATRIX_ROW_PINS { D0, D5 } -// #define MATRIX_COL_PINS { F1, F0, B0 } -#define DIRECT_PINS { \ - { F1, E6, B0, B2, B3 }, \ - { F5, F0, B1, B7, D2 }, \ - { F6, F7, C7, D5, D3 }, \ - { B5, C6, B6, NO_PIN, NO_PIN } \ -} -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -//#define DIODE_DIRECTION -``` - -### Backlight Configuration - -QMK supports backlighting on most GPIO pins. A select few of these can be driven by the MCU in hardware. For more details see the [Backlight Documentation](feature_backlight.md). - -```c -#define BACKLIGHT_PIN B7 -#define BACKLIGHT_LEVELS 3 -#define BACKLIGHT_BREATHING -#define BREATHING_PERIOD 6 -``` - -### Other Configuration Options - -There are a lot of features that can be configured or tuned in `config.h`. You should see the [Config Options](config_options.md) page for more details. - -## `rules.mk` - -You use the `rules.mk` file to tell QMK what files to build and what features to enable. If you are building around an atmega32u4 you can largely leave these defaults alone. If you are using another MCU you may have to tweak some parameters. - -### MCU Options - -These options tell the build system what CPU to build for. Be very careful if you change any of these settings, you can render your keyboard inoperable. - -```make -MCU = atmega32u4 -F_CPU = 16000000 -ARCH = AVR8 -F_USB = $(F_CPU) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT -``` - -### Bootloaders - -The bootloader is a special section of your MCU that allows you to upgrade the code stored on the MCU. Think of it like a Rescue Partition for your keyboard. - -#### Teensy Bootloader Example - -```make -BOOTLOADER = halfkay -``` - -#### Atmel DFU Loader Example - -```make -BOOTLOADER = atmel-dfu -``` - -#### Pro Micro Bootloader Example - -```make -BOOTLOADER = caterina -``` - -### Build Options - -There are a number of features that can be turned on or off in `rules.mk`. See the [Config Options](config_options.md#feature-options) page for a detailed list and description. diff --git a/docs/index.html b/docs/index.html index f5a8dbbf1228..e24b25e73a97 100644 --- a/docs/index.html +++ b/docs/index.html @@ -39,7 +39,6 @@ '/glossary': '/reference_glossary', '/key_lock': '/feature_key_lock', '/make_instructions': '/getting_started_make_guide', - '/porting_your_keyboard_to_qmk': '/hardware_avr', '/space_cadet_shift': '/feature_space_cadet_shift', '/getting_started_getting_help': '/support', '/tap_dance': '/feature_tap_dance', diff --git a/docs/porting_your_keyboard_to_qmk.md b/docs/porting_your_keyboard_to_qmk.md new file mode 100644 index 000000000000..22996547f528 --- /dev/null +++ b/docs/porting_your_keyboard_to_qmk.md @@ -0,0 +1,163 @@ +# Adding Your Keyboard to QMK + +This page describes the support for [Compatible Microcontrollers](compatible_microcontrollers.md) in QMK. + +If you have not yet you should read the [Keyboard Guidelines](hardware_keyboard_guidelines.md) to get a sense of how keyboards fit into QMK. + + +QMK has a number of features to simplify working with keyboards. For most, you don't have to write a single line of code. To get started, run `qmk new-keyboard`: + +``` +$ qmk new-keyboard +Ψ Generating a new QMK keyboard directory + +Name Your Keyboard Project +For more infomation, see: +https://docs.qmk.fm/#/hardware_keyboard_guidelines?id=naming-your-keyboardproject + +keyboard Name? mycoolkeeb + +Attribution +Used for maintainer, copyright, etc + +Your GitHub Username? [jsmith] + +More Attribution +Used for maintainer, copyright, etc + +Your Real Name? [John Smith] + +Pick Base Layout +As a starting point, one of the common layouts can be used to bootstrap the process + +Default Layout? + 1. 60_ansi +... + 50. tkl_iso + 51. none of the above +Please enter your choice: [51] + +What Powers Your Project +For more infomation, see: +https://docs.qmk.fm/#/compatible_microcontrollers + +MCU? + 1. atmega32u4 +... + 22. STM32F303 +Please enter your choice: [12] +Ψ Created a new keyboard called mycoolkeeb. +Ψ To start working on things, `cd` into keyboards/mycoolkeeb, +Ψ or open the directory in your preferred text editor. +Ψ And build with qmk compile -kb mycoolkeeb -km default. +``` + +This will create all the files needed to support your new keyboard, and populate the settings with default values. Now you just need to customize it for your keyboard. + +## `readme.md` + +This is where you'll describe your keyboard. Please follow the [Keyboard Readme Template](documentation_templates.md#keyboard-readmemd-template) when writing your `readme.md`. You're encouraged to place an image at the top of your `readme.md`, please use an external service such as [Imgur](https://imgur.com) to host the images. + +## `info.json` + +The `info.json` file is where you configure the hardware and feature set for your keyboard. There are a lot of options that can be placed in that file, too many to list here. For a complete overview of available options see the [Data Driven Configuration Options](reference_info_json.md) page. + +### Hardware Configuration + +At the top of the `info.json` you'll find USB related settings. These control how your keyboard appears to the Operating System. If you don't have a good reason to change you should leave the `usb.vid` as `0xFEED`. For the `usb.pid` you should pick a number that is not yet in use. + +Do change the `manufacturer` and `keyboard_name` lines to accurately reflect your keyboard. + +```json + "keyboard_name": "my_awesome_keyboard", + "maintainer": "You", + "usb": { + "device_ver": "0x0001", + "pid": "0x0000", + "vid": "0xFEED" + }, +``` + +?> Windows and macOS will display the `manufacturer` and `keyboard_name` in the list of USB devices. `lsusb` on Linux instead prefers the values in the list maintained by the [USB ID Repository](http://www.linux-usb.org/usb-ids.html). By default, it will only use `manufacturer` and `keyboard_name` if the list does not contain that `usb.vid` / `usb.pid`. `sudo lsusb -v` will show the values reported by the device, and they are also present in kernel logs after plugging it in. + + +### Matrix Configuration + +The next section of the `info` file deals with your keyboard's matrix. The first thing you should define is which pins on your MCU are connected to rows and columns. To do so simply specify the names of those pins: + +```json + "matrix_pins": { + "cols": ["C1", "C2", "C3", "C4"], + "rows": ["D1", "D2", "D3", "D4"] + }, +``` + +The size of the `matrix_pins.cols` and `matrix_pins.rows` arrays infer the size of the matrix (previously `MATRIX_ROWS` and `MATRIX_COLS`). + +Finally, you can specify the direction your diodes point. This can be `COL2ROW` or `ROW2COL`. + +```json + "diode_direction": "ROW2COL", +``` + +#### Direct Pin Matrix +To configure a keyboard where each switch is connected to a separate pin and ground instead of sharing row and column pins, use `matrix_pins.direct`. The mapping defines the pins of each switch in rows and columns, from left to right. The size of the `matrix_pins.direct` array infers the size of the matrix. Use `NO_PIN` to fill in blank spaces. Overrides the behaviour of `diode_direction`, `matrix_pins.cols` and `matrix_pins.rows`. + +```json + "matrix_pins": { + "direct": [ + ["F1", "E6", "B0", "B2", "B3" ], + ["F5", "F0", "B1", "B7", "D2" ], + ["F6", "F7", "C7", "D5", "D3" ], + ["B5", "C6", "B6", "NO_PIN", "NO_PIN"] + ] + }, +``` + +### Layout macros + +Next is configuring Layout Macro(s). These define the physical arrangement of keys, and its position within the matrix that a switch are connected to. This allows you to have a physical arrangement of keys that differs from the wiring matrix. + +```json + "layouts": { + "LAYOUT_ortho_4x4": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [1, 3], "x": 3, "y": 1 }, + { "matrix": [2, 0], "x": 0, "y": 2 }, + { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 2], "x": 2, "y": 2 }, + { "matrix": [2, 3], "x": 3, "y": 2 }, + { "matrix": [3, 0], "x": 0, "y": 3 }, + { "matrix": [3, 1], "x": 1, "y": 3 }, + { "matrix": [3, 2], "x": 2, "y": 3 }, + { "matrix": [3, 3], "x": 3, "y": 3 } + ] + } + } + +``` + +In the above example, + +* `LAYOUT_ortho_4x4` defines the name of the layout macro + * It must conform to [hardware_keyboard_guidelines.md#ltkeyboard_namehgt] +* `"matrix": [0, 0]` defines the electrical position + +## Additional Configuration + +There are a lot of features that can be turned on or off, configured or tuned. Some of these have yet to be migrated over to [Data Driven Configuration](data_driven_config.md). The following sections cover the process for when an `info.json` option is unavailable. + +### Configuration Options + +For available options for `config.h`, you should see the [Config Options](config_options.md) page for more details. + +### Build Options + +For available options for `rules.mk`, see the [Config Options](config_options.md#feature-options) page for a detailed list and description. From 5ff823d35f81e6098a561480220a787144c1208c Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 16 Feb 2022 17:46:48 +0000 Subject: [PATCH 0220/1832] Bodge for helix build failures (#16376) --- keyboards/helix/pico/split_util.h | 4 ++++ keyboards/helix/rev1/split_util.h | 4 ++++ keyboards/helix/rev2/split_util.h | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/keyboards/helix/pico/split_util.h b/keyboards/helix/pico/split_util.h index b839ce6e3ee7..535949118a7b 100644 --- a/keyboards/helix/pico/split_util.h +++ b/keyboards/helix/pico/split_util.h @@ -14,3 +14,7 @@ void split_keyboard_setup(void); bool is_helix_master(void); void matrix_master_OLED_init (void); + +// stubs as this is handled by legacy code +static inline void split_pre_init(void){} +static inline void split_post_init(void){} diff --git a/keyboards/helix/rev1/split_util.h b/keyboards/helix/rev1/split_util.h index 807412cd38a9..d3edb70b9499 100644 --- a/keyboards/helix/rev1/split_util.h +++ b/keyboards/helix/rev1/split_util.h @@ -15,3 +15,7 @@ bool has_usb(void); void keyboard_slave_loop(void); void matrix_master_OLED_init (void); + +// stubs as this is handled by legacy code +static inline void split_pre_init(void){} +static inline void split_post_init(void){} diff --git a/keyboards/helix/rev2/split_util.h b/keyboards/helix/rev2/split_util.h index b839ce6e3ee7..535949118a7b 100644 --- a/keyboards/helix/rev2/split_util.h +++ b/keyboards/helix/rev2/split_util.h @@ -14,3 +14,7 @@ void split_keyboard_setup(void); bool is_helix_master(void); void matrix_master_OLED_init (void); + +// stubs as this is handled by legacy code +static inline void split_pre_init(void){} +static inline void split_post_init(void){} From 0d9a0d5d97bfbe39777c3f87ed7f67cdf9446176 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 16 Feb 2022 20:58:40 +0000 Subject: [PATCH 0221/1832] Align new-keyboard with recent schema updates (#16378) --- data/templates/keyboard/info.json | 2 +- docs/porting_your_keyboard_to_qmk.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/templates/keyboard/info.json b/data/templates/keyboard/info.json index 41bc691313cb..777ceb3bd891 100644 --- a/data/templates/keyboard/info.json +++ b/data/templates/keyboard/info.json @@ -12,7 +12,7 @@ "usb": { "vid": "0xFEED", "pid": "0x0000", - "device_ver": "0x0001" + "device_version": "1.0.0" }, "features": { "bootmagic_lite": true, diff --git a/docs/porting_your_keyboard_to_qmk.md b/docs/porting_your_keyboard_to_qmk.md index 22996547f528..484d079ea61b 100644 --- a/docs/porting_your_keyboard_to_qmk.md +++ b/docs/porting_your_keyboard_to_qmk.md @@ -72,9 +72,9 @@ Do change the `manufacturer` and `keyboard_name` lines to accurately reflect you "keyboard_name": "my_awesome_keyboard", "maintainer": "You", "usb": { - "device_ver": "0x0001", + "vid": "0xFEED", "pid": "0x0000", - "vid": "0xFEED" + "device_version": "1.0.0" }, ``` From 25ba9b41c119fde21b5c996a90a0b28b3e32d271 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Mon, 21 Feb 2022 08:29:54 -0800 Subject: [PATCH 0222/1832] Format code according to conventions (#16421) --- drivers/ps2/ps2_busywait.c | 5 +- quantum/action.c | 91 ++- quantum/action.h | 2 +- tmk_core/protocol/arm_atsam/usb/compiler.h | 556 +++++++++--------- tmk_core/protocol/arm_atsam/usb/udi_cdc.c | 16 +- .../protocol/arm_atsam/usb/usb_device_udd.c | 5 +- 6 files changed, 329 insertions(+), 346 deletions(-) diff --git a/drivers/ps2/ps2_busywait.c b/drivers/ps2/ps2_busywait.c index c5a0183bb702..18e2501a2664 100644 --- a/drivers/ps2/ps2_busywait.c +++ b/drivers/ps2/ps2_busywait.c @@ -125,11 +125,10 @@ uint8_t ps2_host_recv_response(void) { // Command may take 25ms/20ms at most([5]p.46, [3]p.21) // 250 * 100us(wait for start bit in ps2_host_recv) uint8_t data = 0; - uint8_t try - = 250; + uint8_t try = 250; do { data = ps2_host_recv(); - } while (try --&&ps2_error); + } while (try-- && ps2_error); return data; } diff --git a/quantum/action.c b/quantum/action.c index 2bb1c3498552..3efed443a30d 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -833,10 +833,9 @@ __attribute__((weak)) void register_code(uint8_t code) { } #endif - else if - IS_KEY(code) { - // TODO: should push command_proc out of this block? - if (command_proc(code)) return; + else if IS_KEY (code) { + // TODO: should push command_proc out of this block? + if (command_proc(code)) return; #ifndef NO_ACTION_ONESHOT /* TODO: remove @@ -853,39 +852,33 @@ __attribute__((weak)) void register_code(uint8_t code) { } else */ #endif - { - // Force a new key press if the key is already pressed - // without this, keys with the same keycode, but different - // modifiers will be reported incorrectly, see issue #1708 - if (is_key_pressed(keyboard_report, code)) { - del_key(code); - send_keyboard_report(); - } - add_key(code); + { + // Force a new key press if the key is already pressed + // without this, keys with the same keycode, but different + // modifiers will be reported incorrectly, see issue #1708 + if (is_key_pressed(keyboard_report, code)) { + del_key(code); send_keyboard_report(); } - } - else if - IS_MOD(code) { - add_mods(MOD_BIT(code)); + add_key(code); send_keyboard_report(); } + } else if IS_MOD (code) { + add_mods(MOD_BIT(code)); + send_keyboard_report(); + } #ifdef EXTRAKEY_ENABLE - else if - IS_SYSTEM(code) { - host_system_send(KEYCODE2SYSTEM(code)); - } - else if - IS_CONSUMER(code) { - host_consumer_send(KEYCODE2CONSUMER(code)); - } + else if IS_SYSTEM (code) { + host_system_send(KEYCODE2SYSTEM(code)); + } else if IS_CONSUMER (code) { + host_consumer_send(KEYCODE2CONSUMER(code)); + } #endif #ifdef MOUSEKEY_ENABLE - else if - IS_MOUSEKEY(code) { - mousekey_on(code); - mousekey_send(); - } + else if IS_MOUSEKEY (code) { + mousekey_on(code); + mousekey_send(); + } #endif } @@ -930,30 +923,22 @@ __attribute__((weak)) void unregister_code(uint8_t code) { } #endif - else if - IS_KEY(code) { - del_key(code); - send_keyboard_report(); - } - else if - IS_MOD(code) { - del_mods(MOD_BIT(code)); - send_keyboard_report(); - } - else if - IS_SYSTEM(code) { - host_system_send(0); - } - else if - IS_CONSUMER(code) { - host_consumer_send(0); - } + else if IS_KEY (code) { + del_key(code); + send_keyboard_report(); + } else if IS_MOD (code) { + del_mods(MOD_BIT(code)); + send_keyboard_report(); + } else if IS_SYSTEM (code) { + host_system_send(0); + } else if IS_CONSUMER (code) { + host_consumer_send(0); + } #ifdef MOUSEKEY_ENABLE - else if - IS_MOUSEKEY(code) { - mousekey_off(code); - mousekey_send(); - } + else if IS_MOUSEKEY (code) { + mousekey_off(code); + mousekey_send(); + } #endif } diff --git a/quantum/action.h b/quantum/action.h index 39b5da63b865..08e1f6ac29ae 100644 --- a/quantum/action.h +++ b/quantum/action.h @@ -72,7 +72,7 @@ extern bool disable_action_cache; /* Code for handling one-handed key modifiers. */ #ifdef SWAP_HANDS_ENABLE -extern bool swap_hands; +extern bool swap_hands; extern const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS]; # if (MATRIX_COLS <= 8) typedef uint8_t swap_state_row_t; diff --git a/tmk_core/protocol/arm_atsam/usb/compiler.h b/tmk_core/protocol/arm_atsam/usb/compiler.h index 517499f9465a..9fb04ff6280c 100644 --- a/tmk_core/protocol/arm_atsam/usb/compiler.h +++ b/tmk_core/protocol/arm_atsam/usb/compiler.h @@ -43,7 +43,7 @@ */ #ifndef UTILS_COMPILER_H_INCLUDED -# define UTILS_COMPILER_H_INCLUDED +#define UTILS_COMPILER_H_INCLUDED /** * \defgroup group_sam0_utils Compiler abstraction layer and code utilities @@ -54,38 +54,38 @@ * @{ */ -# if (defined __ICCARM__) -# include -# endif +#if (defined __ICCARM__) +# include +#endif -# include +#include //#include //#include //#include //#include -# ifndef __ASSEMBLY__ +#ifndef __ASSEMBLY__ -# include -# include -# include -# include +# include +# include +# include +# include /** * \def UNUSED * \brief Marking \a v as a unused parameter or value. */ -# define UNUSED(v) (void)(v) +# define UNUSED(v) (void)(v) /** * \def barrier * \brief Memory barrier */ -# ifdef __GNUC__ -# define barrier() asm volatile("" ::: "memory") -# else -# define barrier() asm("") -# endif +# ifdef __GNUC__ +# define barrier() asm volatile("" ::: "memory") +# else +# define barrier() asm("") +# endif /** * \brief Emit the compiler pragma \a arg. @@ -93,37 +93,37 @@ * \param[in] arg The pragma directive as it would appear after \e \#pragma * (i.e. not stringified). */ -# define COMPILER_PRAGMA(arg) _Pragma(# arg) +# define COMPILER_PRAGMA(arg) _Pragma(# arg) /** * \def COMPILER_PACK_SET(alignment) * \brief Set maximum alignment for subsequent struct and union definitions to \a alignment. */ -# define COMPILER_PACK_SET(alignment) COMPILER_PRAGMA(pack(alignment)) +# define COMPILER_PACK_SET(alignment) COMPILER_PRAGMA(pack(alignment)) /** * \def COMPILER_PACK_RESET() * \brief Set default alignment for subsequent struct and union definitions. */ -# define COMPILER_PACK_RESET() COMPILER_PRAGMA(pack()) +# define COMPILER_PACK_RESET() COMPILER_PRAGMA(pack()) /** * \brief Set aligned boundary. */ -# if (defined __GNUC__) || (defined __CC_ARM) -# define COMPILER_ALIGNED(a) __attribute__((__aligned__(a))) -# elif (defined __ICCARM__) -# define COMPILER_ALIGNED(a) COMPILER_PRAGMA(data_alignment = a) -# endif +# if (defined __GNUC__) || (defined __CC_ARM) +# define COMPILER_ALIGNED(a) __attribute__((__aligned__(a))) +# elif (defined __ICCARM__) +# define COMPILER_ALIGNED(a) COMPILER_PRAGMA(data_alignment = a) +# endif /** * \brief Set word-aligned boundary. */ -# if (defined __GNUC__) || defined(__CC_ARM) -# define COMPILER_WORD_ALIGNED __attribute__((__aligned__(4))) -# elif (defined __ICCARM__) -# define COMPILER_WORD_ALIGNED COMPILER_PRAGMA(data_alignment = 4) -# endif +# if (defined __GNUC__) || defined(__CC_ARM) +# define COMPILER_WORD_ALIGNED __attribute__((__aligned__(4))) +# elif (defined __ICCARM__) +# define COMPILER_WORD_ALIGNED COMPILER_PRAGMA(data_alignment = 4) +# endif /** * \def __always_inline @@ -133,15 +133,15 @@ * heuristics and inline the function no matter how big it thinks it * becomes. */ -# if !defined(__always_inline) -# if defined(__CC_ARM) -# define __always_inline __forceinline -# elif (defined __GNUC__) -# define __always_inline __attribute__((__always_inline__)) -# elif (defined __ICCARM__) -# define __always_inline _Pragma("inline=forced") -# endif +# if !defined(__always_inline) +# if defined(__CC_ARM) +# define __always_inline __forceinline +# elif (defined __GNUC__) +# define __always_inline __attribute__((__always_inline__)) +# elif (defined __ICCARM__) +# define __always_inline _Pragma("inline=forced") # endif +# endif /** * \def __no_inline @@ -151,13 +151,13 @@ * heuristics and not inline the function no matter how small it thinks it * becomes. */ -# if defined(__CC_ARM) -# define __no_inline __attribute__((noinline)) -# elif (defined __GNUC__) -# define __no_inline __attribute__((noinline)) -# elif (defined __ICCARM__) -# define __no_inline _Pragma("inline=never") -# endif +# if defined(__CC_ARM) +# define __no_inline __attribute__((noinline)) +# elif (defined __GNUC__) +# define __no_inline __attribute__((noinline)) +# elif (defined __ICCARM__) +# define __no_inline _Pragma("inline=never") +# endif /** \brief This macro is used to test fatal errors. * @@ -168,47 +168,47 @@ * * \param[in] expr Expression to evaluate and supposed to be nonzero. */ -# if defined(_ASSERT_ENABLE_) -# if defined(TEST_SUITE_DEFINE_ASSERT_MACRO) -# include "unit_test/suite.h" -# else -# undef TEST_SUITE_DEFINE_ASSERT_MACRO -# define Assert(expr) \ - { \ - if (!(expr)) asm("BKPT #0"); \ - } -# endif +# if defined(_ASSERT_ENABLE_) +# if defined(TEST_SUITE_DEFINE_ASSERT_MACRO) +# include "unit_test/suite.h" # else -# define Assert(expr) ((void)0) +# undef TEST_SUITE_DEFINE_ASSERT_MACRO +# define Assert(expr) \ + { \ + if (!(expr)) asm("BKPT #0"); \ + } # endif +# else +# define Assert(expr) ((void)0) +# endif /* Define WEAK attribute */ -# if defined(__CC_ARM) -# define WEAK __attribute__((weak)) -# elif defined(__ICCARM__) -# define WEAK __weak -# elif defined(__GNUC__) -# define WEAK __attribute__((weak)) -# endif +# if defined(__CC_ARM) +# define WEAK __attribute__((weak)) +# elif defined(__ICCARM__) +# define WEAK __weak +# elif defined(__GNUC__) +# define WEAK __attribute__((weak)) +# endif /* Define NO_INIT attribute */ -# if defined(__CC_ARM) -# define NO_INIT __attribute__((zero_init)) -# elif defined(__ICCARM__) -# define NO_INIT __no_init -# elif defined(__GNUC__) -# define NO_INIT __attribute__((section(".no_init"))) -# endif +# if defined(__CC_ARM) +# define NO_INIT __attribute__((zero_init)) +# elif defined(__ICCARM__) +# define NO_INIT __no_init +# elif defined(__GNUC__) +# define NO_INIT __attribute__((section(".no_init"))) +# endif //#include "interrupt.h" /** \name Usual Types * @{ */ -# ifndef __cplusplus -# if !defined(__bool_true_false_are_defined) +# ifndef __cplusplus +# if !defined(__bool_true_false_are_defined) typedef unsigned char bool; -# endif # endif +# endif typedef uint16_t le16_t; typedef uint16_t be16_t; typedef uint32_t le32_t; @@ -347,22 +347,22 @@ typedef struct { /** @} */ -# endif /* #ifndef __ASSEMBLY__ */ +#endif /* #ifndef __ASSEMBLY__ */ /** \name Usual Constants * @{ */ // kmod #define DISABLE 0 // kmod #define ENABLE 1 -# ifndef __cplusplus -# if !defined(__bool_true_false_are_defined) -# define false 0 -# define true 1 -# endif +#ifndef __cplusplus +# if !defined(__bool_true_false_are_defined) +# define false 0 +# define true 1 # endif +#endif /** @} */ -# ifndef __ASSEMBLY__ +#ifndef __ASSEMBLY__ /** \name Optimization Control * @{ */ @@ -371,17 +371,17 @@ typedef struct { * \def likely(exp) * \brief The expression \a exp is likely to be true */ -# if !defined(likely) || defined(__DOXYGEN__) -# define likely(exp) (exp) -# endif +# if !defined(likely) || defined(__DOXYGEN__) +# define likely(exp) (exp) +# endif /** * \def unlikely(exp) * \brief The expression \a exp is unlikely to be true */ -# if !defined(unlikely) || defined(__DOXYGEN__) -# define unlikely(exp) (exp) -# endif +# if !defined(unlikely) || defined(__DOXYGEN__) +# define unlikely(exp) (exp) +# endif /** * \def is_constant(exp) @@ -391,11 +391,11 @@ typedef struct { * * \return true if \a exp is constant, false otherwise. */ -# if (defined __GNUC__) || (defined __CC_ARM) -# define is_constant(exp) __builtin_constant_p(exp) -# else -# define is_constant(exp) (0) -# endif +# if (defined __GNUC__) || (defined __CC_ARM) +# define is_constant(exp) __builtin_constant_p(exp) +# else +# define is_constant(exp) (0) +# endif /** @} */ @@ -409,7 +409,7 @@ typedef struct { * * \return Read bits. */ -# define Rd_bits(value, mask) ((value) & (mask)) +# define Rd_bits(value, mask) ((value) & (mask)) /** \brief Writes the bits of a C lvalue specified by a given bit-mask. * @@ -419,7 +419,7 @@ typedef struct { * * \return Resulting value with written bits. */ -# define Wr_bits(lvalue, mask, bits) ((lvalue) = ((lvalue) & ~(mask)) | ((bits) & (mask))) +# define Wr_bits(lvalue, mask, bits) ((lvalue) = ((lvalue) & ~(mask)) | ((bits) & (mask))) /** \brief Tests the bits of a value specified by a given bit-mask. * @@ -428,7 +428,7 @@ typedef struct { * * \return \c 1 if at least one of the tested bits is set, else \c 0. */ -# define Tst_bits(value, mask) (Rd_bits(value, mask) != 0) +# define Tst_bits(value, mask) (Rd_bits(value, mask) != 0) /** \brief Clears the bits of a C lvalue specified by a given bit-mask. * @@ -437,7 +437,7 @@ typedef struct { * * \return Resulting value with cleared bits. */ -# define Clr_bits(lvalue, mask) ((lvalue) &= ~(mask)) +# define Clr_bits(lvalue, mask) ((lvalue) &= ~(mask)) /** \brief Sets the bits of a C lvalue specified by a given bit-mask. * @@ -446,7 +446,7 @@ typedef struct { * * \return Resulting value with set bits. */ -# define Set_bits(lvalue, mask) ((lvalue) |= (mask)) +# define Set_bits(lvalue, mask) ((lvalue) |= (mask)) /** \brief Toggles the bits of a C lvalue specified by a given bit-mask. * @@ -455,7 +455,7 @@ typedef struct { * * \return Resulting value with toggled bits. */ -# define Tgl_bits(lvalue, mask) ((lvalue) ^= (mask)) +# define Tgl_bits(lvalue, mask) ((lvalue) ^= (mask)) /** \brief Reads the bit-field of a value specified by a given bit-mask. * @@ -464,7 +464,7 @@ typedef struct { * * \return Read bit-field. */ -# define Rd_bitfield(value, mask) (Rd_bits(value, mask) >> ctz(mask)) +# define Rd_bitfield(value, mask) (Rd_bits(value, mask) >> ctz(mask)) /** \brief Writes the bit-field of a C lvalue specified by a given bit-mask. * @@ -474,7 +474,7 @@ typedef struct { * * \return Resulting value with written bit-field. */ -# define Wr_bitfield(lvalue, mask, bitfield) (Wr_bits(lvalue, mask, (uint32_t)(bitfield) << ctz(mask))) +# define Wr_bitfield(lvalue, mask, bitfield) (Wr_bits(lvalue, mask, (uint32_t)(bitfield) << ctz(mask))) /** @} */ @@ -498,11 +498,11 @@ typedef struct { * * \return The count of leading zero bits in \a u. */ -# if (defined __GNUC__) || (defined __CC_ARM) -# define clz(u) ((u) ? __builtin_clz(u) : 32) -# else -# define clz(u) (((u) == 0) ? 32 : ((u) & (1ul << 31)) ? 0 : ((u) & (1ul << 30)) ? 1 : ((u) & (1ul << 29)) ? 2 : ((u) & (1ul << 28)) ? 3 : ((u) & (1ul << 27)) ? 4 : ((u) & (1ul << 26)) ? 5 : ((u) & (1ul << 25)) ? 6 : ((u) & (1ul << 24)) ? 7 : ((u) & (1ul << 23)) ? 8 : ((u) & (1ul << 22)) ? 9 : ((u) & (1ul << 21)) ? 10 : ((u) & (1ul << 20)) ? 11 : ((u) & (1ul << 19)) ? 12 : ((u) & (1ul << 18)) ? 13 : ((u) & (1ul << 17)) ? 14 : ((u) & (1ul << 16)) ? 15 : ((u) & (1ul << 15)) ? 16 : ((u) & (1ul << 14)) ? 17 : ((u) & (1ul << 13)) ? 18 : ((u) & (1ul << 12)) ? 19 : ((u) & (1ul << 11)) ? 20 : ((u) & (1ul << 10)) ? 21 : ((u) & (1ul << 9)) ? 22 : ((u) & (1ul << 8)) ? 23 : ((u) & (1ul << 7)) ? 24 : ((u) & (1ul << 6)) ? 25 : ((u) & (1ul << 5)) ? 26 : ((u) & (1ul << 4)) ? 27 : ((u) & (1ul << 3)) ? 28 : ((u) & (1ul << 2)) ? 29 : ((u) & (1ul << 1)) ? 30 : 31) -# endif +# if (defined __GNUC__) || (defined __CC_ARM) +# define clz(u) ((u) ? __builtin_clz(u) : 32) +# else +# define clz(u) (((u) == 0) ? 32 : ((u) & (1ul << 31)) ? 0 : ((u) & (1ul << 30)) ? 1 : ((u) & (1ul << 29)) ? 2 : ((u) & (1ul << 28)) ? 3 : ((u) & (1ul << 27)) ? 4 : ((u) & (1ul << 26)) ? 5 : ((u) & (1ul << 25)) ? 6 : ((u) & (1ul << 24)) ? 7 : ((u) & (1ul << 23)) ? 8 : ((u) & (1ul << 22)) ? 9 : ((u) & (1ul << 21)) ? 10 : ((u) & (1ul << 20)) ? 11 : ((u) & (1ul << 19)) ? 12 : ((u) & (1ul << 18)) ? 13 : ((u) & (1ul << 17)) ? 14 : ((u) & (1ul << 16)) ? 15 : ((u) & (1ul << 15)) ? 16 : ((u) & (1ul << 14)) ? 17 : ((u) & (1ul << 13)) ? 18 : ((u) & (1ul << 12)) ? 19 : ((u) & (1ul << 11)) ? 20 : ((u) & (1ul << 10)) ? 21 : ((u) & (1ul << 9)) ? 22 : ((u) & (1ul << 8)) ? 23 : ((u) & (1ul << 7)) ? 24 : ((u) & (1ul << 6)) ? 25 : ((u) & (1ul << 5)) ? 26 : ((u) & (1ul << 4)) ? 27 : ((u) & (1ul << 3)) ? 28 : ((u) & (1ul << 2)) ? 29 : ((u) & (1ul << 1)) ? 30 : 31) +# endif /** \brief Counts the trailing zero bits of the given value considered as a 32-bit integer. * @@ -510,11 +510,11 @@ typedef struct { * * \return The count of trailing zero bits in \a u. */ -# if (defined __GNUC__) || (defined __CC_ARM) -# define ctz(u) ((u) ? __builtin_ctz(u) : 32) -# else -# define ctz(u) ((u) & (1ul << 0) ? 0 : (u) & (1ul << 1) ? 1 : (u) & (1ul << 2) ? 2 : (u) & (1ul << 3) ? 3 : (u) & (1ul << 4) ? 4 : (u) & (1ul << 5) ? 5 : (u) & (1ul << 6) ? 6 : (u) & (1ul << 7) ? 7 : (u) & (1ul << 8) ? 8 : (u) & (1ul << 9) ? 9 : (u) & (1ul << 10) ? 10 : (u) & (1ul << 11) ? 11 : (u) & (1ul << 12) ? 12 : (u) & (1ul << 13) ? 13 : (u) & (1ul << 14) ? 14 : (u) & (1ul << 15) ? 15 : (u) & (1ul << 16) ? 16 : (u) & (1ul << 17) ? 17 : (u) & (1ul << 18) ? 18 : (u) & (1ul << 19) ? 19 : (u) & (1ul << 20) ? 20 : (u) & (1ul << 21) ? 21 : (u) & (1ul << 22) ? 22 : (u) & (1ul << 23) ? 23 : (u) & (1ul << 24) ? 24 : (u) & (1ul << 25) ? 25 : (u) & (1ul << 26) ? 26 : (u) & (1ul << 27) ? 27 : (u) & (1ul << 28) ? 28 : (u) & (1ul << 29) ? 29 : (u) & (1ul << 30) ? 30 : (u) & (1ul << 31) ? 31 : 32) -# endif +# if (defined __GNUC__) || (defined __CC_ARM) +# define ctz(u) ((u) ? __builtin_ctz(u) : 32) +# else +# define ctz(u) ((u) & (1ul << 0) ? 0 : (u) & (1ul << 1) ? 1 : (u) & (1ul << 2) ? 2 : (u) & (1ul << 3) ? 3 : (u) & (1ul << 4) ? 4 : (u) & (1ul << 5) ? 5 : (u) & (1ul << 6) ? 6 : (u) & (1ul << 7) ? 7 : (u) & (1ul << 8) ? 8 : (u) & (1ul << 9) ? 9 : (u) & (1ul << 10) ? 10 : (u) & (1ul << 11) ? 11 : (u) & (1ul << 12) ? 12 : (u) & (1ul << 13) ? 13 : (u) & (1ul << 14) ? 14 : (u) & (1ul << 15) ? 15 : (u) & (1ul << 16) ? 16 : (u) & (1ul << 17) ? 17 : (u) & (1ul << 18) ? 18 : (u) & (1ul << 19) ? 19 : (u) & (1ul << 20) ? 20 : (u) & (1ul << 21) ? 21 : (u) & (1ul << 22) ? 22 : (u) & (1ul << 23) ? 23 : (u) & (1ul << 24) ? 24 : (u) & (1ul << 25) ? 25 : (u) & (1ul << 26) ? 26 : (u) & (1ul << 27) ? 27 : (u) & (1ul << 28) ? 28 : (u) & (1ul << 29) ? 29 : (u) & (1ul << 30) ? 30 : (u) & (1ul << 31) ? 31 : 32) +# endif /** @} */ @@ -527,7 +527,7 @@ typedef struct { * * \return Value resulting from \a u8 with reversed bits. */ -# define bit_reverse8(u8) ((U8)(bit_reverse32((U8)(u8)) >> 24)) +# define bit_reverse8(u8) ((U8)(bit_reverse32((U8)(u8)) >> 24)) /** \brief Reverses the bits of \a u16. * @@ -535,7 +535,7 @@ typedef struct { * * \return Value resulting from \a u16 with reversed bits. */ -# define bit_reverse16(u16) ((uint16_t)(bit_reverse32((uint16_t)(u16)) >> 16)) +# define bit_reverse16(u16) ((uint16_t)(bit_reverse32((uint16_t)(u16)) >> 16)) /** \brief Reverses the bits of \a u32. * @@ -543,7 +543,7 @@ typedef struct { * * \return Value resulting from \a u32 with reversed bits. */ -# define bit_reverse32(u32) __RBIT(u32) +# define bit_reverse32(u32) __RBIT(u32) /** \brief Reverses the bits of \a u64. * @@ -551,7 +551,7 @@ typedef struct { * * \return Value resulting from \a u64 with reversed bits. */ -# define bit_reverse64(u64) ((uint64_t)(((uint64_t)bit_reverse32((uint64_t)(u64) >> 32)) | ((uint64_t)bit_reverse32((uint64_t)(u64)) << 32))) +# define bit_reverse64(u64) ((uint64_t)(((uint64_t)bit_reverse32((uint64_t)(u64) >> 32)) | ((uint64_t)bit_reverse32((uint64_t)(u64)) << 32))) /** @} */ @@ -565,7 +565,7 @@ typedef struct { * * \return \c 1 if the number \a val is aligned with the \a n boundary, else \c 0. */ -# define Test_align(val, n) (!Tst_bits(val, (n)-1)) +# define Test_align(val, n) (!Tst_bits(val, (n)-1)) /** \brief Gets alignment of the number \a val with respect to the \a n boundary. * @@ -574,7 +574,7 @@ typedef struct { * * \return Alignment of the number \a val with respect to the \a n boundary. */ -# define Get_align(val, n) (Rd_bits(val, (n)-1)) +# define Get_align(val, n) (Rd_bits(val, (n)-1)) /** \brief Sets alignment of the lvalue number \a lval to \a alg with respect to the \a n boundary. * @@ -584,7 +584,7 @@ typedef struct { * * \return New value of \a lval resulting from its alignment set to \a alg with respect to the \a n boundary. */ -# define Set_align(lval, n, alg) (Wr_bits(lval, (n)-1, alg)) +# define Set_align(lval, n, alg) (Wr_bits(lval, (n)-1, alg)) /** \brief Aligns the number \a val with the upper \a n boundary. * @@ -593,7 +593,7 @@ typedef struct { * * \return Value resulting from the number \a val aligned with the upper \a n boundary. */ -# define Align_up(val, n) (((val) + ((n)-1)) & ~((n)-1)) +# define Align_up(val, n) (((val) + ((n)-1)) & ~((n)-1)) /** \brief Aligns the number \a val with the lower \a n boundary. * @@ -602,7 +602,7 @@ typedef struct { * * \return Value resulting from the number \a val aligned with the lower \a n boundary. */ -# define Align_down(val, n) ((val) & ~((n)-1)) +# define Align_down(val, n) ((val) & ~((n)-1)) /** @} */ @@ -627,9 +627,9 @@ typedef struct { * * \note More optimized if only used with values known at compile time. */ -# define Abs(a) (((a) < 0) ? -(a) : (a)) +# define Abs(a) (((a) < 0) ? -(a) : (a)) -# ifndef __cplusplus +# ifndef __cplusplus /** \brief Takes the minimal value of \a a and \a b. * * \param[in] a Input value. @@ -639,7 +639,7 @@ typedef struct { * * \note More optimized if only used with values known at compile time. */ -# define Min(a, b) (((a) < (b)) ? (a) : (b)) +# define Min(a, b) (((a) < (b)) ? (a) : (b)) /** \brief Takes the maximal value of \a a and \a b. * @@ -650,7 +650,7 @@ typedef struct { * * \note More optimized if only used with values known at compile time. */ -# define Max(a, b) (((a) > (b)) ? (a) : (b)) +# define Max(a, b) (((a) > (b)) ? (a) : (b)) /** \brief Takes the minimal value of \a a and \a b. * @@ -661,7 +661,7 @@ typedef struct { * * \note More optimized if only used with values unknown at compile time. */ -# define min(a, b) Min(a, b) +# define min(a, b) Min(a, b) /** \brief Takes the maximal value of \a a and \a b. * @@ -672,8 +672,8 @@ typedef struct { * * \note More optimized if only used with values unknown at compile time. */ -# define max(a, b) Max(a, b) -# endif +# define max(a, b) Max(a, b) +# endif /** @} */ @@ -688,34 +688,34 @@ typedef struct { * * \note It may be used as a long jump opcode in some special cases. */ -# define Long_call(addr) ((*(void (*)(void))(addr))()) +# define Long_call(addr) ((*(void (*)(void))(addr))()) /** \name MCU Endianism Handling * ARM is MCU little endian. * * @{ */ -# define BE16(x) swap16(x) -# define LE16(x) (x) - -# define le16_to_cpu(x) (x) -# define cpu_to_le16(x) (x) -# define LE16_TO_CPU(x) (x) -# define CPU_TO_LE16(x) (x) - -# define be16_to_cpu(x) swap16(x) -# define cpu_to_be16(x) swap16(x) -# define BE16_TO_CPU(x) swap16(x) -# define CPU_TO_BE16(x) swap16(x) - -# define le32_to_cpu(x) (x) -# define cpu_to_le32(x) (x) -# define LE32_TO_CPU(x) (x) -# define CPU_TO_LE32(x) (x) - -# define be32_to_cpu(x) swap32(x) -# define cpu_to_be32(x) swap32(x) -# define BE32_TO_CPU(x) swap32(x) -# define CPU_TO_BE32(x) swap32(x) +# define BE16(x) swap16(x) +# define LE16(x) (x) + +# define le16_to_cpu(x) (x) +# define cpu_to_le16(x) (x) +# define LE16_TO_CPU(x) (x) +# define CPU_TO_LE16(x) (x) + +# define be16_to_cpu(x) swap16(x) +# define cpu_to_be16(x) swap16(x) +# define BE16_TO_CPU(x) swap16(x) +# define CPU_TO_BE16(x) swap16(x) + +# define le32_to_cpu(x) (x) +# define cpu_to_le32(x) (x) +# define LE32_TO_CPU(x) (x) +# define CPU_TO_LE32(x) (x) + +# define be32_to_cpu(x) swap32(x) +# define cpu_to_be32(x) swap32(x) +# define BE32_TO_CPU(x) swap32(x) +# define CPU_TO_BE32(x) swap32(x) /** @} */ /** \name Endianism Conversion @@ -738,7 +738,7 @@ typedef struct { * * \note More optimized if only used with values known at compile time. */ -# define Swap16(u16) ((uint16_t)(((uint16_t)(u16) >> 8) | ((uint16_t)(u16) << 8))) +# define Swap16(u16) ((uint16_t)(((uint16_t)(u16) >> 8) | ((uint16_t)(u16) << 8))) /** \brief Toggles the endianism of \a u32 (by swapping its bytes). * @@ -748,7 +748,7 @@ typedef struct { * * \note More optimized if only used with values known at compile time. */ -# define Swap32(u32) ((uint32_t)(((uint32_t)Swap16((uint32_t)(u32) >> 16)) | ((uint32_t)Swap16((uint32_t)(u32)) << 16))) +# define Swap32(u32) ((uint32_t)(((uint32_t)Swap16((uint32_t)(u32) >> 16)) | ((uint32_t)Swap16((uint32_t)(u32)) << 16))) /** \brief Toggles the endianism of \a u64 (by swapping its bytes). * @@ -758,7 +758,7 @@ typedef struct { * * \note More optimized if only used with values known at compile time. */ -# define Swap64(u64) ((uint64_t)(((uint64_t)Swap32((uint64_t)(u64) >> 32)) | ((uint64_t)Swap32((uint64_t)(u64)) << 32))) +# define Swap64(u64) ((uint64_t)(((uint64_t)Swap32((uint64_t)(u64) >> 32)) | ((uint64_t)Swap32((uint64_t)(u64)) << 32))) /** \brief Toggles the endianism of \a u16 (by swapping its bytes). * @@ -768,7 +768,7 @@ typedef struct { * * \note More optimized if only used with values unknown at compile time. */ -# define swap16(u16) Swap16(u16) +# define swap16(u16) Swap16(u16) /** \brief Toggles the endianism of \a u32 (by swapping its bytes). * @@ -778,11 +778,11 @@ typedef struct { * * \note More optimized if only used with values unknown at compile time. */ -# if (defined __GNUC__) -# define swap32(u32) ((uint32_t)__builtin_bswap32((uint32_t)(u32))) -# else -# define swap32(u32) Swap32(u32) -# endif +# if (defined __GNUC__) +# define swap32(u32) ((uint32_t)__builtin_bswap32((uint32_t)(u32))) +# else +# define swap32(u32) Swap32(u32) +# endif /** \brief Toggles the endianism of \a u64 (by swapping its bytes). * @@ -792,11 +792,11 @@ typedef struct { * * \note More optimized if only used with values unknown at compile time. */ -# if (defined __GNUC__) -# define swap64(u64) ((uint64_t)__builtin_bswap64((uint64_t)(u64))) -# else -# define swap64(u64) ((uint64_t)(((uint64_t)swap32((uint64_t)(u64) >> 32)) | ((uint64_t)swap32((uint64_t)(u64)) << 32))) -# endif +# if (defined __GNUC__) +# define swap64(u64) ((uint64_t)__builtin_bswap64((uint64_t)(u64))) +# else +# define swap64(u64) ((uint64_t)(((uint64_t)swap32((uint64_t)(u64) >> 32)) | ((uint64_t)swap32((uint64_t)(u64)) << 32))) +# endif /** @} */ @@ -804,16 +804,16 @@ typedef struct { * * @{ */ -# define _GLOBEXT_ extern /**< extern storage-class specifier. */ -# define _CONST_TYPE_ const /**< const type qualifier. */ -# define _MEM_TYPE_SLOW_ /**< Slow memory type. */ -# define _MEM_TYPE_MEDFAST_ /**< Fairly fast memory type. */ -# define _MEM_TYPE_FAST_ /**< Fast memory type. */ +# define _GLOBEXT_ extern /**< extern storage-class specifier. */ +# define _CONST_TYPE_ const /**< const type qualifier. */ +# define _MEM_TYPE_SLOW_ /**< Slow memory type. */ +# define _MEM_TYPE_MEDFAST_ /**< Fairly fast memory type. */ +# define _MEM_TYPE_FAST_ /**< Fast memory type. */ -# define memcmp_ram2ram memcmp /**< Target-specific memcmp of RAM to RAM. */ -# define memcmp_code2ram memcmp /**< Target-specific memcmp of RAM to NVRAM. */ -# define memcpy_ram2ram memcpy /**< Target-specific memcpy from RAM to RAM. */ -# define memcpy_code2ram memcpy /**< Target-specific memcpy from NVRAM to RAM. */ +# define memcmp_ram2ram memcmp /**< Target-specific memcmp of RAM to RAM. */ +# define memcmp_code2ram memcmp /**< Target-specific memcmp of RAM to NVRAM. */ +# define memcpy_ram2ram memcpy /**< Target-specific memcpy from RAM to RAM. */ +# define memcpy_code2ram memcpy /**< Target-specific memcpy from NVRAM to RAM. */ /** @} */ @@ -826,51 +826,51 @@ typedef struct { * * \return (\a a / \a b) rounded up to the nearest integer. */ -# define div_ceil(a, b) (((a) + (b)-1) / (b)) +# define div_ceil(a, b) (((a) + (b)-1) / (b)) -# endif /* #ifndef __ASSEMBLY__ */ -# ifdef __ICCARM__ +#endif /* #ifndef __ASSEMBLY__ */ +#ifdef __ICCARM__ /** \name Compiler Keywords * * Port of some keywords from GCC to IAR Embedded Workbench. * * @{ */ -# define __asm__ asm -# define __inline__ inline -# define __volatile__ +# define __asm__ asm +# define __inline__ inline +# define __volatile__ /** @} */ -# endif +#endif -# define FUNC_PTR void * +#define FUNC_PTR void * /** * \def unused * \brief Marking \a v as a unused parameter or value. */ -# define unused(v) \ - do { \ - (void)(v); \ - } while (0) +#define unused(v) \ + do { \ + (void)(v); \ + } while (0) /* Define RAMFUNC attribute */ -# if defined(__CC_ARM) /* Keil uVision 4 */ -# define RAMFUNC __attribute__((section(".ramfunc"))) -# elif defined(__ICCARM__) /* IAR Ewarm 5.41+ */ -# define RAMFUNC __ramfunc -# elif defined(__GNUC__) /* GCC CS3 2009q3-68 */ -# define RAMFUNC __attribute__((section(".ramfunc"))) -# endif +#if defined(__CC_ARM) /* Keil uVision 4 */ +# define RAMFUNC __attribute__((section(".ramfunc"))) +#elif defined(__ICCARM__) /* IAR Ewarm 5.41+ */ +# define RAMFUNC __ramfunc +#elif defined(__GNUC__) /* GCC CS3 2009q3-68 */ +# define RAMFUNC __attribute__((section(".ramfunc"))) +#endif /* Define OPTIMIZE_HIGH attribute */ -# if defined(__CC_ARM) /* Keil uVision 4 */ -# define OPTIMIZE_HIGH _Pragma("O3") -# elif defined(__ICCARM__) /* IAR Ewarm 5.41+ */ -# define OPTIMIZE_HIGH _Pragma("optimize=high") -# elif defined(__GNUC__) /* GCC CS3 2009q3-68 */ -# define OPTIMIZE_HIGH __attribute__((optimize("s"))) -# endif +#if defined(__CC_ARM) /* Keil uVision 4 */ +# define OPTIMIZE_HIGH _Pragma("O3") +#elif defined(__ICCARM__) /* IAR Ewarm 5.41+ */ +# define OPTIMIZE_HIGH _Pragma("optimize=high") +#elif defined(__GNUC__) /* GCC CS3 2009q3-68 */ +# define OPTIMIZE_HIGH __attribute__((optimize("s"))) +#endif // kmod #define PASS 0 // kmod #define FAIL 1 // kmod #define LOW 0 @@ -887,101 +887,101 @@ typedef uint64_t U64; //!< 64-bit unsigned integer. typedef float F32; //!< 32-bit floating-point number. typedef double F64; //!< 64-bit floating-point number. -# define MSB(u16) (((U8 *)&(u16))[1]) //!< Most significant byte of \a u16. -# define LSB(u16) (((U8 *)&(u16))[0]) //!< Least significant byte of \a u16. - -# define MSH(u32) (((U16 *)&(u32))[1]) //!< Most significant half-word of \a u32. -# define LSH(u32) (((U16 *)&(u32))[0]) //!< Least significant half-word of \a u32. -# define MSB0W(u32) (((U8 *)&(u32))[3]) //!< Most significant byte of 1st rank of \a u32. -# define MSB1W(u32) (((U8 *)&(u32))[2]) //!< Most significant byte of 2nd rank of \a u32. -# define MSB2W(u32) (((U8 *)&(u32))[1]) //!< Most significant byte of 3rd rank of \a u32. -# define MSB3W(u32) (((U8 *)&(u32))[0]) //!< Most significant byte of 4th rank of \a u32. -# define LSB3W(u32) MSB0W(u32) //!< Least significant byte of 4th rank of \a u32. -# define LSB2W(u32) MSB1W(u32) //!< Least significant byte of 3rd rank of \a u32. -# define LSB1W(u32) MSB2W(u32) //!< Least significant byte of 2nd rank of \a u32. -# define LSB0W(u32) MSB3W(u32) //!< Least significant byte of 1st rank of \a u32. - -# define MSW(u64) (((U32 *)&(u64))[1]) //!< Most significant word of \a u64. -# define LSW(u64) (((U32 *)&(u64))[0]) //!< Least significant word of \a u64. -# define MSH0(u64) (((U16 *)&(u64))[3]) //!< Most significant half-word of 1st rank of \a u64. -# define MSH1(u64) (((U16 *)&(u64))[2]) //!< Most significant half-word of 2nd rank of \a u64. -# define MSH2(u64) (((U16 *)&(u64))[1]) //!< Most significant half-word of 3rd rank of \a u64. -# define MSH3(u64) (((U16 *)&(u64))[0]) //!< Most significant half-word of 4th rank of \a u64. -# define LSH3(u64) MSH0(u64) //!< Least significant half-word of 4th rank of \a u64. -# define LSH2(u64) MSH1(u64) //!< Least significant half-word of 3rd rank of \a u64. -# define LSH1(u64) MSH2(u64) //!< Least significant half-word of 2nd rank of \a u64. -# define LSH0(u64) MSH3(u64) //!< Least significant half-word of 1st rank of \a u64. -# define MSB0D(u64) (((U8 *)&(u64))[7]) //!< Most significant byte of 1st rank of \a u64. -# define MSB1D(u64) (((U8 *)&(u64))[6]) //!< Most significant byte of 2nd rank of \a u64. -# define MSB2D(u64) (((U8 *)&(u64))[5]) //!< Most significant byte of 3rd rank of \a u64. -# define MSB3D(u64) (((U8 *)&(u64))[4]) //!< Most significant byte of 4th rank of \a u64. -# define MSB4D(u64) (((U8 *)&(u64))[3]) //!< Most significant byte of 5th rank of \a u64. -# define MSB5D(u64) (((U8 *)&(u64))[2]) //!< Most significant byte of 6th rank of \a u64. -# define MSB6D(u64) (((U8 *)&(u64))[1]) //!< Most significant byte of 7th rank of \a u64. -# define MSB7D(u64) (((U8 *)&(u64))[0]) //!< Most significant byte of 8th rank of \a u64. -# define LSB7D(u64) MSB0D(u64) //!< Least significant byte of 8th rank of \a u64. -# define LSB6D(u64) MSB1D(u64) //!< Least significant byte of 7th rank of \a u64. -# define LSB5D(u64) MSB2D(u64) //!< Least significant byte of 6th rank of \a u64. -# define LSB4D(u64) MSB3D(u64) //!< Least significant byte of 5th rank of \a u64. -# define LSB3D(u64) MSB4D(u64) //!< Least significant byte of 4th rank of \a u64. -# define LSB2D(u64) MSB5D(u64) //!< Least significant byte of 3rd rank of \a u64. -# define LSB1D(u64) MSB6D(u64) //!< Least significant byte of 2nd rank of \a u64. -# define LSB0D(u64) MSB7D(u64) //!< Least significant byte of 1st rank of \a u64. - -# define LSB0(u32) LSB0W(u32) //!< Least significant byte of 1st rank of \a u32. -# define LSB1(u32) LSB1W(u32) //!< Least significant byte of 2nd rank of \a u32. -# define LSB2(u32) LSB2W(u32) //!< Least significant byte of 3rd rank of \a u32. -# define LSB3(u32) LSB3W(u32) //!< Least significant byte of 4th rank of \a u32. -# define MSB3(u32) MSB3W(u32) //!< Most significant byte of 4th rank of \a u32. -# define MSB2(u32) MSB2W(u32) //!< Most significant byte of 3rd rank of \a u32. -# define MSB1(u32) MSB1W(u32) //!< Most significant byte of 2nd rank of \a u32. -# define MSB0(u32) MSB0W(u32) //!< Most significant byte of 1st rank of \a u32. - -# if defined(__ICCARM__) -# define SHORTENUM __packed -# elif defined(__GNUC__) -# define SHORTENUM __attribute__((packed)) -# endif +#define MSB(u16) (((U8 *)&(u16))[1]) //!< Most significant byte of \a u16. +#define LSB(u16) (((U8 *)&(u16))[0]) //!< Least significant byte of \a u16. + +#define MSH(u32) (((U16 *)&(u32))[1]) //!< Most significant half-word of \a u32. +#define LSH(u32) (((U16 *)&(u32))[0]) //!< Least significant half-word of \a u32. +#define MSB0W(u32) (((U8 *)&(u32))[3]) //!< Most significant byte of 1st rank of \a u32. +#define MSB1W(u32) (((U8 *)&(u32))[2]) //!< Most significant byte of 2nd rank of \a u32. +#define MSB2W(u32) (((U8 *)&(u32))[1]) //!< Most significant byte of 3rd rank of \a u32. +#define MSB3W(u32) (((U8 *)&(u32))[0]) //!< Most significant byte of 4th rank of \a u32. +#define LSB3W(u32) MSB0W(u32) //!< Least significant byte of 4th rank of \a u32. +#define LSB2W(u32) MSB1W(u32) //!< Least significant byte of 3rd rank of \a u32. +#define LSB1W(u32) MSB2W(u32) //!< Least significant byte of 2nd rank of \a u32. +#define LSB0W(u32) MSB3W(u32) //!< Least significant byte of 1st rank of \a u32. + +#define MSW(u64) (((U32 *)&(u64))[1]) //!< Most significant word of \a u64. +#define LSW(u64) (((U32 *)&(u64))[0]) //!< Least significant word of \a u64. +#define MSH0(u64) (((U16 *)&(u64))[3]) //!< Most significant half-word of 1st rank of \a u64. +#define MSH1(u64) (((U16 *)&(u64))[2]) //!< Most significant half-word of 2nd rank of \a u64. +#define MSH2(u64) (((U16 *)&(u64))[1]) //!< Most significant half-word of 3rd rank of \a u64. +#define MSH3(u64) (((U16 *)&(u64))[0]) //!< Most significant half-word of 4th rank of \a u64. +#define LSH3(u64) MSH0(u64) //!< Least significant half-word of 4th rank of \a u64. +#define LSH2(u64) MSH1(u64) //!< Least significant half-word of 3rd rank of \a u64. +#define LSH1(u64) MSH2(u64) //!< Least significant half-word of 2nd rank of \a u64. +#define LSH0(u64) MSH3(u64) //!< Least significant half-word of 1st rank of \a u64. +#define MSB0D(u64) (((U8 *)&(u64))[7]) //!< Most significant byte of 1st rank of \a u64. +#define MSB1D(u64) (((U8 *)&(u64))[6]) //!< Most significant byte of 2nd rank of \a u64. +#define MSB2D(u64) (((U8 *)&(u64))[5]) //!< Most significant byte of 3rd rank of \a u64. +#define MSB3D(u64) (((U8 *)&(u64))[4]) //!< Most significant byte of 4th rank of \a u64. +#define MSB4D(u64) (((U8 *)&(u64))[3]) //!< Most significant byte of 5th rank of \a u64. +#define MSB5D(u64) (((U8 *)&(u64))[2]) //!< Most significant byte of 6th rank of \a u64. +#define MSB6D(u64) (((U8 *)&(u64))[1]) //!< Most significant byte of 7th rank of \a u64. +#define MSB7D(u64) (((U8 *)&(u64))[0]) //!< Most significant byte of 8th rank of \a u64. +#define LSB7D(u64) MSB0D(u64) //!< Least significant byte of 8th rank of \a u64. +#define LSB6D(u64) MSB1D(u64) //!< Least significant byte of 7th rank of \a u64. +#define LSB5D(u64) MSB2D(u64) //!< Least significant byte of 6th rank of \a u64. +#define LSB4D(u64) MSB3D(u64) //!< Least significant byte of 5th rank of \a u64. +#define LSB3D(u64) MSB4D(u64) //!< Least significant byte of 4th rank of \a u64. +#define LSB2D(u64) MSB5D(u64) //!< Least significant byte of 3rd rank of \a u64. +#define LSB1D(u64) MSB6D(u64) //!< Least significant byte of 2nd rank of \a u64. +#define LSB0D(u64) MSB7D(u64) //!< Least significant byte of 1st rank of \a u64. + +#define LSB0(u32) LSB0W(u32) //!< Least significant byte of 1st rank of \a u32. +#define LSB1(u32) LSB1W(u32) //!< Least significant byte of 2nd rank of \a u32. +#define LSB2(u32) LSB2W(u32) //!< Least significant byte of 3rd rank of \a u32. +#define LSB3(u32) LSB3W(u32) //!< Least significant byte of 4th rank of \a u32. +#define MSB3(u32) MSB3W(u32) //!< Most significant byte of 4th rank of \a u32. +#define MSB2(u32) MSB2W(u32) //!< Most significant byte of 3rd rank of \a u32. +#define MSB1(u32) MSB1W(u32) //!< Most significant byte of 2nd rank of \a u32. +#define MSB0(u32) MSB0W(u32) //!< Most significant byte of 1st rank of \a u32. + +#if defined(__ICCARM__) +# define SHORTENUM __packed +#elif defined(__GNUC__) +# define SHORTENUM __attribute__((packed)) +#endif /* No operation */ -# if defined(__ICCARM__) -# define nop() __no_operation() -# elif defined(__GNUC__) -# define nop() (__NOP()) -# endif - -# define FLASH_DECLARE(x) const x -# define FLASH_EXTERN(x) extern const x -# define PGM_READ_BYTE(x) *(x) -# define PGM_READ_WORD(x) *(x) -# define MEMCPY_ENDIAN memcpy -# define PGM_READ_BLOCK(dst, src, len) memcpy((dst), (src), (len)) +#if defined(__ICCARM__) +# define nop() __no_operation() +#elif defined(__GNUC__) +# define nop() (__NOP()) +#endif + +#define FLASH_DECLARE(x) const x +#define FLASH_EXTERN(x) extern const x +#define PGM_READ_BYTE(x) *(x) +#define PGM_READ_WORD(x) *(x) +#define MEMCPY_ENDIAN memcpy +#define PGM_READ_BLOCK(dst, src, len) memcpy((dst), (src), (len)) /*Defines the Flash Storage for the request and response of MAC*/ -# define CMD_ID_OCTET (0) +#define CMD_ID_OCTET (0) /* Converting of values from CPU endian to little endian. */ -# define CPU_ENDIAN_TO_LE16(x) (x) -# define CPU_ENDIAN_TO_LE32(x) (x) -# define CPU_ENDIAN_TO_LE64(x) (x) +#define CPU_ENDIAN_TO_LE16(x) (x) +#define CPU_ENDIAN_TO_LE32(x) (x) +#define CPU_ENDIAN_TO_LE64(x) (x) /* Converting of values from little endian to CPU endian. */ -# define LE16_TO_CPU_ENDIAN(x) (x) -# define LE32_TO_CPU_ENDIAN(x) (x) -# define LE64_TO_CPU_ENDIAN(x) (x) +#define LE16_TO_CPU_ENDIAN(x) (x) +#define LE32_TO_CPU_ENDIAN(x) (x) +#define LE64_TO_CPU_ENDIAN(x) (x) /* Converting of constants from little endian to CPU endian. */ -# define CLE16_TO_CPU_ENDIAN(x) (x) -# define CLE32_TO_CPU_ENDIAN(x) (x) -# define CLE64_TO_CPU_ENDIAN(x) (x) +#define CLE16_TO_CPU_ENDIAN(x) (x) +#define CLE32_TO_CPU_ENDIAN(x) (x) +#define CLE64_TO_CPU_ENDIAN(x) (x) /* Converting of constants from CPU endian to little endian. */ -# define CCPU_ENDIAN_TO_LE16(x) (x) -# define CCPU_ENDIAN_TO_LE32(x) (x) -# define CCPU_ENDIAN_TO_LE64(x) (x) +#define CCPU_ENDIAN_TO_LE16(x) (x) +#define CCPU_ENDIAN_TO_LE32(x) (x) +#define CCPU_ENDIAN_TO_LE64(x) (x) -# define ADDR_COPY_DST_SRC_16(dst, src) ((dst) = (src)) -# define ADDR_COPY_DST_SRC_64(dst, src) ((dst) = (src)) +#define ADDR_COPY_DST_SRC_16(dst, src) ((dst) = (src)) +#define ADDR_COPY_DST_SRC_64(dst, src) ((dst) = (src)) /** * @brief Converts a 64-Bit value into a 8 Byte array diff --git a/tmk_core/protocol/arm_atsam/usb/udi_cdc.c b/tmk_core/protocol/arm_atsam/usb/udi_cdc.c index 0391b49f6686..d40030f36dfc 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_cdc.c +++ b/tmk_core/protocol/arm_atsam/usb/udi_cdc.c @@ -89,14 +89,14 @@ * * @{ */ -bool udi_cdc_comm_enable(void); -void udi_cdc_comm_disable(void); -bool udi_cdc_comm_setup(void); -bool udi_cdc_data_enable(void); -void udi_cdc_data_disable(void); -bool udi_cdc_data_setup(void); -uint8_t udi_cdc_getsetting(void); -void udi_cdc_data_sof_notify(void); +bool udi_cdc_comm_enable(void); +void udi_cdc_comm_disable(void); +bool udi_cdc_comm_setup(void); +bool udi_cdc_data_enable(void); +void udi_cdc_data_disable(void); +bool udi_cdc_data_setup(void); +uint8_t udi_cdc_getsetting(void); +void udi_cdc_data_sof_notify(void); UDC_DESC_STORAGE udi_api_t udi_api_cdc_comm = {.enable = udi_cdc_comm_enable, .disable = udi_cdc_comm_disable, .setup = udi_cdc_comm_setup, .getsetting = udi_cdc_getsetting, .sof_notify = NULL}; UDC_DESC_STORAGE udi_api_t udi_api_cdc_data = { .enable = udi_cdc_data_enable, diff --git a/tmk_core/protocol/arm_atsam/usb/usb_device_udd.c b/tmk_core/protocol/arm_atsam/usb/usb_device_udd.c index e4510e73634f..bc5e79d9f09c 100644 --- a/tmk_core/protocol/arm_atsam/usb/usb_device_udd.c +++ b/tmk_core/protocol/arm_atsam/usb/usb_device_udd.c @@ -608,11 +608,10 @@ uint8_t udd_getaddress(void) { } void udd_send_remotewakeup(void) { - uint32_t try - = 5; + uint32_t try = 5; udd_wait_clock_ready(); udd_sleep_mode(UDD_STATE_IDLE); - while (2 != usb_get_state_machine_status(&usb_device) && try --) { + while (2 != usb_get_state_machine_status(&usb_device) && try--) { usb_device_send_remote_wake_up(&usb_device); } } From a5901a6c0d4f5495279467650797a4fa0ac40368 Mon Sep 17 00:00:00 2001 From: Adam Lickel Date: Mon, 21 Feb 2022 09:35:23 -0800 Subject: [PATCH 0223/1832] [Keymap] BDN9 keymap (#15924) --- keyboards/keebio/bdn9/keymaps/lickel/keymap.c | 157 ++++++++++++++++++ .../keebio/bdn9/keymaps/lickel/readme.md | 17 ++ keyboards/keebio/bdn9/keymaps/lickel/rules.mk | 5 + 3 files changed, 179 insertions(+) create mode 100644 keyboards/keebio/bdn9/keymaps/lickel/keymap.c create mode 100644 keyboards/keebio/bdn9/keymaps/lickel/readme.md create mode 100644 keyboards/keebio/bdn9/keymaps/lickel/rules.mk diff --git a/keyboards/keebio/bdn9/keymaps/lickel/keymap.c b/keyboards/keebio/bdn9/keymaps/lickel/keymap.c new file mode 100644 index 000000000000..7067b12d8799 --- /dev/null +++ b/keyboards/keebio/bdn9/keymaps/lickel/keymap.c @@ -0,0 +1,157 @@ +/* Copyright 2022 @ Adam Lickel + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum encoder_names { + _LEFT, + _RIGHT, + _MIDDLE, +}; + +enum bdn9_layers { + _MEDIA = 0, + _XCODE, + _CUST1, + _CUST2, +}; + +#define KC_XCRUN LGUI(KC_R) +#define KC_XCPAUSE LCTL(LGUI(KC_Y)) +#define KC_XCSTOP LGUI(KC_DOT) + +// clang-format off + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MEDIA] = LAYOUT( + TO(_XCODE), RGB_SPD, RGB_SPI, + RGB_MOD, KC_MPLY, KC_MSTP, + RGB_RMOD, KC_MNXT, KC_MPRV + ), + [_XCODE] = LAYOUT( + TG(_XCODE), KC_NO, KC_NO, + KC_XCRUN, KC_XCPAUSE, KC_XCSTOP, + KC_F6, KC_F7, KC_F8 + ), + [_CUST1] = LAYOUT( + TG(_CUST1), _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [_CUST2] = LAYOUT( + TG(_CUST2), _______, _______, + _______, _______, _______, + _______, _______, _______ + ), +}; + +// clang-format on + +layer_state_t layer_state_set_user(layer_state_t state) { +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) + uint8_t layer = get_highest_layer(state); + + switch (layer) { + case _MEDIA: // Reset + rgblight_reload_from_eeprom(); + break; + + case _XCODE: + rgblight_sethsv_noeeprom(HSV_BLUE); +# if defined(RGB_MATRIX_ENABLE) && defined(ENABLE_RGB_MATRIX_BREATHING) + rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING); +# elif defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_EFFECT_BREATHING) + rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 1); +# endif + break; + + case _CUST1: + rgblight_sethsv_noeeprom(HSV_GREEN); +# if defined(RGB_MATRIX_ENABLE) && defined(ENABLE_RGB_MATRIX_BREATHING) + rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING); +# elif defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_EFFECT_BREATHING) + rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 1); +# endif + break; + + case _CUST2: + rgblight_sethsv_noeeprom(HSV_PURPLE); +# if defined(RGB_MATRIX_ENABLE) && defined(ENABLE_RGB_MATRIX_BREATHING) + rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING); +# elif defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_EFFECT_BREATHING) + rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 1); +# endif + break; + + default: + break; + } +#endif + return state; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + uint8_t layer = get_highest_layer(layer_state); + + switch (layer) { +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) + case 0: // Reset + if (index == _LEFT) { + if (clockwise) { + rgblight_increase_hue(); + } else { + rgblight_decrease_hue(); + } + } else if (index == _MIDDLE) { + if (clockwise) { + rgblight_increase_sat(); + } else { + rgblight_decrease_sat(); + } + } else if (index == _RIGHT) { + if (clockwise) { + rgblight_increase_val(); + } else { + rgblight_decrease_val(); + } + } + break; +#endif + + default: + if (index == _LEFT) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == _MIDDLE) { + if (clockwise) { + tap_code(KC_DOWN); + } else { + tap_code(KC_UP); + } + } else if (index == _RIGHT) { + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + break; + } + return true; +} diff --git a/keyboards/keebio/bdn9/keymaps/lickel/readme.md b/keyboards/keebio/bdn9/keymaps/lickel/readme.md new file mode 100644 index 000000000000..b729319b99c5 --- /dev/null +++ b/keyboards/keebio/bdn9/keymaps/lickel/readme.md @@ -0,0 +1,17 @@ +# lickel's BDN9 keymap + +- Via support is enabled by default +- Changing layers to non-zero changes the RGBs to breathing colors +- Changing to layer 0 resets the RGBs to EEPROM settings +- Layer 0 encoders are: Hue, Saturation, Value +- Other layers are: Volume, Arrow, Pg up/down + +- Layer 0: Media Controls & RGB Effects +- Layer 1: Xcode Debugging +- Layers 2 and 3: Reserved for Via + +## Changelog + +### 1/17/2022 - 1.0 + +- Initial release diff --git a/keyboards/keebio/bdn9/keymaps/lickel/rules.mk b/keyboards/keebio/bdn9/keymaps/lickel/rules.mk new file mode 100644 index 000000000000..c44f74d53a50 --- /dev/null +++ b/keyboards/keebio/bdn9/keymaps/lickel/rules.mk @@ -0,0 +1,5 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +MOUSEKEY_ENABLE = yes +CONSOLE_ENABLE = no +COMMAND_ENABLE = no From 5dcc0743f596f97cbae548315b48478ce4d81e47 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 22 Feb 2022 02:57:52 +0000 Subject: [PATCH 0224/1832] Install extra CLI dependencies that are missing (#16425) --- .github/workflows/format.yaml | 1 + .github/workflows/format_push.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yaml index f1525526ce88..9415861eaa7a 100644 --- a/.github/workflows/format.yaml +++ b/.github/workflows/format.yaml @@ -22,6 +22,7 @@ jobs: - name: Install dependencies run: | apt-get update && apt-get install -y dos2unix + pip3 install -r requirements-dev.txt - uses: actions/checkout@v2 with: diff --git a/.github/workflows/format_push.yaml b/.github/workflows/format_push.yaml index b79130f17a77..5a17a4d65cb8 100644 --- a/.github/workflows/format_push.yaml +++ b/.github/workflows/format_push.yaml @@ -16,6 +16,7 @@ jobs: - name: Install dependencies run: | apt-get update && apt-get install -y dos2unix + pip3 install -r requirements-dev.txt - uses: actions/checkout@v2 with: From 7646e567bdf7119899a32f50cc0bad6d957b4f6d Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 23 Feb 2022 01:09:45 +1100 Subject: [PATCH 0225/1832] handwired/frankie_macropad: disable some features to reduce size (#16431) --- keyboards/handwired/frankie_macropad/rules.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/handwired/frankie_macropad/rules.mk b/keyboards/handwired/frankie_macropad/rules.mk index 175a3d4ef632..46e261ffcb2b 100644 --- a/keyboards/handwired/frankie_macropad/rules.mk +++ b/keyboards/handwired/frankie_macropad/rules.mk @@ -18,3 +18,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes LTO_ENABLE = yes +SPACE_CADET_ENABLE = no +MAGIC_ENABLE = no +GRAVE_ESC_ENABLE = no From 5330d0888dd10bfbdb55196d0713db344e0c3fbb Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 22 Feb 2022 18:24:18 +0000 Subject: [PATCH 0226/1832] Install extra CLI dependencies that are missing (#16426) * Install extra CLI dependencies that are missing * dos2unix is part of base container --- .github/workflows/format.yaml | 9 ++++----- .github/workflows/format_push.yaml | 9 ++++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yaml index 9415861eaa7a..ba0a86aa78fa 100644 --- a/.github/workflows/format.yaml +++ b/.github/workflows/format.yaml @@ -19,15 +19,14 @@ jobs: container: qmkfm/qmk_cli steps: - - name: Install dependencies - run: | - apt-get update && apt-get install -y dos2unix - pip3 install -r requirements-dev.txt - - uses: actions/checkout@v2 with: fetch-depth: 0 + - name: Install dependencies + run: | + pip3 install -r requirements-dev.txt + - uses: trilom/file-changes-action@v1.2.4 id: file_changes with: diff --git a/.github/workflows/format_push.yaml b/.github/workflows/format_push.yaml index 5a17a4d65cb8..4b51213b3670 100644 --- a/.github/workflows/format_push.yaml +++ b/.github/workflows/format_push.yaml @@ -13,15 +13,14 @@ jobs: container: qmkfm/qmk_cli steps: - - name: Install dependencies - run: | - apt-get update && apt-get install -y dos2unix - pip3 install -r requirements-dev.txt - - uses: actions/checkout@v2 with: fetch-depth: 0 + - name: Install dependencies + run: | + pip3 install -r requirements-dev.txt + - name: Run qmk formatters shell: 'bash {0}' run: | From 8aec20c0da9481c5294b216346231a98570d1626 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Tue, 22 Feb 2022 10:29:47 -0800 Subject: [PATCH 0227/1832] Format code according to conventions (#16435) --- lib/python/qmk/cli/pytest.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/python/qmk/cli/pytest.py b/lib/python/qmk/cli/pytest.py index 2e4a0a9f007c..b7b17f0e9da4 100644 --- a/lib/python/qmk/cli/pytest.py +++ b/lib/python/qmk/cli/pytest.py @@ -12,7 +12,8 @@ def pytest(cli): """Run several linting/testing commands. """ - nose2 = cli.run(['nose2', '-v', '-t' 'lib/python', *cli.args.test], capture_output=False, stdin=DEVNULL) + nose2 = cli.run(['nose2', '-v', '-t' + 'lib/python', *cli.args.test], capture_output=False, stdin=DEVNULL) flake8 = cli.run(['flake8', 'lib/python'], capture_output=False, stdin=DEVNULL) return flake8.returncode | nose2.returncode From cf31355f08dca311a013168eb3eb995e2fc6a3d1 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 23 Feb 2022 17:33:08 +0000 Subject: [PATCH 0228/1832] Changelog 2022q1 (#16380) * Initial changelog pass * update generate-develop-pr-list content * Fix bad word-ness * Fix generate-develop-pr-list ignores * Update docs/ChangeLog/20220226.md Co-authored-by: Sergey Vlasov Co-authored-by: Sergey Vlasov --- docs/ChangeLog/20220226.md | 489 ++++++++++++++++++ docs/ChangeLog/20220226/PR15304.md | 13 - docs/_summary.md | 2 +- docs/breaking_changes.md | 17 +- docs/breaking_changes_history.md | 1 + .../qmk/cli/generate/develop_pr_list.py | 3 +- 6 files changed, 502 insertions(+), 23 deletions(-) create mode 100644 docs/ChangeLog/20220226.md delete mode 100644 docs/ChangeLog/20220226/PR15304.md diff --git a/docs/ChangeLog/20220226.md b/docs/ChangeLog/20220226.md new file mode 100644 index 000000000000..a469612fe8b3 --- /dev/null +++ b/docs/ChangeLog/20220226.md @@ -0,0 +1,489 @@ +# QMK Breaking Changes - 2022 February 26 Changelog + +## Notable Features :id=notable-features + +### Default USB Polling rate now 1kHz ([#15352](https://github.com/qmk/qmk_firmware/pull/15352)) + +The default USB Polling rate has been aligned across supported platforms to now be 1ms/1kHz. + +Something something *Lets go gamers!* + +### Split support for pointing devices ([#15304](https://github.com/qmk/qmk_firmware/pull/15304)) + +Pointing devices can now be shared across a split keyboard with support for a single pointing device or a pointing device on each side. + +See the [Pointing Device](feature_pointing_device.md) documentation for further configuration options. + +## Changes Requiring User Action :id=changes-requiring-user-action + +### Legacy macro and action_function system removed ([#16025](https://github.com/qmk/qmk_firmware/pull/16025)) + +The long time deprecated `MACRO()` and `action_get_macro` methods have been removed. Where possible, existing usages have been migrated over to core [Macros](feature_macros.md). + +### Create a build error if no bootloader is specified ([#16181](https://github.com/qmk/qmk_firmware/pull/16181)) + +Bootloader configuration is no longer assumed. Keyboards must now set either: + +* `BOOTLOADER` within `rules.mk` +* `bootloader` within `info.json` + +### Rename `AdafruitBLE` to `BluefruitLE` ([#16127](https://github.com/qmk/qmk_firmware/pull/16127)) + +In preparation of future bluetooth work, the `AdafruitBLE` integration has been renamed to allow potential for any other Adafruit BLE products. + +### Updated Keyboard Codebases :id=updated-keyboard-codebases + +The following keyboards have had their source moved within QMK: + +| Old Keyboard Name | New Keyboard Name | +|----------------------------|------------------------------------| +| 6ball | maple_computing/6ball | +| 7skb | salicylic_acid3/7skb | +| 7splus | salicylic_acid3/7splus | +| acr60 | mechkeys/acr60 | +| adalyn | tominabox1/adalyn | +| ajisai74 | salicylic_acid3/ajisai74 | +| aleth42 | 25keys/aleth42 | +| alicia_cook | ibnuda/alicia_cook | +| allison_numpad | prototypist/allison_numpad | +| allison | prototypist/allison | +| alu84 | mechkeys/alu84 | +| angel17 | kakunpc/angel17 | +| angel64/alpha | kakunpc/angel64/alpha | +| angel64/rev1 | kakunpc/angel64/rev1 | +| arch_36 | obosob/arch_36 | +| bakeneko60 | kkatano/bakeneko60 | +| bakeneko65/rev2 | kkatano/bakeneko65/rev2 | +| bakeneko65/rev3 | kkatano/bakeneko65/rev3 | +| bakeneko80 | kkatano/bakeneko80 | +| barleycorn | yiancardesigns/barleycorn | +| bat43/rev1 | dailycraft/bat43/rev1 | +| bat43/rev2 | dailycraft/bat43/rev2 | +| bigseries/1key | woodkeys/bigseries/1key | +| bigseries/2key | woodkeys/bigseries/2key | +| bigseries/3key | woodkeys/bigseries/3key | +| bigseries/4key | woodkeys/bigseries/4key | +| bkf | drhigsby/bkf | +| business_card/alpha | kakunpc/business_card/alpha | +| business_card/beta | kakunpc/business_card/beta | +| butterstick | gboards/butterstick | +| c39 | maple_computing/c39 | +| cassette42 | 25keys/cassette42 | +| chidori | kagizaraya/chidori | +| chili | ydkb/chili | +| chimera_ergo | glenpickle/chimera_ergo | +| chimera_ls | glenpickle/chimera_ls | +| chimera_ortho | glenpickle/chimera_ortho | +| chimera_ortho_plus | glenpickle/chimera_ortho_plus | +| choco60 | recompile_keys/choco60 | +| choc_taro | kakunpc/choc_taro | +| christmas_tree | maple_computing/christmas_tree | +| claw44/rev1 | dailycraft/claw44/rev1 | +| cocoa40 | recompile_keys/cocoa40 | +| comet46 | satt/comet46 | +| cu24 | capsunlocked/cu24 | +| cu75 | capsunlocked/cu75 | +| cu80 | capsunlocked/cu80/v1 | +| delilah | rainkeebs/delilah | +| diverge3 | unikeyboard/diverge3 | +| divergetm2 | unikeyboard/divergetm2 | +| dozen0 | yynmt/dozen0 | +| dubba175 | drhigsby/dubba175 | +| eggman | qpockets/eggman | +| ergo42 | biacco42/ergo42 | +| ergoarrows | salicylic_acid3/ergoarrows | +| ergodash/mini | omkbd/ergodash/mini | +| ergodash/rev1 | omkbd/ergodash/rev1 | +| ergodox_infinity | input_club/ergodox_infinity | +| ergotaco | gboards/ergotaco | +| espectro | mechkeys/espectro | +| felix | unikeyboard/felix | +| four_banger | bpiphany/four_banger | +| freyr | hnahkb/freyr | +| geminate60 | weirdo/geminate60 | +| georgi | gboards/georgi | +| gergo | gboards/gergo | +| getta25 | salicylic_acid3/getta25 | +| gingham | yiancardesigns/gingham | +| gurindam | ibnuda/gurindam | +| halberd | kagizaraya/halberd | +| hecomi/alpha | takashiski/hecomi/alpha | +| hid_liber | bpiphany/hid_liber | +| id67/default_rgb | idobao/id67/default_rgb | +| id67/rgb | idobao/id67/rgb | +| id80 | idobao/id80/v1 | +| id87 | idobao/id87/v1 | +| idobo | idobao/id75/v1 | +| infinity60 | input_club/infinity60 | +| ivy/rev1 | maple_computing/ivy/rev1 | +| jisplit89 | salicylic_acid3/jisplit89 | +| jnao | maple_computing/jnao | +| just60 | ydkb/just60 | +| kagamidget | yynmt/kagamidget | +| kelowna/rgb64 | weirdo/kelowna/rgb64 | +| kprepublic/bm65hsrgb_iso | kprepublic/bm65hsrgb_iso/rev1 | +| kprepublic/bm68hsrgb | kprepublic/bm68hsrgb/rev1 | +| k_type | input_club/k_type | +| latin17rgb | latincompass/latin17rgb | +| latin47ble | latincompass/latin47ble | +| latin60rgb | latincompass/latin60rgb | +| latin64ble | latincompass/latin64ble | +| latin6rgb | latincompass/latin6rgb | +| latinpadble | latincompass/latinpadble | +| latinpad | latincompass/latinpad | +| launchpad/rev1 | maple_computing/launchpad/rev1 | +| lck75 | lyso1/lck75 | +| le_chiffre | tominabox1/le_chiffre | +| lefishe | lyso1/lefishe | +| lets_split_eh/eh | maple_computing/lets_split_eh/eh | +| ls_60 | weirdo/ls_60 | +| m3n3van | matthewdias/m3n3van | +| mechmini/v1 | mechkeys/mechmini/v1 | +| mechmini/v2 | mechkeys/mechmini/v2 | +| meira | woodkeys/meira | +| meishi2 | biacco42/meishi2 | +| meishi | biacco42/meishi | +| minidox/rev1 | maple_computing/minidox/rev1 | +| minim | matthewdias/minim | +| mio | recompile_keys/mio | +| model_v | matthewdias/model_v | +| montex | idobao/montex/v1 | +| nafuda | salicylic_acid3/nafuda | +| naiping/np64 | weirdo/naiping/np64 | +| naiping/nphhkb | weirdo/naiping/nphhkb | +| naiping/npminila | weirdo/naiping/npminila | +| naked48 | salicylic_acid3/naked48 | +| naked60 | salicylic_acid3/naked60 | +| naked64 | salicylic_acid3/naked64 | +| namecard2x4 | takashiski/namecard2x4 | +| nebula12 | spaceholdings/nebula12 | +| nebula68b | spaceholdings/nebula68b | +| nebula68 | spaceholdings/nebula68 | +| niu_mini | kbdfans/niu_mini | +| nk1 | novelkeys/nk1 | +| nk65 | novelkeys/nk65 | +| nk87 | novelkeys/nk87 | +| nknl7en | salicylic_acid3/nknl7en | +| nknl7jp | salicylic_acid3/nknl7jp | +| nomu30 | recompile_keys/nomu30 | +| novelpad | novelkeys/novelpad | +| ogurec | drhigsby/ogurec | +| otaku_split/rev0 | takashiski/otaku_split/rev0 | +| otaku_split/rev1 | takashiski/otaku_split/rev1 | +| owl8 | dailycraft/owl8 | +| packrat | drhigsby/packrat | +| pistachio_mp | rate/pistachio_mp | +| pistachio_pro | rate/pistachio_pro | +| pistachio | rate/pistachio | +| plexus75 | checkerboards/plexus75 | +| pursuit40 | checkerboards/pursuit40 | +| qaz | tominabox1/qaz | +| quark | checkerboards/quark | +| rabbit_capture_plan | kakunpc/rabbit_capture_plan | +| rainkeeb | rainkeebs/rainkeeb | +| reviung33 | reviung/reviung33 | +| reviung34 | reviung/reviung34 | +| reviung39 | reviung/reviung39 | +| reviung41 | reviung/reviung41 | +| reviung53 | reviung/reviung53 | +| reviung5 | reviung/reviung5 | +| reviung61 | reviung/reviung61 | +| runner3680/3x6 | omkbd/runner3680/3x6 | +| runner3680/3x7 | omkbd/runner3680/3x7 | +| runner3680/3x8 | omkbd/runner3680/3x8 | +| runner3680/4x6 | omkbd/runner3680/4x6 | +| runner3680/4x7 | omkbd/runner3680/4x7 | +| runner3680/4x8 | omkbd/runner3680/4x8 | +| runner3680/5x6_5x8 | omkbd/runner3680/5x6_5x8 | +| runner3680/5x6 | omkbd/runner3680/5x6 | +| runner3680/5x7 | omkbd/runner3680/5x7 | +| runner3680/5x8 | omkbd/runner3680/5x8 | +| scarletbandana | woodkeys/scarletbandana | +| scythe | kagizaraya/scythe | +| seigaiha | yiancardesigns/seigaiha | +| setta21 | salicylic_acid3/setta21 | +| space_space/rev1 | qpockets/space_space/rev1 | +| space_space/rev2 | qpockets/space_space/rev2 | +| spiderisland/winry25tc | winry/winry25tc | +| splitreus62 | nacly/splitreus62 | +| squiggle/rev1 | ibnuda/squiggle/rev1 | +| standaside | edi/standaside | +| steal_this_keyboard | obosob/steal_this_keyboard | +| stella | hnahkb/stella | +| suihankey/alpha | kakunpc/suihankey/alpha | +| suihankey/rev1 | kakunpc/suihankey/rev1 | +| suihankey/split | kakunpc/suihankey/split | +| thedogkeyboard | kakunpc/thedogkeyboard | +| the_ruler | maple_computing/the_ruler | +| tiger910 | weirdo/tiger910 | +| treadstone32 | marksard/treadstone32 | +| treadstone48/rev1 | marksard/treadstone48/rev1 | +| treadstone48/rev2 | marksard/treadstone48/rev2 | +| txuu | matthewdias/txuu | +| ua62 | nacly/ua62 | +| underscore33/rev1 | tominabox1/underscore33/rev1 | +| underscore33/rev2 | tominabox1/underscore33/rev2 | +| vn66 | hnahkb/vn66 | +| wallaby | kkatano/wallaby | +| wanten | qpockets/wanten | +| whitefox | input_club/whitefox | +| wings42/rev1 | dailycraft/wings42/rev1 | +| wings42/rev1_extkeys | dailycraft/wings42/rev1_extkeys | +| wings42/rev2 | dailycraft/wings42/rev2 | +| yasui | rainkeebs/yasui | +| yd60mq | ymdk/yd60mq | +| yd68 | ydkb/yd68 | +| ymd75 | ymdk/ymd75 | +| ymd96 | ymdk/ymd96 | +| ymdk_np21 | ymdk/np21 | +| yurei | kkatano/yurei | +| zinc | 25keys/zinc | +| zinc/rev1 | 25keys/zinc/rev1 | +| zinc/reva | 25keys/zinc/reva | + +## Notable core changes :id=notable-core + +### New MCU Support :id=new-mcu-support + +Building on previous cycles, QMK firmware picked up support for a couple extra MCU variants: + +* STM32L432 +* STM32L442 + +### New Drivers + +QMK now has core-supplied support for the following device peripherals: + +#### LED + +* IS31FL3742A +* IS31FL3743A +* IS31FL3745 +* IS31FL3746A + +#### GPIO + +* SN74x138 +* mcp23018 + +--- + +## Full changelist + +Core: +* Initial pass at data driven new-keyboard subcommand ([#12795](https://github.com/qmk/qmk_firmware/pull/12795)) +* Don't send keyboard reports that propagate no changes to the host ([#14065](https://github.com/qmk/qmk_firmware/pull/14065)) +* Custom matrix lite support for split keyboards ([#14674](https://github.com/qmk/qmk_firmware/pull/14674)) +* Add sym_defer_pr debouncer type ([#14948](https://github.com/qmk/qmk_firmware/pull/14948)) +* Add RGB matrix & LED Matrix support for IS31FL3742A, IS31FL3743A, IS31FL3745, IS31FL3746A ([#14989](https://github.com/qmk/qmk_firmware/pull/14989)) +* New combo configuration options ([#15083](https://github.com/qmk/qmk_firmware/pull/15083)) +* IS31FL3733 driver for LED Matrix ([#15088](https://github.com/qmk/qmk_firmware/pull/15088)) +* Add open-drain GPIO support. ([#15282](https://github.com/qmk/qmk_firmware/pull/15282)) +* Make (un)register code functions weak ([#15285](https://github.com/qmk/qmk_firmware/pull/15285)) +* Split support for pointing devices. ([#15304](https://github.com/qmk/qmk_firmware/pull/15304)) +* Added cancel_key_lock function ([#15321](https://github.com/qmk/qmk_firmware/pull/15321)) +* Remove matrix_is_modified() and debounce_is_active() ([#15349](https://github.com/qmk/qmk_firmware/pull/15349)) +* Change default USB Polling rate to 1kHz ([#15352](https://github.com/qmk/qmk_firmware/pull/15352)) +* Implement MAGIC_TOGGLE_CONTROL_CAPSLOCK ([#15368](https://github.com/qmk/qmk_firmware/pull/15368)) +* Tidy up existing i2c_master implementations ([#15376](https://github.com/qmk/qmk_firmware/pull/15376)) +* Generalize Unicode defines ([#15409](https://github.com/qmk/qmk_firmware/pull/15409)) +* Added external spi flash driver. ([#15419](https://github.com/qmk/qmk_firmware/pull/15419)) +* Remove Deprecated USB Polling comment from vusb.c ([#15420](https://github.com/qmk/qmk_firmware/pull/15420)) +* Expand rotational range for PMW3360 Optical Sensor ([#15431](https://github.com/qmk/qmk_firmware/pull/15431)) +* ChibiOS SVN mirror script update ([#15435](https://github.com/qmk/qmk_firmware/pull/15435)) +* Refactor `bootloader_jump()` implementations ([#15450](https://github.com/qmk/qmk_firmware/pull/15450)) +* added missing audio_off_user() callback ([#15457](https://github.com/qmk/qmk_firmware/pull/15457)) +* Migrate serial_uart usages to UART driver ([#15479](https://github.com/qmk/qmk_firmware/pull/15479)) +* Migrate RN42 to UART driver and refactor ([#15492](https://github.com/qmk/qmk_firmware/pull/15492)) +* pwm3360 driver cleanup and diff reduction to adns9800 ([#15559](https://github.com/qmk/qmk_firmware/pull/15559)) +* Advanced deferred_exec for core-side code. ([#15579](https://github.com/qmk/qmk_firmware/pull/15579)) +* Adjust tap_code16 to account for TAP_HOLD_CAPS_DELAY ([#15635](https://github.com/qmk/qmk_firmware/pull/15635)) +* Slight tidy up of keyboard task loop ([#15725](https://github.com/qmk/qmk_firmware/pull/15725)) +* Unify the key up/down behaviour of RGB keycodes ([#15730](https://github.com/qmk/qmk_firmware/pull/15730)) +* Add PMW3389 optical sensor Support (Updated) ([#15740](https://github.com/qmk/qmk_firmware/pull/15740)) +* ChibiOS: add support for HID Programmable Buttons ([#15787](https://github.com/qmk/qmk_firmware/pull/15787)) +* ChibiOS: shorten USB disconnect state on boot to 50ms ([#15805](https://github.com/qmk/qmk_firmware/pull/15805)) +* Add init function to clear previous matrix effect ([#15815](https://github.com/qmk/qmk_firmware/pull/15815)) +* Optimize initialization of PMW3360 Sensor ([#15821](https://github.com/qmk/qmk_firmware/pull/15821)) +* Add Pixel Flow RGB matrix effect ([#15829](https://github.com/qmk/qmk_firmware/pull/15829)) +* PMW3389 Revert Firmware load during Initilization ([#15859](https://github.com/qmk/qmk_firmware/pull/15859)) +* Combo `TAP_CODE_DELAY` and `clear_weak_mods` ([#15866](https://github.com/qmk/qmk_firmware/pull/15866)) +* Relocate matrix_scan_quantum tasks ([#15882](https://github.com/qmk/qmk_firmware/pull/15882)) +* Adjust mouse key defaults ([#15883](https://github.com/qmk/qmk_firmware/pull/15883)) +* RGB Matrix: Reload from EEPROM ([#15923](https://github.com/qmk/qmk_firmware/pull/15923)) +* Enable a default task throttle for split pointing. ([#15925](https://github.com/qmk/qmk_firmware/pull/15925)) +* Move mcp23018 driver to core ([#15944](https://github.com/qmk/qmk_firmware/pull/15944)) +* Relocate matrix_init_quantum content ([#15953](https://github.com/qmk/qmk_firmware/pull/15953)) +* Align location of some host led logic ([#15954](https://github.com/qmk/qmk_firmware/pull/15954)) +* Rename some Quantum keycodes ([#15968](https://github.com/qmk/qmk_firmware/pull/15968)) +* Migrate more makefile utilities to builddefs sub-directory ([#16002](https://github.com/qmk/qmk_firmware/pull/16002)) +* Various Makefile optimisations ([#16015](https://github.com/qmk/qmk_firmware/pull/16015)) +* Add support for STM32L432, STM32L442. ([#16016](https://github.com/qmk/qmk_firmware/pull/16016)) +* EEPROM refactor: remove `eeprom_teensy.c` by default, use transient instead ([#16020](https://github.com/qmk/qmk_firmware/pull/16020)) +* Deprecate Split Transaction status field ([#16023](https://github.com/qmk/qmk_firmware/pull/16023)) +* Rip out old macro and action_function system ([#16025](https://github.com/qmk/qmk_firmware/pull/16025)) +* Add a script that simplifies running commands under docker. ([#16028](https://github.com/qmk/qmk_firmware/pull/16028)) +* Add support for Q-series on the ckled2001 LED driver ([#16051](https://github.com/qmk/qmk_firmware/pull/16051)) +* Remove unused suspend_idle ([#16063](https://github.com/qmk/qmk_firmware/pull/16063)) +* Initial migration of suspend callbacks ([#16067](https://github.com/qmk/qmk_firmware/pull/16067)) +* Add layout change callbacks to VIA ([#16087](https://github.com/qmk/qmk_firmware/pull/16087)) +* Rename `AdafruitBLE` to `BluefruitLE` ([#16127](https://github.com/qmk/qmk_firmware/pull/16127)) +* Update outputselect to use platform connected state API ([#16185](https://github.com/qmk/qmk_firmware/pull/16185)) +* Remove default pointing device driver. ([#16190](https://github.com/qmk/qmk_firmware/pull/16190)) +* Add SN74x138 demultiplexer driver ([#16217](https://github.com/qmk/qmk_firmware/pull/16217)) +* Standardise error output. ([#16220](https://github.com/qmk/qmk_firmware/pull/16220)) +* Followup to #16220, more test error output. ([#16221](https://github.com/qmk/qmk_firmware/pull/16221)) +* Misc size regression script improvements. ([#16268](https://github.com/qmk/qmk_firmware/pull/16268)) +* Align existing pca9555 driver to better match mcp23018 API ([#16277](https://github.com/qmk/qmk_firmware/pull/16277)) +* Size checks print out target firmware file instead ([#16290](https://github.com/qmk/qmk_firmware/pull/16290)) + +CLI: +* `develop` changelog generator: use the PR title instead ([#15537](https://github.com/qmk/qmk_firmware/pull/15537)) +* `develop` changelog generator: skip code formatting in listing ([#16215](https://github.com/qmk/qmk_firmware/pull/16215)) + +Keyboards: +* Durgod: Increase scan rate by using wait_us timer ([#14091](https://github.com/qmk/qmk_firmware/pull/14091)) +* Add another GMMK Pro ANSI Keymap with custom RGB. ([#14243](https://github.com/qmk/qmk_firmware/pull/14243)) +* Parse USB device version BCD ([#14580](https://github.com/qmk/qmk_firmware/pull/14580)) +* Add vitoni keymap for GMMK Pro (ISO) ([#15006](https://github.com/qmk/qmk_firmware/pull/15006)) +* Move bm65hsrgb_iso and bm68hsrgb to rev1/ to prepare for updates to the boards ([#15132](https://github.com/qmk/qmk_firmware/pull/15132)) +* Convert ergoinu to SPLIT_KEYBOARD ([#15305](https://github.com/qmk/qmk_firmware/pull/15305)) +* Convert not_so_minidox to SPLIT_KEYBOARD ([#15306](https://github.com/qmk/qmk_firmware/pull/15306)) +* Added new handwired keyboard Wakizashi 40 ([#15336](https://github.com/qmk/qmk_firmware/pull/15336)) +* Convert ai03/orbit to SPLIT_KEYBOARD ([#15340](https://github.com/qmk/qmk_firmware/pull/15340)) +* Remove manual enable of LTO within user keymaps ([#15378](https://github.com/qmk/qmk_firmware/pull/15378)) +* Move to organization folder ([#15481](https://github.com/qmk/qmk_firmware/pull/15481)) +* Convert some more boards to Matrix Lite ([#15489](https://github.com/qmk/qmk_firmware/pull/15489)) +* Organize Reviung boards into a directory ([#15636](https://github.com/qmk/qmk_firmware/pull/15636)) +* move winry25tc to winry/ ([#15637](https://github.com/qmk/qmk_firmware/pull/15637)) +* Rename ymdk_np21 to np21 + move to ymdk vendor folder ([#15641](https://github.com/qmk/qmk_firmware/pull/15641)) +* move ymd96 to ymdk vendor folder ([#15643](https://github.com/qmk/qmk_firmware/pull/15643)) +* move ymd75 to ymdk vendor folder ([#15645](https://github.com/qmk/qmk_firmware/pull/15645)) +* move yd60mq to ymdk vendor folder ([#15647](https://github.com/qmk/qmk_firmware/pull/15647)) +* rename idobo to idobao/id75, move to vendor folder ([#15661](https://github.com/qmk/qmk_firmware/pull/15661)) +* move ID67 to IDOBAO vendor folder ([#15662](https://github.com/qmk/qmk_firmware/pull/15662)) +* move ID80 to IDOBAO vendor folder ([#15665](https://github.com/qmk/qmk_firmware/pull/15665)) +* move ID87 to IDOBAO vendor folder ([#15667](https://github.com/qmk/qmk_firmware/pull/15667)) +* move montex to IDOBAO vendor folder ([#15668](https://github.com/qmk/qmk_firmware/pull/15668)) +* move @yangdigi 's keyboards to a YDKB folder ([#15681](https://github.com/qmk/qmk_firmware/pull/15681)) +* move @kkatano 's keyboards to kkatano user folder ([#15684](https://github.com/qmk/qmk_firmware/pull/15684)) +* Sol 3 Keyboard from RGBKB ([#15687](https://github.com/qmk/qmk_firmware/pull/15687)) +* move cu24, cu75, cu80/v1 into capsunlocked folder ([#15758](https://github.com/qmk/qmk_firmware/pull/15758)) +* move mechkeys keyboards into the mechkeys/ vendor folder ([#15760](https://github.com/qmk/qmk_firmware/pull/15760)) +* move @lyso1 's boards into lyso1/ ([#15767](https://github.com/qmk/qmk_firmware/pull/15767)) +* move prototypist boards into vendor folder ([#15780](https://github.com/qmk/qmk_firmware/pull/15780)) +* move @yiancar 's boards into yiancardesigns/ ([#15781](https://github.com/qmk/qmk_firmware/pull/15781)) +* move novelkeys keyboards to vendor folder ([#15783](https://github.com/qmk/qmk_firmware/pull/15783)) +* move @weirdo-f 's keyboards into weirdo/ ([#15785](https://github.com/qmk/qmk_firmware/pull/15785)) +* move @marksard 's boards to marksard/ ([#15786](https://github.com/qmk/qmk_firmware/pull/15786)) +* move input club keyboards into vendor folder ([#15788](https://github.com/qmk/qmk_firmware/pull/15788)) +* move @monksoffunk 's boards into 25keys/ ([#15789](https://github.com/qmk/qmk_firmware/pull/15789)) +* move @Salicylic-acid3 's keyboards to salicylic-acid3/ ([#15791](https://github.com/qmk/qmk_firmware/pull/15791)) +* move @rainkeebs 's keyboards to rainkeebs/ ([#15797](https://github.com/qmk/qmk_firmware/pull/15797)) +* move standaside into edi/ ([#15798](https://github.com/qmk/qmk_firmware/pull/15798)) +* move @obosob 's boards into obosob/ ([#15799](https://github.com/qmk/qmk_firmware/pull/15799)) +* move @nacly 's boards to nacly/ ([#15801](https://github.com/qmk/qmk_firmware/pull/15801)) +* move @kakunpc 's keebs into kakunpc/ ([#15814](https://github.com/qmk/qmk_firmware/pull/15814)) +* move @qpocket 's keyboards to qpocket/ ([#15827](https://github.com/qmk/qmk_firmware/pull/15827)) +* BDN9 keymap ([#15924](https://github.com/qmk/qmk_firmware/pull/15924)) +* move @matthewdias 's keebs into matthewdias/ ([#15991](https://github.com/qmk/qmk_firmware/pull/15991)) +* move id80 and id75 to v1 to accommodate for id75 v2 and id80 v3 ([#15992](https://github.com/qmk/qmk_firmware/pull/15992)) +* Remove `action_function()` from LFKeyboards boards ([#15993](https://github.com/qmk/qmk_firmware/pull/15993)) +* move @latincompass (aka @18438880 , @haierwangwei2005)'s boards to /latincompass ([#16039](https://github.com/qmk/qmk_firmware/pull/16039)) +* move g heavy industry boards into /gboards ([#16040](https://github.com/qmk/qmk_firmware/pull/16040)) +* move @drhigsby 's boards into /drhigsby ([#16041](https://github.com/qmk/qmk_firmware/pull/16041)) +* More keyboard rules.mk cleanups ([#16044](https://github.com/qmk/qmk_firmware/pull/16044)) +* move @That-Canadian 's boards into /maple_computing ([#16050](https://github.com/qmk/qmk_firmware/pull/16050)) +* move @takai 's keyboards into /recompile_keys ([#16053](https://github.com/qmk/qmk_firmware/pull/16053)) +* move @satt99 's comet46 to satt/ ([#16059](https://github.com/qmk/qmk_firmware/pull/16059)) +* move @ka2hiro 's boards into /kagizaraya ([#16070](https://github.com/qmk/qmk_firmware/pull/16070)) +* move @GlenPickle 's chimera* boards into a folder ([#16072](https://github.com/qmk/qmk_firmware/pull/16072)) +* move @yynmt 's boards into /yynmt ([#16075](https://github.com/qmk/qmk_firmware/pull/16075)) +* move @Biacco42 's keebs into /biacco42 ([#16080](https://github.com/qmk/qmk_firmware/pull/16080)) +* move unikeyboard boards to /unikeyboard ([#16081](https://github.com/qmk/qmk_firmware/pull/16081)) +* move four_banger to bpiphany ([#16082](https://github.com/qmk/qmk_firmware/pull/16082)) +* move @takashiski 's keebs into /takashiski ([#16089](https://github.com/qmk/qmk_firmware/pull/16089)) +* move hid_liber to /bpiphany ([#16091](https://github.com/qmk/qmk_firmware/pull/16091)) +* move spaceholdings boards into /spaceholdings ([#16096](https://github.com/qmk/qmk_firmware/pull/16096)) +* move @7-rate 's keebs to /rate ([#16099](https://github.com/qmk/qmk_firmware/pull/16099)) +* move @npspears 's boards into /checkerboards ([#16100](https://github.com/qmk/qmk_firmware/pull/16100)) +* move @vuhopkep 's keebs into /hnahkb ([#16102](https://github.com/qmk/qmk_firmware/pull/16102)) +* move @ibnuda 's keebs into /ibnuda ([#16108](https://github.com/qmk/qmk_firmware/pull/16108)) +* move @tominabox1 's keebs into /tominabox1 ([#16109](https://github.com/qmk/qmk_firmware/pull/16109)) +* move niu_mini to /kbdfans ([#16112](https://github.com/qmk/qmk_firmware/pull/16112)) +* move woodkeys.click keyboards to /woodkeys ([#16113](https://github.com/qmk/qmk_firmware/pull/16113)) +* move @omkbd 's boards to /omkbd ([#16116](https://github.com/qmk/qmk_firmware/pull/16116)) +* Overhaul Tractyl Manuform ([#16134](https://github.com/qmk/qmk_firmware/pull/16134)) +* Reduce firmware size for dztech/dz60rgb_wkl/v2_1:via ([#16254](https://github.com/qmk/qmk_firmware/pull/16254)) + +Keyboard fixes: +* Fix build failure for UT47 ([#15483](https://github.com/qmk/qmk_firmware/pull/15483)) +* Update grs_70ec to use newer custom matrix ([#15609](https://github.com/qmk/qmk_firmware/pull/15609)) +* fix compiler issue with Tractyl Manuform 4x6 ([#15646](https://github.com/qmk/qmk_firmware/pull/15646)) +* Fix CI. ([#15828](https://github.com/qmk/qmk_firmware/pull/15828)) +* Yet another bad `DEFAULT_FOLDER` fix. ([#15904](https://github.com/qmk/qmk_firmware/pull/15904)) +* Fix build failures for `mschwingen/modelm` ([#15987](https://github.com/qmk/qmk_firmware/pull/15987)) +* `rocketboard_16`: Fix mismatched LUT sizes ([#15997](https://github.com/qmk/qmk_firmware/pull/15997)) +* Fix erroneous SRC for Clueboard 66 hotswap ([#16007](https://github.com/qmk/qmk_firmware/pull/16007)) +* Fix handwired/ms_sculpt_mobile default keymap ([#16032](https://github.com/qmk/qmk_firmware/pull/16032)) +* Re-org Hillside folders as new model prep. Fix default keymap. ([#16128](https://github.com/qmk/qmk_firmware/pull/16128)) +* Fix up default folder locations. Again. ([#16135](https://github.com/qmk/qmk_firmware/pull/16135)) +* Sol3 rgb fix ([#16157](https://github.com/qmk/qmk_firmware/pull/16157)) +* Add missing `BOOTLOADER` for a handful of boards ([#16225](https://github.com/qmk/qmk_firmware/pull/16225)) +* Remove half implemented micronucleus bootloader support ([#16252](https://github.com/qmk/qmk_firmware/pull/16252)) +* Fixup bootloaders. ([#16256](https://github.com/qmk/qmk_firmware/pull/16256)) +* Fix idobao/id80/v3 compilation errors ([#16280](https://github.com/qmk/qmk_firmware/pull/16280)) +* Remove parent-relative paths from keyboards. ([#16282](https://github.com/qmk/qmk_firmware/pull/16282)) +* Bodge for helix build failures ([#16376](https://github.com/qmk/qmk_firmware/pull/16376)) + +Others: +* Add a clarification to an error message ([#15207](https://github.com/qmk/qmk_firmware/pull/15207)) +* Clang-format tweaks ([#15906](https://github.com/qmk/qmk_firmware/pull/15906)) +* Add example implementations for compatible MCUs list ([#15935](https://github.com/qmk/qmk_firmware/pull/15935)) +* Add version.h to gitignore ([#16222](https://github.com/qmk/qmk_firmware/pull/16222)) +* Update keyboard mapping for all moved boards this cycle ([#16312](https://github.com/qmk/qmk_firmware/pull/16312)) +* Align docs to new-keyboard behaviour ([#16357](https://github.com/qmk/qmk_firmware/pull/16357)) +* Align new-keyboard with recent schema updates ([#16378](https://github.com/qmk/qmk_firmware/pull/16378)) + +Bugs: +* Fixes potential wpm sampling overflow, along with code comment fixes ([#15277](https://github.com/qmk/qmk_firmware/pull/15277)) +* Add missing define for unicode common ([#15416](https://github.com/qmk/qmk_firmware/pull/15416)) +* Fix for SPI write timing in PMW3360 driver ([#15519](https://github.com/qmk/qmk_firmware/pull/15519)) +* Documentation Typo fix ([#15538](https://github.com/qmk/qmk_firmware/pull/15538)) +* fix a typo ([#15557](https://github.com/qmk/qmk_firmware/pull/15557)) +* Fix avr serial compile ([#15589](https://github.com/qmk/qmk_firmware/pull/15589)) +* More AVR GPIO compilation fixes. ([#15592](https://github.com/qmk/qmk_firmware/pull/15592)) +* Fix bug and code regression for Split Common ([#15603](https://github.com/qmk/qmk_firmware/pull/15603)) +* Include missing string.h include in split ([#15606](https://github.com/qmk/qmk_firmware/pull/15606)) +* Fixes for bootloader refactor build failures ([#15638](https://github.com/qmk/qmk_firmware/pull/15638)) +* Update pmw3360 driver after reading the datasheet top to bottom. Fix some outdated refs. ([#15682](https://github.com/qmk/qmk_firmware/pull/15682)) +* Fix split pointing for analog joystick ([#15691](https://github.com/qmk/qmk_firmware/pull/15691)) +* Fix broken bootloader builds in develop. ([#15880](https://github.com/qmk/qmk_firmware/pull/15880)) +* Fix optical sensor firmware upload ([#15919](https://github.com/qmk/qmk_firmware/pull/15919)) +* Pass in the keyrecord_t of the dual-role/tapping key when calling per-key tap hold functions ([#15938](https://github.com/qmk/qmk_firmware/pull/15938)) +* fixed typo in orange HSV colors decalartion ([#15976](https://github.com/qmk/qmk_firmware/pull/15976)) +* Fix hack for chibiOS reset name ([#15984](https://github.com/qmk/qmk_firmware/pull/15984)) +* Fix right side ws2812 leds having two indices ([#15985](https://github.com/qmk/qmk_firmware/pull/15985)) +* Workaround in Makefile for recursive rule matching ([#15988](https://github.com/qmk/qmk_firmware/pull/15988)) +* Fix BACKLIGHT_CAPS_LOCK warning ([#15999](https://github.com/qmk/qmk_firmware/pull/15999)) +* Fix compilation issues for led indicators ([#16001](https://github.com/qmk/qmk_firmware/pull/16001)) +* ChibiOS timer fixes ([#16017](https://github.com/qmk/qmk_firmware/pull/16017)) +* Fix bootloader_jump for certain CTRL boards ([#16026](https://github.com/qmk/qmk_firmware/pull/16026)) +* Fix up issue with PROGMEM and hand_swap_config ([#16027](https://github.com/qmk/qmk_firmware/pull/16027)) +* Don't make EEPROM size assumptions with dynamic keymaps. ([#16054](https://github.com/qmk/qmk_firmware/pull/16054)) +* fix missed .noci in reviung move ([#16107](https://github.com/qmk/qmk_firmware/pull/16107)) +* Fix issues with Python Tests ([#16162](https://github.com/qmk/qmk_firmware/pull/16162)) +* Fixup multibuild filegen ([#16166](https://github.com/qmk/qmk_firmware/pull/16166)) +* Remove old .gitignore entry. Add more macOS junk exclusions. ([#16167](https://github.com/qmk/qmk_firmware/pull/16167)) +* Fixup builds so that teensy EEPROM knows which MCU it's targeting. ([#16168](https://github.com/qmk/qmk_firmware/pull/16168)) +* Create a build error if no bootloader is specified. ([#16181](https://github.com/qmk/qmk_firmware/pull/16181)) +* Ensure `version.h` is recreated each build. ([#16188](https://github.com/qmk/qmk_firmware/pull/16188)) +* Add `custom` to list of valid bootloader types in info.json ([#16228](https://github.com/qmk/qmk_firmware/pull/16228)) +* Fix `layer_state` restoration at end of dynamic macro feature #16208 ([#16230](https://github.com/qmk/qmk_firmware/pull/16230)) +* Minor additions #12795 ([#16276](https://github.com/qmk/qmk_firmware/pull/16276)) +* Various fixes for matrix _RIGHT handling ([#16292](https://github.com/qmk/qmk_firmware/pull/16292)) +* Fix slashes in build_full_test.mk ([#16300](https://github.com/qmk/qmk_firmware/pull/16300)) +* ps2/avr: use the correct file name ([#16316](https://github.com/qmk/qmk_firmware/pull/16316)) +* Fix compilation of ChibiOS UART driver ([#16348](https://github.com/qmk/qmk_firmware/pull/16348)) +* Various fixes for new-keyboard ([#16358](https://github.com/qmk/qmk_firmware/pull/16358)) +* Allow NO_PIN within data driven configuration ([#16359](https://github.com/qmk/qmk_firmware/pull/16359)) diff --git a/docs/ChangeLog/20220226/PR15304.md b/docs/ChangeLog/20220226/PR15304.md deleted file mode 100644 index 3cdb40db1099..000000000000 --- a/docs/ChangeLog/20220226/PR15304.md +++ /dev/null @@ -1,13 +0,0 @@ -### Split Common core now supports Pointing Devices ([#15304](https://github.com/qmk/qmk_firmware/pull/15304)) - -Pointing devices can now be shared across a split keyboard with support for a single pointing device or a pointing device on each side. - -This feature can be enabled with `#define SPLIT_POINTING_ENABLE` and one of the following options: - -| Setting | Description | -|---------------------------|------------------------------------| -|`POINTING_DEVICE_LEFT` | Pointing device on the left side | -|`POINTING_DEVICE_RIGHT` | Pointing device on the right side | -|`POINTING_DEVICE_COMBINED` | Pointing device on both sides | - -See the [Pointing Device](../feature_pointing_device.md) documentation for further configuration options. diff --git a/docs/_summary.md b/docs/_summary.md index 8c83a216ab87..74203aa0f854 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -131,7 +131,7 @@ * Breaking Changes * [Overview](breaking_changes.md) * [My Pull Request Was Flagged](breaking_changes_instructions.md) - * [Most Recent ChangeLog](ChangeLog/20211127.md "QMK v0.15.0 - 2021 Nov 27") + * [Most Recent ChangeLog](ChangeLog/20220226.md "QMK v0.16.0 - 2022 Feb 26") * [Past Breaking Changes](breaking_changes_history.md) * C Development diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md index 8bde6c88f770..3fed268b9878 100644 --- a/docs/breaking_changes.md +++ b/docs/breaking_changes.md @@ -8,6 +8,7 @@ The breaking change period is when we will merge PR's that change QMK in dangero ## What has been included in past Breaking Changes? +* [2022 Feb 26](ChangeLog/20220226.md) * [2021 Nov 27](ChangeLog/20211127.md) * [2021 Aug 28](ChangeLog/20210828.md) * [2021 May 29](ChangeLog/20210529.md) @@ -20,17 +21,17 @@ The breaking change period is when we will merge PR's that change QMK in dangero ## When is the next Breaking Change? -The next Breaking Change is scheduled for February 26, 2022. +The next Breaking Change is scheduled for May 28, 2022. ### Important Dates -* [x] 2021 Nov 27 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. -* [ ] 2022 Jan 31 - `develop` closed to new PR's. -* [ ] 2022 Jan 31 - Call for testers. -* [ ] 2022 Feb 12 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes -* [ ] 2022 Feb 24 - `master` is locked, no PR's merged. -* [ ] 2022 Feb 26 - Merge `develop` to `master`. -* [ ] 2022 Feb 26 - `master` is unlocked. PR's can be merged again. +* [x] 2022 Feb 26 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. +* [ ] 2022 Apr 31 - `develop` closed to new PR's. +* [ ] 2022 Apr 31 - Call for testers. +* [ ] 2022 May 14 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes +* [ ] 2022 May 26 - `master` is locked, no PR's merged. +* [ ] 2022 May 28 - Merge `develop` to `master`. +* [ ] 2022 May 28 - `master` is unlocked. PR's can be merged again. ## What changes will be included? diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md index 6b1b71b1fdf3..c40989fb5ee4 100644 --- a/docs/breaking_changes_history.md +++ b/docs/breaking_changes_history.md @@ -2,6 +2,7 @@ This page links to all previous changelogs from the QMK Breaking Changes process. +* [2022 Feb 26](ChangeLog/20220226.md) - version 0.16.0 * [2021 Nov 27](ChangeLog/20211127.md) - version 0.15.0 * [2021 Aug 28](ChangeLog/20210828.md) - version 0.14.0 * [2021 May 29](ChangeLog/20210529.md) - version 0.13.0 diff --git a/lib/python/qmk/cli/generate/develop_pr_list.py b/lib/python/qmk/cli/generate/develop_pr_list.py index 09236a7c42ff..549db5b185fd 100755 --- a/lib/python/qmk/cli/generate/develop_pr_list.py +++ b/lib/python/qmk/cli/generate/develop_pr_list.py @@ -18,7 +18,8 @@ def _is_ignored(title): for ignore in ignored_titles: if ignore in title: - return + return True + return False def _get_pr_info(cache, gh, pr_num): From 3da34f297a7503ce97690452b3765beeed4c54a7 Mon Sep 17 00:00:00 2001 From: zvecr Date: Sat, 26 Feb 2022 00:57:08 +0000 Subject: [PATCH 0229/1832] Start develop for 2022q2 --- readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readme.md b/readme.md index 5649ddfa097a..63b483c74474 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,7 @@ +# This is the `develop` branch! + +See the [Breaking Changes](https://docs.qmk.fm/#/breaking_changes) document for more information. + # Quantum Mechanical Keyboard Firmware [![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) From 83a32b257473c5dc9fbacd71a3c1470dde21ad84 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 26 Feb 2022 03:20:57 +0000 Subject: [PATCH 0230/1832] Remove 1k USB_POLLING_INTERVAL_MS config from keyboards and default-ish keymaps (#16448) * Remove 1k USB_POLLING_INTERVAL_MS config from keyboard level * Remove 1k USB_POLLING_INTERVAL_MS config from default|via keymaps --- keyboards/ai03/jp60/keymaps/default/config.h | 3 +-- keyboards/ai03/jp60/keymaps/via/config.h | 3 +-- keyboards/bastardkb/skeletyl/config.h | 1 - keyboards/bastardkb/tbkmini/config.h | 1 - keyboards/durgod/dgk6x/config.h | 1 - keyboards/durgod/k3x0/config.h | 2 -- keyboards/geekboards/macropad_v2/config.h | 1 - keyboards/gmmk/pro/config.h | 3 --- keyboards/handwired/marauder/config.h | 1 - keyboards/handwired/xealousbrown/config.h | 1 - keyboards/horrortroll/chinese_pcb/devil68_pro/config.h | 3 +-- keyboards/horrortroll/chinese_pcb/m63_rgb/config.h | 3 +-- keyboards/horrortroll/handwired_k552/config.h | 3 +-- keyboards/ianklug/grooveboard/config.h | 1 - keyboards/jadookb/jkb2/keymaps/via/config.h | 1 - keyboards/jadookb/jkb65/keymaps/via/config.h | 1 - keyboards/kinesis/kint2pp/config.h | 4 ---- keyboards/kinesis/kint36/config.h | 4 ---- keyboards/kinesis/kint41/config.h | 4 ---- keyboards/kprepublic/bm60hsrgb/rev2/config.h | 1 - keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h | 1 - keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h | 1 - keyboards/linworks/fave87/config.h | 3 +-- keyboards/linworks/whale75/config.h | 3 +-- keyboards/lz/erghost/config.h | 3 --- keyboards/mechlovin/infinity87/rev2/config.h | 3 --- keyboards/mechlovin/serratus/config.h | 3 --- keyboards/ploopyco/mouse/config.h | 3 --- keyboards/ploopyco/trackball/config.h | 3 --- keyboards/ploopyco/trackball_mini/config.h | 3 --- keyboards/ploopyco/trackball_nano/config.h | 3 --- keyboards/rgbkb/mun/config.h | 2 -- keyboards/rgbkb/sol3/config.h | 2 -- keyboards/sanctified/dystopia/config.h | 1 - keyboards/splitkb/kyria/keymaps/via/config.h | 2 -- keyboards/xelus/dharma/keymaps/default/config.h | 1 - keyboards/xelus/dharma/keymaps/via/config.h | 1 - keyboards/xelus/kangaroo/keymaps/default/config.h | 1 - keyboards/xelus/kangaroo/keymaps/via/config.h | 1 - keyboards/xelus/la_plus/keymaps/default/config.h | 2 -- keyboards/xelus/la_plus/keymaps/via/config.h | 2 -- keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h | 1 - keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h | 1 - keyboards/xelus/pachi/rev1/keymaps/default/config.h | 1 - keyboards/xelus/pachi/rev1/keymaps/via/config.h | 1 - keyboards/xelus/pachi/rgb/keymaps/default/config.h | 1 - keyboards/xelus/pachi/rgb/keymaps/via/config.h | 2 -- keyboards/xelus/rs60/keymaps/default/config.h | 1 - keyboards/xelus/rs60/keymaps/via/config.h | 1 - keyboards/xelus/valor/rev2/keymaps/default/config.h | 2 +- keyboards/xelus/valor/rev2/keymaps/via/config.h | 2 +- keyboards/xelus/valor_frl_tkl/keymaps/default/config.h | 1 - keyboards/xelus/valor_frl_tkl/keymaps/via/config.h | 1 - keyboards/xelus/xs60/keymaps/default/config.h | 1 - keyboards/xelus/xs60/keymaps/via/config.h | 1 - 55 files changed, 9 insertions(+), 94 deletions(-) diff --git a/keyboards/ai03/jp60/keymaps/default/config.h b/keyboards/ai03/jp60/keymaps/default/config.h index ee63d9feee1f..9e0623524aa6 100644 --- a/keyboards/ai03/jp60/keymaps/default/config.h +++ b/keyboards/ai03/jp60/keymaps/default/config.h @@ -16,6 +16,5 @@ #pragma once -/* Increase polling rates and scan quantity for improved performance */ -#define USB_POLLING_INTERVAL_MS 1 +/* Increase scan quantity for improved performance */ #define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/ai03/jp60/keymaps/via/config.h b/keyboards/ai03/jp60/keymaps/via/config.h index ee63d9feee1f..9e0623524aa6 100644 --- a/keyboards/ai03/jp60/keymaps/via/config.h +++ b/keyboards/ai03/jp60/keymaps/via/config.h @@ -16,6 +16,5 @@ #pragma once -/* Increase polling rates and scan quantity for improved performance */ -#define USB_POLLING_INTERVAL_MS 1 +/* Increase scan quantity for improved performance */ #define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/bastardkb/skeletyl/config.h b/keyboards/bastardkb/skeletyl/config.h index a7530a5e73ed..fae8e2ec0349 100644 --- a/keyboards/bastardkb/skeletyl/config.h +++ b/keyboards/bastardkb/skeletyl/config.h @@ -40,7 +40,6 @@ #define SOFT_SERIAL_PIN D0 -#define USB_POLLING_INTERVAL_MS 1 #define MASTER_RIGHT // RGB matrix support diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h index b2308bc8ed6f..094544de9a2a 100644 --- a/keyboards/bastardkb/tbkmini/config.h +++ b/keyboards/bastardkb/tbkmini/config.h @@ -43,7 +43,6 @@ #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE #define F_SCL 400000L -#define USB_POLLING_INTERVAL_MS 1 #define MASTER_RIGHT // RGB matrix support diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h index a15ed8665057..28a506cf8ddd 100644 --- a/keyboards/durgod/dgk6x/config.h +++ b/keyboards/durgod/dgk6x/config.h @@ -22,7 +22,6 @@ #define VENDOR_ID 0xD60D #define MANUFACTURER Hoksi Technology -#define USB_POLLING_INTERVAL_MS 1 #define WAIT_US_TIMER GPTD3 /* COL2ROW, ROW2COL*/ diff --git a/keyboards/durgod/k3x0/config.h b/keyboards/durgod/k3x0/config.h index af543bb970b7..691076ecac33 100644 --- a/keyboards/durgod/k3x0/config.h +++ b/keyboards/durgod/k3x0/config.h @@ -23,7 +23,6 @@ #define VENDOR_ID 0xD60D #define MANUFACTURER Hoksi Technology -#define USB_POLLING_INTERVAL_MS 1 #define WAIT_US_TIMER GPTD3 /* key matrix size (rows in specific keyboard variant) */ @@ -41,7 +40,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -// #define USB_POLLING_INTERVAL_MS 1 /* Bootmagic Lite key configuration */ #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h index cdb3a7dbe82a..cb671bfab766 100644 --- a/keyboards/geekboards/macropad_v2/config.h +++ b/keyboards/geekboards/macropad_v2/config.h @@ -100,7 +100,6 @@ #define RGB_DISABLE_WHEN_USB_SUSPENDED #define WAIT_FOR_USB -#define USB_POLLING_INTERVAL_MS 1 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h index bb2cca192167..d83c965fc511 100644 --- a/keyboards/gmmk/pro/config.h +++ b/keyboards/gmmk/pro/config.h @@ -114,9 +114,6 @@ #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -/* 1000Hz USB polling - it's the default on stock firmware */ -#define USB_POLLING_INTERVAL_MS 1 - /* Send up to 4 key press events per scan */ #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/handwired/marauder/config.h b/keyboards/handwired/marauder/config.h index df30a6c226bb..7c6a6d74d45a 100644 --- a/keyboards/handwired/marauder/config.h +++ b/keyboards/handwired/marauder/config.h @@ -43,7 +43,6 @@ #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4, B0 } #define DIODE_DIRECTION COL2ROW #define LAYER_STATE_8BIT -#define USB_POLLING_INTERVAL_MS 1 //1000Hz polling rate #define QMK_KEYS_PER_SCAN 12 // moar gaming code #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN diff --git a/keyboards/handwired/xealousbrown/config.h b/keyboards/handwired/xealousbrown/config.h index 70775ffaebb3..cb787ba0c25b 100644 --- a/keyboards/handwired/xealousbrown/config.h +++ b/keyboards/handwired/xealousbrown/config.h @@ -29,7 +29,6 @@ along with this program. If not, see . #define MATRIX_ROWS 5 #define MATRIX_COLS 13 #define DEBOUNCE 10 -#define USB_POLLING_INTERVAL_MS 1 /* layer optimization */ #define LAYER_STATE_8BIT #define MAX_LAYER 2 diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h index 825b6d3e5ba6..af7affbb8365 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h @@ -45,8 +45,7 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Change USB Polling Rate to 1000hz and a larger keys per scan for elite gaming */ -#define USB_POLLING_INTERVAL_MS 1 +/* Change larger keys per scan for elite gaming */ #define QMK_KEYS_PER_SCAN 12 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/config.h b/keyboards/horrortroll/chinese_pcb/m63_rgb/config.h index 29839712583c..4c126bb3f3e2 100644 --- a/keyboards/horrortroll/chinese_pcb/m63_rgb/config.h +++ b/keyboards/horrortroll/chinese_pcb/m63_rgb/config.h @@ -45,8 +45,7 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Change USB Polling Rate to 1000hz and a larger keys per scan for elite gaming */ -#define USB_POLLING_INTERVAL_MS 1 +/* Change larger keys per scan for elite gaming */ #define QMK_KEYS_PER_SCAN 12 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/horrortroll/handwired_k552/config.h b/keyboards/horrortroll/handwired_k552/config.h index 87908a1dcdb1..3caaee51e5ad 100644 --- a/keyboards/horrortroll/handwired_k552/config.h +++ b/keyboards/horrortroll/handwired_k552/config.h @@ -46,8 +46,7 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Change USB Polling Rate to 1000hz and a larger keys per scan for elite gaming */ -#define USB_POLLING_INTERVAL_MS 1 +/* Change larger keys per scan for elite gaming */ #define QMK_KEYS_PER_SCAN 12 /* EEPROM size */ diff --git a/keyboards/ianklug/grooveboard/config.h b/keyboards/ianklug/grooveboard/config.h index e42c5f14e83d..aac9be1022fe 100644 --- a/keyboards/ianklug/grooveboard/config.h +++ b/keyboards/ianklug/grooveboard/config.h @@ -154,5 +154,4 @@ along with this program. If not, see . //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/jadookb/jkb2/keymaps/via/config.h b/keyboards/jadookb/jkb2/keymaps/via/config.h index ecd00aced4a0..31022ca5358b 100644 --- a/keyboards/jadookb/jkb2/keymaps/via/config.h +++ b/keyboards/jadookb/jkb2/keymaps/via/config.h @@ -16,5 +16,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/jadookb/jkb65/keymaps/via/config.h b/keyboards/jadookb/jkb65/keymaps/via/config.h index 31f75074643f..9d4eaf74ee4a 100644 --- a/keyboards/jadookb/jkb65/keymaps/via/config.h +++ b/keyboards/jadookb/jkb65/keymaps/via/config.h @@ -16,5 +16,4 @@ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/kinesis/kint2pp/config.h b/keyboards/kinesis/kint2pp/config.h index 4191446e685a..54ba07d3d6d7 100644 --- a/keyboards/kinesis/kint2pp/config.h +++ b/keyboards/kinesis/kint2pp/config.h @@ -41,10 +41,6 @@ #define IGNORE_MOD_TAP_INTERRUPT -// Reduce input latency by lowering the USB polling interval -// from its 10ms default to the 1ms minimum that USB 1.x (Full Speed) allows: -#define USB_POLLING_INTERVAL_MS 1 - // The Teensy 2++ consumes about 60 mA of current at its full speed of 16 MHz as // per https://www.pjrc.com/teensy/low_power.html #define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/kinesis/kint36/config.h b/keyboards/kinesis/kint36/config.h index 3738629ea7ed..188c83345d1c 100644 --- a/keyboards/kinesis/kint36/config.h +++ b/keyboards/kinesis/kint36/config.h @@ -59,10 +59,6 @@ #define IGNORE_MOD_TAP_INTERRUPT -// Reduce input latency by lowering the USB polling interval -// from its 10ms default to the 1ms minimum that USB 1.x (Full Speed) allows: -#define USB_POLLING_INTERVAL_MS 1 - // The Teensy 3.6 consumes about 80 mA of current at its full speed of 180 MHz: // https://forum.pjrc.com/threads/47256-What-is-the-power-consumption-of-the-Teensy-3-6 #define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/kinesis/kint41/config.h b/keyboards/kinesis/kint41/config.h index 7d87b8dd7650..3e13e8460677 100644 --- a/keyboards/kinesis/kint41/config.h +++ b/keyboards/kinesis/kint41/config.h @@ -86,10 +86,6 @@ #define IGNORE_MOD_TAP_INTERRUPT -// Reduce input latency by lowering the USB polling interval -// from its 10ms default to the 125μs minimum that USB 2.x (High Speed) allows: -#define USB_POLLING_INTERVAL_MS 1 - // The Teensy 4.1 consumes about 100 mA of current at its full speed of 600 MHz // as per https://www.pjrc.com/store/teensy41.html #define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h index e25f0ad4899e..b4aa1a549cca 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h @@ -44,7 +44,6 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL -#define USB_POLLING_INTERVAL_MS 1 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h index 8286b447a851..5e695aec57f7 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h @@ -46,7 +46,6 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL -#define USB_POLLING_INTERVAL_MS 1 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h index b5efc1f59610..27c3a6df5508 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h @@ -44,7 +44,6 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL -#define USB_POLLING_INTERVAL_MS 1 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 diff --git a/keyboards/linworks/fave87/config.h b/keyboards/linworks/fave87/config.h index d6d5ab5cf480..ef934024f7ef 100644 --- a/keyboards/linworks/fave87/config.h +++ b/keyboards/linworks/fave87/config.h @@ -23,8 +23,7 @@ along with this program. If not, see . #define MANUFACTURER Lx3 #define PRODUCT FAVE-87 -/* Set 1 kHz polling rate and force USB NKRO */ -#define USB_POLLING_INTERVAL_MS 1 +/* Force USB NKRO */ #define FORCE_NKRO /* key matrix size */ diff --git a/keyboards/linworks/whale75/config.h b/keyboards/linworks/whale75/config.h index 5ba449430951..2e0b26b39757 100644 --- a/keyboards/linworks/whale75/config.h +++ b/keyboards/linworks/whale75/config.h @@ -23,8 +23,7 @@ along with this program. If not, see . #define MANUFACTURER Lx3 #define PRODUCT Whale-75 -/* Set 1 kHz polling rate and force USB NKRO */ -#define USB_POLLING_INTERVAL_MS 1 +/* Force USB NKRO */ #define FORCE_NKRO /* key matrix size */ diff --git a/keyboards/lz/erghost/config.h b/keyboards/lz/erghost/config.h index 74867baf7f0b..0936f6c27139 100644 --- a/keyboards/lz/erghost/config.h +++ b/keyboards/lz/erghost/config.h @@ -46,9 +46,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL -#define USB_POLLING_INTERVAL_MS 1 - - #define LED_NUM_LOCK_PIN D7 #define LED_CAPS_LOCK_PIN D6 #define LED_SCROLL_LOCK_PIN B4 diff --git a/keyboards/mechlovin/infinity87/rev2/config.h b/keyboards/mechlovin/infinity87/rev2/config.h index ddf9df459349..575e826a9bee 100644 --- a/keyboards/mechlovin/infinity87/rev2/config.h +++ b/keyboards/mechlovin/infinity87/rev2/config.h @@ -36,9 +36,6 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL -#define USB_POLLING_INTERVAL_MS 1 - - #define LED_NUM_LOCK_PIN D7 #define LED_CAPS_LOCK_PIN D6 #define LED_SCROLL_LOCK_PIN B4 diff --git a/keyboards/mechlovin/serratus/config.h b/keyboards/mechlovin/serratus/config.h index 055557b3a4e5..0bb9ccbea9f4 100644 --- a/keyboards/mechlovin/serratus/config.h +++ b/keyboards/mechlovin/serratus/config.h @@ -45,9 +45,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL -#define USB_POLLING_INTERVAL_MS 1 - - #define LED_NUM_LOCK_PIN D7 #define LED_CAPS_LOCK_PIN D6 #define LED_SCROLL_LOCK_PIN B4 diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h index 4f2103e31c09..df1ea1297b36 100644 --- a/keyboards/ploopyco/mouse/config.h +++ b/keyboards/ploopyco/mouse/config.h @@ -54,9 +54,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* Much more so than a keyboard, speed matters for a mouse. So we'll go for as high - a polling rate as possible. */ -#define USB_POLLING_INTERVAL_MS 1 #define USB_MAX_POWER_CONSUMPTION 100 /* define if matrix has ghost (lacks anti-ghosting diodes) */ diff --git a/keyboards/ploopyco/trackball/config.h b/keyboards/ploopyco/trackball/config.h index 7b0f3faa049f..4275e9d11982 100644 --- a/keyboards/ploopyco/trackball/config.h +++ b/keyboards/ploopyco/trackball/config.h @@ -44,9 +44,6 @@ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* Much more so than a keyboard, speed matters for a mouse. So we'll go for as high - a polling rate as possible. */ -#define USB_POLLING_INTERVAL_MS 1 #define USB_MAX_POWER_CONSUMPTION 100 /* Bootmagic Lite key configuration */ diff --git a/keyboards/ploopyco/trackball_mini/config.h b/keyboards/ploopyco/trackball_mini/config.h index af1e63eb7168..731e6fbc9732 100644 --- a/keyboards/ploopyco/trackball_mini/config.h +++ b/keyboards/ploopyco/trackball_mini/config.h @@ -45,9 +45,6 @@ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* Much more so than a keyboard, speed matters for a mouse. So we'll go for as high - a polling rate as possible. */ -#define USB_POLLING_INTERVAL_MS 1 #define USB_MAX_POWER_CONSUMPTION 100 /* Bootmagic Lite key configuration */ diff --git a/keyboards/ploopyco/trackball_nano/config.h b/keyboards/ploopyco/trackball_nano/config.h index 4c0aab8c6295..98a2c662fa9e 100644 --- a/keyboards/ploopyco/trackball_nano/config.h +++ b/keyboards/ploopyco/trackball_nano/config.h @@ -41,9 +41,6 @@ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* Much more so than a keyboard, speed matters for a mouse. So we'll go for as high - a polling rate as possible. */ -#define USB_POLLING_INTERVAL_MS 1 #define USB_MAX_POWER_CONSUMPTION 100 #define ADNS5050_SCLK_PIN B7 diff --git a/keyboards/rgbkb/mun/config.h b/keyboards/rgbkb/mun/config.h index eec3009d8c38..de658eb93c22 100644 --- a/keyboards/rgbkb/mun/config.h +++ b/keyboards/rgbkb/mun/config.h @@ -17,8 +17,6 @@ #define MANUFACTURER RGBKB #define PRODUCT Mün -#define USB_POLLING_INTERVAL_MS 1 - /* Matrix Configuration - Rows are doubled up */ #define MATRIX_ROWS 14 // Last pins reserved for encoder / touch encoder support diff --git a/keyboards/rgbkb/sol3/config.h b/keyboards/rgbkb/sol3/config.h index 8d87e5b2fa98..92db3def6bb8 100644 --- a/keyboards/rgbkb/sol3/config.h +++ b/keyboards/rgbkb/sol3/config.h @@ -17,8 +17,6 @@ #define MANUFACTURER RGBKB #define PRODUCT Sol 3 -#define USB_POLLING_INTERVAL_MS 1 - /* Matrix Configuration - Rows are doubled up */ #define MATRIX_ROWS 12 // Last pins reserved for encoder / touch encoder support diff --git a/keyboards/sanctified/dystopia/config.h b/keyboards/sanctified/dystopia/config.h index dbed62172462..3cb61cfde671 100644 --- a/keyboards/sanctified/dystopia/config.h +++ b/keyboards/sanctified/dystopia/config.h @@ -35,5 +35,4 @@ #define DIODE_DIRECTION COL2ROW -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/splitkb/kyria/keymaps/via/config.h b/keyboards/splitkb/kyria/keymaps/via/config.h index 3ca93f4fd300..f4449ac7a08b 100644 --- a/keyboards/splitkb/kyria/keymaps/via/config.h +++ b/keyboards/splitkb/kyria/keymaps/via/config.h @@ -36,5 +36,3 @@ # define RGBLIGHT_VAL_STEP 8 # define RGBLIGHT_LIMIT_VAL 150 #endif - -#define USB_POLLING_INTERVAL_MS 1 diff --git a/keyboards/xelus/dharma/keymaps/default/config.h b/keyboards/xelus/dharma/keymaps/default/config.h index ea9bfa60eb8e..5d972dd48c05 100644 --- a/keyboards/xelus/dharma/keymaps/default/config.h +++ b/keyboards/xelus/dharma/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/dharma/keymaps/via/config.h b/keyboards/xelus/dharma/keymaps/via/config.h index ea9bfa60eb8e..5d972dd48c05 100644 --- a/keyboards/xelus/dharma/keymaps/via/config.h +++ b/keyboards/xelus/dharma/keymaps/via/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/kangaroo/keymaps/default/config.h b/keyboards/xelus/kangaroo/keymaps/default/config.h index ea9bfa60eb8e..5d972dd48c05 100644 --- a/keyboards/xelus/kangaroo/keymaps/default/config.h +++ b/keyboards/xelus/kangaroo/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/kangaroo/keymaps/via/config.h b/keyboards/xelus/kangaroo/keymaps/via/config.h index ea9bfa60eb8e..5d972dd48c05 100644 --- a/keyboards/xelus/kangaroo/keymaps/via/config.h +++ b/keyboards/xelus/kangaroo/keymaps/via/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/la_plus/keymaps/default/config.h b/keyboards/xelus/la_plus/keymaps/default/config.h index 393166c4f4e7..e559a154261a 100644 --- a/keyboards/xelus/la_plus/keymaps/default/config.h +++ b/keyboards/xelus/la_plus/keymaps/default/config.h @@ -16,6 +16,4 @@ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 - diff --git a/keyboards/xelus/la_plus/keymaps/via/config.h b/keyboards/xelus/la_plus/keymaps/via/config.h index ef2ec4205791..58c086282c0e 100644 --- a/keyboards/xelus/la_plus/keymaps/via/config.h +++ b/keyboards/xelus/la_plus/keymaps/via/config.h @@ -19,6 +19,4 @@ // Enable RGB Matrix #define VIA_QMK_RGBLIGHT_ENABLE -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 - diff --git a/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h b/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h index ea9bfa60eb8e..5d972dd48c05 100644 --- a/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h +++ b/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h b/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h index 0315ad280fc5..fc3a2bd0b27f 100644 --- a/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h +++ b/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h @@ -19,5 +19,4 @@ // 3 layers or else it will not fit in EEPROM #define DYNAMIC_KEYMAP_LAYER_COUNT 3 -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rev1/keymaps/default/config.h b/keyboards/xelus/pachi/rev1/keymaps/default/config.h index ea9bfa60eb8e..5d972dd48c05 100644 --- a/keyboards/xelus/pachi/rev1/keymaps/default/config.h +++ b/keyboards/xelus/pachi/rev1/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rev1/keymaps/via/config.h b/keyboards/xelus/pachi/rev1/keymaps/via/config.h index 0315ad280fc5..fc3a2bd0b27f 100644 --- a/keyboards/xelus/pachi/rev1/keymaps/via/config.h +++ b/keyboards/xelus/pachi/rev1/keymaps/via/config.h @@ -19,5 +19,4 @@ // 3 layers or else it will not fit in EEPROM #define DYNAMIC_KEYMAP_LAYER_COUNT 3 -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rgb/keymaps/default/config.h b/keyboards/xelus/pachi/rgb/keymaps/default/config.h index ea9bfa60eb8e..5d972dd48c05 100644 --- a/keyboards/xelus/pachi/rgb/keymaps/default/config.h +++ b/keyboards/xelus/pachi/rgb/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/config.h b/keyboards/xelus/pachi/rgb/keymaps/via/config.h index 76d009f29e63..1213e7a8f2f1 100644 --- a/keyboards/xelus/pachi/rgb/keymaps/via/config.h +++ b/keyboards/xelus/pachi/rgb/keymaps/via/config.h @@ -22,6 +22,4 @@ // Enable RGB Matrix #define VIA_QMK_RGBLIGHT_ENABLE -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 - diff --git a/keyboards/xelus/rs60/keymaps/default/config.h b/keyboards/xelus/rs60/keymaps/default/config.h index ea9bfa60eb8e..5d972dd48c05 100644 --- a/keyboards/xelus/rs60/keymaps/default/config.h +++ b/keyboards/xelus/rs60/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/rs60/keymaps/via/config.h b/keyboards/xelus/rs60/keymaps/via/config.h index ea9bfa60eb8e..5d972dd48c05 100644 --- a/keyboards/xelus/rs60/keymaps/via/config.h +++ b/keyboards/xelus/rs60/keymaps/via/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/valor/rev2/keymaps/default/config.h b/keyboards/xelus/valor/rev2/keymaps/default/config.h index 824d4633ccdb..5d972dd48c05 100644 --- a/keyboards/xelus/valor/rev2/keymaps/default/config.h +++ b/keyboards/xelus/valor/rev2/keymaps/default/config.h @@ -13,6 +13,6 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ +#pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/valor/rev2/keymaps/via/config.h b/keyboards/xelus/valor/rev2/keymaps/via/config.h index 456369d884c7..490964f2727b 100644 --- a/keyboards/xelus/valor/rev2/keymaps/via/config.h +++ b/keyboards/xelus/valor/rev2/keymaps/via/config.h @@ -13,6 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ +#pragma once // RGB Matrix #define VIA_QMK_RGBLIGHT_ENABLE @@ -20,5 +21,4 @@ // More layers #define DYNAMIC_KEYMAP_LAYER_COUNT 8 -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h b/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h index 604c00df9fca..7b8de5510e5c 100644 --- a/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h +++ b/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h b/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h index 604c00df9fca..7b8de5510e5c 100644 --- a/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h +++ b/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/xs60/keymaps/default/config.h b/keyboards/xelus/xs60/keymaps/default/config.h index ea9bfa60eb8e..5d972dd48c05 100644 --- a/keyboards/xelus/xs60/keymaps/default/config.h +++ b/keyboards/xelus/xs60/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/xs60/keymaps/via/config.h b/keyboards/xelus/xs60/keymaps/via/config.h index 54aaf775da04..b608adcfc4ea 100644 --- a/keyboards/xelus/xs60/keymaps/via/config.h +++ b/keyboards/xelus/xs60/keymaps/via/config.h @@ -18,5 +18,4 @@ // More layers #define DYNAMIC_KEYMAP_LAYER_COUNT 8 -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 From 3057e5f8ca523427644ca1e8745bc0b5492a6d67 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sun, 27 Feb 2022 09:06:48 +0800 Subject: [PATCH 0231/1832] [Keyboard] ada1800mini (#16386) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre --- keyboards/ada/ada1800mini/ada1800mini.c | 4 + keyboards/ada/ada1800mini/ada1800mini.h | 38 +++++++++ keyboards/ada/ada1800mini/config.h | 70 ++++++++++++++++ keyboards/ada/ada1800mini/info.json | 82 +++++++++++++++++++ .../ada/ada1800mini/keymaps/default/keymap.c | 37 +++++++++ .../ada/ada1800mini/keymaps/default/readme.md | 1 + keyboards/ada/ada1800mini/readme.md | 27 ++++++ keyboards/ada/ada1800mini/rules.mk | 22 +++++ 8 files changed, 281 insertions(+) create mode 100644 keyboards/ada/ada1800mini/ada1800mini.c create mode 100644 keyboards/ada/ada1800mini/ada1800mini.h create mode 100644 keyboards/ada/ada1800mini/config.h create mode 100644 keyboards/ada/ada1800mini/info.json create mode 100644 keyboards/ada/ada1800mini/keymaps/default/keymap.c create mode 100644 keyboards/ada/ada1800mini/keymaps/default/readme.md create mode 100644 keyboards/ada/ada1800mini/readme.md create mode 100644 keyboards/ada/ada1800mini/rules.mk diff --git a/keyboards/ada/ada1800mini/ada1800mini.c b/keyboards/ada/ada1800mini/ada1800mini.c new file mode 100644 index 000000000000..a7d8ead5df06 --- /dev/null +++ b/keyboards/ada/ada1800mini/ada1800mini.c @@ -0,0 +1,4 @@ +// Copyright 2022 peepeetee (@peepeetee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "ada1800mini.h" diff --git a/keyboards/ada/ada1800mini/ada1800mini.h b/keyboards/ada/ada1800mini/ada1800mini.h new file mode 100644 index 000000000000..89ac0beba307 --- /dev/null +++ b/keyboards/ada/ada1800mini/ada1800mini.h @@ -0,0 +1,38 @@ +/* Copyright 2022 peepeetee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2C, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3C, K3D, K3E, K3B, \ + K40, K41, K42, K43, K46, K47, K48, K4D, K4E, K4A, K4B, K4C \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, XXX, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, K43, XXX, XXX, K46, K47, K48, XXX, K4A, K4B, K4C, K4D, K4E }, \ +} + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/ada/ada1800mini/config.h b/keyboards/ada/ada1800mini/config.h new file mode 100644 index 000000000000..38be5ad5c76e --- /dev/null +++ b/keyboards/ada/ada1800mini/config.h @@ -0,0 +1,70 @@ +/* Copyright 2022 peepeetee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xADA0 +#define PRODUCT_ID 0x1800 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Ada +#define PRODUCT ada1800mini + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 } +#define MATRIX_COL_PINS { F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, B3, B2, B1 } + +#define DIODE_DIRECTION COL2ROW + + +//TODO: implement RGB matrix when I get the hardware +#define RGB_DI_PIN F0 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 100 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#endif + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/ada/ada1800mini/info.json b/keyboards/ada/ada1800mini/info.json new file mode 100644 index 000000000000..8e746467fc44 --- /dev/null +++ b/keyboards/ada/ada1800mini/info.json @@ -0,0 +1,82 @@ +{ + "keyboard_name": "ada1800mini", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "K00 (D0,F1)", "x": 0, "y": 0 }, + { "label": "K01 (D0,F4)", "x": 1.25, "y": 0 }, + { "label": "K02 (D0,F5)", "x": 2.25, "y": 0 }, + { "label": "K03 (D0,F6)", "x": 3.25, "y": 0 }, + { "label": "K04 (D0,F7)", "x": 4.5, "y": 0 }, + { "label": "K05 (D0,C7)", "x": 5.5, "y": 0 }, + { "label": "K06 (D0,C6)", "x": 6.5, "y": 0 }, + { "label": "K07 (D0,B6)", "x": 7.5, "y": 0 }, + { "label": "K08 (D0,B5)", "x": 8.75, "y": 0 }, + { "label": "K09 (D0,B4)", "x": 9.75, "y": 0 }, + { "label": "K0A (D0,D7)", "x": 10.75, "y": 0 }, + { "label": "K0B (D0,D6)", "x": 12, "y": 0 }, + { "label": "K0C (D0,B3)", "x": 13.5, "y": 0 }, + { "label": "K0D (D0,B2)", "x": 14.5, "y": 0 }, + { "label": "K0E (D0,B1)", "x": 15.5, "y": 0 }, + { "label": "K10 (D1,F1)", "x": 0, "y": 1.25, "w": 1.5 }, + { "label": "K11 (D1,F4)", "x": 1.5, "y": 1.25 }, + { "label": "K12 (D1,F5)", "x": 2.5, "y": 1.25 }, + { "label": "K13 (D1,F6)", "x": 3.5, "y": 1.25 }, + { "label": "K14 (D1,F7)", "x": 4.5, "y": 1.25 }, + { "label": "K15 (D1,C7)", "x": 5.5, "y": 1.25 }, + { "label": "K16 (D1,C6)", "x": 6.5, "y": 1.25 }, + { "label": "K17 (D1,B6)", "x": 7.5, "y": 1.25 }, + { "label": "K18 (D1,B5)", "x": 8.5, "y": 1.25 }, + { "label": "K19 (D1,B4)", "x": 9.5, "y": 1.25 }, + { "label": "K1A (D1,D7)", "x": 10.5, "y": 1.25 }, + { "label": "K1B (D1,D6)", "x": 11.5, "y": 1.25, "w": 1.5 }, + { "label": "K1C (D1,B3)", "x": 13.5, "y": 1.25 }, + { "label": "K1D (D1,B2)", "x": 14.5, "y": 1.25 }, + { "label": "K1E (D1,B1)", "x": 15.5, "y": 1.25 }, + { "label": "K20 (D2,F1)", "x": 0, "y": 2.25, "w": 1.75 }, + { "label": "K21 (D2,F4)", "x": 1.75, "y": 2.25 }, + { "label": "K22 (D2,F5)", "x": 2.75, "y": 2.25 }, + { "label": "K23 (D2,F6)", "x": 3.75, "y": 2.25 }, + { "label": "K24 (D2,F7)", "x": 4.75, "y": 2.25 }, + { "label": "K25 (D2,C7)", "x": 5.75, "y": 2.25 }, + { "label": "K26 (D2,C6)", "x": 6.75, "y": 2.25 }, + { "label": "K27 (D2,B6)", "x": 7.75, "y": 2.25 }, + { "label": "K28 (D2,B5)", "x": 8.75, "y": 2.25 }, + { "label": "K29 (D2,B4)", "x": 9.75, "y": 2.25 }, + { "label": "K2A (D2,D7)", "x": 10.75, "y": 2.25, "w": 2.25 }, + { "label": "K2C (D2,B3)", "x": 13.5, "y": 2.25 }, + { "label": "K2D (D2,B2)", "x": 14.5, "y": 2.25 }, + { "label": "K2E (D2,B1)", "x": 15.5, "y": 2.25 }, + { "label": "K30 (D3,F1)", "x": 0, "y": 3.25, "w": 2.25 }, + { "label": "K31 (D3,F4)", "x": 2.25, "y": 3.25 }, + { "label": "K32 (D3,F5)", "x": 3.25, "y": 3.25 }, + { "label": "K33 (D3,F6)", "x": 4.25, "y": 3.25 }, + { "label": "K34 (D3,F7)", "x": 5.25, "y": 3.25 }, + { "label": "K35 (D3,C7)", "x": 6.25, "y": 3.25 }, + { "label": "K36 (D3,C6)", "x": 7.25, "y": 3.25 }, + { "label": "K37 (D3,B6)", "x": 8.25, "y": 3.25 }, + { "label": "K38 (D3,B5)", "x": 9.25, "y": 3.25 }, + { "label": "K39 (D3,B4)", "x": 10.25, "y": 3.25, "w": 1.75 }, + { "label": "K3C (D3,B3)", "x": 13.5, "y": 3.25 }, + { "label": "K3D (D3,B2)", "x": 14.5, "y": 3.25 }, + { "label": "K3E (D3,B1)", "x": 15.5, "y": 3.25 }, + { "label": "K3B (D3,D6)", "x": 12.25, "y": 3.5 }, + { "label": "K40 (D5,F1)", "x": 0, "y": 4.25, "w": 1.25 }, + { "label": "K41 (D5,F4)", "x": 1.25, "y": 4.25, "w": 1.25 }, + { "label": "K42 (D5,F5)", "x": 2.5, "y": 4.25, "w": 1.25 }, + { "label": "K43 (D5,F6)", "x": 3.75, "y": 4.25, "w": 2.75 }, + { "label": "K46 (D5,C6)", "x": 6.5, "y": 4.25, "w": 2.25 }, + { "label": "K47 (D5,B6)", "x": 8.75, "y": 4.25 }, + { "label": "K48 (D5,B5)", "x": 9.75, "y": 4.25, "w": 1.25 }, + { "label": "K4D (D5,B2)", "x": 14.5, "y": 4.25 }, + { "label": "K4E (D5,B1)", "x": 15.5, "y": 4.25 }, + { "label": "K4A (D5,D7)", "x": 11.25, "y": 4.5 }, + { "label": "K4B (D5,D6)", "x": 12.25, "y": 4.5 }, + { "label": "K4C (D5,B3)", "x": 13.25, "y": 4.5 } + ] + } + } + ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" +} diff --git a/keyboards/ada/ada1800mini/keymaps/default/keymap.c b/keyboards/ada/ada1800mini/keymaps/default/keymap.c new file mode 100644 index 000000000000..6937871a01d9 --- /dev/null +++ b/keyboards/ada/ada1800mini/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2022 peepeetee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_NLCK, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_P7, KC_P8, KC_P9, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_LSFT, KC_P1, KC_P2, KC_P3, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LALT, KC_LCTL, KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + 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_LBRC, KC_RBRC, KC_DEL, _______, _______, _______, + _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_SCLN, KC_QUOT, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______ + ), + +}; diff --git a/keyboards/ada/ada1800mini/keymaps/default/readme.md b/keyboards/ada/ada1800mini/keymaps/default/readme.md new file mode 100644 index 000000000000..366b3134fde6 --- /dev/null +++ b/keyboards/ada/ada1800mini/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for ada1800mini diff --git a/keyboards/ada/ada1800mini/readme.md b/keyboards/ada/ada1800mini/readme.md new file mode 100644 index 000000000000..ad323114a6ac --- /dev/null +++ b/keyboards/ada/ada1800mini/readme.md @@ -0,0 +1,27 @@ +# ada1800mini + +![ada1800mini](https://i.imgur.com/87Rn2MJh.jpeg) + +A per key RGB mini 1800 keyboard + +* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee) +* Hardware Supported: ada1800mini +* Hardware Availability: no longer avaliable - future groupbuy possible + +Make example for this keyboard (after setting up your build environment): + + make ada/ada1800mini:default + +Flashing example for this keyboard: + + make ada/ada1800mini:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/ada/ada1800mini/rules.mk b/keyboards/ada/ada1800mini/rules.mk new file mode 100644 index 000000000000..de0a7a062946 --- /dev/null +++ b/keyboards/ada/ada1800mini/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + + +# generated by KBFirmware JSON to QMK Parser +# https://noroadsleft.github.io/kbf_qmk_converter/ From d94b5d0b8219dfce42aad5798d3bb1d6cf7fec19 Mon Sep 17 00:00:00 2001 From: Dari <41168529+dari-studios@users.noreply.github.com> Date: Sat, 26 Feb 2022 20:18:51 -0500 Subject: [PATCH 0232/1832] [Handwired] Support for Adafruit lemon keypad (#16395) Co-authored-by: Ryan Co-authored-by: zvecr --- keyboards/handwired/lemonpad/config.h | 140 ++++++++++++++++++ keyboards/handwired/lemonpad/info.json | 18 +++ .../lemonpad/keymaps/default/keymap.c | 31 ++++ .../lemonpad/keymaps/default/readme.md | 1 + .../handwired/lemonpad/keymaps/via/config.h | 19 +++ .../handwired/lemonpad/keymaps/via/keymap.c | 78 ++++++++++ .../handwired/lemonpad/keymaps/via/readme.md | 1 + .../handwired/lemonpad/keymaps/via/rules.mk | 2 + keyboards/handwired/lemonpad/lemonpad.c | 17 +++ keyboards/handwired/lemonpad/lemonpad.h | 38 +++++ keyboards/handwired/lemonpad/readme.md | 27 ++++ keyboards/handwired/lemonpad/rules.mk | 20 +++ 12 files changed, 392 insertions(+) create mode 100644 keyboards/handwired/lemonpad/config.h create mode 100644 keyboards/handwired/lemonpad/info.json create mode 100644 keyboards/handwired/lemonpad/keymaps/default/keymap.c create mode 100644 keyboards/handwired/lemonpad/keymaps/default/readme.md create mode 100644 keyboards/handwired/lemonpad/keymaps/via/config.h create mode 100644 keyboards/handwired/lemonpad/keymaps/via/keymap.c create mode 100644 keyboards/handwired/lemonpad/keymaps/via/readme.md create mode 100644 keyboards/handwired/lemonpad/keymaps/via/rules.mk create mode 100644 keyboards/handwired/lemonpad/lemonpad.c create mode 100644 keyboards/handwired/lemonpad/lemonpad.h create mode 100644 keyboards/handwired/lemonpad/readme.md create mode 100644 keyboards/handwired/lemonpad/rules.mk diff --git a/keyboards/handwired/lemonpad/config.h b/keyboards/handwired/lemonpad/config.h new file mode 100644 index 000000000000..46369cb999ee --- /dev/null +++ b/keyboards/handwired/lemonpad/config.h @@ -0,0 +1,140 @@ +/* Copyright 2022 dari-studios (@dari-studios) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6473 +#define PRODUCT_ID 0x4C50 +#define DEVICE_VER 0x0001 +#define MANUFACTURER dari-studios +#define PRODUCT lemonpad + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 3 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ + +#define DIRECT_PINS { \ + { E6, D7, C6 }, \ + { B4, B5, D4 } \ +} +#define UNUSED_PINS + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/lemonpad/info.json b/keyboards/handwired/lemonpad/info.json new file mode 100644 index 000000000000..e9d13d147f09 --- /dev/null +++ b/keyboards/handwired/lemonpad/info.json @@ -0,0 +1,18 @@ +{ + "keyboard_name": "lemonpad", + "url": "", + "maintainer": "dari-studios", + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "k00", "x": 0, "y": 0}, + {"label": "k01", "x": 1, "y": 0}, + {"label": "k02", "x": 2, "y": 0}, + + {"label": "k10", "x": 0, "y": 1}, + {"label": "k11", "x": 1, "y": 1}, + {"label": "k12", "x": 2, "y": 1} + ] + } + } +} diff --git a/keyboards/handwired/lemonpad/keymaps/default/keymap.c b/keyboards/handwired/lemonpad/keymaps/default/keymap.c new file mode 100644 index 000000000000..06ebf2083ff9 --- /dev/null +++ b/keyboards/handwired/lemonpad/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +/* Copyright 2022 dari-studios (@dari-studios) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +/* Defines names for use in layer keycodes and the keymap*/ + +enum layer_names { + _BASE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F + ), + +}; diff --git a/keyboards/handwired/lemonpad/keymaps/default/readme.md b/keyboards/handwired/lemonpad/keymaps/default/readme.md new file mode 100644 index 000000000000..7d4196c9e30f --- /dev/null +++ b/keyboards/handwired/lemonpad/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for lemonpad diff --git a/keyboards/handwired/lemonpad/keymaps/via/config.h b/keyboards/handwired/lemonpad/keymaps/via/config.h new file mode 100644 index 000000000000..0baa186e2377 --- /dev/null +++ b/keyboards/handwired/lemonpad/keymaps/via/config.h @@ -0,0 +1,19 @@ +/* Copyright 2022 dari-studios (@dari-studios) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 9 \ No newline at end of file diff --git a/keyboards/handwired/lemonpad/keymaps/via/keymap.c b/keyboards/handwired/lemonpad/keymaps/via/keymap.c new file mode 100644 index 000000000000..71b94011cb57 --- /dev/null +++ b/keyboards/handwired/lemonpad/keymaps/via/keymap.c @@ -0,0 +1,78 @@ +/* Copyright 2022 dari-studios (@dari-studios) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +/* Defines names for use in layer keycodes and the keymap */ + +enum layer_names { + _BASE, + _EMPTY1, + _EMPTY2, + _EMPTY3, + _EMPTY4, + _EMPTY5, + _EMPTY6, + _EMPTY7, + _EMPTY8 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F + ), + + [_EMPTY1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_EMPTY2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_EMPTY3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_EMPTY4] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_EMPTY5] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_EMPTY6] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_EMPTY7] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_EMPTY8] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/handwired/lemonpad/keymaps/via/readme.md b/keyboards/handwired/lemonpad/keymaps/via/readme.md new file mode 100644 index 000000000000..907b8f5add94 --- /dev/null +++ b/keyboards/handwired/lemonpad/keymaps/via/readme.md @@ -0,0 +1 @@ +# Basic VIA config, 9 layers. \ No newline at end of file diff --git a/keyboards/handwired/lemonpad/keymaps/via/rules.mk b/keyboards/handwired/lemonpad/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/handwired/lemonpad/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/lemonpad/lemonpad.c b/keyboards/handwired/lemonpad/lemonpad.c new file mode 100644 index 000000000000..cb5c1461a56b --- /dev/null +++ b/keyboards/handwired/lemonpad/lemonpad.c @@ -0,0 +1,17 @@ +/* Copyright 2022 dari-studios (@dari-studios) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "lemonpad.h" diff --git a/keyboards/handwired/lemonpad/lemonpad.h b/keyboards/handwired/lemonpad/lemonpad.h new file mode 100644 index 000000000000..8f9b64c19a1b --- /dev/null +++ b/keyboards/handwired/lemonpad/lemonpad.h @@ -0,0 +1,38 @@ +/* Copyright 2022 dari-studios (@dari-studios) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +//Top 3 on the usb port side, bottom 3 on the opposite side + +#define LAYOUT( \ + k00, k01, k02, \ + k10, k11, k12 \ +) { \ + { k00, k01, k02 }, \ + { k10, k11, k12 }, \ +} diff --git a/keyboards/handwired/lemonpad/readme.md b/keyboards/handwired/lemonpad/readme.md new file mode 100644 index 000000000000..4c1c2082e904 --- /dev/null +++ b/keyboards/handwired/lemonpad/readme.md @@ -0,0 +1,27 @@ +# lemonpad + +![lemonpad](https://i.imgur.com/hAp2Nich.jpeg) + +This is a QMK and VIA implementation for an atmega32u4 based adaptation of the Adafruit Lemon Keypad. By default it uses a Pro Micro, if you would like to use a different microcontroller please make sure you have the correct bootloader set. + +* Keyboard Maintainer: [dari-studios](https://github.com/dari-studios) +* Hardware Supported: atmega32u4 based boards with the Caterina bootloader +* Hardware Availability: https://learn.adafruit.com/qtpy-lemon-mechanical-keypad-macropad + +Make example for this keyboard (after setting up your build environment): + + make handwired/lemonpad:default + +Flashing example for this keyboard: + + make handwired/lemonpad:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/handwired/lemonpad/rules.mk b/keyboards/handwired/lemonpad/rules.mk new file mode 100644 index 000000000000..6174b9bd6663 --- /dev/null +++ b/keyboards/handwired/lemonpad/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +LTO_ENABLE = yes From 97d0e7cb2d1b4e3db16aa68a3d87437ffd472ffe Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 27 Feb 2022 12:35:10 +1100 Subject: [PATCH 0233/1832] [Docs] Add commands to flashing docs (#16456) --- docs/flashing.md | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/docs/flashing.md b/docs/flashing.md index f6b5ff78b2c7..83f4bf82ae1c 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -25,6 +25,11 @@ Compatible flashers: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) * [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` target in QMK (recommended command line) + ``` + dfu-programmer erase --force + dfu-programmer flash --force + dfu-programmer reset + ``` Flashing sequence: @@ -73,8 +78,11 @@ BOOTLOADER = caterina Compatible flashers: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) -* [avrdude](https://www.nongnu.org/avrdude/) with the `avr109` programmer / `:avrdude` target in QMK (recommended command line) * [AVRDUDESS](https://github.com/zkemble/AVRDUDESS) +* [avrdude](https://www.nongnu.org/avrdude/) with the `avr109` programmer / `:avrdude` target in QMK (recommended command line) + ``` + avrdude -p -c avr109 -P -U flash:w::i + ``` Flashing sequence: @@ -106,8 +114,11 @@ BOOTLOADER = halfkay Compatible flashers: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) -* [Teensy Loader Command Line](https://www.pjrc.com/teensy/loader_cli.html) / `:teensy` target in QMK (recommended command line) * [Teensy Loader](https://www.pjrc.com/teensy/loader.html) +* [Teensy Loader Command Line](https://www.pjrc.com/teensy/loader_cli.html) / `:teensy` target in QMK (recommended command line) + ``` + teensy_loader_cli -v -mmcu= + ``` Flashing sequence: @@ -133,8 +144,11 @@ BOOTLOADER = usbasploader Compatible flashers: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) -* [avrdude](https://www.nongnu.org/avrdude/) with the `usbasp` programmer / `:usbasp` target in QMK (recommended command line) * [AVRDUDESS](https://github.com/zkemble/AVRDUDESS) +* [avrdude](https://www.nongnu.org/avrdude/) with the `usbasp` programmer / `:usbasp` target in QMK (recommended command line) + ``` + avrdude -p -c usbasp -U flash:w::i + ``` Flashing sequence: @@ -159,8 +173,11 @@ BOOTLOADER = bootloadhid Compatible flashers: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) -* [bootloadHID CLI](https://www.obdev.at/products/vusb/bootloadhid.html) / `:bootloadhid` target in QMK (recommended command line) * [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash) +* [bootloadHID CLI](https://www.obdev.at/products/vusb/bootloadhid.html) / `:bootloadhid` target in QMK (recommended command line) + ``` + bootloadHID -r + ``` Flashing sequence: @@ -232,6 +249,9 @@ Compatible flashers: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) * [dfu-util](https://dfu-util.sourceforge.net/) / `:dfu-util` target in QMK (recommended command line) + ``` + dfu-util -a 0 -d 0483:DF11 -s 0x8000000:leave -D + ``` Flashing sequence: @@ -265,6 +285,9 @@ Compatible flashers: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) * [dfu-util](https://dfu-util.sourceforge.net/) / `:dfu-util` target in QMK (recommended command line) + ``` + dfu-util -a 2 -d 1EAF:0003 -D + ``` Flashing sequence: @@ -286,6 +309,9 @@ Compatible flashers: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) * [dfu-util](https://dfu-util.sourceforge.net/) / `:dfu-util` target in QMK (recommended command line) + ``` + dfu-util -a 0 -d 1C11:B007 -D + ``` Flashing sequence: From c1e008b0520a983226622af21e82d7ebe24b83f3 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 26 Feb 2022 17:36:30 -0800 Subject: [PATCH 0234/1832] [Keyboard] add YMDK YMD21 v2 (#16442) * [Keyboard] add YMDK YMD21 v2 * remove trailing whitespace from default keymap --- keyboards/ymdk/ymd21/v2/config.h | 71 +++++++++++++++++++ keyboards/ymdk/ymd21/v2/info.json | 40 +++++++++++ .../ymdk/ymd21/v2/keymaps/default/keymap.c | 39 ++++++++++ keyboards/ymdk/ymd21/v2/readme.md | 27 +++++++ keyboards/ymdk/ymd21/v2/rules.mk | 20 ++++++ keyboards/ymdk/ymd21/v2/v2.c | 17 +++++ keyboards/ymdk/ymd21/v2/v2.h | 58 +++++++++++++++ 7 files changed, 272 insertions(+) create mode 100644 keyboards/ymdk/ymd21/v2/config.h create mode 100644 keyboards/ymdk/ymd21/v2/info.json create mode 100644 keyboards/ymdk/ymd21/v2/keymaps/default/keymap.c create mode 100644 keyboards/ymdk/ymd21/v2/readme.md create mode 100644 keyboards/ymdk/ymd21/v2/rules.mk create mode 100644 keyboards/ymdk/ymd21/v2/v2.c create mode 100644 keyboards/ymdk/ymd21/v2/v2.h diff --git a/keyboards/ymdk/ymd21/v2/config.h b/keyboards/ymdk/ymd21/v2/config.h new file mode 100644 index 000000000000..81af6cab2413 --- /dev/null +++ b/keyboards/ymdk/ymd21/v2/config.h @@ -0,0 +1,71 @@ +/* Copyright 2022 QMK / James Young (@noroadsleft) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x45D4 +#define PRODUCT_ID 0x0110 +#define DEVICE_VER 0x0001 +#define MANUFACTURER YMDK +#define PRODUCT YMD21 v2 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 4 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B3, B6, B2, B1, D7, B4 } +#define MATRIX_COL_PINS { F5, F4, D3, D2 } + +#define DIODE_DIRECTION ROW2COL + +#define BACKLIGHT_PIN B7 +#define BACKLIGHT_BREATHING +#define BACKLIGHT_LEVELS 3 + +#define RGB_DI_PIN E2 +#if defined(RGBLIGHT_ENABLE) + #define RGBLED_NUM 8 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 180 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ + #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +#endif diff --git a/keyboards/ymdk/ymd21/v2/info.json b/keyboards/ymdk/ymd21/v2/info.json new file mode 100644 index 000000000000..c28c2c3634fa --- /dev/null +++ b/keyboards/ymdk/ymd21/v2/info.json @@ -0,0 +1,40 @@ +{ + "keyboard_name": "YMD21 v2", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_ortho_6x4": { + "layout": [ + {"label":"F1", "x":0, "y":0}, + {"label":"F2", "x":1, "y":0}, + {"label":"F3", "x":2, "y":0}, + {"label":"F4", "x":3, "y":0}, + + {"label":"Num Lock", "x":0, "y":1.25}, + {"label":"/", "x":1, "y":1.25}, + {"label":"*", "x":2, "y":1.25}, + {"label":"-", "x":3, "y":1.25}, + + {"label":"7", "x":0, "y":2.25}, + {"label":"8", "x":1, "y":2.25}, + {"label":"9", "x":2, "y":2.25}, + {"label":"=", "x":3, "y":2.25}, + + {"label":"4", "x":0, "y":3.25}, + {"label":"5", "x":1, "y":3.25}, + {"label":"6", "x":2, "y":3.25}, + {"label":"+", "x":3, "y":3.25}, + + {"label":"1", "x":0, "y":4.25}, + {"label":"2", "x":1, "y":4.25}, + {"label":"3", "x":2, "y":4.25}, + {"label":"Space", "x":3, "y":4.25}, + + {"label":"Fn", "x":0, "y":5.25}, + {"label":"0", "x":1, "y":5.25}, + {"label":".", "x":2, "y":5.25}, + {"label":"Enter", "x":3, "y":5.25} + ] + } + } +} diff --git a/keyboards/ymdk/ymd21/v2/keymaps/default/keymap.c b/keyboards/ymdk/ymd21/v2/keymaps/default/keymap.c new file mode 100644 index 000000000000..d19d342f146a --- /dev/null +++ b/keyboards/ymdk/ymd21/v2/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2022 QMK / James Young (@noroadsleft) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_ortho_6x4( + KC_F1, KC_F2, KC_F3, KC_F4, + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PEQL, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_SPC, + MO(1), KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_ortho_6x4( + RGB_MOD, BL_STEP, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/ymdk/ymd21/v2/readme.md b/keyboards/ymdk/ymd21/v2/readme.md new file mode 100644 index 000000000000..8a7968e34653 --- /dev/null +++ b/keyboards/ymdk/ymd21/v2/readme.md @@ -0,0 +1,27 @@ +# YMDK YMD21 v2 + +![YMDK YMD21 v2](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/ymdk/ymd21/v2/New-YMD21-V2-QMK-VIA-21-23-24-Key-RGB-Programmable-Marco-Function-MX-Cherry-Gateron.jpg_Q90.jpg_1_640.jpg) + +A 21-to-24-key numpad with RGB Underglow, USB-C, and support for in-switch LEDs. + +* Keyboard Maintainer: [The QMK Community](https://github.com/qmk) +* Hardware Supported: YMDK YMD21 v2 (ATmega32U4) +* Hardware Availability: [YMDKey.com](https://ymdkey.com/collections/num-pad-diy/products/new-ymd21-v2-qmk-via-21-23-24-key-rgb-programmable-marco-function-mx-cherry-gateron-switches-numpad-for-lol-battlegrounds), [AliExpress](https://www.aliexpress.com/item/32916152785.html) + +Make example for this keyboard (after setting up your build environment): + + make ymdk/ymd21/v2:default + +Flashing example for this keyboard: + + make ymdk/ymd21/v2:default:flash + +## Bootloader + +Enter the bootloader using one of the following methods: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +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/ymdk/ymd21/v2/rules.mk b/keyboards/ymdk/ymd21/v2/rules.mk new file mode 100644 index 000000000000..06a82f164382 --- /dev/null +++ b/keyboards/ymdk/ymd21/v2/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +LAYOUTS = ortho_6x4 diff --git a/keyboards/ymdk/ymd21/v2/v2.c b/keyboards/ymdk/ymd21/v2/v2.c new file mode 100644 index 000000000000..7d498f738d8b --- /dev/null +++ b/keyboards/ymdk/ymd21/v2/v2.c @@ -0,0 +1,17 @@ +/* Copyright 2022 QMK / James Young (@noroadsleft) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "v2.h" diff --git a/keyboards/ymdk/ymd21/v2/v2.h b/keyboards/ymdk/ymd21/v2/v2.h new file mode 100644 index 000000000000..a234b6050881 --- /dev/null +++ b/keyboards/ymdk/ymd21/v2/v2.h @@ -0,0 +1,58 @@ +/* Copyright 2022 QMK / James Young (@noroadsleft) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +/* + * ┌───┬───┬───┬───┐ + * │00 │01 │02 │03 │ + * └───┴───┴───┴───┘ + * ┌───┬───┬───┬───┐ + * │10 │11 │12 │13 │ + * ├───┼───┼───┼───┤ ┌───┐ + * │20 │21 │22 │23 │ │ │ + * ├───┼───┼───┼───┤ │?? │ 2u Plus + * │30 │31 │32 │33 │ │ │ + * ├───┼───┼───┼───┤ ├───┤ + * │40 │41 │42 │43 │ │ │ + * ├───┼───┼───┼───┤ │?? │ 2u Enter + * │50 │51 │52 │53 │ │ │ + * └───┴───┴───┴───┘ └───┘ + * ┌───────┐ + * │?? │ 2u 0 + * └───────┘ + */ + + +#define LAYOUT_ortho_6x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23, \ + K30, K31, K32, K33, \ + K40, K41, K42, K43, \ + K50, K51, K52, K53 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, K33 }, \ + { K40, K41, K42, K43 }, \ + { K50, K51, K52, K53 }, \ +} From 259cf769664b075613399afd888e916a3b028897 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sun, 27 Feb 2022 01:50:44 +0000 Subject: [PATCH 0235/1832] Link WS2812 driver page from rgb feature docs (#16366) --- docs/feature_rgb_matrix.md | 2 ++ docs/feature_rgblight.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index a021779d4305..e2312f2766a9 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -361,6 +361,8 @@ Configure the hardware via your `config.h`: #define DRIVER_LED_TOTAL 70 ``` +?> There are additional configuration options for ARM controllers that offer increased performance over the default bitbang driver. Please see [WS2812 Driver](ws2812_driver.md) for more information. + --- ### APA102 :id=apa102 diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index 194daee29423..08e820c0a638 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -22,6 +22,8 @@ On keyboards with onboard RGB LEDs, it is usually enabled by default. If it is n RGBLIGHT_ENABLE = yes ``` +?> There are additional configuration options for ARM controllers that offer increased performance over the default WS2812 bitbang driver. Please see [WS2812 Driver](ws2812_driver.md) for more information. + For APA102 LEDs, add the following to your `rules.mk`: ```make From 1d30ee72ab0ed78fb4b4eda39cd8f2886d156a1c Mon Sep 17 00:00:00 2001 From: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sat, 26 Feb 2022 21:29:59 -0500 Subject: [PATCH 0236/1832] [Keymap] stanrc85 userspace rules cleanup (#16447) --- users/stanrc85/rules.mk | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/users/stanrc85/rules.mk b/users/stanrc85/rules.mk index d17f2df007fb..16cf1ace5d65 100644 --- a/users/stanrc85/rules.mk +++ b/users/stanrc85/rules.mk @@ -28,22 +28,16 @@ ifeq ($(strip $(KEYBOARD)), tkc/osav2) VELOCIKEY_ENABLE=yes SRC += rgb_timeout.c endif -ifeq ($(strip $(KEYBOARD)), boardsource/the_mark) - RGB_MATRIX_ENABLE = yes - RGBLIGHT_ENABLE = no -endif ifeq ($(strip $(KEYBOARD)), jacky_studio/bear_65) BACKLIGHT_ENABLE = yes RGB_MATRIX_ENABLE = yes RGBLIGHT_ENABLE = no SRC += rgb_layers.c endif -ifeq ($(strip $(KEYBOARD)), tkc/portico) - SRC += rgb_timeout.c -endif -ifeq ($(strip $(KEYBOARD)), kiwikey/wanderland) - SRC += rgb_timeout.c -endif ifeq ($(strip $(KEYBOARD)), mechlovin/adelais/rgb_led/rev2) SRC += rgb_layers.c endif +ifeq ($(strip $(KEYBOARD)), mechlovin/adelais/standard_led/arm/rev4/stm32f303) + SRC += rgb_timeout.c + SRC += layer_rgb.c +endif From 29ab430f1f302bc64ad1549147f24235ba230a9c Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sun, 27 Feb 2022 10:38:46 +0800 Subject: [PATCH 0237/1832] [Docs] Anchor link correction in rgb matrix docs (#16460) --- docs/feature_rgb_matrix.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index e2312f2766a9..87dbc5f78062 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -528,7 +528,7 @@ All RGB keycodes are currently shared with the RGBLIGHT system: `RGB_MODE_PLAIN`, `RGB_MODE_BREATHE`, `RGB_MODE_RAINBOW`, and `RGB_MODE_SWIRL` are the only ones that are mapped properly. The rest don't have a direct equivalent, and are not mapped. -?> `RGB_*` keycodes cannot be used with functions like `tap_code16(RGB_HUD)` as they're not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions-idfunctions) should be used instead. +?> `RGB_*` keycodes cannot be used with functions like `tap_code16(RGB_HUD)` as they're not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead. !> By default, if you have both the [RGB Light](feature_rgblight.md) and the RGB Matrix feature enabled, these keycodes will work for both features, at the same time. You can disable the keycode functionality by defining the `*_DISABLE_KEYCODES` option for the specific feature. From 156f0561f2e9865eb76a79742d8224cdd7100f27 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Sun, 27 Feb 2022 04:05:03 +0100 Subject: [PATCH 0238/1832] [Core] Squeeze AVR some more with `-mrelax` and `-mcall-prologues` (#16269) --- platforms/avr/platform.mk | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/platforms/avr/platform.mk b/platforms/avr/platform.mk index 4d9cafaeef4a..9f304d2e209d 100644 --- a/platforms/avr/platform.mk +++ b/platforms/avr/platform.mk @@ -18,6 +18,13 @@ COMPILEFLAGS += -ffunction-sections COMPILEFLAGS += -fdata-sections COMPILEFLAGS += -fpack-struct COMPILEFLAGS += -fshort-enums +COMPILEFLAGS += -mcall-prologues + +# Linker relaxation is only possible if +# link time optimizations are not enabled. +ifeq ($(strip $(LTO_ENABLE)), no) + COMPILEFLAGS += -mrelax +endif ASFLAGS += $(AVR_ASFLAGS) @@ -28,7 +35,7 @@ CFLAGS += -fno-strict-aliasing CXXFLAGS += $(COMPILEFLAGS) CXXFLAGS += -fno-exceptions -std=c++11 -LDFLAGS +=-Wl,--gc-sections +LDFLAGS += -Wl,--gc-sections OPT_DEFS += -DF_CPU=$(F_CPU)UL From 57601d3cfe7db69e245b9bc45d16317ba05ab366 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 27 Feb 2022 00:38:51 -0800 Subject: [PATCH 0239/1832] Wren: fix QMK Configurator key sequence (#16462) * Wren: fix QMK Configurator key sequence * info.json: update maintainer field --- keyboards/wren/info.json | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/keyboards/wren/info.json b/keyboards/wren/info.json index ef11ffea2767..8aaddc65b30d 100644 --- a/keyboards/wren/info.json +++ b/keyboards/wren/info.json @@ -1,6 +1,6 @@ { "keyboard_name": "wren", - "maintainer": "vinorodrigues", + "maintainer": "walterhanley", "layouts": { "LAYOUT": { "layout": [ @@ -35,17 +35,17 @@ {"label":"L17","x":7.5, "y":1}, {"label":"L18","x":8.5, "y":1.25}, {"label":"L19","x":9.5, "y":1.5}, - {"label":"R10","x":16, "y":1}, + {"label":"R10","x":14, "y":1.5}, {"label":"R11","x":15, "y":1.25}, - {"label":"R12","x":17, "y":1.25}, - {"label":"R13","x":14, "y":1.5}, + {"label":"R12","x":16, "y":1}, + {"label":"R13","x":17, "y":1.25}, {"label":"R14","x":18, "y":1.5}, {"label":"R15","x":19, "y":1.5}, {"label":"R16","x":20.5, "y":1.5}, {"label":"R17","x":21.5, "y":1.5}, {"label":"R18","x":22.5, "y":1.5}, {"label":"R19","x":23.5, "y":1.5}, - + {"label":"L20","x":0, "y":2.5}, {"label":"L21","x":1, "y":2.5}, {"label":"L22","x":2, "y":2.5}, @@ -88,7 +88,6 @@ {"label":"R38","x":22.5, "y":3.5}, {"label":"R39","x":23.5, "y":3.5}, - {"label":"LT0","x":6, "y":4.5}, {"label":"LT1","x":7, "y":4.5}, {"label":"LT2","x":8, "y":4.5}, @@ -102,4 +101,4 @@ ] } } -} \ No newline at end of file +} From a7a3f722353d5fafa7d1f89c4d0f969ff2c75b87 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 27 Feb 2022 02:08:10 -0800 Subject: [PATCH 0240/1832] Wolf Sabre: fix Configurator layout data (#16465) * apply friendly formatting to info.json * rebuild Configurator layout data KLE Rotation leads to incorrect layout data when converted to `info.json` format. * add matrix diagram to sabre.h --- keyboards/wolf/sabre/info.json | 99 +++++++++++++++++++++++++++++++++- keyboards/wolf/sabre/sabre.h | 23 ++++++++ 2 files changed, 120 insertions(+), 2 deletions(-) diff --git a/keyboards/wolf/sabre/info.json b/keyboards/wolf/sabre/info.json index 3fb912fdb42c..2e1197de8cba 100644 --- a/keyboards/wolf/sabre/info.json +++ b/keyboards/wolf/sabre/info.json @@ -4,7 +4,102 @@ "maintainer": "ToastyStoemp", "layouts": { "LAYOUT": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":8.25, "y":0}, {"label":"PrtSc", "x":17.25, "y":0}, {"label":"Scroll Lock", "x":18.25, "y":0}, {"label":"Pause", "x":19.25, "y":0}, {"label":"\u00ac", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"\"", "x":2, "y":1.25}, {"label":"\u00a3", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"Insert", "x":17.25, "y":1.25}, {"label":"Home", "x":18.25, "y":1.25}, {"label":"PgUp", "x":19.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Delete", "x":17.25, "y":2.25}, {"label":"End", "x":18.25, "y":2.25}, {"label":"PgDn", "x":19.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"\u2191", "x":18.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, {"label":"Win", "x":2.5, "y":5.25, "w":1.5}, {"label":"Alt", "x":4, "y":5.25}, {"x":5, "y":5.25, "w":2.25}, {"label":"\u2190", "x":17.25, "y":5.25}, {"label":"\u2193", "x":18.25, "y":5.25}, {"label":"\u2192", "x":19.25, "y":5.25}, {"label":"F6", "x":-7.75, "y":6.25}, {"label":"F7", "x":-6.75, "y":6.25}, {"label":"F8", "x":-5.75, "y":6.25}, {"label":"F9", "x":-4.5, "y":6.25}, {"label":"F10", "x":-3.5, "y":6.25}, {"label":"F11", "x":-2.5, "y":6.25}, {"label":"F12", "x":-1.5, "y":6.25}, {"label":"&", "x":-8.5, "y":7.5}, {"label":"*", "x":-7.5, "y":7.5}, {"label":"(", "x":-6.5, "y":7.5}, {"label":")", "x":-5.5, "y":7.5}, {"label":"_", "x":-4.5, "y":7.5}, {"label":"+", "x":-3.5, "y":7.5}, {"label":"BackSpace", "x":-2.5, "y":7.5, "w":2}, {"label":"Y", "x":-9.0, "y":8.5}, {"label":"U", "x":-8, "y":8.5}, {"label":"I", "x":-7.0, "y":8.5}, {"label":"O", "x":-6, "y":8.5}, {"label":"P", "x":-5.0, "y":8.5}, {"label":"{", "x":-4, "y":8.5}, {"label":"}", "x":-3.0, "y":8.5}, {"label":"|", "x":-2, "y":8.5, "w":1.5}, {"label":"H", "x":-8.75, "y":9.5}, {"label":"J", "x":-7.75, "y":9.5}, {"label":"K", "x":-6.75, "y":9.5}, {"label":"L", "x":-5.75, "y":9.5}, {"label":":", "x":-4.75, "y":9.5}, {"label":"@", "x":-3.75, "y":9.5}, {"label":"Enter", "x":-2.75, "y":9.5, "w":2.25}, {"label":"B", "x":-9.25, "y":10.5}, {"label":"N", "x":-8.25, "y":10.5}, {"label":"M", "x":-7.25, "y":10.5}, {"label":"<", "x":-6.25, "y":10.5}, {"label":">", "x":-5.25, "y":10.5}, {"label":"?", "x":-4.25, "y":10.5}, {"label":"Shift", "x":-3.25, "y":10.5, "w":1.75}, {"x":-1.5, "y":10.5}, {"x":-9.25, "y":11.5, "w":2.75}, {"label":"<", "x":-6.5, "y":11.5}, {"label":"Alt", "x":-5.5, "y":11.5, "w":1.5}, {"label":"Ctrl", "x":-3.0, "y":11.5, "w":1.5}] + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":2, "y":0}, + {"label":"F2", "x":3, "y":0}, + {"label":"F3", "x":4, "y":0}, + {"label":"F4", "x":5, "y":0}, + {"label":"F5", "x":8.75, "y":0}, + {"label":"F6", "x":9.75, "y":0}, + {"label":"F7", "x":10.75, "y":0}, + {"label":"F8", "x":11.75, "y":0}, + {"label":"F9", "x":13, "y":0}, + {"label":"F10", "x":14, "y":0}, + {"label":"F11", "x":15, "y":0}, + {"label":"F12", "x":16, "y":0}, + {"label":"Print Screen", "x":17.25, "y":0}, + {"label":"Scroll Lock", "x":18.25, "y":0}, + {"label":"Pause", "x":19.25, "y":0}, + + {"label":"`\u00ac", "x":0, "y":1.25}, + {"label":"1!", "x":1, "y":1.25}, + {"label":"2\"", "x":2, "y":1.25}, + {"label":"3\u00a3", "x":3, "y":1.25}, + {"label":"4$", "x":4, "y":1.25}, + {"label":"5%", "x":5, "y":1.25}, + {"label":"6^", "x":6, "y":1.25}, + {"label":"7&", "x":9, "y":1.25}, + {"label":"8*", "x":10, "y":1.25}, + {"label":"9(", "x":11, "y":1.25}, + {"label":"0)", "x":12, "y":1.25}, + {"label":"-_", "x":13, "y":1.25}, + {"label":"=+", "x":14, "y":1.25}, + {"label":"BackSpace", "x":15, "y":1.25, "w":2}, + {"label":"Insert", "x":17.25, "y":1.25}, + {"label":"Home", "x":18.25, "y":1.25}, + {"label":"Page Up", "x":19.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":8.5, "y":2.25}, + {"label":"U", "x":9.5, "y":2.25}, + {"label":"I", "x":10.5, "y":2.25}, + {"label":"O", "x":11.5, "y":2.25}, + {"label":"P", "x":12.5, "y":2.25}, + {"label":"[{", "x":13.5, "y":2.25}, + {"label":"]}", "x":14.5, "y":2.25}, + {"label":"\\|", "x":15.5, "y":2.25, "w":1.5}, + {"label":"Delete", "x":17.25, "y":2.25}, + {"label":"End", "x":18.25, "y":2.25}, + {"label":"Page Down", "x":19.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":8.75, "y":3.25}, + {"label":"J", "x":9.75, "y":3.25}, + {"label":"K", "x":10.75, "y":3.25}, + {"label":"L", "x":11.75, "y":3.25}, + {"label":";:", "x":12.75, "y":3.25}, + {"label":"'@", "x":13.75, "y":3.25}, + {"label":"Enter", "x":14.75, "y":3.25, "w":2.25}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"B", "x":8.25, "y":4.25}, + {"label":"N", "x":9.25, "y":4.25}, + {"label":"M", "x":10.25, "y":4.25}, + {"label":",<", "x":11.25, "y":4.25}, + {"label":".>", "x":12.25, "y":4.25}, + {"label":"/?", "x":13.25, "y":4.25}, + {"label":"Shift", "x":14.25, "y":4.25, "w":1.75}, + {"label":"Fn", "x":16, "y":4.25}, + {"label":"\u2191", "x":18.25, "y":4.25}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, + {"label":"GUI", "x":2.5, "y":5.25, "w":1.5}, + {"label":"Alt", "x":4, "y":5.25}, + {"label":"Space", "x":5, "y":5.25, "w":2.25}, + {"label":"Space", "x":8.25, "y":5.25, "w":2.75}, + {"label":"Alt", "x":11, "y":5.25}, + {"label":"GUI", "x":12, "y":5.25, "w":1.5}, + {"label":"Ctrl", "x":14.5, "y":5.25, "w":1.5}, + {"label":"\u2190", "x":17.25, "y":5.25}, + {"label":"\u2193", "x":18.25, "y":5.25}, + {"label":"\u2192", "x":19.25, "y":5.25} + ] } } -} \ No newline at end of file +} diff --git a/keyboards/wolf/sabre/sabre.h b/keyboards/wolf/sabre/sabre.h index 4580f46e93f7..adc9872cc306 100644 --- a/keyboards/wolf/sabre/sabre.h +++ b/keyboards/wolf/sabre/sabre.h @@ -16,6 +16,29 @@ along with this program. If not, see . #include "quantum.h" +/* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │00 │ │01 │11 │02 │12 │ │13 │04 │14 │05 │ │15 │06 │16 │07 │ │17 │08 │18 │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ + * │20 │30 │21 │31 │22 │32 │23 │ │33 │24 │34 │25 │35 │26 │36 │ │37 │28 │38 │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ + * │40 │50 │41 │51 │42 │52 │ │43 │53 │44 │54 │45 │55 │46 │56 │ │57 │48 │58 │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ + * │60 │70 │61 │71 │62 │72 │ │63 │73 │64 │74 │65 │75 │76 │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ ┌──────────┐ + * │80 │90 │81 │91 │82 │92 │ │83 │93 │84 │94 │85 │95 │86 │96 │ │88 │ │86 │ 2.75u RShift + * ├─────┬──┴┬──┴──┬┴──┬┴───┴───┤ ├───┴───┴──┬┴──┬┴───┴┬──┴┬────┬┴───┘ ┌───┼───┼───┐ └──────────┘ + * │A0 │ │B0 │A1 │A2 │ │B3 │B4 │A5 │ │A6 │ │B7 │A8 │B8 │ + * └─────┘ └─────┴───┴────────┘ └──────────┴───┴─────┘ └────┘ └───┴───┴───┘ + * ┌───┬─────┐ ┌─────┬───┐ + * │B0 │A1 │ │B4 │A5 │ + * └───┴─────┘ └─────┴───┘ + * ┌────┬────┐ ┌────┬────┐ + * │B0 │A1 │ │B4 │A5 │ + * └────┴────┘ └────┴────┘ + */ + /* sabre Keymap Definitions */ #define LAYOUT( \ K00, K01, K11, K02, K12, K13, K04, K14, K05, K15, K06, K16, K07, K17, K08, K18, \ From 77cdb20e1627950c6cff28f0f2f96ed22aa17f82 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 27 Feb 2022 10:34:26 +0000 Subject: [PATCH 0241/1832] Revert CLI default for manufacturer (#16467) --- lib/python/qmk/info.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 7e6f531f9c47..905f10ecc232 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -49,7 +49,6 @@ def info_json(keyboard): 'parse_errors': [], 'parse_warnings': [], 'maintainer': 'qmk', - 'manufacturer': 'qmk', } # Populate the list of JSON keymaps From e4a6afa369ca695be97dc3ba96fe129a1c24456e Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 27 Feb 2022 11:28:51 +0000 Subject: [PATCH 0242/1832] Rework generate-api CLI command to use .build directory (#16441) --- .github/workflows/api.yml | 2 +- .github/workflows/develop_api.yml | 2 +- api_data/_config.yml | 1 - {api_data => data/templates/api}/readme.md | 0 lib/python/qmk/cli/generate/api.py | 28 ++++++++++++++++------ lib/python/qmk/tests/test_cli_commands.py | 2 +- 6 files changed, 24 insertions(+), 11 deletions(-) delete mode 100644 api_data/_config.yml rename {api_data => data/templates/api}/readme.md (100%) diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index a19667f97e7f..f0c49baf60bb 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -35,4 +35,4 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.SPACES_ACCESS_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.SPACES_SECRET_KEY }} AWS_S3_ENDPOINT: https://nyc3.digitaloceanspaces.com - SOURCE_DIR: 'api_data' + SOURCE_DIR: '.build/api_data' diff --git a/.github/workflows/develop_api.yml b/.github/workflows/develop_api.yml index f0098142c7bc..3eb6e53c20b7 100644 --- a/.github/workflows/develop_api.yml +++ b/.github/workflows/develop_api.yml @@ -35,4 +35,4 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.SPACES_ACCESS_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.SPACES_SECRET_KEY }} AWS_S3_ENDPOINT: https://nyc3.digitaloceanspaces.com - SOURCE_DIR: 'api_data' + SOURCE_DIR: '.build/api_data' diff --git a/api_data/_config.yml b/api_data/_config.yml deleted file mode 100644 index 277f1f2c510d..000000000000 --- a/api_data/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman diff --git a/api_data/readme.md b/data/templates/api/readme.md similarity index 100% rename from api_data/readme.md rename to data/templates/api/readme.md diff --git a/lib/python/qmk/cli/generate/api.py b/lib/python/qmk/cli/generate/api.py index 285bd90eb560..0596b3f22b50 100755 --- a/lib/python/qmk/cli/generate/api.py +++ b/lib/python/qmk/cli/generate/api.py @@ -1,7 +1,7 @@ """This script automates the generation of the QMK API data. """ from pathlib import Path -from shutil import copyfile +import shutil import json from milc import cli @@ -12,28 +12,42 @@ from qmk.json_schema import json_load from qmk.keyboard import find_readme, list_keyboards +TEMPLATE_PATH = Path('data/templates/api/') +BUILD_API_PATH = Path('.build/api_data/') + @cli.argument('-n', '--dry-run', arg_only=True, action='store_true', help="Don't write the data to disk.") +@cli.argument('-f', '--filter', arg_only=True, action='append', default=[], help="Filter the list of keyboards based on partial name matches the supplied value. May be passed multiple times.") @cli.subcommand('Creates a new keymap for the keyboard of your choosing', hidden=False if cli.config.user.developer else True) def generate_api(cli): """Generates the QMK API data. """ - api_data_dir = Path('api_data') - v1_dir = api_data_dir / 'v1' + if BUILD_API_PATH.exists(): + shutil.rmtree(BUILD_API_PATH) + + shutil.copytree(TEMPLATE_PATH, BUILD_API_PATH) + + v1_dir = BUILD_API_PATH / 'v1' keyboard_all_file = v1_dir / 'keyboards.json' # A massive JSON containing everything keyboard_list_file = v1_dir / 'keyboard_list.json' # A simple list of keyboard targets keyboard_aliases_file = v1_dir / 'keyboard_aliases.json' # A list of historical keyboard names and their new name keyboard_metadata_file = v1_dir / 'keyboard_metadata.json' # All the data configurator/via needs for initialization usb_file = v1_dir / 'usb.json' # A mapping of USB VID/PID -> keyboard target - if not api_data_dir.exists(): - api_data_dir.mkdir() + # Filter down when required + keyboard_list = list_keyboards() + if cli.args.filter: + kb_list = [] + for keyboard_name in keyboard_list: + if any(i in keyboard_name for i in cli.args.filter): + kb_list.append(keyboard_name) + keyboard_list = kb_list kb_all = {} usb_list = {} # Generate and write keyboard specific JSON files - for keyboard_name in list_keyboards(): + for keyboard_name in keyboard_list: kb_all[keyboard_name] = info_json(keyboard_name) keyboard_dir = v1_dir / 'keyboards' / keyboard_name keyboard_info = keyboard_dir / 'info.json' @@ -47,7 +61,7 @@ def generate_api(cli): cli.log.debug('Wrote file %s', keyboard_info) if keyboard_readme_src: - copyfile(keyboard_readme_src, keyboard_readme) + shutil.copyfile(keyboard_readme_src, keyboard_readme) cli.log.debug('Copied %s -> %s', keyboard_readme_src, keyboard_readme) if 'usb' in kb_all[keyboard_name]: diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 54b143c64fe2..c379c9222930 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -232,7 +232,7 @@ def test_clean(): def test_generate_api(): - result = check_subcommand('generate-api', '--dry-run') + result = check_subcommand('generate-api', '--dry-run', '--filter', 'handwired/pytest') check_returncode(result) From e884414e1ef336361217f9e6a2dae9817bd19508 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun, 27 Feb 2022 20:30:00 +0900 Subject: [PATCH 0243/1832] fix helix/rev2:edvorakjp build error (#16433) 'helix/rev2/keymaps/edvorakjp' was no longer buildable due to changes made by #14864. The reason is that the prototype of `oled_task_user()` was changed in keymaps/edvorakjp/oled.c, but keymaps/edvorakjp/oled.h was not changed. Therefore, I modified the prototype in keymaps/edvorakjp/oled.h. --- keyboards/helix/rev2/keymaps/edvorakjp/oled.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/oled.h b/keyboards/helix/rev2/keymaps/edvorakjp/oled.h index 994dcb5f5468..d0c568528399 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/oled.h +++ b/keyboards/helix/rev2/keymaps/edvorakjp/oled.h @@ -9,4 +9,4 @@ void render_layer_state(void); void render_logo(void); void render_mode_icon(bool is_windows); oled_rotation_t oled_init_user(oled_rotation_t rotation); -void oled_task_user(void); +bool oled_task_user(void); From 779c7debcfff1a4a3ad578a0c12bdd50cba11039 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 27 Feb 2022 12:39:24 +0000 Subject: [PATCH 0244/1832] Fix issues with data driven split keyboards (#16457) --- lib/python/qmk/cli/generate/config_h.py | 36 ++++++++++++++----------- lib/python/qmk/cli/generate/layouts.py | 16 +++++------ lib/python/qmk/cli/generate/rules_mk.py | 2 +- lib/python/qmk/info.py | 5 ++++ 4 files changed, 32 insertions(+), 27 deletions(-) diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index 6b1012fae7aa..24bbbdf51726 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -21,18 +21,7 @@ def direct_pins(direct_pins, postfix): cols = ','.join(map(str, [col or 'NO_PIN' for col in row])) rows.append('{' + cols + '}') - col_count = len(direct_pins[0]) - row_count = len(direct_pins) - return f""" -#ifndef MATRIX_COLS{postfix} -# define MATRIX_COLS{postfix} {col_count} -#endif // MATRIX_COLS{postfix} - -#ifndef MATRIX_ROWS{postfix} -# define MATRIX_ROWS{postfix} {row_count} -#endif // MATRIX_ROWS{postfix} - #ifndef DIRECT_PINS{postfix} # define DIRECT_PINS{postfix} {{ {", ".join(rows)} }} #endif // DIRECT_PINS{postfix} @@ -42,14 +31,9 @@ def direct_pins(direct_pins, postfix): def pin_array(define, pins, postfix): """Return the config.h lines that set a pin array. """ - pin_num = len(pins) pin_array = ', '.join(map(str, [pin or 'NO_PIN' for pin in pins])) return f""" -#ifndef {define}S{postfix} -# define {define}S{postfix} {pin_num} -#endif // {define}S{postfix} - #ifndef {define}_PINS{postfix} # define {define}_PINS{postfix} {{ {pin_array} }} #endif // {define}_PINS{postfix} @@ -73,6 +57,24 @@ def matrix_pins(matrix_pins, postfix=''): return '\n'.join(pins) +def generate_matrix_size(kb_info_json, config_h_lines): + """Add the matrix size to the config.h. + """ + if 'matrix_pins' in kb_info_json: + col_count = kb_info_json['matrix_size']['cols'] + row_count = kb_info_json['matrix_size']['rows'] + + config_h_lines.append(f""" +#ifndef MATRIX_COLS +# define MATRIX_COLS {col_count} +#endif // MATRIX_COLS + +#ifndef MATRIX_ROWS +# define MATRIX_ROWS {row_count} +#endif // MATRIX_ROWS +""") + + def generate_config_items(kb_info_json, config_h_lines): """Iterate through the info_config map to generate basic config values. """ @@ -183,6 +185,8 @@ def generate_config_h(cli): generate_config_items(kb_info_json, config_h_lines) + generate_matrix_size(kb_info_json, config_h_lines) + if 'matrix_pins' in kb_info_json: config_h_lines.append(matrix_pins(kb_info_json['matrix_pins'])) diff --git a/lib/python/qmk/cli/generate/layouts.py b/lib/python/qmk/cli/generate/layouts.py index e44266e1c8f3..a21311bd49e2 100755 --- a/lib/python/qmk/cli/generate/layouts.py +++ b/lib/python/qmk/cli/generate/layouts.py @@ -40,16 +40,12 @@ def generate_layouts(cli): # Build the layouts.h file. layouts_h_lines = ['/* This file was generated by `qmk generate-layouts`. Do not edit or copy.', ' */', '', '#pragma once'] - if 'matrix_pins' in kb_info_json: - if 'direct' in kb_info_json['matrix_pins']: - col_num = len(kb_info_json['matrix_pins']['direct'][0]) - row_num = len(kb_info_json['matrix_pins']['direct']) - elif 'cols' in kb_info_json['matrix_pins'] and 'rows' in kb_info_json['matrix_pins']: - col_num = len(kb_info_json['matrix_pins']['cols']) - row_num = len(kb_info_json['matrix_pins']['rows']) - else: - cli.log.error('%s: Invalid matrix config.', cli.config.generate_layouts.keyboard) - return False + if 'matrix_size' not in kb_info_json: + cli.log.error('%s: Invalid matrix config.', cli.config.generate_layouts.keyboard) + return False + + col_num = kb_info_json['matrix_size']['cols'] + row_num = kb_info_json['matrix_size']['rows'] for layout_name in kb_info_json['layouts']: if kb_info_json['layouts'][layout_name]['c_macro']: diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py index 5d8d7cc8a7d3..ce824f6378e6 100755 --- a/lib/python/qmk/cli/generate/rules_mk.py +++ b/lib/python/qmk/cli/generate/rules_mk.py @@ -29,7 +29,7 @@ def process_mapping_rule(kb_info_json, rules_key, info_dict): if key_type in ['array', 'list']: return f'{rules_key} ?= {" ".join(rules_value)}' elif key_type == 'bool': - return f'{rules_key} ?= {"on" if rules_value else "off"}' + return f'{rules_key} ?= {"yes" if rules_value else "no"}' elif key_type == 'mapping': return '\n'.join([f'{key} ?= {value}' for key, value in rules_value.items()]) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 905f10ecc232..b86eaa059f11 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -550,6 +550,11 @@ def _matrix_size(info_data): info_data['matrix_size']['cols'] = len(info_data['matrix_pins']['cols']) info_data['matrix_size']['rows'] = len(info_data['matrix_pins']['rows']) + # Assumption of split common + if 'split' in info_data: + if info_data['split'].get('enabled', False): + info_data['matrix_size']['rows'] *= 2 + return info_data From fbfd5312b995a32af690c183cad0dc988f695e89 Mon Sep 17 00:00:00 2001 From: Erovia Date: Mon, 28 Feb 2022 20:02:39 +0000 Subject: [PATCH 0245/1832] CLI: Validate JSON keymap input (#16261) * Fix schema validator It should use the passed schema. * Add required attributes to keymap schema * Rework subcommands to validate the JSON keymaps The 'compile', 'flash' and 'json2c' subcommands were reworked to add JSON keymap validation so error is reported for non-JSON and non-compliant-JSON inputs. * Fix required fields in keymap schema * Add tests * Fix compiling keymaps directly from keymap directory * Schema should not require version for now. --- data/schemas/keymap.jsonschema | 7 ++++++- lib/python/qmk/cli/json2c.py | 13 +++---------- lib/python/qmk/commands.py | 19 +++++++++++++++---- lib/python/qmk/json_schema.py | 8 ++++++-- lib/python/qmk/path.py | 6 +++++- lib/python/qmk/tests/test_cli_commands.py | 12 ++++++++++++ 6 files changed, 47 insertions(+), 18 deletions(-) diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema index faa250a9429c..3803301a6625 100644 --- a/data/schemas/keymap.jsonschema +++ b/data/schemas/keymap.jsonschema @@ -53,5 +53,10 @@ "type": "string", "description": "asdf" } - } + }, + "required": [ + "keyboard", + "layout", + "layers" + ] } diff --git a/lib/python/qmk/cli/json2c.py b/lib/python/qmk/cli/json2c.py index ae8248e6b72a..2873a9bfd3d4 100755 --- a/lib/python/qmk/cli/json2c.py +++ b/lib/python/qmk/cli/json2c.py @@ -1,12 +1,11 @@ """Generate a keymap.c from a configurator export. """ -import json - from argcomplete.completers import FilesCompleter from milc import cli import qmk.keymap import qmk.path +from qmk.commands import parse_configurator_json @cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') @@ -19,14 +18,8 @@ def json2c(cli): This command uses the `qmk.keymap` module to generate a keymap.c from a configurator export. The generated keymap is written to stdout, or to a file if -o is provided. """ - try: - # Parse the configurator from json file (or stdin) - user_keymap = json.load(cli.args.filename) - - except json.decoder.JSONDecodeError as ex: - cli.log.error('The JSON input does not appear to be valid.') - cli.log.error(ex) - return False + # Parse the configurator from json file (or stdin) + user_keymap = parse_configurator_json(cli.args.filename) # Environment processing if cli.args.output and cli.args.output.name == '-': diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index 275cd72e5cd4..e38f17156a74 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -1,6 +1,5 @@ """Helper functions for commands. """ -import json import os import sys import shutil @@ -9,10 +8,11 @@ from time import strftime from milc import cli +import jsonschema import qmk.keymap from qmk.constants import QMK_FIRMWARE, KEYBOARD_OUTPUT_PREFIX -from qmk.json_schema import json_load +from qmk.json_schema import json_load, validate time_fmt = '%Y-%m-%d-%H:%M:%S' @@ -185,6 +185,10 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_va A command to run to compile and flash the C file. """ + # In case the user passes a keymap.json from a keymap directory directly to the CLI. + # e.g.: qmk compile - < keyboards/clueboard/california/keymaps/default/keymap.json + user_keymap["keymap"] = user_keymap.get("keymap", "default_json") + # Write the keymap.c file keyboard_filesafe = user_keymap['keyboard'].replace('/', '_') target = f'{keyboard_filesafe}_{user_keymap["keymap"]}' @@ -248,8 +252,15 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_va def parse_configurator_json(configurator_file): """Open and parse a configurator json export """ - # FIXME(skullydazed/anyone): Add validation here - user_keymap = json.load(configurator_file) + user_keymap = json_load(configurator_file) + # Validate against the jsonschema + try: + validate(user_keymap, 'qmk.keymap.v1') + + except jsonschema.ValidationError as e: + cli.log.error(f'Invalid JSON keymap: {configurator_file} : {e.message}') + exit(1) + orig_keyboard = user_keymap['keyboard'] aliases = json_load(Path('data/mappings/keyboard_aliases.json')) diff --git a/lib/python/qmk/json_schema.py b/lib/python/qmk/json_schema.py index ffc7c6bcd127..2b48782fbbc4 100644 --- a/lib/python/qmk/json_schema.py +++ b/lib/python/qmk/json_schema.py @@ -16,7 +16,11 @@ def json_load(json_file): Note: file must be a Path object. """ try: - return hjson.load(json_file.open(encoding='utf-8')) + # Get the IO Stream for Path objects + # Not necessary if the data is provided via stdin + if isinstance(json_file, Path): + json_file = json_file.open(encoding='utf-8') + return hjson.load(json_file) except (json.decoder.JSONDecodeError, hjson.HjsonDecodeError) as e: cli.log.error('Invalid JSON encountered attempting to load {fg_cyan}%s{fg_reset}:\n\t{fg_red}%s', json_file, e) @@ -62,7 +66,7 @@ def create_validator(schema): """Creates a validator for the given schema id. """ schema_store = compile_schema_store() - resolver = jsonschema.RefResolver.from_schema(schema_store['qmk.keyboard.v1'], store=schema_store) + resolver = jsonschema.RefResolver.from_schema(schema_store[schema], store=schema_store) return jsonschema.Draft7Validator(schema_store[schema], resolver=resolver).validate diff --git a/lib/python/qmk/path.py b/lib/python/qmk/path.py index dfb8371f8450..9b94abbc1279 100644 --- a/lib/python/qmk/path.py +++ b/lib/python/qmk/path.py @@ -70,9 +70,13 @@ def normpath(path): class FileType(argparse.FileType): + def __init__(self, encoding='UTF-8'): + # Use UTF8 by default for stdin + return super().__init__(encoding=encoding) + def __call__(self, string): """normalize and check exists otherwise magic strings like '-' for stdin resolve to bad paths """ norm = normpath(string) - return super().__call__(norm if norm.exists() else string) + return norm if norm.exists() else super().__call__(string) diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 54b143c64fe2..55e69175e64a 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -156,6 +156,18 @@ def test_json2c_stdin(): assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n' +def test_json2c_wrong_json(): + result = check_subcommand('json2c', 'keyboards/handwired/pytest/info.json') + check_returncode(result, [1]) + assert 'Invalid JSON keymap' in result.stdout + + +def test_json2c_no_json(): + result = check_subcommand('json2c', 'keyboards/handwired/pytest/pytest.h') + check_returncode(result, [1]) + assert 'Invalid JSON encountered' in result.stdout + + def test_info(): result = check_subcommand('info', '-kb', 'handwired/pytest/basic') check_returncode(result) From d1068b23ad4bc70d135e94d6e278733df93024d8 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 28 Feb 2022 15:32:33 -0800 Subject: [PATCH 0246/1832] snatchpad: update layout data (#16476) Fixes key overlaps in QMK Configurator. --- keyboards/handwired/snatchpad/info.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/handwired/snatchpad/info.json b/keyboards/handwired/snatchpad/info.json index c1d193cfe55d..1306d72b062c 100644 --- a/keyboards/handwired/snatchpad/info.json +++ b/keyboards/handwired/snatchpad/info.json @@ -5,16 +5,16 @@ "layouts": { "LAYOUT": { "layout": [ - {"x": 0, "y": 0}, {"x": 1, "y": 0}, {"x": 2, "y": 0}, + {"x": 3, "y": 0}, - {"x": 0, "y": 1}, {"x": 1, "y": 1}, {"x": 2, "y": 1}, + {"x": 3, "y": 1}, - {"x": 0, "y": 1}, - {"x": 2, "y": 1} + {"x": 0, "y": 2}, + {"x": 4, "y": 2} ] } } From 3ac769b6abe9b97a94033f376b28482d2d5f7b00 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 28 Feb 2022 15:33:21 -0800 Subject: [PATCH 0247/1832] handwired/3dortho14u: refactor layout data (#16475) Remove nonextant matrix positions from the layout data. --- keyboards/handwired/3dortho14u/keymaps/default/keymap.c | 4 ++-- keyboards/handwired/3dortho14u/keymaps/via/keymap.c | 8 ++++---- keyboards/handwired/3dortho14u/rev1/info.json | 7 +------ keyboards/handwired/3dortho14u/rev2/info.json | 7 +------ 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/keyboards/handwired/3dortho14u/keymaps/default/keymap.c b/keyboards/handwired/3dortho14u/keymaps/default/keymap.c index e8d96d22ceef..3c62719efac7 100644 --- a/keyboards/handwired/3dortho14u/keymaps/default/keymap.c +++ b/keyboards/handwired/3dortho14u/keymaps/default/keymap.c @@ -15,13 +15,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NO , KC_ENT , 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_DEL , - KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_NO , KC_NO , KC_SPC , KC_NO , KC_NO , KC_NO , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT( 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 , KC_DEL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END + _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END ) }; diff --git a/keyboards/handwired/3dortho14u/keymaps/via/keymap.c b/keyboards/handwired/3dortho14u/keymaps/via/keymap.c index ba5a1cde3f02..c961378fb566 100644 --- a/keyboards/handwired/3dortho14u/keymaps/via/keymap.c +++ b/keyboards/handwired/3dortho14u/keymaps/via/keymap.c @@ -9,27 +9,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NO , KC_ENT , 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_DEL , - KC_LCTL, KC_LGUI, KC_LALT, MO(1) , KC_NO , KC_NO , KC_SPC , KC_NO , KC_NO , KC_NO , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, MO(1) , KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( 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 , KC_DEL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END + _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END ), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/handwired/3dortho14u/rev1/info.json b/keyboards/handwired/3dortho14u/rev1/info.json index 72ed95e5f423..540a804a33cb 100644 --- a/keyboards/handwired/3dortho14u/rev1/info.json +++ b/keyboards/handwired/3dortho14u/rev1/info.json @@ -99,12 +99,7 @@ {"matrix": [4, 1], "x": 1, "y": 4}, {"matrix": [4, 2], "x": 2, "y": 4}, {"matrix": [4, 3], "x": 3, "y": 4}, - {"matrix": [4, 4], "x": 4, "y": 4}, - {"matrix": [4, 5], "x": 5, "y": 4}, - {"matrix": [4, 6], "x": 6, "y": 4}, - {"matrix": [4, 7], "x": 7, "y": 4}, - {"matrix": [4, 8], "x": 8, "y": 4}, - {"matrix": [4, 9], "x": 9, "y": 4}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 6}, {"matrix": [4, 10], "x": 10, "y": 4}, {"matrix": [4, 11], "x": 11, "y": 4}, {"matrix": [4, 12], "x": 12, "y": 4}, diff --git a/keyboards/handwired/3dortho14u/rev2/info.json b/keyboards/handwired/3dortho14u/rev2/info.json index 705d6b557072..b296a4261003 100644 --- a/keyboards/handwired/3dortho14u/rev2/info.json +++ b/keyboards/handwired/3dortho14u/rev2/info.json @@ -99,12 +99,7 @@ {"matrix": [4, 1], "x": 1, "y": 4}, {"matrix": [4, 2], "x": 2, "y": 4}, {"matrix": [4, 3], "x": 3, "y": 4}, - {"matrix": [4, 4], "x": 4, "y": 4}, - {"matrix": [4, 5], "x": 5, "y": 4}, - {"matrix": [4, 6], "x": 6, "y": 4}, - {"matrix": [9, 0], "x": 7, "y": 4}, - {"matrix": [9, 1], "x": 8, "y": 4}, - {"matrix": [9, 2], "x": 9, "y": 4}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 6}, {"matrix": [9, 3], "x": 10, "y": 4}, {"matrix": [9, 4], "x": 11, "y": 4}, {"matrix": [9, 5], "x": 12, "y": 4}, From f293e6b4da5a3eca36e6a6da7c1bcbf3ecd536e8 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 28 Feb 2022 15:33:55 -0800 Subject: [PATCH 0248/1832] Glacier: Community Layout support (#16474) * Glacier: Community Layout support Enables the Glacier to use QMK's `tkl_f13_ansi_tsangan` community layout. - rename `LAYOUT` to `LAYOUT_tkl_f13_ansi_tsangan` - add `LAYOUTS` rule to `rules.mk` * info.json: correct maintainer value Use the maintainer's GitHub username. --- keyboards/creatkeebs/glacier/glacier.h | 2 +- keyboards/creatkeebs/glacier/info.json | 7 +++++-- keyboards/creatkeebs/glacier/keymaps/default/keymap.c | 2 +- keyboards/creatkeebs/glacier/rules.mk | 2 ++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/keyboards/creatkeebs/glacier/glacier.h b/keyboards/creatkeebs/glacier/glacier.h index 3b7b1320f570..91400e8b134d 100644 --- a/keyboards/creatkeebs/glacier/glacier.h +++ b/keyboards/creatkeebs/glacier/glacier.h @@ -18,7 +18,7 @@ #include "quantum.h" -#define LAYOUT( \ +#define LAYOUT_tkl_f13_ansi_tsangan( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \ diff --git a/keyboards/creatkeebs/glacier/info.json b/keyboards/creatkeebs/glacier/info.json index a22dabba0bce..3bc2ee2018ae 100644 --- a/keyboards/creatkeebs/glacier/info.json +++ b/keyboards/creatkeebs/glacier/info.json @@ -1,9 +1,12 @@ { "keyboard_name": "glacier", "url": "", - "maintainer": "Tim", + "maintainer": "Timliuzhaolu", + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_f13_ansi_tsangan" + }, "layouts": { - "LAYOUT": { + "LAYOUT_tkl_f13_ansi_tsangan": { "layout": [ {"x":0, "y":0}, {"x":1.25, "y":0}, diff --git a/keyboards/creatkeebs/glacier/keymaps/default/keymap.c b/keyboards/creatkeebs/glacier/keymaps/default/keymap.c index e58d790545ee..209b89d1c9d4 100644 --- a/keyboards/creatkeebs/glacier/keymaps/default/keymap.c +++ b/keyboards/creatkeebs/glacier/keymaps/default/keymap.c @@ -17,7 +17,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_tkl_f13_ansi_tsangan( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, KC_GRV, 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_INS, KC_HOME, KC_PGUP, 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, KC_PGDN, diff --git a/keyboards/creatkeebs/glacier/rules.mk b/keyboards/creatkeebs/glacier/rules.mk index 7c9fb95020ee..95a02dff2680 100644 --- a/keyboards/creatkeebs/glacier/rules.mk +++ b/keyboards/creatkeebs/glacier/rules.mk @@ -16,3 +16,5 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Enable keyboard RGB underglow RGBLIGHT_ENABLE = no # Audio output + +LAYOUTS = tkl_f13_ansi_tsangan From c9d9e70ac7ae6170728cbc8ac91c9c3269afe993 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 1 Mar 2022 01:52:01 +0000 Subject: [PATCH 0249/1832] Move projectcain encoder logic to keyboard level (#16479) --- keyboards/projectcain/vault35/config.h | 4 ++++ keyboards/projectcain/vault35/keymaps/default/config.h | 3 --- keyboards/projectcain/vault35/keymaps/default/rules.mk | 1 - keyboards/projectcain/vault35/rules.mk | 1 + keyboards/projectcain/vault45/config.h | 4 ++++ keyboards/projectcain/vault45/keymaps/default/config.h | 3 --- keyboards/projectcain/vault45/keymaps/default/rules.mk | 1 - keyboards/projectcain/vault45/rules.mk | 1 + 8 files changed, 10 insertions(+), 8 deletions(-) diff --git a/keyboards/projectcain/vault35/config.h b/keyboards/projectcain/vault35/config.h index 5eccd57172aa..d88863e5b5b2 100644 --- a/keyboards/projectcain/vault35/config.h +++ b/keyboards/projectcain/vault35/config.h @@ -44,6 +44,10 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW +#define ENCODERS_PAD_A { D6 } +#define ENCODERS_PAD_B { D7 } +#define ENCODER_RESOLUTION 2 + /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ diff --git a/keyboards/projectcain/vault35/keymaps/default/config.h b/keyboards/projectcain/vault35/keymaps/default/config.h index 35f670c86b42..3022aa84c4e5 100644 --- a/keyboards/projectcain/vault35/keymaps/default/config.h +++ b/keyboards/projectcain/vault35/keymaps/default/config.h @@ -16,9 +16,6 @@ #pragma once -#define ENCODERS_PAD_A { D6 } -#define ENCODERS_PAD_B { D7 } -#define ENCODER_RESOLUTION 2 #define COMBO_COUNT 2 #define COMBO_TERM 50 #define TAPPING_FORCE_HOLD diff --git a/keyboards/projectcain/vault35/keymaps/default/rules.mk b/keyboards/projectcain/vault35/keymaps/default/rules.mk index dca6713d4fa6..ff681299e4e9 100644 --- a/keyboards/projectcain/vault35/keymaps/default/rules.mk +++ b/keyboards/projectcain/vault35/keymaps/default/rules.mk @@ -1,2 +1 @@ -ENCODER_ENABLE = yes COMBO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/projectcain/vault35/rules.mk b/keyboards/projectcain/vault35/rules.mk index 1275531ef6d6..77d9fdb41070 100644 --- a/keyboards/projectcain/vault35/rules.mk +++ b/keyboards/projectcain/vault35/rules.mk @@ -16,3 +16,4 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes diff --git a/keyboards/projectcain/vault45/config.h b/keyboards/projectcain/vault45/config.h index 2cbf55dd0f8a..6accb223a444 100644 --- a/keyboards/projectcain/vault45/config.h +++ b/keyboards/projectcain/vault45/config.h @@ -47,6 +47,10 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW +#define ENCODERS_PAD_A { B3, D1 } +#define ENCODERS_PAD_B { B2, D2 } +#define ENCODER_RESOLUTION 2 + /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ diff --git a/keyboards/projectcain/vault45/keymaps/default/config.h b/keyboards/projectcain/vault45/keymaps/default/config.h index 81321715af52..2ca1e8f12343 100644 --- a/keyboards/projectcain/vault45/keymaps/default/config.h +++ b/keyboards/projectcain/vault45/keymaps/default/config.h @@ -16,9 +16,6 @@ #pragma once -#define ENCODERS_PAD_A { B3, D1 } -#define ENCODERS_PAD_B { B2, D2 } -#define ENCODER_RESOLUTION 2 #define COMBO_COUNT 2 #define COMBO_TERM 50 #define TAPPING_FORCE_HOLD diff --git a/keyboards/projectcain/vault45/keymaps/default/rules.mk b/keyboards/projectcain/vault45/keymaps/default/rules.mk index dca6713d4fa6..ff681299e4e9 100644 --- a/keyboards/projectcain/vault45/keymaps/default/rules.mk +++ b/keyboards/projectcain/vault45/keymaps/default/rules.mk @@ -1,2 +1 @@ -ENCODER_ENABLE = yes COMBO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/projectcain/vault45/rules.mk b/keyboards/projectcain/vault45/rules.mk index 1275531ef6d6..77d9fdb41070 100644 --- a/keyboards/projectcain/vault45/rules.mk +++ b/keyboards/projectcain/vault45/rules.mk @@ -16,3 +16,4 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes From 36635c2203fa022b87241ae2e31dc36c4612ab5b Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 28 Feb 2022 17:53:53 -0800 Subject: [PATCH 0250/1832] Ellora65: remove dead space from Configurator rendering (#16478) --- keyboards/kikoslab/ellora65/info.json | 84 ++++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 2 deletions(-) diff --git a/keyboards/kikoslab/ellora65/info.json b/keyboards/kikoslab/ellora65/info.json index 64c3f7eaa5ff..2d6b6760981f 100644 --- a/keyboards/kikoslab/ellora65/info.json +++ b/keyboards/kikoslab/ellora65/info.json @@ -4,7 +4,87 @@ "maintainer": "swiftrax", "layouts": { "LAYOUT_all": { - "layout": [{"label":"0,0", "x":1.25, "y":0}, {"label":"1,0", "x":2.5, "y":0.25}, {"label":"0,1", "x":3.5, "y":0.25}, {"label":"1,1", "x":4.5, "y":0.25}, {"label":"0,2", "x":5.5, "y":0.25}, {"label":"1,2", "x":6.5, "y":0.25}, {"label":"0,3", "x":7.5, "y":0.25}, {"label":"1,3", "x":8.5, "y":0.25}, {"label":"0,4", "x":9.5, "y":0.25}, {"label":"1,4", "x":10.5, "y":0.25}, {"label":"0,5", "x":11.5, "y":0.25}, {"label":"1,5", "x":12.5, "y":0.25}, {"label":"0,6", "x":13.5, "y":0.25}, {"label":"1,6", "x":14.5, "y":0.25}, {"label":"0,7", "x":15.5, "y":0.25}, {"label":"1,7", "x":16.5, "y":0.25}, {"label":"2,0", "x":1.25, "y":1.25}, {"label":"3,0", "x":2.5, "y":1.25, "w":1.5}, {"label":"2,1", "x":4, "y":1.25}, {"label":"3,1", "x":5, "y":1.25}, {"label":"2,2", "x":6, "y":1.25}, {"label":"3,2", "x":7, "y":1.25}, {"label":"2,3", "x":8, "y":1.25}, {"label":"3,3", "x":9, "y":1.25}, {"label":"2,4", "x":10, "y":1.25}, {"label":"3,4", "x":11, "y":1.25}, {"label":"2,5", "x":12, "y":1.25}, {"label":"3,5", "x":13, "y":1.25}, {"label":"2,6", "x":14, "y":1.25}, {"label":"3,6", "x":15, "y":1.25}, {"label":"2,7", "x":16, "y":1.25, "w":1.5}, {"label":"4,0", "x":1.25, "y":2.25}, {"label":"5,0", "x":2.5, "y":2.25, "w":1.75}, {"label":"4,1", "x":4.25, "y":2.25}, {"label":"5,1", "x":5.25, "y":2.25}, {"label":"4,2", "x":6.25, "y":2.25}, {"label":"5,2", "x":7.25, "y":2.25}, {"label":"4,3", "x":8.25, "y":2.25}, {"label":"5,3", "x":9.25, "y":2.25}, {"label":"4,4", "x":10.25, "y":2.25}, {"label":"5,4", "x":11.25, "y":2.25}, {"label":"4,5", "x":12.25, "y":2.25}, {"label":"5,5", "x":13.25, "y":2.25}, {"label":"4,6", "x":14.25, "y":2.25}, {"label":"5,6", "x":15.25, "y":2.25}, {"label":"4,7", "x":16.25, "y":2.25, "w":1.25}, {"label":"5,7", "x":17.5, "y":2.25}, {"label":"6,0", "x":1.25, "y":3.25}, {"label":"7,0", "x":2.5, "y":3.25, "w":1.25}, {"label":"6,1", "x":3.75, "y":3.25}, {"label":"7,1", "x":4.75, "y":3.25}, {"label":"6,2", "x":5.75, "y":3.25}, {"label":"7,2", "x":6.75, "y":3.25}, {"label":"6,3", "x":7.75, "y":3.25}, {"label":"7,3", "x":8.75, "y":3.25}, {"label":"6,4", "x":9.75, "y":3.25}, {"label":"7,4", "x":10.75, "y":3.25}, {"label":"6,5", "x":11.75, "y":3.25}, {"label":"7,5", "x":12.75, "y":3.25}, {"label":"6,6", "x":13.75, "y":3.25}, {"label":"7,6", "x":14.75, "y":3.25, "w":1.75}, {"label":"6,7", "x":16.5, "y":3.25}, {"label":"7,7", "x":17.5, "y":3.25}, {"label":"8,0", "x":1.25, "y":4.25}, {"label":"9,0", "x":2.5, "y":4.25, "w":1.25}, {"label":"8,1", "x":3.75, "y":4.25, "w":1.25}, {"label":"9,1", "x":5, "y":4.25, "w":1.25}, {"label":"8,2", "x":6.25, "y":4.25, "w":2.75}, {"label":"8,3", "x":9, "y":4.25, "w":1.25}, {"label":"8,4", "x":10.25, "y":4.25, "w":2.25}, {"label":"9,5", "x":12.5, "y":4.25}, {"label":"8,6", "x":13.5, "y":4.25, "w":1.5}, {"label":"9,6", "x":15.5, "y":4.25}, {"label":"8,7", "x":16.5, "y":4.25}, {"label":"9,7", "x":17.5, "y":4.25}] + "layout": [ + {"label":"Mute", "x":0, "y":0}, + {"label":"Esc", "x":1.25, "y":0.25}, + {"label":"1", "x":2.25, "y":0.25}, + {"label":"2", "x":3.25, "y":0.25}, + {"label":"3", "x":4.25, "y":0.25}, + {"label":"4", "x":5.25, "y":0.25}, + {"label":"5", "x":6.25, "y":0.25}, + {"label":"6", "x":7.25, "y":0.25}, + {"label":"7", "x":8.25, "y":0.25}, + {"label":"8", "x":9.25, "y":0.25}, + {"label":"9", "x":10.25, "y":0.25}, + {"label":"0", "x":11.25, "y":0.25}, + {"label":"-_", "x":12.25, "y":0.25}, + {"label":"=+", "x":13.25, "y":0.25}, + {"label":"Backspace", "x":14.25, "y":0.25}, + {"label":"Backspace", "x":15.25, "y":0.25}, + + {"label":"F13", "x":0, "y":1.25}, + {"label":"Tab", "x":1.25, "y":1.25, "w":1.5}, + {"label":"Q", "x":2.75, "y":1.25}, + {"label":"W", "x":3.75, "y":1.25}, + {"label":"E", "x":4.75, "y":1.25}, + {"label":"R", "x":5.75, "y":1.25}, + {"label":"T", "x":6.75, "y":1.25}, + {"label":"Y", "x":7.75, "y":1.25}, + {"label":"U", "x":8.75, "y":1.25}, + {"label":"I", "x":9.75, "y":1.25}, + {"label":"O", "x":10.75, "y":1.25}, + {"label":"P", "x":11.75, "y":1.25}, + {"label":"[{", "x":12.75, "y":1.25}, + {"label":"]}", "x":13.75, "y":1.25}, + {"label":"\\|", "x":14.75, "y":1.25, "w":1.5}, + + {"label":"F14", "x":0, "y":2.25}, + {"label":"Caps Lock", "x":1.25, "y":2.25, "w":1.75}, + {"label":"A", "x":3, "y":2.25}, + {"label":"S", "x":4, "y":2.25}, + {"label":"D", "x":5, "y":2.25}, + {"label":"F", "x":6, "y":2.25}, + {"label":"G", "x":7, "y":2.25}, + {"label":"H", "x":8, "y":2.25}, + {"label":"J", "x":9, "y":2.25}, + {"label":"K", "x":10, "y":2.25}, + {"label":"L", "x":11, "y":2.25}, + {"label":";:", "x":12, "y":2.25}, + {"label":"'\"", "x":13, "y":2.25}, + {"label":"Enter", "x":14, "y":2.25}, + {"label":"Enter", "x":15, "y":2.25, "w":1.25}, + {"label":"Insert", "x":16.25, "y":2.25}, + + {"label":"F15", "x":0, "y":3.25}, + {"label":"Shift", "x":1.25, "y":3.25, "w":1.25}, + {"label":"\\|", "x":2.5, "y":3.25}, + {"label":"Z", "x":3.5, "y":3.25}, + {"label":"X", "x":4.5, "y":3.25}, + {"label":"C", "x":5.5, "y":3.25}, + {"label":"V", "x":6.5, "y":3.25}, + {"label":"B", "x":7.5, "y":3.25}, + {"label":"N", "x":8.5, "y":3.25}, + {"label":"M", "x":9.5, "y":3.25}, + {"label":",<", "x":10.5, "y":3.25}, + {"label":".>", "x":11.5, "y":3.25}, + {"label":"/?", "x":12.5, "y":3.25}, + {"label":"Shift", "x":13.5, "y":3.25, "w":1.75}, + {"label":"\u2191", "x":15.25, "y":3.25}, + {"label":"Delete", "x":16.25, "y":3.25}, + + {"label":"F16", "x":0, "y":4.25}, + {"label":"Ctrl", "x":1.25, "y":4.25, "w":1.25}, + {"label":"GUI", "x":2.5, "y":4.25, "w":1.25}, + {"label":"Alt", "x":3.75, "y":4.25, "w":1.25}, + {"label":"Fn", "x":5, "y":4.25, "w":2.75}, + {"label":"Space", "x":7.75, "y":4.25, "w":1.25}, + {"label":"Fn", "x":9, "y":4.25, "w":2.25}, + {"label":"Fn", "x":11.25, "y":4.25}, + {"label":"Fn", "x":12.25, "y":4.25, "w":1.5}, + {"label":"\u2190", "x":14.25, "y":4.25}, + {"label":"\u2193", "x":15.25, "y":4.25}, + {"label":"\u2192", "x":16.25, "y":4.25} + ] } } -} \ No newline at end of file +} From 369575ad138656a47e2f94ce41e5a31e39a3dc84 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 1 Mar 2022 02:12:01 +0000 Subject: [PATCH 0251/1832] Remove invalid keyboard_folder from gk6 (#16480) --- keyboards/gizmo_engineering/gk6/info.json | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/gizmo_engineering/gk6/info.json b/keyboards/gizmo_engineering/gk6/info.json index e38702d941fc..ffd59e41b148 100755 --- a/keyboards/gizmo_engineering/gk6/info.json +++ b/keyboards/gizmo_engineering/gk6/info.json @@ -1,6 +1,5 @@ { "keyboard_name": "Gizmo Engineering GK6", - "keyboard_folder": "gk6", "url": "https://gizmo.engineering/", "maintainer": "federicoweber", "layouts": { From 325c6341017381382f804efa214a83f3014f399f Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 1 Mar 2022 14:52:25 -0800 Subject: [PATCH 0252/1832] atlas_65 Layout Macro Refactor (#16483) * atlas_65.h: add matrix diagram * atlas_65.h: apply linting - convert tabs to spaces - four-space indent - align backslashes in layout macro * atlas_65.h: adjust layout macro alignment Visually separates each side. White-space-only change. * physically arrange layout macro Move the matrix position identifiers in the layout macro to resemble the assembled keyboard's layout. - move `k46` (right side B) to the fourth (Shift) row - move each of `k1E`, `k2E` and `k3E` (right side navigation keys) up one row - update keymaps to match * update maintainer data Update the maintainer data in `info.json` and `readme.md`. --- keyboards/atlas_65/atlas_65.h | 44 ++++++++++++--------- keyboards/atlas_65/info.json | 2 +- keyboards/atlas_65/keymaps/default/keymap.c | 40 +++++++++---------- keyboards/atlas_65/keymaps/via/keymap.c | 40 +++++++++---------- keyboards/atlas_65/readme.md | 4 +- 5 files changed, 69 insertions(+), 61 deletions(-) diff --git a/keyboards/atlas_65/atlas_65.h b/keyboards/atlas_65/atlas_65.h index c54140fd7d57..8f7e68ab299a 100644 --- a/keyboards/atlas_65/atlas_65.h +++ b/keyboards/atlas_65/atlas_65.h @@ -17,26 +17,34 @@ #include "quantum.h" -/* This a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. - */ #define XXX KC_NO + +/* ┌───┐ + * ┌───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐│1E │ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │ │07 │08 │09 │0A │0B │0C │0D │0E │└┬──┴┐ │0D │ 2u Backspace + * ┌┴───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘ ┌┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴───┴┐│2E │ └───────┘ + * │10 │11 │12 │13 │14 │15 │ │16 │17 │18 │19 │1A │1B │1C │1D │└┬──┴┐ + * ┌┴─────┼───┼───┼───┼───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─────┴┐│3E │ + * │20 │21 │22 │23 │24 │25 │ │26 │27 │28 │29 │2A │2B │2C │└───┘ + * ┌┴──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ + * │30 │31 │32 │33 │34 │35 │ │46 │36 │37 │38 │39 │3A │3B │┌───┐ + * ├─────┬──┴───┼───┴─┬─┴───┴─┬─┴─┐ ┌─┴───┴───┴┬──┴──┬┴───┴───┴──────┘│3D │ + * │40 │ │42 │44 │45 │ │47 │49 │ ┌───┼───┼───┐ + * └─────┘ └─────┴───────┴───┘ └──────────┴─────┘ │4C │4D │4E │ + * └───┴───┴───┘ + */ + #define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, \ - k40, k42, k44, k45, k46, k47, k49, k4C, k4D, k4E \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k3E, \ + k30, k31, k32, k33, k34, k35, k46, k36, k37, k38, k39, k3A, k3B, k3D, \ + k40, k42, k44, k45, k47, k49, k4C, k4D, k4E \ ) \ { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \ - { k40, XXX, k42, XXX, k44, k45, k46, k47, XXX, k49, XXX, XXX, k4C, k4D, k4E } \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \ + { k40, XXX, k42, XXX, k44, k45, k46, k47, XXX, k49, XXX, XXX, k4C, k4D, k4E } \ } diff --git a/keyboards/atlas_65/info.json b/keyboards/atlas_65/info.json index e95b25511c2a..d6c0eedb00d2 100644 --- a/keyboards/atlas_65/info.json +++ b/keyboards/atlas_65/info.json @@ -1,7 +1,7 @@ { "keyboard_name": "atlas-65", "url": "https://github.com/ryanstevensmith/atlas-65", - "maintainer": "Joshua Nguyen", + "maintainer": "ryanstevensmith, Joshua Nguyen", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/atlas_65/keymaps/default/keymap.c b/keyboards/atlas_65/keymaps/default/keymap.c index 55406a165f42..7883a921acd3 100644 --- a/keyboards/atlas_65/keymaps/default/keymap.c +++ b/keyboards/atlas_65/keymaps/default/keymap.c @@ -17,33 +17,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - 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_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_PGUP, - 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, - 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_LNUM, - KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_B, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + 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_PGUP, + 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_PGDN, + 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_LNUM, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ) , [1] = LAYOUT( - _______, 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_DEL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, 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_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ ) , [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ ) , [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ ) } ; diff --git a/keyboards/atlas_65/keymaps/via/keymap.c b/keyboards/atlas_65/keymaps/via/keymap.c index d519682cc93a..f8e9155362d7 100644 --- a/keyboards/atlas_65/keymaps/via/keymap.c +++ b/keyboards/atlas_65/keymaps/via/keymap.c @@ -17,33 +17,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - 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_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_PGUP, - 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, - 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_LNUM, - KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_B, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + 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_PGUP, + 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_PGDN, + 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_LNUM, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ) , [1] = LAYOUT( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) , [2] = LAYOUT( - 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, 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, 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) , [3] = LAYOUT( - 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, 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, 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) } ; diff --git a/keyboards/atlas_65/readme.md b/keyboards/atlas_65/readme.md index 3bc401db3943..40eebba6f422 100644 --- a/keyboards/atlas_65/readme.md +++ b/keyboards/atlas_65/readme.md @@ -3,7 +3,7 @@ A version of an Alice Keyboard with a full sized backspace and an extra B key. -* Keyboard Maintainer: Joshua Nguyen +* Keyboard Maintainer: [Ryan Smith](https://github.com/ryanstevensmith), Joshua Nguyen * Hardware Supported: atlas-65 keyboards * Hardware Availability: Message Josh @@ -23,4 +23,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard * **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file +* **Keycode in layout**: Press the key mapped to `RESET` if it is available From 09a43b12cbb914eb239ce447ad89004f0304be71 Mon Sep 17 00:00:00 2001 From: xiao <307671+xia0@users.noreply.github.com> Date: Wed, 2 Mar 2022 10:18:38 +1030 Subject: [PATCH 0253/1832] Revert "handwired/3dortho14u: refactor layout data (#16475)" (#16485) This reverts commit 3ac769b6abe9b97a94033f376b28482d2d5f7b00. --- keyboards/handwired/3dortho14u/keymaps/default/keymap.c | 4 ++-- keyboards/handwired/3dortho14u/keymaps/via/keymap.c | 8 ++++---- keyboards/handwired/3dortho14u/rev1/info.json | 7 ++++++- keyboards/handwired/3dortho14u/rev2/info.json | 7 ++++++- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/keyboards/handwired/3dortho14u/keymaps/default/keymap.c b/keyboards/handwired/3dortho14u/keymaps/default/keymap.c index 3c62719efac7..e8d96d22ceef 100644 --- a/keyboards/handwired/3dortho14u/keymaps/default/keymap.c +++ b/keyboards/handwired/3dortho14u/keymaps/default/keymap.c @@ -15,13 +15,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NO , KC_ENT , 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_DEL , - KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_NO , KC_NO , KC_SPC , KC_NO , KC_NO , KC_NO , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT( 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 , KC_DEL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS , - _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END ) }; diff --git a/keyboards/handwired/3dortho14u/keymaps/via/keymap.c b/keyboards/handwired/3dortho14u/keymaps/via/keymap.c index c961378fb566..ba5a1cde3f02 100644 --- a/keyboards/handwired/3dortho14u/keymaps/via/keymap.c +++ b/keyboards/handwired/3dortho14u/keymaps/via/keymap.c @@ -9,27 +9,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NO , KC_ENT , 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_DEL , - KC_LCTL, KC_LGUI, KC_LALT, MO(1) , KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, MO(1) , KC_NO , KC_NO , KC_SPC , KC_NO , KC_NO , KC_NO , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( 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 , KC_DEL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS , - _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END ), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/handwired/3dortho14u/rev1/info.json b/keyboards/handwired/3dortho14u/rev1/info.json index 540a804a33cb..72ed95e5f423 100644 --- a/keyboards/handwired/3dortho14u/rev1/info.json +++ b/keyboards/handwired/3dortho14u/rev1/info.json @@ -99,7 +99,12 @@ {"matrix": [4, 1], "x": 1, "y": 4}, {"matrix": [4, 2], "x": 2, "y": 4}, {"matrix": [4, 3], "x": 3, "y": 4}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 6}, + {"matrix": [4, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + {"matrix": [4, 6], "x": 6, "y": 4}, + {"matrix": [4, 7], "x": 7, "y": 4}, + {"matrix": [4, 8], "x": 8, "y": 4}, + {"matrix": [4, 9], "x": 9, "y": 4}, {"matrix": [4, 10], "x": 10, "y": 4}, {"matrix": [4, 11], "x": 11, "y": 4}, {"matrix": [4, 12], "x": 12, "y": 4}, diff --git a/keyboards/handwired/3dortho14u/rev2/info.json b/keyboards/handwired/3dortho14u/rev2/info.json index b296a4261003..705d6b557072 100644 --- a/keyboards/handwired/3dortho14u/rev2/info.json +++ b/keyboards/handwired/3dortho14u/rev2/info.json @@ -99,7 +99,12 @@ {"matrix": [4, 1], "x": 1, "y": 4}, {"matrix": [4, 2], "x": 2, "y": 4}, {"matrix": [4, 3], "x": 3, "y": 4}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 6}, + {"matrix": [4, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + {"matrix": [4, 6], "x": 6, "y": 4}, + {"matrix": [9, 0], "x": 7, "y": 4}, + {"matrix": [9, 1], "x": 8, "y": 4}, + {"matrix": [9, 2], "x": 9, "y": 4}, {"matrix": [9, 3], "x": 10, "y": 4}, {"matrix": [9, 4], "x": 11, "y": 4}, {"matrix": [9, 5], "x": 12, "y": 4}, From e73f8e942c8f0aa4b471669436d16ad785b63a38 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Wed, 2 Mar 2022 20:15:10 +0900 Subject: [PATCH 0254/1832] Change 'helix/rev2:default' setting to use split_common (#16432) * add licenses message to helix/rev2 files * Minimize the processing of helix/rev2/local_features.mk * Changed helix/rev2 default setting to use split_common * fix helix/rev2:edvorakjp build error * Remove unnecessary '#include' from keymap.c * helix keymaps Workaround for build errors. five_rows_jis, fraanrosi, froggy, froggy_106, yshrsmz * Revert "fix helix/rev2:edvorakjp build error" This reverts commit 731dbbe15155b3efe2ff9f5ad61c7d0cf529e837. Separated into a single PR #16433. * Revert "Changed helix/rev2 default setting to use split_common" This reverts commit e76dbd7762e06e0781ee004213878b1a5029fa98. * add 'SPLIT_*_STATE_ENABLE' into helix/rev2/config.h * Revert "helix keymaps Workaround for build errors. five_rows_jis, fraanrosi, froggy, froggy_106, yshrsmz" This reverts commit 9b316c1c6a532f908f2ac430233089797ce7c794. * change helix:default to use split_common * change helix:five_rows to use split_common * add comment into helix/rev2/rules.mk * change helix:led_test to use split_common --- keyboards/helix/rev2/config.h | 4 + keyboards/helix/rev2/keymaps/default/keymap.c | 8 -- keyboards/helix/rev2/keymaps/default/rules.mk | 2 + .../helix/rev2/keymaps/five_rows/keymap.c | 10 +- .../helix/rev2/keymaps/five_rows/rules.mk | 2 + .../helix/rev2/keymaps/led_test/rules.mk | 2 + keyboards/helix/rev2/local_features.mk | 134 +++++------------- .../helix/rev2/override_helix_options.mk | 44 ++++++ keyboards/helix/rev2/rev2.c | 15 ++ keyboards/helix/rev2/rev2.h | 15 ++ keyboards/helix/rev2/rules.mk | 2 + 11 files changed, 124 insertions(+), 114 deletions(-) create mode 100644 keyboards/helix/rev2/override_helix_options.mk diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h index 041acee2158a..9b813b347a3a 100644 --- a/keyboards/helix/rev2/config.h +++ b/keyboards/helix/rev2/config.h @@ -1,6 +1,7 @@ /* Copyright 2012 Jun Wako Copyright 2015 Jack Humbert +Copyright 2018 MakotoKurauchi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,6 +29,9 @@ along with this program. If not, see . #define TAPPING_FORCE_HOLD #define TAPPING_TERM 100 +#define SPLIT_LAYER_STATE_ENABLE +#define SPLIT_LED_STATE_ENABLE + /* Use I2C or Serial */ #define USE_SERIAL //#define USE_MATRIX_I2C diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c index 88820dac8ab3..c3994d3184a9 100644 --- a/keyboards/helix/rev2/keymaps/default/keymap.c +++ b/keyboards/helix/rev2/keymaps/default/keymap.c @@ -15,14 +15,6 @@ */ #include QMK_KEYBOARD_H -#include "bootloader.h" -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#include "split_util.h" -#endif -#ifdef AUDIO_ENABLE - #include "audio.h" -#endif // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk index 2aa62bc8301a..508c4ba40e74 100644 --- a/keyboards/helix/rev2/keymaps/default/rules.mk +++ b/keyboards/helix/rev2/keymaps/default/rules.mk @@ -1,3 +1,5 @@ +SPLIT_KEYBOARD = yes + LTO_ENABLE = yes # if firmware size over limit, try this option # Helix Spacific Build Options diff --git a/keyboards/helix/rev2/keymaps/five_rows/keymap.c b/keyboards/helix/rev2/keymaps/five_rows/keymap.c index 16eff49244ee..2b3f6233c12c 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows/keymap.c @@ -15,15 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "util.h" -#include "bootloader.h" -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#include "split_util.h" -#endif -#ifdef CONSOLE_ENABLE - #include -#endif + #include "layer_number.h" extern keymap_config_t keymap_config; diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk index e4d0390c3a93..60dc4b61a6c0 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk +++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk @@ -1,3 +1,5 @@ + SPLIT_KEYBOARD = yes + CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration # CONSOLE_ENABLE and COMMAND_ENABLE diff --git a/keyboards/helix/rev2/keymaps/led_test/rules.mk b/keyboards/helix/rev2/keymaps/led_test/rules.mk index 3ab27acfc2c7..1dc12bb1cb84 100644 --- a/keyboards/helix/rev2/keymaps/led_test/rules.mk +++ b/keyboards/helix/rev2/keymaps/led_test/rules.mk @@ -5,6 +5,8 @@ # See TOP/keyboards/helix/rules.mk for a list of options that can be set. # See TOP/docs/config_options.md for more information. # +SPLIT_KEYBOARD = yes + LTO_ENABLE = no # if firmware size over limit, try this option # Helix Spacific Build Options diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk index 8c3ac9c3c1d1..1484312064b9 100644 --- a/keyboards/helix/rev2/local_features.mk +++ b/keyboards/helix/rev2/local_features.mk @@ -6,40 +6,24 @@ # KEYBOARD_LOCAL_FEATURES_MK := - -define HELIX_CUSTOMISE_MSG - $(info Helix Spacific Build Options) - $(info - OLED_ENABLE = $(OLED_ENABLE)) - $(info - OLED_SELECT = $(OLED_SELECT)) - $(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE)) - $(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE)) - $(info - LED_ANIMATIONS = $(LED_ANIMATIONS)) - $(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE)) - $(info ) -endef - -define HELIX_HELP_MSG - $(info Helix keyboard convenient command line option) - $(info - make HELIX= helix:) - $(info - option= oled | core-oled | local-oled | no-oled ) - $(info - back | no-back | under | na | no-ani ) - $(info - ios | sc | split-common | scan | verbose) - $(info - eg.) - $(info - make HELIX=no-oled helix:) - $(info - make HELIX=oled,no-back helix:) - $(info - make HELIX=oled,under helix:) - $(info - make HELIX=oled,back,na helix:) - $(info - make HELIX=oled,back,ios helix:) - $(info ) -endef - - ifneq ($(strip $(HELIX)),) +-include $(strip $(HELIX_TOP_DIR)/pico/override_helix_options.mk) ## File dedicated to maintenance + +# Parse 'HELIX=xx,yy,zz' option +ifneq ($(strip $(HELIX)),) + # make HELIX=ios helix/pico:AKEYMAP + # make HELIX=no-ani helix/pico:AKEYMAP + # make HELIX=no-oled helix/pico:AKEYMAP + # make HELIX=ios,no-ani,no-oled helix/pico:AKEYMAP define HELIX_OPTION_PARSE - # parce 'oled' 'back' 'under' 'ios' etc. - $(if $(SHOW_PARCE),$(info parse .$1.)) #debug + # parce 'no-ani' 'ios' 'no-oled' + $(if $(SHOW_PARCE),$(info parse .$1.)) #debug + $(if $(HELIX_OVERRIDE_PARSE),$(call HELIX_OVERRIDE_PARSE,$1)) - ifeq ($(strip $1),help) - HELP=on + ifeq ($(strip $1),ios) + IOS_DEVICE_ENABLE = yes + endif + ifneq ($(filter na no_ani no-ani,$(strip $1)),) + LED_ANIMATIONS = no endif ifneq ($(filter nooled no-oled,$(strip $1)),) OLED_ENABLE = no @@ -47,68 +31,17 @@ endef ifeq ($(strip $1),oled) OLED_ENABLE = yes endif - ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),) - OLED_ENABLE = yes - OLED_SELECT = core - endif - ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),) - OLED_ENABLE = yes - OLED_SELECT = local - endif - ifneq ($(filter noback no-back nounder no-under,$(strip $1)),) - LED_BACK_ENABLE = no - LED_UNDERGLOW_ENABLE = no - endif - ifeq ($(strip $1),back) - LED_BACK_ENABLE = yes - LED_UNDERGLOW_ENABLE = no - endif - ifeq ($(strip $1),under) - LED_BACK_ENABLE = no - LED_UNDERGLOW_ENABLE = yes - endif - ifneq ($(filter na no_ani no-ani,$(strip $1)),) - LED_ANIMATIONS = no - endif - ifeq ($(strip $1),ios) - IOS_DEVICE_ENABLE = yes - endif - ifneq ($(filter sc split-common split_common,$(strip $1)),) - SPLIT_KEYBOARD = yes - endif - ifneq ($(filter nosc no-sc no-split-common no-split_common,$(strip $1)),) - SPLIT_KEYBOARD = no - endif - ifeq ($(strip $1),scan) - # use DEBUG_MATRIX_SCAN_RATE - # see docs/newbs_testing_debugging.md - OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE - CONSOLE_ENABLE = yes - SHOW_VERBOSE_INFO = yes - endif - ifeq ($(strip $1),verbose) - SHOW_VERBOSE_INFO = yes - endif - ifeq ($(strip $1),lto) - LTO_ENABLE = yes - endif - ifneq ($(filter nolto no-lto no_lto,$(strip $1)),) - LTO_ENABLE = no - endif endef # end of HELIX_OPTION_PARSE COMMA=, $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \ $(call HELIX_OPTION_PARSE,$(A_OPTION_NAME)))) - ifeq ($(strip $(HELP)),on) - $(eval $(call HELIX_HELP_MSG)) - $(error ) - endif SHOW_HELIX_OPTIONS = yes - endif +endif ifneq ($(strip $(SPLIT_KEYBOARD)), yes) + # In the very near future, all keymaps will be compatible with split_common and this block will be removed. SRC += local_drivers/serial.c KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers @@ -139,7 +72,6 @@ ifeq ($(strip $(LED_BACK_ENABLE)), yes) RGBLIGHT_ENABLE = yes OPT_DEFS += -DRGBLED_BACK ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - $(eval $(call HELIX_CUSTOMISE_MSG)) $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') endif else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) @@ -164,6 +96,8 @@ ifeq ($(strip $(OLED_ENABLE)), yes) OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" endif else + + # In the very near future, all keymaps will be compatible with QMK standard oled_driver and this block will be removed. ifeq ($(strip $(SPLIT_KEYBOARD)), yes) $(info Helix/rev2: The following combinations are not supported.) $(info - SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) # yes @@ -188,15 +122,21 @@ ifeq ($(strip $(OLED_ENABLE)), yes) endif ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) - $(eval $(call HELIX_CUSTOMISE_MSG)) - ifneq ($(strip $(SHOW_VERBOSE_INFO)),) - $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE)) - $(info -- OLED_DRIVER = $(OLED_DRIVER)) - $(info -- OLED_LOCAL_ENABLE = $(OLED_LOCAL_ENABLE)) - $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE)) - $(info -- OPT_DEFS = $(OPT_DEFS)) - $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) - $(info -- LTO_ENABLE = $(LTO_ENABLE)) - $(info ) - endif + $(info Helix Spacific Build Options) + $(info - OLED_ENABLE = $(OLED_ENABLE)) + $(info - OLED_SELECT = $(OLED_SELECT)) + $(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE)) + $(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE)) + $(info - LED_ANIMATIONS = $(LED_ANIMATIONS)) + $(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE)) + $(info ) + $(info QMK Build Options) + $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) + $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE)) + $(info -- OLED_DRIVER = $(OLED_DRIVER)) + $(info -- OLED_LOCAL_ENABLE = $(OLED_LOCAL_ENABLE)) + $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE)) + $(info -- OPT_DEFS = $(OPT_DEFS)) + $(info -- LTO_ENABLE = $(LTO_ENABLE)) + $(info ) endif diff --git a/keyboards/helix/rev2/override_helix_options.mk b/keyboards/helix/rev2/override_helix_options.mk new file mode 100644 index 000000000000..a6d3331e80a2 --- /dev/null +++ b/keyboards/helix/rev2/override_helix_options.mk @@ -0,0 +1,44 @@ +$(info -------------------------) +$(info override_helix_options.mk) +$(info -------------------------) + +define HELIX_OVERRIDE_PARSE + ifeq ($(strip $1),back) + LED_BACK_ENABLE = yes + LED_UNDERGLOW_ENABLE = no + endif + ifeq ($(strip $1),under) + LED_BACK_ENABLE = no + LED_UNDERGLOW_ENABLE = yes + endif + ifneq ($(filter led-off led_off noback no-back nounder no-under,$(strip $1)),) + LED_BACK_ENABLE = no + LED_UNDERGLOW_ENABLE = no + endif + ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),) + OLED_ENABLE = yes + OLED_SELECT = core + endif + ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),) + OLED_ENABLE = yes + OLED_SELECT = local + endif + ifneq ($(filter sc split-common split_common,$(strip $1)),) + SPLIT_KEYBOARD = yes + endif + ifneq ($(filter nosc no-sc no-split-common no-split_common,$(strip $1)),) + SPLIT_KEYBOARD = no + endif + ifeq ($(strip $1),scan) + DEBUG_MATRIX_SCAN_RATE_ENABLE = yes + endif + ifeq ($(strip $1),scan-api) + DEBUG_MATRIX_SCAN_RATE_ENABLE = api + endif + ifeq ($(strip $1),lto) + LTO_ENABLE = yes + endif + ifneq ($(filter nolto no-lto no_lto,$(strip $1)),) + LTO_ENABLE = no + endif +endef # end of HELIX_OVERRIDE_PARSE diff --git a/keyboards/helix/rev2/rev2.c b/keyboards/helix/rev2/rev2.c index b92580f9f946..f579027c7107 100644 --- a/keyboards/helix/rev2/rev2.c +++ b/keyboards/helix/rev2/rev2.c @@ -1,3 +1,18 @@ +/* Copyright 2018 MakotoKurauchi + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include "helix.h" // Each keymap.c should use is_keyboard_master() instead of 'is_master'. diff --git a/keyboards/helix/rev2/rev2.h b/keyboards/helix/rev2/rev2.h index 787b6c67bb11..5c7cc93d17fc 100644 --- a/keyboards/helix/rev2/rev2.h +++ b/keyboards/helix/rev2/rev2.h @@ -1,3 +1,18 @@ +/* Copyright 2018 MakotoKurauchi + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #pragma once #include "helix.h" diff --git a/keyboards/helix/rev2/rules.mk b/keyboards/helix/rev2/rules.mk index a31e9d9b2281..5ed92ff0ad27 100644 --- a/keyboards/helix/rev2/rules.mk +++ b/keyboards/helix/rev2/rules.mk @@ -1,5 +1,7 @@ KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk +# SPLIT_KEYBOARD = yes + # Helix Spacific Build Options default values HELIX_ROWS = 5 # Helix Rows is 4 or 5 OLED_ENABLE = yes # OLED_ENABLE From 96b6ddf4bf79f22f850504d205a57e2730578b3b Mon Sep 17 00:00:00 2001 From: Jake VanderVaate <96353168+jakevandervaate@users.noreply.github.com> Date: Thu, 3 Mar 2022 09:53:40 +0000 Subject: [PATCH 0255/1832] fixed typo in docs/newbs_getting_started.md (#16501) --- docs/newbs_getting_started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/newbs_getting_started.md b/docs/newbs_getting_started.md index d6c080173c89..c03e6acdb487 100644 --- a/docs/newbs_getting_started.md +++ b/docs/newbs_getting_started.md @@ -145,7 +145,7 @@ In most situations you will want to answer `y` to all of the prompts. ?>**Note on Debian, Ubuntu and their derivatives**: It's possible, that you will get an error saying something like: `bash: qmk: command not found`. This is due to a [bug](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839155) Debian introduced with their Bash 4.4 release, which removed `$HOME/.local/bin` from the PATH. This bug was later fixed on Debian and Ubuntu. -Sadly, Ubuntu reitroduced this bug and is [yet to fix it](https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562). +Sadly, Ubuntu reintroduced this bug and is [yet to fix it](https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562). Luckily, the fix is easy. Run this as your user: `echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc` ### ** FreeBSD ** From 75b40dc7a537e7f223a73c165a3f6f0e2e91817c Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu, 3 Mar 2022 23:27:21 +0900 Subject: [PATCH 0256/1832] Fix mistakes in the include path in `helix/rev2/local_features.mk`. (#16507) ```diff --- a/keyboards/helix/rev2/local_features.mk +++ b/keyboards/helix/rev2/local_features.mk @@ -6,7 +6,7 @@ # KEYBOARD_LOCAL_FEATURES_MK := --include $(strip $(HELIX_TOP_DIR)/pico/override_helix_options.mk) ## File ded icated to maintenance +-include $(strip $(HELIX_TOP_DIR)/rev2/override_helix_options.mk) ## File dedicated to maintenance ``` --- keyboards/helix/rev2/local_features.mk | 2 +- keyboards/helix/rev2/override_helix_options.mk | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk index 1484312064b9..cfff8fd64d51 100644 --- a/keyboards/helix/rev2/local_features.mk +++ b/keyboards/helix/rev2/local_features.mk @@ -6,7 +6,7 @@ # KEYBOARD_LOCAL_FEATURES_MK := --include $(strip $(HELIX_TOP_DIR)/pico/override_helix_options.mk) ## File dedicated to maintenance +-include $(strip $(HELIX_TOP_DIR)/rev2/override_helix_options.mk) ## File dedicated to maintenance # Parse 'HELIX=xx,yy,zz' option ifneq ($(strip $(HELIX)),) diff --git a/keyboards/helix/rev2/override_helix_options.mk b/keyboards/helix/rev2/override_helix_options.mk index a6d3331e80a2..56dee8ce78ac 100644 --- a/keyboards/helix/rev2/override_helix_options.mk +++ b/keyboards/helix/rev2/override_helix_options.mk @@ -1,6 +1,8 @@ -$(info -------------------------) -$(info override_helix_options.mk) -$(info -------------------------) +ifneq ($(strip $(HELIX)),) + $(info -------------------------) + $(info override_helix_options.mk) + $(info -------------------------) +endif define HELIX_OVERRIDE_PARSE ifeq ($(strip $1),back) From ae2c77c8272a3b90c75dc2750a0f13a9cd629953 Mon Sep 17 00:00:00 2001 From: Gompa Date: Thu, 3 Mar 2022 18:24:04 +0100 Subject: [PATCH 0257/1832] [Bug] fix v-usb connection enumeration, ifdef workaround (#16511) Co-authored-by: Joel Challis --- quantum/action_util.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quantum/action_util.c b/quantum/action_util.c index 64a1b6b30d80..4ea0bf61fbcd 100644 --- a/quantum/action_util.c +++ b/quantum/action_util.c @@ -270,6 +270,9 @@ void send_keyboard_report(void) { keyboard_report->mods |= weak_override_mods; #endif +#ifdef PROTOCOL_VUSB + host_keyboard_send(keyboard_report); +#else static report_keyboard_t last_report; /* Only send the report if there are changes to propagate to the host. */ @@ -277,6 +280,7 @@ void send_keyboard_report(void) { memcpy(&last_report, keyboard_report, sizeof(report_keyboard_t)); host_keyboard_send(keyboard_report); } +#endif } /** \brief Get mods From 4a66bdf29443607ae01c1a6c87b657f89d3a1769 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Fri, 4 Mar 2022 05:23:49 +0900 Subject: [PATCH 0258/1832] Fix helix/rev2 not working properly when using split_common. (#16512) When helix/rev2 was using split_common, it didn't work properly and I couldn't type on the right hand side. The cause is that the following code, added in 0.16.0 to `quantum/keyboard.c`, does not include `quantum/split_common/split_util.h` but instead includes `keyboards/helix/rev2/split_util.h`. Therefore, `split_pre_init()/split_post_init()` in `quantum/split_common/split_util.c` was not called. ```c #ifdef SPLIT_KEYBOARD # include "split_util.h" #endif ``` --- keyboards/helix/rev2/{ => custom}/matrix.c | 0 keyboards/helix/rev2/{ => custom}/split_scomm.c | 0 keyboards/helix/rev2/{ => custom}/split_scomm.h | 0 keyboards/helix/rev2/{ => custom}/split_util.c | 0 keyboards/helix/rev2/{ => custom}/split_util.h | 9 +++++---- keyboards/helix/rev2/local_features.mk | 7 ++++--- 6 files changed, 9 insertions(+), 7 deletions(-) rename keyboards/helix/rev2/{ => custom}/matrix.c (100%) rename keyboards/helix/rev2/{ => custom}/split_scomm.c (100%) rename keyboards/helix/rev2/{ => custom}/split_scomm.h (100%) rename keyboards/helix/rev2/{ => custom}/split_util.c (100%) rename keyboards/helix/rev2/{ => custom}/split_util.h (69%) diff --git a/keyboards/helix/rev2/matrix.c b/keyboards/helix/rev2/custom/matrix.c similarity index 100% rename from keyboards/helix/rev2/matrix.c rename to keyboards/helix/rev2/custom/matrix.c diff --git a/keyboards/helix/rev2/split_scomm.c b/keyboards/helix/rev2/custom/split_scomm.c similarity index 100% rename from keyboards/helix/rev2/split_scomm.c rename to keyboards/helix/rev2/custom/split_scomm.c diff --git a/keyboards/helix/rev2/split_scomm.h b/keyboards/helix/rev2/custom/split_scomm.h similarity index 100% rename from keyboards/helix/rev2/split_scomm.h rename to keyboards/helix/rev2/custom/split_scomm.h diff --git a/keyboards/helix/rev2/split_util.c b/keyboards/helix/rev2/custom/split_util.c similarity index 100% rename from keyboards/helix/rev2/split_util.c rename to keyboards/helix/rev2/custom/split_util.c diff --git a/keyboards/helix/rev2/split_util.h b/keyboards/helix/rev2/custom/split_util.h similarity index 69% rename from keyboards/helix/rev2/split_util.h rename to keyboards/helix/rev2/custom/split_util.h index 535949118a7b..3b1d4249f550 100644 --- a/keyboards/helix/rev2/split_util.h +++ b/keyboards/helix/rev2/custom/split_util.h @@ -1,5 +1,10 @@ #pragma once +#ifdef SPLIT_KEYBOARD +# error This is helix local split_util.h. +# error This header file is used only when SPLIT_KEYBOARD=no. +#endif + #include #include "eeconfig.h" @@ -14,7 +19,3 @@ void split_keyboard_setup(void); bool is_helix_master(void); void matrix_master_OLED_init (void); - -// stubs as this is handled by legacy code -static inline void split_pre_init(void){} -static inline void split_post_init(void){} diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk index cfff8fd64d51..c6f818bf3970 100644 --- a/keyboards/helix/rev2/local_features.mk +++ b/keyboards/helix/rev2/local_features.mk @@ -52,9 +52,10 @@ ifneq ($(strip $(SPLIT_KEYBOARD)), yes) CUSTOM_MATRIX = yes - SRC += rev2/matrix.c - SRC += rev2/split_util.c - SRC += rev2/split_scomm.c + SRC += rev2/custom/matrix.c + SRC += rev2/custom/split_util.c + SRC += rev2/custom/split_scomm.c + KEYBOARD_PATHS += $(HELIX_TOP_DIR)/rev2/custom endif ######## From 7fb312ccd7d62a151a35ba70decb722aa9193115 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 3 Mar 2022 22:35:51 +0000 Subject: [PATCH 0259/1832] Fix use of ISSI driver config before init (#16493) --- tmk_core/protocol/arm_atsam/i2c_master.c | 3 +++ tmk_core/protocol/arm_atsam/main_arm_atsam.c | 2 -- tmk_core/protocol/arm_atsam/md_rgb_matrix.c | 6 ++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/tmk_core/protocol/arm_atsam/i2c_master.c b/tmk_core/protocol/arm_atsam/i2c_master.c index 6b0b9a703bd8..07ffcc817274 100644 --- a/tmk_core/protocol/arm_atsam/i2c_master.c +++ b/tmk_core/protocol/arm_atsam/i2c_master.c @@ -297,6 +297,9 @@ uint8_t I2C3733_Init_Drivers(void) { if (gcr_actual > LED_GCR_MAX) gcr_actual = LED_GCR_MAX; gcr_desired = gcr_actual; + void issi3733_prepare_arrays(void); + issi3733_prepare_arrays(); + // Set up master device i2c_led_send_CRWL(0); i2c_led_select_page(0, 3); diff --git a/tmk_core/protocol/arm_atsam/main_arm_atsam.c b/tmk_core/protocol/arm_atsam/main_arm_atsam.c index d092da86826c..8ee9e042e7ec 100644 --- a/tmk_core/protocol/arm_atsam/main_arm_atsam.c +++ b/tmk_core/protocol/arm_atsam/main_arm_atsam.c @@ -300,8 +300,6 @@ int main(void) { i2c1_init(); #endif // RGB_MATRIX_ENABLE - matrix_init(); - USB_Hub_init(); DBGC(DC_MAIN_UDC_START_BEGIN); diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c index 84ce3ee24b4c..3ed83a44a63f 100644 --- a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c +++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c @@ -206,6 +206,12 @@ void gcr_compute(void) { } void issi3733_prepare_arrays(void) { + static bool s_init = false; + if (s_init) { + return; + } + s_init = true; + memset(issidrv, 0, sizeof(issi3733_driver_t) * ISSI3733_DRIVER_COUNT); int i; From e01307f265a9c82befd1fe725f04b3930a875230 Mon Sep 17 00:00:00 2001 From: jels <66403163+Jels02@users.noreply.github.com> Date: Fri, 4 Mar 2022 09:38:24 +1000 Subject: [PATCH 0260/1832] Typo in squeezing_avr.md (#16506) Fixed typo in squeezing_avr docs. --- docs/squeezing_avr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md index 4a147e0c6641..62f0a5d29032 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -34,7 +34,7 @@ Largest in size is "magic" -- the QMK magic keycodes -- which control things lik If you've done all of that, and you don't want to disable features like RGB, Audio, OLEDs, etc, there are some additional options that you can add to your config.h that can help. -Starting with Lock Key support. If you have an Cherry MX Lock switch (lucky you!), you don't want to do this. But chances are, you don't. In that case, add this to your `config.h`: +Starting with Lock Key support. If you have a Cherry MX Lock switch (lucky you!), you don't want to do this. But chances are, you don't. In that case, add this to your `config.h`: ```c #undef LOCKING_SUPPORT_ENABLE #undef LOCKING_RESYNC_ENABLE From 61ba8efa3e358fbf4495c76b9d7c33aa2ec1259e Mon Sep 17 00:00:00 2001 From: jels <66403163+Jels02@users.noreply.github.com> Date: Fri, 4 Mar 2022 11:49:14 +1000 Subject: [PATCH 0261/1832] Update pr_checklist.md (#16484) Update readme.md template link from https://github.com/qmk/qmk_firmware/blob/master/data/templates/avr/readme.md to https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md --- docs/pr_checklist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md index e4564746b441..591c21b97b3b 100644 --- a/docs/pr_checklist.md +++ b/docs/pr_checklist.md @@ -50,7 +50,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - valid maintainer - displays correctly in Configurator (press Ctrl+Shift+I to preview local file, turn on fast input to verify ordering) - `readme.md` - - standard template should be present -- [link to template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/avr/readme.md) + - standard template should be present -- [link to template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md) - flash command is present, and has `:flash` at end - valid hardware availability link (unless handwired) -- private groupbuys are okay, but one-off prototypes will be questioned. If open-source, a link to files should be provided. - clear instructions on how to reset the board into bootloader mode From aab2ac22c5217afcbbbaff8b5444b02765f6de66 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 4 Mar 2022 14:52:15 +1100 Subject: [PATCH 0262/1832] Melody96 refactor (#16455) --- keyboards/melody96/info.json | 886 +++++++++++++++++- keyboards/melody96/keymaps/default/keymap.c | 86 +- .../keymap.c | 32 +- .../default_std60_split_num0/readme.md | 39 - keyboards/melody96/keymaps/via/keymap.c | 64 +- keyboards/melody96/keymaps/via/readme.md | 5 - keyboards/melody96/keymaps/via/rules.mk | 2 +- keyboards/melody96/melody96.h | 310 ++++-- keyboards/melody96/readme.md | 14 +- keyboards/melody96/rules.mk | 14 +- 10 files changed, 1177 insertions(+), 275 deletions(-) rename keyboards/melody96/keymaps/{default_std60_split_num0 => default_96_with60_split_num0}/keymap.c (82%) delete mode 100644 keyboards/melody96/keymaps/default_std60_split_num0/readme.md delete mode 100644 keyboards/melody96/keymaps/via/readme.md diff --git a/keyboards/melody96/info.json b/keyboards/melody96/info.json index e6f3a03ad885..7db60fa7d448 100644 --- a/keyboards/melody96/info.json +++ b/keyboards/melody96/info.json @@ -1,16 +1,884 @@ { - "keyboard_name": "melody96", - "url": "", - "maintainer": "qmk", + "keyboard_name": "melody96", + "url": "", + "maintainer": "qmk", + "layout_aliases": { + "LAYOUT": "LAYOUT_all", + "LAYOUT_hotswap": "LAYOUT_96_ansi" + }, "layouts": { - "LAYOUT": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Scroll Lock", "x":14, "y":0}, {"label":"Pause", "x":15, "y":0}, {"label":"Insert", "x":16, "y":0}, {"label":"Home", "x":17, "y":0}, {"label":"PgUp", "x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"label":"Num Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"+", "x":18, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"x":18, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Enter", "x":18, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Win", "x":11, "y":5}, {"x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"label":".", "x":17, "y":5}, {"x":18, "y":5}] + "LAYOUT_all": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + {"x": 17, "y": 0}, + {"x": 18, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + {"x": 17, "y": 1}, + {"x": 18, "y": 1}, + + {"x": 0, "y": 2, "w": 1.5}, + {"x": 1.5, "y": 2}, + {"x": 2.5, "y": 2}, + {"x": 3.5, "y": 2}, + {"x": 4.5, "y": 2}, + {"x": 5.5, "y": 2}, + {"x": 6.5, "y": 2}, + {"x": 7.5, "y": 2}, + {"x": 8.5, "y": 2}, + {"x": 9.5, "y": 2}, + {"x": 10.5, "y": 2}, + {"x": 11.5, "y": 2}, + {"x": 12.5, "y": 2}, + {"x": 13.5, "y": 2, "w": 1.5}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + {"x": 17, "y": 2}, + {"x": 18, "y": 2}, + + {"x": 0, "y": 3, "w": 1.75}, + {"x": 1.75, "y": 3}, + {"x": 2.75, "y": 3}, + {"x": 3.75, "y": 3}, + {"x": 4.75, "y": 3}, + {"x": 5.75, "y": 3}, + {"x": 6.75, "y": 3}, + {"x": 7.75, "y": 3}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3}, + {"x": 10.75, "y": 3}, + {"x": 11.75, "y": 3}, + {"x": 12.75, "y": 3, "w": 2.25}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + {"x": 17, "y": 3}, + {"x": 18, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4}, + {"x": 2.25, "y": 4}, + {"x": 3.25, "y": 4}, + {"x": 4.25, "y": 4}, + {"x": 5.25, "y": 4}, + {"x": 6.25, "y": 4}, + {"x": 7.25, "y": 4}, + {"x": 8.25, "y": 4}, + {"x": 9.25, "y": 4}, + {"x": 10.25, "y": 4}, + {"x": 11.25, "y": 4}, + {"x": 12.25, "y": 4, "w": 1.75}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + {"x": 17, "y": 4}, + {"x": 18, "y": 4}, + + {"x": 0, "y": 5, "w": 1.25}, + {"x": 1.25, "y": 5, "w": 1.25}, + {"x": 2.5, "y": 5, "w": 1.25}, + {"x": 3.75, "y": 5, "w": 6.25}, + {"x": 10, "y": 5}, + {"x": 11, "y": 5}, + {"x": 12, "y": 5}, + {"x": 13, "y": 5}, + {"x": 14, "y": 5}, + {"x": 15, "y": 5}, + {"x": 16, "y": 5}, + {"x": 17, "y": 5}, + {"x": 18, "y": 5} + ] }, - "LAYOUT_hotswap": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"Home", "x":13, "y":0}, {"label":"End", "x":14, "y":0}, {"label":"PgUp", "x":15, "y":0}, {"label":"PgDn", "x":16, "y":0}, {"label":"Media Play", "x":17, "y":0}, {"label":"Pause", "x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Num Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"+", "x":18, "y":2, "h":2}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"Up", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"GUI", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"label":"Space", "x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"Left", "x":13, "y":5}, {"label":"Down", "x":14, "y":5}, {"label":"Right", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"label":".", "x":17, "y":5}, {"label":"Enter", "x":18, "y":4, "h":2}] + "LAYOUT_96_ansi": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + {"x": 17, "y": 0}, + {"x": 18, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1, "w": 2}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + {"x": 17, "y": 1}, + {"x": 18, "y": 1}, + + {"x": 0, "y": 2, "w": 1.5}, + {"x": 1.5, "y": 2}, + {"x": 2.5, "y": 2}, + {"x": 3.5, "y": 2}, + {"x": 4.5, "y": 2}, + {"x": 5.5, "y": 2}, + {"x": 6.5, "y": 2}, + {"x": 7.5, "y": 2}, + {"x": 8.5, "y": 2}, + {"x": 9.5, "y": 2}, + {"x": 10.5, "y": 2}, + {"x": 11.5, "y": 2}, + {"x": 12.5, "y": 2}, + {"x": 13.5, "y": 2, "w": 1.5}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + {"x": 17, "y": 2}, + {"x": 18, "y": 2, "h": 2}, + + {"x": 0, "y": 3, "w": 1.75}, + {"x": 1.75, "y": 3}, + {"x": 2.75, "y": 3}, + {"x": 3.75, "y": 3}, + {"x": 4.75, "y": 3}, + {"x": 5.75, "y": 3}, + {"x": 6.75, "y": 3}, + {"x": 7.75, "y": 3}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3}, + {"x": 10.75, "y": 3}, + {"x": 11.75, "y": 3}, + {"x": 12.75, "y": 3, "w": 2.25}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + {"x": 17, "y": 3}, + + {"x": 0, "y": 4, "w": 2.25}, + {"x": 2.25, "y": 4}, + {"x": 3.25, "y": 4}, + {"x": 4.25, "y": 4}, + {"x": 5.25, "y": 4}, + {"x": 6.25, "y": 4}, + {"x": 7.25, "y": 4}, + {"x": 8.25, "y": 4}, + {"x": 9.25, "y": 4}, + {"x": 10.25, "y": 4}, + {"x": 11.25, "y": 4}, + {"x": 12.25, "y": 4, "w": 1.75}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + {"x": 17, "y": 4}, + {"x": 18, "y": 4, "h": 2}, + + {"x": 0, "y": 5, "w": 1.25}, + {"x": 1.25, "y": 5, "w": 1.25}, + {"x": 2.5, "y": 5, "w": 1.25}, + {"x": 3.75, "y": 5, "w": 6.25}, + {"x": 10, "y": 5}, + {"x": 11, "y": 5}, + {"x": 12, "y": 5}, + {"x": 13, "y": 5}, + {"x": 14, "y": 5}, + {"x": 15, "y": 5}, + {"x": 16, "y": 5}, + {"x": 17, "y": 5} + ] }, - "LAYOUT_std60_split_num0": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Home", "x":14, "y":0}, {"label":"End", "x":15, "y":0}, {"label":"PgUp", "x":16, "y":0}, {"label":"PgDn", "x":17, "y":0}, {"label":"Delete", "x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Num Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"+", "x":18, "y":2, "h":2}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":2.75}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"GUI", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"label":"Space", "x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5, "w":1.25}, {"label":"Fn", "x":11.25, "y":5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5, "w":1.25}, {"label":"0", "x":15, "y":5}, {"label":"00", "x":16, "y":5}, {"label":".", "x":17, "y":5}, {"label":"Enter", "x":18, "y":4, "h":2}] + "LAYOUT_96_ansi_splitbs": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + {"x": 17, "y": 0}, + {"x": 18, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + {"x": 17, "y": 1}, + {"x": 18, "y": 1}, + + {"x": 0, "y": 2, "w": 1.5}, + {"x": 1.5, "y": 2}, + {"x": 2.5, "y": 2}, + {"x": 3.5, "y": 2}, + {"x": 4.5, "y": 2}, + {"x": 5.5, "y": 2}, + {"x": 6.5, "y": 2}, + {"x": 7.5, "y": 2}, + {"x": 8.5, "y": 2}, + {"x": 9.5, "y": 2}, + {"x": 10.5, "y": 2}, + {"x": 11.5, "y": 2}, + {"x": 12.5, "y": 2}, + {"x": 13.5, "y": 2, "w": 1.5}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + {"x": 17, "y": 2}, + {"x": 18, "y": 2, "h": 2}, + + {"x": 0, "y": 3, "w": 1.75}, + {"x": 1.75, "y": 3}, + {"x": 2.75, "y": 3}, + {"x": 3.75, "y": 3}, + {"x": 4.75, "y": 3}, + {"x": 5.75, "y": 3}, + {"x": 6.75, "y": 3}, + {"x": 7.75, "y": 3}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3}, + {"x": 10.75, "y": 3}, + {"x": 11.75, "y": 3}, + {"x": 12.75, "y": 3, "w": 2.25}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + {"x": 17, "y": 3}, + + {"x": 0, "y": 4, "w": 2.25}, + {"x": 2.25, "y": 4}, + {"x": 3.25, "y": 4}, + {"x": 4.25, "y": 4}, + {"x": 5.25, "y": 4}, + {"x": 6.25, "y": 4}, + {"x": 7.25, "y": 4}, + {"x": 8.25, "y": 4}, + {"x": 9.25, "y": 4}, + {"x": 10.25, "y": 4}, + {"x": 11.25, "y": 4}, + {"x": 12.25, "y": 4, "w": 1.75}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + {"x": 17, "y": 4}, + {"x": 18, "y": 4, "h": 2}, + + {"x": 0, "y": 5, "w": 1.25}, + {"x": 1.25, "y": 5, "w": 1.25}, + {"x": 2.5, "y": 5, "w": 1.25}, + {"x": 3.75, "y": 5, "w": 6.25}, + {"x": 10, "y": 5}, + {"x": 11, "y": 5}, + {"x": 12, "y": 5}, + {"x": 13, "y": 5}, + {"x": 14, "y": 5}, + {"x": 15, "y": 5}, + {"x": 16, "y": 5}, + {"x": 17, "y": 5} + ] + }, + "LAYOUT_96_iso": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + {"x": 17, "y": 0}, + {"x": 18, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1, "w": 2}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + {"x": 17, "y": 1}, + {"x": 18, "y": 1}, + + {"x": 0, "y": 2, "w": 1.5}, + {"x": 1.5, "y": 2}, + {"x": 2.5, "y": 2}, + {"x": 3.5, "y": 2}, + {"x": 4.5, "y": 2}, + {"x": 5.5, "y": 2}, + {"x": 6.5, "y": 2}, + {"x": 7.5, "y": 2}, + {"x": 8.5, "y": 2}, + {"x": 9.5, "y": 2}, + {"x": 10.5, "y": 2}, + {"x": 11.5, "y": 2}, + {"x": 12.5, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + {"x": 17, "y": 2}, + {"x": 18, "y": 2, "h": 2}, + + {"x": 0, "y": 3, "w": 1.75}, + {"x": 1.75, "y": 3}, + {"x": 2.75, "y": 3}, + {"x": 3.75, "y": 3}, + {"x": 4.75, "y": 3}, + {"x": 5.75, "y": 3}, + {"x": 6.75, "y": 3}, + {"x": 7.75, "y": 3}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3}, + {"x": 10.75, "y": 3}, + {"x": 11.75, "y": 3}, + {"x": 12.75, "y": 3}, + {"x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + {"x": 17, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4}, + {"x": 2.25, "y": 4}, + {"x": 3.25, "y": 4}, + {"x": 4.25, "y": 4}, + {"x": 5.25, "y": 4}, + {"x": 6.25, "y": 4}, + {"x": 7.25, "y": 4}, + {"x": 8.25, "y": 4}, + {"x": 9.25, "y": 4}, + {"x": 10.25, "y": 4}, + {"x": 11.25, "y": 4}, + {"x": 12.25, "y": 4, "w": 1.75}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + {"x": 17, "y": 4}, + {"x": 18, "y": 4, "h": 2}, + + {"x": 0, "y": 5, "w": 1.25}, + {"x": 1.25, "y": 5, "w": 1.25}, + {"x": 2.5, "y": 5, "w": 1.25}, + {"x": 3.75, "y": 5, "w": 6.25}, + {"x": 10, "y": 5}, + {"x": 11, "y": 5}, + {"x": 12, "y": 5}, + {"x": 13, "y": 5}, + {"x": 14, "y": 5}, + {"x": 15, "y": 5}, + {"x": 16, "y": 5}, + {"x": 17, "y": 5} + ] + }, + "LAYOUT_96_iso_splitbs": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + {"x": 17, "y": 0}, + {"x": 18, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + {"x": 17, "y": 1}, + {"x": 18, "y": 1}, + + {"x": 0, "y": 2, "w": 1.5}, + {"x": 1.5, "y": 2}, + {"x": 2.5, "y": 2}, + {"x": 3.5, "y": 2}, + {"x": 4.5, "y": 2}, + {"x": 5.5, "y": 2}, + {"x": 6.5, "y": 2}, + {"x": 7.5, "y": 2}, + {"x": 8.5, "y": 2}, + {"x": 9.5, "y": 2}, + {"x": 10.5, "y": 2}, + {"x": 11.5, "y": 2}, + {"x": 12.5, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + {"x": 17, "y": 2}, + {"x": 18, "y": 2, "h": 2}, + + {"x": 0, "y": 3, "w": 1.75}, + {"x": 1.75, "y": 3}, + {"x": 2.75, "y": 3}, + {"x": 3.75, "y": 3}, + {"x": 4.75, "y": 3}, + {"x": 5.75, "y": 3}, + {"x": 6.75, "y": 3}, + {"x": 7.75, "y": 3}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3}, + {"x": 10.75, "y": 3}, + {"x": 11.75, "y": 3}, + {"x": 12.75, "y": 3}, + {"x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + {"x": 17, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4}, + {"x": 2.25, "y": 4}, + {"x": 3.25, "y": 4}, + {"x": 4.25, "y": 4}, + {"x": 5.25, "y": 4}, + {"x": 6.25, "y": 4}, + {"x": 7.25, "y": 4}, + {"x": 8.25, "y": 4}, + {"x": 9.25, "y": 4}, + {"x": 10.25, "y": 4}, + {"x": 11.25, "y": 4}, + {"x": 12.25, "y": 4, "w": 1.75}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + {"x": 17, "y": 4}, + {"x": 18, "y": 4, "h": 2}, + + {"x": 0, "y": 5, "w": 1.25}, + {"x": 1.25, "y": 5, "w": 1.25}, + {"x": 2.5, "y": 5, "w": 1.25}, + {"x": 3.75, "y": 5, "w": 6.25}, + {"x": 10, "y": 5}, + {"x": 11, "y": 5}, + {"x": 12, "y": 5}, + {"x": 13, "y": 5}, + {"x": 14, "y": 5}, + {"x": 15, "y": 5}, + {"x": 16, "y": 5}, + {"x": 17, "y": 5} + ] + }, + "LAYOUT_96_with60": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + {"x": 17, "y": 0}, + {"x": 18, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1, "w": 2}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + {"x": 17, "y": 1}, + {"x": 18, "y": 1}, + + {"x": 0, "y": 2, "w": 1.5}, + {"x": 1.5, "y": 2}, + {"x": 2.5, "y": 2}, + {"x": 3.5, "y": 2}, + {"x": 4.5, "y": 2}, + {"x": 5.5, "y": 2}, + {"x": 6.5, "y": 2}, + {"x": 7.5, "y": 2}, + {"x": 8.5, "y": 2}, + {"x": 9.5, "y": 2}, + {"x": 10.5, "y": 2}, + {"x": 11.5, "y": 2}, + {"x": 12.5, "y": 2}, + {"x": 13.5, "y": 2, "w": 1.5}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + {"x": 17, "y": 2}, + {"x": 18, "y": 2, "h": 2}, + + {"x": 0, "y": 3, "w": 1.75}, + {"x": 1.75, "y": 3}, + {"x": 2.75, "y": 3}, + {"x": 3.75, "y": 3}, + {"x": 4.75, "y": 3}, + {"x": 5.75, "y": 3}, + {"x": 6.75, "y": 3}, + {"x": 7.75, "y": 3}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3}, + {"x": 10.75, "y": 3}, + {"x": 11.75, "y": 3}, + {"x": 12.75, "y": 3, "w": 2.25}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + {"x": 17, "y": 3}, + + {"x": 0, "y": 4, "w": 2.25}, + {"x": 2.25, "y": 4}, + {"x": 3.25, "y": 4}, + {"x": 4.25, "y": 4}, + {"x": 5.25, "y": 4}, + {"x": 6.25, "y": 4}, + {"x": 7.25, "y": 4}, + {"x": 8.25, "y": 4}, + {"x": 9.25, "y": 4}, + {"x": 10.25, "y": 4}, + {"x": 11.25, "y": 4}, + {"x": 12.25, "y": 4, "w": 2.75}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + {"x": 17, "y": 4}, + {"x": 18, "y": 4, "h": 2} + + {"x": 0, "y": 5, "w": 1.25}, + {"x": 1.25, "y": 5, "w": 1.25}, + {"x": 2.5, "y": 5, "w": 1.25}, + {"x": 3.75, "y": 5, "w": 6.25}, + {"x": 10, "y": 5, "w": 1.25}, + {"x": 11.25, "y": 5, "w": 1.25}, + {"x": 12.5, "y": 5, "w": 1.25}, + {"x": 13.75, "y": 5, "w": 1.25}, + {"x": 15, "y": 5, "w": 2}, + {"x": 17, "y": 5}, + ] + }, + "LAYOUT_96_with60_splitbs": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + {"x": 17, "y": 0}, + {"x": 18, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + {"x": 17, "y": 1}, + {"x": 18, "y": 1}, + + {"x": 0, "y": 2, "w": 1.5}, + {"x": 1.5, "y": 2}, + {"x": 2.5, "y": 2}, + {"x": 3.5, "y": 2}, + {"x": 4.5, "y": 2}, + {"x": 5.5, "y": 2}, + {"x": 6.5, "y": 2}, + {"x": 7.5, "y": 2}, + {"x": 8.5, "y": 2}, + {"x": 9.5, "y": 2}, + {"x": 10.5, "y": 2}, + {"x": 11.5, "y": 2}, + {"x": 12.5, "y": 2}, + {"x": 13.5, "y": 2, "w": 1.5}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + {"x": 17, "y": 2}, + {"x": 18, "y": 2, "h": 2}, + + {"x": 0, "y": 3, "w": 1.75}, + {"x": 1.75, "y": 3}, + {"x": 2.75, "y": 3}, + {"x": 3.75, "y": 3}, + {"x": 4.75, "y": 3}, + {"x": 5.75, "y": 3}, + {"x": 6.75, "y": 3}, + {"x": 7.75, "y": 3}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3}, + {"x": 10.75, "y": 3}, + {"x": 11.75, "y": 3}, + {"x": 12.75, "y": 3, "w": 2.25}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + {"x": 17, "y": 3}, + + {"x": 0, "y": 4, "w": 2.25}, + {"x": 2.25, "y": 4}, + {"x": 3.25, "y": 4}, + {"x": 4.25, "y": 4}, + {"x": 5.25, "y": 4}, + {"x": 6.25, "y": 4}, + {"x": 7.25, "y": 4}, + {"x": 8.25, "y": 4}, + {"x": 9.25, "y": 4}, + {"x": 10.25, "y": 4}, + {"x": 11.25, "y": 4}, + {"x": 12.25, "y": 4, "w": 2.75}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + {"x": 17, "y": 4}, + {"x": 18, "y": 4, "h": 2} + + {"x": 0, "y": 5, "w": 1.25}, + {"x": 1.25, "y": 5, "w": 1.25}, + {"x": 2.5, "y": 5, "w": 1.25}, + {"x": 3.75, "y": 5, "w": 6.25}, + {"x": 10, "y": 5, "w": 1.25}, + {"x": 11.25, "y": 5, "w": 1.25}, + {"x": 12.5, "y": 5, "w": 1.25}, + {"x": 13.75, "y": 5, "w": 1.25}, + {"x": 15, "y": 5, "w": 2}, + {"x": 17, "y": 5}, + ] + }, + "LAYOUT_96_with60_split_num0": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + {"x": 17, "y": 0}, + {"x": 18, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1, "w": 2}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + {"x": 17, "y": 1}, + {"x": 18, "y": 1}, + + {"x": 0, "y": 2, "w": 1.5}, + {"x": 1.5, "y": 2}, + {"x": 2.5, "y": 2}, + {"x": 3.5, "y": 2}, + {"x": 4.5, "y": 2}, + {"x": 5.5, "y": 2}, + {"x": 6.5, "y": 2}, + {"x": 7.5, "y": 2}, + {"x": 8.5, "y": 2}, + {"x": 9.5, "y": 2}, + {"x": 10.5, "y": 2}, + {"x": 11.5, "y": 2}, + {"x": 12.5, "y": 2}, + {"x": 13.5, "y": 2, "w": 1.5}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + {"x": 17, "y": 2}, + {"x": 18, "y": 2, "h": 2}, + + {"x": 0, "y": 3, "w": 1.75}, + {"x": 1.75, "y": 3}, + {"x": 2.75, "y": 3}, + {"x": 3.75, "y": 3}, + {"x": 4.75, "y": 3}, + {"x": 5.75, "y": 3}, + {"x": 6.75, "y": 3}, + {"x": 7.75, "y": 3}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3}, + {"x": 10.75, "y": 3}, + {"x": 11.75, "y": 3}, + {"x": 12.75, "y": 3, "w": 2.25}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + {"x": 17, "y": 3}, + + {"x": 0, "y": 4, "w": 2.25}, + {"x": 2.25, "y": 4}, + {"x": 3.25, "y": 4}, + {"x": 4.25, "y": 4}, + {"x": 5.25, "y": 4}, + {"x": 6.25, "y": 4}, + {"x": 7.25, "y": 4}, + {"x": 8.25, "y": 4}, + {"x": 9.25, "y": 4}, + {"x": 10.25, "y": 4}, + {"x": 11.25, "y": 4}, + {"x": 12.25, "y": 4, "w": 2.75}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + {"x": 17, "y": 4}, + {"x": 18, "y": 4, "h": 2}, + + {"x": 0, "y": 5, "w": 1.25}, + {"x": 1.25, "y": 5, "w": 1.25}, + {"x": 2.5, "y": 5, "w": 1.25}, + {"x": 3.75, "y": 5, "w": 6.25}, + {"x": 10, "y": 5, "w": 1.25}, + {"x": 11.25, "y": 5, "w": 1.25}, + {"x": 12.5, "y": 5, "w": 1.25}, + {"x": 13.75, "y": 5, "w": 1.25}, + {"x": 15, "y": 5}, + {"x": 16, "y": 5}, + {"x": 17, "y": 5} + ] } } } diff --git a/keyboards/melody96/keymaps/default/keymap.c b/keyboards/melody96/keymaps/default/keymap.c index ba73cbce835d..3ed6f3068b36 100644 --- a/keyboards/melody96/keymaps/default/keymap.c +++ b/keyboards/melody96/keymaps/default/keymap.c @@ -1,74 +1,20 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Layer 0, default layer -____________________________________________________________________________________________________________________________________________________________________________ -| | | | | | | | | | | | | | | | | | | | -| ESC* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | P SCN | HOME | END | P UP | P DOWN | DEL | -|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________| -| | | | | | | | | | | | | | | BACK | NUM | | | | -| ~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | _ - | = + | \ | SPACE | LOCK | / | * | - | -|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________| -| | | | | | | | | | | | [ | ] | | | | | | -| TAB | Q | W | E | R | T | Y | U | I | O | P | { | } | | \ | 7 | 8 | 9 | - | -|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|________| -| | | | | | | | | | | ; | ' | | | | | | -| CAPS LOCK | A | S | D | F | G | H | J | K | L | : | " | ENTER | 4 | 5 | 6 | + | -|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________| -| | | | | | | | | | , | . | / | | | | | | | -| SHIFT | NUBS | Z | X | C | V | B | N | M | < | > | ? | SHIFT | UP | 1 | 2 | 3 | ENTER | -|_________|________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|________| -| | | | | | MO | MO | | | | | | | -| CTRL | LGUI | L ALT | SPACE | R ALT | _FN | _FN | LEFT | DOWN | RIGHT | 0 | . | ENTER | -|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________| -*/ - - - - LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, - KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - 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_P7, KC_P8, KC_P9, KC_PMNS, - 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_P4, KC_P5, KC_P6, KC_PPLS, - 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_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), - - - - /* Layer 1, function layer -____________________________________________________________________________________________________________________________________________________________________________ -| | | | | | | | | | | | | | | VOL | VOL | | | | -| RESET | | | | | | | | | | | | | MUTE | DOWN | UP | | | | -|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________| -| | | | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | | | | | | | | | -|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________| -| | RGB | | RGB | HUE | HUE | SATUR. | SATUR. | VALUE | VALUE | | | | | | | | | -| | TOGGLE | | MODE |INCREASE| DCRSE |INCREASE| DCRSE |INCREASE| DCRSE | | | | | | | | | -|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|________| -| BACKLIGHT | | | | | | | | | | | | | | | | | -| TOGGLE | | | | | | | | | | | | | | | | | -|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________| -| | | | |BACKLHT |BACKLHT |BACKLHT | | | | | | | | | | | | -| | | | | DCRSE |TOGGLE |INCREASE| | | | | | | | | | | | -|_________|________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|________| -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________| -BL_TOGG, BL_DEC, BL_INC changes the in-switch LEDs -*/ - - - LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, - BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, + KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PMNS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_all( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} diff --git a/keyboards/melody96/keymaps/default_std60_split_num0/keymap.c b/keyboards/melody96/keymaps/default_96_with60_split_num0/keymap.c similarity index 82% rename from keyboards/melody96/keymaps/default_std60_split_num0/keymap.c rename to keyboards/melody96/keymaps/default_96_with60_split_num0/keymap.c index 25881d3f80e6..5dc26b150d17 100644 --- a/keyboards/melody96/keymaps/default_std60_split_num0/keymap.c +++ b/keyboards/melody96/keymaps/default_96_with60_split_num0/keymap.c @@ -1,40 +1,36 @@ #include QMK_KEYBOARD_H -// Defines the keycodes used by our macros in process_record_user enum custom_keycodes { KC_P00 = SAFE_RANGE }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_std60_split_num0( + [0] = LAYOUT_96_with60_split_num0( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - 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_P7, KC_P8, KC_P9, - 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_P4, KC_P5, KC_P6, KC_PPLS, - 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_P1, KC_P2, KC_P3, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_P0, KC_P00, KC_PDOT, KC_PENT + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_P0, KC_P00, KC_PDOT ), - - [0] = LAYOUT_std60_split_num0( + [1] = LAYOUT_96_with60_split_num0( RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, - BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case KC_P00: if (record->event.pressed) { - SEND_STRING("00"); + tap_code(KC_P0); + tap_code(KC_P0); } - break; + return false; } return true; } diff --git a/keyboards/melody96/keymaps/default_std60_split_num0/readme.md b/keyboards/melody96/keymaps/default_std60_split_num0/readme.md deleted file mode 100644 index d20a179aa945..000000000000 --- a/keyboards/melody96/keymaps/default_std60_split_num0/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# default_std60_split_num0 - -A modified default keymap for use with the LAYOUT_std60_split_num0 macro. - -## Base Layer - -``` -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ -│Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Prt│Hm │End│PUp│PDn│Del│ -├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤ -│` ~│1 !│2 @│3 #│4 $│5 %│6 ^│7 &│8 *│9 (│0 )│- _│= +│ Bksp │NLk│ / │ * │ - │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤ -│ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │[ {│] }│ \ | │7 │8 │9 │ + │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤ │ -│CapsLk│ A │ S │ D │ F │ G │ H │ J │ K │ L │; :│' "│ Enter │4 │5 │6 │ │ -├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┼───┼───┼───┼───┤ -│ Shift │ Z │ X │ C │ V │ B │ N │ M │, <│. >│/ ?│ Shift │1 │2 │3 │Ent│ -├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┼───┼───┼───┤ │ -│Ctrl│GUI │Alt │Space │Alt │Fn │Menu│Ctrl│0 │00 │ . │ │ -└────┴────┴────┴────────────────────────┴────┴────┴────┴────┴───┴───┴───┴───┘ -``` - -## Function Layer - -``` -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ -│RST│ │ │ │ │ │ │ │ │ │ │ │ │Mut│VDn│VUp│ │ │ │ -├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤ -│ │RTg│ │RMd│RH+│RH-│RS+│RS-│RV+│RV-│ │ │ │ │ │ │ │ │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤ │ -│BLTogg│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┼───┼───┼───┼───┤ -│ │ │ │BL-│BTg│BL+│ │ │ │ │ │ │ │ │ │ │ -├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┼───┼───┼───┤ │ -│ │ │ │ │ │ │ │ │ │ │ │ │ -└────┴────┴────┴────────────────────────┴────┴────┴────┴────┴───┴───┴───┴───┘ -``` diff --git a/keyboards/melody96/keymaps/via/keymap.c b/keyboards/melody96/keymaps/via/keymap.c index 24d7d2d8ad98..c02fa785a858 100644 --- a/keyboards/melody96/keymaps/via/keymap.c +++ b/keyboards/melody96/keymaps/via/keymap.c @@ -1,36 +1,36 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, - KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - 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_P7, KC_P8, KC_P9, KC_PMNS, - 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_P4, KC_P5, KC_P6, KC_PPLS, - 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_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), - - [1] = LAYOUT( - RESET, 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_MUTE, KC_VOLD, KC_VOLU, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_TOG, KC_TRNS, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - BL_TOGG, 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, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [2] = LAYOUT( - 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [3] = LAYOUT( - 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, + KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PMNS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_all( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) }; diff --git a/keyboards/melody96/keymaps/via/readme.md b/keyboards/melody96/keymaps/via/readme.md deleted file mode 100644 index 9db51187a4f4..000000000000 --- a/keyboards/melody96/keymaps/via/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# The via keymap for YMDK Melody 96 - -This folder contains the [VIA](https://caniusevia.com/) configuration for the YMDK Melody 96 - -Maintained by: [vlee489](https://github.com/vlee489) diff --git a/keyboards/melody96/keymaps/via/rules.mk b/keyboards/melody96/keymaps/via/rules.mk index 6d6d45bac8b7..36b7ba9cbc98 100644 --- a/keyboards/melody96/keymaps/via/rules.mk +++ b/keyboards/melody96/keymaps/via/rules.mk @@ -1,2 +1,2 @@ VIA_ENABLE = yes -LTO_ENABLE = yes # reduce firmware size +LTO_ENABLE = yes diff --git a/keyboards/melody96/melody96.h b/keyboards/melody96/melody96.h index 37a6a85b09d5..3d3bc6070c69 100644 --- a/keyboards/melody96/melody96.h +++ b/keyboards/melody96/melody96.h @@ -2,100 +2,232 @@ #include "quantum.h" -#define LAYOUT( \ - K050, K051, K052, K053, K054, K055, K056, K057, K058, K118, K117, K115, K114, K113, K116, K112, K111, K110, K063, \ - K040, K041, K042, K043, K044, K045, K046, K047, K048, K108, K107, K105, K104, K103, K106, K102, K101, K100, K064, \ - K030, K031, K032, K033, K034, K035, K036, K037, K038, K098, K097, K095, K094, K084, K096, K092, K091, K090, \ - K020, K021, K022, K023, K024, K025, K026, K027, K028, K088, K087, K085, K093, K086, K082, K081, K080, \ - K010, K011, K012, K013, K014, K015, K016, K017, K018, K078, K077, K075, K074, K073, K076, K072, K071, K070, \ - K000, K001, K002, K006, K008, K007, K005, K004, K003, K066, K062, K061, K060 \ -) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \ - { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \ - { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \ - { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \ - { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \ - { K050, K051, K052, K053, K054, K055, K056, K057, K058 }, \ - { K060, K061, K062, K063, K064, KC_NO, K066, KC_NO, KC_NO }, \ - { K070, K071, K072, K073, K074, K075, K076, K077, K078 }, \ - { K080, K081, K082, KC_NO, K084, K085, K086, K087, K088 }, \ - { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108 }, \ - { K110, K111, K112, K113, K114, K115, K116, K117, K118 } \ -} +#define XXX KC_NO /* - * The layout macro for the layout of hotswap keyboards, with illustrative grid of a typical - * assignment. - * ,--------------------------------------------------------------------------- - * |ESC|F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|PSC|HOM|END|PGU|PGD|DEL| - * ,--------------------------------------------------------------------------| - * | ` |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | BKSPC |NLK| / | * | - | - * |--------------------------------------------------------------------------| - * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | 7 | 8 | 9 | | - * |----------------------------------------------------------------------| + | - * | CTRL | A | S | D | F | G | H | J | K | L | ; | ' | RET | 4 | 5 | 6 | | - * |----------------------------------------------------------------------|---| - * | LSHIFT | Z | X | C | V | B | N | M | , | . | / |RSHFT| ↑ | 1 | 2 | 3 | | - * |----------------------------------------------------------------------|ENT| - * |LCTL|LWIN|LALT| SPACE |CTL|ALT|FN | ← | ↓ | → | 0 | . | | - * `--------------------------------------------------------------------------- + * ┌────┬───┐ ┌───┬───┐ + * │10 │11 │ │A3 │A6 │ + * └────┴───┘ └───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │50 │51 │52 │53 │54 │55 │56 │57 │58 │B8 │B7 │B5 │B4 │B3 │B6 │B2 │B1 │B0 │63 │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤ + * │40 │41 │42 │43 │44 │45 │46 │47 │48 │A8 │A7 │A5 │A4 │A6 │A2 │A1 │A0 │64 │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤ ┌─────┐ ┌───┐ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │98 │97 │95 │94 │93 │96 │92 │91 │80 │ │93 │ │90 │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤ │ ┌──┴┐ │ ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │88 │87 │85 │84 │86 │82 │81 │ │ │84 │ │ │80 │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ ├───┼────┘ └───┘ + * │10 │12 │13 │14 │15 │16 │17 │18 │78 │77 │75 │74 │73 │76 │72 │71 │60 │ │70 │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┴───┼───┤ │ ├───┤ + * │00 │01 │02 │06 │08 │07 │05 │04 │03 │62 │61 │ │ │60 │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───────┴───┴───┘ └───┘ + * ┌──────────┬───┬───┐ + * │74 │66 │62 │ + * └──────────┴───┴───┘ + * ┌────┬────┬────┬────────────────────────┬─────┬─────┬───┬───┐ + * │00 │01 │02 │06 │08 │05 │04 │03 │ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┘ + * ┌────┬────┬────┬─────────────────────────────┬────┬────┬────┐ + * │00 │01 │02 │06 │08 │07 │04 │03 │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + * ┌─────┬─────┬───────────────────────────┬─────┬─────┬───┬───┐ + * │00 │01 │06 │08 │05 │04 │03 │ + * └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┘ + * ┌─────┬─────┬───────────────────────────┬────┬────┬────┬────┐ + * │00 │01 │06 │08 │07 │04 │03 │ + * └─────┴─────┴───────────────────────────┴────┴────┴────┴────┘ + * ┌─────┬─────┬───────────────────────────┬───┬───┬───┬───┬───┐ + * │00 │01 │06 │08 │07 │05 │04 │03 │ + * └─────┴─────┴───────────────────────────┴───┴───┴───┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ + * │00 │01 │02 │06 │07 │04 │03 │ + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + * ┌─────┬───┬─────┬───────────────────────────┬───┬───┬───┬───┐ + * │00 │01 │02 │06 │07 │05 │04 │03 │ + * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────┬─────┬─────┬───┬───┐ + * │00 │01 │02 │06 │08 │05 │04 │03 │ + * └─────┴───┴─────┴───────────────────────┴─────┴─────┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │06 │08 │07 │05 │04 │03 │ + * └─────┴───┴─────┴───────────────────────┴───┴───┴───┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────┬────┬────┬────┬────┐ + * │00 │01 │02 │06 │08 │07 │04 │03 │ + * └─────┴───┴─────┴───────────────────────┴────┴────┴────┴────┘ */ -#define LAYOUT_hotswap( \ - K050, K051, K052, K053, K054, K055, K056, K057, K058, K118, K117, K115, K114, K113, K116, K112, K111, K110, K063, \ - K040, K041, K042, K043, K044, K045, K046, K047, K048, K108, K107, K105, K104, K106, K102, K101, K100, K064, \ - K030, K031, K032, K033, K034, K035, K036, K037, K038, K098, K097, K095, K094, K093, K096, K092, K091, \ - K020, K021, K022, K023, K024, K025, K026, K027, K028, K088, K087, K085, K084, K086, K082, K081, K080, \ - K010, K012, K013, K014, K015, K016, K017, K018, K078, K077, K075, K074, K073, K076, K072, K071, \ - K000, K001, K002, K006, K008, K007, K005, K004, K003, K066, K062, K061, K060 \ + +#define LAYOUT_all( \ + k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k93, k96, k92, k91, k90, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k86, k82, k81, k80, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k70, \ + k00, k01, k02, k06, k08, k07, k05, k04, k03, k66, k62, k61, k60 \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \ - { K010, KC_NO, K012, K013, K014, K015, K016, K017, K018 }, \ - { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \ - { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \ - { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \ - { K050, K051, K052, K053, K054, K055, K056, K057, K058 }, \ - { K060, K061, K062, K063, K064, KC_NO, K066, KC_NO, KC_NO }, \ - { KC_NO, K071, K072, K073, K074, K075, K076, K077, K078 }, \ - { K080, K081, K082, KC_NO, K084, K085, K086, K087, K088 }, \ - { KC_NO, K091, K092, K093, K094, K095, K096, K097, K098 }, \ - { K100, K101, K102, KC_NO, K104, K105, K106, K107, K108 }, \ - { K110, K111, K112, K113, K114, K115, K116, K117, K118 } \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \ + { k70, k71, k72, k73, k74, k75, k76, k77, k78 }, \ + { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \ + { k90, k91, k92, k93, k94, k95, k96, k97, k98 }, \ + { kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8 }, \ + { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \ } -/* LAYOUT_std60_split_num0 - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Prt│Pau│Hm │End│PUp│PDn│ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤ - * │` ~│1 !│2 @│3 #│4 $│5 %│6 ^│7 &│8 *│9 (│0 )│- _│= +│ Bksp │NLk│ / │ * │ - │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │[ {│] }│ \ | │7 │8 │9 │ + │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤ │ - * │CapsLk│ A │ S │ D │ F │ G │ H │ J │ K │ L │; :│' "│ Enter │4 │5 │6 │ │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┼───┼───┼───┼───┤ - * │ Shift │ Z │ X │ C │ V │ B │ N │ M │, <│. >│/ ?│ Shift │1 │2 │3 │Ent│ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┼───┼───┼───┤ │ - * │Ctrl│GUI │Alt │Space │Alt │GUI │Menu│Ctrl│0 │00 │ . │ │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┴───┴───┴───┴───┘ - */ -#define LAYOUT_std60_split_num0( \ - K50, K51, K52, K53, K54, K55, K56, K57, K58, KB8, KB7, KB5, KB4, KB3, KB6, KB2, KB1, KB0, K63, \ - K40, K41, K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4, KA6, KA2, KA1, KA0, K64, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K94, K84, K96, K92, K91, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K93, K86, K82, K81, K80, \ - K10, K12, K13, K14, K15, K16, K17, K18, K78, K77, K75, K74, K76, K72, K71, \ - K00, K01, K02, K06, K08, K07, K04, K03, K66, K62, K61, K60 \ +#define LAYOUT_96_ansi( \ + k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k93, k96, k92, k91, k80, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k86, k82, k81, \ + k10, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \ + k00, k01, k02, k06, k08, k07, k05, k04, k03, k66, k62, k61 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \ + { XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \ + { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \ + { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \ + { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \ + { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \ +} + +#define LAYOUT_96_ansi_splitbs( \ + k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k93, k96, k92, k91, k80, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k86, k82, k81, \ + k10, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \ + k00, k01, k02, k06, k08, k07, k05, k04, k03, k66, k62, k61 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \ + { XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \ + { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \ + { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \ + { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \ + { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \ +} + +#define LAYOUT_96_iso( \ + k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k96, k92, k91, k80, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k93, k86, k82, k81, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \ + k00, k01, k02, k06, k08, k07, k05, k04, k03, k66, k62, k61 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \ + { XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \ + { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \ + { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \ + { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \ + { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \ +} + +#define LAYOUT_96_iso_splitbs( \ + k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k96, k92, k91, k80, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k93, k86, k82, k81, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \ + k00, k01, k02, k06, k08, k07, k05, k04, k03, k66, k62, k61 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \ + { XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \ + { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \ + { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \ + { kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8 }, \ + { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \ +} + +#define LAYOUT_96_with60( \ + k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k84, k96, k92, k91, k80, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k93, k86, k82, k81, \ + k10, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k76, k72, k71, k60,\ + k00, k01, k02, k06, k08, k07, k04, k03, k62, k61 \ +) { \ + { k00, k01, k02, k03, k04, XXX, k06, k07, k08 }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, XXX, XXX, XXX, XXX }, \ + { XXX, k71, k72, XXX, k74, k75, k76, k77, k78 }, \ + { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \ + { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \ + { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \ + { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \ +} + +#define LAYOUT_96_with60_splitbs( \ + k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k84, k96, k92, k91, k80, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k93, k86, k82, k81, \ + k10, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k76, k72, k71, k60, \ + k00, k01, k02, k06, k08, k07, k04, k03, k62, k61 \ +) { \ + { k00, k01, k02, k03, k04, XXX, k06, k07, k08 }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, XXX, XXX, XXX, XXX }, \ + { XXX, k71, k72, XXX, k74, k75, k76, k77, k78 }, \ + { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \ + { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \ + { kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8 }, \ + { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \ +} + +#define LAYOUT_96_with60_split_num0( \ + k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k84, k96, k92, k91, k80,\ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k93, k86, k82, k81, \ + k10, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k76, k72, k71, k60, \ + k00, k01, k02, k06, k08, k07, k04, k03, k66, k62, k61 \ ) { \ - { K00, K01, K02, K03, K04, KC_NO, K06, K07, K08 }, \ - { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18 }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38 }, \ - { K40, K41, K42, K43, K44, K45, K46, K47, K48 }, \ - { K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \ - { K60, K61, K62, K63, K64, KC_NO, K66, KC_NO, KC_NO }, \ - { KC_NO, K71, K72, KC_NO, K74, K75, K76, K77, K78 }, \ - { K80, K81, K82, KC_NO, K84, K85, K86, K87, K88 }, \ - { KC_NO, K91, K92, K93, K94, K95, K96, K97, K98 }, \ - { KA0, KA1, KA2, KC_NO, KA4, KA5, KA6, KA7, KA8 }, \ - { KB0, KB1, KB2, KB3, KB4, KB5, KB6, KB7, KB8 } \ + { k00, k01, k02, k03, k04, XXX, k06, k07, k08 }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \ + { XXX, k71, k72, XXX, k74, k75, k76, k77, k78 }, \ + { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \ + { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \ + { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \ + { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \ } diff --git a/keyboards/melody96/readme.md b/keyboards/melody96/readme.md index 2d472b32769d..16338e9ed3c9 100644 --- a/keyboards/melody96/readme.md +++ b/keyboards/melody96/readme.md @@ -1,15 +1,19 @@ # YMDK Melody96 -![melody96](https://i.imgur.com/9o0a6XF.png) +![melody96](https://i.imgur.com/9o0a6XFh.png) -96-key Keyboard from YMDK. The PCB for this board is also commonly used in the NYM96. +96-key Keyboard from YMDK. The PCB for this board is also commonly used in the NYM96. -Keyboard Maintainer: [superuser41](https://github.com/kaylanm) -Hardware Supported: melody96 -Hardware Availability: [YMDK on Geekhack, group buy closed](https://geekhack.org/index.php?topic=93614.0), [NYM96 on Massdrop](https://www.massdrop.com/buy/nym96-aluminum-mechanical-keyboard?mode=guest_open) +* Keyboard Maintainer: [superuser41](https://github.com/kaylanm) +* Hardware Supported: melody96 +* Hardware Availability: [YMDK on Geekhack, group buy closed](https://geekhack.org/index.php?topic=93614.0), [NYM96 on Massdrop](https://www.massdrop.com/buy/nym96-aluminum-mechanical-keyboard?mode=guest_open) Make example for this keyboard (after setting up your build environment): make melody96:default +Flashing example for this keyboard: + + make melody96:default:flash + 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/melody96/rules.mk b/keyboards/melody96/rules.mk index 9ccce6abf4d6..b27013f8630d 100644 --- a/keyboards/melody96/rules.mk +++ b/keyboards/melody96/rules.mk @@ -8,11 +8,11 @@ BOOTLOADER = atmel-dfu # change yes to no to disable # BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From d412854e37a53d35e567af3dc5c452d64c570fdd Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 4 Mar 2022 14:56:59 +1100 Subject: [PATCH 0263/1832] analog.[ch]: remove unnecessary includes (#16471) --- drivers/sensors/analog_joystick.c | 2 ++ platforms/avr/drivers/analog.c | 3 --- platforms/avr/drivers/analog.h | 2 +- platforms/chibios/drivers/analog.c | 1 - platforms/chibios/drivers/analog.h | 2 +- 5 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/sensors/analog_joystick.c b/drivers/sensors/analog_joystick.c index 95f8cff23ab2..12256a8e7ab2 100644 --- a/drivers/sensors/analog_joystick.c +++ b/drivers/sensors/analog_joystick.c @@ -18,6 +18,8 @@ #include "analog.h" #include "gpio.h" #include "wait.h" +#include "timer.h" +#include // Set Parameters uint16_t minAxisValue = ANALOG_JOYSTICK_AXIS_MIN; diff --git a/platforms/avr/drivers/analog.c b/platforms/avr/drivers/analog.c index ed4d56360908..a68c6a371d7b 100644 --- a/platforms/avr/drivers/analog.c +++ b/platforms/avr/drivers/analog.c @@ -14,9 +14,6 @@ * along with this program. If not, see . */ -#include -#include -#include #include "analog.h" static uint8_t aref = ADC_REF_POWER; diff --git a/platforms/avr/drivers/analog.h b/platforms/avr/drivers/analog.h index fb13e106ff1c..214f1f01fb06 100644 --- a/platforms/avr/drivers/analog.h +++ b/platforms/avr/drivers/analog.h @@ -17,7 +17,7 @@ #pragma once #include -#include "quantum.h" +#include "gpio.h" #ifdef __cplusplus extern "C" { diff --git a/platforms/chibios/drivers/analog.c b/platforms/chibios/drivers/analog.c index 48a59fd29087..a7b7ec76d749 100644 --- a/platforms/chibios/drivers/analog.c +++ b/platforms/chibios/drivers/analog.c @@ -14,7 +14,6 @@ * along with this program. If not, see . */ -#include "quantum.h" #include "analog.h" #include #include diff --git a/platforms/chibios/drivers/analog.h b/platforms/chibios/drivers/analog.h index 8a821719e327..67a7b466a5a7 100644 --- a/platforms/chibios/drivers/analog.h +++ b/platforms/chibios/drivers/analog.h @@ -17,7 +17,7 @@ #pragma once #include -#include "quantum.h" +#include "gpio.h" #ifdef __cplusplus extern "C" { From 34ba7f1c18a6924f47947e76b32d7620411d1e7a Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 4 Mar 2022 15:43:55 +1100 Subject: [PATCH 0264/1832] Bug report template: require `qmk doctor` output (#16517) --- .github/ISSUE_TEMPLATE/bug_report.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 57b415f7b340..81561eaba61c 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -18,19 +18,18 @@ assignees: '' ## System Information - - Keyboard: - - Revision (if applicable): - - Operating system: - - AVR GCC version: - - - ARM GCC version: - - - QMK Firmware version: - - - Any keyboard related software installed? - - [ ] AutoHotKey - - [ ] Karabiner - - [ ] Other: +**Keyboard:** +**Revision (if applicable):** +**Operating system:** +**`qmk doctor` output:** +``` +(Paste output here) +``` + +**Any keyboard related software installed?** + - [ ] AutoHotKey (Windows) + - [ ] Karabiner (macOS) + - [ ] Other: ## Additional Context From f634fddd344a456c3eff8014d9d58a2d764d7a8c Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 4 Mar 2022 22:04:45 +1100 Subject: [PATCH 0265/1832] Remove `send_unicode_hex_string()` (#16518) --- docs/feature_unicode.md | 11 ------- docs/ja/feature_unicode.md | 11 ------- .../process_keycode/process_unicode_common.c | 33 ------------------- .../process_keycode/process_unicode_common.h | 1 - 4 files changed, 56 deletions(-) diff --git a/docs/feature_unicode.md b/docs/feature_unicode.md index 6c3e2a1a2fba..bced419a03fe 100644 --- a/docs/feature_unicode.md +++ b/docs/feature_unicode.md @@ -230,17 +230,6 @@ send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻"); Example uses include sending Unicode strings when a key is pressed, as described in [Macros](feature_macros.md). -### `send_unicode_hex_string()` (Deprecated) - -Similar to `send_unicode_string()`, but the characters are represented by their Unicode code points, written in hexadecimal and separated by spaces. For example, the table flip above would be achieved with: - -```c -send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B"); -``` - -An easy way to convert your Unicode string to this format is to use [this site](https://r12a.github.io/app-conversion/) and take the result in the "Hex/UTF-32" section. - - ## Additional Language Support In `quantum/keymap_extras`, you'll see various language files — these work the same way as the ones for alternative layouts such as Colemak or BÉPO. When you include one of these language headers, you gain access to keycodes specific to that language / national layout. Such keycodes are defined by a 2-letter country/language code, followed by an underscore and a 4-letter abbreviation of the character to which the key corresponds. For example, including `keymap_french.h` and using `FR_UGRV` in your keymap will output `ù` when typed on a system with a native French AZERTY layout. diff --git a/docs/ja/feature_unicode.md b/docs/ja/feature_unicode.md index bfcb866ce1b0..2158678f3c48 100644 --- a/docs/ja/feature_unicode.md +++ b/docs/ja/feature_unicode.md @@ -233,17 +233,6 @@ send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻"); 使用例には、[Macros](ja/feature_macros.md) で説明されているように、キーが押された時に Unicode 文字列を送信することが含まれます。 -### `send_unicode_hex_string()` - -`send_unicode_string()` に似ていますが、文字は Unicode コードポイントで表され、16進数で記述され、空白で区切られています。例えば、上記のちゃぶ台返しは以下で表されます: - -```c -send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B"); -``` - -[このサイト](https://r12a.github.io/app-conversion/)で結果を "Hex/UTF-32" で受け取ることで、Unicode 文字列をこの形式に簡単に変換できます。 - - ## 追加の言語サポート `quantum/keymap_extras` には、様々な言語ファイルがあります — これらは Colemak または BÉPO のような代替レイアウトのファイルと同じように動作します。これらの言語ヘッダのいずれかを `#include` すると、その言語/国のレイアウトに固有のキーコードにアクセスできます。このようなキーコードは、2文字の国/言語コードの後に、アンダースコアとキーが対応する4文字の略語が続くことで定義されます。例えば、キーマップに `keymap_french.h` を含め、`FR_UGRV` を使うと、ネイティブのフランス語 AZERTY レイアウトを使うシステムで入力すると、`ù` が出力されます。 diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index 46b77e14bae5..2606ea1f3720 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -16,8 +16,6 @@ #include "process_unicode_common.h" #include "eeprom.h" -#include -#include unicode_config_t unicode_config; uint8_t unicode_saved_mods; @@ -231,37 +229,6 @@ void register_unicode(uint32_t code_point) { unicode_input_finish(); } -// clang-format off - -void send_unicode_hex_string(const char *str) { - if (!str) { - return; - } - - while (*str) { - // Find the next code point (token) in the string - for (; *str == ' '; str++); // Skip leading spaces - size_t n = strcspn(str, " "); // Length of the current token - char code_point[n+1]; - strncpy(code_point, str, n); // Copy token into buffer - code_point[n] = '\0'; // Make sure it's null-terminated - - // Normalize the code point: make all hex digits lowercase - for (char *p = code_point; *p; p++) { - *p = tolower((unsigned char)*p); - } - - // Send the code point as a Unicode input string - unicode_input_start(); - send_string(code_point); - unicode_input_finish(); - - str += n; // Move to the first ' ' (or '\0') after the current token - } -} - -// clang-format on - // Borrowed from https://nullprogram.com/blog/2017/10/06/ static const char *decode_utf8(const char *str, int32_t *code_point) { const char *next; diff --git a/quantum/process_keycode/process_unicode_common.h b/quantum/process_keycode/process_unicode_common.h index 1a6607c757d6..8a4494c9395c 100644 --- a/quantum/process_keycode/process_unicode_common.h +++ b/quantum/process_keycode/process_unicode_common.h @@ -90,7 +90,6 @@ void register_hex(uint16_t hex); void register_hex32(uint32_t hex); void register_unicode(uint32_t code_point); -void send_unicode_hex_string(const char *str); void send_unicode_string(const char *str); bool process_unicode_common(uint16_t keycode, keyrecord_t *record); From ace0603f4f060783ea91c224c0caec6c1b799f15 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 5 Mar 2022 00:25:24 +1100 Subject: [PATCH 0266/1832] Change data driven "str" type to represent a quoted string literal (#16516) * Change data driven "str" type to represent a quoted string literal * Update docs --- data/mappings/info_config.json | 2 +- data/mappings/info_rules.json | 4 ++-- docs/data_driven_config.md | 5 +++-- lib/python/qmk/cli/generate/config_h.py | 9 +++++++-- lib/python/qmk/cli/generate/rules_mk.py | 4 +++- lib/python/qmk/info.py | 10 ++++++++-- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json index cfe8807d4363..6c55f1164794 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.json @@ -3,7 +3,7 @@ { # Format: # : {"info_key": , ["value_type": ], ["to_json": ], ["to_c": ]} - # value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping" + # value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping", "str", "raw" # to_json: Default `true`. Set to `false` to exclude this mapping from info.json # to_c: Default `true`. Set to `false` to exclude this mapping from config.h # warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json index aea67e04c846..f03cadcd44f6 100644 --- a/data/mappings/info_rules.json +++ b/data/mappings/info_rules.json @@ -3,7 +3,7 @@ { # Format: # : {"info_key": , ["value_type": ], ["to_json": ], ["to_c": ]} - # value_type: one of "array", "array.int", "bool", "int", "list", "hex", "mapping" + # value_type: one of "array", "array.int", "bool", "int", "list", "hex", "mapping", "str", "raw" # to_json: Default `true`. Set to `false` to exclude this mapping from info.json # to_c: Default `true`. Set to `false` to exclude this mapping from rules.mk # warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places @@ -20,6 +20,6 @@ "MOUSEKEY_ENABLE": {"info_key": "mouse_key.enabled", "value_type": "bool"}, "NO_USB_STARTUP_CHECK": {"info_key": "usb.no_startup_check", "value_type": "bool"}, "SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"}, - "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "value_type": "str", "to_c": false}, + "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false}, "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"} } diff --git a/docs/data_driven_config.md b/docs/data_driven_config.md index 38fb5dbf1445..cdcf21a19c5b 100644 --- a/docs/data_driven_config.md +++ b/docs/data_driven_config.md @@ -44,7 +44,7 @@ In other cases you should group like options together in an `object`. This is pa In most cases you can add a simple mapping. These are maintained as JSON files in `data/mappings/info_config.json` and `data/mappings/info_rules.json`, and control mapping for `config.h` and `rules.mk`, respectively. Each mapping is keyed by the `config.h` or `rules.mk` variable, and the value is a hash with the following keys: * `info_key`: (required) The location within `info.json` for this value. See below. -* `value_type`: (optional) Default `str`. The format for this variable's value. See below. +* `value_type`: (optional) Default `raw`. The format for this variable's value. See below. * `to_json`: (optional) Default `true`. Set to `false` to exclude this mapping from info.json * `to_c`: (optional) Default `true`. Set to `false` to exclude this mapping from config.h * `warn_duplicate`: (optional) Default `true`. Set to `false` to turn off warning when a value exists in both places @@ -57,7 +57,7 @@ Under the hood we use [Dotty Dict](https://dotty-dict.readthedocs.io/en/latest/) #### Value Types -By default we treat all values as simple strings. If your value is more complex you can use one of these types to intelligently parse the data: +By default we treat all values as unquoted "raw" data. If your value is more complex you can use one of these types to intelligently parse the data: * `array`: A comma separated array of strings * `array.int`: A comma separated array of integers @@ -65,6 +65,7 @@ By default we treat all values as simple strings. If your value is more complex * `hex`: A number formatted as hex * `list`: A space separate array of strings * `mapping`: A hash of key/value pairs +* `str`: A quoted string literal ### Add code to extract it diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index 24bbbdf51726..340ed1043678 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -82,7 +82,7 @@ def generate_config_items(kb_info_json, config_h_lines): for config_key, info_dict in info_config_map.items(): info_key = info_dict['info_key'] - key_type = info_dict.get('value_type', 'str') + key_type = info_dict.get('value_type', 'raw') to_config = info_dict.get('to_config', True) if not to_config: @@ -110,6 +110,11 @@ def generate_config_items(kb_info_json, config_h_lines): config_h_lines.append(f'#ifndef {key}') config_h_lines.append(f'# define {key} {value}') config_h_lines.append(f'#endif // {key}') + elif key_type == 'str': + config_h_lines.append('') + config_h_lines.append(f'#ifndef {config_key}') + config_h_lines.append(f'# define {config_key} "{config_value}"') + config_h_lines.append(f'#endif // {config_key}') elif key_type == 'bcd_version': (major, minor, revision) = config_value.split('.') config_h_lines.append('') @@ -200,7 +205,7 @@ def generate_config_h(cli): cli.args.output.parent.mkdir(parents=True, exist_ok=True) if cli.args.output.exists(): cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak')) - cli.args.output.write_text(config_h) + cli.args.output.write_text(config_h, encoding='utf-8') if not cli.args.quiet: cli.log.info('Wrote info_config.h to %s.', cli.args.output) diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py index ce824f6378e6..a1b10cc945a9 100755 --- a/lib/python/qmk/cli/generate/rules_mk.py +++ b/lib/python/qmk/cli/generate/rules_mk.py @@ -19,7 +19,7 @@ def process_mapping_rule(kb_info_json, rules_key, info_dict): return None info_key = info_dict['info_key'] - key_type = info_dict.get('value_type', 'str') + key_type = info_dict.get('value_type', 'raw') try: rules_value = kb_info_json[info_key] @@ -32,6 +32,8 @@ def process_mapping_rule(kb_info_json, rules_key, info_dict): return f'{rules_key} ?= {"yes" if rules_value else "no"}' elif key_type == 'mapping': return '\n'.join([f'{key} ?= {value}' for key, value in rules_value.items()]) + elif key_type == 'str': + return f'{rules_key} ?= "{rules_value}"' return f'{rules_key} ?= {rules_value}' diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index b86eaa059f11..c399a9f32198 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -411,7 +411,7 @@ def _extract_config_h(info_data): for config_key, info_dict in info_config_map.items(): info_key = info_dict['info_key'] - key_type = info_dict.get('value_type', 'str') + key_type = info_dict.get('value_type', 'raw') try: if config_key in config_c and info_dict.get('to_json', True): @@ -443,6 +443,9 @@ def _extract_config_h(info_data): elif key_type == 'int': dotty_info[info_key] = int(config_c[config_key]) + elif key_type == 'str': + dotty_info[info_key] = config_c[config_key].strip('"') + elif key_type == 'bcd_version': major = int(config_c[config_key][2:4]) minor = int(config_c[config_key][4]) @@ -491,7 +494,7 @@ def _extract_rules_mk(info_data): for rules_key, info_dict in info_rules_map.items(): info_key = info_dict['info_key'] - key_type = info_dict.get('value_type', 'str') + key_type = info_dict.get('value_type', 'raw') try: if rules_key in rules and info_dict.get('to_json', True): @@ -523,6 +526,9 @@ def _extract_rules_mk(info_data): elif key_type == 'int': dotty_info[info_key] = int(rules[rules_key]) + elif key_type == 'str': + dotty_info[info_key] = rules[rules_key].strip('"') + else: dotty_info[info_key] = rules[rules_key] From c0185116d780cee4bf61c70be0221be2e8ce5962 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 4 Mar 2022 17:06:15 +0000 Subject: [PATCH 0267/1832] More validation of declared LAYOUT macro names (#16520) --- data/schemas/definitions.jsonschema | 28 +++++++++++++++++++++++++++- data/schemas/keyboard.jsonschema | 1 + 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index 9fd503a108b0..46aba52cbd3c 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -33,7 +33,33 @@ "oneOf": [ { "type": "string", - "enum": ["LAYOUT", "LAYOUT_planck_1x2uC"] + "enum": [ + "LAYOUT", + "LAYOUT_1x2uC", + "LAYOUT_1x2uL", + "LAYOUT_1x2uR", + "LAYOUT_2x2uC", + "LAYOUT_2x3uC", + "LAYOUT_625uC", + "LAYOUT_ANSI_DEFAULT", + "LAYOUT_JP", + "LAYOUT_ortho_3x12_1x2uC", + "LAYOUT_ortho_4x12_1x2uC", + "LAYOUT_ortho_4x12_1x2uL", + "LAYOUT_ortho_4x12_1x2uR", + "LAYOUT_ortho_5x12_1x2uC", + "LAYOUT_ortho_5x12_2x2uC", + "LAYOUT_ortho_5x14_1x2uC", + "LAYOUT_ortho_5x14_1x2uL", + "LAYOUT_ortho_5x14_1x2uR", + "LAYOUT_planck_1x2uC", + "LAYOUT_planck_1x2uL", + "LAYOUT_planck_1x2uR", + "LAYOUT_preonic_1x2uC", + "LAYOUT_preonic_1x2uL", + "LAYOUT_preonic_1x2uR", + "LAYOUT_reviung34_2uL" + ] }, { "type": "string", diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index fc0844a08606..a8b3d0693384 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -109,6 +109,7 @@ }, "layouts": { "type": "object", + "propertyNames": {"$ref": "qmk.definitions.v1#/layout_macro"}, "additionalProperties": { "type": "object", "additionalProperties": false, From 0be73456408c0509a69ef0893e6e5674ba53ae3e Mon Sep 17 00:00:00 2001 From: Kyle McCreery Date: Fri, 4 Mar 2022 13:10:32 -0500 Subject: [PATCH 0268/1832] [Keyboard] BDE Rev2 (#15877) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/mechwild/bde/bde.c | 17 ++ keyboards/mechwild/bde/bde.h | 26 ++ keyboards/mechwild/bde/config.h | 20 ++ keyboards/mechwild/bde/{righty => }/info.json | 8 +- .../mechwild/bde/keymaps/default/keymap.c | 59 +++++ .../lefty_default}/config.h | 0 .../lefty_default}/keymap.c | 0 .../fancy => keymaps/lefty_fancy}/config.h | 0 .../fancy => keymaps/lefty_fancy}/keymap.c | 0 .../fancy => keymaps/lefty_fancy}/rules.mk | 0 .../via => keymaps/lefty_via}/config.h | 0 .../via => keymaps/lefty_via}/keymap.c | 0 .../via => keymaps/lefty_via}/rules.mk | 0 .../righty_default}/config.h | 0 .../righty_default}/keymap.c | 0 .../via => keymaps/righty_via}/config.h | 0 .../via => keymaps/righty_via}/keymap.c | 0 .../via => keymaps/righty_via}/rules.mk | 0 keyboards/mechwild/bde/keymaps/via/config.h | 22 ++ keyboards/mechwild/bde/keymaps/via/keymap.c | 59 +++++ keyboards/mechwild/bde/keymaps/via/rules.mk | 3 + keyboards/mechwild/bde/lefty/info.json | 14 - keyboards/mechwild/bde/lefty/lefty.c | 3 +- keyboards/mechwild/bde/lib/rev2.c | 244 ++++++++++++++++++ keyboards/mechwild/bde/{lefty => }/readme.md | 8 +- keyboards/mechwild/bde/rev2/config.h | 74 ++++++ keyboards/mechwild/bde/rev2/rev2.c | 88 +++++++ keyboards/mechwild/bde/rev2/rev2.h | 31 +++ keyboards/mechwild/bde/rev2/rules.mk | 3 + keyboards/mechwild/bde/righty/readme.md | 15 -- keyboards/mechwild/bde/righty/righty.c | 3 +- keyboards/mechwild/bde/righty/rules.mk | 19 -- keyboards/mechwild/bde/{lefty => }/rules.mk | 1 + 33 files changed, 657 insertions(+), 60 deletions(-) create mode 100644 keyboards/mechwild/bde/bde.c create mode 100644 keyboards/mechwild/bde/bde.h create mode 100644 keyboards/mechwild/bde/config.h rename keyboards/mechwild/bde/{righty => }/info.json (60%) create mode 100644 keyboards/mechwild/bde/keymaps/default/keymap.c rename keyboards/mechwild/bde/{lefty/keymaps/default => keymaps/lefty_default}/config.h (100%) rename keyboards/mechwild/bde/{lefty/keymaps/default => keymaps/lefty_default}/keymap.c (100%) rename keyboards/mechwild/bde/{lefty/keymaps/fancy => keymaps/lefty_fancy}/config.h (100%) rename keyboards/mechwild/bde/{lefty/keymaps/fancy => keymaps/lefty_fancy}/keymap.c (100%) rename keyboards/mechwild/bde/{lefty/keymaps/fancy => keymaps/lefty_fancy}/rules.mk (100%) rename keyboards/mechwild/bde/{lefty/keymaps/via => keymaps/lefty_via}/config.h (100%) rename keyboards/mechwild/bde/{lefty/keymaps/via => keymaps/lefty_via}/keymap.c (100%) rename keyboards/mechwild/bde/{lefty/keymaps/via => keymaps/lefty_via}/rules.mk (100%) rename keyboards/mechwild/bde/{righty/keymaps/default => keymaps/righty_default}/config.h (100%) rename keyboards/mechwild/bde/{righty/keymaps/default => keymaps/righty_default}/keymap.c (100%) rename keyboards/mechwild/bde/{righty/keymaps/via => keymaps/righty_via}/config.h (100%) rename keyboards/mechwild/bde/{righty/keymaps/via => keymaps/righty_via}/keymap.c (100%) rename keyboards/mechwild/bde/{righty/keymaps/via => keymaps/righty_via}/rules.mk (100%) create mode 100644 keyboards/mechwild/bde/keymaps/via/config.h create mode 100644 keyboards/mechwild/bde/keymaps/via/keymap.c create mode 100644 keyboards/mechwild/bde/keymaps/via/rules.mk delete mode 100644 keyboards/mechwild/bde/lefty/info.json create mode 100644 keyboards/mechwild/bde/lib/rev2.c rename keyboards/mechwild/bde/{lefty => }/readme.md (74%) create mode 100644 keyboards/mechwild/bde/rev2/config.h create mode 100644 keyboards/mechwild/bde/rev2/rev2.c create mode 100644 keyboards/mechwild/bde/rev2/rev2.h create mode 100644 keyboards/mechwild/bde/rev2/rules.mk delete mode 100644 keyboards/mechwild/bde/righty/readme.md delete mode 100644 keyboards/mechwild/bde/righty/rules.mk rename keyboards/mechwild/bde/{lefty => }/rules.mk (94%) diff --git a/keyboards/mechwild/bde/bde.c b/keyboards/mechwild/bde/bde.c new file mode 100644 index 000000000000..911d1c043499 --- /dev/null +++ b/keyboards/mechwild/bde/bde.c @@ -0,0 +1,17 @@ +/* Copyright 2022 Kyle McCreery + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bde.h" diff --git a/keyboards/mechwild/bde/bde.h b/keyboards/mechwild/bde/bde.h new file mode 100644 index 000000000000..3d16bdb8db8d --- /dev/null +++ b/keyboards/mechwild/bde/bde.h @@ -0,0 +1,26 @@ +/* Copyright 2022 Kyle McCreery + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#ifdef KEYBOARD_mechwild_bde_rev2 + #include "rev2.h" +#elif KEYBOARD_mechwild_bde_lefty + #include "lefty.h" +#elif KEYBOARD_mechwild_bde_righty + #include "righty.h" +#endif diff --git a/keyboards/mechwild/bde/config.h b/keyboards/mechwild/bde/config.h new file mode 100644 index 000000000000..5130918c083e --- /dev/null +++ b/keyboards/mechwild/bde/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2022 Kyle McCreery + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" \ No newline at end of file diff --git a/keyboards/mechwild/bde/righty/info.json b/keyboards/mechwild/bde/info.json similarity index 60% rename from keyboards/mechwild/bde/righty/info.json rename to keyboards/mechwild/bde/info.json index 93b84e287227..f1aa8ea7f93f 100644 --- a/keyboards/mechwild/bde/righty/info.json +++ b/keyboards/mechwild/bde/info.json @@ -1,13 +1,13 @@ { - "keyboard_name": "MechWild BDE Righty", + "keyboard_name": "MechWild BDE Rev2", "url": "mechwild.com", "maintainer": "kylemccreery", "layouts": { "LAYOUT": { "layout": [ - {"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"0", "x":10, "y":0}, {"label":"7", "x":11, "y":0}, {"label":"8", "x":12, "y":0}, {"label":"9", "x":13, "y":0}, - {"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":"ESC", "x":9, "y":1}, {"label":"Enter", "x":10, "y":1, "h":2}, {"label":"4", "x":11, "y":1}, {"label":"5", "x":12, "y":1}, {"label":"6", "x":13, "y":1}, - {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"BS", "x":4, "y":2}, {"label":"", "x":5, "y":2}, {"label":"B", "x":6, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":"ENT", "x":9, "y":2}, {"label":"1", "x":11, "y":2}, {"label":"2", "x":12, "y":2}, {"label":"3", "x":13, "y":2} + {"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"7", "x":10, "y":0}, {"label":"8", "x":11, "y":0}, {"label":"9", "x":12, "y":0}, {"label":"Mute", "x":13, "y":0}, + {"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":"ESC", "x":9, "y":1}, {"label":"4", "x":10, "y":1}, {"label":"5", "x":11, "y":1}, {"label":"6", "x":12, "y":1}, {"label":"0", "x":13, "y":1,}, + {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"BS", "x":4, "y":2}, {"label":"", "x":5, "y":2}, {"label":"B", "x":6, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":"ENT", "x":9, "y":2}, {"label":"1", "x":10, "y":2}, {"label":"2", "x":11, "y":2}, {"label":"3", "x":12, "y":2}, {"label":"EQL", "x":13, "y":2,} ] } } diff --git a/keyboards/mechwild/bde/keymaps/default/keymap.c b/keyboards/mechwild/bde/keymaps/default/keymap.c new file mode 100644 index 000000000000..63f5e51f357e --- /dev/null +++ b/keyboards/mechwild/bde/keymaps/default/keymap.c @@ -0,0 +1,59 @@ +/* Copyright 2022 Kyle McCreery + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#include QMK_KEYBOARD_H + +#define FN1_BSPC LT(1, KC_BSPC) +#define FN2_SPC LT(2, KC_SPC) +#define FN3_B LT(3, KC_B) +#define CTL_Z CTL_T(KC_Z) +#define ALT_X ALT_T(KC_X) +#define ALT_N ALGR_T(KC_N) +#define CTL_M RCTL_T(KC_M) +#define SFT_ENT RSFT_T(KC_ENT) +#define WIN_C LGUI_T(KC_C) + +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_P7, KC_P8, KC_P9, KC_MUTE, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_P4, KC_P5, KC_P6, KC_P0, + CTL_Z, ALT_X, WIN_C, KC_V, FN1_BSPC, FN2_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT, KC_P1, KC_P2, KC_P3, KC_MINS + ), + [_FN1] = LAYOUT( + _______, _______, _______, RESET, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK, + _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_SCLN, KC_QUOT, KC_4, KC_5, KC_6, KC_0, + _______, _______, _______, _______, _______, KC_TAB, KC_LGUI, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_2, KC_3, KC_EQL + ), + [_FN2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_PIPE, KC_AMPR, KC_ASTR, KC_LPRN, KC_CLCK, + _______, _______, _______, _______, _______, _______, _______, KC_TILD, KC_COLN, KC_DQUO, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN, + _______, _______, _______, _______, KC_DEL, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_EXLM, KC_AT, KC_HASH, KC_PLUS + ), + [_FN3] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/mechwild/bde/lefty/keymaps/default/config.h b/keyboards/mechwild/bde/keymaps/lefty_default/config.h similarity index 100% rename from keyboards/mechwild/bde/lefty/keymaps/default/config.h rename to keyboards/mechwild/bde/keymaps/lefty_default/config.h diff --git a/keyboards/mechwild/bde/lefty/keymaps/default/keymap.c b/keyboards/mechwild/bde/keymaps/lefty_default/keymap.c similarity index 100% rename from keyboards/mechwild/bde/lefty/keymaps/default/keymap.c rename to keyboards/mechwild/bde/keymaps/lefty_default/keymap.c diff --git a/keyboards/mechwild/bde/lefty/keymaps/fancy/config.h b/keyboards/mechwild/bde/keymaps/lefty_fancy/config.h similarity index 100% rename from keyboards/mechwild/bde/lefty/keymaps/fancy/config.h rename to keyboards/mechwild/bde/keymaps/lefty_fancy/config.h diff --git a/keyboards/mechwild/bde/lefty/keymaps/fancy/keymap.c b/keyboards/mechwild/bde/keymaps/lefty_fancy/keymap.c similarity index 100% rename from keyboards/mechwild/bde/lefty/keymaps/fancy/keymap.c rename to keyboards/mechwild/bde/keymaps/lefty_fancy/keymap.c diff --git a/keyboards/mechwild/bde/lefty/keymaps/fancy/rules.mk b/keyboards/mechwild/bde/keymaps/lefty_fancy/rules.mk similarity index 100% rename from keyboards/mechwild/bde/lefty/keymaps/fancy/rules.mk rename to keyboards/mechwild/bde/keymaps/lefty_fancy/rules.mk diff --git a/keyboards/mechwild/bde/lefty/keymaps/via/config.h b/keyboards/mechwild/bde/keymaps/lefty_via/config.h similarity index 100% rename from keyboards/mechwild/bde/lefty/keymaps/via/config.h rename to keyboards/mechwild/bde/keymaps/lefty_via/config.h diff --git a/keyboards/mechwild/bde/lefty/keymaps/via/keymap.c b/keyboards/mechwild/bde/keymaps/lefty_via/keymap.c similarity index 100% rename from keyboards/mechwild/bde/lefty/keymaps/via/keymap.c rename to keyboards/mechwild/bde/keymaps/lefty_via/keymap.c diff --git a/keyboards/mechwild/bde/lefty/keymaps/via/rules.mk b/keyboards/mechwild/bde/keymaps/lefty_via/rules.mk similarity index 100% rename from keyboards/mechwild/bde/lefty/keymaps/via/rules.mk rename to keyboards/mechwild/bde/keymaps/lefty_via/rules.mk diff --git a/keyboards/mechwild/bde/righty/keymaps/default/config.h b/keyboards/mechwild/bde/keymaps/righty_default/config.h similarity index 100% rename from keyboards/mechwild/bde/righty/keymaps/default/config.h rename to keyboards/mechwild/bde/keymaps/righty_default/config.h diff --git a/keyboards/mechwild/bde/righty/keymaps/default/keymap.c b/keyboards/mechwild/bde/keymaps/righty_default/keymap.c similarity index 100% rename from keyboards/mechwild/bde/righty/keymaps/default/keymap.c rename to keyboards/mechwild/bde/keymaps/righty_default/keymap.c diff --git a/keyboards/mechwild/bde/righty/keymaps/via/config.h b/keyboards/mechwild/bde/keymaps/righty_via/config.h similarity index 100% rename from keyboards/mechwild/bde/righty/keymaps/via/config.h rename to keyboards/mechwild/bde/keymaps/righty_via/config.h diff --git a/keyboards/mechwild/bde/righty/keymaps/via/keymap.c b/keyboards/mechwild/bde/keymaps/righty_via/keymap.c similarity index 100% rename from keyboards/mechwild/bde/righty/keymaps/via/keymap.c rename to keyboards/mechwild/bde/keymaps/righty_via/keymap.c diff --git a/keyboards/mechwild/bde/righty/keymaps/via/rules.mk b/keyboards/mechwild/bde/keymaps/righty_via/rules.mk similarity index 100% rename from keyboards/mechwild/bde/righty/keymaps/via/rules.mk rename to keyboards/mechwild/bde/keymaps/righty_via/rules.mk diff --git a/keyboards/mechwild/bde/keymaps/via/config.h b/keyboards/mechwild/bde/keymaps/via/config.h new file mode 100644 index 000000000000..d09385ca5d95 --- /dev/null +++ b/keyboards/mechwild/bde/keymaps/via/config.h @@ -0,0 +1,22 @@ +/* Copyright 2022 Kyle McCreery + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +/* Making it so you need to hold the modifier and other key for the time together, helps not accidentally hit activate the hold functions of bottom row*/ +#define IGNORE_MOD_TAP_INTERRUPT + +/* Setting tap term, helps not accidentally hit activate the hold functions of bottom row*/ +#define TAPPING_TERM 250 diff --git a/keyboards/mechwild/bde/keymaps/via/keymap.c b/keyboards/mechwild/bde/keymaps/via/keymap.c new file mode 100644 index 000000000000..30018d1d7e05 --- /dev/null +++ b/keyboards/mechwild/bde/keymaps/via/keymap.c @@ -0,0 +1,59 @@ +/* Copyright 2022 Kyle McCreery + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#include QMK_KEYBOARD_H + +#define FN1_BSPC LT(1, KC_BSPC) +#define FN2_SPC LT(2, KC_SPC) +#define FN3_B LT(3, KC_B) +#define CTL_Z CTL_T(KC_Z) +#define ALT_X ALT_T(KC_X) +#define ALT_N ALGR_T(KC_N) +#define CTL_M RCTL_T(KC_M) +#define SFT_ENT RSFT_T(KC_ENT) +#define WIN_C LGUI_T(KC_C) + +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_P7, KC_P8, KC_P9, KC_MUTE, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_P4, KC_P5, KC_P6, KC_P0, + CTL_Z, ALT_X, WIN_C, KC_V, FN1_BSPC, FN2_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT, KC_P1, KC_P2, KC_P3, KC_MINS + ), + [_FN1] = LAYOUT( + _______, _______, _______, RESET, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK, + _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_SCLN, KC_QUOT, KC_4, KC_5, KC_6, KC_0, + _______, _______, _______, _______, _______, KC_TAB, KC_LGUI, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_2, KC_3, KC_EQL + ), + [_FN2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_PIPE, KC_AMPR, KC_ASTR, KC_LPRN, KC_CLCK, + _______, _______, _______, _______, _______, _______, _______, KC_TILD, KC_COLN, KC_DQUO, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN, + _______, _______, _______, _______, KC_DEL, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_EXLM, KC_AT, KC_HASH, KC_PLUS + ), + [_FN3] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD + ) + +}; diff --git a/keyboards/mechwild/bde/keymaps/via/rules.mk b/keyboards/mechwild/bde/keymaps/via/rules.mk new file mode 100644 index 000000000000..07681b4f2cc4 --- /dev/null +++ b/keyboards/mechwild/bde/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +RGBLIGHT_ENABLE = yes +VIA_ENABLE = yes +LTO_ENABLE = no diff --git a/keyboards/mechwild/bde/lefty/info.json b/keyboards/mechwild/bde/lefty/info.json deleted file mode 100644 index f955618e94db..000000000000 --- a/keyboards/mechwild/bde/lefty/info.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "keyboard_name": "MechWild BDE Lefty", - "url": "mechwild.com", - "maintainer": "kylemccreery", - "layouts": { - "LAYOUT": { - "layout": [ - {"label":"7", "x":0, "y":0}, {"label":"8", "x":1, "y":0}, {"label":"9", "x":2, "y":0}, {"label":"0", "x":3, "y":0}, {"label":"Q", "x":4, "y":0}, {"label":"W", "x":5, "y":0}, {"label":"E", "x":6, "y":0}, {"label":"R", "x":7, "y":0}, {"label":"T", "x":8, "y":0}, {"label":"Y", "x":9, "y":0}, {"label":"U", "x":10, "y":0}, {"label":"I", "x":11, "y":0}, {"label":"O", "x":12, "y":0}, {"label":"P", "x":13, "y":0}, - {"label":"4", "x":0, "y":1}, {"label":"5", "x":1, "y":1}, {"label":"6", "x":2, "y":1}, {"label":"Enter", "x":3, "y":1, "h":2}, {"label":"A", "x":4, "y":1}, {"label":"S", "x":5, "y":1}, {"label":"D", "x":6, "y":1}, {"label":"F", "x":7, "y":1}, {"label":"G", "x":8, "y":1}, {"label":"H", "x":9, "y":1}, {"label":"J", "x":10, "y":1}, {"label":"K", "x":11, "y":1}, {"label":"L", "x":12, "y":1}, {"label":"ESC", "x":13, "y":1}, - {"label":"1", "x":0, "y":2}, {"label":"2", "x":1, "y":2}, {"label":"3", "x":2, "y":2}, {"label":"Z", "x":4, "y":2}, {"label":"X", "x":5, "y":2}, {"label":"C", "x":6, "y":2}, {"label":"V", "x":7, "y":2}, {"label":"BS", "x":8, "y":2}, {"label":"", "x":9, "y":2}, {"label":"B", "x":10, "y":2}, {"label":"N", "x":11, "y":2}, {"label":"M", "x":12, "y":2}, {"label":"ENT", "x":13, "y":2} - ] - } - } -} diff --git a/keyboards/mechwild/bde/lefty/lefty.c b/keyboards/mechwild/bde/lefty/lefty.c index 77286f5af30d..6873ed36a0e0 100644 --- a/keyboards/mechwild/bde/lefty/lefty.c +++ b/keyboards/mechwild/bde/lefty/lefty.c @@ -14,5 +14,4 @@ * along with this program. If not, see . */ - -#include "lefty.h" +#include "bde.h" diff --git a/keyboards/mechwild/bde/lib/rev2.c b/keyboards/mechwild/bde/lib/rev2.c new file mode 100644 index 000000000000..d2a77201174b --- /dev/null +++ b/keyboards/mechwild/bde/lib/rev2.c @@ -0,0 +1,244 @@ +/* Copyright 2020 Kyle McCreery + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "progmem.h" + +const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7E, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF, + 0xFE, 0xF8, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFE, + 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x3E, + 0xE0, 0x80, 0x70, 0x0E, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x3C, 0xE0, + 0x80, 0x78, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF, + 0xFE, 0xF8, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFE, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x3E, 0xE0, 0x80, 0x70, 0x0E, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, + 0x3C, 0xE0, 0x80, 0x78, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x1F, + 0x07, 0x1F, 0xFF, 0xFE, 0xF0, 0xC0, + 0xF8, 0xFF, 0xF7, 0x07, 0x07, 0x7F, + 0xFF, 0xFF, 0xF8, 0x00, 0xC0, 0x38, + 0x0C, 0x18, 0x60, 0x80, 0x00, 0x00, + 0x00, 0xF0, 0x0C, 0x04, 0xF4, 0x1C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xC0, 0xFC, 0xE6, 0xC3, 0xC1, + 0xC1, 0xC3, 0xE6, 0xFC, 0xC0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF8, 0xFF, 0xF7, 0x07, + 0x07, 0x1F, 0xFF, 0xFE, 0xF0, 0xC0, + 0xF8, 0x3F, 0x8F, 0x0F, 0x3F, 0xFF, + 0xFF, 0xFE, 0x80, 0xF0, 0x0C, 0x04, + 0xF4, 0x1C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x1F, 0x1F, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x1F, 0x1F, + 0x0F, 0x01, 0x03, 0x06, 0xF8, 0x00, + 0x07, 0x7F, 0x3F, 0x0E, 0xC1, 0x38, + 0x07, 0x0E, 0x70, 0x83, 0x1C, 0x60, + 0x1E, 0x03, 0xC0, 0x3E, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3F, 0x7F, 0xFF, 0xFF, 0xF9, 0xC0, + 0xC0, 0xF9, 0xFF, 0xFF, 0x7F, 0x3F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x1F, 0x1F, 0x07, 0x06, + 0xF8, 0x00, 0x00, 0x73, 0x3F, 0x0F, + 0xC1, 0x38, 0x07, 0x0F, 0x70, 0x83, + 0x07, 0x7F, 0x1F, 0x03, 0xC0, 0x3E, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/mechwild/bde/lefty/readme.md b/keyboards/mechwild/bde/readme.md similarity index 74% rename from keyboards/mechwild/bde/lefty/readme.md rename to keyboards/mechwild/bde/readme.md index 88e7be02025d..5481b4716000 100644 --- a/keyboards/mechwild/bde/lefty/readme.md +++ b/keyboards/mechwild/bde/readme.md @@ -1,15 +1,15 @@ # BIG DILL EXTENDED -![BIG DILL EXTENDED](https://i0.wp.com/mechwild.com/wp-content/uploads/2020/10/IMG_4458_web.jpg) +![BIG DILL EXTENDED](https://i.imgur.com/hraQxsRh.png) -A 41 key keyboard. +A 42 key keyboard. * Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery) -* Hardware Supported: BDE v2.3 Lefty +* Hardware Supported: BDE Rev1 v2.3, BDE Rev2 v1.1 * Hardware Availability: [BIG DILL EXTENDED on MechWild](https://mechwild.com/product/big-dill-extended-bde/) Make example for this keyboard (after setting up your build environment): - make mechwild/bde/lefty:default + make mechwild/bde:default 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/mechwild/bde/rev2/config.h b/keyboards/mechwild/bde/rev2/config.h new file mode 100644 index 000000000000..ca14cf784d25 --- /dev/null +++ b/keyboards/mechwild/bde/rev2/config.h @@ -0,0 +1,74 @@ +/* +Copyright 2022 Kyle McCreery + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6D77 // mw = "MechWild" +#define PRODUCT_ID 0x170A +#define DEVICE_VER 0x0101 +#define MANUFACTURER MechWild +#define PRODUCT BDE Rev2 + +/* Key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 7 + +/* Key matrix pins */ +#define MATRIX_ROW_PINS { C6, D7, B4, D4, E6, B2 } +#define MATRIX_COL_PINS { B3, B1, F7, F6, F5, F4, B5 } +#define UNUSED_PINS + +/* Encoder pins */ +#define ENCODERS_PAD_A { D3 } +#define ENCODERS_PAD_B { D2 } + +/* Encoder resolution */ +#define ENCODER_RESOLUTION 4 +#define TAP_CODE_DELAY 10 + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define OLED_FONT_H "keyboards/mechwild/bde/lib/rev2.c" + +#define RGB_DI_PIN B6 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 8 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== Chosen enabled animations ==*/ +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/mechwild/bde/rev2/rev2.c b/keyboards/mechwild/bde/rev2/rev2.c new file mode 100644 index 000000000000..88c06988d9f5 --- /dev/null +++ b/keyboards/mechwild/bde/rev2/rev2.c @@ -0,0 +1,88 @@ +/* Copyright 2022 Kyle McCreery + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#include "bde.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + switch (index) { + case 0: + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + } + return true; +} +#endif + +#ifdef OLED_ENABLE + oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; // flips the display 270 degrees + } + + static void render_logo(void) { // Render MechWild "MW" Logo + static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00}; + static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00}; + static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00}; + static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00}; + oled_set_cursor(0,0); + oled_write_P(logo_1, false); + oled_set_cursor(0,1); + oled_write_P(logo_2, false); + oled_set_cursor(0,2); + oled_write_P(logo_3, false); + oled_set_cursor(0,3); + oled_write_P(logo_4, false); + } + + bool oled_task_user(void) { + render_logo(); + oled_set_cursor(0,6); + + oled_write_ln_P(PSTR("Layer"), false); + + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln_P(PSTR("Base"), false); + break; + case 1: + oled_write_ln_P(PSTR("FN 1"), false); + break; + case 2: + oled_write_ln_P(PSTR("FN 2"), false); + break; + case 3: + oled_write_ln_P(PSTR("FN 3"), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + } + oled_write_ln_P(PSTR(""), false); + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); + + return false; + + } +#endif diff --git a/keyboards/mechwild/bde/rev2/rev2.h b/keyboards/mechwild/bde/rev2/rev2.h new file mode 100644 index 000000000000..8c8191710a7a --- /dev/null +++ b/keyboards/mechwild/bde/rev2/rev2.h @@ -0,0 +1,31 @@ +/* Copyright 2022 Kyle McCreery + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,\ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06 }, \ + { K10, K11, K12, K13, K14, K15, K16 }, \ + { K20, K21, K22, K23, K24, K25, K26 }, \ + { K0D, K0C, K0B, K0A, K09, K08, K07 }, \ + { K1D, K1C, K1B, K1A, K19, K18, K17 }, \ + { K2D, K2C, K2B, K2A, K29, K28, K27 } \ +} diff --git a/keyboards/mechwild/bde/rev2/rules.mk b/keyboards/mechwild/bde/rev2/rules.mk new file mode 100644 index 000000000000..307b1ef79746 --- /dev/null +++ b/keyboards/mechwild/bde/rev2/rules.mk @@ -0,0 +1,3 @@ +ENCODER_ENABLE = yes # Enable encoder +OLED_ENABLE = yes # Enable OLED Screen +OLED_DRIVER = SSD1306 # Set OLED Driver diff --git a/keyboards/mechwild/bde/righty/readme.md b/keyboards/mechwild/bde/righty/readme.md deleted file mode 100644 index 619ea61f003f..000000000000 --- a/keyboards/mechwild/bde/righty/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# BIG DILL EXTENDED - -![BIG DILL EXTENDED](https://i0.wp.com/mechwild.com/wp-content/uploads/2020/10/IMG_4458_web.jpg) - -A 41 key keyboard. - -* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery) -* Hardware Supported: BDE v2.3 Righty -* Hardware Availability: [BIG DILL EXTENDED on MechWild](https://mechwild.com/product/big-dill-extended-bde/) - -Make example for this keyboard (after setting up your build environment): - - make mechwild/bde/righty:default - -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/mechwild/bde/righty/righty.c b/keyboards/mechwild/bde/righty/righty.c index d285e2e559a2..6873ed36a0e0 100644 --- a/keyboards/mechwild/bde/righty/righty.c +++ b/keyboards/mechwild/bde/righty/righty.c @@ -14,5 +14,4 @@ * along with this program. If not, see . */ - -#include "righty.h" +#include "bde.h" diff --git a/keyboards/mechwild/bde/righty/rules.mk b/keyboards/mechwild/bde/righty/rules.mk deleted file mode 100644 index ba23033c8212..000000000000 --- a/keyboards/mechwild/bde/righty/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = caterina - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output - diff --git a/keyboards/mechwild/bde/lefty/rules.mk b/keyboards/mechwild/bde/rules.mk similarity index 94% rename from keyboards/mechwild/bde/lefty/rules.mk rename to keyboards/mechwild/bde/rules.mk index ba23033c8212..2ae725a20b31 100644 --- a/keyboards/mechwild/bde/lefty/rules.mk +++ b/keyboards/mechwild/bde/rules.mk @@ -17,3 +17,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output +DEFAULT_FOLDER = mechwild/bde/rev2 From 7d41639d549c7db0763d6769a089794b6050c99f Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 5 Mar 2022 11:20:34 +1100 Subject: [PATCH 0269/1832] Map data driven `DESCRIPTION` as string literal (#16523) --- data/mappings/info_config.json | 2 +- keyboards/sowbug/68keys/config.h | 1 - keyboards/sowbug/ansi_tkl/config.h | 1 - keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h | 1 - keyboards/xelus/ninjin/config.h | 1 - lib/python/qmk/tests/test_cli_commands.py | 2 +- 6 files changed, 2 insertions(+), 6 deletions(-) diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json index 6c55f1164794..2121741d1996 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.json @@ -17,7 +17,7 @@ "DEVICE_VER": {"info_key": "usb.device_ver", "value_type": "hex"}, # TODO: Replace ^^^ with vvv #"DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"}, - "DESCRIPTION": {"info_key": "keyboard_folder", "to_json": false}, + "DESCRIPTION": {"info_key": "keyboard_folder", "value_type": "str", "to_json": false}, "DIODE_DIRECTION": {"info_key": "diode_direction"}, "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"}, "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"}, diff --git a/keyboards/sowbug/68keys/config.h b/keyboards/sowbug/68keys/config.h index 0aad9a457470..0721302dbe1e 100644 --- a/keyboards/sowbug/68keys/config.h +++ b/keyboards/sowbug/68keys/config.h @@ -26,7 +26,6 @@ #define DEVICE_VER 0x0001 #define MANUFACTURER github.com/sowbug #define PRODUCT 68-key keyboard -#define DESCRIPTION A 68-key keyboard based on 68keys.io // key matrix size #define MATRIX_ROWS 5 diff --git a/keyboards/sowbug/ansi_tkl/config.h b/keyboards/sowbug/ansi_tkl/config.h index 505453b72b55..44e82bbac734 100644 --- a/keyboards/sowbug/ansi_tkl/config.h +++ b/keyboards/sowbug/ansi_tkl/config.h @@ -26,7 +26,6 @@ #define DEVICE_VER 0x0001 #define MANUFACTURER github.com/sowbug #define PRODUCT ANSI TKL -#define DESCRIPTION A tenkeyless ANSI-layout keyboard // key matrix size #define MATRIX_ROWS 6 diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h index 7bd5b224dff1..597d287b077c 100644 --- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h +++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h @@ -23,7 +23,6 @@ #define DEVICE_VER 0x0001 #define MANUFACTURER Unicomp/Purdea Andrei #define PRODUCT Unicomp Spacesaver M -#define DESCRIPTION QMK firmware for the Unicomp Spacesaver M keyboard with a replacement Overnumpad controller #define SERIAL_NUMBER "purdea.ro:overnumpad_controller" /* key matrix size */ diff --git a/keyboards/xelus/ninjin/config.h b/keyboards/xelus/ninjin/config.h index cbaca37b5edc..4dd40210a66a 100644 --- a/keyboards/xelus/ninjin/config.h +++ b/keyboards/xelus/ninjin/config.h @@ -22,7 +22,6 @@ #define DEVICE_VER 0x0001 #define MANUFACTURER Xelus #define PRODUCT Ninjin -#define DESCRIPTION Ninjin /* key matrix size */ #define MATRIX_ROWS 6 diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index d5cf1841c9ae..d40d4bf57394 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -259,7 +259,7 @@ def test_generate_config_h(): result = check_subcommand('generate-config-h', '-kb', 'handwired/pytest/basic') check_returncode(result) assert '# define DEVICE_VER 0x0001' in result.stdout - assert '# define DESCRIPTION handwired/pytest/basic' in result.stdout + assert '# define DESCRIPTION "handwired/pytest/basic"' in result.stdout assert '# define DIODE_DIRECTION COL2ROW' in result.stdout assert '# define MANUFACTURER none' in result.stdout assert '# define PRODUCT pytest' in result.stdout From 82dd84e257db8e5fd1eb33c152a0026ee5bee7fe Mon Sep 17 00:00:00 2001 From: yulei Date: Sat, 5 Mar 2022 12:57:19 +0800 Subject: [PATCH 0270/1832] support more leds (#15840) --- keyboards/neson_design/n6/config.h | 19 +-- .../neson_design/n6/keymaps/via/keymap.c | 8 +- keyboards/neson_design/n6/n6.c | 132 +++++++++++++----- 3 files changed, 114 insertions(+), 45 deletions(-) diff --git a/keyboards/neson_design/n6/config.h b/keyboards/neson_design/n6/config.h index 4a9d3c56c69b..2f564ab4c4cb 100644 --- a/keyboards/neson_design/n6/config.h +++ b/keyboards/neson_design/n6/config.h @@ -50,17 +50,20 @@ //#define NO_PRINT +#define DRIVER_1_LED_TOTAL 32 +#define DRIVER_2_LED_TOTAL 32 +#define DRIVER_ADDR_1 0b1110100 +#define DRIVER_ADDR_2 0b1110111 +#define DRIVER_COUNT 2 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) + +#define LED_CAPS_LOCK_PIN F5 + //rgb light setting -//#define RGBLIGHT_LIMIT_VAL 128 -#define RGBLED_NUM 33 +#define RGBLED_NUM 65 #define RGB_DI_PIN B3 #define RGBLIGHT_ANIMATIONS #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 - -#define DRIVER_ADDR_1 0b1110100 -#define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 32 - -#define CAPS_PIN F5 +#define RGBLIGHT_LIMIT_VAL 192 diff --git a/keyboards/neson_design/n6/keymaps/via/keymap.c b/keyboards/neson_design/n6/keymaps/via/keymap.c index 66156956d5ae..2d8d24b980b0 100644 --- a/keyboards/neson_design/n6/keymaps/via/keymap.c +++ b/keyboards/neson_design/n6/keymaps/via/keymap.c @@ -19,16 +19,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_65_ansi_blocker_split_bs( - 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_DEL, KC_BSPC, KC_PSCR, + 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_DEL, KC_BSPC, KC_DEL, 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_HOME, 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, 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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_LEFT,KC_DOWN, KC_RIGHT), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), [1] = LAYOUT_65_ansi_blocker_split_bs( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______, - RESET, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, _______, - _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, _______, + RESET, RGB_TOG,RGB_MOD,RGB_RMOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_MUTE,KC_VOLU,KC_VOLD,_______, _______, + _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, _______,_______,_______, _______, _______,_______, _______,_______,_______), diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c index e99467fa0c79..4d5927cae1cb 100644 --- a/keyboards/neson_design/n6/n6.c +++ b/keyboards/neson_design/n6/n6.c @@ -34,7 +34,7 @@ enum { }; // alert state update interval -#define ALERT_INTERVAL 600 +#define ALERT_INTERVAL 500 // self testing state update interval #define ST_INTERVAL 100 // self testing start index @@ -46,6 +46,26 @@ enum { // self testing stage end duration #define ST_END_DURATION 10 +// led index +#define ST_LEFT_BEGIN 0 +#ifdef DRIVER_ADDR_2 +#define ST_LEFT_SIZE 4 +#else +#define ST_LEFT_SIZE 2 +#endif +#define ST_LEFT_END (ST_LEFT_BEGIN+ST_LEFT_SIZE-1) +#ifdef DRIVER_ADDR_2 +#define ST_RIGHT_BEGIN 60 +#else +#define ST_RIGHT_BEGIN 30 +#endif +#ifdef DRIVER_ADDR_2 +#define ST_RIGHT_SIZE 4 +#else +#define ST_RIGHT_SIZE 2 +#endif +#define ST_RIGHT_END (ST_RIGHT_BEGIN+ST_RIGHT_SIZE-1) + #ifdef RGBLIGHT_ENABLE extern rgblight_config_t rgblight_config; @@ -94,21 +114,21 @@ static void self_testing(void) IS31FL3731_set_color_all(0, 0, 0); } - if (rgb_state.index >= 1) { - for (int i = rgb_state.index-1; i < 32-rgb_state.index+1; i++) { + if (rgb_state.index >= ST_LEFT_END) { + for (int i = rgb_state.index - 1; i < DRIVER_LED_TOTAL - rgb_state.index + 1; i++) { IS31FL3731_set_color(i, led.r, led.g, led.b); } - if (rgb_state.index==1) { - rgb_state.index=0; + if (rgb_state.index == ST_LEFT_END) { + rgb_state.index = ST_LEFT_BEGIN; } else { - rgb_state.index -= 2; + rgb_state.index -= ST_LEFT_SIZE; } } else{ if (rgb_state.delay > 0) { rgb_state.delay--; } else { // move to stage 2 - rgb_state.index = 2; + rgb_state.index = ST_LEFT_BEGIN+ST_LEFT_SIZE; rgb_state.testing = ST_STAGE_2; } } @@ -116,28 +136,32 @@ static void self_testing(void) case ST_STAGE_2: { // clear all IS31FL3731_set_color_all(0, 0, 0); + int i = 0; // light left and right - IS31FL3731_set_color(0, led.r, led.g, led.b); - IS31FL3731_set_color(1, led.r, led.g, led.b); - IS31FL3731_set_color(30, led.r, led.g, led.b); - IS31FL3731_set_color(31, led.r, led.g, led.b); + for (i = 0; i < ST_LEFT_SIZE; i++) { + IS31FL3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b); + } + for (i = 0; i < ST_RIGHT_SIZE; i++) { + IS31FL3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b); + + } if (rgb_state.dir) { // left to right - for (int i = rgb_state.index; i < rgb_state.index+4; i++) { + for (int i = rgb_state.index; i < rgb_state.index+ST_LEFT_SIZE+ST_RIGHT_SIZE; i++) { IS31FL3731_set_color(i, led.r, led.g, led.b); } - rgb_state.index += 4; - if (rgb_state.index == 30) { + rgb_state.index += ST_LEFT_SIZE+ST_RIGHT_SIZE; + if (rgb_state.index == ST_RIGHT_BEGIN) { rgb_state.dir = !rgb_state.dir; rgb_state.count--; } } else { // right to left - for (int i = rgb_state.index-4; i < rgb_state.index; i++) { + for (int i = rgb_state.index - ST_RIGHT_SIZE; i < rgb_state.index; i++) { IS31FL3731_set_color(i, led.r, led.g, led.b); } - rgb_state.index -= 4; - if (rgb_state.index == 2) { + rgb_state.index -= ST_LEFT_SIZE + ST_RIGHT_SIZE; + if (rgb_state.index == ST_LEFT_BEGIN+ST_LEFT_SIZE) { rgb_state.dir = !rgb_state.dir; rgb_state.count--; } @@ -153,13 +177,13 @@ static void self_testing(void) } break; case ST_STAGE_3: - if (rgb_state.index != 16) { + if (rgb_state.index != DRIVER_LED_TOTAL/2) { IS31FL3731_set_color_all(0, 0, 0); } // light left and right - if (rgb_state.index == 16) { + if (rgb_state.index == DRIVER_LED_TOTAL/2) { if (rgb_state.duration) { rgb_state.duration--; } else { @@ -176,7 +200,7 @@ static void self_testing(void) IS31FL3731_set_color(i, led.r, led.g, led.b); } // right - for (int i = 31; i > 31-rgb_state.index-1; i--) { + for (int i = ST_RIGHT_END; i > ST_RIGHT_END - rgb_state.index - 1; i--) { IS31FL3731_set_color(i, led.r, led.g, led.b); } rgb_state.index ++; @@ -230,27 +254,66 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {0, C9_14, C8_14, C7_14}, {0, C9_15, C8_15, C6_14}, {0, C9_16, C7_15, C6_15}, + + // right CA + {1, C1_1, C3_2, C4_2}, + {1, C1_2, C2_2, C4_3}, + {1, C1_3, C2_3, C3_3}, + {1, C1_4, C2_4, C3_4}, + {1, C1_5, C2_5, C3_5}, + {1, C1_6, C2_6, C3_6}, + {1, C1_7, C2_7, C3_7}, + {1, C1_8, C2_8, C3_8}, + + {1, C9_1, C8_1, C7_1}, + {1, C9_2, C8_2, C7_2}, + {1, C9_3, C8_3, C7_3}, + {1, C9_4, C8_4, C7_4}, + {1, C9_5, C8_5, C7_5}, + {1, C9_6, C8_6, C7_6}, + {1, C9_7, C8_7, C6_6}, + {1, C9_8, C7_7, C6_7}, + // right CB + {1, C1_9, C3_10, C4_10}, + {1, C1_10, C2_10, C4_11}, + {1, C1_11, C2_11, C3_11}, + {1, C1_12, C2_12, C3_12}, + {1, C1_13, C2_13, C3_13}, + {1, C1_14, C2_14, C3_14}, + {1, C1_15, C2_15, C3_15}, + {1, C1_16, C2_16, C3_16}, + + {1, C9_9, C8_9, C7_9}, + {1, C9_10, C8_10, C7_10}, + {1, C9_11, C8_11, C7_11}, + {1, C9_12, C8_12, C7_12}, + {1, C9_13, C8_13, C7_13}, + {1, C9_14, C8_14, C7_14}, + {1, C9_15, C8_15, C6_14}, + {1, C9_16, C7_15, C6_15}, }; -#endif void matrix_init_kb(void) { - // clear caps led - setPinOutput(CAPS_PIN); - writePinLow(CAPS_PIN); -#ifdef RGBLIGHT_ENABLE + setPinOutput(LED_CAPS_LOCK_PIN); + writePinLow(LED_CAPS_LOCK_PIN); + i2c_init(); IS31FL3731_init(DRIVER_ADDR_1); +#ifdef DRIVER_ADDR_2 + IS31FL3731_init(DRIVER_ADDR_2); +#endif for (int index = 0; index < DRIVER_LED_TOTAL; index++) { IS31FL3731_set_led_control_register(index, true, true, true); } IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); - update_ticks(); +#ifdef DRIVER_ADDR_2 + IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); #endif + update_ticks(); matrix_init_user(); } -#ifdef RGBLIGHT_ENABLE void housekeeping_task_kb(void) { if (rgb_state.state == SELF_TESTING) { @@ -259,7 +322,8 @@ void housekeeping_task_kb(void) //gold 0xFF, 0xD9, 0x00 LED_TYPE led = { .r = 0xFF, - .g = 0xD9, + //.g = 0xD9, + .g = 0xA5, .b = 0x00, }; if (rgb_state.alert) { @@ -279,7 +343,10 @@ void housekeeping_task_kb(void) } } - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1,0); + IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); +#ifdef DRIVER_ADDR_2 + IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); +#endif housekeeping_task_user(); } @@ -293,15 +360,13 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) } ws2812_setleds(start_led+DRIVER_LED_TOTAL, 1); } -#endif bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if (res) { - writePin(CAPS_PIN, led_state.caps_lock); + writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock); -#ifdef RGBLIGHT_ENABLE if (rgb_state.state != SELF_TESTING) { if (led_state.caps_lock) { rgb_state.state = CAPS_ALERT; @@ -311,7 +376,8 @@ bool led_update_kb(led_t led_state) rgblight_set(); } } -#endif } return res; } + +#endif \ No newline at end of file From da6d6ce2e1f266892badbd42fb8c6735e61e784f Mon Sep 17 00:00:00 2001 From: kiilerix Date: Sat, 5 Mar 2022 05:58:50 +0100 Subject: [PATCH 0271/1832] Some docs improvements (#15845) * docs: clarify in "Keymap Overview" what LAYOUT is and isn't It is not strictly necessary to use LAYOUT macros in keyboard.c, but it is a convenient abstraction of hardware internals, allowing focus on the physical keyboard layout. From the C source point of view LAYOUT is macro with a parameter list, which expands to a array of rows that each is an array with a keyboard scancode for each column. A macro parameter list is not an array, and even less a single array. Perhaps no big deal, but also no reason to give incorrect hints. * docs: update "Understanding QMK's Code" to current code structure introduced in 96e2b13d1de This part of the documentation was no longer correct. I tried updating it, mainly copy editing and using github links to latest release. This is not trying to fix all problems, but just trying to fix some problems while reusing much of the old phrases and structure. * Update docs to use "qmk format-python" --- docs/cli_development.md | 4 ++-- docs/ja/cli_commands.md | 4 ++-- docs/ja/cli_development.md | 4 ++-- docs/keymap.md | 6 ++++-- docs/understanding_qmk.md | 15 +++++---------- 5 files changed, 15 insertions(+), 18 deletions(-) diff --git a/docs/cli_development.md b/docs/cli_development.md index 62be3b3d8c42..17370a732a25 100644 --- a/docs/cli_development.md +++ b/docs/cli_development.md @@ -188,7 +188,7 @@ cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.ou # Testing, and Linting, and Formatting (oh my!) -We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `format-py` subcommands to run these tests: +We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `format-python` subcommands to run these tests: ### Testing and Linting @@ -196,7 +196,7 @@ We use nose2, flake8, and yapf to test, lint, and format code. You can use the ` ### Formatting - qmk format-py + qmk format-python ## Formatting Details diff --git a/docs/ja/cli_commands.md b/docs/ja/cli_commands.md index 8a661d56ee4c..b48de077cd38 100644 --- a/docs/ja/cli_commands.md +++ b/docs/ja/cli_commands.md @@ -275,14 +275,14 @@ $ qmk kle2json -f kle.txt -f Ψ Wrote out to info.json ``` -## `qmk format-py` +## `qmk format-python` このコマンドは `qmk_firmware` 内の python コードを整形します。 **使用法**: ``` -qmk format-py +qmk format-python ``` ## `qmk pytest` diff --git a/docs/ja/cli_development.md b/docs/ja/cli_development.md index 28cdd91c1ef7..082bc5dafa19 100644 --- a/docs/ja/cli_development.md +++ b/docs/ja/cli_development.md @@ -192,7 +192,7 @@ cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.ou # テスト、リントおよびフォーマット -nose2、flake8 および yapf を使ってコードをテスト、リントおよびフォーマットします。これらのテストを実行するために `pytest` と `format-py` サブコマンドを使うことができます。 +nose2、flake8 および yapf を使ってコードをテスト、リントおよびフォーマットします。これらのテストを実行するために `pytest` と `format-python` サブコマンドを使うことができます。 ### テストとリント @@ -200,7 +200,7 @@ nose2、flake8 および yapf を使ってコードをテスト、リントお ### フォーマット - qmk format-py + qmk format-python ## フォーマットの詳細 diff --git a/docs/keymap.md b/docs/keymap.md index a7c9c50d7468..ab8a255bc3bd 100644 --- a/docs/keymap.md +++ b/docs/keymap.md @@ -132,7 +132,7 @@ The main part of this file is the `keymaps[]` definition. This is where you list const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -After this you'll find a list of LAYOUT() macros. A LAYOUT() is simply a list of keys to define a single layer. Typically you'll have one or more "base layers" (such as QWERTY, Dvorak, or Colemak) and then you'll layer on top of that one or more "function" layers. Due to the way layers are processed you can't overlay a "lower" layer on top of a "higher" layer. +After this you'll find the layer definitions. Typically you'll have one or more "base layers" (such as QWERTY, Dvorak, or Colemak) and then you'll layer on top of that one or more "function" layers. Due to the way layers are processed you can't overlay a "lower" layer on top of a "higher" layer. `keymaps[][MATRIX_ROWS][MATRIX_COLS]` in QMK holds the 16 bit action code (sometimes referred as the quantum keycode) in it. For the keycode representing typical keys, its high byte is 0 and its low byte is the USB HID usage ID for keyboard. @@ -153,7 +153,9 @@ Here is an example of the Clueboard's base layer: Some interesting things to note about this: -* From a C source point of view it's only a single array, but we have embedded whitespace to more easily visualize where each key is on the physical device. +* The layer is defined using the LAYOUT macro, traditionally defined in the keyboard's `.h` file. +* The LAYOUT macro takes a single list of keycodes, but we have written it in the C source using embedded whitespace and newlines to visualize where each key is on the physical device. +* The LAYOUT macro hides and handles the mapping to the hardware's key scan matrix. * Plain keyboard scancodes are prefixed with KC_, while "special" keys are not. * The upper left key activates custom function 0 (`F(0)`) * The "Fn" key is defined with `MO(_FL)`, which moves to the `_FL` layer while that key is being held down. diff --git a/docs/understanding_qmk.md b/docs/understanding_qmk.md index 582cbf46f2ea..9b80fb179e09 100644 --- a/docs/understanding_qmk.md +++ b/docs/understanding_qmk.md @@ -8,27 +8,22 @@ This document attempts to explain how the QMK firmware works from a very high le ## Startup -You can think of QMK as no different from any other computer program. It is started, performs its tasks, and then ends. The entry point for the program is the `main()` function, just like it is on any other C program. However, for a newcomer to QMK it can be confusing because the `main()` function appears in multiple places, and it can be hard to tell which one to look at. +You can think of QMK as no different from any other computer program. It is started and performs its tasks, but this program never finishes. Like other C programs, the entry point is the `main()` function. For QMK, the `main()` function is found in [`quantum/main.c`](https://github.com/qmk/qmk_firmware/blob/0.15.13/quantum/main.c#L55). -The reason for this is the different platforms that QMK supports. The most common platform is `lufa`, which runs on AVR processors such at the atmega32u4. We also support `chibios` and `vusb`. +If you browse through the `main()` function you'll find that it starts by initializing any hardware that has been configured (including USB to the host). The most common platform for QMK is `lufa`, which runs on AVR processors such as the atmega32u4. When compiled for that platform, it will invoke for example `platform_setup()` in [`platforms/avr/platform.c`](https://github.com/qmk/qmk_firmware/blob/0.15.13/platforms/avr/platform.c#L19) and `protocol_setup()` in [`tmk_core/protocol/lufa/lufa.c`](https://github.com/qmk/qmk_firmware/blob/0.15.13/tmk_core/protocol/lufa/lufa.c#L1066). It will use other implementations when compiled for other platforms like `chibios` and `vusb`. At first glance, it can look like a lot of functionality but most of the time the code will be disabled by `#define`s. -We'll focus on AVR processors for the moment, which use the `lufa` platform. You can find the `main()` function in [tmk_core/protocol/lufa/lufa.c](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/tmk_core/protocol/lufa/lufa.c#L1028). If you browse through that function you'll find that it initializes any hardware that has been configured (including USB to the host) and then it starts the core part of the program with a [`while(1)`](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/tmk_core/protocol/lufa/lufa.c#L1069). This is [The Main Loop](#the-main-loop). +The `main()` function will then start the core part of the program with a [`while (true)`](https://github.com/qmk/qmk_firmware/blob/0.15.13/quantum/main.c#L63). This is [The Main Loop](#the-main-loop). ## The Main Loop -This section of code is called "The Main Loop" because it's responsible for looping over the same set of instructions forever. This is where QMK dispatches out to the functions responsible for making the keyboard do everything it is supposed to do. At first glance it can look like a lot of functionality but most of the time the code will be disabled by `#define`'s. +This section of code is called "The Main Loop" because it's responsible for looping over the same set of instructions forever, without ever reaching the end. This is where QMK dispatches out to the functions responsible for making the keyboard do everything it is supposed to do. -``` - keyboard_task(); -``` - -This is where all the keyboard specific functionality is dispatched. The source code for `keyboard_task()` can be found in [tmk_core/common/keyboard.c](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/tmk_core/common/keyboard.c#L216), and it is responsible for detecting changes in the matrix and turning status LEDs on and off. +The main loop will call [`protocol_task()`](https://github.com/qmk/qmk_firmware/blob/0.15.13/quantum/main.c#L38), which in turn will call `keyboard_task()` in [`quantum/keyboard.c`](https://github.com/qmk/qmk_firmware/blob/0.15.13/quantum/keyboard.c#L377). This is where all the keyboard specific functionality is dispatched, and it is responsible for detecting changes in the matrix and turning status LEDs on and off. Within `keyboard_task()` you'll find code to handle: * [Matrix Scanning](#matrix-scanning) * Mouse Handling -* Serial Link(s) * Keyboard status LEDs (Caps Lock, Num Lock, Scroll Lock) #### Matrix Scanning From b202e593226c2dd88b922e99c0c7ba8db401003e Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 5 Mar 2022 20:59:54 +0000 Subject: [PATCH 0272/1832] Update info.json (#16540) --- data/templates/keyboard/info.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/templates/keyboard/info.json b/data/templates/keyboard/info.json index 777ceb3bd891..65f935fb42a1 100644 --- a/data/templates/keyboard/info.json +++ b/data/templates/keyboard/info.json @@ -15,11 +15,11 @@ "device_version": "1.0.0" }, "features": { - "bootmagic_lite": true, + "bootmagic": true, "command": false, "console": false, "extrakey": true, "mousekey": true, "nkro": true } -} \ No newline at end of file +} From 8e9d45d2708d71cf89bed704e8e0e1bf5671804f Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 6 Mar 2022 09:54:32 +1100 Subject: [PATCH 0273/1832] `qmk info`: nicer rendering of ISO enter (#16466) --- lib/python/qmk/keyboard.py | 94 ++++++++++++++++++++++++++++---------- 1 file changed, 69 insertions(+), 25 deletions(-) diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py index c87ea9050b76..0530c4acc5c4 100644 --- a/lib/python/qmk/keyboard.py +++ b/lib/python/qmk/keyboard.py @@ -162,13 +162,12 @@ def render_layout(layout_data, render_ascii, key_labels=None): """ textpad = [array('u', ' ' * 200) for x in range(100)] style = 'ascii' if render_ascii else 'unicode' - box_chars = BOX_DRAWING_CHARACTERS[style] for key in layout_data: - x = ceil(key.get('x', 0) * 4) - y = ceil(key.get('y', 0) * 3) - w = ceil(key.get('w', 1) * 4) - h = ceil(key.get('h', 1) * 3) + x = key.get('x', 0) + y = key.get('y', 0) + w = key.get('w', 1) + h = key.get('h', 1) if key_labels: label = key_labels.pop(0) @@ -177,26 +176,10 @@ def render_layout(layout_data, render_ascii, key_labels=None): else: label = key.get('label', '') - label_len = w - 2 - label_leftover = label_len - len(label) - - if len(label) > label_len: - label = label[:label_len] - - label_blank = ' ' * label_len - label_border = box_chars['h'] * label_len - label_middle = label + ' '*label_leftover # noqa: yapf insists there be no whitespace around * - - top_line = array('u', box_chars['tl'] + label_border + box_chars['tr']) - lab_line = array('u', box_chars['v'] + label_middle + box_chars['v']) - mid_line = array('u', box_chars['v'] + label_blank + box_chars['v']) - bot_line = array('u', box_chars['bl'] + label_border + box_chars['br']) - - textpad[y][x:x + w] = top_line - textpad[y + 1][x:x + w] = lab_line - for i in range(h - 3): - textpad[y + i + 2][x:x + w] = mid_line - textpad[y + h - 1][x:x + w] = bot_line + if x >= 0.25 and w == 1.25 and h == 2: + render_key_isoenter(textpad, x, y, w, h, label, style) + else: + render_key_rect(textpad, x, y, w, h, label, style) lines = [] for line in textpad: @@ -216,3 +199,64 @@ def render_layouts(info_json, render_ascii): layouts[layout] = render_layout(layout_data, render_ascii) return layouts + + +def render_key_rect(textpad, x, y, w, h, label, style): + box_chars = BOX_DRAWING_CHARACTERS[style] + x = ceil(x * 4) + y = ceil(y * 3) + w = ceil(w * 4) + h = ceil(h * 3) + + label_len = w - 2 + label_leftover = label_len - len(label) + + if len(label) > label_len: + label = label[:label_len] + + label_blank = ' ' * label_len + label_border = box_chars['h'] * label_len + label_middle = label + ' '*label_leftover # noqa: yapf insists there be no whitespace around * + + top_line = array('u', box_chars['tl'] + label_border + box_chars['tr']) + lab_line = array('u', box_chars['v'] + label_middle + box_chars['v']) + mid_line = array('u', box_chars['v'] + label_blank + box_chars['v']) + bot_line = array('u', box_chars['bl'] + label_border + box_chars['br']) + + textpad[y][x:x + w] = top_line + textpad[y + 1][x:x + w] = lab_line + for i in range(h - 3): + textpad[y + i + 2][x:x + w] = mid_line + textpad[y + h - 1][x:x + w] = bot_line + + +def render_key_isoenter(textpad, x, y, w, h, label, style): + box_chars = BOX_DRAWING_CHARACTERS[style] + x = ceil(x * 4) + y = ceil(y * 3) + w = ceil(w * 4) + h = ceil(h * 3) + + label_len = w - 1 + label_leftover = label_len - len(label) + + if len(label) > label_len: + label = label[:label_len] + + label_blank = ' ' * (label_len-1) # noqa: yapf insists there be no whitespace around - and * + label_border_top = box_chars['h'] * label_len + label_border_bottom = box_chars['h'] * (label_len-1) # noqa + label_middle = label + ' '*label_leftover # noqa + + top_line = array('u', box_chars['tl'] + label_border_top + box_chars['tr']) + lab_line = array('u', box_chars['v'] + label_middle + box_chars['v']) + crn_line = array('u', box_chars['bl'] + box_chars['tr'] + label_blank + box_chars['v']) + mid_line = array('u', box_chars['v'] + label_blank + box_chars['v']) + bot_line = array('u', box_chars['bl'] + label_border_bottom + box_chars['br']) + + textpad[y][x - 1:x + w] = top_line + textpad[y + 1][x - 1:x + w] = lab_line + textpad[y + 2][x - 1:x + w] = crn_line + textpad[y + 3][x:x + w] = mid_line + textpad[y + 4][x:x + w] = mid_line + textpad[y + h - 1][x:x + w] = bot_line From 16cd1d9bf78539dfd2590a831ba9708dcac69411 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun, 6 Mar 2022 10:18:41 +0900 Subject: [PATCH 0274/1832] Change helix:five_rows keymap to use QMK standerd oled driver (#16539) --- keyboards/helix/rev2/keymaps/five_rows/rules.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk index 60dc4b61a6c0..a92591d36bef 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk +++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk @@ -19,6 +19,7 @@ HELIX_ROWS = 5 # Helix Rows is 4 or 5 # LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) # LED_ANIMATIONS = yes # LED animations # IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) +OLED_SELECT = core CUSTOM_DELAY = yes From 30209de9fd2e2d142ef1e086a851ceeb058cfcef Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 6 Mar 2022 21:58:08 +0000 Subject: [PATCH 0275/1832] merge/uma - Resolve configurator issues (#16551) --- keyboards/merge/uma/uma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/merge/uma/uma.c b/keyboards/merge/uma/uma.c index 376cdfd3fe52..565a09fb2798 100644 --- a/keyboards/merge/uma/uma.c +++ b/keyboards/merge/uma/uma.c @@ -50,8 +50,6 @@ static const char PROGMEM merge_logo[] = { 0x01, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 }; -int current_wpm = 0; - static void print_status_narrow(void) { oled_set_cursor(0,1); oled_write_raw_P(merge_logo, sizeof(merge_logo)); @@ -86,6 +84,7 @@ static void print_status_narrow(void) { //oled_write_ln_P(PSTR(" "), false); oled_write_P(PSTR("-----"), false); +#ifdef WPM_ENABLE // WPM counter Start oled_set_cursor(0,13); oled_write(" ", false); @@ -93,6 +92,7 @@ static void print_status_narrow(void) { oled_set_cursor(0,14); oled_write(" WPM ", false); // WPM counter End +#endif } bool oled_task_kb(void) { From 4cae7becb19f58005e68a3c4ec4ce426c5d74d5b Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon, 7 Mar 2022 12:02:00 +0900 Subject: [PATCH 0276/1832] [Keymap] Change helix:fraanrosi keymap to use split_common (#16533) --- keyboards/helix/rev2/keymaps/fraanrosi/rules.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk b/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk index 98585b0d60a2..4e80183863bb 100644 --- a/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk +++ b/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk @@ -5,6 +5,7 @@ # See TOP/keyboards/helix/rules.mk for a list of options that can be set. # See TOP/docs/config_options.md for more information. # +SPLIT_KEYBOARD = yes LTO_ENABLE = no # if firmware size over limit, try this option MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control From 9d6cea070e3687b743500b05efca060c13eb4685 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon, 7 Mar 2022 12:02:40 +0900 Subject: [PATCH 0277/1832] [Keymap] Change helix:five_rows_jis keymap to use split_common (#16538) --- .../helix/rev2/keymaps/five_rows_jis/keymap.c | 130 +++++++++++++++--- .../helix/rev2/keymaps/five_rows_jis/rules.mk | 9 ++ 2 files changed, 118 insertions(+), 21 deletions(-) diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c index a22a4b1663e5..24b2a590124b 100644 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c @@ -1,10 +1,7 @@ #include QMK_KEYBOARD_H #include "keymap_jp.h" -#include "bootloader.h" -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#include "split_util.h" -#endif +#include +#include #ifdef SSD1306OLED #include "ssd1306.h" #endif @@ -15,15 +12,6 @@ // * If you want to use the Kana key you can enable this comment out. However, the binary size may be over. * // #define KANA_ENABLE -extern keymap_config_t keymap_config; - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -extern uint8_t is_master; - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -209,7 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #error "undefined keymaps" #endif -#ifdef SSD1306OLED +#if defined(SSD1306OLED) || defined(OLED_ENABLE) char keylog[24] = {}; const char code_to_name[60] = { ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', @@ -266,7 +254,7 @@ void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { #endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { - #ifdef SSD1306OLED + #if defined(SSD1306OLED) || defined(OLED_ENABLE) if (record->event.pressed) { set_keylog(keycode, record); } @@ -279,7 +267,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); } break; #endif @@ -312,7 +300,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); } break; #endif @@ -325,7 +313,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); #endif //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h #ifdef SSD1306OLED @@ -431,7 +419,7 @@ void iota_gfx_task_user(void) { #endif matrix_clear(&matrix); - if (is_master) { + if (is_keyboard_master()) { render_status(&matrix); } else { render_logo(&matrix); @@ -440,4 +428,104 @@ void iota_gfx_task_user(void) { matrix_update(&display, &matrix); } -#endif +#endif // end of SSD1306OLED + +//OLED update loop +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_0; + } else { + return OLED_ROTATION_180; + } +} + +//assign the right code to your layers for OLED display +#define L_BASE _BASE +#define L_LOWER (1<<_LOWER) +#define L_RAISE (1<<_RAISE) +#define L_ADJUST (1<<_ADJUST) +#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) +#define L_LOW_E (1<<_LOW_E) +#define L_RAI_E (1<<_RAI_E) +#define L_ADJUST_TRIE (L_ADJUST|L_RAI_E|L_LOW_E) + +const char helix_logo[]={ + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, + 0}; + +static inline void render_logo(void) { + oled_write(helix_logo, false); +} + +const char mac_win_logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; + +static inline void render_status(void) { + char buf[20]; + // Render to mode icon + if(keymap_config.swap_lalt_lgui==false){ + oled_write(mac_win_logo[0][0], false); + oled_write_P(PSTR("\n"), false); + oled_write(mac_win_logo[0][1], false); + } else { + oled_write(mac_win_logo[1][0], false); + oled_write_P(PSTR("\n"), false); + oled_write(mac_win_logo[1][1], false); + } + + #ifdef RGBLIGHT_ENABLE + snprintf(buf, sizeof(buf), " LED mode:%d", (short)RGB_current_mode); + oled_write(buf, false); + #endif + + // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below + oled_write_P(PSTR("\nLayer: "), false); + switch (layer_state) { + case L_BASE: + oled_write_P(default_layer_state == (1UL<<_BAS_E) ? PSTR("BaseEx") : PSTR("Base"), false); + break; + case L_RAISE: + oled_write_P(PSTR("Raise"), false); + break; + case L_RAI_E: + oled_write_P(PSTR("RaiseEx"), false); + break; + case L_LOWER: + oled_write_P(PSTR("Lower"), false); + break; + case L_LOW_E: + oled_write_P(PSTR("LowerEx"), false); + break; + case L_ADJUST: + case L_ADJUST_TRI: + case L_ADJUST_TRIE: + oled_write_P(PSTR("Adjust"), false); + break; + default: + snprintf(buf, sizeof(buf), "%d", (short)layer_state); + oled_write(buf, false); + } + + oled_write(keylog, false); +} + +bool oled_task_user(void) { + +# if DEBUG_TO_SCREEN + if (debug_enable) { + return; + } +# endif + + if (is_keyboard_master()) { + render_status(); + } else { + render_logo(); + } + + return false; +} + +#endif // end of OLED_ENABLE diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk b/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk index 3ef6f82366e6..6300137fd685 100644 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk +++ b/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk @@ -1,4 +1,5 @@ LTO_ENABLE = no # if firmware size over limit, try this option +SPLIT_KEYBOARD = yes # Helix Spacific Build Options # you can uncomment and edit follows 7 Variables @@ -10,3 +11,11 @@ HELIX_ROWS = 5 # Helix Rows is 4 or 5 # LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) # LED_ANIMATIONS = yes # LED animations # IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) + +# OLED_ENABLE が yes のとき +# OLED_SELECT が core ならば QMK 標準の oled_dirver.c を使用します。 +# OLED_SELECT が core 以外ならば従来どおり helix/local_drivers/ssd1306.c を使用します。 +# If OLED_ENABLE is 'yes' +# If OLED_SELECT is 'core', use QMK standard oled_dirver.c. +# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c. +OLED_SELECT = core From b77d51f41aaee66b5d9743a7ba58655f944f4d71 Mon Sep 17 00:00:00 2001 From: npspears <40127181+npspears@users.noreply.github.com> Date: Sun, 6 Mar 2022 21:26:23 -0600 Subject: [PATCH 0278/1832] [Keyboard] add support for Quark_Plus (#16324) Co-authored-by: Ryan --- keyboards/checkerboards/quark_plus/config.h | 74 +++++++++++++++ keyboards/checkerboards/quark_plus/info.json | 23 +++++ .../quark_plus/keymaps/2u/config.h | 1 + .../quark_plus/keymaps/2u/keymap.c | 82 +++++++++++++++++ .../quark_plus/keymaps/2x225u/config.h | 1 + .../quark_plus/keymaps/2x225u/keymap.c | 82 +++++++++++++++++ .../quark_plus/keymaps/2x3u/config.h | 1 + .../quark_plus/keymaps/2x3u/keymap.c | 82 +++++++++++++++++ .../quark_plus/keymaps/default/config.h | 1 + .../quark_plus/keymaps/default/keymap.c | 82 +++++++++++++++++ .../quark_plus/keymaps/default/readme.md | 1 + .../quark_plus/keymaps/via/keymap.c | 89 +++++++++++++++++++ .../quark_plus/keymaps/via/rules.mk | 1 + .../checkerboards/quark_plus/quark_plus.c | 35 ++++++++ .../checkerboards/quark_plus/quark_plus.h | 82 +++++++++++++++++ keyboards/checkerboards/quark_plus/readme.md | 17 ++++ keyboards/checkerboards/quark_plus/rules.mk | 20 +++++ 17 files changed, 674 insertions(+) create mode 100644 keyboards/checkerboards/quark_plus/config.h create mode 100644 keyboards/checkerboards/quark_plus/info.json create mode 100644 keyboards/checkerboards/quark_plus/keymaps/2u/config.h create mode 100644 keyboards/checkerboards/quark_plus/keymaps/2u/keymap.c create mode 100644 keyboards/checkerboards/quark_plus/keymaps/2x225u/config.h create mode 100644 keyboards/checkerboards/quark_plus/keymaps/2x225u/keymap.c create mode 100644 keyboards/checkerboards/quark_plus/keymaps/2x3u/config.h create mode 100644 keyboards/checkerboards/quark_plus/keymaps/2x3u/keymap.c create mode 100644 keyboards/checkerboards/quark_plus/keymaps/default/config.h create mode 100644 keyboards/checkerboards/quark_plus/keymaps/default/keymap.c create mode 100644 keyboards/checkerboards/quark_plus/keymaps/default/readme.md create mode 100644 keyboards/checkerboards/quark_plus/keymaps/via/keymap.c create mode 100644 keyboards/checkerboards/quark_plus/keymaps/via/rules.mk create mode 100644 keyboards/checkerboards/quark_plus/quark_plus.c create mode 100644 keyboards/checkerboards/quark_plus/quark_plus.h create mode 100644 keyboards/checkerboards/quark_plus/readme.md create mode 100644 keyboards/checkerboards/quark_plus/rules.mk diff --git a/keyboards/checkerboards/quark_plus/config.h b/keyboards/checkerboards/quark_plus/config.h new file mode 100644 index 000000000000..a2d2dc230c0e --- /dev/null +++ b/keyboards/checkerboards/quark_plus/config.h @@ -0,0 +1,74 @@ +/* Copyright 2022 Nathan Spears + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7070 +#define PRODUCT_ID 0x5344 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Nasp +#define PRODUCT QUARK_PlUS + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 6 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B4, B1, C2, D0, D6, B0, B6, B5 } +#define MATRIX_COL_PINS { C6, D1, D5, D4, D3, D2 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Switch LED Backlighting */ +#define BACKLIGHT_PIN C4 +#define BACKLIGHT_LEVELS 6 +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 6 + +// ws2812 options +#define RGB_DI_PIN C5 // pin the DI on the ws2812 is hooked-up to +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLED_NUM 14 // number of LEDs +#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue +#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation +#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) + +#define ENCODERS_PAD_A { C7, B7, B3, B2} +#define ENCODERS_PAD_B { B7, C7, B2, B3} +#define ENCODER_RESOLUTION 4 diff --git a/keyboards/checkerboards/quark_plus/info.json b/keyboards/checkerboards/quark_plus/info.json new file mode 100644 index 000000000000..b5a111ce8eeb --- /dev/null +++ b/keyboards/checkerboards/quark_plus/info.json @@ -0,0 +1,23 @@ +{ + "keyboard_name": "Quark_Plus", + "url": "https://www.github.com/qmk/qmk_firmware/tree/master/keyboards/checkerboards/quark_plus", + "maintainer": "nasp", + "layouts": { + "LAYOUT_grid": { + "layout": + [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"label":"CTRL", "x":0, "y":3}, {"label":"WIN", "x":1, "y":3}, {"label":"MENU", "x":2, "y":3}, {"label":"ALT", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"label":"⇑", "x":7, "y":3}, {"label":"LEFT", "x":8, "y":3}, {"label":"DOWN", "x":9, "y":3}, {"label":"UP", "x":10, "y":3}, {"label":"RIGHT", "x":11, "y":3}] + }, + "LAYOUT_2u": { + "layout": + [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"label":"CTRL", "x":0, "y":3}, {"label":"WIN", "x":1, "y":3}, {"label":"MENU", "x":2, "y":3}, {"label":"ALT", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3, "w":2}, {"label":"⇑", "x":7, "y":3}, {"label":"LEFT", "x":8, "y":3}, {"label":"DOWN", "x":9, "y":3}, {"label":"UP", "x":10, "y":3}, {"label":"RIGHT", "x":11, "y":3}] + }, + "LAYOUT_2x225u": { + "layout": + [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"label":"CTRL", "x":0, "y":3, "w":1.25}, {"label":"WIN", "x":1.25, "y":3, "w":1.25}, {"label":"ALT", "x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":2.25}, {"x":6, "y":3, "w":2.25}, {"label":"ALT", "x":8.25, "y":3, "w":1.25}, {"label":"MENU", "x":9.5, "y":3, "w":1.25}, {"label":"CTRL", "x":10.75, "y":3, "w":1.25}] + }, + "LAYOUT_2x3u": { + "layout": + [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"label":"CTRL", "x":0, "y":3}, {"label":"WIN", "x":1, "y":3}, {"label":"ALT", "x":2, "y":3}, {"x":3, "y":3, "w":3}, {"x":6, "y":3, "w":3}, {"label":"ALT", "x":9, "y":3}, {"label":"MENU", "x":10, "y":3}, {"label":"CTRL", "x":11, "y":3}] + } + } + } diff --git a/keyboards/checkerboards/quark_plus/keymaps/2u/config.h b/keyboards/checkerboards/quark_plus/keymaps/2u/config.h new file mode 100644 index 000000000000..9ec4fd1a9481 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/2u/config.h @@ -0,0 +1 @@ +#define TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/quark_plus/keymaps/2u/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/2u/keymap.c new file mode 100644 index 000000000000..b62e60370e4f --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/2u/keymap.c @@ -0,0 +1,82 @@ +/* Copyright 2022 Nathan Spears + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | TAB | Q | W | E | R | T | Y | U | I | O | P | DEL | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTRL&ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | SHIFT | Z | X | C | V | B | N | M | , | . | / | ENTER | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | PRINT | Ctrl | ALT | GUI |LOWER | SPACE |RAISE | LEFT | DOWN | UP |RIGHT | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_2u( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, TT(1), KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | | | ESC |CTRL-ALT-DEL|TASK| | | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_2u( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, + _______, KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, _______, KC_NUBS, KC_GRV, _______ + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * |RESET | | | | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_2u( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + }; diff --git a/keyboards/checkerboards/quark_plus/keymaps/2x225u/config.h b/keyboards/checkerboards/quark_plus/keymaps/2x225u/config.h new file mode 100644 index 000000000000..9ec4fd1a9481 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/2x225u/config.h @@ -0,0 +1 @@ +#define TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/quark_plus/keymaps/2x225u/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/2x225u/keymap.c new file mode 100644 index 000000000000..f490f76f9f30 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/2x225u/keymap.c @@ -0,0 +1,82 @@ +/* Copyright 2015-2017 Jack Humbert + * Modified by Nasp for the Quark + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_2x225u( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PSCR, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_2x225u( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, + KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______ + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_2x225u( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + 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, _______, _______, _______, _______, _______, _______, _______ + ), + }; diff --git a/keyboards/checkerboards/quark_plus/keymaps/2x3u/config.h b/keyboards/checkerboards/quark_plus/keymaps/2x3u/config.h new file mode 100644 index 000000000000..9ec4fd1a9481 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/2x3u/config.h @@ -0,0 +1 @@ +#define TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/quark_plus/keymaps/2x3u/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/2x3u/keymap.c new file mode 100644 index 000000000000..ea65b98cd982 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/2x3u/keymap.c @@ -0,0 +1,82 @@ +/* Copyright 2015-2017 Jack Humbert + * Modified by Nasp for the Quark + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* [0] +* ,-----------------------------------------------------------------------------------------. +* |------------+------+------+------+------+------+------+------+------+------+------+------| +* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | +* |------------+------+------+------+------+-------------+------+------+------+------+------| +* | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | +* |------------+------+------+------+------+------|------+------+------+------+------+------| +* | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | +* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| +* | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | +* `-----------------------------------------------------------------------------------------' +*/ +[0] = LAYOUT_2x3u( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PSCR, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS + ), + +/* [1] +* ,---------------------------------------------------------------------------------------. +* |------------+------+------+------+------+------+------+------+------+------+------+----| +* | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | +* |------------+------+------+------+------+-------------+------+------+------+------+----| +* | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | +* |------------+------+------+------+------+------|------+------+------+------+------+----| +* | | | | | | | | + | = | | | | +* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| +* | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | +* `---------------------------------------------------------------------------------------' +*/ +[1] = LAYOUT_2x3u( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, + KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______ + ), + +/* [2] +* ,---------------------------------------------------------------------------------------. +* |------------+------+------+------+------+------+------+------+------+------+------+---| +* | | | | UP | | | | _ | | [ | ] | | +* |------------+------+------+------+------+-------------+------+------+------+------+---| +* | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | +* |------------+------+------+------+------+-----+-----+------+------+------+------+-----| +* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | +* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| +* | RESET | | | | | | | | +* `---------------------------------------------------------------------------------------' + */ +[2] = LAYOUT_2x3u( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + 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, _______, _______, _______, _______, _______, _______, _______ + ), + }; diff --git a/keyboards/checkerboards/quark_plus/keymaps/default/config.h b/keyboards/checkerboards/quark_plus/keymaps/default/config.h new file mode 100644 index 000000000000..9ec4fd1a9481 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/default/config.h @@ -0,0 +1 @@ +#define TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/quark_plus/keymaps/default/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/default/keymap.c new file mode 100644 index 000000000000..871a38644143 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/default/keymap.c @@ -0,0 +1,82 @@ +/* Copyright 2022 Nathan Spears + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | TAB | Q | W | E | R | T | Y | U | I | O | P | DEL | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTRL&ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | SHIFT | Z | X | C | V | B | N | M | , | . | / | ENTER | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | PRINT | Ctrl | ALT | GUI |LOWER |SPACE |SPACE|RAISE | LEFT | DOWN | UP |RIGHT | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_grid( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, TT(1), KC_SPC, KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | | | ESC |CTRL-ALT-DEL|TASK| | | | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_grid( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, + _______, KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, _______, _______, KC_NUBS, KC_GRV, _______ + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * |RESET | | | | | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_grid( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + }; diff --git a/keyboards/checkerboards/quark_plus/keymaps/default/readme.md b/keyboards/checkerboards/quark_plus/keymaps/default/readme.md new file mode 100644 index 000000000000..65ffbc82db12 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/default/readme.md @@ -0,0 +1 @@ +The Default Quark_Plus Layout diff --git a/keyboards/checkerboards/quark_plus/keymaps/via/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/via/keymap.c new file mode 100644 index 000000000000..165ecbbd53aa --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/via/keymap.c @@ -0,0 +1,89 @@ +/* Copyright 2022 Nathan Spears + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | TAB | Q | W | E | R | T | Y | U | I | O | P | DEL | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTRL&ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | SHIFT | Z | X | C | V | B | N | M | , | . | / | ENTER | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | PRINT | Ctrl | ALT | GUI |LOWER |SPACE |SPACE|RAISE | LEFT | DOWN | UP |RIGHT | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_grid( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, TT(1), KC_SPC, KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | | | ESC |CTRL-ALT-DEL|TASK| | | | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_grid( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, + _______, KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, _______, _______, KC_NUBS, KC_GRV, _______ + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * |RESET | | | | | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_grid( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT_grid( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + }; diff --git a/keyboards/checkerboards/quark_plus/keymaps/via/rules.mk b/keyboards/checkerboards/quark_plus/keymaps/via/rules.mk new file mode 100644 index 000000000000..69de2e4c5a0c --- /dev/null +++ b/keyboards/checkerboards/quark_plus/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/checkerboards/quark_plus/quark_plus.c b/keyboards/checkerboards/quark_plus/quark_plus.c new file mode 100644 index 000000000000..036d3a96c566 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/quark_plus.c @@ -0,0 +1,35 @@ +/* Copyright 2022 Nathan Spears + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quark_plus.h" + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_kb(index, clockwise)) { return false; } + if (index == 1) { /* left encoder*/ + if (clockwise){ + tap_code(KC_WH_U); + } else { + tap_code(KC_WH_D); + } + } else if (index == 0) { /* right encoder */ + if (clockwise){ + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/checkerboards/quark_plus/quark_plus.h b/keyboards/checkerboards/quark_plus/quark_plus.h new file mode 100644 index 000000000000..4152acbe5091 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/quark_plus.h @@ -0,0 +1,82 @@ +/* Copyright 2022 Nathan Spears + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_grid( \ + k00, k10, k11, k01, k02, k12, k13, k03, k04, k14, k15, k05, \ + k20, k30, k31, k21, k22, k32, k33, k23, k24, k34, k35, k25, \ + k40, k50, k51, k41, k42, k52, k53, k43, k44, k54, k55, k45, \ + k60, k70, k71, k61, k62, k72, k73, k63, k64, k74, k75, k65 \ +) { \ + { k00, k01, k02, k03, k04, k05 }, \ + { k10, k11, k12, k13, k14, k15 }, \ + { k20, k21, k22, k23, k24, k25 }, \ + { k30, k31, k32, k33, k34, k35 }, \ + { k40, k41, k42, k43, k44, k45 }, \ + { k50, k51, k52, k53, k54, k55 }, \ + { k60, k61, k62, k63, k64, k65 }, \ + { k70, k71, k72, k73, k74, k75 } \ +} +#define LAYOUT_2u( \ + k00, k10, k11, k01, k02, k12, k13, k03, k04, k14, k15, k05, \ + k20, k30, k31, k21, k22, k32, k33, k23, k24, k34, k35, k25, \ + k40, k50, k51, k41, k42, k52, k53, k43, k44, k54, k55, k45, \ + k60, k70, k71, k61, k62, k73, k63, k64, k74, k75, k65 \ +) { \ + { k00, k01, k02, k03, k04, k05 }, \ + { k10, k11, k12, k13, k14, k15 }, \ + { k20, k21, k22, k23, k24, k25 }, \ + { k30, k31, k32, k33, k34, k35 }, \ + { k40, k41, k42, k43, k44, k45 }, \ + { k50, k51, k52, k53, k54, k55 }, \ + { k60, k61, k62, XXX, k64, k65 }, \ + { k70, k71, XXX, k73, k74, k75 } \ +} +#define LAYOUT_2x225u( \ + k00, k10, k11, k01, k02, k12, k13, k03, k04, k14, k15, k05, \ + k20, k30, k31, k21, k22, k32, k33, k23, k24, k34, k35, k25, \ + k40, k50, k51, k41, k42, k52, k53, k43, k44, k54, k55, k45, \ + k60, k70, k61, k62, k63, k64, k75, k65 \ +) { \ + { k00, k01, k02, k03, k04, k05 }, \ + { k10, k11, k12, k13, k14, k15 }, \ + { k20, k21, k22, k23, k24, k25 }, \ + { k30, k31, k32, k33, k34, k35 }, \ + { k40, k41, k42, k43, k44, k45 }, \ + { k50, k51, k52, k53, k54, k55 }, \ + { k60, k61, k62, k63, k64, k65 }, \ + { k70, XXX, XXX, XXX, XXX, k75 } \ +} +#define LAYOUT_2x3u( \ + k00, k10, k11, k01, k02, k12, k13, k03, k04, k14, k15, k05, \ + k20, k30, k31, k21, k22, k32, k33, k23, k24, k34, k35, k25, \ + k40, k50, k51, k41, k42, k52, k53, k43, k44, k54, k55, k45, \ + k60, k70, k71, k62, k63, k74, k75, k65 \ +) { \ + { k00, k01, k02, k03, k04, k05 }, \ + { k10, k11, k12, k13, k14, k15 }, \ + { k20, k21, k22, k23, k24, k25 }, \ + { k30, k31, k32, k33, k34, k35 }, \ + { k40, k41, k42, k43, k44, k45 }, \ + { k50, k51, k52, k53, k54, k55 }, \ + { k60, XXX, k62, k63, XXX, k65 }, \ + { k70, k71, XXX, XXX, k74, k75 } \ +} diff --git a/keyboards/checkerboards/quark_plus/readme.md b/keyboards/checkerboards/quark_plus/readme.md new file mode 100644 index 000000000000..6e4ff5f65f0d --- /dev/null +++ b/keyboards/checkerboards/quark_plus/readme.md @@ -0,0 +1,17 @@ +# Quark_Plus + +![Quark_Plus](https://i.imgur.com/4TI6BA0h.png) + +The Quark Plus is a premium Quark for those that want more features of the original. It features support for 4 rotary encoders (it is recommended to use 1 per left and right side), LED backlighting, RGB underglow, JST connector, and compatibility for earlier revisions of your favorite ortholinear keyboard. + +* Keyboard Maintainer: [Nasp](https://github.com/npspears) +* Hardware Supported: Quark_Plus +* Hardware Availability: https://www.checkerboards.xyz + +Make example for this keyboard (after setting up your build environment): + + make checkerboards/quark_plus:default + +To enter the bootloader, press the hardware button on the back of the PCB just to the left of the USB connector. + +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/checkerboards/quark_plus/rules.mk b/keyboards/checkerboards/quark_plus/rules.mk new file mode 100644 index 000000000000..8ffb43e25276 --- /dev/null +++ b/keyboards/checkerboards/quark_plus/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u2 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +BACKLIGHT_DRIVER = pwm # Valid driver values are pwm, software, custom or no +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes # Enable rotary encoder From de10757f057d31a148d0b881535d875ff4af5c9c Mon Sep 17 00:00:00 2001 From: Andrew Garver Date: Sun, 6 Mar 2022 20:27:08 -0700 Subject: [PATCH 0279/1832] [Keyboard] fourier via keymap (#16335) --- keyboards/keebio/fourier/keymaps/via/keymap.c | 69 +++++++++++++++++++ keyboards/keebio/fourier/keymaps/via/rules.mk | 2 + 2 files changed, 71 insertions(+) create mode 100644 keyboards/keebio/fourier/keymaps/via/keymap.c create mode 100644 keyboards/keebio/fourier/keymaps/via/rules.mk diff --git a/keyboards/keebio/fourier/keymaps/via/keymap.c b/keyboards/keebio/fourier/keymaps/via/keymap.c new file mode 100644 index 000000000000..c16ff08d0699 --- /dev/null +++ b/keyboards/keebio/fourier/keymaps/via/keymap.c @@ -0,0 +1,69 @@ +/* +Copyright 2022 Andrew Garver + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum custom_layers { + _BASE, + _FN1, + _FN2, + _FN3, +}; + +enum custom_keycodes { + QWERTY = SAFE_RANGE, +}; + +#define KC_FN1 MO(_FN1) +#define KC_FN2 MO(_FN2) +#define SPFN1 LT(_FN1, KC_SPACE) +#define BSFN2 LT(_FN2, KC_BSPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + 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_LCTL, KC_LALT, KC_LGUI, KC_FN1, SPFN1, BSFN2, KC_RGUI, KC_RALT, KC_FN2, KC_RCTL + ), + + [_FN1] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + RESET, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_UP, _______, + RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_0, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN2] = LAYOUT( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, + _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, _______, _______, _______, KC_COLN, _______, + _______, _______, _______, KC_DEL, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______ + ), + + [_FN3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/keebio/fourier/keymaps/via/rules.mk b/keyboards/keebio/fourier/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/keebio/fourier/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes From 5de86a05c31482b5c770888e33c98d933c42b34c Mon Sep 17 00:00:00 2001 From: Takuya Urakawa Date: Mon, 7 Mar 2022 12:27:41 +0900 Subject: [PATCH 0280/1832] [Keyboard] Add Lain keyboard (#16345) Co-authored-by: Joel Challis Co-authored-by: Ryan --- keyboards/dm9records/lain/config.h | 47 ++++++++++ keyboards/dm9records/lain/info.json | 60 +++++++++++++ .../dm9records/lain/keymaps/default/keymap.c | 79 ++++++++++++++++ .../dm9records/lain/keymaps/default/readme.md | 5 ++ .../dm9records/lain/keymaps/via/keymap.c | 90 +++++++++++++++++++ .../dm9records/lain/keymaps/via/readme.md | 8 ++ .../dm9records/lain/keymaps/via/rules.mk | 1 + keyboards/dm9records/lain/lain.c | 49 ++++++++++ keyboards/dm9records/lain/lain.h | 41 +++++++++ keyboards/dm9records/lain/readme.md | 32 +++++++ keyboards/dm9records/lain/rules.mk | 18 ++++ 11 files changed, 430 insertions(+) create mode 100644 keyboards/dm9records/lain/config.h create mode 100644 keyboards/dm9records/lain/info.json create mode 100644 keyboards/dm9records/lain/keymaps/default/keymap.c create mode 100644 keyboards/dm9records/lain/keymaps/default/readme.md create mode 100644 keyboards/dm9records/lain/keymaps/via/keymap.c create mode 100644 keyboards/dm9records/lain/keymaps/via/readme.md create mode 100644 keyboards/dm9records/lain/keymaps/via/rules.mk create mode 100644 keyboards/dm9records/lain/lain.c create mode 100644 keyboards/dm9records/lain/lain.h create mode 100644 keyboards/dm9records/lain/readme.md create mode 100644 keyboards/dm9records/lain/rules.mk diff --git a/keyboards/dm9records/lain/config.h b/keyboards/dm9records/lain/config.h new file mode 100644 index 000000000000..8bccf4bbb57b --- /dev/null +++ b/keyboards/dm9records/lain/config.h @@ -0,0 +1,47 @@ +// Copyright 2022 Takuya Urakawa @hsgw (dm9records.com, 5z6p.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x04D8 +#define PRODUCT_ID 0xE8F4 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Dm9Records +#define PRODUCT lain + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 13 + +/* + * Keyboard Matrix Assignments + */ +#define MATRIX_ROW_PINS \ + { C6, D7, D6, D4 } +#define MATRIX_COL_PINS \ + { C7, F7, F6, F5, F4, F1, F0, B3, B2, B1, D2, D3, D5 } + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* LED Settings */ +#define LED_NUM 3 +#define LED_PINS \ + { B6, B5, B4 } + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 diff --git a/keyboards/dm9records/lain/info.json b/keyboards/dm9records/lain/info.json new file mode 100644 index 000000000000..57e28d28dd85 --- /dev/null +++ b/keyboards/dm9records/lain/info.json @@ -0,0 +1,60 @@ +{ + "keyboard_name": "lain", + "url": "https://5z6p.com/lain", + "maintainer": "hsgw", + "layouts": { + "LAYOUT": { + "layout": [ + { "x": 0, "y": 0 }, + { "x": 1, "y": 0 }, + { "x": 2, "y": 0 }, + { "x": 3, "y": 0 }, + { "x": 4, "y": 0 }, + { "x": 5, "y": 0 }, + { "x": 6, "y": 0 }, + { "x": 8.5, "y": 0 }, + { "x": 9.5, "y": 0 }, + { "x": 10.5, "y": 0 }, + { "x": 11.5, "y": 0 }, + { "x": 12.5, "y": 0 }, + { "x": 13.5, "y": 0, "w": 1.5 }, + { "x": 0.25, "y": 1 }, + { "x": 1.25, "y": 1 }, + { "x": 2.25, "y": 1 }, + { "x": 3.25, "y": 1 }, + { "x": 4.25, "y": 1 }, + { "x": 5.25, "y": 1 }, + { "x": 6.25, "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": 0.5, "y": 2, "w": 1.25 }, + { "x": 1.75, "y": 2 }, + { "x": 2.75, "y": 2 }, + { "x": 3.75, "y": 2 }, + { "x": 4.75, "y": 2 }, + { "x": 5.75, "y": 2 }, + { "x": 8.25, "y": 2 }, + { "x": 9.25, "y": 2 }, + { "x": 10.25, "y": 2 }, + { "x": 11.25, "y": 2 }, + { "x": 12.25, "y": 2 }, + { "x": 13.25, "y": 2, "w": 1.25 }, + { "x": 1, "y": 3, "w": 1.75 }, + { "x": 2.75, "y": 3, "w": 1.25 }, + { "x": 4, "y": 3 }, + { "x": 5, "y": 3, "w": 1.25 }, + { "x": 6.25, "y": 3 }, + { "x": 7.75, "y": 3 }, + { "x": 8.75, "y": 3, "w": 1.25 }, + { "x": 10, "y": 3 }, + { "x": 11, "y": 3 }, + { "x": 12, "y": 3 }, + { "x": 13, "y": 3, "w": 1.25 } + ] + } + } +} diff --git a/keyboards/dm9records/lain/keymaps/default/keymap.c b/keyboards/dm9records/lain/keymaps/default/keymap.c new file mode 100644 index 000000000000..655e3211b2db --- /dev/null +++ b/keyboards/dm9records/lain/keymaps/default/keymap.c @@ -0,0 +1,79 @@ +// Copyright 2022 Takuya Urakawa @hsgw (dm9records.com, 5z6p.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { BASE, NUM, FUNC, CONF }; +enum custom_keycodes { LED_EN = SAFE_RANGE }; + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [BASE] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_INS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LCTL, KC_LALT, KC_LGUI, MO(NUM), KC_SPC, KC_ENT, MO(FUNC), KC_RALT, KC_MENU, KC_RCTL, KC_RSFT + ), + [NUM] = LAYOUT( + KC_DEL, 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_CAPS, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), S(KC_MINS),S(KC_EQL), + _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [FUNC] = LAYOUT( + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,_______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [CONF] = LAYOUT( + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + LED_EN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LED_EN: + if (record->event.pressed) { + lain_enable_leds_toggle(); + } + return false; + default: + break; + } + return true; +} + +// clang-format on + +layer_state_t layer_state_set_user(layer_state_t state) { + layer_state_t computed = update_tri_layer_state(state, NUM, FUNC, CONF); + switch (get_highest_layer(computed)) { + case NUM: + lain_set_led(1, 1); + lain_set_led(2, 0); + break; + case FUNC: + lain_set_led(1, 0); + lain_set_led(2, 1); + break; + case CONF: + lain_set_led(1, 1); + lain_set_led(2, 1); + break; + default: + lain_set_led(1, 0); + lain_set_led(2, 0); + break; + } + return computed; +} + +bool led_update_user(led_t led_state) { + lain_set_led(0, led_state.caps_lock); + return false; +} diff --git a/keyboards/dm9records/lain/keymaps/default/readme.md b/keyboards/dm9records/lain/keymaps/default/readme.md new file mode 100644 index 000000000000..2f59c80ebcb4 --- /dev/null +++ b/keyboards/dm9records/lain/keymaps/default/readme.md @@ -0,0 +1,5 @@ +# The default keymap for lain + +## Leds setting +1: CAPS LOCK +2-3: Layor indicator diff --git a/keyboards/dm9records/lain/keymaps/via/keymap.c b/keyboards/dm9records/lain/keymaps/via/keymap.c new file mode 100644 index 000000000000..829ffb624f9b --- /dev/null +++ b/keyboards/dm9records/lain/keymaps/via/keymap.c @@ -0,0 +1,90 @@ +// Copyright 2022 Takuya Urakawa @hsgw (dm9records.com, 5z6p.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { BASE, NUM, FUNC, CONF, _04, _05 }; + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [BASE] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_INS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LCTL, KC_LALT, KC_LGUI, FN_MO13, KC_SPC, KC_ENT, FN_MO23, KC_RALT, KC_MENU, KC_RCTL, KC_RSFT + ), + [NUM] = LAYOUT( + KC_DEL, 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_CAPS, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), S(KC_MINS),S(KC_EQL), + _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [FUNC] = LAYOUT( + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,_______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [CONF] = LAYOUT( + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + USER00, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_04] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_05] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +// clang-format on + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case USER00: + // via user keycode USER00 : toggle leds enable + if (record->event.pressed) { + lain_enable_leds_toggle(); + } + return false; + default: + break; + } + return true; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case NUM: + lain_set_led(1, 1); + lain_set_led(2, 0); + break; + case FUNC: + lain_set_led(1, 0); + lain_set_led(2, 1); + break; + case CONF: + lain_set_led(1, 1); + lain_set_led(2, 1); + break; + default: + lain_set_led(1, 0); + lain_set_led(2, 0); + break; + } + return state; +} + +bool led_update_user(led_t led_state) { + lain_set_led(0, led_state.caps_lock); + return false; +} diff --git a/keyboards/dm9records/lain/keymaps/via/readme.md b/keyboards/dm9records/lain/keymaps/via/readme.md new file mode 100644 index 000000000000..efde27cb474b --- /dev/null +++ b/keyboards/dm9records/lain/keymaps/via/readme.md @@ -0,0 +1,8 @@ +# The via keymap for lain + +## Leds setting +1: CAPS LOCK +2-3: Layor indicator + +## Via user keycode +USER00 : toggle leds enable diff --git a/keyboards/dm9records/lain/keymaps/via/rules.mk b/keyboards/dm9records/lain/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/dm9records/lain/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dm9records/lain/lain.c b/keyboards/dm9records/lain/lain.c new file mode 100644 index 000000000000..cb8354e5c2a7 --- /dev/null +++ b/keyboards/dm9records/lain/lain.c @@ -0,0 +1,49 @@ +// Copyright 2022 Takuya Urakawa @hsgw (dm9records.com, 5z6p.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "lain.h" + +keyboard_config_t lain_config; + +static const pin_t leds[LED_NUM] = LED_PINS; +bool led_states[LED_NUM] = {0}; + +void lain_eeconfig_update_kb(void) { eeconfig_update_kb(lain_config.raw); } + +void lain_set_led(uint8_t no, bool flag) { + led_states[no] = flag; + writePin(leds[no], lain_config.led_enabled ? flag : false); +} + +void lain_enable_leds(bool flag) { + lain_config.led_enabled = flag; + lain_eeconfig_update_kb(); + + for (int i = 0; i < LED_NUM; i++) { + writePin(leds[i], lain_config.led_enabled ? led_states[i] : false); + } +} + +void lain_enable_leds_toggle(void) { lain_enable_leds(!lain_config.led_enabled); } + +void led_init_ports(void) { + for (uint8_t i = 0; i < LED_NUM; i++) { + setPinOutput(leds[i]); + lain_set_led(leds[i], 0); + } +} + +void eeconfig_init_kb(void) { + // set default config + lain_config.led_enabled = true; + lain_eeconfig_update_kb(); + + eeconfig_init_user(); +} + +void keyboard_post_init_kb(void) { + // read stored config + lain_config.raw = eeconfig_read_kb(); + + keyboard_post_init_user(); +} diff --git a/keyboards/dm9records/lain/lain.h b/keyboards/dm9records/lain/lain.h new file mode 100644 index 000000000000..e449416e50a9 --- /dev/null +++ b/keyboards/dm9records/lain/lain.h @@ -0,0 +1,41 @@ +// Copyright 2022 Takuya Urakawa @hsgw (dm9records.com, 5z6p.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +typedef union { + uint32_t raw; + struct { + bool led_enabled : 1; + }; +} keyboard_config_t; + +extern keyboard_config_t lain_config; + +void lain_set_led(uint8_t no, bool flag); +void lain_enable_leds(bool flag); +void lain_enable_leds_toggle(void); + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +// clang-format off +#define LAYOUT( \ + k01,k02,k03,k04,k05,k06,k07, k08,k09,k10,k11,k12,k13, \ + k14,k15,k16,k17,k18,k19,k20, k21,k22,k23,k24,k25,k26, \ + k27,k28,k29,k30,k31,k32, k33,k34,k35,k36,k37,k38, \ + k39,k40,k41,k42,k43, k44,k45,k46,k47,k48,k49) \ + { \ + {k01, k02, k03,k04,k05,k06,k07, k08,k09,k10,k11,k12,k13}, \ + {k14, k15, k16,k17,k18,k19,k20, k21,k22,k23,k24,k25,k26}, \ + {k27, k28, k29,k30,k31,k32,KC_NO, k33,k34,k35,k36,k37,k38}, \ + {KC_NO,k39, k40,k41,k42,k43,KC_NO, k44,k45,k46,k47,k48,k49} \ + } +// clang-format on diff --git a/keyboards/dm9records/lain/readme.md b/keyboards/dm9records/lain/readme.md new file mode 100644 index 000000000000..6eb216af6162 --- /dev/null +++ b/keyboards/dm9records/lain/readme.md @@ -0,0 +1,32 @@ +# lain + +![lain](https://i.imgur.com/V0mR1Bgh.jpg) + +Ergonomic 40% keyboard. + +serial exprement lain themed. +licensed under #lainttl (https://www.nbcuni.co.jp/rondorobe/anime/lain/ttl/) + +* Keyboard Maintainer: [Takuya Urakawa @hsgw](https://github.com/hsgw), https://5z6p.com +* Hardware Supported: onboard MCU. +* Hardware Availability: Group buy. (https://5z6p.com/products/lain/) + +Make example for this keyboard (after setting up your build environment): + + make dm9records/lain:default:flash + +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). + +## Note +### PCB revision + +If your pcb is not Rev.1, you should use the firmware in below repository. +https://github.com/hsgw/qmk_firmware/tree/lain/keyboards/dm9records/lain + +### Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/dm9records/lain/rules.mk b/keyboards/dm9records/lain/rules.mk new file mode 100644 index 000000000000..476cf49f278e --- /dev/null +++ b/keyboards/dm9records/lain/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From dcfa4712fb6a000079b5bea8d7cbfc8db91d7bcb Mon Sep 17 00:00:00 2001 From: Felix Jen Date: Sun, 6 Mar 2022 21:30:13 -0600 Subject: [PATCH 0281/1832] [Keyboard] Add Kyuu Hotswap (#16360) Co-authored-by: Drashna Jaelre --- keyboards/fjlabs/kyuu/config.h | 120 ++++++++++++++++++ keyboards/fjlabs/kyuu/info.json | 83 ++++++++++++ .../fjlabs/kyuu/keymaps/default/keymap.c | 39 ++++++ keyboards/fjlabs/kyuu/keymaps/via/keymap.c | 58 +++++++++ keyboards/fjlabs/kyuu/keymaps/via/rules.mk | 1 + keyboards/fjlabs/kyuu/kyuu.c | 14 ++ keyboards/fjlabs/kyuu/kyuu.h | 32 +++++ keyboards/fjlabs/kyuu/readme.md | 16 +++ keyboards/fjlabs/kyuu/rules.mk | 20 +++ 9 files changed, 383 insertions(+) create mode 100644 keyboards/fjlabs/kyuu/config.h create mode 100644 keyboards/fjlabs/kyuu/info.json create mode 100644 keyboards/fjlabs/kyuu/keymaps/default/keymap.c create mode 100644 keyboards/fjlabs/kyuu/keymaps/via/keymap.c create mode 100644 keyboards/fjlabs/kyuu/keymaps/via/rules.mk create mode 100644 keyboards/fjlabs/kyuu/kyuu.c create mode 100644 keyboards/fjlabs/kyuu/kyuu.h create mode 100644 keyboards/fjlabs/kyuu/readme.md create mode 100644 keyboards/fjlabs/kyuu/rules.mk diff --git a/keyboards/fjlabs/kyuu/config.h b/keyboards/fjlabs/kyuu/config.h new file mode 100644 index 000000000000..b73d6c8f852e --- /dev/null +++ b/keyboards/fjlabs/kyuu/config.h @@ -0,0 +1,120 @@ +/* +Copyright 2021 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7074 // FJLabs +#define PRODUCT_ID 0x1012 // Kyuu Hotswap +#define DEVICE_VER 0x0001 // Version 1 +#define MANUFACTURER FJLabs +#define PRODUCT Kyuu Hotswap + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ + +// Checked with Eagle Schematic +#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 } +#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Define Badge RGB */ +#define RGB_DI_PIN C7 +#define RGBLED_NUM 16 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGB_VAL_STEP 12 +#define RGBLIGHT_DEFAULT_SPD 144 +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL +/* #define RGBLIGHT_LAYER_BLINK*/ + +/* Define less important options */ + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/kyuu/info.json b/keyboards/fjlabs/kyuu/info.json new file mode 100644 index 000000000000..2bb1ebe8436c --- /dev/null +++ b/keyboards/fjlabs/kyuu/info.json @@ -0,0 +1,83 @@ +{ + "keyboard_name": "BKS65", + "url": "https://www.bolsakeyboardsupply.com", + "maintainer": "FJLabs", + "layouts": { + "LAYOUT_65_ansi_blocker_badge": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + {"x": 15, "y": 1}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + {"x": 15, "y": 2}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1.25, "y": 3}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y": 4, "w": 1.25}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/fjlabs/kyuu/keymaps/default/keymap.c b/keyboards/fjlabs/kyuu/keymaps/default/keymap.c new file mode 100644 index 000000000000..2e671423b5b0 --- /dev/null +++ b/keyboards/fjlabs/kyuu/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* +Copyright 2021 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_65_ansi_blocker_badge( + 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_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_PGUP, + 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, + KC_LSFT, 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_65_ansi_blocker_badge( + 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, KC_DEL, KC_HOME, + 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_PAUSE, RESET, KC_PGUP, + KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK + ) +}; diff --git a/keyboards/fjlabs/kyuu/keymaps/via/keymap.c b/keyboards/fjlabs/kyuu/keymaps/via/keymap.c new file mode 100644 index 000000000000..2a97513b380c --- /dev/null +++ b/keyboards/fjlabs/kyuu/keymaps/via/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2021 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_65_ansi_blocker_badge( + 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_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_PGUP, + 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, + KC_LSFT, 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_65_ansi_blocker_badge( + 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, KC_DEL, KC_HOME, + 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_PAUSE, RESET, KC_PGUP, + KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK + ), + + [_LAYER2] = LAYOUT_65_ansi_blocker_badge( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER3] = LAYOUT_65_ansi_blocker_badge( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + +}; diff --git a/keyboards/fjlabs/kyuu/keymaps/via/rules.mk b/keyboards/fjlabs/kyuu/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/fjlabs/kyuu/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/fjlabs/kyuu/kyuu.c b/keyboards/fjlabs/kyuu/kyuu.c new file mode 100644 index 000000000000..9de177c600fc --- /dev/null +++ b/keyboards/fjlabs/kyuu/kyuu.c @@ -0,0 +1,14 @@ +/* +Copyright 2021 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "kyuu.h" diff --git a/keyboards/fjlabs/kyuu/kyuu.h b/keyboards/fjlabs/kyuu/kyuu.h new file mode 100644 index 000000000000..865708eaf593 --- /dev/null +++ b/keyboards/fjlabs/kyuu/kyuu.h @@ -0,0 +1,32 @@ +/* +Copyright 2021 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +/* BKS65 Keymap Definitions */ +#define LAYOUT_65_ansi_blocker_badge( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K45, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \ +} diff --git a/keyboards/fjlabs/kyuu/readme.md b/keyboards/fjlabs/kyuu/readme.md new file mode 100644 index 000000000000..775868c5d128 --- /dev/null +++ b/keyboards/fjlabs/kyuu/readme.md @@ -0,0 +1,16 @@ +# PaperSky Studio Kyuu Hotswap + +The following is the QMK Firmware for the Kyuu compatible Hotswap PCB + +--- + +* Keyboard Maintainer: FJLabs +* Hardware Supported: Kyuu Hotswap PCB + +Make example for this keyboard (after setting up your build environment): + + make fjlabs/kyuu:default + +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). + +You can enter the bootloader by pressing the two reset pads on the back of the PCB with tweezers. diff --git a/keyboards/fjlabs/kyuu/rules.mk b/keyboards/fjlabs/kyuu/rules.mk new file mode 100644 index 000000000000..3bbcce8b855a --- /dev/null +++ b/keyboards/fjlabs/kyuu/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency +F_CPU = 8000000 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow \ No newline at end of file From 0e08fad5c5dfd8dd2522a9ed43058d993d35fdf4 Mon Sep 17 00:00:00 2001 From: kopibeng <52724926+kopibeng@users.noreply.github.com> Date: Mon, 7 Mar 2022 11:36:22 +0800 Subject: [PATCH 0282/1832] [Keyboard] Add support for Typ65+ (#16399) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Joel Challis --- keyboards/kopibeng/typ65/config.h | 59 +++++++++++++ keyboards/kopibeng/typ65/info.json | 88 +++++++++++++++++++ .../kopibeng/typ65/keymaps/default/keymap.c | 57 ++++++++++++ keyboards/kopibeng/typ65/keymaps/via/keymap.c | 57 ++++++++++++ keyboards/kopibeng/typ65/keymaps/via/rules.mk | 2 + keyboards/kopibeng/typ65/readme.md | 21 +++++ keyboards/kopibeng/typ65/rules.mk | 19 ++++ keyboards/kopibeng/typ65/typ65.c | 51 +++++++++++ keyboards/kopibeng/typ65/typ65.h | 54 ++++++++++++ 9 files changed, 408 insertions(+) create mode 100644 keyboards/kopibeng/typ65/config.h create mode 100644 keyboards/kopibeng/typ65/info.json create mode 100644 keyboards/kopibeng/typ65/keymaps/default/keymap.c create mode 100644 keyboards/kopibeng/typ65/keymaps/via/keymap.c create mode 100644 keyboards/kopibeng/typ65/keymaps/via/rules.mk create mode 100644 keyboards/kopibeng/typ65/readme.md create mode 100644 keyboards/kopibeng/typ65/rules.mk create mode 100644 keyboards/kopibeng/typ65/typ65.c create mode 100644 keyboards/kopibeng/typ65/typ65.h diff --git a/keyboards/kopibeng/typ65/config.h b/keyboards/kopibeng/typ65/config.h new file mode 100644 index 000000000000..9b96483b6a52 --- /dev/null +++ b/keyboards/kopibeng/typ65/config.h @@ -0,0 +1,59 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4B50 // 'KP' kopibeng +#define PRODUCT_ID 0x065E +#define DEVICE_VER 0x0001 +#define MANUFACTURER kopibeng +#define PRODUCT Typ65+ + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { D0, D1, D2, F6, B0 } +#define MATRIX_COL_PINS { D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F5, F4, F1, F0, E6 } + +#define LED_CAPS_LOCK_PIN B1 +#define INDICATOR_0 B2 +#define INDICATOR_1 B7 +#define INDICATOR_2 B3 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/kopibeng/typ65/info.json b/keyboards/kopibeng/typ65/info.json new file mode 100644 index 000000000000..ce3bfbee39ed --- /dev/null +++ b/keyboards/kopibeng/typ65/info.json @@ -0,0 +1,88 @@ +{ + "keyboard_name": "Typ65+", + "maintainer": "kopibeng", + "url": "https://www.axiomstudios.shop/", + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "K01", "x": 1.25, "y": 0 }, + { "label": "K02", "x": 2.25, "y": 0 }, + { "label": "K03", "x": 3.25, "y": 0 }, + { "label": "K04", "x": 4.25, "y": 0 }, + { "label": "K05", "x": 5.25, "y": 0 }, + { "label": "K06", "x": 6.25, "y": 0 }, + { "label": "K07", "x": 7.25, "y": 0 }, + { "label": "K08", "x": 8.25, "y": 0 }, + { "label": "K09", "x": 9.25, "y": 0 }, + { "label": "K0A", "x": 10.25, "y": 0 }, + { "label": "K0B", "x": 11.25, "y": 0 }, + { "label": "K0C", "x": 12.25, "y": 0 }, + { "label": "K0D", "x": 13.25, "y": 0 }, + { "label": "K1E", "x": 14.25, "y": 0 }, + { "label": "K0E", "x": 15.25, "y": 0 }, + { "label": "K0F", "x": 16.25, "y": 0 }, + + { "label": "K00", "x": 0, "y": 1 }, + { "label": "K11", "w": 1.5, "x": 1.25, "y": 1 }, + { "label": "K12", "x": 2.75, "y": 1 }, + { "label": "K13", "x": 3.75, "y": 1 }, + { "label": "K14", "x": 4.75, "y": 1 }, + { "label": "K15", "x": 5.75, "y": 1 }, + { "label": "K16", "x": 6.75, "y": 1 }, + { "label": "K17", "x": 7.75, "y": 1 }, + { "label": "K18", "x": 8.75, "y": 1 }, + { "label": "K19", "x": 9.75, "y": 1 }, + { "label": "K1A", "x": 10.75, "y": 1 }, + { "label": "K1B", "x": 11.75, "y": 1 }, + { "label": "K1C", "x": 12.75, "y": 1 }, + { "label": "K1D", "x": 13.75, "y": 1 }, + { "label": "K2E", "w": 1.5, "x": 14.75, "y": 1 }, + { "label": "K1F", "x": 16.25, "y": 1 }, + + { "label": "K10", "x": 0, "y": 2 }, + { "label": "K21", "w": 1.75, "x": 1.25, "y": 2 }, + { "label": "K22", "x": 3, "y": 2 }, + { "label": "K23", "x": 4, "y": 2 }, + { "label": "K24", "x": 5, "y": 2 }, + { "label": "K25", "x": 6, "y": 2 }, + { "label": "K26", "x": 7, "y": 2 }, + { "label": "K27", "x": 8, "y": 2 }, + { "label": "K28", "x": 9, "y": 2 }, + { "label": "K29", "x": 10, "y": 2 }, + { "label": "K2A", "x": 11, "y": 2 }, + { "label": "K2B", "x": 12, "y": 2 }, + { "label": "K2C", "x": 13, "y": 2 }, + { "label": "K2D", "w": 2.25, "x": 14, "y": 2 }, + { "label": "K2F", "x": 16.25, "y": 2 }, + + { "label": "K20", "x": 0, "y": 3 }, + { "label": "K31", "w": 1.25, "x": 1.25, "y": 3 }, + { "label": "K32", "x": 2.5, "y": 3 }, + { "label": "K33", "x": 3.5, "y": 3 }, + { "label": "K34", "x": 4.5, "y": 3 }, + { "label": "K35", "x": 5.5, "y": 3 }, + { "label": "K36", "x": 6.5, "y": 3 }, + { "label": "K37", "x": 7.5, "y": 3 }, + { "label": "K38", "x": 8.5, "y": 3 }, + { "label": "K39", "x": 9.5, "y": 3 }, + { "label": "K3A", "x": 10.5, "y": 3 }, + { "label": "K3B", "x": 11.5, "y": 3 }, + { "label": "K3C", "x": 12.5, "y": 3 }, + { "label": "K3D", "w": 1.75, "x": 13.5, "y": 3 }, + { "label": "K3E", "x": 15.25, "y": 3 }, + { "label": "K3F", "x": 16.25, "y": 3 }, + + { "label": "K30", "x": 0, "y": 4 }, + { "label": "K41", "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "K42", "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "K43", "w": 1.25, "x": 3.75, "y": 4 }, + { "label": "K47", "w": 6.25, "x": 5, "y": 4 }, + { "label": "K4B", "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "K4C", "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "K4D", "x": 14.25, "y": 4 }, + { "label": "K4E", "x": 15.25, "y": 4 }, + { "label": "K4F", "x": 16.25, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/kopibeng/typ65/keymaps/default/keymap.c b/keyboards/kopibeng/typ65/keymaps/default/keymap.c new file mode 100644 index 000000000000..63628ade6193 --- /dev/null +++ b/keyboards/kopibeng/typ65/keymaps/default/keymap.c @@ -0,0 +1,57 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // Default layer + [0] = LAYOUT_all( + 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_BSPC, KC_HOME, + KC_TRNS, 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_PGUP, + KC_TRNS, 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, + KC_TRNS, 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_END, + KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + // Fn1 Layer + [1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, + 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, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + // Fn2 Layer + [2] = LAYOUT_all( + 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, + 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, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + // Fn3 Layer + [3] = LAYOUT_all( + 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, + 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, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + diff --git a/keyboards/kopibeng/typ65/keymaps/via/keymap.c b/keyboards/kopibeng/typ65/keymaps/via/keymap.c new file mode 100644 index 000000000000..63628ade6193 --- /dev/null +++ b/keyboards/kopibeng/typ65/keymaps/via/keymap.c @@ -0,0 +1,57 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // Default layer + [0] = LAYOUT_all( + 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_BSPC, KC_HOME, + KC_TRNS, 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_PGUP, + KC_TRNS, 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, + KC_TRNS, 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_END, + KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + // Fn1 Layer + [1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, + 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, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + // Fn2 Layer + [2] = LAYOUT_all( + 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, + 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, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + // Fn3 Layer + [3] = LAYOUT_all( + 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, + 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, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + diff --git a/keyboards/kopibeng/typ65/keymaps/via/rules.mk b/keyboards/kopibeng/typ65/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/kopibeng/typ65/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kopibeng/typ65/readme.md b/keyboards/kopibeng/typ65/readme.md new file mode 100644 index 000000000000..af8106891d6e --- /dev/null +++ b/keyboards/kopibeng/typ65/readme.md @@ -0,0 +1,21 @@ +# Typ65+ + +![Typ65+](https://i.imgur.com/WCTwfdF.jpg) + +A 65% solderable or hotswap PCB with left side macro column, support for VIA and layer indicator LEDs. + +* Keyboard Maintainer: kopibeng +* Hardware Supported: A 65% keyboard with ATMEGA32U4 +* Hardware Availability: https://www.axiomstudios.shop/ + +Make example for this keyboard (after setting up your build environment): + + make kopibeng/typ65:via + +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). + +## Bootloader + +* Physical reset button: Press the RESET switch on top side of PCB. +* Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard. +* Keycode reset: Press the RESET keycode (default: MO(1) + HOME keys in default layout). diff --git a/keyboards/kopibeng/typ65/rules.mk b/keyboards/kopibeng/typ65/rules.mk new file mode 100644 index 000000000000..6089f643c4ee --- /dev/null +++ b/keyboards/kopibeng/typ65/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = no # Enable Encoder \ No newline at end of file diff --git a/keyboards/kopibeng/typ65/typ65.c b/keyboards/kopibeng/typ65/typ65.c new file mode 100644 index 000000000000..152b2e773720 --- /dev/null +++ b/keyboards/kopibeng/typ65/typ65.c @@ -0,0 +1,51 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "typ65.h" + +void keyboard_pre_init_kb (void) { + setPinOutput(INDICATOR_0); + setPinOutput(INDICATOR_1); + setPinOutput(INDICATOR_2); + + keyboard_pre_init_user(); +} + +__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case 1: + writePinHigh(INDICATOR_0); + writePinLow(INDICATOR_1); + writePinLow(INDICATOR_2); + break; + case 2: + writePinLow(INDICATOR_0); + writePinHigh(INDICATOR_1); + writePinLow(INDICATOR_2); + break; + case 3: + writePinLow(INDICATOR_0); + writePinLow(INDICATOR_1); + writePinHigh(INDICATOR_2); + break; + default: + writePinHigh(INDICATOR_0); + writePinHigh(INDICATOR_1); + writePinHigh(INDICATOR_2); + break; + } + return state; +} \ No newline at end of file diff --git a/keyboards/kopibeng/typ65/typ65.h b/keyboards/kopibeng/typ65/typ65.h new file mode 100644 index 000000000000..189139df3b14 --- /dev/null +++ b/keyboards/kopibeng/typ65/typ65.h @@ -0,0 +1,54 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define ___ KC_NO + +/* + * + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1E │0E │0F │ │0E │ Full Backspace + * ┌───┐ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ + * │00 │ │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │2E │1F │ │2E │ + * 2.25u ├───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌─┴─┐ │ ISO + * LShift │10 │ │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2F │ │2D │ │ + * ┌────────┐ ├───┤ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴───┘ + * │31 │ │20 │ │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │3F │ + * └────────┘ ├───┤ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │30 │ │41 │42 │43 │47 │4B │4C │ │4D │4E │4F │ + * └───┘ └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┐ + * │41 │42 │43 │47 │4C │ 7u Tsangan + * └─────┴───┴─────┴───────────────────────────┴─────┘ + * + */ + +#define LAYOUT_all( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1E, K0E, K0F, \ + K00, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, K1F, \ + K10, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \ + K20, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \ + K30, K41, K42, K43, K47, K4B, K4C, K4D, K4E, K4F \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F}, \ + {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F}, \ + {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F}, \ + {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F}, \ + {___, K41, K42, K43, ___, ___, ___, K47, ___, ___, ___, K4B, K4C, K4D, K4E, K4F} \ +} From d8971d707eddea5d16ef5fa3dad807b494aed39f Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Sun, 6 Mar 2022 20:55:08 -0800 Subject: [PATCH 0283/1832] Format code according to conventions (#16554) --- keyboards/checkerboards/quark_plus/keymaps/via/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/checkerboards/quark_plus/keymaps/via/rules.mk b/keyboards/checkerboards/quark_plus/keymaps/via/rules.mk index 69de2e4c5a0c..1e5b99807cb7 100644 --- a/keyboards/checkerboards/quark_plus/keymaps/via/rules.mk +++ b/keyboards/checkerboards/quark_plus/keymaps/via/rules.mk @@ -1 +1 @@ -VIA_ENABLE = yes +VIA_ENABLE = yes From ff6c70415c536e6435023627197550889ffa1501 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 6 Mar 2022 22:12:17 -0800 Subject: [PATCH 0284/1832] [Keymap] Drashna Mouse keys and oled updates (#16556) --- .../charybdis/3x5/keymaps/drashna/keymap.c | 4 +- .../charybdis/3x5/keymaps/drashna/mcuconf.h | 14 +- .../charybdis/3x5/keymaps/drashna/rules.mk | 7 +- .../charybdis/4x6/keymaps/drashna/chconf.h | 38 +++ .../charybdis/4x6/keymaps/drashna/config.h | 91 ++++++ .../charybdis/4x6/keymaps/drashna/halconf.h | 26 ++ .../charybdis/4x6/keymaps/drashna/keymap.c | 132 ++++++++ .../charybdis/4x6/keymaps/drashna/mcuconf.h | 44 +++ .../charybdis/4x6/keymaps/drashna/rules.mk | 24 ++ .../tractyl_manuform/5x6_right/f411/mcuconf.h | 14 +- .../tractyl_manuform/5x6_right/info.json | 1 - .../5x6_right/keymaps/drashna/config.h | 5 + .../5x6_right/keymaps/drashna/keymap.c | 84 +++-- .../5x6_right/keymaps/drashna/rules.mk | 1 + keyboards/handwired/tractyl_manuform/config.h | 1 - .../handwired/tractyl_manuform/info.json | 4 + .../tractyl_manuform/tractyl_manuform.c | 4 +- .../tractyl_manuform/tractyl_manuform.h | 4 +- .../splitkb/kyria/keymaps/drashna/rules.mk | 1 + layouts/community/ortho_4x12/drashna/rules.mk | 24 +- layouts/community/ortho_5x12/drashna/rules.mk | 10 +- .../community/split_3x6_3/drashna/keymap.c | 4 +- users/drashna/callbacks.c | 20 +- users/drashna/callbacks.h | 3 + users/drashna/config.h | 2 + users/drashna/keyrecords/caps_word.c | 164 ++++++---- users/drashna/keyrecords/caps_word.h | 77 +++++ users/drashna/keyrecords/process_records.c | 26 +- users/drashna/keyrecords/process_records.h | 4 +- users/drashna/keyrecords/unicode.c | 4 +- users/drashna/oled/oled_stuff.c | 290 ++++-------------- users/drashna/oled/sh110x.c | 86 ++---- users/drashna/pointing/pointing.c | 2 +- users/drashna/post_config.h | 5 +- users/drashna/rgb/rgb_stuff.c | 4 +- users/drashna/rules.mk | 5 +- users/drashna/split/transport_sync.c | 12 +- 37 files changed, 776 insertions(+), 465 deletions(-) create mode 100644 keyboards/bastardkb/charybdis/4x6/keymaps/drashna/chconf.h create mode 100644 keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h create mode 100644 keyboards/bastardkb/charybdis/4x6/keymaps/drashna/halconf.h create mode 100644 keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c create mode 100644 keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h create mode 100644 keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk create mode 100644 keyboards/handwired/tractyl_manuform/info.json diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c index aba169dbb53e..1af98688557f 100644 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c @@ -58,9 +58,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_MOUSE] = LAYOUT_charybdis_3x5( - _______, _______, _______, S_D_MOD, DPI_MOD, KC_WH_U, _______, _______, _______, _______, + _______, _______, _______, _______, _______, KC_WH_U, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, - _______, _______, _______, S_D_RMOD,DPI_RMOD, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, + _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, SNIPING, _______, _______, _______ ), [_LOWER] = LAYOUT_charybdis_3x5_wrapper( diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h index d868eae48e01..05b5776ac3bf 100644 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h @@ -21,8 +21,8 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE -#undef STM32_I2C_I2C1_RX_DMA_STREAM -#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) +// #undef STM32_I2C_I2C1_RX_DMA_STREAM +// #define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) #undef STM32_I2C_I2C1_TX_DMA_STREAM #define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) @@ -35,19 +35,9 @@ #undef STM32_SPI_USE_SPI1 #define STM32_SPI_USE_SPI1 TRUE -#undef STM32_SPI_SPI1_RX_DMA_STREAM -#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) -#undef STM32_SPI_SPI1_TX_DMA_STREAM -#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) - #undef STM32_SERIAL_USE_USART2 #define STM32_SERIAL_USE_USART2 TRUE -#undef STM32_UART_USART2_RX_DMA_STREAM -#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5) -#undef STM32_UART_USART2_TX_DMA_STREAM -#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6) - #undef STM32_GPT_USE_TIM4 #define STM32_GPT_USE_TIM4 TRUE diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk index d23bf99aac29..0cff2a7a2e97 100644 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk @@ -2,7 +2,10 @@ MCU = STM32F411 # Bootloader selection -BOOTLOADER = stm32-dfu +# BOOTLOADER = stm32-dfu +BOOTLOADER := tinyuf2 + +LTO_ENABLE := no BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite KEYBOARD_SHARED_EP = yes @@ -20,3 +23,5 @@ NKRO_ENABLE = yes CONSOLE_ENABLE = yes AUTOCORRECTION_ENABLE = yes + +DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/chconf.h b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/chconf.h new file mode 100644 index 000000000000..8b55eaeef089 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/chconf.h @@ -0,0 +1,38 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/blackpill_f411/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE + +#define CH_CFG_FACTORY_SEMAPHORES TRUE + +#define CH_CFG_FACTORY_MAILBOXES TRUE + +#define CH_CFG_FACTORY_OBJ_FIFOS TRUE + +#define CH_CFG_FACTORY_PIPES TRUE + +#include_next diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h new file mode 100644 index 000000000000..f384318dc4b0 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h @@ -0,0 +1,91 @@ +/** + * Copyright 2021 Charly Delay (@0xcharly) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#undef MATRIX_COL_PINS +#define MATRIX_COL_PINS \ + { B0, B1, B10, B3, B4, B5 } +#undef MATRIX_COL_PINS_RIGHT +#define MATRIX_COL_PINS_RIGHT \ + { B0, B1, B10, B3, B4, B5 } + +#undef MATRIX_ROW_PINS +#define MATRIX_ROW_PINS \ + { B15, A2, B8, A8, B9 } +#undef MATRIX_ROW_PINS_RIGHT +#define MATRIX_ROW_PINS_RIGHT \ + { B15, A2, B8, A8, B9 } + +#define DIODE_DIRECTION ROW2COL +#define SPLIT_HAND_PIN A3 + +#undef RGB_DI_PIN +#define RGB_DI_PIN A1 +#define WS2812_EXTERNAL_PULLUP +#define WS2812_PWM_DRIVER PWMD2 +#define WS2812_PWM_CHANNEL 2 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_EXTERNAL_PULLUP +#define WS2812_DMA_STREAM STM32_DMA1_STREAM1 +#define WS2812_DMA_CHANNEL 3 +#define WS2812_PWM_TARGET_PERIOD 800000 + +#define DEBUG_LED_PIN C13 + +#undef SOFT_SERIAL_PIN +// #define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. +#define SERIAL_USART_TX_PIN A9 +// #define SERIAL_USART_RX_PIN A3 +// #define SERIAL_USART_DRIVER SD2 +// #define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 +// #define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 +// #define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100 +// // #define SERIAL_USART_PIN_SWAP // swap RX and TX pins on master +// // To use the highest possible baudrate (3.75Mbit/s) uncomment the following +// // line, this can result in dropped communications so lower the speed if there +// // are many timeouts. +// // #define SERIAL_USART_SPEED (STM32_PCLK2 >> 4) + +#define CRC8_USE_TABLE +#define CRC8_OPTIMIZE_SPEED + +/* spi config for eeprom and pmw3360 sensor */ +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN A5 +#define SPI_SCK_PAL_MODE 5 +#define SPI_MOSI_PIN A7 +#define SPI_MOSI_PAL_MODE 5 +#define SPI_MISO_PIN A6 +#define SPI_MISO_PAL_MODE 5 + +#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 +#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 64 + +#undef PMW3360_CS_PIN +#define PMW3360_CS_PIN B14 +#define PMW3360_CS_MODE 3 +#define PMW3360_CS_DIVISOR 64 + +#define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200 +#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 400 +#define CHARYBDIS_MINIMUM_SNIPING_DPI 200 +#define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100 + +/* RGB Matrix. */ + +#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/halconf.h b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/halconf.h new file mode 100644 index 000000000000..97a288d7bdcb --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/halconf.h @@ -0,0 +1,26 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define HAL_USE_PWM TRUE +#define HAL_USE_SERIAL TRUE +// #define HAL_USE_I2C TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD +// #define HAL_USE_GPT TRUE + +#include_next diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c new file mode 100644 index 000000000000..e26ffc14aa4f --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c @@ -0,0 +1,132 @@ +/** + * Copyright 2021 Charly Delay (@0xcharly) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "drashna.h" + +#define LAYOUT_charybdis_4x6_wrapper(...) LAYOUT_charybdis_4x6(__VA_ARGS__) +#define LAYOUT_charybdis_4x6_base( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ + ) \ + LAYOUT_charybdis_4x6_wrapper( \ + KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, UC_CLUE, \ + SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ + LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ + OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ + KC_GRV, OS_LALT, OS_LGUI, TT(_MOUSE), KC_ENT, \ + KC_SPC, BK_LWER, DL_RAIS \ + ) + +#define LAYOUT_base_wrapper(...) LAYOUT_charybdis_4x6_base(__VA_ARGS__) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper( + _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, + _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, + _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ + ), + + [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper( + ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, + ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, + ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ + ), + [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper( + _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, + _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, + _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ + ), + + [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper( + _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, + _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, + _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ + ), + + + + [_MOUSE] = LAYOUT_charybdis_4x6( + _______, _______, _______, _______, _______, _______, DRGSCRL, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, SNP_TOG, + _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING, + _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, + _______, _______, _______, _______, _______, + _______, _______, _______ + ), + [_GAMEPAD] = LAYOUT_charybdis_4x6( + KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______, + KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______, + KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______, + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_H, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, + _______, _______, _______ + ), + [_DIABLO] = LAYOUT_charybdis_4x6( + KC_ESC, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, + KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, _______, _______, _______, _______, _______, _______, + KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, _______, _______, _______, _______, _______, _______, + KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, + _______, _______, _______ + ), + [_DIABLOII] = LAYOUT_charybdis_4x6( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_GRV, _______, _______, _______, _______, _______, _______, + KC_TAB, KC_A, KC_T, KC_Q, KC_I, KC_M, _______, _______, _______, _______, _______, _______, + KC_S, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, + KC_LCTL, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, + _______, _______, _______ + ), + + [_LOWER] = LAYOUT_charybdis_4x6_wrapper( + KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, + _______, _________________LOWER_L1__________________, _________________LOWER_R1__________________, _______, + _______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, + _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, + _______, _______, _______, _______, _______, + _______, _______, _______ + ), + + [_RAISE] = LAYOUT_charybdis_4x6_wrapper( + KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, + KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, + _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, + _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, + _______, _______, _______, _______, _______, + _______, _______, _______ + ) + +}; +// clang-format on + + +void matrix_init_keyemap(void) { setPinInputHigh(A0); } + +void matrix_scan_keymap(void) { + if (!readPin(A0)) { + reset_keyboard(); + } +} + +#ifdef USB_VBUS_PIN +bool usb_vbus_state(void) { + setPinInputLow(USB_VBUS_PIN); + wait_us(5); + return readPin(USB_VBUS_PIN); +} +#endif diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h new file mode 100644 index 000000000000..0f60612d7924 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h @@ -0,0 +1,44 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next "mcuconf.h" +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +// #undef STM32_I2C_I2C1_RX_DMA_STREAM +// #define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) +#undef STM32_I2C_I2C1_TX_DMA_STREAM +#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) + +#undef STM32_PWM_USE_TIM2 +#define STM32_PWM_USE_TIM2 TRUE + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE + +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE + +#undef STM32_GPT_USE_TIM4 +#define STM32_GPT_USE_TIM4 TRUE + +#undef STM32_ST_USE_TIMER +#define STM32_ST_USE_TIMER 5 diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk new file mode 100644 index 000000000000..ab86b1b8ba7c --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = STM32F411 + +# Bootloader selection +BOOTLOADER = stm32-dfu +# BOOTLOADER := tinyuf2 + +LTO_ENABLE := no + +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +KEYBOARD_SHARED_EP = yes +MOUSE_SHARED_EP = yes + +EEPROM_DRIVER = spi +WS2812_DRIVER = pwm +SERIAL_DRIVER = usart + +MOUSEKEY_ENABLE = yes +NKRO_ENABLE = yes +CONSOLE_ENABLE = yes + +AUTOCORRECTION_ENABLE = yes + +DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h index d868eae48e01..05b5776ac3bf 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h @@ -21,8 +21,8 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE -#undef STM32_I2C_I2C1_RX_DMA_STREAM -#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) +// #undef STM32_I2C_I2C1_RX_DMA_STREAM +// #define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) #undef STM32_I2C_I2C1_TX_DMA_STREAM #define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) @@ -35,19 +35,9 @@ #undef STM32_SPI_USE_SPI1 #define STM32_SPI_USE_SPI1 TRUE -#undef STM32_SPI_SPI1_RX_DMA_STREAM -#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) -#undef STM32_SPI_SPI1_TX_DMA_STREAM -#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) - #undef STM32_SERIAL_USE_USART2 #define STM32_SERIAL_USE_USART2 TRUE -#undef STM32_UART_USART2_RX_DMA_STREAM -#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5) -#undef STM32_UART_USART2_TX_DMA_STREAM -#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6) - #undef STM32_GPT_USE_TIM4 #define STM32_GPT_USE_TIM4 TRUE diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/info.json index 51eb009aa5d7..81a308fd2179 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/info.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/info.json @@ -1,7 +1,6 @@ { "keyboard_name": "Tractyl Manuform 5x6", "url": "", - "maintainer": "drashna", "layouts": { "LAYOUT_5x6_right": { "layout": [ diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h index c3a30d2bc877..2a7a18f01b69 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h @@ -22,3 +22,8 @@ #ifdef OLED_DRIVER_SH1107 # undef OLED_DISPLAY_128X64 #endif + +# define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200 +# define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 200 +# define CHARYBDIS_MINIMUM_SNIPING_DPI 400 +# define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 200 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c index 570760cf6621..82fd4cbea358 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c @@ -60,13 +60,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_MOUSE] = LAYOUT_5x6_right( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_WH_U, DPI_MOD, DPI_RMOD,S_D_MOD, S_D_RMOD,DRGSCRL, + _______, _______, _______, _______, _______, _______, DRGSCRL, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, SNP_TOG, + _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING, _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN3, - _______, KC_ACCEL, _______, + _______, _______, _______, _______, _______, _______, _______ ), [_GAMEPAD] = LAYOUT_5x6_right( @@ -104,30 +104,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _________________LOWER_L1__________________, _________________LOWER_R1__________________, _______, _______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______ + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______ ), [_RAISE] = LAYOUT_5x6_right_wrapper( - KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, - KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, - _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, - _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______ + KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, + KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, + _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, + _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______ ), [_ADJUST] = LAYOUT_5x6_right_wrapper( - KC_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_NOMODE, KC_NOMODE,KC_BLOCKS,KC_REGIONAL,_______,_______, KC_RST, - VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST, - KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS, - UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, - TG(_DIABLOII), AUTO_CTN, TG_GAME, TG_DBLO, - _______, REBOOT, KC_NUKE, - _______, _______, _______, - _______, _______, KC_NUKE, _______ + KC_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_NOMODE, KC_NOMODE,KC_BLOCKS,KC_REGIONAL,_______,_______, KC_RST, + VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST, + KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS, + UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, + TG(_DIABLOII), AUTO_CTN, TG_GAME, TG_DBLO, + _______, REBOOT, KC_NUKE, + _______, _______, _______, + _______, _______, KC_NUKE, _______ ), }; @@ -149,6 +149,16 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { }; // clang-format on #else + +deferred_token encoder_token = INVALID_DEFERRED_TOKEN; +static int8_t last_direction = -1; + +static uint32_t encoder_callback(uint32_t trigger_time, void *cb_arg) { + unregister_code(last_direction ? KC_WH_D : KC_WH_U); + last_direction = -1; + return 0; +} + bool encoder_update_user(uint8_t index, bool clockwise) { # ifdef SWAP_HANDS_ENABLE if (swap_hands) { @@ -158,7 +168,20 @@ bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { tap_code_delay(clockwise ? KC_VOLD : KC_VOLU, 5); } else if (index == 1) { - tap_code_delay(clockwise ? KC_WH_D : KC_WH_U, 5); + if (last_direction != clockwise || encoder_token == INVALID_DEFERRED_TOKEN) { + uint8_t keycode = clockwise ? KC_WH_D : KC_WH_U; + last_direction = clockwise; + if (encoder_token != INVALID_DEFERRED_TOKEN) { + if (cancel_deferred_exec(encoder_token)) { + encoder_token = INVALID_DEFERRED_TOKEN; + } + unregister_code(clockwise ? KC_WH_U : KC_WH_D); + } + register_code(keycode); + encoder_token = defer_exec(MOUSEKEY_WHEEL_DELAY + MOUSEKEY_WHEEL_INTERVAL, encoder_callback, NULL); + } else { + extend_deferred_exec(encoder_token, MOUSEKEY_WHEEL_INTERVAL); + } } return false; } @@ -167,7 +190,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { #ifdef OLED_ENABLE extern uint16_t typing_mode; -oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { return OLED_ROTATION_180; } +oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} void oled_render_large_display(void) { if (is_keyboard_left()) { @@ -176,13 +201,16 @@ void oled_render_large_display(void) { oled_advance_page(true); oled_advance_page(true); + // clang-format off static const char PROGMEM logo[] = { 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 }; + // clang-format on oled_write_P(logo, false); +# ifdef CUSTOM_UNICODE_ENABLE oled_set_cursor(1, 14); oled_write_ln_P(PSTR("Unicode:"), false); switch (typing_mode) { @@ -204,10 +232,14 @@ void oled_render_large_display(void) { case KC_ZALGO: oled_write_P(PSTR(" Zalgo"), false); break; - default: + case KC_NOMODE: oled_write_P(PSTR(" Normal"), false); break; + default: + oled_write_P(PSTR(" Unknown"), false); + break; } +# endif } } #endif diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk index 9ef58ab5ecde..4cad07ef66be 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk @@ -10,6 +10,7 @@ ENCODER_ENABLE = yes ENCODER_MAP_ENABLE = yes AUTOCORRECTION_ENABLE = yes CAPS_WORD_ENABLE = yes +DEFERRED_EXEC_ENABLE = yes ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/elite_c) RGBLIGHT_ENABLE = no diff --git a/keyboards/handwired/tractyl_manuform/config.h b/keyboards/handwired/tractyl_manuform/config.h index f9160ea148cb..821f9be9b602 100644 --- a/keyboards/handwired/tractyl_manuform/config.h +++ b/keyboards/handwired/tractyl_manuform/config.h @@ -22,7 +22,6 @@ along with this program. If not, see . /* USB Device descriptor parameter */ #define VENDOR_ID 0x44DD -#define MANUFACTURER Drashna /* disable debug print */ // #define NO_DEBUG diff --git a/keyboards/handwired/tractyl_manuform/info.json b/keyboards/handwired/tractyl_manuform/info.json new file mode 100644 index 000000000000..7214e6773b47 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/info.json @@ -0,0 +1,4 @@ +{ + "manufacturer": "QMK Community", + "maintainer": "Drashna Jael're" +} diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c index 033146134d65..0ae49b639730 100644 --- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c @@ -247,7 +247,7 @@ static bool has_shift_mod(void) { * - default DPI: internal table index/actual DPI * - sniping DPI: internal table index/actual DPI */ -static void debug_charybdis_config_to_console(charybdis_config_t* config) { +__attribute__((unused)) static void debug_charybdis_config_to_console(charybdis_config_t* config) { # ifdef CONSOLE_ENABLE dprintf("(charybdis) process_record_kb: config = {\n" "\traw = 0x%04X,\n" @@ -264,7 +264,6 @@ static void debug_charybdis_config_to_console(charybdis_config_t* config) { bool process_record_kb(uint16_t keycode, keyrecord_t* record) { if (!process_record_user(keycode, record)) { - debug_charybdis_config_to_console(&g_charybdis_config); return false; } # ifndef NO_CHARYBDIS_KEYCODES @@ -321,7 +320,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { pointing_device_send(); } # endif // !MOUSEKEY_ENABLE - debug_charybdis_config_to_console(&g_charybdis_config); return true; } diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h index 197aee985e59..b62b6f7553ef 100644 --- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h @@ -24,8 +24,6 @@ # include "4x6_right.h" #endif -#ifdef POINTING_DEVICE_ENABLE -# ifndef NO_CHARYBDIS_KEYCODES enum charybdis_keycodes { # ifdef VIA_ENABLE POINTER_DEFAULT_DPI_FORWARD = USER00, @@ -50,8 +48,8 @@ enum charybdis_keycodes { # define SNP_TOG SNIPING_MODE_TOGGLE # define DRGSCRL DRAGSCROLL_MODE # define DRG_TOG DRAGSCROLL_MODE_TOGGLE -# endif // !NO_CHARYBDIS_KEYCODES +#ifdef POINTING_DEVICE_ENABLE /** \brief Return the current DPI value for the pointer's default mode. */ uint16_t charybdis_get_pointer_default_dpi(void); diff --git a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk index ddba0780a23b..3ddcddbee31e 100644 --- a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk @@ -20,6 +20,7 @@ ifeq ($(strip $(KEYBOARD)), splitkb/kyria/rev1/proton_c) CTPC = yes AUTOCORRECTION_ENABLE = yes CAPS_WORD_ENABLE = yes + OLED_DRIVER = custom DEBUG_MATRIX_SCAN_RATE_ENABLE = api else LTO_ENABLE = yes diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk index 2905fb0fd490..e5c25d6fd5dc 100644 --- a/layouts/community/ortho_4x12/drashna/rules.mk +++ b/layouts/community/ortho_4x12/drashna/rules.mk @@ -1,24 +1,22 @@ -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control +EXTRAKEY_ENABLE = yes # Audio control and System control TAP_DANCE_ENABLE = no -SPACE_CADET_ENABLE = no NKRO_ENABLE = yes CAPS_WORD_ENABLE = no +CONSOLE_ENABLE = no +COMMAND_ENABLE = no +BACKLIGHT_ENABLE = no -ifneq ($(strip $(KEYBOARD)), planck/rev6) - CONSOLE_ENABLE = no - COMMAND_ENABLE = no - ifeq ($(strip $(LAYOUT_HAS_RGB)), yes) - RGBLIGHT_ENABLE = yes - INDICATOR_LIGHTS = yes - RGBLIGHT_STARTUP_ANIMATION = yes - endif -else +ifeq ($(strip $(LAYOUT_HAS_RGB)), yes) + RGBLIGHT_ENABLE = yes +endif + +ifeq ($(strip $(KEYBOARD)), planck/rev6) CONSOLE_ENABLE = yes RGBLIGHT_ENABLE = yes - RGBLIGHT_STARTUP_ANIMATION = yes RGB_MATRIX_ENABLE = no + RGBLIGHT_STARTUP_ANIMATION = yes AUDIO_ENABLE = yes EEPROM_DRIVER = i2c ENCODER_MAP_ENABLE = yes diff --git a/layouts/community/ortho_5x12/drashna/rules.mk b/layouts/community/ortho_5x12/drashna/rules.mk index 98ac8290921d..57cc3ce0be18 100644 --- a/layouts/community/ortho_5x12/drashna/rules.mk +++ b/layouts/community/ortho_5x12/drashna/rules.mk @@ -1,7 +1,7 @@ -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration TAP_DANCE_ENABLE = no NKRO_ENABLE = yes @@ -12,7 +12,7 @@ ifeq ($(strip $(KEYBOARD)), fractal) AUDIO_SUPPORTED = yes RGBLIGHT_SUPPORTED = yes RGBLIGHT_ENABLE = yes - RGBLIGHT_STARTUP_ANIMATION = yes + RGBLIGHT_STARTUP_ANIMATION = no BOOTLOADER = qmk-dfu CUSTOM_UNICODE_ENABLE = no endif diff --git a/layouts/community/split_3x6_3/drashna/keymap.c b/layouts/community/split_3x6_3/drashna/keymap.c index 4bd4618d0ca7..1bc758fce962 100644 --- a/layouts/community/split_3x6_3/drashna/keymap.c +++ b/layouts/community/split_3x6_3/drashna/keymap.c @@ -123,7 +123,7 @@ uint8_t current_kaki_frame = 0; uint8_t current_rtogi_frame = 0; // uint8_t current_ltogi_frame = 0; // clang-format off -void render_kitty(void) { +void render_small_kitty(void) { // Images credit j-inc(/James Incandenza) and pixelbenny. Credit to obosob for initial animation approach. static const char PROGMEM sleep[SLEEP_FRAMES][ANIM_SIZE] = {{ // 'sleep1', 32x32px @@ -228,7 +228,7 @@ void render_kitty(void) { } void oled_driver_render_logo_right(void) { - render_kitty(); + render_small_kitty(); oled_set_cursor(0, 4); render_default_layer_state(); diff --git a/users/drashna/callbacks.c b/users/drashna/callbacks.c index f01aab433e36..c11a381deedc 100644 --- a/users/drashna/callbacks.c +++ b/users/drashna/callbacks.c @@ -33,10 +33,10 @@ void matrix_init_user(void) { __attribute__((weak)) void keyboard_post_init_keymap(void) {} void keyboard_post_init_user(void) { -#if defined(RGBLIGHT_ENABLE) +#if defined(CUSTOM_RGBLIGHT) keyboard_post_init_rgb_light(); #endif -#if defined(RGB_MATRIX_ENABLE) +#if defined(CUSTOM_RGB_MATRIX) keyboard_post_init_rgb_matrix(); #endif #if defined(SPLIT_KEYBOARD) && defined(SPLIT_TRANSACTION_IDS_USER) @@ -104,8 +104,10 @@ void matrix_scan_user(void) { #ifdef TAP_DANCE_ENABLE // Run Diablo 3 macro checking code. run_diablo_macro_check(); #endif // TAP_DANCE_ENABLE - -#if defined(RGB_MATRIX_ENABLE) +#ifdef CAPS_WORD_ENABLE + caps_word_task(); +#endif +#if defined(CUSTOM_RGB_MATRIX) matrix_scan_rgb_matrix(); #endif matrix_scan_secret(); @@ -126,12 +128,12 @@ layer_state_t layer_state_set_user(layer_state_t state) { } state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); -#if defined(POINTING_DEVICE_ENABLE) +#if defined(CUSTOM_POINTING_DEVICE) state = layer_state_set_pointing(state); #endif -#if defined(RGBLIGHT_ENABLE) +#if defined(CUSTOM_RGBLIGHT) state = layer_state_set_rgb_light(state); -#endif // RGBLIGHT_ENABLE +#endif // CUSTOM_RGBLIGHT #if defined(AUDIO_ENABLE) && !defined(__arm__) static bool is_gamepad_on = false; if (layer_state_cmp(state, _GAMEPAD) != is_gamepad_on) { @@ -156,9 +158,9 @@ layer_state_t default_layer_state_set_user(layer_state_t s state = default_layer_state_set_keymap(state); #if 0 -# if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) +# if defined(CUSTOM_RGBLIGHT) || defined(RGB_MATRIX_ENABLE) state = default_layer_state_set_rgb(state); -# endif // RGBLIGHT_ENABLE +# endif #endif return state; } diff --git a/users/drashna/callbacks.h b/users/drashna/callbacks.h index f6ac6b88dedc..5fe5f6a8089b 100644 --- a/users/drashna/callbacks.h +++ b/users/drashna/callbacks.h @@ -23,3 +23,6 @@ void matrix_init_unicode(void); #ifdef SPLIT_KEYBOARD void matrix_slave_scan_keymap(void); #endif +#ifdef CAPS_WORD_ENABLE +# include "keyrecords/caps_word.h" +#endif diff --git a/users/drashna/config.h b/users/drashna/config.h index f55ed36bc25b..4551c3504fe8 100644 --- a/users/drashna/config.h +++ b/users/drashna/config.h @@ -291,4 +291,6 @@ # ifndef OLED_BRIGHTNESS # define OLED_BRIGHTNESS 50 # endif +# undef OLED_UPDATE_INTERVAL +# define OLED_UPDATE_INTERVAL 100 #endif diff --git a/users/drashna/keyrecords/caps_word.c b/users/drashna/keyrecords/caps_word.c index 0c7cd6cfe553..a152b2387b9f 100644 --- a/users/drashna/keyrecords/caps_word.c +++ b/users/drashna/keyrecords/caps_word.c @@ -1,83 +1,139 @@ -// Copyright 2021 Google LLC. -// SPDX-License-Identifier: Apache-2.0 - #include "caps_word.h" -#ifndef IS_COMMAND -# define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) -#endif - -bool caps_word_enabled = false; -bool caps_word_shifted = false; - -/** - * @brief Handler for Caps Word feature. - * - * This checks the keycodes, and applies shift to the correct keys, if and when needid. - * - * @param keycode Keycode from matrix - * @param record keyrecord_t data structure - * @return true Continue processing keycode and sent to host - * @return false Stop processing keycode, and do not send to host - */ +static bool caps_word_active = false; + +#if CAPS_WORD_IDLE_TIMEOUT > 0 +# if CAPS_WORD_IDLE_TIMEOUT < 100 || CAPS_WORD_IDLE_TIMEOUT > 30000 +// Constrain timeout to a sensible range. With the 16-bit timer, the longest +// representable timeout is 32768 ms, rounded here to 30000 ms = half a minute. +# error "caps_word: CAPS_WORD_IDLE_TIMEOUT must be between 100 and 30000 ms" +# endif + +static uint16_t idle_timer = 0; + +void caps_word_task(void) { + if (caps_word_active && timer_expired(timer_read(), idle_timer)) { + caps_word_set(false); + } +} +#endif // CAPS_WORD_IDLE_TIMEOUT > 0 + bool process_caps_word(uint16_t keycode, keyrecord_t* record) { - if (!caps_word_enabled) { +#ifndef NO_ACTION_ONESHOT + const uint8_t mods = get_mods() | get_oneshot_mods(); +#else + const uint8_t mods = get_mods(); +#endif // NO_ACTION_ONESHOT + + if (!caps_word_active) { // Pressing both shift keys at the same time enables caps word. - if (IS_COMMAND()) { - clear_mods(); - clear_oneshot_mods(); - caps_word_shifted = false; - caps_word_enabled = true; + if ((mods & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) { + caps_word_set(true); // Activate Caps Word. return false; } return true; + } else { +#if CAPS_WORD_IDLE_TIMEOUT > 0 + idle_timer = record->event.time + CAPS_WORD_IDLE_TIMEOUT; +#endif // CAPS_WORD_IDLE_TIMEOUT > 0 } if (!record->event.pressed) { return true; } - if (!((get_mods() | get_oneshot_mods()) & ~MOD_MASK_SHIFT)) { + if (!(mods & ~MOD_MASK_SHIFT)) { switch (keycode) { + // Ignore MO, TO, TG, TT, and OSL layer switch keys. + case QK_MOMENTARY ... QK_MOMENTARY_MAX: + case QK_TO ... QK_TO_MAX: + case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: + case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: + case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: + return true; + +#ifndef NO_ACTION_TAPPING case QK_MOD_TAP ... QK_MOD_TAP_MAX: - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: - // Earlier return if this has not been considered tapped yet. if (record->tap.count == 0) { + // Deactivate if a mod becomes active through holding a mod-tap key. + caps_word_set(false); return true; } - // Get the base tapping keycode of a mod- or layer-tap key. keycode &= 0xff; - } + break; - switch (keycode) { - // Letter keys should be shifted. - case KC_A ... KC_Z: - if (!caps_word_shifted) { - register_code(KC_LSFT); +# ifndef NO_ACTION_LAYER + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: +# endif // NO_ACTION_LAYER + if (record->tap.count == 0) { + return true; } - caps_word_shifted = true; - return true; + keycode &= 0xff; + break; +#endif // NO_ACTION_TAPPING - // Keycodes that continue caps word but shouldn't get shifted. - case KC_1 ... KC_0: - case KC_BSPC: - case KC_MINS: - case KC_UNDS: - if (caps_word_shifted) { - unregister_code(KC_LSFT); +#ifdef SWAP_HANDS_ENABLE + case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: + if (keycode > 0x56F0 || record->tap.count == 0) { + return true; } - caps_word_shifted = false; - return true; + keycode &= 0xff; + break; +#endif // SWAP_HANDS_ENABLE + } - // Any other keycode disables caps word. + if (caps_word_press_user(keycode)) { + return true; } } - // Disable caps word. - caps_word_enabled = false; - if (caps_word_shifted) { - unregister_code(KC_LSFT); - } - caps_word_shifted = false; + caps_word_set(false); // Deactivate Caps Word. return true; } + +void caps_word_set(bool active) { + if (active != caps_word_active) { + if (active) { + clear_mods(); +#ifndef NO_ACTION_ONESHOT + clear_oneshot_mods(); +#endif // NO_ACTION_ONESHOT +#if CAPS_WORD_IDLE_TIMEOUT > 0 + idle_timer = timer_read() + CAPS_WORD_IDLE_TIMEOUT; +#endif // CAPS_WORD_IDLE_TIMEOUT > 0 + } else if ((get_weak_mods() & MOD_BIT(KC_LSFT)) != 0) { + // If the weak shift mod is still on, turn it off and send an update to + // the host computer. + del_weak_mods(MOD_BIT(KC_LSFT)); + send_keyboard_report(); + } + + caps_word_active = active; + caps_word_set_user(active); + } +} + +bool caps_word_get(void) { + return caps_word_active; +} + +__attribute__((weak)) void caps_word_set_user(bool active) {} + +__attribute__((weak)) bool caps_word_press_user(uint16_t keycode) { + switch (keycode) { + // Keycodes that continue Caps Word, with shift applied. + case KC_A ... KC_Z: + add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key. + return true; + + // Keycodes that continue Caps Word, without shifting. + case KC_1 ... KC_0: + case KC_BSPC: + case KC_MINS: + case KC_UNDS: + return true; + + default: + return false; // Deactivate Caps Word. + } +} diff --git a/users/drashna/keyrecords/caps_word.h b/users/drashna/keyrecords/caps_word.h index 79e410dddaf5..4279d7e831b5 100644 --- a/users/drashna/keyrecords/caps_word.h +++ b/users/drashna/keyrecords/caps_word.h @@ -5,4 +5,81 @@ #include "drashna.h" +// Call this function from `process_record_user()` to implement Caps Word. bool process_caps_word(uint16_t keycode, keyrecord_t* record); + +// If CAPS_WORD_IDLE_TIMEOUT is set, call `caps_word_task()` from +// `matrix_scan_user()` as described above. +// +// If CAPS_WORD_IDLE_TIMEOUT isn't set, calling this function has no effect (but +// will still compile). +#if CAPS_WORD_IDLE_TIMEOUT > 0 +void caps_word_task(void); +#else +static inline void caps_word_task(void) {} +#endif + +// Activates or deactivates Caps Word. For instance activate Caps Word with a +// combo by defining a `COMBO_ACTION` that calls `caps_word_set(true)`: +// +// void process_combo_event(uint16_t combo_index, bool pressed) { +// switch(combo_index) { +// case CAPS_COMBO: +// if (pressed) { +// caps_word_set(true); // Activate Caps Word. +// } +// break; +// +// // Other combos... +// } +// } +void caps_word_set(bool active); + +// Returns whether Caps Word is currently active. +bool caps_word_get(void); + +// An optional callback that gets called when Caps Word turns on or off. This is +// useful to represent the current Caps Word state, e.g. by setting an LED or +// playing a sound. In your keymap, define +// +// void caps_word_set_user(bool active) { +// if (active) { +// // Do something when Caps Word activates. +// } else { +// // Do something when Caps Word deactivates. +// } +// } +void caps_word_set_user(bool active); + +// An optional callback which is called on every key press while Caps Word is +// active. When the key should be shifted (that is, a letter key), the callback +// should call `add_weak_mods(MOD_BIT(KC_LSFT))` to shift the key. The callback +// also determines whether the key should continue Caps Word. Returning true +// continues the current "word", while returning false is "word breaking" and +// deactivates Caps Word. The default callback is +// +// bool caps_word_press_user(uint16_t keycode) { +// switch (keycode) { +// // Keycodes that continue Caps Word, with shift applied. +// case KC_A ... KC_Z: +// add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key. +// return true; +// +// // Keycodes that continue Caps Word, without shifting. +// case KC_1 ... KC_0: +// case KC_BSPC: +// case KC_MINS: +// case KC_UNDS: +// return true; +// +// default: +// return false; // Deactivate Caps Word. +// } +// } +// +// To customize, copy the above function into your keymap and add/remove +// keycodes to the above cases. +// +// NOTE: Outside of this callback, you can use `caps_word_set(false)` to +// deactivate Caps Word. +bool caps_word_press_user(uint16_t keycode); diff --git a/users/drashna/keyrecords/process_records.c b/users/drashna/keyrecords/process_records.c index 160a88021573..99267d88a800 100644 --- a/users/drashna/keyrecords/process_records.c +++ b/users/drashna/keyrecords/process_records.c @@ -41,21 +41,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef KEYLOGGER_ENABLE uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %b, time: %5u, int: %b, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count); #endif // KEYLOGGER_ENABLE -#ifdef OLED_ENABLE +#if defined(OLED_ENABLE) && defined(CUSTOM_OLED_DRIVER) process_record_user_oled(keycode, record); #endif // OLED if (!(process_record_keymap(keycode, record) && process_record_secrets(keycode, record) -#ifdef RGB_MATRIX_ENABLE +#ifdef CUSTOM_RGB_MATRIX && process_record_user_rgb_matrix(keycode, record) #endif -#ifdef RGBLIGHT_ENABLE +#ifdef CUSTOM_RGBLIGHT && process_record_user_rgb_light(keycode, record) #endif #ifdef CUSTOM_UNICODE_ENABLE && process_record_unicode(keycode, record) #endif -#if defined(POINTING_DEVICE_ENABLE) +#if defined(CUSTOM_POINTING_DEVICE) && process_record_pointing(keycode, record) #endif #ifdef CAPS_WORD_ENABLE @@ -142,26 +142,26 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; case KC_RGB_T: // This allows me to use underglow as layer indication, or as normal -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) +#if defined(CUSTOM_RGBLIGHT) || defined(CUSTOM_RGB_MATRIX) if (record->event.pressed) { userspace_config.rgb_layer_change ^= 1; dprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change); eeconfig_update_user(userspace_config.raw); if (userspace_config.rgb_layer_change) { -# if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) +# if defined(CUSTOM_RGBLIGHT) && defined(CUSTOM_RGB_MATRIX) rgblight_enable_noeeprom(); # endif layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) -# if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) +# if defined(CUSTOM_RGBLIGHT) && defined(CUSTOM_RGB_MATRIX) } else { rgblight_disable_noeeprom(); # endif } } -#endif // RGBLIGHT_ENABLE +#endif // CUSTOM_RGBLIGHT break; -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) +#if defined(CUSTOM_RGBLIGHT) || defined(CUSTOM_RGB_MATRIX) case RGB_TOG: // Split keyboards need to trigger on key-up for edge-case issue # ifndef SPLIT_KEYBOARD @@ -169,10 +169,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { # else if (!record->event.pressed) { # endif -# if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) +# if defined(CUSTOM_RGBLIGHT) && !defined(RGBLIGHT_DISABLE_KEYCODES) rgblight_toggle(); # endif -# if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) +# if defined(CUSTOM_RGB_MATRIX) && !defined(RGB_MATRIX_DISABLE_KEYCODES) rgb_matrix_toggle(); # endif } @@ -181,7 +181,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions if (record->event.pressed) { bool is_eeprom_updated; -# if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) +# if defined(CUSTOM_RGBLIGHT) && !defined(RGBLIGHT_DISABLE_KEYCODES) // This disables layer indication, as it's assumed that if you're changing this ... you want that disabled if (userspace_config.rgb_layer_change) { userspace_config.rgb_layer_change = false; @@ -189,7 +189,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { is_eeprom_updated = true; } # endif -# if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) +# if defined(CUSTOM_RGB_MATRIX) && defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) if (userspace_config.rgb_matrix_idle_anim) { userspace_config.rgb_matrix_idle_anim = false; dprintf("RGB Matrix Idle Animation [EEPROM]: %u\n", userspace_config.rgb_matrix_idle_anim); diff --git a/users/drashna/keyrecords/process_records.h b/users/drashna/keyrecords/process_records.h index d7a81d4607ab..5ca296613140 100644 --- a/users/drashna/keyrecords/process_records.h +++ b/users/drashna/keyrecords/process_records.h @@ -4,8 +4,10 @@ #pragma once #include "drashna.h" -#if defined(KEYBOARD_handwired_tractyl_manuform) +#if defined(KEYBOARD_handwired_tractyl_manuform) && defined(POINTING_DEVICE_ENABLE) # define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE +#elif defined(KEYBOARD_bastardkb_charybdis) +# define PLACEHOLDER_SAFE_RANGE CHARYBDIS_SAFE_RANGE #else # define PLACEHOLDER_SAFE_RANGE SAFE_RANGE #endif diff --git a/users/drashna/keyrecords/unicode.c b/users/drashna/keyrecords/unicode.c index 5acd51da9b99..af87ee2a61cf 100644 --- a/users/drashna/keyrecords/unicode.c +++ b/users/drashna/keyrecords/unicode.c @@ -6,7 +6,7 @@ #include "drashna.h" #include "process_unicode_common.h" -uint16_t typing_mode; +uint16_t typing_mode = KC_NOMODE; /** * @brief Registers the unicode keystrokes based on desired unicode @@ -245,7 +245,7 @@ bool process_record_unicode(uint16_t keycode, keyrecord_t *record) { if (typing_mode != keycode) { typing_mode = keycode; } else { - typing_mode = 0; + typing_mode = KC_NOMODE; } } break; diff --git a/users/drashna/oled/oled_stuff.c b/users/drashna/oled/oled_stuff.c index 752829e0fa27..2a26b8b6386e 100644 --- a/users/drashna/oled/oled_stuff.c +++ b/users/drashna/oled/oled_stuff.c @@ -19,6 +19,9 @@ #ifdef UNICODE_COMMON_ENABLE # include "process_unicode_common.h" #endif +# ifdef AUDIO_CLICKY +# include "process_clicky.h" +# endif #include extern bool host_driver_disabled; @@ -26,7 +29,9 @@ extern bool host_driver_disabled; uint32_t oled_timer = 0; char keylog_str[OLED_KEYLOGGER_LENGTH] = {0}; static uint16_t log_timer = 0; +#ifdef OLED_DISPLAY_VERBOSE static const char PROGMEM display_border[3] = {0x0, 0xFF, 0x0}; +#endif deferred_token kittoken; @@ -101,12 +106,6 @@ bool process_record_user_oled(uint16_t keycode, keyrecord_t *record) { return true; } -void update_log(void) { - if (timer_elapsed(log_timer) > 750) { - // add_keylog(0); - } -} - /** * @brief Renders keylogger buffer to oled * @@ -448,20 +447,24 @@ void render_bootmagic_status(void) { #endif } -#if defined(POINTING_DEVICE_ENABLE) +#if defined(CUSTOM_POINTING_DEVICE) extern bool tap_toggling; #endif void render_user_status(void) { #ifdef AUDIO_ENABLE - bool is_audio_on = false, is_clicky_on = false; + bool is_audio_on = false, l_is_clicky_on = false; # ifdef SPLIT_KEYBOARD - is_audio_on = user_state.audio_enable; - is_clicky_on = user_state.audio_clicky_enable; + is_audio_on = user_state.audio_enable; +# ifdef AUDIO_CLICKY + l_is_clicky_on = user_state.audio_clicky_enable; +# endif # else is_audio_on = is_audio_on(); - is_clicky_on = is_clicky_on(); +# ifdef AUDIO_CLICKY + l_is_clicky_on = is_clicky_on(); +# endif # endif #endif #if defined(OLED_DISPLAY_VERBOSE) @@ -476,7 +479,7 @@ void render_user_status(void) { # if !defined(OLED_DISPLAY_VERBOSE) oled_write_P(PSTR(" "), false); # endif -#elif defined(POINTING_DEVICE_ENABLE) +#elif defined(CUSTOM_POINTING_DEVICE) static const char PROGMEM mouse_lock[3] = {0xF2, 0xF3, 0}; oled_write_P(mouse_lock, tap_toggling); #endif @@ -486,7 +489,7 @@ void render_user_status(void) { # ifdef AUDIO_CLICKY static const char PROGMEM audio_clicky_status[2][3] = {{0xF4, 0xF5, 0}, {0xF6, 0xF7, 0}}; - oled_write_P(audio_clicky_status[is_clicky_on && is_audio_on], false); + oled_write_P(audio_clicky_status[l_is_clicky_on && is_audio_on], false); # if !defined(OLED_DISPLAY_VERBOSE) oled_write_P(PSTR(" "), false); # endif @@ -540,6 +543,7 @@ void render_wpm(uint8_t padding) { // vertical_offset = 0; void render_wpm_graph(uint8_t max_lines_graph, uint8_t vertical_offset) { +#ifdef WPM_ENABLE static uint16_t timer = 0; static uint8_t x = OLED_DISPLAY_HEIGHT - 1; uint8_t currwpm = get_current_wpm(); @@ -588,6 +592,7 @@ void render_wpm_graph(uint8_t max_lines_graph, uint8_t vertical_offset) { timer = timer_read(); // refresh the timer for the next iteration } +#endif } #if defined(POINTING_DEVICE_ENABLE) @@ -625,7 +630,7 @@ __attribute__((weak)) void oled_driver_render_logo_right(void) { //#define ANIM_FRAME_DURATION 500 // how long each frame lasts in ms // #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing -#define OLED_ANIM_SIZE 32 // number of bytes in array, minimize for adequate firmware size, max is 1024 +#define OLED_ANIM_SIZE 36 #define OLED_ANIM_ROWS 4 #define OLED_ANIM_MAX_FRAMES 3 #if (OLED_SLEEP_FRAMES > OLED_ANIM_MAX_FRAMES) || (OLED_WAKE_FRAMES > OLED_ANIM_MAX_FRAMES) || (OLED_KAKI_FRAMES > OLED_ANIM_MAX_FRAMES) || (OLED_RTOGI_FRAMES > OLED_ANIM_MAX_FRAMES) @@ -645,247 +650,67 @@ void render_kitty(void) { // sleep frames { { - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, - 0xa8, 0x48, 0xa8, 0x18, 0x08, 0x00, 0x00, 0x00, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x80, - 0x44, 0x84, 0x06, 0x05, 0x04, 0x80, 0x40, 0x20, - 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, - 0x18, 0x04, 0x04, 0x02, 0x7a, 0x86, 0x01, 0x80, - 0x80, 0x01, 0x03, 0x05, 0x07, 0x01, 0x00, 0x00, - 0x80, 0x83, 0x45, 0xfa, 0x3c, 0xe0, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, - 0x10, 0x10, 0x10, 0x10, 0x10, 0x33, 0x24, 0x28, - 0x28, 0x29, 0x29, 0x29, 0x3a, 0x18, 0x1c, 0x39, - 0x24, 0x24, 0x3a, 0x2d, 0x26, 0x31, 0x1f, 0x00 - } + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0xa8, 0x48, 0xa8, 0x18, 0x08, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x80, 0x44, 0x84, 0x06, 0x05, 0x04, 0x80, 0x40, 0x20, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x18, 0x04, 0x04, 0x02, 0x7a, 0x86, 0x01, 0x80, 0x80, 0x01, 0x03, 0x05, 0x07, 0x01, 0x00, 0x00, 0x80, 0x83, 0x45, 0xfa, 0x3c, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x33, 0x24, 0x28, 0x28, 0x29, 0x29, 0x29, 0x3a, 0x18, 0x1c, 0x39, 0x24, 0x24, 0x3a, 0x2d, 0x26, 0x31, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00 } }, { - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x22, 0x22, 0x3a, 0x2a, 0x26, 0x22, 0x80, 0xc0, - 0x80, 0x00, 0x24, 0x34, 0x2c, 0xe4, 0x60, 0x10, - 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x38, - 0x04, 0x02, 0x02, 0x01, 0x79, 0x87, 0x01, 0x80, - 0x81, 0x83, 0x05, 0x05, 0x03, 0x01, 0x00, 0x00, - 0x80, 0x43, 0x05, 0xfa, 0x3c, 0xe0, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, - 0x10, 0x10, 0x10, 0x10, 0x10, 0x33, 0x24, 0x28, - 0x28, 0x28, 0x29, 0x29, 0x3a, 0x18, 0x1c, 0x39, - 0x24, 0x24, 0x3a, 0x2d, 0x26, 0x31, 0x1f, 0x00 - } + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x3a, 0x2a, 0x26, 0x22, 0x80, 0xc0, 0x80, 0x00, 0x24, 0x34, 0x2c, 0xe4, 0x60, 0x10, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x38, 0x04, 0x02, 0x02, 0x01, 0x79, 0x87, 0x01, 0x80, 0x81, 0x83, 0x05, 0x05, 0x03, 0x01, 0x00, 0x00, 0x80, 0x43, 0x05, 0xfa, 0x3c, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x33, 0x24, 0x28, 0x28, 0x28, 0x29, 0x29, 0x3a, 0x18, 0x1c, 0x39, 0x24, 0x24, 0x3a, 0x2d, 0x26, 0x31, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00 } } }, // wake frames { { - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xc0, 0x30, 0x08, 0x10, 0x60, 0x80, - 0x00, 0x80, 0x60, 0x10, 0x08, 0x30, 0xc0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x7f, 0x80, 0x40, 0x40, 0x5c, 0x00, 0x01, - 0x41, 0x01, 0x00, 0x5c, 0x40, 0x40, 0x80, 0x7f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x40, 0x40, 0x80, 0xe1, 0x12, 0x0a, 0x06, 0x00, - 0x80, 0x00, 0x06, 0x0a, 0x12, 0xe1, 0x80, 0x40, - 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, - 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, - 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x11, 0x10, 0x10, - 0x14, 0x14, 0x1f, 0x1c, 0x14, 0x14, 0x14, 0x08 - } + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x08, 0x10, 0x60, 0x80, 0x00, 0x80, 0x60, 0x10, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x80, 0x40, 0x40, 0x5c, 0x00, 0x01, 0x41, 0x01, 0x00, 0x5c, 0x40, 0x40, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x80, 0xe1, 0x12, 0x0a, 0x06, 0x00, 0x80, 0x00, 0x06, 0x0a, 0x12, 0xe1, 0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x11, 0x10, 0x10, 0x14, 0x14, 0x1f, 0x1c, 0x14, 0x14, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00 } }, { - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xc0, 0x30, 0x08, 0x10, 0x60, 0x80, - 0x00, 0x80, 0x60, 0x10, 0x08, 0x30, 0xc0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x7f, 0x90, 0x12, 0x0a, 0x02, 0xf4, 0x09, - 0x0d, 0xf1, 0x04, 0x02, 0x0a, 0x12, 0x90, 0x7f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x40, 0x40, 0x80, 0xe1, 0x12, 0x0a, 0x06, 0x01, - 0x81, 0x00, 0x06, 0x0a, 0x12, 0xe1, 0x80, 0x40, - 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, - 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, - 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x11, 0x10, 0x10, - 0x14, 0x14, 0x1f, 0x1c, 0x14, 0x14, 0x14, 0x08 - } + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x08, 0x10, 0x60, 0x80, 0x00, 0x80, 0x60, 0x10, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x90, 0x12, 0x0a, 0x02, 0xf4, 0x09, 0x0d, 0xf1, 0x04, 0x02, 0x0a, 0x12, 0x90, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x80, 0xe1, 0x12, 0x0a, 0x06, 0x01, 0x81, 0x00, 0x06, 0x0a, 0x12, 0xe1, 0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x11, 0x10, 0x10, 0x14, 0x14, 0x1f, 0x1c, 0x14, 0x14, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00 } } }, // kaki frames { { - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, - 0x80, 0x80, 0x80, 0x00, 0xfc, 0x84, 0x08, 0x08, - 0x10, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x60, - 0x80, 0x00, 0x00, 0x91, 0xa1, 0x80, 0x00, 0x00, - 0x22, 0x84, 0x40, 0x50, 0x48, 0xc1, 0x3e, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x40, 0x41, 0x82, 0xe2, 0x12, 0x0a, 0x06, 0x00, - 0x80, 0x88, 0x4f, 0x02, 0x22, 0xe2, 0x9f, 0x40, - 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, - 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, - 0x0f, 0x18, 0x14, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x14, 0x14, 0x1f, 0x1a, 0x0a, 0x0a, 0x04, 0x00 - } + { 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x80, 0x80, 0x00, 0xfc, 0x84, 0x08, 0x08, 0x10, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x60, 0x80, 0x00, 0x00, 0x91, 0xa1, 0x80, 0x00, 0x00, 0x22, 0x84, 0x40, 0x50, 0x48, 0xc1, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x41, 0x82, 0xe2, 0x12, 0x0a, 0x06, 0x00, 0x80, 0x88, 0x4f, 0x02, 0x22, 0xe2, 0x9f, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x14, 0x10, 0x10, 0x10, 0x10, 0x10, 0x14, 0x14, 0x1f, 0x1a, 0x0a, 0x0a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00 } }, { - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xf0, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x06, 0x1a, 0x22, 0xc2, 0x04, 0x04, - 0x04, 0x07, 0x00, 0xc0, 0x20, 0x10, 0x80, 0x80, - 0x01, 0x01, 0x02, 0xfc, 0xfe, 0x02, 0x3c, 0x20, - 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0d, 0x8d, - 0x55, 0x50, 0x94, 0xf0, 0x10, 0x09, 0x08, 0x00, - 0x80, 0x00, 0x06, 0x09, 0x1b, 0xee, 0x00, 0x00, - 0x00, 0x00, 0x81, 0xfe, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, - 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, - 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x19, 0x18, 0x1c, - 0x14, 0x16, 0x15, 0x14, 0x14, 0x14, 0x14, 0x08 - } + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x06, 0x1a, 0x22, 0xc2, 0x04, 0x04, 0x04, 0x07, 0x00, 0xc0, 0x20, 0x10, 0x80, 0x80, 0x01, 0x01, 0x02, 0xfc, 0xfe, 0x02, 0x3c, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0d, 0x8d, 0x55, 0x50, 0x94, 0xf0, 0x10, 0x09, 0x08, 0x00, 0x80, 0x00, 0x06, 0x09, 0x1b, 0xee, 0x00, 0x00, 0x00, 0x00, 0x81, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x19, 0x18, 0x1c, 0x14, 0x16, 0x15, 0x14, 0x14, 0x14, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00 } }, { - { - 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x20, 0x40, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x01, - 0x02, 0x04, 0x04, 0x03, 0x80, 0x40, 0x40, 0x20, - 0x00, 0x01, 0x02, 0x8c, 0x70, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0d, 0x8d, - 0x55, 0x50, 0x94, 0xf0, 0x10, 0x0a, 0x0e, 0x1d, - 0x95, 0x24, 0x24, 0x27, 0x13, 0xe1, 0x01, 0x01, - 0x01, 0x01, 0x02, 0xfc, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, - 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, - 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x19, 0x18, 0x1c, - 0x14, 0x14, 0x17, 0x14, 0x14, 0x14, 0x14, 0x08 - } + { 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x01, 0x02, 0x04, 0x04, 0x03, 0x80, 0x40, 0x40, 0x20, 0x00, 0x01, 0x02, 0x8c, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0d, 0x8d, 0x55, 0x50, 0x94, 0xf0, 0x10, 0x0a, 0x0e, 0x1d, 0x95, 0x24, 0x24, 0x27, 0x13, 0xe1, 0x01, 0x01, 0x01, 0x01, 0x02, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x19, 0x18, 0x1c, 0x14, 0x14, 0x17, 0x14, 0x14, 0x14, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00 } } }, // rtogi frames { { - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xc0, 0x20, 0x10, 0x10, 0x08, 0x04, 0x02, - 0x01, 0x0f, 0x90, 0x10, 0x20, 0xf0, 0xf8, 0xf8 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, - 0x48, 0x47, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x08, 0x88, 0xc7, 0xc4, 0x62, 0x23, 0x11, 0x3f - }, - { - 0x80, 0x40, 0x20, 0x10, 0x88, 0xcc, 0x43, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, - 0x80, 0x80, 0xc0, 0xe1, 0xfe, 0xb8, 0x88, 0x0c, - 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { - 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, - 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - } + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0x10, 0x08, 0x04, 0x02, 0x01, 0x0f, 0x90, 0x10, 0x20, 0xf0, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x48, 0x47, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0xc7, 0xc4, 0x62, 0x23, 0x11, 0x3f, 0x00, 0x00, 0x00, 0x00 }, + { 0x80, 0x40, 0x20, 0x10, 0x88, 0xcc, 0x43, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x80, 0x80, 0xc0, 0xe1, 0xfe, 0xb8, 0x88, 0x0c, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, { - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xc0, 0x20, 0x10, 0x10, 0x08, 0x04, 0x02, - 0x01, 0x1f, 0xa0, 0x20, 0x40, 0x80, 0x00, 0xf0 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, - 0x48, 0x47, 0x88, 0x00, 0x00, 0x00, 0x00, 0x24, - 0x24, 0x28, 0x6b, 0x40, 0xa0, 0x99, 0x86, 0xff - }, - { - 0x0f, 0x11, 0x22, 0x44, 0x48, 0x4c, 0x43, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, - 0x80, 0x80, 0xc0, 0xe1, 0xfe, 0xb8, 0x88, 0x0c, - 0x04, 0x06, 0x06, 0x06, 0x0e, 0x0e, 0x06, 0x01 - }, - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, - 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - } + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0x10, 0x08, 0x04, 0x02, 0x01, 0x1f, 0xa0, 0x20, 0x40, 0x80, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x48, 0x47, 0x88, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x28, 0x6b, 0x40, 0xa0, 0x99, 0x86, 0xff, 0x00, 0x00, 0x00, 0x00 }, + { 0x0f, 0x11, 0x22, 0x44, 0x48, 0x4c, 0x43, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x80, 0x80, 0xc0, 0xe1, 0xfe, 0xb8, 0x88, 0x0c, 0x04, 0x06, 0x06, 0x06, 0x0e, 0x0e, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } } }; @@ -899,7 +724,7 @@ void render_kitty(void) { uint32_t kitty_animation_phases(uint32_t triger_time, void *cb_arg) { static uint32_t anim_frame_duration = 500; -#ifdef POINTING_DEVICE_ENABLE +#ifdef CUSTOM_POINTING_DEVICE if (tap_toggling) { animation_frame = (animation_frame + 1) % OLED_RTOGI_FRAMES; animation_type = 3; @@ -953,7 +778,7 @@ void oled_driver_render_logo_left(void) { render_matrix_scan_rate(2); # endif oled_set_cursor(7, 2); -# if defined(KEYBOARD_bastardkb_charybdis) || defined(KEYBOARD_handwired_tractyl_manuform) +# if (defined(KEYBOARD_bastardkb_charybdis) || defined(KEYBOARD_handwired_tractyl_manuform)) && defined(POINTING_DEVICE_ENABLE) render_pointing_dpi_status(charybdis_get_pointer_sniping_enabled() ? charybdis_get_pointer_sniping_dpi() : charybdis_get_pointer_default_dpi(), 1); // credit and thanks to jaspertandy on discord for these images @@ -1054,7 +879,6 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { __attribute__((weak)) bool oled_task_keymap(void) { return true; } bool oled_task_user(void) { - update_log(); if (is_keyboard_master()) { #ifndef OLED_DISPLAY_TEST diff --git a/users/drashna/oled/sh110x.c b/users/drashna/oled/sh110x.c index c850a47538a7..cfdae1db1630 100644 --- a/users/drashna/oled/sh110x.c +++ b/users/drashna/oled/sh110x.c @@ -26,8 +26,7 @@ along with this program. If not, see . #include "keyboard.h" -// Used commands from spec sheet: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf -// for SH1106: https://www.velleman.eu/downloads/29/infosheets/sh1106_datasheet.pdf +// for SH1107: https://www.displayfuture.com/Display/datasheet/controller/SH1107.pdf // Fundamental Commands #define CONTRAST 0x81 @@ -97,17 +96,8 @@ along with this program. If not, see . #define OLED_ALL_BLOCKS_MASK (((((OLED_BLOCK_TYPE)1 << (OLED_BLOCK_COUNT - 1)) - 1) << 1) | 1) -#define OLED_IC_HAS_HORIZONTAL_MODE (OLED_IC == OLED_IC_SSD1306) -#define OLED_IC_COM_PINS_ARE_COLUMNS (OLED_IC == OLED_IC_SH1107) - #ifndef OLED_COM_PIN_COUNT -# if OLED_IC == OLED_IC_SH1106 -# define OLED_COM_PIN_COUNT 64 -# elif OLED_IC == OLED_IC_SH1107 -# define OLED_COM_PIN_COUNT 128 -# else -# error Invalid OLED_IC value -# endif +# define OLED_COM_PIN_COUNT 128 #endif #ifndef OLED_COM_PIN_OFFSET @@ -203,24 +193,12 @@ bool oled_init(oled_rotation_t rotation) { DISPLAY_CLOCK, 0x80, MULTIPLEX_RATIO, -#if OLED_IC_COM_PINS_ARE_COLUMNS OLED_DISPLAY_WIDTH - 1, -#else - OLED_DISPLAY_HEIGHT - 1, -#endif - DISPLAY_OFFSET, + SH1107_DISPLAY_START_LINE, 0x00, - DISPLAY_START_LINE | 0x00, CHARGE_PUMP, 0x14, -#if (OLED_IC != OLED_IC_SH1106) - // MEMORY_MODE is unsupported on SH1106 (Page Addressing only) - MEMORY_MODE, - 0x00, // Horizontal addressing mode -#elif OLED_IC == OLED_IC_SH1107 - // Page addressing mode SH1107_MEMORY_MODE_PAGE, -#endif }; if (I2C_TRANSMIT_P(display_setup1) != I2C_STATUS_SUCCESS) { print("oled_init cmd set 1 failed\n"); @@ -229,7 +207,11 @@ bool oled_init(oled_rotation_t rotation) { if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_180)) { static const uint8_t PROGMEM display_normal[] = { - I2C_CMD, SEGMENT_REMAP_INV, COM_SCAN_DEC, DISPLAY_OFFSET, OLED_COM_PIN_OFFSET, + I2C_CMD, + SEGMENT_REMAP_INV, + COM_SCAN_DEC, + DISPLAY_OFFSET, + OLED_COM_PIN_OFFSET, }; if (I2C_TRANSMIT_P(display_normal) != I2C_STATUS_SUCCESS) { print("oled_init cmd normal rotation failed\n"); @@ -237,7 +219,11 @@ bool oled_init(oled_rotation_t rotation) { } } else { static const uint8_t PROGMEM display_flipped[] = { - I2C_CMD, SEGMENT_REMAP, COM_SCAN_INC, DISPLAY_OFFSET, (OLED_COM_PIN_COUNT - OLED_COM_PIN_OFFSET) % OLED_COM_PIN_COUNT, + I2C_CMD, + SEGMENT_REMAP, + COM_SCAN_INC, + DISPLAY_OFFSET, + (OLED_COM_PIN_COUNT - OLED_COM_PIN_OFFSET) % OLED_COM_PIN_COUNT, }; if (I2C_TRANSMIT_P(display_flipped) != I2C_STATUS_SUCCESS) { print("display_flipped failed\n"); @@ -245,7 +231,18 @@ bool oled_init(oled_rotation_t rotation) { } } - static const uint8_t PROGMEM display_setup2[] = {I2C_CMD, COM_PINS, OLED_COM_PINS, CONTRAST, OLED_BRIGHTNESS, PRE_CHARGE_PERIOD, 0x22, VCOM_DETECT, 0x35, DISPLAY_ALL_ON_RESUME, NORMAL_DISPLAY, DEACTIVATE_SCROLL, DISPLAY_ON}; if (I2C_TRANSMIT_P(display_setup2) != I2C_STATUS_SUCCESS) { + static const uint8_t PROGMEM display_setup2[] = { + I2C_CMD, COM_PINS, + OLED_COM_PINS, + CONTRAST, OLED_BRIGHTNESS, + PRE_CHARGE_PERIOD, 0x22, + VCOM_DETECT, 0x35, + DISPLAY_ALL_ON_RESUME, + NORMAL_DISPLAY, + DEACTIVATE_SCROLL, + DISPLAY_ON + }; + if (I2C_TRANSMIT_P(display_setup2) != I2C_STATUS_SUCCESS) { print("display_setup2 failed\n"); return false; } @@ -277,22 +274,11 @@ static void calc_bounds(uint8_t update_start, uint8_t *cmd_array) { // Calculate commands to set memory addressing bounds. uint8_t start_page = OLED_BLOCK_SIZE * update_start / OLED_DISPLAY_WIDTH; uint8_t start_column = OLED_BLOCK_SIZE * update_start % OLED_DISPLAY_WIDTH; -#if !OLED_IC_HAS_HORIZONTAL_MODE // Commands for Page Addressing Mode. Sets starting page and column; has no end bound. // Column value must be split into high and low nybble and sent as two commands. cmd_array[0] = PAM_PAGE_ADDR | start_page; cmd_array[1] = PAM_SETCOLUMN_LSB | ((OLED_COLUMN_OFFSET + start_column) & 0x0f); cmd_array[2] = PAM_SETCOLUMN_MSB | ((OLED_COLUMN_OFFSET + start_column) >> 4 & 0x0f); - cmd_array[3] = NOP; - cmd_array[4] = NOP; - cmd_array[5] = NOP; -#else - // Commands for use in Horizontal Addressing mode. - cmd_array[1] = start_column + OLED_COLUMN_OFFSET; - cmd_array[4] = start_page; - cmd_array[2] = (OLED_BLOCK_SIZE + OLED_DISPLAY_WIDTH - 1) % OLED_DISPLAY_WIDTH + cmd_array[1]; - cmd_array[5] = (OLED_BLOCK_SIZE + OLED_DISPLAY_WIDTH - 1) / OLED_DISPLAY_WIDTH - 1 + cmd_array[4]; -#endif } static void calc_bounds_90(uint8_t update_start, uint8_t *cmd_array) { @@ -310,19 +296,12 @@ static void calc_bounds_90(uint8_t update_start, uint8_t *cmd_array) { // Top page number for a block which is at the bottom edge of the screen. const uint8_t bottom_block_top_page = (height_in_pages - page_inc_per_block) % height_in_pages; -#if !OLED_IC_HAS_HORIZONTAL_MODE // Only the Page Addressing Mode is supported uint8_t start_page = bottom_block_top_page - (OLED_BLOCK_SIZE * update_start % OLED_DISPLAY_HEIGHT / 8); uint8_t start_column = OLED_BLOCK_SIZE * update_start / OLED_DISPLAY_HEIGHT * 8; cmd_array[0] = PAM_PAGE_ADDR | start_page; cmd_array[1] = PAM_SETCOLUMN_LSB | ((OLED_COLUMN_OFFSET + start_column) & 0x0f); cmd_array[2] = PAM_SETCOLUMN_MSB | ((OLED_COLUMN_OFFSET + start_column) >> 4 & 0x0f); -#else - cmd_array[1] = OLED_BLOCK_SIZE * update_start / OLED_DISPLAY_HEIGHT * 8 + OLED_COLUMN_OFFSET; - cmd_array[4] = bottom_block_top_page - (OLED_BLOCK_SIZE * update_start % OLED_DISPLAY_HEIGHT / 8); - cmd_array[2] = (OLED_BLOCK_SIZE + OLED_DISPLAY_HEIGHT - 1) / OLED_DISPLAY_HEIGHT * 8 - 1 + cmd_array[1]; - cmd_array[5] = (OLED_BLOCK_SIZE + OLED_DISPLAY_HEIGHT - 1) % OLED_DISPLAY_HEIGHT / 8 + cmd_array[4]; -#endif } uint8_t crot(uint8_t a, int8_t n) { @@ -358,11 +337,7 @@ void oled_render(void) { } // Set column & page position -#if OLED_IC_HAS_HORIZONTAL_MODE - static uint8_t display_start[] = {I2C_CMD, COLUMN_ADDR, 0, OLED_DISPLAY_WIDTH - 1, PAGE_ADDR, 0, OLED_DISPLAY_HEIGHT / 8 - 1}; -#else static uint8_t display_start[] = {I2C_CMD, PAM_PAGE_ADDR, PAM_SETCOLUMN_LSB, PAM_SETCOLUMN_MSB}; -#endif if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { calc_bounds(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start } else { @@ -392,13 +367,6 @@ void oled_render(void) { rotate_90(&oled_buffer[OLED_BLOCK_SIZE * update_start + source_map[i]], &temp_buffer[target_map[i]]); } -#if OLED_IC_HAS_HORIZONTAL_MODE - // Send render data chunk after rotating - if (I2C_WRITE_REG(I2C_DATA, &temp_buffer[0], OLED_BLOCK_SIZE) != I2C_STATUS_SUCCESS) { - print("oled_render90 data failed\n"); - return; - } -#else // For SH1106 or SH1107 the data chunk must be split into separate pieces for each page const uint8_t columns_in_block = (OLED_BLOCK_SIZE + OLED_DISPLAY_HEIGHT - 1) / OLED_DISPLAY_HEIGHT * 8; const uint8_t num_pages = OLED_BLOCK_SIZE / columns_in_block; @@ -417,7 +385,6 @@ void oled_render(void) { return; } } -#endif } // Turn on display if it is off @@ -825,7 +792,7 @@ void oled_task(void) { } #else oled_set_cursor(0, 0); - oled_task_kb(); + oled_task_kbr(); #endif #if OLED_SCROLL_TIMEOUT > 0 @@ -856,5 +823,6 @@ void oled_task(void) { #endif } + __attribute__((weak)) bool oled_task_kb(void) { return oled_task_user(); } __attribute__((weak)) bool oled_task_user(void) { return true; } diff --git a/users/drashna/pointing/pointing.c b/users/drashna/pointing/pointing.c index d0a83e2c2618..2e313ba57475 100644 --- a/users/drashna/pointing/pointing.c +++ b/users/drashna/pointing/pointing.c @@ -118,7 +118,7 @@ bool process_record_pointing(uint16_t keycode, keyrecord_t* record) { } layer_state_t layer_state_set_pointing(layer_state_t state) { - if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO)) { + if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO) || layer_state_cmp(state, _DIABLOII)) { state |= ((layer_state_t)1 << _MOUSE); } return state; diff --git a/users/drashna/post_config.h b/users/drashna/post_config.h index 0c9bda2eeb21..2d5e6438d6f0 100644 --- a/users/drashna/post_config.h +++ b/users/drashna/post_config.h @@ -37,10 +37,9 @@ # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_REST_MODE #endif -#ifdef QMK_KEYS_PER_SCAN -# undef QMK_KEYS_PER_SCAN +#ifndef QMK_KEYS_PER_SCAN +# define QMK_KEYS_PER_SCAN 8 #endif -#define QMK_KEYS_PER_SCAN 4 #ifdef MOUSEKEY_ENABLE // mouse movement config diff --git a/users/drashna/rgb/rgb_stuff.c b/users/drashna/rgb/rgb_stuff.c index 09071f7151c9..7d2cf0c73d0f 100644 --- a/users/drashna/rgb/rgb_stuff.c +++ b/users/drashna/rgb/rgb_stuff.c @@ -24,7 +24,6 @@ static bool is_rgblight_startup; static HSV old_hsv; static uint8_t old_mode; deferred_token rgb_startup_token; -# endif uint32_t rgb_startup_animation(uint32_t triger_time, void *cb_arg) { if (is_rgblight_startup && is_keyboard_master()) { @@ -45,6 +44,7 @@ uint32_t rgb_startup_animation(uint32_t triger_time, void *cb_arg) { } return is_rgblight_startup ? 10 : 0; } +# endif void keyboard_post_init_rgb_light(void) { # if defined(RGBLIGHT_STARTUP_ANIMATION) @@ -56,11 +56,11 @@ void keyboard_post_init_rgb_light(void) { old_mode = rgblight_get_mode(); rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); is_rgblight_startup = true; + rgb_startup_token = defer_exec(300, rgb_startup_animation, NULL); # endif if (userspace_config.rgb_layer_change) { layer_state_set_rgb_light(layer_state); } - rgb_startup_token = defer_exec(300, rgb_startup_animation, NULL); } diff --git a/users/drashna/rules.mk b/users/drashna/rules.mk index 4bc71b693913..12fa956b7d96 100644 --- a/users/drashna/rules.mk +++ b/users/drashna/rules.mk @@ -53,6 +53,7 @@ CUSTOM_RGBLIGHT ?= yes ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) ifeq ($(strip $(CUSTOM_RGBLIGHT)), yes) SRC += $(USER_PATH)/rgb/rgb_stuff.c + OPT_DEFS += -DCUSTOM_RGBLIGHT ifeq ($(strip $(RGBLIGHT_NOEEPROM)), yes) OPT_DEFS += -DRGBLIGHT_NOEEPROM endif @@ -67,6 +68,7 @@ CUSTOM_RGB_MATRIX ?= yes ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) ifeq ($(strip $(CUSTOM_RGB_MATRIX)), yes) SRC += $(USER_PATH)/rgb/rgb_matrix_stuff.c + OPT_DEFS += -DCUSTOM_RGB_MATRIX endif endif @@ -86,7 +88,7 @@ ifeq ($(strip $(OLED_ENABLE)), yes) QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(CUSTOM_OLED_DRIVER)), yes) - OPT_DEFS += -DCUSTOM_OLED_DRIVER_CODE + OPT_DEFS += -DCUSTOM_OLED_DRIVER SRC += $(USER_PATH)/oled/oled_stuff.c endif ifeq ($(strip $(OLED_DISPLAY_TEST)), yes) @@ -99,6 +101,7 @@ CUSTOM_POINTING_DEVICE ?= yes ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(strip $(CUSTOM_POINTING_DEVICE)), yes) SRC += $(USER_PATH)/pointing/pointing.c + OPT_DEFS += -DCUSTOM_POINTING_DEVICE endif endif diff --git a/users/drashna/split/transport_sync.c b/users/drashna/split/transport_sync.c index 4c113ec257be..539a18900c67 100644 --- a/users/drashna/split/transport_sync.c +++ b/users/drashna/split/transport_sync.c @@ -57,7 +57,7 @@ void user_config_sync(uint8_t initiator2target_buffer_size, const void* initiato void watchdog_handler(uint8_t in_buflen, const void* in_data, uint8_t out_buflen, void* out_data) { watchdog_ping_done = true; } #endif -#ifdef OLED_ENABLE +#ifdef CUSTOM_OLED_DRIVER # include "oled/oled_stuff.h" void keylogger_string_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { if (initiator2target_buffer_size == OLED_KEYLOGGER_LENGTH) { @@ -71,7 +71,7 @@ void keyboard_post_init_transport_sync(void) { transaction_register_rpc(RPC_ID_USER_STATE_SYNC, user_state_sync); transaction_register_rpc(RPC_ID_USER_KEYMAP_SYNC, user_keymap_sync); transaction_register_rpc(RPC_ID_USER_CONFIG_SYNC, user_config_sync); -#ifdef OLED_ENABLE +#ifdef CUSTOM_OLED_DRIVER transaction_register_rpc(RPC_ID_USER_KEYLOG_STR, keylogger_string_sync); #endif @@ -92,7 +92,7 @@ void user_transport_update(void) { user_state.audio_enable = is_audio_on(); user_state.audio_clicky_enable = is_clicky_on(); #endif -#if defined(POINTING_DEVICE_ENABLE) && defined(KEYBOARD_handwired_tractyl_manuform) +#if defined(CUSTOM_POINTING_DEVICE) user_state.tap_toggling = tap_toggling; #endif #ifdef UNICODE_COMMON_ENABLE @@ -111,7 +111,7 @@ void user_transport_update(void) { #ifdef UNICODE_COMMON_ENABLE unicode_config.input_mode = user_state.unicode_mode; #endif -#if defined(POINTING_DEVICE_ENABLE) && defined(KEYBOARD_handwired_tractyl_manuform) +#if defined(CUSTOM_POINTING_DEVICE) tap_toggling = user_state.tap_toggling; #endif #ifdef SWAP_HANDS_ENABLE @@ -127,7 +127,7 @@ void user_transport_sync(void) { static uint16_t last_keymap = 0; static uint32_t last_config = 0, last_sync[4], last_user_state = 0; bool needs_sync = false; -#ifdef OLED_ENABLE +#ifdef CUSTOM_OLED_DRIVER static char keylog_temp[OLED_KEYLOGGER_LENGTH] = {0}; #endif @@ -187,7 +187,7 @@ void user_transport_sync(void) { needs_sync = false; } -#ifdef OLED_ENABLE +#ifdef CUSTOM_OLED_DRIVER // Check if the state values are different if (memcmp(&keylog_str, &keylog_temp, OLED_KEYLOGGER_LENGTH)) { needs_sync = true; From 0978dca728e18d79c6888f095c6cb861c895b746 Mon Sep 17 00:00:00 2001 From: owlab-git <88034417+owlab-git@users.noreply.github.com> Date: Mon, 7 Mar 2022 14:41:16 +0800 Subject: [PATCH 0285/1832] [Keyboard] add qk65 files by qwertykeys studio (#16491) --- keyboards/qwertykeys/qk65/hotswap/config.h | 46 ++++++ keyboards/qwertykeys/qk65/hotswap/hotswap.c | 17 ++ keyboards/qwertykeys/qk65/hotswap/hotswap.h | 33 ++++ keyboards/qwertykeys/qk65/hotswap/info.json | 78 +++++++++ .../qk65/hotswap/keymaps/default/keymap.c | 54 +++++++ .../qk65/hotswap/keymaps/via/keymap.c | 54 +++++++ .../qk65/hotswap/keymaps/via/rules.mk | 2 + keyboards/qwertykeys/qk65/hotswap/readme.md | 21 +++ keyboards/qwertykeys/qk65/hotswap/rules.mk | 18 +++ keyboards/qwertykeys/qk65/solder/config.h | 44 +++++ keyboards/qwertykeys/qk65/solder/info.json | 152 ++++++++++++++++++ .../qk65/solder/keymaps/default/keymap.c | 53 ++++++ .../qk65/solder/keymaps/via/keymap.c | 53 ++++++ .../qk65/solder/keymaps/via/rules.mk | 2 + keyboards/qwertykeys/qk65/solder/readme.md | 21 +++ keyboards/qwertykeys/qk65/solder/rules.mk | 18 +++ keyboards/qwertykeys/qk65/solder/solder.c | 17 ++ keyboards/qwertykeys/qk65/solder/solder.h | 49 ++++++ 18 files changed, 732 insertions(+) create mode 100644 keyboards/qwertykeys/qk65/hotswap/config.h create mode 100644 keyboards/qwertykeys/qk65/hotswap/hotswap.c create mode 100644 keyboards/qwertykeys/qk65/hotswap/hotswap.h create mode 100644 keyboards/qwertykeys/qk65/hotswap/info.json create mode 100644 keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c create mode 100644 keyboards/qwertykeys/qk65/hotswap/keymaps/via/rules.mk create mode 100644 keyboards/qwertykeys/qk65/hotswap/readme.md create mode 100644 keyboards/qwertykeys/qk65/hotswap/rules.mk create mode 100644 keyboards/qwertykeys/qk65/solder/config.h create mode 100644 keyboards/qwertykeys/qk65/solder/info.json create mode 100644 keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c create mode 100644 keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c create mode 100644 keyboards/qwertykeys/qk65/solder/keymaps/via/rules.mk create mode 100644 keyboards/qwertykeys/qk65/solder/readme.md create mode 100644 keyboards/qwertykeys/qk65/solder/rules.mk create mode 100644 keyboards/qwertykeys/qk65/solder/solder.c create mode 100644 keyboards/qwertykeys/qk65/solder/solder.h diff --git a/keyboards/qwertykeys/qk65/hotswap/config.h b/keyboards/qwertykeys/qk65/hotswap/config.h new file mode 100644 index 000000000000..8dfaf1648d3f --- /dev/null +++ b/keyboards/qwertykeys/qk65/hotswap/config.h @@ -0,0 +1,46 @@ +/* +Copyright 2022 qwertykeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4F53 //0x4F53 for qwertykeys +#define PRODUCT_ID 0x514B //0x514B QK for QK65 +#define DEVICE_VER 0x0001 +#define MANUFACTURER qwertykeys +#define PRODUCT QK65 + + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* Keyboard Matrix Assignments */ +#define MATRIX_ROW_PINS { B0, B7, D0, D1, D2 } +#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 } +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* NKRO */ +#define FORCE_NKRO + + diff --git a/keyboards/qwertykeys/qk65/hotswap/hotswap.c b/keyboards/qwertykeys/qk65/hotswap/hotswap.c new file mode 100644 index 000000000000..78de3ff2752c --- /dev/null +++ b/keyboards/qwertykeys/qk65/hotswap/hotswap.c @@ -0,0 +1,17 @@ +/* +Copyright 2022 qwertykeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "hotswap.h" \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/hotswap/hotswap.h b/keyboards/qwertykeys/qk65/hotswap/hotswap.h new file mode 100644 index 000000000000..1f61c5ed6b24 --- /dev/null +++ b/keyboards/qwertykeys/qk65/hotswap/hotswap.h @@ -0,0 +1,33 @@ +/* +Copyright 2022 qwertykeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once +#include "quantum.h" + +#define LAYOUT_hotswap( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ + K400, K401, K402, K404, K407, K408, K412, K413, K414 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, KC_NO, K213, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ + { K400, K401, K402, KC_NO, K404, KC_NO, KC_NO, K407, K408, KC_NO, KC_NO, KC_NO, K412, K413, K414 } \ +} \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/hotswap/info.json b/keyboards/qwertykeys/qk65/hotswap/info.json new file mode 100644 index 000000000000..2848a3f5e819 --- /dev/null +++ b/keyboards/qwertykeys/qk65/hotswap/info.json @@ -0,0 +1,78 @@ +{ + "keyboard_name": "qk65", + "url": "", + "maintainer": "qwertykeys", + "layouts": { + "LAYOUT_hotswap": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c b/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c new file mode 100644 index 000000000000..4c9960f29eb1 --- /dev/null +++ b/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c @@ -0,0 +1,54 @@ +/* +Copyright 2022 qwertykeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_hotswap( + 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_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_PGUP, + 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, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_hotswap( + 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, KC_TRNS, RESET, + 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_HOME, + 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_END, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_hotswap( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_hotswap( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c b/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c new file mode 100644 index 000000000000..ca81553007b3 --- /dev/null +++ b/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* +Copyright 2022 qwertykeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_hotswap( + 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_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_PGUP, + 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, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_hotswap( + 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, KC_TRNS, RESET, + 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_HOME, + 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_END, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_hotswap( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_hotswap( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/hotswap/keymaps/via/rules.mk b/keyboards/qwertykeys/qk65/hotswap/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/qwertykeys/qk65/hotswap/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/hotswap/readme.md b/keyboards/qwertykeys/qk65/hotswap/readme.md new file mode 100644 index 000000000000..f7c0c64d80c0 --- /dev/null +++ b/keyboards/qwertykeys/qk65/hotswap/readme.md @@ -0,0 +1,21 @@ +# qk65 - hotswap PCB + +![qk65](https://i.imgur.com/kFhx5qS.png) + +A 65% made by qwertykeys. + +* Keyboard Maintainer: [qwertykeys](https://github.com/owlab-git) +* Hardware Supported: qk65 hotswap PCB +* Hardware Availability: + +Make example for this keyboard (after setting up your build environment): + + make qwertykeys/qk65/hotswap:default + +Flashing example for this keyboard: + + make qwertykeys/qk65/hotswap:default:flash + +**Bootloader:** Press the physical reset button on the bottom side of the PCB (labeled SW1) or hold down ESC while plugging in the board. + +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/qwertykeys/qk65/hotswap/rules.mk b/keyboards/qwertykeys/qk65/hotswap/rules.mk new file mode 100644 index 000000000000..f9417ae2bf7c --- /dev/null +++ b/keyboards/qwertykeys/qk65/hotswap/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/solder/config.h b/keyboards/qwertykeys/qk65/solder/config.h new file mode 100644 index 000000000000..be8c11bbdaa0 --- /dev/null +++ b/keyboards/qwertykeys/qk65/solder/config.h @@ -0,0 +1,44 @@ +/* +Copyright 2022 qwertykeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter s*/ +#define VENDOR_ID 0x4F53 // 0x4F53 for qwertykeys +#define PRODUCT_ID 0x5153 //0x5153 QS for QK65 Solder +#define DEVICE_VER 0x0001 +#define MANUFACTURER qwertykeys +#define PRODUCT QK65 + + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* Keyboard Matrix Assignments */ +#define MATRIX_ROW_PINS { B0, B7, D0, D1, D2 } +#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 } +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* NKRO */ +#define FORCE_NKRO \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/solder/info.json b/keyboards/qwertykeys/qk65/solder/info.json new file mode 100644 index 000000000000..22518136235d --- /dev/null +++ b/keyboards/qwertykeys/qk65/solder/info.json @@ -0,0 +1,152 @@ +{ + "keyboard_name": "qk65", + "url": "", + "maintainer": "qwertykeys", + "layouts": { + "LAYOUT_solder": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c b/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c new file mode 100644 index 000000000000..8d52b17d2a29 --- /dev/null +++ b/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c @@ -0,0 +1,53 @@ +/* +Copyright 2022 qwertykeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_iso( + 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_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_PGUP, + 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_PGDN, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_iso( + 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, KC_TRNS, RESET, + 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_HOME, + 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_END, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_iso( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_iso( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c b/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c new file mode 100644 index 000000000000..88afc5984bb2 --- /dev/null +++ b/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +/* +Copyright 2022 qwertykeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_solder( + 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, KC_DEL, + 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_PGUP, + 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, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_solder( + 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, KC_TRNS, KC_TRNS, RESET, + 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_HOME, + 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_END, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_solder( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_solder( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/qwertykeys/qk65/solder/keymaps/via/rules.mk b/keyboards/qwertykeys/qk65/solder/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/qwertykeys/qk65/solder/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/solder/readme.md b/keyboards/qwertykeys/qk65/solder/readme.md new file mode 100644 index 000000000000..8987ebc5866b --- /dev/null +++ b/keyboards/qwertykeys/qk65/solder/readme.md @@ -0,0 +1,21 @@ +# qk65 - solder PCB + +![qk65](https://i.imgur.com/BnZl8Xz.png) + +A 65% made by qwertykeys. + +* Keyboard Maintainer: [qwertykeys](https://github.com/owlab-git) +* Hardware Supported: qk65 solder PCB +* Hardware Availability: + +Make example for this keyboard (after setting up your build environment): + + make qwertykeys/qk65/solder:default + +Flashing example for this keyboard: + + make qwertykeys/qk65/solder:default:flash + +**Bootloader:** Press the physical reset button on the bottom side of the PCB (labeled SW1) or hold down ESC while plugging in the board. + +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). \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/solder/rules.mk b/keyboards/qwertykeys/qk65/solder/rules.mk new file mode 100644 index 000000000000..f9417ae2bf7c --- /dev/null +++ b/keyboards/qwertykeys/qk65/solder/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/solder/solder.c b/keyboards/qwertykeys/qk65/solder/solder.c new file mode 100644 index 000000000000..fc95c768fdf1 --- /dev/null +++ b/keyboards/qwertykeys/qk65/solder/solder.c @@ -0,0 +1,17 @@ +/* +Copyright 2022 qwertykeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "solder.h" \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/solder/solder.h b/keyboards/qwertykeys/qk65/solder/solder.h new file mode 100644 index 000000000000..5409662229cd --- /dev/null +++ b/keyboards/qwertykeys/qk65/solder/solder.h @@ -0,0 +1,49 @@ +/* +Copyright 2022 qwertykeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once +#include "quantum.h" + +#define LAYOUT_solder( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K113, K013, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K212, K114, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214, \ + K300, K312, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ + K400, K401, K402, K404, K407, K408, K412, K413, K414 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ + { K400, K401, K402, KC_NO, K404, KC_NO, KC_NO, K407, K408, KC_NO, KC_NO, KC_NO, K412, K413, K414 } \ +} + + + +#define LAYOUT_iso( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \ + K300, K312, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ + K400, K401, K402, K404, K407, K408, K412, K413, K414 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ + { K400, K401, K402, KC_NO, K404, KC_NO, KC_NO, K407, K408, KC_NO, KC_NO, KC_NO, K412, K413, K414 } \ +} \ No newline at end of file From 1a1b22ef07e7a60292bfebc8fc1c973b69d88c8c Mon Sep 17 00:00:00 2001 From: xiao <307671+xia0@users.noreply.github.com> Date: Mon, 7 Mar 2022 17:22:49 +1030 Subject: [PATCH 0286/1832] [Keyboard] Sick68 VIA keymap (#16508) Co-authored-by: xia0 --- .../handwired/sick68/keymaps/via/config.h | 20 +++++++ .../handwired/sick68/keymaps/via/keymap.c | 60 +++++++++++++++++++ .../handwired/sick68/keymaps/via/readme.md | 2 + .../handwired/sick68/keymaps/via/rules.mk | 2 + 4 files changed, 84 insertions(+) create mode 100644 keyboards/handwired/sick68/keymaps/via/config.h create mode 100644 keyboards/handwired/sick68/keymaps/via/keymap.c create mode 100644 keyboards/handwired/sick68/keymaps/via/readme.md create mode 100644 keyboards/handwired/sick68/keymaps/via/rules.mk diff --git a/keyboards/handwired/sick68/keymaps/via/config.h b/keyboards/handwired/sick68/keymaps/via/config.h new file mode 100644 index 000000000000..4ce1e3e78595 --- /dev/null +++ b/keyboards/handwired/sick68/keymaps/via/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2022 @xia0 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#define ENCODERS_PAD_A { F0 } +#define ENCODERS_PAD_B { F1 } +#define ENCODER_RESOLUTION 4 diff --git a/keyboards/handwired/sick68/keymaps/via/keymap.c b/keyboards/handwired/sick68/keymaps/via/keymap.c new file mode 100644 index 000000000000..3257c1b973b2 --- /dev/null +++ b/keyboards/handwired/sick68/keymaps/via/keymap.c @@ -0,0 +1,60 @@ +/* Copyright 2020 umbynos + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi( + 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_GRV, + 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_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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, + _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_BTN1, KC_MS_U, KC_BTN2, + _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + ), + [2] = LAYOUT_65_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_65_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +/* Volume control by default +*/ +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } + return false; +} diff --git a/keyboards/handwired/sick68/keymaps/via/readme.md b/keyboards/handwired/sick68/keymaps/via/readme.md new file mode 100644 index 000000000000..f03fbedb489a --- /dev/null +++ b/keyboards/handwired/sick68/keymaps/via/readme.md @@ -0,0 +1,2 @@ +# VIA keymap for sick68 +Adds support for VIA mapping and encoder (pin F0 and F1 by default). diff --git a/keyboards/handwired/sick68/keymaps/via/rules.mk b/keyboards/handwired/sick68/keymaps/via/rules.mk new file mode 100644 index 000000000000..7225ba1fa190 --- /dev/null +++ b/keyboards/handwired/sick68/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_ENABLE = yes From c810d8cc1bafda075e32d7a20de021e5f7d74e41 Mon Sep 17 00:00:00 2001 From: xiao <307671+xia0@users.noreply.github.com> Date: Mon, 7 Mar 2022 17:23:41 +1030 Subject: [PATCH 0287/1832] [Keyboard] Update Wakizashi 40 config and readme (#16505) --- keyboards/handwired/wakizashi40/info.json | 10 +++++----- keyboards/handwired/wakizashi40/readme.md | 12 +++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/keyboards/handwired/wakizashi40/info.json b/keyboards/handwired/wakizashi40/info.json index b64ab55116e2..eed6dd9417b5 100644 --- a/keyboards/handwired/wakizashi40/info.json +++ b/keyboards/handwired/wakizashi40/info.json @@ -1,9 +1,9 @@ { - "manufacturer": "fumbucker", + "manufacturer": "xia0", "keyboard_name": "Wakizashi 40", - "maintainer": "fumbucker", + "maintainer": "xia0", "debounce": 5, - "processor": "at90usb1286", + "processor": "atmega32u4", "diode_direction": "COL2ROW", "features": { "audio": false, @@ -20,8 +20,8 @@ "unicode": false }, "matrix_pins": { - "cols": ["C5", "C4", "D2", "D3", "D4", "D5", "C6", "D7", "B0", "B1", "B2", "B3", "B4"], - "rows": ["C0", "C1", "C2", "C3"] + "cols": ["F4", "F6", "F7", "B1", "B3", "B2", "B6", "B5", "B4", "E6", "D7", "C6", "D4"], + "rows": ["D3", "D2", "D1", "D0"] }, "usb": { "device_ver": "0x0001", diff --git a/keyboards/handwired/wakizashi40/readme.md b/keyboards/handwired/wakizashi40/readme.md index d94a75651cc9..8bb6c2aebc75 100644 --- a/keyboards/handwired/wakizashi40/readme.md +++ b/keyboards/handwired/wakizashi40/readme.md @@ -1,12 +1,12 @@ # Wakizashi 40 -![Wakizashi40](https://cdn.thingiverse.com/renders/51/50/81/13/a9/7078248666f70b422127c6662cf79563_preview_featured.jpg) +![Wakizashi40](https://i.imgur.com/TVTfa0X.jpg) Reverse stagger 40% keyboard based on the Katana 60. -* Keyboard Maintainer: [fumbucker](https://github.com/xia0) -* Hardware Supported: Teensy2++ -* Hardware Availability: [thingiverse](https://www.thingiverse.com/thing:3467930) +* Keyboard Maintainer: [xia0](https://github.com/xia0) +* Hardware Supported: ATmega32u4 +* Hardware Availability: [prusaprinters.org](https://www.prusaprinters.org/prints/128575-wakizashi-40-keyboard) Make example for this keyboard (after setting up your build environment): @@ -16,4 +16,6 @@ See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) ## Bootloader -* **Keycode in layout**: Press the key mapped to `RESET` if it is available (Capslock + R). +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available From bbd47fcaa258422caeb3ad5dca7cb3cce3b539ed Mon Sep 17 00:00:00 2001 From: fOmey Date: Mon, 7 Mar 2022 17:55:56 +1100 Subject: [PATCH 0288/1832] [Keyboard] Atlantis ak81_ve encoder behaviour enhancement & fixes (#16503) --- keyboards/atlantis/ak81_ve/ak81_ve.c | 31 +++++++++++++++++++++++----- keyboards/atlantis/ak81_ve/ak81_ve.h | 1 - keyboards/atlantis/ak81_ve/config.h | 8 +++---- 3 files changed, 30 insertions(+), 10 deletions(-) diff --git a/keyboards/atlantis/ak81_ve/ak81_ve.c b/keyboards/atlantis/ak81_ve/ak81_ve.c index fcf279ed46c1..2426d70fe8ee 100644 --- a/keyboards/atlantis/ak81_ve/ak81_ve.c +++ b/keyboards/atlantis/ak81_ve/ak81_ve.c @@ -40,8 +40,8 @@ led_config_t g_led_config = { { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, - 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 4, 4, 4, 1, 1, 4, 1, 1, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 } }; #endif @@ -52,9 +52,30 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { return false; } if (clockwise) { - tap_code(KC_VOLD); - } else { - tap_code(KC_VOLU); + switch (get_highest_layer(layer_state)) { + case 0: + tap_code(KC_VOLU); + break; + case 1: + rgb_matrix_step(); + break; + default: + tap_code(KC_VOLU); + break; + } + } + else { + switch (get_highest_layer(layer_state)) { + case 0: + tap_code(KC_VOLD); + break; + case 1: + rgb_matrix_step_reverse(); + break; + default: + tap_code(KC_VOLD); + break; + } } return true; } diff --git a/keyboards/atlantis/ak81_ve/ak81_ve.h b/keyboards/atlantis/ak81_ve/ak81_ve.h index c43f477c0a2d..d29532068957 100644 --- a/keyboards/atlantis/ak81_ve/ak81_ve.h +++ b/keyboards/atlantis/ak81_ve/ak81_ve.h @@ -16,7 +16,6 @@ #pragma once #include "quantum.h" -#include "encoder_actions.h" #define LAYOUT( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K010, K011, K012, K013, K014, \ diff --git a/keyboards/atlantis/ak81_ve/config.h b/keyboards/atlantis/ak81_ve/config.h index 44507c47f7d0..1b6050f9ac7e 100644 --- a/keyboards/atlantis/ak81_ve/config.h +++ b/keyboards/atlantis/ak81_ve/config.h @@ -35,12 +35,12 @@ #define UNUSED_PINS /* Encoder pins */ -#define ENCODERS_PAD_A { B0 } -#define ENCODERS_PAD_B { E6 } +#define ENCODERS_PAD_A { E6 } +#define ENCODERS_PAD_B { B0 } #define ENCODER_RESOLUTION 4 #define ENCODERS 1 -#define ENCODERS_CCW_KEY { { 3, 5 } } // Note: array is { col, row ) -#define ENCODERS_CW_KEY { { 4, 5 } } // Note: array is { col, row ) +#define ENCODERS_CCW_KEY { { 4, 5 } } // Note: array is { col, row ) +#define ENCODERS_CW_KEY { { 3, 5 } } // Note: array is { col, row ) /* LED pins */ #define LED_CAPS_LOCK_PIN D4 From 2d8266bd7b896a7e9c3f971d4b8ed5be274c7951 Mon Sep 17 00:00:00 2001 From: Koobaczech <67293963+Koobaczech@users.noreply.github.com> Date: Mon, 7 Mar 2022 01:58:06 -0500 Subject: [PATCH 0289/1832] [Keyboard] Tidy Up pearlboards (#16497) --- keyboards/pearlboards/pandora/rules.mk | 12 +++++----- keyboards/pearlboards/zeus/rules.mk | 8 +++---- .../zeuspad/keymaps/default/keymap.c | 24 +++++++++---------- .../pearlboards/zeuspad/keymaps/via/keymap.c | 24 +++++++++---------- keyboards/pearlboards/zeuspad/rules.mk | 8 +++---- 5 files changed, 38 insertions(+), 38 deletions(-) diff --git a/keyboards/pearlboards/pandora/rules.mk b/keyboards/pearlboards/pandora/rules.mk index 04aacf572b33..e0d88f1d856c 100644 --- a/keyboards/pearlboards/pandora/rules.mk +++ b/keyboards/pearlboards/pandora/rules.mk @@ -10,13 +10,13 @@ BOOTLOADER = atmel-dfu BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -DIP_SWITCH_ENABLE = yes -ENCODER_ENABLE = yes +DIP_SWITCH_ENABLE = yes # Enable dip switches +ENCODER_ENABLE = yes # Rotary encoder -LTO_ENABLE = yes +LTO_ENABLE = yes # Link time optimization diff --git a/keyboards/pearlboards/zeus/rules.mk b/keyboards/pearlboards/zeus/rules.mk index b75d687546f8..556a5e9df991 100644 --- a/keyboards/pearlboards/zeus/rules.mk +++ b/keyboards/pearlboards/zeus/rules.mk @@ -16,8 +16,8 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = yes # Audio output -ENCODER_ENABLE = yes -HAPTIC_ENABLE = yes -HAPTIC_DRIVER = DRV2605L +ENCODER_ENABLE = yes # Rotary encoder +HAPTIC_ENABLE = yes # Rumble feefback +HAPTIC_DRIVER = DRV2605L # Rumble motor -LTO_ENABLE = yes +LTO_ENABLE = yes # Link time optimization diff --git a/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c b/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c index 3faa70348410..71a33c454575 100644 --- a/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c +++ b/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c @@ -19,18 +19,18 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_ESC, KC_LCTL, KC_LALT, KC_MEDIA_PLAY_PAUSE, - KC_NLCK, KC_PSLS, KC_PAST, MO(1), - KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_P0, KC_P0, KC_PDOT, KC_PENT), + LT(1, KC_ESC), KC_LCTL, KC_LALT, KC_MEDIA_PLAY_PAUSE, + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_P0, KC_PDOT, KC_PENT), [1] = LAYOUT_all( - RESET, KC_LCTL, KC_LALT, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_HUI, KC_PMNS, - KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_P0, KC_P0, KC_PDOT, KC_PENT) + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RESET, RGB_TOG, RGB_MOD, RGB_HUI, + 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) }; diff --git a/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c b/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c index a0c6b0c69fd1..5c99ae2acc53 100644 --- a/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c +++ b/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c @@ -19,20 +19,20 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_ESC, RGB_TOG, RGB_MOD, KC_MEDIA_PLAY_PAUSE, - KC_NLCK, KC_PSLS, KC_PAST, MO(1), - KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_P0, KC_P0, KC_PDOT, KC_PENT), + LT(1, KC_ESC), RGB_TOG, RGB_MOD, KC_MEDIA_PLAY_PAUSE, + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_P0, KC_PDOT, KC_PENT), [1] = LAYOUT_all( - RESET, KC_LCTL, KC_LALT, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_HUI, KC_PMNS, - KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_P0, KC_P0, KC_PDOT, KC_PENT), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RESET, RGB_TOG, RGB_MOD, RGB_HUI, + 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), [2] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/pearlboards/zeuspad/rules.mk b/keyboards/pearlboards/zeuspad/rules.mk index 0299b99a2fa6..b76fe206a17b 100644 --- a/keyboards/pearlboards/zeuspad/rules.mk +++ b/keyboards/pearlboards/zeuspad/rules.mk @@ -16,8 +16,8 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 +ENCODER_ENABLE = yes # Rotary encoder +OLED_ENABLE = yes # Enable oled +OLED_DRIVER = SSD1306 # Oled type -LTO_ENABLE = yes +LTO_ENABLE = yes # Link time optimization From b26217414c8bd421d2d0e6edd161c6e7ea0bc1be Mon Sep 17 00:00:00 2001 From: Koobaczech <67293963+Koobaczech@users.noreply.github.com> Date: Mon, 7 Mar 2022 01:58:38 -0500 Subject: [PATCH 0290/1832] [Keyboard] Delete duplicate pandora directory (#16496) --- keyboards/pandora/config.h | 83 ---------------------- keyboards/pandora/info.json | 10 --- keyboards/pandora/keymaps/default/keymap.c | 43 ----------- keyboards/pandora/keymaps/via/keymap.c | 58 --------------- keyboards/pandora/keymaps/via/rules.mk | 1 - keyboards/pandora/pandora.c | 17 ----- keyboards/pandora/pandora.h | 38 ---------- keyboards/pandora/readme.md | 21 ------ keyboards/pandora/rules.mk | 21 ------ 9 files changed, 292 deletions(-) delete mode 100644 keyboards/pandora/config.h delete mode 100644 keyboards/pandora/info.json delete mode 100644 keyboards/pandora/keymaps/default/keymap.c delete mode 100644 keyboards/pandora/keymaps/via/keymap.c delete mode 100644 keyboards/pandora/keymaps/via/rules.mk delete mode 100644 keyboards/pandora/pandora.c delete mode 100644 keyboards/pandora/pandora.h delete mode 100644 keyboards/pandora/readme.md delete mode 100644 keyboards/pandora/rules.mk diff --git a/keyboards/pandora/config.h b/keyboards/pandora/config.h deleted file mode 100644 index 3a44129c49af..000000000000 --- a/keyboards/pandora/config.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -Copyright 2020 Koobaczech - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x6963 -#define PRODUCT_ID 0x6963 -#define DEVICE_VER 0x0002 -#define MANUFACTURER Koobaczech -#define PRODUCT Pandora - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 15 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { B4, D7, D6, B3, B0 } -#define MATRIX_COL_PINS { D2, D1, D0, D3, D5, B5, B6, B7, D4, C6, C7, F0, F1, F4, F7 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - -#define LED_CAPS_LOCK_PIN E6 -#define LED_PIN_ON_STATE 0 - -/* Encoder Function */ -#define ENCODERS_PAD_A { F6 } -#define ENCODERS_PAD_B { F5 } -//#define ENCODER_DIRECTION_FLIP -#define ENCODER_RESOLUTION 1 -#define DIP_SWITCH_PINS { B2, B5 } - -//#define BACKLIGHT_PIN -//#define BACKLIGHT_LEVELS 5 -// #define BACKLIGHT_BREATHING - -/*== all animations enabled ==*/ -/* If RGBLIGHT_SLEEP defined, the RGB lighting will be switched off when the host goes to sleep */ -#define RGB_DI_PIN B1 -#ifdef RGB_DI_PIN -# define RGBLIGHT_ANIMATIONS -# define RGBLED_NUM 12 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP -#endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 0 - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE - -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/pandora/info.json b/keyboards/pandora/info.json deleted file mode 100644 index ed84808c5d0e..000000000000 --- a/keyboards/pandora/info.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "keyboard_name": "Pandora", - "url": "", - "maintainer": "Koobaczech", - "layouts": { - "LAYOUT": { - "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0}, {"label":"0,14", "x":14, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,12", "x":12.75, "y":2}, {"label":"2,13", "x":13.75, "y":2, "w":1.25}, {"label":"3,0", "x":0, "y":3, "w":1.25}, {"label":"3,1", "x":1.25, "y":3}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,6", "x":3.75, "y":4, "w":6.25}, {"label":"4,10", "x":10, "y":4, "w":1.25}, {"label":"4,11", "x":11.25, "y":4, "w":1.25}, {"label":"4,12", "x":12.5, "y":4, "w":1.25}, {"label":"4,13", "x":13.75, "y":4, "w":1.25}] - } - } -} diff --git a/keyboards/pandora/keymaps/default/keymap.c b/keyboards/pandora/keymaps/default/keymap.c deleted file mode 100644 index 1878f078cef5..000000000000 --- a/keyboards/pandora/keymaps/default/keymap.c +++ /dev/null @@ -1,43 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - 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_DEL, KC_BSPC, - 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), - - [1] = LAYOUT_all( - 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, KC_TRNS, KC_DEL, - 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; - -// Encoder rotate function -bool encoder_update_user(uint8_t index, bool clockwise) { - /* First encoder */ - if (index == 0) { - if (clockwise) { - tap_code(KC_AUDIO_VOL_UP); - } else { - tap_code(KC_AUDIO_VOL_DOWN); - } - } - return true; -} - -// Encoder click function -bool dip_switch_update_user(uint8_t index, bool active) { - switch (index) { - /* First encoder */ - case 0: - if (active) { - tap_code(KC_MUTE); - } - break; - } - return true; -} diff --git a/keyboards/pandora/keymaps/via/keymap.c b/keyboards/pandora/keymaps/via/keymap.c deleted file mode 100644 index eb2007447b8b..000000000000 --- a/keyboards/pandora/keymaps/via/keymap.c +++ /dev/null @@ -1,58 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_all( - 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_DEL, KC_BSPC, - 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), - - [1] = LAYOUT_all( - 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, KC_TRNS, KC_DEL, - 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [2] = LAYOUT_all( - 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, 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, 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, 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, KC_TRNS), - - [3] = LAYOUT_all( - 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, 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, 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, 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, KC_TRNS) -}; - -// Encoder rotate function -bool encoder_update_user(uint8_t index, bool clockwise) { - /* First encoder */ - if (index == 0) { - if (clockwise) { - tap_code(KC_AUDIO_VOL_UP); - } else { - tap_code(KC_AUDIO_VOL_DOWN); - } - } - return true; -} - -// Encoder click function -bool dip_switch_update_user(uint8_t index, bool active) { - switch (index) { - /* First encoder */ - case 0: - if (active) { - tap_code(KC_MUTE); - } - break; - } - return true; -} diff --git a/keyboards/pandora/keymaps/via/rules.mk b/keyboards/pandora/keymaps/via/rules.mk deleted file mode 100644 index 1e5b99807cb7..000000000000 --- a/keyboards/pandora/keymaps/via/rules.mk +++ /dev/null @@ -1 +0,0 @@ -VIA_ENABLE = yes diff --git a/keyboards/pandora/pandora.c b/keyboards/pandora/pandora.c deleted file mode 100644 index 3d166646b8cc..000000000000 --- a/keyboards/pandora/pandora.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2020 Koobaczech - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "pandora.h" diff --git a/keyboards/pandora/pandora.h b/keyboards/pandora/pandora.h deleted file mode 100644 index d73ae8447380..000000000000 --- a/keyboards/pandora/pandora.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2020 Koobaczech - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This layout covers all of the possible build layouts. Also, any - * built layouts will work without having to change anything. -*/ - -#pragma once - -#include "quantum.h" - -#define LAYOUT_all( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ - k40, k41, k42, k46, k4a, k4b, k4c, k4d \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, KC_NO }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, KC_NO }, \ - { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d, KC_NO } \ -} diff --git a/keyboards/pandora/readme.md b/keyboards/pandora/readme.md deleted file mode 100644 index 4870c9981c93..000000000000 --- a/keyboards/pandora/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -# Pandora - -![Pandora](https://i.imgur.com/fQRmwfO.jpg) - -Pandora is an ultra premium 60 percent keyboard. The construction uses 6063 alu, -pvd coated brass/stainless steel and dyed polycarbonate. The finishes include -e-coating, anodizing, micro arc anodization, metal polish and fine beadblasting. -Layouts are limited to a few ANSI variations such as tsangan/wkl and ISO. The -keyboard also has a usb-c daugtherboard, an integrated usb hub and rotary -encoder. The case has indicator lights for caps and is gasket mounted. The pcb -is designed by me in house and has some super cool tricks up its sleeve as well. - -* Keyboard Maintainer: Koobaczech -* Hardware Supported: Pandora -* Availability: Link to come - -Make example for this keyboard (after setting up your build environment): - - make pandora:default - -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/pandora/rules.mk b/keyboards/pandora/rules.mk deleted file mode 100644 index 6ee43455f10f..000000000000 --- a/keyboards/pandora/rules.mk +++ /dev/null @@ -1,21 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -DIP_SWITCH_ENABLE = yes -ENCODER_ENABLE = yes -OLED_ENABLE = no # Future release From 9dea8a7d86970570022030f3a99023b0f2ba291c Mon Sep 17 00:00:00 2001 From: jels <66403163+Jels02@users.noreply.github.com> Date: Mon, 7 Mar 2022 16:59:30 +1000 Subject: [PATCH 0291/1832] [Keyboard] Update Jels88 (#16486) --- keyboards/jels/jels88/info.json | 189 ++++++++++++++++++++++++++++++++ keyboards/jels/jels88/jels88.h | 6 +- keyboards/jels/jels88/readme.md | 2 +- 3 files changed, 193 insertions(+), 4 deletions(-) diff --git a/keyboards/jels/jels88/info.json b/keyboards/jels/jels88/info.json index 96a740a9fdc2..827e911494aa 100644 --- a/keyboards/jels/jels88/info.json +++ b/keyboards/jels/jels88/info.json @@ -97,6 +97,195 @@ { "label": "\u2193", "x": 16.25, "y": 5.25 }, { "label": "\u2192", "x": 17.25, "y": 5.25 } ] + }, + "LAYOUT_ansi": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "F1", "x": 1.25, "y": 0 }, + { "label": "F2", "x": 2.25, "y": 0 }, + { "label": "F3", "x": 3.25, "y": 0 }, + { "label": "F4", "x": 4.25, "y": 0 }, + { "label": "F5", "x": 5.5, "y": 0 }, + { "label": "F6", "x": 6.5, "y": 0 }, + { "label": "F7", "x": 7.5, "y": 0 }, + { "label": "F8", "x": 8.5, "y": 0 }, + { "label": "F9", "x": 9.75, "y": 0 }, + { "label": "F10", "x": 10.75, "y": 0 }, + { "label": "F11", "x": 11.75, "y": 0 }, + { "label": "F12", "x": 12.75, "y": 0 }, + { "label": "F13", "x": 14, "y": 0 }, + { "label": "PrtSc", "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "x": 16.25, "y": 0 }, + { "label": "Pause", "x": 17.25, "y": 0 }, + { "label": "~", "x": 0, "y": 1.25 }, + { "label": "!", "x": 1, "y": 1.25 }, + { "label": "@", "x": 2, "y": 1.25 }, + { "label": "#", "x": 3, "y": 1.25 }, + { "label": "$", "x": 4, "y": 1.25 }, + { "label": "%", "x": 5, "y": 1.25 }, + { "label": "^", "x": 6, "y": 1.25 }, + { "label": "&", "x": 7, "y": 1.25 }, + { "label": "*", "x": 8, "y": 1.25 }, + { "label": "(", "x": 9, "y": 1.25 }, + { "label": ")", "x": 10, "y": 1.25 }, + { "label": "_", "x": 11, "y": 1.25 }, + { "label": "+", "x": 12, "y": 1.25 }, + { "label": "Bksp", "x": 13, "y": 1.25 }, + { "label": "~", "x": 14, "y": 1.25 }, + { "label": "Insert", "x": 15.25, "y": 1.25 }, + { "label": "Home", "x": 16.25, "y": 1.25 }, + { "label": "PgUp", "x": 17.25, "y": 1.25 }, + { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2.25 }, + { "label": "W", "x": 2.5, "y": 2.25 }, + { "label": "E", "x": 3.5, "y": 2.25 }, + { "label": "R", "x": 4.5, "y": 2.25 }, + { "label": "T", "x": 5.5, "y": 2.25 }, + { "label": "Y", "x": 6.5, "y": 2.25 }, + { "label": "U", "x": 7.5, "y": 2.25 }, + { "label": "I", "x": 8.5, "y": 2.25 }, + { "label": "O", "x": 9.5, "y": 2.25 }, + { "label": "P", "x": 10.5, "y": 2.25 }, + { "label": "{", "x": 11.5, "y": 2.25 }, + { "label": "}", "x": 12.5, "y": 2.25 }, + { "label": "|", "x": 13.5, "y": 2.25, "w": 1.5 }, + { "label": "Delete", "x": 15.25, "y": 2.25 }, + { "label": "End", "x": 16.25, "y": 2.25 }, + { "label": "PgDn", "x": 17.25, "y": 2.25 }, + { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3.25 }, + { "label": "S", "x": 2.75, "y": 3.25 }, + { "label": "D", "x": 3.75, "y": 3.25 }, + { "label": "F", "x": 4.75, "y": 3.25 }, + { "label": "G", "x": 5.75, "y": 3.25 }, + { "label": "H", "x": 6.75, "y": 3.25 }, + { "label": "J", "x": 7.75, "y": 3.25 }, + { "label": "K", "x": 8.75, "y": 3.25 }, + { "label": "L", "x": 9.75, "y": 3.25 }, + { "label": ":", "x": 10.75, "y": 3.25 }, + { "label": "\"", "x": 11.75, "y": 3.25 }, + { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 }, + { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 }, + { "label": "Z", "x": 2.25, "y": 4.25 }, + { "label": "X", "x": 3.25, "y": 4.25 }, + { "label": "C", "x": 4.25, "y": 4.25 }, + { "label": "V", "x": 5.25, "y": 4.25 }, + { "label": "B", "x": 6.25, "y": 4.25 }, + { "label": "N", "x": 7.25, "y": 4.25 }, + { "label": "M", "x": 8.25, "y": 4.25 }, + { "label": "<", "x": 9.25, "y": 4.25 }, + { "label": ">", "x": 10.25, "y": 4.25 }, + { "label": "?", "x": 11.25, "y": 4.25 }, + { "label": "Shift", "x": 12.25, "y": 4.25, "w": 1.75 }, + { "x": 14, "y": 4.25 }, + { "label": "\u2191", "x": 16.25, "y": 4.25 }, + { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 }, + { "x": 3.75, "y": 5.25, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 }, + { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 }, + { "label": "\u2190", "x": 15.25, "y": 5.25 }, + { "label": "\u2193", "x": 16.25, "y": 5.25 }, + { "label": "\u2192", "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_iso": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "F1", "x": 1.25, "y": 0 }, + { "label": "F2", "x": 2.25, "y": 0 }, + { "label": "F3", "x": 3.25, "y": 0 }, + { "label": "F4", "x": 4.25, "y": 0 }, + { "label": "F5", "x": 5.5, "y": 0 }, + { "label": "F6", "x": 6.5, "y": 0 }, + { "label": "F7", "x": 7.5, "y": 0 }, + { "label": "F8", "x": 8.5, "y": 0 }, + { "label": "F9", "x": 9.75, "y": 0 }, + { "label": "F10", "x": 10.75, "y": 0 }, + { "label": "F11", "x": 11.75, "y": 0 }, + { "label": "F12", "x": 12.75, "y": 0 }, + { "label": "F13", "x": 14, "y": 0 }, + { "label": "PrtSc", "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "x": 16.25, "y": 0 }, + { "label": "Pause", "x": 17.25, "y": 0 }, + { "label": "~", "x": 0, "y": 1.25 }, + { "label": "!", "x": 1, "y": 1.25 }, + { "label": "@", "x": 2, "y": 1.25 }, + { "label": "#", "x": 3, "y": 1.25 }, + { "label": "$", "x": 4, "y": 1.25 }, + { "label": "%", "x": 5, "y": 1.25 }, + { "label": "^", "x": 6, "y": 1.25 }, + { "label": "&", "x": 7, "y": 1.25 }, + { "label": "*", "x": 8, "y": 1.25 }, + { "label": "(", "x": 9, "y": 1.25 }, + { "label": ")", "x": 10, "y": 1.25 }, + { "label": "_", "x": 11, "y": 1.25 }, + { "label": "+", "x": 12, "y": 1.25 }, + { "label": "Bksp", "x": 13, "y": 1.25 }, + { "label": "~", "x": 14, "y": 1.25 }, + { "label": "Insert", "x": 15.25, "y": 1.25 }, + { "label": "Home", "x": 16.25, "y": 1.25 }, + { "label": "PgUp", "x": 17.25, "y": 1.25 }, + { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2.25 }, + { "label": "W", "x": 2.5, "y": 2.25 }, + { "label": "E", "x": 3.5, "y": 2.25 }, + { "label": "R", "x": 4.5, "y": 2.25 }, + { "label": "T", "x": 5.5, "y": 2.25 }, + { "label": "Y", "x": 6.5, "y": 2.25 }, + { "label": "U", "x": 7.5, "y": 2.25 }, + { "label": "I", "x": 8.5, "y": 2.25 }, + { "label": "O", "x": 9.5, "y": 2.25 }, + { "label": "P", "x": 10.5, "y": 2.25 }, + { "label": "{", "x": 11.5, "y": 2.25 }, + { "label": "}", "x": 12.5, "y": 2.25 }, + { "label": "Enter", "x": 13.75, "y": 2.25, "w": 1.25, "h":2 }, + { "label": "Delete", "x": 15.25, "y": 2.25 }, + { "label": "End", "x": 16.25, "y": 2.25 }, + { "label": "PgDn", "x": 17.25, "y": 2.25 }, + { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3.25 }, + { "label": "S", "x": 2.75, "y": 3.25 }, + { "label": "D", "x": 3.75, "y": 3.25 }, + { "label": "F", "x": 4.75, "y": 3.25 }, + { "label": "G", "x": 5.75, "y": 3.25 }, + { "label": "H", "x": 6.75, "y": 3.25 }, + { "label": "J", "x": 7.75, "y": 3.25 }, + { "label": "K", "x": 8.75, "y": 3.25 }, + { "label": "L", "x": 9.75, "y": 3.25 }, + { "label": ":", "x": 10.75, "y": 3.25 }, + { "label": "\"", "x": 11.75, "y": 3.25 }, + { "label": "|", "x": 12.75, "y": 3.25, "w": 1 }, + { "label": "Shift", "x": 0, "y": 4.25, "w": 1.25 }, + { "label": "|", "x": 1.25, "y": 4.25 }, + { "label": "Z", "x": 2.25, "y": 4.25 }, + { "label": "X", "x": 3.25, "y": 4.25 }, + { "label": "C", "x": 4.25, "y": 4.25 }, + { "label": "V", "x": 5.25, "y": 4.25 }, + { "label": "B", "x": 6.25, "y": 4.25 }, + { "label": "N", "x": 7.25, "y": 4.25 }, + { "label": "M", "x": 8.25, "y": 4.25 }, + { "label": "<", "x": 9.25, "y": 4.25 }, + { "label": ">", "x": 10.25, "y": 4.25 }, + { "label": "?", "x": 11.25, "y": 4.25 }, + { "label": "Shift", "x": 12.25, "y": 4.25, "w": 1.75 }, + { "x": 14, "y": 4.25 }, + { "label": "\u2191", "x": 16.25, "y": 4.25 }, + { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 }, + { "x": 3.75, "y": 5.25, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 }, + { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 }, + { "label": "\u2190", "x": 15.25, "y": 5.25 }, + { "label": "\u2193", "x": 16.25, "y": 5.25 }, + { "label": "\u2192", "x": 17.25, "y": 5.25 } + ] } } } diff --git a/keyboards/jels/jels88/jels88.h b/keyboards/jels/jels88/jels88.h index 8314d0d2e064..2a7f8707723f 100644 --- a/keyboards/jels/jels88/jels88.h +++ b/keyboards/jels/jels88/jels88.h @@ -48,7 +48,7 @@ K1A0, K1A1, K1B1, K1B2, K1A2, K1A3, K1B3, K1B4, K1A4, K1A5, K1B5, K1B6, K1A6, K1A7, K2B7, K2A7, K2A8, K1A8, \ K2B0, K2B1, K2A1, K2A2, K2B2, K2B3, K2A3, K2A4, K2B4, K2B5, K2A5, K2A6, K2B6, K3A7, K1B7, K1B8, K2B8, \ K3A0, K3A1, K3B1, K3B2, K3A2, K3A3, K3B3, K3B4, K3A4, K3A5, K3B5, K3B6, K3A6, \ - K4B0, K4A1, K4A2, K4B2, K4B3, K4A3, K4A4, K4B4, K4B5, K4A5, K4A6, K4B6, K4B7, K4A7, \ + K4B0, K4A1, K4A2, K4B2, K4B3, K4A3, K4A4, K4B4, K4B5, K4A5, K4A6, K4B6, K4B7, K4A7, \ K5A0, K5A1, K5B1, K5B3, K5A5, K5A6, K5B6, K5B7, K5A7, K5A8, K4A8 \ ){ \ {____, K0A1, K0A2, K0A3, K0A4, K0A5, K0A6, K0A7, K0A8}, \ @@ -71,7 +71,7 @@ K1A0, K1A1, K1B1, K1B2, K1A2, K1A3, K1B3, K1B4, K1A4, K1A5, K1B5, K1B6, K1A6, K1A7, K3A7, K2A7, K2A8, K1A8, \ K2B0, K2B1, K2A1, K2A2, K2B2, K2B3, K2A3, K2A4, K2B4, K2B5, K2A5, K2A6, K2B6, K2B7, K1B7, K1B8, K2B8, \ K3A0, K3A1, K3B1, K3B2, K3A2, K3A3, K3B3, K3B4, K3A4, K3A5, K3B5, K3B6, K3A6, \ - K4B0, K4A1, K4A2, K4B2, K4B3, K4A3, K4A4, K4B4, K4B5, K4A5, K4A6, K4B6, K4B7, K4A7, \ + K4B0, K4B1, K4A1, K4A2, K4B2, K4B3, K4A3, K4A4, K4B4, K4B5, K4A5, K4A6, K4B6, K4B7, K4A7, \ K5A0, K5A1, K5B1, K5B3, K5A5, K5A6, K5B6, K5B7, K5A7, K5A8, K4A8 \ ){ \ {____, K0A1, K0A2, K0A3, K0A4, K0A5, K0A6, K0A7, K0A8}, \ @@ -83,7 +83,7 @@ {K3A0, K3A1, K3A2, K3A3, K3A4, K3A5, K3A6, K3A7, ____}, \ {____, K3B1, K3B2, K3B3, K3B4, K3B5, K3B6, ____, ____}, \ {____, K4A1, K4A2, K4A3, K4A4, K4A5, K4A6, K4A7, K4A8}, \ - {K4B0, ____, K4B2, K4B3, K4B4, K4B5, K4B6, K4B7, ____}, \ + {K4B0, K4B1, K4B2, K4B3, K4B4, K4B5, K4B6, K4B7, ____}, \ {K5A0, K5A1, ____, ____, ____, K5A5, K5A6, K5A7, K5A8}, \ {____, K5B1, ____, K5B3, ____, ____, K5B6, K5B7, ____} \ } diff --git a/keyboards/jels/jels88/readme.md b/keyboards/jels/jels88/readme.md index 0ea1f4c64cd5..37d18dbf407e 100644 --- a/keyboards/jels/jels88/readme.md +++ b/keyboards/jels/jels88/readme.md @@ -2,7 +2,7 @@ ![jels88](https://i.imgur.com/7kuYR4G.png) -* Keyboard Maintainer: [jels](https://github.com/Jels-kb) +* Keyboard Maintainer: [jels](https://github.com/Jels02) * Hardware Supported: jels88b/jels88c PCB * Hardware Availabililty: Group buys, Various dates. From 6e61126e08a2219db81ab0fc2ad6b385e2bd6098 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon, 7 Mar 2022 15:02:31 +0800 Subject: [PATCH 0292/1832] [Keyboard] BM68HSRGB/rev2 (#16454) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/kprepublic/bm68hsrgb/rev1/readme.md | 4 +- keyboards/kprepublic/bm68hsrgb/rev2/config.h | 133 ++++++++++++++++++ keyboards/kprepublic/bm68hsrgb/rev2/info.json | 83 +++++++++++ .../bm68hsrgb/rev2/keymaps/default/keymap.c | 103 ++++++++++++++ .../bm68hsrgb/rev2/keymaps/via/keymap.c | 103 ++++++++++++++ .../bm68hsrgb/rev2/keymaps/via/rules.mk | 2 + keyboards/kprepublic/bm68hsrgb/rev2/readme.md | 24 ++++ keyboards/kprepublic/bm68hsrgb/rev2/rev2.c | 124 ++++++++++++++++ keyboards/kprepublic/bm68hsrgb/rev2/rev2.h | 34 +++++ keyboards/kprepublic/bm68hsrgb/rev2/rules.mk | 21 +++ 10 files changed, 629 insertions(+), 2 deletions(-) create mode 100644 keyboards/kprepublic/bm68hsrgb/rev2/config.h create mode 100644 keyboards/kprepublic/bm68hsrgb/rev2/info.json create mode 100644 keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c create mode 100644 keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/keymap.c create mode 100644 keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/rules.mk create mode 100644 keyboards/kprepublic/bm68hsrgb/rev2/readme.md create mode 100644 keyboards/kprepublic/bm68hsrgb/rev2/rev2.c create mode 100644 keyboards/kprepublic/bm68hsrgb/rev2/rev2.h create mode 100644 keyboards/kprepublic/bm68hsrgb/rev2/rules.mk diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/readme.md b/keyboards/kprepublic/bm68hsrgb/rev1/readme.md index 54d71cab2c6e..d74a9659f8fe 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/readme.md +++ b/keyboards/kprepublic/bm68hsrgb/rev1/readme.md @@ -10,11 +10,11 @@ A 65% hotswap in switch RGB keyboard from KPRepublic. Make example for this keyboard (after setting up your build environment): - make kprepublic/bm68hsrgb:default + make kprepublic/bm68hsrgb/rev1:default Flashing example for this keyboard: - make kprepublic/bm68hsrgb:default:flash + make kprepublic/bm68hsrgb/rev1:default:flash To reset the board into bootloader mode, do one of the following: diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/config.h b/keyboards/kprepublic/bm68hsrgb/rev2/config.h new file mode 100644 index 000000000000..4faca73c0d21 --- /dev/null +++ b/keyboards/kprepublic/bm68hsrgb/rev2/config.h @@ -0,0 +1,133 @@ + /* Copyright 2022 bdtc123 + * Copyright 2022 peepeetee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4B50 +#define PRODUCT_ID 0x1131 +#define DEVICE_VER 0x0002 +#define MANUFACTURER KP republic +#define PRODUCT bm68v2 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 +#define MATRIX_ROW_PINS { D6, D4, D5, D3, F6 } +#define MATRIX_COL_PINS { F0, F1, B0, B1, B2, B3, E6, B7, D2, D7, B4, B5, B6, C6, C7} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL +#define USB_POLLING_INTERVAL_MS 1 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION +#define RGBLIGHT_LIMIT_VAL 150 +#define RGBLED_NUM 6 +#define RGB_DI_PIN E2 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 + + + +#define DRIVER_ADDR_1 0b0110000 + +#define DRIVER_COUNT 1 +#define DRIVER_1_LED_TOTAL 68 +#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define DRIVER_INDICATOR_LED_TOTAL 0 + +#ifdef RGB_MATRIX_ENABLE + +#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +#define RGB_MATRIX_KEYPRESSES + +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_BAND_SAT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +// # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +// # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +// # define ENABLE_RGB_MATRIX_DUAL_BEACON +// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON +// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +// # define ENABLE_RGB_MATRIX_RAINDROPS +// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +// # define ENABLE_RGB_MATRIX_HUE_BREATHING +// # define ENABLE_RGB_MATRIX_HUE_PENDULUM +// # define ENABLE_RGB_MATRIX_HUE_WAVE +// # define ENABLE_RGB_MATRIX_PIXEL_RAIN +// # define ENABLE_RGB_MATRIX_PIXEL_FLOW +// # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_SPLASH +# define ENABLE_RGB_MATRIX_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_SPLASH +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif + + +#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) + #define RGB_MATRIX_DISABLE_KEYCODES +#endif + +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/info.json b/keyboards/kprepublic/bm68hsrgb/rev2/info.json new file mode 100644 index 000000000000..23a4d4d38fe2 --- /dev/null +++ b/keyboards/kprepublic/bm68hsrgb/rev2/info.json @@ -0,0 +1,83 @@ +{ + "keyboard_name": "bm68hsrgb/rev2", + "url": "", + "maintainer": "bdtc123", + "layouts": { + "LAYOUT_65_ansi": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + } + } +} diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c new file mode 100644 index 000000000000..e4542b553fef --- /dev/null +++ b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c @@ -0,0 +1,103 @@ + /* Copyright 2022 bdtc123 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H +enum my_keycodes { + RMT = SAFE_RANGE, + RMS, + RMIH, + RMDH, + RMIS, + RMDS, + RMIV, + RMDV +}; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RMT: + if (record->event.pressed) + {rgb_matrix_toggle(); + } + return false; + case RMS: + if (record->event.pressed) + {rgb_matrix_step(); + } + return false; + case RMIH: + if (record->event.pressed) + {rgb_matrix_increase_hue(); + } + return false; + case RMDH: + if (record->event.pressed) + {rgb_matrix_decrease_hue(); + } + return false; + case RMIS: + if (record->event.pressed) + {rgb_matrix_increase_sat(); + } + return false; + case RMDS: + if (record->event.pressed) + {rgb_matrix_decrease_sat(); + } + return false; + case RMIV: + if (record->event.pressed) + {rgb_matrix_increase_val(); + } + return false; + case RMDV: + if (record->event.pressed) + {rgb_matrix_decrease_val(); + } + return true; + default: + return true; + } +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi( + 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, KC_DEL, RESET, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______, _______, + KC_CAPS, RMT, RMS, RMIH, RMDH, RMIS, RMDS, RMIV, RMDV, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______ + ), + [2] = LAYOUT_65_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_65_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/keymap.c new file mode 100644 index 000000000000..02c54584c6c9 --- /dev/null +++ b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/keymap.c @@ -0,0 +1,103 @@ + /* Copyright 2022 bdtc123 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H +enum my_keycodes { + RM_TOGG = SAFE_RANGE, + RM_MOD, + RM_HUI, + RM_HUD, + RM_SAI, + RM_SAD, + RM_VAI, + RM_VAD +}; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RM_TOGG: + if (record->event.pressed) + {rgb_matrix_toggle(); + } + return false; + case RM_MOD: + if (record->event.pressed) + {rgb_matrix_step(); + } + return false; + case RM_HUI: + if (record->event.pressed) + {rgb_matrix_increase_hue(); + } + return false; + case RM_HUD: + if (record->event.pressed) + {rgb_matrix_decrease_hue(); + } + return false; + case RM_SAI: + if (record->event.pressed) + {rgb_matrix_increase_sat(); + } + return false; + case RM_SAD: + if (record->event.pressed) + {rgb_matrix_decrease_sat(); + } + return false; + case RM_VAI: + if (record->event.pressed) + {rgb_matrix_increase_val(); + } + return false; + case RM_VAD: + if (record->event.pressed) + {rgb_matrix_decrease_val(); + } + return true; + default: + return true; + } +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi( + 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, KC_DEL, RESET, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______, _______, + KC_CAPS, RM_TOGG, RM_MOD, RM_HUI, RM_HUD, RM_SAI, RM_SAD, RM_VAI, RM_VAD, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______ + ), + [2] = LAYOUT_65_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_65_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/rules.mk b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/readme.md b/keyboards/kprepublic/bm68hsrgb/rev2/readme.md new file mode 100644 index 000000000000..ec66db99d648 --- /dev/null +++ b/keyboards/kprepublic/bm68hsrgb/rev2/readme.md @@ -0,0 +1,24 @@ +# BM68HSRGB + +![BM68HSRGB](https://i.imgur.com/uuYP8OIl.jpeg) + +A 65% hotswap in switch RGB keyboard from KPRepublic. + +* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee) +* Hardware Supported: BM68HSRGB +* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm68rgb-bm68-rgb-65-hot-swappable-custom-mechanical-keyboard-pcb-programmed-qmk-via-firmware-full-rgb-switch-underglow-type-c) + +Make example for this keyboard (after setting up your build environment): + + make kprepublic/bm68hsrgb/rev2:default + +Flashing example for this keyboard: + + make kprepublic/bm68hsrgb/rev2:default:flash + +To reset the board into bootloader mode, do one of the following: + +* Short the two-pad footprint to the left of the spacebar switch while the board is plugged in +* Hold the Esc key while connecting the USB cable (also erases persistent settings) + +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/kprepublic/bm68hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c new file mode 100644 index 000000000000..be743cbae519 --- /dev/null +++ b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c @@ -0,0 +1,124 @@ + /* Copyright 2022 bdtc123 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "rev2.h" + +#ifdef RGB_MATRIX_ENABLE + +const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { + {0, CS6_SW1, CS5_SW1, CS4_SW1}, + {0, CS6_SW2, CS5_SW2, CS4_SW2}, + {0, CS6_SW3, CS5_SW3, CS4_SW3}, + {0, CS6_SW4, CS5_SW4, CS4_SW4}, + {0, CS6_SW5, CS5_SW5, CS4_SW5}, + {0, CS6_SW6, CS5_SW6, CS4_SW6}, + {0, CS6_SW7, CS5_SW7, CS4_SW7}, + {0, CS6_SW8, CS5_SW8, CS4_SW8}, + {0, CS18_SW1, CS17_SW1, CS16_SW1}, + {0, CS18_SW2, CS17_SW2, CS16_SW2}, + {0, CS18_SW3, CS17_SW3, CS16_SW3}, + {0, CS18_SW4, CS17_SW4, CS16_SW4}, + {0, CS18_SW5, CS17_SW5, CS16_SW5}, + {0, CS18_SW6, CS17_SW6, CS16_SW6}, + {0, CS18_SW7, CS17_SW7, CS16_SW7}, + + {0, CS9_SW1, CS8_SW1, CS7_SW1}, + {0, CS9_SW2, CS8_SW2, CS7_SW2}, + {0, CS9_SW3, CS8_SW3, CS7_SW3}, + {0, CS9_SW4, CS8_SW4, CS7_SW4}, + {0, CS9_SW5, CS8_SW5, CS7_SW5}, + {0, CS9_SW6, CS8_SW6, CS7_SW6}, + {0, CS9_SW7, CS8_SW7, CS7_SW7}, + {0, CS9_SW8, CS8_SW8, CS7_SW8}, + {0, CS21_SW1, CS20_SW1, CS19_SW1}, + {0, CS21_SW2, CS20_SW2, CS19_SW2}, + {0, CS21_SW3, CS20_SW3, CS19_SW3}, + {0, CS21_SW4, CS20_SW4, CS19_SW4}, + {0, CS21_SW5, CS20_SW5, CS19_SW5}, + {0, CS21_SW6, CS20_SW6, CS19_SW6}, + {0, CS21_SW7, CS20_SW7, CS19_SW7}, + + {0, CS12_SW1, CS11_SW1, CS10_SW1}, + {0, CS12_SW2, CS11_SW2, CS10_SW2}, + {0, CS12_SW3, CS11_SW3, CS10_SW3}, + {0, CS12_SW4, CS11_SW4, CS10_SW4}, + {0, CS12_SW5, CS11_SW5, CS10_SW5}, + {0, CS12_SW6, CS11_SW6, CS10_SW6}, + {0, CS12_SW7, CS11_SW7, CS10_SW7}, + {0, CS12_SW8, CS11_SW8, CS10_SW8}, + {0, CS24_SW1, CS23_SW1, CS22_SW1}, + {0, CS24_SW2, CS23_SW2, CS22_SW2}, + {0, CS24_SW3, CS23_SW3, CS22_SW3}, + {0, CS24_SW4, CS23_SW4, CS22_SW4}, + {0, CS24_SW6, CS23_SW6, CS22_SW6}, + {0, CS24_SW7, CS23_SW7, CS22_SW7}, + + {0, CS15_SW1, CS14_SW1, CS13_SW1}, + {0, CS15_SW3, CS14_SW3, CS13_SW3}, + {0, CS15_SW4, CS14_SW4, CS13_SW4}, + {0, CS15_SW5, CS14_SW5, CS13_SW5}, + {0, CS15_SW6, CS14_SW6, CS13_SW6}, + {0, CS15_SW7, CS14_SW7, CS13_SW7}, + {0, CS15_SW8, CS14_SW8, CS13_SW8}, + {0, CS27_SW1, CS26_SW1, CS25_SW1}, + {0, CS27_SW2, CS26_SW2, CS25_SW2}, + {0, CS27_SW3, CS26_SW3, CS25_SW3}, + {0, CS27_SW4, CS26_SW4, CS25_SW4}, + {0, CS27_SW5, CS26_SW5, CS25_SW5}, + {0, CS27_SW6, CS26_SW6, CS25_SW6}, + {0, CS27_SW7, CS26_SW7, CS25_SW7}, + + {0, CS3_SW1, CS2_SW1, CS1_SW1}, + {0, CS3_SW2, CS2_SW2, CS1_SW2}, + {0, CS3_SW3, CS2_SW3, CS1_SW3}, + {0, CS3_SW7, CS2_SW7, CS1_SW7}, + {0, CS30_SW2, CS29_SW2, CS28_SW2}, + {0, CS30_SW3, CS29_SW3, CS28_SW3}, + {0, CS30_SW4, CS29_SW4, CS28_SW4}, + {0, CS30_SW5, CS29_SW5, CS28_SW5}, + {0, CS30_SW6, CS29_SW6, CS28_SW6}, + {0, CS30_SW7, CS29_SW7, CS28_SW7} + +}; +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 }, + { 44,NO_LED, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED,NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 } +}, { + {0,0},{15,0},{30,0},{45,0},{60,0},{75,0},{90,0},{105,0},{120,0},{135,0},{150,0},{165,0},{180,0},{203,0},{224,0}, + {4,16},{23,16},{38,16},{53,16},{68,16},{83,16},{98,16},{113,16},{128,16},{143,16},{158,16},{173,16},{188,16},{206,16},{224,16}, + {6,32},{26,32},{41,32},{56,32},{71,32},{86,32},{101,32},{116,32},{131,32},{146,32},{161,32},{176,32},{201,32},{224,32}, + {9,48},{34,48},{49,48},{64,48},{79,48},{94,48},{109,48},{124,48},{139,48},{154,48},{169,48},{189,48},{210,48},{224,48}, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 +} }; + + +__attribute__ ((weak)) +void rgb_matrix_indicators_user(void) +{ + if (host_keyboard_led_state().caps_lock) + { + rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); + } +} +#endif diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/rev2.h b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.h new file mode 100644 index 000000000000..c4cff29a77a0 --- /dev/null +++ b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.h @@ -0,0 +1,34 @@ + /* Copyright 2022 bdtc123 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_65_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, K4A, K4B, K4C, K4D, K4E } \ +} diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/rules.mk b/keyboards/kprepublic/bm68hsrgb/rev2/rules.mk new file mode 100644 index 000000000000..3520ee322931 --- /dev/null +++ b/keyboards/kprepublic/bm68hsrgb/rev2/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = IS31FL3741 +LTO_ENABLE = yes From 41fb9120d0aff73664da880871d4e168ad158ae2 Mon Sep 17 00:00:00 2001 From: takashicompany Date: Mon, 7 Mar 2022 16:02:52 +0900 Subject: [PATCH 0293/1832] [Keyboard] Update DogTag Macro Pad (#16446) Co-authored-by: Drashna Jaelre --- keyboards/takashicompany/dogtag/config.h | 12 +++---- keyboards/takashicompany/dogtag/dogtag.c | 28 ++++++++++++--- keyboards/takashicompany/dogtag/dogtag.h | 15 ++++---- keyboards/takashicompany/dogtag/info.json | 34 ++++++++++++++----- .../dogtag/keymaps/default/keymap.c | 8 ++--- .../dogtag/keymaps/via/config.h | 2 +- .../dogtag/keymaps/via/keymap.c | 8 ++--- keyboards/takashicompany/dogtag/rules.mk | 1 + 8 files changed, 74 insertions(+), 34 deletions(-) diff --git a/keyboards/takashicompany/dogtag/config.h b/keyboards/takashicompany/dogtag/config.h index 542a44ce6228..631435092df9 100644 --- a/keyboards/takashicompany/dogtag/config.h +++ b/keyboards/takashicompany/dogtag/config.h @@ -27,7 +27,7 @@ along with this program. If not, see . #define PRODUCT DogTag /* key matrix size */ -#define MATRIX_ROWS 2 * 2 +#define MATRIX_ROWS 6 #define MATRIX_COLS 5 /* @@ -40,9 +40,9 @@ along with this program. If not, see . * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) * */ -#define MATRIX_ROW_PINS { B2, B6 } +#define MATRIX_ROW_PINS { B2, B6, B3 } #define MATRIX_COL_PINS { F4, F5, F6, F7, B1 } -#define MATRIX_ROW_PINS_RIGHT { B2, B6 } +#define MATRIX_ROW_PINS_RIGHT { B2, B6, B3 } #define MATRIX_COL_PINS_RIGHT { B1, F7, F6, F5, F4 } #define UNUSED_PINS @@ -50,7 +50,7 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define ENCODER_RESOLUTION 1 +#define ENCODER_RESOLUTION 4 #define ENCODERS_PAD_A { D4 } #define ENCODERS_PAD_B { C6 } @@ -71,8 +71,8 @@ along with this program. If not, see . #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN -# define RGBLED_NUM 3 * 2 -# define RGBLED_SPLIT {3, 3} +# define RGBLED_NUM 4 * 2 +# define RGBLED_SPLIT { 4, 4 } # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 # define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/takashicompany/dogtag/dogtag.c b/keyboards/takashicompany/dogtag/dogtag.c index 459ca9d3f8b7..e5d0779c08d5 100644 --- a/keyboards/takashicompany/dogtag/dogtag.c +++ b/keyboards/takashicompany/dogtag/dogtag.c @@ -17,11 +17,31 @@ #include "dogtag.h" bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - if (clockwise) { - tap_code(KC_MS_WH_DOWN); + keypos_t key; + if (index == 0) { + if (clockwise) { + key.row = 2; + key.col = 1; + } else { + key.row = 2; + key.col = 0; + } + uint8_t layer = layer_switch_get_layer(key); + uint16_t keycode = keymap_key_to_keycode(layer, key); + + tap_code16(keycode); } else { - tap_code(KC_MS_WH_UP); + if (clockwise) { + key.row = 5; + key.col = 0; + } else { + key.row = 5; + key.col = 1; + } + uint8_t layer = layer_switch_get_layer(key); + uint16_t keycode = keymap_key_to_keycode(layer, key); + + tap_code16(keycode); } return true; diff --git a/keyboards/takashicompany/dogtag/dogtag.h b/keyboards/takashicompany/dogtag/dogtag.h index f2b7f5f60145..fb5ae151ea1b 100644 --- a/keyboards/takashicompany/dogtag/dogtag.h +++ b/keyboards/takashicompany/dogtag/dogtag.h @@ -27,11 +27,14 @@ * represents the switch matrix. */ #define LAYOUT( \ - l01, l02, l03, l04, r01, r02, r03, r04,\ - l05, l06, l07, l08, l09, r05, r06, r07, r08, r09 \ + l01, l02, l03, l04, r01, r02, r03, r04, \ + l05, l06, l07, l08, l09, r05, r06, r07, r08, r09, \ + l10, l11, r10, r11 \ ) { \ - { l01, l02, l03, l04, KC_NO }, \ - { l05, l06, l07, l08, l09 }, \ - { KC_NO, r01, r02, r03, r04,}, \ - { r05, r06, r07, r08, r09 } \ + { l01, l02, l03, l04, KC_NO }, \ + { l05, l06, l07, l08, l09 }, \ + { l10, l11, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, r01, r02, r03, r04}, \ + { r05, r06, r07, r08, r09 }, \ + { r10, r11, KC_NO, KC_NO, KC_NO } \ } diff --git a/keyboards/takashicompany/dogtag/info.json b/keyboards/takashicompany/dogtag/info.json index 9dad380b7012..64079408a8e0 100644 --- a/keyboards/takashicompany/dogtag/info.json +++ b/keyboards/takashicompany/dogtag/info.json @@ -21,10 +21,6 @@ "x": 3, "y": 0 }, - { - "x": 7, - "y": 0 - }, { "x": 8, "y": 0 @@ -37,6 +33,10 @@ "x": 10, "y": 0 }, + { + "x": 11, + "y": 0 + }, { "x": 0, "y": 1 @@ -53,10 +53,6 @@ "x": 3, "y": 1 }, - { - "x": 7, - "y": 1 - }, { "x": 8, "y": 1 @@ -69,13 +65,33 @@ "x": 10, "y": 1 }, + { + "x": 11, + "y": 1 + }, { "x": 4, "y": 2 }, { - "x": 6, + "x": 7, "y": 2 + }, + { + "x": 3.5, + "y": 3.25 + }, + { + "x": 4.5, + "y": 3.25 + }, + { + "x": 6.5, + "y": 3.25 + }, + { + "x": 7.5, + "y": 3.25 } ] } diff --git a/keyboards/takashicompany/dogtag/keymaps/default/keymap.c b/keyboards/takashicompany/dogtag/keymaps/default/keymap.c index 790d1b8126a4..865e6a2290cc 100644 --- a/keyboards/takashicompany/dogtag/keymaps/default/keymap.c +++ b/keyboards/takashicompany/dogtag/keymaps/default/keymap.c @@ -16,15 +16,15 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT( LT(1, KC_ESC), KC_Q, KC_W, KC_E, KC_Y, KC_U, KC_I, KC_O, - KC_LSFT, KC_A, KC_S, KC_D, KC_SPC, KC_TAB, KC_H, KC_J, KC_K, KC_L + KC_LSFT, KC_A, KC_S, KC_D, KC_SPC, KC_TAB, KC_H, KC_J, KC_K, KC_L, + KC_WH_U, KC_WH_D, KC_WH_U, KC_WH_D ), LAYOUT( KC_TRNS, RGB_MOD, RGB_HUI, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_M_P, RGB_M_K, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, RGB_M_P, RGB_M_K, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_WH_L, KC_WH_R, KC_WH_L, KC_WH_R ) - }; diff --git a/keyboards/takashicompany/dogtag/keymaps/via/config.h b/keyboards/takashicompany/dogtag/keymaps/via/config.h index 2ae708b32d46..60e30a615f64 100644 --- a/keyboards/takashicompany/dogtag/keymaps/via/config.h +++ b/keyboards/takashicompany/dogtag/keymaps/via/config.h @@ -17,4 +17,4 @@ along with this program. If not, see . #pragma once -#define DYNAMIC_KEYMAP_LAYER_COUNT 16 \ No newline at end of file +#define DYNAMIC_KEYMAP_LAYER_COUNT 12 \ No newline at end of file diff --git a/keyboards/takashicompany/dogtag/keymaps/via/keymap.c b/keyboards/takashicompany/dogtag/keymaps/via/keymap.c index 790d1b8126a4..865e6a2290cc 100644 --- a/keyboards/takashicompany/dogtag/keymaps/via/keymap.c +++ b/keyboards/takashicompany/dogtag/keymaps/via/keymap.c @@ -16,15 +16,15 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT( LT(1, KC_ESC), KC_Q, KC_W, KC_E, KC_Y, KC_U, KC_I, KC_O, - KC_LSFT, KC_A, KC_S, KC_D, KC_SPC, KC_TAB, KC_H, KC_J, KC_K, KC_L + KC_LSFT, KC_A, KC_S, KC_D, KC_SPC, KC_TAB, KC_H, KC_J, KC_K, KC_L, + KC_WH_U, KC_WH_D, KC_WH_U, KC_WH_D ), LAYOUT( KC_TRNS, RGB_MOD, RGB_HUI, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_M_P, RGB_M_K, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, RGB_M_P, RGB_M_K, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_WH_L, KC_WH_R, KC_WH_L, KC_WH_R ) - }; diff --git a/keyboards/takashicompany/dogtag/rules.mk b/keyboards/takashicompany/dogtag/rules.mk index dc6f5127fcf8..08b1ffe09c92 100644 --- a/keyboards/takashicompany/dogtag/rules.mk +++ b/keyboards/takashicompany/dogtag/rules.mk @@ -19,3 +19,4 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes SPLIT_KEYBOARD = yes +MOUSEKEY_ENABLE = yes \ No newline at end of file From 4b4f1c6edb3c0fdba20f241e453407c80f262620 Mon Sep 17 00:00:00 2001 From: Will McGloughlin <3410869+wymcg@users.noreply.github.com> Date: Mon, 7 Mar 2022 02:16:50 -0500 Subject: [PATCH 0294/1832] [Keymap] Add encoder showcase keymap (#16544) --- keyboards/psuieee/pluto12/config.h | 110 ++---------------- .../psuieee/pluto12/keymaps/default/keymap.c | 2 +- .../psuieee/pluto12/keymaps/wymcg/keymap.c | 56 +++++++++ .../psuieee/pluto12/keymaps/wymcg/readme.md | 1 + keyboards/psuieee/pluto12/pluto12.c | 2 +- keyboards/psuieee/pluto12/pluto12.h | 2 +- keyboards/psuieee/pluto12/rules.mk | 1 + 7 files changed, 68 insertions(+), 106 deletions(-) create mode 100644 keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c create mode 100644 keyboards/psuieee/pluto12/keymaps/wymcg/readme.md diff --git a/keyboards/psuieee/pluto12/config.h b/keyboards/psuieee/pluto12/config.h index 60d3f0a501c2..b59bd05afe1c 100644 --- a/keyboards/psuieee/pluto12/config.h +++ b/keyboards/psuieee/pluto12/config.h @@ -1,4 +1,4 @@ -// Copyright 2021 Willem McGloughlin (wymcg) +// Copyright 2021-22 Willem McGloughlin (wymcg) // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -16,123 +16,27 @@ #define MATRIX_ROWS 3 #define MATRIX_COLS 4 -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ +/* Keyboard Matrix Assignments */ #define MATRIX_ROW_PINS { D0, D4, C6 } #define MATRIX_COL_PINS { D7, E6, B4, B5 } #define UNUSED_PINS +/* Encoder Assignments */ +#define ENCODERS_PAD_A { B6 } +#define ENCODERS_PAD_B { B2 } +#define ENCODER_RESOLUTION 4 + /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - -//#define LED_NUM_LOCK_PIN B0 -//#define LED_CAPS_LOCK_PIN B1 -//#define LED_SCROLL_LOCK_PIN B2 -//#define LED_COMPOSE_PIN B3 -//#define LED_KANA_PIN B4 - -//#define BACKLIGHT_PIN B7 -//#define BACKLIGHT_LEVELS 3 -//#define BACKLIGHT_BREATHING - -//#define RGB_DI_PIN E2 -//#ifdef RGB_DI_PIN -//# define RGBLED_NUM 16 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ -//# define RGBLIGHT_ANIMATIONS -/*== or choose animations ==*/ -//# define RGBLIGHT_EFFECT_BREATHING -//# define RGBLIGHT_EFFECT_RAINBOW_MOOD -//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -//# define RGBLIGHT_EFFECT_SNAKE -//# define RGBLIGHT_EFFECT_KNIGHT -//# define RGBLIGHT_EFFECT_CHRISTMAS -//# define RGBLIGHT_EFFECT_STATIC_GRADIENT -//# define RGBLIGHT_EFFECT_RGB_TEST -//# define RGBLIGHT_EFFECT_ALTERNATING -/*== customize breathing effect ==*/ -/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -/*==== use exp() and sin() ====*/ -//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -//#endif - /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is useful for the Windows task manager shortcut (ctrl+shift+esc). - */ -//#define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - /* disable these deprecated features by default */ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION - -/* Bootmagic Lite key configuration */ -//#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/psuieee/pluto12/keymaps/default/keymap.c b/keyboards/psuieee/pluto12/keymaps/default/keymap.c index 1c09c4fc8348..c7008dad9ebb 100644 --- a/keyboards/psuieee/pluto12/keymaps/default/keymap.c +++ b/keyboards/psuieee/pluto12/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2021 Will McGLoughlin (wymcg) +// Copyright 2021-22 Will McGLoughlin (wymcg) // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H diff --git a/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c b/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c new file mode 100644 index 000000000000..96499b8789c9 --- /dev/null +++ b/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c @@ -0,0 +1,56 @@ +// Copyright 2021-22 Will McGLoughlin (wymcg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _NAV, + _PROD +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, + TO(_NAV), G(KC_1), G(KC_2), G(KC_3), + TO(_PROD), G(KC_4), G(KC_5), G(KC_6) + ), + [_NAV] = LAYOUT( + TO(_BASE), KC_HOME, KC_UP, KC_END, + A(KC_TAB), KC_LEFT, KC_DOWN, KC_RIGHT, + G(KC_TAB), KC_PGDN, KC_PGUP, MO(_BASE) + ), + [_PROD] = LAYOUT( + TO(_BASE), KC_NO, KC_NO, KC_NO, + C(KC_Z), C(KC_X), C(KC_C), C(KC_V), + C(KC_A), C(KC_LEFT), C(KC_RIGHT),MO(_BASE) + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + switch (biton32(layer_state)) { + case _BASE: + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + case _NAV: + if (clockwise) { + tap_code16(C(G(KC_RIGHT))); + } else { + tap_code16(C(G(KC_LEFT))); + } + break; + case _PROD: + if (clockwise) { + tap_code16(C(KC_Y)); + } else { + tap_code16(C(KC_Z)); + } + break; + } + return false; +} diff --git a/keyboards/psuieee/pluto12/keymaps/wymcg/readme.md b/keyboards/psuieee/pluto12/keymaps/wymcg/readme.md new file mode 100644 index 000000000000..60d2f19be3cc --- /dev/null +++ b/keyboards/psuieee/pluto12/keymaps/wymcg/readme.md @@ -0,0 +1 @@ +# wymcg's custom keymap diff --git a/keyboards/psuieee/pluto12/pluto12.c b/keyboards/psuieee/pluto12/pluto12.c index c08911493c39..15d5fad99fe0 100644 --- a/keyboards/psuieee/pluto12/pluto12.c +++ b/keyboards/psuieee/pluto12/pluto12.c @@ -1,4 +1,4 @@ -// Copyright 2021 Will McGloughlin (@wymcg) +// Copyright 2021-22 Will McGloughlin (@wymcg) // SPDX-License-Identifier: GPL-2.0-or-later #include "pluto12.h" diff --git a/keyboards/psuieee/pluto12/pluto12.h b/keyboards/psuieee/pluto12/pluto12.h index 7a01de10f708..fc3f3911563e 100644 --- a/keyboards/psuieee/pluto12/pluto12.h +++ b/keyboards/psuieee/pluto12/pluto12.h @@ -1,4 +1,4 @@ -// Copyright 2021 Will McGloughlin (@wymcg) +// Copyright 2021-22 Will McGloughlin (@wymcg) // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keyboards/psuieee/pluto12/rules.mk b/keyboards/psuieee/pluto12/rules.mk index 515ca5621f8f..a56e12eb22b1 100644 --- a/keyboards/psuieee/pluto12/rules.mk +++ b/keyboards/psuieee/pluto12/rules.mk @@ -16,3 +16,4 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes From 44f1bd9b3a9185951c283ceb5eeb2ecc2be72418 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 7 Mar 2022 21:04:22 +1100 Subject: [PATCH 0295/1832] ChibiOS 21.11.1 update. (#16251) * ChibiOS 21.11.1 update. * `uf2-tinyuf2` => `tinyuf2` * Updated chibios-contrib, fixup preprocessor for tinyuf2 bootloader. * Fixup keychron L433 boards. * Makefile cleanup. * RISC-V build fixes. * Fixup RISC-V build. --- builddefs/common_rules.mk | 2 +- builddefs/mcu_selection.mk | 83 ++++++-- .../input_club/ergodox_infinity/mcuconf.h | 2 +- keyboards/matrix/abelx/mcuconf.h | 3 +- lib/chibios | 2 +- lib/chibios-contrib | 2 +- .../GENERIC_STM32_F303XC/configs/mcuconf.h | 3 +- .../GENERIC_STM32_F405XG/configs/mcuconf.h | 75 ++++--- .../GENERIC_STM32_F407XE/configs/mcuconf.h | 75 ++++--- .../GENERIC_STM32_G431XB/configs/mcuconf.h | 20 +- .../GENERIC_STM32_G474XE/configs/mcuconf.h | 22 +- .../GENERIC_STM32_L412XB/configs/board.h | 5 +- .../GENERIC_STM32_L412XB/configs/config.h | 2 - .../GENERIC_STM32_L412XB/configs/mcuconf.h | 60 ++---- .../GENERIC_STM32_L432XC/configs/config.h | 3 - .../GENERIC_STM32_L432XC/configs/mcuconf.h | 14 +- .../GENERIC_STM32_L433XC/configs/config.h | 2 - .../boards/QMK_PROTON_C/configs/chconf.h | 69 ++++++- .../boards/QMK_PROTON_C/configs/halconf.h | 31 ++- .../boards/QMK_PROTON_C/configs/mcuconf.h | 3 +- .../chibios/boards/common/configs/chconf.h | 69 ++++++- .../chibios/boards/common/configs/halconf.h | 31 ++- platforms/chibios/drivers/ws2812_spi.c | 28 ++- platforms/chibios/platform.mk | 10 +- platforms/chibios/timer.c | 2 +- platforms/chibios/wait.c | 2 +- util/uf2conv.py | 112 ++++++---- util/uf2families.json | 192 ++++++++++++++++++ 28 files changed, 681 insertions(+), 243 deletions(-) create mode 100644 util/uf2families.json diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index b303a87919b5..85dfe67f3fd1 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -316,7 +316,7 @@ gccversion : @$(BUILD_CMD) %.uf2: %.hex - $(eval CMD=$(UF2CONV) $(BUILD_DIR)/$(TARGET).hex -o $(BUILD_DIR)/$(TARGET).uf2 -c -f $(UF2_FAMILY) >/dev/null 2>&1) + $(eval CMD=$(UF2CONV) $(BUILD_DIR)/$(TARGET).hex --output $(BUILD_DIR)/$(TARGET).uf2 --convert --family $(UF2_FAMILY) >/dev/null 2>&1) #@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n" @$(SILENT) || printf "$(MSG_UF2) $@" | $(AWK_CMD) @$(BUILD_CMD) diff --git a/builddefs/mcu_selection.mk b/builddefs/mcu_selection.mk index 9fdd22c3b664..ec33ee4446f9 100644 --- a/builddefs/mcu_selection.mk +++ b/builddefs/mcu_selection.mk @@ -9,7 +9,9 @@ ifneq ($(findstring MKL26Z64, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = KINETIS MCU_SERIES = KL2x @@ -36,7 +38,9 @@ ifneq ($(findstring MK20DX128, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = KINETIS MCU_SERIES = K20x @@ -63,7 +67,9 @@ ifneq ($(findstring MK20DX256, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = KINETIS MCU_SERIES = K20x @@ -90,7 +96,9 @@ ifneq ($(findstring MK66FX1M0, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = KINETIS MCU_SERIES = MK66F18 @@ -117,7 +125,9 @@ ifneq ($(findstring STM32F042, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32F0xx @@ -157,7 +167,9 @@ ifneq ($(findstring STM32F072, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32F0xx @@ -192,7 +204,9 @@ ifneq ($(findstring STM32F103, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32F1xx @@ -224,7 +238,9 @@ ifneq ($(findstring STM32F303, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32F3xx @@ -259,7 +275,9 @@ ifneq ($(findstring STM32F401, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32F4xx @@ -299,7 +317,9 @@ ifneq ($(findstring STM32F405, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32F4xx @@ -334,7 +354,9 @@ ifneq ($(findstring STM32F407, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32F4xx @@ -369,7 +391,9 @@ ifneq ($(findstring STM32F411, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32F4xx @@ -409,7 +433,9 @@ ifneq ($(findstring STM32F446, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32F4xx @@ -441,7 +467,9 @@ ifneq ($(findstring STM32G431, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32G4xx @@ -476,7 +504,9 @@ ifneq ($(findstring STM32G474, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32G4xx @@ -511,7 +541,9 @@ ifneq (,$(filter $(MCU),STM32L432 STM32L442)) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32L4xx @@ -548,7 +580,9 @@ ifneq (,$(filter $(MCU),STM32L433 STM32L443)) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32L4xx @@ -585,7 +619,9 @@ ifneq (,$(filter $(MCU),STM32L412 STM32L422)) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = STM32 MCU_SERIES = STM32L4xx @@ -602,7 +638,7 @@ ifneq (,$(filter $(MCU),STM32L412 STM32L422)) # /boards/, or drivers/boards/ BOARD ?= GENERIC_STM32_L412XB - PLATFORM_NAME ?= platform_l432 + PLATFORM_NAME ?= platform_l412_l422 USE_FPU ?= yes @@ -622,7 +658,9 @@ ifneq ($(findstring WB32F3G71, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) MCU_FAMILY = WB32 MCU_SERIES = WB32F3G71xx @@ -657,7 +695,10 @@ ifneq ($(findstring GD32VF103, $(MCU)),) ## chip/board settings # - the next two should match the directories in - # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + MCU_PORT_NAME = GD MCU_FAMILY = GD32V MCU_SERIES = GD32VF103 diff --git a/keyboards/input_club/ergodox_infinity/mcuconf.h b/keyboards/input_club/ergodox_infinity/mcuconf.h index f6730b99cad5..e4dfa75186f4 100644 --- a/keyboards/input_club/ergodox_infinity/mcuconf.h +++ b/keyboards/input_club/ergodox_infinity/mcuconf.h @@ -62,7 +62,7 @@ /* Need to redefine this, since the default is for K20x */ /* This is for Teensy LC; you should comment it out (or change to 5) * for Teensy 3.x */ -#define KINETIS_USB_USB0_IRQ_PRIORITY 2 +#define KINETIS_USB_USB0_IRQ_PRIORITY 5 /* * SPI driver system settings. diff --git a/keyboards/matrix/abelx/mcuconf.h b/keyboards/matrix/abelx/mcuconf.h index a22ce51c4c25..a2fd42b8c4cd 100644 --- a/keyboards/matrix/abelx/mcuconf.h +++ b/keyboards/matrix/abelx/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -169,7 +169,6 @@ /* * PWM driver system settings. */ -#define STM32_PWM_USE_ADVANCED FALSE #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM3 FALSE diff --git a/lib/chibios b/lib/chibios index d7b9d1c87f72..257302333c31 160000 --- a/lib/chibios +++ b/lib/chibios @@ -1 +1 @@ -Subproject commit d7b9d1c87f724bd7c8cd1486d6d0dc3ba52e0d52 +Subproject commit 257302333c31f1f710800c2b97acf3550de043e1 diff --git a/lib/chibios-contrib b/lib/chibios-contrib index d1c2126d1cd8..ff1c6ec90cfc 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit d1c2126d1cd867c50127da84425805e225df8555 +Subproject commit ff1c6ec90cfc250d81e6f29a0d60a4faf2afb46d diff --git a/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h index c6f5a8ac5201..e0af4a276bfb 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -186,7 +186,6 @@ /* * PWM driver system settings. */ -#define STM32_PWM_USE_ADVANCED FALSE #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM3 FALSE diff --git a/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h index 908a580a91be..394e7502560d 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,28 @@ #define STM32_IRQ_EXTI21_PRIORITY 15 #define STM32_IRQ_EXTI22_PRIORITY 15 +#define STM32_IRQ_TIM1_BRK_TIM9_PRIORITY 7 +#define STM32_IRQ_TIM1_UP_TIM10_PRIORITY 7 +#define STM32_IRQ_TIM1_TRGCO_TIM11_PRIORITY 7 +#define STM32_IRQ_TIM1_CC_PRIORITY 7 +#define STM32_IRQ_TIM2_PRIORITY 7 +#define STM32_IRQ_TIM3_PRIORITY 7 +#define STM32_IRQ_TIM4_PRIORITY 7 +#define STM32_IRQ_TIM5_PRIORITY 7 +#define STM32_IRQ_TIM6_PRIORITY 7 +#define STM32_IRQ_TIM7_PRIORITY 7 +#define STM32_IRQ_TIM8_BRK_TIM12_PRIORITY 7 +#define STM32_IRQ_TIM8_UP_TIM13_PRIORITY 7 +#define STM32_IRQ_TIM8_TRGCO_TIM14_PRIORITY 7 +#define STM32_IRQ_TIM8_CC_PRIORITY 7 + +#define STM32_IRQ_USART1_PRIORITY 12 +#define STM32_IRQ_USART2_PRIORITY 12 +#define STM32_IRQ_USART3_PRIORITY 12 +#define STM32_IRQ_UART4_PRIORITY 12 +#define STM32_IRQ_UART5_PRIORITY 12 +#define STM32_IRQ_USART6_PRIORITY 12 + /* * ADC driver system settings. */ @@ -137,21 +159,11 @@ #define STM32_GPT_USE_TIM7 FALSE #define STM32_GPT_USE_TIM8 FALSE #define STM32_GPT_USE_TIM9 FALSE +#define STM32_GPT_USE_TIM10 FALSE #define STM32_GPT_USE_TIM11 FALSE #define STM32_GPT_USE_TIM12 FALSE +#define STM32_GPT_USE_TIM13 FALSE #define STM32_GPT_USE_TIM14 FALSE -#define STM32_GPT_TIM1_IRQ_PRIORITY 7 -#define STM32_GPT_TIM2_IRQ_PRIORITY 7 -#define STM32_GPT_TIM3_IRQ_PRIORITY 7 -#define STM32_GPT_TIM4_IRQ_PRIORITY 7 -#define STM32_GPT_TIM5_IRQ_PRIORITY 7 -#define STM32_GPT_TIM6_IRQ_PRIORITY 7 -#define STM32_GPT_TIM7_IRQ_PRIORITY 7 -#define STM32_GPT_TIM8_IRQ_PRIORITY 7 -#define STM32_GPT_TIM9_IRQ_PRIORITY 7 -#define STM32_GPT_TIM11_IRQ_PRIORITY 7 -#define STM32_GPT_TIM12_IRQ_PRIORITY 7 -#define STM32_GPT_TIM14_IRQ_PRIORITY 7 /* * I2C driver system settings. @@ -199,13 +211,11 @@ #define STM32_ICU_USE_TIM5 FALSE #define STM32_ICU_USE_TIM8 FALSE #define STM32_ICU_USE_TIM9 FALSE -#define STM32_ICU_TIM1_IRQ_PRIORITY 7 -#define STM32_ICU_TIM2_IRQ_PRIORITY 7 -#define STM32_ICU_TIM3_IRQ_PRIORITY 7 -#define STM32_ICU_TIM4_IRQ_PRIORITY 7 -#define STM32_ICU_TIM5_IRQ_PRIORITY 7 -#define STM32_ICU_TIM8_IRQ_PRIORITY 7 -#define STM32_ICU_TIM9_IRQ_PRIORITY 7 +#define STM32_ICU_USE_TIM10 FALSE +#define STM32_ICU_USE_TIM11 FALSE +#define STM32_ICU_USE_TIM12 FALSE +#define STM32_ICU_USE_TIM13 FALSE +#define STM32_ICU_USE_TIM14 FALSE /* * MAC driver system settings. @@ -221,7 +231,6 @@ /* * PWM driver system settings. */ -#define STM32_PWM_USE_ADVANCED FALSE #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM3 FALSE @@ -229,13 +238,11 @@ #define STM32_PWM_USE_TIM5 FALSE #define STM32_PWM_USE_TIM8 FALSE #define STM32_PWM_USE_TIM9 FALSE -#define STM32_PWM_TIM1_IRQ_PRIORITY 7 -#define STM32_PWM_TIM2_IRQ_PRIORITY 7 -#define STM32_PWM_TIM3_IRQ_PRIORITY 7 -#define STM32_PWM_TIM4_IRQ_PRIORITY 7 -#define STM32_PWM_TIM5_IRQ_PRIORITY 7 -#define STM32_PWM_TIM8_IRQ_PRIORITY 7 -#define STM32_PWM_TIM9_IRQ_PRIORITY 7 +#define STM32_PWM_USE_TIM10 FALSE +#define STM32_PWM_USE_TIM11 FALSE +#define STM32_PWM_USE_TIM12 FALSE +#define STM32_PWM_USE_TIM13 FALSE +#define STM32_PWM_USE_TIM14 FALSE /* * RTC driver system settings. @@ -265,12 +272,6 @@ #define STM32_SERIAL_USE_UART4 FALSE #define STM32_SERIAL_USE_UART5 FALSE #define STM32_SERIAL_USE_USART6 FALSE -#define STM32_SERIAL_USART1_PRIORITY 12 -#define STM32_SERIAL_USART2_PRIORITY 12 -#define STM32_SERIAL_USART3_PRIORITY 12 -#define STM32_SERIAL_UART4_PRIORITY 12 -#define STM32_SERIAL_UART5_PRIORITY 12 -#define STM32_SERIAL_USART6_PRIORITY 12 /* * SPI driver system settings. @@ -319,12 +320,6 @@ #define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) #define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 2) #define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7) -#define STM32_UART_USART1_IRQ_PRIORITY 12 -#define STM32_UART_USART2_IRQ_PRIORITY 12 -#define STM32_UART_USART3_IRQ_PRIORITY 12 -#define STM32_UART_UART4_IRQ_PRIORITY 12 -#define STM32_UART_UART5_IRQ_PRIORITY 12 -#define STM32_UART_USART6_IRQ_PRIORITY 12 #define STM32_UART_USART1_DMA_PRIORITY 0 #define STM32_UART_USART2_DMA_PRIORITY 0 #define STM32_UART_USART3_DMA_PRIORITY 0 diff --git a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h index 928ee56c71cf..07399ad2f739 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,28 @@ #define STM32_IRQ_EXTI21_PRIORITY 15 #define STM32_IRQ_EXTI22_PRIORITY 15 +#define STM32_IRQ_TIM1_BRK_TIM9_PRIORITY 7 +#define STM32_IRQ_TIM1_UP_TIM10_PRIORITY 7 +#define STM32_IRQ_TIM1_TRGCO_TIM11_PRIORITY 7 +#define STM32_IRQ_TIM1_CC_PRIORITY 7 +#define STM32_IRQ_TIM2_PRIORITY 7 +#define STM32_IRQ_TIM3_PRIORITY 7 +#define STM32_IRQ_TIM4_PRIORITY 7 +#define STM32_IRQ_TIM5_PRIORITY 7 +#define STM32_IRQ_TIM6_PRIORITY 7 +#define STM32_IRQ_TIM7_PRIORITY 7 +#define STM32_IRQ_TIM8_BRK_TIM12_PRIORITY 7 +#define STM32_IRQ_TIM8_UP_TIM13_PRIORITY 7 +#define STM32_IRQ_TIM8_TRGCO_TIM14_PRIORITY 7 +#define STM32_IRQ_TIM8_CC_PRIORITY 7 + +#define STM32_IRQ_USART1_PRIORITY 12 +#define STM32_IRQ_USART2_PRIORITY 12 +#define STM32_IRQ_USART3_PRIORITY 12 +#define STM32_IRQ_UART4_PRIORITY 12 +#define STM32_IRQ_UART5_PRIORITY 12 +#define STM32_IRQ_USART6_PRIORITY 12 + /* * ADC driver system settings. */ @@ -137,21 +159,11 @@ #define STM32_GPT_USE_TIM7 FALSE #define STM32_GPT_USE_TIM8 FALSE #define STM32_GPT_USE_TIM9 FALSE +#define STM32_GPT_USE_TIM10 FALSE #define STM32_GPT_USE_TIM11 FALSE #define STM32_GPT_USE_TIM12 FALSE +#define STM32_GPT_USE_TIM13 FALSE #define STM32_GPT_USE_TIM14 FALSE -#define STM32_GPT_TIM1_IRQ_PRIORITY 7 -#define STM32_GPT_TIM2_IRQ_PRIORITY 7 -#define STM32_GPT_TIM3_IRQ_PRIORITY 7 -#define STM32_GPT_TIM4_IRQ_PRIORITY 7 -#define STM32_GPT_TIM5_IRQ_PRIORITY 7 -#define STM32_GPT_TIM6_IRQ_PRIORITY 7 -#define STM32_GPT_TIM7_IRQ_PRIORITY 7 -#define STM32_GPT_TIM8_IRQ_PRIORITY 7 -#define STM32_GPT_TIM9_IRQ_PRIORITY 7 -#define STM32_GPT_TIM11_IRQ_PRIORITY 7 -#define STM32_GPT_TIM12_IRQ_PRIORITY 7 -#define STM32_GPT_TIM14_IRQ_PRIORITY 7 /* * I2C driver system settings. @@ -199,13 +211,11 @@ #define STM32_ICU_USE_TIM5 FALSE #define STM32_ICU_USE_TIM8 FALSE #define STM32_ICU_USE_TIM9 FALSE -#define STM32_ICU_TIM1_IRQ_PRIORITY 7 -#define STM32_ICU_TIM2_IRQ_PRIORITY 7 -#define STM32_ICU_TIM3_IRQ_PRIORITY 7 -#define STM32_ICU_TIM4_IRQ_PRIORITY 7 -#define STM32_ICU_TIM5_IRQ_PRIORITY 7 -#define STM32_ICU_TIM8_IRQ_PRIORITY 7 -#define STM32_ICU_TIM9_IRQ_PRIORITY 7 +#define STM32_ICU_USE_TIM10 FALSE +#define STM32_ICU_USE_TIM11 FALSE +#define STM32_ICU_USE_TIM12 FALSE +#define STM32_ICU_USE_TIM13 FALSE +#define STM32_ICU_USE_TIM14 FALSE /* * MAC driver system settings. @@ -221,7 +231,6 @@ /* * PWM driver system settings. */ -#define STM32_PWM_USE_ADVANCED FALSE #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM3 FALSE @@ -229,13 +238,11 @@ #define STM32_PWM_USE_TIM5 FALSE #define STM32_PWM_USE_TIM8 FALSE #define STM32_PWM_USE_TIM9 FALSE -#define STM32_PWM_TIM1_IRQ_PRIORITY 7 -#define STM32_PWM_TIM2_IRQ_PRIORITY 7 -#define STM32_PWM_TIM3_IRQ_PRIORITY 7 -#define STM32_PWM_TIM4_IRQ_PRIORITY 7 -#define STM32_PWM_TIM5_IRQ_PRIORITY 7 -#define STM32_PWM_TIM8_IRQ_PRIORITY 7 -#define STM32_PWM_TIM9_IRQ_PRIORITY 7 +#define STM32_PWM_USE_TIM10 FALSE +#define STM32_PWM_USE_TIM11 FALSE +#define STM32_PWM_USE_TIM12 FALSE +#define STM32_PWM_USE_TIM13 FALSE +#define STM32_PWM_USE_TIM14 FALSE /* * RTC driver system settings. @@ -265,12 +272,6 @@ #define STM32_SERIAL_USE_UART4 FALSE #define STM32_SERIAL_USE_UART5 FALSE #define STM32_SERIAL_USE_USART6 FALSE -#define STM32_SERIAL_USART1_PRIORITY 12 -#define STM32_SERIAL_USART2_PRIORITY 12 -#define STM32_SERIAL_USART3_PRIORITY 12 -#define STM32_SERIAL_UART4_PRIORITY 12 -#define STM32_SERIAL_UART5_PRIORITY 12 -#define STM32_SERIAL_USART6_PRIORITY 12 /* * SPI driver system settings. @@ -319,12 +320,6 @@ #define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) #define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 2) #define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7) -#define STM32_UART_USART1_IRQ_PRIORITY 12 -#define STM32_UART_USART2_IRQ_PRIORITY 12 -#define STM32_UART_USART3_IRQ_PRIORITY 12 -#define STM32_UART_UART4_IRQ_PRIORITY 12 -#define STM32_UART_UART5_IRQ_PRIORITY 12 -#define STM32_UART_USART6_IRQ_PRIORITY 12 #define STM32_UART_USART1_DMA_PRIORITY 0 #define STM32_UART_USART2_DMA_PRIORITY 0 #define STM32_UART_USART3_DMA_PRIORITY 0 diff --git a/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h index d115028300bc..fd00280115c5 100644 --- a/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -39,6 +39,7 @@ * HAL driver system settings. */ #define STM32_NO_INIT FALSE +#define STM32_CLOCK_DYNAMIC FALSE #define STM32_VOS STM32_VOS_RANGE1 #define STM32_PWR_BOOST TRUE #define STM32_PWR_CR2 (PWR_CR2_PLS_LEV0) @@ -227,7 +228,6 @@ /* * PWM driver system settings. */ -#define STM32_PWM_USE_ADVANCED FALSE #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM3 FALSE @@ -240,6 +240,13 @@ /* * RTC driver system settings. */ +#define STM32_RTC_PRESA_VALUE 32 +#define STM32_RTC_PRESS_VALUE 1024 +#define STM32_RTC_CR_INIT 0 +#define STM32_TAMP_CR1_INIT 0 +#define STM32_TAMP_CR2_INIT 0 +#define STM32_TAMP_FLTCR_INIT 0 +#define STM32_TAMP_IER_INIT 0 /* * SDC driver system settings. @@ -254,6 +261,15 @@ #define STM32_SERIAL_USE_UART4 FALSE #define STM32_SERIAL_USE_LPUART1 FALSE +/* + * SIO driver system settings. + */ +#define STM32_SIO_USE_USART1 FALSE +#define STM32_SIO_USE_USART2 FALSE +#define STM32_SIO_USE_USART3 FALSE +#define STM32_SIO_USE_UART4 FALSE +#define STM32_SIO_USE_LPUART1 FALSE + /* * SPI driver system settings. */ diff --git a/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h index 5710e2cb45bd..d6385da6249d 100644 --- a/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -41,6 +41,7 @@ * HAL driver system settings. */ #define STM32_NO_INIT FALSE +#define STM32_CLOCK_DYNAMIC FALSE #define STM32_VOS STM32_VOS_RANGE1 #define STM32_PWR_BOOST TRUE #define STM32_PWR_CR2 (PWR_CR2_PLS_LEV0) @@ -274,7 +275,6 @@ /* * PWM driver system settings. */ -#define STM32_PWM_USE_ADVANCED FALSE #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM3 FALSE @@ -289,6 +289,13 @@ /* * RTC driver system settings. */ +#define STM32_RTC_PRESA_VALUE 32 +#define STM32_RTC_PRESS_VALUE 1024 +#define STM32_RTC_CR_INIT 0 +#define STM32_TAMP_CR1_INIT 0 +#define STM32_TAMP_CR2_INIT 0 +#define STM32_TAMP_FLTCR_INIT 0 +#define STM32_TAMP_IER_INIT 0 /* * SDC driver system settings. @@ -304,6 +311,16 @@ #define STM32_SERIAL_USE_UART5 FALSE #define STM32_SERIAL_USE_LPUART1 FALSE +/* + * SIO driver system settings. + */ +#define STM32_SIO_USE_USART1 FALSE +#define STM32_SIO_USE_USART2 FALSE +#define STM32_SIO_USE_USART3 FALSE +#define STM32_SIO_USE_UART4 FALSE +#define STM32_SIO_USE_UART5 FALSE +#define STM32_SIO_USE_LPUART1 FALSE + /* * SPI driver system settings. */ @@ -383,5 +400,6 @@ */ #define STM32_WSPI_USE_QUADSPI1 FALSE #define STM32_WSPI_QUADSPI1_DMA_STREAM STM32_DMA_STREAM_ID(2, 7) +#define STM32_WSPI_QUADSPI1_PRESCALER_VALUE 1 #endif /* MCUCONF_H */ diff --git a/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/board.h b/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/board.h index 2e37d95fe39a..de5f85acdd99 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/board.h +++ b/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/board.h @@ -18,7 +18,4 @@ #include_next "board.h" #undef STM32L432xx - -// Pretend that we're an L443xx as the ChibiOS definitions for L4x2/L4x3 mistakenly don't enable GPIOH, I2C2, or SPI2. -// Until ChibiOS upstream is fixed, this should be kept at L443, as nothing in QMK currently utilises the crypto peripheral on the L443. -#define STM32L443xx +#define STM32L422xx diff --git a/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/config.h index fc9055ccfb57..d67de4cfe2e2 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/config.h @@ -18,8 +18,6 @@ /* It is chip dependent, the correct number can be looked up by checking against ST's application note AN2606. */ -#define PAL_STM32_OSPEED_HIGHEST PAL_STM32_OSPEED_HIGH - #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #endif diff --git a/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h index 8ad5a8da2163..47f1598b7433 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -32,12 +32,7 @@ #define MCUCONF_H #define STM32L4xx_MCUCONF -#define STM32L412_MCUCONF #define STM32L422_MCUCONF -#define STM32L432_MCUCONF -#define STM32L433_MCUCONF -#define STM32L442_MCUCONF -#define STM32L443_MCUCONF /* * HAL driver system settings. @@ -52,16 +47,13 @@ #define STM32_HSE_ENABLED FALSE #define STM32_LSE_ENABLED FALSE #define STM32_MSIPLL_ENABLED FALSE -#define STM32_ADC_CLOCK_ENABLED TRUE -#define STM32_USB_CLOCK_ENABLED TRUE -#define STM32_SAI1_CLOCK_ENABLED TRUE -#define STM32_SAI2_CLOCK_ENABLED TRUE #define STM32_MSIRANGE STM32_MSIRANGE_4M #define STM32_MSISRANGE STM32_MSISRANGE_4M #define STM32_SW STM32_SW_PLL #define STM32_PLLSRC STM32_PLLSRC_HSI16 #define STM32_PLLM_VALUE 4 #define STM32_PLLN_VALUE 80 +#define STM32_PLLPDIV_VALUE 0 #define STM32_PLLP_VALUE 7 #define STM32_PLLQ_VALUE 4 #define STM32_PLLR_VALUE 4 @@ -73,29 +65,22 @@ #define STM32_MCOPRE STM32_MCOPRE_DIV1 #define STM32_LSCOSEL STM32_LSCOSEL_NOCLOCK #define STM32_PLLSAI1N_VALUE 72 +#define STM32_PLLSAI1PDIV_VALUE 6 #define STM32_PLLSAI1P_VALUE 7 #define STM32_PLLSAI1Q_VALUE 6 #define STM32_PLLSAI1R_VALUE 6 -#define STM32_PLLSAI2N_VALUE 72 -#define STM32_PLLSAI2P_VALUE 7 -#define STM32_PLLSAI2R_VALUE 6 /* * Peripherals clock sources. */ #define STM32_USART1SEL STM32_USART1SEL_SYSCLK #define STM32_USART2SEL STM32_USART2SEL_SYSCLK -#define STM32_USART3SEL STM32_USART3SEL_SYSCLK -#define STM32_UART4SEL STM32_UART4SEL_SYSCLK -#define STM32_UART5SEL STM32_UART5SEL_SYSCLK #define STM32_LPUART1SEL STM32_LPUART1SEL_SYSCLK #define STM32_I2C1SEL STM32_I2C1SEL_SYSCLK -#define STM32_I2C2SEL STM32_I2C2SEL_SYSCLK #define STM32_I2C3SEL STM32_I2C3SEL_SYSCLK #define STM32_LPTIM1SEL STM32_LPTIM1SEL_PCLK1 #define STM32_LPTIM2SEL STM32_LPTIM2SEL_PCLK1 #define STM32_SAI1SEL STM32_SAI1SEL_OFF -#define STM32_SAI2SEL STM32_SAI2SEL_OFF #define STM32_CLK48SEL STM32_CLK48SEL_HSI48 #define STM32_ADCSEL STM32_ADCSEL_SYSCLK #define STM32_SWPMI1SEL STM32_SWPMI1SEL_PCLK1 @@ -127,7 +112,6 @@ #define STM32_IRQ_USART1_PRIORITY 12 #define STM32_IRQ_USART2_PRIORITY 12 -#define STM32_IRQ_USART3_PRIORITY 12 #define STM32_IRQ_LPUART1_PRIORITY 12 /* @@ -137,29 +121,15 @@ #define STM32_ADC_USE_ADC1 FALSE #define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) #define STM32_ADC_ADC1_DMA_PRIORITY 2 +#define STM32_ADC_USE_ADC2 FALSE +#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(1, 2) +#define STM32_ADC_ADC2_DMA_PRIORITY 2 #define STM32_ADC_ADC12_IRQ_PRIORITY 5 #define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 5 +#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 5 #define STM32_ADC_ADC123_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1 #define STM32_ADC_ADC123_PRESC ADC_CCR_PRESC_DIV2 -/* - * CAN driver system settings. - */ -#define STM32_CAN_USE_CAN1 FALSE -#define STM32_CAN_CAN1_IRQ_PRIORITY 11 - -/* - * DAC driver system settings. - */ -#define STM32_DAC_DUAL_MODE FALSE -#define STM32_DAC_USE_DAC1_CH1 FALSE -#define STM32_DAC_USE_DAC1_CH2 FALSE -#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10 -#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10 -#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2 -#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2 -#define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4) -#define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) /* * GPT driver system settings. @@ -198,7 +168,6 @@ /* * PWM driver system settings. */ -#define STM32_PWM_USE_ADVANCED FALSE #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM15 FALSE @@ -218,23 +187,22 @@ #define STM32_SERIAL_USE_USART1 FALSE #define STM32_SERIAL_USE_USART2 FALSE #define STM32_SERIAL_USE_LPUART1 FALSE -#define STM32_SERIAL_USART1_PRIORITY 12 -#define STM32_SERIAL_USART2_PRIORITY 12 -#define STM32_SERIAL_LPUART1_PRIORITY 12 + +/* + * SIO driver system settings. + */ +#define STM32_SIO_USE_USART1 FALSE +#define STM32_SIO_USE_USART2 FALSE +#define STM32_SIO_USE_LPUART1 FALSE /* * SPI driver system settings. */ #define STM32_SPI_USE_SPI1 FALSE -#define STM32_SPI_USE_SPI3 FALSE #define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) #define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 4) -#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 1) -#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 2) #define STM32_SPI_SPI1_DMA_PRIORITY 1 -#define STM32_SPI_SPI3_DMA_PRIORITY 1 #define STM32_SPI_SPI1_IRQ_PRIORITY 10 -#define STM32_SPI_SPI3_IRQ_PRIORITY 10 #define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") /* diff --git a/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/config.h index b1838b30a8aa..839d031ca4ba 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/config.h @@ -2,9 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -// Fixup equivalent usages within QMK as the base board definitions only go up to high -#define PAL_STM32_OSPEED_HIGHEST PAL_STM32_OSPEED_HIGH - #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #endif diff --git a/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h index 707134d49ef4..be64b0481249 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -33,7 +33,6 @@ #define STM32L4xx_MCUCONF #define STM32L432_MCUCONF -#define STM32L433_MCUCONF /* * HAL driver system settings. @@ -183,7 +182,6 @@ /* * PWM driver system settings. */ -#define STM32_PWM_USE_ADVANCED FALSE #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM15 FALSE @@ -203,9 +201,13 @@ #define STM32_SERIAL_USE_USART1 FALSE #define STM32_SERIAL_USE_USART2 FALSE #define STM32_SERIAL_USE_LPUART1 FALSE -#define STM32_SERIAL_USART1_PRIORITY 12 -#define STM32_SERIAL_USART2_PRIORITY 12 -#define STM32_SERIAL_LPUART1_PRIORITY 12 + +/* + * SIO driver system settings. + */ +#define STM32_SIO_USE_USART1 FALSE +#define STM32_SIO_USE_USART2 FALSE +#define STM32_SIO_USE_LPUART1 FALSE /* * SPI driver system settings. diff --git a/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/config.h index fc9055ccfb57..d67de4cfe2e2 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/config.h @@ -18,8 +18,6 @@ /* It is chip dependent, the correct number can be looked up by checking against ST's application note AN2606. */ -#define PAL_STM32_OSPEED_HIGHEST PAL_STM32_OSPEED_HIGH - #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #endif diff --git a/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h b/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h index f81233296038..cc10304a3fb6 100644 --- a/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h +++ b/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -29,7 +29,27 @@ #define CHCONF_H #define _CHIBIOS_RT_CONF_ -#define _CHIBIOS_RT_CONF_VER_6_1_ +#define _CHIBIOS_RT_CONF_VER_7_0_ + +/*===========================================================================*/ +/** + * @name System settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Handling of instances. + * @note If enabled then threads assigned to various instances can + * interact each other using the same synchronization objects. + * If disabled then each OS instance is a separate world, no + * direct interactions are handled by the OS. + */ +#if !defined(CH_CFG_SMP_MODE) +#define CH_CFG_SMP_MODE FALSE +#endif + +/** @} */ /*===========================================================================*/ /** @@ -160,6 +180,16 @@ #define CH_CFG_USE_TM TRUE #endif +/** + * @brief Time Stamps APIs. + * @details If enabled then the time stamps APIs are included in the kernel. + * + * @note The default is @p TRUE. + */ +#if !defined(CH_CFG_USE_TIMESTAMP) +#define CH_CFG_USE_TIMESTAMP TRUE +#endif + /** * @brief Threads registry APIs. * @details If enabled then the registry APIs are included in the kernel. @@ -631,7 +661,7 @@ * @details User fields added to the end of the @p ch_system_t structure. */ #define CH_CFG_SYSTEM_EXTRA_FIELDS \ - /* Add threads custom fields here.*/ + /* Add system custom fields here.*/ /** * @brief System initialization hook. @@ -639,7 +669,23 @@ * just before interrupts are enabled globally. */ #define CH_CFG_SYSTEM_INIT_HOOK() { \ - /* Add threads initialization code here.*/ \ + /* Add system initialization code here.*/ \ +} + +/** + * @brief OS instance structure extension. + * @details User fields added to the end of the @p os_instance_t structure. + */ +#define CH_CFG_OS_INSTANCE_EXTRA_FIELDS \ + /* Add OS instance custom fields here.*/ + +/** + * @brief OS instance initialization hook. + * + * @param[in] oip pointer to the @p os_instance_t structure + */ +#define CH_CFG_OS_INSTANCE_INIT_HOOK(oip) { \ + /* Add OS instance initialization code here.*/ \ } /** @@ -655,6 +701,8 @@ * * @note It is invoked from within @p _thread_init() and implicitly from all * the threads creation APIs. + * + * @param[in] tp pointer to the @p thread_t structure */ #define CH_CFG_THREAD_INIT_HOOK(tp) { \ /* Add threads initialization code here.*/ \ @@ -663,6 +711,8 @@ /** * @brief Threads finalization hook. * @details User finalization code added to the @p chThdExit() API. + * + * @param[in] tp pointer to the @p thread_t structure */ #define CH_CFG_THREAD_EXIT_HOOK(tp) { \ /* Add threads finalization code here.*/ \ @@ -671,6 +721,9 @@ /** * @brief Context switch hook. * @details This hook is invoked just before switching between threads. + * + * @param[in] ntp thread being switched in + * @param[in] otp thread being switched out */ #define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \ /* Context switch code here.*/ \ @@ -745,6 +798,14 @@ /* Trace code here.*/ \ } +/** + * @brief Runtime Faults Collection Unit hook. + * @details This hook is invoked each time new faults are collected and stored. + */ +#define CH_CFG_RUNTIME_FAULTS_HOOK(mask) { \ + /* Faults handling code here.*/ \ +} + /** @} */ /*===========================================================================*/ diff --git a/platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h b/platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h index d7a639a6d07f..8367328a04c4 100644 --- a/platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h +++ b/platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -29,7 +29,7 @@ #define HALCONF_H #define _CHIBIOS_HAL_CONF_ -#define _CHIBIOS_HAL_CONF_VER_7_1_ +#define _CHIBIOS_HAL_CONF_VER_8_0_ #include @@ -415,6 +415,26 @@ #define SERIAL_BUFFERS_SIZE 128 #endif +/*===========================================================================*/ +/* SIO driver related settings. */ +/*===========================================================================*/ + +/** + * @brief Default bit rate. + * @details Configuration parameter, this is the baud rate selected for the + * default configuration. + */ +#if !defined(SIO_DEFAULT_BITRATE) || defined(__DOXYGEN__) +#define SIO_DEFAULT_BITRATE 38400 +#endif + +/** + * @brief Support for thread synchronization API. + */ +#if !defined(SIO_USE_SYNCHRONIZATION) || defined(__DOXYGEN__) +#define SIO_USE_SYNCHRONIZATION TRUE +#endif + /*===========================================================================*/ /* SERIAL_USB driver related setting. */ /*===========================================================================*/ @@ -451,11 +471,10 @@ #endif /** - * @brief Enables circular transfers APIs. - * @note Disabling this option saves both code and data space. + * @brief Inserts an assertion on function errors before returning. */ -#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__) -#define SPI_USE_CIRCULAR FALSE +#if !defined(SPI_USE_ASSERT_ON_ERROR) || defined(__DOXYGEN__) +#define SPI_USE_ASSERT_ON_ERROR TRUE #endif /** diff --git a/platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h b/platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h index 4d7b586c085e..cab4c29cf659 100644 --- a/platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h +++ b/platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -186,7 +186,6 @@ /* * PWM driver system settings. */ -#define STM32_PWM_USE_ADVANCED FALSE #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM3 TRUE diff --git a/platforms/chibios/boards/common/configs/chconf.h b/platforms/chibios/boards/common/configs/chconf.h index 18ad609ca130..5db836e37c2b 100644 --- a/platforms/chibios/boards/common/configs/chconf.h +++ b/platforms/chibios/boards/common/configs/chconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -29,7 +29,27 @@ #define CHCONF_H #define _CHIBIOS_RT_CONF_ -#define _CHIBIOS_RT_CONF_VER_6_1_ +#define _CHIBIOS_RT_CONF_VER_7_0_ + +/*===========================================================================*/ +/** + * @name System settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Handling of instances. + * @note If enabled then threads assigned to various instances can + * interact each other using the same synchronization objects. + * If disabled then each OS instance is a separate world, no + * direct interactions are handled by the OS. + */ +#if !defined(CH_CFG_SMP_MODE) +#define CH_CFG_SMP_MODE FALSE +#endif + +/** @} */ /*===========================================================================*/ /** @@ -160,6 +180,16 @@ #define CH_CFG_USE_TM FALSE #endif +/** + * @brief Time Stamps APIs. + * @details If enabled then the time stamps APIs are included in the kernel. + * + * @note The default is @p TRUE. + */ +#if !defined(CH_CFG_USE_TIMESTAMP) +#define CH_CFG_USE_TIMESTAMP TRUE +#endif + /** * @brief Threads registry APIs. * @details If enabled then the registry APIs are included in the kernel. @@ -631,7 +661,7 @@ * @details User fields added to the end of the @p ch_system_t structure. */ #define CH_CFG_SYSTEM_EXTRA_FIELDS \ - /* Add threads custom fields here.*/ + /* Add system custom fields here.*/ /** * @brief System initialization hook. @@ -639,7 +669,23 @@ * just before interrupts are enabled globally. */ #define CH_CFG_SYSTEM_INIT_HOOK() { \ - /* Add threads initialization code here.*/ \ + /* Add system initialization code here.*/ \ +} + +/** + * @brief OS instance structure extension. + * @details User fields added to the end of the @p os_instance_t structure. + */ +#define CH_CFG_OS_INSTANCE_EXTRA_FIELDS \ + /* Add OS instance custom fields here.*/ + +/** + * @brief OS instance initialization hook. + * + * @param[in] oip pointer to the @p os_instance_t structure + */ +#define CH_CFG_OS_INSTANCE_INIT_HOOK(oip) { \ + /* Add OS instance initialization code here.*/ \ } /** @@ -655,6 +701,8 @@ * * @note It is invoked from within @p _thread_init() and implicitly from all * the threads creation APIs. + * + * @param[in] tp pointer to the @p thread_t structure */ #define CH_CFG_THREAD_INIT_HOOK(tp) { \ /* Add threads initialization code here.*/ \ @@ -663,6 +711,8 @@ /** * @brief Threads finalization hook. * @details User finalization code added to the @p chThdExit() API. + * + * @param[in] tp pointer to the @p thread_t structure */ #define CH_CFG_THREAD_EXIT_HOOK(tp) { \ /* Add threads finalization code here.*/ \ @@ -671,6 +721,9 @@ /** * @brief Context switch hook. * @details This hook is invoked just before switching between threads. + * + * @param[in] ntp thread being switched in + * @param[in] otp thread being switched out */ #define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \ /* Context switch code here.*/ \ @@ -745,6 +798,14 @@ /* Trace code here.*/ \ } +/** + * @brief Runtime Faults Collection Unit hook. + * @details This hook is invoked each time new faults are collected and stored. + */ +#define CH_CFG_RUNTIME_FAULTS_HOOK(mask) { \ + /* Faults handling code here.*/ \ +} + /** @} */ /*===========================================================================*/ diff --git a/platforms/chibios/boards/common/configs/halconf.h b/platforms/chibios/boards/common/configs/halconf.h index c80f67ee27c1..1805a7743898 100644 --- a/platforms/chibios/boards/common/configs/halconf.h +++ b/platforms/chibios/boards/common/configs/halconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -29,7 +29,7 @@ #define HALCONF_H #define _CHIBIOS_HAL_CONF_ -#define _CHIBIOS_HAL_CONF_VER_7_1_ +#define _CHIBIOS_HAL_CONF_VER_8_0_ #include @@ -415,6 +415,26 @@ #define SERIAL_BUFFERS_SIZE 128 #endif +/*===========================================================================*/ +/* SIO driver related settings. */ +/*===========================================================================*/ + +/** + * @brief Default bit rate. + * @details Configuration parameter, this is the baud rate selected for the + * default configuration. + */ +#if !defined(SIO_DEFAULT_BITRATE) || defined(__DOXYGEN__) +#define SIO_DEFAULT_BITRATE 38400 +#endif + +/** + * @brief Support for thread synchronization API. + */ +#if !defined(SIO_USE_SYNCHRONIZATION) || defined(__DOXYGEN__) +#define SIO_USE_SYNCHRONIZATION TRUE +#endif + /*===========================================================================*/ /* SERIAL_USB driver related setting. */ /*===========================================================================*/ @@ -451,11 +471,10 @@ #endif /** - * @brief Enables circular transfers APIs. - * @note Disabling this option saves both code and data space. + * @brief Inserts an assertion on function errors before returning. */ -#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__) -#define SPI_USE_CIRCULAR FALSE +#if !defined(SPI_USE_ASSERT_ON_ERROR) || defined(__DOXYGEN__) +#define SPI_USE_ASSERT_ON_ERROR TRUE #endif /** diff --git a/platforms/chibios/drivers/ws2812_spi.c b/platforms/chibios/drivers/ws2812_spi.c index 76191db1657a..01d8148875f3 100644 --- a/platforms/chibios/drivers/ws2812_spi.c +++ b/platforms/chibios/drivers/ws2812_spi.c @@ -139,7 +139,33 @@ void ws2812_init(void) { #endif // WS2812_SPI_SCK_PIN // TODO: more dynamic baudrate - static const SPIConfig spicfg = {WS2812_SPI_BUFFER_MODE, NULL, PAL_PORT(RGB_DI_PIN), PAL_PAD(RGB_DI_PIN), WS2812_SPI_DIVISOR_CR1_BR_X}; + static const SPIConfig spicfg = { +#ifndef HAL_LLD_SELECT_SPI_V2 +// HAL_SPI_V1 +# if SPI_SUPPORTS_CIRCULAR == TRUE + WS2812_SPI_BUFFER_MODE, +# endif + NULL, // end_cb + PAL_PORT(RGB_DI_PIN), + PAL_PAD(RGB_DI_PIN), + WS2812_SPI_DIVISOR_CR1_BR_X, + 0 +#else + // HAL_SPI_V2 +# if SPI_SUPPORTS_CIRCULAR == TRUE + WS2812_SPI_BUFFER_MODE, +# endif +# if SPI_SUPPORTS_SLAVE_MODE == TRUE + false, +# endif + NULL, // data_cb + NULL, // error_cb + PAL_PORT(RGB_DI_PIN), + PAL_PAD(RGB_DI_PIN), + WS2812_SPI_DIVISOR_CR1_BR_X, + 0 +#endif + }; spiAcquireBus(&WS2812_SPI); /* Acquire ownership of the bus. */ spiStart(&WS2812_SPI, &spicfg); /* Setup transfer parameters. */ diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk index 6fd1fd83f5ad..91dd0479bc0b 100644 --- a/platforms/chibios/platform.mk +++ b/platforms/chibios/platform.mk @@ -39,7 +39,6 @@ ifeq ($(strip $(MCU)), risc-v) STARTUP_MK = $(CHIBIOS_CONTRIB)/os/common/startup/RISCV-ECLIC/compilers/GCC/mk/startup_$(MCU_STARTUP).mk PORT_V = $(CHIBIOS_CONTRIB)/os/common/ports/RISCV-ECLIC/compilers/GCC/mk/port.mk RULESPATH = $(CHIBIOS_CONTRIB)/os/common/startup/RISCV-ECLIC/compilers/GCC - PLATFORM_MK = $(CHIBIOS_CONTRIB)/os/hal/ports/GD/GD32VF103/platform.mk else # ARM Support CHIBIOS_PORT ?= @@ -82,10 +81,15 @@ ifeq ("$(PLATFORM_NAME)","") PLATFORM_NAME = platform endif +# If no MCU port name was specified, use the family instead +ifeq ("$(MCU_PORT_NAME)","") + MCU_PORT_NAME = $(MCU_FAMILY) +endif + ifeq ("$(wildcard $(PLATFORM_MK))","") - PLATFORM_MK = $(CHIBIOS)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/$(PLATFORM_NAME).mk + PLATFORM_MK = $(CHIBIOS)/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES)/$(PLATFORM_NAME).mk ifeq ("$(wildcard $(PLATFORM_MK))","") - PLATFORM_MK = $(CHIBIOS_CONTRIB)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/$(PLATFORM_NAME).mk + PLATFORM_MK = $(CHIBIOS_CONTRIB)/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES)/$(PLATFORM_NAME).mk endif endif diff --git a/platforms/chibios/timer.c b/platforms/chibios/timer.c index e3bdfdcc372e..5e01ea637245 100644 --- a/platforms/chibios/timer.c +++ b/platforms/chibios/timer.c @@ -40,7 +40,7 @@ static virtual_timer_t update_timer; # define UPDATE_INTERVAL (((sysinterval_t)1) << (CH_CFG_ST_RESOLUTION - 1)) // VT callback function to keep the overflow bits of the system tick counter updated. -static void update_fn(void *arg) { +static void update_fn(struct ch_virtual_timer *timer, void *arg) { (void)arg; chSysLockFromISR(); get_system_time_ticks(); diff --git a/platforms/chibios/wait.c b/platforms/chibios/wait.c index 56fd6ffcece6..88cb5e6d549d 100644 --- a/platforms/chibios/wait.c +++ b/platforms/chibios/wait.c @@ -31,7 +31,7 @@ void wait_us(uint16_t duration) { * Only use this timer on the main thread; * other threads need to use their own timer. */ - if (chThdGetSelfX() == &ch.mainthread && duration < (1ULL << (sizeof(gptcnt_t) * 8))) { + if (chThdGetSelfX() == &(currcore->mainthread) && duration < (1ULL << (sizeof(gptcnt_t) * 8))) { gptStart(&WAIT_US_TIMER, &gpt_cfg); gptPolledDelay(&WAIT_US_TIMER, duration); } else { diff --git a/util/uf2conv.py b/util/uf2conv.py index 8677a828c9fd..efc7263f8348 100755 --- a/util/uf2conv.py +++ b/util/uf2conv.py @@ -6,40 +6,13 @@ import os import os.path import argparse +import json UF2_MAGIC_START0 = 0x0A324655 # "UF2\n" UF2_MAGIC_START1 = 0x9E5D5157 # Randomly selected UF2_MAGIC_END = 0x0AB16F30 # Ditto -families = { - 'SAMD21': 0x68ed2b88, - 'SAML21': 0x1851780a, - 'SAMD51': 0x55114460, - 'NRF52': 0x1b57745f, - 'STM32F0': 0x647824b6, - 'STM32F1': 0x5ee21072, - 'STM32F2': 0x5d1a0a2e, - 'STM32F3': 0x6b846188, - 'STM32F4': 0x57755a57, - 'STM32F7': 0x53b80f00, - 'STM32G0': 0x300f5633, - 'STM32G4': 0x4c71240a, - 'STM32H7': 0x6db66082, - 'STM32L0': 0x202e3a91, - 'STM32L1': 0x1e1f432d, - 'STM32L4': 0x00ff6919, - 'STM32L5': 0x04240bdf, - 'STM32WB': 0x70d16653, - 'STM32WL': 0x21460ff0, - 'ATMEGA32': 0x16573617, - 'MIMXRT10XX': 0x4FB2D5BD, - 'LPC55': 0x2abc77ec, - 'GD32F350': 0x31D228C6, - 'ESP32S2': 0xbfdd4eee, - 'RP2040': 0xe48bff56 -} - INFO_FILE = "/INFO_UF2.TXT" appstartaddr = 0x2000 @@ -61,8 +34,13 @@ def is_hex(buf): def convert_from_uf2(buf): global appstartaddr + global familyid numblocks = len(buf) // 512 curraddr = None + currfamilyid = None + families_found = {} + prev_flag = None + all_flags_same = True outp = [] for blockno in range(numblocks): ptr = blockno * 512 @@ -78,9 +56,13 @@ def convert_from_uf2(buf): if datalen > 476: assert False, "Invalid UF2 data size at " + ptr newaddr = hd[3] - if curraddr is None: - appstartaddr = newaddr + if (hd[2] & 0x2000) and (currfamilyid == None): + currfamilyid = hd[7] + if curraddr == None or ((hd[2] & 0x2000) and hd[7] != currfamilyid): + currfamilyid = hd[7] curraddr = newaddr + if familyid == 0x0 or familyid == hd[7]: + appstartaddr = newaddr padding = newaddr - curraddr if padding < 0: assert False, "Block out of order at " + ptr @@ -91,8 +73,37 @@ def convert_from_uf2(buf): while padding > 0: padding -= 4 outp += b"\x00\x00\x00\x00" - outp.append(block[32 : 32 + datalen]) + if familyid == 0x0 or ((hd[2] & 0x2000) and familyid == hd[7]): + outp.append(block[32 : 32 + datalen]) curraddr = newaddr + datalen + if hd[2] & 0x2000: + if hd[7] in families_found.keys(): + if families_found[hd[7]] > newaddr: + families_found[hd[7]] = newaddr + else: + families_found[hd[7]] = newaddr + if prev_flag == None: + prev_flag = hd[2] + if prev_flag != hd[2]: + all_flags_same = False + if blockno == (numblocks - 1): + print("--- UF2 File Header Info ---") + families = load_families() + for family_hex in families_found.keys(): + family_short_name = "" + for name, value in families.items(): + if value == family_hex: + family_short_name = name + print("Family ID is {:s}, hex value is 0x{:08x}".format(family_short_name,family_hex)) + print("Target Address is 0x{:08x}".format(families_found[family_hex])) + if all_flags_same: + print("All block flag values consistent, 0x{:04x}".format(hd[2])) + else: + print("Flags were not all the same") + print("----------------------------") + if len(families_found) > 1 and familyid == 0x0: + outp = [] + appstartaddr = 0x0 return b"".join(outp) def convert_to_carray(file_content): @@ -166,12 +177,11 @@ def convert_from_hex_to_uf2(buf): upper = ((rec[4] << 8) | rec[5]) << 16 elif tp == 2: upper = ((rec[4] << 8) | rec[5]) << 4 - assert (upper & 0xffff) == 0 elif tp == 1: break elif tp == 0: - addr = upper | (rec[1] << 8) | rec[2] - if appstartaddr is None: + addr = upper + ((rec[1] << 8) | rec[2]) + if appstartaddr == None: appstartaddr = addr i = 4 while i < len(rec) - 1: @@ -215,7 +225,7 @@ def get_drives(): def has_info(d): try: return os.path.isfile(d + INFO_FILE) - except Exception: + except: return False return list(filter(has_info, drives)) @@ -238,6 +248,22 @@ def write_file(name, buf): print("Wrote %d bytes to %s" % (len(buf), name)) +def load_families(): + # The expectation is that the `uf2families.json` file is in the same + # directory as this script. Make a path that works using `__file__` + # which contains the full path to this script. + filename = "uf2families.json" + pathname = os.path.join(os.path.dirname(os.path.abspath(__file__)), filename) + with open(pathname) as f: + raw_families = json.load(f) + + families = {} + for family in raw_families: + families[family["short_name"]] = int(family["id"], 0) + + return families + + def main(): global appstartaddr, familyid def error(msg): @@ -264,9 +290,13 @@ def error(msg): help='specify familyID - number or name (default: 0x0)') parser.add_argument('-C' , '--carray', action='store_true', help='convert binary file to a C array, not UF2') + parser.add_argument('-i', '--info', action='store_true', + help='display header information from UF2, do not convert') args = parser.parse_args() appstartaddr = int(args.base, 0) + families = load_families() + if args.family.upper() in families: familyid = families[args.family.upper()] else: @@ -286,9 +316,12 @@ def error(msg): ext = "uf2" if args.deploy: outbuf = inpbuf - elif from_uf2: + elif from_uf2 and not args.info: outbuf = convert_from_uf2(inpbuf) ext = "bin" + elif from_uf2 and args.info: + outbuf = "" + convert_from_uf2(inpbuf) elif is_hex(inpbuf): outbuf = convert_from_hex_to_uf2(inpbuf.decode("utf-8")) elif args.carray: @@ -296,11 +329,12 @@ def error(msg): ext = "h" else: outbuf = convert_to_uf2(inpbuf) - print("Converting to %s, output size: %d, start address: 0x%x" % - (ext, len(outbuf), appstartaddr)) + if not args.deploy and not args.info: + print("Converted to %s, output size: %d, start address: 0x%x" % + (ext, len(outbuf), appstartaddr)) if args.convert or ext != "uf2": drives = [] - if args.output is None: + if args.output == None: args.output = "flash." + ext else: drives = get_drives() diff --git a/util/uf2families.json b/util/uf2families.json new file mode 100644 index 000000000000..fafae82a60a4 --- /dev/null +++ b/util/uf2families.json @@ -0,0 +1,192 @@ +[ + { + "id": "0x16573617", + "short_name": "ATMEGA32", + "description": "Microchip (Atmel) ATmega32" + }, + { + "id": "0x1851780a", + "short_name": "SAML21", + "description": "Microchip (Atmel) SAML21" + }, + { + "id": "0x1b57745f", + "short_name": "NRF52", + "description": "Nordic NRF52" + }, + { + "id": "0x1c5f21b0", + "short_name": "ESP32", + "description": "ESP32" + }, + { + "id": "0x1e1f432d", + "short_name": "STM32L1", + "description": "ST STM32L1xx" + }, + { + "id": "0x202e3a91", + "short_name": "STM32L0", + "description": "ST STM32L0xx" + }, + { + "id": "0x21460ff0", + "short_name": "STM32WL", + "description": "ST STM32WLxx" + }, + { + "id": "0x2abc77ec", + "short_name": "LPC55", + "description": "NXP LPC55xx" + }, + { + "id": "0x300f5633", + "short_name": "STM32G0", + "description": "ST STM32G0xx" + }, + { + "id": "0x31d228c6", + "short_name": "GD32F350", + "description": "GD32F350" + }, + { + "id": "0x04240bdf", + "short_name": "STM32L5", + "description": "ST STM32L5xx" + }, + { + "id": "0x4c71240a", + "short_name": "STM32G4", + "description": "ST STM32G4xx" + }, + { + "id": "0x4fb2d5bd", + "short_name": "MIMXRT10XX", + "description": "NXP i.MX RT10XX" + }, + { + "id": "0x53b80f00", + "short_name": "STM32F7", + "description": "ST STM32F7xx" + }, + { + "id": "0x55114460", + "short_name": "SAMD51", + "description": "Microchip (Atmel) SAMD51" + }, + { + "id": "0x57755a57", + "short_name": "STM32F4", + "description": "ST STM32F401" + }, + { + "id": "0x5a18069b", + "short_name": "FX2", + "description": "Cypress FX2" + }, + { + "id": "0x5d1a0a2e", + "short_name": "STM32F2", + "description": "ST STM32F2xx" + }, + { + "id": "0x5ee21072", + "short_name": "STM32F1", + "description": "ST STM32F103" + }, + { + "id": "0x621e937a", + "short_name": "NRF52833", + "description": "Nordic NRF52833" + }, + { + "id": "0x647824b6", + "short_name": "STM32F0", + "description": "ST STM32F0xx" + }, + { + "id": "0x68ed2b88", + "short_name": "SAMD21", + "description": "Microchip (Atmel) SAMD21" + }, + { + "id": "0x6b846188", + "short_name": "STM32F3", + "description": "ST STM32F3xx" + }, + { + "id": "0x6d0922fa", + "short_name": "STM32F407", + "description": "ST STM32F407" + }, + { + "id": "0x6db66082", + "short_name": "STM32H7", + "description": "ST STM32H7xx" + }, + { + "id": "0x70d16653", + "short_name": "STM32WB", + "description": "ST STM32WBxx" + }, + { + "id": "0x7eab61ed", + "short_name": "ESP8266", + "description": "ESP8266" + }, + { + "id": "0x7f83e793", + "short_name": "KL32L2", + "description": "NXP KL32L2x" + }, + { + "id": "0x8fb060fe", + "short_name": "STM32F407VG", + "description": "ST STM32F407VG" + }, + { + "id": "0xada52840", + "short_name": "NRF52840", + "description": "Nordic NRF52840" + }, + { + "id": "0xbfdd4eee", + "short_name": "ESP32S2", + "description": "ESP32-S2" + }, + { + "id": "0xc47e5767", + "short_name": "ESP32S3", + "description": "ESP32-S3" + }, + { + "id": "0xd42ba06c", + "short_name": "ESP32C3", + "description": "ESP32-C3" + }, + { + "id": "0x2b88d29c", + "short_name": "ESP32C2", + "description": "ESP32-C2" + }, + { + "id": "0x332726f6", + "short_name": "ESP32H2", + "description": "ESP32-H2" + }, + { + "id": "0xe48bff56", + "short_name": "RP2040", + "description": "Raspberry Pi RP2040" + }, + { + "id": "0x00ff6919", + "short_name": "STM32L4", + "description": "ST STM32L4xx" + }, + { + "id": "0x9af03e33", + "short_name": "GD32VF103", + "description": "GigaDevice GD32VF103" + } +] From 75544d91273d1ae9f0255556dc5170478a1a6e49 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 7 Mar 2022 22:22:22 +1100 Subject: [PATCH 0296/1832] Move Doxygen docs to subdirectory (#16561) --- docs/_summary.md | 16 +- docs/feature_midi.md | 6 +- ...ernals_gpio_control.md => gpio_control.md} | 0 .../defines.md} | 0 .../input_callback_reg.md} | 0 .../midi_device.md} | 0 .../midi_device_setup_process.md} | 0 .../midi_util.md} | 0 .../send_functions.md} | 0 .../sysex_tools.md} | 0 docs/ja/_summary.md | 16 +- ...ernals_gpio_control.md => gpio_control.md} | 4 +- docs/ja/internals_defines.md | 78 ------ docs/ja/internals_input_callback_reg.md | 173 ------------ docs/ja/internals_midi_device.md | 148 ----------- .../ja/internals_midi_device_setup_process.md | 36 --- docs/ja/internals_midi_util.md | 59 ----- docs/ja/internals_send_functions.md | 246 ------------------ docs/ja/internals_sysex_tools.md | 66 ----- docs/ja/proton_c_conversion.md | 2 +- docs/proton_c_conversion.md | 2 +- docs/zh-cn/_summary.md | 16 +- lib/python/qmk/cli/generate/docs.py | 7 +- util/generate_internal_docs.sh | 31 --- 24 files changed, 35 insertions(+), 871 deletions(-) rename docs/{internals_gpio_control.md => gpio_control.md} (100%) rename docs/{internals_defines.md => internals/defines.md} (100%) rename docs/{internals_input_callback_reg.md => internals/input_callback_reg.md} (100%) rename docs/{internals_midi_device.md => internals/midi_device.md} (100%) rename docs/{internals_midi_device_setup_process.md => internals/midi_device_setup_process.md} (100%) rename docs/{internals_midi_util.md => internals/midi_util.md} (100%) rename docs/{internals_send_functions.md => internals/send_functions.md} (100%) rename docs/{internals_sysex_tools.md => internals/sysex_tools.md} (100%) rename docs/ja/{internals_gpio_control.md => gpio_control.md} (96%) delete mode 100644 docs/ja/internals_defines.md delete mode 100644 docs/ja/internals_input_callback_reg.md delete mode 100644 docs/ja/internals_midi_device.md delete mode 100644 docs/ja/internals_midi_device_setup_process.md delete mode 100644 docs/ja/internals_midi_util.md delete mode 100644 docs/ja/internals_send_functions.md delete mode 100644 docs/ja/internals_sysex_tools.md delete mode 100755 util/generate_internal_docs.sh diff --git a/docs/_summary.md b/docs/_summary.md index 74203aa0f854..250a48fe6b07 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -147,7 +147,7 @@ * [EEPROM Driver](eeprom_driver.md) * ['serial' Driver](serial_driver.md) * [UART Driver](uart_driver.md) - * [GPIO Controls](internals_gpio_control.md) + * [GPIO Controls](gpio_control.md) * [Keyboard Guidelines](hardware_keyboard_guidelines.md) * Python Development @@ -183,10 +183,10 @@ * [Understanding QMK](understanding_qmk.md) * QMK Internals (In Progress) - * [Defines](internals_defines.md) - * [Input Callback Reg](internals_input_callback_reg.md) - * [Midi Device](internals_midi_device.md) - * [Midi Device Setup Process](internals_midi_device_setup_process.md) - * [Midi Util](internals_midi_util.md) - * [Send Functions](internals_send_functions.md) - * [Sysex Tools](internals_sysex_tools.md) + * [Defines](internals/defines.md) + * [Input Callback Reg](internals/input_callback_reg.md) + * [Midi Device](internals/midi_device.md) + * [Midi Device Setup Process](internals/midi_device_setup_process.md) + * [Midi Util](internals/midi_util.md) + * [Send Functions](internals/send_functions.md) + * [Sysex Tools](internals/sysex_tools.md) diff --git a/docs/feature_midi.md b/docs/feature_midi.md index 3da5c4940a36..490bf7cc7dc8 100644 --- a/docs/feature_midi.md +++ b/docs/feature_midi.md @@ -254,7 +254,7 @@ For the above, the `MI_C` keycode will produce a C3 (note number 48), and so on. diff --git a/docs/internals_gpio_control.md b/docs/gpio_control.md similarity index 100% rename from docs/internals_gpio_control.md rename to docs/gpio_control.md diff --git a/docs/internals_defines.md b/docs/internals/defines.md similarity index 100% rename from docs/internals_defines.md rename to docs/internals/defines.md diff --git a/docs/internals_input_callback_reg.md b/docs/internals/input_callback_reg.md similarity index 100% rename from docs/internals_input_callback_reg.md rename to docs/internals/input_callback_reg.md diff --git a/docs/internals_midi_device.md b/docs/internals/midi_device.md similarity index 100% rename from docs/internals_midi_device.md rename to docs/internals/midi_device.md diff --git a/docs/internals_midi_device_setup_process.md b/docs/internals/midi_device_setup_process.md similarity index 100% rename from docs/internals_midi_device_setup_process.md rename to docs/internals/midi_device_setup_process.md diff --git a/docs/internals_midi_util.md b/docs/internals/midi_util.md similarity index 100% rename from docs/internals_midi_util.md rename to docs/internals/midi_util.md diff --git a/docs/internals_send_functions.md b/docs/internals/send_functions.md similarity index 100% rename from docs/internals_send_functions.md rename to docs/internals/send_functions.md diff --git a/docs/internals_sysex_tools.md b/docs/internals/sysex_tools.md similarity index 100% rename from docs/internals_sysex_tools.md rename to docs/internals/sysex_tools.md diff --git a/docs/ja/_summary.md b/docs/ja/_summary.md index b90480041c73..81b5756c2725 100644 --- a/docs/ja/_summary.md +++ b/docs/ja/_summary.md @@ -137,7 +137,7 @@ * [EEPROM ドライバ](ja/eeprom_driver.md) * [シリアル ドライバ](ja/serial_driver.md) * [UART ドライバ](ja/uart_driver.md) - * [GPIO 制御](ja/internals_gpio_control.md) + * [GPIO 制御](ja/gpio_control.md) * [キーボード ガイドライン](ja/hardware_keyboard_guidelines.md) * Python 開発 @@ -173,10 +173,10 @@ * [QMK を理解する](ja/understanding_qmk.md) * QMK の内部詳細(作成中) - * [定義](ja/internals_defines.md) - * [入力コールバック登録](ja/internals_input_callback_reg.md) - * [Midi デバイス](ja/internals_midi_device.md) - * [Midi デバイスのセットアップ手順](ja/internals_midi_device_setup_process.md) - * [Midi ユーティリティ](ja/internals_midi_util.md) - * [Midi 送信関数](ja/internals_send_functions.md) - * [Sysex Tools](ja/internals_sysex_tools.md) + * [定義](ja/internals/defines.md) + * [入力コールバック登録](ja/internals/input_callback_reg.md) + * [Midi デバイス](ja/internals/midi_device.md) + * [Midi デバイスのセットアップ手順](ja/internals/midi_device_setup_process.md) + * [Midi ユーティリティ](ja/internals/midi_util.md) + * [Midi 送信関数](ja/internals/send_functions.md) + * [Sysex Tools](ja/internals/sysex_tools.md) diff --git a/docs/ja/internals_gpio_control.md b/docs/ja/gpio_control.md similarity index 96% rename from docs/ja/internals_gpio_control.md rename to docs/ja/gpio_control.md index 60c5367870aa..7bece3e0c7ca 100644 --- a/docs/ja/internals_gpio_control.md +++ b/docs/ja/gpio_control.md @@ -1,8 +1,8 @@ # GPIO 制御 :id=gpio-control QMK には、マイクロコントローラに依存しない GPIO 制御抽象レイヤーがあります。これは異なるプラットフォーム間でピン制御に簡単にアクセスできるようにするためのものです。 diff --git a/docs/ja/internals_defines.md b/docs/ja/internals_defines.md deleted file mode 100644 index 512730df75bb..000000000000 --- a/docs/ja/internals_defines.md +++ /dev/null @@ -1,78 +0,0 @@ -# `defines` グループ {#group__defines} - -## 概要 - -メンバー | 説明 ---------------------------------|--------------------------------------------- -`define `[`SYSEX_BEGIN`](#group__defines_1ga1a3c39bb790dda8a368c4247caabcf79) | -`define `[`SYSEX_END`](#group__defines_1ga753706d1d28e6f96d7caf1973e80feed) | -`define `[`MIDI_STATUSMASK`](#group__defines_1gab78a1c818a5f5dab7a8946543f126c69) | -`define `[`MIDI_CHANMASK`](#group__defines_1ga239edc0a6f8405d3a8f2804f1590b909) | -`define `[`MIDI_CC`](#group__defines_1ga45f116a1daab76b3c930c2cecfaef215) | -`define `[`MIDI_NOTEON`](#group__defines_1gafd416f27bf3590868c0c1f55c30be4c7) | -`define `[`MIDI_NOTEOFF`](#group__defines_1gabed24bea2d989fd655e2ef2ad0765adc) | -`define `[`MIDI_AFTERTOUCH`](#group__defines_1ga3a322d8cfd53576a2e167c1840551b0f) | -`define `[`MIDI_PITCHBEND`](#group__defines_1gabcc799504e8064679bca03f232223af4) | -`define `[`MIDI_PROGCHANGE`](#group__defines_1gaefb3f1595ffbb9db66b46c2c919a3d42) | -`define `[`MIDI_CHANPRESSURE`](#group__defines_1gaeb3281cc7fcd0daade8ed3d2dfc33dbe) | -`define `[`MIDI_CLOCK`](#group__defines_1gafa5e4e295aafd15ab7893344599b3b89) | -`define `[`MIDI_TICK`](#group__defines_1ga3b99408ff864613765d4c3c2ceb52aa7) | -`define `[`MIDI_START`](#group__defines_1ga8233631c85823aa546f932ad8975caa4) | -`define `[`MIDI_CONTINUE`](#group__defines_1gab24430f0081e27215b0da84dd0ee745c) | -`define `[`MIDI_STOP`](#group__defines_1ga3af9271d4b1f0d22904a0b055f48cf62) | -`define `[`MIDI_ACTIVESENSE`](#group__defines_1gacd88ed42dba52bb4b2052c5656362677) | -`define `[`MIDI_RESET`](#group__defines_1ga02947f30ca62dc332fdeb10c5868323b) | -`define `[`MIDI_TC_QUARTERFRAME`](#group__defines_1gaaa072f33590e236d1bfd8f28e833ae31) | -`define `[`MIDI_SONGPOSITION`](#group__defines_1ga412f6ed33a2150051374bee334ee1705) | -`define `[`MIDI_SONGSELECT`](#group__defines_1gafcab254838b028365ae0259729e72c4e) | -`define `[`MIDI_TUNEREQUEST`](#group__defines_1ga8100b907b8c0a84e58b1c53dcd9bd795) | -`define `[`SYSEX_EDUMANUFID`](#group__defines_1ga5ef855ed955b00a2239ca16afbeb164f) | - -## メンバー - -#### `define `[`SYSEX_BEGIN`](#group__defines_1ga1a3c39bb790dda8a368c4247caabcf79) {#group__defines_1ga1a3c39bb790dda8a368c4247caabcf79} - -#### `define `[`SYSEX_END`](#group__defines_1ga753706d1d28e6f96d7caf1973e80feed) {#group__defines_1ga753706d1d28e6f96d7caf1973e80feed} - -#### `define `[`MIDI_STATUSMASK`](#group__defines_1gab78a1c818a5f5dab7a8946543f126c69) {#group__defines_1gab78a1c818a5f5dab7a8946543f126c69} - -#### `define `[`MIDI_CHANMASK`](#group__defines_1ga239edc0a6f8405d3a8f2804f1590b909) {#group__defines_1ga239edc0a6f8405d3a8f2804f1590b909} - -#### `define `[`MIDI_CC`](#group__defines_1ga45f116a1daab76b3c930c2cecfaef215) {#group__defines_1ga45f116a1daab76b3c930c2cecfaef215} - -#### `define `[`MIDI_NOTEON`](#group__defines_1gafd416f27bf3590868c0c1f55c30be4c7) {#group__defines_1gafd416f27bf3590868c0c1f55c30be4c7} - -#### `define `[`MIDI_NOTEOFF`](#group__defines_1gabed24bea2d989fd655e2ef2ad0765adc) {#group__defines_1gabed24bea2d989fd655e2ef2ad0765adc} - -#### `define `[`MIDI_AFTERTOUCH`](#group__defines_1ga3a322d8cfd53576a2e167c1840551b0f) {#group__defines_1ga3a322d8cfd53576a2e167c1840551b0f} - -#### `define `[`MIDI_PITCHBEND`](#group__defines_1gabcc799504e8064679bca03f232223af4) {#group__defines_1gabcc799504e8064679bca03f232223af4} - -#### `define `[`MIDI_PROGCHANGE`](#group__defines_1gaefb3f1595ffbb9db66b46c2c919a3d42) {#group__defines_1gaefb3f1595ffbb9db66b46c2c919a3d42} - -#### `define `[`MIDI_CHANPRESSURE`](#group__defines_1gaeb3281cc7fcd0daade8ed3d2dfc33dbe) {#group__defines_1gaeb3281cc7fcd0daade8ed3d2dfc33dbe} - -#### `define `[`MIDI_CLOCK`](#group__defines_1gafa5e4e295aafd15ab7893344599b3b89) {#group__defines_1gafa5e4e295aafd15ab7893344599b3b89} - -#### `define `[`MIDI_TICK`](#group__defines_1ga3b99408ff864613765d4c3c2ceb52aa7) {#group__defines_1ga3b99408ff864613765d4c3c2ceb52aa7} - -#### `define `[`MIDI_START`](#group__defines_1ga8233631c85823aa546f932ad8975caa4) {#group__defines_1ga8233631c85823aa546f932ad8975caa4} - -#### `define `[`MIDI_CONTINUE`](#group__defines_1gab24430f0081e27215b0da84dd0ee745c) {#group__defines_1gab24430f0081e27215b0da84dd0ee745c} - -#### `define `[`MIDI_STOP`](#group__defines_1ga3af9271d4b1f0d22904a0b055f48cf62) {#group__defines_1ga3af9271d4b1f0d22904a0b055f48cf62} - -#### `define `[`MIDI_ACTIVESENSE`](#group__defines_1gacd88ed42dba52bb4b2052c5656362677) {#group__defines_1gacd88ed42dba52bb4b2052c5656362677} - -#### `define `[`MIDI_RESET`](#group__defines_1ga02947f30ca62dc332fdeb10c5868323b) {#group__defines_1ga02947f30ca62dc332fdeb10c5868323b} - -#### `define `[`MIDI_TC_QUARTERFRAME`](#group__defines_1gaaa072f33590e236d1bfd8f28e833ae31) {#group__defines_1gaaa072f33590e236d1bfd8f28e833ae31} - -#### `define `[`MIDI_SONGPOSITION`](#group__defines_1ga412f6ed33a2150051374bee334ee1705) {#group__defines_1ga412f6ed33a2150051374bee334ee1705} - -#### `define `[`MIDI_SONGSELECT`](#group__defines_1gafcab254838b028365ae0259729e72c4e) {#group__defines_1gafcab254838b028365ae0259729e72c4e} - -#### `define `[`MIDI_TUNEREQUEST`](#group__defines_1ga8100b907b8c0a84e58b1c53dcd9bd795) {#group__defines_1ga8100b907b8c0a84e58b1c53dcd9bd795} - -#### `define `[`SYSEX_EDUMANUFID`](#group__defines_1ga5ef855ed955b00a2239ca16afbeb164f) {#group__defines_1ga5ef855ed955b00a2239ca16afbeb164f} - diff --git a/docs/ja/internals_input_callback_reg.md b/docs/ja/internals_input_callback_reg.md deleted file mode 100644 index 864b1d5750af..000000000000 --- a/docs/ja/internals_input_callback_reg.md +++ /dev/null @@ -1,173 +0,0 @@ -# group `input_callback_reg` {#group__input__callback__reg} - - - -これらは受信コールバックを登録するために使用する関数です。 - -関数は、適切な midi メッセージが関連するデバイスの入力と一致した場合に呼び出されます。 - -## 概要 - -| メンバー | 説明 | ---------------------------------|--------------------------------------------- -| `public void `[`midi_register_cc_callback`](#group__input__callback__reg_1ga64ab672abbbe393c9c4a83110c8df718)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | コントロールチェンジメッセージ受信コールバックを登録する。 | -| `public void `[`midi_register_noteon_callback`](#group__input__callback__reg_1ga3962f276c17618923f1152779552103e)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | ノートオン受信コールバックを登録する。 | -| `public void `[`midi_register_noteoff_callback`](#group__input__callback__reg_1gac847b66051bd6d53b762958be0ec4c6d)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | ノートオフ受信コールバックを登録する。 | -| `public void `[`midi_register_aftertouch_callback`](#group__input__callback__reg_1gaa95bc901bd9edff956a667c9a69dd01f)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | アフタータッチ受信コールバックを登録する。 | -| `public void `[`midi_register_pitchbend_callback`](#group__input__callback__reg_1ga071a28f02ba14f53de219be70ebd9a48)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | ピッチベンド受信コールバックを登録する。 | -| `public void `[`midi_register_songposition_callback`](#group__input__callback__reg_1gaf2adfd79637f3553d8f26deb1ca22ed6)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | ソングポジション受信コールバックを登録する。 | -| `public void `[`midi_register_progchange_callback`](#group__input__callback__reg_1gae6ba1a35a4cde9bd15dd42f87401d127)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` | プログラムチェンジ受信コールバックを登録する。 | -| `public void `[`midi_register_chanpressure_callback`](#group__input__callback__reg_1ga39b31f1f4fb93917ce039b958f21b4f5)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` | チャンネルプレッシャー受信コールバックを登録する。 | -| `public void `[`midi_register_songselect_callback`](#group__input__callback__reg_1gaf9aafc76a2dc4b9fdbb4106cbda6ce72)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` | ソングセレクト受信コールバックを登録する。 | -| `public void `[`midi_register_tc_quarterframe_callback`](#group__input__callback__reg_1ga0a119fada2becc628cb15d753b257e6e)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` | タイムコードクォータフレーム受信コールバックを登録する。 | -| `public void `[`midi_register_realtime_callback`](#group__input__callback__reg_1ga764f440e857b89084b1a07f9da2ff93a)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_one_byte_func_t func)` | リアルタイム受信コールバックを登録する。 | -| `public void `[`midi_register_tunerequest_callback`](#group__input__callback__reg_1gae40ff3ce20bda79fef87da24b8321cb1)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_one_byte_func_t func)` | チューンリクエスト受信コールバックを登録する。 | -| `public void `[`midi_register_sysex_callback`](#group__input__callback__reg_1ga63ce9631b025785c1848d0122d4c4c48)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_sysex_func_t func)` | システムエクスクルーシブ受信コールバックを登録する。 | -| `public void `[`midi_register_fallthrough_callback`](#group__input__callback__reg_1ga7ed189164aa9682862b3181153afbd94)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t func)` | フォールスルー受信コールバックを登録する。 | -| `public void `[`midi_register_catchall_callback`](#group__input__callback__reg_1ga9dbfed568d047a6cd05708f11fe39e99)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t func)` | キャッチオール受信コールバックを登録する。 | - -## メンバー - -#### `public void `[`midi_register_cc_callback`](#group__input__callback__reg_1ga64ab672abbbe393c9c4a83110c8df718)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1ga64ab672abbbe393c9c4a83110c8df718} - -コントロールチェンジメッセージ受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_noteon_callback`](#group__input__callback__reg_1ga3962f276c17618923f1152779552103e)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1ga3962f276c17618923f1152779552103e} - -ノートオン受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_noteoff_callback`](#group__input__callback__reg_1gac847b66051bd6d53b762958be0ec4c6d)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1gac847b66051bd6d53b762958be0ec4c6d} - -ノートオフ受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_aftertouch_callback`](#group__input__callback__reg_1gaa95bc901bd9edff956a667c9a69dd01f)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1gaa95bc901bd9edff956a667c9a69dd01f} - -アフタータッチ受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_pitchbend_callback`](#group__input__callback__reg_1ga071a28f02ba14f53de219be70ebd9a48)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1ga071a28f02ba14f53de219be70ebd9a48} - -ピッチベンド受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_songposition_callback`](#group__input__callback__reg_1gaf2adfd79637f3553d8f26deb1ca22ed6)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1gaf2adfd79637f3553d8f26deb1ca22ed6} - -ソングポジション受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_progchange_callback`](#group__input__callback__reg_1gae6ba1a35a4cde9bd15dd42f87401d127)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` {#group__input__callback__reg_1gae6ba1a35a4cde9bd15dd42f87401d127} - -プログラムチェンジ受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_chanpressure_callback`](#group__input__callback__reg_1ga39b31f1f4fb93917ce039b958f21b4f5)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` {#group__input__callback__reg_1ga39b31f1f4fb93917ce039b958f21b4f5} - -チャンネルプレッシャー受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_songselect_callback`](#group__input__callback__reg_1gaf9aafc76a2dc4b9fdbb4106cbda6ce72)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` {#group__input__callback__reg_1gaf9aafc76a2dc4b9fdbb4106cbda6ce72} - -ソングセレクト受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_tc_quarterframe_callback`](#group__input__callback__reg_1ga0a119fada2becc628cb15d753b257e6e)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` {#group__input__callback__reg_1ga0a119fada2becc628cb15d753b257e6e} - -タイムコードクォータフレーム受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_realtime_callback`](#group__input__callback__reg_1ga764f440e857b89084b1a07f9da2ff93a)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_one_byte_func_t func)` {#group__input__callback__reg_1ga764f440e857b89084b1a07f9da2ff93a} - -リアルタイム受信コールバックを登録する。 - -全てのリアルタイムメッセージ型に対してコールバックが呼ばれます。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_tunerequest_callback`](#group__input__callback__reg_1gae40ff3ce20bda79fef87da24b8321cb1)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_one_byte_func_t func)` {#group__input__callback__reg_1gae40ff3ce20bda79fef87da24b8321cb1} - -チューンリクエスト受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_sysex_callback`](#group__input__callback__reg_1ga63ce9631b025785c1848d0122d4c4c48)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_sysex_func_t func)` {#group__input__callback__reg_1ga63ce9631b025785c1848d0122d4c4c48} - -システムエクスクルーシブ受信コールバックを登録する。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_fallthrough_callback`](#group__input__callback__reg_1ga7ed189164aa9682862b3181153afbd94)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t func)` {#group__input__callback__reg_1ga7ed189164aa9682862b3181153afbd94} - -フォールスルー受信コールバックを登録する。 - -より具体的なコールバックが見つからない場合にのみ呼ばれます。例えば、ノートオン受信コールバックを登録していないがノートオンメッセージを受け取った場合、フォールスルー受信コールバックが登録されている場合はそれが呼ばれます。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 - -#### `public void `[`midi_register_catchall_callback`](#group__input__callback__reg_1ga9dbfed568d047a6cd05708f11fe39e99)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t func)` {#group__input__callback__reg_1ga9dbfed568d047a6cd05708f11fe39e99} - -キャッチオール受信コールバックを登録する。 - -登録されている場合は、より具体的なコールバックあるいはフォールスルー受信コールバックが登録されている場合でも、一致する全てのメッセージに対してキャッチオール受信コールバックが呼ばれます。 - -#### パラメータ -* `device` 関連するデバイス - -* `func` 登録するコールバック関数 diff --git a/docs/ja/internals_midi_device.md b/docs/ja/internals_midi_device.md deleted file mode 100644 index 6adc2d5ad92a..000000000000 --- a/docs/ja/internals_midi_device.md +++ /dev/null @@ -1,148 +0,0 @@ -# `midi_device` グループ {#group__midi__device} - - - -独自の MIDI デバイスを実装する時に、関数を使います。 - -実際にデバイスを介してバイトを送信するために、送信関数を設定します。このメソッドは、このデバイスで例えば midi_send_cc のような送信関数を呼ぶ時に呼ばれます。 - -midi_device_input を使ってデバイスからの入力データを処理し、それをデバイスに関連付けられたコールバックで渡します。 - -デバイスのプロセス関数の最初に呼び出される関数が必要な場合、midi_device_set_pre_input_process_func を使います。通常、入力をポーリングして midi_device_input に渡します。 - -## 概要 - -メンバー | 説明 ---------------------------------|--------------------------------------------- -`define `[`MIDI_INPUT_QUEUE_LENGTH`](#group__midi__device_1ga4aaa419caebdca2bbdfc1331e79781a8) | -`enum `[`input_state_t`](#group__midi__device_1gac203e877d3df4275ceb8e7180a61f621) | -`public void `[`midi_device_input`](#group__midi__device_1gad8d3db8eb35d9cfa51ef036a0a9d70db)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t cnt,uint8_t * input)` | 入力バイトを処理します。この関数はバイトを解析し、指定されたデバイスに関連する適切なコールバックを呼びます。この関数は、カスタムデバイスを作成していて、MIDI 入力が必要な場合に使います。 -`public void `[`midi_device_set_send_func`](#group__midi__device_1ga59f5a46bdd4452f186cc73d9e96d4673)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t send_func)` | 出力データバイトの送信に使われるコールバック関数を設定します。これは、カスタムデバイスを作成している場合のみ使われます。ロックを気にすることなく様々な MIDI 送信関数を呼び出すことができるように、コールバック関数で割り込みを無効にすることができます。 -`public void `[`midi_device_set_pre_input_process_func`](#group__midi__device_1ga4de0841b87c04fc23cb56b6451f33b69)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_no_byte_func_t pre_process_func)` | midi_device_process 呼び出しの最初に呼ばれるコールバックを設定します。これは入力データをポーリングし、midi_device_input 関数を介してデータを送信できます。カスタムデバイスを作成している場合のみ、これを使う可能性があります。 -`struct `[`_midi_device`](docs/api_midi_device.md#struct__midi__device) | この構造体は、MIDI デバイスの入出力関数と処理データを表します。 - -## メンバー - -#### `define `[`MIDI_INPUT_QUEUE_LENGTH`](#group__midi__device_1ga4aaa419caebdca2bbdfc1331e79781a8) {#group__midi__device_1ga4aaa419caebdca2bbdfc1331e79781a8} - -#### `enum `[`input_state_t`](#group__midi__device_1gac203e877d3df4275ceb8e7180a61f621) {#group__midi__device_1gac203e877d3df4275ceb8e7180a61f621} - -値 | 説明 ---------------------------------|--------------------------------------------- -IDLE | -ONE_BYTE_MESSAGE | -TWO_BYTE_MESSAGE | -THREE_BYTE_MESSAGE | -SYSEX_MESSAGE | - -#### `public void `[`midi_device_input`](#group__midi__device_1gad8d3db8eb35d9cfa51ef036a0a9d70db)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t cnt,uint8_t * input)` {#group__midi__device_1gad8d3db8eb35d9cfa51ef036a0a9d70db} - -入力バイトを処理します。この関数はバイトを解析し、指定されたデバイスに関連する適切なコールバックを呼びます。この関数は、カスタムデバイスを作成していて、MIDI 入力が必要な場合に使います。 - -#### パラメータ -* `device` 入力を関連付ける MIDI デバイス - -* `cnt` 処理中のバイト数 - -* `input` 処理するバイトデータ - -#### `public void `[`midi_device_set_send_func`](#group__midi__device_1ga59f5a46bdd4452f186cc73d9e96d4673)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t send_func)` {#group__midi__device_1ga59f5a46bdd4452f186cc73d9e96d4673} - -出力データバイトの送信に使われるコールバック関数を設定します。これは、カスタムデバイスを作成している場合のみ使われます。ロックを気にすることなく様々な MIDI 送信関数を呼び出すことができるように、コールバック関数で割り込みを無効にすることができます。 - -#### パラメータ -* `device` このコールバックを関連付ける MIDI デバイス - -* `send_func` 送信を行うコールバック関数 - -#### `public void `[`midi_device_set_pre_input_process_func`](#group__midi__device_1ga4de0841b87c04fc23cb56b6451f33b69)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_no_byte_func_t pre_process_func)` {#group__midi__device_1ga4de0841b87c04fc23cb56b6451f33b69} - -midi_device_process 呼び出しの最初に呼ばれるコールバックを設定します。これは入力データをポーリングし、midi_device_input 関数を介してデータを送信できます。カスタムデバイスを作成している場合のみ、これを使う可能性があります。 - -#### パラメータ -* `device` このコールバックを関連付ける MIDI デバイス - -* `midi_no_byte_func_t` 実際のコールバック関数 - -# `_midi_device` 構造体 {#struct__midi__device} - -この構造体は、MIDI デバイスの入出力関数と処理データを表します。 - -デバイスは、実際の物理デバイス [シリアルポート、USB ポート]、または仮想デバイスを表すことができます。この構造体を直接変更する必要はありません。 - -## 概要 - -| メンバー | 説明 ---------------------------------|--------------------------------------------- -`public midi_var_byte_func_t `[`send_func`](docs/api_midi_device.md#struct__midi__device_1a25d4c94b4bbccd5b98f1032b469f3ff9) | -`public midi_three_byte_func_t `[`input_cc_callback`](docs/api_midi_device.md#struct__midi__device_1a6da5236c1bc73877728df92d213a78d1) | -`public midi_three_byte_func_t `[`input_noteon_callback`](docs/api_midi_device.md#struct__midi__device_1aa10b15cf1a7fb825a5df0d2abbe34a1c) | -`public midi_three_byte_func_t `[`input_noteoff_callback`](docs/api_midi_device.md#struct__midi__device_1aaf290043078534d3a5a0ea4c840eba84) | -`public midi_three_byte_func_t `[`input_aftertouch_callback`](docs/api_midi_device.md#struct__midi__device_1acb0b4901c545cec4b28b126f2d8c315f) | -`public midi_three_byte_func_t `[`input_pitchbend_callback`](docs/api_midi_device.md#struct__midi__device_1a305fea672caeb996f2233bf8cd2bef18) | -`public midi_three_byte_func_t `[`input_songposition_callback`](docs/api_midi_device.md#struct__midi__device_1a5f3f13638b3fef3fc561ed1bf301d586) | -`public midi_two_byte_func_t `[`input_progchange_callback`](docs/api_midi_device.md#struct__midi__device_1adaf1da617c9a10a9dcad00ab1959d3da) | -`public midi_two_byte_func_t `[`input_chanpressure_callback`](docs/api_midi_device.md#struct__midi__device_1ab7ca2925c539915d43974eff604d85f7) | -`public midi_two_byte_func_t `[`input_songselect_callback`](docs/api_midi_device.md#struct__midi__device_1a89bed8a5a55376120cfc0a62b42f057f) | -`public midi_two_byte_func_t `[`input_tc_quarterframe_callback`](docs/api_midi_device.md#struct__midi__device_1ad9813e75d22e284f9f65a907d20600f0) | -`public midi_one_byte_func_t `[`input_realtime_callback`](docs/api_midi_device.md#struct__midi__device_1a9448eba4afb7e43650434748db3777be) | -`public midi_one_byte_func_t `[`input_tunerequest_callback`](docs/api_midi_device.md#struct__midi__device_1a0cb8fd53e00cf1d4202d4fa04d038e8d) | -`public midi_sysex_func_t `[`input_sysex_callback`](docs/api_midi_device.md#struct__midi__device_1afff9a0ce641762aaef24c1e6953ec9a2) | -`public midi_var_byte_func_t `[`input_fallthrough_callback`](docs/api_midi_device.md#struct__midi__device_1abb974ec6d734001b4a0e370f292be503) | -`public midi_var_byte_func_t `[`input_catchall_callback`](docs/api_midi_device.md#struct__midi__device_1aae0d535129d4fd650edc98eb3f7584f8) | -`public midi_no_byte_func_t `[`pre_input_process_callback`](docs/api_midi_device.md#struct__midi__device_1aeb0bb8923d66c23d874e177dc4265754) | -`public uint8_t `[`input_buffer`](docs/api_midi_device.md#struct__midi__device_1a7c5684857d6af4ebc4dc12da27bd6b2a) | -`public input_state_t `[`input_state`](docs/api_midi_device.md#struct__midi__device_1a69a687d2d1c449ec15a11c07a5722e39) | -`public uint16_t `[`input_count`](docs/api_midi_device.md#struct__midi__device_1a68dea8e7b6151e89c85c95caa612ee5d) | -`public uint8_t `[`input_queue_data`](docs/api_midi_device.md#struct__midi__device_1ada41de021135dc423abedcbb30f366ff) | -`public `[`byteQueue_t`](#structbyte_queue__t)` `[`input_queue`](#struct__midi__device_1a49c8538a8a02193c58e28a56eb695d8f) | - -## メンバー - -#### `public midi_var_byte_func_t `[`send_func`](docs/api_midi_device.md#struct__midi__device_1a25d4c94b4bbccd5b98f1032b469f3ff9) {#struct__midi__device_1a25d4c94b4bbccd5b98f1032b469f3ff9} - -#### `public midi_three_byte_func_t `[`input_cc_callback`](docs/api_midi_device.md#struct__midi__device_1a6da5236c1bc73877728df92d213a78d1) {#struct__midi__device_1a6da5236c1bc73877728df92d213a78d1} - -#### `public midi_three_byte_func_t `[`input_noteon_callback`](docs/api_midi_device.md#struct__midi__device_1aa10b15cf1a7fb825a5df0d2abbe34a1c) {#struct__midi__device_1aa10b15cf1a7fb825a5df0d2abbe34a1c} - -#### `public midi_three_byte_func_t `[`input_noteoff_callback`](docs/api_midi_device.md#struct__midi__device_1aaf290043078534d3a5a0ea4c840eba84) {#struct__midi__device_1aaf290043078534d3a5a0ea4c840eba84} - -#### `public midi_three_byte_func_t `[`input_aftertouch_callback`](docs/api_midi_device.md#struct__midi__device_1acb0b4901c545cec4b28b126f2d8c315f) {#struct__midi__device_1acb0b4901c545cec4b28b126f2d8c315f} - -#### `public midi_three_byte_func_t `[`input_pitchbend_callback`](docs/api_midi_device.md#struct__midi__device_1a305fea672caeb996f2233bf8cd2bef18) {#struct__midi__device_1a305fea672caeb996f2233bf8cd2bef18} - -#### `public midi_three_byte_func_t `[`input_songposition_callback`](docs/api_midi_device.md#struct__midi__device_1a5f3f13638b3fef3fc561ed1bf301d586) {#struct__midi__device_1a5f3f13638b3fef3fc561ed1bf301d586} - -#### `public midi_two_byte_func_t `[`input_progchange_callback`](docs/api_midi_device.md#struct__midi__device_1adaf1da617c9a10a9dcad00ab1959d3da) {#struct__midi__device_1adaf1da617c9a10a9dcad00ab1959d3da} - -#### `public midi_two_byte_func_t `[`input_chanpressure_callback`](docs/api_midi_device.md#struct__midi__device_1ab7ca2925c539915d43974eff604d85f7) {#struct__midi__device_1ab7ca2925c539915d43974eff604d85f7} - -#### `public midi_two_byte_func_t `[`input_songselect_callback`](docs/api_midi_device.md#struct__midi__device_1a89bed8a5a55376120cfc0a62b42f057f) {#struct__midi__device_1a89bed8a5a55376120cfc0a62b42f057f} - -#### `public midi_two_byte_func_t `[`input_tc_quarterframe_callback`](docs/api_midi_device.md#struct__midi__device_1ad9813e75d22e284f9f65a907d20600f0) {#struct__midi__device_1ad9813e75d22e284f9f65a907d20600f0} - -#### `public midi_one_byte_func_t `[`input_realtime_callback`](docs/api_midi_device.md#struct__midi__device_1a9448eba4afb7e43650434748db3777be) {#struct__midi__device_1a9448eba4afb7e43650434748db3777be} - -#### `public midi_one_byte_func_t `[`input_tunerequest_callback`](docs/api_midi_device.md#struct__midi__device_1a0cb8fd53e00cf1d4202d4fa04d038e8d) {#struct__midi__device_1a0cb8fd53e00cf1d4202d4fa04d038e8d} - -#### `public midi_sysex_func_t `[`input_sysex_callback`](docs/api_midi_device.md#struct__midi__device_1afff9a0ce641762aaef24c1e6953ec9a2) {#struct__midi__device_1afff9a0ce641762aaef24c1e6953ec9a2} - -#### `public midi_var_byte_func_t `[`input_fallthrough_callback`](docs/api_midi_device.md#struct__midi__device_1abb974ec6d734001b4a0e370f292be503) {#struct__midi__device_1abb974ec6d734001b4a0e370f292be503} - -#### `public midi_var_byte_func_t `[`input_catchall_callback`](docs/api_midi_device.md#struct__midi__device_1aae0d535129d4fd650edc98eb3f7584f8) {#struct__midi__device_1aae0d535129d4fd650edc98eb3f7584f8} - -#### `public midi_no_byte_func_t `[`pre_input_process_callback`](docs/api_midi_device.md#struct__midi__device_1aeb0bb8923d66c23d874e177dc4265754) {#struct__midi__device_1aeb0bb8923d66c23d874e177dc4265754} - -#### `public uint8_t `[`input_buffer`](docs/api_midi_device.md#struct__midi__device_1a7c5684857d6af4ebc4dc12da27bd6b2a) {#struct__midi__device_1a7c5684857d6af4ebc4dc12da27bd6b2a} - -#### `public input_state_t `[`input_state`](docs/api_midi_device.md#struct__midi__device_1a69a687d2d1c449ec15a11c07a5722e39) {#struct__midi__device_1a69a687d2d1c449ec15a11c07a5722e39} - -#### `public uint16_t `[`input_count`](docs/api_midi_device.md#struct__midi__device_1a68dea8e7b6151e89c85c95caa612ee5d) {#struct__midi__device_1a68dea8e7b6151e89c85c95caa612ee5d} - -#### `public uint8_t `[`input_queue_data`](docs/api_midi_device.md#struct__midi__device_1ada41de021135dc423abedcbb30f366ff) {#struct__midi__device_1ada41de021135dc423abedcbb30f366ff} - -#### `public `[`byteQueue_t`](#structbyte_queue__t)` `[`input_queue`](#struct__midi__device_1a49c8538a8a02193c58e28a56eb695d8f) {#struct__midi__device_1a49c8538a8a02193c58e28a56eb695d8f} - diff --git a/docs/ja/internals_midi_device_setup_process.md b/docs/ja/internals_midi_device_setup_process.md deleted file mode 100644 index 98061564523e..000000000000 --- a/docs/ja/internals_midi_device_setup_process.md +++ /dev/null @@ -1,36 +0,0 @@ -# `midi_device_setup_process` グループ {#group__midi__device__setup__process} - - - -これらは、デバイスを初期化して実行するために使う必要があるメソッドです。 - -## 概要 - -メンバー | 説明 ---------------------------------|--------------------------------------------- -`public void `[`midi_device_init`](#group__midi__device__setup__process_1gaf29deddc94ea98a59daa0bde1aefd9d9)`(`[`MidiDevice`](#struct__midi__device)` * device)` | デバイスを初期化します。 -`public void `[`midi_device_process`](#group__midi__device__setup__process_1gaa3d5993d0e998a1b59bbf5ab9c7b492b)`(`[`MidiDevice`](#struct__midi__device)` * device)` | 入力データを処理します。 - -## メンバー - -#### `public void `[`midi_device_init`](#group__midi__device__setup__process_1gaf29deddc94ea98a59daa0bde1aefd9d9)`(`[`MidiDevice`](#struct__midi__device)` * device)` {#group__midi__device__setup__process_1gaf29deddc94ea98a59daa0bde1aefd9d9} - -デバイスを初期化します。 - -問題のデバイスを使う前にこれを呼び出す必要があります。 - -#### パラメータ -* `device` 初期化するデバイス - -#### `public void `[`midi_device_process`](#group__midi__device__setup__process_1gaa3d5993d0e998a1b59bbf5ab9c7b492b)`(`[`MidiDevice`](#struct__midi__device)` * device)` {#group__midi__device__setup__process_1gaa3d5993d0e998a1b59bbf5ab9c7b492b} - -入力データを処理します。 - -このメソッドは入力処理を駆動します。入力コールバックが呼び出されることが予想される場合は、このメソッドを頻繁に呼び出す必要があります。 - -#### パラメータ -* `device` 処理するデバイス - diff --git a/docs/ja/internals_midi_util.md b/docs/ja/internals_midi_util.md deleted file mode 100644 index 5ff9870df9f0..000000000000 --- a/docs/ja/internals_midi_util.md +++ /dev/null @@ -1,59 +0,0 @@ -# `midi_util` グループ {#group__midi__util} - - - -## 概要 - -| メンバー | 説明 ---------------------------------|--------------------------------------------- -| `enum `[`midi_packet_length_t`](#group__midi__util_1gae29ff56aee2b430ffe53933b97e5e79e) | 可能なパケット長の値の列挙型。 -| `public bool `[`midi_is_statusbyte`](#group__midi__util_1ga12e3b42ff9cbb4b4f2bc455fc8743ee5)`(uint8_t theByte)` | 指定されたバイトがステータスバイトであるかどうかを検査します。 -| `public bool `[`midi_is_realtime`](#group__midi__util_1gad2f52c363e34a8000d80c983c324e2d7)`(uint8_t theByte)` | 指定されたバイトがリアルタイムメッセージであるかどうかを検査します。 -| `public `[`midi_packet_length_t`](#group__midi__util_1gae29ff56aee2b430ffe53933b97e5e79e)` `[`midi_packet_length`](#group__midi__util_1gaa168b43af6ae9de0debce1625e4b8175)`(uint8_t status)` | 指定されたステータスバイトに関連付けられたパケットの長さを調べます。 - -## メンバー - -#### `enum `[`midi_packet_length_t`](#group__midi__util_1gae29ff56aee2b430ffe53933b97e5e79e) {#group__midi__util_1gae29ff56aee2b430ffe53933b97e5e79e} - -| 値 | 説明 ---------------------------------|--------------------------------------------- -UNDEFINED | -ONE | -TWO | -THREE | - -可能なパケット長の値の列挙型。 - -#### `public bool `[`midi_is_statusbyte`](#group__midi__util_1ga12e3b42ff9cbb4b4f2bc455fc8743ee5)`(uint8_t theByte)` {#group__midi__util_1ga12e3b42ff9cbb4b4f2bc455fc8743ee5} - -指定されたバイトがステータスバイトであるかどうかを検査します。 - -#### パラメータ -* `theByte` 検査するバイト - -#### 返り値 -指定されたバイトが MIDI ステータスバイトの場合は true - -#### `public bool `[`midi_is_realtime`](#group__midi__util_1gad2f52c363e34a8000d80c983c324e2d7)`(uint8_t theByte)` {#group__midi__util_1gad2f52c363e34a8000d80c983c324e2d7} - -指定されたバイトがリアルタイムメッセージであるかどうかを検査します。 - -#### パラメータ -* `theByte` 検査するバイト - -#### 返り値 -リアルタイムメッセージの場合は true、それ以外の場合は false - -#### `public `[`midi_packet_length_t`](#group__midi__util_1gae29ff56aee2b430ffe53933b97e5e79e)` `[`midi_packet_length`](#group__midi__util_1gaa168b43af6ae9de0debce1625e4b8175)`(uint8_t status)` {#group__midi__util_1gaa168b43af6ae9de0debce1625e4b8175} - -指定されたステータスバイトに関連付けられたパケットの長さを調べます。 - -#### パラメータ -* `status` ステータスバイト - -#### 返り値 -パケットの長さ。バイトがステータスバイトではない場合、あるいは sysex ステータスバイトの場合は、UNDEFINED を返します。 - diff --git a/docs/ja/internals_send_functions.md b/docs/ja/internals_send_functions.md deleted file mode 100644 index 2747d3997f24..000000000000 --- a/docs/ja/internals_send_functions.md +++ /dev/null @@ -1,246 +0,0 @@ -# `send_functions` グループ {#group__send__functions} - - - -これらは、デバイスを介して MIDI データを送信するために使う関数です。 - -## 概要 - -メンバー | 説明 ---------------------------------|--------------------------------------------- -`public void `[`midi_send_cc`](#group__send__functions_1gaaf884811c92df405ca8fe1a00082f960)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t num,uint8_t val)` | 指定されたデバイスを介して、コントロールチェンジメッセージを送信します。 -`public void `[`midi_send_noteon`](#group__send__functions_1ga467bcf46dbf03ec269ce565b46bc2775)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t num,uint8_t vel)` | 指定されたデバイスを介してノートオンメッセージを送信します。 -`public void `[`midi_send_noteoff`](#group__send__functions_1gaedb7d8805425eef5d47d57ddcb4c7a49)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t num,uint8_t vel)` | 指定されたデバイスを介してノートオフメッセージを送信します。 -`public void `[`midi_send_aftertouch`](#group__send__functions_1ga0014847571317a0e34b2ef46a6bc584f)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t note_num,uint8_t amt)` | 指定されたデバイスを介してアフタータッチメッセージを送信します。 -`public void `[`midi_send_pitchbend`](#group__send__functions_1gae5a4a1e71611e7534be80af9ce3d3491)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,int16_t amt)` | 指定されたデバイスを介してピッチベンドメッセージを送信します。 -`public void `[`midi_send_programchange`](#group__send__functions_1ga7b15588ef25e5e1ff09c2afc3151ce86)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t num)` | 指定されたデバイスを介してプログラムチェンジメッセージを送信します。 -`public void `[`midi_send_channelpressure`](#group__send__functions_1gaf23e69fdf812e89c0036f51f88ab2e1b)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t amt)` | 指定されたデバイスを介してチャンネルプレッシャーメッセージを送信します。 -`public void `[`midi_send_clock`](#group__send__functions_1ga4e1b11a7cdb0875f6e03ce7c79c581aa)`(`[`MidiDevice`](#struct__midi__device)` * device)` | 指定されたデバイスを介してクロックメッセージを送信します。 -`public void `[`midi_send_tick`](#group__send__functions_1ga2b43c7d433d940c5b907595aac947972)`(`[`MidiDevice`](#struct__midi__device)` * device)` | 指定されたデバイスを介してティックメッセージを送信します。 -`public void `[`midi_send_start`](#group__send__functions_1ga1569749a8d58ccc56789289d7c7245cc)`(`[`MidiDevice`](#struct__midi__device)` * device)` | 指定されたデバイスを介してスタートメッセージを送信します。 -`public void `[`midi_send_continue`](#group__send__functions_1gaed5dc29d754a27372e89ab8bc20ee120)`(`[`MidiDevice`](#struct__midi__device)` * device)` | 指定されたデバイスを介してコンティニューメッセージを送信します。 -`public void `[`midi_send_stop`](#group__send__functions_1ga026e1a620276cb653ac501aa0d12a988)`(`[`MidiDevice`](#struct__midi__device)` * device)` | 指定されたデバイスを介してストップメッセージを送信します。 -`public void `[`midi_send_activesense`](#group__send__functions_1ga9b6e4c6ce4719d2604187b325620db37)`(`[`MidiDevice`](#struct__midi__device)` * device)` | 指定されたデバイスを介してアクティブセンスメッセージを送信します。 -`public void `[`midi_send_reset`](#group__send__functions_1ga3671e39a6d93ca9568fc493001af1b1b)`(`[`MidiDevice`](#struct__midi__device)` * device)` | 指定されたデバイスを介してリセットメッセージを送信します。 -`public void `[`midi_send_tcquarterframe`](#group__send__functions_1ga5b85639910eec280bb744c934d0fd45a)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t time)` | 指定されたデバイスを介してタイムコードクォータフレームメッセージを送信します。 -`public void `[`midi_send_songposition`](#group__send__functions_1gab1c9eeef3b57a8cd2e6128d18e85eb7f)`(`[`MidiDevice`](#struct__midi__device)` * device,uint16_t pos)` | 指定されたデバイスを介してソングポジションメッセージを送信します。 -`public void `[`midi_send_songselect`](#group__send__functions_1ga42de7838ba70d949af9a50f9facc3c50)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t song)` | 指定されたデバイスを介してソングセレクトメッセージを送信します。 -`public void `[`midi_send_tunerequest`](#group__send__functions_1ga8db6c7e04d48e4d2266dd59118ca0656)`(`[`MidiDevice`](#struct__midi__device)` * device)` | 指定されたデバイスを介してチューンリクエストメッセージを送信します。 -`public void `[`midi_send_byte`](#group__send__functions_1ga857e85eb90b288385642d4d991e09881)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t b)` | 指定されたデバイスを介してバイトを送信します。 -`public void `[`midi_send_data`](#group__send__functions_1ga36e2f2e45369d911b76969361679054b)`(`[`MidiDevice`](#struct__midi__device)` * device,uint16_t count,uint8_t byte0,uint8_t byte1,uint8_t byte2)` | 最大3バイトのデータを送信します。 -`public void `[`midi_send_array`](#group__send__functions_1ga245243cb1da18d2cea18d4b18d846ead)`(`[`MidiDevice`](#struct__midi__device)` * device,uint16_t count,uint8_t * array)` | フォーマットされた MIDI データの配列を送信します。 - -## メンバー - -#### `public void `[`midi_send_cc`](#group__send__functions_1gaaf884811c92df405ca8fe1a00082f960)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t num,uint8_t val)` {#group__send__functions_1gaaf884811c92df405ca8fe1a00082f960} - -指定されたデバイスを介して、コントロールチェンジメッセージ(cc)を送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `chan` 送信するチャンネル、0-15 - -* `num` コントロールチェンジナンバー - -* `val` コントロールチェンジナンバーの値 - -#### `public void `[`midi_send_noteon`](#group__send__functions_1ga467bcf46dbf03ec269ce565b46bc2775)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t num,uint8_t vel)` {#group__send__functions_1ga467bcf46dbf03ec269ce565b46bc2775} - -指定されたデバイスを介してノートオンメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `chan` 送信するチャンネル、0-15 - -* `num` ノート番号 - -* `vel` ノートベロシティ - -#### `public void `[`midi_send_noteoff`](#group__send__functions_1gaedb7d8805425eef5d47d57ddcb4c7a49)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t num,uint8_t vel)` {#group__send__functions_1gaedb7d8805425eef5d47d57ddcb4c7a49} - -指定されたデバイスを介してノートオフメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `chan` 送信するチャンネル、0-15 - -* `num` ノート番号 - -* `vel` ノートベロシティ - -#### `public void `[`midi_send_aftertouch`](#group__send__functions_1ga0014847571317a0e34b2ef46a6bc584f)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t note_num,uint8_t amt)` {#group__send__functions_1ga0014847571317a0e34b2ef46a6bc584f} - -指定されたデバイスを介してアフタータッチメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `chan` 送信するチャンネル、0-15 - -* `note_num` ノート番号 - -* `amt` アフタータッチ量 - -#### `public void `[`midi_send_pitchbend`](#group__send__functions_1gae5a4a1e71611e7534be80af9ce3d3491)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,int16_t amt)` {#group__send__functions_1gae5a4a1e71611e7534be80af9ce3d3491} - -指定されたデバイスを介してピッチベンドメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `chan` 送信するチャンネル、0-15 - -* `amt` ベンド量の範囲: -8192..8191、0 はベンドしないことを意味します - -#### `public void `[`midi_send_programchange`](#group__send__functions_1ga7b15588ef25e5e1ff09c2afc3151ce86)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t num)` {#group__send__functions_1ga7b15588ef25e5e1ff09c2afc3151ce86} - -指定されたデバイスを介してプログラムチェンジメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `chan` 送信するチャンネル、0-15 - -* `num` 変更先のプログラム - -#### `public void `[`midi_send_channelpressure`](#group__send__functions_1gaf23e69fdf812e89c0036f51f88ab2e1b)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t chan,uint8_t amt)` {#group__send__functions_1gaf23e69fdf812e89c0036f51f88ab2e1b} - -指定されたデバイスを介してチャンネルプレッシャーメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `chan` 送信するチャンネル、0-15 - -* `amt` チャンネルプレッシャーの量 - -#### `public void `[`midi_send_clock`](#group__send__functions_1ga4e1b11a7cdb0875f6e03ce7c79c581aa)`(`[`MidiDevice`](#struct__midi__device)` * device)` {#group__send__functions_1ga4e1b11a7cdb0875f6e03ce7c79c581aa} - -指定されたデバイスを介してクロックメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -#### `public void `[`midi_send_tick`](#group__send__functions_1ga2b43c7d433d940c5b907595aac947972)`(`[`MidiDevice`](#struct__midi__device)` * device)` {#group__send__functions_1ga2b43c7d433d940c5b907595aac947972} - -指定されたデバイスを介してティックメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -#### `public void `[`midi_send_start`](#group__send__functions_1ga1569749a8d58ccc56789289d7c7245cc)`(`[`MidiDevice`](#struct__midi__device)` * device)` {#group__send__functions_1ga1569749a8d58ccc56789289d7c7245cc} - -指定されたデバイスを介してスタートメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -#### `public void `[`midi_send_continue`](#group__send__functions_1gaed5dc29d754a27372e89ab8bc20ee120)`(`[`MidiDevice`](#struct__midi__device)` * device)` {#group__send__functions_1gaed5dc29d754a27372e89ab8bc20ee120} - -指定されたデバイスを介してコンティニューメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -#### `public void `[`midi_send_stop`](#group__send__functions_1ga026e1a620276cb653ac501aa0d12a988)`(`[`MidiDevice`](#struct__midi__device)` * device)` {#group__send__functions_1ga026e1a620276cb653ac501aa0d12a988} - -指定されたデバイスを介してストップメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -#### `public void `[`midi_send_activesense`](#group__send__functions_1ga9b6e4c6ce4719d2604187b325620db37)`(`[`MidiDevice`](#struct__midi__device)` * device)` {#group__send__functions_1ga9b6e4c6ce4719d2604187b325620db37} - -指定されたデバイスを介してアクティブセンスメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -#### `public void `[`midi_send_reset`](#group__send__functions_1ga3671e39a6d93ca9568fc493001af1b1b)`(`[`MidiDevice`](#struct__midi__device)` * device)` {#group__send__functions_1ga3671e39a6d93ca9568fc493001af1b1b} - -指定されたデバイスを介してリセットメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -#### `public void `[`midi_send_tcquarterframe`](#group__send__functions_1ga5b85639910eec280bb744c934d0fd45a)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t time)` {#group__send__functions_1ga5b85639910eec280bb744c934d0fd45a} - -指定されたデバイスを介してタイムコードクォータフレームメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `time` このクォータフレームの時間。範囲は、0..16383 - -#### `public void `[`midi_send_songposition`](#group__send__functions_1gab1c9eeef3b57a8cd2e6128d18e85eb7f)`(`[`MidiDevice`](#struct__midi__device)` * device,uint16_t pos)` {#group__send__functions_1gab1c9eeef3b57a8cd2e6128d18e85eb7f} - -指定されたデバイスを介してソングポジションメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `pos` ソングポジション - -#### `public void `[`midi_send_songselect`](#group__send__functions_1ga42de7838ba70d949af9a50f9facc3c50)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t song)` {#group__send__functions_1ga42de7838ba70d949af9a50f9facc3c50} - -指定されたデバイスを介してソングセレクトメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `song` 選択するソング - -#### `public void `[`midi_send_tunerequest`](#group__send__functions_1ga8db6c7e04d48e4d2266dd59118ca0656)`(`[`MidiDevice`](#struct__midi__device)` * device)` {#group__send__functions_1ga8db6c7e04d48e4d2266dd59118ca0656} - -指定されたデバイスを介してチューンリクエストメッセージを送信します。 - -#### パラメータ -* `device` 送信に使うデバイス - -#### `public void `[`midi_send_byte`](#group__send__functions_1ga857e85eb90b288385642d4d991e09881)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t b)` {#group__send__functions_1ga857e85eb90b288385642d4d991e09881} - -指定されたデバイスを介してバイトを送信します。 - -これは、指定された MIDI デバイスを介してデータを送信する一般的なメソッドです。これは、この API に実装されていない sysex データまたはメッセージがある場合、それらを送信するのに役立ちます。そのようなものを見つけた場合は、私たちがそれらを追加できるように、作者に連絡してください。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `b` 送信するバイト - -#### `public void `[`midi_send_data`](#group__send__functions_1ga36e2f2e45369d911b76969361679054b)`(`[`MidiDevice`](#struct__midi__device)` * device,uint16_t count,uint8_t byte0,uint8_t byte1,uint8_t byte2)` {#group__send__functions_1ga36e2f2e45369d911b76969361679054b} - -最大3バイトのデータを送信します。 - -これを使って sysex を通過できるように count に4の剰余が適用されます。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `count` 送信するバイト数、4の剰余が適用されます - -* `byte0` 最初のバイト - -* `byte1` 2番目のバイト。cnt % 4 != 2 の場合は無視されます - -* `byte2` 3番目のバイト。cnt % 4 != 3 の場合は無視されます - -#### `public void `[`midi_send_array`](#group__send__functions_1ga245243cb1da18d2cea18d4b18d846ead)`(`[`MidiDevice`](#struct__midi__device)` * device,uint16_t count,uint8_t * array)` {#group__send__functions_1ga245243cb1da18d2cea18d4b18d846ead} - -フォーマットされた MIDI データの配列を送信します。 - -sysex に使うことができます。 - -#### パラメータ -* `device` 送信に使うデバイス - -* `count` 送信するバイト数 - -* `array` バイトの配列 - diff --git a/docs/ja/internals_sysex_tools.md b/docs/ja/internals_sysex_tools.md deleted file mode 100644 index 629b4f2445df..000000000000 --- a/docs/ja/internals_sysex_tools.md +++ /dev/null @@ -1,66 +0,0 @@ -# `sysex_tools` グループ {#group__sysex__tools} - - - -## 概要 - -| メンバー | 説明 ---------------------------------|--------------------------------------------- -| `public uint16_t `[`sysex_encoded_length`](#group__sysex__tools_1ga061e5607030412d6e62e2390d8013f0a)`(uint16_t decoded_length)` | エンコード後のメッセージの長さを計算します。 -| `public uint16_t `[`sysex_decoded_length`](#group__sysex__tools_1ga121fc227d3acc1c0ea08c9a5c26fa3b0)`(uint16_t encoded_length)` | デコード後のメッセージの長さを計算します。 -| `public uint16_t `[`sysex_encode`](#group__sysex__tools_1ga54d77f8d32f92a6f329daefa2b314742)`(uint8_t * encoded,const uint8_t * source,uint16_t length)` | sysex メッセージで安全に送信できるようにデータをエンコードします。 -| `public uint16_t `[`sysex_decode`](#group__sysex__tools_1gaaad1d9ba2d5eca709a0ab4ba40662229)`(uint8_t * decoded,const uint8_t * source,uint16_t length)` | エンコードされたデータをデコードします。 - -## メンバー - -#### `public uint16_t `[`sysex_encoded_length`](#group__sysex__tools_1ga061e5607030412d6e62e2390d8013f0a)`(uint16_t decoded_length)` {#group__sysex__tools_1ga061e5607030412d6e62e2390d8013f0a} - -エンコード後のメッセージの長さを計算します。 - -#### パラメータ -* `decoded_length` エンコードするメッセージの長さのバイト数。 - -#### 返り値 -エンコード後のメッセージの長さのバイト数。 - -#### `public uint16_t `[`sysex_decoded_length`](#group__sysex__tools_1ga121fc227d3acc1c0ea08c9a5c26fa3b0)`(uint16_t encoded_length)` {#group__sysex__tools_1ga121fc227d3acc1c0ea08c9a5c26fa3b0} - -デコード後のメッセージの長さを計算します。 - -#### パラメータ -* `encoded_length` エンコードされたメッセージの長さのバイト数。 - -#### 返り値 -デコードされた後のメッセージの長さのバイト数。 - -#### `public uint16_t `[`sysex_encode`](#group__sysex__tools_1ga54d77f8d32f92a6f329daefa2b314742)`(uint8_t * encoded,const uint8_t * source,uint16_t length)` {#group__sysex__tools_1ga54d77f8d32f92a6f329daefa2b314742} - -sysex メッセージで安全に送信できるようにデータをエンコードします。 - -#### パラメータ -* `encoded` 出力データバッファは、少なくとも sysex_encoded_length(length) バイトの長さが必要です。 - -* `source` エンコードされるデータの入力バッファ。 - -* `length` 入力バッファからエンコードするバイト数。 - -#### 返り値 -エンコードされたバイト数。 - -#### `public uint16_t `[`sysex_decode`](#group__sysex__tools_1gaaad1d9ba2d5eca709a0ab4ba40662229)`(uint8_t * decoded,const uint8_t * source,uint16_t length)` {#group__sysex__tools_1gaaad1d9ba2d5eca709a0ab4ba40662229} - -エンコードされたデータをデコードします。 - -#### パラメータ -* `decoded` 出力データバッファは、少なくとも sysex_decoded_length(length) バイトの長さが必要です。 - -* `source` デコードされるデータの入力バッファ。 - -* `length` 入力バッファからデコードするバイト数。 - -#### 返り値 -デコードされたバイト数。 - diff --git a/docs/ja/proton_c_conversion.md b/docs/ja/proton_c_conversion.md index 983aed4ee5d9..8f0c857cbacb 100644 --- a/docs/ja/proton_c_conversion.md +++ b/docs/ja/proton_c_conversion.md @@ -27,7 +27,7 @@ QMK で現在サポートされているキーボードが Pro Micro(または #endif ``` -`PORTB/DDRB` などが定義されていないというエラーが発生した場合は、ARM と AVR の両方で機能する [GPIO 制御](ja/internals_gpio_control.md) を使用するようにキーボードのコードを変換する必要があります。これは AVR ビルドにまったく影響を与えません。 +`PORTB/DDRB` などが定義されていないというエラーが発生した場合は、ARM と AVR の両方で機能する [GPIO 制御](ja/gpio_control.md) を使用するようにキーボードのコードを変換する必要があります。これは AVR ビルドにまったく影響を与えません。 Proton C には1つのオンボード LED(C13)しかなく、デフォルトでは TXLED(D5) がそれにマップされています。代わりに RXLED(B0) をそれにマッピングしたい場合は、`config.h` に次のように追加してください。 diff --git a/docs/proton_c_conversion.md b/docs/proton_c_conversion.md index 47511e1b1e0d..1e1b1e806d3e 100644 --- a/docs/proton_c_conversion.md +++ b/docs/proton_c_conversion.md @@ -20,7 +20,7 @@ This exposes the `CONVERT_TO_PROTON_C` flag that you can use in your code with ` #endif ``` -If you get errors about `PORTB/DDRB`, etc not being defined, so you'll need to convert the keyboard's code to use the [GPIO Controls](internals_gpio_control.md) that will work for both ARM and AVR. This shouldn't affect the AVR builds at all. +If you get errors about `PORTB/DDRB`, etc not being defined, so you'll need to convert the keyboard's code to use the [GPIO Controls](gpio_control.md) that will work for both ARM and AVR. This shouldn't affect the AVR builds at all. The Proton C only has one on-board LED (C13), and by default, the TXLED (D5) is mapped to it. If you want the RXLED (B0) mapped to it instead, add this like to your `config.h`: diff --git a/docs/zh-cn/_summary.md b/docs/zh-cn/_summary.md index 8a710a9ec14a..dbad1021fa3a 100644 --- a/docs/zh-cn/_summary.md +++ b/docs/zh-cn/_summary.md @@ -146,7 +146,7 @@ * [EEPROM驱动](zh-cn/eeprom_driver.md) * [串口驱动](zh-cn/serial_driver.md) * [UART驱动](zh-cn/uart_driver.md) - * [操控GPIO](zh-cn/internals_gpio_control.md) + * [操控GPIO](zh-cn/gpio_control.md) * [键盘开发指引](zh-cn/hardware_keyboard_guidelines.md) * Python开发 @@ -182,12 +182,12 @@ * [了解QMK](zh-cn/understanding_qmk.md) * QMK内部细节 (编辑中) - * [定义](zh-cn/internals_defines.md) - * [输入回调的注册](zh-cn/internals_input_callback_reg.md) - * [Midi设备](zh-cn/internals_midi_device.md) - * [Midi设备驱动流程](zh-cn/internals_midi_device_setup_process.md) - * [Midi辅助功能](zh-cn/internals_midi_util.md) - * [发送函数](zh-cn/internals_send_functions.md) - * [Sysex工具](zh-cn/internals_sysex_tools.md) + * [定义](zh-cn/internals/defines.md) + * [输入回调的注册](zh-cn/internals/input_callback_reg.md) + * [Midi设备](zh-cn/internals/midi_device.md) + * [Midi设备驱动流程](zh-cn/internals/midi_device_setup_process.md) + * [Midi辅助功能](zh-cn/internals/midi_util.md) + * [发送函数](zh-cn/internals/send_functions.md) + * [Sysex工具](zh-cn/internals/sysex_tools.md) diff --git a/lib/python/qmk/cli/generate/docs.py b/lib/python/qmk/cli/generate/docs.py index 74112d834d1d..eb3099e138b0 100644 --- a/lib/python/qmk/cli/generate/docs.py +++ b/lib/python/qmk/cli/generate/docs.py @@ -10,6 +10,7 @@ BUILD_PATH = Path('.build/') BUILD_DOCS_PATH = BUILD_PATH / 'docs' DOXYGEN_PATH = BUILD_PATH / 'doxygen' +MOXYGEN_PATH = BUILD_DOCS_PATH / 'internals' @cli.subcommand('Build QMK documentation.', hidden=False if cli.config.user.developer else True) @@ -34,10 +35,10 @@ def generate_docs(cli): 'stdin': DEVNULL, } - cli.log.info('Generating internal docs...') + cli.log.info('Generating docs...') # Generate internal docs cli.run(['doxygen', 'Doxyfile'], **args) - cli.run(['moxygen', '-q', '-g', '-o', BUILD_DOCS_PATH / 'internals_%s.md', DOXYGEN_PATH / 'xml'], **args) + cli.run(['moxygen', '-q', '-g', '-o', MOXYGEN_PATH / '%s.md', DOXYGEN_PATH / 'xml'], **args) - cli.log.info('Successfully generated internal docs to %s.', BUILD_DOCS_PATH) + cli.log.info('Successfully generated docs to %s.', BUILD_DOCS_PATH) diff --git a/util/generate_internal_docs.sh b/util/generate_internal_docs.sh deleted file mode 100755 index b107a37ad6ba..000000000000 --- a/util/generate_internal_docs.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash - -set -x - -if ! doxygen -v 2>&1 > /dev/null; then - echo "doxygen not found! Please install it!" - exit 1 -elif ! moxygen -V 2>&1 > /dev/null; then - echo -n "moxygen not found! Would you like to install it? [y/n] " - read ANSWER - case $ANSWER in - y|Y|yes|YES|Yes) - npm install -g moxygen - ;; - *) - exit 1 - ;; - esac -fi - -if [ ! -e Doxyfile ]; then - echo "Error: You must run this from the top-level qmk_firmware directory!" - exit 1 -fi - -# Generate the doxygen XML files -rm -rf doxygen -doxygen Doxyfile - -# Generate the moxygen Markdown files -moxygen -a -g -o docs/internals_%s.md doxygen/xml From d953aa730e38d94b9218948ddaa0deea667f85f3 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Mon, 7 Mar 2022 04:23:15 -0700 Subject: [PATCH 0297/1832] new lines at eof's (#16558) --- keyboards/qwertykeys/qk65/hotswap/hotswap.h | 3 ++- keyboards/qwertykeys/qk65/solder/solder.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/keyboards/qwertykeys/qk65/hotswap/hotswap.h b/keyboards/qwertykeys/qk65/hotswap/hotswap.h index 1f61c5ed6b24..334ce82277a6 100644 --- a/keyboards/qwertykeys/qk65/hotswap/hotswap.h +++ b/keyboards/qwertykeys/qk65/hotswap/hotswap.h @@ -30,4 +30,5 @@ along with this program. If not, see . { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, KC_NO, K213, K214 }, \ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ { K400, K401, K402, KC_NO, K404, KC_NO, KC_NO, K407, K408, KC_NO, KC_NO, KC_NO, K412, K413, K414 } \ -} \ No newline at end of file +} + diff --git a/keyboards/qwertykeys/qk65/solder/solder.h b/keyboards/qwertykeys/qk65/solder/solder.h index 5409662229cd..b796ae1e912f 100644 --- a/keyboards/qwertykeys/qk65/solder/solder.h +++ b/keyboards/qwertykeys/qk65/solder/solder.h @@ -46,4 +46,5 @@ along with this program. If not, see . { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ { K400, K401, K402, KC_NO, K404, KC_NO, KC_NO, K407, K408, KC_NO, KC_NO, KC_NO, K412, K413, K414 } \ -} \ No newline at end of file +} + From 05b71936511402d91e345e615d074cf310cb4ece Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Mon, 7 Mar 2022 09:43:17 -0700 Subject: [PATCH 0298/1832] [Keyboard] remove unecessary layers (#16559) --- keyboards/handwired/wakizashi40/config.h | 1 - .../wakizashi40/keymaps/via/keymap.c | 96 +++++-------------- 2 files changed, 23 insertions(+), 74 deletions(-) diff --git a/keyboards/handwired/wakizashi40/config.h b/keyboards/handwired/wakizashi40/config.h index 78f85f219745..e9976616ec7d 100644 --- a/keyboards/handwired/wakizashi40/config.h +++ b/keyboards/handwired/wakizashi40/config.h @@ -17,4 +17,3 @@ #pragma once #include "config_common.h" -#define DYNAMIC_KEYMAP_LAYER_COUNT 12 diff --git a/keyboards/handwired/wakizashi40/keymaps/via/keymap.c b/keyboards/handwired/wakizashi40/keymaps/via/keymap.c index d456b8b40a3b..fb9d37ac2042 100644 --- a/keyboards/handwired/wakizashi40/keymaps/via/keymap.c +++ b/keyboards/handwired/wakizashi40/keymaps/via/keymap.c @@ -16,77 +16,27 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_all( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), LT(2, KC_SPC), KC_LALT, KC_MENU, KC_LCTL), - - [1] = LAYOUT_all( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - MO(11), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_TRNS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), - - [2] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, - MO(11), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_QUOT, - 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, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), - - [3] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [4] = LAYOUT_all( - 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, 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, 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), - - [5] = LAYOUT_all( - 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, 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, 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), - - [6] = LAYOUT_all( - 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, 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, 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), - - [7] = LAYOUT_all( - 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, 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, 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), - - [8] = LAYOUT_all( - 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, 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, 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), - - [9] = LAYOUT_all( - 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, 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, 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), - - [10] = LAYOUT_all( - 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, 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, 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), - - [11] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, 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, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) - + [0] = LAYOUT_all( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), LT(2, KC_SPC), KC_LALT, KC_MENU, KC_LCTL), + + [1] = LAYOUT_all( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + MO(3), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_TRNS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), + + [2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, + MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_QUOT, + 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, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), + + [3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; From 2bface8f893f3f13ddb9a3e10c0f362819d09c5c Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Mon, 7 Mar 2022 17:59:06 +0100 Subject: [PATCH 0299/1832] Add flash target for UF2 bootloaders (#16525) --- docs/flashing.md | 11 +++++++++++ platforms/chibios/flash.mk | 14 ++++++++++++++ util/uf2conv.py | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/flashing.md b/docs/flashing.md index 83f4bf82ae1c..ae31f9c621c3 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -347,3 +347,14 @@ Flashing sequence: 2. Wait for the OS to detect the device 3. Copy the .uf2 file to the new USB disk 4. Wait for the keyboard to become available + +or + +CLI Flashing sequence: + +1. Enter the bootloader using any of the following methods: + * Tap the `RESET` keycode + * Double-tap the `nRST` button on the PCB. +2. Wait for the OS to detect the device +3. Flash via QMK CLI eg. `qmk flash --keyboard handwired/onekey/blackpill_f411_tinyuf2 --keymap default` +4. Wait for the keyboard to become available diff --git a/platforms/chibios/flash.mk b/platforms/chibios/flash.mk index 6ee53172d265..a91ef2cf35fd 100644 --- a/platforms/chibios/flash.mk +++ b/platforms/chibios/flash.mk @@ -40,6 +40,18 @@ endef dfu-util: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter $(call EXEC_DFU_UTIL) +define EXEC_UF2_UTIL_DEPLOY + if ! $(UF2CONV) --deploy $(BUILD_DIR)/$(TARGET).uf2 2>/dev/null; then \ + printf "$(MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY)" ;\ + sleep $(BOOTLOADER_RETRY_TIME) ;\ + while ! $(UF2CONV) --deploy $(BUILD_DIR)/$(TARGET).uf2 2>/dev/null; do \ + printf "." ;\ + sleep $(BOOTLOADER_RETRY_TIME) ;\ + done ;\ + printf "\n" ;\ + fi +endef + # TODO: Remove once ARM has a way to configure EECONFIG_HANDEDNESS # within the emulated eeprom via dfu-util or another tool ifneq (,$(filter $(MAKECMDGOALS),dfu-util-split-left)) @@ -90,6 +102,8 @@ ifneq ($(strip $(PROGRAM_CMD)),) $(UNSYNC_OUTPUT_CMD) && $(PROGRAM_CMD) else ifeq ($(strip $(BOOTLOADER)),kiibohd) $(UNSYNC_OUTPUT_CMD) && $(call EXEC_DFU_UTIL) +else ifeq ($(strip $(BOOTLOADER)),tinyuf2) + $(UNSYNC_OUTPUT_CMD) && $(call EXEC_UF2_UTIL_DEPLOY) else ifeq ($(strip $(MCU_FAMILY)),KINETIS) $(UNSYNC_OUTPUT_CMD) && $(call EXEC_TEENSY) else ifeq ($(strip $(MCU_FAMILY)),MIMXRT1062) diff --git a/util/uf2conv.py b/util/uf2conv.py index efc7263f8348..fb82fd03ca6b 100755 --- a/util/uf2conv.py +++ b/util/uf2conv.py @@ -267,7 +267,7 @@ def load_families(): def main(): global appstartaddr, familyid def error(msg): - print(msg) + print(msg, file=sys.stderr) sys.exit(1) parser = argparse.ArgumentParser(description='Convert to UF2 or flash directly.') parser.add_argument('input', metavar='INPUT', type=str, nargs='?', From 2ff646c642152df064da8dcf62ef328585de0197 Mon Sep 17 00:00:00 2001 From: Matthew Bautista Date: Mon, 7 Mar 2022 12:05:41 -0500 Subject: [PATCH 0300/1832] [Keyboard] LFK78 VIA support and Update (#16502) --- keyboards/lfkeyboards/lfk78/config.h | 4 +- .../lfkeyboards/lfk78/keymaps/via/keymap.c | 72 +++++++++++++++++++ .../lfkeyboards/lfk78/keymaps/via/readme.md | 1 + .../lfkeyboards/lfk78/keymaps/via/rules.mk | 2 + keyboards/lfkeyboards/lfk78/lfk78.c | 4 +- keyboards/lfkeyboards/lfk78/lfk78.h | 2 +- 6 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 keyboards/lfkeyboards/lfk78/keymaps/via/keymap.c create mode 100644 keyboards/lfkeyboards/lfk78/keymaps/via/readme.md create mode 100644 keyboards/lfkeyboards/lfk78/keymaps/via/rules.mk diff --git a/keyboards/lfkeyboards/lfk78/config.h b/keyboards/lfkeyboards/lfk78/config.h index 05ead71c8692..fbb02e71ee08 100644 --- a/keyboards/lfkeyboards/lfk78/config.h +++ b/keyboards/lfkeyboards/lfk78/config.h @@ -20,8 +20,8 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 +#define VENDOR_ID 0x4C46 // LF +#define PRODUCT_ID 0x3738 // 78 #define DEVICE_VER 0x0001 #define MANUFACTURER LFKeyboards #define PRODUCT LFK78 diff --git a/keyboards/lfkeyboards/lfk78/keymaps/via/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/via/keymap.c new file mode 100644 index 000000000000..48e183984ffe --- /dev/null +++ b/keyboards/lfkeyboards/lfk78/keymaps/via/keymap.c @@ -0,0 +1,72 @@ +/* Copyright 2021 Matt Bautista (@nayoshi) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap VANILLA: (Base Layer) Default Layer + * ,---------. ,------------------------------------------------------------. ,---------. + * | F1 | F2 | |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| | Ins|PgUp| + * |---------| |------------------------------------------------------------| |---------| + * | F3 | F4 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del|PgDn| + * |---------| |------------------------------------------------------------| `---------' + * | F5 | F6 | |CAPS | A| S| D| F| G| H| J| K| L| ;| '| Return | + * |---------| |------------------------------------------------------------| ,----. + * | F7 | F8 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |---------| |-------------------------------------------------------------------------. + * | F9 | F10| |Ctrl|Win |Alt | Space |Alt |Ctrl|Func | |Lft| Dn |Rig | + * `---------' `------------------------------------------------------' `-------------' + */ + + [0] = LAYOUT( + KC_F1, KC_F2, 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_INS, KC_PGUP, + KC_F3, KC_F4, 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_PGDN, + KC_F5, KC_F6, 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_F7, KC_F8, 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_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, 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, KC_DEL, KC_TRNS, KC_HOME, + KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, 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_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, TG(2), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT( + 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, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, + KC_TRNS, KC_TRNS, MU_MOD, 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, RGB_MOD, RGB_VAD, + KC_TRNS, KC_TRNS, AU_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MU_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI + ), + [3] = LAYOUT( + 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, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, + KC_TRNS, KC_TRNS, MU_MOD, 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, RGB_MOD, RGB_VAD, + KC_TRNS, KC_TRNS, AU_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MU_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI + ) +}; + +void matrix_init_user(void) { + // This keymap only has a single base layer, so reset the default if needed + if (eeconfig_read_default_layer() > 1) { + eeconfig_update_default_layer(1); + default_layer_set(1); + } +} diff --git a/keyboards/lfkeyboards/lfk78/keymaps/via/readme.md b/keyboards/lfkeyboards/lfk78/keymaps/via/readme.md new file mode 100644 index 000000000000..5ec8e4e34d86 --- /dev/null +++ b/keyboards/lfkeyboards/lfk78/keymaps/via/readme.md @@ -0,0 +1 @@ +# The via keymap for LFK78 diff --git a/keyboards/lfkeyboards/lfk78/keymaps/via/rules.mk b/keyboards/lfkeyboards/lfk78/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/lfkeyboards/lfk78/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/lfkeyboards/lfk78/lfk78.c b/keyboards/lfkeyboards/lfk78/lfk78.c index 2f8f1b34efeb..96fe96f03f75 100644 --- a/keyboards/lfkeyboards/lfk78/lfk78.c +++ b/keyboards/lfkeyboards/lfk78/lfk78.c @@ -110,7 +110,7 @@ void matrix_scan_kb(void) { matrix_scan_user(); } -void click(uint16_t freq, uint16_t duration) { +void clicking_notes(uint16_t freq, uint16_t duration) { #ifdef AUDIO_ENABLE if (freq >= 100 && freq <= 20000 && duration < 100) { play_note(freq, 10); @@ -124,7 +124,7 @@ void click(uint16_t freq, uint16_t duration) { bool process_record_kb(uint16_t keycode, keyrecord_t* record) { if (click_toggle && record->event.pressed) { - click(click_hz, click_time); + clicking_notes(click_hz, click_time); } if (keycode == RESET) { diff --git a/keyboards/lfkeyboards/lfk78/lfk78.h b/keyboards/lfkeyboards/lfk78/lfk78.h index ffa4894bbc59..d5e1c7b3c7c3 100644 --- a/keyboards/lfkeyboards/lfk78/lfk78.h +++ b/keyboards/lfkeyboards/lfk78/lfk78.h @@ -30,4 +30,4 @@ extern const Layer_Info layer_info[]; #define CLICK_ENABLED 0 void reset_keyboard_kb(void); -void click(uint16_t freq, uint16_t duration); +void clicking_notes(uint16_t freq, uint16_t duration); From 07ca35decf1a9a998b3e6bb646f7d73901e1c444 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 8 Mar 2022 10:02:28 +1100 Subject: [PATCH 0301/1832] Convert Wasdat Code custom matrix to SN74x138 driver (#16257) --- keyboards/evyd13/wasdat/matrix.c | 43 ++-- keyboards/evyd13/wasdat_code/config.h | 11 +- keyboards/evyd13/wasdat_code/matrix.c | 332 ++++---------------------- keyboards/evyd13/wasdat_code/rules.mk | 3 +- 4 files changed, 78 insertions(+), 311 deletions(-) diff --git a/keyboards/evyd13/wasdat/matrix.c b/keyboards/evyd13/wasdat/matrix.c index c97dd8469444..60a1ea235a8b 100644 --- a/keyboards/evyd13/wasdat/matrix.c +++ b/keyboards/evyd13/wasdat/matrix.c @@ -24,27 +24,28 @@ along with this program. If not, see . static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -/* col 0: C7 - * col 1: B6 - * col 2: C6 - * col 3: B4 - * col 4: B5 - * col 5: D7 +/* Columns 6-12 use a 74HC138 3-to-8 demultiplexer. * - * These columns use a 74HC138 3 to 8 bit demultiplexer. - * A2 A1 A0 - * col / pin: PD0 PD1 PD2 - * 6: 1 1 1 - * 7: 1 1 0 - * 8: 1 0 1 - * 9: 1 0 0 - * 10: 0 1 1 - * 11: 0 1 0 - * 12: 0 0 1 + * 0: C7 + * 1: B6 + * 2: C6 + * 3: B4 + * 4: B5 + * 5: D7 * - * col 13: D3 - * col 14: B7 - * col 15: B3 + * A2 A1 A0 + * D0 D1 D2 + * 6: 1 1 1 + * 7: 1 1 0 + * 8: 1 0 1 + * 9: 1 0 0 + * 10: 0 1 1 + * 11: 0 1 0 + * 12: 0 0 1 + * + * 13: D3 + * 14: B7 + * 15: B3 */ static void select_col(uint8_t col) { if (col_pins[col] != NO_PIN) { @@ -117,10 +118,10 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) } void matrix_init_custom(void) { - // initialize key pins - init_pins(); // initialize demultiplexer sn74x138_init(); + // initialize key pins + init_pins(); } bool matrix_scan_custom(matrix_row_t current_matrix[]) { diff --git a/keyboards/evyd13/wasdat_code/config.h b/keyboards/evyd13/wasdat_code/config.h index 6c39403e527f..0a7b73201017 100644 --- a/keyboards/evyd13/wasdat_code/config.h +++ b/keyboards/evyd13/wasdat_code/config.h @@ -41,22 +41,17 @@ along with this program. If not, see . * */ #define MATRIX_ROW_PINS { E6, C7, C6, B6, B5, B4, D7, D6 } -#define MATRIX_COL_PINS { } +#define MATRIX_COL_PINS { F7, F5, F6, F1, F4, F0, NO_PIN, D5, D3, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } // Columns 6 and 9-15 controlled by demux #define UNUSED_PINS -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION ROW2COL +#define SN74X138_ADDRESS_PINS { D2, D1, D0 } +#define SN74X138_E3_PIN D4 // For QMK DFU #define QMK_ESC_OUTPUT E6 #define QMK_ESC_INPUT F0 #define QMK_LED B1 -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - #define LED_NUM_LOCK_PIN B3 #define LED_CAPS_LOCK_PIN B1 #define LED_SCROLL_LOCK_PIN B2 diff --git a/keyboards/evyd13/wasdat_code/matrix.c b/keyboards/evyd13/wasdat_code/matrix.c index 7844db7ab74e..f30ea3355a1b 100644 --- a/keyboards/evyd13/wasdat_code/matrix.c +++ b/keyboards/evyd13/wasdat_code/matrix.c @@ -14,280 +14,70 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ + #include #include -#include "wait.h" -#include "util.h" #include "matrix.h" -#include "debounce.h" #include "quantum.h" +#include "sn74x138.h" -#ifdef DIRECT_PINS -static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; -#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -//static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -#endif - -// matrix code - -#ifdef DIRECT_PINS - -static void init_pins(void) { - for (int row = 0; row < MATRIX_ROWS; row++) { - for (int col = 0; col < MATRIX_COLS; col++) { - pin_t pin = direct_pins[row][col]; - if (pin != NO_PIN) { - setPinInputHigh(pin); - } - } - } -} - -static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { - matrix_row_t last_row_value = current_matrix[current_row]; - current_matrix[current_row] = 0; - - for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { - pin_t pin = direct_pins[current_row][col_index]; - if (pin != NO_PIN) { - current_matrix[current_row] |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index); - } - } - - return (last_row_value != current_matrix[current_row]); -} - -#elif (DIODE_DIRECTION == COL2ROW) - -static void select_row(uint8_t row) { - setPinOutput(row_pins[row]); - writePinLow(row_pins[row]); -} - -static void unselect_row(uint8_t row) { setPinInputHigh(row_pins[row]); } - -static void unselect_rows(void) { - for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh(row_pins[x]); - } -} - -static void init_pins(void) { - unselect_rows(); - for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh(col_pins[x]); - } -} - -static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { - // Store last value of row prior to reading - matrix_row_t last_row_value = current_matrix[current_row]; - - // Clear data in matrix row - current_matrix[current_row] = 0; - - // Select row and wait for row selecton to stabilize - select_row(current_row); - wait_us(30); - - // For each col... - for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { - - // Select the col pin to read (active low) - uint8_t pin_state = readPin(col_pins[col_index]); - - // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); - } - - // Unselect row - unselect_row(current_row); - - return (last_row_value != current_matrix[current_row]); -} - -#elif (DIODE_DIRECTION == ROW2COL) - -/* Cols 0 - 15 - * col 0: F7 - * col 1: F5 - * col 2: F6 - * col 3: F1 - * col 4: F4 - * col 5: F0 - * These columns use a 74HC237D 3 to 8 bit demultiplexer. D4 is the enable pin, must be set high to use it. - * A0 A1 A2 - * col / pin: PD2 PD1 PD0 - * 6: 1 1 1 - * col 7: D3 - * col 8: B7 - * 9: 0 1 1 - * 10: 1 0 1 - * 11: 0 0 1 - * 12: 1 1 0 - * 13: 0 1 0 - * 14: 1 0 0 - * 15: 0 0 0 +static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; + +/* Columns 6 and 9-15 use a 74HC138 3-to-8 demultiplexer. + * D4 is the enable pin, must be set high to use it. + * + * 0: F7 + * 1: F5 + * 2: F6 + * 3: F1 + * 4: F4 + * 5: F0 + * + * A2 A1 A0 + * D0 D1 D2 + * 6: 1 1 1 + * + * 7: D5 + * 8: D3 + * + * 9: 1 1 0 + * 10: 1 0 1 + * 11: 1 0 0 + * 12: 0 1 1 + * 13: 0 1 0 + * 14: 0 0 1 + * 15: 0 0 0 */ static void select_col(uint8_t col) { - switch (col) { - case 0: - writePinLow(F7); - break; - case 1: - writePinLow(F5); - break; - case 2: - writePinLow(F6); - break; - case 3: - writePinLow(F1); - break; - case 4: - writePinLow(F4); - break; - case 5: - writePinLow(F0); - break; - case 6: - writePinHigh(D4); - writePinHigh(D2); - writePinHigh(D1); - writePinHigh(D0); - break; - case 7: - writePinLow(D5); - break; - case 8: - writePinLow(D3); - break; - case 9: - writePinHigh(D4); - writePinHigh(D1); - writePinHigh(D0); - break; - case 10: - writePinHigh(D4); - writePinHigh(D2); - writePinHigh(D0); - break; - case 11: - writePinHigh(D4); - writePinHigh(D0); - break; - case 12: - writePinHigh(D4); - writePinHigh(D2); - writePinHigh(D1); - break; - case 13: - writePinHigh(D4); - writePinHigh(D1); - break; - case 14: - writePinHigh(D4); - writePinHigh(D2); - break; - case 15: - writePinHigh(D4); - break; + if (col_pins[col] != NO_PIN) { + writePinLow(col_pins[col]); + } else { + sn74x138_set_addr((col == 6) ? 7 : 15 - col); + sn74x138_set_enabled(true); } } static void unselect_col(uint8_t col) { - switch (col) { - case 0: - writePinHigh(F7); - break; - case 1: - writePinHigh(F5); - break; - case 2: - writePinHigh(F6); - break; - case 3: - writePinHigh(F1); - break; - case 4: - writePinHigh(F4); - break; - case 5: - writePinHigh(F0); - break; - case 6: - writePinLow(D4); - writePinLow(D2); - writePinLow(D1); - writePinLow(D0); - break; - case 7: - writePinHigh(D5); - break; - case 8: - writePinHigh(D3); - break; - case 9: - writePinLow(D4); - writePinLow(D2); - writePinLow(D1); - writePinLow(D0); - break; - case 10: - writePinLow(D4); - writePinLow(D2); - writePinLow(D1); - writePinLow(D0); - break; - case 11: - writePinLow(D4); - writePinLow(D2); - writePinLow(D1); - writePinLow(D0); - break; - case 12: - writePinLow(D4); - writePinLow(D2); - writePinLow(D1); - writePinLow(D0); - break; - case 13: - writePinLow(D4); - writePinLow(D2); - writePinLow(D1); - writePinLow(D0); - break; - case 14: - writePinLow(D4); - writePinLow(D2); - writePinLow(D1); - writePinLow(D0); - break; - case 15: - writePinLow(D4); - writePinLow(D2); - writePinLow(D1); - writePinLow(D0); - break; + if (col_pins[col] != NO_PIN) { + setPinOutput(col_pins[col]); + writePinHigh(col_pins[col]); + } else { + sn74x138_set_enabled(false); } } static void unselect_cols(void) { - //Native - writePinHigh(F7); - writePinHigh(F5); - writePinHigh(F6); - writePinHigh(F1); - writePinHigh(F4); - writePinHigh(F0); - writePinHigh(D3); - writePinHigh(D5); + // Native + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + if (col_pins[x] != NO_PIN) { + setPinOutput(col_pins[x]); + writePinHigh(col_pins[x]); + } + } - //Demultiplexer - writePinLow(D4); - writePinLow(D2); - writePinLow(D1); - writePinLow(D0); + // Demultiplexer + sn74x138_set_enabled(false); } static void init_pins(void) { @@ -295,27 +85,14 @@ static void init_pins(void) { for (uint8_t x = 0; x < MATRIX_ROWS; x++) { setPinInputHigh(row_pins[x]); } - setPinOutput(D0); - setPinOutput(D1); - setPinOutput(D2); - setPinOutput(D3); - setPinOutput(F7); - setPinOutput(F5); - setPinOutput(F6); - setPinOutput(F1); - setPinOutput(F4); - setPinOutput(F0); - setPinOutput(D3); - setPinOutput(D5); - setPinOutput(D4); } static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { bool matrix_changed = false; - // Select col and wait for col selecton to stabilize + // Select col and wait for col selection to stabilize select_col(current_col); - wait_us(30); + matrix_io_delay(); // For each row... for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) { @@ -343,9 +120,9 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) return matrix_changed; } -#endif - void matrix_init_custom(void) { + // initialize demultiplexer + sn74x138_init(); // initialize key pins init_pins(); } @@ -353,17 +130,10 @@ void matrix_init_custom(void) { bool matrix_scan_custom(matrix_row_t current_matrix[]) { bool changed = false; -#if defined(DIRECT_PINS) || (DIODE_DIRECTION == COL2ROW) - // Set row, read cols - for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { - changed |= read_cols_on_row(current_matrix, current_row); - } -#elif (DIODE_DIRECTION == ROW2COL) // Set col, read rows for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { changed |= read_rows_on_col(current_matrix, current_col); } -#endif return changed; } diff --git a/keyboards/evyd13/wasdat_code/rules.mk b/keyboards/evyd13/wasdat_code/rules.mk index 6fd1fce10e3b..b37dfa459c6d 100644 --- a/keyboards/evyd13/wasdat_code/rules.mk +++ b/keyboards/evyd13/wasdat_code/rules.mk @@ -18,6 +18,7 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = lite -SRC += matrix.c +VPATH += drivers/gpio +SRC += matrix.c sn74x138.c LAYOUTS = fullsize_ansi fullsize_iso tkl_ansi tkl_iso From 893d86cb896d82eb8c9d16251062dd6afa802533 Mon Sep 17 00:00:00 2001 From: bwisn <56162793+bwisn@users.noreply.github.com> Date: Tue, 8 Mar 2022 02:12:53 +0100 Subject: [PATCH 0302/1832] Add Anne Pro 2 keyboard (#14385) * [keyboard] Initial support for Anne Pro 2 * [keyboard][AnnePro2] Keymap:update to a reasonable keymap with caps+hjkl => arrow * :( * changed to use HSI * support for annepro2 c18 * keyboard/annepro2: Very stupid matrix scan bug fix. * typo * swap COL14/13 * keyboard/annepro2: startup secondary LED MCU * keyboard/annepro2: typo fix * Add IO Values * Disable Combo feature * Update default keymap to Anne Pro 2 Official Keymap * keyboard/annepro2: keymap layer name changes * keyboard/annepro2 BLE Support * Fix keymap comment FN1 ESC was listed as ~ instead of ` * keyboard/annepro2: Bluetooth path * Keyboard annepro2 bidir led comms (#5) * Added bidirectional shine comms and moved led functionality to new file * Added bidirectional shine comms and moved led functionality to new file * Restore original functionality to existing keymaps using new shine commands * Fix dangling bracketless if statements * PR cleanup * add custom keycodes to switch led profiles * Optimize code * switch to prev profile before turning leds off * Add persistent led support with eeprom (#9) * adding HT32 support to chibios SPI master driver * add support for W25X20CL SPI eeprom * add makefile flag for eeprom feature * add spi support to keyboard startup and config * example keymap using eeprom profile loading * Cleanup to fix C15 eeprom/spi build errors (#11) * Cleanup to fix C15 eeprom/spi build errors * add newline at eof * LED Masking support for Shine Introduce companion update to ledSetMask and ledClearMask. In keymap `codetector` there is example of how to map caps_lock to the caps_lock key light on the keyboard. * [AnnePro2]: update bluetooth connection * Merge the custom keys enums on annepro2.h (#13) * Keyboard annepro2 ble caps lock (#12) * Move matrix_scan_kb out of board.c to annepro2.c * add buffer clear after init and caplock polling * Add support for LED intensity (#15) * Improve logic for switching off and on of LEDs (#16) * Implement animation speed (#17) * Include logic to send solid colors as foreground to shine and add sample profiles (#14) Include the logic to send a solid color from qmk to shine. That solid color will act as a foreground (will override the current profile) until reset (witch will reactivate the current profile). This functionality depends on changes made for shine as well. Include 3 new profiles: default-full-caps -> same as default, but with the logic of using the red foreground color on caps lock. default-layer-indicators -> same as default, but with the logic of red foreground on caps lock, green foreground on FN1 and blue foreground on FN2. thomazmoura -> my own profile as a sample of an over-engineered advanced case scenario. * Implement reactive lighting effects (#18) * Added multiarrow keymap (#19) * Add LED documentation (#26) * add LED documentation * add LED documentation to other default profiles * Implement QMK's IAP default keybind (#29) * Add keymap for going into IAP * switch to default QMK keybind for IAP mode * implement bluetooth IAP mode * Make default config more like Obins stock default (#30) * Add new message type for resetting foreground color (#31) * annepro2(bluetooth): add media keys support (#41) * Asynchronous, robust serial protocol. (#39) * bla personal ap2-c18 keymap. * Bidirectional, asynchronous message-based communication with Shine. - Requires a matching Shine version. - Protocol is resiliant to loosing bytes during communication, chips won't lock waiting for bytes that aren't coming. - Chips resynchronize in event of loosing a byte using a AA0D header. Regressions: - Key masking/locking doesn't work right now. (did it work before?) - Not all user keymaps build against it. * Clang-format + code to ease reducing speed of LED UART. - Did clang-format --style=file -i on multiple files according to coding_conventions_c.md - Added separate serial speed for IAP boot and Led communication, it's possible that reducing this to 9600 helped someone with faulty HW. With this code they can do it with simple replacing of a value. * Main chip can set/clear foreground using a mask mechanism. - Some preparations for selective colouring. * Selective mask works - tested on capslock. - Migrated personal keymaps to new status API. * Clear the foreground colors to show profile when it's modified. - Show example of achieving selective caps-lock painting + foreground painting for layers. - annepro2LedMaskSetRow is implemented, but still requires testing. * Implement the QMK side of led blinking to indicate the command was received. - This stupidly blinks the key when user presses one of the bluetooth commands to let the user know that the command was received and forwarded to the BT chip. - TODO: Row/col key positions are hardcoded and not taken from the keymap. * Reduce memory footprint. Applying code review suggestions. Moved msgId to globals - preparing for transmission without copying payload when no retries are necessary. Added empty readme.md files - required by QMK lint. Co-authored-by: Tomasz bla Fortuna * Let the LED chip settle a bit before waking it from the bootloader. (#42) At least for one person that helps to reliably get the LEDs working without disconnecting/reconnecting the power to the board multiple times. Co-authored-by: Tomasz bla Fortuna * annepro2: rename KEYMAP to LAYOUT, as required by new version of QMK * annepro2: update ChibiOS configuration files * annepro2: fix undefined reference to dprint and timer_read32 * annepro2: update ChibiOS MCU name * update spi driver, fix bad merging with master * annepro2: add readme and info.json * annepro2: make code compatible with QMK coding conventions * tmk_core: temporary fix to allow HT32 based keyboards to work without patched ChibiOS-contrib (AnnePro2) * AnnePro2: removed core changes * AnnePro2: Leave only default keymaps Missing keymaps will be restored in another PR * annepro2: add licence information * annepro2: satisfy qmk lint * annepro2: fix drashna's suggestions * annepro2: fix matrix * annepro2: apply code review suggestions * annepro2: apply remaining code review suggestions * annepro2: update info.json * annepro2: remove include * annepro2: rename keymap to layout * annepro2: fix typing * annepro2: apply suggestions from tzarc's code review Co-authored-by: Nick Brassel * annepro2: more fixes * annepro2: apply suggestions from code review Co-authored-by: Joel Challis * annepro2: rename file * more fixes * Apply suggestions from @tzarc code review Co-authored-by: Nick Brassel * Update keyboards/annepro2/protocol.h Co-authored-by: Nick Brassel * Update keyboards/annepro2/chconf.h Co-authored-by: Nick Brassel * apply CR suggestions * upgrade readme * IAP * update IAP comments, defines * led fix * init fix * annepro2: GPIO cleanup * annepro2: ioline * change waiting time * Start develop for 2022q2 * [Core] Squeeze AVR some more with `-mrelax` and `-mcall-prologues` (#16269) * Rework generate-api CLI command to use .build directory (#16441) * Remove `send_unicode_hex_string()` (#16518) * Change data driven "str" type to represent a quoted string literal (#16516) * Change data driven "str" type to represent a quoted string literal * Update docs * Map data driven `DESCRIPTION` as string literal (#16523) * update bootloader * Revert "Merge pull request #2 from qmk/develop" This reverts commit 9c76065188c3adda98bdaa1f28dad85600e73ee9, reversing changes made to 240745dc05783c612e92bab153da5c46e037d675. * Revert "update bootloader" This reverts commit 240745dc05783c612e92bab153da5c46e037d675. * fix rules.mk * change PROGRAM_CMD Co-authored-by: codetector Co-authored-by: Fagl4 <18francisco18@gmail.com> Co-authored-by: Jakob Gillich Co-authored-by: tech2077 Co-authored-by: jcdeA <31413538+JcdeA@users.noreply.github.com> Co-authored-by: Thomaz Moura <5599621+thomazmoura@users.noreply.github.com> Co-authored-by: Darkhan Co-authored-by: Paco <70448173+packorf@users.noreply.github.com> Co-authored-by: jmarmstrong1207 <32995055+jmarmstrong1207@users.noreply.github.com> Co-authored-by: 1Conan <7620342+1Conan@users.noreply.github.com> Co-authored-by: Tomasz bla Fortuna Co-authored-by: Tomasz bla Fortuna Co-authored-by: Nick Brassel Co-authored-by: Joel Challis Co-authored-by: QMK Bot Co-authored-by: Stefan Kerkmann Co-authored-by: Ryan --- keyboards/annepro2/annepro2.c | 202 +++++++++++ keyboards/annepro2/annepro2.h | 65 ++++ keyboards/annepro2/annepro2_ble.c | 170 +++++++++ keyboards/annepro2/annepro2_ble.h | 27 ++ keyboards/annepro2/ap2_led.c | 134 +++++++ keyboards/annepro2/ap2_led.h | 84 +++++ .../annepro2/boards/ANNEPRO2_C15/board.c | 103 ++++++ .../annepro2/boards/ANNEPRO2_C15/board.h | 39 +++ .../annepro2/boards/ANNEPRO2_C15/board.mk | 5 + .../annepro2/boards/ANNEPRO2_C18/board.c | 103 ++++++ .../annepro2/boards/ANNEPRO2_C18/board.h | 39 +++ .../annepro2/boards/ANNEPRO2_C18/board.mk | 5 + keyboards/annepro2/c15/config.h | 47 +++ keyboards/annepro2/c15/readme.md | 1 + keyboards/annepro2/c15/rules.mk | 37 ++ keyboards/annepro2/c18/config.h | 45 +++ keyboards/annepro2/c18/readme.md | 1 + keyboards/annepro2/c18/rules.mk | 37 ++ keyboards/annepro2/chconf.h | 31 ++ keyboards/annepro2/halconf.h | 28 ++ keyboards/annepro2/info.json | 330 ++++++++++++++++++ .../keymaps/default-full-caps/config.h | 20 ++ .../keymaps/default-full-caps/keymap.c | 120 +++++++ .../keymaps/default-layer-indicators/config.h | 20 ++ .../keymaps/default-layer-indicators/keymap.c | 147 ++++++++ keyboards/annepro2/keymaps/default/config.h | 20 ++ keyboards/annepro2/keymaps/default/keymap.c | 106 ++++++ keyboards/annepro2/ld/HT32F52342_ANNEPRO2.ld | 91 +++++ keyboards/annepro2/matrix.c | 63 ++++ keyboards/annepro2/mcuconf.h | 62 ++++ keyboards/annepro2/protocol.c | 116 ++++++ keyboards/annepro2/protocol.h | 111 ++++++ keyboards/annepro2/readme.md | 50 +++ 33 files changed, 2459 insertions(+) create mode 100644 keyboards/annepro2/annepro2.c create mode 100644 keyboards/annepro2/annepro2.h create mode 100644 keyboards/annepro2/annepro2_ble.c create mode 100644 keyboards/annepro2/annepro2_ble.h create mode 100644 keyboards/annepro2/ap2_led.c create mode 100644 keyboards/annepro2/ap2_led.h create mode 100644 keyboards/annepro2/boards/ANNEPRO2_C15/board.c create mode 100644 keyboards/annepro2/boards/ANNEPRO2_C15/board.h create mode 100644 keyboards/annepro2/boards/ANNEPRO2_C15/board.mk create mode 100644 keyboards/annepro2/boards/ANNEPRO2_C18/board.c create mode 100644 keyboards/annepro2/boards/ANNEPRO2_C18/board.h create mode 100644 keyboards/annepro2/boards/ANNEPRO2_C18/board.mk create mode 100644 keyboards/annepro2/c15/config.h create mode 100644 keyboards/annepro2/c15/readme.md create mode 100644 keyboards/annepro2/c15/rules.mk create mode 100644 keyboards/annepro2/c18/config.h create mode 100644 keyboards/annepro2/c18/readme.md create mode 100644 keyboards/annepro2/c18/rules.mk create mode 100644 keyboards/annepro2/chconf.h create mode 100644 keyboards/annepro2/halconf.h create mode 100644 keyboards/annepro2/info.json create mode 100644 keyboards/annepro2/keymaps/default-full-caps/config.h create mode 100644 keyboards/annepro2/keymaps/default-full-caps/keymap.c create mode 100644 keyboards/annepro2/keymaps/default-layer-indicators/config.h create mode 100644 keyboards/annepro2/keymaps/default-layer-indicators/keymap.c create mode 100644 keyboards/annepro2/keymaps/default/config.h create mode 100644 keyboards/annepro2/keymaps/default/keymap.c create mode 100644 keyboards/annepro2/ld/HT32F52342_ANNEPRO2.ld create mode 100644 keyboards/annepro2/matrix.c create mode 100644 keyboards/annepro2/mcuconf.h create mode 100644 keyboards/annepro2/protocol.c create mode 100644 keyboards/annepro2/protocol.h create mode 100644 keyboards/annepro2/readme.md diff --git a/keyboards/annepro2/annepro2.c b/keyboards/annepro2/annepro2.c new file mode 100644 index 000000000000..37489defff34 --- /dev/null +++ b/keyboards/annepro2/annepro2.c @@ -0,0 +1,202 @@ +/* Copyright 2021 OpenAnnePro community + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "hal.h" +#include "annepro2.h" +#include "annepro2_ble.h" +#include "spi_master.h" +#include "ap2_led.h" +#include "protocol.h" + +#define RAM_MAGIC_LOCATION 0x20001ffc +#define IAP_MAGIC_VALUE 0x0000fab2 + +static const SerialConfig ledUartInitConfig = { + .speed = 115200, +}; + +#ifndef LED_UART_BAUD_RATE +# define LED_UART_BAUD_RATE 115200 +#endif // LED_UART_BAUD_RATE + +static const SerialConfig ledUartRuntimeConfig = { + .speed = LED_UART_BAUD_RATE, +}; + +static const SerialConfig bleUartConfig = { + .speed = 115200, +}; + +static uint8_t ledMcuWakeup[11] = {0x7b, 0x10, 0x43, 0x10, 0x03, 0x00, 0x00, 0x7d, 0x02, 0x01, 0x02}; + +ble_capslock_t BLECapsLock = {._dummy = {0}, .caps_lock = false}; + +void bootloader_jump(void) { + // Send msg to shine to boot into IAP + annepro2SetIAP(); + + // wait for shine to boot into IAP + wait_ms(15); + + // Load ble into IAP + annepro2_ble_bootload(); + wait_ms(15); + + // Magic key to set keyboard to IAP + // It’s from reversing original boot loader + // If value is that it stays in boot loader aka IAP + *((uint32_t *)RAM_MAGIC_LOCATION) = IAP_MAGIC_VALUE; + + // Load the main MCU into IAP + __disable_irq(); + NVIC_SystemReset(); +} + +void keyboard_pre_init_kb(void) { + // Start LED UART + sdStart(&SD0, &ledUartInitConfig); + /* Let the LED chip settle a bit before switching the mode. + * That helped at least one person. */ + wait_ms(15); + sdWrite(&SD0, ledMcuWakeup, sizeof(ledMcuWakeup)); + + // wait to receive response from wakeup + wait_ms(15); + + protoInit(&proto, ledCommandCallback); + + // loop to clear out receive buffer from shine wakeup + while (!sdGetWouldBlock(&SD0)) sdGet(&SD0); + + sdStart(&SD0, &ledUartRuntimeConfig); + keyboard_pre_init_user(); +} + +void keyboard_post_init_kb(void) { + // Start BLE UART + sdStart(&SD1, &bleUartConfig); + annepro2_ble_startup(); + + // Give the send uart thread some time to + // send out the queue before we read back + wait_ms(100); + + // loop to clear out receive buffer from ble wakeup + while (!sdGetWouldBlock(&SD1)) sdGet(&SD1); + + annepro2LedGetStatus(); + + keyboard_post_init_user(); +} + +void matrix_scan_kb() { + // if there's stuff on the ble serial buffer + // read it into the capslock struct + while (!sdGetWouldBlock(&SD1)) { + sdReadTimeout(&SD1, (uint8_t *)&BLECapsLock, sizeof(ble_capslock_t), 10); + } + + /* While there's data from LED keyboard sent - read it. */ + while (!sdGetWouldBlock(&SD0)) { + uint8_t byte = sdGet(&SD0); + protoConsume(&proto, byte); + } + + matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + if (annepro2LedStatus.matrixEnabled && annepro2LedStatus.isReactive) { + annepro2LedForwardKeypress(record->event.key.row, record->event.key.col); + } + + const annepro2Led_t blue = { + .p.blue = 0xff, + .p.red = 0x00, + .p.green = 0x00, + .p.alpha = 0xff, + }; + + switch (keycode) { + case KC_AP2_BT1: + annepro2_ble_broadcast(0); + /* FIXME: This hardcodes col/row position */ + annepro2LedBlink(0, 1, blue, 8, 50); + return false; + + case KC_AP2_BT2: + annepro2_ble_broadcast(1); + annepro2LedBlink(0, 2, blue, 8, 50); + return false; + + case KC_AP2_BT3: + annepro2_ble_broadcast(2); + annepro2LedBlink(0, 3, blue, 8, 50); + return false; + + case KC_AP2_BT4: + annepro2_ble_broadcast(3); + annepro2LedBlink(0, 4, blue, 8, 50); + return false; + + case KC_AP2_USB: + annepro2_ble_disconnect(); + return false; + + case KC_AP2_BT_UNPAIR: + annepro2_ble_unpair(); + return false; + + case KC_AP_LED_OFF: + annepro2LedDisable(); + break; + + case KC_AP_LED_ON: + if (annepro2LedStatus.matrixEnabled) { + annepro2LedNextProfile(); + } else { + annepro2LedEnable(); + } + annepro2LedResetForegroundColor(); + break; + + case KC_AP_LED_NEXT_PROFILE: + annepro2LedNextProfile(); + annepro2LedResetForegroundColor(); + break; + + case KC_AP_LED_PREV_PROFILE: + annepro2LedPrevProfile(); + annepro2LedResetForegroundColor(); + break; + + case KC_AP_LED_NEXT_INTENSITY: + annepro2LedNextIntensity(); + annepro2LedResetForegroundColor(); + return false; + + case KC_AP_LED_SPEED: + annepro2LedNextAnimationSpeed(); + annepro2LedResetForegroundColor(); + return false; + + default: + break; + } + } + return process_record_user(keycode, record); +} diff --git a/keyboards/annepro2/annepro2.h b/keyboards/annepro2/annepro2.h new file mode 100644 index 000000000000..b08f8c5352aa --- /dev/null +++ b/keyboards/annepro2/annepro2.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2018 Yaotian Feng + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#include "quantum.h" +#include +#include "ap2_led.h" + +typedef struct __attribute__((__packed__)) { + uint8_t _dummy[10]; + bool caps_lock; +} ble_capslock_t; +extern ble_capslock_t BLECapsLock; + +// Matrix keymap +// clang-format off +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ + K40, K42, K43, K46, K49, K4A, K4B, K4C \ +) { \ + /* COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL8 COL9 COL10 COL11 COL12 COL13 COL14*/ \ + /* ROW1 */ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + /* ROW2 */ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + /* ROW3 */ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO}, \ + /* ROW4 */ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO}, \ + /* ROW5 */ { K40, KC_NO, K42, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, K4B, K4C, KC_NO}, \ +} +// clang-format on + +enum AP2KeyCodes { + KC_AP2_BT1 = SAFE_RANGE, + KC_AP2_BT2, + KC_AP2_BT3, + KC_AP2_BT4, + KC_AP2_BT_UNPAIR, + KC_AP2_USB, + KC_AP_LED_ON, + KC_AP_LED_OFF, + KC_AP_LED_NEXT_PROFILE, + KC_AP_LED_PREV_PROFILE, + KC_AP_LED_NEXT_INTENSITY, + KC_AP_LED_SPEED, + AP2_SAFE_RANGE, +}; + +#undef SAFE_RANGE +#define SAFE_RANGE AP2_SAFE_RANGE + diff --git a/keyboards/annepro2/annepro2_ble.c b/keyboards/annepro2/annepro2_ble.c new file mode 100644 index 000000000000..72cbb6801675 --- /dev/null +++ b/keyboards/annepro2/annepro2_ble.c @@ -0,0 +1,170 @@ +/* + Copyright (C) 2020 Yaotian Feng, Codetector + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#include "annepro2_ble.h" +#include "ch.h" +#include "hal.h" +#include "host.h" +#include "host_driver.h" +#include "report.h" + +/* -------------------- Static Function Prototypes -------------------------- */ +static uint8_t ap2_ble_leds(void); +static void ap2_ble_mouse(report_mouse_t *report); +static void ap2_ble_system(uint16_t data); +static void ap2_ble_consumer(uint16_t data); +static void ap2_ble_keyboard(report_keyboard_t *report); + +static void ap2_ble_swtich_ble_driver(void); + +/* -------------------- Static Local Variables ------------------------------ */ +static host_driver_t ap2_ble_driver = { + ap2_ble_leds, ap2_ble_keyboard, ap2_ble_mouse, ap2_ble_system, ap2_ble_consumer, +}; + +static uint8_t bleMcuWakeup[11] = {0x7b, 0x12, 0x53, 0x00, 0x03, 0x00, 0x01, 0x7d, 0x02, 0x01, 0x02}; + +static uint8_t bleMcuStartBroadcast[11] = { + 0x7b, 0x12, 0x53, 0x00, 0x03, 0x00, 0x00, 0x7d, 0x40, 0x01, 0x00 // Broadcast ID[0-3] +}; + +static uint8_t bleMcuConnect[11] = { + 0x7b, 0x12, 0x53, 0x00, 0x03, 0x00, 0x00, 0x7d, 0x40, 0x04, 0x00 // Connect ID [0-3] +}; + +static uint8_t bleMcuSendReport[10] = { + 0x7b, 0x12, 0x53, 0x00, 0x0A, 0x00, 0x00, 0x7d, 0x10, 0x04, +}; + +static uint8_t bleMcuSendConsumerReport[10] = { + 0x7b, 0x12, 0x53, 0x00, 0x06, 0x00, 0x00, 0x7d, 0x10, 0x08, +}; + +static uint8_t bleMcuUnpair[10] = { + 0x7b, 0x12, 0x53, 0x00, 0x02, 0x00, 0x00, 0x7d, 0x40, 0x05, +}; + +static uint8_t bleMcuBootload[11] = {0x7b, 0x10, 0x51, 0x10, 0x03, 0x00, 0x00, 0x7d, 0x02, 0x01, 0x01}; + +static host_driver_t *lastHostDriver = NULL; +#ifdef NKRO_ENABLE +static bool lastNkroStatus = false; +#endif // NKRO_ENABLE + +/* -------------------- Public Function Implementation ---------------------- */ + +void annepro2_ble_bootload(void) { sdWrite(&SD1, bleMcuBootload, sizeof(bleMcuBootload)); } + +void annepro2_ble_startup(void) { sdWrite(&SD1, bleMcuWakeup, sizeof(bleMcuWakeup)); } + +void annepro2_ble_broadcast(uint8_t port) { + if (port > 3) { + port = 3; + } + // sdPut(&SD1, 0x00); + sdWrite(&SD1, bleMcuStartBroadcast, sizeof(bleMcuStartBroadcast)); + sdPut(&SD1, port); + static int lastBroadcast = -1; + if (lastBroadcast == port) { + annepro2_ble_connect(port); + } + lastBroadcast = port; +} + +void annepro2_ble_connect(uint8_t port) { + if (port > 3) { + port = 3; + } + sdWrite(&SD1, bleMcuConnect, sizeof(bleMcuConnect)); + sdPut(&SD1, port); + ap2_ble_swtich_ble_driver(); +} + +void annepro2_ble_disconnect(void) { + /* Skip if the driver is already enabled */ + if (host_get_driver() != &ap2_ble_driver) { + return; + } + + clear_keyboard(); +#ifdef NKRO_ENABLE + keymap_config.nkro = lastNkroStatus; +#endif + host_set_driver(lastHostDriver); +} + +void annepro2_ble_unpair(void) { + // sdPut(&SD1, 0x0); + sdWrite(&SD1, bleMcuUnpair, sizeof(bleMcuUnpair)); +} + +/* ------------------- Static Function Implementation ----------------------- */ +static void ap2_ble_swtich_ble_driver(void) { + if (host_get_driver() == &ap2_ble_driver) { + return; + } + clear_keyboard(); + lastHostDriver = host_get_driver(); +#ifdef NKRO_ENABLE + lastNkroStatus = keymap_config.nkro; +#endif + keymap_config.nkro = false; + host_set_driver(&ap2_ble_driver); +} + +static uint8_t ap2_ble_leds(void) { + return 0; // TODO: Figure out how to obtain LED status +} + +static void ap2_ble_mouse(report_mouse_t *report) {} + +static void ap2_ble_system(uint16_t data) {} + +static inline uint16_t CONSUMER2AP2(uint16_t usage) { + switch (usage) { + case AUDIO_VOL_DOWN: + return 0x04; + case AUDIO_VOL_UP: + return 0x02; + case AUDIO_MUTE: + return 0x01; + case TRANSPORT_PLAY_PAUSE: + return 0x08; + case TRANSPORT_NEXT_TRACK: + return 0x10; + case TRANSPORT_PREV_TRACK: + return 0x20; + default: + return 0x00; + } +} + +static void ap2_ble_consumer(uint16_t data) { + sdPut(&SD1, 0x0); + sdWrite(&SD1, bleMcuSendConsumerReport, sizeof(bleMcuSendConsumerReport)); + sdPut(&SD1, CONSUMER2AP2(data)); + static const uint8_t dummy[3] = {0}; + sdWrite(&SD1, dummy, sizeof(dummy)); +} + +/*! + * @brief Send keyboard HID report for Bluetooth driver + */ +static void ap2_ble_keyboard(report_keyboard_t *report) { + sdPut(&SD1, 0x0); + sdWrite(&SD1, bleMcuSendReport, sizeof(bleMcuSendReport)); + sdWrite(&SD1, &report->raw[0], KEYBOARD_REPORT_SIZE); +} diff --git a/keyboards/annepro2/annepro2_ble.h b/keyboards/annepro2/annepro2_ble.h new file mode 100644 index 000000000000..0cfb68e07163 --- /dev/null +++ b/keyboards/annepro2/annepro2_ble.h @@ -0,0 +1,27 @@ +/* + Copyright (C) 2020 Yaotian Feng, Codetector + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#pragma once + +#include "annepro2.h" +#include "quantum.h" + +void annepro2_ble_bootload(void); +void annepro2_ble_startup(void); +void annepro2_ble_broadcast(uint8_t port); +void annepro2_ble_connect(uint8_t port); +void annepro2_ble_disconnect(void); +void annepro2_ble_unpair(void); diff --git a/keyboards/annepro2/ap2_led.c b/keyboards/annepro2/ap2_led.c new file mode 100644 index 000000000000..9969fcd02af3 --- /dev/null +++ b/keyboards/annepro2/ap2_led.c @@ -0,0 +1,134 @@ +/* Copyright 2021 OpenAnnePro community + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include "hal.h" +#include "annepro2.h" +#include "ap2_led.h" +#include "protocol.h" + +annepro2Led_t ledMask[KEY_COUNT]; +annepro2LedStatus_t annepro2LedStatus; + +void ledCommandCallback(const message_t *msg) { + switch (msg->command) { + case CMD_LED_STATUS: + annepro2LedStatus.amountOfProfiles = msg->payload[0]; + annepro2LedStatus.currentProfile = msg->payload[1]; + annepro2LedStatus.matrixEnabled = msg->payload[2]; + annepro2LedStatus.isReactive = msg->payload[3]; + annepro2LedStatus.ledIntensity = msg->payload[4]; + annepro2LedStatus.errors = msg->payload[5]; + break; + +#ifdef CONSOLE_ENABLE + case CMD_LED_DEBUG: + /* TODO: Don't use printf. */ + printf("LED:"); + for (int i = 0; i < msg->payloadSize; i++) { + printf("%02x ", msg->payload[i]); + } + for (int i = 0; i < msg->payloadSize; i++) { + printf("%c", msg->payload[i]); + } + printf("\n"); + break; +#endif + } +} + +void annepro2SetIAP(void) { protoTx(CMD_LED_IAP, NULL, 0, 3); } + +void annepro2LedDisable(void) { protoTx(CMD_LED_OFF, NULL, 0, 3); } + +void annepro2LedEnable(void) { protoTx(CMD_LED_ON, NULL, 0, 3); } + +void annepro2LedSetProfile(uint8_t prof) { protoTx(CMD_LED_SET_PROFILE, &prof, sizeof(prof), 3); } + +void annepro2LedGetStatus() { protoTx(CMD_LED_GET_STATUS, NULL, 0, 3); } + +void annepro2LedNextProfile() { protoTx(CMD_LED_NEXT_PROFILE, NULL, 0, 3); } + +void annepro2LedNextIntensity() { protoTx(CMD_LED_NEXT_INTENSITY, NULL, 0, 3); } + +void annepro2LedNextAnimationSpeed() { protoTx(CMD_LED_NEXT_ANIMATION_SPEED, NULL, 0, 3); } + +void annepro2LedPrevProfile() { protoTx(CMD_LED_PREV_PROFILE, NULL, 0, 3); } + +void annepro2LedMaskSetKey(uint8_t row, uint8_t col, annepro2Led_t color) { + uint8_t payload[] = {row, col, color.p.blue, color.p.green, color.p.red, color.p.alpha}; + protoTx(CMD_LED_MASK_SET_KEY, payload, sizeof(payload), 1); +} + +/* Push a whole local row to the shine */ +void annepro2LedMaskSetRow(uint8_t row) { + uint8_t payload[NUM_COLUMN * sizeof(annepro2Led_t) + 1]; + payload[0] = row; + memcpy(payload + 1, &ledMask[ROWCOL2IDX(row, 0)], sizeof(*ledMask) * NUM_COLUMN); + protoTx(CMD_LED_MASK_SET_ROW, payload, sizeof(payload), 1); +} + +/* Synchronize all rows */ +void annepro2LedMaskSetAll(void) { + for (int row = 0; row < 5; row++) annepro2LedMaskSetRow(row); +} + +/* Set all keys to a given color */ +void annepro2LedMaskSetMono(const annepro2Led_t color) { protoTx(CMD_LED_MASK_SET_MONO, (uint8_t *)&color, sizeof(color), 1); } + +void annepro2LedBlink(uint8_t row, uint8_t col, annepro2Led_t color, uint8_t count, uint8_t hundredths) { + uint8_t payload[] = {row, col, color.p.blue, color.p.green, color.p.red, color.p.alpha, count, hundredths}; + protoTx(CMD_LED_KEY_BLINK, payload, sizeof(payload), 1); +} + +void annepro2LedSetForegroundColor(uint8_t red, uint8_t green, uint8_t blue) { + annepro2Led_t color = {.p.red = red, .p.green = green, .p.blue = blue, .p.alpha = 0xff}; + annepro2LedMaskSetMono(color); +} + +void annepro2LedResetForegroundColor() { + annepro2Led_t color = { + .p.red = 0, + .p.green = 0, + .p.blue = 0, + .p.alpha = 0, + }; + annepro2LedMaskSetMono(color); +} + +/* + * Currently keypresses are unified with other messages, still with single 1 + * byte payload. Transfer is normally fast enough for that to not be a problem - + * especially with asynchronous message reading. + * + * + * Previous description: + * If enabled, this data is sent to LED MCU on every keypress. + * In order to improve performance, both row and column values + * are packed into a single byte. + * Row range is [0, 4] and requires only 3 bits. + * Column range is [0, 13] and requires 4 bits. + * + * In order to differentiate this command from regular commands, + * the leftmost bit is set to 1 (0b10000000). + * Following it are 3 bits of row and 4 bits of col. + * 1 + 3 + 4 = 8 bits - only a single byte is sent for every keypress. + */ +void annepro2LedForwardKeypress(uint8_t row, uint8_t col) { + const uint8_t payload = row << 4 | col; + protoTx(CMD_LED_KEY_DOWN, &payload, 1, 1); +} diff --git a/keyboards/annepro2/ap2_led.h b/keyboards/annepro2/ap2_led.h new file mode 100644 index 000000000000..23712a255564 --- /dev/null +++ b/keyboards/annepro2/ap2_led.h @@ -0,0 +1,84 @@ + /* Copyright 2021 OpenAnnePro community + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "protocol.h" + +// Struct defining an LED and its RGB color components +// Compatible with Shine firmware. +typedef union { + struct { + /* Little endian ordering to match uint32_t */ + uint8_t blue, green, red; + /* Used in mask; nonzero means - use color from mask. */ + uint8_t alpha; + } p; /* parts */ + /* Parts vector access: 0 - blue, 1 - green, 2 - red */ + uint8_t pv[4]; + /* 0xrgb in mem is b g r a */ + uint32_t rgb; +} annepro2Led_t; + +#define ROWCOL2IDX(row, col) (NUM_COLUMN * (row) + (col)) +#define NUM_COLUMN 14 +#define NUM_ROW 5 +#define KEY_COUNT 70 + +/* Local copy of ledMask, used to override colors on the board */ +extern annepro2Led_t ledMask[KEY_COUNT]; + +/* Handle incoming messages */ +extern void ledCommandCallback(const message_t *msg); + +void annepro2SetIAP(void); +void annepro2LedDisable(void); +void annepro2LedEnable(void); +void annepro2LedSetProfile(uint8_t prof); +void annepro2LedGetStatus(void); +void annepro2LedNextProfile(void); +void annepro2LedPrevProfile(void); +void annepro2LedNextIntensity(void); +void annepro2LedNextAnimationSpeed(void); +void annepro2LedForwardKeypress(uint8_t row, uint8_t col); + +/* Set single key to a given color; alpha controls which is displayed */ +void annepro2LedMaskSetKey(uint8_t row, uint8_t col, annepro2Led_t color); +/* Push a whole local row to the shine */ +void annepro2LedMaskSetRow(uint8_t row); +/* Synchronize all rows */ +void annepro2LedMaskSetAll(void); + +/* Set all keys to a given color */ +void annepro2LedMaskSetMono(annepro2Led_t color); + +/* Blink given key `count` times by masking it with a `color`. Blink takes `hundredths` of a second */ +void annepro2LedBlink(uint8_t row, uint8_t col, annepro2Led_t color, uint8_t count, uint8_t hundredths); + +/* Kept for compatibility, but implemented using masks */ +void annepro2LedSetForegroundColor(uint8_t red, uint8_t green, uint8_t blue); +void annepro2LedResetForegroundColor(void); + +typedef struct { + uint8_t amountOfProfiles; + uint8_t currentProfile; + uint8_t matrixEnabled; + uint8_t isReactive; + uint8_t ledIntensity; + uint8_t errors; +} annepro2LedStatus_t; + +extern annepro2LedStatus_t annepro2LedStatus; diff --git a/keyboards/annepro2/boards/ANNEPRO2_C15/board.c b/keyboards/annepro2/boards/ANNEPRO2_C15/board.c new file mode 100644 index 000000000000..60c1826155c9 --- /dev/null +++ b/keyboards/annepro2/boards/ANNEPRO2_C15/board.c @@ -0,0 +1,103 @@ +/* + Copyright (C) 2020 Yaotian Feng, Codetector + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#include "hal.h" + +/* ============ Private Defines ===================== */ + +/* ============ Function Prototypes ================== */ + +#define PBIT(PORT, LINE) ((PAL_PORT(LINE) == PORT) ? (1 << PAL_PAD(LINE)) : 0) +#define PAFIO_L(PORT, LINE, AF) (((PAL_PORT(LINE) == PORT) && (PAL_PAD(LINE) < 8)) ? (AF << (PAL_PAD(LINE) << 2)) : 0) +#define PAFIO_H(PORT, LINE, AF) (((PAL_PORT(LINE) == PORT) && (PAL_PAD(LINE) >= 8)) ? (AF << ((PAL_PAD(LINE) - 8) << 2)) : 0) +#define PAFIO(PORT, N, LINE, AF) ((N) ? PAFIO_H(PORT, LINE, AF) : PAFIO_L(PORT, LINE, AF)) + +#define OUT_BITS(PORT) (PBIT(PORT, C2) | PBIT(PORT, C1) | PBIT(PORT, B5) | PBIT(PORT, B4) | PBIT(PORT, C3) | 0) + +#define IN_BITS(PORT) (PBIT(PORT, C4) | PBIT(PORT, C5) | PBIT(PORT, B10) | PBIT(PORT, B11) | PBIT(PORT, C0) | PBIT(PORT, A15) | PBIT(PORT, A8) | PBIT(PORT, A10) | PBIT(PORT, A11) | PBIT(PORT, A12) | PBIT(PORT, A13) | PBIT(PORT, A14) | PBIT(PORT, B2) | PBIT(PORT, B3) | 0) + +// Alternate Functions +#define AF_BITS(PORT, N) (PAFIO(PORT, N, LINE_UART_RX, AFIO_USART) | PAFIO(PORT, N, LINE_UART_TX, AFIO_USART) | PAFIO(PORT, N, LINE_BT_UART_TX, AFIO_USART) | PAFIO(PORT, N, LINE_BT_UART_RX, AFIO_USART) | PAFIO(PORT, N, C2, AFIO_GPIO) | PAFIO(PORT, N, C1, AFIO_GPIO) | PAFIO(PORT, N, B5, AFIO_GPIO) | PAFIO(PORT, N, B4, AFIO_GPIO) | PAFIO(PORT, N, C3, AFIO_GPIO) | PAFIO(PORT, N, C4, AFIO_GPIO) | PAFIO(PORT, N, C5, AFIO_GPIO) | PAFIO(PORT, N, B10, AFIO_GPIO) | PAFIO(PORT, N, B11, AFIO_GPIO) | PAFIO(PORT, N, C0, AFIO_GPIO) | PAFIO(PORT, N, A15, AFIO_GPIO) | PAFIO(PORT, N, A8, AFIO_GPIO) | PAFIO(PORT, N, A10, AFIO_GPIO) | PAFIO(PORT, N, A11, AFIO_GPIO) | PAFIO(PORT, N, A12, AFIO_GPIO) | PAFIO(PORT, N, A13, AFIO_GPIO) | PAFIO(PORT, N, A14, AFIO_GPIO) | PAFIO(PORT, N, B2, AFIO_GPIO) | PAFIO(PORT, N, B3, AFIO_GPIO) | 0) + +/** + * @brief PAL setup. + * @details Digital I/O ports static configuration as defined in @p board.h. + * This variable is used by the HAL when initializing the PAL driver. + */ +const PALConfig pal_default_config = { + // GPIO A + .setup[0] = + { + .DIR = OUT_BITS(IOPORTA), + .INE = IN_BITS(IOPORTA), + .PU = IN_BITS(IOPORTA), + .PD = 0x0000, + .OD = 0x0000, + .DRV = 0x0000, + .LOCK = 0x0000, + .OUT = 0x0000, + .CFG[0] = AF_BITS(IOPORTA, 0), + .CFG[1] = AF_BITS(IOPORTA, 1), + }, + // GPIO B + .setup[1] = + { + .DIR = OUT_BITS(IOPORTB), + .INE = IN_BITS(IOPORTB), + .PU = IN_BITS(IOPORTB), + .PD = 0x0000, + .OD = 0x0000, + .DRV = 0x0000, + .LOCK = 0x0000, + .OUT = 0x0000, + .CFG[0] = AF_BITS(IOPORTB, 0), + .CFG[1] = AF_BITS(IOPORTB, 1), + }, + // GPIO C + .setup[2] = + { + .DIR = OUT_BITS(IOPORTC), + .INE = IN_BITS(IOPORTC), + .PU = IN_BITS(IOPORTC), + .PD = 0x0000, + .OD = 0x0000, + .DRV = 0x0000, + .LOCK = 0x0000, + .OUT = 0x0000, + .CFG[0] = AF_BITS(IOPORTC, 0), + .CFG[1] = AF_BITS(IOPORTC, 1), + }, + // GPIO D + .setup[3] = + { + .DIR = OUT_BITS(IOPORTD), + .INE = IN_BITS(IOPORTD), + .PU = IN_BITS(IOPORTD), + .PD = 0x0000, + .OD = 0x0000, + .DRV = 0x0000, + .LOCK = 0x0000, + .OUT = 0x0000, + .CFG[0] = AF_BITS(IOPORTD, 0), + .CFG[1] = AF_BITS(IOPORTD, 1), + }, + .ESSR[0] = 0x00000000, + .ESSR[1] = 0x00000000, +}; + +void __early_init(void) { ht32_clock_init(); } + +void boardInit(void) {} diff --git a/keyboards/annepro2/boards/ANNEPRO2_C15/board.h b/keyboards/annepro2/boards/ANNEPRO2_C15/board.h new file mode 100644 index 000000000000..0a044ea18122 --- /dev/null +++ b/keyboards/annepro2/boards/ANNEPRO2_C15/board.h @@ -0,0 +1,39 @@ +/* + ChibiOS - Copyright (C) 2020 Codetector + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#pragma once +/* + * Setup for Anne Pro 2 board. + */ + +/* + * Board identifier. + */ +#define BOARD_NAME "Anne Pro 2" + +#define HT32F52342 + +#define FLASH_SIZE (0x10000 - 0x4000) // 64kB - 16kB + +#if !defined(_FROM_ASM_) +#ifdef __cplusplus +extern "C" { +#endif +void boardInit(void); +#ifdef __cplusplus +} +#endif +#endif /* _FROM_ASM_ */ \ No newline at end of file diff --git a/keyboards/annepro2/boards/ANNEPRO2_C15/board.mk b/keyboards/annepro2/boards/ANNEPRO2_C15/board.mk new file mode 100644 index 000000000000..f308892e7c45 --- /dev/null +++ b/keyboards/annepro2/boards/ANNEPRO2_C15/board.mk @@ -0,0 +1,5 @@ +# List of all the board related files. +BOARDSRC = $(BOARD_PATH)/boards/ANNEPRO2_C15/board.c + +# Required include directories +BOARDINC = $(BOARD_PATH)/boards/ANNEPRO2_C15 diff --git a/keyboards/annepro2/boards/ANNEPRO2_C18/board.c b/keyboards/annepro2/boards/ANNEPRO2_C18/board.c new file mode 100644 index 000000000000..42c03d3d0036 --- /dev/null +++ b/keyboards/annepro2/boards/ANNEPRO2_C18/board.c @@ -0,0 +1,103 @@ +/* + Copyright (C) 2020 Yaotian Feng, Codetector + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#include "hal.h" + +/* ============ Private Defines ===================== */ + +/* ============ Function Prototypes ================== */ + +#define PBIT(PORT, LINE) ((PAL_PORT(LINE) == PORT) ? (1 << PAL_PAD(LINE)) : 0) +#define PAFIO_L(PORT, LINE, AF) (((PAL_PORT(LINE) == PORT) && (PAL_PAD(LINE) < 8)) ? (AF << (PAL_PAD(LINE) << 2)) : 0) +#define PAFIO_H(PORT, LINE, AF) (((PAL_PORT(LINE) == PORT) && (PAL_PAD(LINE) >= 8)) ? (AF << ((PAL_PAD(LINE) - 8) << 2)) : 0) +#define PAFIO(PORT, N, LINE, AF) ((N) ? PAFIO_H(PORT, LINE, AF) : PAFIO_L(PORT, LINE, AF)) + +#define OUT_BITS(PORT) (PBIT(PORT, B5) | PBIT(PORT, B4) | PBIT(PORT, B3) | PBIT(PORT, B2) | PBIT(PORT, D1) | 0) + +#define IN_BITS(PORT) (PBIT(PORT, C4) | PBIT(PORT, C5) | PBIT(PORT, D0) | PBIT(PORT, B15) | PBIT(PORT, C11) | PBIT(PORT, A15) | PBIT(PORT, C12) | PBIT(PORT, C13) | PBIT(PORT, A8) | PBIT(PORT, A10) | PBIT(PORT, A11) | PBIT(PORT, A14) | PBIT(PORT, D2) | PBIT(PORT, D3) | 0) + +// Alternate Functions +#define AF_BITS(PORT, N) (PAFIO(PORT, N, LINE_UART_RX, AFIO_USART) | PAFIO(PORT, N, LINE_UART_TX, AFIO_USART) | PAFIO(PORT, N, LINE_BT_UART_TX, AFIO_USART) | PAFIO(PORT, N, LINE_BT_UART_RX, AFIO_USART) | PAFIO(PORT, N, B5, AFIO_GPIO) | PAFIO(PORT, N, B4, AFIO_GPIO) | PAFIO(PORT, N, B3, AFIO_GPIO) | PAFIO(PORT, N, B2, AFIO_GPIO) | PAFIO(PORT, N, D1, AFIO_GPIO) | PAFIO(PORT, N, C4, AFIO_GPIO) | PAFIO(PORT, N, C5, AFIO_GPIO) | PAFIO(PORT, N, D0, AFIO_GPIO) | PAFIO(PORT, N, B15, AFIO_GPIO) | PAFIO(PORT, N, C11, AFIO_GPIO) | PAFIO(PORT, N, A15, AFIO_GPIO) | PAFIO(PORT, N, C12, AFIO_GPIO) | PAFIO(PORT, N, C13, AFIO_GPIO) | PAFIO(PORT, N, A8, AFIO_GPIO) | PAFIO(PORT, N, A10, AFIO_GPIO) | PAFIO(PORT, N, A11, AFIO_GPIO) | PAFIO(PORT, N, A14, AFIO_GPIO) | PAFIO(PORT, N, D2, AFIO_GPIO) | PAFIO(PORT, N, D3, AFIO_GPIO) | 0) + +/** + * @brief PAL setup. + * @details Digital I/O ports static configuration as defined in @p board.h. + * This variable is used by the HAL when initializing the PAL driver. + */ +const PALConfig pal_default_config = { + // GPIO A + .setup[0] = + { + .DIR = OUT_BITS(IOPORTA), + .INE = IN_BITS(IOPORTA), + .PU = IN_BITS(IOPORTA), + .PD = 0x0000, + .OD = 0x0000, + .DRV = 0x0000, + .LOCK = 0x0000, + .OUT = 0x0000, + .CFG[0] = AF_BITS(IOPORTA, 0), + .CFG[1] = AF_BITS(IOPORTA, 1), + }, + // GPIO B + .setup[1] = + { + .DIR = OUT_BITS(IOPORTB), + .INE = IN_BITS(IOPORTB), + .PU = IN_BITS(IOPORTB), + .PD = 0x0000, + .OD = 0x0000, + .DRV = 0x0000, + .LOCK = 0x0000, + .OUT = 0x0000, + .CFG[0] = AF_BITS(IOPORTB, 0), + .CFG[1] = AF_BITS(IOPORTB, 1), + }, + // GPIO C + .setup[2] = + { + .DIR = OUT_BITS(IOPORTC), + .INE = IN_BITS(IOPORTC), + .PU = IN_BITS(IOPORTC), + .PD = 0x0000, + .OD = 0x0000, + .DRV = 0x0000, + .LOCK = 0x0000, + .OUT = 0x0000, + .CFG[0] = AF_BITS(IOPORTC, 0), + .CFG[1] = AF_BITS(IOPORTC, 1), + }, + // GPIO D + .setup[3] = + { + .DIR = OUT_BITS(IOPORTD), + .INE = IN_BITS(IOPORTD), + .PU = IN_BITS(IOPORTD), + .PD = 0x0000, + .OD = 0x0000, + .DRV = 0x0000, + .LOCK = 0x0000, + .OUT = 0x0000, + .CFG[0] = AF_BITS(IOPORTD, 0), + .CFG[1] = AF_BITS(IOPORTD, 1), + }, + .ESSR[0] = 0x00000000, + .ESSR[1] = 0x00000000, +}; + +void __early_init(void) { ht32_clock_init(); } + +void boardInit(void) {} diff --git a/keyboards/annepro2/boards/ANNEPRO2_C18/board.h b/keyboards/annepro2/boards/ANNEPRO2_C18/board.h new file mode 100644 index 000000000000..7345b24231b8 --- /dev/null +++ b/keyboards/annepro2/boards/ANNEPRO2_C18/board.h @@ -0,0 +1,39 @@ +/* + ChibiOS - Copyright (C) 2020 Codetector + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#pragma once +/* + * Setup for Anne Pro 2 board. + */ + +/* + * Board identifier. + */ +#define BOARD_NAME "Anne Pro 2" + +#define HT32F52342 + +#define FLASH_SIZE (0x10000 - 0x4000) // 64kB - 16kB + +#if !defined(_FROM_ASM_) +#ifdef __cplusplus +extern "C" { +#endif +void boardInit(void); +#ifdef __cplusplus +} +#endif +#endif /* _FROM_ASM_ */ diff --git a/keyboards/annepro2/boards/ANNEPRO2_C18/board.mk b/keyboards/annepro2/boards/ANNEPRO2_C18/board.mk new file mode 100644 index 000000000000..1b41dede851b --- /dev/null +++ b/keyboards/annepro2/boards/ANNEPRO2_C18/board.mk @@ -0,0 +1,5 @@ +# List of all the board related files. +BOARDSRC = $(BOARD_PATH)/boards/ANNEPRO2_C18/board.c + +# Required include directories +BOARDINC = $(BOARD_PATH)/boards/ANNEPRO2_C18 diff --git a/keyboards/annepro2/c15/config.h b/keyboards/annepro2/c15/config.h new file mode 100644 index 000000000000..f28a6a1b53c3 --- /dev/null +++ b/keyboards/annepro2/c15/config.h @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2018 Charlie Waters + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "pin_defs.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xfeed +#define PRODUCT_ID 0xac15 +#define DEVICE_VER 0x1337 +#define MANUFACTURER Obins +#define PRODUCT Anne Pro 2 QMK +// key matrix size +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 +// layer size: MATRIX_ROWS * MATRIX_COLS * sizeof(uint16_t) = 140 bytes + +#define LINE_UART_TX B0 // Master TX, LED RX +#define LINE_UART_RX B1 // Master RX, LED TX + +#define LINE_BT_UART_TX A4 // Master TX, BLE RX +#define LINE_BT_UART_RX A5 // Master RX, BLE TX + +// outputs (rows are pulled low) +#define MATRIX_ROW_PINS \ + { C2, C1, B5, B4, C3 } + +// inputs (columns are sampled) +// PORTA 12,13 conflict with SWD + +#define MATRIX_COL_PINS \ + { C4, C5, B10, B11, C0, A15, A8, A10, A11, A12, A13, A14, B2, B3 } diff --git a/keyboards/annepro2/c15/readme.md b/keyboards/annepro2/c15/readme.md new file mode 100644 index 000000000000..5fadb7390951 --- /dev/null +++ b/keyboards/annepro2/c15/readme.md @@ -0,0 +1 @@ +AnnePro2, ANSI C15 version. diff --git a/keyboards/annepro2/c15/rules.mk b/keyboards/annepro2/c15/rules.mk new file mode 100644 index 000000000000..554ddc28ceb2 --- /dev/null +++ b/keyboards/annepro2/c15/rules.mk @@ -0,0 +1,37 @@ +# Anne Pro 2 +SRC = \ + matrix.c \ + annepro2_ble.c \ + ap2_led.c \ + protocol.c + +# MCU +MCU = cortex-m0plus +ARMV = 6 +USE_FPU = no +MCU_FAMILY = HT32 +MCU_SERIES = HT32F523xx +MCU_LDSCRIPT = HT32F52342_ANNEPRO2 +MCU_STARTUP = ht32f523xx + +BOARD = ANNEPRO2_C15 + +# Options + +# Keys +CUSTOM_MATRIX = lite +NKRO_ENABLE = no +MOUSEKEY_ENABLE = no +EXTRAKEY_ENABLE = yes +KEY_LOCK_ENABLE = no + +# Other featues +BOOTMAGIC_ENABLE = no +CONSOLE_ENABLE = no +COMMAND_ENABLE = no +RAW_ENABLE = no +MIDI_ENABLE = no +VIRTSER_ENABLE = no +COMBO_ENABLE = no +BOOTLOADER = custom +PROGRAM_CMD = annepro2_tools --boot $(BUILD_DIR)/$(TARGET).bin diff --git a/keyboards/annepro2/c18/config.h b/keyboards/annepro2/c18/config.h new file mode 100644 index 000000000000..f610ef76e4fd --- /dev/null +++ b/keyboards/annepro2/c18/config.h @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2018 Charlie Waters + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "pin_defs.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xfeed +#define PRODUCT_ID 0xac18 +#define DEVICE_VER 0x1337 +#define MANUFACTURER Obins +#define PRODUCT Anne Pro 2(c18)QMK +// key matrix size +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 +// layer size: MATRIX_ROWS * MATRIX_COLS * sizeof(uint16_t) = 140 bytes + +#define LINE_UART_TX B0 +#define LINE_UART_RX B1 + +#define LINE_BT_UART_TX A4 // Master TX, BLE RX +#define LINE_BT_UART_RX A5 // Master RX, BLE TX + +// outputs (rows are pulled low) +#define MATRIX_ROW_PINS \ + { B5, B4, B3, B2, D1 } + +// inputs (columns are sampled) +#define MATRIX_COL_PINS \ + { C4, C5, D0, B15, C11, A15, C12, C13, A8, A10, A11, A14, D2, D3 } diff --git a/keyboards/annepro2/c18/readme.md b/keyboards/annepro2/c18/readme.md new file mode 100644 index 000000000000..f2e2fc45b8f2 --- /dev/null +++ b/keyboards/annepro2/c18/readme.md @@ -0,0 +1 @@ +AnnePro2, ANSI C18 version. diff --git a/keyboards/annepro2/c18/rules.mk b/keyboards/annepro2/c18/rules.mk new file mode 100644 index 000000000000..b2e16cc35f16 --- /dev/null +++ b/keyboards/annepro2/c18/rules.mk @@ -0,0 +1,37 @@ +# Anne Pro 2 +SRC = \ + matrix.c \ + annepro2_ble.c \ + ap2_led.c \ + protocol.c + +# MCU +MCU = cortex-m0plus +ARMV = 6 +USE_FPU = no +MCU_FAMILY = HT32 +MCU_SERIES = HT32F523xx +MCU_LDSCRIPT = HT32F52342_ANNEPRO2 +MCU_STARTUP = ht32f523xx + +BOARD = ANNEPRO2_C18 + +# Options + +# Keys +CUSTOM_MATRIX = lite +NKRO_ENABLE = no +MOUSEKEY_ENABLE = no +EXTRAKEY_ENABLE = yes +KEY_LOCK_ENABLE = no + +# Other featues +BOOTMAGIC_ENABLE = yes +CONSOLE_ENABLE = no +COMMAND_ENABLE = no +RAW_ENABLE = no +MIDI_ENABLE = no +VIRTSER_ENABLE = no +COMBO_ENABLE = no +BOOTLOADER = custom +PROGRAM_CMD = annepro2_tools --boot $(BUILD_DIR)/$(TARGET).bin diff --git a/keyboards/annepro2/chconf.h b/keyboards/annepro2/chconf.h new file mode 100644 index 000000000000..51fe38cf275c --- /dev/null +++ b/keyboards/annepro2/chconf.h @@ -0,0 +1,31 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/annepro2/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 1000 + +#define CH_CFG_ST_TIMEDELTA 0 + +#define CH_CFG_TIME_QUANTUM 20 + + +#include_next \ No newline at end of file diff --git a/keyboards/annepro2/halconf.h b/keyboards/annepro2/halconf.h new file mode 100644 index 000000000000..686b91a7fb2f --- /dev/null +++ b/keyboards/annepro2/halconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/annepro2/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#define SERIAL_USB_BUFFERS_SIZE 256 + +#include_next diff --git a/keyboards/annepro2/info.json b/keyboards/annepro2/info.json new file mode 100644 index 000000000000..8fd515bd1042 --- /dev/null +++ b/keyboards/annepro2/info.json @@ -0,0 +1,330 @@ +{ + "keyboard_name": "Anne Pro 2", + "url": "https://openannepro.github.io/", + "maintainer": "community", + "layouts": { + "LAYOUT": { + "layout": [ + { + "label": "~", + "x": 0, + "y": 0 + }, + { + "label": "!", + "x": 1, + "y": 0 + }, + { + "label": "@", + "x": 2, + "y": 0 + }, + { + "label": "#", + "x": 3, + "y": 0 + }, + { + "label": "$", + "x": 4, + "y": 0 + }, + { + "label": "%", + "x": 5, + "y": 0 + }, + { + "label": "^", + "x": 6, + "y": 0 + }, + { + "label": "&", + "x": 7, + "y": 0 + }, + { + "label": "*", + "x": 8, + "y": 0 + }, + { + "label": "(", + "x": 9, + "y": 0 + }, + { + "label": ")", + "x": 10, + "y": 0 + }, + { + "label": "_", + "x": 11, + "y": 0 + }, + { + "label": "+", + "x": 12, + "y": 0 + }, + { + "label": "Backspace", + "x": 13, + "y": 0, + "w": 2 + }, + { + "label": "Tab", + "x": 0, + "y": 1, + "w": 1.5 + }, + { + "label": "Q", + "x": 1.5, + "y": 1 + }, + { + "label": "W", + "x": 2.5, + "y": 1 + }, + { + "label": "E", + "x": 3.5, + "y": 1 + }, + { + "label": "R", + "x": 4.5, + "y": 1 + }, + { + "label": "T", + "x": 5.5, + "y": 1 + }, + { + "label": "Y", + "x": 6.5, + "y": 1 + }, + { + "label": "U", + "x": 7.5, + "y": 1 + }, + { + "label": "I", + "x": 8.5, + "y": 1 + }, + { + "label": "O", + "x": 9.5, + "y": 1 + }, + { + "label": "P", + "x": 10.5, + "y": 1 + }, + { + "label": "{", + "x": 11.5, + "y": 1 + }, + { + "label": "}", + "x": 12.5, + "y": 1 + }, + { + "label": "|", + "x": 13.5, + "y": 1, + "w": 1.5 + }, + { + "label": "Caps Lock", + "x": 0, + "y": 2, + "w": 1.75 + }, + { + "label": "A", + "x": 1.75, + "y": 2 + }, + { + "label": "S", + "x": 2.75, + "y": 2 + }, + { + "label": "D", + "x": 3.75, + "y": 2 + }, + { + "label": "F", + "x": 4.75, + "y": 2 + }, + { + "label": "G", + "x": 5.75, + "y": 2 + }, + { + "label": "H", + "x": 6.75, + "y": 2 + }, + { + "label": "J", + "x": 7.75, + "y": 2 + }, + { + "label": "K", + "x": 8.75, + "y": 2 + }, + { + "label": "L", + "x": 9.75, + "y": 2 + }, + { + "label": ":", + "x": 10.75, + "y": 2 + }, + { + "label": "\"", + "x": 11.75, + "y": 2 + }, + { + "label": "Enter", + "x": 12.75, + "y": 2, + "w": 2.25 + }, + { + "label": "Shift", + "x": 0, + "y": 3, + "w": 2.25 + }, + { + "label": "Z", + "x": 2.25, + "y": 3 + }, + { + "label": "X", + "x": 3.25, + "y": 3 + }, + { + "label": "C", + "x": 4.25, + "y": 3 + }, + { + "label": "V", + "x": 5.25, + "y": 3 + }, + { + "label": "B", + "x": 6.25, + "y": 3 + }, + { + "label": "N", + "x": 7.25, + "y": 3 + }, + { + "label": "M", + "x": 8.25, + "y": 3 + }, + { + "label": "<", + "x": 9.25, + "y": 3 + }, + { + "label": ">", + "x": 10.25, + "y": 3 + }, + { + "label": "?", + "x": 11.25, + "y": 3 + }, + { + "label": "Shift", + "x": 12.25, + "y": 3, + "w": 2.75 + }, + { + "label": "Ctrl", + "x": 0, + "y": 4, + "w": 1.25 + }, + { + "label": "Win", + "x": 1.25, + "y": 4, + "w": 1.25 + }, + { + "label": "Alt", + "x": 2.5, + "y": 4, + "w": 1.25 + }, + { + "x": 3.75, + "y": 4, + "w": 6.25 + }, + { + "label": "Alt", + "x": 10, + "y": 4, + "w": 1.25 + }, + { + "label": "Win", + "x": 11.25, + "y": 4, + "w": 1.25 + }, + { + "label": "Menu", + "x": 12.5, + "y": 4, + "w": 1.25 + }, + { + "label": "Ctrl", + "x": 13.75, + "y": 4, + "w": 1.25 + } + ] + } + } +} diff --git a/keyboards/annepro2/keymaps/default-full-caps/config.h b/keyboards/annepro2/keymaps/default-full-caps/config.h new file mode 100644 index 000000000000..413c5d8dc520 --- /dev/null +++ b/keyboards/annepro2/keymaps/default-full-caps/config.h @@ -0,0 +1,20 @@ + /* Copyright 2021 OpenAnnePro community + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// Obins stock firmware has something similar to this already enabled, but disabled by default in QMK +#define PERMISSIVE_HOLD diff --git a/keyboards/annepro2/keymaps/default-full-caps/keymap.c b/keyboards/annepro2/keymaps/default-full-caps/keymap.c new file mode 100644 index 000000000000..8ac9211ac431 --- /dev/null +++ b/keyboards/annepro2/keymaps/default-full-caps/keymap.c @@ -0,0 +1,120 @@ + /* Copyright 2021 OpenAnnePro community + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum anne_pro_layers { + _BASE_LAYER, + _FN1_LAYER, + _FN2_LAYER, +}; + +// clang-format off + +// Key symbols are based on QMK. Use them to remap your keyboard +/* +* Layer _BASE_LAYER +* ,-----------------------------------------------------------------------------------------. +* | esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bksp | +* |-----------------------------------------------------------------------------------------+ +* | Tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | +* |-----------------------------------------------------------------------------------------+ +* | Caps | a | s | d | f | g | h | j | k | l | ; | ' | Enter | +* |-----------------------------------------------------------------------------------------+ +* | Shift | z | x | c | v | b | n | m | , | . | / | Shift | +* |-----------------------------------------------------------------------------------------+ +* | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | +* \-----------------------------------------------------------------------------------------/ +* Layer TAP in _BASE_LAYER +* ,-----------------------------------------------------------------------------------------. +* | | | | | | | | | | | | | | | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | | | | | | | | | | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | | | | | | | | | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | | | | | | | UP | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | LEFT | DOWN | RIGHT | +* \-----------------------------------------------------------------------------------------/ +*/ + const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE_LAYER] = LAYOUT( /* Base */ + 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_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, + LT(_FN1_LAYER,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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_FN1_LAYER,KC_LEFT), LT(_FN2_LAYER,KC_DOWN), RCTL_T(KC_RGHT) +), + /* + * Layer _FN1_LAYER + * ,-----------------------------------------------------------------------------------------. + * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | + * |-----------------------------------------------------------------------------------------+ + * | Tab | q | UP | e | r | t | y | u | i | o | PS | HOME | END | \ | + * |-----------------------------------------------------------------------------------------+ + * | Esc |LEFT |DOWN |RIGHT| f | g | h | j | k | l | PGUP|PGDN | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift |V-UP |V-DWN|MUTE | v | b | n | m | , |INSRT| DEL | Shift | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | + * \-----------------------------------------------------------------------------------------/ + * + */ + [_FN1_LAYER] = LAYOUT( /* Base */ + 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, KC_DEL, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN2_LAYER), KC_TRNS +), + /* + * Layer _FN2_LAYER + * ,-----------------------------------------------------------------------------------------. + * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | F7 |LEDOF|LEDON| F10 | F11 | F12 | Bksp | + * |-----------------------------------------------------------------------------------------+ + * | Tab | q | UP | e | r | t | y | u | i | o | PS | HOME | END | \ | + * |-----------------------------------------------------------------------------------------+ + * | Esc |LEFT |DOWN |RIGHT| f | g | h | j | k | l | PGUP|PGDN | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift | z | x | c | v | b | n | m | , |INSRT| DEL | Shift | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | + * \-----------------------------------------------------------------------------------------/ + * + */ + [_FN2_LAYER] = LAYOUT( /* Base */ + KC_TRNS, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, KC_TRNS, KC_TRNS, KC_TRNS, KC_AP_LED_OFF, KC_AP_LED_ON, KC_AP_LED_NEXT_INTENSITY, KC_AP_LED_SPEED, KC_TRNS, KC_TRNS, + MO(_FN2_LAYER), KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN1_LAYER), MO(_FN2_LAYER), KC_TRNS + ), +}; + +// clang-format on + +// The function to handle the caps lock logic +bool led_update_user(led_t leds) { + if (leds.caps_lock) { + // Set the leds to red + annepro2LedSetForegroundColor(0xFF, 0x00, 0x00); + } else { + annepro2LedResetForegroundColor(); + } + + return true; +} diff --git a/keyboards/annepro2/keymaps/default-layer-indicators/config.h b/keyboards/annepro2/keymaps/default-layer-indicators/config.h new file mode 100644 index 000000000000..413c5d8dc520 --- /dev/null +++ b/keyboards/annepro2/keymaps/default-layer-indicators/config.h @@ -0,0 +1,20 @@ + /* Copyright 2021 OpenAnnePro community + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// Obins stock firmware has something similar to this already enabled, but disabled by default in QMK +#define PERMISSIVE_HOLD diff --git a/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c b/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c new file mode 100644 index 000000000000..ac2b421d06f4 --- /dev/null +++ b/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c @@ -0,0 +1,147 @@ + /* Copyright 2021 OpenAnnePro community + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum anne_pro_layers { + _BASE_LAYER, + _FN1_LAYER, + _FN2_LAYER, +}; + +// clang-format off + +// Key symbols are based on QMK. Use them to remap your keyboard +/* +* Layer _BASE_LAYER +* ,-----------------------------------------------------------------------------------------. +* | esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bksp | +* |-----------------------------------------------------------------------------------------+ +* | Tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | +* |-----------------------------------------------------------------------------------------+ +* | Caps | a | s | d | f | g | h | j | k | l | ; | ' | Enter | +* |-----------------------------------------------------------------------------------------+ +* | Shift | z | x | c | v | b | n | m | , | . | / | Shift | +* |-----------------------------------------------------------------------------------------+ +* | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | +* \-----------------------------------------------------------------------------------------/ +* Layer TAP in _BASE_LAYER +* ,-----------------------------------------------------------------------------------------. +* | | | | | | | | | | | | | | | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | | | | | | | | | | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | | | | | | | | | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | | | | | | | UP | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | LEFT | DOWN | RIGHT | +* \-----------------------------------------------------------------------------------------/ +*/ + const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE_LAYER] = LAYOUT( /* Base */ + 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_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, + LT(_FN1_LAYER,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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_FN1_LAYER,KC_LEFT), LT(_FN2_LAYER,KC_DOWN), RCTL_T(KC_RGHT) +), + /* + * Layer _FN1_LAYER + * ,-----------------------------------------------------------------------------------------. + * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | + * |-----------------------------------------------------------------------------------------+ + * | Tab | q | UP | e | r | t | y | u | i | o | PS | HOME | END | \ | + * |-----------------------------------------------------------------------------------------+ + * | Esc |LEFT |DOWN |RIGHT| f | g | h | j | k | l | PGUP|PGDN | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift |V-UP |V-DWN|MUTE | v | b | n | m | , |INSRT| DEL | Shift | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | + * \-----------------------------------------------------------------------------------------/ + * + */ + [_FN1_LAYER] = LAYOUT( /* Base */ + 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, KC_DEL, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN2_LAYER), KC_TRNS +), + /* + * Layer _FN2_LAYER + * ,-----------------------------------------------------------------------------------------. + * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | F7 |LEDOF|LEDON| F10 | F11 | F12 | Bksp | + * |-----------------------------------------------------------------------------------------+ + * | Tab | q | UP | e | r | t | y | u | i | o | PS | HOME | END | \ | + * |-----------------------------------------------------------------------------------------+ + * | Esc |LEFT |DOWN |RIGHT| f | g | h | j | k | l | PGUP|PGDN | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift | z | x | c | v | b | n | m | , |INSRT| DEL | Shift | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | + * \-----------------------------------------------------------------------------------------/ + * + */ + [_FN2_LAYER] = LAYOUT( /* Base */ + KC_TRNS, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, KC_TRNS, KC_TRNS, KC_TRNS, KC_AP_LED_OFF, KC_AP_LED_ON, KC_AP_LED_NEXT_INTENSITY, KC_AP_LED_SPEED, KC_TRNS, KC_TRNS, + MO(_FN2_LAYER), KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN1_LAYER), MO(_FN2_LAYER), KC_TRNS + ), +}; + +// clang-format on + +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case _FN1_LAYER: + // Set the leds to green + annepro2LedSetForegroundColor(0x00, 0xFF, 0x00); + break; + case _FN2_LAYER: + // Set the leds to blue + annepro2LedSetForegroundColor(0x00, 0x00, 0xFF); + break; + default: + // Reset back to the current profile + annepro2LedResetForegroundColor(); + break; + } + return state; +} + +// The function to handle the caps lock logic +// It's called after the capslock changes state or after entering layers 1 and 2. +bool led_update_user(led_t leds) { + if (leds.caps_lock) { + // Set the caps-lock to red + const annepro2Led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0xff}; + + annepro2LedMaskSetKey(2, 0, color); + /* NOTE: Instead of colouring the capslock only, you can change the whole + keyboard with annepro2LedSetForegroundColor */ + } else { + // Reset the capslock if there is no layer active + if (!layer_state_is(_FN1_LAYER) && !layer_state_is(_FN2_LAYER)) { + const annepro2Led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0x00}; + annepro2LedMaskSetKey(2, 0, color); + } + } + + return true; +} diff --git a/keyboards/annepro2/keymaps/default/config.h b/keyboards/annepro2/keymaps/default/config.h new file mode 100644 index 000000000000..413c5d8dc520 --- /dev/null +++ b/keyboards/annepro2/keymaps/default/config.h @@ -0,0 +1,20 @@ + /* Copyright 2021 OpenAnnePro community + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// Obins stock firmware has something similar to this already enabled, but disabled by default in QMK +#define PERMISSIVE_HOLD diff --git a/keyboards/annepro2/keymaps/default/keymap.c b/keyboards/annepro2/keymaps/default/keymap.c new file mode 100644 index 000000000000..a984b05830b2 --- /dev/null +++ b/keyboards/annepro2/keymaps/default/keymap.c @@ -0,0 +1,106 @@ + /* Copyright 2021 OpenAnnePro community + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum anne_pro_layers { + _BASE_LAYER, + _FN1_LAYER, + _FN2_LAYER, +}; + +// clang-format off +// Key symbols are based on QMK. Use them to remap your keyboard +/* +* Layer _BASE_LAYER +* ,-----------------------------------------------------------------------------------------. +* | esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bksp | +* |-----------------------------------------------------------------------------------------+ +* | Tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | +* |-----------------------------------------------------------------------------------------+ +* | Caps | a | s | d | f | g | h | j | k | l | ; | ' | Enter | +* |-----------------------------------------------------------------------------------------+ +* | Shift | z | x | c | v | b | n | m | , | . | / | Shift | +* |-----------------------------------------------------------------------------------------+ +* | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | +* \-----------------------------------------------------------------------------------------/ +* Layer TAP in _BASE_LAYER +* ,-----------------------------------------------------------------------------------------. +* | | | | | | | | | | | | | | | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | | | | | | | | | | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | | | | | | | | | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | | | | | | | UP | +* |-----------------------------------------------------------------------------------------+ +* | | | | | | LEFT | DOWN | RIGHT | +* \-----------------------------------------------------------------------------------------/ +*/ + const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE_LAYER] = LAYOUT( /* Base */ + 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_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, + LT(_FN1_LAYER,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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_FN1_LAYER,KC_LEFT), LT(_FN2_LAYER,KC_DOWN), RCTL_T(KC_RGHT) +), + /* + * Layer _FN1_LAYER + * ,-----------------------------------------------------------------------------------------. + * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | + * |-----------------------------------------------------------------------------------------+ + * | Tab | q | UP | e | r | t | y | u | i | o | PS | HOME | END | \ | + * |-----------------------------------------------------------------------------------------+ + * | Esc |LEFT |DOWN |RIGHT| f | g | h | j | k | l | PGUP|PGDN | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift |V-UP |V-DWN|MUTE | v | b | n | m | , |INSRT| DEL | Shift | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | + * \-----------------------------------------------------------------------------------------/ + * + */ + [_FN1_LAYER] = LAYOUT( /* Base */ + 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, KC_DEL, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN2_LAYER), KC_TRNS +), + /* + * Layer _FN2_LAYER + * ,-----------------------------------------------------------------------------------------. + * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | F7 |LEDOF|LEDON| F10 | F11 | F12 | Bksp | + * |-----------------------------------------------------------------------------------------+ + * | Tab | q | UP | e | r | t | y | u | i | o | PS | HOME | END | \ | + * |-----------------------------------------------------------------------------------------+ + * | Esc |LEFT |DOWN |RIGHT| f | g | h | j | k | l | PGUP|PGDN | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift | z | x | c | v | b | n | m | , |INSRT| DEL | Shift | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | + * \-----------------------------------------------------------------------------------------/ + * + */ + [_FN2_LAYER] = LAYOUT( /* Base */ + KC_TRNS, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, KC_TRNS, KC_TRNS, KC_TRNS, KC_AP_LED_OFF, KC_AP_LED_ON, KC_AP_LED_NEXT_INTENSITY, KC_AP_LED_SPEED, KC_TRNS, KC_TRNS, + MO(_FN2_LAYER), KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN1_LAYER), MO(_FN2_LAYER), KC_TRNS + ), +}; +// clang-format on diff --git a/keyboards/annepro2/ld/HT32F52342_ANNEPRO2.ld b/keyboards/annepro2/ld/HT32F52342_ANNEPRO2.ld new file mode 100644 index 000000000000..544400b94839 --- /dev/null +++ b/keyboards/annepro2/ld/HT32F52342_ANNEPRO2.ld @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2013-2016 Fabio UJonathan A. Kollaschtzig, http://fabioutzig.com + * (c) 2020 Yaotian Feng (Codetector) + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/* + * HT32F52342 w/ Anne Pro 2 bootloader memory setup. + */ +MEMORY { + flash0 : org = 0x00004000, len = 64k - 16k /* firmware */ + flash1 : org = 0x00000000, len = 0 + flash2 : org = 0x00000000, len = 0 + flash3 : org = 0x00000000, len = 0 + flash4 : org = 0x00000000, len = 0 + flash5 : org = 0x00000000, len = 0 + flash6 : org = 0x00000000, len = 0 + flash7 : org = 0x00000000, len = 0 + ram0 : org = 0x20000000, len = 8k - 4 /* RAM */ + ram1 : org = 0x00000000, len = 0 + ram2 : org = 0x00000000, len = 0 + ram3 : org = 0x00000000, len = 0 + ram4 : org = 0x00000000, len = 0 + ram5 : org = 0x00000000, len = 0 + ram6 : org = 0x00000000, len = 0 + ram7 : org = 0x00000000, len = 0 +} + +/* For each data/text section two region are defined, a virtual region + and a load region (_LMA suffix).*/ + +/* Flash region to be used for exception vectors.*/ +REGION_ALIAS("VECTORS_FLASH", flash0); +REGION_ALIAS("VECTORS_FLASH_LMA", flash0); + +/* Flash region to be used for constructors and destructors.*/ +REGION_ALIAS("XTORS_FLASH", flash0); +REGION_ALIAS("XTORS_FLASH_LMA", flash0); + +/* Flash region to be used for code text.*/ +REGION_ALIAS("TEXT_FLASH", flash0); +REGION_ALIAS("TEXT_FLASH_LMA", flash0); + +/* Flash region to be used for read only data.*/ +REGION_ALIAS("RODATA_FLASH", flash0); +REGION_ALIAS("RODATA_FLASH_LMA", flash0); + +/* Flash region to be used for various.*/ +REGION_ALIAS("VARIOUS_FLASH", flash0); +REGION_ALIAS("VARIOUS_FLASH_LMA", flash0); + +/* Flash region to be used for RAM(n) initialization data.*/ +REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0); + +/* RAM region to be used for Main stack. This stack accommodates the processing + of all exceptions and interrupts.*/ +REGION_ALIAS("MAIN_STACK_RAM", ram0); + +/* RAM region to be used for the process stack. This is the stack used by + the main() function.*/ +REGION_ALIAS("PROCESS_STACK_RAM", ram0); + +/* RAM region to be used for data segment.*/ +REGION_ALIAS("DATA_RAM", ram0); +REGION_ALIAS("DATA_RAM_LMA", flash0); + +/* RAM region to be used for BSS segment.*/ +REGION_ALIAS("BSS_RAM", ram0); + +/* RAM region to be used for the default heap.*/ +REGION_ALIAS("HEAP_RAM", ram0); + +/* Generic rules inclusion.*/ +INCLUDE rules.ld diff --git a/keyboards/annepro2/matrix.c b/keyboards/annepro2/matrix.c new file mode 100644 index 000000000000..a1585e4ddf1f --- /dev/null +++ b/keyboards/annepro2/matrix.c @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2018 Charlie Waters + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include +#include +#include "timer.h" +#include "wait.h" +#include "print.h" +#include "matrix.h" +#include "annepro2.h" + +pin_t row_list[MATRIX_ROWS] = MATRIX_ROW_PINS; +pin_t col_list[MATRIX_COLS] = MATRIX_COL_PINS; + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool matrix_has_changed = false; + // cache of input ports for columns + static uint16_t port_cache[4]; + // scan each row + for (int row = 0; row < MATRIX_ROWS; row++) { + palClearLine(row_list[row]); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + // read i/o ports + port_cache[0] = palReadPort(IOPORTA); + port_cache[1] = palReadPort(IOPORTB); + port_cache[2] = palReadPort(IOPORTC); + port_cache[3] = palReadPort(IOPORTD); + palSetLine(row_list[row]); + + // get columns from ports + matrix_row_t data = 0; + for (int col = 0; col < MATRIX_COLS; ++col) { + pin_t line = col_list[col]; + uint16_t port = port_cache[HT32_PAL_IDX(PAL_PORT(line))]; + data |= (((port & (1 << PAL_PAD(line))) ? 0 : 1) << col); + } + + if (current_matrix[row] != data) { + current_matrix[row] = data; + matrix_has_changed = true; + } + } + return matrix_has_changed; +} \ No newline at end of file diff --git a/keyboards/annepro2/mcuconf.h b/keyboards/annepro2/mcuconf.h new file mode 100644 index 000000000000..8265fe6eb94f --- /dev/null +++ b/keyboards/annepro2/mcuconf.h @@ -0,0 +1,62 @@ +/* + ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +#pragma once + +#include "nvic.h" + +#define HT32F52342_MCUCONF + +/* + * HAL driver system settings. + */ + +/* + * Clock configuration. + */ + +// This configuration: +// 8 MHz HSE crystal +// PLL multiplies HSE to 48 MHz core and peripheral clock +// 48 MHz to UART +// 48 MHz to USB + +#define HT32_CK_HSE_FREQUENCY 8000000UL // 8 MHz +#define HT32_CKCU_SW CKCU_GCCR_SW_PLL +#define HT32_PLL_USE_HSE TRUE +#define HT32_PLL_FBDIV 6 // 8 MHz -> 48 MHz +#define HT32_PLL_OTDIV 0 +#define HT32_AHB_PRESCALER 1 // 48 MHz -> 48 MHz +#define HT32_USART_PRESCALER 1 // 48 MHz +#define HT32_USB_PRESCALER 1 // 48 MHz -> 48 MHz +// SysTick uses processor clock at 48MHz +#define HT32_ST_USE_HCLK TRUE + +/* + * Peripheral driver settings + */ + +#define HT32_SERIAL_USE_USART0 TRUE +#define HT32_USART0_IRQ_PRIORITY 6 + +#define HT32_SERIAL_USE_USART1 TRUE +#define HT32_USART1_IRQ_PRIORITY 7 + +/* + * USB driver settings + */ + +#define HT32_USB_USE_USB0 TRUE +#define HT32_USB_USB0_IRQ_PRIORITY 5 diff --git a/keyboards/annepro2/protocol.c b/keyboards/annepro2/protocol.c new file mode 100644 index 000000000000..171ac5c23955 --- /dev/null +++ b/keyboards/annepro2/protocol.c @@ -0,0 +1,116 @@ +/* + * (c) 2021 by Tomasz bla Fortuna + * License: GPLv2 + * + * This file is shared with the Shine firmware. Keep it in sync (and in the + * shine's clang formatting). + * + * Implementation of a robust serial protocol which can handle single dropped + * characters during transit without locking. + * + * At 115200, transmitting the shortest message takes 0.043ms, at 9600 - 0.52ms. + * + */ + +#include "protocol.h" +#include "board.h" +#include "ch.h" +#include "hal.h" + +/* UART communication protocol state */ +protocol_t proto; + +void protoInit(protocol_t *proto, void (*callback)(const message_t *)) { + proto->previousId = 0; + proto->callback = callback; + proto->state = STATE_SYNC_1; + proto->errors = 0; +} + +static uint8_t msgId = 0; +void protoTx(uint8_t cmd, const unsigned char *buf, int payloadSize, int retries) { + chDbgCheck(payloadSize <= MAX_PAYLOAD_SIZE); + + const uint8_t header[5] = { + 0x7A, 0x1D, cmd, ++msgId, payloadSize, + }; + + /* We don't implement ACKs, yet some messages should not be lost. */ + for (int i = 0; i < retries; i++) { + sdWrite(&PROTOCOL_SD, header, sizeof(header)); + if (payloadSize) sdWrite(&PROTOCOL_SD, buf, payloadSize); + } +} + +static inline void messageReceived(protocol_t *proto) { + if (proto->buffer.msgId != proto->previousId) { + /* It's not a resend / duplicate */ + proto->callback(&proto->buffer); + proto->previousId = proto->buffer.msgId; + } + proto->state = STATE_SYNC_1; +} + +void protoConsume(protocol_t *proto, uint8_t byte) { + switch (proto->state) { + case STATE_SYNC_1: + if (byte == 0x7A) { + proto->state = STATE_SYNC_2; + } else { + proto->errors++; + } + return; + + case STATE_SYNC_2: + if (byte == 0x1D) { + proto->state = STATE_CMD; + } else { + proto->state = STATE_SYNC_1; + proto->errors++; + } + return; + + case STATE_CMD: + proto->buffer.command = byte; + proto->state = STATE_ID; + return; + + case STATE_ID: + proto->buffer.msgId = byte; + proto->state = STATE_PAYLOAD_SIZE; + return; + + case STATE_PAYLOAD_SIZE: + proto->buffer.payloadSize = byte; + if (proto->buffer.payloadSize > MAX_PAYLOAD_SIZE) { + proto->buffer.payloadSize = MAX_PAYLOAD_SIZE; + proto->errors++; + } + proto->payloadPosition = 0; + if (proto->buffer.payloadSize == 0) { + /* No payload - whole message received */ + messageReceived(proto); + } else { + proto->state = STATE_PAYLOAD; + } + return; + + case STATE_PAYLOAD: + /* NOTE: This could be read with sdReadTimeout probably, but that breaks + * abstraction */ + proto->buffer.payload[proto->payloadPosition] = byte; + proto->payloadPosition++; + if (proto->payloadPosition == proto->buffer.payloadSize) { + /* Payload read - message received */ + messageReceived(proto); + } + return; + } +} + +void protoSilence(protocol_t *proto) { + if (proto->state != STATE_SYNC_1) { + proto->state = STATE_SYNC_1; + proto->errors++; + } +} diff --git a/keyboards/annepro2/protocol.h b/keyboards/annepro2/protocol.h new file mode 100644 index 000000000000..d1a05683c87b --- /dev/null +++ b/keyboards/annepro2/protocol.h @@ -0,0 +1,111 @@ +/* + * (c) 2021 by Tomasz bla Fortuna + * License: GPLv2 + * + * This file is shared with the Shine firmware. Keep it in sync (and in the + * shine's clang formatting). + */ + +#pragma once +#include + +#define PROTOCOL_SD SD0 + +enum { + /* + * Main -> LED + */ + /* Basic config */ + CMD_LED_ON = 0x01, + CMD_LED_OFF = 0x02, + + CMD_LED_SET_PROFILE = 0x03, + CMD_LED_NEXT_PROFILE = 0x04, + CMD_LED_PREV_PROFILE = 0x05, + + CMD_LED_NEXT_INTENSITY = 0x06, + CMD_LED_NEXT_ANIMATION_SPEED = 0x07, + + /* Masks */ + /* Override a key color, eg. capslock */ + CMD_LED_MASK_SET_KEY = 0x10, + /* Override all keys in a row with configurable colors */ + CMD_LED_MASK_SET_ROW = 0x11, + + /* Override all keys with single color (eg. foreground color) */ + CMD_LED_MASK_SET_MONO = 0x12, + + /* Reactive / status */ + CMD_LED_GET_STATUS = 0x20, + CMD_LED_KEY_BLINK = 0x21, + CMD_LED_KEY_DOWN = 0x22, + CMD_LED_KEY_UP = 0x23, /* TODO */ + CMD_LED_IAP = 0x24, + + /* LED -> Main */ + /* Payload with data to send over HID */ + CMD_LED_DEBUG = 0x40, + + /* Number of profiles, current profile, on/off state, + reactive flag, brightness, errors */ + CMD_LED_STATUS = 0x41, +}; + +/* 1 ROW * 14 COLS * 4B (RGBX) = 56 + header prefix. */ +#define MAX_PAYLOAD_SIZE 64 + +/** Enum of the states used for the serial protocol finite-state automaton */ +enum protoState { + /* 2-byte initial start-of-message sync */ + STATE_SYNC_1, + STATE_SYNC_2, + /* Waiting for command byte */ + STATE_CMD, + /* Waiting for ID byte */ + STATE_ID, + /* Waiting for payload size */ + STATE_PAYLOAD_SIZE, + /* Reading payload until payloadPosition == payloadSize */ + STATE_PAYLOAD, +}; + +/* Buffer holding a single message */ +typedef struct { + uint8_t command; + uint8_t msgId; + uint8_t payloadSize; + uint8_t payload[MAX_PAYLOAD_SIZE]; +} message_t; + +/* Internal protocol state */ +typedef struct { + /* Callback to call upon receiving a valid message */ + void (*callback)(const message_t *); + + /* Number of read payload bytes */ + uint8_t payloadPosition; + + /* Current finite-state-automata state */ + enum protoState state; + + uint8_t previousId; + uint8_t errors; + + /* Currently received message */ + message_t buffer; +} protocol_t; + +/* NOTE: This didn't work when defined on stack */ +extern protocol_t proto; + +/* Init state */ +extern void protoInit(protocol_t *proto, void (*callback)(const message_t *)); + +/* Consume one byte and push state forward - might call the callback */ +extern void protoConsume(protocol_t *proto, uint8_t byte); + +/* Prolonged silence - reset state */ +extern void protoSilence(protocol_t *proto); + +/* Transmit message */ +extern void protoTx(uint8_t cmd, const unsigned char *buf, int payloadSize, int retries); diff --git a/keyboards/annepro2/readme.md b/keyboards/annepro2/readme.md new file mode 100644 index 000000000000..e3e0b95be43f --- /dev/null +++ b/keyboards/annepro2/readme.md @@ -0,0 +1,50 @@ +# Anne Pro 2 rev. C15 and C18 QMK firmware + +## Introduction + +This is the QMK firmware repository for the Anne Pro 2 rev. C15 and C18 keyboard. + +## Layouts + +Keyboard has 60% ANSI standard layout. + +## How to compile + +After setting up your build environment, you can compile the Anne Pro 2 C18 default keymap by using: + + make annepro2/c18:default + +If you want to compile the Anne Pro 2 C15 default keymap use: + + make annepro2/c15:default + +## Installing + +### Get AnnePro2 Tools + +If you want the executable instead of compiling it yourself, [download it here](https://ci.codetector.org/job/OpenAnnePro/job/AnnePro2-Tools/job/master/). +Windows and Linux versions are available. Otherwise, follow the steps below: + +0. Install the latest stable `rust` toolchain using [rustup](https://rustup.rs/) +0. Also install [Visual Studio Community edition](https://visualstudio.microsoft.com/downloads/) +including the C/C++ module to prevent errors while compiling +0. Download or Clone the [AnnePro2-Tools](https://github.com/OpenAnnePro/AnnePro2-Tools) project. +0. Compile the tool using +```bash +cargo build --release +``` +0. The compiled tool should be in `./target/release/annepro2_tools` (In later I will refer to this as `annepro2_tools`) + +### Flashing the firmware +0. Put the keyboard into DFU/IAP mode by unplugging the keyboard, then holding ESC while plugging it back in. +0. Run annepro2_tools with the firmware you just built. + +**Please substitute with the correct paths and correct bin file if you chose another keymap profile** +```bash +annepro2_tools annepro2_c15_default.bin +``` + +If the tool can't find the keyboard please double check you have the keyboard in IAP mode. + + +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). \ No newline at end of file From 59954322025b7f7bea4b7dc08148b5702f08e030 Mon Sep 17 00:00:00 2001 From: FearlessSpiff Date: Tue, 8 Mar 2022 03:17:30 +0100 Subject: [PATCH 0303/1832] [Keymap] add mouse controls to Mechwilds Mercutio FearlessSpiff (#16566) --- .../mercutio/keymaps/fearless_spiff/config.h | 9 ++++++++ .../mercutio/keymaps/fearless_spiff/keymap.c | 22 +++++++++++++------ .../mercutio/keymaps/fearless_spiff/readme.md | 7 +++++- .../mercutio/keymaps/fearless_spiff/rules.mk | 2 +- 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h index 9d588ed8c08f..f29c91f9e000 100644 --- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h @@ -17,3 +17,12 @@ #pragma once #define TAPPING_TERM 180 + +#define MK_KINETIC_SPEED +#define MOUSEKEY_DELAY 8 +#define MOUSEKEY_INTERVAL 5 +#define MOUSEKEY_MOVE_DELTA 1 +#define MOUSEKEY_INITIAL_SPEED 3 +#define MOUSEKEY_BASE_SPEED 120 +#define MOUSEKEY_DECELERATED_SPEED 100 +#define MOUSEKEY_ACCELERATED_SPEED 1000 diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c index ada92103c3ec..36dcd4816fa5 100644 --- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c @@ -36,7 +36,8 @@ enum layers { QWERT, FN_1, - FN_2 + FN_2, + FN_MOUSE }; enum custom_user_keycodes { @@ -105,26 +106,33 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [QWERT] = LAYOUT_all( + [QWERT] = LAYOUT_all( KC_ENC, TD(TD_TAB_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT, + MO(FN_1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT, KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, LT(2,KC_SPC), LT(2,KC_SPC), LT(2,KC_SPC), KC_RALT, DE_MINS, KC_RCTL ), + KC_LCTL, KC_LGUI, KC_LALT, LT(FN_2,KC_SPC), LT(FN_2,KC_SPC), LT(FN_2,KC_SPC), KC_RALT, DE_MINS, KC_RCTL ), [FN_1] = LAYOUT_all( KC_MUTE, KC_GESC, _______, _______, _______, DE_LCBR, DE_RCBR, _______, DE_UDIA, KC_UP, DE_ODIA, DE_QUES, KC_DEL, _______, DE_ADIA, DE_SS, _______, DE_LPRN, DE_RPRN, _______, KC_LEFT, KC_DOWN, KC_RIGHT, DE_HASH, _______, - _______, DE_CIRC, DE_ACUT, _______, _______, DE_LBRC, DE_RBRC, KC_HOME, KC_END, DE_QUOT, DE_DQUO, DE_EQL, - _______, _______, _______, _______, _______, _______, DE_BSLS, DE_SLSH, DE_TILD ), + _______, _______, DE_CIRC, DE_ACUT, _______, DE_LBRC, DE_RBRC, KC_HOME, KC_END, DE_QUOT, DE_DQUO, DE_EQL, + _______, _______, _______, MO(FN_MOUSE), MO(FN_MOUSE), MO(FN_MOUSE), DE_BSLS, DE_SLSH, DE_TILD ), [FN_2] = LAYOUT_all( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_BSPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ ) + _______, _______, _______, _______, _______, _______, _______, _______, _______ ), + + [FN_MOUSE] = LAYOUT_all( + _______, + _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, _______, + _______, _______, _______, _______, KC_ACL0, _______, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; #ifdef ENCODER_ENABLE diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md index 33240ffbcd9b..85b3490608a7 100644 --- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md @@ -9,16 +9,21 @@ Features - Additional encoder functionality - While holding FN_1, page up and down - While holding FN_2, volume up and down + - Mouse controls by holding Caps-Space - Use my templates for your own layout overview at [Keyboard Layout Editor](http://www.keyboard-layout-editor.com) using my gist [here](https://gist.github.com/FearlessSpiff) + - Shout out to [KMonad](https://github.com/kmonad/kmonad) which enabled my laptop keyboard to behave like my Mercutio! QWERT Layer ![image](https://user-images.githubusercontent.com/1927259/148683284-04932e15-a34d-451e-b657-335780033f36.png) FN_1 Layer -![image](https://user-images.githubusercontent.com/1927259/148683299-f2c80403-3f29-4ba8-9fc4-957729f30b05.png) +![image](https://user-images.githubusercontent.com/1927259/157032746-8aa68e1c-27b9-4cf5-88ed-a071d8238f56.png) FN_2 layer ![image](https://user-images.githubusercontent.com/1927259/148683306-364bc59c-b41b-4092-b93b-d7b4fc58567b.png) +FN_MOUSE layer +![image](https://user-images.githubusercontent.com/1927259/157032817-83922578-8932-42bf-a2d2-f785136b4d4e.png) + diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk index 16f26944e8a4..fc0ec2815382 100644 --- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk @@ -1,7 +1,7 @@ WPM_ENABLE = yes TAP_DANCE_ENABLE = yes VIA_ENABLE = no -MOUSEKEY_ENABLE = no +MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes # Audio control and System control KEY_LOCK_ENABLE = no CONSOLE_ENABLE = no From 6928bce46185eafde03dc1e0c3fc6a582ad77999 Mon Sep 17 00:00:00 2001 From: yiancar Date: Tue, 8 Mar 2022 02:28:26 +0000 Subject: [PATCH 0304/1832] [Keyboard] Add Cassini keyboard (#16522) Co-authored-by: Ryan Co-authored-by: yiancar --- keyboards/protozoa/cassini/cassini.c | 21 +++++ keyboards/protozoa/cassini/cassini.h | 34 ++++++++ keyboards/protozoa/cassini/config.h | 80 +++++++++++++++++++ keyboards/protozoa/cassini/info.json | 10 +++ .../protozoa/cassini/keymaps/default/keymap.c | 32 ++++++++ .../cassini/keymaps/default/readme.md | 5 ++ .../protozoa/cassini/keymaps/via/keymap.c | 46 +++++++++++ .../protozoa/cassini/keymaps/via/readme.md | 5 ++ .../protozoa/cassini/keymaps/via/rules.mk | 1 + keyboards/protozoa/cassini/readme.md | 34 ++++++++ keyboards/protozoa/cassini/rules.mk | 26 ++++++ 11 files changed, 294 insertions(+) create mode 100644 keyboards/protozoa/cassini/cassini.c create mode 100644 keyboards/protozoa/cassini/cassini.h create mode 100644 keyboards/protozoa/cassini/config.h create mode 100644 keyboards/protozoa/cassini/info.json create mode 100644 keyboards/protozoa/cassini/keymaps/default/keymap.c create mode 100644 keyboards/protozoa/cassini/keymaps/default/readme.md create mode 100644 keyboards/protozoa/cassini/keymaps/via/keymap.c create mode 100644 keyboards/protozoa/cassini/keymaps/via/readme.md create mode 100644 keyboards/protozoa/cassini/keymaps/via/rules.mk create mode 100644 keyboards/protozoa/cassini/readme.md create mode 100644 keyboards/protozoa/cassini/rules.mk diff --git a/keyboards/protozoa/cassini/cassini.c b/keyboards/protozoa/cassini/cassini.c new file mode 100644 index 000000000000..80eb279bf34f --- /dev/null +++ b/keyboards/protozoa/cassini/cassini.c @@ -0,0 +1,21 @@ +/* Copyright 2022 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #include "cassini.h" + +void led_init_ports(void) { + // Set our LED pins as open drain outputs + palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN); +} diff --git a/keyboards/protozoa/cassini/cassini.h b/keyboards/protozoa/cassini/cassini.h new file mode 100644 index 000000000000..27e91906e99a --- /dev/null +++ b/keyboards/protozoa/cassini/cassini.h @@ -0,0 +1,34 @@ +/* Copyright 2022 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define XXX KC_NO + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2C, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D } \ +} diff --git a/keyboards/protozoa/cassini/config.h b/keyboards/protozoa/cassini/config.h new file mode 100644 index 000000000000..cdcef1e0ac0b --- /dev/null +++ b/keyboards/protozoa/cassini/config.h @@ -0,0 +1,80 @@ +/* +Copyright 2022 Yiancar-Designs + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published byß +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x8968 +#define PRODUCT_ID 0x4341 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Yiancar-Designs +#define PRODUCT Cassini + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +#define MATRIX_ROW_PINS { A2, B9, B8, B5, B4 } +#define MATRIX_COL_PINS { A1, B1, B0, A7, A6, A5, A4, A3, B2, B10, B11, B12, B13, B14 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Ensure we jump to bootloader if the RESET keycode was pressed */ +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE + +/* Indicator LEDs */ +#define LED_CAPS_LOCK_PIN B6 +#define LED_PIN_ON_STATE 0 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/protozoa/cassini/info.json b/keyboards/protozoa/cassini/info.json new file mode 100644 index 000000000000..be662952e232 --- /dev/null +++ b/keyboards/protozoa/cassini/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "Cassini", + "url": "https://yiancar-designs.com", + "maintainer": "Yiancar-Designs", + "layouts": { + "LAYOUT_all": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}] + } + } +} diff --git a/keyboards/protozoa/cassini/keymaps/default/keymap.c b/keyboards/protozoa/cassini/keymaps/default/keymap.c new file mode 100644 index 000000000000..b631c1f66aa4 --- /dev/null +++ b/keyboards/protozoa/cassini/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +/* Copyright 2022 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( /* Base */ + 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_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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1)), + + [1] = LAYOUT_all( /* FN */ + 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, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/protozoa/cassini/keymaps/default/readme.md b/keyboards/protozoa/cassini/keymaps/default/readme.md new file mode 100644 index 000000000000..b12cdddebd02 --- /dev/null +++ b/keyboards/protozoa/cassini/keymaps/default/readme.md @@ -0,0 +1,5 @@ +# The default keymap for Cassini. + +![Layer 0](https://i.imgur.com/ETGhLKR.png) + +![Layer 1](https://i.imgur.com/JgUsHhA.png) diff --git a/keyboards/protozoa/cassini/keymaps/via/keymap.c b/keyboards/protozoa/cassini/keymaps/via/keymap.c new file mode 100644 index 000000000000..ebbc577f8df0 --- /dev/null +++ b/keyboards/protozoa/cassini/keymaps/via/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2022 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( /* Base */ + 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_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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1)), + +[1] = LAYOUT_all( /* FN */ + 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, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +[2] = LAYOUT_all( /* Empty for dynamic keymaps */ + 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, 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, 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, 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), + +[3] = LAYOUT_all( /* Empty for dynamic keymaps */ + 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, 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, 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, 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) +}; diff --git a/keyboards/protozoa/cassini/keymaps/via/readme.md b/keyboards/protozoa/cassini/keymaps/via/readme.md new file mode 100644 index 000000000000..d101a027bb4c --- /dev/null +++ b/keyboards/protozoa/cassini/keymaps/via/readme.md @@ -0,0 +1,5 @@ +# The default keymap for Cassini. VIA support enabled. + +![Layer 0](https://i.imgur.com/ETGhLKR.png) + +![Layer 1](https://i.imgur.com/JgUsHhA.png) \ No newline at end of file diff --git a/keyboards/protozoa/cassini/keymaps/via/rules.mk b/keyboards/protozoa/cassini/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/protozoa/cassini/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/protozoa/cassini/readme.md b/keyboards/protozoa/cassini/readme.md new file mode 100644 index 000000000000..7e719a93d28c --- /dev/null +++ b/keyboards/protozoa/cassini/readme.md @@ -0,0 +1,34 @@ +# Cassini + +This is a standard 60% layout PCB. It supports VIA. + +* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A 60% keyboard with STM32F072CB +* Hardware Availability: https://protozoa.studio + +![Cassini](https://i.imgur.com/4vYgmRjh.png) + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make protozoa/cassini:default + +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). + +### Reset + +- Unplug +- Hold Escape +- Plug In +- Unplug +- Release Escape + +### Flash + +- Unplug +- Hold Escape +- Plug In +- Flash using QMK Toolbox or CLI (`make protozoa/cassini::flash`) diff --git a/keyboards/protozoa/cassini/rules.mk b/keyboards/protozoa/cassini/rules.mk new file mode 100644 index 000000000000..169c45b479df --- /dev/null +++ b/keyboards/protozoa/cassini/rules.mk @@ -0,0 +1,26 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + +# Do not put the microcontroller into power saving mode +# when we get USB suspend event. We want it to keep updating +# backlight effects. +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 8bcac1c8f73ba79a083d69cffaa54a133820de9b Mon Sep 17 00:00:00 2001 From: Steven Karrmann Date: Mon, 7 Mar 2022 21:39:58 -0500 Subject: [PATCH 0305/1832] [Keyboard] Add Morizon (#16549) Co-authored-by: Drashna Jaelre --- keyboards/morizon/config.h | 46 +++++++++++++ keyboards/morizon/info.json | 77 ++++++++++++++++++++++ keyboards/morizon/keymaps/default/keymap.c | 50 ++++++++++++++ keyboards/morizon/morizon.c | 17 +++++ keyboards/morizon/morizon.h | 48 ++++++++++++++ keyboards/morizon/readme.md | 27 ++++++++ keyboards/morizon/rules.mk | 18 +++++ 7 files changed, 283 insertions(+) create mode 100644 keyboards/morizon/config.h create mode 100644 keyboards/morizon/info.json create mode 100644 keyboards/morizon/keymaps/default/keymap.c create mode 100644 keyboards/morizon/morizon.c create mode 100644 keyboards/morizon/morizon.h create mode 100644 keyboards/morizon/readme.md create mode 100644 keyboards/morizon/rules.mk diff --git a/keyboards/morizon/config.h b/keyboards/morizon/config.h new file mode 100644 index 000000000000..bf9e1b9a3518 --- /dev/null +++ b/keyboards/morizon/config.h @@ -0,0 +1,46 @@ +/* +Copyright 2022 Steven Karrmann + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Steven Karrmann +#define PRODUCT Morizon + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 7 + +#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5 } +#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 } +#define UNUSED_PINS { F4 } + +#define DIODE_DIRECTION COL2ROW + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/morizon/info.json b/keyboards/morizon/info.json new file mode 100644 index 000000000000..5e22001c790f --- /dev/null +++ b/keyboards/morizon/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "Morizon", + "url": "https://github.com/skarrmann/morizon", + "maintainer": "Steven Karrmann", + "layouts": { + "LAYOUT": { + "layout": [ + { "x": 0, "y": 0 }, + { "x": 1, "y": 0 }, + { "x": 2, "y": 0 }, + { "x": 3, "y": 0 }, + { "x": 4, "y": 0 }, + { "x": 5, "y": 0 }, + { "x": 8, "y": 0 }, + { "x": 9, "y": 0 }, + { "x": 10, "y": 0 }, + { "x": 11, "y": 0 }, + { "x": 12, "y": 0 }, + { "x": 13, "y": 0 }, + { "x": 0, "y": 1 }, + { "x": 1, "y": 1 }, + { "x": 2, "y": 1 }, + { "x": 3, "y": 1 }, + { "x": 4, "y": 1 }, + { "x": 5, "y": 1 }, + { "x": 8, "y": 1 }, + { "x": 9, "y": 1 }, + { "x": 10, "y": 1 }, + { "x": 11, "y": 1 }, + { "x": 12, "y": 1 }, + { "x": 13, "y": 1 }, + { "x": 0, "y": 2 }, + { "x": 1, "y": 2 }, + { "x": 2, "y": 2 }, + { "x": 3, "y": 2 }, + { "x": 4, "y": 2 }, + { "x": 5, "y": 2 }, + { "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": 0, "y": 3 }, + { "x": 1, "y": 3 }, + { "x": 2, "y": 3 }, + { "x": 3, "y": 3 }, + { "x": 4, "y": 3 }, + { "x": 5, "y": 3 }, + { "x": 6, "y": 3 }, + { "x": 7, "y": 3 }, + { "x": 8, "y": 3 }, + { "x": 9, "y": 3 }, + { "x": 10, "y": 3 }, + { "x": 11, "y": 3 }, + { "x": 12, "y": 3 }, + { "x": 13, "y": 3 }, + { "x": 0, "y": 4 }, + { "x": 1, "y": 4 }, + { "x": 2, "y": 4 }, + { "x": 3, "y": 4 }, + { "x": 4, "y": 4 }, + { "x": 5, "y": 4 }, + { "x": 6, "y": 4 }, + { "x": 7, "y": 4 }, + { "x": 8, "y": 4 }, + { "x": 9, "y": 4 }, + { "x": 10, "y": 4 }, + { "x": 11, "y": 4 }, + { "x": 12, "y": 4 }, + { "x": 13, "y": 4 } + ] + } + } +} diff --git a/keyboards/morizon/keymaps/default/keymap.c b/keyboards/morizon/keymaps/default/keymap.c new file mode 100644 index 000000000000..9b7ce4b2913d --- /dev/null +++ b/keyboards/morizon/keymaps/default/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2022 Steven Karrmann + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _SYMBOL, + _FUNCTION +}; + +#define MO_SYMB MO(_SYMBOL) +#define MO_FUNC MO(_FUNCTION) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_CLCK, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSLS, + KC_GRV , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS, + KC_EQL , KC_A , KC_S , KC_D , KC_F , KC_G , KC_LBRC, KC_RBRC, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_ESC , KC_ENT , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, KC_LGUI, KC_APP , KC_DEL , KC_TAB , MO_SYMB, MO_FUNC, KC_SPC , KC_BSPC, KC_APP , KC_RGUI, KC_RALT, KC_RCTL + ), + [_SYMBOL] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_TILD, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_UNDS, + KC_PLUS, KC_EXLM, KC_LPRN, KC_RPRN, KC_DLR , KC_AMPR, _______, _______, KC_PIPE, KC_HASH, KC_LCBR, KC_RCBR, KC_COLN, KC_DQUO, + _______, KC_AT , KC_LBRC, KC_RBRC, KC_BSLS, KC_PERC, _______, _______, KC_CIRC, KC_ASTR, KC_LABK, KC_RABK, KC_QUES, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FUNCTION] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_PSCR, KC_SLCK, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______, + _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_INS , _______, _______, KC_CLCK, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, + _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; \ No newline at end of file diff --git a/keyboards/morizon/morizon.c b/keyboards/morizon/morizon.c new file mode 100644 index 000000000000..1196375cd0c2 --- /dev/null +++ b/keyboards/morizon/morizon.c @@ -0,0 +1,17 @@ +/* Copyright 2022 Steven Karrmann + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "morizon.h" diff --git a/keyboards/morizon/morizon.h b/keyboards/morizon/morizon.h new file mode 100644 index 000000000000..a6c84ee502a6 --- /dev/null +++ b/keyboards/morizon/morizon.h @@ -0,0 +1,48 @@ +/* Copyright 2022 Steven Karrmann + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d \ +) \ +{ \ + { k00 , k01, k02, k03, k04, k05, KC_NO }, \ + { k10 , k11, k12, k13, k14, k15, KC_NO }, \ + { k20 , k21, k22, k23, k24, k25, k26 }, \ + { k30 , k31, k32, k33, k34, k35, k36 }, \ + { k40 , k41, k42, k43, k44, k45, k46 }, \ + { KC_NO, k06, k07, k08, k09, k0a, k0b }, \ + { KC_NO, k16, k17, k18, k19, k1a, k1b }, \ + { k27 , k28, k29, k2a, k2b, k2c, k2d }, \ + { k37 , k38, k39, k3a, k3b, k3c, k3d }, \ + { k47 , k48, k49, k4a, k4b, k4c, k4d } \ +} diff --git a/keyboards/morizon/readme.md b/keyboards/morizon/readme.md new file mode 100644 index 000000000000..5c95e9788c72 --- /dev/null +++ b/keyboards/morizon/readme.md @@ -0,0 +1,27 @@ +# Morizon + +![Morizon](https://i.imgur.com/2EEP412h.jpg) + +A simple 66-key (5x14) ortholinear keyboard, powered by an Arduino Pro Micro. The design is based on the [Horizon keyboard](https://github.com/skarrmann/horizon). + +* Keyboard Maintainer: [Steven Karrmann](https://github.com/skarrmann) +* Hardware Supported: Morizon PCBs, Arduino Pro Micro +* Hardware Availability: [Morizon GitHub repository](https://github.com/skarrmann/morizon) + +Make example for this keyboard (after setting up your build environment): + + make morizon:default + +Flashing example for this keyboard: + + make morizon:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. +* **Physical reset button**: Briefly press the button on the top center of the PCB. +* **Keycode in layout**: Press the key mapped to `RESET` if it is available. diff --git a/keyboards/morizon/rules.mk b/keyboards/morizon/rules.mk new file mode 100644 index 000000000000..9cfcaf1bbcb1 --- /dev/null +++ b/keyboards/morizon/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +COMMAND_ENABLE = no # Commands for debug and configuration +CONSOLE_ENABLE = yes # Console for debug +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From f0d27e22aa8994fd1650680b313b9ae8d03dcb5a Mon Sep 17 00:00:00 2001 From: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Tue, 8 Mar 2022 03:44:49 +0100 Subject: [PATCH 0306/1832] [Keyboard] Change vendor ID for sick68 keyboard (#16563) --- keyboards/handwired/sick68/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/sick68/config.h b/keyboards/handwired/sick68/config.h index 65583af18de8..2205126cc35d 100644 --- a/keyboards/handwired/sick68/config.h +++ b/keyboards/handwired/sick68/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED +#define VENDOR_ID 0x5E68 #define PRODUCT_ID 0x5F00 #define DEVICE_VER 0x0001 #define MANUFACTURER umbynos From c84d361e9575e91cca8d0faaa6af1b787c467b40 Mon Sep 17 00:00:00 2001 From: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Tue, 8 Mar 2022 11:45:28 +0900 Subject: [PATCH 0307/1832] [Keyboard] Change maximum LED brightness for naked48 (#16564) --- .../naked48/keymaps/via_rgb_matrix/config.h | 30 +++++++++++-------- .../salicylic_acid3/naked48/rev1/config.h | 22 +------------- 2 files changed, 18 insertions(+), 34 deletions(-) diff --git a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h index 0920b2bc3529..7deffe33ffa4 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h @@ -28,17 +28,21 @@ #define DRIVER_LED_TOTAL 48 #ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_KEYPRESSES // reacts to keypresses -// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -// # 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) -// # 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) -// # 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 -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_LIMIT_VAL 50 -# define RGB_MATRIX_VAL_STEP 5 -# define RGB_MATRIX_SPD_STEP 10 + #define RGB_MATRIX_KEYPRESSES // reacts to keypresses +// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +// #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects +// #define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off +// #define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects + #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #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) + #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) + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 +// #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set + #define RGB_MATRIX_STARTUP_HUE 0 // Sets the default hue value, if none has been set + #define RGB_MATRIX_STARTUP_SAT 255 // Sets the default saturation value, if none has been set + #define RGB_MATRIX_STARTUP_VAL 50 // Sets the default brightness value, if none has been set + #define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set +// #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature) +// #define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. + // If RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR #endif - diff --git a/keyboards/salicylic_acid3/naked48/rev1/config.h b/keyboards/salicylic_acid3/naked48/rev1/config.h index b79384a48aae..faeb7190197e 100644 --- a/keyboards/salicylic_acid3/naked48/rev1/config.h +++ b/keyboards/salicylic_acid3/naked48/rev1/config.h @@ -56,27 +56,7 @@ along with this program. If not, see . #endif #define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_DEFAULT_VAL 50 -#ifndef IOS_DEVICE_ENABLE - #define RGBLIGHT_LIMIT_VAL 180 - #define RGBLIGHT_VAL_STEP 17 -#else - #define RGBLIGHT_LIMIT_VAL 50 - #define RGBLIGHT_VAL_STEP 4 -#endif #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 - -#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) -// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard -// 120 RGBoff, OLEDoff -// 120 OLED -// 330 RGB 6 -// 300 RGB 32 -// 310 OLED & RGB 32 - #define USB_MAX_POWER_CONSUMPTION 400 -#else - // fix iPhone and iPad power adapter issue - // iOS device need lessthan 100 - #define USB_MAX_POWER_CONSUMPTION 100 -#endif From 8e888794fa57ba845cf3080d1971d96bccc58521 Mon Sep 17 00:00:00 2001 From: Nabos <9805355+nab-os@users.noreply.github.com> Date: Tue, 8 Mar 2022 03:46:54 +0100 Subject: [PATCH 0308/1832] [Keymap] Add nabos keymap to dactyl_manuform (5x6) (#16547) Co-authored-by: Nicolas Ballet --- .../5x6/keymaps/nabos/config.h | 21 ++++++ .../5x6/keymaps/nabos/keymap.c | 75 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h new file mode 100644 index 000000000000..2ab0c912a342 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2022 Nabos + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define EE_HANDS + diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c new file mode 100644 index 000000000000..4a83a5e73a35 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c @@ -0,0 +1,75 @@ +/* +Copyright 2022 Nabos + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +enum layer_names { + _QWERTY, + _FUNCTIONS, + _NUMPAD, + _GAMING +}; + +#define FUNCTIONS MO(_FUNCTIONS) +#define NUMPAD MO(_NUMPAD) +#define GAMING TG(_GAMING) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_5x6( + KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_RBRC, + 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_PGUP, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, + KC_PGDN, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT,KC_SLSH,_______, + KC_LEFT,KC_RIGHT, KC_DOWN,KC_UP , + KC_LSFT,KC_SPC , KC_ENT ,KC_BSPC, + KC_LGUI,KC_LALT, FUNCTIONS,KC_RALT, + KC_DEL ,GAMING , NUMPAD ,KC_RCTL + ), + + [_FUNCTIONS] = LAYOUT_5x6( + KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 , + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ), + + [_NUMPAD] = LAYOUT_5x6( + _______,_______,_______,_______,_______,_______, _______,KC_NLCK,_______,_______,KC_MINS,KC_EQL , + _______,_______,_______,_______,_______,_______, _______,KC_KP_7,KC_KP_8,KC_KP_9,_______,_______, + _______,_______,_______,_______,_______,_______, _______,KC_KP_4,KC_KP_5,KC_KP_6,_______,_______, + _______,_______,_______,_______,_______,_______, _______,KC_KP_1,KC_KP_2,KC_KP_3,_______,KC_PSCR, + _______,_______, KC_KP_0,KC_PDOT, + _______,_______, KC_PENT,_______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ), + + [_GAMING] = LAYOUT_5x6( + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, + KC_T ,KC_TAB , KC_Q , KC_W , KC_E , KC_R , _______,_______,_______,_______,_______,_______, + KC_G ,KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______,_______,_______,_______,_______,_______, + KC_B ,KC_LCTL, KC_Z , KC_X , KC_C , KC_V , _______,_______,_______,_______,_______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ) +}; + From 8014fb14b6c37636d459f64ebdf9fb4bedd1f7f3 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 8 Mar 2022 10:50:03 +0800 Subject: [PATCH 0309/1832] Fix in-page links in reference_info_json.md (#16487) --- docs/reference_info_json.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 3cc807c179d9..51576ac83e59 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -28,11 +28,11 @@ The `info.json` file is a JSON formatted dictionary with the following keys avai * `layout_aliases` * A dictionary containing layout aliases. The key is the alias and the value is a layout in `layouts` it maps to. * `layouts` - * Physical Layout representations. See the [Layout Format](#layout_format) section for more detail. + * Physical Layout representations. See the [Layout Format](#layout-format) section for more detail. * `matrix_pins` - * Configure the pins corresponding to columns and rows, or direct pins. See the [Matrix Pins](#matrix_pins) section for more detail. + * Configure the pins corresponding to columns and rows, or direct pins. See the [Matrix Pins](#matrix-pins) section for more detail. * `rgblight` - * Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb_lighting) section for more detail. + * Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb-lighting) section for more detail. * `usb` * Configure USB VID, PID, and other parameters. See the [USB](#USB) section for more detail. From 869ede8e4afb22a00ecbace4af02a3a18ea9e32d Mon Sep 17 00:00:00 2001 From: Matthew Dias Date: Mon, 7 Mar 2022 21:00:35 -0600 Subject: [PATCH 0310/1832] [Keyboard] Add parallel 65 (#16445) Co-authored-by: Ryan --- .../parallel/parallel_65/hotswap/config.h | 109 +++++ .../parallel/parallel_65/hotswap/hotswap.c | 17 + .../parallel/parallel_65/hotswap/hotswap.h | 63 +++ .../parallel/parallel_65/hotswap/info.json | 155 ++++++ .../hotswap/keymaps/default/keymap.c | 38 ++ .../hotswap/keymaps/default/readme.md | 1 + .../parallel_65/hotswap/keymaps/via/keymap.c | 54 ++ .../parallel_65/hotswap/keymaps/via/rules.mk | 1 + .../parallel/parallel_65/hotswap/readme.md | 18 + .../parallel/parallel_65/hotswap/rules.mk | 20 + .../parallel/parallel_65/soldered/config.h | 109 +++++ .../parallel/parallel_65/soldered/info.json | 461 ++++++++++++++++++ .../soldered/keymaps/default/keymap.c | 38 ++ .../soldered/keymaps/default/readme.md | 1 + .../parallel_65/soldered/keymaps/via/keymap.c | 54 ++ .../parallel_65/soldered/keymaps/via/rules.mk | 1 + .../parallel/parallel_65/soldered/readme.md | 18 + .../parallel/parallel_65/soldered/rules.mk | 20 + .../parallel/parallel_65/soldered/soldered.c | 17 + .../parallel/parallel_65/soldered/soldered.h | 122 +++++ 20 files changed, 1317 insertions(+) create mode 100644 keyboards/parallel/parallel_65/hotswap/config.h create mode 100644 keyboards/parallel/parallel_65/hotswap/hotswap.c create mode 100644 keyboards/parallel/parallel_65/hotswap/hotswap.h create mode 100644 keyboards/parallel/parallel_65/hotswap/info.json create mode 100644 keyboards/parallel/parallel_65/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/parallel/parallel_65/hotswap/keymaps/default/readme.md create mode 100644 keyboards/parallel/parallel_65/hotswap/keymaps/via/keymap.c create mode 100644 keyboards/parallel/parallel_65/hotswap/keymaps/via/rules.mk create mode 100644 keyboards/parallel/parallel_65/hotswap/readme.md create mode 100644 keyboards/parallel/parallel_65/hotswap/rules.mk create mode 100644 keyboards/parallel/parallel_65/soldered/config.h create mode 100644 keyboards/parallel/parallel_65/soldered/info.json create mode 100644 keyboards/parallel/parallel_65/soldered/keymaps/default/keymap.c create mode 100644 keyboards/parallel/parallel_65/soldered/keymaps/default/readme.md create mode 100644 keyboards/parallel/parallel_65/soldered/keymaps/via/keymap.c create mode 100644 keyboards/parallel/parallel_65/soldered/keymaps/via/rules.mk create mode 100644 keyboards/parallel/parallel_65/soldered/readme.md create mode 100644 keyboards/parallel/parallel_65/soldered/rules.mk create mode 100644 keyboards/parallel/parallel_65/soldered/soldered.c create mode 100644 keyboards/parallel/parallel_65/soldered/soldered.h diff --git a/keyboards/parallel/parallel_65/hotswap/config.h b/keyboards/parallel/parallel_65/hotswap/config.h new file mode 100644 index 000000000000..26734936edba --- /dev/null +++ b/keyboards/parallel/parallel_65/hotswap/config.h @@ -0,0 +1,109 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x504C +#define PRODUCT_ID 0x5069 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Parallel Limited +#define PRODUCT Parallel 65% Hotswap PCB + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { E6, B7, F7, F4, F5 } +#define MATRIX_COL_PINS { F6, B0, F1, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/parallel/parallel_65/hotswap/hotswap.c b/keyboards/parallel/parallel_65/hotswap/hotswap.c new file mode 100644 index 000000000000..4189a8a80c91 --- /dev/null +++ b/keyboards/parallel/parallel_65/hotswap/hotswap.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "hotswap.h" diff --git a/keyboards/parallel/parallel_65/hotswap/hotswap.h b/keyboards/parallel/parallel_65/hotswap/hotswap.h new file mode 100644 index 000000000000..3da75e2ce307 --- /dev/null +++ b/keyboards/parallel/parallel_65/hotswap/hotswap.h @@ -0,0 +1,63 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │0F │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2F │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3F │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │49 │4B │ │4C │4D │4F │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_blocker( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k2F, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3F, \ + k40, k41, k42, k46, k49, k4B, k4C, k4D, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, XXX, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX, k2F }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, k3F }, \ + { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, XXX, k4B, k4C, k4D, XXX, k4F } \ +} + +#define LAYOUT_65_ansi_blocker_tsangan( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k2F, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3F, \ + k40, k41, k42, k46, k4B, k4C, k4D, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, XXX, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX, k2F }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, k3F }, \ + { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D, XXX, k4F } \ +} diff --git a/keyboards/parallel/parallel_65/hotswap/info.json b/keyboards/parallel/parallel_65/hotswap/info.json new file mode 100644 index 000000000000..28b1dda23ef2 --- /dev/null +++ b/keyboards/parallel/parallel_65/hotswap/info.json @@ -0,0 +1,155 @@ +{ + "keyboard_name": "Parallel 65% Hotswap PCB", + "maintainer": "matthewdias", + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0, "w": 2 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4, "w":1.25 }, + { "x":11.25, "y":4, "w":1.25 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0, "w":2 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.5 }, + { "x":1.5, "y":4, "w":1 }, + { "x":2.5, "y":4, "w":1.5 }, + { "x":4, "y":4, "w":7 }, + { "x":11, "y":4, "w":1.5 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + } + } +} diff --git a/keyboards/parallel/parallel_65/hotswap/keymaps/default/keymap.c b/keyboards/parallel/parallel_65/hotswap/keymaps/default/keymap.c new file mode 100644 index 000000000000..8b24dd2ec306 --- /dev/null +++ b/keyboards/parallel/parallel_65/hotswap/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_65_ansi_blocker( + 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_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_PGUP, + 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, + 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, MO(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN] = LAYOUT_65_ansi_blocker( + 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, KC_TRNS, KC_PSCR, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + KC_TRNS, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_LGUI, 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_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/parallel/parallel_65/hotswap/keymaps/default/readme.md b/keyboards/parallel/parallel_65/hotswap/keymaps/default/readme.md new file mode 100644 index 000000000000..64ddedeed4e4 --- /dev/null +++ b/keyboards/parallel/parallel_65/hotswap/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Parallel 65% Hotswap PCB diff --git a/keyboards/parallel/parallel_65/hotswap/keymaps/via/keymap.c b/keyboards/parallel/parallel_65/hotswap/keymaps/via/keymap.c new file mode 100644 index 000000000000..0e4c1b61c4ac --- /dev/null +++ b/keyboards/parallel/parallel_65/hotswap/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _L0, + _L1, + _L2, + _L3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_L0] = LAYOUT_65_ansi_blocker( + 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_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_PGUP, + 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, + 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, MO(_L1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_L1] = LAYOUT_65_ansi_blocker( + 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, KC_TRNS, KC_PSCR, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + KC_TRNS, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_LGUI, 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_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_L2] = LAYOUT_65_ansi_blocker( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_L3] = LAYOUT_65_ansi_blocker( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/parallel/parallel_65/hotswap/keymaps/via/rules.mk b/keyboards/parallel/parallel_65/hotswap/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/parallel/parallel_65/hotswap/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/parallel/parallel_65/hotswap/readme.md b/keyboards/parallel/parallel_65/hotswap/readme.md new file mode 100644 index 000000000000..41c2f71179f5 --- /dev/null +++ b/keyboards/parallel/parallel_65/hotswap/readme.md @@ -0,0 +1,18 @@ +# Parallel 65% Hotswap PCB + +A 65% keyboard + +- Keyboard Maintainer: matthewdias +- Hardware Supported: Parallel 65% Hotswap PCB + +To reset the keyboard into bootloader mode, press the reset switch on the underside. + +Make example for this keyboard (after setting up your build environment): + + make parallel/parallel_65/hotswap:default + +Flashing example for this keyboard: + + make parallel/parallel_65/hotswap:default:flash + +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/parallel/parallel_65/hotswap/rules.mk b/keyboards/parallel/parallel_65/hotswap/rules.mk new file mode 100644 index 000000000000..59fa2e87f8b1 --- /dev/null +++ b/keyboards/parallel/parallel_65/hotswap/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi_blocker diff --git a/keyboards/parallel/parallel_65/soldered/config.h b/keyboards/parallel/parallel_65/soldered/config.h new file mode 100644 index 000000000000..a5eace0be291 --- /dev/null +++ b/keyboards/parallel/parallel_65/soldered/config.h @@ -0,0 +1,109 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x504C +#define PRODUCT_ID 0x5068 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Parallel Limited +#define PRODUCT Parallel 65% PCB + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { E6, B7, F7, F4, F5 } +#define MATRIX_COL_PINS { F6, B0, F1, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/parallel/parallel_65/soldered/info.json b/keyboards/parallel/parallel_65/soldered/info.json new file mode 100644 index 000000000000..4b0ae27b00cd --- /dev/null +++ b/keyboards/parallel/parallel_65/soldered/info.json @@ -0,0 +1,461 @@ +{ + "keyboard_name": "Parallel 65% PCB", + "maintainer": "matthewdias", + "layouts": { + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0 }, + { "x":14, "y":0 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4, "w":1.25 }, + { "x":11.25, "y":4, "w":1.25 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0, "w": 2 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4, "w":1.25 }, + { "x":11.25, "y":4, "w":1.25 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0 }, + { "x":14, "y":0 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.5 }, + { "x":1.5, "y":4, "w":1 }, + { "x":2.5, "y":4, "w":1.5 }, + { "x":4, "y":4, "w":7 }, + { "x":11, "y":4, "w":1.5 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0 }, + { "x":14, "y":0 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2 }, + { "x":13.75, "y":1, "w":1.25, "h":2 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":1.25 }, + { "x":1.25, "y":3 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4, "w":1.25 }, + { "x":11.25, "y":4, "w":1.25 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0, "w": 2 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2 }, + { "x":13.75, "y":1, "w":1.25, "h":2 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":1.25 }, + { "x":1.25, "y":3 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4, "w":1.25 }, + { "x":11.25, "y":4, "w":1.25 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0 }, + { "x":14, "y":0 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2 }, + { "x":13.75, "y":1, "w":1.25, "h":2 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":1.25 }, + { "x":1.25, "y":3 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.5 }, + { "x":1.5, "y":4, "w":1 }, + { "x":2.5, "y":4, "w":1.5 }, + { "x":4, "y":4, "w":7 }, + { "x":11, "y":4, "w":1.5 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + } + } +} diff --git a/keyboards/parallel/parallel_65/soldered/keymaps/default/keymap.c b/keyboards/parallel/parallel_65/soldered/keymaps/default/keymap.c new file mode 100644 index 000000000000..837e3e5e9a9f --- /dev/null +++ b/keyboards/parallel/parallel_65/soldered/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_65_ansi_blocker_split_bs( + 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_GRV, KC_BSPC, KC_DEL, + 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_PGUP, + 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, + 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, MO(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN] = LAYOUT_65_ansi_blocker_split_bs( + 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, KC_TRNS, KC_TRNS, KC_PSCR, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + KC_TRNS, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_LGUI, 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_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/parallel/parallel_65/soldered/keymaps/default/readme.md b/keyboards/parallel/parallel_65/soldered/keymaps/default/readme.md new file mode 100644 index 000000000000..149c5a0bf124 --- /dev/null +++ b/keyboards/parallel/parallel_65/soldered/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Parallel 65% PCB diff --git a/keyboards/parallel/parallel_65/soldered/keymaps/via/keymap.c b/keyboards/parallel/parallel_65/soldered/keymaps/via/keymap.c new file mode 100644 index 000000000000..cf8b4cddaff4 --- /dev/null +++ b/keyboards/parallel/parallel_65/soldered/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _L0, + _L1, + _L2, + _L3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_L0] = LAYOUT_65_ansi_blocker_split_bs( + 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_GRV, KC_BSPC, KC_DEL, + 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_PGUP, + 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, + 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, MO(_L1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_L1] = LAYOUT_65_ansi_blocker_split_bs( + 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, KC_TRNS, KC_TRNS, KC_PSCR, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + KC_TRNS, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_LGUI, 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_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_L2] = LAYOUT_65_ansi_blocker_split_bs( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_L3] = LAYOUT_65_ansi_blocker_split_bs( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/parallel/parallel_65/soldered/keymaps/via/rules.mk b/keyboards/parallel/parallel_65/soldered/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/parallel/parallel_65/soldered/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/parallel/parallel_65/soldered/readme.md b/keyboards/parallel/parallel_65/soldered/readme.md new file mode 100644 index 000000000000..e9099321cb10 --- /dev/null +++ b/keyboards/parallel/parallel_65/soldered/readme.md @@ -0,0 +1,18 @@ +# Parallel 65% PCB + +A 65% keyboard + +- Keyboard Maintainer: matthewdias +- Hardware Supported: Parallel 65% PCB + +To reset the keyboard into bootloader mode, press the reset switch on the underside. + +Make example for this keyboard (after setting up your build environment): + + make parallel/parallel_65/soldered:default + +Flashing example for this keyboard: + + make parallel/parallel_65/soldered:default:flash + +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/parallel/parallel_65/soldered/rules.mk b/keyboards/parallel/parallel_65/soldered/rules.mk new file mode 100644 index 000000000000..8a868336202d --- /dev/null +++ b/keyboards/parallel/parallel_65/soldered/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs 65_iso_blocker 65_iso_blocker_split_bs diff --git a/keyboards/parallel/parallel_65/soldered/soldered.c b/keyboards/parallel/parallel_65/soldered/soldered.c new file mode 100644 index 000000000000..a74cd21deaa1 --- /dev/null +++ b/keyboards/parallel/parallel_65/soldered/soldered.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "soldered.h" diff --git a/keyboards/parallel/parallel_65/soldered/soldered.h b/keyboards/parallel/parallel_65/soldered/soldered.h new file mode 100644 index 000000000000..b2ae9cbaac61 --- /dev/null +++ b/keyboards/parallel/parallel_65/soldered/soldered.h @@ -0,0 +1,122 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ │0E │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ ISO Enter + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2F │ │2C │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3F │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │49 │4B │ │4C │4D │4F │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┐ + * │40 │41 │42 │46 │4B │ Tsangan + * └─────┴───┴─────┴───────────────────────────┴─────┘ + */ + +#define LAYOUT_65_ansi_blocker_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k2F, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3F, \ + k40, k41, k42, k46, k49, k4B, k4C, k4D, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX, k2F }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, k3F }, \ + { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, XXX, k4B, k4C, k4D, XXX, k4F } \ +} + +#define LAYOUT_65_ansi_blocker( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k2F, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3F, \ + k40, k41, k42, k46, k49, k4B, k4C, k4D, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, XXX, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX, k2F }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, k3F }, \ + { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, XXX, k4B, k4C, k4D, XXX, k4F } \ +} + +#define LAYOUT_65_ansi_blocker_tsangan_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k2F, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3F, \ + k40, k41, k42, k46, k4B, k4C, k4D, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX, k2F }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, k3F }, \ + { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D, XXX, k4F } \ +} + +#define LAYOUT_65_iso_blocker_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1F, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2F, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3F, \ + k40, k41, k42, k46, k49, k4B, k4C, k4D, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX, XXX, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX, k2F }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, k3F }, \ + { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, XXX, k4B, k4C, k4D, XXX, k4F } \ +} + +#define LAYOUT_65_iso_blocker( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1F, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2F, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3F, \ + k40, k41, k42, k46, k49, k4B, k4C, k4D, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, XXX, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX, XXX, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX, k2F }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, k3F }, \ + { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, XXX, k4B, k4C, k4D, XXX, k4F } \ +} + +#define LAYOUT_65_iso_blocker_tsangan_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1F, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2F, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3F, \ + k40, k41, k42, k46, k4B, k4C, k4D, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX, XXX, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX, k2F }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, k3F }, \ + { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D, XXX, k4F } \ +} From b2fdb072e590ea06237dc5407ae1902fc15ce405 Mon Sep 17 00:00:00 2001 From: Uthol <83434905+Uthol@users.noreply.github.com> Date: Mon, 7 Mar 2022 20:01:47 -0700 Subject: [PATCH 0311/1832] [Keyboard] Uthol (#16393) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/handwired/uthol/config.h | 30 + keyboards/handwired/uthol/info.json | 248 ++++++ .../handwired/uthol/keymaps/default/keymap.c | 34 + .../handwired/uthol/keymaps/numswap/keymap.c | 34 + .../handwired/uthol/keymaps/oled/helix.c | 18 + .../handwired/uthol/keymaps/oled/helix.h | 421 +++++++++ .../handwired/uthol/keymaps/oled/keymap.c | 97 ++ .../handwired/uthol/keymaps/oled/ricardo.c | 840 ++++++++++++++++++ .../handwired/uthol/keymaps/oled/rules.mk | 3 + .../handwired/uthol/keymaps/oled/smiley.c | 98 ++ keyboards/handwired/uthol/keymaps/oled/star.c | 206 +++++ keyboards/handwired/uthol/readme.md | 27 + keyboards/handwired/uthol/rev1/config.h | 29 + keyboards/handwired/uthol/rev1/readme.md | 4 + keyboards/handwired/uthol/rev1/rules.mk | 13 + keyboards/handwired/uthol/rev2/config.h | 35 + keyboards/handwired/uthol/rev2/readme.md | 4 + keyboards/handwired/uthol/rev2/rules.mk | 15 + keyboards/handwired/uthol/rev3/chconf.h | 34 + keyboards/handwired/uthol/rev3/config.h | 69 ++ keyboards/handwired/uthol/rev3/halconf.h | 24 + keyboards/handwired/uthol/rev3/mcuconf.h | 25 + keyboards/handwired/uthol/rev3/readme.md | 4 + keyboards/handwired/uthol/rev3/rev3.c | 20 + keyboards/handwired/uthol/rev3/rules.mk | 19 + keyboards/handwired/uthol/uthol.c | 18 + keyboards/handwired/uthol/uthol.h | 45 + 27 files changed, 2414 insertions(+) create mode 100644 keyboards/handwired/uthol/config.h create mode 100644 keyboards/handwired/uthol/info.json create mode 100644 keyboards/handwired/uthol/keymaps/default/keymap.c create mode 100644 keyboards/handwired/uthol/keymaps/numswap/keymap.c create mode 100644 keyboards/handwired/uthol/keymaps/oled/helix.c create mode 100644 keyboards/handwired/uthol/keymaps/oled/helix.h create mode 100644 keyboards/handwired/uthol/keymaps/oled/keymap.c create mode 100644 keyboards/handwired/uthol/keymaps/oled/ricardo.c create mode 100644 keyboards/handwired/uthol/keymaps/oled/rules.mk create mode 100644 keyboards/handwired/uthol/keymaps/oled/smiley.c create mode 100644 keyboards/handwired/uthol/keymaps/oled/star.c create mode 100644 keyboards/handwired/uthol/readme.md create mode 100644 keyboards/handwired/uthol/rev1/config.h create mode 100644 keyboards/handwired/uthol/rev1/readme.md create mode 100644 keyboards/handwired/uthol/rev1/rules.mk create mode 100644 keyboards/handwired/uthol/rev2/config.h create mode 100644 keyboards/handwired/uthol/rev2/readme.md create mode 100644 keyboards/handwired/uthol/rev2/rules.mk create mode 100644 keyboards/handwired/uthol/rev3/chconf.h create mode 100644 keyboards/handwired/uthol/rev3/config.h create mode 100644 keyboards/handwired/uthol/rev3/halconf.h create mode 100644 keyboards/handwired/uthol/rev3/mcuconf.h create mode 100644 keyboards/handwired/uthol/rev3/readme.md create mode 100644 keyboards/handwired/uthol/rev3/rev3.c create mode 100644 keyboards/handwired/uthol/rev3/rules.mk create mode 100644 keyboards/handwired/uthol/uthol.c create mode 100644 keyboards/handwired/uthol/uthol.h diff --git a/keyboards/handwired/uthol/config.h b/keyboards/handwired/uthol/config.h new file mode 100644 index 000000000000..1e0b53338647 --- /dev/null +++ b/keyboards/handwired/uthol/config.h @@ -0,0 +1,30 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define MANUFACTURER Uthol + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 12 + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/handwired/uthol/info.json b/keyboards/handwired/uthol/info.json new file mode 100644 index 000000000000..40f99dbadec5 --- /dev/null +++ b/keyboards/handwired/uthol/info.json @@ -0,0 +1,248 @@ +{ + "keyboard_name": "Uthol", + "url": "", + "maintainer": "uthol", + "layouts": { + "LAYOUT_uthol": { + "layout": [ + { + "x": 0, + "y": 0 + }, + { + "x": 1, + "y": 0 + }, + { + "x": 2, + "y": 0 + }, + { + "x": 3, + "y": 0 + }, + { + "x": 4, + "y": 0 + }, + { + "x": 5, + "y": 0 + }, + { + "x": 6, + "y": 0 + }, + { + "x": 7, + "y": 0 + }, + { + "x": 8, + "y": 0 + }, + { + "x": 9, + "y": 0 + }, + { + "x": 10, + "y": 0 + }, + { + "x": 11, + "y": 0 + }, + { + "x": 0, + "y": 1 + }, + { + "x": 1, + "y": 1 + }, + { + "x": 2, + "y": 1 + }, + { + "x": 3, + "y": 1 + }, + { + "x": 4, + "y": 1 + }, + { + "x": 5, + "y": 1 + }, + { + "x": 6, + "y": 1 + }, + { + "x": 7, + "y": 1 + }, + { + "x": 8, + "y": 1 + }, + { + "x": 9, + "y": 1 + }, + { + "x": 10, + "y": 1 + }, + { + "x": 11, + "y": 1 + }, + { + "x": 0, + "y": 2 + }, + { + "x": 1, + "y": 2 + }, + { + "x": 2, + "y": 2 + }, + { + "x": 3, + "y": 2 + }, + { + "x": 4, + "y": 2 + }, + { + "x": 5, + "y": 2 + }, + { + "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": 0, + "y": 3 + }, + { + "x": 1, + "y": 3 + }, + { + "x": 2, + "y": 3 + }, + { + "x": 3, + "y": 3 + }, + { + "x": 4, + "y": 3 + }, + { + "x": 5, + "y": 3 + }, + { + "x": 6, + "y": 3 + }, + { + "x": 7, + "y": 3 + }, + { + "x": 8, + "y": 3 + }, + { + "x": 9, + "y": 3 + }, + { + "x": 10, + "y": 3 + }, + { + "x": 11, + "y": 3 + }, + { + "x": 0, + "y": 4 + }, + { + "x": 1, + "y": 4 + }, + { + "x": 2, + "y": 4 + }, + { + "x": 3, + "y": 4 + }, + { + "x": 4, + "y": 4 + }, + { + "x": 5, + "y": 4, + "w": 2 + }, + { + "x": 7, + "y": 4 + }, + { + "x": 8, + "y": 4 + }, + { + "x": 9, + "y": 4 + }, + { + "x": 10, + "y": 4 + }, + { + "x": 11, + "y": 4 + } + ] + } + } +} diff --git a/keyboards/handwired/uthol/keymaps/default/keymap.c b/keyboards/handwired/uthol/keymaps/default/keymap.c new file mode 100644 index 000000000000..d33f3eb6b69a --- /dev/null +++ b/keyboards/handwired/uthol/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum uthol_layers { _QWERTY, _COLEMAK, _LOWER, _RAISE, _SETTINGS }; + +#define QWERTY DF(_QWERTY) +#define COLEMAK DF(_COLEMAK) +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define SETTINGS MO(_SETTINGS) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_uthol(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, SETTINGS, KC_LGUI, KC_LALT, RAISE, KC_SPC, LOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT), + [_COLEMAK] = LAYOUT_uthol(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, SETTINGS, KC_LGUI, KC_LALT, RAISE, KC_SPC, LOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT), + [_LOWER] = LAYOUT_uthol(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_MINS, KC_EQL, KC_INS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS, KC_P0, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT), + [_RAISE] = LAYOUT_uthol(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_BSLS, KC_P0, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT), + [_SETTINGS] = LAYOUT_uthol(QWERTY, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_PWR, KC_NO, KC_SLCK, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NLCK, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAI, RGB_SAI, RGB_MODE_PLAIN, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MODE_REVERSE, RGB_VAD, RGB_VAI, RGB_MODE_FORWARD) +}; diff --git a/keyboards/handwired/uthol/keymaps/numswap/keymap.c b/keyboards/handwired/uthol/keymaps/numswap/keymap.c new file mode 100644 index 000000000000..b571ba8b9111 --- /dev/null +++ b/keyboards/handwired/uthol/keymaps/numswap/keymap.c @@ -0,0 +1,34 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum uthol_layers { _QWERTY, _COLEMAK, _LOWER, _RAISE, _SETTINGS }; + +#define QWERTY DF(_QWERTY) +#define COLEMAK DF(_COLEMAK) +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define SETTINGS MO(_SETTINGS) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_uthol(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, SETTINGS, KC_LGUI, KC_LALT, RAISE, KC_SPC, LOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT), + [_COLEMAK] = LAYOUT_uthol(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, SETTINGS, KC_LGUI, KC_LALT, RAISE, KC_SPC, LOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT), + [_LOWER] = LAYOUT_uthol(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_MINS, KC_EQL, KC_INS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_P0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT), + [_RAISE] = LAYOUT_uthol(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_BSLS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_P0, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT), + [_SETTINGS] = LAYOUT_uthol(QWERTY, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, 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_SLCK, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_PWR, KC_NO, KC_NO, KC_NLCK, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO) +}; diff --git a/keyboards/handwired/uthol/keymaps/oled/helix.c b/keyboards/handwired/uthol/keymaps/oled/helix.c new file mode 100644 index 000000000000..966191440802 --- /dev/null +++ b/keyboards/handwired/uthol/keymaps/oled/helix.c @@ -0,0 +1,18 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "helix.h" diff --git a/keyboards/handwired/uthol/keymaps/oled/helix.h b/keyboards/handwired/uthol/keymaps/oled/helix.h new file mode 100644 index 000000000000..584f9eae4182 --- /dev/null +++ b/keyboards/handwired/uthol/keymaps/oled/helix.h @@ -0,0 +1,421 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "progmem.h" + + static const char PROGMEM animation[][1024] = { + // 'frame_00_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0x7c, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xcc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x20, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe3, 0xf3, 0xfb, 0xfc, 0x7c, 0x3e, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x1f, 0x3f, 0x3e, 0x7e, 0x7e, 0x3c, 0x7c, 0x78, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x78, 0x78, 0x7e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xfe, 0xfc, 0xfe, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xff, 0x7f, 0x3f, + 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x0f, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x1c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xdf, 0x1f, 0xbf, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x3f, 0x7e, 0x7f, 0xfe, 0xfe, 0xff, 0xfd, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, + 0xff, 0x7f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xfe, 0x7f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1e, 0xbe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xe8, 0xe0, 0xe0, 0xe1, 0xf3, 0xf3, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3c, 0x18, 0x0c, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xc7, 0xc1, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x21, 0x31, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x08, 0x0d, 0x09, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_01_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x3e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0xc1, 0xc3, 0x03, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0xc3, 0xe1, 0xf8, 0xfc, 0x7e, 0x3e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x03, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x6f, 0x1f, 0x1f, 0x3f, 0x1e, 0x3e, 0x3e, 0x7c, 0x7c, 0x7c, 0x7c, 0x78, 0x78, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x78, 0x78, 0x7c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xff, 0x7f, + 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x98, 0x98, 0x80, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xde, 0xcf, 0xdf, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, + 0xff, 0x1f, 0x0b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xfc, 0xfe, 0x7f, 0x1f, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf6, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe2, 0xe0, 0xe1, 0xe3, 0xe3, 0xf7, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1c, 0x0d, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x40, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf0, 0xfc, 0xff, 0xff, 0xdf, 0xc7, 0xe1, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x01, 0x01, 0x01, 0xc1, 0x81, 0x01, 0x01, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x43, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_02_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x10, 0x00, 0x40, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf9, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xfb, 0xf9, 0xfc, 0xfe, 0x3e, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x87, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfe, 0x7e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x3e, 0x3e, 0x7c, 0x3c, 0x7c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x7b, 0x7b, 0x7b, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xfe, 0x7c, 0xbc, 0xf8, 0xf0, 0xf0, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xf0, 0xfc, 0xff, + 0x7f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xb0, 0xf8, 0xf0, 0x80, 0x80, 0x80, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7e, 0xff, 0xff, 0xfe, 0xff, 0xfd, 0xff, 0xff, 0xfd, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xef, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0x7f, + 0x0f, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfe, 0xff, 0x3f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x0f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xf0, 0xf1, 0xe3, 0xf3, 0xe7, 0xef, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x0c, 0x04, 0x02, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0xb0, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xe0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xe7, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x27, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_03_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xfb, 0xff, 0xff, 0xf8, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x12, 0x00, 0xc0, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xfc, 0xff, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xc7, 0xe3, 0xf0, 0xf8, 0xfc, 0xfe, 0xbf, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfe, 0x3e, 0x1f, 0x0f, 0x07, 0x03, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3e, 0x1e, 0x3e, 0x3e, 0x3c, 0x7c, 0x7c, 0x7c, 0x78, 0x78, 0x7d, 0x7e, 0x3e, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc1, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0xe0, 0xf0, 0xfc, + 0xfe, 0xff, 0x1f, 0x07, 0x01, 0x00, 0x80, 0x80, 0x80, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xf7, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x8f, 0x8f, 0x8f, 0x8f, 0xcf, 0xcf, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x7f, 0x1f, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xfe, 0xff, 0x3f, 0x0f, 0x07, 0x07, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x77, 0x63, 0xe0, 0xe0, 0xf0, 0xf1, 0xf3, 0xf3, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x1f, 0x9f, 0x06, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x48, 0x70, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xef, 0xe3, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x41, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_04_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xfa, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0x3f, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe3, 0xe1, 0xe0, 0xf0, 0xf8, 0xfe, 0xfe, 0xdf, 0x8f, 0x87, 0x83, 0x03, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0xfe, 0x3f, 0x1f, 0x8f, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xcf, 0xe3, 0xf9, 0xf9, 0xff, 0x7f, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1e, 0x1e, 0x3e, 0x3e, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe3, 0xe3, 0xc2, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, + 0xf8, 0xff, 0xff, 0x9f, 0x87, 0x81, 0x80, 0xc0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfd, 0xff, 0xef, 0xf7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf3, 0xf3, 0xe3, 0xe3, 0xe3, 0xf7, 0xff, 0xff, 0xff, 0xbf, 0x8f, 0x87, 0x87, 0x87, 0xcf, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x3f, 0x3f, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xff, 0x7f, 0x1f, 0x07, 0x03, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0x1f, 0x0d, 0xc9, 0xdb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0d, 0x00, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xef, 0xf1, 0xf0, 0xf0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x13, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_05_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x78, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf1, 0xf1, 0xf1, 0xf0, 0xf8, 0xf9, 0xff, 0xff, 0xff, 0xcf, 0xc7, 0x83, 0x87, 0x87, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x7f, 0x7e, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0x7e, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x80, 0x80, 0xe0, 0xf8, 0xfc, 0xff, 0x7f, 0x1f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x0f, 0x1f, 0x1f, 0x1e, 0x1e, 0x3e, 0x3e, 0x3e, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xef, 0xec, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, + 0xf8, 0xfe, 0xff, 0xff, 0x9f, 0x87, 0xc1, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x7f, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf1, 0xf1, 0xe1, 0xe1, 0xc1, 0xc3, 0xc3, 0xe3, 0xf3, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x87, 0xc7, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x1f, 0x1f, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfe, 0xff, 0x7f, 0x1f, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x3f, 0x3f, 0x1f, 0x1f, 0x7f, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xf7, 0xf1, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x8f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_06_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x79, 0xf9, 0x79, 0xf9, 0xf9, 0xf1, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xef, 0xcf, 0xcf, 0xcf, 0xdf, 0x9f, 0xbf, 0xbf, 0x7f, 0x7f, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x07, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xfc, 0xfe, 0x7f, 0x1b, 0x0f, 0x03, 0x01, 0x03, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x0f, 0x1f, 0x1f, 0x5f, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xc0, 0xc0, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf8, 0x7c, 0x7e, 0x3e, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf1, 0xf1, 0xf0, 0xc1, 0xc0, 0xc1, 0x81, 0x81, 0x81, 0xc1, 0xe1, 0xf1, 0xff, 0xff, 0x7f, 0x9f, 0x8f, 0xe3, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4f, 0x0f, 0x13, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x7f, 0xbf, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xf7, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_07_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x3f, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xfc, 0xfe, 0x3d, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x8f, 0xdf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf0, 0xf8, 0x78, 0x7c, 0x3e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xf7, 0xff, 0xdf, 0xef, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf1, 0xe1, 0xf0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x01, 0x00, 0x80, 0xc1, 0xe1, 0xf1, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x03, 0x07, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xf3, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x3f, 0x7f, 0x7e, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_08_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xfe, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xef, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x78, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0b, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xfc, 0xfd, 0x3f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x8f, 0x9f, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0x78, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0x7c, 0x3e, 0x7f, 0x3f, 0xcf, 0x87, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe3, 0xe1, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x80, 0xc0, 0xc0, 0xe0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x01, 0x03, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0xc1, 0xe3, 0xf3, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_09_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc8, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xcf, 0xc7, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x3f, 0x1f, 0x1f, 0x1f, 0x3f, 0x1f, 0x1f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf0, 0xfc, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xf0, 0xc0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe1, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0xf8, 0x78, 0x78, 0xf8, + 0xf8, 0xf0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0x7c, 0x3e, 0x7e, 0x3f, 0x1f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfb, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xe7, 0xc3, 0xc1, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x1c, 0x80, 0xc0, 0xe0, 0xe0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x83, 0xc3, 0xe7, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0x7c, 0x7c, 0x7c, 0x7c, 0x78, 0x78, 0x78, 0x78, 0x78, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0xfe, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_10_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0x9f, 0x8f, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x3f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xfa, 0xfc, 0x7f, 0x3f, 0x1f, 0x07, 0x03, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0xfd, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfc, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc2, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x7c, 0x7c, 0x7c, 0x7c, 0x3c, 0x3c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, + 0x78, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x78, 0x7d, 0x7d, 0x3e, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xdf, 0x8f, 0x87, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xf0, 0x80, 0xc0, 0xe0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x87, 0x8f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x7c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x7c, 0x3c, 0x7c, 0x7c, 0x7c, 0xfc, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x27, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_11_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xdc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0x7e, 0x1f, 0x8f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xf7, 0xfe, 0xff, 0xfd, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x01, 0x01, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0xa0, 0xb0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfe, 0x7e, 0x3f, 0x1f, 0x07, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc1, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, + 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf0, 0xf0, 0xf0, 0xf0, 0x78, 0xf8, 0x78, 0x78, 0x7c, 0x3c, 0x3c, 0x3e, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xf7, 0xfb, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xbf, 0x8f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x0f, 0x1f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xbc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x1e, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_12_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7c, 0x3e, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xf8, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x03, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x07, 0x03, 0x05, 0x16, 0x12, 0x1c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xf1, 0xf9, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0x3c, 0x3e, 0x3e, 0x1e, 0x1e, 0x1e, 0x1e, 0x3e, 0x1e, 0xfe, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xf8, 0x78, 0xf8, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x3c, 0x3c, 0x3f, 0x1e, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xfe, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xdf, 0x8f, 0x87, 0x83, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0x7c, 0x3c, 0x3c, 0x3e, 0x3e, 0x1e, 0x3e, 0x1e, 0x3e, 0x3e, 0x3e, 0x3c, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x5e, 0x1e, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_13_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, 0x7d, 0x3e, 0x1f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1e, 0x1e, 0xc4, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xc1, 0xe3, 0xf3, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3c, 0x3c, 0x3e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7c, 0x7c, 0x7c, 0x78, 0x78, 0x78, 0x7c, 0x7c, 0x7c, 0x3c, 0x30, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xdf, 0xef, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xdf, 0xcf, 0xc7, 0x83, 0x81, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3c, 0x3c, 0x1e, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x1e, 0x1e, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_14_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, 0x7c, 0x3e, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xde, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xc7, 0xf9, 0xfc, 0xff, 0x3f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x87, 0xc7, 0xef, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xf7, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xa0, 0xe0, 0xe0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0x1e, 0x1e, 0x1e, 0x1f, 0x0f, 0x0f, 0xcf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x3f, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x1e, 0x0e, 0x1e, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xfe, 0x7e, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0x78, 0xf8, 0xf8, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xc7, 0xc3, 0xc1, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xfb, 0xf3, 0xf7, 0xf3, 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0x7c, 0x3e, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x1f, 0x0f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1e, 0x1e, 0x1e, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_15_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xff, 0xfc, 0xff, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf8, 0xf0, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xbf, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xc7, 0x8f, 0x8f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x03, 0x83, 0xd0, 0xf0, 0xfc, 0xff, 0x3f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x8f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3c, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0xcf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0x3f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x1e, 0x3e, 0x1e, 0x1e, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x01, 0x80, 0x80, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xde, 0x9e, 0xbe, 0x3e, 0x3e, 0x3c, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xe7, 0xe3, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfb, 0xff, 0xf7, 0xff, 0xfd, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf0, 0xf1, 0xf1, 0xe1, 0xf1, 0xe3, 0xe3, 0xf3, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3c, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0x0f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x0f, 0x0f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_16_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xbc, 0xfc, 0xff, 0xfc, 0xfd, 0xfc, 0xff, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xf0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xfd, 0xfb, 0xf9, 0xf1, 0xf9, 0xf9, 0xff, 0xff, 0xbf, 0x8f, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x07, 0x01, 0x00, 0xc0, 0xe0, 0xf8, 0xfc, 0xff, 0x3f, 0x0f, 0x07, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x8f, 0xef, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x41, 0xe1, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xef, 0xff, 0xdf, 0xef, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x7e, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xdf, 0x8f, 0x8f, 0x0f, 0x1f, 0x1f, 0x1e, 0x3e, 0x3e, 0xbe, 0xfc, 0xfc, 0xf8, 0xf8, 0xfe, 0xff, 0xfe, 0xff, 0xf7, 0xe3, 0xe1, 0xe0, 0xc0, 0xc0, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7c, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xf7, 0xf3, 0xe1, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe3, 0xf3, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0x0f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xcf, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_17_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x1c, 0x1c, 0x0c, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xf8, 0xfd, 0xf8, 0xfb, 0xfc, 0xf3, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xf1, 0xf9, 0xff, 0xff, 0x3f, 0x0f, 0x07, 0x03, 0x03, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x83, 0x81, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xfc, 0xff, 0xff, 0x3f, 0x0f, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xfc, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xc0, 0xc0, 0xf0, 0xf8, 0xf8, 0x7c, 0x3e, 0x1e, 0x1f, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x07, 0x07, 0x87, 0xcf, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x33, 0x27, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xdf, 0xff, 0xbf, 0xff, 0x7f, 0xff, 0xef, 0xef, 0xff, 0xfc, 0xf8, 0xf8, 0xf8, 0xfe, 0xfe, 0x9f, 0x8f, 0x8f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3e, 0x9e, 0xfe, 0xfc, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xf3, 0xf1, 0xf0, 0xe0, 0xe0, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x7c, 0x7e, 0x3e, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xef, 0xe7, 0xe3, 0xe1, 0xc0, 0xe0, 0xe0, 0xe0, 0xf1, 0xf1, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x9f, 0xcf, 0x8f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_19_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x71, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf3, 0xf0, 0xf1, 0xf0, 0xf0, 0xf1, 0xfe, 0xf8, 0xfd, 0xd0, 0x86, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf1, 0xf8, 0xe0, 0xf0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0xfe, 0x7f, 0x1f, 0x0f, 0x07, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe3, 0xe1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc3, 0xc3, 0xc7, 0xf7, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xdf, 0xff, 0xbf, 0xff, 0xff, 0xfb, 0xf8, 0xf0, 0xf0, 0xf0, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xa0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xef, 0xc3, 0x03, 0x01, 0x03, 0x03, 0x03, 0x83, 0xc3, 0xf3, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x0f, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xe0, 0xe0, 0xc0, 0xe0, 0xf8, 0xfc, 0x7e, 0x3f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x9f, 0xff, 0xff, 0xfe, 0xfe, 0x7e, 0x3f, 0x7f, 0x7f, 0xfb, 0xf9, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf3, 0xf3, 0xf0, 0xf8, 0x7c, 0x7c, 0x3e, 0x1f, 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xfb, 0xfd, 0xee, 0xff, 0xef, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xdf, 0x8f, 0xc7, 0xc3, 0xc1, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0xc7, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, 0xfc, 0x3e, 0x3f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xe7, 0xf7, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x3f, 0x3d, 0x7e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_18_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfd, 0xfd, 0xf9, 0xff, 0xf1, 0xff, 0xf9, 0xfa, 0xf0, 0xeb, 0xe0, 0xe0, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0x78, 0x78, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xf8, 0xf8, 0xf8, 0xe0, 0xe0, 0xc0, 0xe0, 0x80, 0x80, 0xc0, 0xf0, 0xf8, 0xfe, 0x7f, 0x1f, 0x0f, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xc1, 0xc0, 0xc0, 0xc0, 0x80, 0x81, 0xc1, 0xf1, 0xfb, 0xff, 0xff, 0x3f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xf8, 0xfc, 0xf0, 0xf0, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7c, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x03, 0x03, 0x07, 0x03, 0x87, 0xe7, 0xf7, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x1f, 0x1f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7d, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xbf, 0xff, 0xf7, 0xff, 0xef, 0x7f, 0xff, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xf8, 0xfc, 0xfe, 0x3f, 0x1f, 0x0f, 0x07, 0x07, 0x07, 0x0f, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x9f, 0xfe, 0xfe, 0xfe, 0xfc, 0x7f, 0x7f, 0xf7, 0xff, 0xfb, 0xf1, 0xf0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf8, 0x78, 0x7c, 0x3e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x80, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xfb, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xc7, 0xc3, 0xc1, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xc3, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7e, 0x3e, 0x1f, 0x0f, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x9f, 0x8f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_20_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xf8, 0xf8, 0xf4, 0x12, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0x7c, 0x7c, 0x3c, 0x3c, 0x3c, 0x7c, 0x3c, 0x3c, 0x7c, 0x3c, 0xfc, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xf7, 0xe3, 0xe1, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0xfe, 0x7f, 0x1f, 0xcf, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xe3, 0xe1, 0xe1, 0xe1, 0xe3, 0xe3, 0xe3, 0xe7, 0xe7, 0xcf, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfb, 0xff, 0xff, 0xef, 0xff, 0xff, 0xef, 0xff, 0x7f, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xf7, 0xe3, 0xf0, 0xf0, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x07, 0x01, 0x81, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xc3, 0xc3, 0xfb, 0xfb, 0xff, 0x7f, 0x1f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xef, 0xb7, 0xff, 0xbf, 0xff, 0xef, 0xfe, 0xde, 0xff, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xf0, 0xfc, 0xfe, 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf7, 0xff, 0xff, 0xf8, 0x78, 0x7c, 0x3c, 0x3e, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xdf, 0xff, 0xbd, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfe, 0xfe, 0x9f, 0x9f, 0x8f, 0xc7, 0xc3, 0xe1, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x03, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xf0, 0xf8, 0xfc, 0x7e, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x83, 0xc3, 0xe7, 0xf7, 0xff, 0xff, 0x7f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_21_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02, 0x16, 0x12, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x70, 0xc8, 0x58, 0x48, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x3c, 0x3c, 0x3c, 0x3c, 0x1c, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0xbe, 0xbe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xe7, 0xc3, 0x83, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xe7, 0xf3, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x17, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x81, 0xe1, 0xe1, 0xf1, 0xfb, 0xff, 0x3f, 0x1f, 0x07, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xef, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xfe, 0xec, 0xc8, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xfc, 0xfe, 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0x07, 0x03, 0x87, 0xcf, 0xef, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf2, 0xfc, 0xfd, 0x7c, 0x78, 0x78, 0x3c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xf7, 0xbf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xf7, 0xf9, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xbc, 0xbe, 0x9f, 0x8f, 0xcf, 0xc7, 0xe3, 0xf9, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x00, 0x40, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xd8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x03, 0x83, 0xc7, 0xef, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_22_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x60, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0x3c, 0x3c, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xff, 0xff, 0xfe, 0xbe, 0xff, 0xff, 0xfe, 0xfb, 0xfa, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0x8f, 0x47, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xfc, 0xf0, 0xf0, 0xf8, 0xf8, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xa0, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x7f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, 0xc0, 0xe1, 0xf1, 0xfd, 0xff, 0x3f, 0x1f, 0x07, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xff, 0x3f, 0x1f, 0x07, 0x03, 0x03, 0x01, 0x21, 0x01, 0x01, 0x03, 0x03, 0x83, 0x83, 0xc7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7a, 0x78, 0x78, 0x78, 0x78, 0x78, 0x7c, 0xf8, 0x78, 0x3c, 0x3c, 0x3e, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xf7, 0xff, 0xff, 0xef, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0x7c, 0xbe, 0x9e, 0x9f, 0xcf, 0xe7, 0xf3, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x07, 0x00, 0x00, 0x40, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x27, 0x03, 0x07, 0x8f, 0x8f, 0xdf, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_23_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xd0, 0x90, 0x78, 0x7c, 0x3c, 0x3c, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x0f, 0x1f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xff, 0xfe, 0xf1, 0xed, 0xe8, 0xf0, 0xf8, 0xfc, 0xbe, 0xbf, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf9, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xd8, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf9, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x60, 0x20, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xff, 0x3f, 0x0f, 0x07, 0x03, 0x09, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x83, 0x83, 0xe3, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3d, 0x7c, 0x7c, 0x78, 0x78, 0x78, 0xf8, 0xf8, 0xf8, 0xfc, 0x3c, 0x3c, 0x3e, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xef, 0xff, 0xff, 0xdf, 0xf7, 0xbf, 0xff, 0xdf, 0x9f, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xef, 0xe3, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0xbe, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x20, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xe0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f, 0x07, 0x0f, 0x0f, 0x9f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_24_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0x78, 0x3c, 0x3c, 0x1e, 0x1e, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xfc, 0xf4, 0xe4, 0xa6, 0xf0, 0xf8, 0xf8, 0xfe, 0xbf, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x30, 0x00, 0x00, 0x80, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xf0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe4, 0xe0, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, + 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xc1, 0xf3, 0xf7, 0xff, 0x7f, 0x3f, 0x1f, 0x3f, 0x3f, 0x7e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0xfe, 0xfe, 0xff, 0xbf, 0xdf, 0xef, 0xff, 0x7f, 0xfe, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0xff, 0x3f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0xc1, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3e, 0x3e, 0x3e, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xfc, 0x7c, 0xfe, 0xbc, 0x3c, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x03, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xed, 0xff, 0xbf, 0xef, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xef, 0xe3, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0x7c, 0xbc, 0xbe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7c, 0x78, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x0f, 0x1f, 0x3f, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_25_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x84, 0x80, 0x80, 0xe0, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3c, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0x0f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0xe0, 0x90, 0x20, 0xf8, 0xa0, 0xf8, 0xf8, 0x3e, 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0xc0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, + 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x83, 0x87, 0xef, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xfc, 0xfe, 0xbe, 0xff, 0xbf, 0xff, 0xbf, 0x7e, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xfc, 0xfe, 0x7f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1e, 0x3e, 0x1e, 0x3e, 0x3e, 0x3e, 0x3c, 0x3c, 0x3c, 0x3c, 0x3e, 0x1e, 0x1e, 0x1e, 0x0f, 0x0f, 0x07, 0x07, 0x03, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x15, 0x03, 0x03, 0x03, 0x17, 0x37, 0x7f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xfe, 0xff, 0xed, 0xff, 0xfb, 0xfd, 0x3f, 0xdf, 0xff, 0x3f, 0xff, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xff, 0xff, 0xff, 0xf7, 0xf1, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0x7c, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x07, 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0x7c, 0x7c, 0x78, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x0f, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xbf, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_26_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xf8, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3c, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x60, 0x70, 0xf0, 0x7c, 0xfe, 0x7f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x06, 0x0e, 0x04, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfb, 0xfd, 0xfd, 0xff, 0xfb, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf2, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0x78, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x8f, + 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x8f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x7e, 0xbe, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xff, 0x7f, 0x1f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x2f, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x0f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x0f, 0x0f, 0x0f, 0x07, 0x07, + 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, 0xff, 0xfb, 0xff, 0xff, 0xeb, 0x77, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xf7, 0xf1, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x3f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0x7c, 0x3c, 0x7c, 0x7c, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x3f, 0x7e, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xef, 0xfb, 0xff, 0xef, 0xff, 0xff, 0xbf, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_27_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf8, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3c, 0x1e, 0x1f, 0x0f, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xe0, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x48, 0xe0, 0x70, 0xfc, 0xfe, 0x7f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x03, 0x03, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x9f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xef, 0xf7, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xe2, 0xf9, 0xeb, 0xff, 0xff, 0xf8, 0xf8, 0x78, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x7c, 0x7c, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x9f, + 0x8f, 0x87, 0x83, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x0f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xbe, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xff, 0x7f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x07, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, + 0x03, 0x03, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x9f, 0xbf, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xff, 0xdf, 0xff, 0xf7, 0xbf, 0xff, 0xff, 0xbf, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0x78, 0x78, 0x78, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x70, 0x30, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0xfc, 0x7e, 0x3e, 0x3e, 0x7c, 0x7c, 0x78, 0xf8, 0xf8, 0xf7, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0xff, 0xfe, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0x7c, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_28_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0x3e, 0x1e, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0xfe, 0x7f, 0x1f, 0x0f, 0x03, 0x01, 0x01, 0x00, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xaf, 0x4f, 0x5f, 0xff, 0x7f, 0x7c, 0x3c, 0x7c, 0x7c, 0x78, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf8, 0xfc, 0xfe, 0xff, + 0xdf, 0xcf, 0xc7, 0x81, 0x81, 0x81, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xff, 0x7f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0x7c, 0xbe, 0x7e, 0xfc, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xff, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x07, 0x03, 0x01, 0x03, 0x83, 0x87, 0x07, 0x0f, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, + 0x07, 0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb, 0xe7, 0xff, 0xff, 0xff, 0xbe, 0xef, 0xf7, 0xf7, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0x70, 0x78, 0x7c, 0x78, 0x78, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xff, 0x7f, 0x7f, 0x7b, 0x78, 0x78, 0x78, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xfe, 0x3e, 0x1e, 0x3e, 0x7e, 0x3c, 0xfc, 0xff, 0xff, 0x7f, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_29_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x10, 0x05, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7c, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xf8, 0xf0, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfe, 0x7f, 0x1f, 0x07, 0x03, 0x81, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xdf, 0xdf, 0x9f, 0xef, 0xff, 0x3f, 0x7f, 0xfe, 0x3f, 0x3f, 0x3e, 0x3e, 0x3c, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0x7c, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf0, 0xf8, 0xfc, 0xfe, + 0xff, 0xff, 0xc7, 0xc3, 0xc3, 0x83, 0x87, 0x87, 0x8f, 0x9f, 0x9f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfa, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x7f, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0x7c, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfe, 0xff, 0x3f, 0x0f, 0x07, 0x01, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0xe3, 0x63, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x3e, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfd, 0xf6, 0xef, 0xff, 0xd3, 0xfb, 0x7f, 0xff, 0xff, 0x7f, 0xbf, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xbc, 0xbc, 0x3c, 0x1c, 0x1c, 0x3c, 0x7c, 0x3c, 0x7c, 0xfc, 0xfc, 0xf8, 0xfc, 0xfe, 0x7f, 0x7f, 0x7f, 0x7f, 0x78, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xfe, 0xff, 0x1f, 0x1f, 0x1e, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_30_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x20, 0x0e, 0x00, 0x26, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xfe, 0x7f, 0x1f, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xef, 0xc7, 0xc7, 0x87, 0x8f, 0x0f, 0x0f, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x1f, 0x1f, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x1f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xfd, 0xfc, 0xf8, 0xf8, 0xf8, 0xfe, + 0xff, 0xff, 0xff, 0xe7, 0xe7, 0xcf, 0xcf, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xf2, 0xf6, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0x3f, 0x0f, 0xc3, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x19, 0x19, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x07, 0x07, 0x07, 0x07, + 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xdf, 0xef, 0xbf, 0xff, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xbe, 0xbe, 0x1e, 0x1e, 0x3e, 0x1e, 0x1e, 0x1e, 0x3e, 0x3e, 0x3c, 0x3c, 0xbc, 0xfc, 0xfc, 0xfc, 0xff, 0x7f, 0x7f, 0x3f, 0xff, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x03, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf8, 0xfe, 0xff, 0x7f, 0x1f, 0xdf, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xf7, 0xef, 0xff, 0xff, 0xfd, 0xfe, 0xfb, 0xff, 0xfe, 0xff, 0xff, 0xdf, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7e, 0xfc, 0xfe, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_31_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xfc, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xc0, 0x80, 0xc0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xc0, 0xe0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x13, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe7, 0xe7, 0xc7, 0x87, 0x83, 0x07, 0x07, 0x07, 0x07, 0x07, 0x87, 0x87, 0xe7, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x1f, 0x1f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x3e, 0x3c, 0xfc, 0xfd, 0xfd, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xbf, 0xff, 0xff, 0xef, 0x81, 0xc8, 0xfc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xf8, 0x78, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x0f, 0x05, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x03, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, + 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xf5, 0xd3, 0xfb, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xfc, 0x7c, 0xf8, 0xf0, 0xf0, 0xf8, 0xfc, 0xfc, 0x3c, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x3e, 0x3e, 0xbe, 0xfe, 0xfc, 0xfc, 0xff, 0x7f, 0x3f, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf7, 0xfc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xe0, 0xc4, 0xec, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_32_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0x12, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8e, 0xf4, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0x34, 0x00, 0x20, 0x20, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xef, 0xff, 0xff, 0xef, 0xff, 0xdf, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc7, 0xc3, 0x83, 0x83, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x87, 0x87, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x1f, 0x0f, 0x1f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x90, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xde, 0xfc, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0x7f, 0xbf, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3e, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, + 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf5, 0xbb, 0x4b, 0xb5, 0xff, 0x7b, 0xbf, 0xdf, 0xff, 0xfe, 0xfc, 0xfc, 0xf0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0x7c, 0x3e, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x0f, 0x0f, 0x1f, 0x0f, 0x1f, 0x1e, 0x1e, 0x1e, 0x9e, 0xbe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xfe, 0x3e, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_33_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x08, 0x58, 0x08, 0x80, 0x30, 0x00, 0x00, 0x04, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, + 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xe0, 0xf0, 0xf1, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xef, 0xc7, 0xc7, 0x83, 0x83, 0x03, 0x03, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x01, 0x01, 0x03, 0x03, 0x83, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xdf, 0xdf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x17, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0x70, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfe, 0xff, 0xfd, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xc1, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, + 0x7f, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfe, 0xfa, 0x7d, 0x7d, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x6f, 0x9f, 0xfe, 0xff, 0x97, 0xff, 0xbf, 0xff, 0x7e, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3c, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x9f, 0xdf, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xfd, 0xff, 0xe7, 0xff, 0xcf, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfb, 0xff, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_34_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xe3, 0xf0, 0xe4, 0xf0, 0xf0, 0xf6, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x81, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xe0, 0xf8, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x8f, 0x0f, 0x0f, 0x8f, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xdf, 0x8f, 0x87, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xc3, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x0f, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x7f, 0x0f, 0x9f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x1f, 0x9f, 0xff, 0xff, 0xff, 0xaf, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7c, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x01, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xeb, 0x61, 0x3f, 0x1f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf3, 0xfd, 0xff, 0xef, 0xff, 0xff, 0x7b, 0x3f, 0xdf, 0xff, 0x7e, 0xfc, 0xfc, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x0f, 0x87, 0x8f, 0x8f, 0x0f, 0x0f, 0x0f, 0x0f, 0x8f, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x0e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf9, 0xf9, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_35_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0x68, 0xd8, 0x98, 0xa0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xc3, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfe, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xfe, 0x3e, 0x7c, 0x78, 0xf8, 0xf4, 0xe0, 0xf8, 0xf8, 0xfc, 0xfe, 0x1f, 0x9f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xf0, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x1f, 0x3f, 0x3f, 0x3f, 0xff, + 0xff, 0xfc, 0xf8, 0xf8, 0xf8, 0xfd, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x83, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3e, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xfe, 0xff, 0xff, 0xff, + 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0x43, 0x7f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xef, 0xf7, 0xef, 0xbf, 0x5f, 0xff, 0xff, 0xdf, 0x7e, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, 0x3e, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0xc7, 0xe7, 0x07, 0x07, 0x07, 0x0f, 0x07, 0x8f, 0x8f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x3b, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfe, 0xff, 0xfb, 0xee, 0xfb, 0xff, 0xe7, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_36_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x38, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xfe, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xf8, 0xf8, 0xf0, 0xf0, 0xd0, 0xc0, 0xa0, 0xb8, 0xfc, 0xfc, 0x3e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x08, 0x1c, 0x21, 0x33, 0x22, 0x21, 0x0c, 0x00, 0xc0, 0xf8, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, + 0xfe, 0xff, 0xfb, 0xc7, 0x87, 0x87, 0xc7, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x81, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3e, 0x1f, 0x0f, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x8f, 0xaf, 0x37, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xdf, 0x6f, 0xef, 0xdf, 0xff, 0xfe, 0xfc, 0xfc, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7c, 0x3e, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x77, 0x37, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xf7, 0xfb, 0xef, 0xff, 0xf7, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x70, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_37_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe3, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf6, 0xfc, 0xfe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xf8, 0xe0, 0xe0, 0xc0, 0x82, 0x40, 0x00, 0x60, 0xf8, 0xfc, 0x7e, 0x3e, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x20, 0x60, 0x20, 0xfc, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x7e, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0xcf, 0x4f, 0x37, 0x3f, 0x7f, 0xfe, 0xfe, 0xdf, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf3, 0xf8, 0xfc, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x83, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7d, 0x7f, 0x3f, 0x1f, 0x0f, 0x0f, 0x0f, 0x1e, 0x1c, 0x3c, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0x9f, 0x0f, 0x63, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xfb, 0xff, 0xff, 0xff, 0xef, 0xff, 0x7e, 0xfe, 0xf4, 0xe0, 0xf0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7e, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x1f, 0x3f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xed, 0xfe, 0xff, 0xdf, 0xf7, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_38_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xdf, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0x7c, 0x3c, 0x3c, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf0, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf4, 0xfc, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0x7e, 0x3f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x3f, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xef, 0xff, 0xbf, 0xff, 0x7f, 0x7f, 0xff, 0xfc, 0xf8, 0xf9, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xff, 0x97, 0xeb, 0xdb, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x8f, 0x83, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf1, 0xf1, 0xfb, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x63, 0xc0, 0xc3, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xbf, 0x1f, 0xd3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xef, 0xff, 0x7f, 0xfe, 0xfe, 0xfb, 0xf4, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf0, 0xfc, 0x7e, 0x3e, 0x1f, 0x0f, 0x07, 0x07, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x03, 0xc3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xf3, 0xdf, 0xf7, 0xdf, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_39_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x8f, 0xe3, 0xf1, 0xf8, 0xfe, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x7c, 0x3c, 0x3c, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xfc, 0xfc, 0xfe, 0x7f, 0xff, 0xff, 0xfb, 0xf8, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xd8, 0xfc, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7e, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0xd8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7d, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, + 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe3, 0xe3, 0xe7, 0xff, 0xcf, 0xef, 0xff, 0x9f, 0x9e, 0xbe, 0xbe, 0xbe, 0xbc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xc7, 0xc3, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe1, 0xe3, 0xf3, 0xf7, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xf7, 0x3b, 0x17, 0x1f, 0x1f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0x78, 0x7f, 0x98, 0xbf, 0x13, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x7f, 0x7f, 0xaf, 0xbf, 0xfe, 0xfd, 0xf9, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, 0x81, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x03, 0x02, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x40, 0xc0, 0x41, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xfb, 0xec, 0xff, 0xdf, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xbf, 0xbf, 0xbf, 0xbc, 0xbc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_40_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x1f, 0x0f, 0x03, 0x83, 0xe1, 0xe8, 0xf8, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x3c, 0x3c, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x3f, 0xbe, 0xbe, 0xfc, 0xfe, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x78, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0x7c, 0x7e, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xfc, 0xfc, 0xbf, 0x9f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf2, 0xf8, 0xfe, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x70, 0x70, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0xdf, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xf9, 0xff, 0xff, 0xd7, 0x8f, 0x87, 0x87, 0xc7, 0x87, 0x8f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1e, 0xbe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xfc, 0xff, 0xff, 0xdf, 0xc7, 0xc1, 0xc0, 0xc1, 0xe1, 0xe3, 0xe3, 0xe7, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xaf, 0x27, 0xa5, 0x90, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xef, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf4, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x3e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x01, 0x01, 0x81, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x01, 0x00, 0x18, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfc, 0xf3, 0xff, 0xff, 0xe6, 0xbf, 0x7f, 0xff, 0xbf, 0xdf, 0xff, 0xff, 0xfd, 0xfd, 0xf9, 0xf1, 0xf3, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xbf, 0x9f, 0x9f, 0x9f, 0x1f, 0x3f, 0x3e, 0x3e, 0xbc, 0xbc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_41_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x84, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x4f, 0x07, 0x03, 0x01, 0x81, 0xc0, 0xf0, 0xf8, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0xd0, 0xe0, 0xe0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x1f, 0x1f, 0x9f, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0x3f, 0x3f, 0x7f, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xbc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0x78, 0x78, 0x78, 0x78, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0x9f, 0x8f, 0x87, 0x03, 0x01, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0x9f, 0x82, 0xc0, 0xf0, 0xf0, 0xfe, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf8, 0xfd, 0xff, 0x7f, 0x1f, 0x47, 0x03, 0x87, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x70, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0xe0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xe7, 0xe1, 0xe3, 0xe7, 0xe7, 0xef, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xfe, 0xfc, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0xff, 0xcb, 0x68, 0x48, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0xef, 0xff, 0x5f, 0xff, 0xff, 0x7e, 0xfc, 0xf8, 0xf0, 0xe0, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0xc0, 0xf0, 0xf0, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x81, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x03, 0x01, 0x03, 0x03, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x06, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x03, 0x03, 0x0c, 0x08, 0x00, 0x0a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xfb, 0xff, 0xbe, 0xdb, 0xff, 0xf7, 0xfb, 0xef, 0xbf, 0xff, 0xff, 0xbf, 0xff, 0xf8, 0xf8, 0xf0, 0xe0, 0xe1, 0xe1, 0xe1, 0xf3, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1e, 0xbe, 0x9e, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_42_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x01, 0x80, 0xc0, 0xf0, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xe0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xdf, 0xc7, 0x83, 0x81, 0x81, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0x07, 0x01, 0x80, 0xc0, 0xc0, 0xe0, 0xf8, 0xfc, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x7f, 0x7f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xbf, 0xfe, + 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfe, 0x7f, 0x3f, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x03, 0x07, 0x87, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0x06, 0x2c, 0x20, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x32, 0x38, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xe0, 0x80, 0xc2, 0xc3, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xe7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xf8, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x4d, 0x54, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfd, 0x7f, 0x3f, 0x1f, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x24, 0x4e, 0x00, 0x64, 0x2c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfb, 0xec, 0xff, 0xdb, 0xe7, 0xfe, 0xdb, 0xff, 0xb7, 0xff, 0xdf, 0xff, 0xbf, 0xff, 0x7f, 0xff, 0xf1, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xf1, 0xfb, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x0f, 0x0f, 0x1f, 0x9f, 0x9f, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_43_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x9f, 0x8f, 0x8f, 0x8f, 0x83, 0x83, 0x81, 0x81, 0x01, 0x01, 0xe1, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfd, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf6, 0xee, 0xc4, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0x78, 0x78, 0x7c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x7c, 0x7c, 0x7c, 0xf8, 0x78, 0xf8, 0xf8, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xef, 0xc7, 0xc3, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0x07, 0x02, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7f, 0xff, 0xdf, 0xc7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc6, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xf8, + 0xf0, 0xf0, 0xe0, 0xf8, 0xfc, 0xd8, 0xf8, 0xe0, 0xf0, 0xf8, 0xfc, 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x83, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x20, 0x80, 0x80, 0xd8, 0xf8, 0xe0, 0xf0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xfe, 0xfe, 0xf0, 0xe2, 0xf0, 0xfc, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x1d, 0x24, 0x3a, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf0, 0xf0, 0x80, 0x00, 0x00, 0x03, 0x03, 0x83, 0xe0, 0xf0, 0xf8, 0xf8, 0x78, 0x78, 0x78, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xf8, 0xf8, 0xfc, 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe1, 0xf0, 0xf8, 0xfc, 0x7f, 0x3f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x70, 0x00, 0x20, 0x60, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe7, 0xfe, 0xf9, 0x67, 0xfe, 0xfe, 0xff, 0xbf, 0xff, 0x7f, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xe3, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf1, 0xf9, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x07, 0x0f, 0x8f, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_44_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xcf, 0xcf, 0xdf, 0xfb, 0xdb, 0xc3, 0x83, 0x83, 0x83, 0x83, 0x83, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x07, 0x03, 0x07, 0x07, 0x07, 0x03, 0x07, 0x07, 0x07, 0x87, 0xe7, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0x78, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc6, 0xc6, 0x80, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0x3c, 0x3c, 0x3e, 0x3e, 0x3e, 0x3e, 0x3c, 0x3c, 0x7c, 0x7c, 0x7c, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x37, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0x7f, 0x3f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x8e, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xf9, 0xf0, 0xf0, + 0xe0, 0xe0, 0xc0, 0x8e, 0x8e, 0x0e, 0x80, 0xc0, 0xe0, 0xf0, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x81, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x10, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7c, 0x78, 0x78, 0x79, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xec, 0x84, 0x04, 0xcc, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x07, 0x0f, 0x03, 0x1c, 0x0a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0xfe, 0xfe, 0xfc, 0xf8, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x71, 0x70, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0x7c, 0x3c, 0x7c, 0x7c, 0x78, 0x78, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xbf, 0x1f, 0x0f, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xc1, 0xe0, 0xe0, 0xf0, 0xf8, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf9, 0x76, 0xb7, 0xff, 0xe5, 0xff, 0xdb, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xcf, 0x83, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0x7d, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x87, 0x87, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x01, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_45_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xfb, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xcf, 0xe7, 0xe7, 0xff, 0xf3, 0xe3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xc3, 0xe7, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, + 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x87, 0x02, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0xbc, 0x9e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x3e, 0x3e, 0x3c, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe2, 0xf3, 0xff, 0xfe, 0x7f, 0x3f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x3c, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xe0, 0xc0, + 0xc0, 0xc0, 0x83, 0x03, 0x03, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xfc, 0x7e, 0x3f, 0x1f, 0x0f, 0x87, 0xe1, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x87, 0x87, 0x07, 0x07, 0x07, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x18, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3c, 0x7c, 0x3d, 0x5f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0xf8, 0x98, 0x0c, 0x1e, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x07, 0x03, 0x06, 0x07, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xfc, 0xf9, 0xe1, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0xe0, 0xe0, 0xf8, 0xf8, 0x7c, 0x3c, 0x3c, 0x3c, 0x7c, 0x7c, 0x7c, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xff, 0xbf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0x7e, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xcb, 0xf7, 0xd7, 0xdf, 0xbf, 0xbf, 0xff, 0xfe, 0xbe, 0xfc, 0xf8, 0xf8, 0xe0, 0xfe, 0xff, 0xff, 0xbf, 0x8f, 0x81, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0x7c, 0x7c, 0x3f, 0x1f, 0x0f, 0x07, 0x87, 0xc3, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x03, 0x23, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x10, 0x15, 0x04, 0x1b, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_46_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xe7, 0xe7, 0xe7, 0xf7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xef, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x41, 0x61, 0xc1, 0x01, 0x01, 0x01, 0x03, 0x81, 0xe3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x70, + 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0x80, 0x80, 0x02, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0xfc, 0xfe, 0xfe, 0xde, 0x1e, 0x1f, 0x1f, 0x1f, 0x0f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1e, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xf2, 0xf8, 0xfe, 0x7f, 0x3f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfe, 0x7f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xc7, 0xe1, 0x80, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf0, 0xf0, 0xfc, 0x7e, 0x3f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x67, 0x03, 0x47, 0x07, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0xbf, 0x7f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xf8, 0xbc, 0x1e, 0x1f, 0x3f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x00, 0x01, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfc, 0xfc, 0xfb, 0xe2, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf8, 0xfc, 0x7c, 0x3e, 0x3e, 0x3e, 0x3e, 0x3c, 0x7c, 0x7c, 0x78, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x81, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xfa, 0x7c, 0x7e, 0x3f, 0x1f, 0x0f, 0x03, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x7e, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xdf, 0x6d, 0x95, 0xff, 0x7f, 0xff, 0xff, 0x7c, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xe2, 0xfc, 0xff, 0xff, 0xff, 0x87, 0x81, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3e, 0x3f, 0x1f, 0x8f, 0xc7, 0xe3, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x16, 0x2a, 0x2a, 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_47_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x37, 0x03, 0x03, 0x03, 0x03, 0x01, 0x09, 0x0d, 0x0d, 0x00, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x81, 0xe3, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, + 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xf8, 0x7c, 0x7e, 0x7e, 0x1e, 0x0f, 0x0f, 0x0f, 0x0f, 0x8f, 0xcf, 0x0f, 0x1f, 0x0f, 0x1f, 0x1f, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xfc, 0x7e, 0x7f, 0x3f, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xf8, 0xf8, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0x8f, 0x07, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0xd1, 0x71, 0x01, 0x03, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf8, 0xfd, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xf7, 0xf3, 0xfb, 0xfd, 0xfe, 0x3f, 0x3f, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xf8, 0xfe, 0xf6, 0xa0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfc, 0xfc, 0x3e, 0x1e, 0x1e, 0x1e, 0x3e, 0x3e, 0x3e, 0x7c, 0x7c, 0x78, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x82, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xfc, 0x7c, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x7c, 0x3e, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7f, 0xdf, 0xff, 0x7f, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0x9f, 0x87, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x7c, 0x3e, 0x1f, 0xcf, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x2c, 0x3a, 0x02, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // 'frame_48_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xef, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0xc7, 0xc3, 0x03, 0x01, 0x01, 0x01, 0x01, 0x05, 0x08, 0x00, 0x00, 0x00, 0x02, 0x06, 0x06, 0x00, 0x00, 0x81, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xfc, 0x7c, 0x3c, 0x3e, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x0f, 0x0f, 0x07, 0x0f, 0x0f, 0x0f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xf9, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7e, 0x3e, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0xf8, 0xfe, 0xff, 0x3f, 0x0f, 0x03, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x2f, 0x20, 0x38, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf1, 0xfb, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x7e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfc, 0xfe, 0x3e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x3e, 0x7c, 0x7c, 0xfc, 0xf8, 0xf8, 0xf0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0x78, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7d, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x7c, 0x3c, 0x1f, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xdf, 0xff, 0xbf, 0xff, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0x8f, 0x83, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3e, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x03, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x41, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x22, 0x36, 0x22, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + // frame_49_delay-0', 128x64px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1c, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0xe0, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe4, 0xff, 0xfe, 0x7c, 0x3e, 0x1e, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x7f, 0x7c, 0x7c, 0xf8, 0xf8, 0xf8, 0xf6, 0xf6, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x7c, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf0, 0xf0, 0xc0, 0xe0, 0x80, 0xc0, 0xe0, 0xf8, 0xfe, 0x7f, 0x3f, 0x0f, + 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0a, 0x09, 0x0d, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x08, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc7, 0xe7, 0xff, 0xff, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xfd, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x1f, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xf0, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfc, 0x7e, 0x1f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3e, 0x3e, 0x7c, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf1, 0xf9, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0x7f, 0x7f, 0x3c, 0x38, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xdf, 0xff, 0xff, 0xfc, 0xfc, 0xf0, 0xe0, 0xe0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xfc, 0xfe, 0xff, 0xff, 0xcf, 0xc3, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x1a, 0x1e, 0x12, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + +}; diff --git a/keyboards/handwired/uthol/keymaps/oled/keymap.c b/keyboards/handwired/uthol/keymaps/oled/keymap.c new file mode 100644 index 000000000000..3019a1fe8592 --- /dev/null +++ b/keyboards/handwired/uthol/keymaps/oled/keymap.c @@ -0,0 +1,97 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "helix.h" + +enum uthol_layers { _QWERTY, _COLEMAK, _LOWER, _RAISE, _SETTINGS }; + +#define QWERTY DF(_QWERTY) +#define COLEMAK DF(_COLEMAK) +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define SETTINGS MO(_SETTINGS) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_uthol(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, SETTINGS, KC_LGUI, KC_LALT, RAISE, KC_SPC, LOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT), + [_COLEMAK] = LAYOUT_uthol(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, SETTINGS, KC_LGUI, KC_LALT, RAISE, KC_SPC, LOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT), + [_LOWER] = LAYOUT_uthol(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_MINS, KC_EQL, KC_INS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS, KC_P0, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT), + [_RAISE] = LAYOUT_uthol(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_BSLS, KC_P0, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT), + [_SETTINGS] = LAYOUT_uthol(QWERTY, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_PWR, KC_NO, KC_SLCK, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NLCK, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAI, RGB_SAI, RGB_MODE_PLAIN, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MODE_REVERSE, RGB_VAD, RGB_VAI, RGB_MODE_FORWARD) +}; + +#define ANIM_SIZE 1024 // number of bytes in array, minimize for adequate firmware size, max is 1024 +#define ANIM_FRAMES 50 // Number of frames +#define ANIM_FRAME_DURATION 160 // How long each frame lasts in ms + +uint32_t anim_timer = 0; +uint32_t anim_sleep = 0; +uint8_t current_idle_frame = 0; + +static void render_anim(void) { + // assumes 1 frame prep stage + void animation_phase(void) { + current_idle_frame = (current_idle_frame + 1) % ANIM_FRAMES; + oled_write_raw_P(animation[abs((ANIM_FRAMES - 1) - current_idle_frame)], ANIM_SIZE); + } + if (get_current_wpm() != 000) { + oled_on(); + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + anim_sleep = timer_read32(); + } else { + if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { + oled_off(); + } else { + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + } + } +} + +// Used to draw on to the oled screen +bool oled_task_user(void) { + render_anim(); + oled_write_P(PSTR("Layer:"), false); + switch (get_highest_layer(layer_state | default_layer_state)) { + case _QWERTY: + oled_write_P(PSTR("QWERTY\n"), false); + break; + case _LOWER: + oled_write_P(PSTR("Lower\n"), false); + break; + case _RAISE: + oled_write_P(PSTR("Raise\n"), false); + break; + case _COLEMAK: + oled_write_P(PSTR("Colemak\n"), false); + break; + case _SETTINGS: + oled_write_P(PSTR("Settings\n"), false); + break; + default: + oled_write_ln_P(PSTR("Undefined"), false); + } + oled_write_P(PSTR("WPM: "), false); + oled_write(get_u8_str(get_current_wpm(), '0'), false); + + return false; +} diff --git a/keyboards/handwired/uthol/keymaps/oled/ricardo.c b/keyboards/handwired/uthol/keymaps/oled/ricardo.c new file mode 100644 index 000000000000..935ae504c707 --- /dev/null +++ b/keyboards/handwired/uthol/keymaps/oled/ricardo.c @@ -0,0 +1,840 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "progmem.h" + +static const char PROGMEM animation[][1024] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xc5, 0xf8, 0x28, 0x28, 0x6c, 0xf8, 0xb8, 0x7c, 0x7c, 0xbe, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf4, 0xf0, 0xc0, 0x01, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x01, 0x01, 0x03, 0x06, 0x26, 0x36, 0x8f, 0xce, 0xc3, 0xf3, 0xfb, 0xff, 0xff, 0xff, 0x37, 0x4f, 0x1b, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc3, 0xef, 0xff, 0xff, 0xcf, 0x80, + 0x02, 0x00, 0x40, 0x20, 0xd0, 0xf0, 0xff, 0xff, 0xff, 0xb6, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x20, 0x70, 0x30, 0x30, 0x30, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0xe0, 0xe0, 0xf0, 0xd0, 0xf0, 0xe0, 0xe0, 0xc0, 0xe1, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe1, 0xf5, 0xfe, 0xfe, 0xf8, 0xf8, 0xf8, 0xfc, + 0xfc, 0xfc, 0xfc, 0x70, 0x00, 0x20, 0x20, 0x00, 0x20, 0x80, 0xa0, 0xa0, 0x80, 0x90, 0x00, 0x00, 0x50, 0x80, 0xc0, 0x00, 0xc1, 0x44, 0xc4, 0xfc, 0xf4, 0xf8, 0xf0, 0xd0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3f, 0x7f, 0xff, 0xef, 0x3f, 0xff, 0xff, 0xff, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xee, 0xde, 0xee, 0xff, 0xff, 0xdf, 0xff, 0xef, 0xf7, 0xdb, 0xeb, 0xb1, 0xd1, 0xf1, 0xe1, 0xf1, 0xd1, 0xd9, 0xf5, 0xe5, 0xf9, 0xef, 0xf4, 0xfa, 0xe0, 0xfd, 0xe0, 0xfc, 0xfb, 0xfb, 0xfe, 0xfb, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, + 0xfa, 0xfb, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0xe1, 0xf5, 0xfa, 0xfb, 0xfc, 0xfc, 0xe0, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x40, 0x78, 0xf0, 0x60, 0xf8, 0x70, 0xf3, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x2e, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x0f, 0x07, 0x3f, 0x7f, 0x7f, 0xfe, 0xfe, 0xfc, 0xfa, + 0xf8, 0xf4, 0xe0, 0xf8, 0xa0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x04, 0x01, 0x01, 0x03, 0x0a, 0x15, 0x0f, 0x2f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x16, 0x1b, 0xdf, 0x1f, 0x5f, 0xbf, 0x3f, 0x3f, 0x1f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x07, 0x07, 0x07, 0x0f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x7f, 0xfc, 0x78, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x01, 0x0f, 0x03, 0x0b, 0x07, 0x0f, 0x03, 0x3f, 0x3f, 0x3f, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0x9f, 0xff, 0xfc, 0xf6, 0xbc, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0x3c, 0xbc, 0x04, 0x02, 0x58, 0x08, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0xe1, 0xd8, 0x40, 0x18, 0xe0, 0xdc, 0xfc, 0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xf8, 0xe8, 0xe0, 0x80, 0x01, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x7e, 0x2c, 0x9f, 0xde, 0xcf, 0xe3, 0xfb, 0xfb, 0xfd, 0x7f, 0xdf, 0xa7, 0x17, 0x0a, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0xc0, 0x80, 0x80, 0xa0, 0x00, 0xd8, 0xfd, 0xff, 0xff, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x60, 0x38, 0x30, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0x40, 0xf8, 0xf8, 0xfc, 0xf0, 0x20, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfe, 0x7e, 0x3e, 0x1c, 0x80, 0x20, 0x80, 0x00, 0x80, 0x20, 0x80, 0xc0, 0x00, 0xa0, 0x40, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x68, 0xea, 0x78, 0xfc, 0xf8, 0xf0, 0xf0, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x3f, 0x7f, 0x3f, 0x05, 0x3f, 0x7f, 0x7f, 0x01, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xe3, 0xeb, 0xff, 0xe3, 0xe7, 0xdf, 0xff, 0xe7, 0xf3, 0xed, 0xd9, 0xf1, 0xe1, 0xa0, 0xe8, 0xb0, 0x94, 0xd0, 0xa1, 0x6c, 0xd8, 0xd2, 0x6c, 0xd9, 0xf2, 0xf4, 0xfc, 0xea, 0xfb, 0xf6, 0xfb, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xfd, 0xff, 0xfc, 0x21, + 0x5c, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x21, 0xf9, 0x7e, 0xfe, 0xfe, 0xdc, 0xff, 0xd4, 0xa0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0c, 0x54, 0x68, 0x7c, 0x04, 0xf8, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xbf, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1c, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x05, 0x0f, 0x0f, 0x3f, 0x3f, 0x7f, 0x7e, 0xfe, + 0xfe, 0xf8, 0xf8, 0xf8, 0xf0, 0xf8, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x04, 0x05, 0x0b, 0x0b, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xf9, 0xe1, 0x87, 0x21, 0x8f, 0x67, 0x8f, 0x3f, 0xdf, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x0f, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x05, 0x01, 0x07, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x05, 0x01, 0x03, 0x23, 0x0d, 0x9f, 0x5f, 0x9e, 0xfc, 0xdf, 0xf2, 0xdf, 0xcd, 0xff, 0xfc, 0xaa, 0xfc, 0x9e, 0xee, 0xff, 0xff, 0xcf, 0xfe, 0x4e, 0x8a, 0x84, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xdb, 0xd3, 0xc8, 0x40, 0x58, 0xe0, 0xb9, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfa, 0xf4, 0xf0, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x0a, 0x7e, 0x2c, 0x1d, 0x9e, 0xcf, 0xe7, 0xf3, 0xf2, 0xff, 0xb7, 0x9f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x07, 0xff, 0xff, 0xff, 0xfe, 0xfd, + 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xd4, 0xff, 0xff, 0xf9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xf8, 0xf0, 0x90, 0xfc, 0xfe, 0xff, 0xfc, 0x70, 0xfc, 0xfc, 0xf8, 0xfc, 0xf8, 0xff, 0x1f, 0xdf, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7e, 0x7c, 0x7c, 0x7c, 0x7c, 0x7e, 0x7e, 0x7e, 0x3f, + 0x7f, 0x3f, 0x1f, 0x4e, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80, 0x80, 0x80, 0x80, 0x20, 0x80, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x34, 0x30, 0x7c, 0x7d, 0xf8, 0x7c, 0x70, 0xa0, 0x70, 0x40, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x0f, 0x01, 0x0f, 0x1f, 0x1f, 0x00, 0x07, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xf8, 0xd8, 0xf1, 0xde, 0xe9, 0xe5, 0xd1, 0xe9, 0xf5, 0xe0, 0xe8, 0xd8, 0x80, 0x61, 0xc0, 0xf0, 0xd8, 0xec, 0x30, 0xd8, 0xb2, 0xb9, 0xb2, 0xe8, 0xd2, 0xf8, 0xe2, 0xf8, 0xfa, 0xfb, 0xfc, 0xfb, 0xfe, 0xff, 0xff, 0xff, 0xfd, 0xff, 0x7b, 0xfa, 0xd0, + 0x19, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x7e, 0xd7, 0xff, 0xf7, 0xfe, 0xf0, 0xf4, 0xd0, 0xc0, 0x80, 0x40, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04, 0x4c, 0x9a, 0x7c, 0x7f, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1e, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, 0x07, 0x17, 0x2f, 0x3f, 0x3f, + 0x3f, 0x7f, 0xfc, 0x7e, 0xfc, 0x7c, 0xfc, 0xf4, 0xf0, 0xe0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x03, 0x09, 0x0f, 0x37, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xef, 0xff, 0xff, 0xf8, 0xe1, 0x17, 0x05, 0x07, 0x2f, 0x0f, 0x9f, 0x9f, 0x0f, 0x0f, 0x07, 0x0f, 0x07, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xc0, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x03, 0x01, 0x01, 0x01, 0x9f, 0x9f, 0x6f, 0xef, 0xce, 0xec, 0xfb, 0xa7, 0xb4, 0xbd, 0x7b, 0xb6, 0x95, 0x4f, 0x5f, 0xa7, 0xff, 0xdf, 0x86, 0x84, 0x8a, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x72, 0xb0, 0x90, 0x9c, 0x34, 0xec, 0xbf, 0xfc, 0xfd, 0xfe, 0x7f, 0xff, 0xff, 0xfe, 0xf8, 0xf0, 0x40, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x1f, 0x0f, 0x37, 0x77, 0xf3, 0xf9, 0xf9, 0xf8, 0xee, 0x12, 0x0f, 0x0b, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xc0, 0x80, 0x80, 0x81, 0x61, 0x01, 0x01, 0xf1, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xf2, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x90, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x80, 0xa0, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xfe, 0xfe, 0xfc, 0x06, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xfc, 0xfe, 0xfc, 0x2f, 0x0f, 0x27, 0x37, 0x2f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0xbf, 0x3f, 0x3f, 0x3e, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, + 0x3f, 0x1f, 0x1f, 0x0f, 0x00, 0xc0, 0x28, 0xc0, 0xf0, 0xe0, 0xd8, 0xc8, 0xe0, 0xd8, 0xe0, 0x50, 0xe8, 0xa0, 0x1a, 0x44, 0x46, 0x06, 0x0f, 0x0f, 0x0f, 0x0f, 0x8f, 0xef, 0xee, 0xf8, 0xfe, 0x78, 0xe8, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x07, 0x00, 0x03, 0x07, 0x07, 0x03, 0x01, 0x83, 0x0f, 0x9f, 0xbf, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xdc, 0xf4, 0xe4, 0xe8, 0xf4, 0xe4, 0xe8, 0xb0, 0xc8, 0x60, 0x70, 0xc0, 0xc0, 0x80, 0xe0, 0x38, 0xd0, 0xf0, 0xfa, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0xaf, 0x62, 0x08, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x0b, 0x0f, 0x1f, 0x1f, 0x3f, 0x7f, 0x7e, 0x7d, 0x7f, 0xfc, 0xfd, 0xf8, 0xfc, 0xf0, 0xfc, 0xf0, 0xe0, 0xc0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x04, 0x49, 0x80, 0xbc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x17, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x03, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x06, 0x0f, 0x0f, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xb9, 0xbf, 0x9f, 0x9f, 0xff, 0xff, 0xff, 0xbf, 0x7d, 0x8e, 0x80, 0x88, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x06, 0x18, 0x4c, 0x28, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x93, 0x0f, 0x8f, 0xc7, 0xef, 0xdf, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xdf, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xd7, 0xe6, 0x85, 0x46, 0x41, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x0c, 0x0c, 0x04, 0x06, 0x07, 0x07, 0x07, 0x07, 0x0b, 0x1f, 0x3f, 0xff, 0xc2, 0x01, 0x1f, 0xff, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x9a, 0x84, 0x5c, 0xa4, 0xfc, 0xf6, 0xfc, 0xfc, 0x7f, 0xfe, 0xbf, 0xfe, 0xfc, 0xf8, 0xc0, 0x80, 0x00, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x03, 0x07, 0x1f, 0x77, 0xf3, 0xfd, 0xfd, 0xfc, 0xfb, 0x53, 0x07, 0x13, 0x05, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0xc1, 0xc3, 0xc3, 0x01, 0x00, 0xc0, 0xc0, 0xe0, + 0xc0, 0xc0, 0xf0, 0xe0, 0xfe, 0xff, 0xff, 0xfe, 0x70, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x30, 0x18, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0xb0, 0x40, 0x40, 0xe0, 0xe0, 0xc0, 0xe0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xf8, 0xfc, 0xfa, 0x44, 0xff, 0xff, 0xff, 0xff, 0x7b, 0xff, 0xf9, 0xf1, 0xf8, 0xf0, 0x3f, 0x1f, 0x1f, 0x8f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0x78, 0xa0, 0xe0, 0xf0, 0xc8, 0xf0, 0xf8, 0xec, 0xf8, 0xf0, 0xf0, 0xfc, 0xf0, 0xf8, 0xe8, 0xfa, 0xde, 0x1f, 0x1f, 0x3f, 0x1f, 0x0f, 0x3f, 0x1f, 0x9f, 0xdf, 0xfe, 0xfc, 0xfe, 0xfc, 0xd0, 0x00, 0xc0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x0f, 0x02, 0x07, 0x0f, 0x0f, 0x0f, 0x80, 0x0f, 0x1f, 0x3f, 0xff, 0xff, 0xfe, 0xfc, 0xec, 0xe8, 0xf4, 0xf8, 0xfc, 0xc8, 0xf0, 0xc4, 0xf0, 0xb0, 0xc8, 0x20, 0xc8, 0xc0, 0xb4, 0xd2, 0xe8, 0xfd, 0xf0, 0xef, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0x37, 0x5f, 0x01, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x06, 0x0f, 0x07, 0x0f, 0x2f, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf0, 0xf4, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x05, 0x93, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x5f, 0x3f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0f, 0x1f, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfa, 0xf7, 0x5f, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x79, 0x40, 0xf0, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x40, 0x70, 0x78, 0xf8, 0xd4, 0xfe, 0xfe, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xfe, + 0x0d, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0xb0, 0x18, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x6b, 0x8f, 0x7f, 0x5f, 0xff, 0xbf, 0xff, 0xff, 0xef, 0xff, 0xfc, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xbe, 0xee, 0x04, 0xc4, 0x49, 0x08, 0x80, 0xa0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x30, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x7d, 0xf8, 0x80, 0x03, 0x0f, 0x7f, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0xe0, 0xa4, 0x90, 0x10, 0xe8, 0x58, 0x60, 0xf8, 0x3c, 0xfc, 0x7e, 0x7f, 0xfc, 0xe4, 0xf0, 0xc0, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x07, 0x03, 0x13, 0x7b, 0xf3, 0xf1, 0xf9, 0xfc, 0xf5, 0x08, 0x08, 0x0b, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x05, 0x07, 0x00, 0x00, 0x00, 0x80, + 0x80, 0x80, 0x80, 0xb0, 0xfc, 0xfe, 0xfc, 0xf7, 0xb8, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x40, 0x50, 0x70, 0x60, 0x38, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0xc0, 0x80, 0xe0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xc0, 0x60, 0xfc, 0xfe, 0xfc, 0xf0, 0xbe, 0xfe, 0xe7, 0xe3, 0xe0, 0xc0, 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf8, 0xf8, 0xf8, 0xf0, 0x80, 0xa0, 0x00, 0xa0, 0xd0, 0xe0, 0xe0, 0xd0, 0xe8, 0xe0, 0xf8, 0xf8, 0xfd, 0xf4, 0xfd, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0x7e, 0x7c, 0xfc, 0x7c, 0xf0, 0xf4, 0xd8, 0xf8, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x3f, 0x3f, 0x00, 0x1f, 0x3f, 0x3f, 0x7f, 0x03, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xfd, 0xd0, 0xe1, 0xe3, 0x93, 0x93, 0xa3, 0xe3, 0x83, 0x63, 0x83, 0x01, 0x41, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0xa1, 0x63, 0xc1, 0xd1, 0xf1, 0xf8, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x37, 0x0b, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x1e, 0x2f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xec, 0xf4, 0xd8, 0xe0, 0xd0, 0xd0, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x04, 0xd8, 0xf4, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0xfc, 0xf0, 0xc2, 0x40, 0x28, 0x9d, 0xff, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x5f, 0x1f, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x07, 0x07, 0x83, 0x83, 0xc3, 0xe1, 0xc0, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xe0, 0x83, 0x16, 0x1f, 0x07, 0x7f, 0x2f, 0xdf, 0xbf, 0x97, 0x8b, 0xcf, 0x41, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x06, 0x06, 0x06, 0x06, 0x0f, 0x0f, 0x1f, 0x1f, 0xbf, 0xff, 0xbf, 0x0f, 0x1f, 0xff, 0xff, 0xe3, 0x81, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x03, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x03, 0x05, 0x03, 0x07, 0x03, 0x03, 0x1b, 0x27, 0x7f, 0x7f, 0xff, 0x7f, 0xff, 0x7b, 0xff, 0xff, 0xff, 0xfb, 0xea, 0xf8, 0xb6, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x78, 0x3b, 0x05, 0x14, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x0c, 0x0c, 0x06, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3f, 0xf8, 0xc0, 0x00, 0x07, 0x3f, 0x3f, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x60, 0x60, 0xe0, 0xb0, 0xb4, 0xb8, 0xec, 0xf8, 0xf8, 0xf4, 0xf8, 0x7c, 0xf8, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x05, 0x08, 0x0e, 0x20, 0x04, 0x8f, 0x4f, 0x8f, 0x47, 0xf7, 0xf7, 0x77, 0xf1, 0xbf, 0x01, 0x04, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xf0, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0x60, 0xe0, 0x60, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3c, 0x3c, 0x00, 0x01, + 0x01, 0x01, 0x03, 0x01, 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x80, 0xc0, 0xc0, 0x80, 0x80, 0xc8, 0xf4, 0xea, 0xf8, 0xfd, 0xfe, 0xfe, 0xfc, 0xf8, 0xfc, 0xf0, 0xf0, 0xea, 0xf8, 0xf4, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x20, 0xa0, 0x40, 0xe0, 0x90, 0x43, 0xf7, 0x03, 0x83, 0x05, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x80, 0xa0, 0xb0, 0xec, 0xf8, 0xfc, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x17, + 0x07, 0x87, 0xc7, 0xc7, 0xcf, 0xe7, 0xef, 0xe7, 0x4f, 0x0f, 0x07, 0xcf, 0xcf, 0xdf, 0xd7, 0xf9, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfe, 0xfc, 0xfc, 0xfd, 0xae, 0xf6, 0xc0, 0xfc, 0xf7, 0xfd, 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xf4, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x10, 0x00, 0xa7, 0xdc, 0xfb, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x3f, 0x5f, 0x3f, 0x1f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x3f, 0xbf, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x0f, 0x82, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x7c, 0x3c, 0x1d, 0x08, 0x08, 0x1e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0x63, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x3f, 0x7f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x3f, 0x7f, 0x3f, 0x0f, 0x07, 0x07, 0x0f, 0x17, 0x0f, 0x0f, 0x2f, 0x03, 0x1b, 0x41, 0x04, 0x0f, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x67, 0xe7, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0f, 0x1f, 0x1f, 0x0f, 0x0c, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x17, 0x07, 0x03, 0x07, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xb0, 0xd8, 0x90, 0x14, 0xd0, 0x10, 0xb8, 0x7c, 0xa0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x10, 0x07, 0x02, 0x00, 0x00, 0x0e, 0x47, 0x47, 0xe7, 0x47, 0x43, 0x03, 0x70, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xc0, 0xc0, 0x52, 0x2b, 0xff, 0xff, 0x7f, 0x3c, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x80, 0x80, 0x68, 0xe0, 0xf8, 0xf4, 0xf8, 0xfc, 0xf8, 0xf0, 0xf0, 0xf8, 0xf0, 0x78, 0xf0, 0xb0, 0x20, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xf0, 0xe4, 0xe0, 0xfa, 0xfc, 0xf6, 0x7a, 0x7d, 0x3f, 0x3f, 0xbf, 0xff, 0xef, 0xe0, 0xe0, + 0xf1, 0xe1, 0x00, 0x03, 0x01, 0x81, 0xe1, 0xe0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x40, 0xc0, 0x00, 0x00, 0x15, 0xf0, 0xe1, 0xec, 0xf1, 0xec, 0xc1, 0x15, 0xa2, 0x48, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x07, 0x2f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xf7, 0xcf, 0xff, 0xfe, 0xfe, 0xfe, 0xab, 0x6f, 0x7f, 0x2f, 0xbf, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf8, 0xec, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfb, 0xfc, 0xfc, 0xff, 0xfe, 0x17, 0x4c, 0xd4, 0xe1, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfb, 0xf2, 0xf0, 0xe0, 0xb0, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xfc, 0xfc, 0x3c, 0x10, 0x00, 0x00, 0x0c, 0x0f, 0x7f, 0xff, 0xff, 0xf1, 0x01, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x01, 0x07, 0x03, 0x07, 0x0b, 0x0f, 0x2f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x5b, 0x7e, 0x10, 0x48, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x07, 0x02, 0x3f, 0x7f, 0x7f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0a, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x07, 0x0f, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1f, 0x1f, 0x1f, 0x0c, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x01, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x41, 0xe0, 0xe0, 0x40, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0xd8, 0x40, 0x94, 0x10, 0x18, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0a, 0x12, 0x0f, 0x03, 0x03, 0x07, 0x04, 0x27, 0xe7, 0xe3, 0x43, 0x43, 0x42, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x0a, 0x72, 0x37, 0x3a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0xc0, 0xc0, 0x20, 0x60, 0x28, 0x18, 0x14, 0x78, 0x7c, 0x38, 0x1c, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x80, 0x00, 0x20, 0x20, 0x00, 0x12, 0x1c, 0x04, 0x0d, 0x08, 0xf2, 0xf1, 0xf2, 0xf1, 0xf9, 0xf8, 0xf8, 0x80, + 0x00, 0x00, 0x80, 0xf1, 0xfb, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x92, 0x71, 0xec, 0xf0, 0xea, 0xd0, 0x8c, 0xb0, 0xd4, 0x40, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xfb, 0x67, 0x57, 0xff, 0xff, 0xff, 0xfb, 0x9b, 0x1f, 0x17, 0x7f, 0x1f, 0x6f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf0, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x80, 0xc0, 0xe0, 0x60, 0xa0, 0xc0, 0xc0, 0xfc, 0xe4, 0xf8, 0x5c, 0xf4, 0xd0, 0xa0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x03, 0x17, 0x03, 0x13, 0x0d, 0x15, 0x24, 0xbd, 0x51, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xfe, 0xfe, 0x18, 0x0c, 0x00, 0x02, 0x02, 0x1f, 0x3f, 0xff, 0xff, 0xf8, 0xc0, 0x03, 0x3f, 0xff, 0xff, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x05, 0x03, 0x07, 0x1f, 0x0f, 0x1f, 0x3f, 0x3f, 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0xa7, 0xe5, 0xfa, 0xf5, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc3, 0xc0, 0xc0, 0x40, 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1f, 0x1f, 0x1e, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xe0, 0x4c, 0x70, 0xf8, 0xf0, 0xf8, 0xf4, 0xc8, 0x00, 0x00, 0xc8, 0xd8, 0x98, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x27, 0x0d, 0x05, 0x03, 0x07, 0x03, 0x33, 0x83, 0xe2, 0x6b, 0x7b, 0x61, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x08, 0x10, 0xd8, 0xe2, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x78, 0x78, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xfc, 0xf8, + 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xb0, 0xd8, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x15, 0xa0, 0x3b, 0xfc, 0x4d, 0xb0, 0x82, 0x40, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xe1, 0xf5, 0xf9, 0xd1, 0x81, 0x01, 0x71, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xfd, 0xe3, 0x87, 0x1f, 0x7f, 0xff, 0xff, 0xf8, 0xe1, 0x82, 0x07, 0x07, 0x15, 0x0f, 0x17, 0x1f, 0x1f, 0x1f, 0x3f, 0x1f, 0x3f, 0x1f, 0x3f, + 0x1f, 0x0f, 0x03, 0x06, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x05, 0x04, 0x12, 0x00, 0x08, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xff, 0x7f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x3f, 0xff, 0xff, 0xfc, 0xf0, 0xe3, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xbc, 0xd8, 0xfe, 0xfe, 0xff, 0xf5, 0xfe, 0x5e, 0x7d, 0xff, 0xce, 0xfd, 0xe0, 0xff, 0xf0, 0xf0, 0xf0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x60, 0x94, 0xf9, 0xfb, 0xfe, 0xbc, 0x7c, 0xea, 0xe2, 0xc0, 0xa0, 0xa4, 0xec, 0xa4, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x09, 0x01, 0x00, 0x08, 0x01, 0x20, 0x79, 0x39, 0x3c, 0x5c, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xf0, 0x80, 0xc0, 0xf8, 0xe0, 0xf1, 0xfc, 0xfd, 0xff, 0xff, 0xfc, 0xfe, 0xfe, 0xfe, 0xf8, 0xf0, 0xe0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x8f, 0x8f, 0xef, 0x3f, 0x9f, 0x1f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x3f, 0x17, 0x3f, 0xbf, 0x3f, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1a, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x10, 0x04, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0x7f, 0x0d, 0x01, 0x03, 0x00, 0x01, 0x00, 0x00, 0x01, 0x1f, 0x7f, 0xff, 0xff, 0xfe, 0xf8, 0xc3, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x08, 0x3c, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x1f, 0x3f, 0x3f, 0x1f, 0x0c, 0x11, 0x1b, 0x2f, 0x0f, 0xdf, 0x1a, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xd0, 0xc0, 0xd0, 0xfc, 0x00, 0x58, 0x25, 0x2c, 0xfb, 0x2d, 0xea, 0xd6, 0xc5, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x64, 0x7e, 0xbb, 0x7c, 0x7f, 0x9e, 0xef, 0xff, 0xf2, 0xf4, 0xf0, 0xf2, 0x72, 0x76, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0c, 0x03, 0x01, 0x00, 0x0c, 0x0c, 0x1e, 0x3e, 0x3e, 0x1e, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xf1, 0xf2, 0xf2, 0xf9, 0xef, 0xfb, 0xfb, 0xff, 0xff, 0xfe, 0xff, 0xfa, 0x3c, 0xc0, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xeb, 0xf7, 0xd7, 0xff, 0xcf, 0x4f, 0x0f, 0x0f, + 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x1f, 0x0f, 0x1f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0c, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x21, 0x44, 0x00, 0x8a, 0x80, 0x60, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xfc, 0xff, 0xff, 0x3f, 0x1f, 0x47, 0x42, 0x00, 0x61, 0x00, 0x20, 0x00, 0x00, 0x05, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0xc0, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xf0, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x00, 0x0c, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x9e, 0xbf, 0x9d, 0xbb, 0xff, 0x1b, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x80, 0xe0, 0xf0, 0xe8, 0xe8, 0x50, 0xf4, 0x28, 0xff, 0xf4, 0xdd, 0xef, 0xee, 0xd0, 0xc6, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x8a, 0xf3, 0xbf, 0xbe, 0x5f, 0x7f, 0x3f, 0x7f, 0x38, 0x3a, 0x70, 0x39, 0xbd, 0x3b, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x01, 0x00, 0x02, 0x05, 0x0b, 0x3f, 0x2f, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfd, 0xff, 0xfc, 0xfa, 0xf8, 0x38, 0x38, 0x38, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x68, 0x04, 0xd0, 0x40, 0x80, 0x20, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xe0, 0xf0, 0xfc, 0xfc, 0xf0, 0xf5, 0xf1, 0x47, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0b, 0x1b, 0xbc, 0x7e, 0x15, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x09, 0x0f, 0x7a, 0x00, 0x2e, 0x24, 0x53, 0x6c, 0xb4, 0x60, 0x70, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf1, 0xc7, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x01, 0x08, 0x00, 0x04, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x11, 0x01, 0x50, 0x80, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x40, 0x74, 0xb8, 0x38, 0xbd, 0xfe, 0x7f, 0x7f, 0xdf, 0x3f, 0x1f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xa0, 0xc8, 0x68, 0x68, 0xb2, 0x6c, 0xff, 0xfe, 0xde, 0xde, 0xe7, 0xd8, 0xc7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x20, 0x88, 0x08, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0xc0, 0x80, 0x80, 0xe2, 0x43, 0x00, 0x86, 0x40, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x02, 0x02, 0x01, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0xdc, 0xff, 0x7f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7c, 0x78, 0x7c, 0x31, 0xb9, 0x3b, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x02, 0x01, 0x00, 0x06, 0x01, 0x27, 0x4f, 0x1f, 0x1f, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3c, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf8, 0x38, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x50, 0x60, 0xa0, 0xd0, 0x5a, 0xe4, 0x5a, 0xd4, 0xca, 0x10, 0x44, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xf8, 0xfc, 0xf0, 0xf8, 0xf4, 0xe7, 0x03, 0x07, 0x07, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x1f, 0x7e, 0xff, 0xff, 0x7b, 0x0a, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x06, 0x64, 0x1b, 0xe0, 0x3b, 0xbe, 0xf5, 0xf8, 0xf6, 0xfd, 0xf4, 0xf0, 0xf9, 0x68, 0x28, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0xa0, 0x38, 0x24, 0x82, 0xd8, 0xf4, 0xe4, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x1f, 0x7f, 0xff, 0xff, 0xfc, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x03, 0x0b, 0x05, 0x1c, 0x63, 0x0e, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x20, 0xa1, 0xa0, 0x23, 0x87, 0x87, 0x07, 0x07, 0x27, 0x07, 0x03, 0x03, 0x21, 0x60, 0x10, 0x40, 0x74, 0x78, 0xec, 0xf4, 0xd8, 0xcb, 0x7e, 0xe2, 0x0e, 0x18, 0x00, 0x00, 0x03, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x48, 0x70, 0x3c, 0x7e, 0x7c, 0xfe, 0xff, 0xce, 0xde, 0xca, 0xcd, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0x88, 0xa8, 0x94, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x88, 0x9e, 0x1e, 0x18, 0x04, 0x00, 0x0a, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x10, 0x05, 0x02, 0x11, 0x09, 0x04, 0x03, 0x04, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0xf8, 0x3b, 0xbc, 0x3c, 0x84, 0x3d, 0xf1, 0xc8, 0xe0, 0xf0, 0x76, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x04, 0x14, 0x3c, 0x1e, 0x3e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x40, 0xb0, 0xa0, 0xe0, 0xf8, 0xec, 0xf4, 0xd8, 0xd4, 0xe0, 0x7c, 0x70, 0xc0, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xe8, 0xe0, 0xfc, 0xe0, 0xe8, 0xa0, 0x00, 0x04, 0x0d, 0x0f, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xfe, 0xfe, 0xfe, 0xfc, 0x78, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x3f, 0x14, 0xbf, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf6, 0x9a, 0xea, 0xa3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x30, 0x00, 0xa0, 0x20, 0xc4, 0x10, 0x24, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf0, + 0xfe, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x03, 0x07, 0x1f, 0x3f, 0x7f, 0xfc, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x01, 0x0f, 0x0e, 0x0f, 0x87, 0x0f, 0xcf, 0x5f, 0x07, 0xd7, 0xf7, 0xe1, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x12, 0x18, 0x05, 0x26, 0x02, 0x18, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x43, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xc0, 0xf0, 0xf0, 0xe4, 0x6c, 0xf8, 0x20, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0x60, 0x05, 0x13, 0x0f, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x10, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xe8, 0xf0, 0xfa, 0xf6, 0x70, 0xc9, 0xc0, 0xb0, 0x80, 0xc8, 0xd8, 0xbc, 0x08, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0b, 0x01, 0x00, 0x02, 0x03, 0x00, 0x39, 0xea, 0x7b, 0x7b, 0x3b, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0xc0, 0x50, 0xd0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd4, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x40, 0xe4, 0xad, 0xe6, 0xf9, 0xfa, 0xe6, 0xfa, 0xf8, 0xfc, 0xf4, 0xe0, 0xc8, 0xc0, 0x30, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xd0, 0x80, 0x20, 0x20, 0x10, 0x48, 0x10, 0x5f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xfe, 0xfe, 0xff, 0xfe, 0xfd, 0xff, 0x78, 0x0c, 0x1b, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x56, 0x75, 0x3d, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfe, 0x7b, 0x76, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x80, 0x50, 0xc0, 0xb0, 0x80, 0x40, 0xc8, 0xa0, 0x40, 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xfc, 0xfe, 0xff, 0xff, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x01, 0x07, 0x3f, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xba, 0x28, 0x20, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x05, 0x07, 0x23, 0x0f, 0xaf, 0x3f, 0x9f, 0xbf, 0x3f, 0x1f, 0x9f, 0xbf, 0x8f, 0xb7, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x44, 0x2c, 0x7b, 0xda, 0x3d, 0xa0, 0x37, 0xc9, 0x02, 0x08, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x3c, 0x3c, 0x3e, 0x3e, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x3f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x80, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x37, 0x45, 0x6f, 0x1e, 0x3f, 0x0d, 0x01, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xb8, 0xd0, 0xe4, 0xf8, 0x7e, 0xf2, 0xdc, 0x84, 0x50, 0x90, 0x90, 0xb8, 0xb8, 0x00, 0x00, 0x60, 0x90, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x07, 0x05, 0x01, 0x0b, 0x00, 0x33, 0xf6, 0xe7, 0xf7, 0xf7, 0x9f, 0x17, 0x07, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x2c, 0x78, 0xfc, 0xf0, 0x70, 0x68, 0x70, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xe7, 0x3c, 0x90, 0x80, 0x00, 0x40, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xb2, 0xdd, 0xdd, 0xe9, 0xf7, 0xf6, 0xfa, 0xff, 0xf4, 0xff, 0xf8, 0xfc, 0xe8, 0xf0, 0xc8, 0x40, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xe0, 0xe0, 0xc0, 0xf0, 0x20, 0x20, 0x00, 0x30, 0x6d, 0x6f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3e, 0x2f, 0x19, 0x06, 0x02, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x56, 0x9f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0x1e, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0xa0, 0x60, 0xf0, 0x40, 0xb0, 0x90, 0x62, 0xc0, 0xb0, 0xb0, 0x48, 0x28, 0x14, 0x12, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfc, 0xfe, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x02, 0x14, 0xdc, 0xf2, 0x58, 0x05, 0x00, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x05, 0x07, 0x0f, 0x17, 0x1f, 0x1f, 0x9f, 0xbf, 0xff, 0x1f, 0x9f, 0xbf, 0xbf, 0xcf, 0xe7, 0x07, 0x01, 0x00, 0x02, 0x04, 0x40, 0x38, 0xdf, 0xdb, 0x5e, 0xfb, 0x17, 0xf9, 0x7b, 0x26, 0x0d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x3e, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x02, 0xf0, 0x13, 0xbf, 0x3f, 0x1f, 0x3c, 0x0d, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xa0, 0xb0, 0xfa, 0xfa, 0xfa, 0xfa, 0xa0, 0x08, 0xe0, 0x00, 0x30, 0xf0, 0x70, 0x30, 0x00, 0x80, 0x50, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x39, 0x03, 0x01, 0x03, 0x66, 0x27, 0xe5, 0xe6, 0xe7, 0xf7, 0x37, 0x37, 0x67, 0xc4, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x1a, 0x34, 0x1e, 0x7a, 0x3e, 0x38, 0x10, 0x18, 0x00, 0x00, 0xc0, 0x00, 0x80, 0x20, 0xc0, 0x20, 0x00, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0xc9, 0x80, 0x40, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xa0, 0x80, 0x40, 0x80, 0x80, 0x40, 0x80, 0x00, 0x40, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xa0, 0xaa, 0xed, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfe, 0xfe, 0xfc, 0xfa, 0xf8, 0xe2, 0xd0, 0xd0, 0x40, 0xa0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfa, 0xf4, 0xec, 0xcc, 0x44, 0x08, 0x02, 0x16, 0x03, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x0f, 0x09, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1e, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfe, 0xfe, 0x1e, 0x01, 0x00, 0x80, 0x80, 0x20, 0xc8, 0xa0, 0x00, 0xf8, 0x40, 0xf0, 0xa0, 0xea, 0xa0, 0xb0, 0xea, 0x58, 0x16, 0x32, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xa0, 0xbe, 0xf4, 0x32, 0x2a, 0x05, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x05, 0x07, 0x07, 0x8f, 0x1f, 0xbf, 0xbf, 0xdf, 0x5f, 0xbf, 0x9f, 0xff, 0xf7, 0x47, 0x03, 0x00, 0x00, 0x00, 0x6c, 0x24, 0xaf, 0xf2, 0x7d, 0xfd, 0x79, 0x6f, 0x35, 0x4d, 0x06, 0x17, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0xe0, 0x10, 0x51, 0xbb, 0xbf, 0x1f, 0x3f, 0x0f, 0x06, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc2, 0xc0, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xf0, 0xfe, 0xfc, 0xfe, 0xfe, 0xfb, 0xc8, 0xe0, 0x20, 0xb0, 0xf4, 0xfc, 0x30, 0x14, 0xfc, 0xe8, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x13, 0x0f, 0x0b, 0x27, 0x47, 0x45, 0xc7, 0x9f, 0xde, 0xff, 0x7f, 0x7b, 0x1e, 0x18, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0xa0, 0xc0, 0xe0, 0xc0, 0xc0, 0xe0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x0e, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x50, 0x10, 0x00, 0x00, 0x00, 0x01, 0x05, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0x44, 0xa4, + 0xaa, 0x94, 0xf0, 0xe8, 0xd0, 0x90, 0xe0, 0xc0, 0x40, 0x40, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x32, 0x20, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, 0xfc, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xf0, 0xf8, 0xfc, 0xf8, 0xf8, 0xfa, 0xfc, 0xfc, 0xfd, 0xfc, 0xfd, 0x3a, 0x7a, 0x7d, 0x0c, 0x32, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xb4, 0x7f, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xf8, 0xfc, 0xf2, 0x08, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x80, 0x80, 0xc0, 0xa0, 0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0xe8, 0x12, 0x9c, 0xa0, 0x48, 0x90, 0x01, 0x17, 0x3f, 0x3f, 0x1f, 0x0f, 0x0f, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x1f, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0xc0, 0x69, 0xd4, 0xf7, 0xf8, 0xfd, 0xfc, 0xfd, 0xfe, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xbf, 0x3f, 0x1f, 0x27, 0x0f, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x3e, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x04, 0x0b, 0x2f, 0x6d, 0x1f, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x0c, 0xdf, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x00, 0x00, 0x40, 0x09, 0xf5, 0x7f, 0x7f, 0x7f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x0f, 0x0b, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x20, 0xe0, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xd0, 0xf0, 0xe8, 0xe0, 0xf8, 0xe8, 0xe8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x6c, 0xd8, 0xfe, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xbf, 0x43, 0x03, 0x00, 0x80, 0x02, 0x41, 0x00, 0xc0, 0x12, 0x9c, 0x3e, 0x38, 0x79, 0x39, 0x31, 0x60, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x0a, 0x52, 0x7f, 0x1d, 0x76, 0x11, 0x09, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x8e, 0xf2, 0x10, 0xb0, 0xfc, 0xfc, 0x98, 0x28, 0xfd, 0xfc, 0xfa, 0xf8, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x0f, 0x03, 0x23, 0x6d, 0x77, 0xc6, 0xcf, 0xdb, 0xdf, 0x7f, 0x7f, 0x7f, 0x1f, 0x5a, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x80, 0xe0, 0xe0, 0xe0, 0xf0, 0x78, 0x30, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x07, 0x00, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x40, 0x30, 0xbc, 0x40, 0xf4, 0x08, 0x50, 0xc0, 0x05, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0xa4, + 0xfb, 0xca, 0xf8, 0xf1, 0xfc, 0xfa, 0xee, 0xf8, 0xe8, 0xe4, 0xd0, 0xe0, 0xe0, 0x20, 0x80, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x34, 0x31, 0x10, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7d, 0x1f, 0x1f, 0x1f, 0x0f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x78, 0x02, + 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0xc0, 0x80, 0x80, 0x80, 0x80, 0xd0, 0xd0, 0xe0, 0xa0, 0xe0, 0xf0, 0xc0, 0xe0, 0xe8, 0xd0, 0xf0, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0x7f, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xf0, 0xe0, 0xd2, 0xdc, 0xa6, 0x7a, 0x50, 0x00, 0x07, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x07, 0x28, 0x68, 0xd0, 0xfe, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x9f, 0x3f, 0x7f, + 0x4f, 0x2f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x81, 0x01, 0x15, 0x37, 0x7f, 0x3f, 0x1f, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0xdd, 0xd7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x1f, 0x1f, 0x8f, 0xc2, 0x10, 0x74, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0xe0, 0xe0, 0xe0, 0xa0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xfc, 0xfc, 0xfc, 0x7c, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xf8, 0xbd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x93, 0x85, 0x51, 0xe4, 0x8b, 0xe5, 0xd6, 0x9f, 0xcf, 0xdf, 0x1f, 0x3f, 0x3c, 0xfd, 0xb9, 0x7d, 0x8b, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x28, 0x1c, 0xf7, 0x3f, 0x7f, 0x4f, 0x1b, 0x09, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xfe, 0xe9, 0xdc, 0xff, 0xff, 0xd8, 0x3e, 0xff, 0x7f, 0xff, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0x13, 0x0d, 0x33, 0x7f, 0xf3, 0xeb, 0xef, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0xcf, 0x05, 0x11, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x78, 0x68, 0xfa, 0xf0, 0xf0, 0xf8, 0xfc, 0x78, 0x7c, 0x24, 0x20, 0xa0, 0x40, 0xa0, 0xe0, 0xc0, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80, 0x80, 0x00, 0x00, 0x01, 0x03, 0x0f, 0x0f, 0x06, 0x00, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xd0, 0xe8, 0xe8, 0xfc, 0xfa, 0xfc, 0xfe, 0xff, 0xfb, 0xfe, 0xff, 0x7f, 0x0f, 0x05, 0x00, 0x00, 0x80, 0xf0, 0xe8, + 0xf4, 0xfd, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xf8, 0x40, 0xe0, 0x40, 0x60, 0x00, 0x0d, 0x3f, 0x3f, 0x1e, 0x18, 0x1c, 0x1c, 0x0e, 0x0f, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x1f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf7, 0x68, 0xe8, 0xe0, 0xb0, 0xf8, 0xf0, 0xe8, 0xe0, 0xf8, 0xf0, 0xfc, 0xf8, 0xf0, 0xf8, 0xfc, 0xf8, 0xf4, 0xfc, 0xe0, 0xf8, 0xf0, 0xf8, 0xf8, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x70, 0xf0, 0xf8, 0xfe, 0xfe, 0xfe, 0xfc, 0xff, 0xfc, 0x2c, 0x07, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x2f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x7f, 0xbf, 0x3f, 0x0f, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xa8, 0xf0, 0x03, 0x4d, 0xbf, 0x7f, 0x7f, 0x3f, 0x1f, 0x0b, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xed, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0x7f, 0x7f, 0x87, 0x47, 0x87, 0x03, 0x07, 0x01, 0x01, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x14, 0x13, 0x59, 0xa4, 0xba, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0x02, 0x16, 0x05, 0x0c, 0x78, 0xb5, 0x7c, 0x7e, 0xb9, 0xfa, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3e, 0xfe, 0x78, 0xe0, 0xcc, 0xf2, 0xfe, 0xff, 0xf7, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x3f, 0x78, 0xfb, 0xdb, 0x9f, 0xdf, 0xff, 0xff, 0xf7, 0xff, 0x79, 0x5b, 0x2f, 0x03, 0x0d, 0x0f, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xd8, 0xf8, 0xf8, 0xf4, 0xfa, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xf6, 0xfc, 0xea, 0x8e, 0xc4, 0x80, 0x80, 0x00, 0x00, 0x0f, 0x1c, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x01, 0x00, 0x00, 0x03, 0x03, 0x07, 0x81, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6f, 0x07, 0x03, 0x43, 0xa7, + 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0xf0, 0xf8, 0xe0, 0xe0, 0x84, 0x9e, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x0b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0x3f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x04, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf4, 0xf9, 0xf9, 0xe9, 0xf9, 0xfb, 0xf9, 0xf1, 0xf8, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xf4, 0xf4, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x11, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x07, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0xec, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x17, 0x17, 0x0f, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0xf0, 0xfc, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x7f, 0x1f, 0x1f, 0x9f, 0x0f, 0xc3, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x80, 0x40, 0x2c, 0xf0, 0xf8, 0x0d, 0x77, 0x4f, 0x2f, 0x3f, 0x3f, 0x0f, 0x0f, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xfb, 0xff, 0xf9, 0xf8, 0xe0, 0xf0, 0xfd, 0xf9, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x40, 0xd0, 0xf6, 0xfe, 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfa, 0x6f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf8, 0x0b, 0xdb, 0xfb, 0xff, 0xff, 0xf7, 0xf7, 0xf3, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x3f, 0x1f, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf8, 0xe0, 0xf8, 0xfc, 0xfc, 0xff, 0xfe, 0xfd, 0xff, 0xfe, 0xff, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0x78, 0xb2, 0x6e, 0x5e, 0x9e, 0x7c, 0x78, 0x3c, 0x78, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x01, 0x00, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe8, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x7f, 0x3f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfd, 0xf8, 0xf4, 0xf9, 0xf4, 0xe0, 0xf0, 0xc0, 0xa0, 0x80, 0xc8, 0x70, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x7f, 0x2f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf0, 0xf4, 0xfc, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x00, 0x00, 0xa4, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfb, 0xfb, 0xe7, 0xc7, 0xc7, 0xd7, 0xc7, 0xc7, 0xc7, 0xc3, 0xc1, 0xe0, 0x80, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x0f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0x3e, 0x3c, 0x08, 0x0c, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x97, 0x7f, 0xff, 0x1f, 0x1f, 0x1f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe8, 0xb4, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xfd, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0x3f, 0x1f, 0x0f, 0x01, 0x00, 0x09, 0x07, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xec, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x13, 0x05, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xd4, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0x8f, 0x3f, 0x8f, 0x87, 0x03, 0x83, 0xa5, 0xc0, 0xf2, 0xf0, 0xf8, 0xfc, 0xfc, 0xce, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0xfe, 0xff, 0xf7, 0xe7, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xf9, 0xef, 0x07, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0c, 0xeb, 0xff, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x01, 0x00, 0x00, 0x30, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xd0, 0xf0, 0xf8, 0xf0, 0xf8, 0xf8, 0xf8, 0xfc, 0xf8, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xf0, 0xd0, 0xc0, 0xf8, 0xf8, 0x70, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x03, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfc, 0xf9, 0xf9, 0xf1, 0xe9, 0xe3, 0xe0, 0xc1, 0xc1, 0xc1, 0x80, 0x80, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfe, 0xfc, 0xfe, 0x3e, 0x1e, 0x0a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xb0, 0xe0, 0xcc, 0xf4, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x07, 0x03, 0xc3, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, + 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x8f, 0x8f, 0xcf, 0x9f, 0xcf, 0x9f, 0xcf, 0xdf, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf4, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x02, 0x11, 0x57, 0x7f, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, 0xfc, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa0, 0x60, 0xe0, 0xe0, 0xc0, 0xc0, 0x40, 0xc0, 0xc5, 0x3f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x6f, 0x0f, 0x8b, 0x39, 0x59, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x28, 0x00, 0x0c, 0xa8, 0x5c, 0xb0, 0x24, 0xd8, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x7f, 0x0f, 0x12, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x88, 0xe4, 0xe1, 0xfc, 0xfa, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x17, 0x87, 0xc7, 0xc3, 0xe1, 0x40, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xf6, 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x3f, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x3f, 0x0d, 0x25, 0x7c, 0x7c, 0x7c, 0x7c, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x60, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0b, 0x07, 0x3f, 0x07, 0x77, 0x07, 0x2f, 0x03, 0x5f, 0x03, 0x03, 0x83, 0xc1, 0xe0, 0xf0, 0x70, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe8, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xef, 0xff, 0xf6, 0xc6, 0xe2, 0xc5, 0xc3, 0xc7, 0x87, 0x87, 0x03, 0x07, 0x01, 0x02, 0x00, 0x40, 0xe0, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xa0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0x3f, 0x3f, 0x3f, 0x35, 0x3a, 0x00, 0x08, 0x00, 0x08, 0x60, 0x70, 0x60, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xec, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0e, 0x00, 0x08, 0x38, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xfc, 0xfc, 0xf0, 0xf8, 0xf0, + 0xf0, 0xf0, 0xf0, 0xc0, 0xe0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x5f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x1f, 0x0f, 0x0e, 0x1c, 0x3e, 0x3c, 0x38, 0x10, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xfe, 0xff, 0xff, 0x7f, 0xdf, 0xff, 0x3f, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x50, 0xd9, 0xf4, 0x50, 0xfc, 0x7c, 0xf8, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x07, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0xc8, 0xf0, 0xf8, 0xf4, 0xf4, 0xf4, 0xb0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9c, 0xc4, 0xcc, 0xc4, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xc7, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, + 0x80, 0x80, 0xc0, 0x80, 0xc0, 0x80, 0xc0, 0x80, 0xc0, 0xc0, 0x80, 0x00, 0x80, 0x00, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0xbf, 0xbf, 0xbf, 0xbf, 0xdf, 0xdf, 0xff, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf4, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xf7, 0xfd, 0xe2, 0xeb, 0x8b, 0xc7, + 0xc7, 0x07, 0x03, 0x01, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xd7, 0xf5, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfe, 0xfa, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, + 0xbf, 0xbf, 0xbf, 0xbf, 0x3f, 0xbf, 0x7f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7e, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xe0, 0xf0, 0xe0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0xf0, 0xf0, 0xfa, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x02, 0x18, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfe, 0xfe, 0xff, 0xf4, 0xfc, 0xf0, 0xf8, 0xf0, 0xf1, 0xc1, 0xe1, 0xc1, 0x01, 0x01, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3e, 0x1c, 0x7e, 0x3c, 0xf8, 0xb8, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x0b, 0x0f, 0xb7, 0x6f, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xf0, 0xe0, 0xc8, 0xe2, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf4, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0xe6, 0xe4, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x5f, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0x80, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x1f, 0x9f, 0xbf, 0xbf, 0xff, 0xdf, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xec, 0x99, 0xcb, 0xe3, 0xc7, 0x83, 0x02, + 0x00, 0x00, 0x00, 0x80, 0xe8, 0xfa, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xf8, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x1f, 0x3f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xbf, 0xff, 0xff, 0x1f, 0xbf, 0x3f, 0x3f, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfd, 0xff, 0xfc, 0xfc, 0xf8, 0xf9, 0xf1, 0xe1, 0xd1, 0x80, 0x56, 0x00, 0x98, 0xb8, + 0xb0, 0xd0, 0xd0, 0xe0, 0x00, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0x7c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x3f, 0x3e, 0x7b, 0xfc, 0x7a, 0xea, 0xe9, 0xfd, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x1f, 0x3f, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xc0, 0xe0, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x1f, 0x3f, 0x0f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x01, 0x01, 0x03, 0x17, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, 0xf7, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe3, 0xfa, 0xfa, 0xf0, 0xc4, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xaf, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe8, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x1f, 0x3f, 0x1f, 0x3f, 0x1f, 0x3f, 0xbf, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xf1, 0xc1, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x06, 0x0c, 0x18, 0x10, 0x80, 0x40, 0xf0, 0xf0, 0xf0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xce, 0xfb, 0xf1, 0xbf, 0xc3, 0xc4, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xfc, + 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfa, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x0f, 0xef, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xbf, 0xdf, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xff, 0xcf, 0xdf, 0xef, 0x8f, + 0x1f, 0x8f, 0x5f, 0x3f, 0x3f, 0x7e, 0x7e, 0x7c, 0x38, 0x98, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0xc7, 0xcf, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x01, 0x05, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xf2, 0xfb, 0xfb, 0xde, 0xfe, 0xfc, 0xf8, 0xfc, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3b, 0x9f, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x5c, 0xb4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x1f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xe0, 0xe0, 0xf1, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0x5f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x04, 0x01, 0x01, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0xee, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xf7, 0xfa, 0xfa, 0xf8, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x9f, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xc0, + 0xc0, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x0f, 0x1f, 0x7f, 0x3f, 0x3f, 0x3f, 0xdf, 0xff, 0xff, 0xdf, 0xdf, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xe0, 0xe5, 0xcb, 0xcf, 0x96, 0x8f, 0xa8, 0x80, 0x00, 0x80, 0x00, 0x12, 0xfd, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xec, 0xf4, 0xda, 0xe0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xe7, 0xdf, 0xa7, 0xef, 0xaf, 0xdf, + 0x9f, 0x9f, 0x3f, 0x3f, 0x0f, 0xae, 0xcc, 0xcc, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x0f, 0x0f, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x5f, 0xff, 0xdf, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf0, 0xd0, 0xe8, + 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x3f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0xe0, 0x01, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x17, 0x3f, 0x3f, 0x7d, 0x78, 0xfa, 0xf9, 0xf2, 0xf2, 0xf4, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x17, 0x0f, 0x0f, 0x1f, 0x1f, 0xa7, 0x4f, 0x1f, 0xdf, 0x5e, 0xfc, 0xd0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xe1, 0x90, 0xb8, 0x38, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xde, 0xdf, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0xe0, 0xfb, 0xf2, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x87, 0xe3, 0xff, 0xff, 0xff, 0x17, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x0f, 0x1f, 0x3f, 0x7f, 0x7f, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xdf, 0xff, 0xf6, 0xfd, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc3, 0xe7, 0xf7, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xf8, 0xf8, 0xe1, 0xe6, 0xc7, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfa, 0x81, 0xe0, 0x58, 0x78, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0x1f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xfd, 0xfe, 0x7e, 0xfd, 0x7f, 0x7f, 0x3f, 0x5f, 0xcf, 0xef, 0x4f, 0xef, 0xef, 0xef, 0xe7, 0xe3, 0xf3, 0xd7, 0xc3, 0xd3, 0xe1, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xcf, 0xc3, 0xc3, 0x83, + 0x80, 0x80, 0x00, 0x20, 0x80, 0xe0, 0xc0, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0d, 0x06, 0x04, 0x00, 0x06, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x01, 0x07, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xc0, 0xc0, 0xc0, 0x80, 0xc1, 0x80, 0x80, 0x80, 0x80, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xf8, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xe0, 0x80, 0x03, 0x03, 0x07, 0x07, 0x1f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xdf, 0xe3, 0xc3, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xe0, 0xc0, 0x82, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x3f, 0x1f, 0x3f, 0x7f, 0x7f, 0x7f, 0x2f, 0x3f, 0x7f, 0x3f, 0xdd, 0xf0, 0xe0, 0xfc, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xf0, 0xe4, 0xf8, 0xe4, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xfc, 0xfe, 0xef, 0xef, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xc2, 0xf2, 0xf2, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x05, 0x82, 0xe0, 0xff, 0x9f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x9f, 0xdf, 0xdf, 0xcf, 0xef, 0xe1, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xfc, 0xf8, 0xfc, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xd0, 0xa0, 0x98, 0xf8, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xe8, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x7e, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x3f, 0x1d, 0x4f, 0x03, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xfc, 0xf8, 0x84, 0x08, 0x10, 0x01, 0x03, 0x03, 0x01, 0x01, 0x03, 0x01, 0x01, 0x01, 0x81, 0x81, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0xf0, 0xc0, 0x00, 0xc0, 0x50, 0x80, 0x00, 0x40, 0x03, 0x03, 0x83, 0x03, 0x07, 0x03, 0x07, 0x43, 0xff, 0x73, 0x17, 0x17, 0x0f, 0x0f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf8, 0xe0, 0x80, 0x01, 0x01, 0x03, 0x07, 0x07, 0xbf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfc, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x7f, 0x3f, 0xff, 0x2f, 0x3f, 0x3f, 0x5f, 0x3f, 0x7e, 0x7a, 0x30, 0x80, 0x40, 0x68, 0xaf, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xe3, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0xfc, 0xfe, 0xef, 0xef, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xaf, 0x27, 0x80, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x0b, 0x01, 0x80, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, + 0x0f, 0x1f, 0x1f, 0x8f, 0xdf, 0xcb, 0xcf, 0xcf, 0xe1, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x7c, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3e, 0x30, 0x39, 0x14, 0x1c, + 0x18, 0x3c, 0x38, 0x38, 0x38, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xc1, 0xc1, 0xc1, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0xf8, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfb, 0xff, 0xcf, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfd, 0xf5, 0xa1, 0x01, 0x01, 0x01, 0x01, 0x81, 0x80, 0x00, 0x80, 0x40, 0x40, 0xc0, 0xd0, 0xe0, 0x80, 0xe0, 0xd0, 0xf0, 0xe0, 0xc4, 0xf0, 0x9c, 0xc4, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0x9f, 0xef, 0xbf, 0x3f, 0x5f, 0x3f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfe, 0xda, 0xfb, 0xfc, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x4f, 0x0f, 0x0f, 0x07, 0x01, 0x03, 0x00, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x27, 0x4f, 0x2f, 0x1f, 0xbf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xe0, 0xf0, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x03, 0x05, 0x07, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x07, 0x47, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x2d, 0x14, 0xed, 0xd0, 0xf0, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x1f, 0x3f, 0x0f, 0x1c, 0x3c, 0x1c, 0x28, 0x70, 0x00, 0x00, 0x00, 0x11, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfb, 0xf0, 0xe0, 0xa0, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x36, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0xff, 0xdf, 0xff, 0xff, 0xfe, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0x96, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x7e, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x23, 0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0a, 0x01, 0x00, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0b, 0x1f, + 0x17, 0x8f, 0x8b, 0xd7, 0xc9, 0xc7, 0xc7, 0xe0, 0xe1, 0xf0, 0xf8, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xf8, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3e, 0x1c, 0x00, 0x04, 0x08, 0x08, 0x0c, 0x00, + 0x84, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xa0, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf8, 0xf0, 0xe0, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x28, 0xe8, 0xd8, 0xfc, 0xf8, 0xf8, 0xfc, 0xf8, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xf9, 0x41, 0x01, 0x02, 0x03, 0x01, 0x01, 0x00, 0xa0, 0xa0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0xdf, + 0x7f, 0x1f, 0x0f, 0xa7, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0x7c, 0xb0, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x9b, 0xfe, 0xfa, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x97, 0x27, 0x03, 0x0b, 0x07, 0x05, 0x07, 0x0c, 0x02, 0x13, 0x08, 0x0f, 0x24, 0x29, 0x4c, 0x10, 0xfd, 0xed, 0xfc, 0xde, 0xb8, 0xf0, 0xd8, 0xfa, 0xcf, 0xaf, 0xef, 0xbf, 0x1f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x17, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3f, 0x3f, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x1f, 0x1f, 0x1f, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x17, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xfd, 0xff, 0xfb, 0xdf, 0xf0, 0xe4, 0xfa, 0xfc, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0b, 0x0f, 0x05, 0x07, 0x0b, 0x1f, 0x0b, 0x2e, 0x1f, 0x07, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x20, 0xc0, 0x94, 0xf0, 0xe4, 0xec, 0xf8, 0xf8, 0xec, 0xfd, 0x2f, 0x3f, + 0x0d, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x17, 0x0f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x1f, 0x3f, 0x7f, 0x1f, 0xbf, 0xff, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x02, 0x07, 0x04, 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf1, 0xf1, 0xf3, 0xbb, 0x8b, 0x87, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xe6, 0xe6, 0xce, 0xcc, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x1f, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xbc, 0x3f, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x80, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x38, 0x3c, 0x1c, 0x1e, 0x0e, 0x00, 0x00, 0x13, 0x07, 0x1f, 0x87, 0x87, 0x9f, 0xdf, 0x7f, 0x4f, + 0x1f, 0x0f, 0x8f, 0x07, 0x4b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x83, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0x7e, 0x37, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf0, 0xf4, 0xfc, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0xef, 0xae, 0xce, 0xe4, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xf0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xe0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x3f, 0x0d, 0x17, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0xc0, 0xd0, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xfe, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xbc, 0xc0, 0x90, 0xe0, 0xe0, 0xe8, 0xe0, 0xe8, 0xe0, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3f, 0x9f, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x0f, 0x0f, 0x07, 0x01, 0x01, 0x01, 0x09, 0x89, 0x89, 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe8, 0xf4, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xc3, 0xc7, 0xe1, 0xc0, 0xe0, 0xe1, 0xe1, 0xe3, 0xe3, 0xe7, 0xcf, 0x9f, 0x1f, 0x1d, 0x1e, 0x1b, 0x19, 0x13, 0x17, 0x1f, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x0f, 0x3f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x18, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfc, 0xfc, 0xf6, 0xfc, 0xf8, 0xc0, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x80, 0x00, 0x48, 0x37, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x03, 0x01, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, 0x07, + 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x00, 0x00, 0x07, 0x1f, 0x0f, 0x1f, 0x7f, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0x90, 0x00, 0xc0, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xc0, 0xc4, 0xe4, 0xee, 0x34, 0x0f, 0x87, 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xcc, 0xcc, 0xcc, 0x98, 0xf0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0xff, 0x3f, 0xdf, 0xff, 0xaf, 0xff, 0xf9, 0x7f, 0x7f, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xe0, 0xe0, 0x60, 0x30, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0xcf, 0x8f, 0x06, 0x0f, 0x3f, 0xff, 0xdf, 0x7f, 0x0f, + 0x2f, 0x0f, 0x8f, 0x17, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xe1, 0xf1, 0xf1, 0xf1, 0xf0, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0x6a, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xfc, 0xfc, + 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3f, 0x1c, 0x1c, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xf8, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1f, 0x7f, 0xff, 0x3f, 0x1f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x80, 0xc0, 0xc0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x7f, 0xff, 0xf5, 0xfc, 0xfd, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, + 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xa0, 0xf0, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0x41, 0xc0, 0x30, 0x80, 0xf8, 0xf0, 0xf8, 0xe8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xfe, 0xdc, 0x00, 0x00, 0x00, 0x80, 0x00, 0x90, 0xd0, 0xf4, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x0f, 0x07, 0x83, 0x83, 0x83, 0x83, 0x02, 0x87, 0x89, 0x08, 0x3d, 0x31, 0x43, 0x3b, 0x27, 0x0f, 0x0f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0x7f, 0x7f, 0xff, 0x7f, 0x7f, 0xbf, 0x4b, 0x81, + 0x60, 0xc0, 0xe8, 0xfc, 0xf0, 0xfe, 0xf3, 0xff, 0xfd, 0xdd, 0xf2, 0xfc, 0xfe, 0xff, 0xf1, 0xff, 0x7f, 0xf7, 0xdd, 0x33, 0x25, 0x01, 0x01, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x40, 0xd0, 0xf0, 0xe8, 0xe8, 0xf8, 0xf8, 0xe0, 0x80, 0x00, 0x02, 0xb0, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x01, 0x3d, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x05, 0x03, 0x07, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x04, 0x00, 0x0e, 0x07, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xa2, 0x81, 0x87, 0xef, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x89, 0x99, 0xd9, 0x7b, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xdf, 0xdd, 0xdd, 0xdd, 0xdd, 0x98, 0xb8, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7c, 0xff, 0x7f, 0xff, 0xf9, 0x7e, 0xf2, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x03, 0x0f, 0xbe, 0x1f, 0x3f, 0x0c, 0x3f, 0xff, 0xff, 0xff, 0x9f, 0x2f, + 0x0f, 0x0f, 0x2f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0x80, 0xc2, 0xe3, 0xe3, 0xe2, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xf8, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x00, 0x80, 0x90, 0xe8, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x78, 0x7c, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x0f, 0x07, 0x81, 0x21, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xf0, 0xf4, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x8f, 0x07, 0x07, 0x07, 0x03, 0x41, 0x01, 0x80, 0x80, 0x40, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x1f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0xc0, 0x80, 0x80, 0xc0, 0x80, 0xe0, 0xe0, 0xf0, 0xe0, 0xc0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xff, 0xfc, 0xfd, 0xfd, 0xf0, 0x00, 0xe8, 0xf8, 0xf8, 0xc8, 0xe6, 0xf8, 0xec, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x17, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0a, 0x04, 0x05, 0x03, 0x1e, 0x4f, 0x7f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf8, 0xf0, 0x50, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x90, + 0xf0, 0xec, 0xf8, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe1, 0xeb, 0xf3, 0xd7, 0xd3, 0x85, 0x03, 0x8f, 0x3f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x05, 0x03, 0x03, 0x00, 0x01, 0x00, 0x05, 0x05, 0x13, 0x1b, 0x17, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x0f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x00, 0x00, 0x06, 0x07, 0x1f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x67, 0x67, 0x7f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0x99, 0x98, 0x98, 0x98, 0x30, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x30, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0x74, 0xe2, 0x19, 0xe0, 0xce, 0xff, 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xfe, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1d, 0x3f, 0x39, 0x18, 0x1c, 0x3f, 0x1f, 0x1e, 0x0f, 0x0c, + 0x07, 0x03, 0x07, 0x03, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x20, 0x50, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1e, 0x3e, 0x7f, 0xfe, 0xff, 0xd0, 0x08, 0x3c, 0x3c, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x21, 0x11, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xf4, 0xfc, 0xf8, 0xf4, 0xf8, 0xf8, 0xe0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xd0, 0x80, 0xf0, 0xc0, 0xf8, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xe4, 0xe0, 0xd0, 0x80, 0xe0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0f, 0xdf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x07, 0x01, 0x01, 0x70, 0xf8, 0xfc, 0xc2, 0xc2, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc3, 0xc7, 0x87, 0x0f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xbf, 0x1f, 0x1f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x03, 0x03, 0x07, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x67, 0x7f, 0x3f, 0x7f, 0x7f, 0xff, 0x7f, 0xbf, 0x3b, 0x3a, 0x9a, 0x98, 0x90, 0x30, 0x70, 0xf0, 0x80, 0x00, 0xc0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x64, 0x60, 0x60, 0x10, 0xa0, 0x8c, 0xff, 0xfe, 0xe7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0x00, 0x01, 0xe3, 0x27, 0x07, 0x0f, 0x1e, 0x3c, 0x78, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x39, 0x39, 0x00, 0x1c, 0x1e, 0x1f, 0x1e, 0x0e, 0x04, 0x02, + 0x00, 0x03, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x5f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xa0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2e, 0x3e, 0x24, 0x20, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf0, 0xc0, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x77, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xf8, 0xfc, 0xfc, 0xf0, 0xf8, 0xe0, 0xe0, 0x80, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x80, 0xe0, 0xe0, 0xc0, 0xe0, 0xa0, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x6f, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x1f, 0x3f, 0x3f, 0xbf, 0x1f, 0x0f, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xf4, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xfe, 0xfc, 0xf4, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xbf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x07, 0x07, 0x01, 0x30, 0x38, 0xfc, 0xff, 0xfc, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf3, 0xe1, 0xc3, 0xff, 0xdf, 0x5f, 0xff, 0xbf, 0xff, 0xcf, 0x4f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x01, 0x03, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x4c, 0xee, 0x7e, 0x3e, 0x7f, 0xfe, 0x7e, 0x7e, 0x36, 0x32, 0x32, 0x30, 0x30, 0x30, 0x60, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0x40, 0x00, 0x20, 0x88, 0xdc, 0xfe, 0xef, 0xe5, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfd, 0xe8, 0x06, 0x1e, 0x3e, 0x7c, 0x78, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x11, 0x31, 0x01, 0x11, 0x3f, 0x1d, 0x3d, 0x15, 0x0c, 0x03, 0x01, 0x07, + 0x07, 0x0f, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xdf, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf4, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x70, 0xf0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xc0, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xd3, 0xfb, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x80, 0xc0, 0x80, 0xc0, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x8f, 0xef, 0xff, 0xff, 0x3f, 0x1f, 0x03, 0x1f, 0x0f, 0x1f, 0x07, 0x07, 0x0f, 0x0f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfa, 0xfc, 0xf4, 0xf8, 0xe0, 0xf9, 0xfb, 0xfd, 0xff, 0xfe, 0xff, 0xff, 0xfd, 0xff, 0xfd, 0xfe, 0xf8, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x2f, 0x1f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x03, 0x01, 0x1c, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf1, 0xf3, 0xfb, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xc7, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x98, 0xb8, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xd8, 0xc8, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc1, + 0x81, 0x49, 0x81, 0x20, 0xf1, 0xff, 0xbf, 0x93, 0xf8, 0xfc, 0xf4, 0xfc, 0xfc, 0xf8, 0xf5, 0x61, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x1f, 0x3f, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x04, 0x00, 0xe4, 0xe7, 0xef, 0xcf, 0xff, 0xff, 0xff, 0xf7, 0xff, 0x77, 0x0b, 0x03, 0x07, 0x1e, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xf8, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1d, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xfc, 0xfe, 0xfe, 0xff, 0xfe, 0xfc, 0xfe, 0x7e, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x23, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xf8, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf1, 0xf9, 0xe1, 0xf1, 0x81, 0xe0, 0x80, 0x40, 0x20, 0x80, 0xf0, 0xe8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfa, 0xfc, 0xfc, 0xf8, 0xfc, 0xfe, 0xfe, 0xfc, 0xfc, 0xfa, 0xf8, 0xf4, 0xf0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x07, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xb0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe1, 0xe1, 0xff, 0xc7, 0xaf, 0xcf, 0xff, 0x7f, 0xff, 0xff, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x42, 0x56, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x13, 0xbb, 0xfb, 0x3f, + 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xbb, 0x9b, 0xb9, 0x98, 0x90, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf8, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x7f, 0xff, 0x7f, 0xdd, 0xfc, 0xf6, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x1e, 0x1e, 0x9f, 0x19, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0xff, 0x5f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, + 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x0f, 0x0f, 0x8f, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x82, 0xc2, 0xc3, 0xe7, 0xe3, 0xf5, 0xf0, 0xf2, 0xfa, 0xfc, 0xfe, 0xfc, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfe, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x67, 0xf3, 0xe1, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, + 0xf0, 0xe0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xc0, 0xe8, 0xf8, 0xf0, 0xfe, 0xfe, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x87, 0xdf, 0x9f, 0xdf, 0x9f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0xe0, 0xf0, 0xf8, 0xfa, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x06, 0x1f, 0x1e, 0x1f, 0x6f, 0x7f, 0xef, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xbf, 0x5f, 0x3f, 0xbf, 0x3f, 0xbf, 0x7f, 0xbf, 0x7f, 0x3f, 0x3f, 0x26, 0x00, 0x7a, 0x36, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x80, 0xc0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xf6, 0xf0, 0xf4, 0xf6, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xe0, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x87, 0x07, 0x01, 0x01, 0x00, 0x2a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x48, 0xcc, 0xce, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0x6c, 0xe8, 0xe8, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x3f, 0xfe, 0xfe, 0xf8, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x10, 0xe0, 0xe0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xfc, 0xfc, 0xe6, 0xe3, 0xd8, 0xfc, 0xff, 0xdf, 0xdf, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xf7, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xf0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x16, 0x13, 0x7a, 0xfb, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0x3f, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x08, 0x08, 0x0f, 0x0f, 0x97, 0xaf, 0x82, 0xc3, 0xf4, 0xfb, 0xfa, 0xfa, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x10, 0xc0, 0x20, 0xe0, 0xe8, 0xf8, 0xfc, 0xfe, 0xf8, 0xfe, 0xfe, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x2b, 0x0f, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x3e, 0x7f, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x7f, 0x7f, 0xf7, 0xff, 0xff, 0xff, 0xef, 0xf7, 0xff, 0xef, 0x6f, 0xff, 0x5f, 0xbf, 0x3f, 0x1f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3e, 0x3f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x3f, 0x3f, + 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xe0, 0xf8, 0xf4, 0xf4, 0xf0, 0xf8, 0xe0, 0x00, 0x80, 0x78, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, + 0xc0, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x89, 0x1d, 0x3f, 0x0f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf3, 0xf7, 0xf7, 0xe6, 0xfe, 0xec, 0xdc, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x7f, 0xff, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xf8, 0xfc, 0xfc, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x1e, 0x58, 0x46, 0x31, 0xfb, 0x7f, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0f, 0x0b, 0x07, 0x1f, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x9f, 0x0f, 0xe3, 0x91, 0xa0, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xfb, 0xf9, 0xfe, 0xfa, 0xfc, 0xfc, 0xf8, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x28, 0x00, 0x60, 0xe0, 0xf0, 0xec, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfa, 0xfc, 0xfe, 0xfe, 0xfc, 0xff, 0xc8, 0xdf, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x37, 0x3f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0xf0, 0xf8, 0xf8, 0xfd, 0xff, 0xff, 0x7f, 0x3f, 0x0c, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xfc, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xdf, 0xdf, 0xff, 0xef, 0xbf, 0xdf, 0xbf, 0x1f, 0x9f, 0x3f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x3f, 0x3f, 0x1f, 0x1d, 0x3f, 0x1f, 0x7f, 0x7f, 0x7f, 0x3f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x47, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xfc, 0xfd, 0xf9, 0xf1, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfa, 0xff, 0xfe, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x22, 0x15, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0x80, + 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x78, 0xf8, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x93, 0xff, 0x1f, 0x1f, 0xdf, 0xff, 0xff, 0xdd, 0xcd, 0xec, 0xce, 0xcc, 0xcc, 0xdc, 0xfc, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0xfe, 0xfc, 0xfc, 0xf0, 0xf8, 0xf0, 0xe0, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x3f, 0x7b, 0xa9, 0xcc, 0x52, 0xf7, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x1c, 0x1e, 0x0d, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x3f, 0x0f, 0x13, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xd0, 0xf0, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0xdf, 0xf3, 0xe3, 0xf1, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf8, 0xf8, 0xf0, 0xf8, 0x30, 0x00, 0x00, 0xc0, 0x60, 0xd0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xec, 0xef, 0xd7, 0xcf, 0x07, 0x07, 0x07, 0x07, 0x03, 0x0b, 0x0f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0xe0, 0xf0, 0xf0, 0xf0, 0xfc, 0xfe, 0xfe, 0x7e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xbf, 0xbf, 0xbf, 0xbf, 0x3f, 0xbf, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x7e, 0x38, 0x22, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1f, 0x0e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0xe1, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf9, 0xf9, 0xf9, 0xfb, 0xf3, 0xe3, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xc0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfc, 0xfe, 0xf0, 0x80, 0x00, 0x00, 0x50, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x3e, 0xfe, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x98, 0x99, 0xdb, 0xfb, 0x3f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdd, 0xdd, 0xd8, 0x98, 0x90, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfb, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xfc, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfe, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0e, 0x3e, 0xbe, 0x3f, 0x3b, 0x3b, 0x7f, 0xff, 0x7f, 0xbf, 0x3f, 0x4f, 0x0f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x3e, 0x5e, 0x46, 0x06, 0xc0, 0xc0, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0xf0, 0xf0, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xf4, 0xfc, 0xfc, 0xfc, 0xfe, 0xfc, 0xfe, 0xfe, 0xf4, 0xfa, 0xfe, 0xfc, 0x1c, 0x1a, 0x00, 0x01, 0x03, 0x01, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xe3, 0xf1, 0xf0, 0xf0, 0xf9, 0xfc, 0xfc, 0x58, 0x00, 0x00, 0x00, 0x00, 0x80, 0xa0, 0xe0, 0xe8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb, 0xff, 0xfd, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0x3f, 0x3f, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0xff, 0x7f, 0x7f, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7e, 0x7c, 0x34, 0x3e, 0x7e, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x8f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x83, 0xc3, 0xc0, 0xc0, 0xc1, 0xf3, 0xf3, 0xe7, 0xe3, 0xe7, 0xc7, 0x0e, 0x07, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xdf, 0xff, 0xf8, 0xf0, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0xf0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xfc, 0xfe, 0xfe, 0xff, 0xf0, 0x80, 0x80, 0x00, 0xec, 0x71, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x60, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0xfe, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xf0, 0xff, 0xff, 0xfc, 0xfc, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0xcc, 0xe6, 0xe2, 0xf2, 0xfe, 0xff, 0xff, 0x87, 0xef, 0xff, 0xff, 0xff, 0xf7, 0xf6, + 0xe6, 0xe6, 0xe6, 0xac, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xff, 0x3f, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc7, 0xf7, 0xe3, 0xe3, 0xc5, 0xdf, 0xbf, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x0f, 0x7f, 0x1f, 0x0e, 0x3e, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x0b, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x7e, 0xbe, 0x0e, 0xa6, 0xc0, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, + 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0x20, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfe, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xff, 0x3f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0x7e, 0x3e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfc, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6b, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0xbf, 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x7f, 0x3f, 0x7d, 0x36, 0x34, 0x76, + 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x00, 0x60, 0x61, 0xc3, 0xef, 0x87, 0x07, 0x03, 0x01, 0x00, 0x00, 0xa0, 0xe0, 0xe0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x83, 0xc1, 0xc0, 0xc1, 0xc1, 0xe3, 0xe3, 0xe3, 0xe7, 0xc7, 0x0f, 0x07, 0x0f, 0x0f, 0x0e, 0x0d, 0x04, 0x09, 0x02, 0x01, 0x06, 0x00, 0x05, 0x05, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x16, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x44, 0xe0, 0xf8, 0xf8, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xc0, 0x88, 0x44, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x90, 0x98, 0x98, 0xbc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xb8, 0xb0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x7f, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xe3, 0xf9, 0xf8, 0xfd, 0xfd, 0xff, 0xf7, 0xe3, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xf9, 0xfb, 0xe2, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xf7, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x7f, 0x1f, 0x0f, 0x7f, 0xef, 0xef, 0xef, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xf9, 0xfb, 0xef, 0xef, 0x2f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfe, 0xfe, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0b, 0x1f, 0x1f, 0x07, 0x07, 0x2f, 0x3f, 0x2f, 0x0b, 0x83, 0x80, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x3e, 0x1e, 0x8e, 0xc6, 0xc0, 0xe0, 0xc0, + 0xe0, 0xc0, 0xe0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0x83, 0x81, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x5c, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x01, 0x00, 0x00, 0xc0, 0x40, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfd, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x68, + 0xf0, 0x32, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x80, 0xc0, 0xa0, 0xa0, 0xe0, 0xf0, 0xf0, 0xf0, 0xd9, 0xdb, 0xf3, 0x41, 0x01, 0x00, 0x80, 0xc0, 0xe8, 0xf0, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x81, 0xc3, 0xe0, 0xc1, 0xe1, 0xe3, 0xc3, 0xc7, 0x8f, 0x07, 0x0e, 0x07, 0x0e, 0x0f, 0x0c, 0x1d, 0x06, 0x05, 0x09, 0x0f, 0x0b, 0x06, 0x07, 0x0b, 0x06, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x9f, 0x9f, 0x8f, 0x83, 0x81, 0x84, 0x94, 0x84, 0x00, 0x0e, 0x33, 0x96, 0xf7, 0xf6, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcc, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x01, 0x01, 0x02, 0x06, 0xee, 0xfc, 0xf8, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x40, 0x60, 0x6c, 0x6e, 0xef, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xee, 0xe8, 0xe8, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdb, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfd, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x07, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1f, 0x2f, 0x47, 0x37, 0x5f, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xfe, 0xfd, 0xff, 0xff, 0x7b, 0x17, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xfc, 0xff, 0xff, 0xc7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x03, 0x8b, 0xa1, 0x8f, 0x87, 0x84, 0xc0, 0xc0, 0xc0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x80, 0xe0, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x7c, 0x3c, + 0x1c, 0x80, 0x00, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0xc0, 0x80, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0e, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x02, 0x80, 0x80, 0xc0, 0xc0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x58, 0x80, 0xa0, 0x20, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xdf, 0x9f, 0xbf, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xf0, 0xe0, 0xa0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xa0, 0xe0, 0xe0, 0xc0, 0xe0, 0xf0, 0xe0, 0xe0, 0xf0, 0xe0, 0xe0, 0xe8, 0xfc, 0xf0, 0xfc, 0xf4, 0xfd, 0xfe, 0xf5, 0xe0, 0xd8, 0xc0, 0xec, 0xfa, 0xf4, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x87, 0x83, 0x80, 0x80, 0xc3, 0x83, 0x87, 0x0f, 0x0f, 0x0b, 0x1a, 0x1f, 0x0c, 0x1f, 0x0a, 0x1b, 0x36, 0x17, 0x0f, 0x1f, 0x0f, 0x1f, 0x1f, 0x1d, 0x1d, 0x08, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xf3, 0xe7, 0xe7, 0xef, 0xff, 0xef, 0xf0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf1, 0xfb, 0xf3, 0xc3, 0x03, 0x03, 0x8d, 0x77, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x70, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xf0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x1c, 0x9c, 0xcc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xa0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x5e, 0xee, 0xe7, 0xf3, 0xf3, 0xff, 0xc7, 0xdf, 0xef, 0xff, 0xff, 0xf3, 0xf3, 0xf3, 0xf3, 0xf0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6f, 0x2f, 0x47, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x1e, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x09, 0x0f, 0x05, 0x0d, 0x2b, 0x1f, + 0x3f, 0xbf, 0x7f, 0x37, 0xfb, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0xff, 0xff, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x60, 0xe0, 0xc0, 0xc0, 0xe0, 0x40, 0x00, 0x24, 0xbe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x1f, 0x7f, 0x7e, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xf0, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xfc, 0xfc, 0xf9, 0xf9, 0xfd, 0xf8, 0xf8, 0xf0, 0xf8, 0xff, 0xf7, 0xff, 0xff, 0xef, 0xef, 0xff, 0xaf, 0xdf, 0xef, 0xdf, 0xdf, 0xef, 0xc6, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xbf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x34, 0x58, 0x74, 0xdc, 0xb8, 0xb4, 0xe0, 0x10, 0x00, 0x00, 0x10, 0x56, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x07, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf1, 0xf1, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x8f, 0xc3, 0x83, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0x01, 0x07, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x03, 0x0f, 0x0f, 0x0f, 0x07, 0x0b, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x90, 0x98, 0x98, 0xf8, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xd0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x60, 0x60, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x87, 0xfb, 0xf1, 0xf9, 0xe9, 0xeb, 0xe3, 0xf1, 0xd9, 0xf9, 0xf9, 0xd9, 0xe0, 0x20, 0x70, 0x40, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xcc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xec, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xbf, 0x7f, 0xff, 0x7f, 0xfe, 0xff, 0xfb, 0xfb, 0xff, 0x7f, 0xff, 0x7f, 0xfa, 0x39, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x03, 0x03, 0x73, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x84, 0x03, + 0x01, 0x00, 0x00, 0x02, 0x0f, 0x3f, 0x0f, 0xfc, 0x0c, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0x90, 0xe0, 0x00, 0x18, 0x08, 0x28, 0x00, 0x20, 0x0c, 0x1d, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe8, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xfa, 0xfe, 0xfe, 0xfd, 0xeb, 0xff, 0xf7, 0xef, 0xff, 0xdf, 0xef, 0x8f, 0xdf, 0x8f, 0xcf, 0xef, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x0f, 0x17, 0x2f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xd8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0xe3, 0xfb, 0xf1, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xd0, 0xe1, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x47, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x00, 0x02, 0x08, 0x01, 0x00, 0x00, 0x02, 0x07, 0x3f, 0x5f, 0x7f, 0x7f, 0xff, 0x3f, 0x7f, 0x3f, 0x3f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc8, 0xcc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0x68, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xc7, 0xe9, 0xe8, 0xfc, 0xf0, 0xf0, 0xf9, 0xb9, 0xe8, 0xec, 0xfc, 0xec, 0xa8, 0xb0, 0x90, 0x60, 0xf0, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xf1, 0xf3, 0xf7, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xbf, 0xdf, 0x37, 0x1f, 0xfb, 0xfd, 0xfd, 0xff, 0x17, 0x13, 0x1d, 0x39, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x7e, 0x1f, 0x1f, 0x8f, 0xdf, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x80, 0x01, 0x80, 0x80, 0x00, 0x00, 0x02, 0x07, 0x07, 0x2f, 0x16, 0x1c, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xe0, 0x80, 0xc4, 0x84, 0x88, 0x10, 0x18, 0x00, 0x32, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xf5, 0xf3, 0xff, 0xef, 0xef, 0xdf, 0xdf, 0x9f, 0x9f, 0xdf, 0xcf, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x00, 0x03, 0x0f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf8, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x07, 0x15, 0xf9, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf8, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7b, 0x01, 0x00, 0x00, 0x02, 0x0a, 0x0a, 0x01, 0x0d, 0x20, 0x08, 0x00, 0x00, 0x6a, 0x0d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x20, 0x30, 0x30, 0x32, 0x73, 0x7f, 0x3f, 0x7f, 0x3f, 0x7e, 0x7e, 0x7c, 0x64, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfd, 0xfc, 0xbe, 0xfd, 0xde, 0xdb, 0xfc, 0x7e, 0xfa, 0xfb, 0xff, 0xf7, 0xd6, 0xbc, 0x78, 0xfe, 0xf4, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x4f, 0x1e, 0x17, 0x1f, 0xef, 0xdf, 0xff, 0xff, 0x7f, 0x15, 0xdd, 0xff, 0x3e, 0x3c, 0x1d, 0x01, 0x05, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0x84, 0x83, 0xbd, 0xb7, 0x87, 0xbf, 0x03, 0x0f, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0xe0, 0xe0, 0x60, 0xf0, 0xe0, 0xf0, 0x10, 0x00, 0x00, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xff, 0xff, 0x65, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x80, 0x40, 0x50, 0x70, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfc, 0xf9, 0xfc, 0xf8, 0xfc, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xfc, 0xf8, 0xfc, 0xea, 0xfb, 0xf7, 0xff, 0xef, 0xff, 0xff, 0xbf, 0xdf, 0xbf, 0xcf, 0xdf, 0xdf, 0x9f, 0xcf, 0xef, 0xe7, 0xef, 0xe7, 0xc0, 0xe2, 0xc0, 0xc4, 0x82, 0x84, 0x84, 0x84, 0x84, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x80, 0x01, 0x01, 0x01, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x5f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3e, 0x3c, 0x1c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0x1f, 0x3f, 0x3f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x3f, 0x0b, 0x07, 0x05, 0x31, 0x1e, 0xac, 0xfe, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xfc, 0xfc, 0xf8, 0xf8, 0xe0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x60, 0x30, 0x10, 0x30, 0x10, 0x72, 0x76, 0x7f, 0x7f, 0x7e, 0x7e, 0xfe, 0xfc, 0xec, 0x68, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xfe, 0xfd, 0xff, 0xff, 0xfd, 0x6c, 0xfe, 0xfa, 0xfb, 0xff, 0xf7, 0xf6, 0xfc, 0xfc, 0xfc, 0xfc, 0xe0, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x17, 0x08, 0x0f, 0x06, 0xae, 0xff, 0xff, 0xff, 0x7f, 0x07, 0xff, 0xff, 0x3f, 0x3e, 0x7d, 0x3f, 0x5f, 0x37, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x00, 0x00, 0x80, 0x88, 0x85, 0x9d, 0xb7, 0xaf, 0x3f, 0x1b, 0x0b, 0x81, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xfc, 0xff, 0xff, 0xef, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0xc0, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xfd, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x83, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x40, 0x40, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xf7, 0xf6, 0xf3, 0xe3, 0xfb, 0xf8, 0xf4, 0xf8, 0xf8, 0xf2, 0xf0, 0xf0, 0xf9, 0xf0, 0xf1, 0xf8, 0xf0, 0xc8, 0xe8, 0xd0, 0xf0, 0xfe, 0xcf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0xff, 0xcf, 0xef, 0xc7, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf7, 0xe7, 0x8f, 0xcf, 0x97, 0xd6, 0x96, 0x8c, 0x00, 0x80, 0x80, 0x80, 0x80, + 0xc0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xf2, 0xe0, 0xe0, 0xc0, 0xe0, 0xe0, 0xf8, 0xf8, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x07, 0x17, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x7e, 0x7c, 0x38, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x0f, 0x06, 0x00, 0x02, 0x17, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x7f, 0x3f, 0x7f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x60, 0x30, 0x30, 0x10, 0x30, 0x72, 0x76, 0x7f, 0x7e, 0x7e, 0xfe, 0xfc, 0xfc, 0xc8, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfa, 0xfd, 0xbf, 0xdd, 0x5c, 0x6d, 0xfc, 0xea, 0xfa, 0xff, 0xff, 0xf6, 0xbe, 0x7c, 0xfc, 0xe8, 0xe8, 0xc1, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x17, 0x07, 0x01, 0x0e, 0xcf, 0xbf, 0xef, 0xff, 0x7f, 0x17, 0xfd, 0xff, 0x3f, 0x3e, 0x5d, 0xff, 0x3b, 0x7f, 0x7f, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x80, 0x8d, 0x8d, 0xb9, 0xbf, 0x3f, 0xb7, 0x27, 0xdf, 0x83, 0x81, 0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xf7, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xf8, 0xfc, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xe0, 0xc0, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x20, 0x38, 0xfc, 0xfa, 0x7c, 0xfe, 0xfe, 0xfc, 0xfd, 0xfa, 0xeb, 0xf1, 0xf1, 0xf1, 0xfc, 0xf9, 0xf8, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf1, 0xf8, 0xf1, 0xd0, 0xf0, 0xf0, 0xe0, 0xd0, 0x9c, 0xbf, 0xff, 0xdf, 0xff, 0xff, 0xbf, 0x7f, 0xbf, 0xbf, 0xff, 0xdf, 0xff, 0xc7, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xcf, 0xaf, 0x97, 0x9f, 0xdf, 0x96, 0x8a, 0x80, 0xc0, 0xc0, 0xc0, 0xf0, + 0xf8, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xdf, 0x9f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0x7c, 0x78, + 0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x07, 0x00, 0x07, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x60, 0x20, 0x20, 0x30, 0x30, 0x74, 0x76, 0x7e, 0x7e, 0xfe, 0xfc, 0xfc, 0xf8, 0xd8, 0xd0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x78, 0x7c, 0xfc, 0x9f, 0xf9, 0xdd, 0xf8, 0xfd, 0xd4, 0xf6, 0xfe, 0xfe, 0xec, 0xf9, 0xf9, 0xe8, 0xf8, 0xe1, 0xc1, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x07, 0x0d, 0x13, 0x15, 0xcf, 0xfe, 0x7e, 0xfe, 0x1f, 0xdb, 0xfb, 0xff, 0x7f, 0x7d, 0x7b, 0x7f, 0xff, 0x9f, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xaf, 0x1b, 0x77, 0x1e, 0x7f, 0x17, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xe7, 0xc3, 0xc1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, 0x80, 0x80, 0x00, 0x00, 0xc0, 0x80, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xe0, 0xfd, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xe1, 0x80, 0x00, 0x01, 0x01, 0x03, 0x03, 0x41, 0xe0, 0xc8, 0xe7, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xf9, 0xfc, 0xfe, 0xf8, 0xfc, 0xfe, 0xfa, 0xf8, 0xf4, 0xf8, 0xf8, 0xf0, 0xf8, 0xe8, 0xf0, 0xf0, 0xf0, 0xa0, 0xc0, 0xc4, 0xff, 0x9f, 0xdf, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x7f, 0xff, 0xff, 0xbf, 0xff, 0xbf, 0xdf, 0xdf, 0x9f, 0x9f, 0xdf, 0x9f, 0xbf, 0xaf, 0x2f, 0xbe, 0x26, 0x2c, 0x04, 0x00, + 0x80, 0x80, 0x80, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1f, 0x9f, 0x9f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xfa, 0x2b, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, + 0xf8, 0xf0, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x58, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x7f, 0x3f, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xf8, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x60, 0x60, 0x20, 0x60, 0xe0, 0xec, 0xec, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf9, 0xfc, 0xfe, 0x7e, 0xbe, 0x7e, 0xfe, 0xba, 0xc9, 0xd8, 0xf9, 0xf9, 0xbb, 0xf7, 0xc3, 0xd3, 0x67, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x2e, 0x7f, 0x1f, 0x7f, 0xbf, 0x7f, 0x7f, 0xff, 0xfb, 0xff, 0xff, 0xdf, 0xdf, 0xff, 0xff, 0xe7, 0xaf, 0xef, 0x6f, 0xbf, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xc0, 0x80, 0x81, 0x00, 0x00, 0x00, 0x4f, 0x6f, 0xd7, 0xdf, 0x67, 0x03, 0x0f, 0x07, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xdf, 0x8f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfe, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xf8, 0xf2, 0xfe, 0x7e, 0xfe, 0x3e, 0xbe, 0xfe, 0x3c, 0x5c, 0x00, 0x00, 0x00, 0xc4, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xf8, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xc7, 0xe3, 0xe3, 0xe3, 0xf3, 0xe1, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xf8, 0xf8, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xbf, 0x7f, 0x3f, 0x7f, 0x70, 0x78, 0x78, 0x78, + 0x70, 0xe0, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xf9, 0xf9, 0xfb, 0xfb, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xe0, + 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0f, 0x3f, 0x1f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x05, 0x07, 0x03, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0d, 0x0f, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x9f, 0x9f, 0x1f, 0xcf, 0x8f, 0x47, 0x86, 0x84, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x40, 0x60, 0x68, 0xec, 0xcc, 0xdc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc2, 0xf1, 0xf9, 0xfd, 0xfc, 0xfe, 0xfe, 0xf4, 0x77, 0xfa, 0xd9, 0xd3, 0xf9, 0xf9, 0xb7, 0xa7, 0xc7, 0x26, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xbf, 0x7f, 0xbf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0x9f, 0xd1, 0x4d, 0x0b, 0x1f, 0x3f, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe8, 0xe8, 0xe0, 0x80, 0x01, 0x02, 0x00, 0x02, 0x42, 0x47, 0x2f, 0xbf, 0x0f, 0x47, 0x03, 0x1c, 0x03, 0x05, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0x7c, 0x3e, 0x1e, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbf, 0xff, 0xbf, 0xff, 0xbf, 0xff, 0x7f, 0xfe, 0x7e, 0x04, 0x00, 0x90, 0xfc, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf0, 0xf8, 0xf0, 0xd0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x3f, 0xff, 0xe1, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0x4b, 0x48, 0x00, 0xa0, + 0xc0, 0xe0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xfc, 0xf0, 0xf0, 0xe1, 0xe1, 0xe3, 0xc3, 0xc1, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0f, 0x0f, 0x07, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7e, 0x7f, 0x7e, 0x3f, 0x3f, 0x3d, 0x3d, 0x1c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0x90, 0x98, 0xb8, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xe3, 0xe7, 0xfb, 0xf1, 0xfd, 0xfc, 0xe8, 0xfc, 0xfd, 0xe7, 0xa7, 0x27, 0xf3, 0xf7, 0x67, 0xcf, 0x8e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xfe, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x26, 0x17, 0x0f, 0x3e, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xd0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xe0, 0xf0, 0xc0, 0x01, 0x07, 0x0a, 0x03, 0x13, 0x43, 0x35, 0xff, 0x1d, 0x3f, 0x1f, 0x0f, 0x01, 0x10, 0x06, 0x07, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xa0, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xdf, 0xdf, 0x3f, 0x7f, + 0x14, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0x81, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfc, 0xfe, 0x7f, 0x3f, 0x07, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0xa3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x07, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x07, 0xe3, 0xfb, 0xf3, 0xf1, 0xf0, 0xf0, 0xe0, 0xe0, 0x00, 0x00, 0x0b, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xf9, 0xfd, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0xc2, 0x84, 0x8e, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0x7f, 0x3f, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x3f, 0x3f, 0xbf, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe0, 0xc0, 0x43, 0x87, 0x67, 0x03, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x90, 0x90, 0xb0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xe2, 0xe7, 0xf3, 0xfb, 0xe9, 0xf8, 0xf9, 0xf9, 0xa9, 0xcf, 0x67, 0x67, 0xe7, 0xef, 0xcf, 0xdf, 0x1d, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0x34, 0x0e, 0x1d, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xd0, 0xb0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xf8, 0xf8, 0xe0, 0xc0, 0x80, 0x22, 0x0b, 0x03, 0x0b, 0x07, 0x62, 0x5b, 0x9f, 0x3b, 0x3f, 0x1f, 0x1f, 0x03, 0x04, 0x07, 0x06, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xbf, 0xef, 0xbf, + 0x7f, 0x0a, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf8, 0xf8, 0xf9, 0xe1, 0x41, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xfe, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x09, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x14, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe3, 0xe0, 0xf0, 0xfc, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfa, 0xfe, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x0f, 0x0f, 0x07, 0x0f, 0xc7, 0xf7, 0xf3, 0xfb, 0xf1, 0xf0, 0xe0, 0xe0, 0x40, 0x00, 0x01, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xfb, 0xfb, 0xf9, 0xf1, 0xf1, 0xe0, 0xc0, 0x80, 0x00, 0xc0, 0x00, 0x0c, 0x0c, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x07, 0x0f, 0x07, 0x07, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x7f, 0x3f, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x80, 0x83, 0x89, 0xc3, 0xc3, 0xcb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xd0, 0x90, 0x98, 0xb8, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe6, 0xf3, 0xf7, 0xfb, 0xfd, 0xfc, 0xfc, 0xf9, 0xed, 0xe7, 0xa3, 0x27, 0xf3, 0xf7, 0x67, 0xcf, 0x0f, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x8a, 0xfe, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x1a, 0x0b, 0x1e, 0x3e, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xc0, 0xd0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xe0, 0xfc, 0xf8, 0xc0, 0x01, 0x27, 0x0d, 0x05, 0x81, 0x42, 0xb5, 0xff, 0x1f, 0x3f, 0x1f, 0x1f, 0x03, 0x12, 0x06, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xe0, 0xe0, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x7f, + 0x0e, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xf8, 0xfc, 0xf8, 0x71, 0x01, 0x40, 0x81, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfc, 0xfe, 0x7f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0xb7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f, 0x02, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x07, 0xf3, 0xf3, 0xf3, 0xf9, 0xf1, 0xe0, 0xe0, 0xc0, 0x40, 0x00, 0x07, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf8, 0xf9, 0xfb, 0xf9, 0xf8, 0xd8, 0xe0, 0xa0, 0xa0, 0xc0, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x7f, 0x7f, 0x1f, 0x1f, 0x1f, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x3f, 0x7f, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe0, 0xc0, 0x85, 0x17, 0xc3, 0xc3, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xfc, 0xf0, 0xf0, 0xe0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x40, 0x60, 0xe8, 0xc8, 0xcc, 0xdc, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xf3, 0xf9, 0xff, 0xfe, 0xfe, 0x7c, 0xfe, 0x78, 0x73, 0xd1, 0xd9, 0xf9, 0xfb, 0xb7, 0xf3, 0xc7, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xce, 0xbf, 0xff, 0x3f, 0x77, 0xdf, 0x7f, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xd9, 0xc9, 0x2f, 0x3f, 0x1f, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xe0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xe0, 0x81, 0x01, 0x02, 0x00, 0x00, 0x03, 0x9b, 0x7f, 0xcf, 0x27, 0x07, 0x02, 0x1e, 0x0d, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0x7c, 0x3e, 0x1e, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xfc, 0xfc, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xdf, 0x5f, 0x3f, 0x7f, 0x0e, 0x04, 0x00, 0xc8, 0xf9, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf1, 0xf8, 0xe8, 0xf8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x9f, 0xdf, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x37, 0x82, 0x40, 0xa0, + 0xe0, 0xe0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x02, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf0, 0xf9, 0xf0, 0xe1, 0xe1, 0xc3, 0xc0, 0xc1, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x07, 0x07, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0x7d, 0xff, 0x7f, 0x3f, 0x3f, 0x3f, 0x1a, 0x1c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0x60, 0x20, 0x60, 0x64, 0xec, 0xec, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xf0, 0xf3, 0xfd, 0xfc, 0x7e, 0xfe, 0xfe, 0xba, 0xfa, 0xe9, 0xd9, 0xfd, 0xf9, 0xb9, 0xf3, 0xc3, 0xe3, 0xa7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xbf, 0x5f, 0x7f, 0xff, 0x7d, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xdf, 0xff, 0xff, 0xef, 0xc7, 0x6f, 0xbf, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0c, 0x7f, 0x7f, 0xaf, 0x23, 0x03, 0x1e, 0x0f, 0x03, 0x01, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xde, 0x8f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xfc, 0xfe, 0xfe, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0x78, 0xfc, 0xfe, 0xfe, 0xfe, 0x3c, 0x7e, 0x3e, 0x7c, 0x1c, 0x00, 0x00, 0x80, 0xf0, 0xf7, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xc7, 0xc3, 0xe3, 0xe3, 0xe3, 0xe1, 0xe0, 0xf0, 0xf8, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x3f, 0xff, 0x3f, 0x7f, 0x78, 0x70, 0xfc, 0x78, + 0x70, 0xf0, 0x60, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xff, 0xf9, 0xf9, 0xf8, 0xf0, 0xf8, 0xe0, 0xf0, 0xf0, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, + 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x01, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x1f, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xbf, 0xbf, 0x9f, 0x8f, 0x8f, 0x8f, 0xc6, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x60, 0x20, 0x20, 0x60, 0x74, 0xe6, 0xfc, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xb0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf4, 0xf8, 0x7f, 0xba, 0xfe, 0xb7, 0xbd, 0xfd, 0xe4, 0xfc, 0xfc, 0xfe, 0x5d, 0xf3, 0xf1, 0xd1, 0xb1, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x17, 0x3f, 0x15, 0x1f, 0xde, 0x7f, 0xfd, 0xfd, 0xbf, 0xbf, 0xef, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xf7, 0x7f, 0xff, 0x7f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x80, 0x00, 0x00, 0x10, 0x63, 0x3b, 0x2f, 0x77, 0x6d, 0x64, 0x0b, 0x07, 0x00, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xe0, 0xf0, 0xfc, 0xfc, 0xfe, 0xff, 0xef, 0xe7, 0xe1, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xf0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf0, 0xe0, 0xf0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xf0, 0xe0, 0xf0, 0xd0, 0xf0, 0x70, 0xf8, 0x78, 0x78, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf4, 0xfc, 0xfd, 0xfe, 0xfd, 0xfe, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xe1, 0xc0, 0xc0, 0x80, 0xc1, 0xc1, 0xc1, 0xc0, 0xe0, 0xc8, 0xf2, 0xfc, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xff, 0xfa, 0xfd, 0xfd, 0xfa, 0xf8, 0xfc, 0xf4, 0xf8, 0xfc, 0xf8, 0xe0, 0xe8, 0xf8, 0xed, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0xbf, 0xbf, 0xff, 0xbf, 0x3f, 0xbe, 0x7e, 0x3c, 0xfc, 0xd8, 0xf8, + 0x38, 0x30, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x0f, 0x0f, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x3f, 0x0f, 0x00, 0x00, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xfc, 0xfe, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, + 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3a, 0x0f, 0x7f, 0x3f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x3f, 0x0f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf1, 0xf1, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x20, 0x00, 0x30, 0xb0, 0x32, 0x76, 0x7e, 0x7e, 0x7e, 0x7e, 0xfc, 0xfc, 0xc8, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xfc, 0x7c, 0x9f, 0xff, 0xcf, 0x78, 0x6c, 0xfa, 0xfa, 0xff, 0xff, 0xf7, 0xfc, 0xfc, 0xf4, 0xf8, 0xe0, 0xe1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x37, 0x0e, 0x02, 0x27, 0x0f, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0xf9, 0xbf, 0xff, 0x3f, 0x3d, 0x79, 0x7f, 0x7f, 0x7f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xc1, 0x8f, 0xbf, 0x9f, 0x3f, 0x2f, 0x9f, 0x07, 0x81, 0xc0, 0xa1, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xf7, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfa, 0xfb, 0xfe, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xe0, 0xc0, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x28, 0x18, 0x38, 0xb8, 0xfe, 0xfe, 0xfc, 0xfe, 0xfe, 0xee, 0xf5, 0xf1, 0xf4, 0xf9, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf0, 0xf1, 0xd8, 0xd0, 0xf0, 0xf0, 0xd0, 0xc0, 0xa0, 0xfc, 0x8e, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xbf, 0xff, 0xbf, 0xff, 0xcf, 0xc7, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xcf, 0xdf, 0xaf, 0x9f, 0xd7, 0x96, 0x1e, 0x86, 0x82, 0x80, 0xc0, 0xc0, 0xc8, + 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xcf, 0xdf, 0x9f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xe0, 0xf8, 0xfe, 0xfa, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x7c, 0x7c, 0x3c, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x13, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x07, 0x00, 0x05, 0x7f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x20, 0x10, 0x10, 0x30, 0xb2, 0x76, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0xfc, 0xec, 0xe8, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xbf, 0xfd, 0xdf, 0x69, 0xfd, 0xee, 0xfb, 0xfb, 0xff, 0xf7, 0xf6, 0xfc, 0xf8, 0xfc, 0xfc, 0xe0, 0xc1, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x4b, 0x0a, 0x17, 0x0f, 0xae, 0xfe, 0xff, 0xff, 0x7f, 0x07, 0xff, 0xff, 0xff, 0xbf, 0x3c, 0x6d, 0x9f, 0x1f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x80, 0x88, 0xb7, 0xcf, 0xbd, 0xbf, 0x3b, 0x8f, 0x8f, 0x82, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0xfb, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xba, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x83, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x40, 0x00, 0x70, 0x70, 0xf8, 0xfc, 0xfe, 0xfc, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xf6, 0xf7, 0xf2, 0xf1, 0xf1, 0xf8, 0xf8, 0xf8, 0xf0, 0xf8, 0xf0, 0xf8, 0xf9, 0xf9, 0xf9, 0xf0, 0xf0, 0xe8, 0xf0, 0xe0, 0xde, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0xbf, 0xbf, 0xff, 0xdf, 0xef, 0xc7, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xe7, 0xe7, 0x8f, 0x87, 0x9f, 0x96, 0x96, 0x94, 0x80, 0x80, 0x80, 0xc0, 0x80, + 0xc0, 0xe0, 0xe0, 0xc0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xf4, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xf0, 0xfc, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7c, 0x7c, 0x38, 0x90, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x0f, 0x07, 0x00, 0x01, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0x7f, 0x3f, 0x7f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x60, 0x70, 0x30, 0x32, 0x32, 0x77, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x64, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf9, 0xfe, 0xfa, 0xfd, 0xff, 0xfe, 0x7d, 0x7e, 0xfa, 0xfb, 0xff, 0xf7, 0xf6, 0xfc, 0xfe, 0xfc, 0xfc, 0xf4, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x5f, 0xff, 0x0d, 0x2f, 0x1f, 0xee, 0xdf, 0xff, 0xff, 0x7f, 0x1d, 0xfd, 0xff, 0x1e, 0x3c, 0x1f, 0x03, 0x0d, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0x9b, 0xb7, 0x9f, 0xaf, 0xbf, 0x1f, 0x0b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0x7e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0x80, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x20, 0x60, 0xe0, 0xe0, 0x60, 0xf0, 0xc0, 0x70, 0x00, 0x00, 0x00, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf0, 0xf0, 0x70, 0x20, 0x00, 0x00, 0x00, 0x60, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xf9, 0xfc, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xdf, 0xdf, 0xdf, 0xcf, 0xef, 0xf7, 0xe7, 0xe3, 0xe7, 0xe0, 0xe2, 0xc2, 0xa6, 0x86, 0xcc, 0xc4, 0x84, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xa0, 0x01, 0x01, 0x01, 0x80, 0x80, 0xc0, 0xc0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7e, 0x3e, 0x3c, 0x1c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x7f, 0x3f, 0x7f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x5f, 0x0f, 0x07, 0x01, 0x3a, 0x65, 0x7e, 0xfe, 0xfc, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xfe, 0xf8, 0xf8, 0xf8, 0xe0, 0xe0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xd8, 0xc8, 0xdc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xe8, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0xf1, 0xf9, 0xe4, 0xfc, 0x7c, 0xf5, 0xf9, 0xe8, 0xec, 0xfc, 0xec, 0xcc, 0xb4, 0x20, 0x60, 0x60, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xf1, 0xf3, 0xf7, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xef, 0x3d, 0x3f, 0x3b, 0xff, 0x7f, 0xfd, 0xff, 0x77, 0x3f, 0xff, 0x3c, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x7e, 0x1f, 0x1f, 0xdf, 0x9f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x86, 0xc4, 0x84, 0x00, 0x80, 0x03, 0x17, 0x07, 0x77, 0x0c, 0x36, 0x16, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xf8, 0xe8, 0xc0, 0xe0, 0x88, 0x88, 0xbc, 0x18, 0x01, 0x3f, 0x3f, 0xbf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xf7, 0xff, 0xff, 0xd7, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0xdf, 0xcf, 0xc2, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0xc0, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x00, 0x03, 0x0f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xd8, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x0f, 0x03, 0x1b, 0xef, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x01, 0x00, 0x00, 0x06, 0x0b, 0x0a, 0x0b, 0x05, 0x18, 0x04, 0x00, 0x04, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x2f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x90, 0x98, 0x98, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xd0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xe0, 0x60, 0x60, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x8a, 0xf3, 0xf9, 0xf9, 0xe9, 0xed, 0xe3, 0xf1, 0x99, 0xf9, 0xfd, 0xd8, 0xe8, 0xa0, 0x70, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xce, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xdf, 0x5f, 0x37, 0x7f, 0x56, 0xfb, 0xfb, 0x7f, 0xff, 0xef, 0x7d, 0xfa, 0xfb, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x03, 0x03, 0x63, 0x37, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x82, + 0x01, 0x00, 0x00, 0x00, 0x07, 0x8f, 0x2f, 0xa9, 0x1e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xf8, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf0, 0xf0, 0xf0, 0x90, 0x80, 0x20, 0x10, 0x10, 0x20, 0x60, 0xc0, 0x05, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xe8, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfa, 0xee, 0xec, 0xfa, 0xfa, 0xff, 0xfb, 0xdf, 0xef, 0xdf, 0x6f, 0xcf, 0xef, 0x8f, 0xdf, 0xcf, 0xcf, 0xc0, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x80, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x0f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x78, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xa8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0xf3, 0xf3, 0xf9, 0xf8, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xd0, 0xe1, 0xcf, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01, 0x04, 0x12, 0x00, 0x00, 0x02, 0x04, 0x11, 0x2f, 0x3f, 0x7f, 0x7f, 0x3f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x70, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xa0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x1c, 0xcc, 0xdc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xa0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3c, 0xe6, 0xf2, 0xf3, 0xf3, 0xff, 0xe7, 0xd7, 0x77, 0xf7, 0xf7, 0xf7, 0xf3, 0xf3, 0xe3, 0xf2, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xb7, 0x17, 0x57, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x1e, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x09, 0x0b, 0x07, 0x00, 0x03, 0x0f, 0x1f, + 0xff, 0x37, 0x7b, 0x7b, 0xbf, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xa0, 0x08, 0x64, 0x7f, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfc, 0xfc, 0xfd, 0xfc, 0xf8, 0xfc, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x1f, 0x7f, 0x7e, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xe0, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfe, 0xfa, 0xfc, 0xfc, 0xf9, 0xf1, 0xf9, 0xf4, 0xf4, 0xf8, 0xf8, 0xfb, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xcf, 0xff, 0xcf, 0xe5, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xd0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x34, 0x00, 0x00, 0x00, 0x08, 0x20, 0x04, 0x58, 0x34, 0xb0, 0xc8, 0xe8, 0xb4, 0x48, 0x00, 0x00, 0x18, 0xd8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xe1, 0xf1, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x8f, 0x87, 0x83, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xa1, 0x01, 0x03, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x3f, 0xf3, 0xc3, 0x01, 0x01, 0x81, 0xc3, 0xc3, 0xff, 0xfe, 0xfc, 0xf8, 0xd0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x30, 0x92, 0x9b, 0x9b, 0xfb, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3a, 0xb2, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x27, 0x1f, 0x1f, 0x7f, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xf0, 0xf0, 0xfc, 0xff, 0xff, 0xc7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc1, 0xc1, 0xc2, 0xc2, 0xc6, 0xea, 0xc9, 0xe1, 0xf0, 0xe0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xc0, 0xa0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x81, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x97, 0xaf, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x9f, 0x9f, 0xdf, 0x07, 0xcf, 0x81, 0xc0, 0xe0, 0xf0, 0xf0, 0xe8, 0xf8, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x33, 0xf5, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfc, 0xfc, 0x00, 0x00, 0x40, 0xf0, 0xf4, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xdf, 0xdf, 0xff, 0xbf, 0x7f, 0x7f, 0xff, 0xfe, 0xf8, 0x34, 0x04, 0x0c, 0x9e, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfd, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x01, 0x00, 0x01, 0x07, 0x06, 0x18, 0x0d, 0x33, 0x08, 0x31, 0x3b, 0x1d, 0x57, 0x7f, 0x5b, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x77, 0x61, 0x44, 0x00, 0x02, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfb, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfd, 0x3f, 0x33, 0x00, 0x06, 0x0b, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x90, 0x98, 0xb8, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xb0, 0xb0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0xf3, 0xf9, 0xfc, 0xfd, 0xff, 0xff, 0xeb, 0x63, 0xf7, 0xff, + 0xff, 0xff, 0xfb, 0xf9, 0xfb, 0xfb, 0xfb, 0xf7, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x7f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x3f, 0xdf, 0x2f, 0xff, 0xef, 0xff, 0xef, 0xef, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfb, 0xff, 0xf7, 0x6f, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf8, 0xfe, 0xfe, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x2b, 0x1f, 0x07, 0x27, 0x07, 0x3f, 0x0f, 0x1f, 0x83, 0x88, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe8, 0xf0, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x7e, 0xbe, 0xce, 0xc6, 0xc0, 0xe0, 0xe0, + 0xc0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xf0, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0x83, 0x81, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x7c, 0x7c, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xf0, 0xf0, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf8, + 0x60, 0x56, 0x7e, 0x7f, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf0, 0xe0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x80, 0xa0, 0xa0, 0xc0, 0xa0, 0xc0, 0xb0, 0xf8, 0xd3, 0xfb, 0xd3, 0xc3, 0x01, 0x80, 0x00, 0xe8, 0xf0, 0xf0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xc7, 0xc1, 0xc1, 0xc1, 0xe0, 0xe1, 0xe3, 0xe3, 0xc7, 0x8f, 0x0f, 0x0e, 0x0f, 0x0f, 0x0e, 0x0f, 0x0f, 0x0e, 0x05, 0x0d, 0x05, 0x0b, 0x0e, 0x0f, 0x0e, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8f, 0x0f, 0x8f, 0x1f, 0x1f, 0x1f, 0x1f, 0x9f, 0xc3, 0xc1, 0x8a, 0xc6, 0x08, 0x05, 0x00, 0x36, 0x53, 0xf5, 0xfd, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xe2, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x60, 0x70, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0xfe, 0xf8, 0xf0, 0xe0, 0xf0, 0xf0, 0xe0, 0xe1, 0xff, 0xff, 0xfc, 0xfc, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xc6, 0xe6, 0xe2, 0xf2, 0xf7, 0xfe, 0xff, 0x8f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf6, + 0xe6, 0xe6, 0xe6, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x3f, 0x5f, 0xbf, 0xff, 0xbf, 0xbf, 0xdf, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe7, 0xc3, 0xc3, 0xe3, 0x87, 0xff, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0x2f, 0x3f, 0x1f, 0x1e, 0x9f, 0xff, 0x3f, 0x4f, 0x07, 0x07, 0x09, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x7e, 0xbe, 0xae, 0xc6, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, + 0xc0, 0xc0, 0xe0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0xf0, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe8, 0xf4, 0xf8, 0xfa, 0xfe, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0xff, 0xbf, 0x07, 0x07, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0x7e, 0x7e, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd0, 0xe8, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x78, 0x34, 0x10, 0x3e, + 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0xa0, 0xa3, 0xa7, 0xaf, 0xef, 0x07, 0x03, 0x01, 0x00, 0x00, 0xa0, 0xc0, 0xe0, 0xec, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xc7, 0x83, 0xc1, 0xc1, 0xc0, 0xc0, 0xe1, 0xe3, 0xe7, 0xcf, 0xcf, 0x0f, 0x07, 0x0f, 0x0e, 0x09, 0x07, 0x04, 0x09, 0x0e, 0x01, 0x06, 0x03, 0x04, 0x05, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x26, 0x00, 0x00, 0x00, 0x10, 0x08, 0x30, 0xc8, 0xe8, 0xf0, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xe0, 0xc4, 0x32, 0x76, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x3e, 0xfe, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x38, 0xf0, 0xe0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x90, 0x89, 0x99, 0xfb, 0xfb, 0xbf, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdd, 0xdd, 0xdc, 0xd8, 0xb8, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf6, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x0c, 0x3e, 0x3e, 0x5f, 0x3b, 0x3b, 0x7f, 0xff, 0xff, 0x7f, 0x1f, 0xbf, 0x0f, 0x07, 0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xbe, 0xce, 0xc0, 0xa0, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0x60, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf0, 0xf0, 0xfc, 0xfc, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xfe, 0xfe, 0xfc, 0xfb, 0xff, 0x7c, 0x3e, 0x08, 0x01, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc2, 0xe0, 0xe3, 0xe3, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0x74, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0xff, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7a, 0x7e, 0x4d, 0x1d, 0x7f, 0x7f, 0xff, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x87, 0x8f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x80, 0x40, 0xd0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x87, 0x83, 0xc0, 0xc1, 0xc0, 0xc1, 0xf3, 0xf3, 0xe7, 0xe7, 0xe7, 0x8f, 0x06, 0x0f, 0x04, 0x0e, 0x04, 0x04, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xdf, 0xff, 0xf8, 0xf0, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xf0, 0xe8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfd, 0xfe, 0xff, 0xff, 0xf0, 0xc0, 0x00, 0x00, 0x62, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, + 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x3c, 0xfc, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x13, 0x9b, 0xfb, 0x7f, 0x1f, 0xbf, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd, 0xcc, 0xd8, 0xb8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7d, 0x3f, 0xbf, 0xfe, 0xdd, 0xf6, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x3c, 0x3f, 0x1f, 0x3b, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x0f, 0x0f, 0x3f, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xc6, 0xf4, 0xe2, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x40, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xf8, 0xfc, 0xfc, 0xf8, 0xf4, 0xfc, 0xfc, 0xfa, 0xf8, 0xfc, 0xfd, 0xf9, 0xff, 0x3b, 0x5d, 0x01, 0x01, 0x01, 0x02, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xe1, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0x16, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xc0, 0xe0, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0x3f, 0x7f, 0x3f, 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7c, 0x25, 0x7c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x8f, 0x1f, 0x1f, 0x0f, 0x07, 0x07, 0x01, 0x00, 0x00, 0x40, 0xe0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xc7, 0xc1, 0xe0, 0xc1, 0xe1, 0xf1, 0xf3, 0xf3, 0xf3, 0xe7, 0xe7, 0x87, 0x07, 0x06, 0x06, 0x06, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfd, 0xfc, 0xfc, 0xff, 0xfe, 0xf0, 0xc0, 0x00, 0x00, 0x40, 0x7e, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xc0, 0xf0, + 0xc0, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xf0, 0xf0, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x5d, 0x3f, 0x0f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7, 0xf7, 0xf6, 0xee, 0xfe, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x3f, 0xff, 0xfc, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0xf8, 0xfc, 0xfc, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x1d, 0x10, 0x76, 0x31, 0xb9, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x07, 0x06, 0x07, 0x1f, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0x2f, 0x03, 0x9f, 0x35, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xe0, 0xf0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xdd, 0xff, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xa8, 0x00, 0xe0, 0xb0, 0xe0, 0xfc, 0xf8, 0xfc, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xb0, 0xcf, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x37, 0x3f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x70, 0xf8, 0xf8, 0xfd, 0xff, 0xff, 0x7f, 0x3f, 0x10, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xdf, 0xff, 0xdf, 0xdf, 0xdf, 0x9f, 0xbf, 0xdf, 0x9f, 0x3f, 0x5f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x12, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x3f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x07, 0x8f, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xfc, 0xfd, 0xf9, 0xf1, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xc0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x85, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x48, 0xcc, 0xce, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0x6c, 0xe8, 0xe8, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0xfe, 0xfc, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x90, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xf8, 0xec, 0xf6, 0x73, 0xd0, 0xfc, 0xff, 0xdf, 0xdf, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xf7, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x1f, 0x73, 0xfb, 0x7f, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf8, 0xf0, + 0xf0, 0xf8, 0xf8, 0xf8, 0x70, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x08, 0x08, 0x0f, 0x0f, 0x87, 0x87, 0x81, 0xc0, 0xea, 0xfb, 0xf0, 0xf4, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xfd, 0xff, 0xfe, 0xfe, 0xfd, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xf8, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xbc, 0x08, 0x80, 0xc0, 0xa0, 0xe8, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x53, 0x0b, 0x01, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x3f, 0x7f, 0x7f, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x01, 0x80, 0xd0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xf7, 0xef, 0xff, 0xf7, 0xcf, 0xff, 0x6f, 0x1f, 0x8f, 0x7f, 0x5f, 0xbf, 0x3f, 0x1f, 0x3f, 0x3f, 0x1f, 0x1f, 0x3f, 0x1f, 0x3e, 0x1f, 0x1b, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x3f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xe0, 0xf0, 0xf0, 0xfa, 0xf8, 0xe0, 0xc0, 0x00, 0x00, 0x30, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x10, 0x11, 0x9b, 0xfb, 0x7f, + 0x1f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x9b, 0x9f, 0xbb, 0x98, 0xb8, 0xf0, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7b, 0xbf, 0xfd, 0xfd, 0xfd, 0xe8, 0xf6, 0xfe, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x0e, 0x3e, 0x1e, 0x1f, 0x1d, 0x7f, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0x3f, 0x7f, 0xff, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x0f, 0x0f, 0x0f, 0x9f, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0x80, 0xc2, 0xe7, 0xe3, 0xf3, 0xf1, 0xf4, 0xf0, 0xfc, 0xfe, 0xfc, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x07, 0xf3, 0xc1, 0xf0, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, + 0xf0, 0xe0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xd0, 0xe0, 0xf8, 0xf8, 0xfe, 0xfc, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x7e, 0x1f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc7, 0xdf, 0xbf, 0xbf, 0xdf, 0x0f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0xd0, 0xf0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x07, 0x16, 0x0f, 0x1f, 0x3f, 0x1f, 0x6f, 0xff, 0xef, 0xef, 0xbf, 0xef, 0xff, 0x3f, 0x3f, 0xbf, 0x3f, 0x3f, 0xbf, 0x3f, 0xff, 0xbf, 0x7f, 0x3f, 0x1c, 0x00, 0x7a, 0x3e, 0x3f, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, + 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfe, 0xfa, 0xe8, 0xfa, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xf0, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x86, 0x01, 0x01, 0x00, 0x00, 0x2a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x70, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x70, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x42, 0x26, 0x36, + 0x1f, 0x87, 0xc7, 0xff, 0xff, 0xef, 0xf7, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xee, 0x8c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x5f, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x37, 0x9c, 0xdb, 0xdc, 0x7f, 0x7f, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x07, 0x43, 0x07, 0x4f, 0x7f, 0x7f, 0x3f, 0x7f, 0x0b, 0x03, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x37, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xa0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe8, 0xe0, 0xf8, 0x8e, 0x0e, 0x0f, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0x80, 0xe0, 0xa0, 0xe0, 0xe0, 0xf0, 0xe7, 0xdf, 0xd7, 0xf7, 0xd7, 0x93, 0xe3, 0x83, 0xc0, 0xe0, 0xe0, 0xd8, 0xf0, 0xf8, 0xfe, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0b, 0x16, 0x1b, 0x3c, 0x3f, 0x7f, 0x5e, 0x7f, 0x3e, 0x3f, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x38, 0x5e, 0x6a, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0x7e, 0x7e, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfb, 0xfa, 0xf4, 0xf8, 0xec, 0xf8, 0xfc, 0xf8, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0b, 0x37, 0x06, 0x00, 0x01, 0x00, 0x0f, 0x0f, 0x3f, 0x7f, 0xff, 0x7f, 0xbf, 0x1f, 0x1f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x8f, 0x7f, 0xff, 0x0f, 0x1f, 0x2f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4c, 0x6e, 0x7e, 0x3e, 0x7f, 0xfe, 0xfe, 0xfe, 0x36, 0x32, 0x32, 0x30, 0x30, 0x30, 0xa0, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x60, 0x40, 0x00, 0x20, 0x08, 0xdc, 0xfe, 0xee, 0xe5, 0xfc, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xd0, 0x06, 0x1e, 0x3e, 0x7c, 0x78, 0x60, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x01, 0x09, 0x3f, 0x1d, 0x1d, 0x1d, 0x09, 0x05, 0x00, 0x07, + 0x07, 0x07, 0x06, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xdf, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf4, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x70, 0xf0, 0xf0, 0xf6, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xb3, 0xe3, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xfc, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x03, 0x0f, 0x0f, 0x5f, 0x07, 0x07, 0x07, 0x0f, 0x1f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfa, 0xf8, 0xfa, 0xf0, 0xf1, 0xed, 0xfd, 0xff, 0xff, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xfe, 0xfa, 0xe0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0b, 0x3f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x07, 0x03, 0x00, 0x1c, 0x3e, 0xfe, 0xfe, 0xfc, 0xf8, 0xfc, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xf0, 0xf3, 0xfb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xe1, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xc7, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x67, 0x7f, 0x3f, 0x3f, 0xff, 0x7f, 0xff, 0xbb, 0xbb, 0x1a, 0xba, 0x98, 0xb8, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x62, 0x50, 0x00, 0xcc, 0xfe, 0xff, 0xe7, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xfc, 0xe0, 0x00, 0x01, 0xf1, 0x07, 0x07, 0x0f, 0x1e, 0x1c, 0x78, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x39, 0x19, 0x08, 0x1c, 0x1f, 0x1f, 0x1e, 0x0e, 0x06, 0x00, + 0x03, 0x05, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x1f, 0x3f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3a, 0x3c, 0x70, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x0f, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf0, 0xc0, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xfc, 0xfc, 0xf0, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xa0, 0x80, 0xc0, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xe0, 0xc0, 0xe0, 0xd0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x5f, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x3f, 0xff, 0xbf, 0x1f, 0x1f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfa, 0xf9, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xfd, 0xfa, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x07, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x06, 0x03, 0x03, 0x38, 0x38, 0xfc, 0xff, 0xfd, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf1, 0xc7, 0xc3, 0xd7, 0x9f, 0xff, 0x7f, 0xff, 0xff, 0x4f, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x26, 0x67, 0x7f, 0x7f, 0x3f, 0x7f, 0xff, 0xff, 0xfb, 0xdb, 0x99, 0x98, 0x98, 0x98, 0xb0, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0xf6, 0x62, 0x38, 0x88, 0xce, 0xff, 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xfe, 0xfe, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x09, 0x7e, 0x18, 0x18, 0x1d, 0x3f, 0x1f, 0x1e, 0x0f, 0x04, + 0x03, 0x03, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x07, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0c, 0x3e, 0x3e, 0xfe, 0xff, 0xe0, 0x00, 0x38, 0x78, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1b, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xfc, 0xf8, 0xfc, 0xf8, 0xf4, 0xf4, 0xf8, 0xf8, 0xe4, 0xf0, 0xf8, 0xf0, 0xd0, 0xc0, 0xe0, 0xd0, 0xe0, 0xa0, 0xc0, 0xe0, 0xa0, 0xe0, 0xf0, 0xf0, 0xc0, 0xe0, 0xf4, 0xd0, 0xd0, 0xe0, 0xe0, 0xc0, 0x40, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0b, 0x03, 0x01, 0x70, 0xf8, 0xf4, 0xc2, 0xc2, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc3, 0xc7, 0x87, 0x0f, 0x1f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0x1f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x0f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xc9, 0x99, 0xf9, 0x3f, 0x1f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0x9c, 0x98, 0x18, 0xf0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x7f, 0xff, 0xff, 0xf9, 0xfc, 0xe2, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03, 0x0e, 0x1e, 0x9f, 0x7e, 0x0e, 0x3f, 0x7f, 0xdf, 0xff, 0x3f, 0x5f, + 0x1f, 0x1f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xc0, 0xc0, 0xe3, 0xe3, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe8, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x78, 0x7c, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x8f, 0x07, 0x01, 0x80, 0x00, 0x00, 0x80, 0xe0, 0xc0, 0xf0, 0xe8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x9f, 0x87, 0x07, 0x07, 0xc3, 0x01, 0x01, 0x00, 0xc0, 0x40, 0x80, + 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x8f, 0xbf, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x20, 0xa0, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xd0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xff, 0xfe, 0xff, 0xfc, 0xf0, 0x48, 0xc8, 0xb0, 0xf2, 0xec, 0xd0, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x0d, 0x03, 0x16, 0x0f, 0x6f, 0x5f, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfa, 0xf8, 0xf8, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, + 0xe0, 0xf8, 0xfa, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xc1, 0xe1, 0xe3, 0xe7, 0xc7, 0x83, 0x07, 0x07, 0xbf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xbf, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf0, 0x40, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x03, 0x07, 0x01, 0x05, 0x00, 0x00, 0x00, 0x08, 0x0a, 0x02, 0x0b, 0x25, 0x1f, 0x3f, 0x1f, 0x3f, 0x3f, 0x3f, 0x1f, 0x3f, 0x1f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x1f, 0x0f, 0x00, 0x03, 0x03, 0x07, 0x1f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfb, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xdd, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x80, 0xc0, 0x64, 0xe4, 0x0c, 0x07, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xef, 0xcc, 0xcc, 0xce, 0xcc, 0xc8, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x3f, 0x2e, 0x3f, 0x7f, 0xee, 0xbd, 0xf1, 0x7f, 0x7f, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xf0, 0xe0, 0xe0, 0xe0, 0xf0, 0x30, 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0f, 0x9f, 0x8f, 0x06, 0x0f, 0x3f, 0xdf, 0xbf, 0x7f, 0x2f, + 0x0f, 0x17, 0x9f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xe0, 0xf0, 0xf1, 0xf1, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0x6a, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xc0, 0xe0, 0xe8, 0xfc, + 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3e, 0xbe, 0x1c, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xf8, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x1f, 0x7f, 0xff, 0x3f, 0x1f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x77, 0xff, 0xed, 0xfe, 0xfc, 0xfa, 0xfe, 0xfd, 0xff, 0xff, + 0xfc, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xe0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x70, 0x78, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x01, 0x81, 0x60, 0x80, 0xa0, 0xa0, 0xf8, 0xf8, 0xf8, 0xfc, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xf0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0x07, 0x83, 0x82, 0x01, 0x02, 0x82, 0x80, 0x89, 0x1d, 0x28, 0x19, 0x25, 0x33, 0x0f, 0x57, 0x0f, 0x2f, 0x1f, 0x1f, 0x1f, 0x3f, 0x7f, 0x7f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x8f, 0x13, 0x41, + 0x00, 0x30, 0xd0, 0xfc, 0xf2, 0xfc, 0x73, 0xfe, 0xf7, 0xfb, 0xcc, 0xf8, 0xf8, 0xd3, 0x55, 0xff, 0xfb, 0xf7, 0x0b, 0x23, 0x01, 0x21, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x80, 0xd0, 0xd0, 0xe8, 0xd0, 0xf8, 0xf0, 0xe0, 0x40, 0x00, 0x00, 0xf2, 0xf0, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x80, 0x00, 0x9a, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x01, 0x05, 0x03, 0x07, 0x0f, 0x0f, 0x03, 0x0f, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x00, 0x01, 0x01, 0x0f, 0x3f, 0x7f, 0xbf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0x61, 0x01, 0x47, 0x79, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe2, 0xe0, 0xf1, 0xf3, 0x3b, 0x9f, 0x83, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xfe, 0xe6, 0xee, 0xc6, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0f, 0x7f, 0x5f, 0x9f, 0xdf, 0xff, 0xfe, 0x7d, 0x3f, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, 0x3c, 0x1e, 0x1e, 0x0e, 0x00, 0x02, 0x17, 0x47, 0x47, 0x8b, 0x07, 0x8f, 0xff, 0xff, 0x1f, + 0x2f, 0x17, 0x47, 0x1f, 0x43, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xa0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0x7f, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xd0, 0xe0, 0xf8, 0xfa, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xaf, 0xef, 0xd6, 0xca, 0xe0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xe0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x05, 0x1f, 0x3f, 0x1b, 0x07, 0x0f, 0x0f, 0x03, 0x03, 0x01, 0x01, 0x80, 0xe0, 0xe0, 0xf0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0x7c, 0xa8, 0x80, 0xe0, 0xe0, 0xe0, 0xe0, 0xe8, 0xf0, 0xe8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x3f, 0x9f, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x01, 0x01, 0x11, 0x91, 0xb9, 0xfd, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x80, 0x40, 0xa0, 0xd0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xc1, 0xc0, 0xc0, 0xe1, 0xe1, 0xe3, 0xe3, 0xe7, 0xcf, 0x8e, 0x1f, 0x3a, 0x1d, 0x15, 0x37, 0x2f, 0x07, 0x37, 0x0f, 0x07, 0x0f, 0x17, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, + 0x7f, 0xff, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xfc, 0xf8, 0xfc, 0xf8, 0xf8, 0xc0, 0x00, 0x10, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x80, 0x00, 0x2d, 0x4c, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x03, 0x03, 0x03, 0x03, 0x07, 0x03, 0x07, 0x03, + 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x3f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7c, 0x00, 0x80, 0xc5, 0xeb, 0xef, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf8, 0xdc, 0x89, 0x01, 0xe1, 0xf8, 0xff, 0x7f, 0xff, 0xff, 0xf9, 0xfb, 0xff, 0xf7, 0xf7, 0xf7, 0xfe, 0xff, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0x7c, + 0x1e, 0x14, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x21, 0xe3, 0xed, 0xde, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x2f, 0x3f, 0x1f, + 0x0f, 0x0f, 0x07, 0x0b, 0x83, 0xc5, 0xc3, 0xc1, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xe0, 0xe4, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1e, 0x0a, 0x00, 0x00, 0x00, 0xc0, 0x80, 0xe0, 0xe8, 0xe0, + 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0x7c, 0x78, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x10, 0x7e, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x05, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x41, 0xc1, 0x80, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf1, 0xe7, 0x07, 0x05, 0x07, 0x03, 0x03, 0x01, 0x01, 0x80, 0xc0, 0xf0, 0xe0, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xfb, 0xff, 0xfb, 0xfd, 0xff, 0xfc, + 0xff, 0xff, 0xfc, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xdf, 0xff, 0xff, 0x8f, 0x00, 0x00, 0x00, 0x06, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xe0, 0xb0, 0xd0, 0xfc, 0xf8, 0xe0, 0xc0, 0x80, 0x80, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x40, 0xf0, 0xa8, 0xf8, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x87, 0x83, 0x83, 0x81, 0x81, 0x85, 0x87, 0x85, 0x15, 0x2b, 0x2f, 0x51, 0x2b, 0x0f, 0x2f, 0x8f, 0x3f, 0x9f, 0xbf, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xbf, 0x8f, 0xeb, 0xe0, 0xf8, 0xf4, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x80, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xc0, 0x03, 0x07, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x01, 0x03, 0x03, 0x03, 0x01, 0x02, 0x0f, 0x07, 0x1f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x5f, 0x1f, 0x1f, + 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x07, 0x03, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x3f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x3f, 0xbf, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xc8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0xfc, 0xfe, 0xef, 0xef, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x26, 0x80, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x00, 0x81, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, + 0x0f, 0x0f, 0x1f, 0x9f, 0xcf, 0xdf, 0xcf, 0xe7, 0xe3, 0xf1, 0xf8, 0xfc, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x7c, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x7f, 0x3e, 0x2e, 0x18, 0x3c, + 0x3c, 0x3c, 0x38, 0x38, 0x38, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xe0, 0xc1, 0xe1, 0xc1, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0xfe, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xfa, 0xff, 0x4f, 0x1f, 0xbf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xed, 0xf1, 0xc1, 0xa1, 0x00, 0x03, 0x81, 0x81, 0x80, 0x40, 0x00, 0x80, 0xa0, 0xa0, 0xe0, 0xa0, 0xe0, 0xa0, 0xe8, 0xe0, 0xe0, 0xe4, 0x98, 0xec, 0xee, 0xfc, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x5f, 0x3f, 0x7f, 0x3f, 0x7f, 0x7f, 0xff, 0x7f, 0x3f, 0x7f, 0x7f, 0x0f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0xb6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x57, 0x0f, 0x07, 0x01, 0x03, 0x01, 0x03, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x07, 0x03, 0x03, 0x83, 0x23, 0x1f, 0x9f, 0x0f, 0x3f, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0xf0, 0xc0, 0x80, 0x00, 0x01, 0x01, 0x07, 0x0f, 0x5f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x47, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x39, 0xc7, 0x5a, 0x94, 0xe0, 0xea, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x1f, 0x3f, 0x0f, 0x1c, 0x3c, 0x7c, 0x38, 0x60, 0x00, 0x01, 0x04, 0x38, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe2, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x09, 0x35, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xfc, 0xfe, 0xef, 0xef, 0xff, 0xff, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x77, 0xc2, 0xf3, 0xf6, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x17, 0x83, 0xe3, 0xff, 0xff, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0x9f, 0xdf, 0xdf, 0xdf, 0xff, 0xed, 0xf9, 0xfc, 0xfe, 0xff, 0xff, 0x7f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xf8, 0xfc, 0xfc, 0xf8, 0xfc, 0xf8, 0xfc, 0xf8, 0xfc, 0xfc, 0xf0, 0xf8, 0xe0, 0xca, 0xbe, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xa0, 0xc8, 0x80, 0x88, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x78, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, + 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfc, 0xe8, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x3f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0x7f, 0x1d, 0x5f, 0x63, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xf8, 0xfa, 0xc8, 0x74, 0x00, 0x14, 0x01, 0x03, 0x01, 0x03, 0x03, 0x01, 0x03, 0x01, 0x01, 0x81, 0x81, 0xc1, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x17, 0x1f, 0x1f, 0x3f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x07, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x90, 0x20, 0x60, 0x40, 0x40, 0x00, 0x30, 0x40, 0x03, 0x43, 0x43, 0x03, 0x47, 0x83, 0xc3, 0xff, 0xff, 0x1f, 0x0f, 0x9f, 0x07, 0x8f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xf8, 0xe0, 0x80, 0x00, 0x03, 0x03, 0x07, 0x07, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xed, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x7e, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x7f, 0x5f, 0xff, 0xbf, 0x7e, 0x18, 0xe0, 0x56, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe7, 0xf2, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xde, 0xdf, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xca, 0xe0, 0xfb, 0xf2, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0b, 0x97, 0xf1, 0xff, 0xff, 0xff, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x3f, 0x7f, 0x3f, 0x7f, 0x3f, 0x3f, 0xbf, 0xdf, 0xdf, 0xff, 0xdd, 0xe9, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x9f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe1, 0xc3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xf2, 0xc7, 0xc6, 0xce, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xac, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd0, 0xe0, 0xc0, 0x7c, 0xf8, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0xff, 0xff, 0x7f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xdf, 0xef, 0xcf, 0xcf, 0xef, 0xef, 0xe3, 0xf3, 0xe3, 0xe7, 0xe7, 0xc3, 0xc3, 0xc3, 0xff, 0xff, 0xff, 0xbf, 0xef, 0xcf, 0xc3, 0xc1, 0x03, + 0x80, 0x00, 0x00, 0x40, 0xc0, 0xc0, 0x80, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x0d, 0x09, 0x00, 0x06, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x01, 0x07, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfa, 0xfe, 0xfc, 0xf8, 0xd0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x80, 0x01, 0x03, 0x07, 0x07, 0x1f, 0x5f, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc7, 0xe3, 0xc3, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf0, 0xc0, 0x83, 0x17, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x7f, 0x3f, 0x1f, 0x7f, 0x3f, 0x3f, 0x1f, 0x3f, 0xbf, 0x3f, 0xea, 0xf4, 0xf8, 0xf0, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfa, 0xec, 0xfe, 0xfe, 0xdf, 0xf8, 0xc0, 0xf0, 0xf0, 0xd0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf4, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xee, 0xef, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf9, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xe3, 0xf9, 0xfa, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x8f, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xc0, 0xe0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc4, 0xee, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf0, 0xe1, 0xe3, 0xc7, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xd8, 0xe0, 0x20, 0xe8, 0xf0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0x7f, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0xdf, 0xf7, 0x17, 0xb7, 0xdf, 0xc7, 0x27, 0x87, 0x03, 0x13, 0x83, 0xe7, 0xf7, 0xff, 0xff, 0xff, + 0xff, 0xb7, 0x47, 0x06, 0x00, 0x00, 0xa0, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x81, 0x81, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x07, 0x07, 0x03, 0x07, 0x07, 0x07, 0x06, 0x82, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xf2, 0xff, 0xff, 0xfe, 0xff, 0xfd, 0xfc, 0xfc, 0xfc, 0xec, 0xf0, 0xd0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xe0, 0x80, 0x01, 0x07, 0x07, 0x07, 0x07, 0x1f, 0x5f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x5f, 0x1f, 0x0e, 0x0e, 0x0e, 0x1e, 0x1c, 0x1c, 0x7c, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xef, 0x07, 0x03, 0x01, 0xef, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x0f, 0x1f, 0x0f, 0x1f, 0x3f, 0x9f, 0x5f, 0xaf, 0x9f, 0x3f, 0xde, 0xf0, 0xf0, 0xe0, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf0, 0xe0, 0x80, 0x80, 0xb0, 0x18, 0x80, 0x80, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xe7, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf6, 0xf7, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xe1, 0xf9, 0xf1, 0xf0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x9f, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xf6, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x17, 0x3f, 0x1f, 0x3f, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xdf, 0xdf, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6f, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf9, 0xf1, 0xc1, 0x81, 0x03, 0x03, 0x03, 0x03, 0x07, 0x06, 0x0c, 0x18, 0x00, 0x80, 0x70, 0xe0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xcc, 0xf9, 0xbb, 0xff, 0xc3, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0xd0, 0xfc, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf4, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xe0, 0xf0, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xbf, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xdf, 0xaf, + 0x1f, 0x5f, 0x1f, 0x3f, 0x7f, 0xfe, 0x7e, 0x7c, 0x18, 0x18, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xdf, 0xef, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x05, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0x7c, 0xf0, 0xf0, 0xf1, 0xe1, 0xfb, 0xff, 0xfe, 0xdf, 0xfc, 0xfc, 0xfc, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x3f, 0x7f, 0x7f, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x68, 0xf8, 0xf0, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x0f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xe0, 0xe3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbf, 0xff, 0x1f, 0x3f, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0b, 0x0f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf4, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xe8, 0xe2, 0xe0, 0xd0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x5f, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x0f, 0x3f, 0x3f, 0x1f, 0x3f, 0x9f, 0x9f, 0xdf, 0xdf, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x9e, 0xf9, 0xef, 0xb3, 0x87, 0x83, 0x80, + 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfa, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, 0xf4, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, + 0xff, 0xff, 0x9f, 0xbf, 0x7f, 0xbf, 0x3f, 0x7f, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x04, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xf1, 0xf1, 0xd1, 0xc1, 0xe2, 0x88, 0x40, 0x18, 0x6c, + 0x50, 0xd0, 0x90, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3d, 0x7b, 0xfa, 0xfc, 0xee, 0xf8, 0xfb, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x3f, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc0, 0x70, 0xf1, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x7f, 0x3f, 0x1f, 0x0f, 0x0f, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x05, 0x01, 0x03, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xdf, 0xd4, 0xc0, 0xc8, 0xc2, 0xc8, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, + 0x80, 0x80, 0xc0, 0x80, 0xc0, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x1f, 0x3f, 0x1f, 0x3f, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xff, 0xf7, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0xf8, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xec, 0xe4, 0xe5, 0x83, 0xa7, + 0x87, 0x07, 0x83, 0x00, 0x00, 0x00, 0x40, 0xe8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xd7, 0xf6, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfd, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x3f, 0xbf, 0xbf, 0xff, 0xff, + 0xff, 0xbf, 0xbf, 0x7f, 0xbf, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xfe, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xf8, 0xf8, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x0e, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xfe, 0xf8, 0xf8, 0xfc, 0xf0, 0xf1, 0xf3, 0xe3, 0x81, 0x80, 0x81, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x07, 0x0f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3e, 0x1e, 0x3c, 0x78, 0x7a, 0xf0, 0x50, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x07, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x8f, 0x77, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x60, 0xc0, 0xf0, 0xe0, 0xf1, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x1f, 0x0f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xf6, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0e, 0x18, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x5f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x07, 0x0f, 0x37, 0x1f, 0x7f, 0x1f, 0xbf, 0xff, 0xbf, 0xfd, 0xdd, 0xe3, 0xf8, 0xfc, 0xfd, 0xfe, 0x7f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe8, 0xf4, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xef, 0xf7, 0xe2, + 0xe5, 0x81, 0x8b, 0x87, 0x87, 0x07, 0x07, 0x07, 0x01, 0x00, 0x80, 0xa0, 0xf0, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x3f, 0x8f, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfa, 0xfe, 0xfe, 0xfa, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x3f, + 0x3f, 0x3f, 0x7f, 0xff, 0x3f, 0xbf, 0x3f, 0xff, 0x3f, 0x06, 0x1b, 0x3e, 0x78, 0x7e, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7c, 0x7e, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfd, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x10, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfa, 0xfa, 0xfe, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xc0, 0x81, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x07, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xd0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x05, 0x07, 0x07, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3e, 0x1c, 0x1c, 0x18, 0x38, 0x78, 0xf8, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0xef, 0xff, 0xbf, 0xbf, 0x1f, 0x9f, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xc0, 0xb0, 0xd8, 0xf8, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x90, 0xe0, 0xc0, 0xa0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xf6, 0xe7, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xfd, 0xfd, 0xfd, 0xf5, 0x4f, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0xed, 0xfb, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xf3, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x0f, 0x01, 0x00, 0x00, 0x30, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xc0, 0x88, 0xb8, 0xb0, 0x70, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xf0, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x03, 0x07, 0x01, 0x03, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xfc, 0xf8, 0xf1, 0xf1, 0xf0, 0xf0, 0xc1, 0xc1, 0xc1, 0x00, 0x41, 0x00, 0x80, 0x40, 0xe0, 0xf8, 0xf8, 0xfd, 0xff, 0xff, 0xfe, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfe, 0x3e, 0x1e, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xc0, 0xd0, 0xe8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x03, 0x83, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xff, 0xf9, 0xff, 0xf7, 0xff, 0xff, 0xcf, 0x8f, 0x8f, 0xcf, 0x9f, 0x9f, 0x8f, 0x9f, 0x8f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf4, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0xf0, 0xf8, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xc0, 0x40, 0xc0, 0x80, 0xc0, 0xc0, 0xc9, 0x5f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x03, 0x7b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x10, 0x64, 0xd8, 0x14, 0x48, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x3f, 0xbf, 0x1f, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xa0, 0xf4, 0xfb, 0xff, 0xff, 0xfd, 0x7f, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x83, 0x83, 0xe1, 0xe1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x18, 0xe4, 0xf6, 0xff, 0xff, 0xf7, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0x47, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf0, 0x9b, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xc0, 0xf8, 0xec, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfe, 0x7c, 0xf8, 0xf4, 0xf0, 0xdc, 0x76, 0x1c, 0x9c, 0x7c, 0x7c, 0x38, 0x78, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf8, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xbf, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb, 0xfc, 0xfd, 0xf8, 0xe8, 0xe0, 0xd0, 0x80, 0xc0, 0x40, 0xf8, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0x7f, 0x5f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe8, 0xf8, 0xfe, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x00, 0x00, 0x78, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe3, 0xe7, 0xe7, 0xef, 0xf7, 0xe7, 0xf7, 0xe7, 0xf1, 0xc1, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0x3e, 0x1c, 0x9c, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xc0, 0xf0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0xe8, 0xb4, 0xfc, 0xd8, 0xf8, 0xe0, 0xf0, 0xf9, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x3f, 0x9f, 0x0f, 0x03, 0x01, 0x1c, 0x07, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0xfc, 0x5e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1e, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4f, 0xbf, 0x47, 0x07, 0x83, 0x03, 0xc5, 0xe1, 0xf1, 0xf0, 0xf8, 0xf8, 0xfe, 0xe3, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xfe, 0xfe, 0xbf, 0xf8, 0xfc, 0xf2, 0xff, 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xf8, 0xfb, 0xdf, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x7b, 0x3f, 0x1f, 0x07, 0x2f, 0x1f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xde, 0xcd, 0xc7, 0xb8, 0x80, 0x00, 0x00, 0x03, 0x0e, 0x14, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0xc0, 0xc0, 0x00, 0x01, 0x03, 0x01, 0x02, 0x03, 0x03, 0x03, 0x83, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xf0, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x07, 0x07, 0x57, 0xd7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xf0, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xbe, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x1f, 0x07, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x95, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf1, 0xf1, 0xf3, 0xff, 0xf3, 0xf1, 0xf9, 0xf8, 0xf0, 0xf8, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0x90, 0xe0, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x61, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x17, 0x0f, 0x0f, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0xf4, 0xfd, 0xf6, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0xaf, 0x8f, 0x8f, 0xcf, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x90, 0xd0, 0xcc, 0xf8, 0xe5, 0x1a, 0x7f, 0x57, 0x5f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xec, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xed, 0xf8, 0xe0, 0xf8, 0xfa, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xf8, 0xfc, 0x78, 0x3c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xfa, 0xe8, 0xdd, 0xff, 0xff, 0xde, 0xee, 0xff, 0xff, 0xff, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0x1f, 0x03, 0x2f, 0x3b, 0xe3, 0xe7, 0xcf, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0xef, 0x05, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xe0, 0xb8, 0xf0, 0xe0, 0xf8, 0xf0, 0xfc, 0x78, 0x3c, 0x24, 0x20, 0xe0, 0x64, 0xa0, 0xc0, 0xc0, 0x40, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x00, 0x00, 0x03, 0x07, 0x03, 0x0f, 0x02, 0x00, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x80, 0xe0, 0xf0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xfe, 0xfc, 0xfe, 0xff, 0x7f, 0x0f, 0x03, 0x00, 0x00, 0xd0, 0xc0, 0xfc, + 0xe9, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfd, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xf0, 0xc0, 0xc0, 0x00, 0x00, 0x1c, 0x3f, 0x3f, 0x1a, 0x1a, 0x1c, 0x1e, 0x0e, 0x0f, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x06, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x73, 0xfa, 0xf0, 0xf0, 0xe8, 0xf0, 0xf8, 0xe8, 0xf2, 0xec, 0xf0, 0xf4, 0xfa, 0xf8, 0xf0, 0xf8, 0xf0, 0xf8, 0xf8, 0xfc, 0xf0, 0xf8, 0xf0, 0xf8, 0x1c, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xf8, 0xfc, 0xf0, 0xff, 0xfe, 0xfa, 0xfe, 0x7c, 0x06, 0x07, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x1f, 0x3f, 0x1f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x7f, 0xbf, 0x7f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xf8, 0xf0, 0x42, 0x1a, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x30, 0xc0, 0xe4, 0xe6, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0xbf, 0x4f, 0x07, 0x07, 0x03, 0x07, 0x03, 0x02, 0x00, 0x80, 0x40, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x16, 0x1b, 0x61, 0x00, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x02, 0x16, 0x04, 0x2f, 0x60, 0xb5, 0x72, 0xfe, 0xf5, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x2b, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb1, 0xff, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xcc, 0x60, 0x92, 0xb0, 0xfc, 0xfd, 0x10, 0x48, 0xfd, 0x7f, 0xfc, 0xf0, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x0f, 0x27, 0x11, 0x7f, 0x25, 0xe7, 0xd7, 0x8f, 0xdf, 0x7f, 0x7f, 0x7f, 0x1f, 0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x60, 0x30, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x00, 0x00, 0x0e, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xd0, 0x50, 0xb8, 0xe0, 0xb0, 0xe8, 0xd8, 0x80, 0xe1, 0x2b, 0x01, 0x01, 0x00, 0x00, 0x00, 0x80, 0xa0, 0x9a, + 0xf1, 0xff, 0xf4, 0xfb, 0xe9, 0xfa, 0xfc, 0xf4, 0xd8, 0xf0, 0xd0, 0xc0, 0xa0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x32, 0x10, 0x10, 0x10, 0x08, 0x04, 0x00, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0x3f, 0x5f, 0x1e, 0x3f, 0x1f, 0x0e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x7c, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfa, 0x7a, 0x0a, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x80, 0xc0, 0x80, 0x00, 0xc0, 0xf0, 0xf0, 0xd0, 0xf0, 0xe0, 0xd0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xe0, 0xfc, 0xfe, 0xff, 0xff, 0x7f, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xd4, 0xf0, 0xed, 0x64, 0xbe, 0xa0, 0x00, 0x07, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x17, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x0f, 0xc0, 0xe8, 0xf5, 0xf5, 0xfe, 0xfd, 0xfd, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x7f, 0x2f, + 0x2f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x41, 0x00, 0x15, 0x1f, 0x5f, 0x1f, 0x1f, 0x03, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xe0, 0xad, 0xf7, 0xef, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0x1f, 0x8f, 0x81, 0x50, 0x90, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x9f, 0x7f, 0x1f, 0x1f, 0x3f, 0x1f, 0x07, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0xe0, 0xe0, 0xe0, 0xe0, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xf0, 0xf8, 0xf0, 0xfa, 0xfc, 0xfc, 0x7e, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x90, 0x65, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x3b, 0x81, 0xc5, 0xb9, 0x94, 0xec, 0xc7, 0xdf, 0xcf, 0xdf, 0x9f, 0x3e, 0x3c, 0x7b, 0xbd, 0x79, 0xbd, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x24, 0x0a, 0x28, 0x36, 0xb7, 0xff, 0x3f, 0x3f, 0x17, 0x15, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xfe, 0xf2, 0xfe, 0xfe, 0xfe, 0xcc, 0x60, 0x00, 0xb0, 0xf8, 0x7a, 0x30, 0x10, 0xcc, 0xf4, 0xf8, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x0b, 0x03, 0x13, 0x05, 0xe7, 0x45, 0xd6, 0x9f, 0xfa, 0xff, 0x7f, 0x7f, 0x19, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x80, 0xe0, 0x00, 0xe0, 0xc0, 0xc0, 0x80, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x07, 0x0f, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa0, 0x80, 0x00, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x80, 0x50, 0x30, 0x98, + 0xe0, 0xb4, 0xf8, 0xf0, 0xb4, 0xf0, 0xd0, 0xf0, 0x80, 0xa0, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x30, 0x10, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xf8, 0xf8, 0xfc, 0xf0, 0xfa, 0xfe, 0xfc, 0xf8, 0xfa, 0xfe, 0x7d, 0x7e, 0x37, 0x5d, 0x2e, 0x37, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x3c, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xec, 0xfd, 0xf6, 0xca, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x80, 0x60, 0x80, 0xa0, 0xe0, 0xc0, 0xc0, 0xe0, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xe0, 0xe0, 0x90, 0xc8, 0xa4, 0x78, 0x00, 0x01, 0x1f, 0x3f, 0x3f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0f, 0x17, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x0f, 0x80, 0x20, 0x68, 0xd0, 0xfe, 0xfa, 0xed, 0xfd, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x3f, 0x1f, 0x0f, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x3e, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x02, 0x03, 0x2b, 0x3f, 0x1f, 0x19, 0x1c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x42, 0xab, 0xdf, 0xff, 0xff, 0xff, 0xfb, 0xef, 0x7f, 0x3f, 0x3f, 0x1f, 0x00, 0x00, 0x20, 0x24, 0x75, 0xff, 0xbf, 0xff, 0x3f, 0x3f, 0x1f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x07, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x80, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xe8, 0xe8, 0xf8, 0xfc, 0xe0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x18, 0xf2, 0x7c, 0xf8, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x5f, 0x43, 0x03, 0x81, 0x00, 0x82, 0x51, 0x05, 0x80, 0xdc, 0x11, 0x3a, 0x3c, 0x38, 0x38, 0x30, 0x70, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x14, 0xb4, 0x3d, 0x07, 0x14, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xfa, 0xf8, 0xfc, 0xf2, 0xfe, 0x98, 0x4c, 0xa0, 0x20, 0xb0, 0xf0, 0x60, 0x20, 0x80, 0xb0, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0f, 0x03, 0x03, 0x02, 0xaf, 0xcd, 0xc6, 0xcd, 0xd6, 0x7f, 0x7f, 0x77, 0x57, 0x40, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x07, 0x0f, 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x01, 0x0d, 0x1f, 0x1e, 0x1d, 0x1c, 0x06, 0x06, 0x04, 0x00, 0x00, 0xc8, 0x40, 0xb0, 0xd0, + 0x80, 0xe0, 0x60, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xf9, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x84, 0x44, 0xac, 0xb4, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0x80, 0xc0, 0xc0, 0x90, 0x80, 0xe0, 0xe0, 0xd0, 0x68, 0xb2, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x4c, 0xfc, 0xf9, 0xfd, 0xff, 0xfc, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfa, 0xfe, 0xfc, 0xec, 0xf0, 0xe8, 0xa0, 0x80, 0xd0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xfd, 0xfb, 0x3f, 0x00, 0x02, 0x01, 0x02, 0x02, 0x0b, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x80, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x0f, 0x02, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x05, 0x2f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0x02, 0x00, 0x40, 0x00, 0x90, 0xa0, 0xa0, 0xb0, 0xe8, 0xf0, 0xf8, 0xc2, 0xfe, 0xf8, 0xf8, 0xfe, 0x7e, 0x3e, 0x3d, 0x06, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x32, 0x9a, 0xae, 0x6a, 0x93, 0x55, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x2b, 0xcf, 0x6f, 0xef, 0xff, 0xc7, 0x8f, 0xff, 0xe7, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x05, 0x14, 0x87, 0xfe, 0xff, 0xbf, 0x3f, 0x3f, 0x3f, 0x7f, 0x3f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x01, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xb0, 0x40, 0x38, 0xa0, 0xe8, 0xfc, 0xfc, 0xff, 0x8f, 0x1f, 0x0f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xe1, 0xe0, 0xe0, 0xc0, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4c, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xd0, 0xf8, 0xf6, 0xf0, 0xf2, 0xcc, 0x80, 0x40, 0x10, 0x90, 0xb8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x06, 0x23, 0xe6, 0xe2, 0xf7, 0xf7, 0x07, 0x17, 0x07, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x14, 0x30, 0x38, 0x60, 0x68, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x99, 0x6a, 0xc0, 0x40, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x84, 0xc5, 0xd9, 0xd4, 0xfe, 0xf9, 0xfe, 0xf3, 0xec, 0xf2, 0xf8, 0xf4, 0xf0, 0x40, 0x90, 0x90, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xd0, 0xf0, 0x80, 0x70, 0x20, 0x00, 0x20, 0x41, 0x2f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7c, 0x3f, 0x1f, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x7d, 0x9d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa9, 0xfd, 0x3b, 0x04, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x40, 0x80, 0x40, 0x00, 0xd0, 0x50, 0x90, 0xd0, 0x40, 0x48, 0x20, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xfc, 0xfe, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x14, 0x44, 0x28, 0x08, 0x10, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01, 0x0f, 0x17, 0x1f, 0xef, 0x1f, 0x6f, 0x3f, 0x7f, 0x1f, 0x9f, 0x8f, 0xbf, 0xe7, 0x07, 0x00, 0x00, 0x00, 0x00, 0x60, 0x2e, 0xfb, 0x5a, 0xfd, 0x35, 0x61, 0x3e, 0x96, 0x29, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x3c, 0x3c, 0x3e, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x90, 0xb7, 0x25, 0x3f, 0x5e, 0x1d, 0x05, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xb8, 0x60, 0x78, 0x34, 0xf1, 0x88, 0x40, 0xb0, 0x00, 0x88, 0xd8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0b, 0x03, 0x01, 0x01, 0x02, 0x03, 0x31, 0x23, 0xfb, 0x73, 0x3b, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x50, 0xd0, 0x60, 0xc0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0xbc, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x30, 0xf4, 0x5d, 0xe8, 0xf2, 0xf4, 0xfa, 0xe2, 0xf8, 0xc0, 0xf4, 0xe0, 0xc0, 0xf0, 0x40, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xc0, 0xf0, 0x90, 0xa0, 0x20, 0x00, 0x10, 0x08, 0x47, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfa, 0x3b, 0x2d, 0x0a, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x5b, 0xef, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb, 0x75, 0x5c, 0xbc, 0x08, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x80, 0xa0, 0x00, 0xa0, 0x20, 0xa0, 0x40, 0xa8, 0xa0, 0xa0, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xfc, 0xfe, 0xff, 0xff, 0x3f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x01, 0x0f, 0x1f, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x52, 0x04, 0x02, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x05, 0x0f, 0x03, 0x17, 0x1f, 0x7f, 0x9f, 0x3f, 0x3f, 0x1f, 0x9f, 0xbf, 0x8f, 0xb7, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xcc, 0x2a, 0xa4, 0x7a, 0x3e, 0x69, 0x3d, 0x02, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x3c, 0x3e, 0x3e, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x1f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x80, 0xe0, 0x80, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xe0, 0x3b, 0x2f, 0x3e, 0x1e, 0x0f, 0x01, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x9a, 0xef, 0x1c, 0xdf, 0x5f, 0x5e, 0x7b, 0x58, 0x52, 0x68, 0x60, 0x7b, 0x73, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0b, 0x0f, 0x5f, 0x1f, 0x1f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0xe0, 0x10, 0x8a, 0xb0, 0x64, 0xd8, 0xd0, 0x28, 0xe2, 0x98, 0xe0, 0x88, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xe8, 0xf0, 0xfc, 0xf0, 0xe8, 0xe4, 0x0a, 0x03, 0x07, 0x0f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xfc, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x5e, 0xff, 0xfe, 0xfe, 0x7d, 0x0c, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x03, 0x5e, 0xd7, 0x2f, 0xfb, 0x5f, 0xfd, 0xff, 0xfd, 0xfe, 0xfb, 0xf5, 0xda, 0xe1, 0x49, 0xe8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x80, 0x30, 0x00, 0xc0, 0x28, 0x20, 0x10, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xfc, 0xff, 0xff, 0xff, 0x3f, + 0x0f, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0xc0, 0x03, 0x07, 0x1f, 0x3f, 0x7f, 0x7c, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, 0xab, 0x23, 0xcf, 0x63, 0x1b, 0x31, 0x3a, 0x39, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x04, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x8f, 0x87, 0x07, 0x81, 0x00, 0x40, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x50, 0x78, 0xd8, 0xe8, 0xfc, 0xfc, 0xfb, 0x9c, 0xde, 0x0c, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x60, 0x81, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x70, 0x30, 0x61, 0x61, 0x51, 0x03, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x20, 0x03, 0x0a, 0x13, 0x5c, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xa8, 0xf1, 0x3c, 0x3a, 0x3e, 0x84, 0xf5, 0x71, 0xc4, 0xe0, 0x50, 0xf2, 0xb6, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x14, 0x34, 0x3e, 0x1e, 0x3e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1a, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x20, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0x70, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x20, 0x48, 0xf0, 0xd8, 0xe0, 0xfa, 0xf8, 0xe0, 0xb8, 0x60, 0x70, 0xc0, 0x20, 0xc0, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xe0, 0xfc, 0xe8, 0xe8, 0xc8, 0xc8, 0x02, 0x0c, 0x0b, 0x0f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x7f, 0xff, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xfc, 0xff, 0xfe, 0xfc, 0x7c, 0x58, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x09, 0x7f, 0x95, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xbe, 0xaf, 0xd4, 0xcc, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x00, 0xc0, 0x60, 0xa0, 0x20, 0x40, 0x08, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf0, + 0xfc, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x03, 0x07, 0x1f, 0x3f, 0x7e, 0x7c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x24, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x07, 0x06, 0x0b, 0x0b, 0x47, 0x9f, 0x4f, 0x5f, 0x07, 0x57, 0xff, 0xeb, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x09, 0x24, 0x0a, 0x19, 0x05, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x1f, 0x1f, 0x9f, 0x1f, 0x0f, 0x07, 0x43, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x70, 0xd0, 0xf8, 0xf4, 0xf8, 0x78, 0xa8, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x90, 0x80, 0xc5, 0x35, 0x1b, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x02, 0x08, 0x50, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xea, 0xfb, 0x7f, 0x7f, 0x7f, 0x1f, 0x7f, 0x7f, 0x79, 0x38, 0x38, 0xb1, 0xbd, 0x3b, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x03, 0x00, 0x04, 0x03, 0x06, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfa, 0xf8, 0x78, 0x38, 0x38, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xa0, 0xa0, 0xc0, 0x24, 0xb8, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfb, 0xfb, 0xf7, 0x57, 0x23, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x05, 0x5b, 0x3c, 0x7d, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x10, 0x05, 0x31, 0x84, 0x56, 0x00, 0x3d, 0xa8, 0xec, 0x75, 0xb8, 0xa0, 0x78, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf1, 0x87, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x01, 0x06, 0x02, 0x06, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x11, 0x31, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0x54, 0x70, 0xdc, 0xf8, 0xbf, 0x7f, 0xff, 0x9f, 0x5f, 0x1f, 0x1f, 0x0f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xb0, 0xc4, 0xb8, 0xf0, 0x7c, 0xfe, 0xff, 0xce, 0xdf, 0xd3, 0xeb, 0x84, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x50, 0x60, 0x08, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x80, 0x80, 0xc0, 0xe1, 0x80, 0x46, 0x00, 0x88, 0x00, 0x04, 0x01, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x05, 0x0e, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x5e, 0xfa, 0xfe, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xf1, 0xfc, 0xe0, 0x62, 0xf3, 0x36, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0d, 0x01, 0x08, 0x00, 0x04, 0x1c, 0x28, 0x3e, 0x5c, 0x1e, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf3, 0xea, 0xfb, 0xee, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xa0, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe3, 0xf7, 0xdf, 0xef, 0xcf, 0x0f, 0x8f, 0x0f, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x0f, 0x1f, 0x3f, 0x3f, 0x1f, 0x07, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0a, 0x18, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x18, 0x24, 0x0a, 0x11, 0x54, 0x24, 0x80, 0x20, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xfc, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0xa2, 0x01, 0x01, 0x10, 0x04, 0x20, 0x00, 0x03, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0xc0, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x04, 0x03, 0x00, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1f, 0x1f, 0x1f, 0x5f, 0x9e, 0x5f, 0x7f, 0x9f, 0x1d, 0x35, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xc0, 0xe0, 0xd0, 0xec, 0x72, 0x24, 0xbe, 0xfd, 0xfe, 0xfe, 0xef, 0xfd, 0xcb, 0xc2, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xa0, 0x80, 0x40, 0xc0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x92, 0xb8, 0xfb, 0xfa, 0x78, 0xfe, 0xdc, 0xe6, 0x62, 0xe8, 0x20, 0x84, 0xee, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x05, 0x00, 0x01, 0x01, 0x01, 0x09, 0x11, 0x11, 0x3d, 0x7d, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xc0, 0xe0, 0xe0, 0xc0, 0xd2, 0xe1, 0xf4, 0xff, 0xfe, 0xff, 0xff, 0xfc, 0xff, 0xfe, 0xfc, 0xf8, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0xcf, 0xdf, 0xef, 0x9f, 0x9f, 0x9f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x7f, 0x5f, 0x7f, 0xff, 0x3f, 0xbf, 0xff, 0x3f, 0x1f, 0x0b, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x02, 0x10, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xff, 0xff, 0xff, 0x7f, 0x0f, 0x04, 0x02, 0x00, 0x01, 0x01, 0x00, 0x05, 0x2f, 0x7f, 0xff, 0xff, 0xfe, 0xf8, 0xc1, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x08, 0x00, 0x00, 0x10, 0x1c, 0x3e, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x1f, 0x1f, 0x3f, 0x1f, 0x1c, 0x01, 0x81, 0x27, 0x37, 0x5f, 0x15, 0x78, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0xc0, 0xc0, 0xf8, 0xe4, 0x70, 0x26, 0x28, 0x98, 0x3b, 0xec, 0xfa, 0xd6, 0xed, 0xc0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xea, 0xf0, 0xf8, 0xf8, 0xb8, 0x84, 0xc0, 0x00, 0x80, 0x88, 0x8c, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x06, 0x01, 0x03, 0x00, 0x03, 0x01, 0x31, 0x33, 0x38, 0x7d, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0x80, 0x00, 0x00, 0xc0, 0xc4, 0xc8, 0xe0, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf8, 0xd0, 0xc0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0e, 0x1e, 0x1f, 0x3e, 0x3e, 0x3c, 0x7c, 0x7e, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x7f, 0xdf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3a, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x28, 0x9c, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xf8, 0xf7, 0x14, 0x08, 0x00, 0x0c, 0x07, 0x07, 0x1f, 0x7f, 0xff, 0xff, 0xfe, 0xf0, 0xc3, 0x0f, 0x3f, 0xff, 0xff, 0xfe, 0xf0, 0xc0, 0x80, 0x01, 0x02, 0x03, 0x03, 0x07, 0x03, 0x07, 0x03, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x05, 0x04, 0x04, 0x00, 0x00, 0x00, 0x70, 0xf8, 0xfc, 0xfe, 0x7f, 0x7f, 0x3f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x3f, 0x7f, 0x7f, 0x7e, 0x3c, 0x19, 0x07, 0x07, 0x07, 0x03, 0x03, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x70, 0x80, 0xf8, 0xf0, 0xe4, 0xf6, 0x88, 0x7a, 0x96, 0x70, 0xed, 0xdb, 0xf4, 0xd1, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0xa0, 0xc0, 0x40, 0x40, 0x00, 0x00, 0x90, 0x10, 0x90, 0x98, 0x90, 0x20, 0x00, 0x70, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x03, 0x0a, 0x07, 0x03, 0x04, 0x03, 0x46, 0x66, 0x77, 0x43, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x10, 0x7a, 0x2b, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0x20, 0x40, 0x08, 0x38, 0x30, 0x30, 0x38, 0x7c, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x20, 0x10, 0x04, 0x20, 0x0c, 0x08, 0x86, 0xe0, 0xf1, 0xf0, 0xf1, 0xf9, 0xf9, 0xf8, 0x80, + 0x00, 0x00, 0x80, 0xf1, 0xfb, 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0xe8, 0xf0, 0xf0, 0xe2, 0xe8, 0x88, 0xa0, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xfb, 0x62, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x9b, 0x13, 0x3b, 0x1f, 0x07, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xec, 0xa8, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x80, 0x80, 0xc0, 0xc0, 0x00, 0xa0, 0xf0, 0xd8, 0xe0, 0xe8, 0x68, 0x30, 0x9c, 0xc0, 0x00, 0x80, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x03, 0x05, 0x03, 0x0d, 0x26, 0x11, 0x48, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xfc, 0xfc, 0x1d, 0x00, 0x02, 0x00, 0x05, 0x0f, 0x7f, 0xff, 0xff, 0xf8, 0x80, 0x07, 0x3f, 0xff, 0xff, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x09, 0x07, 0x0f, 0x1f, 0x1f, 0x2f, 0x3f, 0x1f, 0x3f, 0x3f, 0x1f, 0x0f, 0x1f, 0x07, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x2a, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x7f, 0x1f, 0x5f, 0x8f, 0xe3, 0xeb, 0xe8, 0xfe, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, 0xc0, 0xc2, 0xe2, 0xc0, 0x00, 0x00, 0x0e, 0x0f, 0x1f, 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1f, 0x1f, 0x0e, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80, 0x80, 0x00, 0x20, 0x30, 0xb0, 0xb0, 0xd0, 0x88, 0x10, 0xc8, 0xb8, 0xd8, 0x28, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x02, 0x0c, 0x00, 0x02, 0x0c, 0xc7, 0xa7, 0xc7, 0x43, 0x03, 0x13, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0xc1, 0xe0, 0x22, 0x0f, 0xff, 0xff, 0x7f, 0x3a, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0xf0, 0xec, 0xf8, 0xf8, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0x70, 0xb0, 0x60, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xf0, 0xf0, 0xf2, 0xf4, 0xf8, 0x7b, 0x7f, 0x7d, 0x3e, 0x3e, 0xbf, 0xff, 0xe7, 0xe0, 0xe0, + 0xf0, 0xf0, 0xa1, 0x01, 0x01, 0x81, 0xe1, 0xe8, 0xe0, 0xf0, 0xe0, 0xe0, 0xc8, 0x82, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0xc2, 0x00, 0x00, 0x02, 0x00, 0x8c, 0xf1, 0xed, 0xe0, 0xf6, 0xd1, 0xec, 0x50, 0x64, 0x80, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x3f, 0x1f, 0x3f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xf7, 0xcd, 0xff, 0xff, 0xfe, 0xfa, 0xbf, 0x17, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0xfc, 0xf8, 0xfc, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xfe, 0x7e, 0x3e, 0x0b, 0xcc, 0xf2, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf7, 0xf8, 0xf0, 0xe0, 0xe0, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xfc, 0xfc, 0x38, 0x10, 0x00, 0x08, 0x00, 0x0f, 0x7f, 0xff, 0xff, 0xf1, 0x01, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x80, 0x00, 0x00, 0x01, 0x01, 0x07, 0x0f, 0x07, 0x0f, 0x0f, 0x3f, 0x3f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x07, 0x0d, 0x3f, 0x7f, 0x7f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0e, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1f, 0x1f, 0x1f, 0x0c, 0x01, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x06, 0x07, 0x00, 0x00, 0x01, 0x60, 0x61, 0xf0, 0x78, 0xb4, 0x94, 0xf8, 0xf4, 0xf8, 0xfc, 0xfc, 0xfc, 0xf8, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02, 0x04, 0x0e, 0x09, 0x10, 0x16, 0x0f, 0x4f, 0x8f, 0xc7, 0xaf, 0xf7, 0xf7, 0x71, 0x97, 0x19, 0x01, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x80, 0x80, 0xe0, 0xc0, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xe0, 0xcb, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7d, 0x34, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x80, 0x80, 0xd0, 0xa4, 0xd0, 0xfc, 0xf8, 0xfe, 0xfc, 0xf8, 0xfc, 0xfc, 0xf0, 0xf8, 0xf8, 0xe4, 0xf8, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0xe0, 0xa0, 0x60, 0xc0, 0x43, 0x33, 0x93, 0x83, 0x87, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xa0, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0b, + 0x03, 0xc7, 0xc7, 0xc7, 0xc7, 0xe7, 0xef, 0xef, 0xc7, 0x07, 0x07, 0x8f, 0xc7, 0xeb, 0xf7, 0xd7, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xfe, 0xfe, 0x7a, 0xb4, 0xf1, 0xe4, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xff, 0xf0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x12, 0x42, 0xbb, 0xaa, 0xfb, 0xff, 0xfd, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x3f, 0x3f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x08, 0x80, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0x7c, 0x3c, 0x1e, 0x10, 0x00, 0x1e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x63, 0x03, 0x01, 0x07, 0x07, 0x07, 0x1f, 0x3f, 0x5f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xe8, 0xa0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00, 0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x7f, 0x3f, 0x03, 0x0f, 0x0f, 0x07, 0x0f, 0x0f, 0x07, 0x17, 0x33, 0x07, 0x60, 0x00, 0x0c, 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x67, 0xe7, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1f, 0x1f, 0x1f, 0x0d, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x0f, 0x07, 0x0f, 0x0f, 0x07, 0x0f, 0x05, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0xf4, 0x20, 0x90, 0x98, 0x7c, 0x40, 0xd8, 0xb8, 0xfc, 0x7c, 0xbe, 0xff, 0xfc, 0xf0, 0xd0, 0xc0, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x02, 0x07, 0x37, 0xf3, 0xf9, 0xf9, 0xfc, 0x98, 0x06, 0x13, 0x0f, 0x03, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x05, 0x06, 0x00, 0x00, 0x00, 0x80, + 0x80, 0x80, 0x80, 0xb0, 0xfc, 0xfe, 0xfd, 0xec, 0xd8, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x20, 0x20, 0x40, 0x00, 0x60, 0x40, 0x78, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x80, 0x80, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xe0, 0x50, 0xfc, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xe6, 0xe2, 0xe2, 0xc0, 0x7f, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf8, 0xf8, 0xf8, 0xf0, 0x40, 0x40, 0xc0, 0x70, 0xc0, 0xf0, 0xd0, 0xe0, 0xc8, 0xf0, 0xe8, 0xf8, 0xf0, 0xfd, 0xf9, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfe, 0x3e, 0x38, 0xe8, 0xf0, 0xfa, 0xf8, 0xfc, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x3f, 0x3f, 0x00, 0x1f, 0x3f, 0x3f, 0x3f, 0x07, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x81, 0xf3, 0xe3, 0x43, 0xa3, 0x8b, 0x23, 0xa3, 0x03, 0x41, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x43, 0xe1, 0xc3, 0xd1, 0xf1, 0xf0, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0xbf, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x10, 0x08, 0x1a, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xe4, 0xf8, 0xe0, 0xe0, 0xc0, 0x90, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x84, 0xf8, 0xf8, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x39, 0xc0, 0x5c, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x5f, 0x7f, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, + 0x03, 0x07, 0x07, 0x87, 0x07, 0x83, 0xc1, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xe0, 0xa0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x5f, 0x7f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe3, 0x80, 0x07, 0xa3, 0x5f, 0x5f, 0x3f, 0xdf, 0xdf, 0x8f, 0xcf, 0x87, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x06, 0x06, 0x06, 0x07, 0x0f, 0x0f, 0x1f, 0x3c, 0xbb, 0xff, 0xff, 0x0f, 0x1f, 0xff, 0xff, 0xc1, 0x81, 0x01, 0x00, 0x00, + 0x00, 0x03, 0x03, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x01, 0x07, 0x07, 0x01, 0x07, 0x03, 0xa7, 0xbf, 0x7f, 0x7f, 0x7f, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xba, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0x7d, 0x7d, 0xdd, 0x1d, 0x26, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x0c, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0xf8, 0x80, 0x00, 0x03, 0x3f, 0x7f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x94, 0x80, 0x78, 0xf4, 0x74, 0x7c, 0xfe, 0xfc, 0xff, 0x7e, 0x7f, 0xfe, 0xf8, 0xf8, 0xc0, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x03, 0x1f, 0x77, 0xf1, 0xfd, 0xfc, 0xfc, 0xf5, 0x2d, 0x0d, 0x05, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x81, 0xc3, 0xe3, 0x82, 0x00, 0xc0, 0xc0, 0xe0, + 0xc0, 0xc0, 0xe0, 0xe0, 0xfe, 0xff, 0xff, 0xfc, 0x70, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x18, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa0, 0xc0, 0xa0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xfc, 0xfc, 0xfc, 0x04, 0xff, 0xff, 0xff, 0xff, 0xda, 0xf7, 0xfd, 0xf0, 0xf8, 0xf0, 0x3f, 0x1f, 0x1f, 0xcf, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x7f, 0x7f, 0x7c, 0xfc, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0x78, 0x80, 0xd0, 0xe0, 0xd0, 0xe0, 0xd8, 0xe4, 0xf8, 0xf0, 0xf4, 0xc8, 0xf4, 0xf0, 0xd0, 0xfe, 0x5e, 0x1e, 0x0f, 0x1f, 0x1f, 0x0f, 0x1f, 0x2f, 0x9f, 0xbb, 0xf6, 0xfc, 0xfc, 0xf4, 0x5c, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x0f, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x0f, 0x0f, 0x3f, 0xff, 0xff, 0xfe, 0xf0, 0xe0, 0x70, 0xd4, 0xec, 0xa0, 0xb8, 0xec, 0xa0, 0x90, 0x40, 0x80, 0xc0, 0x40, 0x84, 0xc0, 0xa8, 0xdf, 0xf0, 0xad, 0xff, 0xdd, 0xde, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x37, 0xcb, 0x10, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x03, 0x0e, 0x0b, 0x1f, 0x2f, 0x1e, 0x3f, 0x3f, 0x7f, 0x7c, 0xfe, 0xfc, 0xf8, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1a, 0xf4, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfb, 0xef, 0xff, 0xfe, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x3f, 0x3f, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x03, 0x01, 0x01, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x07, 0x2f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xee, 0x35, 0x3f, 0xbf, 0xbf, 0xff, 0xff, 0xf3, 0xff, 0xd3, 0x58, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0xc0, 0x70, 0x78, 0xf8, 0xf8, 0xee, 0xfe, 0xff, 0xbf, 0x5f, 0x7f, 0xfe, 0xff, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x18, 0x50, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x65, 0x7b, 0x3f, 0x9f, 0x7f, 0x3f, 0xfe, 0xff, 0xff, 0xfb, 0xfe, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xbf, 0xb5, 0x84, 0x04, 0x11, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x3b, 0xf8, 0x80, 0x03, 0x0f, 0x7e, 0xfc, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x71, 0xb0, 0x90, 0x1c, 0x74, 0x6c, 0xfc, 0xfa, 0xfc, 0xbf, 0xff, 0x7e, 0xff, 0xfa, 0xf0, 0xf0, 0x80, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x1f, 0x0f, 0x27, 0xf7, 0xf3, 0xf9, 0xfd, 0xf8, 0xf3, 0x1f, 0x09, 0x0b, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xc0, 0x00, 0xc0, 0x81, 0x21, 0x01, 0x01, 0xf1, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf0, 0xf0, 0xf0, 0xfe, 0xff, 0xff, 0xfe, 0x92, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0xc0, 0x80, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xfe, 0xfe, 0xfe, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xfe, 0xfe, 0xfc, 0xfe, 0xfd, 0x2f, 0x07, 0x27, 0x37, 0x2f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0xbf, 0x3f, 0x1f, 0x3e, 0x3e, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, + 0x3f, 0x1f, 0x1f, 0x0f, 0x80, 0xd0, 0xd0, 0x28, 0xe8, 0xd0, 0xe0, 0xf0, 0xf8, 0xc8, 0xf8, 0xf0, 0x8c, 0xa0, 0x88, 0x00, 0x8f, 0x06, 0x07, 0x0f, 0x0f, 0x0f, 0x8f, 0xc7, 0xfe, 0xf8, 0xfc, 0x78, 0xd4, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x07, 0x00, 0x03, 0x07, 0x87, 0xc3, 0x01, 0x03, 0x8f, 0x9f, 0xbf, 0xff, 0xff, 0xfc, 0xfc, 0xf8, 0xde, 0xe8, 0xfc, 0xd0, 0xe4, 0x70, 0xd8, 0x68, 0x24, 0xd0, 0xa0, 0xa0, 0x80, 0xa0, 0xd0, 0xf0, 0xf0, 0xec, 0xfa, 0xf9, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0xbf, 0x42, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x0a, 0x0b, 0x05, 0x1f, 0x1f, 0x3f, 0x7f, 0xff, 0x7f, 0x7f, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x12, 0x68, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfb, 0xee, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x01, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x06, 0x07, 0x0f, 0x0f, 0x1f, 0xbf, 0xff, 0x3f, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0xff, 0x7f, 0xff, 0xff, 0x7f, 0x36, 0x9b, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0x9b, 0xac, 0x30, 0x04, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, + 0xf0, 0xf8, 0xf0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x1c, 0x2e, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x14, 0x4e, 0x8f, 0xbf, 0xc7, 0xdf, 0xef, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x87, 0x6b, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x0c, 0x0c, 0x0c, 0x04, 0x07, 0x07, 0x07, 0x0f, 0x0b, 0x0f, 0x1f, 0xff, 0x81, 0x07, 0x07, 0x7f, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xc3, 0xd1, 0x50, 0x30, 0x20, 0xfc, 0x38, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0xe0, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x0c, 0x2f, 0x3c, 0x97, 0x8e, 0xcf, 0xe3, 0xf3, 0xf9, 0xff, 0x7f, 0x67, 0x3f, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xfd, + 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xfe, 0xf3, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x90, 0xa0, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xfe, 0x80, 0xdf, 0xff, 0xff, 0xfe, 0x37, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x07, 0x27, 0x67, 0x77, 0x6f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x3f, 0x1f, 0x1f, 0x3f, 0x1f, 0x3f, 0x3f, + 0x1f, 0x1f, 0x0f, 0x07, 0x00, 0x80, 0x20, 0x00, 0x60, 0x80, 0x80, 0x80, 0x80, 0x60, 0x80, 0xc0, 0x00, 0xa0, 0x80, 0x00, 0x19, 0x1a, 0x1f, 0x3d, 0x1e, 0x1c, 0x1c, 0xf8, 0xc0, 0xf0, 0xc0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x00, 0x07, 0x07, 0x07, 0x80, 0x03, 0x87, 0x1f, 0x7f, 0xff, 0xff, 0xfc, 0xf4, 0xe8, 0xe8, 0xf4, 0xf8, 0xe8, 0xfa, 0xe0, 0xb8, 0xe0, 0x44, 0x30, 0x90, 0x90, 0xc0, 0xe0, 0x90, 0x68, 0xec, 0x50, 0xe0, 0xd4, 0xb8, 0xe8, 0xf8, 0xa8, 0xea, 0xf9, 0xfc, 0xff, 0xfc, 0xec, 0xfe, 0xfd, 0xff, 0xfd, 0xff, 0x7e, 0xe3, 0x9c, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x12, 0x3b, 0x5f, 0x33, 0xfd, 0xfb, 0xfe, 0xf8, 0xfa, 0xf8, 0xe0, 0xe0, 0xc0, 0x80, 0xc0, 0x80, 0x40, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x9a, 0xac, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xef, 0xef, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x1e, 0x03, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0f, + 0x1f, 0x1f, 0x0f, 0x1f, 0x3f, 0x1f, 0x1e, 0x3f, 0x1e, 0x38, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x01, 0x0f, 0x17, 0x1f, 0x3f, 0xbf, 0xff, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x7f, 0xfd, 0x71, 0x41, 0x09, 0x47, 0x1b, 0x37, 0x9f, 0xcf, 0x8f, 0x07, 0x0f, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x18, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x01, 0x00, 0x03, 0x01, 0x00, 0x20, 0x8f, 0x8f, 0x57, 0x6f, 0xce, 0xf7, 0xe9, 0xea, 0x43, 0xfe, 0xf6, 0x45, 0xdb, 0xa7, 0xd7, 0xe7, 0xdf, 0x7b, 0x87, 0x84, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x80, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x81, 0xeb, 0xc1, 0x40, 0x18, 0x60, 0xdc, 0xf4, 0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xf8, 0xf0, 0xe8, 0x00, 0x01, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x06, 0x0c, 0x6f, 0x6d, 0x1f, 0xdf, 0xcf, 0xe3, 0xfb, 0xf1, 0xff, 0x7b, 0xff, 0x3f, 0x0f, 0x28, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0xf0, + 0xc0, 0x80, 0x80, 0xa0, 0x80, 0x70, 0xfd, 0xff, 0xfb, 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x60, 0x38, 0x30, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0x40, 0xf8, 0xfc, 0xfc, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xff, 0x7f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xf8, 0xf8, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfe, 0x7e, 0x7e, 0x3c, 0x40, 0x10, 0x00, 0xa0, 0x80, 0x20, 0x40, 0xc0, 0x80, 0x20, 0x80, 0x80, 0x00, 0xa0, 0x80, 0x42, 0x45, 0x7a, 0xe8, 0xfa, 0xfe, 0xf8, 0xe4, 0xf0, 0xc0, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x3f, 0x7f, 0x7f, 0x0f, 0x3f, 0x7f, 0x7f, 0x01, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf7, 0xeb, 0xff, 0xf3, 0xff, 0xef, 0xf7, 0xef, 0xf7, 0x9b, 0xe7, 0x98, 0xd1, 0xd0, 0xe8, 0xb4, 0xe9, 0xe6, 0xf8, 0xd6, 0xf8, 0xfa, 0xfa, 0xd9, 0xf1, 0xff, 0xf4, 0xf9, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x74, + 0x5b, 0x22, 0x00, 0x00, 0x00, 0x00, 0x60, 0x13, 0xf9, 0xfd, 0xfe, 0xff, 0xee, 0xfc, 0xe6, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x78, 0x94, 0xb4, 0x04, 0xf8, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6e, 0x1b, 0x15, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x03, 0x0f, 0x0f, 0x3f, 0x7f, 0x7f, 0xff, 0xfe, + 0xfe, 0xfc, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x0c, 0x27, 0x1f, 0x2f, 0x1f, 0x5f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xe7, 0xd1, 0x0f, 0x9f, 0x2f, 0x1f, 0xbf, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x05, 0x07, 0x07, 0x0f, 0x1f, 0x0f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x03, 0x07, 0x33, 0x07, 0x5f, 0x7f, 0x7e, 0xdf, 0xff, 0xfb, 0xff, 0x9d, 0xf7, 0xf4, 0xfe, 0xfc, 0x9f, 0xde, 0xff, 0xff, 0xfe, 0xbe, 0x1e, 0x44, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xe3, 0xc0, 0x28, 0x20, 0xf8, 0x4c, 0x74, 0x78, 0x7e, 0xfe, 0x7e, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xe0, 0x00, 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x00, 0x26, 0x36, 0x8f, 0xcf, 0xc3, 0xe3, 0xfb, 0xf9, 0xff, 0x9d, 0x0f, 0x7b, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc7, 0xeb, 0xff, 0xff, 0xcb, 0x82, + 0x00, 0x00, 0x00, 0xa0, 0xc0, 0xc8, 0xff, 0xff, 0xff, 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x70, 0x30, 0x30, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0xf0, 0xc0, 0xe0, 0xc0, 0xe1, 0xf7, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf4, 0xf4, 0xfc, 0xfe, 0xfc, 0xf8, 0xfc, 0xf8, 0xfc, + 0xfc, 0xfc, 0x7c, 0x08, 0x00, 0x20, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x40, 0x20, 0x80, 0xc0, 0x80, 0xc0, 0x40, 0x80, 0x41, 0x00, 0x68, 0xce, 0xd4, 0xf8, 0xf8, 0xf8, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3f, 0xff, 0xff, 0xfb, 0x1f, 0xff, 0xff, 0xff, 0x13, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xee, 0xee, 0xde, 0xef, 0xaf, 0xdf, 0xff, 0xff, 0xef, 0xe3, 0xdb, 0xf1, 0xd3, 0xb1, 0xe1, 0xd1, 0xed, 0xa1, 0xdb, 0xa5, 0xf3, 0xf4, 0xec, 0xc8, 0xf0, 0xf8, 0x5a, 0xf4, 0xfd, 0xf5, 0xfc, 0xff, 0xff, 0xfe, 0xff, 0xfd, 0xfd, 0xff, 0xfc, 0xf2, + 0x5e, 0xc0, 0x10, 0x00, 0x00, 0x00, 0x01, 0x83, 0xa3, 0xf5, 0x7c, 0xf5, 0xfc, 0xe2, 0xf4, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xe0, 0x98, 0x68, 0x50, 0x80, 0x71, 0xe7, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x03, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x0f, 0x0f, 0x3f, 0x7f, 0xff, 0xfd, 0xfc, 0xfc, + 0xf8, 0xe0, 0xd0, 0xc0, 0xc0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x01, 0x02, 0x01, 0x00, 0x0f, 0x05, 0x1f, 0x4b, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xeb, 0xeb, 0x01, 0x07, 0x1f, 0x2f, 0x3f, 0x7f, 0x5f, 0x7f, 0x1f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x0f, 0x07, 0x0f, 0x3f, 0x0f, 0x5f, 0xbe, 0x7c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x0f, 0x07, 0x07, 0x2f, 0x1f, 0x7f, 0xfd, 0x7f, 0xfb, 0xff, 0xa7, 0xff, 0xff, 0xf3, 0xf8, 0x9c, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfc, 0x7c, 0x9c, 0x94, 0x00, 0x08, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} + +}; diff --git a/keyboards/handwired/uthol/keymaps/oled/rules.mk b/keyboards/handwired/uthol/keymaps/oled/rules.mk new file mode 100644 index 000000000000..9bd2ec39f952 --- /dev/null +++ b/keyboards/handwired/uthol/keymaps/oled/rules.mk @@ -0,0 +1,3 @@ +OLED_ENABLE = yes +WPM_ENABLE = yes +SRC += helix.c diff --git a/keyboards/handwired/uthol/keymaps/oled/smiley.c b/keyboards/handwired/uthol/keymaps/oled/smiley.c new file mode 100644 index 000000000000..0e80475cf97b --- /dev/null +++ b/keyboards/handwired/uthol/keymaps/oled/smiley.c @@ -0,0 +1,98 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "progmem.h" + +static const char PROGMEM animation[][1024] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xfe, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, + 0x0e, 0xfe, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfa, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfa, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x03, 0x07, 0x7c, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1e, 0x3c, 0x38, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0x38, 0x3c, 0x1e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0xfe, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfe, 0xfe, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x26, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x07, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x0c, 0x0e, 0xfe, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0xff, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x7c, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf8, 0x7c, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x18, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1c, 0x38, 0x30, 0x60, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0x60, 0x30, 0x38, 0x1c, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x18, 0x04, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x0c, 0x18, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, + 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0xfe, 0xfe, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1f, 0xfc, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfc, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x18, 0x18, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1e, 0x3c, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x78, 0x3c, 0x1e, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x18, 0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x20, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0x0e, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x0e, 0x0e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x20, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x30, 0x18, 0x0c, 0x04, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x02, 0x00, 0x04, 0x0c, 0x18, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x10, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0xfe, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0xfe, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x10, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, + 0x1f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x3e, 0xfe, 0xf2, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0xf3, 0xff, 0x3f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x3c, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x3c, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x08, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18, 0x10, 0x30, 0x70, 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0x70, 0x30, 0x10, 0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x08, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x10, 0x30, 0x20, 0x00, 0x40, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x40, 0x00, 0x20, 0x30, 0x10, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x00, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x00, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x20, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, + 0x3f, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x3f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1e, 0x7f, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe1, 0x7f, 0x1e, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x20, 0x80, 0x00, 0x00, 0x00, 0x01, 0x06, 0x1c, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x20, 0x10, 0x1c, 0x06, 0x01, 0x00, 0x00, 0x00, 0x80, 0x20, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x20, 0x40, 0x80, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x00, 0x08, 0x08, 0x00, 0x00, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x00, 0x00, 0x08, 0x08, 0x00, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0xfe, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, + 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1f, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x06, 0x1f, 0xe3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xe1, 0x1f, 0x06, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x20, 0x40, 0x00, 0x01, 0x03, 0x03, 0x04, 0x18, 0x30, 0x20, 0x60, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x60, 0x20, 0x30, 0x18, 0x04, 0x03, 0x03, 0x01, 0x00, 0x40, 0x20, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x20, 0x10, 0x08, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x08, 0x10, 0x20, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xfc, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf8, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x0e, 0x0f, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x0f, + 0x0e, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00, 0x80, 0x80, 0x01, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x40, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0x40, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x01, 0x80, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x10, 0x10, 0x00, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x00, 0x10, 0x10, 0x08, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0x1f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x06, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3f, 0x00, 0x00, + 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x07, 0x1f, 0x30, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x30, 0x1f, 0x07, 0x00, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x03, 0x07, 0x06, 0x04, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x80, 0x00, 0x00, 0x00, 0x1c, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x01, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x01, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x07, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0xc0, 0xe0, 0x60, 0x30, 0x18, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x02, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x60, 0xe0, 0x80, 0x00, 0x00, 0x02, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x9f, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xe6, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe7, 0x0e, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x3f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1f, 0x3f, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0f, 0x0f, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0x07, 0x07, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x40, 0x00, 0x00, 0x00, 0x03, 0x06, 0x0c, 0x1c, 0x1c, 0x1c, 0x1c, 0x0c, 0x06, 0x03, 0x00, 0x00, 0x00, 0x40, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf8, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfe, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x7e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x60, 0x00, 0x00, 0x03, 0x38, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf8, 0x38, 0x03, 0x00, 0x00, 0x60, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0x80, 0x00, 0x00, 0x03, 0x07, 0x1e, 0x30, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0x30, 0x1e, 0x07, 0x03, 0x00, 0x00, 0x80, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} + +}; diff --git a/keyboards/handwired/uthol/keymaps/oled/star.c b/keyboards/handwired/uthol/keymaps/oled/star.c new file mode 100644 index 000000000000..a0152be680f9 --- /dev/null +++ b/keyboards/handwired/uthol/keymaps/oled/star.c @@ -0,0 +1,206 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "progmem.h" + +static const char PROGMEM animation[][1024] = { + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18, 0xff, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x0b, 0x0e, 0x0c, 0x18, 0x38, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0x78, 0x78, 0x38, 0x1c, 0x0c, 0x0b, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x30, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x70, 0xf0, 0x90, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x20, 0x18, 0xff, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x01, 0x03, 0x07, 0xff, 0x3f, 0x30, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0e, 0x0c, 0x18, 0xff, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x0b, 0x0f, 0x0c, 0x18, 0x38, 0x78, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0x78, 0x78, 0x18, 0x1c, 0x0c, 0x0b, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x30, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x70, 0xf0, 0x90, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x20, 0x18, 0xff, 0x0f, 0x03, 0x03, 0x00, 0x00, 0x01, 0x03, 0x07, 0xff, 0x3f, 0x30, 0x60, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x06, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x1c, 0x38, 0xff, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x1c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x0b, 0x0e, 0x1e, 0x1c, 0x38, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0x38, 0x3c, 0x1c, 0x0e, 0x0a, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x70, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x70, 0x70, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x30, 0x1c, 0xff, 0x0f, 0x07, 0x01, 0x01, 0x00, 0x01, 0x03, 0x07, 0xff, 0x3f, 0x30, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x1c, 0x58, 0xff, 0xf6, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x1c, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x19, 0x1b, 0x0e, 0x1e, 0x18, 0x3c, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0x78, 0x78, 0x3c, 0x1c, 0x1e, 0x0b, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x70, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x38, 0x70, 0xf0, 0x90, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x30, 0x1c, 0xff, 0x1f, 0x07, 0x03, 0x00, 0x00, 0x01, 0x03, 0x0f, 0xff, 0x3f, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0c, 0x78, 0xff, 0xf8, 0xe0, 0x80, 0x20, 0x20, 0x80, 0xc0, 0xf0, 0xfc, 0xfe, + 0x0c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x09, 0x0a, 0x1e, 0x3c, 0xbc, 0x3c, 0x78, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfc, 0xf8, 0x7c, 0x3c, 0x3c, 0x1c, 0x0a, 0x09, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x70, 0x70, 0x38, 0x39, 0x3c, 0x3e, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3c, 0x3c, 0x38, 0x78, 0x70, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x1e, 0xff, 0x1f, 0x0f, 0x03, 0x01, 0x01, 0x01, 0x07, 0x1f, 0x7f, 0x7f, 0x30, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0x78, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf8, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x18, 0x38, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0x78, 0x38, 0x18, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x01, 0x03, 0x07, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x2c, 0xb8, 0xff, 0xfc, 0xe8, 0x80, 0x00, 0x00, 0x80, 0xc8, 0xf8, 0xff, 0xf8, + 0x3c, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x09, 0x1b, 0x3e, 0x1c, 0x3e, 0x38, 0x7c, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0x78, 0x38, 0x1e, 0x1e, 0x1a, 0x09, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x90, 0xd0, 0x7c, 0x78, 0x78, 0x3c, 0x3e, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x7a, 0x70, 0xf8, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x38, 0x18, 0xff, 0x3f, 0x07, 0x03, 0x01, 0x00, 0x09, 0x03, 0x2f, 0xff, 0x3f, 0x38, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x04, 0x78, 0xff, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x1c, 0x06, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x0b, 0x0c, 0x1c, 0x1c, 0x3c, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0x78, 0x3c, 0x1c, 0x0f, 0x0b, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x70, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x38, 0x70, 0x70, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x50, 0x30, 0x1c, 0xff, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x01, 0x03, 0x0f, 0xff, 0x3f, 0x30, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18, 0xff, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x0c, 0x06, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x0b, 0x0f, 0x0c, 0x18, 0x38, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0x78, 0x78, 0x38, 0x1c, 0x0c, 0x0b, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x30, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x70, 0xf0, 0x90, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x20, 0x18, 0xff, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x01, 0x03, 0x07, 0xff, 0x3f, 0x30, 0x60, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x06, 0x0c, 0x18, 0xff, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x0b, 0x0e, 0x1c, 0x18, 0x38, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0x78, 0x38, 0x38, 0x1c, 0x0e, 0x0a, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x30, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x70, 0x70, 0x90, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x30, 0x18, 0xff, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x01, 0x03, 0x07, 0xff, 0x3f, 0x30, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x06, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x06, 0x0c, 0x18, 0xff, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x0b, 0x0e, 0x1c, 0x18, 0x38, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0x78, 0x38, 0x38, 0x1c, 0x0e, 0x0a, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x30, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x70, 0xf0, 0x90, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x30, 0x18, 0xff, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x01, 0x03, 0x07, 0xff, 0x3f, 0x30, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x06, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x60, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01, 0x07, 0x06, 0x0c, 0x38, 0xff, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x0b, 0x0e, 0x1c, 0x1c, 0x38, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0x38, 0x38, 0x1c, 0x0c, 0x0a, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x30, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x70, 0x70, 0xf0, 0x90, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x20, 0x18, 0xff, 0x0f, 0x07, 0x01, 0x01, 0x00, 0x01, 0x03, 0x07, 0xff, 0x3f, 0x38, 0x60, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x06, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18, 0xff, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x0c, 0x06, 0x03, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x0b, 0x0e, 0x1c, 0x18, 0x38, 0x78, 0xf8, 0xfa, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0x78, 0x38, 0x1c, 0x0c, 0x0b, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x30, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x30, 0xf0, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x02, 0x03, 0x01, 0x00, 0x00, 0x08, 0x00, 0x80, 0x80, 0x60, 0x20, 0x18, 0xff, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x01, 0x03, 0x07, 0xff, 0x3f, 0x20, 0x60, 0xe0, 0x82, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x04, 0x58, 0xff, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x1c, 0x06, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x18, 0x08, 0x09, 0x1b, 0x0c, 0x1c, 0x38, 0x3c, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0x78, 0x7c, 0x3c, 0x1c, 0x0f, 0x0b, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x70, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x38, 0x70, 0xf0, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x70, 0x30, 0x1e, 0xff, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x01, 0x03, 0x0f, 0xff, 0x3f, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0e, 0x0c, 0x38, 0xff, 0xff, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x0c, 0x0e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x18, 0x19, 0x1b, 0x1f, 0x1c, 0x1c, 0x3c, 0x78, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0x7c, 0x3c, 0x1c, 0x1e, 0x1b, 0x19, 0x18, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x98, 0xd0, 0xf0, 0x30, 0x78, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x78, 0x70, 0xf0, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x30, 0x1e, 0xff, 0x7f, 0x07, 0x03, 0x01, 0x00, 0x01, 0x03, 0x2f, 0xff, 0x3f, 0x38, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x1c, 0xb8, 0xff, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xf8, 0xfe, 0xfe, + 0x1c, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x09, 0x0a, 0x1e, 0x1e, 0x3c, 0x38, 0x7c, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xfc, 0x78, 0x3a, 0x1c, 0x1e, 0x1a, 0x09, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xb0, 0xf0, 0x78, 0x78, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x3c, 0x38, 0x78, 0x70, 0x90, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x34, 0x19, 0xff, 0x3f, 0x07, 0x03, 0x01, 0x00, 0x01, 0x07, 0x1f, 0x7f, 0xff, 0x30, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfc, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0c, 0x08, 0x18, 0x38, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0x78, 0x38, 0x38, 0x18, 0x0c, 0x0a, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x30, 0x30, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x7f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x01, 0x03, 0x07, 0x7f, 0x3f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0xfc, 0xf8, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0x78, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0x3c, 0x1e, 0x1e, 0x1e, 0x1e, 0x3c, 0xfc, 0xf8, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x3f, 0x3f, 0x7c, 0x78, 0x78, 0x78, 0x78, 0x7c, 0x3f, 0x3f, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x1c, 0x78, 0xff, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xf8, 0xfe, 0xf8, + 0x5c, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x09, 0x0a, 0x1e, 0x1e, 0x3c, 0x3c, 0x78, 0xf8, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0x7c, 0x3c, 0x1c, 0x1e, 0x1a, 0x09, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xd0, 0x78, 0x78, 0x38, 0x7c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x3c, 0x38, 0x70, 0xf0, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x30, 0x1e, 0xff, 0x3f, 0x07, 0x03, 0x01, 0x00, 0x01, 0x07, 0x0f, 0xff, 0x3f, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x04, 0x38, 0xff, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xff, 0xf8, + 0x1c, 0x06, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x0b, 0x0c, 0x1c, 0x1c, 0x38, 0x78, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0x78, 0x38, 0x3c, 0x1c, 0x0e, 0x0a, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x90, 0xd0, 0x70, 0x70, 0x38, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3e, 0x3c, 0x38, 0x38, 0x70, 0xf0, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x30, 0x1c, 0xff, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x01, 0x03, 0x0f, 0xff, 0x3f, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} + +}; diff --git a/keyboards/handwired/uthol/readme.md b/keyboards/handwired/uthol/readme.md new file mode 100644 index 000000000000..c4eb3e51ca51 --- /dev/null +++ b/keyboards/handwired/uthol/readme.md @@ -0,0 +1,27 @@ +# Uthol + +![Uthol](https://i.imgur.com/weFwdhfh.jpeg) + +A handwired 50% (12x5) ortholinear keyboard made by Uthol + +* Keyboard Maintainer: [Uthol](https://github.com/Uthol) +* Hardware Supported: Pro Micro ATMega32u4, Blackpill STM32F4x1 +* Hardware Availability: [Pro Micro](https://www.sparkfun.com/products/12640), [Blackpill STM32F4x1 ](https://www.aliexpress.com/item/1005001456186625.html) + +Make example for this keyboard (after setting up your build environment): + + make handwired/uthol/rev2:default + +Flashing example for this keyboard: + + make handwired/uthol/rev2:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard +* **Physical reset button**: On the Pro Micro, short the `GND` and `RST` pins. On the Blackpill, press `BOOT0` key and the `RST` key, then release the `RST` key, and release the `BOOT0` key +* **Keycode in layout**: Press the key mapped to `Settings + Backspace` diff --git a/keyboards/handwired/uthol/rev1/config.h b/keyboards/handwired/uthol/rev1/config.h new file mode 100644 index 000000000000..dbda8e90edc9 --- /dev/null +++ b/keyboards/handwired/uthol/rev1/config.h @@ -0,0 +1,29 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +#define DEVICE_VER 0x0001 +#define PRODUCT_ID 0x67F3 +#define PRODUCT UtholOne + +/* Uthol PCB default pin-out */ +#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 } +#define MATRIX_COL_PINS { D3, B6, B2, B3, B1, F7, F6, F5, F4, B5, B4, D2 } +#define UNUSED_PINS diff --git a/keyboards/handwired/uthol/rev1/readme.md b/keyboards/handwired/uthol/rev1/readme.md new file mode 100644 index 000000000000..6f5ddfead351 --- /dev/null +++ b/keyboards/handwired/uthol/rev1/readme.md @@ -0,0 +1,4 @@ +Uthol +=== + +Rev 1 - Aluminum diff --git a/keyboards/handwired/uthol/rev1/rules.mk b/keyboards/handwired/uthol/rev1/rules.mk new file mode 100644 index 000000000000..0da1dde9cb19 --- /dev/null +++ b/keyboards/handwired/uthol/rev1/rules.mk @@ -0,0 +1,13 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes +EXTRAKEY_ENABLE = yes +NKRO_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/handwired/uthol/rev2/config.h b/keyboards/handwired/uthol/rev2/config.h new file mode 100644 index 000000000000..3ef6fc172cc6 --- /dev/null +++ b/keyboards/handwired/uthol/rev2/config.h @@ -0,0 +1,35 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +#define DEVICE_VER 0x0002 +#define PRODUCT_ID 0x67F3 +#define PRODUCT UtholTwo + +/* Uthol PCB default pin-out */ +#define MATRIX_ROW_PINS { B1, F7, F6, F5, F4 } +#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, B5, B4, B6, B2, B3 } +#define UNUSED_PINS + +//RGB Stuff +#define RGB_DI_PIN E6 +#define RGBLED_NUM 39 +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_DEFAULT_HUE 201 diff --git a/keyboards/handwired/uthol/rev2/readme.md b/keyboards/handwired/uthol/rev2/readme.md new file mode 100644 index 000000000000..080e02d31070 --- /dev/null +++ b/keyboards/handwired/uthol/rev2/readme.md @@ -0,0 +1,4 @@ +Uthol +=== + +Rev 2 - Standard diff --git a/keyboards/handwired/uthol/rev2/rules.mk b/keyboards/handwired/uthol/rev2/rules.mk new file mode 100644 index 000000000000..63476766fde7 --- /dev/null +++ b/keyboards/handwired/uthol/rev2/rules.mk @@ -0,0 +1,15 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes +EXTRAKEY_ENABLE = yes +NKRO_ENABLE = yes +LTO_ENABLE = yes +RGBLIGHT_ENABLE = yes +RGBLIGHT_DRIVER = WS2812 diff --git a/keyboards/handwired/uthol/rev3/chconf.h b/keyboards/handwired/uthol/rev3/chconf.h new file mode 100644 index 000000000000..e4147c75b1a1 --- /dev/null +++ b/keyboards/handwired/uthol/rev3/chconf.h @@ -0,0 +1,34 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE + +#define CH_CFG_FACTORY_SEMAPHORES TRUE + +#define CH_CFG_FACTORY_MAILBOXES TRUE + +#define CH_CFG_FACTORY_OBJ_FIFOS TRUE + +#define CH_CFG_FACTORY_PIPES TRUE + +#include_next diff --git a/keyboards/handwired/uthol/rev3/config.h b/keyboards/handwired/uthol/rev3/config.h new file mode 100644 index 000000000000..47f079e612dd --- /dev/null +++ b/keyboards/handwired/uthol/rev3/config.h @@ -0,0 +1,69 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +#define DEVICE_VER 0x0003 +#define PRODUCT_ID 0x67F3 +#define PRODUCT UtholThree + +/* key matrix size */ +// A11 and A12 dont work. They are reserved for USB. B2 is reserved for BOOT1 +#define MATRIX_COL_PINS \ + { B1, B10, B9, B8, B5, B4, B3, A15, B15, B14, B13, B12 } +#define MATRIX_ROW_PINS \ + { A4, A3, A2, A1, A0 } + +#define UNUSED_PINS + +// Encoder config +#define ENCODERS_PAD_A \ + { C15 } +#define ENCODERS_PAD_B \ + { C14 } +#define ENCODER_RESOLUTION 2 + +// OLED config +#define OLED_DISPLAY_128X64 +#define OLED_DISPLAY_WIDTH 128 +#define OLED_DISPLAY_HEIGHT 64 +#define OLED_UPDATE_INTERVAL 0 +#define OLED_BRIGHTNESS 255 +#define OLED_DISPLAY_ADDRESS 0x3C +#define OLED_RESET -1 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define TAPPING_TERM 500 + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +// RGB Stuff +#define RGB_DI_PIN B0 +#define RGBLED_NUM 39 +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_DEFAULT_HUE 201 diff --git a/keyboards/handwired/uthol/rev3/halconf.h b/keyboards/handwired/uthol/rev3/halconf.h new file mode 100644 index 000000000000..47e02bc102f6 --- /dev/null +++ b/keyboards/handwired/uthol/rev3/halconf.h @@ -0,0 +1,24 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/handwired/uthol/rev3/mcuconf.h b/keyboards/handwired/uthol/rev3/mcuconf.h new file mode 100644 index 000000000000..24fb0ef3a571 --- /dev/null +++ b/keyboards/handwired/uthol/rev3/mcuconf.h @@ -0,0 +1,25 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include_next "mcuconf.h" + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_TIM5 +#define STM32_PWM_USE_TIM5 TRUE diff --git a/keyboards/handwired/uthol/rev3/readme.md b/keyboards/handwired/uthol/rev3/readme.md new file mode 100644 index 000000000000..6b6897ef4453 --- /dev/null +++ b/keyboards/handwired/uthol/rev3/readme.md @@ -0,0 +1,4 @@ +Uthol +=== + +Rev 3 - Blackpill diff --git a/keyboards/handwired/uthol/rev3/rev3.c b/keyboards/handwired/uthol/rev3/rev3.c new file mode 100644 index 000000000000..2ababdfbe86e --- /dev/null +++ b/keyboards/handwired/uthol/rev3/rev3.c @@ -0,0 +1,20 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +void board_init(void) { setPinInputHigh(B9); } diff --git a/keyboards/handwired/uthol/rev3/rules.mk b/keyboards/handwired/uthol/rev3/rules.mk new file mode 100644 index 000000000000..b64e4ec8d1b4 --- /dev/null +++ b/keyboards/handwired/uthol/rev3/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = STM32F401 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes +NKRO_ENABLE = yes +KEYBOARD_SHARED_EP = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +WPM_ENABLE = yes +EXTRAKEY_ENABLE = yes +ENCODER_ENABLE = yes +RGBLIGHT_ENABLE = yes +RGBLIGHT_DRIVER = WS2812 diff --git a/keyboards/handwired/uthol/uthol.c b/keyboards/handwired/uthol/uthol.c new file mode 100644 index 000000000000..2b02e899d4a7 --- /dev/null +++ b/keyboards/handwired/uthol/uthol.c @@ -0,0 +1,18 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "uthol.h" diff --git a/keyboards/handwired/uthol/uthol.h b/keyboards/handwired/uthol/uthol.h new file mode 100644 index 000000000000..a774fdb940d3 --- /dev/null +++ b/keyboards/handwired/uthol/uthol.h @@ -0,0 +1,45 @@ +/* + * Copyright 2022 Uthol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/************************************************** +** Include headers specific to keyboard revision ** +**************************************************/ +#if defined(KEYBOARD_uthol_rev1) +# include "rev1.h" +#elif defined(KEYBOARD_uthol_rev2) +# include "rev2.h" +#elif defined(KEYBOARD_uthol_rev2) +# include "rev3.h" +#endif + +#define LAYOUT_uthol( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \ + k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \ + { k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \ +} From ec3df85f08edf2636599edb96f358004ee020c86 Mon Sep 17 00:00:00 2001 From: TerryMathews Date: Mon, 7 Mar 2022 22:39:33 -0500 Subject: [PATCH 0312/1832] [Keyboard] TKC Portico68 v2 (#15916) Co-authored-by: Ryan --- keyboards/tkc/portico68v2/config.h | 106 +++++++++++++ keyboards/tkc/portico68v2/info.json | 82 ++++++++++ .../tkc/portico68v2/keymaps/default/keymap.c | 35 +++++ .../tkc/portico68v2/keymaps/via/config.h | 19 +++ .../tkc/portico68v2/keymaps/via/keymap.c | 121 +++++++++++++++ .../tkc/portico68v2/keymaps/via/rules.mk | 1 + keyboards/tkc/portico68v2/portico68v2.c | 145 ++++++++++++++++++ keyboards/tkc/portico68v2/portico68v2.h | 36 +++++ keyboards/tkc/portico68v2/readme.md | 21 +++ keyboards/tkc/portico68v2/rules.mk | 21 +++ 10 files changed, 587 insertions(+) create mode 100644 keyboards/tkc/portico68v2/config.h create mode 100644 keyboards/tkc/portico68v2/info.json create mode 100644 keyboards/tkc/portico68v2/keymaps/default/keymap.c create mode 100644 keyboards/tkc/portico68v2/keymaps/via/config.h create mode 100644 keyboards/tkc/portico68v2/keymaps/via/keymap.c create mode 100644 keyboards/tkc/portico68v2/keymaps/via/rules.mk create mode 100644 keyboards/tkc/portico68v2/portico68v2.c create mode 100644 keyboards/tkc/portico68v2/portico68v2.h create mode 100644 keyboards/tkc/portico68v2/readme.md create mode 100644 keyboards/tkc/portico68v2/rules.mk diff --git a/keyboards/tkc/portico68v2/config.h b/keyboards/tkc/portico68v2/config.h new file mode 100644 index 000000000000..af0a162810f0 --- /dev/null +++ b/keyboards/tkc/portico68v2/config.h @@ -0,0 +1,106 @@ +/* +Copyright 2022 Terry Mathews + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x544B //TK +#define PRODUCT_ID 0x0012 //Portico68v2 +#define DEVICE_VER 0x0001 +#define MANUFACTURER TKC +#define PRODUCT Portico68v2 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +#define MATRIX_ROW_PINS { B6, C6, C7, F7, D2 } +#define MATRIX_COL_PINS { D3, D5, D4, D6, D7, B4, B5, F6, F5, F4, F1, B0, B1, B2, B3 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 3 + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#define DRIVER_ADDR_1 0b0110000 +#define DRIVER_COUNT 1 +#define DRIVER_1_LED_TOTAL 82 +#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define DRIVER_INDICATOR_LED_TOTAL 0 +#define RGB_MATRIX_CENTER { 116, 32 } +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175 +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define RGB_DISABLE_WHEN_USB_SUSPENDED +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_BAND_SAT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_DUAL_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_RAINDROPS +# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +# define ENABLE_RGB_MATRIX_HUE_BREATHING +# define ENABLE_RGB_MATRIX_HUE_PENDULUM +# define ENABLE_RGB_MATRIX_HUE_WAVE +# define ENABLE_RGB_MATRIX_PIXEL_RAIN +# define ENABLE_RGB_MATRIX_PIXEL_FLOW +# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_SPLASH +# define ENABLE_RGB_MATRIX_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_SPLASH +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + +// #define RGB_MATRIX_LED_PROCESS_LIMIT 5 +// #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/tkc/portico68v2/info.json b/keyboards/tkc/portico68v2/info.json new file mode 100644 index 000000000000..d3ea7cb26436 --- /dev/null +++ b/keyboards/tkc/portico68v2/info.json @@ -0,0 +1,82 @@ +{ + "keyboard_name": "TKC Portico68 v2", + "url": "", + "maintainer": "TerryMathews", + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Home", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"", "x":14, "y":3}, + {"label":"End", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"label":"Fn", "x":10, "y":4, "w":1.25}, + {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, + {"label":"", "x":13, "y":4}, + {"label":"", "x":14, "y":4}, + {"label":"", "x":15, "y":4} + ] + } + } +} diff --git a/keyboards/tkc/portico68v2/keymaps/default/keymap.c b/keyboards/tkc/portico68v2/keymaps/default/keymap.c new file mode 100644 index 000000000000..d8ecbe1c0a43 --- /dev/null +++ b/keyboards/tkc/portico68v2/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2022 Terry Mathews + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi_blocker( + 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, KC_DEL, KC_HOME, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + KC_CAPS, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, + KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, + _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; diff --git a/keyboards/tkc/portico68v2/keymaps/via/config.h b/keyboards/tkc/portico68v2/keymaps/via/config.h new file mode 100644 index 000000000000..39b11550cf16 --- /dev/null +++ b/keyboards/tkc/portico68v2/keymaps/via/config.h @@ -0,0 +1,19 @@ +/* +Copyright 2022 Terry Mathews + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once +#define VIA_CUSTOM_LIGHTING_ENABLE diff --git a/keyboards/tkc/portico68v2/keymaps/via/keymap.c b/keyboards/tkc/portico68v2/keymaps/via/keymap.c new file mode 100644 index 000000000000..b8fd68f6251b --- /dev/null +++ b/keyboards/tkc/portico68v2/keymaps/via/keymap.c @@ -0,0 +1,121 @@ +/* +Copyright 2022 Terry Mathews + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi_blocker( + 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, KC_DEL, KC_HOME, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + KC_CAPS, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, + KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, + _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + [2] = LAYOUT_65_ansi_blocker( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_65_ansi_blocker( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +void via_qmk_rgblight_get_value(uint8_t *data) { + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + switch (*value_id) { + case id_qmk_rgblight_brightness: { + value_data[0] = rgb_matrix_get_val(); + break; + } + case id_qmk_rgblight_effect: { + value_data[0] = rgb_matrix_get_flags() ? rgb_matrix_get_mode() : 0; + break; + } + case id_qmk_rgblight_effect_speed: { + value_data[0] = rgb_matrix_get_speed(); + break; + } + case id_qmk_rgblight_color: { + value_data[0] = rgb_matrix_get_hue(); + value_data[1] = rgb_matrix_get_sat(); + break; + } + } +} + +void via_qmk_rgblight_set_value(uint8_t *data) { + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + switch (*value_id) { + case id_qmk_rgblight_brightness: { + rgb_matrix_sethsv_noeeprom(rgblight_get_hue(), rgblight_get_sat(), value_data[0]); + break; + } + case id_qmk_rgblight_effect: { + if (value_data[0] == 0) { + rgb_matrix_set_flags(LED_FLAG_NONE); + } else { + rgb_matrix_mode_noeeprom(value_data[0]); + rgb_matrix_set_flags(LED_FLAG_MODIFIER|LED_FLAG_UNDERGLOW|LED_FLAG_KEYLIGHT); + } + break; + } + case id_qmk_rgblight_effect_speed: { + rgb_matrix_set_speed_noeeprom(value_data[0]); + break; + } + case id_qmk_rgblight_color: { + rgb_matrix_sethsv_noeeprom(value_data[0], value_data[1], rgblight_get_val()); + break; + } + } +} + +void raw_hid_receive_kb(uint8_t *data, uint8_t length) { + uint8_t *command_id = &(data[0]); + uint8_t *command_data = &(data[1]); + switch (*command_id) { + case id_lighting_set_value: + via_qmk_rgblight_set_value(command_data); + break; + case id_lighting_get_value: + via_qmk_rgblight_get_value(command_data); + break; + case id_lighting_save: + eeconfig_update_rgb_matrix(); + break; + default: + // Unhandled message. + *command_id = id_unhandled; + break; + } +} diff --git a/keyboards/tkc/portico68v2/keymaps/via/rules.mk b/keyboards/tkc/portico68v2/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/tkc/portico68v2/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/tkc/portico68v2/portico68v2.c b/keyboards/tkc/portico68v2/portico68v2.c new file mode 100644 index 000000000000..8e98034ca5ca --- /dev/null +++ b/keyboards/tkc/portico68v2/portico68v2.c @@ -0,0 +1,145 @@ +/* +Copyright 2022 Terry Mathews + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "portico68v2.h" + +#ifdef RGB_MATRIX_ENABLE +const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { + {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB1 */ + {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB2 */ + {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB3 */ + {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB4 */ + {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB5 */ + {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB6 */ + {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB7 */ + {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB8 */ + {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB9 */ + {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB10 */ + {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB11 */ + {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB12 */ + {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB13 */ + {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB14 */ + {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB15 */ + {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB16 */ + {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB17 */ + {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB18 */ + {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB19 */ + {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB20 */ + {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB21 */ + {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB22 */ + {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB23 */ + {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB24 */ + {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB25 */ + {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB26 */ + {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB27 */ + {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB28 */ + {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB29 */ + {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB30 */ + {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB31 */ + {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB32 */ + {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB33 */ + {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB34 */ + {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB35 */ + {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB36 */ + {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB37 */ + {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB38 */ + {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB39 */ + {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB40 */ + {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB41 */ + {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB42 */ + {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB43 */ + {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB44 */ + {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB45 */ + {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB46 */ + {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB47 */ + {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB48 */ + {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB49 */ + {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB50 */ + {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB51 */ + {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB52 */ + {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB53 */ + {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB54 */ + {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB55 */ + {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB56 */ + {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB57 */ + {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB58 */ + {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB59 */ + {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB60 */ + {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB61 */ + {0, CS6_SW7, CS5_SW7, CS4_SW7}, /* RGB62 */ + {0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB63 */ + {0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB64 */ + {0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB65 */ + {0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB66 */ + {0, CS33_SW6, CS32_SW6, CS31_SW6}, /* RGB67 */ + + {0,CS36_SW1,CS35_SW1,CS34_SW1}, /* RGB68 */ + {0,CS36_SW2,CS35_SW2,CS34_SW2}, /* RGB69 */ + {0,CS36_SW3,CS35_SW3,CS34_SW3}, /* RGB70 */ + {0,CS36_SW4,CS35_SW4,CS34_SW4}, /* RGB71 */ + {0,CS36_SW5,CS35_SW5,CS34_SW5}, /* RGB72 */ + {0,CS36_SW6,CS35_SW6,CS34_SW6}, /* RGB73 */ + {0,CS36_SW7,CS35_SW7,CS34_SW7}, /* RGB74 */ + {0,CS36_SW8,CS35_SW8,CS34_SW8}, /* RGB75 */ + {0,CS36_SW9,CS35_SW9,CS34_SW9}, /* RGB76 */ + {0,CS39_SW1,CS38_SW1,CS37_SW1}, /* RGB77 */ + {0,CS39_SW2,CS38_SW2,CS37_SW2}, /* RGB78 */ + {0,CS39_SW3,CS38_SW3,CS37_SW3}, /* RGB79 */ + {0,CS39_SW4,CS38_SW4,CS37_SW4}, /* RGB80 */ + {0,CS39_SW5,CS38_SW5,CS37_SW5}, /* RGB81 */ + {0,CS39_SW6,CS38_SW6,CS37_SW6}, /* RGB82 */ +}; + +led_config_t g_led_config = { + { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, NO_LED, 43 }, + { 44, NO_LED, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66 } + }, { + { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 203, 0 }, { 224, 0 }, + { 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 }, + { 6, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 201, 32 }, { 224, 32 }, + { 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 }, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 152, 64 }, { 171, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }, + {0,0},{180,0},{224,0},{200,64},{224,64},{224,32},{44,0},{88,0},{136,0},{0,32},{0,64},{24,64},{78,64},{112,64},{146,64} +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + } +}; + +void rgb_matrix_indicators_kb(void) { + if (host_keyboard_led_state().caps_lock) { + for (uint8_t i = 0; i < DRIVER_1_LED_TOTAL; i++) { + rgb_matrix_set_color(i, 0xFF, 0xFF, 0xFF); + } + } + else { + if (rgb_matrix_get_flags() == LED_FLAG_NONE) { + for (uint8_t i = 0; i < DRIVER_1_LED_TOTAL; i++) { + rgb_matrix_set_color(i, 0, 0, 0); + } + } + } +} +#endif diff --git a/keyboards/tkc/portico68v2/portico68v2.h b/keyboards/tkc/portico68v2/portico68v2.h new file mode 100644 index 000000000000..3cbe46d560b1 --- /dev/null +++ b/keyboards/tkc/portico68v2/portico68v2.h @@ -0,0 +1,36 @@ +/* +Copyright 2022 Terry Mathews + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_65_ansi_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E,\ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E,\ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E,\ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E } \ +} diff --git a/keyboards/tkc/portico68v2/readme.md b/keyboards/tkc/portico68v2/readme.md new file mode 100644 index 000000000000..df031fabe847 --- /dev/null +++ b/keyboards/tkc/portico68v2/readme.md @@ -0,0 +1,21 @@ +# TKC Portico68 v2 + +![TKC Portico68](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/tkc/portico/portico-clear_overhead_1024x1024.webp) + +A 65% keyboard kit with per-key and underglow RGB lighting. + +* Keyboard Maintainer: [TerryMathews](https://github.com/TerryMathews) +* Hardware Supported: TKC Portico (ATmega32U4) +* Hardware Availability: [TheKey.Company](https://thekey.company/products/portico-keyboard) + +Reset board into bootloader by holding down Esc key while plugging in USB-C cable. + +Make example for this keyboard (after setting up your build environment): + + make tkc/portico68v2:default + +Flashing example for this keyboard: + + make tkc/portico68v2:default:flash + +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/tkc/portico68v2/rules.mk b/keyboards/tkc/portico68v2/rules.mk new file mode 100644 index 000000000000..f8e7ced98161 --- /dev/null +++ b/keyboards/tkc/portico68v2/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes # Compile-time optimizations +RGB_MATRIX_ENABLE = yes # Use RGB matrix +RGB_MATRIX_DRIVER = IS31FL3741 \ No newline at end of file From 86966fce69369fe4f82efcab9540805b26632967 Mon Sep 17 00:00:00 2001 From: Beanaccle <25994266+Beanaccle@users.noreply.github.com> Date: Tue, 8 Mar 2022 12:40:46 +0900 Subject: [PATCH 0313/1832] [Keyboard] Add KB58 (#15896) Co-authored-by: Drashna Jaelre --- keyboards/kb58/config.h | 154 ++++++++++++++++++++++++ keyboards/kb58/info.json | 73 +++++++++++ keyboards/kb58/kb58.c | 17 +++ keyboards/kb58/kb58.h | 46 +++++++ keyboards/kb58/keymaps/default/keymap.c | 40 ++++++ keyboards/kb58/readme.md | 23 ++++ keyboards/kb58/rules.mk | 20 +++ 7 files changed, 373 insertions(+) create mode 100644 keyboards/kb58/config.h create mode 100644 keyboards/kb58/info.json create mode 100644 keyboards/kb58/kb58.c create mode 100644 keyboards/kb58/kb58.h create mode 100644 keyboards/kb58/keymaps/default/keymap.c create mode 100644 keyboards/kb58/readme.md create mode 100644 keyboards/kb58/rules.mk diff --git a/keyboards/kb58/config.h b/keyboards/kb58/config.h new file mode 100644 index 000000000000..9b8216e75b94 --- /dev/null +++ b/keyboards/kb58/config.h @@ -0,0 +1,154 @@ +/* +Copyright 2021 beanaccle + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER beanaccle +#define PRODUCT kb58 + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 7 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F4, B6, E6, B4, B5 } +#define MATRIX_COL_PINS { F5, F6, F7, B1, D7, D4, D0 } +#define MATRIX_ROW_PINS_RIGHT { F7, B5, B3, B2, B6 } +#define MATRIX_COL_PINS_RIGHT { F6, B1, E6, D7, C6, D4, D0 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D2 // or D0, D1, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kb58/info.json b/keyboards/kb58/info.json new file mode 100644 index 000000000000..5114eec6aeae --- /dev/null +++ b/keyboards/kb58/info.json @@ -0,0 +1,73 @@ +{ + "keyboard_name": "KB58", + "url": "https://github.com/beanaccle/kb58_pico", + "maintainer": "beanaccle", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"0", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + + {"label":"Tab", "x":0, "y":1}, + {"label":"Q", "x":1, "y":1}, + {"label":"W", "x":2, "y":1}, + {"label":"E", "x":3, "y":1}, + {"label":"R", "x":4, "y":1}, + {"label":"T", "x":5, "y":1}, + {"label":"Y", "x":6, "y":1}, + {"label":"U", "x":7, "y":1}, + {"label":"I", "x":8, "y":1}, + {"label":"O", "x":9, "y":1}, + {"label":"P", "x":10, "y":1}, + {"label":"[", "x":11, "y":1}, + {"label":"]", "x":12, "y":1}, + + {"label":"Control", "x":0, "y":2}, + {"label":"A", "x":1, "y":2}, + {"label":"S", "x":2, "y":2}, + {"label":"D", "x":3, "y":2}, + {"label":"F", "x":4, "y":2}, + {"label":"G", "x":5, "y":2}, + {"label":"H", "x":6, "y":2}, + {"label":"J", "x":7, "y":2}, + {"label":"K", "x":8, "y":2}, + {"label":"L", "x":9, "y":2}, + {"label":";", "x":10, "y":2}, + {"label":"'", "x":11, "y":2}, + {"label":"Enter", "x":12, "y":2}, + + {"label":"Shift", "x":0, "y":3}, + {"label":"Z", "x":1, "y":3}, + {"label":"X", "x":2, "y":3}, + {"label":"C", "x":3, "y":3}, + {"label":"Y", "x":4, "y":3}, + {"label":"B", "x":5, "y":3}, + {"label":"N", "x":6, "y":3}, + {"label":"M", "x":7, "y":3}, + {"label":",", "x":8, "y":3}, + {"label":".", "x":9, "y":3}, + {"label":"/", "x":10, "y":3}, + {"label":"\\", "x":11, "y":3}, + {"label":"Shift", "x":12, "y":3}, + + {"label":"Alt", "x":3, "y":4}, + {"label":"GUI", "x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"label":"Fn", "x":7, "y":4}, + {"label":"Delete", "x":8, "y":4} + ] + } + } +} diff --git a/keyboards/kb58/kb58.c b/keyboards/kb58/kb58.c new file mode 100644 index 000000000000..5d189fa32160 --- /dev/null +++ b/keyboards/kb58/kb58.c @@ -0,0 +1,17 @@ +/* Copyright 2021 beanaccle + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "kb58.h" diff --git a/keyboards/kb58/kb58.h b/keyboards/kb58/kb58.h new file mode 100644 index 000000000000..d936215ae869 --- /dev/null +++ b/keyboards/kb58/kb58.h @@ -0,0 +1,46 @@ +/* Copyright 2021 beanaccle + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, R06, \ + L06, L07, L08, L09, L10, L11, R07, R08, R09, R10, R11, R12, R13, \ + L12, L13, L14, L15, L16, L17, R14, R15, R16, R17, R18, R19, R20, \ + L18, L19, L20, L21, L22, L23, R21, R22, R23, R24, R25, R26, R27, \ + L24, L25, L26, R28, R29, R30 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L06, L07, L08, L09, L10, L11 }, \ + { L12, L13, L14, L15, L16, L17 }, \ + { L18, L19, L20, L21, L22, L23 }, \ + { KC_NO, KC_NO, KC_NO, L24, L25, L26 }, \ + { R00, R01, R02, R03, R04, R05, R06 }, \ + { R07, R08, R09, R10, R11, R12, R13 }, \ + { R14, R15, R16, R17, R18, R19, R20 }, \ + { R21, R22, R23, R24, R25, R26, R27 }, \ + { R28, R29, R30, KC_NO, KC_NO, KC_NO, KC_NO } \ +} diff --git a/keyboards/kb58/keymaps/default/keymap.c b/keyboards/kb58/keymaps/default/keymap.c new file mode 100644 index 000000000000..e85c7a23ca04 --- /dev/null +++ b/keyboards/kb58/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2021 beanaccle + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + KC_GRV, 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_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_LCTL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_RSFT, + KC_LOPT, KC_LGUI, KC_SPC, KC_SPC, MO(_FN), KC_BSPC + ), + [_FN] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, 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_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_CAPS, _______, KC_ESC, KC_ESC, _______, KC_DEL + ) +}; diff --git a/keyboards/kb58/readme.md b/keyboards/kb58/readme.md new file mode 100644 index 000000000000..6d02b1787aa8 --- /dev/null +++ b/keyboards/kb58/readme.md @@ -0,0 +1,23 @@ +# KB58 + +![kb58_pico](https://user-images.githubusercontent.com/25994266/146207912-b725e22f-92dc-4a40-9157-c2fddff45ce2.jpg) + +This is 58 keys keyboard. + +* Keyboard Maintainer: [beanaccle](https://github.com/beanaccle) +* Hardware Supported: KB58 +* Hardware Availability: [KB58 Pico](https://github.com/beanaccle/kb58_pico) + +Make example for this keyboard (after setting up your build environment): + + make kb58:default + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +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/kb58/rules.mk b/keyboards/kb58/rules.mk new file mode 100644 index 000000000000..0854164fb630 --- /dev/null +++ b/keyboards/kb58/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +SPLIT_KEYBOARD = yes # Enables split keyboard support From 249bc3a5c58607d71534cb538a8c76565557849a Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Tue, 8 Mar 2022 06:45:30 +0300 Subject: [PATCH 0314/1832] [Keyboard] Add Winry315 keyboard (#15894) --- keyboards/winry/winry315/config.h | 138 +++++++++ keyboards/winry/winry315/info.json | 104 +++++++ .../winry/winry315/keymaps/default/keymap.c | 79 ++++++ .../winry/winry315/keymaps/default/readme.md | 1 + .../winry315/keymaps/left_numpad/config.h | 6 + .../winry315/keymaps/left_numpad/keymap.c | 81 ++++++ .../winry315/keymaps/left_numpad/readme.md | 3 + keyboards/winry/winry315/keymaps/via/config.h | 15 + .../winry315/keymaps/via/encoder_actions.c | 85 ++++++ .../winry315/keymaps/via/encoder_actions.h | 21 ++ keyboards/winry/winry315/keymaps/via/keymap.c | 44 +++ keyboards/winry/winry315/keymaps/via/rules.mk | 4 + keyboards/winry/winry315/readme.md | 45 +++ keyboards/winry/winry315/rules.mk | 21 ++ keyboards/winry/winry315/winry315.c | 262 ++++++++++++++++++ keyboards/winry/winry315/winry315.h | 86 ++++++ 16 files changed, 995 insertions(+) create mode 100644 keyboards/winry/winry315/config.h create mode 100644 keyboards/winry/winry315/info.json create mode 100644 keyboards/winry/winry315/keymaps/default/keymap.c create mode 100644 keyboards/winry/winry315/keymaps/default/readme.md create mode 100644 keyboards/winry/winry315/keymaps/left_numpad/config.h create mode 100644 keyboards/winry/winry315/keymaps/left_numpad/keymap.c create mode 100644 keyboards/winry/winry315/keymaps/left_numpad/readme.md create mode 100644 keyboards/winry/winry315/keymaps/via/config.h create mode 100644 keyboards/winry/winry315/keymaps/via/encoder_actions.c create mode 100644 keyboards/winry/winry315/keymaps/via/encoder_actions.h create mode 100644 keyboards/winry/winry315/keymaps/via/keymap.c create mode 100644 keyboards/winry/winry315/keymaps/via/rules.mk create mode 100644 keyboards/winry/winry315/readme.md create mode 100644 keyboards/winry/winry315/rules.mk create mode 100644 keyboards/winry/winry315/winry315.c create mode 100644 keyboards/winry/winry315/winry315.h diff --git a/keyboards/winry/winry315/config.h b/keyboards/winry/winry315/config.h new file mode 100644 index 000000000000..1a9617c1e360 --- /dev/null +++ b/keyboards/winry/winry315/config.h @@ -0,0 +1,138 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +// Key matrix size. +#define MATRIX_ROWS 1 +#define MATRIX_COLS 24 + +// Key pins (including encoder press switches). +// The NO_PIN entries are reserved for encoder rotation mappings. +#define DIRECT_PINS \ + { \ + { F4, C7, D4, D5, D1, F5, C6, D6, D3, D2, F6, B6, D7, B4, B5, B2, D0, E6, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } \ + } + +// clang-format off + +// Encoder pins. +// Encoder numbering (assuming the default board orientation with encoders on +// the top side): +// 0 - left +// 1 - center (with a longer shaft and a larger knob) +// 2 - right +#define ENCODERS_PAD_A { F1, B0, B3 } +#define ENCODERS_PAD_B { F0, B1, B7 } +#define ENCODER_RESOLUTION 4 + +// Encoder mappings (used for VIA). +#define ENCODERS 3 +#define ENCODERS_CW_KEY { { 22, 0 }, { 18, 0 }, { 20, 0 } } +#define ENCODERS_CCW_KEY { { 23, 0 }, { 19, 0 }, { 21, 0 } } + +// clang-format on + +// RGB LED parameters. +// This PCB uses a single chain of WS2812-compatible addressable RGB LEDs for +// per-key backlight and underglow. +#define RGB_DI_PIN F7 +#define RGBLED_NUM 27 +#define RGBLIGHT_LIMIT_VAL 150 + +// RGB Lighting configuration. This mode is used by the vendor firmware, and +// can be chosen if the full RGB Matrix support is not desired for some reason. +#ifdef RGBLIGHT_ENABLE +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_SLEEP +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +#endif + +// RGB Matrix configuration. +#ifdef RGB_MATRIX_ENABLE +# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL + +# define RGB_MATRIX_CENTER \ + { 35, 35 } + +# define RGB_DISABLE_WHEN_USB_SUSPENDED + +// This option is required for the TYPING_HEATMAP and DIGITAL_RAIN effects, +// both of which are disabled below, so the common support for those effects is +// disabled too. +# undef RGB_MATRIX_FRAMEBUFFER_EFFECTS + +// This option is required for reactive effects; disabling this option will +// implicitly disable all of them. +# define RGB_MATRIX_KEYPRESSES + +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_BAND_SAT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_DUAL_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_RAINDROPS +# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +# define ENABLE_RGB_MATRIX_HUE_BREATHING +# define ENABLE_RGB_MATRIX_HUE_PENDULUM +# define ENABLE_RGB_MATRIX_HUE_WAVE +# define ENABLE_RGB_MATRIX_PIXEL_RAIN +// The PIXEL_FRACTAL effect does not work properly when the matrix layout is +// different from the physical layout; it also has problems when underglow +// LEDs are present, or when multiple LEDs are associated with the same key. +# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL + +// Framebuffer effects; can be enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS +// is defined. Both of these effects currently don't work properly when the +// key matrix does not match the physical layout, so they are disabled. +# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP +# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN + +// Reactive effects; can be enabled only if at least one of +// RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined. +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_SPLASH +# define ENABLE_RGB_MATRIX_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_SPLASH +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + +#endif + +// Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed. +#define DEBOUNCE 5 diff --git a/keyboards/winry/winry315/info.json b/keyboards/winry/winry315/info.json new file mode 100644 index 000000000000..6410c6222f99 --- /dev/null +++ b/keyboards/winry/winry315/info.json @@ -0,0 +1,104 @@ +{ + "manufacturer": "Winry", + "keyboard_name": "Winry315", + "maintainer": "sigprof", + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0x0315", + "vid": "0xF1F1" + }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_top" + }, + "layouts": { + "LAYOUT_top": { + "layout": [ + { "label": "E0", "x": 0.5, "y": 0.25 }, + { "label": "E1", "x": 1.75, "y": 0, "h": 1.5, "w": 1.5 }, + { "label": "E2", "x": 3.5, "y": 0.25 }, + { "label": "0", "x": 0, "y": 1.75 }, + { "label": "1", "x": 1, "y": 1.75 }, + { "label": "2", "x": 2, "y": 1.75 }, + { "label": "3", "x": 3, "y": 1.75 }, + { "label": "4", "x": 4, "y": 1.75 }, + { "label": "5", "x": 0, "y": 2.75 }, + { "label": "6", "x": 1, "y": 2.75 }, + { "label": "7", "x": 2, "y": 2.75 }, + { "label": "8", "x": 3, "y": 2.75 }, + { "label": "9", "x": 4, "y": 2.75 }, + { "label": "10", "x": 0, "y": 3.75 }, + { "label": "11", "x": 1, "y": 3.75 }, + { "label": "12", "x": 2, "y": 3.75 }, + { "label": "13", "x": 3, "y": 3.75 }, + { "label": "14", "x": 4, "y": 3.75 } + ] + }, + "LAYOUT_left": { + "layout": [ + { "label": "E2", "x": 0.25, "y": 0.5 }, + { "label": "4", "x": 1.75, "y": 0 }, + { "label": "9", "x": 2.75, "y": 0 }, + { "label": "14", "x": 3.75, "y": 0 }, + { "label": "3", "x": 1.75, "y": 1 }, + { "label": "8", "x": 2.75, "y": 1 }, + { "label": "13", "x": 3.75, "y": 1 }, + { "label": "E1", "x": 0, "y": 1.75, "h": 1.5, "w": 1.5 }, + { "label": "2", "x": 1.75, "y": 2 }, + { "label": "7", "x": 2.75, "y": 2 }, + { "label": "12", "x": 3.75, "y": 2 }, + { "label": "1", "x": 1.75, "y": 3 }, + { "label": "6", "x": 2.75, "y": 3 }, + { "label": "11", "x": 3.75, "y": 3 }, + { "label": "E0", "x": 0.25, "y": 3.5 }, + { "label": "0", "x": 1.75, "y": 4 }, + { "label": "5", "x": 2.75, "y": 4 }, + { "label": "10", "x": 3.75, "y": 4 } + ] + }, + "LAYOUT_right": { + "layout": [ + { "label": "10", "x": 0, "y": 0 }, + { "label": "5", "x": 1, "y": 0 }, + { "label": "0", "x": 2, "y": 0 }, + { "label": "E0", "x": 3.5, "y": 0.5 }, + { "label": "11", "x": 0, "y": 1 }, + { "label": "6", "x": 1, "y": 1 }, + { "label": "1", "x": 2, "y": 1 }, + { "label": "12", "x": 0, "y": 2 }, + { "label": "7", "x": 1, "y": 2 }, + { "label": "2", "x": 2, "y": 2 }, + { "label": "E1", "x": 3.25, "y": 1.75, "h": 1.5, "w": 1.5 }, + { "label": "13", "x": 0, "y": 3 }, + { "label": "8", "x": 1, "y": 3 }, + { "label": "3", "x": 2, "y": 3 }, + { "label": "14", "x": 0, "y": 4 }, + { "label": "9", "x": 1, "y": 4 }, + { "label": "4", "x": 2, "y": 4 }, + { "label": "E2", "x": 3.5, "y": 3.5 } + ] + }, + "LAYOUT_bottom": { + "layout": [ + { "label": "14", "x": 0, "y": 0 }, + { "label": "13", "x": 1, "y": 0 }, + { "label": "12", "x": 2, "y": 0 }, + { "label": "11", "x": 3, "y": 0 }, + { "label": "10", "x": 4, "y": 0 }, + { "label": "9", "x": 0, "y": 1 }, + { "label": "8", "x": 1, "y": 1 }, + { "label": "7", "x": 2, "y": 1 }, + { "label": "6", "x": 3, "y": 1 }, + { "label": "5", "x": 4, "y": 1 }, + { "label": "4", "x": 0, "y": 2 }, + { "label": "3", "x": 1, "y": 2 }, + { "label": "2", "x": 2, "y": 2 }, + { "label": "1", "x": 3, "y": 2 }, + { "label": "0", "x": 4, "y": 2 }, + { "label": "E2", "x": 0.5, "y": 3.5 }, + { "label": "E1", "x": 1.75, "y": 3.25, "h": 1.5, "w": 1.5 }, + { "label": "E0", "x": 3.5, "y": 3.5 } + ] + } + } +} diff --git a/keyboards/winry/winry315/keymaps/default/keymap.c b/keyboards/winry/winry315/keymaps/default/keymap.c new file mode 100644 index 000000000000..a0bc2706ca39 --- /dev/null +++ b/keyboards/winry/winry315/keymaps/default/keymap.c @@ -0,0 +1,79 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _RGB, +}; + +// Shorter defines for some QMK keycodes (to keep the keymap aligned) +#define U_LTESC LT(_RGB, KC_ESC) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // Base + [_BASE] = LAYOUT_top( + KC_HOME, KC_MUTE, KC_MPLY, + KC_1, KC_2, KC_3, KC_4, KC_5, + KC_6, KC_7, KC_8, KC_9, KC_0, + U_LTESC, KC_TAB, KC_SPC, KC_BSPC, KC_ENT + ), + + // RGB configuration + [_RGB] = LAYOUT_top( + RGB_M_P, RGB_M_B, RGB_M_R, + RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, + RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, + KC_TRNS, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R + ), +}; +// clang-format on + +bool encoder_update_user(uint8_t index, bool clockwise) { + uint8_t layer = get_highest_layer(layer_state | default_layer_state); + + switch (index) { + case 0: + // Left encoder + if (layer == _RGB) { + if (clockwise) { + rgblight_increase_hue(); + } else { + rgblight_decrease_hue(); + } + } else { + tap_code(clockwise ? KC_PGDN : KC_PGUP); + } + break; + + case 1: + // Center encoder + if (layer == _RGB) { + if (clockwise) { + rgblight_increase_sat(); + } else { + rgblight_decrease_sat(); + } + } else { + tap_code_delay(clockwise ? KC_VOLU : KC_VOLD, 10); + } + break; + + case 2: + // Right encoder + if (layer == _RGB) { + if (clockwise) { + rgblight_increase_val(); + } else { + rgblight_decrease_val(); + } + } else { + tap_code_delay(clockwise ? KC_MNXT : KC_MPRV, 10); + } + break; + } + return false; +} diff --git a/keyboards/winry/winry315/keymaps/default/readme.md b/keyboards/winry/winry315/keymaps/default/readme.md new file mode 100644 index 000000000000..685bea576717 --- /dev/null +++ b/keyboards/winry/winry315/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Winry315 diff --git a/keyboards/winry/winry315/keymaps/left_numpad/config.h b/keyboards/winry/winry315/keymaps/left_numpad/config.h new file mode 100644 index 000000000000..acb72b5bb4b8 --- /dev/null +++ b/keyboards/winry/winry315/keymaps/left_numpad/config.h @@ -0,0 +1,6 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define WINRY315_DEFAULT_ORIENTATION WINRY315_ORIENTATION_LEFT diff --git a/keyboards/winry/winry315/keymaps/left_numpad/keymap.c b/keyboards/winry/winry315/keymaps/left_numpad/keymap.c new file mode 100644 index 000000000000..8864b1b45a1e --- /dev/null +++ b/keyboards/winry/winry315/keymaps/left_numpad/keymap.c @@ -0,0 +1,81 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _RGB, +}; + +// Shorter defines for some QMK keycodes (to keep the keymap aligned) +#define U_LTESC LT(_RGB, KC_ESC) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_left( + KC_MPLY, U_LTESC, KC_BSPC, KC_PENT, + KC_P7, KC_P8, KC_P9, + KC_MUTE, KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, + KC_HOME, KC_P0, KC_P0, KC_PDOT + ), + + /* RGB configuration */ + [_RGB] = LAYOUT_left( + RGB_M_R, KC_TRNS, RGB_SPD, RGB_SPI, + RGB_TOG, RGB_HUD, RGB_HUI, + RGB_M_B, RGB_M_P, RGB_SAD, RGB_SAI, + KC_NO, RGB_VAD, RGB_VAI, + RGB_M_P, KC_NLCK, RGB_RMOD,RGB_MOD + ), +}; +// clang-format on + +bool encoder_update_user(uint8_t index, bool clockwise) { + uint8_t layer = get_highest_layer(layer_state | default_layer_state); + + switch (index) { + case 0: + // Bottom encoder (left in the default orientation) + if (layer == _RGB) { + if (clockwise) { + rgblight_increase_val(); + } else { + rgblight_decrease_val(); + } + } else { + tap_code(clockwise ? KC_PGDN : KC_PGUP); + } + break; + + case 1: + // Center encoder + if (layer == _RGB) { + if (clockwise) { + rgblight_increase_sat(); + } else { + rgblight_decrease_sat(); + } + } else { + tap_code_delay(clockwise ? KC_VOLU : KC_VOLD, 10); + } + break; + + case 2: + // Top encoder (right in the default orientation) + if (layer == _RGB) { + if (clockwise) { + rgblight_increase_hue(); + } else { + rgblight_decrease_hue(); + } + } else { + tap_code_delay(clockwise ? KC_MNXT : KC_MPRV, 10); + } + break; + } + return false; +} diff --git a/keyboards/winry/winry315/keymaps/left_numpad/readme.md b/keyboards/winry/winry315/keymaps/left_numpad/readme.md new file mode 100644 index 000000000000..9562c2fc194e --- /dev/null +++ b/keyboards/winry/winry315/keymaps/left_numpad/readme.md @@ -0,0 +1,3 @@ +# The “Left Numpad” keymap for Winry315 + +This is a keymap example for the Winry315 board in the “left” orientation (the board is rotated so that the encoders are on the left side, and the keys are in 5 rows of 3 keys). The `LAYOUT_left` macro is used for this orientation, and `WINRY315_DEFAULT_ORIENTATION` is redefined in `config.h` to change the behavior of RGB Matrix effects. diff --git a/keyboards/winry/winry315/keymaps/via/config.h b/keyboards/winry/winry315/keymaps/via/config.h new file mode 100644 index 000000000000..5fc0e02531e9 --- /dev/null +++ b/keyboards/winry/winry315/keymaps/via/config.h @@ -0,0 +1,15 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 + +// Enable a limited form of RGB Matrix support in VIA (requires redefining the +// effect list in the VIA JSON, which then becomes not 100% compatible with the +// RGBLIGHT firmwares). +#define VIA_QMK_RGBLIGHT_ENABLE + +// Enable the workaround for the speed parameter mismatch between RGBLIGHT and +// RGB Matrix, so that the speed slider in VIA behaves in a more useful way. +#define VIA_CUSTOM_LIGHTING_ENABLE diff --git a/keyboards/winry/winry315/keymaps/via/encoder_actions.c b/keyboards/winry/winry315/keymaps/via/encoder_actions.c new file mode 100644 index 000000000000..96dfe74bcaf6 --- /dev/null +++ b/keyboards/winry/winry315/keymaps/via/encoder_actions.c @@ -0,0 +1,85 @@ +/* Copyright 2020 Neil Brian Ramirez + * Copyright 2021 drashna jael're (@drashna) + * Copyright 2022 Sergey Vlasov (@sigprof) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "encoder_actions.h" + +#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE) + +# ifndef ENCODER_TAP_DURATION_MS +# define ENCODER_TAP_DURATION_MS 10 +# endif + +# define ENCODER_STATE_CW 0x01 +# define ENCODER_STATE_CCW 0x02 + +# ifdef ENCODERS +static uint8_t encoder_state[ENCODERS] = {0}; +static uint16_t encoder_timer[ENCODERS] = {0}; +static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; +static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; + +static void exec_encoder_action(uint8_t index, bool clockwise, bool pressed) { + // clang-format off + keyevent_t encoder_event = (keyevent_t) { + .key = clockwise ? encoder_cw[index] : encoder_ccw[index], + .pressed = pressed, + .time = (timer_read() | 1) + }; + // clang-format on + action_exec(encoder_event); +} +# endif + +void encoder_action_unregister(void) { +# ifdef ENCODERS + for (int index = 0; index < ENCODERS; ++index) { + if (encoder_state[index] && (timer_elapsed(encoder_timer[index]) >= ENCODER_TAP_DURATION_MS)) { + bool clockwise = !!(encoder_state[index] & ENCODER_STATE_CW); + encoder_state[index] = 0; + exec_encoder_action(index, clockwise, false); + } + } +# endif +} + +void encoder_action_register(uint8_t index, bool clockwise) { +# ifdef ENCODERS + if (encoder_state[index]) { + bool was_clockwise = !!(encoder_state[index] & ENCODER_STATE_CW); + encoder_state[index] = 0; + exec_encoder_action(index, was_clockwise, false); + } + encoder_state[index] = clockwise ? ENCODER_STATE_CW : ENCODER_STATE_CCW; + encoder_timer[index] = timer_read(); + exec_encoder_action(index, clockwise, true); +# endif +} + +void matrix_scan_kb(void) { + encoder_action_unregister(); + matrix_scan_user(); +} + +bool encoder_update_kb(uint8_t index, bool clockwise) { + encoder_action_register(index, clockwise); + // don't return user actions, because they are in the keymap + // encoder_update_user(index, clockwise); + return true; +}; + +#endif diff --git a/keyboards/winry/winry315/keymaps/via/encoder_actions.h b/keyboards/winry/winry315/keymaps/via/encoder_actions.h new file mode 100644 index 000000000000..2484af52ae18 --- /dev/null +++ b/keyboards/winry/winry315/keymaps/via/encoder_actions.h @@ -0,0 +1,21 @@ +/* Copyright 2020 Neil Brian Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +void encoder_action_unregister(void); + +void encoder_action_register(uint8_t index, bool clockwise); diff --git a/keyboards/winry/winry315/keymaps/via/keymap.c b/keyboards/winry/winry315/keymaps/via/keymap.c new file mode 100644 index 000000000000..67598ac33763 --- /dev/null +++ b/keyboards/winry/winry315/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// clang-format off + +#define LAYOUT_via( \ + k17, k15, k16, \ + k23,k22, k19,k18, k21,k20, \ + k00, k01, k02, k03, k04, \ + k05, k06, k07, k08, k09, \ + k10, k11, k12, k13, k14 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23 } \ +} + +#define U_LTESC LT(1, KC_ESC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_via( + KC_HOME, KC_MUTE, KC_MPLY, + KC_PGUP, KC_PGDN, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, + KC_1, KC_2, KC_3, KC_4, KC_5, + KC_6, KC_7, KC_8, KC_9, KC_0, + U_LTESC, KC_TAB, KC_SPC, KC_BSPC, KC_ENT + ), + [1] = LAYOUT_via( + RGB_M_P, RGB_M_B, RGB_M_R, + RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, + RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, + RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, + KC_TRNS, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R + ), + [2 ... 7] = LAYOUT_via( + 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, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +// clang-format on diff --git a/keyboards/winry/winry315/keymaps/via/rules.mk b/keyboards/winry/winry315/keymaps/via/rules.mk new file mode 100644 index 000000000000..6098ef3ad8fa --- /dev/null +++ b/keyboards/winry/winry315/keymaps/via/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes + +SRC += encoder_actions.c diff --git a/keyboards/winry/winry315/readme.md b/keyboards/winry/winry315/readme.md new file mode 100644 index 000000000000..099e6b42b4a2 --- /dev/null +++ b/keyboards/winry/winry315/readme.md @@ -0,0 +1,45 @@ +# Winry315 + +![Winry315](https://i.imgur.com/nWE5mbXh.jpeg) + +Winry315 is a macropad with 3 rotary encoders and 15 keys (arranged as 3 rows of 5 keys). + +This board may also be known as “YD3xn15mx”, “YD315” or “YD 3x15m”. Boards sold by the [SpiderIsland shop on AliExpress](https://www.aliexpress.com/store/5241107) may have “DEBROGLIE” on the bottom side of the case. + +More photos can be found [in this Imgur album](https://imgur.com/a/0xf9pju). + +* Keyboard Maintainer: [Sergey Vlasov](https://github.com/sigprof) +* Hardware Supported: Winry315 PCB +* Hardware Availability: [Taobao](https://world.taobao.com/item/657924681898.htm), [AliExpress](https://www.aliexpress.com/item/1005003500083583.html) + +Make example for this keyboard (after setting up your build environment): + + make winry/winry315:default + +Flashing example for this keyboard: + + make winry/winry315:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key (not the encoder) and plug in the keyboard. This apparently also works with the vendor VIA firmware. + * Note that the bootmagic key does not change with the board orientation configured using `WINRY315_DEFAULT_ORIENTATION` — the “top left” key position in the default orientation (encoders on the top side) is always used. +* **Physical reset button**: Briefly press the button on the back of the PCB (the acrylic bottom cover should have a hole to access that button). +* **Keycode in layout**: Press the key mapped to `RESET` if it is available (the default keymap does not have that keycode assigned to any key, but you can use that keycode in your custom keymap if you want to have easier access to the bootloader). + +## Orientation + +Although the normal orientation of this macropad is with the encoders on the “top” side (away from the user), you may prefer using it in a sideways orientation (with the encoders on the left or right side). There are extra layout macros (`LAYOUT_left`, `LAYOUT_right` and even `LAYOUT_bottom` for completeness) which you can use in the keymap; however, just using one of those macros won't change the behavior of RGB Matrix effects. If you want to change the orientation of various RGB Matrix effects too, you can specify the desired orientation in the `config.h` file for your custom keymap by using one of the following defines: + + #define WINRY315_DEFAULT_ORIENTATION WINRY315_ORIENTATION_TOP + #define WINRY315_DEFAULT_ORIENTATION WINRY315_ORIENTATION_LEFT + #define WINRY315_DEFAULT_ORIENTATION WINRY315_ORIENTATION_RIGHT + #define WINRY315_DEFAULT_ORIENTATION WINRY315_ORIENTATION_BOTTOM + +The VIA firmware changes the orientation for RGB Matrix effects automatically when the “Encoder Side” layout option is changed. + +Note that stems of MX switches are not symmetrical with respect to 90° rotation, so you may have some difficulties when putting the keycaps on switches if you choose one of sideways orientations. diff --git a/keyboards/winry/winry315/rules.mk b/keyboards/winry/winry315/rules.mk new file mode 100644 index 000000000000..c10a9d570ab1 --- /dev/null +++ b/keyboards/winry/winry315/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 diff --git a/keyboards/winry/winry315/winry315.c b/keyboards/winry/winry315/winry315.c new file mode 100644 index 000000000000..c741ffeb7448 --- /dev/null +++ b/keyboards/winry/winry315/winry315.c @@ -0,0 +1,262 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "winry315.h" + +#include "via.h" + +#if !defined(WINRY315_DEFAULT_ORIENTATION) +# define WINRY315_DEFAULT_ORIENTATION WINRY315_ORIENTATION_TOP +#endif + +#if !defined(VIA_ENABLE) && defined(ENCODER_ENABLE) +# ifndef MEDIA_KEY_DELAY +# define MEDIA_KEY_DELAY 10 +# endif +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + if (index == 0) { + // Left encoder (assuming the default "top" orientation) + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } else if (index == 1) { + // Center encoder + if (clockwise) { + tap_code_delay(KC_VOLU, MEDIA_KEY_DELAY); + } else { + tap_code_delay(KC_VOLD, MEDIA_KEY_DELAY); + } + } else if (index == 2) { + // Right encoder + if (clockwise) { + tap_code_delay(KC_MNXT, MEDIA_KEY_DELAY); + } else { + tap_code_delay(KC_MPRV, MEDIA_KEY_DELAY); + } + } + return true; +} +#endif // !defined(VIA_ENABLE) && defined(ENCODER_ENABLE) + +#if defined(RGB_MATRIX_ENABLE) + +// LED mapping (assuming the default "top" orientation): +// 0 - right encoder, top right +// 1 - right encoder, top left +// 2 - center encoder, top right +// 3 - center encoder, top left +// 4 - left encoder, top right +// 5 - left encoder, top left +// 6 - row 0, column 0 +// 7 - row 1, column 0 +// 8 - row 2, column 0 +// 9 - row 2, column 1 +// 10 - row 1, column 1 +// 11 - row 0, column 1 +// 12 - row 0, column 2 +// 13 - row 1, column 2 +// 14 - row 2, column 2 +// 15 - row 2, column 3 +// 16 - row 1, column 3 +// 17 - row 0, column 3 +// 18 - row 0, column 4 +// 19 - row 1, column 4 +// 20 - row 2, column 4 +// 21 - underglow, right bottom +// 22 - underglow, left bottom +// 23 - underglow, left middle +// 24 - underglow, left top +// 25 - underglow, right top +// 26 - underglow, right middle + +# define X_MM_MIN (-42) +# define X_MM_MAX 42 +# define Y_MM_MIN (-40) // actually -35, but adjusted to get height = width +# define Y_MM_MAX 44 // actually 40, but adjusted to get height = width +# define WIDTH_MM (X_MM_MAX - X_MM_MIN) +# define HEIGHT_MM (Y_MM_MAX - Y_MM_MIN) +# define WIDTH_UNITS (35 * 2) // needs to match RGB_MATRIX_CENTER +# define HEIGHT_UNITS (35 * 2) // needs to match RGB_MATRIX_CENTER + +// Convert the LED physical coordinates from millimeters with the origin at the +// PCB center to the form expected by the RGB Matrix code. +# define LED(x_mm, y_mm) \ + { ((x_mm - X_MM_MIN) * WIDTH_UNITS + WIDTH_MM / 2) / WIDTH_MM, ((Y_MM_MAX - y_mm) * HEIGHT_UNITS + HEIGHT_MM / 2) / HEIGHT_MM } + +// clang-format off +static const led_config_t PROGMEM initial_led_config = { + { + { 6, 11, 12, 17, 18, 7, 10, 13, 16, 19, 8, 9, 14, 15, 20, 2, 0, 4, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } + }, + { + LED( 35, 36), + LED( 21, 36), + LED( 8, 34), + LED(-8, 34), + LED(-21, 36), + LED(-35, 36), + LED(-38, 5), + LED(-38, -14), + LED(-38, -33), + LED(-19, -33), + LED(-19, -14), + LED(-19, 5), + LED( 0, 5), + LED( 0, -14), + LED( 0, -33), + LED( 19, -33), + LED( 19, -14), + LED( 19, 5), + LED( 38, 5), + LED( 38, -14), + LED( 38, -33), + LED( 28, -35), + LED(-28, -35), + LED(-37, -9), + LED(-42, 40), + LED( 42, 40), + LED( 37, -9) + }, + { + 1, 1, 1, 1, 1, 1, // encoders (colored as modifiers) + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // regular keys + 2, 2, 2, 2, 2, 2 // underglow + } +}; +// clang-format on + +led_config_t g_led_config; + +void keyboard_pre_init_kb(void) { + // To be safe against any possible changes to rgb_matrix_init(), + // g_led_config should be initialized before rgb_matrix_init() is called; + // matrix_init_kb() would be too late, so keyboard_pre_init_kb() is used. + memcpy_P(&g_led_config, &initial_led_config, sizeof(g_led_config)); + winry315_set_orientation(WINRY315_DEFAULT_ORIENTATION); + + keyboard_pre_init_user(); +} + +// Encoders have two associated LEDs on this board; supporting more than one +// LED per key requires defining rgb_matrix_map_row_column_to_led_kb() to +// report any extra LEDs. +uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) { + if (row == 0) { + switch (column) { + case 15: // center encoder + led_i[0] = 3; + return 1; + + case 16: // right encoder + led_i[0] = 1; + return 1; + + case 17: // left encoder + led_i[0] = 5; + return 1; + } + } + return 0; +} + +# if defined(VIA_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE) + +// VIA supports only 4 discrete values for effect speed; map these to some +// useful speed values for RGB Matrix. +enum speed_values { + RGBLIGHT_SPEED_0 = UINT8_MAX / 16, // not 0 to avoid really slow effects + RGBLIGHT_SPEED_1 = UINT8_MAX / 4, + RGBLIGHT_SPEED_2 = UINT8_MAX / 2, // matches the default value + RGBLIGHT_SPEED_3 = UINT8_MAX / 4 * 3, // UINT8_MAX is really fast +}; + +static uint8_t speed_from_rgblight(uint8_t rgblight_speed) { + switch (rgblight_speed) { + case 0: + return RGBLIGHT_SPEED_0; + case 1: + return RGBLIGHT_SPEED_1; + case 2: + default: + return RGBLIGHT_SPEED_2; + case 3: + return RGBLIGHT_SPEED_3; + } +} + +static uint8_t speed_to_rgblight(uint8_t rgb_matrix_speed) { + if (rgb_matrix_speed < ((RGBLIGHT_SPEED_0 + RGBLIGHT_SPEED_1) / 2)) { + return 0; + } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_1 + RGBLIGHT_SPEED_2) / 2)) { + return 1; + } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_2 + RGBLIGHT_SPEED_3) / 2)) { + return 2; + } else { + return 3; + } +} + +void raw_hid_receive_kb(uint8_t *data, uint8_t length) { + switch (data[0]) { + case id_lighting_get_value: + if (data[1] == id_qmk_rgblight_effect_speed) { + data[2] = speed_to_rgblight(rgb_matrix_get_speed()); + } + break; + case id_lighting_set_value: + if (data[1] == id_qmk_rgblight_effect_speed) { + rgb_matrix_set_speed_noeeprom(speed_from_rgblight(data[2])); + } + break; + } +} + +# endif // defined(VIA_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE) + +#endif // defined(RGB_MATRIX_ENABLE) + +void winry315_set_orientation(uint8_t orientation) { + (void)orientation; +#if defined(RGB_MATRIX_ENABLE) + for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + led_point_t * dst_point = &g_led_config.point[i]; + const led_point_t *src_point = &initial_led_config.point[i]; + uint8_t x = pgm_read_byte(&src_point->x); + uint8_t y = pgm_read_byte(&src_point->y); + + switch (orientation) { + case WINRY315_ORIENTATION_TOP: + default: + dst_point->x = x; + dst_point->y = y; + break; + + case WINRY315_ORIENTATION_LEFT: + dst_point->x = y; + dst_point->y = WIDTH_UNITS - x; + break; + + case WINRY315_ORIENTATION_RIGHT: + dst_point->x = HEIGHT_UNITS - y; + dst_point->y = x; + break; + + case WINRY315_ORIENTATION_BOTTOM: + dst_point->x = WIDTH_UNITS - x; + dst_point->y = HEIGHT_UNITS - y; + break; + } + } +#endif // defined(RGB_MATRIX_ENABLE) +} + +#if defined(VIA_ENABLE) +void via_set_layout_options_kb(uint32_t value) { + winry315_set_orientation(value & 0x03); +} +#endif // defined(VIA_ENABLE) diff --git a/keyboards/winry/winry315/winry315.h b/keyboards/winry/winry315/winry315.h new file mode 100644 index 000000000000..479608900380 --- /dev/null +++ b/keyboards/winry/winry315/winry315.h @@ -0,0 +1,86 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +// Supported orientations of the board. The enum values must match the layout +// option values used by VIA. +enum winry315_orientation { + WINRY315_ORIENTATION_TOP, // Encoders at the top side (default) + WINRY315_ORIENTATION_LEFT, // Encoders at the left side + WINRY315_ORIENTATION_RIGHT, // Encoders at the right side + WINRY315_ORIENTATION_BOTTOM // Encoders at the bottom side +}; + +// Set the orientation of the board (changes the RGB Matrix effect behavior to +// match the new orientation). +// +// This function is intended to be used in the `via` keymap, where the board +// orientation is configured dynamically using a VIA layout option. If you are +// making a custom keymap for one specific orientation, it is better to set the +// orientation in config.h (e.g., `#define WINRY315_DEFAULT_ORIENTATION +// WINRY315_ORIENTATION_LEFT`) instead of adding custom code that calls this +// function. +void winry315_set_orientation(uint8_t orientation); + +// clang-format off + +// This is a shortcut to help you visually see your layout. +// +// The first section contains all of the arguments representing the physical +// layout of the board and position of the keys. +// +// The second converts the arguments into a two-dimensional array which +// represents the switch matrix. +// +// For this board multiple layouts are defined to make it easier to use the +// board in a sideways orientation; the actual PCB supports only a single +// layout (LAYOUT_top). + +// Default layout: encoders at the top side (WINRY315_ORIENTATION_TOP). +#define LAYOUT_top( \ + k17, k15, k16, \ + k00, k01, k02, k03, k04, \ + k05, k06, k07, k08, k09, \ + k10, k11, k12, k13, k14 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15, k16, k17, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \ +} + +// Encoders at the left side (WINRY315_ORIENTATION_LEFT). +#define LAYOUT_left( \ + k16, k04, k09, k14, \ + k03, k08, k13, \ + k15, k02, k07, k12, \ + k01, k06, k11, \ + k17, k00, k05, k10 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15, k16, k17, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \ +} + +// Encoders at the right side (WINRY315_ORIENTATION_RIGHT). +#define LAYOUT_right( \ + k10, k05, k00, k17, \ + k11, k06, k01, \ + k12, k07, k02, k15, \ + k13, k08, k03, \ + k14, k09, k04, k16 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15, k16, k17, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \ +} + +// Encoders at the bottom side (WINRY315_ORIENTATION_BOTTOM). +#define LAYOUT_bottom( \ + k14, k13, k12, k11, k10, \ + k09, k08, k07, k06, k05, \ + k04, k03, k02, k01, k00, \ + k16, k15, k17 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15, k16, k17, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \ +} + +#define LAYOUT_all LAYOUT_top + +// clang-format on From eb35f58a6ec9068329a39e3ef8449568e90931e9 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 8 Mar 2022 11:45:54 +0800 Subject: [PATCH 0315/1832] [Keyboard] Idobao ID87 v2 (#15875) Co-authored-by: Drashna Jaelre --- keyboards/idobao/id87/v2/config.h | 163 ++++++++++++++++++ keyboards/idobao/id87/v2/info.json | 98 +++++++++++ .../idobao/id87/v2/keymaps/default/keymap.c | 35 ++++ .../idobao/id87/v2/keymaps/default/readme.md | 1 + keyboards/idobao/id87/v2/keymaps/via/keymap.c | 50 ++++++ keyboards/idobao/id87/v2/keymaps/via/rules.mk | 2 + keyboards/idobao/id87/v2/readme.md | 27 +++ keyboards/idobao/id87/v2/rules.mk | 22 +++ keyboards/idobao/id87/v2/v2.c | 45 +++++ keyboards/idobao/id87/v2/v2.h | 40 +++++ 10 files changed, 483 insertions(+) create mode 100644 keyboards/idobao/id87/v2/config.h create mode 100644 keyboards/idobao/id87/v2/info.json create mode 100644 keyboards/idobao/id87/v2/keymaps/default/keymap.c create mode 100644 keyboards/idobao/id87/v2/keymaps/default/readme.md create mode 100644 keyboards/idobao/id87/v2/keymaps/via/keymap.c create mode 100644 keyboards/idobao/id87/v2/keymaps/via/rules.mk create mode 100644 keyboards/idobao/id87/v2/readme.md create mode 100644 keyboards/idobao/id87/v2/rules.mk create mode 100644 keyboards/idobao/id87/v2/v2.c create mode 100644 keyboards/idobao/id87/v2/v2.h diff --git a/keyboards/idobao/id87/v2/config.h b/keyboards/idobao/id87/v2/config.h new file mode 100644 index 000000000000..8a2c58aa2dd3 --- /dev/null +++ b/keyboards/idobao/id87/v2/config.h @@ -0,0 +1,163 @@ +// Copyright 2022 peepeetee (@peepeetee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6964 // "id" +#define PRODUCT_ID 0x0087 +#define DEVICE_VER 0x0002 +#define MANUFACTURER IDOBAO +#define PRODUCT ID87 + +/* key matrix size */ +#define MATRIX_ROWS 11 +#define MATRIX_COLS 9 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { E6, B0, B1, B2, B3, B7, F7, F6, F5, F4, F1 } + +#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 } +//#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +#define LED_CAPS_LOCK_PIN C7 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +#define RGB_DI_PIN E2 +# define DRIVER_LED_TOTAL 103 /* 16 Bottom 87 top*/ +#ifdef RGB_DI_PIN +# define RGBLED_NUM 103 /* 16 Bottom 87 top*/ +# define RGB_MATRIX_KEYPRESSES // reacts to keypresses +#endif +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +# define RGB_MATRIX_KEYPRESSES +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_BAND_SAT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_DUAL_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_RAINDROPS +# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +# define ENABLE_RGB_MATRIX_HUE_BREATHING +# define ENABLE_RGB_MATRIX_HUE_PENDULUM +# define ENABLE_RGB_MATRIX_HUE_WAVE +# define ENABLE_RGB_MATRIX_PIXEL_RAIN +# define ENABLE_RGB_MATRIX_PIXEL_FLOW +# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_SPLASH +# define ENABLE_RGB_MATRIX_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_SPLASH +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/idobao/id87/v2/info.json b/keyboards/idobao/id87/v2/info.json new file mode 100644 index 000000000000..e4e252aa6436 --- /dev/null +++ b/keyboards/idobao/id87/v2/info.json @@ -0,0 +1,98 @@ +{ + "keyboard_name": "ID87", + "url": "https://www.idobao.net/products/idobao-id87-80-hot-swappable-mechanical-keyboard-kit", + "maintainer": "qmk", + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":2, "y":0}, + {"label":"F2", "x":3, "y":0}, + {"label":"F3", "x":4, "y":0}, + {"label":"F4", "x":5, "y":0}, + {"label":"F5", "x":6.5, "y":0}, + {"label":"F6", "x":7.5, "y":0}, + {"label":"F7", "x":8.5, "y":0}, + {"label":"F8", "x":9.5, "y":0}, + {"label":"F9", "x":11, "y":0}, + {"label":"F10", "x":12, "y":0}, + {"label":"F11", "x":13, "y":0}, + {"label":"F12", "x":14, "y":0}, + {"label":"PrtSc", "x":15.25, "y":0}, + {"label":"Scroll Lock", "x":16.25, "y":0}, + {"label":"Pause", "x":17.25, "y":0}, + {"label":"~", "x":0, "y":1.5}, + {"label":"1", "x":1, "y":1.5}, + {"label":"2", "x":2, "y":1.5}, + {"label":"3", "x":3, "y":1.5}, + {"label":"4", "x":4, "y":1.5}, + {"label":"5", "x":5, "y":1.5}, + {"label":"6", "x":6, "y":1.5}, + {"label":"7", "x":7, "y":1.5}, + {"label":"8", "x":8, "y":1.5}, + {"label":"9", "x":9, "y":1.5}, + {"label":"0", "x":10, "y":1.5}, + {"label":"-", "x":11, "y":1.5}, + {"label":"=", "x":12, "y":1.5}, + {"label":"Backspace", "x":13, "y":1.5, "w":2}, + {"label":"Insert", "x":15.25, "y":1.5}, + {"label":"Home", "x":16.25, "y":1.5}, + {"label":"PgUp", "x":17.25, "y":1.5}, + {"label":"Tab", "x":0, "y":2.5, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.5}, + {"label":"W", "x":2.5, "y":2.5}, + {"label":"E", "x":3.5, "y":2.5}, + {"label":"R", "x":4.5, "y":2.5}, + {"label":"T", "x":5.5, "y":2.5}, + {"label":"Y", "x":6.5, "y":2.5}, + {"label":"U", "x":7.5, "y":2.5}, + {"label":"I", "x":8.5, "y":2.5}, + {"label":"O", "x":9.5, "y":2.5}, + {"label":"P", "x":10.5, "y":2.5}, + {"label":"[", "x":11.5, "y":2.5}, + {"label":"]", "x":12.5, "y":2.5}, + {"label":"\\", "x":13.5, "y":2.5, "w":1.5}, + {"label":"Delete", "x":15.25, "y":2.5}, + {"label":"End", "x":16.25, "y":2.5}, + {"label":"PgDn", "x":17.25, "y":2.5}, + {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, + {"label":"A", "x":1.75, "y":3.5}, + {"label":"S", "x":2.75, "y":3.5}, + {"label":"D", "x":3.75, "y":3.5}, + {"label":"F", "x":4.75, "y":3.5}, + {"label":"G", "x":5.75, "y":3.5}, + {"label":"H", "x":6.75, "y":3.5}, + {"label":"J", "x":7.75, "y":3.5}, + {"label":"K", "x":8.75, "y":3.5}, + {"label":"L", "x":9.75, "y":3.5}, + {"label":";", "x":10.75, "y":3.5}, + {"label":"'", "x":11.75, "y":3.5}, + {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, + {"label":"Shift", "x":0, "y":4.5, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.5}, + {"label":"X", "x":3.25, "y":4.5}, + {"label":"C", "x":4.25, "y":4.5}, + {"label":"V", "x":5.25, "y":4.5}, + {"label":"B", "x":6.25, "y":4.5}, + {"label":"N", "x":7.25, "y":4.5}, + {"label":"M", "x":8.25, "y":4.5}, + {"label":",", "x":9.25, "y":4.5}, + {"label":".", "x":10.25, "y":4.5}, + {"label":"/", "x":11.25, "y":4.5}, + {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, + {"label":"Up", "x":16.25, "y":4.5}, + {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5.5, "w":6.25}, + {"label":"Alt", "x":10, "y":5.5, "w":1.25}, + {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, + {"label":"LT(1, KC_APP)", "x":12.5, "y":5.5, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, + {"label":"Left", "x":15.25, "y":5.5}, + {"label":"Down", "x":16.25, "y":5.5}, + {"label":"Right", "x":17.25, "y":5.5} + ] + } + } +} diff --git a/keyboards/idobao/id87/v2/keymaps/default/keymap.c b/keyboards/idobao/id87/v2/keymaps/default/keymap.c new file mode 100644 index 000000000000..2b07bdb0ec00 --- /dev/null +++ b/keyboards/idobao/id87/v2/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2020 Tybera +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, + _______, BL_TOGG, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, BL_INC, + _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, RGB_MOD + ), + +}; diff --git a/keyboards/idobao/id87/v2/keymaps/default/readme.md b/keyboards/idobao/id87/v2/keymaps/default/readme.md new file mode 100644 index 000000000000..6054431de493 --- /dev/null +++ b/keyboards/idobao/id87/v2/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for id87 \ No newline at end of file diff --git a/keyboards/idobao/id87/v2/keymaps/via/keymap.c b/keyboards/idobao/id87/v2/keymaps/via/keymap.c new file mode 100644 index 000000000000..534784555c93 --- /dev/null +++ b/keyboards/idobao/id87/v2/keymaps/via/keymap.c @@ -0,0 +1,50 @@ +/* +Copyright 2020 Tybera +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, + _______, BL_TOGG, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, BL_INC, + _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, RGB_MOD + ), + [2] = LAYOUT_tkl_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_tkl_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/idobao/id87/v2/keymaps/via/rules.mk b/keyboards/idobao/id87/v2/keymaps/via/rules.mk new file mode 100644 index 000000000000..ca9fed0e6b53 --- /dev/null +++ b/keyboards/idobao/id87/v2/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/idobao/id87/v2/readme.md b/keyboards/idobao/id87/v2/readme.md new file mode 100644 index 000000000000..06a3f2c08ac8 --- /dev/null +++ b/keyboards/idobao/id87/v2/readme.md @@ -0,0 +1,27 @@ +# ID87 v2 + +![ID87 v2](https://i.imgur.com/woTSycN.jpg) + +A TKL keyboard with hotswap sockets and in switch RGB. + +* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee) +* Hardware Supported: ID87 v2 +* Hardware Availability: [Drop](https://drop.com/buy/idobao-id87-v2-tkl-mechanical-keyboard-kit), [idobao](https://idobao.net/products/idobao-id87-v2-tkl-pcb-mounted-hot-swappable-mechanical-keyboard-kit) + +Make example for this keyboard (after setting up your build environment): + + make idobao/id87/v2:default + +Flashing example for this keyboard: + + make idobao/id87/v2:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/idobao/id87/v2/rules.mk b/keyboards/idobao/id87/v2/rules.mk new file mode 100644 index 000000000000..1d519258e3ac --- /dev/null +++ b/keyboards/idobao/id87/v2/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 + +LAYOUTS = tkl_ansi diff --git a/keyboards/idobao/id87/v2/v2.c b/keyboards/idobao/id87/v2/v2.c new file mode 100644 index 000000000000..5bca630ca39c --- /dev/null +++ b/keyboards/idobao/id87/v2/v2.c @@ -0,0 +1,45 @@ +// Copyright 2022 peepeetee (@peepeetee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "v2.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 102, NO_LED, 101, 100, 99, 98, 97, 96, 95 }, //0 + { 70, 71, 72, 73, 74, 75, 76, 77, 78 }, //1 + { 69, 68, 67, 66, 65, 64, 63, 62, 61 }, //2 + { 40, 41, 42, 43, 44, 45, 46, 47, 48 }, //3 + { 39, NO_LED, 38, 37, 36, 35, 34, 33, 32 }, //4 + { 16, 17, 18, 23, 22, NO_LED, 19, 21, 20 }, //5 + { NO_LED, 87, 88, 90, 91, 92, 89, 93, 94 }, //6 + { 80, 86, 85, 83, NO_LED, 82, 84, 81, 79 }, //7 + { NO_LED, 53, 54, 56, 57, 58, 55, 59, 60 }, //8 + { NO_LED, NO_LED, 27, 52, NO_LED, 51, NO_LED, 50, 49 }, //9 + { NO_LED, 26, 25, NO_LED, 28, 29, 24, 30, 31 } //A +}, { + // LED Index to Physical Position + { 13, 51 },{ 40, 51},{ 73, 51},{ 108, 51},{ 141, 51},{ 174, 51},{ 207, 51}, + { 207, 32}, + { 207, 13},{ 174, 13},{ 141, 13},{ 108, 13},{ 73, 13},{ 40, 13},{ 13, 13}, + { 13, 32}, + +{ 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 }, { 193, 59 }, { 205, 59 }, { 217, 59 }, +{ 205, 49 }, { 165, 49 }, { 142, 49 }, { 130, 49 }, { 118, 49 }, { 106, 49 }, { 94, 49 }, { 82, 49 }, { 70, 49 }, { 58, 49 }, { 46, 49 }, { 34, 49 }, { 14, 49 }, +{ 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 }, { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 }, +{ 217, 30 }, { 205, 30 }, { 193, 30 }, { 172, 30 }, { 157, 30 }, { 145, 30 }, { 133, 30 }, { 121, 30 }, { 109, 30 }, { 97, 30 }, { 85, 30 }, { 73, 30 }, { 61, 30 }, { 49, 30 }, { 37, 30 }, { 25, 30 }, { 10, 30 }, +{ 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 }, { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 }, { 217, 20 }, +{ 217, 5 }, { 205, 5 }, { 193, 5 }, { 175, 5 }, { 163, 5 }, { 151, 5 }, { 139, 5 }, { 121, 5 }, { 109, 5 }, { 97, 5 }, { 85, 5 }, { 67, 5 }, { 55, 5 }, { 43, 5 }, { 31, 5 },{ 7, 5 }, +}, { + // LED Index to Flag +2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + +1,1,1,4,1,1,1,1,1,1,1, +1,1,4,4,4,4,4,4,4,4,4,4,1, +9,4,4,4,4,4,4,4,4,4,4,4,1, +1,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,1, +4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1, +1,9,1,4,4,4,4,1,1,1,1,4,4,4,4,1 +} }; + +#endif diff --git a/keyboards/idobao/id87/v2/v2.h b/keyboards/idobao/id87/v2/v2.h new file mode 100644 index 000000000000..1a75d95755c8 --- /dev/null +++ b/keyboards/idobao/id87/v2/v2.h @@ -0,0 +1,40 @@ +/* +Copyright 2020 Tybera +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_tkl_ansi( \ + K00, K02, K03, K04, K05, K06, K07, K08, K68, K67, K65, K64, K63, K66, K62, K61, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K73, K76, K72, K71, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K83, K86, K82, K81, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K93, \ + K40, K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4, K92, \ + K50, K51, K52, K56, K58, K57, K54, K53, KA6, KA2, KA1 \ +) { \ + { K00, KC_NO, K02, K03, K04, K05, K06, K07, K08 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38 }, \ + { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48 }, \ + { K50, K51, K52, K53, K54, KC_NO, K56, K57, K58 }, \ + { KC_NO, K61, K62, K63, K64, K65, K66, K67, K68 }, \ + { K70, K71, K72, K73, KC_NO, K75, K76, K77, K78 }, \ + { KC_NO, K81, K82, K83, K84, K85, K86, K87, K88 }, \ + { KC_NO, KC_NO, K92, K93, KC_NO, K95, KC_NO, K97, K98 }, \ + { KC_NO, KA1, KA2, KC_NO, KA4, KA5, KA6, KA7, KA8 }, \ +} + + From 87c2f97def26e4899d1c48a4428f3026aa914275 Mon Sep 17 00:00:00 2001 From: rookiebwoy <81021475+rookiebwoy@users.noreply.github.com> Date: Tue, 8 Mar 2022 04:59:50 +0100 Subject: [PATCH 0316/1832] [Keyboard] Add LATE-9 keyboard (#13966) --- keyboards/late9/config.h | 31 +++ keyboards/late9/readme.md | 27 ++ keyboards/late9/rev1/config.h | 38 +++ keyboards/late9/rev1/info.json | 18 ++ keyboards/late9/rev1/keymaps/default/keymap.c | 84 +++++++ .../late9/rev1/keymaps/default/readme.md | 3 + .../late9/rev1/keymaps/multitap/keymap.c | 235 ++++++++++++++++++ .../late9/rev1/keymaps/multitap/readme.md | 3 + .../late9/rev1/keymaps/multitap/rules.mk | 2 + keyboards/late9/rev1/readme.md | 5 + keyboards/late9/rev1/rev1.c | 60 +++++ keyboards/late9/rev1/rev1.h | 59 +++++ keyboards/late9/rev1/rules.mk | 21 ++ keyboards/late9/rules.mk | 1 + 14 files changed, 587 insertions(+) create mode 100644 keyboards/late9/config.h create mode 100644 keyboards/late9/readme.md create mode 100644 keyboards/late9/rev1/config.h create mode 100644 keyboards/late9/rev1/info.json create mode 100644 keyboards/late9/rev1/keymaps/default/keymap.c create mode 100644 keyboards/late9/rev1/keymaps/default/readme.md create mode 100644 keyboards/late9/rev1/keymaps/multitap/keymap.c create mode 100644 keyboards/late9/rev1/keymaps/multitap/readme.md create mode 100644 keyboards/late9/rev1/keymaps/multitap/rules.mk create mode 100644 keyboards/late9/rev1/readme.md create mode 100644 keyboards/late9/rev1/rev1.c create mode 100644 keyboards/late9/rev1/rev1.h create mode 100644 keyboards/late9/rev1/rules.mk create mode 100755 keyboards/late9/rules.mk diff --git a/keyboards/late9/config.h b/keyboards/late9/config.h new file mode 100644 index 000000000000..a4dc07a7c42d --- /dev/null +++ b/keyboards/late9/config.h @@ -0,0 +1,31 @@ +/* +Copyright 2021 rookiebwoy + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x3777 +#define MANUFACTURER rookiebwoy +#define PRODUCT LATE-9 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/late9/readme.md b/keyboards/late9/readme.md new file mode 100644 index 000000000000..1d85e788fbe7 --- /dev/null +++ b/keyboards/late9/readme.md @@ -0,0 +1,27 @@ +# LATE-9 + + +The LATE-9 is a multi-tap input keyboard based on mobile phones from the late '90s. LATE-9 is intended as a dev board with 18 buttons and an OLED screen, made by through-hole components only. With this, you can experiment QMK OLED capabilities with very little expense. + +![LATE-9](https://i.imgur.com/QXycTC3h.jpg "LATE-9 first proto") + +See the project repository for gerbers. + +* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy) +* Hardware supported: ProMicro, _Elite-C (not tested)_ +* Project repository: [LATE-9 on github](https://github.com/rookiebwoy/late-9) + +Make example for this keyboard (after setting up your build environment): + + make late9/rev1:default + +Flashing example for this keyboard: + + make late9/rev1:default:flash + + +When asked by the terminal, short with a metal wire the pins on the backside of the board highlighted as `RST` (one is the `RESET` and the other one is `GROUND`) to enter the bootloader and let the OS detects the device. +After installing this firmware you can use Bootmagic to enter the bootloader while plugging in your LATE-9. By default it's the button on the upper-left of the keyboard. + +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 [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + diff --git a/keyboards/late9/rev1/config.h b/keyboards/late9/rev1/config.h new file mode 100644 index 000000000000..20d1a553cc23 --- /dev/null +++ b/keyboards/late9/rev1/config.h @@ -0,0 +1,38 @@ +/* +Copyright 2021 rookiebwoy + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define DEVICE_VER 0x0010 + +/* Column/Row IO definitions */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 3 +#define MATRIX_ROW_PINS { B4, E6, D7, B3, B2, B6 } +#define MATRIX_COL_PINS { B5, C6, D4 } + +/* Bootmagic - hold down top left button while plugging in to enter bootloader */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +/* Tap interval for tap dance */ +#define TAPPING_TERM 400 + +/* Oneshot interval */ +#define ONESHOT_TIMEOUT 5000 diff --git a/keyboards/late9/rev1/info.json b/keyboards/late9/rev1/info.json new file mode 100644 index 000000000000..66175c9afa87 --- /dev/null +++ b/keyboards/late9/rev1/info.json @@ -0,0 +1,18 @@ +{ + "keyboard_name": "LATE-9", + "keyboard_folder": "late9/rev1", + "url": "https://github.com/rookiebwoy/late-9)", + "maintainer": "rookiebwoy", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, + {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, + {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, + {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, + {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, + {"x":0, "y":5}, {"x":1, "y":5}, {"x":2, "y":5} + ] + } + } +} diff --git a/keyboards/late9/rev1/keymaps/default/keymap.c b/keyboards/late9/rev1/keymaps/default/keymap.c new file mode 100644 index 000000000000..bed15eb57e5d --- /dev/null +++ b/keyboards/late9/rev1/keymaps/default/keymap.c @@ -0,0 +1,84 @@ +/* Copyright 2021 rookiebwoy + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Layers declarations +enum layers { + _BL, + _OL +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap _BL: Base Layer + * ,-----------------------. + * |MO(OP) | ↑ | BSPC | + * | | | | + * |-------|-------|-------| + * | <- | ↓ | -> | + * | | | | + * |-------|-------|-------| + * | 1 | 2 | 3 | + * | | | | + * |-------|-------|-------| + * | 4 | 5 | 6 | + * | | | | + * |-------|-------|-------| + * | 7 | 8 | 9 | + * | | | | + * |-------|-------|-------| + * | 0 | . | = | + * | | | | + * `-----------------------' + */ + [_BL] = LAYOUT( + MO(1), KC_UP, KC_BSPC, + KC_LEFT, KC_DOWN, KC_RIGHT, + KC_P1, KC_P2, KC_P3, + KC_P4, KC_P5, KC_P6, + KC_P7, KC_P8, KC_P9, + KC_P0, KC_PDOT, KC_PEQL + ), + +/* Keymap _OP: Operators Layer + * ,-----------------------. + * |MO(OP) | ↑ | BSPC | + * | | | | + * |-------|-------|-------| + * | <- | ↓ | -> | + * | | | | + * |-------|-------|-------| + * | / | * | - | + * | | | | + * |-------|-------|-------| + * | ( | ) | + | + * | | | | + * |-------|-------|-------| + * | & | % | ^ | + * | | | | + * |-------|-------|-------| + * | | | . | = | + * | | | | + * `-----------------------' + */ + [_OL] = LAYOUT( + MO(1), KC_UP, KC_BSPC, + KC_LEFT, KC_DOWN, KC_RIGHT, + KC_PSLS, KC_PAST, KC_PMNS, + LSFT(KC_9), LSFT(KC_0), KC_PPLS, + LSFT(KC_7), LSFT(KC_5), LSFT(KC_6), + LSFT(KC_BSLS), KC_PDOT, KC_PEQL + ), +}; \ No newline at end of file diff --git a/keyboards/late9/rev1/keymaps/default/readme.md b/keyboards/late9/rev1/keymaps/default/readme.md new file mode 100644 index 000000000000..f78318d7dea9 --- /dev/null +++ b/keyboards/late9/rev1/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# LATE-9 default keymap + +This is a simple 2-layer calculator look-a-like layout. diff --git a/keyboards/late9/rev1/keymaps/multitap/keymap.c b/keyboards/late9/rev1/keymaps/multitap/keymap.c new file mode 100644 index 000000000000..9c32699c42ad --- /dev/null +++ b/keyboards/late9/rev1/keymaps/multitap/keymap.c @@ -0,0 +1,235 @@ +/* Copyright 2021 rookiebwoy + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Layers declarations +enum layers { + _BL +}; + +// Tap Dance declarations +enum { + TD_PNCT, + TD_ABC, + TD_DEF, + TD_GHI, + TD_JKL, + TD_MNO, + TD_PQRS, + TD_TUV, + TD_WXYZ, + TD_SPACE, + TD_UPRCS, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap _BL: Base Layer + * ,-----------------------. + * |ENTER | ↑ | BSPC | + * | | | | + * |-------|-------|-------| + * | <- | ↓ | -> | + * | | | | + * |-------|-------|-------| + * | 1 .,' | 2 | 3 | + * |?!-:;/ | abc | def | + * |-------|-------|-------| + * | 4 | 5 | 6 | + * | ghi | jkl | mno | + * |-------|-------|-------| + * | 7 | 8 | 9 | + * | pqrs | tuv | wxyz | + * |-------|-------|-------| + * | * | 0 | CAPS | + * | | space | | + * `-----------------------' + */ + [_BL] = LAYOUT( + KC_ENT, KC_UP, KC_BSPC, + KC_LEFT, KC_DOWN, KC_RIGHT, + TD(TD_PNCT), TD(TD_ABC), TD(TD_DEF), + TD(TD_GHI), TD(TD_JKL), TD(TD_MNO), + TD(TD_PQRS), TD(TD_TUV), TD(TD_WXYZ), + KC_PAST, TD(TD_SPACE), TD(TD_UPRCS) + ), +}; + +// Tap Dance cycles +void dance_1 (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_DOT); + else return tap_code(KC_1); + } else if (state->count == 2) { + tap_code (KC_COMM); + } else if (state->count == 3) { + tap_code(KC_QUOT); + } else if (state->count == 4) { + tap_code16(KC_QUES); + } else if (state->count == 5) { + tap_code16(KC_EXLM); + } else if (state->count == 6) { + tap_code(KC_MINS); + } else if (state->count == 7) { + tap_code16(KC_COLN); + } else if (state->count == 8) { + tap_code(KC_SCLN); + } else if (state->count == 9) { + tap_code(KC_SLSH); + } else { + reset_tap_dance (state); + } +} + +void dance_2 (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_A); + else return tap_code(KC_2); + } else if (state->count == 2) { + tap_code (KC_B); + } else if (state->count == 3) { + tap_code(KC_C); + } else { + reset_tap_dance (state); + } +} + +void dance_3 (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_D); + else return tap_code(KC_3); + } else if (state->count == 2) { + tap_code (KC_E); + } else if (state->count == 3) { + tap_code(KC_F); + } else { + reset_tap_dance (state); + } +} + +void dance_4 (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_G); + else return tap_code(KC_4); + } else if (state->count == 2) { + tap_code (KC_H); + } else if (state->count == 3) { + tap_code(KC_I); + } else { + reset_tap_dance (state); + } +} + +void dance_5 (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_J); + else return tap_code(KC_5); + } else if (state->count == 2) { + tap_code (KC_K); + } else if (state->count == 3) { + tap_code(KC_L); + } else { + reset_tap_dance (state); + } +} + +void dance_6 (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_M); + else return tap_code(KC_6); + } else if (state->count == 2) { + tap_code (KC_N); + } else if (state->count == 3) { + tap_code(KC_O); + } else { + reset_tap_dance (state); + } +} + +void dance_7 (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_P); + else return tap_code(KC_7); + } else if (state->count == 2) { + tap_code (KC_Q); + } else if (state->count == 3) { + tap_code(KC_R); + } else if (state->count == 4) { + tap_code(KC_S); + } else { + reset_tap_dance (state); + } +} + +void dance_8 (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_T); + else return tap_code(KC_8); + } else if (state->count == 2) { + tap_code (KC_U); + } else if (state->count == 3) { + tap_code(KC_V); + } else { + reset_tap_dance (state); + } +} + +void dance_9 (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_W); + else return tap_code(KC_9); + } else if (state->count == 2) { + tap_code (KC_X); + } else if (state->count == 3) { + tap_code(KC_Y); + } else if (state->count == 4) { + tap_code(KC_Z); + } else { + reset_tap_dance (state); + } +} + +void dance_0 (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_SPACE); + else return tap_code(KC_0); + } else { + reset_tap_dance (state); + } +} + +void dance_maiusc (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return set_oneshot_mods(MOD_BIT(KC_LSFT)); + else return tap_code(KC_CAPS); + } else { + reset_tap_dance (state); + } +} + +// Tap Dance actions +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_PNCT] = ACTION_TAP_DANCE_FN (dance_1), + [TD_ABC] = ACTION_TAP_DANCE_FN (dance_2), + [TD_DEF] = ACTION_TAP_DANCE_FN (dance_3), + [TD_GHI] = ACTION_TAP_DANCE_FN (dance_4), + [TD_JKL] = ACTION_TAP_DANCE_FN (dance_5), + [TD_MNO] = ACTION_TAP_DANCE_FN (dance_6), + [TD_PQRS] = ACTION_TAP_DANCE_FN (dance_7), + [TD_TUV] = ACTION_TAP_DANCE_FN (dance_8), + [TD_WXYZ] = ACTION_TAP_DANCE_FN (dance_9), + [TD_SPACE] = ACTION_TAP_DANCE_FN (dance_0), + [TD_UPRCS] = ACTION_TAP_DANCE_FN (dance_maiusc), +}; diff --git a/keyboards/late9/rev1/keymaps/multitap/readme.md b/keyboards/late9/rev1/keymaps/multitap/readme.md new file mode 100644 index 000000000000..2b5136c2b8ec --- /dev/null +++ b/keyboards/late9/rev1/keymaps/multitap/readme.md @@ -0,0 +1,3 @@ +# LATE-9 multitap keymap + +This is the intended LATE-9 layout with multitap `ON` and old mobile phone look-a-like layout.. diff --git a/keyboards/late9/rev1/keymaps/multitap/rules.mk b/keyboards/late9/rev1/keymaps/multitap/rules.mk new file mode 100644 index 000000000000..4141c3e7a422 --- /dev/null +++ b/keyboards/late9/rev1/keymaps/multitap/rules.mk @@ -0,0 +1,2 @@ +# Enable Tap Dance feature +TAP_DANCE_ENABLE = yes diff --git a/keyboards/late9/rev1/readme.md b/keyboards/late9/rev1/readme.md new file mode 100644 index 000000000000..d9683222a9b8 --- /dev/null +++ b/keyboards/late9/rev1/readme.md @@ -0,0 +1,5 @@ +# LATE-9 rev1 + +First (and final untill now) revision of the LATE-9. For in depth look please go to [project repository](https://github.com/rookiebwoy/late-9). + + diff --git a/keyboards/late9/rev1/rev1.c b/keyboards/late9/rev1/rev1.c new file mode 100644 index 000000000000..e79f76cd3ba4 --- /dev/null +++ b/keyboards/late9/rev1/rev1.c @@ -0,0 +1,60 @@ +/* Copyright 2021 rookiebwoy + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "rev1.h" + +// OLED logo +#ifdef OLED_ENABLE +bool oled_task_kb(void) { + if (!oled_task_user()) { return false; } + static const char PROGMEM rb_logo[] = { + // rookiebwoy 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, + 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xe3, 0xe3, 0xe3, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x1c, + 0x1c, 0x1c, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, + 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, + 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x07, 0x07, 0x07, + 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x3f, + 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, + 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, + 0x00, 0x00, 0x07, 0x07, 0x07, 0x38, 0x38, 0x38, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x0e, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + oled_write_raw_P(rb_logo, sizeof(rb_logo)); +} + +#endif diff --git a/keyboards/late9/rev1/rev1.h b/keyboards/late9/rev1/rev1.h new file mode 100644 index 000000000000..2e5bb5ec52c3 --- /dev/null +++ b/keyboards/late9/rev1/rev1.h @@ -0,0 +1,59 @@ +/* Copyright 2021 rookiebwoy + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +/* Matrix layout + * ,--------------. + * | 00 | 01 | 02 | + * |----|----|----| + * | 10 | 11 | 12 | + * |----|----|----| + * | 20 | 21 | 22 | + * |----|----|----| + * | 30 | 31 | 32 | + * |----|----|----| + * | 40 | 41 | 42 | + * |----|----|----| + * | 50 | 51 | 52 | + * `--------------' + */ +#define LAYOUT( \ + k00, k01, k02, \ + k10, k11, k12, \ + k20, k21, k22, \ + k30, k31, k32, \ + k40, k41, k42, \ + k50, k51, k52 \ +) \ +{ \ + {k00, k01, k02}, \ + {k10, k11, k12}, \ + {k20, k21, k22}, \ + {k30, k31, k32}, \ + {k40, k41, k42}, \ + {k50, k51, k52} \ +} diff --git a/keyboards/late9/rev1/rules.mk b/keyboards/late9/rev1/rules.mk new file mode 100644 index 000000000000..26b6991c2f73 --- /dev/null +++ b/keyboards/late9/rev1/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +OLED_ENABLE = yes +DEBOUNCE_TYPE = sym_eager_pk diff --git a/keyboards/late9/rules.mk b/keyboards/late9/rules.mk new file mode 100755 index 000000000000..51c1b0d2a6f7 --- /dev/null +++ b/keyboards/late9/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = late9/rev1 From 8f70adc0b6e8c1e7f08f9fd2496385c4053282ee Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Tue, 8 Mar 2022 12:09:54 +0800 Subject: [PATCH 0317/1832] [Keyboard] Update encoder code for macro3 (#16005) --- keyboards/macro3/config.h | 2 +- keyboards/macro3/keymaps/default/keymap.c | 2 +- keyboards/macro3/macro3.c | 4 ++-- keyboards/macro3/readme.md | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/macro3/config.h b/keyboards/macro3/config.h index 722cdf319fd6..7e7b371960b7 100644 --- a/keyboards/macro3/config.h +++ b/keyboards/macro3/config.h @@ -18,7 +18,7 @@ #define MATRIX_COLS 4 /* key matrix pins */ -#define DIRECT_PINS { \ +#define DIRECT_PINS { \ { D7, C6, D4, D1 }, \ { B1, B4, B5, B3 } \ } diff --git a/keyboards/macro3/keymaps/default/keymap.c b/keyboards/macro3/keymaps/default/keymap.c index 11ebeff0230d..e866d481df60 100644 --- a/keyboards/macro3/keymaps/default/keymap.c +++ b/keyboards/macro3/keymaps/default/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( _______, _______, _______, _______, - RESET, _______, _______, _______ + QK_BOOT, _______, _______, _______ ) }; diff --git a/keyboards/macro3/macro3.c b/keyboards/macro3/macro3.c index 90bb98250913..0937abfc8325 100644 --- a/keyboards/macro3/macro3.c +++ b/keyboards/macro3/macro3.c @@ -10,9 +10,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { if (clockwise) { - tap_code(KC_VOLU); + tap_code_delay(KC_VOLU, 10); } else { - tap_code(KC_VOLD); + tap_code_delay(KC_VOLD, 10); } } else if (index == 1) { if (clockwise) { diff --git a/keyboards/macro3/readme.md b/keyboards/macro3/readme.md index 023474117459..40cf92739242 100644 --- a/keyboards/macro3/readme.md +++ b/keyboards/macro3/readme.md @@ -6,7 +6,7 @@ Macro3 is a low-profile macro pad with dual encoder support designed by [@davidp ## Keyboard Info -* Keyboard Maintainer: [davidphilipbarr](https://github.com/davidphilipbarr) +* Keyboard Maintainer: [filterpaper](https://github.com/filterpaper), [davidphilipbarr](https://github.com/davidphilipbarr) * Hardware Supported: [Macro3](https://github.com/davidphilipbarr/Macropads/tree/main/macro3) * Hardware Availability: order PCBs with gerber file from the repository @@ -21,6 +21,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the top right key and plug in the controller. -* **Keycode in layout**: Press the key mapped to `RESET` if it is configured. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured. * **Physical reset pins**: Briefly short the RST and GND pins on the microcontroller using tweezers, a paperclip, or any other conductive material. From 0880850b158ca5da4eae28c43849909c01350f0f Mon Sep 17 00:00:00 2001 From: ZiTe Date: Tue, 8 Mar 2022 12:16:35 +0800 Subject: [PATCH 0318/1832] [Bug] Rename has_mouse_report_changed parameters (#16417) Fixes compilation issues when bluetooth is enabled, due to issues with cpp used by bluetooth code. Co-authored-by: Ryan Co-authored-by: Drashna Jaelre --- docs/feature_pointing_device.md | 6 +++--- docs/ja/feature_pointing_device.md | 4 ++-- quantum/pointing_device.c | 14 +++++++------- quantum/pointing_device.h | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 4b39599f8ab1..23a16b843ded 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -245,7 +245,7 @@ The following configuration options are only available when using `SPLIT_POINTIN | `pointing_device_get_report(void)` | Returns the current mouse report (as a `mouse_report_t` data structure). | | `pointing_device_set_report(mouse_report)` | Sets the mouse report to the assigned `mouse_report_t` data structured passed to the function. | | `pointing_device_send(void)` | Sends the current mouse report to the host system. Function can be replaced. | -| `has_mouse_report_changed(old, new)` | Compares the old and new `mouse_report_t` data and returns true only if it has changed. | +| `has_mouse_report_changed(new_report, old_report)` | Compares the old and new `mouse_report_t` data and returns true only if it has changed. | | `pointing_device_adjust_by_defines(mouse_report)` | Applies rotations and invert configurations to a raw mouse report. | @@ -276,14 +276,14 @@ The report_mouse_t (here "mouseReport") has the following properties: To manually manipulate the mouse reports outside of the `pointing_device_task_*` functions, you can use: * `pointing_device_get_report()` - Returns the current report_mouse_t that represents the information sent to the host computer -* `pointing_device_set_report(report_mouse_t newMouseReport)` - Overrides and saves the report_mouse_t to be sent to the host computer +* `pointing_device_set_report(report_mouse_t mouse_report)` - Overrides and saves the report_mouse_t to be sent to the host computer * `pointing_device_send()` - Sends the mouse report to the host and zeroes out the report. When the mouse report is sent, the x, y, v, and h values are set to 0 (this is done in `pointing_device_send()`, which can be overridden to avoid this behavior). This way, button states persist, but movement will only occur once. For further customization, both `pointing_device_init` and `pointing_device_task` can be overridden. Additionally, by default, `pointing_device_send()` will only send a report when the report has actually changed. This prevents it from continuously sending mouse reports, which will keep the host system awake. This behavior can be changed by creating your own `pointing_device_send()` function. -Also, you use the `has_mouse_report_changed(new, old)` function to check to see if the report has changed. +Also, you use the `has_mouse_report_changed(new_report, old_report)` function to check to see if the report has changed. ## Examples diff --git a/docs/ja/feature_pointing_device.md b/docs/ja/feature_pointing_device.md index 69bd86c55200..0f472f0ffe76 100644 --- a/docs/ja/feature_pointing_device.md +++ b/docs/ja/feature_pointing_device.md @@ -16,7 +16,7 @@ POINTING_DEVICE_ENABLE = yes マウスレポートを操作するために、以下の関数を使うことができます: * `pointing_device_get_report()` - ホストコンピュータに送信された情報を表す現在の report_mouse_t を返します。 -* `pointing_device_set_report(report_mouse_t newMouseReport)` - ホストコンピュータに送信される report_mouse_t を上書き保存します。 +* `pointing_device_set_report(report_mouse_t mouse_report)` - ホストコンピュータに送信される report_mouse_t を上書き保存します。 report_mouse_t (ここでは "mouseReport") が以下のプロパティを持つことを覚えておいてください: @@ -34,7 +34,7 @@ report_mouse_t (ここでは "mouseReport") が以下のプロパティを持つ さらに、デフォルトでは、`pointing_device_send()` はレポートが実際に変更された場合のみレポートを送信します。これにより、マウスレポートが継続的に送信されてホストシステムが起動されたままになることを防ぎます。この動作は、独自の `pointing_device_send()` 関数を作成することで変更できます。 -また、`has_mouse_report_changed(new, old)` 関数を使って、レポートが変更されたかどうかを確認できます。(訳注:独自の `pointing_device_send()` 関数を作成する場合でも、その中で `has_mouse_report_changed(new, old)` 関数でチェックして、デフォルトの `pointing_device_send()` と類似の無駄なレポートの抑制をして、ホストシステムがスリープ状態に入れる余地を残すようにしておくのが良いでしょう。) +また、`has_mouse_report_changed(new_report, old_report)` 関数を使って、レポートが変更されたかどうかを確認できます。(訳注:独自の `pointing_device_send()` 関数を作成する場合でも、その中で `has_mouse_report_changed(new_report, old_report)` 関数でチェックして、デフォルトの `pointing_device_send()` と類似の無駄なレポートの抑制をして、ホストシステムがスリープ状態に入れる余地を残すようにしておくのが良いでしょう。) 以下の例では、カスタムキーを使ってマウスをクリックし垂直および水平方向に127単位スクロールし、リリースされた時にそれを全て元に戻します - なぜならこれは完全に便利な機能だからです。いいですか、以下はひとつの例です: diff --git a/quantum/pointing_device.c b/quantum/pointing_device.c index 9627cab4b836..47a0af45d2a1 100644 --- a/quantum/pointing_device.c +++ b/quantum/pointing_device.c @@ -73,12 +73,12 @@ extern const pointing_device_driver_t pointing_device_driver; /** * @brief Compares 2 mouse reports for difference and returns result * - * @param[in] new report_mouse_t - * @param[in] old report_mouse_t + * @param[in] new_report report_mouse_t + * @param[in] old_report report_mouse_t * @return bool result */ -__attribute__((weak)) bool has_mouse_report_changed(report_mouse_t new, report_mouse_t old) { - return memcmp(&new, &old, sizeof(new)); +__attribute__((weak)) bool has_mouse_report_changed(report_mouse_t new_report, report_mouse_t old_report) { + return memcmp(&new_report, &old_report, sizeof(new_report)); } /** @@ -292,10 +292,10 @@ report_mouse_t pointing_device_get_report(void) { /** * @brief Sets mouse report used be pointing device task * - * @param[in] new_mouse_report + * @param[in] mouse_report */ -void pointing_device_set_report(report_mouse_t new_mouse_report) { - local_mouse_report = new_mouse_report; +void pointing_device_set_report(report_mouse_t mouse_report) { + local_mouse_report = mouse_report; } /** diff --git a/quantum/pointing_device.h b/quantum/pointing_device.h index 5f3845227aa0..a6bdbf120c6a 100644 --- a/quantum/pointing_device.h +++ b/quantum/pointing_device.h @@ -79,8 +79,8 @@ void pointing_device_init(void); void pointing_device_task(void); void pointing_device_send(void); report_mouse_t pointing_device_get_report(void); -void pointing_device_set_report(report_mouse_t newMouseReport); -bool has_mouse_report_changed(report_mouse_t new, report_mouse_t old); +void pointing_device_set_report(report_mouse_t mouse_report); +bool has_mouse_report_changed(report_mouse_t new_report, report_mouse_t old_report); uint16_t pointing_device_get_cpi(void); void pointing_device_set_cpi(uint16_t cpi); From 4493f31f801c0065d62f334d0b986195861fbf87 Mon Sep 17 00:00:00 2001 From: yiancar Date: Tue, 8 Mar 2022 04:18:41 +0000 Subject: [PATCH 0319/1832] Add HS version of Nebula65b due to different number of per-key-RGB (#16514) Co-authored-by: Drashna Jaelre Co-authored-by: yiancar --- keyboards/spaceholdings/nebula68b/hs/config.h | 19 +++++++++ keyboards/spaceholdings/nebula68b/hs/hs.c | 41 +++++++++++++++++++ keyboards/spaceholdings/nebula68b/hs/rules.mk | 0 keyboards/spaceholdings/nebula68b/nebula68b.c | 2 + 4 files changed, 62 insertions(+) create mode 100755 keyboards/spaceholdings/nebula68b/hs/config.h create mode 100755 keyboards/spaceholdings/nebula68b/hs/hs.c create mode 100644 keyboards/spaceholdings/nebula68b/hs/rules.mk diff --git a/keyboards/spaceholdings/nebula68b/hs/config.h b/keyboards/spaceholdings/nebula68b/hs/config.h new file mode 100755 index 000000000000..ac25a8ef1d04 --- /dev/null +++ b/keyboards/spaceholdings/nebula68b/hs/config.h @@ -0,0 +1,19 @@ +/* +Copyright 2021 Yiancar + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#undef DRIVER_LED_TOTAL +#define DRIVER_LED_TOTAL 78 diff --git a/keyboards/spaceholdings/nebula68b/hs/hs.c b/keyboards/spaceholdings/nebula68b/hs/hs.c new file mode 100755 index 000000000000..e411f64196ae --- /dev/null +++ b/keyboards/spaceholdings/nebula68b/hs/hs.c @@ -0,0 +1,41 @@ +/* Copyright 2021 Yiancar + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "nebula68b.h" + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { { + { 0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17, 18 }, + { 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, NO_LED, 21 }, + { 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 22, 49, 19 }, + { 63, NO_LED, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 20 }, + { 64, 65, 67, NO_LED, NO_LED, NO_LED, 69, NO_LED, NO_LED, 71, 72, 73, 75, 76, 77 } +}, { + { 6, 10}, { 19, 10}, { 32, 10}, { 39, 11}, { 45, 10}, { 58, 10}, { 71, 10}, { 84, 10}, { 90, 11}, { 97, 10}, {110, 10}, {123, 10}, {130, 11}, {136, 10}, {149, 10}, {162, 10}, + {178, 13}, {182, 10}, {205, 10}, {218, 10}, {218, 23}, {205, 23}, {185, 23}, {169, 23}, {156, 23}, {143, 23}, {130, 23}, {117, 23}, {104, 23}, { 91, 23}, { 78, 23}, + { 65, 23}, { 52, 23}, { 39, 23}, { 26, 23}, { 10, 23}, { 4, 26}, { 17, 29}, { 29, 35}, { 42, 35}, { 55, 35}, { 68, 35}, { 81, 35}, { 94, 35}, {107, 35}, {120, 35}, {133, 35}, + {146, 35}, {159, 35}, {180, 35}, {220, 32}, {205, 48}, {177, 48}, {153, 48}, {140, 48}, {127, 48}, {114, 48}, {101, 48}, { 88, 48}, { 75, 48}, { 62, 48}, { 49, 48}, { 36, 48}, + { 15, 48}, { 8, 61}, { 24, 61}, { 32, 52}, { 41, 61}, { 81, 56}, { 89, 61}, {132, 53}, {138, 61}, {154, 61}, {170, 61}, {179, 53}, {192, 61}, {205, 61}, {218, 61} +}, { + 1, 4, 4, 2, 4, 4, 4, 4, 2, 4, 4, 4, 2, 4, 4, 4, 2, 1, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 2, 1, 2, 4, 2, 1, 1, 1, 2, 1, 1, 1 +} }; +// clang-format on +#endif diff --git a/keyboards/spaceholdings/nebula68b/hs/rules.mk b/keyboards/spaceholdings/nebula68b/hs/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/spaceholdings/nebula68b/nebula68b.c b/keyboards/spaceholdings/nebula68b/nebula68b.c index 4842d9be928d..4d4f878c6bde 100755 --- a/keyboards/spaceholdings/nebula68b/nebula68b.c +++ b/keyboards/spaceholdings/nebula68b/nebula68b.c @@ -17,6 +17,7 @@ #include "nebula68b.h" #include +#ifndef KEYBOARD_spaceholdings_nebula68b_hs #ifdef RGB_MATRIX_ENABLE // clang-format off led_config_t g_led_config = { { @@ -40,6 +41,7 @@ led_config_t g_led_config = { { } }; // clang-format on #endif +#endif #if defined(RGB_MATRIX_ENABLE) && defined(VIA_ENABLE) void raw_hid_receive_kb(uint8_t *data, uint8_t length) { From 996880a1da6960979430a9a5b2a154eee58e1799 Mon Sep 17 00:00:00 2001 From: Ryan Baker <76887060+ryanbaekr@users.noreply.github.com> Date: Mon, 7 Mar 2022 23:19:45 -0500 Subject: [PATCH 0320/1832] [Keyboard] Add rb69 (#16526) --- keyboards/ryanbaekr/rb69/config.h | 118 ++++++++++++++++++ keyboards/ryanbaekr/rb69/info.json | 10 ++ .../ryanbaekr/rb69/keymaps/default/keymap.c | 34 +++++ .../ryanbaekr/rb69/keymaps/default/readme.md | 1 + keyboards/ryanbaekr/rb69/keymaps/via/keymap.c | 50 ++++++++ keyboards/ryanbaekr/rb69/keymaps/via/rules.mk | 2 + keyboards/ryanbaekr/rb69/rb69.c | 17 +++ keyboards/ryanbaekr/rb69/rb69.h | 35 ++++++ keyboards/ryanbaekr/rb69/readme.md | 15 +++ keyboards/ryanbaekr/rb69/rules.mk | 18 +++ 10 files changed, 300 insertions(+) create mode 100644 keyboards/ryanbaekr/rb69/config.h create mode 100644 keyboards/ryanbaekr/rb69/info.json create mode 100644 keyboards/ryanbaekr/rb69/keymaps/default/keymap.c create mode 100644 keyboards/ryanbaekr/rb69/keymaps/default/readme.md create mode 100644 keyboards/ryanbaekr/rb69/keymaps/via/keymap.c create mode 100644 keyboards/ryanbaekr/rb69/keymaps/via/rules.mk create mode 100644 keyboards/ryanbaekr/rb69/rb69.c create mode 100644 keyboards/ryanbaekr/rb69/rb69.h create mode 100644 keyboards/ryanbaekr/rb69/readme.md create mode 100644 keyboards/ryanbaekr/rb69/rules.mk diff --git a/keyboards/ryanbaekr/rb69/config.h b/keyboards/ryanbaekr/rb69/config.h new file mode 100644 index 000000000000..2112eda1a74f --- /dev/null +++ b/keyboards/ryanbaekr/rb69/config.h @@ -0,0 +1,118 @@ +/* +Copyright 2021 ryanbaekr + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7262 +#define PRODUCT_ID 0x0069 +#define DEVICE_VER 0x0003 +#define MANUFACTURER ryanbaekr +#define PRODUCT rb69 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D7, C6, D4, D0, D1 } +#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, F0, F1, B4, B5, B7, D5, C7, E6 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 10 + +/* Underglow options */ +#define RGB_DI_PIN B0 +#ifdef RGB_DI_PIN +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLED_NUM 14 +#define RGBLED_HUE_STEP 8 +#define RGBLED_SAT_STEP 8 +#define RGBLED_VAL_STEP 8 +#endif + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/ryanbaekr/rb69/info.json b/keyboards/ryanbaekr/rb69/info.json new file mode 100644 index 000000000000..0377479cf65c --- /dev/null +++ b/keyboards/ryanbaekr/rb69/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "rb69", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT": { + "layout": [{"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":15.25, "y":3.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":1.5}, {"x":15.25, "y":4.25}, {"x":14, "y":4.5}, {"x":0, "y":5.25, "w":1.5}, {"x":1.5, "y":5.25, "w":1.25}, {"x":2.75, "y":5.25, "w":1.25}, {"x":4, "y":5.25, "w":6.25}, {"x":10.25, "y":5.25, "w":1.25}, {"x":11.5, "y":5.25, "w":1.25}, {"x":13, "y":5.5}, {"x":14, "y":5.5}, {"x":15, "y":5.5}] + } + } +} diff --git a/keyboards/ryanbaekr/rb69/keymaps/default/keymap.c b/keyboards/ryanbaekr/rb69/keymaps/default/keymap.c new file mode 100644 index 000000000000..c3ed407b70f3 --- /dev/null +++ b/keyboards/ryanbaekr/rb69/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2021 ryanbaekr + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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_GRV, KC_BSLS, KC_HOME, + 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_DEL, KC_END, + 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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TG(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/ryanbaekr/rb69/keymaps/default/readme.md b/keyboards/ryanbaekr/rb69/keymaps/default/readme.md new file mode 100644 index 000000000000..35d623b10eea --- /dev/null +++ b/keyboards/ryanbaekr/rb69/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for rb69 diff --git a/keyboards/ryanbaekr/rb69/keymaps/via/keymap.c b/keyboards/ryanbaekr/rb69/keymaps/via/keymap.c new file mode 100644 index 000000000000..eb7ba1aeebe8 --- /dev/null +++ b/keyboards/ryanbaekr/rb69/keymaps/via/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2021 ryanbaekr + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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_GRV, KC_BSLS, KC_HOME, + 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_DEL, KC_END, + 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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TG(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/ryanbaekr/rb69/keymaps/via/rules.mk b/keyboards/ryanbaekr/rb69/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/ryanbaekr/rb69/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/ryanbaekr/rb69/rb69.c b/keyboards/ryanbaekr/rb69/rb69.c new file mode 100644 index 000000000000..68d27ce39a4d --- /dev/null +++ b/keyboards/ryanbaekr/rb69/rb69.c @@ -0,0 +1,17 @@ +/* Copyright 2021 ryanbaekr + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "rb69.h" diff --git a/keyboards/ryanbaekr/rb69/rb69.h b/keyboards/ryanbaekr/rb69/rb69.h new file mode 100644 index 000000000000..6ae6e1ac9368 --- /dev/null +++ b/keyboards/ryanbaekr/rb69/rb69.h @@ -0,0 +1,35 @@ +/* Copyright 2021 ryanbaekr + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define ___ KC_NO + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2f, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, k3f, \ + k40, k42, k43, k47, k4a, k4c, k4d, k4e, k4f \ +){ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ + { k10, ___, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \ + { k20, ___, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, ___, k2f }, \ + { ___, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, ___, k3d, k3e, k3f }, \ + { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, k4a, ___, k4c, k4d, k4e, k4f } \ +} diff --git a/keyboards/ryanbaekr/rb69/readme.md b/keyboards/ryanbaekr/rb69/readme.md new file mode 100644 index 000000000000..d90c973a8966 --- /dev/null +++ b/keyboards/ryanbaekr/rb69/readme.md @@ -0,0 +1,15 @@ +# rb69 + +A diy stacked acrylic 65% keyboard. + +* Keyboard Maintainer: [ryanbaekr](https://github.com/ryanbaekr) +* Hardware Supported: rb69 with Elite-C +* Hardware Availability: 2022/03/04 + +Make example for this keyboard (after setting up your build environment): + + make ryanbaekr/rb69:default + +To boot into the bootloader, hold the reset button on the Elite-C on plug in + +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/ryanbaekr/rb69/rules.mk b/keyboards/ryanbaekr/rb69/rules.mk new file mode 100644 index 000000000000..ebbb7bc613c7 --- /dev/null +++ b/keyboards/ryanbaekr/rb69/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 4d2ae22690eec671dc7a45e3adfbab8ee0727fba Mon Sep 17 00:00:00 2001 From: Matthew Dias Date: Mon, 7 Mar 2022 22:23:06 -0600 Subject: [PATCH 0321/1832] [Keyboard] Add mini winni (#15341) Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan --- keyboards/winkeys/mini_winni/config.h | 68 +++++++++++++++++++ keyboards/winkeys/mini_winni/info.json | 9 +++ .../mini_winni/keymaps/default/keymap.c | 42 ++++++++++++ .../winkeys/mini_winni/keymaps/via/keymap.c | 42 ++++++++++++ .../winkeys/mini_winni/keymaps/via/rules.mk | 1 + keyboards/winkeys/mini_winni/mini_winni.c | 18 +++++ keyboards/winkeys/mini_winni/mini_winni.h | 27 ++++++++ keyboards/winkeys/mini_winni/readme.md | 22 ++++++ keyboards/winkeys/mini_winni/rules.mk | 18 +++++ 9 files changed, 247 insertions(+) create mode 100644 keyboards/winkeys/mini_winni/config.h create mode 100644 keyboards/winkeys/mini_winni/info.json create mode 100644 keyboards/winkeys/mini_winni/keymaps/default/keymap.c create mode 100644 keyboards/winkeys/mini_winni/keymaps/via/keymap.c create mode 100644 keyboards/winkeys/mini_winni/keymaps/via/rules.mk create mode 100644 keyboards/winkeys/mini_winni/mini_winni.c create mode 100644 keyboards/winkeys/mini_winni/mini_winni.h create mode 100644 keyboards/winkeys/mini_winni/readme.md create mode 100644 keyboards/winkeys/mini_winni/rules.mk diff --git a/keyboards/winkeys/mini_winni/config.h b/keyboards/winkeys/mini_winni/config.h new file mode 100644 index 000000000000..821f5cdc7696 --- /dev/null +++ b/keyboards/winkeys/mini_winni/config.h @@ -0,0 +1,68 @@ + +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x574B +#define PRODUCT_ID 0x7770 +#define DEVICE_VER 0x0001 +#define MANUFACTURER WinKeys +#define PRODUCT Mini Winni + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 4 + +/* key matrix pins */ +#define DIRECT_PINS { { F4, F5, B4, D7 }, { F6, F7, B6, B5 } } +#define UNUSED_PINS + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define RGB_DI_PIN E6 +#define RGBLED_NUM 4 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/winkeys/mini_winni/info.json b/keyboards/winkeys/mini_winni/info.json new file mode 100644 index 000000000000..254507355164 --- /dev/null +++ b/keyboards/winkeys/mini_winni/info.json @@ -0,0 +1,9 @@ +{ + "keyboard_name": "Mini Winni", + "maintainer": "Matthew Dias", + "layouts": { + "LAYOUT_all": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}] + } + } +} diff --git a/keyboards/winkeys/mini_winni/keymaps/default/keymap.c b/keyboards/winkeys/mini_winni/keymaps/default/keymap.c new file mode 100644 index 000000000000..5613ca4d89a6 --- /dev/null +++ b/keyboards/winkeys/mini_winni/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_F1, KC_F2, KC_F3, KC_F4, + KC_F5, KC_F6, KC_F7, KC_F8 + ), + + [1] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; \ No newline at end of file diff --git a/keyboards/winkeys/mini_winni/keymaps/via/keymap.c b/keyboards/winkeys/mini_winni/keymaps/via/keymap.c new file mode 100644 index 000000000000..5613ca4d89a6 --- /dev/null +++ b/keyboards/winkeys/mini_winni/keymaps/via/keymap.c @@ -0,0 +1,42 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_F1, KC_F2, KC_F3, KC_F4, + KC_F5, KC_F6, KC_F7, KC_F8 + ), + + [1] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; \ No newline at end of file diff --git a/keyboards/winkeys/mini_winni/keymaps/via/rules.mk b/keyboards/winkeys/mini_winni/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/winkeys/mini_winni/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/winkeys/mini_winni/mini_winni.c b/keyboards/winkeys/mini_winni/mini_winni.c new file mode 100644 index 000000000000..35c75c4ad79b --- /dev/null +++ b/keyboards/winkeys/mini_winni/mini_winni.c @@ -0,0 +1,18 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "mini_winni.h" diff --git a/keyboards/winkeys/mini_winni/mini_winni.h b/keyboards/winkeys/mini_winni/mini_winni.h new file mode 100644 index 000000000000..4d4374761d08 --- /dev/null +++ b/keyboards/winkeys/mini_winni/mini_winni.h @@ -0,0 +1,27 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" +#define LAYOUT_all( \ + K00, K01, K02, K03, \ + K10, K11, K12, K13 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 } \ +} diff --git a/keyboards/winkeys/mini_winni/readme.md b/keyboards/winkeys/mini_winni/readme.md new file mode 100644 index 000000000000..e7c43995c00f --- /dev/null +++ b/keyboards/winkeys/mini_winni/readme.md @@ -0,0 +1,22 @@ +# Mini Winni + +A 2x4 Macropad by WinKeys + +- Keyboard Maintainer: [matthewdias](https://github.com/matthewdias) +- Hardware Supported: mini winni PCB + +Make example for this keyboard (after setting up your build environment): + + make winkeys/mini_winni:default + +Flashing example for this keyboard: + + make winkeys/mini_winni:default:flash + +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). + +## Bootloader + +Enter the bootloader: + +- **Physical reset button**: Briefly press the button on the back of the PCB (or short the reset/ground pads, should a tactile button not be installed) diff --git a/keyboards/winkeys/mini_winni/rules.mk b/keyboards/winkeys/mini_winni/rules.mk new file mode 100644 index 000000000000..7b7949afcb6c --- /dev/null +++ b/keyboards/winkeys/mini_winni/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 403536986d4a4808a02bb0e0a2d0de8ab4551541 Mon Sep 17 00:00:00 2001 From: drewpyun <48503175+drewpyun@users.noreply.github.com> Date: Mon, 7 Mar 2022 23:23:53 -0500 Subject: [PATCH 0322/1832] [Keyboard] Add Iskar (#16562) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/drewkeys/iskar/config.h | 56 +++ keyboards/drewkeys/iskar/info.json | 383 ++++++++++++++++++ keyboards/drewkeys/iskar/iskar.c | 17 + keyboards/drewkeys/iskar/iskar.h | 155 +++++++ .../drewkeys/iskar/keymaps/default/keymap.c | 33 ++ .../drewkeys/iskar/keymaps/default/readme.md | 1 + keyboards/drewkeys/iskar/readme.md | 24 ++ keyboards/drewkeys/iskar/rules.mk | 19 + 8 files changed, 688 insertions(+) create mode 100644 keyboards/drewkeys/iskar/config.h create mode 100644 keyboards/drewkeys/iskar/info.json create mode 100644 keyboards/drewkeys/iskar/iskar.c create mode 100644 keyboards/drewkeys/iskar/iskar.h create mode 100644 keyboards/drewkeys/iskar/keymaps/default/keymap.c create mode 100644 keyboards/drewkeys/iskar/keymaps/default/readme.md create mode 100644 keyboards/drewkeys/iskar/readme.md create mode 100644 keyboards/drewkeys/iskar/rules.mk diff --git a/keyboards/drewkeys/iskar/config.h b/keyboards/drewkeys/iskar/config.h new file mode 100644 index 000000000000..e20369fde03f --- /dev/null +++ b/keyboards/drewkeys/iskar/config.h @@ -0,0 +1,56 @@ +/* +Copyright 2021 Drewkeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xDE43 +#define PRODUCT_ID 0x1284 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Drewkeys +#define PRODUCT Iskar + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + + // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +#define MATRIX_ROW_PINS { D6, D7, B4, B5, D4 } +#define MATRIX_COL_PINS { B6, C6, C7, F6, F5, F4, F7, F1, F0, E6, B7, D0, D1, D2, D3, D5 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/drewkeys/iskar/info.json b/keyboards/drewkeys/iskar/info.json new file mode 100644 index 000000000000..0505fece10d3 --- /dev/null +++ b/keyboards/drewkeys/iskar/info.json @@ -0,0 +1,383 @@ +{ + "keyboard_name": "Iskar", + "url": "https://bitmapstudio.xyz/collections/iskar", + "maintainer": "Drewkeys", + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "Esc 0,0", "x": 0, "y": 0}, + {"label": "1 0,1", "x": 1, "y": 0}, + {"label": "2 0,2", "x": 2, "y": 0}, + {"label": "3 0,3", "x": 3, "y": 0}, + {"label": "4 0,4", "x": 4, "y": 0}, + {"label": "5 0,5", "x": 5, "y": 0}, + {"label": "6 0,6", "x": 6, "y": 0}, + {"label": "7 0,7", "x": 7, "y": 0}, + {"label": "8 0,8", "x": 8, "y": 0}, + {"label": "9 0,9", "x": 9, "y": 0}, + {"label": "0 0,10", "x": 10, "y": 0}, + {"label": "- 0,11", "x": 11, "y": 0}, + {"label": "= 0,12", "x": 12, "y": 0}, + {"label": "bsp extra 0,13", "x": 13, "y": 0}, + {"label": "bsp 0,14", "x": 14, "y": 0}, + {"label": "del 0,15", "x": 15, "y": 0}, + + {"label": "tab 1,0", "x": 0, "y": 1, "w": 1.5}, + {"label": "q 1,2", "x": 1.5, "y": 1}, + {"label": "w 1,3", "x": 2.5, "y": 1}, + {"label": "e 1,4", "x": 3.5, "y": 1}, + {"label": "r 1,5", "x": 4.5, "y": 1}, + {"label": "t 1,6", "x": 5.5, "y": 1}, + {"label": "y 1,7", "x": 6.5, "y": 1}, + {"label": "u 1,8", "x": 7.5, "y": 1}, + {"label": "i 1,9", "x": 8.5, "y": 1}, + {"label": "o 1,10", "x": 9.5, "y": 1}, + {"label": "p 1,11", "x": 10.5, "y": 1}, + {"label": "[ 1,12", "x": 11.5, "y": 1}, + {"label": "] 1,13", "x": 12.5, "y": 1}, + {"label": "| 1,14", "x": 13.5, "y": 1, "w": 1.5}, + {"label": "home 1,15", "x": 15, "y": 1}, + + {"label": "caps 2,0", "x": 0, "y": 2, "w": 1.75}, + {"label": "a 2,2", "x": 1.75, "y": 2}, + {"label": "s 2,3", "x": 2.75, "y": 2}, + {"label": "d 2,4", "x": 3.75, "y": 2}, + {"label": "f 2,5", "x": 4.75, "y": 2}, + {"label": "g 2,6", "x": 5.75, "y": 2}, + {"label": "h 2,7", "x": 6.75, "y": 2}, + {"label": "j 2,8", "x": 7.75, "y": 2}, + {"label": "k 2,9", "x": 8.75, "y": 2}, + {"label": "l 2,10", "x": 9.75, "y": 2}, + {"label": "; 2,11", "x": 10.75, "y": 2}, + {"label": "' 2,12", "x": 11.75, "y": 2}, + {"label": "enter 2,13", "x": 12.75, "y": 2, "w": 2.25}, + {"label": "pg up 2,15", "x": 15, "y": 2}, + + {"label": "shift 3,1", "x": 0, "y": 3, "w": 2.25}, + {"label": "z 3,2", "x": 2.25, "y": 3}, + {"label": "x 3,3", "x": 3.25, "y": 3}, + {"label": "c 3,4", "x": 4.25, "y": 3}, + {"label": "v 3,5", "x": 5.25, "y": 3}, + {"label": "b 3,6", "x": 6.25, "y": 3}, + {"label": "n 3,7", "x": 7.25, "y": 3}, + {"label": "m 3,8", "x": 8.25, "y": 3}, + {"label": ", 3,9", "x": 9.25, "y": 3}, + {"label": ". 3,10", "x": 10.25, "y": 3}, + {"label": "/ 3,11", "x": 11.25, "y": 3}, + {"label": "shift 3,13", "x": 12.25, "y":3, "w": 1.75}, + {"label": "up 3,14", "x": 14, "y": 3}, + {"label": "pg dn 3,15", "x": 15, "y": 3}, + + {"label": "ctrl 4,0", "x": 0, "y": 4, "w": 1.25}, + {"label": "win 4,1", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "alt 4,2", "x": 2.5, "y": 4, "w": 1.25}, + {"label": "spacebar 4,6", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "fn 4,10", "x": 10, "y": 4, "w": 1.25}, + {"label": "ctrl 4,11", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "left 4,13", "x": 13, "y": 4}, + {"label": "down 4,14", "x": 14, "y": 4}, + {"label": "right 4,15", "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi": { + "layout": [ + {"label": "Esc 0,0", "x": 0, "y": 0}, + {"label": "1 0,1", "x": 1, "y": 0}, + {"label": "2 0,2", "x": 2, "y": 0}, + {"label": "3 0,3", "x": 3, "y": 0}, + {"label": "4 0,4", "x": 4, "y": 0}, + {"label": "5 0,5", "x": 5, "y": 0}, + {"label": "6 0,6", "x": 6, "y": 0}, + {"label": "7 0,7", "x": 7, "y": 0}, + {"label": "8 0,8", "x": 8, "y": 0}, + {"label": "9 0,9", "x": 9, "y": 0}, + {"label": "0 0,10", "x": 10, "y": 0}, + {"label": "- 0,11", "x": 11, "y": 0}, + {"label": "= 0,12", "x": 12, "y": 0}, + {"label": "bsp 0,14", "x": 13, "y": 0, "w": 2}, + {"label": "del 0,15", "x": 15, "y": 0}, + + {"label": "tab 1,0", "x": 0, "y": 1, "w": 1.5}, + {"label": "q 1,2", "x": 1.5, "y": 1}, + {"label": "w 1,3", "x": 2.5, "y": 1}, + {"label": "e 1,4", "x": 3.5, "y": 1}, + {"label": "r 1,5", "x": 4.5, "y": 1}, + {"label": "t 1,6", "x": 5.5, "y": 1}, + {"label": "y 1,7", "x": 6.5, "y": 1}, + {"label": "u 1,8", "x": 7.5, "y": 1}, + {"label": "i 1,9", "x": 8.5, "y": 1}, + {"label": "o 1,10", "x": 9.5, "y": 1}, + {"label": "p 1,11", "x": 10.5, "y": 1}, + {"label": "[ 1,12", "x": 11.5, "y": 1}, + {"label": "] 1,13", "x": 12.5, "y": 1}, + {"label": "| 1,14", "x": 13.5, "y": 1, "w": 1.5}, + {"label": "home 1,15", "x": 15, "y": 1}, + + {"label": "caps 2,0", "x": 0, "y": 2, "w": 1.75}, + {"label": "a 2,2", "x": 1.75, "y": 2}, + {"label": "s 2,3", "x": 2.75, "y": 2}, + {"label": "d 2,4", "x": 3.75, "y": 2}, + {"label": "f 2,5", "x": 4.75, "y": 2}, + {"label": "g 2,6", "x": 5.75, "y": 2}, + {"label": "h 2,7", "x": 6.75, "y": 2}, + {"label": "j 2,8", "x": 7.75, "y": 2}, + {"label": "k 2,9", "x": 8.75, "y": 2}, + {"label": "l 2,10", "x": 9.75, "y": 2}, + {"label": "; 2,11", "x": 10.75, "y": 2}, + {"label": "' 2,12", "x": 11.75, "y": 2}, + {"label": "enter 2,13", "x": 12.75, "y": 2, "w": 2.25}, + {"label": "pg up 2,15", "x": 15, "y": 2}, + + {"label": "shift 3,1", "x": 0, "y": 3, "w": 2.25}, + {"label": "z 3,2", "x": 2.25, "y": 3}, + {"label": "x 3,3", "x": 3.25, "y": 3}, + {"label": "c 3,4", "x": 4.25, "y": 3}, + {"label": "v 3,5", "x": 5.25, "y": 3}, + {"label": "b 3,6", "x": 6.25, "y": 3}, + {"label": "n 3,7", "x": 7.25, "y": 3}, + {"label": "m 3,8", "x": 8.25, "y": 3}, + {"label": ", 3,9", "x": 9.25, "y": 3}, + {"label": ". 3,10", "x": 10.25, "y": 3}, + {"label": "/ 3,11", "x": 11.25, "y": 3}, + {"label": "shift 3,13", "x": 12.25, "y":3, "w": 1.75}, + {"label": "up 3,14", "x": 14, "y": 3}, + {"label": "pg dn 3,15", "x": 15, "y": 3}, + + {"label": "ctrl 4,0", "x": 0, "y": 4, "w": 1.25}, + {"label": "win 4,1", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "alt 4,2", "x": 2.5, "y": 4, "w": 1.25}, + {"label": "spacebar 4,6", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "fn 4,10", "x": 10, "y": 4, "w": 1.25}, + {"label": "ctrl 4,11", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "left 4,13", "x": 13, "y": 4}, + {"label": "down 4,14", "x": 14, "y": 4}, + {"label": "right 4,15", "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_split_bs": { + "layout": [ + {"label": "Esc 0,0", "x": 0, "y": 0}, + {"label": "1 0,1", "x": 1, "y": 0}, + {"label": "2 0,2", "x": 2, "y": 0}, + {"label": "3 0,3", "x": 3, "y": 0}, + {"label": "4 0,4", "x": 4, "y": 0}, + {"label": "5 0,5", "x": 5, "y": 0}, + {"label": "6 0,6", "x": 6, "y": 0}, + {"label": "7 0,7", "x": 7, "y": 0}, + {"label": "8 0,8", "x": 8, "y": 0}, + {"label": "9 0,9", "x": 9, "y": 0}, + {"label": "0 0,10", "x": 10, "y": 0}, + {"label": "- 0,11", "x": 11, "y": 0}, + {"label": "= 0,12", "x": 12, "y": 0}, + {"label": "bsp extra 0,13", "x": 13, "y": 0}, + {"label": "bsp 0,14", "x": 14, "y": 0}, + {"label": "del 0,15", "x": 15, "y": 0}, + + {"label": "tab 1,0", "x": 0, "y": 1, "w": 1.5}, + {"label": "q 1,2", "x": 1.5, "y": 1}, + {"label": "w 1,3", "x": 2.5, "y": 1}, + {"label": "e 1,4", "x": 3.5, "y": 1}, + {"label": "r 1,5", "x": 4.5, "y": 1}, + {"label": "t 1,6", "x": 5.5, "y": 1}, + {"label": "y 1,7", "x": 6.5, "y": 1}, + {"label": "u 1,8", "x": 7.5, "y": 1}, + {"label": "i 1,9", "x": 8.5, "y": 1}, + {"label": "o 1,10", "x": 9.5, "y": 1}, + {"label": "p 1,11", "x": 10.5, "y": 1}, + {"label": "[ 1,12", "x": 11.5, "y": 1}, + {"label": "] 1,13", "x": 12.5, "y": 1}, + {"label": "| 1,14", "x": 13.5, "y": 1, "w": 1.5}, + {"label": "home 1,15", "x": 15, "y": 1}, + + {"label": "caps 2,0", "x": 0, "y": 2, "w": 1.75}, + {"label": "a 2,2", "x": 1.75, "y": 2}, + {"label": "s 2,3", "x": 2.75, "y": 2}, + {"label": "d 2,4", "x": 3.75, "y": 2}, + {"label": "f 2,5", "x": 4.75, "y": 2}, + {"label": "g 2,6", "x": 5.75, "y": 2}, + {"label": "h 2,7", "x": 6.75, "y": 2}, + {"label": "j 2,8", "x": 7.75, "y": 2}, + {"label": "k 2,9", "x": 8.75, "y": 2}, + {"label": "l 2,10", "x": 9.75, "y": 2}, + {"label": "; 2,11", "x": 10.75, "y": 2}, + {"label": "' 2,12", "x": 11.75, "y": 2}, + {"label": "enter 2,13", "x": 12.75, "y": 2, "w": 2.25}, + {"label": "pg up 2,15", "x": 15, "y": 2}, + + {"label": "shift 3,1", "x": 0, "y": 3, "w": 2.25}, + {"label": "z 3,2", "x": 2.25, "y": 3}, + {"label": "x 3,3", "x": 3.25, "y": 3}, + {"label": "c 3,4", "x": 4.25, "y": 3}, + {"label": "v 3,5", "x": 5.25, "y": 3}, + {"label": "b 3,6", "x": 6.25, "y": 3}, + {"label": "n 3,7", "x": 7.25, "y": 3}, + {"label": "m 3,8", "x": 8.25, "y": 3}, + {"label": ", 3,9", "x": 9.25, "y": 3}, + {"label": ". 3,10", "x": 10.25, "y": 3}, + {"label": "/ 3,11", "x": 11.25, "y": 3}, + {"label": "shift 3,13", "x": 12.25, "y":3, "w": 1.75}, + {"label": "up 3,14", "x": 14, "y": 3}, + {"label": "pg dn 3,15", "x": 15, "y": 3}, + + {"label": "ctrl 4,0", "x": 0, "y": 4, "w": 1.25}, + {"label": "win 4,1", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "alt 4,2", "x": 2.5, "y": 4, "w": 1.25}, + {"label": "spacebar 4,6", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "fn 4,10", "x": 10, "y": 4, "w": 1.25}, + {"label": "ctrl 4,11", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "left 4,13", "x": 13, "y": 4}, + {"label": "down 4,14", "x": 14, "y": 4}, + {"label": "right 4,15", "x": 15, "y": 4} + ] + }, + "LAYOUT_65_tsangan": { + "layout": [ + {"label": "Esc 0,0", "x": 0, "y": 0}, + {"label": "1 0,1", "x": 1, "y": 0}, + {"label": "2 0,2", "x": 2, "y": 0}, + {"label": "3 0,3", "x": 3, "y": 0}, + {"label": "4 0,4", "x": 4, "y": 0}, + {"label": "5 0,5", "x": 5, "y": 0}, + {"label": "6 0,6", "x": 6, "y": 0}, + {"label": "7 0,7", "x": 7, "y": 0}, + {"label": "8 0,8", "x": 8, "y": 0}, + {"label": "9 0,9", "x": 9, "y": 0}, + {"label": "0 0,10", "x": 10, "y": 0}, + {"label": "- 0,11", "x": 11, "y": 0}, + {"label": "= 0,12", "x": 12, "y": 0}, + {"label": "bsp 0,14", "x": 13, "y": 0, "w": 2}, + {"label": "del 0,15", "x": 15, "y": 0}, + + {"label": "tab 1,0", "x": 0, "y": 1, "w": 1.5}, + {"label": "q 1,2", "x": 1.5, "y": 1}, + {"label": "w 1,3", "x": 2.5, "y": 1}, + {"label": "e 1,4", "x": 3.5, "y": 1}, + {"label": "r 1,5", "x": 4.5, "y": 1}, + {"label": "t 1,6", "x": 5.5, "y": 1}, + {"label": "y 1,7", "x": 6.5, "y": 1}, + {"label": "u 1,8", "x": 7.5, "y": 1}, + {"label": "i 1,9", "x": 8.5, "y": 1}, + {"label": "o 1,10", "x": 9.5, "y": 1}, + {"label": "p 1,11", "x": 10.5, "y": 1}, + {"label": "[ 1,12", "x": 11.5, "y": 1}, + {"label": "] 1,13", "x": 12.5, "y": 1}, + {"label": "| 1,14", "x": 13.5, "y": 1, "w": 1.5}, + {"label": "home 1,15", "x": 15, "y": 1}, + + {"label": "caps 2,0", "x": 0, "y": 2, "w": 1.75}, + {"label": "a 2,2", "x": 1.75, "y": 2}, + {"label": "s 2,3", "x": 2.75, "y": 2}, + {"label": "d 2,4", "x": 3.75, "y": 2}, + {"label": "f 2,5", "x": 4.75, "y": 2}, + {"label": "g 2,6", "x": 5.75, "y": 2}, + {"label": "h 2,7", "x": 6.75, "y": 2}, + {"label": "j 2,8", "x": 7.75, "y": 2}, + {"label": "k 2,9", "x": 8.75, "y": 2}, + {"label": "l 2,10", "x": 9.75, "y": 2}, + {"label": "; 2,11", "x": 10.75, "y": 2}, + {"label": "' 2,12", "x": 11.75, "y": 2}, + {"label": "enter 2,13", "x": 12.75, "y": 2, "w": 2.25}, + {"label": "pg up 2,15", "x": 15, "y": 2}, + + {"label": "shift 3,1", "x": 0, "y": 3, "w": 2.25}, + {"label": "z 3,2", "x": 2.25, "y": 3}, + {"label": "x 3,3", "x": 3.25, "y": 3}, + {"label": "c 3,4", "x": 4.25, "y": 3}, + {"label": "v 3,5", "x": 5.25, "y": 3}, + {"label": "b 3,6", "x": 6.25, "y": 3}, + {"label": "n 3,7", "x": 7.25, "y": 3}, + {"label": "m 3,8", "x": 8.25, "y": 3}, + {"label": ", 3,9", "x": 9.25, "y": 3}, + {"label": ". 3,10", "x": 10.25, "y": 3}, + {"label": "/ 3,11", "x": 11.25, "y": 3}, + {"label": "shift 3,13", "x": 12.25, "y":3, "w": 1.75}, + {"label": "up 3,14", "x": 14, "y": 3}, + {"label": "pg dn 3,15", "x": 15, "y": 3}, + + {"label": "ctrl 4,0", "x": 0, "y": 4, "w": 1.5}, + {"label": "win 4,1", "x": 1.5, "y": 4}, + {"label": "alt 4,2", "x": 2.5, "y": 4, "w": 1.5}, + {"label": "spacebar 4,6", "x": 4, "y": 4, "w": 7}, + {"label": "ctrl 4,11", "x": 11, "y": 4, "w": 1.5}, + {"label": "left 4,13", "x": 13, "y": 4}, + {"label": "down 4,14", "x": 14, "y": 4}, + {"label": "right 4,15", "x": 15, "y": 4} + ] + }, + "LAYOUT_65_tsangan_split_bs": { + "layout": [ + {"label": "Esc 0,0", "x": 0, "y": 0}, + {"label": "1 0,1", "x": 1, "y": 0}, + {"label": "2 0,2", "x": 2, "y": 0}, + {"label": "3 0,3", "x": 3, "y": 0}, + {"label": "4 0,4", "x": 4, "y": 0}, + {"label": "5 0,5", "x": 5, "y": 0}, + {"label": "6 0,6", "x": 6, "y": 0}, + {"label": "7 0,7", "x": 7, "y": 0}, + {"label": "8 0,8", "x": 8, "y": 0}, + {"label": "9 0,9", "x": 9, "y": 0}, + {"label": "0 0,10", "x": 10, "y": 0}, + {"label": "- 0,11", "x": 11, "y": 0}, + {"label": "= 0,12", "x": 12, "y": 0}, + {"label": "bsp extra 0,13", "x": 13, "y": 0}, + {"label": "bsp 0,14", "x": 14, "y": 0}, + {"label": "del 0,15", "x": 15, "y": 0}, + + {"label": "tab 1,0", "x": 0, "y": 1, "w": 1.5}, + {"label": "q 1,2", "x": 1.5, "y": 1}, + {"label": "w 1,3", "x": 2.5, "y": 1}, + {"label": "e 1,4", "x": 3.5, "y": 1}, + {"label": "r 1,5", "x": 4.5, "y": 1}, + {"label": "t 1,6", "x": 5.5, "y": 1}, + {"label": "y 1,7", "x": 6.5, "y": 1}, + {"label": "u 1,8", "x": 7.5, "y": 1}, + {"label": "i 1,9", "x": 8.5, "y": 1}, + {"label": "o 1,10", "x": 9.5, "y": 1}, + {"label": "p 1,11", "x": 10.5, "y": 1}, + {"label": "[ 1,12", "x": 11.5, "y": 1}, + {"label": "] 1,13", "x": 12.5, "y": 1}, + {"label": "| 1,14", "x": 13.5, "y": 1, "w": 1.5}, + {"label": "home 1,15", "x": 15, "y": 1}, + + {"label": "caps 2,0", "x": 0, "y": 2, "w": 1.75}, + {"label": "a 2,2", "x": 1.75, "y": 2}, + {"label": "s 2,3", "x": 2.75, "y": 2}, + {"label": "d 2,4", "x": 3.75, "y": 2}, + {"label": "f 2,5", "x": 4.75, "y": 2}, + {"label": "g 2,6", "x": 5.75, "y": 2}, + {"label": "h 2,7", "x": 6.75, "y": 2}, + {"label": "j 2,8", "x": 7.75, "y": 2}, + {"label": "k 2,9", "x": 8.75, "y": 2}, + {"label": "l 2,10", "x": 9.75, "y": 2}, + {"label": "; 2,11", "x": 10.75, "y": 2}, + {"label": "' 2,12", "x": 11.75, "y": 2}, + {"label": "enter 2,13", "x": 12.75, "y": 2, "w": 2.25}, + {"label": "pg up 2,15", "x": 15, "y": 2}, + + {"label": "shift 3,1", "x": 0, "y": 3, "w": 2.25}, + {"label": "z 3,2", "x": 2.25, "y": 3}, + {"label": "x 3,3", "x": 3.25, "y": 3}, + {"label": "c 3,4", "x": 4.25, "y": 3}, + {"label": "v 3,5", "x": 5.25, "y": 3}, + {"label": "b 3,6", "x": 6.25, "y": 3}, + {"label": "n 3,7", "x": 7.25, "y": 3}, + {"label": "m 3,8", "x": 8.25, "y": 3}, + {"label": ", 3,9", "x": 9.25, "y": 3}, + {"label": ". 3,10", "x": 10.25, "y": 3}, + {"label": "/ 3,11", "x": 11.25, "y": 3}, + {"label": "shift 3,13", "x": 12.25, "y":3, "w": 1.75}, + {"label": "up 3,14", "x": 14, "y": 3}, + {"label": "pg dn 3,15", "x": 15, "y": 3}, + + {"label": "ctrl 4,0", "x": 0, "y": 4, "w": 1.5}, + {"label": "win 4,1", "x": 1.5, "y": 4}, + {"label": "alt 4,2", "x": 2.5, "y": 4, "w": 1.5}, + {"label": "spacebar 4,6", "x": 4, "y": 4, "w": 7}, + {"label": "ctrl 4,11", "x": 11, "y": 4, "w": 1.5}, + {"label": "left 4,13", "x": 13, "y": 4}, + {"label": "down 4,14", "x": 14, "y": 4}, + {"label": "right 4,15", "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/drewkeys/iskar/iskar.c b/keyboards/drewkeys/iskar/iskar.c new file mode 100644 index 000000000000..32ea7aa2e428 --- /dev/null +++ b/keyboards/drewkeys/iskar/iskar.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Drewkeys + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "iskar.h" diff --git a/keyboards/drewkeys/iskar/iskar.h b/keyboards/drewkeys/iskar/iskar.h new file mode 100644 index 000000000000..0ad2601d333b --- /dev/null +++ b/keyboards/drewkeys/iskar/iskar.h @@ -0,0 +1,155 @@ +/* Copyright 2021 Drewkeys + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" +// Corresponding changes to the layout names and/or definitions must also be made to info.json + +/* Standard arrangement / LAYOUT + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │0f │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤───┤ + * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │1f │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤───┤ + * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │2f │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤───┤ + * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │3f │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┬┴───┬┴┬───┼───┤───┤ + * │40 │41 │43 │ 46 │4a │4b │▓│4d │4e │4f │ + * └────┴────┴────┴────────────────────────┴────┴────┴ ┴───┴───┘───┘ +*/ +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2F, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \ + k40, k41, k42, k46, k4A, k4B, k4D, k4E, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, KC_NO, k2F }, \ + { KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, KC_NO, k3D, k3E, k3F }, \ + { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4A, k4B, KC_NO, k4D, k4E, k4F } \ +} + +/* Standard arrangement / 65 ANSI + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │0f │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤───┤ + * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │1f │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤───┤ + * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │2f │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤───┤ + * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │3f │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┬┴───┬┴┬───┼───┤───┤ + * │40 │41 │43 │ 46 │4a │4b │ │4d │4e │4f │ + * └────┴────┴────┴────────────────────────┴────┴────┴ ┴───┴───┘───┘ +*/ +#define LAYOUT_65_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0F, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2F, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \ + k40, k41, k42, k46, k4A, k4B, k4D, k4E, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, KC_NO, k0E, k0F }, \ + { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, KC_NO, k2F }, \ + { KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, KC_NO, k3D, k3E, k3F }, \ + { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4A, k4B, KC_NO, k4D, k4E, k4F } \ +} + +/* Standard arrangement / 65 ANSI SPLIT + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │0f │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤───┤ + * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │1f │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤───┤ + * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │2f │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤───┤ + * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │3f │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┬┴───┬┴┬───┼───┤───┤ + * │40 │41 │43 │ 46 │4a │4b │ │4d │4e │4f │ + * └────┴────┴────┴────────────────────────┴────┴────┴ ┴───┴───┘───┘ +*/ +#define LAYOUT_65_ansi_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2F, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \ + k40, k41, k42, k46, k4A, k4B, k4D, k4E, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, KC_NO, k2F }, \ + { KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, KC_NO, k3D, k3E, k3F }, \ + { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4A, k4B, KC_NO, k4D, k4E, k4F } \ +} + +/* Standard arrangement / 65 TSANGAN + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │0f │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤───┤ + * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │1f │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤───┤ + * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │2f │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤───┤ + * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │3f │ + * ├─────┬─┴─┬──┴─┬─┴───┴───┴───┴───┴───┴───┴───┬┴───┬┴┬───┼───┤───┤ + * │40 │41 │43 │ 46 │4b │ │4d │4e │4f │ + * └─────┴───┴────┴─────────────────────────────┴────┴ ┴───┴───┘───┘ +*/ +#define LAYOUT_65_tsangan( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0F, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2F, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \ + k40, k41, k42, k46, k4B, k4D, k4E, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, KC_NO, k0E, k0F }, \ + { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, KC_NO, k2F }, \ + { KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, KC_NO, k3D, k3E, k3F }, \ + { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, KC_NO, k4B, KC_NO, k4D, k4E, k4F } \ +} + +/* Standard arrangement / 65 TSANGAN SPLIT + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │0f │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤───┤ + * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │1f │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤───┤ + * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │2f │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤───┤ + * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │3f │ + * ├─────┬─┴─┬──┴─┬─┴───┴───┴───┴───┴───┴───┴───┬┴───┬┴┬───┼───┤───┤ + * │40 │41 │43 │ 46 │4b │ │4d │4e │4f │ + * └─────┴───┴────┴─────────────────────────────┴────┴ ┴───┴───┘───┘ +*/ +#define LAYOUT_65_tsangan_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2F, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \ + k40, k41, k42, k46, k4B, k4D, k4E, k4F \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, KC_NO, k2F }, \ + { KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, KC_NO, k3D, k3E, k3F }, \ + { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, KC_NO, k4B, KC_NO, k4D, k4E, k4F } \ +} diff --git a/keyboards/drewkeys/iskar/keymaps/default/keymap.c b/keyboards/drewkeys/iskar/keymaps/default/keymap.c new file mode 100644 index 000000000000..d97403dfd5e6 --- /dev/null +++ b/keyboards/drewkeys/iskar/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2021 Drewkeys + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT( + QK_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_DEL, KC_BSPC, KC_HOME, + 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_INS, + 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, + 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, + KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT + ), + LAYOUT( + KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/drewkeys/iskar/keymaps/default/readme.md b/keyboards/drewkeys/iskar/keymaps/default/readme.md new file mode 100644 index 000000000000..d7cffe7242cf --- /dev/null +++ b/keyboards/drewkeys/iskar/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for iskar -- ansi and split back space diff --git a/keyboards/drewkeys/iskar/readme.md b/keyboards/drewkeys/iskar/readme.md new file mode 100644 index 000000000000..152ec5e47eeb --- /dev/null +++ b/keyboards/drewkeys/iskar/readme.md @@ -0,0 +1,24 @@ +# Iskar + +![Iskar](https://i.imgur.com/qBh0gA2.png) + +![Layouts supported](https://i.imgur.com/SB2G7mL.png) +Note: No split backspace for hotswap vers. + +65% PCB for Bitmap studio's Iskar + +* Keyboard Maintainer: [Drewkeys](https://github.com/drewpyun) +* Hardware Supported: Made specifically for Iskar, 65% hotswap supported +* Hardware Availability: https://bitmapstudio.xyz/collections/iskar + +Make example for this keyboard (after setting up your build environment): + + make drewkkeys/iskar:default + +Flashing example for this keyboard: + + make drewkeys/iskar:default:flash + +Resetting Board: Press the button on the PCB next to the logo to soft reset the board to reflash (bootloader mode). + +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/drewkeys/iskar/rules.mk b/keyboards/drewkeys/iskar/rules.mk new file mode 100644 index 000000000000..9591f732c49e --- /dev/null +++ b/keyboards/drewkeys/iskar/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes From 89a515913fdfb3abc3d7c511c1cacdd664d079b4 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 8 Mar 2022 16:30:37 +1100 Subject: [PATCH 0323/1832] Oddball: set default pointing device driver (#16574) --- keyboards/oddball/keymaps/default/rules.mk | 1 - keyboards/oddball/readme.md | 2 +- keyboards/oddball/rules.mk | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 keyboards/oddball/keymaps/default/rules.mk diff --git a/keyboards/oddball/keymaps/default/rules.mk b/keyboards/oddball/keymaps/default/rules.mk deleted file mode 100644 index 84de35aeb142..000000000000 --- a/keyboards/oddball/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = adns9800 diff --git a/keyboards/oddball/readme.md b/keyboards/oddball/readme.md index f797fc34e846..573fd7cc5c84 100644 --- a/keyboards/oddball/readme.md +++ b/keyboards/oddball/readme.md @@ -3,7 +3,7 @@ A split keyboard with trackball support. * Keyboard Maintainer: [Alexander Tulloh](https://github.com/atulloh) -* Hardware Supported: Oddball PCB and plates, and using an [ADNS9800](https://www.tindie.com/products/jkicklighter/adns-9800-laser-motion-sensor/) or a [PMW3360](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/) breakout board for mouse +* Hardware Supported: Oddball PCB and plates, and using an [ADNS9800](https://www.tindie.com/products/jkicklighter/adns-9800-laser-motion-sensor/) (default) or a [PMW3360](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/) breakout board for mouse * Hardware Availability: [atulloh.github.io/oddball](https://atulloh.github.io/oddball) Make examples for this keyboard (after setting up your build environment): diff --git a/keyboards/oddball/rules.mk b/keyboards/oddball/rules.mk index b096a922c5ed..4698218128a4 100644 --- a/keyboards/oddball/rules.mk +++ b/keyboards/oddball/rules.mk @@ -16,5 +16,6 @@ AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = adns9800 DEFAULT_FOLDER = oddball/v1 From fe8b7619d30f9571da386b4eff9103a5d6ca48d4 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Mon, 7 Mar 2022 22:48:56 -0700 Subject: [PATCH 0324/1832] [Keyboard] Fix late9/rev1 (#16576) --- keyboards/late9/rev1/rev1.c | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/late9/rev1/rev1.c b/keyboards/late9/rev1/rev1.c index e79f76cd3ba4..ffba137189f3 100644 --- a/keyboards/late9/rev1/rev1.c +++ b/keyboards/late9/rev1/rev1.c @@ -55,6 +55,7 @@ bool oled_task_kb(void) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x0e, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(rb_logo, sizeof(rb_logo)); + return false; } #endif From 2f6751e48a37699cfd999e0afd8731ca3962611c Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 8 Mar 2022 16:58:05 +1100 Subject: [PATCH 0325/1832] Asymmetric encoders, encoder tests. (#16068) --- builddefs/build_test.mk | 2 + builddefs/testlist.mk | 1 + docs/feature_encoders.md | 13 ++ keyboards/draculad/config.h | 3 +- keyboards/sofle/keyhive/config.h | 11 +- keyboards/viktus/sp_mini/config.h | 4 +- quantum/encoder.c | 114 +++++++++----- quantum/encoder.h | 28 +++- quantum/encoder/tests/config_mock.h | 22 +++ .../tests/config_mock_split_left_eq_right.h | 26 ++++ .../tests/config_mock_split_left_gt_right.h | 26 ++++ .../tests/config_mock_split_left_lt_right.h | 26 ++++ .../encoder/tests/config_mock_split_no_left.h | 26 ++++ .../tests/config_mock_split_no_right.h | 26 ++++ quantum/encoder/tests/encoder_tests.cpp | 36 ++--- .../encoder_tests_split_left_eq_right.cpp | 135 +++++++++++++++++ .../encoder_tests_split_left_gt_right.cpp | 139 ++++++++++++++++++ .../encoder_tests_split_left_lt_right.cpp | 139 ++++++++++++++++++ ...it.cpp => encoder_tests_split_no_left.cpp} | 68 ++++----- .../tests/encoder_tests_split_no_right.cpp | 118 +++++++++++++++ quantum/encoder/tests/mock.h | 6 - quantum/encoder/tests/mock_split.h | 16 +- quantum/encoder/tests/rules.mk | 53 ++++++- quantum/encoder/tests/testlist.mk | 6 +- quantum/split_common/transactions.c | 4 +- quantum/split_common/transport.h | 3 +- quantum/util.h | 8 + 27 files changed, 921 insertions(+), 138 deletions(-) create mode 100644 quantum/encoder/tests/config_mock.h create mode 100644 quantum/encoder/tests/config_mock_split_left_eq_right.h create mode 100644 quantum/encoder/tests/config_mock_split_left_gt_right.h create mode 100644 quantum/encoder/tests/config_mock_split_left_lt_right.h create mode 100644 quantum/encoder/tests/config_mock_split_no_left.h create mode 100644 quantum/encoder/tests/config_mock_split_no_right.h create mode 100644 quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp create mode 100644 quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp create mode 100644 quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp rename quantum/encoder/tests/{encoder_tests_split.cpp => encoder_tests_split_no_left.cpp} (66%) create mode 100644 quantum/encoder/tests/encoder_tests_split_no_right.cpp diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk index 7226004aabc7..5ad33b19c564 100644 --- a/builddefs/build_test.mk +++ b/builddefs/build_test.mk @@ -4,6 +4,8 @@ endif .DEFAULT_GOAL := all +OPT = g + include paths.mk include $(BUILDDEFS_PATH)/message.mk diff --git a/builddefs/testlist.mk b/builddefs/testlist.mk index 86da5668ac9a..b8d22bce805d 100644 --- a/builddefs/testlist.mk +++ b/builddefs/testlist.mk @@ -2,6 +2,7 @@ TEST_LIST = $(sort $(patsubst %/test.mk,%, $(shell find $(ROOT_DIR)tests -type f FULL_TESTS := $(notdir $(TEST_LIST)) include $(QUANTUM_PATH)/debounce/tests/testlist.mk +include $(QUANTUM_PATH)/encoder/tests/testlist.mk include $(QUANTUM_PATH)/sequencer/tests/testlist.mk include $(PLATFORM_PATH)/test/testlist.mk diff --git a/docs/feature_encoders.md b/docs/feature_encoders.md index 6a1a3750a6cb..f71c7e73259f 100644 --- a/docs/feature_encoders.md +++ b/docs/feature_encoders.md @@ -54,6 +54,19 @@ If you are using different pinouts for the encoders on each half of a split keyb #define ENCODER_RESOLUTIONS_RIGHT { 2, 4 } ``` +If the `_RIGHT` definitions aren't specified in your `config.h`, then the non-`_RIGHT` versions will be applied to both sides of the split. + +Additionally, if one side does not have an encoder, you can specify `{}` for the pins/resolution -- for example, a split keyboard with only a right-side encoder: + +```c +#define ENCODERS_PAD_A { } +#define ENCODERS_PAD_B { } +#define ENCODER_RESOLUTIONS { } +#define ENCODERS_PAD_A_RIGHT { B12 } +#define ENCODERS_PAD_B_RIGHT { B13 } +#define ENCODER_RESOLUTIONS_RIGHT { 4 } +``` + ## Callbacks The callback functions can be inserted into your `.c`: diff --git a/keyboards/draculad/config.h b/keyboards/draculad/config.h index abcdc76b4b45..3060f801c6e2 100644 --- a/keyboards/draculad/config.h +++ b/keyboards/draculad/config.h @@ -61,7 +61,8 @@ along with this program. If not, see . #define ENCODERS_PAD_A {B2 , B4} #define ENCODERS_PAD_B {B6 , B5} -#define ENCODER_RESOLUTIONS { 4, 4, 4, 1} +#define ENCODER_RESOLUTIONS { 4, 4 } +#define ENCODER_RESOLUTIONS_RIGHT { 4, 1 } #define UNUSED_PINS #define EE_HANDS diff --git a/keyboards/sofle/keyhive/config.h b/keyboards/sofle/keyhive/config.h index c934754e6593..93048f3cd113 100755 --- a/keyboards/sofle/keyhive/config.h +++ b/keyboards/sofle/keyhive/config.h @@ -42,11 +42,12 @@ #define DEBOUNCE 5 // Encoder support -#define ENCODERS_PAD_A { F5 } -#define ENCODERS_PAD_B { F4 } -#define ENCODERS_PAD_A_RIGHT { F4 } -#define ENCODERS_PAD_B_RIGHT { F5 } -#define ENCODER_RESOLUTIONS { 4, 2 } // Left encoder seems to have double-output issue but right does not. +#define ENCODERS_PAD_A { F5 } +#define ENCODERS_PAD_B { F4 } +#define ENCODERS_PAD_A_RIGHT { F4 } +#define ENCODERS_PAD_B_RIGHT { F5 } +#define ENCODER_RESOLUTIONS { 4 } +#define ENCODER_RESOLUTIONS_RIGHT { 2 } // Left encoder seems to have double-output issue but right does not. #define TAP_CODE_DELAY 10 diff --git a/keyboards/viktus/sp_mini/config.h b/keyboards/viktus/sp_mini/config.h index 06b8c2f51a82..ec13a240c295 100644 --- a/keyboards/viktus/sp_mini/config.h +++ b/keyboards/viktus/sp_mini/config.h @@ -35,7 +35,7 @@ along with this program. If not, see . // wiring of each half #define MATRIX_ROW_PINS { F0, B5, B4, D7, D6 } -#define MATRIX_COL_PINS { B6, C6, C7, D4, D2, D3, D5 } // no B7 on left hand +#define MATRIX_COL_PINS { B6, C6, C7, D4, D2, D3, D5, NO_PIN } // no B7 on left hand #define MATRIX_ROW_PINS_RIGHT { F0, B5, B4, D7, D6 } #define MATRIX_COL_PINS_RIGHT { B6, C6, C7, D4, D2, D3, D5, B7 } @@ -78,7 +78,7 @@ along with this program. If not, see . //#define ENCODERS_PAD_A_RIGHT {F4} //#define ENCODERS_PAD_B_RIGHT {F1} -#define ENCODER_RESOLUTIONS { 8, 8 } +#define ENCODER_RESOLUTIONS { 8 } /* * Feature disable options diff --git a/quantum/encoder.c b/quantum/encoder.c index 438c7d8564e1..0a3d6f577c38 100644 --- a/quantum/encoder.c +++ b/quantum/encoder.c @@ -31,11 +31,13 @@ # error "No encoder pads defined by ENCODERS_PAD_A and ENCODERS_PAD_B" #endif -#define NUMBER_OF_ENCODERS (sizeof(encoders_pad_a) / sizeof(pin_t)) -static pin_t encoders_pad_a[] = ENCODERS_PAD_A; -static pin_t encoders_pad_b[] = ENCODERS_PAD_B; +extern volatile bool isLeftHand; + +static pin_t encoders_pad_a[NUM_ENCODERS_MAX_PER_SIDE] = ENCODERS_PAD_A; +static pin_t encoders_pad_b[NUM_ENCODERS_MAX_PER_SIDE] = ENCODERS_PAD_B; + #ifdef ENCODER_RESOLUTIONS -static uint8_t encoder_resolutions[] = ENCODER_RESOLUTIONS; +static uint8_t encoder_resolutions[NUM_ENCODERS] = ENCODER_RESOLUTIONS; #endif #ifndef ENCODER_DIRECTION_FLIP @@ -47,18 +49,20 @@ static uint8_t encoder_resolutions[] = ENCODER_RESOLUTIONS; #endif static int8_t encoder_LUT[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0}; -static uint8_t encoder_state[NUMBER_OF_ENCODERS] = {0}; -static int8_t encoder_pulses[NUMBER_OF_ENCODERS] = {0}; +static uint8_t encoder_state[NUM_ENCODERS] = {0}; +static int8_t encoder_pulses[NUM_ENCODERS] = {0}; +// encoder counts +static uint8_t thisCount; #ifdef SPLIT_KEYBOARD -// right half encoders come over as second set of encoders -static uint8_t encoder_value[NUMBER_OF_ENCODERS * 2] = {0}; -// row offsets for each hand +// encoder offsets for each hand static uint8_t thisHand, thatHand; -#else -static uint8_t encoder_value[NUMBER_OF_ENCODERS] = {0}; +// encoder counts for each hand +static uint8_t thatCount; #endif +static uint8_t encoder_value[NUM_ENCODERS] = {0}; + __attribute__((weak)) void encoder_wait_pullup_charge(void) { wait_us(100); } @@ -72,36 +76,63 @@ __attribute__((weak)) bool encoder_update_kb(uint8_t index, bool clockwise) { } void encoder_init(void) { +#ifdef SPLIT_KEYBOARD + thisHand = isLeftHand ? 0 : NUM_ENCODERS_LEFT; + thatHand = NUM_ENCODERS_LEFT - thisHand; + thisCount = isLeftHand ? NUM_ENCODERS_LEFT : NUM_ENCODERS_RIGHT; + thatCount = isLeftHand ? NUM_ENCODERS_RIGHT : NUM_ENCODERS_LEFT; +#else // SPLIT_KEYBOARD + thisCount = NUM_ENCODERS; +#endif + +#ifdef ENCODER_TESTS + // Annoying that we have to clear out values during initialisation here, but + // because all the arrays are static locals, rerunning tests in the same + // executable doesn't reset any of these. Kinda crappy having test-only code + // here, but it's the simplest solution. + memset(encoder_value, 0, sizeof(encoder_value)); + memset(encoder_state, 0, sizeof(encoder_state)); + memset(encoder_pulses, 0, sizeof(encoder_pulses)); + static const pin_t encoders_pad_a_left[] = ENCODERS_PAD_A; + static const pin_t encoders_pad_b_left[] = ENCODERS_PAD_B; + for (uint8_t i = 0; i < thisCount; i++) { + encoders_pad_a[i] = encoders_pad_a_left[i]; + encoders_pad_b[i] = encoders_pad_b_left[i]; + } +#endif + #if defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT) + // Re-initialise the pads if it's the right-hand side if (!isLeftHand) { - const pin_t encoders_pad_a_right[] = ENCODERS_PAD_A_RIGHT; - const pin_t encoders_pad_b_right[] = ENCODERS_PAD_B_RIGHT; -# if defined(ENCODER_RESOLUTIONS_RIGHT) - const uint8_t encoder_resolutions_right[] = ENCODER_RESOLUTIONS_RIGHT; -# endif - for (uint8_t i = 0; i < NUMBER_OF_ENCODERS; i++) { + static const pin_t encoders_pad_a_right[] = ENCODERS_PAD_A_RIGHT; + static const pin_t encoders_pad_b_right[] = ENCODERS_PAD_B_RIGHT; + for (uint8_t i = 0; i < thisCount; i++) { encoders_pad_a[i] = encoders_pad_a_right[i]; encoders_pad_b[i] = encoders_pad_b_right[i]; -# if defined(ENCODER_RESOLUTIONS_RIGHT) - encoder_resolutions[i] = encoder_resolutions_right[i]; -# endif } } -#endif +#endif // defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT) + + // Encoder resolutions is handled purely master-side, so concatenate the two arrays +#if defined(SPLIT_KEYBOARD) && defined(ENCODER_RESOLUTIONS) +# if defined(ENCODER_RESOLUTIONS_RIGHT) + static const uint8_t encoder_resolutions_right[NUM_ENCODERS_RIGHT] = ENCODER_RESOLUTIONS_RIGHT; +# else // defined(ENCODER_RESOLUTIONS_RIGHT) + static const uint8_t encoder_resolutions_right[NUM_ENCODERS_RIGHT] = ENCODER_RESOLUTIONS; +# endif // defined(ENCODER_RESOLUTIONS_RIGHT) + for (uint8_t i = 0; i < NUM_ENCODERS_RIGHT; i++) { + encoder_resolutions[NUM_ENCODERS_LEFT + i] = encoder_resolutions_right[i]; + } +#endif // defined(SPLIT_KEYBOARD) && defined(ENCODER_RESOLUTIONS) - for (int i = 0; i < NUMBER_OF_ENCODERS; i++) { + for (uint8_t i = 0; i < thisCount; i++) { setPinInputHigh(encoders_pad_a[i]); setPinInputHigh(encoders_pad_b[i]); } encoder_wait_pullup_charge(); - for (int i = 0; i < NUMBER_OF_ENCODERS; i++) { + for (uint8_t i = 0; i < thisCount; i++) { encoder_state[i] = (readPin(encoders_pad_a[i]) << 0) | (readPin(encoders_pad_b[i]) << 1); } - -#ifdef SPLIT_KEYBOARD - thisHand = isLeftHand ? 0 : NUMBER_OF_ENCODERS; - thatHand = NUMBER_OF_ENCODERS - thisHand; -#endif } static bool encoder_update(uint8_t index, uint8_t state) { @@ -109,9 +140,9 @@ static bool encoder_update(uint8_t index, uint8_t state) { uint8_t i = index; #ifdef ENCODER_RESOLUTIONS - uint8_t resolution = encoder_resolutions[i]; + const uint8_t resolution = encoder_resolutions[i]; #else - uint8_t resolution = ENCODER_RESOLUTION; + const uint8_t resolution = ENCODER_RESOLUTION; #endif #ifdef SPLIT_KEYBOARD @@ -139,10 +170,13 @@ static bool encoder_update(uint8_t index, uint8_t state) { bool encoder_read(void) { bool changed = false; - for (uint8_t i = 0; i < NUMBER_OF_ENCODERS; i++) { - encoder_state[i] <<= 2; - encoder_state[i] |= (readPin(encoders_pad_a[i]) << 0) | (readPin(encoders_pad_b[i]) << 1); - changed |= encoder_update(i, encoder_state[i]); + for (uint8_t i = 0; i < thisCount; i++) { + uint8_t new_status = (readPin(encoders_pad_a[i]) << 0) | (readPin(encoders_pad_b[i]) << 1); + if ((encoder_state[i] & 0x3) != new_status) { + encoder_state[i] <<= 2; + encoder_state[i] |= new_status; + changed |= encoder_update(i, encoder_state[i]); + } } return changed; } @@ -150,15 +184,15 @@ bool encoder_read(void) { #ifdef SPLIT_KEYBOARD void last_encoder_activity_trigger(void); -void encoder_state_raw(uint8_t* slave_state) { - memcpy(slave_state, &encoder_value[thisHand], sizeof(uint8_t) * NUMBER_OF_ENCODERS); +void encoder_state_raw(uint8_t *slave_state) { + memcpy(slave_state, &encoder_value[thisHand], sizeof(uint8_t) * thisCount); } -void encoder_update_raw(uint8_t* slave_state) { +void encoder_update_raw(uint8_t *slave_state) { bool changed = false; - for (uint8_t i = 0; i < NUMBER_OF_ENCODERS; i++) { - uint8_t index = i + thatHand; - int8_t delta = slave_state[i] - encoder_value[index]; + for (uint8_t i = 0; i < thatCount; i++) { // Note inverted logic -- we want the opposite side + const uint8_t index = i + thatHand; + int8_t delta = slave_state[i] - encoder_value[index]; while (delta > 0) { delta--; encoder_value[index]++; diff --git a/quantum/encoder.h b/quantum/encoder.h index 25dc77721da9..dd6db1462986 100644 --- a/quantum/encoder.h +++ b/quantum/encoder.h @@ -18,6 +18,7 @@ #pragma once #include "quantum.h" +#include "util.h" void encoder_init(void); bool encoder_read(void); @@ -26,6 +27,31 @@ bool encoder_update_kb(uint8_t index, bool clockwise); bool encoder_update_user(uint8_t index, bool clockwise); #ifdef SPLIT_KEYBOARD + void encoder_state_raw(uint8_t* slave_state); void encoder_update_raw(uint8_t* slave_state); -#endif + +# if defined(ENCODERS_PAD_A_RIGHT) +# define NUM_ENCODERS_LEFT (sizeof(((pin_t[])ENCODERS_PAD_A)) / sizeof(pin_t)) +# define NUM_ENCODERS_RIGHT (sizeof(((pin_t[])ENCODERS_PAD_A_RIGHT)) / sizeof(pin_t)) +# else +# define NUM_ENCODERS_LEFT (sizeof(((pin_t[])ENCODERS_PAD_A)) / sizeof(pin_t)) +# define NUM_ENCODERS_RIGHT NUM_ENCODERS_LEFT +# endif +# define NUM_ENCODERS (NUM_ENCODERS_LEFT + NUM_ENCODERS_RIGHT) + +#else // SPLIT_KEYBOARD + +# define NUM_ENCODERS (sizeof(((pin_t[])ENCODERS_PAD_A)) / sizeof(pin_t)) +# define NUM_ENCODERS_LEFT NUM_ENCODERS +# define NUM_ENCODERS_RIGHT 0 + +#endif // SPLIT_KEYBOARD + +#ifndef NUM_ENCODERS +# define NUM_ENCODERS 0 +# define NUM_ENCODERS_LEFT 0 +# define NUM_ENCODERS_RIGHT 0 +#endif // NUM_ENCODERS + +#define NUM_ENCODERS_MAX_PER_SIDE MAX(NUM_ENCODERS_LEFT, NUM_ENCODERS_RIGHT) diff --git a/quantum/encoder/tests/config_mock.h b/quantum/encoder/tests/config_mock.h new file mode 100644 index 000000000000..703dcaf10361 --- /dev/null +++ b/quantum/encoder/tests/config_mock.h @@ -0,0 +1,22 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* Here, "pins" from 0 to 31 are allowed. */ +#define ENCODERS_PAD_A \ + { 0 } +#define ENCODERS_PAD_B \ + { 1 } + +#ifdef __cplusplus +extern "C" { +#endif + +#include "mock.h" + +#ifdef __cplusplus +}; +#endif diff --git a/quantum/encoder/tests/config_mock_split_left_eq_right.h b/quantum/encoder/tests/config_mock_split_left_eq_right.h new file mode 100644 index 000000000000..c80ac4d51988 --- /dev/null +++ b/quantum/encoder/tests/config_mock_split_left_eq_right.h @@ -0,0 +1,26 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* Here, "pins" from 0 to 31 are allowed. */ +#define ENCODERS_PAD_A \ + { 0, 2 } +#define ENCODERS_PAD_B \ + { 1, 3 } +#define ENCODERS_PAD_A_RIGHT \ + { 4, 6 } +#define ENCODERS_PAD_B_RIGHT \ + { 5, 7 } + +#ifdef __cplusplus +extern "C" { +#endif + +#include "mock_split.h" + +#ifdef __cplusplus +}; +#endif diff --git a/quantum/encoder/tests/config_mock_split_left_gt_right.h b/quantum/encoder/tests/config_mock_split_left_gt_right.h new file mode 100644 index 000000000000..91d5f3d6058c --- /dev/null +++ b/quantum/encoder/tests/config_mock_split_left_gt_right.h @@ -0,0 +1,26 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* Here, "pins" from 0 to 31 are allowed. */ +#define ENCODERS_PAD_A \ + { 0, 2, 4 } +#define ENCODERS_PAD_B \ + { 1, 3, 5 } +#define ENCODERS_PAD_A_RIGHT \ + { 6, 8 } +#define ENCODERS_PAD_B_RIGHT \ + { 7, 9 } + +#ifdef __cplusplus +extern "C" { +#endif + +#include "mock_split.h" + +#ifdef __cplusplus +}; +#endif diff --git a/quantum/encoder/tests/config_mock_split_left_lt_right.h b/quantum/encoder/tests/config_mock_split_left_lt_right.h new file mode 100644 index 000000000000..4108a184a68c --- /dev/null +++ b/quantum/encoder/tests/config_mock_split_left_lt_right.h @@ -0,0 +1,26 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* Here, "pins" from 0 to 31 are allowed. */ +#define ENCODERS_PAD_A \ + { 0, 2 } +#define ENCODERS_PAD_B \ + { 1, 3 } +#define ENCODERS_PAD_A_RIGHT \ + { 4, 6, 8 } +#define ENCODERS_PAD_B_RIGHT \ + { 5, 7, 9 } + +#ifdef __cplusplus +extern "C" { +#endif + +#include "mock_split.h" + +#ifdef __cplusplus +}; +#endif diff --git a/quantum/encoder/tests/config_mock_split_no_left.h b/quantum/encoder/tests/config_mock_split_no_left.h new file mode 100644 index 000000000000..9db7fa7e41b1 --- /dev/null +++ b/quantum/encoder/tests/config_mock_split_no_left.h @@ -0,0 +1,26 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* Here, "pins" from 0 to 31 are allowed. */ +#define ENCODERS_PAD_A \ + {} +#define ENCODERS_PAD_B \ + {} +#define ENCODERS_PAD_A_RIGHT \ + { 0, 2 } +#define ENCODERS_PAD_B_RIGHT \ + { 1, 3 } + +#ifdef __cplusplus +extern "C" { +#endif + +#include "mock_split.h" + +#ifdef __cplusplus +}; +#endif diff --git a/quantum/encoder/tests/config_mock_split_no_right.h b/quantum/encoder/tests/config_mock_split_no_right.h new file mode 100644 index 000000000000..14f18015e661 --- /dev/null +++ b/quantum/encoder/tests/config_mock_split_no_right.h @@ -0,0 +1,26 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* Here, "pins" from 0 to 31 are allowed. */ +#define ENCODERS_PAD_A \ + { 0, 2 } +#define ENCODERS_PAD_B \ + { 1, 3 } +#define ENCODERS_PAD_A_RIGHT \ + {} +#define ENCODERS_PAD_B_RIGHT \ + {} + +#ifdef __cplusplus +extern "C" { +#endif + +#include "mock_split.h" + +#ifdef __cplusplus +}; +#endif diff --git a/quantum/encoder/tests/encoder_tests.cpp b/quantum/encoder/tests/encoder_tests.cpp index 1888fdab8d08..b7c18aeec008 100644 --- a/quantum/encoder/tests/encoder_tests.cpp +++ b/quantum/encoder/tests/encoder_tests.cpp @@ -30,12 +30,12 @@ struct update { bool clockwise; }; -uint8_t uidx = 0; +uint8_t updates_array_idx = 0; update updates[32]; bool encoder_update_kb(uint8_t index, bool clockwise) { - updates[uidx % 32] = {index, clockwise}; - uidx++; + updates[updates_array_idx % 32] = {index, clockwise}; + updates_array_idx++; return true; } @@ -47,15 +47,15 @@ bool setAndRead(pin_t pin, bool val) { class EncoderTest : public ::testing::Test {}; TEST_F(EncoderTest, TestInit) { - uidx = 0; + updates_array_idx = 0; encoder_init(); EXPECT_EQ(pinIsInputHigh[0], true); EXPECT_EQ(pinIsInputHigh[1], true); - EXPECT_EQ(uidx, 0); + EXPECT_EQ(updates_array_idx, 0); } TEST_F(EncoderTest, TestOneClockwise) { - uidx = 0; + updates_array_idx = 0; encoder_init(); // send 4 pulses. with resolution 4, that's one step and we should get 1 update. setAndRead(0, false); @@ -63,26 +63,26 @@ TEST_F(EncoderTest, TestOneClockwise) { setAndRead(0, true); setAndRead(1, true); - EXPECT_EQ(uidx, 1); + EXPECT_EQ(updates_array_idx, 1); EXPECT_EQ(updates[0].index, 0); EXPECT_EQ(updates[0].clockwise, true); } TEST_F(EncoderTest, TestOneCounterClockwise) { - uidx = 0; + updates_array_idx = 0; encoder_init(); setAndRead(1, false); setAndRead(0, false); setAndRead(1, true); setAndRead(0, true); - EXPECT_EQ(uidx, 1); + EXPECT_EQ(updates_array_idx, 1); EXPECT_EQ(updates[0].index, 0); EXPECT_EQ(updates[0].clockwise, false); } TEST_F(EncoderTest, TestTwoClockwiseOneCC) { - uidx = 0; + updates_array_idx = 0; encoder_init(); setAndRead(0, false); setAndRead(1, false); @@ -97,7 +97,7 @@ TEST_F(EncoderTest, TestTwoClockwiseOneCC) { setAndRead(1, true); setAndRead(0, true); - EXPECT_EQ(uidx, 3); + EXPECT_EQ(updates_array_idx, 3); EXPECT_EQ(updates[0].index, 0); EXPECT_EQ(updates[0].clockwise, true); EXPECT_EQ(updates[1].index, 0); @@ -107,38 +107,38 @@ TEST_F(EncoderTest, TestTwoClockwiseOneCC) { } TEST_F(EncoderTest, TestNoEarly) { - uidx = 0; + updates_array_idx = 0; encoder_init(); // send 3 pulses. with resolution 4, that's not enough for a step. setAndRead(0, false); setAndRead(1, false); setAndRead(0, true); - EXPECT_EQ(uidx, 0); + EXPECT_EQ(updates_array_idx, 0); // now send last pulse setAndRead(1, true); - EXPECT_EQ(uidx, 1); + EXPECT_EQ(updates_array_idx, 1); EXPECT_EQ(updates[0].index, 0); EXPECT_EQ(updates[0].clockwise, true); } TEST_F(EncoderTest, TestHalfway) { - uidx = 0; + updates_array_idx = 0; encoder_init(); // go halfway setAndRead(0, false); setAndRead(1, false); - EXPECT_EQ(uidx, 0); + EXPECT_EQ(updates_array_idx, 0); // back off setAndRead(1, true); setAndRead(0, true); - EXPECT_EQ(uidx, 0); + EXPECT_EQ(updates_array_idx, 0); // go all the way setAndRead(0, false); setAndRead(1, false); setAndRead(0, true); setAndRead(1, true); // should result in 1 update - EXPECT_EQ(uidx, 1); + EXPECT_EQ(updates_array_idx, 1); EXPECT_EQ(updates[0].index, 0); EXPECT_EQ(updates[0].clockwise, true); } diff --git a/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp b/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp new file mode 100644 index 000000000000..916e47b18517 --- /dev/null +++ b/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp @@ -0,0 +1,135 @@ +/* Copyright 2021 Balz Guenat + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "gtest/gtest.h" +#include "gmock/gmock.h" +#include +#include +#include + +extern "C" { +#include "encoder.h" +#include "encoder/tests/mock_split.h" +} + +struct update { + int8_t index; + bool clockwise; +}; + +uint8_t updates_array_idx = 0; +update updates[32]; + +bool isLeftHand; + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!isLeftHand) { + // this method has no effect on slave half + printf("ignoring update on right hand (%d,%s)\n", index, clockwise ? "CW" : "CC"); + return true; + } + updates[updates_array_idx % 32] = {index, clockwise}; + updates_array_idx++; + return true; +} + +bool setAndRead(pin_t pin, bool val) { + setPin(pin, val); + return encoder_read(); +} + +class EncoderSplitTestLeftEqRight : public ::testing::Test { + protected: + void SetUp() override { + updates_array_idx = 0; + for (int i = 0; i < 32; i++) { + pinIsInputHigh[i] = 0; + pins[i] = 0; + } + } +}; + +TEST_F(EncoderSplitTestLeftEqRight, TestInitLeft) { + isLeftHand = true; + encoder_init(); + EXPECT_EQ(pinIsInputHigh[0], true); + EXPECT_EQ(pinIsInputHigh[1], true); + EXPECT_EQ(pinIsInputHigh[2], true); + EXPECT_EQ(pinIsInputHigh[3], true); + EXPECT_EQ(pinIsInputHigh[4], false); + EXPECT_EQ(pinIsInputHigh[5], false); + EXPECT_EQ(pinIsInputHigh[6], false); + EXPECT_EQ(pinIsInputHigh[7], false); + EXPECT_EQ(updates_array_idx, 0); // no updates received +} + +TEST_F(EncoderSplitTestLeftEqRight, TestInitRight) { + isLeftHand = false; + encoder_init(); + EXPECT_EQ(pinIsInputHigh[0], false); + EXPECT_EQ(pinIsInputHigh[1], false); + EXPECT_EQ(pinIsInputHigh[2], false); + EXPECT_EQ(pinIsInputHigh[3], false); + EXPECT_EQ(pinIsInputHigh[4], true); + EXPECT_EQ(pinIsInputHigh[5], true); + EXPECT_EQ(pinIsInputHigh[6], true); + EXPECT_EQ(pinIsInputHigh[7], true); + EXPECT_EQ(updates_array_idx, 0); // no updates received +} + +TEST_F(EncoderSplitTestLeftEqRight, TestOneClockwiseLeft) { + isLeftHand = true; + encoder_init(); + // send 4 pulses. with resolution 4, that's one step and we should get 1 update. + setAndRead(0, false); + setAndRead(1, false); + setAndRead(0, true); + setAndRead(1, true); + + EXPECT_EQ(updates_array_idx, 1); // one update received + EXPECT_EQ(updates[0].index, 0); + EXPECT_EQ(updates[0].clockwise, true); +} + +TEST_F(EncoderSplitTestLeftEqRight, TestOneClockwiseRightSent) { + isLeftHand = false; + encoder_init(); + // send 4 pulses. with resolution 4, that's one step and we should get 1 update. + setAndRead(6, false); + setAndRead(7, false); + setAndRead(6, true); + setAndRead(7, true); + + uint8_t slave_state[32] = {0}; + encoder_state_raw(slave_state); + + EXPECT_EQ(slave_state[0], 0); + EXPECT_EQ(slave_state[1], 0xFF); +} + +TEST_F(EncoderSplitTestLeftEqRight, TestMultipleEncodersRightReceived) { + isLeftHand = true; + encoder_init(); + + uint8_t slave_state[32] = {1, 0xFF}; // First right encoder is CCW, Second right encoder CW + encoder_update_raw(slave_state); + + EXPECT_EQ(updates_array_idx, 2); // two updates received, one for each changed item on the right side + EXPECT_EQ(updates[0].index, 2); + EXPECT_EQ(updates[0].clockwise, false); + EXPECT_EQ(updates[1].index, 3); + EXPECT_EQ(updates[1].clockwise, true); +} diff --git a/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp b/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp new file mode 100644 index 000000000000..7b64bb298136 --- /dev/null +++ b/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp @@ -0,0 +1,139 @@ +/* Copyright 2021 Balz Guenat + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "gtest/gtest.h" +#include "gmock/gmock.h" +#include +#include +#include + +extern "C" { +#include "encoder.h" +#include "encoder/tests/mock_split.h" +} + +struct update { + int8_t index; + bool clockwise; +}; + +uint8_t updates_array_idx = 0; +update updates[32]; + +bool isLeftHand; + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!isLeftHand) { + // this method has no effect on slave half + printf("ignoring update on right hand (%d,%s)\n", index, clockwise ? "CW" : "CC"); + return true; + } + updates[updates_array_idx % 32] = {index, clockwise}; + updates_array_idx++; + return true; +} + +bool setAndRead(pin_t pin, bool val) { + setPin(pin, val); + return encoder_read(); +} + +class EncoderSplitTestLeftGreaterThanRight : public ::testing::Test { + protected: + void SetUp() override { + updates_array_idx = 0; + for (int i = 0; i < 32; i++) { + pinIsInputHigh[i] = 0; + pins[i] = 0; + } + } +}; + +TEST_F(EncoderSplitTestLeftGreaterThanRight, TestInitLeft) { + isLeftHand = true; + encoder_init(); + EXPECT_EQ(pinIsInputHigh[0], true); + EXPECT_EQ(pinIsInputHigh[1], true); + EXPECT_EQ(pinIsInputHigh[2], true); + EXPECT_EQ(pinIsInputHigh[3], true); + EXPECT_EQ(pinIsInputHigh[4], true); + EXPECT_EQ(pinIsInputHigh[5], true); + EXPECT_EQ(pinIsInputHigh[6], false); + EXPECT_EQ(pinIsInputHigh[7], false); + EXPECT_EQ(pinIsInputHigh[8], false); + EXPECT_EQ(pinIsInputHigh[9], false); + EXPECT_EQ(updates_array_idx, 0); // no updates received +} + +TEST_F(EncoderSplitTestLeftGreaterThanRight, TestInitRight) { + isLeftHand = false; + encoder_init(); + EXPECT_EQ(pinIsInputHigh[0], false); + EXPECT_EQ(pinIsInputHigh[1], false); + EXPECT_EQ(pinIsInputHigh[2], false); + EXPECT_EQ(pinIsInputHigh[3], false); + EXPECT_EQ(pinIsInputHigh[4], false); + EXPECT_EQ(pinIsInputHigh[5], false); + EXPECT_EQ(pinIsInputHigh[6], true); + EXPECT_EQ(pinIsInputHigh[7], true); + EXPECT_EQ(pinIsInputHigh[8], true); + EXPECT_EQ(pinIsInputHigh[9], true); + EXPECT_EQ(updates_array_idx, 0); // no updates received +} + +TEST_F(EncoderSplitTestLeftGreaterThanRight, TestOneClockwiseLeft) { + isLeftHand = true; + encoder_init(); + // send 4 pulses. with resolution 4, that's one step and we should get 1 update. + setAndRead(0, false); + setAndRead(1, false); + setAndRead(0, true); + setAndRead(1, true); + + EXPECT_EQ(updates_array_idx, 1); // one update received + EXPECT_EQ(updates[0].index, 0); + EXPECT_EQ(updates[0].clockwise, true); +} + +TEST_F(EncoderSplitTestLeftGreaterThanRight, TestOneClockwiseRightSent) { + isLeftHand = false; + encoder_init(); + // send 4 pulses. with resolution 4, that's one step and we should get 1 update. + setAndRead(6, false); + setAndRead(7, false); + setAndRead(6, true); + setAndRead(7, true); + + uint8_t slave_state[32] = {0}; + encoder_state_raw(slave_state); + + EXPECT_EQ(slave_state[0], 0xFF); + EXPECT_EQ(slave_state[1], 0); +} + +TEST_F(EncoderSplitTestLeftGreaterThanRight, TestMultipleEncodersRightReceived) { + isLeftHand = true; + encoder_init(); + + uint8_t slave_state[32] = {1, 0xFF}; // First right encoder is CCW, Second right encoder no change, third right encoder CW + encoder_update_raw(slave_state); + + EXPECT_EQ(updates_array_idx, 2); // two updates received, one for each changed item on the right side + EXPECT_EQ(updates[0].index, 3); + EXPECT_EQ(updates[0].clockwise, false); + EXPECT_EQ(updates[1].index, 4); + EXPECT_EQ(updates[1].clockwise, true); +} diff --git a/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp b/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp new file mode 100644 index 000000000000..a6519c576257 --- /dev/null +++ b/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp @@ -0,0 +1,139 @@ +/* Copyright 2021 Balz Guenat + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "gtest/gtest.h" +#include "gmock/gmock.h" +#include +#include +#include + +extern "C" { +#include "encoder.h" +#include "encoder/tests/mock_split.h" +} + +struct update { + int8_t index; + bool clockwise; +}; + +uint8_t updates_array_idx = 0; +update updates[32]; + +bool isLeftHand; + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!isLeftHand) { + // this method has no effect on slave half + printf("ignoring update on right hand (%d,%s)\n", index, clockwise ? "CW" : "CC"); + return true; + } + updates[updates_array_idx % 32] = {index, clockwise}; + updates_array_idx++; + return true; +} + +bool setAndRead(pin_t pin, bool val) { + setPin(pin, val); + return encoder_read(); +} + +class EncoderSplitTestLeftLessThanRight : public ::testing::Test { + protected: + void SetUp() override { + updates_array_idx = 0; + for (int i = 0; i < 32; i++) { + pinIsInputHigh[i] = 0; + pins[i] = 0; + } + } +}; + +TEST_F(EncoderSplitTestLeftLessThanRight, TestInitLeft) { + isLeftHand = true; + encoder_init(); + EXPECT_EQ(pinIsInputHigh[0], true); + EXPECT_EQ(pinIsInputHigh[1], true); + EXPECT_EQ(pinIsInputHigh[2], true); + EXPECT_EQ(pinIsInputHigh[3], true); + EXPECT_EQ(pinIsInputHigh[4], false); + EXPECT_EQ(pinIsInputHigh[5], false); + EXPECT_EQ(pinIsInputHigh[6], false); + EXPECT_EQ(pinIsInputHigh[7], false); + EXPECT_EQ(pinIsInputHigh[8], false); + EXPECT_EQ(pinIsInputHigh[9], false); + EXPECT_EQ(updates_array_idx, 0); // no updates received +} + +TEST_F(EncoderSplitTestLeftLessThanRight, TestInitRight) { + isLeftHand = false; + encoder_init(); + EXPECT_EQ(pinIsInputHigh[0], false); + EXPECT_EQ(pinIsInputHigh[1], false); + EXPECT_EQ(pinIsInputHigh[2], false); + EXPECT_EQ(pinIsInputHigh[3], false); + EXPECT_EQ(pinIsInputHigh[4], true); + EXPECT_EQ(pinIsInputHigh[5], true); + EXPECT_EQ(pinIsInputHigh[6], true); + EXPECT_EQ(pinIsInputHigh[7], true); + EXPECT_EQ(pinIsInputHigh[8], true); + EXPECT_EQ(pinIsInputHigh[9], true); + EXPECT_EQ(updates_array_idx, 0); // no updates received +} + +TEST_F(EncoderSplitTestLeftLessThanRight, TestOneClockwiseLeft) { + isLeftHand = true; + encoder_init(); + // send 4 pulses. with resolution 4, that's one step and we should get 1 update. + setAndRead(0, false); + setAndRead(1, false); + setAndRead(0, true); + setAndRead(1, true); + + EXPECT_EQ(updates_array_idx, 1); // one update received + EXPECT_EQ(updates[0].index, 0); + EXPECT_EQ(updates[0].clockwise, true); +} + +TEST_F(EncoderSplitTestLeftLessThanRight, TestOneClockwiseRightSent) { + isLeftHand = false; + encoder_init(); + // send 4 pulses. with resolution 4, that's one step and we should get 1 update. + setAndRead(6, false); + setAndRead(7, false); + setAndRead(6, true); + setAndRead(7, true); + + uint8_t slave_state[32] = {0}; + encoder_state_raw(slave_state); + + EXPECT_EQ(slave_state[0], 0); + EXPECT_EQ(slave_state[1], 0xFF); +} + +TEST_F(EncoderSplitTestLeftLessThanRight, TestMultipleEncodersRightReceived) { + isLeftHand = true; + encoder_init(); + + uint8_t slave_state[32] = {1, 0, 0xFF}; // First right encoder is CCW, Second right encoder no change, third right encoder CW + encoder_update_raw(slave_state); + + EXPECT_EQ(updates_array_idx, 2); // two updates received, one for each changed item on the right side + EXPECT_EQ(updates[0].index, 2); + EXPECT_EQ(updates[0].clockwise, false); + EXPECT_EQ(updates[1].index, 4); + EXPECT_EQ(updates[1].clockwise, true); +} diff --git a/quantum/encoder/tests/encoder_tests_split.cpp b/quantum/encoder/tests/encoder_tests_split_no_left.cpp similarity index 66% rename from quantum/encoder/tests/encoder_tests_split.cpp rename to quantum/encoder/tests/encoder_tests_split_no_left.cpp index 25e52c83f9d6..b6b2d7e2d19a 100644 --- a/quantum/encoder/tests/encoder_tests_split.cpp +++ b/quantum/encoder/tests/encoder_tests_split_no_left.cpp @@ -30,7 +30,7 @@ struct update { bool clockwise; }; -uint8_t uidx = 0; +uint8_t updates_array_idx = 0; update updates[32]; bool isLeftHand; @@ -41,8 +41,8 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { printf("ignoring update on right hand (%d,%s)\n", index, clockwise ? "CW" : "CC"); return true; } - updates[uidx % 32] = {index, clockwise}; - uidx++; + updates[updates_array_idx % 32] = {index, clockwise}; + updates_array_idx++; return true; } @@ -51,10 +51,10 @@ bool setAndRead(pin_t pin, bool val) { return encoder_read(); } -class EncoderTest : public ::testing::Test { +class EncoderSplitTestNoLeft : public ::testing::Test { protected: void SetUp() override { - uidx = 0; + updates_array_idx = 0; for (int i = 0; i < 32; i++) { pinIsInputHigh[i] = 0; pins[i] = 0; @@ -62,27 +62,27 @@ class EncoderTest : public ::testing::Test { } }; -TEST_F(EncoderTest, TestInitLeft) { +TEST_F(EncoderSplitTestNoLeft, TestInitLeft) { isLeftHand = true; encoder_init(); - EXPECT_EQ(pinIsInputHigh[0], true); - EXPECT_EQ(pinIsInputHigh[1], true); + EXPECT_EQ(pinIsInputHigh[0], false); + EXPECT_EQ(pinIsInputHigh[1], false); EXPECT_EQ(pinIsInputHigh[2], false); EXPECT_EQ(pinIsInputHigh[3], false); - EXPECT_EQ(uidx, 0); + EXPECT_EQ(updates_array_idx, 0); // no updates received } -TEST_F(EncoderTest, TestInitRight) { +TEST_F(EncoderSplitTestNoLeft, TestInitRight) { isLeftHand = false; encoder_init(); - EXPECT_EQ(pinIsInputHigh[0], false); - EXPECT_EQ(pinIsInputHigh[1], false); + EXPECT_EQ(pinIsInputHigh[0], true); + EXPECT_EQ(pinIsInputHigh[1], true); EXPECT_EQ(pinIsInputHigh[2], true); EXPECT_EQ(pinIsInputHigh[3], true); - EXPECT_EQ(uidx, 0); + EXPECT_EQ(updates_array_idx, 0); // no updates received } -TEST_F(EncoderTest, TestOneClockwiseLeft) { +TEST_F(EncoderSplitTestNoLeft, TestOneClockwiseLeft) { isLeftHand = true; encoder_init(); // send 4 pulses. with resolution 4, that's one step and we should get 1 update. @@ -91,12 +91,10 @@ TEST_F(EncoderTest, TestOneClockwiseLeft) { setAndRead(0, true); setAndRead(1, true); - EXPECT_EQ(uidx, 1); - EXPECT_EQ(updates[0].index, 0); - EXPECT_EQ(updates[0].clockwise, true); + EXPECT_EQ(updates_array_idx, 0); // no updates received } -TEST_F(EncoderTest, TestOneClockwiseRightSent) { +TEST_F(EncoderSplitTestNoLeft, TestOneClockwiseRightSent) { isLeftHand = false; encoder_init(); // send 4 pulses. with resolution 4, that's one step and we should get 1 update. @@ -105,39 +103,23 @@ TEST_F(EncoderTest, TestOneClockwiseRightSent) { setAndRead(2, true); setAndRead(3, true); - uint8_t slave_state[2] = {0}; + uint8_t slave_state[32] = {0}; encoder_state_raw(slave_state); - EXPECT_EQ((int8_t)slave_state[0], -1); + EXPECT_EQ(slave_state[0], 0); + EXPECT_EQ(slave_state[1], 0xFF); } -/* this test will not work after the previous test. - * this is due to encoder_value[1] already being set to -1 when simulating the right half. - * When we now receive this update acting as the left half, there is no change. - * This is hard to mock, as the static values inside encoder.c normally exist twice, once on each half, - * but here, they only exist once. - */ - -// TEST_F(EncoderTest, TestOneClockwiseRightReceived) { -// isLeftHand = true; -// encoder_init(); - -// uint8_t slave_state[2] = {255, 0}; -// encoder_update_raw(slave_state); - -// EXPECT_EQ(uidx, 1); -// EXPECT_EQ(updates[0].index, 1); -// EXPECT_EQ(updates[0].clockwise, true); -// } - -TEST_F(EncoderTest, TestOneCounterClockwiseRightReceived) { +TEST_F(EncoderSplitTestNoLeft, TestMultipleEncodersRightReceived) { isLeftHand = true; encoder_init(); - uint8_t slave_state[2] = {0, 0}; + uint8_t slave_state[32] = {1, 0xFF}; // First right encoder is CCW, Second right encoder no change, third right encoder CW encoder_update_raw(slave_state); - EXPECT_EQ(uidx, 1); - EXPECT_EQ(updates[0].index, 1); + EXPECT_EQ(updates_array_idx, 2); // two updates received, one for each changed item on the right side + EXPECT_EQ(updates[0].index, 0); EXPECT_EQ(updates[0].clockwise, false); + EXPECT_EQ(updates[1].index, 1); + EXPECT_EQ(updates[1].clockwise, true); } diff --git a/quantum/encoder/tests/encoder_tests_split_no_right.cpp b/quantum/encoder/tests/encoder_tests_split_no_right.cpp new file mode 100644 index 000000000000..fa0a7c18a806 --- /dev/null +++ b/quantum/encoder/tests/encoder_tests_split_no_right.cpp @@ -0,0 +1,118 @@ +/* Copyright 2021 Balz Guenat + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "gtest/gtest.h" +#include "gmock/gmock.h" +#include +#include +#include + +extern "C" { +#include "encoder.h" +#include "encoder/tests/mock_split.h" +} + +struct update { + int8_t index; + bool clockwise; +}; + +uint8_t updates_array_idx = 0; +update updates[32]; + +bool isLeftHand; + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!isLeftHand) { + // this method has no effect on slave half + printf("ignoring update on right hand (%d,%s)\n", index, clockwise ? "CW" : "CC"); + return true; + } + updates[updates_array_idx % 32] = {index, clockwise}; + updates_array_idx++; + return true; +} + +bool setAndRead(pin_t pin, bool val) { + setPin(pin, val); + return encoder_read(); +} + +class EncoderSplitTestNoRight : public ::testing::Test { + protected: + void SetUp() override { + updates_array_idx = 0; + for (int i = 0; i < 32; i++) { + pinIsInputHigh[i] = 0; + pins[i] = 0; + } + } +}; + +TEST_F(EncoderSplitTestNoRight, TestInitLeft) { + isLeftHand = true; + encoder_init(); + EXPECT_EQ(pinIsInputHigh[0], true); + EXPECT_EQ(pinIsInputHigh[1], true); + EXPECT_EQ(pinIsInputHigh[2], true); + EXPECT_EQ(pinIsInputHigh[3], true); + EXPECT_EQ(updates_array_idx, 0); // no updates received +} + +TEST_F(EncoderSplitTestNoRight, TestInitRight) { + isLeftHand = false; + encoder_init(); + EXPECT_EQ(pinIsInputHigh[0], false); + EXPECT_EQ(pinIsInputHigh[1], false); + EXPECT_EQ(pinIsInputHigh[2], false); + EXPECT_EQ(pinIsInputHigh[3], false); + EXPECT_EQ(updates_array_idx, 0); // no updates received +} + +TEST_F(EncoderSplitTestNoRight, TestOneClockwiseLeft) { + isLeftHand = true; + encoder_init(); + // send 4 pulses. with resolution 4, that's one step and we should get 1 update. + setAndRead(0, false); + setAndRead(1, false); + setAndRead(0, true); + setAndRead(1, true); + + EXPECT_EQ(updates_array_idx, 1); // one updates received + EXPECT_EQ(updates[0].index, 0); + EXPECT_EQ(updates[0].clockwise, true); +} + +TEST_F(EncoderSplitTestNoRight, TestOneClockwiseRightSent) { + isLeftHand = false; + encoder_init(); + + uint8_t slave_state[32] = {0xAA, 0xAA}; + encoder_state_raw(slave_state); + + EXPECT_EQ(slave_state[0], 0xAA); + EXPECT_EQ(slave_state[1], 0xAA); +} + +TEST_F(EncoderSplitTestNoRight, TestMultipleEncodersRightReceived) { + isLeftHand = true; + encoder_init(); + + uint8_t slave_state[32] = {1, 0xFF}; // These values would trigger updates if there were encoders on the other side + encoder_update_raw(slave_state); + + EXPECT_EQ(updates_array_idx, 0); // no updates received -- no right-hand encoders +} diff --git a/quantum/encoder/tests/mock.h b/quantum/encoder/tests/mock.h index dbc25a084618..80c336b5ef61 100644 --- a/quantum/encoder/tests/mock.h +++ b/quantum/encoder/tests/mock.h @@ -19,12 +19,6 @@ #include #include -/* Here, "pins" from 0 to 31 are allowed. */ -#define ENCODERS_PAD_A \ - { 0 } -#define ENCODERS_PAD_B \ - { 1 } - typedef uint8_t pin_t; extern bool pins[]; diff --git a/quantum/encoder/tests/mock_split.h b/quantum/encoder/tests/mock_split.h index 0ae62652f97f..2fc12f18306f 100644 --- a/quantum/encoder/tests/mock_split.h +++ b/quantum/encoder/tests/mock_split.h @@ -20,20 +20,10 @@ #include #define SPLIT_KEYBOARD -/* Here, "pins" from 0 to 31 are allowed. */ -#define ENCODERS_PAD_A \ - { 0 } -#define ENCODERS_PAD_B \ - { 1 } -#define ENCODERS_PAD_A_RIGHT \ - { 2 } -#define ENCODERS_PAD_B_RIGHT \ - { 3 } - typedef uint8_t pin_t; -extern bool isLeftHand; -void encoder_state_raw(uint8_t* slave_state); -void encoder_update_raw(uint8_t* slave_state); + +void encoder_state_raw(uint8_t* slave_state); +void encoder_update_raw(uint8_t* slave_state); extern bool pins[]; extern bool pinIsInputHigh[]; diff --git a/quantum/encoder/tests/rules.mk b/quantum/encoder/tests/rules.mk index b826ce3aedec..6a2611952cd7 100644 --- a/quantum/encoder/tests/rules.mk +++ b/quantum/encoder/tests/rules.mk @@ -1,13 +1,58 @@ -encoder_DEFS := -DENCODER_MOCK_SINGLE +encoder_DEFS := -DENCODER_TESTS -DENCODER_ENABLE -DENCODER_MOCK_SINGLE +encoder_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock.h encoder_SRC := \ + platforms/test/timer.c \ $(QUANTUM_PATH)/encoder/tests/mock.c \ $(QUANTUM_PATH)/encoder/tests/encoder_tests.cpp \ $(QUANTUM_PATH)/encoder.c -encoder_split_DEFS := -DENCODER_MOCK_SPLIT +encoder_split_left_eq_right_DEFS := -DENCODER_TESTS -DENCODER_ENABLE -DENCODER_MOCK_SPLIT +encoder_split_left_eq_right_INC := $(QUANTUM_PATH)/split_common +encoder_split_left_eq_right_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_split_left_eq_right.h -encoder_split_SRC := \ +encoder_split_left_eq_right_SRC := \ + platforms/test/timer.c \ $(QUANTUM_PATH)/encoder/tests/mock_split.c \ - $(QUANTUM_PATH)/encoder/tests/encoder_tests_split.cpp \ + $(QUANTUM_PATH)/encoder/tests/encoder_tests_split_left_eq_right.cpp \ + $(QUANTUM_PATH)/encoder.c + +encoder_split_left_gt_right_DEFS := -DENCODER_TESTS -DENCODER_ENABLE -DENCODER_MOCK_SPLIT +encoder_split_left_gt_right_INC := $(QUANTUM_PATH)/split_common +encoder_split_left_gt_right_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_split_left_gt_right.h + +encoder_split_left_gt_right_SRC := \ + platforms/test/timer.c \ + $(QUANTUM_PATH)/encoder/tests/mock_split.c \ + $(QUANTUM_PATH)/encoder/tests/encoder_tests_split_left_gt_right.cpp \ + $(QUANTUM_PATH)/encoder.c + +encoder_split_left_lt_right_DEFS := -DENCODER_TESTS -DENCODER_ENABLE -DENCODER_MOCK_SPLIT +encoder_split_left_lt_right_INC := $(QUANTUM_PATH)/split_common +encoder_split_left_lt_right_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_split_left_lt_right.h + +encoder_split_left_lt_right_SRC := \ + platforms/test/timer.c \ + $(QUANTUM_PATH)/encoder/tests/mock_split.c \ + $(QUANTUM_PATH)/encoder/tests/encoder_tests_split_left_lt_right.cpp \ + $(QUANTUM_PATH)/encoder.c + +encoder_split_no_left_DEFS := -DENCODER_TESTS -DENCODER_ENABLE -DENCODER_MOCK_SPLIT +encoder_split_no_left_INC := $(QUANTUM_PATH)/split_common +encoder_split_no_left_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_split_no_left.h + +encoder_split_no_left_SRC := \ + platforms/test/timer.c \ + $(QUANTUM_PATH)/encoder/tests/mock_split.c \ + $(QUANTUM_PATH)/encoder/tests/encoder_tests_split_no_left.cpp \ + $(QUANTUM_PATH)/encoder.c + +encoder_split_no_right_DEFS := -DENCODER_TESTS -DENCODER_ENABLE -DENCODER_MOCK_SPLIT +encoder_split_no_right_INC := $(QUANTUM_PATH)/split_common +encoder_split_no_right_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_split_no_right.h + +encoder_split_no_right_SRC := \ + platforms/test/timer.c \ + $(QUANTUM_PATH)/encoder/tests/mock_split.c \ + $(QUANTUM_PATH)/encoder/tests/encoder_tests_split_no_right.cpp \ $(QUANTUM_PATH)/encoder.c diff --git a/quantum/encoder/tests/testlist.mk b/quantum/encoder/tests/testlist.mk index 1be9f4a0548e..6b2fd84d9668 100644 --- a/quantum/encoder/tests/testlist.mk +++ b/quantum/encoder/tests/testlist.mk @@ -1,3 +1,7 @@ TEST_LIST += \ encoder \ - encoder_split + encoder_split_left_eq_right \ + encoder_split_left_gt_right \ + encoder_split_left_lt_right \ + encoder_split_no_left \ + encoder_split_no_right diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index cffbccaeee2f..105bf918cb5e 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -180,7 +180,7 @@ static void master_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_ro static bool encoder_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { static uint32_t last_update = 0; - uint8_t temp_state[NUMBER_OF_ENCODERS]; + uint8_t temp_state[NUM_ENCODERS_MAX_PER_SIDE]; bool okay = read_if_checksum_mismatch(GET_ENCODERS_CHECKSUM, GET_ENCODERS_DATA, &last_update, temp_state, split_shmem->encoders.state, sizeof(temp_state)); if (okay) encoder_update_raw(temp_state); @@ -188,7 +188,7 @@ static bool encoder_handlers_master(matrix_row_t master_matrix[], matrix_row_t s } static void encoder_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { - uint8_t encoder_state[NUMBER_OF_ENCODERS]; + uint8_t encoder_state[NUM_ENCODERS_MAX_PER_SIDE]; encoder_state_raw(encoder_state); // Always prepare the encoder state for read. memcpy(split_shmem->encoders.state, encoder_state, sizeof(encoder_state)); diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h index 26bd136728ee..e62679990adb 100644 --- a/quantum/split_common/transport.h +++ b/quantum/split_common/transport.h @@ -42,7 +42,6 @@ bool transport_execute_transaction(int8_t id, const void *initiator2target_buf, #ifdef ENCODER_ENABLE # include "encoder.h" -# define NUMBER_OF_ENCODERS (sizeof((pin_t[])ENCODERS_PAD_A) / sizeof(pin_t)) #endif // ENCODER_ENABLE #ifdef BACKLIGHT_ENABLE @@ -67,7 +66,7 @@ typedef struct _split_master_matrix_sync_t { #ifdef ENCODER_ENABLE typedef struct _split_slave_encoder_sync_t { uint8_t checksum; - uint8_t state[NUMBER_OF_ENCODERS]; + uint8_t state[NUM_ENCODERS_MAX_PER_SIDE]; } split_slave_encoder_sync_t; #endif // ENCODER_ENABLE diff --git a/quantum/util.h b/quantum/util.h index bef3b9abe360..ab96ce4bdeb0 100644 --- a/quantum/util.h +++ b/quantum/util.h @@ -24,3 +24,11 @@ along with this program. If not, see . // convert to string #define STR(s) XSTR(s) #define XSTR(s) #s + +#if !defined(MIN) +# define MIN(x, y) (((x) < (y)) ? (x) : (y)) +#endif + +#if !defined(MAX) +# define MAX(x, y) (((x) > (y)) ? (x) : (y)) +#endif From d92994be71d1f9a6e353d218f17de43f4dcf4017 Mon Sep 17 00:00:00 2001 From: Callum Hart Date: Tue, 8 Mar 2022 16:47:57 +0000 Subject: [PATCH 0326/1832] [Keyboard] Add Novus 60% keyboard (#16473) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/cutie_club/novus/config.h | 56 ++++ keyboards/cutie_club/novus/info.json | 277 ++++++++++++++++++ .../cutie_club/novus/keymaps/default/keymap.c | 33 +++ .../cutie_club/novus/keymaps/via/keymap.c | 47 +++ .../cutie_club/novus/keymaps/via/rules.mk | 1 + keyboards/cutie_club/novus/novus.c | 17 ++ keyboards/cutie_club/novus/novus.h | 33 +++ keyboards/cutie_club/novus/readme.md | 26 ++ keyboards/cutie_club/novus/rules.mk | 18 ++ 9 files changed, 508 insertions(+) create mode 100644 keyboards/cutie_club/novus/config.h create mode 100644 keyboards/cutie_club/novus/info.json create mode 100644 keyboards/cutie_club/novus/keymaps/default/keymap.c create mode 100644 keyboards/cutie_club/novus/keymaps/via/keymap.c create mode 100644 keyboards/cutie_club/novus/keymaps/via/rules.mk create mode 100644 keyboards/cutie_club/novus/novus.c create mode 100644 keyboards/cutie_club/novus/novus.h create mode 100644 keyboards/cutie_club/novus/readme.md create mode 100644 keyboards/cutie_club/novus/rules.mk diff --git a/keyboards/cutie_club/novus/config.h b/keyboards/cutie_club/novus/config.h new file mode 100644 index 000000000000..842ec901d0fb --- /dev/null +++ b/keyboards/cutie_club/novus/config.h @@ -0,0 +1,56 @@ +/* +Copyright 2022 Cutie Club + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFB9C +#define PRODUCT_ID 0x3F42 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Cutie Club +#define PRODUCT Novus + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 } +#define MATRIX_COL_PINS { B6, C6, C7, B2, B3, D0, D1, D2, D3, D7, B4, B5, D5, D4, D6 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/cutie_club/novus/info.json b/keyboards/cutie_club/novus/info.json new file mode 100644 index 000000000000..cae4e25c89f6 --- /dev/null +++ b/keyboards/cutie_club/novus/info.json @@ -0,0 +1,277 @@ +{ + "keyboard_name": "Novus", + "url": "", + "maintainer": "Cutie Club", + "layouts": { + "LAYOUT_all": { + "layout": [ + { + "x": 0, + "y": 0 + }, + { + "x": 1, + "y": 0 + }, + { + "x": 2, + "y": 0 + }, + { + "x": 3, + "y": 0 + }, + { + "x": 4, + "y": 0 + }, + { + "x": 5, + "y": 0 + }, + { + "x": 6, + "y": 0 + }, + { + "x": 7, + "y": 0 + }, + { + "x": 8, + "y": 0 + }, + { + "x": 9, + "y": 0 + }, + { + "x": 10, + "y": 0 + }, + { + "x": 11, + "y": 0 + }, + { + "x": 12, + "y": 0 + }, + { + "x": 13, + "y": 0 + }, + { + "x": 14, + "y": 0 + }, + { + "x": 0, + "y": 1, + "w": 1.5 + }, + { + "x": 1.5, + "y": 1 + }, + { + "x": 2.5, + "y": 1 + }, + { + "x": 3.5, + "y": 1 + }, + { + "x": 4.5, + "y": 1 + }, + { + "x": 5.5, + "y": 1 + }, + { + "x": 6.5, + "y": 1 + }, + { + "x": 7.5, + "y": 1 + }, + { + "x": 8.5, + "y": 1 + }, + { + "x": 9.5, + "y": 1 + }, + { + "x": 10.5, + "y": 1 + }, + { + "x": 11.5, + "y": 1 + }, + { + "x": 12.5, + "y": 1 + }, + { + "x": 13.5, + "y": 1, + "w": 1.5 + }, + { + "x": 0, + "y": 2, + "w": 1.75 + }, + { + "x": 1.75, + "y": 2 + }, + { + "x": 2.75, + "y": 2 + }, + { + "x": 3.75, + "y": 2 + }, + { + "x": 4.75, + "y": 2 + }, + { + "x": 5.75, + "y": 2 + }, + { + "x": 6.75, + "y": 2 + }, + { + "x": 7.75, + "y": 2 + }, + { + "x": 8.75, + "y": 2 + }, + { + "x": 9.75, + "y": 2 + }, + { + "x": 10.75, + "y": 2 + }, + { + "x": 11.75, + "y": 2 + }, + { + "x": 12.75, + "y": 2, + "w": 2.25 + }, + { + "x": 0, + "y": 3, + "w": 2.25 + }, + { + "x": 2.25, + "y": 3 + }, + { + "x": 3.25, + "y": 3 + }, + { + "x": 4.25, + "y": 3 + }, + { + "x": 5.25, + "y": 3 + }, + { + "x": 6.25, + "y": 3 + }, + { + "x": 7.25, + "y": 3 + }, + { + "x": 8.25, + "y": 3 + }, + { + "x": 9.25, + "y": 3 + }, + { + "x": 10.25, + "y": 3 + }, + { + "x": 11.25, + "y": 3 + }, + { + "x": 12.25, + "y": 3, + "w": 1.75 + }, + { + "x": 14, + "y": 3 + }, + { + "x": 0, + "y": 4, + "w": 1.25 + }, + { + "x": 1.25, + "y": 4, + "w": 1.25 + }, + { + "x": 2.5, + "y": 4, + "w": 1.25 + }, + { + "x": 3.75, + "y": 4, + "w": 6.25 + }, + { + "x": 10, + "y": 4, + "w": 1.25 + }, + { + "x": 11.25, + "y": 4, + "w": 1.25 + }, + { + "x": 12.5, + "y": 4, + "w": 1.25 + }, + { + "x": 13.75, + "y": 4, + "w": 1.25 + } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/cutie_club/novus/keymaps/default/keymap.c b/keyboards/cutie_club/novus/keymaps/default/keymap.c new file mode 100644 index 000000000000..feeb27de8c72 --- /dev/null +++ b/keyboards/cutie_club/novus/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2022 Cutie Club + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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_BSPC, + 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_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_LSFT, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL + ), + [1] = LAYOUT_all( + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/cutie_club/novus/keymaps/via/keymap.c b/keyboards/cutie_club/novus/keymaps/via/keymap.c new file mode 100644 index 000000000000..24e55dc1cf80 --- /dev/null +++ b/keyboards/cutie_club/novus/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2022 Cutie Club + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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_BSPC, + 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_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_LSFT, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL + ), + [1] = LAYOUT_all( + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/cutie_club/novus/keymaps/via/rules.mk b/keyboards/cutie_club/novus/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/cutie_club/novus/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/cutie_club/novus/novus.c b/keyboards/cutie_club/novus/novus.c new file mode 100644 index 000000000000..2fe5fbfc8f0f --- /dev/null +++ b/keyboards/cutie_club/novus/novus.c @@ -0,0 +1,17 @@ +/* Copyright 2022 Cutie Club + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "novus.h" diff --git a/keyboards/cutie_club/novus/novus.h b/keyboards/cutie_club/novus/novus.h new file mode 100644 index 000000000000..31ed6a8ac640 --- /dev/null +++ b/keyboards/cutie_club/novus/novus.h @@ -0,0 +1,33 @@ +/* Copyright 2022 Cutie Club + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_all( \ + k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, \ + k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, \ + k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, \ + k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, \ + k04_00, k04_01, k04_02, k04_05, k04_09, k04_10, k04_11, k04_12 \ +) { \ + { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14 }, \ + { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, KC_NO }, \ + { k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, KC_NO, KC_NO }, \ + { k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, KC_NO, KC_NO }, \ + { k04_00, k04_01, k04_02, KC_NO, KC_NO, k04_05, KC_NO, KC_NO, KC_NO, k04_09, k04_10, k04_11, k04_12, KC_NO, KC_NO } \ +} diff --git a/keyboards/cutie_club/novus/readme.md b/keyboards/cutie_club/novus/readme.md new file mode 100644 index 000000000000..94e284e33ec8 --- /dev/null +++ b/keyboards/cutie_club/novus/readme.md @@ -0,0 +1,26 @@ +# Novus + +![Novus](https://i.imgur.com/kuCDFb0h.png) + +Novus 60% Keyboard + +* Keyboard Maintainer: [Cutie Club](https://github.com/cutie-club) +* Hardware Supported: Atmega32u4 based pcb for Novus keyboard +* Hardware Availability: https://mechsandco.com/products/gb-novus60-keyboard + +Make example for this keyboard (after setting up your build environment): + + make cutie_club/novus:default + +Flashing example for this keyboard: + + make cutie_club/novus:default:flash + +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). + +## Bootloader + +Using the default keymaps you can enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard +* **Physical reset button**: Press the button on the back of the PCB \ No newline at end of file diff --git a/keyboards/cutie_club/novus/rules.mk b/keyboards/cutie_club/novus/rules.mk new file mode 100644 index 000000000000..1275531ef6d6 --- /dev/null +++ b/keyboards/cutie_club/novus/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 40d6766576da5f9116bb16fb73c0742f4e4ce3b8 Mon Sep 17 00:00:00 2001 From: JX <572673807@qq.com> Date: Wed, 9 Mar 2022 01:03:05 +0800 Subject: [PATCH 0327/1832] [Keyboard] Add Y&R Studio zhou65 keyboard (#14192) Co-authored-by: Drashna Jaelre Co-authored-by: Nick Brassel Co-authored-by: Ryan --- keyboards/yandrstudio/zhou65/config.h | 38 +++++++++ keyboards/yandrstudio/zhou65/f401/board.h | 21 +++++ keyboards/yandrstudio/zhou65/f401/config.h | 33 ++++++++ keyboards/yandrstudio/zhou65/f401/halconf.h | 33 ++++++++ keyboards/yandrstudio/zhou65/f401/mcuconf.h | 81 +++++++++++++++++++ keyboards/yandrstudio/zhou65/f401/rules.mk | 6 ++ keyboards/yandrstudio/zhou65/info.json | 10 +++ .../zhou65/keymaps/default/keymap.c | 32 ++++++++ .../yandrstudio/zhou65/keymaps/via/keymap.c | 32 ++++++++ .../yandrstudio/zhou65/keymaps/via/rules.mk | 1 + keyboards/yandrstudio/zhou65/readme.md | 22 +++++ keyboards/yandrstudio/zhou65/rules.mk | 12 +++ keyboards/yandrstudio/zhou65/zhou65.c | 17 ++++ keyboards/yandrstudio/zhou65/zhou65.h | 32 ++++++++ 14 files changed, 370 insertions(+) create mode 100644 keyboards/yandrstudio/zhou65/config.h create mode 100644 keyboards/yandrstudio/zhou65/f401/board.h create mode 100644 keyboards/yandrstudio/zhou65/f401/config.h create mode 100644 keyboards/yandrstudio/zhou65/f401/halconf.h create mode 100644 keyboards/yandrstudio/zhou65/f401/mcuconf.h create mode 100644 keyboards/yandrstudio/zhou65/f401/rules.mk create mode 100644 keyboards/yandrstudio/zhou65/info.json create mode 100644 keyboards/yandrstudio/zhou65/keymaps/default/keymap.c create mode 100644 keyboards/yandrstudio/zhou65/keymaps/via/keymap.c create mode 100644 keyboards/yandrstudio/zhou65/keymaps/via/rules.mk create mode 100644 keyboards/yandrstudio/zhou65/readme.md create mode 100644 keyboards/yandrstudio/zhou65/rules.mk create mode 100644 keyboards/yandrstudio/zhou65/zhou65.c create mode 100644 keyboards/yandrstudio/zhou65/zhou65.h diff --git a/keyboards/yandrstudio/zhou65/config.h b/keyboards/yandrstudio/zhou65/config.h new file mode 100644 index 000000000000..7dbbd037ecd4 --- /dev/null +++ b/keyboards/yandrstudio/zhou65/config.h @@ -0,0 +1,38 @@ +/* Copyright 2021 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xAA96 +#define PRODUCT_ID 0xAAAD +#define DEVICE_VER 0x0001 +#define MANUFACTURER ZHOU_Y&R +#define PRODUCT zhou65 + +/* enable the nkro when using the VIA. */ +#define FORCE_NKRO + +/* fix VIA RGB_light */ +#define VIA_HAS_BROKEN_KEYCODES + + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define USB_POLLING_INTERVAL_MS 1 +#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/yandrstudio/zhou65/f401/board.h b/keyboards/yandrstudio/zhou65/f401/board.h new file mode 100644 index 000000000000..80dd97ed57a6 --- /dev/null +++ b/keyboards/yandrstudio/zhou65/f401/board.h @@ -0,0 +1,21 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include_next "board.h" + +#undef STM32_HSECLK +#define STM32_HSECLK 8000000 diff --git a/keyboards/yandrstudio/zhou65/f401/config.h b/keyboards/yandrstudio/zhou65/f401/config.h new file mode 100644 index 000000000000..d5214b75d0f7 --- /dev/null +++ b/keyboards/yandrstudio/zhou65/f401/config.h @@ -0,0 +1,33 @@ +/* Copyright 2021 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { A2, A1, B8, B7, C15 } +#define MATRIX_COL_PINS { B9, B6, B5, B4, B3, B1, B0, A7, A6, A5, A4, A3, A8, B15, B14 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +#define LED_CAPS_LOCK_PIN A15 +#define LED_PIN_ON_STATE 0 + diff --git a/keyboards/yandrstudio/zhou65/f401/halconf.h b/keyboards/yandrstudio/zhou65/f401/halconf.h new file mode 100644 index 000000000000..cf7665e3f7b6 --- /dev/null +++ b/keyboards/yandrstudio/zhou65/f401/halconf.h @@ -0,0 +1,33 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#pragma once +#include_next + + +#undef SERIAL_USB_BUFFERS_SIZE +#define SERIAL_USB_BUFFERS_SIZE 256 + +#undef SERIAL_BUFFERS_SIZE +#define SERIAL_BUFFERS_SIZE 128 + +#undef SPI_USE_WAIT +#define SPI_USE_WAIT TRUE + +#undef SPI_SELECT_MODE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + diff --git a/keyboards/yandrstudio/zhou65/f401/mcuconf.h b/keyboards/yandrstudio/zhou65/f401/mcuconf.h new file mode 100644 index 000000000000..435455d3a9ee --- /dev/null +++ b/keyboards/yandrstudio/zhou65/f401/mcuconf.h @@ -0,0 +1,81 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef STM32_NO_INIT +#undef STM32_HSI_ENABLED +#undef STM32_LSI_ENABLED +#undef STM32_HSE_ENABLED +#undef STM32_LSE_ENABLED +#undef STM32_CLOCK48_REQUIRED +#undef STM32_SW +#undef STM32_PLLSRC +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE +#undef STM32_HPRE +#undef STM32_PPRE1 +#undef STM32_PPRE2 +#undef STM32_RTCSEL +#undef STM32_RTCPRE_VALUE +#undef STM32_MCO1SEL +#undef STM32_MCO1PRE +#undef STM32_MCO2SEL +#undef STM32_MCO2PRE +#undef STM32_I2SSRC +#undef STM32_PLLI2SN_VALUE +#undef STM32_PLLI2SR_VALUE +#undef STM32_PVD_ENABLE +#undef STM32_PLS +#undef STM32_BKPRAM_ENABLE + +#define STM32_NO_INIT FALSE +#define STM32_HSI_ENABLED TRUE +#define STM32_LSI_ENABLED TRUE +#define STM32_HSE_ENABLED TRUE +#define STM32_LSE_ENABLED FALSE +#define STM32_CLOCK48_REQUIRED TRUE +#define STM32_SW STM32_SW_PLL +#define STM32_PLLSRC STM32_PLLSRC_HSE +#define STM32_PLLM_VALUE 8 +#define STM32_PLLN_VALUE 192 +#define STM32_PLLP_VALUE 4 +#define STM32_PLLQ_VALUE 4 +// AHB prescaler value. +#define STM32_HPRE STM32_HPRE_DIV1 +//APB1 prescaler value. +#define STM32_PPRE1 STM32_PPRE1_DIV4 +//APB2 prescaler value. +#define STM32_PPRE2 STM32_PPRE2_DIV2 +#define STM32_RTCSEL STM32_RTCSEL_LSI +#define STM32_RTCPRE_VALUE 8 +#define STM32_MCO1SEL STM32_MCO1SEL_HSI +#define STM32_MCO1PRE STM32_MCO1PRE_DIV1 +#define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK +#define STM32_MCO2PRE STM32_MCO2PRE_DIV5 +#define STM32_I2SSRC STM32_I2SSRC_CKIN +#define STM32_PLLI2SN_VALUE 192 +#define STM32_PLLI2SR_VALUE 5 +#define STM32_PVD_ENABLE FALSE +#define STM32_PLS STM32_PLS_LEV0 +#define STM32_BKPRAM_ENABLE FALSE + + + diff --git a/keyboards/yandrstudio/zhou65/f401/rules.mk b/keyboards/yandrstudio/zhou65/f401/rules.mk new file mode 100644 index 000000000000..3e060b419535 --- /dev/null +++ b/keyboards/yandrstudio/zhou65/f401/rules.mk @@ -0,0 +1,6 @@ +# MCU name +MCU = STM32F401 + +# Bootloader selection +BOOTLOADER = stm32-dfu + diff --git a/keyboards/yandrstudio/zhou65/info.json b/keyboards/yandrstudio/zhou65/info.json new file mode 100644 index 000000000000..640fb7ad68df --- /dev/null +++ b/keyboards/yandrstudio/zhou65/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "zhou65", + "url": "https://github.com/Oh-My-Mechanical-Keyboard ", + "maintainer": "Jason Ren (biu)", + "layouts": { + "LAYOUT": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0, "w":2}, {"label":"0,14", "x":15, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"1,14", "x":15, "y":1}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,13", "x":12.75, "y":2, "w":2.25}, {"label":"2,14", "x":15, "y":2}, {"label":"3,0", "x":0, "y":3, "w":2.25}, {"label":"3,1", "x":2.25, "y":3}, {"label":"3,2", "x":3.25, "y":3}, {"label":"3,3", "x":4.25, "y":3}, {"label":"3,4", "x":5.25, "y":3}, {"label":"3,5", "x":6.25, "y":3}, {"label":"3,6", "x":7.25, "y":3}, {"label":"3,7", "x":8.25, "y":3}, {"label":"3,8", "x":9.25, "y":3}, {"label":"3,9", "x":10.25, "y":3}, {"label":"3,10", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"3,14", "x":15, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,5", "x":3.75, "y":4, "w":6.25}, {"label":"4,9", "x":10, "y":4, "w":1.25}, {"label":"4,10", "x":11.25, "y":4, "w":1.25}, {"label":"4,12", "x":13, "y":4}, {"label":"4,13", "x":14, "y":4}, {"label":"4,14", "x":15, "y":4}] + } + } +} \ No newline at end of file diff --git a/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c b/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c new file mode 100644 index 000000000000..b06ae7e70b02 --- /dev/null +++ b/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +/* Copyright 2021 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + LAYOUT( + 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, 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, 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, RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; diff --git a/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c b/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c new file mode 100644 index 000000000000..b06ae7e70b02 --- /dev/null +++ b/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c @@ -0,0 +1,32 @@ +/* Copyright 2021 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + LAYOUT( + 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, 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, 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, RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; diff --git a/keyboards/yandrstudio/zhou65/keymaps/via/rules.mk b/keyboards/yandrstudio/zhou65/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/yandrstudio/zhou65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/yandrstudio/zhou65/readme.md b/keyboards/yandrstudio/zhou65/readme.md new file mode 100644 index 000000000000..84c889f5aba2 --- /dev/null +++ b/keyboards/yandrstudio/zhou65/readme.md @@ -0,0 +1,22 @@ +# zhou65 version 1.0 + +A 65% keys keyboard with rgb (keys). +This keyboard use 8mhz HSE and STM32F401 as MCU. + +- Keyboard Maintainer: https://github.com/jiaxin96 +- Hardware Supported: zhou65 +- Hardware Availability: https://github.com/Oh-My-Mechanical-Keyboard + +Make example for this keyboard (after setting up your build environment): + + make yandrstudio/zhou65/f401:default + +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key which is Escape in this keyboard) and plug in the keyboard +* **Physical reset pins**: Short circuit the `bt0` and `vcc` pins on the back of the PCB and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `RESET` if it is available. diff --git a/keyboards/yandrstudio/zhou65/rules.mk b/keyboards/yandrstudio/zhou65/rules.mk new file mode 100644 index 000000000000..b851d0ab392d --- /dev/null +++ b/keyboards/yandrstudio/zhou65/rules.mk @@ -0,0 +1,12 @@ +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/yandrstudio/zhou65/zhou65.c b/keyboards/yandrstudio/zhou65/zhou65.c new file mode 100644 index 000000000000..e527550c9d9b --- /dev/null +++ b/keyboards/yandrstudio/zhou65/zhou65.c @@ -0,0 +1,17 @@ +/* Copyright 2021 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "zhou65.h" diff --git a/keyboards/yandrstudio/zhou65/zhou65.h b/keyboards/yandrstudio/zhou65/zhou65.h new file mode 100644 index 000000000000..2f22710f469d --- /dev/null +++ b/keyboards/yandrstudio/zhou65/zhou65.h @@ -0,0 +1,32 @@ +/* Copyright 2021 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT(\ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014,\ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114,\ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214,\ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314,\ + K400, K401, K402, K405, K409, K410, K412, K413, K414\ +) {\ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 },\ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 },\ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, KC_NO, K213, K214 },\ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, K313, K314 },\ + { K400, K401, K402, KC_NO, KC_NO, K405, KC_NO, KC_NO, KC_NO, K409, K410, KC_NO, K412, K413, K414 }\ +} From 65eb0f939fb35de66e6772ca358311f2c12344f6 Mon Sep 17 00:00:00 2001 From: drewpyun <48503175+drewpyun@users.noreply.github.com> Date: Tue, 8 Mar 2022 13:56:48 -0500 Subject: [PATCH 0328/1832] [keymap] Add via support for Iskar (#16575) * iskar initial commit * testing * added info.json to iskar * Updated read.me * updated info.json removed unnessary keymap folders, fixed rules.mk, added second layer to default layout, added vendor/product id, tested and compiled * Update readme.md * Update readme.md * updated info.json, formatted files according to PR checklist * Update keyboards/drewkeys/iskar/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/drewkeys/iskar/readme.md Co-authored-by: Ryan * added keymaps onto iskar.h that was referenced in info.json * changed filename to lowercase to match guidelines * initial commit of VIA files * edited via keymap Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/drewkeys/iskar/keymaps/via/keymap.c | 47 +++++++++++++++++++ .../drewkeys/iskar/keymaps/via/readme.md | 1 + keyboards/drewkeys/iskar/keymaps/via/rules.mk | 2 + 3 files changed, 50 insertions(+) create mode 100644 keyboards/drewkeys/iskar/keymaps/via/keymap.c create mode 100644 keyboards/drewkeys/iskar/keymaps/via/readme.md create mode 100644 keyboards/drewkeys/iskar/keymaps/via/rules.mk diff --git a/keyboards/drewkeys/iskar/keymaps/via/keymap.c b/keyboards/drewkeys/iskar/keymaps/via/keymap.c new file mode 100644 index 000000000000..ba77cb407771 --- /dev/null +++ b/keyboards/drewkeys/iskar/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2021 Drewkeys + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] LAYOUT( + QK_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_DEL, KC_BSPC, KC_HOME, + 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_INS, + 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, + 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, + KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] LAYOUT( + KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RESET, 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, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] LAYOUT( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] LAYOUT( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/drewkeys/iskar/keymaps/via/readme.md b/keyboards/drewkeys/iskar/keymaps/via/readme.md new file mode 100644 index 000000000000..9b6e8c67b59b --- /dev/null +++ b/keyboards/drewkeys/iskar/keymaps/via/readme.md @@ -0,0 +1 @@ +# The default keymap for iskar for via diff --git a/keyboards/drewkeys/iskar/keymaps/via/rules.mk b/keyboards/drewkeys/iskar/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/drewkeys/iskar/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes From b593cfccbde7b4fa7feb0e756eb601f7717bed98 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 9 Mar 2022 07:45:47 +1100 Subject: [PATCH 0329/1832] `qmk info`: Nicer rendering of big-ass enter (#16541) * `qmk info`: Nicer rendering of big-ass enter * Formatting... --- lib/python/qmk/keyboard.py | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py index 0530c4acc5c4..7cd0a1d5a715 100644 --- a/lib/python/qmk/keyboard.py +++ b/lib/python/qmk/keyboard.py @@ -178,6 +178,8 @@ def render_layout(layout_data, render_ascii, key_labels=None): if x >= 0.25 and w == 1.25 and h == 2: render_key_isoenter(textpad, x, y, w, h, label, style) + elif w == 2.25 and h == 2: + render_key_baenter(textpad, x, y, w, h, label, style) else: render_key_rect(textpad, x, y, w, h, label, style) @@ -259,4 +261,36 @@ def render_key_isoenter(textpad, x, y, w, h, label, style): textpad[y + 2][x - 1:x + w] = crn_line textpad[y + 3][x:x + w] = mid_line textpad[y + 4][x:x + w] = mid_line - textpad[y + h - 1][x:x + w] = bot_line + textpad[y + 5][x:x + w] = bot_line + + +def render_key_baenter(textpad, x, y, w, h, label, style): + box_chars = BOX_DRAWING_CHARACTERS[style] + x = ceil(x * 4) + y = ceil(y * 3) + w = ceil(w * 4) + h = ceil(h * 3) + + label_len = w - 2 + label_leftover = label_len - len(label) + + if len(label) > label_len: + label = label[:label_len] + + label_blank = ' ' * (label_len-3) # noqa: yapf insists there be no whitespace around - and * + label_border_top = box_chars['h'] * (label_len-3) # noqa + label_border_bottom = box_chars['h'] * label_len + label_middle = label + ' '*label_leftover # noqa + + top_line = array('u', box_chars['tl'] + label_border_top + box_chars['tr']) + mid_line = array('u', box_chars['v'] + label_blank + box_chars['v']) + crn_line = array('u', box_chars['tl'] + box_chars['h'] + box_chars['h'] + box_chars['br'] + label_blank + box_chars['v']) + lab_line = array('u', box_chars['v'] + label_middle + box_chars['v']) + bot_line = array('u', box_chars['bl'] + label_border_bottom + box_chars['br']) + + textpad[y][x + 3:x + w] = top_line + textpad[y + 1][x + 3:x + w] = mid_line + textpad[y + 2][x + 3:x + w] = mid_line + textpad[y + 3][x:x + w] = crn_line + textpad[y + 4][x:x + w] = lab_line + textpad[y + 5][x:x + w] = bot_line From d38696a4937525d34445bf23863f99675ec2f54c Mon Sep 17 00:00:00 2001 From: Jason Barnachea Date: Tue, 8 Mar 2022 13:24:06 -0800 Subject: [PATCH 0330/1832] [Keyboard] Add Rama Works M4-A (#16570) * Initial commit Add Rama Works M4-A keyboard. * Update default keymap.c * Update keyboards/machine_industries/m4_a/config.h Co-authored-by: Ryan Co-authored-by: Ryan --- keyboards/machine_industries/m4_a/config.h | 138 ++++++++++++++++++ keyboards/machine_industries/m4_a/info.json | 15 ++ .../m4_a/keymaps/default/keymap.c | 17 +++ keyboards/machine_industries/m4_a/m4_a.c | 4 + keyboards/machine_industries/m4_a/m4_a.h | 22 +++ keyboards/machine_industries/m4_a/readme.md | 27 ++++ keyboards/machine_industries/m4_a/rules.mk | 18 +++ 7 files changed, 241 insertions(+) create mode 100644 keyboards/machine_industries/m4_a/config.h create mode 100644 keyboards/machine_industries/m4_a/info.json create mode 100644 keyboards/machine_industries/m4_a/keymaps/default/keymap.c create mode 100644 keyboards/machine_industries/m4_a/m4_a.c create mode 100644 keyboards/machine_industries/m4_a/m4_a.h create mode 100644 keyboards/machine_industries/m4_a/readme.md create mode 100644 keyboards/machine_industries/m4_a/rules.mk diff --git a/keyboards/machine_industries/m4_a/config.h b/keyboards/machine_industries/m4_a/config.h new file mode 100644 index 000000000000..1ba3f4f7151e --- /dev/null +++ b/keyboards/machine_industries/m4_a/config.h @@ -0,0 +1,138 @@ +// Copyright 2022 naut +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x5241 // "RA" +#define PRODUCT_ID 0x004A // 4-A +#define DEVICE_VER 0x0001 +#define MANUFACTURER RAMA WORKS +#define PRODUCT M4-A + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 2 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { C7, C6 } +#define MATRIX_COL_PINS { F6, F7 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/machine_industries/m4_a/info.json b/keyboards/machine_industries/m4_a/info.json new file mode 100644 index 000000000000..4a2f03e741d1 --- /dev/null +++ b/keyboards/machine_industries/m4_a/info.json @@ -0,0 +1,15 @@ +{ + "keyboard_name": "Rama Works M4-A", + "url": "http://rama.works", + "maintainer": "naut", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0, "h":2}, + {"x":0, "y":1, "w":2} + ] + } + } +} diff --git a/keyboards/machine_industries/m4_a/keymaps/default/keymap.c b/keyboards/machine_industries/m4_a/keymaps/default/keymap.c new file mode 100644 index 000000000000..f5c02a185bc7 --- /dev/null +++ b/keyboards/machine_industries/m4_a/keymaps/default/keymap.c @@ -0,0 +1,17 @@ +// Copyright 2022 naut +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + KC_1, KC_2, KC_3, + KC_0 + ) +}; diff --git a/keyboards/machine_industries/m4_a/m4_a.c b/keyboards/machine_industries/m4_a/m4_a.c new file mode 100644 index 000000000000..a1598688a8e4 --- /dev/null +++ b/keyboards/machine_industries/m4_a/m4_a.c @@ -0,0 +1,4 @@ +// Copyright 2022 naut +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "m4_a.h" diff --git a/keyboards/machine_industries/m4_a/m4_a.h b/keyboards/machine_industries/m4_a/m4_a.h new file mode 100644 index 000000000000..13d30109910c --- /dev/null +++ b/keyboards/machine_industries/m4_a/m4_a.h @@ -0,0 +1,22 @@ +// Copyright 2022 naut +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k00, k01, k11, \ + k10 \ +) { \ + { k00, k01 }, \ + { k10, k11 } \ +} diff --git a/keyboards/machine_industries/m4_a/readme.md b/keyboards/machine_industries/m4_a/readme.md new file mode 100644 index 000000000000..37c16639d174 --- /dev/null +++ b/keyboards/machine_industries/m4_a/readme.md @@ -0,0 +1,27 @@ +# Rama Works x Machine Industries M4-A + +![Rama Works x Machine Industries M4-A](https://images.squarespace-cdn.com/content/v1/563c788ae4b099120ae219e2/1479361502907-WL2VUR210J6RFD84WH2E/image-asset.jpeg?format=1500w) + +A tiny 4-key macropad designed by Rama Works. + +* Keyboard Maintainer: [naut](https://github.com/nautxx) +* Hardware Supported: Rama Works x Machine Industries M4-A PCB +* Hardware Availability: [Rama Works Store](https://ramaworks.store/) + +Make example for this keyboard (after setting up your build environment): + + make machine_industries/m4_a:default + +Flashing example for this keyboard: + + make machine_industries/m4_a:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/machine_industries/m4_a/rules.mk b/keyboards/machine_industries/m4_a/rules.mk new file mode 100644 index 000000000000..1275531ef6d6 --- /dev/null +++ b/keyboards/machine_industries/m4_a/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 3347b63d83d019219770f55627f3d5136806bb5c Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 9 Mar 2022 09:07:02 +1100 Subject: [PATCH 0331/1832] handwired/misterdeck refactor (#16572) * handwired/misterdeck refactor * Forgot to remove this --- keyboards/handwired/misterdeck/config.h | 57 ++++++------------- keyboards/handwired/misterdeck/info.json | 31 ++++++++++ .../misterdeck/keymaps/default/config.h | 3 +- .../misterdeck/keymaps/default/keymap.c | 13 +++-- .../misterdeck/keymaps/default/rules.mk | 1 + .../misterdeck/keymaps/nobuttons/config.h | 31 +++++----- .../misterdeck/keymaps/nobuttons/keymap.c | 13 +++-- .../misterdeck/keymaps/nobuttons/rules.mk | 1 + keyboards/handwired/misterdeck/misterdeck.c | 3 +- keyboards/handwired/misterdeck/misterdeck.h | 11 ++-- keyboards/handwired/misterdeck/readme.md | 2 +- keyboards/handwired/misterdeck/rules.mk | 3 - 12 files changed, 89 insertions(+), 80 deletions(-) create mode 100644 keyboards/handwired/misterdeck/keymaps/default/rules.mk create mode 100644 keyboards/handwired/misterdeck/keymaps/nobuttons/rules.mk diff --git a/keyboards/handwired/misterdeck/config.h b/keyboards/handwired/misterdeck/config.h index 3aaef79d0ae2..085142d2d5fd 100644 --- a/keyboards/handwired/misterdeck/config.h +++ b/keyboards/handwired/misterdeck/config.h @@ -1,45 +1,20 @@ /* -Copyright 2021 Chris Broekema (broekema@gmail.com) - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - + * Copyright 2021 Chris Broekema (broekema@gmail.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xBEEF -#define PRODUCT_ID 0x6969 -#define DEVICE_VER 0x0001 -#define MANUFACTURER QMK - -/* key matrix size */ -#define MATRIX_ROWS 3 -#define MATRIX_COLS 4 - -#define MATRIX_ROW_PINS { D1, D0, D4 } -#define MATRIX_COL_PINS { D7, E6, B4, B5 } - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION ROW2COL - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -//#define JOYSTICK_AXES_COUNT 4 -//#define JOYSTICK_BUTTON_COUNT 8 +#include "config_common.h" diff --git a/keyboards/handwired/misterdeck/info.json b/keyboards/handwired/misterdeck/info.json index 84c38631073f..20d74d8e3c7f 100644 --- a/keyboards/handwired/misterdeck/info.json +++ b/keyboards/handwired/misterdeck/info.json @@ -1,5 +1,36 @@ { "keyboard_name": "MisteRdeck", + "manufacturer": "broekema", "url": "https://www.thingiverse.com/thing:4627779", "maintainer": "broekema", + "usb": { + "vid": "0xBEEF", + "pid": "0x6969", + "device_version": "0.0.1" + }, + "diode_direction": "ROW2COL", + "matrix_pins": { + "cols": ["D7", "E6", "B4", "B5"], + "rows": ["D1", "D0", "D4"] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2} + ] + } + } } diff --git a/keyboards/handwired/misterdeck/keymaps/default/config.h b/keyboards/handwired/misterdeck/keymaps/default/config.h index c21c29910b0c..92157a093854 100644 --- a/keyboards/handwired/misterdeck/keymaps/default/config.h +++ b/keyboards/handwired/misterdeck/keymaps/default/config.h @@ -1,4 +1,5 @@ -/* Copyright 2021 Chris Broekema (broekema@gmail.com) +/* + * Copyright 2021 Chris Broekema (broekema@gmail.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/handwired/misterdeck/keymaps/default/keymap.c b/keyboards/handwired/misterdeck/keymaps/default/keymap.c index a6b6ee467e1d..217d25551c7f 100644 --- a/keyboards/handwired/misterdeck/keymaps/default/keymap.c +++ b/keyboards/handwired/misterdeck/keymaps/default/keymap.c @@ -15,20 +15,21 @@ */ #include QMK_KEYBOARD_H + #include "joystick.h" -enum layers { +enum layer_names { NORMAL_LAYER = 0 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [NORMAL_LAYER] = LAYOUT( C(S(KC_F1)), C(S(KC_F2)), C(S(KC_F3)), C(S(KC_F4)), - C(S(KC_F5)), C(S(KC_F6)), C(S(KC_F7)), C(S(KC_F8)), - JS_BUTTON0, JS_BUTTON1, JS_BUTTON2, JS_BUTTON3 ), + [NORMAL_LAYER] = LAYOUT( + C(S(KC_F1)), C(S(KC_F2)), C(S(KC_F3)), C(S(KC_F4)), + C(S(KC_F5)), C(S(KC_F6)), C(S(KC_F7)), C(S(KC_F8)), + JS_BUTTON0, JS_BUTTON1, JS_BUTTON2, JS_BUTTON3 + ) }; - - joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = { [0] = JOYSTICK_AXIS_IN(F4, 0, 512, 1023), [1] = JOYSTICK_AXIS_IN(F5, 0, 512, 1023), diff --git a/keyboards/handwired/misterdeck/keymaps/default/rules.mk b/keyboards/handwired/misterdeck/keymaps/default/rules.mk new file mode 100644 index 000000000000..9e44c470f213 --- /dev/null +++ b/keyboards/handwired/misterdeck/keymaps/default/rules.mk @@ -0,0 +1 @@ +JOYSTICK_ENABLE = yes diff --git a/keyboards/handwired/misterdeck/keymaps/nobuttons/config.h b/keyboards/handwired/misterdeck/keymaps/nobuttons/config.h index bd150139c1b9..f609bf2962b2 100644 --- a/keyboards/handwired/misterdeck/keymaps/nobuttons/config.h +++ b/keyboards/handwired/misterdeck/keymaps/nobuttons/config.h @@ -1,20 +1,19 @@ /* -Copyright 2021 Chris Broekema (broekema@gmail.com) - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - + * Copyright 2021 Chris Broekema (broekema@gmail.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #pragma once diff --git a/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c b/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c index fbeb636cf23a..d4c52be35d98 100644 --- a/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c +++ b/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c @@ -15,20 +15,21 @@ */ #include QMK_KEYBOARD_H + #include "joystick.h" -enum layers { +enum layer_names { NORMAL_LAYER = 0 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [NORMAL_LAYER] = LAYOUT( C(S(KC_F1)), C(S(KC_F2)), C(S(KC_F3)), C(S(KC_F4)), - C(S(KC_F5)), C(S(KC_F6)), C(S(KC_F7)), C(S(KC_F8)), - C(S(KC_F9)), C(S(KC_F10)), C(S(KC_F11)), C(S(KC_F12))), + [NORMAL_LAYER] = LAYOUT( + C(S(KC_F1)), C(S(KC_F2)), C(S(KC_F3)), C(S(KC_F4)), + C(S(KC_F5)), C(S(KC_F6)), C(S(KC_F7)), C(S(KC_F8)), + C(S(KC_F9)), C(S(KC_F10)), C(S(KC_F11)), C(S(KC_F12)) + ), }; - - joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = { [0] = JOYSTICK_AXIS_IN(F4, 0, 512, 1023), [1] = JOYSTICK_AXIS_IN(F5, 0, 512, 1023), diff --git a/keyboards/handwired/misterdeck/keymaps/nobuttons/rules.mk b/keyboards/handwired/misterdeck/keymaps/nobuttons/rules.mk new file mode 100644 index 000000000000..9e44c470f213 --- /dev/null +++ b/keyboards/handwired/misterdeck/keymaps/nobuttons/rules.mk @@ -0,0 +1 @@ +JOYSTICK_ENABLE = yes diff --git a/keyboards/handwired/misterdeck/misterdeck.c b/keyboards/handwired/misterdeck/misterdeck.c index a096e9ce95af..ee9cc93b3aed 100644 --- a/keyboards/handwired/misterdeck/misterdeck.c +++ b/keyboards/handwired/misterdeck/misterdeck.c @@ -1,4 +1,5 @@ -/* Copyright 2021 Chris Broekema (broekema@gmail.com) +/* + * Copyright 2021 Chris Broekema (broekema@gmail.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/handwired/misterdeck/misterdeck.h b/keyboards/handwired/misterdeck/misterdeck.h index a86ca2c2c99c..324ccb755fc0 100644 --- a/keyboards/handwired/misterdeck/misterdeck.h +++ b/keyboards/handwired/misterdeck/misterdeck.h @@ -1,4 +1,5 @@ -/* Copyright 2021 Chris Broekema (broekema@gmail.com) +/* + * Copyright 2021 Chris Broekema (broekema@gmail.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,11 +20,11 @@ #include "quantum.h" #define LAYOUT( \ - k00, k01, k02, k03, \ - k10, k11, k12, k13, \ - k20, k21, k22, k23 \ + k00, k01, k02, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, k23 \ ) { \ { k00, k01, k02, k03 }, \ { k10, k11, k12, k13 }, \ - { k20, k21, k22, k23 } \ + { k20, k21, k22, k23 } \ } diff --git a/keyboards/handwired/misterdeck/readme.md b/keyboards/handwired/misterdeck/readme.md index b9d472319afb..dd592e646ab3 100644 --- a/keyboards/handwired/misterdeck/readme.md +++ b/keyboards/handwired/misterdeck/readme.md @@ -18,4 +18,4 @@ Flashing example for this keyboard: Connect a momentary switch to RST and GND, hit twice in succession to reset the board into bootloader mode. -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). \ No newline at end of file +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/misterdeck/rules.mk b/keyboards/handwired/misterdeck/rules.mk index c19a30931a60..7479d0121f42 100644 --- a/keyboards/handwired/misterdeck/rules.mk +++ b/keyboards/handwired/misterdeck/rules.mk @@ -16,6 +16,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output - -# use joystick feature for sliders -JOYSTICK_ENABLE = yes From 022e1fdac86c38136d6f818aec15d34b1ab92be5 Mon Sep 17 00:00:00 2001 From: Danny Date: Tue, 8 Mar 2022 17:08:02 -0500 Subject: [PATCH 0332/1832] Add Big Switch Seat (#16524) * Add Big Switch Seat * Update keyboards/keebio/bigswitchseat/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/keebio/bigswitchseat/rules.mk Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../keebio/bigswitchseat/bigswitchseat.c | 4 + .../keebio/bigswitchseat/bigswitchseat.h | 12 +++ keyboards/keebio/bigswitchseat/config.h | 86 +++++++++++++++++++ keyboards/keebio/bigswitchseat/info.json | 10 +++ .../bigswitchseat/keymaps/default/keymap.c | 27 ++++++ .../bigswitchseat/keymaps/default/rules.mk | 1 + .../keebio/bigswitchseat/keymaps/via/keymap.c | 27 ++++++ .../keebio/bigswitchseat/keymaps/via/rules.mk | 2 + keyboards/keebio/bigswitchseat/readme.md | 25 ++++++ keyboards/keebio/bigswitchseat/rules.mk | 18 ++++ 10 files changed, 212 insertions(+) create mode 100644 keyboards/keebio/bigswitchseat/bigswitchseat.c create mode 100644 keyboards/keebio/bigswitchseat/bigswitchseat.h create mode 100644 keyboards/keebio/bigswitchseat/config.h create mode 100644 keyboards/keebio/bigswitchseat/info.json create mode 100644 keyboards/keebio/bigswitchseat/keymaps/default/keymap.c create mode 100644 keyboards/keebio/bigswitchseat/keymaps/default/rules.mk create mode 100644 keyboards/keebio/bigswitchseat/keymaps/via/keymap.c create mode 100644 keyboards/keebio/bigswitchseat/keymaps/via/rules.mk create mode 100644 keyboards/keebio/bigswitchseat/readme.md create mode 100644 keyboards/keebio/bigswitchseat/rules.mk diff --git a/keyboards/keebio/bigswitchseat/bigswitchseat.c b/keyboards/keebio/bigswitchseat/bigswitchseat.c new file mode 100644 index 000000000000..a322fdad6243 --- /dev/null +++ b/keyboards/keebio/bigswitchseat/bigswitchseat.c @@ -0,0 +1,4 @@ +// Copyright 2021 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "bigswitchseat.h" diff --git a/keyboards/keebio/bigswitchseat/bigswitchseat.h b/keyboards/keebio/bigswitchseat/bigswitchseat.h new file mode 100644 index 000000000000..3f66c6bc3b2f --- /dev/null +++ b/keyboards/keebio/bigswitchseat/bigswitchseat.h @@ -0,0 +1,12 @@ +// Copyright 2021 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + k00 \ +) { \ + { k00 } \ +} diff --git a/keyboards/keebio/bigswitchseat/config.h b/keyboards/keebio/bigswitchseat/config.h new file mode 100644 index 000000000000..f5558ca27946 --- /dev/null +++ b/keyboards/keebio/bigswitchseat/config.h @@ -0,0 +1,86 @@ +// Copyright 2021 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xCB10 +#define PRODUCT_ID 0x1011 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Keebio +#define PRODUCT Big Switch Seat + +/* key matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* + * Keyboard Matrix Assignments + */ + +#define MATRIX_ROW_PINS { E6 } +#define MATRIX_COL_PINS { F0 } +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/keebio/bigswitchseat/info.json b/keyboards/keebio/bigswitchseat/info.json new file mode 100644 index 000000000000..10328da26f67 --- /dev/null +++ b/keyboards/keebio/bigswitchseat/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "Big Switch Seat", + "url": "https://robotcandy.company/", + "maintainer": "nooges", + "layouts": { + "LAYOUT": { + "layout": [{"x": 0, "y": 0, "w": 4, "h": 4}] + } + } +} diff --git a/keyboards/keebio/bigswitchseat/keymaps/default/keymap.c b/keyboards/keebio/bigswitchseat/keymaps/default/keymap.c new file mode 100644 index 000000000000..6d4378b995d5 --- /dev/null +++ b/keyboards/keebio/bigswitchseat/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +// Copyright 2021 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _MAIN, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT( + KC_A + ), + [_FN1] = LAYOUT( + _______ + ), + [_FN2] = LAYOUT( + _______ + ), + [_FN3] = LAYOUT( + _______ + ) +}; diff --git a/keyboards/keebio/bigswitchseat/keymaps/default/rules.mk b/keyboards/keebio/bigswitchseat/keymaps/default/rules.mk new file mode 100644 index 000000000000..4da205a168c7 --- /dev/null +++ b/keyboards/keebio/bigswitchseat/keymaps/default/rules.mk @@ -0,0 +1 @@ +LTO_ENABLE = yes diff --git a/keyboards/keebio/bigswitchseat/keymaps/via/keymap.c b/keyboards/keebio/bigswitchseat/keymaps/via/keymap.c new file mode 100644 index 000000000000..6d4378b995d5 --- /dev/null +++ b/keyboards/keebio/bigswitchseat/keymaps/via/keymap.c @@ -0,0 +1,27 @@ +// Copyright 2021 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _MAIN, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT( + KC_A + ), + [_FN1] = LAYOUT( + _______ + ), + [_FN2] = LAYOUT( + _______ + ), + [_FN3] = LAYOUT( + _______ + ) +}; diff --git a/keyboards/keebio/bigswitchseat/keymaps/via/rules.mk b/keyboards/keebio/bigswitchseat/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/keebio/bigswitchseat/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/keebio/bigswitchseat/readme.md b/keyboards/keebio/bigswitchseat/readme.md new file mode 100644 index 000000000000..43e62d4e53e1 --- /dev/null +++ b/keyboards/keebio/bigswitchseat/readme.md @@ -0,0 +1,25 @@ +# Big Switch Seat + +PCB for the Big Switch. + +* Keyboard Maintainer: [Keebio](https://github.com/nooges) +* Hardware Supported: Big Switch Seat PCB +* Hardware Availability: [Robot Candy Company](https://robotcandy.company/) + +Make example for this keyboard (after setting up your build environment): + + make keebio/bigswitchseat:default + +Flashing example for this keyboard: + + make keebio/bigswitchseat:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/keebio/bigswitchseat/rules.mk b/keyboards/keebio/bigswitchseat/rules.mk new file mode 100644 index 000000000000..d6d12ae0dbf2 --- /dev/null +++ b/keyboards/keebio/bigswitchseat/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 5244b13173e3df8f12f6e7338533c262e3acf88f Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Tue, 8 Mar 2022 17:37:40 -0700 Subject: [PATCH 0333/1832] Fix yandrstudio/zhou65 (#16589) * initial cleanup and hotfix for rgb.... * remove /f401 --- .../yandrstudio/zhou65/{f401 => }/board.h | 0 keyboards/yandrstudio/zhou65/config.h | 19 ++++++--- keyboards/yandrstudio/zhou65/f401/config.h | 33 ---------------- keyboards/yandrstudio/zhou65/f401/halconf.h | 33 ---------------- keyboards/yandrstudio/zhou65/f401/rules.mk | 6 --- .../zhou65/keymaps/default/keymap.c | 24 ++++++------ .../yandrstudio/zhou65/keymaps/via/keymap.c | 39 +++++++++++++------ .../yandrstudio/zhou65/{f401 => }/mcuconf.h | 3 -- keyboards/yandrstudio/zhou65/readme.md | 2 +- keyboards/yandrstudio/zhou65/rules.mk | 8 +++- 10 files changed, 61 insertions(+), 106 deletions(-) rename keyboards/yandrstudio/zhou65/{f401 => }/board.h (100%) delete mode 100644 keyboards/yandrstudio/zhou65/f401/config.h delete mode 100644 keyboards/yandrstudio/zhou65/f401/halconf.h delete mode 100644 keyboards/yandrstudio/zhou65/f401/rules.mk rename keyboards/yandrstudio/zhou65/{f401 => }/mcuconf.h (99%) diff --git a/keyboards/yandrstudio/zhou65/f401/board.h b/keyboards/yandrstudio/zhou65/board.h similarity index 100% rename from keyboards/yandrstudio/zhou65/f401/board.h rename to keyboards/yandrstudio/zhou65/board.h diff --git a/keyboards/yandrstudio/zhou65/config.h b/keyboards/yandrstudio/zhou65/config.h index 7dbbd037ecd4..f4d8199e133b 100644 --- a/keyboards/yandrstudio/zhou65/config.h +++ b/keyboards/yandrstudio/zhou65/config.h @@ -24,15 +24,24 @@ #define MANUFACTURER ZHOU_Y&R #define PRODUCT zhou65 -/* enable the nkro when using the VIA. */ -#define FORCE_NKRO +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { A2, A1, B8, B7, C15 } +#define MATRIX_COL_PINS { B9, B6, B5, B4, B3, B1, B0, A7, A6, A5, A4, A3, A8, B15, B14 } -/* fix VIA RGB_light */ -#define VIA_HAS_BROKEN_KEYCODES +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL +#define LED_CAPS_LOCK_PIN A15 +#define LED_PIN_ON_STATE 0 + +/* enable the nkro when using the VIA. */ +#define FORCE_NKRO /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 -#define USB_POLLING_INTERVAL_MS 1 #define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/yandrstudio/zhou65/f401/config.h b/keyboards/yandrstudio/zhou65/f401/config.h deleted file mode 100644 index d5214b75d0f7..000000000000 --- a/keyboards/yandrstudio/zhou65/f401/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2021 JasonRen(biu) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#include "config_common.h" - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 15 - -/* key matrix pins */ -#define MATRIX_ROW_PINS { A2, A1, B8, B7, C15 } -#define MATRIX_COL_PINS { B9, B6, B5, B4, B3, B1, B0, A7, A6, A5, A4, A3, A8, B15, B14 } - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION ROW2COL - -#define LED_CAPS_LOCK_PIN A15 -#define LED_PIN_ON_STATE 0 - diff --git a/keyboards/yandrstudio/zhou65/f401/halconf.h b/keyboards/yandrstudio/zhou65/f401/halconf.h deleted file mode 100644 index cf7665e3f7b6..000000000000 --- a/keyboards/yandrstudio/zhou65/f401/halconf.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#pragma once -#include_next - - -#undef SERIAL_USB_BUFFERS_SIZE -#define SERIAL_USB_BUFFERS_SIZE 256 - -#undef SERIAL_BUFFERS_SIZE -#define SERIAL_BUFFERS_SIZE 128 - -#undef SPI_USE_WAIT -#define SPI_USE_WAIT TRUE - -#undef SPI_SELECT_MODE -#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD - diff --git a/keyboards/yandrstudio/zhou65/f401/rules.mk b/keyboards/yandrstudio/zhou65/f401/rules.mk deleted file mode 100644 index 3e060b419535..000000000000 --- a/keyboards/yandrstudio/zhou65/f401/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# MCU name -MCU = STM32F401 - -# Bootloader selection -BOOTLOADER = stm32-dfu - diff --git a/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c b/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c index b06ae7e70b02..bf15ded87355 100644 --- a/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c +++ b/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c @@ -16,17 +16,17 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT( - 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_HOME, - 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_PGUP, - 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, - 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_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + [0] = LAYOUT( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - LAYOUT( - 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, 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, 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, RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [1] = LAYOUT( + 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, 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, 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, RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; diff --git a/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c b/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c index b06ae7e70b02..2a13c6d4aca1 100644 --- a/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c +++ b/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c @@ -16,17 +16,32 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT( - 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_HOME, - 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_PGUP, - 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, - 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_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + [0] = LAYOUT( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT( + 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, 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, 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, RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [2] = LAYOUT( + 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, 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, 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, RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [3] = LAYOUT( + 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, 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, 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, RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - LAYOUT( - 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, 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, 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, RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; diff --git a/keyboards/yandrstudio/zhou65/f401/mcuconf.h b/keyboards/yandrstudio/zhou65/mcuconf.h similarity index 99% rename from keyboards/yandrstudio/zhou65/f401/mcuconf.h rename to keyboards/yandrstudio/zhou65/mcuconf.h index 435455d3a9ee..85376734f495 100644 --- a/keyboards/yandrstudio/zhou65/f401/mcuconf.h +++ b/keyboards/yandrstudio/zhou65/mcuconf.h @@ -76,6 +76,3 @@ #define STM32_PVD_ENABLE FALSE #define STM32_PLS STM32_PLS_LEV0 #define STM32_BKPRAM_ENABLE FALSE - - - diff --git a/keyboards/yandrstudio/zhou65/readme.md b/keyboards/yandrstudio/zhou65/readme.md index 84c889f5aba2..bcbc59c1b180 100644 --- a/keyboards/yandrstudio/zhou65/readme.md +++ b/keyboards/yandrstudio/zhou65/readme.md @@ -9,7 +9,7 @@ This keyboard use 8mhz HSE and STM32F401 as MCU. Make example for this keyboard (after setting up your build environment): - make yandrstudio/zhou65/f401:default + make yandrstudio/zhou65:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/yandrstudio/zhou65/rules.mk b/keyboards/yandrstudio/zhou65/rules.mk index b851d0ab392d..35a39a549a60 100644 --- a/keyboards/yandrstudio/zhou65/rules.mk +++ b/keyboards/yandrstudio/zhou65/rules.mk @@ -1,3 +1,9 @@ +# MCU name +MCU = STM32F401 + +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # @@ -8,5 +14,5 @@ CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output From ed169a6b3003cb9102a70e86ccd01d21d4794538 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 9 Mar 2022 01:24:59 +0000 Subject: [PATCH 0334/1832] Correct order of takashicompany/dogtag info.json (#16591) --- keyboards/takashicompany/dogtag/info.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/keyboards/takashicompany/dogtag/info.json b/keyboards/takashicompany/dogtag/info.json index 64079408a8e0..72bd5eb13688 100644 --- a/keyboards/takashicompany/dogtag/info.json +++ b/keyboards/takashicompany/dogtag/info.json @@ -53,6 +53,14 @@ "x": 3, "y": 1 }, + { + "x": 4, + "y": 2 + }, + { + "x": 7, + "y": 2 + }, { "x": 8, "y": 1 @@ -69,14 +77,6 @@ "x": 11, "y": 1 }, - { - "x": 4, - "y": 2 - }, - { - "x": 7, - "y": 2 - }, { "x": 3.5, "y": 3.25 From c5c5d37e0894031d68c5d9c3960b7fa6ae8e37ff Mon Sep 17 00:00:00 2001 From: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Wed, 9 Mar 2022 10:34:37 +0900 Subject: [PATCH 0335/1832] [Keymap] Added RGB_Matrix effect mode for naked48/j73gl (#16578) --- .../j73gl/keymaps/via_rgb_matrix/config.h | 74 ++++++++++++++++--- .../naked48/keymaps/via_rgb_matrix/config.h | 45 +++++++++++ 2 files changed, 107 insertions(+), 12 deletions(-) diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h index d2e1d2089329..ef0643ce949c 100644 --- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h +++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h @@ -28,16 +28,66 @@ #define DRIVER_LED_TOTAL 73 #ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_KEYPRESSES // reacts to keypresses -// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -// # 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) -// # 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) -// # 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 -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 -# define RGB_MATRIX_VAL_STEP 5 -# define RGB_MATRIX_SPD_STEP 10 + #define RGB_MATRIX_KEYPRESSES // reacts to keypresses +// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +// #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects +// #define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off +// #define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects + #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #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) + #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) + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 +// #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set + #define RGB_MATRIX_STARTUP_HUE 0 // Sets the default hue value, if none has been set + #define RGB_MATRIX_STARTUP_SAT 255 // Sets the default saturation value, if none has been set + #define RGB_MATRIX_STARTUP_VAL 50 // Sets the default brightness value, if none has been set + #define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set +// #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature) +// #define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. + // If RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR + + #define ENABLE_RGB_MATRIX_ALPHAS_MODS + #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_BREATHING + #define ENABLE_RGB_MATRIX_BAND_SAT + #define ENABLE_RGB_MATRIX_BAND_VAL + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define ENABLE_RGB_MATRIX_CYCLE_ALL + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL + #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL + #define ENABLE_RGB_MATRIX_DUAL_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define ENABLE_RGB_MATRIX_RAINDROPS + #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + #define ENABLE_RGB_MATRIX_HUE_BREATHING + #define ENABLE_RGB_MATRIX_HUE_PENDULUM + #define ENABLE_RGB_MATRIX_HUE_WAVE + #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL + #define ENABLE_RGB_MATRIX_PIXEL_FLOW + #define ENABLE_RGB_MATRIX_PIXEL_RAIN + #define ENABLE_RGB_MATRIX_TYPING_HEATMAP + #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define ENABLE_RGB_MATRIX_SPLASH + #define ENABLE_RGB_MATRIX_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_SPLASH + #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + #endif diff --git a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h index 7deffe33ffa4..7eabf9e831de 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h @@ -45,4 +45,49 @@ // #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature) // #define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. // If RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR + + #define ENABLE_RGB_MATRIX_ALPHAS_MODS + #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_BREATHING + // #define ENABLE_RGB_MATRIX_BAND_SAT + #define ENABLE_RGB_MATRIX_BAND_VAL + // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define ENABLE_RGB_MATRIX_CYCLE_ALL + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL + #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL + #define ENABLE_RGB_MATRIX_DUAL_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON +// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define ENABLE_RGB_MATRIX_RAINDROPS + #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +// #define ENABLE_RGB_MATRIX_HUE_BREATHING +// #define ENABLE_RGB_MATRIX_HUE_PENDULUM +// #define ENABLE_RGB_MATRIX_HUE_WAVE + #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL + #define ENABLE_RGB_MATRIX_PIXEL_FLOW + #define ENABLE_RGB_MATRIX_PIXEL_RAIN + #define ENABLE_RGB_MATRIX_TYPING_HEATMAP + #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define ENABLE_RGB_MATRIX_SPLASH + #define ENABLE_RGB_MATRIX_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_SPLASH + #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + #endif From 6ab5a7d048358f261d7068c56ef73dd3da4319aa Mon Sep 17 00:00:00 2001 From: jpe230 Date: Tue, 8 Mar 2022 19:35:33 -0600 Subject: [PATCH 0336/1832] [Keymap] Personal keymap for crkbd (#16546) --- keyboards/crkbd/keymaps/jpe230/config.h | 24 ++ keyboards/crkbd/keymaps/jpe230/keymap.c | 399 +++++++++++++++++++++++ keyboards/crkbd/keymaps/jpe230/readme.md | 15 + keyboards/crkbd/keymaps/jpe230/rules.mk | 6 + 4 files changed, 444 insertions(+) create mode 100644 keyboards/crkbd/keymaps/jpe230/config.h create mode 100644 keyboards/crkbd/keymaps/jpe230/keymap.c create mode 100644 keyboards/crkbd/keymaps/jpe230/readme.md create mode 100644 keyboards/crkbd/keymaps/jpe230/rules.mk diff --git a/keyboards/crkbd/keymaps/jpe230/config.h b/keyboards/crkbd/keymaps/jpe230/config.h new file mode 100644 index 000000000000..3680f7c480c3 --- /dev/null +++ b/keyboards/crkbd/keymaps/jpe230/config.h @@ -0,0 +1,24 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2022 Jose Pablo Ramirez + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define SPLIT_WPM_ENABLE diff --git a/keyboards/crkbd/keymaps/jpe230/keymap.c b/keyboards/crkbd/keymaps/jpe230/keymap.c new file mode 100644 index 000000000000..65cb6f73f756 --- /dev/null +++ b/keyboards/crkbd/keymaps/jpe230/keymap.c @@ -0,0 +1,399 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> +Copyright 2022 Jose Pablo Ramirez + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +#ifdef VIA_ENABLE + #define USER_START USER00 +#else + #define USER_START SAFE_RANGE +#endif + +// Keycode to toggle Sarcasm Mode +enum custom_keycodes { + KC_SCASM = USER_START +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(1), KC_ENT, KC_SPC, MO(2), KC_RALT + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_CAPS, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT, _______, _______, _______, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, _______, _______, MO(3), KC_RALT + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_CAPS, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(3), _______, TG(3), _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_MUTE, KC_WBAK, KC_WFWD, KC_F7, KC_F8, KC_F9, _______, KC_7, KC_8, KC_9, _______, RESET, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_VOLU, _______, KC_MNXT, KC_F6, KC_F5, KC_F6, _______, KC_6, KC_5, KC_4, _______, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_VOLD, KC_MPRV, KC_MNXT, KC_F1, KC_F2, KC_F3, _______, KC_1, KC_2, KC_3, _______, _______, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______,KC_SCASM, TG(3), _______, KC_RALT + //`--------------------------' `--------------------------' + ) +}; + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return rotation; +} + +#define L_BASE 0 +#define L_LOWER 2 +#define L_RAISE 4 +#define L_ADJUST 8 + +void oled_render_layer_state(void) { + oled_write_P(PSTR("Layer: "), false); + switch (layer_state) { + case L_BASE: + oled_write_ln_P(PSTR("Default"), false); + break; + case L_LOWER: + oled_write_ln_P(PSTR("Lower"), false); + break; + case L_RAISE: + oled_write_ln_P(PSTR("Raise"), false); + break; + case L_ADJUST: + case L_ADJUST|L_LOWER: + case L_ADJUST|L_RAISE: + case L_ADJUST|L_LOWER|L_RAISE: + oled_write_ln_P(PSTR("Adjust"), false); + break; + } +} + + +static char logged_char = ' '; +static uint8_t logged_row = 0, logged_col = 0; +static uint16_t logged_keycode = 0; + +const char code_to_name[60] = { + ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', + 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', + '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; + +void set_keylog(uint16_t keycode, keyrecord_t *record) { + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || + (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } + if (keycode < 60) { + logged_char = code_to_name[keycode]; + } + + // update keylog + logged_row = record->event.key.row; + logged_col = record->event.key.col; + logged_keycode = keycode; +} + +void oled_render_keylog(void) { + oled_write(get_u8_str(logged_row, '0'), false); + oled_write_P(PSTR(":"), false); + oled_write(get_u8_str(logged_col, '0'), false); + oled_write_P(PSTR(", "), false); + oled_write(get_u16_str(logged_keycode, ' '), false); + oled_write_P(PSTR(" : "), false); + oled_write((const char *)&logged_char, false); +} + +void render_bootmagic_status(bool status) { + /* Show Ctrl-Gui Swap options */ + static const char PROGMEM logo[][2][3] = { + {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, + {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, + }; + if (status) { + oled_write_ln_P(logo[0][0], false); + oled_write_ln_P(logo[0][1], false); + } else { + oled_write_ln_P(logo[1][0], false); + oled_write_ln_P(logo[1][1], false); + } +} + +// frame 0, 128x32px +const char PROGMEM cat_frame_0 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, + 0x60, 0x60, 0x60, 0x60, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0x70, 0x38, 0x18, 0xec, 0x3c, 0x02, 0x02, + 0x7a, 0x7a, 0xf2, 0xf2, 0x06, 0x04, 0x04, 0x0c, 0x0e, 0x0a, 0x1f, 0xfd, 0xf9, 0x39, 0x0f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0xff, 0xff, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfc, 0xff, 0x01, 0x08, 0x3c, 0x00, + 0x00, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x7e, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xf0, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x87, 0x83, 0xc0, 0x80, 0x88, + 0x1e, 0x1e, 0x0f, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0xc0, 0xe0, 0xfe, 0x87, 0xbe, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, + 0x12, 0x34, 0x34, 0x34, 0x34, 0x1e, 0x0e, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// frame 1, 128x32px +const char PROGMEM cat_frame_1 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x60, 0xe0, 0xf0, 0x90, + 0x18, 0x08, 0x08, 0x88, 0x88, 0x98, 0x10, 0x10, 0x30, 0x30, 0x70, 0xf8, 0x08, 0x88, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0xff, 0xff, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x04, 0x06, 0x07, 0x03, 0x01, + 0xc0, 0x00, 0x00, 0x87, 0x87, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0xf0, 0x00, + 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf8, 0xff, 0xff, 0xc0, 0x80, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x10, 0x30, 0xf0, 0xe0, 0x00, + 0x01, 0x00, 0x60, 0xf0, 0xf0, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xc7, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x06, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x02, 0x02, 0x07, 0x07, 0x07, 0x04, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// frame 2, 128x32px +const char PROGMEM cat_frame_2 [] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x60, 0x30, + 0x38, 0x18, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0x78, 0x48, 0x78, 0xc0, 0x80, 0xc0, 0x40, 0x40, + 0x40, 0x40, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0xf0, 0x80, 0x80, 0x60, 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1c, 0x3c, + 0x7c, 0x38, 0x00, 0x00, 0x00, 0x01, 0x01, 0x07, 0x06, 0x3c, 0xff, 0xc3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0xff, 0xf0, 0x80, 0x00, + 0x00, 0x80, 0x80, 0x80, 0x00, 0x01, 0x00, 0x1e, 0x7f, 0xc0, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0c, + 0x8c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x01, 0x00, 0x01, 0x01, 0x0f, 0x18, 0x10, 0x18, 0x0f, 0x0e, 0x18, 0x10, 0x30, 0x27, 0x2f, + 0x2f, 0x27, 0x20, 0x30, 0x10, 0x10, 0x10, 0x30, 0x3c, 0x2d, 0x27, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +const char* cat_frames[3] = { + cat_frame_0, + cat_frame_1, + cat_frame_2 +}; + +#define FRAME_SIZE 528 + +static int current_frame = 0; +static uint32_t frame_timer = 0; +static uint32_t anim_sleep = 0; +static uint8_t anim_speed = 120; + +void oled_render_logo(void) { + + if(get_current_wpm() != 000) { + oled_on(); + int8_t wpm_speed = (int8_t)(get_current_wpm() / 2); + if(wpm_speed < 100) + { + anim_speed = 120 - wpm_speed; + } + if(timer_elapsed32(frame_timer) > anim_speed) { + frame_timer = timer_read32(); // resets timer + current_frame = (current_frame + 1) % 3; + } + oled_write_raw_P(cat_frames[current_frame], FRAME_SIZE); + anim_sleep = timer_read32(); + } else { + anim_speed = 150; + if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { + oled_off(); + } else { + if(timer_elapsed32(frame_timer) > anim_speed) { + frame_timer = timer_read32(); // resets timer + current_frame = (current_frame + 1) % 3; + } + oled_write_raw_P(cat_frames[current_frame], FRAME_SIZE); + } + } +} + +bool oled_task_user(void) { + if (is_keyboard_master()) { + oled_render_layer_state(); + oled_render_keylog(); + } else { + oled_render_logo(); + } + return false; +} + +#endif // OLED_ENABLE + +// saRcASm MOde +bool tog_sarcasm = false; +bool uppercase = false; +uint8_t prev_upper = 0; +uint8_t prev_lower = 0; + +bool process_record_sarcasm(uint16_t keycode, keyrecord_t *record) { + if (keycode == KC_ENTER && record->event.pressed) { + uppercase = false; + return true; + } + + if (uppercase == false && record->event.pressed) { // Dont start with an uppercase letter on new line + uppercase = true; + return true; + } + + if((KC_A <= keycode) && (keycode <= KC_Z)) { + if ( record->event.pressed ) { + bool press = rand() % 2; + + if (prev_upper > 2) { // if more than 3 lower's in a row print upper + prev_upper = 0; + press = false; + } else if (prev_lower > 2) { // if more than 3 upper's in a row print lower + prev_lower = 0; + press = true; + } + if (press) { + prev_upper++; + tap_code16(S(keycode)); + clear_mods(); + } else { + prev_lower++; + tap_code16(keycode); + } + } + return false; + } + + return true; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + +#ifdef OLED_ENABLE + if (record->event.pressed) { + set_keylog(keycode, record); + } +#endif + + switch (keycode) { + case KC_SCASM: + if (record->event.pressed) { + tog_sarcasm = !tog_sarcasm; + + if (tog_sarcasm) + dprint("Enabling saRCaSm ModE\n"); + else + dprint("Disabling saRCaSm ModE\n"); + + uppercase = false; + prev_upper = 0; + prev_lower = 0; + } + return false; + } + + if (tog_sarcasm) { + return process_record_sarcasm(keycode, record); + } + + return true; +} diff --git a/keyboards/crkbd/keymaps/jpe230/readme.md b/keyboards/crkbd/keymaps/jpe230/readme.md new file mode 100644 index 000000000000..31bbc4ebd130 --- /dev/null +++ b/keyboards/crkbd/keymaps/jpe230/readme.md @@ -0,0 +1,15 @@ +# Jpe230's CRKBD Layout + +## Layers +The four layers: +- BASE Layer: QWERTY +- LOWER Layer: Numbers + Arrows +- RAISE Layer: Symbols +- ADJUST Layer: Numpad + Media Keys + Fn keys + +## OLED +-Master: Renders layer state + keylog +-Slave : Renders an animation of a cat that varies its animation speed based on the current WPM + +## Flashing +Flash using `qmk compile -kb crkbd -km jpe230` for Pro Micro diff --git a/keyboards/crkbd/keymaps/jpe230/rules.mk b/keyboards/crkbd/keymaps/jpe230/rules.mk new file mode 100644 index 000000000000..27a25ddeb3a5 --- /dev/null +++ b/keyboards/crkbd/keymaps/jpe230/rules.mk @@ -0,0 +1,6 @@ +MOUSEKEY_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +LTO_ENABLE = yes +WPM_ENABLE = yes +VIA_ENABLE = yes From dc67fd9b87b0e86cea8d176d8b9bbce3e8a8676d Mon Sep 17 00:00:00 2001 From: jpe230 Date: Tue, 8 Mar 2022 23:49:29 -0600 Subject: [PATCH 0337/1832] Various improvements for the AnnePro2 (#16579) --- keyboards/annepro2/annepro2.c | 92 ++++++++++------ keyboards/annepro2/annepro2.h | 6 +- keyboards/annepro2/annepro2_ble.c | 34 +++--- keyboards/annepro2/ap2_led.c | 79 +++++++------- keyboards/annepro2/ap2_led.h | 93 ++++++++-------- keyboards/annepro2/c15/config.h | 1 + keyboards/annepro2/c15/rules.mk | 5 +- keyboards/annepro2/c18/config.h | 1 + keyboards/annepro2/c18/rules.mk | 5 +- keyboards/annepro2/config_led.c | 43 ++++++++ keyboards/annepro2/config_led.h | 72 +++++++++++++ keyboards/annepro2/info.json | 2 +- .../keymaps/default-full-caps/keymap.c | 84 +++++++-------- .../keymaps/default-layer-indicators/keymap.c | 102 +++++++++--------- keyboards/annepro2/keymaps/default/keymap.c | 80 +++++++------- keyboards/annepro2/keymaps/default/rules.mk | 3 + keyboards/annepro2/protocol.c | 40 +++---- keyboards/annepro2/protocol.h | 22 ++-- keyboards/annepro2/rgb_driver.c | 66 ++++++++++++ 19 files changed, 526 insertions(+), 304 deletions(-) create mode 100644 keyboards/annepro2/config_led.c create mode 100644 keyboards/annepro2/config_led.h create mode 100644 keyboards/annepro2/keymaps/default/rules.mk create mode 100644 keyboards/annepro2/rgb_driver.c diff --git a/keyboards/annepro2/annepro2.c b/keyboards/annepro2/annepro2.c index 37489defff34..876726531593 100644 --- a/keyboards/annepro2/annepro2.c +++ b/keyboards/annepro2/annepro2.c @@ -24,7 +24,7 @@ #define RAM_MAGIC_LOCATION 0x20001ffc #define IAP_MAGIC_VALUE 0x0000fab2 -static const SerialConfig ledUartInitConfig = { +static const SerialConfig led_uart_init_config = { .speed = 115200, }; @@ -32,21 +32,25 @@ static const SerialConfig ledUartInitConfig = { # define LED_UART_BAUD_RATE 115200 #endif // LED_UART_BAUD_RATE -static const SerialConfig ledUartRuntimeConfig = { +static const SerialConfig led_uart_runtine_config = { .speed = LED_UART_BAUD_RATE, }; -static const SerialConfig bleUartConfig = { +static const SerialConfig ble_uart_config = { .speed = 115200, }; -static uint8_t ledMcuWakeup[11] = {0x7b, 0x10, 0x43, 0x10, 0x03, 0x00, 0x00, 0x7d, 0x02, 0x01, 0x02}; +static uint8_t led_mcu_wakeup[11] = {0x7b, 0x10, 0x43, 0x10, 0x03, 0x00, 0x00, 0x7d, 0x02, 0x01, 0x02}; -ble_capslock_t BLECapsLock = {._dummy = {0}, .caps_lock = false}; +ble_capslock_t ble_capslock = {._dummy = {0}, .caps_lock = false}; + +#ifdef RGB_MATRIX_ENABLE +static uint8_t current_rgb_row = 0; +#endif void bootloader_jump(void) { // Send msg to shine to boot into IAP - annepro2SetIAP(); + ap2_set_IAP(); // wait for shine to boot into IAP wait_ms(15); @@ -67,27 +71,27 @@ void bootloader_jump(void) { void keyboard_pre_init_kb(void) { // Start LED UART - sdStart(&SD0, &ledUartInitConfig); + sdStart(&SD0, &led_uart_init_config); /* Let the LED chip settle a bit before switching the mode. * That helped at least one person. */ wait_ms(15); - sdWrite(&SD0, ledMcuWakeup, sizeof(ledMcuWakeup)); + sdWrite(&SD0, led_mcu_wakeup, sizeof(led_mcu_wakeup)); // wait to receive response from wakeup wait_ms(15); - protoInit(&proto, ledCommandCallback); + proto_init(&proto, led_command_callback); // loop to clear out receive buffer from shine wakeup while (!sdGetWouldBlock(&SD0)) sdGet(&SD0); - sdStart(&SD0, &ledUartRuntimeConfig); + sdStart(&SD0, &led_uart_runtine_config); keyboard_pre_init_user(); } void keyboard_post_init_kb(void) { // Start BLE UART - sdStart(&SD1, &bleUartConfig); + sdStart(&SD1, &ble_uart_config); annepro2_ble_startup(); // Give the send uart thread some time to @@ -97,7 +101,11 @@ void keyboard_post_init_kb(void) { // loop to clear out receive buffer from ble wakeup while (!sdGetWouldBlock(&SD1)) sdGet(&SD1); - annepro2LedGetStatus(); + ap2_led_get_status(); + + #ifdef RGB_MATRIX_ENABLE + ap2_led_enable(); + #endif keyboard_post_init_user(); } @@ -106,25 +114,35 @@ void matrix_scan_kb() { // if there's stuff on the ble serial buffer // read it into the capslock struct while (!sdGetWouldBlock(&SD1)) { - sdReadTimeout(&SD1, (uint8_t *)&BLECapsLock, sizeof(ble_capslock_t), 10); + sdReadTimeout(&SD1, (uint8_t *)&ble_capslock, sizeof(ble_capslock_t), 10); } /* While there's data from LED keyboard sent - read it. */ while (!sdGetWouldBlock(&SD0)) { uint8_t byte = sdGet(&SD0); - protoConsume(&proto, byte); + proto_consume(&proto, byte); + } + + #ifdef RGB_MATRIX_ENABLE + /* If there's data ready to be sent to LED MCU - send it. */ + if(rgb_row_changed[current_rgb_row]) + { + rgb_row_changed[current_rgb_row] = 0; + ap2_led_mask_set_row(current_rgb_row); } + current_rgb_row = (current_rgb_row + 1) % NUM_ROW; + #endif matrix_scan_user(); } bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { - if (annepro2LedStatus.matrixEnabled && annepro2LedStatus.isReactive) { - annepro2LedForwardKeypress(record->event.key.row, record->event.key.col); + if (ap2_led_status.matrix_enabled && ap2_led_status.is_reactive) { + ap2_led_forward_keypress(record->event.key.row, record->event.key.col); } - const annepro2Led_t blue = { + const ap2_led_t blue = { .p.blue = 0xff, .p.red = 0x00, .p.green = 0x00, @@ -135,22 +153,22 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_AP2_BT1: annepro2_ble_broadcast(0); /* FIXME: This hardcodes col/row position */ - annepro2LedBlink(0, 1, blue, 8, 50); + ap2_led_blink(0, 1, blue, 8, 50); return false; case KC_AP2_BT2: annepro2_ble_broadcast(1); - annepro2LedBlink(0, 2, blue, 8, 50); + ap2_led_blink(0, 2, blue, 8, 50); return false; case KC_AP2_BT3: annepro2_ble_broadcast(2); - annepro2LedBlink(0, 3, blue, 8, 50); + ap2_led_blink(0, 3, blue, 8, 50); return false; case KC_AP2_BT4: annepro2_ble_broadcast(3); - annepro2LedBlink(0, 4, blue, 8, 50); + ap2_led_blink(0, 4, blue, 8, 50); return false; case KC_AP2_USB: @@ -162,37 +180,43 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; case KC_AP_LED_OFF: - annepro2LedDisable(); + ap2_led_disable(); break; case KC_AP_LED_ON: - if (annepro2LedStatus.matrixEnabled) { - annepro2LedNextProfile(); + if (ap2_led_status.matrix_enabled) { + ap2_led_next_profile(); } else { - annepro2LedEnable(); + ap2_led_enable(); } - annepro2LedResetForegroundColor(); + ap2_led_reset_foreground_color(); break; case KC_AP_LED_NEXT_PROFILE: - annepro2LedNextProfile(); - annepro2LedResetForegroundColor(); + ap2_led_next_profile(); + ap2_led_reset_foreground_color(); break; case KC_AP_LED_PREV_PROFILE: - annepro2LedPrevProfile(); - annepro2LedResetForegroundColor(); + ap2_led_prev_profile(); + ap2_led_reset_foreground_color(); break; case KC_AP_LED_NEXT_INTENSITY: - annepro2LedNextIntensity(); - annepro2LedResetForegroundColor(); + ap2_led_next_intensity(); + ap2_led_reset_foreground_color(); return false; case KC_AP_LED_SPEED: - annepro2LedNextAnimationSpeed(); - annepro2LedResetForegroundColor(); + ap2_led_next_animation_speed(); + ap2_led_reset_foreground_color(); return false; + #ifdef RGB_MATRIX_ENABLE + case RGB_TOG: + if(rgb_matrix_is_enabled()) ap2_led_disable(); + else ap2_led_enable(); + return true; + #endif default: break; diff --git a/keyboards/annepro2/annepro2.h b/keyboards/annepro2/annepro2.h index b08f8c5352aa..1b5933f57724 100644 --- a/keyboards/annepro2/annepro2.h +++ b/keyboards/annepro2/annepro2.h @@ -24,16 +24,16 @@ typedef struct __attribute__((__packed__)) { uint8_t _dummy[10]; bool caps_lock; } ble_capslock_t; -extern ble_capslock_t BLECapsLock; +extern ble_capslock_t ble_capslock; // Matrix keymap // clang-format off -#define LAYOUT( \ +#define LAYOUT_60_ansi( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ - K40, K42, K43, K46, K49, K4A, K4B, K4C \ + K40, K42, K43, K46, K49, K4A, K4B, K4C \ ) { \ /* COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL8 COL9 COL10 COL11 COL12 COL13 COL14*/ \ /* ROW1 */ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ diff --git a/keyboards/annepro2/annepro2_ble.c b/keyboards/annepro2/annepro2_ble.c index 72cbb6801675..0336d6a76ccb 100644 --- a/keyboards/annepro2/annepro2_ble.c +++ b/keyboards/annepro2/annepro2_ble.c @@ -35,47 +35,47 @@ static host_driver_t ap2_ble_driver = { ap2_ble_leds, ap2_ble_keyboard, ap2_ble_mouse, ap2_ble_system, ap2_ble_consumer, }; -static uint8_t bleMcuWakeup[11] = {0x7b, 0x12, 0x53, 0x00, 0x03, 0x00, 0x01, 0x7d, 0x02, 0x01, 0x02}; +static uint8_t ble_mcu_wakeup[11] = {0x7b, 0x12, 0x53, 0x00, 0x03, 0x00, 0x01, 0x7d, 0x02, 0x01, 0x02}; -static uint8_t bleMcuStartBroadcast[11] = { +static uint8_t ble_mcu_start_broadcast[11] = { 0x7b, 0x12, 0x53, 0x00, 0x03, 0x00, 0x00, 0x7d, 0x40, 0x01, 0x00 // Broadcast ID[0-3] }; -static uint8_t bleMcuConnect[11] = { +static uint8_t ble_mcu_connect[11] = { 0x7b, 0x12, 0x53, 0x00, 0x03, 0x00, 0x00, 0x7d, 0x40, 0x04, 0x00 // Connect ID [0-3] }; -static uint8_t bleMcuSendReport[10] = { +static uint8_t ble_mcu_send_report[10] = { 0x7b, 0x12, 0x53, 0x00, 0x0A, 0x00, 0x00, 0x7d, 0x10, 0x04, }; -static uint8_t bleMcuSendConsumerReport[10] = { +static uint8_t ble_mcu_send_consumer_report[10] = { 0x7b, 0x12, 0x53, 0x00, 0x06, 0x00, 0x00, 0x7d, 0x10, 0x08, }; -static uint8_t bleMcuUnpair[10] = { +static uint8_t ble_mcu_unpair[10] = { 0x7b, 0x12, 0x53, 0x00, 0x02, 0x00, 0x00, 0x7d, 0x40, 0x05, }; -static uint8_t bleMcuBootload[11] = {0x7b, 0x10, 0x51, 0x10, 0x03, 0x00, 0x00, 0x7d, 0x02, 0x01, 0x01}; +static uint8_t ble_mcu_bootload[11] = {0x7b, 0x10, 0x51, 0x10, 0x03, 0x00, 0x00, 0x7d, 0x02, 0x01, 0x01}; -static host_driver_t *lastHostDriver = NULL; +static host_driver_t *last_host_driver = NULL; #ifdef NKRO_ENABLE static bool lastNkroStatus = false; #endif // NKRO_ENABLE /* -------------------- Public Function Implementation ---------------------- */ -void annepro2_ble_bootload(void) { sdWrite(&SD1, bleMcuBootload, sizeof(bleMcuBootload)); } +void annepro2_ble_bootload(void) { sdWrite(&SD1, ble_mcu_bootload, sizeof(ble_mcu_bootload)); } -void annepro2_ble_startup(void) { sdWrite(&SD1, bleMcuWakeup, sizeof(bleMcuWakeup)); } +void annepro2_ble_startup(void) { sdWrite(&SD1, ble_mcu_wakeup, sizeof(ble_mcu_wakeup)); } void annepro2_ble_broadcast(uint8_t port) { if (port > 3) { port = 3; } // sdPut(&SD1, 0x00); - sdWrite(&SD1, bleMcuStartBroadcast, sizeof(bleMcuStartBroadcast)); + sdWrite(&SD1, ble_mcu_start_broadcast, sizeof(ble_mcu_start_broadcast)); sdPut(&SD1, port); static int lastBroadcast = -1; if (lastBroadcast == port) { @@ -88,7 +88,7 @@ void annepro2_ble_connect(uint8_t port) { if (port > 3) { port = 3; } - sdWrite(&SD1, bleMcuConnect, sizeof(bleMcuConnect)); + sdWrite(&SD1, ble_mcu_connect, sizeof(ble_mcu_connect)); sdPut(&SD1, port); ap2_ble_swtich_ble_driver(); } @@ -103,12 +103,12 @@ void annepro2_ble_disconnect(void) { #ifdef NKRO_ENABLE keymap_config.nkro = lastNkroStatus; #endif - host_set_driver(lastHostDriver); + host_set_driver(last_host_driver); } void annepro2_ble_unpair(void) { // sdPut(&SD1, 0x0); - sdWrite(&SD1, bleMcuUnpair, sizeof(bleMcuUnpair)); + sdWrite(&SD1, ble_mcu_unpair, sizeof(ble_mcu_unpair)); } /* ------------------- Static Function Implementation ----------------------- */ @@ -117,7 +117,7 @@ static void ap2_ble_swtich_ble_driver(void) { return; } clear_keyboard(); - lastHostDriver = host_get_driver(); + last_host_driver = host_get_driver(); #ifdef NKRO_ENABLE lastNkroStatus = keymap_config.nkro; #endif @@ -154,7 +154,7 @@ static inline uint16_t CONSUMER2AP2(uint16_t usage) { static void ap2_ble_consumer(uint16_t data) { sdPut(&SD1, 0x0); - sdWrite(&SD1, bleMcuSendConsumerReport, sizeof(bleMcuSendConsumerReport)); + sdWrite(&SD1, ble_mcu_send_consumer_report, sizeof(ble_mcu_send_consumer_report)); sdPut(&SD1, CONSUMER2AP2(data)); static const uint8_t dummy[3] = {0}; sdWrite(&SD1, dummy, sizeof(dummy)); @@ -165,6 +165,6 @@ static void ap2_ble_consumer(uint16_t data) { */ static void ap2_ble_keyboard(report_keyboard_t *report) { sdPut(&SD1, 0x0); - sdWrite(&SD1, bleMcuSendReport, sizeof(bleMcuSendReport)); + sdWrite(&SD1, ble_mcu_send_report, sizeof(ble_mcu_send_report)); sdWrite(&SD1, &report->raw[0], KEYBOARD_REPORT_SIZE); } diff --git a/keyboards/annepro2/ap2_led.c b/keyboards/annepro2/ap2_led.c index 9969fcd02af3..73b21f6eb128 100644 --- a/keyboards/annepro2/ap2_led.c +++ b/keyboards/annepro2/ap2_led.c @@ -21,28 +21,29 @@ #include "ap2_led.h" #include "protocol.h" -annepro2Led_t ledMask[KEY_COUNT]; -annepro2LedStatus_t annepro2LedStatus; +ap2_led_t led_mask[KEY_COUNT]; +ap2_led_status_t ap2_led_status; +uint8_t rgb_row_changed[NUM_ROW]; -void ledCommandCallback(const message_t *msg) { +void led_command_callback(const message_t *msg) { switch (msg->command) { case CMD_LED_STATUS: - annepro2LedStatus.amountOfProfiles = msg->payload[0]; - annepro2LedStatus.currentProfile = msg->payload[1]; - annepro2LedStatus.matrixEnabled = msg->payload[2]; - annepro2LedStatus.isReactive = msg->payload[3]; - annepro2LedStatus.ledIntensity = msg->payload[4]; - annepro2LedStatus.errors = msg->payload[5]; + ap2_led_status.amount_of_profiles = msg->payload[0]; + ap2_led_status.current_profile = msg->payload[1]; + ap2_led_status.matrix_enabled = msg->payload[2]; + ap2_led_status.is_reactive = msg->payload[3]; + ap2_led_status.led_intensity = msg->payload[4]; + ap2_led_status.errors = msg->payload[5]; break; #ifdef CONSOLE_ENABLE case CMD_LED_DEBUG: /* TODO: Don't use printf. */ printf("LED:"); - for (int i = 0; i < msg->payloadSize; i++) { + for (int i = 0; i < msg->payload_size; i++) { printf("%02x ", msg->payload[i]); } - for (int i = 0; i < msg->payloadSize; i++) { + for (int i = 0; i < msg->payload_size; i++) { printf("%c", msg->payload[i]); } printf("\n"); @@ -51,63 +52,63 @@ void ledCommandCallback(const message_t *msg) { } } -void annepro2SetIAP(void) { protoTx(CMD_LED_IAP, NULL, 0, 3); } +void ap2_set_IAP(void) { proto_tx(CMD_LED_IAP, NULL, 0, 3); } -void annepro2LedDisable(void) { protoTx(CMD_LED_OFF, NULL, 0, 3); } +void ap2_led_disable(void) { proto_tx(CMD_LED_OFF, NULL, 0, 3); } -void annepro2LedEnable(void) { protoTx(CMD_LED_ON, NULL, 0, 3); } +void ap2_led_enable(void) { proto_tx(CMD_LED_ON, NULL, 0, 3); } -void annepro2LedSetProfile(uint8_t prof) { protoTx(CMD_LED_SET_PROFILE, &prof, sizeof(prof), 3); } +void ap2_led_set_profile(uint8_t prof) { proto_tx(CMD_LED_SET_PROFILE, &prof, sizeof(prof), 3); } -void annepro2LedGetStatus() { protoTx(CMD_LED_GET_STATUS, NULL, 0, 3); } +void ap2_led_get_status() { proto_tx(CMD_LED_GET_STATUS, NULL, 0, 3); } -void annepro2LedNextProfile() { protoTx(CMD_LED_NEXT_PROFILE, NULL, 0, 3); } +void ap2_led_next_profile() { proto_tx(CMD_LED_NEXT_PROFILE, NULL, 0, 3); } -void annepro2LedNextIntensity() { protoTx(CMD_LED_NEXT_INTENSITY, NULL, 0, 3); } +void ap2_led_next_intensity() { proto_tx(CMD_LED_NEXT_INTENSITY, NULL, 0, 3); } -void annepro2LedNextAnimationSpeed() { protoTx(CMD_LED_NEXT_ANIMATION_SPEED, NULL, 0, 3); } +void ap2_led_next_animation_speed() { proto_tx(CMD_LED_NEXT_ANIMATION_SPEED, NULL, 0, 3); } -void annepro2LedPrevProfile() { protoTx(CMD_LED_PREV_PROFILE, NULL, 0, 3); } +void ap2_led_prev_profile() { proto_tx(CMD_LED_PREV_PROFILE, NULL, 0, 3); } -void annepro2LedMaskSetKey(uint8_t row, uint8_t col, annepro2Led_t color) { +void ap2_led_mask_set_key(uint8_t row, uint8_t col, ap2_led_t color) { uint8_t payload[] = {row, col, color.p.blue, color.p.green, color.p.red, color.p.alpha}; - protoTx(CMD_LED_MASK_SET_KEY, payload, sizeof(payload), 1); + proto_tx(CMD_LED_MASK_SET_KEY, payload, sizeof(payload), 1); } /* Push a whole local row to the shine */ -void annepro2LedMaskSetRow(uint8_t row) { - uint8_t payload[NUM_COLUMN * sizeof(annepro2Led_t) + 1]; +void ap2_led_mask_set_row(uint8_t row) { + uint8_t payload[NUM_COLUMN * sizeof(ap2_led_t) + 1]; payload[0] = row; - memcpy(payload + 1, &ledMask[ROWCOL2IDX(row, 0)], sizeof(*ledMask) * NUM_COLUMN); - protoTx(CMD_LED_MASK_SET_ROW, payload, sizeof(payload), 1); + memcpy(payload + 1, &led_mask[ROWCOL2IDX(row, 0)], sizeof(*led_mask) * NUM_COLUMN); + proto_tx(CMD_LED_MASK_SET_ROW, payload, sizeof(payload), 1); } /* Synchronize all rows */ -void annepro2LedMaskSetAll(void) { - for (int row = 0; row < 5; row++) annepro2LedMaskSetRow(row); +void ap2_led_mask_set_all(void) { + for (int row = 0; row < 5; row++) ap2_led_mask_set_row(row); } /* Set all keys to a given color */ -void annepro2LedMaskSetMono(const annepro2Led_t color) { protoTx(CMD_LED_MASK_SET_MONO, (uint8_t *)&color, sizeof(color), 1); } +void ap2_led_mask_set_mono(const ap2_led_t color) { proto_tx(CMD_LED_MASK_SET_MONO, (uint8_t *)&color, sizeof(color), 1); } -void annepro2LedBlink(uint8_t row, uint8_t col, annepro2Led_t color, uint8_t count, uint8_t hundredths) { +void ap2_led_blink(uint8_t row, uint8_t col, ap2_led_t color, uint8_t count, uint8_t hundredths) { uint8_t payload[] = {row, col, color.p.blue, color.p.green, color.p.red, color.p.alpha, count, hundredths}; - protoTx(CMD_LED_KEY_BLINK, payload, sizeof(payload), 1); + proto_tx(CMD_LED_KEY_BLINK, payload, sizeof(payload), 1); } -void annepro2LedSetForegroundColor(uint8_t red, uint8_t green, uint8_t blue) { - annepro2Led_t color = {.p.red = red, .p.green = green, .p.blue = blue, .p.alpha = 0xff}; - annepro2LedMaskSetMono(color); +void ap2_led_set_foreground_color(uint8_t red, uint8_t green, uint8_t blue) { + ap2_led_t color = {.p.red = red, .p.green = green, .p.blue = blue, .p.alpha = 0xff}; + ap2_led_mask_set_mono(color); } -void annepro2LedResetForegroundColor() { - annepro2Led_t color = { +void ap2_led_reset_foreground_color() { + ap2_led_t color = { .p.red = 0, .p.green = 0, .p.blue = 0, .p.alpha = 0, }; - annepro2LedMaskSetMono(color); + ap2_led_mask_set_mono(color); } /* @@ -128,7 +129,7 @@ void annepro2LedResetForegroundColor() { * Following it are 3 bits of row and 4 bits of col. * 1 + 3 + 4 = 8 bits - only a single byte is sent for every keypress. */ -void annepro2LedForwardKeypress(uint8_t row, uint8_t col) { +void ap2_led_forward_keypress(uint8_t row, uint8_t col) { const uint8_t payload = row << 4 | col; - protoTx(CMD_LED_KEY_DOWN, &payload, 1, 1); + proto_tx(CMD_LED_KEY_DOWN, &payload, 1, 1); } diff --git a/keyboards/annepro2/ap2_led.h b/keyboards/annepro2/ap2_led.h index 23712a255564..b68589d20436 100644 --- a/keyboards/annepro2/ap2_led.h +++ b/keyboards/annepro2/ap2_led.h @@ -1,18 +1,18 @@ /* Copyright 2021 OpenAnnePro community - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #pragma once @@ -31,54 +31,63 @@ typedef union { uint8_t pv[4]; /* 0xrgb in mem is b g r a */ uint32_t rgb; -} annepro2Led_t; +} ap2_led_t; #define ROWCOL2IDX(row, col) (NUM_COLUMN * (row) + (col)) #define NUM_COLUMN 14 #define NUM_ROW 5 #define KEY_COUNT 70 -/* Local copy of ledMask, used to override colors on the board */ -extern annepro2Led_t ledMask[KEY_COUNT]; +/* Local copy of led_mask, used to override colors on the board */ +extern ap2_led_t led_mask[KEY_COUNT]; +extern uint8_t rgb_row_changed[NUM_ROW]; /* Handle incoming messages */ -extern void ledCommandCallback(const message_t *msg); +extern void led_command_callback(const message_t *msg); -void annepro2SetIAP(void); -void annepro2LedDisable(void); -void annepro2LedEnable(void); -void annepro2LedSetProfile(uint8_t prof); -void annepro2LedGetStatus(void); -void annepro2LedNextProfile(void); -void annepro2LedPrevProfile(void); -void annepro2LedNextIntensity(void); -void annepro2LedNextAnimationSpeed(void); -void annepro2LedForwardKeypress(uint8_t row, uint8_t col); +void ap2_set_IAP(void); +void ap2_led_disable(void); +void ap2_led_enable(void); +void ap2_led_set_profile(uint8_t prof); +void ap2_led_get_status(void); +void ap2_led_next_profile(void); +void ap2_led_prev_profile(void); +void ap2_led_next_intensity(void); +void ap2_led_next_animation_speed(void); +void ap2_led_forward_keypress(uint8_t row, uint8_t col); /* Set single key to a given color; alpha controls which is displayed */ -void annepro2LedMaskSetKey(uint8_t row, uint8_t col, annepro2Led_t color); +void ap2_led_mask_set_key(uint8_t row, uint8_t col, ap2_led_t color); /* Push a whole local row to the shine */ -void annepro2LedMaskSetRow(uint8_t row); +void ap2_led_mask_set_row(uint8_t row); /* Synchronize all rows */ -void annepro2LedMaskSetAll(void); +void ap2_led_mask_set_all(void); /* Set all keys to a given color */ -void annepro2LedMaskSetMono(annepro2Led_t color); +void ap2_led_mask_set_mono(ap2_led_t color); /* Blink given key `count` times by masking it with a `color`. Blink takes `hundredths` of a second */ -void annepro2LedBlink(uint8_t row, uint8_t col, annepro2Led_t color, uint8_t count, uint8_t hundredths); +void ap2_led_blink(uint8_t row, uint8_t col, ap2_led_t color, uint8_t count, uint8_t hundredths); /* Kept for compatibility, but implemented using masks */ -void annepro2LedSetForegroundColor(uint8_t red, uint8_t green, uint8_t blue); -void annepro2LedResetForegroundColor(void); +void ap2_led_set_foreground_color(uint8_t red, uint8_t green, uint8_t blue); +void ap2_led_reset_foreground_color(void); typedef struct { - uint8_t amountOfProfiles; - uint8_t currentProfile; - uint8_t matrixEnabled; - uint8_t isReactive; - uint8_t ledIntensity; + uint8_t amount_of_profiles; + uint8_t current_profile; + uint8_t matrix_enabled; + uint8_t is_reactive; + uint8_t led_intensity; uint8_t errors; -} annepro2LedStatus_t; +} ap2_led_status_t; -extern annepro2LedStatus_t annepro2LedStatus; +extern ap2_led_status_t ap2_led_status; + +#ifdef RGB_MATRIX_ENABLE +/* RGB driver functions */ +void init(void); +void flush(void); +void set_color(int index, uint8_t r, uint8_t g, uint8_t b); +void set_color_all(uint8_t r, uint8_t g, uint8_t b); +#endif diff --git a/keyboards/annepro2/c15/config.h b/keyboards/annepro2/c15/config.h index f28a6a1b53c3..012b412dc975 100644 --- a/keyboards/annepro2/c15/config.h +++ b/keyboards/annepro2/c15/config.h @@ -18,6 +18,7 @@ #pragma once #include "pin_defs.h" +#include "config_led.h" /* USB Device descriptor parameter */ #define VENDOR_ID 0xfeed diff --git a/keyboards/annepro2/c15/rules.mk b/keyboards/annepro2/c15/rules.mk index 554ddc28ceb2..5cef8b8a87ca 100644 --- a/keyboards/annepro2/c15/rules.mk +++ b/keyboards/annepro2/c15/rules.mk @@ -3,7 +3,9 @@ SRC = \ matrix.c \ annepro2_ble.c \ ap2_led.c \ - protocol.c + protocol.c \ + rgb_driver.c \ + config_led.c # MCU MCU = cortex-m0plus @@ -24,6 +26,7 @@ NKRO_ENABLE = no MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes KEY_LOCK_ENABLE = no +LAYOUTS = 60_ansi # Other featues BOOTMAGIC_ENABLE = no diff --git a/keyboards/annepro2/c18/config.h b/keyboards/annepro2/c18/config.h index f610ef76e4fd..5887333f2ed8 100644 --- a/keyboards/annepro2/c18/config.h +++ b/keyboards/annepro2/c18/config.h @@ -18,6 +18,7 @@ #pragma once #include "pin_defs.h" +#include "config_led.h" /* USB Device descriptor parameter */ #define VENDOR_ID 0xfeed diff --git a/keyboards/annepro2/c18/rules.mk b/keyboards/annepro2/c18/rules.mk index b2e16cc35f16..afc248dafaa9 100644 --- a/keyboards/annepro2/c18/rules.mk +++ b/keyboards/annepro2/c18/rules.mk @@ -3,7 +3,9 @@ SRC = \ matrix.c \ annepro2_ble.c \ ap2_led.c \ - protocol.c + protocol.c \ + rgb_driver.c \ + config_led.c # MCU MCU = cortex-m0plus @@ -24,6 +26,7 @@ NKRO_ENABLE = no MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes KEY_LOCK_ENABLE = no +LAYOUTS = 60_ansi # Other featues BOOTMAGIC_ENABLE = yes diff --git a/keyboards/annepro2/config_led.c b/keyboards/annepro2/config_led.c new file mode 100644 index 000000000000..efa68dff3db2 --- /dev/null +++ b/keyboards/annepro2/config_led.c @@ -0,0 +1,43 @@ +/* Copyright 2022 Jose Pablo Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifdef RGB_MATRIX_ENABLE + +#include "rgb_matrix.h" +#include "config_led.h" + +#define NA NO_LED + +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, + { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 }, + { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NA }, + { 41, NA, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, NA }, + { 53, NA, 54, 55, NA, NA, 56, NA, NA, 57, 58, 59, 60, NA } +}, { + { 0 , 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 65, 0 }, { 81, 0 }, { 97 , 0 }, { 113, 0 }, { 129, 0 }, { 145, 0 }, { 161, 0 }, { 178, 0 }, { 194, 0 }, { 218, 0 }, + { 4 , 16 }, { 24, 16 }, { 40, 16 }, { 57, 16 }, { 73, 16 }, { 89, 16 }, { 105, 16 }, { 121, 16 }, { 137, 16 }, { 153, 16 }, { 170, 16 }, { 186, 16 }, { 202, 16 }, { 222, 16 }, + { 6 , 32 }, { 28, 32 }, { 44, 32 }, { 61, 32 }, { 77, 32 }, { 93, 32 }, { 109, 32 }, { 125, 32 }, { 141, 32 }, { 157, 32 }, { 174, 32 }, { 190, 32 }, { 216, 32 }, + { 10, 48 }, { 36, 48 }, { 52, 48 }, { 69, 48 }, { 85, 48 }, { 101, 48 }, { 117, 48 }, { 133, 48 }, { 149, 48 }, { 165, 48 }, { 182, 48 }, { 212, 48 }, + { 2 , 64 }, { 22, 64 }, { 42, 64 }, { 103, 64 }, { 163, 64 }, { 184, 64 }, { 204, 64 }, { 224, 64 }, +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, +} }; +#endif diff --git a/keyboards/annepro2/config_led.h b/keyboards/annepro2/config_led.h new file mode 100644 index 000000000000..19a1dd4baa9e --- /dev/null +++ b/keyboards/annepro2/config_led.h @@ -0,0 +1,72 @@ +/* Copyright 2022 Jose Pablo Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#ifdef RGB_MATRIX_ENABLE + +#define DRIVER_LED_TOTAL 61 + +/* Limit animations to 62.5 FPS to avoid tearing. (1/.016 = 62.5 FPS). */ +#define RGB_MATRIX_LED_FLUSH_LIMIT 16 + +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define ENABLE_RGB_MATRIX_ALPHAS_MODS +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_VAL +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_DUAL_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#define ENABLE_RGB_MATRIX_RAINDROPS +#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define ENABLE_RGB_MATRIX_HUE_BREATHING +#define ENABLE_RGB_MATRIX_HUE_PENDULUM +#define ENABLE_RGB_MATRIX_HUE_WAVE +#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +#define ENABLE_RGB_MATRIX_PIXEL_FLOW +#define ENABLE_RGB_MATRIX_PIXEL_RAIN +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#define ENABLE_RGB_MATRIX_SPLASH +#define ENABLE_RGB_MATRIX_MULTISPLASH +#define ENABLE_RGB_MATRIX_SOLID_SPLASH +#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + +#endif diff --git a/keyboards/annepro2/info.json b/keyboards/annepro2/info.json index 8fd515bd1042..8d6c85b5d11c 100644 --- a/keyboards/annepro2/info.json +++ b/keyboards/annepro2/info.json @@ -3,7 +3,7 @@ "url": "https://openannepro.github.io/", "maintainer": "community", "layouts": { - "LAYOUT": { + "LAYOUT_60_ansi": { "layout": [ { "label": "~", diff --git a/keyboards/annepro2/keymaps/default-full-caps/keymap.c b/keyboards/annepro2/keymaps/default-full-caps/keymap.c index 8ac9211ac431..c87447d311fe 100644 --- a/keyboards/annepro2/keymaps/default-full-caps/keymap.c +++ b/keyboards/annepro2/keymaps/default-full-caps/keymap.c @@ -1,32 +1,31 @@ /* Copyright 2021 OpenAnnePro community - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include QMK_KEYBOARD_H enum anne_pro_layers { - _BASE_LAYER, - _FN1_LAYER, - _FN2_LAYER, + BASE, + FN1, + FN2, }; // clang-format off - // Key symbols are based on QMK. Use them to remap your keyboard /* -* Layer _BASE_LAYER +* Layer BASE * ,-----------------------------------------------------------------------------------------. * | esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bksp | * |-----------------------------------------------------------------------------------------+ @@ -38,7 +37,7 @@ enum anne_pro_layers { * |-----------------------------------------------------------------------------------------+ * | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | * \-----------------------------------------------------------------------------------------/ -* Layer TAP in _BASE_LAYER +* Layer TAP in BASE * ,-----------------------------------------------------------------------------------------. * | | | | | | | | | | | | | | | * |-----------------------------------------------------------------------------------------+ @@ -52,15 +51,15 @@ enum anne_pro_layers { * \-----------------------------------------------------------------------------------------/ */ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE_LAYER] = LAYOUT( /* Base */ - 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_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, - LT(_FN1_LAYER,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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_FN1_LAYER,KC_LEFT), LT(_FN2_LAYER,KC_DOWN), RCTL_T(KC_RGHT) + [BASE] = LAYOUT_60_ansi( /* Base */ + 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_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, + LT(FN1, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(FN1, KC_LEFT), LT(FN2, KC_DOWN), RCTL_T(KC_RGHT) ), /* - * Layer _FN1_LAYER + * Layer FN1 * ,-----------------------------------------------------------------------------------------. * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | * |-----------------------------------------------------------------------------------------+ @@ -74,15 +73,15 @@ enum anne_pro_layers { * \-----------------------------------------------------------------------------------------/ * */ - [_FN1_LAYER] = LAYOUT( /* Base */ - 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, KC_DEL, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, - KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN2_LAYER), KC_TRNS + [FN1] = LAYOUT_60_ansi( /* FN1 */ + 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, KC_DEL, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, + _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, MO(FN2), _______ ), /* - * Layer _FN2_LAYER + * Layer FN2 * ,-----------------------------------------------------------------------------------------. * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | F7 |LEDOF|LEDON| F10 | F11 | F12 | Bksp | * |-----------------------------------------------------------------------------------------+ @@ -96,24 +95,23 @@ enum anne_pro_layers { * \-----------------------------------------------------------------------------------------/ * */ - [_FN2_LAYER] = LAYOUT( /* Base */ - KC_TRNS, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, KC_TRNS, KC_TRNS, KC_TRNS, KC_AP_LED_OFF, KC_AP_LED_ON, KC_AP_LED_NEXT_INTENSITY, KC_AP_LED_SPEED, KC_TRNS, KC_TRNS, - MO(_FN2_LAYER), KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN1_LAYER), MO(_FN2_LAYER), KC_TRNS + [FN2] = LAYOUT_60_ansi( /* FN2 */ + _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, KC_AP_LED_OFF, KC_AP_LED_ON, _______, _______, _______, _______, + MO(FN2), _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______, + _______, _______, _______, _______, _______, MO(FN1), MO(FN2), _______ ), }; - // clang-format on // The function to handle the caps lock logic bool led_update_user(led_t leds) { if (leds.caps_lock) { // Set the leds to red - annepro2LedSetForegroundColor(0xFF, 0x00, 0x00); + ap2_led_set_foreground_color(0xFF, 0x00, 0x00); } else { - annepro2LedResetForegroundColor(); + ap2_led_reset_foreground_color(); } return true; diff --git a/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c b/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c index ac2b421d06f4..405769466a94 100644 --- a/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c +++ b/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c @@ -1,32 +1,31 @@ /* Copyright 2021 OpenAnnePro community - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include QMK_KEYBOARD_H enum anne_pro_layers { - _BASE_LAYER, - _FN1_LAYER, - _FN2_LAYER, + BASE, + FN1, + FN2, }; // clang-format off - // Key symbols are based on QMK. Use them to remap your keyboard /* -* Layer _BASE_LAYER +* Layer BASE * ,-----------------------------------------------------------------------------------------. * | esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bksp | * |-----------------------------------------------------------------------------------------+ @@ -38,7 +37,7 @@ enum anne_pro_layers { * |-----------------------------------------------------------------------------------------+ * | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | * \-----------------------------------------------------------------------------------------/ -* Layer TAP in _BASE_LAYER +* Layer TAP in BASE * ,-----------------------------------------------------------------------------------------. * | | | | | | | | | | | | | | | * |-----------------------------------------------------------------------------------------+ @@ -52,15 +51,15 @@ enum anne_pro_layers { * \-----------------------------------------------------------------------------------------/ */ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE_LAYER] = LAYOUT( /* Base */ - 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_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, - LT(_FN1_LAYER,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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_FN1_LAYER,KC_LEFT), LT(_FN2_LAYER,KC_DOWN), RCTL_T(KC_RGHT) + [BASE] = LAYOUT_60_ansi( /* Base */ + 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_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, + LT(FN1, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(FN1, KC_LEFT), LT(FN2, KC_DOWN), RCTL_T(KC_RGHT) ), /* - * Layer _FN1_LAYER + * Layer FN1 * ,-----------------------------------------------------------------------------------------. * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | * |-----------------------------------------------------------------------------------------+ @@ -74,15 +73,15 @@ enum anne_pro_layers { * \-----------------------------------------------------------------------------------------/ * */ - [_FN1_LAYER] = LAYOUT( /* Base */ - 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, KC_DEL, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, - KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN2_LAYER), KC_TRNS + [FN1] = LAYOUT_60_ansi( /* FN1 */ + 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, KC_DEL, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, + _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, MO(FN2), _______ ), /* - * Layer _FN2_LAYER + * Layer FN2 * ,-----------------------------------------------------------------------------------------. * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | F7 |LEDOF|LEDON| F10 | F11 | F12 | Bksp | * |-----------------------------------------------------------------------------------------+ @@ -96,30 +95,29 @@ enum anne_pro_layers { * \-----------------------------------------------------------------------------------------/ * */ - [_FN2_LAYER] = LAYOUT( /* Base */ - KC_TRNS, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, KC_TRNS, KC_TRNS, KC_TRNS, KC_AP_LED_OFF, KC_AP_LED_ON, KC_AP_LED_NEXT_INTENSITY, KC_AP_LED_SPEED, KC_TRNS, KC_TRNS, - MO(_FN2_LAYER), KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN1_LAYER), MO(_FN2_LAYER), KC_TRNS + [FN2] = LAYOUT_60_ansi( /* FN2 */ + _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, KC_AP_LED_OFF, KC_AP_LED_ON, _______, _______, _______, _______, + MO(FN2), _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______, + _______, _______, _______, _______, _______, MO(FN1), MO(FN2), _______ ), }; - // clang-format on layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(state)) { - case _FN1_LAYER: + case FN1: // Set the leds to green - annepro2LedSetForegroundColor(0x00, 0xFF, 0x00); + ap2_led_set_foreground_color(0x00, 0xFF, 0x00); break; - case _FN2_LAYER: + case FN2: // Set the leds to blue - annepro2LedSetForegroundColor(0x00, 0x00, 0xFF); + ap2_led_set_foreground_color(0x00, 0x00, 0xFF); break; default: // Reset back to the current profile - annepro2LedResetForegroundColor(); + ap2_led_reset_foreground_color(); break; } return state; @@ -130,16 +128,16 @@ layer_state_t layer_state_set_user(layer_state_t state) { bool led_update_user(led_t leds) { if (leds.caps_lock) { // Set the caps-lock to red - const annepro2Led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0xff}; + const ap2_led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0xff}; - annepro2LedMaskSetKey(2, 0, color); + ap2_led_mask_set_key(2, 0, color); /* NOTE: Instead of colouring the capslock only, you can change the whole - keyboard with annepro2LedSetForegroundColor */ + keyboard with ap2_led_set_foreground_color */ } else { // Reset the capslock if there is no layer active - if (!layer_state_is(_FN1_LAYER) && !layer_state_is(_FN2_LAYER)) { - const annepro2Led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0x00}; - annepro2LedMaskSetKey(2, 0, color); + if (!layer_state_is(FN1) && !layer_state_is(FN2)) { + const ap2_led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0x00}; + ap2_led_mask_set_key(2, 0, color); } } diff --git a/keyboards/annepro2/keymaps/default/keymap.c b/keyboards/annepro2/keymaps/default/keymap.c index a984b05830b2..8f5b639bb8c1 100644 --- a/keyboards/annepro2/keymaps/default/keymap.c +++ b/keyboards/annepro2/keymaps/default/keymap.c @@ -1,31 +1,31 @@ /* Copyright 2021 OpenAnnePro community - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include QMK_KEYBOARD_H enum anne_pro_layers { - _BASE_LAYER, - _FN1_LAYER, - _FN2_LAYER, + BASE, + FN1, + FN2, }; // clang-format off // Key symbols are based on QMK. Use them to remap your keyboard /* -* Layer _BASE_LAYER +* Layer BASE * ,-----------------------------------------------------------------------------------------. * | esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bksp | * |-----------------------------------------------------------------------------------------+ @@ -37,7 +37,7 @@ enum anne_pro_layers { * |-----------------------------------------------------------------------------------------+ * | Ctrl | L1 | Alt | space | Alt | FN1 | FN2 | Ctrl | * \-----------------------------------------------------------------------------------------/ -* Layer TAP in _BASE_LAYER +* Layer TAP in BASE * ,-----------------------------------------------------------------------------------------. * | | | | | | | | | | | | | | | * |-----------------------------------------------------------------------------------------+ @@ -51,15 +51,15 @@ enum anne_pro_layers { * \-----------------------------------------------------------------------------------------/ */ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE_LAYER] = LAYOUT( /* Base */ - 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_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, - LT(_FN1_LAYER,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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_FN1_LAYER,KC_LEFT), LT(_FN2_LAYER,KC_DOWN), RCTL_T(KC_RGHT) + [BASE] = LAYOUT_60_ansi( /* Base */ + 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_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, + LT(FN1, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(FN1, KC_LEFT), LT(FN2, KC_DOWN), RCTL_T(KC_RGHT) ), /* - * Layer _FN1_LAYER + * Layer FN1 * ,-----------------------------------------------------------------------------------------. * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | * |-----------------------------------------------------------------------------------------+ @@ -73,17 +73,17 @@ enum anne_pro_layers { * \-----------------------------------------------------------------------------------------/ * */ - [_FN1_LAYER] = LAYOUT( /* Base */ - 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, KC_DEL, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, - KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN2_LAYER), KC_TRNS + [FN1] = LAYOUT_60_ansi( /* FN1 */ + 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, KC_DEL, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, + _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, MO(FN2), _______ ), /* - * Layer _FN2_LAYER + * Layer FN2 * ,-----------------------------------------------------------------------------------------. - * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | F7 |LEDOF|LEDON| F10 | F11 | F12 | Bksp | + * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | HUE | SAT | BRI | SPD | MOD | TOG | Bksp | * |-----------------------------------------------------------------------------------------+ * | Tab | q | UP | e | r | t | y | u | i | o | PS | HOME | END | \ | * |-----------------------------------------------------------------------------------------+ @@ -95,12 +95,12 @@ enum anne_pro_layers { * \-----------------------------------------------------------------------------------------/ * */ - [_FN2_LAYER] = LAYOUT( /* Base */ - KC_TRNS, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, KC_TRNS, KC_TRNS, KC_TRNS, KC_AP_LED_OFF, KC_AP_LED_ON, KC_AP_LED_NEXT_INTENSITY, KC_AP_LED_SPEED, KC_TRNS, KC_TRNS, - MO(_FN2_LAYER), KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN1_LAYER), MO(_FN2_LAYER), KC_TRNS + [FN2] = LAYOUT_60_ansi( /* FN2 */ + _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, RGB_TOG, _______, + MO(FN2), _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______, + _______, _______, _______, _______, _______, MO(FN1), MO(FN2), _______ ), }; // clang-format on diff --git a/keyboards/annepro2/keymaps/default/rules.mk b/keyboards/annepro2/keymaps/default/rules.mk new file mode 100644 index 000000000000..ca1110b8357f --- /dev/null +++ b/keyboards/annepro2/keymaps/default/rules.mk @@ -0,0 +1,3 @@ +# Custom RGB matrix handling +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = custom diff --git a/keyboards/annepro2/protocol.c b/keyboards/annepro2/protocol.c index 171ac5c23955..ff30658cd73d 100644 --- a/keyboards/annepro2/protocol.c +++ b/keyboards/annepro2/protocol.c @@ -20,38 +20,38 @@ /* UART communication protocol state */ protocol_t proto; -void protoInit(protocol_t *proto, void (*callback)(const message_t *)) { - proto->previousId = 0; +void proto_init(protocol_t *proto, void (*callback)(const message_t *)) { + proto->previous_id = 0; proto->callback = callback; proto->state = STATE_SYNC_1; proto->errors = 0; } -static uint8_t msgId = 0; -void protoTx(uint8_t cmd, const unsigned char *buf, int payloadSize, int retries) { - chDbgCheck(payloadSize <= MAX_PAYLOAD_SIZE); +static uint8_t msg_id = 0; +void proto_tx(uint8_t cmd, const unsigned char *buf, int payload_size, int retries) { + chDbgCheck(payload_size <= MAX_PAYLOAD_SIZE); const uint8_t header[5] = { - 0x7A, 0x1D, cmd, ++msgId, payloadSize, + 0x7A, 0x1D, cmd, ++msg_id, payload_size, }; /* We don't implement ACKs, yet some messages should not be lost. */ for (int i = 0; i < retries; i++) { sdWrite(&PROTOCOL_SD, header, sizeof(header)); - if (payloadSize) sdWrite(&PROTOCOL_SD, buf, payloadSize); + if (payload_size) sdWrite(&PROTOCOL_SD, buf, payload_size); } } static inline void messageReceived(protocol_t *proto) { - if (proto->buffer.msgId != proto->previousId) { + if (proto->buffer.msg_id != proto->previous_id) { /* It's not a resend / duplicate */ proto->callback(&proto->buffer); - proto->previousId = proto->buffer.msgId; + proto->previous_id = proto->buffer.msg_id; } proto->state = STATE_SYNC_1; } -void protoConsume(protocol_t *proto, uint8_t byte) { +void proto_consume(protocol_t *proto, uint8_t byte) { switch (proto->state) { case STATE_SYNC_1: if (byte == 0x7A) { @@ -76,18 +76,18 @@ void protoConsume(protocol_t *proto, uint8_t byte) { return; case STATE_ID: - proto->buffer.msgId = byte; + proto->buffer.msg_id = byte; proto->state = STATE_PAYLOAD_SIZE; return; case STATE_PAYLOAD_SIZE: - proto->buffer.payloadSize = byte; - if (proto->buffer.payloadSize > MAX_PAYLOAD_SIZE) { - proto->buffer.payloadSize = MAX_PAYLOAD_SIZE; + proto->buffer.payload_size = byte; + if (proto->buffer.payload_size > MAX_PAYLOAD_SIZE) { + proto->buffer.payload_size = MAX_PAYLOAD_SIZE; proto->errors++; } - proto->payloadPosition = 0; - if (proto->buffer.payloadSize == 0) { + proto->payload_position = 0; + if (proto->buffer.payload_size == 0) { /* No payload - whole message received */ messageReceived(proto); } else { @@ -98,9 +98,9 @@ void protoConsume(protocol_t *proto, uint8_t byte) { case STATE_PAYLOAD: /* NOTE: This could be read with sdReadTimeout probably, but that breaks * abstraction */ - proto->buffer.payload[proto->payloadPosition] = byte; - proto->payloadPosition++; - if (proto->payloadPosition == proto->buffer.payloadSize) { + proto->buffer.payload[proto->payload_position] = byte; + proto->payload_position++; + if (proto->payload_position == proto->buffer.payload_size) { /* Payload read - message received */ messageReceived(proto); } @@ -108,7 +108,7 @@ void protoConsume(protocol_t *proto, uint8_t byte) { } } -void protoSilence(protocol_t *proto) { +void proto_silence(protocol_t *proto) { if (proto->state != STATE_SYNC_1) { proto->state = STATE_SYNC_1; proto->errors++; diff --git a/keyboards/annepro2/protocol.h b/keyboards/annepro2/protocol.h index d1a05683c87b..208fcd806cf0 100644 --- a/keyboards/annepro2/protocol.h +++ b/keyboards/annepro2/protocol.h @@ -55,7 +55,7 @@ enum { #define MAX_PAYLOAD_SIZE 64 /** Enum of the states used for the serial protocol finite-state automaton */ -enum protoState { +enum proto_state { /* 2-byte initial start-of-message sync */ STATE_SYNC_1, STATE_SYNC_2, @@ -65,15 +65,15 @@ enum protoState { STATE_ID, /* Waiting for payload size */ STATE_PAYLOAD_SIZE, - /* Reading payload until payloadPosition == payloadSize */ + /* Reading payload until payload_position == payload_size */ STATE_PAYLOAD, }; /* Buffer holding a single message */ typedef struct { uint8_t command; - uint8_t msgId; - uint8_t payloadSize; + uint8_t msg_id; + uint8_t payload_size; uint8_t payload[MAX_PAYLOAD_SIZE]; } message_t; @@ -83,12 +83,12 @@ typedef struct { void (*callback)(const message_t *); /* Number of read payload bytes */ - uint8_t payloadPosition; + uint8_t payload_position; /* Current finite-state-automata state */ - enum protoState state; + enum proto_state state; - uint8_t previousId; + uint8_t previous_id; uint8_t errors; /* Currently received message */ @@ -99,13 +99,13 @@ typedef struct { extern protocol_t proto; /* Init state */ -extern void protoInit(protocol_t *proto, void (*callback)(const message_t *)); +extern void proto_init(protocol_t *proto, void (*callback)(const message_t *)); /* Consume one byte and push state forward - might call the callback */ -extern void protoConsume(protocol_t *proto, uint8_t byte); +extern void proto_consume(protocol_t *proto, uint8_t byte); /* Prolonged silence - reset state */ -extern void protoSilence(protocol_t *proto); +extern void proto_silence(protocol_t *proto); /* Transmit message */ -extern void protoTx(uint8_t cmd, const unsigned char *buf, int payloadSize, int retries); +extern void proto_tx(uint8_t cmd, const unsigned char *buf, int payload_size, int retries); diff --git a/keyboards/annepro2/rgb_driver.c b/keyboards/annepro2/rgb_driver.c new file mode 100644 index 000000000000..240a5f4e5b5c --- /dev/null +++ b/keyboards/annepro2/rgb_driver.c @@ -0,0 +1,66 @@ +/* Copyright 2022 Jose Pablo Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifdef RGB_MATRIX_ENABLE + +#include "rgb_matrix.h" +#include "ap2_led.h" + +uint8_t led_pos[DRIVER_LED_TOTAL]; + +void init(void) { + unsigned int i = 0; + for (unsigned int y = 0; y < NUM_ROW; y++) { + for (unsigned int x = 0; x < NUM_COLUMN; x++) { + if (g_led_config.matrix_co[y][x] != NO_LED) { + led_pos[g_led_config.matrix_co[y][x]] = i; + } + i++; + } + } +} + +void flush(void) {} + +void set_color(int index, uint8_t r, uint8_t g, uint8_t b) { + if (r != led_mask[led_pos[index]].p.red || + g != led_mask[led_pos[index]].p.green || + b != led_mask[led_pos[index]].p.blue) + { + led_mask[led_pos[index]] = (ap2_led_t){ + .p.blue = b, + .p.red = r, + .p.green = g, + .p.alpha = 0xff, + }; + int row = led_pos[index] / NUM_COLUMN; + rgb_row_changed[row] = 1; + } +} + +void set_color_all(uint8_t r, uint8_t g, uint8_t b) { + for (int i=0; i Date: Wed, 9 Mar 2022 19:29:00 +1100 Subject: [PATCH 0338/1832] Add support for encoder mapping. (#13286) --- builddefs/generic_features.mk | 1 + builddefs/show_options.mk | 1 + docs/feature_encoders.md | 23 ++++++++- docs/feature_swap_hands.md | 13 +++++ keyboards/hnahkb/vn66/rules.mk | 1 + lib/python/qmk/cli/pytest.py | 3 +- quantum/action.c | 65 +++++++++++++++++++----- quantum/action_layer.c | 67 +++++++++++++++++++------ quantum/dynamic_keymap.c | 50 ++++++++++++++++-- quantum/dynamic_keymap.h | 6 ++- quantum/encoder.c | 30 +++++++++++ quantum/encoder.h | 6 +++ quantum/keyboard.h | 36 ++++++++++--- quantum/keymap.h | 6 +++ quantum/keymap_common.c | 13 ++++- quantum/process_keycode/process_combo.c | 11 +--- 16 files changed, 279 insertions(+), 53 deletions(-) diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index e4151eb21791..53d4e16fd42b 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -25,6 +25,7 @@ GENERIC_FEATURES = \ DYNAMIC_KEYMAP \ DYNAMIC_MACRO \ ENCODER \ + ENCODER_MAP \ GRAVE_ESC \ HAPTIC \ KEY_LOCK \ diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk index 2820332d56bd..b30399a56ca1 100644 --- a/builddefs/show_options.mk +++ b/builddefs/show_options.mk @@ -57,6 +57,7 @@ OTHER_OPTION_NAMES = \ HELIX ZINC \ AUTOLOG_ENABLE \ DEBUG_ENABLE \ + ENCODER_MAP_ENABLE \ ENCODER_ENABLE_CUSTOM \ GERMAN_ENABLE \ HAPTIC_ENABLE \ diff --git a/docs/feature_encoders.md b/docs/feature_encoders.md index f71c7e73259f..a3d56fd5effa 100644 --- a/docs/feature_encoders.md +++ b/docs/feature_encoders.md @@ -67,9 +67,30 @@ Additionally, if one side does not have an encoder, you can specify `{}` for the #define ENCODER_RESOLUTIONS_RIGHT { 4 } ``` +## Encoder map + +Encoder mapping may be added to your `keymap.c`, which replicates the normal keyswitch layer handling functionality, but with encoders. Add this to your `rules.mk`: + +```make +ENCODER_MAP_ENABLE = yes +``` + +Your `keymap.c` will then need an encoder mapping defined (for four layers and two encoders): + +```c +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_BASE] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, +}; +#endif +``` + ## Callbacks -The callback functions can be inserted into your `.c`: +When not using `ENCODER_MAP_ENABLE = yes`, the callback functions can be inserted into your `.c`: ```c bool encoder_update_kb(uint8_t index, bool clockwise) { diff --git a/docs/feature_swap_hands.md b/docs/feature_swap_hands.md index 654108ae7068..6768020f124a 100644 --- a/docs/feature_swap_hands.md +++ b/docs/feature_swap_hands.md @@ -31,3 +31,16 @@ Note that the array indices are reversed same as the matrix and the values are o |`SH_OS` |One shot swap hands: toggles while pressed or until next key press. | `SH_TT` swap-hands tap-toggle key is similar to [layer tap-toggle](feature_layers.md?id=switching-and-toggling-layers). Tapping repeatedly (5 taps by default) will toggle swap-hands on or off, like `SH_TG`. Tap-toggle count can be changed by defining a value for `TAPPING_TOGGLE`. + +## Encoder Mapping + +When using an encoder mapping, it's also able to handle swapping encoders between sides, too. + +Encoder indexes are defined as left-to-right, and the extent of the array needs to match the number of encoders on the keyboard. + +As an example, if a split keyboard has a single encoder per side, you can swap the order by using the following code in your keymap: +```c +#if defined(SWAP_HANDS_ENABLE) && defined(ENCODER_MAP_ENABLE) +const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = { 1, 0 }; +#endif +``` diff --git a/keyboards/hnahkb/vn66/rules.mk b/keyboards/hnahkb/vn66/rules.mk index f1c1ec985e49..542b79b4d855 100644 --- a/keyboards/hnahkb/vn66/rules.mk +++ b/keyboards/hnahkb/vn66/rules.mk @@ -17,5 +17,6 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes +LTO_ENABLE = yes LAYOUTS = 66_ansi 66_iso diff --git a/lib/python/qmk/cli/pytest.py b/lib/python/qmk/cli/pytest.py index b7b17f0e9da4..5c9c173caa2b 100644 --- a/lib/python/qmk/cli/pytest.py +++ b/lib/python/qmk/cli/pytest.py @@ -12,8 +12,7 @@ def pytest(cli): """Run several linting/testing commands. """ - nose2 = cli.run(['nose2', '-v', '-t' - 'lib/python', *cli.args.test], capture_output=False, stdin=DEVNULL) + nose2 = cli.run(['nose2', '-v', '-t', 'lib/python', *cli.args.test], capture_output=False, stdin=DEVNULL) flake8 = cli.run(['flake8', 'lib/python'], capture_output=False, stdin=DEVNULL) return flake8.returncode | nose2.returncode diff --git a/quantum/action.c b/quantum/action.c index 3efed443a30d..487218777e90 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -14,9 +14,11 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#include #include "host.h" #include "keycode.h" #include "keyboard.h" +#include "keymap.h" #include "mousekey.h" #include "programmable_button.h" #include "command.h" @@ -89,6 +91,7 @@ void action_exec(keyevent_t event) { } #ifdef SWAP_HANDS_ENABLE + // Swap hands handles both keys and encoders, if ENCODER_MAP_ENABLE is defined. if (!IS_NOEVENT(event)) { process_hand_swap(&event); } @@ -136,27 +139,65 @@ void action_exec(keyevent_t event) { } #ifdef SWAP_HANDS_ENABLE +extern const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS]; +# ifdef ENCODER_MAP_ENABLE +extern const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS]; +# endif // ENCODER_MAP_ENABLE + bool swap_hands = false; bool swap_held = false; +bool should_swap_hands(size_t index, uint8_t *swap_state, bool pressed) { + size_t array_index = index / (CHAR_BIT); + size_t bit_index = index % (CHAR_BIT); + uint8_t bit_val = 1 << bit_index; + bool do_swap = pressed ? swap_hands : swap_state[array_index] & bit_val; + return do_swap; +} + +void set_swap_hands_state(size_t index, uint8_t *swap_state, bool on) { + size_t array_index = index / (CHAR_BIT); + size_t bit_index = index % (CHAR_BIT); + uint8_t bit_val = 1 << bit_index; + if (on) { + swap_state[array_index] |= bit_val; + } else { + swap_state[array_index] &= ~bit_val; + } +} + /** \brief Process Hand Swap * * FIXME: Needs documentation. */ void process_hand_swap(keyevent_t *event) { - static swap_state_row_t swap_state[MATRIX_ROWS]; - - keypos_t pos = event->key; - swap_state_row_t col_bit = (swap_state_row_t)1 << pos.col; - bool do_swap = event->pressed ? swap_hands : swap_state[pos.row] & (col_bit); - - if (do_swap) { - event->key.row = pgm_read_byte(&hand_swap_config[pos.row][pos.col].row); - event->key.col = pgm_read_byte(&hand_swap_config[pos.row][pos.col].col); - swap_state[pos.row] |= col_bit; - } else { - swap_state[pos.row] &= ~(col_bit); + keypos_t pos = event->key; + if (pos.row < MATRIX_ROWS && pos.col < MATRIX_COLS) { + static uint8_t matrix_swap_state[((MATRIX_ROWS * MATRIX_COLS) + (CHAR_BIT)-1) / (CHAR_BIT)]; + size_t index = (size_t)(pos.row * MATRIX_COLS) + pos.col; + bool do_swap = should_swap_hands(index, matrix_swap_state, event->pressed); + if (do_swap) { + event->key.row = pgm_read_byte(&hand_swap_config[pos.row][pos.col].row); + event->key.col = pgm_read_byte(&hand_swap_config[pos.row][pos.col].col); + set_swap_hands_state(index, matrix_swap_state, true); + } else { + set_swap_hands_state(index, matrix_swap_state, false); + } + } +# ifdef ENCODER_MAP_ENABLE + else if (pos.row == KEYLOC_ENCODER_CW || pos.row == KEYLOC_ENCODER_CCW) { + static uint8_t encoder_swap_state[((NUM_ENCODERS) + (CHAR_BIT)-1) / (CHAR_BIT)]; + size_t index = pos.col; + bool do_swap = should_swap_hands(index, encoder_swap_state, event->pressed); + if (do_swap) { + event->key.row = pos.row; + event->key.col = pgm_read_byte(&encoder_hand_swap_config[pos.col]); + set_swap_hands_state(index, encoder_swap_state, true); + } else { + set_swap_hands_state(index, encoder_swap_state, false); + } } +# endif // ENCODER_MAP_ENABLE } #endif diff --git a/quantum/action_layer.c b/quantum/action_layer.c index e20eedee404b..4d2921354b01 100644 --- a/quantum/action_layer.c +++ b/quantum/action_layer.c @@ -1,5 +1,7 @@ +#include #include #include "keyboard.h" +#include "keymap.h" #include "action.h" #include "util.h" #include "action_layer.h" @@ -223,19 +225,20 @@ void layer_debug(void) { /** \brief source layer cache */ -uint8_t source_layers_cache[(MATRIX_ROWS * MATRIX_COLS + 7) / 8][MAX_LAYER_BITS] = {{0}}; +uint8_t source_layers_cache[((MATRIX_ROWS * MATRIX_COLS) + (CHAR_BIT)-1) / (CHAR_BIT)][MAX_LAYER_BITS] = {{0}}; +# ifdef ENCODER_MAP_ENABLE +uint8_t encoder_source_layers_cache[(NUM_ENCODERS + (CHAR_BIT)-1) / (CHAR_BIT)][MAX_LAYER_BITS] = {{0}}; +# endif // ENCODER_MAP_ENABLE -/** \brief update source layers cache +/** \brief update source layers cache impl * - * Updates the cached keys when changing layers + * Updates the supplied cache when changing layers */ -void update_source_layers_cache(keypos_t key, uint8_t layer) { - const uint8_t key_number = key.col + (key.row * MATRIX_COLS); - const uint8_t storage_row = key_number / 8; - const uint8_t storage_bit = key_number % 8; - +void update_source_layers_cache_impl(uint8_t layer, uint16_t entry_number, uint8_t cache[][MAX_LAYER_BITS]) { + const uint16_t storage_idx = entry_number / (CHAR_BIT); + const uint8_t storage_bit = entry_number % (CHAR_BIT); for (uint8_t bit_number = 0; bit_number < MAX_LAYER_BITS; bit_number++) { - source_layers_cache[storage_row][bit_number] ^= (-((layer & (1U << bit_number)) != 0) ^ source_layers_cache[storage_row][bit_number]) & (1U << storage_bit); + cache[storage_idx][bit_number] ^= (-((layer & (1U << bit_number)) != 0) ^ cache[storage_idx][bit_number]) & (1U << storage_bit); } } @@ -243,18 +246,52 @@ void update_source_layers_cache(keypos_t key, uint8_t layer) { * * reads the cached keys stored when the layer was changed */ -uint8_t read_source_layers_cache(keypos_t key) { - const uint8_t key_number = key.col + (key.row * MATRIX_COLS); - const uint8_t storage_row = key_number / 8; - const uint8_t storage_bit = key_number % 8; - uint8_t layer = 0; +uint8_t read_source_layers_cache_impl(uint16_t entry_number, uint8_t cache[][MAX_LAYER_BITS]) { + const uint16_t storage_idx = entry_number / (CHAR_BIT); + const uint8_t storage_bit = entry_number % (CHAR_BIT); + uint8_t layer = 0; for (uint8_t bit_number = 0; bit_number < MAX_LAYER_BITS; bit_number++) { - layer |= ((source_layers_cache[storage_row][bit_number] & (1U << storage_bit)) != 0) << bit_number; + layer |= ((cache[storage_idx][bit_number] & (1U << storage_bit)) != 0) << bit_number; } return layer; } + +/** \brief update encoder source layers cache + * + * Updates the cached encoders when changing layers + */ +void update_source_layers_cache(keypos_t key, uint8_t layer) { + if (key.row < MATRIX_ROWS && key.col < MATRIX_COLS) { + const uint16_t entry_number = (uint16_t)(key.row * MATRIX_COLS) + key.col; + update_source_layers_cache_impl(layer, entry_number, source_layers_cache); + } +# ifdef ENCODER_MAP_ENABLE + else if (key.row == KEYLOC_ENCODER_CW || key.row == KEYLOC_ENCODER_CCW) { + const uint16_t entry_number = key.col; + update_source_layers_cache_impl(layer, entry_number, encoder_source_layers_cache); + } +# endif // ENCODER_MAP_ENABLE +} + +/** \brief read source layers cache + * + * reads the cached keys stored when the layer was changed + */ +uint8_t read_source_layers_cache(keypos_t key) { + if (key.row < MATRIX_ROWS && key.col < MATRIX_COLS) { + const uint16_t entry_number = (uint16_t)(key.row * MATRIX_COLS) + key.col; + return read_source_layers_cache_impl(entry_number, source_layers_cache); + } +# ifdef ENCODER_MAP_ENABLE + else if (key.row == KEYLOC_ENCODER_CW || key.row == KEYLOC_ENCODER_CCW) { + const uint16_t entry_number = key.col; + return read_source_layers_cache_impl(entry_number, encoder_source_layers_cache); + } +# endif // ENCODER_MAP_ENABLE + return 0; +} #endif /** \brief Store or get action (FIXME: Needs better summary) diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c index f070375ff3c2..c0859ca35f29 100644 --- a/quantum/dynamic_keymap.c +++ b/quantum/dynamic_keymap.c @@ -58,9 +58,14 @@ # endif #endif -// Dynamic macro starts after dynamic keymaps +// Dynamic encoders starts after dynamic keymaps +#ifndef DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR +# define DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR (DYNAMIC_KEYMAP_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2)) +#endif + +// Dynamic macro starts after dynamic encoders #ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR -# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2)) +# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * NUM_ENCODERS * 2 * 2)) #endif // Sanity check that dynamic keymaps fit in available EEPROM @@ -89,6 +94,7 @@ void *dynamic_keymap_key_to_eeprom_address(uint8_t layer, uint8_t row, uint8_t c } uint16_t dynamic_keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t column) { + if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return KC_NO; void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column); // Big endian, so we can read/write EEPROM directly from host if we want uint16_t keycode = eeprom_read_byte(address) << 8; @@ -97,12 +103,36 @@ uint16_t dynamic_keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t column) } void dynamic_keymap_set_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode) { + if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return; void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column); // Big endian, so we can read/write EEPROM directly from host if we want eeprom_update_byte(address, (uint8_t)(keycode >> 8)); eeprom_update_byte(address + 1, (uint8_t)(keycode & 0xFF)); } +#ifdef ENCODER_MAP_ENABLE +void *dynamic_keymap_encoder_to_eeprom_address(uint8_t layer, uint8_t encoder_id) { + return ((void *)DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR) + (layer * NUM_ENCODERS * 2 * 2) + (encoder_id * 2 * 2); +} + +uint16_t dynamic_keymap_get_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise) { + if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || encoder_id >= NUM_ENCODERS) return KC_NO; + void *address = dynamic_keymap_encoder_to_eeprom_address(layer, encoder_id); + // Big endian, so we can read/write EEPROM directly from host if we want + uint16_t keycode = ((uint16_t)eeprom_read_byte(address + (clockwise ? 0 : 2))) << 8; + keycode |= eeprom_read_byte(address + (clockwise ? 0 : 2) + 1); + return keycode; +} + +void dynamic_keymap_set_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise, uint16_t keycode) { + if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || encoder_id >= NUM_ENCODERS) return; + void *address = dynamic_keymap_encoder_to_eeprom_address(layer, encoder_id); + // Big endian, so we can read/write EEPROM directly from host if we want + eeprom_update_byte(address + (clockwise ? 0 : 2), (uint8_t)(keycode >> 8)); + eeprom_update_byte(address + (clockwise ? 0 : 2) + 1, (uint8_t)(keycode & 0xFF)); +} +#endif // ENCODER_MAP_ENABLE + void dynamic_keymap_reset(void) { // Reset the keymaps in EEPROM to what is in flash. // All keyboards using dynamic keymaps should define a layout @@ -113,6 +143,12 @@ void dynamic_keymap_reset(void) { dynamic_keymap_set_keycode(layer, row, column, pgm_read_word(&keymaps[layer][row][column])); } } +#ifdef ENCODER_MAP_ENABLE + for (int encoder = 0; encoder < NUM_ENCODERS; encoder++) { + dynamic_keymap_set_encoder(layer, encoder, true, pgm_read_word(&encoder_map[layer][encoder][0])); + dynamic_keymap_set_encoder(layer, encoder, false, pgm_read_word(&encoder_map[layer][encoder][1])); + } +#endif // ENCODER_MAP_ENABLE } } @@ -148,9 +184,15 @@ void dynamic_keymap_set_buffer(uint16_t offset, uint16_t size, uint8_t *data) { uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key) { if (layer < DYNAMIC_KEYMAP_LAYER_COUNT && key.row < MATRIX_ROWS && key.col < MATRIX_COLS) { return dynamic_keymap_get_keycode(layer, key.row, key.col); - } else { - return KC_NO; } +#ifdef ENCODER_MAP_ENABLE + else if (layer < DYNAMIC_KEYMAP_LAYER_COUNT && key.row == KEYLOC_ENCODER_CW && key.col < NUM_ENCODERS) { + return dynamic_keymap_get_encoder(layer, key.col, true); + } else if (layer < DYNAMIC_KEYMAP_LAYER_COUNT && key.row == KEYLOC_ENCODER_CCW && key.col < NUM_ENCODERS) { + return dynamic_keymap_get_encoder(layer, key.col, false); + } +#endif // ENCODER_MAP_ENABLE + return KC_NO; } uint8_t dynamic_keymap_macro_get_count(void) { diff --git a/quantum/dynamic_keymap.h b/quantum/dynamic_keymap.h index 55676172b6e5..459b48d07a40 100644 --- a/quantum/dynamic_keymap.h +++ b/quantum/dynamic_keymap.h @@ -22,7 +22,11 @@ uint8_t dynamic_keymap_get_layer_count(void); void * dynamic_keymap_key_to_eeprom_address(uint8_t layer, uint8_t row, uint8_t column); uint16_t dynamic_keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t column); void dynamic_keymap_set_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode); -void dynamic_keymap_reset(void); +#ifdef ENCODER_MAP_ENABLE +uint16_t dynamic_keymap_get_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise); +void dynamic_keymap_set_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise, uint16_t keycode); +#endif // ENCODER_MAP_ENABLE +void dynamic_keymap_reset(void); // These get/set the keycodes as stored in the EEPROM buffer // Data is big-endian 16-bit values (the keycodes) // Order is by layer/row/column diff --git a/quantum/encoder.c b/quantum/encoder.c index 0a3d6f577c38..105bed0147b0 100644 --- a/quantum/encoder.c +++ b/quantum/encoder.c @@ -23,6 +23,10 @@ // for memcpy #include +#ifndef ENCODER_MAP_KEY_DELAY +# define ENCODER_MAP_KEY_DELAY 2 +#endif + #if !defined(ENCODER_RESOLUTIONS) && !defined(ENCODER_RESOLUTION) # define ENCODER_RESOLUTION 4 #endif @@ -135,6 +139,16 @@ void encoder_init(void) { } } +#ifdef ENCODER_MAP_ENABLE +static void encoder_exec_mapping(uint8_t index, bool clockwise) { + // The delays below cater for Windows and its wonderful requirements. + action_exec(clockwise ? ENCODER_CW_EVENT(index, true) : ENCODER_CCW_EVENT(index, true)); + wait_ms(ENCODER_MAP_KEY_DELAY); + action_exec(clockwise ? ENCODER_CW_EVENT(index, false) : ENCODER_CCW_EVENT(index, false)); + wait_ms(ENCODER_MAP_KEY_DELAY); +} +#endif // ENCODER_MAP_ENABLE + static bool encoder_update(uint8_t index, uint8_t state) { bool changed = false; uint8_t i = index; @@ -152,12 +166,20 @@ static bool encoder_update(uint8_t index, uint8_t state) { if (encoder_pulses[i] >= resolution) { encoder_value[index]++; changed = true; +#ifdef ENCODER_MAP_ENABLE + encoder_exec_mapping(index, ENCODER_COUNTER_CLOCKWISE); +#else // ENCODER_MAP_ENABLE encoder_update_kb(index, ENCODER_COUNTER_CLOCKWISE); +#endif // ENCODER_MAP_ENABLE } if (encoder_pulses[i] <= -resolution) { // direction is arbitrary here, but this clockwise encoder_value[index]--; changed = true; +#ifdef ENCODER_MAP_ENABLE + encoder_exec_mapping(index, ENCODER_CLOCKWISE); +#else // ENCODER_MAP_ENABLE encoder_update_kb(index, ENCODER_CLOCKWISE); +#endif // ENCODER_MAP_ENABLE } encoder_pulses[i] %= resolution; #ifdef ENCODER_DEFAULT_POS @@ -197,13 +219,21 @@ void encoder_update_raw(uint8_t *slave_state) { delta--; encoder_value[index]++; changed = true; +# ifdef ENCODER_MAP_ENABLE + encoder_exec_mapping(index, ENCODER_COUNTER_CLOCKWISE); +# else // ENCODER_MAP_ENABLE encoder_update_kb(index, ENCODER_COUNTER_CLOCKWISE); +# endif // ENCODER_MAP_ENABLE } while (delta < 0) { delta++; encoder_value[index]--; changed = true; +# ifdef ENCODER_MAP_ENABLE + encoder_exec_mapping(index, ENCODER_CLOCKWISE); +# else // ENCODER_MAP_ENABLE encoder_update_kb(index, ENCODER_CLOCKWISE); +# endif // ENCODER_MAP_ENABLE } } diff --git a/quantum/encoder.h b/quantum/encoder.h index dd6db1462986..82f95b4931cb 100644 --- a/quantum/encoder.h +++ b/quantum/encoder.h @@ -55,3 +55,9 @@ void encoder_update_raw(uint8_t* slave_state); #endif // NUM_ENCODERS #define NUM_ENCODERS_MAX_PER_SIDE MAX(NUM_ENCODERS_LEFT, NUM_ENCODERS_RIGHT) + +#ifdef ENCODER_MAP_ENABLE +# define ENCODER_CCW_CW(ccw, cw) \ + { (cw), (ccw) } +extern const uint16_t encoder_map[][NUM_ENCODERS][2]; +#endif // ENCODER_MAP_ENABLE diff --git a/quantum/keyboard.h b/quantum/keyboard.h index e122b3826414..62661596c124 100644 --- a/quantum/keyboard.h +++ b/quantum/keyboard.h @@ -40,25 +40,47 @@ typedef struct { /* equivalent test of keypos_t */ #define KEYEQ(keya, keyb) ((keya).row == (keyb).row && (keya).col == (keyb).col) +/* special keypos_t entries */ +#define KEYLOC_TICK 255 +#define KEYLOC_COMBO 254 +#define KEYLOC_ENCODER_CW 253 +#define KEYLOC_ENCODER_CCW 252 + /* Rules for No Event: * 1) (time == 0) to handle (keyevent_t){} as empty event * 2) Matrix(255, 255) to make TICK event available */ static inline bool IS_NOEVENT(keyevent_t event) { - return event.time == 0 || (event.key.row == 255 && event.key.col == 255); + return event.time == 0 || (event.key.row == KEYLOC_TICK && event.key.col == KEYLOC_TICK); +} +static inline bool IS_KEYEVENT(keyevent_t event) { + return event.key.row < MATRIX_ROWS && event.key.col < MATRIX_COLS; +} +static inline bool IS_COMBOEVENT(keyevent_t event) { + return event.key.row == KEYLOC_COMBO; +} +static inline bool IS_ENCODEREVENT(keyevent_t event) { + return event.key.row == KEYLOC_ENCODER_CW || event.key.row == KEYLOC_ENCODER_CCW; } static inline bool IS_PRESSED(keyevent_t event) { - return (!IS_NOEVENT(event) && event.pressed); + return !IS_NOEVENT(event) && event.pressed; } static inline bool IS_RELEASED(keyevent_t event) { - return (!IS_NOEVENT(event) && !event.pressed); + return !IS_NOEVENT(event) && !event.pressed; } +/* Common keyevent object factory */ +#define MAKE_KEYPOS(row_num, col_num) ((keypos_t){.row = (row_num), .col = (col_num)}) +#define MAKE_KEYEVENT(row_num, col_num, press) ((keyevent_t){.key = MAKE_KEYPOS((row_num), (col_num)), .pressed = (press), .time = (timer_read() | 1)}) + /* Tick event */ -#define TICK \ - (keyevent_t) { \ - .key = (keypos_t){.row = 255, .col = 255}, .pressed = false, .time = (timer_read() | 1) \ - } +#define TICK MAKE_KEYEVENT(KEYLOC_TICK, KEYLOC_TICK, false) + +#ifdef ENCODER_MAP_ENABLE +/* Encoder events */ +# define ENCODER_CW_EVENT(enc_id, press) MAKE_KEYEVENT(KEYLOC_ENCODER_CW, (enc_id), (press)) +# define ENCODER_CCW_EVENT(enc_id, press) MAKE_KEYEVENT(KEYLOC_ENCODER_CCW, (enc_id), (press)) +#endif // ENCODER_MAP_ENABLE /* it runs once at early stage of startup before keyboard_init. */ void keyboard_setup(void); diff --git a/quantum/keymap.h b/quantum/keymap.h index 2ee2e1b57625..d64b271efbe0 100644 --- a/quantum/keymap.h +++ b/quantum/keymap.h @@ -32,6 +32,7 @@ along with this program. If not, see . // #include "print.h" #include "debug.h" #include "keycode_config.h" +#include "gpio.h" // for pin_t // ChibiOS uses RESET in its FlagStatus enumeration // Therefore define it as QK_BOOTLOADER here, to avoid name collision @@ -49,3 +50,8 @@ along with this program. If not, see . uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key); extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS]; + +#ifdef ENCODER_MAP_ENABLE +// Ensure we have a forward declaration for the encoder map +# include "encoder.h" +#endif diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index a91b2a0b36a1..c1940f0fd3aa 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -148,6 +148,15 @@ action_t action_for_keycode(uint16_t keycode) { // translates key to keycode __attribute__((weak)) uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key) { - // Read entire word (16bits) - return pgm_read_word(&keymaps[(layer)][(key.row)][(key.col)]); + if (key.row < MATRIX_ROWS && key.col < MATRIX_COLS) { + return pgm_read_word(&keymaps[layer][key.row][key.col]); + } +#ifdef ENCODER_MAP_ENABLE + else if (key.row == KEYLOC_ENCODER_CW && key.col < NUM_ENCODERS) { + return pgm_read_word(&encoder_map[layer][key.col][0]); + } else if (key.row == KEYLOC_ENCODER_CCW && key.col < NUM_ENCODERS) { + return pgm_read_word(&encoder_map[layer][key.col][1]); + } +#endif // ENCODER_MAP_ENABLE + return KC_NO; } diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index efaf8fe0e9e6..d5a649adb360 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c @@ -88,8 +88,6 @@ static queued_combo_t combo_buffer[COMBO_BUFFER_LENGTH]; #define INCREMENT_MOD(i) i = (i + 1) % COMBO_BUFFER_LENGTH -#define COMBO_KEY_POS ((keypos_t){.col = 254, .row = 254}) - #ifndef EXTRA_SHORT_COMBOS /* flags are their own elements in combo_t struct. */ # define COMBO_ACTIVE(combo) (combo->active) @@ -140,12 +138,7 @@ static queued_combo_t combo_buffer[COMBO_BUFFER_LENGTH]; static inline void release_combo(uint16_t combo_index, combo_t *combo) { if (combo->keycode) { keyrecord_t record = { - .event = - { - .key = COMBO_KEY_POS, - .time = timer_read() | 1, - .pressed = false, - }, + .event = MAKE_KEYEVENT(KEYLOC_COMBO, KEYLOC_COMBO, false), .keycode = combo->keycode, }; #ifndef NO_ACTION_TAPPING @@ -325,7 +318,7 @@ void apply_combo(uint16_t combo_index, combo_t *combo) { if (ALL_COMBO_KEYS_ARE_DOWN(state, key_count)) { // this in the end executes the combo when the key_buffer is dumped. record->keycode = combo->keycode; - record->event.key = COMBO_KEY_POS; + record->event.key = MAKE_KEYPOS(KEYLOC_COMBO, KEYLOC_COMBO); qrecord->combo_index = combo_index; ACTIVATE_COMBO(combo); From 5d67c4d90895bf5a14b4557107b2899551dea934 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 9 Mar 2022 21:06:33 +1100 Subject: [PATCH 0339/1832] Fix missing definition for non-encoder case. (#16593) --- quantum/dynamic_keymap.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c index c0859ca35f29..fc1c55784d33 100644 --- a/quantum/dynamic_keymap.c +++ b/quantum/dynamic_keymap.c @@ -21,6 +21,12 @@ #include "dynamic_keymap.h" #include "via.h" // for default VIA_EEPROM_ADDR_END +#ifdef ENCODER_ENABLE +# include "encoder.h" +#else +# define NUM_ENCODERS 0 +#endif + #ifndef DYNAMIC_KEYMAP_LAYER_COUNT # define DYNAMIC_KEYMAP_LAYER_COUNT 4 #endif @@ -63,20 +69,23 @@ # define DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR (DYNAMIC_KEYMAP_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2)) #endif -// Dynamic macro starts after dynamic encoders -#ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR -# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * NUM_ENCODERS * 2 * 2)) -#endif +// Dynamic macro starts after dynamic encoders, but only when using ENCODER_MAP +#ifdef ENCODER_MAP_ENABLE +# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * NUM_ENCODERS * 2 * 2)) +# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +#else // ENCODER_MAP_ENABLE +# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR) +# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +#endif // ENCODER_MAP_ENABLE // Sanity check that dynamic keymaps fit in available EEPROM // If there's not 100 bytes available for macros, then something is wrong. // The keyboard should override DYNAMIC_KEYMAP_LAYER_COUNT to reduce it, // or DYNAMIC_KEYMAP_EEPROM_MAX_ADDR to increase it, *only if* the microcontroller has // more than the default. -#if DYNAMIC_KEYMAP_EEPROM_MAX_ADDR - DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR < 100 -# pragma message STR(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR - DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR) " < 100" -# error Dynamic keymaps are configured to use more EEPROM than is available. -#endif +_Static_assert((DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) - (DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR) >= 100, "Dynamic keymaps are configured to use more EEPROM than is available."); // Dynamic macros are stored after the keymaps and use what is available // up to and including DYNAMIC_KEYMAP_EEPROM_MAX_ADDR. From 77180a6649bbf9f54a515acafe1cbe688f51a519 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 10 Mar 2022 04:09:38 +1100 Subject: [PATCH 0340/1832] Fixup builds. (#16596) --- keyboards/horrortroll/handwired_k552/rules.mk | 1 + keyboards/tkc/portico68v2/config.h | 4 ++-- quantum/action.c | 13 +++++++------ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/keyboards/horrortroll/handwired_k552/rules.mk b/keyboards/horrortroll/handwired_k552/rules.mk index 5df510cd44b6..f29c92f64cc3 100644 --- a/keyboards/horrortroll/handwired_k552/rules.mk +++ b/keyboards/horrortroll/handwired_k552/rules.mk @@ -20,6 +20,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output NO_USB_STARTUP_CHECK = yes +LTO_ENABLE = yes # RGB Matrix enabled RGB_MATRIX_ENABLE = yes diff --git a/keyboards/tkc/portico68v2/config.h b/keyboards/tkc/portico68v2/config.h index af0a162810f0..b33fa85330ab 100644 --- a/keyboards/tkc/portico68v2/config.h +++ b/keyboards/tkc/portico68v2/config.h @@ -83,8 +83,8 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_HUE_PENDULUM # define ENABLE_RGB_MATRIX_HUE_WAVE # define ENABLE_RGB_MATRIX_PIXEL_RAIN -# define ENABLE_RGB_MATRIX_PIXEL_FLOW -# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +//# define ENABLE_RGB_MATRIX_PIXEL_FLOW +//# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined # define ENABLE_RGB_MATRIX_TYPING_HEATMAP # define ENABLE_RGB_MATRIX_DIGITAL_RAIN diff --git a/quantum/action.c b/quantum/action.c index 487218777e90..60301fa6065d 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -15,6 +15,13 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include + +#ifdef DEBUG_ACTION +# include "debug.h" +#else +# include "nodebug.h" +#endif + #include "host.h" #include "keycode.h" #include "keyboard.h" @@ -34,12 +41,6 @@ along with this program. If not, see . # include "backlight.h" #endif -#ifdef DEBUG_ACTION -# include "debug.h" -#else -# include "nodebug.h" -#endif - #ifdef POINTING_DEVICE_ENABLE # include "pointing_device.h" #endif From edd1f33013084a79cffcfafafe7c2cbd381d6979 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 10 Mar 2022 05:43:12 +1100 Subject: [PATCH 0341/1832] Missed some erroneous prints. (#16597) --- quantum/action_layer.c | 11 ++++++----- quantum/action_tapping.c | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/quantum/action_layer.c b/quantum/action_layer.c index 4d2921354b01..473e0e948d62 100644 --- a/quantum/action_layer.c +++ b/quantum/action_layer.c @@ -1,10 +1,5 @@ #include #include -#include "keyboard.h" -#include "keymap.h" -#include "action.h" -#include "util.h" -#include "action_layer.h" #ifdef DEBUG_ACTION # include "debug.h" @@ -12,6 +7,12 @@ # include "nodebug.h" #endif +#include "keyboard.h" +#include "keymap.h" +#include "action.h" +#include "util.h" +#include "action_layer.h" + /** \brief Default Layer State */ layer_state_t default_layer_state = 0; diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c index 6f8b4f8c56ae..e43661942897 100644 --- a/quantum/action_tapping.c +++ b/quantum/action_tapping.c @@ -1,10 +1,5 @@ #include #include -#include "action.h" -#include "action_layer.h" -#include "action_tapping.h" -#include "keycode.h" -#include "timer.h" #ifdef DEBUG_ACTION # include "debug.h" @@ -12,6 +7,12 @@ # include "nodebug.h" #endif +#include "action.h" +#include "action_layer.h" +#include "action_tapping.h" +#include "keycode.h" +#include "timer.h" + #ifndef NO_ACTION_TAPPING # define IS_TAPPING() !IS_NOEVENT(tapping_key.event) From db16271a728268995d8ec93d0d2a26658867bc28 Mon Sep 17 00:00:00 2001 From: Tony Grosinger Date: Wed, 9 Mar 2022 13:47:57 -0800 Subject: [PATCH 0342/1832] Add Gergoplex keymap for tgrosinger (#15148) * Add Gergoplex keymap for tgrosinger * Add improved shortcuts for PopOS * Add license --- .../gergoplex/keymaps/tgrosinger/combos.def | 11 + .../keymaps/tgrosinger/gergoplex.def | 17 ++ .../gergoplex/keymaps/tgrosinger/keymap.c | 286 ++++++++++++++++++ .../gergoplex/keymaps/tgrosinger/readme.md | 12 + .../gergoplex/keymaps/tgrosinger/rules.mk | 17 ++ 5 files changed, 343 insertions(+) create mode 100644 keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def create mode 100644 keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def create mode 100644 keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c create mode 100644 keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md create mode 100644 keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def b/keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def new file mode 100644 index 000000000000..ef953d53f59a --- /dev/null +++ b/keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def @@ -0,0 +1,11 @@ +// List any combo dictionaries you want loaded to your device below! + +// QMK wide includes +//#include "combos/germ-vim-helpers.def" +//#include "combos/germ-mouse-keys.def" + +// User includes +#include "gergoplex.def" + +// Word completion +// #include "combos/eng-combos.def" diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def b/keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def new file mode 100644 index 000000000000..c7a93ed294e5 --- /dev/null +++ b/keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def @@ -0,0 +1,17 @@ +// Gergoplex specfic combos + +COMB(qwGrav, KC_GRV, KC_W, KC_Q) +COMB(wsEsc, KC_ESC, KC_W, KC_S) +COMB(sdBackspace, KC_BSPC, KC_S, KC_D) +COMB(dfTab, KC_TAB, KC_D, KC_F) +COMB(cvEnter, KC_ENT, KC_C, KC_V) + +COMB(ioMinus, KC_MINS, KC_I, KC_O) +COMB(opBackslash, KC_BSLS, KC_O, KC_P) +COMB(hjLess, KC_LT, KC_H, KC_J) +COMB(klGreat, KC_GT, KC_K, KC_L) +COMB(jkColon, KC_COLN, KC_J, KC_K) +COMB(mcUnder, KC_UNDS, KC_M, KC_COMM) +COMB(nmQuote, KC_QUOT, KC_N, KC_M) + +SUBS(pasta, "I'd just like to interject for a moment.", KC_H, KC_J, KC_K, KC_L) diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c b/keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c new file mode 100644 index 000000000000..74c0899fdb14 --- /dev/null +++ b/keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c @@ -0,0 +1,286 @@ +/* Copyright 2022 Tony Grosinger + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "g/keymap_combo.h" + +enum { + _ALPHA, // Default + _SYMB, // Symbols + _NUMB, // Numbers + _ARROWS, // Arrows and OS + _TMUX, // TMUX Nav layer + _POPOS, // Gnome Shell, aka PopOS +}; + + +// Macros +enum custom_keycodes { + TMUX_NEW = SAFE_RANGE, + TMUX_ZOOM, + TMUX_SCROLL, + TMUX_PN_LT, + TMUX_PN_UP, + TMUX_PN_DN, + TMUX_PN_RT, + TMUX_WN_LT, + TMUX_WN_RT, + TMUX_SP_VT, + TMUX_SP_HZ, + VIM_CLIP_CP, + VIM_CLIP_PST, + VIM_MACRO, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TMUX_NEW: + if (record->event.pressed) { + tap_code16(C(KC_B)); + SEND_STRING("c"); + } + break; + case TMUX_ZOOM: + if (record->event.pressed) { + tap_code16(C(KC_B)); + SEND_STRING("z"); + } + break; + case TMUX_SCROLL: + if (record->event.pressed) { + tap_code16(C(KC_B)); + SEND_STRING("["); + } + break; + case TMUX_PN_LT: + if (record->event.pressed) { + tap_code16(C(KC_B)); + tap_code(KC_LEFT); + } + break; + case TMUX_PN_DN: + if (record->event.pressed) { + tap_code16(C(KC_B)); + tap_code(KC_DOWN); + } + break; + case TMUX_PN_UP: + if (record->event.pressed) { + tap_code16(C(KC_B)); + tap_code(KC_UP); + } + break; + case TMUX_PN_RT: + if (record->event.pressed) { + tap_code16(C(KC_B)); + tap_code(KC_RIGHT); + } + break; + case TMUX_WN_LT: + if (record->event.pressed) { + tap_code16(C(KC_B)); + SEND_STRING("p"); + } + break; + case TMUX_WN_RT: + if (record->event.pressed) { + tap_code16(C(KC_B)); + SEND_STRING("n"); + } + break; + case TMUX_SP_VT: + if (record->event.pressed) { + tap_code16(C(KC_B)); + SEND_STRING("%"); + } + break; + case TMUX_SP_HZ: + if (record->event.pressed) { + tap_code16(C(KC_B)); + SEND_STRING("\""); + } + break; + case VIM_CLIP_CP: + if (record->event.pressed) { + tap_code16(S(KC_QUOTE)); + tap_code16(S(KC_EQUAL)); + tap_code(KC_Y); + } + break; + case VIM_CLIP_PST: + if (record->event.pressed) { + tap_code16(S(KC_QUOTE)); + tap_code16(S(KC_EQUAL)); + tap_code(KC_P); + } + break; + case VIM_MACRO: + if (record->event.pressed) { + tap_code16(S(KC_2)); + tap_code(KC_Q); + } + break; + /* + case LAYRMOD: + // Act as a mod key if held, or toggle a layer if tapped + // replace KC_LCTL with desired mod, and _TARGET with desired layer name / number + if (record->event.pressed) { + uint8_t key_timer = timer_read(); + register_mods(MOD_BIT(KC_LCTL)); + } else { + unregister_mods(MOD_BIT(KC_LCTL)); + if (timer_elapsed(key_timer) < 200) { + layer_invert(_TARGET); + } + } + return false; + break; + */ + } + return true; +} + +/* Combos + * + * ,-----------------------------. ,-----------------------------. + * | ` | | | | | | MINS | BSLH | + * |-----+----ESC----+-----+-----| |-----+-----+-----+-----------| + * | | BSPC TAB | | | LES COLN GRT | | + * |-----+-----+-----+--RMB+-LMB-| |-----+-----+-----+-----------| + * | | | ENT | | | QUO UNDR | | | + * `-----+-----+-----+-----+-----' `-----------------------------' + * .-------------------------. .-------------------. + * | | | | | | | | + * '-------------------------' '-------------------' + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap 0: Default layer + * ,------------------------------. ,----------------------------------. + * | Q | W | E | R | T | | Y | U | I | O | P | + * |------+-----+-----+-----+-----| |-----+-----+-----+-------+--------| + * |CTRL/A| S | D | F | G | | H | J | K | L | CTRL/; | + * |------+-----+-----+-----+-----| |-----+-----+-----+-------+--------| + * |SHFT/Z|ALT/X| C | V | B | | N | M | < | ALT/> | SHFT/? | + * `------+-----+-----+------+----' `----------------------------------' + * .-----------------. .----------------------. + * | |GUI |SPC(NUM)| |SPC(SYM)|TMUX | PopOS | + * '-----------------' '----------------------' + */ + [_ALPHA] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + MT(MOD_LCTL, KC_A),KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MT(MOD_LCTL, KC_SCLN), + MT(MOD_LSFT, KC_Z),MT(MOD_LALT, KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, MT(MOD_LALT, KC_DOT), MT(MOD_RSFT, KC_SLSH), + + KC_NO, KC_LGUI, LT(_NUMB, KC_SPC), // Left + LT(_SYMB, KC_SPC), MO(_TMUX), MO(_POPOS) // Right + ), + + /* Keymap 1: Symbols layer + * ,------------------------------. ,-------------------------------. + * | ! | @ | # | $ | % | | ^ | & | * | + | = | + * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | + * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | | | | | | | | | | F11 | F12 | + * `------+-----+-----+-----+-----' `-------------------------------' + * .-----------------. .-----------------. + * | | DEL | MO3 | | HLD | SPC | | + * '-----------------' '-----------------' + */ + [_SYMB] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PLUS, KC_EQL, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12, + KC_NO, KC_DEL, MO(_ARROWS), KC_TRNS, KC_SPC, KC_NO + ), + + /* Keymap 2: Number layer + * ,------------------------------. ,-------------------------------. + * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | + * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | CTRL | | ( | ) | | | | 4 | 7 | 6 | | + * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | SHFT | | [ | ] | | | | 1 | 2 | 3 | . | + * `------+-----+-----+-----+-----' `-------------------------------' + * .-----------------. .-----------------. + * | | | HLD | | MO3 | 0 | | + * '-----------------' '-----------------' + */ + [_NUMB] = LAYOUT_split_3x5_3( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LCTL, KC_NO, KC_LPRN, KC_RPRN, KC_NO, KC_NO, KC_4, KC_5, KC_6, KC_NO, + KC_LSFT, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_DOT, + KC_NO,KC_NO,KC_TRNS, MO(_ARROWS),KC_0,KC_NO + ), + + /* Keymap 3: Arrows and OS + * ,------------------------------. ,------------------------------------. + * | | | | | | | | | | | | + * |------+-----+-----+-----+-----| |-------+-------+------+-------+-----| + * | CTRL |HOME | PUP | | | | LEFT | DOWN | UP | RIGHT | | + * |------+-----+-----+-----+-----| |-------+-------+------+-------+-----| + * | SHFT |END | PDN | | | | | | | | | + * `------+-----+-----+-----+-----' `------------------------------------' + * .-----------------. .-----------------. + * | | | HLD | | HLD | | | + * '-----------------' '-----------------' + */ + [_ARROWS] = LAYOUT_split_3x5_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LCTL, KC_HOME, KC_PGUP, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, + KC_LSFT, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO,KC_NO,KC_TRNS, KC_TRNS,KC_NO,KC_NO + ), + + /* Keymap 4: Tmux navigation layer + * ,----------------------------------. ,---------------------------------------. + * | Vi Mcr | | | | SP VT | | Vi Ynk| | | | Vi PT | + * |--------+-----+-----+-----+-------| |-------+-------+-------+-------+-------| + * | | SCRL| | | | | PN LT | PN DN | PN UP | PN RT | SP HZ | + * |--------+-----+-----+-----+-------| |-------+-------+-------+-------+-------| + * | ZOOM | KILL| NEW | | | | W LT | | | W RT | | + * `--------+-----+-----+-----+-------' `---------------------------------------' + * .-----------------. .-----------------. + * | | | | | | HLD | | + * '-----------------' '-----------------' + */ + [_TMUX] = LAYOUT_split_3x5_3( + VIM_MACRO, KC_NO, KC_NO, KC_NO, TMUX_SP_VT, VIM_CLIP_CP, KC_NO, KC_NO, KC_NO, VIM_CLIP_PST, + KC_NO, TMUX_SCROLL, KC_NO, KC_NO, KC_NO, TMUX_PN_LT, TMUX_PN_DN, TMUX_PN_UP, TMUX_PN_RT, TMUX_SP_HZ, + TMUX_ZOOM, KC_NO, TMUX_NEW, KC_NO, KC_NO, TMUX_WN_LT, KC_NO, KC_NO, TMUX_WN_RT, KC_NO, + KC_NO,KC_NO,KC_NO, KC_NO,KC_TRNS,KC_NO + ), + + /* Keymap 5: Gnome Shell (PopOS) + * ,------------------------------. ,--------------------------------------. + * | | | | | | | MV-DWN| D-DWN | D-UP | MV-UP | Flip | + * |------+-----+-----+-----+-----| |-------+-------+-------+-------+------| + * | | | | | | | W-L | W-DWN | W-UP | W-R | | + * |------+-----+-----+-----+-----| |-------+-------+-------+-------+------| + * | | | | | | | Scrns | Apps | Close | | | + * `------+-----+-----+-----+-----' `--------------------------------------' + * .-----------------. .-----------------. + * | | | | | | | HLD | + * '-----------------' '-----------------' + */ + [_POPOS] = LAYOUT_split_3x5_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, SGUI(KC_J), LCTL(LGUI(KC_J)), LCTL(LGUI(KC_K)), SGUI(KC_K), LGUI(KC_O), + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_D), LGUI(KC_A), LGUI(KC_Q), KC_NO, KC_NO, + KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_TRNS + ), +}; diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md b/keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md new file mode 100644 index 000000000000..0a53aa1cbfa8 --- /dev/null +++ b/keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md @@ -0,0 +1,12 @@ +# GergoPlex + +This keymap I created for the GergoPlex with a focus on: + +- Keeping keys close to their normal locations when possible (number/symbol rows) +- Work well for vim, tmux, and Ubuntu default desktop shortcuts +- Work okay for OSx shortcuts + +## Firmware Building + + util/docker_build.sh gboards/gergoplex:tgrosinger + util/docker_build.sh gboards/gergoplex:tgrosinger:flash diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk b/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk new file mode 100644 index 000000000000..e882b8008db2 --- /dev/null +++ b/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk @@ -0,0 +1,17 @@ +#---------------------------------------------------------------------------- +# make gboards/gergoplex:default:flash +# Make sure you have dfu-programmer installed! +#---------------------------------------------------------------------------- + +#Debug options +VERBOSE = no +DEBUG_MATRIX_SCAN_RATE = no +DEBUG_MATRIX = no +CONSOLE_ENABLE = no + +#Combos! +VPATH += keyboards/gboards/ + +ifeq ($(strip $(DEBUG_MATRIX)), yes) + OPT_DEFS += -DDEBUG_MATRIX +endif From caeb213400e7f612598af10354306fd4d3ee0adf Mon Sep 17 00:00:00 2001 From: Hansol Kim Date: Thu, 10 Mar 2022 07:04:41 +0900 Subject: [PATCH 0343/1832] Add macOS-friendly keymap for GMMK Pro (ANSI) (#14333) * Add macOS keymap for GMMK Pro (ANSI) * Change macOS keymap directory name to lowercase * Add toggleable layer with alternative keymap for function row * Update readme --- .../gmmk/pro/ansi/keymaps/macos/config.h | 80 ++++ .../gmmk/pro/ansi/keymaps/macos/keymap.c | 448 ++++++++++++++++++ .../gmmk/pro/ansi/keymaps/macos/readme.md | 85 ++++ .../gmmk/pro/ansi/keymaps/macos/rules.mk | 4 + 4 files changed, 617 insertions(+) create mode 100644 keyboards/gmmk/pro/ansi/keymaps/macos/config.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/macos/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/macos/readme.md create mode 100644 keyboards/gmmk/pro/ansi/keymaps/macos/rules.mk diff --git a/keyboards/gmmk/pro/ansi/keymaps/macos/config.h b/keyboards/gmmk/pro/ansi/keymaps/macos/config.h new file mode 100644 index 000000000000..799c5d95932c --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/macos/config.h @@ -0,0 +1,80 @@ +/* Copyright 2021 zvuc + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// At the time of this, there are 41 effects! That may be a bit too many to cycle through - keeping what I believe is the best. +#ifdef RGB_MATRIX_ENABLE + #define RGB_DISABLE_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) + +// #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR + +// Below added per: https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgb_matrix#suspended-state-id-suspended-state + #define RGB_DISABLE_WHEN_USB_SUSPENDED + +// Effects + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain + #define RGB_MATRIX_KEYPRESSES // REACTIVE, SPLASH modes + + // Disable effects you don't like. + // Soon, you'll have to explicitly enable effects you want: https://github.com/qmk/qmk_firmware/pull/13758 + // #define DISABLE_RGB_MATRIX_SOLID_COLOR, // Static single hue, no speed support + // #define DISABLE_RGB_MATRIX_ALPHAS_MODS, // Static dual hue, speed is hue for secondary hue + // #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN, // Static gradient top to bottom, speed controls how much gradient changes + // #define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT, // Static gradient left to right, speed controls how much gradient changes + // #define DISABLE_RGB_MATRIX_BREATHING, // Single hue brightness cycling animation + // #define DISABLE_RGB_MATRIX_BAND_SAT, // Single hue band fading saturation scrolling left to right + // #define DISABLE_RGB_MATRIX_BAND_VAL, // Single hue band fading brightness scrolling left to right + // #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT, // Single hue 3 blade spinning pinwheel fades saturation + // #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL, // Single hue 3 blade spinning pinwheel fades brightness + // #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT, // Single hue spinning spiral fades saturation + // #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL, // Single hue spinning spiral fades brightness + // #define DISABLE_RGB_MATRIX_CYCLE_ALL, // Full keyboard solid hue cycling through full gradient + // #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT, // Full gradient scrolling left to right + // #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN, // Full gradient scrolling top to bottom + // #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN, // Full gradient scrolling out to in + // #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL, // Full dual gradients scrolling out to in + // #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON, // Full gradent Chevron shapped scrolling left to right + // #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL, // Full gradient spinning pinwheel around center of keyboard + // #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL, // Full gradient spinning spiral around center of keyboard + // #define DISABLE_RGB_MATRIX_DUAL_BEACON, // Full gradient spinning around center of keyboard + // #define DISABLE_RGB_MATRIX_RAINBOW_BEACON, // Full tighter gradient spinning around center of keyboard + // #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS, // Full dual gradients spinning two halfs of keyboard + // #define DISABLE_RGB_MATRIX_RAINDROPS, // Randomly changes a single key's hue + // #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS, // Randomly changes a single key's hue and saturation + // #define DISABLE_RGB_MATRIX_HUE_BREATHING, // Hue shifts up a slight ammount at the same time, then shifts back + // #define DISABLE_RGB_MATRIX_HUE_PENDULUM, // Hue shifts up a slight ammount in a wave to the right, then back to the left + // #define DISABLE_RGB_MATRIX_HUE_WAVE, // Hue shifts up a slight ammount and then back down in a wave to the right + + // Framebuffer effects + // #define DISABLE_RGB_MATRIX_TYPING_HEATMAP, // How hot is your WPM! + // #define DISABLE_RGB_MATRIX_DIGITAL_RAIN, // That famous computer simulation + + // Reactive effects + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE, // Pulses keys hit to hue & value then fades value out + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE, // Static single hue, pulses keys hit to shifted hue then fades to current hue + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out + // #define DISABLE_RGB_MATRIX_SPLASH, // Full gradient & value pulse away from a single key hit then fades value out + // #define DISABLE_RGB_MATRIX_MULTISPLASH, // Full gradient & value pulse away from multiple key hits then fades value out + // #define DISABLE_RGB_MATRIX_SOLID_SPLASH, // Hue & value pulse away from a single key hit then fades value out + // #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH, // Hue & value pulse away from multiple key hits then fades value out + +#endif diff --git a/keyboards/gmmk/pro/ansi/keymaps/macos/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/macos/keymap.c new file mode 100644 index 000000000000..1f8c47306ad2 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/macos/keymap.c @@ -0,0 +1,448 @@ +/* Copyright 2021 Glorious, LLC + + GMMK Pro Standard keymap for macOS + by zvuc + + with code snippets from + Andre Brait , stickandgum + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum my_keycodes { + KC_MSCTRL = SAFE_RANGE, + KC_LNPD, + LED_TLDE, + LED_1, + LED_2, + LED_3, + LED_4, + LED_5, + LED_6, + LED_7, + LED_8, + LED_9, + LED_0, + LED_MINS, + LED_EQL +}; + +#ifdef RGB_MATRIX_ENABLE + #ifndef RGB_CONFIRMATION_BLINKING_TIME + #define RGB_CONFIRMATION_BLINKING_TIME 2000 // 2 seconds + #endif +#endif // RGB_MATRIX_ENABLE + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Eject Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up F13 +// Ct_L Opt_L Cmd_L SPACE Cmd_R Opt_R FN Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + // + // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). + // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. + // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. + [0] = LAYOUT( + KC_ESC, KC_BRID, KC_BRIU, KC_MSCTRL, KC_LNPD, RGB_VAD, RGB_VAI, KC_F7, KC_F8, KC_MRWD, KC_MPLY, KC_MFFD, KC_F12, KC_EJCT, KC_MUTE, + KC_GRV, 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_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_PGUP, + 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, + 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_F13, + KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, + LED_TLDE, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, _______, KC_PSCR, + _______, RGB_HUI, RGB_VAI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, RGB_HUD, RGB_VAD, RGB_SAD, TG(2), _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI + ), + + // This is an alternative togglable layer to change default function row to standard F keys + [2] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F24, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + +}; +// clang-format on + +#ifdef ENCODER_ENABLE + bool encoder_update_user(uint8_t index, bool clockwise) { + // https://beta.docs.qmk.fm/using-qmk/simple-keycodes/feature_advanced_keycodes#alt-escape-for-alt-tab-id-alt-escape-for-alt-tab + if (get_mods() & MOD_MASK_CTRL) { // If CTRL is held + uint8_t mod_state = get_mods(); // Store all modifiers that are held + unregister_mods(MOD_MASK_CTRL); // Immediately unregister the CRTL key (don't send CTRL-PgDn) - del_mods doesn't work here (not immediate) + if (clockwise) { + rgblight_increase_hue(); + } else { + rgblight_decrease_hue(); + } + set_mods(mod_state); // Add back in the CTRL key - so ctrl-key will work if ctrl was never released after paging. + } else if (get_mods() & MOD_MASK_ALT) { + uint8_t mod_state = get_mods(); + unregister_mods(MOD_MASK_ALT); + if (clockwise) { + rgblight_increase_sat(); + } else { + rgblight_decrease_sat(); + } + set_mods(mod_state); + } else if (get_mods() & MOD_MASK_GUI) { + uint8_t mod_state = get_mods(); + unregister_mods(MOD_MASK_GUI); + if (clockwise) { + rgblight_increase_val(); + } else { + rgblight_decrease_val(); + } + set_mods(mod_state); + } else if (get_mods() & MOD_MASK_SHIFT) { + uint8_t mod_state = get_mods(); + unregister_mods(MOD_MASK_SHIFT); + if (clockwise) { + rgblight_increase_speed(); + } else { + rgblight_decrease_speed(); + } + set_mods(mod_state); + } else if (clockwise) { // All else volume. + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; + } +#endif //ENCODER_ENABLE + +#ifdef RGB_MATRIX_ENABLE + + // Called on powerup and is the last _init that is run. + void keyboard_post_init_user(void) { + + int mods[35] = {0,2,3,4,5,11,17,33,49,55,65,95,97,79,94,85,93,96,90,69,92,67,76,80,91,75,86,68,77,81,92,28,34,39,44}; + int j; + + /* output each array element's value */ + for (j = 0; j < 35; j++ ) { + g_led_config.flags[mods[j]] = LED_FLAG_MODIFIER; + } + + if (!rgb_matrix_is_enabled()) { + rgb_matrix_enable(); + #ifdef CONSOLE_ENABLE + uprintf("ERROR! RGB Matrix Enabled and wrote to EEPROM! -How was the RGB Matrix Disabled?"); + #endif + } + } + + /* Renaming those to make the purpose on this keymap clearer */ + #define LED_FLAG_CAPS LED_FLAG_NONE + #define LED_FLAG_EFFECTS LED_FLAG_INDICATOR + + static void set_rgb_caps_leds(void); + + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + static uint16_t effect_started_time = 0; + static uint8_t r_effect = 0x0, g_effect = 0x0, b_effect = 0x0; + static void start_effects(void); + + /* The higher this is, the slower the blinking will be */ + #ifndef TIME_SELECTED_BIT + #define TIME_SELECTED_BIT 8 + #endif + #if TIME_SELECTED_BIT < 0 || TIME_SELECTED_BIT >= 16 + #error "TIME_SELECTED_BIT must be a positive integer smaller than 16" + #endif + #define effect_red() r_effect = 0xFF, g_effect = 0x0, b_effect = 0x0 + #define effect_green() r_effect = 0x0, g_effect = 0xFF, b_effect = 0x0 + #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 + + bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { + if (!rgb_matrix_is_enabled()) { + /* Turn ON the RGB Matrix for CAPS LOCK */ + rgb_matrix_set_flags(LED_FLAG_CAPS); + rgb_matrix_enable(); + } + } else if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { + /* RGB Matrix was only ON because of CAPS LOCK. Turn it OFF. */ + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_disable(); + } + return true; + } + + bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + // https://github.com/qmk/qmk_firmware/issues/10111 + case KC_MSCTRL: + if (record->event.pressed) { + host_consumer_send(0x29F); + } else { + host_consumer_send(0); + } + return false; /* Skip all further processing of this key */ + + case KC_LNPD: + if (record->event.pressed) { + host_consumer_send(0x2A0); + } else { + host_consumer_send(0); + } + return false; /* Skip all further processing of this key */ + + #ifdef NKRO_ENABLE + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + case NK_TOGG: + if (record->event.pressed) { + if (keymap_config.nkro) { + /* Turning NKRO OFF */ + effect_red(); + } else { + /* Turning NKRO ON */ + effect_green(); + } + start_effects(); + } + break; + #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 + #endif // NKRO_ENABLE + + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + case TG(2): + if (record->event.pressed) { + if (IS_LAYER_OFF(2)) { + effect_red(); + } else { + effect_green(); + } + start_effects(); + } + break; + #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 + + /* LED quick preset keys assignments */ + case LED_TLDE: + rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); // Can use RGB_M_P built-in keycode instead. + break; + case LED_1: + rgb_matrix_mode(RGB_MATRIX_ALPHAS_MODS); + break; + case LED_2: + rgb_matrix_mode(RGB_MATRIX_GRADIENT_UP_DOWN); + break; + case LED_3: + rgb_matrix_mode(RGB_MATRIX_JELLYBEAN_RAINDROPS); + break; + case LED_4: + rgb_matrix_mode(RGB_MATRIX_BAND_SAT); + break; + case LED_5: + rgb_matrix_mode(RGB_MATRIX_BAND_VAL); + break; + case LED_6: + rgb_matrix_mode(RGB_MATRIX_BAND_SPIRAL_VAL); + break; + case LED_7: + rgb_matrix_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT); // Can use RGB_M_R built-in keycode instead. + break; + case LED_8: + rgb_matrix_mode(RGB_MATRIX_CYCLE_PINWHEEL); // Can use RGB_M_SW built-in keycode instead. + break; + case LED_9: + rgb_matrix_mode(RGB_MATRIX_BREATHING); // Can use RGB_M_B built-in keycode instead. + break; + + #ifdef RGB_MATRIX_KEYPRESSES // Reactive effects require RGB_MATRIX_KEYPRESSES in config.h + case LED_0: + rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE_WIDE); + break; + #endif //RGB_MATRIX_KEYPRESSES + + #ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap and Rain require #define RGB_MATRIX_FRAMEBUFFER_EFFECTS in config.h + case LED_MINS: + rgb_matrix_mode(RGB_MATRIX_DIGITAL_RAIN); + break; + case LED_EQL: + rgb_matrix_mode(RGB_MATRIX_TYPING_HEATMAP); + break; + #endif //RGB_MATRIX_FRAMEBUFFER_EFFECTS + + + // case RGB_MOD: + // case RGB_RMOD: + // case RGB_HUI: + // case RGB_HUD: + // case RGB_SAI: + // case RGB_SAD: + // case RGB_VAI: + // case RGB_VAD: + // case RGB_SPI: + case RGB_SPD: + if (record->event.pressed) { + if (rgb_matrix_get_flags() != LED_FLAG_ALL) { + /* Ignore changes to RGB settings while only it's supposed to be OFF */ + return false; + } + } + break; + + case RGB_TOG: + // if (record->event.pressed) { + // if (rgb_matrix_get_flags() == LED_FLAG_ALL) { + // rgb_matrix_set_flags(LED_FLAG_NONE); + // rgb_matrix_set_color_all(0, 0, 0); + // } else { + // rgb_matrix_set_flags(LED_FLAG_ALL); + // } + // } + // return false; + if (record->event.pressed) { + if (rgb_matrix_is_enabled()) { + switch (rgb_matrix_get_flags()) { + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + case LED_FLAG_EFFECTS: + #endif + case LED_FLAG_CAPS: + /* Turned ON because of EFFECTS or CAPS, is actually OFF */ + /* Change to LED_FLAG_ALL to signal it's really ON */ + rgb_matrix_set_flags(LED_FLAG_ALL); + /* Will be re-enabled by the processing of the toggle */ + rgb_matrix_disable_noeeprom(); + break; + case LED_FLAG_ALL: + /* Is actually ON */ + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + if (effect_started_time > 0) { + /* Signal EFFECTS */ + rgb_matrix_set_flags(LED_FLAG_EFFECTS); + /* Will be re-enabled by the processing of the toggle */ + rgb_matrix_disable_noeeprom(); + } else + #endif + if (host_keyboard_led_state().caps_lock) { + /* Signal CAPS */ + rgb_matrix_set_flags(LED_FLAG_CAPS); + /* Will be re-enabled by the processing of the toggle */ + rgb_matrix_disable_noeeprom(); + } + break; + } + } + } + break; + + } + return true; + } + + + void rgb_matrix_indicators_user() { + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + if (effect_started_time > 0) { + /* Render blinking EFFECTS */ + uint16_t deltaTime = sync_timer_elapsed(effect_started_time); + if (deltaTime <= RGB_CONFIRMATION_BLINKING_TIME) { + uint8_t led_state = ((~deltaTime) >> TIME_SELECTED_BIT) & 0x01; + uint8_t val_r = led_state * r_effect; + uint8_t val_g = led_state * g_effect; + uint8_t val_b = led_state * b_effect; + rgb_matrix_set_color_all(val_r, val_g, val_b); + if (host_keyboard_led_state().caps_lock) { + set_rgb_caps_leds(); + } + return; + } else { + /* EFFECTS duration is finished */ + effect_started_time = 0; + if (rgb_matrix_get_flags() == LED_FLAG_EFFECTS) { + /* It was turned ON because of EFFECTS */ + if (host_keyboard_led_state().caps_lock) { + /* CAPS is still ON. Demote to CAPS */ + rgb_matrix_set_flags(LED_FLAG_CAPS); + } else { + /* There is nothing else keeping RGB enabled. Reset flags and turn if off. */ + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_disable_noeeprom(); + } + } + } + } + #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 + if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { + rgb_matrix_set_color_all(0x0, 0x0, 0x0); + } + if (host_keyboard_led_state().caps_lock) { + set_rgb_caps_leds(); + } + } + + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + static void start_effects() { + effect_started_time = sync_timer_read(); + if (!rgb_matrix_is_enabled()) { + /* Turn it ON, signal the cause (EFFECTS) */ + rgb_matrix_set_flags(LED_FLAG_EFFECTS); + rgb_matrix_enable_noeeprom(); + } else if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { + /* It's already ON, promote the cause from CAPS to EFFECTS */ + rgb_matrix_set_flags(LED_FLAG_EFFECTS); + } + } + #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 + + static void set_rgb_caps_leds() { + rgb_matrix_set_color(67, 0xFF, 0x0, 0x0); // Left side LED 1 + rgb_matrix_set_color(68, 0xFF, 0x0, 0x0); // Right side LED 1 + rgb_matrix_set_color(70, 0xFF, 0x0, 0x0); // Left side LED 2 + rgb_matrix_set_color(71, 0xFF, 0x0, 0x0); // Right side LED 2 + rgb_matrix_set_color(73, 0xFF, 0x0, 0x0); // Left side LED 3 + rgb_matrix_set_color(74, 0xFF, 0x0, 0x0); // Right side LED 3 + rgb_matrix_set_color(76, 0xFF, 0x0, 0x0); // Left side LED 4 + rgb_matrix_set_color(77, 0xFF, 0x0, 0x0); // Right side LED 4 + rgb_matrix_set_color(80, 0xFF, 0x0, 0x0); // Left side LED 5 + rgb_matrix_set_color(81, 0xFF, 0x0, 0x0); // Right side LED 5 + rgb_matrix_set_color(83, 0xFF, 0x0, 0x0); // Left side LED 6 + rgb_matrix_set_color(84, 0xFF, 0x0, 0x0); // Right side LED 6 + rgb_matrix_set_color(87, 0xFF, 0x0, 0x0); // Left side LED 7 + rgb_matrix_set_color(88, 0xFF, 0x0, 0x0); // Right side LED 7 + rgb_matrix_set_color(91, 0xFF, 0x0, 0x0); // Left side LED 8 + rgb_matrix_set_color(92, 0xFF, 0x0, 0x0); // Right side LED 8 + rgb_matrix_set_color(3, 0xFF, 0x0, 0x0); // CAPS LED + } + +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/gmmk/pro/ansi/keymaps/macos/readme.md b/keyboards/gmmk/pro/ansi/keymaps/macos/readme.md new file mode 100644 index 000000000000..8024e77cc104 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/macos/readme.md @@ -0,0 +1,85 @@ +# GMMK Pro Standard Layout for macOS by zvuc + +As you may know, Glorious does not (yet) provide their Glorious Core software for macOS; so with stock firmware, there aren't any ways to customize layouts on the hardware level unless you turn to software-based override solutions such as [Karabiner Elements](https://karabiner-elements.pqrs.org/). This is my attempt to try to create the most macOS-like experience on the GMMK Pro, taking close notes from Apple's Magic Keyboard, also referencing code from other community keymaps. + +## Keymap +Layer 0 +Layer0 + +Layer 1 (Hold Fn) +Layer1 + +Layer 2 (Togglable alternative function row layout by pressing Fn+F) +Layer2 + + +## Notable differences from stock key layout for Windows: +- Delete key placed right next to backspace (under rotary encoder) +- F13 key for the bottommost row (Assign it to a shortcut you like in macOS preferences! [For example: "Emoji & Symbols" to bring up the emoji input popup instantly](https://user-images.githubusercontent.com/2870726/132237211-7e13c156-96a8-4a91-b215-28d310228feb.png)) +- Eject key for the last key in function row: Needed for macOS native global "Sleep" hotkey (Eject) + +## Notable Features +- VIA support +- Rotary Encoder support (Defaults to stock behavior Volume Up/Down) +- Standard order for macOS modifier keys: + * Left: ⌃ Control⌥ Option⌘ Command + * Right: ⌘ Command⌥ OptionFn +- Apple Magic Keyboard-like Function Row Mode (Toggle with Fn+F) + * F1: Decrease display brightness + * F2: Increase display brightness + * F3: Mission Control + * F4: Launchpad + * F5: Decrease keyboard backlight brightness + * F6: Increase keyboard backlight brightness + * F7: (none) + * F8: (none) + * F9: Media Rewind + * F10: Media Play/Pause + * F11: Media Fast Forward + * F12: (none) + +> #### NOTE +> - Media key mappings follow Apple Magic Keyboard except F8 thru F12, where keys have been shifted by one to the right. It's because I wanted to get over the awkward gap between F8 and F9 that the GMMK Pro has—and also because we don't need dedicated keys for volume control when we have the more convenient rotary knob. +> - To access standard F1 - F12 keys, press the Function keys while holding Fn. +> - If you're planning to use Karabiner Elements, use the standard Function row mode (F1 - F12) because Karabiner Elements always overrides function keys even if you want to just use simple or complex modifications, and it doesn't catch custom keys like Mission Control, Launchpad or Eject. (Eject is mapped as F24 so you can replace it with 'Eject' within Karabiner.) + +## RGB Lighting +- Retains Glorious stock firmware key mappings for control + * FnUp / FnDown: Cycle presets + * FnLeft / FnRight: Adjust speed + * FnW / FnS: Adjust brightness +- Quickly switch to popular presets: + * Fn` : Solid color (no animation) + * Fn1 : Solid duotone (no animation) - ShiftKnob to change secondary color. + * Fn2 : Vertical gradient - ShiftKnob to change secondary color. + * Fn3 : "Jellybean Raindrops" + * Fn4 : Horizontal wipe with white backlight + * Fn5 : Horizontal wipe + * Fn6 : Single color pinwheel + * Fn7 : Horizontal rainbow + * Fn8 : Rainbow pinwheel + * Fn9 : Breathing + * Fn0 : Reactive (light up on keypress) + * Fn- : "Digital Rain" + * Fn= : "Heatmap" +- RGB turns off after 20 minutes of inactivity +- RGB turns off when USB is suspended / enters sleep +- Caps Lock toggle indicator (Caps Lock key and side lights will turn red) +- Easy RGB control using Rotary Encoder + - Control+Rotate Knob: Adjust hue + - Option+Rotate Knob: Adjust saturation + - Command+Rotate Knob: Adjust brightness + +> All latest QMK effects [(41 as of now)](https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgb_matrix#rgb-matrix-effects-id-rgb-matrix-effects) are enabled by default and will apply in order when cycling through using FnUp / FnDown. You can disable specific effects by uncommenting (remove the `//` at the beginning of line) respective lines (ex: `#define DISABLE_RGB_MATRIX_BREATHING`) in `qmk_firmware/keyboards/gmmk/pro/ansi/keymaps/zvuc/config.h` then recompiling the firmware. + +## Other Features +- 1000hz polling rate +- Short DEBOUNCE time (5 ms) +- Per-key debounce algorithm (`sym_defer_pk`) +- NKRO toggle (Fn+N) + +## Warning regarding VIA support +When observing this keyboard firmware in VIA, some custom-implemented keys such as Mission Control/Launchpad and RGB preset shortcuts appear as keycodes such as `0x5d62`. **These must not be modified!** There is no way to get their default functionality back unless you re-flash the firmware through QMK Toolbox. + +## Download pre-compiled firmware binary file +[Download BIN file from here](https://github.com/zvuc/qmk_firmware/releases/tag/zvuc-1.0.1) diff --git a/keyboards/gmmk/pro/ansi/keymaps/macos/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/macos/rules.mk new file mode 100644 index 000000000000..e9073d44a02b --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/macos/rules.mk @@ -0,0 +1,4 @@ +# Enable additional features. + +DEBOUNCE_TYPE = sym_defer_pk +VIA_ENABLE = yes From 708b3f91928d578a1f9babaf27490c80f1b7a918 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Wed, 9 Mar 2022 20:46:30 -0700 Subject: [PATCH 0344/1832] [Keyboard] Size reduction for kbdfans/kbd67/mkiirgb_iso (#16601) --- keyboards/kbdfans/kbd67/mkiirgb_iso/config.h | 7 +------ keyboards/kbdfans/kbd67/mkiirgb_iso/rules.mk | 1 + 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h index 8806624e240c..42f5af8c2510 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h @@ -42,9 +42,7 @@ #define USB_SUSPEND_WAKEUP_DELAY 5000 #define RGB_DI_PIN C7 -#define RGBLED_NUM 68 -#define DRIVER_LED_TOTAL RGBLED_NUM -#define RGBLIGHT_ANIMATIONS +#define DRIVER_LED_TOTAL 68 #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses @@ -85,9 +83,6 @@ # define ENABLE_RGB_MATRIX_HUE_BREATHING # define ENABLE_RGB_MATRIX_HUE_PENDULUM # define ENABLE_RGB_MATRIX_HUE_WAVE -# define ENABLE_RGB_MATRIX_PIXEL_RAIN -# define ENABLE_RGB_MATRIX_PIXEL_FLOW -# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined # define ENABLE_RGB_MATRIX_TYPING_HEATMAP // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/rules.mk b/keyboards/kbdfans/kbd67/mkiirgb_iso/rules.mk index 7e5b22ef7354..14509a18728a 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/rules.mk +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/rules.mk @@ -3,6 +3,7 @@ MCU = atmega32u4 # Bootloader selection BOOTLOADER = lufa-ms +BOOTLOADER_SIZE = 6144 # Build Options # change yes to no to disable From 8bcb77cb9ac19cbd140ea7bb07e0231eec65282d Mon Sep 17 00:00:00 2001 From: maherma-adg Date: Thu, 10 Mar 2022 04:56:42 +0100 Subject: [PATCH 0345/1832] Personalizacion del teclado de AdG (#15738) * Personalizacion del teclado de AdG Update layout description fix symbol layer * fix doc Colemak * explicitly define enabled animations * Change keymap folder name --- .../kyria/keymaps/maherma-adg/config.h | 41 ++ .../kyria/keymaps/maherma-adg/keymap.c | 420 ++++++++++++++++++ .../kyria/keymaps/maherma-adg/readme.md | 17 + .../kyria/keymaps/maherma-adg/rules.mk | 5 + 4 files changed, 483 insertions(+) create mode 100644 keyboards/splitkb/kyria/keymaps/maherma-adg/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/maherma-adg/readme.md create mode 100644 keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk diff --git a/keyboards/splitkb/kyria/keymaps/maherma-adg/config.h b/keyboards/splitkb/kyria/keymaps/maherma-adg/config.h new file mode 100644 index 000000000000..1a4c64ed13f0 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/maherma-adg/config.h @@ -0,0 +1,41 @@ +/* Copyright 2019 Thomas Baart + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#ifdef RGBLIGHT_ENABLE +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 150 +#endif + +// Lets you roll mod-tap keys +#define IGNORE_MOD_TAP_INTERRUPT + +// If you are using an Elite C rev3 on the slave side, uncomment the lines below: +// #define SPLIT_USB_DETECT +// #define NO_USB_STARTUP_CHECK diff --git a/keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c b/keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c new file mode 100644 index 000000000000..240bc6edf5ac --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c @@ -0,0 +1,420 @@ +/* Copyright 2019 Thomas Baart + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H +#include "keymap_spanish.h" + +enum layers { + _QWERTY = 0, + _DVORAK, + _COLEMAK_DH, + _NAV, + _SYM, + _FUNCTION, + _ADJUST, + _NUMPAD, + _MOUSE +}; + + +// Aliases for readability +#define QWERTY DF(_QWERTY) +#define COLEMAK DF(_COLEMAK_DH) +#define DVORAK DF(_DVORAK) + +#define NUMPAD DF(_NUMPAD) +#define MOUSE DF(_MOUSE) +#define DNAV DF(_NAV) + +#define SYM MO(_SYM) +#define NAV MO(_NAV) +#define FKEYS MO(_FUNCTION) +#define ADJUST MO(_ADJUST) + +#define CTL_ESC MT(MOD_LCTL, KC_ESC) +#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE) +#define CTL_MINS MT(MOD_RCTL, KC_MINUS) +#define ALT_ENT MT(MOD_LALT, KC_ENT) +#define LGUI_ENT MT(MOD_LGUI, KC_ENT) +#define LALT_SUP MT(MOD_LALT, KC_DEL) +#define RGUI_TAB MT(MOD_RGUI, KC_TAB) +#define RALT_BS MT(MOD_RALT, KC_BSPC) +#define LSFT_LPR MT(MOD_LSFT, ES_LPRN) +#define RSFT_RPR MT(MOD_RSFT, ES_RPRN) + +#define NAV_ESC LT(NAV, KC_ESC) +#define SYM_SPC LT(SYM, KC_SPC) +#define NAV_SPC LT(NAV, KC_SPC) +#define SYM_ENT LT(SYM, KC_ENT) + +#define OSX_TILD ALGR(KC_SCLN) + +// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter. +// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and +// produces the key `tap` when tapped (i.e. pressed and released). + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * Base Layer: QWERTY + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | Ñ |Ctrl/´ ¨| + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * |LShift/(| Z | X | C | V | B | `^[ |CapsLk| |F-keys| +*] | N | M | , ; | . : | - _ |RShift/)| + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| LAlt/| LGUI/| Sym/ | Nav/ | | Sym/ | Nav/ | RGUI/| RAlt/| Menu | + * | | Supr | Enter| Space| Esc | | Enter| Space| Tab | Bksp | | + * `----------------------------------' `----------------------------------' + */ + [_QWERTY] = LAYOUT( + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC, + CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_SCLN, CTL_QUOT, + LSFT_LPR , KC_Z , KC_X , KC_C , KC_V , KC_B , ES_GRV , KC_CAPS, FKEYS , ES_PLUS , KC_N , KC_M, KC_COMM , KC_DOT , KC_SLSH, RSFT_RPR, + ADJUST , LALT_SUP, LGUI_ENT, SYM_SPC , NAV_ESC, SYM_ENT, NAV_SPC , RGUI_TAB, RALT_BS, KC_APP + ), + +/* + * Base Layer: Dvorak + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Tab | ´ ¨ | , ; | . : | P | Y | | F | G | C | R | L | Bksp | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/' ?| + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * |LShift/(| Ñ | Q | J | K | X | `^[ |CapsLk| |F-keys| +*] | B | M | W | V | Z |RShift/)| + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| LAlt/| LGUI/| Sym/ | Nav/ | | Sym/ | Nav/ | RGUI/| RAlt/| Menu | + * | | Supr | Enter| Space| Esc | | Enter| Space| Tab | Bksp | | + * `----------------------------------' `----------------------------------' + */ + [_DVORAK] = LAYOUT( + KC_TAB ,KC_QUOTE,KC_COMM, KC_DOT, KC_P , KC_Y , KC_F, KC_G , KC_C , KC_R , KC_L , KC_BSPC, + CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D, KC_H , KC_T , KC_N , KC_S , CTL_MINS, + LSFT_LPR ,KC_SCLN, KC_Q , KC_J , KC_K , KC_X , ES_GRV, KC_CAPS, FKEYS , ES_PLUS, KC_B, KC_M , KC_W , KC_V , KC_Z , RSFT_RPR, + ADJUST , LALT_SUP, LGUI_ENT, SYM_SPC , NAV_ESC, SYM_ENT, NAV_SPC , RGUI_TAB, RALT_BS, KC_APP + ), + +/* + * Base Layer: Colemak DH + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Tab | Q | W | F | P | B | | J | L | U | Y | Ñ | Bksp | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |Ctrl/Esc| A | R | S | T | G | | M | N | E | I | O |Ctrl/´ ¨| + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * |LShift/(| Z | X | C | D | V | `^[ |CapsLk| |F-keys| +*] | K | H | , ; | . : | - _ |RShift/)| + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| LAlt/| LGUI/| Sym/ | Nav/ | | Sym/ | Nav/ | RGUI/| RAlt/| Menu | + * | | Supr | Enter| Space| Esc | | Enter| Space| Tab | Bksp | | + * `----------------------------------' `----------------------------------' + */ + [_COLEMAK_DH] = LAYOUT( + KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J, KC_L , KC_U , KC_Y , KC_SCLN , KC_BSPC, + CTL_ESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M, KC_N , KC_E , KC_I , KC_O , CTL_QUOT, + LSFT_LPR , KC_Z , KC_X , KC_C , KC_D , KC_V , ES_GRV, KC_CAPS, FKEYS , ES_PLUS , KC_K , KC_H , KC_COMM , KC_DOT , KC_SLSH, RSFT_RPR, + ADJUST , LALT_SUP, LGUI_ENT, SYM_SPC , NAV_ESC, SYM_ENT, NAV_SPC , RGUI_TAB , RALT_BS , KC_APP + ), + +/* + * Nav Layer: Media, navigation + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | Shift| Ctrl | Alt | GUI | | | PgDn | ← | ↓ | → | VolDn| Insert | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_NAV] = LAYOUT( + _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, + _______, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, + _______, _______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Sym Layer: Numbers and symbols + * + * ,-------------------------------------------. ,-------------------------------------------. + * | º | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ' | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | ª | ! | " | · | $ | % | | & | / | ( | ) | = | ? | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | \ | | | @ | # | ~ | € | ¬ | | | | | ¡ | < | > | { | } | ¿ | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_SYM] = LAYOUT( + KC_NUBS, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , ES_QUOT, + S(KC_NUBS) , ES_EXLM, ES_DQUO , ES_BULT, ES_DLR, ES_PERC, ES_AMPR, ES_SLSH, ES_LPRN, ES_RPRN, ES_EQL, ES_QUES, + A(KC_NUBS), ES_PIPE, ES_AT, ES_HASH , OSX_TILD, A(KC_E), ES_NOT, _______, S(ES_CCED), ES_CCED, ES_IEXL, KC_GRAVE, S(KC_GRAVE), ES_LCBR, ES_RCBR, ES_IQUE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Sym Layer: Numbers and symbols + * + * ,-------------------------------------------. ,-------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ' | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | ~ | ! | @ | · | $ | % | | & | / | ( | ) | = | ¿ | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ +// [_SYM] = LAYOUT( +// C(KC_GRV), KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , +// OSX_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, +// ES_PIPE , A(KC_NUHS) , ES_COLN, ES_SCLN, ES_MINS, ES_LBRC, ES_LCBR, _______, _______, ES_RCBR, ES_RBRC, ES_UNDS, ES_COMM, ES_DOT, ES_SLSH, ES_QUOT, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// ), + +/* + * Function Layer: Function keys + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | F9 | F10 | F11 | F12 | | | | | | | | | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | F5 | F6 | F7 | F8 | | | | GUI | Alt | Ctrl | Shift| | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_FUNCTION] = LAYOUT( + _______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, + _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT, _______, + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Adjust Layer: Default layer settings, RGB + * + * ,-------------------------------------------. ,-------------------------------------------. + * | NumPad | | |QWERTY| | | | | | | | | RESET | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | Mouse | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | DEBUG | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * |Nav Perm| | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | EEP_RST| + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_ADJUST] = LAYOUT( + NUMPAD , _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, RESET , + MOUSE , _______, _______, DVORAK , _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, DEBUG , + DNAV , _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, EEPROM_RESET, + _______, _______, _______,_______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Layer NumPad + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | | | | | | | | | | | | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | | | | | | | | | | | | | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | | | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_NUMPAD] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + ADJUST , _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Layer Mouse + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | | | | | | |MS LCL| MS ↑ |MS RCL| Whl ↑| | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | Shift| Ctrl | Alt | GUI | | | | MS ← | MS ↓ | MS → | Whl ↓| | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | | | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_MOUSE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, + _______, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + ADJUST , _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* +// * Layer template +// * +// * ,-------------------------------------------. ,-------------------------------------------. +// * | | | | | | | | | | | | | | +// * |--------+------+------+------+------+------| |------+------+------+------+------+--------| +// * | | | | | | | | | | | | | | +// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +// * | | | | | | | | | | | | | | | | | | +// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' +// * | | | | | | | | | | | | +// * | | | | | | | | | | | | +// * `----------------------------------' `----------------------------------' +// */ +// [_LAYERINDEX] = LAYOUT( +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// ), +}; + +/* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/kyria/rev1/rev1.c + * These default settings can be overriden by your own settings in your keymap.c + * For your convenience, here's a copy of those settings so that you can uncomment them if you wish to apply your own modifications. + * DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own. + */ + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; } + +bool oled_task_user(void) { + if (is_keyboard_master()) { + // QMK Logo and version information + // clang-format off + static const char PROGMEM qmk_logo[] = { + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; + // clang-format on + + oled_write_P(qmk_logo, false); + oled_write_P(PSTR("Kyria AdG v0.1\n\n"), false); + + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state|default_layer_state)) { + case _QWERTY: + oled_write_P(PSTR("QWERTY\n"), false); + break; + case _DVORAK: + oled_write_P(PSTR("Dvorak\n"), false); + break; + case _COLEMAK_DH: + oled_write_P(PSTR("Colemak-DH\n"), false); + break; + case _NAV: + oled_write_P(PSTR("Nav\n"), false); + break; + case _SYM: + oled_write_P(PSTR("Sym\n"), false); + break; + case _FUNCTION: + oled_write_P(PSTR("Function\n"), false); + break; + case _ADJUST: + oled_write_P(PSTR("Adjust\n"), false); + break; + case _NUMPAD: + oled_write_P(PSTR("NumPad\n"), false); + break; + case _MOUSE: + oled_write_P(PSTR("Mouse\n"), false); + break; + default: + oled_write_P(PSTR("Undefined\n"), false); + } + + // Write host Keyboard LED Status to OLEDs + led_t led_usb_state = host_keyboard_led_state(); + oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); + } else { + // clang-format off + static const char PROGMEM kyria_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + // clang-format on + oled_write_raw_P(kyria_logo, sizeof(kyria_logo)); + } + return false; +} +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + + if (index == 0) { + // Volume control + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + // Page up/Page down + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + return false; +} +#endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LSFT_LPR: + if (record->tap.count && record->event.pressed) { + tap_code16(ES_LPRN); // Send KC_DQUO on tap + return false; // Return false to ignore further processing of key + } + break; + case RSFT_RPR: + if (record->tap.count && record->event.pressed) { + tap_code16(ES_RPRN); // Send KC_DQUO on tap + return false; // Return false to ignore further processing of key + } + break; + } + return true; +} \ No newline at end of file diff --git a/keyboards/splitkb/kyria/keymaps/maherma-adg/readme.md b/keyboards/splitkb/kyria/keymaps/maherma-adg/readme.md new file mode 100644 index 000000000000..bf54275d2b6e --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/maherma-adg/readme.md @@ -0,0 +1,17 @@ +# Kyria's Keymap adapted to Spanish MacOS (WIP) + + + +The default keymap contains 7 layers which allows it to include all keys found on spanish Apple keyboard plus media keys. +Hardware features of the Kyria such as OLEDs and underglow are also supported. + +The five different layers are the following: +1. Base layer (QWERTY, Colemak-DH or Dvorak) +2. Navigation layer +3. Symbols/Numbers layer +4. Function layer +5. Adjust layer +6. Numpad layer +7. Mouse layer + +Look into keymap.c to view mappings diff --git a/keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk b/keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk new file mode 100644 index 000000000000..f37eabe3d544 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk @@ -0,0 +1,5 @@ +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays +ENCODER_ENABLE = no # Enables the use of one or more encoders +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +MOUSEKEY_ENABLE = yes # Enable mouse movements \ No newline at end of file From 9d0153dc70d0ebc8314946209778b61a88d7d716 Mon Sep 17 00:00:00 2001 From: Takeshi Nishio Date: Thu, 10 Mar 2022 13:14:53 +0900 Subject: [PATCH 0346/1832] [keyboard]Add v1 to jones keyboard (#14405) * Change for latest information. * Update from v03_1 to v1. * Add v1 files. * Remove finished todo comment. * Fix COLUMN number, from "a" to "9". * Formatting * Update keyboards/jones/v1/rules.mk * Add license header. https://github.com/qmk/qmk_firmware/pull/14405#discussion_r710752035 * Implement better way to handle keycode for encoder. Use "action_exec" instead of "tap_code16" https://github.com/qmk/qmk_firmware/pull/14405#discussion_r710752924 * Move External EEPROM config to keyboard level * Move the lest of DYNAMIC_KEYMAP config to keyboard level https://github.com/qmk/qmk_firmware/pull/14405#discussion_r711668094 * Move the rest of DYNAMIC_KEYMAP config to keyboard level https://github.com/qmk/qmk_firmware/pull/14405#discussion_r711668094 * Update keyboards/jones/v1/rules.mk * Update keyboards/jones/v1/rules.mk * Update keyboards/jones/v1/rules.mk --- keyboards/jones/readme.md | 19 +- keyboards/jones/rules.mk | 2 +- keyboards/jones/v1/config.h | 83 +++++++ keyboards/jones/v1/info.json | 17 ++ keyboards/jones/v1/keymaps/default/keymap.c | 64 ++++++ keyboards/jones/v1/keymaps/default/readme.md | 10 + keyboards/jones/v1/keymaps/via/config.h | 34 +++ keyboards/jones/v1/keymaps/via/keymap.c | 225 +++++++++++++++++++ keyboards/jones/v1/keymaps/via/readme.md | 35 +++ keyboards/jones/v1/keymaps/via/rules.mk | 2 + keyboards/jones/v1/readme.md | 23 ++ keyboards/jones/v1/rules.mk | 24 ++ keyboards/jones/v1/v1.c | 28 +++ keyboards/jones/v1/v1.h | 57 +++++ 14 files changed, 612 insertions(+), 11 deletions(-) create mode 100644 keyboards/jones/v1/config.h create mode 100644 keyboards/jones/v1/info.json create mode 100644 keyboards/jones/v1/keymaps/default/keymap.c create mode 100644 keyboards/jones/v1/keymaps/default/readme.md create mode 100644 keyboards/jones/v1/keymaps/via/config.h create mode 100644 keyboards/jones/v1/keymaps/via/keymap.c create mode 100644 keyboards/jones/v1/keymaps/via/readme.md create mode 100644 keyboards/jones/v1/keymaps/via/rules.mk create mode 100644 keyboards/jones/v1/readme.md create mode 100644 keyboards/jones/v1/rules.mk create mode 100644 keyboards/jones/v1/v1.c create mode 100644 keyboards/jones/v1/v1.h diff --git a/keyboards/jones/readme.md b/keyboards/jones/readme.md index 180c12e18a87..43500d0a1d3f 100644 --- a/keyboards/jones/readme.md +++ b/keyboards/jones/readme.md @@ -1,23 +1,22 @@ # Jones -![Jones, ANSI style](https://github.com/jpskenn/Jones/raw/master/assets/IMG_2204.jpeg) +![Jones, "Wide" layout](https://raw.githubusercontent.com/jpskenn/Jones/master/assets/_DSF0714.jpeg) -![Jones, JP style](https://github.com/jpskenn/Jones/raw/master/assets/DSC_7189.jpeg) - -A 60% keyboard combined with Ortho-Linear and Row-staggered. It has gapless R2-R3 row. -GH60 case compatible PCB and keyplate. +A symmetrical 60% keyboard combined with Ortho-Linear and Row-staggered. It has gapless Row 2 - Row 3. +GH60 case compatible PCB and keyplate. +[More info](https://github.com/jpskenn/Jones) * Keyboard Maintainer: [jpskenn](https://github.com/jpskenn) -* Hardware Supported: Jones PCB, Keyplate -* Hardware Availability: [GitHub](https://github.com/jpskenn/Jones), [BOOTH](https://jpskenn.booth.pm) +* Hardware Supported: PCB, Key plate, Bottom plate +* Hardware Availability: [GitHub](https://github.com/jpskenn/Jones), [BOOTH](https://jpskenn.booth.pm), [Yushakobo](https://yushakobo.jp) Make example for this keyboard (after setting up your build environment): - make jones/v03_1:default_ansi - + make jones/v1:default + Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): - make jones/v03_1:default_ansi:flash + make jones/v1:default:flash To reset the keyboard into bootloader mode, press the reset switch on the underside. diff --git a/keyboards/jones/rules.mk b/keyboards/jones/rules.mk index 6b4943035734..9f0da2abecc0 100644 --- a/keyboards/jones/rules.mk +++ b/keyboards/jones/rules.mk @@ -1 +1 @@ -DEFAULT_FOLDER = jones/v03_1 +DEFAULT_FOLDER = jones/v1 diff --git a/keyboards/jones/v1/config.h b/keyboards/jones/v1/config.h new file mode 100644 index 000000000000..1f8acc6eb647 --- /dev/null +++ b/keyboards/jones/v1/config.h @@ -0,0 +1,83 @@ +/* +Copyright 2021 Takeshi Nishio + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xB9DD +#define PRODUCT_ID 0x175A +#define DEVICE_VER 0x0100 +#define MANUFACTURER jpskenn +#define PRODUCT Jones + +/* key matrix size */ +// Same number for Round-Robin matrix. +#define MATRIX_ROWS 10 +#define MATRIX_COLS 10 + +// Same pins for Round-Robin matrix. +#define MATRIX_ROW_PINS { B3, B2, E6, D6, D4, B0, B1, B7, B4, D7 } +#define MATRIX_COL_PINS { B3, B2, E6, D6, D4, B0, B1, B7, B4, D7 } + +#define DIODE_DIRECTION COL2ROW + +/* Rotary Encoder */ +#define ENCODERS_PAD_A { F5, D2 } +#define ENCODERS_PAD_B { F4, D3 } +#define ENCODER_RESOLUTION 4 //the default & suggested is 4 + +/* Audio */ +#ifdef AUDIO_ENABLE + #define AUDIO_PIN C6 + #define AUDIO_CLICKY + #define MUSIC_MAP +#endif + +/* RGBLIGHT */ +#define RGB_DI_PIN F1 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 4 // Left(2) + Right(2) + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + /*== Lighting Layers ==*/ + #define RGBLIGHT_LAYERS + #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF // Overriding RGB Lighting on/off status +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite trigger key. Left-Top of the layout. */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 9 + +/* External EEPROM */ +// Use 24LC64 EEPROM +#define EEPROM_I2C_24LC64 +// Set MAX_ADDR to specify actual EEPROM size. +// If it's not set, EEPROM size will be set ATmega32u4's 1023. +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 8191 +// How many layers to use with VIA / Remap. +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 // default:4 diff --git a/keyboards/jones/v1/info.json b/keyboards/jones/v1/info.json new file mode 100644 index 000000000000..6aba4fd74bf7 --- /dev/null +++ b/keyboards/jones/v1/info.json @@ -0,0 +1,17 @@ +{ + "keyboard_name": "Jones", + "url": "https://github.com/jpskenn/Jones", + "maintainer": "jpskenn", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0.5, "y":0}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, + {"x":0.5, "y":1, "w":1.5}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1, "w":1.5}, + {"x":0.5, "y":2, "w":1.5}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"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, "w":1.5}, + {"x":0.5, "y":3}, {"x":1.5, "y":3}, {"x":2.5, "y":3}, {"x":3.5, "y":3}, {"x":4.5, "y":3}, {"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":0.5, "y":4}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":1.5}, {"x":6.5, "y":4}, {"x":7.5, "y":4}, {"x":8.5, "y":4}, {"x":9.5, "y":4, "w":1.5}, {"x":11, "y":4, "w":1.25}, {"x":12.25, "y":4, "w":1.25}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, + {"x":0, "y":5}, {"x":1, "y":5}, {"x":14, "y":5}, {"x":15, "y":5} + ] + } + } +} diff --git a/keyboards/jones/v1/keymaps/default/keymap.c b/keyboards/jones/v1/keymaps/default/keymap.c new file mode 100644 index 000000000000..d1f952de6666 --- /dev/null +++ b/keyboards/jones/v1/keymaps/default/keymap.c @@ -0,0 +1,64 @@ +/* Copyright 2021 Takeshi Nishio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_number { + _BASE = 0, + _LOWER, + _RAISE, + _ADJUST, +}; + +// Key Macro +#define SP_LOW LT(_LOWER, KC_SPC) +#define SP_RAI LT(_RAISE, KC_SPC) +#define SP_ADJ LT(_ADJUST, KC_SPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_BSLS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_SCLN, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LEFT, KC_RGHT, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_MUTE, KC_LANG2, KC_LGUI, KC_LALT, SP_LOW, SP_RAI, KC_BSPC, SP_RAI,KC_RALT, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, + KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU + ), + [_LOWER] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, _______, _______, _______, _______, _______, _______, SP_ADJ,_______, _______, _______, _______, _______, + _______, _______, _______, _______ + ), + [_RAISE] = LAYOUT( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_QUOT, + _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F11, KC_F12, + _______, _______, _______, _______, SP_ADJ, _______, _______, _______,_______, _______, _______, KC_DOWN, KC_UP, + _______, _______, _______, _______ + ), + [_ADJUST] = LAYOUT( + _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, RGB_RMOD, _______, + _______, AU_TOG, CK_TOGG, MU_TOG, MU_MOD, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, RGB_MOD, _______, + KC_CAPS, KC_CAPS, CK_RST, CK_DOWN, CK_UP, MUV_DE, MUV_IN, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, + _______, _______, _______, _______ + ) +}; diff --git a/keyboards/jones/v1/keymaps/default/readme.md b/keyboards/jones/v1/keymaps/default/readme.md new file mode 100644 index 000000000000..453d9e858c65 --- /dev/null +++ b/keyboards/jones/v1/keymaps/default/readme.md @@ -0,0 +1,10 @@ +# Defalut keymap for Jones + +Simple keymap. + +## Layers + +- Base +- Lower +- Raise +- Adjust diff --git a/keyboards/jones/v1/keymaps/via/config.h b/keyboards/jones/v1/keymaps/via/config.h new file mode 100644 index 000000000000..5d24e1f91a38 --- /dev/null +++ b/keyboards/jones/v1/keymaps/via/config.h @@ -0,0 +1,34 @@ +/* +Copyright 2021 Takeshi Nishio + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +//------------------------------------------------------------------------------ +// Rotary Encoder +//------------------------------------------------------------------------------ +// Encoder triggers specific key matrix position, +// when turn knob clockwise or counterclockwise. +// This is handy to assign key codes by VIA. + +// Number of endoder +#define ENCODERS 2 + +// Mappings of encoder rotation to key position in key matrix. +// First encoder, Left side : k85, k86 +// Second encoder, Right side : k95, k96 +#define ENCODERS_CW_KEY { { 6, 8 }, { 6, 9 } } +#define ENCODERS_CCW_KEY { { 5, 8 }, { 5, 9 } } diff --git a/keyboards/jones/v1/keymaps/via/keymap.c b/keyboards/jones/v1/keymaps/via/keymap.c new file mode 100644 index 000000000000..7cd1434bbc04 --- /dev/null +++ b/keyboards/jones/v1/keymaps/via/keymap.c @@ -0,0 +1,225 @@ +/* Copyright 2021 Takeshi Nishio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H +#include "keymap_jp.h" + +// Defines names for use in layer keycodes and the keymap +enum layer_number { + _BASE1 = 0, + _BASE2, + _BASE3, + _LOWER, + _RAISE, + _ADJUST, +}; + +// Key Macro +#define SP_LOW LT(_LOWER, KC_SPC) +#define SP_RAI LT(_RAISE, KC_SPC) +#define SP_ADJ LT(_ADJUST, KC_SPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE1] = LAYOUT( + KC_ESC, JP_1, JP_2, JP_3, JP_4, JP_5, JP_CIRC, JP_YEN, JP_6, JP_7, JP_8, JP_9, JP_0, JP_MINS, KC_BSPC, + KC_TAB, JP_Q, JP_W, JP_E, JP_R, JP_T, JP_AT, JP_LBRC, JP_Y, JP_U, JP_I, JP_O, JP_P, KC_BSPC, + KC_LCTL, JP_A, JP_S, JP_D, JP_F, JP_G, JP_COLN, JP_RBRC, JP_H, JP_J, JP_K, JP_L, JP_SCLN, KC_ENT, + KC_LSFT, KC_LSFT, JP_Z, JP_X, JP_C, JP_V, JP_B, JP_SLSH, JP_BSLS, JP_N, JP_M, JP_COMM, JP_DOT, KC_DOWN, KC_UP, + KC_MUTE, KC_LGUI, KC_LALT, JP_MHEN, SP_LOW, SP_RAI, KC_BSPC, SP_RAI,SP_RAI, JP_HENK, JP_KANA, KC_LEFT, KC_RGHT, + KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU + ), + [_BASE2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_P0, KC_PDOT, _______, _______, + _______, _______, _______, _______ + ), + [_BASE3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, + _______, _______, _______, _______ + ), + [_LOWER] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, JP_EXLM, JP_DQUO, JP_HASH, JP_DLR, JP_PERC, JP_TILD, JP_PIPE, JP_AMPR, JP_QUOT, JP_LPRN, JP_RPRN, JP_EQL, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, SP_ADJ, _______, SP_ADJ,SP_ADJ, _______, _______, _______, _______, + _______, _______, _______, _______ + ), + [_RAISE] = LAYOUT( + 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, + KC_ESC, JP_1, JP_2, JP_3, JP_4, JP_5, JP_CIRC, JP_YEN, JP_6, JP_7, JP_8, JP_9, JP_0, KC_DEL, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, + _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, + _______, _______, _______, _______, SP_ADJ, _______, _______, _______,_______, _______, _______, KC_DOWN, KC_UP, + _______, _______, _______, _______ + ), + [_ADJUST] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + _______, DF(_BASE1),DF(_BASE2),DF(_BASE3),_______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, RGB_RMOD, _______, + _______, AU_TOG, CK_TOGG, MU_TOG, MU_MOD, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, RGB_MOD, _______, + KC_CAPS, KC_CAPS, CK_RST, CK_DOWN, CK_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, + _______, _______, _______, _______ + ), +}; + + +//------------------------------------------------------------------------------ +// RGB Light settings +//------------------------------------------------------------------------------ +#ifdef RGBLIGHT_LAYERS + +// Indicator LED settings +#define JONES_LED_INDICATOR_INDEX 0 // where to start indicator +#define JONES_LED_INDICATOR_COUNT 4 // how many leds used for indicator +#define JONES_LED_INDICATOR_CHANGE_COUNT 1 // how meny leds to change for temporally layer +#define JONES_LED_DIMMER_LEVEL 200 // brightness dimmer + +// for Default layer (= Base layer) +const rgblight_segment_t PROGMEM my_base1_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_COUNT, HSV_WHITE - JONES_LED_DIMMER_LEVEL} +); + +const rgblight_segment_t PROGMEM my_base2_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_COUNT, HSV_BLUE - JONES_LED_DIMMER_LEVEL} +); + +const rgblight_segment_t PROGMEM my_base3_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_COUNT, HSV_YELLOW - JONES_LED_DIMMER_LEVEL} +); + +// for temporal layer +const rgblight_segment_t PROGMEM my_caps_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {JONES_LED_INDICATOR_INDEX + 1 , 1, HSV_MAGENTA - JONES_LED_DIMMER_LEVEL}, + {JONES_LED_INDICATOR_INDEX + 1 + 2 , 1, HSV_MAGENTA - JONES_LED_DIMMER_LEVEL} +); + +const rgblight_segment_t PROGMEM my_lower_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_CHANGE_COUNT, HSV_GREEN - JONES_LED_DIMMER_LEVEL}, + {JONES_LED_INDICATOR_INDEX + 2, JONES_LED_INDICATOR_CHANGE_COUNT, HSV_GREEN - JONES_LED_DIMMER_LEVEL} +); + +const rgblight_segment_t PROGMEM my_raise_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_CHANGE_COUNT, HSV_CYAN - JONES_LED_DIMMER_LEVEL}, + {JONES_LED_INDICATOR_INDEX + 2, JONES_LED_INDICATOR_CHANGE_COUNT, HSV_CYAN - JONES_LED_DIMMER_LEVEL} +); + +const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_CHANGE_COUNT, HSV_RED - JONES_LED_DIMMER_LEVEL}, + {JONES_LED_INDICATOR_INDEX + 2, JONES_LED_INDICATOR_CHANGE_COUNT, HSV_RED - JONES_LED_DIMMER_LEVEL} +); + +// Define the array of layers. Later layers take precedence +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_base1_layer, + my_base2_layer, + my_base3_layer, + my_caps_layer, + my_lower_layer, + my_raise_layer, + my_adjust_layer +); + +// Enabling and disabling lighting layers +layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(4, layer_state_cmp(state, _LOWER)); + rgblight_set_layer_state(5, layer_state_cmp(state, _RAISE)); + rgblight_set_layer_state(6, layer_state_cmp(state, _ADJUST)); + + return state; +} + +// Enabling and disabling lighting layers for default layer +layer_state_t default_layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, layer_state_cmp(state, _BASE1)); + rgblight_set_layer_state(1, layer_state_cmp(state, _BASE2)); + rgblight_set_layer_state(2, layer_state_cmp(state, _BASE3)); + + return state; +} + +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(3, IS_HOST_LED_ON(USB_LED_CAPS_LOCK)); + + return true; +} +#endif + + +//------------------------------------------------------------------------------ +// Rotary Encoder +//------------------------------------------------------------------------------ +static uint8_t encoder_state[ENCODERS] = {0}; +static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; +static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; + +void encoder_action_unregister(void) { + for (int index = 0; index < ENCODERS; ++index) { + if (encoder_state[index]) { + keyevent_t encoder_event = (keyevent_t) { + .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], + .pressed = false, + .time = (timer_read() | 1) + }; + encoder_state[index] = 0; + action_exec(encoder_event); + } + } +} + +void encoder_action_register(uint8_t index, bool clockwise) { + keyevent_t encoder_event = (keyevent_t) { + .key = clockwise ? encoder_cw[index] : encoder_ccw[index], + .pressed = true, + .time = (timer_read() | 1) + }; + encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); + action_exec(encoder_event); +} + +void matrix_scan_kb(void) { + encoder_action_unregister(); + matrix_scan_user(); +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + encoder_action_register(index, clockwise); + return true; +}; + + +//------------------------------------------------------------------------------ +// Keyboard Initialization +//------------------------------------------------------------------------------ +void keyboard_post_init_user(void) { +debug_enable=true; +#ifdef RGB_DI_PIN + #ifdef RGBLIGHT_LAYERS + // Enable the LED layers. + rgblight_layers = my_rgb_layers; + + // prevent RGB light overrides layer indicator. + layer_state_set(default_layer_state); + #endif +#endif + +} diff --git a/keyboards/jones/v1/keymaps/via/readme.md b/keyboards/jones/v1/keymaps/via/readme.md new file mode 100644 index 000000000000..95da48228c85 --- /dev/null +++ b/keyboards/jones/v1/keymaps/via/readme.md @@ -0,0 +1,35 @@ +# Keymap for Jones with VIA support + +VIA supported basic keymap with external EEPROM. + +## Layout + +Japanese style "Wide" layout. + +## Layers + +- Base #1 +- Base #2 +- Base #3 +- Lower +- Raise +- Adjust + +## External EEPROM + +I2C connected external EEPROM. + +## LED lighting + +4 LEDsfor layer indicator. +2 for Left side and 2 for Right side. + +## Rotary encoder + +Supports up to 2 rotary encoders. +Left bottom and Right bottom. + +## Audio + +Supports monophonic audio. +"Music Mode" and "Audio Click" are enabled. diff --git a/keyboards/jones/v1/keymaps/via/rules.mk b/keyboards/jones/v1/keymaps/via/rules.mk new file mode 100644 index 000000000000..e1d2dc05828e --- /dev/null +++ b/keyboards/jones/v1/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +# Use VIA +VIA_ENABLE = yes diff --git a/keyboards/jones/v1/readme.md b/keyboards/jones/v1/readme.md new file mode 100644 index 000000000000..43500d0a1d3f --- /dev/null +++ b/keyboards/jones/v1/readme.md @@ -0,0 +1,23 @@ +# Jones + +![Jones, "Wide" layout](https://raw.githubusercontent.com/jpskenn/Jones/master/assets/_DSF0714.jpeg) + +A symmetrical 60% keyboard combined with Ortho-Linear and Row-staggered. It has gapless Row 2 - Row 3. +GH60 case compatible PCB and keyplate. +[More info](https://github.com/jpskenn/Jones) + +* Keyboard Maintainer: [jpskenn](https://github.com/jpskenn) +* Hardware Supported: PCB, Key plate, Bottom plate +* Hardware Availability: [GitHub](https://github.com/jpskenn/Jones), [BOOTH](https://jpskenn.booth.pm), [Yushakobo](https://yushakobo.jp) + +Make example for this keyboard (after setting up your build environment): + + make jones/v1:default + +Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): + + make jones/v1:default:flash + +To reset the keyboard into bootloader mode, press the reset switch on the underside. + +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/jones/v1/rules.mk b/keyboards/jones/v1/rules.mk new file mode 100644 index 000000000000..56d629cfe9d7 --- /dev/null +++ b/keyboards/jones/v1/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = yes # Audio output +ENCODER_ENABLE = yes # Rotary Encoder + +# Use I2C connected External EEPROM +EEPROM_DRIVER = i2c + +LTO_ENABLE = yes diff --git a/keyboards/jones/v1/v1.c b/keyboards/jones/v1/v1.c new file mode 100644 index 000000000000..292a1fbabed9 --- /dev/null +++ b/keyboards/jones/v1/v1.c @@ -0,0 +1,28 @@ +/* Copyright 2021 Takeshi Nishio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "v1.h" + +#if defined(AUDIO_ENABLE) && defined(MUSIC_MAP) +const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = LAYOUT( + 0, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0 +); +#endif diff --git a/keyboards/jones/v1/v1.h b/keyboards/jones/v1/v1.h new file mode 100644 index 000000000000..e37c34accc60 --- /dev/null +++ b/keyboards/jones/v1/v1.h @@ -0,0 +1,57 @@ +/* Copyright 2021 Takeshi Nishio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* +FULL 10x10 ROUND-ROBIN MATRIX for Reference + +{ KC_NO, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \ +{ k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19 }, \ +{ k20, k21, KC_NO, k23, k24, k25, k26, k27, k28, k29 }, \ +{ k30, k31, k32, KC_NO, k34, k35, k36, k37, k38, k39 }, \ +{ k40, k41, k42, k43, KC_NO, k45, k46, k47, k48, k49 }, \ +{ k50, k51, k52, k53, k54, KC_NO, k56, k57, k58, k59 }, \ +{ k60, k61, k62, k63, k64, k65, KC_NO, k67, k68, k69 }, \ +{ k70, k71, k72, k73, k74, k75, k76, KC_NO, k78, k79 }, \ +{ k80, k81, k82, k83, k84, k85, k86, k87, KC_NO, k89 }, \ +{ k90, k91, k92, k93, k94, k95, k96, k97, k98, KC_NO } \ + +*/ + +/* Keys on 6th row are used with rotary encoder. */ +#define LAYOUT( \ + k09, k59, k08, k54, k04, k50, k56, k06, k05, k52, k02, k53, k07, k51, k01, \ + k19, k69, k18, k64, k14, k60, k10, k16, k15, k62, k12, k63, k17, k61, \ + k29, k79, k28, k74, k24, k70, k20, k26, k25, k72, k23, k73, k27, k71, \ + k39, k89, k38, k84, k34, k80, k30, k36, k35, k82, k32, k83, k37, k81, k31, \ + k49, k98, k48, k94, k90, k46, k45, k92, k42, k93, k47, k91, k41, \ + k85, k86, k95, k96 \ +) \ +{ \ + { KC_NO, k01, k02, KC_NO, k04, k05, k06, k07, k08, k09, }, \ + { k10, KC_NO, k12, KC_NO, k14, k15, k16, k17, k18, k19, }, \ + { k20, KC_NO, KC_NO, k23, k24, k25, k26, k27, k28, k29, }, \ + { k30, k31, k32, KC_NO, k34, k35, k36, k37, k38, k39, }, \ + { KC_NO, k41, k42, KC_NO, KC_NO, k45, k46, k47, k48, k49, }, \ + { k50, k51, k52, k53, k54, KC_NO, k56, KC_NO, KC_NO, k59, }, \ + { k60, k61, k62, k63, k64, KC_NO, KC_NO, KC_NO, KC_NO, k69, }, \ + { k70, k71, k72, k73, k74, KC_NO, KC_NO, KC_NO, KC_NO, k79, }, \ + { k80, k81, k82, k83, k84, k85, k86, KC_NO, KC_NO, k89, }, \ + { k90, k91, k92, k93, k94, k95, k96, KC_NO, k98, KC_NO } \ +} From dc8db6551d2d11534920d1d723d06a99c1b93071 Mon Sep 17 00:00:00 2001 From: Hao Xiang Liew <62730710+haoxiangliew@users.noreply.github.com> Date: Thu, 10 Mar 2022 02:35:54 -0500 Subject: [PATCH 0347/1832] [KEYBOARD] keyboardio/atreus: VIA support (#16604) --- .../keyboardio/atreus/keymaps/via/keymap.c | 53 +++++++++++++++++++ .../keyboardio/atreus/keymaps/via/rules.mk | 2 + 2 files changed, 55 insertions(+) create mode 100644 keyboards/keyboardio/atreus/keymaps/via/keymap.c create mode 100644 keyboards/keyboardio/atreus/keymaps/via/rules.mk diff --git a/keyboards/keyboardio/atreus/keymaps/via/keymap.c b/keyboards/keyboardio/atreus/keymaps/via/keymap.c new file mode 100644 index 000000000000..c649ec1c654f --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +// Copyright (C) 2022, Hao Xiang Liew + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( /* Qwerty */ + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , + KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_MINS, KC_QUOT, KC_ENT ), + + /* + * ! @ up { } || pgup 7 8 9 * + * # left down right $ || pgdn 4 5 6 + + * [ ] ( ) & || ` 1 2 3 \ + * lower insert super shift bksp ctrl || alt space fn . 0 = + */ + [1] = LAYOUT( /* [> RAISE <] */ + KC_EXLM, KC_AT, KC_UP, KC_DLR, KC_PERC, KC_PGUP, KC_7, KC_8, KC_9, KC_BSPC, + KC_LPRN, KC_LEFT, KC_DOWN, KC_RGHT, KC_RPRN, KC_PGDN, KC_4, KC_5, KC_6, KC_BSLS, + KC_LBRC, KC_RBRC, KC_HASH, KC_LCBR, KC_RCBR, KC_CIRC, KC_AMPR,KC_ASTR, KC_1, KC_2, KC_3, KC_PLUS, + TG(2), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT,KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ), + /* + * insert home up end pgup || up F7 F8 F9 F10 + * del left down right pgdn || down F4 F5 F6 F11 + * volup reset || F1 F2 F3 F12 + * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause + */ + [2] = LAYOUT( /* [> LOWER <] */ + KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , + KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_TRNS, KC_TRNS, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , + TO(0), KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(0), KC_PSCR, KC_SLCK, KC_PAUS ), + + [3] = LAYOUT( /* blank */ + 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, 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 , + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) +}; diff --git a/keyboards/keyboardio/atreus/keymaps/via/rules.mk b/keyboards/keyboardio/atreus/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes From bd70f5261cbb7fd4700bf9876da94c9661dadf63 Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 10 Mar 2022 23:18:07 +1100 Subject: [PATCH 0348/1832] Remove `matrix_key_count()` (#16603) * Remove `matrix_key_count()` * Remove `matrix_bitpop()` --- keyboards/40percentclub/ut47/matrix.c | 9 --------- keyboards/amj96/matrix.c | 9 --------- keyboards/bpiphany/hid_liber/matrix.c | 12 ------------ keyboards/bpiphany/kitten_paw/matrix.c | 8 -------- keyboards/bpiphany/pegasushoof/2013/matrix.c | 9 --------- keyboards/bpiphany/pegasushoof/2015/matrix.c | 9 --------- keyboards/bpiphany/tiger_lily/matrix.c | 7 ------- keyboards/bpiphany/unloved_bastard/matrix.c | 7 ------- keyboards/converter/ibm_terminal/matrix.c | 1 - keyboards/converter/palm_usb/matrix.c | 9 --------- keyboards/converter/sun_usb/matrix.c | 9 --------- keyboards/converter/usb_usb/custom_matrix.cpp | 12 ------------ keyboards/dc01/arrow/matrix.c | 16 +--------------- keyboards/dc01/left/matrix.c | 14 -------------- keyboards/dc01/numpad/matrix.c | 16 +--------------- keyboards/dc01/right/matrix.c | 16 +--------------- keyboards/dichotomy/matrix.c | 12 ------------ keyboards/duck/jetfire/matrix.c | 11 +---------- keyboards/gboards/ergotaco/matrix.c | 9 --------- keyboards/gboards/georgi/matrix.c | 9 --------- keyboards/gboards/gergo/matrix.c | 8 -------- keyboards/gboards/gergoplex/matrix.c | 7 ------- keyboards/handwired/dactyl/matrix.c | 9 --------- keyboards/handwired/frenchdev/matrix.c | 9 --------- keyboards/handwired/owlet60/matrix.c | 12 ------------ keyboards/handwired/promethium/matrix.c | 13 ------------- keyboards/handwired/pterodactyl/matrix.c | 9 --------- keyboards/helix/rev2/custom/matrix.c | 9 --------- keyboards/hhkb/ansi/matrix.c | 8 -------- keyboards/hhkb/jp/matrix.c | 8 -------- keyboards/honeycomb/matrix.c | 12 ------------ keyboards/hotdox/matrix.c | 9 --------- keyboards/kakunpc/angel64/alpha/matrix.c | 12 ------------ keyboards/kakunpc/angel64/rev1/matrix.c | 12 ------------ keyboards/kakunpc/thedogkeyboard/matrix.c | 12 ------------ keyboards/kinesis/alvicstep/matrix.c | 9 --------- keyboards/kmac/matrix.c | 11 ----------- keyboards/kmini/matrix.c | 9 --------- keyboards/ktec/ergodone/matrix.c | 9 --------- keyboards/moon/matrix.c | 11 ----------- keyboards/nek_type_a/matrix.c | 14 -------------- keyboards/redscarf_iiplus/verb/matrix.c | 13 ------------- keyboards/redscarf_iiplus/verc/matrix.c | 13 ------------- keyboards/redscarf_iiplus/verd/matrix.c | 13 ------------- keyboards/sirius/unigo66/custom_matrix.cpp | 12 ------------ keyboards/sixkeyboard/matrix.c | 10 ---------- keyboards/sx60/matrix.c | 12 ------------ keyboards/woodkeys/meira/matrix.c | 13 ------------- keyboards/ymdk/sp64/matrix.c | 9 --------- keyboards/yosino58/rev1/matrix.c | 9 --------- quantum/matrix_common.c | 11 ----------- 51 files changed, 4 insertions(+), 527 deletions(-) diff --git a/keyboards/40percentclub/ut47/matrix.c b/keyboards/40percentclub/ut47/matrix.c index 89537592c52a..97922e2dbe96 100644 --- a/keyboards/40percentclub/ut47/matrix.c +++ b/keyboards/40percentclub/ut47/matrix.c @@ -118,15 +118,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - /* Column pin configuration * col: 0 1 2 3 4 5 6 7 8 9 10 11 * pin: D7 E6 B4 B5 B6 B2 B3 B1 F7 F6 F5 F4 diff --git a/keyboards/amj96/matrix.c b/keyboards/amj96/matrix.c index ffd66d120f59..2999c6241ba5 100644 --- a/keyboards/amj96/matrix.c +++ b/keyboards/amj96/matrix.c @@ -130,15 +130,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - /* Column pin configuration * col: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 * pin: F7 F6 F5 F4 F1 F0 E6 D7 D6 D5 D1 D0 B7 B6 B0 C7 diff --git a/keyboards/bpiphany/hid_liber/matrix.c b/keyboards/bpiphany/hid_liber/matrix.c index da73c616d78c..90e8a327b580 100755 --- a/keyboards/bpiphany/hid_liber/matrix.c +++ b/keyboards/bpiphany/hid_liber/matrix.c @@ -245,15 +245,3 @@ void matrix_print(void) print("\n"); } } - -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - for (uint8_t j = 0; j < MATRIX_COLS; j++) { - if (matrix_is_on(i, j)) - count++; - } - } - return count; -} diff --git a/keyboards/bpiphany/kitten_paw/matrix.c b/keyboards/bpiphany/kitten_paw/matrix.c index 56114858f153..6548040c7c73 100644 --- a/keyboards/bpiphany/kitten_paw/matrix.c +++ b/keyboards/bpiphany/kitten_paw/matrix.c @@ -132,14 +132,6 @@ void matrix_print(void) { } } -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop32(matrix[i]); - } - return count; -} - static uint8_t read_rows(void) { return (PINC&(1<<7) ? 0 : (1<<0)) | diff --git a/keyboards/bpiphany/pegasushoof/2013/matrix.c b/keyboards/bpiphany/pegasushoof/2013/matrix.c index 09244982d904..a55cba7afd30 100644 --- a/keyboards/bpiphany/pegasushoof/2013/matrix.c +++ b/keyboards/bpiphany/pegasushoof/2013/matrix.c @@ -132,15 +132,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - static matrix_row_t read_cols(void) { return diff --git a/keyboards/bpiphany/pegasushoof/2015/matrix.c b/keyboards/bpiphany/pegasushoof/2015/matrix.c index b05869fedac0..2b142f9fc8f9 100644 --- a/keyboards/bpiphany/pegasushoof/2015/matrix.c +++ b/keyboards/bpiphany/pegasushoof/2015/matrix.c @@ -111,15 +111,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < matrix_rows(); i++) { - count += bitpop16(matrix_get_row(i)); - } - return count; -} - static matrix_row_t read_cols(void) { return diff --git a/keyboards/bpiphany/tiger_lily/matrix.c b/keyboards/bpiphany/tiger_lily/matrix.c index 47a92268c867..abf6f3f42bb0 100644 --- a/keyboards/bpiphany/tiger_lily/matrix.c +++ b/keyboards/bpiphany/tiger_lily/matrix.c @@ -146,10 +146,3 @@ void matrix_print(void) { } #endif } - -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (uint8_t row = 0; row < MATRIX_ROWS; row++) - count += bitpop32(matrix[row]); - return count; -} diff --git a/keyboards/bpiphany/unloved_bastard/matrix.c b/keyboards/bpiphany/unloved_bastard/matrix.c index 328d9015c257..98cdf22f487a 100644 --- a/keyboards/bpiphany/unloved_bastard/matrix.c +++ b/keyboards/bpiphany/unloved_bastard/matrix.c @@ -147,10 +147,3 @@ void matrix_print(void) { } #endif } - -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (uint8_t row = 0; row < MATRIX_ROWS; row++) - count += bitpop32(matrix[row]); - return count; -} diff --git a/keyboards/converter/ibm_terminal/matrix.c b/keyboards/converter/ibm_terminal/matrix.c index caa0a3805105..3d6736a0cc1d 100644 --- a/keyboards/converter/ibm_terminal/matrix.c +++ b/keyboards/converter/ibm_terminal/matrix.c @@ -27,7 +27,6 @@ along with this program. If not, see . #define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) #define print_matrix_header() print("\nr/c 01234567\n") -#define matrix_bitpop(i) bitpop(matrix[i]) #define ROW_SHIFTER ((uint8_t)1) diff --git a/keyboards/converter/palm_usb/matrix.c b/keyboards/converter/palm_usb/matrix.c index 010fd56c7944..28d4b87d838b 100644 --- a/keyboards/converter/palm_usb/matrix.c +++ b/keyboards/converter/palm_usb/matrix.c @@ -379,12 +379,3 @@ void matrix_print(void) print("\n"); } } - -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop(matrix[i]); - } - return count; -} diff --git a/keyboards/converter/sun_usb/matrix.c b/keyboards/converter/sun_usb/matrix.c index e28d165d52e7..35ec391024f6 100644 --- a/keyboards/converter/sun_usb/matrix.c +++ b/keyboards/converter/sun_usb/matrix.c @@ -179,12 +179,3 @@ void matrix_print(void) print("\n"); } } - -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop(matrix[i]); - } - return count; -} diff --git a/keyboards/converter/usb_usb/custom_matrix.cpp b/keyboards/converter/usb_usb/custom_matrix.cpp index 265fb2c68d92..00b5bc505335 100644 --- a/keyboards/converter/usb_usb/custom_matrix.cpp +++ b/keyboards/converter/usb_usb/custom_matrix.cpp @@ -225,18 +225,6 @@ extern "C" return row_bits; } - uint8_t matrix_key_count(void) { - uint8_t count = 0; - - count += bitpop(local_keyboard_report.mods); - for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { - if (IS_ANY(local_keyboard_report.keys[i])) { - count++; - } - } - return count; - } - void matrix_print(void) { print("\nr/c 0123456789ABCDEF\n"); for (uint8_t row = 0; row < matrix_rows(); row++) { diff --git a/keyboards/dc01/arrow/matrix.c b/keyboards/dc01/arrow/matrix.c index b69e14791417..e7c3bec2b561 100644 --- a/keyboards/dc01/arrow/matrix.c +++ b/keyboards/dc01/arrow/matrix.c @@ -48,17 +48,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -234,17 +231,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - - - #if (DIODE_DIRECTION == COL2ROW) static void init_cols(void) @@ -388,4 +374,4 @@ static void unselect_cols(void) void matrix_setup(void){ i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c sei(); //enable interupts -} \ No newline at end of file +} diff --git a/keyboards/dc01/left/matrix.c b/keyboards/dc01/left/matrix.c index 3eeb2586bc92..8b8f89a08175 100644 --- a/keyboards/dc01/left/matrix.c +++ b/keyboards/dc01/left/matrix.c @@ -52,17 +52,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -259,17 +256,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - - - #if (DIODE_DIRECTION == COL2ROW) static void init_cols(void) diff --git a/keyboards/dc01/numpad/matrix.c b/keyboards/dc01/numpad/matrix.c index e8e2a1b14a2f..1dc90a6b8483 100644 --- a/keyboards/dc01/numpad/matrix.c +++ b/keyboards/dc01/numpad/matrix.c @@ -48,17 +48,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -234,17 +231,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - - - #if (DIODE_DIRECTION == COL2ROW) static void init_cols(void) @@ -388,4 +374,4 @@ static void unselect_cols(void) void matrix_setup(void){ i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c sei(); //enable interupts -} \ No newline at end of file +} diff --git a/keyboards/dc01/right/matrix.c b/keyboards/dc01/right/matrix.c index 2509bd7d4c68..f21dec1d2b1a 100644 --- a/keyboards/dc01/right/matrix.c +++ b/keyboards/dc01/right/matrix.c @@ -49,17 +49,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -235,17 +232,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - - - #if (DIODE_DIRECTION == COL2ROW) static void init_cols(void) @@ -389,4 +375,4 @@ static void unselect_cols(void) void matrix_setup(void){ i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c sei(); //enable interupts -} \ No newline at end of file +} diff --git a/keyboards/dichotomy/matrix.c b/keyboards/dichotomy/matrix.c index 806b66d498cd..dc90e7501ea3 100755 --- a/keyboards/dichotomy/matrix.c +++ b/keyboards/dichotomy/matrix.c @@ -34,17 +34,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -215,12 +212,3 @@ void matrix_print(void) print("\n"); } } - -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} diff --git a/keyboards/duck/jetfire/matrix.c b/keyboards/duck/jetfire/matrix.c index 729fa6dd1449..2b64885842e2 100644 --- a/keyboards/duck/jetfire/matrix.c +++ b/keyboards/duck/jetfire/matrix.c @@ -136,15 +136,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop32(matrix[i]); - } - return count; -} - static void init_ports(void) { // Rows are inputs (inputs are 0) @@ -268,4 +259,4 @@ static void select_col(uint8_t col) PORTB |= 0b00000001; break; } -} \ No newline at end of file +} diff --git a/keyboards/gboards/ergotaco/matrix.c b/keyboards/gboards/ergotaco/matrix.c index 16300a7e4fab..7e5d675218a9 100644 --- a/keyboards/gboards/ergotaco/matrix.c +++ b/keyboards/gboards/ergotaco/matrix.c @@ -221,15 +221,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - // Remember this means ROWS static void init_cols(void) { diff --git a/keyboards/gboards/georgi/matrix.c b/keyboards/gboards/georgi/matrix.c index 7d635ad8d74f..24bb2d7acf81 100644 --- a/keyboards/gboards/georgi/matrix.c +++ b/keyboards/gboards/georgi/matrix.c @@ -242,15 +242,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - // Remember this means ROWS static void init_cols(void) { diff --git a/keyboards/gboards/gergo/matrix.c b/keyboards/gboards/gergo/matrix.c index 443e97132bc4..3898246e3079 100644 --- a/keyboards/gboards/gergo/matrix.c +++ b/keyboards/gboards/gergo/matrix.c @@ -286,14 +286,6 @@ void matrix_print(void) { } } -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - // Remember this means ROWS static void init_cols(void) { // init on mcp23018 diff --git a/keyboards/gboards/gergoplex/matrix.c b/keyboards/gboards/gergoplex/matrix.c index a075b8572584..d5b046fe409c 100644 --- a/keyboards/gboards/gergoplex/matrix.c +++ b/keyboards/gboards/gergoplex/matrix.c @@ -164,13 +164,6 @@ void matrix_print(void) { print("\n"); } } -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} // Remember this means ROWS static void init_cols(void) { diff --git a/keyboards/handwired/dactyl/matrix.c b/keyboards/handwired/dactyl/matrix.c index a70e8c5acadc..5869b43c1b40 100644 --- a/keyboards/handwired/dactyl/matrix.c +++ b/keyboards/handwired/dactyl/matrix.c @@ -307,15 +307,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - #if (DIODE_DIRECTION == COL2ROW) static void init_cols(void) { diff --git a/keyboards/handwired/frenchdev/matrix.c b/keyboards/handwired/frenchdev/matrix.c index a043f7853839..6dec9c6a74aa 100644 --- a/keyboards/handwired/frenchdev/matrix.c +++ b/keyboards/handwired/frenchdev/matrix.c @@ -196,15 +196,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - /* Column pin configuration * * Teensy diff --git a/keyboards/handwired/owlet60/matrix.c b/keyboards/handwired/owlet60/matrix.c index 211273d1fad9..3b68c08b458e 100644 --- a/keyboards/handwired/owlet60/matrix.c +++ b/keyboards/handwired/owlet60/matrix.c @@ -33,17 +33,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -130,15 +127,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - // uses standard row code static void select_row(uint8_t row) { diff --git a/keyboards/handwired/promethium/matrix.c b/keyboards/handwired/promethium/matrix.c index 90dbce14a954..3b03ab8893f7 100644 --- a/keyboards/handwired/promethium/matrix.c +++ b/keyboards/handwired/promethium/matrix.c @@ -43,17 +43,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -178,16 +175,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - - #define ROW_MASK 0b11100000 static const uint8_t row_bit[MATRIX_ROWS] = { diff --git a/keyboards/handwired/pterodactyl/matrix.c b/keyboards/handwired/pterodactyl/matrix.c index d0f74802a01b..9d81a64bb49a 100644 --- a/keyboards/handwired/pterodactyl/matrix.c +++ b/keyboards/handwired/pterodactyl/matrix.c @@ -308,15 +308,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - #if (DIODE_DIRECTION == COL2ROW) static void init_cols(void) { diff --git a/keyboards/helix/rev2/custom/matrix.c b/keyboards/helix/rev2/custom/matrix.c index 699c15358bea..5221d7fd4ecd 100644 --- a/keyboards/helix/rev2/custom/matrix.c +++ b/keyboards/helix/rev2/custom/matrix.c @@ -309,15 +309,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - static void init_cols(void) { for(int x = 0; x < MATRIX_COLS; x++) { diff --git a/keyboards/hhkb/ansi/matrix.c b/keyboards/hhkb/ansi/matrix.c index 5dde74cce9f8..8b0e4606bc6a 100644 --- a/keyboards/hhkb/ansi/matrix.c +++ b/keyboards/hhkb/ansi/matrix.c @@ -189,14 +189,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) { - count += bitpop16(matrix_get_row(r)); - } - return count; -} - void matrix_power_up(void) { KEY_POWER_ON(); } diff --git a/keyboards/hhkb/jp/matrix.c b/keyboards/hhkb/jp/matrix.c index 81db77fca7ae..9d04d62849a8 100644 --- a/keyboards/hhkb/jp/matrix.c +++ b/keyboards/hhkb/jp/matrix.c @@ -190,14 +190,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) { - count += bitpop16(matrix_get_row(r)); - } - return count; -} - void matrix_power_up(void) { KEY_POWER_ON(); } diff --git a/keyboards/honeycomb/matrix.c b/keyboards/honeycomb/matrix.c index fe1e4ce8ff6a..9a87ca9a2eca 100755 --- a/keyboards/honeycomb/matrix.c +++ b/keyboards/honeycomb/matrix.c @@ -35,17 +35,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -191,12 +188,3 @@ void matrix_print(void) print("\n"); } } - -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} diff --git a/keyboards/hotdox/matrix.c b/keyboards/hotdox/matrix.c index 5d0b0f6dd58f..0da5a3e3a2e9 100644 --- a/keyboards/hotdox/matrix.c +++ b/keyboards/hotdox/matrix.c @@ -160,15 +160,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - static void init_cols(void) { // Pro Micro diff --git a/keyboards/kakunpc/angel64/alpha/matrix.c b/keyboards/kakunpc/angel64/alpha/matrix.c index 2851859cf261..8ca9841e48e0 100644 --- a/keyboards/kakunpc/angel64/alpha/matrix.c +++ b/keyboards/kakunpc/angel64/alpha/matrix.c @@ -27,17 +27,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -119,15 +116,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - static void select_row(uint8_t row) { setPinOutput(row_pins[row]); diff --git a/keyboards/kakunpc/angel64/rev1/matrix.c b/keyboards/kakunpc/angel64/rev1/matrix.c index 2851859cf261..8ca9841e48e0 100644 --- a/keyboards/kakunpc/angel64/rev1/matrix.c +++ b/keyboards/kakunpc/angel64/rev1/matrix.c @@ -27,17 +27,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -119,15 +116,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - static void select_row(uint8_t row) { setPinOutput(row_pins[row]); diff --git a/keyboards/kakunpc/thedogkeyboard/matrix.c b/keyboards/kakunpc/thedogkeyboard/matrix.c index 2851859cf261..8ca9841e48e0 100644 --- a/keyboards/kakunpc/thedogkeyboard/matrix.c +++ b/keyboards/kakunpc/thedogkeyboard/matrix.c @@ -27,17 +27,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -119,15 +116,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - static void select_row(uint8_t row) { setPinOutput(row_pins[row]); diff --git a/keyboards/kinesis/alvicstep/matrix.c b/keyboards/kinesis/alvicstep/matrix.c index 9c0537451005..5636418849d0 100644 --- a/keyboards/kinesis/alvicstep/matrix.c +++ b/keyboards/kinesis/alvicstep/matrix.c @@ -158,15 +158,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - static matrix_row_t read_row(uint8_t row) { _delay_us(30); // without this wait read unstable value. diff --git a/keyboards/kmac/matrix.c b/keyboards/kmac/matrix.c index 3d5a3081d171..2052a9be7181 100644 --- a/keyboards/kmac/matrix.c +++ b/keyboards/kmac/matrix.c @@ -27,17 +27,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -79,14 +76,6 @@ void matrix_print(void) { } } -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - /* Columns 0 - 15 * These columns uses two 74HC237D 3 to 8 bit demultiplexers. * col / pin: PB6 PC6 PC7 PF1 PF0 diff --git a/keyboards/kmini/matrix.c b/keyboards/kmini/matrix.c index eee19054eac7..f3e60eb8693d 100755 --- a/keyboards/kmini/matrix.c +++ b/keyboards/kmini/matrix.c @@ -132,15 +132,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop32(matrix[i]); - } - return count; -} - static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { bool matrix_changed = false; diff --git a/keyboards/ktec/ergodone/matrix.c b/keyboards/ktec/ergodone/matrix.c index 3973ff3484ce..529974532a79 100644 --- a/keyboards/ktec/ergodone/matrix.c +++ b/keyboards/ktec/ergodone/matrix.c @@ -158,15 +158,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - /* Column pin configuration * * Pro Micro: 6 5 4 3 2 1 0 diff --git a/keyboards/moon/matrix.c b/keyboards/moon/matrix.c index 0615b60ad3b3..977338b2f63c 100644 --- a/keyboards/moon/matrix.c +++ b/keyboards/moon/matrix.c @@ -76,17 +76,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -125,14 +122,6 @@ void matrix_print(void) { } } -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - static void init_i2c(void) { pca9555_init(IC1); pca9555_init(IC2); diff --git a/keyboards/nek_type_a/matrix.c b/keyboards/nek_type_a/matrix.c index b396be99117e..2989af510841 100644 --- a/keyboards/nek_type_a/matrix.c +++ b/keyboards/nek_type_a/matrix.c @@ -50,17 +50,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -234,17 +231,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - - - #if (DIODE_DIRECTION == COL2ROW) static void init_cols(void) diff --git a/keyboards/redscarf_iiplus/verb/matrix.c b/keyboards/redscarf_iiplus/verb/matrix.c index 88ecb586b3e0..930d246434cd 100755 --- a/keyboards/redscarf_iiplus/verb/matrix.c +++ b/keyboards/redscarf_iiplus/verb/matrix.c @@ -27,17 +27,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -123,16 +120,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - - #ifdef DIRECT_PINS static void init_pins(void) { diff --git a/keyboards/redscarf_iiplus/verc/matrix.c b/keyboards/redscarf_iiplus/verc/matrix.c index 88ecb586b3e0..930d246434cd 100755 --- a/keyboards/redscarf_iiplus/verc/matrix.c +++ b/keyboards/redscarf_iiplus/verc/matrix.c @@ -27,17 +27,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -123,16 +120,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - - #ifdef DIRECT_PINS static void init_pins(void) { diff --git a/keyboards/redscarf_iiplus/verd/matrix.c b/keyboards/redscarf_iiplus/verd/matrix.c index d9dbb3c0a345..b70393222926 100644 --- a/keyboards/redscarf_iiplus/verd/matrix.c +++ b/keyboards/redscarf_iiplus/verd/matrix.c @@ -27,17 +27,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -123,16 +120,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - - #ifdef DIRECT_PINS static void init_pins(void) { diff --git a/keyboards/sirius/unigo66/custom_matrix.cpp b/keyboards/sirius/unigo66/custom_matrix.cpp index 955ce189a82f..72e120400f13 100644 --- a/keyboards/sirius/unigo66/custom_matrix.cpp +++ b/keyboards/sirius/unigo66/custom_matrix.cpp @@ -205,18 +205,6 @@ extern "C" return row_bits; } - uint8_t matrix_key_count(void) { - uint8_t count = 0; - - count += bitpop(local_keyboard_report.mods); - for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { - if (IS_ANY(local_keyboard_report.keys[i])) { - count++; - } - } - return count; - } - void matrix_print(void) { print("\nr/c 0123456789ABCDEF\n"); for (uint8_t row = 0; row < matrix_rows(); row++) { diff --git a/keyboards/sixkeyboard/matrix.c b/keyboards/sixkeyboard/matrix.c index a6b28f3a126d..36ae05fb4271 100644 --- a/keyboards/sixkeyboard/matrix.c +++ b/keyboards/sixkeyboard/matrix.c @@ -129,13 +129,3 @@ matrix_row_t matrix_get_row(uint8_t row) void matrix_print(void) { } - -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - diff --git a/keyboards/sx60/matrix.c b/keyboards/sx60/matrix.c index 231e1c8836e1..94d581f574b3 100644 --- a/keyboards/sx60/matrix.c +++ b/keyboards/sx60/matrix.c @@ -42,17 +42,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -201,15 +198,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - static void init_cols(void) { for(uint8_t x = 0; x < ATMEGA_COLS; x++) { diff --git a/keyboards/woodkeys/meira/matrix.c b/keyboards/woodkeys/meira/matrix.c index 8e8e9485b482..4fdc354237ec 100644 --- a/keyboards/woodkeys/meira/matrix.c +++ b/keyboards/woodkeys/meira/matrix.c @@ -45,17 +45,14 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) # define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) # define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) # define ROW_SHIFTER ((uint32_t)1) #endif @@ -183,16 +180,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - - static void init_rows(void) { for(uint8_t x = 0; x < MATRIX_ROWS; x++) { diff --git a/keyboards/ymdk/sp64/matrix.c b/keyboards/ymdk/sp64/matrix.c index 9a6e37bcdcb1..69276c7b3c28 100644 --- a/keyboards/ymdk/sp64/matrix.c +++ b/keyboards/ymdk/sp64/matrix.c @@ -154,15 +154,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - static void matrix_select_row(uint8_t row) { #ifdef RIGHT_HALF diff --git a/keyboards/yosino58/rev1/matrix.c b/keyboards/yosino58/rev1/matrix.c index e2be7113bf6d..802ce00cc618 100644 --- a/keyboards/yosino58/rev1/matrix.c +++ b/keyboards/yosino58/rev1/matrix.c @@ -311,15 +311,6 @@ void matrix_print(void) } } -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += bitpop16(matrix[i]); - } - return count; -} - static void init_cols(void) { for(int x = 0; x < MATRIX_COLS; x++) { diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c index 1497ceae71b5..2cf84843471a 100644 --- a/quantum/matrix_common.c +++ b/quantum/matrix_common.c @@ -72,15 +72,12 @@ inline matrix_row_t matrix_get_row(uint8_t row) { #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(row) bitpop(matrix_get_row(row)) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(row) bitpop16(matrix_get_row(row)) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(row) bitpop32(matrix_get_row(row)) #endif void matrix_print(void) { @@ -94,14 +91,6 @@ void matrix_print(void) { } } -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - #ifdef SPLIT_KEYBOARD bool matrix_post_scan(void) { bool changed = false; From 265b96a12ca1580e0cb8c3b5bac3687f005e4f30 Mon Sep 17 00:00:00 2001 From: makenova Date: Thu, 10 Mar 2022 12:10:05 -0700 Subject: [PATCH 0349/1832] [Keyboard] Add omega4 (#16464) --- keyboards/makenova/omega/omega4/config.h | 26 ++++++++ keyboards/makenova/omega/omega4/info.json | 37 +++++++++++ .../omega/omega4/keymaps/default/config.h | 12 ++++ .../omega/omega4/keymaps/default/keymap.c | 64 ++++++++++++++++++ .../omega/omega4/keymaps/default/readme.md | 1 + .../omega/omega4/keymaps/default/rules.mk | 1 + .../omega4/keymaps/default_10u_bar/config.h | 12 ++++ .../omega4/keymaps/default_10u_bar/keymap.c | 65 +++++++++++++++++++ .../omega4/keymaps/default_10u_bar/readme.md | 1 + .../omega4/keymaps/default_10u_bar/rules.mk | 1 + .../omega4/keymaps/default_6u_bar/config.h | 12 ++++ .../omega4/keymaps/default_6u_bar/keymap.c | 64 ++++++++++++++++++ .../omega4/keymaps/default_6u_bar/readme.md | 1 + .../omega4/keymaps/default_6u_bar/rules.mk | 1 + keyboards/makenova/omega/omega4/omega4.c | 4 ++ keyboards/makenova/omega/omega4/omega4.h | 51 +++++++++++++++ keyboards/makenova/omega/omega4/readme.md | 23 +++++++ keyboards/makenova/omega/omega4/rules.mk | 18 +++++ 18 files changed, 394 insertions(+) create mode 100644 keyboards/makenova/omega/omega4/config.h create mode 100644 keyboards/makenova/omega/omega4/info.json create mode 100644 keyboards/makenova/omega/omega4/keymaps/default/config.h create mode 100644 keyboards/makenova/omega/omega4/keymaps/default/keymap.c create mode 100644 keyboards/makenova/omega/omega4/keymaps/default/readme.md create mode 100644 keyboards/makenova/omega/omega4/keymaps/default/rules.mk create mode 100644 keyboards/makenova/omega/omega4/keymaps/default_10u_bar/config.h create mode 100644 keyboards/makenova/omega/omega4/keymaps/default_10u_bar/keymap.c create mode 100644 keyboards/makenova/omega/omega4/keymaps/default_10u_bar/readme.md create mode 100644 keyboards/makenova/omega/omega4/keymaps/default_10u_bar/rules.mk create mode 100644 keyboards/makenova/omega/omega4/keymaps/default_6u_bar/config.h create mode 100644 keyboards/makenova/omega/omega4/keymaps/default_6u_bar/keymap.c create mode 100644 keyboards/makenova/omega/omega4/keymaps/default_6u_bar/readme.md create mode 100644 keyboards/makenova/omega/omega4/keymaps/default_6u_bar/rules.mk create mode 100644 keyboards/makenova/omega/omega4/omega4.c create mode 100644 keyboards/makenova/omega/omega4/omega4.h create mode 100644 keyboards/makenova/omega/omega4/readme.md create mode 100644 keyboards/makenova/omega/omega4/rules.mk diff --git a/keyboards/makenova/omega/omega4/config.h b/keyboards/makenova/omega/omega4/config.h new file mode 100644 index 000000000000..acd482324d53 --- /dev/null +++ b/keyboards/makenova/omega/omega4/config.h @@ -0,0 +1,26 @@ +// Copyright 2022 makenova (@makenova) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/makenova/omega/omega4/info.json b/keyboards/makenova/omega/omega4/info.json new file mode 100644 index 000000000000..5e9bf2259596 --- /dev/null +++ b/keyboards/makenova/omega/omega4/info.json @@ -0,0 +1,37 @@ +{ + "manufacturer": "makenova", + "keyboard_name": "omega4", + "maintainer": "makenova", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["D4", "F4", "B5", "F5", "F6", "B6", "B2", "B3", "B1", "F7"], + "rows": ["C6", "D7", "E6", "B4"] + }, + "processor": "atmega32u4", + "url": "https://github.com/makenova/omega", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"A", "x":0.25, "y":1}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":5.25, "y":1}, {"label":"J", "x":6.25, "y":1}, {"label":"K", "x":7.25, "y":1}, {"label":"L", "x":8.25, "y":1}, {"label":":", "x":9.25, "y":1}, {"label":"Z", "x":0.5, "y":2}, {"label":"X", "x":1.5, "y":2}, {"label":"C", "x":2.5, "y":2}, {"label":"V", "x":3.5, "y":2}, {"label":"", "x":4.5, "y":2}, {"label":"", "x":5.5, "y":2}, {"label":"B", "x":6.5, "y":2}, {"label":"N", "x":7.5, "y":2}, {"label":"M", "x":8.5, "y":2}, {"label":"<", "x":9.5, "y":2}, {"label":"", "x":0.75, "y":3}, {"label":"", "x":1.75, "y":3}, {"label":"Space", "x":2.75, "y":3, "w":6}, {"label":"", "x":8.75, "y":3}, {"label":"", "x":9.75, "y":3}] + }, + "LAYOUT_6u_bar": { + "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"A", "x":0.25, "y":1}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":5.25, "y":1}, {"label":"J", "x":6.25, "y":1}, {"label":"K", "x":7.25, "y":1}, {"label":"L", "x":8.25, "y":1}, {"label":":", "x":9.25, "y":1}, {"label":"Z", "x":0.5, "y":2}, {"label":"X", "x":1.5, "y":2}, {"label":"C", "x":2.5, "y":2}, {"label":"V", "x":3.5, "y":2}, {"label":"", "x":4.5, "y":2}, {"label":"", "x":5.5, "y":2}, {"label":"B", "x":6.5, "y":2}, {"label":"N", "x":7.5, "y":2}, {"label":"M", "x":8.5, "y":2}, {"label":"<", "x":9.5, "y":2}, {"label":"", "x":0.75, "y":3}, {"label":"Space", "x":1.75, "y":3, "w":8}, {"label":"", "x":9.75, "y":3}] + }, + "LAYOUT_10u_bar": { + "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"A", "x":0.25, "y":1}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":5.25, "y":1}, {"label":"J", "x":6.25, "y":1}, {"label":"K", "x":7.25, "y":1}, {"label":"L", "x":8.25, "y":1}, {"label":":", "x":9.25, "y":1}, {"label":"Z", "x":0.5, "y":2}, {"label":"X", "x":1.5, "y":2}, {"label":"C", "x":2.5, "y":2}, {"label":"V", "x":3.5, "y":2}, {"label":"", "x":4.5, "y":2}, {"label":"", "x":5.5, "y":2}, {"label":"B", "x":6.5, "y":2}, {"label":"N", "x":7.5, "y":2}, {"label":"M", "x":8.5, "y":2}, {"label":"<", "x":9.5, "y":2}, {"label":"Space", "x":0.75, "y":3, "w":10}] + } + } +} \ No newline at end of file diff --git a/keyboards/makenova/omega/omega4/keymaps/default/config.h b/keyboards/makenova/omega/omega4/keymaps/default/config.h new file mode 100644 index 000000000000..1d2dd053510e --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default/config.h @@ -0,0 +1,12 @@ +// Copyright 2022 makenova (@makenova) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#ifdef COMBO_ENABLE +# define COMBO_COUNT 4 +# define COMBO_TERM 50 +#endif + +#define TAPPING_TERM 150 +#define IGNORE_MOD_TAP_INTERRUPT \ No newline at end of file diff --git a/keyboards/makenova/omega/omega4/keymaps/default/keymap.c b/keyboards/makenova/omega/omega4/keymaps/default/keymap.c new file mode 100644 index 000000000000..26c5ada80648 --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default/keymap.c @@ -0,0 +1,64 @@ +// Copyright 2022 makenova (@makenova) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// ctrl +#define CTRL_S LCTL_T(KC_S) +#define CTRL_L RCTL_T(KC_L) +// alt +#define ALT_D LALT_T(KC_D) +#define ALT_K RALT_T(KC_K) +//gui +#define GUI_F LGUI_T(KC_F) +#define GUI_J RGUI_T(KC_J) +// shift +#define SFT_A LSFT_T(KC_A) +#define SFT_SCLN RSFT_T(KC_SCLN) +// layers +#define OS_SFT OSM(MOD_RSFT) +#define OS_3 OSL(3) +#define OS_4 OSL(4) +#define LT1_SPC LT(1,KC_SPC) +#define LT2_ESC LT(2,KC_ESC) + +#ifdef COMBO_ENABLE +const uint16_t PROGMEM combo_bspc[] = {GUI_J, ALT_K, COMBO_END}; +const uint16_t PROGMEM combo_ent[] = {ALT_D, GUI_F, COMBO_END}; +const uint16_t PROGMEM combo_tab[] = {KC_C, KC_V, COMBO_END}; +const uint16_t PROGMEM combo_del[] = {KC_M, KC_COMM, COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + COMBO(combo_bspc,KC_BSPC), // 1 + COMBO(combo_ent,KC_ENT), // 2 + COMBO(combo_tab,KC_TAB), // 3 + COMBO(combo_del,KC_DEL), // 4 +}; +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + SFT_A, CTRL_S, ALT_D, GUI_F, KC_G, KC_H, GUI_J, ALT_K, CTRL_L, SFT_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + OS_4, LT2_ESC, LT1_SPC, OS_3, OS_SFT + ), + LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_QUOT, + KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_MINS, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_DQUO, + KC_TILDE, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, KC_PIPE, KC_UNDS, KC_PLUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/makenova/omega/omega4/keymaps/default/readme.md b/keyboards/makenova/omega/omega4/keymaps/default/readme.md new file mode 100644 index 000000000000..9e5e5aeb1e4a --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for omega4 diff --git a/keyboards/makenova/omega/omega4/keymaps/default/rules.mk b/keyboards/makenova/omega/omega4/keymaps/default/rules.mk new file mode 100644 index 000000000000..ab1e438182a3 --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes diff --git a/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/config.h b/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/config.h new file mode 100644 index 000000000000..1d2dd053510e --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/config.h @@ -0,0 +1,12 @@ +// Copyright 2022 makenova (@makenova) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#ifdef COMBO_ENABLE +# define COMBO_COUNT 4 +# define COMBO_TERM 50 +#endif + +#define TAPPING_TERM 150 +#define IGNORE_MOD_TAP_INTERRUPT \ No newline at end of file diff --git a/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/keymap.c b/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/keymap.c new file mode 100644 index 000000000000..b60275d3abb7 --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/keymap.c @@ -0,0 +1,65 @@ +// Copyright 2022 makenova (@makenova) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// ctrl +#define CTRL_S LCTL_T(KC_S) +#define CTRL_L RCTL_T(KC_L) +// alt +#define ALT_D LALT_T(KC_D) +#define ALT_K RALT_T(KC_K) +//gui +#define GUI_F LGUI_T(KC_F) +#define GUI_J RGUI_T(KC_J) +// shift +#define SFT_A LSFT_T(KC_A) +#define SFT_SCLN RSFT_T(KC_SCLN) +// layers +#define OS_SFT OSM(MOD_RSFT) +#define OS_3 OSL(3) +#define OS_4 OSL(4) +#define LT1_SPC LT(1,KC_SPC) +#define LT2_Z LT(2,KC_Z) +#define LT3_SLSH LT(3,KC_SLSH) + +#ifdef COMBO_ENABLE +const uint16_t PROGMEM combo_bspc[] = {GUI_J, ALT_K, COMBO_END}; +const uint16_t PROGMEM combo_ent[] = {ALT_D, GUI_F, COMBO_END}; +const uint16_t PROGMEM combo_tab[] = {KC_C, KC_V, COMBO_END}; +const uint16_t PROGMEM combo_del[] = {KC_M, KC_COMM, COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + COMBO(combo_bspc,KC_BSPC), // 1 + COMBO(combo_ent,KC_ENT), // 2 + COMBO(combo_tab,KC_TAB), // 3 + COMBO(combo_del,KC_DEL), // 4 +}; +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_10u_bar( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + SFT_A, CTRL_S, ALT_D, GUI_F, KC_G, KC_H, GUI_J, ALT_K, CTRL_L, SFT_SCLN, + LT2_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LT3_SLSH, + LT1_SPC + ), + LAYOUT_10u_bar( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_QUOT, + KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_MINS, KC_EQL, KC_TRNS, + KC_TRNS + ), + LAYOUT_10u_bar( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_DQUO, + KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, KC_PIPE, KC_UNDS, KC_PLUS, KC_TILDE, + KC_TRNS + ), + LAYOUT_10u_bar( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, + RESET + ) +}; \ No newline at end of file diff --git a/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/readme.md b/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/readme.md new file mode 100644 index 000000000000..30893854159e --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/readme.md @@ -0,0 +1 @@ +# The default keymap for 10u spacebar omega4 diff --git a/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/rules.mk b/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/rules.mk new file mode 100644 index 000000000000..ab1e438182a3 --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes diff --git a/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/config.h b/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/config.h new file mode 100644 index 000000000000..1d2dd053510e --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/config.h @@ -0,0 +1,12 @@ +// Copyright 2022 makenova (@makenova) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#ifdef COMBO_ENABLE +# define COMBO_COUNT 4 +# define COMBO_TERM 50 +#endif + +#define TAPPING_TERM 150 +#define IGNORE_MOD_TAP_INTERRUPT \ No newline at end of file diff --git a/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/keymap.c b/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/keymap.c new file mode 100644 index 000000000000..477582613c5d --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/keymap.c @@ -0,0 +1,64 @@ +// Copyright 2022 makenova (@makenova) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// ctrl +#define CTRL_S LCTL_T(KC_S) +#define CTRL_L RCTL_T(KC_L) +// alt +#define ALT_D LALT_T(KC_D) +#define ALT_K RALT_T(KC_K) +//gui +#define GUI_F LGUI_T(KC_F) +#define GUI_J RGUI_T(KC_J) +// shift +#define SFT_A LSFT_T(KC_A) +#define SFT_SCLN RSFT_T(KC_SCLN) +// layers +#define OS_SFT OSM(MOD_RSFT) +#define OS_3 OSL(3) +#define OS_4 OSL(4) +#define LT1_SPC LT(1,KC_SPC) +#define LT2_ESC LT(2,KC_ESC) + +#ifdef COMBO_ENABLE +const uint16_t PROGMEM combo_bspc[] = {GUI_J, ALT_K, COMBO_END}; +const uint16_t PROGMEM combo_ent[] = {ALT_D, GUI_F, COMBO_END}; +const uint16_t PROGMEM combo_tab[] = {KC_C, KC_V, COMBO_END}; +const uint16_t PROGMEM combo_del[] = {KC_M, KC_COMM, COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + COMBO(combo_bspc,KC_BSPC), // 1 + COMBO(combo_ent,KC_ENT), // 2 + COMBO(combo_tab,KC_TAB), // 3 + COMBO(combo_del,KC_DEL), // 4 +}; +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_6u_bar( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + SFT_A, CTRL_S, ALT_D, GUI_F, KC_G, KC_H, GUI_J, ALT_K, CTRL_L, SFT_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + LT2_ESC, LT1_SPC, OS_3 + ), + LAYOUT_6u_bar( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_QUOT, + KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_MINS, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + LAYOUT_6u_bar( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_DQUO, + KC_TILDE, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, KC_PIPE, KC_UNDS, KC_PLUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + LAYOUT_6u_bar( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, + RESET, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/readme.md b/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/readme.md new file mode 100644 index 000000000000..31f6b4c0197c --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/readme.md @@ -0,0 +1 @@ +# The default keymap for 6u spacebar omega4 diff --git a/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/rules.mk b/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/rules.mk new file mode 100644 index 000000000000..ab1e438182a3 --- /dev/null +++ b/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes diff --git a/keyboards/makenova/omega/omega4/omega4.c b/keyboards/makenova/omega/omega4/omega4.c new file mode 100644 index 000000000000..b64ae638bdbf --- /dev/null +++ b/keyboards/makenova/omega/omega4/omega4.c @@ -0,0 +1,4 @@ +// Copyright 2022 makenova (@makenova) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "omega4.h" diff --git a/keyboards/makenova/omega/omega4/omega4.h b/keyboards/makenova/omega/omega4/omega4.h new file mode 100644 index 000000000000..754b58ee35de --- /dev/null +++ b/keyboards/makenova/omega/omega4/omega4.h @@ -0,0 +1,51 @@ +// Copyright 2022 makenova (@makenova) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K30, K31, K35, K38, K39 \ +){ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, K31, KC_NO, KC_NO, KC_NO, K35, KC_NO, KC_NO, K38, K39 } \ +} + +#define LAYOUT_6u_bar( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K30, K35, K39 \ +){ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, KC_NO, KC_NO, KC_NO, KC_NO, K35, KC_NO, KC_NO, KC_NO, K39 } \ +} + +#define LAYOUT_10u_bar( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K35 \ +){ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K35, KC_NO, KC_NO, KC_NO, KC_NO } \ +} diff --git a/keyboards/makenova/omega/omega4/readme.md b/keyboards/makenova/omega/omega4/readme.md new file mode 100644 index 000000000000..0b4db785d536 --- /dev/null +++ b/keyboards/makenova/omega/omega4/readme.md @@ -0,0 +1,23 @@ +# omega4 + +![omega4](https://i.imgur.com/tV4iCoD.png) + +uniform stagger 4 row board. + +- Keyboard Maintainer: [makenova](https://github.com/makenova) +- Hardware Supported: [omega4](https://github.com/makenova/omega) +- Hardware Availability: https://www.cbkbd.com/product/omega4-keyboard-kit + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb makenova/omega/omega4 -km default + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +- **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +- **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/makenova/omega/omega4/rules.mk b/keyboards/makenova/omega/omega4/rules.mk new file mode 100644 index 000000000000..515ca5621f8f --- /dev/null +++ b/keyboards/makenova/omega/omega4/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 61a8a60dfb5af399f84321fbf82e974aab0a5968 Mon Sep 17 00:00:00 2001 From: kopibeng <52724926+kopibeng@users.noreply.github.com> Date: Fri, 11 Mar 2022 03:10:34 +0800 Subject: [PATCH 0350/1832] [Keyboard] Add MNK65 (#16400) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Joel Challis --- keyboards/kopibeng/mnk65/config.h | 60 +++++++++++++ keyboards/kopibeng/mnk65/info.json | 84 +++++++++++++++++++ .../kopibeng/mnk65/keymaps/default/keymap.c | 39 +++++++++ keyboards/kopibeng/mnk65/keymaps/via/keymap.c | 57 +++++++++++++ keyboards/kopibeng/mnk65/keymaps/via/rules.mk | 1 + keyboards/kopibeng/mnk65/mnk65.c | 17 ++++ keyboards/kopibeng/mnk65/mnk65.h | 55 ++++++++++++ keyboards/kopibeng/mnk65/readme.md | 21 +++++ keyboards/kopibeng/mnk65/rules.mk | 18 ++++ 9 files changed, 352 insertions(+) create mode 100644 keyboards/kopibeng/mnk65/config.h create mode 100644 keyboards/kopibeng/mnk65/info.json create mode 100644 keyboards/kopibeng/mnk65/keymaps/default/keymap.c create mode 100644 keyboards/kopibeng/mnk65/keymaps/via/keymap.c create mode 100644 keyboards/kopibeng/mnk65/keymaps/via/rules.mk create mode 100644 keyboards/kopibeng/mnk65/mnk65.c create mode 100644 keyboards/kopibeng/mnk65/mnk65.h create mode 100644 keyboards/kopibeng/mnk65/readme.md create mode 100644 keyboards/kopibeng/mnk65/rules.mk diff --git a/keyboards/kopibeng/mnk65/config.h b/keyboards/kopibeng/mnk65/config.h new file mode 100644 index 000000000000..6059de6ab1c8 --- /dev/null +++ b/keyboards/kopibeng/mnk65/config.h @@ -0,0 +1,60 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4B50 // 'KP' kopibeng +#define PRODUCT_ID 0x0651 +#define DEVICE_VER 0x0001 +#define MANUFACTURER kopibeng +#define PRODUCT MNK65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { F0, F1, F4, B7, B3 } +#define MATRIX_COL_PINS { D0, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5 } +#define UNUSED_PINS + +#define LED_CAPS_LOCK_PIN D1 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/kopibeng/mnk65/info.json b/keyboards/kopibeng/mnk65/info.json new file mode 100644 index 000000000000..e0bd2f785909 --- /dev/null +++ b/keyboards/kopibeng/mnk65/info.json @@ -0,0 +1,84 @@ +{ + "keyboard_name": "MNK65", + "maintainer": "kopibeng", + "url": "https://monokei.co/", + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "0,0", "x": 0, "y": 0 }, + { "label": "0,1", "x": 1, "y": 0 }, + { "label": "0,2", "x": 2, "y": 0 }, + { "label": "0,3", "x": 3, "y": 0 }, + { "label": "0,4", "x": 4, "y": 0 }, + { "label": "0,5", "x": 5, "y": 0 }, + { "label": "0,6", "x": 6, "y": 0 }, + { "label": "0,7", "x": 7, "y": 0 }, + { "label": "0,8", "x": 8, "y": 0 }, + { "label": "0,9", "x": 9, "y": 0 }, + { "label": "0,10", "x": 10, "y": 0 }, + { "label": "0,11", "x": 11, "y": 0 }, + { "label": "0,12", "x": 12, "y": 0 }, + { "label": "1,13", "x": 13, "y": 0 }, + { "label": "0,13", "x": 14, "y": 0 }, + { "label": "0,14", "x": 15, "y": 0 }, + + { "label": "1,0", "w": 1.5, "x": 0, "y": 1 }, + { "label": "1,1", "x": 1.5, "y": 1 }, + { "label": "1,2", "x": 2.5, "y": 1 }, + { "label": "1,3", "x": 3.5, "y": 1 }, + { "label": "1,4", "x": 4.5, "y": 1 }, + { "label": "1,5", "x": 5.5, "y": 1 }, + { "label": "1,6", "x": 6.5, "y": 1 }, + { "label": "1,7", "x": 7.5, "y": 1 }, + { "label": "1,8", "x": 8.5, "y": 1 }, + { "label": "1,9", "x": 9.5, "y": 1 }, + { "label": "1,10", "x": 10.5, "y": 1 }, + { "label": "1,11", "x": 11.5, "y": 1 }, + { "label": "2,12", "x": 12.5, "y": 1 }, + { "label": "1,12", "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "1,14", "x": 15, "y": 1 }, + + { "label": "2,0", "w": 1.75, "x": 0, "y": 2 }, + { "label": "2,1", "x": 1.75, "y": 2 }, + { "label": "2,2", "x": 2.75, "y": 2 }, + { "label": "2,3", "x": 3.75, "y": 2 }, + { "label": "2,4", "x": 4.75, "y": 2 }, + { "label": "2,5", "x": 5.75, "y": 2 }, + { "label": "2,6", "x": 6.75, "y": 2 }, + { "label": "2,7", "x": 7.75, "y": 2 }, + { "label": "2,8", "x": 8.75, "y": 2 }, + { "label": "2,9", "x": 9.75, "y": 2 }, + { "label": "2,10", "x": 10.75, "y": 2 }, + { "label": "2,11", "x": 11.75, "y": 2 }, + { "label": "2,13", "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "2,14", "x": 15, "y": 2 }, + + { "label": "3,0", "w": 1.25, "x": 0, "y": 3 }, + { "label": "3,1", "x": 1.25, "y": 3 }, + { "label": "3,2", "x": 2.25, "y": 3 }, + { "label": "3,3", "x": 3.25, "y": 3 }, + { "label": "3,4", "x": 4.25, "y": 3 }, + { "label": "3,5", "x": 5.25, "y": 3 }, + { "label": "3,6", "x": 6.25, "y": 3 }, + { "label": "3,7", "x": 7.25, "y": 3 }, + { "label": "3,8", "x": 8.25, "y": 3 }, + { "label": "3,9", "x": 9.25, "y": 3 }, + { "label": "3,10", "x": 10.25, "y": 3 }, + { "label": "3,11", "x": 11.25, "y": 3 }, + { "label": "3,12", "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "3,13", "x": 14, "y": 3 }, + { "label": "3,14", "x": 15, "y": 3 }, + + { "label": "4,0", "w": 1.25, "x": 0, "y": 4 }, + { "label": "4,1", "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "4,2", "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "4,6", "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "4,10", "w": 1.25, "x": 10, "y": 4 }, + { "label": "4,11", "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "4,12", "x": 13, "y": 4 }, + { "label": "4,13", "x": 14, "y": 4 }, + { "label": "4,14", "x": 15, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/kopibeng/mnk65/keymaps/default/keymap.c b/keyboards/kopibeng/mnk65/keymaps/default/keymap.c new file mode 100644 index 000000000000..f588475516ec --- /dev/null +++ b/keyboards/kopibeng/mnk65/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // Default layer + [0] = LAYOUT_all( + 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_BSPC, KC_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + // Fn1 Layer + [1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + diff --git a/keyboards/kopibeng/mnk65/keymaps/via/keymap.c b/keyboards/kopibeng/mnk65/keymaps/via/keymap.c new file mode 100644 index 000000000000..ea2fcff18c91 --- /dev/null +++ b/keyboards/kopibeng/mnk65/keymaps/via/keymap.c @@ -0,0 +1,57 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // Default layer + [0] = LAYOUT_all( + 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_BSPC, KC_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + // Fn1 Layer + [1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + // Fn2 Layer + [2] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + // Fn3 Layer + [3] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + diff --git a/keyboards/kopibeng/mnk65/keymaps/via/rules.mk b/keyboards/kopibeng/mnk65/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/kopibeng/mnk65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kopibeng/mnk65/mnk65.c b/keyboards/kopibeng/mnk65/mnk65.c new file mode 100644 index 000000000000..2ae4eec19432 --- /dev/null +++ b/keyboards/kopibeng/mnk65/mnk65.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "mnk65.h" \ No newline at end of file diff --git a/keyboards/kopibeng/mnk65/mnk65.h b/keyboards/kopibeng/mnk65/mnk65.h new file mode 100644 index 000000000000..60a92f1a6532 --- /dev/null +++ b/keyboards/kopibeng/mnk65/mnk65.h @@ -0,0 +1,55 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define ___ KC_NO + +/* + * + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │1D │0D │0E │ │0D │ Full Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │2C │1C │1E │ │2D │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌─┴─┐ │ ISO + * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ │1C │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴───┘ + * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │4A │4B │ │4C │4D │4E │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┐ + * │40 │41 │42 │46 │4B │ 7u Tsangan + * └─────┴───┴─────┴───────────────────────────┴─────┘ + * + */ + +// LAYOUT_all: +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K1D, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K2C, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ + {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E}, \ + {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E}, \ + {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E}, \ + {K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E} \ +} diff --git a/keyboards/kopibeng/mnk65/readme.md b/keyboards/kopibeng/mnk65/readme.md new file mode 100644 index 000000000000..80e256e617ff --- /dev/null +++ b/keyboards/kopibeng/mnk65/readme.md @@ -0,0 +1,21 @@ +# MNK65 + +![MNK65](https://i.imgur.com/5BzAgPgl.png) + +A QMK-powered, VIA-enabled 65% PCB with support for ANSI/ISO layouts, split Backspace and 6.25U/7U bottom row. + +* Keyboard Maintainer: kopibeng +* Hardware Supported: MONOKEI - Hiro +* Hardware Availability: https://monokei.co/ + +Make example for this keyboard (after setting up your build environment): + + make kopibeng/mnk65:default + +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). + +## Bootloader + +* Physical reset button: Press the RESET switch on top side of PCB. +* Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard. +* Keycode reset: Press the RESET keycode (default: MO(1) + Home keys) in layout if available. diff --git a/keyboards/kopibeng/mnk65/rules.mk b/keyboards/kopibeng/mnk65/rules.mk new file mode 100644 index 000000000000..73ac281e0b45 --- /dev/null +++ b/keyboards/kopibeng/mnk65/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 98da119293b7f231694119b51afc709b3d817ea2 Mon Sep 17 00:00:00 2001 From: Era James <51322608+era1112@users.noreply.github.com> Date: Thu, 10 Mar 2022 23:07:37 +0300 Subject: [PATCH 0351/1832] era1112 keymap for preonic (#16064) Added the keymap I have been using as a daily driver for the last month. * good firmware 26 jan, best clicky mode stability so far * modified to reflect master branch coding style * further modified to reflect master branch coding style * improving clicky stability, tuned down clicky delay duration * changed name of keymap folder to use lowercase letters --- keyboards/preonic/keymaps/era1112/config.h | 60 ++++ keyboards/preonic/keymaps/era1112/keymap.c | 365 ++++++++++++++++++++ keyboards/preonic/keymaps/era1112/readme.md | 8 + keyboards/preonic/keymaps/era1112/rules.mk | 26 ++ 4 files changed, 459 insertions(+) create mode 100644 keyboards/preonic/keymaps/era1112/config.h create mode 100644 keyboards/preonic/keymaps/era1112/keymap.c create mode 100644 keyboards/preonic/keymaps/era1112/readme.md create mode 100644 keyboards/preonic/keymaps/era1112/rules.mk diff --git a/keyboards/preonic/keymaps/era1112/config.h b/keyboards/preonic/keymaps/era1112/config.h new file mode 100644 index 000000000000..86cc6135e5e2 --- /dev/null +++ b/keyboards/preonic/keymaps/era1112/config.h @@ -0,0 +1,60 @@ +// Copyright 2022 Era James(@Era1112) +// SPDX - License - Identifier: GPL - 2.0 - or -later + +#pragma once + + +//----------- Default statements -----------// +//------------------------------------------// +#define MUSIC_MASK (keycode < 0xFF) + +/* + * MIDI options + */ + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ +#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +#define MIDI_ADVANCED + +/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ +//#define MIDI_TONE_KEYCODE_OCTAVES 2 + + +//----------- Added statements -------------// +//------------------------------------------// +#define TAPPING_TERM 200 // For tapdances + +// Commented to see if it helps stalls on clicky mode #define DYNAMIC_MACRO_NO_NESTING // Improve dynamic macro stability +#ifdef AUDIO_ENABLE + #define AUDIO_INIT_DELAY // to make startup audio work + #define STARTUP_SONG SONG(PREONIC_SOUND) + #define AUDIO_CLICKY // enable clicky mode + + // Clicky mode parameters + #define AUDIO_CLICKY_FREQ_MIN 65.0f // Default 65 + #define AUDIO_CLICKY_FREQ_DEFAULT 800.0f // Default 440 + #define AUDIO_CLICKY_FREQ_MAX 1500.0f // Defaul 1500 + #define AUDIO_CLICKY_FREQ_RANDOMNESS 1.0f // Default 0.05 + #define AUDIO_CLICKY_DELAY_DURATION 0.1f // Default 1 +#endif //AUDIO_ENABLE + +#define RGBLIGHT_SLEEP // RGB lights turn off when host sleeps + +// Firmware minimization + +// Commented to see if it helps stalls on clicky mode +// #define NO_ACTION_ONESHOT +// #undef LOCKING_SUPPORT_ENABLE +// #undef LOCKING_RESYNC_ENABLE +// #define NO_MUSIC_MODE +// #define LAYER_STATE_8BIT // Limits keymap to 8 layers +// #undef RGBLIGHT_ANIMATIONS // Removes rgb animations diff --git a/keyboards/preonic/keymaps/era1112/keymap.c b/keyboards/preonic/keymaps/era1112/keymap.c new file mode 100644 index 000000000000..4031f998db15 --- /dev/null +++ b/keyboards/preonic/keymaps/era1112/keymap.c @@ -0,0 +1,365 @@ +// Copyright 2022 Era James(@Era1112) +// SPDX - License - Identifier: GPL - 2.0 - or -later + +#include QMK_KEYBOARD_H // Default statement + +#define HSV_RETRO_CONSOLE 36, 150, 255 //HSV_YELLOW = 43, 255, 255 + + +//----------- RGB Default Settings -----------// +//--------------------------------------------// +#ifdef RGBLIGHT_ENABLE + +void keyboard_post_init_user(void) { + rgblight_enable_noeeprom(); // Enables RGB, without saving settings + rgblight_sethsv_noeeprom(HSV_RETRO_CONSOLE); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); +} + +#endif // RGBLIGHT_ENABLE + +//----------- Layer names -----------// +//-----------------------------------// +enum preonic_layers { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + + +//----------- Sounds -----------// +//------------------------------// +#ifdef AUDIO_ENABLE + + float capslockToggleSound[][2] = SONG(STARTUP_SOUND); + float dynamicBufferRecordSound[][2] = SONG(STARTUP_SOUND); + float dynamicBufferFullSound[][2] = SONG(GOODBYE_SOUND); + +#endif // AUDIO_ENABLE + + +//----------- Called when dynamic buffer full -----------// +//-------------------------------------------------------// +void backlight_toggle(void) { +#ifdef AUDIO_ENABLE + + PLAY_SONG(dynamicBufferFullSound); + +#endif // AUDIO_ENABLE +} + + +//----------- Tapdance prelims -----------// +//----------------------------------------// +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_1_TAP, + TD_1_HOLD, + TD_2_TAP, + TD_2_HOLD, +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +td_state_t cur_dance(qk_tap_dance_state_t* state); + +/* Return an integer that corresponds to what kind of tap dance should be executed. + * + * How to figure out tap dance state: interrupted and pressed. + * + * Interrupted: If the state of a dance dance is "interrupted", that means that another key has been hit + * under the tapping term. This is typically indicitive that you are trying to "tap" the key. + * + * Pressed: Whether or not the key is still being pressed. If this value is true, that means the tapping term + * has ended, but the key is still being pressed down. This generally means the key is being "held". + * + * One thing that is currenlty not possible with qmk software in regards to tap dance is to mimic the "permissive hold" + * feature. In general, advanced tap dances do not work well if they are used with commonly typed letters. + * For example "A". Tap dances are best used on non-letter keys that are not hit while typing letters. + * + * Good places to put an advanced tap dance: + * z,q,x,j,k,v,b, any function key, home/end, comma, semi-colon + * + * Criteria for "good placement" of a tap dance key: + * Not a key that is hit frequently in a sentence + * Not a key that is used frequently to double tap, for example 'tab' is often double tapped in a terminal, or + * in a web form. So 'tab' would be a poor choice for a tap dance. + * Letters used in common words as a double. For example 'p' in 'pepper'. If a tap dance function existed on the + * letter 'p', the word 'pepper' would be quite frustating to type. + * + * For the third point, there does exist the 'TD_DOUBLE_SINGLE_TAP', however this is not fully tested + * + */ +td_state_t cur_dance(qk_tap_dance_state_t* state) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) { + return TD_1_TAP; + // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'. + } else { + return TD_1_HOLD; + } + } else if (state->count == 2) { + // TD_DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap + // action when hitting 'pp'. Suggested use case for this return value is when you want to send two + // keystrokes of the key, and not the 'double tap' action/macro. + if (state->pressed) return TD_2_HOLD; + else return TD_2_TAP; + } else { + return TD_UNKNOWN; + } +} + + +//----------- 2tap capslock --------------// +//----------------------------------------// +void twoCapsLock_finished(qk_tap_dance_state_t* state, void* user_data); +void twoCapsLock_reset(qk_tap_dance_state_t* state, void* user_data); + +static td_tap_t twoCapsLock_tap_state = { + .is_press_action = true, + .state = TD_NONE +}; + +void twoCapsLock_finished(qk_tap_dance_state_t* state, void* user_data) { + twoCapsLock_tap_state.state = cur_dance(state); + switch (twoCapsLock_tap_state.state) { + case TD_NONE: register_code(KC_LSFT); break; + case TD_UNKNOWN: register_code(KC_LSFT); break; + case TD_1_TAP: register_code(KC_LSFT); break; + case TD_1_HOLD: register_code(KC_LSFT); break; + case TD_2_TAP: + register_code(KC_CAPS); +#ifdef AUDIO_ENABLE + PLAY_SONG(capslockToggleSound); +#endif // AUDIO_ENABLE + break; + case TD_2_HOLD: register_code(KC_LSFT); break; + } +} + +void twoCapsLock_reset(qk_tap_dance_state_t* state, void* user_data) { + switch (twoCapsLock_tap_state.state) { + case TD_UNKNOWN: unregister_code(KC_LSFT); break; + case TD_NONE: unregister_code(KC_LSFT); break; + case TD_1_TAP: unregister_code(KC_LSFT); break; + case TD_1_HOLD: unregister_code(KC_LSFT); break; + case TD_2_TAP: + unregister_code(KC_CAPS); +#ifdef AUDIO_ENABLE + PLAY_SONG(capslockToggleSound); +#endif // AUDIO_ENABLE + break; + case TD_2_HOLD: unregister_code(KC_LSFT); break; + } + twoCapsLock_tap_state.state = TD_NONE; +} + + +//----------- Rotary Encoder --------------// +//----------------------------------------// +bool encoder_update_user(uint8_t index, bool clockwise) { + if (layer_state_is(_QWERTY)) { + if (clockwise) { + tap_code(KC_WH_U); + } else { + tap_code(KC_WH_D); + } + } + else if (layer_state_is(_LOWER)) { + if (clockwise) { + tap_code16(S(KC_F3)); + } else { + tap_code(KC_F3); + } + } else if (layer_state_is(_RAISE)) { + if (clockwise) { + tap_code16(C(KC_Z)); + } else { + tap_code16(C(KC_Y)); + } + } + return false; +} + +//----------- Custom keycodes ------------// +//----------------------------------------// +enum { + TD_2_CAPSLOCK +}; + +enum custom_keycodes { + CU_BLNKON = SAFE_RANGE, + CU_BLNKOFF, + CU_RGBON, + CU_RGBOFF, + ENC_MODE +}; + +static bool blinky = false; // Track blinky behavior on/off for keycode + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_2_CAPSLOCK] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, twoCapsLock_finished, twoCapsLock_reset) +}; + + +//----------- Intercepts and overrides ------------// +//-------------------------------------=-----------// +bool process_record_user(uint16_t keycode, keyrecord_t* record) { + switch (keycode) { + // Turn RGB LEDs off + case CU_RGBOFF: + + // If pressed + if (record->event.pressed) { + rgblight_sethsv_noeeprom(HSV_OFF); + return true; + + // If released + } else { + return true; + } + + // Turn RGB LEDs on + case CU_RGBON: + + // If pressed + if (record->event.pressed) { + rgblight_sethsv_noeeprom(HSV_RETRO_CONSOLE); + return true; + + // If released + } else { + return true; + } + + // Turn blinky LEDs off + case CU_BLNKOFF: + + // If pressed + if (record->event.pressed) { + blinky = false; + return true; + + // If released + } else { + return true; + } + + // Turn blinky LEDs on + case CU_BLNKON: + + // If pressed + if (record->event.pressed) { + blinky = true; + return true; + + // If released + } else { + return true; + } + + // Sound when Dynamic recording started + case DYN_REC_START1: + + // If pressed + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_SONG(dynamicBufferRecordSound); + #endif // AUDIO_ENABLE + return true; // Let QMK send the press/release events + + // If released + } else { + return true; // Let QMK send the press/release events + } + + // Sound when Dynamic recording stopped + case DYN_REC_STOP: + + // If pressed + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_SONG(dynamicBufferFullSound); + #endif // AUDIO_ENABLE + return true; // Let QMK send the enter press/release events + + // If released + } else { + return true; // Let QMK send the press/release events + } + + // Encoder Click + case ENC_MODE: + if (record->event.pressed) { + if (layer_state_is(_QWERTY)) { + tap_code(KC_BTN1); + return false; + } else if (layer_state_is(_LOWER)) { + return false; + } else if (layer_state_is(_RAISE)) { + return false; + } + } + + + // Adds blinks if blinky is on + default: + if (blinky == true) { + rgblight_toggle(); + } + + return true; // Process all other keycodes normally + + } +} + + +//----------- Keymap ------------// +//-------------------------------// +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // main layer + [_QWERTY] = LAYOUT_ortho_5x12 ( + // (Non-disabled top row), uncomment and replace if you want preonic-style instead of planck-style + // KC_MINS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(TD_2_CAPSLOCK), + ENC_MODE, KC_LCTL, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + // lower key + [_LOWER] = LAYOUT_ortho_5x12 ( + DYN_MACRO_PLAY1, DYN_REC_START1, DYN_REC_STOP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_BSPC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_QUOT, KC_GRV, KC_LCBR, KC_RCBR, KC_TRNS, + KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MINS, KC_EQL, KC_TRNS, KC_BSLS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_ADJUST), KC_HOME, KC_PGDN, KC_PGUP, KC_END + ), + + // raise key + [_RAISE] = LAYOUT_ortho_5x12 ( + DYN_MACRO_PLAY1, DYN_REC_START1, DYN_REC_STOP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_DQUO, KC_TILD, KC_LBRC, KC_RBRC, KC_TRNS, + KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_UNDS, KC_PLUS , KC_TRNS, KC_PIPE, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_ADJUST), KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_F24 + ), + + // hardware adjust layer, raise+lower + [_ADJUST] = LAYOUT_ortho_5x12 ( + AU_ON, AU_OFF, CK_ON, CK_OFF, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + + CU_RGBON, CU_RGBOFF, CU_BLNKON, CU_BLNKOFF, 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, 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, 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, KC_NO, KC_NO + ) + +}; diff --git a/keyboards/preonic/keymaps/era1112/readme.md b/keyboards/preonic/keymaps/era1112/readme.md new file mode 100644 index 000000000000..76775b85aa64 --- /dev/null +++ b/keyboards/preonic/keymaps/era1112/readme.md @@ -0,0 +1,8 @@ +A preonic keymap that includes: +- doubletap tapdance for caps lock +- rotary encoder +- macro record/playback +- light on/off +- sound on/off +- blink-on-keypress w/ on/off keystroke +- beep-on-keypress w/ on/off keystroke (this has stability issues when typing fast, still trying to remediate) \ No newline at end of file diff --git a/keyboards/preonic/keymaps/era1112/rules.mk b/keyboards/preonic/keymaps/era1112/rules.mk new file mode 100644 index 000000000000..4e83382dad43 --- /dev/null +++ b/keyboards/preonic/keymaps/era1112/rules.mk @@ -0,0 +1,26 @@ +## Copyright 2022 Era James (@Era1112) +## SPDX-License-Identifier: GPL-2.0-or-later + +# DEFAULT STATEMENTS +# ================== + +SRC += muse.c + + +# ADDED STATEMENTS +# ================ + +AUDIO_ENABLE = yes # Audio output on +TAP_DANCE_ENABLE = yes # For double-tap tapdances +DYNAMIC_MACRO_ENABLE = yes # For dynamuic macros +RGBLIGHT_ENABLE = yes # For RGB lighting functions +ENCODER_ENABLE = yes # For Rotary encoders + + +# Firmware minimization +# Commented to see if it helps stalls on clicky mode +CONSOLE_ENABLE = no +#LTO_ENABLE = yes +SPACE_CADET_ENABLE = no +GRAVE_ESC_ENABLE = no +MAGIC_ENABLE = no From fc7a41fdceaf2fe6a42497c25f4fcfc9597cf638 Mon Sep 17 00:00:00 2001 From: Liashenko Volodymyr Date: Thu, 10 Mar 2022 22:21:55 +0200 Subject: [PATCH 0352/1832] [Keyboard] lily58/glow_enc (#16101) Add rgb-light and encoder for lily58 mod * add support for lily58 encoders (one per size) and rgb-light. The pcb and details here https://github.com/orvisevans/Lily58-Glow-Enc * add support for lily58 encoders (one per size) and rgb-light. The pcb and details here https://github.com/orvisevans/Lily58-Glow-Enc * Update keyboards/lily58/glowEnc/config.h * add GPL License to growEnc.h * rename folder according to requirement to lower case --- keyboards/lily58/glow_enc/config.h | 55 +++++++++++++++++++++++ keyboards/lily58/glow_enc/glow_enc.c | 16 +++++++ keyboards/lily58/glow_enc/glow_enc.h | 66 ++++++++++++++++++++++++++++ keyboards/lily58/glow_enc/info.json | 16 +++++++ keyboards/lily58/glow_enc/rules.mk | 8 ++++ keyboards/lily58/lily58.h | 2 + 6 files changed, 163 insertions(+) create mode 100644 keyboards/lily58/glow_enc/config.h create mode 100644 keyboards/lily58/glow_enc/glow_enc.c create mode 100644 keyboards/lily58/glow_enc/glow_enc.h create mode 100644 keyboards/lily58/glow_enc/info.json create mode 100644 keyboards/lily58/glow_enc/rules.mk diff --git a/keyboards/lily58/glow_enc/config.h b/keyboards/lily58/glow_enc/config.h new file mode 100644 index 000000000000..5e51acea2509 --- /dev/null +++ b/keyboards/lily58/glow_enc/config.h @@ -0,0 +1,55 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2017 F_YUUCHI +Copyright 2020 Ben Roesner (keycapsss.com) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFC51 +#define PRODUCT_ID 0x0059 +#define DEVICE_VER 0x0100 +#define MANUFACTURER ORVISEVANS+ +#define PRODUCT Lily58GlowEnc + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 6 + +// wiring of each half +#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 } +#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 } + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define SOFT_SERIAL_PIN D2 + +#define RGB_DI_PIN F4 + +#define RGBLED_NUM 72 // Number of LEDs + +#define RGBLED_SPLIT { 36, 36 } +#define RGBLIGHT_SPLIT +#define RGBLIGHT_LIMIT_VAL 120 + +#define ENCODERS_PAD_A { F5 } +#define ENCODERS_PAD_B { D4 } +#define ENCODERS_PAD_A_RIGHT { D4 } +#define ENCODERS_PAD_B_RIGHT { F5 } diff --git a/keyboards/lily58/glow_enc/glow_enc.c b/keyboards/lily58/glow_enc/glow_enc.c new file mode 100644 index 000000000000..57a0df93dbe4 --- /dev/null +++ b/keyboards/lily58/glow_enc/glow_enc.c @@ -0,0 +1,16 @@ +/* +Copyright 2020 Ben Roesner (keycapsss.com) +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "lily58.h" + diff --git a/keyboards/lily58/glow_enc/glow_enc.h b/keyboards/lily58/glow_enc/glow_enc.h new file mode 100644 index 000000000000..f9cc1c26b83a --- /dev/null +++ b/keyboards/lily58/glow_enc/glow_enc.h @@ -0,0 +1,66 @@ +/* Copyright 2022 Liashenko Volodymyr (@LVladymyr) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +#pragma once + +#include "lily58.h" + +#include "quantum.h" + + +#ifndef FLIP_HALF +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, L45, R40, R30, R31, R32, R33, R34, R35, \ + L41, L42, L43, L44, R41, R42, R43, R44 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { KC_NO, L41, L42, L43, L44, L45 }, \ + { R05, R04, R03, R02, R01, R00 }, \ + { R15, R14, R13, R12, R11, R10 }, \ + { R25, R24, R23, R22, R21, R20 }, \ + { R35, R34, R33, R32, R31, R30 }, \ + { KC_NO, R44, R43, R42, R41, R40 } \ + } +#else +// Keymap with right side flipped +// (TRRS jack on both halves are to the right) +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, L45, R30, R31, R32, R33, R34, R35, R45, \ + L41, L42, L43, L44, R41, R42, R43, R44 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { KC_NO, L41, L42, L43, L44, L45 }, \ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, R35 }, \ + { KC_NO, R41, R42, R43, R44, R45 } \ + } +#endif diff --git a/keyboards/lily58/glow_enc/info.json b/keyboards/lily58/glow_enc/info.json new file mode 100644 index 000000000000..503cdaae1298 --- /dev/null +++ b/keyboards/lily58/glow_enc/info.json @@ -0,0 +1,16 @@ +{ + "keyboard_name": "Lily58", + "url": "https://keycapsss.com", + "maintainer": "BenRoe", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.5}, {"x":1, "y":0.375}, {"x":2, "y":0.125}, {"x":3, "y":0}, {"x":4, "y":0.125}, {"x":5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.5}, + {"x":0, "y":1.5}, {"x":1, "y":1.375}, {"x":2, "y":1.125}, {"x":3, "y":1}, {"x":4, "y":1.125}, {"x":5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.5}, + {"x":0, "y":2.5}, {"x":1, "y":2.375}, {"x":2, "y":2.125}, {"x":3, "y":2}, {"x":4, "y":2.125}, {"x":5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.5}, + {"x":0, "y":3.5}, {"x":1, "y":3.375}, {"x":2, "y":3.125}, {"x":3, "y":3}, {"x":4, "y":3.125}, {"x":5, "y":3.25}, {"x":6, "y":2.75}, {"x":9.5, "y":2.75}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.5}, + {"x":2.5, "y":4.125}, {"x":3.5, "y":4.15}, {"x":4.5, "y":4.25}, {"x":6, "y":4.25, "h":1.5}, {"x":9.5, "y":4.25, "h":1.5}, {"x":11, "y":4.25}, {"x":12, "y":4.15}, {"x":13, "y":4.15} + ] + } + } +} diff --git a/keyboards/lily58/glow_enc/rules.mk b/keyboards/lily58/glow_enc/rules.mk new file mode 100644 index 000000000000..3d80190eb2a6 --- /dev/null +++ b/keyboards/lily58/glow_enc/rules.mk @@ -0,0 +1,8 @@ +ENCODER_ENABLE = yes # ENables the use of one or more encoders +RGBLIGHT_ENABLE = yes # Enable keyboard RGB light +LTO_ENABLE = yes # significantly reduce the compiled size, but disable the legacy TMK Macros and Functions features +BOOTMAGIC_ENABLE = no +RGB_MATRIX_ENABLE = no # Per key rgb leds + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file diff --git a/keyboards/lily58/lily58.h b/keyboards/lily58/lily58.h index 4f6f262bbc59..c08203003243 100644 --- a/keyboards/lily58/lily58.h +++ b/keyboards/lily58/lily58.h @@ -4,4 +4,6 @@ #include "rev1.h" #elif KEYBOARD_lily58_light #include "light.h" +#elif KEYBOARD_lily58_glow_enc + #include "glow_enc.h" #endif From b33fdc299c7ae702582969ef66d73fcc5806bcbb Mon Sep 17 00:00:00 2001 From: Christian Hofstede <4440939+chofstede@users.noreply.github.com> Date: Thu, 10 Mar 2022 21:41:30 +0100 Subject: [PATCH 0353/1832] add chofstede keymap for gmmk/pro/iso (#16045) Add new keymap for GMMK with some additional mappings and led indicator for caps lock * add chofstede keymap * fix formatting * fix formatting * add readme * Update keyboards/gmmk/pro/iso/keymaps/chofstede/keymap.c --- .../gmmk/pro/iso/keymaps/chofstede/keymap.c | 106 ++++++++++++++++++ .../gmmk/pro/iso/keymaps/chofstede/readme.md | 8 ++ 2 files changed, 114 insertions(+) create mode 100644 keyboards/gmmk/pro/iso/keymaps/chofstede/keymap.c create mode 100644 keyboards/gmmk/pro/iso/keymaps/chofstede/readme.md diff --git a/keyboards/gmmk/pro/iso/keymaps/chofstede/keymap.c b/keyboards/gmmk/pro/iso/keymaps/chofstede/keymap.c new file mode 100644 index 000000000000..84fbcf37ff62 --- /dev/null +++ b/keyboards/gmmk/pro/iso/keymaps/chofstede/keymap.c @@ -0,0 +1,106 @@ +/* Copyright 2021 Glorious, LLC + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] PgUp +// Caps A S D F G H J K L ; " # Enter PgDn +// Sh_L / Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + // + // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). + // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. + // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_MUTE, + KC_GRV, 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_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_PGUP, + 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_NUHS, KC_ENT, KC_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_PSCR, _______, + _______, RGB_TOG, RGB_M_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, + _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI + ), + + +}; +// clang-format on + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return false; +} +#endif + +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + static uint32_t cycle_led_timer = 0; + static uint8_t current_value = 0; + static uint8_t left_side_leds[8] = {68, 71, 74, 77, 81, 84, 88, 92}; + static uint8_t right_side_leds[8] = {69, 72, 75, 78, 82, 85, 89, 93}; + + if (host_keyboard_led_state().caps_lock) { + if (timer_elapsed32(cycle_led_timer) > 500) { + current_value = current_value == 0 ? 255 : 0; + cycle_led_timer = timer_read32(); + } + HSV tempHSV = {.h = 0, .s = 255, .v = current_value}; + RGB tempRGB = hsv_to_rgb(tempHSV); + for (uint8_t i = 0; i < sizeof(left_side_leds) / sizeof(left_side_leds[0]); i++) { + rgb_matrix_set_color(left_side_leds[i], tempRGB.r, tempRGB.g, tempRGB.b); + rgb_matrix_set_color(right_side_leds[i], tempRGB.r, tempRGB.g, tempRGB.b); + } + } + + static uint8_t l2_functions[26] = {6, 7, 8, 12, 13, 14, 15, 16, 18, 23, 28, 34, 38, 39, 44, 50, 56, 61, 66, 70, 80, 86, 94, 95, 96, 98}; + switch(get_highest_layer(layer_state)){ // special handling per layer + case 2: //layer one + break; + case 1: + for (uint8_t i = 0; i < sizeof(l2_functions) / sizeof(l2_functions[0]); i++) { + RGB_MATRIX_INDICATOR_SET_COLOR(l2_functions[i], 255, 0, 0); + } + break; + default: + break; + break; + } +} diff --git a/keyboards/gmmk/pro/iso/keymaps/chofstede/readme.md b/keyboards/gmmk/pro/iso/keymaps/chofstede/readme.md new file mode 100644 index 000000000000..da66c447adad --- /dev/null +++ b/keyboards/gmmk/pro/iso/keymaps/chofstede/readme.md @@ -0,0 +1,8 @@ +# chofstede GMMK Pro layout + +- Added Print-Screen to FN+POS1 +- Added Insert to FN+# +- The LED bars on the left and right side of the keyboard blink red when CAPS Lock is enabled +- All mapped keys light up red when FN is being pressed + + From 6c40b6856bb843e39bf0992164f41e29ce7ea72c Mon Sep 17 00:00:00 2001 From: WJH Date: Fri, 11 Mar 2022 04:48:33 +0800 Subject: [PATCH 0354/1832] [Docs] Include ASCII diagram to explain tap-hold modes (#15873) * [Docs] Include ASCII diagram to explain tap-hold modes * [Docs]: add examples for Default mode for Tap Hold * [Docs] fix some wrong explanation in tap_hold.md --- docs/tap_hold.md | 115 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/docs/tap_hold.md b/docs/tap_hold.md index d206c10cc583..39fa84a9f34e 100644 --- a/docs/tap_hold.md +++ b/docs/tap_hold.md @@ -126,6 +126,61 @@ The code which decides between the tap and hold actions of dual-role keys suppor Note that until the tap-or-hold decision completes (which happens when either the dual-role key is released, or the tapping term has expired, or the extra condition for the selected decision mode is satisfied), key events are delayed and not transmitted to the host immediately. The default mode gives the most delay (if the dual-role key is held down, this mode always waits for the whole tapping term), and the other modes may give less delay when other keys are pressed, because the hold action may be selected earlier. +### Default Mode +Example sequence 1 (the `L` key is also mapped to `KC_RGHT` on layer 2): + +``` + TAPPING_TERM + +---------------|--------------------+ + | +-------------|-------+ | + | | LT(2, KC_A) | | | + | +-------------|-------+ | + | | +--------------+ | + | | | KC_L | | + | | +--------------+ | + +---------------|--------------------+ +``` +The above sequence would send a `KC_RGHT`, since `LT(2, KC_A)` is held longer than the `TAPPING_TERM`. + +--- + +Example sequence 2 (the `L` key is also mapped to `KC_RGHT` on layer 2): + +``` + TAPPING_TERM + +-----------------------------|------+ + | +---------------+ | | + | | LT(2, KC_A) | | | + | +---------------+ | | + | +--------------+ | | + | | KC_L | | | + | +--------------+ | | + +-----------------------------|------+ +``` +The above sequence will not send `KC_RGHT` but `KC_A` `KC_L` instead, since `LT(2, KC_A)` is not held longer than the `TAPPING_TERM`. + +--- + +Example sequence 3 (Mod Tap): + +``` + TAPPING_TERM + +---------------------------|--------+ + | +-------------+ | | + | | SFT_T(KC_A) | | | + | +-------------+ | | + | +--------------+ | | + | | KC_X | | | + | +--------------+ | | + +---------------------------|--------+ +``` +Based previous examples, you might have expected the output of the above sequence to be `KC_A` `KC_X` +since `SFT_T(KC_A)` is NOT held longer than the `TAPPING_TERM`. +However, the actual output would be capital `X` (`SHIFT` + `x`) due to reasons +explained under [Ignore Mod Tap Interrupt](#ignore-mod-tap-interrupt). + + + ### Permissive Hold The “permissive hold” mode can be enabled for all dual-role keys by adding the corresponding option to `config.h`: @@ -145,6 +200,18 @@ An example of a sequence which is affected by the “permissive hold” mode: - `KC_L` Up - `LT(2, KC_A)` Up +``` + TAPPING_TERM + +---------------------------|--------+ + | +----------------------+ | | + | | LT(2, KC_A) | | | + | +----------------------+ | | + | +--------------+ | | + | | KC_L | | | + | +--------------+ | | + +---------------------------|--------+ +``` + Normally, if you do all this within the `TAPPING_TERM` (default: 200ms), this will be registered as `al` by the firmware and host system. With the `PERMISSIVE_HOLD` option enabled, the Layer Tap key is considered as a layer switch if another key is tapped, and the above sequence would be registered as `KC_RGHT` (the mapping of `L` on layer 2). We could describe this sequence as a “nested press” (the modified key's key down and key up events are “nested” between the dual-role key's key down and key up events). However, this slightly different sequence will not be affected by the “permissive hold” mode: @@ -154,6 +221,18 @@ However, this slightly different sequence will not be affected by the “permiss - `LT(2, KC_A)` Up - `KC_L` Up +``` + TAPPING_TERM + +---------------------------|--------+ + | +-------------+ | | + | | LT(2, KC_A) | | | + | +-------------+ | | + | +--------------+ | | + | | KC_L | | | + | +--------------+ | | + +---------------------------|--------+ +``` + In the sequence above the dual-role key is released before the other key is released, and if that happens within the tapping term, the “permissive hold” mode will still choose the tap action for the dual-role key, and the sequence will be registered as `al` by the host. We could describe this as a “rolling press” (the two keys' key down and key up events behave as if you were rolling a ball across the two keys, first pressing each key down in sequence and then releasing them in the same order). ?> The `PERMISSIVE_HOLD` option also affects Mod Tap keys, but this may not be noticeable if you do not also enable the `IGNORE_MOD_TAP_INTERRUPT` option for those keys, because the default handler for Mod Tap keys also considers both the “nested press” and “rolling press” sequences like shown above as a modifier hold, not the tap action. If you do not enable `IGNORE_MOD_TAP_INTERRUPT`, the effect of `PERMISSIVE_HOLD` on Mod Tap keys would be limited to reducing the delay before the key events are made visible to the host. @@ -198,6 +277,18 @@ An example of a sequence which is affected by the “hold on other key press” - `LT(2, KC_A)` Up - `KC_L` Up +``` + TAPPING_TERM + +---------------------------|--------+ + | +-------------+ | | + | | LT(2, KC_A) | | | + | +-------------+ | | + | +--------------+ | | + | | KC_L | | | + | +--------------+ | | + +---------------------------|--------+ +``` + Normally, if you do all this within the `TAPPING_TERM` (default: 200ms), this will be registered as `al` by the firmware and host system. With the `HOLD_ON_OTHER_KEY_PRESS` option enabled, the Layer Tap key is considered as a layer switch if another key is pressed, and the above sequence would be registered as `KC_RGHT` (the mapping of `L` on layer 2). ?> The `HOLD_ON_OTHER_KEY_PRESS` option also affects Mod Tap keys, but this may not be noticeable if you do not also enable the `IGNORE_MOD_TAP_INTERRUPT` option for those keys, because the default handler for Mod Tap keys also considers the “rolling press” sequence like shown above as a modifier hold, not the tap action. If you do not enable `IGNORE_MOD_TAP_INTERRUPT`, the effect of `HOLD_ON_OTHER_KEY_PRESS` on Mod Tap keys would be limited to reducing the delay before the key events are made visible to the host. @@ -245,6 +336,18 @@ An example of a sequence which will be affected by the `IGNORE_MOD_TAP_INTERRUPT - `SFT_T(KC_A)` Up - `KC_X` Up +``` + TAPPING_TERM + +---------------------------|--------+ + | +-------------+ | | + | | SFT_T(KC_A) | | | + | +-------------+ | | + | +--------------+ | | + | | KC_X | | | + | +--------------+ | | + +---------------------------|--------+ +``` + Normally, this would send a capital `X` (`SHIFT`+`x`), even if the sequence is performed faster than the `TAPPING_TERM`. However, if the `IGNORE_MOD_TAP_INTERRUPT` option is enabled, the `SFT_T(KC_A)` key must be held longer than the `TAPPING_TERM` to register the hold action. A quick tap will output `ax` in this case, while a hold will still output a capital `X` (`SHIFT`+`x`). However, if the `HOLD_ON_OTHER_KEY_PRESS` option is enabled in addition to `IGNORE_MOD_TAP_INTERRUPT`, the above sequence will again send a capital `X` (`SHIFT`+`x`) even if performed faster that the `TAPPING_TERM`. The difference from the default configuration is that by default the host will receive the key events only after the `SFT_T(KC_A)` key is released, but with the `HOLD_ON_OTHER_KEY_PRESS` option the host will start receiving key events when the `KC_X` key is pressed. @@ -327,6 +430,18 @@ Holding and releasing a dual function key without pressing another key will resu For instance, holding and releasing `LT(2, KC_SPC)` without hitting another key will result in nothing happening. With this enabled, it will send `KC_SPC` instead. +``` + TAPPING_TERM + +-----------------|------------------+ + | +---------------|-------+ | + | | LT(2, KC_SPC) | | | + | +---------------|-------+ | + | | | + | | | + | | | + +-----------------|------------------+ +``` + For more granular control of this feature, you can add the following to your `config.h`: ```c From b75f6691a15a78b9c200a88e28792974ca2f9461 Mon Sep 17 00:00:00 2001 From: Erovia Date: Thu, 10 Mar 2022 21:33:41 +0000 Subject: [PATCH 0355/1832] CLI: Fix 'cd' subcommand on Windows (#16610) The 'cd' subcommand was failing as the current shell's Windows path was mangled while milc processed it. Using 'subprocess' directly avoids this issue and an extra layer of subshell. --- lib/python/qmk/cli/cd.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/python/qmk/cli/cd.py b/lib/python/qmk/cli/cd.py index c62c3f56c6b0..ef03011f1f50 100755 --- a/lib/python/qmk/cli/cd.py +++ b/lib/python/qmk/cli/cd.py @@ -2,6 +2,7 @@ """ import sys import os +import subprocess from milc import cli @@ -41,6 +42,6 @@ def cd(cli): # Set the prompt for the new shell qmk_env['MSYS2_PS1'] = qmk_env['PS1'] # Start the new subshell - cli.run([os.environ.get('SHELL', '/usr/bin/bash')], env=qmk_env) + subprocess.run([os.environ.get('SHELL', '/usr/bin/bash')], env=qmk_env) else: cli.log.info("Already within qmk_firmware directory.") From ee71362f99d1356c8dc48fb98d53c88300a087f8 Mon Sep 17 00:00:00 2001 From: Rocco Meli Date: Thu, 10 Mar 2022 23:27:37 +0000 Subject: [PATCH 0356/1832] Personal user space and CRKBD R2G keymap (#15888) * r2g folder groundwork * Default mb keymap featuring mb logos * Migrate Oled to keyboard folder * Move rules configs to support config better * update readmes * Liscnece update * Update config and fix issues caused by redef errs * funciton name adjusts, define specific rgb modes * move default oled font to postconfig * update oled in line with develop merge * fix return value * Add some default rgb matrix defines * del ugfx * remove #include * create personal keymap for r2g * reduce firmware size * change keymap to follow physical layout * remove RGBlight config lines to make both sides work (@Dasky on MechboardsUK Discord) * strip down configuration, similar to crkbd/r2g:mb_via * remove wrong oled code overwriting the r2g one * broken code with RGB matrix (briks right side) * remove high max brightness limit * caps lock tap dance and RGB indicator for active caps lock * fix caps lock led on right side * add test macro * remove latex macro which is too slow * move caps lock tap dance to RALT and add space cadet shift * switch CTL with ALT in first layer * add tap dance for ESC/DEL * space cadet tap dance with caps lock; shift works by needs a short pause * add space cadet tap dance with caps lock on the right; shift works by needs a short pause and does not hold * make more keys transparent * enable auto shift and use logo on both oleds * add user oled logo, slows down linking considerably * oled name * add arrow keys in usual configuration and add linear configuration to symbol layer * add unicoede support * add accents * update to latest version * add colemak dh layer * report auto shift timeout * define layer name shorcuts correctly * disable VIA to enable more layers * enable NKRO * move some rules and unicode to user space * move oled and tap dances to user space * move tap dances fully out of keymap * expand unicode map * fix unicode code * revert changes to r2g, make it equal to merged code * revert changes to r2g, make it equal to merged code * clang-format userspace * clang-format config file * Update keyboards/crkbd/keymaps/rmeli/keymap.c * replace define with enum * add licenses --- keyboards/crkbd/keymaps/rmeli/config.h | 80 ++++++++++++++ keyboards/crkbd/keymaps/rmeli/keymap.c | 131 +++++++++++++++++++++++ keyboards/crkbd/keymaps/rmeli/rules.mk | 12 +++ users/rmeli/keyrecords/tap_dances.c | 139 +++++++++++++++++++++++++ users/rmeli/keyrecords/tap_dances.h | 70 +++++++++++++ users/rmeli/keyrecords/unicode.h | 85 +++++++++++++++ users/rmeli/oled/oled.c | 96 +++++++++++++++++ users/rmeli/oled/oled.h | 26 +++++ users/rmeli/readme.md | 14 +++ users/rmeli/rmeli.h | 28 +++++ users/rmeli/rules.mk | 20 ++++ 11 files changed, 701 insertions(+) create mode 100644 keyboards/crkbd/keymaps/rmeli/config.h create mode 100644 keyboards/crkbd/keymaps/rmeli/keymap.c create mode 100644 keyboards/crkbd/keymaps/rmeli/rules.mk create mode 100644 users/rmeli/keyrecords/tap_dances.c create mode 100644 users/rmeli/keyrecords/tap_dances.h create mode 100644 users/rmeli/keyrecords/unicode.h create mode 100644 users/rmeli/oled/oled.c create mode 100644 users/rmeli/oled/oled.h create mode 100644 users/rmeli/readme.md create mode 100644 users/rmeli/rmeli.h create mode 100644 users/rmeli/rules.mk diff --git a/keyboards/crkbd/keymaps/rmeli/config.h b/keyboards/crkbd/keymaps/rmeli/config.h new file mode 100644 index 000000000000..36fb755d0002 --- /dev/null +++ b/keyboards/crkbd/keymaps/rmeli/config.h @@ -0,0 +1,80 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2021 Rocco Meli <@RMeli> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define MASTER_LEFT // Left side is the master +#define SPLIT_LED_STATE_ENABLE + +#define TAPPING_TERM 200 + +#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX + +#define AUTO_SHIFT_REPEAT + +#ifdef RGBLIGHT_ENABLE +# define RGBLIGHT_LIMIT_VAL 120 +# define RGBLIGHT_HUE_STEP 10 +# define RGBLIGHT_SAT_STEP 17 +# define RGBLIGHT_VAL_STEP 17 +#endif + +#ifdef RGB_MATRIX_ENABLE +// RGB matrix options +# define RGB_MATRIX_KEYPRESSES // enable keypress effects +# define RGB_MATRIX_LED_FLUSH_LIMIT 16 +# define RGB_DISABLE_WHEN_USB_SUSPENDED +// Disable unwanted R2G effects (from r2g/config.h) +# undef ENABLE_RGB_MATRIX_ALPHAS_MODS +# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# undef ENABLE_RGB_MATRIX_BREATHING +# undef ENABLE_RGB_MATRIX_BAND_SAT +# undef ENABLE_RGB_MATRIX_BAND_VAL +# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# undef ENABLE_RGB_MATRIX_CYCLE_ALL +# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# undef ENABLE_RGB_MATRIX_RAINDROPS +# undef ENABLE_RGB_MATRIX_HUE_BREATHING +# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL +//# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP +# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE +# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# undef ENABLE_RGB_MATRIX_SPLASH +# undef ENABLE_RGB_MATRIX_SOLID_SPLASH +// Enable effects +# define ENABLE_RGB_MATRIX_SOLID_COLOR +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// Default effect +# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR +# define RGB_MATRIX_STARTUP_HUE 10 +# define RGB_MATRIX_STARTUP_SAT 255 +# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +#endif + +// https://github.com/qmk/qmk_firmware/blob/develop/docs/squeezing_avr.md +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE +#define NO_MUSIC_MODE +#define LAYER_STATE_8BIT // Limit to 8 layers diff --git a/keyboards/crkbd/keymaps/rmeli/keymap.c b/keyboards/crkbd/keymaps/rmeli/keymap.c new file mode 100644 index 000000000000..f7901d1cfd87 --- /dev/null +++ b/keyboards/crkbd/keymaps/rmeli/keymap.c @@ -0,0 +1,131 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> +Copyright 2021 Rocco Meli <@RMeli> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +#include "rmeli.h" + +// + -------------------- + +// + RGB MATRIX CALLBACKS | +// + -------------------- + + +// LED numbers: +// https://github.com/foostan/crkbd/blob/main/corne-classic/doc/buildguide_en.md + +// Change LED color to red when CAPS LOCK is active +void rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(26, 255, 0, 0); + // Only works with SPLIT_LED_STATE_ENABLE + rgb_matrix_set_color(53, 255, 0, 0); + } +} + +// + ---- + +// + OLED | +// + ---- + + +bool oled_task_user(void) { + if (is_keyboard_master()) { + oled_render_rocco(); + } else { + oled_render_meli(); + } + return false; +} + +// + ------- + +// + KEY MAP | +// + ------- + + +// Layer names +enum layer_names { + _QWERTY, + _COLEMAK_DH, + _DWN, + _UP, + _CONFIG, +}; + +// Layer names shortcuts +#define _QWY 0 +#define _CMK 1 +#define _CFG 4 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_split_3x6_3( + //|-----------------------------------------------------| |-----------------------------------------------------| + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + TD_ED, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + TD_LSPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD_RSPC, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI,MO(_DWN), KC_SPC, KC_ENT,MO(_UP), KC_RCTL + //|--------------------------| |--------------------------| + ), + + [_COLEMAK_DH] = LAYOUT_split_3x6_3( + //|-----------------------------------------------------| |-----------------------------------------------------| + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_SCLN, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + TD_ED, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + TD_LSPC, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, TD_RSPC, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI,MO(_DWN), KC_SPC, KC_ENT,MO(_UP), KC_RCTL + //|--------------------------| |--------------------------| + ), + + [_DWN] = LAYOUT_split_3x6_3( + //|-----------------------------------------------------| |-----------------------------------------------------| + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, A_GRV, E_GRV, I_GRV, O_GRV, U_GRV, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, A_UML, E_ACT, I_CIR, O_UML, U_UML, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_PGDN, _______, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, _______, _______,MO(_CFG), _______ + //|--------------------------| |--------------------------| + ), + + [_UP] = LAYOUT_split_3x6_3( + //|-----------------------------------------------------| |-----------------------------------------------------| + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______,MO(_CFG), _______, _______, _______, _______ + //|--------------------------| |--------------------------| + ), + + [_CONFIG] = LAYOUT_split_3x6_3( + //|-----------------------------------------------------| |-----------------------------------------------------| + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_MOD, KC_ASUP, NK_ON, XXXXXXX, XXXXXXX,DF(_QWY), + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, KC_ASTG, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX,RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, UC_RMOD, KC_ASDN, NK_OFF, XXXXXXX, XXXXXXX,DF(_CMK), + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + //|--------------------------| |--------------------------| + ) +}; \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/rmeli/rules.mk b/keyboards/crkbd/keymaps/rmeli/rules.mk new file mode 100644 index 000000000000..8e9dbbf8cfd0 --- /dev/null +++ b/keyboards/crkbd/keymaps/rmeli/rules.mk @@ -0,0 +1,12 @@ +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 + +TAP_DANCE_ENABLE = yes +AUTO_SHIFT_ENABLE = yes + +UNICODEMAP_ENABLE = yes + +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = yes + +NKRO_ENABLE = yes diff --git a/users/rmeli/keyrecords/tap_dances.c b/users/rmeli/keyrecords/tap_dances.c new file mode 100644 index 000000000000..3b38bf4a33bc --- /dev/null +++ b/users/rmeli/keyrecords/tap_dances.c @@ -0,0 +1,139 @@ +/* +Copyright 2021-2022 Rocco Meli <@RMeli> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "keyrecords/tap_dances.h" + +// + ---------- + +// + TAP DANCES | +// + ---------- + + +// Tap dances definitions +// Need to needs to be defined in a .c file to avoid a linker error (multiple definitions) +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_LSPO_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, LSPO_CAPS_finished, LSPO_CAPS_reset), + [TD_RSPC_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, RSPC_CAPS_finished, RSPC_CAPS_reset), + [TD_ESC_DEL] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_DEL), +}; + +// + ------ + +// + DANCES | +// + ------ + + +// https://github.com/qmk/qmk_firmware/blob/9294258c02d3e025e01935a06c4d9f1997535bda/users/gordon/gordon.c#L112-L135 +td_state_t hold_cur_dance(qk_tap_dance_state_t *state) { + if (state->count == 1) { + if (state->interrupted) { + if (!state->pressed) + return TD_SINGLE_TAP; + else + return TD_SINGLE_HOLD; + } else { + if (!state->pressed) + return TD_SINGLE_TAP; + else + return TD_SINGLE_HOLD; + } + } else if (state->count == 2) { + if (state->pressed) + return TD_NONE; + else + return TD_DOUBLE_TAP; + } else + return TD_NONE; +} + +// + ------------------------------------------------ + +// + LEFT SHIFT PARENTHESIS OPEN (LSPO) AND CAPS LOCK | +// + ------------------------------------------------ + + +// Create an instance of 'td_tap_t' for the 'LSPO_CAPS' tap dance. +static td_tap_t LSPO_CAPS_state = {.is_press_action = true, .state = TD_NONE}; + +void LSPO_CAPS_finished(qk_tap_dance_state_t *state, void *user_data) { + LSPO_CAPS_state.state = hold_cur_dance(state); + switch (LSPO_CAPS_state.state) { + case TD_SINGLE_TAP: + register_code16(KC_LPRN); + break; + case TD_SINGLE_HOLD: + register_code16(KC_LSFT); + break; + case TD_DOUBLE_TAP: + register_code16(KC_CAPS); + break; + case TD_NONE: + break; + } +} + +void LSPO_CAPS_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (LSPO_CAPS_state.state) { + case TD_SINGLE_TAP: + unregister_code16(KC_LPRN); + break; + case TD_SINGLE_HOLD: + unregister_code16(KC_LSFT); + break; + case TD_DOUBLE_TAP: + unregister_code16(KC_CAPS); + break; + case TD_NONE: + break; + } + LSPO_CAPS_state.state = TD_NONE; +} + +// + -------------------------------------------------- + +// + RIGHT SHIFT PARENTHESIS CLOSE (RSPC) AND CAPS LOCK | +// + -------------------------------------------------- + + +// Create an instance of 'td_tap_t' for the 'RSPC_CAPS' tap dance. +static td_tap_t RSPC_CAPS_state = {.is_press_action = true, .state = TD_NONE}; + +void RSPC_CAPS_finished(qk_tap_dance_state_t *state, void *user_data) { + RSPC_CAPS_state.state = hold_cur_dance(state); + switch (RSPC_CAPS_state.state) { + case TD_SINGLE_TAP: + register_code16(KC_RPRN); + break; + case TD_SINGLE_HOLD: + register_code16(KC_RSFT); + break; + case TD_DOUBLE_TAP: + register_code16(KC_CAPS); + break; + case TD_NONE: + break; + } +} + +void RSPC_CAPS_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (RSPC_CAPS_state.state) { + case TD_SINGLE_TAP: + unregister_code16(KC_RPRN); + break; + case TD_SINGLE_HOLD: + unregister_code16(KC_RSFT); + break; + case TD_DOUBLE_TAP: + unregister_code16(KC_CAPS); + break; + case TD_NONE: + break; + } + RSPC_CAPS_state.state = TD_NONE; +} diff --git a/users/rmeli/keyrecords/tap_dances.h b/users/rmeli/keyrecords/tap_dances.h new file mode 100644 index 000000000000..fa749a17f497 --- /dev/null +++ b/users/rmeli/keyrecords/tap_dances.h @@ -0,0 +1,70 @@ +/* +Copyright 2021-2022 Rocco Meli <@RMeli> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once +#include QMK_KEYBOARD_H + +// https://beta.docs.qmk.fm/using-qmk/software-features/feature_tap_dance#example-4-quad-function-tap-dance-id-example-4 + +// + ---------- + +// + TAP DANCES | +// + ---------- + + +// Tap dance enums +enum { + TD_LSPO_CAPS, // Tap once for (, hold once for LSFT, tap twice for CAPS + TD_RSPC_CAPS, // Tap once for ), hold once for RSFT, tap twice for CAPS + TD_ESC_DEL, // Tap once for KC_ESC, twice for KC_DEL +}; + +// Rename tap dances for keymap with shortcuts +#define TD_LSPC TD(TD_LSPO_CAPS) +#define TD_RSPC TD(TD_RSPC_CAPS) +#define TD_ED TD(TD_ESC_DEL) + +// + ----------- + +// + KEY PRESSES | +// + ----------- + + +// Different types of key presses +typedef enum { + TD_NONE, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_TAP, +} td_state_t; + +// Key press state +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +// + --------- + +// + FUNCTIONS | +// + --------- + + +// Tap dance for fast modifiers; favors being held over being tapped. +td_state_t hold_cur_dance(qk_tap_dance_state_t *state); + +// Left Shift Parenthesis Open (LSPO) and Caps Lock (CAPS) on DOUBLE_TAP +void LSPO_CAPS_finished(qk_tap_dance_state_t *state, void *user_data); +void LSPO_CAPS_reset(qk_tap_dance_state_t *state, void *user_data); + +// Right Shift Parenthesis Close (RSPC) and Caps Lock (CAPS) on DOUBLE_TAP +void RSPC_CAPS_finished(qk_tap_dance_state_t *state, void *user_data); +void RSPC_CAPS_reset(qk_tap_dance_state_t *state, void *user_data); diff --git a/users/rmeli/keyrecords/unicode.h b/users/rmeli/keyrecords/unicode.h new file mode 100644 index 000000000000..8e0c02d27892 --- /dev/null +++ b/users/rmeli/keyrecords/unicode.h @@ -0,0 +1,85 @@ +/* +Copyright 2021-2022 Rocco Meli <@RMeli> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once +#include QMK_KEYBOARD_H + +// Needs to be active on the OS side as well +// https://docs.qmk.fm/#/feature_unicode?id=input-modes + +enum unicode_names { + aGRV, + AGRV, + aUML, + AUML, + eGRV, + EGRV, + eACT, + EACT, + iGRV, + IGRV, + iCIR, + ICIR, + oGRV, + OGRV, + oUML, + OUML, + uGRV, + UGRV, + uUML, + UUML, +}; + +const uint32_t PROGMEM unicode_map[] = { + // KC_A + [aGRV] = 0x00E0, // à + [AGRV] = 0x00C0, // À + [aUML] = 0x00E4, // ä + [AUML] = 0x00C4, // Ä + // KC_E + [eGRV] = 0x00E8, // è + [EGRV] = 0x00C8, // È + [eACT] = 0x00E9, // é + [EACT] = 0x00C9, // É + // KC_I + [iGRV] = 0x00EC, // ì + [IGRV] = 0x00CC, // Ì + [iCIR] = 0x00EE, // î + [ICIR] = 0x00CE, // Î + // KC_O + [oGRV] = 0x00F2, // ò + [OGRV] = 0x00D2, // Ò + [oUML] = 0x00F6, // ö + [OUML] = 0x00D6, // Ö + // KC_U + [uGRV] = 0x00F9, // ù + [UGRV] = 0x00D9, // Ù + [uUML] = 0x00FC, // ü + [UUML] = 0x00DC, // Ü +}; + +// Accents +#define A_GRV XP(aGRV, AGRV) +#define A_UML XP(aUML, AUML) +#define E_GRV XP(eGRV, EGRV) +#define E_ACT XP(eACT, EACT) +#define I_GRV XP(iGRV, IGRV) +#define I_CIR XP(iCIR, ICIR) +#define O_GRV XP(oGRV, OGRV) +#define O_UML XP(oUML, OUML) +#define U_GRV XP(uGRV, UGRV) +#define U_UML XP(uUML, UUML) diff --git a/users/rmeli/oled/oled.c b/users/rmeli/oled/oled.c new file mode 100644 index 000000000000..d6d4b2c43cc4 --- /dev/null +++ b/users/rmeli/oled/oled.c @@ -0,0 +1,96 @@ +/* +Copyright 2021-2022 Rocco Meli <@RMeli> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "oled/oled.h" + +void oled_render_rocco(void) { + static const char PROGMEM rocco[] = { + // 'rocco', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0xf8, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x38, 0x38, 0x78, 0xf0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0xff, 0x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xe0, 0xf0, 0x78, 0x38, 0x1c, 0x1c, 0x1c, 0x0c, 0x1c, 0x1c, 0x1c, 0x38, 0xf8, 0xf0, + 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0x78, 0x38, 0x1c, 0x1c, 0x1c, + 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, + 0xf0, 0xf0, 0x38, 0x3c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0xf8, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf0, 0x38, 0x38, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, + 0x38, 0x78, 0xf0, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x0f, 0x3f, 0xff, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x18, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x81, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x1f, 0x1c, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1e, 0x1c, 0x18, 0x18, 0x38, 0x18, 0x18, 0x1c, 0x1c, 0x0f, 0x07, + 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x0f, 0x1e, 0x1c, 0x1c, 0x1c, + 0x38, 0x38, 0x18, 0x1c, 0x1c, 0x1c, 0x0e, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x07, 0x0f, 0x0e, 0x1e, 0x1c, 0x1c, 0x18, 0x38, 0x18, 0x1c, 0x1c, 0x1c, 0x1c, 0x0e, 0x0e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x0e, 0x1c, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x1c, 0x0e, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }; + oled_write_raw_P(rocco, sizeof(rocco)); +} + +void oled_render_meli(void) { + static const char PROGMEM meli[] = { + // 'meli', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x38, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x78, 0x78, 0x78, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x07, 0x1f, 0x3f, 0xfc, 0xf8, 0xf0, 0xf8, + 0x7e, 0x1f, 0x07, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf0, + 0x38, 0x18, 0x1c, 0x1c, 0x1c, 0x0c, 0x1c, 0x1c, 0x1c, 0x38, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, + 0x1c, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x8c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, + 0x0e, 0x1c, 0x1c, 0x18, 0x18, 0x38, 0x18, 0x18, 0x1c, 0x1c, 0x0c, 0x0e, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x1f, 0x1c, 0x18, 0x38, 0x38, 0x18, + 0x1c, 0x1c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x1f, 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }; + oled_write_raw_P(meli, sizeof(meli)); +} diff --git a/users/rmeli/oled/oled.h b/users/rmeli/oled/oled.h new file mode 100644 index 000000000000..b91fe2d76b7b --- /dev/null +++ b/users/rmeli/oled/oled.h @@ -0,0 +1,26 @@ +/* +Copyright 2021-2022 Rocco Meli <@RMeli> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once +#include QMK_KEYBOARD_H + +// + --------- + +// + RENDERERS | +// + --------- + + +void oled_render_rocco(void); +void oled_render_meli(void); diff --git a/users/rmeli/readme.md b/users/rmeli/readme.md new file mode 100644 index 000000000000..ed5561dea781 --- /dev/null +++ b/users/rmeli/readme.md @@ -0,0 +1,14 @@ +Copyright 2022 Rocco Meli @RMeli + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . \ No newline at end of file diff --git a/users/rmeli/rmeli.h b/users/rmeli/rmeli.h new file mode 100644 index 000000000000..e6f51d4908f6 --- /dev/null +++ b/users/rmeli/rmeli.h @@ -0,0 +1,28 @@ +/* +Copyright 2021-2022 Rocco Meli <@RMeli> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifdef UNICODEMAP_ENABLE +# include "keyrecords/unicode.h" +#endif + +#ifdef OLED_ENABLE +# include "oled/oled.h" +#endif + +#ifdef TAP_DANCE_ENABLE +# include "keyrecords/tap_dances.h" +#endif \ No newline at end of file diff --git a/users/rmeli/rules.mk b/users/rmeli/rules.mk new file mode 100644 index 000000000000..293685e08be8 --- /dev/null +++ b/users/rmeli/rules.mk @@ -0,0 +1,20 @@ +# https://github.com/qmk/qmk_firmware/blob/develop/docs/squeezing_avr.md +CONSOLE_ENABLE = no +COMMAND_ENABLE = no # Needed for Space Cadet Shift +MOUSEKEY_ENABLE = no +SPACE_CADET_ENABLE = no # Implemented with tap dance +GRAVE_ESC_ENABLE = no +MAGIC_ENABLE = no +MUSIC_ENABLE = no + +# VIA only support 4 layers by default +# Use "#define DYNAMIC_KEYMAP_LAYER_COUNT" in config.h to change the limit +VIA_ENABLE = no + +ifeq ($(strip $(OLED_ENABLE)), yes) + SRC += $(USER_PATH)/oled/oled.c +endif + +ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) + SRC += $(USER_PATH)/keyrecords/tap_dances.c +endif \ No newline at end of file From 7e6f1c9e08874933618bf97c0e338fce44aa2713 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 10 Mar 2022 23:53:16 +0000 Subject: [PATCH 0357/1832] Force platform pin defs to be included (#16611) * Force platform pin defs to be included * Always grab first header --- platforms/arm_atsam/{pin_defs.h => _pin_defs.h} | 0 platforms/avr/{pin_defs.h => _pin_defs.h} | 0 platforms/chibios/{pin_defs.h => _pin_defs.h} | 0 platforms/pin_defs.h | 4 ++-- 4 files changed, 2 insertions(+), 2 deletions(-) rename platforms/arm_atsam/{pin_defs.h => _pin_defs.h} (100%) rename platforms/avr/{pin_defs.h => _pin_defs.h} (100%) rename platforms/chibios/{pin_defs.h => _pin_defs.h} (100%) diff --git a/platforms/arm_atsam/pin_defs.h b/platforms/arm_atsam/_pin_defs.h similarity index 100% rename from platforms/arm_atsam/pin_defs.h rename to platforms/arm_atsam/_pin_defs.h diff --git a/platforms/avr/pin_defs.h b/platforms/avr/_pin_defs.h similarity index 100% rename from platforms/avr/pin_defs.h rename to platforms/avr/_pin_defs.h diff --git a/platforms/chibios/pin_defs.h b/platforms/chibios/_pin_defs.h similarity index 100% rename from platforms/chibios/pin_defs.h rename to platforms/chibios/_pin_defs.h diff --git a/platforms/pin_defs.h b/platforms/pin_defs.h index ea730138f2f4..341fe89b6e9f 100644 --- a/platforms/pin_defs.h +++ b/platforms/pin_defs.h @@ -18,6 +18,6 @@ // useful for direct pin mapping #define NO_PIN (pin_t)(~0) -#if __has_include_next("pin_defs.h") -# include_next "pin_defs.h" /* Include the platforms pin_defs.h */ +#if __has_include("_pin_defs.h") +# include "_pin_defs.h" /* Include the platforms pin defs */ #endif From 003231aaf25facf7437caa32f3e8bc2a2e9cbe7d Mon Sep 17 00:00:00 2001 From: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Fri, 11 Mar 2022 12:02:40 +0700 Subject: [PATCH 0358/1832] [Keyboard] Add Mechlovin Infinity87.5 PCB (#15163) * add infinity87.5 * Update readme.md * Update keyboards/mechlovin/infinity875/config.h * Update keyboards/mechlovin/infinity875/info.json * Update keyboards/mechlovin/infinity875/rules.mk * Update keyboards/mechlovin/infinity875/rules.mk * Update keyboards/mechlovin/infinity875/config.h * Enable RGB matrix effect * update keymap default * undef RGB matrix effect * Update keyboards/mechlovin/infinity875/rules.mk * Update keyboards/mechlovin/infinity875/rules.mk * Update keyboards/mechlovin/infinity875/rules.mk * Update keyboards/mechlovin/infinity875/readme.md * Update keyboards/mechlovin/infinity875/infinity875.h * Update keyboards/mechlovin/infinity875/infinity875.h * Update keyboards/mechlovin/infinity875/info.json * Update keyboards/mechlovin/infinity875/infinity875.h * Update keyboards/mechlovin/infinity875/infinity875.h * Update keyboards/mechlovin/infinity875/info.json * Update keyboards/mechlovin/infinity875/info.json * Update keyboards/mechlovin/infinity875/info.json --- keyboards/mechlovin/infinity875/config.h | 64 ++ keyboards/mechlovin/infinity875/infinity875.c | 45 ++ keyboards/mechlovin/infinity875/infinity875.h | 99 +++ keyboards/mechlovin/infinity875/info.json | 23 + .../infinity875/keymaps/default/keymap.c | 35 + .../infinity875/keymaps/default/readme.md | 1 + .../keymaps/default/rgb_matrix_user.inc | 764 ++++++++++++++++++ .../infinity875/keymaps/default/rules.mk | 1 + .../infinity875/keymaps/via/config.h | 24 + .../infinity875/keymaps/via/keymap.c | 51 ++ .../infinity875/keymaps/via/readme.md | 1 + .../keymaps/via/rgb_matrix_user.inc | 764 ++++++++++++++++++ .../infinity875/keymaps/via/rules.mk | 3 + keyboards/mechlovin/infinity875/matrix.c | 388 +++++++++ keyboards/mechlovin/infinity875/readme.md | 24 + keyboards/mechlovin/infinity875/rules.mk | 23 + 16 files changed, 2310 insertions(+) create mode 100644 keyboards/mechlovin/infinity875/config.h create mode 100644 keyboards/mechlovin/infinity875/infinity875.c create mode 100644 keyboards/mechlovin/infinity875/infinity875.h create mode 100644 keyboards/mechlovin/infinity875/info.json create mode 100644 keyboards/mechlovin/infinity875/keymaps/default/keymap.c create mode 100644 keyboards/mechlovin/infinity875/keymaps/default/readme.md create mode 100644 keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc create mode 100644 keyboards/mechlovin/infinity875/keymaps/default/rules.mk create mode 100644 keyboards/mechlovin/infinity875/keymaps/via/config.h create mode 100644 keyboards/mechlovin/infinity875/keymaps/via/keymap.c create mode 100644 keyboards/mechlovin/infinity875/keymaps/via/readme.md create mode 100644 keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc create mode 100644 keyboards/mechlovin/infinity875/keymaps/via/rules.mk create mode 100644 keyboards/mechlovin/infinity875/matrix.c create mode 100644 keyboards/mechlovin/infinity875/readme.md create mode 100644 keyboards/mechlovin/infinity875/rules.mk diff --git a/keyboards/mechlovin/infinity875/config.h b/keyboards/mechlovin/infinity875/config.h new file mode 100644 index 000000000000..6b6a8147f646 --- /dev/null +++ b/keyboards/mechlovin/infinity875/config.h @@ -0,0 +1,64 @@ +/* +Copyright 2021 Mechlovin' Studio + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4D4C // ML +#define PRODUCT_ID 0x0875 +#define DEVICE_VER 0x0001 +#define PRODUCT Infinity87.5 +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D5, D2, D4, D3, D0, D1 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +#define LED_CAPS_LOCK_PIN D6 +#define LED_SCROLL_LOCK_PIN B4 +#define LED_PIN_ON_STATE 1 + +#ifdef RGB_MATRIX_ENABLE +#define RGB_DI_PIN E2 +#define DRIVER_LED_TOTAL 42 +#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#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) +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 +#endif + + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mechlovin/infinity875/infinity875.c b/keyboards/mechlovin/infinity875/infinity875.c new file mode 100644 index 000000000000..43606b6c9294 --- /dev/null +++ b/keyboards/mechlovin/infinity875/infinity875.c @@ -0,0 +1,45 @@ +/* Copyright 2021 Mechlovin' Studio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "infinity875.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + //Key Matrix to LED Index + {0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}, + {NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED}, + {NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED}, + {NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED}, + {NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED}, + {NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED} +}, { + //LED Index to Physical Positon + {0,0}, {14,0}, {28,0}, {42,0}, {56,0}, {67,0}, {70,0}, {84,0}, {98,0}, {112,0}, {126,0}, {140,0}, {154,0}, {168,0}, {182,0}, {196,0}, {210,0}, {224,0}, + {224,13}, {196,13}, {182,13}, {154,13}, {112,13}, {84,13}, {56,13}, {28,13}, {0,13}, + {0,25}, {0,38}, + {0,51}, {0,64}, + {28,64}, {56,64}, + {84,64}, {112,64}, {154,64}, {182,64}, {196,64}, {224,64}, {224,51}, {224,38}, {224,25}, +//{244,64}, {196,64}, {182,64}, {154,64}, {112,64}, {84,64}, {56,64}, {28,64}, {0,64}, +}, { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, + 1, 1, + 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, +} }; +#endif + diff --git a/keyboards/mechlovin/infinity875/infinity875.h b/keyboards/mechlovin/infinity875/infinity875.h new file mode 100644 index 000000000000..2febe0824cd5 --- /dev/null +++ b/keyboards/mechlovin/infinity875/infinity875.h @@ -0,0 +1,99 @@ +/* Copyright 2021 Mechlovin' Studio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3C, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \ +} + +#define LAYOUT_tkl_f13_ansi_split_bs_rshift( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3C, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \ + { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \ +} + +#define LAYOUT_tkl_f13_iso_split_bs_rshift( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \ +} + +#define LAYOUT_tkl_ansi_split_bs_rshift( \ + K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3C, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ +) { \ + { K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \ + { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \ +} + +#define LAYOUT_tkl_iso_split_bs_rshift( \ + K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ +) { \ + { K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \ +} diff --git a/keyboards/mechlovin/infinity875/info.json b/keyboards/mechlovin/infinity875/info.json new file mode 100644 index 000000000000..e24c0d1cc27f --- /dev/null +++ b/keyboards/mechlovin/infinity875/info.json @@ -0,0 +1,23 @@ +{ + "keyboard_name": "Infinity87.5", + "url": "", + "maintainer": "Mechlovin' Studio", + "layouts": { + "LAYOUT_tkl_ansi_split_bs_rshift": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":2, "y":0}, {"label":"0,2", "x":3, "y":0}, {"label":"0,3", "x":4, "y":0}, {"label":"0,4", "x":5, "y":0}, {"label":"0,5", "x":6.5, "y":0}, {"label":"0,6", "x":7.5, "y":0}, {"label":"0,7", "x":8.5, "y":0}, {"label":"0,8", "x":9.5, "y":0}, {"label":"0,9", "x":11, "y":0}, {"label":"0,10", "x":12, "y":0}, {"label":"0,11", "x":13, "y":0}, {"label":"0,12", "x":14, "y":0}, {"label":"0,14", "x":15.25, "y":0}, {"label":"0,15", "x":16.25, "y":0}, {"label":"0,16", "x":17.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25}, {"label":"2,13", "x":14, "y":1.25}, {"label":"1,14", "x":15.25, "y":1.25}, {"label":"1,15", "x":16.25, "y":1.25}, {"label":"1,16", "x":17.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"3,12", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,14", "x":15.25, "y":2.25}, {"label":"2,15", "x":16.25, "y":2.25}, {"label":"2,16", "x":17.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,13", "x":12.75, "y":3.25, "w":2.25}, {"label":"4,0", "x":0, "y":4.25, "w":2.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25}, {"label":"4,13", "x":13.25, "y":4.25, "w":1.75}, {"label":"4,15", "x":16.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,6", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,10", "x":10, "y":5.25, "w":1.25}, {"label":"5,11", "x":11.25, "y":5.25, "w":1.25}, {"label":"5,12", "x":12.5, "y":5.25, "w":1.25}, {"label":"5,13", "x":13.75, "y":5.25, "w":1.25}, {"label":"5,14", "x":15.25, "y":5.25}, {"label":"5,15", "x":16.25, "y":5.25}, {"label":"5,16", "x":17.25, "y":5.25}] + }, + "LAYOUT_tkl_iso_split_bs_rshift": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":2, "y":0}, {"label":"0,2", "x":3, "y":0}, {"label":"0,3", "x":4, "y":0}, {"label":"0,4", "x":5, "y":0}, {"label":"0,5", "x":6.5, "y":0}, {"label":"0,6", "x":7.5, "y":0}, {"label":"0,7", "x":8.5, "y":0}, {"label":"0,8", "x":9.5, "y":0}, {"label":"0,9", "x":11, "y":0}, {"label":"0,10", "x":12, "y":0}, {"label":"0,11", "x":13, "y":0}, {"label":"0,12", "x":14, "y":0}, {"label":"0,14", "x":15.25, "y":0}, {"label":"0,15", "x":16.25, "y":0}, {"label":"0,16", "x":17.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25}, {"label":"2,13", "x":14, "y":1.25}, {"label":"1,14", "x":15.25, "y":1.25}, {"label":"1,15", "x":16.25, "y":1.25}, {"label":"1,16", "x":17.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"3,13", "x":13.75, "y":2.25, "w":1.25, "h":2}, {"label":"2,14", "x":15.25, "y":2.25}, {"label":"2,15", "x":16.25, "y":2.25}, {"label":"2,16", "x":17.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,12", "x":12.75, "y":3.25}, {"label":"4,0", "x":0, "y":4.25, "w":1.25}, {"label":"4,1", "x":1.25, "y":4.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25}, {"label":"4,13", "x":13.25, "y":4.25, "w":1.75}, {"label":"4,15", "x":16.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,6", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,10", "x":10, "y":5.25, "w":1.25}, {"label":"5,11", "x":11.25, "y":5.25, "w":1.25}, {"label":"5,12", "x":12.5, "y":5.25, "w":1.25}, {"label":"5,13", "x":13.75, "y":5.25, "w":1.25}, {"label":"5,14", "x":15.25, "y":5.25}, {"label":"5,15", "x":16.25, "y":5.25}, {"label":"5,16", "x":17.25, "y":5.25}] + }, + "LAYOUT_tkl_f13_ansi_split_bs_rshift": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1.25, "y":0}, {"label":"0,2", "x":2.25, "y":0}, {"label":"0,3", "x":3.25, "y":0}, {"label":"0,4", "x":4.25, "y":0}, {"label":"0,5", "x":5.5, "y":0}, {"label":"0,6", "x":6.5, "y":0}, {"label":"0,7", "x":7.5, "y":0}, {"label":"0,8", "x":8.5, "y":0}, {"label":"0,9", "x":9.75, "y":0}, {"label":"0,10", "x":10.75, "y":0}, {"label":"0,11", "x":11.75, "y":0}, {"label":"0,12", "x":12.75, "y":0}, {"label":"0,13", "x":14, "y":0}, {"label":"0,14", "x":15.25, "y":0}, {"label":"0,15", "x":16.25, "y":0}, {"label":"0,16", "x":17.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25}, {"label":"2,13", "x":14, "y":1.25}, {"label":"1,14", "x":15.25, "y":1.25}, {"label":"1,15", "x":16.25, "y":1.25}, {"label":"1,16", "x":17.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"3,12", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,14", "x":15.25, "y":2.25}, {"label":"2,15", "x":16.25, "y":2.25}, {"label":"2,16", "x":17.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,13", "x":12.75, "y":3.25, "w":2.25}, {"label":"4,0", "x":0, "y":4.25, "w":2.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25}, {"label":"4,13", "x":13.25, "y":4.25, "w":1.75}, {"label":"4,15", "x":16.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,6", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,10", "x":10, "y":5.25, "w":1.25}, {"label":"5,11", "x":11.25, "y":5.25, "w":1.25}, {"label":"5,12", "x":12.5, "y":5.25, "w":1.25}, {"label":"5,13", "x":13.75, "y":5.25, "w":1.25}, {"label":"5,14", "x":15.25, "y":5.25}, {"label":"5,15", "x":16.25, "y":5.25}, {"label":"5,16", "x":17.25, "y":5.25}] + }, + "LAYOUT_tkl_f13_iso_split_bs_rshift": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1.25, "y":0}, {"label":"0,2", "x":2.25, "y":0}, {"label":"0,3", "x":3.25, "y":0}, {"label":"0,4", "x":4.25, "y":0}, {"label":"0,5", "x":5.5, "y":0}, {"label":"0,6", "x":6.5, "y":0}, {"label":"0,7", "x":7.5, "y":0}, {"label":"0,8", "x":8.5, "y":0}, {"label":"0,9", "x":9.75, "y":0}, {"label":"0,10", "x":10.75, "y":0}, {"label":"0,11", "x":11.75, "y":0}, {"label":"0,12", "x":12.75, "y":0}, {"label":"0,13", "x":14, "y":0}, {"label":"0,14", "x":15.25, "y":0}, {"label":"0,15", "x":16.25, "y":0}, {"label":"0,16", "x":17.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25}, {"label":"2,13", "x":14, "y":1.25}, {"label":"1,14", "x":15.25, "y":1.25}, {"label":"1,15", "x":16.25, "y":1.25}, {"label":"1,16", "x":17.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"3,13", "x":13.75, "y":2.25, "w":1.25, "h":2}, {"label":"2,14", "x":15.25, "y":2.25}, {"label":"2,15", "x":16.25, "y":2.25}, {"label":"2,16", "x":17.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,12", "x":12.75, "y":3.25}, {"label":"4,0", "x":0, "y":4.25, "w":1.25}, {"label":"4,1", "x":1.25, "y":4.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25}, {"label":"4,13", "x":13.25, "y":4.25, "w":1.75}, {"label":"4,15", "x":16.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,6", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,10", "x":10, "y":5.25, "w":1.25}, {"label":"5,11", "x":11.25, "y":5.25, "w":1.25}, {"label":"5,12", "x":12.5, "y":5.25, "w":1.25}, {"label":"5,13", "x":13.75, "y":5.25, "w":1.25}, {"label":"5,14", "x":15.25, "y":5.25}, {"label":"5,15", "x":16.25, "y":5.25}, {"label":"5,16", "x":17.25, "y":5.25}] + }, + "LAYOUT_all": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1.25, "y":0}, {"label":"0,2", "x":2.25, "y":0}, {"label":"0,3", "x":3.25, "y":0}, {"label":"0,4", "x":4.25, "y":0}, {"label":"0,5", "x":5.5, "y":0}, {"label":"0,6", "x":6.5, "y":0}, {"label":"0,7", "x":7.5, "y":0}, {"label":"0,8", "x":8.5, "y":0}, {"label":"0,9", "x":9.75, "y":0}, {"label":"0,10", "x":10.75, "y":0}, {"label":"0,11", "x":11.75, "y":0}, {"label":"0,12", "x":12.75, "y":0}, {"label":"0,13", "x":14, "y":0}, {"label":"0,14", "x":15.25, "y":0}, {"label":"0,15", "x":16.25, "y":0}, {"label":"0,16", "x":17.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25}, {"label":"2,13", "x":14, "y":1.25}, {"label":"1,14", "x":15.25, "y":1.25}, {"label":"1,15", "x":16.25, "y":1.25}, {"label":"1,16", "x":17.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"3,12", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,14", "x":15.25, "y":2.25}, {"label":"2,15", "x":16.25, "y":2.25}, {"label":"2,16", "x":17.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,13", "x":12.75, "y":3.25, "w":2.25}, {"label":"4,0", "x":0, "y":4.25, "w":1.25}, {"label":"4,1", "x":1.25, "y":4.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25}, {"label":"4,13", "x":13.25, "y":4.25, "w":1.75}, {"label":"4,15", "x":16.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,6", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,10", "x":10, "y":5.25, "w":1.25}, {"label":"5,11", "x":11.25, "y":5.25, "w":1.25}, {"label":"5,12", "x":12.5, "y":5.25, "w":1.25}, {"label":"5,13", "x":13.75, "y":5.25, "w":1.25}, {"label":"5,14", "x":15.25, "y":5.25}, {"label":"5,15", "x":16.25, "y":5.25}, {"label":"5,16", "x":17.25, "y":5.25}] + } + } + ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" +} diff --git a/keyboards/mechlovin/infinity875/keymaps/default/keymap.c b/keyboards/mechlovin/infinity875/keymaps/default/keymap.c new file mode 100644 index 000000000000..93073a1722f0 --- /dev/null +++ b/keyboards/mechlovin/infinity875/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2021 Mechlovin' Studio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + 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, 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, KC_TRNS, RGB_SAI, RGB_HUI, + 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, RGB_SAD, RGB_HUD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, + KC_TRNS, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD + ) +}; diff --git a/keyboards/mechlovin/infinity875/keymaps/default/readme.md b/keyboards/mechlovin/infinity875/keymaps/default/readme.md new file mode 100644 index 000000000000..877e1a6862b7 --- /dev/null +++ b/keyboards/mechlovin/infinity875/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for infinity875 diff --git a/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc b/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc new file mode 100644 index 000000000000..cee6a3f0389d --- /dev/null +++ b/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc @@ -0,0 +1,764 @@ +/* +Copyright 2020 Evy Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +RGB_MATRIX_EFFECT(solid_esc) +RGB_MATRIX_EFFECT(solid_f13) +RGB_MATRIX_EFFECT(solid_clus) +RGB_MATRIX_EFFECT(breathing_all) +RGB_MATRIX_EFFECT(breathing_esc) +RGB_MATRIX_EFFECT(breathing_f13) +RGB_MATRIX_EFFECT(breathing_clus) +RGB_MATRIX_EFFECT(band_val_all) +RGB_MATRIX_EFFECT(band_val_esc) +RGB_MATRIX_EFFECT(band_val_f13) +RGB_MATRIX_EFFECT(band_val_clus) +RGB_MATRIX_EFFECT(cycle_up_down_all) +RGB_MATRIX_EFFECT(cycle_up_down_esc) +RGB_MATRIX_EFFECT(cycle_up_down_f13) +RGB_MATRIX_EFFECT(cycle_up_down_clus) +RGB_MATRIX_EFFECT(cycle_out_in_dual_all) +RGB_MATRIX_EFFECT(cycle_out_in_dual_esc) +RGB_MATRIX_EFFECT(cycle_out_in_dual_f13) +RGB_MATRIX_EFFECT(cycle_out_in_dual_clus) +RGB_MATRIX_EFFECT(rainbow_moving_chevron_all) +RGB_MATRIX_EFFECT(rainbow_moving_chevron_esc) +RGB_MATRIX_EFFECT(rainbow_moving_chevron_f13) +RGB_MATRIX_EFFECT(rainbow_moving_chevron_clus) +RGB_MATRIX_EFFECT(cycle_pimwheel_all) +RGB_MATRIX_EFFECT(cycle_pimwheel_esc) +RGB_MATRIX_EFFECT(cycle_pimwheel_f13) +RGB_MATRIX_EFFECT(cycle_pimwheel_clus) +RGB_MATRIX_EFFECT(rainbow_beacon_all) +RGB_MATRIX_EFFECT(rainbow_beacon_esc) +RGB_MATRIX_EFFECT(rainbow_beacon_f13) +RGB_MATRIX_EFFECT(rainbow_beacon_clus) +RGB_MATRIX_EFFECT(raindrops_all) +RGB_MATRIX_EFFECT(raindrops_esc) +RGB_MATRIX_EFFECT(raindrops_f13) +RGB_MATRIX_EFFECT(raindrops_clus) + +#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS + +bool effect_runner_all(effect_params_t* params, i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_esc(effect_params_t* params, i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 1; i < 18; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_f13(effect_params_t* params, i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(15, 0x00, 0x00, 0x00); + rgb_matrix_set_color(16, 0x00, 0x00, 0x00); + rgb_matrix_set_color(17, 0x00, 0x00, 0x00); + } + for (uint8_t i = 0; i < 14; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_clus(effect_params_t* params, i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 0; i < 15; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 2); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; + int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 2); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; + int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 1; i < 18; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 2); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; + int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(15, 0x00, 0x00, 0x00); + rgb_matrix_set_color(16, 0x00, 0x00, 0x00); + rgb_matrix_set_color(17, 0x00, 0x00, 0x00); + } + for (uint8_t i = 0; i < 14; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 2); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; + int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 0; i < 15; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 4); + int8_t cos_value = cos8(time) - 128; + int8_t sin_value = sin8(time) - 128; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 4); + int8_t cos_value = cos8(time) - 128; + int8_t sin_value = sin8(time) - 128; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 1; i < 18; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 4); + int8_t cos_value = cos8(time) - 128; + int8_t sin_value = sin8(time) - 128; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(15, 0x00, 0x00, 0x00); + rgb_matrix_set_color(16, 0x00, 0x00, 0x00); + rgb_matrix_set_color(17, 0x00, 0x00, 0x00); + } + for (uint8_t i = 0; i < 14; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 4); + int8_t cos_value = cos8(time) - 128; + int8_t sin_value = sin8(time) - 128; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 0; i < 15; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +static void raindrops_set_color_all(int i, effect_params_t* params) { + if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; + HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + + // Take the shortest path between hues + int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; + if (deltaH > 127) { + deltaH -= 256; + } else if (deltaH < -127) { + deltaH += 256; + } + + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); +} + +static void raindrops_set_color_esc(int i, effect_params_t* params) { + if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; + HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + + // Take the shortest path between hues + int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; + if (deltaH > 127) { + deltaH -= 256; + } else if (deltaH < -127) { + deltaH += 256; + } + + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + for (uint8_t i = 1; i < 18; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } +} + +static void raindrops_set_color_f13(int i, effect_params_t* params) { + if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; + HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + + // Take the shortest path between hues + int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; + if (deltaH > 127) { + deltaH -= 256; + } else if (deltaH < -127) { + deltaH += 256; + } + + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(15, 0x00, 0x00, 0x00); + rgb_matrix_set_color(16, 0x00, 0x00, 0x00); + rgb_matrix_set_color(17, 0x00, 0x00, 0x00); + for (uint8_t i = 0; i < 14; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } +} + +static void raindrops_set_color_clus(int i, effect_params_t* params) { + if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; + HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + + // Take the shortest path between hues + int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; + if (deltaH > 127) { + deltaH -= 256; + } else if (deltaH < -127) { + deltaH += 256; + } + + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + for (uint8_t i = 0; i < 15; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } +} + +static HSV BAND_VAL_CUSTOM(HSV hsv, uint8_t i, uint8_t time) { + int16_t v = hsv.v - abs(scale8(g_led_config.point[i].x, 228) + 28 - time) * 8; + hsv.v = scale8(v < 0 ? 0 : v, hsv.v); + return hsv; +} + +static HSV CYCLE_UP_DOWN_CUSTOM(HSV hsv, uint8_t i, uint8_t time) { + hsv.h = g_led_config.point[i].y - time; + return hsv; +} + +static HSV CYCLE_OUT_IN_DUAL_CUSTOM(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { + dx = (k_rgb_matrix_center.x / 2) - abs8(dx); + uint8_t dist = sqrt16(dx * dx + dy * dy); + hsv.h = 3 * dist + time; + return hsv; +} + +static HSV RAINBOW_MOVING_CHEVRON_CUSTOM(HSV hsv, uint8_t i, uint8_t time) { + hsv.h += abs8(g_led_config.point[i].y - k_rgb_matrix_center.y) + (g_led_config.point[i].x - time); + return hsv; +} + +static HSV CYCLE_PINWHEEL_CUSTOM(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { + hsv.h = atan2_8(dy, dx) + time; + return hsv; +} + +static HSV RAINBOW_BEACON_CUSTOM(HSV hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { + hsv.h += ((g_led_config.point[i].y - k_rgb_matrix_center.y) * 2 * cos + (g_led_config.point[i].x - k_rgb_matrix_center.x) * 2 * sin) / 128; + return hsv; +} + + + +// Solid ESC +static bool solid_esc(effect_params_t* params) { + HSV hsv = rgb_matrix_config.hsv; + RGB rgb = hsv_to_rgb(hsv); + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 18 ; i < led_max; i++) { + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Solid F13 +static bool solid_f13(effect_params_t* params) { + HSV hsv = rgb_matrix_config.hsv; + RGB rgb = hsv_to_rgb(hsv); + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 18 ; i < led_max; i++) { + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Solid cluster +static bool solid_clus(effect_params_t* params) { + HSV hsv = rgb_matrix_config.hsv; + RGB rgb = hsv_to_rgb(hsv); + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 15 ; i < led_max; i++) { + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Breathing all + +bool breathing_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + HSV hsv = rgb_matrix_config.hsv; + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); + hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Breathing ESC +static bool breathing_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + HSV hsv = rgb_matrix_config.hsv; + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); + hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 18; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b); + return led_max < DRIVER_LED_TOTAL; +} + +// Breathing F13 +static bool breathing_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + HSV hsv = rgb_matrix_config.hsv; + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); + hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 18; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b); + return led_max < DRIVER_LED_TOTAL; +} + +// Breathing cluster +static bool breathing_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + HSV hsv = rgb_matrix_config.hsv; + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); + hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 15; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Band Val all +bool band_val_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_all(params, &BAND_VAL_CUSTOM); +} + +// Band Val ESC +bool band_val_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_esc(params, &BAND_VAL_CUSTOM); +} + +// Band Val F13 +bool band_val_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_f13(params, &BAND_VAL_CUSTOM); +} + +// Band Val Cluster +bool band_val_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_clus(params, &BAND_VAL_CUSTOM); +} + +// Cycle Up Down All +static bool cycle_up_down_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_all(params, &CYCLE_UP_DOWN_CUSTOM); +} + +// Cycle Up Down ESC +static bool cycle_up_down_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_esc(params, &CYCLE_UP_DOWN_CUSTOM); +} + +// Cycle up down F13 +static bool cycle_up_down_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_f13(params, &CYCLE_UP_DOWN_CUSTOM); +} + +// Cycle up down cluster +static bool cycle_up_down_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_clus(params, &CYCLE_UP_DOWN_CUSTOM); +} + +// Cycle out in dual All +static bool cycle_out_in_dual_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_all(params, &CYCLE_OUT_IN_DUAL_CUSTOM); +} + +// Cycle out in dual ESC +static bool cycle_out_in_dual_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_esc(params, &CYCLE_OUT_IN_DUAL_CUSTOM); +} + +// Cycle out in dual f13 +static bool cycle_out_in_dual_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_f13(params, &CYCLE_OUT_IN_DUAL_CUSTOM); +} + +// Cycle out in dual cluster +static bool cycle_out_in_dual_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_clus(params, &CYCLE_OUT_IN_DUAL_CUSTOM); +} + +// Moving chevron all +static bool rainbow_moving_chevron_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_all(params, &RAINBOW_MOVING_CHEVRON_CUSTOM); +} + +// Moving chevron ESC +static bool rainbow_moving_chevron_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_esc(params, &RAINBOW_MOVING_CHEVRON_CUSTOM); +} +// Moving chevron F13 +static bool rainbow_moving_chevron_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_f13(params, &RAINBOW_MOVING_CHEVRON_CUSTOM); +} +// Moving chevron cluster +static bool rainbow_moving_chevron_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_clus(params, &RAINBOW_MOVING_CHEVRON_CUSTOM); +} + +// Moving cycle pimwheel all +static bool cycle_pimwheel_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_all(params, &CYCLE_PINWHEEL_CUSTOM); +} + +// Moving cycle pimwheel esc +static bool cycle_pimwheel_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_esc(params, &CYCLE_PINWHEEL_CUSTOM); +} + +// Moving cycle pimwheel f13 +static bool cycle_pimwheel_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_f13(params, &CYCLE_PINWHEEL_CUSTOM); +} + +// Moving cycle pimwheel cluster +static bool cycle_pimwheel_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_clus(params, &CYCLE_PINWHEEL_CUSTOM); +} + +// Moving rainbow beacon all +static bool rainbow_beacon_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_sin_cos_all(params, &RAINBOW_BEACON_CUSTOM); +} + +// Moving rainbow beacon esc +static bool rainbow_beacon_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_sin_cos_esc(params, &RAINBOW_BEACON_CUSTOM); +} + +// Moving rainbow beacon f13 +static bool rainbow_beacon_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_sin_cos_f13(params, &RAINBOW_BEACON_CUSTOM); +} + +// Moving rainbow beacon cluster +static bool rainbow_beacon_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_sin_cos_clus(params, &RAINBOW_BEACON_CUSTOM); +} + +// Raindrops all +static bool raindrops_all(effect_params_t* params) { + if (!params->init) { + // Change one LED every tick, make sure speed is not 0 + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { + raindrops_set_color_all(rand() % DRIVER_LED_TOTAL, params); + } + return false; + } + + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (int i = led_min; i < led_max; i++) { + raindrops_set_color_all(i, params); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Raindrops ESC +static bool raindrops_esc(effect_params_t* params) { + if (!params->init) { + // Change one LED every tick, make sure speed is not 0 + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { + raindrops_set_color_esc(rand() % DRIVER_LED_TOTAL, params); + } + return false; + } + + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (int i = led_min; i < led_max; i++) { + raindrops_set_color_esc(i, params); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Raindrops F13 +static bool raindrops_f13(effect_params_t* params) { + if (!params->init) { + // Change one LED every tick, make sure speed is not 0 + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { + raindrops_set_color_f13(rand() % DRIVER_LED_TOTAL, params); + } + return false; + } + + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (int i = led_min; i < led_max; i++) { + raindrops_set_color_f13(i, params); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Raindrops Cluster +static bool raindrops_clus(effect_params_t* params) { + if (!params->init) { + // Change one LED every tick, make sure speed is not 0 + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { + raindrops_set_color_clus(rand() % DRIVER_LED_TOTAL, params); + } + return false; + } + + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (int i = led_min; i < led_max; i++) { + raindrops_set_color_clus(i, params); + } + return led_max < DRIVER_LED_TOTAL; +} + +#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/keyboards/mechlovin/infinity875/keymaps/default/rules.mk b/keyboards/mechlovin/infinity875/keymaps/default/rules.mk new file mode 100644 index 000000000000..64a7fa8664f8 --- /dev/null +++ b/keyboards/mechlovin/infinity875/keymaps/default/rules.mk @@ -0,0 +1 @@ +RGB_MATRIX_CUSTOM_USER = no \ No newline at end of file diff --git a/keyboards/mechlovin/infinity875/keymaps/via/config.h b/keyboards/mechlovin/infinity875/keymaps/via/config.h new file mode 100644 index 000000000000..74ee03f3f9e9 --- /dev/null +++ b/keyboards/mechlovin/infinity875/keymaps/via/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2021 Mechlovin' Studio + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#ifdef RGB_MATRIX_ENABLE + +#define VIA_QMK_RGBLIGHT_ENABLE + +#endif diff --git a/keyboards/mechlovin/infinity875/keymaps/via/keymap.c b/keyboards/mechlovin/infinity875/keymaps/via/keymap.c new file mode 100644 index 000000000000..283104b5b2c3 --- /dev/null +++ b/keyboards/mechlovin/infinity875/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2021 Mechlovin' Studio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI,MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + 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, 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, KC_TRNS, RGB_SAI, RGB_HUI, + 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, RGB_SAD, RGB_HUD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, + 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, RGB_VAI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD + ), + [2] = LAYOUT_all( + 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, 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, 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, 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, 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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_all( + 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, 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, 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, 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, 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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; diff --git a/keyboards/mechlovin/infinity875/keymaps/via/readme.md b/keyboards/mechlovin/infinity875/keymaps/via/readme.md new file mode 100644 index 000000000000..9289e7dbe2a2 --- /dev/null +++ b/keyboards/mechlovin/infinity875/keymaps/via/readme.md @@ -0,0 +1 @@ +# The VIA keymap for infinity87.5 diff --git a/keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc b/keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc new file mode 100644 index 000000000000..cee6a3f0389d --- /dev/null +++ b/keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc @@ -0,0 +1,764 @@ +/* +Copyright 2020 Evy Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +RGB_MATRIX_EFFECT(solid_esc) +RGB_MATRIX_EFFECT(solid_f13) +RGB_MATRIX_EFFECT(solid_clus) +RGB_MATRIX_EFFECT(breathing_all) +RGB_MATRIX_EFFECT(breathing_esc) +RGB_MATRIX_EFFECT(breathing_f13) +RGB_MATRIX_EFFECT(breathing_clus) +RGB_MATRIX_EFFECT(band_val_all) +RGB_MATRIX_EFFECT(band_val_esc) +RGB_MATRIX_EFFECT(band_val_f13) +RGB_MATRIX_EFFECT(band_val_clus) +RGB_MATRIX_EFFECT(cycle_up_down_all) +RGB_MATRIX_EFFECT(cycle_up_down_esc) +RGB_MATRIX_EFFECT(cycle_up_down_f13) +RGB_MATRIX_EFFECT(cycle_up_down_clus) +RGB_MATRIX_EFFECT(cycle_out_in_dual_all) +RGB_MATRIX_EFFECT(cycle_out_in_dual_esc) +RGB_MATRIX_EFFECT(cycle_out_in_dual_f13) +RGB_MATRIX_EFFECT(cycle_out_in_dual_clus) +RGB_MATRIX_EFFECT(rainbow_moving_chevron_all) +RGB_MATRIX_EFFECT(rainbow_moving_chevron_esc) +RGB_MATRIX_EFFECT(rainbow_moving_chevron_f13) +RGB_MATRIX_EFFECT(rainbow_moving_chevron_clus) +RGB_MATRIX_EFFECT(cycle_pimwheel_all) +RGB_MATRIX_EFFECT(cycle_pimwheel_esc) +RGB_MATRIX_EFFECT(cycle_pimwheel_f13) +RGB_MATRIX_EFFECT(cycle_pimwheel_clus) +RGB_MATRIX_EFFECT(rainbow_beacon_all) +RGB_MATRIX_EFFECT(rainbow_beacon_esc) +RGB_MATRIX_EFFECT(rainbow_beacon_f13) +RGB_MATRIX_EFFECT(rainbow_beacon_clus) +RGB_MATRIX_EFFECT(raindrops_all) +RGB_MATRIX_EFFECT(raindrops_esc) +RGB_MATRIX_EFFECT(raindrops_f13) +RGB_MATRIX_EFFECT(raindrops_clus) + +#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS + +bool effect_runner_all(effect_params_t* params, i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_esc(effect_params_t* params, i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 1; i < 18; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_f13(effect_params_t* params, i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(15, 0x00, 0x00, 0x00); + rgb_matrix_set_color(16, 0x00, 0x00, 0x00); + rgb_matrix_set_color(17, 0x00, 0x00, 0x00); + } + for (uint8_t i = 0; i < 14; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_clus(effect_params_t* params, i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 4, 1)); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 0; i < 15; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 2); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; + int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 2); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; + int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 1; i < 18; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 2); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; + int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(15, 0x00, 0x00, 0x00); + rgb_matrix_set_color(16, 0x00, 0x00, 0x00); + rgb_matrix_set_color(17, 0x00, 0x00, 0x00); + } + for (uint8_t i = 0; i < 14; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 2); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x; + int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y; + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 0; i < 15; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 4); + int8_t cos_value = cos8(time) - 128; + int8_t sin_value = sin8(time) - 128; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 4); + int8_t cos_value = cos8(time) - 128; + int8_t sin_value = sin8(time) - 128; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 1; i < 18; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 4); + int8_t cos_value = cos8(time) - 128; + int8_t sin_value = sin8(time) - 128; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(15, 0x00, 0x00, 0x00); + rgb_matrix_set_color(16, 0x00, 0x00, 0x00); + rgb_matrix_set_color(17, 0x00, 0x00, 0x00); + } + for (uint8_t i = 0; i < 14; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 4); + int8_t cos_value = cos8(time) - 128; + int8_t sin_value = sin8(time) - 128; + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + for (uint8_t i = 0; i < 15; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return led_max < DRIVER_LED_TOTAL; +} + +static void raindrops_set_color_all(int i, effect_params_t* params) { + if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; + HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + + // Take the shortest path between hues + int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; + if (deltaH > 127) { + deltaH -= 256; + } else if (deltaH < -127) { + deltaH += 256; + } + + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); +} + +static void raindrops_set_color_esc(int i, effect_params_t* params) { + if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; + HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + + // Take the shortest path between hues + int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; + if (deltaH > 127) { + deltaH -= 256; + } else if (deltaH < -127) { + deltaH += 256; + } + + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + for (uint8_t i = 1; i < 18; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } +} + +static void raindrops_set_color_f13(int i, effect_params_t* params) { + if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; + HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + + // Take the shortest path between hues + int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; + if (deltaH > 127) { + deltaH -= 256; + } else if (deltaH < -127) { + deltaH += 256; + } + + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(15, 0x00, 0x00, 0x00); + rgb_matrix_set_color(16, 0x00, 0x00, 0x00); + rgb_matrix_set_color(17, 0x00, 0x00, 0x00); + for (uint8_t i = 0; i < 14; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } +} + +static void raindrops_set_color_clus(int i, effect_params_t* params) { + if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; + HSV hsv = {0, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v}; + + // Take the shortest path between hues + int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4; + if (deltaH > 127) { + deltaH -= 256; + } else if (deltaH < -127) { + deltaH += 256; + } + + hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03)); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + for (uint8_t i = 0; i < 15; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } +} + +static HSV BAND_VAL_CUSTOM(HSV hsv, uint8_t i, uint8_t time) { + int16_t v = hsv.v - abs(scale8(g_led_config.point[i].x, 228) + 28 - time) * 8; + hsv.v = scale8(v < 0 ? 0 : v, hsv.v); + return hsv; +} + +static HSV CYCLE_UP_DOWN_CUSTOM(HSV hsv, uint8_t i, uint8_t time) { + hsv.h = g_led_config.point[i].y - time; + return hsv; +} + +static HSV CYCLE_OUT_IN_DUAL_CUSTOM(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { + dx = (k_rgb_matrix_center.x / 2) - abs8(dx); + uint8_t dist = sqrt16(dx * dx + dy * dy); + hsv.h = 3 * dist + time; + return hsv; +} + +static HSV RAINBOW_MOVING_CHEVRON_CUSTOM(HSV hsv, uint8_t i, uint8_t time) { + hsv.h += abs8(g_led_config.point[i].y - k_rgb_matrix_center.y) + (g_led_config.point[i].x - time); + return hsv; +} + +static HSV CYCLE_PINWHEEL_CUSTOM(HSV hsv, int16_t dx, int16_t dy, uint8_t time) { + hsv.h = atan2_8(dy, dx) + time; + return hsv; +} + +static HSV RAINBOW_BEACON_CUSTOM(HSV hsv, int8_t sin, int8_t cos, uint8_t i, uint8_t time) { + hsv.h += ((g_led_config.point[i].y - k_rgb_matrix_center.y) * 2 * cos + (g_led_config.point[i].x - k_rgb_matrix_center.x) * 2 * sin) / 128; + return hsv; +} + + + +// Solid ESC +static bool solid_esc(effect_params_t* params) { + HSV hsv = rgb_matrix_config.hsv; + RGB rgb = hsv_to_rgb(hsv); + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 18 ; i < led_max; i++) { + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Solid F13 +static bool solid_f13(effect_params_t* params) { + HSV hsv = rgb_matrix_config.hsv; + RGB rgb = hsv_to_rgb(hsv); + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 18 ; i < led_max; i++) { + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Solid cluster +static bool solid_clus(effect_params_t* params) { + HSV hsv = rgb_matrix_config.hsv; + RGB rgb = hsv_to_rgb(hsv); + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 15 ; i < led_max; i++) { + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Breathing all + +bool breathing_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + HSV hsv = rgb_matrix_config.hsv; + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); + hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Breathing ESC +static bool breathing_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + HSV hsv = rgb_matrix_config.hsv; + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); + hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 18; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b); + return led_max < DRIVER_LED_TOTAL; +} + +// Breathing F13 +static bool breathing_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + HSV hsv = rgb_matrix_config.hsv; + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); + hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 18; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b); + return led_max < DRIVER_LED_TOTAL; +} + +// Breathing cluster +static bool breathing_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + HSV hsv = rgb_matrix_config.hsv; + uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); + hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); + RGB rgb = rgb_matrix_hsv_to_rgb(hsv); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + for (uint8_t i = 15; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Band Val all +bool band_val_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_all(params, &BAND_VAL_CUSTOM); +} + +// Band Val ESC +bool band_val_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_esc(params, &BAND_VAL_CUSTOM); +} + +// Band Val F13 +bool band_val_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_f13(params, &BAND_VAL_CUSTOM); +} + +// Band Val Cluster +bool band_val_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_clus(params, &BAND_VAL_CUSTOM); +} + +// Cycle Up Down All +static bool cycle_up_down_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_all(params, &CYCLE_UP_DOWN_CUSTOM); +} + +// Cycle Up Down ESC +static bool cycle_up_down_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_esc(params, &CYCLE_UP_DOWN_CUSTOM); +} + +// Cycle up down F13 +static bool cycle_up_down_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_f13(params, &CYCLE_UP_DOWN_CUSTOM); +} + +// Cycle up down cluster +static bool cycle_up_down_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_clus(params, &CYCLE_UP_DOWN_CUSTOM); +} + +// Cycle out in dual All +static bool cycle_out_in_dual_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_all(params, &CYCLE_OUT_IN_DUAL_CUSTOM); +} + +// Cycle out in dual ESC +static bool cycle_out_in_dual_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_esc(params, &CYCLE_OUT_IN_DUAL_CUSTOM); +} + +// Cycle out in dual f13 +static bool cycle_out_in_dual_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_f13(params, &CYCLE_OUT_IN_DUAL_CUSTOM); +} + +// Cycle out in dual cluster +static bool cycle_out_in_dual_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_clus(params, &CYCLE_OUT_IN_DUAL_CUSTOM); +} + +// Moving chevron all +static bool rainbow_moving_chevron_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_all(params, &RAINBOW_MOVING_CHEVRON_CUSTOM); +} + +// Moving chevron ESC +static bool rainbow_moving_chevron_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_esc(params, &RAINBOW_MOVING_CHEVRON_CUSTOM); +} +// Moving chevron F13 +static bool rainbow_moving_chevron_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_f13(params, &RAINBOW_MOVING_CHEVRON_CUSTOM); +} +// Moving chevron cluster +static bool rainbow_moving_chevron_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_clus(params, &RAINBOW_MOVING_CHEVRON_CUSTOM); +} + +// Moving cycle pimwheel all +static bool cycle_pimwheel_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_all(params, &CYCLE_PINWHEEL_CUSTOM); +} + +// Moving cycle pimwheel esc +static bool cycle_pimwheel_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_esc(params, &CYCLE_PINWHEEL_CUSTOM); +} + +// Moving cycle pimwheel f13 +static bool cycle_pimwheel_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_f13(params, &CYCLE_PINWHEEL_CUSTOM); +} + +// Moving cycle pimwheel cluster +static bool cycle_pimwheel_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_dx_dy_clus(params, &CYCLE_PINWHEEL_CUSTOM); +} + +// Moving rainbow beacon all +static bool rainbow_beacon_all(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_sin_cos_all(params, &RAINBOW_BEACON_CUSTOM); +} + +// Moving rainbow beacon esc +static bool rainbow_beacon_esc(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_sin_cos_esc(params, &RAINBOW_BEACON_CUSTOM); +} + +// Moving rainbow beacon f13 +static bool rainbow_beacon_f13(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_sin_cos_f13(params, &RAINBOW_BEACON_CUSTOM); +} + +// Moving rainbow beacon cluster +static bool rainbow_beacon_clus(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min ; i < led_max; i++) { + rgb_matrix_set_color(i, 0x00, 0x00, 0x00); + } + return effect_runner_sin_cos_clus(params, &RAINBOW_BEACON_CUSTOM); +} + +// Raindrops all +static bool raindrops_all(effect_params_t* params) { + if (!params->init) { + // Change one LED every tick, make sure speed is not 0 + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { + raindrops_set_color_all(rand() % DRIVER_LED_TOTAL, params); + } + return false; + } + + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (int i = led_min; i < led_max; i++) { + raindrops_set_color_all(i, params); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Raindrops ESC +static bool raindrops_esc(effect_params_t* params) { + if (!params->init) { + // Change one LED every tick, make sure speed is not 0 + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { + raindrops_set_color_esc(rand() % DRIVER_LED_TOTAL, params); + } + return false; + } + + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (int i = led_min; i < led_max; i++) { + raindrops_set_color_esc(i, params); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Raindrops F13 +static bool raindrops_f13(effect_params_t* params) { + if (!params->init) { + // Change one LED every tick, make sure speed is not 0 + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { + raindrops_set_color_f13(rand() % DRIVER_LED_TOTAL, params); + } + return false; + } + + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (int i = led_min; i < led_max; i++) { + raindrops_set_color_f13(i, params); + } + return led_max < DRIVER_LED_TOTAL; +} + +// Raindrops Cluster +static bool raindrops_clus(effect_params_t* params) { + if (!params->init) { + // Change one LED every tick, make sure speed is not 0 + if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { + raindrops_set_color_clus(rand() % DRIVER_LED_TOTAL, params); + } + return false; + } + + RGB_MATRIX_USE_LIMITS(led_min, led_max); + for (int i = led_min; i < led_max; i++) { + raindrops_set_color_clus(i, params); + } + return led_max < DRIVER_LED_TOTAL; +} + +#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/keyboards/mechlovin/infinity875/keymaps/via/rules.mk b/keyboards/mechlovin/infinity875/keymaps/via/rules.mk new file mode 100644 index 000000000000..0e604ef69a54 --- /dev/null +++ b/keyboards/mechlovin/infinity875/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes + +RGB_MATRIX_CUSTOM_USER = yes \ No newline at end of file diff --git a/keyboards/mechlovin/infinity875/matrix.c b/keyboards/mechlovin/infinity875/matrix.c new file mode 100644 index 000000000000..b1b0d20654c8 --- /dev/null +++ b/keyboards/mechlovin/infinity875/matrix.c @@ -0,0 +1,388 @@ +/* +Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar +Copyright 2019 Evy Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include +#include +#include "wait.h" +#include "util.h" +#include "matrix.h" +#include "debounce.h" +#include "quantum.h" + +#ifdef DIRECT_PINS +static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; +#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) +static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +//static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +#endif + +// matrix code + +#ifdef DIRECT_PINS + +static void init_pins(void) { + for (int row = 0; row < MATRIX_ROWS; row++) { + for (int col = 0; col < MATRIX_COLS; col++) { + pin_t pin = direct_pins[row][col]; + if (pin != NO_PIN) { + setPinInputHigh(pin); + } + } + } +} + +static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { + matrix_row_t last_row_value = current_matrix[current_row]; + current_matrix[current_row] = 0; + + for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + pin_t pin = direct_pins[current_row][col_index]; + if (pin != NO_PIN) { + current_matrix[current_row] |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index); + } + } + + return (last_row_value != current_matrix[current_row]); +} + +#elif (DIODE_DIRECTION == ROW2COL) + +/* Cols 0 - 16 + * These columns use two 74HC138 3 to 8 bit demultiplexer. B0, F1 is the enable pin, must be set high (1) to use it. + * + * col / pin: PB5 PB7 PF0 PB0 PF1 PE6 + * 0: 0 ── 0 ── 0 1 ── 0 0 + * ──────────────────────────────────────────── + * 1: 0 ── 0 ── 1 1 ── 0 0 + * ──────────────────────────────────────────── + * 2: 0 ── 1 ── 0 1 ── 0 0 + * ──────────────────────────────────────────── + * 3: 0 ── 1 ── 1 1 ── 0 0 + * ──────────────────────────────────────────── + * 4: 1 ── 0 ── 0 1 ── 0 0 + * ──────────────────────────────────────────── + * 5: 1 ── 0 ── 1 1 ── 0 0 + * ──────────────────────────────────────────── + * 6: 1 ── 1 ── 0 1 ── 0 0 + * ──────────────────────────────────────────── + * 7: 1 ── 1 ── 1 1 ── 0 0 + * ──────────────────────────────────────────── + * 8: 0 ── 0 ── 0 0 ── 1 0 + * ──────────────────────────────────────────── + * 9: 0 ── 0 ── 1 0 ── 1 0 + * ──────────────────────────────────────────── + *10: 0 ── 1 ── 0 0 ── 1 0 + * ──────────────────────────────────────────── + *11: 0 ── 1 ── 1 0 ── 1 0 + * ──────────────────────────────────────────── + *12: 1 ── 0 ── 0 0 ── 1 0 + * ──────────────────────────────────────────── + *13: 1 ── 0 ── 1 0 ── 1 0 + * ──────────────────────────────────────────── + *14: 1 ── 1 ── 1 0 ── 1 0 + * ──────────────────────────────────────────── + *15: 1 ── 1 ── 0 0 ── 1 0 + * ──────────────────────────────────────────── + *16: 0 ── 0 ── 0 0 ── 0 1 + * + */ +static void select_col(uint8_t col) { + switch (col) { + case 0: + writePinLow(B5); + writePinLow(B7); + writePinLow(F0); + writePinHigh(B0); + break; + case 1: + writePinLow(B5); + writePinLow(B7); + writePinHigh(F0); + writePinHigh(B0); + break; + case 2: + writePinLow(B5); + writePinHigh(B7); + writePinLow(F0); + writePinHigh(B0); + break; + case 3: + writePinLow(B5); + writePinHigh(B7); + writePinHigh(F0); + writePinHigh(B0); + break; + case 4: + writePinHigh(B5); + writePinLow(B7); + writePinLow(F0); + writePinHigh(B0); + break; + case 5: + writePinHigh(B5); + writePinLow(B7); + writePinHigh(F0); + writePinHigh(B0); + break; + case 6: + writePinHigh(B5); + writePinHigh(B7); + writePinLow(F0); + writePinHigh(B0); + break; + case 7: + writePinHigh(B5); + writePinHigh(B7); + writePinHigh(F0); + writePinHigh(B0); + break; + case 8: + writePinLow(B5); + writePinLow(B7); + writePinLow(F0); + writePinHigh(F1); + break; + case 9: + writePinLow(B5); + writePinLow(B7); + writePinHigh(F0); + writePinHigh(F1); + break; + case 10: + writePinLow(B5); + writePinHigh(B7); + writePinLow(F0); + writePinHigh(F1); + break; + case 11: + writePinLow(B5); + writePinHigh(B7); + writePinHigh(F0); + writePinHigh(F1); + break; + case 12: + writePinHigh(B5); + writePinLow(B7); + writePinLow(F0); + writePinHigh(F1); + break; + case 13: + writePinHigh(B5); + writePinLow(B7); + writePinHigh(F0); + writePinHigh(F1); + break; + case 14: + writePinHigh(B5); + writePinHigh(B7); + writePinHigh(F0); + writePinHigh(F1); + break; + case 15: + writePinHigh(B5); + writePinHigh(B7); + writePinLow(F0); + writePinHigh(F1); + break; + case 16: + writePinLow(E6); + break; + } +} + +static void unselect_col(uint8_t col) { + switch (col) { + case 0: + writePinHigh(B5); + writePinHigh(B7); + writePinHigh(F0); + writePinLow(B0); + break; + case 1: + writePinHigh(B5); + writePinHigh(B7); + writePinLow(F0); + writePinLow(B0); + break; + case 2: + writePinHigh(B5); + writePinLow(B7); + writePinHigh(F0); + writePinLow(B0); + break; + case 3: + writePinHigh(B5); + writePinLow(B7); + writePinLow(F0); + writePinLow(B0); + break; + case 4: + writePinLow(B5); + writePinHigh(B7); + writePinHigh(F0); + writePinLow(B0); + break; + case 5: + writePinLow(B5); + writePinHigh(B7); + writePinLow(F0); + writePinLow(B0); + break; + case 6: + writePinLow(B5); + writePinLow(B7); + writePinHigh(F0); + writePinLow(B0); + break; + case 7: + writePinLow(B5); + writePinLow(B7); + writePinLow(F0); + writePinLow(B0); + break; + case 8: + writePinHigh(B5); + writePinHigh(B7); + writePinHigh(F0); + writePinLow(F1); + break; + case 9: + writePinHigh(B5); + writePinHigh(B7); + writePinLow(F0); + writePinLow(F1); + break; + case 10: + writePinHigh(B5); + writePinLow(B7); + writePinHigh(F0); + writePinLow(F1); + break; + case 11: + writePinHigh(B5); + writePinLow(B7); + writePinLow(F0); + writePinLow(F1); + break; + case 12: + writePinLow(B5); + writePinHigh(B7); + writePinHigh(F0); + writePinLow(F1); + break; + case 13: + writePinLow(B5); + writePinHigh(B7); + writePinLow(F0); + writePinLow(F1); + break; + case 14: + writePinLow(B5); + writePinLow(B7); + writePinLow(F0); + writePinLow(F1); + break; + case 15: + writePinLow(B5); + writePinLow(B7); + writePinHigh(F0); + writePinLow(F1); + break; + case 16: + writePinHigh(E6); + break; + } +} + +static void unselect_cols(void) { + //Native + writePinHigh(E6); + + //Demultiplexer + writePinLow(B0); + writePinLow(F1); + writePinHigh(B5); + writePinHigh(B7); + writePinHigh(F0); +} + +static void init_pins(void) { + unselect_cols(); + for (uint8_t x = 0; x < MATRIX_ROWS; x++) { + setPinInputHigh(row_pins[x]); + } + setPinOutput(B5); + setPinOutput(B7); + setPinOutput(F0); + setPinOutput(B0); + setPinOutput(F1); + setPinOutput(E6); +} + +static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { + bool matrix_changed = false; + + // Select col and wait for col selecton to stabilize + select_col(current_col); + wait_us(30); + + // For each row... + for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) { + // Store last value of row prior to reading + matrix_row_t last_row_value = current_matrix[row_index]; + + // Check row pin state + if (readPin(row_pins[row_index]) == 0) { + // Pin LO, set col bit + current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); + } else { + // Pin HI, clear col bit + current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); + } + + // Determine if the matrix changed state + if ((last_row_value != current_matrix[row_index]) && !(matrix_changed)) { + matrix_changed = true; + } + } + + // Unselect col + unselect_col(current_col); + + return matrix_changed; +} + +#endif + +void matrix_init_custom(void) { + // initialize key pins + init_pins(); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool changed = false; + +#if defined(DIRECT_PINS) || (DIODE_DIRECTION == ROW2COL) + // Set col, read rows + for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { + changed |= read_rows_on_col(current_matrix, current_col); + } +#endif + + return changed; +} diff --git a/keyboards/mechlovin/infinity875/readme.md b/keyboards/mechlovin/infinity875/readme.md new file mode 100644 index 000000000000..b3e14a7bb7c0 --- /dev/null +++ b/keyboards/mechlovin/infinity875/readme.md @@ -0,0 +1,24 @@ +# infinity875 + +![infinity875](https://i.imgur.com/qt4YBwSl.jpeg) + +The Infinity 87.5 is in the popular A87 form factor with Top-sided USB Type-C and supports BOTH the F12 and F13 footprints, so it’s compatible with a number of TKL boards like Geonworks Frog/F1-8x; KFE-CE; Singa Jaguar, among others. + +* Keyboard Maintainer: [Mechlovin' Studio](https://github.com/mechlovin) +* Hardware Supported: Infinity87.5, Atmega32u4 +* Hardware Availability: [GB](https://geekhack.org/index.php?topic=115251.0), [CBB Planet](https://cbbplanet.com/products/infinity-87-5-pcb), [Mechlovin' Studio](https://mechlovin.studio) + +Make example for this keyboard (after setting up your build environment): + + make mechlovin/infinity875:default + +Flashing example for this keyboard: + + make mechlovin/infinity875:default:flash + +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). + +**Reset Key:** 3 ways to put the IF87.5 into bootloader: +- By keycode: Tap RESET keycode. +- By bootmagic: hold ESC key while plugging in. +- By hardware: Push reset button on bottom of the PCB while the PCB is plugged in. \ No newline at end of file diff --git a/keyboards/mechlovin/infinity875/rules.mk b/keyboards/mechlovin/infinity875/rules.mk new file mode 100644 index 000000000000..d16f1ac35b71 --- /dev/null +++ b/keyboards/mechlovin/infinity875/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +CUSTOM_MATRIX = lite +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 + +SRC += matrix.c From 74b24e410bb02180aaf373c12ae3d2550e7eac29 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 11 Mar 2022 05:25:31 -0800 Subject: [PATCH 0359/1832] DZ64RGB: add info.json (#16616) --- keyboards/dztech/dz64rgb/info.json | 79 ++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 keyboards/dztech/dz64rgb/info.json diff --git a/keyboards/dztech/dz64rgb/info.json b/keyboards/dztech/dz64rgb/info.json new file mode 100644 index 000000000000..8e602bd7c0eb --- /dev/null +++ b/keyboards/dztech/dz64rgb/info.json @@ -0,0 +1,79 @@ +{ + "keyboard_name": "DZ64RGB", + "url": "", + "maintainer": "moyi4681", + "layouts": { + "LAYOUT_64_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2}, + {"label":"Z", "x":2, "y":3}, + {"label":"X", "x":3, "y":3}, + {"label":"C", "x":4, "y":3}, + {"label":"V", "x":5, "y":3}, + {"label":"B", "x":6, "y":3}, + {"label":"N", "x":7, "y":3}, + {"label":"M", "x":8, "y":3}, + {"label":",<", "x":9, "y":3}, + {"label":".>", "x":10, "y":3}, + {"label":"/?", "x":11, "y":3}, + {"label":"Shift", "x":12, "y":3}, + {"label":"\u2191", "x":13, "y":3}, + {"label":"Delete", "x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4}, + {"label":"Ctrl", "x":11, "y":4}, + {"label":"\u2190", "x":12, "y":4}, + {"label":"\u2193", "x":13, "y":4}, + {"label":"\u2192", "x":14, "y":4} + ] + } + } +} From 3f797080952029e792361d7ea2cee9b423e07f72 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 11 Mar 2022 05:26:15 -0800 Subject: [PATCH 0360/1832] Acheron Elongate Delta: add info.json (#16615) --- keyboards/acheron/elongate/delta/info.json | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 keyboards/acheron/elongate/delta/info.json diff --git a/keyboards/acheron/elongate/delta/info.json b/keyboards/acheron/elongate/delta/info.json new file mode 100644 index 000000000000..d96805a66aa0 --- /dev/null +++ b/keyboards/acheron/elongate/delta/info.json @@ -0,0 +1,68 @@ +{ + "keyboard_name": "Elongate", + "url": "http://gondolindrim.github.io/AcheronDocs/elongate/introduction.html", + "maintainer": "Gondolindrim", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"Q", "x":1, "y":0}, + {"label":"W", "x":2, "y":0}, + {"label":"E", "x":3, "y":0}, + {"label":"R", "x":4, "y":0}, + {"label":"T", "x":5, "y":0}, + {"label":"Y", "x":6, "y":0}, + {"label":"U", "x":7, "y":0}, + {"label":"I", "x":8, "y":0}, + {"label":"O", "x":9, "y":0}, + {"label":"P", "x":10, "y":0}, + {"label":"Backspace", "x":11, "y":0}, + {"label":"7", "x":12.5, "y":0}, + {"label":"8", "x":13.5, "y":0}, + {"label":"9", "x":14.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.25}, + {"label":"A", "x":1.25, "y":1}, + {"label":"S", "x":2.25, "y":1}, + {"label":"D", "x":3.25, "y":1}, + {"label":"F", "x":4.25, "y":1}, + {"label":"G", "x":5.25, "y":1}, + {"label":"H", "x":6.25, "y":1}, + {"label":"J", "x":7.25, "y":1}, + {"label":"K", "x":8.25, "y":1}, + {"label":"L", "x":9.25, "y":1}, + {"label":"Enter", "x":10.25, "y":1, "w":1.75}, + {"label":"4", "x":12.5, "y":1}, + {"label":"5", "x":13.5, "y":1}, + {"label":"6", "x":14.5, "y":1}, + + {"label":"Shift", "x":0, "y":2, "w":1.75}, + {"label":"Z", "x":1.75, "y":2}, + {"label":"X", "x":2.75, "y":2}, + {"label":"C", "x":3.75, "y":2}, + {"label":"V", "x":4.75, "y":2}, + {"label":"B", "x":5.75, "y":2}, + {"label":"N", "x":6.75, "y":2}, + {"label":"M", "x":7.75, "y":2}, + {"label":",<", "x":8.75, "y":2}, + {"label":"Fn", "x":9.75, "y":2, "w":1.25}, + {"label":"\u2191", "x":11.25, "y":2.25}, + {"label":"1", "x":12.5, "y":2}, + {"label":"2", "x":13.5, "y":2}, + {"label":"3", "x":14.5, "y":2}, + + {"label":"Ctrl", "x":0, "y":3, "w":1.25}, + {"label":"GUI", "x":1.25, "y":3}, + {"label":"Alt", "x":2.25, "y":3, "w":1.25}, + {"label":"Space/Fn2", "x":3.5, "y":3, "w":2.25}, + {"label":"Space", "x":6.25, "y":3, "w":2.75}, + {"label":"Alt", "x":9, "y":3}, + {"label":"\u2190", "x":10.25, "y":3.25}, + {"label":"\u2193", "x":11.25, "y":3.25}, + {"label":"\u2192", "x":12.25, "y":3.25}, + {"label":"0", "x":13.5, "y":3}, + {"label":".", "x":14.5, "y":3} + ] + } + } +} From 1833e65370395d438b67b98a317e54d27a742c16 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 11 Mar 2022 13:27:29 +0000 Subject: [PATCH 0361/1832] Workaround for pin_def errors on KINETIS (#16614) --- platforms/pin_defs.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/platforms/pin_defs.h b/platforms/pin_defs.h index 341fe89b6e9f..af2c415f400f 100644 --- a/platforms/pin_defs.h +++ b/platforms/pin_defs.h @@ -15,6 +15,10 @@ */ #pragma once +// TODO: including this avoids "error: expected identifier before '(' token" errors +// here just to please KINETIS builds... +#include "platform_deps.h" + // useful for direct pin mapping #define NO_PIN (pin_t)(~0) From 0eb42e042cb161d961d4d0fd6351eeed122f1e0c Mon Sep 17 00:00:00 2001 From: Pascal Getreuer <50221757+getreuer@users.noreply.github.com> Date: Fri, 11 Mar 2022 05:28:52 -0800 Subject: [PATCH 0362/1832] Fix flipped One Shot logic (#16617) --- quantum/action_util.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/quantum/action_util.c b/quantum/action_util.c index 4ea0bf61fbcd..cf81370d4a8d 100644 --- a/quantum/action_util.c +++ b/quantum/action_util.c @@ -202,8 +202,9 @@ bool is_oneshot_layer_active(void) { * FIXME: needs doc */ void oneshot_set(bool active) { - if (keymap_config.oneshot_disable != active) { - keymap_config.oneshot_disable = active; + const bool disable = !active; + if (keymap_config.oneshot_disable != disable) { + keymap_config.oneshot_disable = disable; eeconfig_update_keymap(keymap_config.raw); clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); dprintf("Oneshot: active: %d\n", active); @@ -235,7 +236,7 @@ void oneshot_disable(void) { } bool is_oneshot_enabled(void) { - return keymap_config.oneshot_disable; + return !keymap_config.oneshot_disable; } #endif From dd32cdf527d4647a9488b1b4c142fff1d663bc56 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 11 Mar 2022 18:50:59 +0000 Subject: [PATCH 0363/1832] Redo workaround for pin_def errors on KINETIS (#16620) * Redo workaround for pin_def errors on KINETIS * Redo workaround for pin_def errors on KINETIS --- platforms/chibios/_pin_defs.h | 6 ++++++ platforms/pin_defs.h | 4 ---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/platforms/chibios/_pin_defs.h b/platforms/chibios/_pin_defs.h index c03f8de0c253..a84d931cc20c 100644 --- a/platforms/chibios/_pin_defs.h +++ b/platforms/chibios/_pin_defs.h @@ -15,6 +15,12 @@ */ #pragma once +#if defined(MCU_KINETIS) +// TODO: including this avoids "error: expected identifier before '(' token" errors +// here just to please KINETIS builds... +# include +#endif + // Defines mapping for Proton C replacement #ifdef CONVERT_TO_PROTON_C // Left side (front) diff --git a/platforms/pin_defs.h b/platforms/pin_defs.h index af2c415f400f..341fe89b6e9f 100644 --- a/platforms/pin_defs.h +++ b/platforms/pin_defs.h @@ -15,10 +15,6 @@ */ #pragma once -// TODO: including this avoids "error: expected identifier before '(' token" errors -// here just to please KINETIS builds... -#include "platform_deps.h" - // useful for direct pin mapping #define NO_PIN (pin_t)(~0) From 86b123141bea2e3f831a57eb115368cbbbdb2da1 Mon Sep 17 00:00:00 2001 From: Thomas Kriechbaumer Date: Sat, 12 Mar 2022 13:42:25 +0100 Subject: [PATCH 0364/1832] docs: fix code sample (#16623) --- docs/feature_pointing_device.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 23a16b843ded..8c51865558e2 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -325,7 +325,8 @@ report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { if (set_scrolling) { mouse_report.h = mouse_report.x; mouse_report.v = mouse_report.y; - mouse_report.x = mouse_report.y = 0 + mouse_report.x = 0; + mouse_report.y = 0; } return mouse_report; } From 20424fd37f84cbe08740539a48b6bb4839e0a179 Mon Sep 17 00:00:00 2001 From: Matthew Dias Date: Sun, 13 Mar 2022 01:36:12 -0600 Subject: [PATCH 0365/1832] [Keyboard] Add Glitch (#16444) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/p3d/glitch/config.h | 84 +++++ keyboards/p3d/glitch/glitch.c | 58 ++++ keyboards/p3d/glitch/glitch.h | 40 +++ keyboards/p3d/glitch/info.json | 300 ++++++++++++++++++ keyboards/p3d/glitch/keymaps/default/keymap.c | 29 ++ .../p3d/glitch/keymaps/default/readme.md | 1 + keyboards/p3d/glitch/readme.md | 24 ++ keyboards/p3d/glitch/rules.mk | 20 ++ 8 files changed, 556 insertions(+) create mode 100644 keyboards/p3d/glitch/config.h create mode 100644 keyboards/p3d/glitch/glitch.c create mode 100644 keyboards/p3d/glitch/glitch.h create mode 100644 keyboards/p3d/glitch/info.json create mode 100644 keyboards/p3d/glitch/keymaps/default/keymap.c create mode 100644 keyboards/p3d/glitch/keymaps/default/readme.md create mode 100644 keyboards/p3d/glitch/readme.md create mode 100644 keyboards/p3d/glitch/rules.mk diff --git a/keyboards/p3d/glitch/config.h b/keyboards/p3d/glitch/config.h new file mode 100644 index 000000000000..e7f78123d9ad --- /dev/null +++ b/keyboards/p3d/glitch/config.h @@ -0,0 +1,84 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +#define VENDOR_ID 0x7033 +#define PRODUCT_ID 0x3568 +#define DEVICE_VER 0x0001 +#define MANUFACTURER P3D Store +#define PRODUCT Glitch + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 8 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ + +/* A Custom matrix.c is used to poll the port expander C6 shows that the pins are hardwired there */ +#define MATRIX_ROW_PINS { D5, D6, B6, D7, C7, B4, B5, D3, D4, C6 } +#define MATRIX_COL_PINS { B2, D2, B3, B7, F5, F4, F1, F0 } +#define UNUSED_PINS + +#define RGB_DI_PIN B1 +#define RGBLED_NUM 25 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + +#define ENCODERS_PAD_A { F6 } +#define ENCODERS_PAD_B { F7 } +#define ENCODER_RESOLUTION 2 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define USB_MAX_POWER_CONSUMPTION 400 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT diff --git a/keyboards/p3d/glitch/glitch.c b/keyboards/p3d/glitch/glitch.c new file mode 100644 index 000000000000..a62f5789942e --- /dev/null +++ b/keyboards/p3d/glitch/glitch.c @@ -0,0 +1,58 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "glitch.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + if (clockwise) { + // tap_code(RGB_MOD); + rgblight_step(); + } else { + // tap_code(RGB_RMOD); + rgblight_step_reverse(); + } + + return false; +} +#endif + +#ifdef OLED_ENABLE +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("Default\n"), false); + break; + default: + oled_write_P(PSTR("Undefined\n"), false); + } + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); + + return false; +} diff --git a/keyboards/p3d/glitch/glitch.h b/keyboards/p3d/glitch/glitch.h new file mode 100644 index 000000000000..4b4f77396b73 --- /dev/null +++ b/keyboards/p3d/glitch/glitch.h @@ -0,0 +1,40 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define XXX KC_NO + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K21, K22, K23, K24, K25, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \ + K40, K41, K43, K45, K47, K49, K4B, K4C, K4D, K4E, K4F \ +) { \ + { K00, K02, K04, K06, K08, K0A, K0C, K0E }, \ + { K01, K03, K05, K07, K09, K0B, K0D, K0F }, \ + { K10, K12, K14, XXX, K18, K1A, K1C, K1E }, \ + { K11, K13, K15, K17, K19, K1B, K1D, K1F }, \ + { K20, K22, K24, XXX, K28, K2A, K2C, K2E }, \ + { K21, K23, K25, K27, K29, K2B, XXX, K2F }, \ + { K30, K32, K34, K36, K38, K3A, K3C, K3E }, \ + { XXX, K33, K35, K37, K39, K3B, K3D, K3F }, \ + { K40, XXX, XXX, XXX, XXX, XXX, K4C, K4E }, \ + { K41, K43, K45, K47, K49, K4B, K4D, K4F } \ +} diff --git a/keyboards/p3d/glitch/info.json b/keyboards/p3d/glitch/info.json new file mode 100644 index 000000000000..6445e200f81d --- /dev/null +++ b/keyboards/p3d/glitch/info.json @@ -0,0 +1,300 @@ +{ + "keyboard_name": "Glitch", + "url": "https://p3dstore.com/products/p3d-glitch-group-buy", + "maintainer": "matthewdias", + "layouts": { + "LAYOUT_all": { + "layout": [{ + "x": 19.1, + "y": 0.1 + }, { + "label": "ESC", + "x": 0.5, + "y": 0.5 + }, { + "label": "1", + "x": 1.5, + "y": 0.5 + }, { + "label": "_", + "x": 14.5, + "y": 0.6 + }, { + "label": "+", + "x": 15.5, + "y": 0.6 + }, { + "label": "Back", + "x": 16.5, + "y": 0.6 + }, { + "label": "Del", + "x": 17.5, + "y": 0.6 + }, { + "label": "2", + "x": 3.25, + "y": 1.0 + }, { + "label": "3", + "x": 4.25, + "y": 1.0 + }, { + "label": "4", + "x": 5.25, + "y": 1.0 + }, { + "label": "5", + "x": 6.25, + "y": 1.0 + }, { + "label": "6", + "x": 7.25, + "y": 1.0 + }, { + "label": "7", + "x": 10, + "y": 1.0 + }, { + "label": "8", + "x": 11, + "y": 1.0 + }, { + "label": "9", + "x": 12, + "y": 1.0 + }, { + "label": "0", + "x": 13, + "y": 1.0 + }, { + "label": "TAB", + "x": 0.15, + "y": 1.5, + "w": 1.5 + }, { + "label": "Q", + "x": 1.65, + "y": 1.5 + }, { + "label": "P", + "x": 14.35, + "y": 1.6 + }, { + "label": "[", + "x": 15.35, + "y": 1.6 + }, { + "label": "]", + "x": 16.35, + "y": 1.6 + }, { + "label": "\\", + "x": 17.35, + "y": 1.6, + "w": 1.5 + }, { + "x": 19.1, + "y": 1.6 + }, { + "label": "W", + "x": 3.75, + "y": 2.0 + }, { + "label": "E", + "x": 4.75, + "y": 2.0 + }, { + "label": "R", + "x": 5.75, + "y": 2.0 + }, { + "label": "T", + "x": 6.75, + "y": 2.0 + }, { + "label": "Y", + "x": 9.5, + "y": 2.0 + }, { + "label": "U", + "x": 10.5, + "y": 2.0 + }, { + "label": "I", + "x": 11.5, + "y": 2.0 + }, { + "label": "O", + "x": 12.5, + "y": 2.0 + }, { + "label": "CAPS", + "x": 0.15, + "y": 2.5, + "w": 1.75 + }, { + "label": "A", + "x": 1.9, + "y": 2.5 + }, { + "label": ";", + "x": 14.6, + "y": 2.6 + }, { + "label": "'", + "x": 15.6, + "y": 2.6 + }, { + "label": "ENTER", + "x": 16.6, + "y": 2.6, + "w": 2.25 + }, { + "x": 19.1, + "y": 2.6 + }, { + "label": "S", + "x": 4, + "y": 3.0 + }, { + "label": "D", + "x": 5, + "y": 3.0 + }, { + "label": "F", + "x": 6, + "y": 3.0 + }, { + "label": "G", + "x": 7, + "y": 3.0 + }, { + "label": "H", + "x": 9.75, + "y": 3.0 + }, { + "label": "J", + "x": 10.75, + "y": 3.0 + }, { + "label": "K", + "x": 11.75, + "y": 3.0 + }, { + "label": "L", + "x": 12.75, + "y": 3.0 + }, { + "label": "SHIFT", + "x": 0, + "y": 3.5, + "w": 2.25 + }, { + "label": "Z", + "x": 2.25, + "y": 3.5 + }, { + "label": ".", + "x": 14.25, + "y": 3.6 + }, { + "label": "?", + "x": 15.25, + "y": 3.6 + }, { + "label": "SHIFT", + "x": 16.25, + "y": 3.6, + "w": 1.75 + }, { + "x": 19.5, + "y": 3.6 + }, { + "label": "UP", + "x": 18.25, + "y": 3.85 + }, { + "label": "X", + "x": 4.5, + "y": 4.0 + }, { + "label": "C", + "x": 5.5, + "y": 4.0 + }, { + "label": "V", + "x": 6.5, + "y": 4.0 + }, { + "label": "B", + "x": 7.5, + "y": 4.0 + }, { + "label": "BEE", + "x": 9.25, + "y": 4.0 + }, { + "label": "N", + "x": 10.25, + "y": 4.0 + }, { + "label": "M", + "x": 11.25, + "y": 4.0 + }, { + "label": ",", + "x": 12.25, + "y": 4.0 + }, { + "label": "CTRL", + "x": 0, + "y": 4.5, + "w": 1.25 + }, { + "label": "WIN", + "x": 1.25, + "y": 4.5, + "w": 1.25 + }, { + "label": "WIN", + "x": 15, + "y": 4.6 + }, { + "label": "CTRL", + "x": 16, + "y": 4.6 + }, { + "label": "LEFT", + "x": 17.25, + "y": 4.85 + }, { + "label": "DOWN", + "x": 18.25, + "y": 4.85 + }, { + "label": "RIGHT", + "x": 19.25, + "y": 4.85 + }, { + "x": 4.75, + "y": 5.0, + "w": 2.75 + }, { + "label": "ALT", + "x": 7.5, + "y": 5.0, + "w": 1.25 + }, { + "label": "ALT", + "x": 9.5, + "y": 5.0, + "w": 1.25 + }, { + "x": 10.75, + "y": 5.0, + "w": 2.25 + }] + } + } +} diff --git a/keyboards/p3d/glitch/keymaps/default/keymap.c b/keyboards/p3d/glitch/keymaps/default/keymap.c new file mode 100644 index 000000000000..43aa53c9f1cc --- /dev/null +++ b/keyboards/p3d/glitch/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +//This is the ANSI version of the PCB + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( + 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, + 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_PGUP, + 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, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT +) +}; + diff --git a/keyboards/p3d/glitch/keymaps/default/readme.md b/keyboards/p3d/glitch/keymaps/default/readme.md new file mode 100644 index 000000000000..8661c4b95f65 --- /dev/null +++ b/keyboards/p3d/glitch/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Glitch diff --git a/keyboards/p3d/glitch/readme.md b/keyboards/p3d/glitch/readme.md new file mode 100644 index 000000000000..b29dc6e9306e --- /dev/null +++ b/keyboards/p3d/glitch/readme.md @@ -0,0 +1,24 @@ +# Glitch + +Hotswap RGB Alice-style with OLED and Rotary Knob + +- Keyboard Maintainer: matthewdias +- Hardware Supported: Glitch PCB +- Hardware Availability: https://p3dstore.com + +Make example for this keyboard (after setting up your build environment): + + make p3d/glitch:default + +Flashing example for this keyboard: + + make p3d/glitch:default:flash + +## Bootloader + +Enter the bootloader in one of 2 ways: + +* **Bootmagic reset**: Hold down the top left and plug in the keyboard +* **Physical reset button**: Briefly press the button on the top of the PCB + +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/p3d/glitch/rules.mk b/keyboards/p3d/glitch/rules.mk new file mode 100644 index 000000000000..7ec8d5c09ac5 --- /dev/null +++ b/keyboards/p3d/glitch/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +OLED_ENABLE = yes From dccb5711c710d074c29f715494b93f9275f5ac55 Mon Sep 17 00:00:00 2001 From: Matthew Dias Date: Sun, 13 Mar 2022 01:37:22 -0600 Subject: [PATCH 0366/1832] [Keyboard] Add damapad (#16443) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/bolsa/damapad/config.h | 59 ++++++++++ keyboards/bolsa/damapad/damapad.c | 81 +++++++++++++ keyboards/bolsa/damapad/damapad.h | 32 +++++ keyboards/bolsa/damapad/info.json | 109 ++++++++++++++++++ .../bolsa/damapad/keymaps/default/keymap.c | 29 +++++ keyboards/bolsa/damapad/keymaps/via/keymap.c | 47 ++++++++ keyboards/bolsa/damapad/keymaps/via/rules.mk | 1 + keyboards/bolsa/damapad/readme.md | 22 ++++ keyboards/bolsa/damapad/rules.mk | 21 ++++ 9 files changed, 401 insertions(+) create mode 100644 keyboards/bolsa/damapad/config.h create mode 100644 keyboards/bolsa/damapad/damapad.c create mode 100644 keyboards/bolsa/damapad/damapad.h create mode 100644 keyboards/bolsa/damapad/info.json create mode 100644 keyboards/bolsa/damapad/keymaps/default/keymap.c create mode 100644 keyboards/bolsa/damapad/keymaps/via/keymap.c create mode 100644 keyboards/bolsa/damapad/keymaps/via/rules.mk create mode 100644 keyboards/bolsa/damapad/readme.md create mode 100644 keyboards/bolsa/damapad/rules.mk diff --git a/keyboards/bolsa/damapad/config.h b/keyboards/bolsa/damapad/config.h new file mode 100644 index 000000000000..b829a8a998c1 --- /dev/null +++ b/keyboards/bolsa/damapad/config.h @@ -0,0 +1,59 @@ + +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6D64 +#define PRODUCT_ID 0x6470 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Bolsa Keyboard Supply +#define PRODUCT Damapad + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 6 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { E6, F7, C7 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, B7 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define ENCODERS_PAD_A { B2 } +#define ENCODERS_PAD_B { B3 } +#define ENCODER_RESOLUTION 2 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT diff --git a/keyboards/bolsa/damapad/damapad.c b/keyboards/bolsa/damapad/damapad.c new file mode 100644 index 000000000000..d57a60c1669c --- /dev/null +++ b/keyboards/bolsa/damapad/damapad.c @@ -0,0 +1,81 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "damapad.h" + +#ifdef OLED_ENABLE +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + static const char PROGMEM bolsa_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1e, 0x3e, 0xfe, 0xfe, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfe, 0xfe, 0x3e, 0x1e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0e, 0x1e, 0x3e, 0x3e, 0xfe, 0xfe, 0xff, 0x7f, 0x7f, + 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x7f, + 0x7f, 0xff, 0xfe, 0xfe, 0x3e, 0x3e, 0x1e, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, 0x07, 0x00, 0x00, 0xf8, + 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf8, + 0x00, 0x00, 0x0f, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x3f, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x1f, 0x1f, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, + 0x1f, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x3f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + oled_write_raw_P(bolsa_logo, sizeof(bolsa_logo)); + return false; +} + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } + return true; +} +#endif \ No newline at end of file diff --git a/keyboards/bolsa/damapad/damapad.h b/keyboards/bolsa/damapad/damapad.h new file mode 100644 index 000000000000..da0a4d863eda --- /dev/null +++ b/keyboards/bolsa/damapad/damapad.h @@ -0,0 +1,32 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_wkl( \ + K00, K01, K02, K03, K04, K05, \ + K10, K11, K12, K13, K14, K15, \ + K20, K21, K23, K25 \ +) { \ + { K00, K01, K02, K03, K04, K05 }, \ + { K10, K11, K12, K13, K14, K15 }, \ + { K20, K21, XXX, K23, XXX, K25 } \ +} diff --git a/keyboards/bolsa/damapad/info.json b/keyboards/bolsa/damapad/info.json new file mode 100644 index 000000000000..28d0c4fc827c --- /dev/null +++ b/keyboards/bolsa/damapad/info.json @@ -0,0 +1,109 @@ +{ + "keyboard_name": "Damapad", + "url": "", + "maintainer": "matthewdias", + "layouts": { + "LAYOUT_wkl": { + "layout": [{ + "x": 5.25, + "y": 0 + }, { + "x": 0, + "y": 0.25 + }, { + "x": 1, + "y": 0.25 + }, { + "x": 2, + "y": 0.25 + }, { + "x": 3, + "y": 0.25 + }, { + "x": 4, + "y": 0.25 + }, { + "x": 0, + "y": 1.25 + }, { + "x": 1, + "y": 1.25 + }, { + "x": 2, + "y": 1.25 + }, { + "x": 3, + "y": 1.25 + }, { + "x": 4, + "y": 1.25 + }, { + "x": 5.25, + "y": 1.25 + }, { + "x": 0, + "y": 2.25 + }, { + "x": 1.75, + "y": 2.25 + }, { + "x": 2.75, + "y": 2.25, + "w": 2.25 + }, { + "x": 5.25, + "y": 2.25 + }] + }, + "LAYOUT_bar": { + "layout": [{ + "x": 5.25, + "y": 0 + }, { + "x": 0, + "y": 0.25 + }, { + "x": 1, + "y": 0.25 + }, { + "x": 2, + "y": 0.25 + }, { + "x": 3, + "y": 0.25 + }, { + "x": 4, + "y": 0.25 + }, { + "x": 0, + "y": 1.25 + }, { + "x": 1, + "y": 1.25 + }, { + "x": 2, + "y": 1.25 + }, { + "x": 3, + "y": 1.25 + }, { + "x": 4, + "y": 1.25 + }, { + "x": 5.25, + "y": 1.25 + }, { + "x": 0, + "y": 2.25, + "w": 2.75 + }, { + "x": 2.75, + "y": 2.25, + "w": 2.25 + }, { + "x": 5.25, + "y": 2.25 + }] + } + } +} diff --git a/keyboards/bolsa/damapad/keymaps/default/keymap.c b/keyboards/bolsa/damapad/keymaps/default/keymap.c new file mode 100644 index 000000000000..00c8e0533338 --- /dev/null +++ b/keyboards/bolsa/damapad/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_wkl( + KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, KC_MSEL, KC_MUTE, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PGUP, + KC_NO, KC_COPY, KC_PASTE, KC_PGDN + ) + +}; + diff --git a/keyboards/bolsa/damapad/keymaps/via/keymap.c b/keyboards/bolsa/damapad/keymaps/via/keymap.c new file mode 100644 index 000000000000..18ae31520780 --- /dev/null +++ b/keyboards/bolsa/damapad/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_wkl( + KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, KC_MSEL, KC_MUTE, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PGUP, + KC_NO, KC_COPY, KC_PASTE, KC_PGDN + ), + + [1] = LAYOUT_wkl( + 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 + ), + + [2] = LAYOUT_wkl( + 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 + ), + + [3] = LAYOUT_wkl( + 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 + ) + +}; + diff --git a/keyboards/bolsa/damapad/keymaps/via/rules.mk b/keyboards/bolsa/damapad/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/bolsa/damapad/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/bolsa/damapad/readme.md b/keyboards/bolsa/damapad/readme.md new file mode 100644 index 000000000000..1cfa1c06b7e6 --- /dev/null +++ b/keyboards/bolsa/damapad/readme.md @@ -0,0 +1,22 @@ +# Damapad + +A Macropad by Bolsa Supply + +- Keyboard Maintainer: [matthewdias](https://github.com/matthewdias) +- Hardware Supported: Damapad PCB + +Make example for this keyboard (after setting up your build environment): + + make bolsa/damapad:default + +Flashing example for this keyboard: + + make bolsa/damapad:default:flash + +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). + +## Bootloader + +Enter the bootloader: + +- **Physical reset button**: Briefly press the button on the back of the PCB (or short the reset/ground pads, should a tactile button not be installed) diff --git a/keyboards/bolsa/damapad/rules.mk b/keyboards/bolsa/damapad/rules.mk new file mode 100644 index 000000000000..48717046e46a --- /dev/null +++ b/keyboards/bolsa/damapad/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 From 08794fef4e8e0a5fb6ba32595c099bf1e167c12b Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Sun, 13 Mar 2022 04:08:33 -0600 Subject: [PATCH 0367/1832] [Keyboard] add missing endif in glitch keyboard (#16629) --- keyboards/p3d/glitch/glitch.c | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/p3d/glitch/glitch.c b/keyboards/p3d/glitch/glitch.c index a62f5789942e..9957e0c7adee 100644 --- a/keyboards/p3d/glitch/glitch.c +++ b/keyboards/p3d/glitch/glitch.c @@ -56,3 +56,4 @@ bool oled_task_kb(void) { return false; } +#endif From 1f63dbfb8e3b00f7d1c87cb29d05770a93a77f9c Mon Sep 17 00:00:00 2001 From: jpe230 Date: Sun, 13 Mar 2022 04:09:36 -0600 Subject: [PATCH 0368/1832] [Keymap] Update personal crkbd keymap (#16624) --- keyboards/crkbd/keymaps/jpe230/config.h | 22 ++++++++++- keyboards/crkbd/keymaps/jpe230/keymap.c | 49 +++++++++++++++++++++---- keyboards/crkbd/keymaps/jpe230/rules.mk | 18 ++++++--- 3 files changed, 74 insertions(+), 15 deletions(-) diff --git a/keyboards/crkbd/keymaps/jpe230/config.h b/keyboards/crkbd/keymaps/jpe230/config.h index 3680f7c480c3..2887b5014cf7 100644 --- a/keyboards/crkbd/keymaps/jpe230/config.h +++ b/keyboards/crkbd/keymaps/jpe230/config.h @@ -21,4 +21,24 @@ along with this program. If not, see . #pragma once -#define SPLIT_WPM_ENABLE +#ifndef RGB_MATRIX_ENABLE +# define SPLIT_WPM_ENABLE +#endif + +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_KEYPRESSES +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 +# define RGB_MATRIX_STARTUP_HUE 215 +# define RGB_MATRIX_STARTUP_SAT 255 +# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif diff --git a/keyboards/crkbd/keymaps/jpe230/keymap.c b/keyboards/crkbd/keymaps/jpe230/keymap.c index 65cb6f73f756..6e812c0e612d 100644 --- a/keyboards/crkbd/keymaps/jpe230/keymap.c +++ b/keyboards/crkbd/keymaps/jpe230/keymap.c @@ -46,11 +46,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_split_3x6_3( //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_CAPS, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, + KC_CAPS, _______, _______, _______, _______, _______, _______, KC_UP, _______, RGB_MOD, RGB_HUI, RGB_VAI, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT, _______, _______, _______, + KC_LSFT, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT, RGB_TOG, RGB_SAI, RGB_SPI, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| KC_LGUI, _______, _______, _______, MO(3), KC_RALT //`--------------------------' `--------------------------' @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_split_3x6_3( //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_CAPS, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -83,7 +83,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return rotation; +#ifdef RGB_MATRIX_ENABLE + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } +#endif + return rotation; } #define L_BASE 0 @@ -163,6 +168,7 @@ void render_bootmagic_status(bool status) { } } +#ifndef RGB_MATRIX_ENABLE // frame 0, 128x32px const char PROGMEM cat_frame_0 [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -282,8 +288,18 @@ static uint32_t frame_timer = 0; static uint32_t anim_sleep = 0; static uint8_t anim_speed = 120; -void oled_render_logo(void) { +#endif +void oled_render_logo(void) { +#ifdef RGB_MATRIX_ENABLE + static const char PROGMEM crkbd_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, + 0}; + oled_write_P(crkbd_logo, false); +#endif +#ifndef RGB_MATRIX_ENABLE if(get_current_wpm() != 000) { oled_on(); int8_t wpm_speed = (int8_t)(get_current_wpm() / 2); @@ -309,6 +325,7 @@ void oled_render_logo(void) { oled_write_raw_P(cat_frames[current_frame], FRAME_SIZE); } } +#endif } bool oled_task_user(void) { @@ -328,6 +345,9 @@ bool tog_sarcasm = false; bool uppercase = false; uint8_t prev_upper = 0; uint8_t prev_lower = 0; +uint8_t prev_mode = 0; +HSV prev_hsv; + bool process_record_sarcasm(uint16_t keycode, keyrecord_t *record) { if (keycode == KC_ENTER && record->event.pressed) { @@ -379,10 +399,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { tog_sarcasm = !tog_sarcasm; - if (tog_sarcasm) + if (tog_sarcasm) { dprint("Enabling saRCaSm ModE\n"); - else + + #ifdef RGB_MATRIX_ENABLE + prev_hsv = rgb_matrix_get_hsv(); + prev_mode = rgb_matrix_get_mode(); + rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_MULTISPLASH); + rgb_matrix_sethsv_noeeprom(HSV_YELLOW); + #endif + } + else { dprint("Disabling saRCaSm ModE\n"); + #ifdef RGB_MATRIX_ENABLE + rgb_matrix_mode_noeeprom(prev_mode); + rgb_matrix_sethsv_noeeprom(prev_hsv.h, prev_hsv.s, prev_hsv.v); + #endif + } uppercase = false; prev_upper = 0; diff --git a/keyboards/crkbd/keymaps/jpe230/rules.mk b/keyboards/crkbd/keymaps/jpe230/rules.mk index 27a25ddeb3a5..82d5eb321dbb 100644 --- a/keyboards/crkbd/keymaps/jpe230/rules.mk +++ b/keyboards/crkbd/keymaps/jpe230/rules.mk @@ -1,6 +1,12 @@ -MOUSEKEY_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes -WPM_ENABLE = yes -VIA_ENABLE = yes +# Shared rules for both of my Corne +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +LTO_ENABLE = yes +VIA_ENABLE = yes + +# Rules for my Corne without RGB +# WPM_ENABLE = yes +# MOUSEKEY_ENABLE = yes + +# Rules for my Corne with RGB +RGB_MATRIX_ENABLE = yes From b906af0073e08927ed5105c826d579c6421cb7ac Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun, 13 Mar 2022 22:56:56 +0900 Subject: [PATCH 0369/1832] helix:edvorakjp keymap change to use split_common (#16532) --- keyboards/helix/rev2/keymaps/edvorakjp/rules.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk b/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk index 59b7acad5bce..6b2d147514ce 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk +++ b/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk @@ -5,6 +5,7 @@ # See TOP/keyboards/helix/rules.mk for a list of options that can be set. # See TOP/docs/config_options.md for more information. # +SPLIT_KEYBOARD = yes LTO_ENABLE = no # if firmware size over limit, try this option TAP_DANCE_ENABLE = yes From 109c60feeb24081f6bcc78276d7426c5340f2822 Mon Sep 17 00:00:00 2001 From: jels <66403163+Jels02@users.noreply.github.com> Date: Mon, 14 Mar 2022 03:30:55 +1000 Subject: [PATCH 0370/1832] [Keyboard] Add support for Jels60 (#16605) Co-authored-by: Drashna Jaelre --- keyboards/jels/jels60/config.h | 49 +++ keyboards/jels/jels60/info.json | 344 ++++++++++++++++++ keyboards/jels/jels60/jels60.c | 21 ++ keyboards/jels/jels60/jels60.h | 95 +++++ .../jels/jels60/keymaps/default/keymap.c | 50 +++ keyboards/jels/jels60/keymaps/via/keymap.c | 50 +++ keyboards/jels/jels60/keymaps/via/rules.mk | 1 + keyboards/jels/jels60/readme.md | 23 ++ keyboards/jels/jels60/rules.mk | 18 + 9 files changed, 651 insertions(+) create mode 100644 keyboards/jels/jels60/config.h create mode 100644 keyboards/jels/jels60/info.json create mode 100644 keyboards/jels/jels60/jels60.c create mode 100644 keyboards/jels/jels60/jels60.h create mode 100644 keyboards/jels/jels60/keymaps/default/keymap.c create mode 100644 keyboards/jels/jels60/keymaps/via/keymap.c create mode 100644 keyboards/jels/jels60/keymaps/via/rules.mk create mode 100644 keyboards/jels/jels60/readme.md create mode 100644 keyboards/jels/jels60/rules.mk diff --git a/keyboards/jels/jels60/config.h b/keyboards/jels/jels60/config.h new file mode 100644 index 000000000000..0157da213c17 --- /dev/null +++ b/keyboards/jels/jels60/config.h @@ -0,0 +1,49 @@ + /* Copyright 2022 Joah Nelson (Jels) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor paramater */ +#define VENDOR_ID 0x006A //Jels (J) +#define PRODUCT_ID 0x0060 //Jels 60 +#define DEVICE_VER 0x0001 +#define MANUFACTURER jels +#define PRODUCT jels60 + +/* Define Matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/*Define Matrix Pins */ +#define MATRIX_ROW_PINS {B3, D1, F0, F4, F1} +#define MATRIX_COL_PINS {E6, C7, B4, D7, D6, D4, D5, D3, F5, F6, F7, C6, B6, B5} + +// Caps lock Pin +#define LED_CAPS_LOCK_PIN B7 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + diff --git a/keyboards/jels/jels60/info.json b/keyboards/jels/jels60/info.json new file mode 100644 index 000000000000..b958bb6905b7 --- /dev/null +++ b/keyboards/jels/jels60/info.json @@ -0,0 +1,344 @@ +{ + "keyboard_name": "Jels60", + "url": "", + "maintainer": "Jels", + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "ESC", "x": 0, "y": 0 }, + { "label": "1", "x": 1, "y": 0 }, + { "label": "2", "x": 2, "y": 0 }, + { "label": "3", "x": 3, "y": 0 }, + { "label": "4", "x": 4, "y": 0 }, + { "label": "5", "x": 5, "y": 0 }, + { "label": "6", "x": 6, "y": 0 }, + { "label": "7", "x": 7, "y": 0 }, + { "label": "8", "x": 8, "y": 0 }, + { "label": "9", "x": 9, "y": 0 }, + { "label": "0", "x": 10, "y": 0 }, + { "label": "-", "x": 11, "y": 0 }, + { "label": "=", "x": 12, "y": 0 }, + { "label": "Bksp", "x": 13, "y": 0 }, + { "label": "~", "x": 14, "y": 0 }, + { "label": "Tab", "x": 0, "y": 1, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 1 }, + { "label": "W", "x": 2.5, "y": 1 }, + { "label": "E", "x": 3.5, "y": 1 }, + { "label": "R", "x": 4.5, "y": 1 }, + { "label": "T", "x": 5.5, "y": 1 }, + { "label": "Y", "x": 6.5, "y": 1 }, + { "label": "U", "x": 7.5, "y": 1 }, + { "label": "I", "x": 8.5, "y": 1 }, + { "label": "O", "x": 9.5, "y": 1 }, + { "label": "P", "x": 10.5, "y": 1 }, + { "label": "{", "x": 11.5, "y": 1 }, + { "label": "}", "x": 12.5, "y": 1 }, + { "label": "|", "x": 13.5, "y": 1, "w": 1.5 }, + { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 2 }, + { "label": "S", "x": 2.75, "y": 2 }, + { "label": "D", "x": 3.75, "y": 2 }, + { "label": "F", "x": 4.75, "y": 2 }, + { "label": "G", "x": 5.75, "y": 2 }, + { "label": "H", "x": 6.75, "y": 2 }, + { "label": "J", "x": 7.75, "y": 2 }, + { "label": "K", "x": 8.75, "y": 2 }, + { "label": "L", "x": 9.75, "y": 2 }, + { "label": ":", "x": 10.75, "y": 2 }, + { "label": "\"", "x": 11.75, "y": 2 }, + { "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 }, + { "label": "Shift", "x": 0, "y": 3, "w": 1.25 }, + { "label": "|", "x": 1.25, "y": 3 }, + { "label": "Z", "x": 2.25, "y": 3 }, + { "label": "X", "x": 3.25, "y": 3 }, + { "label": "C", "x": 4.25, "y": 3 }, + { "label": "V", "x": 5.25, "y": 3 }, + { "label": "B", "x": 6.25, "y": 3 }, + { "label": "N", "x": 7.25, "y": 3 }, + { "label": "M", "x": 8.25, "y": 3 }, + { "label": "<", "x": 9.25, "y": 3 }, + { "label": ">", "x": 10.25, "y": 3 }, + { "label": "?", "x": 11.25, "y": 3 }, + { "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 }, + { "x": 14, "y": 3 }, + { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 4, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 }, + { "x": 3.75, "y": 4, "w": 2.75 }, + { "x": 6.5, "y": 4, "w": 1 }, + { "x": 7.5, "y": 4, "w": 2.5 }, + { "label": "Alt", "x": 10, "y": 4, "w": 1.25 }, + { "label": "Win", "x": 11.25, "y": 4, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 4, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 } + ] + }, + "LAYOUT_ansi": { + "layout": [ + { "label": "ESC", "x": 0, "y": 0 }, + { "label": "1", "x": 1, "y": 0 }, + { "label": "2", "x": 2, "y": 0 }, + { "label": "3", "x": 3, "y": 0 }, + { "label": "4", "x": 4, "y": 0 }, + { "label": "5", "x": 5, "y": 0 }, + { "label": "6", "x": 6, "y": 0 }, + { "label": "7", "x": 7, "y": 0 }, + { "label": "8", "x": 8, "y": 0 }, + { "label": "9", "x": 9, "y": 0 }, + { "label": "0", "x": 10, "y": 0 }, + { "label": "-", "x": 11, "y": 0 }, + { "label": "=", "x": 12, "y": 0 }, + { "label": "Backspace", "x": 13, "y": 0, "w": 2 }, + { "label": "Tab", "x": 0, "y": 1, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 1 }, + { "label": "W", "x": 2.5, "y": 1 }, + { "label": "E", "x": 3.5, "y": 1 }, + { "label": "R", "x": 4.5, "y": 1 }, + { "label": "T", "x": 5.5, "y": 1 }, + { "label": "Y", "x": 6.5, "y": 1 }, + { "label": "U", "x": 7.5, "y": 1 }, + { "label": "I", "x": 8.5, "y": 1 }, + { "label": "O", "x": 9.5, "y": 1 }, + { "label": "P", "x": 10.5, "y": 1 }, + { "label": "{", "x": 11.5, "y": 1 }, + { "label": "}", "x": 12.5, "y": 1 }, + { "label": "|", "x": 13.5, "y": 1, "w": 1.5 }, + { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 2 }, + { "label": "S", "x": 2.75, "y": 2 }, + { "label": "D", "x": 3.75, "y": 2 }, + { "label": "F", "x": 4.75, "y": 2 }, + { "label": "G", "x": 5.75, "y": 2 }, + { "label": "H", "x": 6.75, "y": 2 }, + { "label": "J", "x": 7.75, "y": 2 }, + { "label": "K", "x": 8.75, "y": 2 }, + { "label": "L", "x": 9.75, "y": 2 }, + { "label": ":", "x": 10.75, "y": 2 }, + { "label": "\"", "x": 11.75, "y": 2 }, + { "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 }, + { "label": "Shift", "x": 0, "y": 3, "w": 2.25 }, + { "label": "Z", "x": 2.25, "y": 3 }, + { "label": "X", "x": 3.25, "y": 3 }, + { "label": "C", "x": 4.25, "y": 3 }, + { "label": "V", "x": 5.25, "y": 3 }, + { "label": "B", "x": 6.25, "y": 3 }, + { "label": "N", "x": 7.25, "y": 3 }, + { "label": "M", "x": 8.25, "y": 3 }, + { "label": "<", "x": 9.25, "y": 3 }, + { "label": ">", "x": 10.25, "y": 3 }, + { "label": "?", "x": 11.25, "y": 3 }, + { "label": "Shift", "x": 12.25, "y": 3, "w": 2.75 }, + { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 4, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 }, + { "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 4, "w": 1.25 }, + { "label": "Win", "x": 11.25, "y": 4, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 4, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 } + ] + }, + "LAYOUT_split_space": { + "layout": [ + { "label": "ESC", "x": 0, "y": 0 }, + { "label": "1", "x": 1, "y": 0 }, + { "label": "2", "x": 2, "y": 0 }, + { "label": "3", "x": 3, "y": 0 }, + { "label": "4", "x": 4, "y": 0 }, + { "label": "5", "x": 5, "y": 0 }, + { "label": "6", "x": 6, "y": 0 }, + { "label": "7", "x": 7, "y": 0 }, + { "label": "8", "x": 8, "y": 0 }, + { "label": "9", "x": 9, "y": 0 }, + { "label": "0", "x": 10, "y": 0 }, + { "label": "-", "x": 11, "y": 0 }, + { "label": "=", "x": 12, "y": 0 }, + { "label": "Bksp", "x": 13, "y": 0 }, + { "label": "~", "x": 14, "y": 0 }, + { "label": "Tab", "x": 0, "y": 1, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 1 }, + { "label": "W", "x": 2.5, "y": 1 }, + { "label": "E", "x": 3.5, "y": 1 }, + { "label": "R", "x": 4.5, "y": 1 }, + { "label": "T", "x": 5.5, "y": 1 }, + { "label": "Y", "x": 6.5, "y": 1 }, + { "label": "U", "x": 7.5, "y": 1 }, + { "label": "I", "x": 8.5, "y": 1 }, + { "label": "O", "x": 9.5, "y": 1 }, + { "label": "P", "x": 10.5, "y": 1 }, + { "label": "{", "x": 11.5, "y": 1 }, + { "label": "}", "x": 12.5, "y": 1 }, + { "label": "|", "x": 13.5, "y": 1, "w": 1.5 }, + { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 2 }, + { "label": "S", "x": 2.75, "y": 2 }, + { "label": "D", "x": 3.75, "y": 2 }, + { "label": "F", "x": 4.75, "y": 2 }, + { "label": "G", "x": 5.75, "y": 2 }, + { "label": "H", "x": 6.75, "y": 2 }, + { "label": "J", "x": 7.75, "y": 2 }, + { "label": "K", "x": 8.75, "y": 2 }, + { "label": "L", "x": 9.75, "y": 2 }, + { "label": ":", "x": 10.75, "y": 2 }, + { "label": "\"", "x": 11.75, "y": 2 }, + { "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 }, + { "label": "Shift", "x": 0, "y": 3, "w": 1.25 }, + { "label": "|", "x": 1.25, "y": 3 }, + { "label": "Z", "x": 2.25, "y": 3 }, + { "label": "X", "x": 3.25, "y": 3 }, + { "label": "C", "x": 4.25, "y": 3 }, + { "label": "V", "x": 5.25, "y": 3 }, + { "label": "B", "x": 6.25, "y": 3 }, + { "label": "N", "x": 7.25, "y": 3 }, + { "label": "M", "x": 8.25, "y": 3 }, + { "label": "<", "x": 9.25, "y": 3 }, + { "label": ">", "x": 10.25, "y": 3 }, + { "label": "?", "x": 11.25, "y": 3 }, + { "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 }, + { "x": 14, "y": 3 }, + { "label": "Ctrl", "x": 0, "y": 4, "w": 1.5 }, + { "label": "Win", "x": 1.5, "y": 4, "w": 1 }, + { "label": "Alt", "x": 2.5, "y": 4, "w": 1.5 }, + { "x": 4, "y": 4, "w": 2.75 }, + { "x": 6.75, "y": 4, "w": 1.5 }, + { "x": 8.25, "y": 4, "w": 2.75 }, + { "label": "Alt", "x": 11, "y": 4, "w": 1.5 }, + { "label": "Win", "x": 12.5, "y": 4, "w": 1 }, + { "label": "Ctrl", "x": 13.5, "y": 4, "w": 1.5 } + ] + }, + "LAYOUT_tsangan_split_bs": { + "layout": [ + { "label": "ESC", "x": 0, "y": 0 }, + { "label": "1", "x": 1, "y": 0 }, + { "label": "2", "x": 2, "y": 0 }, + { "label": "3", "x": 3, "y": 0 }, + { "label": "4", "x": 4, "y": 0 }, + { "label": "5", "x": 5, "y": 0 }, + { "label": "6", "x": 6, "y": 0 }, + { "label": "7", "x": 7, "y": 0 }, + { "label": "8", "x": 8, "y": 0 }, + { "label": "9", "x": 9, "y": 0 }, + { "label": "0", "x": 10, "y": 0 }, + { "label": "-", "x": 11, "y": 0 }, + { "label": "=", "x": 12, "y": 0 }, + { "label": "Bksp", "x": 13, "y": 0 }, + { "label": "~", "x": 14, "y": 0 }, + { "label": "Tab", "x": 0, "y": 1, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 1 }, + { "label": "W", "x": 2.5, "y": 1 }, + { "label": "E", "x": 3.5, "y": 1 }, + { "label": "R", "x": 4.5, "y": 1 }, + { "label": "T", "x": 5.5, "y": 1 }, + { "label": "Y", "x": 6.5, "y": 1 }, + { "label": "U", "x": 7.5, "y": 1 }, + { "label": "I", "x": 8.5, "y": 1 }, + { "label": "O", "x": 9.5, "y": 1 }, + { "label": "P", "x": 10.5, "y": 1 }, + { "label": "{", "x": 11.5, "y": 1 }, + { "label": "}", "x": 12.5, "y": 1 }, + { "label": "|", "x": 13.5, "y": 1, "w": 1.5 }, + { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 2 }, + { "label": "S", "x": 2.75, "y": 2 }, + { "label": "D", "x": 3.75, "y": 2 }, + { "label": "F", "x": 4.75, "y": 2 }, + { "label": "G", "x": 5.75, "y": 2 }, + { "label": "H", "x": 6.75, "y": 2 }, + { "label": "J", "x": 7.75, "y": 2 }, + { "label": "K", "x": 8.75, "y": 2 }, + { "label": "L", "x": 9.75, "y": 2 }, + { "label": ":", "x": 10.75, "y": 2 }, + { "label": "\"", "x": 11.75, "y": 2 }, + { "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 }, + { "label": "Shift", "x": 0, "y": 3, "w": 2.25 }, + { "label": "Z", "x": 2.25, "y": 3 }, + { "label": "X", "x": 3.25, "y": 3 }, + { "label": "C", "x": 4.25, "y": 3 }, + { "label": "V", "x": 5.25, "y": 3 }, + { "label": "B", "x": 6.25, "y": 3 }, + { "label": "N", "x": 7.25, "y": 3 }, + { "label": "M", "x": 8.25, "y": 3 }, + { "label": "<", "x": 9.25, "y": 3 }, + { "label": ">", "x": 10.25, "y": 3 }, + { "label": "?", "x": 11.25, "y": 3 }, + { "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 }, + { "x": 14, "y": 3 }, + { "label": "Ctrl", "x": 0, "y": 4, "w": 1.5 }, + { "label": "Win", "x": 1.5, "y": 4, "w": 1 }, + { "label": "Alt", "x": 2.5, "y": 4, "w": 1.5 }, + { "x": 4, "y": 4, "w": 7 }, + { "label": "Alt", "x": 11, "y": 4, "w": 1.5 }, + { "label": "Win", "x": 12.5, "y": 4, "w": 1 }, + { "label": "Ctrl", "x": 13.5, "y": 4, "w": 1.5 } + ] + }, + "LAYOUT_iso": { + "layout": [ + { "label": "ESC", "x": 0, "y": 0 }, + { "label": "1", "x": 1, "y": 0 }, + { "label": "2", "x": 2, "y": 0 }, + { "label": "3", "x": 3, "y": 0 }, + { "label": "4", "x": 4, "y": 0 }, + { "label": "5", "x": 5, "y": 0 }, + { "label": "6", "x": 6, "y": 0 }, + { "label": "7", "x": 7, "y": 0 }, + { "label": "8", "x": 8, "y": 0 }, + { "label": "9", "x": 9, "y": 0 }, + { "label": "0", "x": 10, "y": 0 }, + { "label": "-", "x": 11, "y": 0 }, + { "label": "=", "x": 12, "y": 0 }, + { "label": "Backspace", "x": 13, "y": 0, "w": 2 }, + { "label": "Tab", "x": 0, "y": 1, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 1 }, + { "label": "W", "x": 2.5, "y": 1 }, + { "label": "E", "x": 3.5, "y": 1 }, + { "label": "R", "x": 4.5, "y": 1 }, + { "label": "T", "x": 5.5, "y": 1 }, + { "label": "Y", "x": 6.5, "y": 1 }, + { "label": "U", "x": 7.5, "y": 1 }, + { "label": "I", "x": 8.5, "y": 1 }, + { "label": "O", "x": 9.5, "y": 1 }, + { "label": "P", "x": 10.5, "y": 1 }, + { "label": "{", "x": 11.5, "y": 1 }, + { "label": "}", "x": 12.5, "y": 1 }, + { "label": "Enter", "x": 13.75, "y": 1, "w": 1.25, "h":2 }, + { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 2 }, + { "label": "S", "x": 2.75, "y": 2 }, + { "label": "D", "x": 3.75, "y": 2 }, + { "label": "F", "x": 4.75, "y": 2 }, + { "label": "G", "x": 5.75, "y": 2 }, + { "label": "H", "x": 6.75, "y": 2 }, + { "label": "J", "x": 7.75, "y": 2 }, + { "label": "K", "x": 8.75, "y": 2 }, + { "label": "L", "x": 9.75, "y": 2 }, + { "label": ":", "x": 10.75, "y": 2 }, + { "label": "\"", "x": 11.75, "y": 2 }, + { "label": "|", "x": 12.75, "y": 2 }, + { "label": "Shift", "x": 0, "y": 3, "w": 1.25 }, + { "label": "|", "x": 1.25, "y": 3 }, + { "label": "Z", "x": 2.25, "y": 3 }, + { "label": "X", "x": 3.25, "y": 3 }, + { "label": "C", "x": 4.25, "y": 3 }, + { "label": "V", "x": 5.25, "y": 3 }, + { "label": "B", "x": 6.25, "y": 3 }, + { "label": "N", "x": 7.25, "y": 3 }, + { "label": "M", "x": 8.25, "y": 3 }, + { "label": "<", "x": 9.25, "y": 3 }, + { "label": ">", "x": 10.25, "y": 3 }, + { "label": "?", "x": 11.25, "y": 3 }, + { "label": "Shift", "x": 12.25, "y": 3, "w": 2.75 }, + { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 4, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 }, + { "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 4, "w": 1.25 }, + { "label": "Win", "x": 11.25, "y": 4, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 4, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 } + ] + } + + } +} diff --git a/keyboards/jels/jels60/jels60.c b/keyboards/jels/jels60/jels60.c new file mode 100644 index 000000000000..6e8fd58da874 --- /dev/null +++ b/keyboards/jels/jels60/jels60.c @@ -0,0 +1,21 @@ + /* Copyright 2022 Joah Nelson (Jels) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "jels60.h" + + + + diff --git a/keyboards/jels/jels60/jels60.h b/keyboards/jels/jels60/jels60.h new file mode 100644 index 000000000000..f8bc296e1a68 --- /dev/null +++ b/keyboards/jels/jels60/jels60.h @@ -0,0 +1,95 @@ +/* copyright 2022 Joah Nelson (Jels) +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERAHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +#define ____ KC_NO + + +#define LAYOUT_all( \ + K0x0, K0x1, K0x2, K0x3, K0x4, K0x5, K0x6, K0x7, K0x8, K0x9, K0x10, K0x11, K0x12, K0x13, K1x13, \ + K1x0, K1x1, K1x2, K1x3, K1x4, K1x5, K1x6, K1x7, K1x8, K1x9, K1x10, K1x11, K1x12, K2x13, \ + K2x0, K2x1, K2x2, K2x3, K2x4, K2x5, K2x6, K2x7, K2x8, K2x9, K2x10, K2x11, K2x12, \ + K3x0, K3x1, K3x2, K3x3, K3x4, K3x5, K3x6, K3x7, K3x8, K3x9, K3x10, K3x11, K3x12, K3x13, \ + K4x0, K4x1, K4x2, K4x4, K4x6, K4x9, K4x10, K4x11, K4x12, K4x13 \ +){ \ + {K0x0, K0x1, K0x2, K0x3, K0x4, K0x5, K0x6, K0x7, K0x8, K0x9, K0x10, K0x11, K0x12, K0x13}, \ + {K1x0, K1x1, K1x2, K1x3, K1x4, K1x5, K1x6, K1x7, K1x8, K1x9, K1x10, K1x11, K1x12, K1x13}, \ + {K2x0, K2x1, K2x2, K2x3, K2x4, K2x5, K2x6, K2x7, K2x8, K2x9, K2x10, K2x11, K2x12, K2x13}, \ + {K3x0, K3x1, K3x2, K3x3, K3x4, K3x5, K3x6, K3x7, K3x8, K3x9, K3x10, K3x11, K3x12, K3x13}, \ + {K4x0, K4x1, K4x2, ____, K4x4, ____, K4x6, ____, ____, K4x9, K4x10, K4x11, K4x12, K4x13} \ +} + +#define LAYOUT_ansi( \ + K0x0, K0x1, K0x2, K0x3, K0x4, K0x5, K0x6, K0x7, K0x8, K0x9, K0x10, K0x11, K0x12, K0x13, \ + K1x0, K1x1, K1x2, K1x3, K1x4, K1x5, K1x6, K1x7, K1x8, K1x9, K1x10, K1x11, K1x12, K2x13, \ + K2x0, K2x1, K2x2, K2x3, K2x4, K2x5, K2x6, K2x7, K2x8, K2x9, K2x10, K2x11, K2x12, \ + K3x0, K3x2, K3x3, K3x4, K3x5, K3x6, K3x7, K3x8, K3x9, K3x10, K3x11, K3x12, \ + K4x0, K4x1, K4x2, K4x6, K4x10, K4x11, K4x12, K4x13 \ +){ \ + {K0x0, K0x1, K0x2, K0x3, K0x4, K0x5, K0x6, K0x7, K0x8, K0x9, K0x10, K0x11, K0x12, K0x13}, \ + {K1x0, K1x1, K1x2, K1x3, K1x4, K1x5, K1x6, K1x7, K1x8, K1x9, K1x10, K1x11, K1x12, ____ }, \ + {K2x0, K2x1, K2x2, K2x3, K2x4, K2x5, K2x6, K2x7, K2x8, K2x9, K2x10, K2x11, K2x12, K2x13}, \ + {K3x0, ____, K3x2, K3x3, K3x4, K3x5, K3x6, K3x7, K3x8, K3x9, K3x10, K3x11, K3x12, ____ }, \ + {K4x0, K4x1, K4x2, ____, ____, ____, K4x6, ____, ____, ____, K4x10, K4x11, K4x12, K4x13} \ +} + +#define LAYOUT_split_space( \ + K0x0, K0x1, K0x2, K0x3, K0x4, K0x5, K0x6, K0x7, K0x8, K0x9, K0x10, K0x11, K0x12, K0x13, K1x13, \ + K1x0, K1x1, K1x2, K1x3, K1x4, K1x5, K1x6, K1x7, K1x8, K1x9, K1x10, K1x11, K1x12, K2x13, \ + K2x0, K2x1, K2x2, K2x3, K2x4, K2x5, K2x6, K2x7, K2x8, K2x9, K2x10, K2x11, K2x12, \ + K3x0, K3x1, K3x2, K3x3, K3x4, K3x5, K3x6, K3x7, K3x8, K3x9, K3x10, K3x11, K3x12, K3x13, \ + K4x0, K4x1, K4x2, K4x4, K4x6, K4x9, K4x11, K4x12, K4x13 \ +){ \ + {K0x0, K0x1, K0x2, K0x3, K0x4, K0x5, K0x6, K0x7, K0x8, K0x9, K0x10, K0x11, K0x12, K0x13}, \ + {K1x0, K1x1, K1x2, K1x3, K1x4, K1x5, K1x6, K1x7, K1x8, K1x9, K1x10, K1x11, K1x12, K1x13}, \ + {K2x0, K2x1, K2x2, K2x3, K2x4, K2x5, K2x6, K2x7, K2x8, K2x9, K2x10, K2x11, K2x12, K2x13}, \ + {K3x0, K3x1, K3x2, K3x3, K3x4, K3x5, K3x6, K3x7, K3x8, K3x9, K3x10, K3x11, K3x12, K3x13}, \ + {K4x0, K4x1, K4x2, ____, K4x4, ____, K4x6, ____, ____, K4x9, ____, K4x11, K4x12, K4x13} \ +} + +#define LAYOUT_tsangan_split_bs( \ + K0x0, K0x1, K0x2, K0x3, K0x4, K0x5, K0x6, K0x7, K0x8, K0x9, K0x10, K0x11, K0x12, K0x13, K1x13, \ + K1x0, K1x1, K1x2, K1x3, K1x4, K1x5, K1x6, K1x7, K1x8, K1x9, K1x10, K1x11, K1x12, K2x13, \ + K2x0, K2x1, K2x2, K2x3, K2x4, K2x5, K2x6, K2x7, K2x8, K2x9, K2x10, K2x11, K2x12, \ + K3x0, K3x2, K3x3, K3x4, K3x5, K3x6, K3x7, K3x8, K3x9, K3x10, K3x11, K3x12, K3x13, \ + K4x0, K4x1, K4x2, K4x6, K4x10, K4x12, K4x13 \ +){ \ + {K0x0, K0x1, K0x2, K0x3, K0x4, K0x5, K0x6, K0x7, K0x8, K0x9, K0x10, K0x11, K0x12, K0x13}, \ + {K1x0, K1x1, K1x2, K1x3, K1x4, K1x5, K1x6, K1x7, K1x8, K1x9, K1x10, K1x11, K1x12, K1x13}, \ + {K2x0, K2x1, K2x2, K2x3, K2x4, K2x5, K2x6, K2x7, K2x8, K2x9, K2x10, K2x11, K2x12, K2x13}, \ + {K3x0, ____, K3x2, K3x3, K3x4, K3x5, K3x6, K3x7, K3x8, K3x9, K3x10, K3x11, K3x12, K3x13}, \ + {K4x0, K4x1, K4x2, ____, ____, ____, K4x6, ____, ____, ____, K4x10, ____, K4x12, K4x13} \ +} + +#define LAYOUT_iso( \ + K0x0, K0x1, K0x2, K0x3, K0x4, K0x5, K0x6, K0x7, K0x8, K0x9, K0x10, K0x11, K0x12, K0x13, \ + K1x0, K1x1, K1x2, K1x3, K1x4, K1x5, K1x6, K1x7, K1x8, K1x9, K1x10, K1x11, K1x12, K2x12, \ + K2x0, K2x1, K2x2, K2x3, K2x4, K2x5, K2x6, K2x7, K2x8, K2x9, K2x10, K2x11, K2x13, \ + K3x0, K3x1, K3x2, K3x3, K3x4, K3x5, K3x6, K3x7, K3x8, K3x9, K3x10, K3x11, K3x12, K3x13, \ + K4x0, K4x1, K4x2, K4x6, K4x10, K4x12, K4x13 \ +){ \ + {K0x0, K0x1, K0x2, K0x3, K0x4, K0x5, K0x6, K0x7, K0x8, K0x9, K0x10, K0x11, K0x12, K0x13}, \ + {K1x0, K1x1, K1x2, K1x3, K1x4, K1x5, K1x6, K1x7, K1x8, K1x9, K1x10, K1x11, K1x12, ____ }, \ + {K2x0, K2x1, K2x2, K2x3, K2x4, K2x5, K2x6, K2x7, K2x8, K2x9, K2x10, K2x11, K2x12, K2x13}, \ + {K3x0, K3x1, K3x2, K3x3, K3x4, K3x5, K3x6, K3x7, K3x8, K3x9, K3x10, K3x11, K3x12, K3x13}, \ + {K4x0, K4x1, K4x2, ____, ____, ____, K4x6, ____, ____, ____, K4x10, ____, K4x12, K4x13} \ +} + + + diff --git a/keyboards/jels/jels60/keymaps/default/keymap.c b/keyboards/jels/jels60/keymaps/default/keymap.c new file mode 100644 index 000000000000..072ae3e059fe --- /dev/null +++ b/keyboards/jels/jels60/keymaps/default/keymap.c @@ -0,0 +1,50 @@ + /* Copyright 2022 Joah Nelson (Jels) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +//base layer +[0] = LAYOUT_all( + 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_GRV, + 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_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_LSFT, KC_BSLS, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, KC_RCTL +), +[1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP , _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +[2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +[3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/jels/jels60/keymaps/via/keymap.c b/keyboards/jels/jels60/keymaps/via/keymap.c new file mode 100644 index 000000000000..072ae3e059fe --- /dev/null +++ b/keyboards/jels/jels60/keymaps/via/keymap.c @@ -0,0 +1,50 @@ + /* Copyright 2022 Joah Nelson (Jels) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +//base layer +[0] = LAYOUT_all( + 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_GRV, + 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_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_LSFT, KC_BSLS, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, KC_RCTL +), +[1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP , _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +[2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +[3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/jels/jels60/keymaps/via/rules.mk b/keyboards/jels/jels60/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/jels/jels60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/jels/jels60/readme.md b/keyboards/jels/jels60/readme.md new file mode 100644 index 000000000000..0b72d3e346d0 --- /dev/null +++ b/keyboards/jels/jels60/readme.md @@ -0,0 +1,23 @@ +# Jels60 + +![jels60](https://i.imgur.com/3Ec4YZNh.png) + +A 60% PCB + +* Keyboard Maintainer: [Jels](https://github.com/Jels02) +* Hardware Supported: Jels60 PCB +* Hardware Availabililty: Limited Group buys + +Make example for this keyboard (after setting up your build environment): + + make jels/jels60:default + +Flashing example for this keyboard: + + make jels/jels60:default:flash + +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). + +* **Bootmagic reset**: Hold down the top left key (ESC/Tilde) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/jels/jels60/rules.mk b/keyboards/jels/jels60/rules.mk new file mode 100644 index 000000000000..476cf49f278e --- /dev/null +++ b/keyboards/jels/jels60/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 8fe3864fe7601a7e6572e7db680775edeff771ac Mon Sep 17 00:00:00 2001 From: Spencer Peterson Date: Sun, 13 Mar 2022 14:49:47 -0700 Subject: [PATCH 0371/1832] [Keyboard] Add "Uno" rev2 (#14071) * [Keyboard] Add "Uno" rev2 Adds support for the second revision of Uno, courtesy of @Snipeye. * Update keyboards/uno/rev2/rules.mk * Update keyboards/uno/rev1/rules.mk * Update keyboards/uno/uno.h * Update keyboards/uno/rev2/rules.mk * Update keyboards/uno/rev1/rules.mk * Update keyboards/uno/keymaps/demo/keymap.c * Update keyboards/uno/keymaps/demo/keymap.c * Update keyboards/uno/keymaps/demo/keymap.c * Update keyboards/uno/rev2/rules.mk * Update keyboards/uno/rev1/rules.mk * Align rules.mk comments * Update keyboards/uno/info.json * Update keyboards/uno/rev1/config.h * Update keyboards/uno/rev2/config.h * Update keyboards/uno/rev2/config.h * Update keyboards/uno/rev2/config.h * Update keyboards/uno/rev1/config.h --- keyboards/uno/config.h | 54 +--------- keyboards/uno/keymaps/copypasta/keymap.c | 85 +++++++++++++++ keyboards/uno/keymaps/copypasta/readme.md | 4 + keyboards/uno/keymaps/default/keymap.c | 89 +++++----------- keyboards/uno/keymaps/default/readme.md | 5 +- keyboards/uno/keymaps/demo/keymap.c | 123 ++++++++++++++++++++++ keyboards/uno/keymaps/demo/readme.md | 4 + keyboards/uno/readme.md | 35 ++++-- keyboards/uno/rev1/config.h | 74 +++++++++++++ keyboards/uno/rev1/rev1.h | 25 +++++ keyboards/uno/rev1/rules.mk | 18 ++++ keyboards/uno/rev2/config.h | 49 +++++++++ keyboards/uno/rev2/rev2.h | 25 +++++ keyboards/uno/rev2/rules.mk | 19 ++++ keyboards/uno/rules.mk | 19 +--- keyboards/uno/uno.h | 11 +- 16 files changed, 489 insertions(+), 150 deletions(-) create mode 100644 keyboards/uno/keymaps/copypasta/keymap.c create mode 100644 keyboards/uno/keymaps/copypasta/readme.md create mode 100644 keyboards/uno/keymaps/demo/keymap.c create mode 100644 keyboards/uno/keymaps/demo/readme.md create mode 100644 keyboards/uno/rev1/config.h create mode 100644 keyboards/uno/rev1/rev1.h create mode 100644 keyboards/uno/rev1/rules.mk create mode 100644 keyboards/uno/rev2/config.h create mode 100644 keyboards/uno/rev2/rev2.h create mode 100644 keyboards/uno/rev2/rules.mk diff --git a/keyboards/uno/config.h b/keyboards/uno/config.h index 1cae17f50acf..0128ee2d5de2 100644 --- a/keyboards/uno/config.h +++ b/keyboards/uno/config.h @@ -13,57 +13,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#pragma once -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0xACC8 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Broekhuijsen -#define PRODUCT Uno - -/* key matrix size */ -#define MATRIX_ROWS 1 -#define MATRIX_COLS 1 -/* Uno default pinout */ -#define DIRECT_PINS { \ - { B6 } \ -} -#define UNUSED_PINS - -#define RGB_DI_PIN F6 -#ifdef RGB_DI_PIN -#define RGBLED_NUM 1 -// #define RGBLIGHT_HUE_STEP 32 -// #define RGBLIGHT_SAT_STEP 32 -// #define RGBLIGHT_VAL_STEP 32 -// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -// /*== all animations enable ==*/ -#define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -// /*== customize breathing effect ==*/ -// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -// /*==== use exp() and sin() ====*/ -// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -#endif +#pragma once -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 +#include "config_common.h" -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION +// See rev1/config.h and rev2/config.h to configure your uno. diff --git a/keyboards/uno/keymaps/copypasta/keymap.c b/keyboards/uno/keymaps/copypasta/keymap.c new file mode 100644 index 000000000000..74e5f62fc540 --- /dev/null +++ b/keyboards/uno/keymaps/copypasta/keymap.c @@ -0,0 +1,85 @@ +/* Copyright 2020 Snipeye + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum uno_keycode +{ + UNO = SAFE_RANGE +}; + +static uint16_t pressTimer = 0xFFFF; +#define CUSTOM_LONGPRESS 1000 +#define PASTA_COUNT 4 + +const char *pasta[PASTA_COUNT] = { + "Hey - I'm Uno... V2. This time, I have uno more features: I support a rotary encoder, too. That's it. That's the only difference.", + "Did you ever hear the tragedy of Darth Plagueis the Wise? I thought not. It's not a story the Jedi would tell you. It's a Sith legend. Darth Plagueis was a Dark Lord of the Sith, so powerful and so wise he could use the Force to influence the midichlorians to create life... He had such a knowledge of the dark side that he could even keep the ones he cared about from dying. The dark side of the Force is a pathway to many abilities some consider to be unnatural. He became so powerful... the only thing he was afraid of was losing his power, which eventually, of course, he did. Unfortunately, he taught his apprentice everything he knew, then his apprentice killed him in his sleep. Ironic, he could save others from death, but not himself.", + "The intent is to provide players with a sense of pride and accomplishment for unlocking different heroes. As for cost, we selected initial values based upon data from the Open Beta and other adjustments made to milestone rewards before launch. Among other things, we're looking at average per-player credit earn rates on a daily basis, and we'll be making constant adjustments to ensure that players have challenges that are compelling, rewarding, and of course attainable via gameplay. We appreciate the candid feedback, and the passion the community has put forth around the current topics here on Reddit, our forums and across numerous social media outlets. Our team will continue to make changes and monitor community feedback and update everyone as soon and as often as we can.", + "The FitnessGram Pacer Test is a multistage aerobic capacity test that progressively gets more difficult as it continues. The 20 meter pacer test will begin in 30 seconds. Line up at the start. The running speed starts slowly, but gets faster each minute after you hear this signal. [beep] A single lap should be completed each time you hear this sound. [ding] Remember to run in a straight line, and run as long as possible. The second time you fail to complete a lap before the sound, your test is over. The test will begin on the word start. On your mark, get ready, start.", +}; + +uint8_t pastaIndex = 0; + +enum encoder_names { + _ENCODER, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + UNO + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case UNO: + if (record->event.pressed) { + pressTimer = timer_read(); + } else { + uint16_t timeElapsed = timer_elapsed(pressTimer); + if (timeElapsed < CUSTOM_LONGPRESS) { + send_string(pasta[pastaIndex]); + } else { + reset_keyboard(); + } + } + break; + } + return false; +} + +void keyboard_post_init_user(void) { + rgblight_enable_noeeprom(); + rgblight_sethsv_noeeprom(0, 255, 255); + rgblight_mode_noeeprom(1); + //rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_MOOD); +} + +void encoder_update_user(uint8_t index, bool clockwise) { + if (index == _ENCODER) { /* First encoder */ + if (clockwise) { + pastaIndex++; + pastaIndex %= PASTA_COUNT; + } else { + pastaIndex += PASTA_COUNT; + pastaIndex--; + pastaIndex %= PASTA_COUNT; + } + rgblight_sethsv_noeeprom((255/PASTA_COUNT)*pastaIndex, 255, 255); + rgblight_mode_noeeprom(1); + } +} diff --git a/keyboards/uno/keymaps/copypasta/readme.md b/keyboards/uno/keymaps/copypasta/readme.md new file mode 100644 index 000000000000..1ad009c16c58 --- /dev/null +++ b/keyboards/uno/keymaps/copypasta/readme.md @@ -0,0 +1,4 @@ +# A copypasta keymap for uno +![Picture](https://i.imgur.com/OqPyWbbl.jpg) + +[A demo of this keymap can be found here.](https://www.reddit.com/r/MechanicalKeyboards/comments/k7w1j1/qmk_is_a_pathway_to_many_abilities_some_consider/) diff --git a/keyboards/uno/keymaps/default/keymap.c b/keyboards/uno/keymaps/default/keymap.c index bb19ea7ddb9d..43c885c800f1 100644 --- a/keyboards/uno/keymaps/default/keymap.c +++ b/keyboards/uno/keymaps/default/keymap.c @@ -13,6 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #include QMK_KEYBOARD_H enum uno_keycode @@ -20,20 +21,9 @@ enum uno_keycode UNO = SAFE_RANGE }; -static uint16_t pressTimer = 0xFFFF; -#define CUSTOM_LONGPRESS 150 -#define CUSTOM_LONGERPRESS 750 -#define CUSTOM_STRING "I can put a whole buncha text in here and type it all with a single keypress." -#define RESET_LENGTH 3000 -const uint8_t PROGMEM RGBLED_RAINBOW_MOOD_INTERVALS[] = { 10, 25, 50 }; - -char stringToSend[2] = "a"; -char maxLetter = 'z'; - -uint8_t presetCounter = 0; - -#define COUNTER X_A - +enum encoder_names { + _ENCODER, +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( @@ -44,59 +34,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case UNO: - if (record->event.pressed) { - pressTimer = timer_read(); - } else { - uint16_t timeElapsed = timer_elapsed(pressTimer); - switch (presetCounter) { - case 0: - SEND_STRING(SS_LCMD("n")); - break; - case 1: - SEND_STRING("Hello!"); - break; - case 2: - SEND_STRING(SS_TAP(X_ENTER)SS_TAP(X_ENTER)"I am uno!"); - break; - case 3: - SEND_STRING(SS_TAP(X_ENTER)SS_TAP(X_ENTER)"I can do all sorts of useless things!"); - break; - case 4: - SEND_STRING(SS_TAP(X_ENTER)SS_TAP(X_ENTER)"And I have a built-in RGB LED!"SS_TAP(X_ENTER)SS_TAP(X_ENTER)SS_TAP(X_ENTER)); - rgblight_sethsv_noeeprom(255, 255, 255); - rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_MOOD); - break; - default: - if (timeElapsed < CUSTOM_LONGPRESS) { - // Normal press. We're going to send the current letter and increment the counter. - SEND_STRING(SS_TAP(X_BSPACE)); - send_string(stringToSend); - stringToSend[0]++; - if (stringToSend[0] > maxLetter) { - stringToSend[0] = 'a'; - } - } else if (timeElapsed < CUSTOM_LONGERPRESS) { - // Long press, confirm the current letter, reset counter - stringToSend[0] = 'a'; - send_string(stringToSend); - } else if (timeElapsed < RESET_LENGTH) { - // Longer press, display macro. - SEND_STRING(CUSTOM_STRING); - } else { - reset_keyboard(); - } - presetCounter--; - break; - } - presetCounter++; - } - break; + if (record->event.pressed) { + SEND_STRING("Hello!"); + } + break; + return false; } - return false; + return true; } void keyboard_post_init_user(void) { rgblight_enable_noeeprom(); - rgblight_sethsv_noeeprom(0, 0, 0); - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + rgblight_sethsv_noeeprom(255, 255, 255); + rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_MOOD); } + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == _ENCODER) { /* First encoder */ + if (clockwise) { + tap_code(KC_A); + } else { + tap_code(KC_B); + } + return false; + } + return true; +} + diff --git a/keyboards/uno/keymaps/default/readme.md b/keyboards/uno/keymaps/default/readme.md index 53b762f878fd..d783a80accef 100644 --- a/keyboards/uno/keymaps/default/readme.md +++ b/keyboards/uno/keymaps/default/readme.md @@ -1,4 +1,5 @@ # The default keymap for uno -![Keymap](https://i.imgur.com/lCPZZpO.png) +![Picture](https://i.imgur.com/OqPyWbbl.jpg) -The 'Macro' key does a few things: If you open up textedit (was made for a mac), it sends "Command+n" for the first press to make a new document. It then types a few different messages, activates the RGB LED, and finally ends in a "scroll through the alphabet with a long press to confirm a certain character" keyboard mode. +This keymap types "Hello!" when pressed and presses 'A' and 'B' when turning the +encoder. diff --git a/keyboards/uno/keymaps/demo/keymap.c b/keyboards/uno/keymaps/demo/keymap.c new file mode 100644 index 000000000000..cd3c3dadef32 --- /dev/null +++ b/keyboards/uno/keymaps/demo/keymap.c @@ -0,0 +1,123 @@ +/* Copyright 2020 Snipeye + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum uno_keycode +{ + UNO = SAFE_RANGE +}; + +static uint16_t pressTimer = 0xFFFF; +#define CUSTOM_LONGPRESS 150 +#define CUSTOM_LONGERPRESS 750 +#define CUSTOM_STRING "I can put a whole buncha text in here and type it all with a single keypress." +#define RESET_LENGTH 3000 +const uint8_t PROGMEM RGBLED_RAINBOW_MOOD_INTERVALS[] = { 10, 25, 50 }; + +char stringToSend[2] = "a"; +char maxLetter = 'z'; + +uint8_t presetCounter = 0; + +#define COUNTER X_A + +enum encoder_names { + _ENCODER, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + UNO + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case UNO: + if (record->event.pressed) { + pressTimer = timer_read(); + } else { + uint16_t timeElapsed = timer_elapsed(pressTimer); + switch (presetCounter) { + case 0: + SEND_STRING(SS_LCMD("n")); + break; + case 1: + SEND_STRING("Hello!"); + break; + case 2: + SEND_STRING("\n\nI am uno!"); + break; + case 3: + SEND_STRING("\n\nI can do all sorts of useless things!"); + break; + case 4: + SEND_STRING("\n\nAnd I have a built-in RGB LED!\n\n\n"); + rgblight_sethsv_noeeprom(255, 255, 255); + rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_MOOD); + break; + default: + if (timeElapsed < CUSTOM_LONGPRESS) { + // Normal press. We're going to send the current letter and increment the counter. + SEND_STRING(SS_TAP(X_BSPACE)); + send_string(stringToSend); + stringToSend[0]++; + if (stringToSend[0] > maxLetter) { + stringToSend[0] = 'a'; + } + } else if (timeElapsed < CUSTOM_LONGERPRESS) { + // Long press, confirm the current letter, reset counter + stringToSend[0] = 'a'; + send_string(stringToSend); + } else if (timeElapsed < RESET_LENGTH) { + // Longer press, display macro. + SEND_STRING(CUSTOM_STRING); + } else { + reset_keyboard(); + } + presetCounter--; + break; + } + presetCounter++; + } + break; + } + return false; +} + +void keyboard_post_init_user(void) { + rgblight_enable_noeeprom(); + rgblight_sethsv_noeeprom(0, 0, 0); + rgblight_mode(1); + // Uncomment to enable rainbow mode when plugged in. + // Otherwise, the LED will be revealed after a few keypresses. + //rgblight_sethsv_noeeprom(255, 255, 255); + //rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_MOOD); +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == _ENCODER) { /* First encoder */ + if (clockwise) { + tap_code(KC_A); + } else { + tap_code(KC_B); + } + return false; + } + return true; +} + diff --git a/keyboards/uno/keymaps/demo/readme.md b/keyboards/uno/keymaps/demo/readme.md new file mode 100644 index 000000000000..ec9124786157 --- /dev/null +++ b/keyboards/uno/keymaps/demo/readme.md @@ -0,0 +1,4 @@ +# The demo keymap for uno +![Picture](https://i.imgur.com/OqPyWbbl.jpg) + +[You can find a video of this keymap being demoed here](https://imgur.com/a/Z7G5Aam). diff --git a/keyboards/uno/readme.md b/keyboards/uno/readme.md index ce4cccd196f2..b60ef23e971d 100644 --- a/keyboards/uno/readme.md +++ b/keyboards/uno/readme.md @@ -1,19 +1,34 @@ -# uno +# Uno - ![uno](https://i.imgur.com/OqPyWbbl.jpg) +![Uno](https://i.imgur.com/OqPyWbbl.jpg) A 1-key, in-USB "board" for the lulz - * Keyboard Maintainer: [Snipeye](https://github.com/Snipeye) - * Hardware Supported: uno pcb - * Hardware Availability: [GB](https://www.reddit.com/r/mechmarket/comments/gyijm7/gb_uno/) +* Keyboard Maintainer: [Snipeye](https://github.com/Snipeye) +* Hardware Availability: [keyhive.xyz](https://keyhive.xyz/shop/uno-single-key-keyboard) - Make example for this keyboard (after setting up your build environment): +There are two revisions of Uno. If your Uno supports a rotary encoder, use rev2. +If it *does not* support a rotary encoder, use rev1. The following examples use +`rev2` — be sure to change this if you are using `rev1`. - make uno:default +Make example for this keyboard (after setting up your build environment; make +sure to change `rev2` to your Uno's version): - Flashing example for this keyboard: + make uno/rev2:default - make uno:default:flash +Flashing example for this keyboard (change `rev2` to `rev1` if needed): - 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). + make uno/rev2:default:flash + +If you prefer to use the `qmk` tool: + + qmk compile -kb uno/rev2 -km default + +Create your own keymap with: + + qmk new-keymap -kb uno/rev2 + +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). + +### Credits ++ Everything by Snipeye diff --git a/keyboards/uno/rev1/config.h b/keyboards/uno/rev1/config.h new file mode 100644 index 000000000000..11c84ad2ab12 --- /dev/null +++ b/keyboards/uno/rev1/config.h @@ -0,0 +1,74 @@ +/* Copyright 2020 Snipeye + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0xACC8 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Broekhuijsen +#define PRODUCT Uno rev1 + +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_ANIMATIONS + +/* key matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* Uno default pinout */ +#define DIRECT_PINS { \ + { B6 } \ +} +#define UNUSED_PINS + +#ifdef RGBLIGHT_ENABLE +#define RGB_DI_PIN F6 +#define RGBLED_NUM 1 +#endif + +// #define RGB_DI_PIN E2 +// #ifdef RGB_DI_PIN +// #define RGBLED_NUM 16 +// #define RGBLIGHT_HUE_STEP 32 +// #define RGBLIGHT_SAT_STEP 32 +// #define RGBLIGHT_VAL_STEP 32 +// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +// /*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +// /*== customize breathing effect ==*/ +// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +// /*==== use exp() and sin() ====*/ +// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +// #endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/uno/rev1/rev1.h b/keyboards/uno/rev1/rev1.h new file mode 100644 index 000000000000..691bdd1dc397 --- /dev/null +++ b/keyboards/uno/rev1/rev1.h @@ -0,0 +1,25 @@ +/* Copyright 2020 Snipeye + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + K00 \ +) { \ + { K00 } \ +} diff --git a/keyboards/uno/rev1/rules.mk b/keyboards/uno/rev1/rules.mk new file mode 100644 index 000000000000..7180be7497ae --- /dev/null +++ b/keyboards/uno/rev1/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/uno/rev2/config.h b/keyboards/uno/rev2/config.h new file mode 100644 index 000000000000..37ea08c01740 --- /dev/null +++ b/keyboards/uno/rev2/config.h @@ -0,0 +1,49 @@ +/* Copyright 2020 Snipeye + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0xACC8 +#define DEVICE_VER 0x0002 +#define MANUFACTURER Broekhuijsen +#define PRODUCT Uno rev2 + +#define RGBLIGHT_EFFECT_RAINBOW_MOOD + +/* ENCODER */ +#define ENCODERS_PAD_A { B2 } +#define ENCODERS_PAD_B { B3 } + +/* key matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* Uno default pinout */ +#define DIRECT_PINS { \ + { D0 } \ +} +#define UNUSED_PINS + +#ifdef RGBLIGHT_ENABLE +#define RGB_DI_PIN D1 +#define RGBLED_NUM 1 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/uno/rev2/rev2.h b/keyboards/uno/rev2/rev2.h new file mode 100644 index 000000000000..691bdd1dc397 --- /dev/null +++ b/keyboards/uno/rev2/rev2.h @@ -0,0 +1,25 @@ +/* Copyright 2020 Snipeye + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + K00 \ +) { \ + { K00 } \ +} diff --git a/keyboards/uno/rev2/rules.mk b/keyboards/uno/rev2/rules.mk new file mode 100644 index 000000000000..1ce2738442b3 --- /dev/null +++ b/keyboards/uno/rev2/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes diff --git a/keyboards/uno/rules.mk b/keyboards/uno/rules.mk index ebbb7bc613c7..367faedeaf99 100644 --- a/keyboards/uno/rules.mk +++ b/keyboards/uno/rules.mk @@ -1,18 +1 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = caterina - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output +DEFAULT_FOLDER = uno/rev1 diff --git a/keyboards/uno/uno.h b/keyboards/uno/uno.h index 91d48d2ad50b..bb3248e293b3 100644 --- a/keyboards/uno/uno.h +++ b/keyboards/uno/uno.h @@ -13,12 +13,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #pragma once #include "quantum.h" -#define LAYOUT( \ - K00 \ -) { \ - { K00 } \ -} +#if defined(KEYBOARD_uno_rev1) +# include "rev1.h" +#elif defined(KEYBOARD_uno_rev2) +# include "rev2.h" +#endif From df3770551a4dcbf8188a16453dd64fe1787f83d8 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 14 Mar 2022 10:46:13 +1100 Subject: [PATCH 0372/1832] USB-USB converter cleanup (#16618) --- keyboards/converter/usb_usb/ble/ble.h | 2 +- keyboards/converter/usb_usb/ble/config.h | 9 +- keyboards/converter/usb_usb/ble/readme.md | 11 -- keyboards/converter/usb_usb/ble/rules.mk | 12 +-- keyboards/converter/usb_usb/config.h | 4 +- keyboards/converter/usb_usb/custom_matrix.cpp | 40 +++---- keyboards/converter/usb_usb/hasu/hasu.h | 2 +- keyboards/converter/usb_usb/main.c | 102 ------------------ .../converter/usb_usb/pro_micro/pro_micro.h | 2 +- keyboards/converter/usb_usb/rules.mk | 18 ++-- keyboards/converter/usb_usb/usb_usb.h | 8 ++ 11 files changed, 41 insertions(+), 169 deletions(-) delete mode 100644 keyboards/converter/usb_usb/main.c diff --git a/keyboards/converter/usb_usb/ble/ble.h b/keyboards/converter/usb_usb/ble/ble.h index 3dccc23a413c..335117604702 100644 --- a/keyboards/converter/usb_usb/ble/ble.h +++ b/keyboards/converter/usb_usb/ble/ble.h @@ -1,3 +1,3 @@ #pragma once -#include QMK_KEYBOARD_H +#include "usb_usb.h" diff --git a/keyboards/converter/usb_usb/ble/config.h b/keyboards/converter/usb_usb/ble/config.h index 92df24d00376..675183f08203 100644 --- a/keyboards/converter/usb_usb/ble/config.h +++ b/keyboards/converter/usb_usb/ble/config.h @@ -1,13 +1,6 @@ #pragma once #undef PRODUCT -#define PRODUCT QMK BLE Adapter +#define PRODUCT QMK BLE Adapter -// Turn off the mode leds on the BLE module -#define BLUEFRUIT_LE_ENABLE_MODE_LEDS 0 -#define BLUEFRUIT_LE_ENABLE_POWER_LED 0 - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define NO_ACTION_ONESHOT - diff --git a/keyboards/converter/usb_usb/ble/readme.md b/keyboards/converter/usb_usb/ble/readme.md index 0ee7223fd4be..05cf437399c9 100644 --- a/keyboards/converter/usb_usb/ble/readme.md +++ b/keyboards/converter/usb_usb/ble/readme.md @@ -17,14 +17,3 @@ Part list: * [Pololu 5V Step-Up Voltage Regulator U3V12F5](https://www.pololu.com/product/2115) * [Lithium Ion Battery - 3.7v 2000mAh](https://www.adafruit.com/product/2011) * Some sort of switch to be able to turn it off - -Building and Flashing ---------------------- - -``` -make converter-usb_usb-ble -``` - -``` -make converter-usb_usb-ble-avrdude -``` \ No newline at end of file diff --git a/keyboards/converter/usb_usb/ble/rules.mk b/keyboards/converter/usb_usb/ble/rules.mk index df5bc36635b8..86a4e15ffec5 100644 --- a/keyboards/converter/usb_usb/ble/rules.mk +++ b/keyboards/converter/usb_usb/ble/rules.mk @@ -1,17 +1,7 @@ # Processor frequency F_CPU = 8000000 -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output - +EXTRAKEY_ENABLE = no BLUETOOTH_ENABLE = yes BLUETOOTH_DRIVER = BluefruitLE - LTO_ENABLE = yes diff --git a/keyboards/converter/usb_usb/config.h b/keyboards/converter/usb_usb/config.h index d2488336a5c0..5f791eaa34cb 100644 --- a/keyboards/converter/usb_usb/config.h +++ b/keyboards/converter/usb_usb/config.h @@ -17,6 +17,8 @@ along with this program. If not, see . #pragma once +#include "config_common.h" + /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x005B @@ -43,5 +45,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/converter/usb_usb/custom_matrix.cpp b/keyboards/converter/usb_usb/custom_matrix.cpp index 00b5bc505335..a92feeb6c18d 100644 --- a/keyboards/converter/usb_usb/custom_matrix.cpp +++ b/keyboards/converter/usb_usb/custom_matrix.cpp @@ -58,36 +58,31 @@ extern "C" { */ #define ROW_MASK 0xF0 #define COL_MASK 0x0F -#define CODE(row, col) (((row) << 4) | (col)) -#define ROW(code) (((code) & ROW_MASK) >> 4) -#define COL(code) ((code) & COL_MASK) -#define ROW_BITS(code) (1 << COL(code)) - +#define CODE(row, col) (((row) << 4) | (col)) +#define ROW(code) (((code) & ROW_MASK) >> 4) +#define COL(code) ((code) & COL_MASK) +#define ROW_BITS(code) (1 << COL(code)) // Integrated key state of all keyboards static report_keyboard_t local_keyboard_report; -static bool matrix_is_mod = false; - /* * USB Host Shield HID keyboards * This supports two cascaded hubs and four keyboards */ USB usb_host; -HIDBoot kbd1(&usb_host); -HIDBoot kbd2(&usb_host); -HIDBoot kbd3(&usb_host); -HIDBoot kbd4(&usb_host); +USBHub hub1(&usb_host); +USBHub hub2(&usb_host); +HIDBoot kbd1(&usb_host); +HIDBoot kbd2(&usb_host); +HIDBoot kbd3(&usb_host); +HIDBoot kbd4(&usb_host); KBDReportParser kbd_parser1; KBDReportParser kbd_parser2; KBDReportParser kbd_parser3; KBDReportParser kbd_parser4; -USBHub hub1(&usb_host); -USBHub hub2(&usb_host); - -extern "C" -{ +extern "C" { uint8_t matrix_rows(void) { return MATRIX_ROWS; } uint8_t matrix_cols(void) { return MATRIX_COLS; } bool matrix_has_ghost(void) { return false; } @@ -135,6 +130,7 @@ extern "C" } uint8_t matrix_scan(void) { + bool changed = false; static uint16_t last_time_stamp1 = 0; static uint16_t last_time_stamp2 = 0; static uint16_t last_time_stamp3 = 0; @@ -158,15 +154,13 @@ extern "C" or_report(kbd_parser3.report); or_report(kbd_parser4.report); - matrix_is_mod = true; + changed = true; dprintf("state: %02X %02X", local_keyboard_report.mods, local_keyboard_report.reserved); for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { dprintf(" %02X", local_keyboard_report.keys[i]); } dprint("\r\n"); - } else { - matrix_is_mod = false; } uint16_t timer; @@ -189,7 +183,7 @@ extern "C" } } matrix_scan_quantum(); - return 1; + return changed; } bool matrix_is_on(uint8_t row, uint8_t col) { @@ -234,13 +228,11 @@ extern "C" } } - void led_set(uint8_t usb_led) - { + void led_set(uint8_t usb_led) { if (kbd1.isReady()) kbd1.SetReport(0, 0, 2, 0, 1, &usb_led); if (kbd2.isReady()) kbd2.SetReport(0, 0, 2, 0, 1, &usb_led); if (kbd3.isReady()) kbd3.SetReport(0, 0, 2, 0, 1, &usb_led); if (kbd4.isReady()) kbd4.SetReport(0, 0, 2, 0, 1, &usb_led); led_set_kb(usb_led); } - -}; +} diff --git a/keyboards/converter/usb_usb/hasu/hasu.h b/keyboards/converter/usb_usb/hasu/hasu.h index 3dccc23a413c..335117604702 100644 --- a/keyboards/converter/usb_usb/hasu/hasu.h +++ b/keyboards/converter/usb_usb/hasu/hasu.h @@ -1,3 +1,3 @@ #pragma once -#include QMK_KEYBOARD_H +#include "usb_usb.h" diff --git a/keyboards/converter/usb_usb/main.c b/keyboards/converter/usb_usb/main.c deleted file mode 100644 index 76e88922cb41..000000000000 --- a/keyboards/converter/usb_usb/main.c +++ /dev/null @@ -1,102 +0,0 @@ -#include -#include -#include -#include - -// LUFA -#include "lufa.h" - -#include "sendchar.h" -#include "debug.h" -#include "keyboard.h" -#include "led.h" - - -/* LED ping configuration */ -#define TMK_LED -//#define LEONARDO_LED -#if defined(TMK_LED) -// For TMK converter and Teensy -#define LED_TX_INIT (DDRD |= (1<<6)) -#define LED_TX_ON (PORTD |= (1<<6)) -#define LED_TX_OFF (PORTD &= ~(1<<6)) -#define LED_TX_TOGGLE (PORTD ^= (1<<6)) -#elif defined(LEONARDO_LED) -// For Leonardo(TX LED) -#define LED_TX_INIT (DDRD |= (1<<5)) -#define LED_TX_ON (PORTD &= ~(1<<5)) -#define LED_TX_OFF (PORTD |= (1<<5)) -#define LED_TX_TOGGLE (PORTD ^= (1<<5)) -#else -#define LED_TX_INIT -#define LED_TX_ON -#define LED_TX_OFF -#define LED_TX_TOGGLE -#endif - - -static void LUFA_setup(void) -{ - /* Disable watchdog if enabled by bootloader/fuses */ - MCUSR &= ~(1 << WDRF); - wdt_disable(); - - /* Disable clock division */ -#if (F_CPU == 8000000) - clock_prescale_set(clock_div_2); // 16MHz crystal divided by 2 -#else - clock_prescale_set(clock_div_1); -#endif - - // Leonardo needs. Without this USB device is not recognized. - USB_Disable(); - - USB_Init(); - - // for Console_Task - USB_Device_EnableSOFEvents(); - print_set_sendchar(sendchar); -} - - - -int main(void) -{ - // LED for debug - LED_TX_INIT; - LED_TX_ON; - - debug_enable = true; - debug_keyboard = true; - - host_set_driver(&lufa_driver); - keyboard_init(); - - LUFA_setup(); - - /* NOTE: Don't insert time consuming job here. - * It'll cause unclear initialization failure when DFU reset(worm start). - */ - sei(); - -/* Some keyboards bootup quickly and cannot be initialized with this startup wait. - // wait for startup of sendchar routine - while (USB_DeviceState != DEVICE_STATE_Configured) ; - if (debug_enable) { - _delay_ms(1000); - } -*/ - - debug("init: done\n"); - - for (;;) { - keyboard_task(); - -#if !defined(INTERRUPT_CONTROL_ENDPOINT) - // LUFA Task for control request - USB_USBTask(); -#endif - } - - return 0; -} diff --git a/keyboards/converter/usb_usb/pro_micro/pro_micro.h b/keyboards/converter/usb_usb/pro_micro/pro_micro.h index 3dccc23a413c..335117604702 100644 --- a/keyboards/converter/usb_usb/pro_micro/pro_micro.h +++ b/keyboards/converter/usb_usb/pro_micro/pro_micro.h @@ -1,3 +1,3 @@ #pragma once -#include QMK_KEYBOARD_H +#include "usb_usb.h" diff --git a/keyboards/converter/usb_usb/rules.mk b/keyboards/converter/usb_usb/rules.mk index 19903ed33146..a33c0aaa54ac 100644 --- a/keyboards/converter/usb_usb/rules.mk +++ b/keyboards/converter/usb_usb/rules.mk @@ -8,15 +8,17 @@ BOOTLOADER = caterina # change yes to no to disable # BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -#MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -#CONSOLE_ENABLE = yes # Console for debug -#COMMAND_ENABLE = yes # Commands for debug and configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover -#BACKLIGHT_ENABLE = yes -USB_HID_ENABLE = yes -CUSTOM_MATRIX = yes +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +USB_HID_ENABLE = yes +CUSTOM_MATRIX = yes -SRC = custom_matrix.cpp +SRC += custom_matrix.cpp DEFAULT_FOLDER = converter/usb_usb/hasu diff --git a/keyboards/converter/usb_usb/usb_usb.h b/keyboards/converter/usb_usb/usb_usb.h index 3acd67634a5d..4a25cf5d2e93 100644 --- a/keyboards/converter/usb_usb/usb_usb.h +++ b/keyboards/converter/usb_usb/usb_usb.h @@ -19,6 +19,14 @@ along with this program. If not, see . #include "quantum.h" +#if defined(KEYBOARD_converter_usb_usb_ble) +# include "ble.h" +#elif defined(KEYBOARD_converter_usb_usb_hasu) +# include "hasu.h" +#elif defined(KEYBOARD_converter_usb_usb_pro_micro) +# include "pro_micro.h" +#endif + #define XXX KC_NO #define ______ KC_TRNS From c0f417911703738b3ede14b87be5c4a39db07016 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 14 Mar 2022 10:54:49 +1100 Subject: [PATCH 0373/1832] Move keyboard USB IDs and strings to data driven: 0-9 (#16481) --- keyboards/0xc7/61key/config.h | 9 +-------- keyboards/0xc7/61key/info.json | 6 ++++++ keyboards/0xcb/1337/config.h | 7 ------- keyboards/0xcb/1337/info.json | 8 +++++++- keyboards/0xcb/static/config.h | 6 ------ keyboards/0xcb/static/info.json | 8 +++++++- keyboards/10bleoledhub/config.h | 5 ----- keyboards/10bleoledhub/info.json | 6 ++++++ keyboards/1upkeyboards/1up60hse/config.h | 7 ------- keyboards/1upkeyboards/1up60hse/info.json | 6 ++++++ keyboards/1upkeyboards/1up60hte/config.h | 7 ------- keyboards/1upkeyboards/1up60hte/info.json | 6 ++++++ keyboards/1upkeyboards/1up60rgb/config.h | 7 ------- keyboards/1upkeyboards/1up60rgb/info.json | 8 +++++++- keyboards/1upkeyboards/super16/config.h | 7 ------- keyboards/1upkeyboards/super16/info.json | 6 ++++++ keyboards/1upkeyboards/super16v2/config.h | 7 ------- keyboards/1upkeyboards/super16v2/info.json | 8 +++++++- keyboards/25keys/cassette42/config.h | 8 -------- keyboards/25keys/cassette42/info.json | 12 +++++++++--- keyboards/2key2crawl/config.h | 7 ------- keyboards/2key2crawl/info.json | 8 +++++++- keyboards/30wer/config.h | 7 ------- keyboards/30wer/info.json | 12 +++++++++--- keyboards/3keyecosystem/2key2/config.h | 7 ------- keyboards/3keyecosystem/2key2/info.json | 8 +++++++- keyboards/40percentclub/25/config.h | 7 ------- keyboards/40percentclub/25/info.json | 8 +++++++- keyboards/40percentclub/4pack/config.h | 7 ------- keyboards/40percentclub/4pack/info.json | 12 +++++++++--- keyboards/40percentclub/4x4/config.h | 7 ------- keyboards/40percentclub/4x4/info.json | 8 +++++++- keyboards/40percentclub/5x5/config.h | 7 ------- keyboards/40percentclub/5x5/info.json | 8 +++++++- keyboards/40percentclub/6lit/config.h | 7 ------- keyboards/40percentclub/6lit/info.json | 8 +++++++- keyboards/40percentclub/foobar/config.h | 7 ------- keyboards/40percentclub/foobar/info.json | 8 +++++++- keyboards/40percentclub/gherkin/config.h | 7 ------- keyboards/40percentclub/gherkin/info.json | 6 ++++++ keyboards/40percentclub/half_n_half/config.h | 7 ------- keyboards/40percentclub/half_n_half/info.json | 6 ++++++ keyboards/40percentclub/i75/config.h | 7 ------- keyboards/40percentclub/i75/info.json | 6 ++++++ keyboards/40percentclub/luddite/config.h | 7 ------- keyboards/40percentclub/luddite/info.json | 6 ++++++ keyboards/40percentclub/mf68/config.h | 7 ------- keyboards/40percentclub/mf68/info.json | 6 ++++++ keyboards/40percentclub/nano/config.h | 7 ------- keyboards/40percentclub/nano/info.json | 6 ++++++ keyboards/40percentclub/nein/config.h | 7 ------- keyboards/40percentclub/nein/info.json | 8 +++++++- keyboards/40percentclub/nori/config.h | 7 ------- keyboards/40percentclub/nori/info.json | 8 +++++++- keyboards/40percentclub/polyandry/config.h | 7 ------- keyboards/40percentclub/polyandry/info.json | 8 +++++++- keyboards/40percentclub/sixpack/config.h | 7 ------- keyboards/40percentclub/sixpack/info.json | 6 ++++++ keyboards/40percentclub/tomato/config.h | 7 ------- keyboards/40percentclub/tomato/info.json | 6 ++++++ keyboards/40percentclub/ut47/config.h | 7 ------- keyboards/40percentclub/ut47/info.json | 8 +++++++- keyboards/45_ats/config.h | 7 ------- keyboards/45_ats/info.json | 8 +++++++- keyboards/4by3/config.h | 7 ------- keyboards/4by3/info.json | 6 ++++++ keyboards/7c8/framework/config.h | 6 ------ keyboards/7c8/framework/info.json | 6 ++++++ keyboards/9key/config.h | 7 ------- keyboards/9key/info.json | 8 +++++++- 70 files changed, 237 insertions(+), 269 deletions(-) diff --git a/keyboards/0xc7/61key/config.h b/keyboards/0xc7/61key/config.h index d83a855572e8..d1edf3284e1c 100644 --- a/keyboards/0xc7/61key/config.h +++ b/keyboards/0xc7/61key/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xE117 -#define PRODUCT_ID 0x6161 -#define DEVICE_VER 0x0001 -#define MANUFACTURER 0xC7 -#define PRODUCT 61Key - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 14 @@ -149,4 +142,4 @@ along with this program. If not, see . /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/0xc7/61key/info.json b/keyboards/0xc7/61key/info.json index 02070e87c906..9ed798c93bcc 100644 --- a/keyboards/0xc7/61key/info.json +++ b/keyboards/0xc7/61key/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "61Key", + "manufacturer": "0xC7", "url": "", "maintainer": "RealEmanGaming", + "usb": { + "vid": "0xE117", + "pid": "0x6161", + "device_version": "0.0.1" + }, "layout_aliases": { "LAYOUT": "LAYOUT_60_ansi" }, diff --git a/keyboards/0xcb/1337/config.h b/keyboards/0xcb/1337/config.h index d134d1ab49dc..3b34af658061 100644 --- a/keyboards/0xcb/1337/config.h +++ b/keyboards/0xcb/1337/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" // clang-format off -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xCB00 -#define PRODUCT_ID 0x1337 -#define DEVICE_VER 0x0001 -#define MANUFACTURER 0xCB -#define PRODUCT 1337 - /* key matrix size */ #define MATRIX_ROWS 3 #define MATRIX_COLS 3 diff --git a/keyboards/0xcb/1337/info.json b/keyboards/0xcb/1337/info.json index 25899933cb1a..cd5993ee0d59 100644 --- a/keyboards/0xcb/1337/info.json +++ b/keyboards/0xcb/1337/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "0xCB 1337", + "keyboard_name": "1337", + "manufacturer": "0xCB", "url": "https://0xCB.dev", "maintainer": "Conor-Burns", + "usb": { + "vid": "0xCB00", + "pid": "0x1337", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/0xcb/static/config.h b/keyboards/0xcb/static/config.h index c30450b460dc..9c3a0c664963 100644 --- a/keyboards/0xcb/static/config.h +++ b/keyboards/0xcb/static/config.h @@ -18,12 +18,6 @@ along with this program. If not, see . #include "config_common.h" // clang-format off -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xCB00 -#define PRODUCT_ID 0xA455 -#define DEVICE_VER 0x0001 -#define MANUFACTURER 0xCB -#define PRODUCT Static /* key matrix size */ #define MATRIX_ROWS 8 diff --git a/keyboards/0xcb/static/info.json b/keyboards/0xcb/static/info.json index 33fa8d265ea2..4a6232abad48 100644 --- a/keyboards/0xcb/static/info.json +++ b/keyboards/0xcb/static/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "0xCB Static", + "keyboard_name": "Static", + "manufacturer": "0xCB", "url": "https://0xCB.dev", "maintainer": "Conor-Burns", + "usb": { + "vid": "0xCB00", + "pid": "0xA455", + "device_version": "0.0.1" + }, "layout_aliases": { "LAYOUT": "LAYOUT_all" }, diff --git a/keyboards/10bleoledhub/config.h b/keyboards/10bleoledhub/config.h index d3e845fec96c..867589a27cb5 100644 --- a/keyboards/10bleoledhub/config.h +++ b/keyboards/10bleoledhub/config.h @@ -17,11 +17,6 @@ along with this program. If not, see .*/ #pragma once #include "config_common.h" -#define VENDOR_ID 0x7C88 // "hw" = haierwangwei2005 -#define PRODUCT_ID 0x7C99 // "10b" = 10bleoledhub -#define DEVICE_VER 0x0001 -#define MANUFACTURER haierwangwei2005 -#define PRODUCT 10bleoledhub /* key matrix size */ #define MATRIX_ROWS 4 diff --git a/keyboards/10bleoledhub/info.json b/keyboards/10bleoledhub/info.json index 769c98874d9c..ec468454b135 100644 --- a/keyboards/10bleoledhub/info.json +++ b/keyboards/10bleoledhub/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "10bleoledhub", + "manufacturer": "haierwangwei2005", "url": "https://github.com/haierwangwei2005/10BLE-OLED-HUB", "maintainer": "haierwangwei2005", + "usb": { + "vid": "0x7C88", + "pid": "0x7C99", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h index 7a7fa56fe50d..3f4f742b480d 100644 --- a/keyboards/1upkeyboards/1up60hse/config.h +++ b/keyboards/1upkeyboards/1up60hse/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x6F75 // OU -#define PRODUCT_ID 0x6873 -#define DEVICE_VER 0x0001 -#define MANUFACTURER 1upkeyboards -#define PRODUCT 1up60hse - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 14 diff --git a/keyboards/1upkeyboards/1up60hse/info.json b/keyboards/1upkeyboards/1up60hse/info.json index 7eca93d8a956..d6d87310d6c3 100644 --- a/keyboards/1upkeyboards/1up60hse/info.json +++ b/keyboards/1upkeyboards/1up60hse/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "1up60hse", + "manufacturer": "1upkeyboards", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x6F75", + "pid": "0x6873", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] diff --git a/keyboards/1upkeyboards/1up60hte/config.h b/keyboards/1upkeyboards/1up60hte/config.h index 81fa0e1eb6dd..256af396e538 100644 --- a/keyboards/1upkeyboards/1up60hte/config.h +++ b/keyboards/1upkeyboards/1up60hte/config.h @@ -20,13 +20,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x6F75 // OU -#define PRODUCT_ID 0x6874 // HT -#define DEVICE_VER 0x0001 -#define MANUFACTURER 1upkeyboards -#define PRODUCT 1up60hte - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 14 diff --git a/keyboards/1upkeyboards/1up60hte/info.json b/keyboards/1upkeyboards/1up60hte/info.json index 830c6e289fde..3a4a716d9668 100644 --- a/keyboards/1upkeyboards/1up60hte/info.json +++ b/keyboards/1upkeyboards/1up60hte/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "1up60hte", + "manufacturer": "1upkeyboards", "url": "https://www.1upkeyboards.com/shop/controllers/1up-rgb-60-pcb-hte/", "maintainer": "1upkeyboards", + "usb": { + "vid": "0x6F75", + "pid": "0x6874", + "device_version": "0.0.1" + }, "layout_aliases": { "LAYOUT_tsangan": "LAYOUT_60_tsangan_hhkb" }, diff --git a/keyboards/1upkeyboards/1up60rgb/config.h b/keyboards/1upkeyboards/1up60rgb/config.h index c78fc3e52b5f..00cff570b137 100644 --- a/keyboards/1upkeyboards/1up60rgb/config.h +++ b/keyboards/1upkeyboards/1up60rgb/config.h @@ -2,13 +2,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x6F75 // OU -#define PRODUCT_ID 0x7267 // RG -#define DEVICE_VER 0x0001 -#define MANUFACTURER 1upkeyboards -#define PRODUCT 1UP RGB Underglow PCB - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 diff --git a/keyboards/1upkeyboards/1up60rgb/info.json b/keyboards/1upkeyboards/1up60rgb/info.json index 701088c46184..956ccb0afaed 100644 --- a/keyboards/1upkeyboards/1up60rgb/info.json +++ b/keyboards/1upkeyboards/1up60rgb/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "1up60rgb", + "keyboard_name": "1UP RGB Underglow PCB", + "manufacturer": "1upkeyboards", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x6F75", + "pid": "0x7267", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h index c0c0a7891b71..354f0680e820 100644 --- a/keyboards/1upkeyboards/super16/config.h +++ b/keyboards/1upkeyboards/super16/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x6F75 // "ou" -#define PRODUCT_ID 0x5516 // "U" 16 -#define DEVICE_VER 0x0001 -#define MANUFACTURER 1upkeyboards -#define PRODUCT super16 - /* key matrix size */ #define MATRIX_ROWS 4 #define MATRIX_COLS 4 diff --git a/keyboards/1upkeyboards/super16/info.json b/keyboards/1upkeyboards/super16/info.json index 261fde20a630..b437bb503851 100644 --- a/keyboards/1upkeyboards/super16/info.json +++ b/keyboards/1upkeyboards/super16/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "super16", + "manufacturer": "1upkeyboards", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x6F75", + "pid": "0x5516", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_ortho_4x4": { "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}] diff --git a/keyboards/1upkeyboards/super16v2/config.h b/keyboards/1upkeyboards/super16v2/config.h index 4fd4238780a8..77bb89d954f0 100644 --- a/keyboards/1upkeyboards/super16v2/config.h +++ b/keyboards/1upkeyboards/super16v2/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x6F75 // OU -#define PRODUCT_ID 0x5517 -#define DEVICE_VER 0x0001 -#define MANUFACTURER 1upkeyboards -#define PRODUCT super16v2 - /* key matrix size */ #define MATRIX_ROWS 4 #define MATRIX_COLS 4 diff --git a/keyboards/1upkeyboards/super16v2/info.json b/keyboards/1upkeyboards/super16v2/info.json index 2a384f775d56..891eaf316b49 100644 --- a/keyboards/1upkeyboards/super16v2/info.json +++ b/keyboards/1upkeyboards/super16v2/info.json @@ -1,10 +1,16 @@ { "keyboard_name": "super16v2", + "manufacturer": "1upkeyboards", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x6F75", + "pid": "0x5517", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_ortho_4x4": { "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}] } } - } \ No newline at end of file + } diff --git a/keyboards/25keys/cassette42/config.h b/keyboards/25keys/cassette42/config.h index cac03f6346c0..71621695f4a5 100644 --- a/keyboards/25keys/cassette42/config.h +++ b/keyboards/25keys/cassette42/config.h @@ -19,14 +19,6 @@ along with this program. If not, see . #include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0xCA42 -#define DEVICE_VER 0x0001 -#define MANUFACTURER monksoffunk -#define PRODUCT cassette42 - /* key matrix size */ #define MATRIX_ROWS 1 #define MATRIX_COLS 6 diff --git a/keyboards/25keys/cassette42/info.json b/keyboards/25keys/cassette42/info.json index 87c67df95165..4fe088f9e6b1 100644 --- a/keyboards/25keys/cassette42/info.json +++ b/keyboards/25keys/cassette42/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "cassette42", - "url": "http://www.sho-k.co.uk/tech/1246.html", - "maintainer": "monksoffunk", + "keyboard_name": "cassette42", + "manufacturer": "monksoffunk", + "url": "http://www.sho-k.co.uk/tech/1246.html", + "maintainer": "monksoffunk", + "usb": { + "vid": "0xFEED", + "pid": "0xCA42", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT": { "layout": [{"x":0.5, "y":0.75}, {"x":2.5, "y":0.75}, {"x":0, "y":1.75}, {"x":1, "y":1.75}, {"x":2, "y":1.75}, {"x":3, "y":1.75}] diff --git a/keyboards/2key2crawl/config.h b/keyboards/2key2crawl/config.h index 27a94a00ca70..f6fc6f8c1eaa 100644 --- a/keyboards/2key2crawl/config.h +++ b/keyboards/2key2crawl/config.h @@ -2,13 +2,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6090 -#define DEVICE_VER 0x0002 -#define MANUFACTURER WoodKeys.click -#define PRODUCT 2Key2Crawl - /* key matrix size */ #define MATRIX_ROWS 2 #define MATRIX_COLS 7 diff --git a/keyboards/2key2crawl/info.json b/keyboards/2key2crawl/info.json index cc48e811382b..c2cad9847050 100644 --- a/keyboards/2key2crawl/info.json +++ b/keyboards/2key2crawl/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "2Key2CrawlPad", + "keyboard_name": "2Key2Crawl", + "manufacturer": "WoodKeys.click", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0xFEED", + "pid": "0x6090", + "device_version": "0.0.2" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/30wer/config.h b/keyboards/30wer/config.h index d4f656edca92..65a54cba4ab2 100644 --- a/keyboards/30wer/config.h +++ b/keyboards/30wer/config.h @@ -2,13 +2,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x1234 -#define PRODUCT_ID 0x5678 -#define DEVICE_VER 0x0000 -#define MANUFACTURER 8o7wer -#define PRODUCT 30wer - /* key matrix size */ #define MATRIX_ROWS 3 #define MATRIX_COLS 13 diff --git a/keyboards/30wer/info.json b/keyboards/30wer/info.json index 18ea404fd22b..62fee361a075 100644 --- a/keyboards/30wer/info.json +++ b/keyboards/30wer/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "30wer", - "url": "", - "maintainer": "qmk", + "keyboard_name": "30wer", + "manufacturer": "8o7wer", + "url": "", + "maintainer": "qmk", + "usb": { + "vid": "0x1234", + "pid": "0x5678", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/3keyecosystem/2key2/config.h b/keyboards/3keyecosystem/2key2/config.h index 4ca0e830ee86..58010eea5513 100644 --- a/keyboards/3keyecosystem/2key2/config.h +++ b/keyboards/3keyecosystem/2key2/config.h @@ -18,13 +18,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x1209 -#define PRODUCT_ID 0x3304 -#define DEVICE_VER 0x0001 -#define MANUFACTURER 3-Key-Ecosystem -#define PRODUCT 2key2 - /* key matrix size */ #define MATRIX_ROWS 1 #define MATRIX_COLS 2 diff --git a/keyboards/3keyecosystem/2key2/info.json b/keyboards/3keyecosystem/2key2/info.json index 49caf91b5a3a..79e999cc1608 100644 --- a/keyboards/3keyecosystem/2key2/info.json +++ b/keyboards/3keyecosystem/2key2/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "3-Key-Ecosystem 2key2: 2x1 macro-keyboard", + "keyboard_name": "2key2", + "manufacturer": "3-Key-Ecosystem", "url": "https://github.com/softplus/3keyecosystem/tree/main/2key2", "maintainer": "softplus", + "usb": { + "vid": "0x1209", + "pid": "0x3304", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h index d478131e95c0..292854f68f1c 100644 --- a/keyboards/40percentclub/25/config.h +++ b/keyboards/40percentclub/25/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 // 40% -#define PRODUCT_ID 0x0F25 -#define DEVICE_VER 0x0100 -#define MANUFACTURER di0ib -#define PRODUCT The 5x5 Keyboard - #define USE_SERIAL /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D0 diff --git a/keyboards/40percentclub/25/info.json b/keyboards/40percentclub/25/info.json index 1e86454125c7..15995f84797b 100644 --- a/keyboards/40percentclub/25/info.json +++ b/keyboards/40percentclub/25/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "foobar", + "keyboard_name": "The 5x5 Keyboard", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x0F25", + "device_version": "1.0.0" + }, "layouts": { "LAYOUT_ortho_5x5": { "layout": [ diff --git a/keyboards/40percentclub/4pack/config.h b/keyboards/40percentclub/4pack/config.h index 023df5fc4eee..305e71e542e9 100644 --- a/keyboards/40percentclub/4pack/config.h +++ b/keyboards/40percentclub/4pack/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x0000 -#define DEVICE_VER 0x0001 -#define MANUFACTURER 40percentclub -#define PRODUCT 4pack - /* key matrix size */ #define MATRIX_ROWS 1 #define MATRIX_COLS 4 diff --git a/keyboards/40percentclub/4pack/info.json b/keyboards/40percentclub/4pack/info.json index d328a999c297..e8e0463ab6dc 100644 --- a/keyboards/40percentclub/4pack/info.json +++ b/keyboards/40percentclub/4pack/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "4pack", - "url": "", - "maintainer": "qmk", + "keyboard_name": "4pack", + "manufacturer": "40percentclub", + "url": "", + "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x0000", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT": { "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}] diff --git a/keyboards/40percentclub/4x4/config.h b/keyboards/40percentclub/4x4/config.h index 439aa1b1479e..b74eb62c1e8f 100644 --- a/keyboards/40percentclub/4x4/config.h +++ b/keyboards/40percentclub/4x4/config.h @@ -4,13 +4,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 //"40 %", since 0x3430 is already registered. -#define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x4444 -#define MANUFACTURER di0ib -#define PRODUCT The 4x4 Keyboard - /* key matrix size */ #define MATRIX_ROWS 4 #define MATRIX_COLS 16 diff --git a/keyboards/40percentclub/4x4/info.json b/keyboards/40percentclub/4x4/info.json index 96a08d3fd531..f0e55b4c2340 100644 --- a/keyboards/40percentclub/4x4/info.json +++ b/keyboards/40percentclub/4x4/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "40percent.club 4x4", + "keyboard_name": "The 4x4 Keyboard", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x0A0C", + "device_version": "44.4.4" + }, "layouts": { "LAYOUT_ortho_4x4": { "layout": [ diff --git a/keyboards/40percentclub/5x5/config.h b/keyboards/40percentclub/5x5/config.h index c3bb5d6380c7..62d63b8afa4a 100644 --- a/keyboards/40percentclub/5x5/config.h +++ b/keyboards/40percentclub/5x5/config.h @@ -4,13 +4,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 // 40% -#define PRODUCT_ID 0x05B5 -#define DEVICE_VER 0x0100 -#define MANUFACTURER di0ib -#define PRODUCT The 5x5 Keyboard - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 diff --git a/keyboards/40percentclub/5x5/info.json b/keyboards/40percentclub/5x5/info.json index bb6b836ba991..94ffc2d9d29c 100644 --- a/keyboards/40percentclub/5x5/info.json +++ b/keyboards/40percentclub/5x5/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "40percent.club 5x5", + "keyboard_name": "The 5x5 Keyboard", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x05B5", + "device_version": "1.0.0" + }, "layouts": { "LAYOUT_ortho_5x5": { "layout": [ diff --git a/keyboards/40percentclub/6lit/config.h b/keyboards/40percentclub/6lit/config.h index ae4ee1bad87d..e402932b2191 100644 --- a/keyboards/40percentclub/6lit/config.h +++ b/keyboards/40percentclub/6lit/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 // 40% -#define PRODUCT_ID 0x0F61 -#define DEVICE_VER 0x0100 -#define MANUFACTURER di0ib -#define PRODUCT The 6lit Macropad - #define USE_SERIAL /* serial.c configuration for split keyboard */ diff --git a/keyboards/40percentclub/6lit/info.json b/keyboards/40percentclub/6lit/info.json index 8308847f6cbe..a844a044e208 100644 --- a/keyboards/40percentclub/6lit/info.json +++ b/keyboards/40percentclub/6lit/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "6lit", + "keyboard_name": "The 6lit Macropad", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x0F61", + "device_version": "1.0.0" + }, "layouts": { "LAYOUT_ortho_2x3": { "layout": [ diff --git a/keyboards/40percentclub/foobar/config.h b/keyboards/40percentclub/foobar/config.h index 1e91d3bd10bb..3f6cb1f10c3c 100644 --- a/keyboards/40percentclub/foobar/config.h +++ b/keyboards/40percentclub/foobar/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 // 40% -#define PRODUCT_ID 0x0F00 -#define DEVICE_VER 0x0100 -#define MANUFACTURER di0ib -#define PRODUCT The foobar Keyboard - #define USE_SERIAL /* serial.c configuration for split keyboard */ diff --git a/keyboards/40percentclub/foobar/info.json b/keyboards/40percentclub/foobar/info.json index b825ed0267e1..832e65bfc61c 100644 --- a/keyboards/40percentclub/foobar/info.json +++ b/keyboards/40percentclub/foobar/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "foobar", + "keyboard_name": "The foobar Keyboard", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x0F00", + "device_version": "1.0.0" + }, "layouts": { "LAYOUT_ortho_3x5": { "layout": [ diff --git a/keyboards/40percentclub/gherkin/config.h b/keyboards/40percentclub/gherkin/config.h index 6373ea2e60db..e7062990cb37 100644 --- a/keyboards/40percentclub/gherkin/config.h +++ b/keyboards/40percentclub/gherkin/config.h @@ -2,13 +2,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 //"40 %", since 0x3430 is already registered. -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER 40 Percent Club -#define PRODUCT Gherkin - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 6 diff --git a/keyboards/40percentclub/gherkin/info.json b/keyboards/40percentclub/gherkin/info.json index b4600eba0059..86938754494c 100644 --- a/keyboards/40percentclub/gherkin/info.json +++ b/keyboards/40percentclub/gherkin/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "Gherkin", + "manufacturer": "40 Percent Club", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x6060", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_ortho_3x10": { "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}] diff --git a/keyboards/40percentclub/half_n_half/config.h b/keyboards/40percentclub/half_n_half/config.h index 0c819031da2a..292ac485bd1a 100644 --- a/keyboards/40percentclub/half_n_half/config.h +++ b/keyboards/40percentclub/half_n_half/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 // 40% -#define PRODUCT_ID 0x4A1F -#define DEVICE_VER 0x0100 -#define MANUFACTURER di0ib -#define PRODUCT half_n_half - /* key matrix size */ #define MATRIX_ROWS 4*2 #define MATRIX_COLS 7 diff --git a/keyboards/40percentclub/half_n_half/info.json b/keyboards/40percentclub/half_n_half/info.json index 57a65424f00a..1b7f12940126 100644 --- a/keyboards/40percentclub/half_n_half/info.json +++ b/keyboards/40percentclub/half_n_half/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "half_n_half", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x4A1F", + "device_version": "1.0.0" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/40percentclub/i75/config.h b/keyboards/40percentclub/i75/config.h index bacf9eb30f77..bce564c042aa 100644 --- a/keyboards/40percentclub/i75/config.h +++ b/keyboards/40percentclub/i75/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x0175 -#define MANUFACTURER di0ib -#define PRODUCT i75 - /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 diff --git a/keyboards/40percentclub/i75/info.json b/keyboards/40percentclub/i75/info.json index 7e705cdf8638..1753d4230977 100644 --- a/keyboards/40percentclub/i75/info.json +++ b/keyboards/40percentclub/i75/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "i75", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x0A0C", + "device_version": "1.7.5" + }, "layouts": { "LAYOUT_ortho_5x15": { "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"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":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] diff --git a/keyboards/40percentclub/luddite/config.h b/keyboards/40percentclub/luddite/config.h index 3f15523c89ab..3924841b0465 100644 --- a/keyboards/40percentclub/luddite/config.h +++ b/keyboards/40percentclub/luddite/config.h @@ -2,13 +2,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 // "40%", changed since 0x3430 is already officially registered -#define PRODUCT_ID 0x4C55 // "LU" -#define DEVICE_VER 0x1001 -#define MANUFACTURER di0ib -#define PRODUCT Luddite - /* key matrix size */ #define MATRIX_ROWS 8 #define MATRIX_COLS 8 diff --git a/keyboards/40percentclub/luddite/info.json b/keyboards/40percentclub/luddite/info.json index 45a446e818de..565880a16565 100644 --- a/keyboards/40percentclub/luddite/info.json +++ b/keyboards/40percentclub/luddite/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "Luddite", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x4C55", + "device_version": "10.0.1" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ diff --git a/keyboards/40percentclub/mf68/config.h b/keyboards/40percentclub/mf68/config.h index 7ebe5ae1b3d1..2ed8c8719550 100644 --- a/keyboards/40percentclub/mf68/config.h +++ b/keyboards/40percentclub/mf68/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 // "40%", changed since 0x3430 is already officially registered -#define PRODUCT_ID 0x4D68 // "M68" -#define DEVICE_VER 0x0101 -#define MANUFACTURER di0ib -#define PRODUCT MF68 - /* key matrix size */ #define MATRIX_ROWS 8 #define MATRIX_COLS 9 diff --git a/keyboards/40percentclub/mf68/info.json b/keyboards/40percentclub/mf68/info.json index 873824edb0df..5a8164bcb44c 100644 --- a/keyboards/40percentclub/mf68/info.json +++ b/keyboards/40percentclub/mf68/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "MF68", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x4D68", + "device_version": "1.0.1" + }, "layouts": { "LAYOUT_68_ansi": { "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"x":15.25, "y":1}, {"x":16.25, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"x":15.25, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"x":14.25, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}] diff --git a/keyboards/40percentclub/nano/config.h b/keyboards/40percentclub/nano/config.h index c6d66a1bb3d0..7d789cff049c 100644 --- a/keyboards/40percentclub/nano/config.h +++ b/keyboards/40percentclub/nano/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 //"40 %", to make it consistent with other 40percent.club boards. -#define PRODUCT_ID 0x0007 -#define DEVICE_VER 0x0001 -#define MANUFACTURER di0ib -#define PRODUCT Nano - /* key matrix size */ #define MATRIX_ROWS 2 #define MATRIX_COLS 4 diff --git a/keyboards/40percentclub/nano/info.json b/keyboards/40percentclub/nano/info.json index 35eff7e960ce..914b32aaa443 100644 --- a/keyboards/40percentclub/nano/info.json +++ b/keyboards/40percentclub/nano/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "Nano", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x0007", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_ortho_2x4": { "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}] diff --git a/keyboards/40percentclub/nein/config.h b/keyboards/40percentclub/nein/config.h index 87c62673f968..4dfb143e52e7 100644 --- a/keyboards/40percentclub/nein/config.h +++ b/keyboards/40percentclub/nein/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 // "40%", changed since 0x3430 is already officially registered -#define PRODUCT_ID 0x9999 -#define DEVICE_VER 0x9999 -#define MANUFACTURER di0ib -#define PRODUCT The nein Keyboard - /* key matrix size */ #define MATRIX_ROWS 3 #define MATRIX_COLS 3 diff --git a/keyboards/40percentclub/nein/info.json b/keyboards/40percentclub/nein/info.json index 6d948877d167..812853d0fef1 100644 --- a/keyboards/40percentclub/nein/info.json +++ b/keyboards/40percentclub/nein/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "nein", + "keyboard_name": "The nein Keyboard", + "manufacturer": "di0ib", "url": "http://www.40percent.club/2019/04/nein.html", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "vid": "0x9999", + "device_version": "99.9.9" + }, "layouts": { "LAYOUT_ortho_3x3": { "layout": [ diff --git a/keyboards/40percentclub/nori/config.h b/keyboards/40percentclub/nori/config.h index 882da633e074..0fed3daf1110 100644 --- a/keyboards/40percentclub/nori/config.h +++ b/keyboards/40percentclub/nori/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x0444 -#define MANUFACTURER di0ib -#define PRODUCT The nori Keyboard - /* key matrix size */ #define MATRIX_ROWS 4 #define MATRIX_COLS 12 diff --git a/keyboards/40percentclub/nori/info.json b/keyboards/40percentclub/nori/info.json index 9de33d52f04d..536696670523 100644 --- a/keyboards/40percentclub/nori/info.json +++ b/keyboards/40percentclub/nori/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "nori", + "keyboard_name": "The nori Keyboard", + "manufacturer": "di0ib", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0xA0C", + "device_version": "4.4.4" + }, "layouts": { "LAYOUT_ortho_4x4": { "layout": [ diff --git a/keyboards/40percentclub/polyandry/config.h b/keyboards/40percentclub/polyandry/config.h index 6f04d12297c3..1fd3e22f49be 100644 --- a/keyboards/40percentclub/polyandry/config.h +++ b/keyboards/40percentclub/polyandry/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER di0ib -#define PRODUCT Polypad - /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 diff --git a/keyboards/40percentclub/polyandry/info.json b/keyboards/40percentclub/polyandry/info.json index d0d1a00f86c8..3572b38c233a 100644 --- a/keyboards/40percentclub/polyandry/info.json +++ b/keyboards/40percentclub/polyandry/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "Polyandry", + "keyboard_name": "Polypad", + "manufacturer": "di0ib", "url": "", "maintainer": "QMK", + "usb": { + "vid": "0x4025", + "pid": "0x6060", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/40percentclub/sixpack/config.h b/keyboards/40percentclub/sixpack/config.h index edb123c4b9c2..4ddad2efb762 100644 --- a/keyboards/40percentclub/sixpack/config.h +++ b/keyboards/40percentclub/sixpack/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 //"40 %", since 0x3430 is already registered. -#define PRODUCT_ID 0x5350 // "SP" -#define DEVICE_VER 0x1001 -#define MANUFACTURER di0ib -#define PRODUCT Six Pack - /* key matrix size */ #define MATRIX_ROWS 2 #define MATRIX_COLS 3 diff --git a/keyboards/40percentclub/sixpack/info.json b/keyboards/40percentclub/sixpack/info.json index 3e02a01bc2fd..b99c24a61765 100644 --- a/keyboards/40percentclub/sixpack/info.json +++ b/keyboards/40percentclub/sixpack/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "Six Pack", + "manufacturer": "di0ib", "url": "https://www.40percent.club/2017/05/six-pack-11.html", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x5350", + "device_version": "10.0.1" + }, "layouts": { "LAYOUT_ortho_2x3": { "layout": [ diff --git a/keyboards/40percentclub/tomato/config.h b/keyboards/40percentclub/tomato/config.h index 8f06341aad84..b6534622eafa 100644 --- a/keyboards/40percentclub/tomato/config.h +++ b/keyboards/40percentclub/tomato/config.h @@ -2,13 +2,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x546F //"To", was duplicate with polyandry -#define DEVICE_VER 0x0001 -#define MANUFACTURER 40 Percent Club -#define PRODUCT Tomato - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 6 diff --git a/keyboards/40percentclub/tomato/info.json b/keyboards/40percentclub/tomato/info.json index 57bcfd17a303..1ecaa84affaf 100644 --- a/keyboards/40percentclub/tomato/info.json +++ b/keyboards/40percentclub/tomato/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "Tomato", + "manufacturer": "40 Percent Club", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x546F", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_ortho_3x10": { "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}] diff --git a/keyboards/40percentclub/ut47/config.h b/keyboards/40percentclub/ut47/config.h index 7ead58e09647..3724e4b2d57a 100644 --- a/keyboards/40percentclub/ut47/config.h +++ b/keyboards/40percentclub/ut47/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4025 -#define PRODUCT_ID 0x7574 //"ut" -#define DEVICE_VER 0x0001 -#define MANUFACTURER 40percent.club -#define PRODUCT ut47 - /* key matrix size */ #define MATRIX_ROWS 4 #define MATRIX_COLS 12 diff --git a/keyboards/40percentclub/ut47/info.json b/keyboards/40percentclub/ut47/info.json index 4993bebb0fc0..e3173098e4b1 100644 --- a/keyboards/40percentclub/ut47/info.json +++ b/keyboards/40percentclub/ut47/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "UT47", + "keyboard_name": "ut47", + "manufacturer": "40percent.club", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "vid": "0x7574", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT": { "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Backspace", "x":11, "y":0, "w":1.5}, {"label":"LT(3) / Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.25}, {"label":"Shift", "x":0, "y":2, "w":1.5}, {"label":"Z", "x":1.5, "y":2}, {"label":"X", "x":2.5, "y":2}, {"label":"C", "x":3.5, "y":2}, {"label":"V", "x":4.5, "y":2}, {"label":"B", "x":5.5, "y":2}, {"label":"N", "x":6.5, "y":2}, {"label":"M", "x":7.5, "y":2}, {"label":"<", "x":8.5, "y":2}, {"label":">", "x":9.5, "y":2}, {"label":"?", "x":10.5, "y":2}, {"label":"Shift / Enter", "x":11.5, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Alt", "x":1, "y":3}, {"label":"GUI", "x":2, "y":3}, {"label":"Menu", "x":3, "y":3}, {"label":"MO(2)", "x":4, "y":3, "w":1.25}, {"x":5.25, "y":3, "w":2}, {"label":"MO(1)", "x":7.25, "y":3, "w":1.25}, {"label":"\u2190", "x":8.5, "y":3}, {"label":"\u2193", "x":9.5, "y":3}, {"label":"\u2191", "x":10.5, "y":3}, {"label":"\u2192", "x":11.5, "y":3}] diff --git a/keyboards/45_ats/config.h b/keyboards/45_ats/config.h index 4733095bc134..8177f89038d0 100644 --- a/keyboards/45_ats/config.h +++ b/keyboards/45_ats/config.h @@ -20,13 +20,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xAB13 -#define PRODUCT_ID 0x4511 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Abec13 -#define PRODUCT 45ATS - /* key matrix size */ #define MATRIX_ROWS 4 #define MATRIX_COLS 14 diff --git a/keyboards/45_ats/info.json b/keyboards/45_ats/info.json index 2ea14357ee4d..268af942feaf 100644 --- a/keyboards/45_ats/info.json +++ b/keyboards/45_ats/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "45-ATS", + "keyboard_name": "45ATS", + "manufacturer": "Abec13", "url": "", "maintainer": "The-Royal", + "usb": { + "vid": "0xAB13", + "pid": "0x4511", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_split_space": { "layout": [ diff --git a/keyboards/4by3/config.h b/keyboards/4by3/config.h index daaafb02a6ff..27ad7441cc86 100644 --- a/keyboards/4by3/config.h +++ b/keyboards/4by3/config.h @@ -2,13 +2,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xEEEE -#define PRODUCT_ID 0x2019 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Elias Sjögreen -#define PRODUCT 4by3 - /* key matrix size */ #define MATRIX_ROWS 3 #define MATRIX_COLS 4 diff --git a/keyboards/4by3/info.json b/keyboards/4by3/info.json index 50f7c44b4f8c..24a2b3d34a31 100644 --- a/keyboards/4by3/info.json +++ b/keyboards/4by3/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "4by3", + "manufacturer": "Elias Sjögreen", "url": "https://github.com/eliassjogreen/4by3", "maintainer": "eliassjogreen", + "usb": { + "vid": "0xEEEE", + "pid": "0x2019", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_horizontal": { "layout": [ diff --git a/keyboards/7c8/framework/config.h b/keyboards/7c8/framework/config.h index 44a69bf4e58f..5ed43862ccfb 100644 --- a/keyboards/7c8/framework/config.h +++ b/keyboards/7c8/framework/config.h @@ -17,12 +17,6 @@ #pragma once #include "config_common.h" -#define VENDOR_ID 0x77C8 -#define PRODUCT_ID 0x0001 -#define DEVICE_VER 0x0000 -#define MANUFACTURER 7c8 -#define PRODUCT Framework - #define MATRIX_ROWS 10 #define MATRIX_COLS 6 diff --git a/keyboards/7c8/framework/info.json b/keyboards/7c8/framework/info.json index f78ea1eb580f..1a2c0b300bba 100644 --- a/keyboards/7c8/framework/info.json +++ b/keyboards/7c8/framework/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "Framework", + "manufacturer": "7c8", "url": "", "maintainer": "stevennguyen", + "usb": { + "vid": "0x77C8", + "pid": "0x0001", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_ortho_5x12": { "layout": [ diff --git a/keyboards/9key/config.h b/keyboards/9key/config.h index b0462eb50fe2..622ccc7ae9c3 100644 --- a/keyboards/9key/config.h +++ b/keyboards/9key/config.h @@ -19,13 +19,6 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0007 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Bishop Keyboards -#define PRODUCT 9Key - /* key matrix size */ #define MATRIX_ROWS 3 #define MATRIX_COLS 3 diff --git a/keyboards/9key/info.json b/keyboards/9key/info.json index 326a63b12ca8..5508697df658 100644 --- a/keyboards/9key/info.json +++ b/keyboards/9key/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "9key", + "keyboard_name": "9Key", + "manufacturer": "Bishop Keyboards", "url": "", "maintainer": "qmk", + "usb": { + "vid": "0xFEED", + "pid": "0x0007", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT": { "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}] From dde4120a1e2b4234e68e40e47f02a7c166fbf90f Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 14 Mar 2022 10:55:47 +1100 Subject: [PATCH 0374/1832] ISP flashing guide: add instructions for flashing STM32duino bootloader (#16568) --- docs/isp_flashing_guide.md | 92 +++++++++++++++++++++++++++++++++++++- 1 file changed, 91 insertions(+), 1 deletion(-) diff --git a/docs/isp_flashing_guide.md b/docs/isp_flashing_guide.md index febb34c57406..08f56e987b0e 100644 --- a/docs/isp_flashing_guide.md +++ b/docs/isp_flashing_guide.md @@ -4,7 +4,7 @@ In order to flash a microcontroller over USB, it needs something called a bootlo However, it can sometimes happen that the bootloader becomes corrupted and needs reflashing, or you may want to change the bootloader to another one. It's not possible to do this with the existing bootloader, because, of course, it is already running, and cannot overwrite itself. Instead, you will need to ISP flash the microcontroller. -There are several different kinds of bootloaders available for AVR microcontrollers. Most STM32 ARM-based microcontrollers already have a USB-capable bootloader in ROM, so generally do not need to be ISP flashed. +There are several different kinds of bootloaders available for AVR microcontrollers. Most STM32 ARM-based microcontrollers already have a USB-capable bootloader in ROM, so generally do not need to be ISP flashed. The one current exception is the [STM32F103](#flashing-stm32duino-bootloader). ## Hardware @@ -260,3 +260,93 @@ For mass production purposes, it is possible to join the bootloader and QMK firm 4. Save it as a new file, for example `__production.hex`. You can then ISP flash this combined firmware instead, which allows you to skip the extra step of flashing the QMK firmware over USB. + +## Flashing STM32Duino Bootloader + +As mentioned above, *most* supported STM32 devices already possess a USB DFU bootloader which cannot be overwritten, however the ROM bootloader in the STM32F103 used on the Bluepill is not USB capable. In this case an ST-Link V2 dongle is required to upload the STM32Duino bootloader to the device. These can be readily purchased for relatively cheap on eBay and other places. + +This bootloader is a descendant of the Maple bootloader by Leaflabs, and is compatible with dfu-util. + +### Software + +To communicate with the ST-Link, you must install the following packages: + +* **macOS:** `brew install stlink openocd` +* **Windows (MSYS2):** `pacman -S mingw-w64-x86_64-stlink mingw-w64-x86_64-openocd` +* **Linux:** will vary by distribution, but will likely be `stlink` and `openocd` through your particular package manager + +Additionally, you may need to update the ST-Link's firmware with the [`STSW-LINK007`](https://www.st.com/en/development-tools/stsw-link007.html) application. Note you will be asked to provide your name and email address if you do not have an ST.com account (this does not create one). + +Finally, the bootloader binary itself can be downloaded from [here](https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/bootloader_only_binaries/generic_boot20_pc13.bin). + +### Wiring + +Connect the four-pin header on the end of the Bluepill to the matching pins on the ST-Link (the pinout will usually be printed on the side): + +|ST-Link |Bluepill| +|-------------|--------| +|`GND` (6) |`GND` | +|`SWCLK` (2) |`DCLK` | +|`SWDIO` (4) |`DIO` | +|`3.3V` (8) |`3.3` | + +### Flashing + +Firstly, make sure both jumpers on the Bluepill are set to 0. + +Check that the ST-Link can talk to the Bluepill by running `st-info --probe`: + +``` +Found 1 stlink programmers + version: V2J37S7 + serial: 2C1219002B135937334D4E00 + flash: 65536 (pagesize: 1024) + sram: 20480 + chipid: 0x0410 + descr: F1xx Medium-density +``` + +If the reported `chipid` is `0x0410`, everything is working. If it is `0x0000`, check your wiring, and try swapping the `SWDIO` and `SWCLK` pins, as some ST-Link dongles may have incorrect pinouts. + +Next, run the following command: + +``` +st-flash --reset --format binary write 0x08000000 +``` + +where `` is the path to the bootloader `.bin` file above. You can run this command from the directory you downloaded it to, so that you can simply pass in the filename. + +If all goes well, you should get output similar to the following: + +``` +st-flash 1.7.0 +2022-03-08T12:16:30 INFO common.c: F1xx Medium-density: 20 KiB SRAM, 64 KiB flash in at least 1 KiB pages. +file generic_boot20_pc13.bin md5 checksum: 333c30605e739ce9bedee5999fdaf81b, stlink checksum: 0x0008e534 +2022-03-08T12:16:30 INFO common.c: Attempting to write 7172 (0x1c04) bytes to stm32 address: 134217728 (0x8000000) +2022-03-08T12:16:30 INFO common.c: Flash page at addr: 0x08000000 erased +2022-03-08T12:16:30 INFO common.c: Flash page at addr: 0x08000400 erased +2022-03-08T12:16:31 INFO common.c: Flash page at addr: 0x08000800 erased +2022-03-08T12:16:31 INFO common.c: Flash page at addr: 0x08000c00 erased +2022-03-08T12:16:31 INFO common.c: Flash page at addr: 0x08001000 erased +2022-03-08T12:16:31 INFO common.c: Flash page at addr: 0x08001400 erased +2022-03-08T12:16:31 INFO common.c: Flash page at addr: 0x08001800 erased +2022-03-08T12:16:31 INFO common.c: Flash page at addr: 0x08001c00 erased +2022-03-08T12:16:31 INFO common.c: Finished erasing 8 pages of 1024 (0x400) bytes +2022-03-08T12:16:31 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL +2022-03-08T12:16:31 INFO flash_loader.c: Successfully loaded flash loader in sram +2022-03-08T12:16:31 INFO flash_loader.c: Clear DFSR + 8/ 8 pages written +2022-03-08T12:16:31 INFO common.c: Starting verification of write complete +2022-03-08T12:16:31 INFO common.c: Flash written and verified! jolly good! +2022-03-08T12:16:31 WARN common.c: NRST is not connected +``` + +Otherwise, if you receive an `Unknown memory region` error, run the following command to unlock the STM32F103: + +``` +openocd -f interface/stlink.cfg -f target/stm32f1x.cfg -c "init; reset halt; stm32f1x unlock 0; reset halt; exit" +``` + +Then re-plug the ST-Link and try again. + +After all of this, unplug the Bluepill from the ST-Link and connect it to USB. It should now be ready to flash using dfu-util, the QMK CLI or Toolbox. From 921b9dad6c37575215231b34a3492ffb38eaeec2 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 13 Mar 2022 17:01:47 -0700 Subject: [PATCH 0375/1832] [Core] Move `has_mouse_report_changed` function to `report.c` (#16543) * Move 'has_mouse_report_changed' checkto report.c * change mousekeys to use memcpy * fix linting issues --- quantum/mousekey.c | 24 ++++++++++++++---------- quantum/pointing_device.c | 13 +------------ quantum/pointing_device.h | 1 - tmk_core/protocol/report.c | 13 +++++++++++++ tmk_core/protocol/report.h | 4 ++++ 5 files changed, 32 insertions(+), 23 deletions(-) diff --git a/quantum/mousekey.c b/quantum/mousekey.c index 8bafbf977a7f..0cbb472045b7 100644 --- a/quantum/mousekey.c +++ b/quantum/mousekey.c @@ -209,7 +209,7 @@ static uint8_t wheel_unit(void) { void mousekey_task(void) { // report cursor and scroll movement independently - report_mouse_t const tmpmr = mouse_report; + report_mouse_t tmpmr = mouse_report; mouse_report.x = 0; mouse_report.y = 0; @@ -251,8 +251,10 @@ void mousekey_task(void) { } } - if (mouse_report.x || mouse_report.y || mouse_report.v || mouse_report.h) mousekey_send(); - mouse_report = tmpmr; + if (has_mouse_report_changed(&mouse_report, &tmpmr)) { + mousekey_send(); + } + memcpy(&mouse_report, &tmpmr, sizeof(tmpmr)); } void mousekey_on(uint8_t code) { @@ -340,11 +342,11 @@ uint16_t w_intervals[mkspd_COUNT] = {MK_W_INTERVAL_UNMOD, MK_W_INTERVAL_0 void mousekey_task(void) { // report cursor and scroll movement independently - report_mouse_t const tmpmr = mouse_report; - mouse_report.x = 0; - mouse_report.y = 0; - mouse_report.v = 0; - mouse_report.h = 0; + report_mouse_t tmpmr = mouse_report; + mouse_report.x = 0; + mouse_report.y = 0; + mouse_report.v = 0; + mouse_report.h = 0; if ((tmpmr.x || tmpmr.y) && timer_elapsed(last_timer_c) > c_intervals[mk_speed]) { mouse_report.x = tmpmr.x; @@ -355,8 +357,10 @@ void mousekey_task(void) { mouse_report.h = tmpmr.h; } - if (mouse_report.x || mouse_report.y || mouse_report.v || mouse_report.h) mousekey_send(); - mouse_report = tmpmr; + if (has_mouse_report_changed(&mouse_report, &tmpmr)) { + mousekey_send(); + } + memcpy(&mouse_report, &tmpmr, sizeof(tmpmr)); } void adjust_speed(void) { diff --git a/quantum/pointing_device.c b/quantum/pointing_device.c index 47a0af45d2a1..a160647890d8 100644 --- a/quantum/pointing_device.c +++ b/quantum/pointing_device.c @@ -70,17 +70,6 @@ static report_mouse_t local_mouse_report = {}; extern const pointing_device_driver_t pointing_device_driver; -/** - * @brief Compares 2 mouse reports for difference and returns result - * - * @param[in] new_report report_mouse_t - * @param[in] old_report report_mouse_t - * @return bool result - */ -__attribute__((weak)) bool has_mouse_report_changed(report_mouse_t new_report, report_mouse_t old_report) { - return memcmp(&new_report, &old_report, sizeof(new_report)); -} - /** * @brief Keyboard level code pointing device initialisation * @@ -165,7 +154,7 @@ __attribute__((weak)) void pointing_device_send(void) { static report_mouse_t old_report = {}; // If you need to do other things, like debugging, this is the place to do it. - if (has_mouse_report_changed(local_mouse_report, old_report)) { + if (has_mouse_report_changed(&local_mouse_report, &old_report)) { host_mouse_send(&local_mouse_report); } // send it and 0 it out except for buttons, so those stay until they are explicity over-ridden using update_pointing_device diff --git a/quantum/pointing_device.h b/quantum/pointing_device.h index a6bdbf120c6a..5c0eaeaf3484 100644 --- a/quantum/pointing_device.h +++ b/quantum/pointing_device.h @@ -80,7 +80,6 @@ void pointing_device_task(void); void pointing_device_send(void); report_mouse_t pointing_device_get_report(void); void pointing_device_set_report(report_mouse_t mouse_report); -bool has_mouse_report_changed(report_mouse_t new_report, report_mouse_t old_report); uint16_t pointing_device_get_cpi(void); void pointing_device_set_cpi(uint16_t cpi); diff --git a/tmk_core/protocol/report.c b/tmk_core/protocol/report.c index 854b59ae4817..5755098c60f1 100644 --- a/tmk_core/protocol/report.c +++ b/tmk_core/protocol/report.c @@ -278,3 +278,16 @@ void clear_keys_from_report(report_keyboard_t* keyboard_report) { #endif memset(keyboard_report->keys, 0, sizeof(keyboard_report->keys)); } + +#ifdef MOUSE_ENABLE +/** + * @brief Compares 2 mouse reports for difference and returns result + * + * @param[in] new_report report_mouse_t + * @param[in] old_report report_mouse_t + * @return bool result + */ +__attribute__((weak)) bool has_mouse_report_changed(report_mouse_t* new_report, report_mouse_t* old_report) { + return memcmp(new_report, old_report, sizeof(report_mouse_t)); +} +#endif diff --git a/tmk_core/protocol/report.h b/tmk_core/protocol/report.h index 1adc892f3b76..7bbeb78af797 100644 --- a/tmk_core/protocol/report.h +++ b/tmk_core/protocol/report.h @@ -320,6 +320,10 @@ void add_key_to_report(report_keyboard_t* keyboard_report, uint8_t key); void del_key_from_report(report_keyboard_t* keyboard_report, uint8_t key); void clear_keys_from_report(report_keyboard_t* keyboard_report); +#ifdef MOUSE_ENABLE +bool has_mouse_report_changed(report_mouse_t* new_report, report_mouse_t* old_report); +#endif + #ifdef __cplusplus } #endif From 8d90cf36f1a8484bdb7fcc0660887efaf0b7c106 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Sun, 13 Mar 2022 19:04:11 -0600 Subject: [PATCH 0376/1832] Fix 40percentclub USB descriptors (#16638) --- keyboards/40percentclub/nein/info.json | 2 +- keyboards/40percentclub/nori/info.json | 2 +- keyboards/40percentclub/ut47/info.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/40percentclub/nein/info.json b/keyboards/40percentclub/nein/info.json index 812853d0fef1..09d25e30dec4 100644 --- a/keyboards/40percentclub/nein/info.json +++ b/keyboards/40percentclub/nein/info.json @@ -5,7 +5,7 @@ "maintainer": "qmk", "usb": { "vid": "0x4025", - "vid": "0x9999", + "pid": "0x9999", "device_version": "99.9.9" }, "layouts": { diff --git a/keyboards/40percentclub/nori/info.json b/keyboards/40percentclub/nori/info.json index 536696670523..d6415b73f919 100644 --- a/keyboards/40percentclub/nori/info.json +++ b/keyboards/40percentclub/nori/info.json @@ -5,7 +5,7 @@ "maintainer": "qmk", "usb": { "vid": "0x4025", - "pid": "0xA0C", + "pid": "0x0A0C", "device_version": "4.4.4" }, "layouts": { diff --git a/keyboards/40percentclub/ut47/info.json b/keyboards/40percentclub/ut47/info.json index e3173098e4b1..e0bd0264cb4f 100644 --- a/keyboards/40percentclub/ut47/info.json +++ b/keyboards/40percentclub/ut47/info.json @@ -5,7 +5,7 @@ "maintainer": "qmk", "usb": { "vid": "0x4025", - "vid": "0x7574", + "pid": "0x7574", "device_version": "0.0.1" }, "layouts": { From b8574efcd67a394c423ac29ce280ee09517a1aee Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 13 Mar 2022 18:11:42 -0700 Subject: [PATCH 0377/1832] Fix oneshot toggle logic (#16630) * Fix oneshot toggle logic * Enable oneshots by default * Decrement eeconfig magic number due to eeconfig changes --- quantum/action.c | 10 +++++----- quantum/action_util.c | 15 +++++++-------- quantum/eeconfig.c | 2 +- quantum/eeconfig.h | 2 +- quantum/keycode_config.h | 2 +- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/quantum/action.c b/quantum/action.c index 60301fa6065d..ef059f0e2a96 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -101,7 +101,7 @@ void action_exec(keyevent_t event) { keyrecord_t record = {.event = event}; #ifndef NO_ACTION_ONESHOT - if (!keymap_config.oneshot_disable) { + if (keymap_config.oneshot_enable) { # if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0)) if (has_oneshot_layer_timed_out()) { clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); @@ -258,7 +258,7 @@ void process_record(keyrecord_t *record) { if (!process_record_quantum(record)) { #ifndef NO_ACTION_ONESHOT - if (is_oneshot_layer_active() && record->event.pressed && !keymap_config.oneshot_disable) { + if (is_oneshot_layer_active() && record->event.pressed && keymap_config.oneshot_enable) { clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); } #endif @@ -323,7 +323,7 @@ void process_action(keyrecord_t *record, action_t action) { # ifdef SWAP_HANDS_ENABLE && !(action.kind.id == ACT_SWAP_HANDS && action.swap.code == OP_SH_ONESHOT) # endif - && !keymap_config.oneshot_disable) { + && keymap_config.oneshot_enable) { clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); do_release_oneshot = !is_oneshot_layer_active(); } @@ -367,7 +367,7 @@ void process_action(keyrecord_t *record, action_t action) { # ifndef NO_ACTION_ONESHOT case MODS_ONESHOT: // Oneshot modifier - if (keymap_config.oneshot_disable) { + if (!keymap_config.oneshot_enable) { if (event.pressed) { if (mods) { if (IS_MOD(action.key.code) || action.key.code == KC_NO) { @@ -613,7 +613,7 @@ void process_action(keyrecord_t *record, action_t action) { # ifndef NO_ACTION_ONESHOT case OP_ONESHOT: // Oneshot modifier - if (keymap_config.oneshot_disable) { + if (!keymap_config.oneshot_enable) { if (event.pressed) { layer_on(action.layer_tap.val); } else { diff --git a/quantum/action_util.c b/quantum/action_util.c index cf81370d4a8d..738410a4acec 100644 --- a/quantum/action_util.c +++ b/quantum/action_util.c @@ -155,7 +155,7 @@ void clear_oneshot_swaphands(void) { * FIXME: needs doc */ void set_oneshot_layer(uint8_t layer, uint8_t state) { - if (!keymap_config.oneshot_disable) { + if (keymap_config.oneshot_enable) { oneshot_layer_data = layer << 3 | state; layer_on(layer); # if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0)) @@ -184,7 +184,7 @@ void reset_oneshot_layer(void) { void clear_oneshot_layer_state(oneshot_fullfillment_t state) { uint8_t start_state = oneshot_layer_data; oneshot_layer_data &= ~state; - if ((!get_oneshot_layer_state() && start_state != oneshot_layer_data) && !keymap_config.oneshot_disable) { + if ((!get_oneshot_layer_state() && start_state != oneshot_layer_data) && keymap_config.oneshot_enable) { layer_off(get_oneshot_layer()); reset_oneshot_layer(); } @@ -202,9 +202,8 @@ bool is_oneshot_layer_active(void) { * FIXME: needs doc */ void oneshot_set(bool active) { - const bool disable = !active; - if (keymap_config.oneshot_disable != disable) { - keymap_config.oneshot_disable = disable; + if (keymap_config.oneshot_enable != active) { + keymap_config.oneshot_enable = active; eeconfig_update_keymap(keymap_config.raw); clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); dprintf("Oneshot: active: %d\n", active); @@ -216,7 +215,7 @@ void oneshot_set(bool active) { * FIXME: needs doc */ void oneshot_toggle(void) { - oneshot_set(!keymap_config.oneshot_disable); + oneshot_set(!keymap_config.oneshot_enable); } /** \brief enable oneshot @@ -236,7 +235,7 @@ void oneshot_disable(void) { } bool is_oneshot_enabled(void) { - return !keymap_config.oneshot_disable; + return keymap_config.oneshot_enable; } #endif @@ -414,7 +413,7 @@ void del_oneshot_mods(uint8_t mods) { * FIXME: needs doc */ void set_oneshot_mods(uint8_t mods) { - if (!keymap_config.oneshot_disable) { + if (keymap_config.oneshot_enable) { if (oneshot_mods != mods) { # if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0)) oneshot_time = timer_read(); diff --git a/quantum/eeconfig.c b/quantum/eeconfig.c index 14cd5887f442..0ff9996ca413 100644 --- a/quantum/eeconfig.c +++ b/quantum/eeconfig.c @@ -46,7 +46,7 @@ void eeconfig_init_quantum(void) { eeprom_update_byte(EECONFIG_DEFAULT_LAYER, 0); default_layer_state = 0; eeprom_update_byte(EECONFIG_KEYMAP_LOWER_BYTE, 0); - eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, 0); + eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, 0x4); eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0); eeprom_update_byte(EECONFIG_BACKLIGHT, 0); eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default diff --git a/quantum/eeconfig.h b/quantum/eeconfig.h index f3cd1867ab43..565a0dbe5b94 100644 --- a/quantum/eeconfig.h +++ b/quantum/eeconfig.h @@ -21,7 +21,7 @@ along with this program. If not, see . #include #ifndef EECONFIG_MAGIC_NUMBER -# define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEE9 // When changing, decrement this value to avoid future re-init issues +# define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEE8 // When changing, decrement this value to avoid future re-init issues #endif #define EECONFIG_MAGIC_NUMBER_OFF (uint16_t)0xFFFF diff --git a/quantum/keycode_config.h b/quantum/keycode_config.h index d7e334fdc8fa..a2cb025ed2df 100644 --- a/quantum/keycode_config.h +++ b/quantum/keycode_config.h @@ -37,7 +37,7 @@ typedef union { bool nkro : 1; bool swap_lctl_lgui : 1; bool swap_rctl_rgui : 1; - bool oneshot_disable : 1; + bool oneshot_enable : 1; }; } keymap_config_t; From 86a35483a12a12bcf8d0005ebc7e4e2bca3ab5b3 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Sun, 13 Mar 2022 19:53:53 -0600 Subject: [PATCH 0378/1832] Mousekeys fix (#16640) --- quantum/mousekey.c | 1 + 1 file changed, 1 insertion(+) diff --git a/quantum/mousekey.c b/quantum/mousekey.c index 0cbb472045b7..64d0e6668205 100644 --- a/quantum/mousekey.c +++ b/quantum/mousekey.c @@ -16,6 +16,7 @@ */ #include +#include #include "keycode.h" #include "host.h" #include "timer.h" From c17323b0f5fddf891929e6a25232825769a64e28 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 14 Mar 2022 01:56:52 +0000 Subject: [PATCH 0379/1832] bolsa/damapad - Fix missing layout macro (#16639) --- keyboards/bolsa/damapad/damapad.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/keyboards/bolsa/damapad/damapad.h b/keyboards/bolsa/damapad/damapad.h index da0a4d863eda..9f0d0d41701d 100644 --- a/keyboards/bolsa/damapad/damapad.h +++ b/keyboards/bolsa/damapad/damapad.h @@ -30,3 +30,13 @@ along with this program. If not, see . { K10, K11, K12, K13, K14, K15 }, \ { K20, K21, XXX, K23, XXX, K25 } \ } + +#define LAYOUT_bar( \ + K00, K01, K02, K03, K04, K05, \ + K10, K11, K12, K13, K14, K15, \ + K20, K23, K25 \ +) { \ + { K00, K01, K02, K03, K04, K05 }, \ + { K10, K11, K12, K13, K14, K15 }, \ + { K20, XXX, XXX, K23, XXX, K25 } \ +} From 5fb269b2b49f31dcee34e3e088ef77cd016d0450 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 15 Mar 2022 00:57:44 +1100 Subject: [PATCH 0380/1832] keebio/iris: Add ifdefs to encoder callbacks (#16642) --- keyboards/keebio/iris/rev3/rev3.c | 2 ++ keyboards/keebio/iris/rev4/rev4.c | 2 ++ keyboards/keebio/iris/rev5/rev5.c | 2 ++ keyboards/keebio/iris/rev6/rev6.c | 2 ++ 4 files changed, 8 insertions(+) diff --git a/keyboards/keebio/iris/rev3/rev3.c b/keyboards/keebio/iris/rev3/rev3.c index e874b9beaeca..2b3d6b1d9627 100644 --- a/keyboards/keebio/iris/rev3/rev3.c +++ b/keyboards/keebio/iris/rev3/rev3.c @@ -36,6 +36,7 @@ void eeconfig_init_kb(void) { eeconfig_init_user(); } +#ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { @@ -53,3 +54,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return false; } +#endif diff --git a/keyboards/keebio/iris/rev4/rev4.c b/keyboards/keebio/iris/rev4/rev4.c index 36ef461cd0f3..112c86f413d5 100644 --- a/keyboards/keebio/iris/rev4/rev4.c +++ b/keyboards/keebio/iris/rev4/rev4.c @@ -17,6 +17,7 @@ void eeconfig_init_kb(void) { eeconfig_init_user(); } +#ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { @@ -34,3 +35,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return false; } +#endif diff --git a/keyboards/keebio/iris/rev5/rev5.c b/keyboards/keebio/iris/rev5/rev5.c index 2a89c6923b0e..b597c05de8c1 100644 --- a/keyboards/keebio/iris/rev5/rev5.c +++ b/keyboards/keebio/iris/rev5/rev5.c @@ -13,6 +13,7 @@ along with this program. If not, see . */ #include "rev5.h" +#ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { @@ -30,3 +31,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return false; } +#endif diff --git a/keyboards/keebio/iris/rev6/rev6.c b/keyboards/keebio/iris/rev6/rev6.c index 152df0b2f9b3..8b612c35550d 100644 --- a/keyboards/keebio/iris/rev6/rev6.c +++ b/keyboards/keebio/iris/rev6/rev6.c @@ -64,6 +64,7 @@ led_config_t g_led_config = { { } }; #endif +#ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { @@ -81,3 +82,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return false; } +#endif From 6a6a333c75e60692c4497aafe949e6304b22f8b8 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 15 Mar 2022 00:58:05 +1100 Subject: [PATCH 0381/1832] Disable RGB matrix pixel animations for some boards (#16643) * idobao/id87/v2: disable RGB matrix pixel animations * Same for two more boards --- keyboards/dztech/dz60rgb_wkl/v2/config.h | 3 --- keyboards/idobao/id87/v2/config.h | 3 --- keyboards/kbdfans/kbd67/mkiirgb/v4/config.h | 3 --- 3 files changed, 9 deletions(-) diff --git a/keyboards/dztech/dz60rgb_wkl/v2/config.h b/keyboards/dztech/dz60rgb_wkl/v2/config.h index 5985fccea714..5d715a1e0d9a 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v2/config.h @@ -69,9 +69,6 @@ # define ENABLE_RGB_MATRIX_HUE_BREATHING # define ENABLE_RGB_MATRIX_HUE_PENDULUM # define ENABLE_RGB_MATRIX_HUE_WAVE -# define ENABLE_RGB_MATRIX_PIXEL_RAIN -# define ENABLE_RGB_MATRIX_PIXEL_FLOW -# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined # define ENABLE_RGB_MATRIX_TYPING_HEATMAP // # define ENABLE_RGB_MATRIX_DIGITAL_RAIN diff --git a/keyboards/idobao/id87/v2/config.h b/keyboards/idobao/id87/v2/config.h index 8a2c58aa2dd3..3ef24f0bc5fd 100644 --- a/keyboards/idobao/id87/v2/config.h +++ b/keyboards/idobao/id87/v2/config.h @@ -79,9 +79,6 @@ # define ENABLE_RGB_MATRIX_HUE_BREATHING # define ENABLE_RGB_MATRIX_HUE_PENDULUM # define ENABLE_RGB_MATRIX_HUE_WAVE -# define ENABLE_RGB_MATRIX_PIXEL_RAIN -# define ENABLE_RGB_MATRIX_PIXEL_FLOW -# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined # define ENABLE_RGB_MATRIX_TYPING_HEATMAP # define ENABLE_RGB_MATRIX_DIGITAL_RAIN diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h index 7de9281d40ed..9960022a1394 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h @@ -94,9 +94,6 @@ # define ENABLE_RGB_MATRIX_HUE_BREATHING # define ENABLE_RGB_MATRIX_HUE_PENDULUM # define ENABLE_RGB_MATRIX_HUE_WAVE -# define ENABLE_RGB_MATRIX_PIXEL_RAIN -# define ENABLE_RGB_MATRIX_PIXEL_FLOW -# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined # define ENABLE_RGB_MATRIX_TYPING_HEATMAP // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN From a12d58c6c965254bdf40ae0f02a6644e183eb17c Mon Sep 17 00:00:00 2001 From: Danny Date: Mon, 14 Mar 2022 14:08:10 -0400 Subject: [PATCH 0382/1832] [Keyboard] Add BAMFK-1 (#16409) Co-authored-by: Ryan --- keyboards/keebio/bamfk1/bamfk1.c | 4 + keyboards/keebio/bamfk1/bamfk1.h | 14 +++ keyboards/keebio/bamfk1/config.h | 113 ++++++++++++++++++ keyboards/keebio/bamfk1/info.json | 19 +++ .../keebio/bamfk1/keymaps/default/keymap.c | 39 ++++++ .../keebio/bamfk1/keymaps/default/rules.mk | 1 + keyboards/keebio/bamfk1/keymaps/via/keymap.c | 39 ++++++ keyboards/keebio/bamfk1/keymaps/via/rules.mk | 2 + keyboards/keebio/bamfk1/readme.md | 27 +++++ keyboards/keebio/bamfk1/rules.mk | 21 ++++ keyboards/keebio/encoder_actions.c | 68 +++++++++++ keyboards/keebio/encoder_actions.h | 21 ++++ 12 files changed, 368 insertions(+) create mode 100644 keyboards/keebio/bamfk1/bamfk1.c create mode 100644 keyboards/keebio/bamfk1/bamfk1.h create mode 100644 keyboards/keebio/bamfk1/config.h create mode 100644 keyboards/keebio/bamfk1/info.json create mode 100644 keyboards/keebio/bamfk1/keymaps/default/keymap.c create mode 100644 keyboards/keebio/bamfk1/keymaps/default/rules.mk create mode 100644 keyboards/keebio/bamfk1/keymaps/via/keymap.c create mode 100644 keyboards/keebio/bamfk1/keymaps/via/rules.mk create mode 100644 keyboards/keebio/bamfk1/readme.md create mode 100644 keyboards/keebio/bamfk1/rules.mk create mode 100644 keyboards/keebio/encoder_actions.c create mode 100644 keyboards/keebio/encoder_actions.h diff --git a/keyboards/keebio/bamfk1/bamfk1.c b/keyboards/keebio/bamfk1/bamfk1.c new file mode 100644 index 000000000000..eddd7e624efb --- /dev/null +++ b/keyboards/keebio/bamfk1/bamfk1.c @@ -0,0 +1,4 @@ +// Copyright 2021 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "bamfk1.h" diff --git a/keyboards/keebio/bamfk1/bamfk1.h b/keyboards/keebio/bamfk1/bamfk1.h new file mode 100644 index 000000000000..be1fd0080884 --- /dev/null +++ b/keyboards/keebio/bamfk1/bamfk1.h @@ -0,0 +1,14 @@ +// Copyright 2021 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + k00, e01, e02, \ + e01a, e01b, e02a, e02b \ +) { \ + { k00, e01, e02, KC_NO }, \ + { e01a, e01b, e02a, e02b } \ +} diff --git a/keyboards/keebio/bamfk1/config.h b/keyboards/keebio/bamfk1/config.h new file mode 100644 index 000000000000..5cd86a9d163f --- /dev/null +++ b/keyboards/keebio/bamfk1/config.h @@ -0,0 +1,113 @@ +// Copyright 2021 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xCB10 +#define PRODUCT_ID 0x1111 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Keebio +#define PRODUCT BAMFK-1 + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 4 + +/* + * Keyboard Matrix Assignments + */ + +#define DIRECT_PINS { \ + { E6, B6, D6, NO_PIN }, \ + { NO_PIN, NO_PIN, NO_PIN, NO_PIN } \ +} +#define AUDIO_PIN C6 +#ifdef AUDIO_ENABLE +# define STARTUP_SONG SONG(STARTUP_SOUND) +#endif + +#define ENCODERS_PAD_A { C7, D7 } +#define ENCODERS_PAD_B { B5, D4 } +#define ENCODERS 2 +#define ENCODERS_CW_KEY { { 1, 1 }, { 3, 1 } } +#define ENCODERS_CCW_KEY { { 0, 1 }, { 2, 1 } } + +#define RGB_DI_PIN D3 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 16 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +#endif +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/keebio/bamfk1/info.json b/keyboards/keebio/bamfk1/info.json new file mode 100644 index 000000000000..817eb98af017 --- /dev/null +++ b/keyboards/keebio/bamfk1/info.json @@ -0,0 +1,19 @@ +{ + "keyboard_name": "BAMFK-1", + "url": "https://keeb.io", + "maintainer": "nooges", + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "k00", "x": 1.5, "y": 0, "h":2, "w": 2}, + {"label": "k01", "x": 0.5, "y": 2.25}, + {"label": "k02", "x": 3.5, "y": 2.25}, + + {"label": "k10", "x": 0, "y": 3.5}, + {"label": "k11", "x": 1, "y": 3.5}, + {"label": "k12", "x": 3, "y": 3.5}, + {"label": "k13", "x": 4, "y": 3.5} + ] + } + } +} diff --git a/keyboards/keebio/bamfk1/keymaps/default/keymap.c b/keyboards/keebio/bamfk1/keymaps/default/keymap.c new file mode 100644 index 000000000000..aa0780eafc1f --- /dev/null +++ b/keyboards/keebio/bamfk1/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +// Copyright 2021 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _MAIN, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT( + KC_A, // Big Switch + MO(1), KC_MUTE, // Encoder presses + KC_DOWN, KC_UP, // Left encoder turns + KC_VOLD, KC_VOLU // Right encoder turns + ), + [_FN1] = LAYOUT( + KC_B, // Big Switch + _______, KC_C, // Encoder presses + KC_PGDN, KC_PGUP, // Left encoder turns + KC_VOLU, KC_VOLD // Right encoder turns + ), + [_FN2] = LAYOUT( + _______, // Big Switch + _______, _______, // Encoder presses + _______, _______, // Left encoder turns + _______, _______ // Right encoder turns + ), + [_FN3] = LAYOUT( + _______, // Big Switch + _______, _______, // Encoder presses + _______, _______, // Left encoder turns + _______, _______ // Right encoder turns + ) +}; diff --git a/keyboards/keebio/bamfk1/keymaps/default/rules.mk b/keyboards/keebio/bamfk1/keymaps/default/rules.mk new file mode 100644 index 000000000000..4da205a168c7 --- /dev/null +++ b/keyboards/keebio/bamfk1/keymaps/default/rules.mk @@ -0,0 +1 @@ +LTO_ENABLE = yes diff --git a/keyboards/keebio/bamfk1/keymaps/via/keymap.c b/keyboards/keebio/bamfk1/keymaps/via/keymap.c new file mode 100644 index 000000000000..e7cde2d7ee55 --- /dev/null +++ b/keyboards/keebio/bamfk1/keymaps/via/keymap.c @@ -0,0 +1,39 @@ +// Copyright 2021 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _MAIN, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT( + RGB_MOD, // Big Switch + FN_MO13, KC_MUTE, // Encoder presses + KC_DOWN, KC_UP, // Left encoder turns + KC_VOLD, KC_VOLU // Right encoder turns + ), + [_FN1] = LAYOUT( + KC_B, // Big Switch + _______, KC_C, // Encoder presses + KC_PGDN, KC_PGUP, // Left encoder turns + KC_VOLU, KC_VOLD // Right encoder turns + ), + [_FN2] = LAYOUT( + _______, // Big Switch + _______, _______, // Encoder presses + _______, _______, // Left encoder turns + _______, _______ // Right encoder turns + ), + [_FN3] = LAYOUT( + _______, // Big Switch + _______, _______, // Encoder presses + _______, _______, // Left encoder turns + _______, _______ // Right encoder turns + ) +}; diff --git a/keyboards/keebio/bamfk1/keymaps/via/rules.mk b/keyboards/keebio/bamfk1/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/keebio/bamfk1/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/keebio/bamfk1/readme.md b/keyboards/keebio/bamfk1/readme.md new file mode 100644 index 000000000000..a90ee8ac8cd1 --- /dev/null +++ b/keyboards/keebio/bamfk1/readme.md @@ -0,0 +1,27 @@ +# BAMFK-1 + +![bamfk1](https://cdn.shopify.com/s/files/1/1851/5125/products/bamfk-1-back_1100x.png?v=1635304218) + +PCB for the Big Switch with support for horizontal rotary encoders. + +* Keyboard Maintainer: [Keebio](https://github.com/nooges) +* Hardware Supported: BAMFK-1 PCB +* Hardware Availability: [Keebio](https://keeb.io/) + +Make example for this keyboard (after setting up your build environment): + + make keebio/bamfk1:default + +Flashing example for this keyboard: + + make keebio/bamfk1:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/keebio/bamfk1/rules.mk b/keyboards/keebio/bamfk1/rules.mk new file mode 100644 index 000000000000..abcf10c8716a --- /dev/null +++ b/keyboards/keebio/bamfk1/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = yes # Audio output +ENCODER_ENABLE = yes + +SRC += encoder_actions.c diff --git a/keyboards/keebio/encoder_actions.c b/keyboards/keebio/encoder_actions.c new file mode 100644 index 000000000000..c4e49813f44b --- /dev/null +++ b/keyboards/keebio/encoder_actions.c @@ -0,0 +1,68 @@ +/* Copyright 2020 Neil Brian Ramirez + * Copyright 2021 drashna jael're (@drashna) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "encoder_actions.h" + +#if defined(ENCODER_ENABLE) + +# ifdef ENCODERS +static uint8_t encoder_state[ENCODERS] = {0}; +static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; +static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; +# endif + +void encoder_action_unregister(void) { +# ifdef ENCODERS + for (int index = 0; index < ENCODERS; ++index) { + if (encoder_state[index]) { + keyevent_t encoder_event = (keyevent_t) { + .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], + .pressed = false, + .time = (timer_read() | 1) + }; + encoder_state[index] = 0; + action_exec(encoder_event); + } + } +# endif +} + +void encoder_action_register(uint8_t index, bool clockwise) { +# ifdef ENCODERS + keyevent_t encoder_event = (keyevent_t) { + .key = clockwise ? encoder_cw[index] : encoder_ccw[index], + .pressed = true, + .time = (timer_read() | 1) + }; + encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); + action_exec(encoder_event); +# endif +} + +void matrix_scan_kb(void) { + encoder_action_unregister(); + matrix_scan_user(); +} + +bool encoder_update_kb(uint8_t index, bool clockwise) { + encoder_action_register(index, clockwise); + // don't return user actions, because they are in the keymap + // encoder_update_user(index, clockwise); + return true; +}; + +#endif diff --git a/keyboards/keebio/encoder_actions.h b/keyboards/keebio/encoder_actions.h new file mode 100644 index 000000000000..2484af52ae18 --- /dev/null +++ b/keyboards/keebio/encoder_actions.h @@ -0,0 +1,21 @@ +/* Copyright 2020 Neil Brian Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +void encoder_action_unregister(void); + +void encoder_action_register(uint8_t index, bool clockwise); From 7e669421f86843d398b41befe1950a2e2ce054a0 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Mon, 14 Mar 2022 21:06:21 +0100 Subject: [PATCH 0383/1832] Rename TICK to TICK_EVENT to prevent naming conflicts (#16649) --- quantum/keyboard.c | 2 +- quantum/keyboard.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/quantum/keyboard.c b/quantum/keyboard.c index ba5609f0aabf..bb6463bf1975 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -489,7 +489,7 @@ bool matrix_scan_task(void) { // we can get here with some keys processed now. if (!keys_processed) #endif - action_exec(TICK); + action_exec(TICK_EVENT); MATRIX_LOOP_END: diff --git a/quantum/keyboard.h b/quantum/keyboard.h index 62661596c124..fe0736a515d7 100644 --- a/quantum/keyboard.h +++ b/quantum/keyboard.h @@ -74,7 +74,7 @@ static inline bool IS_RELEASED(keyevent_t event) { #define MAKE_KEYEVENT(row_num, col_num, press) ((keyevent_t){.key = MAKE_KEYPOS((row_num), (col_num)), .pressed = (press), .time = (timer_read() | 1)}) /* Tick event */ -#define TICK MAKE_KEYEVENT(KEYLOC_TICK, KEYLOC_TICK, false) +#define TICK_EVENT MAKE_KEYEVENT(KEYLOC_TICK, KEYLOC_TICK, false) #ifdef ENCODER_MAP_ENABLE /* Encoder events */ From 6c11579876cc721b46c734ffd34b66102726df58 Mon Sep 17 00:00:00 2001 From: Yakbats Date: Mon, 14 Mar 2022 15:05:39 -0700 Subject: [PATCH 0384/1832] [Keyboard] Add via keymap to AL1 (#16499) --- keyboards/al1/config.h | 4 +-- keyboards/al1/keymaps/via/keymap.c | 46 +++++++++++++++++++++++++++++ keyboards/al1/keymaps/via/readme.md | 1 + keyboards/al1/keymaps/via/rules.mk | 2 ++ 4 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 keyboards/al1/keymaps/via/keymap.c create mode 100644 keyboards/al1/keymaps/via/readme.md create mode 100644 keyboards/al1/keymaps/via/rules.mk diff --git a/keyboards/al1/config.h b/keyboards/al1/config.h index b003a9cd6c25..c8edb8ebfe54 100644 --- a/keyboards/al1/config.h +++ b/keyboards/al1/config.h @@ -27,8 +27,8 @@ along with this program. If not, see . #define PRODUCT AL1 /* key matrix size */ -#define MATRIX_ROWS 7 -#define MATRIX_COLS 20 +#define MATRIX_ROWS 6 +#define MATRIX_COLS 16 #define LED_NUM_LOCK_PIN D0 #define LED_CAPS_LOCK_PIN B7 diff --git a/keyboards/al1/keymaps/via/keymap.c b/keyboards/al1/keymaps/via/keymap.c new file mode 100644 index 000000000000..931755270bbe --- /dev/null +++ b/keyboards/al1/keymaps/via/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2018 MechMerlin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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_INS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + KC_LSFT, 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, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [1] = LAYOUT( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, 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, 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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), + + [2] = LAYOUT( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), + + [3] = LAYOUT( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), +}; diff --git a/keyboards/al1/keymaps/via/readme.md b/keyboards/al1/keymaps/via/readme.md new file mode 100644 index 000000000000..458df9ca1364 --- /dev/null +++ b/keyboards/al1/keymaps/via/readme.md @@ -0,0 +1 @@ +# The via keymap for al1 diff --git a/keyboards/al1/keymaps/via/rules.mk b/keyboards/al1/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/al1/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes From a939adb55c53d7cd7cbcc26e81ae6ee700ad3f6c Mon Sep 17 00:00:00 2001 From: ethsol Date: Mon, 14 Mar 2022 23:20:50 +0100 Subject: [PATCH 0385/1832] Sentence correction (#16650) --- docs/feature_bootmagic.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/feature_bootmagic.md b/docs/feature_bootmagic.md index 148ea92b9e26..6b3c7e45fd14 100644 --- a/docs/feature_bootmagic.md +++ b/docs/feature_bootmagic.md @@ -51,7 +51,7 @@ void bootmagic_lite(void) { } ``` -You can additional feature here. For instance, resetting the EEPROM or requiring additional keys to be pressed to trigger Bootmagic Lite. Keep in mind that `bootmagic_lite` is called before a majority of features are initialized in the firmware. +You can define additional logic here. For instance, resetting the EEPROM or requiring additional keys to be pressed to trigger Bootmagic Lite. Keep in mind that `bootmagic_lite` is called before a majority of features are initialized in the firmware. ## Addenda From 7fde30979986732433126d50911efdef928c2b64 Mon Sep 17 00:00:00 2001 From: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Tue, 15 Mar 2022 07:23:57 +0700 Subject: [PATCH 0386/1832] [Keyboard] Add Kay65 PCB by Team Mechlovin' (#15565) * add kay65 PCB * update * update * Update readme.md * Update keyboards/mechlovin/kay65/rev1/rules.mk * Update keyboards/mechlovin/olly/jf/rules.mk * Update keyboards/mechlovin/kay65/rev1/rules.mk * Update keyboards/mechlovin/kay65/rev1/info.json * Update keymap.c * update * Update keyboards/mechlovin/kay65/rev1/rev1.h * Update keyboards/mechlovin/kay65/rev1/info.json * Update keyboards/mechlovin/kay65/rev1/info.json * Update keyboards/mechlovin/kay65/rev1/rules.mk * Update keymap.c * Update readme.md * Update keyboards/mechlovin/olly/jf/readme.md * Update keyboards/mechlovin/kay65/rev1/config.h --- keyboards/mechlovin/kay65/rev1/config.h | 147 ++++++++++++ keyboards/mechlovin/kay65/rev1/info.json | 223 ++++++++++++++++++ .../kay65/rev1/keymaps/default/keymap.c | 52 ++++ .../kay65/rev1/keymaps/default/readme.md | 1 + .../mechlovin/kay65/rev1/keymaps/via/keymap.c | 72 ++++++ .../kay65/rev1/keymaps/via/readme.md | 1 + .../mechlovin/kay65/rev1/keymaps/via/rules.mk | 2 + keyboards/mechlovin/kay65/rev1/readme.md | 27 +++ keyboards/mechlovin/kay65/rev1/rev1.c | 25 ++ keyboards/mechlovin/kay65/rev1/rev1.h | 62 +++++ keyboards/mechlovin/kay65/rev1/rules.mk | 20 ++ keyboards/mechlovin/olly/jf/config.h | 4 + .../mechlovin/olly/jf/keymaps/via/config.h | 3 +- .../mechlovin/olly/jf/keymaps/via/keymap.c | 9 +- keyboards/mechlovin/olly/jf/readme.md | 5 +- 15 files changed, 642 insertions(+), 11 deletions(-) create mode 100644 keyboards/mechlovin/kay65/rev1/config.h create mode 100644 keyboards/mechlovin/kay65/rev1/info.json create mode 100644 keyboards/mechlovin/kay65/rev1/keymaps/default/keymap.c create mode 100644 keyboards/mechlovin/kay65/rev1/keymaps/default/readme.md create mode 100644 keyboards/mechlovin/kay65/rev1/keymaps/via/keymap.c create mode 100644 keyboards/mechlovin/kay65/rev1/keymaps/via/readme.md create mode 100644 keyboards/mechlovin/kay65/rev1/keymaps/via/rules.mk create mode 100644 keyboards/mechlovin/kay65/rev1/readme.md create mode 100644 keyboards/mechlovin/kay65/rev1/rev1.c create mode 100644 keyboards/mechlovin/kay65/rev1/rev1.h create mode 100644 keyboards/mechlovin/kay65/rev1/rules.mk diff --git a/keyboards/mechlovin/kay65/rev1/config.h b/keyboards/mechlovin/kay65/rev1/config.h new file mode 100644 index 000000000000..cc1b9916724a --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/config.h @@ -0,0 +1,147 @@ +/* +Copyright 2021 Mechlovin' + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4D4C +#define PRODUCT_ID 0x6502 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Team Mechlovin +#define PRODUCTION Kay65 Rev. 1 + +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B7, D3, D5, D4, C6 } +#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, C7, E6, B0, D2, D1, D0, B3, B2, B1 } + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +#define LED_CAPS_LOCK_PIN D6 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +#define RGB_DI_PIN E2 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 24 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +# define RGBLIGHT_EFFECT_TWINKLE +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +//#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +//#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +//#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mechlovin/kay65/rev1/info.json b/keyboards/mechlovin/kay65/rev1/info.json new file mode 100644 index 000000000000..9a2f7dc01be5 --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/info.json @@ -0,0 +1,223 @@ +{ + "keyboard_name": "Kay65", + "url": "", + "maintainer": "Mechlovin' Studio", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"K00 (B0,B5)", "x":0, "y":0}, + {"label":"K01 (B0,B6)", "x":1, "y":0}, + {"label":"K02 (B0,B7)", "x":2, "y":0}, + {"label":"K03 (B0,C0)", "x":3, "y":0}, + {"label":"K04 (B0,C1)", "x":4, "y":0}, + {"label":"K05 (B0,C2)", "x":5, "y":0}, + {"label":"K06 (B0,C3)", "x":6, "y":0}, + {"label":"K07 (B0,C4)", "x":7, "y":0}, + {"label":"K08 (B0,C5)", "x":8, "y":0}, + {"label":"K09 (B0,C6)", "x":9, "y":0}, + {"label":"K0A (B0,C7)", "x":10, "y":0}, + {"label":"K0B (B0,D0)", "x":11, "y":0}, + {"label":"K0C (B0,D1)", "x":12, "y":0}, + {"label":"K0D (B0,D2)", "x":13, "y":0}, + {"label":"K1D (B1,D2)", "x":14, "y":0}, + {"label":"K0E (B0,D3)", "x":15, "y":0}, + {"label":"K10 (B1,B5)", "x":0, "y":1, "w":1.5}, + {"label":"K11 (B1,B6)", "x":1.5, "y":1}, + {"label":"K12 (B1,B7)", "x":2.5, "y":1}, + {"label":"K13 (B1,C0)", "x":3.5, "y":1}, + {"label":"K14 (B1,C1)", "x":4.5, "y":1}, + {"label":"K15 (B1,C2)", "x":5.5, "y":1}, + {"label":"K16 (B1,C3)", "x":6.5, "y":1}, + {"label":"K17 (B1,C4)", "x":7.5, "y":1}, + {"label":"K18 (B1,C5)", "x":8.5, "y":1}, + {"label":"K19 (B1,C6)", "x":9.5, "y":1}, + {"label":"K1A (B1,C7)", "x":10.5, "y":1}, + {"label":"K1B (B1,D0)", "x":11.5, "y":1}, + {"label":"K1C (B1,D1)", "x":12.5, "y":1}, + {"label":"K2C (B2,D1)", "x":13.5, "y":1, "w":1.5}, + {"label":"K1E (B1,D3)", "x":15, "y":1}, + {"label":"K20 (B2,B5)", "x":0, "y":2, "w":1.75}, + {"label":"K21 (B2,B6)", "x":1.75, "y":2}, + {"label":"K22 (B2,B7)", "x":2.75, "y":2}, + {"label":"K23 (B2,C0)", "x":3.75, "y":2}, + {"label":"K24 (B2,C1)", "x":4.75, "y":2}, + {"label":"K25 (B2,C2)", "x":5.75, "y":2}, + {"label":"K26 (B2,C3)", "x":6.75, "y":2}, + {"label":"K27 (B2,C4)", "x":7.75, "y":2}, + {"label":"K28 (B2,C5)", "x":8.75, "y":2}, + {"label":"K29 (B2,C6)", "x":9.75, "y":2}, + {"label":"K2A (B2,C7)", "x":10.75, "y":2}, + {"label":"K2B (B2,D0)", "x":11.75, "y":2}, + {"label":"K2D (B2,D2)", "x":12.75, "y":2, "w":2.25}, + {"label":"K2E (B2,D3)", "x":15, "y":2}, + {"label":"K30 (B3,B5)", "x":0, "y":3, "w":1.25}, + {"label":"K31 (B3,B6)", "x":1.25, "y":3}, + {"label":"K32 (B3,B7)", "x":2.25, "y":3}, + {"label":"K33 (B3,C0)", "x":3.25, "y":3}, + {"label":"K34 (B3,C1)", "x":4.25, "y":3}, + {"label":"K35 (B3,C2)", "x":5.25, "y":3}, + {"label":"K36 (B3,C3)", "x":6.25, "y":3}, + {"label":"K37 (B3,C4)", "x":7.25, "y":3}, + {"label":"K38 (B3,C5)", "x":8.25, "y":3}, + {"label":"K39 (B3,C6)", "x":9.25, "y":3}, + {"label":"K3A (B3,C7)", "x":10.25, "y":3}, + {"label":"K3B (B3,D0)", "x":11.25, "y":3}, + {"label":"K3C (B3,D1)", "x":12.25, "y":3, "w":1.75}, + {"label":"K3D (B3,D2)", "x":14, "y":3}, + {"label":"K3E (B3,D3)", "x":15, "y":3}, + {"label":"K40 (B4,B5)", "x":0, "y":4, "w":1.25}, + {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25}, + {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25}, + {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25}, + {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25}, + {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25}, + {"label":"K4C (B4,D1)", "x":13, "y":4}, + {"label":"K4D (B4,D2)", "x":14, "y":4}, + {"label":"K4E (B4,D3)", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label":"K00 (B0,B5)", "x":0, "y":0}, + {"label":"K01 (B0,B6)", "x":1, "y":0}, + {"label":"K02 (B0,B7)", "x":2, "y":0}, + {"label":"K03 (B0,C0)", "x":3, "y":0}, + {"label":"K04 (B0,C1)", "x":4, "y":0}, + {"label":"K05 (B0,C2)", "x":5, "y":0}, + {"label":"K06 (B0,C3)", "x":6, "y":0}, + {"label":"K07 (B0,C4)", "x":7, "y":0}, + {"label":"K08 (B0,C5)", "x":8, "y":0}, + {"label":"K09 (B0,C6)", "x":9, "y":0}, + {"label":"K0A (B0,C7)", "x":10, "y":0}, + {"label":"K0B (B0,D0)", "x":11, "y":0}, + {"label":"K0C (B0,D1)", "x":12, "y":0}, + {"label":"K0D (B0,D2)", "x":13, "y":0, "w":2}, + {"label":"K0E (B0,D3)", "x":15, "y":0}, + {"label":"K10 (B1,B5)", "x":0, "y":1, "w":1.5}, + {"label":"K11 (B1,B6)", "x":1.5, "y":1}, + {"label":"K12 (B1,B7)", "x":2.5, "y":1}, + {"label":"K13 (B1,C0)", "x":3.5, "y":1}, + {"label":"K14 (B1,C1)", "x":4.5, "y":1}, + {"label":"K15 (B1,C2)", "x":5.5, "y":1}, + {"label":"K16 (B1,C3)", "x":6.5, "y":1}, + {"label":"K17 (B1,C4)", "x":7.5, "y":1}, + {"label":"K18 (B1,C5)", "x":8.5, "y":1}, + {"label":"K19 (B1,C6)", "x":9.5, "y":1}, + {"label":"K1A (B1,C7)", "x":10.5, "y":1}, + {"label":"K1B (B1,D0)", "x":11.5, "y":1}, + {"label":"K1C (B1,D1)", "x":12.5, "y":1}, + {"label":"K2C (B2,D1)", "x":13.5, "y":1, "w":1.5}, + {"label":"K1E (B1,D3)", "x":15, "y":1}, + {"label":"K20 (B2,B5)", "x":0, "y":2, "w":1.75}, + {"label":"K21 (B2,B6)", "x":1.75, "y":2}, + {"label":"K22 (B2,B7)", "x":2.75, "y":2}, + {"label":"K23 (B2,C0)", "x":3.75, "y":2}, + {"label":"K24 (B2,C1)", "x":4.75, "y":2}, + {"label":"K25 (B2,C2)", "x":5.75, "y":2}, + {"label":"K26 (B2,C3)", "x":6.75, "y":2}, + {"label":"K27 (B2,C4)", "x":7.75, "y":2}, + {"label":"K28 (B2,C5)", "x":8.75, "y":2}, + {"label":"K29 (B2,C6)", "x":9.75, "y":2}, + {"label":"K2A (B2,C7)", "x":10.75, "y":2}, + {"label":"K2B (B2,D0)", "x":11.75, "y":2}, + {"label":"K2D (B2,D2)", "x":12.75, "y":2, "w":2.25}, + {"label":"K2E (B2,D3)", "x":15, "y":2}, + {"label":"K30 (B3,B5)", "x":0, "y":3, "w":2.25}, + {"label":"K32 (B3,B7)", "x":2.25, "y":3}, + {"label":"K33 (B3,C0)", "x":3.25, "y":3}, + {"label":"K34 (B3,C1)", "x":4.25, "y":3}, + {"label":"K35 (B3,C2)", "x":5.25, "y":3}, + {"label":"K36 (B3,C3)", "x":6.25, "y":3}, + {"label":"K37 (B3,C4)", "x":7.25, "y":3}, + {"label":"K38 (B3,C5)", "x":8.25, "y":3}, + {"label":"K39 (B3,C6)", "x":9.25, "y":3}, + {"label":"K3A (B3,C7)", "x":10.25, "y":3}, + {"label":"K3B (B3,D0)", "x":11.25, "y":3}, + {"label":"K3C (B3,D1)", "x":12.25, "y":3, "w":1.75}, + {"label":"K3D (B3,D2)", "x":14, "y":3}, + {"label":"K3E (B3,D3)", "x":15, "y":3}, + {"label":"K40 (B4,B5)", "x":0, "y":4, "w":1.25}, + {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25}, + {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25}, + {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25}, + {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25}, + {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25}, + {"label":"K4C (B4,D1)", "x":13, "y":4}, + {"label":"K4D (B4,D2)", "x":14, "y":4}, + {"label":"K4E (B4,D3)", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label":"K00 (B0,B5)", "x":0, "y":0}, + {"label":"K01 (B0,B6)", "x":1, "y":0}, + {"label":"K02 (B0,B7)", "x":2, "y":0}, + {"label":"K03 (B0,C0)", "x":3, "y":0}, + {"label":"K04 (B0,C1)", "x":4, "y":0}, + {"label":"K05 (B0,C2)", "x":5, "y":0}, + {"label":"K06 (B0,C3)", "x":6, "y":0}, + {"label":"K07 (B0,C4)", "x":7, "y":0}, + {"label":"K08 (B0,C5)", "x":8, "y":0}, + {"label":"K09 (B0,C6)", "x":9, "y":0}, + {"label":"K0A (B0,C7)", "x":10, "y":0}, + {"label":"K0B (B0,D0)", "x":11, "y":0}, + {"label":"K0C (B0,D1)", "x":12, "y":0}, + {"label":"K0D (B0,D2)", "x":13, "y":0, "w":2}, + {"label":"K0E (B0,D3)", "x":15, "y":0}, + {"label":"K10 (B1,B5)", "x":0, "y":1, "w":1.5}, + {"label":"K11 (B1,B6)", "x":1.5, "y":1}, + {"label":"K12 (B1,B7)", "x":2.5, "y":1}, + {"label":"K13 (B1,C0)", "x":3.5, "y":1}, + {"label":"K14 (B1,C1)", "x":4.5, "y":1}, + {"label":"K15 (B1,C2)", "x":5.5, "y":1}, + {"label":"K16 (B1,C3)", "x":6.5, "y":1}, + {"label":"K17 (B1,C4)", "x":7.5, "y":1}, + {"label":"K18 (B1,C5)", "x":8.5, "y":1}, + {"label":"K19 (B1,C6)", "x":9.5, "y":1}, + {"label":"K1A (B1,C7)", "x":10.5, "y":1}, + {"label":"K1B (B1,D0)", "x":11.5, "y":1}, + {"label":"K1C (B1,D1)", "x":12.5, "y":1}, + {"label":"K1E (B1,D3)", "x":15, "y":1}, + {"label":"K20 (B2,B5)", "x":0, "y":2, "w":1.75}, + {"label":"K21 (B2,B6)", "x":1.75, "y":2}, + {"label":"K22 (B2,B7)", "x":2.75, "y":2}, + {"label":"K23 (B2,C0)", "x":3.75, "y":2}, + {"label":"K24 (B2,C1)", "x":4.75, "y":2}, + {"label":"K25 (B2,C2)", "x":5.75, "y":2}, + {"label":"K26 (B2,C3)", "x":6.75, "y":2}, + {"label":"K27 (B2,C4)", "x":7.75, "y":2}, + {"label":"K28 (B2,C5)", "x":8.75, "y":2}, + {"label":"K29 (B2,C6)", "x":9.75, "y":2}, + {"label":"K2A (B2,C7)", "x":10.75, "y":2}, + {"label":"K2B (B2,D0)", "x":11.75, "y":2}, + {"label":"K2C (B2,D1)", "x":12.75, "y":2}, + {"label":"K2D (B2,D2)", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"K2E (B2,D3)", "x":15, "y":2}, + {"label":"K30 (B3,B5)", "x":0, "y":3, "w":1.25}, + {"label":"K31 (B3,B6)", "x":1.25, "y":3}, + {"label":"K32 (B3,B7)", "x":2.25, "y":3}, + {"label":"K33 (B3,C0)", "x":3.25, "y":3}, + {"label":"K34 (B3,C1)", "x":4.25, "y":3}, + {"label":"K35 (B3,C2)", "x":5.25, "y":3}, + {"label":"K36 (B3,C3)", "x":6.25, "y":3}, + {"label":"K37 (B3,C4)", "x":7.25, "y":3}, + {"label":"K38 (B3,C5)", "x":8.25, "y":3}, + {"label":"K39 (B3,C6)", "x":9.25, "y":3}, + {"label":"K3A (B3,C7)", "x":10.25, "y":3}, + {"label":"K3B (B3,D0)", "x":11.25, "y":3}, + {"label":"K3C (B3,D1)", "x":12.25, "y":3, "w":1.75}, + {"label":"K3D (B3,D2)", "x":14, "y":3}, + {"label":"K3E (B3,D3)", "x":15, "y":3}, + {"label":"K40 (B4,B5)", "x":0, "y":4, "w":1.25}, + {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25}, + {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25}, + {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25}, + {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25}, + {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25}, + {"label":"K4C (B4,D1)", "x":13, "y":4}, + {"label":"K4D (B4,D2)", "x":14, "y":4}, + {"label":"K4E (B4,D3)", "x":15, "y":4} + ] + } + } +} diff --git a/keyboards/mechlovin/kay65/rev1/keymaps/default/keymap.c b/keyboards/mechlovin/kay65/rev1/keymaps/default/keymap.c new file mode 100644 index 000000000000..1607eee4fdc0 --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/keymaps/default/keymap.c @@ -0,0 +1,52 @@ +/* +Copyright 2021 Mechlovin' + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum my_keycodes { + LOGO_LED_ON = USER00, + LOGO_LED_OFF = USER01 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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_HOME, + 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_PGUP, + 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, + 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_LSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LOGO_LED_ON: + if (record->event.pressed) { + writePinHigh(D7); + } + break; + case LOGO_LED_OFF: + if (record->event.pressed) { + writePinLow(D7); + } + break; + } + return true; +}; + diff --git a/keyboards/mechlovin/kay65/rev1/keymaps/default/readme.md b/keyboards/mechlovin/kay65/rev1/keymaps/default/readme.md new file mode 100644 index 000000000000..95a00bd46c8a --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Kay65 \ No newline at end of file diff --git a/keyboards/mechlovin/kay65/rev1/keymaps/via/keymap.c b/keyboards/mechlovin/kay65/rev1/keymaps/via/keymap.c new file mode 100644 index 000000000000..c2bdbf219f59 --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/keymaps/via/keymap.c @@ -0,0 +1,72 @@ +/* +Copyright 2021 Mechlovin' + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum my_keycodes { + LOGO_LED_ON = USER00, + LOGO_LED_OFF = USER01 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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_HOME, + 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_PGUP, + 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, + 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_LSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LOGO_LED_ON: + if (record->event.pressed) { + writePinHigh(D7); + } + break; + case LOGO_LED_OFF: + if (record->event.pressed) { + writePinLow(D7); + } + break; + } + return true; +}; \ No newline at end of file diff --git a/keyboards/mechlovin/kay65/rev1/keymaps/via/readme.md b/keyboards/mechlovin/kay65/rev1/keymaps/via/readme.md new file mode 100644 index 000000000000..9a13f95f0dcd --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/keymaps/via/readme.md @@ -0,0 +1 @@ +# The VIA keymap for Kay65 \ No newline at end of file diff --git a/keyboards/mechlovin/kay65/rev1/keymaps/via/rules.mk b/keyboards/mechlovin/kay65/rev1/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/mechlovin/kay65/rev1/readme.md b/keyboards/mechlovin/kay65/rev1/readme.md new file mode 100644 index 000000000000..dfa454d370d6 --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/readme.md @@ -0,0 +1,27 @@ +# Kay65 + +![Kay65](https://i.imgur.com/tuu6w1Ul.png) + +A 65% PCB with centered USB, RGB underglow and top right LED. + +* Keyboard Maintainer: [Mechlovin' Studio](https://github.com/mechlovin) +* Hardware Supported: Kay65 Rev.1, Atmega32u4 +* Hardware Availability: [Mechlovin' Store](https://mechlovin.studio/) + +Make example for this keyboard (after setting up your build environment): + + make mechlovin/kay65/rev1:default + +Flashing example for this keyboard: + + make mechlovin/kay65/rev1:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/mechlovin/kay65/rev1/rev1.c b/keyboards/mechlovin/kay65/rev1/rev1.c new file mode 100644 index 000000000000..bc894a96e15c --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/rev1.c @@ -0,0 +1,25 @@ +/* +Copyright 2021 Mechlovin' + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "rev1.h" + +void keyboard_pre_init_user(void) { + // Call the keyboard pre init code. + + // Set our LED pins as output + setPinOutput(D7); +} \ No newline at end of file diff --git a/keyboards/mechlovin/kay65/rev1/rev1.h b/keyboards/mechlovin/kay65/rev1/rev1.h new file mode 100644 index 000000000000..7da2a749698c --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/rev1.h @@ -0,0 +1,62 @@ +/* +Copyright 2021 Mechlovin' + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \ +} + +#define LAYOUT_65_ansi_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \ +} + +#define LAYOUT_65_iso_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \ +} diff --git a/keyboards/mechlovin/kay65/rev1/rules.mk b/keyboards/mechlovin/kay65/rev1/rules.mk new file mode 100644 index 000000000000..a9dd139c6bfb --- /dev/null +++ b/keyboards/mechlovin/kay65/rev1/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi_blocker 65_iso_blocker diff --git a/keyboards/mechlovin/olly/jf/config.h b/keyboards/mechlovin/olly/jf/config.h index 66826aafa4e5..f1c40cb36590 100644 --- a/keyboards/mechlovin/olly/jf/config.h +++ b/keyboards/mechlovin/olly/jf/config.h @@ -72,3 +72,7 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 1 +#define BOOTMAGIC_LITE_COLUMN 14 diff --git a/keyboards/mechlovin/olly/jf/keymaps/via/config.h b/keyboards/mechlovin/olly/jf/keymaps/via/config.h index 82c2e51eb914..01d7e4bc38fa 100644 --- a/keyboards/mechlovin/olly/jf/keymaps/via/config.h +++ b/keyboards/mechlovin/olly/jf/keymaps/via/config.h @@ -17,4 +17,5 @@ along with this program. If not, see . #pragma once -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 +#define DYNAMIC_KEYMAP_LAYER_COUNT 2 + diff --git a/keyboards/mechlovin/olly/jf/keymaps/via/keymap.c b/keyboards/mechlovin/olly/jf/keymaps/via/keymap.c index 18ac685abc79..947b3b0d35c2 100644 --- a/keyboards/mechlovin/olly/jf/keymaps/via/keymap.c +++ b/keyboards/mechlovin/olly/jf/keymaps/via/keymap.c @@ -32,12 +32,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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 ), - [2] = LAYOUT_all( - 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), + }; \ No newline at end of file diff --git a/keyboards/mechlovin/olly/jf/readme.md b/keyboards/mechlovin/olly/jf/readme.md index b45498f849c8..6a6bbc415a53 100644 --- a/keyboards/mechlovin/olly/jf/readme.md +++ b/keyboards/mechlovin/olly/jf/readme.md @@ -18,6 +18,7 @@ Flashing example for this keyboard: 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). -**Reset Key:** 2 ways to put the Olly JF into bootloader: +**Reset Key:** 3 ways to put the Olly JF into bootloader: By keycode: Tap RESET keycode. -By bootloader: hold ESC key while plugging in \ No newline at end of file +By Bootloader: hold ESC key while plugging in (jump to bootloader) +By Bootmagic: hold Insert key while pluging in (jump to bootloader and reset EEPROM) \ No newline at end of file From 2d9c3f9a89c502e76eacb485e984ba467d72048e Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 15 Mar 2022 11:38:53 +1100 Subject: [PATCH 0387/1832] Add SN74x154 driver and convert AL1 custom matrix (#16331) --- drivers/gpio/sn74x154.c | 58 +++++++++++++++ drivers/gpio/sn74x154.h | 48 +++++++++++++ keyboards/al1/config.h | 5 ++ keyboards/al1/matrix.c | 152 +++++++++++++++++++++------------------- keyboards/al1/rules.mk | 3 +- 5 files changed, 194 insertions(+), 72 deletions(-) create mode 100644 drivers/gpio/sn74x154.c create mode 100644 drivers/gpio/sn74x154.h diff --git a/drivers/gpio/sn74x154.c b/drivers/gpio/sn74x154.c new file mode 100644 index 000000000000..5f21f12b55f7 --- /dev/null +++ b/drivers/gpio/sn74x154.c @@ -0,0 +1,58 @@ +/* Copyright 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "sn74x154.h" +#include "gpio.h" + +#define ADDRESS_PIN_COUNT 4 + +#ifndef SN74X154_ADDRESS_PINS +# error sn74x154: no address pins defined! +#endif + +static const pin_t address_pins[ADDRESS_PIN_COUNT] = SN74X154_ADDRESS_PINS; + +void sn74x154_init(void) { + for (int i = 0; i < ADDRESS_PIN_COUNT; i++) { + setPinOutput(address_pins[i]); + writePinLow(address_pins[i]); + } + +#if defined(SN74X154_E0_PIN) + setPinOutput(SN74X154_E0_PIN); + writePinHigh(SN74X154_E0_PIN); +#endif + +#if defined(SN74X154_E1_PIN) + setPinOutput(SN74X154_E1_PIN); + writePinHigh(SN74X154_E1_PIN); +#endif +} + +void sn74x154_set_enabled(bool enabled) { +#if defined(SN74X154_E0_PIN) + writePin(SN74X154_E0_PIN, !enabled); +#endif +#if defined(SN74X154_E1_PIN) + writePin(SN74X154_E1_PIN, !enabled); +#endif +} + +void sn74x154_set_addr(uint8_t address) { + for (int i = 0; i < ADDRESS_PIN_COUNT; i++) { + writePin(address_pins[i], address & (1 << i)); + } +} diff --git a/drivers/gpio/sn74x154.h b/drivers/gpio/sn74x154.h new file mode 100644 index 000000000000..ce6a9ddb0e94 --- /dev/null +++ b/drivers/gpio/sn74x154.h @@ -0,0 +1,48 @@ +/* Copyright 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include + +/** + * Driver for 74x154 4-to-16 decoder/demultiplexer with inverting outputs + * https://assets.nexperia.com/documents/data-sheet/74HC_HCT154.pdf + */ + +/** + * Initialize the address and output enable pins. + */ +void sn74x154_init(void); + +/** + * Set the enabled state. + * + * When enabled is true, pulls the E0 and E1 pins low. + * + * \param enabled The enable state to set. + */ +void sn74x154_set_enabled(bool enabled); + +/** + * Set the output pin address. + * + * The selected output pin will be pulled low, while the remaining output pins will be high. + * + * \param address The address to set, from 0 to 15. + */ +void sn74x154_set_addr(uint8_t address); diff --git a/keyboards/al1/config.h b/keyboards/al1/config.h index c8edb8ebfe54..570eb03ae2f0 100644 --- a/keyboards/al1/config.h +++ b/keyboards/al1/config.h @@ -30,6 +30,11 @@ along with this program. If not, see . #define MATRIX_ROWS 6 #define MATRIX_COLS 16 +#define MATRIX_ROW_PINS { C7, B1, B2, C6, B4, B5 } + +#define SN74X154_ADDRESS_PINS { D4, D5, D6, D7 } +#define SN74X154_E1_PIN D3 + #define LED_NUM_LOCK_PIN D0 #define LED_CAPS_LOCK_PIN B7 #define LED_SCROLL_LOCK_PIN D1 diff --git a/keyboards/al1/matrix.c b/keyboards/al1/matrix.c index 1407cbc089ae..e3d7971f1c2d 100644 --- a/keyboards/al1/matrix.c +++ b/keyboards/al1/matrix.c @@ -1,91 +1,101 @@ -#include "matrix.h" +/* Copyright 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "matrix.h" #include "gpio.h" +#include "sn74x154.h" -static uint8_t read_rows(void) { - return (readPin(C7) ? 0 : 1) | - (readPin(B1) ? 0 : 2) | - (readPin(B2) ? 0 : 4) | - (readPin(C6) ? 0 : 8) | - (readPin(B4) ? 0 : 16) | - (readPin(B5) ? 0 : 32); -} +static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +/* All columns use a 74HC154 4-to-16 demultiplexer. + * D3 is the enable pin, must be set high to use it. + * + * A3 A2 A1 A0 + * D7 D6 D5 D4 + * 0: 0 0 0 0 + * 1: 0 0 0 1 + * 2: 0 0 1 0 + * 3: 0 0 1 1 + * 4: 0 1 0 0 + * 5: 0 1 0 1 + * 6: 0 1 1 0 + * 7: 0 1 1 1 + * 8: 1 0 0 0 + * 9: 1 0 0 1 + * 10: 1 0 1 0 + * 11: 1 0 1 1 + * 12: 1 1 0 0 + * 13: 1 1 0 1 + * 14: 1 1 1 0 + * 15: 1 1 1 1 + */ static void select_col(uint8_t col) { - writePinLow(D3); - - writePin(D4, (col & 1)); - writePin(D5, (col & 2)); - writePin(D6, (col & 4)); - writePin(D7, (col & 8)); + sn74x154_set_addr(col); } -static void unselect_cols(void) { - writePinHigh(D3); +static void init_pins(void) { + for (uint8_t x = 0; x < MATRIX_ROWS; x++) { + setPinInputHigh(row_pins[x]); + } } -void matrix_init_custom(void) { - /* 74HC154 col pin configuration - * pin: D3 D7 D6 D5 D4 - * row: off 0 x x x x - * 0 1 0 0 0 0 - * 1 1 0 0 0 1 - * 2 1 0 0 1 0 - * 3 1 0 0 1 1 - * 4 1 0 1 0 0 - * 5 1 0 1 0 1 - * 6 1 0 1 1 0 - * 7 1 0 1 1 1 - * 8 1 1 0 0 0 - * 9 1 1 0 0 1 - * 10 1 1 0 1 0 - * 11 1 1 0 1 1 - * 12 1 1 1 0 0 - * 13 1 1 1 0 1 - * 14 1 1 1 1 0 - * 15 1 1 1 1 1 - */ - setPinOutput(D3); - writePinHigh(D3); +static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { + bool matrix_changed = false; + + // Select col and wait for col seleciton to stabilize + select_col(current_col); + matrix_io_delay(); - setPinOutput(D4); - setPinOutput(D5); - setPinOutput(D6); - setPinOutput(D7); + // For each row... + for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) { + // Store last value of row prior to reading + matrix_row_t last_row_value = current_matrix[row_index]; + // Check row pin state + if (readPin(row_pins[row_index]) == 0) { + // Pin LO, set col bit + current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); + } else { + // Pin HI, clear col bit + current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); + } - /* Row pin configuration - * - * row: 0 1 2 3 4 5 - * pin: C7 B1 B2 C6 B4 B5 - * - */ - setPinInputHigh(C7); - setPinInputHigh(B1); - setPinInputHigh(B2); - setPinInputHigh(C6); - setPinInputHigh(B4); - setPinInputHigh(B5); + // Determine if the matrix changed state + if ((last_row_value != current_matrix[row_index]) && !(matrix_changed)) { + matrix_changed = true; + } + } + + return matrix_changed; +} + +void matrix_init_custom(void) { + // initialize demultiplexer + sn74x154_init(); + sn74x154_set_enabled(true); + // initialize key pins + init_pins(); } bool matrix_scan_custom(matrix_row_t current_matrix[]) { bool changed = false; - for (uint8_t col = 0; col < MATRIX_COLS; col++) { - select_col(col); - matrix_io_delay(); - uint8_t rows = read_rows(); - - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - bool prev_bit = current_matrix[row] & ((matrix_row_t)1 << col); - bool curr_bit = rows & (1 << row); - - if (prev_bit != curr_bit) { - current_matrix[row] ^= ((matrix_row_t)1 << col); - changed = true; - } - } - unselect_cols(); + // Set col, read rows + for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { + changed |= read_rows_on_col(current_matrix, current_col); } return changed; diff --git a/keyboards/al1/rules.mk b/keyboards/al1/rules.mk index 670712f661ec..1f8e81de20f4 100644 --- a/keyboards/al1/rules.mk +++ b/keyboards/al1/rules.mk @@ -18,4 +18,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = lite -SRC += matrix.c +VPATH += drivers/gpio +SRC += matrix.c sn74x154.c From 04826d1aa175c5aeb808ae9af8d90d164532f199 Mon Sep 17 00:00:00 2001 From: evanmcook <42785294+evanmcook@users.noreply.github.com> Date: Mon, 14 Mar 2022 21:56:27 -0400 Subject: [PATCH 0388/1832] [Keyboard] evancookaudio sleepingdinosaur v2 (#16625) --- .../evancookaudio/sleepingdinosaur/config.h | 4 +- .../sleepingdinosaur/keymaps/via/keymap.c | 61 +++++++++++++++++++ .../sleepingdinosaur/keymaps/via/rules.mk | 1 + .../evancookaudio/sleepingdinosaur/rules.mk | 4 +- 4 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 keyboards/evancookaudio/sleepingdinosaur/keymaps/via/keymap.c create mode 100644 keyboards/evancookaudio/sleepingdinosaur/keymaps/via/rules.mk diff --git a/keyboards/evancookaudio/sleepingdinosaur/config.h b/keyboards/evancookaudio/sleepingdinosaur/config.h index 4412e9eb6034..c03ce94c1e9e 100644 --- a/keyboards/evancookaudio/sleepingdinosaur/config.h +++ b/keyboards/evancookaudio/sleepingdinosaur/config.h @@ -37,8 +37,8 @@ /* key matrix pins */ -#define MATRIX_ROW_PINS {D0, D1, D4, C6, D7} -#define MATRIX_COL_PINS {F4, F5, F6, F7, B1, B3} +#define MATRIX_ROW_PINS {D1, D0, D4, C6, D7} +#define MATRIX_COL_PINS {B3, B1, F7, F6, F5, F4} #define UNUSED_PINS {B2, B6, B7, D5, C7, F1, F0, B4, E6} diff --git a/keyboards/evancookaudio/sleepingdinosaur/keymaps/via/keymap.c b/keyboards/evancookaudio/sleepingdinosaur/keymaps/via/keymap.c new file mode 100644 index 000000000000..250f3bee7c4e --- /dev/null +++ b/keyboards/evancookaudio/sleepingdinosaur/keymaps/via/keymap.c @@ -0,0 +1,61 @@ +/* Copyright 2022 evan cook + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* LAYER 0 + * ,-----------------------------------------------. + * | 1 | 2 | 3 | 4 | 5 | - | + * |-------+-------+-------|-------|-------|-------| + * | 6 | 7 | 8 | 9 | 0 | R | + * |-------+-------+-------|-------|-------|-------| + * | LT(/) | Q | W | E | U | V | + * -------+-------+-------|-------|-------|-------| + * | ENTER | A | S | D | SPACE | O | + * | |-------+-------+-------| |-------| + * | | Z | X | C | | N | + * ,-----------------------------------------------. + */ +LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, + KC_6, KC_7, KC_8, KC_9, KC_0, KC_R, + LT(1,KC_SLSH), KC_Q, KC_W, KC_E, KC_U, KC_V, + KC_ENT, KC_A, KC_S, KC_D, KC_SPC, KC_O, + KC_Z, KC_X, KC_C, KC_N +) +LAYOUT( + 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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +) +LAYOUT( + 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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +) +LAYOUT( + 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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +) +}; diff --git a/keyboards/evancookaudio/sleepingdinosaur/keymaps/via/rules.mk b/keyboards/evancookaudio/sleepingdinosaur/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/evancookaudio/sleepingdinosaur/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/evancookaudio/sleepingdinosaur/rules.mk b/keyboards/evancookaudio/sleepingdinosaur/rules.mk index 6cf6d9358b27..94d6846c6c70 100644 --- a/keyboards/evancookaudio/sleepingdinosaur/rules.mk +++ b/keyboards/evancookaudio/sleepingdinosaur/rules.mk @@ -7,9 +7,9 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control +EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover From 5e5047f071e7fad23104df76c47f059ce47bad84 Mon Sep 17 00:00:00 2001 From: Pear <93159069+WestMProducts@users.noreply.github.com> Date: Mon, 14 Mar 2022 20:55:33 -0700 Subject: [PATCH 0389/1832] [Keyboard westm68 rev1 and fine tune westm boards (#16528) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/westm/westm68/config.h | 24 ++++--------------- keyboards/westm/westm68/halconf.h | 1 - keyboards/westm/westm68/rev1/config.h | 34 +++++++++++++++++++++++++++ keyboards/westm/westm68/rev1/rev1.c | 22 +++++++++++++++++ keyboards/westm/westm68/rev1/rev1.h | 17 ++++++++++++++ keyboards/westm/westm68/rev1/rules.mk | 0 keyboards/westm/westm68/westm68.c | 3 +-- keyboards/westm/westmergo/westmergo.c | 2 +- 8 files changed, 80 insertions(+), 23 deletions(-) create mode 100644 keyboards/westm/westm68/rev1/config.h create mode 100644 keyboards/westm/westm68/rev1/rev1.c create mode 100644 keyboards/westm/westm68/rev1/rev1.h create mode 100644 keyboards/westm/westm68/rev1/rules.mk diff --git a/keyboards/westm/westm68/config.h b/keyboards/westm/westm68/config.h index ceecbb914cfd..42e3eeb5a437 100644 --- a/keyboards/westm/westm68/config.h +++ b/keyboards/westm/westm68/config.h @@ -16,10 +16,13 @@ #pragma once +#include "config_common.h" + +/* Ensure we jump to bootloader if the RESET keycode was pressed */ +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE + /* USB Device descriptor parameter */ #define VENDOR_ID 0x574D // WM -#define PRODUCT_ID 0x0001 -#define DEVICE_VER 0x0001 // Revision prototype #define MANUFACTURER WestM #define PRODUCT WestM68 @@ -31,23 +34,6 @@ #define MATRIX_COL_PINS { B14, B13, B12, B11, B10, B2, B1, B8, B7, B6, B5, B4, B3, A15, A14 } #define DIODE_DIRECTION COL2ROW -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -// The pin connected to the data pin of the LEDs -#define RGB_DI_PIN A8 -#define RGBLED_NUM 19 - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 diff --git a/keyboards/westm/westm68/halconf.h b/keyboards/westm/westm68/halconf.h index a73f08fb6dad..a0a9318360ef 100644 --- a/keyboards/westm/westm68/halconf.h +++ b/keyboards/westm/westm68/halconf.h @@ -14,7 +14,6 @@ * along with this program. If not, see . */ - #pragma once #define HAL_USE_PWM TRUE diff --git a/keyboards/westm/westm68/rev1/config.h b/keyboards/westm/westm68/rev1/config.h new file mode 100644 index 000000000000..0e43d9861334 --- /dev/null +++ b/keyboards/westm/westm68/rev1/config.h @@ -0,0 +1,34 @@ +/* Copyright 2021 WestM + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0001 + +// The pin connected to the data pin of the LEDs +#define RGB_DI_PIN A8 +#define RGBLED_NUM 16 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE \ No newline at end of file diff --git a/keyboards/westm/westm68/rev1/rev1.c b/keyboards/westm/westm68/rev1/rev1.c new file mode 100644 index 000000000000..d198c1447ae5 --- /dev/null +++ b/keyboards/westm/westm68/rev1/rev1.c @@ -0,0 +1,22 @@ +/* Copyright 2021 WestM + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "rev1.h" + +void board_init(void) { + rgblight_toggle(); // Fixes if LEDs were off in the first place buggy LED turns on + rgblight_set(); // Need this to fix buggy first LED upon plugging in PCB +} \ No newline at end of file diff --git a/keyboards/westm/westm68/rev1/rev1.h b/keyboards/westm/westm68/rev1/rev1.h new file mode 100644 index 000000000000..e30df949a944 --- /dev/null +++ b/keyboards/westm/westm68/rev1/rev1.h @@ -0,0 +1,17 @@ +/* Copyright 2021 WestM + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "westm68.h" \ No newline at end of file diff --git a/keyboards/westm/westm68/rev1/rules.mk b/keyboards/westm/westm68/rev1/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/westm/westm68/westm68.c b/keyboards/westm/westm68/westm68.c index f5ec4962474e..e30df949a944 100644 --- a/keyboards/westm/westm68/westm68.c +++ b/keyboards/westm/westm68/westm68.c @@ -14,5 +14,4 @@ * along with this program. If not, see . */ - -#include "westm68.h" +#include "westm68.h" \ No newline at end of file diff --git a/keyboards/westm/westmergo/westmergo.c b/keyboards/westm/westmergo/westmergo.c index d78a8f9d4ea6..18055d3789be 100644 --- a/keyboards/westm/westmergo/westmergo.c +++ b/keyboards/westm/westmergo/westmergo.c @@ -14,4 +14,4 @@ * along with this program. If not, see . */ -#include "westmergo.h" +#include "westmergo.h" \ No newline at end of file From 36ddb567cc21944b6bdc76807ca08c3b44978dc5 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Mon, 14 Mar 2022 22:00:57 -0600 Subject: [PATCH 0390/1832] [Keyboard] Fix mechlovin/kay65 (#16653) --- keyboards/mechlovin/kay65/{rev1 => }/config.h | 0 keyboards/mechlovin/kay65/{rev1 => }/info.json | 0 keyboards/mechlovin/kay65/{rev1/rev1.c => kay65.c} | 4 ++-- keyboards/mechlovin/kay65/{rev1/rev1.h => kay65.h} | 0 .../mechlovin/kay65/{rev1 => }/keymaps/default/keymap.c | 6 +++--- .../mechlovin/kay65/{rev1 => }/keymaps/default/readme.md | 0 keyboards/mechlovin/kay65/{rev1 => }/keymaps/via/keymap.c | 4 ++-- keyboards/mechlovin/kay65/{rev1 => }/keymaps/via/readme.md | 0 keyboards/mechlovin/kay65/{rev1 => }/keymaps/via/rules.mk | 0 keyboards/mechlovin/kay65/{rev1 => }/readme.md | 4 ++-- keyboards/mechlovin/kay65/{rev1 => }/rules.mk | 0 11 files changed, 9 insertions(+), 9 deletions(-) rename keyboards/mechlovin/kay65/{rev1 => }/config.h (100%) rename keyboards/mechlovin/kay65/{rev1 => }/info.json (100%) rename keyboards/mechlovin/kay65/{rev1/rev1.c => kay65.c} (97%) rename keyboards/mechlovin/kay65/{rev1/rev1.h => kay65.h} (100%) rename keyboards/mechlovin/kay65/{rev1 => }/keymaps/default/keymap.c (96%) rename keyboards/mechlovin/kay65/{rev1 => }/keymaps/default/readme.md (100%) rename keyboards/mechlovin/kay65/{rev1 => }/keymaps/via/keymap.c (99%) rename keyboards/mechlovin/kay65/{rev1 => }/keymaps/via/readme.md (100%) rename keyboards/mechlovin/kay65/{rev1 => }/keymaps/via/rules.mk (100%) rename keyboards/mechlovin/kay65/{rev1 => }/readme.md (92%) rename keyboards/mechlovin/kay65/{rev1 => }/rules.mk (100%) diff --git a/keyboards/mechlovin/kay65/rev1/config.h b/keyboards/mechlovin/kay65/config.h similarity index 100% rename from keyboards/mechlovin/kay65/rev1/config.h rename to keyboards/mechlovin/kay65/config.h diff --git a/keyboards/mechlovin/kay65/rev1/info.json b/keyboards/mechlovin/kay65/info.json similarity index 100% rename from keyboards/mechlovin/kay65/rev1/info.json rename to keyboards/mechlovin/kay65/info.json diff --git a/keyboards/mechlovin/kay65/rev1/rev1.c b/keyboards/mechlovin/kay65/kay65.c similarity index 97% rename from keyboards/mechlovin/kay65/rev1/rev1.c rename to keyboards/mechlovin/kay65/kay65.c index bc894a96e15c..abc6a7f8d412 100644 --- a/keyboards/mechlovin/kay65/rev1/rev1.c +++ b/keyboards/mechlovin/kay65/kay65.c @@ -15,11 +15,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "rev1.h" +#include "kay65.h" void keyboard_pre_init_user(void) { // Call the keyboard pre init code. // Set our LED pins as output setPinOutput(D7); -} \ No newline at end of file +} diff --git a/keyboards/mechlovin/kay65/rev1/rev1.h b/keyboards/mechlovin/kay65/kay65.h similarity index 100% rename from keyboards/mechlovin/kay65/rev1/rev1.h rename to keyboards/mechlovin/kay65/kay65.h diff --git a/keyboards/mechlovin/kay65/rev1/keymaps/default/keymap.c b/keyboards/mechlovin/kay65/keymaps/default/keymap.c similarity index 96% rename from keyboards/mechlovin/kay65/rev1/keymaps/default/keymap.c rename to keyboards/mechlovin/kay65/keymaps/default/keymap.c index 1607eee4fdc0..cc7cdc44fa78 100644 --- a/keyboards/mechlovin/kay65/rev1/keymaps/default/keymap.c +++ b/keyboards/mechlovin/kay65/keymaps/default/keymap.c @@ -18,8 +18,8 @@ along with this program. If not, see . #include QMK_KEYBOARD_H enum my_keycodes { - LOGO_LED_ON = USER00, - LOGO_LED_OFF = USER01 + LOGO_LED_ON = SAFE_RANGE, + LOGO_LED_OFF }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -47,6 +47,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; } - return true; + return true; }; diff --git a/keyboards/mechlovin/kay65/rev1/keymaps/default/readme.md b/keyboards/mechlovin/kay65/keymaps/default/readme.md similarity index 100% rename from keyboards/mechlovin/kay65/rev1/keymaps/default/readme.md rename to keyboards/mechlovin/kay65/keymaps/default/readme.md diff --git a/keyboards/mechlovin/kay65/rev1/keymaps/via/keymap.c b/keyboards/mechlovin/kay65/keymaps/via/keymap.c similarity index 99% rename from keyboards/mechlovin/kay65/rev1/keymaps/via/keymap.c rename to keyboards/mechlovin/kay65/keymaps/via/keymap.c index c2bdbf219f59..02e1b8578d4f 100644 --- a/keyboards/mechlovin/kay65/rev1/keymaps/via/keymap.c +++ b/keyboards/mechlovin/kay65/keymaps/via/keymap.c @@ -68,5 +68,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; } - return true; -}; \ No newline at end of file + return true; +}; diff --git a/keyboards/mechlovin/kay65/rev1/keymaps/via/readme.md b/keyboards/mechlovin/kay65/keymaps/via/readme.md similarity index 100% rename from keyboards/mechlovin/kay65/rev1/keymaps/via/readme.md rename to keyboards/mechlovin/kay65/keymaps/via/readme.md diff --git a/keyboards/mechlovin/kay65/rev1/keymaps/via/rules.mk b/keyboards/mechlovin/kay65/keymaps/via/rules.mk similarity index 100% rename from keyboards/mechlovin/kay65/rev1/keymaps/via/rules.mk rename to keyboards/mechlovin/kay65/keymaps/via/rules.mk diff --git a/keyboards/mechlovin/kay65/rev1/readme.md b/keyboards/mechlovin/kay65/readme.md similarity index 92% rename from keyboards/mechlovin/kay65/rev1/readme.md rename to keyboards/mechlovin/kay65/readme.md index dfa454d370d6..768ce12aa761 100644 --- a/keyboards/mechlovin/kay65/rev1/readme.md +++ b/keyboards/mechlovin/kay65/readme.md @@ -10,11 +10,11 @@ A 65% PCB with centered USB, RGB underglow and top right LED. Make example for this keyboard (after setting up your build environment): - make mechlovin/kay65/rev1:default + make mechlovin/kay65:default Flashing example for this keyboard: - make mechlovin/kay65/rev1:default:flash + make mechlovin/kay65:default:flash 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/mechlovin/kay65/rev1/rules.mk b/keyboards/mechlovin/kay65/rules.mk similarity index 100% rename from keyboards/mechlovin/kay65/rev1/rules.mk rename to keyboards/mechlovin/kay65/rules.mk From 1ef4e305e3a6f1f46235831b4eb06c4a200651b5 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Mon, 14 Mar 2022 22:02:49 -0600 Subject: [PATCH 0391/1832] Fix evancookaudio/sleepingdinosaur (#16654) --- .../evancookaudio/sleepingdinosaur/config.h | 4 +- .../sleepingdinosaur/keymaps/via/keymap.c | 59 +++++++++---------- 2 files changed, 30 insertions(+), 33 deletions(-) diff --git a/keyboards/evancookaudio/sleepingdinosaur/config.h b/keyboards/evancookaudio/sleepingdinosaur/config.h index c03ce94c1e9e..ca1bdbf1c2be 100644 --- a/keyboards/evancookaudio/sleepingdinosaur/config.h +++ b/keyboards/evancookaudio/sleepingdinosaur/config.h @@ -39,6 +39,4 @@ #define MATRIX_ROW_PINS {D1, D0, D4, C6, D7} #define MATRIX_COL_PINS {B3, B1, F7, F6, F5, F4} - -#define UNUSED_PINS {B2, B6, B7, D5, C7, F1, F0, B4, E6} - +#define UNUSED_PINS diff --git a/keyboards/evancookaudio/sleepingdinosaur/keymaps/via/keymap.c b/keyboards/evancookaudio/sleepingdinosaur/keymaps/via/keymap.c index 250f3bee7c4e..53edbf1321c1 100644 --- a/keyboards/evancookaudio/sleepingdinosaur/keymaps/via/keymap.c +++ b/keyboards/evancookaudio/sleepingdinosaur/keymaps/via/keymap.c @@ -15,8 +15,6 @@ */ #include QMK_KEYBOARD_H -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* LAYER 0 * ,-----------------------------------------------. * | 1 | 2 | 3 | 4 | 5 | - | @@ -30,32 +28,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | Z | X | C | | N | * ,-----------------------------------------------. */ -LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, - KC_6, KC_7, KC_8, KC_9, KC_0, KC_R, - LT(1,KC_SLSH), KC_Q, KC_W, KC_E, KC_U, KC_V, - KC_ENT, KC_A, KC_S, KC_D, KC_SPC, KC_O, - KC_Z, KC_X, KC_C, KC_N -) -LAYOUT( - 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -) -LAYOUT( - 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -) -LAYOUT( - 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -) +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, + KC_6, KC_7, KC_8, KC_9, KC_0, KC_R, + LT(1,KC_SLSH), KC_Q, KC_W, KC_E, KC_U, KC_V, + KC_ENT, KC_A, KC_S, KC_D, KC_SPC, KC_O, + KC_Z, KC_X, KC_C, KC_N + ), + [1] = LAYOUT( + 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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + 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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + 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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) }; From 87bb1a3890dd203f4e0fbf8a68455e1ecd25fd0e Mon Sep 17 00:00:00 2001 From: thompson-ele Date: Tue, 15 Mar 2022 00:28:21 -0700 Subject: [PATCH 0392/1832] [Keyboard] Add Bacca70 keyboard (#16626) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre --- keyboards/bacca70/bacca70.c | 17 ++ keyboards/bacca70/bacca70.h | 65 +++++++ keyboards/bacca70/chconf.h | 25 +++ keyboards/bacca70/config.h | 49 +++++ keyboards/bacca70/info.json | 170 ++++++++++++++++++ .../bacca70/keymaps/debaccabean/keymap.c | 40 +++++ .../bacca70/keymaps/dede-special/keymap.c | 74 ++++++++ keyboards/bacca70/keymaps/default/keymap.c | 38 ++++ keyboards/bacca70/keymaps/via/keymap.c | 56 ++++++ keyboards/bacca70/keymaps/via/rules.mk | 1 + keyboards/bacca70/readme.md | 23 +++ keyboards/bacca70/rules.mk | 18 ++ 12 files changed, 576 insertions(+) create mode 100644 keyboards/bacca70/bacca70.c create mode 100644 keyboards/bacca70/bacca70.h create mode 100644 keyboards/bacca70/chconf.h create mode 100644 keyboards/bacca70/config.h create mode 100644 keyboards/bacca70/info.json create mode 100644 keyboards/bacca70/keymaps/debaccabean/keymap.c create mode 100644 keyboards/bacca70/keymaps/dede-special/keymap.c create mode 100644 keyboards/bacca70/keymaps/default/keymap.c create mode 100644 keyboards/bacca70/keymaps/via/keymap.c create mode 100644 keyboards/bacca70/keymaps/via/rules.mk create mode 100644 keyboards/bacca70/readme.md create mode 100644 keyboards/bacca70/rules.mk diff --git a/keyboards/bacca70/bacca70.c b/keyboards/bacca70/bacca70.c new file mode 100644 index 000000000000..174b4d97e72f --- /dev/null +++ b/keyboards/bacca70/bacca70.c @@ -0,0 +1,17 @@ +/* Copyright 2022 keebnewb + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bacca70.h" diff --git a/keyboards/bacca70/bacca70.h b/keyboards/bacca70/bacca70.h new file mode 100644 index 000000000000..0583fd8043b3 --- /dev/null +++ b/keyboards/bacca70/bacca70.h @@ -0,0 +1,65 @@ +/* Copyright 2022 keebnewb + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + #pragma once + + #include "quantum.h" + + #define ___ KC_NO + +#define LAYOUT_default( \ + k00, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k17, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, \ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, \ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k67, \ + k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k96, k87, \ + ka0, ka1, ka3, kb5, ka7 \ +){ \ + { k00, k01, k02, k03, k04, k05, k06, ___ }, \ + { ___, k11, k12, k13, k14, k15, k16, k17 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27 }, \ + { k30, k31, k32, k33, k34, k35, k36, ___ }, \ + { k40, k41, k42, k43, k44, k45, k46, k47 }, \ + { k50, k51, k52, k53, k54, k55, ___, ___ }, \ + { k60, k61, k62, k63, k64, k65, ___, k67 }, \ + { k70, k71, k72, k73, k74, k75, ___, ___ }, \ + { k80, k81, k82, k83, k84, k85, ___, k87 }, \ + { ___, k91, k92, k93, k94, k95, k96, ___ }, \ + { ka0, ka1, ___, ka3, ___, ___, ___, ka7 }, \ + { ___, ___, ___, ___, ___, kb5, ___, ___ } \ +} + +#define LAYOUT_debaccabean( \ + k00, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k17, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, \ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k47, \ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k67, \ + k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k96, k87, \ + ka0, ka1, ka2, ka3, ka4, kb5, ka7 \ +){ \ + { k00, k01, k02, k03, k04, k05, k06, ___ }, \ + { ___, k11, k12, k13, k14, k15, k16, k17 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27 }, \ + { k30, k31, k32, k33, k34, k35, k36, ___ }, \ + { k40, k41, k42, k43, k44, k45, k46, k47 }, \ + { k50, k51, k52, k53, k54, k55, k56, ___ }, \ + { k60, k61, k62, k63, k64, k65, k66, k67 }, \ + { k70, k71, k72, k73, k74, k75, k76, ___ }, \ + { k80, k81, k82, k83, k84, k85, k86, k87 }, \ + { k90, k91, k92, k93, k94, k95, k96, ___ }, \ + { ka0, ka1, ka2, ka3, ka4, ___, ___, ka7 }, \ + { ___, ___, ___, ___, ___, kb5, ___, ___ } \ +} diff --git a/keyboards/bacca70/chconf.h b/keyboards/bacca70/chconf.h new file mode 100644 index 000000000000..9fee9bb49da1 --- /dev/null +++ b/keyboards/bacca70/chconf.h @@ -0,0 +1,25 @@ +/* Copyright 2022 keebnewb + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#include_next diff --git a/keyboards/bacca70/config.h b/keyboards/bacca70/config.h new file mode 100644 index 000000000000..703baaaf3a0b --- /dev/null +++ b/keyboards/bacca70/config.h @@ -0,0 +1,49 @@ +/* +Copyright 2022 keebnewb + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xBACA +#define PRODUCT_ID 0x6970 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Viktus Design LLC +#define PRODUCT Bacca70 + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 8 + +// 0 1 2 3 4 5 6 7 8 9 A B +#define MATRIX_ROW_PINS { A3, A4, A5, A6, A7, B0, B1, B2, B10, B11, A9, A10 } +#define MATRIX_COL_PINS { A0, A1, A2, B12, B13, B14, B15, A8 } +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + + diff --git a/keyboards/bacca70/info.json b/keyboards/bacca70/info.json new file mode 100644 index 000000000000..ddc2f894ac9e --- /dev/null +++ b/keyboards/bacca70/info.json @@ -0,0 +1,170 @@ +{ + "keyboard_name": "Bacca70", + "url": "https://3dkeebs.com/", + "maintainer": "keebnewb", + "layouts": { + "LAYOUT_default": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0}, + {"x":14, "y":0}, + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + {"x":4, "y":1.25}, + {"x":5, "y":1.25}, + {"x":6, "y":1.25}, + {"x":7, "y":1.25}, + {"x":8, "y":1.25}, + {"x":9, "y":1.25}, + {"x":10, "y":1.25}, + {"x":11, "y":1.25}, + {"x":12, "y":1.25}, + {"x":13, "y":1.25}, + {"x":14, "y":1.25}, + {"x":0, "y":2.25, "w":1.5}, + {"x":1.5, "y":2.25}, + {"x":2.5, "y":2.25}, + {"x":3.5, "y":2.25}, + {"x":4.5, "y":2.25}, + {"x":5.5, "y":2.25}, + {"x":6.5, "y":2.25}, + {"x":7.5, "y":2.25}, + {"x":8.5, "y":2.25}, + {"x":9.5, "y":2.25}, + {"x":10.5, "y":2.25}, + {"x":11.5, "y":2.25}, + {"x":12.5, "y":2.25}, + {"x":13.5, "y":2.25, "w":1.5}, + {"x":0, "y":3.25, "w":1.75}, + {"x":1.75, "y":3.25}, + {"x":2.75, "y":3.25}, + {"x":3.75, "y":3.25}, + {"x":4.75, "y":3.25}, + {"x":5.75, "y":3.25}, + {"x":6.75, "y":3.25}, + {"x":7.75, "y":3.25}, + {"x":8.75, "y":3.25}, + {"x":9.75, "y":3.25}, + {"x":10.75, "y":3.25}, + {"x":11.75, "y":3.25}, + {"x":12.75, "y":3.25, "w":2.25}, + {"x":0, "y":4.25, "w":2.25}, + {"x":2.25, "y":4.25}, + {"x":3.25, "y":4.25}, + {"x":4.25, "y":4.25}, + {"x":5.25, "y":4.25}, + {"x":6.25, "y":4.25}, + {"x":7.25, "y":4.25}, + {"x":8.25, "y":4.25}, + {"x":9.25, "y":4.25}, + {"x":10.25, "y":4.25}, + {"x":11.25, "y":4.25}, + {"x":12.25, "y":4.25, "w":1.75}, + {"x":14, "y":4.25}, + {"x":0, "y":5.25, "w":1.5}, + {"x":2.5, "y":5.25, "w":1.5}, + {"x":4, "y":5.25, "w":7}, + {"x":11, "y":5.25, "w":1.5}, + {"x":13.5, "y":5.25, "w":1.5} + ] + }, + "LAYOUT_debaccabean": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0}, + {"x":14, "y":0}, + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + {"x":4, "y":1.25}, + {"x":5, "y":1.25}, + {"x":6, "y":1.25}, + {"x":7, "y":1.25}, + {"x":8, "y":1.25}, + {"x":9, "y":1.25}, + {"x":10, "y":1.25}, + {"x":11, "y":1.25}, + {"x":12, "y":1.25}, + {"x":13, "y":1.25}, + {"x":14, "y":1.25}, + {"x":0, "y":2.25}, + {"x":1, "y":2.25}, + {"x":2, "y":2.25}, + {"x":3, "y":2.25}, + {"x":4, "y":2.25}, + {"x":5, "y":2.25}, + {"x":6, "y":2.25}, + {"x":7, "y":2.25}, + {"x":8, "y":2.25}, + {"x":9, "y":2.25}, + {"x":10, "y":2.25}, + {"x":11, "y":2.25}, + {"x":12, "y":2.25}, + {"x":13, "y":2.25}, + {"x":14, "y":2.25}, + {"x":0, "y":3.25}, + {"x":1, "y":3.25}, + {"x":2, "y":3.25}, + {"x":3, "y":3.25}, + {"x":4, "y":3.25}, + {"x":5, "y":3.25}, + {"x":6, "y":3.25}, + {"x":7, "y":3.25}, + {"x":8, "y":3.25}, + {"x":9, "y":3.25}, + {"x":10, "y":3.25}, + {"x":11, "y":3.25}, + {"x":12, "y":3.25}, + {"x":13, "y":3.25}, + {"x":14, "y":3.25}, + {"x":0, "y":4.25}, + {"x":1, "y":4.25}, + {"x":2, "y":4.25}, + {"x":3, "y":4.25}, + {"x":4, "y":4.25}, + {"x":5, "y":4.25}, + {"x":6, "y":4.25}, + {"x":7, "y":4.25}, + {"x":8, "y":4.25}, + {"x":9, "y":4.25}, + {"x":10, "y":4.25}, + {"x":11, "y":4.25}, + {"x":12, "y":4.25}, + {"x":13, "y":4.25}, + {"x":14, "y":4.25}, + {"x":0, "y":5.25, "w":1.5}, + {"x":2.5, "y":5.25, "w":1.5}, + {"x":4, "y":5.25, "w":3}, + {"x":7, "y":5.25}, + {"x":8, "y":5.25, "w":3}, + {"x":11, "y":5.25, "w":1.5}, + {"x":13.5, "y":5.25, "w":1.5} + ] + } + } +} diff --git a/keyboards/bacca70/keymaps/debaccabean/keymap.c b/keyboards/bacca70/keymaps/debaccabean/keymap.c new file mode 100644 index 000000000000..66e3ec0b5fc2 --- /dev/null +++ b/keyboards/bacca70/keymaps/debaccabean/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2022 keebnewb + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +#define CAP_GUI MT(MOD_LGUI, KC_CAPS) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_debaccabean( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC,KC_INS, KC_RBRC,KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + CAP_GUI,KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, + KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_ENT, + KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RCTL + ), + + [1] = LAYOUT_debaccabean( + RESET, 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,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK,KC_PAUS,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_INS, KC_UP, KC_PGUP,KC_TRNS,KC_TRNS, + KC_TRNS,KC_MPLY,KC_MUTE,KC_VOLD,KC_VOLU,KC_MPRV,KC_MNXT,KC_TRNS,KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,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_HOME,KC_END, KC_PGDN,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/bacca70/keymaps/dede-special/keymap.c b/keyboards/bacca70/keymaps/dede-special/keymap.c new file mode 100644 index 000000000000..1c7514e81b54 --- /dev/null +++ b/keyboards/bacca70/keymaps/dede-special/keymap.c @@ -0,0 +1,74 @@ +/* +Copyright 2022 keebnewb + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +// Windows mods +#define GRV_CTL MT(MOD_LCTL, KC_GRV) +#define BLS_CTL MT(MOD_RCTL, KC_BSLS) +#define TAB_ALT MT(MOD_LALT, KC_TAB) + +// MacOS mods +#define GRV_GUI MT(MOD_LGUI, KC_GRV) +#define BLS_GUI MT(MOD_RGUI, KC_BSLS) +#define TAB_CTL MT(MOD_LCTL, KC_TAB) + +// mod tap bracket shifts +#define LBR_SFT MT(MOD_LSFT, KC_LBRC) +#define RBR_SFT MT(MOD_RSFT, KC_RBRC) + +// Arrow/TenKey/Media Keys/Reset hold with Backspace tap +#define BSPC_LR LT(3, KC_BSPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_debaccabean( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC,KC_GRV, KC_RBRC,KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT, + TAB_ALT,KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, + LBR_SFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,RBR_SFT, + KC_LGUI, GRV_CTL, BSPC_LR,MO(2), KC_SPC, BLS_CTL, KC_RGUI + ), + + // MacOS layer + [1] = LAYOUT_debaccabean( + 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,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,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + TAB_CTL,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,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_LALT, GRV_GUI, KC_TRNS,KC_TRNS,KC_TRNS, BLS_GUI, KC_RALT + ), + + [2] = LAYOUT_debaccabean( + 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,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_UNDS,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_DLR, KC_TRNS,KC_TRNS,KC_TRNS,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_PLUS, + KC_MINS,KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS,KC_TRNS,KC_TRNS,KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + 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, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_debaccabean( + RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,TG(1), + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK,KC_PAUS,KC_TRNS,KC_TRNS, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_UP, KC_PGUP,KC_TRNS,KC_TRNS, + KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MNXT,KC_TRNS,KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS, + KC_MPLY,KC_MUTE,KC_VOLD,KC_VOLU,KC_MPRV,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_HOME,KC_END, KC_PGDN,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/bacca70/keymaps/default/keymap.c b/keyboards/bacca70/keymaps/default/keymap.c new file mode 100644 index 000000000000..65f1252ba604 --- /dev/null +++ b/keyboards/bacca70/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* +Copyright 2022 keebnewb + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_default( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + KC_GRV, 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_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_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_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,KC_RSFT, + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RCTL + ), + + [1] = LAYOUT_default( + 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,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,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,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,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS + ) +}; diff --git a/keyboards/bacca70/keymaps/via/keymap.c b/keyboards/bacca70/keymaps/via/keymap.c new file mode 100644 index 000000000000..a4a74b72521b --- /dev/null +++ b/keyboards/bacca70/keymaps/via/keymap.c @@ -0,0 +1,56 @@ +/* +Copyright 2022 keebnewb + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_default( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + KC_GRV, 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_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_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_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,KC_RSFT, + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RCTL + ), + + [1]=LAYOUT_default( + 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,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,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,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,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS + ), + + [2] = LAYOUT_default( + 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,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,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,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,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS + ), + + [3] = LAYOUT_default( + 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,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,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,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,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS + ) +}; diff --git a/keyboards/bacca70/keymaps/via/rules.mk b/keyboards/bacca70/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/bacca70/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/bacca70/readme.md b/keyboards/bacca70/readme.md new file mode 100644 index 000000000000..2141138b8f6a --- /dev/null +++ b/keyboards/bacca70/readme.md @@ -0,0 +1,23 @@ +# Bacca70 + +![Bacca70](https://imgur.com/TQMALjwh.png) + +The Bacca70 is a winkeyless (WKL) 60% layout that includes a F-row. It's classy, hefty and it was designed by Chewwy (of MechsOnDeck) and BlindAssassin. + +* Keyboard Maintainer: [keebnewb](https://github.com/thompson-ele) +* Hardware Supported: Bacca70 PCB and the ortholinear variant the DeBaccaBean PCB +* Hardware Availability: [3DKeebs](https://3dkeebs.com/) + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key (Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB. The button is next to the MCU. +* **Keycode in layout**: Press the key mapped to `RESET` if it is available. For the default keymap it is on the right alt key on the second layer. + +## Make example for this keyboard (after setting up your build environment): + + make bacca70:default + +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/bacca70/rules.mk b/keyboards/bacca70/rules.mk new file mode 100644 index 000000000000..a0b213f847a8 --- /dev/null +++ b/keyboards/bacca70/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 92a9e7c50b8577e76f2bee9719b344af0e639494 Mon Sep 17 00:00:00 2001 From: PaperCraneKeyboards <96899643+PaperCraneKeyboards@users.noreply.github.com> Date: Tue, 15 Mar 2022 01:29:35 -0700 Subject: [PATCH 0393/1832] [Keyboard] Adding Gerald65 (#15872) * Gerald65 new keyboard files * removing initial population of pck * Initial Gerald65 Keyboard files * Changed diode direction * added fn layer, added picture to readme * directed mo keycode to fn layer * Changes to vendor id and bootloader instructions * Changed to direct image reference * Update keyboards/papercranekeyboards/gerald65/readme.md * Remove no longer used features --- .../papercranekeyboards/gerald65/config.h | 130 ++++++++++++++++++ .../papercranekeyboards/gerald65/gerald65.c | 4 + .../papercranekeyboards/gerald65/gerald65.h | 29 ++++ .../papercranekeyboards/gerald65/info.json | 78 +++++++++++ .../gerald65/keymaps/default/keymap.c | 29 ++++ .../gerald65/keymaps/default/readme.md | 1 + .../papercranekeyboards/gerald65/readme.md | 27 ++++ .../papercranekeyboards/gerald65/rules.mk | 18 +++ 8 files changed, 316 insertions(+) create mode 100644 keyboards/papercranekeyboards/gerald65/config.h create mode 100644 keyboards/papercranekeyboards/gerald65/gerald65.c create mode 100644 keyboards/papercranekeyboards/gerald65/gerald65.h create mode 100644 keyboards/papercranekeyboards/gerald65/info.json create mode 100644 keyboards/papercranekeyboards/gerald65/keymaps/default/keymap.c create mode 100644 keyboards/papercranekeyboards/gerald65/keymaps/default/readme.md create mode 100644 keyboards/papercranekeyboards/gerald65/readme.md create mode 100644 keyboards/papercranekeyboards/gerald65/rules.mk diff --git a/keyboards/papercranekeyboards/gerald65/config.h b/keyboards/papercranekeyboards/gerald65/config.h new file mode 100644 index 000000000000..9e795b150128 --- /dev/null +++ b/keyboards/papercranekeyboards/gerald65/config.h @@ -0,0 +1,130 @@ +// Copyright 2021 PaperCraneKeyboards (@PaperCraneKeyboards) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x5012 // +#define PRODUCT_ID 0x1501 // '21 keyboard 1 +#define DEVICE_VER 0x0001 +#define MANUFACTURER PaperCraneKeyboards +#define PRODUCT gerald65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B7, D6, E6, B4, B5 } +#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, D7, D4, D3, D2, D1, D0, B6, C6, C7 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/papercranekeyboards/gerald65/gerald65.c b/keyboards/papercranekeyboards/gerald65/gerald65.c new file mode 100644 index 000000000000..a33f05d8dcfe --- /dev/null +++ b/keyboards/papercranekeyboards/gerald65/gerald65.c @@ -0,0 +1,4 @@ +// Copyright 2021 PaperCraneKeyboards (@PaperCraneKeyboards) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "gerald65.h" diff --git a/keyboards/papercranekeyboards/gerald65/gerald65.h b/keyboards/papercranekeyboards/gerald65/gerald65.h new file mode 100644 index 000000000000..b433051bb740 --- /dev/null +++ b/keyboards/papercranekeyboards/gerald65/gerald65.h @@ -0,0 +1,29 @@ +// Copyright 2021 PaperCraneKeyboards (@PaperCraneKeyboards) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, \ + k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43, \ + k44, k45, k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, \ + k58, k59, k60, k61, k62, k63, k64, k65, k66 \ +) { \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14}, \ + {k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29}, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, KC_NO, k43}, \ + {k44, k45, k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, KC_NO, k56, k57}, \ + {k58, KC_NO, k59, k60, KC_NO, k61, k62, KC_NO, k63, KC_NO, KC_NO, KC_NO, k64, k65, k66} \ +} diff --git a/keyboards/papercranekeyboards/gerald65/info.json b/keyboards/papercranekeyboards/gerald65/info.json new file mode 100644 index 000000000000..c9b08304b30b --- /dev/null +++ b/keyboards/papercranekeyboards/gerald65/info.json @@ -0,0 +1,78 @@ +{ + "keyboard_name": "gerald65", + "url": "", + "maintainer": "PaperCraneKeyboards", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":8.25, "y":0}, + {"label":"*", "x":9.25, "y":0}, + {"label":"(", "x":10.25, "y":0}, + {"label":")", "x":11.25, "y":0}, + {"label":"_", "x":12.25, "y":0}, + {"label":"+", "x":13.25, "y":0}, + {"label":"Backspace", "x":14.25, "y":0, "w":2}, + {"label":"Delete", "x":16.5, "y":0}, + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":7.75, "y":1}, + {"label":"U", "x":8.75, "y":1}, + {"label":"I", "x":9.75, "y":1}, + {"label":"O", "x":10.75, "y":1}, + {"label":"P", "x":11.75, "y":1}, + {"label":"{", "x":12.75, "y":1}, + {"label":"}", "x":13.75, "y":1}, + {"label":"|", "x":14.75, "y":1, "w":1.5}, + {"label":"Page Up", "x":16.5, "y":1}, + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":8, "y":2}, + {"label":"J", "x":9, "y":2}, + {"label":"K", "x":10, "y":2}, + {"label":"L", "x":11, "y":2}, + {"label":":", "x":12, "y":2}, + {"label":"\"", "x":13, "y":2}, + {"label":"Enter", "x":14, "y":2, "w":2.25}, + {"label":"Page Down", "x":16.5, "y":2}, + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":8.5, "y":3}, + {"label":"M", "x":9.5, "y":3}, + {"label":"<", "x":10.5, "y":3}, + {"label":">", "x":11.5, "y":3}, + {"label":"?", "x":12.5, "y":3}, + {"label":"Shift", "x":13.5, "y":3, "w":1.75}, + {"label":"up", "x":15.5, "y":3}, + {"label":"Home", "x":16.5, "y":3}, + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Alt", "x":3.25, "y":4, "w":1.25}, + {"label":"space", "x":4.5, "y":4, "w":2}, + {"label":"space", "x":6.5, "y":4}, + {"label":"space", "x":8.25, "y":4, "w":2.75}, + {"label":"Win", "x":11, "y":4, "w":1.25}, + {"label":"left", "x":14.5, "y":4}, + {"label":"down", "x":15.5, "y":4}, + {"label":"right", "x":16.5, "y":4} + ] + } + } +} diff --git a/keyboards/papercranekeyboards/gerald65/keymaps/default/keymap.c b/keyboards/papercranekeyboards/gerald65/keymaps/default/keymap.c new file mode 100644 index 000000000000..b7f54ceb7cf6 --- /dev/null +++ b/keyboards/papercranekeyboards/gerald65/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +// Copyright 2021 PaperCraneKeyboards (@PaperCraneKeyboards) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + 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_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_PGUP, + 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, + 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_PAUSE, + KC_LCTL, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT + + ), + [_FN] = LAYOUT( + 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, KC_TRNS, RESET, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + + ) +}; diff --git a/keyboards/papercranekeyboards/gerald65/keymaps/default/readme.md b/keyboards/papercranekeyboards/gerald65/keymaps/default/readme.md new file mode 100644 index 000000000000..e548f34ac489 --- /dev/null +++ b/keyboards/papercranekeyboards/gerald65/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for gerald65 diff --git a/keyboards/papercranekeyboards/gerald65/readme.md b/keyboards/papercranekeyboards/gerald65/readme.md new file mode 100644 index 000000000000..2dafff9e20f1 --- /dev/null +++ b/keyboards/papercranekeyboards/gerald65/readme.md @@ -0,0 +1,27 @@ +# Paper Crane Keyboards Gerald65 + +![gerald65](https://i.imgur.com/Qh9cLeEh.jpeg) + +A 65% ergonomic acrylic keyboard emphasizing customizability. + +* Keyboard Maintainer: [PaperCraneKeyboards](https://github.com/PaperCraneKeyboards) +* Hardware Supported: Gerald65 PCB +* Hardware Availability: [Paper Crane Keyboards](https://papercranekeyboards.com/) + +Make example for this keyboard (after setting up your build environment): + + make papercranekeyboards/gerald65:default + +Flashing example for this keyboard: + + make papercranekeyboards/gerald65:default:flash + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB (located in the center) +* **Keycode in layout**: Press the key mapped to `RESET` if it is available. To do this, hold down the key to the right of the left spacebar (1u key in the center of bottom row), and then also press the key in the top right (by default, the delete key). + +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/papercranekeyboards/gerald65/rules.mk b/keyboards/papercranekeyboards/gerald65/rules.mk new file mode 100644 index 000000000000..1275531ef6d6 --- /dev/null +++ b/keyboards/papercranekeyboards/gerald65/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 9aaf4a5a9b19f1e2a12c3f2508e2083f7ec58bec Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Tue, 15 Mar 2022 16:31:17 +0800 Subject: [PATCH 0394/1832] Add split keyboard example for Bootmagic Lite (#16349) * Add split keyboard example for bootmagic lite * Add handedness link * Edit sentence structure * Apply suggested language correction --- docs/feature_bootmagic.md | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/docs/feature_bootmagic.md b/docs/feature_bootmagic.md index 6b3c7e45fd14..4239cdfd2a26 100644 --- a/docs/feature_bootmagic.md +++ b/docs/feature_bootmagic.md @@ -23,14 +23,35 @@ And to trigger the bootloader, you hold this key down when plugging the keyboard ## Split Keyboards -When handedness is predetermined via an option like `SPLIT_HAND_PIN`, you might need to configure a different key between halves. To do so, add these entries to your `config.h` file: +When [handedness](feature_split_keyboard.md#setting-handedness) is predetermined via options like `SPLIT_HAND_PIN` or `EE_HANDS`, you might need to configure a different key between halves. To identify the correct key for the right half, examine the split key matrix defined in the `.h` file, e.g.: + +```c +#define LAYOUT_split_3x5_2( \ + L01, L02, L03, L04, L05, R01, R02, R03, R04, R05, \ + L06, L07, L08, L09, L10, R06, R07, R08, R09, R10, \ + L11, L12, L13, L14, L15, R11, R12, R13, R14, R15, \ + L16, L17, R16, R17 \ + ) \ + { \ + { L01, L02, L03, L04, L05 }, \ + { L06, L07, L08, L09, L10 }, \ + { L11, L12, L13, L14, L15 }, \ + { L16, L17, KC_NO, KC_NO, KC_NO }, \ + { R01, R02, R03, R04, R05 }, \ + { R06, R07, R08, R09, R10 }, \ + { R11, R12, R13, R14, R15 }, \ + { R16, R17, KC_NO, KC_NO, KC_NO } \ + } +``` + +If you pick the top right key for the right half, it is `R05` on the top layout. Within the key matrix below, `R05` is located on row 4 columnn 4. To use that key as the right half's Bootmagic Lite trigger, add these entries to your `config.h` file: ```c #define BOOTMAGIC_LITE_ROW_RIGHT 4 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 1 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 4 ``` -By default, these values are not set. +?> These values are not set by default. ## Advanced Bootmagic Lite From e94c2df3f3908295c824e20c0593e718c45a0f56 Mon Sep 17 00:00:00 2001 From: jpuerto96 Date: Tue, 15 Mar 2022 04:35:11 -0400 Subject: [PATCH 0395/1832] [Keyboard] Io mini1800 (#16115) * First commit * first commit * 2x3u layout functional * 625u layout * rotary encoder * Modifications to keymaps * Remove ingrained from io_mini branch * Update readme * Update info.json * change hardware availability * Change rules.mk wording to match other PR * Update keyboards/io_mini1800/rules.mk * Update keyboards/io_mini1800/keymaps/default/keymap.c * Update keyboards/io_mini1800/keymaps/2x3u/keymap.c * Update keyboards/io_mini1800/io_mini1800.c * Update keyboards/io_mini1800/keymaps/2x3u/readme.md * Update keyboards/io_mini1800/readme.md --- keyboards/io_mini1800/config.h | 40 ++++++++++++++ keyboards/io_mini1800/info.json | 24 +++++++++ keyboards/io_mini1800/io_mini1800.c | 18 +++++++ keyboards/io_mini1800/io_mini1800.h | 52 +++++++++++++++++++ keyboards/io_mini1800/keymaps/2x3u/keymap.c | 21 ++++++++ keyboards/io_mini1800/keymaps/2x3u/readme.md | 1 + .../io_mini1800/keymaps/default/keymap.c | 21 ++++++++ .../io_mini1800/keymaps/default/readme.md | 1 + keyboards/io_mini1800/readme.md | 24 +++++++++ keyboards/io_mini1800/rules.mk | 20 +++++++ 10 files changed, 222 insertions(+) create mode 100644 keyboards/io_mini1800/config.h create mode 100644 keyboards/io_mini1800/info.json create mode 100644 keyboards/io_mini1800/io_mini1800.c create mode 100644 keyboards/io_mini1800/io_mini1800.h create mode 100644 keyboards/io_mini1800/keymaps/2x3u/keymap.c create mode 100644 keyboards/io_mini1800/keymaps/2x3u/readme.md create mode 100644 keyboards/io_mini1800/keymaps/default/keymap.c create mode 100644 keyboards/io_mini1800/keymaps/default/readme.md create mode 100644 keyboards/io_mini1800/readme.md create mode 100644 keyboards/io_mini1800/rules.mk diff --git a/keyboards/io_mini1800/config.h b/keyboards/io_mini1800/config.h new file mode 100644 index 000000000000..ea7efd8ff469 --- /dev/null +++ b/keyboards/io_mini1800/config.h @@ -0,0 +1,40 @@ +// Copyright 2022 s8erdude (@jpuerto96) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER jpuerto96 +#define PRODUCT io_mini1800 + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 10 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D6, D7, B4, B5, D4, E6, B3, D2, D5, D3 } +#define MATRIX_COL_PINS { D1, D0, B7, B2, F0, F1, F7, F6, F4, F5 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define ENCODERS_PAD_A { B0 } +#define ENCODERS_PAD_B { B1 } + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/io_mini1800/info.json b/keyboards/io_mini1800/info.json new file mode 100644 index 000000000000..020a776027e4 --- /dev/null +++ b/keyboards/io_mini1800/info.json @@ -0,0 +1,24 @@ +{ + "keyboard_name": "io_mini1800", + "url": "https://github.com/jpuerto96", + "maintainer": "jpuerto96 (s8erdude)", + "layouts": { + "LAYOUT_625u": { + "layout": [ + {"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Ins", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"Num Lock", "x":17.5, "y":0}, {"label":"/", "x":18.5, "y":0}, {"label":"*", "x":19.5, "y":0}, {"label":"-", "x":20.5, "y":0}, + {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"End", "x":15.25, "y":1}, {"label":"Del", "x":16.25, "y":1}, {"label":"7", "x":17.5, "y":1}, {"label":"8", "x":18.5, "y":1}, {"label":"9", "x":19.5, "y":1}, {"label":"+", "x":20.5, "y":1, "h":2}, + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":17.5, "y":2}, {"label":"5", "x":18.5, "y":2}, {"label":"6", "x":19.5, "y":2}, + {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Up", "x":15.75, "y":3.5}, {"label":"1", "x":17.5, "y":3}, {"label":"2", "x":18.5, "y":3}, {"label":"3", "x":19.5, "y":3}, + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Win", "x":11.5, "y":4, "w":1.25}, {"label":"Fn", "x":12.75, "y":4, "w":1.25}, {"label":"Left", "x":14.75, "y":4.5}, {"label":"Down", "x":15.75, "y":4.5}, {"label":"Right", "x":16.75, "y":4.5}, {"label":"0", "x":18.5, "y":4}, {"label":".", "x":19.5, "y":4}, {"label":"Enter", "x":20.5, "y":3, "h":2} + ] + }, + "LAYOUT_2x3u": { + "layout": [ + {"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Ins", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"Num Lock", "x":17.5, "y":0}, {"label":"/", "x":18.5, "y":0}, {"label":"*", "x":19.5, "y":0}, {"label":"-", "x":20.5, "y":0}, + {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"End", "x":15.25, "y":1}, {"label":"Del", "x":16.25, "y":1}, {"label":"7", "x":17.5, "y":1}, {"label":"8", "x":18.5, "y":1}, {"label":"9", "x":19.5, "y":1}, {"label":"+", "x":20.5, "y":1, "h":2}, + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":17.5, "y":2}, {"label":"5", "x":18.5, "y":2}, {"label":"6", "x":19.5, "y":2}, + {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Up", "x":15.75, "y":3.5}, {"label":"1", "x":17.5, "y":3}, {"label":"2", "x":18.5, "y":3}, {"label":"3", "x":19.5, "y":3}, + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":3}, {"x":6.75, "y":4, "w":3}, {"label":"Alt", "x":9.75, "y":4, "w":1.5}, {"label":"Win", "x":11.25, "y":4, "w":1.5}, {"label":"Fn", "x":12.75, "y":4, "w":1.25}, {"label":"Left", "x":14.75, "y":4.5}, {"label":"Down", "x":15.75, "y":4.5}, {"label":"Right", "x":16.75, "y":4.5}, {"label":"0", "x":18.5, "y":4}, {"label":".", "x":19.5, "y":4}, {"label":"Enter", "x":20.5, "y":3, "h":2}] + } + } +} diff --git a/keyboards/io_mini1800/io_mini1800.c b/keyboards/io_mini1800/io_mini1800.c new file mode 100644 index 000000000000..aa500c469a08 --- /dev/null +++ b/keyboards/io_mini1800/io_mini1800.c @@ -0,0 +1,18 @@ +// Copyright 2022 s8erdude (@jpuerto96) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "io_mini1800.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } + return true; +} +#endif diff --git a/keyboards/io_mini1800/io_mini1800.h b/keyboards/io_mini1800/io_mini1800.h new file mode 100644 index 000000000000..634592d62c9b --- /dev/null +++ b/keyboards/io_mini1800/io_mini1800.h @@ -0,0 +1,52 @@ +// Copyright 2022 s8erdude (@jpuerto96) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_2x3u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k59, k58, k57, k56, k55, k54, k53, k52, k51, k50, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k69, k68, k67, k66, k65, k64, k63, k62, k61, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k79, k78, k77, k73, k72, k71, k70, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k89, k88, k85, k83, k82, k81, \ + k40, k41, k42, k43, k46, k49, k99, k98, k96, k95, k94, k92, k91, k90 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 }, \ + { k40, k41, k42, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, k49 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59 }, \ + { KC_NO, k61, k62, k63, k64, k65, k66, k67, k68, k69 }, \ + { k70, k71, k72, k73, KC_NO, KC_NO, KC_NO, k77, k78, k79 }, \ + { KC_NO, k81, k82, k83, KC_NO, k85, KC_NO, KC_NO, k88, k89 }, \ + { k90, k91, k92, KC_NO, k94, k95, k96, KC_NO, k98, k99 } \ +} + +#define LAYOUT_625u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k59, k58, k57, k56, k55, k54, k53, k52, k51, k50, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k69, k68, k67, k66, k65, k64, k63, k62, k61, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k79, k78, k77, k73, k72, k71, k70, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k89, k88, k85, k83, k82, k81, \ + k40, k41, k42, k45, k49, k99, k98, k96, k95, k94, k92, k91, k90 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 }, \ + { k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, k49 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59 }, \ + { KC_NO, k61, k62, k63, k64, k65, k66, k67, k68, k69 }, \ + { k70, k71, k72, k73, KC_NO, KC_NO, KC_NO, k77, k78, k79 }, \ + { KC_NO, k81, k82, k83, KC_NO, k85, KC_NO, KC_NO, k88, k89 }, \ + { k90, k91, k92, KC_NO, k94, k95, k96, KC_NO, k98, k99 } \ +} diff --git a/keyboards/io_mini1800/keymaps/2x3u/keymap.c b/keyboards/io_mini1800/keymaps/2x3u/keymap.c new file mode 100644 index 000000000000..75e4145207df --- /dev/null +++ b/keyboards/io_mini1800/keymaps/2x3u/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2022 s8erdude (@jpuerto96) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ +[_BASE] = LAYOUT_2x3u( + 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_INS, KC_HOME, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_END, KC_DEL, KC_P7, KC_P8, KC_P9, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT + ) +}; + diff --git a/keyboards/io_mini1800/keymaps/2x3u/readme.md b/keyboards/io_mini1800/keymaps/2x3u/readme.md new file mode 100644 index 000000000000..7e6980f5cdde --- /dev/null +++ b/keyboards/io_mini1800/keymaps/2x3u/readme.md @@ -0,0 +1 @@ +# The default Split Spacebar keymap for io_mini1800 diff --git a/keyboards/io_mini1800/keymaps/default/keymap.c b/keyboards/io_mini1800/keymaps/default/keymap.c new file mode 100644 index 000000000000..1a3573fe5f9d --- /dev/null +++ b/keyboards/io_mini1800/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2022 s8erdude (@jpuerto96) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_625u( + 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_INS, KC_HOME, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_END, KC_DEL, KC_P7, KC_P8, KC_P9, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT + ) +}; + diff --git a/keyboards/io_mini1800/keymaps/default/readme.md b/keyboards/io_mini1800/keymaps/default/readme.md new file mode 100644 index 000000000000..4bcc9ba51204 --- /dev/null +++ b/keyboards/io_mini1800/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for io_mini1800 diff --git a/keyboards/io_mini1800/readme.md b/keyboards/io_mini1800/readme.md new file mode 100644 index 000000000000..c6139203bb20 --- /dev/null +++ b/keyboards/io_mini1800/readme.md @@ -0,0 +1,24 @@ +# io_mini1800 + +This keyboard is a mini 1800 with a minimal navigation cluster, which also offers a rotary encoder option. + +* Keyboard Maintainer: [s8erdude](https://github.com/jpuerto96) +* Hardware Supported: IO-Mini 1800 +* Hardware Availability: [P3D Store](https://p3dstore.com/) + +Make example for this keyboard (after setting up your build environment): + + make io_mini1800:default + +Flashing example for this keyboard: + + make io_mini1800:default:flash + +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). + +## Bootloader + +To reset the board into bootloader, do one of the following: + +* **Hardware reset**: short the pad labeled RESET on the back, near the microcontroller +* **Bootmagic reset**: hold down the top left key (usually programmed as Escape) while plugging in the keyboard (also resets persistent storage) diff --git a/keyboards/io_mini1800/rules.mk b/keyboards/io_mini1800/rules.mk new file mode 100644 index 000000000000..284ea23e781d --- /dev/null +++ b/keyboards/io_mini1800/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +ENCODER_ENABLE = yes From e9bf95e0f2de74590c57bfd64258559e4219dd1f Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Tue, 15 Mar 2022 03:35:17 -0600 Subject: [PATCH 0396/1832] [Keyboard] Fix westm/westm68 compliation errors (#16657) --- keyboards/westm/westm68/config.h | 6 ++---- keyboards/westm/westm68/rev1/config.h | 5 +---- keyboards/westm/westm68/rev1/rules.mk | 1 + keyboards/westm/westm68/rules.mk | 4 ++-- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/keyboards/westm/westm68/config.h b/keyboards/westm/westm68/config.h index 42e3eeb5a437..d1063583d391 100644 --- a/keyboards/westm/westm68/config.h +++ b/keyboards/westm/westm68/config.h @@ -23,6 +23,8 @@ /* USB Device descriptor parameter */ #define VENDOR_ID 0x574D // WM +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0001 #define MANUFACTURER WestM #define PRODUCT WestM68 @@ -41,7 +43,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* Hold ESC key (first key of first column) to trigger bootloader */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file diff --git a/keyboards/westm/westm68/rev1/config.h b/keyboards/westm/westm68/rev1/config.h index 0e43d9861334..054b47cca254 100644 --- a/keyboards/westm/westm68/rev1/config.h +++ b/keyboards/westm/westm68/rev1/config.h @@ -16,9 +16,6 @@ #pragma once -#define PRODUCT_ID 0x0001 -#define DEVICE_VER 0x0001 - // The pin connected to the data pin of the LEDs #define RGB_DI_PIN A8 #define RGBLED_NUM 16 @@ -31,4 +28,4 @@ #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE \ No newline at end of file +#define RGBLIGHT_EFFECT_TWINKLE diff --git a/keyboards/westm/westm68/rev1/rules.mk b/keyboards/westm/westm68/rev1/rules.mk index e69de29bb2d1..1e3cebb14515 100644 --- a/keyboards/westm/westm68/rev1/rules.mk +++ b/keyboards/westm/westm68/rev1/rules.mk @@ -0,0 +1 @@ +RGBLIGHT_ENABLE = yes diff --git a/keyboards/westm/westm68/rules.mk b/keyboards/westm/westm68/rules.mk index 0ad5e320fb22..a54cc399249d 100644 --- a/keyboards/westm/westm68/rules.mk +++ b/keyboards/westm/westm68/rules.mk @@ -17,5 +17,5 @@ CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output \ No newline at end of file +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 46e85ded4747fb3d89f107cb098d9054ea5e632c Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 15 Mar 2022 12:49:23 +0000 Subject: [PATCH 0397/1832] Add merge workflow for XAP branch (#16652) * Add merge workflow for XAP branch * uncomment --- .github/workflows/develop_update.yml | 8 ----- .github/workflows/feature_branch_update.yml | 34 +++++++++++++++++++++ 2 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/feature_branch_update.yml diff --git a/.github/workflows/develop_update.yml b/.github/workflows/develop_update.yml index 285720fefe67..1f5c841bff67 100644 --- a/.github/workflows/develop_update.yml +++ b/.github/workflows/develop_update.yml @@ -5,7 +5,6 @@ on: branches: - master - jobs: develop_update: runs-on: ubuntu-latest @@ -22,14 +21,7 @@ jobs: git fetch origin master develop git checkout develop - - name: Check if branch locked - id: check_locked - uses: andstor/file-existence-action@v1 - with: - files: ".locked" - - name: Update develop from master - if: steps.check_locked.outputs.files_exists == 'false' run: | git config --global user.name "QMK Bot" git config --global user.email "hello@qmk.fm" diff --git a/.github/workflows/feature_branch_update.yml b/.github/workflows/feature_branch_update.yml new file mode 100644 index 000000000000..fc7bbafd182d --- /dev/null +++ b/.github/workflows/feature_branch_update.yml @@ -0,0 +1,34 @@ +name: Update feature branches after develop merge + +on: + push: + branches: + - develop + +jobs: + feature_branch_update: + runs-on: ubuntu-latest + + if: github.repository == 'qmk/qmk_firmware' + + strategy: + matrix: + branch: + - xap + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Checkout branch + run: | + git fetch origin develop ${{ matrix.branch }} + git checkout ${{ matrix.branch }} + + - name: Update branch from develop + run: | + git config --global user.name "QMK Bot" + git config --global user.email "hello@qmk.fm" + git merge origin/develop + git push origin ${{ matrix.branch }} From 764dc18a81f762fdff5f74eb6d3b517ba79d5c11 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 16 Mar 2022 00:56:58 +1100 Subject: [PATCH 0398/1832] Remove `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION` from keyboard config.h (#16655) --- keyboards/0_sixty/config.h | 2 -- keyboards/0_sixty/underglow/config.h | 2 -- keyboards/0xc7/61key/config.h | 4 ---- keyboards/1upkeyboards/1up60hse/config.h | 2 -- keyboards/1upkeyboards/super16/config.h | 2 -- keyboards/1upkeyboards/super16v2/config.h | 4 ---- keyboards/25keys/aleth42/rev0/config.h | 4 ---- keyboards/25keys/zinc/rev1/config.h | 2 -- keyboards/25keys/zinc/reva/config.h | 2 -- keyboards/3keyecosystem/2key2/config.h | 4 ---- keyboards/3w6/rev1/config.h | 5 ----- keyboards/3w6/rev2/config.h | 5 ----- keyboards/40percentclub/25/config.h | 2 -- keyboards/40percentclub/4pack/config.h | 2 -- keyboards/40percentclub/4x4/config.h | 2 -- keyboards/40percentclub/5x5/config.h | 2 -- keyboards/40percentclub/6lit/config.h | 2 -- keyboards/40percentclub/foobar/config.h | 2 -- keyboards/40percentclub/half_n_half/config.h | 2 -- keyboards/40percentclub/i75/config.h | 2 -- keyboards/40percentclub/mf68/config.h | 2 -- keyboards/40percentclub/nein/config.h | 2 -- keyboards/40percentclub/nori/config.h | 2 -- keyboards/40percentclub/polyandry/config.h | 2 -- keyboards/abacus/config.h | 4 ---- keyboards/abstract/ellipse/rev1/config.h | 2 -- keyboards/acekeyboard/titan60/config.h | 4 ---- keyboards/acheron/arctic/config.h | 2 -- keyboards/acheron/austin/config.h | 2 -- keyboards/acheron/elongate/beta/config.h | 4 ---- keyboards/acheron/keebspcb/config.h | 2 -- keyboards/acheron/lasgweloth/config.h | 2 -- keyboards/acheron/shark/config.h | 2 -- keyboards/ada/infinity81/config.h | 4 ---- keyboards/adelheid/config.h | 2 -- keyboards/adkb96/rev1/config.h | 2 -- keyboards/adpenrose/kintsugi/config.h | 4 ---- keyboards/afternoonlabs/breeze/config.h | 3 --- keyboards/afternoonlabs/gust/config.h | 3 --- keyboards/afternoonlabs/oceanbreeze/config.h | 3 --- keyboards/afternoonlabs/southern_breeze/config.h | 3 --- keyboards/afternoonlabs/summer_breeze/config.h | 3 --- keyboards/ai03/equinox/config.h | 2 -- keyboards/ai03/jp60/config.h | 4 ---- keyboards/ai03/lunar/config.h | 2 -- keyboards/ai03/orbit/config.h | 2 -- keyboards/ai03/orbit_x/config.h | 4 ---- keyboards/ai03/polaris/config.h | 2 -- keyboards/ai03/quasar/config.h | 2 -- keyboards/ai03/soyuz/config.h | 2 -- keyboards/ai03/vega/config.h | 2 -- keyboards/ai03/voyager60_alps/config.h | 2 -- keyboards/al1/config.h | 4 ---- keyboards/aleblazer/zodiark/config.h | 2 -- keyboards/alf/dc60/config.h | 2 -- keyboards/alf/x11/config.h | 2 -- keyboards/alpine65/config.h | 2 -- keyboards/alps64/config.h | 2 -- keyboards/amj40/config.h | 2 -- keyboards/amj60/config.h | 4 ---- keyboards/amj96/config.h | 2 -- keyboards/amjkeyboard/amj84/config.h | 4 ---- keyboards/amjpad/config.h | 2 -- keyboards/arabica37/rev1/config.h | 2 -- keyboards/arisu/config.h | 2 -- keyboards/ash1800/config.h | 2 -- keyboards/ashpil/modelm_usbc/config.h | 2 -- keyboards/at_at/660m/config.h | 2 -- keyboards/atlas_65/config.h | 2 -- keyboards/atomic/config.h | 2 -- keyboards/atreus/config.h | 2 -- keyboards/atreus62/config.h | 2 -- keyboards/atxkb/1894/config.h | 2 -- keyboards/aves60/config.h | 4 ---- keyboards/baguette/config.h | 2 -- keyboards/bandominedoni/config.h | 4 ---- keyboards/bantam44/config.h | 2 -- keyboards/barleycorn_smd/config.h | 2 -- keyboards/barracuda/config.h | 4 ---- keyboards/bastardkb/charybdis/3x5/config.h | 4 ---- keyboards/bastardkb/charybdis/4x6/config.h | 4 ---- keyboards/bear_face/config.h | 2 -- keyboards/biacco42/ergo42/rev1/config.h | 2 -- keyboards/biacco42/meishi/config.h | 2 -- keyboards/biacco42/meishi2/config.h | 2 -- keyboards/bioi/f60/config.h | 4 ---- keyboards/blank/blank01/config.h | 4 ---- keyboards/blockey/config.h | 2 -- keyboards/boardrun/bizarre/config.h | 2 -- keyboards/boardrun/classic/config.h | 2 -- keyboards/boardsource/3x4/config.h | 2 -- keyboards/boardsource/4x12/config.h | 2 -- keyboards/boardsource/5x12/config.h | 2 -- keyboards/boardsource/beiwagon/config.h | 4 ---- keyboards/boardsource/holiday/spooky/config.h | 4 ---- keyboards/boardsource/microdox/config.h | 2 -- keyboards/boardsource/technik_o/config.h | 4 ---- keyboards/boardsource/technik_s/config.h | 4 ---- keyboards/boardsource/the_mark/config.h | 4 ---- keyboards/boardwalk/config.h | 2 -- keyboards/boston/config.h | 2 -- keyboards/boston_meetup/2019/config.h | 2 -- keyboards/boston_meetup/config.h | 2 -- keyboards/box75/config.h | 2 -- keyboards/bpiphany/frosty_flake/config.h | 3 +-- keyboards/bpiphany/hid_liber/config.h | 2 -- keyboards/bpiphany/kitten_paw/config.h | 2 -- keyboards/bpiphany/sixshooter/config.h | 2 -- keyboards/bpiphany/tiger_lily/config.h | 2 -- keyboards/bpiphany/unloved_bastard/config.h | 2 -- keyboards/bt66tech/bt66tech60/config.h | 2 -- keyboards/bthlabs/geekpad/config.h | 2 -- keyboards/buildakb/potato65/config.h | 4 ---- keyboards/buildakb/potato65hs/config.h | 4 ---- keyboards/buildakb/potato65s/config.h | 4 ---- keyboards/caffeinated/serpent65/config.h | 2 -- keyboards/canary/canary60rgb/v1/config.h | 6 +----- keyboards/cannonkeys/adelie/config.h | 4 ---- keyboards/cannonkeys/aella/config.h | 2 -- keyboards/cannonkeys/an_c/config.h | 2 -- keyboards/cannonkeys/atlas/config.h | 2 -- keyboards/cannonkeys/balance/config.h | 2 -- keyboards/cannonkeys/chimera65/config.h | 2 -- keyboards/cannonkeys/db60/config.h | 2 -- keyboards/cannonkeys/devastatingtkl/config.h | 2 -- keyboards/cannonkeys/hoodrowg/config.h | 2 -- keyboards/cannonkeys/instant60/config.h | 2 -- keyboards/cannonkeys/instant65/config.h | 2 -- keyboards/cannonkeys/iron165/config.h | 2 -- keyboards/cannonkeys/obliterated75/config.h | 2 -- keyboards/cannonkeys/onyx/config.h | 2 -- keyboards/cannonkeys/ortho48/config.h | 2 -- keyboards/cannonkeys/ortho60/config.h | 2 -- keyboards/cannonkeys/ortho75/config.h | 2 -- keyboards/cannonkeys/practice60/config.h | 2 -- keyboards/cannonkeys/practice65/config.h | 2 -- keyboards/cannonkeys/rekt1800/config.h | 2 -- keyboards/cannonkeys/sagittarius/config.h | 2 -- keyboards/cannonkeys/satisfaction75/config.h | 2 -- keyboards/cannonkeys/savage65/config.h | 2 -- keyboards/cannonkeys/tmov2/config.h | 2 -- keyboards/cannonkeys/tsukuyomi/config.h | 2 -- keyboards/cannonkeys/vicious40/config.h | 2 -- keyboards/capsunlocked/cu24/config.h | 2 -- keyboards/capsunlocked/cu65/config.h | 4 ---- keyboards/capsunlocked/cu75/config.h | 2 -- keyboards/centromere/config.h | 2 -- keyboards/checkerboards/plexus75/config.h | 2 -- keyboards/checkerboards/pursuit40/config.h | 2 -- keyboards/checkerboards/quark/config.h | 2 -- keyboards/ck60i/config.h | 2 -- keyboards/ckeys/handwire_101/config.h | 2 -- keyboards/ckeys/nakey/config.h | 2 -- keyboards/ckeys/obelus/config.h | 2 -- keyboards/ckeys/thedora/config.h | 2 -- keyboards/ckeys/washington/config.h | 4 ---- keyboards/clueboard/66_hotswap/config.h | 1 - keyboards/clueboard/66_hotswap/gen1/config.h | 2 -- keyboards/coarse/cordillera/config.h | 2 -- keyboards/contender/config.h | 4 ---- keyboards/converter/a1200/miss1200/config.h | 2 -- keyboards/converter/a1200/teensy2pp/config.h | 2 -- keyboards/converter/modelm101/config.h | 2 -- keyboards/converter/modelm_ssk/config.h | 2 -- keyboards/converter/siemens_tastatur/config.h | 2 -- keyboards/cool836a/config.h | 4 ---- keyboards/copenhagen_click/click_pad_v1/config.h | 2 -- keyboards/coseyfannitutti/discipad/config.h | 2 -- keyboards/coseyfannitutti/discipline/config.h | 2 -- keyboards/coseyfannitutti/mullet/config.h | 3 --- keyboards/coseyfannitutti/mulletpad/config.h | 3 --- keyboards/coseyfannitutti/mysterium/config.h | 2 -- keyboards/coseyfannitutti/romeo/config.h | 2 -- keyboards/craftwalk/config.h | 3 --- keyboards/crazy_keyboard_68/config.h | 4 ---- keyboards/crkbd/config.h | 6 +----- keyboards/cutie_club/wraith/config.h | 2 -- keyboards/dailycraft/bat43/config.h | 4 ---- keyboards/dailycraft/claw44/config.h | 3 --- keyboards/dailycraft/claw44/rev1/config.h | 2 -- keyboards/dailycraft/owl8/config.h | 4 ---- keyboards/dailycraft/stickey4/config.h | 4 ---- keyboards/dailycraft/wings42/rev1/config.h | 4 ---- keyboards/dailycraft/wings42/rev1_extkeys/config.h | 4 ---- keyboards/dailycraft/wings42/rev2/config.h | 4 ---- keyboards/dc01/left/config.h | 2 -- keyboards/delikeeb/flatbread60/config.h | 4 ---- keyboards/delikeeb/vaguettelite/config.h | 4 ---- keyboards/delikeeb/vanana/rev1/config.h | 4 ---- keyboards/delikeeb/vanana/rev2/config.h | 4 ---- keyboards/delikeeb/vaneela/config.h | 4 ---- keyboards/delikeeb/vaneelaex/config.h | 4 ---- keyboards/delikeeb/waaffle/rev3/config.h | 4 ---- keyboards/deltapad/config.h | 4 ---- keyboards/deltasplit75/v2/config.h | 2 -- keyboards/demiurge/config.h | 4 ---- keyboards/dichotomy/config.h | 2 -- keyboards/dk60/config.h | 4 ---- keyboards/dm9records/ergoinu/config.h | 2 -- keyboards/dm9records/lain/config.h | 4 ---- keyboards/dm9records/plaid/config.h | 2 -- keyboards/dm9records/tartan/config.h | 2 -- keyboards/donutcables/scrabblepad/config.h | 2 -- keyboards/doppelganger/config.h | 2 -- keyboards/draytronics/daisy/config.h | 3 --- keyboards/draytronics/scarlet/config.h | 3 --- keyboards/drewkeys/iskar/config.h | 4 ---- keyboards/dtisaac/dosa40rgb/config.h | 4 ---- keyboards/dtisaac/dtisaac01/config.h | 9 --------- keyboards/duck/jetfire/config.h | 2 -- keyboards/dztech/dz60rgb/v1/config.h | 4 ---- keyboards/dztech/dz60rgb/v2/config.h | 4 ---- keyboards/dztech/dz60rgb/v2_1/config.h | 4 ---- keyboards/dztech/dz60rgb_ansi/v1/config.h | 4 ---- keyboards/dztech/dz60rgb_ansi/v2/config.h | 4 ---- keyboards/dztech/dz60rgb_ansi/v2_1/config.h | 4 ---- keyboards/dztech/dz60rgb_wkl/v1/config.h | 4 ---- keyboards/dztech/dz60rgb_wkl/v2/config.h | 4 ---- keyboards/dztech/dz60rgb_wkl/v2_1/config.h | 4 ---- keyboards/dztech/dz64rgb/config.h | 4 +--- keyboards/dztech/dz65rgb/v1/config.h | 4 ---- keyboards/dztech/dz65rgb/v2/config.h | 4 ---- keyboards/dztech/dz65rgb/v3/config.h | 4 +--- keyboards/e88/config.h | 4 ---- keyboards/ealdin/quadrant/config.h | 2 -- keyboards/earth_rover/config.h | 4 ---- keyboards/eco/config.h | 2 -- keyboards/edi/hardlight/mk2/config.h | 2 -- keyboards/edi/standaside/config.h | 3 --- keyboards/eek/config.h | 3 --- keyboards/efreet/config.h | 4 ---- keyboards/emajesty/eiri/config.h | 4 ---- keyboards/eniigmakeyboards/ek65/config.h | 5 ----- keyboards/eniigmakeyboards/ek87/config.h | 4 ---- keyboards/ep/40/config.h | 2 -- keyboards/ep/96/config.h | 2 -- keyboards/ep/comsn/mollydooker/config.h | 2 -- keyboards/ergodox_ez/config.h | 3 +-- keyboards/ergosaurus/config.h | 2 -- keyboards/ergoslab/rev1/config.h | 2 -- keyboards/ergotravel/rev1/config.h | 2 -- keyboards/ericrlau/numdiscipline/rev1/config.h | 2 -- keyboards/esca/getawayvan/config.h | 2 -- keyboards/esca/getawayvan_f042/config.h | 2 -- keyboards/eternal_keypad/config.h | 4 ---- keyboards/evil80/config.h | 2 -- keyboards/evolv/config.h | 2 -- keyboards/evyd13/atom47/rev5/config.h | 4 ---- keyboards/evyd13/eon40/config.h | 2 -- keyboards/evyd13/eon65/config.h | 2 -- keyboards/evyd13/eon75/config.h | 2 -- keyboards/evyd13/eon87/config.h | 2 -- keyboards/evyd13/eon95/config.h | 2 -- keyboards/evyd13/gh80_1800/config.h | 2 -- keyboards/evyd13/gh80_3700/config.h | 2 -- keyboards/evyd13/gud70/config.h | 4 ---- keyboards/evyd13/minitomic/config.h | 2 -- keyboards/evyd13/mx5160/config.h | 2 -- keyboards/evyd13/nt660/config.h | 4 ---- keyboards/evyd13/nt750/config.h | 4 ---- keyboards/evyd13/nt980/config.h | 4 ---- keyboards/evyd13/omrontkl/config.h | 2 -- keyboards/evyd13/pockettype/config.h | 2 -- keyboards/evyd13/quackfire/config.h | 2 -- keyboards/evyd13/solheim68/config.h | 2 -- keyboards/evyd13/wasdat/config.h | 2 -- keyboards/evyd13/wasdat_code/config.h | 2 -- keyboards/exclusive/e7v1se/config.h | 4 ---- keyboards/exclusive/e85/config.h | 4 ---- keyboards/exent/config.h | 4 ---- keyboards/eyeohdesigns/babyv/config.h | 4 ---- keyboards/fc660c/config.h | 2 -- keyboards/fc980c/config.h | 2 -- keyboards/ffkeebs/puca/config.h | 5 ----- keyboards/fjlabs/7vhotswap/config.h | 2 -- keyboards/fjlabs/ad65/config.h | 2 -- keyboards/fjlabs/bks65/config.h | 2 -- keyboards/fjlabs/bks65solder/config.h | 2 -- keyboards/fjlabs/bolsa65/config.h | 2 -- keyboards/fjlabs/kf87/config.h | 2 -- keyboards/fjlabs/kyuu/config.h | 2 -- keyboards/fjlabs/ldk65/config.h | 2 -- keyboards/fjlabs/midway60/config.h | 2 -- keyboards/fjlabs/mk61rgbansi/config.h | 2 -- keyboards/fjlabs/polaris/config.h | 2 -- keyboards/fjlabs/ready100/config.h | 2 -- keyboards/fjlabs/tf60ansi/config.h | 2 -- keyboards/fjlabs/tf60v2/config.h | 2 -- keyboards/fjlabs/tf65rgbv2/config.h | 2 -- keyboards/flehrad/downbubble/config.h | 2 -- keyboards/fleuron/config.h | 2 -- keyboards/fluorite/config.h | 2 -- keyboards/flxlb/zplit/config.h | 2 -- keyboards/flygone60/rev3/config.h | 4 ---- keyboards/foostan/cornelius/config.h | 4 ---- keyboards/for_science/config.h | 2 -- keyboards/forever65/config.h | 4 ---- keyboards/fortitude60/rev1/config.h | 2 -- keyboards/foxlab/key65/hotswap/config.h | 4 ---- keyboards/foxlab/key65/universal/config.h | 4 ---- keyboards/foxlab/leaf60/hotswap/config.h | 2 -- keyboards/foxlab/leaf60/universal/config.h | 2 -- keyboards/foxlab/time80/config.h | 4 ---- keyboards/gboards/georgi/config.h | 2 -- keyboards/gh60/revc/config.h | 2 -- keyboards/gh60/satan/config.h | 2 -- keyboards/ghs/rar/config.h | 4 ---- keyboards/gkeyboard/gkb_m16/config.h | 4 ---- keyboards/glenpickle/chimera_ergo/config.h | 2 -- keyboards/glenpickle/chimera_ls/config.h | 2 -- keyboards/glenpickle/chimera_ortho/config.h | 2 -- keyboards/glenpickle/chimera_ortho_plus/config.h | 2 -- keyboards/gray_studio/space65/config.h | 2 -- keyboards/hadron/config.h | 2 -- keyboards/hadron/ver3/config.h | 2 -- keyboards/halfcliff/config.h | 4 ---- keyboards/han60/config.h | 4 ---- keyboards/handwired/412_64/config.h | 3 --- keyboards/handwired/amigopunk/config.h | 4 ---- keyboards/handwired/aranck/config.h | 2 -- keyboards/handwired/arrow_pad/config.h | 2 -- keyboards/handwired/atreus50/config.h | 2 -- keyboards/handwired/baredev/rev1/config.h | 5 ----- keyboards/handwired/bolek/config.h | 4 ---- keyboards/handwired/brain/config.h | 2 -- keyboards/handwired/bstk100/config.h | 4 ---- keyboards/handwired/ck4x4/config.h | 3 --- keyboards/handwired/cmd60/config.h | 2 -- keyboards/handwired/co60/rev1/config.h | 2 -- keyboards/handwired/dactyl_left/config.h | 2 -- keyboards/handwired/dactyl_promicro/config.h | 2 -- keyboards/handwired/dactyl_rah/config.h | 6 ------ keyboards/handwired/dc/mc/001/config.h | 4 ---- keyboards/handwired/elrgo_s/config.h | 2 -- keyboards/handwired/ergocheap/config.h | 2 -- keyboards/handwired/evk/v1_3/config.h | 2 -- keyboards/handwired/fc200rt_qmk/config.h | 4 ---- keyboards/handwired/fivethirteen/config.h | 2 -- keyboards/handwired/floorboard/config.h | 4 ---- keyboards/handwired/frankie_macropad/config.h | 4 ---- keyboards/handwired/frenchdev/config.h | 3 +-- keyboards/handwired/gamenum/config.h | 2 -- keyboards/handwired/hacked_motospeed/config.h | 2 -- keyboards/handwired/heisenberg/config.h | 2 -- keyboards/handwired/hnah108/config.h | 4 ---- keyboards/handwired/hnah40/config.h | 2 -- keyboards/handwired/ibm122m/config.h | 2 -- keyboards/handwired/jtallbean/split_65/config.h | 4 ---- keyboards/handwired/juliet/config.h | 3 --- keyboards/handwired/kbod/config.h | 2 -- keyboards/handwired/ks63/config.h | 2 -- keyboards/handwired/leftynumpad/config.h | 4 ---- keyboards/handwired/lemonpad/config.h | 4 ---- keyboards/handwired/macroboard/config.h | 4 ---- keyboards/handwired/magicforce61/config.h | 2 -- keyboards/handwired/magicforce68/config.h | 2 -- keyboards/handwired/mechboards_micropad/config.h | 2 -- keyboards/handwired/meck_tkl/config.h | 4 ---- keyboards/handwired/minorca/config.h | 3 --- keyboards/handwired/ms_sculpt_mobile/config.h | 2 -- keyboards/handwired/nicekey/config.h | 2 -- keyboards/handwired/not_so_minidox/config.h | 2 -- keyboards/handwired/numpad20/config.h | 2 -- keyboards/handwired/obuwunkunubi/spaget/config.h | 2 -- keyboards/handwired/oem_ansi_fullsize/config.h | 4 ---- keyboards/handwired/onekey/config.h | 4 ---- keyboards/handwired/ortho5x13/config.h | 2 -- keyboards/handwired/ortho5x14/config.h | 3 --- keyboards/handwired/owlet60/config.h | 2 -- keyboards/handwired/pilcrow/config.h | 2 -- keyboards/handwired/promethium/config.h | 2 -- keyboards/handwired/reddot/config.h | 2 -- keyboards/handwired/retro_refit/config.h | 2 -- keyboards/handwired/sick68/config.h | 4 ---- keyboards/handwired/snatchpad/config.h | 4 ---- keyboards/handwired/sono1/config.h | 6 +----- keyboards/handwired/split65/promicro/config.h | 2 -- keyboards/handwired/split65/stm32/config.h | 2 -- keyboards/handwired/split89/config.h | 4 ---- keyboards/handwired/splittest/config.h | 2 -- keyboards/handwired/sticc14/config.h | 2 -- keyboards/handwired/symmetric70_proto/promicro/config.h | 4 ---- keyboards/handwired/symmetric70_proto/proton_c/config.h | 4 ---- keyboards/handwired/t111/config.h | 4 ---- keyboards/handwired/tennie/config.h | 2 -- keyboards/handwired/terminus_mini/config.h | 2 -- keyboards/handwired/tractyl_manuform/4x6_right/config.h | 2 -- keyboards/handwired/tractyl_manuform/5x6_right/config.h | 2 -- keyboards/handwired/tractyl_manuform/config.h | 2 -- keyboards/handwired/traveller/config.h | 4 ---- keyboards/handwired/tritium_numpad/config.h | 3 --- keyboards/handwired/twadlee/tp69/config.h | 4 ---- keyboards/handwired/unk/rev1/config.h | 2 -- keyboards/handwired/uthol/rev3/config.h | 4 ---- keyboards/handwired/videowriter/config.h | 4 ---- keyboards/handwired/woodpad/config.h | 4 ---- keyboards/handwired/xealous/rev1/config.h | 3 +-- keyboards/handwired/z150/config.h | 4 ---- keyboards/helix/pico/config.h | 2 -- keyboards/helix/rev2/config.h | 3 --- keyboards/helix/rev3_4rows/config.h | 4 ---- keyboards/helix/rev3_5rows/config.h | 4 ---- keyboards/hhkb/ansi/config.h | 2 -- keyboards/hhkb/jp/config.h | 2 -- keyboards/hineybush/h08_ocelot/config.h | 4 ---- keyboards/hineybush/h10/config.h | 4 ---- keyboards/hineybush/h60/config.h | 4 ---- keyboards/hineybush/h65/config.h | 4 ---- keyboards/hineybush/h65_hotswap/config.h | 4 ---- keyboards/hineybush/h660s/config.h | 4 ---- keyboards/hineybush/h75_singa/config.h | 2 -- keyboards/hineybush/physix/config.h | 4 ---- keyboards/hineybush/sm68/config.h | 2 -- keyboards/hnahkb/freyr/config.h | 4 ---- keyboards/hnahkb/stella/config.h | 4 ---- keyboards/hnahkb/vn66/config.h | 4 ---- keyboards/honeycomb/config.h | 2 -- keyboards/horizon/config.h | 4 ---- keyboards/hotdox/config.h | 3 +-- keyboards/hub20/config.h | 4 ---- keyboards/ianklug/grooveboard/config.h | 4 ---- keyboards/ibnuda/gurindam/config.h | 2 -- keyboards/ibnuda/squiggle/config.h | 5 ----- keyboards/idb/idb_60/config.h | 2 -- keyboards/idobao/id75/v1/config.h | 2 -- keyboards/idobao/id75/v2/config.h | 2 -- keyboards/idobao/id87/v2/config.h | 4 ---- keyboards/illuminati/is0/config.h | 2 -- keyboards/illusion/rosa/config.h | 6 +----- keyboards/ilumkb/primus75/config.h | 3 --- keyboards/ilumkb/simpler61/config.h | 4 ---- keyboards/ilumkb/simpler64/config.h | 4 ---- keyboards/input_club/ergodox_infinity/config.h | 2 -- keyboards/input_club/infinity60/config.h | 2 -- keyboards/input_club/k_type/config.h | 4 ---- keyboards/input_club/whitefox/config.h | 4 ---- keyboards/irene/config.h | 4 ---- keyboards/iriskeyboards/config.h | 4 ---- keyboards/j80/config.h | 4 ---- keyboards/jacky_studio/s7_elephant/rev2/config.h | 4 ---- keyboards/jadookb/jkb65/config.h | 3 --- keyboards/jae/j01/config.h | 4 ---- keyboards/jagdpietr/drakon/config.h | 4 ---- keyboards/jc65/v32a/config.h | 3 --- keyboards/jd45/config.h | 2 -- keyboards/jm60/config.h | 4 ---- keyboards/jones/v03/config.h | 4 ---- keyboards/jones/v03_1/config.h | 4 ---- keyboards/jones/v1/config.h | 4 ---- keyboards/kagizaraya/chidori/config.h | 2 -- keyboards/kagizaraya/halberd/config.h | 2 -- keyboards/kagizaraya/scythe/config.h | 2 -- keyboards/kakunpc/angel17/alpha/config.h | 2 -- keyboards/kakunpc/angel17/rev1/config.h | 2 -- keyboards/kakunpc/angel64/alpha/config.h | 2 -- keyboards/kakunpc/angel64/rev1/config.h | 2 -- keyboards/kakunpc/business_card/alpha/config.h | 2 -- keyboards/kakunpc/business_card/beta/config.h | 2 -- keyboards/kakunpc/choc_taro/config.h | 4 ---- keyboards/kakunpc/rabbit_capture_plan/config.h | 4 ---- keyboards/kakunpc/suihankey/alpha/config.h | 2 -- keyboards/kakunpc/suihankey/rev1/config.h | 2 -- keyboards/kakunpc/suihankey/split/alpha/config.h | 2 -- keyboards/kakunpc/suihankey/split/rev1/config.h | 2 -- keyboards/kakunpc/thedogkeyboard/config.h | 2 -- keyboards/kapcave/arya/config.h | 2 -- keyboards/kb58/config.h | 4 ---- keyboards/kb_elmo/isolation/config.h | 4 ---- keyboards/kb_elmo/vertex/config.h | 4 ---- keyboards/kbdclack/kaishi65/config.h | 4 ---- keyboards/kbdfans/bella/rgb/config.h | 1 - keyboards/kbdfans/bella/rgb_iso/config.h | 1 - keyboards/kbdfans/boop65/rgb/config.h | 3 --- keyboards/kbdfans/kbd19x/config.h | 3 --- keyboards/kbdfans/kbd4x/config.h | 3 --- keyboards/kbdfans/kbd66/config.h | 2 -- keyboards/kbdfans/kbd67/hotswap/config.h | 2 -- keyboards/kbdfans/kbd67/mkiirgb/v3/config.h | 4 +--- keyboards/kbdfans/kbd67/mkiirgb/v4/config.h | 4 +--- keyboards/kbdfans/kbd67/mkiirgb_iso/config.h | 4 +--- keyboards/kbdfans/kbd67/rev1/config.h | 2 -- keyboards/kbdfans/kbd6x/config.h | 3 --- keyboards/kbdfans/kbd75hs/config.h | 3 --- keyboards/kbdfans/kbd75rgb/config.h | 4 +--- keyboards/kbdfans/kbd8x/config.h | 2 -- keyboards/kbdfans/kbd8x_mk2/config.h | 2 -- keyboards/kbdfans/kbdmini/config.h | 4 ---- keyboards/kbdfans/kbdpad/mk2/config.h | 2 -- keyboards/kbdfans/niu_mini/config.h | 2 -- keyboards/kbdfans/odin/soldered/config.h | 3 +-- keyboards/kc60/config.h | 4 ---- keyboards/kc60se/config.h | 2 -- keyboards/keebio/bfo9000/config.h | 2 -- keyboards/keebio/bigswitchseat/config.h | 4 ---- keyboards/keebio/choconum/config.h | 4 ---- keyboards/keebio/ergodicity/config.h | 2 -- keyboards/keebio/fourier/config.h | 2 -- keyboards/keebio/nyquist/rev1/config.h | 2 -- keyboards/keebio/nyquist/rev2/config.h | 2 -- keyboards/keebio/nyquist/rev3/config.h | 2 -- keyboards/keebsforall/coarse60/config.h | 3 --- keyboards/keebsforall/freebird60/config.h | 4 ---- keyboards/keebsforall/freebirdtkl/config.h | 3 --- keyboards/keebwerk/nano_slider/config.h | 4 ---- keyboards/keebzdotnet/wazowski/config.h | 4 ---- keyboards/keybage/radpad/config.h | 4 ---- keyboards/keybee/keybee65/config.h | 3 --- keyboards/keyboardio/atreus/config.h | 2 -- keyboards/keycapsss/o4l_5x12/config.h | 4 ---- keyboards/keyhive/maypad/config.h | 2 -- keyboards/keyprez/bison/config.h | 4 ---- keyboards/keyprez/corgi/config.h | 4 ---- keyboards/keyprez/rhino/config.h | 4 ---- keyboards/keyprez/unicorn/config.h | 4 ---- keyboards/kikkou/config.h | 4 ---- keyboards/kindakeyboards/conone65/config.h | 4 ---- keyboards/kinesis/config.h | 2 -- keyboards/kira75/config.h | 2 -- keyboards/kiwikeebs/macro/config.h | 4 ---- keyboards/kiwikeebs/macro_v2/config.h | 4 ---- keyboards/kiwikey/borderland/config.h | 4 ---- keyboards/kiwikey/kawii9/config.h | 4 ---- keyboards/kiwikey/wanderland/config.h | 4 ---- keyboards/kkatano/bakeneko60/config.h | 4 ---- keyboards/kkatano/bakeneko65/rev2/config.h | 4 ---- keyboards/kkatano/bakeneko65/rev3/config.h | 4 ---- keyboards/kkatano/bakeneko80/config.h | 4 ---- keyboards/kkatano/wallaby/config.h | 4 ---- keyboards/kkatano/yurei/config.h | 4 ---- keyboards/kmac/config.h | 2 -- keyboards/kmac_pad/config.h | 2 -- keyboards/knops/mini/config.h | 2 -- keyboards/kona_classic/config.h | 2 -- keyboards/kopibeng/xt65/config.h | 2 -- keyboards/kprepublic/bm16a/config.h | 2 -- keyboards/kprepublic/bm60hsrgb/rev2/config.h | 3 --- keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h | 3 --- keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h | 3 --- keyboards/kprepublic/bm65hsrgb/rev1/config.h | 4 ---- keyboards/kprepublic/bm68hsrgb/rev1/config.h | 4 ---- keyboards/kprepublic/bm68hsrgb/rev2/config.h | 4 +--- keyboards/kprepublic/bm80hsrgb/config.h | 4 ---- keyboards/kprepublic/bm980hsrgb/config.h | 4 ---- keyboards/kprepublic/cospad/config.h | 4 ---- keyboards/ktec/daisy/config.h | 4 ---- keyboards/ktec/ergodone/config.h | 3 +-- keyboards/kudox/columner/config.h | 2 -- keyboards/kudox/rev1/config.h | 2 -- keyboards/kudox/rev2/config.h | 2 -- keyboards/kudox/rev3/config.h | 2 -- keyboards/kudox_full/rev1/config.h | 2 -- keyboards/kudox_game/rev1/config.h | 2 -- keyboards/kudox_game/rev2/config.h | 2 -- keyboards/ky01/config.h | 4 ---- keyboards/labyrinth75/config.h | 4 ---- keyboards/latincompass/latin17rgb/config.h | 4 ---- keyboards/latincompass/latin47ble/config.h | 2 -- keyboards/latincompass/latin60rgb/config.h | 4 ---- keyboards/latincompass/latin6rgb/config.h | 4 ---- keyboards/latincompass/latinpadble/config.h | 4 ---- keyboards/lattice60/config.h | 4 ---- keyboards/lets_split/rev1/config.h | 2 -- keyboards/lets_split/rev2/config.h | 2 -- keyboards/lfkeyboards/lfk65_hs/config.h | 2 -- keyboards/lfkeyboards/lfk78/config.h | 4 ---- keyboards/lfkeyboards/lfk87/config.h | 2 -- keyboards/lfkeyboards/lfkpad/config.h | 4 ---- keyboards/lfkeyboards/mini1800/config.h | 2 -- keyboards/lfkeyboards/smk65/revb/config.h | 2 -- keyboards/lfkeyboards/smk65/revf/config.h | 6 +----- keyboards/lily58/config.h | 7 ------- keyboards/lily58/rev1/config.h | 2 -- keyboards/lime/rev1/config.h | 2 -- keyboards/linworks/fave84h/config.h | 3 --- keyboards/linworks/fave87h/config.h | 3 --- keyboards/lizard_trick/tenkey_plusplus/config.h | 4 ---- keyboards/lm_keyboard/lm60n/config.h | 4 ---- keyboards/lucid/alexa/config.h | 2 -- keyboards/lucid/kbd8x_hs/config.h | 2 -- keyboards/lucid/phantom_hs/config.h | 2 -- keyboards/lucid/phantom_solder/config.h | 2 -- keyboards/lucid/scarlet/config.h | 2 -- keyboards/m10a/config.h | 2 -- keyboards/machine_industries/m4_a/config.h | 4 ---- keyboards/majistic/config.h | 4 ---- keyboards/malevolti/lyra/rev1/config.h | 3 --- keyboards/malevolti/superlyra/rev1/config.h | 3 --- keyboards/manta60/config.h | 4 ---- keyboards/manyboard/macro/config.h | 3 --- keyboards/maple_computing/c39/config.h | 2 -- keyboards/maple_computing/ivy/config.h | 2 -- keyboards/maple_computing/launchpad/config.h | 2 -- keyboards/maple_computing/minidox/config.h | 2 -- keyboards/maple_computing/the_ruler/config.h | 2 -- keyboards/marksard/leftover30/config.h | 4 ---- keyboards/marksard/treadstone48/rev1/config.h | 4 ---- keyboards/marksard/treadstone48/rev2/config.h | 4 ---- keyboards/massdrop/alt/config.h | 2 -- keyboards/massdrop/ctrl/config.h | 2 -- keyboards/matchstickworks/southpad/config.h | 2 -- keyboards/matthewdias/m3n3van/config.h | 4 ---- keyboards/matthewdias/minim/config.h | 4 ---- keyboards/matthewdias/model_v/config.h | 4 ---- keyboards/matthewdias/txuu/config.h | 4 ---- keyboards/maxipad/config.h | 2 -- keyboards/maxr1998/pulse4k/config.h | 2 -- keyboards/mb44/config.h | 6 ------ keyboards/mc_76k/config.h | 4 ---- keyboards/mechkeys/mk60/config.h | 2 -- keyboards/mechlovin/hannah910/config.h | 2 -- keyboards/mechlovin/jay60/config.h | 4 ---- keyboards/mechwild/bde/rev2/config.h | 4 ---- keyboards/mechwild/murphpad/config.h | 4 ---- keyboards/mechwild/obe/config.h | 4 ---- keyboards/mechwild/waka60/config.h | 4 ---- keyboards/melgeek/mach80/config.h | 4 ---- keyboards/melgeek/mj61/config.h | 4 ---- keyboards/melgeek/mj63/config.h | 4 ---- keyboards/melgeek/mj64/config.h | 4 ---- keyboards/melgeek/mj65/config.h | 4 ---- keyboards/melgeek/mojo68/config.h | 4 ---- keyboards/melgeek/mojo75/config.h | 4 ---- keyboards/melgeek/z70ultra/config.h | 4 ---- keyboards/meme/config.h | 2 -- keyboards/meow65/config.h | 4 ---- keyboards/mesa/mesa_tkl/config.h | 4 ---- keyboards/meson/config.h | 3 --- keyboards/mikeneko65/rev3/config.h | 4 ---- keyboards/mikeneko65/rev4/config.h | 4 ---- keyboards/miller/gm862/config.h | 4 ---- keyboards/millipad/config.h | 8 +------- keyboards/mini_elixivy/config.h | 6 +----- keyboards/mini_ten_key_plus/config.h | 4 ---- keyboards/miniaxe/config.h | 2 -- keyboards/mint60/config.h | 2 -- keyboards/mitosis/config.h | 2 -- keyboards/miuni32/config.h | 2 -- keyboards/mlego/m48/config.h | 4 ---- keyboards/mlego/m60/config.h | 4 ---- keyboards/mlego/m60_split/config.h | 4 ---- keyboards/mntre/config.h | 4 ---- keyboards/mode/m65ha_alpha/config.h | 2 -- keyboards/mode/m65hi_alpha/config.h | 2 -- keyboards/mode/m65s/config.h | 2 -- keyboards/mode/m75h/config.h | 2 -- keyboards/mode/m75s/config.h | 2 -- keyboards/mode/m80v1/config.h | 2 -- keyboards/molecule/config.h | 4 ---- keyboards/momoka_ergo/config.h | 4 ---- keyboards/monarch/config.h | 2 -- keyboards/moonlander/config.h | 2 -- keyboards/morizon/config.h | 4 ---- keyboards/mountainblocks/mb17/config.h | 5 ----- keyboards/mschwingen/modelm/config.h | 2 -- keyboards/mt40/config.h | 2 -- keyboards/mtbkeys/mtb60/hotswap/config.h | 4 ---- keyboards/mtbkeys/mtb60/solder/config.h | 4 ---- keyboards/murcielago/rev1/config.h | 4 ---- keyboards/nacly/splitreus62/config.h | 2 -- keyboards/nacly/ua62/config.h | 2 -- keyboards/nemui/config.h | 2 -- keyboards/nibiria/stream15/config.h | 2 -- keyboards/nightingale_studios/hailey/config.h | 4 ---- keyboards/nightly_boards/alter/rev1/config.h | 7 ------- keyboards/nightly_boards/n2/config.h | 5 ----- keyboards/nightly_boards/n60_s/config.h | 3 --- keyboards/nightly_boards/n87/config.h | 4 ---- keyboards/nightly_boards/n9/config.h | 5 ----- keyboards/nightmare/config.h | 2 -- keyboards/novelkeys/novelpad/config.h | 2 -- keyboards/noxary/220/config.h | 2 -- keyboards/noxary/260/config.h | 2 -- keyboards/noxary/268_2/config.h | 2 -- keyboards/noxary/280/config.h | 2 -- keyboards/noxary/378/config.h | 2 -- keyboards/noxary/valhalla/config.h | 2 -- keyboards/noxary/vulcan/config.h | 2 -- keyboards/noxary/x268/config.h | 2 -- keyboards/numatreus/config.h | 2 -- keyboards/oddball/config.h | 4 ---- keyboards/orthodox/rev1/config.h | 2 -- keyboards/orthodox/rev3/config.h | 2 -- keyboards/orthodox/rev3_teensy/config.h | 2 -- keyboards/paprikman/albacore/config.h | 4 ---- keyboards/parallel/parallel_65/hotswap/config.h | 4 ---- keyboards/parallel/parallel_65/soldered/config.h | 4 ---- keyboards/pdxkbc/config.h | 2 -- keyboards/pearl/config.h | 3 --- keyboards/peranekofactory/tone/rev1/config.h | 4 ---- keyboards/peranekofactory/tone/rev2/config.h | 4 ---- keyboards/phantom/config.h | 4 ---- keyboards/pico/65keys/config.h | 2 -- keyboards/pico/70keys/config.h | 2 -- keyboards/pinky/3/config.h | 2 -- keyboards/pinky/4/config.h | 2 -- keyboards/pisces/config.h | 4 ---- keyboards/pizzakeyboards/pizza65/config.h | 4 ---- keyboards/planck/config.h | 2 -- keyboards/planck/ez/config.h | 2 -- keyboards/planck/rev6/config.h | 3 --- keyboards/planck/rev6_drop/config.h | 2 -- keyboards/ploopyco/mouse/config.h | 2 -- keyboards/ploopyco/trackball/config.h | 2 -- keyboards/ploopyco/trackball_mini/config.h | 2 -- keyboards/ploopyco/trackball_nano/config.h | 2 -- keyboards/pluckey/config.h | 4 ---- keyboards/plume/plume65/config.h | 2 -- keyboards/plut0nium/0x3e/config.h | 4 ---- keyboards/pohjolaworks/louhi/config.h | 4 ---- keyboards/polilla/rev1/config.h | 4 ---- keyboards/portal_66/hotswap/config.h | 4 ---- keyboards/portal_66/soldered/config.h | 4 ---- keyboards/pos78/config.h | 4 ---- keyboards/preonic/config.h | 2 -- keyboards/preonic/rev3/config.h | 2 -- keyboards/preonic/rev3_drop/config.h | 2 -- keyboards/program_yoink/config.h | 4 ---- keyboards/projectcain/vault35/config.h | 6 +----- keyboards/projectcain/vault45/config.h | 4 ---- keyboards/projectkb/alice/rev1/config.h | 2 -- keyboards/projectkb/alice/rev2/config.h | 2 -- keyboards/prototypist/allison/config.h | 4 ---- keyboards/prototypist/allison_numpad/config.h | 4 ---- keyboards/psuieee/pluto12/config.h | 4 ---- keyboards/pteron36/config.h | 6 +----- keyboards/punk75/config.h | 4 ---- keyboards/qpockets/wanten/config.h | 4 ---- keyboards/quad_h/lb75/config.h | 2 -- keyboards/quantrik/kyuu/config.h | 2 -- keyboards/qwertyydox/config.h | 2 -- keyboards/rabbit/rabbit68/config.h | 2 -- keyboards/ramonimbao/aelith/config.h | 4 ---- keyboards/ramonimbao/chevron/config.h | 4 ---- keyboards/ramonimbao/herringbone/pro/config.h | 4 ---- keyboards/ramonimbao/herringbone/v1/config.h | 4 ---- keyboards/ramonimbao/mona/v1/config.h | 4 ---- keyboards/ramonimbao/mona/v1_1/config.h | 5 ----- keyboards/ramonimbao/mona/v32a/config.h | 5 ----- keyboards/ramonimbao/squishy65/config.h | 2 -- keyboards/ramonimbao/squishyfrl/config.h | 4 ---- keyboards/ramonimbao/squishytkl/config.h | 4 ---- keyboards/ramonimbao/tkl_ff/config.h | 4 ---- keyboards/ramonimbao/wete/v1/config.h | 2 -- keyboards/ramonimbao/wete/v2/config.h | 4 ---- keyboards/rart/rartlice/config.h | 2 -- keyboards/rate/pistachio/rev1/config.h | 4 ---- keyboards/rate/pistachio/rev2/config.h | 4 ---- keyboards/rate/pistachio_mp/config.h | 4 ---- keyboards/rate/pistachio_pro/config.h | 4 ---- keyboards/recompile_keys/mio/config.h | 4 ---- keyboards/recompile_keys/nomu30/rev2/config.h | 4 ---- keyboards/redox/rev1/config.h | 2 -- keyboards/redox/rev1/proton_c/config.h | 2 -- keyboards/redox_w/config.h | 2 -- keyboards/redscarf_iiplus/verb/config.h | 2 -- keyboards/redscarf_iiplus/verc/config.h | 2 -- keyboards/redscarf_iiplus/verd/config.h | 2 -- keyboards/retro_75/config.h | 2 -- keyboards/reversestudio/decadepad/config.h | 2 -- keyboards/reviung/reviung33/config.h | 4 ---- keyboards/reviung/reviung34/config.h | 2 -- keyboards/reviung/reviung39/config.h | 2 -- keyboards/reviung/reviung41/config.h | 2 -- keyboards/reviung/reviung5/config.h | 4 ---- keyboards/reviung/reviung53/config.h | 4 ---- keyboards/reviung/reviung61/config.h | 4 ---- keyboards/rgbkb/sol/config.h | 2 -- keyboards/rgbkb/zen/rev1/config.h | 2 -- keyboards/rgbkb/zen/rev2/config.h | 2 -- keyboards/rgbkb/zygomorph/rev1/config.h | 2 -- keyboards/rocketboard_16/config.h | 2 -- keyboards/rominronin/katana60/rev1/config.h | 2 -- keyboards/rominronin/katana60/rev2/config.h | 2 -- keyboards/roseslite/config.h | 2 -- keyboards/rubi/config.h | 4 ---- keyboards/runes/vaengr/config.h | 4 ---- keyboards/ryanbaekr/rb69/config.h | 4 ---- keyboards/ryanbaekr/rb86/config.h | 4 ---- keyboards/sandwich/keeb68/config.h | 4 ---- keyboards/satt/comet46/config.h | 2 -- keyboards/satt/vision/config.h | 2 -- keyboards/scatter42/config.h | 4 ---- keyboards/sck/m0116b/config.h | 2 -- keyboards/sck/neiso/config.h | 2 -- keyboards/sck/osa/config.h | 2 -- keyboards/sekigon/grs_70ec/config.h | 4 ---- keyboards/senselessclay/ck60/config.h | 4 ---- keyboards/senselessclay/ck65/config.h | 6 +----- keyboards/senselessclay/gos65/config.h | 6 +----- keyboards/senselessclay/had60/config.h | 4 ---- keyboards/sentraq/s60_x/default/config.h | 2 -- keyboards/shapeshifter4060/config.h | 2 -- keyboards/shiro/config.h | 2 -- keyboards/shk9/config.h | 4 ---- keyboards/sidderskb/majbritt/rev2/config.h | 3 --- keyboards/silverbullet44/config.h | 4 ---- keyboards/sirius/uni660/rev1/config.h | 4 ---- keyboards/sirius/uni660/rev2/ansi/config.h | 4 ---- keyboards/sirius/uni660/rev2/iso/config.h | 4 ---- keyboards/sirius/unigo66/config.h | 2 -- keyboards/sixkeyboard/config.h | 2 -- keyboards/skippys_custom_pcs/roopad/config.h | 3 --- keyboards/slz40/config.h | 4 ---- keyboards/smallice/config.h | 4 ---- keyboards/smallkeyboard/config.h | 4 ---- keyboards/smk60/config.h | 2 -- keyboards/snampad/config.h | 2 -- keyboards/sofle/rev1/config.h | 3 --- keyboards/soup10/config.h | 4 ---- keyboards/spacetime/config.h | 2 -- keyboards/spacey/config.h | 5 ----- keyboards/specskeys/config.h | 4 ---- keyboards/splitty/config.h | 4 ---- keyboards/studiokestra/bourgeau/config.h | 2 -- keyboards/studiokestra/cascade/config.h | 2 -- keyboards/studiokestra/galatea/config.h | 4 ---- keyboards/studiokestra/nue/config.h | 4 ---- keyboards/subatomic/config.h | 2 -- keyboards/switchplate/southpaw_65/config.h | 2 -- keyboards/switchplate/southpaw_fullsize/config.h | 4 ---- keyboards/switchplate/switchplate910/config.h | 4 ---- keyboards/tada68/config.h | 2 -- keyboards/takashicompany/center_enter/config.h | 4 ---- keyboards/takashicompany/compacx/config.h | 4 ---- keyboards/takashicompany/dogtag/config.h | 4 ---- keyboards/takashicompany/endzone34/config.h | 4 ---- keyboards/takashicompany/heavy_left/config.h | 6 +----- keyboards/takashicompany/qoolee/config.h | 6 +----- keyboards/takashicompany/radialex/config.h | 4 ---- keyboards/takashiski/hecomi/alpha/config.h | 2 -- keyboards/takashiski/namecard2x4/rev1/config.h | 3 --- keyboards/takashiski/namecard2x4/rev2/config.h | 3 --- keyboards/takashiski/otaku_split/rev0/config.h | 2 -- keyboards/takashiski/otaku_split/rev1/config.h | 2 -- keyboards/tanuki/config.h | 2 -- keyboards/team0110/p1800fl/config.h | 6 +----- keyboards/technika/config.h | 2 -- keyboards/telophase/config.h | 4 ---- keyboards/tetris/config.h | 3 --- keyboards/tg4x/config.h | 2 -- keyboards/tgr/910ce/config.h | 5 ----- keyboards/thevankeyboards/jetvan/config.h | 2 -- keyboards/thevankeyboards/roadkit/config.h | 2 -- keyboards/tkc/california/config.h | 2 -- keyboards/tkc/candybar/lefty/config.h | 2 -- keyboards/tkc/candybar/lefty_r3/config.h | 2 -- keyboards/tkc/candybar/righty/config.h | 2 -- keyboards/tkc/candybar/righty_r3/config.h | 2 -- keyboards/tkc/godspeed75/config.h | 2 -- keyboards/tkc/m0lly/config.h | 4 ---- keyboards/tkc/osav2/config.h | 2 -- keyboards/tkc/portico/config.h | 4 ---- keyboards/tkc/portico68v2/config.h | 4 ---- keyboards/tkc/portico75/config.h | 4 ---- keyboards/tkc/tkc1800/config.h | 2 -- keyboards/tkc/tkl_ab87/config.h | 2 -- keyboards/tkw/grandiceps/config.h | 4 ---- keyboards/tkw/stoutgat/v1/config.h | 4 ---- keyboards/tkw/stoutgat/v2/config.h | 4 ---- keyboards/tmo50/config.h | 2 -- keyboards/touchpad/config.h | 2 -- keyboards/treasure/type9/config.h | 3 --- keyboards/tszaboo/ortho4exent/config.h | 4 ---- keyboards/tw40/config.h | 3 --- keyboards/unikeyboard/diverge3/config.h | 2 -- keyboards/unikeyboard/felix/config.h | 2 -- keyboards/unison/v04/config.h | 4 ---- keyboards/uranuma/config.h | 2 -- keyboards/uzu42/config.h | 3 --- keyboards/uzu42/rev1/config.h | 2 -- keyboards/v4n4g0rth0n/config.h | 4 ---- keyboards/v60_type_r/config.h | 2 -- keyboards/viktus/smolka/config.h | 4 ---- keyboards/viktus/sp111/config.h | 4 ---- keyboards/viktus/sp_mini/config.h | 2 -- keyboards/viktus/styrka/config.h | 2 -- keyboards/vitamins_included/rev1/config.h | 2 -- keyboards/vitamins_included/rev2/config.h | 2 -- keyboards/waldo/config.h | 4 +--- keyboards/wavtype/foundation/config.h | 4 ---- keyboards/wekey/polaris/config.h | 4 ---- keyboards/wekey/stelo65/config.h | 4 ---- keyboards/wekey/we27/config.h | 4 ---- keyboards/westfoxtrot/cyclops/config.h | 2 -- keyboards/whale/sk/v3/config.h | 4 ---- keyboards/wilba_tech/rama_works_kara/config.h | 2 -- keyboards/wilba_tech/rama_works_koyu/config.h | 2 -- keyboards/wilba_tech/rama_works_m10_b/config.h | 2 -- keyboards/wilba_tech/rama_works_m10_c/config.h | 4 ---- keyboards/wilba_tech/rama_works_m50_a/config.h | 4 ---- keyboards/wilba_tech/rama_works_m50_ax/config.h | 4 ---- keyboards/wilba_tech/rama_works_m60_a/config.h | 2 -- keyboards/wilba_tech/rama_works_u80_a/config.h | 2 -- keyboards/wilba_tech/wt60_a/config.h | 2 -- keyboards/wilba_tech/wt60_d/config.h | 2 -- keyboards/wilba_tech/wt60_xt/config.h | 2 -- keyboards/wilba_tech/wt65_a/config.h | 2 -- keyboards/wilba_tech/wt65_b/config.h | 2 -- keyboards/wilba_tech/wt69_a/config.h | 2 -- keyboards/wilba_tech/wt75_a/config.h | 2 -- keyboards/wilba_tech/wt75_b/config.h | 2 -- keyboards/wilba_tech/wt75_c/config.h | 2 -- keyboards/wilba_tech/wt80_a/config.h | 2 -- keyboards/wilba_tech/zeal60/config.h | 2 -- keyboards/wilba_tech/zeal65/config.h | 4 +--- keyboards/winkeys/mini_winni/config.h | 4 ---- keyboards/wolf/kuku65/config.h | 3 --- keyboards/wolf/sabre/config.h | 3 --- keyboards/wolf/ts60/config.h | 3 --- keyboards/wolfmarkclub/wm1/config.h | 2 -- keyboards/woodkeys/meira/featherble/config.h | 2 -- keyboards/woodkeys/meira/promicro/config.h | 2 -- keyboards/woodkeys/scarletbandana/config.h | 3 --- keyboards/work_louder/loop/config.h | 4 ---- keyboards/work_louder/nano/config.h | 4 ---- keyboards/work_louder/work_board/config.h | 4 ---- keyboards/wren/config.h | 4 ---- keyboards/x16/config.h | 2 -- keyboards/xbows/knight/config.h | 4 ---- keyboards/xbows/knight_plus/config.h | 4 ---- keyboards/xbows/nature/config.h | 4 ---- keyboards/xbows/numpad/config.h | 4 ---- keyboards/xbows/ranger/config.h | 4 ---- keyboards/xelus/dawn60/rev1/config.h | 2 -- keyboards/xiaomi/mk02/config.h | 2 -- keyboards/xiudi/xd004/v1/config.h | 2 -- keyboards/xiudi/xd68/config.h | 2 -- keyboards/xiudi/xd75/config.h | 4 ---- keyboards/xiudi/xd84/config.h | 2 -- keyboards/xiudi/xd84pro/config.h | 3 --- keyboards/xiudi/xd87/config.h | 3 --- keyboards/xiudi/xd96/config.h | 2 -- keyboards/yampad/config.h | 2 -- keyboards/ydkb/chili/config.h | 2 -- keyboards/ydkb/just60/config.h | 4 ---- keyboards/ydkb/yd68/config.h | 3 --- keyboards/yiancardesigns/barleycorn/config.h | 2 -- keyboards/yiancardesigns/gingham/config.h | 3 --- keyboards/yiancardesigns/seigaiha/config.h | 2 -- keyboards/ymdk/np21/config.h | 4 ---- keyboards/ymdk/sp64/config.h | 4 ---- keyboards/ymdk/ymd09/config.h | 4 ---- keyboards/yoichiro/lunakey_macro/config.h | 4 ---- keyboards/yoichiro/lunakey_mini/config.h | 4 ---- keyboards/yosino58/config.h | 3 --- keyboards/yosino58/rev1/config.h | 2 -- keyboards/yugo_m/model_m_101/config.h | 2 -- keyboards/yushakobo/navpad/10/config.h | 6 +----- keyboards/yushakobo/navpad/10_helix_r/config.h | 6 +----- keyboards/yushakobo/quick17/config.h | 4 ---- keyboards/yushakobo/quick7/config.h | 6 ------ keyboards/yynmt/acperience12/rev1/config.h | 4 ---- keyboards/yynmt/dozen0/config.h | 2 -- keyboards/yynmt/kagamidget/config.h | 2 -- keyboards/ziggurat/config.h | 4 ---- keyboards/zoo/wampus/config.h | 4 ---- keyboards/zvecr/split_blackpill/config.h | 4 ---- keyboards/zvecr/zv48/config.h | 4 ---- 958 files changed, 32 insertions(+), 2807 deletions(-) diff --git a/keyboards/0_sixty/config.h b/keyboards/0_sixty/config.h index fa371a54cc39..9d9394c14fdb 100644 --- a/keyboards/0_sixty/config.h +++ b/keyboards/0_sixty/config.h @@ -64,5 +64,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/0_sixty/underglow/config.h b/keyboards/0_sixty/underglow/config.h index 5f4ebd4c4535..1cff58d944d8 100644 --- a/keyboards/0_sixty/underglow/config.h +++ b/keyboards/0_sixty/underglow/config.h @@ -58,5 +58,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/0xc7/61key/config.h b/keyboards/0xc7/61key/config.h index d1edf3284e1c..11b01ad8b60d 100644 --- a/keyboards/0xc7/61key/config.h +++ b/keyboards/0xc7/61key/config.h @@ -136,10 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h index 3f4f742b480d..2396e9083b49 100644 --- a/keyboards/1upkeyboards/1up60hse/config.h +++ b/keyboards/1upkeyboards/1up60hse/config.h @@ -108,5 +108,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h index 354f0680e820..fd11e13fe114 100644 --- a/keyboards/1upkeyboards/super16/config.h +++ b/keyboards/1upkeyboards/super16/config.h @@ -181,8 +181,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/1upkeyboards/super16v2/config.h b/keyboards/1upkeyboards/super16v2/config.h index 77bb89d954f0..4685e66b2db1 100644 --- a/keyboards/1upkeyboards/super16v2/config.h +++ b/keyboards/1upkeyboards/super16v2/config.h @@ -135,10 +135,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/25keys/aleth42/rev0/config.h b/keyboards/25keys/aleth42/rev0/config.h index da10e30a4fae..8424b2edc34e 100644 --- a/keyboards/25keys/aleth42/rev0/config.h +++ b/keyboards/25keys/aleth42/rev0/config.h @@ -76,7 +76,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/25keys/zinc/rev1/config.h b/keyboards/25keys/zinc/rev1/config.h index a0bc34ece4ae..43af843a0bd0 100644 --- a/keyboards/25keys/zinc/rev1/config.h +++ b/keyboards/25keys/zinc/rev1/config.h @@ -73,5 +73,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/25keys/zinc/reva/config.h b/keyboards/25keys/zinc/reva/config.h index 378fd9e6d9fa..428c704d1928 100644 --- a/keyboards/25keys/zinc/reva/config.h +++ b/keyboards/25keys/zinc/reva/config.h @@ -73,5 +73,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/3keyecosystem/2key2/config.h b/keyboards/3keyecosystem/2key2/config.h index 58010eea5513..80e864ce9d20 100644 --- a/keyboards/3keyecosystem/2key2/config.h +++ b/keyboards/3keyecosystem/2key2/config.h @@ -91,7 +91,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/3w6/rev1/config.h b/keyboards/3w6/rev1/config.h index 1f0bab97fa12..0c14dc72d355 100644 --- a/keyboards/3w6/rev1/config.h +++ b/keyboards/3w6/rev1/config.h @@ -56,8 +56,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - diff --git a/keyboards/3w6/rev2/config.h b/keyboards/3w6/rev2/config.h index d191360607ea..4101aa76cdc4 100644 --- a/keyboards/3w6/rev2/config.h +++ b/keyboards/3w6/rev2/config.h @@ -56,8 +56,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h index 292854f68f1c..c753f7c29f65 100644 --- a/keyboards/40percentclub/25/config.h +++ b/keyboards/40percentclub/25/config.h @@ -116,5 +116,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/40percentclub/4pack/config.h b/keyboards/40percentclub/4pack/config.h index 305e71e542e9..943b918d56bb 100644 --- a/keyboards/40percentclub/4pack/config.h +++ b/keyboards/40percentclub/4pack/config.h @@ -137,8 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/40percentclub/4x4/config.h b/keyboards/40percentclub/4x4/config.h index b74eb62c1e8f..44628ac741bb 100644 --- a/keyboards/40percentclub/4x4/config.h +++ b/keyboards/40percentclub/4x4/config.h @@ -83,5 +83,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/40percentclub/5x5/config.h b/keyboards/40percentclub/5x5/config.h index 62d63b8afa4a..460f5ba93d64 100644 --- a/keyboards/40percentclub/5x5/config.h +++ b/keyboards/40percentclub/5x5/config.h @@ -92,5 +92,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/40percentclub/6lit/config.h b/keyboards/40percentclub/6lit/config.h index e402932b2191..302decc1624c 100644 --- a/keyboards/40percentclub/6lit/config.h +++ b/keyboards/40percentclub/6lit/config.h @@ -117,5 +117,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/40percentclub/foobar/config.h b/keyboards/40percentclub/foobar/config.h index 3f6cb1f10c3c..afc50acb7eb6 100644 --- a/keyboards/40percentclub/foobar/config.h +++ b/keyboards/40percentclub/foobar/config.h @@ -117,5 +117,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/40percentclub/half_n_half/config.h b/keyboards/40percentclub/half_n_half/config.h index 292ac485bd1a..2ed218199f49 100644 --- a/keyboards/40percentclub/half_n_half/config.h +++ b/keyboards/40percentclub/half_n_half/config.h @@ -126,8 +126,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/40percentclub/i75/config.h b/keyboards/40percentclub/i75/config.h index bce564c042aa..2bf67cff1d22 100644 --- a/keyboards/40percentclub/i75/config.h +++ b/keyboards/40percentclub/i75/config.h @@ -72,8 +72,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/40percentclub/mf68/config.h b/keyboards/40percentclub/mf68/config.h index 2ed8c8719550..404cd6f7d3af 100644 --- a/keyboards/40percentclub/mf68/config.h +++ b/keyboards/40percentclub/mf68/config.h @@ -115,5 +115,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/40percentclub/nein/config.h b/keyboards/40percentclub/nein/config.h index 4dfb143e52e7..53c227d832b1 100644 --- a/keyboards/40percentclub/nein/config.h +++ b/keyboards/40percentclub/nein/config.h @@ -121,8 +121,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/40percentclub/nori/config.h b/keyboards/40percentclub/nori/config.h index 0fed3daf1110..bf0507716fdc 100644 --- a/keyboards/40percentclub/nori/config.h +++ b/keyboards/40percentclub/nori/config.h @@ -105,5 +105,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/40percentclub/polyandry/config.h b/keyboards/40percentclub/polyandry/config.h index 1fd3e22f49be..bc0683f6fb47 100644 --- a/keyboards/40percentclub/polyandry/config.h +++ b/keyboards/40percentclub/polyandry/config.h @@ -75,8 +75,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/abacus/config.h b/keyboards/abacus/config.h index eee2f3f91928..5a627e630a2d 100644 --- a/keyboards/abacus/config.h +++ b/keyboards/abacus/config.h @@ -102,7 +102,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/abstract/ellipse/rev1/config.h b/keyboards/abstract/ellipse/rev1/config.h index 6e16c8d228dd..060229abb2d1 100644 --- a/keyboards/abstract/ellipse/rev1/config.h +++ b/keyboards/abstract/ellipse/rev1/config.h @@ -127,8 +127,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/acekeyboard/titan60/config.h b/keyboards/acekeyboard/titan60/config.h index 67d02c98ea07..6cfaa7980eb8 100644 --- a/keyboards/acekeyboard/titan60/config.h +++ b/keyboards/acekeyboard/titan60/config.h @@ -80,7 +80,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/acheron/arctic/config.h b/keyboards/acheron/arctic/config.h index 4056ad007319..1275eb5a65d5 100644 --- a/keyboards/acheron/arctic/config.h +++ b/keyboards/acheron/arctic/config.h @@ -66,5 +66,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/acheron/austin/config.h b/keyboards/acheron/austin/config.h index e90fb0ee7c83..ddbd6975d4b9 100644 --- a/keyboards/acheron/austin/config.h +++ b/keyboards/acheron/austin/config.h @@ -66,5 +66,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/acheron/elongate/beta/config.h b/keyboards/acheron/elongate/beta/config.h index c02cf0897978..874183362c02 100644 --- a/keyboards/acheron/elongate/beta/config.h +++ b/keyboards/acheron/elongate/beta/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/acheron/keebspcb/config.h b/keyboards/acheron/keebspcb/config.h index 70ffc52615b9..05e08f74f7e4 100644 --- a/keyboards/acheron/keebspcb/config.h +++ b/keyboards/acheron/keebspcb/config.h @@ -66,5 +66,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/acheron/lasgweloth/config.h b/keyboards/acheron/lasgweloth/config.h index e131787f76c6..f9a2427faea3 100644 --- a/keyboards/acheron/lasgweloth/config.h +++ b/keyboards/acheron/lasgweloth/config.h @@ -66,5 +66,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/acheron/shark/config.h b/keyboards/acheron/shark/config.h index 78f763fe90c8..cd2d88129c0b 100644 --- a/keyboards/acheron/shark/config.h +++ b/keyboards/acheron/shark/config.h @@ -148,8 +148,6 @@ B0, which is unconnected on the PCB //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ada/infinity81/config.h b/keyboards/ada/infinity81/config.h index 1cbce84720b6..af28efeae2a6 100644 --- a/keyboards/ada/infinity81/config.h +++ b/keyboards/ada/infinity81/config.h @@ -117,10 +117,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/adelheid/config.h b/keyboards/adelheid/config.h index 487559af1662..aca9bdc701c2 100644 --- a/keyboards/adelheid/config.h +++ b/keyboards/adelheid/config.h @@ -127,5 +127,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/adkb96/rev1/config.h b/keyboards/adkb96/rev1/config.h index c5b768721c34..9727e7eaf7a2 100644 --- a/keyboards/adkb96/rev1/config.h +++ b/keyboards/adkb96/rev1/config.h @@ -74,5 +74,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/adpenrose/kintsugi/config.h b/keyboards/adpenrose/kintsugi/config.h index cbd38b6664b2..b3aca40a06c4 100644 --- a/keyboards/adpenrose/kintsugi/config.h +++ b/keyboards/adpenrose/kintsugi/config.h @@ -137,10 +137,6 @@ increase the value. If you need 2 clicks for 1 keycode, decrease*/ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/afternoonlabs/breeze/config.h b/keyboards/afternoonlabs/breeze/config.h index 48331fa076e5..0b832322a3d9 100644 --- a/keyboards/afternoonlabs/breeze/config.h +++ b/keyboards/afternoonlabs/breeze/config.h @@ -17,6 +17,3 @@ #pragma once #include "config_common.h" - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/afternoonlabs/gust/config.h b/keyboards/afternoonlabs/gust/config.h index 48331fa076e5..0b832322a3d9 100644 --- a/keyboards/afternoonlabs/gust/config.h +++ b/keyboards/afternoonlabs/gust/config.h @@ -17,6 +17,3 @@ #pragma once #include "config_common.h" - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/afternoonlabs/oceanbreeze/config.h b/keyboards/afternoonlabs/oceanbreeze/config.h index 1197fa225740..71eaed42a22d 100644 --- a/keyboards/afternoonlabs/oceanbreeze/config.h +++ b/keyboards/afternoonlabs/oceanbreeze/config.h @@ -17,6 +17,3 @@ #pragma once #include "config_common.h" - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/afternoonlabs/southern_breeze/config.h b/keyboards/afternoonlabs/southern_breeze/config.h index 1197fa225740..71eaed42a22d 100644 --- a/keyboards/afternoonlabs/southern_breeze/config.h +++ b/keyboards/afternoonlabs/southern_breeze/config.h @@ -17,6 +17,3 @@ #pragma once #include "config_common.h" - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/afternoonlabs/summer_breeze/config.h b/keyboards/afternoonlabs/summer_breeze/config.h index 1197fa225740..71eaed42a22d 100644 --- a/keyboards/afternoonlabs/summer_breeze/config.h +++ b/keyboards/afternoonlabs/summer_breeze/config.h @@ -17,6 +17,3 @@ #pragma once #include "config_common.h" - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/ai03/equinox/config.h b/keyboards/ai03/equinox/config.h index 5130f510b64d..4a6b841b60b3 100644 --- a/keyboards/ai03/equinox/config.h +++ b/keyboards/ai03/equinox/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ai03/jp60/config.h b/keyboards/ai03/jp60/config.h index a06d75c8e513..2e4832154653 100644 --- a/keyboards/ai03/jp60/config.h +++ b/keyboards/ai03/jp60/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ai03/lunar/config.h b/keyboards/ai03/lunar/config.h index 9ee8cbf6f8ff..65f428776f4d 100644 --- a/keyboards/ai03/lunar/config.h +++ b/keyboards/ai03/lunar/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ai03/orbit/config.h b/keyboards/ai03/orbit/config.h index 0e4f4c3baf84..1b745b4e1f9b 100644 --- a/keyboards/ai03/orbit/config.h +++ b/keyboards/ai03/orbit/config.h @@ -140,8 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ai03/orbit_x/config.h b/keyboards/ai03/orbit_x/config.h index 7d3e8ef51135..74acd647469c 100644 --- a/keyboards/ai03/orbit_x/config.h +++ b/keyboards/ai03/orbit_x/config.h @@ -110,10 +110,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ai03/polaris/config.h b/keyboards/ai03/polaris/config.h index 0cd6e6f58089..2d869dd0bd5d 100644 --- a/keyboards/ai03/polaris/config.h +++ b/keyboards/ai03/polaris/config.h @@ -107,8 +107,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ai03/quasar/config.h b/keyboards/ai03/quasar/config.h index 2563125be0da..97fa2df2da7d 100644 --- a/keyboards/ai03/quasar/config.h +++ b/keyboards/ai03/quasar/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ai03/soyuz/config.h b/keyboards/ai03/soyuz/config.h index feb55107c3f3..8022145cebd2 100644 --- a/keyboards/ai03/soyuz/config.h +++ b/keyboards/ai03/soyuz/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ai03/vega/config.h b/keyboards/ai03/vega/config.h index ac589276a7e7..5f94ea9a7db4 100644 --- a/keyboards/ai03/vega/config.h +++ b/keyboards/ai03/vega/config.h @@ -59,5 +59,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ai03/voyager60_alps/config.h b/keyboards/ai03/voyager60_alps/config.h index cd749cc50523..cd06071989b8 100644 --- a/keyboards/ai03/voyager60_alps/config.h +++ b/keyboards/ai03/voyager60_alps/config.h @@ -90,8 +90,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/al1/config.h b/keyboards/al1/config.h index c8edb8ebfe54..078e9cb41e01 100644 --- a/keyboards/al1/config.h +++ b/keyboards/al1/config.h @@ -88,7 +88,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/aleblazer/zodiark/config.h b/keyboards/aleblazer/zodiark/config.h index 84795f024b67..a3ea6382e412 100644 --- a/keyboards/aleblazer/zodiark/config.h +++ b/keyboards/aleblazer/zodiark/config.h @@ -25,8 +25,6 @@ along with this program. If not, see . #define MANUFACTURER Aleblazer #define PRODUCT Zodiark -#define NO_ACTION_MACRO - #define SOFT_SERIAL_PIN D3 #define SERIAL_USE_MULTI_TRANSACTION #define SELECT_SOFT_SERIAL_SPEED 1 diff --git a/keyboards/alf/dc60/config.h b/keyboards/alf/dc60/config.h index 5c3768532263..bdbea9578cda 100644 --- a/keyboards/alf/dc60/config.h +++ b/keyboards/alf/dc60/config.h @@ -117,5 +117,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/alf/x11/config.h b/keyboards/alf/x11/config.h index 437f1e22ba48..a489174b2d6a 100644 --- a/keyboards/alf/x11/config.h +++ b/keyboards/alf/x11/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/alpine65/config.h b/keyboards/alpine65/config.h index 68aae5638355..ce674396abce 100644 --- a/keyboards/alpine65/config.h +++ b/keyboards/alpine65/config.h @@ -72,5 +72,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/alps64/config.h b/keyboards/alps64/config.h index 31837b3a9ee5..640bab8bca14 100644 --- a/keyboards/alps64/config.h +++ b/keyboards/alps64/config.h @@ -68,5 +68,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/amj40/config.h b/keyboards/amj40/config.h index 7fce438337ea..71a8d34413e8 100755 --- a/keyboards/amj40/config.h +++ b/keyboards/amj40/config.h @@ -84,5 +84,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/amj60/config.h b/keyboards/amj60/config.h index 8d53efd3f393..1c25e4fea058 100644 --- a/keyboards/amj60/config.h +++ b/keyboards/amj60/config.h @@ -109,10 +109,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/amj96/config.h b/keyboards/amj96/config.h index 5de56683a69e..f5b26220b797 100644 --- a/keyboards/amj96/config.h +++ b/keyboards/amj96/config.h @@ -129,5 +129,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/amjkeyboard/amj84/config.h b/keyboards/amjkeyboard/amj84/config.h index 279d1268e8d3..569c06dac2a5 100644 --- a/keyboards/amjkeyboard/amj84/config.h +++ b/keyboards/amjkeyboard/amj84/config.h @@ -103,10 +103,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/amjpad/config.h b/keyboards/amjpad/config.h index f1d57592b533..dd8ed34e4746 100644 --- a/keyboards/amjpad/config.h +++ b/keyboards/amjpad/config.h @@ -84,5 +84,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/arabica37/rev1/config.h b/keyboards/arabica37/rev1/config.h index 7951bc49ea6e..c0339a1a09ca 100644 --- a/keyboards/arabica37/rev1/config.h +++ b/keyboards/arabica37/rev1/config.h @@ -77,5 +77,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/arisu/config.h b/keyboards/arisu/config.h index 8cadc50741cc..8e2da440c274 100644 --- a/keyboards/arisu/config.h +++ b/keyboards/arisu/config.h @@ -127,5 +127,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ash1800/config.h b/keyboards/ash1800/config.h index 051db87a79a2..7b55f31bd399 100644 --- a/keyboards/ash1800/config.h +++ b/keyboards/ash1800/config.h @@ -140,8 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ashpil/modelm_usbc/config.h b/keyboards/ashpil/modelm_usbc/config.h index f383a3071493..857217152737 100644 --- a/keyboards/ashpil/modelm_usbc/config.h +++ b/keyboards/ashpil/modelm_usbc/config.h @@ -66,8 +66,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/at_at/660m/config.h b/keyboards/at_at/660m/config.h index 41443f8ae624..5a53e8c38af4 100644 --- a/keyboards/at_at/660m/config.h +++ b/keyboards/at_at/660m/config.h @@ -65,5 +65,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/atlas_65/config.h b/keyboards/atlas_65/config.h index d96c2c3976df..86613cb193a2 100644 --- a/keyboards/atlas_65/config.h +++ b/keyboards/atlas_65/config.h @@ -126,5 +126,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/atomic/config.h b/keyboards/atomic/config.h index cb4aee0f7fc1..095cac906caf 100644 --- a/keyboards/atomic/config.h +++ b/keyboards/atomic/config.h @@ -99,5 +99,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/atreus/config.h b/keyboards/atreus/config.h index 07f4d7f15a26..ae3eb4f23250 100644 --- a/keyboards/atreus/config.h +++ b/keyboards/atreus/config.h @@ -59,5 +59,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/atreus62/config.h b/keyboards/atreus62/config.h index 31baef145f09..2bb3da484c42 100644 --- a/keyboards/atreus62/config.h +++ b/keyboards/atreus62/config.h @@ -68,5 +68,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/atxkb/1894/config.h b/keyboards/atxkb/1894/config.h index c59efe91a746..fd621e169a5b 100644 --- a/keyboards/atxkb/1894/config.h +++ b/keyboards/atxkb/1894/config.h @@ -107,8 +107,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/aves60/config.h b/keyboards/aves60/config.h index 9f90b2109e1b..d44951a4ce14 100644 --- a/keyboards/aves60/config.h +++ b/keyboards/aves60/config.h @@ -130,10 +130,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 4 #define BOOTMAGIC_LITE_COLUMN 6 diff --git a/keyboards/baguette/config.h b/keyboards/baguette/config.h index 9a6b08ed9ebd..b4937579a355 100644 --- a/keyboards/baguette/config.h +++ b/keyboards/baguette/config.h @@ -114,5 +114,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/bandominedoni/config.h b/keyboards/bandominedoni/config.h index e1e4d874054d..d95b6005363f 100644 --- a/keyboards/bandominedoni/config.h +++ b/keyboards/bandominedoni/config.h @@ -240,10 +240,6 @@ // NO_ACTION_ONESHOT -388 bytes #define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/bantam44/config.h b/keyboards/bantam44/config.h index 6cff8b2899ed..2745f5c04554 100644 --- a/keyboards/bantam44/config.h +++ b/keyboards/bantam44/config.h @@ -69,5 +69,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/barleycorn_smd/config.h b/keyboards/barleycorn_smd/config.h index 2ac86bf8a866..e56992f1fc40 100644 --- a/keyboards/barleycorn_smd/config.h +++ b/keyboards/barleycorn_smd/config.h @@ -107,5 +107,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/barracuda/config.h b/keyboards/barracuda/config.h index 97eee0bd655c..9b83522b1a37 100644 --- a/keyboards/barracuda/config.h +++ b/keyboards/barracuda/config.h @@ -53,7 +53,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/bastardkb/charybdis/3x5/config.h b/keyboards/bastardkb/charybdis/3x5/config.h index 9c69f7c35833..89b896bc35ae 100644 --- a/keyboards/bastardkb/charybdis/3x5/config.h +++ b/keyboards/bastardkb/charybdis/3x5/config.h @@ -58,10 +58,6 @@ /* Set 0 if debouncing isn't needed. */ #define DEBOUNCE 5 -/* Disable action features. */ -#define NO_ACTION_MACRO // Disable old-style macro handling. -#define NO_ACTION_FUNCTION // Disable old-style function handling. - /* PMW3360 settings. */ #define PMW3360_CS_PIN B0 diff --git a/keyboards/bastardkb/charybdis/4x6/config.h b/keyboards/bastardkb/charybdis/4x6/config.h index f00fb382f651..423f12fdbec1 100644 --- a/keyboards/bastardkb/charybdis/4x6/config.h +++ b/keyboards/bastardkb/charybdis/4x6/config.h @@ -60,10 +60,6 @@ /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 -/* Disable action features. */ -#define NO_ACTION_MACRO // Disable old-style macro handling. -#define NO_ACTION_FUNCTION // Disable old-style function handling. - /* PMW3360 settings. */ #define PMW3360_CS_PIN B0 diff --git a/keyboards/bear_face/config.h b/keyboards/bear_face/config.h index 9b389f127ad3..593f8a23a4b4 100644 --- a/keyboards/bear_face/config.h +++ b/keyboards/bear_face/config.h @@ -95,5 +95,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/biacco42/ergo42/rev1/config.h b/keyboards/biacco42/ergo42/rev1/config.h index a6bf914515d0..c8bfe1170f29 100644 --- a/keyboards/biacco42/ergo42/rev1/config.h +++ b/keyboards/biacco42/ergo42/rev1/config.h @@ -76,5 +76,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/biacco42/meishi/config.h b/keyboards/biacco42/meishi/config.h index 6664e371a19d..ff6c22dc569a 100644 --- a/keyboards/biacco42/meishi/config.h +++ b/keyboards/biacco42/meishi/config.h @@ -106,5 +106,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/biacco42/meishi2/config.h b/keyboards/biacco42/meishi2/config.h index df3203991cdb..57a4e226a309 100644 --- a/keyboards/biacco42/meishi2/config.h +++ b/keyboards/biacco42/meishi2/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/bioi/f60/config.h b/keyboards/bioi/f60/config.h index a0d498b90e68..40a7f6250fd0 100644 --- a/keyboards/bioi/f60/config.h +++ b/keyboards/bioi/f60/config.h @@ -66,7 +66,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/blank/blank01/config.h b/keyboards/blank/blank01/config.h index 5b28e8199c91..5ebf8c774a86 100644 --- a/keyboards/blank/blank01/config.h +++ b/keyboards/blank/blank01/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/blockey/config.h b/keyboards/blockey/config.h index 7ad3311c71f0..d954be2d7ea0 100644 --- a/keyboards/blockey/config.h +++ b/keyboards/blockey/config.h @@ -110,5 +110,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/boardrun/bizarre/config.h b/keyboards/boardrun/bizarre/config.h index 6e08d1f4a71f..9f4b91e2b563 100644 --- a/keyboards/boardrun/bizarre/config.h +++ b/keyboards/boardrun/bizarre/config.h @@ -71,8 +71,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // ws2812 options #define RGB_DI_PIN B7 // pin the DI on the ws2812 is hooked-up to diff --git a/keyboards/boardrun/classic/config.h b/keyboards/boardrun/classic/config.h index 6c814eb373db..754c42975f97 100644 --- a/keyboards/boardrun/classic/config.h +++ b/keyboards/boardrun/classic/config.h @@ -71,8 +71,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // ws2812 options #define RGB_DI_PIN B7 // pin the DI on the ws2812 is hooked-up to diff --git a/keyboards/boardsource/3x4/config.h b/keyboards/boardsource/3x4/config.h index 01d163ca5021..b7a067bb6f9d 100644 --- a/keyboards/boardsource/3x4/config.h +++ b/keyboards/boardsource/3x4/config.h @@ -68,5 +68,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/boardsource/4x12/config.h b/keyboards/boardsource/4x12/config.h index 967bb1c9f032..4df24944f8fe 100644 --- a/keyboards/boardsource/4x12/config.h +++ b/keyboards/boardsource/4x12/config.h @@ -66,5 +66,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/boardsource/5x12/config.h b/keyboards/boardsource/5x12/config.h index 455965a09ef0..f70dec9efbb5 100644 --- a/keyboards/boardsource/5x12/config.h +++ b/keyboards/boardsource/5x12/config.h @@ -67,5 +67,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/boardsource/beiwagon/config.h b/keyboards/boardsource/beiwagon/config.h index 797da34613ef..72386c4236f7 100644 --- a/keyboards/boardsource/beiwagon/config.h +++ b/keyboards/boardsource/beiwagon/config.h @@ -160,10 +160,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/boardsource/holiday/spooky/config.h b/keyboards/boardsource/holiday/spooky/config.h index 92eb4c32acbc..87d63b0d9ec3 100644 --- a/keyboards/boardsource/holiday/spooky/config.h +++ b/keyboards/boardsource/holiday/spooky/config.h @@ -124,10 +124,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/boardsource/microdox/config.h b/keyboards/boardsource/microdox/config.h index 65af0f16dee6..7e6347dbdad3 100644 --- a/keyboards/boardsource/microdox/config.h +++ b/keyboards/boardsource/microdox/config.h @@ -76,5 +76,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/boardsource/technik_o/config.h b/keyboards/boardsource/technik_o/config.h index 51c9529da46f..146141a91121 100644 --- a/keyboards/boardsource/technik_o/config.h +++ b/keyboards/boardsource/technik_o/config.h @@ -160,10 +160,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/boardsource/technik_s/config.h b/keyboards/boardsource/technik_s/config.h index 7b5f297c9e48..a34ab1577a8d 100644 --- a/keyboards/boardsource/technik_s/config.h +++ b/keyboards/boardsource/technik_s/config.h @@ -160,10 +160,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/boardsource/the_mark/config.h b/keyboards/boardsource/the_mark/config.h index cbfe4cd51096..99696e5d28a3 100644 --- a/keyboards/boardsource/the_mark/config.h +++ b/keyboards/boardsource/the_mark/config.h @@ -151,10 +151,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/boardwalk/config.h b/keyboards/boardwalk/config.h index b98b709738f9..03e481ce6225 100644 --- a/keyboards/boardwalk/config.h +++ b/keyboards/boardwalk/config.h @@ -71,8 +71,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // ws2812 options #define RGB_DI_PIN B7 // pin the DI on the ws2812 is hooked-up to diff --git a/keyboards/boston/config.h b/keyboards/boston/config.h index ff9c253ded5c..247616d3da29 100644 --- a/keyboards/boston/config.h +++ b/keyboards/boston/config.h @@ -88,5 +88,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h index 138dedab5709..99ce9e85db2b 100644 --- a/keyboards/boston_meetup/2019/config.h +++ b/keyboards/boston_meetup/2019/config.h @@ -104,8 +104,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Haptic Driver initialization settings * Feedback Control Settings */ diff --git a/keyboards/boston_meetup/config.h b/keyboards/boston_meetup/config.h index 013b0b148454..60e490435f51 100644 --- a/keyboards/boston_meetup/config.h +++ b/keyboards/boston_meetup/config.h @@ -55,5 +55,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/box75/config.h b/keyboards/box75/config.h index b3b52c87303f..b6bcc31b0ab2 100644 --- a/keyboards/box75/config.h +++ b/keyboards/box75/config.h @@ -66,5 +66,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/bpiphany/frosty_flake/config.h b/keyboards/bpiphany/frosty_flake/config.h index a60d728ac65f..1ca00f231d19 100644 --- a/keyboards/bpiphany/frosty_flake/config.h +++ b/keyboards/bpiphany/frosty_flake/config.h @@ -91,6 +91,5 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION + #define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/bpiphany/hid_liber/config.h b/keyboards/bpiphany/hid_liber/config.h index 1664b9e31469..95e617f56229 100755 --- a/keyboards/bpiphany/hid_liber/config.h +++ b/keyboards/bpiphany/hid_liber/config.h @@ -88,5 +88,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/bpiphany/kitten_paw/config.h b/keyboards/bpiphany/kitten_paw/config.h index 7dbf0276994b..b357289e6919 100644 --- a/keyboards/bpiphany/kitten_paw/config.h +++ b/keyboards/bpiphany/kitten_paw/config.h @@ -105,5 +105,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/bpiphany/sixshooter/config.h b/keyboards/bpiphany/sixshooter/config.h index 9e7a1803af35..74acfac9b0c2 100644 --- a/keyboards/bpiphany/sixshooter/config.h +++ b/keyboards/bpiphany/sixshooter/config.h @@ -59,5 +59,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/bpiphany/tiger_lily/config.h b/keyboards/bpiphany/tiger_lily/config.h index 54a1c2e7f4a0..1831e3e4d404 100644 --- a/keyboards/bpiphany/tiger_lily/config.h +++ b/keyboards/bpiphany/tiger_lily/config.h @@ -96,5 +96,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/bpiphany/unloved_bastard/config.h b/keyboards/bpiphany/unloved_bastard/config.h index a6589be4a1df..1f1cf72a1888 100644 --- a/keyboards/bpiphany/unloved_bastard/config.h +++ b/keyboards/bpiphany/unloved_bastard/config.h @@ -89,5 +89,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/bt66tech/bt66tech60/config.h b/keyboards/bt66tech/bt66tech60/config.h index 7083b0f70d72..18a7a2d85e0e 100644 --- a/keyboards/bt66tech/bt66tech60/config.h +++ b/keyboards/bt66tech/bt66tech60/config.h @@ -91,5 +91,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/bthlabs/geekpad/config.h b/keyboards/bthlabs/geekpad/config.h index 7994a9cab50c..5dad96a7b4e5 100644 --- a/keyboards/bthlabs/geekpad/config.h +++ b/keyboards/bthlabs/geekpad/config.h @@ -114,8 +114,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/buildakb/potato65/config.h b/keyboards/buildakb/potato65/config.h index 350e1018f76f..4a0a17ace0c4 100644 --- a/keyboards/buildakb/potato65/config.h +++ b/keyboards/buildakb/potato65/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/buildakb/potato65hs/config.h b/keyboards/buildakb/potato65hs/config.h index b3b2cfdcd450..cf565d817640 100644 --- a/keyboards/buildakb/potato65hs/config.h +++ b/keyboards/buildakb/potato65hs/config.h @@ -47,10 +47,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DI_PIN D5 #ifdef RGB_DI_PIN # define RGBLIGHT_ANIMATIONS diff --git a/keyboards/buildakb/potato65s/config.h b/keyboards/buildakb/potato65s/config.h index 5183327855f5..c1374558c9a3 100644 --- a/keyboards/buildakb/potato65s/config.h +++ b/keyboards/buildakb/potato65s/config.h @@ -47,10 +47,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DI_PIN D5 #ifdef RGB_DI_PIN # define RGBLIGHT_EFFECT_BREATHING diff --git a/keyboards/caffeinated/serpent65/config.h b/keyboards/caffeinated/serpent65/config.h index f09a1c2b0810..358e7d0f4c3a 100644 --- a/keyboards/caffeinated/serpent65/config.h +++ b/keyboards/caffeinated/serpent65/config.h @@ -105,5 +105,3 @@ B0, which is unconnected on the PCB //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/canary/canary60rgb/v1/config.h b/keyboards/canary/canary60rgb/v1/config.h index 303bde7e77ac..f02b29c1b9af 100644 --- a/keyboards/canary/canary60rgb/v1/config.h +++ b/keyboards/canary/canary60rgb/v1/config.h @@ -65,10 +65,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended @@ -91,4 +87,4 @@ # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 # define DRIVER_LED_TOTAL 63 -#endif \ No newline at end of file +#endif diff --git a/keyboards/cannonkeys/adelie/config.h b/keyboards/cannonkeys/adelie/config.h index 25ddcf0c91bd..16f308ad2c5d 100644 --- a/keyboards/cannonkeys/adelie/config.h +++ b/keyboards/cannonkeys/adelie/config.h @@ -106,10 +106,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/cannonkeys/aella/config.h b/keyboards/cannonkeys/aella/config.h index b32880d40979..dd8a6376d5e0 100644 --- a/keyboards/cannonkeys/aella/config.h +++ b/keyboards/cannonkeys/aella/config.h @@ -59,5 +59,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/an_c/config.h b/keyboards/cannonkeys/an_c/config.h index 83e98c2e2804..09e2382595e5 100644 --- a/keyboards/cannonkeys/an_c/config.h +++ b/keyboards/cannonkeys/an_c/config.h @@ -74,5 +74,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/atlas/config.h b/keyboards/cannonkeys/atlas/config.h index 1ba5c0fb0e97..40984c3f6442 100644 --- a/keyboards/cannonkeys/atlas/config.h +++ b/keyboards/cannonkeys/atlas/config.h @@ -68,5 +68,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/balance/config.h b/keyboards/cannonkeys/balance/config.h index 2cdf7d27a740..937de92f5576 100644 --- a/keyboards/cannonkeys/balance/config.h +++ b/keyboards/cannonkeys/balance/config.h @@ -67,5 +67,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/chimera65/config.h b/keyboards/cannonkeys/chimera65/config.h index f7108264af62..1fe204a4ad5e 100644 --- a/keyboards/cannonkeys/chimera65/config.h +++ b/keyboards/cannonkeys/chimera65/config.h @@ -66,5 +66,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/db60/config.h b/keyboards/cannonkeys/db60/config.h index dc2007c17cbe..6dd0d0d7f8a0 100644 --- a/keyboards/cannonkeys/db60/config.h +++ b/keyboards/cannonkeys/db60/config.h @@ -73,5 +73,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/devastatingtkl/config.h b/keyboards/cannonkeys/devastatingtkl/config.h index 0a76a3466fc9..7173a4637814 100644 --- a/keyboards/cannonkeys/devastatingtkl/config.h +++ b/keyboards/cannonkeys/devastatingtkl/config.h @@ -74,5 +74,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/hoodrowg/config.h b/keyboards/cannonkeys/hoodrowg/config.h index 91d89ec81d7f..fc305188a635 100644 --- a/keyboards/cannonkeys/hoodrowg/config.h +++ b/keyboards/cannonkeys/hoodrowg/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/instant60/config.h b/keyboards/cannonkeys/instant60/config.h index d34bc0003e8f..9b4aac8e15b7 100644 --- a/keyboards/cannonkeys/instant60/config.h +++ b/keyboards/cannonkeys/instant60/config.h @@ -74,5 +74,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/instant65/config.h b/keyboards/cannonkeys/instant65/config.h index dc097494b2eb..464ef0904482 100644 --- a/keyboards/cannonkeys/instant65/config.h +++ b/keyboards/cannonkeys/instant65/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/iron165/config.h b/keyboards/cannonkeys/iron165/config.h index 899e73bb9eff..b0b3dd8d7bb8 100644 --- a/keyboards/cannonkeys/iron165/config.h +++ b/keyboards/cannonkeys/iron165/config.h @@ -67,5 +67,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/obliterated75/config.h b/keyboards/cannonkeys/obliterated75/config.h index 7a8a7ff28cbe..aef5a3e3746d 100644 --- a/keyboards/cannonkeys/obliterated75/config.h +++ b/keyboards/cannonkeys/obliterated75/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/onyx/config.h b/keyboards/cannonkeys/onyx/config.h index 4fd95bd84adf..2149520a5abc 100644 --- a/keyboards/cannonkeys/onyx/config.h +++ b/keyboards/cannonkeys/onyx/config.h @@ -65,5 +65,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/ortho48/config.h b/keyboards/cannonkeys/ortho48/config.h index 35471484ca49..cc904a27a06e 100644 --- a/keyboards/cannonkeys/ortho48/config.h +++ b/keyboards/cannonkeys/ortho48/config.h @@ -70,5 +70,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/ortho60/config.h b/keyboards/cannonkeys/ortho60/config.h index 36d92de76c0c..4e7db76b6ba9 100644 --- a/keyboards/cannonkeys/ortho60/config.h +++ b/keyboards/cannonkeys/ortho60/config.h @@ -70,5 +70,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/ortho75/config.h b/keyboards/cannonkeys/ortho75/config.h index e05bfba75aad..93fe02f536ba 100644 --- a/keyboards/cannonkeys/ortho75/config.h +++ b/keyboards/cannonkeys/ortho75/config.h @@ -73,5 +73,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/practice60/config.h b/keyboards/cannonkeys/practice60/config.h index d89671f557ee..6937f5752afd 100644 --- a/keyboards/cannonkeys/practice60/config.h +++ b/keyboards/cannonkeys/practice60/config.h @@ -70,5 +70,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/practice65/config.h b/keyboards/cannonkeys/practice65/config.h index 69a2f859f1ea..343d4d5272df 100644 --- a/keyboards/cannonkeys/practice65/config.h +++ b/keyboards/cannonkeys/practice65/config.h @@ -70,5 +70,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/rekt1800/config.h b/keyboards/cannonkeys/rekt1800/config.h index e6f7de2e8674..78cd6239536d 100644 --- a/keyboards/cannonkeys/rekt1800/config.h +++ b/keyboards/cannonkeys/rekt1800/config.h @@ -69,5 +69,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/sagittarius/config.h b/keyboards/cannonkeys/sagittarius/config.h index a263ebc71312..dd8563df6b43 100644 --- a/keyboards/cannonkeys/sagittarius/config.h +++ b/keyboards/cannonkeys/sagittarius/config.h @@ -80,5 +80,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h index 53e4c18e5ecb..2a0ac91b2db4 100644 --- a/keyboards/cannonkeys/satisfaction75/config.h +++ b/keyboards/cannonkeys/satisfaction75/config.h @@ -107,5 +107,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/savage65/config.h b/keyboards/cannonkeys/savage65/config.h index 3c3166c91938..049574c53227 100644 --- a/keyboards/cannonkeys/savage65/config.h +++ b/keyboards/cannonkeys/savage65/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/tmov2/config.h b/keyboards/cannonkeys/tmov2/config.h index cddff4ce7eb3..821c9b7b5d78 100644 --- a/keyboards/cannonkeys/tmov2/config.h +++ b/keyboards/cannonkeys/tmov2/config.h @@ -74,5 +74,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/tsukuyomi/config.h b/keyboards/cannonkeys/tsukuyomi/config.h index d3e955450fbf..51411c524153 100644 --- a/keyboards/cannonkeys/tsukuyomi/config.h +++ b/keyboards/cannonkeys/tsukuyomi/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/vicious40/config.h b/keyboards/cannonkeys/vicious40/config.h index 768ee7397d64..c4f8c2623508 100644 --- a/keyboards/cannonkeys/vicious40/config.h +++ b/keyboards/cannonkeys/vicious40/config.h @@ -66,5 +66,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/capsunlocked/cu24/config.h b/keyboards/capsunlocked/cu24/config.h index a2a4e727ff63..cd5e0ccd3968 100644 --- a/keyboards/capsunlocked/cu24/config.h +++ b/keyboards/capsunlocked/cu24/config.h @@ -108,5 +108,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/capsunlocked/cu65/config.h b/keyboards/capsunlocked/cu65/config.h index 8fac6cd06d88..79ff7435bd23 100644 --- a/keyboards/capsunlocked/cu65/config.h +++ b/keyboards/capsunlocked/cu65/config.h @@ -99,7 +99,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/capsunlocked/cu75/config.h b/keyboards/capsunlocked/cu75/config.h index cfcb08cce1b3..8ad8feb24abc 100644 --- a/keyboards/capsunlocked/cu75/config.h +++ b/keyboards/capsunlocked/cu75/config.h @@ -90,5 +90,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/centromere/config.h b/keyboards/centromere/config.h index b4cae20332c1..69af48c30fe8 100644 --- a/keyboards/centromere/config.h +++ b/keyboards/centromere/config.h @@ -54,5 +54,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/checkerboards/plexus75/config.h b/keyboards/checkerboards/plexus75/config.h index 5c123c43f128..f4d84d9d575d 100644 --- a/keyboards/checkerboards/plexus75/config.h +++ b/keyboards/checkerboards/plexus75/config.h @@ -60,8 +60,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // ws2812 options #define RGB_DI_PIN D3 // pin the DI on the ws2812 is hooked-up to diff --git a/keyboards/checkerboards/pursuit40/config.h b/keyboards/checkerboards/pursuit40/config.h index b73872306a1d..53b1ef90a505 100644 --- a/keyboards/checkerboards/pursuit40/config.h +++ b/keyboards/checkerboards/pursuit40/config.h @@ -61,8 +61,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // ws2812 options #define RGB_DI_PIN F0 // pin the DI on the ws2812 is hooked-up to diff --git a/keyboards/checkerboards/quark/config.h b/keyboards/checkerboards/quark/config.h index 353569d8ec2d..d0ecf3bde86c 100644 --- a/keyboards/checkerboards/quark/config.h +++ b/keyboards/checkerboards/quark/config.h @@ -61,8 +61,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // ws2812 options #define RGB_DI_PIN D0 // pin the DI on the ws2812 is hooked-up to diff --git a/keyboards/ck60i/config.h b/keyboards/ck60i/config.h index 113cb5a42163..3e09f1dfb01a 100644 --- a/keyboards/ck60i/config.h +++ b/keyboards/ck60i/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ckeys/handwire_101/config.h b/keyboards/ckeys/handwire_101/config.h index 42e26be8692e..6b3f6c5b7f33 100755 --- a/keyboards/ckeys/handwire_101/config.h +++ b/keyboards/ckeys/handwire_101/config.h @@ -115,5 +115,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ckeys/nakey/config.h b/keyboards/ckeys/nakey/config.h index 26ba86e14679..b620ff08c790 100644 --- a/keyboards/ckeys/nakey/config.h +++ b/keyboards/ckeys/nakey/config.h @@ -105,5 +105,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ckeys/obelus/config.h b/keyboards/ckeys/obelus/config.h index 00e224c206b4..1759f6c5fc0b 100644 --- a/keyboards/ckeys/obelus/config.h +++ b/keyboards/ckeys/obelus/config.h @@ -100,8 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #ifdef AUDIO_ENABLE #define AUDIO_VOICES diff --git a/keyboards/ckeys/thedora/config.h b/keyboards/ckeys/thedora/config.h index bfc314173176..8e96c8ed06c1 100755 --- a/keyboards/ckeys/thedora/config.h +++ b/keyboards/ckeys/thedora/config.h @@ -115,5 +115,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ckeys/washington/config.h b/keyboards/ckeys/washington/config.h index 0b7da2782e87..2d5a8ce3ad03 100644 --- a/keyboards/ckeys/washington/config.h +++ b/keyboards/ckeys/washington/config.h @@ -138,10 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/clueboard/66_hotswap/config.h b/keyboards/clueboard/66_hotswap/config.h index 9b1dba3dc33e..4e3af45222f8 100644 --- a/keyboards/clueboard/66_hotswap/config.h +++ b/keyboards/clueboard/66_hotswap/config.h @@ -23,4 +23,3 @@ along with this program. If not, see . * These options are also useful to firmware size reduction. */ #define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO diff --git a/keyboards/clueboard/66_hotswap/gen1/config.h b/keyboards/clueboard/66_hotswap/gen1/config.h index 1e124745bd97..b1bf6b35433c 100644 --- a/keyboards/clueboard/66_hotswap/gen1/config.h +++ b/keyboards/clueboard/66_hotswap/gen1/config.h @@ -62,8 +62,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Backlight configuration */ diff --git a/keyboards/coarse/cordillera/config.h b/keyboards/coarse/cordillera/config.h index 1d8c9e294c04..7bc2dca560b6 100644 --- a/keyboards/coarse/cordillera/config.h +++ b/keyboards/coarse/cordillera/config.h @@ -71,5 +71,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/contender/config.h b/keyboards/contender/config.h index 0b5e5e9342b3..9977a5033e45 100644 --- a/keyboards/contender/config.h +++ b/keyboards/contender/config.h @@ -139,10 +139,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/converter/a1200/miss1200/config.h b/keyboards/converter/a1200/miss1200/config.h index 5a6c679651a7..7347f1948c66 100644 --- a/keyboards/converter/a1200/miss1200/config.h +++ b/keyboards/converter/a1200/miss1200/config.h @@ -58,5 +58,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/converter/a1200/teensy2pp/config.h b/keyboards/converter/a1200/teensy2pp/config.h index 19e7ca9b95a9..84a81c297cd8 100644 --- a/keyboards/converter/a1200/teensy2pp/config.h +++ b/keyboards/converter/a1200/teensy2pp/config.h @@ -57,5 +57,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/converter/modelm101/config.h b/keyboards/converter/modelm101/config.h index 639b325ff38c..33c6303036ea 100644 --- a/keyboards/converter/modelm101/config.h +++ b/keyboards/converter/modelm101/config.h @@ -68,5 +68,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/converter/modelm_ssk/config.h b/keyboards/converter/modelm_ssk/config.h index 74d549ba492a..ff7aa1200025 100644 --- a/keyboards/converter/modelm_ssk/config.h +++ b/keyboards/converter/modelm_ssk/config.h @@ -72,5 +72,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/converter/siemens_tastatur/config.h b/keyboards/converter/siemens_tastatur/config.h index cd54ed3d83bb..86fe59fbd514 100644 --- a/keyboards/converter/siemens_tastatur/config.h +++ b/keyboards/converter/siemens_tastatur/config.h @@ -62,5 +62,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/cool836a/config.h b/keyboards/cool836a/config.h index 3ac036786fd7..4cf356d8b375 100644 --- a/keyboards/cool836a/config.h +++ b/keyboards/cool836a/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/copenhagen_click/click_pad_v1/config.h b/keyboards/copenhagen_click/click_pad_v1/config.h index 08a9777b517d..7fc16c54fe45 100755 --- a/keyboards/copenhagen_click/click_pad_v1/config.h +++ b/keyboards/copenhagen_click/click_pad_v1/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/coseyfannitutti/discipad/config.h b/keyboards/coseyfannitutti/discipad/config.h index 33ce2576f811..69e2e1561cfa 100644 --- a/keyboards/coseyfannitutti/discipad/config.h +++ b/keyboards/coseyfannitutti/discipad/config.h @@ -135,8 +135,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/coseyfannitutti/discipline/config.h b/keyboards/coseyfannitutti/discipline/config.h index 70bc4536f315..570fff8752c3 100644 --- a/keyboards/coseyfannitutti/discipline/config.h +++ b/keyboards/coseyfannitutti/discipline/config.h @@ -133,8 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/coseyfannitutti/mullet/config.h b/keyboards/coseyfannitutti/mullet/config.h index b186aa82d1af..d01be9744c6b 100644 --- a/keyboards/coseyfannitutti/mullet/config.h +++ b/keyboards/coseyfannitutti/mullet/config.h @@ -115,6 +115,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/coseyfannitutti/mulletpad/config.h b/keyboards/coseyfannitutti/mulletpad/config.h index b2a930357177..e6d68469bfe2 100644 --- a/keyboards/coseyfannitutti/mulletpad/config.h +++ b/keyboards/coseyfannitutti/mulletpad/config.h @@ -115,6 +115,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/coseyfannitutti/mysterium/config.h b/keyboards/coseyfannitutti/mysterium/config.h index 0b2df0a051be..4fa4b15708e0 100644 --- a/keyboards/coseyfannitutti/mysterium/config.h +++ b/keyboards/coseyfannitutti/mysterium/config.h @@ -131,8 +131,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/coseyfannitutti/romeo/config.h b/keyboards/coseyfannitutti/romeo/config.h index 93cda95d2099..811787df79a9 100644 --- a/keyboards/coseyfannitutti/romeo/config.h +++ b/keyboards/coseyfannitutti/romeo/config.h @@ -134,8 +134,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/craftwalk/config.h b/keyboards/craftwalk/config.h index 484a2e13aa8d..f87c61cdb1dd 100644 --- a/keyboards/craftwalk/config.h +++ b/keyboards/craftwalk/config.h @@ -137,9 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/crazy_keyboard_68/config.h b/keyboards/crazy_keyboard_68/config.h index 53759a716a8d..ea2bc568bcca 100644 --- a/keyboards/crazy_keyboard_68/config.h +++ b/keyboards/crazy_keyboard_68/config.h @@ -140,10 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/crkbd/config.h b/keyboards/crkbd/config.h index f354efbb47d7..02732819f9b4 100644 --- a/keyboards/crkbd/config.h +++ b/keyboards/crkbd/config.h @@ -68,9 +68,5 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION -#define USE_SERIAL -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION +#define USE_SERIAL diff --git a/keyboards/cutie_club/wraith/config.h b/keyboards/cutie_club/wraith/config.h index 685aed81d674..fa7467eb4a82 100644 --- a/keyboards/cutie_club/wraith/config.h +++ b/keyboards/cutie_club/wraith/config.h @@ -134,8 +134,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/dailycraft/bat43/config.h b/keyboards/dailycraft/bat43/config.h index 19b485fd1694..4c42f6a06d0f 100644 --- a/keyboards/dailycraft/bat43/config.h +++ b/keyboards/dailycraft/bat43/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dailycraft/claw44/config.h b/keyboards/dailycraft/claw44/config.h index 0bd74ff83374..cfb6bf4ffccd 100644 --- a/keyboards/dailycraft/claw44/config.h +++ b/keyboards/dailycraft/claw44/config.h @@ -19,6 +19,3 @@ along with this program. If not, see . #pragma once #include "config_common.h" - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/dailycraft/claw44/rev1/config.h b/keyboards/dailycraft/claw44/rev1/config.h index 8116b605cd22..bcfcbababa9b 100644 --- a/keyboards/dailycraft/claw44/rev1/config.h +++ b/keyboards/dailycraft/claw44/rev1/config.h @@ -70,5 +70,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/dailycraft/owl8/config.h b/keyboards/dailycraft/owl8/config.h index d28fd9c927db..b0634c256690 100644 --- a/keyboards/dailycraft/owl8/config.h +++ b/keyboards/dailycraft/owl8/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dailycraft/stickey4/config.h b/keyboards/dailycraft/stickey4/config.h index 85e49bca96d9..d9bd0f330189 100644 --- a/keyboards/dailycraft/stickey4/config.h +++ b/keyboards/dailycraft/stickey4/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dailycraft/wings42/rev1/config.h b/keyboards/dailycraft/wings42/rev1/config.h index cfb427492153..0d53ff763471 100644 --- a/keyboards/dailycraft/wings42/rev1/config.h +++ b/keyboards/dailycraft/wings42/rev1/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dailycraft/wings42/rev1_extkeys/config.h b/keyboards/dailycraft/wings42/rev1_extkeys/config.h index f0f04eca59e2..b2fe3210b63a 100644 --- a/keyboards/dailycraft/wings42/rev1_extkeys/config.h +++ b/keyboards/dailycraft/wings42/rev1_extkeys/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dailycraft/wings42/rev2/config.h b/keyboards/dailycraft/wings42/rev2/config.h index 836833718c97..f1e7716bb426 100644 --- a/keyboards/dailycraft/wings42/rev2/config.h +++ b/keyboards/dailycraft/wings42/rev2/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dc01/left/config.h b/keyboards/dc01/left/config.h index 43883975c4f2..d5b296259036 100644 --- a/keyboards/dc01/left/config.h +++ b/keyboards/dc01/left/config.h @@ -120,5 +120,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/delikeeb/flatbread60/config.h b/keyboards/delikeeb/flatbread60/config.h index 5d63a8f5fcf2..3de88a16f625 100644 --- a/keyboards/delikeeb/flatbread60/config.h +++ b/keyboards/delikeeb/flatbread60/config.h @@ -116,7 +116,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/delikeeb/vaguettelite/config.h b/keyboards/delikeeb/vaguettelite/config.h index ef1aec49ef4a..5ad1942437f2 100644 --- a/keyboards/delikeeb/vaguettelite/config.h +++ b/keyboards/delikeeb/vaguettelite/config.h @@ -110,10 +110,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/delikeeb/vanana/rev1/config.h b/keyboards/delikeeb/vanana/rev1/config.h index d584e32a39a0..8213404eb35c 100644 --- a/keyboards/delikeeb/vanana/rev1/config.h +++ b/keyboards/delikeeb/vanana/rev1/config.h @@ -91,10 +91,6 @@ along with this program. If not, see . */ #define GRAVE_ESC_CTRL_OVERRIDE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/delikeeb/vanana/rev2/config.h b/keyboards/delikeeb/vanana/rev2/config.h index 8893bb09f563..8397424aa952 100644 --- a/keyboards/delikeeb/vanana/rev2/config.h +++ b/keyboards/delikeeb/vanana/rev2/config.h @@ -91,10 +91,6 @@ along with this program. If not, see . */ #define GRAVE_ESC_CTRL_OVERRIDE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/delikeeb/vaneela/config.h b/keyboards/delikeeb/vaneela/config.h index 4feaf44a7241..936c8eb5ecce 100644 --- a/keyboards/delikeeb/vaneela/config.h +++ b/keyboards/delikeeb/vaneela/config.h @@ -101,10 +101,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/delikeeb/vaneelaex/config.h b/keyboards/delikeeb/vaneelaex/config.h index 4eb6303838fb..27d242017612 100644 --- a/keyboards/delikeeb/vaneelaex/config.h +++ b/keyboards/delikeeb/vaneelaex/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/delikeeb/waaffle/rev3/config.h b/keyboards/delikeeb/waaffle/rev3/config.h index 0c4327623d91..12ff241f4ca0 100644 --- a/keyboards/delikeeb/waaffle/rev3/config.h +++ b/keyboards/delikeeb/waaffle/rev3/config.h @@ -128,10 +128,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 6 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/deltapad/config.h b/keyboards/deltapad/config.h index a4a78f244afe..186a11ee2776 100644 --- a/keyboards/deltapad/config.h +++ b/keyboards/deltapad/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/deltasplit75/v2/config.h b/keyboards/deltasplit75/v2/config.h index 397683ce451d..ffc2724e5e3f 100644 --- a/keyboards/deltasplit75/v2/config.h +++ b/keyboards/deltasplit75/v2/config.h @@ -77,5 +77,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/demiurge/config.h b/keyboards/demiurge/config.h index abe6c193c4dd..b7e3c70b3cd2 100755 --- a/keyboards/demiurge/config.h +++ b/keyboards/demiurge/config.h @@ -73,7 +73,3 @@ along with this program. If not, see . /* disable print */ //#define NO_PRINT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/dichotomy/config.h b/keyboards/dichotomy/config.h index 40e7f18e6f79..c4bb0309006d 100644 --- a/keyboards/dichotomy/config.h +++ b/keyboards/dichotomy/config.h @@ -54,5 +54,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/dk60/config.h b/keyboards/dk60/config.h index bec665419b86..eef0ddc47419 100644 --- a/keyboards/dk60/config.h +++ b/keyboards/dk60/config.h @@ -132,10 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dm9records/ergoinu/config.h b/keyboards/dm9records/ergoinu/config.h index 89ea9e7903a4..e4fb80ad2ecd 100644 --- a/keyboards/dm9records/ergoinu/config.h +++ b/keyboards/dm9records/ergoinu/config.h @@ -106,5 +106,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/dm9records/lain/config.h b/keyboards/dm9records/lain/config.h index 8bccf4bbb57b..adc0d165c328 100644 --- a/keyboards/dm9records/lain/config.h +++ b/keyboards/dm9records/lain/config.h @@ -40,8 +40,4 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define DYNAMIC_KEYMAP_LAYER_COUNT 6 diff --git a/keyboards/dm9records/plaid/config.h b/keyboards/dm9records/plaid/config.h index 86ff5be35654..ab6b0fbabc0a 100644 --- a/keyboards/dm9records/plaid/config.h +++ b/keyboards/dm9records/plaid/config.h @@ -135,8 +135,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/dm9records/tartan/config.h b/keyboards/dm9records/tartan/config.h index 7ad97ea453a9..4faec5372166 100644 --- a/keyboards/dm9records/tartan/config.h +++ b/keyboards/dm9records/tartan/config.h @@ -133,8 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/donutcables/scrabblepad/config.h b/keyboards/donutcables/scrabblepad/config.h index 5543c6133519..2c6c704bde57 100644 --- a/keyboards/donutcables/scrabblepad/config.h +++ b/keyboards/donutcables/scrabblepad/config.h @@ -143,8 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/doppelganger/config.h b/keyboards/doppelganger/config.h index d063cee5bc31..39e29e7c1551 100644 --- a/keyboards/doppelganger/config.h +++ b/keyboards/doppelganger/config.h @@ -144,8 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/draytronics/daisy/config.h b/keyboards/draytronics/daisy/config.h index b524f890287e..fa04b0d41c13 100644 --- a/keyboards/draytronics/daisy/config.h +++ b/keyboards/draytronics/daisy/config.h @@ -94,9 +94,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION //Underglow #define RGB_DI_PIN D4 // Underglow led pin diff --git a/keyboards/draytronics/scarlet/config.h b/keyboards/draytronics/scarlet/config.h index f7b50dee7597..9c4db29ac6dc 100644 --- a/keyboards/draytronics/scarlet/config.h +++ b/keyboards/draytronics/scarlet/config.h @@ -91,6 +91,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/drewkeys/iskar/config.h b/keyboards/drewkeys/iskar/config.h index e20369fde03f..956456201ff3 100644 --- a/keyboards/drewkeys/iskar/config.h +++ b/keyboards/drewkeys/iskar/config.h @@ -50,7 +50,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/dtisaac/dosa40rgb/config.h b/keyboards/dtisaac/dosa40rgb/config.h index c5c13bd2702b..8d61f61128ab 100644 --- a/keyboards/dtisaac/dosa40rgb/config.h +++ b/keyboards/dtisaac/dosa40rgb/config.h @@ -107,7 +107,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ //#define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/dtisaac/dtisaac01/config.h b/keyboards/dtisaac/dtisaac01/config.h index f417d644998b..eb1ff71536bc 100644 --- a/keyboards/dtisaac/dtisaac01/config.h +++ b/keyboards/dtisaac/dtisaac01/config.h @@ -81,15 +81,6 @@ along with this program. If not, see . */ //#define FORCE_NKRO -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable these deprecated features by default */ -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/duck/jetfire/config.h b/keyboards/duck/jetfire/config.h index 3b6c7d89fdb2..0512d4a1f406 100644 --- a/keyboards/duck/jetfire/config.h +++ b/keyboards/duck/jetfire/config.h @@ -92,5 +92,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/dztech/dz60rgb/v1/config.h b/keyboards/dztech/dz60rgb/v1/config.h index 0d464b5d6b7b..7bdad00144a4 100644 --- a/keyboards/dztech/dz60rgb/v1/config.h +++ b/keyboards/dztech/dz60rgb/v1/config.h @@ -31,10 +31,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/dztech/dz60rgb/v2/config.h b/keyboards/dztech/dz60rgb/v2/config.h index 3db8ea40f510..9426a7be997f 100644 --- a/keyboards/dztech/dz60rgb/v2/config.h +++ b/keyboards/dztech/dz60rgb/v2/config.h @@ -31,10 +31,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/dztech/dz60rgb/v2_1/config.h b/keyboards/dztech/dz60rgb/v2_1/config.h index d785d1e539ab..7e5dfd6703f3 100644 --- a/keyboards/dztech/dz60rgb/v2_1/config.h +++ b/keyboards/dztech/dz60rgb/v2_1/config.h @@ -47,10 +47,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/dztech/dz60rgb_ansi/v1/config.h b/keyboards/dztech/dz60rgb_ansi/v1/config.h index 176bb03a1363..ccfe91b66bd6 100644 --- a/keyboards/dztech/dz60rgb_ansi/v1/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v1/config.h @@ -31,10 +31,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/dztech/dz60rgb_ansi/v2/config.h b/keyboards/dztech/dz60rgb_ansi/v2/config.h index 5ff2cd6a8c42..865ac2ab213d 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v2/config.h @@ -31,10 +31,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h index 84aa7802c3e7..64e2a40bdadf 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h @@ -47,10 +47,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/dztech/dz60rgb_wkl/v1/config.h b/keyboards/dztech/dz60rgb_wkl/v1/config.h index b8c70ff4fb4a..9af78167ad92 100644 --- a/keyboards/dztech/dz60rgb_wkl/v1/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v1/config.h @@ -31,10 +31,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/dztech/dz60rgb_wkl/v2/config.h b/keyboards/dztech/dz60rgb_wkl/v2/config.h index 5d715a1e0d9a..140d74fee04f 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v2/config.h @@ -31,10 +31,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h index 960285b97649..3ab221391e4d 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h @@ -47,10 +47,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/dztech/dz64rgb/config.h b/keyboards/dztech/dz64rgb/config.h index 224c2672cc12..86848077fa4e 100644 --- a/keyboards/dztech/dz64rgb/config.h +++ b/keyboards/dztech/dz64rgb/config.h @@ -32,8 +32,6 @@ #define DEBOUNCE 5 #define USB_SUSPEND_WAKEUP_DELAY 5000 -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_KEYPRESSES @@ -69,4 +67,4 @@ #define DRIVER_COUNT 1 #define DRIVER_LED_TOTAL 64 #endif -#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 \ No newline at end of file +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/dztech/dz65rgb/v1/config.h b/keyboards/dztech/dz65rgb/v1/config.h index 5fe0ba3eba48..d281eaa51ec1 100644 --- a/keyboards/dztech/dz65rgb/v1/config.h +++ b/keyboards/dztech/dz65rgb/v1/config.h @@ -42,10 +42,6 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/dztech/dz65rgb/v2/config.h b/keyboards/dztech/dz65rgb/v2/config.h index b8677e44364a..5267f42aa263 100644 --- a/keyboards/dztech/dz65rgb/v2/config.h +++ b/keyboards/dztech/dz65rgb/v2/config.h @@ -42,10 +42,6 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/dztech/dz65rgb/v3/config.h b/keyboards/dztech/dz65rgb/v3/config.h index ba7863f42a81..6c21fa22c214 100755 --- a/keyboards/dztech/dz65rgb/v3/config.h +++ b/keyboards/dztech/dz65rgb/v3/config.h @@ -37,9 +37,7 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION + #ifdef RGB_MATRIX_ENABLE #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/e88/config.h b/keyboards/e88/config.h index 11b040c92d33..e83dfb9b0680 100644 --- a/keyboards/e88/config.h +++ b/keyboards/e88/config.h @@ -100,9 +100,5 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define QMK_ESC_OUTPUT F0 // usually COL #define QMK_ESC_INPUT B7 // usually ROW diff --git a/keyboards/ealdin/quadrant/config.h b/keyboards/ealdin/quadrant/config.h index 733b59c5a753..b37af15ea6c8 100644 --- a/keyboards/ealdin/quadrant/config.h +++ b/keyboards/ealdin/quadrant/config.h @@ -99,5 +99,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING #define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/earth_rover/config.h b/keyboards/earth_rover/config.h index 6e958f13886d..2e7ceda4e1ca 100644 --- a/keyboards/earth_rover/config.h +++ b/keyboards/earth_rover/config.h @@ -105,10 +105,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/eco/config.h b/keyboards/eco/config.h index e5258e3a0bb8..5c4466985c50 100644 --- a/keyboards/eco/config.h +++ b/keyboards/eco/config.h @@ -58,8 +58,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #ifdef SUBPROJECT_rev1 #include "rev1/config.h" diff --git a/keyboards/edi/hardlight/mk2/config.h b/keyboards/edi/hardlight/mk2/config.h index ab4b00682765..8580aabec522 100644 --- a/keyboards/edi/hardlight/mk2/config.h +++ b/keyboards/edi/hardlight/mk2/config.h @@ -77,5 +77,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/edi/standaside/config.h b/keyboards/edi/standaside/config.h index 797a463a15ee..c72c915d82a7 100644 --- a/keyboards/edi/standaside/config.h +++ b/keyboards/edi/standaside/config.h @@ -99,6 +99,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/eek/config.h b/keyboards/eek/config.h index d8a949269eba..919c112722cf 100644 --- a/keyboards/eek/config.h +++ b/keyboards/eek/config.h @@ -125,9 +125,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/efreet/config.h b/keyboards/efreet/config.h index ed5bb730a78a..90e76d9c5acf 100644 --- a/keyboards/efreet/config.h +++ b/keyboards/efreet/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/emajesty/eiri/config.h b/keyboards/emajesty/eiri/config.h index ea7afa48227a..99b606770d42 100644 --- a/keyboards/emajesty/eiri/config.h +++ b/keyboards/emajesty/eiri/config.h @@ -87,10 +87,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/eniigmakeyboards/ek65/config.h b/keyboards/eniigmakeyboards/ek65/config.h index bd8f59ef1b1a..7a272c1491e5 100644 --- a/keyboards/eniigmakeyboards/ek65/config.h +++ b/keyboards/eniigmakeyboards/ek65/config.h @@ -137,11 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/eniigmakeyboards/ek87/config.h b/keyboards/eniigmakeyboards/ek87/config.h index fdde69cef316..838f46f8441f 100644 --- a/keyboards/eniigmakeyboards/ek87/config.h +++ b/keyboards/eniigmakeyboards/ek87/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ep/40/config.h b/keyboards/ep/40/config.h index 40ed06ad2428..780d64fd6996 100644 --- a/keyboards/ep/40/config.h +++ b/keyboards/ep/40/config.h @@ -105,5 +105,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ep/96/config.h b/keyboards/ep/96/config.h index 83ddb873de1a..bcb10748671e 100644 --- a/keyboards/ep/96/config.h +++ b/keyboards/ep/96/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ep/comsn/mollydooker/config.h b/keyboards/ep/comsn/mollydooker/config.h index ec4f47f87075..def201cd8b0d 100644 --- a/keyboards/ep/comsn/mollydooker/config.h +++ b/keyboards/ep/comsn/mollydooker/config.h @@ -110,5 +110,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h index 109a80d2c5d5..f25ff162cde2 100644 --- a/keyboards/ergodox_ez/config.h +++ b/keyboards/ergodox_ez/config.h @@ -205,6 +205,5 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION + //#define DEBUG_MATRIX_SCAN_RATE diff --git a/keyboards/ergosaurus/config.h b/keyboards/ergosaurus/config.h index e4981e0013f9..41f9a09311ee 100644 --- a/keyboards/ergosaurus/config.h +++ b/keyboards/ergosaurus/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ergoslab/rev1/config.h b/keyboards/ergoslab/rev1/config.h index c9382ea765e5..b754a7810ca3 100644 --- a/keyboards/ergoslab/rev1/config.h +++ b/keyboards/ergoslab/rev1/config.h @@ -66,5 +66,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ergotravel/rev1/config.h b/keyboards/ergotravel/rev1/config.h index dc08ceab8e28..096a85d370bd 100644 --- a/keyboards/ergotravel/rev1/config.h +++ b/keyboards/ergotravel/rev1/config.h @@ -76,5 +76,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ericrlau/numdiscipline/rev1/config.h b/keyboards/ericrlau/numdiscipline/rev1/config.h index 82035518a603..72abf556d47f 100644 --- a/keyboards/ericrlau/numdiscipline/rev1/config.h +++ b/keyboards/ericrlau/numdiscipline/rev1/config.h @@ -135,8 +135,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/esca/getawayvan/config.h b/keyboards/esca/getawayvan/config.h index 3b718c583596..34498cc3fb03 100644 --- a/keyboards/esca/getawayvan/config.h +++ b/keyboards/esca/getawayvan/config.h @@ -73,5 +73,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/esca/getawayvan_f042/config.h b/keyboards/esca/getawayvan_f042/config.h index 8921e9db4d16..6812d4e52b4c 100644 --- a/keyboards/esca/getawayvan_f042/config.h +++ b/keyboards/esca/getawayvan_f042/config.h @@ -72,5 +72,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/eternal_keypad/config.h b/keyboards/eternal_keypad/config.h index fbcdb45021b7..5b5ad02f4416 100644 --- a/keyboards/eternal_keypad/config.h +++ b/keyboards/eternal_keypad/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 1 diff --git a/keyboards/evil80/config.h b/keyboards/evil80/config.h index 4036b473a077..6876c0e086fd 100644 --- a/keyboards/evil80/config.h +++ b/keyboards/evil80/config.h @@ -55,5 +55,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/evolv/config.h b/keyboards/evolv/config.h index 59223cd2c9dd..3a3ff3be35f4 100644 --- a/keyboards/evolv/config.h +++ b/keyboards/evolv/config.h @@ -77,5 +77,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/evyd13/atom47/rev5/config.h b/keyboards/evyd13/atom47/rev5/config.h index 383aa23789fb..25c419b4cdd2 100644 --- a/keyboards/evyd13/atom47/rev5/config.h +++ b/keyboards/evyd13/atom47/rev5/config.h @@ -138,10 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/eon40/config.h b/keyboards/evyd13/eon40/config.h index 8f39d0532ed1..14cbe4209976 100644 --- a/keyboards/evyd13/eon40/config.h +++ b/keyboards/evyd13/eon40/config.h @@ -138,8 +138,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/eon65/config.h b/keyboards/evyd13/eon65/config.h index 7d4e80d5bbe2..08922a2d4c0f 100644 --- a/keyboards/evyd13/eon65/config.h +++ b/keyboards/evyd13/eon65/config.h @@ -135,8 +135,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/eon75/config.h b/keyboards/evyd13/eon75/config.h index da2775fd40ca..203cfe8a7d68 100644 --- a/keyboards/evyd13/eon75/config.h +++ b/keyboards/evyd13/eon75/config.h @@ -140,8 +140,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/eon87/config.h b/keyboards/evyd13/eon87/config.h index 18a21bac27d9..bfa593db51f2 100644 --- a/keyboards/evyd13/eon87/config.h +++ b/keyboards/evyd13/eon87/config.h @@ -135,8 +135,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/eon95/config.h b/keyboards/evyd13/eon95/config.h index 48de3f3782d8..6a6b329c2984 100644 --- a/keyboards/evyd13/eon95/config.h +++ b/keyboards/evyd13/eon95/config.h @@ -140,8 +140,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/gh80_1800/config.h b/keyboards/evyd13/gh80_1800/config.h index 26ad8a8b1375..d2fa370c0d7a 100644 --- a/keyboards/evyd13/gh80_1800/config.h +++ b/keyboards/evyd13/gh80_1800/config.h @@ -140,8 +140,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/gh80_3700/config.h b/keyboards/evyd13/gh80_3700/config.h index 200f179cf72b..d05ca8795861 100644 --- a/keyboards/evyd13/gh80_3700/config.h +++ b/keyboards/evyd13/gh80_3700/config.h @@ -135,8 +135,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // Define rotary encoder #define ENCODERS_PAD_A { F1 } diff --git a/keyboards/evyd13/gud70/config.h b/keyboards/evyd13/gud70/config.h index 914a87f4f538..395d1c303e5a 100644 --- a/keyboards/evyd13/gud70/config.h +++ b/keyboards/evyd13/gud70/config.h @@ -141,10 +141,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/minitomic/config.h b/keyboards/evyd13/minitomic/config.h index ad31fd0aec02..01af62d69dc0 100644 --- a/keyboards/evyd13/minitomic/config.h +++ b/keyboards/evyd13/minitomic/config.h @@ -138,8 +138,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/mx5160/config.h b/keyboards/evyd13/mx5160/config.h index 5cce240a87c5..3d25e1704fc3 100644 --- a/keyboards/evyd13/mx5160/config.h +++ b/keyboards/evyd13/mx5160/config.h @@ -144,8 +144,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/nt660/config.h b/keyboards/evyd13/nt660/config.h index 225f2ccf2d4f..f633a4206e75 100644 --- a/keyboards/evyd13/nt660/config.h +++ b/keyboards/evyd13/nt660/config.h @@ -140,10 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/nt750/config.h b/keyboards/evyd13/nt750/config.h index 35fc00067143..076bb344a50d 100644 --- a/keyboards/evyd13/nt750/config.h +++ b/keyboards/evyd13/nt750/config.h @@ -140,10 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/nt980/config.h b/keyboards/evyd13/nt980/config.h index 1509dde06186..e483ab46c968 100644 --- a/keyboards/evyd13/nt980/config.h +++ b/keyboards/evyd13/nt980/config.h @@ -142,10 +142,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/omrontkl/config.h b/keyboards/evyd13/omrontkl/config.h index d61b338e9752..40f83848311d 100644 --- a/keyboards/evyd13/omrontkl/config.h +++ b/keyboards/evyd13/omrontkl/config.h @@ -135,8 +135,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/pockettype/config.h b/keyboards/evyd13/pockettype/config.h index fa45630c1aec..b62c3549f81e 100644 --- a/keyboards/evyd13/pockettype/config.h +++ b/keyboards/evyd13/pockettype/config.h @@ -135,8 +135,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/quackfire/config.h b/keyboards/evyd13/quackfire/config.h index 151219a016f5..4df2abd5a854 100644 --- a/keyboards/evyd13/quackfire/config.h +++ b/keyboards/evyd13/quackfire/config.h @@ -141,8 +141,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 6 diff --git a/keyboards/evyd13/solheim68/config.h b/keyboards/evyd13/solheim68/config.h index d61e095f1de7..ef449ab7d40e 100644 --- a/keyboards/evyd13/solheim68/config.h +++ b/keyboards/evyd13/solheim68/config.h @@ -135,8 +135,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/wasdat/config.h b/keyboards/evyd13/wasdat/config.h index 38f9fe4bda08..e151496aed34 100644 --- a/keyboards/evyd13/wasdat/config.h +++ b/keyboards/evyd13/wasdat/config.h @@ -142,8 +142,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/evyd13/wasdat_code/config.h b/keyboards/evyd13/wasdat_code/config.h index 6c39403e527f..ae009c1c292a 100644 --- a/keyboards/evyd13/wasdat_code/config.h +++ b/keyboards/evyd13/wasdat_code/config.h @@ -148,8 +148,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 2 diff --git a/keyboards/exclusive/e7v1se/config.h b/keyboards/exclusive/e7v1se/config.h index 1bb0eb3acf14..cce08878ebf8 100644 --- a/keyboards/exclusive/e7v1se/config.h +++ b/keyboards/exclusive/e7v1se/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/exclusive/e85/config.h b/keyboards/exclusive/e85/config.h index cc4fcd97d0d2..2683403204d9 100644 --- a/keyboards/exclusive/e85/config.h +++ b/keyboards/exclusive/e85/config.h @@ -121,10 +121,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/exent/config.h b/keyboards/exent/config.h index c6f4452708df..e9dc026867c0 100644 --- a/keyboards/exent/config.h +++ b/keyboards/exent/config.h @@ -76,10 +76,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/eyeohdesigns/babyv/config.h b/keyboards/eyeohdesigns/babyv/config.h index c49a039df2a4..f90d68e2e5e6 100644 --- a/keyboards/eyeohdesigns/babyv/config.h +++ b/keyboards/eyeohdesigns/babyv/config.h @@ -54,7 +54,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fc660c/config.h b/keyboards/fc660c/config.h index 460881cb174c..7df5811f42da 100644 --- a/keyboards/fc660c/config.h +++ b/keyboards/fc660c/config.h @@ -70,8 +70,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // higher value means deeper actuation point, less sensitive // be careful and only make small adjustments (steps of 1 or 2). diff --git a/keyboards/fc980c/config.h b/keyboards/fc980c/config.h index b0bffef7607c..250e7336a9a2 100644 --- a/keyboards/fc980c/config.h +++ b/keyboards/fc980c/config.h @@ -77,8 +77,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // higher value means deeper actuation point, less sensitive // be careful and only make small adjustments (steps of 1 or 2). diff --git a/keyboards/ffkeebs/puca/config.h b/keyboards/ffkeebs/puca/config.h index 29bb9a782b91..e8e57c72e8b1 100644 --- a/keyboards/ffkeebs/puca/config.h +++ b/keyboards/ffkeebs/puca/config.h @@ -62,8 +62,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - diff --git a/keyboards/fjlabs/7vhotswap/config.h b/keyboards/fjlabs/7vhotswap/config.h index a34bf8f5fa5f..66ee195a5823 100644 --- a/keyboards/fjlabs/7vhotswap/config.h +++ b/keyboards/fjlabs/7vhotswap/config.h @@ -114,5 +114,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/ad65/config.h b/keyboards/fjlabs/ad65/config.h index 8f9d672d839f..3bbf7a01d135 100644 --- a/keyboards/fjlabs/ad65/config.h +++ b/keyboards/fjlabs/ad65/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/bks65/config.h b/keyboards/fjlabs/bks65/config.h index 37cb2b687b97..b1deccd4e1d7 100644 --- a/keyboards/fjlabs/bks65/config.h +++ b/keyboards/fjlabs/bks65/config.h @@ -116,5 +116,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/bks65solder/config.h b/keyboards/fjlabs/bks65solder/config.h index 6b3839c8c89c..5dff84a0c10e 100644 --- a/keyboards/fjlabs/bks65solder/config.h +++ b/keyboards/fjlabs/bks65solder/config.h @@ -113,5 +113,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/bolsa65/config.h b/keyboards/fjlabs/bolsa65/config.h index c53d2ab65627..bf389ee445ba 100644 --- a/keyboards/fjlabs/bolsa65/config.h +++ b/keyboards/fjlabs/bolsa65/config.h @@ -113,5 +113,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/kf87/config.h b/keyboards/fjlabs/kf87/config.h index 38bd7566bb6b..b133e375bb1c 100644 --- a/keyboards/fjlabs/kf87/config.h +++ b/keyboards/fjlabs/kf87/config.h @@ -118,5 +118,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/kyuu/config.h b/keyboards/fjlabs/kyuu/config.h index b73d6c8f852e..75f9643a79e6 100644 --- a/keyboards/fjlabs/kyuu/config.h +++ b/keyboards/fjlabs/kyuu/config.h @@ -116,5 +116,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/ldk65/config.h b/keyboards/fjlabs/ldk65/config.h index 1c8eaff2ec0c..15626c070081 100644 --- a/keyboards/fjlabs/ldk65/config.h +++ b/keyboards/fjlabs/ldk65/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/midway60/config.h b/keyboards/fjlabs/midway60/config.h index d5a39c89c01d..f70a932a51f1 100644 --- a/keyboards/fjlabs/midway60/config.h +++ b/keyboards/fjlabs/midway60/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/mk61rgbansi/config.h b/keyboards/fjlabs/mk61rgbansi/config.h index 4d459b6f8896..fdc857134474 100644 --- a/keyboards/fjlabs/mk61rgbansi/config.h +++ b/keyboards/fjlabs/mk61rgbansi/config.h @@ -117,5 +117,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/polaris/config.h b/keyboards/fjlabs/polaris/config.h index d622778ce0e5..6efae34205dc 100644 --- a/keyboards/fjlabs/polaris/config.h +++ b/keyboards/fjlabs/polaris/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/ready100/config.h b/keyboards/fjlabs/ready100/config.h index a32f9d94acc1..31adbd7f4be8 100644 --- a/keyboards/fjlabs/ready100/config.h +++ b/keyboards/fjlabs/ready100/config.h @@ -115,5 +115,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/tf60ansi/config.h b/keyboards/fjlabs/tf60ansi/config.h index eede9b7544d1..1b19a0e2eccc 100644 --- a/keyboards/fjlabs/tf60ansi/config.h +++ b/keyboards/fjlabs/tf60ansi/config.h @@ -117,5 +117,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/tf60v2/config.h b/keyboards/fjlabs/tf60v2/config.h index 11cb92a33fbc..0c1a06946461 100644 --- a/keyboards/fjlabs/tf60v2/config.h +++ b/keyboards/fjlabs/tf60v2/config.h @@ -117,5 +117,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/tf65rgbv2/config.h b/keyboards/fjlabs/tf65rgbv2/config.h index 65e1932f436c..111b2c892860 100644 --- a/keyboards/fjlabs/tf65rgbv2/config.h +++ b/keyboards/fjlabs/tf65rgbv2/config.h @@ -117,5 +117,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/flehrad/downbubble/config.h b/keyboards/flehrad/downbubble/config.h index b8d69244ebf6..fa13006a97e2 100644 --- a/keyboards/flehrad/downbubble/config.h +++ b/keyboards/flehrad/downbubble/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/fleuron/config.h b/keyboards/fleuron/config.h index fae7d941aea3..24212bfdc1ec 100644 --- a/keyboards/fleuron/config.h +++ b/keyboards/fleuron/config.h @@ -105,8 +105,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_DI_PIN E6 // The pin the LED strip is connected to #define RGBLED_NUM 18 // Number of LEDs in your strip diff --git a/keyboards/fluorite/config.h b/keyboards/fluorite/config.h index 9be300868410..397fdaaebf30 100644 --- a/keyboards/fluorite/config.h +++ b/keyboards/fluorite/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/flxlb/zplit/config.h b/keyboards/flxlb/zplit/config.h index 83fe08484410..74c7339bdcec 100644 --- a/keyboards/flxlb/zplit/config.h +++ b/keyboards/flxlb/zplit/config.h @@ -86,5 +86,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/flygone60/rev3/config.h b/keyboards/flygone60/rev3/config.h index e398b1dc608f..b670def33862 100644 --- a/keyboards/flygone60/rev3/config.h +++ b/keyboards/flygone60/rev3/config.h @@ -54,7 +54,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/foostan/cornelius/config.h b/keyboards/foostan/cornelius/config.h index b50b30825517..a3e784150f12 100644 --- a/keyboards/foostan/cornelius/config.h +++ b/keyboards/foostan/cornelius/config.h @@ -136,10 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/for_science/config.h b/keyboards/for_science/config.h index 7428e5a564fa..9c2f484dc910 100644 --- a/keyboards/for_science/config.h +++ b/keyboards/for_science/config.h @@ -70,5 +70,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/forever65/config.h b/keyboards/forever65/config.h index 4ea906b5a76b..0de59946c4b3 100644 --- a/keyboards/forever65/config.h +++ b/keyboards/forever65/config.h @@ -64,8 +64,4 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE diff --git a/keyboards/fortitude60/rev1/config.h b/keyboards/fortitude60/rev1/config.h index 472472329cba..e4366f959fb0 100644 --- a/keyboards/fortitude60/rev1/config.h +++ b/keyboards/fortitude60/rev1/config.h @@ -86,5 +86,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/foxlab/key65/hotswap/config.h b/keyboards/foxlab/key65/hotswap/config.h index 621c6407203d..8c0e5a1b9eb9 100644 --- a/keyboards/foxlab/key65/hotswap/config.h +++ b/keyboards/foxlab/key65/hotswap/config.h @@ -115,7 +115,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/foxlab/key65/universal/config.h b/keyboards/foxlab/key65/universal/config.h index 241d2ce2cb6d..44911bed7764 100644 --- a/keyboards/foxlab/key65/universal/config.h +++ b/keyboards/foxlab/key65/universal/config.h @@ -115,7 +115,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/foxlab/leaf60/hotswap/config.h b/keyboards/foxlab/leaf60/hotswap/config.h index 6092a24f01b1..f224957c59c1 100644 --- a/keyboards/foxlab/leaf60/hotswap/config.h +++ b/keyboards/foxlab/leaf60/hotswap/config.h @@ -119,8 +119,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/foxlab/leaf60/universal/config.h b/keyboards/foxlab/leaf60/universal/config.h index b4214882bc92..d25e14536135 100644 --- a/keyboards/foxlab/leaf60/universal/config.h +++ b/keyboards/foxlab/leaf60/universal/config.h @@ -119,8 +119,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/foxlab/time80/config.h b/keyboards/foxlab/time80/config.h index 8fea3e7e6ee5..27013c5c6768 100644 --- a/keyboards/foxlab/time80/config.h +++ b/keyboards/foxlab/time80/config.h @@ -120,10 +120,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/gboards/georgi/config.h b/keyboards/gboards/georgi/config.h index 5cd2f1620e36..f2e73da899c1 100644 --- a/keyboards/gboards/georgi/config.h +++ b/keyboards/gboards/georgi/config.h @@ -27,9 +27,7 @@ along with this program. If not, see . #define VERBOSE #define FORCE_NKRO -#define NO_ACTION_FUNCTION #define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO #define IGNORE_MOD_TAP_INTERRUPT /* USB Device descriptor parameter */ diff --git a/keyboards/gh60/revc/config.h b/keyboards/gh60/revc/config.h index 4483473a62e5..527bf4c9593a 100644 --- a/keyboards/gh60/revc/config.h +++ b/keyboards/gh60/revc/config.h @@ -103,5 +103,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/gh60/satan/config.h b/keyboards/gh60/satan/config.h index 2b87f925de10..98218d846606 100644 --- a/keyboards/gh60/satan/config.h +++ b/keyboards/gh60/satan/config.h @@ -83,5 +83,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ghs/rar/config.h b/keyboards/ghs/rar/config.h index 10755f99c246..d97e8841f1b5 100644 --- a/keyboards/ghs/rar/config.h +++ b/keyboards/ghs/rar/config.h @@ -110,10 +110,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/gkeyboard/gkb_m16/config.h b/keyboards/gkeyboard/gkb_m16/config.h index be1861b90f73..690ecf42d1df 100644 --- a/keyboards/gkeyboard/gkb_m16/config.h +++ b/keyboards/gkeyboard/gkb_m16/config.h @@ -142,10 +142,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/glenpickle/chimera_ergo/config.h b/keyboards/glenpickle/chimera_ergo/config.h index 3c0cc5c16203..616d8af24ebb 100644 --- a/keyboards/glenpickle/chimera_ergo/config.h +++ b/keyboards/glenpickle/chimera_ergo/config.h @@ -54,5 +54,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/glenpickle/chimera_ls/config.h b/keyboards/glenpickle/chimera_ls/config.h index ca92e1e2e416..f5da32e3c32b 100644 --- a/keyboards/glenpickle/chimera_ls/config.h +++ b/keyboards/glenpickle/chimera_ls/config.h @@ -54,5 +54,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/glenpickle/chimera_ortho/config.h b/keyboards/glenpickle/chimera_ortho/config.h index 3d86343a67b0..8ae25c1eb432 100644 --- a/keyboards/glenpickle/chimera_ortho/config.h +++ b/keyboards/glenpickle/chimera_ortho/config.h @@ -54,5 +54,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/glenpickle/chimera_ortho_plus/config.h b/keyboards/glenpickle/chimera_ortho_plus/config.h index ebffb8565751..4846a1b20d2d 100644 --- a/keyboards/glenpickle/chimera_ortho_plus/config.h +++ b/keyboards/glenpickle/chimera_ortho_plus/config.h @@ -54,5 +54,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/gray_studio/space65/config.h b/keyboards/gray_studio/space65/config.h index 6091515b521a..23bf1e7f945c 100644 --- a/keyboards/gray_studio/space65/config.h +++ b/keyboards/gray_studio/space65/config.h @@ -130,8 +130,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/hadron/config.h b/keyboards/hadron/config.h index fc0e920eb953..3281984d1978 100644 --- a/keyboards/hadron/config.h +++ b/keyboards/hadron/config.h @@ -61,5 +61,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h index 54fab6662d57..c61cc9a1e0da 100644 --- a/keyboards/hadron/ver3/config.h +++ b/keyboards/hadron/ver3/config.h @@ -116,8 +116,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Haptic Driver initialization settings * Feedback Control Settings */ diff --git a/keyboards/halfcliff/config.h b/keyboards/halfcliff/config.h index 287fd2f4ac7b..9cd03089baff 100644 --- a/keyboards/halfcliff/config.h +++ b/keyboards/halfcliff/config.h @@ -63,7 +63,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/han60/config.h b/keyboards/han60/config.h index a695cd92a3f6..c96cb6782f9d 100644 --- a/keyboards/han60/config.h +++ b/keyboards/han60/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/412_64/config.h b/keyboards/handwired/412_64/config.h index 6cc094d6d5f8..df8961dc040d 100644 --- a/keyboards/handwired/412_64/config.h +++ b/keyboards/handwired/412_64/config.h @@ -90,6 +90,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/handwired/amigopunk/config.h b/keyboards/handwired/amigopunk/config.h index 29141234d491..473f33aa9ddc 100644 --- a/keyboards/handwired/amigopunk/config.h +++ b/keyboards/handwired/amigopunk/config.h @@ -51,7 +51,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/aranck/config.h b/keyboards/handwired/aranck/config.h index 75f5232f90c4..88b394a29eac 100644 --- a/keyboards/handwired/aranck/config.h +++ b/keyboards/handwired/aranck/config.h @@ -149,8 +149,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/arrow_pad/config.h b/keyboards/handwired/arrow_pad/config.h index dcbdef2fcc96..c8b19524bb1a 100644 --- a/keyboards/handwired/arrow_pad/config.h +++ b/keyboards/handwired/arrow_pad/config.h @@ -99,5 +99,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/atreus50/config.h b/keyboards/handwired/atreus50/config.h index 4a385c35cf79..0356bf3d7d9e 100644 --- a/keyboards/handwired/atreus50/config.h +++ b/keyboards/handwired/atreus50/config.h @@ -99,5 +99,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/baredev/rev1/config.h b/keyboards/handwired/baredev/rev1/config.h index f3d36fd08bc5..430018495ac9 100644 --- a/keyboards/handwired/baredev/rev1/config.h +++ b/keyboards/handwired/baredev/rev1/config.h @@ -18,8 +18,3 @@ along with this program. If not, see . #pragma once #include "config_common.h" - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - diff --git a/keyboards/handwired/bolek/config.h b/keyboards/handwired/bolek/config.h index ecf0b0de36df..aafaa6217460 100644 --- a/keyboards/handwired/bolek/config.h +++ b/keyboards/handwired/bolek/config.h @@ -138,10 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/brain/config.h b/keyboards/handwired/brain/config.h index 2ca3cf1d1e36..87aec1a29938 100644 --- a/keyboards/handwired/brain/config.h +++ b/keyboards/handwired/brain/config.h @@ -96,8 +96,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION //#define PREVENT_STUCK_MODIFIERS //#define TAPPING_TERM 150 diff --git a/keyboards/handwired/bstk100/config.h b/keyboards/handwired/bstk100/config.h index 6769f9b5c05c..29a5afa35e80 100644 --- a/keyboards/handwired/bstk100/config.h +++ b/keyboards/handwired/bstk100/config.h @@ -147,10 +147,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/ck4x4/config.h b/keyboards/handwired/ck4x4/config.h index 61a5d3baf9ce..428a16317039 100644 --- a/keyboards/handwired/ck4x4/config.h +++ b/keyboards/handwired/ck4x4/config.h @@ -62,6 +62,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/handwired/cmd60/config.h b/keyboards/handwired/cmd60/config.h index ba54cab24768..14bcdec530b2 100644 --- a/keyboards/handwired/cmd60/config.h +++ b/keyboards/handwired/cmd60/config.h @@ -100,5 +100,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/co60/rev1/config.h b/keyboards/handwired/co60/rev1/config.h index 42524994ae10..a41bde6fa251 100644 --- a/keyboards/handwired/co60/rev1/config.h +++ b/keyboards/handwired/co60/rev1/config.h @@ -108,5 +108,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/dactyl_left/config.h b/keyboards/handwired/dactyl_left/config.h index 1e4d279178be..c962f6e17637 100644 --- a/keyboards/handwired/dactyl_left/config.h +++ b/keyboards/handwired/dactyl_left/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/dactyl_promicro/config.h b/keyboards/handwired/dactyl_promicro/config.h index 29547f2533b8..19874be79952 100644 --- a/keyboards/handwired/dactyl_promicro/config.h +++ b/keyboards/handwired/dactyl_promicro/config.h @@ -79,5 +79,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/dactyl_rah/config.h b/keyboards/handwired/dactyl_rah/config.h index 2ffe4e8a5201..b5f272ba70d0 100644 --- a/keyboards/handwired/dactyl_rah/config.h +++ b/keyboards/handwired/dactyl_rah/config.h @@ -70,9 +70,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - diff --git a/keyboards/handwired/dc/mc/001/config.h b/keyboards/handwired/dc/mc/001/config.h index 4c687ae7fa73..5cba80831f71 100644 --- a/keyboards/handwired/dc/mc/001/config.h +++ b/keyboards/handwired/dc/mc/001/config.h @@ -70,10 +70,6 @@ along with this program. If not, see . #define NO_ACTION_TAPPING #define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // The (default) Stop key // Doesn't work, though. Maybe becuase of the bootloader that's in use? diff --git a/keyboards/handwired/elrgo_s/config.h b/keyboards/handwired/elrgo_s/config.h index b2ef4681e546..0ba6f7758655 100644 --- a/keyboards/handwired/elrgo_s/config.h +++ b/keyboards/handwired/elrgo_s/config.h @@ -54,5 +54,3 @@ Copyright 2021 Yaroslav Smirnov //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/ergocheap/config.h b/keyboards/handwired/ergocheap/config.h index f563036642e5..26905e8cb380 100644 --- a/keyboards/handwired/ergocheap/config.h +++ b/keyboards/handwired/ergocheap/config.h @@ -63,5 +63,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/evk/v1_3/config.h b/keyboards/handwired/evk/v1_3/config.h index 2ddde6548ea1..374ad9d0c395 100644 --- a/keyboards/handwired/evk/v1_3/config.h +++ b/keyboards/handwired/evk/v1_3/config.h @@ -140,8 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/fc200rt_qmk/config.h b/keyboards/handwired/fc200rt_qmk/config.h index 4f10da75ebcc..2eec7f584c44 100644 --- a/keyboards/handwired/fc200rt_qmk/config.h +++ b/keyboards/handwired/fc200rt_qmk/config.h @@ -73,7 +73,3 @@ along with this program. If not, see . * */ //#define FORCE_NKRO - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/fivethirteen/config.h b/keyboards/handwired/fivethirteen/config.h index 45b459a0ad4f..6ef436506b84 100644 --- a/keyboards/handwired/fivethirteen/config.h +++ b/keyboards/handwired/fivethirteen/config.h @@ -100,5 +100,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/floorboard/config.h b/keyboards/handwired/floorboard/config.h index 7bac3cd2dce4..74be3e4426b9 100644 --- a/keyboards/handwired/floorboard/config.h +++ b/keyboards/handwired/floorboard/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/frankie_macropad/config.h b/keyboards/handwired/frankie_macropad/config.h index 5047972d18e9..57e6d7e0ddb3 100644 --- a/keyboards/handwired/frankie_macropad/config.h +++ b/keyboards/handwired/frankie_macropad/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING #define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 2 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/frenchdev/config.h b/keyboards/handwired/frenchdev/config.h index 7b2fb6e002c1..84f16ea96eb3 100644 --- a/keyboards/handwired/frenchdev/config.h +++ b/keyboards/handwired/frenchdev/config.h @@ -76,6 +76,5 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION + //#define DEBUG_MATRIX_SCAN_RATE diff --git a/keyboards/handwired/gamenum/config.h b/keyboards/handwired/gamenum/config.h index 1be44a115613..6fba6586da9e 100644 --- a/keyboards/handwired/gamenum/config.h +++ b/keyboards/handwired/gamenum/config.h @@ -100,5 +100,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/hacked_motospeed/config.h b/keyboards/handwired/hacked_motospeed/config.h index 589b62c01f52..062376222f7d 100644 --- a/keyboards/handwired/hacked_motospeed/config.h +++ b/keyboards/handwired/hacked_motospeed/config.h @@ -135,8 +135,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/heisenberg/config.h b/keyboards/handwired/heisenberg/config.h index 9bf73440c84d..9438f3a082e0 100644 --- a/keyboards/handwired/heisenberg/config.h +++ b/keyboards/handwired/heisenberg/config.h @@ -149,8 +149,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/hnah108/config.h b/keyboards/handwired/hnah108/config.h index b08f24ed8683..e0249ba0c2ed 100644 --- a/keyboards/handwired/hnah108/config.h +++ b/keyboards/handwired/hnah108/config.h @@ -158,10 +158,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/hnah40/config.h b/keyboards/handwired/hnah40/config.h index 6e4493d47fa4..123c4ca38a0f 100644 --- a/keyboards/handwired/hnah40/config.h +++ b/keyboards/handwired/hnah40/config.h @@ -115,5 +115,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/ibm122m/config.h b/keyboards/handwired/ibm122m/config.h index c58b8897edde..cf65a8b9094b 100644 --- a/keyboards/handwired/ibm122m/config.h +++ b/keyboards/handwired/ibm122m/config.h @@ -108,5 +108,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/jtallbean/split_65/config.h b/keyboards/handwired/jtallbean/split_65/config.h index 1620dde024bf..196b0bc55ddd 100644 --- a/keyboards/handwired/jtallbean/split_65/config.h +++ b/keyboards/handwired/jtallbean/split_65/config.h @@ -140,10 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/juliet/config.h b/keyboards/handwired/juliet/config.h index bab4fe3333e8..5189017dfbc8 100644 --- a/keyboards/handwired/juliet/config.h +++ b/keyboards/handwired/juliet/config.h @@ -133,9 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/kbod/config.h b/keyboards/handwired/kbod/config.h index b8b40728cda4..8cf38f59dc0d 100644 --- a/keyboards/handwired/kbod/config.h +++ b/keyboards/handwired/kbod/config.h @@ -100,8 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #undef TAPPING_TOGGLE #define TAPPING_TOGGLE 2 diff --git a/keyboards/handwired/ks63/config.h b/keyboards/handwired/ks63/config.h index e49d09067839..b75346e6f563 100644 --- a/keyboards/handwired/ks63/config.h +++ b/keyboards/handwired/ks63/config.h @@ -73,8 +73,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define MASTER_LEFT #define USE_SERIAL diff --git a/keyboards/handwired/leftynumpad/config.h b/keyboards/handwired/leftynumpad/config.h index 9059bfe760ff..db89057e6260 100644 --- a/keyboards/handwired/leftynumpad/config.h +++ b/keyboards/handwired/leftynumpad/config.h @@ -96,7 +96,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/lemonpad/config.h b/keyboards/handwired/lemonpad/config.h index 46369cb999ee..c4e488f57250 100644 --- a/keyboards/handwired/lemonpad/config.h +++ b/keyboards/handwired/lemonpad/config.h @@ -131,10 +131,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/macroboard/config.h b/keyboards/handwired/macroboard/config.h index 92b633d75c81..fa49ae4e6ff5 100644 --- a/keyboards/handwired/macroboard/config.h +++ b/keyboards/handwired/macroboard/config.h @@ -132,10 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/magicforce61/config.h b/keyboards/handwired/magicforce61/config.h index 193d85d2f30a..e54ee545daa5 100644 --- a/keyboards/handwired/magicforce61/config.h +++ b/keyboards/handwired/magicforce61/config.h @@ -100,5 +100,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/magicforce68/config.h b/keyboards/handwired/magicforce68/config.h index 8ad3269d569a..0539fab02398 100644 --- a/keyboards/handwired/magicforce68/config.h +++ b/keyboards/handwired/magicforce68/config.h @@ -100,5 +100,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/mechboards_micropad/config.h b/keyboards/handwired/mechboards_micropad/config.h index 3eec736aea22..f008d596f124 100644 --- a/keyboards/handwired/mechboards_micropad/config.h +++ b/keyboards/handwired/mechboards_micropad/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/meck_tkl/config.h b/keyboards/handwired/meck_tkl/config.h index 5c22e781e443..7029e225301e 100644 --- a/keyboards/handwired/meck_tkl/config.h +++ b/keyboards/handwired/meck_tkl/config.h @@ -38,10 +38,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/minorca/config.h b/keyboards/handwired/minorca/config.h index 9828c03e115e..e987ba67f09f 100644 --- a/keyboards/handwired/minorca/config.h +++ b/keyboards/handwired/minorca/config.h @@ -67,9 +67,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - /* bootmagic salt key */ #define BOOTMAGIC_KEY_SALT KC_ESC diff --git a/keyboards/handwired/ms_sculpt_mobile/config.h b/keyboards/handwired/ms_sculpt_mobile/config.h index c3c2a0962ea0..13f5a588b6c6 100644 --- a/keyboards/handwired/ms_sculpt_mobile/config.h +++ b/keyboards/handwired/ms_sculpt_mobile/config.h @@ -82,5 +82,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/nicekey/config.h b/keyboards/handwired/nicekey/config.h index 19e707c1fcc9..7a41e62a57a1 100644 --- a/keyboards/handwired/nicekey/config.h +++ b/keyboards/handwired/nicekey/config.h @@ -62,5 +62,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/not_so_minidox/config.h b/keyboards/handwired/not_so_minidox/config.h index 177552e2a6c7..aa6319cb0f68 100644 --- a/keyboards/handwired/not_so_minidox/config.h +++ b/keyboards/handwired/not_so_minidox/config.h @@ -74,5 +74,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/numpad20/config.h b/keyboards/handwired/numpad20/config.h index dba74f43bd88..4b9ca1baf35e 100644 --- a/keyboards/handwired/numpad20/config.h +++ b/keyboards/handwired/numpad20/config.h @@ -100,5 +100,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/obuwunkunubi/spaget/config.h b/keyboards/handwired/obuwunkunubi/spaget/config.h index 56fb46ad9172..1558acb55aee 100644 --- a/keyboards/handwired/obuwunkunubi/spaget/config.h +++ b/keyboards/handwired/obuwunkunubi/spaget/config.h @@ -69,5 +69,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/oem_ansi_fullsize/config.h b/keyboards/handwired/oem_ansi_fullsize/config.h index 7219bd3403a0..710b4a871b27 100644 --- a/keyboards/handwired/oem_ansi_fullsize/config.h +++ b/keyboards/handwired/oem_ansi_fullsize/config.h @@ -150,10 +150,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/onekey/config.h b/keyboards/handwired/onekey/config.h index 950146a5d371..f491d4d39370 100644 --- a/keyboards/handwired/onekey/config.h +++ b/keyboards/handwired/onekey/config.h @@ -59,10 +59,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/ortho5x13/config.h b/keyboards/handwired/ortho5x13/config.h index d831940b8d46..7731d29f0c54 100644 --- a/keyboards/handwired/ortho5x13/config.h +++ b/keyboards/handwired/ortho5x13/config.h @@ -100,5 +100,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/ortho5x14/config.h b/keyboards/handwired/ortho5x14/config.h index 33ad68b0b168..a5aab6168f6a 100644 --- a/keyboards/handwired/ortho5x14/config.h +++ b/keyboards/handwired/ortho5x14/config.h @@ -104,6 +104,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/handwired/owlet60/config.h b/keyboards/handwired/owlet60/config.h index d20e1fa97534..9613a97580a4 100644 --- a/keyboards/handwired/owlet60/config.h +++ b/keyboards/handwired/owlet60/config.h @@ -137,8 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/pilcrow/config.h b/keyboards/handwired/pilcrow/config.h index 15f487082bc1..3ed0f5de6a25 100644 --- a/keyboards/handwired/pilcrow/config.h +++ b/keyboards/handwired/pilcrow/config.h @@ -100,5 +100,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h index 612675c63a07..68f83035f991 100644 --- a/keyboards/handwired/promethium/config.h +++ b/keyboards/handwired/promethium/config.h @@ -123,8 +123,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define PS2_MOUSE_INIT_DELAY 2000 #define BATTERY_POLL 30000 diff --git a/keyboards/handwired/reddot/config.h b/keyboards/handwired/reddot/config.h index 196f08f6f5f6..6028971dda23 100755 --- a/keyboards/handwired/reddot/config.h +++ b/keyboards/handwired/reddot/config.h @@ -98,5 +98,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/retro_refit/config.h b/keyboards/handwired/retro_refit/config.h index 74cebfb8257b..beb9b26deb68 100644 --- a/keyboards/handwired/retro_refit/config.h +++ b/keyboards/handwired/retro_refit/config.h @@ -85,5 +85,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/sick68/config.h b/keyboards/handwired/sick68/config.h index 2205126cc35d..16b5fc76e77e 100644 --- a/keyboards/handwired/sick68/config.h +++ b/keyboards/handwired/sick68/config.h @@ -139,10 +139,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/snatchpad/config.h b/keyboards/handwired/snatchpad/config.h index c0d337d5df2b..c0ac5ebbde66 100644 --- a/keyboards/handwired/snatchpad/config.h +++ b/keyboards/handwired/snatchpad/config.h @@ -136,10 +136,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/sono1/config.h b/keyboards/handwired/sono1/config.h index 3b06342a1af7..91519e884ade 100644 --- a/keyboards/handwired/sono1/config.h +++ b/keyboards/handwired/sono1/config.h @@ -36,14 +36,10 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 /* mechanical locking support. NumLock key on the numpad uses Alps SKCL Lock switch */ #define LOCKING_SUPPORT_ENABLE -#define LOCKING_RESYNC_ENABLE \ No newline at end of file +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/handwired/split65/promicro/config.h b/keyboards/handwired/split65/promicro/config.h index 824dc76402a8..e700578e085e 100644 --- a/keyboards/handwired/split65/promicro/config.h +++ b/keyboards/handwired/split65/promicro/config.h @@ -47,7 +47,5 @@ // Feature diable options //#define NO_DEBUG //#define NO_PRINT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define OLED_DISPLAY_128X64 diff --git a/keyboards/handwired/split65/stm32/config.h b/keyboards/handwired/split65/stm32/config.h index 28df96442302..b17348128011 100644 --- a/keyboards/handwired/split65/stm32/config.h +++ b/keyboards/handwired/split65/stm32/config.h @@ -54,7 +54,5 @@ // Feature diable options //#define NO_DEBUG //#define NO_PRINT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define OLED_DISPLAY_128X64 diff --git a/keyboards/handwired/split89/config.h b/keyboards/handwired/split89/config.h index d78535a20107..7927c1d83c40 100644 --- a/keyboards/handwired/split89/config.h +++ b/keyboards/handwired/split89/config.h @@ -154,10 +154,6 @@ COLS = number of cols per side which curently needs to be equal so there are bla //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/splittest/config.h b/keyboards/handwired/splittest/config.h index 93b5164d763d..d4816e435523 100644 --- a/keyboards/handwired/splittest/config.h +++ b/keyboards/handwired/splittest/config.h @@ -65,5 +65,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/sticc14/config.h b/keyboards/handwired/sticc14/config.h index 6c296d78936a..c269f4706dc5 100644 --- a/keyboards/handwired/sticc14/config.h +++ b/keyboards/handwired/sticc14/config.h @@ -136,8 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/symmetric70_proto/promicro/config.h b/keyboards/handwired/symmetric70_proto/promicro/config.h index 2060c6260606..570de7039d10 100644 --- a/keyboards/handwired/symmetric70_proto/promicro/config.h +++ b/keyboards/handwired/symmetric70_proto/promicro/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/symmetric70_proto/proton_c/config.h b/keyboards/handwired/symmetric70_proto/proton_c/config.h index 84586854f4f0..92716a21f6eb 100644 --- a/keyboards/handwired/symmetric70_proto/proton_c/config.h +++ b/keyboards/handwired/symmetric70_proto/proton_c/config.h @@ -151,10 +151,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/t111/config.h b/keyboards/handwired/t111/config.h index e459e7659eb8..04c1ece0e514 100644 --- a/keyboards/handwired/t111/config.h +++ b/keyboards/handwired/t111/config.h @@ -83,10 +83,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/tennie/config.h b/keyboards/handwired/tennie/config.h index 6955f08db7c6..e74b9f2aeea3 100644 --- a/keyboards/handwired/tennie/config.h +++ b/keyboards/handwired/tennie/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/terminus_mini/config.h b/keyboards/handwired/terminus_mini/config.h index e1d77d55e241..94c182eb4a26 100644 --- a/keyboards/handwired/terminus_mini/config.h +++ b/keyboards/handwired/terminus_mini/config.h @@ -106,5 +106,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h index bba9db137b33..ab46bc527649 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/config.h +++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h @@ -84,8 +84,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION /* PMW3360 Settings */ #define PMW3360_CS_PIN B0 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h index b4f09e5e87f7..fc5037ae9d2a 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h @@ -47,7 +47,5 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define POINTING_DEVICE_RIGHT diff --git a/keyboards/handwired/tractyl_manuform/config.h b/keyboards/handwired/tractyl_manuform/config.h index 821f9be9b602..845125c5cdd7 100644 --- a/keyboards/handwired/tractyl_manuform/config.h +++ b/keyboards/handwired/tractyl_manuform/config.h @@ -33,8 +33,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define SPLIT_POINTING_ENABLE #define POINTING_DEVICE_TASK_THROTTLE_MS 1 diff --git a/keyboards/handwired/traveller/config.h b/keyboards/handwired/traveller/config.h index 2e3767e0cdcc..815ec7fdd51a 100644 --- a/keyboards/handwired/traveller/config.h +++ b/keyboards/handwired/traveller/config.h @@ -132,10 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/tritium_numpad/config.h b/keyboards/handwired/tritium_numpad/config.h index 1424c6b49183..ef835ad2aa50 100644 --- a/keyboards/handwired/tritium_numpad/config.h +++ b/keyboards/handwired/tritium_numpad/config.h @@ -80,6 +80,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/handwired/twadlee/tp69/config.h b/keyboards/handwired/twadlee/tp69/config.h index aac4c874b2a3..f16444c1192e 100644 --- a/keyboards/handwired/twadlee/tp69/config.h +++ b/keyboards/handwired/twadlee/tp69/config.h @@ -140,10 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/unk/rev1/config.h b/keyboards/handwired/unk/rev1/config.h index 84c6b123ab37..65a02ff7ca7e 100644 --- a/keyboards/handwired/unk/rev1/config.h +++ b/keyboards/handwired/unk/rev1/config.h @@ -86,5 +86,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/uthol/rev3/config.h b/keyboards/handwired/uthol/rev3/config.h index 47f079e612dd..90880998b712 100644 --- a/keyboards/handwired/uthol/rev3/config.h +++ b/keyboards/handwired/uthol/rev3/config.h @@ -58,10 +58,6 @@ #define TAPPING_TERM 500 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - // RGB Stuff #define RGB_DI_PIN B0 #define RGBLED_NUM 39 diff --git a/keyboards/handwired/videowriter/config.h b/keyboards/handwired/videowriter/config.h index 73162b6da6e8..b4909ffba1bb 100644 --- a/keyboards/handwired/videowriter/config.h +++ b/keyboards/handwired/videowriter/config.h @@ -58,10 +58,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 1 #define BOOTMAGIC_LITE_COLUMN 7 diff --git a/keyboards/handwired/woodpad/config.h b/keyboards/handwired/woodpad/config.h index 9894fe13385e..9b92798d9654 100644 --- a/keyboards/handwired/woodpad/config.h +++ b/keyboards/handwired/woodpad/config.h @@ -132,10 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/xealous/rev1/config.h b/keyboards/handwired/xealous/rev1/config.h index 8bd5b464a4f3..cbb4648d1976 100644 --- a/keyboards/handwired/xealous/rev1/config.h +++ b/keyboards/handwired/xealous/rev1/config.h @@ -77,6 +77,5 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING #define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION + #define IGNORE_MOD_TAP_INTERRUPT diff --git a/keyboards/handwired/z150/config.h b/keyboards/handwired/z150/config.h index ecdb7395447f..5d11c31a2a0a 100644 --- a/keyboards/handwired/z150/config.h +++ b/keyboards/handwired/z150/config.h @@ -83,10 +83,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h index ea2ce8c94152..b08865d0a407 100644 --- a/keyboards/helix/pico/config.h +++ b/keyboards/helix/pico/config.h @@ -135,5 +135,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h index 9b813b347a3a..577edba56bda 100644 --- a/keyboards/helix/rev2/config.h +++ b/keyboards/helix/rev2/config.h @@ -162,6 +162,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/helix/rev3_4rows/config.h b/keyboards/helix/rev3_4rows/config.h index 218ef5e5cc7f..1c0ec4d36c7f 100644 --- a/keyboards/helix/rev3_4rows/config.h +++ b/keyboards/helix/rev3_4rows/config.h @@ -161,10 +161,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h index 79c7961ed9fc..c880e27c88a2 100644 --- a/keyboards/helix/rev3_5rows/config.h +++ b/keyboards/helix/rev3_5rows/config.h @@ -161,10 +161,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hhkb/ansi/config.h b/keyboards/hhkb/ansi/config.h index 78fe0c47aebd..8307fc1679e4 100644 --- a/keyboards/hhkb/ansi/config.h +++ b/keyboards/hhkb/ansi/config.h @@ -87,5 +87,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/hhkb/jp/config.h b/keyboards/hhkb/jp/config.h index 22ac6aa62356..04ee61c76860 100644 --- a/keyboards/hhkb/jp/config.h +++ b/keyboards/hhkb/jp/config.h @@ -87,5 +87,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/hineybush/h08_ocelot/config.h b/keyboards/hineybush/h08_ocelot/config.h index 9b5fd2d9b9b2..80f1a1df1e72 100644 --- a/keyboards/hineybush/h08_ocelot/config.h +++ b/keyboards/hineybush/h08_ocelot/config.h @@ -141,10 +141,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hineybush/h10/config.h b/keyboards/hineybush/h10/config.h index 81641bdbd3b4..eafcd95eef51 100644 --- a/keyboards/hineybush/h10/config.h +++ b/keyboards/hineybush/h10/config.h @@ -116,10 +116,6 @@ along with this program. If not, see . */ //#define FORCE_NKRO -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hineybush/h60/config.h b/keyboards/hineybush/h60/config.h index 4553bb122936..044f05fa84fa 100644 --- a/keyboards/hineybush/h60/config.h +++ b/keyboards/hineybush/h60/config.h @@ -79,10 +79,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hineybush/h65/config.h b/keyboards/hineybush/h65/config.h index b99f4860134e..19c9c5b5d8ac 100644 --- a/keyboards/hineybush/h65/config.h +++ b/keyboards/hineybush/h65/config.h @@ -141,10 +141,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hineybush/h65_hotswap/config.h b/keyboards/hineybush/h65_hotswap/config.h index 805476d002c4..f266003a888f 100644 --- a/keyboards/hineybush/h65_hotswap/config.h +++ b/keyboards/hineybush/h65_hotswap/config.h @@ -141,10 +141,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hineybush/h660s/config.h b/keyboards/hineybush/h660s/config.h index 8f33fe3e6b2c..45a1c53508be 100644 --- a/keyboards/hineybush/h660s/config.h +++ b/keyboards/hineybush/h660s/config.h @@ -132,10 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hineybush/h75_singa/config.h b/keyboards/hineybush/h75_singa/config.h index e1389c8f96e6..c8b3ab7285e0 100644 --- a/keyboards/hineybush/h75_singa/config.h +++ b/keyboards/hineybush/h75_singa/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/hineybush/physix/config.h b/keyboards/hineybush/physix/config.h index c4a0274b93af..87c49270b30c 100644 --- a/keyboards/hineybush/physix/config.h +++ b/keyboards/hineybush/physix/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hineybush/sm68/config.h b/keyboards/hineybush/sm68/config.h index fd2403b8b5b5..89541179c2d5 100644 --- a/keyboards/hineybush/sm68/config.h +++ b/keyboards/hineybush/sm68/config.h @@ -128,8 +128,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/hnahkb/freyr/config.h b/keyboards/hnahkb/freyr/config.h index d912b3cc1a32..9658793aa212 100644 --- a/keyboards/hnahkb/freyr/config.h +++ b/keyboards/hnahkb/freyr/config.h @@ -136,10 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hnahkb/stella/config.h b/keyboards/hnahkb/stella/config.h index 512b7571d548..2ca475c38cee 100644 --- a/keyboards/hnahkb/stella/config.h +++ b/keyboards/hnahkb/stella/config.h @@ -136,10 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hnahkb/vn66/config.h b/keyboards/hnahkb/vn66/config.h index d8095418417e..1f6387fafa6a 100644 --- a/keyboards/hnahkb/vn66/config.h +++ b/keyboards/hnahkb/vn66/config.h @@ -139,10 +139,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/honeycomb/config.h b/keyboards/honeycomb/config.h index c9595436183f..6780c2d41bda 100755 --- a/keyboards/honeycomb/config.h +++ b/keyboards/honeycomb/config.h @@ -43,5 +43,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/horizon/config.h b/keyboards/horizon/config.h index 8abc3b131b3b..bb0a6dcbfc6c 100644 --- a/keyboards/horizon/config.h +++ b/keyboards/horizon/config.h @@ -40,7 +40,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/hotdox/config.h b/keyboards/hotdox/config.h index 21d5938faf99..b72faa613c4d 100644 --- a/keyboards/hotdox/config.h +++ b/keyboards/hotdox/config.h @@ -72,6 +72,5 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION + //#define DEBUG_MATRIX_SCAN_RATE diff --git a/keyboards/hub20/config.h b/keyboards/hub20/config.h index de2526522c1e..aca3d7accee0 100644 --- a/keyboards/hub20/config.h +++ b/keyboards/hub20/config.h @@ -113,7 +113,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/ianklug/grooveboard/config.h b/keyboards/ianklug/grooveboard/config.h index aac9be1022fe..4103759d0268 100644 --- a/keyboards/ianklug/grooveboard/config.h +++ b/keyboards/ianklug/grooveboard/config.h @@ -146,10 +146,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ibnuda/gurindam/config.h b/keyboards/ibnuda/gurindam/config.h index 9262bdbcda82..a79ea6c5db25 100644 --- a/keyboards/ibnuda/gurindam/config.h +++ b/keyboards/ibnuda/gurindam/config.h @@ -113,5 +113,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ibnuda/squiggle/config.h b/keyboards/ibnuda/squiggle/config.h index 6aca2c1b188b..d9a144aca7f6 100644 --- a/keyboards/ibnuda/squiggle/config.h +++ b/keyboards/ibnuda/squiggle/config.h @@ -37,8 +37,3 @@ along with this program. If not, see . /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST - - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/idb/idb_60/config.h b/keyboards/idb/idb_60/config.h index 8a0852ccbd10..81dcfa854eae 100644 --- a/keyboards/idb/idb_60/config.h +++ b/keyboards/idb/idb_60/config.h @@ -97,5 +97,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/idobao/id75/v1/config.h b/keyboards/idobao/id75/v1/config.h index caaf7f75dc95..918dc16481f2 100644 --- a/keyboards/idobao/id75/v1/config.h +++ b/keyboards/idobao/id75/v1/config.h @@ -114,8 +114,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/idobao/id75/v2/config.h b/keyboards/idobao/id75/v2/config.h index c2b64649cbe3..c2e54f611de4 100644 --- a/keyboards/idobao/id75/v2/config.h +++ b/keyboards/idobao/id75/v2/config.h @@ -144,8 +144,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/idobao/id87/v2/config.h b/keyboards/idobao/id87/v2/config.h index 3ef24f0bc5fd..f094ef06389f 100644 --- a/keyboards/idobao/id87/v2/config.h +++ b/keyboards/idobao/id87/v2/config.h @@ -151,10 +151,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/illuminati/is0/config.h b/keyboards/illuminati/is0/config.h index 948ea8282cac..cd7a7ce28fc0 100644 --- a/keyboards/illuminati/is0/config.h +++ b/keyboards/illuminati/is0/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/illusion/rosa/config.h b/keyboards/illusion/rosa/config.h index 6bd4884138ca..5ad421ecbea5 100644 --- a/keyboards/illusion/rosa/config.h +++ b/keyboards/illusion/rosa/config.h @@ -49,10 +49,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -// #define NO_ACTION_MACRO -// #define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 -// #define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file +// #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ilumkb/primus75/config.h b/keyboards/ilumkb/primus75/config.h index fc5dd87f0906..4b6901d09673 100644 --- a/keyboards/ilumkb/primus75/config.h +++ b/keyboards/ilumkb/primus75/config.h @@ -56,7 +56,4 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/ilumkb/simpler61/config.h b/keyboards/ilumkb/simpler61/config.h index 1efdb1af25c5..ae737bd1b665 100644 --- a/keyboards/ilumkb/simpler61/config.h +++ b/keyboards/ilumkb/simpler61/config.h @@ -39,10 +39,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/ilumkb/simpler64/config.h b/keyboards/ilumkb/simpler64/config.h index 179b98113b79..faf8fd152da6 100644 --- a/keyboards/ilumkb/simpler64/config.h +++ b/keyboards/ilumkb/simpler64/config.h @@ -39,10 +39,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/input_club/ergodox_infinity/config.h b/keyboards/input_club/ergodox_infinity/config.h index e6f1b81f5476..debf9a62b984 100644 --- a/keyboards/input_club/ergodox_infinity/config.h +++ b/keyboards/input_club/ergodox_infinity/config.h @@ -153,5 +153,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/input_club/infinity60/config.h b/keyboards/input_club/infinity60/config.h index e73a663b39ec..18fedcb2195f 100644 --- a/keyboards/input_club/infinity60/config.h +++ b/keyboards/input_club/infinity60/config.h @@ -57,5 +57,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/input_club/k_type/config.h b/keyboards/input_club/k_type/config.h index de73e06a98ca..8502ba7046e7 100644 --- a/keyboards/input_club/k_type/config.h +++ b/keyboards/input_club/k_type/config.h @@ -98,10 +98,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/input_club/whitefox/config.h b/keyboards/input_club/whitefox/config.h index d2b6639a3065..4ea7e7806f4d 100644 --- a/keyboards/input_club/whitefox/config.h +++ b/keyboards/input_club/whitefox/config.h @@ -117,10 +117,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/irene/config.h b/keyboards/irene/config.h index 15750f5406db..34093e33a115 100644 --- a/keyboards/irene/config.h +++ b/keyboards/irene/config.h @@ -141,10 +141,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/iriskeyboards/config.h b/keyboards/iriskeyboards/config.h index 77aedd69f167..8757c407b2bb 100644 --- a/keyboards/iriskeyboards/config.h +++ b/keyboards/iriskeyboards/config.h @@ -145,10 +145,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/j80/config.h b/keyboards/j80/config.h index 10b4116181a1..3aaeb26dad43 100644 --- a/keyboards/j80/config.h +++ b/keyboards/j80/config.h @@ -42,10 +42,6 @@ along with this program. If not, see . #define BACKLIGHT_LEVELS 3 #define BACKLIGHT_PIN D4 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/jacky_studio/s7_elephant/rev2/config.h b/keyboards/jacky_studio/s7_elephant/rev2/config.h index d0ca4045c75b..246479dd3758 100644 --- a/keyboards/jacky_studio/s7_elephant/rev2/config.h +++ b/keyboards/jacky_studio/s7_elephant/rev2/config.h @@ -25,10 +25,6 @@ #define MANUFACTURER Jacky #define PRODUCT Jacky S7 Elephant Rev 2 -/* Don't remove this without also removing LTO_ENABLE=yes in rules.mk */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 16 diff --git a/keyboards/jadookb/jkb65/config.h b/keyboards/jadookb/jkb65/config.h index d397f1962bac..dae3cea49abb 100644 --- a/keyboards/jadookb/jkb65/config.h +++ b/keyboards/jadookb/jkb65/config.h @@ -98,6 +98,3 @@ #define DEBOUNCE 5 #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/jae/j01/config.h b/keyboards/jae/j01/config.h index 68e8b0ff08c9..552f6930cb3c 100644 --- a/keyboards/jae/j01/config.h +++ b/keyboards/jae/j01/config.h @@ -110,10 +110,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 2 diff --git a/keyboards/jagdpietr/drakon/config.h b/keyboards/jagdpietr/drakon/config.h index f9565e41a488..611b107137c2 100644 --- a/keyboards/jagdpietr/drakon/config.h +++ b/keyboards/jagdpietr/drakon/config.h @@ -108,7 +108,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/jc65/v32a/config.h b/keyboards/jc65/v32a/config.h index d6907c96c33c..b4cef251b5ee 100644 --- a/keyboards/jc65/v32a/config.h +++ b/keyboards/jc65/v32a/config.h @@ -43,6 +43,3 @@ along with this program. If not, see . #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 8 - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/jd45/config.h b/keyboards/jd45/config.h index be2f0963ace8..3deea197409e 100644 --- a/keyboards/jd45/config.h +++ b/keyboards/jd45/config.h @@ -69,5 +69,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/jm60/config.h b/keyboards/jm60/config.h index 2409142e097c..113c6b4dfb66 100644 --- a/keyboards/jm60/config.h +++ b/keyboards/jm60/config.h @@ -130,10 +130,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/jones/v03/config.h b/keyboards/jones/v03/config.h index 7a37fc1f3dfd..706c1d05e9a1 100644 --- a/keyboards/jones/v03/config.h +++ b/keyboards/jones/v03/config.h @@ -156,10 +156,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/jones/v03_1/config.h b/keyboards/jones/v03_1/config.h index 1b67b6b58fef..33dd0994a536 100644 --- a/keyboards/jones/v03_1/config.h +++ b/keyboards/jones/v03_1/config.h @@ -157,10 +157,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/jones/v1/config.h b/keyboards/jones/v1/config.h index 1f8acc6eb647..16610eef4afa 100644 --- a/keyboards/jones/v1/config.h +++ b/keyboards/jones/v1/config.h @@ -65,10 +65,6 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite trigger key. Left-Top of the layout. */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 9 diff --git a/keyboards/kagizaraya/chidori/config.h b/keyboards/kagizaraya/chidori/config.h index 2db5d57ef7a0..fba0ab1e3940 100644 --- a/keyboards/kagizaraya/chidori/config.h +++ b/keyboards/kagizaraya/chidori/config.h @@ -156,8 +156,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kagizaraya/halberd/config.h b/keyboards/kagizaraya/halberd/config.h index 66777a25093a..085688e335e4 100644 --- a/keyboards/kagizaraya/halberd/config.h +++ b/keyboards/kagizaraya/halberd/config.h @@ -113,8 +113,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kagizaraya/scythe/config.h b/keyboards/kagizaraya/scythe/config.h index ad4d1ded4f27..fb75e32b6217 100644 --- a/keyboards/kagizaraya/scythe/config.h +++ b/keyboards/kagizaraya/scythe/config.h @@ -116,8 +116,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/angel17/alpha/config.h b/keyboards/kakunpc/angel17/alpha/config.h index 35e9c132b85c..192464c21692 100644 --- a/keyboards/kakunpc/angel17/alpha/config.h +++ b/keyboards/kakunpc/angel17/alpha/config.h @@ -136,8 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/angel17/rev1/config.h b/keyboards/kakunpc/angel17/rev1/config.h index a43208d2b908..f042a089c4dc 100644 --- a/keyboards/kakunpc/angel17/rev1/config.h +++ b/keyboards/kakunpc/angel17/rev1/config.h @@ -131,8 +131,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/angel64/alpha/config.h b/keyboards/kakunpc/angel64/alpha/config.h index b3270fdd8b3e..d2057266cebc 100644 --- a/keyboards/kakunpc/angel64/alpha/config.h +++ b/keyboards/kakunpc/angel64/alpha/config.h @@ -129,8 +129,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/angel64/rev1/config.h b/keyboards/kakunpc/angel64/rev1/config.h index b3270fdd8b3e..d2057266cebc 100644 --- a/keyboards/kakunpc/angel64/rev1/config.h +++ b/keyboards/kakunpc/angel64/rev1/config.h @@ -129,8 +129,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/business_card/alpha/config.h b/keyboards/kakunpc/business_card/alpha/config.h index 81bb16161f4e..e7b5f7147d59 100644 --- a/keyboards/kakunpc/business_card/alpha/config.h +++ b/keyboards/kakunpc/business_card/alpha/config.h @@ -130,8 +130,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/business_card/beta/config.h b/keyboards/kakunpc/business_card/beta/config.h index 9e4e8da96380..2bee5f53374b 100644 --- a/keyboards/kakunpc/business_card/beta/config.h +++ b/keyboards/kakunpc/business_card/beta/config.h @@ -130,8 +130,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/choc_taro/config.h b/keyboards/kakunpc/choc_taro/config.h index 2852206b14e8..e81abe07a616 100644 --- a/keyboards/kakunpc/choc_taro/config.h +++ b/keyboards/kakunpc/choc_taro/config.h @@ -134,10 +134,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kakunpc/rabbit_capture_plan/config.h b/keyboards/kakunpc/rabbit_capture_plan/config.h index b622d33c1ad6..a115454fcc14 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/config.h +++ b/keyboards/kakunpc/rabbit_capture_plan/config.h @@ -139,10 +139,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kakunpc/suihankey/alpha/config.h b/keyboards/kakunpc/suihankey/alpha/config.h index b11478adfcbc..3d821566aef9 100644 --- a/keyboards/kakunpc/suihankey/alpha/config.h +++ b/keyboards/kakunpc/suihankey/alpha/config.h @@ -133,8 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/suihankey/rev1/config.h b/keyboards/kakunpc/suihankey/rev1/config.h index b2801cd86220..106cfc2c3b56 100644 --- a/keyboards/kakunpc/suihankey/rev1/config.h +++ b/keyboards/kakunpc/suihankey/rev1/config.h @@ -133,8 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/suihankey/split/alpha/config.h b/keyboards/kakunpc/suihankey/split/alpha/config.h index ae5acdbd4bbd..41312831668c 100644 --- a/keyboards/kakunpc/suihankey/split/alpha/config.h +++ b/keyboards/kakunpc/suihankey/split/alpha/config.h @@ -133,8 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/suihankey/split/rev1/config.h b/keyboards/kakunpc/suihankey/split/rev1/config.h index 6b7dd2bac90d..83dc587e5745 100644 --- a/keyboards/kakunpc/suihankey/split/rev1/config.h +++ b/keyboards/kakunpc/suihankey/split/rev1/config.h @@ -133,8 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kakunpc/thedogkeyboard/config.h b/keyboards/kakunpc/thedogkeyboard/config.h index 099c157cffe1..fdf0336f5ff9 100644 --- a/keyboards/kakunpc/thedogkeyboard/config.h +++ b/keyboards/kakunpc/thedogkeyboard/config.h @@ -133,8 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kapcave/arya/config.h b/keyboards/kapcave/arya/config.h index 62df795ff5ac..c6b6c61cf5d3 100644 --- a/keyboards/kapcave/arya/config.h +++ b/keyboards/kapcave/arya/config.h @@ -64,5 +64,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/kb58/config.h b/keyboards/kb58/config.h index 9b8216e75b94..81d946aaabaa 100644 --- a/keyboards/kb58/config.h +++ b/keyboards/kb58/config.h @@ -145,10 +145,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kb_elmo/isolation/config.h b/keyboards/kb_elmo/isolation/config.h index 3d32efbcb45d..2f083955b077 100644 --- a/keyboards/kb_elmo/isolation/config.h +++ b/keyboards/kb_elmo/isolation/config.h @@ -56,7 +56,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/kb_elmo/vertex/config.h b/keyboards/kb_elmo/vertex/config.h index 7fca07280e84..9d8eafe5bf10 100644 --- a/keyboards/kb_elmo/vertex/config.h +++ b/keyboards/kb_elmo/vertex/config.h @@ -40,7 +40,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/kbdclack/kaishi65/config.h b/keyboards/kbdclack/kaishi65/config.h index 390ef6498187..d9ac9b8137a2 100644 --- a/keyboards/kbdclack/kaishi65/config.h +++ b/keyboards/kbdclack/kaishi65/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kbdfans/bella/rgb/config.h b/keyboards/kbdfans/bella/rgb/config.h index c4124111335c..18add4d13638 100644 --- a/keyboards/kbdfans/bella/rgb/config.h +++ b/keyboards/kbdfans/bella/rgb/config.h @@ -34,7 +34,6 @@ #define DEBOUNCE 5 -/* disable these deprecated features by default */ #ifdef RGB_MATRIX_ENABLE #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/kbdfans/bella/rgb_iso/config.h b/keyboards/kbdfans/bella/rgb_iso/config.h index ca43d80708b2..78082a0a01f2 100644 --- a/keyboards/kbdfans/bella/rgb_iso/config.h +++ b/keyboards/kbdfans/bella/rgb_iso/config.h @@ -34,7 +34,6 @@ #define DEBOUNCE 5 -/* disable these deprecated features by default */ #ifdef RGB_MATRIX_ENABLE #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/kbdfans/boop65/rgb/config.h b/keyboards/kbdfans/boop65/rgb/config.h index 20ee0df25ab5..b74da64e2049 100644 --- a/keyboards/kbdfans/boop65/rgb/config.h +++ b/keyboards/kbdfans/boop65/rgb/config.h @@ -37,9 +37,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define USB_SUSPEND_WAKEUP_DELAY 5000 diff --git a/keyboards/kbdfans/kbd19x/config.h b/keyboards/kbdfans/kbd19x/config.h index 0fbf429c459f..e738f771773c 100644 --- a/keyboards/kbdfans/kbd19x/config.h +++ b/keyboards/kbdfans/kbd19x/config.h @@ -120,6 +120,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/kbdfans/kbd4x/config.h b/keyboards/kbdfans/kbd4x/config.h index a75efa6eae94..86989e2b08e4 100644 --- a/keyboards/kbdfans/kbd4x/config.h +++ b/keyboards/kbdfans/kbd4x/config.h @@ -115,6 +115,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/kbdfans/kbd66/config.h b/keyboards/kbdfans/kbd66/config.h index 2098ebf60ff5..2a10bf08ae00 100644 --- a/keyboards/kbdfans/kbd66/config.h +++ b/keyboards/kbdfans/kbd66/config.h @@ -106,5 +106,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/kbdfans/kbd67/hotswap/config.h b/keyboards/kbdfans/kbd67/hotswap/config.h index 2179acb5f801..4c0e0b794d81 100644 --- a/keyboards/kbdfans/kbd67/hotswap/config.h +++ b/keyboards/kbdfans/kbd67/hotswap/config.h @@ -134,8 +134,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h index 5b50c415aedf..23b0a8a30cdb 100755 --- a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h @@ -37,9 +37,7 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION + #ifdef RGB_MATRIX_ENABLE #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h index 9960022a1394..a63a3ee61bc7 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h @@ -36,9 +36,7 @@ #define DIODE_DIRECTION COL2ROW /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION + #define USB_SUSPEND_WAKEUP_DELAY 5000 #define RGB_DI_PIN C7 diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h index 42f5af8c2510..0877d04ccaed 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h @@ -36,9 +36,7 @@ #define DIODE_DIRECTION COL2ROW /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION + #define USB_SUSPEND_WAKEUP_DELAY 5000 #define RGB_DI_PIN C7 diff --git a/keyboards/kbdfans/kbd67/rev1/config.h b/keyboards/kbdfans/kbd67/rev1/config.h index 04ea9c9f1b95..72aa27afccad 100644 --- a/keyboards/kbdfans/kbd67/rev1/config.h +++ b/keyboards/kbdfans/kbd67/rev1/config.h @@ -131,8 +131,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kbdfans/kbd6x/config.h b/keyboards/kbdfans/kbd6x/config.h index 332898383e63..080bdb33b28f 100644 --- a/keyboards/kbdfans/kbd6x/config.h +++ b/keyboards/kbdfans/kbd6x/config.h @@ -118,6 +118,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - diff --git a/keyboards/kbdfans/kbd75hs/config.h b/keyboards/kbdfans/kbd75hs/config.h index e23e50636faa..bf14934d2bca 100644 --- a/keyboards/kbdfans/kbd75hs/config.h +++ b/keyboards/kbdfans/kbd75hs/config.h @@ -38,9 +38,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 #define FORCE_NKRO -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define LED_CAPS_LOCK_PIN C6 #define LED_PIN_ON_STATE 1 diff --git a/keyboards/kbdfans/kbd75rgb/config.h b/keyboards/kbdfans/kbd75rgb/config.h index e49cf68b98e4..2499c25933bc 100644 --- a/keyboards/kbdfans/kbd75rgb/config.h +++ b/keyboards/kbdfans/kbd75rgb/config.h @@ -36,9 +36,7 @@ #define DIODE_DIRECTION COL2ROW /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION + #define USB_SUSPEND_WAKEUP_DELAY 5000 #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/kbdfans/kbd8x/config.h b/keyboards/kbdfans/kbd8x/config.h index 67d155b556ca..b53a898a2714 100644 --- a/keyboards/kbdfans/kbd8x/config.h +++ b/keyboards/kbdfans/kbd8x/config.h @@ -84,5 +84,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/kbdfans/kbd8x_mk2/config.h b/keyboards/kbdfans/kbd8x_mk2/config.h index ea535b00fda2..010bba461799 100644 --- a/keyboards/kbdfans/kbd8x_mk2/config.h +++ b/keyboards/kbdfans/kbd8x_mk2/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kbdfans/kbdmini/config.h b/keyboards/kbdfans/kbdmini/config.h index f2137fcd1f68..a3e0a0237e01 100644 --- a/keyboards/kbdfans/kbdmini/config.h +++ b/keyboards/kbdfans/kbdmini/config.h @@ -91,7 +91,3 @@ #define DRIVER_COUNT 1 #define DRIVER_LED_TOTAL 52 #endif - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/kbdfans/kbdpad/mk2/config.h b/keyboards/kbdfans/kbdpad/mk2/config.h index e64aaa3379bf..99f3792d55bd 100644 --- a/keyboards/kbdfans/kbdpad/mk2/config.h +++ b/keyboards/kbdfans/kbdpad/mk2/config.h @@ -137,8 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kbdfans/niu_mini/config.h b/keyboards/kbdfans/niu_mini/config.h index 96210cf3d0b5..82f23e3d5ccc 100644 --- a/keyboards/kbdfans/niu_mini/config.h +++ b/keyboards/kbdfans/niu_mini/config.h @@ -81,5 +81,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/kbdfans/odin/soldered/config.h b/keyboards/kbdfans/odin/soldered/config.h index 74e87aee2ea7..d51dd06e825d 100644 --- a/keyboards/kbdfans/odin/soldered/config.h +++ b/keyboards/kbdfans/odin/soldered/config.h @@ -35,8 +35,7 @@ #define DIODE_DIRECTION COL2ROW #define DEBOUNCE 15 -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION + #define RGB_DI_PIN B15 #ifdef RGB_DI_PIN #define RGBLED_NUM 4 diff --git a/keyboards/kc60/config.h b/keyboards/kc60/config.h index c58aedd76f2a..c536ab83f07a 100644 --- a/keyboards/kc60/config.h +++ b/keyboards/kc60/config.h @@ -132,10 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kc60se/config.h b/keyboards/kc60se/config.h index fc75f68ff05f..876aa891df7f 100644 --- a/keyboards/kc60se/config.h +++ b/keyboards/kc60se/config.h @@ -96,5 +96,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/keebio/bfo9000/config.h b/keyboards/keebio/bfo9000/config.h index 7e9d4cec0bb6..7bb150d8cf83 100644 --- a/keyboards/keebio/bfo9000/config.h +++ b/keyboards/keebio/bfo9000/config.h @@ -69,5 +69,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/keebio/bigswitchseat/config.h b/keyboards/keebio/bigswitchseat/config.h index f5558ca27946..dbf8311c8daa 100644 --- a/keyboards/keebio/bigswitchseat/config.h +++ b/keyboards/keebio/bigswitchseat/config.h @@ -77,10 +77,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/keebio/choconum/config.h b/keyboards/keebio/choconum/config.h index 45dca6458513..dcd116534af0 100644 --- a/keyboards/keebio/choconum/config.h +++ b/keyboards/keebio/choconum/config.h @@ -92,10 +92,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/keebio/ergodicity/config.h b/keyboards/keebio/ergodicity/config.h index 1e6327aec06d..014eb1375961 100644 --- a/keyboards/keebio/ergodicity/config.h +++ b/keyboards/keebio/ergodicity/config.h @@ -120,8 +120,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/keebio/fourier/config.h b/keyboards/keebio/fourier/config.h index 1ce0aac7ea24..faa3ef4004da 100644 --- a/keyboards/keebio/fourier/config.h +++ b/keyboards/keebio/fourier/config.h @@ -81,5 +81,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/keebio/nyquist/rev1/config.h b/keyboards/keebio/nyquist/rev1/config.h index 774f49c90436..47622ba1e946 100644 --- a/keyboards/keebio/nyquist/rev1/config.h +++ b/keyboards/keebio/nyquist/rev1/config.h @@ -73,5 +73,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/keebio/nyquist/rev2/config.h b/keyboards/keebio/nyquist/rev2/config.h index d558c204d1bc..e47110b8a5ef 100644 --- a/keyboards/keebio/nyquist/rev2/config.h +++ b/keyboards/keebio/nyquist/rev2/config.h @@ -74,5 +74,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/keebio/nyquist/rev3/config.h b/keyboards/keebio/nyquist/rev3/config.h index d165815726f5..3536f5c629b9 100644 --- a/keyboards/keebio/nyquist/rev3/config.h +++ b/keyboards/keebio/nyquist/rev3/config.h @@ -76,5 +76,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/keebsforall/coarse60/config.h b/keyboards/keebsforall/coarse60/config.h index ee37802145a1..7d14ea4cbdd3 100644 --- a/keyboards/keebsforall/coarse60/config.h +++ b/keyboards/keebsforall/coarse60/config.h @@ -96,8 +96,5 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - #define SLEEP_LED_GPT_DRIVER GPTD1 diff --git a/keyboards/keebsforall/freebird60/config.h b/keyboards/keebsforall/freebird60/config.h index 81b468bb97af..5d9f98cacfb5 100644 --- a/keyboards/keebsforall/freebird60/config.h +++ b/keyboards/keebsforall/freebird60/config.h @@ -48,7 +48,3 @@ along with this program. If not, see . #define DIODE_DIRECTION COL2ROW #define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/keebsforall/freebirdtkl/config.h b/keyboards/keebsforall/freebirdtkl/config.h index f9717d06d5bb..47c83ea5b771 100644 --- a/keyboards/keebsforall/freebirdtkl/config.h +++ b/keyboards/keebsforall/freebirdtkl/config.h @@ -50,6 +50,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/keebwerk/nano_slider/config.h b/keyboards/keebwerk/nano_slider/config.h index 827923fea750..53b887692b4f 100644 --- a/keyboards/keebwerk/nano_slider/config.h +++ b/keyboards/keebwerk/nano_slider/config.h @@ -106,10 +106,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/keebzdotnet/wazowski/config.h b/keyboards/keebzdotnet/wazowski/config.h index 71db031caea9..fe8b5cbcd57f 100644 --- a/keyboards/keebzdotnet/wazowski/config.h +++ b/keyboards/keebzdotnet/wazowski/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/keybage/radpad/config.h b/keyboards/keybage/radpad/config.h index 0d885ddea9bf..e0f4b763611f 100644 --- a/keyboards/keybage/radpad/config.h +++ b/keyboards/keybage/radpad/config.h @@ -52,10 +52,6 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 1 #define BOOTMAGIC_LITE_COLUMN 3 diff --git a/keyboards/keybee/keybee65/config.h b/keyboards/keybee/keybee65/config.h index a6666b5d23f6..54f847a2dd85 100644 --- a/keyboards/keybee/keybee65/config.h +++ b/keyboards/keybee/keybee65/config.h @@ -62,6 +62,3 @@ along with this program. If not, see . #define RGB_MATRIX_KEYPRESSES #define RGB_DISABLE_WHEN_USB_SUSPENDED - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/keyboardio/atreus/config.h b/keyboards/keyboardio/atreus/config.h index fb3a48e58f04..74b56ceb7d76 100644 --- a/keyboards/keyboardio/atreus/config.h +++ b/keyboards/keyboardio/atreus/config.h @@ -77,5 +77,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/keycapsss/o4l_5x12/config.h b/keyboards/keycapsss/o4l_5x12/config.h index e24275160fbd..4b7b86390652 100644 --- a/keyboards/keycapsss/o4l_5x12/config.h +++ b/keyboards/keycapsss/o4l_5x12/config.h @@ -115,10 +115,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/keyhive/maypad/config.h b/keyboards/keyhive/maypad/config.h index bb3ef2d64642..b85053888f01 100644 --- a/keyboards/keyhive/maypad/config.h +++ b/keyboards/keyhive/maypad/config.h @@ -135,8 +135,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/keyprez/bison/config.h b/keyboards/keyprez/bison/config.h index a85e33c7e963..b98cbc1be140 100644 --- a/keyboards/keyprez/bison/config.h +++ b/keyboards/keyprez/bison/config.h @@ -149,10 +149,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/keyprez/corgi/config.h b/keyboards/keyprez/corgi/config.h index 7a304ab70783..a3ebf2747feb 100644 --- a/keyboards/keyprez/corgi/config.h +++ b/keyboards/keyprez/corgi/config.h @@ -57,7 +57,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/keyprez/rhino/config.h b/keyboards/keyprez/rhino/config.h index b89be8fdc2b3..54077ac9393f 100644 --- a/keyboards/keyprez/rhino/config.h +++ b/keyboards/keyprez/rhino/config.h @@ -106,10 +106,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/keyprez/unicorn/config.h b/keyboards/keyprez/unicorn/config.h index fcfc6fe9264a..44eadb5bfbc2 100644 --- a/keyboards/keyprez/unicorn/config.h +++ b/keyboards/keyprez/unicorn/config.h @@ -132,10 +132,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kikkou/config.h b/keyboards/kikkou/config.h index deedfd8382e3..586c8e9661a0 100644 --- a/keyboards/kikkou/config.h +++ b/keyboards/kikkou/config.h @@ -52,7 +52,3 @@ along with this program. If not, see . /* disable print */ //#define NO_PRINT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/kindakeyboards/conone65/config.h b/keyboards/kindakeyboards/conone65/config.h index c29599caddf1..0a7127708ccd 100644 --- a/keyboards/kindakeyboards/conone65/config.h +++ b/keyboards/kindakeyboards/conone65/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kinesis/config.h b/keyboards/kinesis/config.h index b04d325903bd..63b296a5282f 100644 --- a/keyboards/kinesis/config.h +++ b/keyboards/kinesis/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/kira75/config.h b/keyboards/kira75/config.h index 373c3e4f0b12..18d8b8fad9f2 100644 --- a/keyboards/kira75/config.h +++ b/keyboards/kira75/config.h @@ -112,5 +112,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/kiwikeebs/macro/config.h b/keyboards/kiwikeebs/macro/config.h index d9dcc3ba60ec..47349d0e09e2 100644 --- a/keyboards/kiwikeebs/macro/config.h +++ b/keyboards/kiwikeebs/macro/config.h @@ -102,7 +102,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/kiwikeebs/macro_v2/config.h b/keyboards/kiwikeebs/macro_v2/config.h index 9ecc4d6686b6..a962a9a82ad6 100644 --- a/keyboards/kiwikeebs/macro_v2/config.h +++ b/keyboards/kiwikeebs/macro_v2/config.h @@ -102,7 +102,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/kiwikey/borderland/config.h b/keyboards/kiwikey/borderland/config.h index 02a33926aadc..648c3a88de4a 100644 --- a/keyboards/kiwikey/borderland/config.h +++ b/keyboards/kiwikey/borderland/config.h @@ -117,10 +117,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kiwikey/kawii9/config.h b/keyboards/kiwikey/kawii9/config.h index 33ce43f302ae..59adcd253e9f 100644 --- a/keyboards/kiwikey/kawii9/config.h +++ b/keyboards/kiwikey/kawii9/config.h @@ -128,10 +128,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kiwikey/wanderland/config.h b/keyboards/kiwikey/wanderland/config.h index 546a03aa30dd..e0b9ba894651 100644 --- a/keyboards/kiwikey/wanderland/config.h +++ b/keyboards/kiwikey/wanderland/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kkatano/bakeneko60/config.h b/keyboards/kkatano/bakeneko60/config.h index 9b923552bb61..9e373686fdbd 100644 --- a/keyboards/kkatano/bakeneko60/config.h +++ b/keyboards/kkatano/bakeneko60/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kkatano/bakeneko65/rev2/config.h b/keyboards/kkatano/bakeneko65/rev2/config.h index 6639e823955a..7e70f549cdf0 100644 --- a/keyboards/kkatano/bakeneko65/rev2/config.h +++ b/keyboards/kkatano/bakeneko65/rev2/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kkatano/bakeneko65/rev3/config.h b/keyboards/kkatano/bakeneko65/rev3/config.h index 6001ce3159bc..9fa3e68ca054 100644 --- a/keyboards/kkatano/bakeneko65/rev3/config.h +++ b/keyboards/kkatano/bakeneko65/rev3/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kkatano/bakeneko80/config.h b/keyboards/kkatano/bakeneko80/config.h index da330c395f79..0e61db875b2a 100644 --- a/keyboards/kkatano/bakeneko80/config.h +++ b/keyboards/kkatano/bakeneko80/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kkatano/wallaby/config.h b/keyboards/kkatano/wallaby/config.h index 3c0d446418e9..00ba00ccac4e 100644 --- a/keyboards/kkatano/wallaby/config.h +++ b/keyboards/kkatano/wallaby/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kkatano/yurei/config.h b/keyboards/kkatano/yurei/config.h index 57877dc8faa3..14eae7f38716 100644 --- a/keyboards/kkatano/yurei/config.h +++ b/keyboards/kkatano/yurei/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kmac/config.h b/keyboards/kmac/config.h index 23cf0a04708a..3bc567333ed5 100644 --- a/keyboards/kmac/config.h +++ b/keyboards/kmac/config.h @@ -100,5 +100,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/kmac_pad/config.h b/keyboards/kmac_pad/config.h index eb33a994b3da..189f2f9c0832 100644 --- a/keyboards/kmac_pad/config.h +++ b/keyboards/kmac_pad/config.h @@ -98,5 +98,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/knops/mini/config.h b/keyboards/knops/mini/config.h index eca8b8b4a89d..8fb094fb9425 100644 --- a/keyboards/knops/mini/config.h +++ b/keyboards/knops/mini/config.h @@ -103,5 +103,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/kona_classic/config.h b/keyboards/kona_classic/config.h index c6dc3a031819..c5a783c81111 100644 --- a/keyboards/kona_classic/config.h +++ b/keyboards/kona_classic/config.h @@ -102,5 +102,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/kopibeng/xt65/config.h b/keyboards/kopibeng/xt65/config.h index e39f832bdf40..e134e8b86470 100644 --- a/keyboards/kopibeng/xt65/config.h +++ b/keyboards/kopibeng/xt65/config.h @@ -100,8 +100,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kprepublic/bm16a/config.h b/keyboards/kprepublic/bm16a/config.h index c38f74458e37..120232bb913c 100644 --- a/keyboards/kprepublic/bm16a/config.h +++ b/keyboards/kprepublic/bm16a/config.h @@ -133,8 +133,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h index b4aa1a549cca..d8e7501b2250 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h @@ -48,9 +48,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION //rgb light setting #define RGBLIGHT_LIMIT_VAL 150 #define RGBLED_NUM 6 diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h index 5e695aec57f7..4653db4fd6f9 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h @@ -50,9 +50,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION //rgb light setting #define RGBLIGHT_LIMIT_VAL 150 #define RGBLED_NUM 6 diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h index 27c3a6df5508..d40004f50214 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h @@ -48,9 +48,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION //rgb light setting #define RGBLIGHT_LIMIT_VAL 150 #define RGBLED_NUM 6 diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/config.h b/keyboards/kprepublic/bm65hsrgb/rev1/config.h index 1fbfab93683a..b428a788647e 100644 --- a/keyboards/kprepublic/bm65hsrgb/rev1/config.h +++ b/keyboards/kprepublic/bm65hsrgb/rev1/config.h @@ -113,10 +113,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/config.h index a779c97b7b5c..636ff1c785fa 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev1/config.h @@ -165,10 +165,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/config.h b/keyboards/kprepublic/bm68hsrgb/rev2/config.h index 4faca73c0d21..900aa699cb2e 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev2/config.h @@ -38,9 +38,7 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION + #define RGBLIGHT_LIMIT_VAL 150 #define RGBLED_NUM 6 #define RGB_DI_PIN E2 diff --git a/keyboards/kprepublic/bm80hsrgb/config.h b/keyboards/kprepublic/bm80hsrgb/config.h index f56daf948c23..7adc89720d33 100644 --- a/keyboards/kprepublic/bm80hsrgb/config.h +++ b/keyboards/kprepublic/bm80hsrgb/config.h @@ -136,7 +136,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/kprepublic/bm980hsrgb/config.h b/keyboards/kprepublic/bm980hsrgb/config.h index e4499a0b0504..01266e652cc2 100644 --- a/keyboards/kprepublic/bm980hsrgb/config.h +++ b/keyboards/kprepublic/bm980hsrgb/config.h @@ -127,10 +127,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/kprepublic/cospad/config.h b/keyboards/kprepublic/cospad/config.h index 47c4a1d9af90..bc53ef6206e8 100644 --- a/keyboards/kprepublic/cospad/config.h +++ b/keyboards/kprepublic/cospad/config.h @@ -141,10 +141,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ktec/daisy/config.h b/keyboards/ktec/daisy/config.h index 3d504888ec4b..2079d172aa7f 100644 --- a/keyboards/ktec/daisy/config.h +++ b/keyboards/ktec/daisy/config.h @@ -140,10 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ktec/ergodone/config.h b/keyboards/ktec/ergodone/config.h index db626ab8083e..ee51e4c05597 100644 --- a/keyboards/ktec/ergodone/config.h +++ b/keyboards/ktec/ergodone/config.h @@ -73,6 +73,5 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION + //#define DEBUG_MATRIX_SCAN_RATE diff --git a/keyboards/kudox/columner/config.h b/keyboards/kudox/columner/config.h index 1109331275d5..13a02bc80395 100644 --- a/keyboards/kudox/columner/config.h +++ b/keyboards/kudox/columner/config.h @@ -80,8 +80,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 diff --git a/keyboards/kudox/rev1/config.h b/keyboards/kudox/rev1/config.h index 8e994770f95a..de5dbbbe71c0 100644 --- a/keyboards/kudox/rev1/config.h +++ b/keyboards/kudox/rev1/config.h @@ -80,8 +80,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 diff --git a/keyboards/kudox/rev2/config.h b/keyboards/kudox/rev2/config.h index 81b1fb676fbf..c510926919c1 100644 --- a/keyboards/kudox/rev2/config.h +++ b/keyboards/kudox/rev2/config.h @@ -80,8 +80,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 diff --git a/keyboards/kudox/rev3/config.h b/keyboards/kudox/rev3/config.h index 9d24106f4cfb..969111d0c805 100644 --- a/keyboards/kudox/rev3/config.h +++ b/keyboards/kudox/rev3/config.h @@ -80,8 +80,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 diff --git a/keyboards/kudox_full/rev1/config.h b/keyboards/kudox_full/rev1/config.h index 46d680e442e8..bd47ed6b42d8 100644 --- a/keyboards/kudox_full/rev1/config.h +++ b/keyboards/kudox_full/rev1/config.h @@ -73,5 +73,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/kudox_game/rev1/config.h b/keyboards/kudox_game/rev1/config.h index ab34f889dc5e..821a6af8bbb7 100644 --- a/keyboards/kudox_game/rev1/config.h +++ b/keyboards/kudox_game/rev1/config.h @@ -80,8 +80,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 diff --git a/keyboards/kudox_game/rev2/config.h b/keyboards/kudox_game/rev2/config.h index ea27d5efb80a..e1907bf29fd7 100644 --- a/keyboards/kudox_game/rev2/config.h +++ b/keyboards/kudox_game/rev2/config.h @@ -80,8 +80,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 diff --git a/keyboards/ky01/config.h b/keyboards/ky01/config.h index 22c211dacef5..e0b94622c64e 100644 --- a/keyboards/ky01/config.h +++ b/keyboards/ky01/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/labyrinth75/config.h b/keyboards/labyrinth75/config.h index cb95204885e8..afc77a8dd585 100644 --- a/keyboards/labyrinth75/config.h +++ b/keyboards/labyrinth75/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 2 diff --git a/keyboards/latincompass/latin17rgb/config.h b/keyboards/latincompass/latin17rgb/config.h index 6b929f249dae..02d852260637 100644 --- a/keyboards/latincompass/latin17rgb/config.h +++ b/keyboards/latincompass/latin17rgb/config.h @@ -48,10 +48,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/latincompass/latin47ble/config.h b/keyboards/latincompass/latin47ble/config.h index f9f94d0dbfeb..eb10693501f0 100644 --- a/keyboards/latincompass/latin47ble/config.h +++ b/keyboards/latincompass/latin47ble/config.h @@ -119,7 +119,5 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define VIA_HAS_BROKEN_KEYCODES diff --git a/keyboards/latincompass/latin60rgb/config.h b/keyboards/latincompass/latin60rgb/config.h index cc7b83b9b886..fa4ea3928819 100644 --- a/keyboards/latincompass/latin60rgb/config.h +++ b/keyboards/latincompass/latin60rgb/config.h @@ -47,10 +47,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/latincompass/latin6rgb/config.h b/keyboards/latincompass/latin6rgb/config.h index 718d8aa26f63..9beebe0f87d2 100644 --- a/keyboards/latincompass/latin6rgb/config.h +++ b/keyboards/latincompass/latin6rgb/config.h @@ -49,10 +49,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/latincompass/latinpadble/config.h b/keyboards/latincompass/latinpadble/config.h index da89046176d1..fc833a026913 100644 --- a/keyboards/latincompass/latinpadble/config.h +++ b/keyboards/latincompass/latinpadble/config.h @@ -26,10 +26,6 @@ along with this program. If not, see .*/ // #define NO_ACTION_LAYER // #define NO_ACTION_TAPPING // #define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - - /* key matrix size */ #define MATRIX_ROWS 5 diff --git a/keyboards/lattice60/config.h b/keyboards/lattice60/config.h index 1346c73f4799..c1e067287b94 100644 --- a/keyboards/lattice60/config.h +++ b/keyboards/lattice60/config.h @@ -96,7 +96,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/lets_split/rev1/config.h b/keyboards/lets_split/rev1/config.h index 02eee1f3dab7..fc9e348a86c3 100644 --- a/keyboards/lets_split/rev1/config.h +++ b/keyboards/lets_split/rev1/config.h @@ -74,5 +74,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/lets_split/rev2/config.h b/keyboards/lets_split/rev2/config.h index 37353b8b3d10..7d8dff4f2f04 100644 --- a/keyboards/lets_split/rev2/config.h +++ b/keyboards/lets_split/rev2/config.h @@ -74,5 +74,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/lfkeyboards/lfk65_hs/config.h b/keyboards/lfkeyboards/lfk65_hs/config.h index 0adc0b3f5603..18d6bbebe7db 100644 --- a/keyboards/lfkeyboards/lfk65_hs/config.h +++ b/keyboards/lfkeyboards/lfk65_hs/config.h @@ -80,5 +80,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/lfkeyboards/lfk78/config.h b/keyboards/lfkeyboards/lfk78/config.h index fbb02e71ee08..1fab81a645fa 100644 --- a/keyboards/lfkeyboards/lfk78/config.h +++ b/keyboards/lfkeyboards/lfk78/config.h @@ -103,10 +103,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/lfkeyboards/lfk87/config.h b/keyboards/lfkeyboards/lfk87/config.h index 387c58851c57..af0a4b173b88 100644 --- a/keyboards/lfkeyboards/lfk87/config.h +++ b/keyboards/lfkeyboards/lfk87/config.h @@ -111,5 +111,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/lfkeyboards/lfkpad/config.h b/keyboards/lfkeyboards/lfkpad/config.h index 972b0283b5a4..0ddb4b95b675 100644 --- a/keyboards/lfkeyboards/lfkpad/config.h +++ b/keyboards/lfkeyboards/lfkpad/config.h @@ -120,10 +120,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/lfkeyboards/mini1800/config.h b/keyboards/lfkeyboards/mini1800/config.h index 7c81c9f98cf8..e7b0b5112a7d 100644 --- a/keyboards/lfkeyboards/mini1800/config.h +++ b/keyboards/lfkeyboards/mini1800/config.h @@ -98,5 +98,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/lfkeyboards/smk65/revb/config.h b/keyboards/lfkeyboards/smk65/revb/config.h index 924a04fd9efc..ecb183e8af07 100644 --- a/keyboards/lfkeyboards/smk65/revb/config.h +++ b/keyboards/lfkeyboards/smk65/revb/config.h @@ -107,8 +107,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/lfkeyboards/smk65/revf/config.h b/keyboards/lfkeyboards/smk65/revf/config.h index d2cb5226ddfb..1b8295b152dd 100644 --- a/keyboards/lfkeyboards/smk65/revf/config.h +++ b/keyboards/lfkeyboards/smk65/revf/config.h @@ -125,10 +125,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/lily58/config.h b/keyboards/lily58/config.h index 0bdaa1f76e7e..57fc7fa7f972 100644 --- a/keyboards/lily58/config.h +++ b/keyboards/lily58/config.h @@ -25,13 +25,6 @@ along with this program. If not, see . #define SERIAL_USE_MULTI_TRANSACTION #endif -#if !defined(NO_ACTION_MACRO) - #define NO_ACTION_MACRO -#endif -#if !defined(NO_ACTION_FUNCTION) - #define NO_ACTION_FUNCTION -#endif - #define DIODE_DIRECTION COL2ROW // Use the lily version to get the Lily58 logo instead of the qmk logo diff --git a/keyboards/lily58/rev1/config.h b/keyboards/lily58/rev1/config.h index 24dc41151fa7..6bfc7ffa7548 100644 --- a/keyboards/lily58/rev1/config.h +++ b/keyboards/lily58/rev1/config.h @@ -68,5 +68,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/lime/rev1/config.h b/keyboards/lime/rev1/config.h index 55c045dc67bf..547b88176103 100644 --- a/keyboards/lime/rev1/config.h +++ b/keyboards/lime/rev1/config.h @@ -58,8 +58,6 @@ #define USE_SERIAL #define SOFT_SERIAL_PIN D2 -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define SPLIT_USB_DETECT #ifdef WPM_ENABLE diff --git a/keyboards/linworks/fave84h/config.h b/keyboards/linworks/fave84h/config.h index 4127c211fdc1..7df7a9ace071 100644 --- a/keyboards/linworks/fave84h/config.h +++ b/keyboards/linworks/fave84h/config.h @@ -110,6 +110,3 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/linworks/fave87h/config.h b/keyboards/linworks/fave87h/config.h index 64f6fc4cba72..97d9bddba71d 100644 --- a/keyboards/linworks/fave87h/config.h +++ b/keyboards/linworks/fave87h/config.h @@ -98,6 +98,3 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/lizard_trick/tenkey_plusplus/config.h b/keyboards/lizard_trick/tenkey_plusplus/config.h index d1087851cb52..88831948913a 100644 --- a/keyboards/lizard_trick/tenkey_plusplus/config.h +++ b/keyboards/lizard_trick/tenkey_plusplus/config.h @@ -150,10 +150,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/lm_keyboard/lm60n/config.h b/keyboards/lm_keyboard/lm60n/config.h index 3515f4432b35..171fa2fe5b3c 100644 --- a/keyboards/lm_keyboard/lm60n/config.h +++ b/keyboards/lm_keyboard/lm60n/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/lucid/alexa/config.h b/keyboards/lucid/alexa/config.h index a4ac8b62d28d..19b5f4f19a6b 100644 --- a/keyboards/lucid/alexa/config.h +++ b/keyboards/lucid/alexa/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/lucid/kbd8x_hs/config.h b/keyboards/lucid/kbd8x_hs/config.h index a5d47ce73ec7..1e5cff8e7ff0 100644 --- a/keyboards/lucid/kbd8x_hs/config.h +++ b/keyboards/lucid/kbd8x_hs/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/lucid/phantom_hs/config.h b/keyboards/lucid/phantom_hs/config.h index 3e6fe45892d8..b94b345c1602 100644 --- a/keyboards/lucid/phantom_hs/config.h +++ b/keyboards/lucid/phantom_hs/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/lucid/phantom_solder/config.h b/keyboards/lucid/phantom_solder/config.h index af2537d386a6..2c78c4f5ff27 100644 --- a/keyboards/lucid/phantom_solder/config.h +++ b/keyboards/lucid/phantom_solder/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/lucid/scarlet/config.h b/keyboards/lucid/scarlet/config.h index 73c7272922cb..67c2fe7b07f8 100644 --- a/keyboards/lucid/scarlet/config.h +++ b/keyboards/lucid/scarlet/config.h @@ -98,5 +98,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/m10a/config.h b/keyboards/m10a/config.h index 01f9d0d0a3a9..e09942f93a8b 100644 --- a/keyboards/m10a/config.h +++ b/keyboards/m10a/config.h @@ -70,5 +70,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/machine_industries/m4_a/config.h b/keyboards/machine_industries/m4_a/config.h index 1ba3f4f7151e..f27cb8ae5b6e 100644 --- a/keyboards/machine_industries/m4_a/config.h +++ b/keyboards/machine_industries/m4_a/config.h @@ -129,10 +129,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/majistic/config.h b/keyboards/majistic/config.h index 4ced5dd890f1..6e823ae3d64a 100644 --- a/keyboards/majistic/config.h +++ b/keyboards/majistic/config.h @@ -51,7 +51,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/malevolti/lyra/rev1/config.h b/keyboards/malevolti/lyra/rev1/config.h index 4e006c2bdfce..18563f827082 100644 --- a/keyboards/malevolti/lyra/rev1/config.h +++ b/keyboards/malevolti/lyra/rev1/config.h @@ -44,6 +44,3 @@ /* communication between sides */ #define USE_SERIAL #define SOFT_SERIAL_PIN D2 - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/malevolti/superlyra/rev1/config.h b/keyboards/malevolti/superlyra/rev1/config.h index 65c41392fa20..62c005ff9d38 100644 --- a/keyboards/malevolti/superlyra/rev1/config.h +++ b/keyboards/malevolti/superlyra/rev1/config.h @@ -39,6 +39,3 @@ /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/manta60/config.h b/keyboards/manta60/config.h index 8bb63a566e56..7c9a3b5ebedc 100644 --- a/keyboards/manta60/config.h +++ b/keyboards/manta60/config.h @@ -147,10 +147,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/manyboard/macro/config.h b/keyboards/manyboard/macro/config.h index d7a950f2e6a1..63db714e63d5 100644 --- a/keyboards/manyboard/macro/config.h +++ b/keyboards/manyboard/macro/config.h @@ -48,6 +48,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/maple_computing/c39/config.h b/keyboards/maple_computing/c39/config.h index 409023f1fa41..45c503846fa0 100755 --- a/keyboards/maple_computing/c39/config.h +++ b/keyboards/maple_computing/c39/config.h @@ -72,5 +72,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/maple_computing/ivy/config.h b/keyboards/maple_computing/ivy/config.h index 2ccf3b8f6f3b..130f2e0b6150 100644 --- a/keyboards/maple_computing/ivy/config.h +++ b/keyboards/maple_computing/ivy/config.h @@ -62,5 +62,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/maple_computing/launchpad/config.h b/keyboards/maple_computing/launchpad/config.h index 327d67016bf1..901c63c93b44 100644 --- a/keyboards/maple_computing/launchpad/config.h +++ b/keyboards/maple_computing/launchpad/config.h @@ -58,8 +58,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #ifdef SUBPROJECT_rev1 #include "rev1/config.h" diff --git a/keyboards/maple_computing/minidox/config.h b/keyboards/maple_computing/minidox/config.h index 2c71378961bc..613e45977c32 100644 --- a/keyboards/maple_computing/minidox/config.h +++ b/keyboards/maple_computing/minidox/config.h @@ -57,5 +57,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/maple_computing/the_ruler/config.h b/keyboards/maple_computing/the_ruler/config.h index bcb7441140c9..ec9687cc0b6d 100644 --- a/keyboards/maple_computing/the_ruler/config.h +++ b/keyboards/maple_computing/the_ruler/config.h @@ -96,8 +96,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_DI_PIN E6 // The pin your RGB strip is wired to #define RGBLED_NUM 1 // Number of LEDs diff --git a/keyboards/marksard/leftover30/config.h b/keyboards/marksard/leftover30/config.h index 42c6c6287275..5fc1b156a2d6 100644 --- a/keyboards/marksard/leftover30/config.h +++ b/keyboards/marksard/leftover30/config.h @@ -132,7 +132,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/marksard/treadstone48/rev1/config.h b/keyboards/marksard/treadstone48/rev1/config.h index ad9de636d0ec..68d119115671 100644 --- a/keyboards/marksard/treadstone48/rev1/config.h +++ b/keyboards/marksard/treadstone48/rev1/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/marksard/treadstone48/rev2/config.h b/keyboards/marksard/treadstone48/rev2/config.h index 6df1467d8cd8..e0353925be25 100644 --- a/keyboards/marksard/treadstone48/rev2/config.h +++ b/keyboards/marksard/treadstone48/rev2/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/massdrop/alt/config.h b/keyboards/massdrop/alt/config.h index df3cd891b642..2ab9c26d2c20 100644 --- a/keyboards/massdrop/alt/config.h +++ b/keyboards/massdrop/alt/config.h @@ -128,8 +128,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 15 diff --git a/keyboards/massdrop/ctrl/config.h b/keyboards/massdrop/ctrl/config.h index 6c0678c5ed8d..15abcaa67417 100644 --- a/keyboards/massdrop/ctrl/config.h +++ b/keyboards/massdrop/ctrl/config.h @@ -127,8 +127,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 15 diff --git a/keyboards/matchstickworks/southpad/config.h b/keyboards/matchstickworks/southpad/config.h index 247084a862b0..8831599828ba 100644 --- a/keyboards/matchstickworks/southpad/config.h +++ b/keyboards/matchstickworks/southpad/config.h @@ -92,8 +92,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/matthewdias/m3n3van/config.h b/keyboards/matthewdias/m3n3van/config.h index 15f62cecfd5c..cef9d8d70a40 100644 --- a/keyboards/matthewdias/m3n3van/config.h +++ b/keyboards/matthewdias/m3n3van/config.h @@ -59,7 +59,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/matthewdias/minim/config.h b/keyboards/matthewdias/minim/config.h index e13d2b798f47..9f31ba31cfc9 100644 --- a/keyboards/matthewdias/minim/config.h +++ b/keyboards/matthewdias/minim/config.h @@ -57,7 +57,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/matthewdias/model_v/config.h b/keyboards/matthewdias/model_v/config.h index 847599a369c2..d1c5dcd81d5b 100644 --- a/keyboards/matthewdias/model_v/config.h +++ b/keyboards/matthewdias/model_v/config.h @@ -56,7 +56,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/matthewdias/txuu/config.h b/keyboards/matthewdias/txuu/config.h index 202777a965ef..f81c300a13c7 100644 --- a/keyboards/matthewdias/txuu/config.h +++ b/keyboards/matthewdias/txuu/config.h @@ -57,7 +57,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/maxipad/config.h b/keyboards/maxipad/config.h index a45c3e442dae..7a4b00ccada8 100644 --- a/keyboards/maxipad/config.h +++ b/keyboards/maxipad/config.h @@ -53,8 +53,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/maxr1998/pulse4k/config.h b/keyboards/maxr1998/pulse4k/config.h index 75ff88f308fb..4b9c60aac27d 100644 --- a/keyboards/maxr1998/pulse4k/config.h +++ b/keyboards/maxr1998/pulse4k/config.h @@ -70,5 +70,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/mb44/config.h b/keyboards/mb44/config.h index 013efa85704a..daafe52b412e 100644 --- a/keyboards/mb44/config.h +++ b/keyboards/mb44/config.h @@ -53,9 +53,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - diff --git a/keyboards/mc_76k/config.h b/keyboards/mc_76k/config.h index a1d28185f180..cc7ac306f443 100644 --- a/keyboards/mc_76k/config.h +++ b/keyboards/mc_76k/config.h @@ -95,7 +95,3 @@ along with this program. If not, see . * useful if your keyboard/keypad is missing keys and you want magic key support. * */ - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/mechkeys/mk60/config.h b/keyboards/mechkeys/mk60/config.h index a841152f4f8f..680c498ef463 100644 --- a/keyboards/mechkeys/mk60/config.h +++ b/keyboards/mechkeys/mk60/config.h @@ -135,8 +135,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/mechlovin/hannah910/config.h b/keyboards/mechlovin/hannah910/config.h index 7e0b9dd30c0b..cc2ac81bc517 100644 --- a/keyboards/mechlovin/hannah910/config.h +++ b/keyboards/mechlovin/hannah910/config.h @@ -106,8 +106,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/mechlovin/jay60/config.h b/keyboards/mechlovin/jay60/config.h index 0b9770e5e232..521b8ae0dbf2 100644 --- a/keyboards/mechlovin/jay60/config.h +++ b/keyboards/mechlovin/jay60/config.h @@ -138,10 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mechwild/bde/rev2/config.h b/keyboards/mechwild/bde/rev2/config.h index ca14cf784d25..0f290ecc339f 100644 --- a/keyboards/mechwild/bde/rev2/config.h +++ b/keyboards/mechwild/bde/rev2/config.h @@ -68,7 +68,3 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/mechwild/murphpad/config.h b/keyboards/mechwild/murphpad/config.h index 0887025ad843..3995546e8e02 100644 --- a/keyboards/mechwild/murphpad/config.h +++ b/keyboards/mechwild/murphpad/config.h @@ -85,10 +85,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 1 diff --git a/keyboards/mechwild/obe/config.h b/keyboards/mechwild/obe/config.h index 03ff96878755..1b7ed824aad4 100644 --- a/keyboards/mechwild/obe/config.h +++ b/keyboards/mechwild/obe/config.h @@ -140,10 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 5 #define BOOTMAGIC_LITE_COLUMN 4 diff --git a/keyboards/mechwild/waka60/config.h b/keyboards/mechwild/waka60/config.h index 636e13de38e8..e3fc719b8f1a 100644 --- a/keyboards/mechwild/waka60/config.h +++ b/keyboards/mechwild/waka60/config.h @@ -134,10 +134,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/melgeek/mach80/config.h b/keyboards/melgeek/mach80/config.h index 8f8377941fa2..0e98030e25cb 100755 --- a/keyboards/melgeek/mach80/config.h +++ b/keyboards/melgeek/mach80/config.h @@ -32,10 +32,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/melgeek/mj61/config.h b/keyboards/melgeek/mj61/config.h index e3097b9cf7fa..0b5bd9ff4878 100644 --- a/keyboards/melgeek/mj61/config.h +++ b/keyboards/melgeek/mj61/config.h @@ -32,10 +32,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/melgeek/mj63/config.h b/keyboards/melgeek/mj63/config.h index db80371a2b2a..ddd953e1deef 100644 --- a/keyboards/melgeek/mj63/config.h +++ b/keyboards/melgeek/mj63/config.h @@ -32,10 +32,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/melgeek/mj64/config.h b/keyboards/melgeek/mj64/config.h index a249be3feaa9..684c48720b5b 100644 --- a/keyboards/melgeek/mj64/config.h +++ b/keyboards/melgeek/mj64/config.h @@ -32,10 +32,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/melgeek/mj65/config.h b/keyboards/melgeek/mj65/config.h index 70a12d925574..4cf4f3f2330d 100644 --- a/keyboards/melgeek/mj65/config.h +++ b/keyboards/melgeek/mj65/config.h @@ -32,10 +32,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/melgeek/mojo68/config.h b/keyboards/melgeek/mojo68/config.h index 15ea1a58b440..ee441be0e16d 100755 --- a/keyboards/melgeek/mojo68/config.h +++ b/keyboards/melgeek/mojo68/config.h @@ -32,10 +32,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/melgeek/mojo75/config.h b/keyboards/melgeek/mojo75/config.h index 9e2d1080d1fc..2db335dafbbe 100644 --- a/keyboards/melgeek/mojo75/config.h +++ b/keyboards/melgeek/mojo75/config.h @@ -32,10 +32,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/melgeek/z70ultra/config.h b/keyboards/melgeek/z70ultra/config.h index 2df25bf50189..0f294c9e00b2 100644 --- a/keyboards/melgeek/z70ultra/config.h +++ b/keyboards/melgeek/z70ultra/config.h @@ -31,10 +31,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/meme/config.h b/keyboards/meme/config.h index 0757846f5728..58bc794ee81b 100644 --- a/keyboards/meme/config.h +++ b/keyboards/meme/config.h @@ -105,5 +105,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/meow65/config.h b/keyboards/meow65/config.h index 54af798314ec..20f725ee30bf 100644 --- a/keyboards/meow65/config.h +++ b/keyboards/meow65/config.h @@ -138,10 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mesa/mesa_tkl/config.h b/keyboards/mesa/mesa_tkl/config.h index 23da260bcf68..348d95a809f8 100644 --- a/keyboards/mesa/mesa_tkl/config.h +++ b/keyboards/mesa/mesa_tkl/config.h @@ -54,7 +54,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/meson/config.h b/keyboards/meson/config.h index e777320487c5..3abeb479a259 100644 --- a/keyboards/meson/config.h +++ b/keyboards/meson/config.h @@ -109,9 +109,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/mikeneko65/rev3/config.h b/keyboards/mikeneko65/rev3/config.h index dad2532012e0..33415392f863 100644 --- a/keyboards/mikeneko65/rev3/config.h +++ b/keyboards/mikeneko65/rev3/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mikeneko65/rev4/config.h b/keyboards/mikeneko65/rev4/config.h index 2e7efaf8db89..b6b62b880ce5 100644 --- a/keyboards/mikeneko65/rev4/config.h +++ b/keyboards/mikeneko65/rev4/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/miller/gm862/config.h b/keyboards/miller/gm862/config.h index 09429b4d198a..57a832dc0831 100644 --- a/keyboards/miller/gm862/config.h +++ b/keyboards/miller/gm862/config.h @@ -28,10 +28,6 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/millipad/config.h b/keyboards/millipad/config.h index c15d433a4c89..cfc91a2a1611 100644 --- a/keyboards/millipad/config.h +++ b/keyboards/millipad/config.h @@ -77,12 +77,6 @@ along with this program. If not, see . */ #define FORCE_NKRO - - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 @@ -91,4 +85,4 @@ along with this program. If not, see . #define ENCODERS_PAD_A { D3 } #define ENCODERS_PAD_B { D2 } -#define ENCODER_RESOLUTION 4 \ No newline at end of file +#define ENCODER_RESOLUTION 4 diff --git a/keyboards/mini_elixivy/config.h b/keyboards/mini_elixivy/config.h index e0853c025106..863934df6b0f 100644 --- a/keyboards/mini_elixivy/config.h +++ b/keyboards/mini_elixivy/config.h @@ -99,10 +99,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mini_ten_key_plus/config.h b/keyboards/mini_ten_key_plus/config.h index 92ac355fe881..c8a44356f2fe 100644 --- a/keyboards/mini_ten_key_plus/config.h +++ b/keyboards/mini_ten_key_plus/config.h @@ -99,10 +99,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/miniaxe/config.h b/keyboards/miniaxe/config.h index b9295bad9fc3..3c0ddf9074b6 100644 --- a/keyboards/miniaxe/config.h +++ b/keyboards/miniaxe/config.h @@ -122,8 +122,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/mint60/config.h b/keyboards/mint60/config.h index b421349d868e..ee44ae446bf8 100644 --- a/keyboards/mint60/config.h +++ b/keyboards/mint60/config.h @@ -121,5 +121,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/mitosis/config.h b/keyboards/mitosis/config.h index 2c72eed5f2d4..5c2a0b965744 100644 --- a/keyboards/mitosis/config.h +++ b/keyboards/mitosis/config.h @@ -54,5 +54,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/miuni32/config.h b/keyboards/miuni32/config.h index c25dfcaf99d0..cf8b875b2f2b 100644 --- a/keyboards/miuni32/config.h +++ b/keyboards/miuni32/config.h @@ -100,8 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_DI_PIN D0 // The pin your RGB strip is wired to #define RGBLED_NUM 17 // Number of LEDs diff --git a/keyboards/mlego/m48/config.h b/keyboards/mlego/m48/config.h index 6be2373d8f16..d1c4da939729 100644 --- a/keyboards/mlego/m48/config.h +++ b/keyboards/mlego/m48/config.h @@ -31,7 +31,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/mlego/m60/config.h b/keyboards/mlego/m60/config.h index 07698f7539ec..18c36671a98e 100644 --- a/keyboards/mlego/m60/config.h +++ b/keyboards/mlego/m60/config.h @@ -31,7 +31,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/mlego/m60_split/config.h b/keyboards/mlego/m60_split/config.h index 6750d4d40b2a..7c19f9171d79 100644 --- a/keyboards/mlego/m60_split/config.h +++ b/keyboards/mlego/m60_split/config.h @@ -31,7 +31,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/mntre/config.h b/keyboards/mntre/config.h index 9ee3d3f27270..af5f8107411a 100644 --- a/keyboards/mntre/config.h +++ b/keyboards/mntre/config.h @@ -92,10 +92,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mode/m65ha_alpha/config.h b/keyboards/mode/m65ha_alpha/config.h index dc921fb33508..cdeffe6fa3bd 100644 --- a/keyboards/mode/m65ha_alpha/config.h +++ b/keyboards/mode/m65ha_alpha/config.h @@ -69,5 +69,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/mode/m65hi_alpha/config.h b/keyboards/mode/m65hi_alpha/config.h index 1a048e94d2be..daacee56ce66 100644 --- a/keyboards/mode/m65hi_alpha/config.h +++ b/keyboards/mode/m65hi_alpha/config.h @@ -69,5 +69,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/mode/m65s/config.h b/keyboards/mode/m65s/config.h index e2e553bca99b..9cd3bfcb354d 100644 --- a/keyboards/mode/m65s/config.h +++ b/keyboards/mode/m65s/config.h @@ -69,7 +69,5 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define TAP_CODE_DELAY 50 diff --git a/keyboards/mode/m75h/config.h b/keyboards/mode/m75h/config.h index 980ebc5b6600..6618d2bdbd38 100644 --- a/keyboards/mode/m75h/config.h +++ b/keyboards/mode/m75h/config.h @@ -67,8 +67,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define TAP_CODE_DELAY 50 diff --git a/keyboards/mode/m75s/config.h b/keyboards/mode/m75s/config.h index 8ac31b069ea0..9e902a158545 100644 --- a/keyboards/mode/m75s/config.h +++ b/keyboards/mode/m75s/config.h @@ -67,8 +67,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define TAP_CODE_DELAY 50 diff --git a/keyboards/mode/m80v1/config.h b/keyboards/mode/m80v1/config.h index d0c61d11933b..a0d39774e6cc 100644 --- a/keyboards/mode/m80v1/config.h +++ b/keyboards/mode/m80v1/config.h @@ -97,5 +97,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/molecule/config.h b/keyboards/molecule/config.h index e3bc5ad342b8..419554ed2c46 100755 --- a/keyboards/molecule/config.h +++ b/keyboards/molecule/config.h @@ -150,10 +150,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/momoka_ergo/config.h b/keyboards/momoka_ergo/config.h index 3c22e3fc845a..e8fe01f504b7 100644 --- a/keyboards/momoka_ergo/config.h +++ b/keyboards/momoka_ergo/config.h @@ -113,10 +113,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/monarch/config.h b/keyboards/monarch/config.h index 6822b2f789a7..90131c593174 100644 --- a/keyboards/monarch/config.h +++ b/keyboards/monarch/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/moonlander/config.h b/keyboards/moonlander/config.h index d6686425c4f4..bd06c5006d74 100644 --- a/keyboards/moonlander/config.h +++ b/keyboards/moonlander/config.h @@ -77,8 +77,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define DRIVER_ADDR_1 0b1110100 #define DRIVER_ADDR_2 0b1110111 diff --git a/keyboards/morizon/config.h b/keyboards/morizon/config.h index bf9e1b9a3518..4b419283cbf4 100644 --- a/keyboards/morizon/config.h +++ b/keyboards/morizon/config.h @@ -40,7 +40,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/mountainblocks/mb17/config.h b/keyboards/mountainblocks/mb17/config.h index aef58dc5da46..9667d9e55109 100644 --- a/keyboards/mountainblocks/mb17/config.h +++ b/keyboards/mountainblocks/mb17/config.h @@ -90,8 +90,3 @@ along with this program. If not, see . * */ //#define FORCE_NKRO - - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/mschwingen/modelm/config.h b/keyboards/mschwingen/modelm/config.h index 2b42bb38ed76..57ac1c089b78 100644 --- a/keyboards/mschwingen/modelm/config.h +++ b/keyboards/mschwingen/modelm/config.h @@ -57,8 +57,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION //#define DEBUG_MATRIX_SCAN_RATE #define DYNAMIC_MACRO_NO_NESTING diff --git a/keyboards/mt40/config.h b/keyboards/mt40/config.h index a48d758e7f57..6626b24f3ad0 100644 --- a/keyboards/mt40/config.h +++ b/keyboards/mt40/config.h @@ -114,5 +114,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/mtbkeys/mtb60/hotswap/config.h b/keyboards/mtbkeys/mtb60/hotswap/config.h index 6cfc31224388..c235686cc808 100644 --- a/keyboards/mtbkeys/mtb60/hotswap/config.h +++ b/keyboards/mtbkeys/mtb60/hotswap/config.h @@ -70,10 +70,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mtbkeys/mtb60/solder/config.h b/keyboards/mtbkeys/mtb60/solder/config.h index 02037e83df3e..7b0909492d65 100644 --- a/keyboards/mtbkeys/mtb60/solder/config.h +++ b/keyboards/mtbkeys/mtb60/solder/config.h @@ -70,10 +70,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/murcielago/rev1/config.h b/keyboards/murcielago/rev1/config.h index 3f71dbca8d37..2851ae884b8d 100644 --- a/keyboards/murcielago/rev1/config.h +++ b/keyboards/murcielago/rev1/config.h @@ -87,10 +87,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/nacly/splitreus62/config.h b/keyboards/nacly/splitreus62/config.h index d8e67661bd58..51013ee9679b 100644 --- a/keyboards/nacly/splitreus62/config.h +++ b/keyboards/nacly/splitreus62/config.h @@ -72,5 +72,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/nacly/ua62/config.h b/keyboards/nacly/ua62/config.h index 492bba93e8ff..803bddc2945e 100644 --- a/keyboards/nacly/ua62/config.h +++ b/keyboards/nacly/ua62/config.h @@ -137,8 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/nemui/config.h b/keyboards/nemui/config.h index e2c3827a5f91..32b757d610c5 100644 --- a/keyboards/nemui/config.h +++ b/keyboards/nemui/config.h @@ -57,5 +57,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/nibiria/stream15/config.h b/keyboards/nibiria/stream15/config.h index a36ee9146e6f..824357b475ae 100644 --- a/keyboards/nibiria/stream15/config.h +++ b/keyboards/nibiria/stream15/config.h @@ -60,5 +60,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/nightingale_studios/hailey/config.h b/keyboards/nightingale_studios/hailey/config.h index e3eb062c3bd4..f3331b3f1c7f 100644 --- a/keyboards/nightingale_studios/hailey/config.h +++ b/keyboards/nightingale_studios/hailey/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/nightly_boards/alter/rev1/config.h b/keyboards/nightly_boards/alter/rev1/config.h index 4f9bade717e4..f42c49eb5ce2 100644 --- a/keyboards/nightly_boards/alter/rev1/config.h +++ b/keyboards/nightly_boards/alter/rev1/config.h @@ -90,10 +90,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - - - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - diff --git a/keyboards/nightly_boards/n2/config.h b/keyboards/nightly_boards/n2/config.h index 5ffa15f08485..e19b26e76b23 100644 --- a/keyboards/nightly_boards/n2/config.h +++ b/keyboards/nightly_boards/n2/config.h @@ -86,8 +86,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/nightly_boards/n60_s/config.h b/keyboards/nightly_boards/n60_s/config.h index 34656fa134bc..2f50f4927332 100644 --- a/keyboards/nightly_boards/n60_s/config.h +++ b/keyboards/nightly_boards/n60_s/config.h @@ -94,6 +94,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/nightly_boards/n87/config.h b/keyboards/nightly_boards/n87/config.h index 543399e71a0a..0bb8e620462a 100644 --- a/keyboards/nightly_boards/n87/config.h +++ b/keyboards/nightly_boards/n87/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/nightly_boards/n9/config.h b/keyboards/nightly_boards/n9/config.h index b8b29099ca13..153d02c245c5 100644 --- a/keyboards/nightly_boards/n9/config.h +++ b/keyboards/nightly_boards/n9/config.h @@ -86,8 +86,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/nightmare/config.h b/keyboards/nightmare/config.h index 14477ee4de99..ac4fe163e639 100644 --- a/keyboards/nightmare/config.h +++ b/keyboards/nightmare/config.h @@ -136,8 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/novelkeys/novelpad/config.h b/keyboards/novelkeys/novelpad/config.h index a7947220ffa5..2b9663896603 100755 --- a/keyboards/novelkeys/novelpad/config.h +++ b/keyboards/novelkeys/novelpad/config.h @@ -136,8 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/noxary/220/config.h b/keyboards/noxary/220/config.h index 522d1beca855..05fe1be559ee 100644 --- a/keyboards/noxary/220/config.h +++ b/keyboards/noxary/220/config.h @@ -109,8 +109,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/noxary/260/config.h b/keyboards/noxary/260/config.h index 2a9ac07bdb44..29818862da94 100644 --- a/keyboards/noxary/260/config.h +++ b/keyboards/noxary/260/config.h @@ -142,8 +142,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/noxary/268_2/config.h b/keyboards/noxary/268_2/config.h index c8fbdd3bf4e0..b447a37f5742 100644 --- a/keyboards/noxary/268_2/config.h +++ b/keyboards/noxary/268_2/config.h @@ -110,8 +110,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/noxary/280/config.h b/keyboards/noxary/280/config.h index 15de70285972..3147d12528ef 100644 --- a/keyboards/noxary/280/config.h +++ b/keyboards/noxary/280/config.h @@ -109,8 +109,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/noxary/378/config.h b/keyboards/noxary/378/config.h index a159af02fd36..fa08601875c9 100644 --- a/keyboards/noxary/378/config.h +++ b/keyboards/noxary/378/config.h @@ -67,5 +67,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/noxary/valhalla/config.h b/keyboards/noxary/valhalla/config.h index 4e87afecb9a6..abce175dce37 100644 --- a/keyboards/noxary/valhalla/config.h +++ b/keyboards/noxary/valhalla/config.h @@ -67,5 +67,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/noxary/vulcan/config.h b/keyboards/noxary/vulcan/config.h index 6281cb07d1c7..e478071110a0 100644 --- a/keyboards/noxary/vulcan/config.h +++ b/keyboards/noxary/vulcan/config.h @@ -99,8 +99,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/noxary/x268/config.h b/keyboards/noxary/x268/config.h index 5f33c18e812f..3c4965a6ccd5 100644 --- a/keyboards/noxary/x268/config.h +++ b/keyboards/noxary/x268/config.h @@ -117,8 +117,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/numatreus/config.h b/keyboards/numatreus/config.h index c22c67ed8c29..b2c147fcc172 100644 --- a/keyboards/numatreus/config.h +++ b/keyboards/numatreus/config.h @@ -95,5 +95,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/oddball/config.h b/keyboards/oddball/config.h index 4bc9c7997c2c..cfb134c4e35e 100644 --- a/keyboards/oddball/config.h +++ b/keyboards/oddball/config.h @@ -45,10 +45,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* optical sensor settings */ #define SCROLL_DIVIDER 12 #define CPI_1 2000 diff --git a/keyboards/orthodox/rev1/config.h b/keyboards/orthodox/rev1/config.h index 1dadae388d25..db45e2d75dd4 100644 --- a/keyboards/orthodox/rev1/config.h +++ b/keyboards/orthodox/rev1/config.h @@ -87,5 +87,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/orthodox/rev3/config.h b/keyboards/orthodox/rev3/config.h index ae51281647a8..678a3603f117 100644 --- a/keyboards/orthodox/rev3/config.h +++ b/keyboards/orthodox/rev3/config.h @@ -91,5 +91,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/orthodox/rev3_teensy/config.h b/keyboards/orthodox/rev3_teensy/config.h index a35c276d9502..d21d50e57913 100644 --- a/keyboards/orthodox/rev3_teensy/config.h +++ b/keyboards/orthodox/rev3_teensy/config.h @@ -85,5 +85,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/paprikman/albacore/config.h b/keyboards/paprikman/albacore/config.h index 3fa81b160faf..37a211726e5a 100644 --- a/keyboards/paprikman/albacore/config.h +++ b/keyboards/paprikman/albacore/config.h @@ -71,10 +71,6 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Set lower left modifier key as a bootmagic key */ #define BOOTMAGIC_LITE_ROW 1 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/parallel/parallel_65/hotswap/config.h b/keyboards/parallel/parallel_65/hotswap/config.h index 26734936edba..ae730c3c9f58 100644 --- a/keyboards/parallel/parallel_65/hotswap/config.h +++ b/keyboards/parallel/parallel_65/hotswap/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/parallel/parallel_65/soldered/config.h b/keyboards/parallel/parallel_65/soldered/config.h index a5eace0be291..2ff2492ad48a 100644 --- a/keyboards/parallel/parallel_65/soldered/config.h +++ b/keyboards/parallel/parallel_65/soldered/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/pdxkbc/config.h b/keyboards/pdxkbc/config.h index dad039633010..ce6c79bc3250 100644 --- a/keyboards/pdxkbc/config.h +++ b/keyboards/pdxkbc/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/pearl/config.h b/keyboards/pearl/config.h index 09e0c8e1e414..2e9a2faf1db1 100644 --- a/keyboards/pearl/config.h +++ b/keyboards/pearl/config.h @@ -44,6 +44,3 @@ along with this program. If not, see . #define DIODE_DIRECTION COL2ROW #define DEBOUNCE 5 - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/peranekofactory/tone/rev1/config.h b/keyboards/peranekofactory/tone/rev1/config.h index 54a59ed5515c..38bfd6259c38 100644 --- a/keyboards/peranekofactory/tone/rev1/config.h +++ b/keyboards/peranekofactory/tone/rev1/config.h @@ -150,10 +150,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/peranekofactory/tone/rev2/config.h b/keyboards/peranekofactory/tone/rev2/config.h index 54a59ed5515c..38bfd6259c38 100644 --- a/keyboards/peranekofactory/tone/rev2/config.h +++ b/keyboards/peranekofactory/tone/rev2/config.h @@ -150,10 +150,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/phantom/config.h b/keyboards/phantom/config.h index a948987d18c5..b30adef9dd31 100644 --- a/keyboards/phantom/config.h +++ b/keyboards/phantom/config.h @@ -135,10 +135,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/pico/65keys/config.h b/keyboards/pico/65keys/config.h index 981418263fa8..e0cc6ea5668c 100644 --- a/keyboards/pico/65keys/config.h +++ b/keyboards/pico/65keys/config.h @@ -80,8 +80,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 diff --git a/keyboards/pico/70keys/config.h b/keyboards/pico/70keys/config.h index 2d94f4d5f7a1..b2d07c969154 100644 --- a/keyboards/pico/70keys/config.h +++ b/keyboards/pico/70keys/config.h @@ -80,8 +80,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 diff --git a/keyboards/pinky/3/config.h b/keyboards/pinky/3/config.h index c8d576388c9f..78192bc19e51 100644 --- a/keyboards/pinky/3/config.h +++ b/keyboards/pinky/3/config.h @@ -107,8 +107,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/pinky/4/config.h b/keyboards/pinky/4/config.h index d0d46f1926ce..f5a90240456e 100644 --- a/keyboards/pinky/4/config.h +++ b/keyboards/pinky/4/config.h @@ -107,8 +107,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/pisces/config.h b/keyboards/pisces/config.h index 7c6c65f24745..163edb8727a3 100644 --- a/keyboards/pisces/config.h +++ b/keyboards/pisces/config.h @@ -64,7 +64,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/pizzakeyboards/pizza65/config.h b/keyboards/pizzakeyboards/pizza65/config.h index 039fc6826379..505a5736308c 100644 --- a/keyboards/pizzakeyboards/pizza65/config.h +++ b/keyboards/pizzakeyboards/pizza65/config.h @@ -49,10 +49,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/planck/config.h b/keyboards/planck/config.h index a86359327a6f..8fb9dda32a1e 100644 --- a/keyboards/planck/config.h +++ b/keyboards/planck/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h index 537c2150968a..d948fb5808e3 100644 --- a/keyboards/planck/ez/config.h +++ b/keyboards/planck/ez/config.h @@ -106,8 +106,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // #define WS2812_LED_N 2 // #define RGBLED_NUM WS2812_LED_N diff --git a/keyboards/planck/rev6/config.h b/keyboards/planck/rev6/config.h index aa70d46a8e69..778fa12fcc41 100644 --- a/keyboards/planck/rev6/config.h +++ b/keyboards/planck/rev6/config.h @@ -102,9 +102,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - /* * WS2812 Underglow Matrix options diff --git a/keyboards/planck/rev6_drop/config.h b/keyboards/planck/rev6_drop/config.h index c1baa34b721e..f41d46b889bd 100644 --- a/keyboards/planck/rev6_drop/config.h +++ b/keyboards/planck/rev6_drop/config.h @@ -109,8 +109,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* * WS2812 Underglow Matrix options diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h index df1ea1297b36..98fc81bb05e5 100644 --- a/keyboards/ploopyco/mouse/config.h +++ b/keyboards/ploopyco/mouse/config.h @@ -63,8 +63,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ploopyco/trackball/config.h b/keyboards/ploopyco/trackball/config.h index 4275e9d11982..dd068e4838ff 100644 --- a/keyboards/ploopyco/trackball/config.h +++ b/keyboards/ploopyco/trackball/config.h @@ -41,8 +41,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/ploopyco/trackball_mini/config.h b/keyboards/ploopyco/trackball_mini/config.h index 731e6fbc9732..9c53f1f501a8 100644 --- a/keyboards/ploopyco/trackball_mini/config.h +++ b/keyboards/ploopyco/trackball_mini/config.h @@ -42,8 +42,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/ploopyco/trackball_nano/config.h b/keyboards/ploopyco/trackball_nano/config.h index 98a2c662fa9e..985ddc09ba35 100644 --- a/keyboards/ploopyco/trackball_nano/config.h +++ b/keyboards/ploopyco/trackball_nano/config.h @@ -38,8 +38,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION #define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/pluckey/config.h b/keyboards/pluckey/config.h index 295fe93a8536..f98318437b65 100644 --- a/keyboards/pluckey/config.h +++ b/keyboards/pluckey/config.h @@ -81,10 +81,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/plume/plume65/config.h b/keyboards/plume/plume65/config.h index 5035ee1ead57..b7d91e102369 100644 --- a/keyboards/plume/plume65/config.h +++ b/keyboards/plume/plume65/config.h @@ -126,8 +126,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/plut0nium/0x3e/config.h b/keyboards/plut0nium/0x3e/config.h index f61d22228f4a..055fe63ce7f6 100644 --- a/keyboards/plut0nium/0x3e/config.h +++ b/keyboards/plut0nium/0x3e/config.h @@ -105,10 +105,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/pohjolaworks/louhi/config.h b/keyboards/pohjolaworks/louhi/config.h index c790ddfbb2fd..b9cbde16d3f9 100644 --- a/keyboards/pohjolaworks/louhi/config.h +++ b/keyboards/pohjolaworks/louhi/config.h @@ -141,10 +141,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/polilla/rev1/config.h b/keyboards/polilla/rev1/config.h index 5f0f10d355d2..b48e99e6d57e 100644 --- a/keyboards/polilla/rev1/config.h +++ b/keyboards/polilla/rev1/config.h @@ -73,10 +73,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/portal_66/hotswap/config.h b/keyboards/portal_66/hotswap/config.h index db4c59bd44f0..96ea091a20b2 100644 --- a/keyboards/portal_66/hotswap/config.h +++ b/keyboards/portal_66/hotswap/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/portal_66/soldered/config.h b/keyboards/portal_66/soldered/config.h index 3a3efc80b5fd..f5e0d734c405 100644 --- a/keyboards/portal_66/soldered/config.h +++ b/keyboards/portal_66/soldered/config.h @@ -100,10 +100,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/pos78/config.h b/keyboards/pos78/config.h index c070d1358d16..81449c844f28 100644 --- a/keyboards/pos78/config.h +++ b/keyboards/pos78/config.h @@ -106,10 +106,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/preonic/config.h b/keyboards/preonic/config.h index 8f72de909430..6bcfa26380fe 100644 --- a/keyboards/preonic/config.h +++ b/keyboards/preonic/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h index f2c4b3c3d8cf..efa32d5916bf 100644 --- a/keyboards/preonic/rev3/config.h +++ b/keyboards/preonic/rev3/config.h @@ -89,8 +89,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* * WS2812 Underglow Matrix options diff --git a/keyboards/preonic/rev3_drop/config.h b/keyboards/preonic/rev3_drop/config.h index 1a0605e73903..813675eb8461 100644 --- a/keyboards/preonic/rev3_drop/config.h +++ b/keyboards/preonic/rev3_drop/config.h @@ -91,8 +91,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* * WS2812 Underglow Matrix options diff --git a/keyboards/program_yoink/config.h b/keyboards/program_yoink/config.h index 8ff859913acd..156044d24a1d 100644 --- a/keyboards/program_yoink/config.h +++ b/keyboards/program_yoink/config.h @@ -94,7 +94,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/projectcain/vault35/config.h b/keyboards/projectcain/vault35/config.h index d88863e5b5b2..1490b0ba4e91 100644 --- a/keyboards/projectcain/vault35/config.h +++ b/keyboards/projectcain/vault35/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/projectcain/vault45/config.h b/keyboards/projectcain/vault45/config.h index 6accb223a444..e531c7f5307f 100644 --- a/keyboards/projectcain/vault45/config.h +++ b/keyboards/projectcain/vault45/config.h @@ -147,10 +147,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/projectkb/alice/rev1/config.h b/keyboards/projectkb/alice/rev1/config.h index 05180c756f8e..498c1f937094 100644 --- a/keyboards/projectkb/alice/rev1/config.h +++ b/keyboards/projectkb/alice/rev1/config.h @@ -81,5 +81,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/projectkb/alice/rev2/config.h b/keyboards/projectkb/alice/rev2/config.h index 0b017936c58c..21742ac7b810 100644 --- a/keyboards/projectkb/alice/rev2/config.h +++ b/keyboards/projectkb/alice/rev2/config.h @@ -82,5 +82,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/prototypist/allison/config.h b/keyboards/prototypist/allison/config.h index 85cb6ee9f5df..89a24768deb4 100644 --- a/keyboards/prototypist/allison/config.h +++ b/keyboards/prototypist/allison/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/prototypist/allison_numpad/config.h b/keyboards/prototypist/allison_numpad/config.h index 581926c24c14..59fb02d9a5f4 100644 --- a/keyboards/prototypist/allison_numpad/config.h +++ b/keyboards/prototypist/allison_numpad/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/psuieee/pluto12/config.h b/keyboards/psuieee/pluto12/config.h index b59bd05afe1c..49466f7b4aa1 100644 --- a/keyboards/psuieee/pluto12/config.h +++ b/keyboards/psuieee/pluto12/config.h @@ -36,7 +36,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/pteron36/config.h b/keyboards/pteron36/config.h index d6f31514e60b..793dc8e5ed67 100644 --- a/keyboards/pteron36/config.h +++ b/keyboards/pteron36/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 @@ -164,4 +160,4 @@ along with this program. If not, see . //RGB Underglow #define RGB_DI_PIN B6 -#define RGBLED_NUM 10 \ No newline at end of file +#define RGBLED_NUM 10 diff --git a/keyboards/punk75/config.h b/keyboards/punk75/config.h index 76d620b2223e..61950da9468a 100644 --- a/keyboards/punk75/config.h +++ b/keyboards/punk75/config.h @@ -66,7 +66,3 @@ along with this program. If not, see . * This is userful for the Windows task manager shortcut (ctrl+shift+esc). */ // #define GRAVE_ESC_CTRL_OVERRIDE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/qpockets/wanten/config.h b/keyboards/qpockets/wanten/config.h index ed6294f73fae..18a91c1dfdc0 100644 --- a/keyboards/qpockets/wanten/config.h +++ b/keyboards/qpockets/wanten/config.h @@ -152,10 +152,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/quad_h/lb75/config.h b/keyboards/quad_h/lb75/config.h index e752dfcdd531..36cb275a97b6 100644 --- a/keyboards/quad_h/lb75/config.h +++ b/keyboards/quad_h/lb75/config.h @@ -134,8 +134,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/quantrik/kyuu/config.h b/keyboards/quantrik/kyuu/config.h index a2fc756fba50..772e404ad015 100644 --- a/keyboards/quantrik/kyuu/config.h +++ b/keyboards/quantrik/kyuu/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/qwertyydox/config.h b/keyboards/qwertyydox/config.h index 4cd214e2228e..4ca8fed1927d 100644 --- a/keyboards/qwertyydox/config.h +++ b/keyboards/qwertyydox/config.h @@ -144,8 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/rabbit/rabbit68/config.h b/keyboards/rabbit/rabbit68/config.h index bae66808ace4..9ebd5e55ae4f 100644 --- a/keyboards/rabbit/rabbit68/config.h +++ b/keyboards/rabbit/rabbit68/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ramonimbao/aelith/config.h b/keyboards/ramonimbao/aelith/config.h index 0c4c2285d5b9..a2911dac4f04 100644 --- a/keyboards/ramonimbao/aelith/config.h +++ b/keyboards/ramonimbao/aelith/config.h @@ -99,7 +99,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/ramonimbao/chevron/config.h b/keyboards/ramonimbao/chevron/config.h index ec52ee59541d..9deeff385647 100644 --- a/keyboards/ramonimbao/chevron/config.h +++ b/keyboards/ramonimbao/chevron/config.h @@ -133,10 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ramonimbao/herringbone/pro/config.h b/keyboards/ramonimbao/herringbone/pro/config.h index 4aab52fcb5dc..f78665a8806f 100644 --- a/keyboards/ramonimbao/herringbone/pro/config.h +++ b/keyboards/ramonimbao/herringbone/pro/config.h @@ -108,10 +108,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ramonimbao/herringbone/v1/config.h b/keyboards/ramonimbao/herringbone/v1/config.h index 9944cfbd1948..7f37bcc8b20c 100644 --- a/keyboards/ramonimbao/herringbone/v1/config.h +++ b/keyboards/ramonimbao/herringbone/v1/config.h @@ -136,10 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ramonimbao/mona/v1/config.h b/keyboards/ramonimbao/mona/v1/config.h index 81ddb806e802..5ee7ca3e33c3 100644 --- a/keyboards/ramonimbao/mona/v1/config.h +++ b/keyboards/ramonimbao/mona/v1/config.h @@ -57,7 +57,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/ramonimbao/mona/v1_1/config.h b/keyboards/ramonimbao/mona/v1_1/config.h index de657cd8e6d4..ce9c01139ef6 100644 --- a/keyboards/ramonimbao/mona/v1_1/config.h +++ b/keyboards/ramonimbao/mona/v1_1/config.h @@ -55,8 +55,3 @@ along with this program. If not, see . /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST - - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/ramonimbao/mona/v32a/config.h b/keyboards/ramonimbao/mona/v32a/config.h index 9cd47cd02467..fdd80e59aa4a 100644 --- a/keyboards/ramonimbao/mona/v32a/config.h +++ b/keyboards/ramonimbao/mona/v32a/config.h @@ -55,8 +55,3 @@ along with this program. If not, see . /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST - - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/ramonimbao/squishy65/config.h b/keyboards/ramonimbao/squishy65/config.h index 9aa3c8d82dfe..1f2bfd7e665b 100644 --- a/keyboards/ramonimbao/squishy65/config.h +++ b/keyboards/ramonimbao/squishy65/config.h @@ -64,5 +64,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ramonimbao/squishyfrl/config.h b/keyboards/ramonimbao/squishyfrl/config.h index 0c1d417b8113..9a5094877166 100644 --- a/keyboards/ramonimbao/squishyfrl/config.h +++ b/keyboards/ramonimbao/squishyfrl/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ramonimbao/squishytkl/config.h b/keyboards/ramonimbao/squishytkl/config.h index ebebc35bb4b1..0ee0bc950955 100644 --- a/keyboards/ramonimbao/squishytkl/config.h +++ b/keyboards/ramonimbao/squishytkl/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ramonimbao/tkl_ff/config.h b/keyboards/ramonimbao/tkl_ff/config.h index ec73601f84c9..d0b3ee75ffa4 100644 --- a/keyboards/ramonimbao/tkl_ff/config.h +++ b/keyboards/ramonimbao/tkl_ff/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ramonimbao/wete/v1/config.h b/keyboards/ramonimbao/wete/v1/config.h index 3d89550090a2..ae9ffc6d97f0 100644 --- a/keyboards/ramonimbao/wete/v1/config.h +++ b/keyboards/ramonimbao/wete/v1/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ramonimbao/wete/v2/config.h b/keyboards/ramonimbao/wete/v2/config.h index 00cc6593d36d..d66fe09ad3cb 100644 --- a/keyboards/ramonimbao/wete/v2/config.h +++ b/keyboards/ramonimbao/wete/v2/config.h @@ -150,10 +150,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/rart/rartlice/config.h b/keyboards/rart/rartlice/config.h index fc6fbaa117af..cf02cfedb668 100644 --- a/keyboards/rart/rartlice/config.h +++ b/keyboards/rart/rartlice/config.h @@ -68,5 +68,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/rate/pistachio/rev1/config.h b/keyboards/rate/pistachio/rev1/config.h index 24f121ef1713..efffd3c9e297 100644 --- a/keyboards/rate/pistachio/rev1/config.h +++ b/keyboards/rate/pistachio/rev1/config.h @@ -61,7 +61,3 @@ along with this program. If not, see . /* nKey Rollover */ #define FORCE_NKRO - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/rate/pistachio/rev2/config.h b/keyboards/rate/pistachio/rev2/config.h index d0de2985425e..5363f76df4f4 100644 --- a/keyboards/rate/pistachio/rev2/config.h +++ b/keyboards/rate/pistachio/rev2/config.h @@ -65,7 +65,3 @@ along with this program. If not, see . /* nKey Rollover */ #define FORCE_NKRO - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/rate/pistachio_mp/config.h b/keyboards/rate/pistachio_mp/config.h index 4da866bb7d29..09b067c8ee0a 100644 --- a/keyboards/rate/pistachio_mp/config.h +++ b/keyboards/rate/pistachio_mp/config.h @@ -72,7 +72,3 @@ along with this program. If not, see . /* nKey Rollover */ #define FORCE_NKRO - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/rate/pistachio_pro/config.h b/keyboards/rate/pistachio_pro/config.h index f268967f6e5f..d140aa54071b 100644 --- a/keyboards/rate/pistachio_pro/config.h +++ b/keyboards/rate/pistachio_pro/config.h @@ -86,10 +86,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/recompile_keys/mio/config.h b/keyboards/recompile_keys/mio/config.h index 7eab9ea590f2..0c4438e53e03 100644 --- a/keyboards/recompile_keys/mio/config.h +++ b/keyboards/recompile_keys/mio/config.h @@ -58,10 +58,6 @@ along with this program. If not, see . # define RGBLIGHT_ANIMATIONS #endif -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/recompile_keys/nomu30/rev2/config.h b/keyboards/recompile_keys/nomu30/rev2/config.h index de9b37ec26c4..49d80a716265 100644 --- a/keyboards/recompile_keys/nomu30/rev2/config.h +++ b/keyboards/recompile_keys/nomu30/rev2/config.h @@ -41,7 +41,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/redox/rev1/config.h b/keyboards/redox/rev1/config.h index c9863fdcb6de..95c4e3cbbf8c 100644 --- a/keyboards/redox/rev1/config.h +++ b/keyboards/redox/rev1/config.h @@ -78,5 +78,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/redox/rev1/proton_c/config.h b/keyboards/redox/rev1/proton_c/config.h index 4ec4a975a41e..eec50ab87996 100644 --- a/keyboards/redox/rev1/proton_c/config.h +++ b/keyboards/redox/rev1/proton_c/config.h @@ -62,5 +62,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/redox_w/config.h b/keyboards/redox_w/config.h index c4aeb32d5857..4fe2447b06f5 100644 --- a/keyboards/redox_w/config.h +++ b/keyboards/redox_w/config.h @@ -53,5 +53,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/redscarf_iiplus/verb/config.h b/keyboards/redscarf_iiplus/verb/config.h index c313b90a325a..daf1bc88239e 100755 --- a/keyboards/redscarf_iiplus/verb/config.h +++ b/keyboards/redscarf_iiplus/verb/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/redscarf_iiplus/verc/config.h b/keyboards/redscarf_iiplus/verc/config.h index c313b90a325a..daf1bc88239e 100755 --- a/keyboards/redscarf_iiplus/verc/config.h +++ b/keyboards/redscarf_iiplus/verc/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/redscarf_iiplus/verd/config.h b/keyboards/redscarf_iiplus/verd/config.h index 94b0e88539e9..d0ab1abe3313 100644 --- a/keyboards/redscarf_iiplus/verd/config.h +++ b/keyboards/redscarf_iiplus/verd/config.h @@ -142,8 +142,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/retro_75/config.h b/keyboards/retro_75/config.h index 6ab89d7617e4..5d8c26450d89 100644 --- a/keyboards/retro_75/config.h +++ b/keyboards/retro_75/config.h @@ -136,8 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/reversestudio/decadepad/config.h b/keyboards/reversestudio/decadepad/config.h index 383a539d787b..f4bbdfda11e9 100644 --- a/keyboards/reversestudio/decadepad/config.h +++ b/keyboards/reversestudio/decadepad/config.h @@ -79,5 +79,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/reviung/reviung33/config.h b/keyboards/reviung/reviung33/config.h index b65d1d7c3942..f113de6d1198 100644 --- a/keyboards/reviung/reviung33/config.h +++ b/keyboards/reviung/reviung33/config.h @@ -128,10 +128,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/reviung/reviung34/config.h b/keyboards/reviung/reviung34/config.h index 0847678e86af..254ea550afaa 100755 --- a/keyboards/reviung/reviung34/config.h +++ b/keyboards/reviung/reviung34/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/reviung/reviung39/config.h b/keyboards/reviung/reviung39/config.h index 098497bc9f46..1377cecd3fe8 100644 --- a/keyboards/reviung/reviung39/config.h +++ b/keyboards/reviung/reviung39/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/reviung/reviung41/config.h b/keyboards/reviung/reviung41/config.h index 967ca791d585..afa83220c76e 100644 --- a/keyboards/reviung/reviung41/config.h +++ b/keyboards/reviung/reviung41/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/reviung/reviung5/config.h b/keyboards/reviung/reviung5/config.h index b06c5797fdbd..38b88c07a8b7 100644 --- a/keyboards/reviung/reviung5/config.h +++ b/keyboards/reviung/reviung5/config.h @@ -136,10 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/reviung/reviung53/config.h b/keyboards/reviung/reviung53/config.h index d73e6eab8a77..f874297d77f7 100644 --- a/keyboards/reviung/reviung53/config.h +++ b/keyboards/reviung/reviung53/config.h @@ -129,10 +129,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/reviung/reviung61/config.h b/keyboards/reviung/reviung61/config.h index 26588d8688fa..0d10c983c950 100644 --- a/keyboards/reviung/reviung61/config.h +++ b/keyboards/reviung/reviung61/config.h @@ -57,7 +57,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/rgbkb/sol/config.h b/keyboards/rgbkb/sol/config.h index e81389454920..50cb5b82b718 100644 --- a/keyboards/rgbkb/sol/config.h +++ b/keyboards/rgbkb/sol/config.h @@ -130,5 +130,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/rgbkb/zen/rev1/config.h b/keyboards/rgbkb/zen/rev1/config.h index 649a3800559a..d41ffa477d87 100644 --- a/keyboards/rgbkb/zen/rev1/config.h +++ b/keyboards/rgbkb/zen/rev1/config.h @@ -69,5 +69,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/rgbkb/zen/rev2/config.h b/keyboards/rgbkb/zen/rev2/config.h index 859d115ea574..e37bd7a1689e 100644 --- a/keyboards/rgbkb/zen/rev2/config.h +++ b/keyboards/rgbkb/zen/rev2/config.h @@ -79,5 +79,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/rgbkb/zygomorph/rev1/config.h b/keyboards/rgbkb/zygomorph/rev1/config.h index 190a8bbe3e91..19fd28d2ecef 100644 --- a/keyboards/rgbkb/zygomorph/rev1/config.h +++ b/keyboards/rgbkb/zygomorph/rev1/config.h @@ -99,5 +99,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/rocketboard_16/config.h b/keyboards/rocketboard_16/config.h index cd99fcc73bc2..d06895f70939 100644 --- a/keyboards/rocketboard_16/config.h +++ b/keyboards/rocketboard_16/config.h @@ -79,5 +79,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/rominronin/katana60/rev1/config.h b/keyboards/rominronin/katana60/rev1/config.h index fe10d1a533d7..fea2d7d643d5 100644 --- a/keyboards/rominronin/katana60/rev1/config.h +++ b/keyboards/rominronin/katana60/rev1/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/rominronin/katana60/rev2/config.h b/keyboards/rominronin/katana60/rev2/config.h index 7eff68a7f492..24984c817998 100644 --- a/keyboards/rominronin/katana60/rev2/config.h +++ b/keyboards/rominronin/katana60/rev2/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/roseslite/config.h b/keyboards/roseslite/config.h index 48e251e96d4a..44f415b37969 100644 --- a/keyboards/roseslite/config.h +++ b/keyboards/roseslite/config.h @@ -127,5 +127,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/rubi/config.h b/keyboards/rubi/config.h index 5b6b1c4531ad..25c7aa5be714 100644 --- a/keyboards/rubi/config.h +++ b/keyboards/rubi/config.h @@ -58,8 +58,4 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define OLED_FONT_H "lib/glcdfont.c" diff --git a/keyboards/runes/vaengr/config.h b/keyboards/runes/vaengr/config.h index 22b38760c454..67ba4ca0fe7a 100644 --- a/keyboards/runes/vaengr/config.h +++ b/keyboards/runes/vaengr/config.h @@ -138,10 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ryanbaekr/rb69/config.h b/keyboards/ryanbaekr/rb69/config.h index 2112eda1a74f..0464befc5fbc 100644 --- a/keyboards/ryanbaekr/rb69/config.h +++ b/keyboards/ryanbaekr/rb69/config.h @@ -112,7 +112,3 @@ along with this program. If not, see . * */ //#define FORCE_NKRO - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/ryanbaekr/rb86/config.h b/keyboards/ryanbaekr/rb86/config.h index ec93c2b3c577..fd076dd706d8 100644 --- a/keyboards/ryanbaekr/rb86/config.h +++ b/keyboards/ryanbaekr/rb86/config.h @@ -90,7 +90,3 @@ along with this program. If not, see . * */ //#define FORCE_NKRO - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/sandwich/keeb68/config.h b/keyboards/sandwich/keeb68/config.h index 7dddf54d763c..9395d8ef1a1b 100644 --- a/keyboards/sandwich/keeb68/config.h +++ b/keyboards/sandwich/keeb68/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/satt/comet46/config.h b/keyboards/satt/comet46/config.h index 5ea40c14c592..d75294dc1335 100644 --- a/keyboards/satt/comet46/config.h +++ b/keyboards/satt/comet46/config.h @@ -54,8 +54,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // Define masks for modifiers #define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) diff --git a/keyboards/satt/vision/config.h b/keyboards/satt/vision/config.h index 62a7244aa4ab..2db8fa8b2961 100644 --- a/keyboards/satt/vision/config.h +++ b/keyboards/satt/vision/config.h @@ -58,5 +58,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/scatter42/config.h b/keyboards/scatter42/config.h index 3bca175cc5b1..ca7ce70ff396 100644 --- a/keyboards/scatter42/config.h +++ b/keyboards/scatter42/config.h @@ -138,10 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/sck/m0116b/config.h b/keyboards/sck/m0116b/config.h index b01ea2d2ef7d..b008ff1b2470 100644 --- a/keyboards/sck/m0116b/config.h +++ b/keyboards/sck/m0116b/config.h @@ -136,8 +136,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/sck/neiso/config.h b/keyboards/sck/neiso/config.h index ccf4da9f1018..9ff392ec2500 100644 --- a/keyboards/sck/neiso/config.h +++ b/keyboards/sck/neiso/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/sck/osa/config.h b/keyboards/sck/osa/config.h index 957652f286cd..6e3d617e9a94 100644 --- a/keyboards/sck/osa/config.h +++ b/keyboards/sck/osa/config.h @@ -142,8 +142,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/sekigon/grs_70ec/config.h b/keyboards/sekigon/grs_70ec/config.h index b1559fcc2f6c..2eb52658e58b 100644 --- a/keyboards/sekigon/grs_70ec/config.h +++ b/keyboards/sekigon/grs_70ec/config.h @@ -145,10 +145,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/senselessclay/ck60/config.h b/keyboards/senselessclay/ck60/config.h index f826ad9ad72b..dc2cb68c79dd 100644 --- a/keyboards/senselessclay/ck60/config.h +++ b/keyboards/senselessclay/ck60/config.h @@ -74,7 +74,3 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE # define ENABLE_RGB_MATRIX_MULTISPLASH # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/senselessclay/ck65/config.h b/keyboards/senselessclay/ck65/config.h index 772b2e410a2a..f23560f164c2 100644 --- a/keyboards/senselessclay/ck65/config.h +++ b/keyboards/senselessclay/ck65/config.h @@ -102,10 +102,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 @@ -116,4 +112,4 @@ along with this program. If not, see . #define RGBLIGHT_ANIMATIONS #define RGBLIGHT_LIMIT_VAL 122 #define RGBLIGHT_SLEEP -#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+5 \ No newline at end of file +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+5 diff --git a/keyboards/senselessclay/gos65/config.h b/keyboards/senselessclay/gos65/config.h index e910f5a15d05..5656d77ea5d1 100644 --- a/keyboards/senselessclay/gos65/config.h +++ b/keyboards/senselessclay/gos65/config.h @@ -107,10 +107,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 @@ -120,4 +116,4 @@ along with this program. If not, see . #define RGBLED_NUM 68 #define RGBLIGHT_ANIMATIONS #define RGBLIGHT_LIMIT_VAL 125 -#define RGBLIGHT_SLEEP \ No newline at end of file +#define RGBLIGHT_SLEEP diff --git a/keyboards/senselessclay/had60/config.h b/keyboards/senselessclay/had60/config.h index a410ee91d508..60a4b23d021f 100644 --- a/keyboards/senselessclay/had60/config.h +++ b/keyboards/senselessclay/had60/config.h @@ -105,10 +105,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/sentraq/s60_x/default/config.h b/keyboards/sentraq/s60_x/default/config.h index 355adc692117..3f08499531fa 100644 --- a/keyboards/sentraq/s60_x/default/config.h +++ b/keyboards/sentraq/s60_x/default/config.h @@ -41,5 +41,3 @@ #define LOCKING_RESYNC_ENABLE #define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/shapeshifter4060/config.h b/keyboards/shapeshifter4060/config.h index c8953821a791..ee84318f3d4b 100644 --- a/keyboards/shapeshifter4060/config.h +++ b/keyboards/shapeshifter4060/config.h @@ -67,5 +67,3 @@ along with this program. If not, see . // #define NO_ACTION_LAYER // #define NO_ACTION_TAPPING // #define NO_ACTION_ONESHOT -// #define NO_ACTION_MACRO -// #define NO_ACTION_FUNCTION diff --git a/keyboards/shiro/config.h b/keyboards/shiro/config.h index 52c0f361fda4..0e7ac54f97ec 100644 --- a/keyboards/shiro/config.h +++ b/keyboards/shiro/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/shk9/config.h b/keyboards/shk9/config.h index a8ddd3f870be..059515c77660 100644 --- a/keyboards/shk9/config.h +++ b/keyboards/shk9/config.h @@ -45,7 +45,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/sidderskb/majbritt/rev2/config.h b/keyboards/sidderskb/majbritt/rev2/config.h index 06049727cb73..6bee0fa6bf65 100644 --- a/keyboards/sidderskb/majbritt/rev2/config.h +++ b/keyboards/sidderskb/majbritt/rev2/config.h @@ -43,6 +43,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/silverbullet44/config.h b/keyboards/silverbullet44/config.h index 5b4ae5a11087..28b53eb06651 100644 --- a/keyboards/silverbullet44/config.h +++ b/keyboards/silverbullet44/config.h @@ -180,10 +180,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/sirius/uni660/rev1/config.h b/keyboards/sirius/uni660/rev1/config.h index f9815844cb2a..4b810e2cd635 100644 --- a/keyboards/sirius/uni660/rev1/config.h +++ b/keyboards/sirius/uni660/rev1/config.h @@ -53,8 +53,4 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define DYNAMIC_KEYMAP_LAYER_COUNT 4 diff --git a/keyboards/sirius/uni660/rev2/ansi/config.h b/keyboards/sirius/uni660/rev2/ansi/config.h index 8777dc401116..19ee1166c308 100644 --- a/keyboards/sirius/uni660/rev2/ansi/config.h +++ b/keyboards/sirius/uni660/rev2/ansi/config.h @@ -53,8 +53,4 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define DYNAMIC_KEYMAP_LAYER_COUNT 4 diff --git a/keyboards/sirius/uni660/rev2/iso/config.h b/keyboards/sirius/uni660/rev2/iso/config.h index 763230dca818..f0f771707ef0 100644 --- a/keyboards/sirius/uni660/rev2/iso/config.h +++ b/keyboards/sirius/uni660/rev2/iso/config.h @@ -53,8 +53,4 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define DYNAMIC_KEYMAP_LAYER_COUNT 4 diff --git a/keyboards/sirius/unigo66/config.h b/keyboards/sirius/unigo66/config.h index 8383a2f30240..777046db0c85 100644 --- a/keyboards/sirius/unigo66/config.h +++ b/keyboards/sirius/unigo66/config.h @@ -43,5 +43,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/sixkeyboard/config.h b/keyboards/sixkeyboard/config.h index d6505e70c7ae..a4d19a5ca119 100644 --- a/keyboards/sixkeyboard/config.h +++ b/keyboards/sixkeyboard/config.h @@ -62,5 +62,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER #define NO_ACTION_TAPPING #define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/skippys_custom_pcs/roopad/config.h b/keyboards/skippys_custom_pcs/roopad/config.h index 53a29c6158b0..9d30421dcb2e 100644 --- a/keyboards/skippys_custom_pcs/roopad/config.h +++ b/keyboards/skippys_custom_pcs/roopad/config.h @@ -66,6 +66,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_SNAKE #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/slz40/config.h b/keyboards/slz40/config.h index cc868e4c0c45..7bcc71bb3c33 100644 --- a/keyboards/slz40/config.h +++ b/keyboards/slz40/config.h @@ -137,10 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/smallice/config.h b/keyboards/smallice/config.h index 551c3cefd225..5ebafba42da6 100644 --- a/keyboards/smallice/config.h +++ b/keyboards/smallice/config.h @@ -81,10 +81,6 @@ along with this program. If not, see . /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/smallkeyboard/config.h b/keyboards/smallkeyboard/config.h index 263066635980..c96fa911e527 100644 --- a/keyboards/smallkeyboard/config.h +++ b/keyboards/smallkeyboard/config.h @@ -49,10 +49,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/smk60/config.h b/keyboards/smk60/config.h index 59866c006f4c..2c7d0e178f06 100644 --- a/keyboards/smk60/config.h +++ b/keyboards/smk60/config.h @@ -40,8 +40,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION //rgb light setting #define RGBLED_NUM 4 diff --git a/keyboards/snampad/config.h b/keyboards/snampad/config.h index 64bb16fb40e1..f15fc72200cc 100644 --- a/keyboards/snampad/config.h +++ b/keyboards/snampad/config.h @@ -132,8 +132,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/sofle/rev1/config.h b/keyboards/sofle/rev1/config.h index 831387e99088..a34c5743268a 100644 --- a/keyboards/sofle/rev1/config.h +++ b/keyboards/sofle/rev1/config.h @@ -33,6 +33,3 @@ #define USE_SERIAL #define SERIAL_USE_MULTI_TRANSACTION #define SOFT_SERIAL_PIN D2 - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/soup10/config.h b/keyboards/soup10/config.h index 83fb2dd8959e..81acb34604fd 100644 --- a/keyboards/soup10/config.h +++ b/keyboards/soup10/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 1 diff --git a/keyboards/spacetime/config.h b/keyboards/spacetime/config.h index 7dfca576a027..93eae10402ed 100644 --- a/keyboards/spacetime/config.h +++ b/keyboards/spacetime/config.h @@ -133,8 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/spacey/config.h b/keyboards/spacey/config.h index 81f3df6a89e2..52923d2f8eb1 100644 --- a/keyboards/spacey/config.h +++ b/keyboards/spacey/config.h @@ -100,11 +100,6 @@ along with this program. If not, see . /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/specskeys/config.h b/keyboards/specskeys/config.h index 09988ba63b24..8478a31e71f7 100644 --- a/keyboards/specskeys/config.h +++ b/keyboards/specskeys/config.h @@ -142,10 +142,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/splitty/config.h b/keyboards/splitty/config.h index 3f0a8b9b2058..68ea1b9411f7 100644 --- a/keyboards/splitty/config.h +++ b/keyboards/splitty/config.h @@ -60,7 +60,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/studiokestra/bourgeau/config.h b/keyboards/studiokestra/bourgeau/config.h index 744149c34eb1..afb8bb858fad 100644 --- a/keyboards/studiokestra/bourgeau/config.h +++ b/keyboards/studiokestra/bourgeau/config.h @@ -75,8 +75,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/studiokestra/cascade/config.h b/keyboards/studiokestra/cascade/config.h index 88b2a583cbf0..1ef4c21e5074 100644 --- a/keyboards/studiokestra/cascade/config.h +++ b/keyboards/studiokestra/cascade/config.h @@ -76,8 +76,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/studiokestra/galatea/config.h b/keyboards/studiokestra/galatea/config.h index e9a6b80b148c..accc0d2b432d 100644 --- a/keyboards/studiokestra/galatea/config.h +++ b/keyboards/studiokestra/galatea/config.h @@ -68,10 +68,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/studiokestra/nue/config.h b/keyboards/studiokestra/nue/config.h index 72514d85c9cd..dc4aee20aa37 100644 --- a/keyboards/studiokestra/nue/config.h +++ b/keyboards/studiokestra/nue/config.h @@ -41,10 +41,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/subatomic/config.h b/keyboards/subatomic/config.h index 47fcc72fd2c4..d53805b62f83 100644 --- a/keyboards/subatomic/config.h +++ b/keyboards/subatomic/config.h @@ -72,5 +72,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/switchplate/southpaw_65/config.h b/keyboards/switchplate/southpaw_65/config.h index 7512e0e2b381..20fe48eb9b64 100644 --- a/keyboards/switchplate/southpaw_65/config.h +++ b/keyboards/switchplate/southpaw_65/config.h @@ -127,8 +127,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/switchplate/southpaw_fullsize/config.h b/keyboards/switchplate/southpaw_fullsize/config.h index c15cb1d0be03..fb407383ad2b 100644 --- a/keyboards/switchplate/southpaw_fullsize/config.h +++ b/keyboards/switchplate/southpaw_fullsize/config.h @@ -78,10 +78,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/switchplate/switchplate910/config.h b/keyboards/switchplate/switchplate910/config.h index 81f825470301..e1e50411c41c 100644 --- a/keyboards/switchplate/switchplate910/config.h +++ b/keyboards/switchplate/switchplate910/config.h @@ -78,10 +78,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/tada68/config.h b/keyboards/tada68/config.h index b537380cc02d..2e035e08afa9 100755 --- a/keyboards/tada68/config.h +++ b/keyboards/tada68/config.h @@ -73,5 +73,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/takashicompany/center_enter/config.h b/keyboards/takashicompany/center_enter/config.h index 94868bde1e76..9900d35f372e 100644 --- a/keyboards/takashicompany/center_enter/config.h +++ b/keyboards/takashicompany/center_enter/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/takashicompany/compacx/config.h b/keyboards/takashicompany/compacx/config.h index 5428482ed3b9..1db4a7357a54 100644 --- a/keyboards/takashicompany/compacx/config.h +++ b/keyboards/takashicompany/compacx/config.h @@ -140,10 +140,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/takashicompany/dogtag/config.h b/keyboards/takashicompany/dogtag/config.h index 631435092df9..bc4c44d24ce5 100644 --- a/keyboards/takashicompany/dogtag/config.h +++ b/keyboards/takashicompany/dogtag/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/takashicompany/endzone34/config.h b/keyboards/takashicompany/endzone34/config.h index ff6697623b54..c2c9e0420001 100644 --- a/keyboards/takashicompany/endzone34/config.h +++ b/keyboards/takashicompany/endzone34/config.h @@ -142,10 +142,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/takashicompany/heavy_left/config.h b/keyboards/takashicompany/heavy_left/config.h index b5a16def6845..4c3138fc8e06 100644 --- a/keyboards/takashicompany/heavy_left/config.h +++ b/keyboards/takashicompany/heavy_left/config.h @@ -136,12 +136,8 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 -#define EE_HANDS \ No newline at end of file +#define EE_HANDS diff --git a/keyboards/takashicompany/qoolee/config.h b/keyboards/takashicompany/qoolee/config.h index 99c8ce01428e..3095f8415957 100644 --- a/keyboards/takashicompany/qoolee/config.h +++ b/keyboards/takashicompany/qoolee/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/takashicompany/radialex/config.h b/keyboards/takashicompany/radialex/config.h index ee6e958f9cc8..7aa3c85360ac 100644 --- a/keyboards/takashicompany/radialex/config.h +++ b/keyboards/takashicompany/radialex/config.h @@ -130,10 +130,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/takashiski/hecomi/alpha/config.h b/keyboards/takashiski/hecomi/alpha/config.h index 55c5ac50eb80..165b815667ad 100644 --- a/keyboards/takashiski/hecomi/alpha/config.h +++ b/keyboards/takashiski/hecomi/alpha/config.h @@ -131,8 +131,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/takashiski/namecard2x4/rev1/config.h b/keyboards/takashiski/namecard2x4/rev1/config.h index d743c0e339b0..a91df15b0814 100644 --- a/keyboards/takashiski/namecard2x4/rev1/config.h +++ b/keyboards/takashiski/namecard2x4/rev1/config.h @@ -112,6 +112,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/takashiski/namecard2x4/rev2/config.h b/keyboards/takashiski/namecard2x4/rev2/config.h index 37434d41a08c..402737dc711c 100644 --- a/keyboards/takashiski/namecard2x4/rev2/config.h +++ b/keyboards/takashiski/namecard2x4/rev2/config.h @@ -112,6 +112,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/takashiski/otaku_split/rev0/config.h b/keyboards/takashiski/otaku_split/rev0/config.h index 454f4866e663..5fab9ea77e51 100644 --- a/keyboards/takashiski/otaku_split/rev0/config.h +++ b/keyboards/takashiski/otaku_split/rev0/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/takashiski/otaku_split/rev1/config.h b/keyboards/takashiski/otaku_split/rev1/config.h index 7ae6155d8c3f..05979a6e0434 100644 --- a/keyboards/takashiski/otaku_split/rev1/config.h +++ b/keyboards/takashiski/otaku_split/rev1/config.h @@ -142,8 +142,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/tanuki/config.h b/keyboards/tanuki/config.h index 4680753dd491..3c323ba10ecc 100644 --- a/keyboards/tanuki/config.h +++ b/keyboards/tanuki/config.h @@ -73,5 +73,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/team0110/p1800fl/config.h b/keyboards/team0110/p1800fl/config.h index 75e63c75cee2..f4aa79e88bf8 100644 --- a/keyboards/team0110/p1800fl/config.h +++ b/keyboards/team0110/p1800fl/config.h @@ -74,10 +74,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/technika/config.h b/keyboards/technika/config.h index c2be7cf7d405..80d313722538 100644 --- a/keyboards/technika/config.h +++ b/keyboards/technika/config.h @@ -68,5 +68,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/telophase/config.h b/keyboards/telophase/config.h index 837bb8ab9b49..6d23b98ae30a 100644 --- a/keyboards/telophase/config.h +++ b/keyboards/telophase/config.h @@ -68,7 +68,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/tetris/config.h b/keyboards/tetris/config.h index 1f13f5f16805..cfea2a72dca1 100755 --- a/keyboards/tetris/config.h +++ b/keyboards/tetris/config.h @@ -30,9 +30,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef AUDIO_ENABLE #define AUDIO_PIN B5 #define STARTUP_SONG SONG(ONE_UP_SOUND) diff --git a/keyboards/tg4x/config.h b/keyboards/tg4x/config.h index 87636d837193..0fb009983345 100644 --- a/keyboards/tg4x/config.h +++ b/keyboards/tg4x/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/tgr/910ce/config.h b/keyboards/tgr/910ce/config.h index fd21a2de7688..58b7426a1f9b 100644 --- a/keyboards/tgr/910ce/config.h +++ b/keyboards/tgr/910ce/config.h @@ -43,8 +43,3 @@ along with this program. If not, see . #define BACKLIGHT_PIN D4 #define BACKLIGHT_LEVELS 3 #define RGBLIGHT_ANIMATIONS - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - diff --git a/keyboards/thevankeyboards/jetvan/config.h b/keyboards/thevankeyboards/jetvan/config.h index ea229cc29d74..74094a183a5f 100644 --- a/keyboards/thevankeyboards/jetvan/config.h +++ b/keyboards/thevankeyboards/jetvan/config.h @@ -104,5 +104,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/thevankeyboards/roadkit/config.h b/keyboards/thevankeyboards/roadkit/config.h index 4572f5e2b90a..0bbd93ad7d77 100644 --- a/keyboards/thevankeyboards/roadkit/config.h +++ b/keyboards/thevankeyboards/roadkit/config.h @@ -100,5 +100,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/tkc/california/config.h b/keyboards/tkc/california/config.h index 782086914251..294551478716 100644 --- a/keyboards/tkc/california/config.h +++ b/keyboards/tkc/california/config.h @@ -115,8 +115,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/tkc/candybar/lefty/config.h b/keyboards/tkc/candybar/lefty/config.h index ba5c0b0778a6..104ead511ac4 100644 --- a/keyboards/tkc/candybar/lefty/config.h +++ b/keyboards/tkc/candybar/lefty/config.h @@ -77,8 +77,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // #define WS2812_LED_N 2 // #define RGBLED_NUM WS2812_LED_N diff --git a/keyboards/tkc/candybar/lefty_r3/config.h b/keyboards/tkc/candybar/lefty_r3/config.h index d7a490843068..9ce16dd7316a 100644 --- a/keyboards/tkc/candybar/lefty_r3/config.h +++ b/keyboards/tkc/candybar/lefty_r3/config.h @@ -77,8 +77,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // #define WS2812_LED_N 2 // #define RGBLED_NUM WS2812_LED_N diff --git a/keyboards/tkc/candybar/righty/config.h b/keyboards/tkc/candybar/righty/config.h index 47e3985ff3f2..dcbe840c8e29 100644 --- a/keyboards/tkc/candybar/righty/config.h +++ b/keyboards/tkc/candybar/righty/config.h @@ -77,8 +77,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // #define WS2812_LED_N 2 // #define RGBLED_NUM WS2812_LED_N diff --git a/keyboards/tkc/candybar/righty_r3/config.h b/keyboards/tkc/candybar/righty_r3/config.h index f68e29013c7e..0c8604a9acdc 100644 --- a/keyboards/tkc/candybar/righty_r3/config.h +++ b/keyboards/tkc/candybar/righty_r3/config.h @@ -77,8 +77,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // #define WS2812_LED_N 2 // #define RGBLED_NUM WS2812_LED_N diff --git a/keyboards/tkc/godspeed75/config.h b/keyboards/tkc/godspeed75/config.h index f50d4c638c36..edda02ea791e 100644 --- a/keyboards/tkc/godspeed75/config.h +++ b/keyboards/tkc/godspeed75/config.h @@ -77,8 +77,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_DI_PIN A13 #define RGBLED_NUM 14 diff --git a/keyboards/tkc/m0lly/config.h b/keyboards/tkc/m0lly/config.h index ebcda755c250..377499ba7291 100644 --- a/keyboards/tkc/m0lly/config.h +++ b/keyboards/tkc/m0lly/config.h @@ -142,10 +142,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/tkc/osav2/config.h b/keyboards/tkc/osav2/config.h index 5622621e2b8a..370e7b7b5b26 100644 --- a/keyboards/tkc/osav2/config.h +++ b/keyboards/tkc/osav2/config.h @@ -138,8 +138,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/tkc/portico/config.h b/keyboards/tkc/portico/config.h index 35d615a023a4..be042050f5a3 100644 --- a/keyboards/tkc/portico/config.h +++ b/keyboards/tkc/portico/config.h @@ -36,10 +36,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/tkc/portico68v2/config.h b/keyboards/tkc/portico68v2/config.h index af0a162810f0..486863d702ce 100644 --- a/keyboards/tkc/portico68v2/config.h +++ b/keyboards/tkc/portico68v2/config.h @@ -39,10 +39,6 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define DRIVER_ADDR_1 0b0110000 #define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 82 diff --git a/keyboards/tkc/portico75/config.h b/keyboards/tkc/portico75/config.h index 48be10a42741..bbafc0d30988 100644 --- a/keyboards/tkc/portico75/config.h +++ b/keyboards/tkc/portico75/config.h @@ -47,10 +47,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/tkc/tkc1800/config.h b/keyboards/tkc/tkc1800/config.h index 02fccd82ff3f..5bf93542c2a4 100644 --- a/keyboards/tkc/tkc1800/config.h +++ b/keyboards/tkc/tkc1800/config.h @@ -111,5 +111,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/tkc/tkl_ab87/config.h b/keyboards/tkc/tkl_ab87/config.h index 71bf94caa8bf..5ab7b946922d 100644 --- a/keyboards/tkc/tkl_ab87/config.h +++ b/keyboards/tkc/tkl_ab87/config.h @@ -143,8 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/tkw/grandiceps/config.h b/keyboards/tkw/grandiceps/config.h index e51c9ab2235e..b2b60082407c 100644 --- a/keyboards/tkw/grandiceps/config.h +++ b/keyboards/tkw/grandiceps/config.h @@ -58,7 +58,3 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/tkw/stoutgat/v1/config.h b/keyboards/tkw/stoutgat/v1/config.h index 2c60e8b5656c..96471e443dc6 100644 --- a/keyboards/tkw/stoutgat/v1/config.h +++ b/keyboards/tkw/stoutgat/v1/config.h @@ -37,7 +37,3 @@ along with this program. If not, see . #define UNUSED_PINS #define DIODE_DIRECTION COL2ROW - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/tkw/stoutgat/v2/config.h b/keyboards/tkw/stoutgat/v2/config.h index 1c0a66f3c684..73b3eef90be1 100644 --- a/keyboards/tkw/stoutgat/v2/config.h +++ b/keyboards/tkw/stoutgat/v2/config.h @@ -60,10 +60,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/tmo50/config.h b/keyboards/tmo50/config.h index 4547fcf63ef5..f3640197aeec 100644 --- a/keyboards/tmo50/config.h +++ b/keyboards/tmo50/config.h @@ -126,5 +126,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/touchpad/config.h b/keyboards/touchpad/config.h index 2f512d17c359..8b42d0fe4fc0 100644 --- a/keyboards/touchpad/config.h +++ b/keyboards/touchpad/config.h @@ -60,5 +60,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/treasure/type9/config.h b/keyboards/treasure/type9/config.h index cc629e3e4558..86734a7fd89d 100644 --- a/keyboards/treasure/type9/config.h +++ b/keyboards/treasure/type9/config.h @@ -114,6 +114,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/tszaboo/ortho4exent/config.h b/keyboards/tszaboo/ortho4exent/config.h index dec9cdd7ee9d..b331cfbde96d 100644 --- a/keyboards/tszaboo/ortho4exent/config.h +++ b/keyboards/tszaboo/ortho4exent/config.h @@ -128,10 +128,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/tw40/config.h b/keyboards/tw40/config.h index 839babb92073..67547b247e8d 100644 --- a/keyboards/tw40/config.h +++ b/keyboards/tw40/config.h @@ -44,6 +44,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/unikeyboard/diverge3/config.h b/keyboards/unikeyboard/diverge3/config.h index 45dedfe6210a..502e97bd9115 100644 --- a/keyboards/unikeyboard/diverge3/config.h +++ b/keyboards/unikeyboard/diverge3/config.h @@ -110,5 +110,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/unikeyboard/felix/config.h b/keyboards/unikeyboard/felix/config.h index 73f9d1fa8603..64319f029f1d 100644 --- a/keyboards/unikeyboard/felix/config.h +++ b/keyboards/unikeyboard/felix/config.h @@ -119,8 +119,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/unison/v04/config.h b/keyboards/unison/v04/config.h index 88807811a901..93c1ae2e4b9e 100644 --- a/keyboards/unison/v04/config.h +++ b/keyboards/unison/v04/config.h @@ -119,7 +119,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/uranuma/config.h b/keyboards/uranuma/config.h index c5acad4882f1..2c304012d327 100644 --- a/keyboards/uranuma/config.h +++ b/keyboards/uranuma/config.h @@ -123,8 +123,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/uzu42/config.h b/keyboards/uzu42/config.h index 45f497d78215..3364d3063d9c 100644 --- a/keyboards/uzu42/config.h +++ b/keyboards/uzu42/config.h @@ -24,6 +24,3 @@ along with this program. If not, see . #define SOFT_SERIAL_PIN D2 #define SERIAL_USE_MULTI_TRANSACTION #endif - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/uzu42/rev1/config.h b/keyboards/uzu42/rev1/config.h index 5d8c9000e64d..815442ed211e 100644 --- a/keyboards/uzu42/rev1/config.h +++ b/keyboards/uzu42/rev1/config.h @@ -74,5 +74,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/v4n4g0rth0n/config.h b/keyboards/v4n4g0rth0n/config.h index e023875feb65..14721308f981 100644 --- a/keyboards/v4n4g0rth0n/config.h +++ b/keyboards/v4n4g0rth0n/config.h @@ -35,10 +35,6 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - // TOP, MID, BOT // B4, D7, D6 #define LED_NUM_LOCK_PIN B4 diff --git a/keyboards/v60_type_r/config.h b/keyboards/v60_type_r/config.h index c013bb99314f..1d0b38988ae1 100644 --- a/keyboards/v60_type_r/config.h +++ b/keyboards/v60_type_r/config.h @@ -115,5 +115,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/viktus/smolka/config.h b/keyboards/viktus/smolka/config.h index 82acfff21430..fa655ae3e849 100644 --- a/keyboards/viktus/smolka/config.h +++ b/keyboards/viktus/smolka/config.h @@ -107,10 +107,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 1 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/viktus/sp111/config.h b/keyboards/viktus/sp111/config.h index 7dda6457f665..c38eea5adc22 100644 --- a/keyboards/viktus/sp111/config.h +++ b/keyboards/viktus/sp111/config.h @@ -77,7 +77,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/viktus/sp_mini/config.h b/keyboards/viktus/sp_mini/config.h index 06b8c2f51a82..a0671c97f3c3 100644 --- a/keyboards/viktus/sp_mini/config.h +++ b/keyboards/viktus/sp_mini/config.h @@ -95,5 +95,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/viktus/styrka/config.h b/keyboards/viktus/styrka/config.h index 9fe66a8b58f6..666ebbf86689 100644 --- a/keyboards/viktus/styrka/config.h +++ b/keyboards/viktus/styrka/config.h @@ -105,5 +105,3 @@ B0, which is unconnected on the PCB //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/vitamins_included/rev1/config.h b/keyboards/vitamins_included/rev1/config.h index e8390aa27bf8..675dae1044e2 100644 --- a/keyboards/vitamins_included/rev1/config.h +++ b/keyboards/vitamins_included/rev1/config.h @@ -79,5 +79,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/vitamins_included/rev2/config.h b/keyboards/vitamins_included/rev2/config.h index bab387ce6882..6ea80ec05a29 100644 --- a/keyboards/vitamins_included/rev2/config.h +++ b/keyboards/vitamins_included/rev2/config.h @@ -80,5 +80,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/waldo/config.h b/keyboards/waldo/config.h index fda26c4355a4..b4fac7a60617 100644 --- a/keyboards/waldo/config.h +++ b/keyboards/waldo/config.h @@ -64,8 +64,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // RGB LED #define RGB_DI_PIN B0 @@ -76,4 +74,4 @@ along with this program. If not, see . #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_SLEEP -#endif \ No newline at end of file +#endif diff --git a/keyboards/wavtype/foundation/config.h b/keyboards/wavtype/foundation/config.h index e19ea19f7e01..dff85685e1dd 100644 --- a/keyboards/wavtype/foundation/config.h +++ b/keyboards/wavtype/foundation/config.h @@ -127,10 +127,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 1 diff --git a/keyboards/wekey/polaris/config.h b/keyboards/wekey/polaris/config.h index 621d30df5a5a..5902c4bfc986 100644 --- a/keyboards/wekey/polaris/config.h +++ b/keyboards/wekey/polaris/config.h @@ -143,10 +143,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/wekey/stelo65/config.h b/keyboards/wekey/stelo65/config.h index 6a5ab4bb9864..6bcd065ac410 100644 --- a/keyboards/wekey/stelo65/config.h +++ b/keyboards/wekey/stelo65/config.h @@ -141,10 +141,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/wekey/we27/config.h b/keyboards/wekey/we27/config.h index 851e85aabbb5..9420a4d06a81 100644 --- a/keyboards/wekey/we27/config.h +++ b/keyboards/wekey/we27/config.h @@ -222,10 +222,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/westfoxtrot/cyclops/config.h b/keyboards/westfoxtrot/cyclops/config.h index ce5d3bbbc1e0..0ecd64ecd06a 100644 --- a/keyboards/westfoxtrot/cyclops/config.h +++ b/keyboards/westfoxtrot/cyclops/config.h @@ -101,8 +101,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/whale/sk/v3/config.h b/keyboards/whale/sk/v3/config.h index 8fff28ca725b..fc1e4ffeff85 100644 --- a/keyboards/whale/sk/v3/config.h +++ b/keyboards/whale/sk/v3/config.h @@ -47,7 +47,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/wilba_tech/rama_works_kara/config.h b/keyboards/wilba_tech/rama_works_kara/config.h index 724098257bd1..1191c0991fd4 100644 --- a/keyboards/wilba_tech/rama_works_kara/config.h +++ b/keyboards/wilba_tech/rama_works_kara/config.h @@ -63,8 +63,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/rama_works_koyu/config.h b/keyboards/wilba_tech/rama_works_koyu/config.h index ab00f30d7f19..334070472f96 100644 --- a/keyboards/wilba_tech/rama_works_koyu/config.h +++ b/keyboards/wilba_tech/rama_works_koyu/config.h @@ -66,8 +66,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/rama_works_m10_b/config.h b/keyboards/wilba_tech/rama_works_m10_b/config.h index d30cf7fe84e4..9f3326cabac4 100644 --- a/keyboards/wilba_tech/rama_works_m10_b/config.h +++ b/keyboards/wilba_tech/rama_works_m10_b/config.h @@ -105,7 +105,5 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define DYNAMIC_KEYMAP_LAYER_COUNT 10 diff --git a/keyboards/wilba_tech/rama_works_m10_c/config.h b/keyboards/wilba_tech/rama_works_m10_c/config.h index 08ae1d081a97..7b515736f72e 100644 --- a/keyboards/wilba_tech/rama_works_m10_c/config.h +++ b/keyboards/wilba_tech/rama_works_m10_c/config.h @@ -53,10 +53,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - // IS31FL3731 driver #define DRIVER_COUNT 1 #define DRIVER_LED_TOTAL 12 diff --git a/keyboards/wilba_tech/rama_works_m50_a/config.h b/keyboards/wilba_tech/rama_works_m50_a/config.h index c16afd7900ae..70b35dbb90e0 100644 --- a/keyboards/wilba_tech/rama_works_m50_a/config.h +++ b/keyboards/wilba_tech/rama_works_m50_a/config.h @@ -53,10 +53,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - // IS31FL3731 driver #define DRIVER_COUNT 2 #define DRIVER_LED_TOTAL 72 diff --git a/keyboards/wilba_tech/rama_works_m50_ax/config.h b/keyboards/wilba_tech/rama_works_m50_ax/config.h index 61887e8fc3ca..3b2a23033d4d 100644 --- a/keyboards/wilba_tech/rama_works_m50_ax/config.h +++ b/keyboards/wilba_tech/rama_works_m50_ax/config.h @@ -52,7 +52,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/wilba_tech/rama_works_m60_a/config.h b/keyboards/wilba_tech/rama_works_m60_a/config.h index b8d9249dde2e..4bb0ebefc6a9 100644 --- a/keyboards/wilba_tech/rama_works_m60_a/config.h +++ b/keyboards/wilba_tech/rama_works_m60_a/config.h @@ -63,8 +63,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/rama_works_u80_a/config.h b/keyboards/wilba_tech/rama_works_u80_a/config.h index 2bc32a700687..0cb3e211ba47 100644 --- a/keyboards/wilba_tech/rama_works_u80_a/config.h +++ b/keyboards/wilba_tech/rama_works_u80_a/config.h @@ -104,8 +104,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // IS31FL3731 driver #define DRIVER_COUNT 3 diff --git a/keyboards/wilba_tech/wt60_a/config.h b/keyboards/wilba_tech/wt60_a/config.h index 587c9b9ae797..029b228e2ca9 100644 --- a/keyboards/wilba_tech/wt60_a/config.h +++ b/keyboards/wilba_tech/wt60_a/config.h @@ -104,8 +104,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // enable the mono backlight #define MONO_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/wt60_d/config.h b/keyboards/wilba_tech/wt60_d/config.h index e6d367f4b1ce..c3c0a0c7a68a 100644 --- a/keyboards/wilba_tech/wt60_d/config.h +++ b/keyboards/wilba_tech/wt60_d/config.h @@ -104,5 +104,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/wilba_tech/wt60_xt/config.h b/keyboards/wilba_tech/wt60_xt/config.h index 43f3f70db80f..f08d3179ef5f 100644 --- a/keyboards/wilba_tech/wt60_xt/config.h +++ b/keyboards/wilba_tech/wt60_xt/config.h @@ -107,5 +107,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/wilba_tech/wt65_a/config.h b/keyboards/wilba_tech/wt65_a/config.h index 4eca9b3ba0f2..46df641ae4a9 100644 --- a/keyboards/wilba_tech/wt65_a/config.h +++ b/keyboards/wilba_tech/wt65_a/config.h @@ -104,8 +104,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // enable the mono backlight #define MONO_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/wt65_b/config.h b/keyboards/wilba_tech/wt65_b/config.h index 7db0552ce6c8..bc81515c1941 100644 --- a/keyboards/wilba_tech/wt65_b/config.h +++ b/keyboards/wilba_tech/wt65_b/config.h @@ -104,8 +104,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // enable the mono backlight #define MONO_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/wt69_a/config.h b/keyboards/wilba_tech/wt69_a/config.h index d8184a8d2e7b..7db475ba6062 100644 --- a/keyboards/wilba_tech/wt69_a/config.h +++ b/keyboards/wilba_tech/wt69_a/config.h @@ -104,5 +104,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/wilba_tech/wt75_a/config.h b/keyboards/wilba_tech/wt75_a/config.h index 479cdda00d67..6562e65fcce2 100644 --- a/keyboards/wilba_tech/wt75_a/config.h +++ b/keyboards/wilba_tech/wt75_a/config.h @@ -104,8 +104,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // enable the mono backlight #define MONO_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/wt75_b/config.h b/keyboards/wilba_tech/wt75_b/config.h index e6365c4ef3e0..a8905fc2ccd9 100644 --- a/keyboards/wilba_tech/wt75_b/config.h +++ b/keyboards/wilba_tech/wt75_b/config.h @@ -104,8 +104,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // enable the mono backlight #define MONO_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/wt75_c/config.h b/keyboards/wilba_tech/wt75_c/config.h index bbc4757e06e3..8e65c1a14991 100644 --- a/keyboards/wilba_tech/wt75_c/config.h +++ b/keyboards/wilba_tech/wt75_c/config.h @@ -104,8 +104,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // enable the mono backlight #define MONO_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/wt80_a/config.h b/keyboards/wilba_tech/wt80_a/config.h index a09bcaebad48..de4de0af2bfa 100644 --- a/keyboards/wilba_tech/wt80_a/config.h +++ b/keyboards/wilba_tech/wt80_a/config.h @@ -104,8 +104,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // enable the mono backlight #define MONO_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/zeal60/config.h b/keyboards/wilba_tech/zeal60/config.h index 2ccf49d80a8b..12093be63ad5 100644 --- a/keyboards/wilba_tech/zeal60/config.h +++ b/keyboards/wilba_tech/zeal60/config.h @@ -63,8 +63,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/zeal65/config.h b/keyboards/wilba_tech/zeal65/config.h index 40d021801425..eff5502ebc4e 100644 --- a/keyboards/wilba_tech/zeal65/config.h +++ b/keyboards/wilba_tech/zeal65/config.h @@ -63,8 +63,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_BACKLIGHT_ENABLED 1 @@ -119,4 +117,4 @@ #define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31 // VIA lighting is handled by the keyboard-level code -#define VIA_CUSTOM_LIGHTING_ENABLE \ No newline at end of file +#define VIA_CUSTOM_LIGHTING_ENABLE diff --git a/keyboards/winkeys/mini_winni/config.h b/keyboards/winkeys/mini_winni/config.h index 821f5cdc7696..fcf700b0b3e1 100644 --- a/keyboards/winkeys/mini_winni/config.h +++ b/keyboards/winkeys/mini_winni/config.h @@ -62,7 +62,3 @@ along with this program. If not, see . /* disable print */ //#define NO_PRINT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/wolf/kuku65/config.h b/keyboards/wolf/kuku65/config.h index 7c5afed524d8..c67224a5223e 100644 --- a/keyboards/wolf/kuku65/config.h +++ b/keyboards/wolf/kuku65/config.h @@ -51,6 +51,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/wolf/sabre/config.h b/keyboards/wolf/sabre/config.h index 02b897ba4f59..76ec7d6332f2 100644 --- a/keyboards/wolf/sabre/config.h +++ b/keyboards/wolf/sabre/config.h @@ -56,6 +56,3 @@ along with this program. If not, see . #define LED_CAPS_LOCK_PIN B3 #define LED_SCROLL_LOCK_PIN B0 - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/wolf/ts60/config.h b/keyboards/wolf/ts60/config.h index 8074f6fc580a..4e15ab4cd5f0 100644 --- a/keyboards/wolf/ts60/config.h +++ b/keyboards/wolf/ts60/config.h @@ -73,6 +73,3 @@ along with this program. If not, see . #define BACKLIGHT_PIN B7 #define BACKLIGHT_LEVELS 6 #define BACKLIGHT_DEFAULT_LEVEL 6 - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/wolfmarkclub/wm1/config.h b/keyboards/wolfmarkclub/wm1/config.h index 135700b98838..ecbdc61eb3df 100644 --- a/keyboards/wolfmarkclub/wm1/config.h +++ b/keyboards/wolfmarkclub/wm1/config.h @@ -75,5 +75,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/woodkeys/meira/featherble/config.h b/keyboards/woodkeys/meira/featherble/config.h index 94bef3b3305e..44f294a06aa4 100644 --- a/keyboards/woodkeys/meira/featherble/config.h +++ b/keyboards/woodkeys/meira/featherble/config.h @@ -93,5 +93,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/woodkeys/meira/promicro/config.h b/keyboards/woodkeys/meira/promicro/config.h index bbdaa9dbd8bb..1b9b099d1a8f 100644 --- a/keyboards/woodkeys/meira/promicro/config.h +++ b/keyboards/woodkeys/meira/promicro/config.h @@ -84,5 +84,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/woodkeys/scarletbandana/config.h b/keyboards/woodkeys/scarletbandana/config.h index b9c8dd9b0fbf..3afbfeae84d0 100644 --- a/keyboards/woodkeys/scarletbandana/config.h +++ b/keyboards/woodkeys/scarletbandana/config.h @@ -51,7 +51,4 @@ along with this program. If not, see . #define NO_MUSIC_MODE #endif -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define DEBOUNCE 5 diff --git a/keyboards/work_louder/loop/config.h b/keyboards/work_louder/loop/config.h index b40c1207fef5..b397ec2c1df6 100644 --- a/keyboards/work_louder/loop/config.h +++ b/keyboards/work_louder/loop/config.h @@ -196,10 +196,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 11 diff --git a/keyboards/work_louder/nano/config.h b/keyboards/work_louder/nano/config.h index ac12c8719985..4e03f0a89749 100644 --- a/keyboards/work_louder/nano/config.h +++ b/keyboards/work_louder/nano/config.h @@ -194,10 +194,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 2 diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h index 78444e744f80..106184b7de0d 100644 --- a/keyboards/work_louder/work_board/config.h +++ b/keyboards/work_louder/work_board/config.h @@ -185,10 +185,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define ENCODERS_PAD_A \ { B0 } #define ENCODERS_PAD_B \ diff --git a/keyboards/wren/config.h b/keyboards/wren/config.h index 93b8468c1757..13e69804bc5f 100644 --- a/keyboards/wren/config.h +++ b/keyboards/wren/config.h @@ -116,10 +116,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/x16/config.h b/keyboards/x16/config.h index 7dda59b948ed..8378880d08e7 100644 --- a/keyboards/x16/config.h +++ b/keyboards/x16/config.h @@ -133,8 +133,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/xbows/knight/config.h b/keyboards/xbows/knight/config.h index b91dd8db6648..be7b2bfe9f48 100644 --- a/keyboards/xbows/knight/config.h +++ b/keyboards/xbows/knight/config.h @@ -30,10 +30,6 @@ #define DIODE_DIRECTION COL2ROW #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/xbows/knight_plus/config.h b/keyboards/xbows/knight_plus/config.h index add7d53679c6..e9e82c13dfc2 100644 --- a/keyboards/xbows/knight_plus/config.h +++ b/keyboards/xbows/knight_plus/config.h @@ -30,10 +30,6 @@ #define DIODE_DIRECTION COL2ROW #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/xbows/nature/config.h b/keyboards/xbows/nature/config.h index 2395ae778cfd..0fc0accb5909 100644 --- a/keyboards/xbows/nature/config.h +++ b/keyboards/xbows/nature/config.h @@ -30,10 +30,6 @@ #define DIODE_DIRECTION COL2ROW #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/xbows/numpad/config.h b/keyboards/xbows/numpad/config.h index 96dff5241aeb..04604676bc1a 100644 --- a/keyboards/xbows/numpad/config.h +++ b/keyboards/xbows/numpad/config.h @@ -30,10 +30,6 @@ #define DIODE_DIRECTION COL2ROW #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/xbows/ranger/config.h b/keyboards/xbows/ranger/config.h index e5b976407418..a7bcee7b4fc1 100644 --- a/keyboards/xbows/ranger/config.h +++ b/keyboards/xbows/ranger/config.h @@ -30,10 +30,6 @@ #define DIODE_DIRECTION COL2ROW #define DEBOUNCE 3 -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/xelus/dawn60/rev1/config.h b/keyboards/xelus/dawn60/rev1/config.h index 375bea948611..52dab44f48c3 100644 --- a/keyboards/xelus/dawn60/rev1/config.h +++ b/keyboards/xelus/dawn60/rev1/config.h @@ -67,8 +67,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/xiaomi/mk02/config.h b/keyboards/xiaomi/mk02/config.h index 4a28cf6c7168..1b029d6b4946 100644 --- a/keyboards/xiaomi/mk02/config.h +++ b/keyboards/xiaomi/mk02/config.h @@ -55,5 +55,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/xiudi/xd004/v1/config.h b/keyboards/xiudi/xd004/v1/config.h index 30f837b8ced1..826540de4c04 100644 --- a/keyboards/xiudi/xd004/v1/config.h +++ b/keyboards/xiudi/xd004/v1/config.h @@ -75,5 +75,3 @@ further optimizations can be done on that side. /* disable action features */ // #define NO_ACTION_ONESHOT // 462 bytes <- this needs to be un-commented out if Link Time Optimization is disabled, otherwise file is too large // The two below are implicit since we use LTO_ENABLE (in rules.mk) -// #define NO_ACTION_MACRO -// #define NO_ACTION_FUNCTION diff --git a/keyboards/xiudi/xd68/config.h b/keyboards/xiudi/xd68/config.h index 4fbb66b81533..af8e8b7dab09 100644 --- a/keyboards/xiudi/xd68/config.h +++ b/keyboards/xiudi/xd68/config.h @@ -103,8 +103,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION // ws2812 options #define RGB_DI_PIN F6 // pin the DI on the ws2812 is hooked-up to diff --git a/keyboards/xiudi/xd75/config.h b/keyboards/xiudi/xd75/config.h index 2958a49ebe4f..9cceea346755 100644 --- a/keyboards/xiudi/xd75/config.h +++ b/keyboards/xiudi/xd75/config.h @@ -133,10 +133,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/xiudi/xd84/config.h b/keyboards/xiudi/xd84/config.h index bba8cf55667f..a96793cd7518 100644 --- a/keyboards/xiudi/xd84/config.h +++ b/keyboards/xiudi/xd84/config.h @@ -131,8 +131,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/xiudi/xd84pro/config.h b/keyboards/xiudi/xd84pro/config.h index 01f410ea6b5c..797d209db3e8 100644 --- a/keyboards/xiudi/xd84pro/config.h +++ b/keyboards/xiudi/xd84pro/config.h @@ -73,6 +73,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/xiudi/xd87/config.h b/keyboards/xiudi/xd87/config.h index 41e8bf36905e..5f5b704f3642 100644 --- a/keyboards/xiudi/xd87/config.h +++ b/keyboards/xiudi/xd87/config.h @@ -120,6 +120,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/xiudi/xd96/config.h b/keyboards/xiudi/xd96/config.h index 5ec2543ffa77..ddf97f9d00d9 100644 --- a/keyboards/xiudi/xd96/config.h +++ b/keyboards/xiudi/xd96/config.h @@ -132,8 +132,6 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/yampad/config.h b/keyboards/yampad/config.h index b21a606ddc97..2e03580060db 100644 --- a/keyboards/yampad/config.h +++ b/keyboards/yampad/config.h @@ -77,8 +77,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ydkb/chili/config.h b/keyboards/ydkb/chili/config.h index 13bd700363b1..e3a4e004b8a7 100644 --- a/keyboards/ydkb/chili/config.h +++ b/keyboards/ydkb/chili/config.h @@ -108,5 +108,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ydkb/just60/config.h b/keyboards/ydkb/just60/config.h index b2ff1563104b..82272ffffaef 100644 --- a/keyboards/ydkb/just60/config.h +++ b/keyboards/ydkb/just60/config.h @@ -45,7 +45,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/ydkb/yd68/config.h b/keyboards/ydkb/yd68/config.h index a501a984766f..40a06093471b 100644 --- a/keyboards/ydkb/yd68/config.h +++ b/keyboards/ydkb/yd68/config.h @@ -117,6 +117,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/yiancardesigns/barleycorn/config.h b/keyboards/yiancardesigns/barleycorn/config.h index 77714a87fcd7..71c6076d46c5 100644 --- a/keyboards/yiancardesigns/barleycorn/config.h +++ b/keyboards/yiancardesigns/barleycorn/config.h @@ -99,5 +99,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/yiancardesigns/gingham/config.h b/keyboards/yiancardesigns/gingham/config.h index 62f25b06c9f2..5dcc1efa1924 100644 --- a/keyboards/yiancardesigns/gingham/config.h +++ b/keyboards/yiancardesigns/gingham/config.h @@ -133,6 +133,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - diff --git a/keyboards/yiancardesigns/seigaiha/config.h b/keyboards/yiancardesigns/seigaiha/config.h index 5e87bd6f8375..fdb957f7836d 100644 --- a/keyboards/yiancardesigns/seigaiha/config.h +++ b/keyboards/yiancardesigns/seigaiha/config.h @@ -101,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/ymdk/np21/config.h b/keyboards/ymdk/np21/config.h index 83423792b05f..762ac2b4bf15 100644 --- a/keyboards/ymdk/np21/config.h +++ b/keyboards/ymdk/np21/config.h @@ -130,10 +130,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ymdk/sp64/config.h b/keyboards/ymdk/sp64/config.h index d3395c7841f3..38880d1a850e 100644 --- a/keyboards/ymdk/sp64/config.h +++ b/keyboards/ymdk/sp64/config.h @@ -30,10 +30,6 @@ along with this program. If not, see . #define RIGHT_HALF -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* RGB underglow */ #define RGBLED_NUM 12 #define RGBLIGHT_HUE_STEP 8 diff --git a/keyboards/ymdk/ymd09/config.h b/keyboards/ymdk/ymd09/config.h index f379abde5f1c..0152fe1c2b9a 100644 --- a/keyboards/ymdk/ymd09/config.h +++ b/keyboards/ymdk/ymd09/config.h @@ -57,7 +57,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/yoichiro/lunakey_macro/config.h b/keyboards/yoichiro/lunakey_macro/config.h index d68f69f5150c..1b9449b822bc 100644 --- a/keyboards/yoichiro/lunakey_macro/config.h +++ b/keyboards/yoichiro/lunakey_macro/config.h @@ -149,10 +149,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/yoichiro/lunakey_mini/config.h b/keyboards/yoichiro/lunakey_mini/config.h index abbecef44336..da75f3be5f21 100644 --- a/keyboards/yoichiro/lunakey_mini/config.h +++ b/keyboards/yoichiro/lunakey_mini/config.h @@ -144,10 +144,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/yosino58/config.h b/keyboards/yosino58/config.h index 0c308480eec1..24831ee5b2da 100644 --- a/keyboards/yosino58/config.h +++ b/keyboards/yosino58/config.h @@ -23,6 +23,3 @@ along with this program. If not, see . #define USE_I2C #define USE_SERIAL - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/yosino58/rev1/config.h b/keyboards/yosino58/rev1/config.h index ce792d18c4bc..b7bbace5d98f 100644 --- a/keyboards/yosino58/rev1/config.h +++ b/keyboards/yosino58/rev1/config.h @@ -67,5 +67,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/yugo_m/model_m_101/config.h b/keyboards/yugo_m/model_m_101/config.h index 76580a60e404..94861a7587d5 100644 --- a/keyboards/yugo_m/model_m_101/config.h +++ b/keyboards/yugo_m/model_m_101/config.h @@ -96,5 +96,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/yushakobo/navpad/10/config.h b/keyboards/yushakobo/navpad/10/config.h index c242ee60e209..0dddfb4d0250 100644 --- a/keyboards/yushakobo/navpad/10/config.h +++ b/keyboards/yushakobo/navpad/10/config.h @@ -70,10 +70,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 @@ -81,4 +77,4 @@ along with this program. If not, see . #define TAPPING_FORCE_HOLD #define TAPPING_TERM 132 -#define TAPPING_LAYER_TERM 90 \ No newline at end of file +#define TAPPING_LAYER_TERM 90 diff --git a/keyboards/yushakobo/navpad/10_helix_r/config.h b/keyboards/yushakobo/navpad/10_helix_r/config.h index 2d6288532828..3d463549dfae 100644 --- a/keyboards/yushakobo/navpad/10_helix_r/config.h +++ b/keyboards/yushakobo/navpad/10_helix_r/config.h @@ -112,10 +112,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 @@ -123,4 +119,4 @@ along with this program. If not, see . #define TAPPING_FORCE_HOLD #define TAPPING_TERM 132 -#define TAPPING_LAYER_TERM 90 \ No newline at end of file +#define TAPPING_LAYER_TERM 90 diff --git a/keyboards/yushakobo/quick17/config.h b/keyboards/yushakobo/quick17/config.h index ab33c8408233..7c845a2106b3 100644 --- a/keyboards/yushakobo/quick17/config.h +++ b/keyboards/yushakobo/quick17/config.h @@ -134,10 +134,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/yushakobo/quick7/config.h b/keyboards/yushakobo/quick7/config.h index 01cc0f0a8745..f3afcd2df79c 100644 --- a/keyboards/yushakobo/quick7/config.h +++ b/keyboards/yushakobo/quick7/config.h @@ -137,12 +137,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#ifndef LTO_ENABLE - #define NO_ACTION_MACRO - #define NO_ACTION_FUNCTION -#endif - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/yynmt/acperience12/rev1/config.h b/keyboards/yynmt/acperience12/rev1/config.h index 7281f9bf7feb..d1adb8106ced 100644 --- a/keyboards/yynmt/acperience12/rev1/config.h +++ b/keyboards/yynmt/acperience12/rev1/config.h @@ -44,7 +44,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/yynmt/dozen0/config.h b/keyboards/yynmt/dozen0/config.h index 48d847bde123..c63af586e6e3 100644 --- a/keyboards/yynmt/dozen0/config.h +++ b/keyboards/yynmt/dozen0/config.h @@ -114,8 +114,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/yynmt/kagamidget/config.h b/keyboards/yynmt/kagamidget/config.h index 2bf5b8d7f8f7..3a0ddeaf3078 100644 --- a/keyboards/yynmt/kagamidget/config.h +++ b/keyboards/yynmt/kagamidget/config.h @@ -109,8 +109,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/ziggurat/config.h b/keyboards/ziggurat/config.h index 9c38f5e796af..d2332a3e48e9 100644 --- a/keyboards/ziggurat/config.h +++ b/keyboards/ziggurat/config.h @@ -40,7 +40,3 @@ along with this program. If not, see . /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/zoo/wampus/config.h b/keyboards/zoo/wampus/config.h index f572c91fc7f0..7da55184a099 100644 --- a/keyboards/zoo/wampus/config.h +++ b/keyboards/zoo/wampus/config.h @@ -87,7 +87,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/zvecr/split_blackpill/config.h b/keyboards/zvecr/split_blackpill/config.h index c6ca34779a97..75a7ced350d7 100644 --- a/keyboards/zvecr/split_blackpill/config.h +++ b/keyboards/zvecr/split_blackpill/config.h @@ -115,10 +115,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/zvecr/zv48/config.h b/keyboards/zvecr/zv48/config.h index 881282c2865d..56be1b27d206 100644 --- a/keyboards/zvecr/zv48/config.h +++ b/keyboards/zvecr/zv48/config.h @@ -121,10 +121,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 From a808c297269573f8f18b45d750405e2238302bc2 Mon Sep 17 00:00:00 2001 From: Tom Konidas Date: Tue, 15 Mar 2022 18:48:13 -0400 Subject: [PATCH 0399/1832] [Keymap] Planck Keymap: tomkonidas (#15869) --- keyboards/planck/keymaps/tomkonidas/config.h | 46 +++ keyboards/planck/keymaps/tomkonidas/keymap.c | 353 ++++++++++++++++++ keyboards/planck/keymaps/tomkonidas/readme.md | 101 +++++ keyboards/planck/keymaps/tomkonidas/rules.mk | 1 + 4 files changed, 501 insertions(+) create mode 100644 keyboards/planck/keymaps/tomkonidas/config.h create mode 100644 keyboards/planck/keymaps/tomkonidas/keymap.c create mode 100644 keyboards/planck/keymaps/tomkonidas/readme.md create mode 100644 keyboards/planck/keymaps/tomkonidas/rules.mk diff --git a/keyboards/planck/keymaps/tomkonidas/config.h b/keyboards/planck/keymaps/tomkonidas/config.h new file mode 100644 index 000000000000..6e6d0f3ac731 --- /dev/null +++ b/keyboards/planck/keymaps/tomkonidas/config.h @@ -0,0 +1,46 @@ +/* Copyright 2015-2021 Jack Humbert + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#ifdef AUDIO_ENABLE +# define STARTUP_SONG SONG(PLANCK_SOUND) +// #define STARTUP_SONG SONG(NO_SOUND) + +# define DEFAULT_LAYER_SONGS \ + { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND) } +#endif + +/* + * MIDI options + */ + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ + +#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +//#define MIDI_ADVANCED + +// Most tactile encoders have detents every 4 stages +#define ENCODER_RESOLUTION 4 diff --git a/keyboards/planck/keymaps/tomkonidas/keymap.c b/keyboards/planck/keymaps/tomkonidas/keymap.c new file mode 100644 index 000000000000..39933e8a2113 --- /dev/null +++ b/keyboards/planck/keymaps/tomkonidas/keymap.c @@ -0,0 +1,353 @@ +/* Copyright 2015-2021 Jack Humbert + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "muse.h" + + +enum planck_layers { + _DVORAK, + _QWERTY, + _COLEMAK, + _LOWER, + _RAISE, + _PLOVER, + _ADJUST +}; + +enum planck_keycodes { + DVORAK = SAFE_RANGE, + QWERTY, + COLEMAK, + PLOVER, + BACKLIT, + EXT_PLV +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_DVORAK] = LAYOUT_planck_grid( + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, + KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , + KC_LCTL, KC_LALT, BACKLIT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_planck_grid( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + KC_LCTL, KC_LALT, BACKLIT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = LAYOUT_planck_grid( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + KC_LCTL, KC_LALT, BACKLIT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT_planck_grid( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT_planck_grid( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Plover layer (http://opensteno.org) + * ,-----------------------------------------------------------------------------------. + * | # | # | # | # | # | # | # | # | # | # | # | # | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | S | T | P | H | * | * | F | P | L | T | D | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | S | K | W | R | * | * | R | B | G | S | Z | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Exit | | | A | O | | | E | U | | | | + * `-----------------------------------------------------------------------------------' + */ +[_PLOVER] = LAYOUT_planck_grid( + KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 , + XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX +), + +/* Adjust (Lower + Raise) + * v------------------------RGB CONTROL--------------------v + * ,-----------------------------------------------------------------------------------. + * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_planck_grid( + _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + +}; + +#ifdef AUDIO_ENABLE + float plover_song[][2] = SONG(PLOVER_SOUND); + float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); +#endif + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case DVORAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_DVORAK); + } + return false; + break; + case QWERTY: + if (record->event.pressed) { + print("mode just switched to qwerty and this is a huge string\n"); + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + break; + case BACKLIT: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + #ifdef KEYBOARD_planck_rev5 + writePinLow(E6); + #endif + } else { + unregister_code(KC_RSFT); + #ifdef KEYBOARD_planck_rev5 + writePinHigh(E6); + #endif + } + return false; + break; + case PLOVER: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_SONG(plover_song); + #endif + layer_off(_RAISE); + layer_off(_LOWER); + layer_off(_ADJUST); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + } + return false; + break; + case EXT_PLV: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_SONG(plover_gb_song); + #endif + layer_off(_PLOVER); + } + return false; + break; + } + return true; +} + +bool muse_mode = false; +uint8_t last_muse_note = 0; +uint16_t muse_counter = 0; +uint8_t muse_offset = 70; +uint16_t muse_tempo = 50; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (muse_mode) { + if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + muse_offset++; + } else { + muse_offset--; + } + } else { + if (clockwise) { + muse_tempo+=1; + } else { + muse_tempo-=1; + } + } + } else { + if (clockwise) { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_DOWN); + #else + tap_code(KC_PGDN); + #endif + } else { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_UP); + #else + tap_code(KC_PGUP); + #endif + } + } + return true; +} + +bool dip_switch_update_user(uint8_t index, bool active) { + switch (index) { + case 0: { +#ifdef AUDIO_ENABLE + static bool play_sound = false; +#endif + if (active) { +#ifdef AUDIO_ENABLE + if (play_sound) { PLAY_SONG(plover_song); } +#endif + layer_on(_ADJUST); + } else { +#ifdef AUDIO_ENABLE + if (play_sound) { PLAY_SONG(plover_gb_song); } +#endif + layer_off(_ADJUST); + } +#ifdef AUDIO_ENABLE + play_sound = true; +#endif + break; + } + case 1: + if (active) { + muse_mode = true; + } else { + muse_mode = false; + } + } + return true; +} + +void matrix_scan_user(void) { +#ifdef AUDIO_ENABLE + if (muse_mode) { + if (muse_counter == 0) { + uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; + if (muse_note != last_muse_note) { + stop_note(compute_freq_for_midi_note(last_muse_note)); + play_note(compute_freq_for_midi_note(muse_note), 0xF); + last_muse_note = muse_note; + } + } + muse_counter = (muse_counter + 1) % muse_tempo; + } else { + if (muse_counter) { + stop_all_notes(); + muse_counter = 0; + } + } +#endif +} + +bool music_mask_user(uint16_t keycode) { + switch (keycode) { + case RAISE: + case LOWER: + return false; + default: + return true; + } +} diff --git a/keyboards/planck/keymaps/tomkonidas/readme.md b/keyboards/planck/keymaps/tomkonidas/readme.md new file mode 100644 index 000000000000..34c2147604e9 --- /dev/null +++ b/keyboards/planck/keymaps/tomkonidas/readme.md @@ -0,0 +1,101 @@ +# Planck Rev6 Layers + +``` + Dvorak + ,-----------------------------------------------------------------------------------. + | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Esc | A | O | E | U | I | D | H | T | N | S | / | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + `-----------------------------------------------------------------------------------' + +``` + +``` + Qwerty + ,-----------------------------------------------------------------------------------. + | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Esc | A | S | D | F | G | H | J | K | L | ; | " | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + `-----------------------------------------------------------------------------------' + +``` + +``` + Colemak + ,-----------------------------------------------------------------------------------. + | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Esc | A | R | S | T | D | H | N | E | I | O | " | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + `-----------------------------------------------------------------------------------' + +``` + +``` + Lower + ,-----------------------------------------------------------------------------------. + | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | | Next | Vol- | Vol+ | Play | + `-----------------------------------------------------------------------------------' + +``` + +``` + Raise + ,-----------------------------------------------------------------------------------. + | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | | Next | Vol- | Vol+ | Play | + `-----------------------------------------------------------------------------------' + +``` + + +``` + Adjust (Lower + Raise) + v------------------------RGB CONTROL--------------------v + ,-----------------------------------------------------------------------------------. + | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | + |------+------+------+------+------+------+------+------+------+------+------+------| + | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | | | | | | + `-----------------------------------------------------------------------------------' + +``` + +``` + Plover layer (http://opensteno.org) + ,-----------------------------------------------------------------------------------. + | # | # | # | # | # | # | # | # | # | # | # | # | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | S | T | P | H | * | * | F | P | L | T | D | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | S | K | W | R | * | * | R | B | G | S | Z | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Exit | | | A | O | | | E | U | | | | + `-----------------------------------------------------------------------------------' + +``` diff --git a/keyboards/planck/keymaps/tomkonidas/rules.mk b/keyboards/planck/keymaps/tomkonidas/rules.mk new file mode 100644 index 000000000000..dcf16bef3994 --- /dev/null +++ b/keyboards/planck/keymaps/tomkonidas/rules.mk @@ -0,0 +1 @@ +SRC += muse.c From 77aafd80562e0a3d4b91f1077f029e47ffb852f1 Mon Sep 17 00:00:00 2001 From: Moritz Date: Tue, 15 Mar 2022 23:58:16 +0100 Subject: [PATCH 0400/1832] [Keyboard] Add Dolice keyboard (#16186) --- keyboards/linworks/dolice/config.h | 47 +++ keyboards/linworks/dolice/dolice.c | 16 + keyboards/linworks/dolice/dolice.h | 93 ++++++ keyboards/linworks/dolice/info.json | 282 ++++++++++++++++++ .../linworks/dolice/keymaps/default/keymap.c | 33 ++ .../linworks/dolice/keymaps/via/keymap.c | 47 +++ .../linworks/dolice/keymaps/via/rules.mk | 1 + keyboards/linworks/dolice/readme.md | 21 ++ keyboards/linworks/dolice/rules.mk | 18 ++ 9 files changed, 558 insertions(+) create mode 100644 keyboards/linworks/dolice/config.h create mode 100644 keyboards/linworks/dolice/dolice.c create mode 100644 keyboards/linworks/dolice/dolice.h create mode 100644 keyboards/linworks/dolice/info.json create mode 100644 keyboards/linworks/dolice/keymaps/default/keymap.c create mode 100644 keyboards/linworks/dolice/keymaps/via/keymap.c create mode 100644 keyboards/linworks/dolice/keymaps/via/rules.mk create mode 100644 keyboards/linworks/dolice/readme.md create mode 100644 keyboards/linworks/dolice/rules.mk diff --git a/keyboards/linworks/dolice/config.h b/keyboards/linworks/dolice/config.h new file mode 100644 index 000000000000..b42fda933f26 --- /dev/null +++ b/keyboards/linworks/dolice/config.h @@ -0,0 +1,47 @@ +/* +Copyright 2021 Moritz Plattner +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4C58 //"LX" +#define PRODUCT_ID 0x0004 +#define DEVICE_VER 0x0001 +#define MANUFACTURER KLC +#define PRODUCT Dolice + +/* Set 1 kHz polling rate and force USB NKRO */ +#define USB_POLLING_INTERVAL_MS 1 +#define FORCE_NKRO + +/* key matrix size */ +#define MATRIX_ROWS 9 +#define MATRIX_COLS 8 + +#define MATRIX_ROW_PINS { F5, F4, F6, F7, B0, B7, D7, D6, D4 } +#define MATRIX_COL_PINS { E6, F0, F1, B4, D5, D3, D2, B2 } +#define UNUSED_PINS { B1, B3, D0, D1, E2 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Backlight */ +#define BACKLIGHT_PIN B5 // Timer 1 on mega32u4 +#define BACKLIGHT_BREATHING +#define BACKLIGHT_ON_STATE 1 diff --git a/keyboards/linworks/dolice/dolice.c b/keyboards/linworks/dolice/dolice.c new file mode 100644 index 000000000000..febac2099ffe --- /dev/null +++ b/keyboards/linworks/dolice/dolice.c @@ -0,0 +1,16 @@ +/* Copyright 2021 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "dolice.h" diff --git a/keyboards/linworks/dolice/dolice.h b/keyboards/linworks/dolice/dolice.h new file mode 100644 index 000000000000..22a9338cf306 --- /dev/null +++ b/keyboards/linworks/dolice/dolice.h @@ -0,0 +1,93 @@ +/* Copyright 221 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_alice( \ + K00, K10, K01, K11, K02, K12, K03, K13, K14, K05, K15, K06, K16, K07, K17, \ + K20, K30, K21, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K37, \ + K40, K50, K41, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, \ + K70, K61, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, K67, K77, \ + K80, K81, K82, K83, K84, K85, K87 \ +) { \ + { K00, K01, K02, K03, KC_NO, K05, K06, K07, }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, }, \ + { K50, KC_NO, K52, K53, K54, K55, K56, KC_NO, }, \ + { KC_NO, K61, K62, K63, K64, K65, K66, K67, }, \ + { K70, KC_NO, K72, K73, K74, K75, K76, K77, }, \ + { K80, K81, K82, K83, K84, K85, KC_NO, K87 } \ +} + +#define LAYOUT_alice_split_bs( \ + K00, K10, K01, K11, K02, K12, K03, K13, K14, K05, K15, K06, K16, K07, K17, K57, \ + K20, K30, K21, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K37, \ + K40, K50, K41, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, \ + K70, K61, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, K67, K77, \ + K80, K81, K82, K83, K84, K85, K87 \ +) { \ + { K00, K01, K02, K03, KC_NO, K05, K06, K07, }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, }, \ + { K50, KC_NO, K52, K53, K54, K55, K56, K57, }, \ + { KC_NO, K61, K62, K63, K64, K65, K66, K67, }, \ + { K70, KC_NO, K72, K73, K74, K75, K76, K77, }, \ + { K80, K81, K82, K83, K84, K85, KC_NO, K87 } \ +} + +#define LAYOUT_long_rshift( \ + K00, K10, K01, K11, K02, K12, K03, K13, K14, K05, K15, K06, K16, K07, K17, \ + K20, K30, K21, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K37, \ + K40, K50, K41, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, \ + K70, K61, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, K67, \ + K80, K81, K82, K83, K84, K85, K87 \ +) { \ + { K00, K01, K02, K03, KC_NO, K05, K06, K07, }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, }, \ + { K50, KC_NO, K52, K53, K54, K55, K56, KC_NO, }, \ + { KC_NO, K61, K62, K63, K64, K65, K66, K67, }, \ + { K70, KC_NO, K72, K73, K74, K75, K76, KC_NO, }, \ + { K80, K81, K82, K83, K84, K85, KC_NO, K87 } \ +} + +#define LAYOUT_long_rshift_split_bs( \ + K00, K10, K01, K11, K02, K12, K03, K13, K14, K05, K15, K06, K16, K07, K17, K57, \ + K20, K30, K21, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K37, \ + K40, K50, K41, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, \ + K70, K61, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, K67, \ + K80, K81, K82, K83, K84, K85, K87 \ +) { \ + { K00, K01, K02, K03, KC_NO, K05, K06, K07, }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, }, \ + { K50, KC_NO, K52, K53, K54, K55, K56, K57, }, \ + { KC_NO, K61, K62, K63, K64, K65, K66, K67, }, \ + { K70, KC_NO, K72, K73, K74, K75, K76, KC_NO, }, \ + { K80, K81, K82, K83, K84, K85, KC_NO, K87 } \ +} + +#define LAYOUT_all LAYOUT_alice_split_bs \ No newline at end of file diff --git a/keyboards/linworks/dolice/info.json b/keyboards/linworks/dolice/info.json new file mode 100644 index 000000000000..5a72496f1c96 --- /dev/null +++ b/keyboards/linworks/dolice/info.json @@ -0,0 +1,282 @@ +{ + "keyboard_name": "Dolice", + "maintainer": "ebastler", + "layouts": { + "LAYOUT_alice": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.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, "w": 2}, + {"x":0, "y":1}, + {"x":1.25, "y":1, "w":1.5}, + {"x":2.75, "y":1}, + {"x":3.75, "y":1}, + {"x":4.75, "y":1}, + {"x":5.75, "y":1}, + {"x":6.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, "w":1.5}, + {"x":0, "y":2}, + {"x":1.25, "y":2, "w":1.75}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "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, "w":2.25}, + {"x":1.25, "y":3, "w":2.25}, + {"x":3.5, "y":3}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.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, "w":1.75}, + {"x":17.25, "y":3}, + {"x":1.25, "y":4, "w":1.5}, + {"x":4.25, "y":4, "w":1.5}, + {"x":5.75, "y":4, "w":2}, + {"x":7.75, "y":4, "w":1.25}, + {"x":9.5, "y":4, "w":2.75}, + {"x":12.25, "y":4, "w":1.5}, + {"x":16.75, "y":4, "w":1.5} + ] + }, + "LAYOUT_alice_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.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":0, "y":1}, + {"x":1.25, "y":1, "w":1.5}, + {"x":2.75, "y":1}, + {"x":3.75, "y":1}, + {"x":4.75, "y":1}, + {"x":5.75, "y":1}, + {"x":6.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, "w":1.5}, + {"x":0, "y":2}, + {"x":1.25, "y":2, "w":1.75}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "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, "w":2.25}, + {"x":1.25, "y":3, "w":2.25}, + {"x":3.5, "y":3}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.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, "w":1.75}, + {"x":17.25, "y":3}, + {"x":1.25, "y":4, "w":1.5}, + {"x":4.25, "y":4, "w":1.5}, + {"x":5.75, "y":4, "w":2}, + {"x":7.75, "y":4, "w":1.25}, + {"x":9.5, "y":4, "w":2.75}, + {"x":12.25, "y":4, "w":1.5}, + {"x":16.75, "y":4, "w":1.5} + ] + }, + "LAYOUT_long_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.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, "w":2}, + {"x":0, "y":1}, + {"x":1.25, "y":1, "w":1.5}, + {"x":2.75, "y":1}, + {"x":3.75, "y":1}, + {"x":4.75, "y":1}, + {"x":5.75, "y":1}, + {"x":6.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, "w":1.5}, + {"x":0, "y":2}, + {"x":1.25, "y":2, "w":1.75}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "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, "w":2.25}, + {"x":1.25, "y":3, "w":2.25}, + {"x":3.5, "y":3}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.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, "w":2.75}, + {"x":1.25, "y":4, "w":1.5}, + {"x":4.25, "y":4, "w":1.5}, + {"x":5.75, "y":4, "w":2}, + {"x":7.75, "y":4, "w":1.25}, + {"x":9.5, "y":4, "w":2.75}, + {"x":12.25, "y":4, "w":1.5}, + {"x":16.75, "y":4, "w":1.5} + ] + }, + "LAYOUT_long_rshift_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.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":0, "y":1}, + {"x":1.25, "y":1, "w":1.5}, + {"x":2.75, "y":1}, + {"x":3.75, "y":1}, + {"x":4.75, "y":1}, + {"x":5.75, "y":1}, + {"x":6.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, "w":1.5}, + {"x":0, "y":2}, + {"x":1.25, "y":2, "w":1.75}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "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, "w":2.25}, + {"x":1.25, "y":3, "w":2.25}, + {"x":3.5, "y":3}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.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, "w":2.75}, + {"x":1.25, "y":4, "w":1.5}, + {"x":4.25, "y":4, "w":1.5}, + {"x":5.75, "y":4, "w":2}, + {"x":7.75, "y":4, "w":1.25}, + {"x":9.5, "y":4, "w":2.75}, + {"x":12.25, "y":4, "w":1.5}, + {"x":16.75, "y":4, "w":1.5} + ] + } + } + } \ No newline at end of file diff --git a/keyboards/linworks/dolice/keymaps/default/keymap.c b/keyboards/linworks/dolice/keymaps/default/keymap.c new file mode 100644 index 000000000000..45f710a7a934 --- /dev/null +++ b/keyboards/linworks/dolice/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2021 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_alice( + KC_PSCR, 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_PGUP, 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_PGDN, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL + ), + [1] = LAYOUT_alice( + KC_TRNS, 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, KC_DEL, + KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, 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_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/linworks/dolice/keymaps/via/keymap.c b/keyboards/linworks/dolice/keymaps/via/keymap.c new file mode 100644 index 000000000000..4879f3bad7bc --- /dev/null +++ b/keyboards/linworks/dolice/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2021 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_PSCR, 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_PGUP, 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_PGDN, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL + ), + [1] = LAYOUT_all( + KC_TRNS, 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, KC_DEL, KC_DEL, + KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, 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_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_all( + KC_TRNS, 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, KC_DEL, KC_DEL, + KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, 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_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_all( + KC_TRNS, 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, KC_DEL, KC_DEL, + KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, 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_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/linworks/dolice/keymaps/via/rules.mk b/keyboards/linworks/dolice/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/linworks/dolice/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/linworks/dolice/readme.md b/keyboards/linworks/dolice/readme.md new file mode 100644 index 000000000000..e46fb8261b56 --- /dev/null +++ b/keyboards/linworks/dolice/readme.md @@ -0,0 +1,21 @@ +# Dolice + +The Dolice is a alice keyboard designed by Lx3 (Linworks) and yuktsi (TGR) and run by KLC. + +* Keyboard maintainer: [ebastler](https://github.com/ebastler) +* Hardware supported: Linworks/TGR/KLC Dolice +* Hardware availability: Groupbuys. Check the ongoing ones on [the KLC Discord](https://discord.gg/d2A72mGPRB) or [Webshop](https://klc-playground.com/). + +Make example for this keyboard (after setting up your build environment): + + make linworks/dolice:default + +Flash example for this keyboard: + + make linworks/dolice:default:flash + +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). + +## Enter the bootloader: +* **Bootmagic reset**: Hold down the top left most switch and plug in the keyboard +* **Physical reset button**: Briefly short the pads marked "RES" and "GND" on the 6-pin programming header with tweezers diff --git a/keyboards/linworks/dolice/rules.mk b/keyboards/linworks/dolice/rules.mk new file mode 100644 index 000000000000..a3d10eaaaa38 --- /dev/null +++ b/keyboards/linworks/dolice/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output \ No newline at end of file From 8bffc6195959ceb3a0623595f3d4d5ac072af8c1 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 15 Mar 2022 23:27:55 +0000 Subject: [PATCH 0401/1832] Ensure dependent CI workflows run (#16662) --- .github/workflows/develop_update.yml | 1 + .github/workflows/feature_branch_update.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/develop_update.yml b/.github/workflows/develop_update.yml index 1f5c841bff67..90159406a6b0 100644 --- a/.github/workflows/develop_update.yml +++ b/.github/workflows/develop_update.yml @@ -14,6 +14,7 @@ jobs: steps: - uses: actions/checkout@v2 with: + token: ${{ secrets.QMK_BOT_TOKEN }} fetch-depth: 0 - name: Checkout develop diff --git a/.github/workflows/feature_branch_update.yml b/.github/workflows/feature_branch_update.yml index fc7bbafd182d..98d3616ad1e4 100644 --- a/.github/workflows/feature_branch_update.yml +++ b/.github/workflows/feature_branch_update.yml @@ -19,6 +19,7 @@ jobs: steps: - uses: actions/checkout@v2 with: + token: ${{ secrets.QMK_BOT_TOKEN }} fetch-depth: 0 - name: Checkout branch From f6f4d85aa5256cfeadcae0b502830342bfd0a085 Mon Sep 17 00:00:00 2001 From: an_achronism <87213873+an-achronism@users.noreply.github.com> Date: Wed, 16 Mar 2022 00:06:27 +0000 Subject: [PATCH 0402/1832] yugo_m enhancement: include all available key positions (#16216) * yugo_m enhancement to include all available key positions in matrix --- keyboards/yugo_m/model_m_101/config.h | 4 ++ keyboards/yugo_m/model_m_101/info.json | 4 +- .../keymaps/an_achronism_106/keymap.c | 53 ++++++++++++++ .../keymaps/an_achronism_106/readme.md | 3 + .../model_m_101/keymaps/default/keymap.c | 29 ++++---- .../model_m_101/keymaps/default/readme.md | 2 +- .../yugo_m/model_m_101/keymaps/via/keymap.c | 69 +++++++++++++++++++ .../yugo_m/model_m_101/keymaps/via/rules.mk | 1 + keyboards/yugo_m/model_m_101/model_m_101.h | 23 ++++--- keyboards/yugo_m/model_m_101/readme.md | 8 +++ keyboards/yugo_m/readme.md | 8 +++ 11 files changed, 176 insertions(+), 28 deletions(-) create mode 100644 keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/keymap.c create mode 100644 keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/readme.md create mode 100644 keyboards/yugo_m/model_m_101/keymaps/via/keymap.c create mode 100644 keyboards/yugo_m/model_m_101/keymaps/via/rules.mk diff --git a/keyboards/yugo_m/model_m_101/config.h b/keyboards/yugo_m/model_m_101/config.h index 94861a7587d5..e17f8310b8f8 100644 --- a/keyboards/yugo_m/model_m_101/config.h +++ b/keyboards/yugo_m/model_m_101/config.h @@ -1,5 +1,6 @@ /* Copyright 2020 Nidzo Tomic +Copyright 2022 an_achronism <87213873+an-achronism@users.noreply.github.com> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -96,3 +97,6 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT + +/* redefine available (emulated) EEPROM as 4 kB rather than the default 1 kB to let VIA use more of the 8 kB of on-chip Flash of the STM32F303 to store 4 layers (since 4 layers * 8 rows * 16 columns * 2 = 1024 bytes but the default max available is 1023 bytes due to ATMEGA32U4 etc. only having 1 kB of EEPROM) */ +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 diff --git a/keyboards/yugo_m/model_m_101/info.json b/keyboards/yugo_m/model_m_101/info.json index ec978056d3a2..399307c2d0b8 100644 --- a/keyboards/yugo_m/model_m_101/info.json +++ b/keyboards/yugo_m/model_m_101/info.json @@ -1,10 +1,10 @@ { - "keyboard_name": "IBM Model M 101/102", + "keyboard_name": "IBM Enhanced Keyboard", "url": "https://github.com/tomic1785/qmk_firmware/tree/stm32_model_m/keyboards/yugo_m/model_m_101", "maintainer": "Nidzo Tomic", "layouts": { "LAYOUT_all": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Num Lock", "x":18.5, "y":1.5}, {"label":"/", "x":19.5, "y":1.5}, {"label":"*", "x":20.5, "y":1.5}, {"label":"-", "x":21.5, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"7", "x":18.5, "y":2.5}, {"label":"8", "x":19.5, "y":2.5}, {"label":"9", "x":20.5, "y":2.5}, {"label":"+", "x":21.5, "y":2.5, "h":2}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.5}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"~", "x":12.75, "y":3.5}, {"label":"Enter", "x":13.75, "y":3.5, "w":1.25}, {"label":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"1", "x":18.5, "y":4.5}, {"label":"2", "x":19.5, "y":4.5}, {"label":"3", "x":20.5, "y":4.5}, {"label":"Enter", "x":21.5, "y":4.5, "h":2}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}, {"label":"0", "x":18.5, "y":5.5, "w":2}, {"label":".", "x":20.5, "y":5.5}] + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"Print Screen", "x":15.5, "y":0}, {"label":"Scroll Lock", "x":16.5, "y":0}, {"label":"Pause", "x":17.5, "y":0}, {"label":"\u00ac", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"\"", "x":2, "y":1.5}, {"label":"\u00a3", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"\uff0a", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"|", "x":13, "y":1.5}, {"label":"", "x":14, "y":1.5}, {"label":"Insert", "x":15.5, "y":1.5}, {"label":"Home", "x":16.5, "y":1.5}, {"label":"PgUp", "x":17.5, "y":1.5}, {"label":"Num Lock", "x":19, "y":1.5}, {"label":"/", "x":20, "y":1.5}, {"label":"\uff0a", "x":21, "y":1.5}, {"label":"\u2212", "x":22, "y":1.5}, {"label":"", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.5, "y":2.5}, {"label":"End", "x":16.5, "y":2.5}, {"label":"PgDn", "x":17.5, "y":2.5}, {"label":"7", "x":19, "y":2.5}, {"label":"8", "x":20, "y":2.5}, {"label":"9", "x":21, "y":2.5}, {"label":"+", "x":22, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.25}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"@", "x":11.75, "y":3.5}, {"label":"~", "x":12.75, "y":3.5}, {"label":"", "x":13.75, "y":3.5, "w":1.25}, {"label":"4", "x":19, "y":3.5}, {"label":"5", "x":20, "y":3.5}, {"label":"6", "x":21, "y":3.5}, {"label":"=", "x":22, "y":3.5}, {"label":"\u21e7", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"_", "x":12.25, "y":4.5}, {"label":"\u21e7", "x":13.25, "y":4.5, "w":1.75}, {"label":"", "x":16.5, "y":4.5}, {"label":"1", "x":19, "y":4.5}, {"label":"2", "x":20, "y":4.5}, {"label":"3", "x":21, "y":4.5}, {"label":"Enter", "x":22, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt Gr", "x":11, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"", "x":15.5, "y":5.5}, {"label":"", "x":16.5, "y":5.5}, {"label":"", "x":17.5, "y":5.5}, {"label":"0", "x":19, "y":5.5}, {"label":",", "x":20, "y":5.5}, {"label":".", "x":21, "y":5.5}, {"label":"GUI", "x":22, "y":5.5}] } } } diff --git a/keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/keymap.c b/keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/keymap.c new file mode 100644 index 000000000000..4b9646f9ea74 --- /dev/null +++ b/keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2022 an_achronism <87213873+an-achronism@users.noreply.github.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum keyboard_layers { + _BL, // Base Layer + _FN // Function Layer +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Layer 0: Default Layer + * ,-------------------------------------------------------------------------------------------------. + * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PSc|ScL|Cap| | + * | | + * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |BSp|Pse| |Ins|Hom|PgU| |Num|/ |* |= | + * |-----------------------------------------------------------| |-----------| |---------------| + * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |RCtrl| |Del|End|PgD| |7 |8 |9 |- | + * |-----------------------------------------------------------| |---------------| + * |LCtrl |A |S |D |F |G |H |J |K |L |; |' |# |Rtn | |4 |5 |6 |+ | + * |-----------------------------------------------------------| |---------------| + * |LShift|\ |Z |X |C |V |B |N |M |, |. |/ |RShift | |Up | |1 |2 |3 |Ent| + * |-----------------------------------------------------------| |---| |-----------| | + * |Esc/LAlt| |LGUI | Space |BS/Fn| |RAlt | |Lt |Dn |Rt | |0 |Fn | .| | + * `-------------------------------------------------------------------------------------------------' + */ + [_BL] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_CAPS, + KC_GRV, 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_PAUS, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PEQL, + 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_RCTL, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, + 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_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + LALT_T(KC_ESC), KC_LGUI, KC_SPC, LT(_FN, KC_BSPC), KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, MO(_FN), KC_PDOT, KC_NO), + [_FN] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, C(KC_BRK), _______, _______, _______, KC_F10, KC_F11, KC_F12, KC_PWR, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_MPRV, KC_MNXT, KC_APP, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_SLEP, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_F4, KC_F5, KC_F6, KC_CALC, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_EJCT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/readme.md b/keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/readme.md new file mode 100644 index 000000000000..6d3a7ff5d998 --- /dev/null +++ b/keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/readme.md @@ -0,0 +1,3 @@ +# an_achronism's custom 106-key layout (107-key if you stick the appropriate keys on RShift and JIS backslash, which are already mapped for convenience). + +# With the exception of a single extra matrix position between LAlt and Space which only appears on certain later membranes and is almost never actually used, the only unmapped key is the bottom right corner of the numpad (the unused lower half of the vertical 2u key most commonly used as either Enter or Field +). If you like, you can easily add that into the keymap by changing the appropriate KC_NO to whatever you want. diff --git a/keyboards/yugo_m/model_m_101/keymaps/default/keymap.c b/keyboards/yugo_m/model_m_101/keymaps/default/keymap.c index 52f79457e22b..d8615cb6e5a9 100644 --- a/keyboards/yugo_m/model_m_101/keymaps/default/keymap.c +++ b/keyboards/yugo_m/model_m_101/keymaps/default/keymap.c @@ -1,4 +1,5 @@ /* Copyright 2020 Nidzo Tomic + * Copyright 2022 an_achronism <87213873+an-achronism@users.noreply.github.com> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,24 +23,24 @@ enum keyboard_layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Layer 0: Default Layer * ,-------------------------------------------------------------------------------------------------. - * |Esc| | F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12| |PSc|ScL| Ps| | + * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PSc|ScL|Pse| | * | | - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BSp| |Ins|Hom|PgU| |Num| /| *| -| + * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |¥ |BSp| |Ins|Hom|PgU| |Num|/ |* |- | * |-----------------------------------------------------------| |-----------| |---------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|End|PgD| | 7| 8| 9| | - * |-----------------------------------------------------------| |-----------| | - * |CapsLk| A| S| D| F| G| H| J| K| L| ;| '| #|Ent | | 4| 5| 6| +| + * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ | |Del|End|PgD| |7 |8 |9 |+ | * |-----------------------------------------------------------| |---------------| - * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up| | 1| 2| 3| | - * |-----------------------------------------------------------| |---| |-----------| | - * |Ctrl | |Alt | Space |Alt Gr| |Ctrl | | Lt| Dn| Rt| | 0| ,|Ent| + * |CapsLk|A |S |D |F |G |H |J |K |L |; |' |# |Ent | |4 |5 |6 |= | + * |-----------------------------------------------------------| |---------------| + * |Shift|\ |Z |X |C |V |B |N |M |, |. |/ |\ |Shift| |Up | |1 |2 |3 |Ent| + * |-----------------------------------------------------------| |---| |---------------| + * |Ctrl | |Alt | Space |Alt Gr| |Ctrl | |Lt |Dn |Rt | |0 |, |. |GUI| * `-------------------------------------------------------------------------------------------------' */ [_BL] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, - KC_GRV, 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_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - 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, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, - 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_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL, + 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_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_INT6, KC_PDOT, KC_LGUI), }; diff --git a/keyboards/yugo_m/model_m_101/keymaps/default/readme.md b/keyboards/yugo_m/model_m_101/keymaps/default/readme.md index ba8b91239e9a..3d983cc1e74b 100644 --- a/keyboards/yugo_m/model_m_101/keymaps/default/readme.md +++ b/keyboards/yugo_m/model_m_101/keymaps/default/readme.md @@ -1 +1 @@ -# The default keymap for 101/102 key keyboards. +# The default keymap for IBM/Lexmark/Unicomp Enhanced Keyboards (a.k.a. "Keyboard M", "Model M") with arrays comprising between 101 and 108 keys (unused keys can simply be ignored as they will be physically blocked by keycap stabiliser posts). As of February 2022, ANSI, ISO, and JIS key positions are all supported and mapped to the appropriate default functions. diff --git a/keyboards/yugo_m/model_m_101/keymaps/via/keymap.c b/keyboards/yugo_m/model_m_101/keymaps/via/keymap.c new file mode 100644 index 000000000000..ee3de82e3b16 --- /dev/null +++ b/keyboards/yugo_m/model_m_101/keymaps/via/keymap.c @@ -0,0 +1,69 @@ +/* Copyright 2022 an_achronism <87213873+an-achronism@users.noreply.github.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum keyboard_layers { + _L0, // Base Layer + _L1, + _L2, + _L3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Layer 0: Default Layer + * ,-------------------------------------------------------------------------------------------------. + * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PSc|ScL|Pse| | + * | | + * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |¥ |BSp| |Ins|Hom|PgU| |Num|/ |* |- | + * |-----------------------------------------------------------| |-----------| |---------------| + * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ | |Del|End|PgD| |7 |8 |9 |+ | + * |-----------------------------------------------------------| |---------------| + * |CapsLk|A |S |D |F |G |H |J |K |L |; |' |# |Ent | |4 |5 |6 |= | + * |-----------------------------------------------------------| |---------------| + * |Shift|\ |Z |X |C |V |B |N |M |, |. |/ |\ |Shift| |Up | |1 |2 |3 |Ent| + * |-----------------------------------------------------------| |---| |---------------| + * |Ctrl | |Alt | Space |Alt Gr| |Ctrl | |Lt |Dn |Rt | |0 |, |. |GUI| + * `-------------------------------------------------------------------------------------------------' + */ + [_L0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL, + 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_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_INT6, KC_PDOT, KC_LGUI), + [_L1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + [_L2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + [_L3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/yugo_m/model_m_101/keymaps/via/rules.mk b/keyboards/yugo_m/model_m_101/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/yugo_m/model_m_101/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/yugo_m/model_m_101/model_m_101.h b/keyboards/yugo_m/model_m_101/model_m_101.h index 7ee44f367b22..4b5961ee543f 100644 --- a/keyboards/yugo_m/model_m_101/model_m_101.h +++ b/keyboards/yugo_m/model_m_101/model_m_101.h @@ -1,4 +1,5 @@ /* Copyright 2020 Nidzo Tomic + * Copyright 2022 an_achronism <87213873+an-achronism@users.noreply.github.com> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,22 +25,22 @@ * (where COLUMNS and ROWS crosses). */ #define LAYOUT_all( \ - K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, \ + K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, \ \ - K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, K4P, K4Q, K4R, K4S, K4T, K4U, \ - K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3N, K3O, K3P, K3Q, K3R, K3S, K3T, K3U, \ - K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, K2O, K2P, K2Q, \ - K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, K1M, K1N, K1O, K1P, K1Q, K1R, \ - K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J \ + K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, MK1, K4N, K4O, K4P, K4Q, K4R, K4S, K4T, K4U, \ + K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3N, K3O, K3P, K3Q, K3R, K3S, K3T, K3U, \ + K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, K2O, K2P, K2Q, MK2, \ + K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, MK3, K1M, K1N, K1O, K1P, K1Q, K1R, \ + K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, MK4, K0I, K0J, MK5 \ ) \ { \ -/* 00 */ { KC_NO, KC_NO, K5A, K1B, K5E, K2F, K5F, K2G, K5G, KC_NO, K2L, KC_NO, K0I, K0J, K1N, K0B }, \ -/* 01 */ { KC_NO, K1A, K3A, K2A, K5D, K3F, K4N, K3G, K3M, K5H, K3L, K2O, K2P, K2Q, KC_NO, KC_NO }, \ +/* 00 */ { KC_NO, KC_NO, K5A, K1B, K5E, K2F, K5F, K2G, K5G, KC_NO, K2L, MK4, K0I, K0J, K1N, K0B }, \ +/* 01 */ { KC_NO, K1A, K3A, K2A, K5D, K3F, K4N, K3G, K3M, K5H, K3L, K2O, K2P, K2Q, MK2, KC_NO }, \ /* 02 */ { K0A, KC_NO, K4A, K5B, K5C, K4F, K5J, K4G, K4M, K5I, K4L, K3O, K4O, K4Q, K4P, KC_NO }, \ /* 03 */ { KC_NO, KC_NO, K4B, K4C, K4D, K4E, K5K, K4H, K4I, K4J, K4K, K5L, K5M, K3Q, K3P, K5N }, \ -/* 04 */ { KC_NO, KC_NO, K3B, K3C, K3D, K3E, KC_NO, K3H, K3I, K3J, K3K, K3R, K3S, K3T, K3U, K5O }, \ -/* 05 */ { KC_NO, KC_NO, K2B, K2C, K2D, K2E, K3N, K2H, K2I, K2J, K2K, K1O, K1P, K1Q, K1R, KC_NO }, \ +/* 04 */ { KC_NO, KC_NO, K3B, K3C, K3D, K3E, MK1, K3H, K3I, K3J, K3K, K3R, K3S, K3T, K3U, K5O }, \ +/* 05 */ { KC_NO, KC_NO, K2B, K2C, K2D, K2E, K3N, K2H, K2I, K2J, K2K, K1O, K1P, K1Q, K1R, MK5 }, \ /* 06 */ { K0E, K1M, K1C, K1D, K1E, K1F, K2N, K1I, K1J, K1K, K2M, K4R, K4S, K4T, K5P, KC_NO }, \ -/* 07 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K1G, K0C, K1H, KC_NO, KC_NO, K1L, K0G, K0H, K4U, K0F, K0D }, \ +/* 07 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K1G, K0C, K1H, MK3, KC_NO, K1L, K0G, K0H, K4U, K0F, K0D }, \ } /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ diff --git a/keyboards/yugo_m/model_m_101/readme.md b/keyboards/yugo_m/model_m_101/readme.md index 598f0fa79d26..7c14dea80423 100644 --- a/keyboards/yugo_m/model_m_101/readme.md +++ b/keyboards/yugo_m/model_m_101/readme.md @@ -15,3 +15,11 @@ Make example for this keyboard (after setting up your build environment): make yugo_m/model_m_101:default 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). + + + +Note regarding 2022 matrix update: + +The original author's firmware did not make several lesser-used membrane/matrix positions available to the controller. These are useful for JIS users and/or if you simply want to create a more unique layout. I've added all of the unused membrane positions to the firmware, except for an extremely seldom used one that sits in the left side of the space bar on some later membranes (I would have added it if I knew its matrix position, but I haven't mapped that out yet). The default mappings for these additional keys follow JIS conventions, except for the extra key on the bottom right corner of the numpad (lower half of vertical 2u Enter), which I've mapped to the LGUI key a.k.a. left Windows/Command key for now. Remap as you wish! + +- an_achronism, February 2022 \ No newline at end of file diff --git a/keyboards/yugo_m/readme.md b/keyboards/yugo_m/readme.md index 557c4262d543..40c7b6407353 100644 --- a/keyboards/yugo_m/readme.md +++ b/keyboards/yugo_m/readme.md @@ -9,3 +9,11 @@ Currently available only for 101/102 key keyboards. * Rev 1.1b For more info visit the project repository: [Yugo-M-controller-project](https://github.com/tomic1785/Yugo-M-controller-project) + + + +Note regarding 2022 matrix update: + +The original author's firmware did not make several lesser-used membrane/matrix positions available to the controller. These are useful for JIS users and/or if you simply want to create a more unique layout. I've added all of the unused membrane positions to the firmware, except for an extremely seldom used one that sits in the left side of the space bar on some later membranes (I would have added it if I knew its matrix position, but I haven't mapped that out yet). The default mappings for these additional keys follow JIS conventions, except for the extra key on the bottom right corner of the numpad (lower half of vertical 2u Enter), which I've mapped to the LGUI key a.k.a. left Windows/Command key for now. Remap as you wish! + +- an_achronism, February 2022 \ No newline at end of file From fded67f1a97499887857b1d2d2e226e4069ffdf5 Mon Sep 17 00:00:00 2001 From: AnthonyNguyen168 <89651736+AnthonyNguyen168@users.noreply.github.com> Date: Wed, 16 Mar 2022 10:13:14 +0700 Subject: [PATCH 0403/1832] [MB-65S] Change layout to follow change request from OEM (#16663) --- .../mb65s/keymaps/default/keymap.c | 24 +++++++-------- .../mechbrewery/mb65s/keymaps/iso/keymap.c | 22 +++++++------- .../mb65s/keymaps/split_bs/keymap.c | 30 +++++++++---------- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/keyboards/mechbrewery/mb65s/keymaps/default/keymap.c b/keyboards/mechbrewery/mb65s/keymaps/default/keymap.c index 512c04a2961f..5625e07568ec 100644 --- a/keyboards/mechbrewery/mb65s/keymaps/default/keymap.c +++ b/keyboards/mechbrewery/mb65s/keymaps/default/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap (Base Layer) Default Layer * ,---------------------------------------------------------------. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Del| + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Hom| * |---------------------------------------------------------------| * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PUp| * |---------------------------------------------------------------| @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------------------------------------------------------------' */ [0] = LAYOUT_65_ansi_blocker( - 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_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_HOME, 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_PGUP, 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, 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_END, @@ -41,23 +41,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap Fn Layer * ,---------------------------------------------------------------. - * |~ `|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete |Ins| + * |~ `|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | * |---------------------------------------------------------------| - * | | |Up | | | | | |PSc|SLk|Pau|Up | | | | + * |Caps | |Up | | | | | |Ins| |PSc|SLk|Pau| | | * |---------------------------------------------------------------| - * | |Lef|Dow|Rig| | | | |Hom|PUp|Lef|Rig| Reset | | + * | |Lef|Dow|Rig| | | | | | |Hom|PUp| | | * |---------------------------------------------------------------| - * | |BL-|BLT|BL+|BLS|BLM| | |End|PDn|Dow| |PUp| | + * | | | | | | |Vo-|Vo+|Mut|End|PDn| | | | * |---------------------------------------------------------------| - * | | | | | | | |Hom|PDn|End| + * | | | | | | | | | | | * `---------------------------------------------------------------' */ [1] = LAYOUT_65_ansi_blocker( - 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, KC_DEL, KC_INS, - _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, RESET, _______, - _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, BL_BRTG, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + 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, KC_DEL, _______, + KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, + _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/mechbrewery/mb65s/keymaps/iso/keymap.c b/keyboards/mechbrewery/mb65s/keymaps/iso/keymap.c index f6101815ac56..789976283859 100644 --- a/keyboards/mechbrewery/mb65s/keymaps/iso/keymap.c +++ b/keyboards/mechbrewery/mb65s/keymaps/iso/keymap.c @@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base layer * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ - * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Del│ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │PUp│ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent├───┤ @@ -42,23 +42,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Function layer * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ - * │ § │ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│Delete │Prt│ + * │ § │ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│Delete │ │ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ - * │ │Prv│Pau│Nxt│ │ │ │ │ │ │ │ │ │Reset│Ins│ + * │Caps │ │Up │ │ │ │ │ │Ins│ │PSc│SLk│Pau│ │ │ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ - * │ │Vl-│V0 │Vl+│ │ │ │ │ │ │ │ │ │ │Hom│ + * │ │Lef│Dow│Rig│ │ │ │ │ │ │Hom│PUp│ │ │ │ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ - * │ │BL-│BLT│BL+│BLS│BLM│ │ │ │ │ │LClick│MUp│End│ + * │ │ │ │ │ │ │Vo-│Vo+│Mut│End│PDn│ │ │ │ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ - * │ │ │ │ │ │ │ │MLt│MDw│MRt│ + * │ │ │ │ │ │ │ │ │ │ │ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ [1] = LAYOUT_65_ansi_blocker_isoenter( - 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, KC_DEL, KC_PSCR, - _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_HOME, - _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, BL_BRTG, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_END, - _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + 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, KC_DEL, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/mechbrewery/mb65s/keymaps/split_bs/keymap.c b/keyboards/mechbrewery/mb65s/keymaps/split_bs/keymap.c index 0cbb5040ea78..db56fae4422a 100644 --- a/keyboards/mechbrewery/mb65s/keymaps/split_bs/keymap.c +++ b/keyboards/mechbrewery/mb65s/keymaps/split_bs/keymap.c @@ -20,44 +20,44 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap (Base Layer) Default Layer * ,---------------------------------------------------------------. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| - | = |Bsp|Del|Hom| + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| - | = |Bsp|Bsp|Hom| * |---------------------------------------------------------------| * |Tab | Q| W| E| R| T| Y| U| I| O| P| [ | ] | \ |PUp| * |---------------------------------------------------------------| * |Caps | A| S| D| F| G| H| J| K| L| ; | ' |Return |PDn| * |---------------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| , | . | / |Shift | Up|Hom| + * |Shift | Z| X| C| V| B| N| M| , | . | / |Shift | Up|End| * |---------------------------------------------------------------| - * |Ctrl|LGUI|Alt | Space |GUI |Fn | |Lef|Dow|Rig| + * |Ctrl|LGUI|Alt | Space |Alt |Fn | |Lef|Dow|Rig| * `---------------------------------------------------------------' */ [0] = LAYOUT_all( - 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_HOME, + 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_BSPC, KC_HOME, 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_PGUP, 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, 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_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI MO(1), KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), /* Keymap Fn Layer * ,---------------------------------------------------------------. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| - | = | |Del|Ins| + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| - | = |Del|Del| | * |---------------------------------------------------------------| - * | | |Up | | | | | |PSc|SLk|Pau|Up | | | | + * |Caps | |Up | | | | | |Ins| |PSc|SLk|Pau| | | * |---------------------------------------------------------------| - * | |Lef|Dow|Rig| | | | |Hom|PUp|Lef|Rig| Reset |Vl+| + * | |Lef|Dow|Rig| | | | | | |Hom|PUp| | | * |---------------------------------------------------------------| - * | |BL-|BLT|BL+|BLS|BLM| | |End|PDn|Dow| | |Vl-| + * | | | | | | |Vo-|Vo+|Mut|End|PDn| | | | * |---------------------------------------------------------------| - * | | | | | | | |Prv|Ply|Nxt| + * | | | | | | | | | | | * `---------------------------------------------------------------' */ [1] = LAYOUT_all( - 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, _______, KC_DEL, KC_INS, - _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, RESET, KC_VOLU, - _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, BL_BRTG, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, KC_VOLD, - _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT + 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, KC_DEL, KC_DEL, _______, + _______, _______, KC_UP, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; From a867cfc26d811367ad345f31657547e9d603d869 Mon Sep 17 00:00:00 2001 From: Yakbats Date: Tue, 15 Mar 2022 20:14:31 -0700 Subject: [PATCH 0404/1832] Update the AL1 Vender ID (#16660) * Add via to AL1 * Updated number of rows and columns, and applied suggestions from code review * Update Vender ID Change the Vender ID for Triangle Lab to comply with the via PR checklist. --- keyboards/al1/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/al1/config.h b/keyboards/al1/config.h index 078e9cb41e01..ea6474dc1854 100644 --- a/keyboards/al1/config.h +++ b/keyboards/al1/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED +#define VENDOR_ID 0x544C #define PRODUCT_ID 0x6050 #define DEVICE_VER 0x0104 #define MANUFACTURER Alsoran From 8c5779f7689d8e0f84f98d29e7e63f1058f30f0e Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 16 Mar 2022 14:57:47 +1100 Subject: [PATCH 0405/1832] Fix m3n3van and minim keyboard names in keymap JSON (#16665) --- keyboards/matthewdias/m3n3van/keymaps/default/keymap.json | 2 +- keyboards/matthewdias/minim/keymaps/default/keymap.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/matthewdias/m3n3van/keymaps/default/keymap.json b/keyboards/matthewdias/m3n3van/keymaps/default/keymap.json index d59debdaf137..f2e65452caae 100644 --- a/keyboards/matthewdias/m3n3van/keymaps/default/keymap.json +++ b/keyboards/matthewdias/m3n3van/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "m3n3van", + "keyboard": "matthewdias/m3n3van", "keymap": "default", "layout": "LAYOUT", "layers": [ diff --git a/keyboards/matthewdias/minim/keymaps/default/keymap.json b/keyboards/matthewdias/minim/keymaps/default/keymap.json index bc7407e93a89..3bb5fe199276 100644 --- a/keyboards/matthewdias/minim/keymaps/default/keymap.json +++ b/keyboards/matthewdias/minim/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "minim", + "keyboard": "matthewdias/minim", "keymap": "default", "layout": "LAYOUT", "layers": [ From d5d2a01db2bc09735806fd62ef31997428885ddf Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 16 Mar 2022 15:08:52 +1100 Subject: [PATCH 0406/1832] gboards/butterstick: move steno rules config to keymap level (#16666) --- keyboards/gboards/butterstick/keymaps/default/rules.mk | 4 ++++ keyboards/gboards/butterstick/rules.mk | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 keyboards/gboards/butterstick/keymaps/default/rules.mk diff --git a/keyboards/gboards/butterstick/keymaps/default/rules.mk b/keyboards/gboards/butterstick/keymaps/default/rules.mk new file mode 100644 index 000000000000..6a3346110808 --- /dev/null +++ b/keyboards/gboards/butterstick/keymaps/default/rules.mk @@ -0,0 +1,4 @@ +STENO_ENABLE = yes + +OPT_DEFS += -DONLYQWERTY -DDEBUG_MATRIX +SRC += sten.c diff --git a/keyboards/gboards/butterstick/rules.mk b/keyboards/gboards/butterstick/rules.mk index 4229aa7eecaf..e05ccd047c90 100644 --- a/keyboards/gboards/butterstick/rules.mk +++ b/keyboards/gboards/butterstick/rules.mk @@ -12,8 +12,4 @@ EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover -STENO_ENABLE = yes # Needed for chording - -OPT_DEFS += -DONLYQWERTY -DDEBUG_MATRIX -SRC += sten.c LTO_ENABLE = yes From 193dd01f4ec06c3153b23a5cd809fbd97f43012d Mon Sep 17 00:00:00 2001 From: Jay Greco Date: Wed, 16 Mar 2022 08:34:16 -0700 Subject: [PATCH 0407/1832] [Keyboard] Add nullbits TIDBIT (#15182) --- keyboards/nullbitsco/tidbit/config.h | 62 ++++ keyboards/nullbitsco/tidbit/info.json | 14 + .../tidbit/keymaps/default/keymap.c | 40 +++ .../nullbitsco/tidbit/keymaps/oled/keymap.c | 58 ++++ .../nullbitsco/tidbit/keymaps/oled/rules.mk | 3 + .../tidbit/keymaps/snailmap_lite/keymap.c | 283 ++++++++++++++++++ .../tidbit/keymaps/snailmap_lite/rules.mk | 6 + .../nullbitsco/tidbit/keymaps/via/keymap.c | 59 ++++ .../nullbitsco/tidbit/keymaps/via/rules.mk | 1 + keyboards/nullbitsco/tidbit/readme.md | 26 ++ keyboards/nullbitsco/tidbit/rules.mk | 26 ++ keyboards/nullbitsco/tidbit/tidbit.c | 157 ++++++++++ keyboards/nullbitsco/tidbit/tidbit.h | 37 +++ 13 files changed, 772 insertions(+) create mode 100644 keyboards/nullbitsco/tidbit/config.h create mode 100644 keyboards/nullbitsco/tidbit/info.json create mode 100644 keyboards/nullbitsco/tidbit/keymaps/default/keymap.c create mode 100644 keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c create mode 100644 keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk create mode 100644 keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c create mode 100644 keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk create mode 100644 keyboards/nullbitsco/tidbit/keymaps/via/keymap.c create mode 100644 keyboards/nullbitsco/tidbit/keymaps/via/rules.mk create mode 100644 keyboards/nullbitsco/tidbit/readme.md create mode 100644 keyboards/nullbitsco/tidbit/rules.mk create mode 100644 keyboards/nullbitsco/tidbit/tidbit.c create mode 100644 keyboards/nullbitsco/tidbit/tidbit.h diff --git a/keyboards/nullbitsco/tidbit/config.h b/keyboards/nullbitsco/tidbit/config.h new file mode 100644 index 000000000000..103dabdb96cd --- /dev/null +++ b/keyboards/nullbitsco/tidbit/config.h @@ -0,0 +1,62 @@ +/* Copyright 2021 Jay Greco + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + +/* Used to set remote for remote KB if VUSB detect doesn't work. */ +// #define KEYBOARD_REMOTE + +// Workaround for freezing after MacOS sleep +#define USB_SUSPEND_WAKEUP_DELAY 200 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6E61 +#define PRODUCT_ID 0x6064 +#define DEVICE_VER 0x0001 +#define MANUFACTURER nullbits +#define PRODUCT TIDBIT + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 6 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B1, E6, D7, C6, D4 } +#define MATRIX_COL_PINS { NO_PIN, NO_PIN, F4, F5, F6, F7 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* Optional SMT LED pins */ +#define RGB_DI_PIN B6 +#define RGBLED_NUM 8 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + +/* Optional encoder pins */ +// Encoders are defined in order. 1: B2 & B3, 2: B4 & B5, 3: D0 & D1, 4: D2 & D3 +#define ENCODERS_PAD_A { B2, B4, D0, D3 } +#define ENCODERS_PAD_B { B3, B5, D1, D2 } diff --git a/keyboards/nullbitsco/tidbit/info.json b/keyboards/nullbitsco/tidbit/info.json new file mode 100644 index 000000000000..5d260cc45302 --- /dev/null +++ b/keyboards/nullbitsco/tidbit/info.json @@ -0,0 +1,14 @@ +{ + "keyboard_name": "TIDBIT 19", + "url": "https://nullbits.co/tidbit/", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"/", "x":3.25, "y":0}, {"label":"*", "x":4.25, "y":0}, {"label":"-", "x":5.25, "y":0}, + {"label":"Enc 1", "x":0, "y":1}, {"label":"Enc 1", "x":1, "y":1}, {"label":"7", "x":2.25, "y":1}, {"label":"8", "x":3.25, "y":1}, {"label":"9", "x":4.25, "y":1}, {"label":"+", "x":5.25, "y":1}, + {"label":"Enc 2", "x":0, "y":2}, {"label":"Enc 2", "x":1, "y":2}, {"label":"4", "x":2.25, "y":2}, {"label":"5", "x":3.25, "y":2}, {"label":"6", "x":4.25, "y":2}, {"label":"+", "x":5.25, "y":2}, + {"label":"Enc 3", "x":0, "y":3}, {"label":"Enc 3", "x":1, "y":3}, {"label":"1", "x":2.25, "y":3}, {"label":"2", "x":3.25, "y":3}, {"label":"3", "x":4.25, "y":3}, {"label":"Enter", "x":5.25, "y":3}, + {"label":"Enc 4", "x":0, "y":4}, {"label":"Enc 4", "x":1, "y":4}, {"label":"0", "x":2.25, "y":4}, {"label":"0", "x":3.25, "y":4}, {"label":".", "x":4.25, "y":4}, {"label":"Enter", "x":5.25, "y":4}] + } + } +} diff --git a/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c new file mode 100644 index 000000000000..995aff8d6919 --- /dev/null +++ b/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2021 Jay Greco + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layers { + _BASE = 0, + _FUNC +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_PSLS, KC_PAST, KC_PMNS, + KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_MPRV, KC_MNXT, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_LEFT, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT + ), + + [_FUNC] = LAYOUT( + ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___ + ), +}; diff --git a/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c new file mode 100644 index 000000000000..3fbfb638ecd0 --- /dev/null +++ b/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c @@ -0,0 +1,58 @@ +/* Copyright 2021 Jay Greco + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layers { + _BASE = 0, + _VIA1, + _VIA2, + _VIA3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_PSLS, KC_PAST, KC_PMNS, + KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT + ), + + [_VIA1] = LAYOUT( + ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___ + ), + + [_VIA2] = LAYOUT( + ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___ + ), + + [_VIA3] = LAYOUT( + ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___ + ), +}; diff --git a/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk new file mode 100644 index 000000000000..ef531564fcdb --- /dev/null +++ b/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c new file mode 100644 index 000000000000..cfe97e30a371 --- /dev/null +++ b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c @@ -0,0 +1,283 @@ +/* Copyright 2021 dogspace + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layer_names { + _LAY0, + _LAY1, + _LAY2, + _LAY3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAY0] = LAYOUT( + KC_PSLS, KC_PAST, KC_PMNS, + KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT + ), + + [_LAY1] = LAYOUT( + ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___ + ), + + [_LAY2] = LAYOUT( + ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___ + ), + + [_LAY3] = LAYOUT( + ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___ + ), +}; + +#ifdef OLED_ENABLE +/*=========================================== OLED CONFIGURATION ===========================================*/ +#define OLED_ROTATE true // OLED rotation (flip 180* from default orientation) +#define GRAPH_DIRECTION true // Graph movement (true = right to left, false = left to right) +#define GRAPH_TOP_WPM 100.0 // Minimum WPM required to reach the top of the graph +#define GRAPH_REFRESH 1000 // In milliseconds, determines the graph-line frequency +#define ICON_MED_WPM 10 // WPM required to display the medium snail +#define ICON_FAST_WPM 25 // WPM required to display the fast snail + +// Layer names: Should be exactly 5 characters in length if vertical display, or 6 characters if horizontal +#define MA_LAYER_NAME "LAY 0" // Layer _MA name +#define L1_LAYER_NAME "LAY 1" // Layer _L1 name +#define L2_LAYER_NAME "LAY 2" // Layer _L2 name +#define L3_LAYER_NAME "LAY 3" // Layer _L3 name + +#define CAPLCK_STR "CAPLK" // Caps Lock string +#define NUMLCK_STR "NUMLK" // Num Lock string +#define SCRLK_STR "SCRLK" // Scroll Lock string +#define EMPTY_STR " " // Empty string + +/*================================================================================================================*/ + +typedef struct oled_params { + bool first_loop : 1; + uint8_t wpm_icon : 7; + uint16_t timer; + uint8_t wpm_limit; + uint8_t max_wpm; + uint8_t graph_lines[32]; +} oled_params; + +oled_params oled_data; + +void oled_init_data(void) { + // Initialize oled params + oled_data.first_loop = true; + oled_data.wpm_icon = 5; + oled_data.timer = 0; + oled_data.wpm_limit = 20; + oled_data.max_wpm = 0; + + for (int i=0; i<32; i++) { + oled_data.graph_lines[i] = 0; + } +} + +// Set OLED rotation +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + oled_init_data(); + return OLED_ROTATE ? OLED_ROTATION_270 : OLED_ROTATION_90; +} + +// Draw static background image to OLED (keyboard with no bottom row) +static void render_background(void) { + static const char PROGMEM nullbits_n_oled[] = { + 0x00, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0x80, 0x20, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x00, + }; + oled_write_raw_P(nullbits_n_oled, sizeof(nullbits_n_oled)); +} + +// Toggles pixel on/off, converts horizontal coordinates to vertical equivalent if necessary +static void write_pixel(uint8_t x, uint8_t y, bool onoff) { + oled_write_pixel(y, 127 - x, onoff); +} + +// Write active layer name +static void render_layer_state(void) { + oled_set_cursor(0, 15); + switch (get_highest_layer(layer_state)) { + case _LAY0: + oled_write_P(PSTR(MA_LAYER_NAME), false); + break; + case _LAY1: + oled_write_P(PSTR(L1_LAYER_NAME), false); + break; + case _LAY2: + oled_write_P(PSTR(L2_LAYER_NAME), false); + break; + case _LAY3: + oled_write_P(PSTR(L3_LAYER_NAME), false); + break; + default: + oled_write("ERROR", false); + break; + } +} + +// Update WPM counters +static void render_wpm_counters(uint8_t current_wpm) { + uint8_t cursorposition_cur = 13; + uint8_t cursorposition_max = 14; + + oled_set_cursor(0, cursorposition_cur); + oled_write(get_u8_str(current_wpm, '0'), false); + + if (current_wpm > oled_data.max_wpm) { + oled_data.max_wpm = current_wpm; + oled_data.wpm_limit = oled_data.max_wpm + 20; + oled_set_cursor(0, cursorposition_max); + oled_write(get_u8_str(current_wpm, '0'), false); + } +} + +static void render_led_status(void) { + // Host Keyboard LED Status + uint8_t led_usb_state = host_keyboard_leds(); + oled_set_cursor(0, 8); + oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR(CAPLCK_STR) : PSTR(EMPTY_STR), false); + oled_set_cursor(0, 9); + oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR(NUMLCK_STR) : PSTR(EMPTY_STR), false); + oled_set_cursor(0, 10); + oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR(SCRLK_STR) : PSTR(EMPTY_STR), false); +} + +// Update WPM snail icon +static void render_wpm_icon(uint8_t current_wpm) { + // wpm_icon is used to prevent unnecessary redraw + if ((current_wpm < ICON_MED_WPM) && (oled_data.wpm_icon != 0)) { + oled_data.wpm_icon = 0; + } else if ((current_wpm >= ICON_MED_WPM) && (current_wpm < ICON_FAST_WPM) && (oled_data.wpm_icon != 1)) { + oled_data.wpm_icon = 1; + } else if ((current_wpm >= ICON_FAST_WPM) && (oled_data.wpm_icon != 2)) { + oled_data.wpm_icon = 2; + } else { + return; + } + static const char PROGMEM snails[][2][24] = { + {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0xA0, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00}, + {0x40, 0x60, 0x50, 0x4E, 0x51, 0x64, 0x4A, 0x51, 0x54, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x40, 0x30, 0x09, 0x04, 0x02, 0x01, 0x00, 0x00}}, + {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x04, 0x98, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00}, + {0x60, 0x50, 0x54, 0x4A, 0x51, 0x64, 0x4A, 0x51, 0x55, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x21, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00, 0x00}}, + {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x10, 0x10, 0x10, 0x20, 0x40, 0x40, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00}, + {0x60, 0x58, 0x54, 0x62, 0x49, 0x54, 0x52, 0x51, 0x55, 0x49, 0x62, 0x52, 0x4D, 0x45, 0x46, 0x22, 0x21, 0x11, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00}} + }; + oled_set_cursor(0, 11); + oled_write_raw_P(snails[oled_data.wpm_icon][0], sizeof(snails[oled_data.wpm_icon][0])); + oled_set_cursor(0, 12); + oled_write_raw_P(snails[oled_data.wpm_icon][1], sizeof(snails[oled_data.wpm_icon][1])); +} + +// Update WPM graph +static void render_wpm_graph(uint8_t current_wpm) { + uint8_t line_height = ((current_wpm / GRAPH_TOP_WPM) * 7); + if (line_height > 7) { + line_height = 7; + } + // Count graph line pixels, return if nothing to draw + uint8_t pixel_count = line_height; + for (int i = 0; i < 31; i++) { + pixel_count += oled_data.graph_lines[i]; + } + if (pixel_count == 0) { + return; + } + // Shift array elements left or right depending on GRAPH_DIRECTION pend new graph line + if (GRAPH_DIRECTION) { + for (int i = 0; i < 31; i++) { + oled_data.graph_lines[i] = oled_data.graph_lines[i + 1]; + } + oled_data.graph_lines[31] = line_height; + } else { + for (int i = 31; i > 0; i--) { + oled_data.graph_lines[i] = oled_data.graph_lines[i - 1]; + } + oled_data.graph_lines[0] = line_height; + } + // Draw all graph lines (left to right, bottom to top) + uint16_t draw_count, arrpos; + for (int x = 1; x <= 63; x += 2) { + arrpos = x / 2; + draw_count = oled_data.graph_lines[arrpos]; + for (int y = 31; y >= 25; y--) { + if (draw_count > 0) { + write_pixel(x, y, true); + draw_count--; + } else { + write_pixel(x, y, false); + } + } + } +} + +// Call OLED functions +bool oled_task_user(void) { + // Draw OLED keyboard, prevent redraw + if (oled_data.first_loop) { + render_background(); + oled_data.first_loop = false; + } + // Get current WPM, subtract 25% for accuracy and prevent large jumps caused by simultaneous keypresses + uint8_t current_wpm = get_current_wpm(); + // Write active layer name to display + render_layer_state(); + // Update WPM counters + render_wpm_counters(current_wpm); + // Update WPM snail icon + render_wpm_icon(current_wpm); + // Update LED status + render_led_status(); + // Update WPM graph every graph_refresh milliseconds + if (timer_elapsed(oled_data.timer) > GRAPH_REFRESH) { + render_wpm_graph(current_wpm); + oled_data.timer = timer_read(); + } + return false; +} +#endif + +bool wpm_keycode_user(uint16_t keycode) { + // Count all keycodes on the macropad + return true; +} + diff --git a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk new file mode 100644 index 000000000000..1b72fd006a25 --- /dev/null +++ b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk @@ -0,0 +1,6 @@ +OLED_ENABLE = yes +WPM_ENABLE = yes +VIA_ENABLE = yes +SPACE_CADET_ENABLE = no +GRAVE_ESC_ENABLE = no +MAGIC_ENABLE = no diff --git a/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c new file mode 100644 index 000000000000..ad3e18075cc0 --- /dev/null +++ b/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c @@ -0,0 +1,59 @@ +/* Copyright 2021 Jay Greco + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layers { + _BASE = 0, + _VIA1, + _VIA2, + _VIA3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_PSLS, KC_PAST, KC_PMNS, + KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT + ), + + [_VIA1] = LAYOUT( + ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___ + ), + + [_VIA2] = LAYOUT( + ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___ + ), + + [_VIA3] = LAYOUT( + ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___ + ), +}; + diff --git a/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/nullbitsco/tidbit/readme.md b/keyboards/nullbitsco/tidbit/readme.md new file mode 100644 index 000000000000..f2d0d9934b06 --- /dev/null +++ b/keyboards/nullbitsco/tidbit/readme.md @@ -0,0 +1,26 @@ +# TIDBIT + +![TIDBIT](https://nullbits.co/static/img/tidbit1.jpg) + +A very moddable 19-key numpad kit built by nullbits. [More info at nullbits.co](https://nullbits.co/tidbit/) + +* Keyboard Maintainer: [Jay Greco](https://github.com/jaygreco) +* Hardware Supported: TIDBIT Rev1, Pro Micro comaptible MCUs. +* Hardware Availability: [nullbits.co](https://nullbits.co/) + +Note: If you are seeing issues with MacOS and keyboard hangs after sleep, make sure `NO_USB_STARTUP_CHECK = yes` is set in your rules.mk. + +Adds experimental "Remote Keyboard" functionality, which forwards keystrokes from an external macropad, keyboard, or numpad over UART/TRRS, removing the need for an additional USB connection. + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +Make example for this keyboard (after setting up your build environment): + + make nullbitsco/tidbit:default + +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/nullbitsco/tidbit/rules.mk b/keyboards/nullbitsco/tidbit/rules.mk new file mode 100644 index 000000000000..13893a69e23a --- /dev/null +++ b/keyboards/nullbitsco/tidbit/rules.mk @@ -0,0 +1,26 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +LTO_ENABLE = yes + +# Project specific files +SRC += common/bitc_led.c \ + common/remote_kb.c +QUANTUM_LIB_SRC += i2c_master.c \ + uart.c diff --git a/keyboards/nullbitsco/tidbit/tidbit.c b/keyboards/nullbitsco/tidbit/tidbit.c new file mode 100644 index 000000000000..6e7ef460e5db --- /dev/null +++ b/keyboards/nullbitsco/tidbit/tidbit.c @@ -0,0 +1,157 @@ +/* Copyright 2021 Jay Greco +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +typedef struct PACKED { + uint8_t r; + uint8_t c; +} encodermap_t; + +// Map encoders to their respective virtual matrix entry +// Allows for encoder control using VIA +const encodermap_t encoder_map[4][2] = { + {{1, 0}, {1, 1}}, // Encoder 1 matrix location + {{2, 0}, {2, 1}}, // Encoder 2 matrix location + {{3, 0}, {3, 1}}, // Encoder 3 matrix location + {{4, 0}, {4, 1}}, // Encoder 4 matrix location +}; + +bool numlock_set = false; + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + +static void render_logo(void) { + static const char PROGMEM tidbit_oled[] = { + 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0e, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3e, 0x3e, 0x7e, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, 0x3f, 0x7e, 0xfe, 0xfe, 0xfc, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfe, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xf0, 0xf0, 0xf8, 0xff, 0xff, 0xbf, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x03, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x07, 0x07, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xff, 0xff, 0x7f, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0x7c, 0x7c, 0x7c, 0x7e, 0x3e, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0x7c, 0x7c, 0x7c, 0x7e, 0x3f, 0x3f, 0x1f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0xff, 0xff, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0x7f, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + oled_write_raw_P(tidbit_oled, sizeof(tidbit_oled)); +}; + +bool oled_task_kb(void) { + if (!oled_task_user()) return false; + render_logo(); + return true; +} + +#endif + +static void process_encoder_matrix(encodermap_t pos) { + action_exec((keyevent_t){ + .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = true, .time = (timer_read() | 1) /* time should not be 0 */ + }); +#if TAP_CODE_DELAY > 0 + wait_ms(TAP_CODE_DELAY); +#endif + action_exec((keyevent_t){ + .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = false, .time = (timer_read() | 1) /* time should not be 0 */ + }); +} + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) return false; + process_encoder_matrix(encoder_map[index][clockwise ? 0 : 1]); + return false; +} + +// Use Bit-C LED to show NUM LOCK status +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res) { + set_bitc_LED(led_state.num_lock ? LED_DIM : LED_OFF); + } + return res; +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + process_record_remote_kb(keycode, record); + if (!process_record_user(keycode, record)) return false; + + // Get the current NLCK status & set if not set. + // Only do this once, in case user has a NLCK key + // and wants to disable it later on. + if (!numlock_set && record->event.pressed) { + led_t led_state = host_keyboard_led_state(); + if (!led_state.num_lock) { + register_code(KC_NLCK); + } + numlock_set = true; + } + + switch (keycode) { + case RESET: + if (record->event.pressed) { + set_bitc_LED(LED_DIM); + rgblight_disable_noeeprom(); + #ifdef OLED_ENABLE + oled_off(); + #endif + bootloader_jump(); // jump to bootloader + } + return false; + + default: + break; + } + + return true; +} + +void matrix_init_kb(void) { + set_bitc_LED(LED_OFF); + matrix_init_remote_kb(); + matrix_init_user(); +} + +void matrix_scan_kb(void) { + matrix_scan_remote_kb(); + matrix_scan_user(); +} diff --git a/keyboards/nullbitsco/tidbit/tidbit.h b/keyboards/nullbitsco/tidbit/tidbit.h new file mode 100644 index 000000000000..e4e80107e3ce --- /dev/null +++ b/keyboards/nullbitsco/tidbit/tidbit.h @@ -0,0 +1,37 @@ +/* Copyright 2021 Jay Greco + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define ___ KC_NO + +#include "quantum.h" +#include "common/remote_kb.h" +#include "common/bitc_led.h" + +#define LAYOUT( \ + K01, K02, K03, \ + E1CCW, E1CW, K10, K11, K12, K13, \ + E2CCW, E2CW, K20, K21, K22, K23, \ + E3CCW, E3CW, K30, K31, K32, K33, \ + E4CCW, E4CW, K40, K41, K42, K43 \ +) \ +{ \ + { ___, ___, ___, K01, K02, K03 }, \ + { E1CCW, E1CW, K10, K11, K12, K13 }, \ + { E2CCW, E2CW, K20, K21, K22, K23 }, \ + { E3CCW, E3CW, K30, K31, K32, K33 }, \ + { E4CCW, E4CW, K40, K41, K42, K43 } \ +} From 417f08911507307906f1dfbdb45d9d3a81232576 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 16 Mar 2022 23:45:06 +0000 Subject: [PATCH 0408/1832] Print out generated files during build (#16672) --- builddefs/build_keyboard.mk | 20 +++++++++++++++----- builddefs/message.mk | 1 + 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index d5efcb4193a1..44acd964cc7a 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -159,10 +159,14 @@ ifneq ("$(wildcard $(KEYMAP_JSON))", "") # Add rules to generate the keymap files - indentation here is important $(KEYMAP_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) - $(QMK_BIN) json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON) + @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) + $(eval CMD=$(QMK_BIN) json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)) + @$(BUILD_CMD) $(KEYMAP_OUTPUT)/src/config.h: $(KEYMAP_JSON) - $(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --keymap $(KEYMAP) --output $(KEYMAP_H) + @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) + $(eval CMD=$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --keymap $(KEYMAP) --output $(KEYMAP_H)) + @$(BUILD_CMD) generated-files: $(KEYMAP_OUTPUT)/src/config.h $(KEYMAP_OUTPUT)/src/keymap.c @@ -326,13 +330,19 @@ endif CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h $(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES) - $(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h + @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) + $(eval CMD=$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h) + @$(BUILD_CMD) $(KEYBOARD_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES) - $(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.h + @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) + $(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.h) + @$(BUILD_CMD) $(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES) - $(QMK_BIN) generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h + @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) + $(eval CMD=$(QMK_BIN) generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h) + @$(BUILD_CMD) generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.h $(KEYBOARD_OUTPUT)/src/layouts.h diff --git a/builddefs/message.mk b/builddefs/message.mk index d441f560be7b..07d0e07ce80a 100644 --- a/builddefs/message.mk +++ b/builddefs/message.mk @@ -63,6 +63,7 @@ MSG_COMPILING_CXX = Compiling: MSG_ASSEMBLING = Assembling: MSG_CLEANING = Cleaning project: MSG_CREATING_LIBRARY = Creating library: +MSG_GENERATING = Generating: MSG_SUBMODULE_DIRTY = $(WARN_COLOR)WARNING:$(NO_COLOR) Some git submodules are out of date or modified.\n\ Please consider running $(BOLD)make git-submodule$(NO_COLOR).\n\n MSG_NO_CMP = $(ERROR_COLOR)Error:$(NO_COLOR)$(BOLD) cmp command not found, please install diffutils\n$(NO_COLOR) From 02655690f48ec64ba982499cd3272ee6076b73b3 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 17 Mar 2022 14:19:34 -0700 Subject: [PATCH 0409/1832] [Core] Add compile/make macro to core (#15959) * [Core] Add KC_MAKE keycode to core fix linting fix testing error work around test idiocyncracies fix more lint something something stupid tests add doc * updates based on feedback * Add bad names * Fixup docs * semantics but cleaner Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Hide oneshot checks behind preprocessors * Move no-compile option around * Fix formatting * make shift optional * Make opt in * fix formatting * update send string function name Co-authored-by: Joel Challis Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Joel Challis --- docs/config_options.md | 2 ++ docs/keycodes.md | 11 ++++++----- docs/quantum_keycodes.md | 11 ++++++----- quantum/quantum.c | 20 ++++++++++++++++++++ quantum/quantum_keycodes.h | 2 ++ 5 files changed, 36 insertions(+), 10 deletions(-) diff --git a/docs/config_options.md b/docs/config_options.md index 838c4d86fdb0..8227a0e074f9 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -131,6 +131,8 @@ If you define these options you will disable the associated feature, which can s If you define these options you will enable the associated feature, which may increase your code size. +* `#define ENABLE_COMPILE_KEYCODE` + * Enables the `QK_MAKE` keycode * `#define FORCE_NKRO` * NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots. * `#define STRICT_LAYER_RELEASE` diff --git a/docs/keycodes.md b/docs/keycodes.md index 58ce43d309c5..942e0a661609 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -219,11 +219,12 @@ See also: [Basic Keycodes](keycodes_basic.md) See also: [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes) -|Key |Aliases |Description | -|-----------------|---------|-------------------------------------------------------| -|`QK_BOOTLOADER` |`QK_BOOT`|Put the keyboard into bootloader mode for flashing | -|`QK_DEBUG_TOGGLE`|`DB_TOGG`|Toggle debug mode | -|`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory)| +|Key |Aliases |Description | +|-----------------|---------|---------------------------------------------------------------------------------| +|`QK_BOOTLOADER` |`QK_BOOT`|Put the keyboard into bootloader mode for flashing | +|`QK_DEBUG_TOGGLE`|`DB_TOGG`|Toggle debug mode | +|`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory) | +|`QK_MAKE` | |Sends `qmk compile -kb (keyboard) -km (keymap)`, or `qmk flash` if shift is held | ## Audio Keys :id=audio-keys diff --git a/docs/quantum_keycodes.md b/docs/quantum_keycodes.md index 8e29e05886c0..46a8b7de1943 100644 --- a/docs/quantum_keycodes.md +++ b/docs/quantum_keycodes.md @@ -8,8 +8,9 @@ On this page we have documented keycodes between `0x00FF` and `0xFFFF` which are ## QMK Keycodes :id=qmk-keycodes -|Key |Aliases |Description | -|-----------------|---------|-------------------------------------------------------| -|`QK_BOOTLOADER` |`QK_BOOT`|Put the keyboard into bootloader mode for flashing | -|`QK_DEBUG_TOGGLE`|`DB_TOGG`|Toggle debug mode | -|`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory)| +|Key |Aliases |Description | +|-----------------|---------|---------------------------------------------------------------------------------| +|`QK_BOOTLOADER` |`QK_BOOT`|Put the keyboard into bootloader mode for flashing | +|`QK_DEBUG_TOGGLE`|`DB_TOGG`|Toggle debug mode | +|`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory) | +|`QK_MAKE` | |Sends `qmk compile -kb (keyboard) -km (keymap)`, or `qmk flash` if shift is held | diff --git a/quantum/quantum.c b/quantum/quantum.c index ef6e5ac1df75..d4e91ddd37fb 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -357,6 +357,26 @@ bool process_record_quantum(keyrecord_t *record) { case ONESHOT_DISABLE: oneshot_disable(); break; +#endif +#ifdef ENABLE_COMPILE_KEYCODE + case QK_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader + { +# ifdef NO_ACTION_ONESHOT + const uint8_t temp_mod = mod_config(get_mods()); +# else + const uint8_t temp_mod = mod_config(get_mods() | get_oneshot_mods()); + clear_oneshot_mods(); +# endif + clear_mods(); + + SEND_STRING_DELAY("qmk", TAP_CODE_DELAY); + if (temp_mod & MOD_MASK_SHIFT) { // if shift is held, flash rather than compile + SEND_STRING_DELAY(" flash ", TAP_CODE_DELAY); + } else { + SEND_STRING_DELAY(" compile ", TAP_CODE_DELAY); + } + SEND_STRING_DELAY("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP SS_TAP(X_ENTER), TAP_CODE_DELAY); + } #endif } } diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 2552c48165fd..dacfe5bdcd27 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -595,6 +595,8 @@ enum quantum_keycodes { MAGIC_TOGGLE_CONTROL_CAPSLOCK, + QK_MAKE, + // Start of custom keycode range for keyboards and keymaps - always leave at the end SAFE_RANGE }; From e5823b56501598c39d3f57719cf32f344212ede6 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 18 Mar 2022 01:09:29 +0000 Subject: [PATCH 0410/1832] [CLI] Add common util for dumping generated content (#16674) --- lib/python/qmk/cli/generate/config_h.py | 18 ++----- lib/python/qmk/cli/generate/dfu_header.py | 18 ++----- lib/python/qmk/cli/generate/keyboard_h.py | 18 ++----- lib/python/qmk/cli/generate/layouts.py | 19 ++----- lib/python/qmk/cli/generate/rules_mk.py | 14 ++--- lib/python/qmk/cli/generate/version_h.py | 42 +++++++++++---- lib/python/qmk/commands.py | 54 ++++++------------- lib/python/qmk/constants.py | 63 +++++++++++++++++++++++ 8 files changed, 131 insertions(+), 115 deletions(-) diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index 24bbbdf51726..fdc76b23d472 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -9,7 +9,9 @@ from qmk.json_schema import json_load, validate from qmk.keyboard import keyboard_completer, keyboard_folder from qmk.keymap import locate_keymap +from qmk.commands import dump_lines from qmk.path import normpath +from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE def direct_pins(direct_pins, postfix): @@ -181,7 +183,7 @@ def generate_config_h(cli): kb_info_json = dotty(info_json(cli.args.keyboard)) # Build the info_config.h file. - config_h_lines = ['/* This file was generated by `qmk generate-config-h`. Do not edit or copy.', ' */', '', '#pragma once'] + config_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once'] generate_config_items(kb_info_json, config_h_lines) @@ -194,16 +196,4 @@ def generate_config_h(cli): generate_split_config(kb_info_json, config_h_lines) # Show the results - config_h = '\n'.join(config_h_lines) - - if cli.args.output: - cli.args.output.parent.mkdir(parents=True, exist_ok=True) - if cli.args.output.exists(): - cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak')) - cli.args.output.write_text(config_h) - - if not cli.args.quiet: - cli.log.info('Wrote info_config.h to %s.', cli.args.output) - - else: - print(config_h) + dump_lines(cli.args.output, config_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/cli/generate/dfu_header.py b/lib/python/qmk/cli/generate/dfu_header.py index 7fb585fc7d95..e87311738741 100644 --- a/lib/python/qmk/cli/generate/dfu_header.py +++ b/lib/python/qmk/cli/generate/dfu_header.py @@ -7,6 +7,8 @@ from qmk.info import info_json from qmk.path import is_keyboard, normpath from qmk.keyboard import keyboard_completer +from qmk.commands import dump_lines +from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE @cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') @@ -30,7 +32,7 @@ def generate_dfu_header(cli): # Build the Keyboard.h file. kb_info_json = dotty(info_json(cli.config.generate_dfu_header.keyboard)) - keyboard_h_lines = ['/* This file was generated by `qmk generate-dfu-header`. Do not edit or copy.', ' */', '', '#pragma once'] + keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once'] keyboard_h_lines.append(f'#define MANUFACTURER {kb_info_json["manufacturer"]}') keyboard_h_lines.append(f'#define PRODUCT {kb_info_json["keyboard_name"]} Bootloader') @@ -45,16 +47,4 @@ def generate_dfu_header(cli): keyboard_h_lines.append(f'#define QMK_SPEAKER {kb_info_json["qmk_lufa_bootloader.speaker"]}') # Show the results - keyboard_h = '\n'.join(keyboard_h_lines) - - if cli.args.output: - cli.args.output.parent.mkdir(parents=True, exist_ok=True) - if cli.args.output.exists(): - cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak')) - cli.args.output.write_text(keyboard_h) - - if not cli.args.quiet: - cli.log.info('Wrote Keyboard.h to %s.', cli.args.output) - - else: - print(keyboard_h) + dump_lines(cli.args.output, keyboard_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/cli/generate/keyboard_h.py b/lib/python/qmk/cli/generate/keyboard_h.py index f05178cedef7..2058865cbf75 100755 --- a/lib/python/qmk/cli/generate/keyboard_h.py +++ b/lib/python/qmk/cli/generate/keyboard_h.py @@ -3,8 +3,10 @@ from milc import cli from qmk.info import info_json +from qmk.commands import dump_lines from qmk.keyboard import keyboard_completer, keyboard_folder from qmk.path import normpath +from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE def would_populate_layout_h(keyboard): @@ -36,22 +38,10 @@ def generate_keyboard_h(cli): has_layout_h = would_populate_layout_h(cli.args.keyboard) # Build the layouts.h file. - keyboard_h_lines = ['/* This file was generated by `qmk generate-keyboard-h`. Do not edit or copy.', ' */', '', '#pragma once', '#include "quantum.h"'] + keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '#include "quantum.h"'] if not has_layout_h: keyboard_h_lines.append('#pragma error(".h is only optional for data driven keyboards - kb.h == bad times")') # Show the results - keyboard_h = '\n'.join(keyboard_h_lines) + '\n' - - if cli.args.output: - cli.args.output.parent.mkdir(parents=True, exist_ok=True) - if cli.args.output.exists(): - cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak')) - cli.args.output.write_text(keyboard_h) - - if not cli.args.quiet: - cli.log.info('Wrote keyboard_h to %s.', cli.args.output) - - else: - print(keyboard_h) + dump_lines(cli.args.output, keyboard_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/cli/generate/layouts.py b/lib/python/qmk/cli/generate/layouts.py index a21311bd49e2..193633baf6a0 100755 --- a/lib/python/qmk/cli/generate/layouts.py +++ b/lib/python/qmk/cli/generate/layouts.py @@ -2,11 +2,12 @@ """ from milc import cli -from qmk.constants import COL_LETTERS, ROW_LETTERS +from qmk.constants import COL_LETTERS, ROW_LETTERS, GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE from qmk.decorators import automagic_keyboard, automagic_keymap from qmk.info import info_json from qmk.keyboard import keyboard_completer, keyboard_folder from qmk.path import is_keyboard, normpath +from qmk.commands import dump_lines usb_properties = { 'vid': 'VENDOR_ID', @@ -38,7 +39,7 @@ def generate_layouts(cli): kb_info_json = info_json(cli.config.generate_layouts.keyboard) # Build the layouts.h file. - layouts_h_lines = ['/* This file was generated by `qmk generate-layouts`. Do not edit or copy.', ' */', '', '#pragma once'] + layouts_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once'] if 'matrix_size' not in kb_info_json: cli.log.error('%s: Invalid matrix config.', cli.config.generate_layouts.keyboard) @@ -86,16 +87,4 @@ def generate_layouts(cli): layouts_h_lines.append('#endif') # Show the results - layouts_h = '\n'.join(layouts_h_lines) + '\n' - - if cli.args.output: - cli.args.output.parent.mkdir(parents=True, exist_ok=True) - if cli.args.output.exists(): - cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak')) - cli.args.output.write_text(layouts_h) - - if not cli.args.quiet: - cli.log.info('Wrote info_config.h to %s.', cli.args.output) - - else: - print(layouts_h) + dump_lines(cli.args.output, layouts_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py index ce824f6378e6..29a1130f9912 100755 --- a/lib/python/qmk/cli/generate/rules_mk.py +++ b/lib/python/qmk/cli/generate/rules_mk.py @@ -9,7 +9,9 @@ from qmk.json_schema import json_load, validate from qmk.keyboard import keyboard_completer, keyboard_folder from qmk.keymap import locate_keymap +from qmk.commands import dump_lines from qmk.path import normpath +from qmk.constants import GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE def process_mapping_rule(kb_info_json, rules_key, info_dict): @@ -55,7 +57,7 @@ def generate_rules_mk(cli): kb_info_json = dotty(info_json(cli.args.keyboard)) info_rules_map = json_load(Path('data/mappings/info_rules.json')) - rules_mk_lines = ['# This file was generated by `qmk generate-rules-mk`. Do not edit or copy.', ''] + rules_mk_lines = [GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE] # Iterate through the info_rules map to generate basic rules for rules_key, info_dict in info_rules_map.items(): @@ -83,14 +85,9 @@ def generate_rules_mk(cli): rules_mk_lines.append('CUSTOM_MATRIX ?= yes') # Show the results - rules_mk = '\n'.join(rules_mk_lines) + '\n' + dump_lines(cli.args.output, rules_mk_lines) if cli.args.output: - cli.args.output.parent.mkdir(parents=True, exist_ok=True) - if cli.args.output.exists(): - cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak')) - cli.args.output.write_text(rules_mk) - if cli.args.quiet: if cli.args.escape: print(cli.args.output.as_posix().replace(' ', '\\ ')) @@ -98,6 +95,3 @@ def generate_rules_mk(cli): print(cli.args.output) else: cli.log.info('Wrote rules.mk to %s.', cli.args.output) - - else: - print(rules_mk) diff --git a/lib/python/qmk/cli/generate/version_h.py b/lib/python/qmk/cli/generate/version_h.py index 69341e36f084..be9646748e25 100644 --- a/lib/python/qmk/cli/generate/version_h.py +++ b/lib/python/qmk/cli/generate/version_h.py @@ -1,9 +1,15 @@ """Used by the make system to generate version.h for use in code. """ +from time import strftime + from milc import cli -from qmk.commands import create_version_h from qmk.path import normpath +from qmk.commands import dump_lines +from qmk.commands import get_git_version +from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE + +TIME_FMT = '%Y-%m-%d-%H:%M:%S' @cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') @@ -17,15 +23,29 @@ def generate_version_h(cli): if cli.args.skip_all: cli.args.skip_git = True - version_h = create_version_h(cli.args.skip_git, cli.args.skip_all) - - if cli.args.output: - cli.args.output.parent.mkdir(parents=True, exist_ok=True) - if cli.args.output.exists(): - cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak')) - cli.args.output.write_text(version_h) + if cli.args.skip_all: + current_time = "1970-01-01-00:00:00" + else: + current_time = strftime(TIME_FMT) - if not cli.args.quiet: - cli.log.info('Wrote version.h to %s.', cli.args.output) + if cli.args.skip_git: + git_version = "NA" + chibios_version = "NA" + chibios_contrib_version = "NA" else: - print(version_h) + git_version = get_git_version(current_time) + chibios_version = get_git_version(current_time, "chibios", "os") + chibios_contrib_version = get_git_version(current_time, "chibios-contrib", "os") + + # Build the version.h file. + version_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once'] + + version_h_lines.append(f""" +#define QMK_VERSION "{git_version}" +#define QMK_BUILDDATE "{current_time}" +#define CHIBIOS_VERSION "{chibios_version}" +#define CHIBIOS_CONTRIB_VERSION "{chibios_contrib_version}" +""") + + # Show the results + dump_lines(cli.args.output, version_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index e38f17156a74..44bd97d9be82 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -5,7 +5,6 @@ import shutil from pathlib import Path from subprocess import DEVNULL -from time import strftime from milc import cli import jsonschema @@ -14,8 +13,6 @@ from qmk.constants import QMK_FIRMWARE, KEYBOARD_OUTPUT_PREFIX from qmk.json_schema import json_load, validate -time_fmt = '%Y-%m-%d-%H:%M:%S' - def _find_make(): """Returns the correct make command for this environment. @@ -136,37 +133,6 @@ def get_make_parallel_args(parallel=1): return parallel_args -def create_version_h(skip_git=False, skip_all=False): - """Generate version.h contents - """ - if skip_all: - current_time = "1970-01-01-00:00:00" - else: - current_time = strftime(time_fmt) - - if skip_git: - git_version = "NA" - chibios_version = "NA" - chibios_contrib_version = "NA" - else: - git_version = get_git_version(current_time) - chibios_version = get_git_version(current_time, "chibios", "os") - chibios_contrib_version = get_git_version(current_time, "chibios-contrib", "os") - - version_h_lines = f"""/* This file was automatically generated. Do not edit or copy. - */ - -#pragma once - -#define QMK_VERSION "{git_version}" -#define QMK_BUILDDATE "{current_time}" -#define CHIBIOS_VERSION "{chibios_version}" -#define CHIBIOS_CONTRIB_VERSION "{chibios_contrib_version}" -""" - - return version_h_lines - - def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_vars): """Convert a configurator export JSON file into a C file and then compile it. @@ -201,9 +167,6 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_va keymap_dir.mkdir(exist_ok=True, parents=True) keymap_c.write_text(c_text) - version_h = Path('quantum/version.h') - version_h.write_text(create_version_h()) - # Return a command that can be run to make the keymap and flash if given verbose = 'true' if cli.config.general.verbose else 'false' color = 'true' if cli.config.general.color else 'false' @@ -357,3 +320,20 @@ def in_virtualenv(): """ active_prefix = getattr(sys, "base_prefix", None) or getattr(sys, "real_prefix", None) or sys.prefix return active_prefix != sys.prefix + + +def dump_lines(output_file, lines, quiet=True): + """Handle dumping to stdout or file + Creates parent folders if required + """ + generated = '\n'.join(lines) + '\n' + if output_file and output_file.name != '-': + output_file.parent.mkdir(parents=True, exist_ok=True) + if output_file.exists(): + output_file.replace(output_file.parent / (output_file.name + '.bak')) + output_file.write_text(generated) + + if not quiet: + cli.log.info(f'Wrote {output_file.name} to {output_file}.') + else: + print(generated) diff --git a/lib/python/qmk/constants.py b/lib/python/qmk/constants.py index e4b699cdb110..6956b7077221 100644 --- a/lib/python/qmk/constants.py +++ b/lib/python/qmk/constants.py @@ -1,6 +1,7 @@ """Information that should be available to the python library. """ from os import environ +from datetime import date from pathlib import Path # The root of the qmk_firmware tree. @@ -75,3 +76,65 @@ # Constants that should match their counterparts in make BUILD_DIR = environ.get('BUILD_DIR', '.build') KEYBOARD_OUTPUT_PREFIX = f'{BUILD_DIR}/obj_' + +# Headers for generated files +GPL2_HEADER_C_LIKE = f'''\ +// Copyright {date.today().year} QMK +// SPDX-License-Identifier: GPL-2.0-or-later +''' + +GPL2_HEADER_SH_LIKE = f'''\ +# Copyright {date.today().year} QMK +# SPDX-License-Identifier: GPL-2.0-or-later +''' + +GENERATED_HEADER_C_LIKE = '''\ +/******************************************************************************* + 88888888888 888 d8b .d888 d8b 888 d8b + 888 888 Y8P d88P" Y8P 888 Y8P + 888 888 888 888 + 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b + 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K + 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. + 888 888 888 888 X88 888 888 888 Y8b. 888 X88 + 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' + 888 888 + 888 888 + 888 888 + .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 + d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 + 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 + Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 + "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 + 888 + Y8b d88P + "Y88P" +*******************************************************************************/ +''' + +GENERATED_HEADER_SH_LIKE = '''\ +################################################################################ +# +# 88888888888 888 d8b .d888 d8b 888 d8b +# 888 888 Y8P d88P" Y8P 888 Y8P +# 888 888 888 888 +# 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b +# 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K +# 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. +# 888 888 888 888 X88 888 888 888 Y8b. 888 X88 +# 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' +# +# 888 888 +# 888 888 +# 888 888 +# .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 +# d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 +# 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 +# Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 +# "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 +# 888 +# Y8b d88P +# "Y88P" +# +################################################################################ +''' From ed773ab73cab83b842dc62ff94ffb337ec66a5f3 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 18 Mar 2022 16:02:24 +0000 Subject: [PATCH 0411/1832] Relocate CLI git interactions (#16682) --- lib/python/qmk/cli/doctor/check.py | 12 --- lib/python/qmk/cli/doctor/main.py | 3 +- lib/python/qmk/cli/generate/version_h.py | 8 +- lib/python/qmk/cli/new/keyboard.py | 2 +- lib/python/qmk/commands.py | 105 +--------------------- lib/python/qmk/git.py | 110 +++++++++++++++++++++++ 6 files changed, 118 insertions(+), 122 deletions(-) create mode 100644 lib/python/qmk/git.py diff --git a/lib/python/qmk/cli/doctor/check.py b/lib/python/qmk/cli/doctor/check.py index 2d691b64b050..8a0422ba72f8 100644 --- a/lib/python/qmk/cli/doctor/check.py +++ b/lib/python/qmk/cli/doctor/check.py @@ -7,7 +7,6 @@ from milc import cli from qmk import submodules -from qmk.constants import QMK_FIRMWARE class CheckStatus(Enum): @@ -150,14 +149,3 @@ def is_executable(command): cli.log.error("{fg_red}Can't run `%s %s`", command, version_arg) return False - - -def check_git_repo(): - """Checks that the .git directory exists inside QMK_HOME. - - This is a decent enough indicator that the qmk_firmware directory is a - proper Git repository, rather than a .zip download from GitHub. - """ - dot_git = QMK_FIRMWARE / '.git' - - return CheckStatus.OK if dot_git.exists() else CheckStatus.WARNING diff --git a/lib/python/qmk/cli/doctor/main.py b/lib/python/qmk/cli/doctor/main.py index 2e5e221e8ffd..2898a9894c0a 100755 --- a/lib/python/qmk/cli/doctor/main.py +++ b/lib/python/qmk/cli/doctor/main.py @@ -11,7 +11,8 @@ from qmk import submodules from qmk.constants import QMK_FIRMWARE, QMK_FIRMWARE_UPSTREAM from .check import CheckStatus, check_binaries, check_binary_versions, check_submodules -from qmk.commands import git_check_repo, git_get_branch, git_get_tag, git_is_dirty, git_get_remotes, git_check_deviation, in_virtualenv +from qmk.git import git_check_repo, git_get_branch, git_get_tag, git_is_dirty, git_get_remotes, git_check_deviation +from qmk.commands import in_virtualenv def os_tests(): diff --git a/lib/python/qmk/cli/generate/version_h.py b/lib/python/qmk/cli/generate/version_h.py index be9646748e25..a75702c529a3 100644 --- a/lib/python/qmk/cli/generate/version_h.py +++ b/lib/python/qmk/cli/generate/version_h.py @@ -6,7 +6,7 @@ from qmk.path import normpath from qmk.commands import dump_lines -from qmk.commands import get_git_version +from qmk.git import git_get_version from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE TIME_FMT = '%Y-%m-%d-%H:%M:%S' @@ -33,9 +33,9 @@ def generate_version_h(cli): chibios_version = "NA" chibios_contrib_version = "NA" else: - git_version = get_git_version(current_time) - chibios_version = get_git_version(current_time, "chibios", "os") - chibios_contrib_version = get_git_version(current_time, "chibios-contrib", "os") + git_version = git_get_version() or current_time + chibios_version = git_get_version("chibios", "os") or current_time + chibios_contrib_version = git_get_version("chibios-contrib", "os") or current_time # Build the version.h file. version_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once'] diff --git a/lib/python/qmk/cli/new/keyboard.py b/lib/python/qmk/cli/new/keyboard.py index 6fa9ad5b2c44..1cdfe5320687 100644 --- a/lib/python/qmk/cli/new/keyboard.py +++ b/lib/python/qmk/cli/new/keyboard.py @@ -10,7 +10,7 @@ from milc import cli from milc.questions import choice, question -from qmk.commands import git_get_username +from qmk.git import git_get_username from qmk.json_schema import load_jsonschema from qmk.path import keyboard from qmk.json_encoders import InfoJSONEncoder diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index 44bd97d9be82..d0bd00beb74f 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -4,13 +4,12 @@ import sys import shutil from pathlib import Path -from subprocess import DEVNULL from milc import cli import jsonschema import qmk.keymap -from qmk.constants import QMK_FIRMWARE, KEYBOARD_OUTPUT_PREFIX +from qmk.constants import KEYBOARD_OUTPUT_PREFIX from qmk.json_schema import json_load, validate @@ -90,31 +89,6 @@ def create_make_command(keyboard, keymap, target=None, dry_run=False, parallel=1 return create_make_target(':'.join(make_args), dry_run=dry_run, parallel=parallel, **env_vars) -def get_git_version(current_time, repo_dir='.', check_dir='.'): - """Returns the current git version for a repo, or the current time. - """ - git_describe_cmd = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags'] - - if repo_dir != '.': - repo_dir = Path('lib') / repo_dir - - if check_dir != '.': - check_dir = repo_dir / check_dir - - if Path(check_dir).exists(): - git_describe = cli.run(git_describe_cmd, stdin=DEVNULL, cwd=repo_dir) - - if git_describe.returncode == 0: - return git_describe.stdout.strip() - - else: - cli.log.warn(f'"{" ".join(git_describe_cmd)}" returned error code {git_describe.returncode}') - print(git_describe.stderr) - return current_time - - return current_time - - def get_make_parallel_args(parallel=1): """Returns the arguments for running the specified number of parallel jobs. """ @@ -237,83 +211,6 @@ def parse_configurator_json(configurator_file): return user_keymap -def git_get_username(): - """Retrieves user's username from Git config, if set. - """ - git_username = cli.run(['git', 'config', '--get', 'user.name']) - - if git_username.returncode == 0 and git_username.stdout: - return git_username.stdout.strip() - - -def git_check_repo(): - """Checks that the .git directory exists inside QMK_HOME. - - This is a decent enough indicator that the qmk_firmware directory is a - proper Git repository, rather than a .zip download from GitHub. - """ - dot_git_dir = QMK_FIRMWARE / '.git' - - return dot_git_dir.is_dir() - - -def git_get_branch(): - """Returns the current branch for a repo, or None. - """ - git_branch = cli.run(['git', 'branch', '--show-current']) - if not git_branch.returncode != 0 or not git_branch.stdout: - # Workaround for Git pre-2.22 - git_branch = cli.run(['git', 'rev-parse', '--abbrev-ref', 'HEAD']) - - if git_branch.returncode == 0: - return git_branch.stdout.strip() - - -def git_get_tag(): - """Returns the current tag for a repo, or None. - """ - git_tag = cli.run(['git', 'describe', '--abbrev=0', '--tags']) - if git_tag.returncode == 0: - return git_tag.stdout.strip() - - -def git_is_dirty(): - """Returns 1 if repo is dirty, or 0 if clean - """ - git_diff_staged_cmd = ['git', 'diff', '--quiet'] - git_diff_unstaged_cmd = [*git_diff_staged_cmd, '--cached'] - - unstaged = cli.run(git_diff_staged_cmd) - staged = cli.run(git_diff_unstaged_cmd) - - return unstaged.returncode != 0 or staged.returncode != 0 - - -def git_get_remotes(): - """Returns the current remotes for a repo. - """ - remotes = {} - - git_remote_show_cmd = ['git', 'remote', 'show'] - git_remote_get_cmd = ['git', 'remote', 'get-url'] - - git_remote_show = cli.run(git_remote_show_cmd) - if git_remote_show.returncode == 0: - for name in git_remote_show.stdout.splitlines(): - git_remote_name = cli.run([*git_remote_get_cmd, name]) - remotes[name.strip()] = {"url": git_remote_name.stdout.strip()} - - return remotes - - -def git_check_deviation(active_branch): - """Return True if branch has custom commits - """ - cli.run(['git', 'fetch', 'upstream', active_branch]) - deviations = cli.run(['git', '--no-pager', 'log', f'upstream/{active_branch}...{active_branch}']) - return bool(deviations.returncode) - - def in_virtualenv(): """Check if running inside a virtualenv. Based on https://stackoverflow.com/a/1883251 diff --git a/lib/python/qmk/git.py b/lib/python/qmk/git.py new file mode 100644 index 000000000000..beeb68914498 --- /dev/null +++ b/lib/python/qmk/git.py @@ -0,0 +1,110 @@ +"""Functions for working with the QMK repo. +""" +from subprocess import DEVNULL +from pathlib import Path + +from milc import cli + +from qmk.constants import QMK_FIRMWARE + + +def git_get_version(repo_dir='.', check_dir='.'): + """Returns the current git version for a repo, or None. + """ + git_describe_cmd = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags'] + + if repo_dir != '.': + repo_dir = Path('lib') / repo_dir + + if check_dir != '.': + check_dir = repo_dir / check_dir + + if Path(check_dir).exists(): + git_describe = cli.run(git_describe_cmd, stdin=DEVNULL, cwd=repo_dir) + + if git_describe.returncode == 0: + return git_describe.stdout.strip() + + else: + cli.log.warn(f'"{" ".join(git_describe_cmd)}" returned error code {git_describe.returncode}') + print(git_describe.stderr) + return None + + return None + + +def git_get_username(): + """Retrieves user's username from Git config, if set. + """ + git_username = cli.run(['git', 'config', '--get', 'user.name']) + + if git_username.returncode == 0 and git_username.stdout: + return git_username.stdout.strip() + + +def git_get_branch(): + """Returns the current branch for a repo, or None. + """ + git_branch = cli.run(['git', 'branch', '--show-current']) + if not git_branch.returncode != 0 or not git_branch.stdout: + # Workaround for Git pre-2.22 + git_branch = cli.run(['git', 'rev-parse', '--abbrev-ref', 'HEAD']) + + if git_branch.returncode == 0: + return git_branch.stdout.strip() + + +def git_get_tag(): + """Returns the current tag for a repo, or None. + """ + git_tag = cli.run(['git', 'describe', '--abbrev=0', '--tags']) + if git_tag.returncode == 0: + return git_tag.stdout.strip() + + +def git_get_remotes(): + """Returns the current remotes for a repo. + """ + remotes = {} + + git_remote_show_cmd = ['git', 'remote', 'show'] + git_remote_get_cmd = ['git', 'remote', 'get-url'] + + git_remote_show = cli.run(git_remote_show_cmd) + if git_remote_show.returncode == 0: + for name in git_remote_show.stdout.splitlines(): + git_remote_name = cli.run([*git_remote_get_cmd, name]) + remotes[name.strip()] = {"url": git_remote_name.stdout.strip()} + + return remotes + + +def git_is_dirty(): + """Returns 1 if repo is dirty, or 0 if clean + """ + git_diff_staged_cmd = ['git', 'diff', '--quiet'] + git_diff_unstaged_cmd = [*git_diff_staged_cmd, '--cached'] + + unstaged = cli.run(git_diff_staged_cmd) + staged = cli.run(git_diff_unstaged_cmd) + + return unstaged.returncode != 0 or staged.returncode != 0 + + +def git_check_repo(): + """Checks that the .git directory exists inside QMK_HOME. + + This is a decent enough indicator that the qmk_firmware directory is a + proper Git repository, rather than a .zip download from GitHub. + """ + dot_git_dir = QMK_FIRMWARE / '.git' + + return dot_git_dir.is_dir() + + +def git_check_deviation(active_branch): + """Return True if branch has custom commits + """ + cli.run(['git', 'fetch', 'upstream', active_branch]) + deviations = cli.run(['git', '--no-pager', 'log', f'upstream/{active_branch}...{active_branch}']) + return bool(deviations.returncode) From 773242503ca7e12f7a77a588789640d0dbde8c04 Mon Sep 17 00:00:00 2001 From: Florian Date: Fri, 18 Mar 2022 18:24:43 +0100 Subject: [PATCH 0412/1832] annepro2: Add more LED functionalities to default-layer-indicators (#16676) --- keyboards/annepro2/annepro2.c | 9 +++++++++ keyboards/annepro2/annepro2.h | 1 + .../annepro2/keymaps/default-layer-indicators/keymap.c | 9 +++++++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/keyboards/annepro2/annepro2.c b/keyboards/annepro2/annepro2.c index 876726531593..0f49f9310437 100644 --- a/keyboards/annepro2/annepro2.c +++ b/keyboards/annepro2/annepro2.c @@ -192,6 +192,15 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { ap2_led_reset_foreground_color(); break; + case KC_AP_LED_TOG: + if (ap2_led_status.matrix_enabled) { + ap2_led_disable(); + } else { + ap2_led_enable(); + ap2_led_reset_foreground_color(); + } + break; + case KC_AP_LED_NEXT_PROFILE: ap2_led_next_profile(); ap2_led_reset_foreground_color(); diff --git a/keyboards/annepro2/annepro2.h b/keyboards/annepro2/annepro2.h index 1b5933f57724..143904b6ad1d 100644 --- a/keyboards/annepro2/annepro2.h +++ b/keyboards/annepro2/annepro2.h @@ -53,6 +53,7 @@ enum AP2KeyCodes { KC_AP2_USB, KC_AP_LED_ON, KC_AP_LED_OFF, + KC_AP_LED_TOG, KC_AP_LED_NEXT_PROFILE, KC_AP_LED_PREV_PROFILE, KC_AP_LED_NEXT_INTENSITY, diff --git a/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c b/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c index 405769466a94..1fd97c584e17 100644 --- a/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c +++ b/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c @@ -83,7 +83,7 @@ enum anne_pro_layers { /* * Layer FN2 * ,-----------------------------------------------------------------------------------------. - * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | F7 |LEDOF|LEDON| F10 | F11 | F12 | Bksp | + * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | F7 | F8 |LEDTG|LEDI+|LEDPV|LEDNX| Bksp | * |-----------------------------------------------------------------------------------------+ * | Tab | q | UP | e | r | t | y | u | i | o | PS | HOME | END | \ | * |-----------------------------------------------------------------------------------------+ @@ -96,7 +96,7 @@ enum anne_pro_layers { * */ [FN2] = LAYOUT_60_ansi( /* FN2 */ - _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, KC_AP_LED_OFF, KC_AP_LED_ON, _______, _______, _______, _______, + _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, _______, KC_AP_LED_TOG, KC_AP_LED_NEXT_INTENSITY, KC_AP_LED_PREV_PROFILE, KC_AP_LED_NEXT_PROFILE, _______, MO(FN2), _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______, @@ -105,6 +105,11 @@ enum anne_pro_layers { }; // clang-format on +void keyboard_post_init_user(void) { + ap2_led_enable(); + ap2_led_set_profile(7); +} + layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(state)) { case FN1: From 61c644f6d00cc107e9079aa5e87716174ad77d44 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 18 Mar 2022 11:49:22 -0700 Subject: [PATCH 0413/1832] [Keyboard] Update Tractyl Manuform config files (#16684) --- .../tractyl_manuform/5x6_right/f411/chconf.h | 38 ------------------- .../tractyl_manuform/5x6_right/f411/config.h | 8 ---- 2 files changed, 46 deletions(-) delete mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/f411/chconf.h diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/chconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/chconf.h deleted file mode 100644 index 8b55eaeef089..000000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/chconf.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/handwired/onekey/blackpill_f411/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_FREQUENCY 10000 - -#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE - -#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE - -#define CH_CFG_FACTORY_SEMAPHORES TRUE - -#define CH_CFG_FACTORY_MAILBOXES TRUE - -#define CH_CFG_FACTORY_OBJ_FIFOS TRUE - -#define CH_CFG_FACTORY_PIPES TRUE - -#include_next diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index 87c323905717..6f19332a6272 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h @@ -100,14 +100,6 @@ along with this program. If not, see . /* eeprom config */ #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 #define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 64 -// #define EXTERNAL_EEPROM_BYTE_COUNT 8196 -// #define EXTERNAL_EEPROM_PAGE_SIZE 32 -// #define EXTERNAL_EEPROM_ADDRESS_SIZE 2 -// #define DEBUG_EEPROM_OUTPUT - -#ifdef EEPROM_SPI -# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 8195 -#endif /* pmw3360 config */ #define PMW3360_CS_PIN B0 From 06b6729b168334c6496288acf6734aa586d335e2 Mon Sep 17 00:00:00 2001 From: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sat, 19 Mar 2022 02:52:33 -0400 Subject: [PATCH 0414/1832] [Keymap] Update some code and keyboard rules (#16680) --- users/stanrc85/config.h | 6 ++++++ users/stanrc85/rules.mk | 4 +++- users/stanrc85/stanrc85.c | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/users/stanrc85/config.h b/users/stanrc85/config.h index b883a21dd261..e12beedb90db 100644 --- a/users/stanrc85/config.h +++ b/users/stanrc85/config.h @@ -15,6 +15,12 @@ #define INDICATOR_PIN_2 D4 #endif +#ifdef KEYBOARD_mechlovin_adelais_standard_led_arm_rev4_stm32f303 + #define INDICATOR_PIN_0 B2 + #define INDICATOR_PIN_1 C15 + #define INDICATOR_PIN_2 B9 +#endif + #ifdef KEYBOARD_boardsource_the_mark #define RGB_MATRIX_KEYPRESSES #endif diff --git a/users/stanrc85/rules.mk b/users/stanrc85/rules.mk index 16cf1ace5d65..94f4027b965f 100644 --- a/users/stanrc85/rules.mk +++ b/users/stanrc85/rules.mk @@ -36,8 +36,10 @@ ifeq ($(strip $(KEYBOARD)), jacky_studio/bear_65) endif ifeq ($(strip $(KEYBOARD)), mechlovin/adelais/rgb_led/rev2) SRC += rgb_layers.c + SRC += rgb_timeout.c endif ifeq ($(strip $(KEYBOARD)), mechlovin/adelais/standard_led/arm/rev4/stm32f303) + OPT_DEFS += -DHAS_INDICATORS SRC += rgb_timeout.c - SRC += layer_rgb.c + SRC += indicator_layers_sneakbox.c endif diff --git a/users/stanrc85/stanrc85.c b/users/stanrc85/stanrc85.c index f8555d87bd6c..56e67e52b1f2 100644 --- a/users/stanrc85/stanrc85.c +++ b/users/stanrc85/stanrc85.c @@ -68,7 +68,7 @@ void lock_unlock (qk_tap_dance_state_t *state, void *user_data) { tap_code16(KC_CAD); #if defined(HAS_INDICATORS) led_user = 0; - #if defined(KEYBOARD_sneakbox_aliceclone) + #if defined(KEYBOARD_sneakbox_aliceclone) || defined(KEYBOARD_mechlovin_adelais_standard_led_arm_rev4_stm32f303) led_user = 1; #endif writePin(INDICATOR_PIN_0, !led_user); @@ -84,7 +84,7 @@ void lock_unlock (qk_tap_dance_state_t *state, void *user_data) { tap_code16(KC_LOCK); #if defined(HAS_INDICATORS) led_user = 1; - #if defined(KEYBOARD_sneakbox_aliceclone) + #if defined(KEYBOARD_sneakbox_aliceclone) || defined(KEYBOARD_mechlovin_adelais_standard_led_arm_rev4_stm32f303) led_user = 0; #endif writePin(INDICATOR_PIN_2, !led_user); From 9ee2effe8e61d32524b11092a0d04a96972c1493 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 19 Mar 2022 17:57:22 +1100 Subject: [PATCH 0415/1832] HD44780 driver rework (#16370) --- builddefs/common_features.mk | 3 +- docs/_summary.md | 2 +- docs/feature_hd44780.md | 345 +++++++++++++++++--- drivers/lcd/hd44780.c | 284 +++++++++++++++++ drivers/lcd/hd44780.h | 220 +++++++++++++ platforms/avr/drivers/hd44780.c | 542 -------------------------------- platforms/avr/drivers/hd44780.h | 348 -------------------- 7 files changed, 800 insertions(+), 944 deletions(-) create mode 100644 drivers/lcd/hd44780.c create mode 100644 drivers/lcd/hd44780.h delete mode 100644 platforms/avr/drivers/hd44780.c delete mode 100644 platforms/avr/drivers/hd44780.h diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 08d186d656c7..a1793f91a57d 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -646,8 +646,9 @@ ifeq ($(strip $(HAPTIC_ENABLE)),yes) endif ifeq ($(strip $(HD44780_ENABLE)), yes) - SRC += platforms/avr/drivers/hd44780.c OPT_DEFS += -DHD44780_ENABLE + COMMON_VPATH += $(DRIVER_PATH)/lcd + SRC += hd44780.c endif VALID_OLED_DRIVER_TYPES := SSD1306 custom diff --git a/docs/_summary.md b/docs/_summary.md index 250a48fe6b07..249bfcd9edfa 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -94,7 +94,7 @@ * Hardware Features * Displays - * [HD44780 LCD Controller](feature_hd44780.md) + * [HD44780 LCD Driver](feature_hd44780.md) * [ST7565 LCD Driver](feature_st7565.md) * [OLED Driver](feature_oled_driver.md) * Lighting diff --git a/docs/feature_hd44780.md b/docs/feature_hd44780.md index dc476c734f8d..4ade640baae7 100644 --- a/docs/feature_hd44780.md +++ b/docs/feature_hd44780.md @@ -1,57 +1,298 @@ -# HD44780 LCD Displays - -This is an integration of Peter Fleury's LCD library. This page will explain the basics. [For in depth documentation visit his page.](http://www.peterfleury.epizy.com/doxygen/avr-gcc-libraries/group__pfleury__lcd.html) - -You can enable support for HD44780 Displays by setting the `HD44780_ENABLE` flag in your keyboards `rules.mk` to yes. - -## Configuration - -You will need to configure the pins used by your display, and its number of lines and columns in your keyboard's `config.h`. - - -Uncomment the section labled HD44780 and change the parameters as needed. -```` -/* - * HD44780 LCD Display Configuration - */ - -#define LCD_LINES 2 //< number of visible lines of the display -#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display -#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode -#if LCD_IO_MODE -#define LCD_PORT PORTB //< port for the LCD lines -#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0 -#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1 -#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2 -#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3 -#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0 -#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1 -#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2 -#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3 -#define LCD_RS_PORT LCD_PORT //< port for RS line -#define LCD_RS_PIN 3 //< pin for RS line -#define LCD_RW_PORT LCD_PORT //< port for RW line -#define LCD_RW_PIN 2 //< pin for RW line -#define LCD_E_PORT LCD_PORT //< port for Enable line -#define LCD_E_PIN 1 //< pin for Enable line -#endif -```` - -Should you need to configure other properties you can copy them from `quantum/hd44780.h` and set them in your `config.h` +# HD44780 LCD Driver + +## Supported Hardware + +LCD modules using [HD44780U](https://www.sparkfun.com/datasheets/LCD/HD44780.pdf) IC or equivalent, communicating in 4-bit mode. + +|Module|Size |Notes | +|------|--------------|---------------------------------| +|1602A |16x2, 5x8 dots| | +|2004A |20x4, 5x8 dots|Untested, not currently supported| + +To run these modules at 3.3V, an additional MAX660 voltage converter IC must be soldered on, along with two 10µF capacitors. See [this page](https://www.codrey.com/electronic-circuits/hack-your-16x2-lcd/) for more details. ## Usage -To initialize your display, call `lcd_init()` with one of these parameters: -```` -LCD_DISP_OFF : display off -LCD_DISP_ON : display on, cursor off -LCD_DISP_ON_CURSOR : display on, cursor on -LCD_DISP_ON_CURSOR_BLINK : display on, cursor on flashing -```` -This is best done in your keyboards `matrix_init_kb` or your keymaps `matrix_init_user`. -It is advised to clear the display before use. -To do so call `lcd_clrscr()`. +Add the following to your `rules.mk`: + +```make +HD44780_ENABLE = yes +``` + +## Basic Configuration + +Add the following to your `config.h`: + +|Define |Default |Description | +|-----------------------|--------------|-----------------------------------------------------------------------------------------------------| +|`HD44780_DATA_PINS` |*Not defined* |(Required) An array of four GPIO pins connected to the display's D4-D7 pins, eg. `{ B1, B3, B2, B6 }`| +|`HD44780_RS_PIN` |*Not defined* |(Required) The GPIO connected to the display's RS pin | +|`HD44780_RW_PIN` |*Not defined* |(Required) The GPIO connected to the display's RW pin | +|`HD44780_E_PIN` |*Not defined* |(Required) The GPIO connected to the display's E pin | +|`HD44780_DISPLAY_COLS` |`16` |The number of visible characters on a single line of the display | +|`HD44780_DISPLAY_LINES`|`2` |The number of visible lines on the display | +|`HD44780_WRAP_LINES` |*Not defined* |If defined, input characters will wrap to the next line | + +## Examples + +### Hello World + +Add the following to your `keymap.c`: + +```c +void keyboard_post_init_user(void) { + hd44780_init(true, true); // Show blinking cursor + hd44780_puts_P(PSTR("Hello, world!\n")); +} +``` + +### Custom Character Definition + +Up to eight custom characters can be defined. This data is stored in the Character Generator RAM (CGRAM), and is not persistent across power cycles. + +This example defines the QMK Psi as the first custom character. The first 16 positions in the character set are reserved for the eight custom characters duplicated. + +``` +Byte | 16 8 4 2 1 + 1 | x x x ■ □ ■ □ ■ + 2 | x x x ■ □ ■ □ ■ + 3 | x x x ■ □ ■ □ ■ + 4 | x x x □ ■ ■ ■ □ + 5 | x x x □ □ ■ □ □ + 6 | x x x □ □ ■ □ □ + 7 | x x x □ □ ■ □ □ + 8 | x x x □ □ □ □ □ +``` + +```c +const uint8_t PROGMEM psi[8] = { 0x15, 0x15, 0x15, 0x0E, 0x04, 0x04, 0x04, 0x00 }; + +void keyboard_post_init_user(void) { + hd44780_init(false, false); + hd44780_define_char_P(0, psi); + // Cursor is incremented while defining characters so must be reset + hd44780_home(); + // 0x08 to avoid null terminator + hd44780_puts_P(PSTR("\x08 QMK Firmware")); +} +``` + +## API + +### `void hd44780_init(bool cursor, bool blink)` + +Initialize the display. + +This function should be called only once, before any of the other functions can be called. + +#### Arguments + + - `bool cursor` + Whether to show the cursor. + - `bool blink` + Whether to blink the cursor, if shown. + +--- + +### `void hd44780_clear(void)` + +Clear the display. + +This function is called on init. + +--- + +### `void hd44780_home(void)` + +Move the cursor to the home position. + +This function is called on init. + +--- + +### `void hd44780_on(bool cursor, bool blink)` + +Turn the display on, and/or set the cursor properties. + +This function is called on init. + +#### Arguments + + - `bool cursor` + Whether to show the cursor. + - `bool blink` + Whether to blink the cursor, if shown. + +--- + +### `void hd44780_off(void)` + +Turn the display off. + +--- + +### `void hd44780_set_cursor(uint8_t col, uint8_t line)` + +Move the cursor to the specified position on the display. + +#### Arguments + + - `uint8_t col` + The column number to move to, from 0 to 15 on 16x2 displays. + - `bool line` + The line number to move to, either 0 or 1 on 16x2 displays. + +--- + +### `void hd44780_putc(char c)` + +Print a character to the display. The newline character `\n` will move the cursor to the start of the next line. + +The exact character shown may depend on the ROM code of your particular display - refer to the datasheet for the full character set. + +#### Arguments + + - `char c` + The character to print. + +--- + +### `void hd44780_puts(const char *s)` + +Print a string of characters to the display. + +#### Arguments + + - `const char *s` + The string to print. + +--- + +### `void hd44780_puts_P(const char *s)` + +Print a string of characters from PROGMEM to the display. + +On ARM devices, this function is simply an alias of `hd44780_puts()`. + +#### Arguments + + - `const char *s` + The PROGMEM string to print (ie. `PSTR("Hello")`). + +--- + +### `void hd44780_define_char(uint8_t index, uint8_t *data)` + +Define a custom character. + +#### Arguments + + - `uint8_t index` + The index of the custom character to define, from 0 to 7. + - `uint8_t *data` + An array of 8 bytes containing the 5-bit row data of the character, where the first byte is the topmost row, and the least significant bit of each byte is the rightmost column. + +--- + +### `void hd44780_define_char_P(uint8_t index, const uint8_t *data)` + +Define a custom character from PROGMEM. + +On ARM devices, this function is simply an alias of `hd44780_define_char()`. + +#### Arguments + + - `uint8_t index` + The index of the custom character to define, from 0 to 7. + - `const uint8_t *data` + A PROGMEM array of 8 bytes containing the 5-bit row data of the character, where the first byte is the topmost row, and the least significant bit of each byte is the rightmost column. + +--- + +### `bool hd44780_busy(void)` + +Indicates whether the display is currently processing, and cannot accept instructions. + +#### Return Value + +`true` if the display is busy. + +--- + +### `void hd44780_write(uint8_t data, bool isData)` + +Write a byte to the display. + +#### Arguments + + - `uint8_t data` + The byte to send to the display. + - `bool isData` + Whether the byte is an instruction or character data. + +--- + +### `uint8_t hd44780_read(bool isData)` + +Read a byte from the display. + +#### Arguments + + - `bool isData` + Whether to read the current cursor position, or the character at the cursor. + +#### Return Value + +If `isData` is `true`, the returned byte will be the character at the current DDRAM address. Otherwise, it will be the current DDRAM address and the busy flag. + +--- + +### `void hd44780_command(uint8_t command)` + +Send a command to the display. Refer to the datasheet and `hd44780.h` for the valid commands and defines. + +This function waits for the display to clear the busy flag before sending the command. + +#### Arguments + + - `uint8_t command` + The command to send. + +--- + +### `void hd44780_data(uint8_t data)` + +Send a byte of data to the display. + +This function waits for the display to clear the busy flag before sending the data. + +#### Arguments + + - `uint8_t data` + The byte of data to send. + +--- + +### `void hd44780_set_cgram_address(uint8_t address)` + +Set the CGRAM address. + +This function is used when defining custom characters. + +#### Arguments + + - `uint8_t address` + The CGRAM address to move to, from `0x00` to `0x3F`. + +--- + +### `void hd44780_set_ddram_address(uint8_t address)` + +Set the DDRAM address. + +This function is used when printing characters to the display, and setting the cursor. -To now print something to your Display you first call `lcd_gotoxy(column, line)`. To go to the start of the first line you would call `lcd_gotoxy(0, 0)` and then print a string with `lcd_puts("example string")`. +#### Arguments -There are more methods available to control the display. [For in depth documentation please visit the linked page.](http://www.peterfleury.epizy.com/doxygen/avr-gcc-libraries/group__pfleury__lcd.html) + - `uint8_t address` + The DDRAM address to move to, from `0x00` to `0x7F`. diff --git a/drivers/lcd/hd44780.c b/drivers/lcd/hd44780.c new file mode 100644 index 000000000000..c988ebe56c45 --- /dev/null +++ b/drivers/lcd/hd44780.c @@ -0,0 +1,284 @@ +/* +Copyright 2022 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "hd44780.h" +#include "gpio.h" +#include "progmem.h" +#include "wait.h" + +#ifndef HD44780_DATA_PINS +# error hd44780: no data pins defined! +#endif + +#ifndef HD44780_RS_PIN +# error hd44780: no RS pin defined! +#endif + +#ifndef HD44780_RW_PIN +# error hd44780: no R/W pin defined! +#endif + +#ifndef HD44780_E_PIN +# error hd44780: no E pin defined! +#endif + +static const pin_t data_pins[4] = HD44780_DATA_PINS; + +#ifndef HD44780_DISPLAY_COLS +# define HD44780_DISPLAY_COLS 16 +#endif + +#ifndef HD44780_DISPLAY_LINES +# define HD44780_DISPLAY_LINES 2 +#endif + +#ifndef HD44780_DDRAM_LINE0_ADDR +# define HD44780_DDRAM_LINE0_ADDR 0x00 +#endif +#ifndef HD44780_DDRAM_LINE1_ADDR +# define HD44780_DDRAM_LINE1_ADDR 0x40 +#endif + +#define HD44780_INIT_DELAY_MS 16 +#define HD44780_ENABLE_DELAY_US 1 + +static void hd44780_latch(void) { + writePinHigh(HD44780_E_PIN); + wait_us(HD44780_ENABLE_DELAY_US); + writePinLow(HD44780_E_PIN); +} + +void hd44780_write(uint8_t data, bool isData) { + writePin(HD44780_RS_PIN, isData); + writePinLow(HD44780_RW_PIN); + + for (int i = 0; i < 4; i++) { + setPinOutput(data_pins[i]); + } + + // Write high nibble + for (int i = 0; i < 4; i++) { + writePin(data_pins[i], (data >> 4) & (1 << i)); + } + hd44780_latch(); + + // Write low nibble + for (int i = 0; i < 4; i++) { + writePin(data_pins[i], data & (1 << i)); + } + hd44780_latch(); + + for (int i = 0; i < 4; i++) { + writePinHigh(data_pins[i]); + } +} + +uint8_t hd44780_read(bool isData) { + uint8_t data = 0; + + writePin(HD44780_RS_PIN, isData); + writePinHigh(HD44780_RW_PIN); + + for (int i = 0; i < 4; i++) { + setPinInput(data_pins[i]); + } + + writePinHigh(HD44780_E_PIN); + wait_us(HD44780_ENABLE_DELAY_US); + + // Read high nibble + for (int i = 0; i < 4; i++) { + data |= (readPin(data_pins[i]) << i); + } + + data <<= 4; + + writePinLow(HD44780_E_PIN); + wait_us(HD44780_ENABLE_DELAY_US); + writePinHigh(HD44780_E_PIN); + wait_us(HD44780_ENABLE_DELAY_US); + + // Read low nibble + for (int i = 0; i < 4; i++) { + data |= (readPin(data_pins[i]) << i); + } + + writePinLow(HD44780_E_PIN); + + return data; +} + +bool hd44780_busy(void) { + return hd44780_read(false) & HD44780_BUSY_FLAG; +} + +void hd44780_command(uint8_t command) { + while (hd44780_busy()) + ; + hd44780_write(command, false); +} + +void hd44780_data(uint8_t data) { + while (hd44780_busy()) + ; + hd44780_write(data, true); +} + +void hd44780_clear(void) { + hd44780_command(HD44780_CMD_CLEAR_DISPLAY); +} + +void hd44780_home(void) { + hd44780_command(HD44780_CMD_RETURN_HOME); +} + +void hd44780_on(bool cursor, bool blink) { + if (cursor) { + if (blink) { + hd44780_command(HD44780_CMD_DISPLAY | HD44780_DISPLAY_ON | HD44780_DISPLAY_CURSOR | HD44780_DISPLAY_BLINK); + } else { + hd44780_command(HD44780_CMD_DISPLAY | HD44780_DISPLAY_ON | HD44780_DISPLAY_CURSOR); + } + } else { + hd44780_command(HD44780_CMD_DISPLAY | HD44780_DISPLAY_ON); + } +} + +void hd44780_off() { + hd44780_command(HD44780_CMD_DISPLAY); +} + +void hd44780_set_cgram_address(uint8_t address) { + hd44780_command(HD44780_CMD_SET_CGRAM_ADDRESS + (address & 0x3F)); +} + +void hd44780_set_ddram_address(uint8_t address) { + hd44780_command(HD44780_CMD_SET_DDRAM_ADDRESS + (address & 0x7F)); +} + +void hd44780_init(bool cursor, bool blink) { + setPinOutput(HD44780_RS_PIN); + setPinOutput(HD44780_RW_PIN); + setPinOutput(HD44780_E_PIN); + + for (int i = 0; i < 4; i++) { + setPinOutput(data_pins[i]); + } + + wait_ms(HD44780_INIT_DELAY_MS); + + // Manually configure for 4-bit mode - can't use hd44780_command() yet + // HD44780U datasheet, Fig. 24 (p46) + writePinHigh(data_pins[0]); // Function set + writePinHigh(data_pins[1]); // DL = 1 + hd44780_latch(); + wait_ms(5); + // Send again + hd44780_latch(); + wait_us(64); + // And again (?) + hd44780_latch(); + wait_us(64); + + writePinLow(data_pins[0]); // DL = 0 + hd44780_latch(); + wait_us(64); + +#if HD44780_DISPLAY_LINES == 1 + hd44780_command(HD44780_CMD_FUNCTION); // 4 bit, 1 line, 5x8 dots +#else + hd44780_command(HD44780_CMD_FUNCTION | HD44780_FUNCTION_2_LINES); // 4 bit, 2 lines, 5x8 dots +#endif + hd44780_on(cursor, blink); + hd44780_clear(); + hd44780_home(); + hd44780_command(HD44780_CMD_ENTRY_MODE | HD44780_ENTRY_MODE_INC); +} + +void hd44780_set_cursor(uint8_t col, uint8_t line) { + register uint8_t address = col; + +#if HD44780_DISPLAY_LINES == 1 + address += HD44780_DDRAM_LINE0_ADDR; +#elif HD44780_DISPLAY_LINES == 2 + if (line == 0) { + address += HD44780_DDRAM_LINE0_ADDR; + } else { + address += HD44780_DDRAM_LINE1_ADDR; + } +#endif + + hd44780_set_ddram_address(address); +} + +void hd44780_define_char(uint8_t index, uint8_t *data) { + hd44780_set_cgram_address((index & 0x7) << 3); + for (uint8_t i = 0; i < 8; i++) { + hd44780_data(data[i]); + } +} + +void hd44780_putc(char c) { + while (hd44780_busy()) + ; + uint8_t current_position = hd44780_read(false); + + if (c == '\n') { + hd44780_set_cursor(0, current_position < HD44780_DDRAM_LINE1_ADDR ? 1 : 0); + } else { +#if defined(HD44780_WRAP_LINES) +# if HD44780_DISPLAY_LINES == 1 + if (current_position == HD44780_DDRAM_LINE0_ADDR + HD44780_DISPLAY_COLS) { + // Go to start of line + hd44780_set_cursor(0, 0); + } +# elif HD44780_DISPLAY_LINES == 2 + if (current_position == HD44780_DDRAM_LINE0_ADDR + HD44780_DISPLAY_COLS) { + // Go to start of second line + hd44780_set_cursor(0, 1); + } else if (current_position == HD44780_DDRAM_LINE1_ADDR + HD44780_DISPLAY_COLS) { + // Go to start of first line + hd44780_set_cursor(0, 0); + } +# endif +#endif + hd44780_data(c); + } +} + +void hd44780_puts(const char *s) { + register char c; + while ((c = *s++)) { + hd44780_putc(c); + } +} + +#if defined(__AVR__) +void hd44780_define_char_P(uint8_t index, const uint8_t *data) { + hd44780_set_cgram_address(index << 3); + for (uint8_t i = 0; i < 8; i++) { + hd44780_data(pgm_read_byte(data++)); + } +} + +void hd44780_puts_P(const char *s) { + register char c; + while ((c = pgm_read_byte(s++))) { + hd44780_putc(c); + } +} +#endif diff --git a/drivers/lcd/hd44780.h b/drivers/lcd/hd44780.h new file mode 100644 index 000000000000..d4b8f9ea76a1 --- /dev/null +++ b/drivers/lcd/hd44780.h @@ -0,0 +1,220 @@ +/* +Copyright 2022 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include +#include + +/** + * \defgroup hd44780 + * + * HD44780 Character LCD Driver + * \{ + */ + +/* + * HD44780 instructions + * https://www.sparkfun.com/datasheets/LCD/HD44780.pdf + * Table 6 (p24) + */ +// Clear display +#define HD44780_CMD_CLEAR_DISPLAY 0x01 +// Return home +#define HD44780_CMD_RETURN_HOME 0x02 +// Entry mode set +#define HD44780_CMD_ENTRY_MODE 0x04 +#define HD44780_ENTRY_MODE_INC 0x02 // I/D +#define HD44780_ENTRY_MODE_SHIFT 0x01 // S +// Display on/off control +#define HD44780_CMD_DISPLAY 0x08 +#define HD44780_DISPLAY_ON 0x04 // D +#define HD44780_DISPLAY_CURSOR 0x02 // C +#define HD44780_DISPLAY_BLINK 0x01 // B +// Cursor or display shift +#define HD44780_CMD_MOVE 0x10 +#define HD44780_MOVE_DISPLAY 0x08 // S/C +#define HD44780_MOVE_RIGHT 0x04 // R/L +// Function set +#define HD44780_CMD_FUNCTION 0x20 +#define HD44780_FUNCTION_8_BIT 0x10 // DL +#define HD44780_FUNCTION_2_LINES 0x08 // N +#define HD44780_FUNCTION_5X10_DOTS 0x04 // F +// Set CGRAM address +#define HD44780_CMD_SET_CGRAM_ADDRESS 0x40 +// Set DDRAM address +#define HD44780_CMD_SET_DDRAM_ADDRESS 0x80 + +// Bitmask for busy flag when reading +#define HD44780_BUSY_FLAG 0x80 + +/** + * \brief Write a byte to the display. + * + * \param data The byte to send to the display. + * \param isData Whether the byte is an instruction or character data. + */ +void hd44780_write(uint8_t data, bool isData); + +/** + * \brief Read a byte from the display. + * + * \param isData Whether to read the current cursor position, or the character at the cursor. + * + * \return If `isData` is `true`, the returned byte will be the character at the current DDRAM address. Otherwise, it will be the current DDRAM address and the busy flag. + */ +uint8_t hd44780_read(bool isData); + +/** + * \brief Indicates whether the display is currently processing, and cannot accept instructions. + * + * \return `true` if the display is busy. + */ +bool hd44780_busy(void); + +/** + * \brief Send a command to the display. Refer to the datasheet for the valid commands. + * + * This function waits for the display to clear the busy flag before sending the command. + * + * \param command The command to send. + */ +void hd44780_command(uint8_t command); + +/** + * \brief Send a byte of data to the display. + * + * This function waits for the display to clear the busy flag before sending the data. + * + * \param data The byte of data to send. + */ +void hd44780_data(uint8_t data); + +/** + * \brief Clear the display. + * + * This function is called on init. + */ +void hd44780_clear(void); + +/** + * \brief Move the cursor to the home position. + * + * This function is called on init. + */ +void hd44780_home(void); + +/** + * \brief Turn the display on, and/or set the cursor position. + * + * This function is called on init. + * + * \param cursor Whether to show the cursor. + * \param blink Whether to blink the cursor, if shown. + */ +void hd44780_on(bool cursor, bool blink); + +/** + * \brief Turn the display off. + */ +void hd44780_off(void); + +/** + * \brief Set the CGRAM address. + * + * This function is used when defining custom characters. + * + * \param address The CGRAM address to move to, from `0x00` to `0x3F`. + */ +void hd44780_set_cgram_address(uint8_t address); + +/** + * \brief Set the DDRAM address. + * + * This function is used when printing characters to the display, and setting the cursor. + * + * \param address The DDRAM address to move to, from `0x00` to `0x7F`. + */ +void hd44780_set_ddram_address(uint8_t address); + +/** + * \brief Initialize the display. + * + * This function should be called only once, before any of the other functions can be called. + * + * \param cursor Whether to show the cursor. + * \param blink Whether to blink the cursor, if shown. + */ +void hd44780_init(bool cursor, bool blink); + +/** + * \brief Move the cursor to the specified position on the display. + * + * \param col The column number to move to, from 0 to 15 on 16x2 displays. + * \param line The line number to move to, either 0 or 1 on 16x2 displays. + */ +void hd44780_set_cursor(uint8_t col, uint8_t line); + +/** + * \brief Define a custom character. + * + * \param index The index of the custom character to define, from 0 to 7. + * \param data An array of 8 bytes containing the 5-bit row data of the character, where the first byte is the topmost row, and the least significant bit of each byte is the rightmost column. + */ +void hd44780_define_char(uint8_t index, uint8_t *data); + +/** + * \brief Print a character to the display. The newline character will move the cursor to the start of the next line. + * + * The exact character shown may depend on the ROM code of your particular display - refer to the datasheet for the full character set. + * + * \param c The character to print. + */ +void hd44780_putc(char c); + +/** + * \brief Print a string of characters to the display. + * + * \param s The string to print. + */ +void hd44780_puts(const char *s); + +#if defined(__AVR__) || defined(__DOXYGEN__) +/** + * \brief Define a custom character from PROGMEM. + * + * On ARM devices, this function is simply an alias of hd44780_define_char(). + * + * \param index The index of the custom character to define, from 0 to 7. + * \param data A PROGMEM array of 8 bytes containing the 5-bit row data of the character, where the first byte is the topmost row, and the least significant bit of each byte is the rightmost column. + */ +void hd44780_define_char_P(uint8_t index, const uint8_t *data); + +/** + * \brief Print a string of characters from PROGMEM to the display. + * + * On ARM devices, this function is simply an alias of hd44780_puts(). + * + * \param s The PROGMEM string to print. + */ +void hd44780_puts_P(const char *s); +#else +# define hd44780_define_char_P(index, data) hd44780_define_char(index, data) +# define hd44780_puts_P(s) hd44780_puts(s) +#endif + +/** \} */ diff --git a/platforms/avr/drivers/hd44780.c b/platforms/avr/drivers/hd44780.c deleted file mode 100644 index f15d7d0da832..000000000000 --- a/platforms/avr/drivers/hd44780.c +++ /dev/null @@ -1,542 +0,0 @@ -/**************************************************************************** - Title: HD44780U LCD library - Author: Peter Fleury http://tinyurl.com/peterfleury - License: GNU General Public License Version 3 - File: $Id: lcd.c,v 1.15.2.2 2015/01/17 12:16:05 peter Exp $ - Software: AVR-GCC 3.3 - Target: any AVR device, memory mapped mode only for AT90S4414/8515/Mega - - DESCRIPTION - Basic routines for interfacing a HD44780U-based text lcd display - - Originally based on Volker Oth's lcd library, - changed lcd_init(), added additional constants for lcd_command(), - added 4-bit I/O mode, improved and optimized code. - - Library can be operated in memory mapped mode (LCD_IO_MODE=0) or in - 4-bit IO port mode (LCD_IO_MODE=1). 8-bit IO port mode not supported. - - Memory mapped mode compatible with Kanda STK200, but supports also - generation of R/W signal through A8 address line. - - USAGE - See the C include lcd.h file for a description of each function - -*****************************************************************************/ -#include -#include -#include -#include -#include "hd44780.h" - -/* -** constants/macros -*/ -#define DDR(x) (*(&x - 1)) /* address of data direction register of port x */ -#if defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__) -/* on ATmega64/128 PINF is on port 0x00 and not 0x60 */ -# define PIN(x) (&PORTF == &(x) ? _SFR_IO8(0x00) : (*(&x - 2))) -#else -# define PIN(x) (*(&x - 2)) /* address of input register of port x */ -#endif - -#if LCD_IO_MODE -# define lcd_e_delay() _delay_us(LCD_DELAY_ENABLE_PULSE) -# define lcd_e_high() LCD_E_PORT |= _BV(LCD_E_PIN); -# define lcd_e_low() LCD_E_PORT &= ~_BV(LCD_E_PIN); -# define lcd_e_toggle() toggle_e() -# define lcd_rw_high() LCD_RW_PORT |= _BV(LCD_RW_PIN) -# define lcd_rw_low() LCD_RW_PORT &= ~_BV(LCD_RW_PIN) -# define lcd_rs_high() LCD_RS_PORT |= _BV(LCD_RS_PIN) -# define lcd_rs_low() LCD_RS_PORT &= ~_BV(LCD_RS_PIN) -#endif - -#if LCD_IO_MODE -# if LCD_LINES == 1 -# define LCD_FUNCTION_DEFAULT LCD_FUNCTION_4BIT_1LINE -# else -# define LCD_FUNCTION_DEFAULT LCD_FUNCTION_4BIT_2LINES -# endif -#else -# if LCD_LINES == 1 -# define LCD_FUNCTION_DEFAULT LCD_FUNCTION_8BIT_1LINE -# else -# define LCD_FUNCTION_DEFAULT LCD_FUNCTION_8BIT_2LINES -# endif -#endif - -#if LCD_CONTROLLER_KS0073 -# if LCD_LINES == 4 - -# define KS0073_EXTENDED_FUNCTION_REGISTER_ON 0x2C /* |0|010|1100 4-bit mode, extension-bit RE = 1 */ -# define KS0073_EXTENDED_FUNCTION_REGISTER_OFF 0x28 /* |0|010|1000 4-bit mode, extension-bit RE = 0 */ -# define KS0073_4LINES_MODE 0x09 /* |0|000|1001 4 lines mode */ - -# endif -#endif - -/* -** function prototypes -*/ -#if LCD_IO_MODE -static void toggle_e(void); -#endif - -/* -** local functions -*/ - -/************************************************************************* -delay for a minimum of microseconds -the number of loops is calculated at compile-time from MCU clock frequency -*************************************************************************/ -#define delay(us) _delay_us(us) - -#if LCD_IO_MODE -/* toggle Enable Pin to initiate write */ -static void toggle_e(void) { - lcd_e_high(); - lcd_e_delay(); - lcd_e_low(); -} -#endif - -/************************************************************************* -Low-level function to write byte to LCD controller -Input: data byte to write to LCD - rs 1: write data - 0: write instruction -Returns: none -*************************************************************************/ -#if LCD_IO_MODE -static void lcd_write(uint8_t data, uint8_t rs) { - unsigned char dataBits; - - if (rs) { /* write data (RS=1, RW=0) */ - lcd_rs_high(); - } else { /* write instruction (RS=0, RW=0) */ - lcd_rs_low(); - } - lcd_rw_low(); /* RW=0 write mode */ - - if ((&LCD_DATA0_PORT == &LCD_DATA1_PORT) && (&LCD_DATA1_PORT == &LCD_DATA2_PORT) && (&LCD_DATA2_PORT == &LCD_DATA3_PORT) && (LCD_DATA0_PIN == 0) && (LCD_DATA1_PIN == 1) && (LCD_DATA2_PIN == 2) && (LCD_DATA3_PIN == 3)) { - /* configure data pins as output */ - DDR(LCD_DATA0_PORT) |= 0x0F; - - /* output high nibble first */ - dataBits = LCD_DATA0_PORT & 0xF0; - LCD_DATA0_PORT = dataBits | ((data >> 4) & 0x0F); - lcd_e_toggle(); - - /* output low nibble */ - LCD_DATA0_PORT = dataBits | (data & 0x0F); - lcd_e_toggle(); - - /* all data pins high (inactive) */ - LCD_DATA0_PORT = dataBits | 0x0F; - } else { - /* configure data pins as output */ - DDR(LCD_DATA0_PORT) |= _BV(LCD_DATA0_PIN); - DDR(LCD_DATA1_PORT) |= _BV(LCD_DATA1_PIN); - DDR(LCD_DATA2_PORT) |= _BV(LCD_DATA2_PIN); - DDR(LCD_DATA3_PORT) |= _BV(LCD_DATA3_PIN); - - /* output high nibble first */ - LCD_DATA3_PORT &= ~_BV(LCD_DATA3_PIN); - LCD_DATA2_PORT &= ~_BV(LCD_DATA2_PIN); - LCD_DATA1_PORT &= ~_BV(LCD_DATA1_PIN); - LCD_DATA0_PORT &= ~_BV(LCD_DATA0_PIN); - if (data & 0x80) LCD_DATA3_PORT |= _BV(LCD_DATA3_PIN); - if (data & 0x40) LCD_DATA2_PORT |= _BV(LCD_DATA2_PIN); - if (data & 0x20) LCD_DATA1_PORT |= _BV(LCD_DATA1_PIN); - if (data & 0x10) LCD_DATA0_PORT |= _BV(LCD_DATA0_PIN); - lcd_e_toggle(); - - /* output low nibble */ - LCD_DATA3_PORT &= ~_BV(LCD_DATA3_PIN); - LCD_DATA2_PORT &= ~_BV(LCD_DATA2_PIN); - LCD_DATA1_PORT &= ~_BV(LCD_DATA1_PIN); - LCD_DATA0_PORT &= ~_BV(LCD_DATA0_PIN); - if (data & 0x08) LCD_DATA3_PORT |= _BV(LCD_DATA3_PIN); - if (data & 0x04) LCD_DATA2_PORT |= _BV(LCD_DATA2_PIN); - if (data & 0x02) LCD_DATA1_PORT |= _BV(LCD_DATA1_PIN); - if (data & 0x01) LCD_DATA0_PORT |= _BV(LCD_DATA0_PIN); - lcd_e_toggle(); - - /* all data pins high (inactive) */ - LCD_DATA0_PORT |= _BV(LCD_DATA0_PIN); - LCD_DATA1_PORT |= _BV(LCD_DATA1_PIN); - LCD_DATA2_PORT |= _BV(LCD_DATA2_PIN); - LCD_DATA3_PORT |= _BV(LCD_DATA3_PIN); - } -} -#else -# define lcd_write(d, rs) \ - if (rs) \ - *(volatile uint8_t *)(LCD_IO_DATA) = d; \ - else \ - *(volatile uint8_t *)(LCD_IO_FUNCTION) = d; -/* rs==0 -> write instruction to LCD_IO_FUNCTION */ -/* rs==1 -> write data to LCD_IO_DATA */ -#endif - -/************************************************************************* -Low-level function to read byte from LCD controller -Input: rs 1: read data - 0: read busy flag / address counter -Returns: byte read from LCD controller -*************************************************************************/ -#if LCD_IO_MODE -static uint8_t lcd_read(uint8_t rs) { - uint8_t data; - - if (rs) - lcd_rs_high(); /* RS=1: read data */ - else - lcd_rs_low(); /* RS=0: read busy flag */ - lcd_rw_high(); /* RW=1 read mode */ - - if ((&LCD_DATA0_PORT == &LCD_DATA1_PORT) && (&LCD_DATA1_PORT == &LCD_DATA2_PORT) && (&LCD_DATA2_PORT == &LCD_DATA3_PORT) && (LCD_DATA0_PIN == 0) && (LCD_DATA1_PIN == 1) && (LCD_DATA2_PIN == 2) && (LCD_DATA3_PIN == 3)) { - DDR(LCD_DATA0_PORT) &= 0xF0; /* configure data pins as input */ - - lcd_e_high(); - lcd_e_delay(); - data = PIN(LCD_DATA0_PORT) << 4; /* read high nibble first */ - lcd_e_low(); - - lcd_e_delay(); /* Enable 500ns low */ - - lcd_e_high(); - lcd_e_delay(); - data |= PIN(LCD_DATA0_PORT) & 0x0F; /* read low nibble */ - lcd_e_low(); - } else { - /* configure data pins as input */ - DDR(LCD_DATA0_PORT) &= ~_BV(LCD_DATA0_PIN); - DDR(LCD_DATA1_PORT) &= ~_BV(LCD_DATA1_PIN); - DDR(LCD_DATA2_PORT) &= ~_BV(LCD_DATA2_PIN); - DDR(LCD_DATA3_PORT) &= ~_BV(LCD_DATA3_PIN); - - /* read high nibble first */ - lcd_e_high(); - lcd_e_delay(); - data = 0; - if (PIN(LCD_DATA0_PORT) & _BV(LCD_DATA0_PIN)) data |= 0x10; - if (PIN(LCD_DATA1_PORT) & _BV(LCD_DATA1_PIN)) data |= 0x20; - if (PIN(LCD_DATA2_PORT) & _BV(LCD_DATA2_PIN)) data |= 0x40; - if (PIN(LCD_DATA3_PORT) & _BV(LCD_DATA3_PIN)) data |= 0x80; - lcd_e_low(); - - lcd_e_delay(); /* Enable 500ns low */ - - /* read low nibble */ - lcd_e_high(); - lcd_e_delay(); - if (PIN(LCD_DATA0_PORT) & _BV(LCD_DATA0_PIN)) data |= 0x01; - if (PIN(LCD_DATA1_PORT) & _BV(LCD_DATA1_PIN)) data |= 0x02; - if (PIN(LCD_DATA2_PORT) & _BV(LCD_DATA2_PIN)) data |= 0x04; - if (PIN(LCD_DATA3_PORT) & _BV(LCD_DATA3_PIN)) data |= 0x08; - lcd_e_low(); - } - return data; -} -#else -# define lcd_read(rs) (rs) ? *(volatile uint8_t *)(LCD_IO_DATA + LCD_IO_READ) : *(volatile uint8_t *)(LCD_IO_FUNCTION + LCD_IO_READ) -/* rs==0 -> read instruction from LCD_IO_FUNCTION */ -/* rs==1 -> read data from LCD_IO_DATA */ -#endif - -/************************************************************************* -loops while lcd is busy, returns address counter -*************************************************************************/ -static uint8_t lcd_waitbusy(void) - -{ - register uint8_t c; - - /* wait until busy flag is cleared */ - while ((c = lcd_read(0)) & (1 << LCD_BUSY)) { - } - - /* the address counter is updated 4us after the busy flag is cleared */ - delay(LCD_DELAY_BUSY_FLAG); - - /* now read the address counter */ - return (lcd_read(0)); // return address counter - -} /* lcd_waitbusy */ - -/************************************************************************* -Move cursor to the start of next line or to the first line if the cursor -is already on the last line. -*************************************************************************/ -static inline void lcd_newline(uint8_t pos) { - register uint8_t addressCounter; - -#if LCD_LINES == 1 - addressCounter = 0; -#endif -#if LCD_LINES == 2 - if (pos < (LCD_START_LINE2)) - addressCounter = LCD_START_LINE2; - else - addressCounter = LCD_START_LINE1; -#endif -#if LCD_LINES == 4 -# if KS0073_4LINES_MODE - if (pos < LCD_START_LINE2) - addressCounter = LCD_START_LINE2; - else if ((pos >= LCD_START_LINE2) && (pos < LCD_START_LINE3)) - addressCounter = LCD_START_LINE3; - else if ((pos >= LCD_START_LINE3) && (pos < LCD_START_LINE4)) - addressCounter = LCD_START_LINE4; - else - addressCounter = LCD_START_LINE1; -# else - if (pos < LCD_START_LINE3) - addressCounter = LCD_START_LINE2; - else if ((pos >= LCD_START_LINE2) && (pos < LCD_START_LINE4)) - addressCounter = LCD_START_LINE3; - else if ((pos >= LCD_START_LINE3) && (pos < LCD_START_LINE2)) - addressCounter = LCD_START_LINE4; - else - addressCounter = LCD_START_LINE1; -# endif -#endif - lcd_command((1 << LCD_DDRAM) + addressCounter); - -} /* lcd_newline */ - -/* -** PUBLIC FUNCTIONS -*/ - -/************************************************************************* -Send LCD controller instruction command -Input: instruction to send to LCD controller, see HD44780 data sheet -Returns: none -*************************************************************************/ -void lcd_command(uint8_t cmd) { - lcd_waitbusy(); - lcd_write(cmd, 0); -} - -/************************************************************************* -Send data byte to LCD controller -Input: data to send to LCD controller, see HD44780 data sheet -Returns: none -*************************************************************************/ -void lcd_data(uint8_t data) { - lcd_waitbusy(); - lcd_write(data, 1); -} - -/************************************************************************* -Set cursor to specified position -Input: x horizontal position (0: left most position) - y vertical position (0: first line) -Returns: none -*************************************************************************/ -void lcd_gotoxy(uint8_t x, uint8_t y) { -#if LCD_LINES == 1 - lcd_command((1 << LCD_DDRAM) + LCD_START_LINE1 + x); -#endif -#if LCD_LINES == 2 - if (y == 0) - lcd_command((1 << LCD_DDRAM) + LCD_START_LINE1 + x); - else - lcd_command((1 << LCD_DDRAM) + LCD_START_LINE2 + x); -#endif -#if LCD_LINES == 4 - if (y == 0) - lcd_command((1 << LCD_DDRAM) + LCD_START_LINE1 + x); - else if (y == 1) - lcd_command((1 << LCD_DDRAM) + LCD_START_LINE2 + x); - else if (y == 2) - lcd_command((1 << LCD_DDRAM) + LCD_START_LINE3 + x); - else /* y==3 */ - lcd_command((1 << LCD_DDRAM) + LCD_START_LINE4 + x); -#endif - -} /* lcd_gotoxy */ - -/************************************************************************* -*************************************************************************/ -int lcd_getxy(void) { - return lcd_waitbusy(); -} - -/************************************************************************* -Clear display and set cursor to home position -*************************************************************************/ -void lcd_clrscr(void) { - lcd_command(1 << LCD_CLR); -} - -/************************************************************************* -Set cursor to home position -*************************************************************************/ -void lcd_home(void) { - lcd_command(1 << LCD_HOME); -} - -/************************************************************************* -Display character at current cursor position -Input: character to be displayed -Returns: none -*************************************************************************/ -void lcd_putc(char c) { - uint8_t pos; - - pos = lcd_waitbusy(); // read busy-flag and address counter - if (c == '\n') { - lcd_newline(pos); - } else { -#if LCD_WRAP_LINES == 1 -# if LCD_LINES == 1 - if (pos == LCD_START_LINE1 + LCD_DISP_LENGTH) { - lcd_write((1 << LCD_DDRAM) + LCD_START_LINE1, 0); - } -# elif LCD_LINES == 2 - if (pos == LCD_START_LINE1 + LCD_DISP_LENGTH) { - lcd_write((1 << LCD_DDRAM) + LCD_START_LINE2, 0); - } else if (pos == LCD_START_LINE2 + LCD_DISP_LENGTH) { - lcd_write((1 << LCD_DDRAM) + LCD_START_LINE1, 0); - } -# elif LCD_LINES == 4 - if (pos == LCD_START_LINE1 + LCD_DISP_LENGTH) { - lcd_write((1 << LCD_DDRAM) + LCD_START_LINE2, 0); - } else if (pos == LCD_START_LINE2 + LCD_DISP_LENGTH) { - lcd_write((1 << LCD_DDRAM) + LCD_START_LINE3, 0); - } else if (pos == LCD_START_LINE3 + LCD_DISP_LENGTH) { - lcd_write((1 << LCD_DDRAM) + LCD_START_LINE4, 0); - } else if (pos == LCD_START_LINE4 + LCD_DISP_LENGTH) { - lcd_write((1 << LCD_DDRAM) + LCD_START_LINE1, 0); - } -# endif - lcd_waitbusy(); -#endif - lcd_write(c, 1); - } - -} /* lcd_putc */ - -/************************************************************************* -Display string without auto linefeed -Input: string to be displayed -Returns: none -*************************************************************************/ -void lcd_puts(const char *s) -/* print string on lcd (no auto linefeed) */ -{ - register char c; - - while ((c = *s++)) { - lcd_putc(c); - } - -} /* lcd_puts */ - -/************************************************************************* -Display string from program memory without auto linefeed -Input: string from program memory be be displayed -Returns: none -*************************************************************************/ -void lcd_puts_p(const char *progmem_s) -/* print string from program memory on lcd (no auto linefeed) */ -{ - register char c; - - while ((c = pgm_read_byte(progmem_s++))) { - lcd_putc(c); - } - -} /* lcd_puts_p */ - -/************************************************************************* -Initialize display and select type of cursor -Input: dispAttr LCD_DISP_OFF display off - LCD_DISP_ON display on, cursor off - LCD_DISP_ON_CURSOR display on, cursor on - LCD_DISP_CURSOR_BLINK display on, cursor on flashing -Returns: none -*************************************************************************/ -void lcd_init(uint8_t dispAttr) { -#if LCD_IO_MODE - /* - * Initialize LCD to 4 bit I/O mode - */ - - if ((&LCD_DATA0_PORT == &LCD_DATA1_PORT) && (&LCD_DATA1_PORT == &LCD_DATA2_PORT) && (&LCD_DATA2_PORT == &LCD_DATA3_PORT) && (&LCD_RS_PORT == &LCD_DATA0_PORT) && (&LCD_RW_PORT == &LCD_DATA0_PORT) && (&LCD_E_PORT == &LCD_DATA0_PORT) && (LCD_DATA0_PIN == 0) && (LCD_DATA1_PIN == 1) && (LCD_DATA2_PIN == 2) && (LCD_DATA3_PIN == 3) && (LCD_RS_PIN == 4) && (LCD_RW_PIN == 5) && (LCD_E_PIN == 6)) { - /* configure all port bits as output (all LCD lines on same port) */ - DDR(LCD_DATA0_PORT) |= 0x7F; - } else if ((&LCD_DATA0_PORT == &LCD_DATA1_PORT) && (&LCD_DATA1_PORT == &LCD_DATA2_PORT) && (&LCD_DATA2_PORT == &LCD_DATA3_PORT) && (LCD_DATA0_PIN == 0) && (LCD_DATA1_PIN == 1) && (LCD_DATA2_PIN == 2) && (LCD_DATA3_PIN == 3)) { - /* configure all port bits as output (all LCD data lines on same port, but control lines on different ports) */ - DDR(LCD_DATA0_PORT) |= 0x0F; - DDR(LCD_RS_PORT) |= _BV(LCD_RS_PIN); - DDR(LCD_RW_PORT) |= _BV(LCD_RW_PIN); - DDR(LCD_E_PORT) |= _BV(LCD_E_PIN); - } else { - /* configure all port bits as output (LCD data and control lines on different ports */ - DDR(LCD_RS_PORT) |= _BV(LCD_RS_PIN); - DDR(LCD_RW_PORT) |= _BV(LCD_RW_PIN); - DDR(LCD_E_PORT) |= _BV(LCD_E_PIN); - DDR(LCD_DATA0_PORT) |= _BV(LCD_DATA0_PIN); - DDR(LCD_DATA1_PORT) |= _BV(LCD_DATA1_PIN); - DDR(LCD_DATA2_PORT) |= _BV(LCD_DATA2_PIN); - DDR(LCD_DATA3_PORT) |= _BV(LCD_DATA3_PIN); - } - delay(LCD_DELAY_BOOTUP); /* wait 16ms or more after power-on */ - - /* initial write to lcd is 8bit */ - LCD_DATA1_PORT |= _BV(LCD_DATA1_PIN); // LCD_FUNCTION>>4; - LCD_DATA0_PORT |= _BV(LCD_DATA0_PIN); // LCD_FUNCTION_8BIT>>4; - lcd_e_toggle(); - delay(LCD_DELAY_INIT); /* delay, busy flag can't be checked here */ - - /* repeat last command */ - lcd_e_toggle(); - delay(LCD_DELAY_INIT_REP); /* delay, busy flag can't be checked here */ - - /* repeat last command a third time */ - lcd_e_toggle(); - delay(LCD_DELAY_INIT_REP); /* delay, busy flag can't be checked here */ - - /* now configure for 4bit mode */ - LCD_DATA0_PORT &= ~_BV(LCD_DATA0_PIN); // LCD_FUNCTION_4BIT_1LINE>>4 - lcd_e_toggle(); - delay(LCD_DELAY_INIT_4BIT); /* some displays need this additional delay */ - - /* from now the LCD only accepts 4 bit I/O, we can use lcd_command() */ -#else - /* - * Initialize LCD to 8 bit memory mapped mode - */ - - /* enable external SRAM (memory mapped lcd) and one wait state */ - MCUCR = _BV(SRE) | _BV(SRW); - - /* reset LCD */ - delay(LCD_DELAY_BOOTUP); /* wait 16ms after power-on */ - lcd_write(LCD_FUNCTION_8BIT_1LINE, 0); /* function set: 8bit interface */ - delay(LCD_DELAY_INIT); /* wait 5ms */ - lcd_write(LCD_FUNCTION_8BIT_1LINE, 0); /* function set: 8bit interface */ - delay(LCD_DELAY_INIT_REP); /* wait 64us */ - lcd_write(LCD_FUNCTION_8BIT_1LINE, 0); /* function set: 8bit interface */ - delay(LCD_DELAY_INIT_REP); /* wait 64us */ -#endif - -#if KS0073_4LINES_MODE - /* Display with KS0073 controller requires special commands for enabling 4 line mode */ - lcd_command(KS0073_EXTENDED_FUNCTION_REGISTER_ON); - lcd_command(KS0073_4LINES_MODE); - lcd_command(KS0073_EXTENDED_FUNCTION_REGISTER_OFF); -#else - lcd_command(LCD_FUNCTION_DEFAULT); /* function set: display lines */ -#endif - lcd_command(LCD_DISP_OFF); /* display off */ - lcd_clrscr(); /* display clear */ - lcd_command(LCD_MODE_DEFAULT); /* set entry mode */ - lcd_command(dispAttr); /* display/cursor control */ - -} /* lcd_init */ diff --git a/platforms/avr/drivers/hd44780.h b/platforms/avr/drivers/hd44780.h deleted file mode 100644 index 08e60f8a44e2..000000000000 --- a/platforms/avr/drivers/hd44780.h +++ /dev/null @@ -1,348 +0,0 @@ -/************************************************************************* - Title : C include file for the HD44780U LCD library (lcd.c) - Author: Peter Fleury http://tinyurl.com/peterfleury - License: GNU General Public License Version 3 - File: $Id: lcd.h,v 1.14.2.4 2015/01/20 17:16:07 peter Exp $ - Software: AVR-GCC 4.x - Hardware: any AVR device, memory mapped mode only for AVR with - memory mapped interface (AT90S8515/ATmega8515/ATmega128) -***************************************************************************/ - -/** - @mainpage - Collection of libraries for AVR-GCC - @author Peter Fleury pfleury@gmx.ch http://tinyurl.com/peterfleury - @copyright (C) 2015 Peter Fleury, GNU General Public License Version 3 - - @file - @defgroup pfleury_lcd LCD library - @code #include @endcode - - @brief Basic routines for interfacing a HD44780U-based character LCD display - - LCD character displays can be found in many devices, like espresso machines, laser printers. - The Hitachi HD44780 controller and its compatible controllers like Samsung KS0066U have become an industry standard for these types of displays. - - This library allows easy interfacing with a HD44780 compatible display and can be - operated in memory mapped mode (LCD_IO_MODE defined as 0 in the include file lcd.h.) or in - 4-bit IO port mode (LCD_IO_MODE defined as 1). 8-bit IO port mode is not supported. - - Memory mapped mode is compatible with old Kanda STK200 starter kit, but also supports - generation of R/W signal through A8 address line. - - @see The chapter Interfacing a HD44780 Based LCD to an AVR - on my home page, which shows example circuits how to connect an LCD to an AVR controller. - - @author Peter Fleury pfleury@gmx.ch http://tinyurl.com/peterfleury - - @version 2.0 - - @copyright (C) 2015 Peter Fleury, GNU General Public License Version 3 - -*/ - -#pragma once - -#include -#include - -#if (__GNUC__ * 100 + __GNUC_MINOR__) < 405 -# error "This library requires AVR-GCC 4.5 or later, update to newer AVR-GCC compiler !" -#endif - -/**@{*/ - -/* - * LCD and target specific definitions below can be defined in a separate include file with name lcd_definitions.h instead modifying this file - * by adding -D_LCD_DEFINITIONS_FILE to the CDEFS section in the Makefile - * All definitions added to the file lcd_definitions.h will override the default definitions from lcd.h - */ -#ifdef _LCD_DEFINITIONS_FILE -# include "lcd_definitions.h" -#endif - -/** - * @name Definition for LCD controller type - * Use 0 for HD44780 controller, change to 1 for displays with KS0073 controller. - */ -#ifndef LCD_CONTROLLER_KS0073 -# define LCD_CONTROLLER_KS0073 0 /**< Use 0 for HD44780 controller, 1 for KS0073 controller */ -#endif - -/** - * @name Definitions for Display Size - * Change these definitions to adapt setting to your display - * - * These definitions can be defined in a separate include file \b lcd_definitions.h instead modifying this file by - * adding -D_LCD_DEFINITIONS_FILE to the CDEFS section in the Makefile. - * All definitions added to the file lcd_definitions.h will override the default definitions from lcd.h - * - */ -#ifndef LCD_LINES -# define LCD_LINES 2 /**< number of visible lines of the display */ -#endif -#ifndef LCD_DISP_LENGTH -# define LCD_DISP_LENGTH 16 /**< visibles characters per line of the display */ -#endif -#ifndef LCD_LINE_LENGTH -# define LCD_LINE_LENGTH 0x40 /**< internal line length of the display */ -#endif -#ifndef LCD_START_LINE1 -# define LCD_START_LINE1 0x00 /**< DDRAM address of first char of line 1 */ -#endif -#ifndef LCD_START_LINE2 -# define LCD_START_LINE2 0x40 /**< DDRAM address of first char of line 2 */ -#endif -#ifndef LCD_START_LINE3 -# define LCD_START_LINE3 0x14 /**< DDRAM address of first char of line 3 */ -#endif -#ifndef LCD_START_LINE4 -# define LCD_START_LINE4 0x54 /**< DDRAM address of first char of line 4 */ -#endif -#ifndef LCD_WRAP_LINES -# define LCD_WRAP_LINES 0 /**< 0: no wrap, 1: wrap at end of visibile line */ -#endif - -/** - * @name Definitions for 4-bit IO mode - * - * The four LCD data lines and the three control lines RS, RW, E can be on the - * same port or on different ports. - * Change LCD_RS_PORT, LCD_RW_PORT, LCD_E_PORT if you want the control lines on - * different ports. - * - * Normally the four data lines should be mapped to bit 0..3 on one port, but it - * is possible to connect these data lines in different order or even on different - * ports by adapting the LCD_DATAx_PORT and LCD_DATAx_PIN definitions. - * - * Adjust these definitions to your target.\n - * These definitions can be defined in a separate include file \b lcd_definitions.h instead modifying this file by - * adding \b -D_LCD_DEFINITIONS_FILE to the \b CDEFS section in the Makefile. - * All definitions added to the file lcd_definitions.h will override the default definitions from lcd.h - * - */ -#define LCD_IO_MODE 1 /**< 0: memory mapped mode, 1: IO port mode */ - -#if LCD_IO_MODE - -# ifndef LCD_PORT -# define LCD_PORT PORTA /**< port for the LCD lines */ -# endif -# ifndef LCD_DATA0_PORT -# define LCD_DATA0_PORT LCD_PORT /**< port for 4bit data bit 0 */ -# endif -# ifndef LCD_DATA1_PORT -# define LCD_DATA1_PORT LCD_PORT /**< port for 4bit data bit 1 */ -# endif -# ifndef LCD_DATA2_PORT -# define LCD_DATA2_PORT LCD_PORT /**< port for 4bit data bit 2 */ -# endif -# ifndef LCD_DATA3_PORT -# define LCD_DATA3_PORT LCD_PORT /**< port for 4bit data bit 3 */ -# endif -# ifndef LCD_DATA0_PIN -# define LCD_DATA0_PIN 4 /**< pin for 4bit data bit 0 */ -# endif -# ifndef LCD_DATA1_PIN -# define LCD_DATA1_PIN 5 /**< pin for 4bit data bit 1 */ -# endif -# ifndef LCD_DATA2_PIN -# define LCD_DATA2_PIN 6 /**< pin for 4bit data bit 2 */ -# endif -# ifndef LCD_DATA3_PIN -# define LCD_DATA3_PIN 7 /**< pin for 4bit data bit 3 */ -# endif -# ifndef LCD_RS_PORT -# define LCD_RS_PORT LCD_PORT /**< port for RS line */ -# endif -# ifndef LCD_RS_PIN -# define LCD_RS_PIN 3 /**< pin for RS line */ -# endif -# ifndef LCD_RW_PORT -# define LCD_RW_PORT LCD_PORT /**< port for RW line */ -# endif -# ifndef LCD_RW_PIN -# define LCD_RW_PIN 2 /**< pin for RW line */ -# endif -# ifndef LCD_E_PORT -# define LCD_E_PORT LCD_PORT /**< port for Enable line */ -# endif -# ifndef LCD_E_PIN -# define LCD_E_PIN 1 /**< pin for Enable line */ -# endif - -#elif defined(__AVR_AT90S4414__) || defined(__AVR_AT90S8515__) || defined(__AVR_ATmega64__) || defined(__AVR_ATmega8515__) || defined(__AVR_ATmega103__) || defined(__AVR_ATmega128__) || defined(__AVR_ATmega161__) || defined(__AVR_ATmega162__) -/* - * memory mapped mode is only supported when the device has an external data memory interface - */ -# define LCD_IO_DATA 0xC000 /* A15=E=1, A14=RS=1 */ -# define LCD_IO_FUNCTION 0x8000 /* A15=E=1, A14=RS=0 */ -# define LCD_IO_READ 0x0100 /* A8 =R/W=1 (R/W: 1=Read, 0=Write */ - -#else -# error "external data memory interface not available for this device, use 4-bit IO port mode" - -#endif - -/** - * @name Definitions of delays - * Used to calculate delay timers. - * Adapt the F_CPU define in the Makefile to the clock frequency in Hz of your target - * - * These delay times can be adjusted, if some displays require different delays.\n - * These definitions can be defined in a separate include file \b lcd_definitions.h instead modifying this file by - * adding \b -D_LCD_DEFINITIONS_FILE to the \b CDEFS section in the Makefile. - * All definitions added to the file lcd_definitions.h will override the default definitions from lcd.h - */ -#ifndef LCD_DELAY_BOOTUP -# define LCD_DELAY_BOOTUP 16000 /**< delay in micro seconds after power-on */ -#endif -#ifndef LCD_DELAY_INIT -# define LCD_DELAY_INIT 5000 /**< delay in micro seconds after initialization command sent */ -#endif -#ifndef LCD_DELAY_INIT_REP -# define LCD_DELAY_INIT_REP 64 /**< delay in micro seconds after initialization command repeated */ -#endif -#ifndef LCD_DELAY_INIT_4BIT -# define LCD_DELAY_INIT_4BIT 64 /**< delay in micro seconds after setting 4-bit mode */ -#endif -#ifndef LCD_DELAY_BUSY_FLAG -# define LCD_DELAY_BUSY_FLAG 4 /**< time in micro seconds the address counter is updated after busy flag is cleared */ -#endif -#ifndef LCD_DELAY_ENABLE_PULSE -# define LCD_DELAY_ENABLE_PULSE 1 /**< enable signal pulse width in micro seconds */ -#endif - -/** - * @name Definitions for LCD command instructions - * The constants define the various LCD controller instructions which can be passed to the - * function lcd_command(), see HD44780 data sheet for a complete description. - */ - -/* instruction register bit positions, see HD44780U data sheet */ -#define LCD_CLR 0 /* DB0: clear display */ -#define LCD_HOME 1 /* DB1: return to home position */ -#define LCD_ENTRY_MODE 2 /* DB2: set entry mode */ -#define LCD_ENTRY_INC 1 /* DB1: 1=increment, 0=decrement */ -#define LCD_ENTRY_SHIFT 0 /* DB2: 1=display shift on */ -#define LCD_ON 3 /* DB3: turn lcd/cursor on */ -#define LCD_ON_DISPLAY 2 /* DB2: turn display on */ -#define LCD_ON_CURSOR 1 /* DB1: turn cursor on */ -#define LCD_ON_BLINK 0 /* DB0: blinking cursor ? */ -#define LCD_MOVE 4 /* DB4: move cursor/display */ -#define LCD_MOVE_DISP 3 /* DB3: move display (0-> cursor) ? */ -#define LCD_MOVE_RIGHT 2 /* DB2: move right (0-> left) ? */ -#define LCD_FUNCTION 5 /* DB5: function set */ -#define LCD_FUNCTION_8BIT 4 /* DB4: set 8BIT mode (0->4BIT mode) */ -#define LCD_FUNCTION_2LINES 3 /* DB3: two lines (0->one line) */ -#define LCD_FUNCTION_10DOTS 2 /* DB2: 5x10 font (0->5x7 font) */ -#define LCD_CGRAM 6 /* DB6: set CG RAM address */ -#define LCD_DDRAM 7 /* DB7: set DD RAM address */ -#define LCD_BUSY 7 /* DB7: LCD is busy */ - -/* set entry mode: display shift on/off, dec/inc cursor move direction */ -#define LCD_ENTRY_DEC 0x04 /* display shift off, dec cursor move dir */ -#define LCD_ENTRY_DEC_SHIFT 0x05 /* display shift on, dec cursor move dir */ -#define LCD_ENTRY_INC_ 0x06 /* display shift off, inc cursor move dir */ -#define LCD_ENTRY_INC_SHIFT 0x07 /* display shift on, inc cursor move dir */ - -/* display on/off, cursor on/off, blinking char at cursor position */ -#define LCD_DISP_OFF 0x08 /* display off */ -#define LCD_DISP_ON 0x0C /* display on, cursor off */ -#define LCD_DISP_ON_BLINK 0x0D /* display on, cursor off, blink char */ -#define LCD_DISP_ON_CURSOR 0x0E /* display on, cursor on */ -#define LCD_DISP_ON_CURSOR_BLINK 0x0F /* display on, cursor on, blink char */ - -/* move cursor/shift display */ -#define LCD_MOVE_CURSOR_LEFT 0x10 /* move cursor left (decrement) */ -#define LCD_MOVE_CURSOR_RIGHT 0x14 /* move cursor right (increment) */ -#define LCD_MOVE_DISP_LEFT 0x18 /* shift display left */ -#define LCD_MOVE_DISP_RIGHT 0x1C /* shift display right */ - -/* function set: set interface data length and number of display lines */ -#define LCD_FUNCTION_4BIT_1LINE 0x20 /* 4-bit interface, single line, 5x7 dots */ -#define LCD_FUNCTION_4BIT_2LINES 0x28 /* 4-bit interface, dual line, 5x7 dots */ -#define LCD_FUNCTION_8BIT_1LINE 0x30 /* 8-bit interface, single line, 5x7 dots */ -#define LCD_FUNCTION_8BIT_2LINES 0x38 /* 8-bit interface, dual line, 5x7 dots */ - -#define LCD_MODE_DEFAULT ((1 << LCD_ENTRY_MODE) | (1 << LCD_ENTRY_INC)) - -/** - * @name Functions - */ - -/** - @brief Initialize display and select type of cursor - @param dispAttr \b LCD_DISP_OFF display off\n - \b LCD_DISP_ON display on, cursor off\n - \b LCD_DISP_ON_CURSOR display on, cursor on\n - \b LCD_DISP_ON_CURSOR_BLINK display on, cursor on flashing - @return none -*/ -extern void lcd_init(uint8_t dispAttr); - -/** - @brief Clear display and set cursor to home position - @return none -*/ -extern void lcd_clrscr(void); - -/** - @brief Set cursor to home position - @return none -*/ -extern void lcd_home(void); - -/** - @brief Set cursor to specified position - - @param x horizontal position\n (0: left most position) - @param y vertical position\n (0: first line) - @return none -*/ -extern void lcd_gotoxy(uint8_t x, uint8_t y); - -/** - @brief Display character at current cursor position - @param c character to be displayed - @return none -*/ -extern void lcd_putc(char c); - -/** - @brief Display string without auto linefeed - @param s string to be displayed - @return none -*/ -extern void lcd_puts(const char *s); - -/** - @brief Display string from program memory without auto linefeed - @param progmem_s string from program memory be be displayed - @return none - @see lcd_puts_P -*/ -extern void lcd_puts_p(const char *progmem_s); - -/** - @brief Send LCD controller instruction command - @param cmd instruction to send to LCD controller, see HD44780 data sheet - @return none -*/ -extern void lcd_command(uint8_t cmd); - -/** - @brief Send data byte to LCD controller - - Similar to lcd_putc(), but without interpreting LF - @param data byte to send to LCD controller, see HD44780 data sheet - @return none -*/ -extern void lcd_data(uint8_t data); - -/** - @brief macros for automatically storing string constant in program memory -*/ -#define lcd_puts_P(__s) lcd_puts_p(PSTR(__s)) - -/**@}*/ From 98e783cc3ca76b542093bab9b0939030fd3cfba7 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Sat, 19 Mar 2022 04:52:03 -0700 Subject: [PATCH 0416/1832] Format code according to conventions (#16686) --- drivers/lcd/hd44780.h | 46 +++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/drivers/lcd/hd44780.h b/drivers/lcd/hd44780.h index d4b8f9ea76a1..9e4333934447 100644 --- a/drivers/lcd/hd44780.h +++ b/drivers/lcd/hd44780.h @@ -33,34 +33,34 @@ along with this program. If not, see . * Table 6 (p24) */ // Clear display -#define HD44780_CMD_CLEAR_DISPLAY 0x01 +#define HD44780_CMD_CLEAR_DISPLAY 0x01 // Return home -#define HD44780_CMD_RETURN_HOME 0x02 +#define HD44780_CMD_RETURN_HOME 0x02 // Entry mode set -#define HD44780_CMD_ENTRY_MODE 0x04 -#define HD44780_ENTRY_MODE_INC 0x02 // I/D -#define HD44780_ENTRY_MODE_SHIFT 0x01 // S +#define HD44780_CMD_ENTRY_MODE 0x04 +#define HD44780_ENTRY_MODE_INC 0x02 // I/D +#define HD44780_ENTRY_MODE_SHIFT 0x01 // S // Display on/off control -#define HD44780_CMD_DISPLAY 0x08 -#define HD44780_DISPLAY_ON 0x04 // D -#define HD44780_DISPLAY_CURSOR 0x02 // C -#define HD44780_DISPLAY_BLINK 0x01 // B +#define HD44780_CMD_DISPLAY 0x08 +#define HD44780_DISPLAY_ON 0x04 // D +#define HD44780_DISPLAY_CURSOR 0x02 // C +#define HD44780_DISPLAY_BLINK 0x01 // B // Cursor or display shift -#define HD44780_CMD_MOVE 0x10 -#define HD44780_MOVE_DISPLAY 0x08 // S/C -#define HD44780_MOVE_RIGHT 0x04 // R/L +#define HD44780_CMD_MOVE 0x10 +#define HD44780_MOVE_DISPLAY 0x08 // S/C +#define HD44780_MOVE_RIGHT 0x04 // R/L // Function set -#define HD44780_CMD_FUNCTION 0x20 -#define HD44780_FUNCTION_8_BIT 0x10 // DL -#define HD44780_FUNCTION_2_LINES 0x08 // N -#define HD44780_FUNCTION_5X10_DOTS 0x04 // F +#define HD44780_CMD_FUNCTION 0x20 +#define HD44780_FUNCTION_8_BIT 0x10 // DL +#define HD44780_FUNCTION_2_LINES 0x08 // N +#define HD44780_FUNCTION_5X10_DOTS 0x04 // F // Set CGRAM address -#define HD44780_CMD_SET_CGRAM_ADDRESS 0x40 +#define HD44780_CMD_SET_CGRAM_ADDRESS 0x40 // Set DDRAM address -#define HD44780_CMD_SET_DDRAM_ADDRESS 0x80 +#define HD44780_CMD_SET_DDRAM_ADDRESS 0x80 // Bitmask for busy flag when reading -#define HD44780_BUSY_FLAG 0x80 +#define HD44780_BUSY_FLAG 0x80 /** * \brief Write a byte to the display. @@ -72,7 +72,7 @@ void hd44780_write(uint8_t data, bool isData); /** * \brief Read a byte from the display. - * + * * \param isData Whether to read the current cursor position, or the character at the cursor. * * \return If `isData` is `true`, the returned byte will be the character at the current DDRAM address. Otherwise, it will be the current DDRAM address and the busy flag. @@ -90,7 +90,7 @@ bool hd44780_busy(void); * \brief Send a command to the display. Refer to the datasheet for the valid commands. * * This function waits for the display to clear the busy flag before sending the command. - * + * * \param command The command to send. */ void hd44780_command(uint8_t command); @@ -163,7 +163,7 @@ void hd44780_init(bool cursor, bool blink); /** * \brief Move the cursor to the specified position on the display. - * + * * \param col The column number to move to, from 0 to 15 on 16x2 displays. * \param line The line number to move to, either 0 or 1 on 16x2 displays. */ @@ -179,7 +179,7 @@ void hd44780_define_char(uint8_t index, uint8_t *data); /** * \brief Print a character to the display. The newline character will move the cursor to the start of the next line. - * + * * The exact character shown may depend on the ROM code of your particular display - refer to the datasheet for the full character set. * * \param c The character to print. From e354cbe7820cec45f0514de930ba60b3c19cb290 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 19 Mar 2022 22:52:40 +1100 Subject: [PATCH 0417/1832] `device_ver` -> `device_version` for some more boards (#16685) --- keyboards/dyz/dyz40/info.json | 2 +- keyboards/dyz/dyz_tkl/info.json | 2 +- keyboards/dyz/selka40/info.json | 2 +- keyboards/dyz/synthesis60/info.json | 2 +- keyboards/handwired/3dortho14u/rev1/info.json | 4 ++-- keyboards/handwired/3dortho14u/rev2/info.json | 4 ++-- keyboards/handwired/baredev/rev1/info.json | 2 +- keyboards/handwired/hillside/0_1/info.json | 2 +- keyboards/handwired/pytest/info.json | 2 +- keyboards/handwired/wakizashi40/info.json | 4 ++-- keyboards/karlb/kbic65/info.json | 2 +- keyboards/splitography/info.json | 2 +- 12 files changed, 15 insertions(+), 15 deletions(-) diff --git a/keyboards/dyz/dyz40/info.json b/keyboards/dyz/dyz40/info.json index 2a30ca0bb205..db525a470793 100644 --- a/keyboards/dyz/dyz40/info.json +++ b/keyboards/dyz/dyz40/info.json @@ -20,7 +20,7 @@ "usb": { "vid": "0xD772", "pid": "0x000B", - "device_ver": "0x0001" + "device_version": "0.0.1" }, "layouts": { "LAYOUT_all": { diff --git a/keyboards/dyz/dyz_tkl/info.json b/keyboards/dyz/dyz_tkl/info.json index 8cba9c24e756..07a1a7cb7b8a 100644 --- a/keyboards/dyz/dyz_tkl/info.json +++ b/keyboards/dyz/dyz_tkl/info.json @@ -17,7 +17,7 @@ "usb": { "vid": "0xD772", "pid": "0x000C", - "device_ver": "0x0001" + "device_version": "0.0.1" }, "layouts": { "LAYOUT_all": { diff --git a/keyboards/dyz/selka40/info.json b/keyboards/dyz/selka40/info.json index b947bbb59a31..740eb0d5f13a 100644 --- a/keyboards/dyz/selka40/info.json +++ b/keyboards/dyz/selka40/info.json @@ -20,7 +20,7 @@ "usb": { "vid": "0xD772", "pid": "0x0012", - "device_ver": "0x0001" + "device_version": "0.0.1" }, "layouts": { "LAYOUT_all": { diff --git a/keyboards/dyz/synthesis60/info.json b/keyboards/dyz/synthesis60/info.json index 381e7efb36cf..c0d9baf56048 100644 --- a/keyboards/dyz/synthesis60/info.json +++ b/keyboards/dyz/synthesis60/info.json @@ -35,7 +35,7 @@ "usb": { "vid": "0xD772", "pid": "0x0017", - "device_ver": "0x0001" + "device_version": "0.0.1" }, "layouts": { "LAYOUT_all": { diff --git a/keyboards/handwired/3dortho14u/rev1/info.json b/keyboards/handwired/3dortho14u/rev1/info.json index 72ed95e5f423..bd9220281c3f 100644 --- a/keyboards/handwired/3dortho14u/rev1/info.json +++ b/keyboards/handwired/3dortho14u/rev1/info.json @@ -28,9 +28,9 @@ "rows": ["B0", "B1", "B2", "B3", "B7"] }, "usb": { - "device_ver": "0x0001", + "vid": "0x6662", "pid": "0x3D14", - "vid": "0x6662" + "device_version": "0.0.1" }, "layouts": { "LAYOUT": { diff --git a/keyboards/handwired/3dortho14u/rev2/info.json b/keyboards/handwired/3dortho14u/rev2/info.json index 705d6b557072..7f241f35ff3c 100644 --- a/keyboards/handwired/3dortho14u/rev2/info.json +++ b/keyboards/handwired/3dortho14u/rev2/info.json @@ -28,9 +28,9 @@ "rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"] }, "usb": { - "device_ver": "0x0001", + "vid": "0x6662", "pid": "0x3D14", - "vid": "0x6662" + "device_version": "0.0.1" }, "layouts": { "LAYOUT": { diff --git a/keyboards/handwired/baredev/rev1/info.json b/keyboards/handwired/baredev/rev1/info.json index 601b5df1289a..62928175386c 100644 --- a/keyboards/handwired/baredev/rev1/info.json +++ b/keyboards/handwired/baredev/rev1/info.json @@ -44,7 +44,7 @@ "usb": { "vid": "0x1209", "pid": "0x4126", - "device_ver": "0x0001", + "device_version": "0.0.1", "polling_interval": 1, "shared_endpoint": { "keyboard": true diff --git a/keyboards/handwired/hillside/0_1/info.json b/keyboards/handwired/hillside/0_1/info.json index 8c00f70366e3..7e128d519134 100644 --- a/keyboards/handwired/hillside/0_1/info.json +++ b/keyboards/handwired/hillside/0_1/info.json @@ -18,7 +18,7 @@ "usb": { "vid": "0xFEED", "pid": "0x67C0", - "device_ver": "0x0001" + "device_version": "0.0.1" }, "features": { diff --git a/keyboards/handwired/pytest/info.json b/keyboards/handwired/pytest/info.json index 5c941af9bf55..331472762c20 100644 --- a/keyboards/handwired/pytest/info.json +++ b/keyboards/handwired/pytest/info.json @@ -5,6 +5,6 @@ "usb": { "vid": "0xFEED", "pid": "0x6465", - "device_ver": "0x0001" + "device_version": "0.0.1" } } diff --git a/keyboards/handwired/wakizashi40/info.json b/keyboards/handwired/wakizashi40/info.json index b64ab55116e2..58eadb29e61d 100644 --- a/keyboards/handwired/wakizashi40/info.json +++ b/keyboards/handwired/wakizashi40/info.json @@ -24,9 +24,9 @@ "rows": ["C0", "C1", "C2", "C3"] }, "usb": { - "device_ver": "0x0001", + "vid": "0x6662", "pid": "0x7740", - "vid": "0x6662" + "device_version": "0.0.1" }, "layout_aliases": { "LAYOUT": "LAYOUT_all" diff --git a/keyboards/karlb/kbic65/info.json b/keyboards/karlb/kbic65/info.json index 560e162a3e36..857f8d3cc551 100644 --- a/keyboards/karlb/kbic65/info.json +++ b/keyboards/karlb/kbic65/info.json @@ -29,7 +29,7 @@ "usb": { "vid": "0x424B", "pid": "0xD87A", - "device_ver": "0x0001" + "device_version": "0.0.1" }, "layouts": { "LAYOUT": { diff --git a/keyboards/splitography/info.json b/keyboards/splitography/info.json index 2d07607c2916..a7f8bb7c95f9 100644 --- a/keyboards/splitography/info.json +++ b/keyboards/splitography/info.json @@ -23,7 +23,7 @@ "usb": { "vid": "0xFEED", "pid": "0x6060", - "device_ver": "0x0001" + "device_version": "0.0.1" }, "layouts": { "LAYOUT": { From 3502bbbd16feff23ac020ed561ebfef95cc271e8 Mon Sep 17 00:00:00 2001 From: leviport Date: Sat, 19 Mar 2022 10:37:35 -0600 Subject: [PATCH 0418/1832] Fix typo in docs/ref_functions.md (#16690) --- docs/ref_functions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ref_functions.md b/docs/ref_functions.md index 209dcef722d5..a25c326b43a9 100644 --- a/docs/ref_functions.md +++ b/docs/ref_functions.md @@ -1,6 +1,6 @@ # List of Useful Core Functions To Make Your Keyboard Better -There are a lot of hidden functions in QMK that are incredible useful, or may add a bit of functionality that you've been wanting. Functions that are specific to certain features are not included here, as those will be on their respective feature page. +There are a lot of hidden functions in QMK that are incredibly useful, or may add a bit of functionality that you've been wanting. Functions that are specific to certain features are not included here, as those will be on their respective feature page. ## (OLKB) Tri Layers :id=olkb-tri-layers From 047ef3cd121e6bed3702eaf7ed3e96cf1e765ec5 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 19 Mar 2022 17:40:47 +0000 Subject: [PATCH 0419/1832] VUSB - Use correct endpoint poll for VIA (#16691) --- tmk_core/protocol/vusb/protocol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmk_core/protocol/vusb/protocol.c b/tmk_core/protocol/vusb/protocol.c index 20d053048364..ae99680ce4b6 100644 --- a/tmk_core/protocol/vusb/protocol.c +++ b/tmk_core/protocol/vusb/protocol.c @@ -158,7 +158,7 @@ void protocol_task(void) { #ifdef RAW_ENABLE usbPoll(); - if (usbConfiguration && usbInterruptIsReady3()) { + if (usbConfiguration && usbInterruptIsReady4()) { raw_hid_task(); } #endif From 2f095b8925df98cf2c8c818c8fc44a9015efd6be Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 20 Mar 2022 07:58:30 +1100 Subject: [PATCH 0420/1832] qmk.path.FileType: fix argument handling (#16693) * qmk.path.FileType: pass in mode as first argument * Better solution * Grammar... --- lib/python/qmk/path.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/path.py b/lib/python/qmk/path.py index 9b94abbc1279..556d0eefc858 100644 --- a/lib/python/qmk/path.py +++ b/lib/python/qmk/path.py @@ -70,9 +70,11 @@ def normpath(path): class FileType(argparse.FileType): - def __init__(self, encoding='UTF-8'): + def __init__(self, *args, **kwargs): # Use UTF8 by default for stdin - return super().__init__(encoding=encoding) + if 'encoding' not in kwargs: + kwargs['encoding'] = 'UTF-8' + return super().__init__(*args, **kwargs) def __call__(self, string): """normalize and check exists From cfe28937d51748e180e31c7939fe9e2749524877 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 20 Mar 2022 15:19:46 +1100 Subject: [PATCH 0421/1832] MS Sculpt Mobile refactor (#16038) --- .../handwired/ms_sculpt_mobile/astar/config.h | 6 + .../handwired/ms_sculpt_mobile/astar/rules.mk | 5 + keyboards/handwired/ms_sculpt_mobile/config.h | 17 -- .../handwired/ms_sculpt_mobile/info.json | 187 +++++++++--------- .../ms_sculpt_mobile/keymaps/default/rules.mk | 10 +- .../handwired/ms_sculpt_mobile/readme.md | 2 - keyboards/handwired/ms_sculpt_mobile/rules.mk | 20 +- .../ms_sculpt_mobile/teensy2pp/config.h | 6 + .../ms_sculpt_mobile/teensy2pp/rules.mk | 5 + 9 files changed, 124 insertions(+), 134 deletions(-) create mode 100644 keyboards/handwired/ms_sculpt_mobile/astar/config.h create mode 100644 keyboards/handwired/ms_sculpt_mobile/astar/rules.mk create mode 100644 keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h create mode 100644 keyboards/handwired/ms_sculpt_mobile/teensy2pp/rules.mk diff --git a/keyboards/handwired/ms_sculpt_mobile/astar/config.h b/keyboards/handwired/ms_sculpt_mobile/astar/config.h new file mode 100644 index 000000000000..c34b86acb230 --- /dev/null +++ b/keyboards/handwired/ms_sculpt_mobile/astar/config.h @@ -0,0 +1,6 @@ +#pragma once + +#define PRODUCT sculpt mobile astar + +#define MATRIX_ROW_PINS { D7, C6, D4, D0, D1, D3, D2, E2 } +#define MATRIX_COL_PINS { B4, B5, E6, B7, B6, D6, C7, F7, F6, F4, F5, F1, F0, D5, B0, B1, B2, B3 } diff --git a/keyboards/handwired/ms_sculpt_mobile/astar/rules.mk b/keyboards/handwired/ms_sculpt_mobile/astar/rules.mk new file mode 100644 index 000000000000..cf663a7ed6aa --- /dev/null +++ b/keyboards/handwired/ms_sculpt_mobile/astar/rules.mk @@ -0,0 +1,5 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina diff --git a/keyboards/handwired/ms_sculpt_mobile/config.h b/keyboards/handwired/ms_sculpt_mobile/config.h index 13f5a588b6c6..df478e6d8a93 100644 --- a/keyboards/handwired/ms_sculpt_mobile/config.h +++ b/keyboards/handwired/ms_sculpt_mobile/config.h @@ -29,23 +29,6 @@ along with this program. If not, see . #define MATRIX_ROWS 8 #define MATRIX_COLS 18 -#ifdef ASTAR -#define PRODUCT sculpt mobile astar - /*0 1 2 3 4 5 6 7 8 */ -#define MATRIX_ROW_PINS {D7, C6, D4, D0, D1, D3, D2, E2} -/* A B C D E F G H I J K L M N O P Q R */ -#define MATRIX_COL_PINS {B4, B5, E6, B7, B6, D6, C7, F7, F6, F4,F5, F1,F0, D5, B0, B1, B2, B3} - -#else -#define PRODUCT sculpt mobile teensypp -/* 0 1 2 3 4 5 6 7 */ -#define MATRIX_ROW_PINS { F7,F6,F4,F5,F3,F2,F1,F0} -/* A B C D E F G H I J K L M N O P Q R */ -#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, D4, D5, D6, D7, E0,E1,C1, C0, C3, C2, C5, C4,C7} -#define UNUSED_PINS { B6,B5,B4,B3,B2,B1,B0 } - -#endif - /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION ROW2COL diff --git a/keyboards/handwired/ms_sculpt_mobile/info.json b/keyboards/handwired/ms_sculpt_mobile/info.json index 98137e84f89d..1c171af8f3de 100644 --- a/keyboards/handwired/ms_sculpt_mobile/info.json +++ b/keyboards/handwired/ms_sculpt_mobile/info.json @@ -1,94 +1,99 @@ { - "keyboard_name": "MS Sculpt Mobile", - "url": "", - "maintainer": "qmk", - "layouts": { - "LAYOUT": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":1, "y":0}, - {"label":"F2", "x":2, "y":0}, - {"label":"F3", "x":3, "y":0}, - {"label":"F4", "x":4, "y":0}, - {"label":"F5", "x":5, "y":0}, - {"label":"F6", "x":6, "y":0}, - {"label":"F7", "x":7, "y":0}, - {"label":"F8", "x":8, "y":0}, - {"label":"F9", "x":9, "y":0}, - {"label":"F10", "x":10, "y":0}, - {"label":"F11", "x":11, "y":0}, - {"label":"F12", "x":12, "y":0}, - {"label":"PrtSc", "x":13, "y":0}, - {"label":"Home", "x":14, "y":0}, - {"label":"End", "x":15, "y":0}, - {"label":"`", "x":0, "y":1}, - {"label":"1", "x":1, "y":1}, - {"label":"2", "x":2, "y":1}, - {"label":"3", "x":3, "y":1}, - {"label":"4", "x":4, "y":1}, - {"label":"5", "x":5, "y":1}, - {"label":"6", "x":6, "y":1}, - {"label":"7", "x":7, "y":1}, - {"label":"8", "x":8, "y":1}, - {"label":"9", "x":9, "y":1}, - {"label":"0", "x":10, "y":1}, - {"label":"-", "x":11, "y":1}, - {"label":"=", "x":12, "y":1}, - {"label":"Backspace", "x":13, "y":1, "w":2}, - {"label":"Del", "x":15, "y":1, "h":1.6}, - {"label":"Tab", "x":0, "y":2, "w":1.5}, - {"label":"Q", "x":1.5, "y":2}, - {"label":"W", "x":2.5, "y":2}, - {"label":"E", "x":3.5, "y":2}, - {"label":"R", "x":4.5, "y":2}, - {"label":"T", "x":5.5, "y":2}, - {"label":"Y", "x":6.5, "y":2}, - {"label":"U", "x":7.5, "y":2}, - {"label":"I", "x":8.5, "y":2}, - {"label":"O", "x":9.5, "y":2}, - {"label":"P", "x":10.5, "y":2}, - {"label":"[", "x":11.5, "y":2}, - {"label":"]", "x":12.5, "y":2}, - {"label":"\\", "x":13.5, "y":2, "w":1.5}, - {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, - {"label":"A", "x":1.75, "y":3}, - {"label":"S", "x":2.75, "y":3}, - {"label":"D", "x":3.75, "y":3}, - {"label":"F", "x":4.75, "y":3}, - {"label":"G", "x":5.75, "y":3}, - {"label":"H", "x":6.75, "y":3}, - {"label":"J", "x":7.75, "y":3}, - {"label":"K", "x":8.75, "y":3}, - {"label":"L", "x":9.75, "y":3}, - {"label":";", "x":10.75, "y":3}, - {"label":"'", "x":11.75, "y":3}, - {"label":"Enter", "x":12.75, "y":3, "w":2.25}, - {"label":"PgUp", "x":15, "y":2.6, "h":1.2}, - {"label":"LShift", "x":0, "y":4, "w":2.25}, - {"label":"Z", "x":2.25, "y":4}, - {"label":"X", "x":3.25, "y":4}, - {"label":"C", "x":4.25, "y":4}, - {"label":"V", "x":5.25, "y":4}, - {"label":"B", "x":6.25, "y":4}, - {"label":"N", "x":7.25, "y":4}, - {"label":"M", "x":8.25, "y":4}, - {"label":",", "x":9.25, "y":4}, - {"label":".", "x":10.25, "y":4}, - {"label":"/", "x":11.25, "y":4}, - {"label":"RShift", "x":12.25, "y":4, "w":1.75}, - {"label":"Up", "x":14, "y":4}, - {"label":"PgDn", "x":15, "y":3.8, "h":1.2}, - {"label":"LCtrl", "x":0, "y":5, "w":1.25}, - {"label":"LWin", "x":1.25, "y":5, "w":1.25}, - {"label":"LAlt", "x":2.5, "y":5, "w":1.25}, - {"label":"Space", "x":3.75, "y":5, "w":5.5}, - {"label":"RAlt", "x":9.25, "y":5, "w":1.25}, - {"label":"Fn", "x":10.5, "y":5, "w":1.25}, - {"label":"RCtrl", "x":11.75, "y":5, "w":1.25}, - {"label":"Left", "x":13, "y":5}, - {"label":"Down", "x":14, "y":5}, - {"label":"Right", "x":15, "y":5} - ] + "keyboard_name": "MS Sculpt Mobile", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1, "w": 2}, + {"x": 15, "y": 1, "h": 1.6}, + + {"x": 0, "y": 2, "w": 1.5}, + {"x": 1.5, "y": 2}, + {"x": 2.5, "y": 2}, + {"x": 3.5, "y": 2}, + {"x": 4.5, "y": 2}, + {"x": 5.5, "y": 2}, + {"x": 6.5, "y": 2}, + {"x": 7.5, "y": 2}, + {"x": 8.5, "y": 2}, + {"x": 9.5, "y": 2}, + {"x": 10.5, "y": 2}, + {"x": 11.5, "y": 2}, + {"x": 12.5, "y": 2}, + {"x": 13.5, "y": 2, "w": 1.5}, + + {"x": 0, "y": 3, "w": 1.75}, + {"x": 1.75, "y": 3}, + {"x": 2.75, "y": 3}, + {"x": 3.75, "y": 3}, + {"x": 4.75, "y": 3}, + {"x": 5.75, "y": 3}, + {"x": 6.75, "y": 3}, + {"x": 7.75, "y": 3}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3}, + {"x": 10.75, "y": 3}, + {"x": 11.75, "y": 3}, + {"x": 12.75, "y": 3, "w": 2.25}, + {"x": 15, "y": 2.6, "h": 1.2}, + + {"x": 0, "y": 4, "w": 2.25}, + {"x": 2.25, "y": 4}, + {"x": 3.25, "y": 4}, + {"x": 4.25, "y": 4}, + {"x": 5.25, "y": 4}, + {"x": 6.25, "y": 4}, + {"x": 7.25, "y": 4}, + {"x": 8.25, "y": 4}, + {"x": 9.25, "y": 4}, + {"x": 10.25, "y": 4}, + {"x": 11.25, "y": 4}, + {"x": 12.25, "y": 4, "w": 1.75}, + {"x": 14, "y": 4}, + {"x": 15, "y": 3.8, "h": 1.2}, + + {"x": 0, "y": 5, "w": 1.25}, + {"x": 1.25, "y": 5, "w": 1.25}, + {"x": 2.5, "y": 5, "w": 1.25}, + {"x": 3.75, "y": 5, "w": 5.5}, + {"x": 9.25, "y": 5, "w": 1.25}, + {"x": 10.5, "y": 5, "w": 1.25}, + {"x": 11.75, "y": 5, "w": 1.25}, + {"x": 13, "y": 5}, + {"x": 14, "y": 5}, + {"x": 15, "y": 5} + ] + } } - } } diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk index 3224016bbe3a..a9c1087a2aa8 100644 --- a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk +++ b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk @@ -1,9 +1,3 @@ -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration +MOUSEKEY_ENABLE = yes +CONSOLE_ENABLE = no NKRO_ENABLE = yes -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. diff --git a/keyboards/handwired/ms_sculpt_mobile/readme.md b/keyboards/handwired/ms_sculpt_mobile/readme.md index 98fd1f8d1aae..0345ded36bfd 100644 --- a/keyboards/handwired/ms_sculpt_mobile/readme.md +++ b/keyboards/handwired/ms_sculpt_mobile/readme.md @@ -46,8 +46,6 @@ The Astar mini has all pins exposed , so you can do 18x8 If you want a speaker, LEDs, etc., you'll need to free up a pin. I recommend joining columns R and L to the same pin. -Building - add ASTAR=1 to the compile line or leave out for teensy2++ - Make example for this keyboard (after setting up your build environment): make handwired/ms_sculpt_mobile:default diff --git a/keyboards/handwired/ms_sculpt_mobile/rules.mk b/keyboards/handwired/ms_sculpt_mobile/rules.mk index 6498fa6c7603..6fd84c8244b2 100644 --- a/keyboards/handwired/ms_sculpt_mobile/rules.mk +++ b/keyboards/handwired/ms_sculpt_mobile/rules.mk @@ -1,26 +1,14 @@ -# MCU name -ifdef ASTAR - MCU = atmega32u4 - CFLAGS = -D ASTAR -else - MCU = at90usb1286 -endif - -# Bootloader selection -ifdef ASTAR - BOOTLOADER = caterina -else - BOOTLOADER = atmel-dfu -endif - # Build Options # change yes to no to disable # BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys +MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output + +DEFAULT_FOLDER = handwired/ms_sculpt_mobile/teensy2pp diff --git a/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h new file mode 100644 index 000000000000..a69d3fd3b03e --- /dev/null +++ b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h @@ -0,0 +1,6 @@ +#pragma once + +#define PRODUCT sculpt mobile teensypp + +#define MATRIX_ROW_PINS { F7, F6, F4, F5, F3, F2, F1, F0 } +#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, D4, D5, D6, D7, E0, E1, C1, C0, C3, C2, C5, C4, C7 } diff --git a/keyboards/handwired/ms_sculpt_mobile/teensy2pp/rules.mk b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/rules.mk new file mode 100644 index 000000000000..149471682dfb --- /dev/null +++ b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/rules.mk @@ -0,0 +1,5 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = halfkay From 6125f7bf4d15b4ab9403186a5282bb75bc00bd07 Mon Sep 17 00:00:00 2001 From: Joshua Barber Date: Sun, 20 Mar 2022 17:02:46 +0000 Subject: [PATCH 0422/1832] Add MutePad keyboard (Handwired) (#16590) * Add MutePad keyboard * Update info.json and readme * Move mutepad to handwired folder * Address PR comments --- keyboards/handwired/mutepad/config.h | 90 +++++++++++++++++++ keyboards/handwired/mutepad/info.json | 15 ++++ .../mutepad/keymaps/default/keymap.c | 43 +++++++++ .../mutepad/keymaps/default/readme.md | 1 + keyboards/handwired/mutepad/mutepad.c | 4 + keyboards/handwired/mutepad/mutepad.h | 19 ++++ keyboards/handwired/mutepad/readme.md | 33 +++++++ keyboards/handwired/mutepad/rules.mk | 19 ++++ 8 files changed, 224 insertions(+) create mode 100644 keyboards/handwired/mutepad/config.h create mode 100644 keyboards/handwired/mutepad/info.json create mode 100644 keyboards/handwired/mutepad/keymaps/default/keymap.c create mode 100644 keyboards/handwired/mutepad/keymaps/default/readme.md create mode 100644 keyboards/handwired/mutepad/mutepad.c create mode 100644 keyboards/handwired/mutepad/mutepad.h create mode 100644 keyboards/handwired/mutepad/readme.md create mode 100644 keyboards/handwired/mutepad/rules.mk diff --git a/keyboards/handwired/mutepad/config.h b/keyboards/handwired/mutepad/config.h new file mode 100644 index 000000000000..7113063223fd --- /dev/null +++ b/keyboards/handwired/mutepad/config.h @@ -0,0 +1,90 @@ +// Copyright 2022 JoshwJB (@JoshwJB) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER JoshwJB +#define PRODUCT MutePad + +/* key matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 4 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS \ + { F6 } +#define MATRIX_COL_PINS \ + { B1, B3, B2, B6 } +#define UNUSED_PINS + +/* encoder support */ +#define ENCODERS_PAD_A \ + { F4 } +#define ENCODERS_PAD_B \ + { F5 } + +#define ENCODER_RESOLUTION 2 + +#define TAP_CODE_DELAY 10 + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/mutepad/info.json b/keyboards/handwired/mutepad/info.json new file mode 100644 index 000000000000..b4a75a10e2d6 --- /dev/null +++ b/keyboards/handwired/mutepad/info.json @@ -0,0 +1,15 @@ +{ + "keyboard_name": "MutePad", + "url": "https://github.com/JoshwJB/MutePad", + "maintainer": "JoshwJB", + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "k00", "x": 0, "y": 0}, + {"label": "k01", "x": 1, "y": 0}, + {"label": "k02", "x": 2, "y": 0}, + {"label": "k03", "x": 3, "y": 0}, + ] + } + } +} diff --git a/keyboards/handwired/mutepad/keymaps/default/keymap.c b/keyboards/handwired/mutepad/keymaps/default/keymap.c new file mode 100644 index 000000000000..d26e230e538f --- /dev/null +++ b/keyboards/handwired/mutepad/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +// Copyright 2022 Joshua Barber (@JoshwJB) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { _BASE }; + +enum custom_keycodes { MUTE_GOOGLE_MEET = 0, MUTE_TEAMS = 1 }; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case MUTE_GOOGLE_MEET: + if (record->event.pressed) { + tap_code16(G(KC_D)); + } + break; + case MUTE_TEAMS: + if (record->event.pressed) { + tap_code16(C(S(KC_M))); + } + break; + } + + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT(MUTE_TEAMS, KC_F23, KC_F24, KC_MPLY)}; + +#ifdef ENCODER_ENABLE + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} + +#endif diff --git a/keyboards/handwired/mutepad/keymaps/default/readme.md b/keyboards/handwired/mutepad/keymaps/default/readme.md new file mode 100644 index 000000000000..c3c9ec6aec0b --- /dev/null +++ b/keyboards/handwired/mutepad/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for MutePad diff --git a/keyboards/handwired/mutepad/mutepad.c b/keyboards/handwired/mutepad/mutepad.c new file mode 100644 index 000000000000..09210c3f4f57 --- /dev/null +++ b/keyboards/handwired/mutepad/mutepad.c @@ -0,0 +1,4 @@ +// Copyright 2022 JoshwJB (@JoshwJB) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "mutepad.h" diff --git a/keyboards/handwired/mutepad/mutepad.h b/keyboards/handwired/mutepad/mutepad.h new file mode 100644 index 000000000000..57c317cb6010 --- /dev/null +++ b/keyboards/handwired/mutepad/mutepad.h @@ -0,0 +1,19 @@ +// Copyright 2022 JoshwJB (@JoshwJB) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT(K00, K01, K02, K03) \ + { \ + { K00, K01, K02, K03 } \ + } diff --git a/keyboards/handwired/mutepad/readme.md b/keyboards/handwired/mutepad/readme.md new file mode 100644 index 000000000000..cbd1c9f31685 --- /dev/null +++ b/keyboards/handwired/mutepad/readme.md @@ -0,0 +1,33 @@ +# MutePad + +[MutePad Repo](https://github.com/JoshwJB/MutePad) + +A 3D printed under desk mounted keypad with rotary encoder, for muting applications (discord, zoom etc.) and adjusting volume. + +* Keyboard Maintainer: [JoshwJB](https://github.com/JoshwJB) +* Hardware Supported: ProMicro +* Hardware Availability: Handwired - see [MutePad Repo](https://github.com/JoshwJB/MutePad) + +Make example for this keyboard (after setting up your build environment): + + make handwired/mutepad:default + +Flashing example for this keyboard: + + make handwired/mutepad:default:flash + +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). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly short the ground and reset on the ProMicro + +## Images +![image](https://user-images.githubusercontent.com/15612025/157335123-a76ce059-86b4-4484-9bb2-0abff8a13cc8.png) + +### Wiring +![image](https://user-images.githubusercontent.com/15612025/157336673-ad348e3d-4314-4703-afe0-a43a6f73b892.png) +![image](https://user-images.githubusercontent.com/15612025/157335150-8491553f-a7dc-462a-a6af-bc4be223b703.png) diff --git a/keyboards/handwired/mutepad/rules.mk b/keyboards/handwired/mutepad/rules.mk new file mode 100644 index 000000000000..1a63bd74b104 --- /dev/null +++ b/keyboards/handwired/mutepad/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes From 1bc8793f83b205bb1c1dd18a6f9f3db14bbafe91 Mon Sep 17 00:00:00 2001 From: Alabahuy Date: Mon, 21 Mar 2022 00:05:56 +0700 Subject: [PATCH 0423/1832] Add Rart75 hotswap and support via (#16619) * Add Keyboard Rart75 Hotswap version * Update readme * Update config and readme * Update info.json * update readme and keymaps --- keyboards/rart/rart75hs/config.h | 75 ++++++++++++++ keyboards/rart/rart75hs/info.json | 99 +++++++++++++++++++ .../rart/rart75hs/keymaps/default/keymap.c | 37 +++++++ keyboards/rart/rart75hs/keymaps/via/keymap.c | 55 +++++++++++ keyboards/rart/rart75hs/keymaps/via/rules.mk | 2 + keyboards/rart/rart75hs/rart75hs.c | 31 ++++++ keyboards/rart/rart75hs/rart75hs.h | 34 +++++++ keyboards/rart/rart75hs/readme.md | 30 ++++++ keyboards/rart/rart75hs/rules.mk | 22 +++++ 9 files changed, 385 insertions(+) create mode 100644 keyboards/rart/rart75hs/config.h create mode 100644 keyboards/rart/rart75hs/info.json create mode 100644 keyboards/rart/rart75hs/keymaps/default/keymap.c create mode 100644 keyboards/rart/rart75hs/keymaps/via/keymap.c create mode 100644 keyboards/rart/rart75hs/keymaps/via/rules.mk create mode 100644 keyboards/rart/rart75hs/rart75hs.c create mode 100644 keyboards/rart/rart75hs/rart75hs.h create mode 100644 keyboards/rart/rart75hs/readme.md create mode 100644 keyboards/rart/rart75hs/rules.mk diff --git a/keyboards/rart/rart75hs/config.h b/keyboards/rart/rart75hs/config.h new file mode 100644 index 000000000000..d08e0612a21f --- /dev/null +++ b/keyboards/rart/rart75hs/config.h @@ -0,0 +1,75 @@ +/* +Copyright 2022 Alabahuy + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x414C // "AL" +#define PRODUCT_ID 0x5575 // "75" +#define DEVICE_VER 0x0003 +#define MANUFACTURER Alabahuy +#define PRODUCT RART75 Hotswap + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 16 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D5, D6, D7, D0, C5, C4 } +#define MATRIX_COL_PINS { B4, B3, B2, B1, B0, A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C3 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define LED_CAPS_LOCK_PIN D4 +#define LED_PIN_ON_STATE 0 + +#define ENCODERS_PAD_A { C1 } +#define ENCODERS_PAD_B { C2 } +#define ENCODER_RESOLUTION 4 //default/suggested + +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 1 + +#define RGB_DI_PIN C0 +#ifdef RGB_DI_PIN +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_TWINKLE +/* You can change the number of RGB strip */ +#define RGBLED_NUM 11 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGBLIGHT_LIMIT_VAL 240 +#define RGBLIGHT_SLEEP +#endif diff --git a/keyboards/rart/rart75hs/info.json b/keyboards/rart/rart75hs/info.json new file mode 100644 index 000000000000..2a8cae96f8f0 --- /dev/null +++ b/keyboards/rart/rart75hs/info.json @@ -0,0 +1,99 @@ +{ + "keyboard_name": "RART75 Hotswap", + "url": "", + "maintainer": "Alabahuy", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label" : "Esc", "x":0, "y":0}, + {"label" : "F1", "x":1.25, "y":0}, + {"label" : "F2", "x":2.25, "y":0}, + {"label" : "F3", "x":3.25, "y":0}, + {"label" : "F4", "x":4.25, "y":0}, + {"label" : "F5", "x":5.5, "y":0}, + {"label" : "F6", "x":6.5, "y":0}, + {"label" : "F7", "x":7.5, "y":0}, + {"label" : "F8", "x":8.5, "y":0}, + {"label" : "F9", "x":9.75, "y":0}, + {"label" : "F10", "x":10.75, "y":0}, + {"label" : "F11", "x":11.75, "y":0}, + {"label" : "F12", "x":12.75, "y":0}, + {"label" : "Delete", "x":14, "y":0}, + {"label" : "Encoder", "x":15.5, "y":0}, + + {"label" : "`", "x":0, "y":1.25}, + {"label" : "1", "x":1, "y":1.25}, + {"label" : "2", "x":2, "y":1.25}, + {"label" : "3", "x":3, "y":1.25}, + {"label" : "4", "x":4, "y":1.25}, + {"label" : "5", "x":5, "y":1.25}, + {"label" : "6", "x":6, "y":1.25}, + {"label" : "7", "x":7, "y":1.25}, + {"label" : "8", "x":8, "y":1.25}, + {"label" : "9", "x":9, "y":1.25}, + {"label" : "0", "x":10, "y":1.25}, + {"label" : "-", "x":11, "y":1.25}, + {"label" : "=", "x":12, "y":1.25}, + {"label" : "Backspace", "x":13, "y":1.25, "w":2}, + {"label" : "Page up", "x":15.5, "y":1.25}, + + {"label" : "Tab", "x":0, "y":2.25, "w":1.5}, + {"label" : "Q", "x":1.5, "y":2.25}, + {"label" : "W", "x":2.5, "y":2.25}, + {"label" : "E", "x":3.5, "y":2.25}, + {"label" : "R", "x":4.5, "y":2.25}, + {"label" : "T", "x":5.5, "y":2.25}, + {"label" : "Y", "x":6.5, "y":2.25}, + {"label" : "U", "x":7.5, "y":2.25}, + {"label" : "I", "x":8.5, "y":2.25}, + {"label" : "O", "x":9.5, "y":2.25}, + {"label" : "P", "x":10.5, "y":2.25}, + {"label" : "[", "x":11.5, "y":2.25}, + {"label" : "]", "x":12.5, "y":2.25}, + {"label" : "|", "x":13.5, "y":2.25, "w":1.5}, + {"label" : "Page down", "x":15.5, "y":2.25}, + + {"label" : "Caps lock", "x":0, "y":3.25, "w":1.75}, + {"label" : "A", "x":1.75, "y":3.25}, + {"label" : "S", "x":2.75, "y":3.25}, + {"label" : "D", "x":3.75, "y":3.25}, + {"label" : "F", "x":4.75, "y":3.25}, + {"label" : "G", "x":5.75, "y":3.25}, + {"label" : "H", "x":6.75, "y":3.25}, + {"label" : "J", "x":7.75, "y":3.25}, + {"label" : "K", "x":8.75, "y":3.25}, + {"label" : "L", "x":9.75, "y":3.25}, + {"label" : ";", "x":10.75, "y":3.25}, + {"label" : "'", "x":11.75, "y":3.25}, + {"label" : "Enter", "x":12.75, "y":3.25, "w":2.25}, + {"label" : "Home", "x":15.5, "y":3.25}, + + {"label" : "Shift", "x":0, "y":4.25, "w":2.25}, + {"label" : "Z", "x":2.25, "y":4.25}, + {"label" : "X", "x":3.25, "y":4.25}, + {"label" : "C", "x":4.25, "y":4.25}, + {"label" : "V", "x":5.25, "y":4.25}, + {"label" : "B", "x":6.25, "y":4.25}, + {"label" : "N", "x":7.25, "y":4.25}, + {"label" : "M", "x":8.25, "y":4.25}, + {"label" : ",", "x":9.25, "y":4.25}, + {"label" : ".", "x":10.25, "y":4.25}, + {"label" : "/", "x":11.25, "y":4.25}, + {"label" : "Shift", "x":12.25, "y":4.25, "w":1.75}, + {"label" : "Up", "x":14.25, "y":4.5}, + {"label" : "End", "x":15.5, "y":4.25}, + + {"label" : "Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label" : "Windows", "x":1.25, "y":5.25, "w":1.25}, + {"label" : "Alt", "x":2.5, "y":5.25, "w":1.25}, + {"label" : "Space", "x":3.75, "y":5.25, "w":6.25}, + {"label" : "Alt", "x":10, "y":5.25 }, + {"label" : "Windows","x":11, "y":5.25 }, + {"label" : "Ctrl", "x":12, "y":5.25 }, + {"label" : "Left", "x":13.25, "y":5.5 }, + {"label" : "Down", "x":14.25, "y":5.5 }, + {"label" : "Right", "x":15.25, "y":5.5 } + ] + } + } +} diff --git a/keyboards/rart/rart75hs/keymaps/default/keymap.c b/keyboards/rart/rart75hs/keymaps/default/keymap.c new file mode 100644 index 000000000000..c6f334e98fc1 --- /dev/null +++ b/keyboards/rart/rart75hs/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2022 Alabahuy + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_MPLY, + KC_GRV, 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_HOME, + 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_END, + 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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/rart/rart75hs/keymaps/via/keymap.c b/keyboards/rart/rart75hs/keymaps/via/keymap.c new file mode 100644 index 000000000000..27a4f99fa658 --- /dev/null +++ b/keyboards/rart/rart75hs/keymaps/via/keymap.c @@ -0,0 +1,55 @@ +/* Copyright 2022 Alabahuy + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_MPLY, + KC_GRV, 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_HOME, + 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_END, + 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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/rart/rart75hs/keymaps/via/rules.mk b/keyboards/rart/rart75hs/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/rart/rart75hs/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/rart/rart75hs/rart75hs.c b/keyboards/rart/rart75hs/rart75hs.c new file mode 100644 index 000000000000..f2475ab9606b --- /dev/null +++ b/keyboards/rart/rart75hs/rart75hs.c @@ -0,0 +1,31 @@ +/* Copyright 2022 Alabahuy + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "rart75hs.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + switch (index) { + case 0: + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + } + return true; +} +#endif diff --git a/keyboards/rart/rart75hs/rart75hs.h b/keyboards/rart/rart75hs/rart75hs.h new file mode 100644 index 000000000000..f3b25df1b65a --- /dev/null +++ b/keyboards/rart/rart75hs/rart75hs.h @@ -0,0 +1,34 @@ +/* Copyright 2022 Alabahuy + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4E, K4F, \ + K50, K51, K52, K54, K58, K59, K5A, K5B, K5E, K5F \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, KC_NO, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, KC_NO, K4E, K4F }, \ + { K50, K51, K52, KC_NO, K54, KC_NO, KC_NO, KC_NO, K58, K59, K5A, K5B, KC_NO, KC_NO, K5E, K5F }, \ +} diff --git a/keyboards/rart/rart75hs/readme.md b/keyboards/rart/rart75hs/readme.md new file mode 100644 index 000000000000..af8db99a0204 --- /dev/null +++ b/keyboards/rart/rart75hs/readme.md @@ -0,0 +1,30 @@ +# [RART 75 Hotswap](https://github.com/alabahuy/RART/tree/master/RART75) + +![RART 75](https://i.imgur.com/FVWlm8Uh.jpeg) + +75% pcb with encoder, based on IMKG (Indonesia Mechanical Keyboard Group) + +* Keyboard Maintainer: [Alabahuy](https://github.com/alabahuy) +* Hardware Supported: RART75 PCB, Atmega32a, Type C, Encoders +* Hardware Availability: Private GB + +Make example for this keyboard (after setting up your build environment): + + make rart/rart75hs:default + +Flashing example for this keyboard: + + make rart/rart75hs:default:flash + +## Bootloader + +Enter the bootloader in 3 ways: + +* To Enter the bootloader you can short and hold boot pin, short reset pin, release reset and boot pin. + +* Bootmagic reset, hold down the key at (0,0) in the matrix (ESC) and plug in the keyboard. + +* Bootloader reset on the matrix, hold down key at (0,1) and plug in the keyboard + + +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/rart/rart75hs/rules.mk b/keyboards/rart/rart75hs/rules.mk new file mode 100644 index 000000000000..3a9dc7e9bc9e --- /dev/null +++ b/keyboards/rart/rart75hs/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32a + +# Bootloader selection +BOOTLOADER = usbasploader + +# Processor frequency +F_CPU = 16000000 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes From 669ad3c8052fa36e03c105cb00b60b178aaf20cc Mon Sep 17 00:00:00 2001 From: Droxx <101306764+furfuzz@users.noreply.github.com> Date: Sun, 20 Mar 2022 11:24:09 -0600 Subject: [PATCH 0424/1832] Droxx keymap (#16607) * add droxx kaymap * add droxx keymap * fixed config.h * fixed rules.mk * fixed rules.mk * updated readme.md * Update config.h * Update keymap.c * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update config.h * Update readme.md * Update keymap.c --- .../kbdfans/kbd67/rev2/keymaps/droxx/config.h | 30 ++++++++ .../kbdfans/kbd67/rev2/keymaps/droxx/keymap.c | 71 +++++++++++++++++++ .../kbd67/rev2/keymaps/droxx/readme.md | 30 ++++++++ .../kbdfans/kbd67/rev2/keymaps/droxx/rules.mk | 3 + 4 files changed, 134 insertions(+) create mode 100644 keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h create mode 100644 keyboards/kbdfans/kbd67/rev2/keymaps/droxx/keymap.c create mode 100644 keyboards/kbdfans/kbd67/rev2/keymaps/droxx/readme.md create mode 100644 keyboards/kbdfans/kbd67/rev2/keymaps/droxx/rules.mk diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h new file mode 100644 index 000000000000..911051c31a2a --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h @@ -0,0 +1,30 @@ +/* +Copyright 2022 Alex K + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +/* USB Device descriptor parameter */ +#undef VENDOR_ID +#undef MANUFACTURER +#undef PRODUCT + +#define VENDOR_ID 0xAF88 +#define MANUFACTURER Droxx-FurFuzz +#define PRODUCT Carbon v2 4rk + +/* force N key rollover even on startup regardless of EEPROM setting */ +#define FORCE_NKRO diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/keymap.c new file mode 100644 index 000000000000..1c6e2b982dfc --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/keymap.c @@ -0,0 +1,71 @@ +// KBD67 Rev 2 ANSI Layout + +/* Copyright 2022 Alex K + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +// #include "droxx.h" + +// make keycodes easier to change for the future +#define DRXX KC_TRNS + +// enumerate custom layer names for the keymap +enum keymap_layers { + _DRXXMAIN = 0, + _DRXXFN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap Base Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BackSp│Hom│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ BkSl│PgU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│PgD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ ↑ │End│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + * │Ctrl│ Win│ Alt│ Space │Alt│Fn │Ctl│ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ + */ +[_DRXXMAIN] = LAYOUT_65_ansi( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_DRXXFN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap Fn Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │~ `│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ Del│Ins│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │ │RM-│RB+│RM+│ │RTg│ │ │ │ │ │ │ │ │Pau│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │ │RS-│RB-│RS+│ │ │ │ │ │ │ │ │ │SLk│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ │ │DGu│EGu│ │ │ │ │ │ │ │ │ │PSr│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ + */ +[_DRXXFN] = LAYOUT_65_ansi( + 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, KC_DEL, KC_INS, + DRXX , RGB_RMOD, RGB_VAI, RGB_MOD, DRXX, RGB_TOG, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, KC_PAUS, + DRXX, RGB_SPD, RGB_VAD, RGB_SPI, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, KC_SLCK, + DRXX, DRXX, GUI_OFF, GUI_ON, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, KC_PSCR, + DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX), +}; diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/readme.md b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/readme.md new file mode 100644 index 000000000000..26d686c977e6 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/readme.md @@ -0,0 +1,30 @@ +## Droxx's ANSI style keymap for the KBD67 REV 2 PCB + +* An ANSI keymap layout made by Alex for the KBD67 Rev 2 +* This keymap features two layers using basic Fn alternate keys on the second layer as well as lighting control + +![KBD67Rev2 Layout](https://i.imgur.com/DPSMhIX.png) + +### Layer 0 (_DRXXMAIN) + +The base QWERTY layer + +* Basic qwerty key layout with nothing other than an Fn key +* Fn on the bottom row activates layer 1 + +### Layer 1 (_DRXXFN) + +The function layer + +* Backspace will trigger KC_DEL until I find the KC_HOME key less useful. +* Pressing T will toggle the keyboard underglow feature on and off. +* Keys Q and E are used to change the underglow style of the keyboard. +* Keys W and S modify the brightness of the underglow. +* Keys A and D change the speed of the LED RGB animation. + +~~When Fn is held on layer 0, the arrow keys become a control surface for the LED baclighting~~ +~~The up arrow is used to cycle backlight modes, down arrow for toggling the backlight on or off,~~ +~~and the right and left for increasing and decreasing the brightness respectively.~~[^note] +* X is used to disable the GUI key and C is used to enable the GUI key. + +[^note]: I don't have in-switch LEDs installed? diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/rules.mk b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/rules.mk new file mode 100644 index 000000000000..c9b5587d59af --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/rules.mk @@ -0,0 +1,3 @@ +MOUSEKEY_ENABLE = no +BACKLIGHT_ENABLE = no +RGBLIGHT_ENABLE = yes From 7eb6f86bc0aac3ff83abe4365cd11c5c195dc403 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:05:38 +0900 Subject: [PATCH 0425/1832] [Keyboard] add oled_task_kb() into keyboards/helix/rev2/rev2.c (#16697) --- .../helix/rev2/keymaps/default/oled_display.c | 6 ++--- keyboards/helix/rev2/rev2.c | 24 +++++++++++++++++++ keyboards/helix/rev2/rev2.h | 4 ++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c index 4ee3f002d607..824d2e4d8645 100644 --- a/keyboards/helix/rev2/keymaps/default/oled_display.c +++ b/keyboards/helix/rev2/keymaps/default/oled_display.c @@ -74,9 +74,6 @@ void matrix_update(struct CharacterMatrix *dest, # ifdef SSD1306OLED static void render_logo(struct CharacterMatrix *matrix) { -# else -static void render_logo(void) { -# endif static const char helix_logo[] PROGMEM ={ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, @@ -85,6 +82,7 @@ static void render_logo(void) { 0}; oled_write_P(helix_logo, false); } +# endif # ifdef SSD1306OLED static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) { @@ -219,7 +217,7 @@ bool oled_task_user(void) { if (is_keyboard_master()) { render_status(); } else { - render_logo(); + render_helix_logo(); render_rgbled_status(false); render_layer_status(); } diff --git a/keyboards/helix/rev2/rev2.c b/keyboards/helix/rev2/rev2.c index f579027c7107..ba29f3c7de56 100644 --- a/keyboards/helix/rev2/rev2.c +++ b/keyboards/helix/rev2/rev2.c @@ -64,3 +64,27 @@ void matrix_slave_scan_user(void) { matrix_scan_user(); } #endif + +#ifdef OLED_ENABLE +void render_helix_logo(void) { + static const char helix_logo[] PROGMEM ={ + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, + 0}; + oled_write_P(helix_logo, false); +} + +bool oled_task_kb(void) { + if (oled_task_user()) { + /* keymap/user level oled_task_user() dose not exist */ + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUMLOCK") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false); + oled_write_P(PSTR("\n"), false); + render_helix_logo(); + } + return false; +} +#endif /* end of OLED_ENABLE */ diff --git a/keyboards/helix/rev2/rev2.h b/keyboards/helix/rev2/rev2.h index 5c7cc93d17fc..fccbaf1ac4be 100644 --- a/keyboards/helix/rev2/rev2.h +++ b/keyboards/helix/rev2/rev2.h @@ -20,6 +20,10 @@ bool is_mac_mode(void); void set_mac_mode_kb(bool macmode); +#ifdef OLED_ENABLE +void render_helix_logo(void); +#endif + #ifndef SPLIT_KEYBOARD extern bool is_helix_master(void); #define is_keyboard_master() is_helix_master() From 4f8cc32cf50fb2b6eb3764a7d971c41121c9bc89 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 21 Mar 2022 10:57:41 +0000 Subject: [PATCH 0426/1832] Extend 'qmk info' to handle keymap level overrides (#16702) --- lib/python/qmk/cli/generate/config_h.py | 10 ++--- lib/python/qmk/cli/generate/rules_mk.py | 10 ++--- lib/python/qmk/cli/info.py | 16 ++++++-- lib/python/qmk/info.py | 49 ++++++++++++++++++++----- 4 files changed, 58 insertions(+), 27 deletions(-) diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index adefdb573232..20c9595ed7dc 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -5,10 +5,9 @@ from dotty_dict import dotty from milc import cli -from qmk.info import info_json -from qmk.json_schema import json_load, validate +from qmk.info import info_json, keymap_json_config +from qmk.json_schema import json_load from qmk.keyboard import keyboard_completer, keyboard_folder -from qmk.keymap import locate_keymap from qmk.commands import dump_lines from qmk.path import normpath from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE @@ -180,10 +179,7 @@ def generate_config_h(cli): """ # Determine our keyboard/keymap if cli.args.keymap: - km = locate_keymap(cli.args.keyboard, cli.args.keymap) - km_json = json_load(km) - validate(km_json, 'qmk.keymap.v1') - kb_info_json = dotty(km_json.get('config', {})) + kb_info_json = dotty(keymap_json_config(cli.args.keyboard, cli.args.keymap)) else: kb_info_json = dotty(info_json(cli.args.keyboard)) diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py index 6f342c6567a1..9623d00fb5ed 100755 --- a/lib/python/qmk/cli/generate/rules_mk.py +++ b/lib/python/qmk/cli/generate/rules_mk.py @@ -5,10 +5,9 @@ from dotty_dict import dotty from milc import cli -from qmk.info import info_json -from qmk.json_schema import json_load, validate +from qmk.info import info_json, keymap_json_config +from qmk.json_schema import json_load from qmk.keyboard import keyboard_completer, keyboard_folder -from qmk.keymap import locate_keymap from qmk.commands import dump_lines from qmk.path import normpath from qmk.constants import GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE @@ -51,10 +50,7 @@ def generate_rules_mk(cli): """ # Determine our keyboard/keymap if cli.args.keymap: - km = locate_keymap(cli.args.keyboard, cli.args.keymap) - km_json = json_load(km) - validate(km_json, 'qmk.keymap.v1') - kb_info_json = dotty(km_json.get('config', {})) + kb_info_json = dotty(keymap_json_config(cli.args.keyboard, cli.args.keymap)) else: kb_info_json = dotty(info_json(cli.args.keyboard)) diff --git a/lib/python/qmk/cli/info.py b/lib/python/qmk/cli/info.py index 3131d4b53f9f..fa5729bcc9b8 100755 --- a/lib/python/qmk/cli/info.py +++ b/lib/python/qmk/cli/info.py @@ -11,8 +11,8 @@ from qmk.constants import COL_LETTERS, ROW_LETTERS from qmk.decorators import automagic_keyboard, automagic_keymap from qmk.keyboard import keyboard_completer, keyboard_folder, render_layouts, render_layout, rules_mk +from qmk.info import info_json, keymap_json from qmk.keymap import locate_keymap -from qmk.info import info_json from qmk.path import is_keyboard UNICODE_SUPPORT = sys.stdout.encoding.lower().startswith('utf') @@ -135,7 +135,7 @@ def print_parsed_rules_mk(keyboard_name): @cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='Keyboard to show info for.') -@cli.argument('-km', '--keymap', help='Show the layers for a JSON keymap too.') +@cli.argument('-km', '--keymap', help='Keymap to show info for (Optional).') @cli.argument('-l', '--layouts', action='store_true', help='Render the layouts.') @cli.argument('-m', '--matrix', action='store_true', help='Render the layouts with matrix information.') @cli.argument('-f', '--format', default='friendly', arg_only=True, help='Format to display the data in (friendly, text, json) (Default: friendly).') @@ -161,8 +161,15 @@ def info(cli): print_parsed_rules_mk(cli.config.info.keyboard) return False + # default keymap stored in config file should be ignored + if cli.config_source.info.keymap == 'config_file': + cli.config_source.info.keymap = None + # Build the info.json file - kb_info_json = info_json(cli.config.info.keyboard) + if cli.config.info.keymap: + kb_info_json = keymap_json(cli.config.info.keyboard, cli.config.info.keymap) + else: + kb_info_json = info_json(cli.config.info.keyboard) # Output in the requested format if cli.args.format == 'json': @@ -178,11 +185,12 @@ def info(cli): cli.log.error('Unknown format: %s', cli.args.format) return False + # Output requested extras if cli.config.info.layouts: show_layouts(kb_info_json, title_caps) if cli.config.info.matrix: show_matrix(kb_info_json, title_caps) - if cli.config_source.info.keymap and cli.config_source.info.keymap != 'config_file': + if cli.config.info.keymap: show_keymap(kb_info_json, title_caps) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index c399a9f32198..d104d655ef0a 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -8,10 +8,11 @@ from milc import cli from qmk.constants import CHIBIOS_PROCESSORS, LUFA_PROCESSORS, VUSB_PROCESSORS -from qmk.c_parse import find_layouts +from qmk.c_parse import find_layouts, parse_config_h_file from qmk.json_schema import deep_update, json_load, validate from qmk.keyboard import config_h, rules_mk -from qmk.keymap import list_keymaps +from qmk.keymap import list_keymaps, locate_keymap +from qmk.commands import parse_configurator_json from qmk.makefile import parse_rules_mk_file from qmk.math import compute @@ -68,8 +69,8 @@ def info_json(keyboard): # Merge in the data from info.json, config.h, and rules.mk info_data = merge_info_jsons(keyboard, info_data) - info_data = _extract_rules_mk(info_data) - info_data = _extract_config_h(info_data) + info_data = _extract_rules_mk(info_data, rules_mk(str(keyboard))) + info_data = _extract_config_h(info_data, config_h(str(keyboard))) # Ensure that we have matrix row and column counts info_data = _matrix_size(info_data) @@ -400,11 +401,9 @@ def _extract_device_version(info_data): info_data['usb']['device_version'] = f'{major}.{minor}.{revision}' -def _extract_config_h(info_data): +def _extract_config_h(info_data, config_c): """Pull some keyboard information from existing config.h files """ - config_c = config_h(info_data['keyboard_folder']) - # Pull in data from the json map dotty_info = dotty(info_data) info_config_map = json_load(Path('data/mappings/info_config.json')) @@ -472,10 +471,9 @@ def _extract_config_h(info_data): return info_data -def _extract_rules_mk(info_data): +def _extract_rules_mk(info_data, rules): """Pull some keyboard information from existing rules.mk files """ - rules = rules_mk(info_data['keyboard_folder']) info_data['processor'] = rules.get('MCU', info_data.get('processor', 'atmega32u4')) if info_data['processor'] in CHIBIOS_PROCESSORS: @@ -766,3 +764,36 @@ def find_info_json(keyboard): # Return a list of the info.json files that actually exist return [info_json for info_json in info_jsons if info_json.exists()] + + +def keymap_json_config(keyboard, keymap): + """Extract keymap level config + """ + keymap_folder = locate_keymap(keyboard, keymap).parent + + km_info_json = parse_configurator_json(keymap_folder / 'keymap.json') + return km_info_json.get('config', {}) + + +def keymap_json(keyboard, keymap): + """Generate the info.json data for a specific keymap. + """ + keymap_folder = locate_keymap(keyboard, keymap).parent + + # Files to scan + keymap_config = keymap_folder / 'config.h' + keymap_rules = keymap_folder / 'rules.mk' + keymap_file = keymap_folder / 'keymap.json' + + # Build the info.json file + kb_info_json = info_json(keyboard) + + # Merge in the data from keymap.json + km_info_json = keymap_json_config(keyboard, keymap) if keymap_file.exists() else {} + deep_update(kb_info_json, km_info_json) + + # Merge in the data from config.h, and rules.mk + _extract_rules_mk(kb_info_json, parse_rules_mk_file(keymap_rules)) + _extract_config_h(kb_info_json, parse_config_h_file(keymap_config)) + + return kb_info_json From 23f365f8bc4c44a0877478aada39c5787c33846e Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 22 Mar 2022 10:48:13 +0000 Subject: [PATCH 0427/1832] Ignore transport defaults if SPLIT_KEYBOARD is unset (#16706) * Ignore transport defaults if SPLIT_KEYBOARD is unset * keep exists check --- lib/python/qmk/info.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index d104d655ef0a..900cddaaa946 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -271,14 +271,16 @@ def _extract_split_transport(info_data, config_c): info_data['split']['transport']['protocol'] = 'i2c' - elif 'protocol' not in info_data.get('split', {}).get('transport', {}): + # Ignore transport defaults if "SPLIT_KEYBOARD" is unset + elif 'enabled' in info_data.get('split', {}): if 'split' not in info_data: info_data['split'] = {} if 'transport' not in info_data['split']: info_data['split']['transport'] = {} - info_data['split']['transport']['protocol'] = 'serial' + if 'protocol' not in info_data['split']['transport']: + info_data['split']['transport']['protocol'] = 'serial' def _extract_split_right_pins(info_data, config_c): From f610011aa3d43c41489ddc638a3a8731ae0d51bf Mon Sep 17 00:00:00 2001 From: Luc Date: Wed, 23 Mar 2022 00:38:50 +0800 Subject: [PATCH 0428/1832] [Keymap] personal keymap, ergodox_ez and atreus / dvorak_42_key (#16695) --- .../atreus/keymaps/dvorak_42_key/keymap.c | 32 ++++++-- .../ergodox_ez/keymaps/dvorak_42_key/keymap.c | 77 ++++++++++++++----- 2 files changed, 82 insertions(+), 27 deletions(-) diff --git a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c index dbe39a38bc61..eff7c8d577cc 100644 --- a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c +++ b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c @@ -30,20 +30,23 @@ // visual studio code shortcuts #define VS_FILE LCTL(KC_P) +#define VS_OPEN_FILE LCTL(KC_O) #define VS_LINE LCTL(KC_G) #define VS_SYMBOLEDITOR LCTL(LSFT(KC_O)) -#define VS_DEFINITION KC_F12 -#define VS_IMPLEMENTATION LCTL(KC_F12) -#define VS_REFERENCES LSFT(KC_F12) +#define VS_DEFINITION MEH(KC_F5) +#define VS_IMPLEMENTATION MEH(KC_F6) +#define VS_REFERENCES MEH(KC_F7) #define VS_BACK LALT(KC_LEFT) #define VS_BRACKET LCTL(LSFT(KC_BSLS)) -#define VS_TABLEFT LCTL(KC_PGUP) -#define VS_TABRIGHT LCTL(KC_PGDN) -#define VS_CLOSETAB LCTL(KC_W) +#define VS_TABLEFT MEH(KC_F1) +#define VS_TABRIGHT MEH(KC_F2) +#define VS_CLOSETAB MEH(KC_F3) #define VS_CLOSEPANEL LCTL(LSFT(KC_W)) +#define VS_GROUP_1 LCTL(KC_1) +#define VS_GROUP_2 LCTL(KC_2) #define VS_TERMINAL LCTL(KC_GRAVE) #define VS_BUILD LCTL(LSFT(KC_B)) -#define VS_COMMANDS LCTL(LSFT(KC_P)) +#define VS_COMMANDS MEH(KC_F4) #define VS_CMT_BLOCK LSFT(LALT(KC_A)) #define VS_CMT_LINE LCTL(KC_SLSH) #define VS_DEL_LINE LCTL(LSFT(KC_K)) @@ -54,7 +57,18 @@ #define VS_BM_PREV LCTL(LALT(KC_P)) #define VS_BM_NEXT LCTL(LALT(KC_N)) #define VS_BM_TOGGLE LCTL(LALT(KC_K)) -#define VS_BM_LABEL LCTL(LALT(KC_B)) +#define VS_BM_CLEARALL LCTL(LALT(KC_C)) +// visual studio code navigation shortcuts +#define VS_FOCUS_EDITOR MEH(KC_F8) +#define VS_FOCUS_TERMINAL MEH(KC_F9) +#define VS_TOGGLE_TERMINAL MEH(KC_F10) +#define VS_CLEAR_TERMINAL MEH(KC_F11) +#define VS_TERMINAL_PREV MEH(KC_F12) +#define VS_TERMINAL_NEXT MEH(KC_F13) +#define VS_TERMINAL_NEW MEH(KC_F14) +#define VS_TERMINAL_DETACH MEH(KC_F15) +#define VS_TERMINAL_RENAME MEH(KC_F16) +#define VS_JUMPY MEH(KC_F17) /* // VS code bookmark prev/next requires the following in vscode shortcuts config @@ -80,6 +94,8 @@ enum custom_keycodes { // building/flashing instructions: // make atreus/astar:dvorak_42_key:flash +// or +// qmk compile -kb atreus -km dvorak_42_key const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT( diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c index 67a09188ab4e..fab29773569a 100644 --- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c +++ b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c @@ -79,9 +79,9 @@ enum custom_keycodes { SCREEN_READREG_1, SCREEN_READREG_2, - SCREEN_READREG_3, + SCREEN_READREG_3, SCREEN_PASTEREG_1, - SCREEN_PASTEREG_2, + SCREEN_PASTEREG_2, SCREEN_PASTEREG_3, // Windows 10 macros, @@ -101,6 +101,7 @@ enum custom_keycodes { #define COMBINED 7 // combined numbers and symbols layer #define ANDROID_STUDIO 8 // android studio specific layer #define VSCODE 9 // visual studio code specific layer +#define VSCODE_NAV 10 // visual studio code, navigation within IDE @@ -131,22 +132,22 @@ enum custom_keycodes { #define VS_OPEN_FILE LCTL(KC_O) #define VS_LINE LCTL(KC_G) #define VS_SYMBOLEDITOR LCTL(LSFT(KC_O)) -#define VS_DEFINITION KC_F12 -#define VS_IMPLEMENTATION LCTL(KC_F12) -#define VS_REFERENCES LSFT(KC_F12) +#define VS_DEFINITION MEH(KC_F5) +#define VS_IMPLEMENTATION MEH(KC_F6) +#define VS_REFERENCES MEH(KC_F7) #define VS_BACK LALT(KC_LEFT) #define VS_BRACKET LCTL(LSFT(KC_BSLS)) -#define VS_TABLEFT LCTL(KC_PGUP) -#define VS_TABRIGHT LCTL(KC_PGDN) -#define VS_CLOSETAB LCTL(KC_W) +#define VS_TABLEFT MEH(KC_F1) +#define VS_TABRIGHT MEH(KC_F2) +#define VS_CLOSETAB MEH(KC_F3) #define VS_CLOSEPANEL LCTL(LSFT(KC_W)) #define VS_GROUP_1 LCTL(KC_1) #define VS_GROUP_2 LCTL(KC_2) #define VS_TERMINAL LCTL(KC_GRAVE) #define VS_BUILD LCTL(LSFT(KC_B)) -#define VS_COMMANDS LCTL(LSFT(KC_P)) +#define VS_COMMANDS MEH(KC_F4) #define VS_CMT_BLOCK LSFT(LALT(KC_A)) -#define VS_CMT_LINE LCTL(KC_SLSH) +#define VS_CMT_LINE MEH(KC_F18) #define VS_DEL_LINE LCTL(LSFT(KC_K)) #define VS_COPYLINEDOWN LSFT(LALT(KC_DOWN)) // visual studio bookmark commands @@ -156,6 +157,18 @@ enum custom_keycodes { #define VS_BM_NEXT LCTL(LALT(KC_N)) #define VS_BM_TOGGLE LCTL(LALT(KC_K)) #define VS_BM_CLEARALL LCTL(LALT(KC_C)) +// visual studio code navigation shortcuts +#define VS_FOCUS_EDITOR MEH(KC_F8) +#define VS_FOCUS_TERMINAL MEH(KC_F9) +#define VS_TOGGLE_TERMINAL MEH(KC_F10) +#define VS_CLEAR_TERMINAL MEH(KC_F11) +#define VS_TERMINAL_PREV MEH(KC_F12) +#define VS_TERMINAL_NEXT MEH(KC_F13) +#define VS_TERMINAL_NEW MEH(KC_F14) +#define VS_TERMINAL_DETACH MEH(KC_F15) +#define VS_TERMINAL_RENAME MEH(KC_F16) +#define VS_JUMPY MEH(KC_F17) +#define VS_FIND MEH(KC_F19) #define MACRO_SCREEN_NUM(MACRO_NAME,NUM) \ @@ -204,10 +217,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // left hand KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - OSL(SCREEN_NAV), KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, MO(ANDROID_STUDIO), + OSL(SCREEN_NAV), KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, MO(VSCODE_NAV), OSL(SHELL_NAV), KC_A, KC_O, KC_E, KC_U, KC_I, OSL(SHELL_SCREEN), KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, MO(VSCODE), - MEH(KC_1), OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), + MEH(KC_0), OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), // left thumb cluster WINDOWS10_WORKSPACE_LEFT, WINDOWS10_WORKSPACE_RIGHT, @@ -215,14 +228,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(COMBINED),MO(KEYNAV), OSM(MOD_LALT), // right hand - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MEH(KC_9), - MEH(KC_7), KC_F, KC_G, KC_C, KC_R, KC_L, KC_TAB, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MEH(KC_7), + MEH(KC_1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_TAB, KC_D, KC_H, KC_T, KC_N, KC_S, RCTL(KC_BSPC), - MEH(KC_8), KC_B, KC_M, KC_W, KC_V, KC_Z, MEH(KC_F3), - KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT),MEH(KC_F4), + MEH(KC_2), KC_B, KC_M, KC_W, KC_V, KC_Z, MEH(KC_8), + KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT),MEH(KC_9), // right thumb cluster - MEH(KC_F5),MEH(KC_F6),MEH(KC_F7),MEH(KC_F8),KC_ENTER,KC_SPACE + MEH(KC_3), MEH(KC_4), MEH(KC_5), MEH(KC_6),KC_ENTER,KC_SPACE ), @@ -398,7 +411,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, VS_CMT_LINE, VS_COPYLINEDOWN, VS_REFERENCES, VS_DEFINITION, VS_IMPLEMENTATION, VS_LINE, VS_BRACKET, VS_CLOSETAB, VS_TABLEFT, VS_TABRIGHT, VS_SYMBOLEDITOR, VS_FILE, VS_BACK, - VS_CMT_BLOCK, KC_TRNS, VS_BM_PREV, VS_BM_NEXT, VS_GROUP_1, VS_GROUP_2, VS_BM_TOGGLE, + VS_CMT_BLOCK, VS_FIND, VS_BM_PREV, VS_BM_NEXT, VS_GROUP_1, VS_GROUP_2, VS_BM_TOGGLE, // bottom row VS_COMMANDS, VS_BM_LIST, VS_BM_LISTALL, VS_CLOSEPANEL, VS_BM_CLEARALL, // thumb cluster @@ -407,6 +420,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, VS_DEL_LINE, KC_TRNS ), + // vscode navigation shortcuts + [VSCODE_NAV] = LAYOUT_ergodox( + // left hand + KC_NO, 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, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + // bottom row + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + // thumb cluster + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + 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, + VS_TOGGLE_TERMINAL, VS_FOCUS_TERMINAL, VS_FOCUS_EDITOR, VS_JUMPY, KC_TRNS, KC_TRNS, + KC_TRNS, VS_CLEAR_TERMINAL, VS_TERMINAL_PREV, VS_TERMINAL_NEXT, VS_TERMINAL_NEW, VS_TERMINAL_DETACH, VS_TERMINAL_RENAME, + // bottom row + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + // thumb cluster + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [COMBINED] = LAYOUT_ergodox( // left hand @@ -659,7 +698,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { tap_code16(C(KC_A)); tap_code16(S(KC_SCOLON)); SEND_STRING("paste 1\n"); - break; + break; case SCREEN_PASTEREG_2: tap_code16(C(KC_A)); tap_code16(S(KC_SCOLON)); From c803c50dc069e58d0759b500f2964f6dc4f4c913 Mon Sep 17 00:00:00 2001 From: kb-elmo Date: Wed, 23 Mar 2022 06:06:26 +0100 Subject: [PATCH 0429/1832] [Keyboard] Add Axolstudio Foundation Gamma (#15948) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../axolstudio/foundation_gamma/config.h | 44 ++++ .../foundation_gamma/foundation_gamma.c | 17 ++ .../foundation_gamma/foundation_gamma.h | 53 +++++ .../axolstudio/foundation_gamma/info.json | 191 ++++++++++++++++++ .../foundation_gamma/keymaps/default/keymap.c | 35 ++++ .../foundation_gamma/keymaps/via/keymap.c | 51 +++++ .../foundation_gamma/keymaps/via/rules.mk | 2 + .../axolstudio/foundation_gamma/readme.md | 25 +++ .../axolstudio/foundation_gamma/rules.mk | 18 ++ 9 files changed, 436 insertions(+) create mode 100644 keyboards/axolstudio/foundation_gamma/config.h create mode 100644 keyboards/axolstudio/foundation_gamma/foundation_gamma.c create mode 100644 keyboards/axolstudio/foundation_gamma/foundation_gamma.h create mode 100644 keyboards/axolstudio/foundation_gamma/info.json create mode 100644 keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c create mode 100644 keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c create mode 100644 keyboards/axolstudio/foundation_gamma/keymaps/via/rules.mk create mode 100644 keyboards/axolstudio/foundation_gamma/readme.md create mode 100644 keyboards/axolstudio/foundation_gamma/rules.mk diff --git a/keyboards/axolstudio/foundation_gamma/config.h b/keyboards/axolstudio/foundation_gamma/config.h new file mode 100644 index 000000000000..6883e51d5799 --- /dev/null +++ b/keyboards/axolstudio/foundation_gamma/config.h @@ -0,0 +1,44 @@ +/* +Copyright 2021 kb-elmo + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x525C +#define PRODUCT_ID 0xE3EB +#define DEVICE_VER 0x0001 +#define MANUFACTURER Axolstudio +#define PRODUCT Foundation Gamma + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +/* Keyboard Matrix Assignments */ +#define MATRIX_ROW_PINS { B2, B1, B0, F7, F6, F5 } +#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0, B3, F4, F1, F0 } + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* CAPS LED */ +#define LED_CAPS_LOCK_PIN B7 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/axolstudio/foundation_gamma/foundation_gamma.c b/keyboards/axolstudio/foundation_gamma/foundation_gamma.c new file mode 100644 index 000000000000..e686d8f321f0 --- /dev/null +++ b/keyboards/axolstudio/foundation_gamma/foundation_gamma.c @@ -0,0 +1,17 @@ +/* Copyright 2021 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "foundation_gamma.h" diff --git a/keyboards/axolstudio/foundation_gamma/foundation_gamma.h b/keyboards/axolstudio/foundation_gamma/foundation_gamma.h new file mode 100644 index 000000000000..1a96a6d813f6 --- /dev/null +++ b/keyboards/axolstudio/foundation_gamma/foundation_gamma.h @@ -0,0 +1,53 @@ +/* Copyright 2021 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define ____ KC_NO + +#define LAYOUT_all( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k213, k114, k115, k116, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k313, k214, k215, k216, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, \ + k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k415, \ + k500, k501, k502, k506, k510, k511, k512, k514, k515, k516 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216 }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, ____, ____, ____ }, \ + { k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, ____, ____, k415, ____ }, \ + { k500, k501, k502, ____, ____, ____, k506, ____, ____, ____, k510, k511, k512, ____, k514, k515, k516 } \ +} + +#define LAYOUT_ansi_tsangan( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k313, k214, k215, k216, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, \ + k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k415, \ + k500, k501, k502, k506, k510, k511, k512, k514, k515, k516 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, ____, k214, k215, k216 }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, ____, ____, ____ }, \ + { k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, ____, ____, ____, k415, ____ }, \ + { k500, k501, k502, ____, ____, ____, k506, ____, ____, ____, k510, k511, k512, ____, k514, k515, k516 } \ +} diff --git a/keyboards/axolstudio/foundation_gamma/info.json b/keyboards/axolstudio/foundation_gamma/info.json new file mode 100644 index 000000000000..62214ce80c81 --- /dev/null +++ b/keyboards/axolstudio/foundation_gamma/info.json @@ -0,0 +1,191 @@ +{ + "keyboard_name": "Foundation Gamma", + "url": "https://axolstudio.ca/foundation-gamma", + "maintainer": "kb-elmo", + "layouts": { + "LAYOUT_ansi_tsangan": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.25, "y":0}, + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5, "w":2}, + {"x":15.25, "y":1.5}, + {"x":16.25, "y":1.5}, + {"x":17.25, "y":1.5}, + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5, "w":1.5}, + {"x":15.25, "y":2.5}, + {"x":16.25, "y":2.5}, + {"x":17.25, "y":2.5}, + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5, "w":2.25}, + {"x":0, "y":4.5, "w":2.25}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":2.75}, + {"x":16.25, "y":4.5}, + {"x":0, "y":5.5, "w":1.5}, + {"x":1.5, "y":5.5}, + {"x":2.5, "y":5.5, "w":1.5}, + {"x":4, "y":5.5, "w":7}, + {"x":11, "y":5.5, "w":1.5}, + {"x":12.5, "y":5.5}, + {"x":13.5, "y":5.5, "w":1.5}, + {"x":15.25, "y":5.5}, + {"x":16.25, "y":5.5}, + {"x":17.25, "y":5.5} + ] + }, + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.25, "y":0}, + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5}, + {"x":14, "y":1.5}, + {"x":15.25, "y":1.5}, + {"x":16.25, "y":1.5}, + {"x":17.25, "y":1.5}, + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5, "w":1.5}, + {"x":15.25, "y":2.5}, + {"x":16.25, "y":2.5}, + {"x":17.25, "y":2.5}, + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5, "w":2.25}, + {"x":0, "y":4.5, "w":2.25}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":1.75}, + {"x":14, "y":4.5}, + {"x":16.25, "y":4.5}, + {"x":0, "y":5.5, "w":1.5}, + {"x":1.5, "y":5.5}, + {"x":2.5, "y":5.5, "w":1.5}, + {"x":4, "y":5.5, "w":7}, + {"x":11, "y":5.5, "w":1.5}, + {"x":12.5, "y":5.5}, + {"x":13.5, "y":5.5, "w":1.5}, + {"x":15.25, "y":5.5}, + {"x":16.25, "y":5.5}, + {"x":17.25, "y":5.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c b/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c new file mode 100644 index 000000000000..9d354bd1e1f7 --- /dev/null +++ b/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2021 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ansi_tsangan( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_ansi_tsangan( + 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, 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, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c b/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c new file mode 100644 index 000000000000..e6cad9a87a4d --- /dev/null +++ b/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2021 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_LSFT, 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + 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, 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, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_all( + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, 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, 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, KC_TRNS + ), + [3] = LAYOUT_all( + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, 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, 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, KC_TRNS + ) +}; diff --git a/keyboards/axolstudio/foundation_gamma/keymaps/via/rules.mk b/keyboards/axolstudio/foundation_gamma/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/axolstudio/foundation_gamma/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/axolstudio/foundation_gamma/readme.md b/keyboards/axolstudio/foundation_gamma/readme.md new file mode 100644 index 000000000000..522ddd16c6fe --- /dev/null +++ b/keyboards/axolstudio/foundation_gamma/readme.md @@ -0,0 +1,25 @@ +# Axolstudio Foundation Gamma + +![foundation](https://i.imgur.com/wxLv3oGl.jpg) + +Seamless, Screwless, Gasket mounted F13 TKL + +* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) +* Hardware Supported: Axolstudio Foundation Gamma F13 PCB +* Hardware Availability: https://axolstudio.ca/foundation-gamma + +Make example for this keyboard (after setting up your build environment): + + make axolstudio/foundation_gamma:default + +Flashing example for this keyboard: + + make axolstudio/foundation_gamma:default:flash + +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). + +## Bootloader + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard +* **Physical reset button**: Briefly press the button labeled "SW1" on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/axolstudio/foundation_gamma/rules.mk b/keyboards/axolstudio/foundation_gamma/rules.mk new file mode 100644 index 000000000000..a95ad7bcc0f1 --- /dev/null +++ b/keyboards/axolstudio/foundation_gamma/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 28bd777f5899c0502cd79fbab5ee8d38fb15dd14 Mon Sep 17 00:00:00 2001 From: ChrisBeswick Date: Wed, 23 Mar 2022 06:01:55 +0000 Subject: [PATCH 0430/1832] [Keyboard] Graystudio Apollo80 (#16469) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/gray_studio/apollo80/apollo80.c | 18 ++++ keyboards/gray_studio/apollo80/apollo80.h | 35 ++++++ keyboards/gray_studio/apollo80/config.h | 71 ++++++++++++ keyboards/gray_studio/apollo80/info.json | 102 ++++++++++++++++++ .../apollo80/keymaps/default/config.h | 20 ++++ .../apollo80/keymaps/default/keymap.c | 51 +++++++++ .../gray_studio/apollo80/keymaps/via/config.h | 20 ++++ .../gray_studio/apollo80/keymaps/via/keymap.c | 67 ++++++++++++ .../gray_studio/apollo80/keymaps/via/rules.mk | 1 + keyboards/gray_studio/apollo80/readme.md | 26 +++++ keyboards/gray_studio/apollo80/rules.mk | 18 ++++ 11 files changed, 429 insertions(+) create mode 100644 keyboards/gray_studio/apollo80/apollo80.c create mode 100644 keyboards/gray_studio/apollo80/apollo80.h create mode 100644 keyboards/gray_studio/apollo80/config.h create mode 100644 keyboards/gray_studio/apollo80/info.json create mode 100644 keyboards/gray_studio/apollo80/keymaps/default/config.h create mode 100644 keyboards/gray_studio/apollo80/keymaps/default/keymap.c create mode 100644 keyboards/gray_studio/apollo80/keymaps/via/config.h create mode 100644 keyboards/gray_studio/apollo80/keymaps/via/keymap.c create mode 100644 keyboards/gray_studio/apollo80/keymaps/via/rules.mk create mode 100644 keyboards/gray_studio/apollo80/readme.md create mode 100644 keyboards/gray_studio/apollo80/rules.mk diff --git a/keyboards/gray_studio/apollo80/apollo80.c b/keyboards/gray_studio/apollo80/apollo80.c new file mode 100644 index 000000000000..842a63f318c6 --- /dev/null +++ b/keyboards/gray_studio/apollo80/apollo80.c @@ -0,0 +1,18 @@ +/* Copyright 2020 Demo Studio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "apollo80.h" + + diff --git a/keyboards/gray_studio/apollo80/apollo80.h b/keyboards/gray_studio/apollo80/apollo80.h new file mode 100644 index 000000000000..be3a3ee54d81 --- /dev/null +++ b/keyboards/gray_studio/apollo80/apollo80.h @@ -0,0 +1,35 @@ +/* Copyright 2020 Demo Studio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + K00, K02, K03, K04, K05, K07, K08, K09, K0A, K0B, K0C, K0D,K06, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3E, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ +) { \ + { K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, KC_NO, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \ +} + diff --git a/keyboards/gray_studio/apollo80/config.h b/keyboards/gray_studio/apollo80/config.h new file mode 100644 index 000000000000..f00550fb6531 --- /dev/null +++ b/keyboards/gray_studio/apollo80/config.h @@ -0,0 +1,71 @@ +/* Copyright 2020 Demo Studio + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4753 +#define PRODUCT_ID 0x3001 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Graystudio +#define PRODUCT apollo80 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D1, D0, B3, B0, B2, B1 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D4, D6, D2, D3, D5 } +#define DIODE_DIRECTION COL2ROW + +#define LED_CAPS_LOCK_PIN E6 +#define LED_PIN_ON_STATE 0 + +#define RGB_DI_PIN E2 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 22 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 180 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + + #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD + /*== or choose animations ==*/ + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_RGB_TEST + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_TWINKLE +#endif + diff --git a/keyboards/gray_studio/apollo80/info.json b/keyboards/gray_studio/apollo80/info.json new file mode 100644 index 000000000000..c0e3efdb8802 --- /dev/null +++ b/keyboards/gray_studio/apollo80/info.json @@ -0,0 +1,102 @@ +{ + "keyboard_name": "apollo 80", + "url": "https://graystudio.club/products/gb-space80-apollo", + "maintainer": "qmk", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (D1,F0)", "x":0, "y":0}, + {"label":"K02 (D1,F4)", "x":2, "y":0}, + {"label":"K03 (D1,F5)", "x":3, "y":0}, + {"label":"K04 (D1,F6)", "x":4, "y":0}, + {"label":"K05 (D1,F7)", "x":5, "y":0}, + {"label":"K06 (D1,C7)", "x":6.5, "y":0}, + {"label":"K07 (D1,C6)", "x":7.5, "y":0}, + {"label":"K08 (D1,B6)", "x":8.5, "y":0}, + {"label":"K09 (D1,B5)", "x":9.5, "y":0}, + {"label":"K0A (D1,B4)", "x":11, "y":0}, + {"label":"K0B (D1,D7)", "x":12, "y":0}, + {"label":"K0C (D1,D4)", "x":13, "y":0}, + {"label":"K0D (D1,D6)", "x":14, "y":0}, + {"label":"K0E (D1,D2)", "x":15.25, "y":0}, + {"label":"K0F (D1,D3)", "x":16.25, "y":0}, + {"label":"K0G (D1,D5)", "x":17.25, "y":0}, + {"label":"K10 (D0,F0)", "x":0, "y":1.5}, + {"label":"K11 (D0,F1)", "x":1, "y":1.5}, + {"label":"K12 (D0,F4)", "x":2, "y":1.5}, + {"label":"K13 (D0,F5)", "x":3, "y":1.5}, + {"label":"K14 (D0,F6)", "x":4, "y":1.5}, + {"label":"K15 (D0,F7)", "x":5, "y":1.5}, + {"label":"K16 (D0,C7)", "x":6, "y":1.5}, + {"label":"K17 (D0,C6)", "x":7, "y":1.5}, + {"label":"K18 (D0,B6)", "x":8, "y":1.5}, + {"label":"K19 (D0,B5)", "x":9, "y":1.5}, + {"label":"K1A (D0,B4)", "x":10, "y":1.5}, + {"label":"K1B (D0,D7)", "x":11, "y":1.5}, + {"label":"K1C (D0,D4)", "x":12, "y":1.5}, + {"label":"K1D (D0,D6)", "x":13, "y":1.5}, + {"label":"K3E (B0,D2)", "x":14, "y":1.5}, + {"label":"K1E (D0,D2)", "x":15.25, "y":1.5}, + {"label":"K1F (D0,D3)", "x":16.25, "y":1.5}, + {"label":"K1G (D0,D5)", "x":17.25, "y":1.5}, + {"label":"K20 (B3,F0)", "x":0, "y":2.5, "w":1.5}, + {"label":"K21 (B3,F1)", "x":1.5, "y":2.5}, + {"label":"K22 (B3,F4)", "x":2.5, "y":2.5}, + {"label":"K23 (B3,F5)", "x":3.5, "y":2.5}, + {"label":"K24 (B3,F6)", "x":4.5, "y":2.5}, + {"label":"K25 (B3,F7)", "x":5.5, "y":2.5}, + {"label":"K26 (B3,C7)", "x":6.5, "y":2.5}, + {"label":"K27 (B3,C6)", "x":7.5, "y":2.5}, + {"label":"K28 (B3,B6)", "x":8.5, "y":2.5}, + {"label":"K29 (B3,B5)", "x":9.5, "y":2.5}, + {"label":"K2A (B3,B4)", "x":10.5, "y":2.5}, + {"label":"K2B (B3,D7)", "x":11.5, "y":2.5}, + {"label":"K2C (B3,D4)", "x":12.5, "y":2.5}, + {"label":"K2D (B3,D6)", "x":13.5, "y":2.5, "w":1.5}, + {"label":"K2E (B3,D2)", "x":15.25, "y":2.5}, + {"label":"K2F (B3,D3)", "x":16.25, "y":2.5}, + {"label":"K2G (B3,D5)", "x":17.25, "y":2.5}, + {"label":"K30 (B0,F0)", "x":0, "y":3.5, "w":1.75}, + {"label":"K31 (B0,F1)", "x":1.75, "y":3.5}, + {"label":"K32 (B0,F4)", "x":2.75, "y":3.5}, + {"label":"K33 (B0,F5)", "x":3.75, "y":3.5}, + {"label":"K34 (B0,F6)", "x":4.75, "y":3.5}, + {"label":"K35 (B0,F7)", "x":5.75, "y":3.5}, + {"label":"K36 (B0,C7)", "x":6.75, "y":3.5}, + {"label":"K37 (B0,C6)", "x":7.75, "y":3.5}, + {"label":"K38 (B0,B6)", "x":8.75, "y":3.5}, + {"label":"K39 (B0,B5)", "x":9.75, "y":3.5}, + {"label":"K3A (B0,B4)", "x":10.75, "y":3.5}, + {"label":"K3B (B0,D7)", "x":11.75, "y":3.5}, + {"label":"K3D (B0,D6)", "x":12.75, "y":3.5, "w":2.25}, + {"label":"K40 (B2,F0)", "x":0, "y":4.5, "w":1.25}, + {"label":"K41 (B2,F1)", "x":1.25, "y":4.5}, + {"label":"K42 (B2,F4)", "x":2.25, "y":4.5}, + {"label":"K43 (B2,F5)", "x":3.25, "y":4.5}, + {"label":"K44 (B2,F6)", "x":4.25, "y":4.5}, + {"label":"K45 (B2,F7)", "x":5.25, "y":4.5}, + {"label":"K46 (B2,C7)", "x":6.25, "y":4.5}, + {"label":"K47 (B2,C6)", "x":7.25, "y":4.5}, + {"label":"K48 (B2,B6)", "x":8.25, "y":4.5}, + {"label":"K49 (B2,B5)", "x":9.25, "y":4.5}, + {"label":"K4A (B2,B4)", "x":10.25, "y":4.5}, + {"label":"K4B (B2,D7)", "x":11.25, "y":4.5}, + {"label":"K4C (B2,D4)", "x":12.25, "y":4.5, "w":1.75}, + {"label":"K4D (B2,D6)", "x":14, "y":4.5}, + {"label":"K4F (B2,D3)", "x":16.25, "y":4.5}, + {"label":"K50 (B1,F0)", "x":0, "y":5.5, "w":1.25}, + {"label":"K51 (B1,F1)", "x":1.25, "y":5.5, "w":1.25}, + {"label":"K52 (B1,F4)", "x":2.5, "y":5.5, "w":1.25}, + {"label":"K56 (B1,C7)", "x":3.75, "y":5.5, "w":6.25}, + {"label":"K5A (B1,B4)", "x":10, "y":5.5, "w":1.25}, + {"label":"K5B (B1,D7)", "x":11.25, "y":5.5, "w":1.25}, + {"label":"K5C (B1,D4)", "x":12.5, "y":5.5, "w":1.25}, + {"label":"K5D (B1,D6)", "x":13.75, "y":5.5, "w":1.25}, + {"label":"K5E (B1,D2)", "x":15.25, "y":5.5}, + {"label":"K5F (B1,D3)", "x":16.25, "y":5.5}, + {"label":"K5G (B1,D5)", "x":17.25, "y":5.5} + ] + } + } + +} diff --git a/keyboards/gray_studio/apollo80/keymaps/default/config.h b/keyboards/gray_studio/apollo80/keymaps/default/config.h new file mode 100644 index 000000000000..68ad650de461 --- /dev/null +++ b/keyboards/gray_studio/apollo80/keymaps/default/config.h @@ -0,0 +1,20 @@ +/* Copyright 2020 Demo Studio + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define RGBLIGHT_LAYERS +#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF diff --git a/keyboards/gray_studio/apollo80/keymaps/default/keymap.c b/keyboards/gray_studio/apollo80/keymaps/default/keymap.c new file mode 100644 index 000000000000..b4eb52630e94 --- /dev/null +++ b/keyboards/gray_studio/apollo80/keymaps/default/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2020 Demo Studio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______,_______,_______,_______,_______,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; +const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,4, HSV_WHITE} +); +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_capslock_layer +); + +void keyboard_post_init_user(void) { + // Enable the LED layers + rgblight_layers = my_rgb_layers; +} +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(0, led_state.caps_lock); + return true; +} diff --git a/keyboards/gray_studio/apollo80/keymaps/via/config.h b/keyboards/gray_studio/apollo80/keymaps/via/config.h new file mode 100644 index 000000000000..68ad650de461 --- /dev/null +++ b/keyboards/gray_studio/apollo80/keymaps/via/config.h @@ -0,0 +1,20 @@ +/* Copyright 2020 Demo Studio + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define RGBLIGHT_LAYERS +#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF diff --git a/keyboards/gray_studio/apollo80/keymaps/via/keymap.c b/keyboards/gray_studio/apollo80/keymaps/via/keymap.c new file mode 100644 index 000000000000..27f0a2c2c064 --- /dev/null +++ b/keyboards/gray_studio/apollo80/keymaps/via/keymap.c @@ -0,0 +1,67 @@ +/* Copyright 2020 Demo Studio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______,_______,_______,_______,_______,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; +const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,4, HSV_WHITE} +); +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_capslock_layer +); + +void keyboard_post_init_user(void) { + // Enable the LED layers + rgblight_layers = my_rgb_layers; +} +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(0, led_state.caps_lock); + return true; +} \ No newline at end of file diff --git a/keyboards/gray_studio/apollo80/keymaps/via/rules.mk b/keyboards/gray_studio/apollo80/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/gray_studio/apollo80/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gray_studio/apollo80/readme.md b/keyboards/gray_studio/apollo80/readme.md new file mode 100644 index 000000000000..e70e104ef300 --- /dev/null +++ b/keyboards/gray_studio/apollo80/readme.md @@ -0,0 +1,26 @@ +# APOLLO 80 + +80% / TKL keyboard with a 5.5 degree angle ran by Airpotter. PCB Manufactured by DEMO Studio and Keyboard manufactured by Gray Studio. + +- Keyboard Maintainer: [Chris Beswick](https://github.com/ChrisBeswick/) +- Hardware Supported: Stock / Default Apollo80 PCB +- Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=110033.0) +- Group Buy Location: [Graystudio.club](https://graystudio.club/products/gb-space80-apollo) + +How to build this firmware using QMK MSYS + + qmk compile -kb gray_studio/apollo80 -km default + +Make example for this keyboard (after setting up your build environment using make): + + make gray_studio/apollo80:default + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +- **Physical reset button**: Bridge the pads labelled 'RE' underneath the Space Bar. +- **Keycode in layout**: Hold MO(1) and press ESC (If you've changed bindings from the default, this may not be the case) diff --git a/keyboards/gray_studio/apollo80/rules.mk b/keyboards/gray_studio/apollo80/rules.mk new file mode 100644 index 000000000000..cb5238f27dcb --- /dev/null +++ b/keyboards/gray_studio/apollo80/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output \ No newline at end of file From a772a7f3a796d29aa830769d7629ed8cd8cb5f0d Mon Sep 17 00:00:00 2001 From: Dan Beste Date: Wed, 23 Mar 2022 11:33:30 -0500 Subject: [PATCH 0431/1832] [Keymap] Input Club's Whitefox "True Fox" (#16711) --- .../whitefox/keymaps/truefox/keymap.c | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 keyboards/input_club/whitefox/keymaps/truefox/keymap.c diff --git a/keyboards/input_club/whitefox/keymaps/truefox/keymap.c b/keyboards/input_club/whitefox/keymaps/truefox/keymap.c new file mode 100644 index 000000000000..2af54673119c --- /dev/null +++ b/keyboards/input_club/whitefox/keymaps/truefox/keymap.c @@ -0,0 +1,60 @@ +/* +Copyright 2015 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ~ │ \ │PrS│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Backs│Del│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Enter │PgU│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │ ↑ │PgD│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │Ctrl│GUI │Alt │ │Alt │Fn │ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + [0] = LAYOUT_65_ansi_blocker_split_bs( + 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_GRV, KC_BSLS, KC_PSCR, + 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_BSPC, KC_DEL, + 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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Fla│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PrS│ \ │Mut│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Delet│Del│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Enter │Vl+│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │PgU│Vl-│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │Ctrl│GUI │Alt │ │Alt │Fn │ │Hom│PgD│End│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + [1] = LAYOUT_65_ansi_blocker_split_bs( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ) +}; From 74f4682309d23f347d51f2d64481d7f231697133 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Wed, 23 Mar 2022 17:34:07 +0100 Subject: [PATCH 0432/1832] [Keyboard] Waffling60 - readme update (#16707) Co-authored-by: Drashna Jaelre Co-authored-by: 4pplet <4pplet@protonmail.com> Co-authored-by: 4pplet --- keyboards/4pplet/waffling60/readme.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/keyboards/4pplet/waffling60/readme.md b/keyboards/4pplet/waffling60/readme.md index bf5fda880387..374b56ffba62 100644 --- a/keyboards/4pplet/waffling60/readme.md +++ b/keyboards/4pplet/waffling60/readme.md @@ -11,5 +11,12 @@ Make example for this keyboard (after setting up your build environment): make 4pplet/waffling60/rev_a:default make 4pplet/waffling60/rev_b:default + make 4pplet/waffling60/rev_c:default 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). + +How to enter bootloader (DFU): +* Tap the physical reset button or short the reset-header (labled RESET) on tha back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. From 92d38c37ec06aba943464a272886c70ba88e5f68 Mon Sep 17 00:00:00 2001 From: Dan Hertz Date: Wed, 23 Mar 2022 09:34:42 -0700 Subject: [PATCH 0433/1832] [Keymap] Add dhertz keychron map v0 (#16571) --- keyboards/keychron/q2/rev_0113/config.h | 2 +- .../q2/rev_0113/keymaps/dhertz/keymap.c | 94 +++++++++++++++++++ .../q2/rev_0113/keymaps/dhertz/rules.mk | 1 + users/dhertz/dhertz.c | 9 ++ users/dhertz/dhertz.h | 5 + 5 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c create mode 100644 keyboards/keychron/q2/rev_0113/keymaps/dhertz/rules.mk diff --git a/keyboards/keychron/q2/rev_0113/config.h b/keyboards/keychron/q2/rev_0113/config.h index 92b9c2e36411..486d3fd3b89e 100644 --- a/keyboards/keychron/q2/rev_0113/config.h +++ b/keyboards/keychron/q2/rev_0113/config.h @@ -30,4 +30,4 @@ #define ENCODERS_PAD_B { B5 } /* Specifies the number of pulses the encoder registers between each detent */ -#define ENCODER_RESOLUTION 2 +#define ENCODER_RESOLUTION 4 diff --git a/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c b/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c new file mode 100644 index 000000000000..16c2a6d7849e --- /dev/null +++ b/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c @@ -0,0 +1,94 @@ +// Copyright 2022 Dan Hertz (@dhertz) +// SPDX-License-Identifier: GPL-3.0 + +#include QMK_KEYBOARD_H +#include "dhertz.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Layer 0: Default Layer + * ,---------------------------------------------------------------. + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backsp|( )| + * |---------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Enter|Del| + * |------------------------------------------------------` |---| + * |SrCtl | A| S| D| F| G| H| J| K| L| ;| '| \| |Hom| + * |---------------------------------------------------------------| + * |Shif| #| Z| X| C| V| B| N| M| ,| .| /|Shift |Up | | + * |---------------------------------------------------------------| + * |NcCtl| Alt| CTab| LyrSpc |CGv|Alt|CSL|Lef|Dow|Rig| + * `---------------------------------------------------------------' + */ + [0] = LAYOUT_iso_68( + 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_MUTE, + 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_DEL, + SRCH_CTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME, + KC_LSFT, HSH_TLD, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + NC_CTL, KC_LALT, CMD_TAB_CMD, LYR_SPC, CMD_GRV_CMD, KC_RALT, CMD_SFT_ALT_A, KC_LEFT, KC_DOWN, KC_RIGHT + ), + /* Layer 1: Special + * ,---------------------------------------------------------------. + * | §| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |( )| + * |---------------------------------------------------------------| + * | | | | | | | | | | | | | | | | + * |------------------------------------------------------` |---| + * | | | | | | | | | |CSL| | | `| | | + * |---------------------------------------------------------------| + * | | `| | |CAC| | | | | | | | |PgU| | + * |---------------------------------------------------------------| + * | | | | | | | |Hom|PgD|End| + * `---------------------------------------------------------------' + */ + [1] = LAYOUT_iso_68( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F10, KC_F11, KC_TRNS, CMD_SFT_A, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CMD_SFT_L, KC_TRNS, KC_TRNS, KC_NUBS, KC_TRNS, KC_END, + KC_TRNS, KC_NUBS, KC_TRNS, KC_TRNS, CMD_ALT_C, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDOWN, KC_END + ), +}; + +void keyboard_post_init_user(void) { + rgb_matrix_mode(RGB_MATRIX_NONE); + rgb_matrix_set_color_all(RGB_BLACK); +} + +uint32_t cancel_cmd(uint32_t trigger_time, void *cb_arg) { + if (get_highest_layer(layer_state|default_layer_state) > 0) { + return 20; + } + unregister_code(KC_LCMD); + return 0; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (get_highest_layer(layer_state|default_layer_state) == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } else { + if ((get_mods() & MOD_BIT(KC_LCMD)) != MOD_BIT(KC_LCMD)) { + register_code(KC_LCMD); + defer_exec(20, cancel_cmd, NULL); + } + if (clockwise) { + tap_code(KC_TAB); + } else { + tap_code16(S(KC_TAB)); + } + } + return false; +} + +void rgb_matrix_indicators_kb(void) { + switch(get_highest_layer(layer_state|default_layer_state)) { + case 1: + rgb_matrix_set_color_all(RGB_BLACK); + rgb_matrix_set_color_all(25, 25, 112); + break; + default: + rgb_matrix_set_color_all(RGB_BLACK); + break; + } +} diff --git a/keyboards/keychron/q2/rev_0113/keymaps/dhertz/rules.mk b/keyboards/keychron/q2/rev_0113/keymaps/dhertz/rules.mk new file mode 100644 index 000000000000..199bad85f3c8 --- /dev/null +++ b/keyboards/keychron/q2/rev_0113/keymaps/dhertz/rules.mk @@ -0,0 +1 @@ +DEFERRED_EXEC_ENABLE = yes diff --git a/users/dhertz/dhertz.c b/users/dhertz/dhertz.c index f33981e15be4..163b1cb6448d 100644 --- a/users/dhertz/dhertz.c +++ b/users/dhertz/dhertz.c @@ -1,3 +1,6 @@ +// Copyright 2022 Dan Hertz (@dhertz) +// SPDX-License-Identifier: GPL-3.0 + #include "dhertz.h" // Add reconfigurable functions here, for keymap customization @@ -63,6 +66,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case CMD_SFT_L: SEND_STRING(SS_LGUI("L")); break; + case CMD_SFT_A: + SEND_STRING(SS_LGUI("A")); + break; + case CMD_SFT_ALT_A: + SEND_STRING(SS_LGUI(SS_LALT("A"))); + break; case ISO_COUNTRY_CODE: SEND_STRING("country_iso_alpha2_code"); break; diff --git a/users/dhertz/dhertz.h b/users/dhertz/dhertz.h index aef613f55df1..f980329fa56c 100644 --- a/users/dhertz/dhertz.h +++ b/users/dhertz/dhertz.h @@ -1,3 +1,6 @@ +// Copyright 2022 Dan Hertz (@dhertz) +// SPDX-License-Identifier: GPL-3.0 + #ifndef USERSPACE #define USERSPACE @@ -15,6 +18,8 @@ enum custom_keycodes { ISO_COUNTRY_CODE, CMD_TAB_CMD, CMD_GRV_CMD, + CMD_SFT_A, + CMD_SFT_ALT_A, NEW_SAFE_RANGE, }; From 08aa54b66f0177648c4077bc3e6d4534c8dc4ad7 Mon Sep 17 00:00:00 2001 From: Minna Pallari Date: Wed, 23 Mar 2022 18:35:14 +0200 Subject: [PATCH 0434/1832] [Keymap] Xiudi XD75 Finnish/Swedish keymap (#16311) --- keyboards/xiudi/xd75/keymaps/minna/config.h | 7 ++ keyboards/xiudi/xd75/keymaps/minna/keymap.c | 79 ++++++++++++++++++++ keyboards/xiudi/xd75/keymaps/minna/readme.md | 13 ++++ keyboards/xiudi/xd75/keymaps/minna/rules.mk | 1 + 4 files changed, 100 insertions(+) create mode 100644 keyboards/xiudi/xd75/keymaps/minna/config.h create mode 100644 keyboards/xiudi/xd75/keymaps/minna/keymap.c create mode 100644 keyboards/xiudi/xd75/keymaps/minna/readme.md create mode 100644 keyboards/xiudi/xd75/keymaps/minna/rules.mk diff --git a/keyboards/xiudi/xd75/keymaps/minna/config.h b/keyboards/xiudi/xd75/keymaps/minna/config.h new file mode 100644 index 000000000000..27975f0e240b --- /dev/null +++ b/keyboards/xiudi/xd75/keymaps/minna/config.h @@ -0,0 +1,7 @@ +// Copyright 2022 Minna Pallari (@pallarim) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// place overrides here +#define UNICODE_SELECTED_MODES UC_WINC, UC_LNX, UC_MAC \ No newline at end of file diff --git a/keyboards/xiudi/xd75/keymaps/minna/keymap.c b/keyboards/xiudi/xd75/keymaps/minna/keymap.c new file mode 100644 index 000000000000..ef3f400bc18c --- /dev/null +++ b/keyboards/xiudi/xd75/keymaps/minna/keymap.c @@ -0,0 +1,79 @@ +// Copyright 2022 Minna Pallari (@pallarim) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +#include "keymap_finnish.h" + +enum unicode_names { + BEER, + BEERS +}; + +enum custom_keycodes { + QMKBEST = SAFE_RANGE, +}; + +const uint32_t PROGMEM unicode_map[] = { + [BEER] = 0x1F37A, // 🍺 + [BEERS] = 0x1F37B // 🍻 +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch(keycode) { + case QMKBEST: + SEND_STRING(SS_LGUI("r") SS_DELAY(500) "calc\n" SS_DELAY(1000) "1337"); + break; + } + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ESC│ § | 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │BS │ + * ├───|───|───|───|───|───|───|───|───|───|───|───|───|───|───| + * │TAB   | Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │ + * ├───|───|───|───|───|───|───|───|───|───|───|───|───|───|ENT| + * │CPS    │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │ + * ├───|───|───|───|───|───|───|───|───|───|───|───|───|───|───| + * │SFT│ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │SFT|UP |   │ + * ├───|───|───|───|───|───|───|───|───|───|───|───|───|───|───| + * │CTR│FN │WIN│ALT│BER│ SPC │ SPC │AGR│MNU│CTR│LF │DN │RG │ + * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ + */ + + [0] = LAYOUT_ortho_5x15( + KC_ESC, FI_SECT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, FI_PLUS, FI_ACUT, KC_BSPC, + KC_TAB, KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, FI_ARNG, FI_DIAE, KC_ENT, + KC_CAPS, KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FI_ODIA, FI_ADIA, FI_QUOT, KC_NO, + KC_LSFT, FI_LABK, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, FI_MINS, KC_RSFT, KC_UP, KC_NO, + KC_LCTL, MO(1), KC_LGUI, KC_LALT, XP(BEER, BEERS), KC_SPC, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +/* + * ┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Mute│CAL| F1│F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│DEL│ + * ├────|───|───|───|───|───|───|───|───|───|───|───|───|───|───| + * │MSel   |My │Ma │RGB│RGB│Cal│ 7 │ 8 │ 9 │ - │   │Prn│SL │ P │ + * │   |Cmp│il │HUD│HUI│ │   │   │   │   │  │Scr│CK │ a │ + * ├────|───|───|───|───|───|───|───|───|───|───|───|───|───| u | + * │MPrev   │  │  │RGB│RGB│  │ 4 │ 5 │ 6 │ + │RST│   │   │ s │ + * │    │NXT│STP│SAD│SAI│PLY│   │   │   │   │   │   │   │ e │ + * ├────|───|───|───|───|───|───|───|───|───|───|───|───|───|───| + * │Vo- │Mte│Vo+│App│RGB│RGB│   │ 1 │ 2 │ 3 │ENT│   │ | |   │ + * │ │ │ │   │VAD│VAI│   │ 1 │ 2 │ 3 │ENT│   │ | |   │ + * ├────|───|───|───|───|───|───|───|───|───|───|───|───|───|───| + * │ │FN │RGB│ │RMR│RGB_MOD│ 0 │ . │ENT│ENT│FN │UCR│UCM│ + * └────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ + */ + + [1] = LAYOUT_ortho_5x15( + KC_MUTE, QMKBEST, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + KC_MSEL, KC_NO, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_CALC, KC_P7, KC_P8, KC_P9, KC_MINS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, + KC_MPRV, KC_NO, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_MPLY, KC_P4, KC_P5, KC_P6, KC_PLUS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_NO, KC_P1, KC_P2, KC_P3, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, MO(1), RGB_TOG, KC_NO, RGB_RMOD,RGB_MOD, KC_NO, KC_P0, KC_NO, KC_PDOT, KC_PENT, KC_PENT, MO(1), UC_RMOD, UC_MOD) +}; + diff --git a/keyboards/xiudi/xd75/keymaps/minna/readme.md b/keyboards/xiudi/xd75/keymaps/minna/readme.md new file mode 100644 index 000000000000..0291fd3a85a4 --- /dev/null +++ b/keyboards/xiudi/xd75/keymaps/minna/readme.md @@ -0,0 +1,13 @@ +# XD75 Fi/Sv board with some extras + +## Keymap + +### Base & Function Layer + +![Base layer](https://i.imgur.com/x8VFgYg.png) + +## Build + +To build the default keymap, simply run: + + make xiudi/xd75/minna diff --git a/keyboards/xiudi/xd75/keymaps/minna/rules.mk b/keyboards/xiudi/xd75/keymaps/minna/rules.mk new file mode 100644 index 000000000000..0517619ed13f --- /dev/null +++ b/keyboards/xiudi/xd75/keymaps/minna/rules.mk @@ -0,0 +1 @@ +UNICODEMAP_ENABLE = yes \ No newline at end of file From 4a3b4104feb7f0948a8b9f97b39534fc68c62e73 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Wed, 23 Mar 2022 09:38:51 -0700 Subject: [PATCH 0435/1832] [Bug] Fix unused variable error when using ChibiOS Bitbang serial driver (#16709) --- platforms/chibios/drivers/serial.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platforms/chibios/drivers/serial.c b/platforms/chibios/drivers/serial.c index 6db5d8525067..bb7b3c05547c 100644 --- a/platforms/chibios/drivers/serial.c +++ b/platforms/chibios/drivers/serial.c @@ -171,7 +171,8 @@ void interrupt_handler(void *arg) { checksum_computed += split_trans_initiator2target_buffer(trans)[i]; } checksum_computed ^= 7; - uint8_t checksum_received = serial_read_byte(); + + serial_read_byte(); sync_send(); // wait for the sync to finish sending From 55b3b2b8487ff9008806d41bd77a10fc796c4103 Mon Sep 17 00:00:00 2001 From: kopibeng <52724926+kopibeng@users.noreply.github.com> Date: Thu, 24 Mar 2022 02:42:54 +0800 Subject: [PATCH 0436/1832] [Keyboard] Add support for XT60 (#16708) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/kopibeng/xt60/config.h | 81 +++++++++++++++++++ keyboards/kopibeng/xt60/info.json | 81 +++++++++++++++++++ .../kopibeng/xt60/keymaps/default/keymap.c | 57 +++++++++++++ keyboards/kopibeng/xt60/keymaps/via/keymap.c | 57 +++++++++++++ keyboards/kopibeng/xt60/keymaps/via/rules.mk | 2 + keyboards/kopibeng/xt60/readme.md | 21 +++++ keyboards/kopibeng/xt60/rules.mk | 18 +++++ keyboards/kopibeng/xt60/xt60.c | 17 ++++ keyboards/kopibeng/xt60/xt60.h | 55 +++++++++++++ 9 files changed, 389 insertions(+) create mode 100644 keyboards/kopibeng/xt60/config.h create mode 100644 keyboards/kopibeng/xt60/info.json create mode 100644 keyboards/kopibeng/xt60/keymaps/default/keymap.c create mode 100644 keyboards/kopibeng/xt60/keymaps/via/keymap.c create mode 100644 keyboards/kopibeng/xt60/keymaps/via/rules.mk create mode 100644 keyboards/kopibeng/xt60/readme.md create mode 100644 keyboards/kopibeng/xt60/rules.mk create mode 100644 keyboards/kopibeng/xt60/xt60.c create mode 100644 keyboards/kopibeng/xt60/xt60.h diff --git a/keyboards/kopibeng/xt60/config.h b/keyboards/kopibeng/xt60/config.h new file mode 100644 index 000000000000..30aff4955e3f --- /dev/null +++ b/keyboards/kopibeng/xt60/config.h @@ -0,0 +1,81 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4B50 // 'KP' kopibeng +#define PRODUCT_ID 0x0600 +#define DEVICE_VER 0x0002 +#define MANUFACTURER kopibeng +#define PRODUCT XT60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { F7, F4, D0, B3, B7 } +#define MATRIX_COL_PINS { C7, F5, F1, F0, C6, B6, B5, B4, D7, D6, D5, D3, D2, D1 } + +#define LED_CAPS_LOCK_PIN D4 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define RGB_DI_PIN F6 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 14 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE \ No newline at end of file diff --git a/keyboards/kopibeng/xt60/info.json b/keyboards/kopibeng/xt60/info.json new file mode 100644 index 000000000000..fbd8904a7fa5 --- /dev/null +++ b/keyboards/kopibeng/xt60/info.json @@ -0,0 +1,81 @@ +{ + "keyboard_name": "XT60", + "maintainer": "Kopibeng", + "url": "", + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "0,0", "x": 0, "y": 0 }, + { "label": "0,1", "x": 1, "y": 0 }, + { "label": "0,2", "x": 2, "y": 0 }, + { "label": "0,3", "x": 3, "y": 0 }, + { "label": "0,4", "x": 4, "y": 0 }, + { "label": "0,5", "x": 5, "y": 0 }, + { "label": "0,6", "x": 6, "y": 0 }, + { "label": "0,7", "x": 7, "y": 0 }, + { "label": "0,8", "x": 8, "y": 0 }, + { "label": "0,9", "x": 9, "y": 0 }, + { "label": "0,A", "x": 10, "y": 0 }, + { "label": "0,B", "x": 11, "y": 0 }, + { "label": "0,C", "x": 12, "y": 0 }, + { "label": "0,D", "x": 13, "y": 0 }, + { "label": "1,D", "x": 14, "y": 0 }, + + { "label": "1,0", "w": 1.5, "x": 0, "y": 1 }, + { "label": "1,1", "x": 1.5, "y": 1 }, + { "label": "1,2", "x": 2.5, "y": 1 }, + { "label": "1,3", "x": 3.5, "y": 1 }, + { "label": "1,4", "x": 4.5, "y": 1 }, + { "label": "1,5", "x": 5.5, "y": 1 }, + { "label": "1,6", "x": 6.5, "y": 1 }, + { "label": "1,7", "x": 7.5, "y": 1 }, + { "label": "1,8", "x": 8.5, "y": 1 }, + { "label": "1,9", "x": 9.5, "y": 1 }, + { "label": "1,A", "x": 10.5, "y": 1 }, + { "label": "1,B", "x": 11.5, "y": 1 }, + { "label": "1,C", "x": 12.5, "y": 1 }, + { "label": "2,C", "w": 1.5, "x": 13.5, "y": 1 }, + + { "label": "2,0", "w": 1.75, "x": 0, "y": 2 }, + { "label": "2,1", "x": 1.75, "y": 2 }, + { "label": "2,2", "x": 2.75, "y": 2 }, + { "label": "2,3", "x": 3.75, "y": 2 }, + { "label": "2,4", "x": 4.75, "y": 2 }, + { "label": "2,5", "x": 5.75, "y": 2 }, + { "label": "2,6", "x": 6.75, "y": 2 }, + { "label": "2,7", "x": 7.75, "y": 2 }, + { "label": "2,8", "x": 8.75, "y": 2 }, + { "label": "2,9", "x": 9.75, "y": 2 }, + { "label": "2,A", "x": 10.75, "y": 2 }, + { "label": "2,B", "x": 11.75, "y": 2 }, + { "label": "2,D", "w": 2.25, "x": 12.75, "y": 2 }, + + { "label": "3,0", "w": 1.25, "x": 0, "y": 3 }, + { "label": "3,1", "x": 1.25, "y": 3 }, + { "label": "3,2", "x": 2.25, "y": 3 }, + { "label": "3,3", "x": 3.25, "y": 3 }, + { "label": "3,4", "x": 4.25, "y": 3 }, + { "label": "3,5", "x": 5.25, "y": 3 }, + { "label": "3,6", "x": 6.25, "y": 3 }, + { "label": "3,7", "x": 7.25, "y": 3 }, + { "label": "3,8", "x": 8.25, "y": 3 }, + { "label": "3,9", "x": 9.25, "y": 3 }, + { "label": "3,A", "x": 10.25, "y": 3 }, + { "label": "3,B", "x": 11.25, "y": 3 }, + { "label": "3,C", "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "3,D", "x": 14, "y": 3 }, + + { "label": "4,0", "w": 1.25, "x": 0, "y": 4 }, + { "label": "4,1", "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "4,2", "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "4,4", "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "4,6", "w": 1.25, "x": 6, "y": 4 }, + { "label": "4,8", "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "4,A", "w": 1.25, "x": 10, "y": 4 }, + { "label": "4,B", "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "4,C", "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "4,D", "w": 1.25, "x": 13.75, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/kopibeng/xt60/keymaps/default/keymap.c b/keyboards/kopibeng/xt60/keymaps/default/keymap.c new file mode 100644 index 000000000000..337ec2836f8e --- /dev/null +++ b/keyboards/kopibeng/xt60/keymaps/default/keymap.c @@ -0,0 +1,57 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // Default layer + [0] = LAYOUT_all( + 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_BSPC, + 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_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_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(2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(2), KC_RALT, MO(1), KC_RCTL + ), + + // Fn1 Layer + [1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, 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, KC_TRNS + ), + + // Fn2 Layer + [2] = LAYOUT_all( + 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, 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, 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, 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, KC_TRNS, KC_TRNS + ), + + // Fn3 Layer + [3] = LAYOUT_all( + 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, 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, 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, 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, KC_TRNS, KC_TRNS + ), +}; + diff --git a/keyboards/kopibeng/xt60/keymaps/via/keymap.c b/keyboards/kopibeng/xt60/keymaps/via/keymap.c new file mode 100644 index 000000000000..337ec2836f8e --- /dev/null +++ b/keyboards/kopibeng/xt60/keymaps/via/keymap.c @@ -0,0 +1,57 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // Default layer + [0] = LAYOUT_all( + 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_BSPC, + 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_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_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(2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(2), KC_RALT, MO(1), KC_RCTL + ), + + // Fn1 Layer + [1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, 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, KC_TRNS + ), + + // Fn2 Layer + [2] = LAYOUT_all( + 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, 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, 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, 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, KC_TRNS, KC_TRNS + ), + + // Fn3 Layer + [3] = LAYOUT_all( + 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, 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, 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, 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, KC_TRNS, KC_TRNS + ), +}; + diff --git a/keyboards/kopibeng/xt60/keymaps/via/rules.mk b/keyboards/kopibeng/xt60/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/kopibeng/xt60/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kopibeng/xt60/readme.md b/keyboards/kopibeng/xt60/readme.md new file mode 100644 index 000000000000..177b22be4c76 --- /dev/null +++ b/keyboards/kopibeng/xt60/readme.md @@ -0,0 +1,21 @@ +# XT60 + +![XT60](https://i.imgur.com/n1arBEw.png) + +A QMK-powered, VIA-enabled universal 60% PCB with support for ANSI/ISO layouts, split Backspace, split Right Shift, stepped Caps Lock, 6.25U/7U bottom row, split Spacebar and RGB underglow. + +* Keyboard Maintainer: kopibeng +* Hardware Supported: A 60% keyboard with ATMEGA32U4 +* Hardware Availability: N/A + +Make example for this keyboard (after setting up your build environment): + + make kopibeng/xt60:via + +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). + +## Bootloader + +* Physical reset button: Press the RESET switch on top side of PCB. +* Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard. +* Keycode reset: Press the RESET keycode (default: MO(1) + R keys) in layout if available. \ No newline at end of file diff --git a/keyboards/kopibeng/xt60/rules.mk b/keyboards/kopibeng/xt60/rules.mk new file mode 100644 index 000000000000..72ab2800c56c --- /dev/null +++ b/keyboards/kopibeng/xt60/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/kopibeng/xt60/xt60.c b/keyboards/kopibeng/xt60/xt60.c new file mode 100644 index 000000000000..db8993d58b49 --- /dev/null +++ b/keyboards/kopibeng/xt60/xt60.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "xt60.h" \ No newline at end of file diff --git a/keyboards/kopibeng/xt60/xt60.h b/keyboards/kopibeng/xt60/xt60.h new file mode 100644 index 000000000000..0e4b4ea2aa74 --- /dev/null +++ b/keyboards/kopibeng/xt60/xt60.h @@ -0,0 +1,55 @@ +/* Copyright 2021 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define ___ KC_NO + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1D │ │1D │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter + * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌─┴───┴────┤ + * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬────┬┴───┤ └──────────┘ + * │40 │41 │42 │44 │46 │48 │4A │4B │4C │4D │ 2.25u/1.25u/2.75u Split Spacebar + * └────┴────┴────┴────────┴────┴──────────┴────┴────┴────┴────┘ + * ┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ + * │40 │41 │42 │46 │4A │4B │4C │4D │ ANSI 6.25u + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ + * │40 │41 │42 │46 │4B │4C │4D │ 7u/WKL + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + */ + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K44, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D}, \ + {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D}, \ + {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D}, \ + {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D}, \ + {K40, K41, K42, ___, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D} \ +} From e335d62eda6f9c295c1717cf7511dfb74a436f03 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Wed, 23 Mar 2022 23:23:40 -0600 Subject: [PATCH 0437/1832] [Keyboard] Add keyboard level encoder function for GMMK Pro (#16721) --- keyboards/gmmk/pro/pro.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/keyboards/gmmk/pro/pro.c b/keyboards/gmmk/pro/pro.c index 816d089a585d..6aed1d6e189d 100644 --- a/keyboards/gmmk/pro/pro.c +++ b/keyboards/gmmk/pro/pro.c @@ -14,3 +14,17 @@ * along with this program. If not, see . */ #include "pro.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + return false; +} +#endif From 980a1b05629e351d19ff9ddc1bb5a1d38bab6414 Mon Sep 17 00:00:00 2001 From: Nathan Johnson Date: Thu, 24 Mar 2022 00:24:02 -0500 Subject: [PATCH 0438/1832] [Keymap] ergodox: updating osx_whiskey_tango_foxtrot_capslock to use process_record_user (#16715) --- .../keymap.c | 45 ++++++++++++++++++- .../rules.mk | 2 + 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/rules.mk diff --git a/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c b/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c index 54e1183e9f70..2285aa4a94d5 100644 --- a/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c +++ b/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c @@ -15,6 +15,10 @@ enum layer_names { typedef enum onoff_t {OFF, ON} onoff; +#define caps_led_on ergodox_right_led_2_on +#define caps_led_off ergodox_right_led_2_off + + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * @@ -123,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ // MEDIA AND TENKEY [MDIA] = LAYOUT_ergodox( - KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_F14, KC_F15, + QK_BOOT, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_F14, KC_F15, KC_TRNS, 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_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, @@ -142,6 +146,45 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS ), }; +#ifndef NO_FAKE_CAPS +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + static onoff caps_state = OFF; + + switch (keycode) { + case KC_CAPS: + if (record->event.pressed) { + if (caps_state == OFF) { + caps_led_on(); + caps_state = ON; + } else { + caps_led_off(); + caps_state = OFF; + } + } + break; + default: + if (keycode < KC_A || keycode > KC_Z) { + // This isn't an alpha or a KC_CAPS, continue on as usual. + return true; + } + if (record->event.pressed) { + bool shifted = (caps_state == ON && get_mods() == 0); + if (shifted) { + register_code(KC_LSFT); + } + register_code(keycode); + if (shifted) { + unregister_code(KC_LSFT); + } + } else { + unregister_code(keycode); + } + break; + } + // If we get here, we've already handled the keypresses. + return false; +} +#endif // Runs constantly in the background, in a loop. void matrix_scan_user(void) { diff --git a/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/rules.mk b/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/rules.mk new file mode 100644 index 000000000000..e8242c269550 --- /dev/null +++ b/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/rules.mk @@ -0,0 +1,2 @@ +# uncomment below to disable fake capslock +# OPT_DEFS += -DNO_FAKE_CAPS From f7a5ec2483ef05d22b6604f0da1447cea5281243 Mon Sep 17 00:00:00 2001 From: Carlo Sala Date: Thu, 24 Mar 2022 17:42:48 +0100 Subject: [PATCH 0439/1832] update kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala keymap (#16725) --- .../kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h | 1 + .../kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/rules.mk | 1 + 2 files changed, 2 insertions(+) diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h index b8dea6a76a65..997e4015deb3 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h @@ -3,4 +3,5 @@ #pragma once +#define TAPPING_TERM 150 #define UNICODE_SELECTED_MODES UC_LNX diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/rules.mk b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/rules.mk index fd581f26db42..12dd57c5576b 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/rules.mk +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/rules.mk @@ -1,2 +1,3 @@ MOUSEKEY_ENABLE = no +NKRO_ENABLE = yes UNICODE_ENABLE = yes From dc9eb21332b0fc274cc69358032dc923da6dc306 Mon Sep 17 00:00:00 2001 From: Simon <47527944+Frooastside@users.noreply.github.com> Date: Thu, 24 Mar 2022 19:08:22 +0100 Subject: [PATCH 0440/1832] add the ability to change the pwm frequency for the IS31FL3737B (#16718) --- docs/feature_rgb_matrix.md | 1 + drivers/led/issi/is31fl3737.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 87dbc5f78062..a8793be328e9 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -171,6 +171,7 @@ Configure the hardware via your `config.h`: |----------|-------------|---------| | `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | +| `ISSI_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3737B only | 0 | | `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | | `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | | `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c index 9f2a13de4517..bce0c34b2cbd 100644 --- a/drivers/led/issi/is31fl3737.c +++ b/drivers/led/issi/is31fl3737.c @@ -57,6 +57,10 @@ # define ISSI_PERSISTENCE 0 #endif +#ifndef ISSI_PWM_FREQUENCY +# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3737B only +#endif + #ifndef ISSI_SWPULLUP # define ISSI_SWPULLUP PUR_0R #endif @@ -159,7 +163,7 @@ void IS31FL3737_init(uint8_t addr) { // Set global current to maximum. IS31FL3737_write_register(addr, ISSI_REG_GLOBALCURRENT, 0xFF); // Disable software shutdown. - IS31FL3737_write_register(addr, ISSI_REG_CONFIGURATION, 0x01); + IS31FL3737_write_register(addr, ISSI_REG_CONFIGURATION, ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); From efc9c525b19b33c6e09057218ea64f07f45f9555 Mon Sep 17 00:00:00 2001 From: Erovia Date: Thu, 24 Mar 2022 20:13:40 +0000 Subject: [PATCH 0441/1832] CLI: Add 'via2json' subcommand (#16468) --- docs/cli_commands.md | 17 ++++ lib/python/qmk/cli/__init__.py | 1 + lib/python/qmk/cli/via2json.py | 145 ++++++++++++++++++++++++++++++++ lib/python/qmk/json_encoders.py | 8 +- lib/python/qmk/keymap.py | 7 +- 5 files changed, 176 insertions(+), 2 deletions(-) create mode 100755 lib/python/qmk/cli/via2json.py diff --git a/docs/cli_commands.md b/docs/cli_commands.md index 93af906b8a3c..463abcef12f2 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -335,6 +335,23 @@ This command cleans up the `.build` folder. If `--all` is passed, any .hex or .b qmk clean [-a] ``` +## `qmk via2json` + +This command an generate a keymap.json from a VIA keymap backup. Both the layers and the macros are converted, enabling users to easily move away from a VIA-enabled firmware without writing any code or reimplementing their keymaps in QMK Configurator. + +**Usage**: + +``` +qmk via2json -kb KEYBOARD [-l LAYOUT] [-km KEYMAP] [-o OUTPUT] filename +``` + +**Example:** + +``` +$ qmk via2json -kb ai03/polaris -o polaris_keymap.json polaris_via_backup.json +Ψ Wrote keymap to /home/you/qmk_firmware/polaris_keymap.json +``` + --- # Developer Commands diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index c51eece95596..5f65e677e502 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py @@ -69,6 +69,7 @@ 'qmk.cli.new.keymap', 'qmk.cli.pyformat', 'qmk.cli.pytest', + 'qmk.cli.via2json', ] diff --git a/lib/python/qmk/cli/via2json.py b/lib/python/qmk/cli/via2json.py new file mode 100755 index 000000000000..6edc9dfbe5ed --- /dev/null +++ b/lib/python/qmk/cli/via2json.py @@ -0,0 +1,145 @@ +"""Generate a keymap.c from a configurator export. +""" +import json +import re + +from milc import cli + +import qmk.keyboard +import qmk.path +from qmk.info import info_json +from qmk.json_encoders import KeymapJSONEncoder +from qmk.commands import parse_configurator_json, dump_lines +from qmk.keymap import generate_json, list_keymaps, locate_keymap, parse_keymap_c + + +def _find_via_layout_macro(keyboard): + keymap_layout = None + if 'via' in list_keymaps(keyboard): + keymap_path = locate_keymap(keyboard, 'via') + if keymap_path.suffix == '.json': + keymap_layout = parse_configurator_json(keymap_path)['layout'] + else: + keymap_layout = parse_keymap_c(keymap_path)['layers'][0]['layout'] + return keymap_layout + + +def _convert_macros(via_macros): + via_macros = list(filter(lambda f: bool(f), via_macros)) + if len(via_macros) == 0: + return list() + split_regex = re.compile(r'(}\,)|(\,{)') + macros = list() + for via_macro in via_macros: + # Split VIA macro to its elements + macro = split_regex.split(via_macro) + # Remove junk elements (None, '},' and ',{') + macro = list(filter(lambda f: False if f in (None, '},', ',{') else True, macro)) + macro_data = list() + for m in macro: + if '{' in m or '}' in m: + # Found keycode(s) + keycodes = m.split(',') + # Remove whitespaces and curly braces from around keycodes + keycodes = list(map(lambda s: s.strip(' {}'), keycodes)) + # Remove the KC prefix + keycodes = list(map(lambda s: s.replace('KC_', ''), keycodes)) + macro_data.append({"action": "tap", "keycodes": keycodes}) + else: + # Found text + macro_data.append(m) + macros.append(macro_data) + + return macros + + +def _fix_macro_keys(keymap_data): + macro_no = re.compile(r'MACRO0?([0-9]{1,2})') + for i in range(0, len(keymap_data)): + for j in range(0, len(keymap_data[i])): + kc = keymap_data[i][j] + m = macro_no.match(kc) + if m: + keymap_data[i][j] = f'MACRO_{m.group(1)}' + return keymap_data + + +def _via_to_keymap(via_backup, keyboard_data, keymap_layout): + # Check if passed LAYOUT is correct + layout_data = keyboard_data['layouts'].get(keymap_layout) + if not layout_data: + cli.log.error(f'LAYOUT macro {keymap_layout} is not a valid one for keyboard {cli.args.keyboard}!') + exit(1) + + layout_data = layout_data['layout'] + sorting_hat = list() + for index, data in enumerate(layout_data): + sorting_hat.append([index, data['matrix']]) + + sorting_hat.sort(key=lambda k: (k[1][0], k[1][1])) + + pos = 0 + for row_num in range(0, keyboard_data['matrix_size']['rows']): + for col_num in range(0, keyboard_data['matrix_size']['cols']): + if pos >= len(sorting_hat) or sorting_hat[pos][1][0] != row_num or sorting_hat[pos][1][1] != col_num: + sorting_hat.insert(pos, [None, [row_num, col_num]]) + else: + sorting_hat.append([None, [row_num, col_num]]) + pos += 1 + + keymap_data = list() + for layer in via_backup['layers']: + pos = 0 + layer_data = list() + for key in layer: + if sorting_hat[pos][0] is not None: + layer_data.append([sorting_hat[pos][0], key]) + pos += 1 + layer_data.sort() + layer_data = [kc[1] for kc in layer_data] + keymap_data.append(layer_data) + + return keymap_data + + +@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') +@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") +@cli.argument('filename', type=qmk.path.FileType('r'), arg_only=True, help='VIA Backup JSON file') +@cli.argument('-kb', '--keyboard', type=qmk.keyboard.keyboard_folder, completer=qmk.keyboard.keyboard_completer, arg_only=True, required=True, help='The keyboard\'s name') +@cli.argument('-km', '--keymap', arg_only=True, default='via2json', help='The keymap\'s name') +@cli.argument('-l', '--layout', arg_only=True, help='The keymap\'s layout') +@cli.subcommand('Convert a VIA backup json to keymap.json format.') +def via2json(cli): + """Convert a VIA backup json to keymap.json format. + + This command uses the `qmk.keymap` module to generate a keymap.json from a VIA backup json. The generated keymap is written to stdout, or to a file if -o is provided. + """ + # Find appropriate layout macro + keymap_layout = cli.args.layout if cli.args.layout else _find_via_layout_macro(cli.args.keyboard) + if not keymap_layout: + cli.log.error(f"Couldn't find LAYOUT macro for keyboard {cli.args.keyboard}. Please specify it with the '-l' argument.") + exit(1) + + # Load the VIA backup json + with cli.args.filename.open('r') as fd: + via_backup = json.load(fd) + + # Generate keyboard metadata + keyboard_data = info_json(cli.args.keyboard) + + # Get keycode array + keymap_data = _via_to_keymap(via_backup, keyboard_data, keymap_layout) + + # Convert macros + macro_data = list() + if via_backup.get('macros'): + macro_data = _convert_macros(via_backup['macros']) + + # Replace VIA macro keys with JSON keymap ones + keymap_data = _fix_macro_keys(keymap_data) + + # Generate the keymap.json + keymap_json = generate_json(cli.args.keymap, cli.args.keyboard, keymap_layout, keymap_data, macro_data) + + keymap_lines = [json.dumps(keymap_json, cls=KeymapJSONEncoder)] + dump_lines(cli.args.output, keymap_lines, cli.args.quiet) diff --git a/lib/python/qmk/json_encoders.py b/lib/python/qmk/json_encoders.py index 72e91973a320..40a5c1dea8e7 100755 --- a/lib/python/qmk/json_encoders.py +++ b/lib/python/qmk/json_encoders.py @@ -146,7 +146,13 @@ def encode_list(self, obj): if key == 'JSON_NEWLINE': layer.append([]) else: - layer[-1].append(f'"{key}"') + if isinstance(key, dict): + # We have a macro + + # TODO: Add proper support for nicely formatting keymap.json macros + layer[-1].append(f'{self.encode(key)}') + else: + layer[-1].append(f'"{key}"') layer = [f"{self.indent_str*indent_level}{', '.join(row)}" for row in layer] diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py index 00b5a78a5ac5..ca5be0959b81 100644 --- a/lib/python/qmk/keymap.py +++ b/lib/python/qmk/keymap.py @@ -158,7 +158,7 @@ def is_keymap_dir(keymap, c=True, json=True, additional_files=None): return True -def generate_json(keymap, keyboard, layout, layers): +def generate_json(keymap, keyboard, layout, layers, macros=None): """Returns a `keymap.json` for the specified keyboard, layout, and layers. Args: @@ -173,11 +173,16 @@ def generate_json(keymap, keyboard, layout, layers): layers An array of arrays describing the keymap. Each item in the inner array should be a string that is a valid QMK keycode. + + macros + A sequence of strings containing macros to implement for this keyboard. """ new_keymap = template_json(keyboard) new_keymap['keymap'] = keymap new_keymap['layout'] = layout new_keymap['layers'] = layers + if macros: + new_keymap['macros'] = macros return new_keymap From 53a88af0360c67677d3ffb9eac0d046a59baa141 Mon Sep 17 00:00:00 2001 From: Anton <14187674+antosha417@users.noreply.github.com> Date: Sat, 26 Mar 2022 03:37:05 +0300 Subject: [PATCH 0442/1832] [Keymap] corne and planck keyboards keymaps (#15570) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/crkbd/keymaps/antosha417/config.h | 37 ++ keyboards/crkbd/keymaps/antosha417/keymap.c | 401 ++++++++++++++++ .../crkbd/keymaps/antosha417/mod_tap_keys.h | 15 + keyboards/crkbd/keymaps/antosha417/rules.mk | 5 + keyboards/crkbd/keymaps/antosha417/todo.md | 13 + keyboards/planck/keymaps/antosha417/config.h | 34 ++ keyboards/planck/keymaps/antosha417/keymap.c | 452 ++++++++++++++++++ .../planck/keymaps/antosha417/mod_tap_keys.h | 14 + keyboards/planck/keymaps/antosha417/readme.md | 11 + keyboards/planck/keymaps/antosha417/rules.mk | 4 + 10 files changed, 986 insertions(+) create mode 100644 keyboards/crkbd/keymaps/antosha417/config.h create mode 100644 keyboards/crkbd/keymaps/antosha417/keymap.c create mode 100644 keyboards/crkbd/keymaps/antosha417/mod_tap_keys.h create mode 100644 keyboards/crkbd/keymaps/antosha417/rules.mk create mode 100644 keyboards/crkbd/keymaps/antosha417/todo.md create mode 100644 keyboards/planck/keymaps/antosha417/config.h create mode 100644 keyboards/planck/keymaps/antosha417/keymap.c create mode 100644 keyboards/planck/keymaps/antosha417/mod_tap_keys.h create mode 100644 keyboards/planck/keymaps/antosha417/readme.md create mode 100644 keyboards/planck/keymaps/antosha417/rules.mk diff --git a/keyboards/crkbd/keymaps/antosha417/config.h b/keyboards/crkbd/keymaps/antosha417/config.h new file mode 100644 index 000000000000..4b6e86fd6ba0 --- /dev/null +++ b/keyboards/crkbd/keymaps/antosha417/config.h @@ -0,0 +1,37 @@ +// Copyright 2021 Anton Kavalkou (@antosha417) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + + +/* Select hand configuration */ + +//#define MASTER_LEFT +// #define MASTER_RIGHT +#define EE_HANDS + + +#define TAPPING_FORCE_HOLD + +#ifdef RGBLIGHT_ENABLE + #undef RGBLED_NUM + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_RGB_TEST + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_TWINKLE + #define RGBLED_NUM 27 + #define RGBLIGHT_LIMIT_VAL 120 + #define RGBLIGHT_HUE_STEP 10 + #define RGBLIGHT_SAT_STEP 17 + #define RGBLIGHT_VAL_STEP 17 +#endif + +#define TAPPING_TERM 200 +#define IGNORE_MOD_TAP_INTERRUPT +#define COMBO_TERM 30 + diff --git a/keyboards/crkbd/keymaps/antosha417/keymap.c b/keyboards/crkbd/keymaps/antosha417/keymap.c new file mode 100644 index 000000000000..bdee14848587 --- /dev/null +++ b/keyboards/crkbd/keymaps/antosha417/keymap.c @@ -0,0 +1,401 @@ +// Copyright 2021 Anton Kavalkou (@antosha417) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H +#include "sendstring_dvorak.h" + +typedef union { + uint32_t raw; + struct { + bool is_macos :1; + }; +} user_config; + +user_config config; + +enum layers { + _QWERTY, + _DVORAK, + _LOWER, + _RAISE, + _TOP, + _BOTTOM, +}; + +enum keycodes { + QWERTY = SAFE_RANGE, + + RUS_LANG, + EN_LANG, + HEB_LANG, + + VIM_SAVE, + + CHNGE_OS, + DELETE_WORD, + +#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ + keycode, +#include "mod_tap_keys.h" +#undef MOD_TAP_KEY +}; + + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define TOP MO(_TOP) +#define BOTTOM MO(_BOTTOM) +#define LANG TG(_DVORAK) +#define KC_CAD LALT(LCTL(KC_DEL)) +#define KC_CAH LALT(LCTL(KC_HOME)) + +#define E_SFT LSFT_T(KC_E) +#define D_SFT LSFT_T(KC_D) +#define A_ALT LALT_T(KC_A) +#define O_GUI LGUI_T(KC_O) +#define U_CTRL LCTL_T(KC_U) + +#define T_SFT RSFT_T(KC_T) +#define K_SFT RSFT_T(KC_K) +#define S_ALT RALT_T(KC_S) +#define N_GUI RGUI_T(KC_N) +#define H_CTRL RCTL_T(KC_H) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = LAYOUT_split_3x6_3( +//,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_ESC, A_ALTQ, S_GUIQ, D_SFT, F_CTLQ, KC_G, KC_H, J_CTLQ, K_SFT, L_GUIQ, SCLN_Q, KC_QUOT, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, +//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + BOTTOM, KC_SPC, LOWER, RAISE, KC_SPC, TOP + //`--------------------------' `--------------------------' +), + +[_DVORAK] = LAYOUT_split_3x6_3( +//,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, A_ALT, O_GUI, E_SFT, U_CTRL, KC_I, KC_D, H_CTRL, T_SFT, N_GUI, S_ALT, KC_QUOT, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ESC, +//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + //`--------------------------' `--------------------------' +), + +[_LOWER] = LAYOUT_split_3x6_3( +//,-----------------------------------------------------. ,-----------------------------------------------------. + KC_F11, KC_UNDS, KC_MINS, KC_TILD, KC_PERC, KC_QUOT, _______, KC_CIRC, KC_GRV, KC_BSLS, KC_PIPE, KC_MINS, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_DEL, KC_LBRC, KC_LCBR, KC_PLUS, KC_LPRN, KC_EQL, KC_ASTR, KC_RPRN, KC_EXLM, KC_RCBR, KC_RBRC, KC_BSPC, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_CAD, KC_CAH, _______, LANG, _______, _______,HEB_LANG, EN_LANG,RUS_LANG, _______, _______, +//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + //`--------------------------' `--------------------------' + //^^^^^^^ +), + + +[_RAISE] = LAYOUT_split_3x6_3( +//,-----------------------------------------------------. ,-----------------------------------------------------. + KC_F11, _______, _______, KC_DLR, KC_AMPR, _______, KC_COLON, KC_QUES, KC_AT, KC_HASH, KC_SLSH, KC_F12, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_7, KC_5, KC_3, KC_1, KC_9, KC_0, KC_2, KC_4, KC_6, KC_8, KC_BSPC, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_F7, KC_F5, KC_F3, KC_F1, KC_F9, KC_F10, KC_F2, KC_F4, KC_F6, KC_F8, _______, +//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + //`--------------------------' `--------------------------' + //^^^^^^^ +), + +[_TOP] = LAYOUT_split_3x6_3( +//,-----------------------------------------------------. ,-----------------------------------------------------. + _______,CHNGE_OS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, KC_DOWN, KC_UP, _______, _______, _______, _______, _______, _______, _______, +//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + //`--------------------------' `--------------------------' + //^^^^^^^ +), + +[_BOTTOM] = LAYOUT_split_3x6_3( +//,-----------------------------------------------------. ,-----------------------------------------------------. + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RGHT, _______, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, _______, _______, _______, _______, +//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, +//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + //`--------------------------' `--------------------------' + //^^^^^^^ +) + +}; + +enum combo_events { + // combos for dvorak layer + RU_COMBO, + EN_COMBO, + HEB_COMBO, + ESC_COMBO, + TAB_COMBO, + ENT_COMBO, + DEL_COMBO, + SAVE_COMBO, + BSPC_COMBO, + BSPCW_COMBO, + + // combos for qwerty layer + RUQ_COMBO, + ENQ_COMBO, + HEBQ_COMBO, + ESCQ_COMBO, + TABQ_COMBO, + ENTQ_COMBO, + DELQ_COMBO, + SAVEQ_COMBO, + BSPCQ_COMBO, + BSPCWQ_COMBO, + + COMBO_LENGTH +}; +uint16_t COMBO_LEN = COMBO_LENGTH; + +const uint16_t PROGMEM ru_combo[] = {KC_R, U_CTRL, COMBO_END}; +const uint16_t PROGMEM en_combo[] = {U_CTRL, S_ALT, COMBO_END}; +const uint16_t PROGMEM heb_combo[] = {KC_I, KC_V, COMBO_END}; +const uint16_t PROGMEM esc_combo[] = {H_CTRL, U_CTRL, COMBO_END}; +const uint16_t PROGMEM tab_combo[] = {T_SFT, A_ALT, COMBO_END}; +const uint16_t PROGMEM ent_combo[]= {E_SFT, N_GUI, COMBO_END}; +const uint16_t PROGMEM del_combo[] = {KC_D, E_SFT, COMBO_END}; +const uint16_t PROGMEM bspc_combo[] = {KC_C, H_CTRL, COMBO_END}; +const uint16_t PROGMEM bspcw_combo[] = {N_GUI, U_CTRL, COMBO_END}; +const uint16_t PROGMEM save_combo[] = {O_GUI, H_CTRL, COMBO_END}; + +const uint16_t PROGMEM ruq_combo[] = {KC_O, F_CTLQ, COMBO_END}; +const uint16_t PROGMEM enq_combo[] = {F_CTLQ, SCLN_Q, COMBO_END}; +const uint16_t PROGMEM hebq_combo[] = {KC_G, KC_DOT, COMBO_END}; +const uint16_t PROGMEM escq_combo[] = {F_CTLQ, J_CTLQ, COMBO_END}; +const uint16_t PROGMEM tabq_combo[] = {K_SFT, A_ALTQ, COMBO_END}; +const uint16_t PROGMEM entq_combo[] = {D_SFT, L_GUIQ, COMBO_END}; +const uint16_t PROGMEM delq_combo[] = {KC_H, D_SFT, COMBO_END}; +const uint16_t PROGMEM bspcq_combo[] = {KC_I, J_CTLQ, COMBO_END}; +const uint16_t PROGMEM bspcwq_combo[] = {L_GUIQ, F_CTLQ, COMBO_END}; +const uint16_t PROGMEM saveq_combo[] = {S_GUIQ, J_CTLQ, COMBO_END}; + +combo_t key_combos[] = { + [RU_COMBO] = COMBO(ru_combo, RUS_LANG), + [EN_COMBO] = COMBO(en_combo, EN_LANG), + [HEB_COMBO] = COMBO(heb_combo, HEB_LANG), + [ESC_COMBO] = COMBO(esc_combo, KC_ESC), + [TAB_COMBO] = COMBO(tab_combo, KC_TAB), + [ENT_COMBO] = COMBO(ent_combo, KC_ENT), + [DEL_COMBO] = COMBO(del_combo, KC_DEL), + [BSPC_COMBO] = COMBO(bspc_combo, KC_BSPC), + [SAVE_COMBO] = COMBO(save_combo, VIM_SAVE), + [BSPCW_COMBO] = COMBO(bspcw_combo, DELETE_WORD), + + [RUQ_COMBO] = COMBO(ruq_combo, RUS_LANG), + [ENQ_COMBO] = COMBO(enq_combo, EN_LANG), + [HEBQ_COMBO] = COMBO(hebq_combo, HEB_LANG), + [ESCQ_COMBO] = COMBO(escq_combo, KC_ESC), + [TABQ_COMBO] = COMBO(tabq_combo, KC_TAB), + [ENTQ_COMBO] = COMBO(entq_combo, KC_ENT), + [DELQ_COMBO] = COMBO(delq_combo, KC_DEL), + [BSPCQ_COMBO] = COMBO(bspcq_combo, KC_BSPC), + [SAVEQ_COMBO] = COMBO(saveq_combo, VIM_SAVE), + [BSPCWQ_COMBO] = COMBO(bspcwq_combo, DELETE_WORD), +}; + + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + return rotation; +} + +void oled_render_layer_state(void) { + oled_write_P(PSTR("layer: "), false); + switch (get_highest_layer(layer_state|default_layer_state)) { + case _QWERTY: + oled_write_ln_P(PSTR("qwerty"), false); + break + case _DVORAK: + oled_write_ln_P(PSTR("dvorak"), false); + break; + case _LOWER: + oled_write_ln_P(PSTR("lower"), false); + break; + case_RAISE: + oled_write_ln_P(PSTR("raise"), false); + break; + case _TOP: + oled_write_ln_P(PSTR("top"), false); + break; + case _BOTTOM: + oled_write_ln_P(PSTR("bottom"), false); + break; + default: + oled_write_ln_P(PSTR("unknown"), false); + break; + } +} + +void render_bootmagic_status(bool status) { + /* Show Ctrl-Gui Swap options */ + static const char PROGMEM logo[][2][3] = { + {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, + {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, + }; + if (status) { + oled_write_ln_P(logo[0][0], false); + oled_write_ln_P(logo[0][1], false); + } else { + oled_write_ln_P(logo[1][0], false); + oled_write_ln_P(logo[1][1], false); + } +} + +void oled_render_logo(void) { + static const char PROGMEM crkbd_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, + 0}; + oled_write_P(crkbd_logo, false); +} + +bool oled_task_user(void) { + if (is_keyboard_master()) { + oled_write_ln_P(PSTR("nice cock"), false); + oled_render_layer_state(); + } else { + oled_render_logo(); + } + return false; +} + +#endif // OLED_ENABLE + +void keyboard_post_init_user(void) { + config.raw = eeconfig_read_user(); + layer_on(_DVORAK); +} + +void set_english_language(void) { + layer_on(_DVORAK); + tap_code16(LSFT(LCTL(LGUI(KC_1)))); +} + +void set_russian_language(void) { + layer_off(_DVORAK); + tap_code16(LSFT(LCTL(LGUI(KC_2)))); +} + +void set_hebrew_language(void) { + layer_off(_DVORAK); + tap_code16(LSFT(LCTL(LGUI(KC_3)))); +} + +void delete_word(void) { + if (config.is_macos) { + tap_code16(A(KC_BSPC)); + } else { + tap_code16(C(KC_BSPC)); + } +} + +#define CASE(keycode, key_pressed_action, key_released_action) \ + case (keycode): \ + if (record->event.pressed) { \ + key_pressed_action; \ + } else { \ + key_released_action; \ + } \ + return false; \ + break; + +#define CASE_PRESSED(keycode, key_pressed_action) CASE(keycode, key_pressed_action, {}); + +#define CASE_MOD_TAP_KEY(keycode, tap_action, mod_off_action) \ + CASE(keycode, { \ + keycode ## _TIMER = timer_read(); \ + IS_ ## keycode ## _ACTIVE = true; \ + }, { \ + if(IS_ ## keycode ## _MOD_ACTIVE) { \ + mod_off_action; \ + } else if (IS_ ## keycode ## _ACTIVE) { \ + tap_action; \ + } \ + IS_ ## keycode ## _MOD_ACTIVE = false; \ + IS_ ## keycode ## _ACTIVE = false; \ + }); + +#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ +uint16_t keycode ## _TIMER = 0; \ +bool IS_ ## keycode ## _ACTIVE = false; \ +bool IS_ ## keycode ## _MOD_ACTIVE = false; +#include "mod_tap_keys.h" +#undef MOD_TAP_KEY + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + #ifdef OLED_ENABLE + if (record->event.pressed) { + set_keylog(keycode, record); + } +#endif //OLED_ENABLE + + switch (keycode) { + CASE_PRESSED(EN_LANG, set_english_language()); + CASE_PRESSED(RUS_LANG, set_russian_language()); + CASE_PRESSED(HEB_LANG, set_hebrew_language()); + + CASE_PRESSED(VIM_SAVE, {set_english_language(); SEND_STRING(SS_TAP(X_ESC)SS_LSFT(SS_TAP(X_SCLN))SS_TAP(X_W)SS_TAP(X_ENT));}); + + CASE_PRESSED(CHNGE_OS, {config.is_macos ^= 1; eeconfig_update_user(config.raw);}); + CASE_PRESSED(DELETE_WORD, delete_word()); + + #define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ + CASE_MOD_TAP_KEY(keycode, tap_action, mod_off_action); + #include "mod_tap_keys.h" + #undef MOD_TAP_KEY + } + + #define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ + if (IS_ ## keycode ## _ACTIVE && !IS_ ## keycode ## _MOD_ACTIVE) { \ + if (timer_elapsed(keycode ## _TIMER) <= TAPPING_TERM) { \ + tap_action; \ + IS_ ## keycode ## _ACTIVE = false; \ + } \ + } + #include "mod_tap_keys.h" + #undef MOD_TAP_KEY + + return true; +} + +void matrix_scan_user(void) { + #define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ + if (IS_ ## keycode ## _ACTIVE) { \ + if (timer_elapsed(keycode ## _TIMER) > TAPPING_TERM) { \ + mod_on_action; \ + IS_ ## keycode ## _MOD_ACTIVE = true; \ + } \ + } + #include "mod_tap_keys.h" + #undef MOD_TAP_KEY +} + diff --git a/keyboards/crkbd/keymaps/antosha417/mod_tap_keys.h b/keyboards/crkbd/keymaps/antosha417/mod_tap_keys.h new file mode 100644 index 000000000000..0d7a86b69131 --- /dev/null +++ b/keyboards/crkbd/keymaps/antosha417/mod_tap_keys.h @@ -0,0 +1,15 @@ +// Copyright 2021 Anton Kavalkou (@antosha417) +// SPDX-License-Identifier: GPL-2.0-or-later + +// MOD_TAP_KEY(key, tap_action, mod_on_action, mod_off_action) + +MOD_TAP_KEY(S_GUIQ, tap_code(KC_S), {layer_on(_DVORAK); register_code(KC_LGUI);}, {layer_off(_DVORAK); unregister_code(KC_LGUI);}) +MOD_TAP_KEY(L_GUIQ, tap_code(KC_L), {layer_on(_DVORAK); register_code(KC_RGUI);}, {layer_off(_DVORAK); unregister_code(KC_RGUI);}) + +MOD_TAP_KEY(F_CTLQ, tap_code(KC_F), {layer_on(_DVORAK); register_code(KC_LCTL);}, {layer_off(_DVORAK); unregister_code(KC_LCTL);}) +MOD_TAP_KEY(J_CTLQ, tap_code(KC_J), {layer_on(_DVORAK); register_code(KC_RCTL);}, {layer_off(_DVORAK); unregister_code(KC_RCTL);}) + +MOD_TAP_KEY(A_ALTQ, tap_code(KC_A), {layer_on(_DVORAK); register_code(KC_LALT);}, {layer_off(_DVORAK); unregister_code(KC_LALT);}) +MOD_TAP_KEY(SCLN_Q, tap_code(KC_SCLN), {layer_on(_DVORAK); register_code(KC_RALT);},{layer_off(_DVORAK); unregister_code(KC_RALT);}) + + diff --git a/keyboards/crkbd/keymaps/antosha417/rules.mk b/keyboards/crkbd/keymaps/antosha417/rules.mk new file mode 100644 index 000000000000..63a3a16616f4 --- /dev/null +++ b/keyboards/crkbd/keymaps/antosha417/rules.mk @@ -0,0 +1,5 @@ +OLED_ENABLE = yes +COMBO_ENABLE = yes + +LTO_ENABLE = yes #enable link time optimization to reduce binary size + diff --git a/keyboards/crkbd/keymaps/antosha417/todo.md b/keyboards/crkbd/keymaps/antosha417/todo.md new file mode 100644 index 000000000000..4ee83af65dec --- /dev/null +++ b/keyboards/crkbd/keymaps/antosha417/todo.md @@ -0,0 +1,13 @@ +# Notes: + * to flush firmware to keyboard use: + ``` + $ make crkbd/rev1:antosha417:avrdude-split-right + $ make crkbd/rev1:antosha417:avrdude-split-left + ``` + +# Todo: + [ ] do something with displayig symbols on oled screen + [ ] count wpm + [ ] load images + [X] figure out how to delete word on linux + [X] fix oled layer names diff --git a/keyboards/planck/keymaps/antosha417/config.h b/keyboards/planck/keymaps/antosha417/config.h new file mode 100644 index 000000000000..9bbb1192c7d7 --- /dev/null +++ b/keyboards/planck/keymaps/antosha417/config.h @@ -0,0 +1,34 @@ +// Copyright 2021 Anton Kavalkou (@antosha417) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifdef AUDIO_ENABLE + #define STARTUP_SONG SONG(PLANCK_SOUND) + // #define STARTUP_SONG SONG(NO_SOUND) +#endif + +/* + * MIDI options + */ + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ + +#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +//#define MIDI_ADVANCED + +// Most tactile encoders have detents every 4 stages +#define ENCODER_RESOLUTION 4 + +#define TAPPING_TERM 200 +#define IGNORE_MOD_TAP_INTERRUPT +#define COMBO_TERM 30 + diff --git a/keyboards/planck/keymaps/antosha417/keymap.c b/keyboards/planck/keymaps/antosha417/keymap.c new file mode 100644 index 000000000000..a3d46c231173 --- /dev/null +++ b/keyboards/planck/keymaps/antosha417/keymap.c @@ -0,0 +1,452 @@ +// Copyright 2021 Anton Kavalkou (@antosha417) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H +#include "sendstring_dvorak.h" +#include "muse.h" + +enum layers { + _QWERTY, + _DVORAK, + _LOWER, + _RAISE, + _TOP, + _BOTTOM, + _ADJUST +}; + +float USSR_SONG[][2] = SONG(B__NOTE(_G6), + B__NOTE(_C7), W__NOTE(_G6), H__NOTE(_A6), + B__NOTE(_B6), W__NOTE(_E6), W__NOTE(_E6), + B__NOTE(_A6), W__NOTE(_G6), H__NOTE(_F6), + B__NOTE(_G6), W__NOTE(_C6), W__NOTE(_C6), + B__NOTE(_D6), W__NOTE(_D6), W__NOTE(_E6), + B__NOTE(_D6), W__NOTE(_D6), W__NOTE(_G6), + B__NOTE(_F6), W__NOTE(_G6), W__NOTE(_A6), + B__NOTE(_B6), + ); + +enum keycodes { + QWERTY = SAFE_RANGE, + + RUS_LANG, + EN_LANG, + HEB_LANG, + + BRUDERSCHAFT, + VIM_SAVE, + +#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ + keycode, +#include "mod_tap_keys.h" +#undef MOD_TAP_KEY +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define TOP MO(_TOP) +#define BOTTOM MO(_BOTTOM) +#define LANG TG(_DVORAK) +#define KC_CAD LALT(LCTL(KC_DEL)) +#define KC_CAH LALT(LCTL(KC_HOME)) + +#define E_SFT LSFT_T(KC_E) +#define D_SFT LSFT_T(KC_D) +#define A_ALT LALT_T(KC_A) +#define O_GUI LGUI_T(KC_O) +#define U_CTRL LCTL_T(KC_U) + +#define T_SFT RSFT_T(KC_T) +#define K_SFT RSFT_T(KC_K) +#define S_ALT RALT_T(KC_S) +#define N_GUI RGUI_T(KC_N) +#define H_CTRL RCTL_T(KC_H) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | | Q | W | E | R | T | Y | U | I | O | P | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | A | S | D | F | G | H | J | K | L | ; | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | Z | X | C | V | B | N | M | , | . | / | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | |Bottom| SPC |Lower |Raise | SPC | TOP | | | | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_planck_grid( + _______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, _______, + _______, A_ALTQ, S_GUIQ, D_SFT, F_CTLQ, KC_G, KC_H, J_CTLQ, K_SFT, L_GUIQ, SCLN_Q, _______, + _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, + _______, _______, _______, BOTTOM, KC_SPC, LOWER, RAISE, KC_SPC, TOP, _______, _______, _______ +), + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | | ' | , | . | P | Y | F | G | C | R | L | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | A | O | E | U | I | D | H | T | N | S | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | ; | Q | J | K | X | B | M | W | V | Z | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_DVORAK] = LAYOUT_planck_grid( + _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, _______, + _______, A_ALT, O_GUI, E_SFT, U_CTRL, KC_I, KC_D, H_CTRL, T_SFT, N_GUI, S_ALT, _______, + _______, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | F11 | _ | - | ~ | % | ' | | ^ | ` | \ | | | - | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | [ | { | + | ( | = | * | ) | ! | } | ] | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | CAD | CAH | | LANG | | | EN | HEB | RUS | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | RCTL | | | | [{}] | | | PSCR | PGDN | PGUP | | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT_planck_grid( + KC_F11, KC_UNDS, KC_MINS, KC_TILD, KC_PERC, KC_QUOT, _______, KC_CIRC, KC_GRV, KC_BSLS, KC_PIPE, KC_MINS, + KC_DEL, KC_LBRC, KC_LCBR, KC_PLUS, KC_LPRN, KC_EQL, KC_ASTR, KC_RPRN, KC_EXLM, KC_RCBR, KC_RBRC, KC_BSPC, + _______, KC_CAD, KC_CAH, _______, LANG, _______, _______, HEB_LANG, EN_LANG, RUS_LANG, _______, _______, + _______, KC_RCTL, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_PGDN, KC_PGUP, _______ +), + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | F11 | | | $ | & | | : | ? | @ | # | / | F12 | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | 7 | 5 | 3 | 1 | 9 | 0 | 2 | 4 | 6 | 8 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F7 | F5 | F3 | F1 | F9 | F10 | F2 | F4 | F6 | F8 | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | [{}] | | Vol- | End | Home | Vol+ | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT_planck_grid( + KC_F11, _______, _______, KC_DLR, KC_AMPR, _______, KC_COLON, KC_QUES, KC_AT, KC_HASH, KC_SLSH, KC_F12, + _______, KC_7, KC_5, KC_3, KC_1, KC_9, KC_0, KC_2, KC_4, KC_6, KC_8, KC_BSPC, + _______, KC_F7, KC_F5, KC_F3, KC_F1, KC_F9, KC_F10, KC_F2, KC_F4, KC_F6, KC_F8, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_END, KC_HOME, KC_VOLU +), + +/* TOP + * ,----------------------------------------------------------------------------------- + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | Down | Up | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | [{}] | | | | + * `-----------------------------------------------------------------------------------' + */ +[_TOP] = LAYOUT_planck_grid( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_DOWN, KC_UP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* BOTTOM + * ,----------------------------------------------------------------------------------- + * | | | | | | | | | | | -> | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | <- | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | vold | volu | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | [{}] | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_BOTTOM] = LAYOUT_planck_grid( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* Adjust (Lower + Raise) + * v------------------------RGB CONTROL--------------------v + * ,----------------------------------------------------------------------------------- + * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | |Aud on|Audoff| | | | | | |Dvorak| | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | |Mus on|Musoff| | | | | | | | | USSR | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | [{}] | [{}] | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_planck_grid( + _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, BRUDERSCHAFT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + +}; + +void keyboard_post_init_user(void) { + layer_on(_DVORAK); +} + +void set_english_language(void) { + layer_on(_DVORAK); + SEND_STRING(SS_LSFT(SS_LCTL(SS_LGUI(SS_TAP(X_1))))); +} + +void set_russian_language(void) { + layer_off(_DVORAK); + SEND_STRING(SS_LSFT(SS_LCTL(SS_LGUI(SS_TAP(X_2))))); +} + +void set_hebrew_language(void) { + layer_off(_DVORAK); + SEND_STRING(SS_LSFT(SS_LCTL(SS_LGUI(SS_TAP(X_3))))); +} + + +#define CASE(keycode, key_pressed_action, key_released_action) \ + case (keycode): \ + if (record->event.pressed) { \ + key_pressed_action; \ + } else { \ + key_released_action; \ + } \ + return false; \ + break; + +#define CASE_PRESSED(keycode, key_pressed_action) CASE(keycode, key_pressed_action, {}); + +#define CASE_MOD_TAP_KEY(keycode, tap_action, mod_off_action) \ + CASE(keycode, { \ + keycode ## _TIMER = timer_read(); \ + IS_ ## keycode ## _ACTIVE = true; \ + }, { \ + if(IS_ ## keycode ## _MOD_ACTIVE) { \ + mod_off_action; \ + } else if (IS_ ## keycode ## _ACTIVE) { \ + tap_action; \ + } \ + IS_ ## keycode ## _MOD_ACTIVE = false; \ + IS_ ## keycode ## _ACTIVE = false; \ + }); + +#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ +uint16_t keycode ## _TIMER = 0; \ +bool IS_ ## keycode ## _ACTIVE = false; \ +bool IS_ ## keycode ## _MOD_ACTIVE = false; +#include "mod_tap_keys.h" +#undef MOD_TAP_KEY + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + CASE_PRESSED(BRUDERSCHAFT, PLAY_SONG(USSR_SONG)); + + CASE_PRESSED(EN_LANG, set_english_language()); + CASE_PRESSED(RUS_LANG, set_russian_language()); + CASE_PRESSED(HEB_LANG, set_hebrew_language()); + + CASE_PRESSED(VIM_SAVE, {set_english_language(); SEND_STRING(SS_TAP(X_ESC)SS_LSFT(SS_TAP(X_SCLN))SS_TAP(X_W)SS_TAP(X_ENT));}); + + #define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ + CASE_MOD_TAP_KEY(keycode, tap_action, mod_off_action); + #include "mod_tap_keys.h" + #undef MOD_TAP_KEY + } + + #define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ + if (IS_ ## keycode ## _ACTIVE && !IS_ ## keycode ## _MOD_ACTIVE) { \ + if (timer_elapsed(keycode ## _TIMER) <= TAPPING_TERM) { \ + tap_action; \ + IS_ ## keycode ## _ACTIVE = false; \ + } \ + } + #include "mod_tap_keys.h" + #undef MOD_TAP_KEY + + return true; +} + +bool muse_mode = false; +uint8_t last_muse_note = 0; +uint16_t muse_counter = 0; +uint8_t muse_offset = 70; +uint16_t muse_tempo = 50; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (muse_mode) { + if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + muse_offset++; + } else { + muse_offset--; + } + } else { + if (clockwise) { + muse_tempo+=1; + } else { + muse_tempo-=1; + } + } + } else { + if (clockwise) { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_DOWN); + #else + tap_code(KC_PGDN); + #endif + } else { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_UP); + #else + tap_code(KC_PGUP); + #endif + } + } + return false; +} + +bool dip_switch_update_user(uint8_t index, bool active) { + switch (index) { + case 0: + if (active) { + layer_off(_ADJUST); + } + break; + case 1: + if (active) { + muse_mode = true; + } else { + muse_mode = false; + #ifdef AUDIO_ENABLE + stop_all_notes(); + #endif + } + } + return true; +} + +void matrix_scan_user(void) { + #define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ + if (IS_ ## keycode ## _ACTIVE) { \ + if (timer_elapsed(keycode ## _TIMER) > TAPPING_TERM) { \ + mod_on_action; \ + IS_ ## keycode ## _MOD_ACTIVE = true; \ + } \ + } + #include "mod_tap_keys.h" + #undef MOD_TAP_KEY + + #ifdef AUDIO_ENABLE + if (muse_mode) { + if (muse_counter == 0) { + uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; + if (muse_note != last_muse_note) { + stop_note(compute_freq_for_midi_note(last_muse_note)); + play_note(compute_freq_for_midi_note(muse_note), 0xF); + last_muse_note = muse_note; + } + } + muse_counter = (muse_counter + 1) % muse_tempo; + } + #endif +} + +bool music_mask_user(uint16_t keycode) { + switch (keycode) { + case RAISE: + case LOWER: + return false; + default: + return true; + } +} + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +enum combo_events { + // combos for dvorak layer + RU_COMBO, + EN_COMBO, + HEB_COMBO, + ESC_COMBO, + TAB_COMBO, + ENT_COMBO, + DEL_COMBO, + SAVE_COMBO, + BSPC_COMBO, + BSPCW_COMBO, + + // combos for qwerty layer + RUQ_COMBO, + ENQ_COMBO, + HEBQ_COMBO, + ESCQ_COMBO, + TABQ_COMBO, + ENTQ_COMBO, + DELQ_COMBO, + SAVEQ_COMBO, + BSPCQ_COMBO, + BSPCWQ_COMBO, + + COMBO_LENGTH +}; +uint16_t COMBO_LEN = COMBO_LENGTH; + +const uint16_t PROGMEM ru_combo[] = {KC_R, U_CTRL, COMBO_END}; +const uint16_t PROGMEM en_combo[] = {U_CTRL, S_ALT, COMBO_END}; +const uint16_t PROGMEM heb_combo[] = {KC_I, KC_V, COMBO_END}; +const uint16_t PROGMEM esc_combo[] = {H_CTRL, U_CTRL, COMBO_END}; +const uint16_t PROGMEM tab_combo[] = {T_SFT, A_ALT, COMBO_END}; +const uint16_t PROGMEM ent_combo[] = {E_SFT, N_GUI, COMBO_END}; +const uint16_t PROGMEM del_combo[] = {KC_D, E_SFT, COMBO_END}; +const uint16_t PROGMEM bspc_combo[] = {KC_C, H_CTRL, COMBO_END}; +const uint16_t PROGMEM bspcw_combo[] = {N_GUI, U_CTRL, COMBO_END}; +const uint16_t PROGMEM save_combo[] = {O_GUI, H_CTRL, COMBO_END}; + +const uint16_t PROGMEM ruq_combo[] = {KC_O, F_CTLQ, COMBO_END}; +const uint16_t PROGMEM enq_combo[] = {F_CTLQ, SCLN_Q, COMBO_END}; +const uint16_t PROGMEM hebq_combo[] = {KC_G, KC_DOT, COMBO_END}; +const uint16_t PROGMEM escq_combo[] = {F_CTLQ, J_CTLQ, COMBO_END}; +const uint16_t PROGMEM tabq_combo[] = {K_SFT, A_ALTQ, COMBO_END}; +const uint16_t PROGMEM entq_combo[] = {D_SFT, L_GUIQ, COMBO_END}; +const uint16_t PROGMEM delq_combo[] = {KC_H, D_SFT, COMBO_END}; +const uint16_t PROGMEM bspcq_combo[] = {KC_I, J_CTLQ, COMBO_END}; +const uint16_t PROGMEM bspcwq_combo[] = {L_GUIQ, F_CTLQ, COMBO_END}; +const uint16_t PROGMEM saveq_combo[] = {S_GUIQ, J_CTLQ, COMBO_END}; + +combo_t key_combos[] = { + [RU_COMBO] = COMBO(ru_combo, RUS_LANG), + [EN_COMBO] = COMBO(en_combo, EN_LANG), + [HEB_COMBO] = COMBO(heb_combo, HEB_LANG), + [ESC_COMBO] = COMBO(esc_combo, KC_ESC), + [TAB_COMBO] = COMBO(tab_combo, KC_TAB), + [ENT_COMBO] = COMBO(ent_combo, KC_ENT), + [DEL_COMBO] = COMBO(del_combo, KC_DEL), + [BSPC_COMBO] = COMBO(bspc_combo, KC_BSPC), + [SAVE_COMBO] = COMBO(save_combo, VIM_SAVE), + [BSPCW_COMBO] = COMBO(bspcw_combo, A(KC_BSPC)), + + [RUQ_COMBO] = COMBO(ruq_combo, RUS_LANG), + [ENQ_COMBO] = COMBO(enq_combo, EN_LANG), + [HEBQ_COMBO] = COMBO(hebq_combo, HEB_LANG), + [ESCQ_COMBO] = COMBO(escq_combo, KC_ESC), + [TABQ_COMBO] = COMBO(tabq_combo, KC_TAB), + [ENTQ_COMBO] = COMBO(entq_combo, KC_ENT), + [DELQ_COMBO] = COMBO(delq_combo, KC_DEL), + [BSPCQ_COMBO] = COMBO(bspcq_combo, KC_BSPC), + [SAVEQ_COMBO] = COMBO(saveq_combo, VIM_SAVE), + [BSPCWQ_COMBO] = COMBO(bspcwq_combo, A(KC_BSPC)), +}; + + diff --git a/keyboards/planck/keymaps/antosha417/mod_tap_keys.h b/keyboards/planck/keymaps/antosha417/mod_tap_keys.h new file mode 100644 index 000000000000..aa82f9692cc0 --- /dev/null +++ b/keyboards/planck/keymaps/antosha417/mod_tap_keys.h @@ -0,0 +1,14 @@ +// Copyright 2021 Anton Kavalkou (@antosha417) +// SPDX-License-Identifier: GPL-2.0-or-later + +// MOD_TAP_KEY(key, tap_action, mod_on_action, mod_off_action) + +MOD_TAP_KEY(S_GUIQ, tap_code(KC_S), {layer_on(_DVORAK); register_code(KC_LGUI);}, {layer_off(_DVORAK); unregister_code(KC_LGUI);}) +MOD_TAP_KEY(L_GUIQ, tap_code(KC_L), {layer_on(_DVORAK); register_code(KC_RGUI);}, {layer_off(_DVORAK); unregister_code(KC_RGUI);}) + +MOD_TAP_KEY(F_CTLQ, tap_code(KC_F), {layer_on(_DVORAK); register_code(KC_LCTL);}, {layer_off(_DVORAK); unregister_code(KC_LCTL);}) +MOD_TAP_KEY(J_CTLQ, tap_code(KC_J), {layer_on(_DVORAK); register_code(KC_RCTL);}, {layer_off(_DVORAK); unregister_code(KC_RCTL);}) + +MOD_TAP_KEY(A_ALTQ, tap_code(KC_A), {layer_on(_DVORAK); register_code(KC_LALT);}, {layer_off(_DVORAK); unregister_code(KC_LALT);}) +MOD_TAP_KEY(SCLN_Q, tap_code(KC_SCLN), {layer_on(_DVORAK); register_code(KC_RALT);}, {layer_off(_DVORAK); unregister_code(KC_RALT);}) + diff --git a/keyboards/planck/keymaps/antosha417/readme.md b/keyboards/planck/keymaps/antosha417/readme.md new file mode 100644 index 000000000000..a7adbf74bbf3 --- /dev/null +++ b/keyboards/planck/keymaps/antosha417/readme.md @@ -0,0 +1,11 @@ +# How to install: + + make planck/rev6:antosha417:flash + +# Useful: + * [keycodes](https://docs.qmk.fm/#/keycodes) + * [string keycodes](https://github.com/qmk/qmk_firmware/blob/master/quantum/send_string_keycodes.h) + +# Todo: + [ ] sync with corne + diff --git a/keyboards/planck/keymaps/antosha417/rules.mk b/keyboards/planck/keymaps/antosha417/rules.mk new file mode 100644 index 000000000000..469769525216 --- /dev/null +++ b/keyboards/planck/keymaps/antosha417/rules.mk @@ -0,0 +1,4 @@ +SRC += muse.c +AUDIO_ENABLE = yes +COMBO_ENABLE = yes + From 7e0dde1f0009bc47430091736d7893148876b4ec Mon Sep 17 00:00:00 2001 From: somepin <79652090+somepin@users.noreply.github.com> Date: Fri, 25 Mar 2022 20:45:35 -0400 Subject: [PATCH 0443/1832] [Keyboard] Add YDKB Grape PCB (#16661) Co-authored-by: Drashna Jaelre --- keyboards/ydkb/grape/config.h | 57 ++++++++ keyboards/ydkb/grape/grape.c | 16 +++ keyboards/ydkb/grape/grape.h | 47 +++++++ keyboards/ydkb/grape/info.json | 130 ++++++++++++++++++ keyboards/ydkb/grape/keymaps/default/keymap.c | 29 ++++ keyboards/ydkb/grape/keymaps/via/keymap.c | 51 +++++++ keyboards/ydkb/grape/keymaps/via/rules.mk | 2 + keyboards/ydkb/grape/matrix.c | 96 +++++++++++++ keyboards/ydkb/grape/readme.md | 23 ++++ keyboards/ydkb/grape/rules.mk | 22 +++ 10 files changed, 473 insertions(+) create mode 100644 keyboards/ydkb/grape/config.h create mode 100644 keyboards/ydkb/grape/grape.c create mode 100644 keyboards/ydkb/grape/grape.h create mode 100644 keyboards/ydkb/grape/info.json create mode 100644 keyboards/ydkb/grape/keymaps/default/keymap.c create mode 100644 keyboards/ydkb/grape/keymaps/via/keymap.c create mode 100644 keyboards/ydkb/grape/keymaps/via/rules.mk create mode 100644 keyboards/ydkb/grape/matrix.c create mode 100644 keyboards/ydkb/grape/readme.md create mode 100644 keyboards/ydkb/grape/rules.mk diff --git a/keyboards/ydkb/grape/config.h b/keyboards/ydkb/grape/config.h new file mode 100644 index 000000000000..3396f18d6142 --- /dev/null +++ b/keyboards/ydkb/grape/config.h @@ -0,0 +1,57 @@ +/* Copyright 2022 somepin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x5945 // "YE" +#define PRODUCT_ID 0x6772 // "GR" +#define DEVICE_VER 0x0001 +#define MANUFACTURER YDKB +#define PRODUCT Grape + +/* key matrix size */ +#define MATRIX_ROWS 7 +#define MATRIX_COLS 18 + +#define MATRIX_COL_PINS { F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, B3, B2, B1, B0 } + +#define SN74X138_ADDRESS_PINS { D2, D1, D0 } + +#define LED_NUM_LOCK_PIN F1 +#define LED_CAPS_LOCK_PIN F0 +#define LED_SCROLL_LOCK_PIN E6 +#define LED_PIN_ON_STATE 0 + +#define BACKLIGHT_PIN B7 +#define BACKLIGHT_BREATHING +#define BACKLIGHT_LEVELS 3 + +#ifdef RGBLIGHT_ENABLE +#define RGB_DI_PIN E6 +#define RGBLED_NUM 4 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/ydkb/grape/grape.c b/keyboards/ydkb/grape/grape.c new file mode 100644 index 000000000000..c0d33b064bc0 --- /dev/null +++ b/keyboards/ydkb/grape/grape.c @@ -0,0 +1,16 @@ +/* Copyright 2022 somepin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "grape.h" diff --git a/keyboards/ydkb/grape/grape.h b/keyboards/ydkb/grape/grape.h new file mode 100644 index 000000000000..0f20f7ea8aa0 --- /dev/null +++ b/keyboards/ydkb/grape/grape.h @@ -0,0 +1,47 @@ +/* Copyright 2022 somepin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + K0A, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J, K0K, K0L, K0N, K0P, K0Q, K0R, K0S, \ + K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, K1P, K1Q, K1R, K1S, \ + K2P, K2Q, K2R, K2S, \ + K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, K1N, K3P, K3Q, K3R, K3S, \ + K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3N, K4P, K4Q, K4R, K4S, \ + K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4N, K5Q, K5R, K5S, \ + K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K4M, K5N, K6Q, K6R, K6S, \ + K6A, K6B, K6C, K6E, K6F, K6H, K6I, K6J, K6K, K6L, K6M, K6N, K5P, K6P \ +) { \ + { K0A, XXX, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J, K0K, K0L, XXX, K0N, K0P, K0Q, K0R, K0S }, \ + { XXX, XXX, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, XXX, K1N, K1P, K1Q, K1R, K1S }, \ + { K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, K2P, K2Q, K2R, K2S }, \ + { K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3N, K3P, K3Q, K3R, K3S }, \ + { K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4P, K4Q, K4R, K4S }, \ + { K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5P, K5Q, K5R, K5S }, \ + { K6A, K6B, K6C, XXX, K6E, K6F, XXX, K6H, K6I, K6J, K6K, K6L, K6M, K6N, K6P, K6Q, K6R, K6S } \ +} diff --git a/keyboards/ydkb/grape/info.json b/keyboards/ydkb/grape/info.json new file mode 100644 index 000000000000..9024ca4d0bd0 --- /dev/null +++ b/keyboards/ydkb/grape/info.json @@ -0,0 +1,130 @@ +{ + "keyboard_name": "Grape", + "url": "https://item.taobao.com/item.htm?id=642205244150", + "maintainer": "Gacathon", + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "F1", "x": 2, "y": 0 }, + { "label": "F2", "x": 3, "y": 0 }, + { "label": "F3", "x": 4, "y": 0 }, + { "label": "F4", "x": 5, "y": 0 }, + { "label": "F5", "x": 6, "y": 0 }, + { "label": "F6", "x": 7, "y": 0 }, + { "label": "Insert", "x": 8.5, "y": 0 }, + { "label": "Home", "x": 9.5, "y": 0 }, + { "label": "PgUp", "x": 10.5, "y": 0 }, + { "label": "PrtSc", "x": 11.5, "y": 0 }, + { "label": "Pause", "x": 13, "y": 0 }, + { "label": "Num Lock", "x": 16, "y": 0 }, + { "label": "/", "x": 17, "y": 0 }, + { "label": "*", "x": 18, "y": 0 }, + { "label": "-", "x": 19, "y": 0 }, + { "label": "F7", "x": 2, "y": 1 }, + { "label": "F8", "x": 3, "y": 1 }, + { "label": "F9", "x": 4, "y": 1 }, + { "label": "F10", "x": 5, "y": 1 }, + { "label": "F11", "x": 6, "y": 1 }, + { "label": "F12", "x": 7, "y": 1 }, + { "label": "Delete", "x": 8.5, "y": 1 }, + { "label": "End", "x": 9.5, "y": 1 }, + { "label": "PgDn", "x": 10.5, "y": 1 }, + { "label": "Scroll Lock", "x": 11.5, "y": 1 }, + { "label": "7", "x": 16, "y": 1 }, + { "label": "8", "x": 17, "y": 1 }, + { "label": "9", "x": 18, "y": 1 }, + { "label": "+", "x": 19, "y": 1 }, + { "label": "4", "x": 16, "y": 2 }, + { "label": "5", "x": 17, "y": 2 }, + { "label": "6", "x": 18, "y": 2 }, + { "label": "+", "x": 19, "y": 2 }, + { "label": "~", "x": 0, "y": 3 }, + { "label": "!", "x": 1, "y": 3 }, + { "label": "@", "x": 2, "y": 3 }, + { "label": "#", "x": 3, "y": 3 }, + { "label": "$", "x": 4, "y": 3 }, + { "label": "%", "x": 5, "y": 3 }, + { "label": "^", "x": 6, "y": 3 }, + { "label": "&", "x": 7, "y": 3 }, + { "label": "*", "x": 8, "y": 3 }, + { "label": "(", "x": 9, "y": 3 }, + { "label": ")", "x": 10, "y": 3 }, + { "label": "_", "x": 11, "y": 3 }, + { "label": "+", "x": 12, "y": 3 }, + { "label": "Bksp", "x": 13, "y": 3 }, + { "label": "Bksp", "x": 14, "y": 3 }, + { "label": "1", "x": 16, "y": 3 }, + { "label": "2", "x": 17, "y": 3 }, + { "label": "3", "x": 18, "y": 3 }, + { "label": "Enter", "x": 19, "y": 3 }, + { "label": "Tab", "x": 0, "y": 4, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 4 }, + { "label": "W", "x": 2.5, "y": 4 }, + { "label": "E", "x": 3.5, "y": 4 }, + { "label": "R", "x": 4.5, "y": 4 }, + { "label": "T", "x": 5.5, "y": 4 }, + { "label": "Y", "x": 6.5, "y": 4 }, + { "label": "U", "x": 7.5, "y": 4 }, + { "label": "I", "x": 8.5, "y": 4 }, + { "label": "O", "x": 9.5, "y": 4 }, + { "label": "P", "x": 10.5, "y": 4 }, + { "label": "{", "x": 11.5, "y": 4 }, + { "label": "}", "x": 12.5, "y": 4 }, + { "label": "|", "x": 13.5, "y": 4, "w": 1.5 }, + { "label": "0", "x": 16, "y": 4 }, + { "label": "0", "x": 17, "y": 4 }, + { "label": ".", "x": 18, "y": 4 }, + { "label": "Enter", "x": 19, "y": 4 }, + { "label": "Caps Lock", "x": 0, "y": 5, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 5 }, + { "label": "S", "x": 2.75, "y": 5 }, + { "label": "D", "x": 3.75, "y": 5 }, + { "label": "F", "x": 4.75, "y": 5 }, + { "label": "G", "x": 5.75, "y": 5 }, + { "label": "H", "x": 6.75, "y": 5 }, + { "label": "J", "x": 7.75, "y": 5 }, + { "label": "K", "x": 8.75, "y": 5 }, + { "label": "L", "x": 9.75, "y": 5 }, + { "label": ":", "x": 10.75, "y": 5 }, + { "label": "\"", "x": 11.75, "y": 5 }, + { "label": "Enter", "x": 12.75, "y": 5, "w": 2.25 }, + { "label": "F13", "x": 16.5, "y": 5.25 }, + { "label": "F14", "x": 17.5, "y": 5.25 }, + { "label": "F15", "x": 18.5, "y": 5.25 }, + { "label": "Shift", "x": 0, "y": 6, "w": 1.25 }, + { "label": "Shift", "x": 1.25, "y": 6 }, + { "label": "Z", "x": 2.25, "y": 6 }, + { "label": "X", "x": 3.25, "y": 6 }, + { "label": "C", "x": 4.25, "y": 6 }, + { "label": "V", "x": 5.25, "y": 6 }, + { "label": "B", "x": 6.25, "y": 6 }, + { "label": "N", "x": 7.25, "y": 6 }, + { "label": "M", "x": 8.25, "y": 6 }, + { "label": "<", "x": 9.25, "y": 6 }, + { "label": ">", "x": 10.25, "y": 6 }, + { "label": "?", "x": 11.25, "y": 6 }, + { "label": "Shift", "x": 12.25, "y": 6 }, + { "label": "Shift", "x": 13.25, "y": 6 }, + { "label": "\u2191", "x": 14.5, "y": 6.25 }, + { "label": "F16", "x": 16.5, "y": 6.25 }, + { "label": "F17", "x": 17.5, "y": 6.25 }, + { "label": "F18", "x": 18.5, "y": 6.25 }, + { "label": "Ctrl", "x": 0, "y": 7 }, + { "label": "Win", "x": 1, "y": 7 }, + { "label": "Alt", "x": 2, "y": 7 }, + { "x": 3, "y": 7, "w": 3 }, + { "x": 6, "y": 7, "w": 3 }, + { "label": "Alt", "x": 9, "y": 7 }, + { "label": "Win", "x": 10, "y": 7 }, + { "label": "Menu", "x": 11, "y": 7 }, + { "label": "Ctrl", "x": 12, "y": 7 }, + { "label": "\u2190", "x": 13.5, "y": 7.25 }, + { "label": "\u2193", "x": 14.5, "y": 7.25 }, + { "label": "\u2192", "x": 15.5, "y": 7.25 }, + { "label": "BTN1", "x": 17, "y": 7.25 }, + { "label": "BTN2", "x": 18, "y": 7.25 } + ] + } + } +} diff --git a/keyboards/ydkb/grape/keymaps/default/keymap.c b/keyboards/ydkb/grape/keymaps/default/keymap.c new file mode 100644 index 000000000000..2704820ad96a --- /dev/null +++ b/keyboards/ydkb/grape/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +/* Copyright 2022 somepin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, KC_PAUS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_END, KC_PGDN, KC_SLCK, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_GRV, 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_BSPC, KC_P1, KC_P2, KC_P3, KC_PENT, + 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_P0, KC_P0, KC_PDOT, KC_PENT, + 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_F13, KC_F14, KC_F15, + KC_LSFT, 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_RSFT, KC_UP, KC_F16, KC_F17, KC_F18, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BTN1, KC_BTN2 + ) +}; diff --git a/keyboards/ydkb/grape/keymaps/via/keymap.c b/keyboards/ydkb/grape/keymaps/via/keymap.c new file mode 100644 index 000000000000..f01f63bcad97 --- /dev/null +++ b/keyboards/ydkb/grape/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2022 somepin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, KC_PAUS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_END, KC_PGDN, KC_SLCK, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_GRV, 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_BSPC, KC_P1, KC_P2, KC_P3, KC_PENT, + 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_P0, KC_P0, KC_PDOT, KC_PENT, + 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_F13, KC_F14, KC_F15, + KC_LSFT, 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_RSFT, KC_UP, KC_F16, KC_F17, KC_F18, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BTN1, KC_BTN2 + ), + + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/ydkb/grape/keymaps/via/rules.mk b/keyboards/ydkb/grape/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/ydkb/grape/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/ydkb/grape/matrix.c b/keyboards/ydkb/grape/matrix.c new file mode 100644 index 000000000000..700761fa4484 --- /dev/null +++ b/keyboards/ydkb/grape/matrix.c @@ -0,0 +1,96 @@ +/* +Copyright 2022 somepin + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include +#include +#include "matrix.h" +#include "quantum.h" +#include "sn74x138.h" + +static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; + +/* All rows use a 74HC138 3 to 8 bit demultiplexer. + * + * A2 A1 A0 + * D0 D1 D2 + * 0: 0 0 0 + * 1: 0 0 1 + * 2: 0 1 0 + * 3: 0 1 1 + * 4: 1 0 0 + * 5: 1 0 1 + * 6: 1 1 0 + */ +static void select_row(uint8_t row) { + sn74x138_set_addr(row); +} + +static void init_pins(void) { + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + setPinInputHigh(col_pins[x]); + } +} + +static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { + bool matrix_changed = false; + + // Store last value of row prior to reading + matrix_row_t last_row_value = current_matrix[current_row]; + + // Start with a clear matrix row + current_matrix[current_row] = 0; + + // Select row and wait for row selection to stabilize + select_row(current_row); + matrix_io_delay(); + + // For each col... + matrix_row_t row_shifter = MATRIX_ROW_SHIFTER; + for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + + // Select the col pin to read (active low) + uint8_t pin_state = readPin(col_pins[col_index]); + + // Populate the matrix row with the state of the col pin + current_matrix[current_row] |= pin_state ? 0 : (row_shifter << col_index); + } + + // Determine if matrix changed state + if ((last_row_value != current_matrix[current_row]) && !(matrix_changed)) { + matrix_changed = true; + } + + return matrix_changed; +} + +void matrix_init_custom(void) { + // initialize demultiplexer + sn74x138_init(); + // initialize key pins + init_pins(); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool changed = false; + + // Set row, read cols + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { + changed |= read_cols_on_row(current_matrix, current_row); + } + + return changed; +} diff --git a/keyboards/ydkb/grape/readme.md b/keyboards/ydkb/grape/readme.md new file mode 100644 index 000000000000..9024f38b5878 --- /dev/null +++ b/keyboards/ydkb/grape/readme.md @@ -0,0 +1,23 @@ +# YDKB Grape + +![YDKB Grape](https://i.imgur.com/TZjgC9yh.jpg) + +The YDKB Grape is a Cherry G80-11800/11900 replacement PCB utilizing the ATmega32U4 microcontroller. + +* Keyboard Maintainer: [Gacathon](https://github.com/Gacathon) +* Hardware Supported: YDKB Grape (ATmega32U4) +* Hardware Availability: [TaoBao](https://item.taobao.com/item.htm?id=642205244150) + +Make example for this keyboard (after setting up your build environment): + + make ydkb/grape:default + +Flashing example for this keyboard: + + make ydkb/grape:default:flash + +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). + +## Bootloader + +To enter the bootloader, briefly press the physical reset button between Num Lock and Numpad 8 on the front of the PCB. diff --git a/keyboards/ydkb/grape/rules.mk b/keyboards/ydkb/grape/rules.mk new file mode 100644 index 000000000000..57b231441e35 --- /dev/null +++ b/keyboards/ydkb/grape/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +CUSTOM_MATRIX = lite +VPATH += drivers/gpio +SRC += matrix.c sn74x138.c From 084df6a288503709ddde2bfa0d64e1677fe32b29 Mon Sep 17 00:00:00 2001 From: Evelien Dekkers Date: Sat, 26 Mar 2022 02:06:03 +0100 Subject: [PATCH 0444/1832] [Keyboard] Add nt210 (#16461) Co-authored-by: Joel Challis Co-authored-by: Ryan --- keyboards/evyd13/nt210/config.h | 20 +++++ keyboards/evyd13/nt210/info.json | 84 +++++++++++++++++++ .../evyd13/nt210/keymaps/default/keymap.c | 21 +++++ keyboards/evyd13/nt210/keymaps/via/keymap.c | 48 +++++++++++ keyboards/evyd13/nt210/keymaps/via/rules.mk | 2 + keyboards/evyd13/nt210/readme.md | 27 ++++++ keyboards/evyd13/nt210/rules.mk | 1 + 7 files changed, 203 insertions(+) create mode 100644 keyboards/evyd13/nt210/config.h create mode 100644 keyboards/evyd13/nt210/info.json create mode 100644 keyboards/evyd13/nt210/keymaps/default/keymap.c create mode 100644 keyboards/evyd13/nt210/keymaps/via/keymap.c create mode 100644 keyboards/evyd13/nt210/keymaps/via/rules.mk create mode 100644 keyboards/evyd13/nt210/readme.md create mode 100644 keyboards/evyd13/nt210/rules.mk diff --git a/keyboards/evyd13/nt210/config.h b/keyboards/evyd13/nt210/config.h new file mode 100644 index 000000000000..2155d337a81e --- /dev/null +++ b/keyboards/evyd13/nt210/config.h @@ -0,0 +1,20 @@ +// Copyright 2022 Evelien Dekkers (@evyd13) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/evyd13/nt210/info.json b/keyboards/evyd13/nt210/info.json new file mode 100644 index 000000000000..c467ae33a143 --- /dev/null +++ b/keyboards/evyd13/nt210/info.json @@ -0,0 +1,84 @@ +{ + "manufacturer": "Evelien Dekkers", + "keyboard_name": "nt210", + "maintainer": "evyd13", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true + }, + "matrix_pins": { + "cols": ["B0", "D6", "D5", "D4"], + "rows": ["C4", "C5", "C6", "C7", "B7", "B6"] + }, + "processor": "atmega32u2", + "url": "https://github.com/evyd13/nt-series/tree/main/nt-210", + "usb": { + "device_version": "1.0.0", + "pid": "0x4705", + "vid": "0xCC3F" + }, + "indicators": { + "num_lock": "B4" + }, + "layouts": { + "LAYOUT_numpad_6x4": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "matrix": [1, 2], "x": 2, "y": 1.5 }, + { "matrix": [1, 3], "x": 3, "y": 1.5 }, + { "matrix": [2, 0], "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1, "y": 2.5 }, + { "matrix": [2, 2], "x": 2, "y": 2.5 }, + { "h": 2, "matrix": [2, 3], "x": 3, "y": 2.5 }, + { "matrix": [3, 0], "x": 0, "y": 3.5 }, + { "matrix": [3, 1], "x": 1, "y": 3.5 }, + { "matrix": [3, 2], "x": 2, "y": 3.5 }, + { "matrix": [4, 0], "x": 0, "y": 4.5 }, + { "matrix": [4, 1], "x": 1, "y": 4.5 }, + { "matrix": [4, 2], "x": 2, "y": 4.5 }, + { "h": 2, "matrix": [4, 3], "x": 3, "y": 4.5 }, + { "matrix": [5, 0], "w": 2, "x": 0, "y": 5.5 }, + { "matrix": [5, 2], "x": 2, "y": 5.5 } + ] + }, + "LAYOUT_ortho_6x4": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "matrix": [1, 2], "x": 2, "y": 1.5 }, + { "matrix": [1, 3], "x": 3, "y": 1.5 }, + { "matrix": [2, 0], "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1, "y": 2.5 }, + { "matrix": [2, 2], "x": 2, "y": 2.5 }, + { "matrix": [2, 3], "x": 3, "y": 2.5 }, + { "matrix": [3, 0], "x": 0, "y": 3.5 }, + { "matrix": [3, 1], "x": 1, "y": 3.5 }, + { "matrix": [3, 2], "x": 2, "y": 3.5 }, + { "matrix": [3, 3], "x": 3, "y": 3.5 }, + { "matrix": [4, 0], "x": 0, "y": 4.5 }, + { "matrix": [4, 1], "x": 1, "y": 4.5 }, + { "matrix": [4, 2], "x": 2, "y": 4.5 }, + { "matrix": [4, 3], "x": 3, "y": 4.5 }, + { "matrix": [5, 0], "x": 0, "y": 5.5 }, + { "matrix": [5, 1], "x": 1, "y": 5.5 }, + { "matrix": [5, 2], "x": 2, "y": 5.5 }, + { "matrix": [5, 3], "x": 3, "y": 5.5 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/evyd13/nt210/keymaps/default/keymap.c b/keyboards/evyd13/nt210/keymaps/default/keymap.c new file mode 100644 index 000000000000..6d1ba734a8d0 --- /dev/null +++ b/keyboards/evyd13/nt210/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2022 Evelien Dekkers (@evyd13) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_BASE] = LAYOUT_ortho_6x4( + KC_ESC, KC_TAB, KC_EQL, KC_BSPC, + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_NO, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_NO, KC_PDOT, KC_NO), + +}; diff --git a/keyboards/evyd13/nt210/keymaps/via/keymap.c b/keyboards/evyd13/nt210/keymaps/via/keymap.c new file mode 100644 index 000000000000..065fcd3a0baf --- /dev/null +++ b/keyboards/evyd13/nt210/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +// Copyright 2022 Evelien Dekkers (@evyd13) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_BASE] = LAYOUT_ortho_6x4( + KC_ESC, KC_TAB, KC_EQL, KC_BSPC, + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_NO, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_NO, KC_PDOT, KC_NO), + +[_FN1] = LAYOUT_ortho_6x4( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______), + +[_FN2] = LAYOUT_ortho_6x4( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______), + +[_FN3] = LAYOUT_ortho_6x4( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______), + +}; \ No newline at end of file diff --git a/keyboards/evyd13/nt210/keymaps/via/rules.mk b/keyboards/evyd13/nt210/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/evyd13/nt210/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/evyd13/nt210/readme.md b/keyboards/evyd13/nt210/readme.md new file mode 100644 index 000000000000..b6b7bc940eb5 --- /dev/null +++ b/keyboards/evyd13/nt210/readme.md @@ -0,0 +1,27 @@ +# nt210 + +![nt120 PCB](https://i.imgur.com/DZAfoOlh.jpg) + +A custom PCB for the Leopold FC210TP. + +* Keyboard Maintainer: [Evelien Dekkers](https://github.com/evyd13) +* Hardware Supported: nt-120 PCB +* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/nt-series/tree/main/nt-210) + +Make example for this keyboard (after setting up your build environment): + + make evyd13/nt210:default + +Flashing example for this keyboard: + + make evyd13/nt210:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/evyd13/nt210/rules.mk b/keyboards/evyd13/nt210/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/evyd13/nt210/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From c05e8afe454bf3706d69314c251dc5266c557007 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 27 Mar 2022 05:38:09 +1100 Subject: [PATCH 0445/1832] Joystick feature updates (#16732) * Joystick feature updates * Move new functions to joystick.h * Docs --- docs/feature_joystick.md | 2 + .../battleship_gamepad/battleship_gamepad.c | 2 - .../misterdeck/keymaps/default/keymap.c | 2 - .../misterdeck/keymaps/nobuttons/keymap.c | 2 - .../onekey/keymaps/joystick/keymap.c | 2 - keyboards/lime/keymaps/default/keymap.c | 1 - quantum/joystick.c | 37 ++++++++++++++++--- quantum/joystick.h | 9 +++-- quantum/process_keycode/process_joystick.c | 36 +++++------------- quantum/quantum.h | 4 ++ 10 files changed, 52 insertions(+), 45 deletions(-) diff --git a/docs/feature_joystick.md b/docs/feature_joystick.md index fe33517a1619..2635298587d4 100644 --- a/docs/feature_joystick.md +++ b/docs/feature_joystick.md @@ -150,3 +150,5 @@ Note that the supported AVR MCUs have a 10-bit ADC, and 12-bit for most STM32 MC Joystick buttons are normal Quantum keycodes, defined as `JS_BUTTON0` to `JS_BUTTON31`, depending on the number of buttons you have configured. To trigger a joystick button, just add the corresponding keycode to your keymap. + +You can also trigger joystick buttons in code with `register_joystick_button(button)` and `unregister_joystick_button(button)`, where `button` is the 0-based button index (0 = button 1). diff --git a/keyboards/handwired/battleship_gamepad/battleship_gamepad.c b/keyboards/handwired/battleship_gamepad/battleship_gamepad.c index 918a3852d0a7..2c9de15a9ffb 100644 --- a/keyboards/handwired/battleship_gamepad/battleship_gamepad.c +++ b/keyboards/handwired/battleship_gamepad/battleship_gamepad.c @@ -15,8 +15,6 @@ */ #include "battleship_gamepad.h" -#include "joystick.h" -#include "analog.h" /* joystick config */ joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = { diff --git a/keyboards/handwired/misterdeck/keymaps/default/keymap.c b/keyboards/handwired/misterdeck/keymaps/default/keymap.c index 217d25551c7f..b8ed3cb9d927 100644 --- a/keyboards/handwired/misterdeck/keymaps/default/keymap.c +++ b/keyboards/handwired/misterdeck/keymaps/default/keymap.c @@ -16,8 +16,6 @@ #include QMK_KEYBOARD_H -#include "joystick.h" - enum layer_names { NORMAL_LAYER = 0 }; diff --git a/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c b/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c index d4c52be35d98..5c69d2bc2121 100644 --- a/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c +++ b/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c @@ -16,8 +16,6 @@ #include QMK_KEYBOARD_H -#include "joystick.h" - enum layer_names { NORMAL_LAYER = 0 }; diff --git a/keyboards/handwired/onekey/keymaps/joystick/keymap.c b/keyboards/handwired/onekey/keymaps/joystick/keymap.c index f427b9d77d40..7a2f138b28b7 100644 --- a/keyboards/handwired/onekey/keymaps/joystick/keymap.c +++ b/keyboards/handwired/onekey/keymaps/joystick/keymap.c @@ -1,7 +1,5 @@ #include QMK_KEYBOARD_H -#include "joystick.h" - #ifndef ADC_PIN # define ADC_PIN F6 #endif diff --git a/keyboards/lime/keymaps/default/keymap.c b/keyboards/lime/keymaps/default/keymap.c index 2d904d36db55..eade4d4183ac 100644 --- a/keyboards/lime/keymaps/default/keymap.c +++ b/keyboards/lime/keymaps/default/keymap.c @@ -17,7 +17,6 @@ #include QMK_KEYBOARD_H #ifdef JOYSTICK_ENABLE -# include "joystick.h" # include "analog.h" #endif diff --git a/quantum/joystick.c b/quantum/joystick.c index 7b87201aef98..86b2c64036b1 100644 --- a/quantum/joystick.c +++ b/quantum/joystick.c @@ -1,13 +1,38 @@ #include "joystick.h" -joystick_t joystick_status = {.buttons = {0}, - .axes = - { +// clang-format off +joystick_t joystick_status = { + .buttons = {0}, + .axes = { #if JOYSTICK_AXES_COUNT > 0 - 0 + 0 #endif - }, - .status = 0}; + }, + .status = 0 +}; +// clang-format on // array defining the reading of analog values for each axis __attribute__((weak)) joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = {}; + +// to be implemented in the hid protocol library +void send_joystick_packet(joystick_t *joystick); + +void joystick_flush(void) { + if ((joystick_status.status & JS_UPDATED) > 0) { + send_joystick_packet(&joystick_status); + joystick_status.status &= ~JS_UPDATED; + } +} + +void register_joystick_button(uint8_t button) { + joystick_status.buttons[button / 8] |= 1 << (button % 8); + joystick_status.status |= JS_UPDATED; + joystick_flush(); +} + +void unregister_joystick_button(uint8_t button) { + joystick_status.buttons[button / 8] &= ~(1 << (button % 8)); + joystick_status.status |= JS_UPDATED; + joystick_flush(); +} diff --git a/quantum/joystick.h b/quantum/joystick.h index 9156491acaad..002df3a6d9aa 100644 --- a/quantum/joystick.h +++ b/quantum/joystick.h @@ -1,8 +1,7 @@ #pragma once -#include "quantum.h" - #include +#include "gpio.h" #ifndef JOYSTICK_BUTTON_COUNT # define JOYSTICK_BUTTON_COUNT 8 @@ -58,5 +57,7 @@ typedef struct { extern joystick_t joystick_status; -// to be implemented in the hid protocol library -void send_joystick_packet(joystick_t *joystick); +void joystick_flush(void); + +void register_joystick_button(uint8_t button); +void unregister_joystick_button(uint8_t button); diff --git a/quantum/process_keycode/process_joystick.c b/quantum/process_keycode/process_joystick.c index 2fb092c5736f..8c3e71616f3a 100644 --- a/quantum/process_keycode/process_joystick.c +++ b/quantum/process_keycode/process_joystick.c @@ -6,41 +6,25 @@ #include #include -bool process_joystick_buttons(uint16_t keycode, keyrecord_t *record); - bool process_joystick(uint16_t keycode, keyrecord_t *record) { - if (process_joystick_buttons(keycode, record) && (joystick_status.status & JS_UPDATED) > 0) { - send_joystick_packet(&joystick_status); - joystick_status.status &= ~JS_UPDATED; + switch (keycode) { + case JS_BUTTON0 ... JS_BUTTON_MAX: + if (record->event.pressed) { + register_joystick_button(keycode - JS_BUTTON0); + } else { + unregister_joystick_button(keycode - JS_BUTTON0); + } + return false; } - return true; } __attribute__((weak)) void joystick_task(void) { - if (process_joystick_analogread() && (joystick_status.status & JS_UPDATED)) { - send_joystick_packet(&joystick_status); - joystick_status.status &= ~JS_UPDATED; + if (process_joystick_analogread()) { + joystick_flush(); } } -bool process_joystick_buttons(uint16_t keycode, keyrecord_t *record) { - if (keycode < JS_BUTTON0 || keycode > JS_BUTTON_MAX) { - return true; - } else { - uint8_t button_idx = (keycode - JS_BUTTON0); - if (record->event.pressed) { - joystick_status.buttons[button_idx / 8] |= 1 << (button_idx % 8); - } else { - joystick_status.buttons[button_idx / 8] &= ~(1 << (button_idx % 8)); - } - - joystick_status.status |= JS_UPDATED; - } - - return true; -} - uint16_t savePinState(pin_t pin) { #ifdef __AVR__ uint8_t pinNumber = pin & 0xF; diff --git a/quantum/quantum.h b/quantum/quantum.h index 020e45594192..f87e5f19161e 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -200,6 +200,10 @@ extern layer_state_t layer_state; # include "dynamic_keymap.h" #endif +#ifdef JOYSTICK_ENABLE +# include "joystick.h" +#endif + #ifdef VIA_ENABLE # include "via.h" #endif From 55e5daa868c692e686a96997a4a12cb65c348382 Mon Sep 17 00:00:00 2001 From: Erovia Date: Sat, 26 Mar 2022 19:15:25 +0000 Subject: [PATCH 0446/1832] Fix bug when 'info.json' lookup escapes keyboard dir (#16734) --- lib/python/qmk/info.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index b86eaa059f11..fd8a3062b76d 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -753,9 +753,9 @@ def find_info_json(keyboard): # Add in parent folders for least specific for _ in range(5): - info_jsons.append(keyboard_parent / 'info.json') - if keyboard_parent.parent == base_path: + if keyboard_parent == base_path: break + info_jsons.append(keyboard_parent / 'info.json') keyboard_parent = keyboard_parent.parent # Return a list of the info.json files that actually exist From f874984b96b273e3631bf86fb14d9468f427fa06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=AA=20Nguy=E1=BB=85n=20Ho=C3=A0ng=20Nh=C3=A2n?= Date: Sun, 27 Mar 2022 02:35:19 +0700 Subject: [PATCH 0447/1832] Fix typos in matrix/noah readme (#16735) Change "keybaord" to keyboard --- keyboards/matrix/noah/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/matrix/noah/readme.md b/keyboards/matrix/noah/readme.md index 788fc187272c..5b32b15a006e 100644 --- a/keyboards/matrix/noah/readme.md +++ b/keyboards/matrix/noah/readme.md @@ -10,10 +10,10 @@ This was the first 65% keyboard made by the Matrix team, it had the following fe Keyboard Maintainer: [astro](https://github.com/yulei) Hardware Supported: Matrix NOAH keyboard -Hardware Availability: [NOAH Keybaord](https://geekhack.org/index.php?topic=102300.0) +Hardware Availability: [NOAH Keyboard](https://geekhack.org/index.php?topic=102300.0) Make example for this keyboard (after setting up your build environment): make matrix/noah:default -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). \ No newline at end of file +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). From 5fae1ec9c3aa105848da8fa7aa249918917b9fd6 Mon Sep 17 00:00:00 2001 From: Shandon Anderson Date: Sat, 26 Mar 2022 22:02:59 -0400 Subject: [PATCH 0448/1832] [Keyboard] Add Mino Hotswap PCB (#16664) Co-authored-by: Shandon Anderson --- keyboards/mino/hotswap/config.h | 56 +++++ keyboards/mino/hotswap/hotswap.c | 17 ++ keyboards/mino/hotswap/hotswap.h | 40 ++++ keyboards/mino/hotswap/info.json | 60 +++++ keyboards/mino/hotswap/rules.mk | 19 ++ keyboards/mino/keymaps/default/keymap.c | 290 +++++++++++++++++++++++ keyboards/mino/keymaps/via/keymap.c | 299 ++++++++++++++++++++++++ keyboards/mino/keymaps/via/rules.mk | 3 + keyboards/mino/mino.c | 16 ++ keyboards/mino/mino.h | 23 ++ keyboards/mino/readme.md | 27 +++ 11 files changed, 850 insertions(+) create mode 100644 keyboards/mino/hotswap/config.h create mode 100644 keyboards/mino/hotswap/hotswap.c create mode 100644 keyboards/mino/hotswap/hotswap.h create mode 100644 keyboards/mino/hotswap/info.json create mode 100644 keyboards/mino/hotswap/rules.mk create mode 100644 keyboards/mino/keymaps/default/keymap.c create mode 100644 keyboards/mino/keymaps/via/keymap.c create mode 100644 keyboards/mino/keymaps/via/rules.mk create mode 100644 keyboards/mino/mino.c create mode 100644 keyboards/mino/mino.h create mode 100644 keyboards/mino/readme.md diff --git a/keyboards/mino/hotswap/config.h b/keyboards/mino/hotswap/config.h new file mode 100644 index 000000000000..27ec49f3799c --- /dev/null +++ b/keyboards/mino/hotswap/config.h @@ -0,0 +1,56 @@ +/* +Copyright 2022 ShandonCodes + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7877 +#define PRODUCT_ID 0x0002 +#define DEVICE_VER 0x0001 +#define MANUFACTURER ShandonCodes +#define PRODUCT Mino + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D3, C6, D4, D2} +#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/mino/hotswap/hotswap.c b/keyboards/mino/hotswap/hotswap.c new file mode 100644 index 000000000000..46f2f9aef097 --- /dev/null +++ b/keyboards/mino/hotswap/hotswap.c @@ -0,0 +1,17 @@ +/* Copyright 2022 ShandonCodes + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "hotswap.h" diff --git a/keyboards/mino/hotswap/hotswap.h b/keyboards/mino/hotswap/hotswap.h new file mode 100644 index 000000000000..fc55cc8c2b34 --- /dev/null +++ b/keyboards/mino/hotswap/hotswap.h @@ -0,0 +1,40 @@ +/* Copyright 2022 ShandonCodes + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_default( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k3b, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ + k30, k31, k32, k33, k35, k37, k38, k39, k3a \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b}, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b}, \ + { k30, k31, k32, k33, KC_NO, k35, KC_NO, k37, k38, k39, k3a, k3b}, \ +} + diff --git a/keyboards/mino/hotswap/info.json b/keyboards/mino/hotswap/info.json new file mode 100644 index 000000000000..996dcf3b62a2 --- /dev/null +++ b/keyboards/mino/hotswap/info.json @@ -0,0 +1,60 @@ +{ + "keyboard_name": "Mino", + "url": "https://qmk.fm/keyboards/", + "maintainer": "ShandonCodes", + "layouts": { + "LAYOUT_default": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + + {"x": 0, "y": 1, "w": 1.25}, + {"x": 1.25, "y": 1}, + {"x": 2.25, "y": 1}, + {"x": 3.25, "y": 1}, + {"x": 4.25, "y": 1}, + {"x": 5.25, "y": 1}, + {"x": 6.25, "y": 1}, + {"x": 7.25, "y": 1}, + {"x": 8.25, "y": 1}, + {"x": 9.25, "y": 1}, + {"x": 10.25, "y": 1}, + {"x": 11.25, "y": 1, "w": 1.75}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2, "w": 1.25}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1.25, "y": 3}, + {"x": 2.25, "y": 3, "w": 1.25}, + {"x": 3.5, "y": 3, "w": 2.25}, + {"x": 5.75, "y": 3}, + {"x": 6.75, "y": 3, "w": 2.75}, + {"x": 9.5, "y": 3, "w": 1.25}, + {"x": 10.75, "y": 3}, + {"x": 11.75, "y": 3, "w": 1.25} + ] + } + } +} diff --git a/keyboards/mino/hotswap/rules.mk b/keyboards/mino/hotswap/rules.mk new file mode 100644 index 000000000000..64d04b189b48 --- /dev/null +++ b/keyboards/mino/hotswap/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +OLED_ENABLE = yes +WPM_ENABLE = yes diff --git a/keyboards/mino/keymaps/default/keymap.c b/keyboards/mino/keymaps/default/keymap.c new file mode 100644 index 000000000000..2c9dcecd4acf --- /dev/null +++ b/keyboards/mino/keymaps/default/keymap.c @@ -0,0 +1,290 @@ +/* Copyright 2022 ShandonCodes + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _1, + _2 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_default( + KC_ESCAPE, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_GRV, KC_BSPACE, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_ENTER, + KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSHIFT, + KC_LCTRL, KC_LGUI, KC_LALT, KC_SPACE, KC_DEL, KC_SPACE, MO(_1), MO(_2), KC_RCTRL + ), + [_1] = LAYOUT_default( + XXXXXXX, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, KC_DEL, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_QUOT, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_2] = LAYOUT_default( + KC_UP, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, + KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +#ifdef OLED_ENABLE +#define FRAMES 5 +#define ANIMATION_SIZE 512 +#define TAP_SPEED 30 + +uint8_t current_frame = 0; +uint32_t anim_timer = 0; +uint32_t anim_sleep = 0; +uint32_t ANIM_FRAME_DURATION = 1000; + +static void render_animation(void) { + static const char PROGMEM animation_frames[FRAMES][ANIMATION_SIZE] = { + // 'Base', 32x128px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff, + 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f, + 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3, + 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00, + 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13, + 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00, + 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11, + 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, + 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff, + 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, + 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff, + 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, + 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f}, + + // 'Frame_1', 32x128px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x4c, 0x4c, 0xfc, 0xfc, 0x4c, + 0x4c, 0xfc, 0xc0, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x04, + 0x04, 0x07, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff, + 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f, + 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3, + 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00, + 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13, + 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00, + 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11, + 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, + 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff, + 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, + 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff, + 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, + 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f}, + + // 'Frame_2', 32x128px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0xc0, 0x40, + 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x3f, 0x7f, 0x44, + 0x44, 0x7f, 0x7c, 0x44, 0x44, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff, + 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f, + 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3, + 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00, + 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13, + 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00, + 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11, + 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, + 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff, + 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, + 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff, + 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, + 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f}, + + // 'Frame_3', 32x128px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x44, 0x44, 0xfc, 0xfc, 0x44, + 0x44, 0xfc, 0xc0, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x43, 0x47, 0xc4, + 0x44, 0x47, 0x47, 0xc4, 0x44, 0x47, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff, + 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f, + 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3, + 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00, + 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13, + 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00, + 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11, + 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, + 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff, + 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, + 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff, + 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, + 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f}, + + // 'Frame_4', 32x128px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0xc0, 0x40, + 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc4, 0x44, 0x7f, 0x7f, 0xe6, + 0x66, 0x7f, 0x7e, 0xe4, 0x64, 0x7c, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff, + 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f, + 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3, + 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00, + 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13, + 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00, + 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11, + 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, + 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff, + 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, + 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff, + 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, + 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f} + }; + + void animate_phase(void) { + current_frame = (current_frame + 1) % FRAMES; + oled_write_raw_P(animation_frames[current_frame], ANIMATION_SIZE); + } + + if (get_current_wpm() != 000) { + oled_on(); // not essential but turns on animation OLED with any alpha keypress + if (get_current_wpm() > TAP_SPEED){ + ANIM_FRAME_DURATION = 100; + } else { + ANIM_FRAME_DURATION = 1000; + } + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animate_phase(); + } + anim_sleep = timer_read32(); + } else { + if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { + oled_off(); + } else { + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animate_phase(); + } + } + } +} + +static void render_status(void) { + // Host Keyboard Layer Status + oled_write_ln_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case _BASE: + oled_write_ln_P(PSTR("Base"), false); + break; + case _1: + oled_write_ln_P(PSTR("1"), false); + break; + case _2: + oled_write_ln_P(PSTR("2"), false); + break; + default: + oled_write_ln_P(PSTR("Undefined"), false); + } +} + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; +} + +bool oled_task_user(void) { + render_animation(); + render_status(); + + oled_write_ln_P(PSTR("WPM:"), false); + oled_write_ln(get_u8_str(get_current_wpm(), '0'), false); + + return false; +} +#endif diff --git a/keyboards/mino/keymaps/via/keymap.c b/keyboards/mino/keymaps/via/keymap.c new file mode 100644 index 000000000000..597b854052fa --- /dev/null +++ b/keyboards/mino/keymaps/via/keymap.c @@ -0,0 +1,299 @@ +/* Copyright 2021 ShandonCodes + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _0, + _1, + _2, + _3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_0] = LAYOUT_default( + KC_ESCAPE, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_GRV, KC_BSPACE, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_ENTER, + KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSHIFT, + KC_LCTRL, KC_LGUI, KC_LALT, KC_SPACE, KC_DEL, KC_SPACE, MO(_1), MO(_2), KC_RCTRL + ), + [_1] = LAYOUT_default( + XXXXXXX, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, KC_DEL, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_2] = LAYOUT_default( + KC_UP, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, + KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_3] = LAYOUT_default( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +#ifdef OLED_ENABLE +#define FRAMES 5 +#define ANIMATION_SIZE 512 +#define TAP_SPEED 30 + +uint8_t current_frame = 0; +uint32_t anim_timer = 0; +uint32_t anim_sleep = 0; +uint32_t ANIM_FRAME_DURATION = 1000; + +static void render_animation(void) { + static const char PROGMEM animation_frames[FRAMES][ANIMATION_SIZE] = { + // 'Base', 32x128px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff, + 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f, + 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3, + 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00, + 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13, + 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00, + 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11, + 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, + 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff, + 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, + 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff, + 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, + 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f}, + + // 'Frame_1', 32x128px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x4c, 0x4c, 0xfc, 0xfc, 0x4c, + 0x4c, 0xfc, 0xc0, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x04, + 0x04, 0x07, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff, + 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f, + 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3, + 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00, + 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13, + 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00, + 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11, + 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, + 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff, + 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, + 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff, + 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, + 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f}, + + // 'Frame_2', 32x128px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0xc0, 0x40, + 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x3f, 0x7f, 0x44, + 0x44, 0x7f, 0x7c, 0x44, 0x44, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0, + 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff, + 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f, + 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3, + 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00, + 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13, + 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00, + 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11, + 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, + 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff, + 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, + 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff, + 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, + 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f}, + + // 'Frame_3', 32x128px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x44, 0x44, 0xfc, 0xfc, 0x44, + 0x44, 0xfc, 0xc0, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x43, 0x47, 0xc4, + 0x44, 0x47, 0x47, 0xc4, 0x44, 0x47, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff, + 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f, + 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3, + 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00, + 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13, + 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00, + 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11, + 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, + 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff, + 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, + 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff, + 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, + 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f}, + + // 'Frame_4', 32x128px + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0xc0, 0x40, + 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc4, 0x44, 0x7f, 0x7f, 0xe6, + 0x66, 0x7f, 0x7e, 0xe4, 0x64, 0x7c, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff, + 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f, + 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3, + 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00, + 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13, + 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00, + 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11, + 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, + 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff, + 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, + 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff, + 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff, + 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, + 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f} + }; + + void animate_phase(void) { + current_frame = (current_frame + 1) % FRAMES; + oled_write_raw_P(animation_frames[current_frame], ANIMATION_SIZE); + } + + if (get_current_wpm() != 000) { + oled_on(); // not essential but turns on animation OLED with any alpha keypress + if (get_current_wpm() > TAP_SPEED){ + ANIM_FRAME_DURATION = 100; + } else { + ANIM_FRAME_DURATION = 1000; + } + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animate_phase(); + } + anim_sleep = timer_read32(); + } else { + if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { + oled_off(); + } else { + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animate_phase(); + } + } + } +} + +static void render_status(void) { + // Host Keyboard Layer Status + oled_write_ln_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case _0: + oled_write_ln_P(PSTR("Base"), false); + break; + case _1: + oled_write_ln_P(PSTR("1"), false); + break; + case _2: + oled_write_ln_P(PSTR("2"), false); + break; + case _3: + oled_write_ln_P(PSTR("3"), false); + break; + default: + oled_write_ln_P(PSTR("Undefined"), false); + } +} + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; +} + +bool oled_task_user(void) { + render_animation(); + render_status(); + + oled_write_ln_P(PSTR("WPM:"), false); + oled_write_ln(get_u8_str(get_current_wpm(), '0'), false); + + return false; +} +#endif diff --git a/keyboards/mino/keymaps/via/rules.mk b/keyboards/mino/keymaps/via/rules.mk new file mode 100644 index 000000000000..a4ac61477529 --- /dev/null +++ b/keyboards/mino/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +OLED_ENABLE = yes \ No newline at end of file diff --git a/keyboards/mino/mino.c b/keyboards/mino/mino.c new file mode 100644 index 000000000000..dc9e6d9c0126 --- /dev/null +++ b/keyboards/mino/mino.c @@ -0,0 +1,16 @@ +/* Copyright 2022 ShandonCodes + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "mino.h" \ No newline at end of file diff --git a/keyboards/mino/mino.h b/keyboards/mino/mino.h new file mode 100644 index 000000000000..fa98480c27f8 --- /dev/null +++ b/keyboards/mino/mino.h @@ -0,0 +1,23 @@ +/* Copyright 2022 ShandonCodes + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + #pragma once + +#include "quantum.h" + +#ifdef KEYBOARD_mino_hotswap +# include "hotswap.h" +#endif \ No newline at end of file diff --git a/keyboards/mino/readme.md b/keyboards/mino/readme.md new file mode 100644 index 000000000000..a6a725b2a066 --- /dev/null +++ b/keyboards/mino/readme.md @@ -0,0 +1,27 @@ +# mino + +![Mino](https://i.imgur.com/f5kHu8Qh.jpg) + +A 47 key board with a retro twist. + +* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes) +* Hardware Supported: Mino PCB +* Hardware Availability: Groupbuy + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available. For the default keymap it is the middle spacebar on the second layer. + +Make example for this keyboard (after setting up your build environment): + + make mino/hotswap:default + +Flashing example for this keyboard: + + make mino/hotswap:default:flash + +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). From 8c0198334c5a76b93530d6edd9b11ea99ea40018 Mon Sep 17 00:00:00 2001 From: Erovia Date: Sun, 27 Mar 2022 21:28:36 +0100 Subject: [PATCH 0449/1832] CLI: Lint non-data driven macros in info.json (#16739) * CLI: Lint non-data driven macros in info.json Macros in info.json should either have the "matrix" key with the matrix data or should should be also present in .h * Add verification of matrix data * Use generic '.h' in output * Add keyboard name to output * Make C layout macro finding more robust The old code missed C macros if they had whitespace between '#' and 'define' or had whitespace before '#'. --- lib/python/qmk/c_parse.py | 3 ++- lib/python/qmk/cli/lint.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/python/qmk/c_parse.py b/lib/python/qmk/c_parse.py index e7d44a514fa3..72be690019fa 100644 --- a/lib/python/qmk/c_parse.py +++ b/lib/python/qmk/c_parse.py @@ -10,6 +10,7 @@ default_key_entry = {'x': -1, 'y': 0, 'w': 1} single_comment_regex = re.compile(r'\s+/[/*].*$') multi_comment_regex = re.compile(r'/\*(.|\n)*?\*/', re.MULTILINE) +layout_macro_define_regex = re.compile(r'^#\s*define') def strip_line_comment(string): @@ -51,7 +52,7 @@ def find_layouts(file): file_contents = file_contents.replace('\\\n', '') for line in file_contents.split('\n'): - if line.startswith('#define') and '(' in line and 'LAYOUT' in line: + if layout_macro_define_regex.match(line.lstrip()) and '(' in line and 'LAYOUT' in line: # We've found a LAYOUT macro macro_name, layout, matrix = _parse_layout_macro(line.strip()) diff --git a/lib/python/qmk/cli/lint.py b/lib/python/qmk/cli/lint.py index 96593ed69b7a..af057b41101a 100644 --- a/lib/python/qmk/cli/lint.py +++ b/lib/python/qmk/cli/lint.py @@ -116,6 +116,13 @@ def lint(cli): if not keymap_check(kb, cli.config.lint.keymap): ok = False + # Check if all non-data driven macros exist in + for layout, data in keyboard_info['layouts'].items(): + # Matrix data should be a list with exactly two integers: [0, 1] + if not data['c_macro'] and not all('matrix' in key_data.keys() or len(key_data) == 2 or all(isinstance(n, int) for n in key_data) for key_data in data['layout']): + cli.log.error(f'{kb}: "{layout}" has no "matrix" definition in either "info.json" or ".h"!') + ok = False + # Report status if not ok: failed.append(kb) From 119abc4375ba0cbeecb5c0394342c0260c999fba Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Mon, 28 Mar 2022 00:07:25 +0200 Subject: [PATCH 0450/1832] Refactor writePin to work with statements (#16738) --- platforms/chibios/gpio.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/platforms/chibios/gpio.h b/platforms/chibios/gpio.h index eb44a18f9c3e..80551abac583 100644 --- a/platforms/chibios/gpio.h +++ b/platforms/chibios/gpio.h @@ -31,7 +31,14 @@ typedef ioline_t pin_t; #define writePinHigh(pin) palSetLine(pin) #define writePinLow(pin) palClearLine(pin) -#define writePin(pin, level) ((level) ? (writePinHigh(pin)) : (writePinLow(pin))) +#define writePin(pin, level) \ + do { \ + if (level) { \ + writePinHigh(pin); \ + } else { \ + writePinLow(pin); \ + } \ + } while (0) #define readPin(pin) palReadLine(pin) From 9b24abf251b7d80c1e0006bea9a056d23dc89899 Mon Sep 17 00:00:00 2001 From: Moritz Date: Mon, 28 Mar 2022 18:46:38 +0200 Subject: [PATCH 0451/1832] [Keyboard] Change linworks Dolice product ID to non-duplicate value (#16745) --- keyboards/linworks/dolice/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/linworks/dolice/config.h b/keyboards/linworks/dolice/config.h index b42fda933f26..1523c7270252 100644 --- a/keyboards/linworks/dolice/config.h +++ b/keyboards/linworks/dolice/config.h @@ -18,7 +18,7 @@ along with this program. If not, see . /* USB Device descriptor parameter */ #define VENDOR_ID 0x4C58 //"LX" -#define PRODUCT_ID 0x0004 +#define PRODUCT_ID 0x0005 #define DEVICE_VER 0x0001 #define MANUFACTURER KLC #define PRODUCT Dolice From 6cdf230a20e34302f54db018c18063395345757f Mon Sep 17 00:00:00 2001 From: m40-dev <72697013+m40-dev@users.noreply.github.com> Date: Tue, 29 Mar 2022 21:18:39 +0200 Subject: [PATCH 0452/1832] [Keyboard] handwired/m40/5x5_macropad (#16288) * Adding the custom handwired 5x5 macropad. * Update keyboards/handwired/m40/5x5_macropad/readme.md * Update keyboards/handwired/m40/5x5_macropad/rules.mk * Update keyboards/handwired/m40/5x5_macropad/readme.md * Update readme.md fixed the github link to my profile * Update keyboards/handwired/m40/5x5_macropad/5x5_macropad.c * Update keyboards/handwired/m40/5x5_macropad/5x5_macropad.h * Update keyboards/handwired/m40/5x5_macropad/5x5_macropad.h * Update keyboards/handwired/m40/5x5_macropad/config.h * Update keyboards/handwired/m40/5x5_macropad/readme.md * Update keyboards/handwired/m40/5x5_macropad/config.h * Update keyboards/handwired/m40/5x5_macropad/readme.md * Update keyboards/handwired/m40/5x5_macropad/keymaps/default/keymap.c * Apply suggestions from code review * added discord Id for maintainer contact * Update keyboards/handwired/m40/5x5_macropad/readme.md * Update keyboards/handwired/m40/5x5_macropad/info.json --- .../handwired/m40/5x5_macropad/5x5_macropad.c | 4 + .../handwired/m40/5x5_macropad/5x5_macropad.h | 27 ++++++ keyboards/handwired/m40/5x5_macropad/config.h | 88 +++++++++++++++++++ .../handwired/m40/5x5_macropad/info.json | 41 +++++++++ .../m40/5x5_macropad/keymaps/default/keymap.c | 26 ++++++ .../5x5_macropad/keymaps/default/readme.md | 1 + .../handwired/m40/5x5_macropad/readme.md | 26 ++++++ keyboards/handwired/m40/5x5_macropad/rules.mk | 22 +++++ 8 files changed, 235 insertions(+) create mode 100644 keyboards/handwired/m40/5x5_macropad/5x5_macropad.c create mode 100644 keyboards/handwired/m40/5x5_macropad/5x5_macropad.h create mode 100644 keyboards/handwired/m40/5x5_macropad/config.h create mode 100644 keyboards/handwired/m40/5x5_macropad/info.json create mode 100644 keyboards/handwired/m40/5x5_macropad/keymaps/default/keymap.c create mode 100644 keyboards/handwired/m40/5x5_macropad/keymaps/default/readme.md create mode 100644 keyboards/handwired/m40/5x5_macropad/readme.md create mode 100644 keyboards/handwired/m40/5x5_macropad/rules.mk diff --git a/keyboards/handwired/m40/5x5_macropad/5x5_macropad.c b/keyboards/handwired/m40/5x5_macropad/5x5_macropad.c new file mode 100644 index 000000000000..d99d41a49b9c --- /dev/null +++ b/keyboards/handwired/m40/5x5_macropad/5x5_macropad.c @@ -0,0 +1,4 @@ +// Copyright 2022 Tomek (@m40-dev) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "5x5_macropad.h" \ No newline at end of file diff --git a/keyboards/handwired/m40/5x5_macropad/5x5_macropad.h b/keyboards/handwired/m40/5x5_macropad/5x5_macropad.h new file mode 100644 index 000000000000..78e485f00efe --- /dev/null +++ b/keyboards/handwired/m40/5x5_macropad/5x5_macropad.h @@ -0,0 +1,27 @@ +// Copyright 2022 Tomek (@m40-dev) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_ortho_5x5( \ + K000, K001, K002, K003, K004, \ + K100, K101, K102, K103, K104, \ + K200, K201, K202, K203, K204, \ + K300, K301, K302, K303, K304, \ + K400, K401, K402, K403, K404 ) { \ + { K000, K001, K002, K003, K004 }, \ + { K100, K101, K102, K103, K104 }, \ + { K200, K201, K202, K203, K204 }, \ + { K300, K301, K302, K303, K304 }, \ + { K400, K401, K402, K403, K404 } \ +} diff --git a/keyboards/handwired/m40/5x5_macropad/config.h b/keyboards/handwired/m40/5x5_macropad/config.h new file mode 100644 index 000000000000..4f71b79d43b7 --- /dev/null +++ b/keyboards/handwired/m40/5x5_macropad/config.h @@ -0,0 +1,88 @@ +// Copyright 2022 Tomek (@m40-dev) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER m40 +#define PRODUCT macropad + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 5 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B5, B4, E6, D7, C6 } +#define MATRIX_COL_PINS { B6, B2, B3, B1, F7 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/handwired/m40/5x5_macropad/info.json b/keyboards/handwired/m40/5x5_macropad/info.json new file mode 100644 index 000000000000..7d5ae8c6cbf5 --- /dev/null +++ b/keyboards/handwired/m40/5x5_macropad/info.json @@ -0,0 +1,41 @@ +{ + "keyboard_name": "5x5_macropad", + "url": "https://www.thingiverse.com/thing:5239739", + "maintainer": "m40-dev", + "layouts": { + "LAYOUT_ortho_5x5": { + "layout": [ + {"label":"K000", "x":0, "y":0}, + {"label":"K001", "x":1, "y":0}, + {"label":"K002", "x":2, "y":0}, + {"label":"K003", "x":3, "y":0}, + {"label":"K004", "x":4, "y":0}, + + {"label":"K100", "x":0, "y":1}, + {"label":"K101", "x":1, "y":1}, + {"label":"K102", "x":2, "y":1}, + {"label":"K103", "x":3, "y":1}, + {"label":"K104", "x":4, "y":1}, + + {"label":"K200", "x":0, "y":2}, + {"label":"K201", "x":1, "y":2}, + {"label":"K202", "x":2, "y":2}, + {"label":"K203", "x":3, "y":2}, + {"label":"K204", "x":4, "y":2}, + + {"label":"K300", "x":0, "y":3}, + {"label":"K301", "x":1, "y":3}, + {"label":"K302", "x":2, "y":3}, + {"label":"K303", "x":3, "y":3}, + {"label":"K304", "x":4, "y":3}, + + {"label":"K400", "x":0, "y":4}, + {"label":"K401", "x":1, "y":4}, + {"label":"K402", "x":2, "y":4}, + {"label":"K403", "x":3, "y":4}, + {"label":"K404", "x":4, "y":4} + + ] + } + } + } \ No newline at end of file diff --git a/keyboards/handwired/m40/5x5_macropad/keymaps/default/keymap.c b/keyboards/handwired/m40/5x5_macropad/keymaps/default/keymap.c new file mode 100644 index 000000000000..5b329dc571cb --- /dev/null +++ b/keyboards/handwired/m40/5x5_macropad/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +// Copyright 2022 Tomek (@m40-dev) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_ortho_5x5( + //┌────────┬────────┬────────┬────────┬────────┐ + KC_ESC, KC_1, KC_2, KC_3, RESET, + //├────────┼────────┼────────┼────────┬────────┤ + KC_1, KC_2, KC_3, KC_4, KC_5, + //├────────┼────────┼────────┼────────┼────────┤ + KC_1, KC_2, KC_3, KC_4, KC_5, + //├────────┼────────┼────────┼────────┼────────┤ + KC_1, KC_2, KC_3, KC_4, KC_5, + //├────────┼────────┼────────┼────────┼────────┤ + KC_1, KC_2, KC_3, KC_4, KC_5 ) + //└────────┴────────┴────────┴─────────────────┘ +}; diff --git a/keyboards/handwired/m40/5x5_macropad/keymaps/default/readme.md b/keyboards/handwired/m40/5x5_macropad/keymaps/default/readme.md new file mode 100644 index 000000000000..faaecfd9ea91 --- /dev/null +++ b/keyboards/handwired/m40/5x5_macropad/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for 5x5_macropad diff --git a/keyboards/handwired/m40/5x5_macropad/readme.md b/keyboards/handwired/m40/5x5_macropad/readme.md new file mode 100644 index 000000000000..7ce38d6593f6 --- /dev/null +++ b/keyboards/handwired/m40/5x5_macropad/readme.md @@ -0,0 +1,26 @@ +# 5x5_macropad + +![m40](https://i.imgur.com/bWXH3FVl.jpeg) + +This is very simple 5x5 macropad for general use. It does not come with any particular layout, it is assumed that layouts will be built on the qmk configurator site. Row and column pins start on the edge of Arduino, if smaller board is required, you can simply connect only first x row/column pairs to the board and get the size of the board you need. + +* Keyboard Maintainer: [Tomek](https://github.com/m40-dev) (discord: m40#4792) +* Hardware Supported: 3D Printed, handwired, using Arduino Pro-Micro (Atmega32U4) for controller +* Hardware Availability: https://www.thingiverse.com/thing:5239739 + +Make example for this keyboard (after setting up your build environment): + + make handwired/m40/5x5_macropad:default + +Flashing example for this keyboard: + + make handwired/m40/5x5_macropad:default:flash + +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). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available. In default layout (if you flashed it already once) it is the top-right button. diff --git a/keyboards/handwired/m40/5x5_macropad/rules.mk b/keyboards/handwired/m40/5x5_macropad/rules.mk new file mode 100644 index 000000000000..d43ced4ed423 --- /dev/null +++ b/keyboards/handwired/m40/5x5_macropad/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# Disable unsupported hardware +AUDIO_SUPPORTED = no +BACKLIGHT_SUPPORTED = no \ No newline at end of file From 38209c5c861900e94ad2a0acdc11ea50214f0400 Mon Sep 17 00:00:00 2001 From: dn9uyen Date: Wed, 30 Mar 2022 12:00:17 -0700 Subject: [PATCH 0453/1832] Add emulated eeprom support for STM32F303xE (#16737) Added FEE_PAGE_SIZE and FEE_MCU_FLASH_SIZE defines for the STM32F303xE --- platforms/chibios/eeprom_stm32_defs.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/chibios/eeprom_stm32_defs.h b/platforms/chibios/eeprom_stm32_defs.h index a6ceb413557e..57d044033038 100644 --- a/platforms/chibios/eeprom_stm32_defs.h +++ b/platforms/chibios/eeprom_stm32_defs.h @@ -25,7 +25,7 @@ # ifndef FEE_PAGE_COUNT # define FEE_PAGE_COUNT 2 // How many pages are used # endif -# elif defined(STM32F103xE) || defined(STM32F303xC) || defined(STM32F072xB) || defined(STM32F070xB) +# elif defined(STM32F103xE) || defined(STM32F303xC) || defined(STM32F303xE) || defined(STM32F072xB) || defined(STM32F070xB) # ifndef FEE_PAGE_SIZE # define FEE_PAGE_SIZE 0x800 // Page size = 2KByte # endif @@ -51,7 +51,7 @@ # define FEE_MCU_FLASH_SIZE 128 // Size in Kb # elif defined(STM32F303xC) || defined(STM32F401xC) # define FEE_MCU_FLASH_SIZE 256 // Size in Kb -# elif defined(STM32F103xE) || defined(STM32F401xE) || defined(STM32F411xE) +# elif defined(STM32F103xE) || defined(STM32F303xE) || defined(STM32F401xE) || defined(STM32F411xE) # define FEE_MCU_FLASH_SIZE 512 // Size in Kb # elif defined(STM32F405xG) # define FEE_MCU_FLASH_SIZE 1024 // Size in Kb From 64974a7f8fbda680ea307a9a4c2cb1cfbe92c01e Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 31 Mar 2022 07:54:13 +1100 Subject: [PATCH 0454/1832] yapf: disable arithmetic predecence indication (#16749) --- lib/python/qmk/cli/generate/rgb_breathe_table.py | 4 ++-- lib/python/qmk/keyboard.py | 14 +++++++------- setup.cfg | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/python/qmk/cli/generate/rgb_breathe_table.py b/lib/python/qmk/cli/generate/rgb_breathe_table.py index 7382abd68b5f..8cf83238e14e 100644 --- a/lib/python/qmk/cli/generate/rgb_breathe_table.py +++ b/lib/python/qmk/cli/generate/rgb_breathe_table.py @@ -34,7 +34,7 @@ def generate_rgb_breathe_table(cli): """ breathe_values = [0] * 256 for pos in range(0, 256): - breathe_values[pos] = (int)((math.exp(math.sin((pos/255) * math.pi)) - cli.args.center / math.e) * (cli.args.max / (math.e - 1 / math.e))) # noqa: yapf insists there be no whitespace around / + breathe_values[pos] = (int)((math.exp(math.sin((pos / 255) * math.pi)) - cli.args.center / math.e) * (cli.args.max / (math.e - 1 / math.e))) values_template = '' for s in range(0, 3): @@ -46,7 +46,7 @@ def generate_rgb_breathe_table(cli): values_template += ' ' if pos % 8 == 0 else '' values_template += '0x{:02X}'.format(breathe_values[pos]) values_template += ',' if (pos + step) < 256 else '' - values_template += '\n' if (pos+step) % 8 == 0 else ' ' # noqa: yapf insists there be no whitespace around + + values_template += '\n' if (pos + step) % 8 == 0 else ' ' values_template += '#endif' values_template += '\n\n' if s < 2 else '' diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py index 7cd0a1d5a715..e69f63aebeb5 100644 --- a/lib/python/qmk/keyboard.py +++ b/lib/python/qmk/keyboard.py @@ -218,7 +218,7 @@ def render_key_rect(textpad, x, y, w, h, label, style): label_blank = ' ' * label_len label_border = box_chars['h'] * label_len - label_middle = label + ' '*label_leftover # noqa: yapf insists there be no whitespace around * + label_middle = label + ' ' * label_leftover top_line = array('u', box_chars['tl'] + label_border + box_chars['tr']) lab_line = array('u', box_chars['v'] + label_middle + box_chars['v']) @@ -245,10 +245,10 @@ def render_key_isoenter(textpad, x, y, w, h, label, style): if len(label) > label_len: label = label[:label_len] - label_blank = ' ' * (label_len-1) # noqa: yapf insists there be no whitespace around - and * + label_blank = ' ' * (label_len - 1) label_border_top = box_chars['h'] * label_len - label_border_bottom = box_chars['h'] * (label_len-1) # noqa - label_middle = label + ' '*label_leftover # noqa + label_border_bottom = box_chars['h'] * (label_len - 1) + label_middle = label + ' ' * label_leftover top_line = array('u', box_chars['tl'] + label_border_top + box_chars['tr']) lab_line = array('u', box_chars['v'] + label_middle + box_chars['v']) @@ -277,10 +277,10 @@ def render_key_baenter(textpad, x, y, w, h, label, style): if len(label) > label_len: label = label[:label_len] - label_blank = ' ' * (label_len-3) # noqa: yapf insists there be no whitespace around - and * - label_border_top = box_chars['h'] * (label_len-3) # noqa + label_blank = ' ' * (label_len - 3) + label_border_top = box_chars['h'] * (label_len - 3) label_border_bottom = box_chars['h'] * label_len - label_middle = label + ' '*label_leftover # noqa + label_middle = label + ' ' * label_leftover top_line = array('u', box_chars['tl'] + label_border_top + box_chars['tr']) mid_line = array('u', box_chars['v'] + label_blank + box_chars['v']) diff --git a/setup.cfg b/setup.cfg index baa6a0396765..c7d795209838 100644 --- a/setup.cfg +++ b/setup.cfg @@ -51,7 +51,7 @@ allow_split_before_dict_value=True # e = 1*2 - 3 # f = 1 + 2 + 3 + 4 # -arithmetic_precedence_indication=True +arithmetic_precedence_indication=False # Number of blank lines surrounding top-level function and class # definitions. From 11db29bedb24acc6d8c8ab30e4fa7d80b208b023 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 1 Apr 2022 10:25:43 +0100 Subject: [PATCH 0455/1832] Lint keyboard/project name (#16766) --- data/schemas/definitions.jsonschema | 16 ++++++++++++++++ data/schemas/keyboard.jsonschema | 1 + 2 files changed, 17 insertions(+) diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index 46aba52cbd3c..cca30af8273e 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -71,6 +71,22 @@ "type": "number", "min": 0.25 }, + "keyboard": { + "oneOf": [ + { + "type": "string", + "enum": [ + "converter/numeric_keypad_IIe", + "emptystring/NQG", + "maple_computing/christmas_tree/V2017" + ] + }, + { + "type": "string", + "pattern": "^[0-9a-z][0-9a-z_/]*$" + } + ] + }, "mcu_pin_array": { "type": "array", "items": {"$ref": "#/mcu_pin"} diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index a8b3d0693384..adb63fd13ed3 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -5,6 +5,7 @@ "type": "object", "properties": { "keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"}, + "keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"}, "maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"}, "manufacturer": {"$ref": "qmk.definitions.v1#/text_identifier"}, "url": { From 1caccca1f6f2645479ba8027de996b6fc50c3f46 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 3 Apr 2022 01:53:21 +1100 Subject: [PATCH 0456/1832] usb-usb converter: fix layout macros (#16769) --- keyboards/converter/usb_usb/usb_usb.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/converter/usb_usb/usb_usb.h b/keyboards/converter/usb_usb/usb_usb.h index 4a25cf5d2e93..99baa003cb53 100644 --- a/keyboards/converter/usb_usb/usb_usb.h +++ b/keyboards/converter/usb_usb/usb_usb.h @@ -168,7 +168,7 @@ along with this program. If not, see . { XXX, XXX, XXX, XXX, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \ { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \ { k60, k61, k62, k63, k64, k65, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,}, \ @@ -210,10 +210,10 @@ along with this program. If not, see . { XXX, XXX, XXX, XXX, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \ { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \ - { k60, k61, k62, k63, k64, k65, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,}, \ + { k60, k61, k62, k63, XXX, k65, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,}, \ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,}, \ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, k87, k88, k89, k8A, k8B, XXX, XXX, XXX, XXX }, \ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ From 4f30b7a2c9d04070f1df8936bf3e75eee14558bc Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 2 Apr 2022 22:09:16 +0100 Subject: [PATCH 0457/1832] Automatically approve workflow runs from first time contributors (#16774) --- .github/workflows/auto_approve.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/auto_approve.yml diff --git a/.github/workflows/auto_approve.yml b/.github/workflows/auto_approve.yml new file mode 100644 index 000000000000..7c0a982b4412 --- /dev/null +++ b/.github/workflows/auto_approve.yml @@ -0,0 +1,16 @@ +name: Automatic Approve + +on: + schedule: + - cron: "*/5 * * * *" + +jobs: + automatic_approve: + runs-on: ubuntu-latest + + steps: + uses: mheap/automatic-approve-action@v1 + with: + token: ${{ secrets.QMK_BOT_TOKEN }} + workflows: "format.yml,lint.yml,unit_test.yml" + dangerous_files: "lib/python/,Makefile,paths.mk,builddefs/" From 61bd61347ab1739524f375871407d54436f4c68e Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 2 Apr 2022 22:28:10 +0100 Subject: [PATCH 0458/1832] Automatically approve workflow runs from first time contributors (#16775) * Automatically approve workflow runs from first time contributors * Automatically approve workflow runs from first time contributors --- .github/workflows/auto_approve.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/auto_approve.yml b/.github/workflows/auto_approve.yml index 7c0a982b4412..6b986ffcccf5 100644 --- a/.github/workflows/auto_approve.yml +++ b/.github/workflows/auto_approve.yml @@ -9,8 +9,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: mheap/automatic-approve-action@v1 - with: - token: ${{ secrets.QMK_BOT_TOKEN }} - workflows: "format.yml,lint.yml,unit_test.yml" - dangerous_files: "lib/python/,Makefile,paths.mk,builddefs/" + - uses: mheap/automatic-approve-action@v1 + with: + token: ${{ secrets.QMK_BOT_TOKEN }} + workflows: "format.yml,lint.yml,unit_test.yml" + dangerous_files: "lib/python/,Makefile,paths.mk,builddefs/" From 27ae37d626ca534be196bf4a0bdffa8e03a5a159 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 3 Apr 2022 13:18:28 +0100 Subject: [PATCH 0459/1832] Align action workflow filenames (#16776) --- .github/workflows/{auto_tag.yaml => auto_tag.yml} | 0 .github/workflows/{format.yaml => format.yml} | 0 .github/workflows/{format_push.yaml => format_push.yml} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{auto_tag.yaml => auto_tag.yml} (100%) rename .github/workflows/{format.yaml => format.yml} (100%) rename .github/workflows/{format_push.yaml => format_push.yml} (100%) diff --git a/.github/workflows/auto_tag.yaml b/.github/workflows/auto_tag.yml similarity index 100% rename from .github/workflows/auto_tag.yaml rename to .github/workflows/auto_tag.yml diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yml similarity index 100% rename from .github/workflows/format.yaml rename to .github/workflows/format.yml diff --git a/.github/workflows/format_push.yaml b/.github/workflows/format_push.yml similarity index 100% rename from .github/workflows/format_push.yaml rename to .github/workflows/format_push.yml From 1660b2d2e25f5c43306a043c372255d0f66bb925 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 3 Apr 2022 18:22:52 +0100 Subject: [PATCH 0460/1832] Refactor CTPC logic to allow future converters (#16621) * Refactor CTPC logic to allow future converters * Update builddefs/converters.mk Co-authored-by: Stefan Kerkmann Co-authored-by: Stefan Kerkmann --- builddefs/build_keyboard.mk | 8 +- builddefs/converters.mk | 26 + platforms/chibios/_pin_defs.h | 564 ++++++++---------- .../promicro_to_proton_c/_pin_defs.h | 41 ++ .../promicro_to_proton_c/converter.mk} | 2 - 5 files changed, 330 insertions(+), 311 deletions(-) create mode 100644 builddefs/converters.mk create mode 100644 platforms/chibios/converters/promicro_to_proton_c/_pin_defs.h rename platforms/chibios/{boards/QMK_PROTON_C/convert_to_proton_c.mk => converters/promicro_to_proton_c/converter.mk} (78%) diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index 44acd964cc7a..4503f018a828 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -172,13 +172,7 @@ generated-files: $(KEYMAP_OUTPUT)/src/config.h $(KEYMAP_OUTPUT)/src/keymap.c endif -ifeq ($(strip $(CTPC)), yes) - CONVERT_TO_PROTON_C=yes -endif - -ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes) - include platforms/chibios/boards/QMK_PROTON_C/convert_to_proton_c.mk -endif +include $(BUILDDEFS_PATH)/converters.mk include $(BUILDDEFS_PATH)/mcu_selection.mk diff --git a/builddefs/converters.mk b/builddefs/converters.mk new file mode 100644 index 000000000000..1b029e72259d --- /dev/null +++ b/builddefs/converters.mk @@ -0,0 +1,26 @@ +ifeq ($(strip $(CTPC)), yes) + CONVERT_TO_PROTON_C=yes +endif +ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes) + CONVERT_TO=proton_c +endif + +# TODO: opt in rather than assume everything uses a pro micro +PIN_COMPATIBLE ?= promicro +ifneq ($(CONVERT_TO),) + # glob to search each platfrorm and/or check for valid converter + CONVERTER := $(wildcard $(PLATFORM_PATH)/*/converters/$(PIN_COMPATIBLE)_to_$(CONVERT_TO)/) + ifeq ($(CONVERTER),) + $(call CATASTROPHIC_ERROR,Converting from '$(PIN_COMPATIBLE)' to '$(CONVERT_TO)' not possible!) + endif + + TARGET := $(TARGET)_$(CONVERT_TO) + + # Configure any defaults + OPT_DEFS += -DCONVERT_TO_$(strip $(shell echo $(CONVERT_TO) | tr '[:lower:]' '[:upper:]')) + OPT_DEFS += -DCONVERTER_ENABLED + VPATH += $(CONVERTER) + + # Finally run any converter specific logic + include $(CONVERTER)/converter.mk +endif diff --git a/platforms/chibios/_pin_defs.h b/platforms/chibios/_pin_defs.h index a84d931cc20c..0d96e2fc3b80 100644 --- a/platforms/chibios/_pin_defs.h +++ b/platforms/chibios/_pin_defs.h @@ -21,309 +21,269 @@ # include #endif -// Defines mapping for Proton C replacement -#ifdef CONVERT_TO_PROTON_C -// Left side (front) -# define D3 PAL_LINE(GPIOA, 9) -# define D2 PAL_LINE(GPIOA, 10) -// GND -// GND -# define D1 PAL_LINE(GPIOB, 7) -# define D0 PAL_LINE(GPIOB, 6) -# define D4 PAL_LINE(GPIOB, 5) -# define C6 PAL_LINE(GPIOB, 4) -# define D7 PAL_LINE(GPIOB, 3) -# define E6 PAL_LINE(GPIOB, 2) -# define B4 PAL_LINE(GPIOB, 1) -# define B5 PAL_LINE(GPIOB, 0) - -// Right side (front) -// RAW -// GND -// RESET -// VCC -# define F4 PAL_LINE(GPIOA, 2) -# define F5 PAL_LINE(GPIOA, 1) -# define F6 PAL_LINE(GPIOA, 0) -# define F7 PAL_LINE(GPIOB, 8) -# define B1 PAL_LINE(GPIOB, 13) -# define B3 PAL_LINE(GPIOB, 14) -# define B2 PAL_LINE(GPIOB, 15) -# define B6 PAL_LINE(GPIOB, 9) - -// LEDs (only D5/C13 uses an actual LED) -# ifdef CONVERT_TO_PROTON_C_RXLED -# define D5 PAL_LINE(GPIOC, 14) -# define B0 PAL_LINE(GPIOC, 13) -# else -# define D5 PAL_LINE(GPIOC, 13) -# define B0 PAL_LINE(GPIOC, 14) -# endif -#else -# define A0 PAL_LINE(GPIOA, 0) -# define A1 PAL_LINE(GPIOA, 1) -# define A2 PAL_LINE(GPIOA, 2) -# define A3 PAL_LINE(GPIOA, 3) -# define A4 PAL_LINE(GPIOA, 4) -# define A5 PAL_LINE(GPIOA, 5) -# define A6 PAL_LINE(GPIOA, 6) -# define A7 PAL_LINE(GPIOA, 7) -# define A8 PAL_LINE(GPIOA, 8) -# define A9 PAL_LINE(GPIOA, 9) -# define A10 PAL_LINE(GPIOA, 10) -# define A11 PAL_LINE(GPIOA, 11) -# define A12 PAL_LINE(GPIOA, 12) -# define A13 PAL_LINE(GPIOA, 13) -# define A14 PAL_LINE(GPIOA, 14) -# define A15 PAL_LINE(GPIOA, 15) -# define A16 PAL_LINE(GPIOA, 16) -# define A17 PAL_LINE(GPIOA, 17) -# define A18 PAL_LINE(GPIOA, 18) -# define A19 PAL_LINE(GPIOA, 19) -# define A20 PAL_LINE(GPIOA, 20) -# define A21 PAL_LINE(GPIOA, 21) -# define A22 PAL_LINE(GPIOA, 22) -# define A23 PAL_LINE(GPIOA, 23) -# define A24 PAL_LINE(GPIOA, 24) -# define A25 PAL_LINE(GPIOA, 25) -# define A26 PAL_LINE(GPIOA, 26) -# define A27 PAL_LINE(GPIOA, 27) -# define A28 PAL_LINE(GPIOA, 28) -# define A29 PAL_LINE(GPIOA, 29) -# define A30 PAL_LINE(GPIOA, 30) -# define A31 PAL_LINE(GPIOA, 31) -# define A32 PAL_LINE(GPIOA, 32) -# define B0 PAL_LINE(GPIOB, 0) -# define B1 PAL_LINE(GPIOB, 1) -# define B2 PAL_LINE(GPIOB, 2) -# define B3 PAL_LINE(GPIOB, 3) -# define B4 PAL_LINE(GPIOB, 4) -# define B5 PAL_LINE(GPIOB, 5) -# define B6 PAL_LINE(GPIOB, 6) -# define B7 PAL_LINE(GPIOB, 7) -# define B8 PAL_LINE(GPIOB, 8) -# define B9 PAL_LINE(GPIOB, 9) -# define B10 PAL_LINE(GPIOB, 10) -# define B11 PAL_LINE(GPIOB, 11) -# define B12 PAL_LINE(GPIOB, 12) -# define B13 PAL_LINE(GPIOB, 13) -# define B14 PAL_LINE(GPIOB, 14) -# define B15 PAL_LINE(GPIOB, 15) -# define B16 PAL_LINE(GPIOB, 16) -# define B17 PAL_LINE(GPIOB, 17) -# define B18 PAL_LINE(GPIOB, 18) -# define B19 PAL_LINE(GPIOB, 19) -# define B20 PAL_LINE(GPIOB, 20) -# define B21 PAL_LINE(GPIOB, 21) -# define B22 PAL_LINE(GPIOB, 22) -# define B23 PAL_LINE(GPIOB, 23) -# define B24 PAL_LINE(GPIOB, 24) -# define B25 PAL_LINE(GPIOB, 25) -# define B26 PAL_LINE(GPIOB, 26) -# define B27 PAL_LINE(GPIOB, 27) -# define B28 PAL_LINE(GPIOB, 28) -# define B29 PAL_LINE(GPIOB, 29) -# define B30 PAL_LINE(GPIOB, 30) -# define B31 PAL_LINE(GPIOB, 31) -# define B32 PAL_LINE(GPIOB, 32) -# define C0 PAL_LINE(GPIOC, 0) -# define C1 PAL_LINE(GPIOC, 1) -# define C2 PAL_LINE(GPIOC, 2) -# define C3 PAL_LINE(GPIOC, 3) -# define C4 PAL_LINE(GPIOC, 4) -# define C5 PAL_LINE(GPIOC, 5) -# define C6 PAL_LINE(GPIOC, 6) -# define C7 PAL_LINE(GPIOC, 7) -# define C8 PAL_LINE(GPIOC, 8) -# define C9 PAL_LINE(GPIOC, 9) -# define C10 PAL_LINE(GPIOC, 10) -# define C11 PAL_LINE(GPIOC, 11) -# define C12 PAL_LINE(GPIOC, 12) -# define C13 PAL_LINE(GPIOC, 13) -# define C14 PAL_LINE(GPIOC, 14) -# define C15 PAL_LINE(GPIOC, 15) -# define C16 PAL_LINE(GPIOC, 16) -# define C17 PAL_LINE(GPIOC, 17) -# define C18 PAL_LINE(GPIOC, 18) -# define C19 PAL_LINE(GPIOC, 19) -# define C20 PAL_LINE(GPIOC, 20) -# define C21 PAL_LINE(GPIOC, 21) -# define C22 PAL_LINE(GPIOC, 22) -# define C23 PAL_LINE(GPIOC, 23) -# define C24 PAL_LINE(GPIOC, 24) -# define C25 PAL_LINE(GPIOC, 25) -# define C26 PAL_LINE(GPIOC, 26) -# define C27 PAL_LINE(GPIOC, 27) -# define C28 PAL_LINE(GPIOC, 28) -# define C29 PAL_LINE(GPIOC, 29) -# define C30 PAL_LINE(GPIOC, 30) -# define C31 PAL_LINE(GPIOC, 31) -# define C32 PAL_LINE(GPIOC, 32) -# define D0 PAL_LINE(GPIOD, 0) -# define D1 PAL_LINE(GPIOD, 1) -# define D2 PAL_LINE(GPIOD, 2) -# define D3 PAL_LINE(GPIOD, 3) -# define D4 PAL_LINE(GPIOD, 4) -# define D5 PAL_LINE(GPIOD, 5) -# define D6 PAL_LINE(GPIOD, 6) -# define D7 PAL_LINE(GPIOD, 7) -# define D8 PAL_LINE(GPIOD, 8) -# define D9 PAL_LINE(GPIOD, 9) -# define D10 PAL_LINE(GPIOD, 10) -# define D11 PAL_LINE(GPIOD, 11) -# define D12 PAL_LINE(GPIOD, 12) -# define D13 PAL_LINE(GPIOD, 13) -# define D14 PAL_LINE(GPIOD, 14) -# define D15 PAL_LINE(GPIOD, 15) -# define D16 PAL_LINE(GPIOD, 16) -# define D17 PAL_LINE(GPIOD, 17) -# define D18 PAL_LINE(GPIOD, 18) -# define D19 PAL_LINE(GPIOD, 19) -# define D20 PAL_LINE(GPIOD, 20) -# define D21 PAL_LINE(GPIOD, 21) -# define D22 PAL_LINE(GPIOD, 22) -# define D23 PAL_LINE(GPIOD, 23) -# define D24 PAL_LINE(GPIOD, 24) -# define D25 PAL_LINE(GPIOD, 25) -# define D26 PAL_LINE(GPIOD, 26) -# define D27 PAL_LINE(GPIOD, 27) -# define D28 PAL_LINE(GPIOD, 28) -# define D29 PAL_LINE(GPIOD, 29) -# define D30 PAL_LINE(GPIOD, 30) -# define D31 PAL_LINE(GPIOD, 31) -# define D32 PAL_LINE(GPIOD, 32) -# define E0 PAL_LINE(GPIOE, 0) -# define E1 PAL_LINE(GPIOE, 1) -# define E2 PAL_LINE(GPIOE, 2) -# define E3 PAL_LINE(GPIOE, 3) -# define E4 PAL_LINE(GPIOE, 4) -# define E5 PAL_LINE(GPIOE, 5) -# define E6 PAL_LINE(GPIOE, 6) -# define E7 PAL_LINE(GPIOE, 7) -# define E8 PAL_LINE(GPIOE, 8) -# define E9 PAL_LINE(GPIOE, 9) -# define E10 PAL_LINE(GPIOE, 10) -# define E11 PAL_LINE(GPIOE, 11) -# define E12 PAL_LINE(GPIOE, 12) -# define E13 PAL_LINE(GPIOE, 13) -# define E14 PAL_LINE(GPIOE, 14) -# define E15 PAL_LINE(GPIOE, 15) -# define E16 PAL_LINE(GPIOE, 16) -# define E17 PAL_LINE(GPIOE, 17) -# define E18 PAL_LINE(GPIOE, 18) -# define E19 PAL_LINE(GPIOE, 19) -# define E20 PAL_LINE(GPIOE, 20) -# define E21 PAL_LINE(GPIOE, 21) -# define E22 PAL_LINE(GPIOE, 22) -# define E23 PAL_LINE(GPIOE, 23) -# define E24 PAL_LINE(GPIOE, 24) -# define E25 PAL_LINE(GPIOE, 25) -# define E26 PAL_LINE(GPIOE, 26) -# define E27 PAL_LINE(GPIOE, 27) -# define E28 PAL_LINE(GPIOE, 28) -# define E29 PAL_LINE(GPIOE, 29) -# define E30 PAL_LINE(GPIOE, 30) -# define E31 PAL_LINE(GPIOE, 31) -# define E32 PAL_LINE(GPIOE, 32) -# define F0 PAL_LINE(GPIOF, 0) -# define F1 PAL_LINE(GPIOF, 1) -# define F2 PAL_LINE(GPIOF, 2) -# define F3 PAL_LINE(GPIOF, 3) -# define F4 PAL_LINE(GPIOF, 4) -# define F5 PAL_LINE(GPIOF, 5) -# define F6 PAL_LINE(GPIOF, 6) -# define F7 PAL_LINE(GPIOF, 7) -# define F8 PAL_LINE(GPIOF, 8) -# define F9 PAL_LINE(GPIOF, 9) -# define F10 PAL_LINE(GPIOF, 10) -# define F11 PAL_LINE(GPIOF, 11) -# define F12 PAL_LINE(GPIOF, 12) -# define F13 PAL_LINE(GPIOF, 13) -# define F14 PAL_LINE(GPIOF, 14) -# define F15 PAL_LINE(GPIOF, 15) -# define G0 PAL_LINE(GPIOG, 0) -# define G1 PAL_LINE(GPIOG, 1) -# define G2 PAL_LINE(GPIOG, 2) -# define G3 PAL_LINE(GPIOG, 3) -# define G4 PAL_LINE(GPIOG, 4) -# define G5 PAL_LINE(GPIOG, 5) -# define G6 PAL_LINE(GPIOG, 6) -# define G7 PAL_LINE(GPIOG, 7) -# define G8 PAL_LINE(GPIOG, 8) -# define G9 PAL_LINE(GPIOG, 9) -# define G10 PAL_LINE(GPIOG, 10) -# define G11 PAL_LINE(GPIOG, 11) -# define G12 PAL_LINE(GPIOG, 12) -# define G13 PAL_LINE(GPIOG, 13) -# define G14 PAL_LINE(GPIOG, 14) -# define G15 PAL_LINE(GPIOG, 15) -# define H0 PAL_LINE(GPIOH, 0) -# define H1 PAL_LINE(GPIOH, 1) -# define H2 PAL_LINE(GPIOH, 2) -# define H3 PAL_LINE(GPIOH, 3) -# define H4 PAL_LINE(GPIOH, 4) -# define H5 PAL_LINE(GPIOH, 5) -# define H6 PAL_LINE(GPIOH, 6) -# define H7 PAL_LINE(GPIOH, 7) -# define H8 PAL_LINE(GPIOH, 8) -# define H9 PAL_LINE(GPIOH, 9) -# define H10 PAL_LINE(GPIOH, 10) -# define H11 PAL_LINE(GPIOH, 11) -# define H12 PAL_LINE(GPIOH, 12) -# define H13 PAL_LINE(GPIOH, 13) -# define H14 PAL_LINE(GPIOH, 14) -# define H15 PAL_LINE(GPIOH, 15) -# define I0 PAL_LINE(GPIOI, 0) -# define I1 PAL_LINE(GPIOI, 1) -# define I2 PAL_LINE(GPIOI, 2) -# define I3 PAL_LINE(GPIOI, 3) -# define I4 PAL_LINE(GPIOI, 4) -# define I5 PAL_LINE(GPIOI, 5) -# define I6 PAL_LINE(GPIOI, 6) -# define I7 PAL_LINE(GPIOI, 7) -# define I8 PAL_LINE(GPIOI, 8) -# define I9 PAL_LINE(GPIOI, 9) -# define I10 PAL_LINE(GPIOI, 10) -# define I11 PAL_LINE(GPIOI, 11) -# define I12 PAL_LINE(GPIOI, 12) -# define I13 PAL_LINE(GPIOI, 13) -# define I14 PAL_LINE(GPIOI, 14) -# define I15 PAL_LINE(GPIOI, 15) -# define J0 PAL_LINE(GPIOJ, 0) -# define J1 PAL_LINE(GPIOJ, 1) -# define J2 PAL_LINE(GPIOJ, 2) -# define J3 PAL_LINE(GPIOJ, 3) -# define J4 PAL_LINE(GPIOJ, 4) -# define J5 PAL_LINE(GPIOJ, 5) -# define J6 PAL_LINE(GPIOJ, 6) -# define J7 PAL_LINE(GPIOJ, 7) -# define J8 PAL_LINE(GPIOJ, 8) -# define J9 PAL_LINE(GPIOJ, 9) -# define J10 PAL_LINE(GPIOJ, 10) -# define J11 PAL_LINE(GPIOJ, 11) -# define J12 PAL_LINE(GPIOJ, 12) -# define J13 PAL_LINE(GPIOJ, 13) -# define J14 PAL_LINE(GPIOJ, 14) -# define J15 PAL_LINE(GPIOJ, 15) +#define A0 PAL_LINE(GPIOA, 0) +#define A1 PAL_LINE(GPIOA, 1) +#define A2 PAL_LINE(GPIOA, 2) +#define A3 PAL_LINE(GPIOA, 3) +#define A4 PAL_LINE(GPIOA, 4) +#define A5 PAL_LINE(GPIOA, 5) +#define A6 PAL_LINE(GPIOA, 6) +#define A7 PAL_LINE(GPIOA, 7) +#define A8 PAL_LINE(GPIOA, 8) +#define A9 PAL_LINE(GPIOA, 9) +#define A10 PAL_LINE(GPIOA, 10) +#define A11 PAL_LINE(GPIOA, 11) +#define A12 PAL_LINE(GPIOA, 12) +#define A13 PAL_LINE(GPIOA, 13) +#define A14 PAL_LINE(GPIOA, 14) +#define A15 PAL_LINE(GPIOA, 15) +#define A16 PAL_LINE(GPIOA, 16) +#define A17 PAL_LINE(GPIOA, 17) +#define A18 PAL_LINE(GPIOA, 18) +#define A19 PAL_LINE(GPIOA, 19) +#define A20 PAL_LINE(GPIOA, 20) +#define A21 PAL_LINE(GPIOA, 21) +#define A22 PAL_LINE(GPIOA, 22) +#define A23 PAL_LINE(GPIOA, 23) +#define A24 PAL_LINE(GPIOA, 24) +#define A25 PAL_LINE(GPIOA, 25) +#define A26 PAL_LINE(GPIOA, 26) +#define A27 PAL_LINE(GPIOA, 27) +#define A28 PAL_LINE(GPIOA, 28) +#define A29 PAL_LINE(GPIOA, 29) +#define A30 PAL_LINE(GPIOA, 30) +#define A31 PAL_LINE(GPIOA, 31) +#define A32 PAL_LINE(GPIOA, 32) +#define B0 PAL_LINE(GPIOB, 0) +#define B1 PAL_LINE(GPIOB, 1) +#define B2 PAL_LINE(GPIOB, 2) +#define B3 PAL_LINE(GPIOB, 3) +#define B4 PAL_LINE(GPIOB, 4) +#define B5 PAL_LINE(GPIOB, 5) +#define B6 PAL_LINE(GPIOB, 6) +#define B7 PAL_LINE(GPIOB, 7) +#define B8 PAL_LINE(GPIOB, 8) +#define B9 PAL_LINE(GPIOB, 9) +#define B10 PAL_LINE(GPIOB, 10) +#define B11 PAL_LINE(GPIOB, 11) +#define B12 PAL_LINE(GPIOB, 12) +#define B13 PAL_LINE(GPIOB, 13) +#define B14 PAL_LINE(GPIOB, 14) +#define B15 PAL_LINE(GPIOB, 15) +#define B16 PAL_LINE(GPIOB, 16) +#define B17 PAL_LINE(GPIOB, 17) +#define B18 PAL_LINE(GPIOB, 18) +#define B19 PAL_LINE(GPIOB, 19) +#define B20 PAL_LINE(GPIOB, 20) +#define B21 PAL_LINE(GPIOB, 21) +#define B22 PAL_LINE(GPIOB, 22) +#define B23 PAL_LINE(GPIOB, 23) +#define B24 PAL_LINE(GPIOB, 24) +#define B25 PAL_LINE(GPIOB, 25) +#define B26 PAL_LINE(GPIOB, 26) +#define B27 PAL_LINE(GPIOB, 27) +#define B28 PAL_LINE(GPIOB, 28) +#define B29 PAL_LINE(GPIOB, 29) +#define B30 PAL_LINE(GPIOB, 30) +#define B31 PAL_LINE(GPIOB, 31) +#define B32 PAL_LINE(GPIOB, 32) +#define C0 PAL_LINE(GPIOC, 0) +#define C1 PAL_LINE(GPIOC, 1) +#define C2 PAL_LINE(GPIOC, 2) +#define C3 PAL_LINE(GPIOC, 3) +#define C4 PAL_LINE(GPIOC, 4) +#define C5 PAL_LINE(GPIOC, 5) +#define C6 PAL_LINE(GPIOC, 6) +#define C7 PAL_LINE(GPIOC, 7) +#define C8 PAL_LINE(GPIOC, 8) +#define C9 PAL_LINE(GPIOC, 9) +#define C10 PAL_LINE(GPIOC, 10) +#define C11 PAL_LINE(GPIOC, 11) +#define C12 PAL_LINE(GPIOC, 12) +#define C13 PAL_LINE(GPIOC, 13) +#define C14 PAL_LINE(GPIOC, 14) +#define C15 PAL_LINE(GPIOC, 15) +#define C16 PAL_LINE(GPIOC, 16) +#define C17 PAL_LINE(GPIOC, 17) +#define C18 PAL_LINE(GPIOC, 18) +#define C19 PAL_LINE(GPIOC, 19) +#define C20 PAL_LINE(GPIOC, 20) +#define C21 PAL_LINE(GPIOC, 21) +#define C22 PAL_LINE(GPIOC, 22) +#define C23 PAL_LINE(GPIOC, 23) +#define C24 PAL_LINE(GPIOC, 24) +#define C25 PAL_LINE(GPIOC, 25) +#define C26 PAL_LINE(GPIOC, 26) +#define C27 PAL_LINE(GPIOC, 27) +#define C28 PAL_LINE(GPIOC, 28) +#define C29 PAL_LINE(GPIOC, 29) +#define C30 PAL_LINE(GPIOC, 30) +#define C31 PAL_LINE(GPIOC, 31) +#define C32 PAL_LINE(GPIOC, 32) +#define D0 PAL_LINE(GPIOD, 0) +#define D1 PAL_LINE(GPIOD, 1) +#define D2 PAL_LINE(GPIOD, 2) +#define D3 PAL_LINE(GPIOD, 3) +#define D4 PAL_LINE(GPIOD, 4) +#define D5 PAL_LINE(GPIOD, 5) +#define D6 PAL_LINE(GPIOD, 6) +#define D7 PAL_LINE(GPIOD, 7) +#define D8 PAL_LINE(GPIOD, 8) +#define D9 PAL_LINE(GPIOD, 9) +#define D10 PAL_LINE(GPIOD, 10) +#define D11 PAL_LINE(GPIOD, 11) +#define D12 PAL_LINE(GPIOD, 12) +#define D13 PAL_LINE(GPIOD, 13) +#define D14 PAL_LINE(GPIOD, 14) +#define D15 PAL_LINE(GPIOD, 15) +#define D16 PAL_LINE(GPIOD, 16) +#define D17 PAL_LINE(GPIOD, 17) +#define D18 PAL_LINE(GPIOD, 18) +#define D19 PAL_LINE(GPIOD, 19) +#define D20 PAL_LINE(GPIOD, 20) +#define D21 PAL_LINE(GPIOD, 21) +#define D22 PAL_LINE(GPIOD, 22) +#define D23 PAL_LINE(GPIOD, 23) +#define D24 PAL_LINE(GPIOD, 24) +#define D25 PAL_LINE(GPIOD, 25) +#define D26 PAL_LINE(GPIOD, 26) +#define D27 PAL_LINE(GPIOD, 27) +#define D28 PAL_LINE(GPIOD, 28) +#define D29 PAL_LINE(GPIOD, 29) +#define D30 PAL_LINE(GPIOD, 30) +#define D31 PAL_LINE(GPIOD, 31) +#define D32 PAL_LINE(GPIOD, 32) +#define E0 PAL_LINE(GPIOE, 0) +#define E1 PAL_LINE(GPIOE, 1) +#define E2 PAL_LINE(GPIOE, 2) +#define E3 PAL_LINE(GPIOE, 3) +#define E4 PAL_LINE(GPIOE, 4) +#define E5 PAL_LINE(GPIOE, 5) +#define E6 PAL_LINE(GPIOE, 6) +#define E7 PAL_LINE(GPIOE, 7) +#define E8 PAL_LINE(GPIOE, 8) +#define E9 PAL_LINE(GPIOE, 9) +#define E10 PAL_LINE(GPIOE, 10) +#define E11 PAL_LINE(GPIOE, 11) +#define E12 PAL_LINE(GPIOE, 12) +#define E13 PAL_LINE(GPIOE, 13) +#define E14 PAL_LINE(GPIOE, 14) +#define E15 PAL_LINE(GPIOE, 15) +#define E16 PAL_LINE(GPIOE, 16) +#define E17 PAL_LINE(GPIOE, 17) +#define E18 PAL_LINE(GPIOE, 18) +#define E19 PAL_LINE(GPIOE, 19) +#define E20 PAL_LINE(GPIOE, 20) +#define E21 PAL_LINE(GPIOE, 21) +#define E22 PAL_LINE(GPIOE, 22) +#define E23 PAL_LINE(GPIOE, 23) +#define E24 PAL_LINE(GPIOE, 24) +#define E25 PAL_LINE(GPIOE, 25) +#define E26 PAL_LINE(GPIOE, 26) +#define E27 PAL_LINE(GPIOE, 27) +#define E28 PAL_LINE(GPIOE, 28) +#define E29 PAL_LINE(GPIOE, 29) +#define E30 PAL_LINE(GPIOE, 30) +#define E31 PAL_LINE(GPIOE, 31) +#define E32 PAL_LINE(GPIOE, 32) +#define F0 PAL_LINE(GPIOF, 0) +#define F1 PAL_LINE(GPIOF, 1) +#define F2 PAL_LINE(GPIOF, 2) +#define F3 PAL_LINE(GPIOF, 3) +#define F4 PAL_LINE(GPIOF, 4) +#define F5 PAL_LINE(GPIOF, 5) +#define F6 PAL_LINE(GPIOF, 6) +#define F7 PAL_LINE(GPIOF, 7) +#define F8 PAL_LINE(GPIOF, 8) +#define F9 PAL_LINE(GPIOF, 9) +#define F10 PAL_LINE(GPIOF, 10) +#define F11 PAL_LINE(GPIOF, 11) +#define F12 PAL_LINE(GPIOF, 12) +#define F13 PAL_LINE(GPIOF, 13) +#define F14 PAL_LINE(GPIOF, 14) +#define F15 PAL_LINE(GPIOF, 15) +#define G0 PAL_LINE(GPIOG, 0) +#define G1 PAL_LINE(GPIOG, 1) +#define G2 PAL_LINE(GPIOG, 2) +#define G3 PAL_LINE(GPIOG, 3) +#define G4 PAL_LINE(GPIOG, 4) +#define G5 PAL_LINE(GPIOG, 5) +#define G6 PAL_LINE(GPIOG, 6) +#define G7 PAL_LINE(GPIOG, 7) +#define G8 PAL_LINE(GPIOG, 8) +#define G9 PAL_LINE(GPIOG, 9) +#define G10 PAL_LINE(GPIOG, 10) +#define G11 PAL_LINE(GPIOG, 11) +#define G12 PAL_LINE(GPIOG, 12) +#define G13 PAL_LINE(GPIOG, 13) +#define G14 PAL_LINE(GPIOG, 14) +#define G15 PAL_LINE(GPIOG, 15) +#define H0 PAL_LINE(GPIOH, 0) +#define H1 PAL_LINE(GPIOH, 1) +#define H2 PAL_LINE(GPIOH, 2) +#define H3 PAL_LINE(GPIOH, 3) +#define H4 PAL_LINE(GPIOH, 4) +#define H5 PAL_LINE(GPIOH, 5) +#define H6 PAL_LINE(GPIOH, 6) +#define H7 PAL_LINE(GPIOH, 7) +#define H8 PAL_LINE(GPIOH, 8) +#define H9 PAL_LINE(GPIOH, 9) +#define H10 PAL_LINE(GPIOH, 10) +#define H11 PAL_LINE(GPIOH, 11) +#define H12 PAL_LINE(GPIOH, 12) +#define H13 PAL_LINE(GPIOH, 13) +#define H14 PAL_LINE(GPIOH, 14) +#define H15 PAL_LINE(GPIOH, 15) +#define I0 PAL_LINE(GPIOI, 0) +#define I1 PAL_LINE(GPIOI, 1) +#define I2 PAL_LINE(GPIOI, 2) +#define I3 PAL_LINE(GPIOI, 3) +#define I4 PAL_LINE(GPIOI, 4) +#define I5 PAL_LINE(GPIOI, 5) +#define I6 PAL_LINE(GPIOI, 6) +#define I7 PAL_LINE(GPIOI, 7) +#define I8 PAL_LINE(GPIOI, 8) +#define I9 PAL_LINE(GPIOI, 9) +#define I10 PAL_LINE(GPIOI, 10) +#define I11 PAL_LINE(GPIOI, 11) +#define I12 PAL_LINE(GPIOI, 12) +#define I13 PAL_LINE(GPIOI, 13) +#define I14 PAL_LINE(GPIOI, 14) +#define I15 PAL_LINE(GPIOI, 15) +#define J0 PAL_LINE(GPIOJ, 0) +#define J1 PAL_LINE(GPIOJ, 1) +#define J2 PAL_LINE(GPIOJ, 2) +#define J3 PAL_LINE(GPIOJ, 3) +#define J4 PAL_LINE(GPIOJ, 4) +#define J5 PAL_LINE(GPIOJ, 5) +#define J6 PAL_LINE(GPIOJ, 6) +#define J7 PAL_LINE(GPIOJ, 7) +#define J8 PAL_LINE(GPIOJ, 8) +#define J9 PAL_LINE(GPIOJ, 9) +#define J10 PAL_LINE(GPIOJ, 10) +#define J11 PAL_LINE(GPIOJ, 11) +#define J12 PAL_LINE(GPIOJ, 12) +#define J13 PAL_LINE(GPIOJ, 13) +#define J14 PAL_LINE(GPIOJ, 14) +#define J15 PAL_LINE(GPIOJ, 15) // Keyboards can `#define KEYBOARD_REQUIRES_GPIOK` if they need to access GPIO-K pins. These conflict with a whole // bunch of layout definitions, so it's intentionally left out unless absolutely required -- in that case, the // keyboard designer should use a different symbol when defining their layout macros. -# ifdef KEYBOARD_REQUIRES_GPIOK -# define K0 PAL_LINE(GPIOK, 0) -# define K1 PAL_LINE(GPIOK, 1) -# define K2 PAL_LINE(GPIOK, 2) -# define K3 PAL_LINE(GPIOK, 3) -# define K4 PAL_LINE(GPIOK, 4) -# define K5 PAL_LINE(GPIOK, 5) -# define K6 PAL_LINE(GPIOK, 6) -# define K7 PAL_LINE(GPIOK, 7) -# define K8 PAL_LINE(GPIOK, 8) -# define K9 PAL_LINE(GPIOK, 9) -# define K10 PAL_LINE(GPIOK, 10) -# define K11 PAL_LINE(GPIOK, 11) -# define K12 PAL_LINE(GPIOK, 12) -# define K13 PAL_LINE(GPIOK, 13) -# define K14 PAL_LINE(GPIOK, 14) -# define K15 PAL_LINE(GPIOK, 15) -# endif +#ifdef KEYBOARD_REQUIRES_GPIOK +# define K0 PAL_LINE(GPIOK, 0) +# define K1 PAL_LINE(GPIOK, 1) +# define K2 PAL_LINE(GPIOK, 2) +# define K3 PAL_LINE(GPIOK, 3) +# define K4 PAL_LINE(GPIOK, 4) +# define K5 PAL_LINE(GPIOK, 5) +# define K6 PAL_LINE(GPIOK, 6) +# define K7 PAL_LINE(GPIOK, 7) +# define K8 PAL_LINE(GPIOK, 8) +# define K9 PAL_LINE(GPIOK, 9) +# define K10 PAL_LINE(GPIOK, 10) +# define K11 PAL_LINE(GPIOK, 11) +# define K12 PAL_LINE(GPIOK, 12) +# define K13 PAL_LINE(GPIOK, 13) +# define K14 PAL_LINE(GPIOK, 14) +# define K15 PAL_LINE(GPIOK, 15) #endif diff --git a/platforms/chibios/converters/promicro_to_proton_c/_pin_defs.h b/platforms/chibios/converters/promicro_to_proton_c/_pin_defs.h new file mode 100644 index 000000000000..ad1a81692e54 --- /dev/null +++ b/platforms/chibios/converters/promicro_to_proton_c/_pin_defs.h @@ -0,0 +1,41 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// Left side (front) +#define D3 PAL_LINE(GPIOA, 9) +#define D2 PAL_LINE(GPIOA, 10) +// GND +// GND +#define D1 PAL_LINE(GPIOB, 7) +#define D0 PAL_LINE(GPIOB, 6) +#define D4 PAL_LINE(GPIOB, 5) +#define C6 PAL_LINE(GPIOB, 4) +#define D7 PAL_LINE(GPIOB, 3) +#define E6 PAL_LINE(GPIOB, 2) +#define B4 PAL_LINE(GPIOB, 1) +#define B5 PAL_LINE(GPIOB, 0) + +// Right side (front) +// RAW +// GND +// RESET +// VCC +#define F4 PAL_LINE(GPIOA, 2) +#define F5 PAL_LINE(GPIOA, 1) +#define F6 PAL_LINE(GPIOA, 0) +#define F7 PAL_LINE(GPIOB, 8) +#define B1 PAL_LINE(GPIOB, 13) +#define B3 PAL_LINE(GPIOB, 14) +#define B2 PAL_LINE(GPIOB, 15) +#define B6 PAL_LINE(GPIOB, 9) + +// LEDs (only D5/C13 uses an actual LED) +#ifdef CONVERT_TO_PROTON_C_RXLED +# define D5 PAL_LINE(GPIOC, 14) +# define B0 PAL_LINE(GPIOC, 13) +#else +# define D5 PAL_LINE(GPIOC, 13) +# define B0 PAL_LINE(GPIOC, 14) +#endif diff --git a/platforms/chibios/boards/QMK_PROTON_C/convert_to_proton_c.mk b/platforms/chibios/converters/promicro_to_proton_c/converter.mk similarity index 78% rename from platforms/chibios/boards/QMK_PROTON_C/convert_to_proton_c.mk rename to platforms/chibios/converters/promicro_to_proton_c/converter.mk index 061815467816..406adae32c3b 100644 --- a/platforms/chibios/boards/QMK_PROTON_C/convert_to_proton_c.mk +++ b/platforms/chibios/converters/promicro_to_proton_c/converter.mk @@ -1,9 +1,7 @@ # Proton C MCU settings for converting AVR projects -TARGET := $(TARGET)_proton_c MCU := STM32F303 BOARD := QMK_PROTON_C BOOTLOADER := stm32-dfu -OPT_DEFS += -DCONVERT_TO_PROTON_C # These are defaults based on what has been implemented for ARM boards AUDIO_ENABLE ?= yes From c0ac3f73724154c02cc5072f7651294d4e9a2366 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 3 Apr 2022 18:45:10 +0100 Subject: [PATCH 0461/1832] Add frameworking for development board presets (#16637) * Add frameworking for development board presets * Update lib/python/qmk/info.py Co-authored-by: Nick Brassel Co-authored-by: Nick Brassel --- data/mappings/defaults.json | 17 +++++++++++++++++ data/schemas/keyboard.jsonschema | 4 ++++ lib/python/qmk/info.py | 13 +++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 data/mappings/defaults.json diff --git a/data/mappings/defaults.json b/data/mappings/defaults.json new file mode 100644 index 000000000000..d3643fede8e8 --- /dev/null +++ b/data/mappings/defaults.json @@ -0,0 +1,17 @@ +{ + "development_board": { + "promicro": { + "processor": "atmega32u4", + "bootloader": "caterina" + }, + "elite_c": { + "processor": "atmega32u4", + "bootloader": "atmel-dfu" + }, + "proton_c": { + "processor": "STM32F303", + "bootloader": "stm32-dfu", + "board": "QMK_PROTON_C" + } + } +} \ No newline at end of file diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index adb63fd13ed3..f4c24c41cd2c 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -12,6 +12,10 @@ "type": "string", "format": "uri" }, + "development_board": { + "type": "string", + "enum": ["promicro", "elite_c", "proton_c"] + }, "processor": { "type": "string", "enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK66FX1M0", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F405", "STM32F407", "STM32F411", "STM32F446", "STM32G431", "STM32G474", "STM32L412", "STM32L422", "STM32L432", "STM32L433", "STM32L442", "STM32L443", "GD32VF103", "WB32F3G71", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"] diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 1d81b3e94b3c..c5a7d3384867 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -69,6 +69,7 @@ def info_json(keyboard): # Merge in the data from info.json, config.h, and rules.mk info_data = merge_info_jsons(keyboard, info_data) + info_data = _process_defaults(info_data) info_data = _extract_rules_mk(info_data, rules_mk(str(keyboard))) info_data = _extract_config_h(info_data, config_h(str(keyboard))) @@ -473,6 +474,18 @@ def _extract_config_h(info_data, config_c): return info_data +def _process_defaults(info_data): + """Process any additional defaults based on currently discovered information + """ + defaults_map = json_load(Path('data/mappings/defaults.json')) + for default_type in defaults_map.keys(): + thing_map = defaults_map[default_type] + if default_type in info_data: + for key, value in thing_map.get(info_data[default_type], {}).items(): + info_data[key] = value + return info_data + + def _extract_rules_mk(info_data, rules): """Pull some keyboard information from existing rules.mk files """ From 0c8109a1acd1cf390c9088256e2b269d6a10d39c Mon Sep 17 00:00:00 2001 From: Gompa Date: Sun, 3 Apr 2022 20:02:28 +0200 Subject: [PATCH 0462/1832] fix typo in ps2 set_defaults (#16767) --- drivers/ps2/ps2_mouse.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/ps2/ps2_mouse.h b/drivers/ps2/ps2_mouse.h index c97c6c893a03..885eeecbd2d5 100644 --- a/drivers/ps2/ps2_mouse.h +++ b/drivers/ps2/ps2_mouse.h @@ -120,7 +120,7 @@ __attribute__((unused)) static enum ps2_mouse_mode_e { enum ps2_mouse_command_e { PS2_MOUSE_RESET = 0xFF, PS2_MOUSE_RESEND = 0xFE, - PS2_MOSUE_SET_DEFAULTS = 0xF6, + PS2_MOUSE_SET_DEFAULTS = 0xF6, PS2_MOUSE_DISABLE_DATA_REPORTING = 0xF5, PS2_MOUSE_ENABLE_DATA_REPORTING = 0xF4, PS2_MOUSE_SET_SAMPLE_RATE = 0xF3, From ec4f6553338919771038114c9d6e15c0be3778ec Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 4 Apr 2022 04:17:38 +1000 Subject: [PATCH 0463/1832] Add warning for CTCP/CONVERT_TO_PROTON_C. (#16782) --- builddefs/converters.mk | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/builddefs/converters.mk b/builddefs/converters.mk index 1b029e72259d..b3e7bec00773 100644 --- a/builddefs/converters.mk +++ b/builddefs/converters.mk @@ -1,8 +1,19 @@ +# Note for new boards -- CTPC and CONVERT_TO_PROTON_C are deprecated terms +# and should not be replicated for new boards. These will be removed from +# documentation as well as existing keymaps in due course. ifeq ($(strip $(CTPC)), yes) CONVERT_TO_PROTON_C=yes endif ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes) CONVERT_TO=proton_c + +cpfirmware: ctpc_warning +.INTERMEDIATE: ctpc_warning +ctpc_warning: elf + $(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@) + $(info The `CONVERT_TO_PROTON_C` and `CTPC` options are soon to be deprecated.) + $(info Boards should be changed to use `CONVERT_TO=proton_c` instead.) + $(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@) endif # TODO: opt in rather than assume everything uses a pro micro From 6822101f9cbdc907d30190753fe336570bab40ba Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 3 Apr 2022 22:01:16 +0100 Subject: [PATCH 0464/1832] Run auto approve only on qmk/qmk_firmware (#16786) --- .github/workflows/auto_approve.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/auto_approve.yml b/.github/workflows/auto_approve.yml index 6b986ffcccf5..dea3f017ddd9 100644 --- a/.github/workflows/auto_approve.yml +++ b/.github/workflows/auto_approve.yml @@ -8,6 +8,8 @@ jobs: automatic_approve: runs-on: ubuntu-latest + if: github.repository == 'qmk/qmk_firmware' + steps: - uses: mheap/automatic-approve-action@v1 with: From d59d60ff69cae8e60ed08c5bc31ee3cd7e0a5d1d Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 4 Apr 2022 11:56:20 -0700 Subject: [PATCH 0465/1832] Hineybush H65 Layout Additions and Configurator Update (#16779) * info.json: apply friendly formatting * h65.h: use QMK 3-character notation * h65.h: add matrix diagram * add LAYOUT_65_ansi_blocker * add LAYOUT_65_ansi_blocker_split_bs * add LAYOUT_65_ansi_blocker_tsangan * add LAYOUT_65_ansi_blocker_tsangan_split_bs * add LAYOUT_65_iso_blocker * add LAYOUT_65_iso_blocker_split_bs * add LAYOUT_65_iso_blocker_tsangan * add LAYOUT_65_iso_blocker_tsangan_split_bs * grid align keycodes in keymaps * rules.mk: align inline comments --- keyboards/hineybush/h65/h65.h | 165 ++++- keyboards/hineybush/h65/info.json | 683 +++++++++++++++++- .../hineybush/h65/keymaps/default/keymap.c | 20 +- keyboards/hineybush/h65/keymaps/via/keymap.c | 44 +- keyboards/hineybush/h65/rules.mk | 8 +- 5 files changed, 865 insertions(+), 55 deletions(-) diff --git a/keyboards/hineybush/h65/h65.h b/keyboards/hineybush/h65/h65.h index 8e82f1620f3c..986c071a45e0 100644 --- a/keyboards/hineybush/h65/h65.h +++ b/keyboards/hineybush/h65/h65.h @@ -18,24 +18,153 @@ #include "quantum.h" -/* This is a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. +#define ___ KC_NO + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │1E │ │0E │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │2E │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ ISO Enter + * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │3E │ │2C │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ + * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │4E │ + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴┬──┴─┬─┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │43 │46 │48 │49 │4A │ │4B │4C │4D │ 2.75u/1.25u/2.25u Split Space + * └────┴────┴────┴──────────┴────┴────────┴────┴────┘ └───┴───┴───┘ + * ┌────┬────┬────┬────────┬────┬──────────┬────┬────┐ + * │40 │41 │42 │43 │46 │48 │49 │4A │ 2.25u/1.25u/2.75u Split Space + * └────┴────┴────┴────────┴────┴──────────┴────┴────┘ + * ┌────┬────┬────┬────────────────────────┬────┬────┐ + * │40 │41 │42 │46 │49 │4A │ Standard + * └────┴────┴────┴────────────────────────┴────┴────┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┐ + * │40 │41 │42 │46 │4A │ Tsangan + * └─────┴───┴─────┴───────────────────────────┴─────┘ */ + #define LAYOUT_all( \ - k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k114, \ - k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k214, \ - k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k314, \ - k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, k414, \ - k400, k401, k402, k403, k406, k408, k409, k410, k411, k412, k413 \ -) { \ - { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014 }, \ - { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114 }, \ - { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214 }, \ - { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, k314 }, \ - { k400, k401, k402, k403, KC_NO,KC_NO,k406,KC_NO, k408, k409, k410, k411, k412, k413, k414 } \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k3E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k43, k46, k48, k49, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, k43, ___, ___, k46, ___, k48, k49, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_ansi_blocker( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k3E, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k49, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, k2E }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_ansi_blocker_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k3E, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k49, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, k2E }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_ansi_blocker_tsangan( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k3E, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, k2E }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_ansi_blocker_tsangan_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k3E, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, k2E }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_iso_blocker( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k3E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k49, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, ___, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_iso_blocker_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k3E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k49, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, ___, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_iso_blocker_tsangan( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k3E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, ___, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_iso_blocker_tsangan_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k3E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, ___, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4A, k4B, k4C, k4D, k4E } \ } diff --git a/keyboards/hineybush/h65/info.json b/keyboards/hineybush/h65/info.json index 770875afaee9..dcca3f486842 100644 --- a/keyboards/hineybush/h65/info.json +++ b/keyboards/hineybush/h65/info.json @@ -4,7 +4,688 @@ "maintainer": "hineybush", "layouts": { "LAYOUT_all": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":12.75, "y":2}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"0", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25}, + {"label":"End", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":2.75}, + {"label":"Space", "x":6.5, "y":4, "w":1.25}, + {"label":"Space", "x":7.75, "y":4, "w":2.25}, + {"label":"GUI", "x":10, "y":4, "w":1.25}, + {"label":"Alt", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2193", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] } } } diff --git a/keyboards/hineybush/h65/keymaps/default/keymap.c b/keyboards/hineybush/h65/keymaps/default/keymap.c index f17f822f699a..fba330a0cbc0 100644 --- a/keyboards/hineybush/h65/keymaps/default/keymap.c +++ b/keyboards/hineybush/h65/keymaps/default/keymap.c @@ -24,18 +24,18 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ [_BASE] = LAYOUT_all( - 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_BSPC, KC_DEL, - 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_HOME, - 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_NUHS, KC_ENT, KC_END, - 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, MO(_FN), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + 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_BSPC, KC_DEL, + 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_HOME, + 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_NUHS, KC_ENT, KC_END, + 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, MO(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_all( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, - 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_PGDN, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + 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_PGDN, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/hineybush/h65/keymaps/via/keymap.c b/keyboards/hineybush/h65/keymaps/via/keymap.c index 436957967572..c0abf9864ae9 100644 --- a/keyboards/hineybush/h65/keymaps/via/keymap.c +++ b/keyboards/hineybush/h65/keymaps/via/keymap.c @@ -26,36 +26,34 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ [_BASE] = LAYOUT_all( - 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_BSPC, KC_DEL, - 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_HOME, - 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_NUHS, KC_ENT, KC_END, - 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, MO(_FN1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + 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_BSPC, KC_DEL, + 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_HOME, + 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_NUHS, KC_ENT, KC_END, + 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, MO(_FN1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN1] = LAYOUT_all( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, - 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_PGDN, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + 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_PGDN, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [_FN2] = LAYOUT_all( - 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, - 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, 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, 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, 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, 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, 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, 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, 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 ), - + [_FN3] = LAYOUT_all( - 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, - 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, 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, 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, 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, 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, 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, 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, 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 ) }; - - diff --git a/keyboards/hineybush/h65/rules.mk b/keyboards/hineybush/h65/rules.mk index 702fe717f294..904686fd9ceb 100644 --- a/keyboards/hineybush/h65/rules.mk +++ b/keyboards/hineybush/h65/rules.mk @@ -7,12 +7,14 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs 65_ansi_blocker_tsangan 65_iso_blocker 65_iso_blocker_split_bs From 6a156cb5cc3bebbca489688a650abf917d04f6f7 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 4 Apr 2022 12:20:10 -0700 Subject: [PATCH 0466/1832] Hineybush H65 Hotswap Layout Additions and Configurator Update (#16780) * info.json: apply friendly formatting * h65_hotswap.h: use QMK 3-character notation * h65_hotswap.h: add matrix diagram * rename LAYOUT to LAYOUT_all * add LAYOUT_65_ansi_blocker * add LAYOUT_65_ansi_blocker_split_bs * add LAYOUT_65_iso_blocker * add LAYOUT_65_iso_blocker_split_bs * grid align keycodes in keymaps * rules.mk: align inline comments --- keyboards/hineybush/h65_hotswap/h65_hotswap.h | 103 ++++- keyboards/hineybush/h65_hotswap/info.json | 388 +++++++++++++++++- .../h65_hotswap/keymaps/default/keymap.c | 24 +- .../h65_hotswap/keymaps/via/keymap.c | 50 ++- keyboards/hineybush/h65_hotswap/rules.mk | 8 +- 5 files changed, 512 insertions(+), 61 deletions(-) diff --git a/keyboards/hineybush/h65_hotswap/h65_hotswap.h b/keyboards/hineybush/h65_hotswap/h65_hotswap.h index a4b41be481d2..d2149e52150d 100644 --- a/keyboards/hineybush/h65_hotswap/h65_hotswap.h +++ b/keyboards/hineybush/h65_hotswap/h65_hotswap.h @@ -18,24 +18,91 @@ #include "quantum.h" -/* This is a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. +#define ___ KC_NO + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │1E │ │0E │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │2E │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ ISO Enter + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │3E │ │2C │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │4E │ + * ├────┬───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │44 │46 │47 │49 │4A │ │4B │4C │4D │ + * └────┴────┴────┴────────┴────┴──────────┴────┴────┘ └───┴───┴───┘ + * ┌────┬────┬────┬────────────────────────┬────┬────┐ + * │40 │41 │42 │46 │49 │4A │ Standard + * └────┴────┴────┴────────────────────────┴────┴────┘ */ -#define LAYOUT( \ - k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k114, \ - k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k214, \ - k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k314, \ - k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, k414, \ - k400, k401, k402, k404, k406, k407, k409, k410, k411, k412, k413 \ + +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k3E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k44, k46, k47, k49, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, k44, ___, k46, k47, ___, k49, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_ansi_blocker( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k3E, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k49, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, k2E }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_ansi_blocker_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k3E, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k49, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, k2E }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_iso_blocker( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k3E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k49, k4A, k4B, k4C, k4D \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, ___, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4A, k4B, k4C, k4D, k4E } \ +} + +#define LAYOUT_65_iso_blocker_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k3E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k4E, \ + k40, k41, k42, k46, k49, k4A, k4B, k4C, k4D \ ) { \ - { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014 }, \ - { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114 }, \ - { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214 }, \ - { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, k314 }, \ - { k400, k401, k402, KC_NO,k404 ,KC_NO,k406, k407, KC_NO, k409, k410, k411, k412, k413, k414 } \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, ___, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4A, k4B, k4C, k4D, k4E } \ } diff --git a/keyboards/hineybush/h65_hotswap/info.json b/keyboards/hineybush/h65_hotswap/info.json index 105358b98d05..46b5192d687c 100644 --- a/keyboards/hineybush/h65_hotswap/info.json +++ b/keyboards/hineybush/h65_hotswap/info.json @@ -2,9 +2,393 @@ "keyboard_name": "h65 hotswap", "url": "", "maintainer": "hineybush", + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":12.75, "y":2}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"0", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25}, + {"label":"End", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":2.75}, + {"label":"Space", "x":6.5, "y":4, "w":1.25}, + {"label":"Space", "x":7.75, "y":4, "w":2.25}, + {"label":"GUI", "x":10, "y":4, "w":1.25}, + {"label":"Alt", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"0", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"End", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"GUI", "x":10, "y":4, "w":1.25}, + {"label":"Alt", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"0", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"End", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"GUI", "x":10, "y":4, "w":1.25}, + {"label":"Alt", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"0", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"End", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"GUI", "x":10, "y":4, "w":1.25}, + {"label":"Alt", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"0", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"End", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"GUI", "x":10, "y":4, "w":1.25}, + {"label":"Alt", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] } } } diff --git a/keyboards/hineybush/h65_hotswap/keymaps/default/keymap.c b/keyboards/hineybush/h65_hotswap/keymaps/default/keymap.c index f8af1d5d1500..fba330a0cbc0 100644 --- a/keyboards/hineybush/h65_hotswap/keymaps/default/keymap.c +++ b/keyboards/hineybush/h65_hotswap/keymaps/default/keymap.c @@ -23,19 +23,19 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [_BASE] = LAYOUT( - 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_BSPC, KC_DEL, - 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_HOME, - 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_NUHS, KC_ENT, KC_END, - 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, MO(_FN), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + [_BASE] = LAYOUT_all( + 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_BSPC, KC_DEL, + 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_HOME, + 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_NUHS, KC_ENT, KC_END, + 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, MO(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), - [_FN] = LAYOUT( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, - 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_PGDN, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + [_FN] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + 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_PGDN, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/hineybush/h65_hotswap/keymaps/via/keymap.c b/keyboards/hineybush/h65_hotswap/keymaps/via/keymap.c index bdd64589025f..c0abf9864ae9 100644 --- a/keyboards/hineybush/h65_hotswap/keymaps/via/keymap.c +++ b/keyboards/hineybush/h65_hotswap/keymaps/via/keymap.c @@ -25,37 +25,35 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [_BASE] = LAYOUT( - 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_BSPC, KC_DEL, - 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_HOME, - 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_NUHS, KC_ENT, KC_END, - 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, MO(_FN1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + [_BASE] = LAYOUT_all( + 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_BSPC, KC_DEL, + 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_HOME, + 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_NUHS, KC_ENT, KC_END, + 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, MO(_FN1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), - [_FN1] = LAYOUT( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, - 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_PGDN, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + [_FN1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + 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_PGDN, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_FN2] = LAYOUT( - 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, - 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + [_FN2] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_FN3] = LAYOUT( - 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, - 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + [_FN3] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; - - diff --git a/keyboards/hineybush/h65_hotswap/rules.mk b/keyboards/hineybush/h65_hotswap/rules.mk index 702fe717f294..f4afd28025b4 100644 --- a/keyboards/hineybush/h65_hotswap/rules.mk +++ b/keyboards/hineybush/h65_hotswap/rules.mk @@ -7,12 +7,14 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs 65_iso_blocker 65_iso_blocker_split_bs From 8b438a9165ace0492d6e249f8064f07531ac6d15 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 4 Apr 2022 12:27:01 -0700 Subject: [PATCH 0467/1832] Wavtype Foundation Layout Macro Refactor and Configurator Update (#16781) * info.json: apply friendly formatting * info.json: update layout data - update labels to make them QMK CLI friendly - update key sizes and dimensions (removes key overlaps and mis-locations) * foundation.h: edit white space - convert tabs to spaces - edit alignment of arrays * foundation.h: add matrix diagram * rename LAYOUT to LAYOUT_ansi_split_bs * rename LAYOUT_tkl_ansi_7u to LAYOUT_ansi_tsangan_split_bs * rename LAYOUT_tkl_iso to LAYOUT_iso_split_bs_rshift * rename LAYOUT_tkl_iso_7u to LAYOUT_iso_tsangan_split_bs_rshift * refactor keymaps - use definitions from `layer_names` enum - use grid alignment - use QMK-native keycode aliases * add reference keymaps Add `default_ansi_tsangan_split_bs`, `default_iso_split_bs_rshift`, and `default_iso_tsangan_split_bs_rshift` keymaps. * refactor ISO layouts Edits the ISO layout macros so that the keycode for Enter is to the end of the home row. * info.json: fix LAYOUT_iso_tsangan_split_bs_rshift reference Thanks to zvecr. --- keyboards/wavtype/foundation/foundation.h | 93 +++-- keyboards/wavtype/foundation/info.json | 358 +++++++++++++++++- .../foundation/keymaps/default/keymap.c | 24 +- .../default_ansi_tsangan_split_bs/keymap.c | 28 ++ .../default_iso_split_bs_rshift/keymap.c | 28 ++ .../keymap.c | 28 ++ .../wavtype/foundation/keymaps/via/keymap.c | 48 +-- 7 files changed, 518 insertions(+), 89 deletions(-) create mode 100644 keyboards/wavtype/foundation/keymaps/default_ansi_tsangan_split_bs/keymap.c create mode 100644 keyboards/wavtype/foundation/keymaps/default_iso_split_bs_rshift/keymap.c create mode 100644 keyboards/wavtype/foundation/keymaps/default_iso_tsangan_split_bs_rshift/keymap.c diff --git a/keyboards/wavtype/foundation/foundation.h b/keyboards/wavtype/foundation/foundation.h index a01800f1435e..aad9f50d5bae 100644 --- a/keyboards/wavtype/foundation/foundation.h +++ b/keyboards/wavtype/foundation/foundation.h @@ -7,70 +7,79 @@ #include "quantum.h" -/* This is a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. +/* + * ┌───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───────┐ + * │00 │ │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │2e │ │0f │0g │0h │ │0e │ 2u Backspace + * ├───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ └─┬─────┤ + * │10 │ │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │ │1f │1g │1h │ │ │ + * 2.25u ├───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┐1e │ ISO Enter + * LShift │20 │ │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │ │2d │ │ + * ┌────────┐ ├───┤ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ ┌─┴───┴────┤ + * │31 │ │30 │ │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │3e │ │3g │ │3d │ 2.75u RShift + * └────────┘ ├───┤ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐ └──────────┘ + * │40 │ │41 │42 │43 │47 │4b │4c │4d │4e │ │4f │4g │4h │ + * └───┘ └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ + * │41 │42 │43 │47 │4c │4d │4e │ Tsangan/WKL + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ */ -#define LAYOUT( \ + +#define LAYOUT_ansi_split_bs( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k2e, k0f, k0g, k0h, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ - k30, k31, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3g, \ - k40, k41, k42, k43, k47, k4b, k4c, k4d, k4e, k4f, k4g, k4h \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3g, \ + k40, k41, k42, k43, k47, k4b, k4c, k4d, k4e, k4f, k4g, k4h \ ) \ { \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, k0h }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h}, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, _x_, _x_, _x_}, \ - { k30, k31, _x_, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, _x_, _x_, k3g, _x_}, \ - { k40, k41, k42, k43, _x_, _x_, _x_, k47, _x_, _x_, _x_, k4b, k4c, k4d, k4e, k4f, k4g, k4h} \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, _x_, _x_, _x_ }, \ + { k30, k31, _x_, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, _x_, _x_, k3g, _x_ }, \ + { k40, k41, k42, k43, _x_, _x_, _x_, k47, _x_, _x_, _x_, k4b, k4c, k4d, k4e, k4f, k4g, k4h } \ } -#define LAYOUT_tkl_ansi_7u( \ +#define LAYOUT_ansi_tsangan_split_bs( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k2e, k0f, k0g, k0h, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ - k30, k31, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3g, \ - k40, k41, k42, k43, k47, k4c, k4d, k4e, k4f, k4g, k4h \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3g, \ + k40, k41, k42, k43, k47, k4c, k4d, k4e, k4f, k4g, k4h \ ) \ { \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, k0h }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h}, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, _x_, _x_, _x_}, \ - { k30, k31, _x_, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, _x_, _x_, k3g, _x_}, \ - { k40, k41, k42, k43, _x_, _x_, _x_, k47, _x_, _x_, _x_, _x_, k4c, k4d, k4e, k4f, k4g, k4h} \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, _x_, _x_, _x_ }, \ + { k30, k31, _x_, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, _x_, _x_, k3g, _x_ }, \ + { k40, k41, k42, k43, _x_, _x_, _x_, k47, _x_, _x_, _x_, _x_, k4c, k4d, k4e, k4f, k4g, k4h } \ } -#define LAYOUT_tkl_iso( \ +#define LAYOUT_iso_split_bs_rshift( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k2e, k0f, k0g, k0h, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3g, \ - k40, k41, k42, k43, k47, k4b, k4c, k4d, k4e, k4f, k4g, k4h \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1f, k1g, k1h, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k1e, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3g, \ + k40, k41, k42, k43, k47, k4b, k4c, k4d, k4e, k4f, k4g, k4h \ ) \ { \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, k0h }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h}, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, _x_, _x_, _x_}, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, _x_, k3g, _x_}, \ - { k40, k41, k42, k43, _x_, _x_, _x_, k47, _x_, _x_, _x_, k4b, k4c, k4d, k4e, k4f, k4g, k4h} \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, _x_, _x_, _x_ }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, _x_, k3g, _x_ }, \ + { k40, k41, k42, k43, _x_, _x_, _x_, k47, _x_, _x_, _x_, k4b, k4c, k4d, k4e, k4f, k4g, k4h } \ } -#define LAYOUT_tkl_iso_7u( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k2e, k0f, k0g, k0h, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3g, \ - k40, k41, k42, k43, k47, k4c, k4d, k4e, k4f, k4g, k4h \ +#define LAYOUT_iso_tsangan_split_bs_rshift( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k2e, k0f, k0g, k0h, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1f, k1g, k1h, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k1e, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3g, \ + k40, k41, k42, k43, k47, k4c, k4d, k4e, k4f, k4g, k4h \ ) \ { \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, k0h }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h}, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, _x_, _x_, _x_}, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, _x_, k3g, _x_}, \ - { k40, k41, k42, k43, _x_, _x_, _x_, k47, _x_, _x_, _x_, _x_, k4c, k4d, k4e, k4f, k4g, k4h} \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, k1h }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, _x_, _x_, _x_ }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, _x_, k3g, _x_ }, \ + { k40, k41, k42, k43, _x_, _x_, _x_, k47, _x_, _x_, _x_, _x_, k4c, k4d, k4e, k4f, k4g, k4h } \ } diff --git a/keyboards/wavtype/foundation/info.json b/keyboards/wavtype/foundation/info.json index 317c5f5d14e6..23ae9a89c0d8 100644 --- a/keyboards/wavtype/foundation/info.json +++ b/keyboards/wavtype/foundation/info.json @@ -2,18 +2,354 @@ "keyboard_name": "foundation", "url": "", "maintainer": "wavtype", + "layout_aliases": { + "LAYOUT": "LAYOUT_ansi_split_bs", + "LAYOUT_tkl_ansi_7u": "LAYOUT_ansi_tsangan_split_bs", + "LAYOUT_tkl_iso": "LAYOUT_iso_split_bs_rshift", + "LAYOUT_tkl_iso_7u": "LAYOUT_iso_tsangan_split_bs_rshift" + }, "layouts": { - "LAYOUT": { - "layout": [{"label":"F1", "x":0, "y":0}, {"label":"esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"-", "x":12.5, "y":0}, {"label":"=", "x":13.5, "y":0}, {"label":"BckSpc", "x":14.5, "y":0, "w":2}, {"label":"split", "x":15.5, "y":0}, {"label":"ins", "x":17, "y":0}, {"label":"home", "x":18, "y":0}, {"label":"pg up", "x":19, "y":0}, {"label":"F2", "x":0, "y":1}, {"label":"tab", "x":1.5, "y":1, "w":1.5}, {"label":"q", "x":3, "y":1}, {"label":"w", "x":4, "y":1}, {"label":"e", "x":5, "y":1}, {"label":"r", "x":6, "y":1}, {"label":"t", "x":7, "y":1}, {"label":"y", "x":8, "y":1}, {"label":"u", "x":9, "y":1}, {"label":"i", "x":10, "y":1}, {"label":"o", "x":11, "y":1}, {"label":"p", "x":12, "y":1}, {"label":"[", "x":13, "y":1}, {"label":"]", "x":14, "y":1}, {"label":"\\", "x":15, "y":1, "w":1.5}, {"label":"del", "x":17, "y":1}, {"label":"end", "x":18, "y":1}, {"label":"pg dn", "x":19, "y":1}, {"label":"F3", "x":0, "y":2}, {"label":"caps", "x":1.5, "y":2, "w":1.25}, {"label":"a", "x":3.25, "y":2}, {"label":"s", "x":4.25, "y":2}, {"label":"d", "x":5.25, "y":2}, {"label":"f", "x":6.25, "y":2}, {"label":"g", "x":7.25, "y":2}, {"label":"h", "x":8.25, "y":2}, {"label":"j", "x":9.25, "y":2}, {"label":"k", "x":10.25, "y":2}, {"label":"l", "x":11.25, "y":2}, {"label":";", "x":12.25, "y":2}, {"label":"'", "x":13.25, "y":2}, {"label":"enter", "x":14.25, "y":2, "w":2.25}, {"label":"F4", "x":0, "y":3}, {"label":"lshft", "x":1.5, "y":3, "w":2.25}, {"label":"z", "x":3.75, "y":3}, {"label":"x", "x":4.75, "y":3}, {"label":"c", "x":5.75, "y":3}, {"label":"v", "x":6.75, "y":3}, {"label":"b", "x":7.75, "y":3}, {"label":"n", "x":8.75, "y":3}, {"label":"m", "x":9.75, "y":3}, {"label":",", "x":10.75, "y":3}, {"label":".", "x":11.75, "y":3}, {"label":"/", "x":12.75, "y":3}, {"label":"rshft", "x":13.75, "y":3, "w":2.75}, {"label":"up", "x":18, "y":3}, {"label":"F5", "x":0, "y":4}, {"label":"lctrl", "x":1.5, "y":4, "w":1.25}, {"label":"lwin", "x":2.75, "y":4, "w":1.25}, {"label":"lalt", "x":4, "y":4, "w":1.25}, {"label":"spce", "x":5.25, "y":4, "w":6.25}, {"label":"ralt", "x":11.5, "y":4, "w":1.25}, {"label":"fn", "x":12.75, "y":4, "w":1.25}, {"label":"rwin", "x":14, "y":4}, {"label":"rctrl", "x":15, "y":4, "w":1.5}, {"label":"left", "x":17, "y":4}, {"label":"down", "x":18, "y":4}, {"label":"right", "x":19, "y":4}] + "LAYOUT_ansi_split_bs": { + "layout": [ + {"label":"F1", "x":0, "y":0}, + {"label":"Esc", "x":1.5, "y":0}, + {"label":"1!", "x":2.5, "y":0}, + {"label":"2@", "x":3.5, "y":0}, + {"label":"3#", "x":4.5, "y":0}, + {"label":"4$", "x":5.5, "y":0}, + {"label":"5%", "x":6.5, "y":0}, + {"label":"6^", "x":7.5, "y":0}, + {"label":"7&", "x":8.5, "y":0}, + {"label":"8*", "x":9.5, "y":0}, + {"label":"9(", "x":10.5, "y":0}, + {"label":"0)", "x":11.5, "y":0}, + {"label":"-_", "x":12.5, "y":0}, + {"label":"=+", "x":13.5, "y":0}, + {"label":"Backspace", "x":14.5, "y":0}, + {"label":"Split Backspace", "x":15.5, "y":0}, + {"label":"Insert", "x":17, "y":0}, + {"label":"Home", "x":18, "y":0}, + {"label":"Page Up", "x":19, "y":0}, + + {"label":"F2", "x":0, "y":1}, + {"label":"Tab", "x":1.5, "y":1, "w":1.5}, + {"label":"Q", "x":3, "y":1}, + {"label":"W", "x":4, "y":1}, + {"label":"E", "x":5, "y":1}, + {"label":"R", "x":6, "y":1}, + {"label":"T", "x":7, "y":1}, + {"label":"Y", "x":8, "y":1}, + {"label":"U", "x":9, "y":1}, + {"label":"I", "x":10, "y":1}, + {"label":"O", "x":11, "y":1}, + {"label":"P", "x":12, "y":1}, + {"label":"[{", "x":13, "y":1}, + {"label":"]}", "x":14, "y":1}, + {"label":"\\|", "x":15, "y":1, "w":1.5}, + {"label":"Delete", "x":17, "y":1}, + {"label":"End", "x":18, "y":1}, + {"label":"Page Down", "x":19, "y":1}, + + {"label":"F3", "x":0, "y":2}, + {"label":"Caps Lock", "x":1.5, "y":2, "w":1.25}, + {"label":"A", "x":3.25, "y":2}, + {"label":"S", "x":4.25, "y":2}, + {"label":"D", "x":5.25, "y":2}, + {"label":"F", "x":6.25, "y":2}, + {"label":"G", "x":7.25, "y":2}, + {"label":"H", "x":8.25, "y":2}, + {"label":"J", "x":9.25, "y":2}, + {"label":"K", "x":10.25, "y":2}, + {"label":"L", "x":11.25, "y":2}, + {"label":";:", "x":12.25, "y":2}, + {"label":"'\"", "x":13.25, "y":2}, + {"label":"Enter", "x":14.25, "y":2, "w":2.25}, + + {"label":"F4", "x":0, "y":3}, + {"label":"Shift", "x":1.5, "y":3, "w":2.25}, + {"label":"Z", "x":3.75, "y":3}, + {"label":"X", "x":4.75, "y":3}, + {"label":"C", "x":5.75, "y":3}, + {"label":"V", "x":6.75, "y":3}, + {"label":"B", "x":7.75, "y":3}, + {"label":"N", "x":8.75, "y":3}, + {"label":"M", "x":9.75, "y":3}, + {"label":",<", "x":10.75, "y":3}, + {"label":".>", "x":11.75, "y":3}, + {"label":"/?", "x":12.75, "y":3}, + {"label":"Shift", "x":13.75, "y":3, "w":2.75}, + {"label":"\u2191", "x":18, "y":3}, + + {"label":"F5", "x":0, "y":4}, + {"label":"Ctrl", "x":1.5, "y":4, "w":1.25}, + {"label":"Win", "x":2.75, "y":4, "w":1.25}, + {"label":"Alt", "x":4, "y":4, "w":1.25}, + {"label":"Space", "x":5.25, "y":4, "w":6.25}, + {"label":"Alt", "x":11.5, "y":4, "w":1.25}, + {"label":"Win", "x":12.75, "y":4, "w":1.25}, + {"label":"Fn", "x":14, "y":4, "w":1.25}, + {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":17, "y":4}, + {"label":"\u2193", "x":18, "y":4}, + {"label":"\u2192", "x":19, "y":4} + ] }, - "LAYOUT_tkl_ansi_7u": { - "layout": [{"label":"F1", "x":0, "y":0}, {"label":"esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"-", "x":12.5, "y":0}, {"label":"=", "x":13.5, "y":0}, {"label":"BckSpc", "x":14.5, "y":0, "w":2}, {"label":"split", "x":15.5, "y":0}, {"label":"ins", "x":17, "y":0}, {"label":"home", "x":18, "y":0}, {"label":"pg up", "x":19, "y":0}, {"label":"F2", "x":0, "y":1}, {"label":"tab", "x":1.5, "y":1, "w":1.5}, {"label":"q", "x":3, "y":1}, {"label":"w", "x":4, "y":1}, {"label":"e", "x":5, "y":1}, {"label":"r", "x":6, "y":1}, {"label":"t", "x":7, "y":1}, {"label":"y", "x":8, "y":1}, {"label":"u", "x":9, "y":1}, {"label":"i", "x":10, "y":1}, {"label":"o", "x":11, "y":1}, {"label":"p", "x":12, "y":1}, {"label":"[", "x":13, "y":1}, {"label":"]", "x":14, "y":1}, {"label":"\\", "x":15, "y":1, "w":1.5}, {"label":"del", "x":17, "y":1}, {"label":"end", "x":18, "y":1}, {"label":"pg dn", "x":19, "y":1}, {"label":"F3", "x":0, "y":2}, {"label":"caps", "x":1.5, "y":2, "w":1.25}, {"label":"a", "x":3.25, "y":2}, {"label":"s", "x":4.25, "y":2}, {"label":"d", "x":5.25, "y":2}, {"label":"f", "x":6.25, "y":2}, {"label":"g", "x":7.25, "y":2}, {"label":"h", "x":8.25, "y":2}, {"label":"j", "x":9.25, "y":2}, {"label":"k", "x":10.25, "y":2}, {"label":"l", "x":11.25, "y":2}, {"label":";", "x":12.25, "y":2}, {"label":"'", "x":13.25, "y":2}, {"label":"enter", "x":14.25, "y":2, "w":2.25}, {"label":"F4", "x":0, "y":3}, {"label":"lshft", "x":1.5, "y":3, "w":2.25}, {"label":"z", "x":3.75, "y":3}, {"label":"x", "x":4.75, "y":3}, {"label":"c", "x":5.75, "y":3}, {"label":"v", "x":6.75, "y":3}, {"label":"b", "x":7.75, "y":3}, {"label":"n", "x":8.75, "y":3}, {"label":"m", "x":9.75, "y":3}, {"label":",", "x":10.75, "y":3}, {"label":".", "x":11.75, "y":3}, {"label":"/", "x":12.75, "y":3}, {"label":"rshft", "x":13.75, "y":3, "w":2.75}, {"label":"up", "x":18, "y":3}, {"label":"F5", "x":0, "y":4}, {"label":"lctrl", "x":1.5, "y":4, "w":1.5}, {"label":"lwin", "x":3, "y":4}, {"label":"lalt", "x":4, "y":4, "w":1.5}, {"label":"spce", "x":5.5, "y":4, "w":7}, {"label":"ralt", "x":12.5, "y":4, "w":1.5}, {"label":"fn", "x":14, "y":4, "w":1.25}, {"label":"rctrl", "x":15.25, "y":4, "w":1.25}, {"label":"left", "x":17, "y":4}, {"label":"down", "x":18, "y":4}, {"label":"right", "x":19, "y":4}] - }, - "LAYOUT_tkl_iso": { - "layout": [{"label":"F1", "x":0, "y":0}, {"label":"esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"-", "x":12.5, "y":0}, {"label":"=", "x":13.5, "y":0}, {"label":"BckSpc", "x":14.5, "y":0, "w":2}, {"label":"split", "x":15.5, "y":0}, {"label":"ins", "x":17, "y":0}, {"label":"home", "x":18, "y":0}, {"label":"pg up", "x":19, "y":0}, {"label":"F2", "x":0, "y":1}, {"label":"tab", "x":1.5, "y":1, "w":1.5}, {"label":"q", "x":3, "y":1}, {"label":"w", "x":4, "y":1}, {"label":"e", "x":5, "y":1}, {"label":"r", "x":6, "y":1}, {"label":"t", "x":7, "y":1}, {"label":"y", "x":8, "y":1}, {"label":"u", "x":9, "y":1}, {"label":"i", "x":10, "y":1}, {"label":"o", "x":11, "y":1}, {"label":"p", "x":12, "y":1}, {"label":"[", "x":13, "y":1}, {"label":"]", "x":14, "y":1}, {"label":"iso", "x":15.25, "y":1, "w":1.25, "h":2}, {"label":"del", "x":17, "y":1}, {"label":"end", "x":18, "y":1}, {"label":"pg dn", "x":19, "y":1}, {"label":"F3", "x":0, "y":2}, {"label":"caps", "x":1.5, "y":2, "w":1.25}, {"label":"a", "x":3.25, "y":2}, {"label":"s", "x":4.25, "y":2}, {"label":"d", "x":5.25, "y":2}, {"label":"f", "x":6.25, "y":2}, {"label":"g", "x":7.25, "y":2}, {"label":"h", "x":8.25, "y":2}, {"label":"j", "x":9.25, "y":2}, {"label":"k", "x":10.25, "y":2}, {"label":"l", "x":11.25, "y":2}, {"label":";", "x":12.25, "y":2}, {"label":"'", "x":13.25, "y":2}, {"label":"\\", "x":14.25, "y":2}, {"label":"F4", "x":0, "y":3}, {"label":"ls1", "x":1.5, "y":3, "w":1.25}, {"label":"ls2", "x":2.75, "y":3}, {"label":"z", "x":3.75, "y":3}, {"label":"x", "x":4.75, "y":3}, {"label":"c", "x":5.75, "y":3}, {"label":"v", "x":6.75, "y":3}, {"label":"b", "x":7.75, "y":3}, {"label":"n", "x":8.75, "y":3}, {"label":"m", "x":9.75, "y":3}, {"label":",", "x":10.75, "y":3}, {"label":".", "x":11.75, "y":3}, {"label":"/", "x":12.75, "y":3}, {"label":"rs1", "x":13.75, "y":3, "w":1.75}, {"label":"rs2", "x":15.5, "y":3}, {"label":"up", "x":18, "y":3}, {"label":"F5", "x":0, "y":4}, {"label":"lctrl", "x":1.5, "y":4, "w":1.25}, {"label":"lwin", "x":2.75, "y":4, "w":1.25}, {"label":"lalt", "x":4, "y":4, "w":1.25}, {"label":"spce", "x":5.25, "y":4, "w":6.25}, {"label":"ralt", "x":11.5, "y":4, "w":1.25}, {"label":"fn", "x":12.75, "y":4, "w":1.25}, {"label":"rwin", "x":14, "y":4}, {"label":"rctrl", "x":15, "y":4, "w":1.5}, {"label":"left", "x":17, "y":4}, {"label":"down", "x":18, "y":4}, {"label":"right", "x":19, "y":4}] - }, - "LAYOUT_tkl_iso_7u": { - "layout": [{"label":"F1", "x":0, "y":0}, {"label":"esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"-", "x":12.5, "y":0}, {"label":"=", "x":13.5, "y":0}, {"label":"BckSpc", "x":14.5, "y":0, "w":2}, {"label":"split", "x":15.5, "y":0}, {"label":"ins", "x":17, "y":0}, {"label":"home", "x":18, "y":0}, {"label":"pg up", "x":19, "y":0}, {"label":"F2", "x":0, "y":1}, {"label":"tab", "x":1.5, "y":1, "w":1.5}, {"label":"q", "x":3, "y":1}, {"label":"w", "x":4, "y":1}, {"label":"e", "x":5, "y":1}, {"label":"r", "x":6, "y":1}, {"label":"t", "x":7, "y":1}, {"label":"y", "x":8, "y":1}, {"label":"u", "x":9, "y":1}, {"label":"i", "x":10, "y":1}, {"label":"o", "x":11, "y":1}, {"label":"p", "x":12, "y":1}, {"label":"[", "x":13, "y":1}, {"label":"]", "x":14, "y":1}, {"label":"iso", "x":15.25, "y":1, "w":1.25, "h":2}, {"label":"del", "x":17, "y":1}, {"label":"end", "x":18, "y":1}, {"label":"pg dn", "x":19, "y":1}, {"label":"F3", "x":0, "y":2}, {"label":"caps", "x":1.5, "y":2, "w":1.25}, {"label":"a", "x":3.25, "y":2}, {"label":"s", "x":4.25, "y":2}, {"label":"d", "x":5.25, "y":2}, {"label":"f", "x":6.25, "y":2}, {"label":"g", "x":7.25, "y":2}, {"label":"h", "x":8.25, "y":2}, {"label":"j", "x":9.25, "y":2}, {"label":"k", "x":10.25, "y":2}, {"label":"l", "x":11.25, "y":2}, {"label":";", "x":12.25, "y":2}, {"label":"'", "x":13.25, "y":2}, {"label":"13,2", "x":14.25, "y":2}, {"label":"F4", "x":0, "y":3}, {"label":"ls1", "x":1.5, "y":3, "w":1.25}, {"label":"ls2", "x":2.75, "y":3}, {"label":"z", "x":3.75, "y":3}, {"label":"x", "x":4.75, "y":3}, {"label":"c", "x":5.75, "y":3}, {"label":"v", "x":6.75, "y":3}, {"label":"b", "x":7.75, "y":3}, {"label":"n", "x":8.75, "y":3}, {"label":"m", "x":9.75, "y":3}, {"label":",", "x":10.75, "y":3}, {"label":".", "x":11.75, "y":3}, {"label":"/", "x":12.75, "y":3}, {"label":"rs1", "x":13.75, "y":3, "w":1.75}, {"label":"rs2", "x":15.5, "y":3}, {"label":"up", "x":18, "y":3}, {"label":"F5", "x":0, "y":4}, {"label":"lctrl", "x":1.5, "y":4, "w":1.5}, {"label":"lwin", "x":3, "y":4}, {"label":"lalt", "x":4, "y":4, "w":1.5}, {"label":"spce", "x":5.5, "y":4, "w":7}, {"label":"ralt", "x":12.5, "y":4, "w":1.5}, {"label":"fn", "x":14, "y":4, "w":1.25}, {"label":"rctrl", "x":15.25, "y":4, "w":1.25}, {"label":"left", "x":17, "y":4}, {"label":"down", "x":18, "y":4}, {"label":"right", "x":19, "y":4}] - } + "LAYOUT_ansi_tsangan_split_bs": { + "layout": [ + {"label":"F1", "x":0, "y":0}, + {"label":"Esc", "x":1.5, "y":0}, + {"label":"1!", "x":2.5, "y":0}, + {"label":"2@", "x":3.5, "y":0}, + {"label":"3#", "x":4.5, "y":0}, + {"label":"4$", "x":5.5, "y":0}, + {"label":"5%", "x":6.5, "y":0}, + {"label":"6^", "x":7.5, "y":0}, + {"label":"7&", "x":8.5, "y":0}, + {"label":"8*", "x":9.5, "y":0}, + {"label":"9(", "x":10.5, "y":0}, + {"label":"0)", "x":11.5, "y":0}, + {"label":"-_", "x":12.5, "y":0}, + {"label":"=+", "x":13.5, "y":0}, + {"label":"Backspace", "x":14.5, "y":0}, + {"label":"Split Backspace", "x":15.5, "y":0}, + {"label":"Insert", "x":17, "y":0}, + {"label":"Home", "x":18, "y":0}, + {"label":"Page Up", "x":19, "y":0}, + + {"label":"F2", "x":0, "y":1}, + {"label":"Tab", "x":1.5, "y":1, "w":1.5}, + {"label":"Q", "x":3, "y":1}, + {"label":"W", "x":4, "y":1}, + {"label":"E", "x":5, "y":1}, + {"label":"R", "x":6, "y":1}, + {"label":"T", "x":7, "y":1}, + {"label":"Y", "x":8, "y":1}, + {"label":"U", "x":9, "y":1}, + {"label":"I", "x":10, "y":1}, + {"label":"O", "x":11, "y":1}, + {"label":"P", "x":12, "y":1}, + {"label":"[{", "x":13, "y":1}, + {"label":"]}", "x":14, "y":1}, + {"label":"\\|", "x":15, "y":1, "w":1.5}, + {"label":"Delete", "x":17, "y":1}, + {"label":"End", "x":18, "y":1}, + {"label":"Page Down", "x":19, "y":1}, + + {"label":"F3", "x":0, "y":2}, + {"label":"Caps Lock", "x":1.5, "y":2, "w":1.25}, + {"label":"A", "x":3.25, "y":2}, + {"label":"S", "x":4.25, "y":2}, + {"label":"D", "x":5.25, "y":2}, + {"label":"F", "x":6.25, "y":2}, + {"label":"G", "x":7.25, "y":2}, + {"label":"H", "x":8.25, "y":2}, + {"label":"J", "x":9.25, "y":2}, + {"label":"K", "x":10.25, "y":2}, + {"label":"L", "x":11.25, "y":2}, + {"label":";:", "x":12.25, "y":2}, + {"label":"'\"", "x":13.25, "y":2}, + {"label":"Enter", "x":14.25, "y":2, "w":2.25}, + + {"label":"F4", "x":0, "y":3}, + {"label":"Shift", "x":1.5, "y":3, "w":2.25}, + {"label":"Z", "x":3.75, "y":3}, + {"label":"X", "x":4.75, "y":3}, + {"label":"C", "x":5.75, "y":3}, + {"label":"V", "x":6.75, "y":3}, + {"label":"B", "x":7.75, "y":3}, + {"label":"N", "x":8.75, "y":3}, + {"label":"M", "x":9.75, "y":3}, + {"label":",<", "x":10.75, "y":3}, + {"label":".>", "x":11.75, "y":3}, + {"label":"/?", "x":12.75, "y":3}, + {"label":"Shift", "x":13.75, "y":3, "w":2.75}, + {"label":"\u2191", "x":18, "y":3}, + + {"label":"F5", "x":0, "y":4}, + {"label":"Ctrl", "x":1.5, "y":4, "w":1.5}, + {"label":"Win", "x":3, "y":4}, + {"label":"Alt", "x":4, "y":4, "w":1.5}, + {"label":"Space", "x":5.5, "y":4, "w":7}, + {"label":"Alt", "x":12.5, "y":4, "w":1.5}, + {"label":"Fn", "x":14, "y":4}, + {"label":"Ctrl", "x":15, "y":4, "w":1.5}, + {"label":"\u2190", "x":17, "y":4}, + {"label":"\u2193", "x":18, "y":4}, + {"label":"\u2192", "x":19, "y":4} + ] + }, + "LAYOUT_iso_split_bs_rshift": { + "layout": [ + {"label":"F1", "x":0, "y":0}, + {"label":"Esc", "x":1.5, "y":0}, + {"label":"1!", "x":2.5, "y":0}, + {"label":"2\"", "x":3.5, "y":0}, + {"label":"3#", "x":4.5, "y":0}, + {"label":"4\u00a3", "x":5.5, "y":0}, + {"label":"5%", "x":6.5, "y":0}, + {"label":"6^", "x":7.5, "y":0}, + {"label":"7&", "x":8.5, "y":0}, + {"label":"8*", "x":9.5, "y":0}, + {"label":"9(", "x":10.5, "y":0}, + {"label":"0)", "x":11.5, "y":0}, + {"label":"-_", "x":12.5, "y":0}, + {"label":"=+", "x":13.5, "y":0}, + {"label":"Backspace", "x":14.5, "y":0}, + {"label":"Split Backspace", "x":15.5, "y":0}, + {"label":"Insert", "x":17, "y":0}, + {"label":"Home", "x":18, "y":0}, + {"label":"Page Up", "x":19, "y":0}, + + {"label":"F2", "x":0, "y":1}, + {"label":"Tab", "x":1.5, "y":1, "w":1.5}, + {"label":"Q", "x":3, "y":1}, + {"label":"W", "x":4, "y":1}, + {"label":"E", "x":5, "y":1}, + {"label":"R", "x":6, "y":1}, + {"label":"T", "x":7, "y":1}, + {"label":"Y", "x":8, "y":1}, + {"label":"U", "x":9, "y":1}, + {"label":"I", "x":10, "y":1}, + {"label":"O", "x":11, "y":1}, + {"label":"P", "x":12, "y":1}, + {"label":"[{", "x":13, "y":1}, + {"label":"]}", "x":14, "y":1}, + {"label":"Delete", "x":17, "y":1}, + {"label":"End", "x":18, "y":1}, + {"label":"Page Down", "x":19, "y":1}, + + {"label":"F3", "x":0, "y":2}, + {"label":"Caps Lock", "x":1.5, "y":2, "w":1.25}, + {"label":"A", "x":3.25, "y":2}, + {"label":"S", "x":4.25, "y":2}, + {"label":"D", "x":5.25, "y":2}, + {"label":"F", "x":6.25, "y":2}, + {"label":"G", "x":7.25, "y":2}, + {"label":"H", "x":8.25, "y":2}, + {"label":"J", "x":9.25, "y":2}, + {"label":"K", "x":10.25, "y":2}, + {"label":"L", "x":11.25, "y":2}, + {"label":";:", "x":12.25, "y":2}, + {"label":"'@", "x":13.25, "y":2}, + {"label":"#~", "x":14.25, "y":2}, + {"label":"Enter", "x":15.25, "y":1, "w":1.25, "h":2}, + + {"label":"F4", "x":0, "y":3}, + {"label":"Shift", "x":1.5, "y":3, "w":1.25}, + {"label":"\\|", "x":2.75, "y":3}, + {"label":"Z", "x":3.75, "y":3}, + {"label":"X", "x":4.75, "y":3}, + {"label":"C", "x":5.75, "y":3}, + {"label":"V", "x":6.75, "y":3}, + {"label":"B", "x":7.75, "y":3}, + {"label":"N", "x":8.75, "y":3}, + {"label":"M", "x":9.75, "y":3}, + {"label":",<", "x":10.75, "y":3}, + {"label":".>", "x":11.75, "y":3}, + {"label":"/?", "x":12.75, "y":3}, + {"label":"Shift", "x":13.75, "y":3, "w":1.75}, + {"label":"Shift 2", "x":15.5, "y":3}, + {"label":"\u2191", "x":18, "y":3}, + + {"label":"F5", "x":0, "y":4}, + {"label":"Ctrl", "x":1.5, "y":4, "w":1.25}, + {"label":"Win", "x":2.75, "y":4, "w":1.25}, + {"label":"Alt", "x":4, "y":4, "w":1.25}, + {"label":"Space", "x":5.25, "y":4, "w":6.25}, + {"label":"Alt", "x":11.5, "y":4, "w":1.25}, + {"label":"Fn", "x":12.75, "y":4, "w":1.25}, + {"label":"Win", "x":14, "y":4, "w":1.25}, + {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":17, "y":4}, + {"label":"\u2193", "x":18, "y":4}, + {"label":"\u2192", "x":19, "y":4} + ] + }, + "LAYOUT_iso_tsangan_split_bs_rshift": { + "layout": [ + {"label":"F1", "x":0, "y":0}, + {"label":"Esc", "x":1.5, "y":0}, + {"label":"1!", "x":2.5, "y":0}, + {"label":"2\"", "x":3.5, "y":0}, + {"label":"3#", "x":4.5, "y":0}, + {"label":"4\u00a3", "x":5.5, "y":0}, + {"label":"5%", "x":6.5, "y":0}, + {"label":"6^", "x":7.5, "y":0}, + {"label":"7&", "x":8.5, "y":0}, + {"label":"8*", "x":9.5, "y":0}, + {"label":"9(", "x":10.5, "y":0}, + {"label":"0)", "x":11.5, "y":0}, + {"label":"-_", "x":12.5, "y":0}, + {"label":"=+", "x":13.5, "y":0}, + {"label":"Backspace", "x":14.5, "y":0}, + {"label":"Split Backspace", "x":15.5, "y":0}, + {"label":"Insert", "x":17, "y":0}, + {"label":"Home", "x":18, "y":0}, + {"label":"Page Up", "x":19, "y":0}, + + {"label":"F2", "x":0, "y":1}, + {"label":"Tab", "x":1.5, "y":1, "w":1.5}, + {"label":"Q", "x":3, "y":1}, + {"label":"W", "x":4, "y":1}, + {"label":"E", "x":5, "y":1}, + {"label":"R", "x":6, "y":1}, + {"label":"T", "x":7, "y":1}, + {"label":"Y", "x":8, "y":1}, + {"label":"U", "x":9, "y":1}, + {"label":"I", "x":10, "y":1}, + {"label":"O", "x":11, "y":1}, + {"label":"P", "x":12, "y":1}, + {"label":"[{", "x":13, "y":1}, + {"label":"]}", "x":14, "y":1}, + {"label":"Delete", "x":17, "y":1}, + {"label":"End", "x":18, "y":1}, + {"label":"Page Down", "x":19, "y":1}, + + {"label":"F3", "x":0, "y":2}, + {"label":"Caps Lock", "x":1.5, "y":2, "w":1.25}, + {"label":"A", "x":3.25, "y":2}, + {"label":"S", "x":4.25, "y":2}, + {"label":"D", "x":5.25, "y":2}, + {"label":"F", "x":6.25, "y":2}, + {"label":"G", "x":7.25, "y":2}, + {"label":"H", "x":8.25, "y":2}, + {"label":"J", "x":9.25, "y":2}, + {"label":"K", "x":10.25, "y":2}, + {"label":"L", "x":11.25, "y":2}, + {"label":";:", "x":12.25, "y":2}, + {"label":"'@", "x":13.25, "y":2}, + {"label":"#~", "x":14.25, "y":2}, + {"label":"Enter", "x":15.25, "y":1, "w":1.25, "h":2}, + + {"label":"F4", "x":0, "y":3}, + {"label":"Shift", "x":1.5, "y":3, "w":1.25}, + {"label":"\\|", "x":2.75, "y":3}, + {"label":"Z", "x":3.75, "y":3}, + {"label":"X", "x":4.75, "y":3}, + {"label":"C", "x":5.75, "y":3}, + {"label":"V", "x":6.75, "y":3}, + {"label":"B", "x":7.75, "y":3}, + {"label":"N", "x":8.75, "y":3}, + {"label":"M", "x":9.75, "y":3}, + {"label":",<", "x":10.75, "y":3}, + {"label":".>", "x":11.75, "y":3}, + {"label":"/?", "x":12.75, "y":3}, + {"label":"Shift", "x":13.75, "y":3, "w":1.75}, + {"label":"Shift2", "x":15.5, "y":3}, + {"label":"\u2191", "x":18, "y":3}, + + {"label":"F5", "x":0, "y":4}, + {"label":"Ctrl", "x":1.5, "y":4, "w":1.5}, + {"label":"Win", "x":3, "y":4}, + {"label":"Alt", "x":4, "y":4, "w":1.5}, + {"label":"Space", "x":5.5, "y":4, "w":7}, + {"label":"Alt", "x":12.5, "y":4, "w":1.5}, + {"label":"Fn", "x":14, "y":4}, + {"label":"Ctrl", "x":15, "y":4, "w":1.5}, + {"label":"\u2190", "x":17, "y":4}, + {"label":"\u2193", "x":18, "y":4}, + {"label":"\u2192", "x":19, "y":4} + ] + } } } diff --git a/keyboards/wavtype/foundation/keymaps/default/keymap.c b/keyboards/wavtype/foundation/keymaps/default/keymap.c index eea83c9889cf..1e9bd709f73a 100644 --- a/keyboards/wavtype/foundation/keymaps/default/keymap.c +++ b/keyboards/wavtype/foundation/keymaps/default/keymap.c @@ -11,18 +11,18 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [0] = LAYOUT( - KC_F1, 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_INS, KC_HOME, KC_PGUP, - KC_F2, 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_DEL, KC_PGDN, - KC_F3, 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_F4, KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT, KC_UP, - KC_F5, KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT + [_BASE] = LAYOUT_ansi_split_bs( + KC_F1, 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_INS, KC_HOME, KC_PGUP, + KC_F2, 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_DEL, KC_PGDN, + KC_F3, 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_F4, 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_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( - RGB_TOG, 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_INS, KC_HOME, KC_PGUP, - RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_HUI, 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, - RGB_SAI, 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_VOLU, - RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + [_FN] = LAYOUT_ansi_split_bs( + RGB_TOG, 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_INS, KC_HOME, KC_PGUP, + RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_HUI, 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, + RGB_SAI, 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_VOLU, + RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ) }; diff --git a/keyboards/wavtype/foundation/keymaps/default_ansi_tsangan_split_bs/keymap.c b/keyboards/wavtype/foundation/keymaps/default_ansi_tsangan_split_bs/keymap.c new file mode 100644 index 000000000000..304517d43ae8 --- /dev/null +++ b/keyboards/wavtype/foundation/keymaps/default_ansi_tsangan_split_bs/keymap.c @@ -0,0 +1,28 @@ +// Copyright 2022 wavtype (@wavtype) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_ansi_tsangan_split_bs( + KC_F1, 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_INS, KC_HOME, KC_PGUP, + KC_F2, 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_DEL, KC_PGDN, + KC_F3, 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_F4, 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_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN] = LAYOUT_ansi_tsangan_split_bs( + RGB_TOG, 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_INS, KC_HOME, KC_PGUP, + RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_HUI, 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, + RGB_SAI, 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_VOLU, + RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; diff --git a/keyboards/wavtype/foundation/keymaps/default_iso_split_bs_rshift/keymap.c b/keyboards/wavtype/foundation/keymaps/default_iso_split_bs_rshift/keymap.c new file mode 100644 index 000000000000..e93a0771e3f4 --- /dev/null +++ b/keyboards/wavtype/foundation/keymaps/default_iso_split_bs_rshift/keymap.c @@ -0,0 +1,28 @@ +// Copyright 2022 wavtype (@wavtype) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_iso_split_bs_rshift( + KC_F1, 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_INS, KC_HOME, KC_PGUP, + KC_F2, 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_DEL, KC_DEL, KC_PGDN, + KC_F3, 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_NUHS, KC_ENT, + KC_F4, 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_RSFT, KC_UP, + KC_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN] = LAYOUT_iso_split_bs_rshift( + RGB_TOG, 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_INS, KC_HOME, KC_PGUP, + RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_HUI, 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, + RGB_SAI, 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_VOLU, + RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; diff --git a/keyboards/wavtype/foundation/keymaps/default_iso_tsangan_split_bs_rshift/keymap.c b/keyboards/wavtype/foundation/keymaps/default_iso_tsangan_split_bs_rshift/keymap.c new file mode 100644 index 000000000000..b9561bc39bd1 --- /dev/null +++ b/keyboards/wavtype/foundation/keymaps/default_iso_tsangan_split_bs_rshift/keymap.c @@ -0,0 +1,28 @@ +// Copyright 2022 wavtype (@wavtype) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_iso_tsangan_split_bs_rshift( + KC_F1, 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_INS, KC_HOME, KC_PGUP, + KC_F2, 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_DEL, KC_DEL, KC_PGDN, + KC_F3, 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_NUHS, KC_ENT, + KC_F4, 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_RSFT, KC_UP, + KC_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN] = LAYOUT_iso_tsangan_split_bs_rshift( + RGB_TOG, 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_INS, KC_HOME, KC_PGUP, + RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_HUI, 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, + RGB_SAI, 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_VOLU, + RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; diff --git a/keyboards/wavtype/foundation/keymaps/via/keymap.c b/keyboards/wavtype/foundation/keymaps/via/keymap.c index 2dcb0bebc839..ba8929c1a9e2 100644 --- a/keyboards/wavtype/foundation/keymaps/via/keymap.c +++ b/keyboards/wavtype/foundation/keymaps/via/keymap.c @@ -11,32 +11,32 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [0] = LAYOUT( - KC_F1, 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_INS, KC_HOME, KC_PGUP, - KC_F2, 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_DEL, KC_PGDN, - KC_F3, 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_F4, KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT, KC_UP, - KC_F5, KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT + [_BASE] = LAYOUT_ansi_split_bs( + KC_F1, 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_INS, KC_HOME, KC_PGUP, + KC_F2, 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_DEL, KC_PGDN, + KC_F3, 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_F4, 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_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( - RGB_TOG, 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_INS, KC_HOME, KC_PGUP, - RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_HUI, 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, - RGB_SAI, 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_VOLU, - RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + [_FN] = LAYOUT_ansi_split_bs( + RGB_TOG, 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_INS, KC_HOME, KC_PGUP, + RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_HUI, 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, + RGB_SAI, 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_VOLU, + RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ), - [2] = LAYOUT( - 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, 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, 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, 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, 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 + [2] = LAYOUT_ansi_split_bs( + 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, 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, 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, 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, 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 ), - [3] = LAYOUT( - 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, 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, 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, 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, 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 + [3] = LAYOUT_ansi_split_bs( + 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, 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, 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, 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, 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 ) }; From aec9942f37ba57a8b5ac02b13ebcc1d0fd496581 Mon Sep 17 00:00:00 2001 From: eason <98533237+EasonQian1@users.noreply.github.com> Date: Wed, 6 Apr 2022 02:06:05 +0800 Subject: [PATCH 0468/1832] add folders and capsule65 (#16687) --- keyboards/eason/capsule65/capsule65.c | 17 ++++ keyboards/eason/capsule65/capsule65.h | 48 +++++++++++ keyboards/eason/capsule65/config.h | 63 +++++++++++++++ keyboards/eason/capsule65/info.json | 81 +++++++++++++++++++ .../eason/capsule65/keymaps/default/keymap.c | 39 +++++++++ .../eason/capsule65/keymaps/via/keymap.c | 57 +++++++++++++ .../eason/capsule65/keymaps/via/rules.mk | 2 + keyboards/eason/capsule65/readme.md | 17 ++++ keyboards/eason/capsule65/rules.mk | 18 +++++ 9 files changed, 342 insertions(+) create mode 100644 keyboards/eason/capsule65/capsule65.c create mode 100644 keyboards/eason/capsule65/capsule65.h create mode 100644 keyboards/eason/capsule65/config.h create mode 100644 keyboards/eason/capsule65/info.json create mode 100644 keyboards/eason/capsule65/keymaps/default/keymap.c create mode 100644 keyboards/eason/capsule65/keymaps/via/keymap.c create mode 100644 keyboards/eason/capsule65/keymaps/via/rules.mk create mode 100644 keyboards/eason/capsule65/readme.md create mode 100644 keyboards/eason/capsule65/rules.mk diff --git a/keyboards/eason/capsule65/capsule65.c b/keyboards/eason/capsule65/capsule65.c new file mode 100644 index 000000000000..c04abea9e4c2 --- /dev/null +++ b/keyboards/eason/capsule65/capsule65.c @@ -0,0 +1,17 @@ +/* Copyright 2022 EASON + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "capsule65.h" diff --git a/keyboards/eason/capsule65/capsule65.h b/keyboards/eason/capsule65/capsule65.h new file mode 100644 index 000000000000..c7923f122661 --- /dev/null +++ b/keyboards/eason/capsule65/capsule65.h @@ -0,0 +1,48 @@ +/* Copyright 2022 EASON XIAOXUXK@YEAH.NET + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2F │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴┬───────┬───┤───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B│3C │3D │3F │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┼───┬───┼───┤───┤ + * │40 │41 │42 │45 │49 │4A │4B │4C │4D │4F │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘───┘ + */ + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \ +} diff --git a/keyboards/eason/capsule65/config.h b/keyboards/eason/capsule65/config.h new file mode 100644 index 000000000000..9228330e8ad7 --- /dev/null +++ b/keyboards/eason/capsule65/config.h @@ -0,0 +1,63 @@ +/* Copyright 2022 EASON XIAOXUXK@YEAH.NET + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xF21E +#define PRODUCT_ID 0x6E6E +#define DEVICE_VER 0x0001 +#define MANUFACTURER eason +#define PRODUCT capsule65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F4, D1, B7, D0, F5 } +#define MATRIX_COL_PINS { D5, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7, E2, B3, B1, B0, B2 } + +#define DIODE_DIRECTION COL2ROW + +#define LED_CAPS_LOCK_PIN F6 + +#define RGB_DI_PIN F7 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLED_NUM 6 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/eason/capsule65/info.json b/keyboards/eason/capsule65/info.json new file mode 100644 index 000000000000..2a625b5c8498 --- /dev/null +++ b/keyboards/eason/capsule65/info.json @@ -0,0 +1,81 @@ +{ + "keyboard_name": "CAPSULE65", + "url": "", + "maintainer": "eason", + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "K00 (F4,D5)", "x": 0, "y": 0 }, + { "label": "K01 (F4,D2)", "x": 1, "y": 0 }, + { "label": "K02 (F4,D3)", "x": 2, "y": 0 }, + { "label": "K03 (F4,D4)", "x": 3, "y": 0 }, + { "label": "K04 (F4,D6)", "x": 4, "y": 0 }, + { "label": "K05 (F4,D7)", "x": 5, "y": 0 }, + { "label": "K06 (F4,B4)", "x": 6, "y": 0 }, + { "label": "K07 (F4,B5)", "x": 7, "y": 0 }, + { "label": "K08 (F4,B6)", "x": 8, "y": 0 }, + { "label": "K09 (F4,C6)", "x": 9, "y": 0 }, + { "label": "K0A (F4,C7)", "x": 10, "y": 0 }, + { "label": "K0B (F4,E2)", "x": 11, "y": 0 }, + { "label": "K0C (F4,B3)", "x": 12, "y": 0 }, + { "label": "K0D (F4,B1)", "x": 13, "y": 0 }, + { "label": "K0E (F4,B0)", "x": 14, "y": 0 }, + { "label": "K0F (F4,B2)", "x": 15, "y": 0 }, + { "label": "K10 (D1,D5)", "x": 0, "y": 1 ,"w":1.5}, + { "label": "K11 (D1,D2)", "x": 1.5, "y": 1}, + { "label": "K12 (D1,D3)", "x": 2.5, "y": 1 }, + { "label": "K13 (D1,D4)", "x": 3.5, "y": 1 }, + { "label": "K14 (D1,D6)", "x": 4.5, "y": 1 }, + { "label": "K15 (D1,D7)", "x": 5.5, "y": 1 }, + { "label": "K16 (D1,B4)", "x": 6.5, "y": 1 }, + { "label": "K17 (D1,B5)", "x": 7.5, "y": 1 }, + { "label": "K18 (D1,B6)", "x": 8.5, "y": 1 }, + { "label": "K19 (D1,C6)", "x": 9.5, "y": 1 }, + { "label": "K1A (D1,C7)", "x": 10.5, "y": 1 }, + { "label": "K1B (D1,E2)", "x": 11.5, "y": 1 }, + { "label": "K1C (D1,B3)", "x": 12.5, "y": 1 }, + { "label": "K1D (D1,B1)", "x": 13.5, "y": 1 ,"w":1.5}, + { "label": "K1F (D1,B2)", "x": 15, "y": 1 }, + { "label": "K20 (B7,D5)", "x": 0, "y": 2,"w":1.75 }, + { "label": "K21 (B7,D2)", "x": 1.75, "y": 2 }, + { "label": "K22 (B7,D3)", "x": 2.75, "y": 2 }, + { "label": "K23 (B7,D4)", "x": 3.75, "y": 2 }, + { "label": "K24 (B7,D6)", "x": 4.75, "y": 2 }, + { "label": "K25 (B7,D7)", "x": 5.75, "y": 2 }, + { "label": "K26 (B7,B4)", "x": 6.75, "y": 2 }, + { "label": "K27 (B7,B5)", "x": 7.75, "y": 2 }, + { "label": "K28 (B7,B6)", "x": 8.75, "y": 2 }, + { "label": "K29 (B7,C6)", "x": 9.75, "y": 2 }, + { "label": "K2A (B7,C7)", "x": 10.75, "y": 2 }, + { "label": "K2B (B7,E2)", "x": 11.75, "y": 2 }, + { "label": "K2C (B7,B3)", "x": 12.75, "y": 2 ,"w":2.25}, + { "label": "K2F (B7,B2)", "x": 15, "y": 2 }, + { "label": "K30 (D0,D5)", "x": 0, "y": 3 ,"w":1.25}, + { "label": "K31 (D0,D2)", "x": 1.25, "y": 3 }, + { "label": "K32 (D0,D3)", "x": 2.25, "y": 3 }, + { "label": "K33 (D0,D4)", "x": 3.25, "y": 3 }, + { "label": "K34 (D0,D6)", "x": 4.25, "y": 3 }, + { "label": "K35 (D0,D7)", "x": 5.25, "y": 3 }, + { "label": "K36 (D0,B4)", "x": 6.25, "y": 3 }, + { "label": "K37 (D0,B5)", "x": 7.25, "y": 3 }, + { "label": "K38 (D0,B6)", "x": 8.25, "y": 3 }, + { "label": "K39 (D0,C6)", "x": 9.25, "y": 3 }, + { "label": "K3A (D0,C7)", "x": 10.25, "y": 3 }, + { "label": "K3B (D0,E2)", "x": 11.25, "y": 3 }, + { "label": "K3C (D0,B3)", "x": 12.25, "y": 3 ,"w":1.75 }, + { "label": "K3D (D0,B1)", "x": 14, "y": 3 }, + { "label": "K3F (D0,B2)", "x": 15, "y": 3 }, + { "label": "K40 (F5,D5)", "x": 0, "y": 4 ,"w":1.25}, + { "label": "K41 (F5,D2)", "x": 1.25, "y": 4 ,"w":1.25}, + { "label": "K42 (F5,D3)", "x": 2.5, "y": 4 ,"w":1.25}, + { "label": "K45 (F5,D7)", "x": 3.75, "y": 4,"w":6.25 }, + { "label": "K49 (F5,C6)", "x": 10, "y": 4 }, + { "label": "K4A (F5,C7)", "x": 11, "y": 4 }, + { "label": "K4B (F5,E2)", "x": 12, "y": 4 }, + { "label": "K4C (F5,B3)", "x": 13, "y": 4 }, + { "label": "K4D (F5,B1)", "x": 14, "y": 4 }, + { "label": "K4F (F5,B2)", "x": 15, "y": 4 } + ] + } + } +} diff --git a/keyboards/eason/capsule65/keymaps/default/keymap.c b/keyboards/eason/capsule65/keymaps/default/keymap.c new file mode 100644 index 000000000000..5825f3a8acc8 --- /dev/null +++ b/keyboards/eason/capsule65/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2022 EASON + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + + 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_HOME, KC_DEL, + 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_END, + 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, + KC_LSFT, KC_SPC, 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, RGB_TOG, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + + RESET, 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, 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, RGB_MOD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, 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, RGB_VAI, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_VAD, RGB_HUD + ), + +}; diff --git a/keyboards/eason/capsule65/keymaps/via/keymap.c b/keyboards/eason/capsule65/keymaps/via/keymap.c new file mode 100644 index 000000000000..7df223dcf53b --- /dev/null +++ b/keyboards/eason/capsule65/keymaps/via/keymap.c @@ -0,0 +1,57 @@ +/* Copyright 2022 EASON + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + + 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_HOME, KC_DEL, + 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_END, + 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, + KC_LSFT, KC_TRNS, 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, RGB_TOG, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + + RESET, 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, 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, RGB_MOD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, 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, RGB_VAI, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_VAD, RGB_HUD + ), + + [2] = LAYOUT( + + RESET, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT( + + RESET, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + +}; diff --git a/keyboards/eason/capsule65/keymaps/via/rules.mk b/keyboards/eason/capsule65/keymaps/via/rules.mk new file mode 100644 index 000000000000..a2d6d0a96e85 --- /dev/null +++ b/keyboards/eason/capsule65/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/eason/capsule65/readme.md b/keyboards/eason/capsule65/readme.md new file mode 100644 index 000000000000..87576e34fa06 --- /dev/null +++ b/keyboards/eason/capsule65/readme.md @@ -0,0 +1,17 @@ +# capsule65 +A customizable soldering 65% keyboard. +Support left shift, backspace split +* Keyboard Maintainer: [eason](https://github.com/EasonQian1) +* Hardware Supported: capsule65 +* Hardware Availability: [eason](https://github.com/EasonQian1) + +Make example for this keyboard (after setting up your build environment): + + make eason/capsule65:default + +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). + +## Bootloader Enter the bootloader in 3 ways: +* **Bootmagic reset**: Hold down esc in the keyboard then replug +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` diff --git a/keyboards/eason/capsule65/rules.mk b/keyboards/eason/capsule65/rules.mk new file mode 100644 index 000000000000..744a2725357a --- /dev/null +++ b/keyboards/eason/capsule65/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 69be0dc97cd6a4e2f9bcae2ce994519051531b32 Mon Sep 17 00:00:00 2001 From: Erovia Date: Tue, 5 Apr 2022 19:13:00 +0100 Subject: [PATCH 0469/1832] Fix lineendings for eason/capsule65 (#16801) --- keyboards/eason/capsule65/config.h | 126 +++++++++++----------- keyboards/eason/capsule65/info.json | 162 ++++++++++++++-------------- 2 files changed, 144 insertions(+), 144 deletions(-) diff --git a/keyboards/eason/capsule65/config.h b/keyboards/eason/capsule65/config.h index 9228330e8ad7..34efb3f2a55a 100644 --- a/keyboards/eason/capsule65/config.h +++ b/keyboards/eason/capsule65/config.h @@ -1,63 +1,63 @@ -/* Copyright 2022 EASON XIAOXUXK@YEAH.NET - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xF21E -#define PRODUCT_ID 0x6E6E -#define DEVICE_VER 0x0001 -#define MANUFACTURER eason -#define PRODUCT capsule65 - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 16 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { F4, D1, B7, D0, F5 } -#define MATRIX_COL_PINS { D5, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7, E2, B3, B1, B0, B2 } - -#define DIODE_DIRECTION COL2ROW - -#define LED_CAPS_LOCK_PIN F6 - -#define RGB_DI_PIN F7 -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 +/* Copyright 2022 EASON XIAOXUXK@YEAH.NET + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xF21E +#define PRODUCT_ID 0x6E6E +#define DEVICE_VER 0x0001 +#define MANUFACTURER eason +#define PRODUCT capsule65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F4, D1, B7, D0, F5 } +#define MATRIX_COL_PINS { D5, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7, E2, B3, B1, B0, B2 } + +#define DIODE_DIRECTION COL2ROW + +#define LED_CAPS_LOCK_PIN F6 + +#define RGB_DI_PIN F7 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLED_NUM 6 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/eason/capsule65/info.json b/keyboards/eason/capsule65/info.json index 2a625b5c8498..1783d4f2aec5 100644 --- a/keyboards/eason/capsule65/info.json +++ b/keyboards/eason/capsule65/info.json @@ -1,81 +1,81 @@ -{ - "keyboard_name": "CAPSULE65", - "url": "", - "maintainer": "eason", - "layouts": { - "LAYOUT": { - "layout": [ - { "label": "K00 (F4,D5)", "x": 0, "y": 0 }, - { "label": "K01 (F4,D2)", "x": 1, "y": 0 }, - { "label": "K02 (F4,D3)", "x": 2, "y": 0 }, - { "label": "K03 (F4,D4)", "x": 3, "y": 0 }, - { "label": "K04 (F4,D6)", "x": 4, "y": 0 }, - { "label": "K05 (F4,D7)", "x": 5, "y": 0 }, - { "label": "K06 (F4,B4)", "x": 6, "y": 0 }, - { "label": "K07 (F4,B5)", "x": 7, "y": 0 }, - { "label": "K08 (F4,B6)", "x": 8, "y": 0 }, - { "label": "K09 (F4,C6)", "x": 9, "y": 0 }, - { "label": "K0A (F4,C7)", "x": 10, "y": 0 }, - { "label": "K0B (F4,E2)", "x": 11, "y": 0 }, - { "label": "K0C (F4,B3)", "x": 12, "y": 0 }, - { "label": "K0D (F4,B1)", "x": 13, "y": 0 }, - { "label": "K0E (F4,B0)", "x": 14, "y": 0 }, - { "label": "K0F (F4,B2)", "x": 15, "y": 0 }, - { "label": "K10 (D1,D5)", "x": 0, "y": 1 ,"w":1.5}, - { "label": "K11 (D1,D2)", "x": 1.5, "y": 1}, - { "label": "K12 (D1,D3)", "x": 2.5, "y": 1 }, - { "label": "K13 (D1,D4)", "x": 3.5, "y": 1 }, - { "label": "K14 (D1,D6)", "x": 4.5, "y": 1 }, - { "label": "K15 (D1,D7)", "x": 5.5, "y": 1 }, - { "label": "K16 (D1,B4)", "x": 6.5, "y": 1 }, - { "label": "K17 (D1,B5)", "x": 7.5, "y": 1 }, - { "label": "K18 (D1,B6)", "x": 8.5, "y": 1 }, - { "label": "K19 (D1,C6)", "x": 9.5, "y": 1 }, - { "label": "K1A (D1,C7)", "x": 10.5, "y": 1 }, - { "label": "K1B (D1,E2)", "x": 11.5, "y": 1 }, - { "label": "K1C (D1,B3)", "x": 12.5, "y": 1 }, - { "label": "K1D (D1,B1)", "x": 13.5, "y": 1 ,"w":1.5}, - { "label": "K1F (D1,B2)", "x": 15, "y": 1 }, - { "label": "K20 (B7,D5)", "x": 0, "y": 2,"w":1.75 }, - { "label": "K21 (B7,D2)", "x": 1.75, "y": 2 }, - { "label": "K22 (B7,D3)", "x": 2.75, "y": 2 }, - { "label": "K23 (B7,D4)", "x": 3.75, "y": 2 }, - { "label": "K24 (B7,D6)", "x": 4.75, "y": 2 }, - { "label": "K25 (B7,D7)", "x": 5.75, "y": 2 }, - { "label": "K26 (B7,B4)", "x": 6.75, "y": 2 }, - { "label": "K27 (B7,B5)", "x": 7.75, "y": 2 }, - { "label": "K28 (B7,B6)", "x": 8.75, "y": 2 }, - { "label": "K29 (B7,C6)", "x": 9.75, "y": 2 }, - { "label": "K2A (B7,C7)", "x": 10.75, "y": 2 }, - { "label": "K2B (B7,E2)", "x": 11.75, "y": 2 }, - { "label": "K2C (B7,B3)", "x": 12.75, "y": 2 ,"w":2.25}, - { "label": "K2F (B7,B2)", "x": 15, "y": 2 }, - { "label": "K30 (D0,D5)", "x": 0, "y": 3 ,"w":1.25}, - { "label": "K31 (D0,D2)", "x": 1.25, "y": 3 }, - { "label": "K32 (D0,D3)", "x": 2.25, "y": 3 }, - { "label": "K33 (D0,D4)", "x": 3.25, "y": 3 }, - { "label": "K34 (D0,D6)", "x": 4.25, "y": 3 }, - { "label": "K35 (D0,D7)", "x": 5.25, "y": 3 }, - { "label": "K36 (D0,B4)", "x": 6.25, "y": 3 }, - { "label": "K37 (D0,B5)", "x": 7.25, "y": 3 }, - { "label": "K38 (D0,B6)", "x": 8.25, "y": 3 }, - { "label": "K39 (D0,C6)", "x": 9.25, "y": 3 }, - { "label": "K3A (D0,C7)", "x": 10.25, "y": 3 }, - { "label": "K3B (D0,E2)", "x": 11.25, "y": 3 }, - { "label": "K3C (D0,B3)", "x": 12.25, "y": 3 ,"w":1.75 }, - { "label": "K3D (D0,B1)", "x": 14, "y": 3 }, - { "label": "K3F (D0,B2)", "x": 15, "y": 3 }, - { "label": "K40 (F5,D5)", "x": 0, "y": 4 ,"w":1.25}, - { "label": "K41 (F5,D2)", "x": 1.25, "y": 4 ,"w":1.25}, - { "label": "K42 (F5,D3)", "x": 2.5, "y": 4 ,"w":1.25}, - { "label": "K45 (F5,D7)", "x": 3.75, "y": 4,"w":6.25 }, - { "label": "K49 (F5,C6)", "x": 10, "y": 4 }, - { "label": "K4A (F5,C7)", "x": 11, "y": 4 }, - { "label": "K4B (F5,E2)", "x": 12, "y": 4 }, - { "label": "K4C (F5,B3)", "x": 13, "y": 4 }, - { "label": "K4D (F5,B1)", "x": 14, "y": 4 }, - { "label": "K4F (F5,B2)", "x": 15, "y": 4 } - ] - } - } -} +{ + "keyboard_name": "CAPSULE65", + "url": "", + "maintainer": "eason", + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "K00 (F4,D5)", "x": 0, "y": 0 }, + { "label": "K01 (F4,D2)", "x": 1, "y": 0 }, + { "label": "K02 (F4,D3)", "x": 2, "y": 0 }, + { "label": "K03 (F4,D4)", "x": 3, "y": 0 }, + { "label": "K04 (F4,D6)", "x": 4, "y": 0 }, + { "label": "K05 (F4,D7)", "x": 5, "y": 0 }, + { "label": "K06 (F4,B4)", "x": 6, "y": 0 }, + { "label": "K07 (F4,B5)", "x": 7, "y": 0 }, + { "label": "K08 (F4,B6)", "x": 8, "y": 0 }, + { "label": "K09 (F4,C6)", "x": 9, "y": 0 }, + { "label": "K0A (F4,C7)", "x": 10, "y": 0 }, + { "label": "K0B (F4,E2)", "x": 11, "y": 0 }, + { "label": "K0C (F4,B3)", "x": 12, "y": 0 }, + { "label": "K0D (F4,B1)", "x": 13, "y": 0 }, + { "label": "K0E (F4,B0)", "x": 14, "y": 0 }, + { "label": "K0F (F4,B2)", "x": 15, "y": 0 }, + { "label": "K10 (D1,D5)", "x": 0, "y": 1 ,"w":1.5}, + { "label": "K11 (D1,D2)", "x": 1.5, "y": 1}, + { "label": "K12 (D1,D3)", "x": 2.5, "y": 1 }, + { "label": "K13 (D1,D4)", "x": 3.5, "y": 1 }, + { "label": "K14 (D1,D6)", "x": 4.5, "y": 1 }, + { "label": "K15 (D1,D7)", "x": 5.5, "y": 1 }, + { "label": "K16 (D1,B4)", "x": 6.5, "y": 1 }, + { "label": "K17 (D1,B5)", "x": 7.5, "y": 1 }, + { "label": "K18 (D1,B6)", "x": 8.5, "y": 1 }, + { "label": "K19 (D1,C6)", "x": 9.5, "y": 1 }, + { "label": "K1A (D1,C7)", "x": 10.5, "y": 1 }, + { "label": "K1B (D1,E2)", "x": 11.5, "y": 1 }, + { "label": "K1C (D1,B3)", "x": 12.5, "y": 1 }, + { "label": "K1D (D1,B1)", "x": 13.5, "y": 1 ,"w":1.5}, + { "label": "K1F (D1,B2)", "x": 15, "y": 1 }, + { "label": "K20 (B7,D5)", "x": 0, "y": 2,"w":1.75 }, + { "label": "K21 (B7,D2)", "x": 1.75, "y": 2 }, + { "label": "K22 (B7,D3)", "x": 2.75, "y": 2 }, + { "label": "K23 (B7,D4)", "x": 3.75, "y": 2 }, + { "label": "K24 (B7,D6)", "x": 4.75, "y": 2 }, + { "label": "K25 (B7,D7)", "x": 5.75, "y": 2 }, + { "label": "K26 (B7,B4)", "x": 6.75, "y": 2 }, + { "label": "K27 (B7,B5)", "x": 7.75, "y": 2 }, + { "label": "K28 (B7,B6)", "x": 8.75, "y": 2 }, + { "label": "K29 (B7,C6)", "x": 9.75, "y": 2 }, + { "label": "K2A (B7,C7)", "x": 10.75, "y": 2 }, + { "label": "K2B (B7,E2)", "x": 11.75, "y": 2 }, + { "label": "K2C (B7,B3)", "x": 12.75, "y": 2 ,"w":2.25}, + { "label": "K2F (B7,B2)", "x": 15, "y": 2 }, + { "label": "K30 (D0,D5)", "x": 0, "y": 3 ,"w":1.25}, + { "label": "K31 (D0,D2)", "x": 1.25, "y": 3 }, + { "label": "K32 (D0,D3)", "x": 2.25, "y": 3 }, + { "label": "K33 (D0,D4)", "x": 3.25, "y": 3 }, + { "label": "K34 (D0,D6)", "x": 4.25, "y": 3 }, + { "label": "K35 (D0,D7)", "x": 5.25, "y": 3 }, + { "label": "K36 (D0,B4)", "x": 6.25, "y": 3 }, + { "label": "K37 (D0,B5)", "x": 7.25, "y": 3 }, + { "label": "K38 (D0,B6)", "x": 8.25, "y": 3 }, + { "label": "K39 (D0,C6)", "x": 9.25, "y": 3 }, + { "label": "K3A (D0,C7)", "x": 10.25, "y": 3 }, + { "label": "K3B (D0,E2)", "x": 11.25, "y": 3 }, + { "label": "K3C (D0,B3)", "x": 12.25, "y": 3 ,"w":1.75 }, + { "label": "K3D (D0,B1)", "x": 14, "y": 3 }, + { "label": "K3F (D0,B2)", "x": 15, "y": 3 }, + { "label": "K40 (F5,D5)", "x": 0, "y": 4 ,"w":1.25}, + { "label": "K41 (F5,D2)", "x": 1.25, "y": 4 ,"w":1.25}, + { "label": "K42 (F5,D3)", "x": 2.5, "y": 4 ,"w":1.25}, + { "label": "K45 (F5,D7)", "x": 3.75, "y": 4,"w":6.25 }, + { "label": "K49 (F5,C6)", "x": 10, "y": 4 }, + { "label": "K4A (F5,C7)", "x": 11, "y": 4 }, + { "label": "K4B (F5,E2)", "x": 12, "y": 4 }, + { "label": "K4C (F5,B3)", "x": 13, "y": 4 }, + { "label": "K4D (F5,B1)", "x": 14, "y": 4 }, + { "label": "K4F (F5,B2)", "x": 15, "y": 4 } + ] + } + } +} From c0216e92fa752afb54a75df386174ddbaec61fef Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Tue, 5 Apr 2022 11:21:05 -0700 Subject: [PATCH 0470/1832] Format code according to conventions (#16802) --- keyboards/eason/capsule65/keymaps/via/rules.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/eason/capsule65/keymaps/via/rules.mk b/keyboards/eason/capsule65/keymaps/via/rules.mk index a2d6d0a96e85..36b7ba9cbc98 100644 --- a/keyboards/eason/capsule65/keymaps/via/rules.mk +++ b/keyboards/eason/capsule65/keymaps/via/rules.mk @@ -1,2 +1,2 @@ -VIA_ENABLE = yes -LTO_ENABLE = yes +VIA_ENABLE = yes +LTO_ENABLE = yes From 2f917dd768fda45d73ab8fd67138f7ab7d23c76c Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 5 Apr 2022 11:45:18 -0700 Subject: [PATCH 0471/1832] Cutie Club Novus Layout Macro Updates (#16792) * info.json: apply friendly formatting * rename LAYOUT_all to LAYOUT_60_ansi_split_bs_rshift Maintains `LAYOUT_all` as an alias to `LAYOUT_60_ansi_split_bs_rshift`. * novus.h: use QMK 3-character notation * novus.h: add matrix diagram * add LAYOUT_60_ansi * add LAYOUT_60_ansi_tsangan * refactor keymaps - update grid alignment - use QMK-native keycode aliases * add LAYOUT_60_ansi_tsangan_split_bs_rshift * rules.mk: update Community Layouts list --- keyboards/cutie_club/novus/info.json | 547 +++++++++--------- .../cutie_club/novus/keymaps/default/keymap.c | 24 +- .../cutie_club/novus/keymaps/via/keymap.c | 48 +- keyboards/cutie_club/novus/novus.h | 83 ++- keyboards/cutie_club/novus/rules.mk | 2 + 5 files changed, 389 insertions(+), 315 deletions(-) diff --git a/keyboards/cutie_club/novus/info.json b/keyboards/cutie_club/novus/info.json index cae4e25c89f6..d4ab2c2b06da 100644 --- a/keyboards/cutie_club/novus/info.json +++ b/keyboards/cutie_club/novus/info.json @@ -2,276 +2,287 @@ "keyboard_name": "Novus", "url": "", "maintainer": "Cutie Club", + "layout_aliases": { + "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT_60_ansi": { "layout": [ - { - "x": 0, - "y": 0 - }, - { - "x": 1, - "y": 0 - }, - { - "x": 2, - "y": 0 - }, - { - "x": 3, - "y": 0 - }, - { - "x": 4, - "y": 0 - }, - { - "x": 5, - "y": 0 - }, - { - "x": 6, - "y": 0 - }, - { - "x": 7, - "y": 0 - }, - { - "x": 8, - "y": 0 - }, - { - "x": 9, - "y": 0 - }, - { - "x": 10, - "y": 0 - }, - { - "x": 11, - "y": 0 - }, - { - "x": 12, - "y": 0 - }, - { - "x": 13, - "y": 0 - }, - { - "x": 14, - "y": 0 - }, - { - "x": 0, - "y": 1, - "w": 1.5 - }, - { - "x": 1.5, - "y": 1 - }, - { - "x": 2.5, - "y": 1 - }, - { - "x": 3.5, - "y": 1 - }, - { - "x": 4.5, - "y": 1 - }, - { - "x": 5.5, - "y": 1 - }, - { - "x": 6.5, - "y": 1 - }, - { - "x": 7.5, - "y": 1 - }, - { - "x": 8.5, - "y": 1 - }, - { - "x": 9.5, - "y": 1 - }, - { - "x": 10.5, - "y": 1 - }, - { - "x": 11.5, - "y": 1 - }, - { - "x": 12.5, - "y": 1 - }, - { - "x": 13.5, - "y": 1, - "w": 1.5 - }, - { - "x": 0, - "y": 2, - "w": 1.75 - }, - { - "x": 1.75, - "y": 2 - }, - { - "x": 2.75, - "y": 2 - }, - { - "x": 3.75, - "y": 2 - }, - { - "x": 4.75, - "y": 2 - }, - { - "x": 5.75, - "y": 2 - }, - { - "x": 6.75, - "y": 2 - }, - { - "x": 7.75, - "y": 2 - }, - { - "x": 8.75, - "y": 2 - }, - { - "x": 9.75, - "y": 2 - }, - { - "x": 10.75, - "y": 2 - }, - { - "x": 11.75, - "y": 2 - }, - { - "x": 12.75, - "y": 2, - "w": 2.25 - }, - { - "x": 0, - "y": 3, - "w": 2.25 - }, - { - "x": 2.25, - "y": 3 - }, - { - "x": 3.25, - "y": 3 - }, - { - "x": 4.25, - "y": 3 - }, - { - "x": 5.25, - "y": 3 - }, - { - "x": 6.25, - "y": 3 - }, - { - "x": 7.25, - "y": 3 - }, - { - "x": 8.25, - "y": 3 - }, - { - "x": 9.25, - "y": 3 - }, - { - "x": 10.25, - "y": 3 - }, - { - "x": 11.25, - "y": 3 - }, - { - "x": 12.25, - "y": 3, - "w": 1.75 - }, - { - "x": 14, - "y": 3 - }, - { - "x": 0, - "y": 4, - "w": 1.25 - }, - { - "x": 1.25, - "y": 4, - "w": 1.25 - }, - { - "x": 2.5, - "y": 4, - "w": 1.25 - }, - { - "x": 3.75, - "y": 4, - "w": 6.25 - }, - { - "x": 10, - "y": 4, - "w": 1.25 - }, - { - "x": 11.25, - "y": 4, - "w": 1.25 - }, - { - "x": 12.5, - "y": 4, - "w": 1.25 - }, - { - "x": 13.75, - "y": 4, - "w": 1.25 - } + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":2.75}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":2.75}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":12.5, "y":4}, + {"x":13.5, "y":4, "w":1.5} + ] + } + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":12.5, "y":4}, + {"x":13.5, "y":4, "w":1.5} ] } } -} \ No newline at end of file +} diff --git a/keyboards/cutie_club/novus/keymaps/default/keymap.c b/keyboards/cutie_club/novus/keymaps/default/keymap.c index feeb27de8c72..71644146d1c9 100644 --- a/keyboards/cutie_club/novus/keymaps/default/keymap.c +++ b/keyboards/cutie_club/novus/keymaps/default/keymap.c @@ -16,18 +16,18 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - 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_BSPC, - 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_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_LSFT, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL + [0] = LAYOUT_60_ansi_split_bs_rshift( + 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_BSPC, + 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_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_LSFT, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), - [1] = LAYOUT_all( - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ + [1] = LAYOUT_60_ansi_split_bs_rshift( + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/cutie_club/novus/keymaps/via/keymap.c b/keyboards/cutie_club/novus/keymaps/via/keymap.c index 24e55dc1cf80..c46017b44fc5 100644 --- a/keyboards/cutie_club/novus/keymaps/via/keymap.c +++ b/keyboards/cutie_club/novus/keymaps/via/keymap.c @@ -16,32 +16,32 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - 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_BSPC, - 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_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_LSFT, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL + [0] = LAYOUT_60_ansi_split_bs_rshift( + 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_BSPC, + 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_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_LSFT, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), - [1] = LAYOUT_all( - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ + [1] = LAYOUT_60_ansi_split_bs_rshift( + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ + [2] = LAYOUT_60_ansi_split_bs_rshift( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ + [3] = LAYOUT_60_ansi_split_bs_rshift( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/cutie_club/novus/novus.h b/keyboards/cutie_club/novus/novus.h index 31ed6a8ac640..faea80fd5ace 100644 --- a/keyboards/cutie_club/novus/novus.h +++ b/keyboards/cutie_club/novus/novus.h @@ -18,16 +18,77 @@ #include "quantum.h" -#define LAYOUT_all( \ - k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, \ - k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, \ - k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, \ - k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, \ - k04_00, k04_01, k04_02, k04_05, k04_09, k04_10, k04_11, k04_12 \ +#define ___ KC_NO + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ │0D │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └───────┘ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌──────────┐ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │ │3B │ 2.75u RShift + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ └──────────┘ + * │40 │41 │42 │45 │49 │4A │4B │4C │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ + * │40 │41 │42 │45 │4A │4B │4C │ Tsangan/WKL + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + */ + +#define LAYOUT_60_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, \ + k40, k41, k42, k45, k49, k4A, k4B, k4C \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, ___ }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, ___, ___ }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, ___, ___, ___ }, \ + { k40, k41, k42, ___, ___, k45, ___, ___, ___, k49, k4A, k4B, k4C, ___, ___ } \ +} + +#define LAYOUT_60_ansi_split_bs_rshift( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \ + k40, k41, k42, k45, k49, k4A, k4B, k4C \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, ___, ___ }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___ }, \ + { k40, k41, k42, ___, ___, k45, ___, ___, ___, k49, k4A, k4B, k4C, ___, ___ } \ +} + +#define LAYOUT_60_ansi_tsangan( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, \ + k40, k41, k42, k45, k4A, k4B, k4C \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, ___ }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, ___, ___ }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, ___, ___, ___ }, \ + { k40, k41, k42, ___, ___, k45, ___, ___, ___, ___, k4A, k4B, k4C, ___, ___ } \ +} + +#define LAYOUT_60_ansi_tsangan_split_bs_rshift( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \ + k40, k41, k42, k45, k4A, k4B, k4C \ ) { \ - { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14 }, \ - { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, KC_NO }, \ - { k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, KC_NO, KC_NO }, \ - { k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, KC_NO, KC_NO }, \ - { k04_00, k04_01, k04_02, KC_NO, KC_NO, k04_05, KC_NO, KC_NO, KC_NO, k04_09, k04_10, k04_11, k04_12, KC_NO, KC_NO } \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, ___, ___ }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___ }, \ + { k40, k41, k42, ___, ___, k45, ___, ___, ___, ___, k4A, k4B, k4C, ___, ___ } \ } diff --git a/keyboards/cutie_club/novus/rules.mk b/keyboards/cutie_club/novus/rules.mk index 1275531ef6d6..b86bc438dd96 100644 --- a/keyboards/cutie_club/novus/rules.mk +++ b/keyboards/cutie_club/novus/rules.mk @@ -16,3 +16,5 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output + +LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_ansi_tsangan From 67bb6e19458e49008ee11fbce3a26e1967edffe4 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 5 Apr 2022 12:13:45 -0700 Subject: [PATCH 0472/1832] RGBKB Sol 3 rev1: Configurator Data and Readme (#16798) * add QMK Configurator data * add readme file --- keyboards/rgbkb/sol3/readme.md | 26 ++++++ keyboards/rgbkb/sol3/rev1/info.json | 118 ++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+) create mode 100644 keyboards/rgbkb/sol3/readme.md create mode 100644 keyboards/rgbkb/sol3/rev1/info.json diff --git a/keyboards/rgbkb/sol3/readme.md b/keyboards/rgbkb/sol3/readme.md new file mode 100644 index 000000000000..c896f7c0cd93 --- /dev/null +++ b/keyboards/rgbkb/sol3/readme.md @@ -0,0 +1,26 @@ +# Sol 3 + +![Sol 3](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/rgbkb/sol3/rev1/rgbkb_sol3_rev1_01.jpg) + +An extensible split keyboard with hotswap sockets and per-key RGB lighting. + +* Keyboard Maintainer: [XScorpion2](https://github.com/XScorpion2), [RGBKB](https://github.com/rgbkb) +* Hardware Supported: RGBKB Sol 3 rev1 (STM32F303) +* Hardware Availability: [RGBKB.net](https://www.rgbkb.net/collections/sol-3) + +Make example for this keyboard (after setting up your build environment): + + make rgbkb/sol3/rev1:default + +Flashing example for this keyboard: + + make rgbkb/sol3/rev1:default:flash + +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). + +## Bootloader + +To reset the board into bootloader mode, do one of the following: + +* **Keycode in layout**: Press the key mapped to `RESET` if it is available (Adjust + R by default) +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard (also erases persistent settings) diff --git a/keyboards/rgbkb/sol3/rev1/info.json b/keyboards/rgbkb/sol3/rev1/info.json new file mode 100644 index 000000000000..7003726b7f2c --- /dev/null +++ b/keyboards/rgbkb/sol3/rev1/info.json @@ -0,0 +1,118 @@ +{ + "keyboard_name": "Sol 3 rev1", + "url": "", + "maintainer": "XScorpion2, rgbkb", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0, "w":1.5}, + {"x":1.5, "y":0}, + {"x":2.5, "y":0}, + {"x":3.5, "y":0}, + {"x":4.5, "y":0}, + {"x":5.5, "y":0}, + {"x":6.75, "y":0}, + + {"x":9.25, "y":0}, + {"x":10.5, "y":0}, + {"x":11.5, "y":0}, + {"x":12.5, "y":0}, + {"x":13.5, "y":0}, + {"x":14.5, "y":0}, + {"x":15.5, "y":0, "w":1.5}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.75, "y":1}, + + {"x":9.25, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1}, + {"x":14.5, "y":1}, + {"x":15.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.5}, + {"x":1.5, "y":2}, + {"x":2.5, "y":2}, + {"x":3.5, "y":2}, + {"x":4.5, "y":2}, + {"x":5.5, "y":2}, + {"x":6.75, "y":2}, + + {"x":9.25, "y":2}, + {"x":10.5, "y":2}, + {"x":11.5, "y":2}, + {"x":12.5, "y":2}, + {"x":13.5, "y":2}, + {"x":14.5, "y":2}, + {"x":15.5, "y":2, "w":1.5}, + + {"x":0, "y":3, "w":1.5}, + {"x":1.5, "y":3}, + {"x":2.5, "y":3}, + {"x":3.5, "y":3}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.75, "y":3}, + + {"x":9.25, "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, "w":1.5}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4}, + {"x":3.5, "y":4}, + {"x":4.5, "y":4}, + {"x":6, "y":4.5, "h":2}, + {"x":7, "y":4.5}, + {"x":7, "y":5.5}, + + {"x":9, "y":5.5}, + {"x":9, "y":4.5}, + {"x":10, "y":4.5, "h":2}, + {"x":11.5, "y":4}, + {"x":12.5, "y":4}, + {"x":13.5, "y":4}, + {"x":14.5, "y":4}, + {"x":15.5, "y":4, "w":1.5}, + + {"x":0, "y":7, "w":0.8, "h":0.8}, + {"x":0.8, "y":7, "w":0.8, "h":0.8}, + {"x":1.6, "y":7, "w":0.8, "h":0.8}, + {"x":2.4, "y":7, "w":0.8, "h":0.8}, + {"x":3.2, "y":7, "w":0.8, "h":0.8}, + {"x":4, "y":7, "w":0.8, "h":0.8}, + + {"x":12.2, "y":7, "w":0.8, "h":0.8}, + {"x":13, "y":7, "w":0.8, "h":0.8}, + {"x":13.8, "y":7, "w":0.8, "h":0.8}, + {"x":14.6, "y":7, "w":0.8, "h":0.8}, + {"x":15.4, "y":7, "w":0.8, "h":0.8}, + {"x":16.2, "y":7, "w":0.8, "h":0.8}, + + {"x":0, "y":7.8, "w":0.8, "h":0.8}, + {"x":0.8, "y":7.8, "w":0.8, "h":0.8}, + {"x":1.6, "y":7.8, "w":0.8, "h":0.8}, + {"x":2.4, "y":7.8, "w":0.8, "h":0.8}, + {"x":3.2, "y":7.8, "w":0.8, "h":0.8}, + + {"x":13, "y":7.8, "w":0.8, "h":0.8}, + {"x":13.8, "y":7.8, "w":0.8, "h":0.8}, + {"x":14.6, "y":7.8, "w":0.8, "h":0.8}, + {"x":15.4, "y":7.8, "w":0.8, "h":0.8}, + {"x":16.2, "y":7.8, "w":0.8, "h":0.8} + ] + } + } +} From 563c4dbb09fcb3ff76bd453d8780f398e57c2ada Mon Sep 17 00:00:00 2001 From: Danny Date: Tue, 5 Apr 2022 17:14:07 -0400 Subject: [PATCH 0473/1832] Add Iris Rev 6.1 (#16722) --- keyboards/keebio/iris/iris.h | 2 + keyboards/keebio/iris/rev6a/config.h | 134 +++++++++++++++++++++++++ keyboards/keebio/iris/rev6a/rev6a.c | 141 +++++++++++++++++++++++++++ keyboards/keebio/iris/rev6a/rev6a.h | 42 ++++++++ keyboards/keebio/iris/rev6a/rules.mk | 24 +++++ 5 files changed, 343 insertions(+) create mode 100644 keyboards/keebio/iris/rev6a/config.h create mode 100644 keyboards/keebio/iris/rev6a/rev6a.c create mode 100644 keyboards/keebio/iris/rev6a/rev6a.h create mode 100644 keyboards/keebio/iris/rev6a/rules.mk diff --git a/keyboards/keebio/iris/iris.h b/keyboards/keebio/iris/iris.h index db0440a126ed..e17b3b69c649 100644 --- a/keyboards/keebio/iris/iris.h +++ b/keyboards/keebio/iris/iris.h @@ -14,6 +14,8 @@ #include "rev5.h" #elif defined(KEYBOARD_keebio_iris_rev6) #include "rev6.h" +#elif defined(KEYBOARD_keebio_iris_rev6a) + #include "rev6a.h" #endif #include "quantum.h" diff --git a/keyboards/keebio/iris/rev6a/config.h b/keyboards/keebio/iris/rev6a/config.h new file mode 100644 index 000000000000..06c1f38e11b6 --- /dev/null +++ b/keyboards/keebio/iris/rev6a/config.h @@ -0,0 +1,134 @@ +/* +Copyright 2021 Danny Nguyen + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xCB10 +#define PRODUCT_ID 0x6356 +#define DEVICE_VER 0x0610 +#define MANUFACTURER Keebio +#define PRODUCT Iris Rev. 6.1 + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 6 + +// wiring of each half +#define MATRIX_ROW_PINS { B1, F0, F5, B4, D7 } +#define MATRIX_COL_PINS { F1, F4, B5, C7, D4, D6 } +#define MATRIX_ROW_PINS_RIGHT { B1, F0, F5, B4, B5 } +#define MATRIX_COL_PINS_RIGHT { D4, D6, D7, C7, F1, F4 } +#define SPLIT_HAND_PIN D5 + +#define ENCODERS_PAD_A { B3 } +#define ENCODERS_PAD_B { B2 } +#define ENCODERS_PAD_A_RIGHT { B3 } +#define ENCODERS_PAD_B_RIGHT { B2 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +// #define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* serial.c configuration for split keyboard */ +#define SOFT_SERIAL_PIN D0 + +/* ws2812 RGB LED */ +#define RGB_DI_PIN E6 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 68 +# define RGBLED_SPLIT { 34, 34 } +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== enabled animations ==*/ +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +# define RGBLIGHT_EFFECT_TWINKLE +# define RGBLIGHT_DEFAULT_VAL 120 +# define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) +// RGB Matrix +//# ifdef RGB_MATRIX_ENABLE +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_BAND_SAT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_DUAL_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_SPLASH +# define ENABLE_RGB_MATRIX_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_SPLASH +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160 +# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_SPLIT { 34, 34 } +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_KEYPRESSES +//# endif +#endif + +#define VIA_QMK_RGBLIGHT_ENABLE + +// Enable the workaround for the speed parameter mismatch between RGBLIGHT and +// RGB Matrix, so that the speed slider in VIA behaves in a more useful way. +#define VIA_CUSTOM_LIGHTING_ENABLE diff --git a/keyboards/keebio/iris/rev6a/rev6a.c b/keyboards/keebio/iris/rev6a/rev6a.c new file mode 100644 index 000000000000..cc9c3f6b8f79 --- /dev/null +++ b/keyboards/keebio/iris/rev6a/rev6a.c @@ -0,0 +1,141 @@ +/* +Copyright 2021 Danny Nguyen +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "rev6a.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + // Left Half + { 0, 1, 2, 3, 4, 5 }, + { 11, 10, 9, 8, 7, 6 }, + { 12, 13, 14, 15, 16, 17 }, + { 23, 22, 21, 20, 19, 18 }, + { NO_LED, NO_LED, 24, 25, 26, 27 }, + // Right Half + { 34, 35, 36, 37, 38, 39 }, + { 45, 44, 43, 42, 41, 40 }, + { 46, 47, 48, 49, 50, 51 }, + { 57, 56, 55, 54, 53, 52 }, + { NO_LED, NO_LED, 58, 59, 60, 61 } +}, { + // LED Index to Physical Position + // Left Half + { 0, 5 }, { 16, 5 }, { 32, 2 }, { 48, 0 }, { 64, 2 }, { 80, 3 }, + { 80, 17 }, { 64, 15 }, { 48, 13 }, { 32, 15 }, { 16, 18 }, { 0, 18 }, + { 0, 32 }, { 16, 32 }, { 32, 28 }, { 48, 27 }, { 64, 28 }, { 80, 30 }, + { 80, 43 }, { 64, 42 }, { 48, 40 }, { 32, 42 }, { 16, 45 }, { 0, 45 }, + { 56, 47 }, { 72, 58 }, { 90, 64 }, { 98, 52 }, + { 80, 58 }, { 40, 50 }, { 8, 43 }, { 8, 5 }, { 40, 1 }, { 72, 3 }, + // Right Half + { 224, 5 }, { 208, 5 }, { 192, 2 }, { 176, 0 }, { 160, 2 }, { 144, 3 }, + { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 244, 17 }, + { 224, 32 }, { 208, 32 }, { 192, 28 }, { 176, 27 }, { 160, 28 }, { 144, 30 }, + { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 244, 43 }, + { 168, 47 }, { 152, 58 }, { 134, 64 }, { 126, 52 }, + { 144, 58 }, { 184, 50 }, { 216, 43 }, { 216, 5 }, { 184, 1 }, { 152, 3 } +}, { + // LED Index to Flag + // Left Half + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, + 2, 2, 2, 2, 2, 2, + // Right Half + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, + 2, 2, 2, 2, 2, 2 + +} }; + + +# if defined(VIA_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE) + +// VIA supports only 4 discrete values for effect speed; map these to some +// useful speed values for RGB Matrix. +enum speed_values { + RGBLIGHT_SPEED_0 = UINT8_MAX / 16, // not 0 to avoid really slow effects + RGBLIGHT_SPEED_1 = UINT8_MAX / 4, + RGBLIGHT_SPEED_2 = UINT8_MAX / 2, // matches the default value + RGBLIGHT_SPEED_3 = UINT8_MAX / 4 * 3, // UINT8_MAX is really fast +}; + +static uint8_t speed_from_rgblight(uint8_t rgblight_speed) { + switch (rgblight_speed) { + case 0: + return RGBLIGHT_SPEED_0; + case 1: + return RGBLIGHT_SPEED_1; + case 2: + default: + return RGBLIGHT_SPEED_2; + case 3: + return RGBLIGHT_SPEED_3; + } +} + +static uint8_t speed_to_rgblight(uint8_t rgb_matrix_speed) { + if (rgb_matrix_speed < ((RGBLIGHT_SPEED_0 + RGBLIGHT_SPEED_1) / 2)) { + return 0; + } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_1 + RGBLIGHT_SPEED_2) / 2)) { + return 1; + } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_2 + RGBLIGHT_SPEED_3) / 2)) { + return 2; + } else { + return 3; + } +} + +void raw_hid_receive_kb(uint8_t *data, uint8_t length) { + switch (data[0]) { + case id_lighting_get_value: + if (data[1] == id_qmk_rgblight_effect_speed) { + data[2] = speed_to_rgblight(rgb_matrix_get_speed()); + } + break; + case id_lighting_set_value: + if (data[1] == id_qmk_rgblight_effect_speed) { + rgb_matrix_set_speed_noeeprom(speed_from_rgblight(data[2])); + } + break; + } +} + +# endif // defined(VIA_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE) + +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + return false; +} +#endif diff --git a/keyboards/keebio/iris/rev6a/rev6a.h b/keyboards/keebio/iris/rev6a/rev6a.h new file mode 100644 index 000000000000..d13e24410e3b --- /dev/null +++ b/keyboards/keebio/iris/rev6a/rev6a.h @@ -0,0 +1,42 @@ +/* +Copyright 2021 Danny Nguyen + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "iris.h" +#include "quantum.h" + + +#define LAYOUT( \ + LA1, LA2, LA3, LA4, LA5, LA6, RA6, RA5, RA4, RA3, RA2, RA1, \ + LB1, LB2, LB3, LB4, LB5, LB6, RB6, RB5, RB4, RB3, RB2, RB1, \ + LC1, LC2, LC3, LC4, LC5, LC6, RC6, RC5, RC4, RC3, RC2, RC1, \ + LD1, LD2, LD3, LD4, LD5, LD6, LE6, RE6, RD6, RD5, RD4, RD3, RD2, RD1, \ + LE3, LE4, LE5, RE5, RE4, RE3 \ + ) \ + { \ + { LA1, LA2, LA3, LA4, LA5, LA6 }, \ + { LB1, LB2, LB3, LB4, LB5, LB6 }, \ + { LC1, LC2, LC3, LC4, LC5, LC6 }, \ + { LD1, LD2, LD3, LD4, LD5, LD6 }, \ + { KC_NO, KC_NO, LE3, LE4, LE5, LE6 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6 }, \ + { RB1, RB2, RB3, RB4, RB5, RB6 }, \ + { RC1, RC2, RC3, RC4, RC5, RC6 }, \ + { RD1, RD2, RD3, RD4, RD5, RD6 }, \ + { KC_NO, KC_NO, RE3, RE4, RE5, RE6 } \ + } diff --git a/keyboards/keebio/iris/rev6a/rules.mk b/keyboards/keebio/iris/rev6a/rules.mk new file mode 100644 index 000000000000..87f19b5fc1ca --- /dev/null +++ b/keyboards/keebio/iris/rev6a/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes +ENCODER_ENABLE = yes +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 + +LTO_ENABLE = yes From 45504bb0949f4bddd5679bde0076f10512303e3a Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 6 Apr 2022 01:08:38 +0100 Subject: [PATCH 0474/1832] Add mechanism to limit available converters (#16783) --- data/mappings/defaults.json | 9 ++++++--- data/mappings/info_rules.json | 1 + data/schemas/keyboard.jsonschema | 4 ++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/data/mappings/defaults.json b/data/mappings/defaults.json index d3643fede8e8..3d3d915c0e56 100644 --- a/data/mappings/defaults.json +++ b/data/mappings/defaults.json @@ -2,16 +2,19 @@ "development_board": { "promicro": { "processor": "atmega32u4", - "bootloader": "caterina" + "bootloader": "caterina", + "pin_compatible": "promicro" }, "elite_c": { "processor": "atmega32u4", - "bootloader": "atmel-dfu" + "bootloader": "atmel-dfu", + "pin_compatible": "promicro" }, "proton_c": { "processor": "STM32F303", "bootloader": "stm32-dfu", - "board": "QMK_PROTON_C" + "board": "QMK_PROTON_C", + "pin_compatible": "promicro" } } } \ No newline at end of file diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json index f03cadcd44f6..237e9f10246e 100644 --- a/data/mappings/info_rules.json +++ b/data/mappings/info_rules.json @@ -19,6 +19,7 @@ "MCU": {"info_key": "processor", "warn_duplicate": false}, "MOUSEKEY_ENABLE": {"info_key": "mouse_key.enabled", "value_type": "bool"}, "NO_USB_STARTUP_CHECK": {"info_key": "usb.no_startup_check", "value_type": "bool"}, + "PIN_COMPATIBLE": {"info_key": "pin_compatible"}, "SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"}, "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false}, "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"} diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index f4c24c41cd2c..9af3ef59813f 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -16,6 +16,10 @@ "type": "string", "enum": ["promicro", "elite_c", "proton_c"] }, + "pin_compatible": { + "type": "string", + "enum": ["promicro"] + }, "processor": { "type": "string", "enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK66FX1M0", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F405", "STM32F407", "STM32F411", "STM32F446", "STM32G431", "STM32G474", "STM32L412", "STM32L422", "STM32L432", "STM32L433", "STM32L442", "STM32L443", "GD32VF103", "WB32F3G71", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"] From a5e810b86cff89faa082c3ff71b69cda0709ab79 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 6 Apr 2022 01:23:04 +0100 Subject: [PATCH 0475/1832] Add non blackpill F4x1 config files (#16600) * Add non blackpill F4x1 config files * Move ld files * Remove f401 i2c bodges * more bodge? * Update to recommended defaults --- .../onekey/blackpill_f401/blackpill_f401.c | 23 -- keyboards/handwired/uthol/rev3/rev3.c | 2 - keyboards/mechwild/obe/obe.c | 6 - keyboards/mechwild/waka60/waka60.c | 6 +- keyboards/mode/m65ha_alpha/m65ha_alpha.c | 1 - keyboards/mode/m65hi_alpha/m65hi_alpha.c | 1 - keyboards/mode/m65s/m65s.c | 1 - keyboards/mode/m75h/m75h.c | 1 - keyboards/mode/m75s/m75s.c | 1 - .../BLACKPILL_STM32_F401/configs/board.h | 57 ++++ .../GENERIC_STM32_F401XC/board/board.mk | 9 + .../GENERIC_STM32_F401XC/configs/board.h | 77 ++++++ .../GENERIC_STM32_F401XC/configs/config.h | 22 ++ .../GENERIC_STM32_F401XC/configs/mcuconf.h | 244 +++++++++++++++++ .../GENERIC_STM32_F411XE/board/board.mk | 9 + .../GENERIC_STM32_F411XE/configs/board.h | 20 ++ .../GENERIC_STM32_F411XE/configs/config.h | 22 ++ .../GENERIC_STM32_F411XE/configs/mcuconf.h | 252 ++++++++++++++++++ .../ld/STM32F401xC_tinyuf2.ld | 0 .../ld/STM32F401xE_tinyuf2.ld | 0 .../ld/STM32F411xC_tinyuf2.ld | 0 .../ld/STM32F411xE_tinyuf2.ld | 0 22 files changed, 713 insertions(+), 41 deletions(-) delete mode 100644 keyboards/handwired/onekey/blackpill_f401/blackpill_f401.c create mode 100644 platforms/chibios/boards/GENERIC_STM32_F401XC/board/board.mk create mode 100644 platforms/chibios/boards/GENERIC_STM32_F401XC/configs/board.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_F401XC/configs/config.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_F411XE/board/board.mk create mode 100644 platforms/chibios/boards/GENERIC_STM32_F411XE/configs/board.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_F411XE/configs/config.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h rename platforms/chibios/boards/{BLACKPILL_STM32_F401 => common}/ld/STM32F401xC_tinyuf2.ld (100%) rename platforms/chibios/boards/{BLACKPILL_STM32_F401 => common}/ld/STM32F401xE_tinyuf2.ld (100%) rename platforms/chibios/boards/{BLACKPILL_STM32_F411 => common}/ld/STM32F411xC_tinyuf2.ld (100%) rename platforms/chibios/boards/{BLACKPILL_STM32_F411 => common}/ld/STM32F411xE_tinyuf2.ld (100%) diff --git a/keyboards/handwired/onekey/blackpill_f401/blackpill_f401.c b/keyboards/handwired/onekey/blackpill_f401/blackpill_f401.c deleted file mode 100644 index 1287614a8b9e..000000000000 --- a/keyboards/handwired/onekey/blackpill_f401/blackpill_f401.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Sergey Vlasov (sigprof) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -void board_init(void) { - // B9 is configured as I2C1_SDA_PIN in the board file; that function must be - // disabled before using B7 as I2C1_SDA. - setPinInputHigh(B9); -} diff --git a/keyboards/handwired/uthol/rev3/rev3.c b/keyboards/handwired/uthol/rev3/rev3.c index 2ababdfbe86e..6c06387ee88e 100644 --- a/keyboards/handwired/uthol/rev3/rev3.c +++ b/keyboards/handwired/uthol/rev3/rev3.c @@ -16,5 +16,3 @@ */ #include QMK_KEYBOARD_H - -void board_init(void) { setPinInputHigh(B9); } diff --git a/keyboards/mechwild/obe/obe.c b/keyboards/mechwild/obe/obe.c index 8612764ae5a1..195d4a76790d 100644 --- a/keyboards/mechwild/obe/obe.c +++ b/keyboards/mechwild/obe/obe.c @@ -16,12 +16,6 @@ #include "obe.h" -void board_init(void) { - // B9 is configured as I2C1_SDA in the board file; that function must be - // disabled before using B7 as I2C1_SDA. - setPinInputHigh(B9); -} - #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } diff --git a/keyboards/mechwild/waka60/waka60.c b/keyboards/mechwild/waka60/waka60.c index 1b6eec1f4421..180d0a67865d 100644 --- a/keyboards/mechwild/waka60/waka60.c +++ b/keyboards/mechwild/waka60/waka60.c @@ -15,11 +15,7 @@ */ #include "waka60.h" -void board_init(void) { - // B9 is configured as I2C1_SDA in the board file; that function must be - // disabled before using B7 as I2C1_SDA. - setPinInputHigh(B9); -} + #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } diff --git a/keyboards/mode/m65ha_alpha/m65ha_alpha.c b/keyboards/mode/m65ha_alpha/m65ha_alpha.c index 93e0c06b73fc..4160ffed95fe 100644 --- a/keyboards/mode/m65ha_alpha/m65ha_alpha.c +++ b/keyboards/mode/m65ha_alpha/m65ha_alpha.c @@ -18,7 +18,6 @@ along with this program. If not, see . #include "m65ha_alpha.h" void board_init(void) { - setPinInput(B9); setPinInput(B10); } diff --git a/keyboards/mode/m65hi_alpha/m65hi_alpha.c b/keyboards/mode/m65hi_alpha/m65hi_alpha.c index db0ab7ca9aee..42c88ba354f8 100644 --- a/keyboards/mode/m65hi_alpha/m65hi_alpha.c +++ b/keyboards/mode/m65hi_alpha/m65hi_alpha.c @@ -18,7 +18,6 @@ along with this program. If not, see . #include "m65hi_alpha.h" void board_init(void) { - setPinInput(B9); setPinInput(B10); } diff --git a/keyboards/mode/m65s/m65s.c b/keyboards/mode/m65s/m65s.c index 298fc9414036..467fc53a0eb1 100644 --- a/keyboards/mode/m65s/m65s.c +++ b/keyboards/mode/m65s/m65s.c @@ -18,7 +18,6 @@ along with this program. If not, see . #include "m65s.h" void board_init(void) { - setPinInput(B9); setPinInput(B10); } diff --git a/keyboards/mode/m75h/m75h.c b/keyboards/mode/m75h/m75h.c index 3306a6538b99..e480ea283464 100644 --- a/keyboards/mode/m75h/m75h.c +++ b/keyboards/mode/m75h/m75h.c @@ -18,6 +18,5 @@ along with this program. If not, see . #include "m75h.h" void board_init(void) { - setPinInput(B9); setPinInput(B10); } diff --git a/keyboards/mode/m75s/m75s.c b/keyboards/mode/m75s/m75s.c index e0424a6a64b7..bd323a435beb 100644 --- a/keyboards/mode/m75s/m75s.c +++ b/keyboards/mode/m75s/m75s.c @@ -18,6 +18,5 @@ along with this program. If not, see . #include "m75s.h" void board_init(void) { - setPinInput(B9); setPinInput(B10); } diff --git a/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/board.h b/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/board.h index 30af6b0c8608..78dcbac05c89 100644 --- a/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/board.h +++ b/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/board.h @@ -17,4 +17,61 @@ #include_next "board.h" +// Force B9 as input to align with qmk defaults +#undef VAL_GPIOB_MODER +#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \ + PIN_MODE_INPUT(GPIOB_PIN1) | \ + PIN_MODE_INPUT(GPIOB_PIN2) | \ + PIN_MODE_ALTERNATE(GPIOB_SWO) | \ + PIN_MODE_INPUT(GPIOB_PIN4) | \ + PIN_MODE_INPUT(GPIOB_PIN5) | \ + PIN_MODE_INPUT(GPIOB_LSM303DLHC_SCL) | \ + PIN_MODE_INPUT(GPIOB_PIN7) | \ + PIN_MODE_INPUT(GPIOB_PIN8) | \ + PIN_MODE_INPUT(GPIOB_LSM303DLHC_SDA) | \ + PIN_MODE_ALTERNATE(GPIOB_MP45DT02_CLK_IN) |\ + PIN_MODE_INPUT(GPIOB_PIN11) | \ + PIN_MODE_INPUT(GPIOB_PIN12) | \ + PIN_MODE_INPUT(GPIOB_PIN13) | \ + PIN_MODE_INPUT(GPIOB_PIN14) | \ + PIN_MODE_INPUT(GPIOB_PIN15)) + +#undef VAL_GPIOB_PUPDR +#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN1) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN2) | \ + PIN_PUPDR_PULLUP(GPIOB_SWO) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN4) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN5) | \ + PIN_PUPDR_PULLUP(GPIOB_LSM303DLHC_SCL) |\ + PIN_PUPDR_PULLUP(GPIOB_PIN7) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN8) | \ + PIN_PUPDR_PULLUP(GPIOB_LSM303DLHC_SDA) |\ + PIN_PUPDR_FLOATING(GPIOB_MP45DT02_CLK_IN) |\ + PIN_PUPDR_PULLUP(GPIOB_PIN11) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN12) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN13) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN14) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN15)) + +#undef VAL_GPIOB_AFRL +#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_PIN0, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN1, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN2, 0U) | \ + PIN_AFIO_AF(GPIOB_SWO, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN4, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN5, 0U) | \ + PIN_AFIO_AF(GPIOB_LSM303DLHC_SCL, 0) | \ + PIN_AFIO_AF(GPIOB_PIN7, 0U)) + +#undef VAL_GPIOB_AFRH +#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0U) | \ + PIN_AFIO_AF(GPIOB_LSM303DLHC_SDA, 0) | \ + PIN_AFIO_AF(GPIOB_MP45DT02_CLK_IN, 5U) |\ + PIN_AFIO_AF(GPIOB_PIN11, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN12, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN13, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN14, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN15, 0U)) + #undef STM32_HSE_BYPASS diff --git a/platforms/chibios/boards/GENERIC_STM32_F401XC/board/board.mk b/platforms/chibios/boards/GENERIC_STM32_F401XC/board/board.mk new file mode 100644 index 000000000000..fddf7dace499 --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_F401XC/board/board.mk @@ -0,0 +1,9 @@ +# List of all the board related files. +BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_STM32F401C_DISCOVERY/board.c + +# Required include directories +BOARDINC = $(CHIBIOS)/os/hal/boards/ST_STM32F401C_DISCOVERY + +# Shared variables +ALLCSRC += $(BOARDSRC) +ALLINC += $(BOARDINC) diff --git a/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/board.h b/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/board.h new file mode 100644 index 000000000000..78dcbac05c89 --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/board.h @@ -0,0 +1,77 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include_next "board.h" + +// Force B9 as input to align with qmk defaults +#undef VAL_GPIOB_MODER +#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \ + PIN_MODE_INPUT(GPIOB_PIN1) | \ + PIN_MODE_INPUT(GPIOB_PIN2) | \ + PIN_MODE_ALTERNATE(GPIOB_SWO) | \ + PIN_MODE_INPUT(GPIOB_PIN4) | \ + PIN_MODE_INPUT(GPIOB_PIN5) | \ + PIN_MODE_INPUT(GPIOB_LSM303DLHC_SCL) | \ + PIN_MODE_INPUT(GPIOB_PIN7) | \ + PIN_MODE_INPUT(GPIOB_PIN8) | \ + PIN_MODE_INPUT(GPIOB_LSM303DLHC_SDA) | \ + PIN_MODE_ALTERNATE(GPIOB_MP45DT02_CLK_IN) |\ + PIN_MODE_INPUT(GPIOB_PIN11) | \ + PIN_MODE_INPUT(GPIOB_PIN12) | \ + PIN_MODE_INPUT(GPIOB_PIN13) | \ + PIN_MODE_INPUT(GPIOB_PIN14) | \ + PIN_MODE_INPUT(GPIOB_PIN15)) + +#undef VAL_GPIOB_PUPDR +#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN1) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN2) | \ + PIN_PUPDR_PULLUP(GPIOB_SWO) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN4) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN5) | \ + PIN_PUPDR_PULLUP(GPIOB_LSM303DLHC_SCL) |\ + PIN_PUPDR_PULLUP(GPIOB_PIN7) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN8) | \ + PIN_PUPDR_PULLUP(GPIOB_LSM303DLHC_SDA) |\ + PIN_PUPDR_FLOATING(GPIOB_MP45DT02_CLK_IN) |\ + PIN_PUPDR_PULLUP(GPIOB_PIN11) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN12) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN13) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN14) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN15)) + +#undef VAL_GPIOB_AFRL +#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_PIN0, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN1, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN2, 0U) | \ + PIN_AFIO_AF(GPIOB_SWO, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN4, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN5, 0U) | \ + PIN_AFIO_AF(GPIOB_LSM303DLHC_SCL, 0) | \ + PIN_AFIO_AF(GPIOB_PIN7, 0U)) + +#undef VAL_GPIOB_AFRH +#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0U) | \ + PIN_AFIO_AF(GPIOB_LSM303DLHC_SDA, 0) | \ + PIN_AFIO_AF(GPIOB_MP45DT02_CLK_IN, 5U) |\ + PIN_AFIO_AF(GPIOB_PIN11, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN12, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN13, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN14, 0U) | \ + PIN_AFIO_AF(GPIOB_PIN15, 0U)) + +#undef STM32_HSE_BYPASS diff --git a/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/config.h new file mode 100644 index 000000000000..e06ca0b7250e --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/config.h @@ -0,0 +1,22 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define BOARD_OTG_NOVBUSSENS 1 + +#ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP +# define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE +#endif diff --git a/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h new file mode 100644 index 000000000000..24cec7137d66 --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h @@ -0,0 +1,244 @@ +/* + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef MCUCONF_H +#define MCUCONF_H + +/* + * STM32F4xx drivers configuration. + * The following settings override the default settings present in + * the various device driver implementation headers. + * Note that the settings for each driver only have effect if the whole + * driver is enabled in halconf.h. + * + * IRQ priorities: + * 15...0 Lowest...Highest. + * + * DMA priorities: + * 0...3 Lowest...Highest. + */ + +#define STM32F4xx_MCUCONF +#define STM32F401_MCUCONF + +/* + * HAL driver system settings. + */ +#define STM32_NO_INIT FALSE +#define STM32_PVD_ENABLE FALSE +#define STM32_PLS STM32_PLS_LEV0 +#define STM32_BKPRAM_ENABLE FALSE +#define STM32_HSI_ENABLED TRUE +#define STM32_LSI_ENABLED TRUE +#define STM32_HSE_ENABLED TRUE +#define STM32_LSE_ENABLED FALSE +#define STM32_CLOCK48_REQUIRED TRUE +#define STM32_SW STM32_SW_PLL +#define STM32_PLLSRC STM32_PLLSRC_HSE +#define STM32_PLLM_VALUE 4 +#define STM32_PLLN_VALUE 168 +#define STM32_PLLP_VALUE 4 +#define STM32_PLLQ_VALUE 7 +#define STM32_HPRE STM32_HPRE_DIV1 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE2_DIV1 +#define STM32_RTCSEL STM32_RTCSEL_LSI +#define STM32_RTCPRE_VALUE 8 +#define STM32_MCO1SEL STM32_MCO1SEL_HSI +#define STM32_MCO1PRE STM32_MCO1PRE_DIV1 +#define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK +#define STM32_MCO2PRE STM32_MCO2PRE_DIV5 +#define STM32_I2SSRC STM32_I2SSRC_CKIN +#define STM32_PLLI2SN_VALUE 192 +#define STM32_PLLI2SR_VALUE 5 + +/* + * IRQ system settings. + */ +#define STM32_IRQ_EXTI0_PRIORITY 6 +#define STM32_IRQ_EXTI1_PRIORITY 6 +#define STM32_IRQ_EXTI2_PRIORITY 6 +#define STM32_IRQ_EXTI3_PRIORITY 6 +#define STM32_IRQ_EXTI4_PRIORITY 6 +#define STM32_IRQ_EXTI5_9_PRIORITY 6 +#define STM32_IRQ_EXTI10_15_PRIORITY 6 +#define STM32_IRQ_EXTI16_PRIORITY 6 +#define STM32_IRQ_EXTI17_PRIORITY 15 +#define STM32_IRQ_EXTI18_PRIORITY 6 +#define STM32_IRQ_EXTI19_PRIORITY 6 +#define STM32_IRQ_EXTI20_PRIORITY 6 +#define STM32_IRQ_EXTI21_PRIORITY 15 +#define STM32_IRQ_EXTI22_PRIORITY 15 + +#define STM32_IRQ_TIM1_BRK_TIM9_PRIORITY 7 +#define STM32_IRQ_TIM1_UP_TIM10_PRIORITY 7 +#define STM32_IRQ_TIM1_TRGCO_TIM11_PRIORITY 7 +#define STM32_IRQ_TIM1_CC_PRIORITY 7 +#define STM32_IRQ_TIM2_PRIORITY 7 +#define STM32_IRQ_TIM3_PRIORITY 7 +#define STM32_IRQ_TIM4_PRIORITY 7 +#define STM32_IRQ_TIM5_PRIORITY 7 + +#define STM32_IRQ_USART1_PRIORITY 12 +#define STM32_IRQ_USART2_PRIORITY 12 +#define STM32_IRQ_USART6_PRIORITY 12 + +/* + * ADC driver system settings. + */ +#define STM32_ADC_ADCPRE ADC_CCR_ADCPRE_DIV4 +#define STM32_ADC_USE_ADC1 FALSE +#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4) +#define STM32_ADC_ADC1_DMA_PRIORITY 2 +#define STM32_ADC_IRQ_PRIORITY 6 +#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 6 + +/* + * GPT driver system settings. + */ +#define STM32_GPT_USE_TIM1 FALSE +#define STM32_GPT_USE_TIM2 FALSE +#define STM32_GPT_USE_TIM3 FALSE +#define STM32_GPT_USE_TIM4 FALSE +#define STM32_GPT_USE_TIM5 FALSE +#define STM32_GPT_USE_TIM9 FALSE +#define STM32_GPT_USE_TIM10 FALSE +#define STM32_GPT_USE_TIM11 FALSE + +/* + * I2C driver system settings. + */ +#define STM32_I2C_USE_I2C1 FALSE +#define STM32_I2C_USE_I2C2 FALSE +#define STM32_I2C_USE_I2C3 FALSE +#define STM32_I2C_BUSY_TIMEOUT 50 +#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) +#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6) +#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2) +#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) +#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2) +#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) +#define STM32_I2C_I2C1_IRQ_PRIORITY 5 +#define STM32_I2C_I2C2_IRQ_PRIORITY 5 +#define STM32_I2C_I2C3_IRQ_PRIORITY 5 +#define STM32_I2C_I2C1_DMA_PRIORITY 3 +#define STM32_I2C_I2C2_DMA_PRIORITY 3 +#define STM32_I2C_I2C3_DMA_PRIORITY 3 +#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") + +/* + * I2S driver system settings. + */ +#define STM32_I2S_USE_SPI2 FALSE +#define STM32_I2S_USE_SPI3 FALSE +#define STM32_I2S_SPI2_IRQ_PRIORITY 10 +#define STM32_I2S_SPI3_IRQ_PRIORITY 10 +#define STM32_I2S_SPI2_DMA_PRIORITY 1 +#define STM32_I2S_SPI3_DMA_PRIORITY 1 +#define STM32_I2S_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3) +#define STM32_I2S_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) +#define STM32_I2S_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) +#define STM32_I2S_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) +#define STM32_I2S_DMA_ERROR_HOOK(i2sp) osalSysHalt("DMA failure") + +/* + * ICU driver system settings. + */ +#define STM32_ICU_USE_TIM1 FALSE +#define STM32_ICU_USE_TIM2 FALSE +#define STM32_ICU_USE_TIM3 FALSE +#define STM32_ICU_USE_TIM4 FALSE +#define STM32_ICU_USE_TIM5 FALSE +#define STM32_ICU_USE_TIM9 FALSE +#define STM32_ICU_USE_TIM10 FALSE +#define STM32_ICU_USE_TIM11 FALSE + +/* + * PWM driver system settings. + */ +#define STM32_PWM_USE_TIM1 FALSE +#define STM32_PWM_USE_TIM2 FALSE +#define STM32_PWM_USE_TIM3 FALSE +#define STM32_PWM_USE_TIM4 FALSE +#define STM32_PWM_USE_TIM5 FALSE +#define STM32_PWM_USE_TIM9 FALSE +#define STM32_PWM_USE_TIM10 FALSE +#define STM32_PWM_USE_TIM11 FALSE + +/* + * SERIAL driver system settings. + */ +#define STM32_SERIAL_USE_USART1 FALSE +#define STM32_SERIAL_USE_USART2 FALSE +#define STM32_SERIAL_USE_USART6 FALSE + +/* + * SPI driver system settings. + */ +#define STM32_SPI_USE_SPI1 FALSE +#define STM32_SPI_USE_SPI2 FALSE +#define STM32_SPI_USE_SPI3 FALSE +#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) +#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) +#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3) +#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) +#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) +#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) +#define STM32_SPI_SPI1_DMA_PRIORITY 1 +#define STM32_SPI_SPI2_DMA_PRIORITY 1 +#define STM32_SPI_SPI3_DMA_PRIORITY 1 +#define STM32_SPI_SPI1_IRQ_PRIORITY 10 +#define STM32_SPI_SPI2_IRQ_PRIORITY 10 +#define STM32_SPI_SPI3_IRQ_PRIORITY 10 +#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") + +/* + * ST driver system settings. + */ +#define STM32_ST_IRQ_PRIORITY 8 +#define STM32_ST_USE_TIMER 2 + +/* + * UART driver system settings. + */ +#define STM32_UART_USE_USART1 FALSE +#define STM32_UART_USE_USART2 FALSE +#define STM32_UART_USE_USART6 FALSE +#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5) +#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7) +#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5) +#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6) +#define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 2) +#define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7) +#define STM32_UART_USART1_DMA_PRIORITY 0 +#define STM32_UART_USART2_DMA_PRIORITY 0 +#define STM32_UART_USART6_DMA_PRIORITY 0 +#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure") + +/* + * USB driver system settings. + */ +#define STM32_USB_USE_OTG1 TRUE +#define STM32_USB_OTG1_IRQ_PRIORITY 14 +#define STM32_USB_OTG1_RX_FIFO_SIZE 512 +#define STM32_USB_HOST_WAKEUP_DURATION 2 + +/* + * WDG driver system settings. + */ +#define STM32_WDG_USE_IWDG FALSE + +#endif /* MCUCONF_H */ diff --git a/platforms/chibios/boards/GENERIC_STM32_F411XE/board/board.mk b/platforms/chibios/boards/GENERIC_STM32_F411XE/board/board.mk new file mode 100644 index 000000000000..bb00b1a2b0dc --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_F411XE/board/board.mk @@ -0,0 +1,9 @@ +# List of all the board related files. +BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO64_F411RE/board.c + +# Required include directories +BOARDINC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO64_F411RE + +# Shared variables +ALLCSRC += $(BOARDSRC) +ALLINC += $(BOARDINC) diff --git a/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/board.h b/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/board.h new file mode 100644 index 000000000000..30af6b0c8608 --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/board.h @@ -0,0 +1,20 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include_next "board.h" + +#undef STM32_HSE_BYPASS diff --git a/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/config.h new file mode 100644 index 000000000000..e06ca0b7250e --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/config.h @@ -0,0 +1,22 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define BOARD_OTG_NOVBUSSENS 1 + +#ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP +# define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE +#endif diff --git a/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h new file mode 100644 index 000000000000..e1d45ca4877b --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h @@ -0,0 +1,252 @@ +/* + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef MCUCONF_H +#define MCUCONF_H + +/* + * STM32F4xx drivers configuration. + * The following settings override the default settings present in + * the various device driver implementation headers. + * Note that the settings for each driver only have effect if the whole + * driver is enabled in halconf.h. + * + * IRQ priorities: + * 15...0 Lowest...Highest. + * + * DMA priorities: + * 0...3 Lowest...Highest. + */ + +#define STM32F4xx_MCUCONF +#define STM32F411_MCUCONF + +/* + * HAL driver system settings. + */ +#define STM32_NO_INIT FALSE +#define STM32_PVD_ENABLE FALSE +#define STM32_PLS STM32_PLS_LEV0 +#define STM32_BKPRAM_ENABLE FALSE +#define STM32_HSI_ENABLED TRUE +#define STM32_LSI_ENABLED TRUE +#define STM32_HSE_ENABLED TRUE +#define STM32_LSE_ENABLED FALSE +#define STM32_CLOCK48_REQUIRED TRUE +#define STM32_SW STM32_SW_PLL +#define STM32_PLLSRC STM32_PLLSRC_HSE +#define STM32_PLLM_VALUE 4 +#define STM32_PLLN_VALUE 96 +#define STM32_PLLP_VALUE 2 +#define STM32_PLLQ_VALUE 4 +#define STM32_HPRE STM32_HPRE_DIV1 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE2_DIV1 +#define STM32_RTCSEL STM32_RTCSEL_LSI +#define STM32_RTCPRE_VALUE 8 +#define STM32_MCO1SEL STM32_MCO1SEL_HSI +#define STM32_MCO1PRE STM32_MCO1PRE_DIV1 +#define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK +#define STM32_MCO2PRE STM32_MCO2PRE_DIV5 +#define STM32_I2SSRC STM32_I2SSRC_CKIN +#define STM32_PLLI2SN_VALUE 192 +#define STM32_PLLI2SR_VALUE 5 + +/* + * IRQ system settings. + */ +#define STM32_IRQ_EXTI0_PRIORITY 6 +#define STM32_IRQ_EXTI1_PRIORITY 6 +#define STM32_IRQ_EXTI2_PRIORITY 6 +#define STM32_IRQ_EXTI3_PRIORITY 6 +#define STM32_IRQ_EXTI4_PRIORITY 6 +#define STM32_IRQ_EXTI5_9_PRIORITY 6 +#define STM32_IRQ_EXTI10_15_PRIORITY 6 +#define STM32_IRQ_EXTI16_PRIORITY 6 +#define STM32_IRQ_EXTI17_PRIORITY 15 +#define STM32_IRQ_EXTI18_PRIORITY 6 +#define STM32_IRQ_EXTI19_PRIORITY 6 +#define STM32_IRQ_EXTI20_PRIORITY 6 +#define STM32_IRQ_EXTI21_PRIORITY 15 +#define STM32_IRQ_EXTI22_PRIORITY 15 + +#define STM32_IRQ_TIM1_BRK_TIM9_PRIORITY 7 +#define STM32_IRQ_TIM1_UP_TIM10_PRIORITY 7 +#define STM32_IRQ_TIM1_TRGCO_TIM11_PRIORITY 7 +#define STM32_IRQ_TIM1_CC_PRIORITY 7 +#define STM32_IRQ_TIM2_PRIORITY 7 +#define STM32_IRQ_TIM3_PRIORITY 7 +#define STM32_IRQ_TIM4_PRIORITY 7 +#define STM32_IRQ_TIM5_PRIORITY 7 + +#define STM32_IRQ_USART1_PRIORITY 12 +#define STM32_IRQ_USART2_PRIORITY 12 +#define STM32_IRQ_USART6_PRIORITY 12 + +/* + * ADC driver system settings. + */ +#define STM32_ADC_ADCPRE ADC_CCR_ADCPRE_DIV4 +#define STM32_ADC_USE_ADC1 FALSE +#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4) +#define STM32_ADC_ADC1_DMA_PRIORITY 2 +#define STM32_ADC_IRQ_PRIORITY 6 +#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 6 + +/* + * GPT driver system settings. + */ +#define STM32_GPT_USE_TIM1 FALSE +#define STM32_GPT_USE_TIM2 FALSE +#define STM32_GPT_USE_TIM3 FALSE +#define STM32_GPT_USE_TIM4 FALSE +#define STM32_GPT_USE_TIM5 FALSE +#define STM32_GPT_USE_TIM9 FALSE +#define STM32_GPT_USE_TIM10 FALSE +#define STM32_GPT_USE_TIM11 FALSE + +/* + * I2C driver system settings. + */ +#define STM32_I2C_USE_I2C1 FALSE +#define STM32_I2C_USE_I2C2 FALSE +#define STM32_I2C_USE_I2C3 FALSE +#define STM32_I2C_BUSY_TIMEOUT 50 +#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) +#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6) +#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2) +#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) +#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2) +#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) +#define STM32_I2C_I2C1_IRQ_PRIORITY 5 +#define STM32_I2C_I2C2_IRQ_PRIORITY 5 +#define STM32_I2C_I2C3_IRQ_PRIORITY 5 +#define STM32_I2C_I2C1_DMA_PRIORITY 3 +#define STM32_I2C_I2C2_DMA_PRIORITY 3 +#define STM32_I2C_I2C3_DMA_PRIORITY 3 +#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") + +/* + * I2S driver system settings. + */ +#define STM32_I2S_USE_SPI2 FALSE +#define STM32_I2S_USE_SPI3 FALSE +#define STM32_I2S_SPI2_IRQ_PRIORITY 10 +#define STM32_I2S_SPI3_IRQ_PRIORITY 10 +#define STM32_I2S_SPI2_DMA_PRIORITY 1 +#define STM32_I2S_SPI3_DMA_PRIORITY 1 +#define STM32_I2S_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3) +#define STM32_I2S_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) +#define STM32_I2S_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) +#define STM32_I2S_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) +#define STM32_I2S_DMA_ERROR_HOOK(i2sp) osalSysHalt("DMA failure") + +/* + * ICU driver system settings. + */ +#define STM32_ICU_USE_TIM1 FALSE +#define STM32_ICU_USE_TIM2 FALSE +#define STM32_ICU_USE_TIM3 FALSE +#define STM32_ICU_USE_TIM4 FALSE +#define STM32_ICU_USE_TIM5 FALSE +#define STM32_ICU_USE_TIM9 FALSE +#define STM32_ICU_USE_TIM10 FALSE +#define STM32_ICU_USE_TIM11 FALSE + +/* + * PWM driver system settings. + */ +#define STM32_PWM_USE_TIM1 FALSE +#define STM32_PWM_USE_TIM2 FALSE +#define STM32_PWM_USE_TIM3 FALSE +#define STM32_PWM_USE_TIM4 FALSE +#define STM32_PWM_USE_TIM5 FALSE +#define STM32_PWM_USE_TIM9 FALSE +#define STM32_PWM_USE_TIM10 FALSE +#define STM32_PWM_USE_TIM11 FALSE + +/* + * RTC driver system settings. + */ +#define STM32_RTC_PRESA_VALUE 32 +#define STM32_RTC_PRESS_VALUE 1024 +#define STM32_RTC_CR_INIT 0 +#define STM32_RTC_TAMPCR_INIT 0 + +/* + * SERIAL driver system settings. + */ +#define STM32_SERIAL_USE_USART1 FALSE +#define STM32_SERIAL_USE_USART2 FALSE +#define STM32_SERIAL_USE_USART6 FALSE + +/* + * SPI driver system settings. + */ +#define STM32_SPI_USE_SPI1 FALSE +#define STM32_SPI_USE_SPI2 FALSE +#define STM32_SPI_USE_SPI3 FALSE +#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) +#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) +#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3) +#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) +#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) +#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) +#define STM32_SPI_SPI1_DMA_PRIORITY 1 +#define STM32_SPI_SPI2_DMA_PRIORITY 1 +#define STM32_SPI_SPI3_DMA_PRIORITY 1 +#define STM32_SPI_SPI1_IRQ_PRIORITY 10 +#define STM32_SPI_SPI2_IRQ_PRIORITY 10 +#define STM32_SPI_SPI3_IRQ_PRIORITY 10 +#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") + +/* + * ST driver system settings. + */ +#define STM32_ST_IRQ_PRIORITY 8 +#define STM32_ST_USE_TIMER 2 + +/* + * UART driver system settings. + */ +#define STM32_UART_USE_USART1 FALSE +#define STM32_UART_USE_USART2 FALSE +#define STM32_UART_USE_USART6 FALSE +#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5) +#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7) +#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5) +#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6) +#define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 2) +#define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7) +#define STM32_UART_USART1_DMA_PRIORITY 0 +#define STM32_UART_USART2_DMA_PRIORITY 0 +#define STM32_UART_USART6_DMA_PRIORITY 0 +#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure") + +/* + * USB driver system settings. + */ +#define STM32_USB_USE_OTG1 TRUE +#define STM32_USB_OTG1_IRQ_PRIORITY 14 +#define STM32_USB_OTG1_RX_FIFO_SIZE 512 +#define STM32_USB_HOST_WAKEUP_DURATION 2 + +/* + * WDG driver system settings. + */ +#define STM32_WDG_USE_IWDG FALSE + +#endif /* MCUCONF_H */ diff --git a/platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xC_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F401xC_tinyuf2.ld similarity index 100% rename from platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xC_tinyuf2.ld rename to platforms/chibios/boards/common/ld/STM32F401xC_tinyuf2.ld diff --git a/platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xE_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F401xE_tinyuf2.ld similarity index 100% rename from platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xE_tinyuf2.ld rename to platforms/chibios/boards/common/ld/STM32F401xE_tinyuf2.ld diff --git a/platforms/chibios/boards/BLACKPILL_STM32_F411/ld/STM32F411xC_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F411xC_tinyuf2.ld similarity index 100% rename from platforms/chibios/boards/BLACKPILL_STM32_F411/ld/STM32F411xC_tinyuf2.ld rename to platforms/chibios/boards/common/ld/STM32F411xC_tinyuf2.ld diff --git a/platforms/chibios/boards/BLACKPILL_STM32_F411/ld/STM32F411xE_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F411xE_tinyuf2.ld similarity index 100% rename from platforms/chibios/boards/BLACKPILL_STM32_F411/ld/STM32F411xE_tinyuf2.ld rename to platforms/chibios/boards/common/ld/STM32F411xE_tinyuf2.ld From d508988916cb47dcdeedd0167a48ab99ca202417 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 6 Apr 2022 03:06:27 -0700 Subject: [PATCH 0476/1832] QK65 Hotswap Community Layout Support (#16793) * qk65 hotswap: Community Layout support - renames `LAYOUT_hotswap` to `LAYOUT_65_ansi_blocker` - adds Community Layouts rule to `rules.mk` * refactor keymaps Edits the keymaps to align the keycodes in a grid. Whitespace-only change. --- keyboards/qwertykeys/qk65/hotswap/hotswap.h | 2 +- keyboards/qwertykeys/qk65/hotswap/info.json | 7 +- .../qk65/hotswap/keymaps/default/keymap.c | 68 +++++++++---------- .../qk65/hotswap/keymaps/via/keymap.c | 68 +++++++++---------- keyboards/qwertykeys/qk65/hotswap/rules.mk | 4 +- 5 files changed, 77 insertions(+), 72 deletions(-) diff --git a/keyboards/qwertykeys/qk65/hotswap/hotswap.h b/keyboards/qwertykeys/qk65/hotswap/hotswap.h index 334ce82277a6..daa7ffd5f3d8 100644 --- a/keyboards/qwertykeys/qk65/hotswap/hotswap.h +++ b/keyboards/qwertykeys/qk65/hotswap/hotswap.h @@ -18,7 +18,7 @@ along with this program. If not, see . #pragma once #include "quantum.h" -#define LAYOUT_hotswap( \ +#define LAYOUT_65_ansi_blocker( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214, \ diff --git a/keyboards/qwertykeys/qk65/hotswap/info.json b/keyboards/qwertykeys/qk65/hotswap/info.json index 2848a3f5e819..21d30bd49112 100644 --- a/keyboards/qwertykeys/qk65/hotswap/info.json +++ b/keyboards/qwertykeys/qk65/hotswap/info.json @@ -2,8 +2,11 @@ "keyboard_name": "qk65", "url": "", "maintainer": "qwertykeys", + "layout_aliases": { + "LAYOUT_hotswap": "LAYOUT_65_ansi_blocker" + }, "layouts": { - "LAYOUT_hotswap": { + "LAYOUT_65_ansi_blocker": { "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, @@ -75,4 +78,4 @@ ] } } -} \ No newline at end of file +} diff --git a/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c b/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c index 4c9960f29eb1..86799d7617b9 100644 --- a/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c +++ b/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* +/* Copyright 2022 qwertykeys This program is free software: you can redistribute it and/or modify @@ -19,36 +19,36 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_hotswap( - 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_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_PGUP, - 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, - 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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT_hotswap( - 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, KC_TRNS, RESET, - 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_HOME, - 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_END, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT_hotswap( - 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [3] = LAYOUT_hotswap( - 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS - ) - -}; \ No newline at end of file + [0] = LAYOUT_65_ansi_blocker( + 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_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_PGUP, + 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, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_65_ansi_blocker( + 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, KC_TRNS, RESET, + 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_HOME, + 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_END, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_65_ansi_blocker( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_65_ansi_blocker( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; diff --git a/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c b/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c index ca81553007b3..67f5d3890878 100644 --- a/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c +++ b/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* +/* Copyright 2022 qwertykeys This program is free software: you can redistribute it and/or modify @@ -19,36 +19,36 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_hotswap( - 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_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_PGUP, - 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, - 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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT_hotswap( - 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, KC_TRNS, RESET, - 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_HOME, - 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_END, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT_hotswap( - 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [3] = LAYOUT_hotswap( - 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS - ) - -}; \ No newline at end of file + [0] = LAYOUT_65_ansi_blocker( + 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_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_PGUP, + 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, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_65_ansi_blocker( + 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, KC_TRNS, RESET, + 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_HOME, + 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_END, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_65_ansi_blocker( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_65_ansi_blocker( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; diff --git a/keyboards/qwertykeys/qk65/hotswap/rules.mk b/keyboards/qwertykeys/qk65/hotswap/rules.mk index f9417ae2bf7c..22b16cb763a7 100644 --- a/keyboards/qwertykeys/qk65/hotswap/rules.mk +++ b/keyboards/qwertykeys/qk65/hotswap/rules.mk @@ -15,4 +15,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output \ No newline at end of file +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi_blocker From 4a729a7be5ac52e1997d02f74e7173256ed03b93 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 6 Apr 2022 03:13:05 -0700 Subject: [PATCH 0477/1832] QK65 Solder Community Layout Support (#16796) * refactor solder.h - use QMK 3-character notation - convert tabs to spaces * solder.h: add matrix diagram * rename LAYOUT_solder to LAYOUT_all * rename LAYOUT_iso to LAYOUT_65_iso_blocker Also adds Community Layouts rule to `rules.mk`. * info.json: improve formatting - convert tabs to spaces - format file to four-space indent * refactor keymaps - convert tabs to spaces - update grid alignment of keycodes - remove trailing whitespace * add LAYOUT_65_ansi_blocker * add LAYOUT_65_ansi_blocker_split_bs * add LAYOUT_65_iso_blocker_split_bs * add LAYOUT_65_ansi_blocker_tsangan * add LAYOUT_65_iso_blocker_tsangan * add LAYOUT_65_ansi_blocker_tsangan_split_bs * add LAYOUT_65_iso_blocker_tsangan_split_bs * remove 65_ansi_blocker_tsangan_split_bs from `LAYOUTS` rule --- keyboards/qwertykeys/qk65/solder/info.json | 552 +++++++++++++++++- .../qk65/solder/keymaps/default/keymap.c | 65 ++- .../qk65/solder/keymaps/via/keymap.c | 65 ++- keyboards/qwertykeys/qk65/solder/rules.mk | 4 +- keyboards/qwertykeys/qk65/solder/solder.h | 161 ++++- 5 files changed, 753 insertions(+), 94 deletions(-) diff --git a/keyboards/qwertykeys/qk65/solder/info.json b/keyboards/qwertykeys/qk65/solder/info.json index 22518136235d..53c5179f4287 100644 --- a/keyboards/qwertykeys/qk65/solder/info.json +++ b/keyboards/qwertykeys/qk65/solder/info.json @@ -2,8 +2,12 @@ "keyboard_name": "qk65", "url": "", "maintainer": "qwertykeys", + "layout_aliases": { + "LAYOUT_solder": "LAYOUT_all", + "LAYOUT_iso": "LAYOUT_65_iso_blocker" + }, "layouts": { - "LAYOUT_solder": { + "LAYOUT_all": { "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, @@ -21,6 +25,7 @@ {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, + {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, @@ -36,6 +41,7 @@ {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, + {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, @@ -50,6 +56,7 @@ {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, + {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, @@ -65,6 +72,7 @@ {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, + {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, @@ -72,11 +80,11 @@ {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, - {"x":14, "y":4}, + {"x":14, "y":4}, {"x":15, "y":4} ] }, - "LAYOUT_iso": { + "LAYOUT_65_ansi_blocker": { "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, @@ -93,6 +101,384 @@ {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, @@ -107,6 +493,7 @@ {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":15, "y":1}, + {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, @@ -122,6 +509,7 @@ {"x":12.75, "y":2}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":15, "y":2}, + {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, @@ -137,6 +525,7 @@ {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, + {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, @@ -144,9 +533,160 @@ {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, - {"x":14, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, {"x":15, "y":4} ] - } + } } -} \ No newline at end of file +} diff --git a/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c b/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c index 8d52b17d2a29..ea9b36136f19 100644 --- a/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c +++ b/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* +/* Copyright 2022 qwertykeys This program is free software: you can redistribute it and/or modify @@ -19,35 +19,36 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_iso( - 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_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_PGUP, - 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_PGDN, - KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT_iso( - 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, KC_TRNS, RESET, - 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_HOME, - 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_END, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT_iso( - 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [3] = LAYOUT_iso( - 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) + [0] = LAYOUT_65_iso_blocker( + 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_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_PGUP, + 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_PGDN, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_65_iso_blocker( + 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, KC_TRNS, RESET, + 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_HOME, + 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_END, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_65_iso_blocker( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_65_iso_blocker( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + }; diff --git a/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c b/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c index 88afc5984bb2..c1059821b1e0 100644 --- a/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c +++ b/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* +/* Copyright 2022 qwertykeys This program is free software: you can redistribute it and/or modify @@ -19,35 +19,36 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_solder( - 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, KC_DEL, - 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_PGUP, - 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, - KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT_solder( - 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, KC_TRNS, KC_TRNS, RESET, - 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_HOME, - 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_END, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT_solder( - 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, - 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [3] = LAYOUT_solder( - 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, - 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) + [0] = LAYOUT_all( + 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, KC_DEL, + 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_PGUP, + 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, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + 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, KC_TRNS, KC_TRNS, RESET, + 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_HOME, + 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_END, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + }; diff --git a/keyboards/qwertykeys/qk65/solder/rules.mk b/keyboards/qwertykeys/qk65/solder/rules.mk index f9417ae2bf7c..ac453b785b68 100644 --- a/keyboards/qwertykeys/qk65/solder/rules.mk +++ b/keyboards/qwertykeys/qk65/solder/rules.mk @@ -15,4 +15,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output \ No newline at end of file +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs 65_ansi_blocker_tsangan 65_iso_blocker 65_iso_blocker_split_bs diff --git a/keyboards/qwertykeys/qk65/solder/solder.h b/keyboards/qwertykeys/qk65/solder/solder.h index b796ae1e912f..418bf45edd92 100644 --- a/keyboards/qwertykeys/qk65/solder/solder.h +++ b/keyboards/qwertykeys/qk65/solder/solder.h @@ -1,4 +1,4 @@ -/* +/* Copyright 2022 qwertykeys This program is free software: you can redistribute it and/or modify @@ -16,35 +16,150 @@ along with this program. If not, see . */ #pragma once + #include "quantum.h" -#define LAYOUT_solder( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K113, K013, K014, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K212, K114, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214, \ - K300, K312, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ - K400, K401, K402, K404, K407, K408, K412, K413, K414 \ +#define ___ KC_NO + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │1D │0D │0E │ │0D │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ ISO Enter + * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ │2C │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ + * │30 │ │30 │3C │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │44 │47 │48 │ │4C │4D │4E │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┐ + * │40 │41 │42 │44 │48 │ Tsangan + * └─────┴───┴─────┴───────────────────────────┴─────┘ + */ + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K1D, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K3C, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K44, K47, K48, K4C, K4D, K4E \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ - { K400, K401, K402, KC_NO, K404, KC_NO, KC_NO, K407, K408, KC_NO, KC_NO, KC_NO, K412, K413, K414 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, ___, K44, ___, ___, K47, K48, ___, ___, ___, K4C, K4D, K4E } \ } +#define LAYOUT_65_ansi_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K44, K47, K48, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ + { K40, K41, K42, ___, K44, ___, ___, K47, K48, ___, ___, ___, K4C, K4D, K4E } \ +} +#define LAYOUT_65_ansi_blocker_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K1D, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K44, K47, K48, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ + { K40, K41, K42, ___, K44, ___, ___, K47, K48, ___, ___, ___, K4C, K4D, K4E } \ +} -#define LAYOUT_iso( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \ - K300, K312, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ - K400, K401, K402, K404, K407, K408, K412, K413, K414 \ +#define LAYOUT_65_ansi_blocker_tsangan( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K44, K48, K4C, K4D, K4E \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114 }, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ - { K400, K401, K402, KC_NO, K404, KC_NO, KC_NO, K407, K408, KC_NO, KC_NO, KC_NO, K412, K413, K414 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ + { K40, K41, K42, ___, K44, ___, ___, ___, K48, ___, ___, ___, K4C, K4D, K4E } \ } +#define LAYOUT_65_ansi_blocker_tsangan_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K1D, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K44, K48, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ + { K40, K41, K42, ___, K44, ___, ___, ___, K48, ___, ___, ___, K4C, K4D, K4E } \ +} + +#define LAYOUT_65_iso_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \ + K30, K3C, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K44, K47, K48, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, ___, K44, ___, ___, K47, K48, ___, ___, ___, K4C, K4D, K4E } \ +} + +#define LAYOUT_65_iso_blocker_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K1D, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \ + K30, K3C, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K44, K47, K48, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, ___, K44, ___, ___, K47, K48, ___, ___, ___, K4C, K4D, K4E } \ +} + +#define LAYOUT_65_iso_blocker_tsangan( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \ + K30, K3C, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K44, K48, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, ___, K44, ___, ___, ___, K48, ___, ___, ___, K4C, K4D, K4E } \ +} + +#define LAYOUT_65_iso_blocker_tsangan_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K1D, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \ + K30, K3C, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K44, K48, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, ___, K44, ___, ___, ___, K48, ___, ___, ___, K4C, K4D, K4E } \ +} From d8707164578790e7b4aed9767431013b6ded40cb Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 6 Apr 2022 15:46:13 +0100 Subject: [PATCH 0478/1832] Add bluepill/blackpill development board presets (#16806) --- data/mappings/defaults.json | 15 +++++++++++++++ data/schemas/keyboard.jsonschema | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/data/mappings/defaults.json b/data/mappings/defaults.json index 3d3d915c0e56..e62ab688d6cf 100644 --- a/data/mappings/defaults.json +++ b/data/mappings/defaults.json @@ -15,6 +15,21 @@ "bootloader": "stm32-dfu", "board": "QMK_PROTON_C", "pin_compatible": "promicro" + }, + "bluepill": { + "processor": "STM32F103", + "bootloader": "stm32duino", + "board": "STM32_F103_STM32DUINO" + }, + "blackpill_f401": { + "processor": "STM32F401", + "bootloader": "stm32-dfu", + "board": "BLACKPILL_STM32_F401" + }, + "blackpill_f411": { + "processor": "STM32F411", + "bootloader": "stm32-dfu", + "board": "BLACKPILL_STM32_F411" } } } \ No newline at end of file diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 9af3ef59813f..68a02420a410 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -14,7 +14,7 @@ }, "development_board": { "type": "string", - "enum": ["promicro", "elite_c", "proton_c"] + "enum": ["promicro", "elite_c", "proton_c", "bluepill", "blackpill_f401", "blackpill_f411"] }, "pin_compatible": { "type": "string", From 85de02057344fe48c9b88f43260165da100ecca7 Mon Sep 17 00:00:00 2001 From: Erovia Date: Wed, 6 Apr 2022 19:46:16 +0100 Subject: [PATCH 0479/1832] CLI: Bump the 'jsonschema' version (#16635) * CLI: Bump the 'jsonschema' version Update the used meta-schema from Draft 7 from 2018 to the latest one, Draft 2020-12. Currently, the validator falls back to Draft 7 if the newer validator is not available. Draft 2020-12 support was introduced to 'jsonschema' in version 4.0.0. * Fix formatting --- lib/python/qmk/json_schema.py | 6 +++++- requirements.txt | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/json_schema.py b/lib/python/qmk/json_schema.py index 2b48782fbbc4..682346113e93 100644 --- a/lib/python/qmk/json_schema.py +++ b/lib/python/qmk/json_schema.py @@ -68,7 +68,11 @@ def create_validator(schema): schema_store = compile_schema_store() resolver = jsonschema.RefResolver.from_schema(schema_store[schema], store=schema_store) - return jsonschema.Draft7Validator(schema_store[schema], resolver=resolver).validate + # TODO: Remove this after the jsonschema>=4 requirement had time to reach users + try: + return jsonschema.Draft202012Validator(schema_store[schema], resolver=resolver).validate + except AttributeError: + return jsonschema.Draft7Validator(schema_store[schema], resolver=resolver).validate def validate(data, schema): diff --git a/requirements.txt b/requirements.txt index 92381d7d5182..6d338ae1cbd1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ argcomplete colorama hid hjson -jsonschema>=3 +jsonschema>=4 milc>=1.4.2 pygments pyusb From fa978542e9d0250e7b65d29a6c598d40594b1f1d Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 6 Apr 2022 14:00:59 -0700 Subject: [PATCH 0480/1832] Sandwich Keeb68 Layout Macro Rework and Configurator Data (#16803) * keeb68.h: use QMK 3-character notation * physically arrange layout macro Moves the keycodes for Equals and Right Bracket to their proper places on the Number and Tab rows, respectively. Also refactors the keymaps to use QMK-native keycode aliases, grid alignment, and four-space indent. * move `keymaps/grv_esc/readme.md` to `keymaps/default/` The file contents say "default keymap". * enable Community Layouts support * add QMK Configurator data * touch-up `rules.mk` --- keyboards/sandwich/keeb68/info.json | 83 +++++++++++++++++++ keyboards/sandwich/keeb68/keeb68.h | 23 ++--- .../sandwich/keeb68/keymaps/default/keymap.c | 22 +++-- .../keymaps/{grv_esc => default}/readme.md | 0 .../sandwich/keeb68/keymaps/grv_esc/keymap.c | 22 +++-- keyboards/sandwich/keeb68/rules.mk | 6 +- 6 files changed, 119 insertions(+), 37 deletions(-) create mode 100644 keyboards/sandwich/keeb68/info.json rename keyboards/sandwich/keeb68/keymaps/{grv_esc => default}/readme.md (100%) diff --git a/keyboards/sandwich/keeb68/info.json b/keyboards/sandwich/keeb68/info.json new file mode 100644 index 000000000000..c6b5cb4f531e --- /dev/null +++ b/keyboards/sandwich/keeb68/info.json @@ -0,0 +1,83 @@ +{ + "keyboard_name": "Keeb68 (PSE)", + "url": "", + "maintainer": "SandwichRising", + "layouts": { + "LAYOUT_65_ansi": { + "layout": [ + {"label":"ESC", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"~", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"DEL", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PG UP", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PG DN", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4}, + {"label":"Fn", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + } +} diff --git a/keyboards/sandwich/keeb68/keeb68.h b/keyboards/sandwich/keeb68/keeb68.h index 10182dd9a1ad..fd5510cc3f26 100644 --- a/keyboards/sandwich/keeb68/keeb68.h +++ b/keyboards/sandwich/keeb68/keeb68.h @@ -18,6 +18,8 @@ #include "quantum.h" +#define ___ KC_NO + /* This is a shortcut to help you visually see your layout. * * The first section contains all of the arguments representing the physical @@ -27,16 +29,15 @@ * represents the switch matrix. */ #define LAYOUT_65_ansi( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \ - K400, K401, K402, K405, K406, K407, K408, K409, K410, K411, K412, K413 \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K46, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K47, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K45, K48, K49, K4A, K4B, K4C, K4D \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213 }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313 }, \ - { K400, K401, K402, KC_NO , KC_NO , K405 , K406, K407, K408, K409, K410, K411, K412, K413 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ + { K40, K41, K42, ___, ___, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D } \ } - diff --git a/keyboards/sandwich/keeb68/keymaps/default/keymap.c b/keyboards/sandwich/keeb68/keymaps/default/keymap.c index ce08cceabfba..4c20b53e814b 100644 --- a/keyboards/sandwich/keeb68/keymaps/default/keymap.c +++ b/keyboards/sandwich/keeb68/keymaps/default/keymap.c @@ -24,19 +24,17 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ [_BASE] = LAYOUT_65_ansi( - 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_BSPC, KC_GRV, - 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_BSLS, KC_DEL, - 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, - 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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_EQL, KC_RBRC,KC_RALT,MO(_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - + 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_GRV, + 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_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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_65_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_DEL, KC_PSCREEN, - _______, _______, BL_INC, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PAUSE, - _______, BL_TOGG, BL_DEC, BL_BRTG,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_HOME, - _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______, KC_VOLU, KC_END, - _______, RESET, _______, _______,KC_F12, _______,_______,MO(_FN),_______,_______, KC_VOLD, _______ - + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR, + _______, _______, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, + _______, BL_TOGG, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_END, + _______, RESET, _______, _______, _______, MO(_FN), _______, _______, KC_VOLD, _______ ) }; diff --git a/keyboards/sandwich/keeb68/keymaps/grv_esc/readme.md b/keyboards/sandwich/keeb68/keymaps/default/readme.md similarity index 100% rename from keyboards/sandwich/keeb68/keymaps/grv_esc/readme.md rename to keyboards/sandwich/keeb68/keymaps/default/readme.md diff --git a/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c b/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c index b7853b3c311e..eb5452a7c436 100644 --- a/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c +++ b/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c @@ -24,19 +24,17 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ [_BASE] = LAYOUT_65_ansi( - 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_BSPC, KC_INS, - 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_BSLS, KC_DEL, - 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, - 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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_EQL, KC_RBRC,KC_RALT,MO(_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - + 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_INS, + 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_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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_65_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_DEL, KC_PSCREEN, - _______, _______, BL_INC, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PAUSE, - _______, BL_TOGG, BL_DEC, BL_BRTG,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_HOME, - _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______, KC_VOLU, KC_END, - _______, RESET, _______, _______,KC_F12, _______,_______,MO(_FN),_______,_______, KC_VOLD, _______ - + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR, + _______, _______, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, + _______, BL_TOGG, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_END, + _______, RESET, _______, _______, _______, MO(_FN), _______, _______, KC_VOLD, _______ ) }; diff --git a/keyboards/sandwich/keeb68/rules.mk b/keyboards/sandwich/keeb68/rules.mk index ba835590bb10..bb1e6634d903 100644 --- a/keyboards/sandwich/keeb68/rules.mk +++ b/keyboards/sandwich/keeb68/rules.mk @@ -12,7 +12,9 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi From d198d7924d5c881c6ce296e794990e479182db15 Mon Sep 17 00:00:00 2001 From: Laneware <68452738+Laneware@users.noreply.github.com> Date: Thu, 7 Apr 2022 15:19:24 +1000 Subject: [PATCH 0481/1832] Update LW-67 info.json (#16788) * Update info.json Fixed: -ISO Enter Position -Up Arrow Position -PgDn Position Cause of Error: -Keyboard Layout Editor Places Iso Enter on R1 Rather Than R2 like the ANSI Enter * Update info.json Fixed Compile Error to Previous Change * Update keyboards/lw67/info.json --- keyboards/lw67/info.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/lw67/info.json b/keyboards/lw67/info.json index 6bccc7bce343..ad15cc2264a0 100644 --- a/keyboards/lw67/info.json +++ b/keyboards/lw67/info.json @@ -4,19 +4,19 @@ "maintainer": "qmk", "layouts":{ "LAYOUT_ansi":{ - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Mute", "x":16, "y":0.5}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Delete", "x":15.5, "y":2}, {"label":"PgUp", "x":16.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"PgDn", "x":16.5, "y":3}, {"label":"\u2191", "x":15.25, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4.25}, {"label":"\u2193", "x":15.25, "y":4.25}, {"label":"\u2192", "x":16.25, "y":4.25}] + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Mute", "x":16, "y":0.5}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Delete", "x":15.5, "y":2}, {"label":"PgUp", "x":16.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"\u2191", "x":15.25, "y":3.25}, {"label":"PgDn", "x":16.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4.25}, {"label":"\u2193", "x":15.25, "y":4.25}, {"label":"\u2192", "x":16.25, "y":4.25}] }, "LAYOUT_ansi_splitbs": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"~", "x":13, "y":0}, {"label":"Backspace", "x":14, "y":0}, {"label":"Mute", "x":16, "y":0.5}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Delete", "x":15.5, "y":2}, {"label":"PgUp", "x":16.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"PgDn", "x":16.5, "y":3}, {"label":"\u2191", "x":15.25, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4.25}, {"label":"\u2193", "x":15.25, "y":4.25}, {"label":"\u2192", "x":16.25, "y":4.25}] + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"~", "x":13, "y":0}, {"label":"Backspace", "x":14, "y":0}, {"label":"Mute", "x":16, "y":0.5}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Delete", "x":15.5, "y":2}, {"label":"PgUp", "x":16.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"\u2191", "x":15.25, "y":3.25}, {"label":"PgDn", "x":16.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4.25}, {"label":"\u2193", "x":15.25, "y":4.25}, {"label":"\u2192", "x":16.25, "y":4.25}] }, "LAYOUT_iso": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Mute", "x":16, "y":0.5}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Delete", "x":15.5, "y":2}, {"label":"PgUp", "x":16.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"PgDn", "x":16.5, "y":3}, {"label":"\u2191", "x":15.25, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4.25}, {"label":"\u2193", "x":15.25, "y":4.25}, {"label":"\u2192", "x":16.25, "y":4.25}] + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Mute", "x":16, "y":0.5}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Delete", "x":15.5, "y":2}, {"label":"PgUp", "x":16.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"\u2191", "x":15.25, "y":3.25}, {"label":"PgDn", "x":16.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4.25}, {"label":"\u2193", "x":15.25, "y":4.25}, {"label":"\u2192", "x":16.25, "y":4.25}] }, "LAYOUT_iso_splitbs": { - "layout": [{"label":"Esc", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"\"", "x":2, "y":1.5}, {"label":"\u00a3", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"\u00ac", "x":13, "y":1.5}, {"label":"Backspace", "x":14, "y":1.5}, {"label":"Mute", "x":16, "y":2}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"@", "x":11.75, "y":3.5}, {"label":"~", "x":12.75, "y":3.5}, {"label":"Delete", "x":15.5, "y":3.5}, {"label":"PgUp", "x":16.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"PgDn", "x":16.5, "y":4.5}, {"label":"\u2191", "x":15.25, "y":4.75}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"label":"AltGr", "x":10, "y":5.5, "w":1.25}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"\u2190", "x":14.25, "y":5.75}, {"label":"\u2193", "x":15.25, "y":5.75}, {"label":"\u2192", "x":16.25, "y":5.75}] + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"\u00ac", "x":13, "y":0}, {"label":"Backspace", "x":14, "y":0}, {"label":"Mute", "x":16, "y":0.5}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Delete", "x":15.5, "y":2}, {"label":"PgUp", "x":16.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"\u2191", "x":15.25, "y":3.25}, {"label":"PgDn", "x":16.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4.25}, {"label":"\u2193", "x":15.25, "y":4.25}, {"label":"\u2192", "x":16.25, "y":4.25}] } - } + } } From f4c6e76cf648366acb282d78a7de7f03bf4a365d Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 7 Apr 2022 05:51:17 -0700 Subject: [PATCH 0482/1832] io_mini1800 Configurator Fixes (#16813) * info.json: apply friendly formatting * info.json: fix key sequence errors Fixes out-of-sequence issue for the Numpad Plus key on both layouts. --- keyboards/io_mini1800/info.json | 190 ++++++++++++++++++++++++++++++-- 1 file changed, 180 insertions(+), 10 deletions(-) diff --git a/keyboards/io_mini1800/info.json b/keyboards/io_mini1800/info.json index 020a776027e4..13a5fb326215 100644 --- a/keyboards/io_mini1800/info.json +++ b/keyboards/io_mini1800/info.json @@ -5,20 +5,190 @@ "layouts": { "LAYOUT_625u": { "layout": [ - {"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Ins", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"Num Lock", "x":17.5, "y":0}, {"label":"/", "x":18.5, "y":0}, {"label":"*", "x":19.5, "y":0}, {"label":"-", "x":20.5, "y":0}, - {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"End", "x":15.25, "y":1}, {"label":"Del", "x":16.25, "y":1}, {"label":"7", "x":17.5, "y":1}, {"label":"8", "x":18.5, "y":1}, {"label":"9", "x":19.5, "y":1}, {"label":"+", "x":20.5, "y":1, "h":2}, - {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":17.5, "y":2}, {"label":"5", "x":18.5, "y":2}, {"label":"6", "x":19.5, "y":2}, - {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Up", "x":15.75, "y":3.5}, {"label":"1", "x":17.5, "y":3}, {"label":"2", "x":18.5, "y":3}, {"label":"3", "x":19.5, "y":3}, - {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Win", "x":11.5, "y":4, "w":1.25}, {"label":"Fn", "x":12.75, "y":4, "w":1.25}, {"label":"Left", "x":14.75, "y":4.5}, {"label":"Down", "x":15.75, "y":4.5}, {"label":"Right", "x":16.75, "y":4.5}, {"label":"0", "x":18.5, "y":4}, {"label":".", "x":19.5, "y":4}, {"label":"Enter", "x":20.5, "y":3, "h":2} + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Ins", "x":15.25, "y":0}, + {"label":"Home", "x":16.25, "y":0}, + {"label":"Num Lock", "x":17.5, "y":0}, + {"label":"/", "x":18.5, "y":0}, + {"label":"*", "x":19.5, "y":0}, + {"label":"-", "x":20.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"End", "x":15.25, "y":1}, + {"label":"Del", "x":16.25, "y":1}, + {"label":"7", "x":17.5, "y":1}, + {"label":"8", "x":18.5, "y":1}, + {"label":"9", "x":19.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"4", "x":17.5, "y":2}, + {"label":"5", "x":18.5, "y":2}, + {"label":"6", "x":19.5, "y":2}, + {"label":"+", "x":20.5, "y":1, "h":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + {"label":"Up", "x":15.75, "y":3.5}, + {"label":"1", "x":17.5, "y":3}, + {"label":"2", "x":18.5, "y":3}, + {"label":"3", "x":19.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Win", "x":11.5, "y":4, "w":1.25}, + {"label":"Fn", "x":12.75, "y":4, "w":1.25}, + {"label":"Left", "x":14.75, "y":4.5}, + {"label":"Down", "x":15.75, "y":4.5}, + {"label":"Right", "x":16.75, "y":4.5}, + {"label":"0", "x":18.5, "y":4}, + {"label":".", "x":19.5, "y":4}, + {"label":"Enter", "x":20.5, "y":3, "h":2} ] }, "LAYOUT_2x3u": { "layout": [ - {"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Ins", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"Num Lock", "x":17.5, "y":0}, {"label":"/", "x":18.5, "y":0}, {"label":"*", "x":19.5, "y":0}, {"label":"-", "x":20.5, "y":0}, - {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"End", "x":15.25, "y":1}, {"label":"Del", "x":16.25, "y":1}, {"label":"7", "x":17.5, "y":1}, {"label":"8", "x":18.5, "y":1}, {"label":"9", "x":19.5, "y":1}, {"label":"+", "x":20.5, "y":1, "h":2}, - {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":17.5, "y":2}, {"label":"5", "x":18.5, "y":2}, {"label":"6", "x":19.5, "y":2}, - {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Up", "x":15.75, "y":3.5}, {"label":"1", "x":17.5, "y":3}, {"label":"2", "x":18.5, "y":3}, {"label":"3", "x":19.5, "y":3}, - {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":3}, {"x":6.75, "y":4, "w":3}, {"label":"Alt", "x":9.75, "y":4, "w":1.5}, {"label":"Win", "x":11.25, "y":4, "w":1.5}, {"label":"Fn", "x":12.75, "y":4, "w":1.25}, {"label":"Left", "x":14.75, "y":4.5}, {"label":"Down", "x":15.75, "y":4.5}, {"label":"Right", "x":16.75, "y":4.5}, {"label":"0", "x":18.5, "y":4}, {"label":".", "x":19.5, "y":4}, {"label":"Enter", "x":20.5, "y":3, "h":2}] + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Ins", "x":15.25, "y":0}, + {"label":"Home", "x":16.25, "y":0}, + {"label":"Num Lock", "x":17.5, "y":0}, + {"label":"/", "x":18.5, "y":0}, + {"label":"*", "x":19.5, "y":0}, + {"label":"-", "x":20.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"End", "x":15.25, "y":1}, + {"label":"Del", "x":16.25, "y":1}, + {"label":"7", "x":17.5, "y":1}, + {"label":"8", "x":18.5, "y":1}, + {"label":"9", "x":19.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"4", "x":17.5, "y":2}, + {"label":"5", "x":18.5, "y":2}, + {"label":"6", "x":19.5, "y":2}, + {"label":"+", "x":20.5, "y":1, "h":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + {"label":"Up", "x":15.75, "y":3.5}, + {"label":"1", "x":17.5, "y":3}, + {"label":"2", "x":18.5, "y":3}, + {"label":"3", "x":19.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":3}, + {"x":6.75, "y":4, "w":3}, + {"label":"Alt", "x":9.75, "y":4, "w":1.5}, + {"label":"Win", "x":11.25, "y":4, "w":1.5}, + {"label":"Fn", "x":12.75, "y":4, "w":1.25}, + {"label":"Left", "x":14.75, "y":4.5}, + {"label":"Down", "x":15.75, "y":4.5}, + {"label":"Right", "x":16.75, "y":4.5}, + {"label":"0", "x":18.5, "y":4}, + {"label":".", "x":19.5, "y":4}, + {"label":"Enter", "x":20.5, "y":3, "h":2} + ] } } } From e2ace195b0d32af381dbf18a4a5675d36c7af983 Mon Sep 17 00:00:00 2001 From: joedinkle Date: Thu, 7 Apr 2022 15:10:29 -0700 Subject: [PATCH 0483/1832] Header file fixes for all keymaps (#16180) --- .../eyeohdesigns/theboulevard/theboulevard.h | 120 +++++++++--------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/keyboards/eyeohdesigns/theboulevard/theboulevard.h b/keyboards/eyeohdesigns/theboulevard/theboulevard.h index 0b4828a1b1e7..30b5b2bedf6d 100644 --- a/keyboards/eyeohdesigns/theboulevard/theboulevard.h +++ b/keyboards/eyeohdesigns/theboulevard/theboulevard.h @@ -21,149 +21,149 @@ #define LAYOUT_ortho1( \ k00, k01, k0a, k0b, k0c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b, k4c \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b, k4c \ ) \ { \ { k00, k01, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k0a, k0b, k0c },\ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c },\ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c },\ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ - { k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b, k4c }\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c },\ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ + { k40, k41, k42, k43, k44, k45, KC_NO, k47, k48, k49, k4a, k4b, k4c }\ } #define LAYOUT_ortho2( \ k00, k01, k0a, k0b, k0c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k43, k44, k45, k48, k49, k4a, k4b, k4c \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k43, k44, k45, k48, k49, k4a, k4b, k4c \ ) \ { \ { k00, k01, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k0a, k0b, k0c },\ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c },\ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c },\ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ - { k40, k41, k42, k43, k44, k45, KC_NO, KC_NO, k48, k49, k4a, k4b, k4c }\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c },\ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ + { k40, k41, k42, k43, k44, k45, KC_NO, KC_NO, k48, k49, k4a, k4b, k4c }\ } #define LAYOUT_ortho3( \ k00, k01, k0a, k0b, k0c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k43, k45, k48, k4a, k4b, k4c \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k43, k45, k48, k4a, k4b, k4c \ ) \ { \ { k00, k01, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k0a, k0b, k0c },\ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c },\ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c },\ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ - { k40, k41, k42, k43, KC_NO, k45, KC_NO, KC_NO, k48, KC_NO, k4a, k4b, k4c }\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c },\ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ + { k40, k41, k42, k43, KC_NO, k45, KC_NO, KC_NO, k48, KC_NO, k4a, k4b, k4c }\ } #define LAYOUT_ortho4( \ k00, k01, k0a, k0b, k0c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k46, k4a, k4b, k4c \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k46, k4a, k4b, k4c \ ) \ { \ { k00, k01, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k0a, k0b, k0c },\ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c },\ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c },\ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ - { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c }\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c },\ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ + { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c }\ } #define LAYOUT_ortho5( \ k00, k01, k0a, k0b, k0c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k47, k4b, k4c \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k47, k4b, k4c \ ) \ { \ { k00, k01, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k0a, k0b, k0c },\ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c },\ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c },\ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ - { k40, k41, k42, KC_NO, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, KC_NO, k4b, k4c }\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c },\ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ + { k40, k41, k42, KC_NO, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, KC_NO, k4b, k4c }\ } #define LAYOUT_stagger1( \ k00, k01, k0a, k0b, k0c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b, k4c \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ + k30, k31, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b, k4c \ ) \ { \ { k00, k01, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k0a, k0b, k0c },\ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c },\ - { k20, k21, KC_NO, k23, k24, k25, k26, k27, k28, k29, k2a, KC_NO, k2c },\ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ - { k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b, k4c }\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, KC_NO, k2c },\ + { k30, k31, KC_NO, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ + { k40, k41, k42, k43, k44, k45, KC_NO, k47, k48, k49, k4a, k4b, k4c }\ } #define LAYOUT_stagger2( \ k00, k01, k0a, k0b, k0c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k43, k44, k45, k48, k49, k4a, k4b, k4c \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ + k30, k31, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k43, k44, k45, k48, k49, k4a, k4b, k4c \ ) \ { \ { k00, k01, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k0a, k0b, k0c },\ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c },\ - { k20, k21, KC_NO, k23, k24, k25, k26, k27, k28, k29, k2a, KC_NO, k2c },\ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ - { k40, k41, k42, k43, k44, k45, KC_NO, KC_NO, k48, k49, k4a, k4b, k4c }\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, KC_NO, k2c },\ + { k30, k31, KC_NO, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ + { k40, k41, k42, k43, k44, k45, KC_NO, KC_NO, k48, k49, k4a, k4b, k4c }\ } #define LAYOUT_stagger3( \ k00, k01, k0a, k0b, k0c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k43, k45, k48, k4a, k4b, k4c \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ + k30, k31, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k43, k45, k48, k4a, k4b, k4c \ ) \ { \ { k00, k01, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k0a, k0b, k0c },\ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c },\ - { k20, k21, KC_NO, k23, k24, k25, k26, k27, k28, k29, k2a, KC_NO, k2c },\ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ - { k40, k41, k42, k43, KC_NO, k45, KC_NO, KC_NO, k48, KC_NO, k4a, k4b, k4c }\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, KC_NO, k2c },\ + { k30, k31, KC_NO, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ + { k40, k41, k42, k43, KC_NO, k45, KC_NO, KC_NO, k48, KC_NO, k4a, k4b, k4c }\ } #define LAYOUT_stagger4( \ k00, k01, k0a, k0b, k0c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k46, k4a, k4b, k4c \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ + k30, k31, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k46, k4a, k4b, k4c \ ) \ { \ { k00, k01, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k0a, k0b, k0c },\ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c },\ - { k20, k21, KC_NO, k23, k24, k25, k26, k27, k28, k29, k2a, KC_NO, k2c },\ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ - { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c }\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, KC_NO, k2c },\ + { k30, k31, KC_NO, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ + { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c }\ } #define LAYOUT_stagger5( \ k00, k01, k0a, k0b, k0c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k47, k4b, k4c \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ + k30, k31, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k47, k4b, k4c \ ) \ { \ { k00, k01, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k0a, k0b, k0c },\ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c },\ - { k20, k21, KC_NO, k23, k24, k25, k26, k27, k28, k29, k2a, KC_NO, k2c },\ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ - { k40, k41, k42, KC_NO, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, KC_NO, k4b, k4c }\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, KC_NO, k2c },\ + { k30, k31, KC_NO, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c }, \ + { k40, k41, k42, KC_NO, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, KC_NO, k4b, k4c }\ } From 2cfbc1445cfd8986a76872a30454ddc2e98f6d63 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 8 Apr 2022 20:12:32 +0100 Subject: [PATCH 0484/1832] Allow new-keyboard to use development_board presets (#16785) --- lib/python/qmk/cli/new/keyboard.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/python/qmk/cli/new/keyboard.py b/lib/python/qmk/cli/new/keyboard.py index 1cdfe5320687..8d4def1bef5f 100644 --- a/lib/python/qmk/cli/new/keyboard.py +++ b/lib/python/qmk/cli/new/keyboard.py @@ -14,7 +14,7 @@ from qmk.json_schema import load_jsonschema from qmk.path import keyboard from qmk.json_encoders import InfoJSONEncoder -from qmk.json_schema import deep_update +from qmk.json_schema import deep_update, json_load from qmk.constants import MCU2BOOTLOADER COMMUNITY = Path('layouts/default/') @@ -23,13 +23,14 @@ # defaults schema = dotty(load_jsonschema('keyboard')) mcu_types = sorted(schema["properties.processor.enum"], key=str.casefold) +dev_boards = sorted(schema["properties.development_board.enum"], key=str.casefold) available_layouts = sorted([x.name for x in COMMUNITY.iterdir() if x.is_dir()]) def mcu_type(mcu): """Callable for argparse validation. """ - if mcu not in mcu_types: + if mcu not in (dev_boards + mcu_types): raise ValueError return mcu @@ -176,14 +177,14 @@ def prompt_mcu(): MCU? """ # remove any options strictly used for compatibility - filtered_mcu = [x for x in mcu_types if not any(xs in x for xs in ['cortex', 'unknown'])] + filtered_mcu = [x for x in (dev_boards + mcu_types) if not any(xs in x for xs in ['cortex', 'unknown'])] return choice(prompt, filtered_mcu, default=filtered_mcu.index("atmega32u4")) @cli.argument('-kb', '--keyboard', help='Specify the name for the new keyboard directory', arg_only=True, type=keyboard_name) @cli.argument('-l', '--layout', help='Community layout to bootstrap with', arg_only=True, type=layout_type) -@cli.argument('-t', '--type', help='Specify the keyboard MCU type', arg_only=True, type=mcu_type) +@cli.argument('-t', '--type', help='Specify the keyboard MCU type (or "development_board" preset)', arg_only=True, type=mcu_type) @cli.argument('-u', '--username', help='Specify your username (default from Git config)', dest='name') @cli.argument('-n', '--realname', help='Specify your real name if you want to use that. Defaults to username', arg_only=True) @cli.subcommand('Creates a new keyboard directory') @@ -198,7 +199,6 @@ def new_keyboard(cli): real_name = cli.args.realname or cli.config.new_keyboard.name if cli.args.realname or cli.config.new_keyboard.name else prompt_name(user_name) default_layout = cli.args.layout if cli.args.layout else prompt_layout() mcu = cli.args.type if cli.args.type else prompt_mcu() - bootloader = select_default_bootloader(mcu) if not validate_keyboard_name(kb_name): cli.log.error('Keyboard names must contain only {fg_cyan}lowercase a-z{fg_reset}, {fg_cyan}0-9{fg_reset}, and {fg_cyan}_{fg_reset}! Please choose a different name.') @@ -208,6 +208,16 @@ def new_keyboard(cli): cli.log.error(f'Keyboard {{fg_cyan}}{kb_name}{{fg_reset}} already exists! Please choose a different name.') return 1 + # Preprocess any development_board presets + if mcu in dev_boards: + defaults_map = json_load(Path('data/mappings/defaults.json')) + board = defaults_map['development_board'][mcu] + + mcu = board['processor'] + bootloader = board['bootloader'] + else: + bootloader = select_default_bootloader(mcu) + tokens = { # Comment here is to force multiline formatting 'YEAR': str(date.today().year), 'KEYBOARD': kb_name, From 98d411232f1e94b5bbd0d6e087fccc3cb222f19a Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun, 10 Apr 2022 03:06:12 +0900 Subject: [PATCH 0485/1832] Reduce the size of the keymap helix:fraanrosi (#16717) --- keyboards/helix/rev2/keymaps/fraanrosi/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk b/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk index 4e80183863bb..dd0d2eba0730 100644 --- a/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk +++ b/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk @@ -6,7 +6,7 @@ # See TOP/docs/config_options.md for more information. # SPLIT_KEYBOARD = yes -LTO_ENABLE = no # if firmware size over limit, try this option +LTO_ENABLE = yes # if firmware size over limit, try this option MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control # AUDIO_ENABLE = yes # Audio output on port C6 From 84c9d6ff39b92892c385c320f3d36145d71c9095 Mon Sep 17 00:00:00 2001 From: Simon Arlott <70171+nomis@users.noreply.github.com> Date: Sat, 9 Apr 2022 19:49:20 +0100 Subject: [PATCH 0486/1832] [Bug] Fix matrix scan reporting interval (#16825) --- quantum/keyboard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/keyboard.c b/quantum/keyboard.c index ba5609f0aabf..ce4f06ae69ba 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -149,7 +149,7 @@ void matrix_scan_perf_task(void) { matrix_scan_count++; uint32_t timer_now = timer_read32(); - if (TIMER_DIFF_32(timer_now, matrix_timer) > 1000) { + if (TIMER_DIFF_32(timer_now, matrix_timer) >= 1000) { # if defined(CONSOLE_ENABLE) dprintf("matrix scan frequency: %lu\n", matrix_scan_count); # endif From bf67abb046846e95137052b30d6aee458ad7c1f9 Mon Sep 17 00:00:00 2001 From: Sascha Date: Sun, 10 Apr 2022 00:27:02 +0200 Subject: [PATCH 0487/1832] Fixed usb read loops not reading until timeout (#16827) * the size variable was redeclared (hiding the variable of the outside scope) and therefore the while check was always false, so the compiler just removed the do while loop, but it would be better to read all data and only exit the task, after this is done --- tmk_core/protocol/chibios/usb_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index d9aa351ecbe2..bd8af6d194fe 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -1074,7 +1074,7 @@ void console_task(void) { uint8_t buffer[CONSOLE_EPSIZE]; size_t size = 0; do { - size_t size = chnReadTimeout(&drivers.console_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); + size = chnReadTimeout(&drivers.console_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); if (size > 0) { console_receive(buffer, size); } @@ -1102,7 +1102,7 @@ void raw_hid_task(void) { uint8_t buffer[RAW_EPSIZE]; size_t size = 0; do { - size_t size = chnReadTimeout(&drivers.raw_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); + size = chnReadTimeout(&drivers.raw_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); if (size > 0) { raw_hid_receive(buffer, size); } @@ -1125,7 +1125,7 @@ void midi_ep_task(void) { uint8_t buffer[MIDI_STREAM_EPSIZE]; size_t size = 0; do { - size_t size = chnReadTimeout(&drivers.midi_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); + size = chnReadTimeout(&drivers.midi_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); if (size > 0) { MIDI_EventPacket_t event; recv_midi_packet(&event); From 3bde05c568afec6bbb45c7d07ab55a0c8b738cc0 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon, 11 Apr 2022 18:09:37 +0900 Subject: [PATCH 0488/1832] Change helix:froggy keymap to use split_common (#16703) * create LAYOUT_half() macro into helix/rev2/keymaps/froggy/keymap.c * Makes QMK standerd OLED driver used by the helix:froggy keymap switchable. * Change helix:froggy keymap to use split_common --- keyboards/helix/rev2/keymaps/froggy/config.h | 6 + keyboards/helix/rev2/keymaps/froggy/keymap.c | 331 +++++++++++++------ keyboards/helix/rev2/keymaps/froggy/rules.mk | 9 + 3 files changed, 237 insertions(+), 109 deletions(-) diff --git a/keyboards/helix/rev2/keymaps/froggy/config.h b/keyboards/helix/rev2/keymaps/froggy/config.h index 517368ae941d..fea362bcd614 100644 --- a/keyboards/helix/rev2/keymaps/froggy/config.h +++ b/keyboards/helix/rev2/keymaps/froggy/config.h @@ -26,6 +26,12 @@ along with this program. If not, see . #define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */ #define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */ +// the froggy keymap does not use the right hand side, so sync_timer is not needed +#define DISABLE_SYNC_TIMER +// For the same reason, the following are also not needed +#undef SPLIT_LAYER_STATE_ENABLE +#undef SPLIT_LED_STATE_ENABLE + // If you need more program area, try select and reduce rgblight modes to use. // Selection of RGBLIGHT MODE to use. diff --git a/keyboards/helix/rev2/keymaps/froggy/keymap.c b/keyboards/helix/rev2/keymaps/froggy/keymap.c index 15fe1afb0cb9..484a0a34b91b 100644 --- a/keyboards/helix/rev2/keymaps/froggy/keymap.c +++ b/keyboards/helix/rev2/keymaps/froggy/keymap.c @@ -1,24 +1,31 @@ #include QMK_KEYBOARD_H -#include "bootloader.h" -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#include "split_util.h" -#endif -#ifdef AUDIO_ENABLE - #include "audio.h" -#endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif +#include -extern keymap_config_t keymap_config; +#define MIN(x, y) (((x) < (y)) ? (x) : (y)) +#define MAX(x, y) (((x) > (y)) ? (x) : (y)) -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; +#ifdef SSD1306OLED + #include "ssd1306.h" #endif -extern uint8_t is_master; +#define LAYOUT_half( \ + L00, L01, L02, L03, L04, L05, \ + L10, L11, L12, L13, L14, L15, \ + L20, L21, L22, L23, L24, L25, \ + L30, L31, L32, L33, L34, L35, L36, \ + L40, L41, L42, L43, L44, L45, L46 \ +) { \ + { L00, L01, L02, L03, L04, L05, KC_NO }, \ + { L10, L11, L12, L13, L14, L15, KC_NO }, \ + { L20, L21, L22, L23, L24, L25, KC_NO }, \ + { L30, L31, L32, L33, L34, L35, L36 }, \ + { L40, L41, L42, L43, L44, L45, L46 }, \ + { _______, _______, _______, _______, _______, _______, KC_NO }, \ + { _______, _______, _______, _______, _______, _______, KC_NO }, \ + { _______, _______, _______, _______, _______, _______, KC_NO }, \ + { _______, _______, _______, _______, _______, _______, _______ }, \ + { _______, _______, _______, _______, _______, _______, _______ } \ +} #define DELAY_TIME 75 static uint16_t key_timer; @@ -68,108 +75,107 @@ enum macro_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base - * ,-----------------------------------------. ,-----------------------------------------. - * | C+z | ; | [ | ( | < | { | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | KANA | P | K | R | A | F | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | BS | D | T | H | E | O | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Y | S | N | I | U |Space | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | Gui | Sym | Num | OPT | Ent | | | | | | | | - * `-------------------------------------------------------------------------------------------------' + * ,-----------------------------------------. + * | C+z | ; | [ | ( | < | { | + * |------+------+------+------+------+------| + * | KANA | P | K | R | A | F | + * |------+------+------+------+------+------| + * | BS | D | T | H | E | O | + * |------+------+------+------+------+------+------. + * | Shift| Y | S | N | I | U |Space | + * |------+------+------+------+------+------+------| + * | Ctrl | Alt | Gui | Sym | Num | OPT | Ent | + * `------------------------------------------------' */ - [_BASE] = LAYOUT( \ - LCTL(KC_Z), KC_SCLN, KC_LBRC, KC_LPRN, KC_LT, KC_LCBR, _______, _______, _______, _______, _______, _______, \ - KANA, KC_P, KC_K, KC_R, KC_A, KC_F, _______, _______, _______, _______, _______, _______, \ - KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, _______, _______, _______, _______, _______, _______, \ - OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, _______, _______, _______, _______, _______, _______, _______, \ - OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), MO(_SYM), MO(_NUM), OPT_TAP_SP, KC_ENT, _______, _______, _______, _______, _______, _______, _______ \ - ), + [_BASE] = LAYOUT_half( \ + LCTL(KC_Z), KC_SCLN, KC_LBRC, KC_LPRN, KC_LT, KC_LCBR, \ + KANA, KC_P, KC_K, KC_R, KC_A, KC_F, \ + KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, \ + OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, \ + OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), MO(_SYM), MO(_NUM), OPT_TAP_SP, KC_ENT ), /* Opt - * ,-----------------------------------------. ,-----------------------------------------. - * | Esc | : | ] | ) | > | } | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | EISU| J | M | B | ' | Tab | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | . | V | C | L | Z | Q | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | X | G | W | - | Del | Esc | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | , | DTOP | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' + * ,-----------------------------------------. + * | Esc | : | ] | ) | > | } | + * |------+------+------+------+------+------| + * | EISU| J | M | B | ' | Tab | + * |------+------+------+------+------+------| + * | . | V | C | L | Z | Q | + * |------+------+------+------+------+------+------. + * | | X | G | W | - | Del | Esc | + * |------+------+------+------+------+------+------| + * | | | | , | DTOP | | | + * `------------------------------------------------' */ - [_OPT] = LAYOUT( \ - KC_ESC, KC_COLN,KC_RBRC, KC_RPRN,KC_GT, KC_RCBR, _______, _______, _______, _______, _______, _______, \ - EISU, KC_J, KC_M, KC_B, KC_QUOT, KC_TAB, _______, _______, _______, _______, _______, _______, \ - KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, _______, _______, _______, _______, _______, _______, \ - _______, KC_X, KC_G, KC_W, KC_MINUS, KC_DEL, KC_ESC, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______,_______, KC_COMM,DESKTOP, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_OPT] = LAYOUT_half( \ + KC_ESC, KC_COLN,KC_RBRC, KC_RPRN,KC_GT, KC_RCBR, \ + EISU, KC_J, KC_M, KC_B, KC_QUOT, KC_TAB, \ + KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, \ + _______, KC_X, KC_G, KC_W, KC_MINUS, KC_DEL, KC_ESC, \ + _______, _______,_______, KC_COMM,DESKTOP, _______, _______ \ ), /* Func - * ,-----------------------------------------. ,-----------------------------------------. - * |RGBRST| Hue | | RST | Mac | Win | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | RGB1 | VAL+ | F7 | F8 | F9 | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | RGB2 | VAL- | F4 | F5 | F6 | F12 | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | RGB3 | F10 | F1 | F2 | F3 | F11 | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |RGBOFF| | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' + * ,-----------------------------------------. + * |RGBRST| Hue | | RST | Mac | Win | + * |------+------+------+------+------+------| + * | RGB1 | VAL+ | F7 | F8 | F9 | | + * |------+------+------+------+------+------| + * | RGB2 | VAL- | F4 | F5 | F6 | F12 | + * |------+------+------+------+------+------+------. + * | RGB3 | F10 | F1 | F2 | F3 | F11 | | + * |------+------+------+------+------+------+------| + * |RGBOFF| | | | | | | + * `------------------------------------------------' */ - [_FUNC] = LAYOUT( \ - RGBRST,RGB_HUI, _______, RESET, MAC, WIN, _______, _______, _______, _______, _______, _______, \ - RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, _______, _______, _______, _______, _______, _______, _______, \ - RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12, _______, _______, _______, _______, _______, _______, \ - RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______, _______, _______, _______, _______, _______, _______, _______, \ - RGBOFF,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_FUNC] = LAYOUT_half( \ + RGBRST,RGB_HUI, _______, RESET, MAC, WIN, \ + RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, _______, \ + RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12, \ + RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______, \ + RGBOFF,_______, _______, _______, _______, _______, _______ \ ), /* Sym - * ,-----------------------------------------. ,-----------------------------------------. - * | Ins | GRV | | PU | PD | ^ | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | \ | # | = | ? | % | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | $ | upA | @ | ! | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CL | <- | dwA | -> | _ | & | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | PS | | ~ | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' + * ,-----------------------------------------. + * | Ins | GRV | | PU | PD | ^ | + * |------+------+------+------+------+------| + * | | \ | # | = | ? | % | + * |------+------+------+------+------+------| + * | | $ | upA | @ | ! | | | + * |------+------+------+------+------+------+------. + * | CL | <- | dwA | -> | _ | & | | + * |------+------+------+------+------+------+------| + * | | | PS | | ~ | | | + * `------------------------------------------------' */ - [_SYM] = LAYOUT( \ - KC_INS, KC_GRV, _______, KC_PGUP, KC_PGDN, KC_CIRC, _______, _______, _______, _______, _______, _______, \ - _______, KC_BSLS, KC_HASH, KC_EQL, KC_QUES, KC_PERC, _______, _______, _______, _______, _______, _______, \ - _______, KC_DLR, KC_UP, KC_AT, KC_EXLM, KC_PIPE, _______, _______, _______, _______, _______, _______, \ - KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_UNDS, KC_AMPR, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, KC_PSCR, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_SYM] = LAYOUT_half( \ + KC_INS, KC_GRV, _______, KC_PGUP, KC_PGDN, KC_CIRC, \ + _______, KC_BSLS, KC_HASH, KC_EQL, KC_QUES, KC_PERC, \ + _______, KC_DLR, KC_UP, KC_AT, KC_EXLM, KC_PIPE, \ + KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_UNDS, KC_AMPR, _______, \ + _______, _______, KC_PSCR, _______, KC_TILD, _______, _______ \ ), /* Raise - * ,-----------------------------------------. ,-----------------------------------------. - * | | | Func | home | End | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | * | 7 | 8 | 9 | - | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | . | / | 4 | 5 | 6 | + | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | LN | 0 | 1 | 2 | 3 |C+S+F1| | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | , | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' + * ,-----------------------------------------. + * | | | Func | home | End | | + * |------+------+------+------+------+------| + * | | * | 7 | 8 | 9 | - | + * |------+------+------+------+------+------| + * | . | / | 4 | 5 | 6 | + | + * |------+------+------+------+------+------+------. + * | LN | 0 | 1 | 2 | 3 |C+S+F1| | + * |------+------+------+------+------+------+------| + * | | | | , | | | | + * `------------------------------------------------' */ - [_NUM] = LAYOUT( \ - _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______, _______, _______, _______, _______, _______, _______, \ - _______, KC_ASTR, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, _______, _______, _______, _______, \ - KC_PDOT, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, _______, _______, _______, _______, _______, \ - KC_NLCK, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, KC_PDOT, KC_COMM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_NUM] = LAYOUT_half( \ + _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______, \ + _______, KC_ASTR, KC_P7, KC_P8, KC_P9, KC_MINS, \ + KC_PDOT, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PLUS, \ + KC_NLCK, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______, \ + _______, _______, KC_PDOT, KC_COMM, _______, _______, _______ \ ) }; #else @@ -268,7 +274,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef RGBLIGHT_ENABLE col = record->event.key.col; row = record->event.key.row; - if (record->event.pressed && ((row < 5 && is_master) || (row >= 5 && !is_master))) { + if (record->event.pressed && ((row < 5 && is_keyboard_master()) || (row >= 5 && !is_keyboard_master()))) { int end = keybuf_end; keybufs[end].col = col; keybufs[end].row = row % 5; @@ -379,7 +385,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); RGBAnimation = false; } #endif @@ -396,7 +402,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { RGBAnimation = true; rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD); - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); } #endif break; @@ -405,7 +411,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { RGBAnimation = true; rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 1); - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); } #endif break; @@ -414,7 +420,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { RGBAnimation = true; rgblight_mode(RGBLIGHT_MODE_KNIGHT); - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); } #endif break; @@ -447,7 +453,7 @@ void matrix_init_user(void) { startup_user(); #endif #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); #endif //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h #ifdef SSD1306OLED @@ -733,10 +739,117 @@ void iota_gfx_task_user(void) { #endif matrix_clear(&matrix); - if(is_master){ + if (is_keyboard_master()) { render_status(&matrix); } matrix_update(&display, &matrix); } +#endif // end of SSD1306OLED + +//OLED update loop +#ifdef OLED_ENABLE + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_0; +} + +// Render to OLED +void render_status(void) { + + // froggy logo + static char logo[4][1][17]= + { + { + {0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0} + }, + { + {0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0} + }, + { + {0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0} + }, + { + {0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0} + } + }; + + static char indctr[8][2][4]= + { + // white icon + { + {0x60,0x61,0x62,0}, + {0x63,0x64,0} + }, + { + {0x80,0x81,0x82,0}, + {0x83,0x84,0} + }, + { + {0xa0,0xa1,0xa2,0}, + {0xa3,0xa4,0} + }, + { + {0xc0,0xc1,0xc2,0}, + {0xc3,0xc4,0} + }, + // Black icon + { + {0x75,0x76,0x77,0}, + {0x78,0x79,0} + }, + { + {0x95,0x96,0x97,0}, + {0x98,0x99,0} + }, + { + {0xb5,0xb6,0xb7,0}, + {0xb8,0xb9,0} + }, + { + {0xd5,0xd6,0xd7,0}, + {0xd8,0xd9,0} + }, + }; + + int rown = 0; + int rowf = 0; + int rowa = 0; + int rows = 0; + + //Set Indicator icon + if (host_keyboard_leds() & (1< Date: Mon, 11 Apr 2022 11:18:44 +0100 Subject: [PATCH 0489/1832] GMMK Pro return false in encoder user. (#16830) --- keyboards/gmmk/pro/ansi/keymaps/default/keymap.c | 2 +- keyboards/gmmk/pro/ansi/keymaps/via/keymap.c | 2 +- keyboards/gmmk/pro/iso/keymaps/default/keymap.c | 2 +- keyboards/gmmk/pro/iso/keymaps/via/keymap.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c index 65ccaf88f293..0d161e5bdd02 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c +++ b/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c @@ -67,6 +67,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_VOLD); } - return true; + return false; } #endif // ENCODER_ENABLE diff --git a/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c index 9b13f75a85f9..d50bbfbf566e 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c +++ b/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c @@ -84,6 +84,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_VOLD); } - return true; + return false; } #endif // ENCODER_ENABLE diff --git a/keyboards/gmmk/pro/iso/keymaps/default/keymap.c b/keyboards/gmmk/pro/iso/keymaps/default/keymap.c index 67b95c755f75..3bdacda6c82d 100644 --- a/keyboards/gmmk/pro/iso/keymaps/default/keymap.c +++ b/keyboards/gmmk/pro/iso/keymaps/default/keymap.c @@ -67,6 +67,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_VOLD); } - return true; + return false; } #endif diff --git a/keyboards/gmmk/pro/iso/keymaps/via/keymap.c b/keyboards/gmmk/pro/iso/keymaps/via/keymap.c index c83af17fe103..880785ebbec9 100644 --- a/keyboards/gmmk/pro/iso/keymaps/via/keymap.c +++ b/keyboards/gmmk/pro/iso/keymaps/via/keymap.c @@ -86,6 +86,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_VOLD); } - return true; + return false; } #endif // ENCODER_ENABLE From 0524a82a88aef8cc2036e7ab1d603b6c78c54fd9 Mon Sep 17 00:00:00 2001 From: Kamil Zielinski Date: Mon, 11 Apr 2022 15:11:14 +0200 Subject: [PATCH 0490/1832] Fix numbering to match the correct columns (#16831) --- keyboards/bastardkb/skeletyl/skeletyl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/bastardkb/skeletyl/skeletyl.h b/keyboards/bastardkb/skeletyl/skeletyl.h index 3e90abb01d51..c7ad89bd2b6c 100644 --- a/keyboards/bastardkb/skeletyl/skeletyl.h +++ b/keyboards/bastardkb/skeletyl/skeletyl.h @@ -23,16 +23,16 @@ k00, k01, k02, k03, k04, k44, k43, k42, k41, k40, \ k10, k11, k12, k13, k14, k54, k53, k52, k51, k50, \ k20, k21, k22, k23, k24, k64, k63, k62, k61, k60, \ - k33, k34, k31, k71, k74, k73 \ + k32, k33, k30, k70, k73, k72 \ ) \ { \ { k00, k01, k02, k03, k04 }, \ { k10, k11, k12, k13, k14 }, \ { k20, k21, k22, k23, k24 }, \ - { k31, KC_NO, k33, k34, KC_NO }, \ + { k30, KC_NO, k32, k33, KC_NO }, \ { k40, k41, k42, k43, k44 }, \ { k50, k51, k52, k53, k54 }, \ { k60, k61, k62, k63, k64 }, \ - { k71, KC_NO, k73, k74, KC_NO }, \ + { k70, KC_NO, k72, k73, KC_NO }, \ } // clang-format on From a5e41615f729ab1d68e56a59f05dbcad30beadd7 Mon Sep 17 00:00:00 2001 From: Daniel Perrett Date: Wed, 13 Apr 2022 06:25:19 +0100 Subject: [PATCH 0491/1832] [Keyboard] Add userspace pdl and a handwired board (#14199) Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --- keyboards/crkbd/keymaps/pdl/config.h | 30 +++ keyboards/crkbd/keymaps/pdl/keymap.c | 62 +++++ .../foostan/cornelius/keymaps/pdl/config.h | 30 +++ .../foostan/cornelius/keymaps/pdl/keymap.c | 62 +++++ .../foostan/cornelius/keymaps/pdl/readme.md | 1 + keyboards/handwired/reclined/config.h | 65 ++++++ keyboards/handwired/reclined/info.json | 87 +++++++ .../reclined/keymaps/default/keymap.c | 26 +++ .../reclined/keymaps/default/readme.md | 1 + .../handwired/reclined/keymaps/pdl/config.h | 23 ++ .../handwired/reclined/keymaps/pdl/keymap.c | 69 ++++++ .../handwired/reclined/keymaps/pdl/rules.mk | 0 keyboards/handwired/reclined/readme.md | 17 ++ keyboards/handwired/reclined/reclined.c | 16 ++ keyboards/handwired/reclined/reclined.h | 35 +++ keyboards/handwired/reclined/rules.mk | 18 ++ keyboards/lets_split/keymaps/pdl/config.h | 36 +++ keyboards/lets_split/keymaps/pdl/keymap.c | 69 ++++++ keyboards/lets_split/keymaps/pdl/rules.mk | 1 + keyboards/orthodox/keymaps/pdl/config.h | 35 +++ keyboards/orthodox/keymaps/pdl/keymap.c | 68 ++++++ keyboards/orthodox/keymaps/pdl/rules.mk | 1 + users/pdl/pdl.c | 216 ++++++++++++++++++ users/pdl/pdl.h | 135 +++++++++++ users/pdl/rules.mk | 1 + 25 files changed, 1104 insertions(+) create mode 100644 keyboards/crkbd/keymaps/pdl/config.h create mode 100644 keyboards/crkbd/keymaps/pdl/keymap.c create mode 100644 keyboards/foostan/cornelius/keymaps/pdl/config.h create mode 100644 keyboards/foostan/cornelius/keymaps/pdl/keymap.c create mode 100644 keyboards/foostan/cornelius/keymaps/pdl/readme.md create mode 100644 keyboards/handwired/reclined/config.h create mode 100644 keyboards/handwired/reclined/info.json create mode 100644 keyboards/handwired/reclined/keymaps/default/keymap.c create mode 100644 keyboards/handwired/reclined/keymaps/default/readme.md create mode 100644 keyboards/handwired/reclined/keymaps/pdl/config.h create mode 100644 keyboards/handwired/reclined/keymaps/pdl/keymap.c create mode 100644 keyboards/handwired/reclined/keymaps/pdl/rules.mk create mode 100644 keyboards/handwired/reclined/readme.md create mode 100644 keyboards/handwired/reclined/reclined.c create mode 100644 keyboards/handwired/reclined/reclined.h create mode 100644 keyboards/handwired/reclined/rules.mk create mode 100644 keyboards/lets_split/keymaps/pdl/config.h create mode 100644 keyboards/lets_split/keymaps/pdl/keymap.c create mode 100644 keyboards/lets_split/keymaps/pdl/rules.mk create mode 100644 keyboards/orthodox/keymaps/pdl/config.h create mode 100644 keyboards/orthodox/keymaps/pdl/keymap.c create mode 100644 keyboards/orthodox/keymaps/pdl/rules.mk create mode 100644 users/pdl/pdl.c create mode 100644 users/pdl/pdl.h create mode 100644 users/pdl/rules.mk diff --git a/keyboards/crkbd/keymaps/pdl/config.h b/keyboards/crkbd/keymaps/pdl/config.h new file mode 100644 index 000000000000..b25d48de0235 --- /dev/null +++ b/keyboards/crkbd/keymaps/pdl/config.h @@ -0,0 +1,30 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2021 Daniel Perrett + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + + +#define TAPPING_TOGGLE 2 +#define TAPPING_TERM 200 + +#define COMBO_PDL +#define COMBO_COUNT 28 +#define COMBO_TERM 100 diff --git a/keyboards/crkbd/keymaps/pdl/keymap.c b/keyboards/crkbd/keymaps/pdl/keymap.c new file mode 100644 index 000000000000..1060a92650d4 --- /dev/null +++ b/keyboards/crkbd/keymaps/pdl/keymap.c @@ -0,0 +1,62 @@ +/* Copyright 2022 Daniel Perrett + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H +#include "pdl.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_wrapper( + MY_FESC, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, + KC_TAB, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, MY_SQUO, + MY_SBSL, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, MY_CENT, + KC_LCTL, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN + ), + [_PROXIM] = LAYOUT_wrapper( + MY_FESC, _________________PROXIM_L1_________________, _________________PROXIM_R1_________________, KC_BSPC, + KC_TAB, _________________PROXIM_L2_________________, _________________PROXIM_R2_________________, MY_ASCL, + MY_SBSL, _________________PROXIM_L3_________________, _________________PROXIM_R3_________________, MY_CENT, + KC_LCTL, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN + ), + [_NAVIGN] = LAYOUT_wrapper( + _______, _________________NAVIGN_L1_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NAVIGN_L2_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NAVIGN_L3_________________, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + [_PUNCTN] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R1_________________, _______, + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R2_________________, _______, + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R3_________________, _______, + _______, _______, _______, _______, _______, _______ + ), + [_NUMBRS] = LAYOUT_wrapper( + _______, _________________NUMBRS_L1_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NUMBRS_L2_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NUMBRS_L3_________________, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + [_CODING] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _________________CODING_R1_________________, _______, + _______, _______, _______, _______, _______, _______, _________________CODING_R2_________________, _______, + _______, _______, _______, _______, _______, _______, _________________CODING_R3_________________, _______, + _______, _______, _______, _______, _______, _______ + ), + [_FUNCTN] = LAYOUT_wrapper( + _______, _________________FUNCTN_L1_________________, _________________FUNCTN_R1_________________, MY_CAD, + _______, _________________FUNCTN_L2_________________, _________________FUNCTN_R2_________________, KC_PSCR, + _______, _________________FUNCTN_L3_________________, _________________FUNCTN_R3_________________, _______, + _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/foostan/cornelius/keymaps/pdl/config.h b/keyboards/foostan/cornelius/keymaps/pdl/config.h new file mode 100644 index 000000000000..b25d48de0235 --- /dev/null +++ b/keyboards/foostan/cornelius/keymaps/pdl/config.h @@ -0,0 +1,30 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2021 Daniel Perrett + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + + +#define TAPPING_TOGGLE 2 +#define TAPPING_TERM 200 + +#define COMBO_PDL +#define COMBO_COUNT 28 +#define COMBO_TERM 100 diff --git a/keyboards/foostan/cornelius/keymaps/pdl/keymap.c b/keyboards/foostan/cornelius/keymaps/pdl/keymap.c new file mode 100644 index 000000000000..3b71280ad8bd --- /dev/null +++ b/keyboards/foostan/cornelius/keymaps/pdl/keymap.c @@ -0,0 +1,62 @@ +/* Copyright 2021 Daniel Perrett + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H +#include "pdl.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_wrapper( + MY_FESC, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, + KC_TAB, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, MY_SQUO, + MY_SBSL, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, NUMBRS, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN, MY_AMNU, FUNCTN, MY_CENT + ), + [_PROXIM] = LAYOUT_wrapper( + MY_FESC, _________________PROXIM_L1_________________, _________________PROXIM_R1_________________, KC_BSPC, + KC_TAB, _________________PROXIM_L2_________________, _________________PROXIM_R2_________________, MY_ASCL, + MY_SBSL, _________________PROXIM_L3_________________, _________________PROXIM_R3_________________, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, NUMBRS, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN, MY_AMNU, FUNCTN, MY_CENT + ), + [_NAVIGN] = LAYOUT_wrapper( + _______, _________________NAVIGN_L1_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NAVIGN_L2_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NAVIGN_L3_________________, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_PUNCTN] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R1_________________, _______, + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R2_________________, _______, + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R3_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_NUMBRS] = LAYOUT_wrapper( + _______, _________________NUMBRS_L1_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NUMBRS_L2_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NUMBRS_L3_________________, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_CODING] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _________________CODING_R1_________________, _______, + _______, _______, _______, _______, _______, _______, _________________CODING_R2_________________, _______, + _______, _______, _______, _______, _______, _______, _________________CODING_R3_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FUNCTN] = LAYOUT_wrapper( + _______, _________________FUNCTN_L1_________________, _________________FUNCTN_R1_________________, MY_CAD, + _______, _________________FUNCTN_L2_________________, _________________FUNCTN_R2_________________, KC_PSCR, + _______, _________________FUNCTN_L3_________________, _________________FUNCTN_R3_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/foostan/cornelius/keymaps/pdl/readme.md b/keyboards/foostan/cornelius/keymaps/pdl/readme.md new file mode 100644 index 000000000000..59bb03d18bb8 --- /dev/null +++ b/keyboards/foostan/cornelius/keymaps/pdl/readme.md @@ -0,0 +1 @@ +# A keymap for cornelius used by pdl diff --git a/keyboards/handwired/reclined/config.h b/keyboards/handwired/reclined/config.h new file mode 100644 index 000000000000..6f8159a2368f --- /dev/null +++ b/keyboards/handwired/reclined/config.h @@ -0,0 +1,65 @@ +/* +Copyright 2018 Daniel Perrett + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/handwired/reclined/info.json b/keyboards/handwired/reclined/info.json new file mode 100644 index 000000000000..1398a9a2df6d --- /dev/null +++ b/keyboards/handwired/reclined/info.json @@ -0,0 +1,87 @@ +{ + "manufacturer": "pdl", + "keyboard_name": "handwired/reclined", + "maintainer": "qmk", + "bootloader": "atmel-dfu", + "debounce": 5, + "diode_direction": "ROW2COL", + "features": { + "audio": false, + "backlight": false, + "bootmagic": false, + "command": true, + "console": true, + "extrakey": true, + "mousekey": true, + "nkro": false, + "sleep_led": false, + "unicode": false + }, + "matrix_pins": { + "cols": ["B2", "F4", "B3", "F5", "B1", "F6", "D4", "D7", "D0", "E6", "D1", "B4"], + "rows": ["D3", "C6", "B6", "B5"] + }, + "processor": "atmega32u4", + "usb": { + "device_ver": "0x0001", + "pid": "0x0000", + "vid": "0xFEED" + }, + "community_layouts": ["ortho_4x12"], + "layouts": { + "LAYOUT_ortho_4x12": { + "c_macro": true, + "filename": "keyboards/handwired/reclined/reclined.h", + "layout": [ + { "label": "k00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1, "x": 0, "y": 1 }, + { "label": "k11", "matrix": [1, 1], "w": 1, "x": 1, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "w": 1, "x": 2, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "w": 1, "x": 3, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "w": 1, "x": 4, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "w": 1, "x": 5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "w": 1, "x": 6, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "w": 1, "x": 7, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "w": 1, "x": 8, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "w": 1, "x": 9, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "w": 1, "x": 10, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "w": 1, "x": 11, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1, "x": 0, "y": 2 }, + { "label": "k21", "matrix": [2, 1], "w": 1, "x": 1, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "w": 1, "x": 3, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "w": 1, "x": 4, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "w": 1, "x": 5, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "w": 1, "x": 6, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "w": 1, "x": 7, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "w": 1, "x": 8, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "w": 1, "x": 9, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "w": 1, "x": 10, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "w": 1, "x": 11, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 1, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "w": 1, "x": 1, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "w": 1, "x": 2, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "w": 1, "x": 3, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "w": 1, "x": 4, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "w": 1, "x": 5, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "w": 1, "x": 6, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "w": 1, "x": 7, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "w": 1, "x": 8, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "w": 1, "x": 9, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "w": 1, "x": 10, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "w": 1, "x": 11, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/reclined/keymaps/default/keymap.c b/keyboards/handwired/reclined/keymaps/default/keymap.c new file mode 100644 index 000000000000..d814d568c766 --- /dev/null +++ b/keyboards/handwired/reclined/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +/* Copyright 2018 Daniel Perrett + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_ortho_4x12( /* Base */ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + KC_LCTL, KC_LGUI, KC_LALT, RESET, KC_TAB, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), +}; + diff --git a/keyboards/handwired/reclined/keymaps/default/readme.md b/keyboards/handwired/reclined/keymaps/default/readme.md new file mode 100644 index 000000000000..3818217ad373 --- /dev/null +++ b/keyboards/handwired/reclined/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for reclined \ No newline at end of file diff --git a/keyboards/handwired/reclined/keymaps/pdl/config.h b/keyboards/handwired/reclined/keymaps/pdl/config.h new file mode 100644 index 000000000000..3a89a0a4d2d4 --- /dev/null +++ b/keyboards/handwired/reclined/keymaps/pdl/config.h @@ -0,0 +1,23 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define TAPPING_TERM 200 diff --git a/keyboards/handwired/reclined/keymaps/pdl/keymap.c b/keyboards/handwired/reclined/keymaps/pdl/keymap.c new file mode 100644 index 000000000000..bb6976de9bb8 --- /dev/null +++ b/keyboards/handwired/reclined/keymaps/pdl/keymap.c @@ -0,0 +1,69 @@ +/* +This is the keymap for the reclined keyboard + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2017 Art Ortenburger +Copyright 2018 Daniel Perrett + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H +#include "pdl.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_wrapper( + KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, + MY_SESC, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, MY_SQUO, + MY_CBSL, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, MY_SQUO, + KC_LCTL, KC_LGUI, KC_LALT, NUMBRS, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN, MY_AMNU, FUNCTN, MY_CENT + ), + [_PROXIM] = LAYOUT_wrapper( + MY_FESC, _________________PROXIM_L1_________________, _________________PROXIM_R1_________________, KC_BSPC, + KC_TAB, _________________PROXIM_L2_________________, _________________PROXIM_R2_________________, MY_ASCL, + MY_SBSL, _________________PROXIM_L3_________________, _________________PROXIM_R3_________________, MY_SENT, + KC_LCTL, KC_LGUI, KC_LALT, NUMBRS, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN, MY_AMNU, FUNCTN, MY_CENT + ), + [_NAVIGN] = LAYOUT_wrapper( + _______, _________________NAVIGN_L1_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NAVIGN_L2_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NAVIGN_L3_________________, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_PUNCTN] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R1_________________, _______, + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R2_________________, _______, + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R3_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_NUMBRS] = LAYOUT_wrapper( + _______, _________________NUMBRS_L1_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NUMBRS_L2_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NUMBRS_L3_________________, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_CODING] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _________________CODING_R1_________________, _______, + _______, _______, _______, _______, _______, _______, _________________CODING_R2_________________, _______, + _______, _______, _______, _______, _______, _______, _________________CODING_R3_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FUNCTN] = LAYOUT_wrapper( + _______, _________________FUNCTN_L1_________________, _________________FUNCTN_R1_________________, MY_CAD, + _______, _________________FUNCTN_L2_________________, _________________FUNCTN_R2_________________, KC_PSCR, + _______, _________________FUNCTN_L3_________________, _________________FUNCTN_R3_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/handwired/reclined/keymaps/pdl/rules.mk b/keyboards/handwired/reclined/keymaps/pdl/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/handwired/reclined/readme.md b/keyboards/handwired/reclined/readme.md new file mode 100644 index 000000000000..d7594798ef55 --- /dev/null +++ b/keyboards/handwired/reclined/readme.md @@ -0,0 +1,17 @@ +# reclined + +A custom staggered 40 percent keyboard split at 22.5 degrees. + +* Keyboard Maintainer: [pdl](https://github.com/pdl) +* Hardware Supported: Just one device +* Hardware Availability: None + +Make example for this keyboard (after setting up your build environment): + + make handwired/reclined:default + +Flashing example for this keyboard: + + make handwired/reclined:default:flash + +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/reclined/reclined.c b/keyboards/handwired/reclined/reclined.c new file mode 100644 index 000000000000..ca6da9de6d1e --- /dev/null +++ b/keyboards/handwired/reclined/reclined.c @@ -0,0 +1,16 @@ +/* Copyright 2018 Daniel Perrett + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "reclined.h" \ No newline at end of file diff --git a/keyboards/handwired/reclined/reclined.h b/keyboards/handwired/reclined/reclined.h new file mode 100644 index 000000000000..9a665f3a9bdf --- /dev/null +++ b/keyboards/handwired/reclined/reclined.h @@ -0,0 +1,35 @@ +/* Copyright 2018 Daniel Perrett + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +// This a shortcut to help you visually see your layout. +// The following is an example using the Planck MIT layout +// The first section contains all of the arguments +// The second converts the arguments into a two-dimensional array +#define LAYOUT_ortho_4x12( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \ +} diff --git a/keyboards/handwired/reclined/rules.mk b/keyboards/handwired/reclined/rules.mk new file mode 100644 index 000000000000..64e496d03021 --- /dev/null +++ b/keyboards/handwired/reclined/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/lets_split/keymaps/pdl/config.h b/keyboards/lets_split/keymaps/pdl/config.h new file mode 100644 index 000000000000..e79e132c64a8 --- /dev/null +++ b/keyboards/lets_split/keymaps/pdl/config.h @@ -0,0 +1,36 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2018 Daniel Perrett + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + + +#define TAPPING_TERM 200 + +/* Use I2C or Serial, not both */ + +#define USE_SERIAL +// #define USE_I2C + +/* Select hand configuration */ + +//#define MASTER_LEFT +#define MASTER_RIGHT +// #define EE_HANDS diff --git a/keyboards/lets_split/keymaps/pdl/keymap.c b/keyboards/lets_split/keymaps/pdl/keymap.c new file mode 100644 index 000000000000..b112e2270f7e --- /dev/null +++ b/keyboards/lets_split/keymaps/pdl/keymap.c @@ -0,0 +1,69 @@ +/* +This is the keymap for the keyboard + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2017 Art Ortenburger +Copyright 2018 Daniel Perrett + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H +#include "pdl.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_wrapper( + KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, + MY_SESC, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, MY_SQUO, + MY_CBSL, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, MY_SQUO, + KC_LCTL, KC_LGUI, KC_LALT, NUMBRS, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN, MY_AMNU, FUNCTN, MY_CENT + ), + [_PROXIM] = LAYOUT_wrapper( + MY_FESC, _________________PROXIM_L1_________________, _________________PROXIM_R1_________________, KC_BSPC, + KC_TAB, _________________PROXIM_L2_________________, _________________PROXIM_R2_________________, MY_ASCL, + MY_SBSL, _________________PROXIM_L3_________________, _________________PROXIM_R3_________________, MY_SENT, + KC_LCTL, KC_LGUI, KC_LALT, NUMBRS, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN, MY_AMNU, FUNCTN, MY_CENT + ), + [_NAVIGN] = LAYOUT_wrapper( + _______, _________________NAVIGN_L1_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NAVIGN_L2_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NAVIGN_L3_________________, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_PUNCTN] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R1_________________, _______, + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R2_________________, _______, + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R3_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_NUMBRS] = LAYOUT_wrapper( + _______, _________________NUMBRS_L1_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NUMBRS_L2_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NUMBRS_L3_________________, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_CODING] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _________________CODING_R1_________________, _______, + _______, _______, _______, _______, _______, _______, _________________CODING_R2_________________, _______, + _______, _______, _______, _______, _______, _______, _________________CODING_R3_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FUNCTN] = LAYOUT_wrapper( + _______, _________________FUNCTN_L1_________________, _________________FUNCTN_R1_________________, MY_CAD, + _______, _________________FUNCTN_L2_________________, _________________FUNCTN_R2_________________, KC_PSCR, + _______, _________________FUNCTN_L3_________________, _________________FUNCTN_R3_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/lets_split/keymaps/pdl/rules.mk b/keyboards/lets_split/keymaps/pdl/rules.mk new file mode 100644 index 000000000000..ae71cbf49136 --- /dev/null +++ b/keyboards/lets_split/keymaps/pdl/rules.mk @@ -0,0 +1 @@ +USER_NAME = pdl diff --git a/keyboards/orthodox/keymaps/pdl/config.h b/keyboards/orthodox/keymaps/pdl/config.h new file mode 100644 index 000000000000..5fd46b41c653 --- /dev/null +++ b/keyboards/orthodox/keymaps/pdl/config.h @@ -0,0 +1,35 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2017 Art Ortenburger +Copyright 2018 Daniel Perrett + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + + +/* Use I2C or Serial, not both */ + +#define USE_SERIAL +// #define USE_I2C + +/* Select hand configuration */ + +// #define MASTER_LEFT +// #define MASTER_RIGHT +#define EE_HANDS diff --git a/keyboards/orthodox/keymaps/pdl/keymap.c b/keyboards/orthodox/keymaps/pdl/keymap.c new file mode 100644 index 000000000000..42b9e7e48542 --- /dev/null +++ b/keyboards/orthodox/keymaps/pdl/keymap.c @@ -0,0 +1,68 @@ +/* +This is the keymap for the keyboard + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2017 Art Ortenburger + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H +#include "pdl.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_wrapper( + KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, + MY_SESC, _________________QWERTY_L2_________________, KC_LALT, KC_LGUI, FUNCTN, MY_AMNU, _________________QWERTY_R2_________________, MY_SQUO, + MY_CBSL, _________________QWERTY_L3_________________, NAVIGN, KC_SPC, NUMBRS, NUMBRS, MY_SSPC, NAVIGN, _________________QWERTY_R3_________________, MY_CENT + ), + + [_PROXIM] = LAYOUT_wrapper( + MY_SESC, _________________PROXIM_L1_________________, _________________PROXIM_R1_________________, KC_BSPC, + KC_TAB, _________________PROXIM_L2_________________, KC_LALT, KC_LGUI, FUNCTN, MY_AMNU, _________________PROXIM_R2_________________, MY_SSCL, + MY_CBSL, _________________PROXIM_L3_________________, NAVIGN, KC_SPC, NUMBRS, NUMBRS, MY_SSPC, NAVIGN, _________________PROXIM_R3_________________, MY_CENT + ), + + [_NAVIGN] = LAYOUT_wrapper( + _______, _________________NAVIGN_L1_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NAVIGN_L2_________________, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _________________NAVIGN_L3_________________, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_PUNCTN] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _________________PUNCTN_R1_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _________________PUNCTN_R2_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _________________PUNCTN_R3_________________, _______ + ), + + [_NUMBRS] = LAYOUT_wrapper( + _______, _________________NUMBRS_L1_________________, _______, _______, _______, _______, _______, _______, + _______, _________________NUMBRS_L2_________________, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _________________NUMBRS_L3_________________, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_CODING] = LAYOUT_wrapper( + _______, _______, _______, _______, _______, _______, _________________CODING_R1_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _________________CODING_R2_________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _________________CODING_R3_________________, _______ + ), + + [_FUNCTN] = LAYOUT_wrapper( + _______, _________________FUNCTN_L1_________________, _________________FUNCTN_L1_________________, MY_CAD, + _______, _________________FUNCTN_L2_________________, _______, _______, _______, _______, _________________FUNCTN_L2_________________, KC_PSCR, + _______, _________________FUNCTN_L3_________________, _______, _______, _______, _______, _______, _______, _________________FUNCTN_L3_________________, _______ + ) +}; + diff --git a/keyboards/orthodox/keymaps/pdl/rules.mk b/keyboards/orthodox/keymaps/pdl/rules.mk new file mode 100644 index 000000000000..ae71cbf49136 --- /dev/null +++ b/keyboards/orthodox/keymaps/pdl/rules.mk @@ -0,0 +1 @@ +USER_NAME = pdl diff --git a/users/pdl/pdl.c b/users/pdl/pdl.c new file mode 100644 index 000000000000..5b90a0b3102d --- /dev/null +++ b/users/pdl/pdl.c @@ -0,0 +1,216 @@ +/* +Copyright 2018-2021 Daniel Perrett + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "pdl.h" + +// unshifted +// +// regardless of current mods, send this character in an unshifted state + +__attribute__ ((weak)) +bool unshifted (uint16_t keycode, keyrecord_t *record) { + uint8_t mods; + + if (record->event.pressed) { + mods = keyboard_report->mods & EITHER_SHIFT; + + if (mods) { + unregister_mods(mods); + register_code(keycode); + register_mods(mods); + } else { + register_code(keycode); + } + + return false; + } else { + return true; + } +} + +/* + * update_punctn_coding_layer_state + * + * Check NAVIGN and NUMBRS layers. If one is activated, also activate PUNCTN. If both are activated, also activate CODING. + */ + +__attribute__ ((weak)) +uint32_t update_punctn_coding_layer_state(uint32_t state) { + uint32_t maskEither = (1UL << _NAVIGN) | (1UL << _NUMBRS); + uint32_t maskPunctn = 1UL << _PUNCTN; + uint32_t maskCoding = 1UL << _CODING; + +#ifdef COMBO_PDL + return ( + (state & maskEither) + ? (state | maskPunctn) & ~maskCoding // either => punctn + : (state & ~maskCoding) & ~maskPunctn // neither => neither + ); +#endif + + return ( + (state & maskEither) + ? (state & maskEither) == maskEither + ? (state & ~maskPunctn) | maskCoding // both => coding + : (state | maskPunctn) & ~maskCoding // either => punctn + : (state & ~maskCoding) & ~maskPunctn // neither => neither + ); +} + +__attribute__ ((weak)) +uint32_t layer_state_set_user(uint32_t state) { + return update_punctn_coding_layer_state(state); +} + +__attribute__ ((weak)) +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: + if (record->event.pressed) { + // ensure that the toggled layer is switched off by a single tap + layer_off(keycode & 0xFF); + } + break; + case QWERTY: + if (record->event.pressed) { + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + case PROXIM: + if (record->event.pressed) { + set_single_persistent_default_layer(_PROXIM); + } + return false; + break; + // KC_LBRC, KC_NUHS, KC_GRV, KC_RBRC [#`] + // These four keys are unshifted in the UK layout and should be sent as such. + case KU_LBRC: + return unshifted(KC_LBRC, record); + case KU_NUHS: + return unshifted(KC_NUHS, record); + case KU_GRV: + return unshifted(KC_GRV, record); + case KU_RBRC: + return unshifted(KC_RBRC, record); + case KC_ESC: + if (!record->event.pressed) { + layer_off(_NUMBRS); + layer_off(_NAVIGN); + layer_off(_PUNCTN); + layer_off(_CODING); + } + return true; + } + return true; +} + +#ifdef COMBO_PDL +enum combos { + VCOMBO_PU, + VCOMBO_NU, + VCOMBO_EU, + VCOMBO_IU, + VCOMBO_LU, + VCOMBO_PD, + VCOMBO_ND, + VCOMBO_ED, + VCOMBO_ID, + VCOMBO_LD, + HCOMBO_JR, + HCOMBO_UR, + HCOMBO_PR, + HCOMBO_MR, + HCOMBO_HR, + XCOMBO_LEFT, + XCOMBO_RIGHT, + XCOMBO_UP, + XCOMBO_DOWN, + XCOMBO_ENTER, + XCOMBO_DEL, + XCOMBO_BKSP, + XCOMBO_MINS, + XCOMBO_TAB, + XCOMBO_UNDO, + XCOMBO_REDO, + XCOMBO_PGUP, + XCOMBO_PGDN +}; + +const uint16_t PROGMEM vcombo_pu[] = {KC_J, KC_P, COMBO_END}; +const uint16_t PROGMEM vcombo_nu[] = {KC_Y, KC_N, COMBO_END}; +const uint16_t PROGMEM vcombo_eu[] = {KC_O, KC_E, COMBO_END}; +const uint16_t PROGMEM vcombo_iu[] = {KC_U, KC_I, COMBO_END}; +const uint16_t PROGMEM vcombo_lu[] = {KC_QUOT, KC_L, COMBO_END}; +const uint16_t PROGMEM vcombo_pd[] = {KC_M, KC_P, COMBO_END}; +const uint16_t PROGMEM vcombo_nd[] = {KC_H, KC_N, COMBO_END}; +const uint16_t PROGMEM vcombo_ed[] = {KC_COMM, KC_E, COMBO_END}; +const uint16_t PROGMEM vcombo_id[] = {KC_DOT, KC_I, COMBO_END}; +const uint16_t PROGMEM vcombo_ld[] = {KC_SLSH, KC_L, COMBO_END}; +const uint16_t PROGMEM hcombo_jr[] = {KC_J, KC_Y, COMBO_END}; +const uint16_t PROGMEM hcombo_ur[] = {KC_QUOT, KC_U, COMBO_END}; +const uint16_t PROGMEM hcombo_pr[] = {KC_P, KC_N, COMBO_END}; +const uint16_t PROGMEM hcombo_mr[] = {KC_M, KC_H, COMBO_END}; +const uint16_t PROGMEM hcombo_hr[] = {KC_COMM, KC_H, COMBO_END}; + +const uint16_t PROGMEM xcombo_left[] = {KC_K, KC_P, COMBO_END}; +const uint16_t PROGMEM xcombo_right[] = {KC_M, KC_G, COMBO_END}; +const uint16_t PROGMEM xcombo_up[] = {KC_B, KC_J, COMBO_END}; +const uint16_t PROGMEM xcombo_down[] = {KC_K, KC_M, COMBO_END}; +const uint16_t PROGMEM xcombo_enter[] = {KC_G, KC_P, COMBO_END}; +const uint16_t PROGMEM xcombo_del[] = {KC_M, KC_B, COMBO_END}; +const uint16_t PROGMEM xcombo_bksp[] = {KC_K, KC_J, COMBO_END}; +const uint16_t PROGMEM xcombo_mins[] = {KC_V, KC_H, COMBO_END}; +const uint16_t PROGMEM xcombo_tab[] = {KC_V, KC_K, COMBO_END}; +const uint16_t PROGMEM xcombo_undo[] = {KC_V, KC_J, COMBO_END}; +const uint16_t PROGMEM xcombo_redo[] = {KC_B, KC_H, COMBO_END}; +const uint16_t PROGMEM xcombo_pgup[] = {KC_G, KC_B, COMBO_END}; +const uint16_t PROGMEM xcombo_pgdn[] = {KC_G, KC_K, COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + [VCOMBO_PU] = COMBO(vcombo_pu, KC_CIRC), + [VCOMBO_NU] = COMBO(vcombo_nu, KC_LBRC), + [VCOMBO_EU] = COMBO(vcombo_eu, LSFT(KC_9)), + [VCOMBO_IU] = COMBO(vcombo_iu, LSFT(KC_0)), + [VCOMBO_LU] = COMBO(vcombo_lu, KC_RBRC), + [VCOMBO_PD] = COMBO(vcombo_pd, LSFT(KC_7)), + [VCOMBO_ND] = COMBO(vcombo_nd, KC_EQL), + [VCOMBO_ED] = COMBO(vcombo_ed, KC_MINS), + [VCOMBO_ID] = COMBO(vcombo_id, LSFT(KC_1)), + [VCOMBO_LD] = COMBO(vcombo_ld, LSFT(KC_5)), + [HCOMBO_JR] = COMBO(hcombo_jr, KC_GRV), + [HCOMBO_UR] = COMBO(hcombo_ur, LSFT(KC_2)), + [HCOMBO_PR] = COMBO(hcombo_pr, LSFT(KC_8)), + [HCOMBO_MR] = COMBO(hcombo_mr, KC_NUHS), + [HCOMBO_HR] = COMBO(hcombo_hr, KC_NUBS), + + [XCOMBO_LEFT] = COMBO(xcombo_left, KC_LEFT), + [XCOMBO_RIGHT] = COMBO(xcombo_right, KC_RGHT), + [XCOMBO_UP] = COMBO(xcombo_up, KC_UP), + [XCOMBO_DOWN] = COMBO(xcombo_down, KC_DOWN), + [XCOMBO_ENTER] = COMBO(xcombo_enter, KC_ENT), + [XCOMBO_DEL] = COMBO(xcombo_del, KC_DEL), + [XCOMBO_BKSP] = COMBO(xcombo_bksp, KC_BSPC), + [XCOMBO_MINS] = COMBO(xcombo_mins, KC_MINS), + [XCOMBO_TAB] = COMBO(xcombo_tab, KC_TAB), + [XCOMBO_UNDO] = COMBO(xcombo_undo, LCTL(KC_Y)), + [XCOMBO_REDO] = COMBO(xcombo_redo, LCTL(KC_Z)), + [XCOMBO_PGUP] = COMBO(xcombo_pgup, KC_PGUP), + [XCOMBO_PGDN] = COMBO(xcombo_pgdn, KC_PGDN) +}; + +#endif diff --git a/users/pdl/pdl.h b/users/pdl/pdl.h new file mode 100644 index 000000000000..a976c714740d --- /dev/null +++ b/users/pdl/pdl.h @@ -0,0 +1,135 @@ +/* +Copyright 2018-2021 Daniel Perrett + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +enum userspace_layer_codes { + QWERTY = SAFE_RANGE, + PROXIM, + PUNCTN, + CODING, + KU_LBRC, + KU_NUHS, + KU_GRV, + KU_RBRC, + NEW_SAFE_RANGE +}; + +enum userspace_layers { + _PROXIM, + _QWERTY, + _NUMBRS, + _NAVIGN, + _PUNCTN, + _CODING, + _FUNCTN +}; + +#define MY_FESC LT(_FUNCTN, KC_ESC) +#define MY_SSPC MT(MOD_RSFT, KC_SPC) +#define MY_SESC MT(MOD_LSFT, KC_ESC) +#define MY_SBSL MT(MOD_LSFT, KC_NUBS) +#define MY_CBSL MT(MOD_LCTL, KC_NUBS) +#define MY_SSCL MT(MOD_RSFT, KC_SCLN) +#define MY_ASCL MT(MOD_LALT, KC_SCLN) +#define MY_SQUO MT(MOD_RSFT, KC_QUOT) +#define MY_CENT MT(MOD_RCTL, KC_ENT) +#define MY_SENT MT(MOD_RSFT, KC_ENT) +#define MY_AMNU MT(MOD_RALT, KC_APP) + +#define MY_TILD S(KC_NUHS) +#define MY_SEQL MT(MOD_RALT, KC_PEQL) +#define MY_CMIN MT(MOD_RALT, KC_MINS) +#define MY_ASLS MT(MOD_RALT, KC_SLSH) + +#define MY_UNDO LCTL(KC_Z) +#define MY_CUT LCTL(KC_X) +#define MY_COPY LCTL(KC_C) +#define MY_PASTE LCTL(KC_V) + +#define MY_AF4 LALT(KC_F4) +#define MY_CF4 LCTL(KC_F4) +#define MY_CF5 LCTL(KC_F5) +#define MY_CAD LCTL(LALT(KC_DEL)) + +#define NUMBRS TT(_NUMBRS) +#define NAVIGN TT(_NAVIGN) +#define FUNCTN TT(_FUNCTN) + +#define EITHER_SHIFT (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) + +// Cannot redefine this here +// #define TAPPING_TOGGLE 2 + +// Taken from drashna: +// Since our quirky block definitions are basically a list of comma separated +// arguments, we need a wrapper in order for these definitions to be +// expanded before being used as arguments to the LAYOUT_xxx macro. +#if !defined(LAYOUT) +#if defined(LAYOUT_ortho_4x12) +#define LAYOUT_wrapper_ortho_4x12(...) LAYOUT_ortho_4x12(__VA_ARGS__) +#define LAYOUT LAYOUT_ortho_4x12 +#elif defined(KEYMAP) +#define LAYOUT KEYMAP +#endif +#endif +#define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__) +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) + +#define ___________________________________________ _______, _______, _______, _______, _______ + +#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T +#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G +#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B + +#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P +#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN +#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH + +#define _________________PROXIM_L1_________________ KC_Q, KC_W, KC_F, KC_R, KC_B +#define _________________PROXIM_L2_________________ KC_A, KC_S, KC_D, KC_T, KC_G +#define _________________PROXIM_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_K + +#define _________________PROXIM_R1_________________ KC_J, KC_Y, KC_O, KC_U, KC_QUOT +#define _________________PROXIM_R2_________________ KC_P, KC_N, KC_E, KC_I, KC_L +#define _________________PROXIM_R3_________________ KC_M, KC_H, KC_COMM, KC_DOT, KC_SLASH + +#define _________________PUNCTN_R1_________________ KC_NUBS, KC_NUHS, KC_LPRN, KC_RPRN, _______ +#define _________________PUNCTN_R2_________________ KC_GRV, KC_EQL, KC_MINS, KC_PLUS, KC_SLSH +#define _________________PUNCTN_R3_________________ KC_LBRC, KC_RBRC, _______, _______, _______ + +#define _________________CODING_R1_________________ KU_GRV, KC_PERC, KC_DLR, KC_AT, _______ +#define _________________CODING_R2_________________ KC_CIRC, KC_UNDS, MY_TILD, KC_AMPR, KU_NUHS +#define _________________CODING_R3_________________ KU_LBRC, KU_RBRC, _______, _______, _______ + +#define _________________NAVIGN_L1_________________ KC_DEL, KC_PGUP, KC_UP, KC_PGDN, KC_BSPC +#define _________________NAVIGN_L2_________________ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END +#define _________________NAVIGN_L3_________________ MY_UNDO, MY_CUT, MY_COPY, MY_PASTE, KC_ENT + +#define _________________NUMBRS_L1_________________ KC_1, KC_2, KC_3, KC_4, KC_5 +#define _________________NUMBRS_L2_________________ KC_6, KC_7, KC_8, KC_9, KC_0 +#define _________________NUMBRS_L3_________________ KC_UNDO, KC_MINS, KC_EQL, KC_PDOT, KC_ENT + +#define _________________FUNCTN_L1_________________ KC_ESC, KC_F1, KC_F2, KC_F3, MY_AF4 +#define _________________FUNCTN_L2_________________ KC_APP, KC_F4, KC_F5, KC_F6, MY_CF5 +#define _________________FUNCTN_L3_________________ RESET, KC_F7, KC_F8, KC_F9, MY_CF4 + +#define _________________FUNCTN_R1_________________ KC_VOLU, KC_F10, KC_F11, KC_F12, KC_INS +#define _________________FUNCTN_R2_________________ KC_VOLD, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT +#define _________________FUNCTN_R3_________________ KC_MUTE, KC_PAUS, QWERTY, PROXIM, DEBUG diff --git a/users/pdl/rules.mk b/users/pdl/rules.mk new file mode 100644 index 000000000000..ff681299e4e9 --- /dev/null +++ b/users/pdl/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes \ No newline at end of file From 8cc86490aac59a93ece62229cc93097a17420fa5 Mon Sep 17 00:00:00 2001 From: sol <1731279+s-ol@users.noreply.github.com> Date: Wed, 13 Apr 2022 07:46:12 +0200 Subject: [PATCH 0492/1832] [Keyboard] Add s-ol/0xC.pad (#16057) * [Keyboard] Add s_ol/0xc_pad * [Keyboard] add factory testing RGB_MATRIX pattern Co-authored-by: s-ol --- keyboards/s_ol/0xc_pad/0xc_pad.c | 30 ++++++++++++ keyboards/s_ol/0xc_pad/0xc_pad.h | 36 ++++++++++++++ keyboards/s_ol/0xc_pad/config.h | 49 +++++++++++++++++++ keyboards/s_ol/0xc_pad/info.json | 33 +++++++++++++ .../s_ol/0xc_pad/keymaps/default/config.h | 18 +++++++ .../s_ol/0xc_pad/keymaps/default/keymap.c | 25 ++++++++++ .../s_ol/0xc_pad/keymaps/default/readme.md | 5 ++ .../keymaps/default/rgb_matrix_user.inc | 41 ++++++++++++++++ .../s_ol/0xc_pad/keymaps/default/rules.mk | 1 + keyboards/s_ol/0xc_pad/readme.md | 24 +++++++++ keyboards/s_ol/0xc_pad/rules.mk | 22 +++++++++ keyboards/s_ol/info.json | 4 ++ 12 files changed, 288 insertions(+) create mode 100644 keyboards/s_ol/0xc_pad/0xc_pad.c create mode 100644 keyboards/s_ol/0xc_pad/0xc_pad.h create mode 100644 keyboards/s_ol/0xc_pad/config.h create mode 100644 keyboards/s_ol/0xc_pad/info.json create mode 100644 keyboards/s_ol/0xc_pad/keymaps/default/config.h create mode 100644 keyboards/s_ol/0xc_pad/keymaps/default/keymap.c create mode 100644 keyboards/s_ol/0xc_pad/keymaps/default/readme.md create mode 100644 keyboards/s_ol/0xc_pad/keymaps/default/rgb_matrix_user.inc create mode 100644 keyboards/s_ol/0xc_pad/keymaps/default/rules.mk create mode 100644 keyboards/s_ol/0xc_pad/readme.md create mode 100644 keyboards/s_ol/0xc_pad/rules.mk create mode 100644 keyboards/s_ol/info.json diff --git a/keyboards/s_ol/0xc_pad/0xc_pad.c b/keyboards/s_ol/0xc_pad/0xc_pad.c new file mode 100644 index 000000000000..b8dd2976ef70 --- /dev/null +++ b/keyboards/s_ol/0xc_pad/0xc_pad.c @@ -0,0 +1,30 @@ +/* Copyright 2021 s-ol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "0xc_pad.h" + +#ifdef RGB_MATRIX_ENABLE +# define Q(...) __VA_ARGS__ + +led_config_t g_led_config = { + // indices + LAYOUT(0, 6, 1, 5, 7, 2, 4, 8, 11, 3, 9, 10), + // phys position + LED_LAYOUT(Q({96, 110}), Q({128, 110}), Q({80, 83}), Q({112, 83}), Q({144, 83}), Q({64, 55}), Q({96, 55}), Q({128, 55}), Q({160, 55}), Q({80, 28}), Q({112, 28}), Q({144, 28})), + // flags + LED_LAYOUT(4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4), +}; +# undef Q +#endif diff --git a/keyboards/s_ol/0xc_pad/0xc_pad.h b/keyboards/s_ol/0xc_pad/0xc_pad.h new file mode 100644 index 000000000000..52c9c3adfda4 --- /dev/null +++ b/keyboards/s_ol/0xc_pad/0xc_pad.h @@ -0,0 +1,36 @@ +/* Copyright 2021 s-ol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + k01, k05, \ + k02, k06, k10, \ + k03, k07, k11, k15, \ + k08, k12, k16 \ +) { \ + { k01, k05, KC_NO, KC_NO }, \ + { k02, k06, k10, KC_NO }, \ + { k03, k07, k11, k15 }, \ + { KC_NO, k08, k12, k16 } \ +} + +#define LED_LAYOUT( \ + \ + k01, k05, k02, k06, k10, k03, k07, k11, k15, k08, k12, k16) \ + \ + { k01, k02, k03, k08, k07, k06, k05, k10, k11, k12, k16, k15, } diff --git a/keyboards/s_ol/0xc_pad/config.h b/keyboards/s_ol/0xc_pad/config.h new file mode 100644 index 000000000000..4260c7a07dc6 --- /dev/null +++ b/keyboards/s_ol/0xc_pad/config.h @@ -0,0 +1,49 @@ +/* Copyright 2021 s-ol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + +/* ws2812 RGB LED */ +#define RGB_DI_PIN C7 +#define DRIVER_LED_TOTAL 12 +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 +#define RGB_MATRIX_CENTER \ + { 112, 63 } +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER + +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_VAL +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN + +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_HUE_BREATHING +#define ENABLE_RGB_MATRIX_HUE_WAVE + +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SPLASH diff --git a/keyboards/s_ol/0xc_pad/info.json b/keyboards/s_ol/0xc_pad/info.json new file mode 100644 index 000000000000..4462b983ecc0 --- /dev/null +++ b/keyboards/s_ol/0xc_pad/info.json @@ -0,0 +1,33 @@ +{ + "keyboard_name": "0xC.pad", + "url": "https://s-ol.nu/0xC.pad", + "debounce": 5, + "diode_direction": "ROW2COL", + "matrix_pins": { + "rows": ["B7", "B6", "B5", "B4"], + "cols": ["D4", "D3", "D2", "D1"] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":0.5, "y":1}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":0.5, "y":3}, + {"x":1.5, "y":3}, + {"x":2.5, "y":3} + ] + } + }, + "usb": { + "vid": "0x732D", + "pid": "0x0C70", + "device_version": "0.0.1" + } +} diff --git a/keyboards/s_ol/0xc_pad/keymaps/default/config.h b/keyboards/s_ol/0xc_pad/keymaps/default/config.h new file mode 100644 index 000000000000..194cb5a20051 --- /dev/null +++ b/keyboards/s_ol/0xc_pad/keymaps/default/config.h @@ -0,0 +1,18 @@ +/* Copyright 2022 s-ol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CUSTOM_RGB_TESTING diff --git a/keyboards/s_ol/0xc_pad/keymaps/default/keymap.c b/keyboards/s_ol/0xc_pad/keymaps/default/keymap.c new file mode 100644 index 000000000000..562d8950712d --- /dev/null +++ b/keyboards/s_ol/0xc_pad/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +/* Copyright 2021 s-ol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + RGB_RMOD, RGB_MOD, + KC_CUT , KC_COPY, KC_PSTE, + KC_PGUP, KC_PGDN, KC_VOLU, KC_VOLD, + KC_1 , KC_2 , KC_3 + ), +}; diff --git a/keyboards/s_ol/0xc_pad/keymaps/default/readme.md b/keyboards/s_ol/0xc_pad/keymaps/default/readme.md new file mode 100644 index 000000000000..fb71b2bf2097 --- /dev/null +++ b/keyboards/s_ol/0xc_pad/keymaps/default/readme.md @@ -0,0 +1,5 @@ +![0xC.pad Layout Image](https://i.imgur.com/pk4G33B.png) +​ +# Default 0xC.pad Layout +​ +This is a simple default layout to get you started with the 0xC.pad. diff --git a/keyboards/s_ol/0xc_pad/keymaps/default/rgb_matrix_user.inc b/keyboards/s_ol/0xc_pad/keymaps/default/rgb_matrix_user.inc new file mode 100644 index 000000000000..8acb4934bc44 --- /dev/null +++ b/keyboards/s_ol/0xc_pad/keymaps/default/rgb_matrix_user.inc @@ -0,0 +1,41 @@ +/* Copyright 2022 s-ol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +RGB_MATRIX_EFFECT(RGB_TESTING) +#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS + +static HSV RGB_TESTING_math(HSV hsv, uint8_t i, uint8_t time) { + hsv.v = 255; + hsv.s = 255; + + uint8_t t = (time + i * 6) % 256; + switch (t / (256 / 4)) { + case 0: + hsv.h = 0; + break; + case 1: + hsv.h = 85; + break; + case 2: + hsv.h = 170; + break; + default: + hsv.s = 0; + } + return hsv; +} + +static bool RGB_TESTING(effect_params_t* params) { return effect_runner_i(params, &RGB_TESTING_math); } +#endif diff --git a/keyboards/s_ol/0xc_pad/keymaps/default/rules.mk b/keyboards/s_ol/0xc_pad/keymaps/default/rules.mk new file mode 100644 index 000000000000..6245023e803f --- /dev/null +++ b/keyboards/s_ol/0xc_pad/keymaps/default/rules.mk @@ -0,0 +1 @@ +RGB_MATRIX_CUSTOM_USER = yes diff --git a/keyboards/s_ol/0xc_pad/readme.md b/keyboards/s_ol/0xc_pad/readme.md new file mode 100644 index 000000000000..8ca3f78d1a4d --- /dev/null +++ b/keyboards/s_ol/0xc_pad/readme.md @@ -0,0 +1,24 @@ +# 0xC.pad + +![0xC.pad](https://i.imgur.com/YXMKy4u.png) + +A 12-key, RGB-backlit hexagonal macropad. + +* Keyboard Maintainer: [s-ol](https://github.com/s-ol) +* Hardware Supported: "hex12pad r0", 0xC.pad r1 +* Hardware Availability: [IC form](https://s-ol.nu/0xC.pad) + +To flash the example keymap for this macropad +(after setting up your build environment): + + make s_ol/0xc_pad:default:flash + +Before flashing, the macropad must be brought into DFU mode by one of the +following means: +- holding down the top-left key (next to the USB port) while plugging it in +- bridging the two pads labeled `BOOT` on the back of the PCB with a metallic + object (tweezers, paperclip. wire) +- putting the `RESET` keycode in your keymap and pressing the corresponding key + +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/s_ol/0xc_pad/rules.mk b/keyboards/s_ol/0xc_pad/rules.mk new file mode 100644 index 000000000000..1322621d85a0 --- /dev/null +++ b/keyboards/s_ol/0xc_pad/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u2 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 +WS2812_DRIVER = bitbang diff --git a/keyboards/s_ol/info.json b/keyboards/s_ol/info.json new file mode 100644 index 000000000000..3c1c21d5347c --- /dev/null +++ b/keyboards/s_ol/info.json @@ -0,0 +1,4 @@ +{ + "manufacturer": "s-ol", + "maintainer": "s-ol" +} From e1c777a1c993efa6c739fde71f995ee386456237 Mon Sep 17 00:00:00 2001 From: Nostril Date: Tue, 12 Apr 2022 22:50:38 -0700 Subject: [PATCH 0493/1832] [Keyboard] Add Synth Labs Solo keyboard (#16103) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/synthlabs/solo/config.h | 64 ++++++++++++++++ keyboards/synthlabs/solo/info.json | 43 +++++++++++ .../synthlabs/solo/keymaps/default/keymap.c | 12 +++ .../synthlabs/solo/keymaps/default/readme.md | 3 + .../synthlabs/solo/keymaps/gamepad/keymap.c | 35 +++++++++ .../synthlabs/solo/keymaps/gamepad/readme.md | 3 + .../synthlabs/solo/keymaps/gamepad/rules.mk | 2 + keyboards/synthlabs/solo/keymaps/via/keymap.c | 74 +++++++++++++++++++ keyboards/synthlabs/solo/keymaps/via/rules.mk | 1 + keyboards/synthlabs/solo/readme.md | 28 +++++++ keyboards/synthlabs/solo/rules.mk | 13 ++++ keyboards/synthlabs/solo/solo.c | 18 +++++ keyboards/synthlabs/solo/solo.h | 41 ++++++++++ 13 files changed, 337 insertions(+) create mode 100644 keyboards/synthlabs/solo/config.h create mode 100644 keyboards/synthlabs/solo/info.json create mode 100644 keyboards/synthlabs/solo/keymaps/default/keymap.c create mode 100644 keyboards/synthlabs/solo/keymaps/default/readme.md create mode 100644 keyboards/synthlabs/solo/keymaps/gamepad/keymap.c create mode 100644 keyboards/synthlabs/solo/keymaps/gamepad/readme.md create mode 100644 keyboards/synthlabs/solo/keymaps/gamepad/rules.mk create mode 100644 keyboards/synthlabs/solo/keymaps/via/keymap.c create mode 100644 keyboards/synthlabs/solo/keymaps/via/rules.mk create mode 100644 keyboards/synthlabs/solo/readme.md create mode 100644 keyboards/synthlabs/solo/rules.mk create mode 100644 keyboards/synthlabs/solo/solo.c create mode 100644 keyboards/synthlabs/solo/solo.h diff --git a/keyboards/synthlabs/solo/config.h b/keyboards/synthlabs/solo/config.h new file mode 100644 index 000000000000..02fbd7abe02f --- /dev/null +++ b/keyboards/synthlabs/solo/config.h @@ -0,0 +1,64 @@ +// Copyright 2022 Aaron Hong (@hongaaronc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define MANUFACTURER Synth Labs +#define PRODUCT Solo + +#define ENCODERS 1 +#define ENCODER_RESOLUTION 4 +#define ENCODERS_PAD_A { B2 } +#define ENCODERS_PAD_B { B3 } +#define ENCODERS_CW_KEY { { 2, 1 } } +#define ENCODERS_CCW_KEY { { 0, 1 } } + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 7 + +#define QMK_KEYS_PER_SCAN 17 + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ + +#define FORCE_NKRO + +/* + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * + */ + +#define BOOTMAGIC_LITE_ROW 1 +#define BOOTMAGIC_LITE_COLUMN 1 + +#define JOYSTICK_BUTTON_COUNT 8 +#define JOYSTICK_AXES_COUNT 1 +#define JOYSTICK_AXES_RESOLUTION 16 diff --git a/keyboards/synthlabs/solo/info.json b/keyboards/synthlabs/solo/info.json new file mode 100644 index 000000000000..18a144a8b38c --- /dev/null +++ b/keyboards/synthlabs/solo/info.json @@ -0,0 +1,43 @@ +{ + "keyboard_name": "Synth Labs Solo", + "url": "http://solo.synthlabs.io", + "maintainer": "hongaaronc", + "bootloader": "atmel-dfu", + "processor": "atmega32u4", + "debounce": 5, + "matrix_pins": { + "direct": [ + ["C6", "D6", "B5", "B4", "D7", "B6", "D4"], + [null, "B7", null, null, null, null, null], + ["F0", "F7", "F4", "F5", "F6", "F1", "C7"] + ] + }, + "usb": { + "vid": "0x534E", + "pid": "0x3031", + "device_ver": "0x0001" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"P2 1", "x":3, "y":0, "w":0.5, "h":1.5, "matrix":[0,0]}, + {"label":"P1 2", "x":3.5, "y":0, "w":0.5, "h":1.5, "matrix":[0,1]}, + {"label":"P2 3", "x":4, "y":0, "w":0.5, "h":1.5, "matrix":[0,2]}, + {"label":"P1 4", "x":4.5, "y":0, "w":0.5, "h":1.5, "matrix":[0,3]}, + {"label":"P2 5", "x":5, "y":0, "w":0.5, "h":1.5, "matrix":[0,4]}, + {"label":"P1 6", "x":5.5, "y":0, "w":0.5, "h":1.5, "matrix":[0,5]}, + {"label":"P2 7", "x":6, "y":0, "w":0.5, "h":1.5, "matrix":[0,6]}, + {"label":"Knob Press", "x":0.5, "y":1, "w":1.5, "h":1.5, "matrix":[1,1]}, + {"label":"Knob CCW", "x":0, "y":1.25, "w":0.5, "matrix":[1,0]}, + {"label":"Knob CW", "x":2, "y":1.25, "w":0.5, "matrix":[1,2]}, + {"label":"P1 1", "x":3, "y":2, "w":0.5, "h":1.5, "matrix":[2,0]}, + {"label":"P2 2", "x":3.5, "y":2, "w":0.5, "h":1.5, "matrix":[2,1]}, + {"label":"P1 3", "x":4, "y":2, "w":0.5, "h":1.5, "matrix":[2,2]}, + {"label":"P2 4", "x":4.5, "y":2, "w":0.5, "h":1.5, "matrix":[2,3]}, + {"label":"P1 5", "x":5, "y":2, "w":0.5, "h":1.5, "matrix":[2,4]}, + {"label":"P2 6", "x":5.5, "y":2, "w":0.5, "h":1.5, "matrix":[2,5]}, + {"label":"P1 7", "x":6, "y":2, "w":0.5, "h":1.5, "matrix":[2,6]} + ] + } + } +} diff --git a/keyboards/synthlabs/solo/keymaps/default/keymap.c b/keyboards/synthlabs/solo/keymaps/default/keymap.c new file mode 100644 index 000000000000..fa54111fe86b --- /dev/null +++ b/keyboards/synthlabs/solo/keymaps/default/keymap.c @@ -0,0 +1,12 @@ +// Copyright 2022 Aaron Hong (@hongaaronc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_J, KC_U, KC_K, KC_I, KC_L, KC_O, KC_SCLN, + _______, KC_MUTE, _______, + KC_J, KC_U, KC_K, KC_I, KC_L, KC_O, KC_SCLN + ) +}; diff --git a/keyboards/synthlabs/solo/keymaps/default/readme.md b/keyboards/synthlabs/solo/keymaps/default/readme.md new file mode 100644 index 000000000000..625bd392b68a --- /dev/null +++ b/keyboards/synthlabs/solo/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# Default Synth Labs Solo Layout + +This keymap is intended for usage as a macropad. diff --git a/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c b/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c new file mode 100644 index 000000000000..3e55f346f13b --- /dev/null +++ b/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c @@ -0,0 +1,35 @@ +// Copyright 2022 Aaron Hong (@hongaaronc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#include "joystick.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + JS_BUTTON0,JS_BUTTON1,JS_BUTTON2,JS_BUTTON3,JS_BUTTON4,JS_BUTTON5,JS_BUTTON6, + KC_NO, JS_BUTTON7, KC_NO, + JS_BUTTON0,JS_BUTTON1,JS_BUTTON2,JS_BUTTON3,JS_BUTTON4,JS_BUTTON5,JS_BUTTON6 + ) +}; + +#if defined(JOYSTICK_ENABLE) && defined(ENCODER_ENABLE) + +int16_t joystick_position = 0; +int16_t pulses_per_revolution = 24; // Depends on encoder model. Usually 18ppr or 24ppr for Bourns EC11s. +int16_t full_joystick_value = 32767; // Equivalent to max value of int16. +full_joystick_value is +1.0 axis output. -full_joystick_value is -1.0 axis output. +joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = { + [0] = JOYSTICK_AXIS_VIRTUAL +}; + +bool encoder_update_kb(uint8_t index, bool clockwise) { + joystick_position += (clockwise ? 2 : -2) * (full_joystick_value / pulses_per_revolution); // +2 and -2 are used, since +1.0 and -1.0 axis output refers to positions at half of a full rotation + + if (joystick_position != joystick_status.axes[0]) { + joystick_status.axes[0] = joystick_position; + joystick_status.status |= JS_UPDATED; + } + return true; +} + +#endif diff --git a/keyboards/synthlabs/solo/keymaps/gamepad/readme.md b/keyboards/synthlabs/solo/keymaps/gamepad/readme.md new file mode 100644 index 000000000000..9930bb61b470 --- /dev/null +++ b/keyboards/synthlabs/solo/keymaps/gamepad/readme.md @@ -0,0 +1,3 @@ +# Gamepad Synth Labs Solo Layout + +This keymap is intended for usage as a IIDX controller. The rotary encoder is mapped as a virtual 1-axis joystick. diff --git a/keyboards/synthlabs/solo/keymaps/gamepad/rules.mk b/keyboards/synthlabs/solo/keymaps/gamepad/rules.mk new file mode 100644 index 000000000000..30c23b8763bf --- /dev/null +++ b/keyboards/synthlabs/solo/keymaps/gamepad/rules.mk @@ -0,0 +1,2 @@ +JOYSTICK_ENABLE = yes +DEBOUNCE_TYPE = sym_eager_pk diff --git a/keyboards/synthlabs/solo/keymaps/via/keymap.c b/keyboards/synthlabs/solo/keymaps/via/keymap.c new file mode 100644 index 000000000000..7949c61375f9 --- /dev/null +++ b/keyboards/synthlabs/solo/keymaps/via/keymap.c @@ -0,0 +1,74 @@ +// Copyright 2022 Aaron Hong (@hongaaronc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_J, KC_U, KC_K, KC_I, KC_L, KC_O, KC_SCLN, + KC_VOLD, KC_MUTE, KC_VOLU, + KC_J, KC_U, KC_K, KC_I, KC_L, KC_O, KC_SCLN + ), + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ) +}; + +#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE) + +#ifdef ENCODERS +static uint8_t encoder_state[] = {0}; +static keypos_t encoder_cw[] = ENCODERS_CW_KEY; +static keypos_t encoder_ccw[] = ENCODERS_CCW_KEY; +#endif + +void encoder_action_unregister(void) { +#ifdef ENCODERS + for (int index = 0; index < ENCODERS; ++index) { + if (encoder_state[index]) { + keyevent_t encoder_event = (keyevent_t) { + .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], + .pressed = false, + .time = (timer_read() | 1) + }; + encoder_state[index] = 0; + action_exec(encoder_event); + } + } +#endif +} + +void encoder_action_register(uint8_t index, bool clockwise) { +#ifdef ENCODERS + keyevent_t encoder_event = (keyevent_t) { + .key = clockwise ? encoder_cw[index] : encoder_ccw[index], + .pressed = true, + .time = (timer_read() | 1) + }; + encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); + action_exec(encoder_event); +#endif +} + +void matrix_scan_user(void) { + encoder_action_unregister(); +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + encoder_action_register(index, clockwise); + return false; +} + +#endif diff --git a/keyboards/synthlabs/solo/keymaps/via/rules.mk b/keyboards/synthlabs/solo/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/synthlabs/solo/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/synthlabs/solo/readme.md b/keyboards/synthlabs/solo/readme.md new file mode 100644 index 000000000000..204bc3857f1c --- /dev/null +++ b/keyboards/synthlabs/solo/readme.md @@ -0,0 +1,28 @@ +# Synth Labs Solo + +![Synth Labs Solo](https://i.imgur.com/uVUtfksh.png) + +The Solo Macropad by Synth Labs. + +* Keyboard Maintainer: [Nostril](https://github.com/hongaaronc) +* Hardware Supported: Synth Labs Solo +* Hardware Availability: [https://solo.synthlabs.io/](https://solo.synthlabs.io/) + +Make example for this keyboard (after setting up your build environment): + + make synthlabs/solo:default + +Flashing example for this keyboard: + + make synthlabs/solo:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (1,1) in the matrix (the rotary encoder button) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available +* diff --git a/keyboards/synthlabs/solo/rules.mk b/keyboards/synthlabs/solo/rules.mk new file mode 100644 index 000000000000..131aa72aeb5d --- /dev/null +++ b/keyboards/synthlabs/solo/rules.mk @@ -0,0 +1,13 @@ +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes diff --git a/keyboards/synthlabs/solo/solo.c b/keyboards/synthlabs/solo/solo.c new file mode 100644 index 000000000000..b557a3505c4b --- /dev/null +++ b/keyboards/synthlabs/solo/solo.c @@ -0,0 +1,18 @@ +// Copyright 2022 Aaron Hong (@hongaaronc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "solo.h" + +#if !defined(VIA_ENABLE) && !defined(JOYSTICK_ENABLE) && defined(ENCODER_ENABLE) +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } + return true; +} +#endif diff --git a/keyboards/synthlabs/solo/solo.h b/keyboards/synthlabs/solo/solo.h new file mode 100644 index 000000000000..c487446a498b --- /dev/null +++ b/keyboards/synthlabs/solo/solo.h @@ -0,0 +1,41 @@ +// Copyright 2022 Aaron Hong (@hongaaronc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +// This a shortcut to help you visually see your layout. +// The first section contains all of the arguments +// The second converts the arguments into a two-dimensional array +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, \ + k10, k11, k12, \ + k20, k21, k22, k23, k24, k25, k26 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06 }, \ + { k10, k11, k12, XXX, XXX, XXX, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26 } \ +} + +#define LAYOUT_left( \ + k01, k03, k05, \ + k10, k11, k12, \ + k20, k22, k24, k26 \ +) { \ + { XXX, k01, XXX, k03, XXX, k05, XXX }, \ + { k10, k11, k12, XXX, XXX, XXX, XXX }, \ + { k20, XXX, k22, XXX, k24, XXX, k26 } \ +} + +#define LAYOUT_right( \ + k25, k23, k21, \ + k10, k11, k12, \ + k06, k04, k02, k00 \ +) { \ + { k00, XXX, k02, XXX, k04, XXX, k06 }, \ + { k10, k11, k12, XXX, XXX, XXX, XXX }, \ + { XXX, k21, XXX, k23, XXX, k25, XXX } \ +} From 3f66e25b41cdb9192f1a9efb2771fed36559afb0 Mon Sep 17 00:00:00 2001 From: Nabos <9805355+nab-os@users.noreply.github.com> Date: Wed, 13 Apr 2022 08:03:49 +0200 Subject: [PATCH 0494/1832] [Keyboard] add 10k (#16531) Co-authored-by: Ryan Co-authored-by: Nicolas Ballet --- keyboards/handwired/10k/10k.c | 18 ++++++++ keyboards/handwired/10k/10k.h | 20 ++++++++ keyboards/handwired/10k/config.h | 24 ++++++++++ keyboards/handwired/10k/info.json | 46 +++++++++++++++++++ .../handwired/10k/keymaps/default/keymap.c | 42 +++++++++++++++++ keyboards/handwired/10k/keymaps/via/keymap.c | 42 +++++++++++++++++ keyboards/handwired/10k/keymaps/via/rules.mk | 1 + keyboards/handwired/10k/readme.md | 24 ++++++++++ keyboards/handwired/10k/rules.mk | 8 ++++ 9 files changed, 225 insertions(+) create mode 100644 keyboards/handwired/10k/10k.c create mode 100644 keyboards/handwired/10k/10k.h create mode 100644 keyboards/handwired/10k/config.h create mode 100644 keyboards/handwired/10k/info.json create mode 100644 keyboards/handwired/10k/keymaps/default/keymap.c create mode 100644 keyboards/handwired/10k/keymaps/via/keymap.c create mode 100644 keyboards/handwired/10k/keymaps/via/rules.mk create mode 100644 keyboards/handwired/10k/readme.md create mode 100644 keyboards/handwired/10k/rules.mk diff --git a/keyboards/handwired/10k/10k.c b/keyboards/handwired/10k/10k.c new file mode 100644 index 000000000000..bd0babd9569b --- /dev/null +++ b/keyboards/handwired/10k/10k.c @@ -0,0 +1,18 @@ +/* +Copyright 2022 Nabos + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "10k.h" + diff --git a/keyboards/handwired/10k/10k.h b/keyboards/handwired/10k/10k.h new file mode 100644 index 000000000000..8fbabcf6ca1b --- /dev/null +++ b/keyboards/handwired/10k/10k.h @@ -0,0 +1,20 @@ +/* +Copyright 2022 Nabos + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "quantum.h" + diff --git a/keyboards/handwired/10k/config.h b/keyboards/handwired/10k/config.h new file mode 100644 index 000000000000..4ec6d941285c --- /dev/null +++ b/keyboards/handwired/10k/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2022 Nabos + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once +#include "config_common.h" + +/* Enables This makes it easier for fast typists to use dual-function keys */ +#define PERMISSIVE_HOLD + +#define USE_I2C +#define MASTER_RIGHT diff --git a/keyboards/handwired/10k/info.json b/keyboards/handwired/10k/info.json new file mode 100644 index 000000000000..7601788ddced --- /dev/null +++ b/keyboards/handwired/10k/info.json @@ -0,0 +1,46 @@ +{ + "keyboard_name": "10k", + "maintainer": "Nabos", + "manufacturer": "Nabos", + "debounce": 5, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C6", "D7", "E6", "B4", "B5"], + "rows": ["B6"] + }, + "features": { + "audio": false, + "backlight": false, + "bootmagic": false, + "command": false, + "console": false, + "extrakey": false, + "mousekey": false, + "nkro": false, + "rgblight": false + }, + "usb": { + "vid": "0x6869", + "pid": "0x0001", + "device_version": "0.0.1" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_split_1x5" + }, + "layouts": { + "LAYOUT_split_1x5": { + "layout": [ + {"label": "L00", "matrix": [0, 0], "x":0.4295, "y":1.011}, + {"label": "L01", "matrix": [0, 1], "x":1.445, "y":0.819}, + {"label": "L02", "matrix": [0, 2], "x":2.5385, "y":0.7555}, + {"label": "L03", "matrix": [0, 3], "x":3.568, "y":1.3745}, + {"label": "L04", "matrix": [0, 4], "x":4.2, "y":3.987}, + {"label": "R00", "matrix": [1, 0], "x":5.2, "y":3.987}, + {"label": "R01", "matrix": [1, 1], "x":5.832, "y":1.3745}, + {"label": "R02", "matrix": [1, 2], "x":6.8615, "y":0.7555}, + {"label": "R03", "matrix": [1, 3], "x":7.955, "y":0.819}, + {"label": "R04", "matrix": [1, 4], "x":8.9705, "y":1.011} + ] + } + } +} diff --git a/keyboards/handwired/10k/keymaps/default/keymap.c b/keyboards/handwired/10k/keymaps/default/keymap.c new file mode 100644 index 000000000000..3bbcff563cca --- /dev/null +++ b/keyboards/handwired/10k/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* +Copyright 2022 Nabos + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +enum layer_names { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_split_1x5( + KC_A , KC_S , KC_D , KC_F ,KC_SPC , KC_SPC , KC_J , KC_K , KC_L ,KC_SCLN + ), + + [_LOWER] = LAYOUT_split_1x5( + _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ + ), + + [_RAISE] = LAYOUT_split_1x5( + _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ + ), + + [_ADJUST] = LAYOUT_split_1x5( + _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ + ) +}; diff --git a/keyboards/handwired/10k/keymaps/via/keymap.c b/keyboards/handwired/10k/keymaps/via/keymap.c new file mode 100644 index 000000000000..3bbcff563cca --- /dev/null +++ b/keyboards/handwired/10k/keymaps/via/keymap.c @@ -0,0 +1,42 @@ +/* +Copyright 2022 Nabos + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +enum layer_names { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_split_1x5( + KC_A , KC_S , KC_D , KC_F ,KC_SPC , KC_SPC , KC_J , KC_K , KC_L ,KC_SCLN + ), + + [_LOWER] = LAYOUT_split_1x5( + _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ + ), + + [_RAISE] = LAYOUT_split_1x5( + _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ + ), + + [_ADJUST] = LAYOUT_split_1x5( + _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ + ) +}; diff --git a/keyboards/handwired/10k/keymaps/via/rules.mk b/keyboards/handwired/10k/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/10k/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/10k/readme.md b/keyboards/handwired/10k/readme.md new file mode 100644 index 000000000000..270297e92787 --- /dev/null +++ b/keyboards/handwired/10k/readme.md @@ -0,0 +1,24 @@ +# 10k + +Simple 10 keys chord keyboard + +* Keyboard Maintainer: [Nabos](https://github.com/nab-os) +* Hardware Supported: Tested with Elite-C V4 and ProMicro + +Make example for this keyboard (after setting up your build environment): + + make handwired/10k:default + +Flashing example for this keyboard: + + make handwired/10k:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/handwired/10k/rules.mk b/keyboards/handwired/10k/rules.mk new file mode 100644 index 000000000000..af5f432a635d --- /dev/null +++ b/keyboards/handwired/10k/rules.mk @@ -0,0 +1,8 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +SPLIT_KEYBOARD = yes +LTO_ENABLE = yes From 2d05c7fc2500582fd0605569fe929e04bb8cc8ae Mon Sep 17 00:00:00 2001 From: ziptyze Date: Wed, 13 Apr 2022 02:04:38 -0400 Subject: [PATCH 0495/1832] [Keyboard] super16 update (#16494) --- keyboards/1upkeyboards/super16v2/config.h | 81 ++++++++++++++----- .../super16v2/keymaps/default/keymap.c | 18 ++++- .../super16v2/keymaps/mouse/keymap.c | 50 ++++++++++++ .../super16v2/keymaps/mouse/readme.md | 1 + keyboards/1upkeyboards/super16v2/rules.mk | 5 +- keyboards/1upkeyboards/super16v2/super16v2.c | 24 ++++++ 6 files changed, 156 insertions(+), 23 deletions(-) create mode 100644 keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c create mode 100644 keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md diff --git a/keyboards/1upkeyboards/super16v2/config.h b/keyboards/1upkeyboards/super16v2/config.h index 4685e66b2db1..9832c28bef41 100644 --- a/keyboards/1upkeyboards/super16v2/config.h +++ b/keyboards/1upkeyboards/super16v2/config.h @@ -22,6 +22,8 @@ #define MATRIX_ROWS 4 #define MATRIX_COLS 4 +#define MOUSEKEY_MOVE_DELTA 25 + /* * Keyboard Matrix Assignments * @@ -37,6 +39,9 @@ #define MATRIX_ROW_PINS { D1, D2, D3, D4 } #define MATRIX_COL_PINS { D5, D6, C2, D0 } +#define ENCODERS_PAD_A { B1, B3 } +#define ENCODERS_PAD_B { B2, B4 } + #define UNUSED_PINS /* COL2ROW, ROW2COL */ @@ -58,28 +63,62 @@ //#define BACKLIGHT_BREATHING #define RGB_DI_PIN B5 +#define DRIVER_LED_TOTAL 20 #ifdef RGB_DI_PIN -# define RGBLED_NUM 20 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -# define RGBLIGHT_EFFECT_BREATHING -# define RGBLIGHT_EFFECT_RAINBOW_MOOD -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_SNAKE -# define RGBLIGHT_EFFECT_KNIGHT -# define RGBLIGHT_EFFECT_CHRISTMAS -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -# define RGBLIGHT_EFFECT_RGB_TEST -# define RGBLIGHT_EFFECT_ALTERNATING -/*== customize breathing effect ==*/ -/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -/*==== use exp() and sin() ====*/ -//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +# define RGB_MATRIX_KEYPRESSES // reacts to keypresses +# define RGBLIGHT_LIMIT_VAL 255 +#endif +#ifdef RGB_MATRIX_ENABLE +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_BAND_SAT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_DUAL_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_RAINDROPS +# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +# define ENABLE_RGB_MATRIX_HUE_BREATHING +# define ENABLE_RGB_MATRIX_HUE_PENDULUM +# define ENABLE_RGB_MATRIX_HUE_WAVE +# define ENABLE_RGB_MATRIX_PIXEL_RAIN +# define ENABLE_RGB_MATRIX_PIXEL_FLOW +# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +//# define ENABLE_RGB_MATRIX_TYPING_HEATMAP +//# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_SPLASH +//# define ENABLE_RGB_MATRIX_MULTISPLASH +//# define ENABLE_RGB_MATRIX_SOLID_SPLASH +//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ diff --git a/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c index dc58023a3783..b80db58baecc 100644 --- a/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c @@ -27,8 +27,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ortho_4x4( /* Fn Layer */ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET ), }; +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + rgb_matrix_increase_hue(); + } else { + rgb_matrix_decrease_hue(); + } + } + return false; +} \ No newline at end of file diff --git a/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c new file mode 100644 index 000000000000..86ea58e8a58c --- /dev/null +++ b/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2022 MechMerlin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4x4( /* Base */ + KC_TRNS, KC_DELETE, KC_BACKSPACE, KC_MUTE, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PSLS, + MO(1), KC_P0, KC_PDOT, KC_BTN3 + ), + + [1] = LAYOUT_ortho_4x4( /* Fn Layer */ + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, + RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, RESET + ), +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code_delay(KC_MS_RIGHT, 10); + } else { + tap_code_delay(KC_MS_LEFT, 10); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + tap_code_delay(KC_AUDIO_VOL_UP, 10); + } else { + tap_code_delay(KC_AUDIO_VOL_DOWN, 10); + } + } + return false; +} \ No newline at end of file diff --git a/keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md b/keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md new file mode 100644 index 000000000000..e229fcba7409 --- /dev/null +++ b/keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md @@ -0,0 +1 @@ +# The default keymap for Super 16 V2 diff --git a/keyboards/1upkeyboards/super16v2/rules.mk b/keyboards/1upkeyboards/super16v2/rules.mk index d31d53cead1b..3e20247dff26 100644 --- a/keyboards/1upkeyboards/super16v2/rules.mk +++ b/keyboards/1upkeyboards/super16v2/rules.mk @@ -14,5 +14,8 @@ CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 +ENCODER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/super16v2/super16v2.c b/keyboards/1upkeyboards/super16v2/super16v2.c index fc73f700c49b..ff7ce33c8415 100644 --- a/keyboards/1upkeyboards/super16v2/super16v2.c +++ b/keyboards/1upkeyboards/super16v2/super16v2.c @@ -15,3 +15,27 @@ */ #include "super16v2.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 3, 2, 1, 0 }, + { 7, 6, 5, 4 }, + { 11, 10, 9, 8 }, + { 15, 14, 13, 12 } +}, { + // LED Index to Physical Position + { 28, 12 }, { 84, 12 }, { 140, 12 }, { 196, 12 }, + { 28, 28 }, { 84, 28 }, { 140, 28 }, { 196, 28 }, + { 28, 44 }, { 84, 44 }, { 140, 44 }, { 196, 44 }, + { 28, 60 }, { 84, 60 }, { 140, 60 }, { 196, 60 }, + { 168, 48 }, { 168, 16 }, { 58, 16 }, { 56, 48 } +}, { + // LED Index to Flag + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4, + 2, 2, 2, 2, +} }; +#endif From 9a38ebc65600b42681e86179ab2ffe39dfd9dcdb Mon Sep 17 00:00:00 2001 From: Moritz Date: Wed, 13 Apr 2022 08:20:07 +0200 Subject: [PATCH 0496/1832] [Keyboard] add E80-1800 PCB (#16645) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/ebastler/e80_1800/chconf.h | 21 ++++ keyboards/ebastler/e80_1800/config.h | 67 +++++++++++ keyboards/ebastler/e80_1800/e80_1800.c | 17 +++ keyboards/ebastler/e80_1800/e80_1800.h | 109 ++++++++++++++++++ keyboards/ebastler/e80_1800/halconf.h | 21 ++++ keyboards/ebastler/e80_1800/info.json | 22 ++++ .../e80_1800/keymaps/ansi_6u/keymap.c | 46 ++++++++ .../e80_1800/keymaps/ansi_7u/keymap.c | 46 ++++++++ .../e80_1800/keymaps/default/keymap.c | 46 ++++++++ .../ebastler/e80_1800/keymaps/iso_6u/keymap.c | 47 ++++++++ .../ebastler/e80_1800/keymaps/iso_7u/keymap.c | 46 ++++++++ .../ebastler/e80_1800/keymaps/via/keymap.c | 47 ++++++++ .../ebastler/e80_1800/keymaps/via/rules.mk | 1 + keyboards/ebastler/e80_1800/mcuconf.h | 32 +++++ keyboards/ebastler/e80_1800/readme.md | 25 ++++ keyboards/ebastler/e80_1800/rules.mk | 22 ++++ keyboards/ebastler/readme.md | 4 +- 17 files changed, 618 insertions(+), 1 deletion(-) create mode 100644 keyboards/ebastler/e80_1800/chconf.h create mode 100644 keyboards/ebastler/e80_1800/config.h create mode 100644 keyboards/ebastler/e80_1800/e80_1800.c create mode 100644 keyboards/ebastler/e80_1800/e80_1800.h create mode 100644 keyboards/ebastler/e80_1800/halconf.h create mode 100644 keyboards/ebastler/e80_1800/info.json create mode 100644 keyboards/ebastler/e80_1800/keymaps/ansi_6u/keymap.c create mode 100644 keyboards/ebastler/e80_1800/keymaps/ansi_7u/keymap.c create mode 100644 keyboards/ebastler/e80_1800/keymaps/default/keymap.c create mode 100644 keyboards/ebastler/e80_1800/keymaps/iso_6u/keymap.c create mode 100644 keyboards/ebastler/e80_1800/keymaps/iso_7u/keymap.c create mode 100644 keyboards/ebastler/e80_1800/keymaps/via/keymap.c create mode 100644 keyboards/ebastler/e80_1800/keymaps/via/rules.mk create mode 100644 keyboards/ebastler/e80_1800/mcuconf.h create mode 100644 keyboards/ebastler/e80_1800/readme.md create mode 100644 keyboards/ebastler/e80_1800/rules.mk diff --git a/keyboards/ebastler/e80_1800/chconf.h b/keyboards/ebastler/e80_1800/chconf.h new file mode 100644 index 000000000000..ee4fd213a2bb --- /dev/null +++ b/keyboards/ebastler/e80_1800/chconf.h @@ -0,0 +1,21 @@ +/* Copyright 2022 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define CH_CFG_ST_RESOLUTION 16 +#define CH_CFG_INTERVALS_SIZE 16 + +#include_next \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/config.h b/keyboards/ebastler/e80_1800/config.h new file mode 100644 index 000000000000..968c7a1fc7c5 --- /dev/null +++ b/keyboards/ebastler/e80_1800/config.h @@ -0,0 +1,67 @@ +/* Copyright 2022 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6562 // "eb" +#define PRODUCT_ID 0x1338 +#define DEVICE_VER 0x0001 +#define MANUFACTURER ebastler +#define PRODUCT E80-1800 + +/* Limit layer count to fit in storage with VIA enabled */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 + +/* key matrix size */ +#define MATRIX_ROWS 7 +#define MATRIX_COLS 19 + +#define MATRIX_ROW_PINS { B7, B3, D2, C12, C11, C10, A15 } +#define MATRIX_COL_PINS { A1, A0, C3, C2, F1, F0, C15, C14, C13, C4, C5, B0, B1, B2, B9, A13, A8, C9, C8 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW +#define DEBOUNCE 5 + +#define LED_NUM_LOCK_PIN B6 +#define LED_CAPS_LOCK_PIN B5 +#define LED_SCROLL_LOCK_PIN B4 +#define LED_PIN_ON_STATE 0 + +/* Backlight */ +#define BACKLIGHT_PIN A9 +#define BACKLIGHT_BREATHING // don't disable even if you don't want breathing - it will not compile without +#define BACKLIGHT_PWM_DRIVER PWMD1 +#define BACKLIGHT_PWM_CHANNEL 2 +#define BACKLIGHT_PAL_MODE 2 +#define BACKLIGHT_LEVELS 5 +#define BACKLIGHT_ON_STATE 1 +#define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 + +/* I2C for OLED */ +#define I2C_DRIVER I2CD2 +#define I2C1_SCL_PIN B10 +#define I2C1_SDA_PIN B11 +#define I2C1_SCL_PAL_MODE 1 +#define I2C1_SDA_PAL_MODE 1 +#define I2C1_TIMINGR_PRESC 0U +#define I2C1_TIMINGR_SCLDEL 3U +#define I2C1_TIMINGR_SDADEL 1U +#define I2C1_TIMINGR_SCLH 3U +#define I2C1_TIMINGR_SCLL 9U diff --git a/keyboards/ebastler/e80_1800/e80_1800.c b/keyboards/ebastler/e80_1800/e80_1800.c new file mode 100644 index 000000000000..7dd2f3edff51 --- /dev/null +++ b/keyboards/ebastler/e80_1800/e80_1800.c @@ -0,0 +1,17 @@ +/* Copyright 2022 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "e80_1800.h" diff --git a/keyboards/ebastler/e80_1800/e80_1800.h b/keyboards/ebastler/e80_1800/e80_1800.h new file mode 100644 index 000000000000..4027c0d27e92 --- /dev/null +++ b/keyboards/ebastler/e80_1800/e80_1800.h @@ -0,0 +1,109 @@ +/* Copyright 2022 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_1800_all( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, K018, \ + K115, K116, K117, K118, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K218, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, \ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, \ + K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K514, K515, K516, K517, K518, \ + K600, K601, K602, K606, K609, K610, K611, K612, K613, K614, K615, K616, K617 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, K016, K017, K018 }, \ + { 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, KC_NO, K115, K116, K117, K118 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, K218 }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318 }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418 }, \ + { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, K514, K515, K516, K517, K518 }, \ + { K600, K601, K602, KC_NO, KC_NO, KC_NO, K606, KC_NO, KC_NO, K609, K610, K611, K612, K613, K614, K615, K616, K617, KC_NO } \ +} + +#define LAYOUT_1800_iso_6u( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, K018, \ + K115, K116, K117, K118, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K218, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, K316, K317, K318, \ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, \ + K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K514, K515, K516, K517, K518, \ + K600, K601, K602, K606, K609, K610, K611, K612, K613, K614, K615, K616, K617 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, K016, K017, K018 }, \ + { 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, KC_NO, K115, K116, K117, K118 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, K218 }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315, K316, K317, K318 }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418 }, \ + { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, K514, K515, K516, K517, K518 }, \ + { K600, K601, K602, KC_NO, KC_NO, KC_NO, K606, KC_NO, KC_NO, K609, K610, K611, K612, K613, K614, K615, K616, K617, KC_NO } \ +} + +#define LAYOUT_1800_iso_7u( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, K018, \ + K115, K116, K117, K118, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K218, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, K316, K317, K318, \ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, \ + K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K514, K515, K516, K517, K518, \ + K600, K602, K606, K609, K612, K613, K614, K615, K616, K617 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, K016, K017, K018 }, \ + { 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, KC_NO, K115, K116, K117, K118 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, K218 }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315, K316, K317, K318 }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418 }, \ + { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, K514, K515, K516, K517, K518 }, \ + { K600, KC_NO, K602, KC_NO, KC_NO, KC_NO, K606, KC_NO, KC_NO, K609, KC_NO, KC_NO, K612, K613, K614, K615, K616, K617, KC_NO } \ +} + +#define LAYOUT_1800_ansi_6u( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, K018, \ + K115, K116, K117, K118, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K218, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, \ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, K418, \ + K500, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K514, K515, K516, K517, K518, \ + K600, K601, K602, K606, K609, K610, K611, K612, K613, K614, K615, K616, K617 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, K016, K017, K018 }, \ + { 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, K314, K115, K116, K117, K118 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, K218 }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315, K316, K317, K318 }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, K415, K416, K417, K418 }, \ + { K500, KC_NO, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, K514, K515, K516, K517, K518 }, \ + { K600, K601, K602, KC_NO, KC_NO, KC_NO, K606, KC_NO, KC_NO, K609, K610, K611, K612, K613, K614, K615, K616, K617, KC_NO } \ +} + +#define LAYOUT_1800_ansi_7u( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, K018, \ + K314, K115, K116, K117, K118, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K218, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, K316, K317, K318, \ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, K418, \ + K500, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K514, K515, K516, K517, K518, \ + K600, K602, K606, K609, K612, K613, K614, K615, K616, K617 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, K016, K017, K018 }, \ + { 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, K314, K115, K116, K117, K118 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, K218 }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315, K316, K317, K318 }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, K415, K416, K417, K418 }, \ + { K500, KC_NO, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, K514, K515, K516, K517, K518 }, \ + { K600, KC_NO, K602, KC_NO, KC_NO, KC_NO, K606, KC_NO, KC_NO, K609, KC_NO, KC_NO, K612, K613, K614, K615, K616, K617, KC_NO } \ +} diff --git a/keyboards/ebastler/e80_1800/halconf.h b/keyboards/ebastler/e80_1800/halconf.h new file mode 100644 index 000000000000..974b0086ad7f --- /dev/null +++ b/keyboards/ebastler/e80_1800/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2022 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define HAL_USE_PWM TRUE +#define HAL_USE_I2C TRUE + +#include_next \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/info.json b/keyboards/ebastler/e80_1800/info.json new file mode 100644 index 000000000000..503cafaa3d6c --- /dev/null +++ b/keyboards/ebastler/e80_1800/info.json @@ -0,0 +1,22 @@ +{ + "keyboard_name": "E80_1800", + "url": "https://github.com/ebastler/E80-1800", + "maintainer": "ebastler", + "layouts": { + "LAYOUT_1800_all": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Insert", "x":15.5, "y":0}, {"label":"Home", "x":16.5, "y":0}, {"label":"PgUp", "x":17.5, "y":0}, {"label":"PrtSc", "x":18.5, "y":0}, {"label":"Delete", "x":15.5, "y":1}, {"label":"End", "x":16.5, "y":1}, {"label":"PgDn", "x":17.5, "y":1}, {"label":"Scroll Lock", "x":18.5, "y":1}, {"label":"\u00ac", "x":0, "y":2}, {"label":"!", "x":1, "y":2}, {"label":"\"", "x":2, "y":2}, {"label":"\u00a7", "x":3, "y":2}, {"label":"$", "x":4, "y":2}, {"label":"%", "x":5, "y":2}, {"label":"&", "x":6, "y":2}, {"label":"/", "x":7, "y":2}, {"label":"(", "x":8, "y":2}, {"label":")", "x":9, "y":2}, {"label":"=", "x":10, "y":2}, {"label":"?", "x":11, "y":2}, {"label":"`", "x":12, "y":2}, {"label":"Backspace", "x":13, "y":2, "w":2}, {"label":"Num Lock", "x":15.5, "y":2}, {"label":"/", "x":16.5, "y":2}, {"label":"*", "x":17.5, "y":2}, {"label":"Pause", "x":18.5, "y":2}, {"label":"Tab", "x":0, "y":3, "w":1.5}, {"label":"Q", "x":1.5, "y":3}, {"label":"W", "x":2.5, "y":3}, {"label":"E", "x":3.5, "y":3}, {"label":"R", "x":4.5, "y":3}, {"label":"T", "x":5.5, "y":3}, {"label":"Y", "x":6.5, "y":3}, {"label":"U", "x":7.5, "y":3}, {"label":"I", "x":8.5, "y":3}, {"label":"O", "x":9.5, "y":3}, {"label":"P", "x":10.5, "y":3}, {"label":"{", "x":11.5, "y":3}, {"label":"}", "x":12.5, "y":3}, {"label":"|", "x":13.5, "y":3, "w":1.5}, {"label":"7", "x":15.5, "y":3}, {"label":"8", "x":16.5, "y":3}, {"label":"9", "x":17.5, "y":3}, {"label":"-", "x":18.5, "y":3}, {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, {"label":"A", "x":1.75, "y":4}, {"label":"S", "x":2.75, "y":4}, {"label":"D", "x":3.75, "y":4}, {"label":"F", "x":4.75, "y":4}, {"label":"G", "x":5.75, "y":4}, {"label":"H", "x":6.75, "y":4}, {"label":"J", "x":7.75, "y":4}, {"label":"K", "x":8.75, "y":4}, {"label":"L", "x":9.75, "y":4}, {"label":":", "x":10.75, "y":4}, {"label":"@", "x":11.75, "y":4}, {"label":"~", "x":12.75, "y":4}, {"label":"Enter", "x":13.75, "y":3, "w":1.25, "h":2}, {"label":"4", "x":15.5, "y":4}, {"label":"5", "x":16.5, "y":4}, {"label":"6", "x":17.5, "y":4}, {"label":"+", "x":18.5, "y":4}, {"label":"Shift", "x":0, "y":5, "w":1.25}, {"label":"|", "x":1.25, "y":5}, {"label":"Z", "x":2.25, "y":5}, {"label":"X", "x":3.25, "y":5}, {"label":"C", "x":4.25, "y":5}, {"label":"V", "x":5.25, "y":5}, {"label":"B", "x":6.25, "y":5}, {"label":"N", "x":7.25, "y":5}, {"label":"M", "x":8.25, "y":5}, {"label":"<", "x":9.25, "y":5}, {"label":">", "x":10.25, "y":5}, {"label":"?", "x":11.25, "y":5}, {"label":"Shift", "x":12.25, "y":5, "w":1.75}, {"label":"up", "x":14.25, "y":5.25}, {"label":"1", "x":15.5, "y":5}, {"label":"2", "x":16.5, "y":5}, {"label":"3", "x":17.5, "y":5}, {"label":"Enter", "x":18.5, "y":5, "h":2}, {"label":"Ctrl", "x":0, "y":6}, {"label":"Win", "x":1, "y":6}, {"label":"Alt", "x":2, "y":6}, {"x":3, "y":6, "w":6}, {"label":"AltGr", "x":9, "y":6}, {"label":"Win", "x":10, "y":6}, {"label":"Menu", "x":11, "y":6}, {"label":"Ctrl", "x":12, "y":6}, {"label":"left", "x":13.25, "y":6.25}, {"label":"down", "x":14.25, "y":6.25}, {"label":"right", "x":15.25, "y":6.25}, {"label":"0", "x":16.5, "y":6}, {"label":".", "x":17.5, "y":6}] + }, + "LAYOUT_1800_iso_6u": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Insert", "x":15.5, "y":0}, {"label":"Home", "x":16.5, "y":0}, {"label":"PgUp", "x":17.5, "y":0}, {"label":"PrtSc", "x":18.5, "y":0}, {"label":"Delete", "x":15.5, "y":1}, {"label":"End", "x":16.5, "y":1}, {"label":"PgDn", "x":17.5, "y":1}, {"label":"Scroll Lock", "x":18.5, "y":1}, {"label":"\u00ac", "x":0, "y":2}, {"label":"!", "x":1, "y":2}, {"label":"\"", "x":2, "y":2}, {"label":"\u00a7", "x":3, "y":2}, {"label":"$", "x":4, "y":2}, {"label":"%", "x":5, "y":2}, {"label":"&", "x":6, "y":2}, {"label":"/", "x":7, "y":2}, {"label":"(", "x":8, "y":2}, {"label":")", "x":9, "y":2}, {"label":"=", "x":10, "y":2}, {"label":"?", "x":11, "y":2}, {"label":"`", "x":12, "y":2}, {"label":"Backspace", "x":13, "y":2, "w":2}, {"label":"Num Lock", "x":15.5, "y":2}, {"label":"/", "x":16.5, "y":2}, {"label":"*", "x":17.5, "y":2}, {"label":"Pause", "x":18.5, "y":2}, {"label":"Tab", "x":0, "y":3, "w":1.5}, {"label":"Q", "x":1.5, "y":3}, {"label":"W", "x":2.5, "y":3}, {"label":"E", "x":3.5, "y":3}, {"label":"R", "x":4.5, "y":3}, {"label":"T", "x":5.5, "y":3}, {"label":"Y", "x":6.5, "y":3}, {"label":"U", "x":7.5, "y":3}, {"label":"I", "x":8.5, "y":3}, {"label":"O", "x":9.5, "y":3}, {"label":"P", "x":10.5, "y":3}, {"label":"{", "x":11.5, "y":3}, {"label":"}", "x":12.5, "y":3}, {"label":"7", "x":15.5, "y":3}, {"label":"8", "x":16.5, "y":3}, {"label":"9", "x":17.5, "y":3}, {"label":"-", "x":18.5, "y":3}, {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, {"label":"A", "x":1.75, "y":4}, {"label":"S", "x":2.75, "y":4}, {"label":"D", "x":3.75, "y":4}, {"label":"F", "x":4.75, "y":4}, {"label":"G", "x":5.75, "y":4}, {"label":"H", "x":6.75, "y":4}, {"label":"J", "x":7.75, "y":4}, {"label":"K", "x":8.75, "y":4}, {"label":"L", "x":9.75, "y":4}, {"label":":", "x":10.75, "y":4}, {"label":"@", "x":11.75, "y":4}, {"label":"~", "x":12.75, "y":4}, {"label":"Enter", "x":13.75, "y":3, "w":1.25, "h":2}, {"label":"4", "x":15.5, "y":4}, {"label":"5", "x":16.5, "y":4}, {"label":"6", "x":17.5, "y":4}, {"label":"+", "x":18.5, "y":4}, {"label":"Shift", "x":0, "y":5, "w":1.25}, {"label":"|", "x":1.25, "y":5}, {"label":"Z", "x":2.25, "y":5}, {"label":"X", "x":3.25, "y":5}, {"label":"C", "x":4.25, "y":5}, {"label":"V", "x":5.25, "y":5}, {"label":"B", "x":6.25, "y":5}, {"label":"N", "x":7.25, "y":5}, {"label":"M", "x":8.25, "y":5}, {"label":"<", "x":9.25, "y":5}, {"label":">", "x":10.25, "y":5}, {"label":"?", "x":11.25, "y":5}, {"label":"Shift", "x":12.25, "y":5, "w":1.75}, {"label":"up", "x":14.25, "y":5.25}, {"label":"1", "x":15.5, "y":5}, {"label":"2", "x":16.5, "y":5}, {"label":"3", "x":17.5, "y":5}, {"label":"Enter", "x":18.5, "y":5, "h":2}, {"label":"Ctrl", "x":0, "y":6}, {"label":"Win", "x":1, "y":6}, {"label":"Alt", "x":2, "y":6}, {"x":3, "y":6, "w":6}, {"label":"AltGr", "x":9, "y":6}, {"label":"Win", "x":10, "y":6}, {"label":"Menu", "x":11, "y":6}, {"label":"Ctrl", "x":12, "y":6}, {"label":"left", "x":13.25, "y":6.25}, {"label":"down", "x":14.25, "y":6.25}, {"label":"right", "x":15.25, "y":6.25}, {"label":"0", "x":16.5, "y":6}, {"label":".", "x":17.5, "y":6}] + }, + "LAYOUT_1800_iso_7u": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Insert", "x":15.5, "y":0}, {"label":"Home", "x":16.5, "y":0}, {"label":"PgUp", "x":17.5, "y":0}, {"label":"PrtSc", "x":18.5, "y":0}, {"label":"Delete", "x":15.5, "y":1}, {"label":"End", "x":16.5, "y":1}, {"label":"PgDn", "x":17.5, "y":1}, {"label":"Scroll Lock", "x":18.5, "y":1}, {"label":"\u00ac", "x":0, "y":2}, {"label":"!", "x":1, "y":2}, {"label":"\"", "x":2, "y":2}, {"label":"\u00a7", "x":3, "y":2}, {"label":"$", "x":4, "y":2}, {"label":"%", "x":5, "y":2}, {"label":"&", "x":6, "y":2}, {"label":"/", "x":7, "y":2}, {"label":"(", "x":8, "y":2}, {"label":")", "x":9, "y":2}, {"label":"=", "x":10, "y":2}, {"label":"?", "x":11, "y":2}, {"label":"`", "x":12, "y":2}, {"label":"Backspace", "x":13, "y":2, "w":2}, {"label":"Num Lock", "x":15.5, "y":2}, {"label":"/", "x":16.5, "y":2}, {"label":"*", "x":17.5, "y":2}, {"label":"Pause", "x":18.5, "y":2}, {"label":"Tab", "x":0, "y":3, "w":1.5}, {"label":"Q", "x":1.5, "y":3}, {"label":"W", "x":2.5, "y":3}, {"label":"E", "x":3.5, "y":3}, {"label":"R", "x":4.5, "y":3}, {"label":"T", "x":5.5, "y":3}, {"label":"Y", "x":6.5, "y":3}, {"label":"U", "x":7.5, "y":3}, {"label":"I", "x":8.5, "y":3}, {"label":"O", "x":9.5, "y":3}, {"label":"P", "x":10.5, "y":3}, {"label":"{", "x":11.5, "y":3}, {"label":"}", "x":12.5, "y":3}, {"label":"7", "x":15.5, "y":3}, {"label":"8", "x":16.5, "y":3}, {"label":"9", "x":17.5, "y":3}, {"label":"-", "x":18.5, "y":3}, {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, {"label":"A", "x":1.75, "y":4}, {"label":"S", "x":2.75, "y":4}, {"label":"D", "x":3.75, "y":4}, {"label":"F", "x":4.75, "y":4}, {"label":"G", "x":5.75, "y":4}, {"label":"H", "x":6.75, "y":4}, {"label":"J", "x":7.75, "y":4}, {"label":"K", "x":8.75, "y":4}, {"label":"L", "x":9.75, "y":4}, {"label":":", "x":10.75, "y":4}, {"label":"@", "x":11.75, "y":4}, {"label":"~", "x":12.75, "y":4}, {"label":"Enter", "x":13.75, "y":3, "w":1.25, "h":2}, {"label":"4", "x":15.5, "y":4}, {"label":"5", "x":16.5, "y":4}, {"label":"6", "x":17.5, "y":4}, {"label":"+", "x":18.5, "y":4}, {"label":"Shift", "x":0, "y":5, "w":1.25}, {"label":"|", "x":1.25, "y":5}, {"label":"Z", "x":2.25, "y":5}, {"label":"X", "x":3.25, "y":5}, {"label":"C", "x":4.25, "y":5}, {"label":"V", "x":5.25, "y":5}, {"label":"B", "x":6.25, "y":5}, {"label":"N", "x":7.25, "y":5}, {"label":"M", "x":8.25, "y":5}, {"label":"<", "x":9.25, "y":5}, {"label":">", "x":10.25, "y":5}, {"label":"?", "x":11.25, "y":5}, {"label":"Shift", "x":12.25, "y":5, "w":1.75}, {"label":"up", "x":14.25, "y":5.25}, {"label":"1", "x":15.5, "y":5}, {"label":"2", "x":16.5, "y":5}, {"label":"3", "x":17.5, "y":5}, {"label":"Enter", "x":18.5, "y":5, "h":2}, {"label":"Ctrl", "x":0, "y":6, "w":1.5}, {"label":"Alt", "x":1.5, "y":6, "w":1.5}, {"x":3, "y":6, "w":7}, {"label":"AltGr", "x":10, "y":6, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":6, "w":1.5}, {"label":"left", "x":13.25, "y":6.25}, {"label":"down", "x":14.25, "y":6.25}, {"label":"right", "x":15.25, "y":6.25}, {"label":"0", "x":16.5, "y":6}, {"label":".", "x":17.5, "y":6}] + }, + "LAYOUT_1800_ansi_6u": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Insert", "x":15.5, "y":0}, {"label":"Home", "x":16.5, "y":0}, {"label":"PgUp", "x":17.5, "y":0}, {"label":"PrtSc", "x":18.5, "y":0}, {"label":"Delete", "x":15.5, "y":1}, {"label":"End", "x":16.5, "y":1}, {"label":"PgDn", "x":17.5, "y":1}, {"label":"Scroll Lock", "x":18.5, "y":1}, {"label":"~", "x":0, "y":2}, {"label":"!", "x":1, "y":2}, {"label":"@", "x":2, "y":2}, {"label":"#", "x":3, "y":2}, {"label":"$", "x":4, "y":2}, {"label":"%", "x":5, "y":2}, {"label":"^", "x":6, "y":2}, {"label":"&", "x":7, "y":2}, {"label":"*", "x":8, "y":2}, {"label":"(", "x":9, "y":2}, {"label":")", "x":10, "y":2}, {"label":"_", "x":11, "y":2}, {"label":"+", "x":12, "y":2}, {"label":"Backspace", "x":13, "y":2, "w":2}, {"label":"Num Lock", "x":15.5, "y":2}, {"label":"/", "x":16.5, "y":2}, {"label":"*", "x":17.5, "y":2}, {"label":"Pause", "x":18.5, "y":2}, {"label":"Tab", "x":0, "y":3, "w":1.5}, {"label":"Q", "x":1.5, "y":3}, {"label":"W", "x":2.5, "y":3}, {"label":"E", "x":3.5, "y":3}, {"label":"R", "x":4.5, "y":3}, {"label":"T", "x":5.5, "y":3}, {"label":"Y", "x":6.5, "y":3}, {"label":"U", "x":7.5, "y":3}, {"label":"I", "x":8.5, "y":3}, {"label":"O", "x":9.5, "y":3}, {"label":"P", "x":10.5, "y":3}, {"label":"{", "x":11.5, "y":3}, {"label":"}", "x":12.5, "y":3}, {"label":"|", "x":13.5, "y":3, "w":1.5}, {"label":"7", "x":15.5, "y":3}, {"label":"8", "x":16.5, "y":3}, {"label":"9", "x":17.5, "y":3}, {"label":"-", "x":18.5, "y":3}, {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, {"label":"A", "x":1.75, "y":4}, {"label":"S", "x":2.75, "y":4}, {"label":"D", "x":3.75, "y":4}, {"label":"F", "x":4.75, "y":4}, {"label":"G", "x":5.75, "y":4}, {"label":"H", "x":6.75, "y":4}, {"label":"J", "x":7.75, "y":4}, {"label":"K", "x":8.75, "y":4}, {"label":"L", "x":9.75, "y":4}, {"label":":", "x":10.75, "y":4}, {"label":"@", "x":11.75, "y":4}, {"label":"Enter", "x":12.75, "y":4, "w":2.25}, {"label":"4", "x":15.5, "y":4}, {"label":"5", "x":16.5, "y":4}, {"label":"6", "x":17.5, "y":4}, {"label":"+", "x":18.5, "y":4}, {"label":"Shift", "x":0, "y":5, "w":2.25}, {"label":"Z", "x":2.25, "y":5}, {"label":"X", "x":3.25, "y":5}, {"label":"C", "x":4.25, "y":5}, {"label":"V", "x":5.25, "y":5}, {"label":"B", "x":6.25, "y":5}, {"label":"N", "x":7.25, "y":5}, {"label":"M", "x":8.25, "y":5}, {"label":"<", "x":9.25, "y":5}, {"label":">", "x":10.25, "y":5}, {"label":"?", "x":11.25, "y":5}, {"label":"Shift", "x":12.25, "y":5, "w":1.75}, {"label":"up", "x":14.25, "y":5.25}, {"label":"1", "x":15.5, "y":5}, {"label":"2", "x":16.5, "y":5}, {"label":"3", "x":17.5, "y":5}, {"label":"Enter", "x":18.5, "y":5, "h":2}, {"label":"Ctrl", "x":0, "y":6}, {"label":"Win", "x":1, "y":6}, {"label":"Alt", "x":2, "y":6}, {"x":3, "y":6, "w":6}, {"label":"Alt", "x":9, "y":6}, {"label":"Win", "x":10, "y":6}, {"label":"Menu", "x":11, "y":6}, {"label":"Ctrl", "x":12, "y":6}, {"label":"left", "x":13.25, "y":6.25}, {"label":"down", "x":14.25, "y":6.25}, {"label":"right", "x":15.25, "y":6.25}, {"label":"0", "x":16.5, "y":6}, {"label":".", "x":17.5, "y":6}] + }, + "LAYOUT_1800_ansi_7u": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Insert", "x":15.5, "y":0}, {"label":"Home", "x":16.5, "y":0}, {"label":"PgUp", "x":17.5, "y":0}, {"label":"PrtSc", "x":18.5, "y":0}, {"label":"Delete", "x":15.5, "y":1}, {"label":"End", "x":16.5, "y":1}, {"label":"PgDn", "x":17.5, "y":1}, {"label":"Scroll Lock", "x":18.5, "y":1}, {"label":"~", "x":0, "y":2}, {"label":"!", "x":1, "y":2}, {"label":"@", "x":2, "y":2}, {"label":"#", "x":3, "y":2}, {"label":"$", "x":4, "y":2}, {"label":"%", "x":5, "y":2}, {"label":"^", "x":6, "y":2}, {"label":"&", "x":7, "y":2}, {"label":"*", "x":8, "y":2}, {"label":"(", "x":9, "y":2}, {"label":")", "x":10, "y":2}, {"label":"_", "x":11, "y":2}, {"label":"+", "x":12, "y":2}, {"label":"Backspace", "x":13, "y":2, "w":2}, {"label":"Num Lock", "x":15.5, "y":2}, {"label":"/", "x":16.5, "y":2}, {"label":"*", "x":17.5, "y":2}, {"label":"Pause", "x":18.5, "y":2}, {"label":"Tab", "x":0, "y":3, "w":1.5}, {"label":"Q", "x":1.5, "y":3}, {"label":"W", "x":2.5, "y":3}, {"label":"E", "x":3.5, "y":3}, {"label":"R", "x":4.5, "y":3}, {"label":"T", "x":5.5, "y":3}, {"label":"Y", "x":6.5, "y":3}, {"label":"U", "x":7.5, "y":3}, {"label":"I", "x":8.5, "y":3}, {"label":"O", "x":9.5, "y":3}, {"label":"P", "x":10.5, "y":3}, {"label":"{", "x":11.5, "y":3}, {"label":"}", "x":12.5, "y":3}, {"label":"|", "x":13.5, "y":3, "w":1.5}, {"label":"7", "x":15.5, "y":3}, {"label":"8", "x":16.5, "y":3}, {"label":"9", "x":17.5, "y":3}, {"label":"-", "x":18.5, "y":3}, {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, {"label":"A", "x":1.75, "y":4}, {"label":"S", "x":2.75, "y":4}, {"label":"D", "x":3.75, "y":4}, {"label":"F", "x":4.75, "y":4}, {"label":"G", "x":5.75, "y":4}, {"label":"H", "x":6.75, "y":4}, {"label":"J", "x":7.75, "y":4}, {"label":"K", "x":8.75, "y":4}, {"label":"L", "x":9.75, "y":4}, {"label":":", "x":10.75, "y":4}, {"label":"@", "x":11.75, "y":4}, {"label":"Enter", "x":12.75, "y":4, "w":2.25}, {"label":"4", "x":15.5, "y":4}, {"label":"5", "x":16.5, "y":4}, {"label":"6", "x":17.5, "y":4}, {"label":"+", "x":18.5, "y":4}, {"label":"Shift", "x":0, "y":5, "w":2.25}, {"label":"Z", "x":2.25, "y":5}, {"label":"X", "x":3.25, "y":5}, {"label":"C", "x":4.25, "y":5}, {"label":"V", "x":5.25, "y":5}, {"label":"B", "x":6.25, "y":5}, {"label":"N", "x":7.25, "y":5}, {"label":"M", "x":8.25, "y":5}, {"label":"<", "x":9.25, "y":5}, {"label":">", "x":10.25, "y":5}, {"label":"?", "x":11.25, "y":5}, {"label":"Shift", "x":12.25, "y":5, "w":1.75}, {"label":"up", "x":14.25, "y":5.25}, {"label":"1", "x":15.5, "y":5}, {"label":"2", "x":16.5, "y":5}, {"label":"3", "x":17.5, "y":5}, {"label":"Enter", "x":18.5, "y":5, "h":2}, {"label":"Ctrl", "x":0, "y":6, "w":1.5}, {"label":"Alt", "x":1.5, "y":6, "w":1.5}, {"x":3, "y":6, "w":7}, {"label":"Alt", "x":10, "y":6, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":6, "w":1.5}, {"label":"left", "x":13.25, "y":6.25}, {"label":"down", "x":14.25, "y":6.25}, {"label":"right", "x":15.25, "y":6.25}, {"label":"0", "x":16.5, "y":6}, {"label":".", "x":17.5, "y":6}] + } + } +} \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/keymaps/ansi_6u/keymap.c b/keyboards/ebastler/e80_1800/keymaps/ansi_6u/keymap.c new file mode 100644 index 000000000000..cb2ded2650a4 --- /dev/null +++ b/keyboards/ebastler/e80_1800/keymaps/ansi_6u/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2020 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_1800_ansi_6u( /* keymap for layer 0 */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, + KC_DEL, KC_END, KC_PGDN, KC_SLCK, + KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + 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_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, + KC_CLCK, 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_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, + 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_KP_1, KC_KP_2, KC_KP_3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_0, KC_PDOT), + + [1] = LAYOUT_1800_ansi_6u( /* keymap for layer 1 */ + 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, BL_INC, KC_TRNS, + KC_TRNS, BL_TOGG, BL_DEC, BL_BRTG, + 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, KC_TRNS, KC_MPLY, + 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_VOLU, 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_MPRV, KC_MUTE, KC_MNXT, 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_VOLD, 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), + + [2] = LAYOUT_1800_ansi_6u( /* keymap for layer 2 */ + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/keymaps/ansi_7u/keymap.c b/keyboards/ebastler/e80_1800/keymaps/ansi_7u/keymap.c new file mode 100644 index 000000000000..7e46c4589bba --- /dev/null +++ b/keyboards/ebastler/e80_1800/keymaps/ansi_7u/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2020 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_1800_ansi_7u( /* keymap for layer 0 */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, + KC_DEL, KC_END, KC_PGDN, KC_SLCK, + KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + 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_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, + KC_CLCK, 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_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, + 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_KP_1, KC_KP_2, KC_KP_3, KC_PENT, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, LT(1, KC_RCTL), KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_0, KC_PDOT), + + [1] = LAYOUT_1800_ansi_7u( /* keymap for layer 1 */ + 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, BL_INC, KC_TRNS, + KC_TRNS, BL_TOGG, BL_DEC, BL_BRTG, + 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, KC_TRNS, KC_MPLY, + 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_VOLU, 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_MPRV, KC_MUTE, KC_MNXT, 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_VOLD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [2] = LAYOUT_1800_ansi_7u( /* keymap for layer 2 */ + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/keymaps/default/keymap.c b/keyboards/ebastler/e80_1800/keymaps/default/keymap.c new file mode 100644 index 000000000000..e1b6133aa6ec --- /dev/null +++ b/keyboards/ebastler/e80_1800/keymaps/default/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2020 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_1800_all( /* keymap for layer 0 */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, + KC_DEL, KC_END, KC_PGDN, KC_SLCK, + KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + 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_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, + KC_CLCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, + 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_KP_1, KC_KP_2, KC_KP_3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_0, KC_PDOT), + + [1] = LAYOUT_1800_all( /* keymap for layer 1 */ + 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, BL_INC, KC_TRNS, + KC_TRNS, BL_TOGG, BL_DEC, BL_BRTG, + 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, KC_TRNS, KC_MPLY, + 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_VOLU, 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, KC_MPRV, KC_MUTE, KC_MNXT, 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, KC_VOLD, 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), + + [2] = LAYOUT_1800_all( /* keymap for layer 2 */ + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/keymaps/iso_6u/keymap.c b/keyboards/ebastler/e80_1800/keymaps/iso_6u/keymap.c new file mode 100644 index 000000000000..723e76a9ec2a --- /dev/null +++ b/keyboards/ebastler/e80_1800/keymaps/iso_6u/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2020 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_1800_iso_6u( /* keymap for layer 0 */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, + KC_DEL, KC_END, KC_PGDN, KC_SLCK, + KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + 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_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, + KC_CLCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, + 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_KP_1, KC_KP_2, KC_KP_3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_0, KC_PDOT), + + [1] = LAYOUT_1800_iso_6u( /* keymap for layer 1 */ + 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, BL_INC, KC_TRNS, + KC_TRNS, BL_TOGG, BL_DEC, BL_BRTG, + 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, KC_TRNS, KC_MPLY, + 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_VOLU, 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, KC_MPRV, KC_MUTE, KC_MNXT, 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, KC_VOLD, 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), + + [2] = LAYOUT_1800_iso_6u( /* keymap for layer 2 */ + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; + diff --git a/keyboards/ebastler/e80_1800/keymaps/iso_7u/keymap.c b/keyboards/ebastler/e80_1800/keymaps/iso_7u/keymap.c new file mode 100644 index 000000000000..49e993a90d54 --- /dev/null +++ b/keyboards/ebastler/e80_1800/keymaps/iso_7u/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2020 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_1800_iso_7u( /* keymap for layer 0 */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, + KC_DEL, KC_END, KC_PGDN, KC_SLCK, + KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + 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_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, + KC_CLCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, + 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_KP_1, KC_KP_2, KC_KP_3, KC_PENT, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, LT(1, KC_RCTL), KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_0, KC_PDOT), + + [1] = LAYOUT_1800_iso_7u( /* keymap for layer 1 */ + 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, BL_INC, KC_TRNS, + KC_TRNS, BL_TOGG, BL_DEC, BL_BRTG, + 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, KC_TRNS, KC_MPLY, + 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_VOLU, 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, KC_MPRV, KC_MUTE, KC_MNXT, 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, KC_VOLD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [2] = LAYOUT_1800_iso_7u( /* keymap for layer 2 */ + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/keymaps/via/keymap.c b/keyboards/ebastler/e80_1800/keymaps/via/keymap.c new file mode 100644 index 000000000000..f747ffe4b2a1 --- /dev/null +++ b/keyboards/ebastler/e80_1800/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2022 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_1800_all( /* keymap for layer 0 */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, + KC_DEL, KC_END, KC_PGDN, KC_SLCK, + KC_GRV, 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_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + 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_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, + KC_CLCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, + 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_KP_1, KC_KP_2, KC_KP_3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_0, KC_PDOT), + + [1] = LAYOUT_1800_all( /* keymap for layer 1 */ + 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, BL_INC, KC_TRNS, + KC_TRNS, BL_TOGG, BL_DEC, BL_BRTG, + 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, KC_TRNS, KC_MPLY, + 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_VOLU, 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, KC_MPRV, KC_MUTE, KC_MNXT, 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, KC_VOLD, 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), + + [2] = LAYOUT_1800_all( /* keymap for layer 2 */ + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + +}; \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/keymaps/via/rules.mk b/keyboards/ebastler/e80_1800/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/ebastler/e80_1800/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/mcuconf.h b/keyboards/ebastler/e80_1800/mcuconf.h new file mode 100644 index 000000000000..cff1dd578881 --- /dev/null +++ b/keyboards/ebastler/e80_1800/mcuconf.h @@ -0,0 +1,32 @@ +/* Copyright 2022 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include_next + +/* enable TIM1, used for backlight PWM */ +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE + +/* enable I2C2, used for the OLED */ +#undef STM32_I2C_USE_I2C2 +#define STM32_I2C_USE_I2C2 TRUE + +#undef STM32_I2C_USE_DMA +#define STM32_I2C_USE_DMA TRUE + +#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5) +#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/readme.md b/keyboards/ebastler/e80_1800/readme.md new file mode 100644 index 000000000000..87fd9756b65e --- /dev/null +++ b/keyboards/ebastler/e80_1800/readme.md @@ -0,0 +1,25 @@ +# E80-1800 + +![E80_1800_sample_image](https://i.imgur.com/yzCfVSth.png) + +A replacement PCB for the Cherry G80-1800 keyboard. Supports ISO and ANSI, 6u offcenter or 7u bottom row, stepped and regular caps lock. Optional i2c header for OLED. Type-C on the PCB (requires some case modifications). The PCB is open source and can be found in my [Github repo](https://github.com/ebastler/E80-1800). + +* Keyboard Maintainer: [ebastler](https://github.com/ebastler) +* Hardware Supported: r1 and r1.1 PCB, see Github repo linked above +* Hardware Availability: Groupbuy, otherwise feel free to order your own boards. jlcpcb compatible gerber/BOM/CPL files are included. + +How to enter the Bootloader: +* No pre-flashed firmware, option 1: Bridge `BOOT` labeled pads below spacebar while plugging the board in +* No pre-flashed firmware, option 2: Bridge `BOOT` labeled pads below spacebar, then quickly short `RST` labeled pads +* Pre-flashed firmware: Use Bootmagic - keep the `ESC` (top left most) key pressed while plugging the board in + +Make example for this keyboard (after setting up your build environment): + + make ebastler/e80_1800:default + +Flash example for this keyboard (after setting up your build environment): + + make ebastler/e80_1800:default + + +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). \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/rules.mk b/keyboards/ebastler/e80_1800/rules.mk new file mode 100644 index 000000000000..25d40cb90f00 --- /dev/null +++ b/keyboards/ebastler/e80_1800/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE +OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE \ No newline at end of file diff --git a/keyboards/ebastler/readme.md b/keyboards/ebastler/readme.md index 00c612c23cd3..4b6efd2f7154 100644 --- a/keyboards/ebastler/readme.md +++ b/keyboards/ebastler/readme.md @@ -1,6 +1,8 @@ # ebastler -I'm a hobbyist designing keyboards for fun. [My homepage](https://mpwr.xyz). All my personal keyboard projects are open source and can be found in my github repo(s), linked below. Commissions may remain closed source. +I'm a hobbyist designing keyboards for fun. [My homepage](https://mpwr.xyz). All my personal keyboard projects are open source and can be found in my github repos, linked below. Commissions may remain closed source. * [isometria75](isometria_75) - 75% ISO-only board with rotary encoder, RGB underglow and single color backlight. [Github repo](https://github.com/ebastler/isometria-75). + +* [E80-1800](E80_1800) - drop-in replacement PCB for the Cherry G80-1800. Requires minor case modifications, but adds backlight, native USB-C and (obviously) QMK. [Github repo](https://github.com/ebastler/E80-1800). \ No newline at end of file From f3a49876d50c7fc8d71f9718de9319321d8e94c9 Mon Sep 17 00:00:00 2001 From: melonbred <61572569+melonbred@users.noreply.github.com> Date: Tue, 12 Apr 2022 23:36:33 -0700 Subject: [PATCH 0497/1832] [Keyboard] add pegasus (#16701) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/pegasus/config.h | 80 ++++++++++++++++ keyboards/pegasus/info.json | 100 ++++++++++++++++++++ keyboards/pegasus/keymaps/default/config.h | 20 ++++ keyboards/pegasus/keymaps/default/keymap.c | 50 ++++++++++ keyboards/pegasus/keymaps/default/readme.md | 1 + keyboards/pegasus/keymaps/split/config.h | 20 ++++ keyboards/pegasus/keymaps/split/keymap.c | 49 ++++++++++ keyboards/pegasus/keymaps/split/readme.md | 1 + keyboards/pegasus/pegasus.c | 37 ++++++++ keyboards/pegasus/pegasus.h | 57 +++++++++++ keyboards/pegasus/readme.md | 23 +++++ keyboards/pegasus/rules.mk | 19 ++++ 12 files changed, 457 insertions(+) create mode 100644 keyboards/pegasus/config.h create mode 100644 keyboards/pegasus/info.json create mode 100644 keyboards/pegasus/keymaps/default/config.h create mode 100644 keyboards/pegasus/keymaps/default/keymap.c create mode 100644 keyboards/pegasus/keymaps/default/readme.md create mode 100644 keyboards/pegasus/keymaps/split/config.h create mode 100644 keyboards/pegasus/keymaps/split/keymap.c create mode 100644 keyboards/pegasus/keymaps/split/readme.md create mode 100644 keyboards/pegasus/pegasus.c create mode 100644 keyboards/pegasus/pegasus.h create mode 100644 keyboards/pegasus/readme.md create mode 100644 keyboards/pegasus/rules.mk diff --git a/keyboards/pegasus/config.h b/keyboards/pegasus/config.h new file mode 100644 index 000000000000..6f773da966d3 --- /dev/null +++ b/keyboards/pegasus/config.h @@ -0,0 +1,80 @@ +/* +Copyright 2020 melonbred + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER melonbred +#define PRODUCT Pegasus + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F0, F1, F4, E6 } +#define MATRIX_COL_PINS { D2, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5 } +//#define UNUSED_PINS { B0, B1, B2, B3, B7 } + + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + + +/* Rotary Encoder Definitions */ +#define ENCODERS_PAD_A { D0, D5 } +#define ENCODERS_PAD_B { D1, D3 } + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/pegasus/info.json b/keyboards/pegasus/info.json new file mode 100644 index 000000000000..238442b8212f --- /dev/null +++ b/keyboards/pegasus/info.json @@ -0,0 +1,100 @@ +{ + "keyboard_name": "pegasus", + "url": "", + "maintainer": "melonbred", + "layouts": { + "LAYOUT_default": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"Q", "x":1, "y":0}, + {"label":"W", "x":2, "y":0}, + {"label":"E", "x":3, "y":0}, + {"label":"R", "x":4, "y":0}, + {"label":"T", "x":5, "y":0}, + {"label":"Y", "x":6, "y":0}, + {"label":"U", "x":7, "y":0}, + {"label":"I", "x":8, "y":0}, + {"label":"O", "x":9, "y":0}, + {"label":"P", "x":10, "y":0}, + {"label":"Backspace", "x":11, "y":0, "w":1.75}, + {"label":"Control", "x":0, "y":1, "w":1.25}, + {"label":"A", "x":1.25, "y":1}, + {"label":"S", "x":2.25, "y":1}, + {"label":"D", "x":3.25, "y":1}, + {"label":"F", "x":4.25, "y":1}, + {"label":"G", "x":5.25, "y":1}, + {"label":"H", "x":6.25, "y":1}, + {"label":"J", "x":7.25, "y":1}, + {"label":"K", "x":8.25, "y":1}, + {"label":"L", "x":9.25, "y":1}, + {"label":":", "x":10.25, "y":1}, + {"label":"Enter", "x":11.25, "y":1, "w":1.5}, + {"label":"Shift", "x":0, "y":2, "w":1.75}, + {"label":"Z", "x":1.75, "y":2}, + {"label":"X", "x":2.75, "y":2}, + {"label":"C", "x":3.75, "y":2}, + {"label":"V", "x":4.75, "y":2}, + {"label":"B", "x":5.75, "y":2}, + {"label":"N", "x":6.75, "y":2}, + {"label":"M", "x":7.75, "y":2}, + {"label":"<", "x":8.75, "y":2}, + {"label":">", "x":9.75, "y":2}, + {"label":"?", "x":10.75, "y":2}, + {"label":"Shift", "x":11.75, "y":2}, + {"label":"Fn", "x":0, "y":3, "w":1.25}, + {"label":"Alt", "x":2, "y":3, "w":1.25}, + {"x":3.25, "y":3, "w":6.25}, + {"label":"Alt", "x":9.5, "y":3, "w":1.25}, + {"label":"Ctrl", "x":11.5, "y":3, "w":1.25} + ] + }, + "LAYOUT_split": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"Q", "x":1, "y":0}, + {"label":"W", "x":2, "y":0}, + {"label":"E", "x":3, "y":0}, + {"label":"R", "x":4, "y":0}, + {"label":"T", "x":5, "y":0}, + {"label":"Y", "x":6, "y":0}, + {"label":"U", "x":7, "y":0}, + {"label":"I", "x":8, "y":0}, + {"label":"O", "x":9, "y":0}, + {"label":"P", "x":10, "y":0}, + {"label":"Backspace", "x":11, "y":0, "w":1.75}, + {"label":"Control", "x":0, "y":1, "w":1.25}, + {"label":"A", "x":1.25, "y":1}, + {"label":"S", "x":2.25, "y":1}, + {"label":"D", "x":3.25, "y":1}, + {"label":"F", "x":4.25, "y":1}, + {"label":"G", "x":5.25, "y":1}, + {"label":"H", "x":6.25, "y":1}, + {"label":"J", "x":7.25, "y":1}, + {"label":"K", "x":8.25, "y":1}, + {"label":"L", "x":9.25, "y":1}, + {"label":":", "x":10.25, "y":1}, + {"label":"Enter", "x":11.25, "y":1, "w":1.5}, + {"label":"Shift", "x":0, "y":2, "w":1.75}, + {"label":"Z", "x":1.75, "y":2}, + {"label":"X", "x":2.75, "y":2}, + {"label":"C", "x":3.75, "y":2}, + {"label":"V", "x":4.75, "y":2}, + {"label":"B", "x":5.75, "y":2}, + {"label":"N", "x":6.75, "y":2}, + {"label":"M", "x":7.75, "y":2}, + {"label":"<", "x":8.75, "y":2}, + {"label":">", "x":9.75, "y":2}, + {"label":"?", "x":10.75, "y":2}, + {"label":"Shift", "x":11.75, "y":2}, + {"label":"Fn", "x":0, "y":3, "w":1.25}, + {"label":"Alt", "x":2, "y":3, "w":1.25}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3, "w":2}, + {"x":6.25, "y":3, "w":2.25}, + {"x":8.5, "y":3}, + {"label":"Alt", "x":9.5, "y":3, "w":1.25}, + {"label":"Ctrl", "x":11.5, "y":3, "w":1.25} + ] + } + } +} diff --git a/keyboards/pegasus/keymaps/default/config.h b/keyboards/pegasus/keymaps/default/config.h new file mode 100644 index 000000000000..d76c709440cb --- /dev/null +++ b/keyboards/pegasus/keymaps/default/config.h @@ -0,0 +1,20 @@ +/* Copyright 2020 melonbred + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// place overrides here +#define TAPPING_TERM 175 diff --git a/keyboards/pegasus/keymaps/default/keymap.c b/keyboards/pegasus/keymaps/default/keymap.c new file mode 100644 index 000000000000..fb2cb061fff8 --- /dev/null +++ b/keyboards/pegasus/keymaps/default/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2020 melonbred + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _LAYER1, + _LAYER2 + +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_default( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + MO(_LAYER2), KC_LALT, LT(_LAYER1, KC_SPC), KC_RALT, KC_RGUI + ), + + [_LAYER1] = LAYOUT_default( + KC_GRV, KC_QUOT, _______, KC_UP, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_DEL, + KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_PSLS, KC_PMNS, KC_4, KC_5, KC_6, KC_ENT, + KC_LSFT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_PAST, KC_PPLS, KC_1, KC_2, KC_3, KC_RSFT, + _______, _______, _______, KC_0, KC_PDOT + ), + + [_LAYER2] = LAYOUT_default( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, KC_RALT, KC_RCTL, KC_DEL, KC_VOLD, + _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY + ), +}; + + + diff --git a/keyboards/pegasus/keymaps/default/readme.md b/keyboards/pegasus/keymaps/default/readme.md new file mode 100644 index 000000000000..170cc76269d3 --- /dev/null +++ b/keyboards/pegasus/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for pegasus diff --git a/keyboards/pegasus/keymaps/split/config.h b/keyboards/pegasus/keymaps/split/config.h new file mode 100644 index 000000000000..d76c709440cb --- /dev/null +++ b/keyboards/pegasus/keymaps/split/config.h @@ -0,0 +1,20 @@ +/* Copyright 2020 melonbred + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// place overrides here +#define TAPPING_TERM 175 diff --git a/keyboards/pegasus/keymaps/split/keymap.c b/keyboards/pegasus/keymaps/split/keymap.c new file mode 100644 index 000000000000..964cfa2df757 --- /dev/null +++ b/keyboards/pegasus/keymaps/split/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2020 melonbred + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _LAYER1, + _LAYER2 + +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_split( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + MO(_LAYER2), KC_LALT, KC_LCTL, KC_SPC, LT(_LAYER1, KC_SPC), KC_RCTL, KC_RALT, KC_RGUI + ), + + [_LAYER1] = LAYOUT_split( + KC_GRV, KC_QUOT, _______, KC_UP, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_DEL, + KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_PSLS, KC_PMNS, KC_4, KC_5, KC_6, KC_ENT, + KC_LSFT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_PAST, KC_PPLS, KC_1, KC_2, KC_3, KC_RSFT, + _______, _______, _______, _______, _______, _______, KC_0, KC_PDOT + ), + + [_LAYER2] = LAYOUT_split( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, KC_RALT, KC_RCTL, KC_DEL, KC_VOLD, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY + ), +}; + diff --git a/keyboards/pegasus/keymaps/split/readme.md b/keyboards/pegasus/keymaps/split/readme.md new file mode 100644 index 000000000000..170cc76269d3 --- /dev/null +++ b/keyboards/pegasus/keymaps/split/readme.md @@ -0,0 +1 @@ +# The default keymap for pegasus diff --git a/keyboards/pegasus/pegasus.c b/keyboards/pegasus/pegasus.c new file mode 100644 index 000000000000..0800a36f9e9d --- /dev/null +++ b/keyboards/pegasus/pegasus.c @@ -0,0 +1,37 @@ +/* Copyright 2020 melonbred + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "pegasus.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + return true; +} +#endif diff --git a/keyboards/pegasus/pegasus.h b/keyboards/pegasus/pegasus.h new file mode 100644 index 000000000000..4582b2ccabbd --- /dev/null +++ b/keyboards/pegasus/pegasus.h @@ -0,0 +1,57 @@ +/* Copyright 2020 melonbred + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + + +#define XXX KC_NO + +#define LAYOUT_default( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \ + K30, K31, K36, K39, K3B \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \ + { K30, K31, XXX, XXX, XXX, XXX, K36, XXX, XXX, K39, XXX, K3B } \ +} + +#define LAYOUT_split( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \ + K30, K31, K32, K34, K36, K38, K39, K3B \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \ + { K30, K31, K32, XXX, K34, XXX, K36, XXX, K38, K39, XXX, K3B } \ +} diff --git a/keyboards/pegasus/readme.md b/keyboards/pegasus/readme.md new file mode 100644 index 000000000000..d164ba47aca6 --- /dev/null +++ b/keyboards/pegasus/readme.md @@ -0,0 +1,23 @@ +# Pegasus + +![pegasus](https://i.imgur.com/6MKJN7wh.jpg) + +Pegasus is a 40% keyboard with a 12.75u "WKL" layout with 0.75u blockers. + +* Keyboard Maintainer: [melonbred](https://github.com/melonbred) +* Hardware Supported: The PCBs, controllers supported +* Hardware Availability: Links to where you can find this hardware + +Make example for this keyboard (after setting up your build environment): + + make pegasus:default + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/pegasus/rules.mk b/keyboards/pegasus/rules.mk new file mode 100644 index 000000000000..50b46dc95873 --- /dev/null +++ b/keyboards/pegasus/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes From 16c848ca009f01752815bca5544e406bbaced7af Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Wed, 13 Apr 2022 15:37:05 +0900 Subject: [PATCH 0498/1832] [Keymap] Change helix:froggy_106 keymap to use split_common (#16704) --- .../helix/rev2/keymaps/froggy_106/config.h | 6 + .../helix/rev2/keymaps/froggy_106/keymap.c | 366 ++++++++++++------ .../helix/rev2/keymaps/froggy_106/rules.mk | 11 +- 3 files changed, 270 insertions(+), 113 deletions(-) diff --git a/keyboards/helix/rev2/keymaps/froggy_106/config.h b/keyboards/helix/rev2/keymaps/froggy_106/config.h index 36c3f2a7999e..9affa1d296ad 100644 --- a/keyboards/helix/rev2/keymaps/froggy_106/config.h +++ b/keyboards/helix/rev2/keymaps/froggy_106/config.h @@ -25,6 +25,12 @@ along with this program. If not, see . #define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */ #define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */ +// the froggy keymap does not use the right hand side, so sync_timer is not needed +#define DISABLE_SYNC_TIMER +// For the same reason, the following are also not needed +#undef SPLIT_LAYER_STATE_ENABLE +#undef SPLIT_LED_STATE_ENABLE + // If you need more program area, try select and reduce rgblight modes to use. // Selection of RGBLIGHT MODE to use. diff --git a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c index 3a433e56fda0..a92b05566e39 100644 --- a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c +++ b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c @@ -5,7 +5,24 @@ #include "ssd1306.h" #endif -extern uint8_t is_master; +#define LAYOUT_half( \ + L00, L01, L02, L03, L04, L05, \ + L10, L11, L12, L13, L14, L15, \ + L20, L21, L22, L23, L24, L25, \ + L30, L31, L32, L33, L34, L35, L36, \ + L40, L41, L42, L43, L44, L45, L46 \ +) { \ + { L00, L01, L02, L03, L04, L05, KC_NO }, \ + { L10, L11, L12, L13, L14, L15, KC_NO }, \ + { L20, L21, L22, L23, L24, L25, KC_NO }, \ + { L30, L31, L32, L33, L34, L35, L36 }, \ + { L40, L41, L42, L43, L44, L45, L46 }, \ + { _______, _______, _______, _______, _______, _______, KC_NO }, \ + { _______, _______, _______, _______, _______, _______, KC_NO }, \ + { _______, _______, _______, _______, _______, _______, KC_NO }, \ + { _______, _______, _______, _______, _______, _______, _______ }, \ + { _______, _______, _______, _______, _______, _______, _______ } \ +} #define DELAY_TIME 75 static uint16_t key_timer; @@ -83,136 +100,136 @@ enum macro_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base - * ,-----------------------------------------. ,-----------------------------------------. - * | C+z | ; | [ | ( | < | { | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | KANA | P | K | R | A | F | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | BS | D | T | H | E | O | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Y | S | N | I | U |Space | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | Gui | Sym | Num | OPT | Ent | | | | | | | | - * `-------------------------------------------------------------------------------------------------' + * ,-----------------------------------------. + * | C+z | ; | [ | ( | < | { | + * |------+------+------+------+------+------| + * | KANA | P | K | R | A | F | + * |------+------+------+------+------+------| + * | BS | D | T | H | E | O | + * |------+------+------+------+------+------+------. + * | Shift| Y | S | N | I | U |Space | + * |------+------+------+------+------+------+------| + * | Ctrl | Alt | Gui | Sym | Num | OPT | Ent | + * `------------------------------------------------' */ - [_BASE] = LAYOUT( \ - LCTL(KC_Z), KC_SCLN, KC_LBRC, KC_LPRN, KC_LT, KC_LCBR, _______, _______, _______, _______, _______, _______, \ - KANA, KC_P, KC_K, KC_R, KC_A, KC_F, _______, _______, _______, _______, _______, _______, \ - KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, _______, _______, _______, _______, _______, _______, \ - OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, _______, _______, _______, _______, _______, _______, _______, \ - OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT, _______, _______, _______, _______, _______, _______, _______ \ + [_BASE] = LAYOUT_half( \ + LCTL(KC_Z), KC_SCLN, KC_LBRC, KC_LPRN, KC_LT, KC_LCBR, \ + KANA, KC_P, KC_K, KC_R, KC_A, KC_F, \ + KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, \ + OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, \ + OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT \ ), - [_BASE_106] = LAYOUT( \ - LCTL(KC_Z), JP_SCLN, JP_LBRC, JP_LPRN, JP_LABK, JP_LCBR, _______, _______, _______, _______, _______, _______, \ - KANA, KC_P, KC_K, KC_R, KC_A, KC_F, _______, _______, _______, _______, _______, _______, \ - KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, _______, _______, _______, _______, _______, _______, \ - OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, _______, _______, _______, _______, _______, _______, _______, \ - OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT, _______, _______, _______, _______, _______, _______, _______ \ + [_BASE_106] = LAYOUT_half( \ + LCTL(KC_Z), JP_SCLN, JP_LBRC, JP_LPRN, JP_LABK, JP_LCBR, \ + KANA, KC_P, KC_K, KC_R, KC_A, KC_F, \ + KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, \ + OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, \ + OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT \ ), /* Opt - * ,-----------------------------------------. ,-----------------------------------------. - * | Esc | : | ] | ) | > | } | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | EISU| J | M | B | ' | Tab | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | . | V | C | L | Z | Q | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | X | G | W | - | Del | Esc | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | , | DTOP | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' + * ,-----------------------------------------. + * | Esc | : | ] | ) | > | } | + * |------+------+------+------+------+------| + * | EISU| J | M | B | ' | Tab | + * |------+------+------+------+------+------| + * | . | V | C | L | Z | Q | + * |------+------+------+------+------+------+------. + * | | X | G | W | - | Del | Esc | + * |------+------+------+------+------+------+------| + * | | | | , | DTOP | | | + * `------------------------------------------------' */ - [_OPT] = LAYOUT( \ - KC_ESC, KC_COLN,KC_RBRC, KC_RPRN,KC_GT, KC_RCBR, _______, _______, _______, _______, _______, _______, \ - EISU, KC_J, KC_M, KC_B, KC_QUOT, KC_TAB, _______, _______, _______, _______, _______, _______, \ - KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, _______, _______, _______, _______, _______, _______, \ - _______, KC_X, KC_G, KC_W, KC_MINUS, KC_DEL, KC_ESC, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______,_______, KC_COMM,DESKTOP, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_OPT] = LAYOUT_half( \ + KC_ESC, KC_COLN,KC_RBRC, KC_RPRN,KC_GT, KC_RCBR, \ + EISU, KC_J, KC_M, KC_B, KC_QUOT, KC_TAB, \ + KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, \ + _______, KC_X, KC_G, KC_W, KC_MINUS, KC_DEL, KC_ESC, \ + _______, _______,_______, KC_COMM,DESKTOP, _______, _______ \ ), - [_OPT_106] = LAYOUT( \ - KC_ESC, JP_COLN,JP_RBRC, JP_RPRN,JP_RABK, JP_RCBR, _______, _______, _______, _______, _______, _______, \ - EISU, KC_J, KC_M, KC_B, JP_QUOT, KC_TAB, _______, _______, _______, _______, _______, _______, \ - KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, _______, _______, _______, _______, _______, _______, \ - _______, KC_X, KC_G, KC_W, JP_MINS, KC_DEL, KC_ESC, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______,_______, KC_COMM,DESKTOP, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_OPT_106] = LAYOUT_half( \ + KC_ESC, JP_COLN,JP_RBRC, JP_RPRN,JP_RABK, JP_RCBR, \ + EISU, KC_J, KC_M, KC_B, JP_QUOT, KC_TAB, \ + KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, \ + _______, KC_X, KC_G, KC_W, JP_MINS, KC_DEL, KC_ESC, \ + _______, _______,_______, KC_COMM,DESKTOP, _______, _______ \ ), /* Sym - * ,-----------------------------------------. ,-----------------------------------------. - * | Ins | GRV | | PU | PD | ^ | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | \ | # | = | ? | % | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | $ | upA | @ | ! | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CL | <- | dwA | -> | _ | & | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | PS | | ~ | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' + * ,-----------------------------------------. + * | Ins | GRV | | PU | PD | ^ | + * |------+------+------+------+------+------| + * | | \ | # | = | ? | % | + * |------+------+------+------+------+------| + * | | $ | upA | @ | ! | | | + * |------+------+------+------+------+------+------. + * | CL | <- | dwA | -> | _ | & | | + * |------+------+------+------+------+------+------+ + * | | | PS | | ~ | | | + * `------------------------------------------------' */ - [_SYM] = LAYOUT( \ - KC_INS, KC_GRV, _______, KC_PGUP, KC_PGDN, KC_CIRC, _______, _______, _______, _______, _______, _______, \ - _______, KC_BSLS, KC_HASH, KC_EQL, KC_QUES, KC_PERC, _______, _______, _______, _______, _______, _______, \ - _______, KC_DLR, KC_UP, KC_AT, KC_EXLM, KC_PIPE, _______, _______, _______, _______, _______, _______, \ - KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_UNDS, KC_AMPR, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, KC_PSCR, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_SYM] = LAYOUT_half( \ + KC_INS, KC_GRV, _______, KC_PGUP, KC_PGDN, KC_CIRC, \ + _______, KC_BSLS, KC_HASH, KC_EQL, KC_QUES, KC_PERC, \ + _______, KC_DLR, KC_UP, KC_AT, KC_EXLM, KC_PIPE, \ + KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_UNDS, KC_AMPR, _______, \ + _______, _______, KC_PSCR, _______, KC_TILD, _______, _______ \ ), - [_SYM_106] = LAYOUT( \ - KC_INS, JP_GRV, _______, KC_PGUP, KC_PGDN, JP_CIRC, _______, _______, _______, _______, _______, _______, \ - _______, JP_BSLS, JP_HASH, JP_EQL, JP_QUES, JP_PERC, _______, _______, _______, _______, _______, _______, \ - _______, JP_DLR, KC_UP, JP_AT, JP_EXLM, JP_PIPE, _______, _______, _______, _______, _______, _______, \ - KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,JP_UNDS, JP_AMPR, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, KC_PSCR, _______, JP_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_SYM_106] = LAYOUT_half( \ + KC_INS, JP_GRV, _______, KC_PGUP, KC_PGDN, JP_CIRC, \ + _______, JP_BSLS, JP_HASH, JP_EQL, JP_QUES, JP_PERC, \ + _______, JP_DLR, KC_UP, JP_AT, JP_EXLM, JP_PIPE, \ + KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,JP_UNDS, JP_AMPR, _______, \ + _______, _______, KC_PSCR, _______, JP_TILD, _______, _______ \ ), /* Raise - * ,-----------------------------------------. ,-----------------------------------------. - * | | | Func | home | End | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | * | 7 | 8 | 9 | - | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | . | / | 4 | 5 | 6 | + | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | LN | 0 | 1 | 2 | 3 |C+S+F1| | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | . | , | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' + * ,-----------------------------------------. + * | | | Func | home | End | | + * |------+------+------+------+------+------| + * | | * | 7 | 8 | 9 | - | + * |------+------+------+------+------+------| + * | . | / | 4 | 5 | 6 | + | + * |------+------+------+------+------+------+------. + * | LN | 0 | 1 | 2 | 3 |C+S+F1| | + * |------+------+------+------+------+------+------| + * | | | . | , | | | | + * `------------------------------------------------' */ - [_NUM] = LAYOUT( \ - _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______, _______, _______, _______, _______, _______, _______, \ - _______, KC_ASTR, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, _______, _______, _______, _______, \ - KC_DOT, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, _______, _______, _______, _______, _______, \ - KC_NLCK, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, KC_PDOT, KC_COMM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_NUM] = LAYOUT_half( \ + _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______, \ + _______, KC_ASTR, KC_P7, KC_P8, KC_P9, KC_MINS, \ + KC_DOT, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PLUS, \ + KC_NLCK, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______, \ + _______, _______, KC_PDOT, KC_COMM, _______, _______, _______ \ ), - [_NUM_106] = LAYOUT( \ - _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______, _______, _______, _______, _______, _______, _______, \ - _______, JP_ASTR, KC_P7, KC_P8, KC_P9, JP_MINS, _______, _______, _______, _______, _______, _______, \ - KC_DOT, JP_SLSH, KC_P4, KC_P5, KC_P6, JP_PLUS, _______, _______, _______, _______, _______, _______, \ - KC_NLCK, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, KC_PDOT, JP_COMM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_NUM_106] = LAYOUT_half( \ + _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______, \ + _______, JP_ASTR, KC_P7, KC_P8, KC_P9, JP_MINS, \ + KC_DOT, JP_SLSH, KC_P4, KC_P5, KC_P6, JP_PLUS, \ + KC_NLCK, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______, \ + _______, _______, KC_PDOT, JP_COMM, _______, _______, _______ \ ), /* Func - * ,-----------------------------------------. ,-----------------------------------------. - * |RGBRST| Hue |To101 | RST | Mac | Win | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | RGB1 | VAL+ | F7 | F8 | F9 |To106 | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | RGB2 | VAL- | F4 | F5 | F6 | F12 | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | RGB3 | F10 | F1 | F2 | F3 | F11 | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |RGBOFF| | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' + * ,-----------------------------------------. + * |RGBRST| Hue |To101 | RST | Mac | Win | + * |------+------+------+------+------+------| + * | RGB1 | VAL+ | F7 | F8 | F9 |To106 | + * |------+------+------+------+------+------| + * | RGB2 | VAL- | F4 | F5 | F6 | F12 | + * |------+------+------+------+------+------+------. + * | RGB3 | F10 | F1 | F2 | F3 | F11 | | + * |------+------+------+------+------+------+------| + * |RGBOFF| | | | | | | + * `------------------------------------------------' */ - [_FUNC] = LAYOUT( \ - RGBRST,RGB_HUI, TO_101, RESET, MAC, WIN, _______, _______, _______, _______, _______, _______, \ - RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, TO_106, _______, _______, _______, _______, _______, _______, \ - RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12, _______, _______, _______, _______, _______, _______, \ - RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______, _______, _______, _______, _______, _______, _______, _______, \ - RGBOFF,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_FUNC] = LAYOUT_half( \ + RGBRST,RGB_HUI, TO_101, RESET, MAC, WIN, \ + RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, TO_106, \ + RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12, \ + RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______, \ + RGBOFF,_______, _______, _______, _______, _______, _______ \ ) }; #else @@ -317,7 +334,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef RGBLIGHT_ENABLE col = record->event.key.col; row = record->event.key.row; - if (record->event.pressed && ((row < 5 && is_master) || (row >= 5 && !is_master))) { + if (record->event.pressed && ((row < 5 && is_keyboard_master()) || (row >= 5 && !is_keyboard_master()))) { int end = keybuf_end; keybufs[end].col = col; keybufs[end].row = row % 5; @@ -807,14 +824,139 @@ void iota_gfx_task_user(void) { #endif matrix_clear(&matrix); - if(is_master){ + if (is_keyboard_master()) { render_status(&matrix); } matrix_update(&display, &matrix); } +#endif // end of SSD1306OLED + +//OLED update loop +#ifdef OLED_ENABLE + +// Render to OLED +void render_status(void) { + + // froggy logo + static char logo[4][17]= + { + {0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0}, + {0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0}, + {0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0}, + {0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0}, + }; + + static char modectl[4][2][4]= + { + { + {0x65,0x66,0x67,0}, //WIN + {0x85,0x86,0x87,0}, //WIN + }, + { + {0xa5,0xa6,0xa7,0}, //US(101) + {0xc5,0xc6,0xc7,0}, //US(101) + }, + { + {0xbd,0xbe,0xbf,0}, //MAC + {0xdd,0xde,0xdf,0}, //MAC + }, + { + {0xba,0xbb,0xbc,0}, //JP(106) + {0xda,0xdb,0xdc,0}, //JP(106) + }, + }; + + static char indctr[8][2][4]= + { + // white icon + { + {0x60,0x61,0x62,0}, //NUM + {0x63,0x64,0} //FUNC + }, + { + {0x80,0x81,0x82,0}, //NUM + {0x83,0x84,0} //FUNC + }, + { + {0xa0,0xa1,0xa2,0}, //CAPS + {0xa3,0xa4,0} //SCLK + }, + { + {0xc0,0xc1,0xc2,0}, //CAPS + {0xc3,0xc4,0} //SCLK + }, + // Black icon + { + {0x75,0x76,0x77,0}, //NUM + {0x78,0x79,0} //FUNC + }, + { + {0x95,0x96,0x97,0}, //NUM + {0x98,0x99,0} //FUNC + }, + { + {0xb5,0xb6,0xb7,0}, //CAPS + {0xb8,0xb9,0} //SCLK + }, + { + {0xd5,0xd6,0xd7,0}, //CAPS + {0xd8,0xd9,0} //SCLK + }, + }; + + int rown = 0; + int rowf = 0; + int rowa = 0; + int rows = 0; + int rowm = 0; + int rowj = 1; + + //Set Indicator icon + if (host_keyboard_leds() & (1< Date: Wed, 13 Apr 2022 08:39:44 +0200 Subject: [PATCH 0499/1832] [Keyboard] Adding waffling80, TKL PCB (#16726) Co-authored-by: Joel Challis Co-authored-by: Ryan --- keyboards/4pplet/waffling80/info.json | 10 ++++ .../waffling80/keymaps/default/keymap.c | 38 +++++++++++++ .../4pplet/waffling80/keymaps/via/keymap.c | 57 +++++++++++++++++++ .../4pplet/waffling80/keymaps/via/rules.mk | 1 + keyboards/4pplet/waffling80/readme.md | 18 ++++++ keyboards/4pplet/waffling80/rev_a/config.h | 53 +++++++++++++++++ keyboards/4pplet/waffling80/rev_a/readme.md | 18 ++++++ keyboards/4pplet/waffling80/rev_a/rev_a.c | 47 +++++++++++++++ keyboards/4pplet/waffling80/rev_a/rev_a.h | 50 ++++++++++++++++ keyboards/4pplet/waffling80/rev_a/rules.mk | 18 ++++++ 10 files changed, 310 insertions(+) create mode 100644 keyboards/4pplet/waffling80/info.json create mode 100644 keyboards/4pplet/waffling80/keymaps/default/keymap.c create mode 100644 keyboards/4pplet/waffling80/keymaps/via/keymap.c create mode 100644 keyboards/4pplet/waffling80/keymaps/via/rules.mk create mode 100644 keyboards/4pplet/waffling80/readme.md create mode 100644 keyboards/4pplet/waffling80/rev_a/config.h create mode 100644 keyboards/4pplet/waffling80/rev_a/readme.md create mode 100644 keyboards/4pplet/waffling80/rev_a/rev_a.c create mode 100644 keyboards/4pplet/waffling80/rev_a/rev_a.h create mode 100644 keyboards/4pplet/waffling80/rev_a/rules.mk diff --git a/keyboards/4pplet/waffling80/info.json b/keyboards/4pplet/waffling80/info.json new file mode 100644 index 000000000000..ca9272800004 --- /dev/null +++ b/keyboards/4pplet/waffling80/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "waffling80 Rev A", + "url": "", + "maintainer": "4pplet", + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"F13", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"|", "x":13, "y":1.5}, {"label":"~", "x":14, "y":1.5}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"~", "x":12.75, "y":3.5}, {"label":"Enter", "x":13.75, "y":3.5, "w":1.25}, {"x":15.25, "y":3.5}, {"x":17.25, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":1.75}, {"label":"Fn", "x":14, "y":4.5}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":2.25}, {"x":6, "y":5.5, "w":1.25}, {"x":7.25, "y":5.5, "w":2.75}, {"label":"AltGr", "x":10, "y":5.5, "w":1.25}, {"label":"Menu", "x":11.25, "y":5.5, "w":1.25}, {"label":"Win", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}] + } + } +} diff --git a/keyboards/4pplet/waffling80/keymaps/default/keymap.c b/keyboards/4pplet/waffling80/keymaps/default/keymap.c new file mode 100644 index 000000000000..5331d7d3da99 --- /dev/null +++ b/keyboards/4pplet/waffling80/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_GRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_NUHS, KC_ENT, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, + MO(1), MO(1)) // extra keys for alps dual action switches +// basic function layer +[1] = LAYOUT_all( + RESET, 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, + 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, 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, 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, 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, + 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), // extra keys for alps dual action switches +}; diff --git a/keyboards/4pplet/waffling80/keymaps/via/keymap.c b/keyboards/4pplet/waffling80/keymaps/via/keymap.c new file mode 100644 index 000000000000..c816d56af641 --- /dev/null +++ b/keyboards/4pplet/waffling80/keymaps/via/keymap.c @@ -0,0 +1,57 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_GRV, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_NUHS, KC_ENT, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, + MO(1), MO(1)), // extra keys for alps dual action switches +// basic function layer +[1] = LAYOUT_all( + RESET, 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, + 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, 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, 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, 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, + 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), // extra keys for alps dual action switches +// extra layer for VIA +[2] = LAYOUT_all( + RESET, 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, + 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, 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, 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, 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, + 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), // extra keys for alps dual action switches + +// extra layer for VIA +[3] = LAYOUT_all( + RESET, 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, + 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, 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, 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, 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, + 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) // extra keys for alps dual action switches +}; diff --git a/keyboards/4pplet/waffling80/keymaps/via/rules.mk b/keyboards/4pplet/waffling80/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/4pplet/waffling80/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/4pplet/waffling80/readme.md b/keyboards/4pplet/waffling80/readme.md new file mode 100644 index 000000000000..3eb0745b3f37 --- /dev/null +++ b/keyboards/4pplet/waffling80/readme.md @@ -0,0 +1,18 @@ +# waffling80 + +A TKL PCB attempting a87 compatibility with different switch and layout-options. + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: [waffling80](https://github.com/4pplet/waffling80) + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/waffling80/rev_a:default + +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). + +How to enter bootloader (DFU): +* Tap the physical reset button or short the reset-header (labled RESET) on tha back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. diff --git a/keyboards/4pplet/waffling80/rev_a/config.h b/keyboards/4pplet/waffling80/rev_a/config.h new file mode 100644 index 000000000000..715414b64179 --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_a/config.h @@ -0,0 +1,53 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4444 +#define PRODUCT_ID 0x0006 +#define DEVICE_VER 0x0001 +#define MANUFACTURER 4pplet +#define PRODUCT waffling80 Rev A + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 8 + +// ROWS: Top to bottom, COLS: Left to right +#define MATRIX_ROW_PINS {C4,C5,B4,B3,B1,B0,D6,D5,D3,D4,D1,D2} +#define MATRIX_COL_PINS {C6,C7,B7,B6,B5,B2,D0,C2} + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define QMK_ESC_OUTPUT C6 // usually COL +#define QMK_ESC_INPUT C4 // usually ROW + +#define RGB_DI_PIN D7 +#define RGBLED_NUM 2 + +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/4pplet/waffling80/rev_a/readme.md b/keyboards/4pplet/waffling80/rev_a/readme.md new file mode 100644 index 000000000000..7aee23ddb441 --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_a/readme.md @@ -0,0 +1,18 @@ +# waffling80 + +A TKL PCB attempting a87 and a88 compatibility with different switch and layout-options. + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: [waffling80](https://github.com/4pplet/waffling80) + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/waffling80/rev_a:default + +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). + +How to enter bootloader (DFU): +* Tap the physical reset button or short the reset-header (labled RESET) on tha back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. diff --git a/keyboards/4pplet/waffling80/rev_a/rev_a.c b/keyboards/4pplet/waffling80/rev_a/rev_a.c new file mode 100644 index 000000000000..d1032e7c6c07 --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_a/rev_a.c @@ -0,0 +1,47 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "rev_a.h" + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (SCROLL_LOCK_ENABLE && res) { + if(led_state.scroll_lock) { + #ifdef SCROLL_LOCK_COLOR + rgblight_sethsv_at(SCROLL_LOCK_COLOR, 0); + #else + rgblight_sethsv_at(rgblight_get_hue(),rgblight_get_sat(),rgblight_get_val(), 0); + #endif + } + else { + rgblight_sethsv_at(HSV_OFF, 0); + } + } + if (CAPS_LOCK_ENABLE && res) { + if(led_state.caps_lock) { + #ifdef CAPS_LOCK_COLOR + rgblight_sethsv_at(CAPS_LOCK_COLOR, 1); + #else + rgblight_sethsv_at(rgblight_get_hue(),rgblight_get_sat(),rgblight_get_val(), 1); + #endif + } + else{ + rgblight_sethsv_at(HSV_OFF, 1); + } + } + return res; +} + diff --git a/keyboards/4pplet/waffling80/rev_a/rev_a.h b/keyboards/4pplet/waffling80/rev_a/rev_a.h new file mode 100644 index 000000000000..d79fa17ebee5 --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_a/rev_a.h @@ -0,0 +1,50 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#define CAPS_LOCK_ENABLE 1 +#define SCROLL_LOCK_ENABLE 1 + +// If colors are defined, they will be static. If not defined, color for incicators can be set in VIA. +//#define CAPS_LOCK_COLOR HSV_GREEN +//#define SCROLL_LOCK_COLOR HSV_GREEN + +#include "quantum.h" + +#define LAYOUT_all( \ + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k37, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k67, k27, k57, k97, \ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k47, k77, kb7, \ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, \ + k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k96, k87, \ + ka0, ka1, kb1, kb2, ka3, kb3, ka4, kb4, ka5, kb5, ka6, kb6, ka7, \ + kb0, ka2 \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07}, \ + {k10, k11, k12, k13, k14, k15, k16, k17}, \ + {k20, k21, k22, k23, k24, k25, k26, k27}, \ + {k30, k31, k32, k33, k34, k35, k36, k37}, \ + {k40, k41, k42, k43, k44, k45, k46, k47}, \ + {k50, k51, k52, k53, k54, k55, k56, k57}, \ + {k60, k61, k62, k63, k64, k65, k66, k67}, \ + {k70, k71, k72, k73, k74, k75, k76, k77}, \ + {k80, k81, k82, k83, k84, k85, k86, k87}, \ + {k90, k91, k92, k93, k94, k95, k96, k97}, \ + {ka0, ka1, ka2, ka3, ka4, ka5, ka6, ka7}, \ + {kb0, kb1, kb2, kb3, kb4, kb5, kb6, kb7} \ +} diff --git a/keyboards/4pplet/waffling80/rev_a/rules.mk b/keyboards/4pplet/waffling80/rev_a/rules.mk new file mode 100644 index 000000000000..7bc59aaef68a --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_a/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u2 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 6d816d94f7bf132a71cadbd08118469ac28c6480 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Wed, 13 Apr 2022 08:40:20 +0200 Subject: [PATCH 0500/1832] [Keyboard] Add ratio65 by rationalist (#16727) Co-authored-by: Joel Challis Co-authored-by: Ryan --- .../rationalist/ratio65_hotswap/info.json | 10 +++ .../ratio65_hotswap/keymaps/default/keymap.c | 34 ++++++++++ .../ratio65_hotswap/keymaps/via/keymap.c | 48 ++++++++++++++ .../ratio65_hotswap/keymaps/via/rules.mk | 1 + .../rationalist/ratio65_hotswap/readme.md | 18 ++++++ .../ratio65_hotswap/rev_a/config.h | 63 ++++++++++++++++++ .../rationalist/ratio65_hotswap/rev_a/rev_a.c | 17 +++++ .../rationalist/ratio65_hotswap/rev_a/rev_a.h | 40 ++++++++++++ .../ratio65_hotswap/rev_a/rules.mk | 18 ++++++ .../rationalist/ratio65_solder/info.json | 10 +++ .../ratio65_solder/keymaps/default/keymap.c | 34 ++++++++++ .../ratio65_solder/keymaps/via/keymap.c | 48 ++++++++++++++ .../ratio65_solder/keymaps/via/rules.mk | 1 + .../rationalist/ratio65_solder/readme.md | 18 ++++++ .../rationalist/ratio65_solder/rev_a/config.h | 64 +++++++++++++++++++ .../rationalist/ratio65_solder/rev_a/rev_a.c | 17 +++++ .../rationalist/ratio65_solder/rev_a/rev_a.h | 40 ++++++++++++ .../rationalist/ratio65_solder/rev_a/rules.mk | 18 ++++++ 18 files changed, 499 insertions(+) create mode 100644 keyboards/rationalist/ratio65_hotswap/info.json create mode 100644 keyboards/rationalist/ratio65_hotswap/keymaps/default/keymap.c create mode 100644 keyboards/rationalist/ratio65_hotswap/keymaps/via/keymap.c create mode 100644 keyboards/rationalist/ratio65_hotswap/keymaps/via/rules.mk create mode 100644 keyboards/rationalist/ratio65_hotswap/readme.md create mode 100644 keyboards/rationalist/ratio65_hotswap/rev_a/config.h create mode 100644 keyboards/rationalist/ratio65_hotswap/rev_a/rev_a.c create mode 100644 keyboards/rationalist/ratio65_hotswap/rev_a/rev_a.h create mode 100644 keyboards/rationalist/ratio65_hotswap/rev_a/rules.mk create mode 100644 keyboards/rationalist/ratio65_solder/info.json create mode 100644 keyboards/rationalist/ratio65_solder/keymaps/default/keymap.c create mode 100644 keyboards/rationalist/ratio65_solder/keymaps/via/keymap.c create mode 100644 keyboards/rationalist/ratio65_solder/keymaps/via/rules.mk create mode 100644 keyboards/rationalist/ratio65_solder/readme.md create mode 100644 keyboards/rationalist/ratio65_solder/rev_a/config.h create mode 100644 keyboards/rationalist/ratio65_solder/rev_a/rev_a.c create mode 100644 keyboards/rationalist/ratio65_solder/rev_a/rev_a.h create mode 100644 keyboards/rationalist/ratio65_solder/rev_a/rules.mk diff --git a/keyboards/rationalist/ratio65_hotswap/info.json b/keyboards/rationalist/ratio65_hotswap/info.json new file mode 100644 index 000000000000..709e929fa01e --- /dev/null +++ b/keyboards/rationalist/ratio65_hotswap/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "Ratio65_HotSwap", + "url": "", + "maintainer": "4pplet", + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Delete", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Insert", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"PgDn", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Win", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}] + } + } +} diff --git a/keyboards/rationalist/ratio65_hotswap/keymaps/default/keymap.c b/keyboards/rationalist/ratio65_hotswap/keymaps/default/keymap.c new file mode 100644 index 000000000000..1d095ea22bb3 --- /dev/null +++ b/keyboards/rationalist/ratio65_hotswap/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + 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_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_INSERT, + 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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), +// basic function layer +[1] = LAYOUT_all( + 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, KC_TRNS, RESET, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) +}; diff --git a/keyboards/rationalist/ratio65_hotswap/keymaps/via/keymap.c b/keyboards/rationalist/ratio65_hotswap/keymaps/via/keymap.c new file mode 100644 index 000000000000..d677bb3c8afc --- /dev/null +++ b/keyboards/rationalist/ratio65_hotswap/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + 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_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_INSERT, + 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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), +// basic function layer 1 +[1] = LAYOUT_all( + 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, KC_TRNS, RESET, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), +// basic function layer 2 +[2] = LAYOUT_all( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS ), +// basic function layer 3 +[3] = LAYOUT_all( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS ) +}; diff --git a/keyboards/rationalist/ratio65_hotswap/keymaps/via/rules.mk b/keyboards/rationalist/ratio65_hotswap/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/rationalist/ratio65_hotswap/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/rationalist/ratio65_hotswap/readme.md b/keyboards/rationalist/ratio65_hotswap/readme.md new file mode 100644 index 000000000000..07ff1137dd09 --- /dev/null +++ b/keyboards/rationalist/ratio65_hotswap/readme.md @@ -0,0 +1,18 @@ +# Ratio65 + +A 65% PCB for MX switches for Rationalist keyboards + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: Ratio65 + +Make example for this keyboard (after setting up your build environment): + + make rationalist/ratio65_hotswap/rev_a:default + +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). + +How to enter bootloader (DFU): +* Short the reset-header (labled RESET) on the back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/config.h b/keyboards/rationalist/ratio65_hotswap/rev_a/config.h new file mode 100644 index 000000000000..1bc8eb7fdf86 --- /dev/null +++ b/keyboards/rationalist/ratio65_hotswap/rev_a/config.h @@ -0,0 +1,63 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4446 +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0001 +#define MANUFACTURER 4pplet +#define PRODUCT Ratio65 Rev A HotSwap + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 8 +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS {D1,D0,D5,D4,C7,B7,C6,C5,B0,B1} +#define MATRIX_COL_PINS {C2,D2,B6,B5,B4,B3,B2,D6} + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define QMK_ESC_OUTPUT C2 // usually COL +#define QMK_ESC_INPUT D1 // usually ROW + +#define RGB_DI_PIN D3 +#define RGBLED_NUM 18 + +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/rev_a.c b/keyboards/rationalist/ratio65_hotswap/rev_a/rev_a.c new file mode 100644 index 000000000000..dc6c727fb7a9 --- /dev/null +++ b/keyboards/rationalist/ratio65_hotswap/rev_a/rev_a.c @@ -0,0 +1,17 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "rev_a.h" diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/rev_a.h b/keyboards/rationalist/ratio65_hotswap/rev_a/rev_a.h new file mode 100644 index 000000000000..a9dd39ca9f60 --- /dev/null +++ b/keyboards/rationalist/ratio65_hotswap/rev_a/rev_a.h @@ -0,0 +1,40 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "quantum.h" + +// k +#define LAYOUT_all( \ + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k07, k17,\ + k20, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, \ + k40, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \ + k60, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k67, k77, \ + k80, k81, k91, k83, k94, k95, k96, k87, k97 \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07}, \ + {k10, k11, k12, k13, k14, k15, KC_NO, k17}, \ + {k20, k21, k22, k23, k24, k25, k26, k27}, \ + {KC_NO, k31, k32, k33, k34, k35, k36, k37}, \ + {k40, k41, k42, k43, k44, k45, k46, k47}, \ + {KC_NO, k51, k52, k53, k54, k55, KC_NO, k57}, \ + {k60, k61, k62, k63, k64, k65, k66, k67}, \ + {KC_NO, k71, k72, k73, k74, k75, KC_NO, k77}, \ + {k80, k81, KC_NO, k83, KC_NO, KC_NO, KC_NO, k87}, \ + {KC_NO, k91, KC_NO, KC_NO, k94, k95, k96, k97} \ +} diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/rules.mk b/keyboards/rationalist/ratio65_hotswap/rev_a/rules.mk new file mode 100644 index 000000000000..88173a40c20e --- /dev/null +++ b/keyboards/rationalist/ratio65_hotswap/rev_a/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u2 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/rationalist/ratio65_solder/info.json b/keyboards/rationalist/ratio65_solder/info.json new file mode 100644 index 000000000000..e083099bde32 --- /dev/null +++ b/keyboards/rationalist/ratio65_solder/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "Ratio65_Solder", + "url": "", + "maintainer": "4pplet", + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"~", "x":13, "y":0}, {"label":"Back", "x":14, "y":0}, {"label":"Del", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Insert", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Nuhs", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"Nubs", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"PgDn", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Win", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}] + } + } +} diff --git a/keyboards/rationalist/ratio65_solder/keymaps/default/keymap.c b/keyboards/rationalist/ratio65_solder/keymaps/default/keymap.c new file mode 100644 index 000000000000..892d1e8b670c --- /dev/null +++ b/keyboards/rationalist/ratio65_solder/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + 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_GRV, KC_BSPC, KC_DEL, + 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_INSERT, + 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_NUHS, KC_ENT, KC_PGUP, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), +// basic function layer +[1] = LAYOUT_all( + 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, KC_TRNS, KC_TRNS, RESET, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) +}; diff --git a/keyboards/rationalist/ratio65_solder/keymaps/via/keymap.c b/keyboards/rationalist/ratio65_solder/keymaps/via/keymap.c new file mode 100644 index 000000000000..3310c23f4ab9 --- /dev/null +++ b/keyboards/rationalist/ratio65_solder/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + 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_GRV, KC_BSPC, KC_DEL, + 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_INSERT, + 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_NUHS, KC_ENT, KC_PGUP, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), +// basic function layer 1 +[1] = LAYOUT_all( + 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, KC_TRNS, KC_TRNS, RESET, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), +// basic function layer 2 +[2] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), +// basic function layer 3 +[3] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) +}; diff --git a/keyboards/rationalist/ratio65_solder/keymaps/via/rules.mk b/keyboards/rationalist/ratio65_solder/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/rationalist/ratio65_solder/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/rationalist/ratio65_solder/readme.md b/keyboards/rationalist/ratio65_solder/readme.md new file mode 100644 index 000000000000..1129a5fbddc3 --- /dev/null +++ b/keyboards/rationalist/ratio65_solder/readme.md @@ -0,0 +1,18 @@ +# Ratio65 + +A 65% PCB for MX switches for Rationalist keyboards + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: Ratio65 + +Make example for this keyboard (after setting up your build environment): + + make rationalist/ratio65_solder/rev_a:default + +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). + +How to enter bootloader (DFU): +* Short the reset-header (labled RESET) on the back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. diff --git a/keyboards/rationalist/ratio65_solder/rev_a/config.h b/keyboards/rationalist/ratio65_solder/rev_a/config.h new file mode 100644 index 000000000000..824ebd3cb7b7 --- /dev/null +++ b/keyboards/rationalist/ratio65_solder/rev_a/config.h @@ -0,0 +1,64 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4446 +#define PRODUCT_ID 0x0002 +#define DEVICE_VER 0x0001 +#define MANUFACTURER 4pplet +#define PRODUCT Ratio65 Rev A Solder + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 8 +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS {D1,D0,D5,D4,C7,B7,C6,C5,B0,B1} +#define MATRIX_COL_PINS {C2,D2,B6,B5,B4,B3,B2,D6} + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define QMK_ESC_OUTPUT C2 // usually COL +#define QMK_ESC_INPUT D1 // usually ROW + +#define RGB_DI_PIN D3 +#define RGBLED_NUM 18 + +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + diff --git a/keyboards/rationalist/ratio65_solder/rev_a/rev_a.c b/keyboards/rationalist/ratio65_solder/rev_a/rev_a.c new file mode 100644 index 000000000000..dc6c727fb7a9 --- /dev/null +++ b/keyboards/rationalist/ratio65_solder/rev_a/rev_a.c @@ -0,0 +1,17 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "rev_a.h" diff --git a/keyboards/rationalist/ratio65_solder/rev_a/rev_a.h b/keyboards/rationalist/ratio65_solder/rev_a/rev_a.h new file mode 100644 index 000000000000..ae8735335f43 --- /dev/null +++ b/keyboards/rationalist/ratio65_solder/rev_a/rev_a.h @@ -0,0 +1,40 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "quantum.h" + +// k +#define LAYOUT_all( \ + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17,\ + k20, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, \ + k40, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k47, k57, \ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k67, k77, \ + k80, k81, k91, k83, k94, k95, k96, k87, k97 \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07}, \ + {k10, k11, k12, k13, k14, k15, k16, k17}, \ + {k20, k21, k22, k23, k24, k25, k26, k27}, \ + {KC_NO, k31, k32, k33, k34, k35, k36, k37}, \ + {k40, k41, k42, k43, k44, k45, k46, k47}, \ + {KC_NO, k51, k52, k53, k54, k55, k56, k57}, \ + {k60, k61, k62, k63, k64, k65, k66, k67}, \ + {k70, k71, k72, k73, k74, k75, KC_NO, k77}, \ + {k80, k81, KC_NO, k83, KC_NO, KC_NO, KC_NO, k87}, \ + {KC_NO, k91, KC_NO, KC_NO, k94, k95, k96, k97} \ +} diff --git a/keyboards/rationalist/ratio65_solder/rev_a/rules.mk b/keyboards/rationalist/ratio65_solder/rev_a/rules.mk new file mode 100644 index 000000000000..88173a40c20e --- /dev/null +++ b/keyboards/rationalist/ratio65_solder/rev_a/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u2 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 935af9e9996083c2b7e82f67072899e87c7f45ab Mon Sep 17 00:00:00 2001 From: Allen Choi <37539914+Thunderbird2086@users.noreply.github.com> Date: Wed, 13 Apr 2022 16:03:01 +0900 Subject: [PATCH 0501/1832] [Keymap] fixed oled turn-off issue for crkbd:gotham (#16748) --- keyboards/crkbd/keymaps/gotham/README.md | 1 - keyboards/crkbd/keymaps/gotham/config.h | 11 ++++++++++- keyboards/crkbd/keymaps/gotham/keymap.c | 1 + keyboards/crkbd/keymaps/gotham/oled.c | 18 +++++++----------- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/keyboards/crkbd/keymaps/gotham/README.md b/keyboards/crkbd/keymaps/gotham/README.md index 23c1d4fdd81f..88120ae888af 100644 --- a/keyboards/crkbd/keymaps/gotham/README.md +++ b/keyboards/crkbd/keymaps/gotham/README.md @@ -10,7 +10,6 @@ My take on the 40% layout with programming in mind. Do read about the layers, it ## Custom OLED This keymap includes custom OLED font and code. The font contains some logos and status indidcators for some of the features I use (RGB and Audio). Enable OLED in rukes.mk to check it out. Feel free to reuse the font or parts of it. -__KNOWN BUG:__ When the computer sleeps, one of the OLEDs is always on (they don't turn off on their own, and the timeout doesn't work). I haven't been able to figure out what's going on there and am open to suggestions/PRs. ## Flashing Flash using `make crkbd:gotham:avrdude` for Pro Micro and `make crkbd:gotham:dfu` for Elite-C. diff --git a/keyboards/crkbd/keymaps/gotham/config.h b/keyboards/crkbd/keymaps/gotham/config.h index 1ff008b2ded7..45fe8c37a839 100644 --- a/keyboards/crkbd/keymaps/gotham/config.h +++ b/keyboards/crkbd/keymaps/gotham/config.h @@ -20,7 +20,16 @@ # define AUDIO_CLICKY #endif -#define OLED_FONT_H "keyboards/crkbd/keymaps/gotham/glcdfont.c" +#ifdef OLED_ENABLE +# define OLED_FONT_H "keyboards/crkbd/keymaps/gotham/glcdfont.c" +# define SPLIT_LAYER_STATE_ENABLE +# define SPLIT_LED_STATE_ENABLE +# define SPLIT_MODS_ENABLE +# define SPLIT_OLED_ENABLE +# undef OLED_TIMEOUT + // due to timer_read() for render_prompt(), we have own implementation of oled time out +# define OLED_KEY_TIMEOUT 30000 +#endif #define RGBLIGHT_SLEEP diff --git a/keyboards/crkbd/keymaps/gotham/keymap.c b/keyboards/crkbd/keymaps/gotham/keymap.c index 7cf4b7fd501b..a258794049da 100644 --- a/keyboards/crkbd/keymaps/gotham/keymap.c +++ b/keyboards/crkbd/keymaps/gotham/keymap.c @@ -81,6 +81,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef OLED_ENABLE if (record->event.pressed) { oled_timer = timer_read(); + is_key_processed = true; add_keylog(keycode); } #endif diff --git a/keyboards/crkbd/keymaps/gotham/oled.c b/keyboards/crkbd/keymaps/gotham/oled.c index baacc86b183a..6bf1233659f3 100644 --- a/keyboards/crkbd/keymaps/gotham/oled.c +++ b/keyboards/crkbd/keymaps/gotham/oled.c @@ -144,6 +144,7 @@ void render_feature_status(void) { // Keylogger #define KEYLOGGER_LENGTH 5 static uint16_t oled_timer = 0; +static bool is_key_processed = true; static char keylog_str[KEYLOGGER_LENGTH + 1] = {"\n"}; // clang-format off static const char PROGMEM code_to_name[0xFF] = { @@ -247,18 +248,13 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { } bool oled_task_user(void) { - if (timer_elapsed(oled_timer) > 10000) { - oled_off(); - return; - } - #ifndef SPLIT_KEYBOARD - else { - oled_on(); - } - #endif - if (is_keyboard_master()) { - render_status_main(); + if (is_key_processed && (timer_elapsed(oled_timer) < OLED_KEY_TIMEOUT)) { + render_status_main(); + } else { + is_key_processed = false; + oled_off(); + } } else { render_status_secondary(); } From dfe0515a4bfda7f291e2f051cf7fe3bb6a8e0f3a Mon Sep 17 00:00:00 2001 From: PJB Keyboard Design <91110483+602studios@users.noreply.github.com> Date: Wed, 13 Apr 2022 00:04:14 -0700 Subject: [PATCH 0502/1832] [Keyboard] Add Eros by PJB (#16756) Co-authored-by: Ryan Co-authored-by: Joel Challis --- keyboards/pjb/eros/config.h | 39 ++++++ keyboards/pjb/eros/eros.c | 17 +++ keyboards/pjb/eros/eros.h | 134 ++++++++++++++++++++ keyboards/pjb/eros/info.json | 35 +++++ keyboards/pjb/eros/keymaps/default/keymap.c | 27 ++++ keyboards/pjb/eros/keymaps/via/keymap.c | 51 ++++++++ keyboards/pjb/eros/keymaps/via/rules.mk | 2 + keyboards/pjb/eros/readme.md | 20 +++ keyboards/pjb/eros/rules.mk | 17 +++ 9 files changed, 342 insertions(+) create mode 100644 keyboards/pjb/eros/config.h create mode 100644 keyboards/pjb/eros/eros.c create mode 100644 keyboards/pjb/eros/eros.h create mode 100644 keyboards/pjb/eros/info.json create mode 100644 keyboards/pjb/eros/keymaps/default/keymap.c create mode 100644 keyboards/pjb/eros/keymaps/via/keymap.c create mode 100644 keyboards/pjb/eros/keymaps/via/rules.mk create mode 100644 keyboards/pjb/eros/readme.md create mode 100644 keyboards/pjb/eros/rules.mk diff --git a/keyboards/pjb/eros/config.h b/keyboards/pjb/eros/config.h new file mode 100644 index 000000000000..038e13c9adeb --- /dev/null +++ b/keyboards/pjb/eros/config.h @@ -0,0 +1,39 @@ +/* Copyright 2022 PJB + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +#define VENDOR_ID 0x5042 // TG +#define PRODUCT_ID 0x4552 // JC +#define DEVICE_VER 0x0200 +#define MANUFACTURER PJB +#define PRODUCT Eros + +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +#define MATRIX_ROW_PINS { B2, B1, B0, D7, B7, D1 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, D4, D5, B4, D3, D2, E6, B3 } +#define UNUSED_PINS + +#define DIODE_DIRECTION COL2ROW +#define DEBOUNCE 5 + +#define LED_CAPS_LOCK_PIN D6 +#define LED_SCROLL_LOCK_PIN D0 +#define LED_PIN_ON_STATE 0 diff --git a/keyboards/pjb/eros/eros.c b/keyboards/pjb/eros/eros.c new file mode 100644 index 000000000000..6dd56bfa7b37 --- /dev/null +++ b/keyboards/pjb/eros/eros.c @@ -0,0 +1,17 @@ +/* Copyright 2022 PJB + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "eros.h" diff --git a/keyboards/pjb/eros/eros.h b/keyboards/pjb/eros/eros.h new file mode 100644 index 000000000000..aa46d6f653d1 --- /dev/null +++ b/keyboards/pjb/eros/eros.h @@ -0,0 +1,134 @@ +/* Copyright 2022 PJB + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +// This a shortcut to help you visually see your layout. +// The first section contains all of the arguments +// The second converts the arguments into a two-dimensional array + +#define LAYOUT_all_f13( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K415, \ + K500, K501, K502, K505, K509, K510, K511, K513, K514, K515, K516 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, KC_NO, KC_NO }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, KC_NO, K415, KC_NO }, \ + { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, K509, K510, K511, KC_NO, K513, K514, K515, K516 }, \ +} + +#define LAYOUT_tkl_ansi_f13( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K415, \ + K500, K501, K502, K505, K509, K510, K511, K513, K514, K515, K516 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, KC_NO, KC_NO, KC_NO }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, KC_NO, KC_NO, K415, KC_NO }, \ + { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, K509, K510, K511, KC_NO, K513, K514, K515, K516 }, \ +} + +#define LAYOUT_tkl_ansi_f13_split_shift( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K415, \ + K500, K501, K502, K505, K509, K510, K511, K513, K514, K515, K516 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, KC_NO, KC_NO, KC_NO }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, KC_NO, K415, KC_NO }, \ + { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, K509, K510, K511, KC_NO, K513, K514, K515, K516 }, \ +} + +#define LAYOUT_tkl_ansi_f13_split_back( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K415, \ + K500, K501, K502, K505, K509, K510, K511, K513, K514, K515, K516 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, KC_NO, KC_NO }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, KC_NO, KC_NO, K415, KC_NO }, \ + { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, K509, K510, K511, KC_NO, K513, K514, K515, K516 }, \ +} + +#define LAYOUT_tkl_ansi_tsangan_f13( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K415, \ + K500, K501, K502, K505, K510, K511, K513, K514, K515, K516 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, KC_NO, KC_NO, KC_NO }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, KC_NO, KC_NO, K415, KC_NO }, \ + { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, KC_NO, K510, K511, KC_NO, K513, K514, K515, K516 }, \ +} + +#define LAYOUT_tkl_ansi_tsangan_f13_split_shift( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K415, \ + K500, K501, K502, K505, K510, K511, K513, K514, K515, K516 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, KC_NO, KC_NO, KC_NO }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, KC_NO, K415, KC_NO }, \ + { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, KC_NO, K510, K511, KC_NO, K513, K514, K515, K516 }, \ +} + +#define LAYOUT_tkl_ansi_tsangan_f13_split_back( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K415, \ + K500, K501, K502, K505, K510, K511, K513, K514, K515, K516 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, KC_NO, KC_NO }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, KC_NO, KC_NO, K415, KC_NO }, \ + { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, KC_NO, K510, K511, KC_NO, K513, K514, K515, K516 }, \ +} diff --git a/keyboards/pjb/eros/info.json b/keyboards/pjb/eros/info.json new file mode 100644 index 000000000000..7c0439e45381 --- /dev/null +++ b/keyboards/pjb/eros/info.json @@ -0,0 +1,35 @@ +{ + "keyboard_name": "PJB eros", + "url": "https://github.com/602studios", + "maintainer": "PJB", + "layouts": { + "LAYOUT_all_f13": { + "layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}], + }, + + "LAYOUT_tkl_ansi_f13": { + "layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":2.75}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}] + }, + + "LAYOUT_tkl_ansi_f13_split_shift": { + "layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}] + }, + + "LAYOUT_tkl_ansi_f13_split_back": { + "layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":2.75}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}] + }, + + "LAYOUT_tkl_ansi_tsangan_f13": { + "layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":2.75}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.5}, {"x":1.5, "y":5.25}, {"x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"x":11, "y":5.25, "w":1.5}, {"x":12.5, "y":5.25}, {"x":13.5, "y":5.25, "w":1.5}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}] + }, + + "LAYOUT_tkl_ansi_tsangan_f13_split_shift": { + "layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.5}, {"x":1.5, "y":5.25}, {"x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"x":11, "y":5.25, "w":1.5}, {"x":12.5, "y":5.25}, {"x":13.5, "y":5.25, "w":1.5}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}] + }, + + "LAYOUT_tkl_ansi_tsangan_f13_split_back": { + "layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":2.75}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.5}, {"x":1.5, "y":5.25}, {"x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"x":11, "y":5.25, "w":1.5}, {"x":12.5, "y":5.25}, {"x":13.5, "y":5.25, "w":1.5}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}] + }, + + } +} diff --git a/keyboards/pjb/eros/keymaps/default/keymap.c b/keyboards/pjb/eros/keymaps/default/keymap.c new file mode 100644 index 000000000000..f54a2a2de9b1 --- /dev/null +++ b/keyboards/pjb/eros/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2022 PJB + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all_f13( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR,KC_SLCK,KC_PAUS, + KC_GRV, 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_INS ,KC_HOME,KC_PGUP, + 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 ,KC_PGDN, + 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_LSFT, 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, + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT) +}; diff --git a/keyboards/pjb/eros/keymaps/via/keymap.c b/keyboards/pjb/eros/keymaps/via/keymap.c new file mode 100644 index 000000000000..0a6ad297cae9 --- /dev/null +++ b/keyboards/pjb/eros/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2022 PJB + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all_f13( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR,KC_SLCK,KC_PAUS, + KC_GRV, 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_INS ,KC_HOME,KC_PGUP, + 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 ,KC_PGDN, + 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_LSFT, 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, + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT), + +[1] = LAYOUT_all_f13( + KC_ESC, 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, + 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,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 ,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, + 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,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS), + +[2] = LAYOUT_all_f13( + KC_ESC, 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, + 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,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 ,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, + 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,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS), + +[3] = LAYOUT_all_f13( + KC_ESC, 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, + 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,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 ,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, + 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,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS), +}; diff --git a/keyboards/pjb/eros/keymaps/via/rules.mk b/keyboards/pjb/eros/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/pjb/eros/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/pjb/eros/readme.md b/keyboards/pjb/eros/readme.md new file mode 100644 index 000000000000..b72f808dce43 --- /dev/null +++ b/keyboards/pjb/eros/readme.md @@ -0,0 +1,20 @@ +# Eros + +TKL Custom Keyboard with F13 key + +* Keyboard Maintainer: [Phil](https://github.com/602studios) +* Hardware Supported: Eros TKL PCB +* Hardware Availability: [Geekhack Group Buy]( https://geekhack.org/index.php?topic=115569.0) + +Make example for this keyboard (after setting up your build environment): + + make pjb/eros/default + +Flashing example for this keyboard: + + make pjb/eros/default:flash + +**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. + +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/pjb/eros/rules.mk b/keyboards/pjb/eros/rules.mk new file mode 100644 index 000000000000..696b8ca99e12 --- /dev/null +++ b/keyboards/pjb/eros/rules.mk @@ -0,0 +1,17 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Enable audio output From b8cb147573b39f5c613569d19e8a9ed4f6252676 Mon Sep 17 00:00:00 2001 From: Adam Lickel Date: Wed, 13 Apr 2022 00:45:42 -0700 Subject: [PATCH 0503/1832] [Keymap] sinc/lickel: Use backlight keys in Fn Row (#16789) --- keyboards/keebio/bdn9/keymaps/lickel/readme.md | 2 +- keyboards/keebio/sinc/keymaps/lickel/keymap.c | 2 +- keyboards/keebio/sinc/keymaps/lickel/readme.md | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/keyboards/keebio/bdn9/keymaps/lickel/readme.md b/keyboards/keebio/bdn9/keymaps/lickel/readme.md index b729319b99c5..973cfb4a6d07 100644 --- a/keyboards/keebio/bdn9/keymaps/lickel/readme.md +++ b/keyboards/keebio/bdn9/keymaps/lickel/readme.md @@ -12,6 +12,6 @@ ## Changelog -### 1/17/2022 - 1.0 +### 2022-01-17 - 1.0 - Initial release diff --git a/keyboards/keebio/sinc/keymaps/lickel/keymap.c b/keyboards/keebio/sinc/keymaps/lickel/keymap.c index abdb33e93643..258e7d0128f9 100644 --- a/keyboards/keebio/sinc/keymaps/lickel/keymap.c +++ b/keyboards/keebio/sinc/keymaps/lickel/keymap.c @@ -32,7 +32,7 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_80_with_macro( - KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MPLY, + KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DEC, BL_INC, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MPLY, KC_F1, KC_F2, KC_GRV, 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_BSPC, KC_HOME, KC_F3, KC_F4, 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_PGUP, KC_F5, KC_F6, 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, diff --git a/keyboards/keebio/sinc/keymaps/lickel/readme.md b/keyboards/keebio/sinc/keymaps/lickel/readme.md index a41c16de236f..7be7baae2983 100644 --- a/keyboards/keebio/sinc/keymaps/lickel/readme.md +++ b/keyboards/keebio/sinc/keymaps/lickel/readme.md @@ -7,12 +7,16 @@ - Left macros are: F1->F10 - Right macros are: Play, Home, Pg Up, Pg Dn, End, Right -![Layout](https://i.imgur.com/uQnzMSe.png) +![Layout](https://i.imgur.com/0uXXrJY.png) ([KLE](http://www.keyboard-layout-editor.com/#/gists/e0350d8914cac3166abcca6abfd093b7)) ## Changelog -### 11/27/2021 - 1.0 +### 2022-03-04 - 1.1 + +- Correct function row to change LED backlights, not underglow + +### 2021-11-27 - 1.0 - Initial release From 1f2b1dedccdf21b629c45ece80b4ca32f6653296 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 13 Apr 2022 18:00:18 +1000 Subject: [PATCH 0504/1832] Quantum Painter (#10174) * Install dependencies before executing unit tests. * Split out UTF-8 decoder. * Fixup python formatting rules. * Add documentation for QGF/QFF and the RLE format used. * Add CLI commands for converting images and fonts. * Add stub rules.mk for QP. * Add stream type. * Add base driver and comms interfaces. * Add support for SPI, SPI+D/C comms drivers. * Include when enabled. * Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789. * Add support for GC9A01. * Add support for ILI9341. * Add support for ILI9163. * Add support for SSD1351. * Implement qp_setpixel, including pixdata buffer management. * Implement qp_line. * Implement qp_rect. * Implement qp_circle. * Implement qp_ellipse. * Implement palette interpolation. * Allow for streams to work with either flash or RAM. * Image loading. * Font loading. * QGF palette loading. * Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images. * Image drawing. * Animations. * Font rendering. * Check against 256 colours, dump out the loaded palette if debugging enabled. * Fix build. * AVR is not the intended audience. * `qmk format-c` * Generation fix. * First batch of docs. * More docs and examples. * Review comments. * Public API documentation. --- .github/workflows/unit_test.yml | 2 + builddefs/common_features.mk | 8 +- docs/_summary.md | 1 + docs/cli_commands.md | 12 + docs/quantum_painter.md | 705 ++++++++++++++++++ docs/quantum_painter_qff.md | 103 +++ docs/quantum_painter_qgf.md | 178 +++++ docs/quantum_painter_rle.md | 29 + drivers/painter/comms/qp_comms_spi.c | 137 ++++ drivers/painter/comms/qp_comms_spi.h | 51 ++ drivers/painter/gc9a01/qp_gc9a01.c | 150 ++++ drivers/painter/gc9a01/qp_gc9a01.h | 37 + drivers/painter/gc9a01/qp_gc9a01_opcodes.h | 78 ++ drivers/painter/ili9xxx/qp_ili9163.c | 121 +++ drivers/painter/ili9xxx/qp_ili9163.h | 37 + drivers/painter/ili9xxx/qp_ili9341.c | 128 ++++ drivers/painter/ili9xxx/qp_ili9341.h | 37 + drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h | 100 +++ drivers/painter/ssd1351/qp_ssd1351.c | 125 ++++ drivers/painter/ssd1351/qp_ssd1351.h | 37 + drivers/painter/ssd1351/qp_ssd1351_opcodes.h | 48 ++ drivers/painter/st77xx/qp_st7789.c | 144 ++++ drivers/painter/st77xx/qp_st7789.h | 44 ++ drivers/painter/st77xx/qp_st7789_opcodes.h | 64 ++ drivers/painter/st77xx/qp_st77xx_opcodes.h | 51 ++ drivers/painter/tft_panel/qp_tft_panel.c | 130 ++++ drivers/painter/tft_panel/qp_tft_panel.h | 67 ++ lib/python/qmk/cli/__init__.py | 4 +- lib/python/qmk/cli/painter/__init__.py | 2 + .../qmk/cli/painter/convert_graphics.py | 86 +++ lib/python/qmk/cli/painter/make_font.py | 87 +++ lib/python/qmk/painter.py | 268 +++++++ lib/python/qmk/painter_qff.py | 401 ++++++++++ lib/python/qmk/painter_qgf.py | 408 ++++++++++ quantum/main.c | 11 +- quantum/painter/qff.c | 137 ++++ quantum/painter/qff.h | 88 +++ quantum/painter/qgf.c | 292 ++++++++ quantum/painter/qgf.h | 136 ++++ quantum/painter/qp.c | 228 ++++++ quantum/painter/qp.h | 453 +++++++++++ quantum/painter/qp_comms.c | 72 ++ quantum/painter/qp_comms.h | 25 + quantum/painter/qp_draw.h | 85 +++ quantum/painter/qp_draw_circle.c | 172 +++++ quantum/painter/qp_draw_codec.c | 142 ++++ quantum/painter/qp_draw_core.c | 294 ++++++++ quantum/painter/qp_draw_ellipse.c | 116 +++ quantum/painter/qp_draw_image.c | 382 ++++++++++ quantum/painter/qp_draw_text.c | 444 +++++++++++ quantum/painter/qp_internal.h | 33 + quantum/painter/qp_internal_driver.h | 82 ++ quantum/painter/qp_internal_formats.h | 49 ++ quantum/painter/qp_stream.c | 171 +++++ quantum/painter/qp_stream.h | 82 ++ quantum/painter/rules.mk | 116 +++ .../process_keycode/process_unicode_common.c | 30 +- quantum/quantum.h | 4 + quantum/utf8.c | 46 ++ quantum/utf8.h | 21 + requirements.txt | 1 + setup.cfg | 4 + 62 files changed, 7561 insertions(+), 35 deletions(-) create mode 100644 docs/quantum_painter.md create mode 100644 docs/quantum_painter_qff.md create mode 100644 docs/quantum_painter_qgf.md create mode 100644 docs/quantum_painter_rle.md create mode 100644 drivers/painter/comms/qp_comms_spi.c create mode 100644 drivers/painter/comms/qp_comms_spi.h create mode 100644 drivers/painter/gc9a01/qp_gc9a01.c create mode 100644 drivers/painter/gc9a01/qp_gc9a01.h create mode 100644 drivers/painter/gc9a01/qp_gc9a01_opcodes.h create mode 100644 drivers/painter/ili9xxx/qp_ili9163.c create mode 100644 drivers/painter/ili9xxx/qp_ili9163.h create mode 100644 drivers/painter/ili9xxx/qp_ili9341.c create mode 100644 drivers/painter/ili9xxx/qp_ili9341.h create mode 100644 drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h create mode 100644 drivers/painter/ssd1351/qp_ssd1351.c create mode 100644 drivers/painter/ssd1351/qp_ssd1351.h create mode 100644 drivers/painter/ssd1351/qp_ssd1351_opcodes.h create mode 100644 drivers/painter/st77xx/qp_st7789.c create mode 100644 drivers/painter/st77xx/qp_st7789.h create mode 100644 drivers/painter/st77xx/qp_st7789_opcodes.h create mode 100644 drivers/painter/st77xx/qp_st77xx_opcodes.h create mode 100644 drivers/painter/tft_panel/qp_tft_panel.c create mode 100644 drivers/painter/tft_panel/qp_tft_panel.h create mode 100644 lib/python/qmk/cli/painter/__init__.py create mode 100644 lib/python/qmk/cli/painter/convert_graphics.py create mode 100644 lib/python/qmk/cli/painter/make_font.py create mode 100644 lib/python/qmk/painter.py create mode 100644 lib/python/qmk/painter_qff.py create mode 100644 lib/python/qmk/painter_qgf.py create mode 100644 quantum/painter/qff.c create mode 100644 quantum/painter/qff.h create mode 100644 quantum/painter/qgf.c create mode 100644 quantum/painter/qgf.h create mode 100644 quantum/painter/qp.c create mode 100644 quantum/painter/qp.h create mode 100644 quantum/painter/qp_comms.c create mode 100644 quantum/painter/qp_comms.h create mode 100644 quantum/painter/qp_draw.h create mode 100644 quantum/painter/qp_draw_circle.c create mode 100644 quantum/painter/qp_draw_codec.c create mode 100644 quantum/painter/qp_draw_core.c create mode 100644 quantum/painter/qp_draw_ellipse.c create mode 100644 quantum/painter/qp_draw_image.c create mode 100644 quantum/painter/qp_draw_text.c create mode 100644 quantum/painter/qp_internal.h create mode 100644 quantum/painter/qp_internal_driver.h create mode 100644 quantum/painter/qp_internal_formats.h create mode 100644 quantum/painter/qp_stream.c create mode 100644 quantum/painter/qp_stream.h create mode 100644 quantum/painter/rules.mk create mode 100644 quantum/utf8.c create mode 100644 quantum/utf8.h diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index 26bcb2f51106..726ce19f0c00 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -26,5 +26,7 @@ jobs: - uses: actions/checkout@v2 with: submodules: recursive + - name: Install dependencies + run: pip3 install -r requirements-dev.txt - name: Run tests run: make test:all diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index a1793f91a57d..c976b8296d5a 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -149,6 +149,11 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) endif endif +QUANTUM_PAINTER_ENABLE ?= no +ifeq ($(strip $(QUANTUM_PAINTER_ENABLE)), yes) + include $(QUANTUM_DIR)/painter/rules.mk +endif + VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi EEPROM_DRIVER ?= vendor ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),) @@ -696,7 +701,8 @@ endif ifeq ($(strip $(UNICODE_COMMON)), yes) OPT_DEFS += -DUNICODE_COMMON_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c + SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c \ + $(QUANTUM_DIR)/utf8.c endif MAGIC_ENABLE ?= yes diff --git a/docs/_summary.md b/docs/_summary.md index 249bfcd9edfa..786685eba479 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -94,6 +94,7 @@ * Hardware Features * Displays + * [Quantum Painter](quantum_painter.md) * [HD44780 LCD Driver](feature_hd44780.md) * [ST7565 LCD Driver](feature_st7565.md) * [OLED Driver](feature_oled_driver.md) diff --git a/docs/cli_commands.md b/docs/cli_commands.md index 463abcef12f2..a380d3eb2f1d 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -515,3 +515,15 @@ Run single test: qmk pytest -t qmk.tests.test_cli_commands.test_c2json qmk pytest -t qmk.tests.test_qmk_path + +## `qmk painter-convert-graphics` + +This command converts images to a format usable by QMK, i.e. the QGF File Format. See the [Quantum Painter](quantum_painter.md?id=quantum-painter-cli) documentation for more information on this command. + +## `qmk painter-make-font-image` + +This command converts a TTF font to an intermediate format for editing, before converting to the QFF File Format. See the [Quantum Painter](quantum_painter.md?id=quantum-painter-cli) documentation for more information on this command. + +## `qmk painter-convert-font-image` + +This command converts an intermediate font image to the QFF File Format. See the [Quantum Painter](quantum_painter.md?id=quantum-painter-cli) documentation for more information on this command. diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md new file mode 100644 index 000000000000..a3705b62ce7c --- /dev/null +++ b/docs/quantum_painter.md @@ -0,0 +1,705 @@ +# Quantum Painter :id=quantum-painter + +Quantum Painter is the standardised API for graphical displays. It currently includes support for basic drawing primitives, as well as custom images, animations, and fonts. + +Due to the complexity, there is no support for Quantum Painter on AVR-based boards. + +To enable overall Quantum Painter to be built into your firmware, add the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS = ...... +``` + +You will also likely need to select an appropriate driver in `rules.mk`, which is listed below. + +!> Quantum Painter is not currently integrated with system-level operations such as disabling displays after a configurable timeout, or when the keyboard goes into suspend. Users will need to handle this manually at the current time. + +The QMK CLI can be used to convert from normal images such as PNG files or animated GIFs, as well as fonts from TTF files. + +Hardware supported: + +| Display Panel | Panel Type | Size | Comms Transport | Driver | +|---------------|--------------------|------------------|-----------------|-----------------------------------------| +| GC9A01 | RGB LCD (circular) | 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = gc9a01_spi` | +| ILI9163 | RGB LCD | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = ili9163_spi` | +| ILI9341 | RGB LCD | 240x320 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = ili9341_spi` | +| SSD1351 | RGB OLED | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = ssd1351_spi` | +| ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = st7789_spi` | + +## Quantum Painter Configuration :id=quantum-painter-config + +| Option | Default | Purpose | +|-----------------------------------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------| +| `QUANTUM_PAINTER_NUM_IMAGES` | `8` | The maximum number of images/animations that can be loaded at any one time. | +| `QUANTUM_PAINTER_NUM_FONTS` | `4` | The maximum number of fonts that can be loaded at any one time. | +| `QUANTUM_PAINTER_CONCURRENT_ANIMATIONS` | `4` | The maximum number of animations that can be executed at the same time. | +| `QUANTUM_PAINTER_LOAD_FONTS_TO_RAM` | `FALSE` | Whether or not fonts should be loaded to RAM. Relevant for fonts stored in off-chip persistent storage, such as external flash. | +| `QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE` | `32` | The limit of the amount of pixel data that can be transmitted in one transaction to the display. Higher values require more RAM on the MCU. | +| `QUANTUM_PAINTER_SUPPORTS_256_PALETTE` | `FALSE` | If 256-color palettes are supported. Requires significantly more RAM on the MCU. | +| `QUANTUM_PAINTER_DEBUG` | _unset_ | Prints out significant amounts of debugging information to CONSOLE output. Significant performance degradation, use only for debugging. | + +Drivers have their own set of configurable options, and are described in their respective sections. + +## Quantum Painter CLI Commands :id=quantum-painter-cli + +### `qmk painter-convert-graphics` + +This command converts images to a format usable by QMK, i.e. the QGF File Format. + +**Usage**: + +``` +usage: qmk painter-convert-graphics [-h] [-d] [-r] -f FORMAT [-o OUTPUT] -i INPUT [-v] + +optional arguments: + -h, --help show this help message and exit + -d, --no-deltas Disables the use of delta frames when encoding animations. + -r, --no-rle Disables the use of RLE when encoding images. + -f FORMAT, --format FORMAT + Output format, valid types: pal256, pal16, pal4, pal2, mono256, mono16, mono4, mono2 + -o OUTPUT, --output OUTPUT + Specify output directory. Defaults to same directory as input. + -i INPUT, --input INPUT + Specify input graphic file. + -v, --verbose Turns on verbose output. +``` + +The `INPUT` argument can be any image file loadable by Python's Pillow module. Common formats include PNG, or Animated GIF. + +The `OUTPUT` argument needs to be a directory, and will default to the same directory as the input argument. + +The `FORMAT` argument can be any of the following: + +| Format | Meaning | +|-----------|-----------------------------------------------------------------------| +| `pal256` | 256-color palette (requires `QUANTUM_PAINTER_SUPPORTS_256_PALETTE`) | +| `pal16` | 16-color palette | +| `pal4` | 4-color palette | +| `pal2` | 2-color palette | +| `mono256` | 256-shade grayscale (requires `QUANTUM_PAINTER_SUPPORTS_256_PALETTE`) | +| `mono16` | 16-shade grayscale | +| `mono4` | 4-shade grayscale | +| `mono2` | 2-shade grayscale | + +**Examples**: + +``` +$ cd /home/qmk/qmk_firmware/keyboards/my_keeb +$ qmk painter-convert-graphics -f mono16 -i my_image.gif -o ./generated/ +Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/my_image.qgf.h... +Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/my_image.qgf.c... +``` + +### `qmk painter-make-font-image` + +This command converts a TTF font to an intermediate format for editing, before converting to the QFF File Format. + +**Usage**: + +``` +usage: qmk painter-make-font-image [-h] [-a] [-u UNICODE_GLYPHS] [-n] [-s SIZE] -o OUTPUT -f FONT + +optional arguments: + -h, --help show this help message and exit + -a, --no-aa Disable anti-aliasing on fonts. + -u UNICODE_GLYPHS, --unicode-glyphs UNICODE_GLYPHS + Also generate the specified unicode glyphs. + -n, --no-ascii Disables output of the full ASCII character set (0x20..0x7E), exporting only the glyphs specified. + -s SIZE, --size SIZE Specify font size. Default 12. + -o OUTPUT, --output OUTPUT + Specify output image path. + -f FONT, --font FONT Specify input font file. +``` + +The `FONT` argument is generally a TrueType Font file (TTF). + +The `OUTPUT` argument is the output image to generate, generally something like `my_font.png`. + +The `UNICODE_GLYPHS` argument allows for specifying extra unicode glyphs to generate, and accepts a string. + +**Examples**: + +``` +$ qmk painter-make-font-image --font NotoSans-ExtraCondensedBold.ttf --size 11 -o noto11.png --unicode-glyphs "ĄȽɂɻɣɈʣ" +``` + +### `qmk painter-convert-font-image` + +This command converts an intermediate font image to the QFF File Format. + +This command expects an image that conforms to the following format: + +* Top-left pixel (at `0,0`) is the "delimiter" color: + * Each glyph in the font starts when a pixel of this color is found on the first row + * The first row is discarded when converting to the QFF format +* The number of delimited glyphs must match the supplied arguments to the command: + * The full ASCII set `0x20..0x7E` (if `--no-ascii` was not specified) + * The corresponding number of unicode glyphs if any were specified with `--unicode-glyphs` +* The order of the glyphs matches the ASCII set, if any, followed by the Unicode glyph set, if any. + +**Usage**: + +``` +usage: qmk painter-convert-font-image [-h] [-r] -f FORMAT [-u UNICODE_GLYPHS] [-n] [-o OUTPUT] [-i INPUT] + +optional arguments: + -h, --help show this help message and exit + -r, --no-rle Disable the use of RLE to minimise converted image size. + -f FORMAT, --format FORMAT + Output format, valid types: pal256, pal16, pal4, pal2, mono256, mono16, mono4, mono2 + -u UNICODE_GLYPHS, --unicode-glyphs UNICODE_GLYPHS + Also generate the specified unicode glyphs. + -n, --no-ascii Disables output of the full ASCII character set (0x20..0x7E), exporting only the glyphs specified. + -o OUTPUT, --output OUTPUT + Specify output directory. Defaults to same directory as input. + -i INPUT, --input INPUT + Specify input graphic file. +``` + +The same arguments for `--no-ascii` and `--unicode-glyphs` need to be specified, as per `qmk painter-make-font-image`. + +**Examples**: + +``` +$ cd /home/qmk/qmk_firmware/keyboards/my_keeb +$ qmk painter-convert-font-image --input noto11.png -f mono4 --unicode-glyphs "ĄȽɂɻɣɈʣ" +Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/noto11.qff.h... +Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/noto11.qff.c... +``` + +## Quantum Painter Drawing API :id=quantum-painter-api + +All APIs require a `painter_device_t` object as their first parameter -- this object comes from the specific device initialisation, and instructions on creating it can be found in each driver's respective section. + +To use any of the APIs, you need to include `qp.h`: +```c +#include +``` + +### General Notes :id=quantum-painter-api-general + +The coordinate system used in Quantum Painter generally accepts `left`, `top`, `right`, and `bottom` instead of x/y/width/height, and each coordinate is inclusive of where pixels should be drawn. This is required as some datatypes used by display panels have a maximum value of `255` -- for any value or geometry extent that matches `256`, this would be represented as a `0`, instead. + +?> Drawing a horizontal line 8 pixels long, starting from 4 pixels inside the left side of the display, will need `left=4`, `right=11`. + +All color data matches the standard QMK HSV triplet definitions: + +* Hue is of the range `0...255` and is internally mapped to 0...360 degrees. +* Saturation is of the range `0...255` and is internally mapped to 0...100% saturation. +* Value is of the range `0...255` and is internally mapped to 0...100% brightness. + +?> Colors used in Quantum Painter are not subject to the RGB lighting CIE curve, if it is enabled. + +### Device Control :id=quantum-painter-api-device-control + +#### Display Initialisation :id=quantum-painter-api-init + +```c +bool qp_init(painter_device_t device, painter_rotation_t rotation); +``` + +The `qp_init` function is used to initialise a display device after it has been created. This accepts a rotation parameter (`QP_ROTATION_0`, `QP_ROTATION_90`, `QP_ROTATION_180`, `QP_ROTATION_270`), which makes sure that the orientation of what's drawn on the display is correct. + +```c +static painter_device_t display; +void keyboard_post_init_kb(void) { + display = qp_make_.......; // Create the display + qp_init(display, QP_ROTATION_0); // Initialise the display +} +``` + +#### Display Power :id=quantum-painter-api-power + +```c +bool qp_power(painter_device_t device, bool power_on); +``` + +The `qp_power` function instructs the display whether or not the display panel should be on or off. + +!> If there is a separate backlight controlled through the normal QMK backlight API, this is not controlled by the `qp_power` function and needs to be manually handled elsewhere. + +```c +static uint8_t last_backlight = 255; +void suspend_power_down_user(void) { + if (last_backlight == 255) { + last_backlight = get_backlight_level(); + } + backlight_set(0); + rgb_matrix_set_suspend_state(true); + qp_power(display, false); +} + +void suspend_wakeup_init_user(void) { + qp_power(display, true); + rgb_matrix_set_suspend_state(false); + if (last_backlight != 255) { + backlight_set(last_backlight); + } + last_backlight = 255; +} +``` + +#### Display Clear :id=quantum-painter-api-clear + +```c +bool qp_clear(painter_device_t device); +``` + +The `qp_clear` function clears the display's screen. + +#### Display Flush :id=quantum-painter-api-flush + +```c +bool qp_flush(painter_device_t device); +``` + +The `qp_flush` function ensures that all drawing operations are "pushed" to the display. This should be done as the last operation whenever a sequence of draws occur, and guarantees that any changes are applied. + +!> Some display panels may seem to work even without a call to `qp_flush` -- this may be because the driver cannot queue drawing operations and needs to display them immediately when invoked. In general, calling `qp_flush` at the end is still considered "best practice". + +```c +void housekeeping_task_user(void) { + static uint32_t last_draw = 0; + if (timer_elapsed32(last_draw) > 33) { // Throttle to 30fps + last_draw = timer_read32(); + // Draw a rect based off the current RGB color + qp_rect(display, 0, 7, 0, 239, rgb_matrix_get_hue(), 255, 255); + qp_flush(display); + } +} +``` + +### Drawing Primitives :id=quantum-painter-api-primitives + +#### Set Pixel :id=quantum-painter-api-setpixel + +```c +bool qp_setpixel(painter_device_t device, uint16_t x, uint16_t y, uint8_t hue, uint8_t sat, uint8_t val); +``` + +The `qp_setpixel` can be used to set a specific pixel on the screen to the supplied color. + +?> Using `qp_setpixel` for large amounts of drawing operations is inefficient and should be avoided unless they cannot be achieved with other drawing APIs. + +```c +void housekeeping_task_user(void) { + static uint32_t last_draw = 0; + if (timer_elapsed32(last_draw) > 33) { // Throttle to 30fps + last_draw = timer_read32(); + // Draw a 240px high vertical rainbow line on X=0: + for (int i = 0; i < 239; ++i) { + qp_setpixel(display, 0, i, i, 255, 255); + } + qp_flush(display); + } +} +``` + +#### Draw Line :id=quantum-painter-api-line + +```c +bool qp_line(painter_device_t device, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint8_t hue, uint8_t sat, uint8_t val); +``` + +The `qp_line` can be used to draw lines on the screen with the supplied color. + +```c +void housekeeping_task_user(void) { + static uint32_t last_draw = 0; + if (timer_elapsed32(last_draw) > 33) { // Throttle to 30fps + last_draw = timer_read32(); + // Draw 8px-wide rainbow down the left side of the display + for (int i = 0; i < 239; ++i) { + qp_line(display, 0, i, 7, i, i, 255, 255); + } + qp_flush(display); + } +} +``` + +#### Draw Rect :id=quantum-painter-api-rect + +```c +bool qp_rect(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint8_t hue, uint8_t sat, uint8_t val, bool filled); +``` + +The `qp_rect` can be used to draw rectangles on the screen with the supplied color, with or without a background fill. If not filled, any pixels inside the rectangle will be left as-is. + +```c +void housekeeping_task_user(void) { + static uint32_t last_draw = 0; + if (timer_elapsed32(last_draw) > 33) { // Throttle to 30fps + last_draw = timer_read32(); + // Draw 8px-wide rainbow filled rectangles down the left side of the display + for (int i = 0; i < 239; i+=8) { + qp_rect(display, 0, i, 7, i+7, i, 255, 255, true); + } + qp_flush(display); + } +} +``` + +#### Draw Circle :id=quantum-painter-api-circle + +```c +bool qp_circle(painter_device_t device, uint16_t x, uint16_t y, uint16_t radius, uint8_t hue, uint8_t sat, uint8_t val, bool filled); +``` + +The `qp_circle` can be used to draw circles on the screen with the supplied color, with or without a background fill. If not filled, any pixels inside the circle will be left as-is. + +```c +void housekeeping_task_user(void) { + static uint32_t last_draw = 0; + if (timer_elapsed32(last_draw) > 33) { // Throttle to 30fps + last_draw = timer_read32(); + // Draw r=4 filled circles down the left side of the display + for (int i = 0; i < 239; i+=8) { + qp_circle(display, 4, 4+i, 4, i, 255, 255, true); + } + qp_flush(display); + } +} +``` + +#### Draw Ellipse :id=quantum-painter-api-ellipse + +```c +bool qp_ellipse(painter_device_t device, uint16_t x, uint16_t y, uint16_t sizex, uint16_t sizey, uint8_t hue, uint8_t sat, uint8_t val, bool filled); +``` + +The `qp_ellipse` can be used to draw ellipses on the screen with the supplied color, with or without a background fill. If not filled, any pixels inside the ellipses will be left as-is. + +```c +void housekeeping_task_user(void) { + static uint32_t last_draw = 0; + if (timer_elapsed32(last_draw) > 33) { // Throttle to 30fps + last_draw = timer_read32(); + // Draw 16x8 filled ellipses down the left side of the display + for (int i = 0; i < 239; i+=8) { + qp_ellipse(display, 8, 4+i, 16, 8, i, 255, 255, true); + } + qp_flush(display); + } +} +``` + +### Image Functions :id=quantum-painter-api-images + +#### Load Image :id=quantum-painter-api-load-image + +```c +painter_image_handle_t qp_load_image_mem(const void *buffer); +``` + +The `qp_load_image_mem` function loads a QGF image from memory or flash. + +`qp_load_image_mem` returns a handle to the loaded image, which can then be used to draw to the screen using `qp_drawimage`, `qp_drawimage_recolor`, `qp_animate`, or `qp_animate_recolor`. If an image is no longer required, it can be unloaded by calling `qp_close_image` below. + +See the [CLI Commands](quantum_painter.md?id=quantum-painter-cli) for instructions on how to convert images to [QGF](quantum_painter_qgf.md). + +?> The total number of images available to load at any one time is controlled by the configurable option `QUANTUM_PAINTER_NUM_IMAGES` in the table above. If more images are required, the number should be increased in `config.h`. + +Image information is available through accessing the handle: + +| Property | Accessor | +|-------------|----------------------| +| Width | `image->width` | +| Height | `image->height` | +| Frame Count | `image->frame_count` | + +#### Unload Image :id=quantum-painter-api-close-image + +```c +bool qp_close_image(painter_image_handle_t image); +``` + +The `qp_close_image` function releases resources related to the loading of the supplied image. + +#### Draw image :id=quantum-painter-api-draw-image + +```c +bool qp_drawimage(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image); +bool qp_drawimage_recolor(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image, uint8_t hue_fg, uint8_t sat_fg, uint8_t val_fg, uint8_t hue_bg, uint8_t sat_bg, uint8_t val_bg); +``` + +The `qp_drawimage` and `qp_drawimage_recolor` functions draw the supplied image to the screen at the supplied location, with the latter function allowing for monochrome-based images to be recolored. + +```c +// Draw an image on the bottom-right of the 240x320 display on initialisation +static painter_image_handle_t my_image; +void keyboard_post_init_kb(void) { + my_image = qp_load_image_mem(gfx_my_image); + if (my_image != NULL) { + qp_drawimage(display, (239 - my_image->width), (319 - my_image->height), my_image); + } +} +``` + +#### Animate Image :id=quantum-painter-api-animate-image + +```c +deferred_token qp_animate(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image); +deferred_token qp_animate_recolor(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image, uint8_t hue_fg, uint8_t sat_fg, uint8_t val_fg, uint8_t hue_bg, uint8_t sat_bg, uint8_t val_bg); +``` + +The `qp_animate` and `qp_animate_recolor` functions draw the supplied image to the screen at the supplied location, with the latter function allowing for monochrome-based animations to be recolored. They also set up internal timing such that each frame is rendered at the correct time as per the animated image. + +Once an image has been set to animate, it will loop indefinitely until stopped, with no user intervention required. + +Both functions return a `deferred_token`, which can then be used to stop the animation, using `qp_stop_animation` below. + +```c +// Animate an image on the bottom-right of the 240x320 display on initialisation +static painter_image_handle_t my_image; +static deferred_token my_anim; +void keyboard_post_init_kb(void) { + my_image = qp_load_image_mem(gfx_my_image); + if (my_image != NULL) { + my_anim = qp_animate(display, (239 - my_image->width), (319 - my_image->height), my_image); + } +} +``` + +#### Stop Animation :id=quantum-painter-api-stop-animation + +```c +void qp_stop_animation(deferred_token anim_token); +``` + +The `qp_stop_animation` function stops the previously-started animation. +```c +void housekeeping_task_user(void) { + if (some_random_stop_reason) { + qp_stop_animation(my_anim); + } +} +``` + +### Font Functions :id=quantum-painter-api-fonts + +#### Load Font :id=quantum-painter-api-load-font + +```c +painter_font_handle_t qp_load_font_mem(const void *buffer); +``` + +The `qp_load_font_mem` function loads a QFF font from memory or flash. + +`qp_load_font_mem` returns a handle to the loaded font, which can then be measured using `qp_textwidth`, or drawn to the screen using `qp_drawtext`, or `qp_drawtext_recolor`. If a font is no longer required, it can be unloaded by calling `qp_close_font` below. + +See the [CLI Commands](quantum_painter.md?id=quantum-painter-cli) for instructions on how to convert TTF fonts to [QFF](quantum_painter_qff.md). + +?> The total number of fonts available to load at any one time is controlled by the configurable option `QUANTUM_PAINTER_NUM_FONTS` in the table above. If more fonts are required, the number should be increased in `config.h`. + +Font information is available through accessing the handle: + +| Property | Accessor | +|-------------|----------------------| +| Line Height | `image->line_height` | + +#### Unload Font :id=quantum-painter-api-close-font + +```c +bool qp_close_font(painter_font_handle_t font); +``` + +The `qp_close_font` function releases resources related to the loading of the supplied font. + +#### Measure Text :id=quantum-painter-api-textwidth + +```c +int16_t qp_textwidth(painter_font_handle_t font, const char *str); +``` + +The `qp_textwidth` function allows measurement of how many pixels wide the supplied string would result in, for the given font. + +#### Draw Text :id=quantum-painter-api-drawtext + +```c +int16_t qp_drawtext(painter_device_t device, uint16_t x, uint16_t y, painter_font_handle_t font, const char *str); +int16_t qp_drawtext_recolor(painter_device_t device, uint16_t x, uint16_t y, painter_font_handle_t font, const char *str, uint8_t hue_fg, uint8_t sat_fg, uint8_t val_fg, uint8_t hue_bg, uint8_t sat_bg, uint8_t val_bg); +``` + +The `qp_drawtext` and `qp_drawtext_recolor` functions draw the supplied string to the screen at the given location using the font supplied, with the latter function allowing for monochrome-based fonts to be recolored. + +```c +// Draw a text message on the bottom-right of the 240x320 display on initialisation +static painter_font_handle_t my_font; +void keyboard_post_init_kb(void) { + my_font = qp_load_font_mem(font_opensans); + if (my_font != NULL) { + static const char *text = "Hello from QMK!"; + int16_t width = qp_textwidth(my_font, text); + qp_drawtext(display, (239 - width), (319 - my_font->line_height), my_font, text); + } +} +``` + +### Advanced Functions :id=quantum-painter-api-advanced + +#### Get Geometry :id=quantum-painter-api-get-geometry + +```c +void qp_get_geometry(painter_device_t device, uint16_t *width, uint16_t *height, painter_rotation_t *rotation, uint16_t *offset_x, uint16_t *offset_y); +``` + +The `qp_get_geometry` function allows external code to retrieve the current width, height, rotation, and drawing offsets. + +#### Set Viewport Offsets :id=quantum-painter-api-set-viewport + +```c +void qp_set_viewport_offsets(painter_device_t device, uint16_t offset_x, uint16_t offset_y); +``` + +The `qp_set_viewport_offsets` function can be used to offset all subsequent drawing operations. For example, if a display controller is internally 240x320, but the display panel is 240x240 and has a Y offset of 80 pixels, you could invoke `qp_set_viewport_offsets(display, 0, 80);` and the drawing positioning would be corrected. + +#### Set Viewport :id=quantum-painter-api-viewport + +```c +bool qp_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom); +``` + +The `qp_viewport` function controls where raw pixel data is written to. + +#### Stream Pixel Data :id=quantum-painter-api-pixdata + +```c +bool qp_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count); +``` + +The `qp_pixdata` function allows raw pixel data to be streamed to the display. It requires a native pixel count rather than the number of bytes to transfer, to ensure display panel data alignment is respected. E.g. for display panels using RGB565 internal format, sending 10 pixels will result in 20 bytes of transfer. + +!> Under normal circumstances, users will not need to manually call either `qp_viewport` or `qp_pixdata`. These allow for writing of raw pixel information, in the display panel's native format, to the area defined by the viewport. + +## Quantum Painter Display Drivers :id=quantum-painter-drivers + +### Common: Standard TFT (SPI + D/C + RST) + +Most TFT display panels use a 5-pin interface -- SPI SCK, SPI MOSI, SPI CS, D/C, and RST pins. + +For these displays, QMK's `spi_master` must already be correctly configured for the platform you're building for. + +The pin assignments for SPI CS, D/C, and RST are specified during device construction. + +### GC9A01 :id=qp-driver-gc9a01 + +Enabling support for the GC9A01 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS = gc9a01_spi +``` + +Creating a GC9A01 device in firmware can then be done with the following API: + +```c +painter_device_t qp_gc9a01_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_gc9a01_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define GC9A01_NUM_DEVICES 3 +``` + +### ILI9163 :id=qp-driver-ili9163 + +Enabling support for the ILI9163 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS = ili9163_spi +``` + +Creating a ILI9163 device in firmware can then be done with the following API: + +```c +painter_device_t qp_ili9163_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_ili9163_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define ILI9163_NUM_DEVICES 3 +``` + +### ILI9341 :id=qp-driver-ili9341 + +Enabling support for the ILI9341 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS = ili9341_spi +``` + +Creating a ILI9341 device in firmware can then be done with the following API: + +```c +painter_device_t qp_ili9341_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_ili9341_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define ILI9341_NUM_DEVICES 3 +``` + +### SSD1351 :id=qp-driver-ssd1351 + +Enabling support for the SSD1351 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS = ssd1351_spi +``` + +Creating a SSD1351 device in firmware can then be done with the following API: + +```c +painter_device_t qp_ssd1351_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_ssd1351_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define SSD1351_NUM_DEVICES 3 +``` + +### ST7789 :id=qp-driver-st7789 + +Enabling support for the ST7789 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS = st7789_spi +``` + +Creating a ST7789 device in firmware can then be done with the following API: + +```c +painter_device_t qp_st7789_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_st7789_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define ST7789_NUM_DEVICES 3 +``` + +!> Some ST7789 devices are known to have different drawing offsets -- despite being a 240x320 pixel display controller internally, some display panels are only 240x240, or smaller. These may require an offset to be applied; see `qp_set_viewport_offsets` above for information on how to override the offsets if they aren't correctly rendered. \ No newline at end of file diff --git a/docs/quantum_painter_qff.md b/docs/quantum_painter_qff.md new file mode 100644 index 000000000000..f62d59bdcb1b --- /dev/null +++ b/docs/quantum_painter_qff.md @@ -0,0 +1,103 @@ +# QMK Font Format :id=qmk-font-format + +QMK uses a font format _("Quantum Font Format" - QFF)_ specifically for resource-constrained systems. + +This format is capable of encoding 1-, 2-, 4-, and 8-bit-per-pixel greyscale- and palette-based images into a font. It also includes RLE for pixel data for some basic compression. + +All integer values are in little-endian format. + +The QFF is defined in terms of _blocks_ -- each _block_ contains a _header_ and an optional _blob_ of data. The _header_ contains the block's _typeid_, and the length of the _blob_ that follows. Each block type is denoted by a different _typeid_ has its own block definition below. All blocks are defined as packed structs, containing zero padding between fields. + +The general structure of the file is: + +* _Font descriptor block_ +* _ASCII glyph block_ (optional, only if ASCII glyphs are included) +* _Unicode glyph block_ (optional, only if Unicode glyphs are included) +* _Font palette block_ (optional, depending on frame format) +* _Font data block_ + +## Block Header :id=qff-block-header + +The block header is identical to [QGF's block header](quantum_painter_qgf.md#qgf-block-header), and is present for all blocks, including the font descriptor. + +## Font descriptor block :id=qff-font-descriptor + +* _typeid_ = 0x00 +* _length_ = 20 + +This block must be located at the start of the file contents, and can exist a maximum of once in an entire QGF file. It is always followed by either the _ASCII glyph table_ or the _Unicode glyph table_, depending on which glyphs are included in the font. + +_Block_ format: + +```c +typedef struct __attribute__((packed)) qff_font_descriptor_v1_t { + qgf_block_header_v1_t header; // = { .type_id = 0x00, .neg_type_id = (~0x00), .length = 20 } + uint24_t magic; // constant, equal to 0x464651 ("QFF") + uint8_t qff_version; // constant, equal to 0x01 + uint32_t total_file_size; // total size of the entire file, starting at offset zero + uint32_t neg_total_file_size; // negated value of total_file_size, used for detecting parsing errors + uint8_t line_height; // glyph height in pixels + bool has_ascii_table; // whether the font has an ascii table of glyphs (0x20...0x7E) + uint16_t num_unicode_glyphs; // the number of glyphs in the unicode table -- no table specified if zero + uint8_t format; // frame format, see below. + uint8_t flags; // frame flags, see below. + uint8_t compression_scheme; // compression scheme, see below. + uint8_t transparency_index; // palette index used for transparent pixels (not yet implemented) +} qff_font_descriptor_v1_t; +// _Static_assert(sizeof(qff_font_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 20), "qff_font_descriptor_v1_t must be 25 bytes in v1 of QFF"); +``` + +The values for `format`, `flags`, `compression_scheme`, and `transparency_index` match [QGF's frame descriptor block](quantum_painter_qgf.md#qgf-frame-descriptor), with the exception that the `delta` flag is ignored by QFF. + +## ASCII glyph table :id=qff-ascii-table + +* _typeid_ = 0x01 +* _length_ = 290 + +If the font contains ascii characters, the _ASCII glyph block_ must be located directly after the _font descriptor block_. + +```c +#define QFF_GLYPH_WIDTH_BITS 6 +#define QFF_GLYPH_WIDTH_MASK ((1<= 128 + length = marker - 128 + for i = 0 ... length-1 + c = READ_OCTET() + WRITE_OCTET(c) + + else + length = marker + c = READ_OCTET() + for i = 0 ... length-1 + WRITE_OCTET(c) + +``` diff --git a/drivers/painter/comms/qp_comms_spi.c b/drivers/painter/comms/qp_comms_spi.c new file mode 100644 index 000000000000..e644ba9f8449 --- /dev/null +++ b/drivers/painter/comms/qp_comms_spi.c @@ -0,0 +1,137 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifdef QUANTUM_PAINTER_SPI_ENABLE + +# include "spi_master.h" +# include "qp_comms_spi.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Base SPI support + +bool qp_comms_spi_init(painter_device_t device) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct qp_comms_spi_config_t *comms_config = (struct qp_comms_spi_config_t *)driver->comms_config; + + // Initialize the SPI peripheral + spi_init(); + + // Set up CS as output high + setPinOutput(comms_config->chip_select_pin); + writePinHigh(comms_config->chip_select_pin); + + return true; +} + +bool qp_comms_spi_start(painter_device_t device) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct qp_comms_spi_config_t *comms_config = (struct qp_comms_spi_config_t *)driver->comms_config; + + return spi_start(comms_config->chip_select_pin, comms_config->lsb_first, comms_config->mode, comms_config->divisor); +} + +uint32_t qp_comms_spi_send_data(painter_device_t device, const void *data, uint32_t byte_count) { + uint32_t bytes_remaining = byte_count; + const uint8_t *p = (const uint8_t *)data; + while (bytes_remaining > 0) { + uint32_t bytes_this_loop = bytes_remaining < 1024 ? bytes_remaining : 1024; + spi_transmit(p, bytes_this_loop); + p += bytes_this_loop; + bytes_remaining -= bytes_this_loop; + } + + return byte_count - bytes_remaining; +} + +void qp_comms_spi_stop(painter_device_t device) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct qp_comms_spi_config_t *comms_config = (struct qp_comms_spi_config_t *)driver->comms_config; + spi_stop(); + writePinHigh(comms_config->chip_select_pin); +} + +const struct painter_comms_vtable_t spi_comms_vtable = { + .comms_init = qp_comms_spi_init, + .comms_start = qp_comms_spi_start, + .comms_send = qp_comms_spi_send_data, + .comms_stop = qp_comms_spi_stop, +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// SPI with D/C and RST pins + +# ifdef QUANTUM_PAINTER_SPI_DC_RESET_ENABLE + +bool qp_comms_spi_dc_reset_init(painter_device_t device) { + if (!qp_comms_spi_init(device)) { + return false; + } + + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct qp_comms_spi_dc_reset_config_t *comms_config = (struct qp_comms_spi_dc_reset_config_t *)driver->comms_config; + + // Set up D/C as output low, if specified + if (comms_config->dc_pin != NO_PIN) { + setPinOutput(comms_config->dc_pin); + writePinLow(comms_config->dc_pin); + } + + // Set up RST as output, if specified, performing a reset in the process + if (comms_config->reset_pin != NO_PIN) { + setPinOutput(comms_config->reset_pin); + writePinLow(comms_config->reset_pin); + wait_ms(20); + writePinHigh(comms_config->reset_pin); + wait_ms(20); + } + + return true; +} + +uint32_t qp_comms_spi_dc_reset_send_data(painter_device_t device, const void *data, uint32_t byte_count) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct qp_comms_spi_dc_reset_config_t *comms_config = (struct qp_comms_spi_dc_reset_config_t *)driver->comms_config; + writePinHigh(comms_config->dc_pin); + return qp_comms_spi_send_data(device, data, byte_count); +} + +void qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct qp_comms_spi_dc_reset_config_t *comms_config = (struct qp_comms_spi_dc_reset_config_t *)driver->comms_config; + writePinLow(comms_config->dc_pin); + spi_write(cmd); +} + +void qp_comms_spi_dc_reset_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { + for (size_t i = 0; i < sequence_len;) { + uint8_t command = sequence[i]; + uint8_t delay = sequence[i + 1]; + uint8_t num_bytes = sequence[i + 2]; + qp_comms_spi_dc_reset_send_command(device, command); + if (num_bytes > 0) { + qp_comms_spi_dc_reset_send_data(device, &sequence[i + 3], num_bytes); + } + if (delay > 0) { + wait_ms(delay); + } + i += (3 + num_bytes); + } +} + +const struct painter_comms_with_command_vtable_t spi_comms_with_dc_vtable = { + .base = + { + .comms_init = qp_comms_spi_dc_reset_init, + .comms_start = qp_comms_spi_start, + .comms_send = qp_comms_spi_dc_reset_send_data, + .comms_stop = qp_comms_spi_stop, + }, + .send_command = qp_comms_spi_dc_reset_send_command, + .bulk_command_sequence = qp_comms_spi_dc_reset_bulk_command_sequence, +}; + +# endif // QUANTUM_PAINTER_SPI_DC_RESET_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#endif // QUANTUM_PAINTER_SPI_ENABLE diff --git a/drivers/painter/comms/qp_comms_spi.h b/drivers/painter/comms/qp_comms_spi.h new file mode 100644 index 000000000000..99899873272c --- /dev/null +++ b/drivers/painter/comms/qp_comms_spi.h @@ -0,0 +1,51 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#ifdef QUANTUM_PAINTER_SPI_ENABLE + +# include + +# include "gpio.h" +# include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Base SPI support + +struct qp_comms_spi_config_t { + pin_t chip_select_pin; + uint16_t divisor; + bool lsb_first; + int8_t mode; +}; + +bool qp_comms_spi_init(painter_device_t device); +bool qp_comms_spi_start(painter_device_t device); +uint32_t qp_comms_spi_send_data(painter_device_t device, const void* data, uint32_t byte_count); +void qp_comms_spi_stop(painter_device_t device); + +extern const struct painter_comms_vtable_t spi_comms_vtable; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// SPI with D/C and RST pins + +# ifdef QUANTUM_PAINTER_SPI_DC_RESET_ENABLE + +struct qp_comms_spi_dc_reset_config_t { + struct qp_comms_spi_config_t spi_config; + pin_t dc_pin; + pin_t reset_pin; +}; + +void qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd); +uint32_t qp_comms_spi_dc_reset_send_data(painter_device_t device, const void* data, uint32_t byte_count); +void qp_comms_spi_dc_reset_bulk_command_sequence(painter_device_t device, const uint8_t* sequence, size_t sequence_len); + +extern const struct painter_comms_with_command_vtable_t spi_comms_with_dc_vtable; + +# endif // QUANTUM_PAINTER_SPI_DC_RESET_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#endif // QUANTUM_PAINTER_SPI_ENABLE diff --git a/drivers/painter/gc9a01/qp_gc9a01.c b/drivers/painter/gc9a01/qp_gc9a01.c new file mode 100644 index 000000000000..ad76d58b078b --- /dev/null +++ b/drivers/painter/gc9a01/qp_gc9a01.c @@ -0,0 +1,150 @@ +// Copyright 2021 Paul Cotter (@gr1mr3aver) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_gc9a01.h" +#include "qp_gc9a01_opcodes.h" +#include "qp_tft_panel.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver storage +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +tft_panel_dc_reset_painter_device_t gc9a01_drivers[GC9A01_NUM_DEVICES] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Initialization +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +bool qp_gc9a01_init(painter_device_t device, painter_rotation_t rotation) { + // A lot of these "unknown" opcodes are sourced from other OSS projects and are seemingly required for this display to function. + // clang-format off + const uint8_t gc9a01_init_sequence[] = { + // Command, Delay, N, Data[N] + GC9A01_SET_INTER_REG_ENABLE2, 0, 0, + 0xEB, 0, 1, 0x14, + GC9A01_SET_INTER_REG_ENABLE1, 0, 0, + GC9A01_SET_INTER_REG_ENABLE2, 0, 0, + 0xEB, 0, 1, 0x14, + 0x84, 0, 1, 0x40, + 0x85, 0, 1, 0xFF, + 0x86, 0, 1, 0xFF, + 0x87, 0, 1, 0xFF, + 0x88, 0, 1, 0x0A, + 0x89, 0, 1, 0x21, + 0x8a, 0, 1, 0x00, + 0x8b, 0, 1, 0x80, + 0x8c, 0, 1, 0x01, + 0x8d, 0, 1, 0x01, + 0x8e, 0, 1, 0xFF, + 0x8f, 0, 1, 0xFF, + GC9A01_SET_FUNCTION_CTL, 0, 2, 0x00, 0x20, + GC9A01_SET_PIX_FMT, 0, 1, 0x55, + 0x90, 0, 4, 0x08, 0x08, 0x08, 0x08, + 0xBD, 0, 1, 0x06, + 0xBC, 0, 1, 0x00, + 0xFF, 0, 3, 0x60, 0x01, 0x04, + GC9A01_SET_POWER_CTL_2, 0, 1, 0x13, + GC9A01_SET_POWER_CTL_3, 0, 1, 0x13, + GC9A01_SET_POWER_CTL_4, 0, 1, 0x22, + 0xBE, 0, 1, 0x11, + 0xE1, 0, 2, 0x10, 0x0E, + 0xDF, 0, 3, 0x21, 0x0C, 0x02, + GC9A01_SET_GAMMA1, 0, 6, 0x45, 0x09, 0x08, 0x08, 0x26, 0x2A, + GC9A01_SET_GAMMA2, 0, 6, 0x43, 0x70, 0x72, 0x36, 0x37, 0x6F, + GC9A01_SET_GAMMA3, 0, 6, 0x45, 0x09, 0x08, 0x08, 0x26, 0x2A, + GC9A01_SET_GAMMA4, 0, 6, 0x43, 0x70, 0x72, 0x36, 0x37, 0x6F, + 0xED, 0, 2, 0x1B, 0x0B, + 0xAE, 0, 1, 0x77, + 0xCD, 0, 1, 0x63, + 0x70, 0, 9, 0x07, 0x07, 0x04, 0x0E, 0x0F, 0x09, 0x07, 0x08, 0x03, + GC9A01_SET_FRAME_RATE, 0, 1, 0x34, + 0x62, 0, 12, 0x18, 0x0D, 0x71, 0xED, 0x70, 0x70, 0x18, 0x0F, 0x71, 0xEF, 0x70, 0x70, + 0x63, 0, 12, 0x18, 0x11, 0x71, 0xF1, 0x70, 0x70, 0x18, 0x13, 0x71, 0xF3, 0x70, 0x70, + 0x64, 0, 7, 0x28, 0x29, 0xF1, 0x01, 0xF1, 0x00, 0x07, + 0x66, 0, 10, 0x3C, 0x00, 0xCD, 0x67, 0x45, 0x45, 0x10, 0x00, 0x00, 0x00, + 0x67, 0, 10, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x01, 0x54, 0x10, 0x32, 0x98, + 0x74, 0, 7, 0x10, 0x85, 0x80, 0x00, 0x00, 0x4E, 0x00, + 0x98, 0, 2, 0x3E, 0x07, + GC9A01_CMD_TEARING_OFF, 0, 0, + GC9A01_CMD_INVERT_OFF, 0, 0, + GC9A01_CMD_SLEEP_OFF, 120, 0, + GC9A01_CMD_DISPLAY_ON, 20, 0 + }; + // clang-format on + + // clang-format on + qp_comms_bulk_command_sequence(device, gc9a01_init_sequence, sizeof(gc9a01_init_sequence)); + + // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) + const uint8_t madctl[] = { + [QP_ROTATION_0] = GC9A01_MADCTL_BGR, + [QP_ROTATION_90] = GC9A01_MADCTL_BGR | GC9A01_MADCTL_MX | GC9A01_MADCTL_MV, + [QP_ROTATION_180] = GC9A01_MADCTL_BGR | GC9A01_MADCTL_MX | GC9A01_MADCTL_MY, + [QP_ROTATION_270] = GC9A01_MADCTL_BGR | GC9A01_MADCTL_MV | GC9A01_MADCTL_MY, + }; + qp_comms_command_databyte(device, GC9A01_SET_MEM_ACS_CTL, madctl[rotation]); + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver vtable +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +const struct tft_panel_dc_reset_painter_driver_vtable_t gc9a01_driver_vtable = { + .base = + { + .init = qp_gc9a01_init, + .power = qp_tft_panel_power, + .clear = qp_tft_panel_clear, + .flush = qp_tft_panel_flush, + .pixdata = qp_tft_panel_pixdata, + .viewport = qp_tft_panel_viewport, + .palette_convert = qp_tft_panel_palette_convert, + .append_pixels = qp_tft_panel_append_pixels, + }, + .rgb888_to_native16bit = qp_rgb888_to_rgb565_swapped, + .num_window_bytes = 2, + .swap_window_coords = false, + .opcodes = + { + .display_on = GC9A01_CMD_DISPLAY_ON, + .display_off = GC9A01_CMD_DISPLAY_OFF, + .set_column_address = GC9A01_SET_COL_ADDR, + .set_row_address = GC9A01_SET_PAGE_ADDR, + .enable_writes = GC9A01_SET_MEM, + }, +}; + +#ifdef QUANTUM_PAINTER_GC9A01_SPI_ENABLE +// Factory function for creating a handle to the ILI9341 device +painter_device_t qp_gc9a01_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) { + for (uint32_t i = 0; i < GC9A01_NUM_DEVICES; ++i) { + tft_panel_dc_reset_painter_device_t *driver = &gc9a01_drivers[i]; + if (!driver->base.driver_vtable) { + driver->base.driver_vtable = (const struct painter_driver_vtable_t *)&gc9a01_driver_vtable; + driver->base.comms_vtable = (const struct painter_comms_vtable_t *)&spi_comms_with_dc_vtable; + driver->base.native_bits_per_pixel = 16; // RGB565 + driver->base.panel_width = panel_width; + driver->base.panel_height = panel_height; + driver->base.rotation = QP_ROTATION_0; + driver->base.offset_x = 0; + driver->base.offset_y = 0; + + // SPI and other pin configuration + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + return (painter_device_t)driver; + } + } + return NULL; +} + +#endif // QUANTUM_PAINTER_GC9A01_SPI_ENABLE diff --git a/drivers/painter/gc9a01/qp_gc9a01.h b/drivers/painter/gc9a01/qp_gc9a01.h new file mode 100644 index 000000000000..e2b193956405 --- /dev/null +++ b/drivers/painter/gc9a01/qp_gc9a01.h @@ -0,0 +1,37 @@ +// Copyright 2021 Paul Cotter (@gr1mr3aver) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "gpio.h" +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter GC9A01 configurables (add to your keyboard's config.h) + +#ifndef GC9A01_NUM_DEVICES +/** + * @def This controls the maximum number of GC9A01 devices that Quantum Painter can communicate with at any one time. + * Increasing this number allows for multiple displays to be used. + */ +# define GC9A01_NUM_DEVICES 1 +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter GC9A01 device factories + +#ifdef QUANTUM_PAINTER_GC9A01_SPI_ENABLE +/** + * Factory method for an GC9A01 SPI LCD device. + * + * @param panel_width[in] the width of the display panel + * @param panel_height[in] the height of the display panel + * @param chip_select_pin[in] the GPIO pin used for SPI chip select + * @param dc_pin[in] the GPIO pin used for D/C control + * @param reset_pin[in] the GPIO pin used for RST + * @param spi_divisor[in] the SPI divisor to use when communicating with the display + * @param spi_mode[in] the SPI mode to use when communicating with the display + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_gc9a01_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +#endif // QUANTUM_PAINTER_GC9A01_SPI_ENABLE diff --git a/drivers/painter/gc9a01/qp_gc9a01_opcodes.h b/drivers/painter/gc9a01/qp_gc9a01_opcodes.h new file mode 100644 index 000000000000..6ff4efe7a8ac --- /dev/null +++ b/drivers/painter/gc9a01/qp_gc9a01_opcodes.h @@ -0,0 +1,78 @@ +// Copyright 2021 Paul Cotter (@gr1mr3aver) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter GC9A01 command opcodes +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Level 1 command opcodes + +#define GC9A01_GET_ID_INFO 0x04 // Get ID information +#define GC9A01_GET_STATUS 0x09 // Get status +#define GC9A01_CMD_SLEEP_ON 0x10 // Enter sleep mode +#define GC9A01_CMD_SLEEP_OFF 0x11 // Exit sleep mode +#define GC9A01_CMD_PARTIAL_ON 0x12 // Enter partial mode +#define GC9A01_CMD_PARTIAL_OFF 0x13 // Exit partial mode +#define GC9A01_CMD_INVERT_ON 0x20 // Enter inverted mode +#define GC9A01_CMD_INVERT_OFF 0x21 // Exit inverted mode +#define GC9A01_CMD_DISPLAY_OFF 0x28 // Disable display +#define GC9A01_CMD_DISPLAY_ON 0x29 // Enable display +#define GC9A01_SET_COL_ADDR 0x2A // Set column address +#define GC9A01_SET_PAGE_ADDR 0x2B // Set page address +#define GC9A01_SET_MEM 0x2C // Set memory +#define GC9A01_SET_PARTIAL_AREA 0x30 // Set partial area +#define GC9A01_SET_VSCROLL 0x33 // Set vertical scroll def +#define GC9A01_CMD_TEARING_ON 0x34 // Tearing line enabled +#define GC9A01_CMD_TEARING_OFF 0x35 // Tearing line disabled +#define GC9A01_SET_MEM_ACS_CTL 0x36 // Set mem access ctl +#define GC9A01_SET_VSCROLL_ADDR 0x37 // Set vscroll start addr +#define GC9A01_CMD_IDLE_OFF 0x38 // Exit idle mode +#define GC9A01_CMD_IDLE_ON 0x39 // Enter idle mode +#define GC9A01_SET_PIX_FMT 0x3A // Set pixel format +#define GC9A01_SET_MEM_CONT 0x3C // Set memory continue +#define GC9A01_SET_TEAR_SCANLINE 0x44 // Set tearing scanline +#define GC9A01_GET_TEAR_SCANLINE 0x45 // Get tearing scanline +#define GC9A01_SET_BRIGHTNESS 0x51 // Set brightness +#define GC9A01_SET_DISPLAY_CTL 0x53 // Set display ctl +#define GC9A01_GET_ID1 0xDA // Get ID1 +#define GC9A01_GET_ID2 0xDB // Get ID2 +#define GC9A01_GET_ID3 0xDC // Get ID3 + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Level 2 command opcodes + +#define GC9A01_SET_RGB_IF_SIG_CTL 0xB0 // RGB IF signal ctl +#define GC9A01_SET_BLANKING_PORCH_CTL 0xB5 // Set blanking porch ctl +#define GC9A01_SET_FUNCTION_CTL 0xB6 // Set function ctl +#define GC9A01_SET_TEARING_EFFECT 0xBA // Set backlight ctl 3 +#define GC9A01_SET_IF_CTL 0xF6 // Set interface control + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Level 3 command opcodes + +#define GC9A01_SET_FRAME_RATE 0xE8 // Set frame rate +#define GC9A01_SET_SPI_2DATA 0xE9 // Set frame rate +#define GC9A01_SET_POWER_CTL_1 0xC1 // Set power ctl 1 +#define GC9A01_SET_POWER_CTL_2 0xC3 // Set power ctl 2 +#define GC9A01_SET_POWER_CTL_3 0xC4 // Set power ctl 3 +#define GC9A01_SET_POWER_CTL_4 0xC9 // Set power ctl 4 +#define GC9A01_SET_POWER_CTL_7 0xA7 // Set power ctl 7 +#define GC9A01_SET_INTER_REG_ENABLE1 0xFE // Enable Inter Register 1 +#define GC9A01_SET_INTER_REG_ENABLE2 0xEF // Enable Inter Register 2 +#define GC9A01_SET_GAMMA1 0xF0 // +#define GC9A01_SET_GAMMA2 0xF1 +#define GC9A01_SET_GAMMA3 0xF2 +#define GC9A01_SET_GAMMA4 0xF3 + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// MADCTL Flags +#define GC9A01_MADCTL_MY 0b10000000 +#define GC9A01_MADCTL_MX 0b01000000 +#define GC9A01_MADCTL_MV 0b00100000 +#define GC9A01_MADCTL_ML 0b00010000 +#define GC9A01_MADCTL_RGB 0b00000000 +#define GC9A01_MADCTL_BGR 0b00001000 +#define GC9A01_MADCTL_MH 0b00000100 diff --git a/drivers/painter/ili9xxx/qp_ili9163.c b/drivers/painter/ili9xxx/qp_ili9163.c new file mode 100644 index 000000000000..beaac0fbb528 --- /dev/null +++ b/drivers/painter/ili9xxx/qp_ili9163.c @@ -0,0 +1,121 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_ili9163.h" +#include "qp_ili9xxx_opcodes.h" +#include "qp_tft_panel.h" + +#ifdef QUANTUM_PAINTER_ILI9163_SPI_ENABLE +# include "qp_comms_spi.h" +#endif // QUANTUM_PAINTER_ILI9163_SPI_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Common + +// Driver storage +tft_panel_dc_reset_painter_device_t ili9163_drivers[ILI9163_NUM_DEVICES] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Initialization + +bool qp_ili9163_init(painter_device_t device, painter_rotation_t rotation) { + // clang-format off + const uint8_t ili9163_init_sequence[] = { + // Command, Delay, N, Data[N] + ILI9XXX_CMD_RESET, 120, 0, + ILI9XXX_CMD_SLEEP_OFF, 5, 0, + ILI9XXX_SET_PIX_FMT, 0, 1, 0x55, + ILI9XXX_SET_GAMMA, 0, 1, 0x04, + ILI9XXX_ENABLE_3_GAMMA, 0, 1, 0x01, + ILI9XXX_SET_FUNCTION_CTL, 0, 2, 0xFF, 0x06, + ILI9XXX_SET_PGAMMA, 0, 15, 0x36, 0x29, 0x12, 0x22, 0x1C, 0x15, 0x42, 0xB7, 0x2F, 0x13, 0x12, 0x0A, 0x11, 0x0B, 0x06, + ILI9XXX_SET_NGAMMA, 0, 15, 0x09, 0x16, 0x2D, 0x0D, 0x13, 0x15, 0x40, 0x48, 0x53, 0x0C, 0x1D, 0x25, 0x2E, 0x34, 0x39, + ILI9XXX_SET_FRAME_CTL_NORMAL, 0, 2, 0x08, 0x02, + ILI9XXX_SET_POWER_CTL_1, 0, 2, 0x0A, 0x02, + ILI9XXX_SET_POWER_CTL_2, 0, 1, 0x02, + ILI9XXX_SET_VCOM_CTL_1, 0, 2, 0x50, 0x63, + ILI9XXX_SET_VCOM_CTL_2, 0, 1, 0x00, + ILI9XXX_CMD_PARTIAL_OFF, 0, 0, + ILI9XXX_CMD_DISPLAY_ON, 20, 0 + }; + // clang-format on + qp_comms_bulk_command_sequence(device, ili9163_init_sequence, sizeof(ili9163_init_sequence)); + + // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) + const uint8_t madctl[] = { + [QP_ROTATION_0] = ILI9XXX_MADCTL_BGR, + [QP_ROTATION_90] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MX | ILI9XXX_MADCTL_MV, + [QP_ROTATION_180] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MX | ILI9XXX_MADCTL_MY, + [QP_ROTATION_270] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MV | ILI9XXX_MADCTL_MY, + }; + qp_comms_command_databyte(device, ILI9XXX_SET_MEM_ACS_CTL, madctl[rotation]); + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver vtable + +const struct tft_panel_dc_reset_painter_driver_vtable_t ili9163_driver_vtable = { + .base = + { + .init = qp_ili9163_init, + .power = qp_tft_panel_power, + .clear = qp_tft_panel_clear, + .flush = qp_tft_panel_flush, + .pixdata = qp_tft_panel_pixdata, + .viewport = qp_tft_panel_viewport, + .palette_convert = qp_tft_panel_palette_convert, + .append_pixels = qp_tft_panel_append_pixels, + }, + .rgb888_to_native16bit = qp_rgb888_to_rgb565_swapped, + .num_window_bytes = 2, + .swap_window_coords = false, + .opcodes = + { + .display_on = ILI9XXX_CMD_DISPLAY_ON, + .display_off = ILI9XXX_CMD_DISPLAY_OFF, + .set_column_address = ILI9XXX_SET_COL_ADDR, + .set_row_address = ILI9XXX_SET_PAGE_ADDR, + .enable_writes = ILI9XXX_SET_MEM, + }, +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// SPI + +#ifdef QUANTUM_PAINTER_ILI9163_SPI_ENABLE + +// Factory function for creating a handle to the ILI9163 device +painter_device_t qp_ili9163_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) { + for (uint32_t i = 0; i < ILI9163_NUM_DEVICES; ++i) { + tft_panel_dc_reset_painter_device_t *driver = &ili9163_drivers[i]; + if (!driver->base.driver_vtable) { + driver->base.driver_vtable = (const struct painter_driver_vtable_t *)&ili9163_driver_vtable; + driver->base.comms_vtable = (const struct painter_comms_vtable_t *)&spi_comms_with_dc_vtable; + driver->base.panel_width = panel_width; + driver->base.panel_height = panel_height; + driver->base.rotation = QP_ROTATION_0; + driver->base.offset_x = 0; + driver->base.offset_y = 0; + driver->base.native_bits_per_pixel = 16; // RGB565 + + // SPI and other pin configuration + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + return (painter_device_t)driver; + } + } + return NULL; +} + +#endif // QUANTUM_PAINTER_ILI9163_SPI_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/ili9xxx/qp_ili9163.h b/drivers/painter/ili9xxx/qp_ili9163.h new file mode 100644 index 000000000000..88d23629a92a --- /dev/null +++ b/drivers/painter/ili9xxx/qp_ili9163.h @@ -0,0 +1,37 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "gpio.h" +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter ILI9163 configurables (add to your keyboard's config.h) + +#ifndef ILI9163_NUM_DEVICES +/** + * @def This controls the maximum number of ILI9163 devices that Quantum Painter can communicate with at any one time. + * Increasing this number allows for multiple displays to be used. + */ +# define ILI9163_NUM_DEVICES 1 +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter ILI9163 device factories + +#ifdef QUANTUM_PAINTER_ILI9163_SPI_ENABLE +/** + * Factory method for an ILI9163 SPI LCD device. + * + * @param panel_width[in] the width of the display panel + * @param panel_height[in] the height of the display panel + * @param chip_select_pin[in] the GPIO pin used for SPI chip select + * @param dc_pin[in] the GPIO pin used for D/C control + * @param reset_pin[in] the GPIO pin used for RST + * @param spi_divisor[in] the SPI divisor to use when communicating with the display + * @param spi_mode[in] the SPI mode to use when communicating with the display + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_ili9163_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +#endif // QUANTUM_PAINTER_ILI9163_SPI_ENABLE diff --git a/drivers/painter/ili9xxx/qp_ili9341.c b/drivers/painter/ili9xxx/qp_ili9341.c new file mode 100644 index 000000000000..1f41dcfc0bfb --- /dev/null +++ b/drivers/painter/ili9xxx/qp_ili9341.c @@ -0,0 +1,128 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_ili9341.h" +#include "qp_ili9xxx_opcodes.h" +#include "qp_tft_panel.h" + +#ifdef QUANTUM_PAINTER_ILI9341_SPI_ENABLE +# include +#endif // QUANTUM_PAINTER_ILI9341_SPI_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Common + +// Driver storage +tft_panel_dc_reset_painter_device_t ili9341_drivers[ILI9341_NUM_DEVICES] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Initialization + +bool qp_ili9341_init(painter_device_t device, painter_rotation_t rotation) { + // clang-format off + const uint8_t ili9341_init_sequence[] = { + // Command, Delay, N, Data[N] + ILI9XXX_CMD_RESET, 120, 0, + ILI9XXX_CMD_SLEEP_OFF, 5, 0, + ILI9XXX_POWER_CTL_A, 0, 5, 0x39, 0x2C, 0x00, 0x34, 0x02, + ILI9XXX_POWER_CTL_B, 0, 3, 0x00, 0xD9, 0x30, + ILI9XXX_POWER_ON_SEQ_CTL, 0, 4, 0x64, 0x03, 0x12, 0x81, + ILI9XXX_SET_PUMP_RATIO_CTL, 0, 1, 0x20, + ILI9XXX_SET_POWER_CTL_1, 0, 1, 0x26, + ILI9XXX_SET_POWER_CTL_2, 0, 1, 0x11, + ILI9XXX_SET_VCOM_CTL_1, 0, 2, 0x35, 0x3E, + ILI9XXX_SET_VCOM_CTL_2, 0, 1, 0xBE, + ILI9XXX_DRV_TIMING_CTL_A, 0, 3, 0x85, 0x10, 0x7A, + ILI9XXX_DRV_TIMING_CTL_B, 0, 2, 0x00, 0x00, + ILI9XXX_SET_BRIGHTNESS, 0, 1, 0xFF, + ILI9XXX_ENABLE_3_GAMMA, 0, 1, 0x00, + ILI9XXX_SET_GAMMA, 0, 1, 0x01, + ILI9XXX_SET_PGAMMA, 0, 15, 0x0F, 0x29, 0x24, 0x0C, 0x0E, 0x09, 0x4E, 0x78, 0x3C, 0x09, 0x13, 0x05, 0x17, 0x11, 0x00, + ILI9XXX_SET_NGAMMA, 0, 15, 0x00, 0x16, 0x1B, 0x04, 0x11, 0x07, 0x31, 0x33, 0x42, 0x05, 0x0C, 0x0A, 0x28, 0x2F, 0x0F, + ILI9XXX_SET_PIX_FMT, 0, 1, 0x05, + ILI9XXX_SET_FRAME_CTL_NORMAL, 0, 2, 0x00, 0x1B, + ILI9XXX_SET_FUNCTION_CTL, 0, 2, 0x0A, 0xA2, + ILI9XXX_CMD_PARTIAL_OFF, 0, 0, + ILI9XXX_CMD_DISPLAY_ON, 20, 0 + }; + // clang-format on + qp_comms_bulk_command_sequence(device, ili9341_init_sequence, sizeof(ili9341_init_sequence)); + + // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) + const uint8_t madctl[] = { + [QP_ROTATION_0] = ILI9XXX_MADCTL_BGR, + [QP_ROTATION_90] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MX | ILI9XXX_MADCTL_MV, + [QP_ROTATION_180] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MX | ILI9XXX_MADCTL_MY, + [QP_ROTATION_270] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MV | ILI9XXX_MADCTL_MY, + }; + qp_comms_command_databyte(device, ILI9XXX_SET_MEM_ACS_CTL, madctl[rotation]); + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver vtable + +const struct tft_panel_dc_reset_painter_driver_vtable_t ili9341_driver_vtable = { + .base = + { + .init = qp_ili9341_init, + .power = qp_tft_panel_power, + .clear = qp_tft_panel_clear, + .flush = qp_tft_panel_flush, + .pixdata = qp_tft_panel_pixdata, + .viewport = qp_tft_panel_viewport, + .palette_convert = qp_tft_panel_palette_convert, + .append_pixels = qp_tft_panel_append_pixels, + }, + .rgb888_to_native16bit = qp_rgb888_to_rgb565_swapped, + .num_window_bytes = 2, + .swap_window_coords = false, + .opcodes = + { + .display_on = ILI9XXX_CMD_DISPLAY_ON, + .display_off = ILI9XXX_CMD_DISPLAY_OFF, + .set_column_address = ILI9XXX_SET_COL_ADDR, + .set_row_address = ILI9XXX_SET_PAGE_ADDR, + .enable_writes = ILI9XXX_SET_MEM, + }, +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// SPI + +#ifdef QUANTUM_PAINTER_ILI9341_SPI_ENABLE + +// Factory function for creating a handle to the ILI9341 device +painter_device_t qp_ili9341_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) { + for (uint32_t i = 0; i < ILI9341_NUM_DEVICES; ++i) { + tft_panel_dc_reset_painter_device_t *driver = &ili9341_drivers[i]; + if (!driver->base.driver_vtable) { + driver->base.driver_vtable = (const struct painter_driver_vtable_t *)&ili9341_driver_vtable; + driver->base.comms_vtable = (const struct painter_comms_vtable_t *)&spi_comms_with_dc_vtable; + driver->base.native_bits_per_pixel = 16; // RGB565 + driver->base.panel_width = panel_width; + driver->base.panel_height = panel_height; + driver->base.rotation = QP_ROTATION_0; + driver->base.offset_x = 0; + driver->base.offset_y = 0; + + // SPI and other pin configuration + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + return (painter_device_t)driver; + } + } + return NULL; +} + +#endif // QUANTUM_PAINTER_ILI9341_SPI_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/ili9xxx/qp_ili9341.h b/drivers/painter/ili9xxx/qp_ili9341.h new file mode 100644 index 000000000000..28b0152a84cb --- /dev/null +++ b/drivers/painter/ili9xxx/qp_ili9341.h @@ -0,0 +1,37 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "gpio.h" +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter ILI9341 configurables (add to your keyboard's config.h) + +#ifndef ILI9341_NUM_DEVICES +/** + * @def This controls the maximum number of ILI9341 devices that Quantum Painter can communicate with at any one time. + * Increasing this number allows for multiple displays to be used. + */ +# define ILI9341_NUM_DEVICES 1 +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter ILI9341 device factories + +#ifdef QUANTUM_PAINTER_ILI9341_SPI_ENABLE +/** + * Factory method for an ILI9341 SPI LCD device. + * + * @param panel_width[in] the width of the display panel + * @param panel_height[in] the height of the display panel + * @param chip_select_pin[in] the GPIO pin used for SPI chip select + * @param dc_pin[in] the GPIO pin used for D/C control + * @param reset_pin[in] the GPIO pin used for RST + * @param spi_divisor[in] the SPI divisor to use when communicating with the display + * @param spi_mode[in] the SPI mode to use when communicating with the display + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_ili9341_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +#endif // QUANTUM_PAINTER_ILI9341_SPI_ENABLE diff --git a/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h b/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h new file mode 100644 index 000000000000..1fa395cb8989 --- /dev/null +++ b/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h @@ -0,0 +1,100 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter ILI9xxx command opcodes +#define ILI9XXX_CMD_NOP 0x00 // No operation +#define ILI9XXX_CMD_RESET 0x01 // Software reset +#define ILI9XXX_GET_ID_INFO 0x04 // Get ID information +#define ILI9XXX_GET_STATUS 0x09 // Get status +#define ILI9XXX_GET_PWR_MODE 0x0A // Get power mode +#define ILI9XXX_GET_MADCTL 0x0B // Get MADCTL +#define ILI9XXX_GET_PIX_FMT 0x0C // Get pixel format +#define ILI9XXX_GET_IMG_FMT 0x0D // Get image format +#define ILI9XXX_GET_SIG_MODE 0x0E // Get signal mode +#define ILI9XXX_GET_SELF_DIAG 0x0F // Get self-diagnostics +#define ILI9XXX_CMD_SLEEP_ON 0x10 // Enter sleep mode +#define ILI9XXX_CMD_SLEEP_OFF 0x11 // Exist sleep mode +#define ILI9XXX_CMD_PARTIAL_ON 0x12 // Enter partial mode +#define ILI9XXX_CMD_PARTIAL_OFF 0x13 // Exit partial mode +#define ILI9XXX_CMD_INVERT_ON 0x20 // Enter inverted mode +#define ILI9XXX_CMD_INVERT_OFF 0x21 // Exit inverted mode +#define ILI9XXX_SET_GAMMA 0x26 // Set gamma params +#define ILI9XXX_CMD_DISPLAY_OFF 0x28 // Disable display +#define ILI9XXX_CMD_DISPLAY_ON 0x29 // Enable display +#define ILI9XXX_SET_COL_ADDR 0x2A // Set column address +#define ILI9XXX_SET_PAGE_ADDR 0x2B // Set page address +#define ILI9XXX_SET_MEM 0x2C // Set memory +#define ILI9XXX_SET_COLOR 0x2D // Set color +#define ILI9XXX_GET_MEM 0x2E // Get memory +#define ILI9XXX_SET_PARTIAL_AREA 0x30 // Set partial area +#define ILI9XXX_SET_VSCROLL 0x33 // Set vertical scroll def +#define ILI9XXX_CMD_TEARING_ON 0x34 // Tearing line enabled +#define ILI9XXX_CMD_TEARING_OFF 0x35 // Tearing line disabled +#define ILI9XXX_SET_MEM_ACS_CTL 0x36 // Set mem access ctl +#define ILI9XXX_SET_VSCROLL_ADDR 0x37 // Set vscroll start addr +#define ILI9XXX_CMD_IDLE_OFF 0x38 // Exit idle mode +#define ILI9XXX_CMD_IDLE_ON 0x39 // Enter idle mode +#define ILI9XXX_SET_PIX_FMT 0x3A // Set pixel format +#define ILI9XXX_SET_MEM_CONT 0x3C // Set memory continue +#define ILI9XXX_GET_MEM_CONT 0x3E // Get memory continue +#define ILI9XXX_SET_TEAR_SCANLINE 0x44 // Set tearing scanline +#define ILI9XXX_GET_TEAR_SCANLINE 0x45 // Get tearing scanline +#define ILI9XXX_SET_BRIGHTNESS 0x51 // Set brightness +#define ILI9XXX_GET_BRIGHTNESS 0x52 // Get brightness +#define ILI9XXX_SET_DISPLAY_CTL 0x53 // Set display ctl +#define ILI9XXX_GET_DISPLAY_CTL 0x54 // Get display ctl +#define ILI9XXX_SET_CABC 0x55 // Set CABC +#define ILI9XXX_GET_CABC 0x56 // Get CABC +#define ILI9XXX_SET_CABC_MIN 0x5E // Set CABC min +#define ILI9XXX_GET_CABC_MIN 0x5F // Set CABC max +#define ILI9XXX_GET_ID1 0xDA // Get ID1 +#define ILI9XXX_GET_ID2 0xDB // Get ID2 +#define ILI9XXX_GET_ID3 0xDC // Get ID3 +#define ILI9XXX_SET_RGB_IF_SIG_CTL 0xB0 // RGB IF signal ctl +#define ILI9XXX_SET_FRAME_CTL_NORMAL 0xB1 // Set frame ctl (normal) +#define ILI9XXX_SET_FRAME_CTL_IDLE 0xB2 // Set frame ctl (idle) +#define ILI9XXX_SET_FRAME_CTL_PARTIAL 0xB3 // Set frame ctl (partial) +#define ILI9XXX_SET_INVERSION_CTL 0xB4 // Set inversion ctl +#define ILI9XXX_SET_BLANKING_PORCH_CTL 0xB5 // Set blanking porch ctl +#define ILI9XXX_SET_FUNCTION_CTL 0xB6 // Set function ctl +#define ILI9XXX_SET_ENTRY_MODE 0xB7 // Set entry mode +#define ILI9XXX_SET_LIGHT_CTL_1 0xB8 // Set backlight ctl 1 +#define ILI9XXX_SET_LIGHT_CTL_2 0xB9 // Set backlight ctl 2 +#define ILI9XXX_SET_LIGHT_CTL_3 0xBA // Set backlight ctl 3 +#define ILI9XXX_SET_LIGHT_CTL_4 0xBB // Set backlight ctl 4 +#define ILI9XXX_SET_LIGHT_CTL_5 0xBC // Set backlight ctl 5 +#define ILI9XXX_SET_LIGHT_CTL_7 0xBE // Set backlight ctl 7 +#define ILI9XXX_SET_LIGHT_CTL_8 0xBF // Set backlight ctl 8 +#define ILI9XXX_SET_POWER_CTL_1 0xC0 // Set power ctl 1 +#define ILI9XXX_SET_POWER_CTL_2 0xC1 // Set power ctl 2 +#define ILI9XXX_SET_VCOM_CTL_1 0xC5 // Set VCOM ctl 1 +#define ILI9XXX_SET_VCOM_CTL_2 0xC7 // Set VCOM ctl 2 +#define ILI9XXX_POWER_CTL_A 0xCB // Set power control A +#define ILI9XXX_POWER_CTL_B 0xCF // Set power control B +#define ILI9XXX_DRV_TIMING_CTL_A 0xE8 // Set driver timing control A +#define ILI9XXX_DRV_TIMING_CTL_B 0xEA // Set driver timing control B +#define ILI9XXX_POWER_ON_SEQ_CTL 0xED // Set Power on sequence control +#define ILI9XXX_SET_NVMEM 0xD0 // Set NVMEM data +#define ILI9XXX_GET_NVMEM_KEY 0xD1 // Get NVMEM protect key +#define ILI9XXX_GET_NVMEM_STATUS 0xD2 // Get NVMEM status +#define ILI9XXX_GET_ID4 0xD3 // Get ID4 +#define ILI9XXX_SET_PGAMMA 0xE0 // Set positive gamma +#define ILI9XXX_SET_NGAMMA 0xE1 // Set negative gamma +#define ILI9XXX_SET_DGAMMA_CTL_1 0xE2 // Set digital gamma ctl 1 +#define ILI9XXX_SET_DGAMMA_CTL_2 0xE3 // Set digital gamma ctl 2 +#define ILI9XXX_ENABLE_3_GAMMA 0xF2 // Enable 3 gamma +#define ILI9XXX_SET_IF_CTL 0xF6 // Set interface control +#define ILI9XXX_SET_PUMP_RATIO_CTL 0xF7 // Set pump ratio control + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// MADCTL Flags +#define ILI9XXX_MADCTL_MY 0b10000000 +#define ILI9XXX_MADCTL_MX 0b01000000 +#define ILI9XXX_MADCTL_MV 0b00100000 +#define ILI9XXX_MADCTL_ML 0b00010000 +#define ILI9XXX_MADCTL_RGB 0b00000000 +#define ILI9XXX_MADCTL_BGR 0b00001000 +#define ILI9XXX_MADCTL_MH 0b00000100 diff --git a/drivers/painter/ssd1351/qp_ssd1351.c b/drivers/painter/ssd1351/qp_ssd1351.c new file mode 100644 index 000000000000..970e7e67f31b --- /dev/null +++ b/drivers/painter/ssd1351/qp_ssd1351.c @@ -0,0 +1,125 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_ssd1351.h" +#include "qp_ssd1351_opcodes.h" +#include "qp_tft_panel.h" + +#ifdef QUANTUM_PAINTER_SSD1351_SPI_ENABLE +# include "qp_comms_spi.h" +#endif // QUANTUM_PAINTER_SSD1351_SPI_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Common + +// Driver storage +tft_panel_dc_reset_painter_device_t ssd1351_drivers[SSD1351_NUM_DEVICES] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Initialization + +bool qp_ssd1351_init(painter_device_t device, painter_rotation_t rotation) { + tft_panel_dc_reset_painter_device_t *driver = (tft_panel_dc_reset_painter_device_t *)device; + + // clang-format off + const uint8_t ssd1351_init_sequence[] = { + // Command, Delay, N, Data[N] + SSD1351_COMMANDLOCK, 5, 1, 0x12, + SSD1351_COMMANDLOCK, 5, 1, 0xB1, + SSD1351_DISPLAYOFF, 5, 0, + SSD1351_CLOCKDIV, 5, 1, 0xF1, + SSD1351_MUXRATIO, 5, 1, 0x7F, + SSD1351_DISPLAYOFFSET, 5, 1, 0x00, + SSD1351_SETGPIO, 5, 1, 0x00, + SSD1351_FUNCTIONSELECT, 5, 1, 0x01, + SSD1351_PRECHARGE, 5, 1, 0x32, + SSD1351_VCOMH, 5, 1, 0x05, + SSD1351_NORMALDISPLAY, 5, 0, + SSD1351_CONTRASTABC, 5, 3, 0xC8, 0x80, 0xC8, + SSD1351_CONTRASTMASTER, 5, 1, 0x0F, + SSD1351_SETVSL, 5, 3, 0xA0, 0xB5, 0x55, + SSD1351_PRECHARGE2, 5, 1, 0x01, + SSD1351_DISPLAYON, 5, 0, + }; + // clang-format on + qp_comms_bulk_command_sequence(device, ssd1351_init_sequence, sizeof(ssd1351_init_sequence)); + + // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) + const uint8_t madctl[] = { + [QP_ROTATION_0] = SSD1351_MADCTL_BGR | SSD1351_MADCTL_MY, + [QP_ROTATION_90] = SSD1351_MADCTL_BGR | SSD1351_MADCTL_MX | SSD1351_MADCTL_MY | SSD1351_MADCTL_MV, + [QP_ROTATION_180] = SSD1351_MADCTL_BGR | SSD1351_MADCTL_MX, + [QP_ROTATION_270] = SSD1351_MADCTL_BGR | SSD1351_MADCTL_MV, + }; + qp_comms_command_databyte(device, SSD1351_SETREMAP, madctl[rotation]); + qp_comms_command_databyte(device, SSD1351_STARTLINE, (rotation == QP_ROTATION_0 || rotation == QP_ROTATION_90) ? driver->base.panel_height : 0); + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver vtable + +const struct tft_panel_dc_reset_painter_driver_vtable_t ssd1351_driver_vtable = { + .base = + { + .init = qp_ssd1351_init, + .power = qp_tft_panel_power, + .clear = qp_tft_panel_clear, + .flush = qp_tft_panel_flush, + .pixdata = qp_tft_panel_pixdata, + .viewport = qp_tft_panel_viewport, + .palette_convert = qp_tft_panel_palette_convert, + .append_pixels = qp_tft_panel_append_pixels, + }, + .rgb888_to_native16bit = qp_rgb888_to_rgb565_swapped, + .num_window_bytes = 1, + .swap_window_coords = true, + .opcodes = + { + .display_on = SSD1351_DISPLAYON, + .display_off = SSD1351_DISPLAYOFF, + .set_column_address = SSD1351_SETCOLUMN, + .set_row_address = SSD1351_SETROW, + .enable_writes = SSD1351_WRITERAM, + }, +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// SPI + +#ifdef QUANTUM_PAINTER_SSD1351_SPI_ENABLE + +// Factory function for creating a handle to the SSD1351 device +painter_device_t qp_ssd1351_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) { + for (uint32_t i = 0; i < SSD1351_NUM_DEVICES; ++i) { + tft_panel_dc_reset_painter_device_t *driver = &ssd1351_drivers[i]; + if (!driver->base.driver_vtable) { + driver->base.driver_vtable = (const struct painter_driver_vtable_t *)&ssd1351_driver_vtable; + driver->base.comms_vtable = (const struct painter_comms_vtable_t *)&spi_comms_with_dc_vtable; + driver->base.panel_width = panel_width; + driver->base.panel_height = panel_height; + driver->base.rotation = QP_ROTATION_0; + driver->base.offset_x = 0; + driver->base.offset_y = 0; + driver->base.native_bits_per_pixel = 16; // RGB565 + + // SPI and other pin configuration + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + return (painter_device_t)driver; + } + } + return NULL; +} + +#endif // QUANTUM_PAINTER_SSD1351_SPI_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/ssd1351/qp_ssd1351.h b/drivers/painter/ssd1351/qp_ssd1351.h new file mode 100644 index 000000000000..0df34f204d5c --- /dev/null +++ b/drivers/painter/ssd1351/qp_ssd1351.h @@ -0,0 +1,37 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "gpio.h" +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter SSD1351 configurables (add to your keyboard's config.h) + +#ifndef SSD1351_NUM_DEVICES +/** + * @def This controls the maximum number of SSD1351 devices that Quantum Painter can communicate with at any one time. + * Increasing this number allows for multiple displays to be used. + */ +# define SSD1351_NUM_DEVICES 1 +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter SSD1351 device factories + +#ifdef QUANTUM_PAINTER_SSD1351_SPI_ENABLE +/** + * Factory method for an SSD1351 SPI OLED device. + * + * @param panel_width[in] the width of the display panel + * @param panel_height[in] the height of the display panel + * @param chip_select_pin[in] the GPIO pin used for SPI chip select + * @param dc_pin[in] the GPIO pin used for D/C control + * @param reset_pin[in] the GPIO pin used for RST + * @param spi_divisor[in] the SPI divisor to use when communicating with the display + * @param spi_mode[in] the SPI mode to use when communicating with the display + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_ssd1351_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +#endif // QUANTUM_PAINTER_SSD1351_SPI_ENABLE diff --git a/drivers/painter/ssd1351/qp_ssd1351_opcodes.h b/drivers/painter/ssd1351/qp_ssd1351_opcodes.h new file mode 100644 index 000000000000..48ed2a3a7c2c --- /dev/null +++ b/drivers/painter/ssd1351/qp_ssd1351_opcodes.h @@ -0,0 +1,48 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter SSD1351 command opcodes + +// System function commands +#define SSD1351_SETCOLUMN 0x15 +#define SSD1351_SETROW 0x75 +#define SSD1351_WRITERAM 0x5C +#define SSD1351_READRAM 0x5D +#define SSD1351_SETREMAP 0xA0 +#define SSD1351_STARTLINE 0xA1 +#define SSD1351_DISPLAYOFFSET 0xA2 +#define SSD1351_DISPLAYALLOFF 0xA4 +#define SSD1351_DISPLAYALLON 0xA5 +#define SSD1351_NORMALDISPLAY 0xA6 +#define SSD1351_INVERTDISPLAY 0xA7 +#define SSD1351_FUNCTIONSELECT 0xAB +#define SSD1351_DISPLAYOFF 0xAE +#define SSD1351_DISPLAYON 0xAF +#define SSD1351_PRECHARGE 0xB1 +#define SSD1351_DISPLAYENHANCE 0xB2 +#define SSD1351_CLOCKDIV 0xB3 +#define SSD1351_SETVSL 0xB4 +#define SSD1351_SETGPIO 0xB5 +#define SSD1351_PRECHARGE2 0xB6 +#define SSD1351_SETGRAY 0xB8 +#define SSD1351_USELUT 0xB9 +#define SSD1351_PRECHARGELEVEL 0xBB +#define SSD1351_VCOMH 0xBE +#define SSD1351_CONTRASTABC 0xC1 +#define SSD1351_CONTRASTMASTER 0xC7 +#define SSD1351_MUXRATIO 0xCA +#define SSD1351_COMMANDLOCK 0xFD +#define SSD1351_HORIZSCROLL 0x96 +#define SSD1351_STOPSCROLL 0x9E +#define SSD1351_STARTSCROLL 0x9F + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// SETREMAP (MADCTL) Flags +#define SSD1351_MADCTL_MY 0b00010000 +#define SSD1351_MADCTL_MX 0b00000010 +#define SSD1351_MADCTL_MV 0b00000001 +#define SSD1351_MADCTL_RGB 0b01100000 +#define SSD1351_MADCTL_BGR 0b01100100 diff --git a/drivers/painter/st77xx/qp_st7789.c b/drivers/painter/st77xx/qp_st7789.c new file mode 100644 index 000000000000..d005ece050e9 --- /dev/null +++ b/drivers/painter/st77xx/qp_st7789.c @@ -0,0 +1,144 @@ +// Copyright 2021 Paul Cotter (@gr1mr3aver) +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_st7789.h" +#include "qp_st77xx_opcodes.h" +#include "qp_st7789_opcodes.h" +#include "qp_tft_panel.h" + +#ifdef QUANTUM_PAINTER_ST7789_SPI_ENABLE +# include "qp_comms_spi.h" +#endif // QUANTUM_PAINTER_ST7789_SPI_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Common + +// Driver storage +tft_panel_dc_reset_painter_device_t st7789_drivers[ST7789_NUM_DEVICES] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Automatic viewport offsets + +#ifndef ST7789_NO_AUTOMATIC_OFFSETS +static inline void st7789_automatic_viewport_offsets(painter_device_t device, painter_rotation_t rotation) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + + // clang-format off + const struct { + uint16_t offset_x; + uint16_t offset_y; + } rotation_offsets_240x240[] = { + [QP_ROTATION_0] = { .offset_x = 0, .offset_y = 0 }, + [QP_ROTATION_90] = { .offset_x = 0, .offset_y = 0 }, + [QP_ROTATION_180] = { .offset_x = 0, .offset_y = 80 }, + [QP_ROTATION_270] = { .offset_x = 80, .offset_y = 0 }, + }; + // clang-format on + + if (driver->panel_width == 240 && driver->panel_height == 240) { + driver->offset_x = rotation_offsets_240x240[rotation].offset_x; + driver->offset_y = rotation_offsets_240x240[rotation].offset_y; + } +} +#endif // ST7789_NO_AUTOMATIC_OFFSETS + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Initialization + +bool qp_st7789_init(painter_device_t device, painter_rotation_t rotation) { + // clang-format off + const uint8_t st7789_init_sequence[] = { + // Command, Delay, N, Data[N] + ST77XX_CMD_RESET, 120, 0, + ST77XX_CMD_SLEEP_OFF, 5, 0, + ST77XX_SET_PIX_FMT, 0, 1, 0x55, + ST77XX_CMD_INVERT_ON, 0, 0, + ST77XX_CMD_NORMAL_ON, 0, 0, + ST77XX_CMD_DISPLAY_ON, 20, 0 + }; + // clang-format on + qp_comms_bulk_command_sequence(device, st7789_init_sequence, sizeof(st7789_init_sequence)); + + // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) + const uint8_t madctl[] = { + [QP_ROTATION_0] = ST77XX_MADCTL_RGB, + [QP_ROTATION_90] = ST77XX_MADCTL_RGB | ST77XX_MADCTL_MX | ST77XX_MADCTL_MV, + [QP_ROTATION_180] = ST77XX_MADCTL_RGB | ST77XX_MADCTL_MX | ST77XX_MADCTL_MY, + [QP_ROTATION_270] = ST77XX_MADCTL_RGB | ST77XX_MADCTL_MV | ST77XX_MADCTL_MY, + }; + qp_comms_command_databyte(device, ST77XX_SET_MADCTL, madctl[rotation]); + +#ifndef ST7789_NO_AUTOMATIC_VIEWPORT_OFFSETS + st7789_automatic_viewport_offsets(device, rotation); +#endif // ST7789_NO_AUTOMATIC_VIEWPORT_OFFSETS + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver vtable + +const struct tft_panel_dc_reset_painter_driver_vtable_t st7789_driver_vtable = { + .base = + { + .init = qp_st7789_init, + .power = qp_tft_panel_power, + .clear = qp_tft_panel_clear, + .flush = qp_tft_panel_flush, + .pixdata = qp_tft_panel_pixdata, + .viewport = qp_tft_panel_viewport, + .palette_convert = qp_tft_panel_palette_convert, + .append_pixels = qp_tft_panel_append_pixels, + }, + .rgb888_to_native16bit = qp_rgb888_to_rgb565_swapped, + .num_window_bytes = 2, + .swap_window_coords = false, + .opcodes = + { + .display_on = ST77XX_CMD_DISPLAY_ON, + .display_off = ST77XX_CMD_DISPLAY_OFF, + .set_column_address = ST77XX_SET_COL_ADDR, + .set_row_address = ST77XX_SET_ROW_ADDR, + .enable_writes = ST77XX_SET_MEM, + }, +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// SPI + +#ifdef QUANTUM_PAINTER_ST7789_SPI_ENABLE + +// Factory function for creating a handle to the ST7789 device +painter_device_t qp_st7789_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) { + for (uint32_t i = 0; i < ST7789_NUM_DEVICES; ++i) { + tft_panel_dc_reset_painter_device_t *driver = &st7789_drivers[i]; + if (!driver->base.driver_vtable) { + driver->base.driver_vtable = (const struct painter_driver_vtable_t *)&st7789_driver_vtable; + driver->base.comms_vtable = (const struct painter_comms_vtable_t *)&spi_comms_with_dc_vtable; + driver->base.panel_width = panel_width; + driver->base.panel_height = panel_height; + driver->base.rotation = QP_ROTATION_0; + driver->base.offset_x = 0; + driver->base.offset_y = 0; + driver->base.native_bits_per_pixel = 16; // RGB565 + + // SPI and other pin configuration + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + return (painter_device_t)driver; + } + } + return NULL; +} + +#endif // QUANTUM_PAINTER_ST7789_SPI_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/st77xx/qp_st7789.h b/drivers/painter/st77xx/qp_st7789.h new file mode 100644 index 000000000000..ec61f5d70b7e --- /dev/null +++ b/drivers/painter/st77xx/qp_st7789.h @@ -0,0 +1,44 @@ +// Copyright 2021 Paul Cotter (@gr1mr3aver) +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "gpio.h" +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter ST7789 configurables (add to your keyboard's config.h) + +#ifndef ST7789_NUM_DEVICES +/** + * @def This controls the maximum number of ST7789 devices that Quantum Painter can communicate with at any one time. + * Increasing this number allows for multiple displays to be used. + */ +# define ST7789_NUM_DEVICES 1 +#endif + +// Additional configuration options to be copied to your keyboard's config.h (don't change here): + +// If you know exactly which offsets should be used on your panel with respect to selected rotation, then this config +// option allows you to save some flash space -- you'll need to invoke qp_set_viewport_offsets() instead from your keyboard. +// #define ST7789_NO_AUTOMATIC_VIEWPORT_OFFSETS + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter ST7789 device factories + +#ifdef QUANTUM_PAINTER_ST7789_SPI_ENABLE +/** + * Factory method for an ST7789 SPI LCD device. + * + * @param panel_width[in] the width of the display panel + * @param panel_height[in] the height of the display panel + * @param chip_select_pin[in] the GPIO pin used for SPI chip select + * @param dc_pin[in] the GPIO pin used for D/C control + * @param reset_pin[in] the GPIO pin used for RST + * @param spi_divisor[in] the SPI divisor to use when communicating with the display + * @param spi_mode[in] the SPI mode to use when communicating with the display + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_st7789_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +#endif // QUANTUM_PAINTER_ST7789_SPI_ENABLE diff --git a/drivers/painter/st77xx/qp_st7789_opcodes.h b/drivers/painter/st77xx/qp_st7789_opcodes.h new file mode 100644 index 000000000000..b5baba718469 --- /dev/null +++ b/drivers/painter/st77xx/qp_st7789_opcodes.h @@ -0,0 +1,64 @@ +// Copyright 2021 Paul Cotter (@gr1mr3aver) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter ST7789 additional command opcodes + +// System function commands +#define ST7789_GET_SELF_DIAG 0x0F // Get self-diagnostic result +#define ST7789_SET_VERT_SCRL 0x33 // Set vertical scroll definition +#define ST7789_SET_VERT_SCRL_ADDR 0x37 // SEt Vertical scroll start address +#define ST7789_SET_MEM_CONT 0x3C // Memory Write continue +#define ST7789_GET_MEM_CONT 0x3E // Memory Read continue +#define ST7789_SET_TEAR_LINE 0x44 // Set tear scanline +#define ST7789_GET_TEAR_LINE 0x45 // Get tear scanline +#define ST7789_SET_BRIGHTNESS 0x51 // Set display brightness +#define ST7789_GET_BRIGHTNESS 0x52 // Get display brightness +#define ST7789_SET_CTRL 0x53 // Set CTRL display +#define ST7789_GET_CTRL 0x54 // Get CTRL display value +#define ST7789_SET_CAB_COLOR 0x55 // Set content adaptive brightness control and color enhancement +#define ST7789_GET_CAB_COLOR 0x56 // Get content adaptive brightness control and color enhancement +#define ST7789_SET_CAB_BRIGHTNESS 0x5E // Set content adaptive minimum brightness +#define ST7789_GET_CAB_BRIGHTNESS 0x5F // Get content adaptive minimum brightness +#define ST7789_GET_ABC_SELF_DIAG 0x68 // Get Auto brightness control self diagnostics + +// Panel Function Commands +#define ST7789_SET_RAM_CTL 0xB0 // Set RAM control +#define ST7789_SET_RGB_CTL 0xB1 // Set RGB control +#define ST7789_SET_PORCH_CTL 0xB2 // Set Porch control +#define ST7789_SET_FRAME_RATE_CTL_1 0xB3 // Set frame rate control 1 +#define ST7789_SET_PARTIAL_CTL 0xB5 // Set Partial control +#define ST7789_SET_GATE_CTL 0xB7 // Set gate control +#define ST7789_SET_GATE_ON_TIMING 0xB8 // Set gate on timing adjustment +#define ST7789_SET_DIGITAL_GAMMA_ON 0xBA // Enable digital gamma +#define ST7789_SET_VCOM 0xBB // Set VCOM +#define ST7789_SET_POWER_SAVE 0xBC // Set power saving mode +#define ST7789_SET_DISP_OFF_POWER 0xBD // Set display off power saving +#define ST7789_SET_LCM_CTL 0xC0 // Set LCM control +#define ST7789_SET_IDS 0xC1 // Set IDs +#define ST7789_SET_VDV_VRH_ON 0xC2 // Set VDV and VRH command enable +#define ST7789_SET_VRH 0xC3 // Set VRH +#define ST7789_SET_VDV 0xC4 // Set VDV +#define ST7789_SET_VCOM_OFFSET 0xC5 // Set VCOM offset ctl +#define ST7789_SET_FRAME_RATE_CTL_2 0xC6 // Set frame rate control 2 +#define ST7789_SET_CABC_CTL 0xC7 // Set CABC Control +#define ST7789_GET_REG_1 0xC8 // Get register value selection1 +#define ST7789_GET_REG_2 0xCA // Get register value selection2 +#define ST7789_SET_PWM_FREQ 0xCC // Set PWM frequency +#define ST7789_SET_POWER_CTL_1 0xD0 // Set power ctl 1 +#define ST7789_SET_VAP_VAN_ON 0xD2 // Enable VAP/VAN signal output +#define ST7789_SET_CMD2_ENABLE 0xDF // Enable command 2 +#define ST7789_SET_PGAMMA 0xE0 // Set positive gamma +#define ST7789_SET_NGAMMA 0xE1 // Set negative gamma +#define ST7789_SET_DIGITAL_GAMMA_RED 0xE2 // Set digital gamma lookup table for red +#define ST7789_SET_DIGITAL_GAMMA_BLUE 0xE3 // Get digital gamma lookup table for blue +#define ST7789_SET_GATE_CTL_2 0xE4 // Set gate control 2 +#define ST7789_SET_SPI2_ENABLE 0xE7 // Enable SPI2 +#define ST7789_SET_POWER_CTL_2 0xE8 // Set power ctl 2 +#define ST7789_SET_EQ_TIME_CTL 0xE9 // Set equalize time control +#define ST7789_SET_PROG_CTL 0xEC // Set program control +#define ST7789_SET_PROG_MODE_ENABLE 0xFA // Set program mode enable +#define ST7789_SET_NVMEM 0xFC // Set NVMEM data +#define ST7789_SET_PROG_ACTION 0xFE // Set program action diff --git a/drivers/painter/st77xx/qp_st77xx_opcodes.h b/drivers/painter/st77xx/qp_st77xx_opcodes.h new file mode 100644 index 000000000000..131378d8328e --- /dev/null +++ b/drivers/painter/st77xx/qp_st77xx_opcodes.h @@ -0,0 +1,51 @@ +// Copyright 2021 Paul Cotter (@gr1mr3aver) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter ST77XX command opcodes + +// System function commands +#define ST77XX_CMD_NOP 0x00 // No operation +#define ST77XX_CMD_RESET 0x01 // Software reset +#define ST77XX_GET_ID_INFO 0x04 // Get ID information +#define ST77XX_GET_STATUS 0x09 // Get status +#define ST77XX_GET_PWR_MODE 0x0A // Get power mode +#define ST77XX_GET_MADCTL 0x0B // Get mem access ctl +#define ST77XX_GET_PIX_FMT 0x0C // Get pixel format +#define ST77XX_GET_IMG_FMT 0x0D // Get image format +#define ST77XX_GET_SIG_MODE 0x0E // Get signal mode +#define ST77XX_CMD_SLEEP_ON 0x10 // Enter sleep mode +#define ST77XX_CMD_SLEEP_OFF 0x11 // Exist sleep mode +#define ST77XX_CMD_PARTIAL_ON 0x12 // Enter partial mode +#define ST77XX_CMD_NORMAL_ON 0x13 // Exit partial mode +#define ST77XX_CMD_INVERT_OFF 0x20 // Exit inverted mode +#define ST77XX_CMD_INVERT_ON 0x21 // Enter inverted mode +#define ST77XX_SET_GAMMA 0x26 // Set gamma params +#define ST77XX_CMD_DISPLAY_OFF 0x28 // Disable display +#define ST77XX_CMD_DISPLAY_ON 0x29 // Enable display +#define ST77XX_SET_COL_ADDR 0x2A // Set column address +#define ST77XX_SET_ROW_ADDR 0x2B // Set page (row) address +#define ST77XX_SET_MEM 0x2C // Set memory +#define ST77XX_GET_MEM 0x2E // Get memory +#define ST77XX_SET_PARTIAL_AREA 0x30 // Set partial area +#define ST77XX_CMD_TEARING_OFF 0x34 // Tearing line disabled +#define ST77XX_CMD_TEARING_ON 0x35 // Tearing line enabled +#define ST77XX_SET_MADCTL 0x36 // Set mem access ctl +#define ST77XX_CMD_IDLE_OFF 0x38 // Exit idle mode +#define ST77XX_CMD_IDLE_ON 0x39 // Enter idle mode +#define ST77XX_SET_PIX_FMT 0x3A // Set pixel format +#define ST77XX_GET_ID1 0xDA // Get ID1 +#define ST77XX_GET_ID2 0xDB // Get ID2 +#define ST77XX_GET_ID3 0xDC // Get ID3 + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// MADCTL Flags +#define ST77XX_MADCTL_MY 0b10000000 +#define ST77XX_MADCTL_MX 0b01000000 +#define ST77XX_MADCTL_MV 0b00100000 +#define ST77XX_MADCTL_ML 0b00010000 +#define ST77XX_MADCTL_RGB 0b00000000 +#define ST77XX_MADCTL_BGR 0b00001000 +#define ST77XX_MADCTL_MH 0b00000100 diff --git a/drivers/painter/tft_panel/qp_tft_panel.c b/drivers/painter/tft_panel/qp_tft_panel.c new file mode 100644 index 000000000000..4d636c950966 --- /dev/null +++ b/drivers/painter/tft_panel/qp_tft_panel.c @@ -0,0 +1,130 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "color.h" +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_draw.h" +#include "qp_tft_panel.h" + +#define BYTE_SWAP(x) (((((uint16_t)(x)) >> 8) & 0x00FF) | ((((uint16_t)(x)) << 8) & 0xFF00)) + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Native pixel format conversion + +uint16_t qp_rgb888_to_rgb565(uint8_t r, uint8_t g, uint8_t b) { + uint16_t rgb565 = (((uint16_t)r) >> 3) << 11 | (((uint16_t)g) >> 2) << 5 | (((uint16_t)b) >> 3); + return rgb565; +} + +uint16_t qp_rgb888_to_rgb565_swapped(uint8_t r, uint8_t g, uint8_t b) { + uint16_t rgb565 = (((uint16_t)r) >> 3) << 11 | (((uint16_t)g) >> 2) << 5 | (((uint16_t)b) >> 3); + return BYTE_SWAP(rgb565); +} + +uint16_t qp_rgb888_to_bgr565(uint8_t r, uint8_t g, uint8_t b) { + uint16_t bgr565 = (((uint16_t)b) >> 3) << 11 | (((uint16_t)g) >> 2) << 5 | (((uint16_t)r) >> 3); + return bgr565; +} + +uint16_t qp_rgb888_to_bgr565_swapped(uint8_t r, uint8_t g, uint8_t b) { + uint16_t bgr565 = (((uint16_t)b) >> 3) << 11 | (((uint16_t)g) >> 2) << 5 | (((uint16_t)r) >> 3); + return BYTE_SWAP(bgr565); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter API implementations + +// Power control +bool qp_tft_panel_power(painter_device_t device, bool power_on) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct tft_panel_dc_reset_painter_driver_vtable_t *vtable = (struct tft_panel_dc_reset_painter_driver_vtable_t *)driver->driver_vtable; + qp_comms_command(device, power_on ? vtable->opcodes.display_on : vtable->opcodes.display_off); + return true; +} + +// Screen clear +bool qp_tft_panel_clear(painter_device_t device) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + driver->driver_vtable->init(device, driver->rotation); // Re-init the LCD + return true; +} + +// Screen flush +bool qp_tft_panel_flush(painter_device_t device) { + // No-op, as there's no framebuffer in RAM for this device. + return true; +} + +// Viewport to draw to +bool qp_tft_panel_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct tft_panel_dc_reset_painter_driver_vtable_t *vtable = (struct tft_panel_dc_reset_painter_driver_vtable_t *)driver->driver_vtable; + + // Fix up the drawing location if required + left += driver->offset_x; + right += driver->offset_x; + top += driver->offset_y; + bottom += driver->offset_y; + + // Check if we need to manually swap the window coordinates based on whether or not we're in a sideways rotation + if (vtable->swap_window_coords && (driver->rotation == QP_ROTATION_90 || driver->rotation == QP_ROTATION_270)) { + uint16_t temp; + + temp = left; + left = top; + top = temp; + + temp = right; + right = bottom; + bottom = temp; + } + + if (vtable->num_window_bytes == 1) { + // Set up the x-window + uint8_t xbuf[2] = {left & 0xFF, right & 0xFF}; + qp_comms_command_databuf(device, vtable->opcodes.set_column_address, xbuf, sizeof(xbuf)); + + // Set up the y-window + uint8_t ybuf[2] = {top & 0xFF, bottom & 0xFF}; + qp_comms_command_databuf(device, vtable->opcodes.set_row_address, ybuf, sizeof(ybuf)); + } else if (vtable->num_window_bytes == 2) { + // Set up the x-window + uint8_t xbuf[4] = {left >> 8, left & 0xFF, right >> 8, right & 0xFF}; + qp_comms_command_databuf(device, vtable->opcodes.set_column_address, xbuf, sizeof(xbuf)); + + // Set up the y-window + uint8_t ybuf[4] = {top >> 8, top & 0xFF, bottom >> 8, bottom & 0xFF}; + qp_comms_command_databuf(device, vtable->opcodes.set_row_address, ybuf, sizeof(ybuf)); + } + + // Lock in the window + qp_comms_command(device, vtable->opcodes.enable_writes); + return true; +} + +// Stream pixel data to the current write position in GRAM +bool qp_tft_panel_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { + qp_comms_send(device, pixel_data, native_pixel_count * sizeof(uint16_t)); + return true; +} + +// Convert supplied palette entries into their native equivalents +bool qp_tft_panel_palette_convert(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct tft_panel_dc_reset_painter_driver_vtable_t *vtable = (struct tft_panel_dc_reset_painter_driver_vtable_t *)driver->driver_vtable; + for (int16_t i = 0; i < palette_size; ++i) { + RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); + palette[i].rgb565 = vtable->rgb888_to_native16bit(rgb.r, rgb.g, rgb.b); + } + return true; +} + +// Append pixels to the target location, keyed by the pixel index +bool qp_tft_panel_append_pixels(painter_device_t device, uint8_t *target_buffer, qp_pixel_t *palette, uint32_t pixel_offset, uint32_t pixel_count, uint8_t *palette_indices) { + uint16_t *buf = (uint16_t *)target_buffer; + for (uint32_t i = 0; i < pixel_count; ++i) { + buf[pixel_offset + i] = palette[palette_indices[i]].rgb565; + } + return true; +} diff --git a/drivers/painter/tft_panel/qp_tft_panel.h b/drivers/painter/tft_panel/qp_tft_panel.h new file mode 100644 index 000000000000..6eddfc503d22 --- /dev/null +++ b/drivers/painter/tft_panel/qp_tft_panel.h @@ -0,0 +1,67 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "color.h" +#include "qp_internal.h" + +#ifdef QUANTUM_PAINTER_SPI_ENABLE +# include "qp_comms_spi.h" +#endif // QUANTUM_PAINTER_SPI_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Common TFT panel implementation using D/C, and RST pins. + +typedef uint16_t (*rgb888_to_native_uint16_t)(uint8_t r, uint8_t g, uint8_t b); + +// Driver vtable with extras +struct tft_panel_dc_reset_painter_driver_vtable_t { + struct painter_driver_vtable_t base; // must be first, so it can be cast to/from the painter_driver_vtable_t* type + + // Conversion function for palette entries + rgb888_to_native_uint16_t rgb888_to_native16bit; + + // Number of bytes for transmitting x/y coordinates + uint8_t num_window_bytes; + + // Whether or not the x/y coords should be swapped on 90/270 rotation + bool swap_window_coords; + + // Opcodes for normal display operation + struct { + uint8_t display_on; + uint8_t display_off; + uint8_t set_column_address; + uint8_t set_row_address; + uint8_t enable_writes; + } opcodes; +}; + +// Device definition +typedef struct tft_panel_dc_reset_painter_device_t { + struct painter_driver_t base; // must be first, so it can be cast to/from the painter_device_t* type + + union { +#ifdef QUANTUM_PAINTER_SPI_ENABLE + // SPI-based configurables + struct qp_comms_spi_dc_reset_config_t spi_dc_reset_config; +#endif // QUANTUM_PAINTER_SPI_ENABLE + + // TODO: I2C/parallel etc. + }; +} tft_panel_dc_reset_painter_device_t; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Forward declarations for injecting into concrete driver vtables + +bool qp_tft_panel_power(painter_device_t device, bool power_on); +bool qp_tft_panel_clear(painter_device_t device); +bool qp_tft_panel_flush(painter_device_t device); +bool qp_tft_panel_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom); +bool qp_tft_panel_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count); +bool qp_tft_panel_palette_convert(painter_device_t device, int16_t palette_size, qp_pixel_t *palette); +bool qp_tft_panel_append_pixels(painter_device_t device, uint8_t *target_buffer, qp_pixel_t *palette, uint32_t pixel_offset, uint32_t pixel_count, uint8_t *palette_indices); + +uint16_t qp_rgb888_to_rgb565(uint8_t r, uint8_t g, uint8_t b); +uint16_t qp_rgb888_to_rgb565_swapped(uint8_t r, uint8_t g, uint8_t b); +uint16_t qp_rgb888_to_bgr565(uint8_t r, uint8_t g, uint8_t b); +uint16_t qp_rgb888_to_bgr565_swapped(uint8_t r, uint8_t g, uint8_t b); diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index 5f65e677e502..85baa238a8d6 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py @@ -16,7 +16,8 @@ # A mapping of package name to importable name 'pep8-naming': 'pep8ext_naming', 'pyusb': 'usb.core', - 'qmk-dotty-dict': 'dotty_dict' + 'qmk-dotty-dict': 'dotty_dict', + 'pillow': 'PIL' } safe_commands = [ @@ -67,6 +68,7 @@ 'qmk.cli.multibuild', 'qmk.cli.new.keyboard', 'qmk.cli.new.keymap', + 'qmk.cli.painter', 'qmk.cli.pyformat', 'qmk.cli.pytest', 'qmk.cli.via2json', diff --git a/lib/python/qmk/cli/painter/__init__.py b/lib/python/qmk/cli/painter/__init__.py new file mode 100644 index 000000000000..d1a225346ca2 --- /dev/null +++ b/lib/python/qmk/cli/painter/__init__.py @@ -0,0 +1,2 @@ +from . import convert_graphics +from . import make_font diff --git a/lib/python/qmk/cli/painter/convert_graphics.py b/lib/python/qmk/cli/painter/convert_graphics.py new file mode 100644 index 000000000000..bbc30d26ff78 --- /dev/null +++ b/lib/python/qmk/cli/painter/convert_graphics.py @@ -0,0 +1,86 @@ +"""This script tests QGF functionality. +""" +import re +import datetime +from io import BytesIO +from qmk.path import normpath +from qmk.painter import render_header, render_source, render_license, render_bytes, valid_formats +from milc import cli +from PIL import Image + + +@cli.argument('-v', '--verbose', arg_only=True, action='store_true', help='Turns on verbose output.') +@cli.argument('-i', '--input', required=True, help='Specify input graphic file.') +@cli.argument('-o', '--output', default='', help='Specify output directory. Defaults to same directory as input.') +@cli.argument('-f', '--format', required=True, help='Output format, valid types: %s' % (', '.join(valid_formats.keys()))) +@cli.argument('-r', '--no-rle', arg_only=True, action='store_true', help='Disables the use of RLE when encoding images.') +@cli.argument('-d', '--no-deltas', arg_only=True, action='store_true', help='Disables the use of delta frames when encoding animations.') +@cli.subcommand('Converts an input image to something QMK understands') +def painter_convert_graphics(cli): + """Converts an image file to a format that Quantum Painter understands. + + This command uses the `qmk.painter` module to generate a Quantum Painter image defintion from an image. The generated definitions are written to a files next to the input -- `INPUT.c` and `INPUT.h`. + """ + # Work out the input file + if cli.args.input != '-': + cli.args.input = normpath(cli.args.input) + + # Error checking + if not cli.args.input.exists(): + cli.log.error('Input image file does not exist!') + cli.print_usage() + return False + + # Work out the output directory + if len(cli.args.output) == 0: + cli.args.output = cli.args.input.parent + cli.args.output = normpath(cli.args.output) + + # Ensure we have a valid format + if cli.args.format not in valid_formats.keys(): + cli.log.error('Output format %s is invalid. Allowed values: %s' % (cli.args.format, ', '.join(valid_formats.keys()))) + cli.print_usage() + return False + + # Work out the encoding parameters + format = valid_formats[cli.args.format] + + # Load the input image + input_img = Image.open(cli.args.input) + + # Convert the image to QGF using PIL + out_data = BytesIO() + input_img.save(out_data, "QGF", use_deltas=(not cli.args.no_deltas), use_rle=(not cli.args.no_rle), qmk_format=format, verbose=cli.args.verbose) + out_bytes = out_data.getvalue() + + # Work out the text substitutions for rendering the output data + subs = { + 'generated_type': 'image', + 'var_prefix': 'gfx', + 'generator_command': f'qmk painter-convert-graphics -i {cli.args.input.name} -f {cli.args.format}', + 'year': datetime.date.today().strftime("%Y"), + 'input_file': cli.args.input.name, + 'sane_name': re.sub(r"[^a-zA-Z0-9]", "_", cli.args.input.stem), + 'byte_count': len(out_bytes), + 'bytes_lines': render_bytes(out_bytes), + 'format': cli.args.format, + } + + # Render the license + subs.update({'license': render_license(subs)}) + + # Render and write the header file + header_text = render_header(subs) + header_file = cli.args.output / (cli.args.input.stem + ".qgf.h") + with open(header_file, 'w') as header: + print(f"Writing {header_file}...") + header.write(header_text) + header.close() + + # Render and write the source file + source_text = render_source(subs) + source_file = cli.args.output / (cli.args.input.stem + ".qgf.c") + with open(source_file, 'w') as source: + print(f"Writing {source_file}...") + source.write(source_text) + source.close() diff --git a/lib/python/qmk/cli/painter/make_font.py b/lib/python/qmk/cli/painter/make_font.py new file mode 100644 index 000000000000..0762843fd3a0 --- /dev/null +++ b/lib/python/qmk/cli/painter/make_font.py @@ -0,0 +1,87 @@ +"""This script automates the conversion of font files into a format QMK firmware understands. +""" + +import re +import datetime +from io import BytesIO +from qmk.path import normpath +from qmk.painter_qff import QFFFont +from qmk.painter import render_header, render_source, render_license, render_bytes, valid_formats +from milc import cli + + +@cli.argument('-f', '--font', required=True, help='Specify input font file.') +@cli.argument('-o', '--output', required=True, help='Specify output image path.') +@cli.argument('-s', '--size', default=12, help='Specify font size. Default 12.') +@cli.argument('-n', '--no-ascii', arg_only=True, action='store_true', help='Disables output of the full ASCII character set (0x20..0x7E), exporting only the glyphs specified.') +@cli.argument('-u', '--unicode-glyphs', default='', help='Also generate the specified unicode glyphs.') +@cli.argument('-a', '--no-aa', arg_only=True, action='store_true', help='Disable anti-aliasing on fonts.') +@cli.subcommand('Converts an input font to something QMK understands') +def painter_make_font_image(cli): + # Create the font object + font = QFFFont(cli) + # Read from the input file + cli.args.font = normpath(cli.args.font) + font.generate_image(cli.args.font, cli.args.size, include_ascii_glyphs=(not cli.args.no_ascii), unicode_glyphs=cli.args.unicode_glyphs, use_aa=(False if cli.args.no_aa else True)) + # Render out the data + font.save_to_image(normpath(cli.args.output)) + + +@cli.argument('-i', '--input', help='Specify input graphic file.') +@cli.argument('-o', '--output', default='', help='Specify output directory. Defaults to same directory as input.') +@cli.argument('-n', '--no-ascii', arg_only=True, action='store_true', help='Disables output of the full ASCII character set (0x20..0x7E), exporting only the glyphs specified.') +@cli.argument('-u', '--unicode-glyphs', default='', help='Also generate the specified unicode glyphs.') +@cli.argument('-f', '--format', required=True, help='Output format, valid types: %s' % (', '.join(valid_formats.keys()))) +@cli.argument('-r', '--no-rle', arg_only=True, action='store_true', help='Disable the use of RLE to minimise converted image size.') +@cli.subcommand('Converts an input font image to something QMK firmware understands') +def painter_convert_font_image(cli): + # Work out the format + format = valid_formats[cli.args.format] + + # Create the font object + font = QFFFont(cli.log) + + # Read from the input file + cli.args.input = normpath(cli.args.input) + font.read_from_image(cli.args.input, include_ascii_glyphs=(not cli.args.no_ascii), unicode_glyphs=cli.args.unicode_glyphs) + + # Work out the output directory + if len(cli.args.output) == 0: + cli.args.output = cli.args.input.parent + cli.args.output = normpath(cli.args.output) + + # Render out the data + out_data = BytesIO() + font.save_to_qff(format, (False if cli.args.no_rle else True), out_data) + + # Work out the text substitutions for rendering the output data + subs = { + 'generated_type': 'font', + 'var_prefix': 'font', + 'generator_command': f'qmk painter-convert-font-image -i {cli.args.input.name} -f {cli.args.format}', + 'year': datetime.date.today().strftime("%Y"), + 'input_file': cli.args.input.name, + 'sane_name': re.sub(r"[^a-zA-Z0-9]", "_", cli.args.input.stem), + 'byte_count': out_data.getbuffer().nbytes, + 'bytes_lines': render_bytes(out_data.getbuffer().tobytes()), + 'format': cli.args.format, + } + + # Render the license + subs.update({'license': render_license(subs)}) + + # Render and write the header file + header_text = render_header(subs) + header_file = cli.args.output / (cli.args.input.stem + ".qff.h") + with open(header_file, 'w') as header: + print(f"Writing {header_file}...") + header.write(header_text) + header.close() + + # Render and write the source file + source_text = render_source(subs) + source_file = cli.args.output / (cli.args.input.stem + ".qff.c") + with open(source_file, 'w') as source: + print(f"Writing {source_file}...") + source.write(source_text) + source.close() diff --git a/lib/python/qmk/painter.py b/lib/python/qmk/painter.py new file mode 100644 index 000000000000..d0cc1dddec55 --- /dev/null +++ b/lib/python/qmk/painter.py @@ -0,0 +1,268 @@ +"""Functions that help us work with Quantum Painter's file formats. +""" +import math +import re +from string import Template +from PIL import Image, ImageOps + +# The list of valid formats Quantum Painter supports +valid_formats = { + 'pal256': { + 'image_format': 'IMAGE_FORMAT_PALETTE', + 'bpp': 8, + 'has_palette': True, + 'num_colors': 256, + 'image_format_byte': 0x07, # see qp_internal_formats.h + }, + 'pal16': { + 'image_format': 'IMAGE_FORMAT_PALETTE', + 'bpp': 4, + 'has_palette': True, + 'num_colors': 16, + 'image_format_byte': 0x06, # see qp_internal_formats.h + }, + 'pal4': { + 'image_format': 'IMAGE_FORMAT_PALETTE', + 'bpp': 2, + 'has_palette': True, + 'num_colors': 4, + 'image_format_byte': 0x05, # see qp_internal_formats.h + }, + 'pal2': { + 'image_format': 'IMAGE_FORMAT_PALETTE', + 'bpp': 1, + 'has_palette': True, + 'num_colors': 2, + 'image_format_byte': 0x04, # see qp_internal_formats.h + }, + 'mono256': { + 'image_format': 'IMAGE_FORMAT_GRAYSCALE', + 'bpp': 8, + 'has_palette': False, + 'num_colors': 256, + 'image_format_byte': 0x03, # see qp_internal_formats.h + }, + 'mono16': { + 'image_format': 'IMAGE_FORMAT_GRAYSCALE', + 'bpp': 4, + 'has_palette': False, + 'num_colors': 16, + 'image_format_byte': 0x02, # see qp_internal_formats.h + }, + 'mono4': { + 'image_format': 'IMAGE_FORMAT_GRAYSCALE', + 'bpp': 2, + 'has_palette': False, + 'num_colors': 4, + 'image_format_byte': 0x01, # see qp_internal_formats.h + }, + 'mono2': { + 'image_format': 'IMAGE_FORMAT_GRAYSCALE', + 'bpp': 1, + 'has_palette': False, + 'num_colors': 2, + 'image_format_byte': 0x00, # see qp_internal_formats.h + } +} + +license_template = """\ +// Copyright ${year} QMK -- generated source code only, ${generated_type} retains original copyright +// SPDX-License-Identifier: GPL-2.0-or-later + +// This file was auto-generated by `${generator_command}` +""" + + +def render_license(subs): + license_txt = Template(license_template) + return license_txt.substitute(subs) + + +header_file_template = """\ +${license} +#pragma once + +#include + +extern const uint32_t ${var_prefix}_${sane_name}_length; +extern const uint8_t ${var_prefix}_${sane_name}[${byte_count}]; +""" + + +def render_header(subs): + header_txt = Template(header_file_template) + return header_txt.substitute(subs) + + +source_file_template = """\ +${license} +#include + +const uint32_t ${var_prefix}_${sane_name}_length = ${byte_count}; + +// clang-format off +const uint8_t ${var_prefix}_${sane_name}[${byte_count}] = { +${bytes_lines} +}; +// clang-format on +""" + + +def render_source(subs): + source_txt = Template(source_file_template) + return source_txt.substitute(subs) + + +def render_bytes(bytes, newline_after=16): + lines = '' + for n in range(len(bytes)): + if n % newline_after == 0 and n > 0 and n != len(bytes): + lines = lines + "\n " + elif n == 0: + lines = lines + " " + lines = lines + " 0x{0:02X},".format(bytes[n]) + return lines.rstrip() + + +def clean_output(str): + str = re.sub(r'\r', '', str) + str = re.sub(r'[\n]{3,}', r'\n\n', str) + return str + + +def rescale_byte(val, maxval): + """Rescales a byte value to the supplied range, i.e. [0,255] -> [0,maxval]. + """ + return int(round(val * maxval / 255.0)) + + +def convert_requested_format(im, format): + """Convert an image to the requested format. + """ + + # Work out the requested format + ncolors = format["num_colors"] + image_format = format["image_format"] + + # Ensure we have a valid number of colors for the palette + if ncolors <= 0 or ncolors > 256 or (ncolors & (ncolors - 1) != 0): + raise ValueError("Number of colors must be 2, 4, 16, or 256.") + + # Work out where we're getting the bytes from + if image_format == 'IMAGE_FORMAT_GRAYSCALE': + # If mono, convert input to grayscale, then to RGB, then grab the raw bytes corresponding to the intensity of the red channel + im = ImageOps.grayscale(im) + im = im.convert("RGB") + elif image_format == 'IMAGE_FORMAT_PALETTE': + # If color, convert input to RGB, palettize based on the supplied number of colors, then get the raw palette bytes + im = im.convert("RGB") + im = im.convert("P", palette=Image.ADAPTIVE, colors=ncolors) + + return im + + +def convert_image_bytes(im, format): + """Convert the supplied image to the equivalent bytes required by the QMK firmware. + """ + + # Work out the requested format + ncolors = format["num_colors"] + image_format = format["image_format"] + shifter = int(math.log2(ncolors)) + pixels_per_byte = int(8 / math.log2(ncolors)) + (width, height) = im.size + expected_byte_count = ((width * height) + (pixels_per_byte - 1)) // pixels_per_byte + + if image_format == 'IMAGE_FORMAT_GRAYSCALE': + # Take the red channel + image_bytes = im.tobytes("raw", "R") + image_bytes_len = len(image_bytes) + + # No palette + palette = None + + bytearray = [] + for x in range(expected_byte_count): + byte = 0 + for n in range(pixels_per_byte): + byte_offset = x * pixels_per_byte + n + if byte_offset < image_bytes_len: + # If mono, each input byte is a grayscale [0,255] pixel -- rescale to the range we want then pack together + byte = byte | (rescale_byte(image_bytes[byte_offset], ncolors - 1) << int(n * shifter)) + bytearray.append(byte) + + elif image_format == 'IMAGE_FORMAT_PALETTE': + # Convert each pixel to the palette bytes + image_bytes = im.tobytes("raw", "P") + image_bytes_len = len(image_bytes) + + # Export the palette + palette = [] + pal = im.getpalette() + for n in range(0, ncolors * 3, 3): + palette.append((pal[n + 0], pal[n + 1], pal[n + 2])) + + bytearray = [] + for x in range(expected_byte_count): + byte = 0 + for n in range(pixels_per_byte): + byte_offset = x * pixels_per_byte + n + if byte_offset < image_bytes_len: + # If color, each input byte is the index into the color palette -- pack them together + byte = byte | ((image_bytes[byte_offset] & (ncolors - 1)) << int(n * shifter)) + bytearray.append(byte) + + if len(bytearray) != expected_byte_count: + raise Exception(f"Wrong byte count, was {len(bytearray)}, expected {expected_byte_count}") + + return (palette, bytearray) + + +def compress_bytes_qmk_rle(bytearray): + debug_dump = False + output = [] + temp = [] + repeat = False + + def append_byte(c): + if debug_dump: + print('Appending byte:', '0x{0:02X}'.format(int(c)), '=', c) + output.append(c) + + def append_range(r): + append_byte(127 + len(r)) + if debug_dump: + print('Appending {0} byte(s):'.format(len(r)), '[', ', '.join(['{0:02X}'.format(e) for e in r]), ']') + output.extend(r) + + for n in range(0, len(bytearray) + 1): + end = True if n == len(bytearray) else False + if not end: + c = bytearray[n] + temp.append(c) + if len(temp) <= 1: + continue + + if debug_dump: + print('Temp buffer state {0:3d} bytes:'.format(len(temp)), '[', ', '.join(['{0:02X}'.format(e) for e in temp]), ']') + + if repeat: + if temp[-1] != temp[-2]: + repeat = False + if not repeat or len(temp) == 128 or end: + append_byte(len(temp) if end else len(temp) - 1) + append_byte(temp[0]) + temp = [temp[-1]] + repeat = False + else: + if len(temp) >= 2 and temp[-1] == temp[-2]: + repeat = True + if len(temp) > 2: + append_range(temp[0:(len(temp) - 2)]) + temp = [temp[-1], temp[-1]] + continue + if len(temp) == 128 or end: + append_range(temp) + temp = [] + repeat = False + return output diff --git a/lib/python/qmk/painter_qff.py b/lib/python/qmk/painter_qff.py new file mode 100644 index 000000000000..746bb166e521 --- /dev/null +++ b/lib/python/qmk/painter_qff.py @@ -0,0 +1,401 @@ +# Copyright 2021 Nick Brassel (@tzarc) +# SPDX-License-Identifier: GPL-2.0-or-later + +# Quantum Font File "QFF" Font File Format. +# See https://docs.qmk.fm/#/quantum_painter_qff for more information. + +from pathlib import Path +from typing import Dict, Any +from colorsys import rgb_to_hsv +from PIL import Image, ImageDraw, ImageFont, ImageChops +from PIL._binary import o8, o16le as o16, o32le as o32 +from qmk.painter_qgf import QGFBlockHeader, QGFFramePaletteDescriptorV1 +from milc.attrdict import AttrDict +import qmk.painter + + +def o24(i): + return o16(i & 0xFFFF) + o8((i & 0xFF0000) >> 16) + + +######################################################################################################################## + + +class QFFGlyphInfo(AttrDict): + def __init__(self, *args, **kwargs): + super().__init__() + + for n, value in enumerate(args): + self[f'arg:{n}'] = value + + for key, value in kwargs.items(): + self[key] = value + + def write(self, fp, include_code_point): + if include_code_point is True: + fp.write(o24(ord(self.code_point))) + + value = ((self.data_offset << 6) & 0xFFFFC0) | (self.w & 0x3F) + fp.write(o24(value)) + + +######################################################################################################################## + + +class QFFFontDescriptor: + type_id = 0x00 + length = 20 + magic = 0x464651 + + def __init__(self): + self.header = QGFBlockHeader() + self.header.type_id = QFFFontDescriptor.type_id + self.header.length = QFFFontDescriptor.length + self.version = 1 + self.total_file_size = 0 + self.line_height = 0 + self.has_ascii_table = False + self.unicode_glyph_count = 0 + self.format = 0xFF + self.flags = 0 + self.compression = 0xFF + self.transparency_index = 0xFF # TODO: Work out how to retrieve the transparent palette entry from the PIL gif loader + + def write(self, fp): + self.header.write(fp) + fp.write( + b'' # start off with empty bytes... + + o24(QFFFontDescriptor.magic) # magic + + o8(self.version) # version + + o32(self.total_file_size) # file size + + o32((~self.total_file_size) & 0xFFFFFFFF) # negated file size + + o8(self.line_height) # line height + + o8(1 if self.has_ascii_table is True else 0) # whether or not we have an ascii table present + + o16(self.unicode_glyph_count & 0xFFFF) # number of unicode glyphs present + + o8(self.format) # format + + o8(self.flags) # flags + + o8(self.compression) # compression + + o8(self.transparency_index) # transparency index + ) + + @property + def is_transparent(self): + return (self.flags & 0x01) == 0x01 + + @is_transparent.setter + def is_transparent(self, val): + if val: + self.flags |= 0x01 + else: + self.flags &= ~0x01 + + +######################################################################################################################## + + +class QFFAsciiGlyphTableV1: + type_id = 0x01 + length = 95 * 3 # We have 95 glyphs: [0x20...0x7E] + + def __init__(self): + self.header = QGFBlockHeader() + self.header.type_id = QFFAsciiGlyphTableV1.type_id + self.header.length = QFFAsciiGlyphTableV1.length + + # Each glyph is key=code_point, value=QFFGlyphInfo + self.glyphs = {} + + def add_glyph(self, glyph: QFFGlyphInfo): + self.glyphs[ord(glyph.code_point)] = glyph + + def write(self, fp): + self.header.write(fp) + + for n in range(0x20, 0x7F): + self.glyphs[n].write(fp, False) + + +######################################################################################################################## + + +class QFFUnicodeGlyphTableV1: + type_id = 0x02 + + def __init__(self): + self.header = QGFBlockHeader() + self.header.type_id = QFFUnicodeGlyphTableV1.type_id + self.header.length = 0 + + # Each glyph is key=code_point, value=QFFGlyphInfo + self.glyphs = {} + + def add_glyph(self, glyph: QFFGlyphInfo): + self.glyphs[ord(glyph.code_point)] = glyph + + def write(self, fp): + self.header.length = len(self.glyphs.keys()) * 6 + self.header.write(fp) + + for n in sorted(self.glyphs.keys()): + self.glyphs[n].write(fp, True) + + +######################################################################################################################## + + +class QFFFontDataDescriptorV1: + type_id = 0x04 + + def __init__(self): + self.header = QGFBlockHeader() + self.header.type_id = QFFFontDataDescriptorV1.type_id + self.data = [] + + def write(self, fp): + self.header.length = len(self.data) + self.header.write(fp) + fp.write(bytes(self.data)) + + +######################################################################################################################## + + +def _generate_font_glyphs_list(use_ascii, unicode_glyphs): + # The set of glyphs that we want to generate images for + glyphs = {} + + # Add ascii charset if requested + if use_ascii is True: + for c in range(0x20, 0x7F): # does not include 0x7F! + glyphs[chr(c)] = True + + # Append any extra unicode glyphs + unicode_glyphs = list(unicode_glyphs) + for c in unicode_glyphs: + glyphs[c] = True + + return sorted(glyphs.keys()) + + +class QFFFont: + def __init__(self, logger): + self.logger = logger + self.image = None + self.glyph_data = {} + self.glyph_height = 0 + return + + def _extract_glyphs(self, format): + total_data_size = 0 + total_rle_data_size = 0 + + converted_img = qmk.painter.convert_requested_format(self.image, format) + (self.palette, _) = qmk.painter.convert_image_bytes(converted_img, format) + + # Work out how many bytes used for RLE vs. non-RLE + for _, glyph_entry in self.glyph_data.items(): + glyph_img = converted_img.crop((glyph_entry.x, 1, glyph_entry.x + glyph_entry.w, 1 + self.glyph_height)) + (_, this_glyph_image_bytes) = qmk.painter.convert_image_bytes(glyph_img, format) + this_glyph_rle_bytes = qmk.painter.compress_bytes_qmk_rle(this_glyph_image_bytes) + total_data_size += len(this_glyph_image_bytes) + total_rle_data_size += len(this_glyph_rle_bytes) + glyph_entry['image_uncompressed_bytes'] = this_glyph_image_bytes + glyph_entry['image_compressed_bytes'] = this_glyph_rle_bytes + + return (total_data_size, total_rle_data_size) + + def _parse_image(self, img, include_ascii_glyphs: bool = True, unicode_glyphs: str = ''): + # Clear out any existing font metadata + self.image = None + # Each glyph is key=code_point, value={ x: ?, w: ? } + self.glyph_data = {} + self.glyph_height = 0 + + # Work out the list of glyphs required + glyphs = _generate_font_glyphs_list(include_ascii_glyphs, unicode_glyphs) + + # Work out the geometry + (width, height) = img.size + + # Work out the glyph offsets/widths + glyph_pixel_offsets = [] + glyph_pixel_widths = [] + pixels = img.load() + + # Run through the markers and work out where each glyph starts/stops + glyph_split_color = pixels[0, 0] # top left pixel is the marker color we're going to use to split each glyph + glyph_pixel_offsets.append(0) + last_offset = 0 + for x in range(1, width): + if pixels[x, 0] == glyph_split_color: + glyph_pixel_offsets.append(x) + glyph_pixel_widths.append(x - last_offset) + last_offset = x + glyph_pixel_widths.append(width - last_offset) + + # Make sure the number of glyphs we're attempting to generate matches the input image + if len(glyph_pixel_offsets) != len(glyphs): + self.logger.error('The number of glyphs to generate doesn\'t match the number of detected glyphs in the input image.') + return + + # Set up the required metadata for each glyph + for n in range(0, len(glyph_pixel_offsets)): + self.glyph_data[glyphs[n]] = QFFGlyphInfo(code_point=glyphs[n], x=glyph_pixel_offsets[n], w=glyph_pixel_widths[n]) + + # Parsing was successful, keep the image in this instance + self.image = img + self.glyph_height = height - 1 # subtract the line with the markers + + def generate_image(self, ttf_file: Path, font_size: int, include_ascii_glyphs: bool = True, unicode_glyphs: str = '', include_before_left: bool = False, use_aa: bool = True): + # Load the font + font = ImageFont.truetype(str(ttf_file), int(font_size)) + # Work out the max font size + max_font_size = font.font.ascent + abs(font.font.descent) + # Work out the list of glyphs required + glyphs = _generate_font_glyphs_list(include_ascii_glyphs, unicode_glyphs) + + baseline_offset = 9999999 + total_glyph_width = 0 + max_glyph_height = -1 + + # Measure each glyph to determine the overall baseline offset required + for glyph in glyphs: + (ls_l, ls_t, ls_r, ls_b) = font.getbbox(glyph, anchor='ls') + glyph_width = (ls_r - ls_l) if include_before_left else (ls_r) + glyph_height = font.getbbox(glyph, anchor='la')[3] + if max_glyph_height < glyph_height: + max_glyph_height = glyph_height + total_glyph_width += glyph_width + if baseline_offset > ls_t: + baseline_offset = ls_t + + # Create the output image + img = Image.new("RGB", (total_glyph_width + 1, max_font_size * 2 + 1), (0, 0, 0, 255)) + cur_x_pos = 0 + + # Loop through each glyph... + for glyph in glyphs: + # Work out this glyph's bounding box + (ls_l, ls_t, ls_r, ls_b) = font.getbbox(glyph, anchor='ls') + glyph_width = (ls_r - ls_l) if include_before_left else (ls_r) + glyph_height = ls_b - ls_t + x_offset = -ls_l + y_offset = ls_t - baseline_offset + + # Draw each glyph to its own image so we don't get anti-aliasing applied to the final image when straddling edges + glyph_img = Image.new("RGB", (glyph_width, max_font_size), (0, 0, 0, 255)) + glyph_draw = ImageDraw.Draw(glyph_img) + if not use_aa: + glyph_draw.fontmode = "1" + glyph_draw.text((x_offset, y_offset), glyph, font=font, anchor='lt') + + # Place the glyph-specific image in the correct location overall + img.paste(glyph_img, (cur_x_pos, 1)) + + # Set up the marker for start of each glyph + pixels = img.load() + pixels[cur_x_pos, 0] = (255, 0, 255) + + # Increment for the next glyph's position + cur_x_pos += glyph_width + + # Add the ending marker so that the difference/crop works + pixels = img.load() + pixels[cur_x_pos, 0] = (255, 0, 255) + + # Determine the usable font area + dummy_img = Image.new("RGB", (total_glyph_width + 1, max_font_size + 1), (0, 0, 0, 255)) + bbox = ImageChops.difference(img, dummy_img).getbbox() + bbox = (bbox[0], bbox[1], bbox[2] - 1, bbox[3]) # remove the unused end-marker + + # Crop and re-parse the resulting image to ensure we're generating the correct format + self._parse_image(img.crop(bbox), include_ascii_glyphs, unicode_glyphs) + + def save_to_image(self, img_file: Path): + # Drop out if there's no image loaded + if self.image is None: + self.logger.error('No image is loaded.') + return + + # Save the image to the supplied file + self.image.save(str(img_file)) + + def read_from_image(self, img_file: Path, include_ascii_glyphs: bool = True, unicode_glyphs: str = ''): + # Load and parse the supplied image file + self._parse_image(Image.open(str(img_file)), include_ascii_glyphs, unicode_glyphs) + return + + def save_to_qff(self, format: Dict[str, Any], use_rle: bool, fp): + # Drop out if there's no image loaded + if self.image is None: + self.logger.error('No image is loaded.') + return + + # Work out if we want to use RLE at all, skipping it if it's not any smaller (it's applied per-glyph) + (total_data_size, total_rle_data_size) = self._extract_glyphs(format) + if use_rle: + use_rle = (total_rle_data_size < total_data_size) + + # For each glyph, work out which image data we want to use and append it to the image buffer, recording the byte-wise offset + img_buffer = bytes() + for _, glyph_entry in self.glyph_data.items(): + glyph_entry['data_offset'] = len(img_buffer) + glyph_img_bytes = glyph_entry.image_compressed_bytes if use_rle else glyph_entry.image_uncompressed_bytes + img_buffer += bytes(glyph_img_bytes) + + font_descriptor = QFFFontDescriptor() + ascii_table = QFFAsciiGlyphTableV1() + unicode_table = QFFUnicodeGlyphTableV1() + data_descriptor = QFFFontDataDescriptorV1() + data_descriptor.data = img_buffer + + # Check if we have all the ASCII glyphs present + include_ascii_glyphs = all([chr(n) in self.glyph_data for n in range(0x20, 0x7F)]) + + # Helper for populating the blocks + for code_point, glyph_entry in self.glyph_data.items(): + if ord(code_point) >= 0x20 and ord(code_point) <= 0x7E and include_ascii_glyphs: + ascii_table.add_glyph(glyph_entry) + else: + unicode_table.add_glyph(glyph_entry) + + # Configure the font descriptor + font_descriptor.line_height = self.glyph_height + font_descriptor.has_ascii_table = include_ascii_glyphs + font_descriptor.unicode_glyph_count = len(unicode_table.glyphs.keys()) + font_descriptor.is_transparent = False + font_descriptor.format = format['image_format_byte'] + font_descriptor.compression = 0x01 if use_rle else 0x00 + + # Write a dummy font descriptor -- we'll have to come back and write it properly once we've rendered out everything else + font_descriptor_location = fp.tell() + font_descriptor.write(fp) + + # Write out the ASCII table if required + if font_descriptor.has_ascii_table: + ascii_table.write(fp) + + # Write out the unicode table if required + if font_descriptor.unicode_glyph_count > 0: + unicode_table.write(fp) + + # Write out the palette if required + if format['has_palette']: + palette_descriptor = QGFFramePaletteDescriptorV1() + + # Helper to convert from RGB888 to the QMK "dialect" of HSV888 + def rgb888_to_qmk_hsv888(e): + hsv = rgb_to_hsv(e[0] / 255.0, e[1] / 255.0, e[2] / 255.0) + return (int(hsv[0] * 255.0), int(hsv[1] * 255.0), int(hsv[2] * 255.0)) + + # Convert all palette entries to HSV888 and write to the output + palette_descriptor.palette_entries = list(map(rgb888_to_qmk_hsv888, self.palette)) + palette_descriptor.write(fp) + + # Write out the image data + data_descriptor.write(fp) + + # Now fix up the overall font descriptor, then write it in the correct location + font_descriptor.total_file_size = fp.tell() + fp.seek(font_descriptor_location, 0) + font_descriptor.write(fp) diff --git a/lib/python/qmk/painter_qgf.py b/lib/python/qmk/painter_qgf.py new file mode 100644 index 000000000000..71ce1f5a02ce --- /dev/null +++ b/lib/python/qmk/painter_qgf.py @@ -0,0 +1,408 @@ +# Copyright 2021 Nick Brassel (@tzarc) +# SPDX-License-Identifier: GPL-2.0-or-later + +# Quantum Graphics File "QGF" Image File Format. +# See https://docs.qmk.fm/#/quantum_painter_qgf for more information. + +from colorsys import rgb_to_hsv +from types import FunctionType +from PIL import Image, ImageFile, ImageChops +from PIL._binary import o8, o16le as o16, o32le as o32 +import qmk.painter + + +def o24(i): + return o16(i & 0xFFFF) + o8((i & 0xFF0000) >> 16) + + +######################################################################################################################## + + +class QGFBlockHeader: + block_size = 5 + + def write(self, fp): + fp.write(b'' # start off with empty bytes... + + o8(self.type_id) # block type id + + o8((~self.type_id) & 0xFF) # negated block type id + + o24(self.length) # blob length + ) + + +######################################################################################################################## + + +class QGFGraphicsDescriptor: + type_id = 0x00 + length = 18 + magic = 0x464751 + + def __init__(self): + self.header = QGFBlockHeader() + self.header.type_id = QGFGraphicsDescriptor.type_id + self.header.length = QGFGraphicsDescriptor.length + self.version = 1 + self.total_file_size = 0 + self.image_width = 0 + self.image_height = 0 + self.frame_count = 0 + + def write(self, fp): + self.header.write(fp) + fp.write( + b'' # start off with empty bytes... + + o24(QGFGraphicsDescriptor.magic) # magic + + o8(self.version) # version + + o32(self.total_file_size) # file size + + o32((~self.total_file_size) & 0xFFFFFFFF) # negated file size + + o16(self.image_width) # width + + o16(self.image_height) # height + + o16(self.frame_count) # frame count + ) + + +######################################################################################################################## + + +class QGFFrameOffsetDescriptorV1: + type_id = 0x01 + + def __init__(self, frame_count): + self.header = QGFBlockHeader() + self.header.type_id = QGFFrameOffsetDescriptorV1.type_id + self.frame_offsets = [0xFFFFFFFF] * frame_count + self.frame_count = frame_count + + def write(self, fp): + self.header.length = len(self.frame_offsets) * 4 + self.header.write(fp) + for offset in self.frame_offsets: + fp.write(b'' # start off with empty bytes... + + o32(offset) # offset + ) + + +######################################################################################################################## + + +class QGFFrameDescriptorV1: + type_id = 0x02 + length = 6 + + def __init__(self): + self.header = QGFBlockHeader() + self.header.type_id = QGFFrameDescriptorV1.type_id + self.header.length = QGFFrameDescriptorV1.length + self.format = 0xFF + self.flags = 0 + self.compression = 0xFF + self.transparency_index = 0xFF # TODO: Work out how to retrieve the transparent palette entry from the PIL gif loader + self.delay = 1000 # Placeholder until it gets read from the animation + + def write(self, fp): + self.header.write(fp) + fp.write(b'' # start off with empty bytes... + + o8(self.format) # format + + o8(self.flags) # flags + + o8(self.compression) # compression + + o8(self.transparency_index) # transparency index + + o16(self.delay) # delay + ) + + @property + def is_transparent(self): + return (self.flags & 0x01) == 0x01 + + @is_transparent.setter + def is_transparent(self, val): + if val: + self.flags |= 0x01 + else: + self.flags &= ~0x01 + + @property + def is_delta(self): + return (self.flags & 0x02) == 0x02 + + @is_delta.setter + def is_delta(self, val): + if val: + self.flags |= 0x02 + else: + self.flags &= ~0x02 + + +######################################################################################################################## + + +class QGFFramePaletteDescriptorV1: + type_id = 0x03 + + def __init__(self): + self.header = QGFBlockHeader() + self.header.type_id = QGFFramePaletteDescriptorV1.type_id + self.header.length = 0 + self.palette_entries = [(0xFF, 0xFF, 0xFF)] * 4 + + def write(self, fp): + self.header.length = len(self.palette_entries) * 3 + self.header.write(fp) + for entry in self.palette_entries: + fp.write(b'' # start off with empty bytes... + + o8(entry[0]) # h + + o8(entry[1]) # s + + o8(entry[2]) # v + ) + + +######################################################################################################################## + + +class QGFFrameDeltaDescriptorV1: + type_id = 0x04 + length = 8 + + def __init__(self): + self.header = QGFBlockHeader() + self.header.type_id = QGFFrameDeltaDescriptorV1.type_id + self.header.length = QGFFrameDeltaDescriptorV1.length + self.left = 0 + self.top = 0 + self.right = 0 + self.bottom = 0 + + def write(self, fp): + self.header.write(fp) + fp.write(b'' # start off with empty bytes... + + o16(self.left) # left + + o16(self.top) # top + + o16(self.right) # right + + o16(self.bottom) # bottom + ) + + +######################################################################################################################## + + +class QGFFrameDataDescriptorV1: + type_id = 0x05 + + def __init__(self): + self.header = QGFBlockHeader() + self.header.type_id = QGFFrameDataDescriptorV1.type_id + self.data = [] + + def write(self, fp): + self.header.length = len(self.data) + self.header.write(fp) + fp.write(bytes(self.data)) + + +######################################################################################################################## + + +class QGFImageFile(ImageFile.ImageFile): + + format = "QGF" + format_description = "Quantum Graphics File Format" + + def _open(self): + raise NotImplementedError("Reading QGF files is not supported") + + +######################################################################################################################## + + +def _accept(prefix): + """Helper method used by PIL to work out if it can parse an input file. + + Currently unimplemented. + """ + return False + + +def _save(im, fp, filename): + """Helper method used by PIL to write to an output file. + """ + # Work out from the parameters if we need to do anything special + encoderinfo = im.encoderinfo.copy() + append_images = list(encoderinfo.get("append_images", [])) + verbose = encoderinfo.get("verbose", False) + use_deltas = encoderinfo.get("use_deltas", True) + use_rle = encoderinfo.get("use_rle", True) + + # Helper for inline verbose prints + def vprint(s): + if verbose: + print(s) + + # Helper to iterate through all frames in the input image + def _for_all_frames(x: FunctionType): + frame_num = 0 + last_frame = None + for frame in [im] + append_images: + # Get number of of frames in this image + nfr = getattr(frame, "n_frames", 1) + for idx in range(nfr): + frame.seek(idx) + frame.load() + copy = frame.copy().convert("RGB") + x(frame_num, copy, last_frame) + last_frame = copy + frame_num += 1 + + # Collect all the frame sizes + frame_sizes = [] + _for_all_frames(lambda idx, frame, last_frame: frame_sizes.append(frame.size)) + + # Make sure all frames are the same size + if len(list(set(frame_sizes))) != 1: + raise ValueError("Mismatching sizes on frames") + + # Write out the initial graphics descriptor (and write a dummy value), so that we can come back and fill in the + # correct values once we've written all the frames to the output + graphics_descriptor_location = fp.tell() + graphics_descriptor = QGFGraphicsDescriptor() + graphics_descriptor.frame_count = len(frame_sizes) + graphics_descriptor.image_width = frame_sizes[0][0] + graphics_descriptor.image_height = frame_sizes[0][1] + vprint(f'{"Graphics descriptor block":26s} {fp.tell():5d}d / {fp.tell():04X}h') + graphics_descriptor.write(fp) + + # Work out the frame offset descriptor location (and write a dummy value), so that we can come back and fill in the + # correct offsets once we've written all the frames to the output + frame_offset_location = fp.tell() + frame_offsets = QGFFrameOffsetDescriptorV1(graphics_descriptor.frame_count) + vprint(f'{"Frame offsets block":26s} {fp.tell():5d}d / {fp.tell():04X}h') + frame_offsets.write(fp) + + # Helper function to save each frame to the output file + def _write_frame(idx, frame, last_frame): + # If we replace the frame we're going to output with a delta, we can override it here + this_frame = frame + location = (0, 0) + size = frame.size + + # Work out the format we're going to use + format = encoderinfo["qmk_format"] + + # Convert the original frame so we can do comparisons + converted = qmk.painter.convert_requested_format(this_frame, format) + graphic_data = qmk.painter.convert_image_bytes(converted, format) + + # Convert the raw data to RLE-encoded if requested + raw_data = graphic_data[1] + if use_rle: + rle_data = qmk.painter.compress_bytes_qmk_rle(graphic_data[1]) + use_raw_this_frame = not use_rle or len(raw_data) <= len(rle_data) + image_data = raw_data if use_raw_this_frame else rle_data + + # Work out if a delta frame is smaller than injecting it directly + use_delta_this_frame = False + if use_deltas and last_frame is not None: + # If we want to use deltas, then find the difference + diff = ImageChops.difference(frame, last_frame) + + # Get the bounding box of those differences + bbox = diff.getbbox() + + # If we have a valid bounding box... + if bbox: + # ...create the delta frame by cropping the original. + delta_frame = frame.crop(bbox) + delta_location = (bbox[0], bbox[1]) + delta_size = (bbox[2] - bbox[0], bbox[3] - bbox[1]) + + # Convert the delta frame to the requested format + delta_converted = qmk.painter.convert_requested_format(delta_frame, format) + delta_graphic_data = qmk.painter.convert_image_bytes(delta_converted, format) + + # Work out how large the delta frame is going to be with compression etc. + delta_raw_data = delta_graphic_data[1] + if use_rle: + delta_rle_data = qmk.painter.compress_bytes_qmk_rle(delta_graphic_data[1]) + delta_use_raw_this_frame = not use_rle or len(delta_raw_data) <= len(delta_rle_data) + delta_image_data = delta_raw_data if delta_use_raw_this_frame else delta_rle_data + + # If the size of the delta frame (plus delta descriptor) is smaller than the original, use that instead + # This ensures that if a non-delta is overall smaller in size, we use that in preference due to flash + # sizing constraints. + if (len(delta_image_data) + QGFFrameDeltaDescriptorV1.length) < len(image_data): + # Copy across all the delta equivalents so that the rest of the processing acts on those + this_frame = delta_frame + location = delta_location + size = delta_size + converted = delta_converted + graphic_data = delta_graphic_data + raw_data = delta_raw_data + rle_data = delta_rle_data + use_raw_this_frame = delta_use_raw_this_frame + image_data = delta_image_data + use_delta_this_frame = True + + # Write out the frame descriptor + frame_offsets.frame_offsets[idx] = fp.tell() + vprint(f'{f"Frame {idx:3d} base":26s} {fp.tell():5d}d / {fp.tell():04X}h') + frame_descriptor = QGFFrameDescriptorV1() + frame_descriptor.is_delta = use_delta_this_frame + frame_descriptor.is_transparent = False + frame_descriptor.format = format['image_format_byte'] + frame_descriptor.compression = 0x00 if use_raw_this_frame else 0x01 # See qp.h, painter_compression_t + frame_descriptor.delay = frame.info['duration'] if 'duration' in frame.info else 1000 # If we're not an animation, just pretend we're delaying for 1000ms + frame_descriptor.write(fp) + + # Write out the palette if required + if format['has_palette']: + palette = graphic_data[0] + palette_descriptor = QGFFramePaletteDescriptorV1() + + # Helper to convert from RGB888 to the QMK "dialect" of HSV888 + def rgb888_to_qmk_hsv888(e): + hsv = rgb_to_hsv(e[0] / 255.0, e[1] / 255.0, e[2] / 255.0) + return (int(hsv[0] * 255.0), int(hsv[1] * 255.0), int(hsv[2] * 255.0)) + + # Convert all palette entries to HSV888 and write to the output + palette_descriptor.palette_entries = list(map(rgb888_to_qmk_hsv888, palette)) + vprint(f'{f"Frame {idx:3d} palette":26s} {fp.tell():5d}d / {fp.tell():04X}h') + palette_descriptor.write(fp) + + # Write out the delta info if required + if use_delta_this_frame: + # Set up the rendering location of where the delta frame should be situated + delta_descriptor = QGFFrameDeltaDescriptorV1() + delta_descriptor.left = location[0] + delta_descriptor.top = location[1] + delta_descriptor.right = location[0] + size[0] + delta_descriptor.bottom = location[1] + size[1] + + # Write the delta frame to the output + vprint(f'{f"Frame {idx:3d} delta":26s} {fp.tell():5d}d / {fp.tell():04X}h') + delta_descriptor.write(fp) + + # Write out the data for this frame to the output + data_descriptor = QGFFrameDataDescriptorV1() + data_descriptor.data = image_data + vprint(f'{f"Frame {idx:3d} data":26s} {fp.tell():5d}d / {fp.tell():04X}h') + data_descriptor.write(fp) + + # Iterate over each if the input frames, writing it to the output in the process + _for_all_frames(_write_frame) + + # Go back and update the graphics descriptor now that we can determine the final file size + graphics_descriptor.total_file_size = fp.tell() + fp.seek(graphics_descriptor_location, 0) + graphics_descriptor.write(fp) + + # Go back and update the frame offsets now that they're written to the file + fp.seek(frame_offset_location, 0) + frame_offsets.write(fp) + + +######################################################################################################################## + +# Register with PIL so that it knows about the QGF format +Image.register_open(QGFImageFile.format, QGFImageFile, _accept) +Image.register_save(QGFImageFile.format, _save) +Image.register_save_all(QGFImageFile.format, _save) +Image.register_extension(QGFImageFile.format, f".{QGFImageFile.format.lower()}") +Image.register_mime(QGFImageFile.format, f"image/{QGFImageFile.format.lower()}") diff --git a/quantum/main.c b/quantum/main.c index faba668056e1..2d5911b708df 100644 --- a/quantum/main.c +++ b/quantum/main.c @@ -43,10 +43,6 @@ void protocol_task(void) { protocol_post_task(); } -#ifdef DEFERRED_EXEC_ENABLE -void deferred_exec_task(void); -#endif // DEFERRED_EXEC_ENABLE - /** \brief Main * * FIXME: Needs doc @@ -63,8 +59,15 @@ int main(void) { while (true) { protocol_task(); +#ifdef QUANTUM_PAINTER_ENABLE + // Run Quantum Painter animations + void qp_internal_animation_tick(void); + qp_internal_animation_tick(); +#endif + #ifdef DEFERRED_EXEC_ENABLE // Run deferred executions + void deferred_exec_task(void); deferred_exec_task(); #endif // DEFERRED_EXEC_ENABLE diff --git a/quantum/painter/qff.c b/quantum/painter/qff.c new file mode 100644 index 000000000000..cd6af788f9ef --- /dev/null +++ b/quantum/painter/qff.c @@ -0,0 +1,137 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +// Quantum Font File "QFF" File Format. +// See https://docs.qmk.fm/#/quantum_painter_qff for more information. + +#include "qff.h" +#include "qp_draw.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// QFF API + +bool qff_read_font_descriptor(qp_stream_t *stream, uint8_t *line_height, bool *has_ascii_table, uint16_t *num_unicode_glyphs, uint8_t *bpp, bool *has_palette, painter_compression_t *compression_scheme, uint32_t *total_bytes) { + // Seek to the start + qp_stream_setpos(stream, 0); + + // Read and validate the font descriptor + qff_font_descriptor_v1_t font_descriptor; + if (qp_stream_read(&font_descriptor, sizeof(qff_font_descriptor_v1_t), 1, stream) != 1) { + qp_dprintf("Failed to read font_descriptor, expected length was not %d\n", (int)sizeof(qff_font_descriptor_v1_t)); + return false; + } + + // Make sure this block is valid + if (!qgf_validate_block_header(&font_descriptor.header, QFF_FONT_DESCRIPTOR_TYPEID, (sizeof(qff_font_descriptor_v1_t) - sizeof(qgf_block_header_v1_t)))) { + return false; + } + + // Make sure the magic and version are correct + if (font_descriptor.magic != QFF_MAGIC || font_descriptor.qff_version != 0x01) { + qp_dprintf("Failed to validate font_descriptor, expected magic 0x%06X was 0x%06X, expected version = 0x%02X was 0x%02X\n", (int)QFF_MAGIC, (int)font_descriptor.magic, (int)0x01, (int)font_descriptor.qff_version); + return false; + } + + // Make sure the file length is valid + if (font_descriptor.neg_total_file_size != ~font_descriptor.total_file_size) { + qp_dprintf("Failed to validate font_descriptor, expected negated length 0x%08X was 0x%08X\n", (int)(~font_descriptor.total_file_size), (int)font_descriptor.neg_total_file_size); + return false; + } + + // Copy out the required info + if (line_height) { + *line_height = font_descriptor.line_height; + } + if (has_ascii_table) { + *has_ascii_table = font_descriptor.has_ascii_table; + } + if (num_unicode_glyphs) { + *num_unicode_glyphs = font_descriptor.num_unicode_glyphs; + } + if (bpp || has_palette) { + if (!qgf_parse_format(font_descriptor.format, bpp, has_palette)) { + return false; + } + } + if (compression_scheme) { + *compression_scheme = font_descriptor.compression_scheme; + } + if (total_bytes) { + *total_bytes = font_descriptor.total_file_size; + } + + return true; +} + +static bool qff_validate_ascii_descriptor(qp_stream_t *stream) { + // Read the raw descriptor + qff_ascii_glyph_table_v1_t ascii_descriptor; + if (qp_stream_read(&ascii_descriptor, sizeof(qff_ascii_glyph_table_v1_t), 1, stream) != 1) { + qp_dprintf("Failed to read ascii_descriptor, expected length was not %d\n", (int)sizeof(qff_ascii_glyph_table_v1_t)); + return false; + } + + // Make sure this block is valid + if (!qgf_validate_block_header(&ascii_descriptor.header, QFF_ASCII_GLYPH_DESCRIPTOR_TYPEID, (sizeof(qff_ascii_glyph_table_v1_t) - sizeof(qgf_block_header_v1_t)))) { + return false; + } + + return true; +} + +static bool qff_validate_unicode_descriptor(qp_stream_t *stream, uint16_t num_unicode_glyphs) { + // Read the raw descriptor + qff_unicode_glyph_table_v1_t unicode_descriptor; + if (qp_stream_read(&unicode_descriptor, sizeof(qff_unicode_glyph_table_v1_t), 1, stream) != 1) { + qp_dprintf("Failed to read unicode_descriptor, expected length was not %d\n", (int)sizeof(qff_unicode_glyph_table_v1_t)); + return false; + } + + // Make sure this block is valid + if (!qgf_validate_block_header(&unicode_descriptor.header, QFF_UNICODE_GLYPH_DESCRIPTOR_TYPEID, num_unicode_glyphs * 6)) { + return false; + } + + // Skip the necessary amount of data to get to the next block + qp_stream_seek(stream, num_unicode_glyphs * sizeof(qff_unicode_glyph_v1_t), SEEK_CUR); + + return true; +} + +bool qff_validate_stream(qp_stream_t *stream) { + bool has_ascii_table; + uint16_t num_unicode_glyphs; + + if (!qff_read_font_descriptor(stream, NULL, &has_ascii_table, &num_unicode_glyphs, NULL, NULL, NULL, NULL)) { + return false; + } + + if (has_ascii_table) { + if (!qff_validate_ascii_descriptor(stream)) { + return false; + } + } + + if (num_unicode_glyphs > 0) { + if (!qff_validate_unicode_descriptor(stream, num_unicode_glyphs)) { + return false; + } + } + + return true; +} + +uint32_t qff_get_total_size(qp_stream_t *stream) { + // Get the original location + uint32_t oldpos = qp_stream_tell(stream); + + // Read the font descriptor, grabbing the size + uint32_t total_size; + if (!qff_read_font_descriptor(stream, NULL, NULL, NULL, NULL, NULL, NULL, &total_size)) { + return false; + } + + // Restore the original location + qp_stream_setpos(stream, oldpos); + return total_size; +} diff --git a/quantum/painter/qff.h b/quantum/painter/qff.h new file mode 100644 index 000000000000..6f1a1fd81560 --- /dev/null +++ b/quantum/painter/qff.h @@ -0,0 +1,88 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// Quantum Font File "QFF" File Format. +// See https://docs.qmk.fm/#/quantum_painter_qff for more information. + +#include +#include + +#include "qp_stream.h" +#include "qp_internal.h" +#include "qgf.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// QFF structures + +///////////////////////////////////////// +// Font descriptor + +#define QFF_FONT_DESCRIPTOR_TYPEID 0x00 + +typedef struct __attribute__((packed)) qff_font_descriptor_v1_t { + qgf_block_header_v1_t header; // = { .type_id = 0x00, .neg_type_id = (~0x00), .length = 20 } + uint32_t magic : 24; // constant, equal to 0x464651 ("QFF") + uint8_t qff_version; // constant, equal to 0x01 + uint32_t total_file_size; // total size of the entire file, starting at offset zero + uint32_t neg_total_file_size; // negated value of total_file_size, used for detecting parsing errors + uint8_t line_height; // glyph height in pixels + bool has_ascii_table; // whether the font has an ascii table of glyphs (0x20...0x7E) + uint16_t num_unicode_glyphs; // the number of glyphs in the unicode table -- no table specified if zero + qp_image_format_t format : 8; // Frame format, see qp.h. + uint8_t flags; // frame flags, see below. + uint8_t compression_scheme; // compression scheme, see below. + uint8_t transparency_index; // palette index used for transparent pixels (not yet implemented) +} qff_font_descriptor_v1_t; + +_Static_assert(sizeof(qff_font_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 20), "qff_font_descriptor_v1_t must be 25 bytes in v1 of QFF"); + +#define QFF_MAGIC 0x464651 + +///////////////////////////////////////// +// ASCII glyph table descriptor + +#define QFF_ASCII_GLYPH_DESCRIPTOR_TYPEID 0x01 + +#define QFF_GLYPH_WIDTH_BITS 6 +#define QFF_GLYPH_WIDTH_MASK ((1 << QFF_GLYPH_WIDTH_BITS) - 1) +#define QFF_GLYPH_OFFSET_BITS 18 +#define QFF_GLYPH_OFFSET_MASK (((1 << QFF_GLYPH_OFFSET_BITS) - 1) << QFF_GLYPH_WIDTH_BITS) + +typedef struct __attribute__((packed)) qff_ascii_glyph_v1_t { + uint32_t value : 24; // Uses QFF_GLYPH_*_(BITS|MASK) as bitfield ordering is compiler-defined +} qff_ascii_glyph_v1_t; + +_Static_assert(sizeof(qff_ascii_glyph_v1_t) == 3, "qff_ascii_glyph_v1_t must be 3 bytes in v1 of QFF"); + +typedef struct __attribute__((packed)) qff_ascii_glyph_table_v1_t { + qgf_block_header_v1_t header; // = { .type_id = 0x01, .neg_type_id = (~0x01), .length = 285 } + qff_ascii_glyph_v1_t glyph[95]; // 95 glyphs, 0x20..0x7E +} qff_ascii_glyph_table_v1_t; + +_Static_assert(sizeof(qff_ascii_glyph_table_v1_t) == (sizeof(qgf_block_header_v1_t) + (95 * sizeof(qff_ascii_glyph_v1_t))), "qff_ascii_glyph_table_v1_t must be 290 bytes in v1 of QFF"); + +///////////////////////////////////////// +// Unicode glyph table descriptor + +#define QFF_UNICODE_GLYPH_DESCRIPTOR_TYPEID 0x02 + +typedef struct __attribute__((packed)) qff_unicode_glyph_v1_t { + uint32_t code_point : 24; + uint32_t value : 24; // Uses QFF_GLYPH_*_(BITS|MASK) as bitfield ordering is compiler-defined +} qff_unicode_glyph_v1_t; + +_Static_assert(sizeof(qff_unicode_glyph_v1_t) == 6, "qff_unicode_glyph_v1_t must be 6 bytes in v1 of QFF"); + +typedef struct __attribute__((packed)) qff_unicode_glyph_table_v1_t { + qgf_block_header_v1_t header; // = { .type_id = 0x02, .neg_type_id = (~0x02), .length = (N * 6) } + qff_unicode_glyph_v1_t glyph[0]; // Extent of '0' signifies that this struct is immediately followed by the glyph data +} qff_unicode_glyph_table_v1_t; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// QFF API + +bool qff_validate_stream(qp_stream_t *stream); +uint32_t qff_get_total_size(qp_stream_t *stream); +bool qff_read_font_descriptor(qp_stream_t *stream, uint8_t *line_height, bool *has_ascii_table, uint16_t *num_unicode_glyphs, uint8_t *bpp, bool *has_palette, painter_compression_t *compression_scheme, uint32_t *total_bytes); diff --git a/quantum/painter/qgf.c b/quantum/painter/qgf.c new file mode 100644 index 000000000000..834837105bac --- /dev/null +++ b/quantum/painter/qgf.c @@ -0,0 +1,292 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +// Quantum Graphics File "QGF" File Format. +// See https://docs.qmk.fm/#/quantum_painter_qgf for more information. + +#include "qgf.h" +#include "qp_draw.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// QGF API + +bool qgf_validate_block_header(qgf_block_header_v1_t *desc, uint8_t expected_typeid, int32_t expected_length) { + if (desc->type_id != expected_typeid || desc->neg_type_id != ((~expected_typeid) & 0xFF)) { + qp_dprintf("Failed to validate header, expected typeid 0x%02X, was 0x%02X, expected negated typeid 0x%02X, was 0x%02X\n", (int)expected_typeid, (int)desc->type_id, (int)((~desc->type_id) & 0xFF), (int)desc->neg_type_id); + return false; + } + + if (expected_length >= 0 && desc->length != expected_length) { + qp_dprintf("Failed to validate header (typeid 0x%02X), expected length %d, was %d\n", (int)desc->type_id, (int)expected_length, (int)desc->length); + return false; + } + + return true; +} + +bool qgf_parse_format(qp_image_format_t format, uint8_t *bpp, bool *has_palette) { + // clang-format off + static const struct QP_PACKED { + uint8_t bpp; + bool has_palette; + } formats[] = { + [GRAYSCALE_1BPP] = {.bpp = 1, .has_palette = false}, + [GRAYSCALE_2BPP] = {.bpp = 2, .has_palette = false}, + [GRAYSCALE_4BPP] = {.bpp = 4, .has_palette = false}, + [GRAYSCALE_8BPP] = {.bpp = 8, .has_palette = false}, + [PALETTE_1BPP] = {.bpp = 1, .has_palette = true}, + [PALETTE_2BPP] = {.bpp = 2, .has_palette = true}, + [PALETTE_4BPP] = {.bpp = 4, .has_palette = true}, + [PALETTE_8BPP] = {.bpp = 8, .has_palette = true}, + }; + // clang-format on + + // Copy out the required info + if (format > PALETTE_8BPP) { + qp_dprintf("Failed to parse frame_descriptor, invalid format 0x%02X\n", (int)format); + return false; + } + + // Copy out the required info + if (bpp) { + *bpp = formats[format].bpp; + } + if (has_palette) { + *has_palette = formats[format].has_palette; + } + + return true; +} + +bool qgf_parse_frame_descriptor(qgf_frame_v1_t *frame_descriptor, uint8_t *bpp, bool *has_palette, bool *is_delta, painter_compression_t *compression_scheme, uint16_t *delay) { + // Decode the format + qgf_parse_format(frame_descriptor->format, bpp, has_palette); + + // Copy out the required info + if (is_delta) { + *is_delta = (frame_descriptor->flags & QGF_FRAME_FLAG_DELTA) == QGF_FRAME_FLAG_DELTA; + } + if (compression_scheme) { + *compression_scheme = frame_descriptor->compression_scheme; + } + if (delay) { + *delay = frame_descriptor->delay; + } + + return true; +} + +bool qgf_read_graphics_descriptor(qp_stream_t *stream, uint16_t *image_width, uint16_t *image_height, uint16_t *frame_count, uint32_t *total_bytes) { + // Seek to the start + qp_stream_setpos(stream, 0); + + // Read and validate the graphics descriptor + qgf_graphics_descriptor_v1_t graphics_descriptor; + if (qp_stream_read(&graphics_descriptor, sizeof(qgf_graphics_descriptor_v1_t), 1, stream) != 1) { + qp_dprintf("Failed to read graphics_descriptor, expected length was not %d\n", (int)sizeof(qgf_graphics_descriptor_v1_t)); + return false; + } + + // Make sure this block is valid + if (!qgf_validate_block_header(&graphics_descriptor.header, QGF_GRAPHICS_DESCRIPTOR_TYPEID, (sizeof(qgf_graphics_descriptor_v1_t) - sizeof(qgf_block_header_v1_t)))) { + return false; + } + + // Make sure the magic and version are correct + if (graphics_descriptor.magic != QGF_MAGIC || graphics_descriptor.qgf_version != 0x01) { + qp_dprintf("Failed to validate graphics_descriptor, expected magic 0x%06X was 0x%06X, expected version = 0x%02X was 0x%02X\n", (int)QGF_MAGIC, (int)graphics_descriptor.magic, (int)0x01, (int)graphics_descriptor.qgf_version); + return false; + } + + // Make sure the file length is valid + if (graphics_descriptor.neg_total_file_size != ~graphics_descriptor.total_file_size) { + qp_dprintf("Failed to validate graphics_descriptor, expected negated length 0x%08X was 0x%08X\n", (int)(~graphics_descriptor.total_file_size), (int)graphics_descriptor.neg_total_file_size); + return false; + } + + // Copy out the required info + if (image_width) { + *image_width = graphics_descriptor.image_width; + } + if (image_height) { + *image_height = graphics_descriptor.image_height; + } + if (frame_count) { + *frame_count = graphics_descriptor.frame_count; + } + if (total_bytes) { + *total_bytes = graphics_descriptor.total_file_size; + } + + return true; +} + +static bool qgf_read_frame_offset(qp_stream_t *stream, uint16_t frame_number, uint32_t *frame_offset) { + uint16_t frame_count; + if (!qgf_read_graphics_descriptor(stream, NULL, NULL, &frame_count, NULL)) { + return false; + } + + // Read the frame offsets descriptor + qgf_frame_offsets_v1_t frame_offsets; + if (qp_stream_read(&frame_offsets, sizeof(qgf_frame_offsets_v1_t), 1, stream) != 1) { + qp_dprintf("Failed to read frame_offsets, expected length was not %d\n", (int)sizeof(qgf_frame_offsets_v1_t)); + return false; + } + + // Make sure this block is valid + if (!qgf_validate_block_header(&frame_offsets.header, QGF_FRAME_OFFSET_DESCRIPTOR_TYPEID, (frame_count * sizeof(uint32_t)))) { + return false; + } + + if (frame_number >= frame_count) { + qp_dprintf("Invalid frame number, was %d but only %d frames in image\n", (int)frame_number, (int)frame_count); + return false; + } + + // Skip the necessary amount of data to get to the requested frame offset + qp_stream_seek(stream, frame_number * sizeof(uint32_t), SEEK_CUR); + + // Read the frame offset + uint32_t offset = 0; + if (qp_stream_read(&offset, sizeof(uint32_t), 1, stream) != 1) { + qp_dprintf("Failed to read frame offset, expected length was not %d\n", (int)sizeof(uint32_t)); + return false; + } + + // Copy out the required info + if (frame_offset) { + *frame_offset = offset; + } + + return true; +} + +void qgf_seek_to_frame_descriptor(qp_stream_t *stream, uint16_t frame_number) { + // Read the offset + uint32_t offset = 0; + qgf_read_frame_offset(stream, frame_number, &offset); + + // Move to the offset + qp_stream_setpos(stream, offset); +} + +bool qgf_validate_frame_descriptor(qp_stream_t *stream, uint16_t frame_number, uint8_t *bpp, bool *has_palette, bool *is_delta) { + // Seek to the correct location + qgf_seek_to_frame_descriptor(stream, frame_number); + + // Read the raw descriptor + qgf_frame_v1_t frame_descriptor; + if (qp_stream_read(&frame_descriptor, sizeof(qgf_frame_v1_t), 1, stream) != 1) { + qp_dprintf("Failed to read frame_descriptor, expected length was not %d\n", (int)sizeof(qgf_frame_v1_t)); + return false; + } + + // Make sure this block is valid + if (!qgf_validate_block_header(&frame_descriptor.header, QGF_FRAME_DESCRIPTOR_TYPEID, (sizeof(qgf_frame_v1_t) - sizeof(qgf_block_header_v1_t)))) { + return false; + } + + return qgf_parse_frame_descriptor(&frame_descriptor, bpp, has_palette, is_delta, NULL, NULL); +} + +bool qgf_validate_palette_descriptor(qp_stream_t *stream, uint16_t frame_number, uint8_t bpp) { + // Read the palette descriptor + qgf_palette_v1_t palette_descriptor; + if (qp_stream_read(&palette_descriptor, sizeof(qgf_palette_v1_t), 1, stream) != 1) { + qp_dprintf("Failed to read palette_descriptor, expected length was not %d\n", (int)sizeof(qgf_palette_v1_t)); + return false; + } + + // Make sure this block is valid + uint32_t expected_length = (1 << bpp) * 3 * sizeof(uint8_t); + if (!qgf_validate_block_header(&palette_descriptor.header, QGF_FRAME_PALETTE_DESCRIPTOR_TYPEID, expected_length)) { + return false; + } + + // Move forward in the stream to the next block + qp_stream_seek(stream, expected_length, SEEK_CUR); + return true; +} + +bool qgf_validate_delta_descriptor(qp_stream_t *stream, uint16_t frame_number) { + // Read the delta descriptor + qgf_delta_v1_t delta_descriptor; + if (qp_stream_read(&delta_descriptor, sizeof(qgf_delta_v1_t), 1, stream) != 1) { + qp_dprintf("Failed to read delta_descriptor, expected length was not %d\n", (int)sizeof(qgf_delta_v1_t)); + return false; + } + + // Make sure this block is valid + if (!qgf_validate_block_header(&delta_descriptor.header, QGF_FRAME_DELTA_DESCRIPTOR_TYPEID, (sizeof(qgf_delta_v1_t) - sizeof(qgf_block_header_v1_t)))) { + return false; + } + + return true; +} + +bool qgf_validate_frame_data_descriptor(qp_stream_t *stream, uint16_t frame_number) { + // Read and validate the data block + qgf_data_v1_t data_descriptor; + if (qp_stream_read(&data_descriptor, sizeof(qgf_data_v1_t), 1, stream) != 1) { + qp_dprintf("Failed to read data_descriptor, expected length was not %d\n", (int)sizeof(qgf_data_v1_t)); + return false; + } + + if (!qgf_validate_block_header(&data_descriptor.header, QGF_FRAME_DATA_DESCRIPTOR_TYPEID, -1)) { + return false; + } + + return true; +} + +bool qgf_validate_stream(qp_stream_t *stream) { + uint16_t frame_count; + if (!qgf_read_graphics_descriptor(stream, NULL, NULL, &frame_count, NULL)) { + return false; + } + + // Read and validate all the frames (automatically validates the frame offset descriptor in the process) + for (uint16_t i = 0; i < frame_count; ++i) { + // Validate the frame descriptor block + uint8_t bpp; + bool has_palette; + bool has_delta; + if (!qgf_validate_frame_descriptor(stream, i, &bpp, &has_palette, &has_delta)) { + return false; + } + + // If we've got a palette block, check it + if (has_palette && !qgf_validate_palette_descriptor(stream, i, bpp)) { + return false; + } + + // If we've got a delta block, check it + if (has_delta && !qgf_validate_delta_descriptor(stream, i)) { + return false; + } + + // Check the data block + if (!qgf_validate_frame_data_descriptor(stream, i)) { + return false; + } + } + + return true; +} + +// Work out the total size of an image definition, assuming we can read far enough into the file +uint32_t qgf_get_total_size(qp_stream_t *stream) { + // Get the original location + uint32_t oldpos = qp_stream_tell(stream); + + // Read the graphics descriptor, grabbing the size + uint32_t total_size; + if (!qgf_read_graphics_descriptor(stream, NULL, NULL, NULL, &total_size)) { + return false; + } + + // Restore the original location + qp_stream_setpos(stream, oldpos); + return total_size; +} diff --git a/quantum/painter/qgf.h b/quantum/painter/qgf.h new file mode 100644 index 000000000000..54585edd0415 --- /dev/null +++ b/quantum/painter/qgf.h @@ -0,0 +1,136 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// Quantum Graphics File "QGF" File Format. +// See https://docs.qmk.fm/#/quantum_painter_qgf for more information. + +#include +#include + +#include "qp_stream.h" +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// QGF structures + +///////////////////////////////////////// +// Common block header + +typedef struct QP_PACKED qgf_block_header_v1_t { + uint8_t type_id; // See each respective block type below. + uint8_t neg_type_id; // Negated type ID, used for detecting parsing errors. + uint32_t length : 24; // 24-bit blob length, allowing for block sizes of a maximum of 16MB. +} qgf_block_header_v1_t; + +_Static_assert(sizeof(qgf_block_header_v1_t) == 5, "qgf_block_header_v1_t must be 5 bytes in v1 of QGF"); + +///////////////////////////////////////// +// Graphics descriptor + +#define QGF_GRAPHICS_DESCRIPTOR_TYPEID 0x00 + +typedef struct QP_PACKED qgf_graphics_descriptor_v1_t { + qgf_block_header_v1_t header; // = { .type_id = 0x00, .neg_type_id = (~0x00), .length = 18 } + uint32_t magic : 24; // constant, equal to 0x464751 ("QGF") + uint8_t qgf_version; // constant, equal to 0x01 + uint32_t total_file_size; // total size of the entire file, starting at offset zero + uint32_t neg_total_file_size; // negated value of total_file_size + uint16_t image_width; // in pixels + uint16_t image_height; // in pixels + uint16_t frame_count; // minimum of 1 +} qgf_graphics_descriptor_v1_t; + +_Static_assert(sizeof(qgf_graphics_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) + 18), "qgf_graphics_descriptor_v1_t must be 23 bytes in v1 of QGF"); + +#define QGF_MAGIC 0x464751 + +///////////////////////////////////////// +// Frame offset descriptor + +#define QGF_FRAME_OFFSET_DESCRIPTOR_TYPEID 0x01 + +typedef struct QP_PACKED qgf_frame_offsets_v1_t { + qgf_block_header_v1_t header; // = { .type_id = 0x01, .neg_type_id = (~0x01), .length = (N * sizeof(uint32_t)) } + uint32_t offset[0]; // '0' signifies that this struct is immediately followed by the frame offsets +} qgf_frame_offsets_v1_t; + +_Static_assert(sizeof(qgf_frame_offsets_v1_t) == sizeof(qgf_block_header_v1_t), "qgf_frame_offsets_v1_t must only contain qgf_block_header_v1_t in v1 of QGF"); + +///////////////////////////////////////// +// Frame descriptor + +#define QGF_FRAME_DESCRIPTOR_TYPEID 0x02 + +typedef struct QP_PACKED qgf_frame_v1_t { + qgf_block_header_v1_t header; // = { .type_id = 0x02, .neg_type_id = (~0x02), .length = 6 } + qp_image_format_t format : 8; // Frame format, see qp.h. + uint8_t flags; // Frame flags, see below. + painter_compression_t compression_scheme : 8; // Compression scheme, see qp.h. + uint8_t transparency_index; // palette index used for transparent pixels (not yet implemented) + uint16_t delay; // frame delay time for animations (in units of milliseconds) +} qgf_frame_v1_t; + +_Static_assert(sizeof(qgf_frame_v1_t) == (sizeof(qgf_block_header_v1_t) + 6), "qgf_frame_v1_t must be 11 bytes in v1 of QGF"); + +#define QGF_FRAME_FLAG_DELTA 0x02 +#define QGF_FRAME_FLAG_TRANSPARENT 0x01 + +///////////////////////////////////////// +// Frame palette descriptor + +#define QGF_FRAME_PALETTE_DESCRIPTOR_TYPEID 0x03 + +typedef struct QP_PACKED qgf_palette_entry_v1_t { + uint8_t h; // hue component: `[0,360)` degrees is mapped to `[0,255]` uint8_t. + uint8_t s; // saturation component: `[0,1]` is mapped to `[0,255]` uint8_t. + uint8_t v; // value component: `[0,1]` is mapped to `[0,255]` uint8_t. +} qgf_palette_entry_v1_t; + +_Static_assert(sizeof(qgf_palette_entry_v1_t) == 3, "Palette entry is not 3 bytes in size"); + +typedef struct QP_PACKED qgf_palette_v1_t { + qgf_block_header_v1_t header; // = { .type_id = 0x03, .neg_type_id = (~0x03), .length = (N * 3 * sizeof(uint8_t)) } + qgf_palette_entry_v1_t hsv[0]; // N * hsv, where N is the number of palette entries depending on the frame format in the descriptor +} qgf_palette_v1_t; + +_Static_assert(sizeof(qgf_palette_v1_t) == sizeof(qgf_block_header_v1_t), "qgf_palette_v1_t must only contain qgf_block_header_v1_t in v1 of QGF"); + +///////////////////////////////////////// +// Frame delta descriptor + +#define QGF_FRAME_DELTA_DESCRIPTOR_TYPEID 0x04 + +typedef struct QP_PACKED qgf_delta_v1_t { + qgf_block_header_v1_t header; // = { .type_id = 0x04, .neg_type_id = (~0x04), .length = 8 } + uint16_t left; // The left pixel location to draw the delta image + uint16_t top; // The top pixel location to draw the delta image + uint16_t right; // The right pixel location to to draw the delta image + uint16_t bottom; // The bottom pixel location to to draw the delta image +} qgf_delta_v1_t; + +_Static_assert(sizeof(qgf_delta_v1_t) == (sizeof(qgf_block_header_v1_t) + 8), "qgf_delta_v1_t must be 13 bytes in v1 of QGF"); + +///////////////////////////////////////// +// Frame data descriptor + +#define QGF_FRAME_DATA_DESCRIPTOR_TYPEID 0x05 + +typedef struct QP_PACKED qgf_data_v1_t { + qgf_block_header_v1_t header; // = { .type_id = 0x05, .neg_type_id = (~0x05), .length = N } + uint8_t data[0]; // 0 signifies that this struct is immediately followed by the length of data specified in the header +} qgf_data_v1_t; + +_Static_assert(sizeof(qgf_data_v1_t) == sizeof(qgf_block_header_v1_t), "qgf_data_v1_t must only contain qgf_block_header_v1_t in v1 of QGF"); + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// QGF API + +uint32_t qgf_get_total_size(qp_stream_t *stream); +bool qgf_validate_stream(qp_stream_t *stream); +bool qgf_validate_block_header(qgf_block_header_v1_t *desc, uint8_t expected_typeid, int32_t expected_length); +bool qgf_read_graphics_descriptor(qp_stream_t *stream, uint16_t *image_width, uint16_t *image_height, uint16_t *frame_count, uint32_t *total_bytes); +bool qgf_parse_format(qp_image_format_t format, uint8_t *bpp, bool *has_palette); +void qgf_seek_to_frame_descriptor(qp_stream_t *stream, uint16_t frame_number); +bool qgf_parse_frame_descriptor(qgf_frame_v1_t *frame_descriptor, uint8_t *bpp, bool *has_palette, bool *is_delta, painter_compression_t *compression_scheme, uint16_t *delay); diff --git a/quantum/painter/qp.c b/quantum/painter/qp.c new file mode 100644 index 000000000000..e292ff64973c --- /dev/null +++ b/quantum/painter/qp.c @@ -0,0 +1,228 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include +#include + +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_draw.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Internal driver validation + +static bool validate_driver_vtable(struct painter_driver_t *driver) { + return (driver->driver_vtable && driver->driver_vtable->init && driver->driver_vtable->power && driver->driver_vtable->clear && driver->driver_vtable->viewport && driver->driver_vtable->pixdata && driver->driver_vtable->palette_convert && driver->driver_vtable->append_pixels) ? true : false; +} + +static bool validate_comms_vtable(struct painter_driver_t *driver) { + return (driver->comms_vtable && driver->comms_vtable->comms_init && driver->comms_vtable->comms_start && driver->comms_vtable->comms_stop && driver->comms_vtable->comms_send) ? true : false; +} + +static bool validate_driver_integrity(struct painter_driver_t *driver) { + return validate_driver_vtable(driver) && validate_comms_vtable(driver); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_init + +bool qp_init(painter_device_t device, painter_rotation_t rotation) { + qp_dprintf("qp_init: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + + driver->validate_ok = false; + if (!validate_driver_integrity(driver)) { + qp_dprintf("Failed to validate driver integrity in qp_init\n"); + return false; + } + + driver->validate_ok = true; + + if (!qp_comms_init(device)) { + driver->validate_ok = false; + qp_dprintf("qp_init: fail (could not init comms)\n"); + return false; + } + + if (!qp_comms_start(device)) { + qp_dprintf("qp_init: fail (could not start comms)\n"); + return false; + } + + // Set the rotation before init + driver->rotation = rotation; + + // Invoke init + bool ret = driver->driver_vtable->init(device, rotation); + qp_comms_stop(device); + qp_dprintf("qp_init: %s\n", ret ? "ok" : "fail"); + return ret; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_power + +bool qp_power(painter_device_t device, bool power_on) { + qp_dprintf("qp_power: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_power: fail (validation_ok == false)\n"); + return false; + } + + if (!qp_comms_start(device)) { + qp_dprintf("qp_power: fail (could not start comms)\n"); + return false; + } + + bool ret = driver->driver_vtable->power(device, power_on); + qp_comms_stop(device); + qp_dprintf("qp_power: %s\n", ret ? "ok" : "fail"); + return ret; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_clear + +bool qp_clear(painter_device_t device) { + qp_dprintf("qp_clear: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_clear: fail (validation_ok == false)\n"); + return false; + } + + if (!qp_comms_start(device)) { + qp_dprintf("qp_clear: fail (could not start comms)\n"); + return false; + } + + bool ret = driver->driver_vtable->clear(device); + qp_comms_stop(device); + qp_dprintf("qp_clear: %s\n", ret ? "ok" : "fail"); + return ret; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_flush + +bool qp_flush(painter_device_t device) { + qp_dprintf("qp_flush: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_flush: fail (validation_ok == false)\n"); + return false; + } + + if (!qp_comms_start(device)) { + qp_dprintf("qp_flush: fail (could not start comms)\n"); + return false; + } + + bool ret = driver->driver_vtable->flush(device); + qp_comms_stop(device); + qp_dprintf("qp_flush: %s\n", ret ? "ok" : "fail"); + return ret; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_get_geometry + +void qp_get_geometry(painter_device_t device, uint16_t *width, uint16_t *height, painter_rotation_t *rotation, uint16_t *offset_x, uint16_t *offset_y) { + qp_dprintf("qp_geometry: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + + switch (driver->rotation) { + default: + case QP_ROTATION_0: + case QP_ROTATION_180: + if (width) { + *width = driver->panel_width; + } + if (height) { + *height = driver->panel_height; + } + break; + case QP_ROTATION_90: + case QP_ROTATION_270: + if (width) { + *width = driver->panel_height; + } + if (height) { + *height = driver->panel_width; + } + break; + } + + if (rotation) { + *rotation = driver->rotation; + } + + if (offset_x) { + *offset_x = driver->offset_x; + } + + if (offset_y) { + *offset_y = driver->offset_y; + } + + qp_dprintf("qp_geometry: ok\n"); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_set_viewport_offsets + +void qp_set_viewport_offsets(painter_device_t device, uint16_t offset_x, uint16_t offset_y) { + qp_dprintf("qp_set_viewport_offsets: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + + driver->offset_x = offset_x; + driver->offset_y = offset_y; + + qp_dprintf("qp_set_viewport_offsets: ok\n"); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_viewport + +bool qp_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { + qp_dprintf("qp_viewport: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_viewport: fail (validation_ok == false)\n"); + return false; + } + + if (!qp_comms_start(device)) { + qp_dprintf("qp_viewport: fail (could not start comms)\n"); + return false; + } + + // Set the viewport + bool ret = driver->driver_vtable->viewport(device, left, top, right, bottom); + qp_dprintf("qp_viewport: %s\n", ret ? "ok" : "fail"); + qp_comms_stop(device); + return ret; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_pixdata + +bool qp_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { + qp_dprintf("qp_pixdata: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_pixdata: fail (validation_ok == false)\n"); + return false; + } + + if (!qp_comms_start(device)) { + qp_dprintf("qp_pixdata: fail (could not start comms)\n"); + return false; + } + + bool ret = driver->driver_vtable->pixdata(device, pixel_data, native_pixel_count); + qp_dprintf("qp_pixdata: %s\n", ret ? "ok" : "fail"); + qp_comms_stop(device); + return ret; +} diff --git a/quantum/painter/qp.h b/quantum/painter/qp.h new file mode 100644 index 000000000000..e1c14d156cab --- /dev/null +++ b/quantum/painter/qp.h @@ -0,0 +1,453 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +#include "deferred_exec.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter global configurables (add to your keyboard's config.h) + +#ifndef QUANTUM_PAINTER_NUM_IMAGES +/** + * @def This controls the maximum number of images that Quantum Painter can load at any one time. Images can be loaded + * using \ref qp_load_image_mem, and can be unloaded by calling \ref qp_close_image. Increasing this number in + * order to load more images increases the amount of RAM required. Image data is not held in RAM, just metadata. + */ +# define QUANTUM_PAINTER_NUM_IMAGES 8 +#endif // QUANTUM_PAINTER_NUM_IMAGES + +#ifndef QUANTUM_PAINTER_NUM_FONTS +/** + * @def This controls the maximum number of fonts that Quantum Painter can load. Fonts can be loaded using + * \ref qp_load_font_mem, and can be unloaded by calling \ref qp_close_font. Increasing this number in order to + * load more fonts increases the amount of RAM required. Font data is not held in RAM, unless + * \ref QUANTUM_PAINTER_LOAD_FONTS_TO_RAM is set to TRUE. + */ +# define QUANTUM_PAINTER_NUM_FONTS 4 +#endif // QUANTUM_PAINTER_NUM_FONTS + +#ifndef QUANTUM_PAINTER_LOAD_FONTS_TO_RAM +/** + * @def This controls whether or not fonts should be cached in RAM. Under normal circumstances, fonts can have quite + * random access patterns, and due to timing of flash memory or external storage, it may be a significant speedup + * moving the font into RAM before use. Defaults to "off", but if it's enabled it will fallback to reading from the + * original location if corresponding RAM could not be allocated (such as being too large). + */ +# define QUANTUM_PAINTER_LOAD_FONTS_TO_RAM FALSE +#endif + +#ifndef QUANTUM_PAINTER_CONCURRENT_ANIMATIONS +/** + * @def This controls the maximum number of animations that Quantum Painter can play simultaneously. Increasing this + * number in order to play more animations at the same time increases the amount of RAM required. + */ +# define QUANTUM_PAINTER_CONCURRENT_ANIMATIONS 4 +#endif // QUANTUM_PAINTER_CONCURRENT_ANIMATIONS + +#ifndef QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE +/** + * @def This controls the maximum size of the pixel data buffer used for single blocks of transmission. Larger buffers + * means more data is processed at one time, with less frequent transmissions, at the cost of RAM. + */ +# define QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE 32 +#endif + +#ifndef QUANTUM_PAINTER_SUPPORTS_256_PALETTE +/** + * @def This controls whether 256-color palettes are supported. This has relatively hefty requirements on RAM -- at + * least 1kB extra is required just to store the palette information, with more required for other metadata. + */ +# define QUANTUM_PAINTER_SUPPORTS_256_PALETTE FALSE +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter types + +/** + * @typedef A handle to a Quantum Painter device, such as an LCD or OLED. Most Quantum Painter APIs require this + * argument in order to perform operations on the display. + */ +typedef const void *painter_device_t; + +/** + * @typedef The desired rotation of a panel. Used as a parameter to \ref qp_init, and can be queried by + * \ref qp_get_geometry. + */ +typedef enum { QP_ROTATION_0, QP_ROTATION_90, QP_ROTATION_180, QP_ROTATION_270 } painter_rotation_t; + +/** + * @typedef A descriptor for a Quantum Painter image. + */ +typedef struct painter_image_desc_t { + uint16_t width; ///< Image width + uint16_t height; ///< Image height + uint16_t frame_count; ///< Number of frames in this image +} painter_image_desc_t; + +/** + * @typedef A handle to a Quantum Painter image. + */ +typedef const painter_image_desc_t *painter_image_handle_t; + +/** + * @typedef A descriptor for a Quantum Painter font. + */ +typedef struct painter_font_desc_t { + uint8_t line_height; ///< The number of pixels in height for each line +} painter_font_desc_t; + +/** + * @typedef A handle to a Quantum Painter font. + */ +typedef const painter_font_desc_t *painter_font_handle_t; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API + +/** + * Initialize a device and set its rotation. + * + * @param device[in] the handle of the device to initialize + * @param rotation[in] the rotation to use + * @return true if initialization succeeded + * @return false if initialization failed + */ +bool qp_init(painter_device_t device, painter_rotation_t rotation); + +/** + * Controls whether a display is on or off. + * + * @note If backlighting is used to control brightness (such as for an LCD), it will need to be handled external to + * Quantum Painter. + * + * @param device[in] the handle of the device to control + * @param power_on[in] whether or not the device should be on + * @return true if controlling the power state succeeded + * @return false if controlling the power state failed + */ +bool qp_power(painter_device_t device, bool power_on); + +/** + * Clears a device's screen. + * + * @param device[in] the handle of the device to control + * @return true if clearing the screen succeeded + * @return false if clearing the screen failed + */ +bool qp_clear(painter_device_t device); + +/** + * Transmits any outstanding data to the screen in order to persist all changes to the display. + * + * @note Drivers without internal framebuffers will likely ignore this API. + * + * @param device[in] the handle of the device to control + * @return true if flushing changes to the screen succeeded + * @return false if flushing changes to the screen failed + */ +bool qp_flush(painter_device_t device); + +/** + * Retrieves the size, rotation, and offsets for the display. + * + * @note Any arguments of NULL will be ignored. + * + * @param device[in] the handle of the device to control + * @param width[out] the device's width + * @param height[out] the device's height + * @param rotation[out] the device's rotation + * @param offset_x[out] the device's x-offset applied while drawing + * @param offset_y[out] the device's y-offset applied while drawing + */ +void qp_get_geometry(painter_device_t device, uint16_t *width, uint16_t *height, painter_rotation_t *rotation, uint16_t *offset_x, uint16_t *offset_y); + +/** + * Allows repositioning of the viewport if the panel geometry offsets are non-zero. + * + * @param device[in] the handle of the device to control + * @param offset_x[in] the device's x-offset applied while drawing + * @param offset_y[in] the device's y-offset applied while drawing + */ +void qp_set_viewport_offsets(painter_device_t device, uint16_t offset_x, uint16_t offset_y); + +/** + * Sets a pixel to the specified color. + * + * @param device[in] the handle of the device to control + * @param x[in] the x-position to draw onto the device + * @param y[in] the y-position to draw onto the device + * @param hue[in] the hue to use, with 0-360 mapped to 0-255 + * @param sat[in] the saturation to use, with 0-100% mapped to 0-255 + * @param val[in] the value to use, with 0-100% mapped to 0-255 + * @return true if setting the pixel succeeded + * @return false if setting the pixel failed + */ +bool qp_setpixel(painter_device_t device, uint16_t x, uint16_t y, uint8_t hue, uint8_t sat, uint8_t val); + +/** + * Draws a line using the specified color. + * + * @param device[in] the handle of the device to control + * @param x0[in] the device's x-position to start + * @param y0[in] the device's y-position to start + * @param x1[in] the device's x-position to finish + * @param y1[in] the device's y-position to finish + * @param hue[in] the hue to use, with 0-360 mapped to 0-255 + * @param sat[in] the saturation to use, with 0-100% mapped to 0-255 + * @param val[in] the value to use, with 0-100% mapped to 0-255 + * @return true if drawing the line succeeded + * @return false if drawing the line failed + */ +bool qp_line(painter_device_t device, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint8_t hue, uint8_t sat, uint8_t val); + +/** + * Draws a rectangle using the specified color, optionally filled. + * + * @param device[in] the handle of the device to control + * @param left[in] the device's x-position to start + * @param top[in] the device's y-position to start + * @param right[in] the device's x-position to finish + * @param bottom[in] the device's y-position to finish + * @param hue[in] the hue to use, with 0-360 mapped to 0-255 + * @param sat[in] the saturation to use, with 0-100% mapped to 0-255 + * @param val[in] the value to use, with 0-100% mapped to 0-255 + * @param filled[in] whether the rectangle should be filled + * @return true if drawing the rectangle succeeded + * @return false if drawing the rectangle failed + */ +bool qp_rect(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint8_t hue, uint8_t sat, uint8_t val, bool filled); + +/** + * Draws a circle using the specified color, optionally filled. + * + * @param device[in] the handle of the device to control + * @param x[in] the x-position of the centre of the circle to draw onto the device + * @param y[in] the y-position of the centre of the circle to draw onto the device + * @param radius[in] the radius of the circle to draw + * @param hue[in] the hue to use, with 0-360 mapped to 0-255 + * @param sat[in] the saturation to use, with 0-100% mapped to 0-255 + * @param val[in] the value to use, with 0-100% mapped to 0-255 + * @param filled[in] whether the circle should be filled + * @return true if drawing the circle succeeded + * @return false if drawing the circle failed + */ +bool qp_circle(painter_device_t device, uint16_t x, uint16_t y, uint16_t radius, uint8_t hue, uint8_t sat, uint8_t val, bool filled); + +/** + * Draws a ellipse using the specified color, optionally filled. + * + * @param device[in] the handle of the device to control + * @param x[in] the x-position of the centre of the ellipse to draw onto the device + * @param y[in] the y-position of the centre of the ellipse to draw onto the device + * @param sizex[in] the horizontal size of the ellipse + * @param sizey[in] the vertical size of the ellipse + * @param hue[in] the hue to use, with 0-360 mapped to 0-255 + * @param sat[in] the saturation to use, with 0-100% mapped to 0-255 + * @param val[in] the value to use, with 0-100% mapped to 0-255 + * @param filled[in] whether the ellipse should be filled + * @return true if drawing the ellipse succeeded + * @return false if drawing the ellipse failed + */ +bool qp_ellipse(painter_device_t device, uint16_t x, uint16_t y, uint16_t sizex, uint16_t sizey, uint8_t hue, uint8_t sat, uint8_t val, bool filled); + +/** + * Sets up the location on the display to stream raw pixel data to the display, using \ref qp_pixdata. + * + * @note This is for advanced uses only, and should not be required for normal Quantum Painter functionality. + * + * @param device[in] the handle of the device to control + * @param left[in] the device's x-position to start + * @param top[in] the device's y-position to start + * @param right[in] the device's x-position to finish + * @param bottom[in] the device's y-position to finish + * @return true if setting the viewport succeeded + * @return false if setting the viewport failed + */ +bool qp_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom); + +/** + * Streams raw pixel data (in the native panel format) to the area previously set by \ref qp_viewport. + * + * @note This is for advanced uses only, and should not be required for normal Quantum Painter functionality. + * + * @param device[in] the handle of the device to control + * @param pixel_data[in] pointer to buffer data + * @param native_pixel_count[in] the number of pixels to transmit + * @return true if streaming of data succeeded + * @return false if streaming of data failed + */ +bool qp_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count); + +/** + * Loads an image into memory. + * + * @note Images can be unloaded by calling \ref qp_close_image. + * + * @param buffer[in] the image data to load + * @return an image handle usable with \ref qp_drawimage, \ref qp_drawimage_recolor, \ref qp_animate, and + * \ref qp_animate_recolor. + * @return NULL if loading the image failed + */ +painter_image_handle_t qp_load_image_mem(const void *buffer); + +/** + * Closes an image handle when no longer in use. + * + * @param image[in] the handle of the image to unload + * @return true if unloading the image succeeded + * @return false if unloading the image failed + */ +bool qp_close_image(painter_image_handle_t image); + +/** + * Draws an image to the display. + * + * @param device[in] the handle of the device to control + * @param x[in] the x-position where the image should be drawn onto the device + * @param y[in] the y-position where the image should be drawn onto the device + * @param image[in] the handle of the image to draw + * @return true if drawing the image succeeded + * @return false if drawing the image failed + */ +bool qp_drawimage(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image); + +/** + * Draws an image to the display, recoloring monochrome images to the desired foreground/background. + * + * @param device[in] the handle of the device to control + * @param x[in] the x-position where the image should be drawn onto the device + * @param y[in] the y-position where the image should be drawn onto the device + * @param image[in] the handle of the image to draw + * @param hue_fg[in] the foreground hue to use, with 0-360 mapped to 0-255 + * @param sat_fg[in] the foreground saturation to use, with 0-100% mapped to 0-255 + * @param val_fg[in] the foreground value to use, with 0-100% mapped to 0-255 + * @param hue_bg[in] the background hue to use, with 0-360 mapped to 0-255 + * @param sat_bg[in] the background saturation to use, with 0-100% mapped to 0-255 + * @param val_bg[in] the background value to use, with 0-100% mapped to 0-255 + * @return true if drawing the image succeeded + * @return false if drawing the image failed + */ +bool qp_drawimage_recolor(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image, uint8_t hue_fg, uint8_t sat_fg, uint8_t val_fg, uint8_t hue_bg, uint8_t sat_bg, uint8_t val_bg); + +/** + * Draws an animation to the display. + * + * @param device[in] the handle of the device to control + * @param x[in] the x-position where the image should be drawn onto the device + * @param y[in] the y-position where the image should be drawn onto the device + * @param image[in] the handle of the image to draw + * @return the \ref deferred_token to use with \ref qp_stop_animation in order to stop animating + * @return INVALID_DEFERRED_TOKEN if animating the image failed + */ +deferred_token qp_animate(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image); + +/** + * Draws an animation to the display, recoloring monochrome images to the desired foreground/background. + * + * @param device[in] the handle of the device to control + * @param x[in] the x-position where the image should be drawn onto the device + * @param y[in] the y-position where the image should be drawn onto the device + * @param image[in] the handle of the image to draw + * @param hue_fg[in] the foreground hue to use, with 0-360 mapped to 0-255 + * @param sat_fg[in] the foreground saturation to use, with 0-100% mapped to 0-255 + * @param val_fg[in] the foreground value to use, with 0-100% mapped to 0-255 + * @param hue_bg[in] the background hue to use, with 0-360 mapped to 0-255 + * @param sat_bg[in] the background saturation to use, with 0-100% mapped to 0-255 + * @param val_bg[in] the background value to use, with 0-100% mapped to 0-255 + * @return the \ref deferred_token to use with \ref qp_stop_animation in order to stop animating + * @return INVALID_DEFERRED_TOKEN if animating the image failed + */ +deferred_token qp_animate_recolor(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image, uint8_t hue_fg, uint8_t sat_fg, uint8_t val_fg, uint8_t hue_bg, uint8_t sat_bg, uint8_t val_bg); + +/** + * Cancels a running animation. + * + * @param anim_token[in] the animation token returned by \ref qp_animate, or \ref qp_animate_recolor. + */ +void qp_stop_animation(deferred_token anim_token); + +/** + * Loads a font into memory. + * + * @note Fonts can be unloaded by calling \ref qp_close_font. + * + * @param buffer[in] the font data to load + * @return an image handle usable with \ref qp_textwidth, \ref qp_drawtext, and \ref qp_drawtext_recolor. + * @return NULL if loading the font failed + */ +painter_font_handle_t qp_load_font_mem(const void *buffer); + +/** + * Closes a font handle when no longer in use. + * + * @param font[in] the handle of the font to unload + * @return true if unloading the font succeeded + * @return false if unloading the font failed + */ +bool qp_close_font(painter_font_handle_t font); + +/** + * Measures the width (in pixels) of the supplied string, given the specified font. + * + * @param font[in] the handle of the font + * @param str[in] the string to measure + * @return the width (in pixels) needed to draw the specified string + */ +int16_t qp_textwidth(painter_font_handle_t font, const char *str); + +/** + * Draws text to the display. + * + * @param device[in] the handle of the device to control + * @param x[in] the x-position where the text should be drawn onto the device + * @param y[in] the y-position where the text should be drawn onto the device + * @param font[in] the handle of the font + * @param str[in] the string to draw + * @return the width (in pixels) used when drawing the specified string + */ +int16_t qp_drawtext(painter_device_t device, uint16_t x, uint16_t y, painter_font_handle_t font, const char *str); + +/** + * Draws text to the display, recoloring monochrome fonts to the desired foreground/background. + * + * @param device[in] the handle of the device to control + * @param x[in] the x-position where the text should be drawn onto the device + * @param y[in] the y-position where the text should be drawn onto the device + * @param font[in] the handle of the font + * @param str[in] the string to draw + * @param hue_fg[in] the foreground hue to use, with 0-360 mapped to 0-255 + * @param sat_fg[in] the foreground saturation to use, with 0-100% mapped to 0-255 + * @param val_fg[in] the foreground value to use, with 0-100% mapped to 0-255 + * @param hue_bg[in] the background hue to use, with 0-360 mapped to 0-255 + * @param sat_bg[in] the background saturation to use, with 0-100% mapped to 0-255 + * @param val_bg[in] the background value to use, with 0-100% mapped to 0-255 + * @return the width (in pixels) used when drawing the specified string + */ +int16_t qp_drawtext_recolor(painter_device_t device, uint16_t x, uint16_t y, painter_font_handle_t font, const char *str, uint8_t hue_fg, uint8_t sat_fg, uint8_t val_fg, uint8_t hue_bg, uint8_t sat_bg, uint8_t val_bg); + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter Drivers + +#ifdef QUANTUM_PAINTER_ILI9163_ENABLE +# include "qp_ili9163.h" +#endif // QUANTUM_PAINTER_ILI9163_ENABLE + +#ifdef QUANTUM_PAINTER_ILI9341_ENABLE +# include "qp_ili9341.h" +#endif // QUANTUM_PAINTER_ILI9341_ENABLE + +#ifdef QUANTUM_PAINTER_ST7789_ENABLE +# include "qp_st7789.h" +#endif // QUANTUM_PAINTER_ST7789_ENABLE + +#ifdef QUANTUM_PAINTER_GC9A01_ENABLE +# include "qp_gc9a01.h" +#endif // QUANTUM_PAINTER_GC9A01_ENABLE + +#ifdef QUANTUM_PAINTER_SSD1351_ENABLE +# include "qp_ssd1351.h" +#endif // QUANTUM_PAINTER_SSD1351_ENABLE diff --git a/quantum/painter/qp_comms.c b/quantum/painter/qp_comms.c new file mode 100644 index 000000000000..dc17b4946003 --- /dev/null +++ b/quantum/painter/qp_comms.c @@ -0,0 +1,72 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_comms.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Base comms APIs + +bool qp_comms_init(painter_device_t device) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_comms_init: fail (validation_ok == false)\n"); + return false; + } + + return driver->comms_vtable->comms_init(device); +} + +bool qp_comms_start(painter_device_t device) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_comms_start: fail (validation_ok == false)\n"); + return false; + } + + return driver->comms_vtable->comms_start(device); +} + +void qp_comms_stop(painter_device_t device) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_comms_stop: fail (validation_ok == false)\n"); + return; + } + + driver->comms_vtable->comms_stop(device); +} + +uint32_t qp_comms_send(painter_device_t device, const void *data, uint32_t byte_count) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_comms_send: fail (validation_ok == false)\n"); + return false; + } + + return driver->comms_vtable->comms_send(device, data, byte_count); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Comms APIs that use a D/C pin + +void qp_comms_command(painter_device_t device, uint8_t cmd) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct painter_comms_with_command_vtable_t *comms_vtable = (struct painter_comms_with_command_vtable_t *)driver->comms_vtable; + comms_vtable->send_command(device, cmd); +} + +void qp_comms_command_databyte(painter_device_t device, uint8_t cmd, uint8_t data) { + qp_comms_command(device, cmd); + qp_comms_send(device, &data, sizeof(data)); +} + +uint32_t qp_comms_command_databuf(painter_device_t device, uint8_t cmd, const void *data, uint32_t byte_count) { + qp_comms_command(device, cmd); + return qp_comms_send(device, data, byte_count); +} + +void qp_comms_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + struct painter_comms_with_command_vtable_t *comms_vtable = (struct painter_comms_with_command_vtable_t *)driver->comms_vtable; + comms_vtable->bulk_command_sequence(device, sequence, sequence_len); +} diff --git a/quantum/painter/qp_comms.h b/quantum/painter/qp_comms.h new file mode 100644 index 000000000000..8fbf25c201cb --- /dev/null +++ b/quantum/painter/qp_comms.h @@ -0,0 +1,25 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Base comms APIs + +bool qp_comms_init(painter_device_t device); +bool qp_comms_start(painter_device_t device); +void qp_comms_stop(painter_device_t device); +uint32_t qp_comms_send(painter_device_t device, const void* data, uint32_t byte_count); + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Comms APIs that use a D/C pin + +void qp_comms_command(painter_device_t device, uint8_t cmd); +void qp_comms_command_databyte(painter_device_t device, uint8_t cmd, uint8_t data); +uint32_t qp_comms_command_databuf(painter_device_t device, uint8_t cmd, const void* data, uint32_t byte_count); +void qp_comms_bulk_command_sequence(painter_device_t device, const uint8_t* sequence, size_t sequence_len); diff --git a/quantum/painter/qp_draw.h b/quantum/painter/qp_draw.h new file mode 100644 index 000000000000..7094d80eaa68 --- /dev/null +++ b/quantum/painter/qp_draw.h @@ -0,0 +1,85 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "qp_internal.h" +#include "qp_stream.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter utility functions + +// Global variable used for native pixel data streaming. +extern uint8_t qp_internal_global_pixdata_buffer[QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE]; + +// Check if the supplied bpp is capable of being rendered +bool qp_internal_bpp_capable(uint8_t bits_per_pixel); + +// Returns the number of pixels that can fit in the pixdata buffer +uint32_t qp_internal_num_pixels_in_buffer(painter_device_t device); + +// Fills the supplied buffer with equivalent native pixels matching the supplied HSV +void qp_internal_fill_pixdata(painter_device_t device, uint32_t num_pixels, uint8_t hue, uint8_t sat, uint8_t val); + +// qp_setpixel internal implementation, but uses the global pixdata buffer with pre-converted native pixel. Only the first pixel is used. +bool qp_internal_setpixel_impl(painter_device_t device, uint16_t x, uint16_t y); + +// qp_rect internal implementation, but uses the global pixdata buffer with pre-converted native pixels. +bool qp_internal_fillrect_helper_impl(painter_device_t device, uint16_t l, uint16_t t, uint16_t r, uint16_t b); + +// Convert from input pixel data + palette to equivalent pixels +typedef int16_t (*qp_internal_byte_input_callback)(void* cb_arg); +typedef bool (*qp_internal_pixel_output_callback)(qp_pixel_t* palette, uint8_t index, void* cb_arg); +bool qp_internal_decode_palette(painter_device_t device, uint32_t pixel_count, uint8_t bits_per_pixel, qp_internal_byte_input_callback input_callback, void* input_arg, qp_pixel_t* palette, qp_internal_pixel_output_callback output_callback, void* output_arg); +bool qp_internal_decode_grayscale(painter_device_t device, uint32_t pixel_count, uint8_t bits_per_pixel, qp_internal_byte_input_callback input_callback, void* input_arg, qp_internal_pixel_output_callback output_callback, void* output_arg); +bool qp_internal_decode_recolor(painter_device_t device, uint32_t pixel_count, uint8_t bits_per_pixel, qp_internal_byte_input_callback input_callback, void* input_arg, qp_pixel_t fg_hsv888, qp_pixel_t bg_hsv888, qp_internal_pixel_output_callback output_callback, void* output_arg); + +// Global variable used for interpolated pixel lookup table. +#if QUANTUM_PAINTER_SUPPORTS_256_PALETTE +extern qp_pixel_t qp_internal_global_pixel_lookup_table[256]; +#else +extern qp_pixel_t qp_internal_global_pixel_lookup_table[16]; +#endif + +// Generates a color-interpolated lookup table based off the number of items, from foreground to background, for use with monochrome image rendering. +// Returns true if a palette was created, false if the palette is reused. +// As this uses a global, this may present a problem if using the same parameters but a different screen converts pixels -- use qp_internal_invalidate_palette() below to reset. +bool qp_internal_interpolate_palette(qp_pixel_t fg_hsv888, qp_pixel_t bg_hsv888, int16_t steps); + +// Resets the global palette so that it can be regenerated. Only needed if the colors are identical, but a different display is used with a different internal pixel format. +void qp_internal_invalidate_palette(void); + +// Helper shared between image and font rendering -- sets up the global palette to match the palette block specified in the asset. Expects the stream to be positioned at the start of the block header. +bool qp_internal_load_qgf_palette(qp_stream_t* stream, uint8_t bpp); + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter codec functions + +enum qp_internal_rle_mode_t { + MARKER_BYTE, + REPEATING_RUN, + NON_REPEATING_RUN, +}; + +struct qp_internal_byte_input_state { + painter_device_t device; + qp_stream_t* src_stream; + int16_t curr; + union { + // RLE-specific + struct { + enum qp_internal_rle_mode_t mode; + uint8_t remain; // number of bytes remaining in the current mode + } rle; + }; +}; + +struct qp_internal_pixel_output_state { + painter_device_t device; + uint32_t pixel_write_pos; + uint32_t max_pixels; +}; + +bool qp_internal_pixel_appender(qp_pixel_t* palette, uint8_t index, void* cb_arg); + +qp_internal_byte_input_callback qp_internal_prepare_input_state(struct qp_internal_byte_input_state* input_state, painter_compression_t compression); diff --git a/quantum/painter/qp_draw_circle.c b/quantum/painter/qp_draw_circle.c new file mode 100644 index 000000000000..edaae358356b --- /dev/null +++ b/quantum/painter/qp_draw_circle.c @@ -0,0 +1,172 @@ +// Copyright 2021 Paul Cotter (@gr1mr3aver) +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp.h" +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_draw.h" + +// Utilize 8-way symmetry to draw circles +static bool qp_circle_helper_impl(painter_device_t device, uint16_t centerx, uint16_t centery, uint16_t offsetx, uint16_t offsety, bool filled) { + /* + Circles have the property of 8-way symmetry, so eight pixels can be drawn + for each computed [offsetx,offsety] given the center coordinates + represented by [centerx,centery]. + + For filled circles, we can draw horizontal lines between each pair of + pixels with the same final value of y. + + Two special cases exist and have been optimized: + 1) offsetx == offsety (the final point), makes half the coordinates + equivalent, so we can omit them (and the corresponding fill lines) + 2) offsetx == 0 (the starting point) means that some horizontal lines + would be a single pixel in length, so we write individual pixels instead. + This also makes half the symmetrical points identical to their twins, + so we only need four points or two points and one line + */ + + int16_t xpx = ((int16_t)centerx) + ((int16_t)offsetx); + int16_t xmx = ((int16_t)centerx) - ((int16_t)offsetx); + int16_t xpy = ((int16_t)centerx) + ((int16_t)offsety); + int16_t xmy = ((int16_t)centerx) - ((int16_t)offsety); + int16_t ypx = ((int16_t)centery) + ((int16_t)offsetx); + int16_t ymx = ((int16_t)centery) - ((int16_t)offsetx); + int16_t ypy = ((int16_t)centery) + ((int16_t)offsety); + int16_t ymy = ((int16_t)centery) - ((int16_t)offsety); + + if (offsetx == 0) { + if (!qp_internal_setpixel_impl(device, centerx, ypy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, centerx, ymy)) { + return false; + } + if (filled) { + if (!qp_internal_fillrect_helper_impl(device, xpy, centery, xmy, centery)) { + return false; + } + } else { + if (!qp_internal_setpixel_impl(device, xpy, centery)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xmy, centery)) { + return false; + } + } + } else if (offsetx == offsety) { + if (filled) { + if (!qp_internal_fillrect_helper_impl(device, xpy, ypy, xmy, ypy)) { + return false; + } + if (!qp_internal_fillrect_helper_impl(device, xpy, ymy, xmy, ymy)) { + return false; + } + } else { + if (!qp_internal_setpixel_impl(device, xpy, ypy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xmy, ypy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xpy, ymy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xmy, ymy)) { + return false; + } + } + + } else { + if (filled) { + if (!qp_internal_fillrect_helper_impl(device, xpx, ypy, xmx, ypy)) { + return false; + } + if (!qp_internal_fillrect_helper_impl(device, xpx, ymy, xmx, ymy)) { + return false; + } + if (!qp_internal_fillrect_helper_impl(device, xpy, ypx, xmy, ypx)) { + return false; + } + if (!qp_internal_fillrect_helper_impl(device, xpy, ymx, xmy, ymx)) { + return false; + } + } else { + if (!qp_internal_setpixel_impl(device, xpx, ypy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xmx, ypy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xpx, ymy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xmx, ymy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xpy, ypx)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xmy, ypx)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xpy, ymx)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xmy, ymx)) { + return false; + } + } + } + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_circle + +bool qp_circle(painter_device_t device, uint16_t x, uint16_t y, uint16_t radius, uint8_t hue, uint8_t sat, uint8_t val, bool filled) { + qp_dprintf("qp_circle: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_circle: fail (validation_ok == false)\n"); + return false; + } + + // plot the initial set of points for x, y and r + int16_t xcalc = 0; + int16_t ycalc = (int16_t)radius; + int16_t err = ((5 - (radius >> 2)) >> 2); + + qp_internal_fill_pixdata(device, (radius * 2) + 1, hue, sat, val); + + if (!qp_comms_start(device)) { + qp_dprintf("qp_circle: fail (could not start comms)\n"); + return false; + } + + bool ret = true; + if (!qp_circle_helper_impl(device, x, y, xcalc, ycalc, filled)) { + ret = false; + } + + if (ret) { + while (xcalc < ycalc) { + xcalc++; + if (err < 0) { + err += (xcalc << 1) + 1; + } else { + ycalc--; + err += ((xcalc - ycalc) << 1) + 1; + } + if (!qp_circle_helper_impl(device, x, y, xcalc, ycalc, filled)) { + ret = false; + break; + } + } + } + + qp_dprintf("qp_circle: %s\n", ret ? "ok" : "fail"); + qp_comms_stop(device); + return ret; +} diff --git a/quantum/painter/qp_draw_codec.c b/quantum/painter/qp_draw_codec.c new file mode 100644 index 000000000000..438dce399460 --- /dev/null +++ b/quantum/painter/qp_draw_codec.c @@ -0,0 +1,142 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_internal.h" +#include "qp_draw.h" +#include "qp_comms.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Palette / Monochrome-format decoder + +static const qp_pixel_t qp_pixel_white = {.hsv888 = {.h = 0, .s = 0, .v = 255}}; +static const qp_pixel_t qp_pixel_black = {.hsv888 = {.h = 0, .s = 0, .v = 0}}; + +bool qp_internal_bpp_capable(uint8_t bits_per_pixel) { +#if !(QUANTUM_PAINTER_SUPPORTS_256_PALETTE) + if (bits_per_pixel > 4) { + qp_dprintf("qp_internal_decode_palette: image bpp greater than 4\n"); + return false; + } +#endif + + if (bits_per_pixel > 8) { + qp_dprintf("qp_internal_decode_palette: image bpp greater than 8\n"); + return false; + } + + return true; +} + +bool qp_internal_decode_palette(painter_device_t device, uint32_t pixel_count, uint8_t bits_per_pixel, qp_internal_byte_input_callback input_callback, void* input_arg, qp_pixel_t* palette, qp_internal_pixel_output_callback output_callback, void* output_arg) { + const uint8_t pixel_bitmask = (1 << bits_per_pixel) - 1; + const uint8_t pixels_per_byte = 8 / bits_per_pixel; + uint32_t remaining_pixels = pixel_count; // don't try to derive from byte_count, we may not use an entire byte + while (remaining_pixels > 0) { + uint8_t byteval = input_callback(input_arg); + if (byteval < 0) { + return false; + } + uint8_t loop_pixels = remaining_pixels < pixels_per_byte ? remaining_pixels : pixels_per_byte; + for (uint8_t q = 0; q < loop_pixels; ++q) { + if (!output_callback(palette, byteval & pixel_bitmask, output_arg)) { + return false; + } + byteval >>= bits_per_pixel; + } + remaining_pixels -= loop_pixels; + } + return true; +} + +bool qp_internal_decode_grayscale(painter_device_t device, uint32_t pixel_count, uint8_t bits_per_pixel, qp_internal_byte_input_callback input_callback, void* input_arg, qp_internal_pixel_output_callback output_callback, void* output_arg) { + return qp_internal_decode_recolor(device, pixel_count, bits_per_pixel, input_callback, input_arg, qp_pixel_white, qp_pixel_black, output_callback, output_arg); +} + +bool qp_internal_decode_recolor(painter_device_t device, uint32_t pixel_count, uint8_t bits_per_pixel, qp_internal_byte_input_callback input_callback, void* input_arg, qp_pixel_t fg_hsv888, qp_pixel_t bg_hsv888, qp_internal_pixel_output_callback output_callback, void* output_arg) { + struct painter_driver_t* driver = (struct painter_driver_t*)device; + int16_t steps = 1 << bits_per_pixel; // number of items we need to interpolate + if (qp_internal_interpolate_palette(fg_hsv888, bg_hsv888, steps)) { + if (!driver->driver_vtable->palette_convert(device, steps, qp_internal_global_pixel_lookup_table)) { + return false; + } + } + + return qp_internal_decode_palette(device, pixel_count, bits_per_pixel, input_callback, input_arg, qp_internal_global_pixel_lookup_table, output_callback, output_arg); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Progressive pull of bytes, push of pixels + +static inline int16_t qp_drawimage_byte_uncompressed_decoder(void* cb_arg) { + struct qp_internal_byte_input_state* state = (struct qp_internal_byte_input_state*)cb_arg; + state->curr = qp_stream_get(state->src_stream); + return state->curr; +} + +static inline int16_t qp_drawimage_byte_rle_decoder(void* cb_arg) { + struct qp_internal_byte_input_state* state = (struct qp_internal_byte_input_state*)cb_arg; + + // Work out if we're parsing the initial marker byte + if (state->rle.mode == MARKER_BYTE) { + uint8_t c = qp_stream_get(state->src_stream); + if (c >= 128) { + state->rle.mode = NON_REPEATING_RUN; // non-repeated run + state->rle.remain = c - 127; + } else { + state->rle.mode = REPEATING_RUN; // repeated run + state->rle.remain = c; + } + + state->curr = qp_stream_get(state->src_stream); + } + + // Work out which byte we're returning + uint8_t c = state->curr; + + // Decrement the counter of the bytes remaining + state->rle.remain--; + + if (state->rle.remain > 0) { + // If we're in a non-repeating run, queue up the next byte + if (state->rle.mode == NON_REPEATING_RUN) { + state->curr = qp_stream_get(state->src_stream); + } + } else { + // Swap back to querying the marker byte mode + state->rle.mode = MARKER_BYTE; + } + + return c; +} + +bool qp_internal_pixel_appender(qp_pixel_t* palette, uint8_t index, void* cb_arg) { + struct qp_internal_pixel_output_state* state = (struct qp_internal_pixel_output_state*)cb_arg; + struct painter_driver_t* driver = (struct painter_driver_t*)state->device; + + if (!driver->driver_vtable->append_pixels(state->device, qp_internal_global_pixdata_buffer, palette, state->pixel_write_pos++, 1, &index)) { + return false; + } + + // If we've hit the transmit limit, send out the entire buffer and reset the write position + if (state->pixel_write_pos == state->max_pixels) { + if (!driver->driver_vtable->pixdata(state->device, qp_internal_global_pixdata_buffer, state->pixel_write_pos)) { + return false; + } + state->pixel_write_pos = 0; + } + + return true; +} + +qp_internal_byte_input_callback qp_internal_prepare_input_state(struct qp_internal_byte_input_state* input_state, painter_compression_t compression) { + switch (compression) { + case IMAGE_UNCOMPRESSED: + return qp_drawimage_byte_uncompressed_decoder; + case IMAGE_COMPRESSED_RLE: + input_state->rle.mode = MARKER_BYTE; + input_state->rle.remain = 0; + return qp_drawimage_byte_rle_decoder; + default: + return NULL; + } +} diff --git a/quantum/painter/qp_draw_core.c b/quantum/painter/qp_draw_core.c new file mode 100644 index 000000000000..c31c734132bf --- /dev/null +++ b/quantum/painter/qp_draw_core.c @@ -0,0 +1,294 @@ +// Copyright 2021-2022 Nick Brassel (@tzarc) +// Copyright 2021 Paul Cotter (@gr1mr3aver) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_draw.h" +#include "qgf.h" + +_Static_assert((QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE > 0) && (QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE % 16) == 0, "QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE needs to be a non-zero multiple of 16"); + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Global variables +// +// NOTE: The variables in this section are intentionally outside a stack frame. They are able to be defined with larger +// sizes than the normal stack frames would allow, and as such need to be external. +// +// **** DO NOT refactor this and decide to place the variables inside the function calling them -- you will **** +// **** very likely get artifacts rendered to the screen as a result. **** +// + +// Buffer used for transmitting native pixel data to the downstream device. +uint8_t qp_internal_global_pixdata_buffer[QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE]; + +// Static buffer to contain a generated color palette +static bool generated_palette = false; +static int16_t generated_steps = -1; +static qp_pixel_t interpolated_fg_hsv888; +static qp_pixel_t interpolated_bg_hsv888; +#if QUANTUM_PAINTER_SUPPORTS_256_PALETTE +qp_pixel_t qp_internal_global_pixel_lookup_table[256]; +#else +qp_pixel_t qp_internal_global_pixel_lookup_table[16]; +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Helpers + +uint32_t qp_internal_num_pixels_in_buffer(painter_device_t device) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + return ((QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE * 8) / driver->native_bits_per_pixel); +} + +// qp_setpixel internal implementation, but accepts a buffer with pre-converted native pixel. Only the first pixel is used. +bool qp_internal_setpixel_impl(painter_device_t device, uint16_t x, uint16_t y) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + return driver->driver_vtable->viewport(device, x, y, x, y) && driver->driver_vtable->pixdata(device, qp_internal_global_pixdata_buffer, 1); +} + +// Fills the global native pixel buffer with equivalent pixels matching the supplied HSV +void qp_internal_fill_pixdata(painter_device_t device, uint32_t num_pixels, uint8_t hue, uint8_t sat, uint8_t val) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + uint32_t pixels_in_pixdata = qp_internal_num_pixels_in_buffer(device); + num_pixels = QP_MIN(pixels_in_pixdata, num_pixels); + + // Convert the color to native pixel format + qp_pixel_t color = {.hsv888 = {.h = hue, .s = sat, .v = val}}; + driver->driver_vtable->palette_convert(device, 1, &color); + + // Append the required number of pixels + uint8_t palette_idx = 0; + for (uint32_t i = 0; i < num_pixels; ++i) { + driver->driver_vtable->append_pixels(device, qp_internal_global_pixdata_buffer, &color, i, 1, &palette_idx); + } +} + +// Resets the global palette so that it can be regenerated. Only needed if the colors are identical, but a different display is used with a different internal pixel format. +void qp_internal_invalidate_palette(void) { + generated_palette = false; + generated_steps = -1; +} + +// Interpolates between two colors to generate a palette +bool qp_internal_interpolate_palette(qp_pixel_t fg_hsv888, qp_pixel_t bg_hsv888, int16_t steps) { + // Check if we need to generate a new palette -- if the input parameters match then assume the palette can stay unchanged. + // This may present a problem if using the same parameters but a different screen converts pixels -- use qp_internal_invalidate_palette() to reset. + if (generated_palette == true && generated_steps == steps && memcmp(&interpolated_fg_hsv888, &fg_hsv888, sizeof(fg_hsv888)) == 0 && memcmp(&interpolated_bg_hsv888, &bg_hsv888, sizeof(bg_hsv888)) == 0) { + // We already have the correct palette, no point regenerating it. + return false; + } + + // Save the parameters so we know whether we can skip generation + generated_palette = true; + generated_steps = steps; + interpolated_fg_hsv888 = fg_hsv888; + interpolated_bg_hsv888 = bg_hsv888; + + int16_t hue_fg = fg_hsv888.hsv888.h; + int16_t hue_bg = bg_hsv888.hsv888.h; + + // Make sure we take the "shortest" route from one hue to the other + if ((hue_fg - hue_bg) >= 128) { + hue_bg += 256; + } else if ((hue_fg - hue_bg) <= -128) { + hue_bg -= 256; + } + + // Interpolate each of the lookup table entries + for (int16_t i = 0; i < steps; ++i) { + qp_internal_global_pixel_lookup_table[i].hsv888.h = (uint8_t)((hue_fg - hue_bg) * i / (steps - 1) + hue_bg); + qp_internal_global_pixel_lookup_table[i].hsv888.s = (uint8_t)((fg_hsv888.hsv888.s - bg_hsv888.hsv888.s) * i / (steps - 1) + bg_hsv888.hsv888.s); + qp_internal_global_pixel_lookup_table[i].hsv888.v = (uint8_t)((fg_hsv888.hsv888.v - bg_hsv888.hsv888.v) * i / (steps - 1) + bg_hsv888.hsv888.v); + + qp_dprintf("qp_internal_interpolate_palette: %3d of %d -- H: %3d, S: %3d, V: %3d\n", (int)(i + 1), (int)steps, (int)qp_internal_global_pixel_lookup_table[i].hsv888.h, (int)qp_internal_global_pixel_lookup_table[i].hsv888.s, (int)qp_internal_global_pixel_lookup_table[i].hsv888.v); + } + + return true; +} + +// Helper shared between image and font rendering -- sets up the global palette to match the palette block specified in the asset. Expects the stream to be positioned at the start of the block header. +bool qp_internal_load_qgf_palette(qp_stream_t *stream, uint8_t bpp) { + qgf_palette_v1_t palette_descriptor; + if (qp_stream_read(&palette_descriptor, sizeof(qgf_palette_v1_t), 1, stream) != 1) { + qp_dprintf("Failed to read palette_descriptor, expected length was not %d\n", (int)sizeof(qgf_palette_v1_t)); + return false; + } + + // BPP determines the number of palette entries, each entry is a HSV888 triplet. + const uint16_t palette_entries = 1u << bpp; + + // Ensure we aren't reusing any palette + qp_internal_invalidate_palette(); + + // Read the palette entries + for (uint16_t i = 0; i < palette_entries; ++i) { + // Read the palette entry + qgf_palette_entry_v1_t entry; + if (qp_stream_read(&entry, sizeof(qgf_palette_entry_v1_t), 1, stream) != 1) { + return false; + } + + // Update the lookup table + qp_internal_global_pixel_lookup_table[i].hsv888.h = entry.h; + qp_internal_global_pixel_lookup_table[i].hsv888.s = entry.s; + qp_internal_global_pixel_lookup_table[i].hsv888.v = entry.v; + + qp_dprintf("qp_internal_load_qgf_palette: %3d of %d -- H: %3d, S: %3d, V: %3d\n", (int)(i + 1), (int)palette_entries, (int)qp_internal_global_pixel_lookup_table[i].hsv888.h, (int)qp_internal_global_pixel_lookup_table[i].hsv888.s, (int)qp_internal_global_pixel_lookup_table[i].hsv888.v); + } + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_setpixel + +bool qp_setpixel(painter_device_t device, uint16_t x, uint16_t y, uint8_t hue, uint8_t sat, uint8_t val) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_setpixel: fail (validation_ok == false)\n"); + return false; + } + + if (!qp_comms_start(device)) { + qp_dprintf("Failed to start comms in qp_setpixel\n"); + return false; + } + + qp_internal_fill_pixdata(device, 1, hue, sat, val); + bool ret = qp_internal_setpixel_impl(device, x, y); + qp_comms_stop(device); + qp_dprintf("qp_setpixel: %s\n", ret ? "ok" : "fail"); + return ret; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_line + +bool qp_line(painter_device_t device, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint8_t hue, uint8_t sat, uint8_t val) { + if (x0 == x1 || y0 == y1) { + qp_dprintf("qp_line(%d, %d, %d, %d): entry (deferring to qp_rect)\n", (int)x0, (int)y0, (int)x1, (int)y1); + bool ret = qp_rect(device, x0, y0, x1, y1, hue, sat, val, true); + qp_dprintf("qp_line(%d, %d, %d, %d): %s (deferred to qp_rect)\n", (int)x0, (int)y0, (int)x1, (int)y1, ret ? "ok" : "fail"); + return ret; + } + + qp_dprintf("qp_line(%d, %d, %d, %d): entry\n", (int)x0, (int)y0, (int)x1, (int)y1); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_line: fail (validation_ok == false)\n"); + return false; + } + + if (!qp_comms_start(device)) { + qp_dprintf("Failed to start comms in qp_line\n"); + return false; + } + + qp_internal_fill_pixdata(device, 1, hue, sat, val); + + // draw angled line using Bresenham's algo + int16_t x = ((int16_t)x0); + int16_t y = ((int16_t)y0); + int16_t slopex = ((int16_t)x0) < ((int16_t)x1) ? 1 : -1; + int16_t slopey = ((int16_t)y0) < ((int16_t)y1) ? 1 : -1; + int16_t dx = abs(((int16_t)x1) - ((int16_t)x0)); + int16_t dy = -abs(((int16_t)y1) - ((int16_t)y0)); + + int16_t e = dx + dy; + int16_t e2 = 2 * e; + + bool ret = true; + while (x != x1 || y != y1) { + if (!qp_internal_setpixel_impl(device, x, y)) { + ret = false; + break; + } + e2 = 2 * e; + if (e2 >= dy) { + e += dy; + x += slopex; + } + if (e2 <= dx) { + e += dx; + y += slopey; + } + } + // draw the last pixel + if (!qp_internal_setpixel_impl(device, x, y)) { + ret = false; + } + + qp_comms_stop(device); + qp_dprintf("qp_line(%d, %d, %d, %d): %s\n", (int)x0, (int)y0, (int)x1, (int)y1, ret ? "ok" : "fail"); + return ret; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_rect + +bool qp_internal_fillrect_helper_impl(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { + uint32_t pixels_in_pixdata = qp_internal_num_pixels_in_buffer(device); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + + uint16_t l = QP_MIN(left, right); + uint16_t r = QP_MAX(left, right); + uint16_t t = QP_MIN(top, bottom); + uint16_t b = QP_MAX(top, bottom); + uint16_t w = r - l + 1; + uint16_t h = b - t + 1; + + uint32_t remaining = w * h; + driver->driver_vtable->viewport(device, l, t, r, b); + while (remaining > 0) { + uint32_t transmit = QP_MIN(remaining, pixels_in_pixdata); + if (!driver->driver_vtable->pixdata(device, qp_internal_global_pixdata_buffer, transmit)) { + return false; + } + remaining -= transmit; + } + return true; +} + +bool qp_rect(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint8_t hue, uint8_t sat, uint8_t val, bool filled) { + qp_dprintf("qp_rect(%d, %d, %d, %d): entry\n", (int)left, (int)top, (int)right, (int)bottom); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_rect: fail (validation_ok == false)\n"); + return false; + } + + // Cater for cases where people have submitted the coordinates backwards + uint16_t l = QP_MIN(left, right); + uint16_t r = QP_MAX(left, right); + uint16_t t = QP_MIN(top, bottom); + uint16_t b = QP_MAX(top, bottom); + uint16_t w = r - l + 1; + uint16_t h = b - t + 1; + + bool ret = true; + if (!qp_comms_start(device)) { + qp_dprintf("Failed to start comms in qp_rect\n"); + return false; + } + + if (filled) { + // Fill up the pixdata buffer with the required number of native pixels + qp_internal_fill_pixdata(device, w * h, hue, sat, val); + + // Perform the draw + ret = qp_internal_fillrect_helper_impl(device, l, t, r, b); + } else { + // Fill up the pixdata buffer with the required number of native pixels + qp_internal_fill_pixdata(device, QP_MAX(w, h), hue, sat, val); + + // Draw 4x filled single-width rects to create an outline + if (!qp_internal_fillrect_helper_impl(device, l, t, r, t) || !qp_internal_fillrect_helper_impl(device, l, b, r, b) || !qp_internal_fillrect_helper_impl(device, l, t + 1, l, b - 1) || !qp_internal_fillrect_helper_impl(device, r, t + 1, r, b - 1)) { + ret = false; + } + } + + qp_comms_stop(device); + qp_dprintf("qp_rect(%d, %d, %d, %d): %s\n", (int)l, (int)t, (int)r, (int)b, ret ? "ok" : "fail"); + return ret; +} diff --git a/quantum/painter/qp_draw_ellipse.c b/quantum/painter/qp_draw_ellipse.c new file mode 100644 index 000000000000..7f2f4abcfdd5 --- /dev/null +++ b/quantum/painter/qp_draw_ellipse.c @@ -0,0 +1,116 @@ +// Copyright 2021 Paul Cotter (@gr1mr3aver) +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_draw.h" + +// Utilize 4-way symmetry to draw an ellipse +static bool qp_ellipse_helper_impl(painter_device_t device, uint16_t centerx, uint16_t centery, uint16_t offsetx, uint16_t offsety, bool filled) { + /* + Ellipses have the property of 4-way symmetry, so four pixels can be drawn + for each computed [offsetx,offsety] given the center coordinates + represented by [centerx,centery]. + + For filled ellipses, we can draw horizontal lines between each pair of + pixels with the same final value of y. + + When offsetx == 0 only two pixels can be drawn for filled or unfilled ellipses + */ + + int16_t xpx = ((int16_t)centerx) + ((int16_t)offsetx); + int16_t xmx = ((int16_t)centerx) - ((int16_t)offsetx); + int16_t ypy = ((int16_t)centery) + ((int16_t)offsety); + int16_t ymy = ((int16_t)centery) - ((int16_t)offsety); + + if (offsetx == 0) { + if (!qp_internal_setpixel_impl(device, xpx, ypy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xpx, ymy)) { + return false; + } + } else if (filled) { + if (!qp_internal_fillrect_helper_impl(device, xpx, ypy, xmx, ypy)) { + return false; + } + if (offsety > 0 && !qp_internal_fillrect_helper_impl(device, xpx, ymy, xmx, ymy)) { + return false; + } + } else { + if (!qp_internal_setpixel_impl(device, xpx, ypy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xpx, ymy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xmx, ypy)) { + return false; + } + if (!qp_internal_setpixel_impl(device, xmx, ymy)) { + return false; + } + } + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_ellipse + +bool qp_ellipse(painter_device_t device, uint16_t x, uint16_t y, uint16_t sizex, uint16_t sizey, uint8_t hue, uint8_t sat, uint8_t val, bool filled) { + qp_dprintf("qp_ellipse: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_ellipse: fail (validation_ok == false)\n"); + return false; + } + + int16_t aa = ((int16_t)sizex) * ((int16_t)sizex); + int16_t bb = ((int16_t)sizey) * ((int16_t)sizey); + int16_t fa = 4 * ((int16_t)aa); + int16_t fb = 4 * ((int16_t)bb); + + int16_t dx = 0; + int16_t dy = ((int16_t)sizey); + + qp_internal_fill_pixdata(device, QP_MAX(sizex, sizey), hue, sat, val); + + if (!qp_comms_start(device)) { + qp_dprintf("qp_ellipse: fail (could not start comms)\n"); + return false; + } + + bool ret = true; + for (int16_t delta = (2 * bb) + (aa * (1 - (2 * sizey))); bb * dx <= aa * dy; dx++) { + if (!qp_ellipse_helper_impl(device, x, y, dx, dy, filled)) { + ret = false; + break; + } + if (delta >= 0) { + delta += fa * (1 - dy); + dy--; + } + delta += bb * (4 * dx + 6); + } + + dx = sizex; + dy = 0; + + for (int16_t delta = (2 * aa) + (bb * (1 - (2 * sizex))); aa * dy <= bb * dx; dy++) { + if (!qp_ellipse_helper_impl(device, x, y, dx, dy, filled)) { + ret = false; + break; + } + if (delta >= 0) { + delta += fb * (1 - dx); + dx--; + } + delta += aa * (4 * dy + 6); + } + + qp_dprintf("qp_ellipse: %s\n", ret ? "ok" : "fail"); + qp_comms_stop(device); + return ret; +} diff --git a/quantum/painter/qp_draw_image.c b/quantum/painter/qp_draw_image.c new file mode 100644 index 000000000000..5134ae7e99ae --- /dev/null +++ b/quantum/painter/qp_draw_image.c @@ -0,0 +1,382 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_internal.h" +#include "qp_draw.h" +#include "qp_comms.h" +#include "qgf.h" +#include "deferred_exec.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// QGF image handles + +typedef struct qgf_image_handle_t { + painter_image_desc_t base; + bool validate_ok; + union { + qp_stream_t stream; + qp_memory_stream_t mem_stream; +#ifdef QP_STREAM_HAS_FILE_IO + qp_file_stream_t file_stream; +#endif // QP_STREAM_HAS_FILE_IO + }; +} qgf_image_handle_t; + +static qgf_image_handle_t image_descriptors[QUANTUM_PAINTER_NUM_IMAGES] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_load_image_mem + +painter_image_handle_t qp_load_image_mem(const void *buffer) { + qp_dprintf("qp_load_image_mem: entry\n"); + qgf_image_handle_t *image = NULL; + + // Find a free slot + for (int i = 0; i < QUANTUM_PAINTER_NUM_IMAGES; ++i) { + if (!image_descriptors[i].validate_ok) { + image = &image_descriptors[i]; + break; + } + } + + // Drop out if not found + if (!image) { + qp_dprintf("qp_load_image_mem: fail (no free slot)\n"); + return NULL; + } + + // Assume we can read the graphics descriptor + image->mem_stream = qp_make_memory_stream((void *)buffer, sizeof(qgf_graphics_descriptor_v1_t)); + + // Update the length of the stream to match, and rewind to the start + image->mem_stream.length = qgf_get_total_size(&image->stream); + image->mem_stream.position = 0; + + // Now that we know the length, validate the input data + if (!qgf_validate_stream(&image->stream)) { + qp_dprintf("qp_load_image_mem: fail (failed validation)\n"); + return NULL; + } + + // Fill out the QP image descriptor + qgf_read_graphics_descriptor(&image->stream, &image->base.width, &image->base.height, &image->base.frame_count, NULL); + + // Validation success, we can return the handle + image->validate_ok = true; + qp_dprintf("qp_load_image_mem: ok\n"); + return (painter_image_handle_t)image; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_close_image + +bool qp_close_image(painter_image_handle_t image) { + qgf_image_handle_t *qgf_image = (qgf_image_handle_t *)image; + if (!qgf_image->validate_ok) { + qp_dprintf("qp_close_image: fail (invalid image)\n"); + return false; + } + + // Free up this image for use elsewhere. + qgf_image->validate_ok = false; + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_drawimage + +bool qp_drawimage(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image) { + return qp_drawimage_recolor(device, x, y, image, 0, 0, 255, 0, 0, 0); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_drawimage_recolor + +typedef struct qgf_frame_info_t { + painter_compression_t compression_scheme; + uint8_t bpp; + bool has_palette; + bool is_delta; + uint16_t left; + uint16_t top; + uint16_t right; + uint16_t bottom; + uint16_t delay; +} qgf_frame_info_t; + +static bool qp_drawimage_prepare_frame_for_stream_read(painter_device_t device, qgf_image_handle_t *qgf_image, uint16_t frame_number, qp_pixel_t fg_hsv888, qp_pixel_t bg_hsv888, qgf_frame_info_t *info) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + + // Drop out if we can't actually place the data we read out anywhere + if (!info) { + qp_dprintf("Failed to prepare stream for read, output info buffer unavailable\n"); + return false; + } + + // Seek to the frame + qgf_seek_to_frame_descriptor(&qgf_image->stream, frame_number); + + // Read the frame descriptor + qgf_frame_v1_t frame_descriptor; + if (qp_stream_read(&frame_descriptor, sizeof(qgf_frame_v1_t), 1, &qgf_image->stream) != 1) { + qp_dprintf("Failed to read frame_descriptor, expected length was not %d\n", (int)sizeof(qgf_frame_v1_t)); + return false; + } + + // Parse out the frame info + if (!qgf_parse_frame_descriptor(&frame_descriptor, &info->bpp, &info->has_palette, &info->is_delta, &info->compression_scheme, &info->delay)) { + return false; + } + + // Ensure we aren't reusing any palette + qp_internal_invalidate_palette(); + + // Handle palette if needed + const uint16_t palette_entries = 1u << info->bpp; + bool needs_pixconvert = false; + if (info->has_palette) { + // Load the palette from the stream + if (!qp_internal_load_qgf_palette((qp_stream_t *)&qgf_image->stream, info->bpp)) { + return false; + } + + needs_pixconvert = true; + } else { + // Interpolate from fg/bg + needs_pixconvert = qp_internal_interpolate_palette(fg_hsv888, bg_hsv888, palette_entries); + } + + if (!qp_internal_bpp_capable(info->bpp)) { + qp_dprintf("qp_drawimage_recolor: fail (image bpp too high (%d), check QUANTUM_PAINTER_SUPPORTS_256_PALETTE)\n", (int)info->bpp); + qp_comms_stop(device); + return false; + } + + if (needs_pixconvert) { + // Convert the palette to native format + if (!driver->driver_vtable->palette_convert(device, palette_entries, qp_internal_global_pixel_lookup_table)) { + qp_dprintf("qp_drawimage_recolor: fail (could not convert pixels to native)\n"); + qp_comms_stop(device); + return false; + } + } + + // Handle delta if needed + if (info->is_delta) { + qgf_delta_v1_t delta_descriptor; + if (qp_stream_read(&delta_descriptor, sizeof(qgf_delta_v1_t), 1, &qgf_image->stream) != 1) { + qp_dprintf("Failed to read delta_descriptor, expected length was not %d\n", (int)sizeof(qgf_delta_v1_t)); + return false; + } + + info->left = delta_descriptor.left; + info->top = delta_descriptor.top; + info->right = delta_descriptor.right; + info->bottom = delta_descriptor.bottom; + } + + // Read the data block + qgf_data_v1_t data_descriptor; + if (qp_stream_read(&data_descriptor, sizeof(qgf_data_v1_t), 1, &qgf_image->stream) != 1) { + qp_dprintf("Failed to read data_descriptor, expected length was not %d\n", (int)sizeof(qgf_data_v1_t)); + return false; + } + + // Stream is now at the point of being able to read pixdata + return true; +} + +static bool qp_drawimage_recolor_impl(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image, int frame_number, qgf_frame_info_t *frame_info, qp_pixel_t fg_hsv888, qp_pixel_t bg_hsv888) { + qp_dprintf("qp_drawimage_recolor: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_drawimage_recolor: fail (validation_ok == false)\n"); + return false; + } + + qgf_image_handle_t *qgf_image = (qgf_image_handle_t *)image; + if (!qgf_image->validate_ok) { + qp_dprintf("qp_drawimage_recolor: fail (invalid image)\n"); + return false; + } + + // Read the frame info + if (!qp_drawimage_prepare_frame_for_stream_read(device, qgf_image, frame_number, fg_hsv888, bg_hsv888, frame_info)) { + qp_dprintf("qp_drawimage_recolor: fail (could not read frame %d)\n", frame_number); + return false; + } + + if (!qp_comms_start(device)) { + qp_dprintf("qp_drawimage_recolor: fail (could not start comms)\n"); + return false; + } + + uint16_t l, t, r, b; + if (frame_info->is_delta) { + l = x + frame_info->left; + t = y + frame_info->top; + r = x + frame_info->right - 1; + b = y + frame_info->bottom - 1; + } else { + l = x; + t = y; + r = x + image->width - 1; + b = y + image->height - 1; + } + uint32_t pixel_count = ((uint32_t)(r - l + 1)) * (b - t + 1); + + // Configure where we're going to be rendering to + if (!driver->driver_vtable->viewport(device, l, t, r, b)) { + qp_dprintf("qp_drawimage_recolor: fail (could not set viewport)\n"); + qp_comms_stop(device); + return false; + } + + // Set up the input state + struct qp_internal_byte_input_state input_state = {.device = device, .src_stream = &qgf_image->stream}; + qp_internal_byte_input_callback input_callback = qp_internal_prepare_input_state(&input_state, frame_info->compression_scheme); + if (input_callback == NULL) { + qp_dprintf("qp_drawimage_recolor: fail (invalid image compression scheme)\n"); + qp_comms_stop(device); + return false; + } + + // Set up the output state + struct qp_internal_pixel_output_state output_state = {.device = device, .pixel_write_pos = 0, .max_pixels = qp_internal_num_pixels_in_buffer(device)}; + + // Decode the pixel data and stream to the display + bool ret = qp_internal_decode_palette(device, pixel_count, frame_info->bpp, input_callback, &input_state, qp_internal_global_pixel_lookup_table, qp_internal_pixel_appender, &output_state); + + // Any leftovers need transmission as well. + if (ret && output_state.pixel_write_pos > 0) { + ret &= driver->driver_vtable->pixdata(device, qp_internal_global_pixdata_buffer, output_state.pixel_write_pos); + } + + qp_dprintf("qp_drawimage_recolor: %s\n", ret ? "ok" : "fail"); + qp_comms_stop(device); + return ret; +} + +bool qp_drawimage_recolor(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image, uint8_t hue_fg, uint8_t sat_fg, uint8_t val_fg, uint8_t hue_bg, uint8_t sat_bg, uint8_t val_bg) { + qgf_frame_info_t frame_info = {0}; + qp_pixel_t fg_hsv888 = {.hsv888 = {.h = hue_fg, .s = sat_fg, .v = val_fg}}; + qp_pixel_t bg_hsv888 = {.hsv888 = {.h = hue_bg, .s = sat_bg, .v = val_bg}}; + return qp_drawimage_recolor_impl(device, x, y, image, 0, &frame_info, fg_hsv888, bg_hsv888); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_animate + +deferred_token qp_animate(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image) { + return qp_animate_recolor(device, x, y, image, 0, 0, 255, 0, 0, 0); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_animate_recolor + +typedef struct animation_state_t { + painter_device_t device; + uint16_t x; + uint16_t y; + painter_image_handle_t image; + qp_pixel_t fg_hsv888; + qp_pixel_t bg_hsv888; + uint16_t frame_number; + deferred_token defer_token; +} animation_state_t; + +static deferred_executor_t animation_executors[QUANTUM_PAINTER_CONCURRENT_ANIMATIONS] = {0}; +static animation_state_t animation_states[QUANTUM_PAINTER_CONCURRENT_ANIMATIONS] = {0}; + +static deferred_token qp_render_animation_state(animation_state_t *state, uint16_t *delay_ms) { + qgf_frame_info_t frame_info = {0}; + qp_dprintf("qp_render_animation_state: entry (frame #%d)\n", (int)state->frame_number); + bool ret = qp_drawimage_recolor_impl(state->device, state->x, state->y, state->image, state->frame_number, &frame_info, state->fg_hsv888, state->bg_hsv888); + if (ret) { + ++state->frame_number; + if (state->frame_number >= state->image->frame_count) { + state->frame_number = 0; + } + *delay_ms = frame_info.delay; + } + qp_dprintf("qp_render_animation_state: %s (delay %dms)\n", ret ? "ok" : "fail", (int)(*delay_ms)); + return ret; +} + +static uint32_t animation_callback(uint32_t trigger_time, void *cb_arg) { + animation_state_t *state = (animation_state_t *)cb_arg; + uint16_t delay_ms; + bool ret = qp_render_animation_state(state, &delay_ms); + if (!ret) { + // Setting the device to NULL clears the animation slot + state->device = NULL; + } + // If we're successful, keep animating -- returning 0 cancels the deferred execution + return ret ? delay_ms : 0; +} + +deferred_token qp_animate_recolor(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image, uint8_t hue_fg, uint8_t sat_fg, uint8_t val_fg, uint8_t hue_bg, uint8_t sat_bg, uint8_t val_bg) { + qp_dprintf("qp_animate_recolor: entry\n"); + + animation_state_t *anim_state = NULL; + for (int i = 0; i < QUANTUM_PAINTER_CONCURRENT_ANIMATIONS; ++i) { + if (animation_states[i].device == NULL) { + anim_state = &animation_states[i]; + break; + } + } + + if (!anim_state) { + qp_dprintf("qp_animate_recolor: fail (could not find free animation slot)\n"); + return INVALID_DEFERRED_TOKEN; + } + + // Prepare the animation state + anim_state->device = device; + anim_state->x = x; + anim_state->y = y; + anim_state->image = image; + anim_state->fg_hsv888 = (qp_pixel_t){.hsv888 = {.h = hue_fg, .s = sat_fg, .v = val_fg}}; + anim_state->bg_hsv888 = (qp_pixel_t){.hsv888 = {.h = hue_bg, .s = sat_bg, .v = val_bg}}; + anim_state->frame_number = 0; + + // Draw the first frame + uint16_t delay_ms; + if (!qp_render_animation_state(anim_state, &delay_ms)) { + anim_state->device = NULL; // disregard the allocated animation slot + qp_dprintf("qp_animate_recolor: fail (could not render first frame)\n"); + return INVALID_DEFERRED_TOKEN; + } + + // Set up the timer + anim_state->defer_token = defer_exec_advanced(animation_executors, QUANTUM_PAINTER_CONCURRENT_ANIMATIONS, delay_ms, animation_callback, anim_state); + if (anim_state->defer_token == INVALID_DEFERRED_TOKEN) { + anim_state->device = NULL; // disregard the allocated animation slot + qp_dprintf("qp_animate_recolor: fail (could not set up animation executor)\n"); + return INVALID_DEFERRED_TOKEN; + } + + qp_dprintf("qp_animate_recolor: ok (deferred token = %d)\n", (int)anim_state->defer_token); + return anim_state->defer_token; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_stop_animation + +void qp_stop_animation(deferred_token anim_token) { + for (int i = 0; i < QUANTUM_PAINTER_CONCURRENT_ANIMATIONS; ++i) { + if (animation_states[i].defer_token == anim_token) { + cancel_deferred_exec_advanced(animation_executors, QUANTUM_PAINTER_CONCURRENT_ANIMATIONS, anim_token); + animation_states[i].device = NULL; + return; + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter Core API: qp_internal_animation_tick + +void qp_internal_animation_tick(void) { + static uint32_t last_anim_exec = 0; + deferred_exec_advanced_task(animation_executors, QUANTUM_PAINTER_CONCURRENT_ANIMATIONS, &last_anim_exec); +} diff --git a/quantum/painter/qp_draw_text.c b/quantum/painter/qp_draw_text.c new file mode 100644 index 000000000000..f99e082cad26 --- /dev/null +++ b/quantum/painter/qp_draw_text.c @@ -0,0 +1,444 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include +#include + +#include "qp_internal.h" +#include "qp_draw.h" +#include "qp_comms.h" +#include "qff.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// QFF font handles + +typedef struct qff_font_handle_t { + painter_font_desc_t base; + bool validate_ok; + bool has_ascii_table; + uint16_t num_unicode_glyphs; + uint8_t bpp; + bool has_palette; + painter_compression_t compression_scheme; + union { + qp_stream_t stream; + qp_memory_stream_t mem_stream; +#ifdef QP_STREAM_HAS_FILE_IO + qp_file_stream_t file_stream; +#endif // QP_STREAM_HAS_FILE_IO + }; +#if QUANTUM_PAINTER_LOAD_FONTS_TO_RAM + bool owns_buffer; + void *buffer; +#endif // QUANTUM_PAINTER_LOAD_FONTS_TO_RAM +} qff_font_handle_t; + +static qff_font_handle_t font_descriptors[QUANTUM_PAINTER_NUM_FONTS] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_load_font_mem + +painter_font_handle_t qp_load_font_mem(const void *buffer) { + qp_dprintf("qp_load_font_mem: entry\n"); + qff_font_handle_t *font = NULL; + + // Find a free slot + for (int i = 0; i < QUANTUM_PAINTER_NUM_FONTS; ++i) { + if (!font_descriptors[i].validate_ok) { + font = &font_descriptors[i]; + break; + } + } + + // Drop out if not found + if (!font) { + qp_dprintf("qp_load_font_mem: fail (no free slot)\n"); + return NULL; + } + + // Assume we can read the graphics descriptor + font->mem_stream = qp_make_memory_stream((void *)buffer, sizeof(qff_font_descriptor_v1_t)); + + // Update the length of the stream to match, and rewind to the start + font->mem_stream.length = qff_get_total_size(&font->stream); + font->mem_stream.position = 0; + + // Now that we know the length, validate the input data + if (!qff_validate_stream(&font->stream)) { + qp_dprintf("qp_load_font_mem: fail (failed validation)\n"); + return NULL; + } + +#if QUANTUM_PAINTER_LOAD_FONTS_TO_RAM + // Clear out any existing data + font->owns_buffer = false; + font->buffer = NULL; + + void *ram_buffer = malloc(font->mem_stream.length); + if (ram_buffer == NULL) { + qp_dprintf("qp_load_font_mem: could not allocate enough RAM for font, falling back to original\n"); + } else { + do { + // Copy the data into RAM + if (qp_stream_read(ram_buffer, 1, font->mem_stream.length, &font->mem_stream) != font->mem_stream.length) { + qp_dprintf("qp_load_font_mem: could not copy from flash to RAM, falling back to original\n"); + break; + } + + // Create the new stream with the new buffer + font->buffer = ram_buffer; + font->owns_buffer = true; + font->mem_stream = qp_make_memory_stream(font->buffer, font->mem_stream.length); + } while (0); + } + + // Free the buffer if we were unable to recreate the RAM copy. + if (ram_buffer != NULL && !font->owns_buffer) { + free(ram_buffer); + } +#endif // QUANTUM_PAINTER_LOAD_FONTS_TO_RAM + + // Read the info (parsing already successful above, no need to check return value) + qff_read_font_descriptor(&font->stream, &font->base.line_height, &font->has_ascii_table, &font->num_unicode_glyphs, &font->bpp, &font->has_palette, &font->compression_scheme, NULL); + + if (!qp_internal_bpp_capable(font->bpp)) { + qp_dprintf("qp_load_font_mem: fail (image bpp too high (%d), check QUANTUM_PAINTER_SUPPORTS_256_PALETTE)\n", (int)font->bpp); + qp_close_font((painter_font_handle_t)font); + return NULL; + } + + // Validation success, we can return the handle + font->validate_ok = true; + qp_dprintf("qp_load_font_mem: ok\n"); + return (painter_font_handle_t)font; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_close_font + +bool qp_close_font(painter_font_handle_t font) { + qff_font_handle_t *qff_font = (qff_font_handle_t *)font; + if (!qff_font->validate_ok) { + qp_dprintf("qp_close_font: fail (invalid font)\n"); + return false; + } + +#if QUANTUM_PAINTER_LOAD_FONTS_TO_RAM + // Nuke the buffer, if required + if (qff_font->owns_buffer) { + free(qff_font->buffer); + qff_font->buffer = NULL; + qff_font->owns_buffer = false; + } +#endif // QUANTUM_PAINTER_LOAD_FONTS_TO_RAM + + // Free up this font for use elsewhere. + qff_font->validate_ok = false; + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Helpers + +// Callback to be invoked for each codepoint detected in the UTF8 input string +typedef bool (*code_point_handler)(qff_font_handle_t *qff_font, uint32_t code_point, uint8_t width, uint8_t height, void *cb_arg); + +// Helper that sets up the palette (if required) and returns the offset in the stream that the data starts +static inline bool qp_drawtext_prepare_font_for_render(painter_device_t device, qff_font_handle_t *qff_font, qp_pixel_t fg_hsv888, qp_pixel_t bg_hsv888, uint32_t *data_offset) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + + // Drop out if we can't actually place the data we read out anywhere + if (!data_offset) { + qp_dprintf("Failed to prepare stream for read, output info buffer unavailable\n"); + return false; + } + + // Work out where we're reading from + uint32_t offset = sizeof(qff_font_descriptor_v1_t); + if (qff_font->has_ascii_table) { + offset += sizeof(qff_ascii_glyph_table_v1_t); + } + if (qff_font->num_unicode_glyphs > 0) { + offset += sizeof(qff_unicode_glyph_table_v1_t) + (qff_font->num_unicode_glyphs * 6); + } + + // Handle palette if needed + const uint16_t palette_entries = 1u << qff_font->bpp; + bool needs_pixconvert = false; + if (qff_font->has_palette) { + // If this font has a palette, we need to read it out and set up the pixel lookup table + qp_stream_setpos(&qff_font->stream, offset); + if (!qp_internal_load_qgf_palette(&qff_font->stream, qff_font->bpp)) { + return false; + } + + // Skip this block, as far as offset calculations go + offset += sizeof(qgf_palette_v1_t) + (palette_entries * 3); + needs_pixconvert = true; + } else { + // Interpolate from fg/bg + int16_t palette_entries = 1 << qff_font->bpp; + needs_pixconvert = qp_internal_interpolate_palette(fg_hsv888, bg_hsv888, palette_entries); + } + + if (needs_pixconvert) { + // Convert the palette to native format + if (!driver->driver_vtable->palette_convert(device, palette_entries, qp_internal_global_pixel_lookup_table)) { + qp_dprintf("qp_drawtext_recolor: fail (could not convert pixels to native)\n"); + qp_comms_stop(device); + return false; + } + } + + *data_offset = offset; + return true; +} + +static inline bool qp_drawtext_prepare_glyph_for_render(qff_font_handle_t *qff_font, uint32_t code_point, uint8_t *width) { + if (code_point >= 0x20 && code_point < 0x7F && qff_font->has_ascii_table) { + // Do ascii table + qff_ascii_glyph_v1_t glyph_info; + uint32_t glyph_info_offset = sizeof(qff_font_descriptor_v1_t) // Skip the font descriptor + + sizeof(qgf_block_header_v1_t) // Skip the ascii table header + + (code_point - 0x20) * sizeof(qff_ascii_glyph_v1_t); // Jump direct to the data offset based on the glyph index + if (qp_stream_setpos(&qff_font->stream, glyph_info_offset) < 0) { + qp_dprintf("Failed to set stream position while reading ascii glyph info\n"); + return false; + } + + if (qp_stream_read(&glyph_info, sizeof(qff_ascii_glyph_v1_t), 1, &qff_font->stream) != 1) { + qp_dprintf("Failed to read glyph info\n"); + return false; + } + + uint8_t glyph_width = (uint8_t)(glyph_info.value & QFF_GLYPH_WIDTH_MASK); + uint32_t glyph_offset = ((glyph_info.value & QFF_GLYPH_OFFSET_MASK) >> QFF_GLYPH_WIDTH_BITS); + uint32_t data_offset = sizeof(qff_font_descriptor_v1_t) // Skip the font descriptor + + sizeof(qff_ascii_glyph_table_v1_t) // Skip the ascii table + + (qff_font->num_unicode_glyphs > 0 ? (sizeof(qff_unicode_glyph_table_v1_t) + (qff_font->num_unicode_glyphs * sizeof(qff_unicode_glyph_v1_t))) : 0) // Skip the unicode table + + (qff_font->has_palette ? (sizeof(qgf_palette_v1_t) + ((1 << qff_font->bpp) * sizeof(qgf_palette_entry_v1_t))) : 0) // Skip the palette + + sizeof(qgf_block_header_v1_t) // Skip the data block header + + glyph_offset; // Jump to the specified glyph offset + + if (qp_stream_setpos(&qff_font->stream, data_offset) < 0) { + qp_dprintf("Failed to set stream position while preparing ascii glyph data\n"); + return false; + } + + *width = glyph_width; + return true; + } else { + // Do unicode table, which may include singular ascii glyphs if full ascii table isn't specified + uint32_t glyph_info_offset = sizeof(qff_font_descriptor_v1_t) // Skip the font descriptor + + (qff_font->has_ascii_table ? sizeof(qff_ascii_glyph_table_v1_t) : 0) // Skip the ascii table + + sizeof(qgf_block_header_v1_t); // Skip the unicode block header + + if (qp_stream_setpos(&qff_font->stream, glyph_info_offset) < 0) { + qp_dprintf("Failed to set stream position while preparing glyph data\n"); + return false; + } + + qff_unicode_glyph_v1_t glyph_info; + for (uint16_t i = 0; i < qff_font->num_unicode_glyphs; ++i) { + if (qp_stream_read(&glyph_info, sizeof(qff_unicode_glyph_v1_t), 1, &qff_font->stream) != 1) { + qp_dprintf("Failed to set stream position while reading unicode glyph info\n"); + return false; + } + + if (glyph_info.code_point == code_point) { + uint8_t glyph_width = (uint8_t)(glyph_info.value & QFF_GLYPH_WIDTH_MASK); + uint32_t glyph_offset = ((glyph_info.value & QFF_GLYPH_OFFSET_MASK) >> QFF_GLYPH_WIDTH_BITS); + uint32_t data_offset = sizeof(qff_font_descriptor_v1_t) // Skip the font descriptor + + sizeof(qff_ascii_glyph_table_v1_t) // Skip the ascii table + + (qff_font->num_unicode_glyphs > 0 ? (sizeof(qff_unicode_glyph_table_v1_t) + (qff_font->num_unicode_glyphs * sizeof(qff_unicode_glyph_v1_t))) : 0) // Skip the unicode table + + (qff_font->has_palette ? (sizeof(qgf_palette_v1_t) + ((1 << qff_font->bpp) * sizeof(qgf_palette_entry_v1_t))) : 0) // Skip the palette + + sizeof(qgf_block_header_v1_t) // Skip the data block header + + glyph_offset; // Jump to the specified glyph offset + + if (qp_stream_setpos(&qff_font->stream, data_offset) < 0) { + qp_dprintf("Failed to set stream position while preparing unicode glyph data\n"); + return false; + } + + *width = glyph_width; + return true; + } + } + + // Not found + qp_dprintf("Failed to find unicode glyph info\n"); + return false; + } + return false; +} + +// Function to iterate over each UTF8 codepoint, invoking the callback for each decoded glyph +static inline bool qp_iterate_code_points(qff_font_handle_t *qff_font, const char *str, code_point_handler handler, void *cb_arg) { + while (*str) { + int32_t code_point = 0; + str = decode_utf8(str, &code_point); + if (code_point < 0) { + qp_dprintf("Invalid unicode code point decoded. Cannot render.\n"); + return false; + } + + uint8_t width; + if (!qp_drawtext_prepare_glyph_for_render(qff_font, code_point, &width)) { + qp_dprintf("Failed to prepare glyph for rendering.\n"); + return false; + } + + if (!handler(qff_font, code_point, width, qff_font->base.line_height, cb_arg)) { + qp_dprintf("Failed to execute glyph handler.\n"); + return false; + } + } + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// String width calculation + +// Callback state +struct code_point_iter_calcwidth_state { + int16_t width; +}; + +// Codepoint handler callback: width calc +static inline bool qp_font_code_point_handler_calcwidth(qff_font_handle_t *qff_font, uint32_t code_point, uint8_t width, uint8_t height, void *cb_arg) { + struct code_point_iter_calcwidth_state *state = (struct code_point_iter_calcwidth_state *)cb_arg; + + // Increment the overall width by this glyph's width + state->width += width; + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// String drawing implementation + +// Callback state +struct code_point_iter_drawglyph_state { + painter_device_t device; + int16_t xpos; + int16_t ypos; + qp_internal_byte_input_callback input_callback; + struct qp_internal_byte_input_state * input_state; + struct qp_internal_pixel_output_state *output_state; +}; + +// Codepoint handler callback: drawing +static inline bool qp_font_code_point_handler_drawglyph(qff_font_handle_t *qff_font, uint32_t code_point, uint8_t width, uint8_t height, void *cb_arg) { + struct code_point_iter_drawglyph_state *state = (struct code_point_iter_drawglyph_state *)cb_arg; + struct painter_driver_t * driver = (struct painter_driver_t *)state->device; + + // Reset the input state's RLE mode -- the stream should already be correctly positioned by qp_iterate_code_points() + state->input_state->rle.mode = MARKER_BYTE; // ignored if not using RLE + + // Reset the output state + state->output_state->pixel_write_pos = 0; + + // Configure where we're going to be rendering to + driver->driver_vtable->viewport(state->device, state->xpos, state->ypos, state->xpos + width - 1, state->ypos + height - 1); + + // Move the x-position for the next glyph + state->xpos += width; + + // Decode the pixel data for the glyph + uint32_t pixel_count = ((uint32_t)width) * height; + bool ret = qp_internal_decode_palette(state->device, pixel_count, qff_font->bpp, state->input_callback, state->input_state, qp_internal_global_pixel_lookup_table, qp_internal_pixel_appender, state->output_state); + + // Any leftovers need transmission as well. + if (ret && state->output_state->pixel_write_pos > 0) { + ret &= driver->driver_vtable->pixdata(state->device, qp_internal_global_pixdata_buffer, state->output_state->pixel_write_pos); + } + + return ret; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_textwidth + +int16_t qp_textwidth(painter_font_handle_t font, const char *str) { + qff_font_handle_t *qff_font = (qff_font_handle_t *)font; + if (!qff_font->validate_ok) { + qp_dprintf("qp_textwidth: fail (invalid font)\n"); + return false; + } + + // Create the codepoint iterator state + struct code_point_iter_calcwidth_state state = {.width = 0}; + // Iterate each codepoint, return the calculated width if successful. + return qp_iterate_code_points(qff_font, str, qp_font_code_point_handler_calcwidth, &state) ? state.width : 0; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_drawtext + +int16_t qp_drawtext(painter_device_t device, uint16_t x, uint16_t y, painter_font_handle_t font, const char *str) { + // Offload to the recolor variant, substituting fg=white bg=black. + // Traditional LCDs with those colors will need to manually invoke qp_drawtext_recolor with the colors reversed. + return qp_drawtext_recolor(device, x, y, font, str, 0, 0, 255, 0, 0, 0); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_drawtext_recolor + +int16_t qp_drawtext_recolor(painter_device_t device, uint16_t x, uint16_t y, painter_font_handle_t font, const char *str, uint8_t hue_fg, uint8_t sat_fg, uint8_t val_fg, uint8_t hue_bg, uint8_t sat_bg, uint8_t val_bg) { + qp_dprintf("qp_drawtext_recolor: entry\n"); + struct painter_driver_t *driver = (struct painter_driver_t *)device; + if (!driver->validate_ok) { + qp_dprintf("qp_drawtext_recolor: fail (validation_ok == false)\n"); + return 0; + } + + qff_font_handle_t *qff_font = (qff_font_handle_t *)font; + if (!qff_font->validate_ok) { + qp_dprintf("qp_drawtext_recolor: fail (invalid font)\n"); + return false; + } + + if (!qp_comms_start(device)) { + qp_dprintf("qp_drawtext_recolor: fail (could not start comms)\n"); + return 0; + } + + // Set up the byte input state and input callback + struct qp_internal_byte_input_state input_state = {.device = device, .src_stream = &qff_font->stream}; + qp_internal_byte_input_callback input_callback = qp_internal_prepare_input_state(&input_state, qff_font->compression_scheme); + if (input_callback == NULL) { + qp_dprintf("qp_drawtext_recolor: fail (invalid font compression scheme)\n"); + qp_comms_stop(device); + return false; + } + + // Set up the pixel output state + struct qp_internal_pixel_output_state output_state = {.device = device, .pixel_write_pos = 0, .max_pixels = qp_internal_num_pixels_in_buffer(device)}; + + // Set up the codepoint iteration state + struct code_point_iter_drawglyph_state state = {// Common + .device = device, + .xpos = x, + .ypos = y, + // Input + .input_callback = input_callback, + .input_state = &input_state, + // Output + .output_state = &output_state}; + + qp_pixel_t fg_hsv888 = {.hsv888 = {.h = hue_fg, .s = sat_fg, .v = val_fg}}; + qp_pixel_t bg_hsv888 = {.hsv888 = {.h = hue_bg, .s = sat_bg, .v = val_bg}}; + uint32_t data_offset; + if (!qp_drawtext_prepare_font_for_render(driver, qff_font, fg_hsv888, bg_hsv888, &data_offset)) { + qp_dprintf("qp_drawtext_recolor: fail (failed to prepare font for rendering)\n"); + qp_comms_stop(device); + return false; + } + + // Iterate the codepoints with the drawglyph callback + bool ret = qp_iterate_code_points(qff_font, str, qp_font_code_point_handler_drawglyph, &state); + + qp_dprintf("qp_drawtext_recolor: %s\n", ret ? "ok" : "fail"); + qp_comms_stop(device); + return ret ? (state.xpos - x) : 0; +} diff --git a/quantum/painter/qp_internal.h b/quantum/painter/qp_internal.h new file mode 100644 index 000000000000..e7a6d113c5a1 --- /dev/null +++ b/quantum/painter/qp_internal.h @@ -0,0 +1,33 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" +#include "qp.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Helpers + +// Mark certain types that there should be no padding bytes between members. +#define QP_PACKED __attribute__((packed)) + +// Min/max defines +#define QP_MIN(X, Y) (((X) < (Y)) ? (X) : (Y)) +#define QP_MAX(X, Y) (((X) > (Y)) ? (X) : (Y)) + +#ifdef QUANTUM_PAINTER_DEBUG +# include +# include +# define qp_dprintf(...) dprintf(__VA_ARGS__) +#else +# define qp_dprintf(...) \ + do { \ + } while (0) +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Specific internal definitions + +#include +#include diff --git a/quantum/painter/qp_internal_driver.h b/quantum/painter/qp_internal_driver.h new file mode 100644 index 000000000000..9e9d6bc8482e --- /dev/null +++ b/quantum/painter/qp_internal_driver.h @@ -0,0 +1,82 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver callbacks + +typedef bool (*painter_driver_init_func)(painter_device_t device, painter_rotation_t rotation); +typedef bool (*painter_driver_power_func)(painter_device_t device, bool power_on); +typedef bool (*painter_driver_clear_func)(painter_device_t device); +typedef bool (*painter_driver_flush_func)(painter_device_t device); +typedef bool (*painter_driver_viewport_func)(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom); +typedef bool (*painter_driver_pixdata_func)(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count); +typedef bool (*painter_driver_convert_palette_func)(painter_device_t device, int16_t palette_size, qp_pixel_t *palette); +typedef bool (*painter_driver_append_pixels)(painter_device_t device, uint8_t *target_buffer, qp_pixel_t *palette, uint32_t pixel_offset, uint32_t pixel_count, uint8_t *palette_indices); + +// Driver vtable definition +struct painter_driver_vtable_t { + painter_driver_init_func init; + painter_driver_power_func power; + painter_driver_clear_func clear; + painter_driver_flush_func flush; + painter_driver_viewport_func viewport; + painter_driver_pixdata_func pixdata; + painter_driver_convert_palette_func palette_convert; + painter_driver_append_pixels append_pixels; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Comms callbacks + +typedef bool (*painter_driver_comms_init_func)(painter_device_t device); +typedef bool (*painter_driver_comms_start_func)(painter_device_t device); +typedef void (*painter_driver_comms_stop_func)(painter_device_t device); +typedef uint32_t (*painter_driver_comms_send_func)(painter_device_t device, const void *data, uint32_t byte_count); + +struct painter_comms_vtable_t { + painter_driver_comms_init_func comms_init; + painter_driver_comms_start_func comms_start; + painter_driver_comms_stop_func comms_stop; + painter_driver_comms_send_func comms_send; +}; + +typedef void (*painter_driver_comms_send_command_func)(painter_device_t device, uint8_t cmd); +typedef void (*painter_driver_comms_bulk_command_sequence)(painter_device_t device, const uint8_t *sequence, size_t sequence_len); + +struct painter_comms_with_command_vtable_t { + struct painter_comms_vtable_t base; // must be first, so this object can be cast from the painter_comms_vtable_t* type + painter_driver_comms_send_command_func send_command; + painter_driver_comms_bulk_command_sequence bulk_command_sequence; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver base definition + +struct painter_driver_t { + const struct painter_driver_vtable_t *driver_vtable; + const struct painter_comms_vtable_t * comms_vtable; + + // Flag signifying if validation was successful + bool validate_ok; + + // Panel geometry + uint16_t panel_width; + uint16_t panel_height; + + // Target drawing rotation + painter_rotation_t rotation; + + // Automated offsets for setting viewport + uint16_t offset_x; + uint16_t offset_y; + + // Number of bits per pixel, used for determining how many pixels can be sent during a transmission of the pixdata buffer + uint8_t native_bits_per_pixel; + + // Comms config pointer -- needs to point to an appropriate comms config if the comms driver requires it. + void *comms_config; +}; diff --git a/quantum/painter/qp_internal_formats.h b/quantum/painter/qp_internal_formats.h new file mode 100644 index 000000000000..a4a86f03454d --- /dev/null +++ b/quantum/painter/qp_internal_formats.h @@ -0,0 +1,49 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter pixel formats + +// Datatype containing a pixel's color. The internal member used is dependent on the external context. +typedef union QP_PACKED qp_pixel_t { + uint8_t mono; + uint8_t palette_idx; + + struct QP_PACKED { + uint8_t h; + uint8_t s; + uint8_t v; + } hsv888; + + struct QP_PACKED { + uint8_t r; + uint8_t g; + uint8_t b; + } rgb888; + + uint16_t rgb565; + + uint32_t dummy; +} qp_pixel_t; +_Static_assert(sizeof(qp_pixel_t) == 4, "Invalid size for qp_pixel_t"); + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter image format + +typedef enum qp_image_format_t { + // Pixel formats available in the QGF frame format + GRAYSCALE_1BPP = 0x00, + GRAYSCALE_2BPP = 0x01, + GRAYSCALE_4BPP = 0x02, + GRAYSCALE_8BPP = 0x03, + PALETTE_1BPP = 0x04, + PALETTE_2BPP = 0x05, + PALETTE_4BPP = 0x06, + PALETTE_8BPP = 0x07, +} qp_image_format_t; + +typedef enum painter_compression_t { IMAGE_UNCOMPRESSED, IMAGE_COMPRESSED_RLE } painter_compression_t; diff --git a/quantum/painter/qp_stream.c b/quantum/painter/qp_stream.c new file mode 100644 index 000000000000..f00ae5ed38e0 --- /dev/null +++ b/quantum/painter/qp_stream.c @@ -0,0 +1,171 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_stream.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Stream API + +uint32_t qp_stream_read_impl(void *output_buf, uint32_t member_size, uint32_t num_members, qp_stream_t *stream) { + uint8_t *output_ptr = (uint8_t *)output_buf; + + uint32_t i; + for (i = 0; i < (num_members * member_size); ++i) { + int16_t c = qp_stream_get(stream); + if (c < 0) { + break; + } + + output_ptr[i] = (uint8_t)(c & 0xFF); + } + + return i / member_size; +} + +uint32_t qp_stream_write_impl(const void *input_buf, uint32_t member_size, uint32_t num_members, qp_stream_t *stream) { + uint8_t *input_ptr = (uint8_t *)input_buf; + + uint32_t i; + for (i = 0; i < (num_members * member_size); ++i) { + if (!qp_stream_put(stream, input_ptr[i])) { + break; + } + } + + return i / member_size; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Memory streams + +int16_t mem_get(qp_stream_t *stream) { + qp_memory_stream_t *s = (qp_memory_stream_t *)stream; + if (s->position >= s->length) { + s->is_eof = true; + return STREAM_EOF; + } + return s->buffer[s->position++]; +} + +bool mem_put(qp_stream_t *stream, uint8_t c) { + qp_memory_stream_t *s = (qp_memory_stream_t *)stream; + if (s->position >= s->length) { + s->is_eof = true; + return false; + } + s->buffer[s->position++] = c; + return true; +} + +int mem_seek(qp_stream_t *stream, int32_t offset, int origin) { + qp_memory_stream_t *s = (qp_memory_stream_t *)stream; + + // Handle as per fseek + int32_t position = s->position; + switch (origin) { + case SEEK_SET: + position = offset; + break; + case SEEK_CUR: + position += offset; + break; + case SEEK_END: + position = s->length + offset; + break; + default: + return -1; + } + + // If we're before the start, ignore it. + if (position < 0) { + return -1; + } + + // If we're at the end it's okay, we only care if we're after the end for failure purposes -- as per lseek() + if (position > s->length) { + return -1; + } + + // Update the offset + s->position = position; + + // Successful invocation of fseek() results in clearing of the EOF flag by default, mirror the same functionality + s->is_eof = false; + + return 0; +} + +int32_t mem_tell(qp_stream_t *stream) { + qp_memory_stream_t *s = (qp_memory_stream_t *)stream; + return s->position; +} + +bool mem_is_eof(qp_stream_t *stream) { + qp_memory_stream_t *s = (qp_memory_stream_t *)stream; + return s->is_eof; +} + +qp_memory_stream_t qp_make_memory_stream(void *buffer, int32_t length) { + qp_memory_stream_t stream = { + .base = + { + .get = mem_get, + .put = mem_put, + .seek = mem_seek, + .tell = mem_tell, + .is_eof = mem_is_eof, + }, + .buffer = (uint8_t *)buffer, + .length = length, + .position = 0, + }; + return stream; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// FILE streams + +#ifdef QP_STREAM_HAS_FILE_IO + +int16_t file_get(qp_stream_t *stream) { + qp_file_stream_t *s = (qp_file_stream_t *)stream; + int c = fgetc(s->file); + if (c < 0 || feof(s->file)) return STREAM_EOF; + return (uint16_t)c; +} + +bool file_put(qp_stream_t *stream, uint8_t c) { + qp_file_stream_t *s = (qp_file_stream_t *)stream; + return fputc(c, s->file) == c; +} + +int file_seek(qp_stream_t *stream, int32_t offset, int origin) { + qp_file_stream_t *s = (qp_file_stream_t *)stream; + return fseek(s->file, offset, origin); +} + +int32_t file_tell(qp_stream_t *stream) { + qp_file_stream_t *s = (qp_file_stream_t *)stream; + return (int32_t)ftell(s->file); +} + +bool file_is_eof(qp_stream_t *stream) { + qp_file_stream_t *s = (qp_file_stream_t *)stream; + return (bool)feof(s->file); +} + +qp_file_stream_t qp_make_file_stream(FILE *f) { + qp_file_stream_t stream = { + .base = + { + .get = file_get, + .put = file_put, + .seek = file_seek, + .tell = file_tell, + .is_eof = file_is_eof, + }, + .file = f, + }; + return stream; +} +#endif // QP_STREAM_HAS_FILE_IO diff --git a/quantum/painter/qp_stream.h b/quantum/painter/qp_stream.h new file mode 100644 index 000000000000..878b9bf5308b --- /dev/null +++ b/quantum/painter/qp_stream.h @@ -0,0 +1,82 @@ +/* Copyright 2021 Nick Brassel (@tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include +#include +#include + +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Stream API + +typedef struct qp_stream_t qp_stream_t; + +#define qp_stream_get(stream_ptr) (((qp_stream_t *)(stream_ptr))->get((qp_stream_t *)(stream_ptr))) +#define qp_stream_put(stream_ptr, c) (((qp_stream_t *)(stream_ptr))->put((qp_stream_t *)(stream_ptr), (c))) +#define qp_stream_seek(stream_ptr, offset, origin) (((qp_stream_t *)(stream_ptr))->seek((qp_stream_t *)(stream_ptr), (offset), (origin))) +#define qp_stream_tell(stream_ptr) (((qp_stream_t *)(stream_ptr))->tell((qp_stream_t *)(stream_ptr))) +#define qp_stream_eof(stream_ptr) (((qp_stream_t *)(stream_ptr))->is_eof((qp_stream_t *)(stream_ptr))) +#define qp_stream_setpos(stream_ptr, offset) qp_stream_seek((stream_ptr), (offset), SEEK_SET) +#define qp_stream_getpos(stream_ptr) qp_stream_tell((stream_ptr)) +#define qp_stream_read(output_buf, member_size, num_members, stream_ptr) qp_stream_read_impl((output_buf), (member_size), (num_members), (qp_stream_t *)(stream_ptr)) +#define qp_stream_write(input_buf, member_size, num_members, stream_ptr) qp_stream_write_impl((input_buf), (member_size), (num_members), (qp_stream_t *)(stream_ptr)) + +uint32_t qp_stream_read_impl(void *output_buf, uint32_t member_size, uint32_t num_members, qp_stream_t *stream); +uint32_t qp_stream_write_impl(const void *input_buf, uint32_t member_size, uint32_t num_members, qp_stream_t *stream); + +#define STREAM_EOF ((int16_t)(-1)) + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Stream definition + +struct qp_stream_t { + int16_t (*get)(qp_stream_t *stream); + bool (*put)(qp_stream_t *stream, uint8_t c); + int (*seek)(qp_stream_t *stream, int32_t offset, int origin); + int32_t (*tell)(qp_stream_t *stream); + bool (*is_eof)(qp_stream_t *stream); +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Memory streams + +typedef struct qp_memory_stream_t { + qp_stream_t base; + uint8_t * buffer; + int32_t length; + int32_t position; + bool is_eof; +} qp_memory_stream_t; + +qp_memory_stream_t qp_make_memory_stream(void *buffer, int32_t length); + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// FILE streams + +#ifdef QP_STREAM_HAS_FILE_IO + +typedef struct qp_file_stream_t { + qp_stream_t base; + FILE * file; +} qp_file_stream_t; + +qp_file_stream_t qo_make_file_stream(FILE *f); + +#endif // QP_STREAM_HAS_FILE_IO diff --git a/quantum/painter/rules.mk b/quantum/painter/rules.mk new file mode 100644 index 000000000000..9115d3d4068c --- /dev/null +++ b/quantum/painter/rules.mk @@ -0,0 +1,116 @@ +# Quantum Painter Configurables +QUANTUM_PAINTER_DRIVERS ?= +QUANTUM_PAINTER_ANIMATIONS_ENABLE ?= yes + +# The list of permissible drivers that can be listed in QUANTUM_PAINTER_DRIVERS +VALID_QUANTUM_PAINTER_DRIVERS := ili9163_spi ili9341_spi st7789_spi gc9a01_spi ssd1351_spi + +#------------------------------------------------------------------------------- + +OPT_DEFS += -DQUANTUM_PAINTER_ENABLE +COMMON_VPATH += $(QUANTUM_DIR)/painter +SRC += \ + $(QUANTUM_DIR)/utf8.c \ + $(QUANTUM_DIR)/color.c \ + $(QUANTUM_DIR)/painter/qp.c \ + $(QUANTUM_DIR)/painter/qp_stream.c \ + $(QUANTUM_DIR)/painter/qgf.c \ + $(QUANTUM_DIR)/painter/qff.c \ + $(QUANTUM_DIR)/painter/qp_draw_core.c \ + $(QUANTUM_DIR)/painter/qp_draw_codec.c \ + $(QUANTUM_DIR)/painter/qp_draw_circle.c \ + $(QUANTUM_DIR)/painter/qp_draw_ellipse.c \ + $(QUANTUM_DIR)/painter/qp_draw_image.c \ + $(QUANTUM_DIR)/painter/qp_draw_text.c + +# Check if people want animations... enable the defered exec if so. +ifeq ($(strip $(QUANTUM_PAINTER_ANIMATIONS_ENABLE)), yes) + DEFERRED_EXEC_ENABLE := yes + OPT_DEFS += -DQUANTUM_PAINTER_ANIMATIONS_ENABLE +endif + +# Comms flags +QUANTUM_PAINTER_NEEDS_COMMS_SPI ?= no + +# Handler for each driver +define handle_quantum_painter_driver + CURRENT_PAINTER_DRIVER := $1 + + ifeq ($$(filter $$(strip $$(CURRENT_PAINTER_DRIVER)),$$(VALID_QUANTUM_PAINTER_DRIVERS)),) + $$(error "$$(CURRENT_PAINTER_DRIVER)" is not a valid Quantum Painter driver) + + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ili9163_spi) + QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes + QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes + OPT_DEFS += -DQUANTUM_PAINTER_ILI9163_ENABLE -DQUANTUM_PAINTER_ILI9163_SPI_ENABLE + COMMON_VPATH += \ + $(DRIVER_PATH)/painter/tft_panel \ + $(DRIVER_PATH)/painter/ili9xxx + SRC += \ + $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ + $(DRIVER_PATH)/painter/ili9xxx/qp_ili9163.c \ + + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ili9341_spi) + QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes + QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes + OPT_DEFS += -DQUANTUM_PAINTER_ILI9341_ENABLE -DQUANTUM_PAINTER_ILI9341_SPI_ENABLE + COMMON_VPATH += \ + $(DRIVER_PATH)/painter/tft_panel \ + $(DRIVER_PATH)/painter/ili9xxx + SRC += \ + $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ + $(DRIVER_PATH)/painter/ili9xxx/qp_ili9341.c \ + + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),st7789_spi) + QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes + QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes + OPT_DEFS += -DQUANTUM_PAINTER_ST7789_ENABLE -DQUANTUM_PAINTER_ST7789_SPI_ENABLE + COMMON_VPATH += \ + $(DRIVER_PATH)/painter/tft_panel \ + $(DRIVER_PATH)/painter/st77xx + SRC += \ + $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ + $(DRIVER_PATH)/painter/st77xx/qp_st7789.c + + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),gc9a01_spi) + QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes + QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes + OPT_DEFS += -DQUANTUM_PAINTER_GC9A01_ENABLE -DQUANTUM_PAINTER_GC9A01_SPI_ENABLE + COMMON_VPATH += \ + $(DRIVER_PATH)/painter/tft_panel \ + $(DRIVER_PATH)/painter/gc9a01 + SRC += \ + $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ + $(DRIVER_PATH)/painter/gc9a01/qp_gc9a01.c + + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ssd1351_spi) + QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes + QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes + OPT_DEFS += -DQUANTUM_PAINTER_SSD1351_ENABLE -DQUANTUM_PAINTER_SSD1351_SPI_ENABLE + COMMON_VPATH += \ + $(DRIVER_PATH)/painter/tft_panel \ + $(DRIVER_PATH)/painter/ssd1351 + SRC += \ + $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ + $(DRIVER_PATH)/painter/ssd1351/qp_ssd1351.c + + endif +endef + +# Iterate through the listed drivers for the build, including what's necessary +$(foreach qp_driver,$(QUANTUM_PAINTER_DRIVERS),$(eval $(call handle_quantum_painter_driver,$(qp_driver)))) + +# If SPI comms is needed, set up the required files +ifeq ($(strip $(QUANTUM_PAINTER_NEEDS_COMMS_SPI)), yes) + OPT_DEFS += -DQUANTUM_PAINTER_SPI_ENABLE + QUANTUM_LIB_SRC += spi_master.c + VPATH += $(DRIVER_PATH)/painter/comms + SRC += \ + $(QUANTUM_DIR)/painter/qp_comms.c \ + $(DRIVER_PATH)/painter/comms/qp_comms_spi.c + + ifeq ($(strip $(QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET)), yes) + OPT_DEFS += -DQUANTUM_PAINTER_SPI_DC_RESET_ENABLE + endif +endif + diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index 2606ea1f3720..652becbc9a30 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -16,6 +16,7 @@ #include "process_unicode_common.h" #include "eeprom.h" +#include "utf8.h" unicode_config_t unicode_config; uint8_t unicode_saved_mods; @@ -229,35 +230,6 @@ void register_unicode(uint32_t code_point) { unicode_input_finish(); } -// Borrowed from https://nullprogram.com/blog/2017/10/06/ -static const char *decode_utf8(const char *str, int32_t *code_point) { - const char *next; - - if (str[0] < 0x80) { // U+0000-007F - *code_point = str[0]; - next = str + 1; - } else if ((str[0] & 0xE0) == 0xC0) { // U+0080-07FF - *code_point = ((int32_t)(str[0] & 0x1F) << 6) | ((int32_t)(str[1] & 0x3F) << 0); - next = str + 2; - } else if ((str[0] & 0xF0) == 0xE0) { // U+0800-FFFF - *code_point = ((int32_t)(str[0] & 0x0F) << 12) | ((int32_t)(str[1] & 0x3F) << 6) | ((int32_t)(str[2] & 0x3F) << 0); - next = str + 3; - } else if ((str[0] & 0xF8) == 0xF0 && (str[0] <= 0xF4)) { // U+10000-10FFFF - *code_point = ((int32_t)(str[0] & 0x07) << 18) | ((int32_t)(str[1] & 0x3F) << 12) | ((int32_t)(str[2] & 0x3F) << 6) | ((int32_t)(str[3] & 0x3F) << 0); - next = str + 4; - } else { - *code_point = -1; - next = str + 1; - } - - // part of a UTF-16 surrogate pair - invalid - if (*code_point >= 0xD800 && *code_point <= 0xDFFF) { - *code_point = -1; - } - - return next; -} - void send_unicode_string(const char *str) { if (!str) { return; diff --git a/quantum/quantum.h b/quantum/quantum.h index f87e5f19161e..9ce3c1f5d62d 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -188,6 +188,10 @@ extern layer_state_t layer_state; # include "st7565.h" #endif +#ifdef QUANTUM_PAINTER_ENABLE +# include "qp.h" +#endif + #ifdef DIP_SWITCH_ENABLE # include "dip_switch.h" #endif diff --git a/quantum/utf8.c b/quantum/utf8.c new file mode 100644 index 000000000000..4b2cd4d8d4a5 --- /dev/null +++ b/quantum/utf8.c @@ -0,0 +1,46 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "utf8.h" + +// Borrowed from https://nullprogram.com/blog/2017/10/06/ +const char *decode_utf8(const char *str, int32_t *code_point) { + const char *next; + + if (str[0] < 0x80) { // U+0000-007F + *code_point = str[0]; + next = str + 1; + } else if ((str[0] & 0xE0) == 0xC0) { // U+0080-07FF + *code_point = ((int32_t)(str[0] & 0x1F) << 6) | ((int32_t)(str[1] & 0x3F) << 0); + next = str + 2; + } else if ((str[0] & 0xF0) == 0xE0) { // U+0800-FFFF + *code_point = ((int32_t)(str[0] & 0x0F) << 12) | ((int32_t)(str[1] & 0x3F) << 6) | ((int32_t)(str[2] & 0x3F) << 0); + next = str + 3; + } else if ((str[0] & 0xF8) == 0xF0 && (str[0] <= 0xF4)) { // U+10000-10FFFF + *code_point = ((int32_t)(str[0] & 0x07) << 18) | ((int32_t)(str[1] & 0x3F) << 12) | ((int32_t)(str[2] & 0x3F) << 6) | ((int32_t)(str[3] & 0x3F) << 0); + next = str + 4; + } else { + *code_point = -1; + next = str + 1; + } + + // part of a UTF-16 surrogate pair - invalid + if (*code_point >= 0xD800 && *code_point <= 0xDFFF) { + *code_point = -1; + } + + return next; +} diff --git a/quantum/utf8.h b/quantum/utf8.h new file mode 100644 index 000000000000..fb10910944c2 --- /dev/null +++ b/quantum/utf8.h @@ -0,0 +1,21 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include + +const char *decode_utf8(const char *str, int32_t *code_point); \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 6d338ae1cbd1..e09d58d82980 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,3 +9,4 @@ milc>=1.4.2 pygments pyusb qmk-dotty-dict +pillow diff --git a/setup.cfg b/setup.cfg index c7d795209838..6cbe1a616dd4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -6,7 +6,11 @@ ignore = # Conflicts with our yapf config E231 per_file_ignores = + # Module imported but unused **/__init__.py:F401 + # Quantum Painter also outputs append data using bytes object arithmetic on multiple lines + **/painter_qgf.py:W503 + **/painter_qff.py:W503 # Let's slowly crank this down max_complexity=16 From cf152dd16bb8a0bc1aba3d98f307303d96799fa7 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Wed, 13 Apr 2022 16:11:19 +0200 Subject: [PATCH 0505/1832] [Keyboard] Waffling60 - minor tweak, improve default behavior of caps lock indicator. (#16836) Co-authored-by: Drashna Jaelre Co-authored-by: 4pplet <4pplet@protonmail.com> Co-authored-by: 4pplet --- .../waffling60/keymaps/default/keymap.c | 6 ++--- .../4pplet/waffling60/keymaps/via/keymap.c | 26 +++++++++---------- keyboards/4pplet/waffling60/rev_b/rev_b.c | 19 +++++++------- keyboards/4pplet/waffling60/rev_b/rev_b.h | 5 ++-- keyboards/4pplet/waffling60/rev_c/rev_c.c | 15 ++++++----- keyboards/4pplet/waffling60/rev_c/rev_c.h | 5 ++-- 6 files changed, 39 insertions(+), 37 deletions(-) diff --git a/keyboards/4pplet/waffling60/keymaps/default/keymap.c b/keyboards/4pplet/waffling60/keymaps/default/keymap.c index c9ae421af1e7..b60a7154d70a 100644 --- a/keyboards/4pplet/waffling60/keymaps/default/keymap.c +++ b/keyboards/4pplet/waffling60/keymaps/default/keymap.c @@ -20,9 +20,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // main layer [0] = LAYOUT_all( 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_NO, KC_BSPC, - 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_LCTRL, 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_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, + 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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)), // basic function layer [1] = LAYOUT_all( diff --git a/keyboards/4pplet/waffling60/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/keymaps/via/keymap.c index d20c6bf06cdd..3e20ef9f5634 100644 --- a/keyboards/4pplet/waffling60/keymaps/via/keymap.c +++ b/keyboards/4pplet/waffling60/keymaps/via/keymap.c @@ -19,10 +19,10 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // main layer [0] = LAYOUT_all( - 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_NO, KC_BSPC, - 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_LCTRL, 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_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, + 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, + 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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)), // basic function layer [1] = LAYOUT_all( @@ -33,16 +33,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), // extra layer for VIA [2] = LAYOUT_all( - 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, 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), // extra layer for VIA [3] = LAYOUT_all( - 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, 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; \ No newline at end of file +}; diff --git a/keyboards/4pplet/waffling60/rev_b/rev_b.c b/keyboards/4pplet/waffling60/rev_b/rev_b.c index 5f701b57f43b..c03f3630e6d8 100644 --- a/keyboards/4pplet/waffling60/rev_b/rev_b.c +++ b/keyboards/4pplet/waffling60/rev_b/rev_b.c @@ -18,15 +18,16 @@ along with this program. If not, see . bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); - if(CAPS_LOCK_ENABLE){ - if(res) { - if(led_state.caps_lock){ - rgblight_enable(); - rgblight_mode(1); - rgblight_sethsv_noeeprom(CAPS_LOCK_COLOR); - } - else - rgblight_disable_noeeprom(); + if (CAPS_LOCK_ENABLE && res) { + if(led_state.caps_lock) { + #ifdef CAPS_LOCK_COLOR + rgblight_sethsv_at(CAPS_LOCK_COLOR, 0); + #else + rgblight_sethsv_at(rgblight_get_hue(),rgblight_get_sat(),rgblight_get_val(), 0); + #endif + } + else{ + rgblight_sethsv_at(HSV_OFF, 0); } } return res; diff --git a/keyboards/4pplet/waffling60/rev_b/rev_b.h b/keyboards/4pplet/waffling60/rev_b/rev_b.h index e6dc7a15dba5..e54e020354bf 100644 --- a/keyboards/4pplet/waffling60/rev_b/rev_b.h +++ b/keyboards/4pplet/waffling60/rev_b/rev_b.h @@ -16,9 +16,8 @@ along with this program. If not, see . */ #pragma once -// defines to set RGB-led behaviour. Off by default -#define CAPS_LOCK_ENABLE false -#define CAPS_LOCK_COLOR HSV_ORANGE +#define CAPS_LOCK_ENABLE true +//#define CAPS_LOCK_COLOR HSV_ORANGE #include "quantum.h" diff --git a/keyboards/4pplet/waffling60/rev_c/rev_c.c b/keyboards/4pplet/waffling60/rev_c/rev_c.c index f00cce06dc70..fc7e99b60144 100644 --- a/keyboards/4pplet/waffling60/rev_c/rev_c.c +++ b/keyboards/4pplet/waffling60/rev_c/rev_c.c @@ -19,12 +19,15 @@ along with this program. If not, see . bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if (CAPS_LOCK_ENABLE && res) { - if (led_state.caps_lock){ - rgblight_enable(); - rgblight_mode(1); - rgblight_sethsv_noeeprom(CAPS_LOCK_COLOR); - } else { - rgblight_disable_noeeprom(); + if(led_state.caps_lock) { + #ifdef CAPS_LOCK_COLOR + rgblight_sethsv_at(CAPS_LOCK_COLOR, 0); + #else + rgblight_sethsv_at(rgblight_get_hue(),rgblight_get_sat(),rgblight_get_val(), 0); + #endif + } + else{ + rgblight_sethsv_at(HSV_OFF, 0); } } return res; diff --git a/keyboards/4pplet/waffling60/rev_c/rev_c.h b/keyboards/4pplet/waffling60/rev_c/rev_c.h index 3df9419eb94b..701098df1f62 100644 --- a/keyboards/4pplet/waffling60/rev_c/rev_c.h +++ b/keyboards/4pplet/waffling60/rev_c/rev_c.h @@ -16,9 +16,8 @@ along with this program. If not, see . */ #pragma once -// defines to set RGB-led behaviour. Off by default -#define CAPS_LOCK_ENABLE false -#define CAPS_LOCK_COLOR HSV_ORANGE +#define CAPS_LOCK_ENABLE true +//#define CAPS_LOCK_COLOR HSV_ORANGE #include "quantum.h" From 7216243a7a1b3e8c4268d1a9f9e03182c2cfcf41 Mon Sep 17 00:00:00 2001 From: IFo Hancroft Date: Wed, 13 Apr 2022 17:17:11 +0300 Subject: [PATCH 0506/1832] [Keyboard] Ported ErgoDox to VIA (#16804) --- keyboards/ergodox_ez/keymaps/via/keymap.c | 90 +++++++++++++++++++++++ keyboards/ergodox_ez/keymaps/via/rules.mk | 1 + 2 files changed, 91 insertions(+) create mode 100644 keyboards/ergodox_ez/keymaps/via/keymap.c create mode 100644 keyboards/ergodox_ez/keymaps/via/rules.mk diff --git a/keyboards/ergodox_ez/keymaps/via/keymap.c b/keyboards/ergodox_ez/keymaps/via/keymap.c new file mode 100644 index 000000000000..21ee23a3c2ba --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/via/keymap.c @@ -0,0 +1,90 @@ +/* Copyright 2022 IFo Hancroft + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Default Layer + * *---------------------------------------------------------------------* *---------------------------------------------------------------------* + * | = | 1 | 2 | 3 | 4 | 5 | Left | | RIGHT | 6 | 7 | 8 | 9 | 0 | - | + * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| + * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| + * | BkSp | A | S | D | F | G | Hyper | | Meh | H | J | K | L | ; / L2 | ' / CMD | + * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------| + * | Shift | Z/Ctrl | X | C | V | B | | N | M | , | . | //Ctrl | Shift | + * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------| + * | Grv/L1 | " | AltShf | Left | Right | | Up | Down | [ | ] | ~L1 | + * *-------------------------------------------------* *-------------------------------------------------* + * + * *-------------------* *-------------------* + * | App | LGui | | Alt | Ctrl/Esc| + * *---------+---------+---------| |---------+---------+---------* + * | | | Home | | PgUp | | | + * | Space | BkSp |---------| |---------| Tab | Enter | + * | | | End | | PgDn | | | + * *---------+---------+---------* *---------+---------+---------* + */ + + LAYOUT_ergodox_pretty( + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(2, KC_SCLN), GUI_T(KC_QUOT), + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + LT(0,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(1), + + ALT_T(KC_APP), KC_LGUI, KC_LALT, CTL_T(KC_ESC), + KC_HOME, KC_PGUP, + KC_SPC, KC_BSPC, KC_END, KC_PGDN, KC_TAB, KC_ENT + ), + + LAYOUT_ergodox_pretty( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, + _______, _______, + _______, _______, _______, _______, _______, _______ + ), + + LAYOUT_ergodox_pretty( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, + _______, _______, + _______, _______, _______, _______, _______, _______ + ), + + LAYOUT_ergodox_pretty( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, + _______, _______, + _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/ergodox_ez/keymaps/via/rules.mk b/keyboards/ergodox_ez/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes From e9ad400b83a05042b5054de81711b00ca69c2afc Mon Sep 17 00:00:00 2001 From: mudhead <100776178+themudhead@users.noreply.github.com> Date: Wed, 13 Apr 2022 10:18:21 -0400 Subject: [PATCH 0507/1832] [Keyboard] KBD67 rev1 Caps Lock LED Fix (#16790) --- keyboards/kbdfans/kbd67/rev1/config.h | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/kbdfans/kbd67/rev1/config.h b/keyboards/kbdfans/kbd67/rev1/config.h index 72aa27afccad..b7ad8de4e2c4 100644 --- a/keyboards/kbdfans/kbd67/rev1/config.h +++ b/keyboards/kbdfans/kbd67/rev1/config.h @@ -48,6 +48,7 @@ along with this program. If not, see . #define DIODE_DIRECTION COL2ROW #define LED_CAPS_LOCK_PIN B2 +#define LED_PIN_ON_STATE 0 #define BACKLIGHT_PIN B6 #ifdef BACKLIGHT_PIN From 87777d1cdd51539ab319cc4157348d88c1bf6809 Mon Sep 17 00:00:00 2001 From: Tyler Thrailkill Date: Wed, 13 Apr 2022 08:19:24 -0600 Subject: [PATCH 0508/1832] [Keymap] Fix snowe keymap after updates to QMK (#16777) --- keyboards/crkbd/keymaps/snowe/config.h | 3 ++- keyboards/crkbd/keymaps/snowe/keymap.c | 19 +++++++++++++++++++ users/snowe/ocean_dream.h | 2 +- users/snowe/oled_setup.c | 24 ++++++++++++++---------- users/snowe/snowe.h | 2 +- users/snowe/wrappers.h | 2 +- 6 files changed, 38 insertions(+), 14 deletions(-) diff --git a/keyboards/crkbd/keymaps/snowe/config.h b/keyboards/crkbd/keymaps/snowe/config.h index b624b589bccf..575e39892dc0 100644 --- a/keyboards/crkbd/keymaps/snowe/config.h +++ b/keyboards/crkbd/keymaps/snowe/config.h @@ -52,4 +52,5 @@ along with this program. If not, see . #define IGNORE_MOD_TAP_INTERRUPT //#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY -#define LAYER_STATE_8BIT \ No newline at end of file +#define LAYER_STATE_8BIT +#define SPLIT_WPM_ENABLE diff --git a/keyboards/crkbd/keymaps/snowe/keymap.c b/keyboards/crkbd/keymaps/snowe/keymap.c index 4dfd6ecbeba5..f5972d62db3e 100644 --- a/keyboards/crkbd/keymaps/snowe/keymap.c +++ b/keyboards/crkbd/keymaps/snowe/keymap.c @@ -57,6 +57,20 @@ along with this program. If not, see . ) // clang-format on #define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) +// clang-format off +#define LAYOUT_crkbd_no_hold_shortcuts( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ + ) \ + LAYOUT_wrapper( \ + KC_TAB, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ + GUI_ESC, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ + KC_LSFT, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, KC_BSLS, \ + KC_LCTL, LOWER, KC_BSPC, KC_ENTER, SP_RAIS, KC_LALT \ + ) +// clang-format on +#define LAYOUT_crkbd_no_hold_shortcuts_wrapper(...) LAYOUT_crkbd_no_hold_shortcuts(__VA_ARGS__) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // clang-format off @@ -77,6 +91,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ ), + [_GAMING] = LAYOUT_crkbd_no_hold_shortcuts_wrapper( + _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, + _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, + _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ + ), /* Lower * ,-----------------------------------------------. .-----------------------------------------------. diff --git a/users/snowe/ocean_dream.h b/users/snowe/ocean_dream.h index 498375559a0b..57e0b9155766 100644 --- a/users/snowe/ocean_dream.h +++ b/users/snowe/ocean_dream.h @@ -22,7 +22,7 @@ * Features: * You can turn on and off features in this section */ -#define ENABLE_MOON // Uses 182 bytes +//#define ENABLE_MOON // Uses 182 bytes #define ENABLE_WAVE // Uses 844 bytes #define ENABLE_SHOOTING_STARS // Uses 872 bytes #define ENABLE_ISLAND diff --git a/users/snowe/oled_setup.c b/users/snowe/oled_setup.c index dfc4b085e30e..be54d9f55863 100644 --- a/users/snowe/oled_setup.c +++ b/users/snowe/oled_setup.c @@ -25,15 +25,16 @@ # include // for keylog? oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_master) { + if (!is_keyboard_master()) { return OLED_ROTATION_270; // flips the display 180 degrees if offhand } return OLED_ROTATION_270; } # define L_BASE 0 -# define L_LOWER 2 -# define L_RAISE 4 +# define L_GAME 2 +# define L_LOWER 4 +# define L_RAISE 6 # define L_ADJUST 8 void oled_render_layer_state(void) { @@ -42,18 +43,21 @@ void oled_render_layer_state(void) { case L_BASE: oled_write_ln_P(PSTR("Main"), false); break; + case L_GAME: + oled_write_ln_P(PSTR("Game"), false); + break; case L_LOWER: oled_write_ln_P(PSTR("Bot"), false); break; case L_RAISE: oled_write_ln_P(PSTR("Top"), false); break; - case L_ADJUST: - case L_ADJUST | L_LOWER: - case L_ADJUST | L_RAISE: - case L_ADJUST | L_LOWER | L_RAISE: - oled_write_ln_P(PSTR("Comb"), false); - break; +// case L_ADJUST: +// case L_ADJUST | L_LOWER: +// case L_ADJUST | L_RAISE: +// case L_ADJUST | L_LOWER | L_RAISE: +// oled_write_ln_P(PSTR("Comb"), false); +// break; } } @@ -122,7 +126,7 @@ void render_bootmagic_status(void) { } bool oled_task_user(void) { - if (is_master) { + if (is_keyboard_master()) { oled_render_layer_state(); oled_render_keylog(); render_bootmagic_status(); diff --git a/users/snowe/snowe.h b/users/snowe/snowe.h index 21764ca50760..6a2fc2aba1a1 100644 --- a/users/snowe/snowe.h +++ b/users/snowe/snowe.h @@ -40,4 +40,4 @@ along with this program. If not, see . #endif -enum layers { _MAIN, _LOWER, _UPPER, _ADJUST }; +enum layers { _MAIN, _GAMING, _LOWER, _UPPER, _ADJUST }; diff --git a/users/snowe/wrappers.h b/users/snowe/wrappers.h index 485f8de54281..9ef7dce607e6 100644 --- a/users/snowe/wrappers.h +++ b/users/snowe/wrappers.h @@ -85,7 +85,7 @@ NOTE: These are all the same length. If you do a search/replace #define _________________ADJUST_L1_________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG -#define _________________ADJUST_L2_________________ MU_TOG , CK_TOGG, AU_ON, AU_OFF, AG_NORM +#define _________________ADJUST_L2_________________ MU_TOG , TG(_GAMING), AU_ON, AU_OFF, AG_NORM #define _________________ADJUST_L3_________________ RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, _______ #define _________________ADJUST_R1_________________ _______, _______, _______, _______, _______ #define _________________ADJUST_R2_________________ RESET, CG_TOGG, _______, _______, _______ From a8e01df50fe8c88828f317903d781fe5c7d69fcc Mon Sep 17 00:00:00 2001 From: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Wed, 13 Apr 2022 21:20:00 +0700 Subject: [PATCH 0509/1832] [Keyboard] correct matrix for Kay65 (#16751) --- keyboards/mechlovin/kay65/info.json | 13 +++++++------ keyboards/mechlovin/kay65/kay65.h | 4 ++-- keyboards/mechlovin/kay65/keymaps/via/keymap.c | 8 ++++---- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/keyboards/mechlovin/kay65/info.json b/keyboards/mechlovin/kay65/info.json index 9a2f7dc01be5..7afccc81c01a 100644 --- a/keyboards/mechlovin/kay65/info.json +++ b/keyboards/mechlovin/kay65/info.json @@ -69,8 +69,9 @@ {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25}, {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25}, {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25}, - {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25}, - {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25}, + {"label":"K49 (B4,C7)", "x":10, "y":4}, + {"label":"K4A (B4,C7)", "x":11, "y":4}, + {"label":"K4B (B4,D0)", "x":12, "y":4}, {"label":"K4C (B4,D1)", "x":13, "y":4}, {"label":"K4D (B4,D2)", "x":14, "y":4}, {"label":"K4E (B4,D3)", "x":15, "y":4} @@ -140,8 +141,8 @@ {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25}, {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25}, {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25}, - {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25}, - {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25}, + {"label":"K49 (B4,C7)", "x":10, "y":4, "w":1.25}, + {"label":"K4A (B4,D0)", "x":11.25, "y":4, "w":1.25}, {"label":"K4C (B4,D1)", "x":13, "y":4}, {"label":"K4D (B4,D2)", "x":14, "y":4}, {"label":"K4E (B4,D3)", "x":15, "y":4} @@ -212,8 +213,8 @@ {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25}, {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25}, {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25}, - {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25}, - {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25}, + {"label":"K49 (B4,C7)", "x":10, "y":4, "w":1.25}, + {"label":"K4A (B4,D0)", "x":11.25, "y":4, "w":1.25}, {"label":"K4C (B4,D1)", "x":13, "y":4}, {"label":"K4D (B4,D2)", "x":14, "y":4}, {"label":"K4E (B4,D3)", "x":15, "y":4} diff --git a/keyboards/mechlovin/kay65/kay65.h b/keyboards/mechlovin/kay65/kay65.h index 7da2a749698c..1af2673dc125 100644 --- a/keyboards/mechlovin/kay65/kay65.h +++ b/keyboards/mechlovin/kay65/kay65.h @@ -24,13 +24,13 @@ along with this program. If not, see . K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ - K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \ + K40, K41, K42, K46, K49, K4A, K4B, K4C, K4D, K4E \ ) { \ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ - { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D, K4E }, \ } #define LAYOUT_65_ansi_blocker( \ diff --git a/keyboards/mechlovin/kay65/keymaps/via/keymap.c b/keyboards/mechlovin/kay65/keymaps/via/keymap.c index 02e1b8578d4f..01a524e2a00b 100644 --- a/keyboards/mechlovin/kay65/keymaps/via/keymap.c +++ b/keyboards/mechlovin/kay65/keymaps/via/keymap.c @@ -28,28 +28,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_PGUP, 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, 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_LSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( 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, 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, 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, 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, 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 ), [2] = LAYOUT_all( 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, 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, 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, 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, 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 ), [3] = LAYOUT_all( 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, 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, 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, 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, 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 ), From 3f8343e5525adb6c02c10c6659c54d18204c52fb Mon Sep 17 00:00:00 2001 From: Christian Lo Date: Wed, 13 Apr 2022 08:23:01 -0600 Subject: [PATCH 0510/1832] [Keyboard] Add banime40 keyboard (#16694) Co-authored-by: Ryan --- keyboards/sporewoh/banime40/banime40.c | 18 +++++ keyboards/sporewoh/banime40/banime40.h | 33 +++++++++ keyboards/sporewoh/banime40/config.h | 42 +++++++++++ keyboards/sporewoh/banime40/info.json | 50 +++++++++++++ .../banime40/keymaps/default/keymap.c | 41 +++++++++++ .../sporewoh/banime40/keymaps/via/keymap.c | 71 +++++++++++++++++++ .../sporewoh/banime40/keymaps/via/rules.mk | 2 + keyboards/sporewoh/banime40/readme.md | 27 +++++++ keyboards/sporewoh/banime40/rules.mk | 20 ++++++ 9 files changed, 304 insertions(+) create mode 100644 keyboards/sporewoh/banime40/banime40.c create mode 100644 keyboards/sporewoh/banime40/banime40.h create mode 100644 keyboards/sporewoh/banime40/config.h create mode 100644 keyboards/sporewoh/banime40/info.json create mode 100644 keyboards/sporewoh/banime40/keymaps/default/keymap.c create mode 100644 keyboards/sporewoh/banime40/keymaps/via/keymap.c create mode 100644 keyboards/sporewoh/banime40/keymaps/via/rules.mk create mode 100644 keyboards/sporewoh/banime40/readme.md create mode 100644 keyboards/sporewoh/banime40/rules.mk diff --git a/keyboards/sporewoh/banime40/banime40.c b/keyboards/sporewoh/banime40/banime40.c new file mode 100644 index 000000000000..4e55c6116eab --- /dev/null +++ b/keyboards/sporewoh/banime40/banime40.c @@ -0,0 +1,18 @@ +/* +Copyright 2022 sporewoh + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "banime40.h" diff --git a/keyboards/sporewoh/banime40/banime40.h b/keyboards/sporewoh/banime40/banime40.h new file mode 100644 index 000000000000..98b2bcd098ea --- /dev/null +++ b/keyboards/sporewoh/banime40/banime40.h @@ -0,0 +1,33 @@ +/* +Copyright 2022 sporewoh + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_ortho_4x10( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29}, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39} \ +} diff --git a/keyboards/sporewoh/banime40/config.h b/keyboards/sporewoh/banime40/config.h new file mode 100644 index 000000000000..58173b58be37 --- /dev/null +++ b/keyboards/sporewoh/banime40/config.h @@ -0,0 +1,42 @@ +/* +Copyright 2022 sporewoh + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xBEAF +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0000 +#define MANUFACTURER sporewoh +#define PRODUCT banime40 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 10 + +/* pin-out for PCB */ +#define MATRIX_ROW_PINS { E6, D7, C6, D4 } +#define MATRIX_COL_PINS { B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 } + +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define DYNAMIC_KEYMAP_LAYER_COUNT 10 diff --git a/keyboards/sporewoh/banime40/info.json b/keyboards/sporewoh/banime40/info.json new file mode 100644 index 000000000000..36a7ee9eb52b --- /dev/null +++ b/keyboards/sporewoh/banime40/info.json @@ -0,0 +1,50 @@ +{ + "keyboard_name": "banime40", + "url": "https://github.com/ChrisChrisLoLo/banime40", + "maintainer": "sporewoh", + "layouts": { + "LAYOUT_ortho_4x10": { + "layout": [ + {"w":1, "x":0, "y":0}, + {"w":1, "x":1, "y":0}, + {"w":1, "x":2, "y":0}, + {"w":1, "x":3, "y":0}, + {"w":1, "x":4, "y":0}, + {"w":1, "x":5, "y":0}, + {"w":1, "x":6, "y":0}, + {"w":1, "x":7, "y":0}, + {"w":1, "x":8, "y":0}, + {"w":1, "x":9, "y":0}, + {"w":1, "x":0, "y":1}, + {"w":1, "x":1, "y":1}, + {"w":1, "x":2, "y":1}, + {"w":1, "x":3, "y":1}, + {"w":1, "x":4, "y":1}, + {"w":1, "x":5, "y":1}, + {"w":1, "x":6, "y":1}, + {"w":1, "x":7, "y":1}, + {"w":1, "x":8, "y":1}, + {"w":1, "x":9, "y":1}, + {"w":1, "x":0, "y":2}, + {"w":1, "x":1, "y":2}, + {"w":1, "x":2, "y":2}, + {"w":1, "x":3, "y":2}, + {"w":1, "x":4, "y":2}, + {"w":1, "x":5, "y":2}, + {"w":1, "x":6, "y":2}, + {"w":1, "x":7, "y":2}, + {"w":1, "x":8, "y":2}, + {"w":1, "x":9, "y":2}, + {"w":1, "x":0, "y":3}, + {"w":1, "x":1, "y":3}, + {"w":1, "x":2, "y":3}, + {"w":1, "x":3, "y":3}, + {"w":1, "x":4, "y":3}, + {"w":1, "x":5, "y":3}, + {"w":1, "x":6, "y":3}, + {"w":1, "x":7, "y":3}, + {"w":1, "x":8, "y":3}, + {"w":1, "x":9, "y":3}] + } + } +} diff --git a/keyboards/sporewoh/banime40/keymaps/default/keymap.c b/keyboards/sporewoh/banime40/keymaps/default/keymap.c new file mode 100644 index 000000000000..7c6f5073f7a4 --- /dev/null +++ b/keyboards/sporewoh/banime40/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +/* +Copyright 2022 sporewoh + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4x10( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(3,KC_MINS), + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LT(4,KC_SLSH), + KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, LT(2,KC_BSPC), LT(1,KC_SPC), KC_ENT, KC_APP, KC_DEL, KC_ESC), + [1] = LAYOUT_ortho_4x10( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TAB, KC_NO, KC_NO, KC_GRV, KC_LBRC, KC_RBRC, KC_BSLS, KC_SCLN, KC_QUOT, KC_MINS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_EQL, KC_MINS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT_ortho_4x10( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_TAB, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_CAPS, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NLCK, KC_NO, KC_VOLD, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [3] = LAYOUT_ortho_4x10( + KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_PGUP, KC_UP, KC_PGDN, KC_DEL, + KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO) +}; diff --git a/keyboards/sporewoh/banime40/keymaps/via/keymap.c b/keyboards/sporewoh/banime40/keymaps/via/keymap.c new file mode 100644 index 000000000000..064b2f13c74d --- /dev/null +++ b/keyboards/sporewoh/banime40/keymaps/via/keymap.c @@ -0,0 +1,71 @@ +/* +Copyright 2022 sporewoh + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4x10( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(3,KC_MINS), + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LT(4,KC_SLSH), + KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, LT(2,KC_BSPC), LT(1,KC_SPC), KC_ENT, KC_APP, KC_DEL, KC_ESC), + [1] = LAYOUT_ortho_4x10( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TAB, KC_NO, KC_NO, KC_GRV, KC_LBRC, KC_RBRC, KC_BSLS, KC_SCLN, KC_QUOT, KC_MINS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_EQL, KC_MINS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT_ortho_4x10( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_TAB, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_CAPS, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NLCK, KC_NO, KC_VOLD, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [3] = LAYOUT_ortho_4x10( + KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_PGUP, KC_UP, KC_PGDN, KC_DEL, + KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [4] = LAYOUT_ortho_4x10( + 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, 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, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [5] = LAYOUT_ortho_4x10( + 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, 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, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [6] = LAYOUT_ortho_4x10( + 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, 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, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [7] = LAYOUT_ortho_4x10( + 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, 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, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [8] = LAYOUT_ortho_4x10( + 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, 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, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [9] = LAYOUT_ortho_4x10( + 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, 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, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO) +}; diff --git a/keyboards/sporewoh/banime40/keymaps/via/rules.mk b/keyboards/sporewoh/banime40/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/sporewoh/banime40/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/sporewoh/banime40/readme.md b/keyboards/sporewoh/banime40/readme.md new file mode 100644 index 000000000000..cd536880aed5 --- /dev/null +++ b/keyboards/sporewoh/banime40/readme.md @@ -0,0 +1,27 @@ +# banime40 + +![](https://i.imgur.com/sHQyMfEh.jpeg) + +A hotswap gasket mount 4x10 that can support multiple layouts. + +* Keyboard Maintainer: [sporewoh](https://github.com/ChrisChrisLoLo) +* Hardware Supported: Open source PCB files, Pro Micro compatible +* Hardware Availability: PCBs and Case files available [here](https://github.com/ChrisChrisLoLo/banime40) + +Make example for this keyboard (after setting up your build environment): + + make sporewoh/banime40:default + +Flashing example for this keyboard: + + make sporewoh/banime40:default:flash + + +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). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead diff --git a/keyboards/sporewoh/banime40/rules.mk b/keyboards/sporewoh/banime40/rules.mk new file mode 100644 index 000000000000..8c8ea8e82509 --- /dev/null +++ b/keyboards/sporewoh/banime40/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +LAYOUTS = ortho_4x10 From ad981dea72af5a2e207ed276231470a4f675e54a Mon Sep 17 00:00:00 2001 From: bwisn <56162793+bwisn@users.noreply.github.com> Date: Wed, 13 Apr 2022 16:24:38 +0200 Subject: [PATCH 0511/1832] [Keyboard] annepro2: match default keymap to stock keycaps (#16724) --- keyboards/annepro2/annepro2.c | 64 +++++++++++++++++++++ keyboards/annepro2/annepro2.h | 4 ++ keyboards/annepro2/keymaps/default/keymap.c | 12 ++-- 3 files changed, 74 insertions(+), 6 deletions(-) diff --git a/keyboards/annepro2/annepro2.c b/keyboards/annepro2/annepro2.c index 0f49f9310437..ef18f8332933 100644 --- a/keyboards/annepro2/annepro2.c +++ b/keyboards/annepro2/annepro2.c @@ -42,6 +42,8 @@ static const SerialConfig ble_uart_config = { static uint8_t led_mcu_wakeup[11] = {0x7b, 0x10, 0x43, 0x10, 0x03, 0x00, 0x00, 0x7d, 0x02, 0x01, 0x02}; +static uint8_t led_enabled = 1; + ble_capslock_t ble_capslock = {._dummy = {0}, .caps_lock = false}; #ifdef RGB_MATRIX_ENABLE @@ -226,6 +228,68 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { else ap2_led_enable(); return true; #endif + + case KC_AP_RGB_VAI: + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + rgb_matrix_increase_hue(); + return false; + } else if (get_mods() & MOD_MASK_CTRL) { + rgb_matrix_decrease_hue(); + return false; + } else { + rgb_matrix_increase_val(); + } + } + return true; + + case KC_AP_RGB_VAD: + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + rgb_matrix_increase_sat(); + return false; + } else if (get_mods() & MOD_MASK_CTRL) { + rgb_matrix_decrease_sat(); + return false; + } else { + rgb_matrix_decrease_val(); + } + } + return true; + + case KC_AP_RGB_TOG: + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + rgb_matrix_increase_speed(); + return false; + } else if (get_mods() & MOD_MASK_CTRL) { + rgb_matrix_decrease_speed(); + return false; + } else { + if (led_enabled) { + ap2_led_disable(); + rgb_matrix_disable(); + led_enabled = 0; + } else { + ap2_led_enable(); + rgb_matrix_enable(); + led_enabled = 1; + } + return true; + } + } + return true; + + case KC_AP_RGB_MOD: + if (record->event.pressed) { + if (get_mods() & MOD_MASK_CTRL) { + rgb_matrix_step_reverse(); + return false; + } else { + rgb_matrix_step(); + } + } + return true; default: break; diff --git a/keyboards/annepro2/annepro2.h b/keyboards/annepro2/annepro2.h index 143904b6ad1d..393d9b473173 100644 --- a/keyboards/annepro2/annepro2.h +++ b/keyboards/annepro2/annepro2.h @@ -58,6 +58,10 @@ enum AP2KeyCodes { KC_AP_LED_PREV_PROFILE, KC_AP_LED_NEXT_INTENSITY, KC_AP_LED_SPEED, + KC_AP_RGB_VAI, + KC_AP_RGB_VAD, + KC_AP_RGB_TOG, + KC_AP_RGB_MOD, AP2_SAFE_RANGE, }; diff --git a/keyboards/annepro2/keymaps/default/keymap.c b/keyboards/annepro2/keymaps/default/keymap.c index 8f5b639bb8c1..8af2d9a32c23 100644 --- a/keyboards/annepro2/keymaps/default/keymap.c +++ b/keyboards/annepro2/keymaps/default/keymap.c @@ -83,7 +83,7 @@ enum anne_pro_layers { /* * Layer FN2 * ,-----------------------------------------------------------------------------------------. - * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | HUE | SAT | BRI | SPD | MOD | TOG | Bksp | + * | ~ | BT1 | BT2 | BT3 | BT4 | F5 | F6 | F7 | F8 | MOD | TOG | BRI- | BRI+ | Bksp | * |-----------------------------------------------------------------------------------------+ * | Tab | q | UP | e | r | t | y | u | i | o | PS | HOME | END | \ | * |-----------------------------------------------------------------------------------------+ @@ -96,11 +96,11 @@ enum anne_pro_layers { * */ [FN2] = LAYOUT_60_ansi( /* FN2 */ - _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, RGB_TOG, _______, - MO(FN2), _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______, - _______, _______, _______, _______, _______, MO(FN1), MO(FN2), _______ + _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, _______, KC_AP_RGB_MOD, KC_AP_RGB_TOG, KC_AP_RGB_VAD, KC_AP_RGB_VAI, _______, + MO(FN2), _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______, + _______, _______, _______, _______, _______, MO(FN1), MO(FN2), _______ ), }; // clang-format on From 84307744306e46d2699f9766be07f530af7c310e Mon Sep 17 00:00:00 2001 From: moyi4681 Date: Wed, 13 Apr 2022 07:24:56 -0700 Subject: [PATCH 0512/1832] [Keyboard] add tiger80 keyboard (#16742) Co-authored-by: Drashna Jaelre --- keyboards/kbdfans/tiger80/config.h | 66 +++++++++++++++++++ keyboards/kbdfans/tiger80/info.json | 10 +++ .../kbdfans/tiger80/keymaps/default/keymap.c | 37 +++++++++++ .../kbdfans/tiger80/keymaps/via/keymap.c | 63 ++++++++++++++++++ .../kbdfans/tiger80/keymaps/via/rules.mk | 2 + keyboards/kbdfans/tiger80/readme.md | 21 ++++++ keyboards/kbdfans/tiger80/rules.mk | 18 +++++ keyboards/kbdfans/tiger80/tiger80.c | 17 +++++ keyboards/kbdfans/tiger80/tiger80.h | 35 ++++++++++ 9 files changed, 269 insertions(+) create mode 100644 keyboards/kbdfans/tiger80/config.h create mode 100644 keyboards/kbdfans/tiger80/info.json create mode 100644 keyboards/kbdfans/tiger80/keymaps/default/keymap.c create mode 100644 keyboards/kbdfans/tiger80/keymaps/via/keymap.c create mode 100644 keyboards/kbdfans/tiger80/keymaps/via/rules.mk create mode 100644 keyboards/kbdfans/tiger80/readme.md create mode 100644 keyboards/kbdfans/tiger80/rules.mk create mode 100644 keyboards/kbdfans/tiger80/tiger80.c create mode 100644 keyboards/kbdfans/tiger80/tiger80.h diff --git a/keyboards/kbdfans/tiger80/config.h b/keyboards/kbdfans/tiger80/config.h new file mode 100644 index 000000000000..ea68effd4f1a --- /dev/null +++ b/keyboards/kbdfans/tiger80/config.h @@ -0,0 +1,66 @@ +/* Copyright 2022 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +#define VENDOR_ID 0x4B42 +#define PRODUCT_ID 0x0011 +#define DEVICE_VER 0x0001 +#define MANUFACTURER KBDFANS +#define PRODUCT TIGER80 + + +#define MATRIX_ROWS 6 +#define MATRIX_COLS 16 +#define MATRIX_ROW_PINS { B0, E6, B1, B4, D1, D2 } +#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, D3, D5, D4, D6, D7, B5, B6, C6, E2, D0 } +#define UNUSED_PINS + +#define DIODE_DIRECTION COL2ROW + +#define DEBOUNCE 5 + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +#define LED_CAPS_LOCK_PIN C7 +#define LED_SCROLL_LOCK_PIN B2 +#define LED_PIN_ON_STATE 1 + +#define RGB_DI_PIN B3 +#ifdef RGB_DI_PIN +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6) +#define RGBLIGHT_DEFAULT_SPD 15 +#define RGBLED_NUM 20 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 10 +#define RGBLIGHT_VAL_STEP 10 +#define RGBLIGHT_SLEEP +#endif + +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/kbdfans/tiger80/info.json b/keyboards/kbdfans/tiger80/info.json new file mode 100644 index 000000000000..32709fa2d34a --- /dev/null +++ b/keyboards/kbdfans/tiger80/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "tiger80", + "url": "", + "maintainer": "kbdfans", + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, {"label":"Shift", "x":0, "y":4.5, "w":2.25}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.5}, {"label":"Win", "x":1.5, "y":5.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Win", "x":12.5, "y":5.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}] + } + } +} diff --git a/keyboards/kbdfans/tiger80/keymaps/default/keymap.c b/keyboards/kbdfans/tiger80/keymaps/default/keymap.c new file mode 100644 index 000000000000..94a0fb1a22e6 --- /dev/null +++ b/keyboards/kbdfans/tiger80/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2022 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + +}; diff --git a/keyboards/kbdfans/tiger80/keymaps/via/keymap.c b/keyboards/kbdfans/tiger80/keymaps/via/keymap.c new file mode 100644 index 000000000000..2732c23fde12 --- /dev/null +++ b/keyboards/kbdfans/tiger80/keymaps/via/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2022 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_all( + 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, 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, 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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER2] = LAYOUT_all( + 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, 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, 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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER3] = LAYOUT_all( + 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, 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, 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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/kbdfans/tiger80/keymaps/via/rules.mk b/keyboards/kbdfans/tiger80/keymaps/via/rules.mk new file mode 100644 index 000000000000..f87b150df970 --- /dev/null +++ b/keyboards/kbdfans/tiger80/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LT0_ENABLE = yes diff --git a/keyboards/kbdfans/tiger80/readme.md b/keyboards/kbdfans/tiger80/readme.md new file mode 100644 index 000000000000..60190805d788 --- /dev/null +++ b/keyboards/kbdfans/tiger80/readme.md @@ -0,0 +1,21 @@ +# TIGER80 + +A customizable 80% HOTSWAP keyboard. + +* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) +* Hardware Supported: KBDFANS +* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/) + +Make example for this keyboard (after setting up your build environment): + + make kbdfans/tiger80:default + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +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/tiger80/rules.mk b/keyboards/kbdfans/tiger80/rules.mk new file mode 100644 index 000000000000..85eec9079f3f --- /dev/null +++ b/keyboards/kbdfans/tiger80/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/kbdfans/tiger80/tiger80.c b/keyboards/kbdfans/tiger80/tiger80.c new file mode 100644 index 000000000000..8348a142a210 --- /dev/null +++ b/keyboards/kbdfans/tiger80/tiger80.c @@ -0,0 +1,17 @@ +/* Copyright 2022 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "tiger80.h" diff --git a/keyboards/kbdfans/tiger80/tiger80.h b/keyboards/kbdfans/tiger80/tiger80.h new file mode 100644 index 000000000000..cc48ca1ad62c --- /dev/null +++ b/keyboards/kbdfans/tiger80/tiger80.h @@ -0,0 +1,35 @@ +/* Copyright 2022 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K3F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K3E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K4E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K4E, K3F }, \ + { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F } \ +} From 937ffcecc89070fdbd06c9bcc2ff8ce6059fef88 Mon Sep 17 00:00:00 2001 From: Simon <47527944+Frooastside@users.noreply.github.com> Date: Wed, 13 Apr 2022 16:25:16 +0200 Subject: [PATCH 0513/1832] [Keyboard] Add Frooastboard Walnut (69% Keyboard) (#16743) Co-authored-by: Ryan --- keyboards/frooastboard/walnut/config.h | 55 ++++ keyboards/frooastboard/walnut/info.json | 259 ++++++++++++++++++ .../walnut/keymaps/default/keymap.c | 20 ++ .../walnut/keymaps/default_ansi/keymap.c | 20 ++ .../walnut/keymaps/default_iso/keymap.c | 20 ++ .../frooastboard/walnut/keymaps/via/config.h | 7 + .../frooastboard/walnut/keymaps/via/keymap.c | 131 +++++++++ .../frooastboard/walnut/keymaps/via/rules.mk | 1 + keyboards/frooastboard/walnut/readme.md | 27 ++ keyboards/frooastboard/walnut/rules.mk | 5 + keyboards/frooastboard/walnut/walnut.c | 86 ++++++ keyboards/frooastboard/walnut/walnut.h | 6 + 12 files changed, 637 insertions(+) create mode 100644 keyboards/frooastboard/walnut/config.h create mode 100644 keyboards/frooastboard/walnut/info.json create mode 100644 keyboards/frooastboard/walnut/keymaps/default/keymap.c create mode 100644 keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c create mode 100644 keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c create mode 100644 keyboards/frooastboard/walnut/keymaps/via/config.h create mode 100644 keyboards/frooastboard/walnut/keymaps/via/keymap.c create mode 100644 keyboards/frooastboard/walnut/keymaps/via/rules.mk create mode 100644 keyboards/frooastboard/walnut/readme.md create mode 100644 keyboards/frooastboard/walnut/rules.mk create mode 100644 keyboards/frooastboard/walnut/walnut.c create mode 100644 keyboards/frooastboard/walnut/walnut.h diff --git a/keyboards/frooastboard/walnut/config.h b/keyboards/frooastboard/walnut/config.h new file mode 100644 index 000000000000..081a084d1612 --- /dev/null +++ b/keyboards/frooastboard/walnut/config.h @@ -0,0 +1,55 @@ +// Copyright 2022 Simon Benezan (@Frooastside) +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +#define ISSI_TIMEOUT 100 +#define ISSI_PERSISTENCE 0 +#define ISSI_PWM_FREQUENCY 0b010 +#define ISSI_SWPULLUP PUR_0R +#define ISSI_CSPULLUP PUR_0R +#define DRIVER_COUNT 1 +#define DRIVER_LED_TOTAL 48 +#define DRIVER_ADDR_1 0b1010000 + +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 191 + +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_VAL +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_DUAL_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#define ENABLE_RGB_MATRIX_RAINDROPS +#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define ENABLE_RGB_MATRIX_HUE_BREATHING +#define ENABLE_RGB_MATRIX_HUE_PENDULUM +#define ENABLE_RGB_MATRIX_HUE_WAVE +#define ENABLE_RGB_MATRIX_PIXEL_RAIN +#define ENABLE_RGB_MATRIX_PIXEL_FLOW + +#define RGB_MATRIX_LED_FLUSH_LIMIT 16 +#define RGB_MATRIX_STARTUP_HUE 0 +#define RGB_MATRIX_STARTUP_SAT 255 +#define RGB_MATRIX_STARTUP_SPD 191 +#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON diff --git a/keyboards/frooastboard/walnut/info.json b/keyboards/frooastboard/walnut/info.json new file mode 100644 index 000000000000..7a8276f3ffe5 --- /dev/null +++ b/keyboards/frooastboard/walnut/info.json @@ -0,0 +1,259 @@ +{ + "keyboard_name": "Frooastboard Walnut", + "manufacturer": "Frooastside", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/frooastboard/walnut", + "maintainer": "Frooastside", + "debounce": 5, + "diode_direction": "COL2ROW", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": false, + "mousekey": false, + "nkro": true + }, + "build": { + "lto": true + }, + "matrix_pins": { + "cols": ["B0", "B1", "B2", "B3", "B5", "B6", "C6", "C7"], + "rows": ["B4", "D7", "D6", "D4", "D5", "D3", "D2", "F1", "F0"] + }, + "usb": { + "vid": "0x4642", + "pid": "0x776E", + "device_version": "1.0.0" + }, + "layouts": { + "LAYOUT_ansi": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [1, 0], "x": 8, "y": 0 }, + { "matrix": [1, 1], "x": 9, "y": 0 }, + { "matrix": [1, 2], "x": 10, "y": 0 }, + { "matrix": [1, 3], "x": 11, "y": 0 }, + { "matrix": [1, 4], "x": 12, "y": 0 }, + { "matrix": [1, 5], "x": 13, "y": 0, "w": 2 }, + { "matrix": [5, 5], "x": 15.5, "y": 0 }, + { "matrix": [5, 6], "x": 16.5, "y": 0 }, + { "matrix": [5, 7], "x": 17.5, "y": 0 }, + { "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5 }, + { "matrix": [2, 1], "x": 1.5, "y": 1 }, + { "matrix": [2, 2], "x": 2.5, "y": 1 }, + { "matrix": [2, 3], "x": 3.5, "y": 1 }, + { "matrix": [2, 4], "x": 4.5, "y": 1 }, + { "matrix": [2, 5], "x": 5.5, "y": 1 }, + { "matrix": [2, 6], "x": 6.5, "y": 1 }, + { "matrix": [2, 7], "x": 7.5, "y": 1 }, + { "matrix": [3, 0], "x": 8.5, "y": 1 }, + { "matrix": [3, 1], "x": 9.5, "y": 1 }, + { "matrix": [3, 2], "x": 10.5, "y": 1 }, + { "matrix": [3, 3], "x": 11.5, "y": 1 }, + { "matrix": [3, 4], "x": 12.5, "y": 1 }, + { "matrix": [5, 4], "x": 13.5, "y": 1, "w": 1.5 }, + { "matrix": [7, 5], "x": 15.5, "y": 1 }, + { "matrix": [7, 6], "x": 16.5, "y": 1 }, + { "matrix": [7, 7], "x": 17.5, "y": 1 }, + { "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75 }, + { "matrix": [4, 1], "x": 1.75, "y": 2 }, + { "matrix": [4, 2], "x": 2.75, "y": 2 }, + { "matrix": [4, 3], "x": 3.75, "y": 2 }, + { "matrix": [4, 4], "x": 4.75, "y": 2 }, + { "matrix": [4, 5], "x": 5.75, "y": 2 }, + { "matrix": [4, 6], "x": 6.75, "y": 2 }, + { "matrix": [4, 7], "x": 7.75, "y": 2 }, + { "matrix": [5, 0], "x": 8.75, "y": 2 }, + { "matrix": [5, 1], "x": 9.75, "y": 2 }, + { "matrix": [5, 2], "x": 10.75, "y": 2 }, + { "matrix": [5, 3], "x": 11.75, "y": 2 }, + { "matrix": [3, 5], "x": 12.75, "y": 2, "w": 2.25 }, + { "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25 }, + { "matrix": [6, 2], "x": 2.25, "y": 3 }, + { "matrix": [6, 3], "x": 3.25, "y": 3 }, + { "matrix": [6, 4], "x": 4.25, "y": 3 }, + { "matrix": [6, 5], "x": 5.25, "y": 3 }, + { "matrix": [6, 6], "x": 6.25, "y": 3 }, + { "matrix": [6, 7], "x": 7.25, "y": 3 }, + { "matrix": [7, 0], "x": 8.25, "y": 3 }, + { "matrix": [7, 1], "x": 9.25, "y": 3 }, + { "matrix": [7, 2], "x": 10.25, "y": 3 }, + { "matrix": [7, 3], "x": 11.25, "y": 3 }, + { "matrix": [7, 4], "x": 12.25, "y": 3, "w": 2.75 }, + { "matrix": [3, 6], "x": 16.5, "y": 3 }, + { "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25 }, + { "matrix": [8, 1], "x": 1.25, "y": 4, "w": 1.25 }, + { "matrix": [8, 2], "x": 2.5, "y": 4, "w": 1.25 }, + { "matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25 }, + { "matrix": [8, 4], "x": 10, "y": 4, "w": 1.25 }, + { "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25 }, + { "matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25 }, + { "matrix": [8, 7], "x": 13.75, "y": 4, "w": 1.25 }, + { "matrix": [1, 6], "x": 15.5, "y": 4 }, + { "matrix": [3, 7], "x": 16.5, "y": 4 }, + { "matrix": [1, 7], "x": 17.5, "y": 4 } + ] + }, + "LAYOUT_iso": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [1, 0], "x": 8, "y": 0 }, + { "matrix": [1, 1], "x": 9, "y": 0 }, + { "matrix": [1, 2], "x": 10, "y": 0 }, + { "matrix": [1, 3], "x": 11, "y": 0 }, + { "matrix": [1, 4], "x": 12, "y": 0 }, + { "matrix": [1, 5], "x": 13, "y": 0, "w": 2 }, + { "matrix": [5, 5], "x": 15.5, "y": 0 }, + { "matrix": [5, 6], "x": 16.5, "y": 0 }, + { "matrix": [5, 7], "x": 17.5, "y": 0 }, + { "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5 }, + { "matrix": [2, 1], "x": 1.5, "y": 1 }, + { "matrix": [2, 2], "x": 2.5, "y": 1 }, + { "matrix": [2, 3], "x": 3.5, "y": 1 }, + { "matrix": [2, 4], "x": 4.5, "y": 1 }, + { "matrix": [2, 5], "x": 5.5, "y": 1 }, + { "matrix": [2, 6], "x": 6.5, "y": 1 }, + { "matrix": [2, 7], "x": 7.5, "y": 1 }, + { "matrix": [3, 0], "x": 8.5, "y": 1 }, + { "matrix": [3, 1], "x": 9.5, "y": 1 }, + { "matrix": [3, 2], "x": 10.5, "y": 1 }, + { "matrix": [3, 3], "x": 11.5, "y": 1 }, + { "matrix": [3, 4], "x": 12.5, "y": 1 }, + { "matrix": [3, 5], "x": 13.75, "y": 1, "w": 1.25, "h": 2 }, + { "matrix": [7, 5], "x": 15.5, "y": 1 }, + { "matrix": [7, 6], "x": 16.5, "y": 1 }, + { "matrix": [7, 7], "x": 17.5, "y": 1 }, + { "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75 }, + { "matrix": [4, 1], "x": 1.75, "y": 2 }, + { "matrix": [4, 2], "x": 2.75, "y": 2 }, + { "matrix": [4, 3], "x": 3.75, "y": 2 }, + { "matrix": [4, 4], "x": 4.75, "y": 2 }, + { "matrix": [4, 5], "x": 5.75, "y": 2 }, + { "matrix": [4, 6], "x": 6.75, "y": 2 }, + { "matrix": [4, 7], "x": 7.75, "y": 2 }, + { "matrix": [5, 0], "x": 8.75, "y": 2 }, + { "matrix": [5, 1], "x": 9.75, "y": 2 }, + { "matrix": [5, 2], "x": 10.75, "y": 2 }, + { "matrix": [5, 3], "x": 11.75, "y": 2 }, + { "matrix": [5, 4], "x": 12.75, "y": 2 }, + { "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25 }, + { "matrix": [6, 1], "x": 1.25, "y": 3 }, + { "matrix": [6, 2], "x": 2.25, "y": 3 }, + { "matrix": [6, 3], "x": 3.25, "y": 3 }, + { "matrix": [6, 4], "x": 4.25, "y": 3 }, + { "matrix": [6, 5], "x": 5.25, "y": 3 }, + { "matrix": [6, 6], "x": 6.25, "y": 3 }, + { "matrix": [6, 7], "x": 7.25, "y": 3 }, + { "matrix": [7, 0], "x": 8.25, "y": 3 }, + { "matrix": [7, 1], "x": 9.25, "y": 3 }, + { "matrix": [7, 2], "x": 10.25, "y": 3 }, + { "matrix": [7, 3], "x": 11.25, "y": 3 }, + { "matrix": [7, 4], "x": 12.25, "y": 3, "w": 2.75 }, + { "matrix": [3, 6], "x": 16.5, "y": 3 }, + { "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25 }, + { "matrix": [8, 1], "x": 1.25, "y": 4, "w": 1.25 }, + { "matrix": [8, 2], "x": 2.5, "y": 4, "w": 1.25 }, + { "matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25 }, + { "matrix": [8, 4], "x": 10, "y": 4, "w": 1.25 }, + { "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25 }, + { "matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25 }, + { "matrix": [8, 7], "x": 13.75, "y": 4, "w": 1.25 }, + { "matrix": [1, 6], "x": 15.5, "y": 4 }, + { "matrix": [3, 7], "x": 16.5, "y": 4 }, + { "matrix": [1, 7], "x": 17.5, "y": 4 } + ] + }, + "LAYOUT_all": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [1, 0], "x": 8, "y": 0 }, + { "matrix": [1, 1], "x": 9, "y": 0 }, + { "matrix": [1, 2], "x": 10, "y": 0 }, + { "matrix": [1, 3], "x": 11, "y": 0 }, + { "matrix": [1, 4], "x": 12, "y": 0 }, + { "matrix": [1, 5], "x": 13, "y": 0, "w": 2 }, + { "matrix": [5, 5], "x": 15.5, "y": 0 }, + { "matrix": [5, 6], "x": 16.5, "y": 0 }, + { "matrix": [5, 7], "x": 17.5, "y": 0 }, + { "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5 }, + { "matrix": [2, 1], "x": 1.5, "y": 1 }, + { "matrix": [2, 2], "x": 2.5, "y": 1 }, + { "matrix": [2, 3], "x": 3.5, "y": 1 }, + { "matrix": [2, 4], "x": 4.5, "y": 1 }, + { "matrix": [2, 5], "x": 5.5, "y": 1 }, + { "matrix": [2, 6], "x": 6.5, "y": 1 }, + { "matrix": [2, 7], "x": 7.5, "y": 1 }, + { "matrix": [3, 0], "x": 8.5, "y": 1 }, + { "matrix": [3, 1], "x": 9.5, "y": 1 }, + { "matrix": [3, 2], "x": 10.5, "y": 1 }, + { "matrix": [3, 3], "x": 11.5, "y": 1 }, + { "matrix": [3, 4], "x": 12.5, "y": 1 }, + { "matrix": [5, 4], "x": 13.5, "y": 1, "w": 1.5 }, + { "matrix": [7, 5], "x": 15.5, "y": 1 }, + { "matrix": [7, 6], "x": 16.5, "y": 1 }, + { "matrix": [7, 7], "x": 17.5, "y": 1 }, + { "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75 }, + { "matrix": [4, 1], "x": 1.75, "y": 2 }, + { "matrix": [4, 2], "x": 2.75, "y": 2 }, + { "matrix": [4, 3], "x": 3.75, "y": 2 }, + { "matrix": [4, 4], "x": 4.75, "y": 2 }, + { "matrix": [4, 5], "x": 5.75, "y": 2 }, + { "matrix": [4, 6], "x": 6.75, "y": 2 }, + { "matrix": [4, 7], "x": 7.75, "y": 2 }, + { "matrix": [5, 0], "x": 8.75, "y": 2 }, + { "matrix": [5, 1], "x": 9.75, "y": 2 }, + { "matrix": [5, 2], "x": 10.75, "y": 2 }, + { "matrix": [5, 3], "x": 11.75, "y": 2 }, + { "matrix": [3, 5], "x": 12.75, "y": 2, "w": 2.25 }, + { "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25 }, + { "matrix": [6, 1], "x": 1.25, "y": 3 }, + { "matrix": [6, 2], "x": 2.25, "y": 3 }, + { "matrix": [6, 3], "x": 3.25, "y": 3 }, + { "matrix": [6, 4], "x": 4.25, "y": 3 }, + { "matrix": [6, 5], "x": 5.25, "y": 3 }, + { "matrix": [6, 6], "x": 6.25, "y": 3 }, + { "matrix": [6, 7], "x": 7.25, "y": 3 }, + { "matrix": [7, 0], "x": 8.25, "y": 3 }, + { "matrix": [7, 1], "x": 9.25, "y": 3 }, + { "matrix": [7, 2], "x": 10.25, "y": 3 }, + { "matrix": [7, 3], "x": 11.25, "y": 3 }, + { "matrix": [7, 4], "x": 12.25, "y": 3, "w": 2.75 }, + { "matrix": [3, 6], "x": 16.5, "y": 3 }, + { "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25 }, + { "matrix": [8, 1], "x": 1.25, "y": 4, "w": 1.25 }, + { "matrix": [8, 2], "x": 2.5, "y": 4, "w": 1.25 }, + { "matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25 }, + { "matrix": [8, 4], "x": 10, "y": 4, "w": 1.25 }, + { "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25 }, + { "matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25 }, + { "matrix": [8, 7], "x": 13.75, "y": 4, "w": 1.25 }, + { "matrix": [1, 6], "x": 15.5, "y": 4 }, + { "matrix": [3, 7], "x": 16.5, "y": 4 }, + { "matrix": [1, 7], "x": 17.5, "y": 4 } + ] + } + } +} diff --git a/keyboards/frooastboard/walnut/keymaps/default/keymap.c b/keyboards/frooastboard/walnut/keymaps/default/keymap.c new file mode 100644 index 000000000000..195b3c150bb5 --- /dev/null +++ b/keyboards/frooastboard/walnut/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2022 Simon Benezan (@Frooastside) +// SPDX-License-Identifier: GPL-3.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT_all( + 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, EE_CLR, KC_PSCR, KC_SCRL, KC_PAUS, + 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, RGB_SAI, RGB_HUI, RGB_SPI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, + 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, RGB_VAI, + KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) +}; diff --git a/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c b/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c new file mode 100644 index 000000000000..a65dfe3a6e28 --- /dev/null +++ b/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2022 Simon Benezan (@Frooastside) +// SPDX-License-Identifier: GPL-3.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ansi( + 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT_ansi( + 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, EE_CLR, KC_PSCR, KC_SCRL, KC_PAUS, + 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, RGB_SAI, RGB_HUI, RGB_SPI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, + KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) +}; diff --git a/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c b/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c new file mode 100644 index 000000000000..8dd069ba3e0f --- /dev/null +++ b/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2022 Simon Benezan (@Frooastside) +// SPDX-License-Identifier: GPL-3.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_iso( + 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_INS, KC_HOME, KC_PGUP, + 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_ENT, KC_DEL, KC_END, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT_iso( + 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, EE_CLR, KC_PSCR, KC_SCRL, KC_PAUS, + 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, RGB_TOG, RGB_SAI, RGB_HUI, RGB_SPI, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, + KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) +}; diff --git a/keyboards/frooastboard/walnut/keymaps/via/config.h b/keyboards/frooastboard/walnut/keymaps/via/config.h new file mode 100644 index 000000000000..0ef255fb515b --- /dev/null +++ b/keyboards/frooastboard/walnut/keymaps/via/config.h @@ -0,0 +1,7 @@ +// Copyright 2022 Simon Benezan (@Frooastside) +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#define VIA_CUSTOM_LIGHTING_ENABLE +#define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/frooastboard/walnut/keymaps/via/keymap.c b/keyboards/frooastboard/walnut/keymaps/via/keymap.c new file mode 100644 index 000000000000..84b73e2186b1 --- /dev/null +++ b/keyboards/frooastboard/walnut/keymaps/via/keymap.c @@ -0,0 +1,131 @@ +// Copyright 2022 Simon Benezan (@Frooastside) +// SPDX-License-Identifier: GPL-3.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT_all( + 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, EE_CLR, KC_PSCR, KC_SCRL, KC_PAUS, + 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, 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, RGB_TOG, + 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, RGB_VAI, + KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) +}; + +#if defined(RGB_MATRIX_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE) + +// VIA supports only 4 discrete values for effect speed; map these to some +// useful speed values for RGB Matrix. +enum speed_values { + RGBLIGHT_SPEED_0 = UINT8_MAX / 16, // not 0 to avoid really slow effects + RGBLIGHT_SPEED_1 = UINT8_MAX / 4, + RGBLIGHT_SPEED_2 = UINT8_MAX / 2, // matches the default value + RGBLIGHT_SPEED_3 = UINT8_MAX / 4 * 3, // UINT8_MAX is really fast +}; + +static uint8_t speed_from_rgblight(uint8_t rgblight_speed) { + switch (rgblight_speed) { + case 0: + return RGBLIGHT_SPEED_0; + case 1: + return RGBLIGHT_SPEED_1; + case 2: + default: + return RGBLIGHT_SPEED_2; + case 3: + return RGBLIGHT_SPEED_3; + } +} + +static uint8_t speed_to_rgblight(uint8_t rgb_matrix_speed) { + if (rgb_matrix_speed < ((RGBLIGHT_SPEED_0 + RGBLIGHT_SPEED_1) / 2)) { + return 0; + } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_1 + RGBLIGHT_SPEED_2) / 2)) { + return 1; + } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_2 + RGBLIGHT_SPEED_3) / 2)) { + return 2; + } else { + return 3; + } +} + +void via_qmk_rgblight_get_value(uint8_t *data) { + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + switch (*value_id) { + case id_qmk_rgblight_brightness: { + value_data[0] = rgb_matrix_get_val(); + break; + } + case id_qmk_rgblight_effect: { + value_data[0] = rgb_matrix_is_enabled() ? rgb_matrix_get_mode() : 0; + break; + } + case id_qmk_rgblight_effect_speed: { + value_data[0] = speed_to_rgblight(rgb_matrix_get_speed()); + break; + } + case id_qmk_rgblight_color: { + value_data[0] = rgb_matrix_get_hue(); + value_data[1] = rgb_matrix_get_sat(); + break; + } + } +} + +void via_qmk_rgblight_set_value(uint8_t *data) { + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + switch (*value_id) { + case id_qmk_rgblight_brightness: { + rgb_matrix_sethsv_noeeprom(rgblight_get_hue(), rgblight_get_sat(), value_data[0]); + break; + } + case id_qmk_rgblight_effect: { + if (value_data[0] == 0) { + rgb_matrix_disable_noeeprom(); + } else { + rgb_matrix_enable_noeeprom(); + rgb_matrix_mode_noeeprom(value_data[0]); + } + break; + } + case id_qmk_rgblight_effect_speed: { + rgb_matrix_set_speed_noeeprom(speed_from_rgblight(value_data[0])); + break; + } + case id_qmk_rgblight_color: { + rgb_matrix_sethsv_noeeprom(value_data[0], value_data[1], rgblight_get_val()); + break; + } + } +} + +void raw_hid_receive_kb(uint8_t *data, uint8_t length) { + uint8_t *command_id = &(data[0]); + uint8_t *command_data = &(data[1]); + switch (*command_id) { + case id_lighting_set_value: + via_qmk_rgblight_set_value(command_data); + break; + case id_lighting_get_value: + via_qmk_rgblight_get_value(command_data); + break; + case id_lighting_save: + eeconfig_update_rgb_matrix(); + break; + default: + // Unhandled message. + *command_id = id_unhandled; + break; + } +} + +#endif // defined(RGB_MATRIX_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE) diff --git a/keyboards/frooastboard/walnut/keymaps/via/rules.mk b/keyboards/frooastboard/walnut/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/frooastboard/walnut/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/frooastboard/walnut/readme.md b/keyboards/frooastboard/walnut/readme.md new file mode 100644 index 000000000000..c4baa40ce44f --- /dev/null +++ b/keyboards/frooastboard/walnut/readme.md @@ -0,0 +1,27 @@ +# Frooastboard Walnut + +![frooastboard/walnut](https://i.imgur.com/4erTDZqh.jpg) + +This is the Frooastboard Walnut keyboard. It is made of walnut wood, has 48 underglow LEDs and a solid aluminum base plate. It uses a USB Type-C connector and will likely be available for sale soon. + +* Keyboard Maintainer: [Frooastside](https://github.com/Frooastside) +* Hardware Supported: Frooastboard Walnut +* Hardware Availability: [Frooastboard Github](https://github.com/Frooastside/Frooastboard) + +Make example for this keyboard (after setting up your build environment): + + make frooastboard/walnut:default + +Flashing example for this keyboard: + + make frooastboard/walnut:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/frooastboard/walnut/rules.mk b/keyboards/frooastboard/walnut/rules.mk new file mode 100644 index 000000000000..d0bb93e13691 --- /dev/null +++ b/keyboards/frooastboard/walnut/rules.mk @@ -0,0 +1,5 @@ +# Build Options +# change yes to no to disable +# +RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix +RGB_MATRIX_DRIVER = IS31FL3737 # Select RGB matrix driver diff --git a/keyboards/frooastboard/walnut/walnut.c b/keyboards/frooastboard/walnut/walnut.c new file mode 100644 index 000000000000..0b84d3c5771a --- /dev/null +++ b/keyboards/frooastboard/walnut/walnut.c @@ -0,0 +1,86 @@ +// Copyright 2022 Simon Benezan (@Frooastside) +// SPDX-License-Identifier: GPL-3.0-or-later + +#include "walnut.h" + +#if defined(RGB_MATRIX_ENABLE) + +const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, K_1, J_1, L_1}, + {0, K_2, J_2, L_2}, + {0, K_3, J_3, L_3}, + {0, K_4, J_4, L_4}, + {0, K_5, J_5, L_5}, + {0, K_6, J_6, L_6}, + {0, K_7, J_7, L_7}, + {0, K_8, J_8, L_8}, + {0, K_9, J_9, L_9}, + {0, K_10, J_10, L_10}, + {0, K_11, J_11, L_11}, + {0, K_12, J_12, L_12}, + {0, H_1, G_1, I_1}, + {0, H_2, G_2, I_2}, + {0, H_3, G_3, I_3}, + {0, H_4, G_4, I_4}, + {0, H_5, G_5, I_5}, + {0, H_6, G_6, I_6}, + {0, H_7, G_7, I_7}, + {0, H_8, G_8, I_8}, + {0, H_9, G_9, I_9}, + {0, H_10, G_10, I_10}, + {0, H_11, G_11, I_11}, + {0, H_12, G_12, I_12}, + {0, E_1, D_1, F_1}, + {0, E_2, D_2, F_2}, + {0, E_3, D_3, F_3}, + {0, E_4, D_4, F_4}, + {0, E_5, D_5, F_5}, + {0, E_6, D_6, F_6}, + {0, E_7, D_7, F_7}, + {0, E_8, D_8, F_8}, + {0, E_9, D_9, F_9}, + {0, E_10, D_10, F_10}, + {0, E_11, D_11, F_11}, + {0, E_12, D_12, F_12}, + {0, B_1, A_1, C_1}, + {0, B_2, A_2, C_2}, + {0, B_3, A_3, C_3}, + {0, B_4, A_4, C_4}, + {0, B_5, A_5, C_5}, + {0, B_6, A_6, C_6}, + {0, B_7, A_7, C_7}, + {0, B_8, A_8, C_8}, + {0, B_9, A_9, C_9}, + {0, B_10, A_10, C_10}, + {0, B_11, A_11, C_11}, + {0, B_12, A_12, C_12} +}; + +led_config_t g_led_config = { + { + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } + }, { + {0, 62}, {0, 50}, {0, 38}, {0, 26}, {0, 14}, {0, 2}, + {0, 2}, {12, 2}, {24, 2}, {36, 2}, {48, 2}, {60, 2}, {72, 2}, {84, 2}, {96, 2}, {108, 2}, {120, 2}, {132, 2}, {144, 2}, {156, 2}, {168, 2}, {180, 2}, {192, 2}, {204, 2}, + {204, 2}, {204, 14}, {204, 26}, {204, 38}, {204, 50}, {204, 62}, + {204, 62}, {192, 62}, {180, 62}, {168, 62}, {156, 62}, {144, 62}, {132, 62}, {120, 62}, {108, 62}, {96, 62}, {84, 62}, {72, 62}, {60, 62}, {48, 62}, {36, 62}, {24, 62}, {12, 62}, {0, 62} + }, { + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 + } +}; + +#endif // defined(RGB_MATRIX_ENABLE) diff --git a/keyboards/frooastboard/walnut/walnut.h b/keyboards/frooastboard/walnut/walnut.h new file mode 100644 index 000000000000..3ceb9bd689da --- /dev/null +++ b/keyboards/frooastboard/walnut/walnut.h @@ -0,0 +1,6 @@ +// Copyright 2022 Simon Benezan (@Frooastside) +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include "quantum.h" From 973bc88b0fb56db6d0448dcc102d9eb0a5200b3d Mon Sep 17 00:00:00 2001 From: Tyler Tolley Date: Wed, 13 Apr 2022 08:27:07 -0600 Subject: [PATCH 0514/1832] [Keymap] Add thattolleyguy keymaps (#15351) * Adding personal keymaps * Update licenses * Fix RGB settings * Define used animations Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre --- .../5x6/keymaps/thattolleyguy/config.h | 54 ++++++ .../5x6/keymaps/thattolleyguy/keymap.c | 178 ++++++++++++++++++ .../5x6/keymaps/thattolleyguy/rules.mk | 6 + .../iris/keymaps/thattolleyguy/config.h | 24 +++ .../iris/keymaps/thattolleyguy/keymap.c | 127 +++++++++++++ .../iris/keymaps/thattolleyguy/rules.mk | 2 + .../redox/keymaps/thattolleyguy/config.h | 41 ++++ .../redox/keymaps/thattolleyguy/keymap.c | 89 +++++++++ .../redox/keymaps/thattolleyguy/readme.md | 1 + .../redox/keymaps/thattolleyguy/rules.mk | 1 + 10 files changed, 523 insertions(+) create mode 100644 keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk create mode 100644 keyboards/keebio/iris/keymaps/thattolleyguy/config.h create mode 100644 keyboards/keebio/iris/keymaps/thattolleyguy/keymap.c create mode 100644 keyboards/keebio/iris/keymaps/thattolleyguy/rules.mk create mode 100644 keyboards/redox/keymaps/thattolleyguy/config.h create mode 100644 keyboards/redox/keymaps/thattolleyguy/keymap.c create mode 100644 keyboards/redox/keymaps/thattolleyguy/readme.md create mode 100644 keyboards/redox/keymaps/thattolleyguy/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h new file mode 100644 index 000000000000..2caa5b5bd1ae --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h @@ -0,0 +1,54 @@ +/* +Copyright 2021 Tyler Tolley + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + + +#pragma once + + +#define USE_SERIAL +// #define USE_I2C + +// #define MASTER_LEFT +// #define MASTER_RIGHT +#define EE_HANDS +// Rows are doubled-up + +#undef RGB_DI_PIN +#define RGB_DI_PIN F5 + +#undef SOFT_SERIAL_PIN +#define SOFT_SERIAL_PIN D0 +// #define DRIVER_LED_TOTAL 32 + +#define RGB_MATRIX_KEYPRESSES + +#ifdef RGB_MATRIX_ENABLE +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80 +#undef RGBLED_NUM +#define RGBLED_NUM 64 // Number of LEDs +#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_SPLIT \ + { 32, 32 } +#define SPLIT_TRANSPORT_MIRROR + +// #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_TYPING_HEATMAP // Sets the default mode, if none has been set +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +#endif diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c new file mode 100644 index 000000000000..b89b798fd6cf --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c @@ -0,0 +1,178 @@ +/* +Copyright 2021 Tyler Tolley + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum dactyl_layers { + _QWERTY, + _LOWER, + _RAISE, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +#define KC_CBP LCTL(KC_F11) //Clipboard previous +#define KC_CBN LCTL(KC_F12) //Clipboard previous +#define KC_DSKD LCA(KC_DOWN) +#define KC_DSKU LCA(KC_UP) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT_5x6( + + + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ┌────────┼────────┼────────┼────────┼────────┼────────┤ + 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_DSKU, KC_DSKD, KC_PGUP, KC_PGDN, + // └────────┴────────┘ ┌────────┬────────┐ ┌────────┬────────┐ └────────┴────────┘ + LOWER, KC_ENT, KC_SPC, RAISE, + // ├────────┼────────┤ ├────────┼────────┤ + KC_LGUI, KC_GRV, KC_DEL, KC_RALT, + // ├────────┼────────┤ ├────────┼────────┤ + KC_CBP, KC_CBN, KC_APP, KC_RCTL + // └────────┴────────┘ └────────┴────────┘ + ), + + [_LOWER] = LAYOUT_5x6( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, KC_VOLU, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_MUTE, KC_VOLD, RGB_M_SW,RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_EQL, KC_PSCR, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ┌────────┼────────┼────────┼────────┼────────┼────────┤ + _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, + //└────────┴────────┼────────┼────────┼────────┼────────┘ └────────┴────────┼────────┼────────┼────────┼────────┘ + KC_PGUP, KC_PGDN, KC_P0, DEBUG, + // └────────┴────────┘ ┌────────┬────────┐ ┌────────┬────────┐ └────────┴────────┘ + _______, _______, _______, _______, + // ├────────┼────────┤ ├────────┼────────┤ + _______, _______, _______, _______, + // ├────────┼────────┤ ├────────┼────────┤ + _______, RESET, _______, _______ + // └────────┴────────┘ └────────┴────────┘ + + ), + + [_RAISE] = LAYOUT_5x6( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_UNDS, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP, KC_INS, KC_HOME, KC_PPLS, KC_MINS, KC_TILD, KC_EQL, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ┌────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_DEL, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, _______, + //└────────┴────────┼────────┼────────┼────────┼────────┘ └────────┴────────┼────────┼────────┼────────┼────────┘ + DM_REC1, DM_REC2, DM_PLY1, DM_PLY2, + // └────────┴────────┘ ┌────────┬────────┐ ┌────────┬────────┐ └────────┴────────┘ + LOWER, KC_ENT, KC_SPC, RAISE, + // ├────────┼────────┤ ├────────┼────────┤ + KC_LGUI, KC_GRV, KC_DEL, KC_RALT, + // ├────────┼────────┤ ├────────┼────────┤ + XXXXXXX, XXXXXXX, RESET, XXXXXXX + // └────────┴────────┘ └────────┴────────┘ + ), +}; + + +#ifdef RGB_MATRIX_ENABLE + + // Logical Layout + // Columns + // Left + // 0 1 2 3 4 5 + // ROWS + // 25 24 19 18 11 10 0 + // 03 02 01 + // 26 23 20 17 12 09 1 + // 04 05 06 + // 27 22 21 16 13 08 2 + // + // 15 14 07 3 + // + // Right + // 0 1 2 3 4 5 + // ROWS + // 25 24 19 18 11 10 4 + // 03 02 01 + // 26 23 20 17 12 09 5 + // 04 05 06 + // 27 22 21 16 13 08 6 + // + // 15 14 07 7 + // + // Physical Layout + // Columns + // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 + // ROWS + // 25 24 19 18 11 10 10 11 18 19 24 25 0 + // 03 02 01 01 02 03 + // 26 23 20 17 12 09 09 12 17 20 23 26 1 + // 04 04 + // 27 22 21 16 13 08 08 13 16 21 22 27 2 + // 05 06 06 05 + // 15 14 07 07 14 15 3 + +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5 }, + { 11, 10, 9, 8, 7, 6 }, + { 12, 13, 14, 15, 16, 17 }, + { 23, 22, 21, 20, 19, 18 }, + { NO_LED, NO_LED, 24, 25, 26, 27 }, + { NO_LED, NO_LED, 30, 31, 28, 29 }, + { 37, 36, 35, 34, 33, 32 }, + { 43, 42, 41, 40, 39, 38 }, + { 49, 48, 47, 46, 45, 44 }, + { 55, 54, 53, 52, 51, 50 }, + // { NO_LED, NO_LED, 57, 56, NO_LED, NO_LED}, + // { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } + { 59, 58, 57, 56, NO_LED, NO_LED}, + { 61, 60, 62, 63, NO_LED, NO_LED } + +}, { + { 0, 0 }, { 17, 0 }, { 34, 0 }, { 52, 0 }, { 69, 0 }, { 86, 0 }, { 86, 9 }, { 69, 9 }, + { 52, 9 }, { 34, 9 }, { 17, 9 }, { 0, 9 }, { 0, 18 }, { 17, 18 }, { 34, 18 }, { 52, 18 }, + { 60, 18 }, { 86, 18 }, { 86, 27 }, { 69, 27 }, { 52, 27 }, { 34, 27 }, { 17, 27 }, { 0, 27 }, + { 34, 37 }, { 52, 37 }, { 69, 45 }, { 86, 45 }, { 103, 55 }, { 103, 64 }, { 86, 55 }, { 86, 64 }, + + + { 224, 0 }, { 207, 0 }, { 190, 0 }, { 172, 0 }, { 155, 0 }, { 138, 0 }, { 224, 9 }, { 207, 9 }, + { 190, 9 }, { 172, 9 }, { 155, 9 }, { 138, 9 }, { 224, 18 }, { 207, 18 }, { 190, 18 },{ 172, 18 }, + { 155, 18 }, { 138, 18 }, { 224, 27 }, { 207, 27 }, { 190, 27}, { 172, 27 },{ 155, 27 }, { 138, 27 }, + { 190, 37 }, { 172, 37 }, { 155, 45}, { 138, 45 }, { 121, 55 }, { 121, 64 }, { 138, 64 }, { 138, 55 } +}, { + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2 +} }; + +#endif + diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk new file mode 100644 index 000000000000..53ca4b51d0ab --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk @@ -0,0 +1,6 @@ +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 +DYNAMIC_MACRO_ENABLE = yes +# CONSOLE_ENABLE = yes + +MOUSEKEY_ENABLE = no diff --git a/keyboards/keebio/iris/keymaps/thattolleyguy/config.h b/keyboards/keebio/iris/keymaps/thattolleyguy/config.h new file mode 100644 index 000000000000..e0ea5e6e2573 --- /dev/null +++ b/keyboards/keebio/iris/keymaps/thattolleyguy/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2021 Tyler Tolley + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// #define USE_I2C +#define EE_HANDS +#define NO_DEBUG +#define NO_PRINT +#define BACKLIGHT_BREATHING diff --git a/keyboards/keebio/iris/keymaps/thattolleyguy/keymap.c b/keyboards/keebio/iris/keymaps/thattolleyguy/keymap.c new file mode 100644 index 000000000000..d12e776652c8 --- /dev/null +++ b/keyboards/keebio/iris/keymaps/thattolleyguy/keymap.c @@ -0,0 +1,127 @@ +/* +Copyright 2021 Tyler Tolley + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + + +enum iris_layers { + _COLEMAK, + _QWERTY, + _LOWER, + _RAISE, +}; + +enum custom_keycodes { + COLEMAK = SAFE_RANGE, + QWERTY, + NUMPAD, + RGB_SPDU, + RGB_SPDD +}; + +#define L_LOWER MO(_LOWER) +#define L_RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_COLEMAK] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_GRV, KC_DEL, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + KC_LGUI, L_LOWER, KC_ENT, KC_SPC, L_RAISE, KC_RALT + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + + [_QWERTY] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + KC_LGUI, L_LOWER, KC_ENT, KC_SPC, L_RAISE, KC_RALT + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, KC_VOLU, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, BL_BRTG, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_MUTE, KC_VOLD, RGB_M_SW,RGB_TOG, XXXXXXX, XXXXXXX, BL_TOGG, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, RGB_SPDU, BL_INC, KC_P4, KC_P5, KC_P6, KC_EQL, KC_PSCR, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,RGB_SPDD,_______, _______, BL_DEC, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, _______, _______, L_RAISE, KC_P0 + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, COLEMAK, DM_REC1, KC_UP, DM_REC2, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_UNDS, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, QWERTY, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP, KC_INS, KC_HOME, KC_PPLS, KC_MINS, KC_TILD, KC_EQL, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, DF(2), DM_PLY1, XXXXXXX, DM_PLY2, KC_PGDN, XXXXXXX, XXXXXXX, KC_DEL, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, _______, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, _______, XXXXXXX, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + break; + case RGB_SPDD: + if (record->event.pressed) { + rgblight_decrease_speed(); + } + return false; + case RGB_SPDU: + if (record->event.pressed) { + rgblight_increase_speed(); + } + return false; + } + return true; +} + diff --git a/keyboards/keebio/iris/keymaps/thattolleyguy/rules.mk b/keyboards/keebio/iris/keymaps/thattolleyguy/rules.mk new file mode 100644 index 000000000000..c84235c923e4 --- /dev/null +++ b/keyboards/keebio/iris/keymaps/thattolleyguy/rules.mk @@ -0,0 +1,2 @@ +DYNAMIC_MACRO_ENABLE = yes +MOUSEKEY_ENABLE = no diff --git a/keyboards/redox/keymaps/thattolleyguy/config.h b/keyboards/redox/keymaps/thattolleyguy/config.h new file mode 100644 index 000000000000..6e8de527cd5e --- /dev/null +++ b/keyboards/redox/keymaps/thattolleyguy/config.h @@ -0,0 +1,41 @@ +/* +Copyright 2021 Tyler Tolley + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +/* Use I2C or Serial, not both */ +#define USE_SERIAL + +/* Select hand configuration */ +// #define MASTER_LEFT +#define EE_HANDS + +#undef RGBLED_NUM +#undef RGB_DI_PIN +#define RGB_DI_PIN C6 +#define RGBLED_NUM 14 // Number of LEDs +#define RGBLED_SPLIT { 7, 7 } +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE diff --git a/keyboards/redox/keymaps/thattolleyguy/keymap.c b/keyboards/redox/keymaps/thattolleyguy/keymap.c new file mode 100644 index 000000000000..825addbbbf97 --- /dev/null +++ b/keyboards/redox/keymaps/thattolleyguy/keymap.c @@ -0,0 +1,89 @@ +/* +Copyright 2021 Tyler Tolley + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum dactyl_layers { + _QWERTY, + _NUM, + _SYMB, + _ADJUST +}; + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + SYMB, + NUM, +}; + +// Shortcut to make keymap more readable +#define L_SYM MO(_SYMB) +#define L_NUM MO(_NUM) +#define KC_DSKL LGUI(KC_PGUP) +#define KC_DSKR LGUI(KC_PGDN) +#define KC_CBP LCTL(KC_F11) //Clipboard previous +#define KC_CBN LCTL(KC_F12) //Clipboard previous + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_ESC , KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC , + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,DM_REC1 , DM_REC2 ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS , + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,DM_PLY1 , DM_PLY2 ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT , + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,XXXXXXX ,KC_GRV , KC_DEL ,KC_INS ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ + KC_CBP ,KC_CBN ,KC_DSKL ,KC_DSKR, KC_LGUI , L_NUM ,KC_ENT , KC_SPC ,L_SYM , KC_RALT , KC_PGUP ,KC_PGDN ,KC_APP ,KC_RCTL + //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_NUM] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, KC_VOLU, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, XXXXXXX ,XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_MUTE, KC_VOLD, RGB_M_SW,RGB_TOG, XXXXXXX, XXXXXXX, _______ , _______ ,XXXXXXX ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS ,XXXXXXX , + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, XXXXXXX, _______ , _______ ,KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,XXXXXXX , + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,XXXXXXX, _______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,XXXXXXX , + //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ + XXXXXXX ,RESET ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , KC_P0 , KC_P0 ,KC_PDOT ,KC_PENT ,KC_PSCR + //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_SYMB] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_F12 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_UNDS, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,XXXXXXX ,KC_LEFT ,KC_DOWN ,KC_RIGHT,XXXXXXX ,_______ , _______ ,KC_INS ,KC_HOME ,KC_PPLS, KC_MINS, KC_TILD, KC_EQL, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_END ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , + //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,RESET ,XXXXXXX + //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ + ) +}; diff --git a/keyboards/redox/keymaps/thattolleyguy/readme.md b/keyboards/redox/keymaps/thattolleyguy/readme.md new file mode 100644 index 000000000000..8fa8ddf5ceac --- /dev/null +++ b/keyboards/redox/keymaps/thattolleyguy/readme.md @@ -0,0 +1 @@ +# The default keymap for Redox diff --git a/keyboards/redox/keymaps/thattolleyguy/rules.mk b/keyboards/redox/keymaps/thattolleyguy/rules.mk new file mode 100644 index 000000000000..9e6797ed3074 --- /dev/null +++ b/keyboards/redox/keymaps/thattolleyguy/rules.mk @@ -0,0 +1 @@ +DYNAMIC_MACRO_ENABLE = yes From 57466c47ba9c088c2f2fedb2c1e0fab449302f77 Mon Sep 17 00:00:00 2001 From: Rucker Machine <98196480+RuckerMachine@users.noreply.github.com> Date: Wed, 13 Apr 2022 07:28:12 -0700 Subject: [PATCH 0515/1832] [Keyboard] Add RM_Numpad (#15983) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: jason --- keyboards/rmkeebs/rm_numpad/config.h | 155 ++++++++++++++++++ keyboards/rmkeebs/rm_numpad/info.json | 102 ++++++++++++ .../rm_numpad/keymaps/default/keymap.c | 32 ++++ .../rm_numpad/keymaps/default/readme.md | 5 + .../rmkeebs/rm_numpad/keymaps/ortho/keymap.c | 48 ++++++ .../rmkeebs/rm_numpad/keymaps/ortho/readme.md | 4 + .../rm_numpad/keymaps/split_plus/keymap.c | 31 ++++ .../rm_numpad/keymaps/split_plus/readme.md | 4 + keyboards/rmkeebs/rm_numpad/readme.md | 26 +++ keyboards/rmkeebs/rm_numpad/rm_numpad.c | 31 ++++ keyboards/rmkeebs/rm_numpad/rm_numpad.h | 127 ++++++++++++++ keyboards/rmkeebs/rm_numpad/rules.mk | 21 +++ 12 files changed, 586 insertions(+) create mode 100644 keyboards/rmkeebs/rm_numpad/config.h create mode 100644 keyboards/rmkeebs/rm_numpad/info.json create mode 100644 keyboards/rmkeebs/rm_numpad/keymaps/default/keymap.c create mode 100644 keyboards/rmkeebs/rm_numpad/keymaps/default/readme.md create mode 100644 keyboards/rmkeebs/rm_numpad/keymaps/ortho/keymap.c create mode 100644 keyboards/rmkeebs/rm_numpad/keymaps/ortho/readme.md create mode 100644 keyboards/rmkeebs/rm_numpad/keymaps/split_plus/keymap.c create mode 100644 keyboards/rmkeebs/rm_numpad/keymaps/split_plus/readme.md create mode 100644 keyboards/rmkeebs/rm_numpad/readme.md create mode 100644 keyboards/rmkeebs/rm_numpad/rm_numpad.c create mode 100644 keyboards/rmkeebs/rm_numpad/rm_numpad.h create mode 100644 keyboards/rmkeebs/rm_numpad/rules.mk diff --git a/keyboards/rmkeebs/rm_numpad/config.h b/keyboards/rmkeebs/rm_numpad/config.h new file mode 100644 index 000000000000..e0c9ef89a6b0 --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/config.h @@ -0,0 +1,155 @@ +/* +Copyright 2021 RuckerMachine + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x524E /* RN (RMKeebs Numpad) */ +#define DEVICE_VER 0x0001 +#define MANUFACTURER RMKeebs +#define PRODUCT rm_numpad + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 5 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ + +#define MATRIX_ROW_PINS { B4, F7, C7, C6, F1, F0 } +#define MATRIX_COL_PINS { F4, F5, F6, B5, B6 } + +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define encoder pins */ +#define ENCODERS_PAD_A { D7 } +#define ENCODERS_PAD_B { D4 } + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + * + * #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + */ + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +//#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +//#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/rmkeebs/rm_numpad/info.json b/keyboards/rmkeebs/rm_numpad/info.json new file mode 100644 index 000000000000..f91c1ec6af34 --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/info.json @@ -0,0 +1,102 @@ +{ + "keyboard_name": "rm_numpad", + "url": "https://www.rmkeebs.com/product/rm-numpad/", + "maintainer": "RuckerMachine", + "layouts": { + "LAYOUT_default": { + "layout": [ + {"label": "Pause", "x": 0, "y": 0.25}, + {"label": "Prev", "x": 1, "y": 0.25}, + {"label": "Next", "x": 2, "y": 0.25}, + {"label": "Mute", "x": 3.5, "y": 0}, + + {"label": "Num_Lock", "x": 0, "y": 1.25}, + {"label": "/", "x": 1, "y": 1.25}, + {"label": "*", "x": 2, "y": 1.25}, + {"label": "-", "x": 3, "y": 1.25}, + + {"label": "7", "x": 0, "y": 2.25}, + {"label": "8", "x": 1, "y": 2.25}, + {"label": "9", "x": 2, "y": 2.25}, + {"label": "+", "x": 3, "y": 2.25, "h": 2}, + + {"label": "4", "x": 0, "y": 3.25}, + {"label": "5", "x": 1, "y": 3.25}, + {"label": "6", "x": 2, "y": 3.25}, + + {"label": "1", "x": 0, "y": 4.25}, + {"label": "2", "x": 1, "y": 4.25}, + {"label": "3", "x": 2, "y": 4.25}, + {"label": "Enter", "x": 3, "y": 4.25, "h": 2}, + + {"label": "0", "x": 0, "y": 5.25, "w": 2}, + {"label": ".", "x": 2, "y": 5.25} + ] + }, + "LAYOUT_split_plus": { + "layout": [ + {"label": "Pause", "x": 0, "y": 0.25}, + {"label": "Prev", "x": 1, "y": 0.25}, + {"label": "Next", "x": 2, "y": 0.25}, + {"label": "Mute", "x": 3.5, "y": 0}, + + {"label": "Num_Lock", "x": 0, "y": 1.25}, + {"label": "/", "x": 1, "y": 1.25}, + {"label": "*", "x": 2, "y": 1.25}, + {"label": "-", "x": 3, "y": 1.25}, + + {"label": "7", "x": 0, "y": 2.25}, + {"label": "8", "x": 1, "y": 2.25}, + {"label": "9", "x": 2, "y": 2.25}, + {"label": "=", "x": 3, "y": 2.25}, + + {"label": "4", "x": 0, "y": 3.25}, + {"label": "5", "x": 1, "y": 3.25}, + {"label": "6", "x": 2, "y": 3.25}, + {"label": "+", "x": 3, "y": 3.25}, + + {"label": "1", "x": 0, "y": 4.25}, + {"label": "2", "x": 1, "y": 4.25}, + {"label": "3", "x": 2, "y": 4.25}, + {"label": "Enter", "x": 3, "y": 4.25, "h": 2}, + + {"label": "0", "x": 0, "y": 5.25, "w": 2}, + {"label": ".", "x": 2, "y": 5.25} + ] + }, + "LAYOUT_ortho": { + "layout": [ + {"label": "Pause", "x": 0, "y": 0.25}, + {"label": "Prev", "x": 1, "y": 0.25}, + {"label": "Next", "x": 2, "y": 0.25}, + {"label": "Mute", "x": 3.5, "y": 0}, + + {"label": "Num_Lock", "x": 0, "y": 1.25}, + {"label": "/", "x": 1, "y": 1.25}, + {"label": "*", "x": 2, "y": 1.25}, + {"label": "-", "x": 3, "y": 1.25}, + + {"label": "7", "x": 0, "y": 2.25}, + {"label": "8", "x": 1, "y": 2.25}, + {"label": "9", "x": 2, "y": 2.25}, + {"label": "=", "x": 3, "y": 2.25}, + + {"label": "4", "x": 0, "y": 3.25}, + {"label": "5", "x": 1, "y": 3.25}, + {"label": "6", "x": 2, "y": 3.25}, + {"label": "+", "x": 3, "y": 3.25}, + + {"label": "1", "x": 0, "y": 4.25}, + {"label": "2", "x": 1, "y": 4.25}, + {"label": "3", "x": 2, "y": 4.25}, + {"label": "Enter", "x": 3, "y": 4.25}, + + {"label": "0", "x": 0, "y": 5.25}, + {"label": "00", "x": 1, "y": 5.25}, + {"label": ".", "x": 2, "y": 5.25}, + {"label": "Delete", "x": 3, "y": 5.25} + ] + } + + } +} diff --git a/keyboards/rmkeebs/rm_numpad/keymaps/default/keymap.c b/keyboards/rmkeebs/rm_numpad/keymaps/default/keymap.c new file mode 100644 index 000000000000..240442558c02 --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +/* Copyright 2021 RuckerMachine + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + LAYOUT_numpad_6x4( + KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_PDOT + ) + +}; + diff --git a/keyboards/rmkeebs/rm_numpad/keymaps/default/readme.md b/keyboards/rmkeebs/rm_numpad/keymaps/default/readme.md new file mode 100644 index 000000000000..b938a1f4ce9f --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/keymaps/default/readme.md @@ -0,0 +1,5 @@ +# The default keymap for rm_numpad + + +![Default Layout](https://i.imgur.com/APQGsvU.png) + diff --git a/keyboards/rmkeebs/rm_numpad/keymaps/ortho/keymap.c b/keyboards/rmkeebs/rm_numpad/keymaps/ortho/keymap.c new file mode 100644 index 000000000000..c3dc76f5ab38 --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/keymaps/ortho/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2021 RuckerMachine + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum custom_keycodes { + DBL_ZRO = SAFE_RANGE, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case DBL_ZRO: + if (record->event.pressed) { + // when keycode DBL_ZRO is pressed + SEND_STRING("00"); + } else { + // when keycode DBL_ZRO is released + } + break; + + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + LAYOUT_ortho_6x4( + KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_EQL, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, DBL_ZRO, KC_PDOT, KC_DEL + ) +}; + diff --git a/keyboards/rmkeebs/rm_numpad/keymaps/ortho/readme.md b/keyboards/rmkeebs/rm_numpad/keymaps/ortho/readme.md new file mode 100644 index 000000000000..02f7cbc73148 --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/keymaps/ortho/readme.md @@ -0,0 +1,4 @@ +# The ortho keymap for rm_numpad + + +![ortho layout](https://i.imgur.com/z8Pt9R6.png) diff --git a/keyboards/rmkeebs/rm_numpad/keymaps/split_plus/keymap.c b/keyboards/rmkeebs/rm_numpad/keymaps/split_plus/keymap.c new file mode 100644 index 000000000000..84fa6b2a6404 --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/keymaps/split_plus/keymap.c @@ -0,0 +1,31 @@ +/* Copyright 2021 RuckerMachine + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + LAYOUT_split_plus_6x4( + KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_EQL, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_PDOT + ) +}; + diff --git a/keyboards/rmkeebs/rm_numpad/keymaps/split_plus/readme.md b/keyboards/rmkeebs/rm_numpad/keymaps/split_plus/readme.md new file mode 100644 index 000000000000..df64d9114279 --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/keymaps/split_plus/readme.md @@ -0,0 +1,4 @@ +# The split plus keymap for rm_numpad + + +![Split Plus](https://i.imgur.com/jd2y6ih.png) diff --git a/keyboards/rmkeebs/rm_numpad/readme.md b/keyboards/rmkeebs/rm_numpad/readme.md new file mode 100644 index 000000000000..a8268ef08058 --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/readme.md @@ -0,0 +1,26 @@ +# rm_numpad + +![rm_numpad](https://www.rmkeebs.com/wp-content/uploads/2022/02/20220225_1953022-1024x879.jpg) + +A simple numpad with the addition of a few features: +* A few additional buttons. The default keymap has these set to "Pause", "Previous Track", and "Next Track" +* A knob. The default keymap has this knob configured to change volume, and clicking the knob is set to "Mute" +* 1u or 2u key options. The "0" key, "+" key, and "Enter" key can be built out using 2u keys, like a normal numpad, or they can be built out using 2x 1u keys. + +* Keyboard Maintainer: [RuckerMachine](https://github.com/RuckerMachine) +* Hardware Supported: RM Keebs RM Numpad kits available at [RMKeebs](https://www.rmkeebs.com/product/rm-numpad/) + +## Bootloader + +Enter the bootloader by briefly pressing the reset button on the back of the PCB. A hole in the back of the case gives you access to the button. + + +Make example for this keyboard (after setting up your build environment): + + make rmkeebs/rm_numpad:default + +Flashing example for this keyboard: + + make rmkeebs/rm_numpad:default:flash + +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/rmkeebs/rm_numpad/rm_numpad.c b/keyboards/rmkeebs/rm_numpad/rm_numpad.c new file mode 100644 index 000000000000..03dc9025c975 --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/rm_numpad.c @@ -0,0 +1,31 @@ +/* Copyright 2021 RuckerMachine + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "rm_numpad.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } + return true; +} +#endif diff --git a/keyboards/rmkeebs/rm_numpad/rm_numpad.h b/keyboards/rmkeebs/rm_numpad/rm_numpad.h new file mode 100644 index 000000000000..93fa9392e1a4 --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/rm_numpad.h @@ -0,0 +1,127 @@ +/* Copyright 2021 RuckerMachine + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" +#define ___ KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +/* rm_numpad default layout + * .-------------------. + * |PAUS|PREV|NEXT|MUTE| + * |-------------------| + * |NLCK| /| *| -| + * |-------------------| + * | 7| 8| 9| | + * |--------------| | + * | 4| 5| 6| +| + * |-------------------| + * | 1| 2| 3| | + * |--------------| | + * | 0| .| Ent| + * '-------------------' + */ + +#define LAYOUT_numpad_6x4( \ + k00, k01, k02, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, \ + k30, k31, k32, k24, \ + k40, k41, k42, \ + k51, k53, k44 \ +) { \ + { k00, k01, k02, k03, ___ }, \ + { k10, k11, k12, k13, ___ }, \ + { k20, k21, k22, ___, k24 }, \ + { k30, k31, k32, ___, ___ }, \ + { k40, k41, k42, ___, k44 }, \ + { ___, k51, ___, k53, ___ } \ +} + +/* rm_numpad ortho layout + * .-------------------. + * |PAUS|PREV|NEXT|MUTE| + * |-------------------| + * |NLCK| /| *| -| + * |-------------------| + * | 7| 8| 9| =| + * |-------------------| + * | 4| 5| 6| +| + * |-------------------| + * | 1| 2| 3| Ent| + * |-------------------| + * | 0| 00| .| Del| + * '-------------------' + */ + +#define LAYOUT_ortho_6x4( \ + k00, k01, k02, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, k23, \ + k30, k31, k32, k33, \ + k40, k41, k42, k43, \ + k50, k52, k53, k54 \ +) { \ + { k00, k01, k02, k03, ___ }, \ + { k10, k11, k12, k13, ___ }, \ + { k20, k21, k22, k23, ___ }, \ + { k30, k31, k32, k33, ___ }, \ + { k40, k41, k42, k43, ___ }, \ + { k50, ___, k52, k53, k54 } \ +} + + +/* rm_numpad split plus layout + * .-------------------. + * |PAUS|PREV|NEXT|MUTE| + * |-------------------| + * |NLCK| /| *| -| + * |-------------------| + * | 7| 8| 9| =| + * |-------------------| + * | 4| 5| 6| +| + * |-------------------| + * | 1| 2| 3| Ent| + * |--------------| | + * | 0| .| | + * '-------------------' + */ + +#define LAYOUT_split_plus_6x4( \ + k00, k01, k02, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, k23, \ + k30, k31, k32, k33, \ + k40, k41, k42, k44, \ + k51, k53 \ +) { \ + { k00, k01, k02, k03, ___ }, \ + { k10, k11, k12, k13, ___ }, \ + { k20, k21, k22, k23, ___ }, \ + { k30, k31, k32, k33, ___ }, \ + { k40, k41, k42, ___, k44 }, \ + { ___, k51, ___, k53, ___ } \ +} + diff --git a/keyboards/rmkeebs/rm_numpad/rules.mk b/keyboards/rmkeebs/rm_numpad/rules.mk new file mode 100644 index 000000000000..0f20c3a635dc --- /dev/null +++ b/keyboards/rmkeebs/rm_numpad/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes + +LAYOUTS = numpad_6x4 ortho_6x4 From 027262113354691d4408ae6480e7d39a1675848e Mon Sep 17 00:00:00 2001 From: N L <64655861+niolang@users.noreply.github.com> Date: Wed, 13 Apr 2022 16:29:06 +0200 Subject: [PATCH 0516/1832] =?UTF-8?q?[Keymap]=C2=A0b=C3=A9po=20layout=20on?= =?UTF-8?q?=20Lily58L=20(#16243)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/lily58/keymaps/niolang/config.h | 49 +++ keyboards/lily58/keymaps/niolang/keymap.c | 359 ++++++++++++++++++++++ keyboards/lily58/keymaps/niolang/rules.mk | 2 + 3 files changed, 410 insertions(+) create mode 100644 keyboards/lily58/keymaps/niolang/config.h create mode 100644 keyboards/lily58/keymaps/niolang/keymap.c create mode 100644 keyboards/lily58/keymaps/niolang/rules.mk diff --git a/keyboards/lily58/keymaps/niolang/config.h b/keyboards/lily58/keymaps/niolang/config.h new file mode 100644 index 000000000000..58ffd90e2f1f --- /dev/null +++ b/keyboards/lily58/keymaps/niolang/config.h @@ -0,0 +1,49 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +/* Select hand configuration */ +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +/* Necessary because of use fo tap dance for ç (leads to un wanted modifications after typing c if not) */ +#define IGNORE_MOD_TAP_INTERRUPT + +/* RGB light */ +#ifdef RGBLIGHT_ENABLE +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +# define RGBLIGHT_HUE_STEP 5 // number of steps to cycle through the hue by +# define RGBLIGHT_SAT_STEP 10 // number of steps to increment the saturation by +# define RGBLIGHT_VAL_STEP 10 // number of steps to increment the brightness by +# define RGBLIGHT_SLEEP // the RGB lighting will be switched off when the host goes to sleep +# define RGBLIGHT_LAYERS // +# define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF +#endif diff --git a/keyboards/lily58/keymaps/niolang/keymap.c b/keyboards/lily58/keymaps/niolang/keymap.c new file mode 100644 index 000000000000..e2f37f678ce3 --- /dev/null +++ b/keyboards/lily58/keymaps/niolang/keymap.c @@ -0,0 +1,359 @@ + /* Copyright 2017 F_YUUCHI + * Copyright 2020 Drashna Jaelre <@drashna> + * Copyright 2020 Ben Roesner (keycapsss.com) + * Copyright 2022 Niolang + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "keymap_bepo.h" + + +enum layers { + _BEPO, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +//Modification of cut/copy/paste by their combination, works in more cases +#define KC_COPY LCTL(KC_H) +#define KC_CUT LCTL(KC_C) +#define KC_PSTE2 LCTL(KC_U) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* BÉPO + * ,-----------------------------------------. ,-----------------------------------------. + * |ESC/VM| " 1 | « 2 | » 3 | ( 4 | ) 5 | | @ 6 | + 7 | - 8 | / 9 | * 0 | W | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | B | | É | P & | O œ | È | | !^ | V | D | L | J | Z | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |LCTRL | A | Uù | I¨ | E€ | ,;' |-------. ,-------| C/ç | Tᵉ | S | R | N | M | + * |------+------+------+------+------+------|CtPtScn| |SUPPR |------+------+------+------+------+------| + * |LShift| À \ | Y { | X } | .:… | K ~ |-------| |-------| ’? | Q | G | H | F |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| AltGr| + * | | | |/ / \ \ | | | | + * `----------------------------' '------''--------------------' + */ + + [_BEPO] = LAYOUT( + MT(KC_CAPS, KC_ESC), BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_W, + KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z, + KC_LCTRL, BP_A, BP_U, BP_I, BP_E, BP_COMM, MT(BP_CCED, BP_C), BP_T, BP_S, BP_R, BP_N, BP_M, + KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, LSFT(KC_PSCR), KC_DEL, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KC_RSFT, + KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RALT +), +/* LOWER + * ,-----------------------------------------. ,-----------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | | + | 7 | 8 | 9 | = | # | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | F7 | F8 | F9 | F10 | F11 | F12 | | - | 4 | 5 | 6 | % | ^ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |LCTRL | c+c | c+v | Up | home | end |-------. ,-------| / | 1 | 2 | 3 | < | > | + * |------+------+------+------+------+------|TGHi/Lo| |SUPPR |------+------+------+------+------+------| + * |LShift| c+x | Left | Down | Right| pscr |-------| |-------| * | 0 | . | , | ( | ) | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| AltGr| + * | | | |/ / \ \ | | | | + * `----------------------------' '------''--------------------' + */ +[_LOWER] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PPLS, KC_P7, KC_P8, KC_P9, BP_EQL, BP_HASH, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PMNS, KC_P4, KC_P5, KC_P6, BP_PERC, BP_RABK, + _______, KC_COPY, KC_PSTE2, KC_UP, KC_HOME, KC_END, KC_PSLS, KC_P1, KC_P2, KC_P3, BP_LABK, BP_RABK, + _______, KC_CUT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR,TG(_RAISE), _______, KC_PAST, KC_P0, KC_PDOT, KC_PCMM, BP_LPRN, BP_RPRN, + _______, _______, _______, _______, _______, _______, _______, _______ +), +[_RAISE] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PPLS, KC_P7, KC_P8, KC_P9, BP_EQL, BP_HASH, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PMNS, KC_P4, KC_P5, KC_P6, BP_PERC, BP_CIRC, + _______, KC_COPY, KC_PSTE2, KC_UP, KC_HOME, KC_END, KC_PSLS, KC_P1, KC_P2, KC_P3, BP_LABK, BP_RABK, + _______, KC_CUT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR,TG(_LOWER), _______, KC_PAST, KC_P0, KC_PDOT, KC_PCMM, BP_LPRN, BP_RPRN, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* ADJUST + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | ScLck| Ins | Pause| | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | NUML | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI | + * | | | |/ / \ \ | | | | + * `----------------------------' '------''--------------------' + */ + [_ADJUST] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLCK, KC_INS, KC_PAUSE, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); + return state; +} + +//SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk +#ifdef OLED_ENABLE + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } else { + return OLED_ROTATION_0; + } +} + +void render_lily58_logo(void) { + static const char PROGMEM lily58_logo[] = { + // 'logo', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, + 0x80, 0xe0, 0x70, 0x3c, 0x0e, 0x06, 0x0e, 0x3c, 0x70, 0xe0, 0x80, 0x00, 0x00, 0xc0, 0xc0, 0x00, + 0xc0, 0xc0, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x80, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0xc0, 0x80, 0x80, 0x80, 0x81, 0x83, 0x83, + 0x07, 0x07, 0x0c, 0x18, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x80, 0xb6, 0xb6, 0x80, + 0xb0, 0xb0, 0x00, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf1, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x30, 0xf0, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf0, + 0x30, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xe1, 0x71, 0x71, 0xf1, 0xf1, 0xe1, 0xc1, 0x81, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0x3f, 0xff, 0xf3, 0xe1, 0xc1, 0xc1, 0x81, 0x81, 0xc3, 0xff, 0x7f, 0x1c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x70, 0x78, 0xdc, 0xcc, 0x86, 0x06, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x02, 0x06, 0x84, 0xe1, 0xfb, 0x38, 0x1c, 0x0c, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x03, 0x03, 0x06, 0x86, 0xcc, 0xdc, 0x78, 0x70, 0x20, 0x00, 0xff, 0xff, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x7e, 0xf8, 0xe0, 0xf0, 0x7e, 0x1f, 0x03, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xe1, 0xff, 0x7f, 0x3f, 0x00, + 0x00, 0x00, 0x3e, 0xff, 0xff, 0xc1, 0xc0, 0x80, 0x81, 0x81, 0xc3, 0xc3, 0xff, 0xfe, 0x3c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x06, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, 0x06, + 0x06, 0x02, 0x03, 0x01, 0x01, 0x00, 0x01, 0x01, 0x03, 0x02, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, + 0x06, 0x06, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x60, 0x60, 0x70, 0x38, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 +}; + oled_write_raw_P(lily58_logo, sizeof(lily58_logo)); +} + + +# define KEYLOG_LEN 6 +char keylog_str[KEYLOG_LEN] = {}; +uint8_t keylogs_str_idx = 0; +uint16_t log_timer = 0; + +const char code_to_name[60] = { + ' ', ' ', ' ', ' ', 'a', 'k', 'x', 'i', 'p', 'e', + ',', 'c', 'd', 't', 's', 'r', 'q', ' ', 'l', 'j', + 'b', 'o', 'u', 'e', 'v', '.', 'e', 'y', '^', 'a', + ' ', ' ', ' ', '(', ')', '@', '+', '-', '/', '*', + 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', + '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; + +void add_keylog(uint16_t keycode) { + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { + keycode = keycode & 0xFF; + } + + for (uint8_t i = KEYLOG_LEN - 1; i > 0; i--) { + keylog_str[i] = keylog_str[i - 1]; + } + if (keycode < 60) { + keylog_str[0] = code_to_name[keycode]; + } + keylog_str[KEYLOG_LEN - 1] = 0; + + log_timer = timer_read(); +} + +void update_log(void) { + if (timer_elapsed(log_timer) > 750) { + add_keylog(0); + } +} + +void render_keylogger_status(void) { + oled_write_P(PSTR("KLogr"), false); + oled_write(keylog_str, false); +} + +void render_default_layer_state(void) { + oled_write_P(PSTR("Layer"), false); + oled_write_P(PSTR(" "), false); + switch (get_highest_layer(layer_state)) { + case _BEPO: + oled_write_P(PSTR("BEPO"), false); + break; + case _LOWER: + oled_write_ln_P(PSTR("LOW"), false); + break; + case _RAISE: + oled_write_P(PSTR("HIGH"), false); + break; + case _ADJUST: + oled_write_ln_P(PSTR("ADJ"), false); + break; + default: + oled_write_ln_P(PSTR("Undefined"), false); + } +} + +void render_keylock_status(led_t led_state) { + oled_write_ln_P(PSTR("Lock"), false); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("N"), led_state.num_lock); + oled_write_P(PSTR("C"), led_state.caps_lock); + oled_write_ln_P(PSTR("S"), led_state.scroll_lock); +} + +void render_mod_status(uint8_t modifiers) { + oled_write_ln_P(PSTR("Mods"), false); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("S"), (modifiers & MOD_MASK_SHIFT)); + oled_write_P(PSTR("C"), (modifiers & MOD_MASK_CTRL)); + oled_write_P(PSTR("A"), (modifiers & MOD_MASK_ALT)); + oled_write_P(PSTR("G"), (modifiers & MOD_MASK_GUI)); +} + +void render_status_main(void) { + // Show keyboard layout + render_default_layer_state(); + // Add a empty line + oled_write_P(PSTR("-----"), false); + // Show host keyboard led status + render_keylock_status(host_keyboard_led_state()); + // Add a empty line + oled_write_P(PSTR("-----"), false); + // Show modifier status + render_mod_status(get_mods()); + // Add a empty line + oled_write_P(PSTR("-----"), false); + render_keylogger_status(); +} + +bool oled_task_user(void) { + update_log(); + if (is_keyboard_master()) { + render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_lily58_logo(); + } + return false; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + add_keylog(keycode); + } + //return true; + +//intercepting hold/tap to change hold function + switch (keycode) { + case MT(KC_CAPS, KC_ESC): + if (!record->tap.count && record->event.pressed) { + tap_code(KC_CAPS); // Intercept hold function to send Caps Lock + return false; + } + return true; // Return true for normal processing of tap keycode + case MT(BP_CCED, BP_C): + if (!record->tap.count && record->event.pressed) { + tap_code(BP_CCED); // Intercept hold function to send ç + return false; + } + return true; // Return true for normal processing of tap keycode + } + return true; +} +#endif // OLED_ENABLE + + +// Rotary encoder related code +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { // Encoder on master side + if(IS_LAYER_ON(_RAISE)) { // on Raise layer + // Cursor control + if (clockwise) { + tap_code(KC_MNXT); + } else { + tap_code(KC_MPRV); + } + } + else { + if (clockwise) { + tap_code(KC_VOLD); + } else { + tap_code(KC_VOLU); + } + } + } + else if (index == 1) { // Encoder on slave side + if(IS_LAYER_ON(_LOWER)) { // on Lower layer + // + if (clockwise) { + tap_code(KC_RIGHT); + } else { + tap_code(KC_LEFT); + } + } + else { + if (clockwise) { + tap_code(KC_DOWN); + } else { + tap_code(KC_UP); + } + } + } + return false; +} +#endif + +//layer led modification +// Light LEDs 6 to 9 and 12 to 15 red when caps lock is active. Hard to ignore! +const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 6, HSV_RED}, // Light 6 LEDs, starting with LED 0 + {35, 6, HSV_RED} // Light 6 LEDs, starting with LED 35 +); +// Now define the array of layers. Later layers take precedence +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_capslock_layer +); +void keyboard_post_init_user(void) { + // Enable the LED layers + rgblight_layers = my_rgb_layers; +} +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(0, led_state.caps_lock); + return true; +} diff --git a/keyboards/lily58/keymaps/niolang/rules.mk b/keyboards/lily58/keymaps/niolang/rules.mk new file mode 100644 index 000000000000..83c24c8705d8 --- /dev/null +++ b/keyboards/lily58/keymaps/niolang/rules.mk @@ -0,0 +1,2 @@ +EXTRAKEY_ENABLE = yes +OLED_ENABLE = yes \ No newline at end of file From 8580380eec973693d5c108b85d4c318e0d912b35 Mon Sep 17 00:00:00 2001 From: ClicketySplit <101202583+ClicketySplit@users.noreply.github.com> Date: Wed, 13 Apr 2022 08:31:11 -0600 Subject: [PATCH 0517/1832] [Keyboard] The inaugural commit for Leeloo's firmware. (#16599) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/clickety_split/leeloo/info.json | 78 +++++++++++ .../leeloo/keymaps/default/config.h | 35 +++++ .../leeloo/keymaps/default/keymap.c | 114 +++++++++++++++ .../leeloo/keymaps/default/rules.mk | 1 + keyboards/clickety_split/leeloo/leeloo.c | 131 ++++++++++++++++++ keyboards/clickety_split/leeloo/leeloo.h | 24 ++++ keyboards/clickety_split/leeloo/readme.md | 16 +++ keyboards/clickety_split/leeloo/rev1/config.h | 68 +++++++++ keyboards/clickety_split/leeloo/rev1/rev1.c | 18 +++ keyboards/clickety_split/leeloo/rev1/rev1.h | 40 ++++++ keyboards/clickety_split/leeloo/rev1/rules.mk | 1 + keyboards/clickety_split/leeloo/rules.mk | 21 +++ 12 files changed, 547 insertions(+) create mode 100644 keyboards/clickety_split/leeloo/info.json create mode 100644 keyboards/clickety_split/leeloo/keymaps/default/config.h create mode 100644 keyboards/clickety_split/leeloo/keymaps/default/keymap.c create mode 100644 keyboards/clickety_split/leeloo/keymaps/default/rules.mk create mode 100644 keyboards/clickety_split/leeloo/leeloo.c create mode 100644 keyboards/clickety_split/leeloo/leeloo.h create mode 100644 keyboards/clickety_split/leeloo/readme.md create mode 100644 keyboards/clickety_split/leeloo/rev1/config.h create mode 100644 keyboards/clickety_split/leeloo/rev1/rev1.c create mode 100644 keyboards/clickety_split/leeloo/rev1/rev1.h create mode 100644 keyboards/clickety_split/leeloo/rev1/rules.mk create mode 100644 keyboards/clickety_split/leeloo/rules.mk diff --git a/keyboards/clickety_split/leeloo/info.json b/keyboards/clickety_split/leeloo/info.json new file mode 100644 index 000000000000..40447d3f9303 --- /dev/null +++ b/keyboards/clickety_split/leeloo/info.json @@ -0,0 +1,78 @@ +{ + "keyboard_name": "Leeloo", + "url": "https://clicketysplit.ca/pages/leeloo", + "maintainer": "Clickety Split Ltd", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "x":0, "y":0.5}, + {"label":"1", "x":1, "y":0.4}, + {"label":"2", "x":2, "y":0.2}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0.2}, + {"label":"5", "x":5, "y":0.4}, + + {"label":"6", "x":9, "y":0.4}, + {"label":"7", "x":10, "y":0.2}, + {"label":"8", "x":11, "y":0}, + {"label":"9", "x":12, "y":0.2}, + {"label":"0", "x":13, "y":0.4}, + {"label":"Back Slash", "x":14, "y":0.5}, + + {"label":"TAB", "x":0, "y":1.5}, + {"label":"Q", "x":1, "y":1.4}, + {"label":"W", "x":2, "y":1.2}, + {"label":"E", "x":3, "y":1.0}, + {"label":"R", "x":4, "y":1.2}, + {"label":"T", "x":5, "y":1.4}, + + {"label":"Y", "x":9, "y":1.4}, + {"label":"U", "x":10, "y":1.2}, + {"label":"I", "x":11, "y":1.0}, + {"label":"O", "x":12, "y":1.2}, + {"label":"P", "x":13, "y":1.4}, + {"label":"GRV", "x":14, "y":1.5}, + + {"label":"CAPS", "x":0, "y":2.5}, + {"label":"A", "x":1, "y":2.4}, + {"label":"S", "x":2, "y":2.2}, + {"label":"D", "x":3, "y":2.0}, + {"label":"F", "x":4, "y":2.2}, + {"label":"G", "x":5, "y":2.4}, + + {"label":"H", "x":9, "y":2.4}, + {"label":"J", "x":10, "y":2.2}, + {"label":"K", "x":11, "y":2.0}, + {"label":"L", "x":12, "y":2.2}, + {"label":";", "x":13, "y":2.4}, + {"label":"'", "x":14, "y":2.5}, + + {"label":"Shift", "x":0, "y":3.5}, + {"label":"Z", "x":1, "y":3.4}, + {"label":"X", "x":2, "y":3.2}, + {"label":"C", "x":3, "y":3.0}, + {"label":"V", "x":4, "y":3.2}, + {"label":"B", "x":5, "y":3.4}, + + {"label":"N", "x":9, "y":3.4}, + {"label":"M", "x":10, "y":3.2}, + {"label":",", "x":11, "y":3.0}, + {"label":".", "x":12, "y":3.2}, + {"label":"/", "x":13, "y":3.4}, + {"label":"Shift", "x":14, "y":3.5}, + + {"label":"Alt", "x":2.7, "y":4.6}, + {"label":"Ctrl", "x":3.8, "y":4.5}, + {"label":"Enter", "x":5.7, "y":3.57}, + {"label":"MINS", "x":7.12, "y":2.96}, + {"label":"GUI", "x":6.25, "y":3.4}, + + {"label":"GUI", "x":7.75, "y":3.4}, + {"label":"EQL", "x":6.39, "y":6.86}, + {"label":"Space", "x":8.08, "y":6.18}, + {"label":"Back Space", "x":10.2, "y":4.5}, + {"label":"Delete", "x":11.3, "y":4.6} + ] + } + } +} diff --git a/keyboards/clickety_split/leeloo/keymaps/default/config.h b/keyboards/clickety_split/leeloo/keymaps/default/config.h new file mode 100644 index 000000000000..7a8d0f5bd61c --- /dev/null +++ b/keyboards/clickety_split/leeloo/keymaps/default/config.h @@ -0,0 +1,35 @@ +/* Copyright 2022 Clickety Split Ltd. + * https://clicketysplit.ca + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// Select hand configuration +// #define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#ifdef TAPPING_TERM + #undef TAPPING_TERM + + #define IGNORE_MOD_TAP_INTERRUPT + #define TAPPING_FORCE_HOLD + #define TAPPING_TERM 150 +#endif + +// If rotary encoders are used, and they require more or less resolution/sensitivity +// you may try increasing or decreasing the value. +// #define ENCODER_RESOLUTION 2 diff --git a/keyboards/clickety_split/leeloo/keymaps/default/keymap.c b/keyboards/clickety_split/leeloo/keymaps/default/keymap.c new file mode 100644 index 000000000000..bac722a7c30f --- /dev/null +++ b/keyboards/clickety_split/leeloo/keymaps/default/keymap.c @@ -0,0 +1,114 @@ +/* Copyright 2022 Clickety Split Ltd. + * https://clicketysplit.ca + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* QWERTY + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | \ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | CAPS | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | + * |------+------+------+------+------+------| LGUI | | RGUI |------+------+------+------+------+------| + * |LSHIFT| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RSHIFT| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LALT | LCTL | ENT | / MINS / \ EQL \ | SPC | BSPC | DEL | + * | | | LOWR |/ RAISE / \RAISE \ | LOWR | | | + * `-------------------------------' '------''-----------------------' + */ + [_BASE] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_GRV, + 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, KC_RGUI, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LALT, KC_LCTL, LT(1,KC_ENT), LT(2,KC_MINS), LT(2,KC_EQL), LT(1,KC_SPC), KC_BSPC, KC_DEL +), +/* LOWER + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | < | ( | [ | { |--------. ,-------| } | ] | ) | > | | | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * | | | | | | |--------| |-------| | | | | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LALT | LCTL | ENT | / MINS / \ EQL \ | SPC | BSPC | DEL | + * | | | LOWR |/ RAISE / \RAISE \ | LOWR | | | + * `-------------------------------' '------''-----------------------' + */ +[_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_LABK, KC_LPRN, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_RPRN, KC_RABK, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), +/* RAISE + * ,-----------------------------------------. ,-----------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | PGUP | HOME | UP | END | | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | |-------. ,-------| PGDN | LEFT | DOWN | RIGHT| | | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | LWRD | | RWRD | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LALT | LCTL | ENT | / MINS / \ EQL \ | SPC | DEL | DEL | + * | | | LOWR |/ RAISE / \RAISE \ | LOWR | | | + * `-------------------------------' '------''-----------------------' + */ +[_RAISE] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, KC_F12, + _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, C(KC_LEFT), _______, C(KC_RGHT), _______, _______, + _______, _______, _______, _______, _______, _______, KC_DEL, _______ +), +/* ADJUST + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | |--------. ,-------| | | | | | | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * | | | | | | |--------| |-------| | | | | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LALT | LCTL | ENT | / MINS / \ EQL \ | SPC | BSPC | DEL | + * | | | LOWR |/ RAISE / \RAISE \ | LOWR | | | + * `-------------------------------' '------''-----------------------' + */ + [_ADJUST] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +) +}; + + diff --git a/keyboards/clickety_split/leeloo/keymaps/default/rules.mk b/keyboards/clickety_split/leeloo/keymaps/default/rules.mk new file mode 100644 index 000000000000..4da205a168c7 --- /dev/null +++ b/keyboards/clickety_split/leeloo/keymaps/default/rules.mk @@ -0,0 +1 @@ +LTO_ENABLE = yes diff --git a/keyboards/clickety_split/leeloo/leeloo.c b/keyboards/clickety_split/leeloo/leeloo.c new file mode 100644 index 000000000000..ea3902d899f3 --- /dev/null +++ b/keyboards/clickety_split/leeloo/leeloo.c @@ -0,0 +1,131 @@ +/* Copyright 2022 Clickety Split Ltd. + * https://clicketysplit.ca + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "leeloo.h" + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; + } else { + return rotation; + } +} + +static void render_keylock_status(led_t led_state) { + oled_write_P(PSTR("Lock: "), false); + oled_write_P(PSTR("CAPS"), led_state.caps_lock); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("NUML"), led_state.num_lock); + oled_write_P(PSTR(" "), false); + oled_write_ln_P(PSTR("SCLK"), led_state.scroll_lock); +} + +static void render_mod_status(uint8_t modifiers) { + oled_write_P(PSTR("Mods: "), false); + oled_write_P(PSTR("Sft"), (modifiers & MOD_MASK_SHIFT)); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("Ctl"), (modifiers & MOD_MASK_CTRL)); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("Alt"), (modifiers & MOD_MASK_ALT)); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("GUI"), (modifiers & MOD_MASK_GUI)); +} + +static void render_secondary_oled(void) { + // Version Information + oled_write_P(PSTR("Leeloo\n\n"), false); + oled_write_P(PSTR("Firmware: "), false); + oled_write_P(PSTR("v1.0"), false); + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("Clickety Split Ltd."), false); +} + +static void render_status(void) { + // Host Keyboard Layer Status + switch (get_highest_layer(default_layer_state)) { + case _BASE: + oled_write_P(PSTR("QWERTY | "), false); + break; + } + + // Host Keyboard Layer Status + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("Base \n"), false); + break; + + case _LOWER: + oled_write_P(PSTR("Lower \n"), false); + break; + + case _RAISE: + oled_write_P(PSTR("Raise \n"), false); + break; + + case _ADJUST: + oled_write_P(PSTR("Adjust \n"), false); + break; + + default: + oled_write_P(PSTR("Unknown \n"), false); + } + + oled_write_P(PSTR("\n"), false); + render_keylock_status(host_keyboard_led_state()); + render_mod_status(get_mods() | get_oneshot_mods()); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + + if (is_keyboard_master()) { + // Renders the current keyboard state (layer, lock, caps, scroll, etc) + render_status(); + } else { + // Version Information + render_secondary_oled(); + } + + return false; + +} +#endif // OLED_ENABLE + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + // Volume control + if (clockwise) { + tap_code_delay(KC_VOLD, 10); + } else { + tap_code_delay(KC_VOLU, 10); + } + } else if (index == 1) { + // Page up/Page down + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + return true; +} +#endif diff --git a/keyboards/clickety_split/leeloo/leeloo.h b/keyboards/clickety_split/leeloo/leeloo.h new file mode 100644 index 000000000000..98cfddae34bd --- /dev/null +++ b/keyboards/clickety_split/leeloo/leeloo.h @@ -0,0 +1,24 @@ +/* Copyright 2022 Clickety Split Ltd. + * https://clicketysplit.ca + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#if defined(KEYBOARD_clickety_split_leeloo_rev1) +# include "rev1.h" +#endif diff --git a/keyboards/clickety_split/leeloo/readme.md b/keyboards/clickety_split/leeloo/readme.md new file mode 100644 index 000000000000..f672294e1446 --- /dev/null +++ b/keyboards/clickety_split/leeloo/readme.md @@ -0,0 +1,16 @@ +# Leeloo + +![Leeloo](https://cdn.shopify.com/s/files/1/0599/3460/5491/files/Leeloo-rev1.0-w.jpg?v=1646798726) + +Leeloo is a 4x6x5m ortholinear split keyboard kit made and sold by Clickety Split Ltd. + +* Keyboard Maintainer: [Clickety Split](https://github.com/ClicketySplit) +* Hardware Supported: Leeloo PCB rev1, Pro Micro, Elite-C +* Hardware Availability: [clicketysplit.ca](https://clicketysplit.ca/pages/leeloo) + +Make example, after setting up build environment: + + make clickety_split/leeloo/rev1:default + + +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/clickety_split/leeloo/rev1/config.h b/keyboards/clickety_split/leeloo/rev1/config.h new file mode 100644 index 000000000000..cf9c563f8fad --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev1/config.h @@ -0,0 +1,68 @@ +/* Copyright 2022 Clickety Split Ltd. + * https://clicketysplit.ca + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4013 +#define PRODUCT_ID 0x2022 +#define DEVICE_VER 0x0013 +#define MANUFACTURER Clickety Split Ltd +#define PRODUCT Leeloo + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 6 + +// wiring of each half +#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 } +#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 } +#define DIODE_DIRECTION COL2ROW + +/* communication between sides */ +#define SOFT_SERIAL_PIN D2 + +/* define tapping term */ +#define TAPPING_TERM 100 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* encoder support */ +#define ENCODERS_PAD_A { F5 } +#define ENCODERS_PAD_B { F4 } +#define ENCODERS_PAD_A_RIGHT { F4 } +#define ENCODERS_PAD_B_RIGHT { F5 } + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT diff --git a/keyboards/clickety_split/leeloo/rev1/rev1.c b/keyboards/clickety_split/leeloo/rev1/rev1.c new file mode 100644 index 000000000000..31e27144fb78 --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev1/rev1.c @@ -0,0 +1,18 @@ +/* Copyright 2022 Clickety Split Ltd. + * https://clicketysplit.ca + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "leeloo.h" diff --git a/keyboards/clickety_split/leeloo/rev1/rev1.h b/keyboards/clickety_split/leeloo/rev1/rev1.h new file mode 100644 index 000000000000..7469cc2d83d3 --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev1/rev1.h @@ -0,0 +1,40 @@ +/* Copyright 2022 Clickety Split Ltd. + * https://clicketysplit.ca + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \ + L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \ + L20, L21, L22, L23, L24, L25, R25, R24, R23, R22, R21, R20, \ + L30, L31, L32, L33, L34, L35, L45, R45, R35, R34, R33, R32, R31, R30, \ + L41, L42, L43, L44, R44, R43, R42, R41 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { KC_NO, L41, L42, L43, L44, L45 }, \ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, R35 }, \ + { KC_NO, R41, R42, R43, R44, R45 } \ + } diff --git a/keyboards/clickety_split/leeloo/rev1/rules.mk b/keyboards/clickety_split/leeloo/rev1/rules.mk new file mode 100644 index 000000000000..5713c150766d --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev1/rules.mk @@ -0,0 +1 @@ +# Intentionally left blank. \ No newline at end of file diff --git a/keyboards/clickety_split/leeloo/rules.mk b/keyboards/clickety_split/leeloo/rules.mk new file mode 100644 index 000000000000..c82e083a7f9b --- /dev/null +++ b/keyboards/clickety_split/leeloo/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes + +DEFAULT_FOLDER = clickety_split/leeloo/rev1 From f3004d960f144cf5b40eb2d2790dd2ca86ca457a Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Wed, 13 Apr 2022 10:27:20 -0600 Subject: [PATCH 0518/1832] [Keyboard] Fix waffling80 - Missing comma (#16848) --- .../waffling80/keymaps/default/keymap.c | 36 +++++----- .../4pplet/waffling80/keymaps/via/keymap.c | 71 +++++++++---------- 2 files changed, 53 insertions(+), 54 deletions(-) diff --git a/keyboards/4pplet/waffling80/keymaps/default/keymap.c b/keyboards/4pplet/waffling80/keymaps/default/keymap.c index 5331d7d3da99..4cb9643d27b0 100644 --- a/keyboards/4pplet/waffling80/keymaps/default/keymap.c +++ b/keyboards/4pplet/waffling80/keymaps/default/keymap.c @@ -17,22 +17,22 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// main layer -[0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, - KC_GRV, 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_GRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - 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, KC_PGDN, - 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_NUHS, KC_ENT, - 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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, - MO(1), MO(1)) // extra keys for alps dual action switches -// basic function layer -[1] = LAYOUT_all( - RESET, 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, - 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, 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, 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, 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, - 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), // extra keys for alps dual action switches + // main layer + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_GRV, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_NUHS, KC_ENT, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, + MO(1), MO(1)), // extra keys for alps dual action switches + // basic function layer + [1] = LAYOUT_all( + QK_BOOT, 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, + 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, 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, 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, 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, + 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), // extra keys for alps dual action switches }; diff --git a/keyboards/4pplet/waffling80/keymaps/via/keymap.c b/keyboards/4pplet/waffling80/keymaps/via/keymap.c index c816d56af641..6c0d81ba40be 100644 --- a/keyboards/4pplet/waffling80/keymaps/via/keymap.c +++ b/keyboards/4pplet/waffling80/keymaps/via/keymap.c @@ -17,41 +17,40 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// main layer -[0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, - KC_GRV, 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_GRV, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - 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, KC_PGDN, - 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_NUHS, KC_ENT, - 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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, - MO(1), MO(1)), // extra keys for alps dual action switches -// basic function layer -[1] = LAYOUT_all( - RESET, 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, - 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, 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, 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, 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, - 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), // extra keys for alps dual action switches -// extra layer for VIA -[2] = LAYOUT_all( - RESET, 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, - 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, 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, 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, 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, - 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), // extra keys for alps dual action switches + // main layer + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_GRV, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_NUHS, KC_ENT, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, + MO(1), MO(1)), // extra keys for alps dual action switches + // basic function layer + [1] = LAYOUT_all( + RESET, 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, + 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, 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, 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, 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, + 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), // extra keys for alps dual action switches -// extra layer for VIA -[3] = LAYOUT_all( - RESET, 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, - 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, 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, 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, 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, - 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) // extra keys for alps dual action switches + [2] = LAYOUT_all( + RESET, 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, + 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, 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, 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, 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, + 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), // extra keys for alps dual action switches + + [3] = LAYOUT_all( + RESET, 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, + 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, 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, 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, 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, + 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) // extra keys for alps dual action switches }; From 46c0db458ee70d5c37add7642a175cc96163713c Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Wed, 13 Apr 2022 10:45:16 -0600 Subject: [PATCH 0519/1832] [Keyboard] Fix kay65 - Missing keycode (#16849) --- keyboards/mechlovin/kay65/keymaps/default/keymap.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/keyboards/mechlovin/kay65/keymaps/default/keymap.c b/keyboards/mechlovin/kay65/keymaps/default/keymap.c index cc7cdc44fa78..f72c8d8bb422 100644 --- a/keyboards/mechlovin/kay65/keymaps/default/keymap.c +++ b/keyboards/mechlovin/kay65/keymaps/default/keymap.c @@ -28,10 +28,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_PGUP, 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, 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_LSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { From 18e56902c996854fdb3b68a26f07c0751883701d Mon Sep 17 00:00:00 2001 From: leah-splitkb <103112489+leah-splitkb@users.noreply.github.com> Date: Thu, 14 Apr 2022 05:27:26 +0200 Subject: [PATCH 0520/1832] Fix external flash on AVR (#16851) --- drivers/flash/flash_spi.c | 2 +- drivers/flash/flash_spi.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/flash/flash_spi.c b/drivers/flash/flash_spi.c index f4cbf6515998..684ee06d718f 100644 --- a/drivers/flash/flash_spi.c +++ b/drivers/flash/flash_spi.c @@ -57,7 +57,7 @@ along with this program. If not, see . /* Mode setting comands */ #define FLASH_CMD_DP 0xB9 /* DP (Deep Power Down) */ -#define FLASH_CMD_RDP 0xAB /* RDP (Release form Deep Power Down) */ +#define FLASH_CMD_RDP 0xAB /* RDP (Release from Deep Power Down) */ /* Status register */ #define FLASH_FLAG_WIP 0x01 /* Write in progress bit */ diff --git a/drivers/flash/flash_spi.h b/drivers/flash/flash_spi.h index abe95e955e56..87460fc210ee 100644 --- a/drivers/flash/flash_spi.h +++ b/drivers/flash/flash_spi.h @@ -74,21 +74,21 @@ along with this program. If not, see . The sector size of the FLASH in bytes, as specified in the datasheet. */ #ifndef EXTERNAL_FLASH_SECTOR_SIZE -# define EXTERNAL_FLASH_SECTOR_SIZE (4 * 1024) +# define EXTERNAL_FLASH_SECTOR_SIZE (4 * 1024L) #endif /* The block size of the FLASH in bytes, as specified in the datasheet. */ #ifndef EXTERNAL_FLASH_BLOCK_SIZE -# define EXTERNAL_FLASH_BLOCK_SIZE (64 * 1024) +# define EXTERNAL_FLASH_BLOCK_SIZE (64 * 1024L) #endif /* The total size of the FLASH in bytes, as specified in the datasheet. */ #ifndef EXTERNAL_FLASH_SIZE -# define EXTERNAL_FLASH_SIZE (512 * 1024) +# define EXTERNAL_FLASH_SIZE (512 * 1024L) #endif /* From a4a67d515eb21db406f0103072ae172f54478dc3 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Wed, 13 Apr 2022 22:42:24 -0700 Subject: [PATCH 0521/1832] Ignore VIA(L) json files (#16845) --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 3f646c6b010b..b1bd2609bc31 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,6 @@ user_song_list.h compile_commands.json .clangd/ .cache/ + +# VIA(L) json files that don't belong in QMK repo +via*.json From 812f97e241acb307e02e4149442a62cacb4aeb8b Mon Sep 17 00:00:00 2001 From: holtenc Date: Thu, 14 Apr 2022 11:26:24 -0500 Subject: [PATCH 0522/1832] [Keyboard] move/rename obro to Meridian RGB (#16828) Co-authored-by: Joel Challis --- keyboards/{handwired/obro => primekb/meridian_rgb}/config.h | 6 +++++- .../{handwired/obro => primekb/meridian_rgb}/info.json | 2 +- .../obro => primekb/meridian_rgb}/keymaps/default/keymap.c | 0 .../obro => primekb/meridian_rgb}/keymaps/via/keymap.c | 0 .../obro => primekb/meridian_rgb}/keymaps/via/rules.mk | 0 .../obro/obro.c => primekb/meridian_rgb/meridian_rgb.c} | 2 +- .../obro/obro.h => primekb/meridian_rgb/meridian_rgb.h} | 0 .../{handwired/obro => primekb/meridian_rgb}/readme.md | 6 +++--- keyboards/{handwired/obro => primekb/meridian_rgb}/rules.mk | 0 9 files changed, 10 insertions(+), 6 deletions(-) rename keyboards/{handwired/obro => primekb/meridian_rgb}/config.h (93%) rename keyboards/{handwired/obro => primekb/meridian_rgb}/info.json (98%) rename keyboards/{handwired/obro => primekb/meridian_rgb}/keymaps/default/keymap.c (100%) rename keyboards/{handwired/obro => primekb/meridian_rgb}/keymaps/via/keymap.c (100%) rename keyboards/{handwired/obro => primekb/meridian_rgb}/keymaps/via/rules.mk (100%) rename keyboards/{handwired/obro/obro.c => primekb/meridian_rgb/meridian_rgb.c} (96%) rename keyboards/{handwired/obro/obro.h => primekb/meridian_rgb/meridian_rgb.h} (100%) rename keyboards/{handwired/obro => primekb/meridian_rgb}/readme.md (84%) rename keyboards/{handwired/obro => primekb/meridian_rgb}/rules.mk (100%) diff --git a/keyboards/handwired/obro/config.h b/keyboards/primekb/meridian_rgb/config.h similarity index 93% rename from keyboards/handwired/obro/config.h rename to keyboards/primekb/meridian_rgb/config.h index 1217214dd710..4dc63d91cedc 100644 --- a/keyboards/handwired/obro/config.h +++ b/keyboards/primekb/meridian_rgb/config.h @@ -24,7 +24,7 @@ along with this program. If not, see . #define PRODUCT_ID 0x0042 #define DEVICE_VER 0x0002 #define MANUFACTURER Prime Keyboards -#define PRODUCT obro +#define PRODUCT Meridian RGB /* key matrix size */ #define MATRIX_ROWS 5 @@ -49,6 +49,10 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_LIMIT_VAL 200 +#define LED_NUM_LOCK_PIN B0 +#define LED_CAPS_LOCK_PIN B1 +#define LED_SCROLL_LOCK_PIN B2 + /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 diff --git a/keyboards/handwired/obro/info.json b/keyboards/primekb/meridian_rgb/info.json similarity index 98% rename from keyboards/handwired/obro/info.json rename to keyboards/primekb/meridian_rgb/info.json index e289ae585e39..606fab06927b 100644 --- a/keyboards/handwired/obro/info.json +++ b/keyboards/primekb/meridian_rgb/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "Obro", + "keyboard_name": "Meridian RGB", "url": "https://www.primekb.com", "maintainer": "holtenc", "layouts": { diff --git a/keyboards/handwired/obro/keymaps/default/keymap.c b/keyboards/primekb/meridian_rgb/keymaps/default/keymap.c similarity index 100% rename from keyboards/handwired/obro/keymaps/default/keymap.c rename to keyboards/primekb/meridian_rgb/keymaps/default/keymap.c diff --git a/keyboards/handwired/obro/keymaps/via/keymap.c b/keyboards/primekb/meridian_rgb/keymaps/via/keymap.c similarity index 100% rename from keyboards/handwired/obro/keymaps/via/keymap.c rename to keyboards/primekb/meridian_rgb/keymaps/via/keymap.c diff --git a/keyboards/handwired/obro/keymaps/via/rules.mk b/keyboards/primekb/meridian_rgb/keymaps/via/rules.mk similarity index 100% rename from keyboards/handwired/obro/keymaps/via/rules.mk rename to keyboards/primekb/meridian_rgb/keymaps/via/rules.mk diff --git a/keyboards/handwired/obro/obro.c b/keyboards/primekb/meridian_rgb/meridian_rgb.c similarity index 96% rename from keyboards/handwired/obro/obro.c rename to keyboards/primekb/meridian_rgb/meridian_rgb.c index e02765e6ada6..95bb63a91b30 100644 --- a/keyboards/handwired/obro/obro.c +++ b/keyboards/primekb/meridian_rgb/meridian_rgb.c @@ -15,4 +15,4 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "obro.h" +#include "meridian_rgb.h" diff --git a/keyboards/handwired/obro/obro.h b/keyboards/primekb/meridian_rgb/meridian_rgb.h similarity index 100% rename from keyboards/handwired/obro/obro.h rename to keyboards/primekb/meridian_rgb/meridian_rgb.h diff --git a/keyboards/handwired/obro/readme.md b/keyboards/primekb/meridian_rgb/readme.md similarity index 84% rename from keyboards/handwired/obro/readme.md rename to keyboards/primekb/meridian_rgb/readme.md index 7be928050d5f..d07752ae3de1 100644 --- a/keyboards/handwired/obro/readme.md +++ b/keyboards/primekb/meridian_rgb/readme.md @@ -6,17 +6,17 @@ Make example for this keyboard (after setting up your build environment): - make handwired/obro:default + make primekb/meridian_rgb:default Flashing example for this keyboard: - make handwired/obro:default:flash + make primekb/meridian_rgb:default:flash 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). # Bootloader Enter the bootloader in 3 ways: -* Bootmagic reset: HOld down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard * Physical reset button: Briefly press the button on the back of the PCB * Keycode in layout: Press the key mapped to RESET if it is available diff --git a/keyboards/handwired/obro/rules.mk b/keyboards/primekb/meridian_rgb/rules.mk similarity index 100% rename from keyboards/handwired/obro/rules.mk rename to keyboards/primekb/meridian_rgb/rules.mk From b9e11253c4d0646176e6455390c917a784ea33c9 Mon Sep 17 00:00:00 2001 From: Tim Liu <74063834+Timliuzhaolu@users.noreply.github.com> Date: Fri, 15 Apr 2022 01:01:26 +0800 Subject: [PATCH 0523/1832] [Keyboard] Add via support for creatkeebs/glacier (#16747) Co-authored-by: Joel Challis --- keyboards/creatkeebs/glacier/config.h | 2 +- .../creatkeebs/glacier/keymaps/via/keymap.c | 56 +++++++++++++++++++ .../creatkeebs/glacier/keymaps/via/rules.mk | 1 + keyboards/creatkeebs/thera/config.h | 4 +- 4 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 keyboards/creatkeebs/glacier/keymaps/via/keymap.c create mode 100644 keyboards/creatkeebs/glacier/keymaps/via/rules.mk diff --git a/keyboards/creatkeebs/glacier/config.h b/keyboards/creatkeebs/glacier/config.h index 0509365a0df7..1cfb2b6a8d08 100644 --- a/keyboards/creatkeebs/glacier/config.h +++ b/keyboards/creatkeebs/glacier/config.h @@ -19,7 +19,7 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED +#define VENDOR_ID 0x0410 #define PRODUCT_ID 0x6060 #define DEVICE_VER 0x0001 #define MANUFACTURER creatkeebs diff --git a/keyboards/creatkeebs/glacier/keymaps/via/keymap.c b/keyboards/creatkeebs/glacier/keymaps/via/keymap.c new file mode 100644 index 000000000000..cf0fa0f83502 --- /dev/null +++ b/keyboards/creatkeebs/glacier/keymaps/via/keymap.c @@ -0,0 +1,56 @@ + /* Copyright 2022 Tim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_f13_ansi_tsangan( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [1] = LAYOUT_tkl_f13_ansi_tsangan( + 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, 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, 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, RESET, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_tkl_f13_ansi_tsangan( + 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, 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, 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, RESET, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_tkl_f13_ansi_tsangan( + 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, 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, 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, RESET, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; diff --git a/keyboards/creatkeebs/glacier/keymaps/via/rules.mk b/keyboards/creatkeebs/glacier/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/creatkeebs/glacier/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/creatkeebs/thera/config.h b/keyboards/creatkeebs/thera/config.h index e9ba1ca13106..0e673dd9d357 100644 --- a/keyboards/creatkeebs/thera/config.h +++ b/keyboards/creatkeebs/thera/config.h @@ -19,8 +19,8 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 +#define VENDOR_ID 0x0410 +#define PRODUCT_ID 0x6061 #define DEVICE_VER 0x0001 #define MANUFACTURER creatkeebs #define PRODUCT thera From 8de4065b099a99bcffe436a038616b0c31ade7c3 Mon Sep 17 00:00:00 2001 From: Will Winder Date: Thu, 14 Apr 2022 14:23:32 -0400 Subject: [PATCH 0524/1832] [Keyboard] Add avalanche (#16407) * [Keyboard] Add avalanche * PR feedback * Update keyboards/avalanche/v1/config.h * Update keyboards/avalanche/v1/v1.h * Update keyboards/avalanche/v2/config.h * Update keyboards/avalanche/v2/v2.h * Update keyboards/avalanche/v3/config.h * Update keyboards/avalanche/v3/v3.h * Apply suggestions from code review * Remove rules.mk comment and fix other comments. * Shared encoder code, follow conventions in rules.mk files. * Remove config files which do not change defaul behavior. --- keyboards/avalanche/avalanche.c | 25 +++++++++ keyboards/avalanche/avalanche.h | 14 +++++ keyboards/avalanche/config.h | 6 ++ keyboards/avalanche/readme.md | 27 +++++++++ keyboards/avalanche/v1/config.h | 22 ++++++++ .../avalanche/v1/keymaps/default/keymap.c | 48 ++++++++++++++++ keyboards/avalanche/v1/rules.mk | 20 +++++++ keyboards/avalanche/v1/v1.c | 4 ++ keyboards/avalanche/v1/v1.h | 31 ++++++++++ keyboards/avalanche/v2/config.h | 30 ++++++++++ .../avalanche/v2/keymaps/default/keymap.c | 56 +++++++++++++++++++ keyboards/avalanche/v2/rules.mk | 21 +++++++ keyboards/avalanche/v2/v2.c | 4 ++ keyboards/avalanche/v2/v2.h | 31 ++++++++++ keyboards/avalanche/v3/config.h | 30 ++++++++++ .../avalanche/v3/keymaps/default/keymap.c | 48 ++++++++++++++++ keyboards/avalanche/v3/rules.mk | 21 +++++++ keyboards/avalanche/v3/v3.c | 4 ++ keyboards/avalanche/v3/v3.h | 31 ++++++++++ 19 files changed, 473 insertions(+) create mode 100644 keyboards/avalanche/avalanche.c create mode 100644 keyboards/avalanche/avalanche.h create mode 100644 keyboards/avalanche/config.h create mode 100644 keyboards/avalanche/readme.md create mode 100644 keyboards/avalanche/v1/config.h create mode 100644 keyboards/avalanche/v1/keymaps/default/keymap.c create mode 100644 keyboards/avalanche/v1/rules.mk create mode 100644 keyboards/avalanche/v1/v1.c create mode 100644 keyboards/avalanche/v1/v1.h create mode 100644 keyboards/avalanche/v2/config.h create mode 100644 keyboards/avalanche/v2/keymaps/default/keymap.c create mode 100644 keyboards/avalanche/v2/rules.mk create mode 100644 keyboards/avalanche/v2/v2.c create mode 100644 keyboards/avalanche/v2/v2.h create mode 100644 keyboards/avalanche/v3/config.h create mode 100644 keyboards/avalanche/v3/keymaps/default/keymap.c create mode 100644 keyboards/avalanche/v3/rules.mk create mode 100644 keyboards/avalanche/v3/v3.c create mode 100644 keyboards/avalanche/v3/v3.h diff --git a/keyboards/avalanche/avalanche.c b/keyboards/avalanche/avalanche.c new file mode 100644 index 000000000000..08d95043b24c --- /dev/null +++ b/keyboards/avalanche/avalanche.c @@ -0,0 +1,25 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "avalanche.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + tap_code(KC_PGUP); + } else { + tap_code(KC_PGDOWN); + } + } + return true; +} +#endif + diff --git a/keyboards/avalanche/avalanche.h b/keyboards/avalanche/avalanche.h new file mode 100644 index 000000000000..c3f431f31554 --- /dev/null +++ b/keyboards/avalanche/avalanche.h @@ -0,0 +1,14 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#ifdef KEYBOARD_avalanche_v1 + #include "v1.h" +#elif KEYBOARD_avalanche_v2 + #include "v2.h" +#elif KEYBOARD_avalanche_v3 + #include "v3.h" +#endif + +#include "quantum.h" diff --git a/keyboards/avalanche/config.h b/keyboards/avalanche/config.h new file mode 100644 index 000000000000..eb9c37d38aea --- /dev/null +++ b/keyboards/avalanche/config.h @@ -0,0 +1,6 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" diff --git a/keyboards/avalanche/readme.md b/keyboards/avalanche/readme.md new file mode 100644 index 000000000000..d0b07a9c4039 --- /dev/null +++ b/keyboards/avalanche/readme.md @@ -0,0 +1,27 @@ +# Avalanche + +![Avalanche v3.0](https://github.com/vlkv/avalanche/blob/master/images/avalanche_v3-0.jpg) + +An open source ergonomic split keyboard with removable keys to support 40% and 60% configurations. + +* Keyboard Maintainer: [Vitaly Volkov](https://github.com/vlkv) +* Hardware Supported: Avalanche PCB v1, v2, v3, Pro Micro 5V/16MHz and compatible. +* Hardware Availability: [Avalanche](https://github.com/vlkv/avalanche). + +Make example for this keyboard (after setting up your build environment): + + make avalanche/v1:default # for v1 PCBs + make avalanche/v2:default # for v2 PCBs + make avalanche/v3:default # for v3 PCBs + +Flashing example for this keyboard: + + make avalanche/v1:default:flash # for v1 PCBs + make avalanche/v2:default:flash # for v2 PCBs + make avalanche/v3:default:flash # for v3 PCBs + +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). + +## Bootloader + +Briefly press the button along the inner edge of the PCB next to the microcontroller. diff --git a/keyboards/avalanche/v1/config.h b/keyboards/avalanche/v1/config.h new file mode 100644 index 000000000000..32533c5cc917 --- /dev/null +++ b/keyboards/avalanche/v1/config.h @@ -0,0 +1,22 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define VENDOR_ID 0xCEE2 +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0001 +#define MANUFACTURER vitvlkv +#define PRODUCT Avalanche + +#define MATRIX_ROWS 10 +#define MATRIX_COLS 8 + +#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 } +#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 } + +#define DIODE_DIRECTION COL2ROW + +#define SOFT_SERIAL_PIN D2 + +#define BACKLIGHT_PIN B0 diff --git a/keyboards/avalanche/v1/keymaps/default/keymap.c b/keyboards/avalanche/v1/keymaps/default/keymap.c new file mode 100644 index 000000000000..31dd0e7dab41 --- /dev/null +++ b/keyboards/avalanche/v1/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +/* +qmk compile -kb avalanche/v1 -km default +qmk flash -kb avalanche/v1 -km default +*/ + +#include QMK_KEYBOARD_H + +enum layer { + LAYER_0, + LAYER_1, + LAYER_2, +}; + +#define FN_1 MO(LAYER_1) +#define FN_2 LT(LAYER_2, KC_SPC) +#define LFN_3 LSFT_T(KC_EQL) +#define RFN_3 RSFT_T(KC_MINS) +#define KC_QTSH RSFT_T(KC_QUOT) +#define EN_LALT LALT_T(KC_ENT) +#define EN_RALT RALT_T(KC_ENT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + 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_LGUI, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_CAPS, KC_LSCR, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QTSH, KC_RBRC, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, + KC_GRV, LFN_3, FN_2, EN_LALT, EN_RALT, FN_1, RFN_3, KC_INS + ), + [LAYER_1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, KC_PGUP, KC_PSCR, _______, + _______, _______, KC_APP, XXXXXXX, KC_HOME, KC_END, KC_DEL, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, _______, KC_F12, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS, _______, _______, KC_HOME, KC_END, XXXXXXX, KC_PGDN, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + [LAYER_2] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, KC_BSPC, KC_1, KC_2, KC_3, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, KC_PGUP, XXXXXXX, XXXXXXX, + _______, _______, KC_BSPC, KC_4, KC_5, KC_6, KC_DEL, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, _______, KC_F12, + _______, KC_BSPC, KC_7, KC_8, KC_9, KC_0, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + diff --git a/keyboards/avalanche/v1/rules.mk b/keyboards/avalanche/v1/rules.mk new file mode 100644 index 000000000000..9bb578594b1b --- /dev/null +++ b/keyboards/avalanche/v1/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +SPLIT_KEYBOARD = yes diff --git a/keyboards/avalanche/v1/v1.c b/keyboards/avalanche/v1/v1.c new file mode 100644 index 000000000000..1a0cff2e5171 --- /dev/null +++ b/keyboards/avalanche/v1/v1.c @@ -0,0 +1,4 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "avalanche.h" diff --git a/keyboards/avalanche/v1/v1.h b/keyboards/avalanche/v1/v1.h new file mode 100644 index 000000000000..a8f55c75365f --- /dev/null +++ b/keyboards/avalanche/v1/v1.h @@ -0,0 +1,31 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "avalanche.h" + +#include "quantum.h" + +#define L__ KC_NO +#define R__ KC_NO + +#define LAYOUT( \ + L01, L02, L03, L04, L05, L06, R06, R05, R04, R03, R02, R01, \ + L11, L12, L13, L14, L15, L16, R16, R15, R14, R13, R12, R11, \ + L20, L21, L22, L23, L24, L25, L26, L27, R27, R26, R25, R24, R23, R22, R21, R20, \ + L31, L32, L33, L34, L35, L36, L37, R37, R36, R35, R34, R33, R32, R31, \ + L44, L45, L46, L47, R47, R46, R45, R44 \ +) \ +{ \ + { L__, L01, L02, L03, L04, L05, L06, L__}, \ + { L__, L11, L12, L13, L14, L15, L16, L__}, \ + { L20, L21, L22, L23, L24, L25, L26, L27}, \ + { L__, L31, L32, L33, L34, L35, L36, L37}, \ + { L__, L__, L__, L__, L44, L45, L46, L47}, \ + { R__, R01, R02, R03, R04, R05, R06, R__}, \ + { R__, R11, R12, R13, R14, R15, R16, R__}, \ + { R20, R21, R22, R23, R24, R25, R26, R27}, \ + { R__, R31, R32, R33, R34, R35, R36, R37}, \ + { R__, R__, R__, R__, R44, R45, R46, R47} \ +} diff --git a/keyboards/avalanche/v2/config.h b/keyboards/avalanche/v2/config.h new file mode 100644 index 000000000000..55cbd30b1c4c --- /dev/null +++ b/keyboards/avalanche/v2/config.h @@ -0,0 +1,30 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define VENDOR_ID 0xCEE2 +#define PRODUCT_ID 0x0002 +#define DEVICE_VER 0x0002 +#define MANUFACTURER vitvlkv +#define PRODUCT Avalanche + +#define MATRIX_ROWS 10 +#define MATRIX_COLS 7 + +#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 } +#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 } + +#define DIODE_DIRECTION COL2ROW + +#define SOFT_SERIAL_PIN D2 + +#define RGB_DI_PIN D3 + +#define RGBLED_NUM 12 +#define RGBLED_SPLIT { 6, 6 } +#define RGBLIGHT_SPLIT + +#define ENCODERS_PAD_A { B5 } +#define ENCODERS_PAD_B { F4 } +#define ENCODER_RESOLUTION 2 diff --git a/keyboards/avalanche/v2/keymaps/default/keymap.c b/keyboards/avalanche/v2/keymaps/default/keymap.c new file mode 100644 index 000000000000..fc27401c25c7 --- /dev/null +++ b/keyboards/avalanche/v2/keymaps/default/keymap.c @@ -0,0 +1,56 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +/* +qmk compile -kb avalanche/v2 -km default +qmk flash -kb avalanche/v2 -km default +*/ + +#include QMK_KEYBOARD_H + +enum layer { + LAYER_0, + LAYER_1, + LAYER_2, + LAYER_3, +}; + +#define FN_1 MO(LAYER_1) +#define FN_2 LT(LAYER_2, KC_SPC) +#define FN_3 LT(LAYER_3, KC_INS) +#define LFN_3 LSFT_T(KC_EQL) +#define RFN_3 RSFT_T(KC_MINS) +#define EN_LALT LALT_T(KC_ENT) +#define EN_RALT RALT_T(KC_ENT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + 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_LGUI, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_RBRC, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, + KC__MUTE,KC_GRV, LFN_3, FN_2, EN_LALT, EN_RALT, FN_1, RFN_3, FN_3, KC_LSCR + ), + [LAYER_1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, KC_0, KC_1, KC_2, KC_3, XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, + _______, _______, KC_APP, KC_4, KC_5, KC_6, KC_DEL, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_F12, + _______, KC_PSCR, KC_7, KC_8, KC_9, KC_0, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [LAYER_2] = LAYOUT( + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, KC_EXLM, KC_AT, KC_HASH, XXXXXXX, KC_LPRN, + _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, _______, _______, KC_BSPC, KC_DLR, KC_PERC, KC_CIRC, XXXXXXX, XXXXXXX, KC_RPRN, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, KC_AMPR, KC_ASTR, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [LAYER_3] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + diff --git a/keyboards/avalanche/v2/rules.mk b/keyboards/avalanche/v2/rules.mk new file mode 100644 index 000000000000..3b645daf9b9a --- /dev/null +++ b/keyboards/avalanche/v2/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes + +SPLIT_KEYBOARD = yes diff --git a/keyboards/avalanche/v2/v2.c b/keyboards/avalanche/v2/v2.c new file mode 100644 index 000000000000..1a0cff2e5171 --- /dev/null +++ b/keyboards/avalanche/v2/v2.c @@ -0,0 +1,4 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "avalanche.h" diff --git a/keyboards/avalanche/v2/v2.h b/keyboards/avalanche/v2/v2.h new file mode 100644 index 000000000000..6832becdf7e4 --- /dev/null +++ b/keyboards/avalanche/v2/v2.h @@ -0,0 +1,31 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "avalanche.h" + +#include "quantum.h" + +#define L__ KC_NO +#define R__ KC_NO + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \ + L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \ + L40, L20, L21, L22, L23, L24, L25, L26, R26, R25, R24, R23, R22, R21, R20, R40, \ + L30, L31, L32, L33, L34, L35, L36, R36, R35, R34, R33, R32, R31, R30, \ + L42, L43, L44, L45, L46, R46, R45, R44, R43, R42 \ +) \ +{ \ + { L00, L01, L02, L03, L04, L05, L__}, \ + { L10, L11, L12, L13, L14, L15, L__}, \ + { L20, L21, L22, L23, L24, L25, L26}, \ + { L30, L31, L32, L33, L34, L35, L36}, \ + { L40, L__, L42, L43, L44, L45, L46}, \ + { R00, R01, R02, R03, R04, R05, R__}, \ + { R10, R11, R12, R13, R14, R15, R__}, \ + { R20, R21, R22, R23, R24, R25, R26}, \ + { R30, R31, R32, R33, R34, R35, R36}, \ + { R40, R__, R42, R43, R44, R45, R46} \ +} diff --git a/keyboards/avalanche/v3/config.h b/keyboards/avalanche/v3/config.h new file mode 100644 index 000000000000..3dc537170d9f --- /dev/null +++ b/keyboards/avalanche/v3/config.h @@ -0,0 +1,30 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define VENDOR_ID 0xCEE2 +#define PRODUCT_ID 0x0003 +#define DEVICE_VER 0x0003 +#define MANUFACTURER vitvlkv +#define PRODUCT Avalanche + +#define MATRIX_ROWS 10 +#define MATRIX_COLS 7 + +#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 } +#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 } + +#define DIODE_DIRECTION COL2ROW + +#define SOFT_SERIAL_PIN D2 + +#define RGB_DI_PIN D3 + +#define RGBLED_NUM 12 +#define RGBLED_SPLIT { 7, 7 } +#define RGBLIGHT_SPLIT + +#define ENCODERS_PAD_A { B5 } +#define ENCODERS_PAD_B { F4 } +#define ENCODER_RESOLUTION 2 diff --git a/keyboards/avalanche/v3/keymaps/default/keymap.c b/keyboards/avalanche/v3/keymaps/default/keymap.c new file mode 100644 index 000000000000..be82b74c0931 --- /dev/null +++ b/keyboards/avalanche/v3/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +/* +qmk compile -kb avalanche/v3 -km default +qmk flash -kb avalanche/v3 -km default +*/ + +#include QMK_KEYBOARD_H + +enum layer { + LAYER_0, + LAYER_1, + LAYER_2, +}; + +#define FN_1 MO(LAYER_1) +#define LFN_2 LT(LAYER_2, KC_GRV) +#define RFN_2 MO(LAYER_2) +#define LFN_3 LSFT_T(KC_EQL) +#define RFN_3 RSFT_T(KC_MINS) +#define EN_LALT LALT_T(KC_ENT) +#define EN_RALT RALT_T(KC_ENT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSLS, + 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_CAPS, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_RBRC, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_LGUI, KC_INS, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, + KC__MUTE,LFN_2, LFN_3, KC_SPC, EN_LALT, EN_RALT, FN_1, RFN_3, RFN_2, KC_PSCR + ), + [LAYER_1] = LAYOUT( + _______, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, KC_DEL, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, + _______, _______, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_F12, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [LAYER_2] = LAYOUT( + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_DEL, KC_EXLM, KC_AT, KC_HASH, XXXXXXX, KC_LPRN, + _______, _______, KC_0, KC_4, KC_5, KC_6, KC_DEL, KC_BSPC, KC_DLR, KC_PERC, KC_CIRC, XXXXXXX, XXXXXXX, KC_RPRN, + _______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, _______, _______, XXXXXXX, KC_AMPR, KC_ASTR, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + diff --git a/keyboards/avalanche/v3/rules.mk b/keyboards/avalanche/v3/rules.mk new file mode 100644 index 000000000000..fbf76c7ae5fd --- /dev/null +++ b/keyboards/avalanche/v3/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes + +SPLIT_KEYBOARD = yes diff --git a/keyboards/avalanche/v3/v3.c b/keyboards/avalanche/v3/v3.c new file mode 100644 index 000000000000..1a0cff2e5171 --- /dev/null +++ b/keyboards/avalanche/v3/v3.c @@ -0,0 +1,4 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "avalanche.h" diff --git a/keyboards/avalanche/v3/v3.h b/keyboards/avalanche/v3/v3.h new file mode 100644 index 000000000000..fde80607b274 --- /dev/null +++ b/keyboards/avalanche/v3/v3.h @@ -0,0 +1,31 @@ +// Copyright 2022 Vitaly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "avalanche.h" + +#include "quantum.h" + +#define L__ KC_NO +#define R__ KC_NO + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \ + L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \ + L40, L20, L21, L22, L23, L24, L25, R25, R24, R23, R22, R21, R20, R40, \ + L30, L31, L32, L33, L34, L35, L36, L26, R26, R36, R35, R34, R33, R32, R31, R30, \ + L42, L43, L44, L45, L46, R46, R45, R44, R43, R42 \ +) \ +{ \ + { L00, L01, L02, L03, L04, L05, L__}, \ + { L10, L11, L12, L13, L14, L15, L__}, \ + { L20, L21, L22, L23, L24, L25, L26}, \ + { L30, L31, L32, L33, L34, L35, L36}, \ + { L40, L__, L42, L43, L44, L45, L46}, \ + { R00, R01, R02, R03, R04, R05, R__}, \ + { R10, R11, R12, R13, R14, R15, R__}, \ + { R20, R21, R22, R23, R24, R25, R26}, \ + { R30, R31, R32, R33, R34, R35, R36}, \ + { R40, R__, R42, R43, R44, R45, R46} \ +} From b331c98ca483d04e31bbf2197686ebf4fee7c196 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 16 Apr 2022 02:23:19 +0100 Subject: [PATCH 0525/1832] Resolve layout macro inconsistencies for rmkeebs/rm_numpad (#16856) --- keyboards/rmkeebs/rm_numpad/info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/rmkeebs/rm_numpad/info.json b/keyboards/rmkeebs/rm_numpad/info.json index f91c1ec6af34..0f60a8ec06d3 100644 --- a/keyboards/rmkeebs/rm_numpad/info.json +++ b/keyboards/rmkeebs/rm_numpad/info.json @@ -3,7 +3,7 @@ "url": "https://www.rmkeebs.com/product/rm-numpad/", "maintainer": "RuckerMachine", "layouts": { - "LAYOUT_default": { + "LAYOUT_numpad_6x4": { "layout": [ {"label": "Pause", "x": 0, "y": 0.25}, {"label": "Prev", "x": 1, "y": 0.25}, @@ -33,7 +33,7 @@ {"label": ".", "x": 2, "y": 5.25} ] }, - "LAYOUT_split_plus": { + "LAYOUT_split_plus_6x4": { "layout": [ {"label": "Pause", "x": 0, "y": 0.25}, {"label": "Prev", "x": 1, "y": 0.25}, @@ -64,7 +64,7 @@ {"label": ".", "x": 2, "y": 5.25} ] }, - "LAYOUT_ortho": { + "LAYOUT_ortho_6x4": { "layout": [ {"label": "Pause", "x": 0, "y": 0.25}, {"label": "Prev", "x": 1, "y": 0.25}, From 1cfe49714f2f108c20ccee96d23e7e1005a2e68e Mon Sep 17 00:00:00 2001 From: Simon Arlott <70171+nomis@users.noreply.github.com> Date: Sat, 16 Apr 2022 18:40:48 +0100 Subject: [PATCH 0526/1832] rgblight: Limit max repeat times in rgblight_blink_layer_repeat (#16860) --- quantum/rgblight/rgblight.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index 8f933a6e510c..f4ddb81e9232 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -813,6 +813,10 @@ void rgblight_blink_layer(uint8_t layer, uint16_t duration_ms) { } void rgblight_blink_layer_repeat(uint8_t layer, uint16_t duration_ms, uint8_t times) { + if (times > UINT8_MAX / 2) { + times = UINT8_MAX / 2; + } + _times_remaining = times * 2; _dur = duration_ms; From 92a61aa0cd9a28056e6979f01a72b8742702dbfe Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 16 Apr 2022 19:13:05 +0100 Subject: [PATCH 0527/1832] Implement XAP 'secure' core requirements (#16843) Co-authored-by: Drashna Jaelre Co-authored-by: Stefan Kerkmann --- builddefs/generic_features.mk | 1 + builddefs/show_options.mk | 3 +- data/mappings/info_config.json | 3 + data/mappings/info_rules.json | 1 + data/schemas/keyboard.jsonschema | 24 +++++++ lib/python/qmk/cli/generate/config_h.py | 7 +- lib/python/qmk/info.py | 56 ++++++++++++--- quantum/keyboard.c | 4 ++ quantum/process_keycode/process_secure.c | 39 +++++++++++ quantum/process_keycode/process_secure.h | 15 ++++ quantum/quantum.c | 9 +++ quantum/quantum.h | 5 ++ quantum/quantum_keycodes.h | 4 ++ quantum/secure.c | 87 ++++++++++++++++++++++++ quantum/secure.h | 67 ++++++++++++++++++ 15 files changed, 312 insertions(+), 13 deletions(-) create mode 100644 quantum/process_keycode/process_secure.c create mode 100644 quantum/process_keycode/process_secure.h create mode 100644 quantum/secure.c create mode 100644 quantum/secure.h diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index 53d4e16fd42b..0475a2ff09bc 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -32,6 +32,7 @@ GENERIC_FEATURES = \ KEY_OVERRIDE \ LEADER \ PROGRAMMABLE_BUTTON \ + SECURE \ SPACE_CADET \ SWAP_HANDS \ TAP_DANCE \ diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk index b30399a56ca1..16b69ef0ea83 100644 --- a/builddefs/show_options.mk +++ b/builddefs/show_options.mk @@ -80,7 +80,8 @@ OTHER_OPTION_NAMES = \ LED_MIRRORED \ RGBLIGHT_FULL_POWER \ LTO_ENABLE \ - PROGRAMMABLE_BUTTON_ENABLE + PROGRAMMABLE_BUTTON_ENABLE \ + SECURE_ENABLE define NAME_ECHO @printf " %-30s = %-16s # %s\\n" "$1" "$($1)" "$(origin $1)" diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json index 2121741d1996..02ad3226c285 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.json @@ -78,6 +78,9 @@ "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int"}, "QMK_LED": {"info_key": "qmk_lufa_bootloader.led"}, "QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"}, + "SECURE_UNLOCK_SEQUENCE": {"info_key": "secure.unlock_sequence", "value_type": "array.array.int", "to_json": false}, + "SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"}, + "SECURE_IDLE_TIMEOUT": {"info_key": "secure.idle_timeout", "value_type": "int"}, "SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "bool"}, "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync_modifiers", "value_type": "bool"}, "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync_matrix_state", "value_type": "bool"}, diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json index 237e9f10246e..4b0fde562979 100644 --- a/data/mappings/info_rules.json +++ b/data/mappings/info_rules.json @@ -20,6 +20,7 @@ "MOUSEKEY_ENABLE": {"info_key": "mouse_key.enabled", "value_type": "bool"}, "NO_USB_STARTUP_CHECK": {"info_key": "usb.no_startup_check", "value_type": "bool"}, "PIN_COMPATIBLE": {"info_key": "pin_compatible"}, + "SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"}, "SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"}, "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false}, "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"} diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 68a02420a410..6b1e543e4851 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -244,6 +244,30 @@ } } }, + "secure": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "unlock_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "unlock_sequence": { + "type": "array", + "minLength": 1, + "maxLength": 5, + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "min": 0, + "multipleOf": 1 + } + } + } + } + }, "split": { "type": "object", "additionalProperties": false, diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index 20c9595ed7dc..893892c47949 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -94,7 +94,12 @@ def generate_config_items(kb_info_json, config_h_lines): except KeyError: continue - if key_type.startswith('array'): + if key_type.startswith('array.array'): + config_h_lines.append('') + config_h_lines.append(f'#ifndef {config_key}') + config_h_lines.append(f'# define {config_key} {{ {", ".join(["{" + ",".join(list(map(str, x))) + "}" for x in config_value])} }}') + config_h_lines.append(f'#endif // {config_key}') + elif key_type.startswith('array'): config_h_lines.append('') config_h_lines.append(f'#ifndef {config_key}') config_h_lines.append(f'# define {config_key} {{ {", ".join(map(str, config_value))} }}') diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index c5a7d3384867..49d105451903 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -168,28 +168,46 @@ def _extract_pins(pins): return [_pin_name(pin) for pin in pins.split(',')] -def _extract_direct_matrix(direct_pins): - """ +def _extract_2d_array(raw): + """Return a 2d array of strings """ - direct_pin_array = [] + out_array = [] - while direct_pins[-1] != '}': - direct_pins = direct_pins[:-1] + while raw[-1] != '}': + raw = raw[:-1] - for row in direct_pins.split('},{'): + for row in raw.split('},{'): if row.startswith('{'): row = row[1:] if row.endswith('}'): row = row[:-1] - direct_pin_array.append([]) + out_array.append([]) + + for val in row.split(','): + out_array[-1].append(val) + + return out_array + + +def _extract_2d_int_array(raw): + """Return a 2d array of ints + """ + ret = _extract_2d_array(raw) + + return [list(map(int, x)) for x in ret] - for pin in row.split(','): - if pin == 'NO_PIN': - pin = None - direct_pin_array[-1].append(pin) +def _extract_direct_matrix(direct_pins): + """extract direct_matrix + """ + direct_pin_array = _extract_2d_array(direct_pins) + + for i in range(len(direct_pin_array)): + for j in range(len(direct_pin_array[i])): + if direct_pin_array[i][j] == 'NO_PIN': + direct_pin_array[i][j] = None return direct_pin_array @@ -207,6 +225,21 @@ def _extract_audio(info_data, config_c): info_data['audio'] = {'pins': audio_pins} +def _extract_secure_unlock(info_data, config_c): + """Populate data about the secure unlock sequence + """ + unlock = config_c.get('SECURE_UNLOCK_SEQUENCE', '').replace(' ', '')[1:-1] + if unlock: + unlock_array = _extract_2d_int_array(unlock) + if 'secure' not in info_data: + info_data['secure'] = {} + + if 'unlock_sequence' in info_data['secure']: + _log_warning(info_data, 'Secure unlock sequence is specified in both config.h (SECURE_UNLOCK_SEQUENCE) and info.json (secure.unlock_sequence) (Value: %s), the config.h value wins.' % info_data['secure']['unlock_sequence']) + + info_data['secure']['unlock_sequence'] = unlock_array + + def _extract_split_main(info_data, config_c): """Populate data about the split configuration """ @@ -466,6 +499,7 @@ def _extract_config_h(info_data, config_c): # Pull data that easily can't be mapped in json _extract_matrix_info(info_data, config_c) _extract_audio(info_data, config_c) + _extract_secure_unlock(info_data, config_c) _extract_split_main(info_data, config_c) _extract_split_transport(info_data, config_c) _extract_split_right_pins(info_data, config_c) diff --git a/quantum/keyboard.c b/quantum/keyboard.c index fc8a2fe8e391..63236f0b20bb 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -562,6 +562,10 @@ void quantum_task(void) { #ifdef AUTO_SHIFT_ENABLE autoshift_matrix_scan(); #endif + +#ifdef SECURE_ENABLE + secure_task(); +#endif } /** \brief Keyboard task: Do keyboard routine jobs diff --git a/quantum/process_keycode/process_secure.c b/quantum/process_keycode/process_secure.c new file mode 100644 index 000000000000..827ace597a8c --- /dev/null +++ b/quantum/process_keycode/process_secure.c @@ -0,0 +1,39 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "secure.h" +#include "process_secure.h" +#include "quantum_keycodes.h" + +bool preprocess_secure(uint16_t keycode, keyrecord_t *record) { + if (secure_is_unlocking()) { + if (!record->event.pressed) { + secure_keypress_event(record->event.key.row, record->event.key.col); + } + + // Normal keypresses should be disabled until the sequence is completed + return false; + } + + return true; +} + +bool process_secure(uint16_t keycode, keyrecord_t *record) { +#ifndef SECURE_DISABLE_KEYCODES + if (!record->event.pressed) { + if (keycode == SECURE_LOCK) { + secure_lock(); + return false; + } + if (keycode == SECURE_UNLOCK) { + secure_unlock(); + return false; + } + if (keycode == SECURE_TOGGLE) { + secure_is_locked() ? secure_unlock() : secure_lock(); + return false; + } + } +#endif + return true; +} \ No newline at end of file diff --git a/quantum/process_keycode/process_secure.h b/quantum/process_keycode/process_secure.h new file mode 100644 index 000000000000..2814264b92f5 --- /dev/null +++ b/quantum/process_keycode/process_secure.h @@ -0,0 +1,15 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include "action.h" + +/** \brief Intercept keycodes and detect unlock sequences + */ +bool preprocess_secure(uint16_t keycode, keyrecord_t *record); + +/** \brief Handle any secure specific keycodes + */ +bool process_secure(uint16_t keycode, keyrecord_t *record); diff --git a/quantum/quantum.c b/quantum/quantum.c index d4e91ddd37fb..673ea91b11f9 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -212,6 +212,12 @@ bool process_record_quantum(keyrecord_t *record) { // return false; // } +#if defined(SECURE_ENABLE) + if (!preprocess_secure(keycode, record)) { + return false; + } +#endif + #ifdef VELOCIKEY_ENABLE if (velocikey_enabled() && record->event.pressed) { velocikey_accelerate(); @@ -247,6 +253,9 @@ bool process_record_quantum(keyrecord_t *record) { process_record_via(keycode, record) && #endif process_record_kb(keycode, record) && +#if defined(SECURE_ENABLE) + process_secure(keycode, record) && +#endif #if defined(SEQUENCER_ENABLE) process_sequencer(keycode, record) && #endif diff --git a/quantum/quantum.h b/quantum/quantum.h index 9ce3c1f5d62d..d021e7c05c12 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -200,6 +200,11 @@ extern layer_state_t layer_state; # include "process_dynamic_macro.h" #endif +#ifdef SECURE_ENABLE +# include "secure.h" +# include "process_secure.h" +#endif + #ifdef DYNAMIC_KEYMAP_ENABLE # include "dynamic_keymap.h" #endif diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index dacfe5bdcd27..c7b4ea593feb 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -597,6 +597,10 @@ enum quantum_keycodes { QK_MAKE, + SECURE_LOCK, + SECURE_UNLOCK, + SECURE_TOGGLE, + // Start of custom keycode range for keyboards and keymaps - always leave at the end SAFE_RANGE }; diff --git a/quantum/secure.c b/quantum/secure.c new file mode 100644 index 000000000000..00048bd6dd55 --- /dev/null +++ b/quantum/secure.c @@ -0,0 +1,87 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "secure.h" +#include "timer.h" + +#ifndef SECURE_UNLOCK_TIMEOUT +# define SECURE_UNLOCK_TIMEOUT 5000 +#endif + +#ifndef SECURE_IDLE_TIMEOUT +# define SECURE_IDLE_TIMEOUT 60000 +#endif + +#ifndef SECURE_UNLOCK_SEQUENCE +# define SECURE_UNLOCK_SEQUENCE \ + { \ + { 0, 0 } \ + } +#endif + +static secure_status_t secure_status = SECURE_LOCKED; +static uint32_t unlock_time = 0; +static uint32_t idle_time = 0; + +secure_status_t secure_get_status(void) { + return secure_status; +} + +void secure_lock(void) { + secure_status = SECURE_LOCKED; +} + +void secure_unlock(void) { + secure_status = SECURE_UNLOCKED; + idle_time = timer_read32(); +} + +void secure_request_unlock(void) { + if (secure_status == SECURE_LOCKED) { + secure_status = SECURE_PENDING; + unlock_time = timer_read32(); + } +} + +void secure_activity_event(void) { + if (secure_status == SECURE_UNLOCKED) { + idle_time = timer_read32(); + } +} + +void secure_keypress_event(uint8_t row, uint8_t col) { + static const uint8_t sequence[][2] = SECURE_UNLOCK_SEQUENCE; + static const uint8_t sequence_len = sizeof(sequence) / sizeof(sequence[0]); + + static uint8_t offset = 0; + if ((sequence[offset][0] == row) && (sequence[offset][1] == col)) { + offset++; + if (offset == sequence_len) { + offset = 0; + secure_unlock(); + } + } else { + offset = 0; + secure_lock(); + } +} + +void secure_task(void) { +#if SECURE_UNLOCK_TIMEOUT != 0 + // handle unlock timeout + if (secure_status == SECURE_PENDING) { + if (timer_elapsed32(unlock_time) >= SECURE_UNLOCK_TIMEOUT) { + secure_lock(); + } + } +#endif + +#if SECURE_IDLE_TIMEOUT != 0 + // handle idle timeout + if (secure_status == SECURE_UNLOCKED) { + if (timer_elapsed32(idle_time) >= SECURE_IDLE_TIMEOUT) { + secure_lock(); + } + } +#endif +} diff --git a/quantum/secure.h b/quantum/secure.h new file mode 100644 index 000000000000..04507fd5b139 --- /dev/null +++ b/quantum/secure.h @@ -0,0 +1,67 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/** \file + * + * Exposes a set of functionality to act as a virtual padlock for your device + * ... As long as that padlock is made of paper and its currently raining. + */ + +#include +#include + +/** \brief Available secure states + */ +typedef enum { + SECURE_LOCKED, + SECURE_PENDING, + SECURE_UNLOCKED, +} secure_status_t; + +/** \brief Query current secure state + */ +secure_status_t secure_get_status(void); + +/** \brief Helper to check if unlocking is currently locked + */ +#define secure_is_locked() (secure_get_status() == SECURE_LOCKED) + +/** \brief Helper to check if unlocking is currently in progress + */ +#define secure_is_unlocking() (secure_get_status() == SECURE_PENDING) + +/** \brief Helper to check if unlocking is currently unlocked + */ +#define secure_is_unlocked() (secure_get_status() == SECURE_UNLOCKED) + +/** \brief Lock down the device + */ +void secure_lock(void); + +/** \brief Force unlock the device + * + * \warning bypasses user unlock sequence + */ +void secure_unlock(void); + +/** \brief Begin listening for an unlock sequence + */ +void secure_request_unlock(void); + +/** \brief Flag to the secure subsystem that user activity has happened + * + * Call when some user activity has happened and the device should remain unlocked + */ +void secure_activity_event(void); + +/** \brief Flag to the secure subsystem that user has triggered a keypress + * + * Call to trigger processing of the unlock sequence + */ +void secure_keypress_event(uint8_t row, uint8_t col); + +/** \brief Handle various secure subsystem background tasks + */ +void secure_task(void); From 7d75f88ac9c5532c45e4d2dcbe3bde8a1a0b065e Mon Sep 17 00:00:00 2001 From: X-Bows Tech <41098278+XBowsTech@users.noreply.github.com> Date: Sun, 17 Apr 2022 02:19:24 +0800 Subject: [PATCH 0528/1832] [Keyboard] Update X-Bows Keyboard (#16765) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Shulin --- keyboards/xbows/knight/config.h | 4 ++-- keyboards/xbows/knight/keymaps/via/rules.mk | 1 + keyboards/xbows/knight_plus/config.h | 4 ++-- keyboards/xbows/knight_plus/keymaps/via/rules.mk | 1 + keyboards/xbows/nature/config.h | 6 +++--- keyboards/xbows/nature/keymaps/via/rules.mk | 1 + keyboards/xbows/nature/rules.mk | 1 - keyboards/xbows/numpad/config.h | 4 ++-- keyboards/xbows/numpad/keymaps/via/rules.mk | 1 + keyboards/xbows/ranger/config.h | 4 ++-- keyboards/xbows/ranger/keymaps/via/rules.mk | 1 + 11 files changed, 16 insertions(+), 12 deletions(-) diff --git a/keyboards/xbows/knight/config.h b/keyboards/xbows/knight/config.h index be7b2bfe9f48..013bb4e7d429 100644 --- a/keyboards/xbows/knight/config.h +++ b/keyboards/xbows/knight/config.h @@ -17,8 +17,8 @@ #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1225 +#define VENDOR_ID 0x5842 +#define PRODUCT_ID 0x4B6E #define DEVICE_VER 0x0001 #define MANUFACTURER X-BOWS #define PRODUCT KNIGHT diff --git a/keyboards/xbows/knight/keymaps/via/rules.mk b/keyboards/xbows/knight/keymaps/via/rules.mk index 1e5b99807cb7..36b7ba9cbc98 100644 --- a/keyboards/xbows/knight/keymaps/via/rules.mk +++ b/keyboards/xbows/knight/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/xbows/knight_plus/config.h b/keyboards/xbows/knight_plus/config.h index e9e82c13dfc2..414b5a86b7c6 100644 --- a/keyboards/xbows/knight_plus/config.h +++ b/keyboards/xbows/knight_plus/config.h @@ -17,8 +17,8 @@ #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1227 +#define VENDOR_ID 0x5842 +#define PRODUCT_ID 0x4B50 #define DEVICE_VER 0x0001 #define MANUFACTURER X-BOWS #define PRODUCT KNIGHT_PLUS diff --git a/keyboards/xbows/knight_plus/keymaps/via/rules.mk b/keyboards/xbows/knight_plus/keymaps/via/rules.mk index 1e5b99807cb7..36b7ba9cbc98 100644 --- a/keyboards/xbows/knight_plus/keymaps/via/rules.mk +++ b/keyboards/xbows/knight_plus/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/xbows/nature/config.h b/keyboards/xbows/nature/config.h index 0fc0accb5909..d9d6a2753eb9 100644 --- a/keyboards/xbows/nature/config.h +++ b/keyboards/xbows/nature/config.h @@ -17,8 +17,8 @@ #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1226 +#define VENDOR_ID 0x5842 +#define PRODUCT_ID 0x4E61 #define DEVICE_VER 0x0001 #define MANUFACTURER X-BOWS #define PRODUCT NATURE @@ -35,7 +35,7 @@ # define RGB_MATRIX_LED_FLUSH_LIMIT 16 # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -// # define RGB_MATRIX_KEYPRESSES +# define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_MATRIX_CENTER \ { 92, 33 } diff --git a/keyboards/xbows/nature/keymaps/via/rules.mk b/keyboards/xbows/nature/keymaps/via/rules.mk index 1e5b99807cb7..36b7ba9cbc98 100644 --- a/keyboards/xbows/nature/keymaps/via/rules.mk +++ b/keyboards/xbows/nature/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/xbows/nature/rules.mk b/keyboards/xbows/nature/rules.mk index 5ff72e1df869..9dec74c970fe 100644 --- a/keyboards/xbows/nature/rules.mk +++ b/keyboards/xbows/nature/rules.mk @@ -16,6 +16,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -SLEEP_LED_ENABLE = yes RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = IS31FL3731 diff --git a/keyboards/xbows/numpad/config.h b/keyboards/xbows/numpad/config.h index 04604676bc1a..c36ee1a52c20 100644 --- a/keyboards/xbows/numpad/config.h +++ b/keyboards/xbows/numpad/config.h @@ -17,8 +17,8 @@ #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1228 +#define VENDOR_ID 0x5842 +#define PRODUCT_ID 0x4E75 #define DEVICE_VER 0x0001 #define MANUFACTURER X-BOWS #define PRODUCT NUMPAD diff --git a/keyboards/xbows/numpad/keymaps/via/rules.mk b/keyboards/xbows/numpad/keymaps/via/rules.mk index 1e5b99807cb7..36b7ba9cbc98 100644 --- a/keyboards/xbows/numpad/keymaps/via/rules.mk +++ b/keyboards/xbows/numpad/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/xbows/ranger/config.h b/keyboards/xbows/ranger/config.h index a7bcee7b4fc1..73a1bc3a7476 100644 --- a/keyboards/xbows/ranger/config.h +++ b/keyboards/xbows/ranger/config.h @@ -17,8 +17,8 @@ #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1229 +#define VENDOR_ID 0x5842 +#define PRODUCT_ID 0x5261 #define DEVICE_VER 0x0001 #define MANUFACTURER X-BOWS #define PRODUCT Ranger diff --git a/keyboards/xbows/ranger/keymaps/via/rules.mk b/keyboards/xbows/ranger/keymaps/via/rules.mk index 1e5b99807cb7..36b7ba9cbc98 100644 --- a/keyboards/xbows/ranger/keymaps/via/rules.mk +++ b/keyboards/xbows/ranger/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +LTO_ENABLE = yes From 8f585153c470b07bb0c529ff49b39ef45f68d37e Mon Sep 17 00:00:00 2001 From: Jouke Witteveen Date: Sat, 16 Apr 2022 20:24:09 +0200 Subject: [PATCH 0529/1832] Add GET_TAPPING_TERM macro to reduce duplicate code (#16681) * Add GET_TAPPING_TERM macro to reduce duplicate code The macro gives the right tapping term depending on whether per-key tapping terms and/or dynamic tapping terms are enabled. Unnecessary function calls and variable resolution are avoided. Fixes #16472. * Use GET_TAPPING_TERM for Cirque trackpads Co-authored-by: Stefan Kerkmann --- docs/tap_hold.md | 2 +- quantum/action_tapping.c | 23 ++++++++----------- quantum/action_tapping.h | 8 +++++++ quantum/pointing_device_drivers.c | 14 +++-------- quantum/process_keycode/process_auto_shift.c | 7 +----- quantum/process_keycode/process_space_cadet.c | 7 +----- quantum/process_keycode/process_tap_dance.c | 6 +---- 7 files changed, 24 insertions(+), 43 deletions(-) diff --git a/docs/tap_hold.md b/docs/tap_hold.md index 39fa84a9f34e..601aef0493e0 100644 --- a/docs/tap_hold.md +++ b/docs/tap_hold.md @@ -112,7 +112,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { } ``` -The reason being that `TAPPING_TERM` is a macro that expands to a constant integer and thus cannot be changed at runtime whereas `g_tapping_term` is a variable whose value can be changed at runtime. If you want, you can temporarily enable `DYNAMIC_TAPPING_TERM_ENABLE` to find a suitable tapping term value and then disable that feature and revert back to using the classic syntax for per-key tapping term settings. +The reason being that `TAPPING_TERM` is a macro that expands to a constant integer and thus cannot be changed at runtime whereas `g_tapping_term` is a variable whose value can be changed at runtime. If you want, you can temporarily enable `DYNAMIC_TAPPING_TERM_ENABLE` to find a suitable tapping term value and then disable that feature and revert back to using the classic syntax for per-key tapping term settings. In case you need to access the tapping term from elsewhere in your code, you can use the `GET_TAPPING_TERM(keycode, record)` macro. This macro will expand to whatever is the appropriate access pattern given the current configuration. ## Tap-Or-Hold Decision Modes diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c index e43661942897..3c8b5678b794 100644 --- a/quantum/action_tapping.c +++ b/quantum/action_tapping.c @@ -24,17 +24,20 @@ # else # define IS_TAPPING_RECORD(r) (IS_TAPPING() && KEYEQ(tapping_key.event.key, (r->event.key)) && tapping_key.keycode == r->keycode) # endif +# define WITHIN_TAPPING_TERM(e) (TIMER_DIFF_16(e.time, tapping_key.event.time) < GET_TAPPING_TERM(get_record_keycode(&tapping_key, false), &tapping_key)) +# ifdef DYNAMIC_TAPPING_TERM_ENABLE uint16_t g_tapping_term = TAPPING_TERM; +# endif +# ifdef TAPPING_TERM_PER_KEY __attribute__((weak)) uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { +# ifdef DYNAMIC_TAPPING_TERM_ENABLE return g_tapping_term; +# else + return TAPPING_TERM; +# endif } - -# ifdef TAPPING_TERM_PER_KEY -# define WITHIN_TAPPING_TERM(e) (TIMER_DIFF_16(e.time, tapping_key.event.time) < get_tapping_term(get_record_keycode(&tapping_key, false), &tapping_key)) -# else -# define WITHIN_TAPPING_TERM(e) (TIMER_DIFF_16(e.time, tapping_key.event.time) < g_tapping_term) # endif # ifdef TAPPING_FORCE_HOLD_PER_KEY @@ -165,15 +168,7 @@ bool process_tapping(keyrecord_t *keyp) { else if ( ( ( - ( -# ifdef TAPPING_TERM_PER_KEY - get_tapping_term(tapping_keycode, &tapping_key) -# else - g_tapping_term -# endif - >= 500 - ) - + GET_TAPPING_TERM(tapping_keycode, &tapping_key) >= 500 # ifdef PERMISSIVE_HOLD_PER_KEY || get_permissive_hold(tapping_keycode, &tapping_key) # elif defined(PERMISSIVE_HOLD) diff --git a/quantum/action_tapping.h b/quantum/action_tapping.h index b2feb6850ce5..9b64c9312004 100644 --- a/quantum/action_tapping.h +++ b/quantum/action_tapping.h @@ -44,3 +44,11 @@ bool get_retro_tapping(uint16_t keycode, keyrecord_t *record); #ifdef DYNAMIC_TAPPING_TERM_ENABLE extern uint16_t g_tapping_term; #endif + +#ifdef TAPPING_TERM_PER_KEY +# define GET_TAPPING_TERM(keycode, record) get_tapping_term(keycode, record) +#elif defined(DYNAMIC_TAPPING_TERM_ENABLE) +# define GET_TAPPING_TERM(keycode, record) g_tapping_term +#else +# define GET_TAPPING_TERM(keycode, record) (TAPPING_TERM) +#endif diff --git a/quantum/pointing_device_drivers.c b/quantum/pointing_device_drivers.c index b8ef6e67e58a..11cbf6594e26 100644 --- a/quantum/pointing_device_drivers.c +++ b/quantum/pointing_device_drivers.c @@ -98,17 +98,9 @@ const pointing_device_driver_t pointing_device_driver = { // clang-format on #elif defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_i2c) || defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_spi) # ifndef CIRQUE_PINNACLE_TAPPING_TERM -# ifdef TAPPING_TERM_PER_KEY -# include "action.h" -# include "action_tapping.h" -# define CIRQUE_PINNACLE_TAPPING_TERM get_tapping_term(KC_BTN1, &(keyrecord_t){}) -# else -# ifdef TAPPING_TERM -# define CIRQUE_PINNACLE_TAPPING_TERM TAPPING_TERM -# else -# define CIRQUE_PINNACLE_TAPPING_TERM 200 -# endif -# endif +# include "action.h" +# include "action_tapping.h" +# define CIRQUE_PINNACLE_TAPPING_TERM GET_TAPPING_TERM(KC_BTN1, &(keyrecord_t){}) # endif # ifndef CIRQUE_PINNACLE_TOUCH_DEBOUNCE # define CIRQUE_PINNACLE_TOUCH_DEBOUNCE (CIRQUE_PINNACLE_TAPPING_TERM * 8) diff --git a/quantum/process_keycode/process_auto_shift.c b/quantum/process_keycode/process_auto_shift.c index 2150edd7b284..e6a7c01f2ae3 100644 --- a/quantum/process_keycode/process_auto_shift.c +++ b/quantum/process_keycode/process_auto_shift.c @@ -182,12 +182,7 @@ static bool autoshift_press(uint16_t keycode, uint16_t now, keyrecord_t *record) # endif ) && # endif - TIMER_DIFF_16(now, autoshift_time) < -# ifdef TAPPING_TERM_PER_KEY - get_tapping_term(autoshift_lastkey, record) -# else - TAPPING_TERM -# endif + TIMER_DIFF_16(now, autoshift_time) < GET_TAPPING_TERM(autoshift_lastkey, record) ) { // clang-format on // Allow a tap-then-hold for keyrepeat. diff --git a/quantum/process_keycode/process_space_cadet.c b/quantum/process_keycode/process_space_cadet.c index 46b2648c35e7..0997e7b7f3b8 100644 --- a/quantum/process_keycode/process_space_cadet.c +++ b/quantum/process_keycode/process_space_cadet.c @@ -93,12 +93,7 @@ void perform_space_cadet(keyrecord_t *record, uint16_t sc_keycode, uint8_t holdM register_mods(MOD_BIT(holdMod)); } } else { -#ifdef TAPPING_TERM_PER_KEY - if (sc_last == holdMod && timer_elapsed(sc_timer) < get_tapping_term(sc_keycode, record)) -#else - if (sc_last == holdMod && timer_elapsed(sc_timer) < TAPPING_TERM) -#endif - { + if (sc_last == holdMod && timer_elapsed(sc_timer) < GET_TAPPING_TERM(sc_keycode, record)) { if (holdMod != tapMod) { if (IS_MOD(holdMod)) { unregister_mods(MOD_BIT(holdMod)); diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c index e99119b2aee2..db8df5f87054 100644 --- a/quantum/process_keycode/process_tap_dance.c +++ b/quantum/process_keycode/process_tap_dance.c @@ -174,11 +174,7 @@ void tap_dance_task() { if (action->custom_tapping_term > 0) { tap_user_defined = action->custom_tapping_term; } else { -#ifdef TAPPING_TERM_PER_KEY - tap_user_defined = get_tapping_term(action->state.keycode, &(keyrecord_t){}); -#else - tap_user_defined = TAPPING_TERM; -#endif + tap_user_defined = GET_TAPPING_TERM(action->state.keycode, &(keyrecord_t){}); } if (action->state.count && timer_elapsed(action->state.timer) > tap_user_defined) { process_tap_dance_action_on_dance_finished(action); From 6d13199ed0e6502f91719d528f86b03ce7f6acae Mon Sep 17 00:00:00 2001 From: Amber Cronin Date: Sat, 16 Apr 2022 19:27:51 +0100 Subject: [PATCH 0530/1832] Fix Xorg segfault with KeebCats PCBs (#16434) --- keyboards/cutie_club/keebcats/denis/config.h | 2 +- keyboards/cutie_club/keebcats/dougal/config.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/cutie_club/keebcats/denis/config.h b/keyboards/cutie_club/keebcats/denis/config.h index 473b6906346a..f7c21efe5e61 100644 --- a/keyboards/cutie_club/keebcats/denis/config.h +++ b/keyboards/cutie_club/keebcats/denis/config.h @@ -23,7 +23,7 @@ #define PRODUCT_ID 0xB260 #define DEVICE_VER 0x0000 #define MANUFACTURER Cutie Club -#define PRODUCT Keebcats Denis 60% +#define PRODUCT Keebcats Denis 60 /* key matrix size */ #define MATRIX_ROWS 5 diff --git a/keyboards/cutie_club/keebcats/dougal/config.h b/keyboards/cutie_club/keebcats/dougal/config.h index 05160322c4ba..00d3f3a82da4 100644 --- a/keyboards/cutie_club/keebcats/dougal/config.h +++ b/keyboards/cutie_club/keebcats/dougal/config.h @@ -23,7 +23,7 @@ #define PRODUCT_ID 0xB265 #define DEVICE_VER 0x0000 #define MANUFACTURER Cutie Club -#define PRODUCT Keebcats Dougal 65% +#define PRODUCT Keebcats Dougal 65 /* key matrix size */ #define MATRIX_ROWS 5 From 3b6e48b012fa10e87e6cf1aa051cdcf353077a5a Mon Sep 17 00:00:00 2001 From: moyi4681 Date: Sat, 16 Apr 2022 11:28:16 -0700 Subject: [PATCH 0531/1832] [Keyboard] Add Phase One keyboard (#16430) Co-authored-by: Ryan --- keyboards/kbdfans/phaseone/config.h | 62 +++++++++++++++++++ .../kbdfans/phaseone/keymaps/default/keymap.c | 47 ++++++++++++++ .../kbdfans/phaseone/keymaps/via/keymap.c | 47 ++++++++++++++ .../kbdfans/phaseone/keymaps/via/rules.mk | 2 + keyboards/kbdfans/phaseone/phaseone.c | 20 ++++++ keyboards/kbdfans/phaseone/phaseone.h | 60 ++++++++++++++++++ keyboards/kbdfans/phaseone/readme.md | 21 +++++++ keyboards/kbdfans/phaseone/rules.mk | 18 ++++++ 8 files changed, 277 insertions(+) create mode 100644 keyboards/kbdfans/phaseone/config.h create mode 100644 keyboards/kbdfans/phaseone/keymaps/default/keymap.c create mode 100644 keyboards/kbdfans/phaseone/keymaps/via/keymap.c create mode 100644 keyboards/kbdfans/phaseone/keymaps/via/rules.mk create mode 100644 keyboards/kbdfans/phaseone/phaseone.c create mode 100644 keyboards/kbdfans/phaseone/phaseone.h create mode 100644 keyboards/kbdfans/phaseone/readme.md create mode 100644 keyboards/kbdfans/phaseone/rules.mk diff --git a/keyboards/kbdfans/phaseone/config.h b/keyboards/kbdfans/phaseone/config.h new file mode 100644 index 000000000000..42fcdedc6a45 --- /dev/null +++ b/keyboards/kbdfans/phaseone/config.h @@ -0,0 +1,62 @@ +/* Copyright 2022 Dztech + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#include "config_common.h" +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4B42 +#define PRODUCT_ID 0x0103 +#define DEVICE_VER 0x0001 +#define MANUFACTURER KBDFans +#define PRODUCT phaseone +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 +#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 } +#define MATRIX_COL_PINS { B5, C6, C7, F7, F6, F5, F4, F1, E6, B7, D0, D1, D2, D3, D5 } +#define UNUSED_PINS +#define LED_NUM_LOCK_PIN D7 +#define LED_CAPS_LOCK_PIN D6 +#define LED_PIN_ON_STATE 0 +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE +#define RGB_DI_PIN B6 +#ifdef RGB_DI_PIN +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6) +#define RGBLIGHT_DEFAULT_SPD 15 +#define RGBLED_NUM 4 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 10 +#define RGBLIGHT_VAL_STEP 10 +#define RGBLIGHT_SLEEP +#endif +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 \ No newline at end of file diff --git a/keyboards/kbdfans/phaseone/keymaps/default/keymap.c b/keyboards/kbdfans/phaseone/keymaps/default/keymap.c new file mode 100644 index 000000000000..a74be0ce503b --- /dev/null +++ b/keyboards/kbdfans/phaseone/keymaps/default/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2022 Dztech + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT +), +[1] = LAYOUT_all( + 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, KC_DEL, KC_MUTE, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END +), +[2] = LAYOUT_all( + 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, KC_DEL, KC_MUTE, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END +), +[3] = LAYOUT_all( + 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, KC_DEL, KC_MUTE, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END +) +}; diff --git a/keyboards/kbdfans/phaseone/keymaps/via/keymap.c b/keyboards/kbdfans/phaseone/keymaps/via/keymap.c new file mode 100644 index 000000000000..a74be0ce503b --- /dev/null +++ b/keyboards/kbdfans/phaseone/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2022 Dztech + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( + 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_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT +), +[1] = LAYOUT_all( + 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, KC_DEL, KC_MUTE, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END +), +[2] = LAYOUT_all( + 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, KC_DEL, KC_MUTE, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END +), +[3] = LAYOUT_all( + 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, KC_DEL, KC_MUTE, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END +) +}; diff --git a/keyboards/kbdfans/phaseone/keymaps/via/rules.mk b/keyboards/kbdfans/phaseone/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/kbdfans/phaseone/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/kbdfans/phaseone/phaseone.c b/keyboards/kbdfans/phaseone/phaseone.c new file mode 100644 index 000000000000..f83d14c1b322 --- /dev/null +++ b/keyboards/kbdfans/phaseone/phaseone.c @@ -0,0 +1,20 @@ +/* Copyright 2022 Dztech + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "phaseone.h" +void keyboard_pre_init_kb(void) { + setPinOutput(D4); +} diff --git a/keyboards/kbdfans/phaseone/phaseone.h b/keyboards/kbdfans/phaseone/phaseone.h new file mode 100644 index 000000000000..28a176a059e6 --- /dev/null +++ b/keyboards/kbdfans/phaseone/phaseone.h @@ -0,0 +1,60 @@ +/* Copyright 2022 Dztech + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2C, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E}, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E}, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E}, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E}, \ +} + +#define LAYOUT_65_ansi_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E}, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E}, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E}, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E}, \ +} + +#define LAYOUT_65_ansi_wkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K42, K46, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E}, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E}, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E}, \ + { K40, KC_NO, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, KC_NO, K4B, K4C, K4D, K4E}, \ +} diff --git a/keyboards/kbdfans/phaseone/readme.md b/keyboards/kbdfans/phaseone/readme.md new file mode 100644 index 000000000000..b5b21da672d0 --- /dev/null +++ b/keyboards/kbdfans/phaseone/readme.md @@ -0,0 +1,21 @@ +# PHASEONE + +A 65% keyboard, include 3 layouts: WK HOTSWAP; WKL HOTSWAP and SOLDERED. + +* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) +* Hardware Supported: KBDFANS PHASEONE +* Hardware Availability: [KBDfans](https://kbdfans.com/) + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +Make example for this keyboard (after setting up your build environment): + + make kbdfans/phaseone:default + +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/phaseone/rules.mk b/keyboards/kbdfans/phaseone/rules.mk new file mode 100644 index 000000000000..b5761555d400 --- /dev/null +++ b/keyboards/kbdfans/phaseone/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From e5918cf968f3e2c4a62858ee789748443ba58d10 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sun, 17 Apr 2022 02:34:07 +0800 Subject: [PATCH 0532/1832] Heatmap incorrect matrix effect workaround (#16315) --- docs/feature_rgb_matrix.md | 13 +++++++------ quantum/rgb_matrix/animations/typing_heatmap_anim.h | 5 +++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index a8793be328e9..b2fc61e51e12 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -657,18 +657,19 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi ### RGB Matrix Effect Typing Heatmap :id=rgb-matrix-effect-typing-heatmap -This effect will color the RGB matrix according to a heatmap of recently pressed -keys. Whenever a key is pressed its "temperature" increases as well as that of -its neighboring keys. The temperature of each key is then decreased -automatically every 25 milliseconds by default. +This effect will color the RGB matrix according to a heatmap of recently pressed keys. Whenever a key is pressed its "temperature" increases as well as that of its neighboring keys. The temperature of each key is then decreased automatically every 25 milliseconds by default. -In order to change the delay of temperature decrease define -`RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS`: +In order to change the delay of temperature decrease define `RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS`: ```c #define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50 ``` +Heatmap effect may not light up the correct adjacent LEDs for certain key matrix layout such as split keyboards. The following define will limit the effect to pressed keys only: +```c +#define RGB_MATRIX_TYPING_HEATMAP_SLIM +``` + ## Custom RGB Matrix Effects :id=custom-rgb-matrix-effects By setting `RGB_MATRIX_CUSTOM_USER = yes` in `rules.mk`, new effects can be defined directly from your keymap or userspace, without having to edit any QMK core files. To declare new effects, create a `rgb_matrix_user.inc` file in the user keymap directory or userspace folder. diff --git a/quantum/rgb_matrix/animations/typing_heatmap_anim.h b/quantum/rgb_matrix/animations/typing_heatmap_anim.h index f3a94280c068..4b17c4c3edc4 100644 --- a/quantum/rgb_matrix/animations/typing_heatmap_anim.h +++ b/quantum/rgb_matrix/animations/typing_heatmap_anim.h @@ -7,6 +7,10 @@ RGB_MATRIX_EFFECT(TYPING_HEATMAP) # endif void process_rgb_matrix_typing_heatmap(uint8_t row, uint8_t col) { +# ifdef RGB_MATRIX_TYPING_HEATMAP_SLIM + // Limit effect to pressed keys + g_rgb_frame_buffer[row][col] = qadd8(g_rgb_frame_buffer[row][col], 32); +# else uint8_t m_row = row - 1; uint8_t p_row = row + 1; uint8_t m_col = col - 1; @@ -27,6 +31,7 @@ void process_rgb_matrix_typing_heatmap(uint8_t row, uint8_t col) { g_rgb_frame_buffer[m_row][col] = qadd8(g_rgb_frame_buffer[m_row][col], 16); if (p_col < MATRIX_COLS) g_rgb_frame_buffer[m_row][p_col] = qadd8(g_rgb_frame_buffer[m_row][p_col], 13); } +# endif } // A timer to track the last time we decremented all heatmap values. From 5841c755ae0b5629deb4c139eb535a82437112a2 Mon Sep 17 00:00:00 2001 From: Simon Arlott <70171+nomis@users.noreply.github.com> Date: Sat, 16 Apr 2022 23:02:32 +0100 Subject: [PATCH 0533/1832] rgblight: Add functions to stop blinking one or all but one layer (#16859) --- docs/feature_rgblight.md | 13 +++++++++++++ quantum/rgblight/rgblight.c | 15 +++++++++++++++ quantum/rgblight/rgblight.h | 20 +++++++++++++++++++- 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index 08e820c0a638..11d4f8995014 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -326,6 +326,19 @@ void post_process_record_user(uint16_t keycode, keyrecord_t *record) { ``` would turn the layer 0 (or 1) on and off again three times when `DEBUG` is pressed. +Blinking accumulates layers so if multiple layers are set blinking at the same time they will all blink for the duration and repeat times of the last layer to be blinked. +To stop these other layers from blinking use `rgblight_unblink_layer` or `rgblight_unblink_all_but_layer`: + +```c +rgblight_blink_layer(1, 500); +rgblight_unblink_all_but_layer(1); +``` + +```c +rgblight_unblink_layer(3); +rgblight_blink_layer(2, 500); +``` + !> Lighting layers on split keyboards will require layer state synced to the slave half (e.g. `#define SPLIT_LAYER_STATE_ENABLE`). See [data sync options](feature_split_keyboard.md#data-sync-options) for more details. ### Overriding RGB Lighting on/off status diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index f4ddb81e9232..1f8b68ee5921 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -826,6 +826,21 @@ void rgblight_blink_layer_repeat(uint8_t layer, uint16_t duration_ms, uint8_t ti _repeat_timer = sync_timer_read() + duration_ms; } +void rgblight_unblink_layer(uint8_t layer) { + rgblight_set_layer_state(layer, false); + _blinking_layer_mask &= ~((rgblight_layer_mask_t)1 << layer); +} + +void rgblight_unblink_all_but_layer(uint8_t layer) { + for (uint8_t i = 0; i < RGBLIGHT_MAX_LAYERS; i++) { + if (i != layer) { + if ((_blinking_layer_mask & (rgblight_layer_mask_t)1 << i) != 0) { + rgblight_unblink_layer(i); + } + } + } +} + void rgblight_blink_layer_repeat_helper(void) { if (_blinking_layer_mask != 0 && timer_expired(sync_timer_read(), _repeat_timer)) { for (uint8_t layer = 0; layer < RGBLIGHT_MAX_LAYERS; layer++) { diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index 7076dc41ac8f..fdab0e987a0d 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -216,7 +216,25 @@ extern const rgblight_segment_t *const *rgblight_layers; # ifdef RGBLIGHT_LAYER_BLINK # define RGBLIGHT_USE_TIMER void rgblight_blink_layer(uint8_t layer, uint16_t duration_ms); -void rgblight_blink_layer_repeat(uint8_t layer, uint16_t duration_ms, uint8_t times); +void rgblight_blink_layer_repeat(uint8_t layer, uint16_ duration_ms, uint8_t times); +/** + * \brief Stop blinking on one layer. + * + * Stop a layer that is blinking. If the layer is not blinking it will + * be unaffected. + * + * \param layer Layer number to stop blinking. + */ +void rgblight_unblink_layer(uint8_t layer); +/** + * \brief Stop blinking all layers except one. + * + * Stop all layers that are blinking except for one specific layer. + * Layers that are not blinking are unaffected. + * + * \param layer Layer number to keep blinking. + */ +void rgblight_unblink_all_but_layer(uint8_t layer); # endif #endif From 147e57fd5930a1c18596a2401c9ee6f30730b86f Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Sun, 17 Apr 2022 00:30:51 +0200 Subject: [PATCH 0534/1832] [QP] Check BPP capabilities before loading the palette (#16863) --- quantum/painter/qp_draw_image.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/quantum/painter/qp_draw_image.c b/quantum/painter/qp_draw_image.c index 5134ae7e99ae..5822758dce92 100644 --- a/quantum/painter/qp_draw_image.c +++ b/quantum/painter/qp_draw_image.c @@ -131,6 +131,12 @@ static bool qp_drawimage_prepare_frame_for_stream_read(painter_device_t device, // Ensure we aren't reusing any palette qp_internal_invalidate_palette(); + if (!qp_internal_bpp_capable(info->bpp)) { + qp_dprintf("qp_drawimage_recolor: fail (image bpp too high (%d), check QUANTUM_PAINTER_SUPPORTS_256_PALETTE)\n", (int)info->bpp); + qp_comms_stop(device); + return false; + } + // Handle palette if needed const uint16_t palette_entries = 1u << info->bpp; bool needs_pixconvert = false; @@ -146,12 +152,6 @@ static bool qp_drawimage_prepare_frame_for_stream_read(painter_device_t device, needs_pixconvert = qp_internal_interpolate_palette(fg_hsv888, bg_hsv888, palette_entries); } - if (!qp_internal_bpp_capable(info->bpp)) { - qp_dprintf("qp_drawimage_recolor: fail (image bpp too high (%d), check QUANTUM_PAINTER_SUPPORTS_256_PALETTE)\n", (int)info->bpp); - qp_comms_stop(device); - return false; - } - if (needs_pixconvert) { // Convert the palette to native format if (!driver->driver_vtable->palette_convert(device, palette_entries, qp_internal_global_pixel_lookup_table)) { From df95495d5b63494d168305d4dd2b01dbbcdfbc80 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sun, 17 Apr 2022 09:09:37 +1000 Subject: [PATCH 0535/1832] Fix #16859. (#16865) --- quantum/rgblight/rgblight.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index fdab0e987a0d..189c4d18b8ee 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -216,7 +216,7 @@ extern const rgblight_segment_t *const *rgblight_layers; # ifdef RGBLIGHT_LAYER_BLINK # define RGBLIGHT_USE_TIMER void rgblight_blink_layer(uint8_t layer, uint16_t duration_ms); -void rgblight_blink_layer_repeat(uint8_t layer, uint16_ duration_ms, uint8_t times); +void rgblight_blink_layer_repeat(uint8_t layer, uint16_t duration_ms, uint8_t times); /** * \brief Stop blinking on one layer. * From a5a4597311313f6395bee279f3c00c3784a33bd7 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sun, 17 Apr 2022 08:36:07 +0800 Subject: [PATCH 0536/1832] Refine LED indicator documentation (#16304) --- docs/feature_led_indicators.md | 46 ++++++++++++++++------------------ 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/docs/feature_led_indicators.md b/docs/feature_led_indicators.md index 95d1cd475216..a2a2e17c6f1d 100644 --- a/docs/feature_led_indicators.md +++ b/docs/feature_led_indicators.md @@ -11,13 +11,13 @@ QMK provides methods to read 5 of the LEDs defined in the HID spec: * Kana There are three ways to get the lock LED state: -* by specifying configuration options within `config.h` -* by implementing `bool led_update_kb(led_t led_state)` or `_user(led_t led_state)`; or -* by calling `led_t host_keyboard_led_state()` +* Configuration options in `config.h` +* Implement `led_update_*` function +* Call `led_t host_keyboard_led_state()` -!> `host_keyboard_led_state()` may already reflect a new value before `led_update_user()` is called. +!> The `host_keyboard_led_state()` may reflect an updated state before `led_update_user()` is called. -Two more deprecated functions exist that provide the LED state as a `uint8_t`: +Two deprecated functions that provide the LED state as `uint8_t`: * `uint8_t led_set_kb(uint8_t usb_led)` and `_user(uint8_t usb_led)` * `uint8_t host_keyboard_leds()` @@ -37,23 +37,20 @@ To configure the indicators, `#define` these in your `config.h`: Unless you are designing your own keyboard, you generally should not need to change the above config options. -## `led_update_*()` +## LED update function -When the configuration options do not provide enough flexibility, the API hooks provided allow custom control of the LED behavior. These functions will be called when the state of one of those 5 LEDs changes. It receives the LED state as a struct parameter. +When the configuration options do not provide enough flexibility, the following callbacks allow custom control of the LED behavior. These functions will be called when one of those 5 LEDs changes state: -By convention, return `true` from `led_update_user()` to get the `led_update_kb()` hook to run its code, and -return `false` when you would prefer not to run the code in `led_update_kb()`. +* Keyboard/revision: `bool led_update_kb(led_t led_state)` +* Keymap: `bool led_update_user(led_t led_state)` -Some examples include: +Both receives LED state as a struct parameter. Returning `true` in `led_update_user()` will allow the keyboard level code in `led_update_kb()` to run as well. Returning `false` will override the keyboard level code, depending on how the keyboard level function is set up. - - overriding the LEDs to use them for something else like layer indication - - return `false` because you do not want the `_kb()` function to run, as it would override your layer behavior. - - play a sound when an LED turns on or off. - - return `true` because you want the `_kb` function to run, and this is in addition to the default LED behavior. +?> This boolean return type of `led_update_user` allows for overriding keyboard LED controls, and is thus recommended over the void `led_set_user` function. -?> Because the `led_set_*` functions return `void` instead of `bool`, they do not allow for overriding the keyboard LED control, and thus it's recommended to use `led_update_*` instead. +### Example of keyboard LED update implementation -### Example `led_update_kb()` Implementation +This is a template indicator function that can be implemented on keyboard level code: ```c bool led_update_kb(led_t led_state) { @@ -74,9 +71,9 @@ bool led_update_kb(led_t led_state) { } ``` -### Example `led_update_user()` Implementation +### Example of user LED update implementation -This incomplete example would play a sound if Caps Lock is turned on or off. It returns `true`, because you also want the LEDs to maintain their state. +This is an incomplete example will play a sound if Caps Lock is turned on or off. It returns `true` to allow keyboard LED function to maintain their state. ```c #ifdef AUDIO_ENABLE @@ -96,18 +93,17 @@ bool led_update_user(led_t led_state) { } ``` -### `led_update_*` Function Documentation - -* Keyboard/Revision: `bool led_update_kb(led_t led_state)` -* Keymap: `bool led_update_user(led_t led_state)` +## Host keyboard LED state -## `host_keyboard_led_state()` +The `host_keyboard_led_state()` function will report the LED state returned from the host computer as `led_t`. This is useful for reading the LED state outside `led_update_*`. For example, you can get the boolean state of Caps Lock from the host with: -Call this function to get the last received LED state as a `led_t`. This is useful for reading the LED state outside `led_update_*`, e.g. in [`matrix_scan_user()`](#matrix-scanning-code). +```c +bool caps = host_keyboard_led_state().caps_lock; +``` ## Setting Physical LED State -Some keyboard implementations provide convenience methods for setting the state of the physical LEDs. +Some keyboard implementations provide convenient methods for setting the state of the physical LEDs. ### Ergodox Boards From 7d60a141a25526d94bb28015eb08bbe27c0a88cd Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 17 Apr 2022 12:53:59 -0700 Subject: [PATCH 0537/1832] Anne Pro 2 Refactor (#16864) * move RGB Matrix rules to keyboard level * move PERMISSIVE_HOLD config to keyboard level * annepro2.c: convert tabs to spaces * refactor rules.mk files Reformats each version's `rules.mk` file to be arranged more similarly to those of the rest of the keyboards in QMK. No logic change. * annepro2.c: allow compilation without RGB Matrix Wraps the `led_enabled` definition and the `KC_AP_RGB_*` keycodes in `#ifdef RGB_MATRIX_ENABLE`, allowing successful compilation if the user sets `RGB_MATRIX_ENABLE = no`. * rework readme files Reworks the main `readme.md` file to be more friendly to GitHub viewing, and removes the single-line version-specific readme files (exposes the main readme to QMK Configurator users). * info.json: update maintainer value * info.json: apply friendly formatting --- keyboards/annepro2/annepro2.c | 113 +++-- keyboards/annepro2/c15/config.h | 3 + keyboards/annepro2/c15/readme.md | 1 - keyboards/annepro2/c15/rules.mk | 52 ++- keyboards/annepro2/c18/config.h | 3 + keyboards/annepro2/c18/readme.md | 1 - keyboards/annepro2/c18/rules.mk | 52 ++- keyboards/annepro2/info.json | 386 +++--------------- .../keymaps/default-full-caps/config.h | 20 - .../keymaps/default-layer-indicators/config.h | 20 - keyboards/annepro2/keymaps/default/config.h | 20 - keyboards/annepro2/keymaps/default/rules.mk | 3 - keyboards/annepro2/readme.md | 40 +- 13 files changed, 211 insertions(+), 503 deletions(-) delete mode 100644 keyboards/annepro2/c15/readme.md delete mode 100644 keyboards/annepro2/c18/readme.md delete mode 100644 keyboards/annepro2/keymaps/default-full-caps/config.h delete mode 100644 keyboards/annepro2/keymaps/default-layer-indicators/config.h delete mode 100644 keyboards/annepro2/keymaps/default/config.h delete mode 100644 keyboards/annepro2/keymaps/default/rules.mk diff --git a/keyboards/annepro2/annepro2.c b/keyboards/annepro2/annepro2.c index ef18f8332933..d5639be3aea7 100644 --- a/keyboards/annepro2/annepro2.c +++ b/keyboards/annepro2/annepro2.c @@ -42,11 +42,10 @@ static const SerialConfig ble_uart_config = { static uint8_t led_mcu_wakeup[11] = {0x7b, 0x10, 0x43, 0x10, 0x03, 0x00, 0x00, 0x7d, 0x02, 0x01, 0x02}; -static uint8_t led_enabled = 1; - ble_capslock_t ble_capslock = {._dummy = {0}, .caps_lock = false}; #ifdef RGB_MATRIX_ENABLE +static uint8_t led_enabled = 1; static uint8_t current_rgb_row = 0; #endif @@ -227,69 +226,69 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if(rgb_matrix_is_enabled()) ap2_led_disable(); else ap2_led_enable(); return true; - #endif - + case KC_AP_RGB_VAI: - if (record->event.pressed) { - if (get_mods() & MOD_MASK_SHIFT) { - rgb_matrix_increase_hue(); - return false; - } else if (get_mods() & MOD_MASK_CTRL) { - rgb_matrix_decrease_hue(); - return false; - } else { - rgb_matrix_increase_val(); - } - } + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + rgb_matrix_increase_hue(); + return false; + } else if (get_mods() & MOD_MASK_CTRL) { + rgb_matrix_decrease_hue(); + return false; + } else { + rgb_matrix_increase_val(); + } + } return true; - + case KC_AP_RGB_VAD: - if (record->event.pressed) { - if (get_mods() & MOD_MASK_SHIFT) { - rgb_matrix_increase_sat(); - return false; - } else if (get_mods() & MOD_MASK_CTRL) { - rgb_matrix_decrease_sat(); - return false; - } else { - rgb_matrix_decrease_val(); - } - } + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + rgb_matrix_increase_sat(); + return false; + } else if (get_mods() & MOD_MASK_CTRL) { + rgb_matrix_decrease_sat(); + return false; + } else { + rgb_matrix_decrease_val(); + } + } return true; - + case KC_AP_RGB_TOG: - if (record->event.pressed) { - if (get_mods() & MOD_MASK_SHIFT) { - rgb_matrix_increase_speed(); - return false; - } else if (get_mods() & MOD_MASK_CTRL) { - rgb_matrix_decrease_speed(); - return false; - } else { - if (led_enabled) { - ap2_led_disable(); - rgb_matrix_disable(); - led_enabled = 0; - } else { - ap2_led_enable(); - rgb_matrix_enable(); - led_enabled = 1; - } - return true; - } - } + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + rgb_matrix_increase_speed(); + return false; + } else if (get_mods() & MOD_MASK_CTRL) { + rgb_matrix_decrease_speed(); + return false; + } else { + if (led_enabled) { + ap2_led_disable(); + rgb_matrix_disable(); + led_enabled = 0; + } else { + ap2_led_enable(); + rgb_matrix_enable(); + led_enabled = 1; + } + return true; + } + } return true; - + case KC_AP_RGB_MOD: - if (record->event.pressed) { - if (get_mods() & MOD_MASK_CTRL) { - rgb_matrix_step_reverse(); - return false; - } else { - rgb_matrix_step(); - } - } + if (record->event.pressed) { + if (get_mods() & MOD_MASK_CTRL) { + rgb_matrix_step_reverse(); + return false; + } else { + rgb_matrix_step(); + } + } return true; + #endif default: break; diff --git a/keyboards/annepro2/c15/config.h b/keyboards/annepro2/c15/config.h index 012b412dc975..ff92aeea8e61 100644 --- a/keyboards/annepro2/c15/config.h +++ b/keyboards/annepro2/c15/config.h @@ -46,3 +46,6 @@ #define MATRIX_COL_PINS \ { C4, C5, B10, B11, C0, A15, A8, A10, A11, A12, A13, A14, B2, B3 } + +// Obins stock firmware has something similar to this already enabled, but disabled by default in QMK +#define PERMISSIVE_HOLD diff --git a/keyboards/annepro2/c15/readme.md b/keyboards/annepro2/c15/readme.md deleted file mode 100644 index 5fadb7390951..000000000000 --- a/keyboards/annepro2/c15/readme.md +++ /dev/null @@ -1 +0,0 @@ -AnnePro2, ANSI C15 version. diff --git a/keyboards/annepro2/c15/rules.mk b/keyboards/annepro2/c15/rules.mk index 5cef8b8a87ca..2c518b633905 100644 --- a/keyboards/annepro2/c15/rules.mk +++ b/keyboards/annepro2/c15/rules.mk @@ -1,12 +1,3 @@ -# Anne Pro 2 -SRC = \ - matrix.c \ - annepro2_ble.c \ - ap2_led.c \ - protocol.c \ - rgb_driver.c \ - config_led.c - # MCU MCU = cortex-m0plus ARMV = 6 @@ -18,23 +9,44 @@ MCU_STARTUP = ht32f523xx BOARD = ANNEPRO2_C15 -# Options +# Bootloader selection +BOOTLOADER = custom +PROGRAM_CMD = annepro2_tools --boot $(BUILD_DIR)/$(TARGET).bin + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# Custom RGB matrix handling +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = custom # Keys CUSTOM_MATRIX = lite -NKRO_ENABLE = no -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = yes KEY_LOCK_ENABLE = no -LAYOUTS = 60_ansi -# Other featues -BOOTMAGIC_ENABLE = no -CONSOLE_ENABLE = no -COMMAND_ENABLE = no +# Other features RAW_ENABLE = no MIDI_ENABLE = no VIRTSER_ENABLE = no COMBO_ENABLE = no -BOOTLOADER = custom -PROGRAM_CMD = annepro2_tools --boot $(BUILD_DIR)/$(TARGET).bin + +LAYOUTS = 60_ansi + +# Anne Pro 2 +SRC = \ + matrix.c \ + annepro2_ble.c \ + ap2_led.c \ + protocol.c \ + rgb_driver.c \ + config_led.c diff --git a/keyboards/annepro2/c18/config.h b/keyboards/annepro2/c18/config.h index 5887333f2ed8..82a406a157c0 100644 --- a/keyboards/annepro2/c18/config.h +++ b/keyboards/annepro2/c18/config.h @@ -44,3 +44,6 @@ // inputs (columns are sampled) #define MATRIX_COL_PINS \ { C4, C5, D0, B15, C11, A15, C12, C13, A8, A10, A11, A14, D2, D3 } + +// Obins stock firmware has something similar to this already enabled, but disabled by default in QMK +#define PERMISSIVE_HOLD diff --git a/keyboards/annepro2/c18/readme.md b/keyboards/annepro2/c18/readme.md deleted file mode 100644 index f2e2fc45b8f2..000000000000 --- a/keyboards/annepro2/c18/readme.md +++ /dev/null @@ -1 +0,0 @@ -AnnePro2, ANSI C18 version. diff --git a/keyboards/annepro2/c18/rules.mk b/keyboards/annepro2/c18/rules.mk index afc248dafaa9..60c2e08648c1 100644 --- a/keyboards/annepro2/c18/rules.mk +++ b/keyboards/annepro2/c18/rules.mk @@ -1,12 +1,3 @@ -# Anne Pro 2 -SRC = \ - matrix.c \ - annepro2_ble.c \ - ap2_led.c \ - protocol.c \ - rgb_driver.c \ - config_led.c - # MCU MCU = cortex-m0plus ARMV = 6 @@ -18,23 +9,44 @@ MCU_STARTUP = ht32f523xx BOARD = ANNEPRO2_C18 -# Options +# Bootloader selection +BOOTLOADER = custom +PROGRAM_CMD = annepro2_tools --boot $(BUILD_DIR)/$(TARGET).bin + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# Custom RGB matrix handling +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = custom # Keys CUSTOM_MATRIX = lite -NKRO_ENABLE = no -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = yes KEY_LOCK_ENABLE = no -LAYOUTS = 60_ansi -# Other featues -BOOTMAGIC_ENABLE = yes -CONSOLE_ENABLE = no -COMMAND_ENABLE = no +# Other features RAW_ENABLE = no MIDI_ENABLE = no VIRTSER_ENABLE = no COMBO_ENABLE = no -BOOTLOADER = custom -PROGRAM_CMD = annepro2_tools --boot $(BUILD_DIR)/$(TARGET).bin + +LAYOUTS = 60_ansi + +# Anne Pro 2 +SRC = \ + matrix.c \ + annepro2_ble.c \ + ap2_led.c \ + protocol.c \ + rgb_driver.c \ + config_led.c diff --git a/keyboards/annepro2/info.json b/keyboards/annepro2/info.json index 8d6c85b5d11c..95786329b2ea 100644 --- a/keyboards/annepro2/info.json +++ b/keyboards/annepro2/info.json @@ -1,329 +1,75 @@ { "keyboard_name": "Anne Pro 2", "url": "https://openannepro.github.io/", - "maintainer": "community", + "maintainer": "bwisn", "layouts": { "LAYOUT_60_ansi": { "layout": [ - { - "label": "~", - "x": 0, - "y": 0 - }, - { - "label": "!", - "x": 1, - "y": 0 - }, - { - "label": "@", - "x": 2, - "y": 0 - }, - { - "label": "#", - "x": 3, - "y": 0 - }, - { - "label": "$", - "x": 4, - "y": 0 - }, - { - "label": "%", - "x": 5, - "y": 0 - }, - { - "label": "^", - "x": 6, - "y": 0 - }, - { - "label": "&", - "x": 7, - "y": 0 - }, - { - "label": "*", - "x": 8, - "y": 0 - }, - { - "label": "(", - "x": 9, - "y": 0 - }, - { - "label": ")", - "x": 10, - "y": 0 - }, - { - "label": "_", - "x": 11, - "y": 0 - }, - { - "label": "+", - "x": 12, - "y": 0 - }, - { - "label": "Backspace", - "x": 13, - "y": 0, - "w": 2 - }, - { - "label": "Tab", - "x": 0, - "y": 1, - "w": 1.5 - }, - { - "label": "Q", - "x": 1.5, - "y": 1 - }, - { - "label": "W", - "x": 2.5, - "y": 1 - }, - { - "label": "E", - "x": 3.5, - "y": 1 - }, - { - "label": "R", - "x": 4.5, - "y": 1 - }, - { - "label": "T", - "x": 5.5, - "y": 1 - }, - { - "label": "Y", - "x": 6.5, - "y": 1 - }, - { - "label": "U", - "x": 7.5, - "y": 1 - }, - { - "label": "I", - "x": 8.5, - "y": 1 - }, - { - "label": "O", - "x": 9.5, - "y": 1 - }, - { - "label": "P", - "x": 10.5, - "y": 1 - }, - { - "label": "{", - "x": 11.5, - "y": 1 - }, - { - "label": "}", - "x": 12.5, - "y": 1 - }, - { - "label": "|", - "x": 13.5, - "y": 1, - "w": 1.5 - }, - { - "label": "Caps Lock", - "x": 0, - "y": 2, - "w": 1.75 - }, - { - "label": "A", - "x": 1.75, - "y": 2 - }, - { - "label": "S", - "x": 2.75, - "y": 2 - }, - { - "label": "D", - "x": 3.75, - "y": 2 - }, - { - "label": "F", - "x": 4.75, - "y": 2 - }, - { - "label": "G", - "x": 5.75, - "y": 2 - }, - { - "label": "H", - "x": 6.75, - "y": 2 - }, - { - "label": "J", - "x": 7.75, - "y": 2 - }, - { - "label": "K", - "x": 8.75, - "y": 2 - }, - { - "label": "L", - "x": 9.75, - "y": 2 - }, - { - "label": ":", - "x": 10.75, - "y": 2 - }, - { - "label": "\"", - "x": 11.75, - "y": 2 - }, - { - "label": "Enter", - "x": 12.75, - "y": 2, - "w": 2.25 - }, - { - "label": "Shift", - "x": 0, - "y": 3, - "w": 2.25 - }, - { - "label": "Z", - "x": 2.25, - "y": 3 - }, - { - "label": "X", - "x": 3.25, - "y": 3 - }, - { - "label": "C", - "x": 4.25, - "y": 3 - }, - { - "label": "V", - "x": 5.25, - "y": 3 - }, - { - "label": "B", - "x": 6.25, - "y": 3 - }, - { - "label": "N", - "x": 7.25, - "y": 3 - }, - { - "label": "M", - "x": 8.25, - "y": 3 - }, - { - "label": "<", - "x": 9.25, - "y": 3 - }, - { - "label": ">", - "x": 10.25, - "y": 3 - }, - { - "label": "?", - "x": 11.25, - "y": 3 - }, - { - "label": "Shift", - "x": 12.25, - "y": 3, - "w": 2.75 - }, - { - "label": "Ctrl", - "x": 0, - "y": 4, - "w": 1.25 - }, - { - "label": "Win", - "x": 1.25, - "y": 4, - "w": 1.25 - }, - { - "label": "Alt", - "x": 2.5, - "y": 4, - "w": 1.25 - }, - { - "x": 3.75, - "y": 4, - "w": 6.25 - }, - { - "label": "Alt", - "x": 10, - "y": 4, - "w": 1.25 - }, - { - "label": "Win", - "x": 11.25, - "y": 4, - "w": 1.25 - }, - { - "label": "Menu", - "x": 12.5, - "y": 4, - "w": 1.25 - }, - { - "label": "Ctrl", - "x": 13.75, - "y": 4, - "w": 1.25 - } + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Win", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} ] } } diff --git a/keyboards/annepro2/keymaps/default-full-caps/config.h b/keyboards/annepro2/keymaps/default-full-caps/config.h deleted file mode 100644 index 413c5d8dc520..000000000000 --- a/keyboards/annepro2/keymaps/default-full-caps/config.h +++ /dev/null @@ -1,20 +0,0 @@ - /* Copyright 2021 OpenAnnePro community - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// Obins stock firmware has something similar to this already enabled, but disabled by default in QMK -#define PERMISSIVE_HOLD diff --git a/keyboards/annepro2/keymaps/default-layer-indicators/config.h b/keyboards/annepro2/keymaps/default-layer-indicators/config.h deleted file mode 100644 index 413c5d8dc520..000000000000 --- a/keyboards/annepro2/keymaps/default-layer-indicators/config.h +++ /dev/null @@ -1,20 +0,0 @@ - /* Copyright 2021 OpenAnnePro community - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// Obins stock firmware has something similar to this already enabled, but disabled by default in QMK -#define PERMISSIVE_HOLD diff --git a/keyboards/annepro2/keymaps/default/config.h b/keyboards/annepro2/keymaps/default/config.h deleted file mode 100644 index 413c5d8dc520..000000000000 --- a/keyboards/annepro2/keymaps/default/config.h +++ /dev/null @@ -1,20 +0,0 @@ - /* Copyright 2021 OpenAnnePro community - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// Obins stock firmware has something similar to this already enabled, but disabled by default in QMK -#define PERMISSIVE_HOLD diff --git a/keyboards/annepro2/keymaps/default/rules.mk b/keyboards/annepro2/keymaps/default/rules.mk deleted file mode 100644 index ca1110b8357f..000000000000 --- a/keyboards/annepro2/keymaps/default/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -# Custom RGB matrix handling -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = custom diff --git a/keyboards/annepro2/readme.md b/keyboards/annepro2/readme.md index e3e0b95be43f..b8b3b8454333 100644 --- a/keyboards/annepro2/readme.md +++ b/keyboards/annepro2/readme.md @@ -1,12 +1,10 @@ # Anne Pro 2 rev. C15 and C18 QMK firmware -## Introduction +An ANSI-layout 60% keyboard featuring Bluetooth support and per-key RGB lighting. -This is the QMK firmware repository for the Anne Pro 2 rev. C15 and C18 keyboard. - -## Layouts - -Keyboard has 60% ANSI standard layout. +* Keyboard Maintainer: [bwisn](https://github.com/bwisn) +* Hardware Supported: Anne Pro 2, [C15](c15/) and [C18](c18/) versions +* Hardware Availability: [annepro.net](https://www.annepro.net/), [Hexcore](https://www.hexcore.xyz/annepro2) ## How to compile @@ -25,26 +23,26 @@ If you want to compile the Anne Pro 2 C15 default keymap use: If you want the executable instead of compiling it yourself, [download it here](https://ci.codetector.org/job/OpenAnnePro/job/AnnePro2-Tools/job/master/). Windows and Linux versions are available. Otherwise, follow the steps below: -0. Install the latest stable `rust` toolchain using [rustup](https://rustup.rs/) -0. Also install [Visual Studio Community edition](https://visualstudio.microsoft.com/downloads/) +1. Install the latest stable `rust` toolchain using [rustup](https://rustup.rs/) +1. Also install [Visual Studio Community edition](https://visualstudio.microsoft.com/downloads/) including the C/C++ module to prevent errors while compiling -0. Download or Clone the [AnnePro2-Tools](https://github.com/OpenAnnePro/AnnePro2-Tools) project. -0. Compile the tool using -```bash -cargo build --release -``` -0. The compiled tool should be in `./target/release/annepro2_tools` (In later I will refer to this as `annepro2_tools`) +1. Download or Clone the [AnnePro2-Tools](https://github.com/OpenAnnePro/AnnePro2-Tools) project. +1. Compile the tool using + ```bash + cargo build --release + ``` + The compiled tool should be in `./target/release/annepro2_tools` (In later I will refer to this as `annepro2_tools`) ### Flashing the firmware -0. Put the keyboard into DFU/IAP mode by unplugging the keyboard, then holding ESC while plugging it back in. -0. Run annepro2_tools with the firmware you just built. -**Please substitute with the correct paths and correct bin file if you chose another keymap profile** -```bash -annepro2_tools annepro2_c15_default.bin -``` +1. Put the keyboard into DFU/IAP mode by unplugging the keyboard, then holding ESC while plugging it back in. +1. Run annepro2_tools with the firmware you just built. + **Please substitute with the correct paths and correct bin file if you chose another keymap profile.** + ```bash + annepro2_tools annepro2_c15_default.bin + ``` If the tool can't find the keyboard please double check you have the keyboard in IAP mode. -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). \ No newline at end of file +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). From fdd4af9973573d5a629cf27d42ced315869cfd75 Mon Sep 17 00:00:00 2001 From: yfuku <30647434+yfuku@users.noreply.github.com> Date: Mon, 18 Apr 2022 16:37:25 +0900 Subject: [PATCH 0538/1832] [Keyboard] Add sandbox keyboard (#16021) Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/dailycraft/sandbox/readme.md | 26 +++ keyboards/dailycraft/sandbox/rev1/config.h | 148 ++++++++++++++++++ .../sandbox/rev1/keymaps/default/keymap.c | 34 ++++ .../sandbox/rev1/keymaps/default/readme.md | 1 + .../sandbox/rev1/keymaps/oled/keymap.c | 42 +++++ .../sandbox/rev1/keymaps/oled/readme.md | 1 + .../sandbox/rev1/keymaps/oled/rules.mk | 2 + .../sandbox/rev1/keymaps/via/keymap.c | 42 +++++ .../sandbox/rev1/keymaps/via/readme.md | 1 + .../sandbox/rev1/keymaps/via/rules.mk | 1 + keyboards/dailycraft/sandbox/rev1/rev1.c | 17 ++ keyboards/dailycraft/sandbox/rev1/rev1.h | 35 +++++ keyboards/dailycraft/sandbox/rev1/rules.mk | 0 keyboards/dailycraft/sandbox/rev2/config.h | 148 ++++++++++++++++++ .../sandbox/rev2/keymaps/default/keymap.c | 27 ++++ .../sandbox/rev2/keymaps/default/readme.md | 1 + .../sandbox/rev2/keymaps/oled/keymap.c | 43 +++++ .../sandbox/rev2/keymaps/oled/readme.md | 1 + .../sandbox/rev2/keymaps/oled/rules.mk | 2 + .../sandbox/rev2/keymaps/via/keymap.c | 42 +++++ .../sandbox/rev2/keymaps/via/readme.md | 1 + .../sandbox/rev2/keymaps/via/rules.mk | 1 + keyboards/dailycraft/sandbox/rev2/rev2.c | 17 ++ keyboards/dailycraft/sandbox/rev2/rev2.h | 37 +++++ keyboards/dailycraft/sandbox/rev2/rules.mk | 1 + keyboards/dailycraft/sandbox/rules.mk | 20 +++ keyboards/dailycraft/sandbox/sandbox.c | 45 ++++++ keyboards/dailycraft/sandbox/sandbox.h | 26 +++ 28 files changed, 762 insertions(+) create mode 100644 keyboards/dailycraft/sandbox/readme.md create mode 100644 keyboards/dailycraft/sandbox/rev1/config.h create mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/default/keymap.c create mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/default/readme.md create mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/oled/keymap.c create mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/oled/readme.md create mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/oled/rules.mk create mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/via/keymap.c create mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/via/readme.md create mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/via/rules.mk create mode 100644 keyboards/dailycraft/sandbox/rev1/rev1.c create mode 100644 keyboards/dailycraft/sandbox/rev1/rev1.h create mode 100644 keyboards/dailycraft/sandbox/rev1/rules.mk create mode 100644 keyboards/dailycraft/sandbox/rev2/config.h create mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/default/keymap.c create mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/default/readme.md create mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/oled/keymap.c create mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/oled/readme.md create mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/oled/rules.mk create mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/via/keymap.c create mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/via/readme.md create mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/via/rules.mk create mode 100644 keyboards/dailycraft/sandbox/rev2/rev2.c create mode 100644 keyboards/dailycraft/sandbox/rev2/rev2.h create mode 100644 keyboards/dailycraft/sandbox/rev2/rules.mk create mode 100644 keyboards/dailycraft/sandbox/rules.mk create mode 100644 keyboards/dailycraft/sandbox/sandbox.c create mode 100644 keyboards/dailycraft/sandbox/sandbox.h diff --git a/keyboards/dailycraft/sandbox/readme.md b/keyboards/dailycraft/sandbox/readme.md new file mode 100644 index 000000000000..790deba95fce --- /dev/null +++ b/keyboards/dailycraft/sandbox/readme.md @@ -0,0 +1,26 @@ +# sandbox keyboard + +![sandbox keyboard](https://i.imgur.com/CaJmz28h.jpg) + +macropad + +* Keyboard Maintainer: [yfuku](https://github.com/yfuku) +* Hardware Supported: sandbox PCB, Pro Micro +* Hardware Availability: https://shop.dailycraft.jp/ + +Make example for this keyboard (after setting up your build environment): + + make dailycraft/sandbox:default + +Flashing example for this keyboard: + + make dailycraft/sandbox:default:flash + +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). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button on the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/dailycraft/sandbox/rev1/config.h b/keyboards/dailycraft/sandbox/rev1/config.h new file mode 100644 index 000000000000..102b8247dba8 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/config.h @@ -0,0 +1,148 @@ +/* +Copyright 2021 yfuku + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x5946 // YF +#define PRODUCT_ID 0x0009 +#define DEVICE_VER 0x0001 +#define MANUFACTURER yfuku +#define PRODUCT sandbox + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 5 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B5, B4 } +#define MATRIX_COL_PINS { F7, B1, B3, B2, B6 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/default/keymap.c b/keyboards/dailycraft/sandbox/rev1/keymaps/default/keymap.c new file mode 100644 index 000000000000..6def745c3472 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _DEFAULT, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DEFAULT] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, + KC_6, KC_7, KC_8, KC_9, KC_0 + ) + +// Layer template. +// Copy and uncomment this template to create a new layer +// [_LAYER_NAME] = LAYOUT( +// KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +// KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +// ) +}; diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/default/readme.md b/keyboards/dailycraft/sandbox/rev1/keymaps/default/readme.md new file mode 100644 index 000000000000..7fe2318a44ed --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for sandbox diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/oled/keymap.c b/keyboards/dailycraft/sandbox/rev1/keymaps/oled/keymap.c new file mode 100644 index 000000000000..25910ef919e5 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/keymaps/oled/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _0, + _1, + _2, + _3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_0] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, + KC_6, KC_7, KC_8, KC_9, KC_0 + ), + [_1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/oled/readme.md b/keyboards/dailycraft/sandbox/rev1/keymaps/oled/readme.md new file mode 100644 index 000000000000..7fe2318a44ed --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/keymaps/oled/readme.md @@ -0,0 +1 @@ +# The default keymap for sandbox diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/oled/rules.mk b/keyboards/dailycraft/sandbox/rev1/keymaps/oled/rules.mk new file mode 100644 index 000000000000..ab9d5c6ac2f8 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/keymaps/oled/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +OLED_ENABLE = yes diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/via/keymap.c b/keyboards/dailycraft/sandbox/rev1/keymaps/via/keymap.c new file mode 100644 index 000000000000..047eabf513c0 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/keymaps/via/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _1, + _2, + _3, + _4 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_0] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, + KC_6, KC_7, KC_8, KC_9, KC_0 + ), + [_1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/via/readme.md b/keyboards/dailycraft/sandbox/rev1/keymaps/via/readme.md new file mode 100644 index 000000000000..f3c721ab107b --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/keymaps/via/readme.md @@ -0,0 +1 @@ +# The via keymap for sandbox diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/via/rules.mk b/keyboards/dailycraft/sandbox/rev1/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dailycraft/sandbox/rev1/rev1.c b/keyboards/dailycraft/sandbox/rev1/rev1.c new file mode 100644 index 000000000000..dccf24c7466b --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/rev1.c @@ -0,0 +1,17 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "rev1.h" diff --git a/keyboards/dailycraft/sandbox/rev1/rev1.h b/keyboards/dailycraft/sandbox/rev1/rev1.h new file mode 100644 index 000000000000..d15cffe1ae24 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev1/rev1.h @@ -0,0 +1,35 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k00, k01, k02, k03, k04, \ + k10, k11, k12, k13, k14 \ +) { \ + { k00, k01, k02, k03, k04 }, \ + { k10, k11, k12, k13, k14 } \ +} diff --git a/keyboards/dailycraft/sandbox/rev1/rules.mk b/keyboards/dailycraft/sandbox/rev1/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/dailycraft/sandbox/rev2/config.h b/keyboards/dailycraft/sandbox/rev2/config.h new file mode 100644 index 000000000000..06905afe47d8 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/config.h @@ -0,0 +1,148 @@ +/* +Copyright 2021 yfuku + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x5946 // YF +#define PRODUCT_ID 0x0011 +#define DEVICE_VER 0x0001 +#define MANUFACTURER yfuku +#define PRODUCT sandbox rev2 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 5 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B5, B4 } +#define MATRIX_COL_PINS { F7, B1, B3, B2, B6 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/default/keymap.c b/keyboards/dailycraft/sandbox/rev2/keymaps/default/keymap.c new file mode 100644 index 000000000000..7fdf8016623a --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _DEFAULT, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DEFAULT] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_A, KC_B, KC_C, KC_D, KC_E, + KC_6, KC_7, KC_8, KC_9, KC_0, KC_F, KC_G, KC_H, KC_I, KC_J + ) +}; diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/default/readme.md b/keyboards/dailycraft/sandbox/rev2/keymaps/default/readme.md new file mode 100644 index 000000000000..7fe2318a44ed --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for sandbox diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/oled/keymap.c b/keyboards/dailycraft/sandbox/rev2/keymaps/oled/keymap.c new file mode 100644 index 000000000000..c72b85c79a7c --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/keymaps/oled/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _0, + _1, + _2, + _3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_0] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_A, KC_B, KC_C, KC_D, KC_E, + KC_6, KC_7, KC_8, KC_9, KC_0, KC_F, KC_G, KC_H, KC_I, KC_J + ), + [_1] = LAYOUT( + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_2] = LAYOUT( + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_3] = LAYOUT( + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; + diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/oled/readme.md b/keyboards/dailycraft/sandbox/rev2/keymaps/oled/readme.md new file mode 100644 index 000000000000..c0c3cb6eecf4 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/keymaps/oled/readme.md @@ -0,0 +1 @@ +# The oled keymap for sandbox diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/oled/rules.mk b/keyboards/dailycraft/sandbox/rev2/keymaps/oled/rules.mk new file mode 100644 index 000000000000..ab9d5c6ac2f8 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/keymaps/oled/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +OLED_ENABLE = yes diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/via/keymap.c b/keyboards/dailycraft/sandbox/rev2/keymaps/via/keymap.c new file mode 100644 index 000000000000..c20228429250 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/keymaps/via/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _0, + _1, + _2, + _3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_0] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_A, KC_B, KC_C, KC_D, KC_E, + KC_6, KC_7, KC_8, KC_9, KC_0, KC_F, KC_G, KC_H, KC_I, KC_J + ), + [_1] = LAYOUT( + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_2] = LAYOUT( + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_3] = LAYOUT( + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/via/readme.md b/keyboards/dailycraft/sandbox/rev2/keymaps/via/readme.md new file mode 100644 index 000000000000..f3c721ab107b --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/keymaps/via/readme.md @@ -0,0 +1 @@ +# The via keymap for sandbox diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/via/rules.mk b/keyboards/dailycraft/sandbox/rev2/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dailycraft/sandbox/rev2/rev2.c b/keyboards/dailycraft/sandbox/rev2/rev2.c new file mode 100644 index 000000000000..96aa6cd314ed --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/rev2.c @@ -0,0 +1,17 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "rev2.h" diff --git a/keyboards/dailycraft/sandbox/rev2/rev2.h b/keyboards/dailycraft/sandbox/rev2/rev2.h new file mode 100644 index 000000000000..f5cc3de8a05c --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/rev2.h @@ -0,0 +1,37 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ + L10, L11, L12, L13, L14, R10, R11, R12, R13, R14 \ +) { \ + { L00, L01, L02, L03, L04 }, \ + { L10, L11, L12, L13, L14 }, \ + { R00, R01, R02, R03, R04 }, \ + { R10, R11, R12, R13, R14 } \ +} diff --git a/keyboards/dailycraft/sandbox/rev2/rules.mk b/keyboards/dailycraft/sandbox/rev2/rules.mk new file mode 100644 index 000000000000..d38a61809075 --- /dev/null +++ b/keyboards/dailycraft/sandbox/rev2/rules.mk @@ -0,0 +1 @@ +SPLIT_KEYBOARD = yes diff --git a/keyboards/dailycraft/sandbox/rules.mk b/keyboards/dailycraft/sandbox/rules.mk new file mode 100644 index 000000000000..b3386ed7712a --- /dev/null +++ b/keyboards/dailycraft/sandbox/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +DEFAULT_FOLDER = dailycraft/sandbox/rev2 diff --git a/keyboards/dailycraft/sandbox/sandbox.c b/keyboards/dailycraft/sandbox/sandbox.c new file mode 100644 index 000000000000..9f9aa48190bd --- /dev/null +++ b/keyboards/dailycraft/sandbox/sandbox.c @@ -0,0 +1,45 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "sandbox.h" + +#ifdef OLED_ENABLE +bool oled_task_user(void) { + if (!oled_task_user()) { return false; } + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln_P(PSTR("Layer: Default"), false); + break; + case 1: + oled_write_ln_P(PSTR("Layer: 1"), false); + break; + case 2: + oled_write_ln_P(PSTR("Layer: 2"), false); + break; + case 3: + oled_write_ln_P(PSTR("Layer: 3"), false); + break; + default: + oled_write_ln_P(PSTR("Layer: Undefined"), false); + } + + return true; +} + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} +#endif diff --git a/keyboards/dailycraft/sandbox/sandbox.h b/keyboards/dailycraft/sandbox/sandbox.h new file mode 100644 index 000000000000..e9c9ff99c3db --- /dev/null +++ b/keyboards/dailycraft/sandbox/sandbox.h @@ -0,0 +1,26 @@ +/* Copyright 2021 yfuku + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#ifdef KEYBOARD_dailycraft_sandbox_rev1 +# include "rev1.h" +#endif +#ifdef KEYBOARD_dailycraft_sandbox_rev2 +# include "rev2.h" +#endif From 5b6faa173bef50f7aef146393a2033ed5101c842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szczepaniak?= Date: Mon, 18 Apr 2022 11:07:36 +0200 Subject: [PATCH 0539/1832] Add customizable snake and knight animation increments (#16337) --- quantum/rgblight/rgblight.c | 8 ++++---- quantum/rgblight/rgblight.h | 8 ++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index 1f8b68ee5921..dc5757cb00c1 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -1273,19 +1273,19 @@ void rgblight_effect_snake(animation_status_t *anim) { } rgblight_set(); if (increment == 1) { - if (pos - 1 < 0) { + if (pos - RGBLIGHT_EFFECT_SNAKE_INCREMENT < 0) { pos = rgblight_ranges.effect_num_leds - 1; # if defined(RGBLIGHT_SPLIT) && !defined(RGBLIGHT_SPLIT_NO_ANIMATION_SYNC) anim->pos = 0; # endif } else { - pos -= 1; + pos -= RGBLIGHT_EFFECT_SNAKE_INCREMENT; # if defined(RGBLIGHT_SPLIT) && !defined(RGBLIGHT_SPLIT_NO_ANIMATION_SYNC) anim->pos = 1; # endif } } else { - pos = (pos + 1) % rgblight_ranges.effect_num_leds; + pos = (pos + RGBLIGHT_EFFECT_SNAKE_INCREMENT) % rgblight_ranges.effect_num_leds; # if defined(RGBLIGHT_SPLIT) && !defined(RGBLIGHT_SPLIT_NO_ANIMATION_SYNC) anim->pos = pos; # endif @@ -1299,7 +1299,7 @@ __attribute__((weak)) const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {127, 63 void rgblight_effect_knight(animation_status_t *anim) { static int8_t low_bound = 0; static int8_t high_bound = RGBLIGHT_EFFECT_KNIGHT_LENGTH - 1; - static int8_t increment = 1; + static int8_t increment = RGBLIGHT_EFFECT_KNIGHT_INCREMENT; uint8_t i, cur; # if defined(RGBLIGHT_SPLIT) && !defined(RGBLIGHT_SPLIT_NO_ANIMATION_SYNC) diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index 189c4d18b8ee..a08b9a7b6bd7 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -126,10 +126,18 @@ enum RGBLIGHT_EFFECT_MODE { # define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 #endif +#ifndef RGBLIGHT_EFFECT_SNAKE_INCREMENT +# define RGBLIGHT_EFFECT_SNAKE_INCREMENT 1 +#endif + #ifndef RGBLIGHT_EFFECT_KNIGHT_LENGTH # define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 #endif +#ifndef RGBLIGHT_EFFECT_KNIGHT_INCREMENT +# define RGBLIGHT_EFFECT_KNIGHT_INCREMENT 1 +#endif + #ifndef RGBLIGHT_EFFECT_KNIGHT_OFFSET # define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0 #endif From 5fe3b9ffa5bf1179c288f77a16e763e9fecaca0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20A=2E=20Volpato?= Date: Mon, 18 Apr 2022 06:07:49 -0300 Subject: [PATCH 0540/1832] [Keyboard] SharkPCB release Beta compatibility (#16713) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/acheron/shark/alpha/alpha.c | 16 ++ keyboards/acheron/shark/alpha/alpha.h | 39 +++ keyboards/acheron/shark/{ => alpha}/config.h | 0 keyboards/acheron/shark/{ => alpha}/info.json | 0 .../{ => alpha}/keymaps/ajp10304/readme.md | 0 .../{ => alpha}/keymaps/default/keymap.c | 0 .../shark/{ => alpha}/keymaps/via/keymap.c | 0 .../shark/{ => alpha}/keymaps/via/rules.mk | 0 keyboards/acheron/shark/{ => alpha}/rules.mk | 0 keyboards/acheron/shark/beta/beta.c | 32 +++ keyboards/acheron/shark/beta/beta.h | 31 ++ keyboards/acheron/shark/beta/chconf.h | 25 ++ keyboards/acheron/shark/beta/config.h | 66 +++++ keyboards/acheron/shark/beta/halconf.h | 24 ++ .../shark/beta/keymaps/default/keymap.c | 43 +++ .../shark/beta/keymaps/gondolindrim/keymap.c | 265 ++++++++++++++++++ .../shark/beta/keymaps/gondolindrim/rules.mk | 1 + .../acheron/shark/beta/keymaps/via/keymap.c | 43 +++ .../acheron/shark/beta/keymaps/via/rules.mk | 1 + keyboards/acheron/shark/beta/mcuconf.h | 44 +++ keyboards/acheron/shark/beta/rules.mk | 26 ++ keyboards/acheron/shark/readme.md | 47 +++- keyboards/acheron/shark/shark.c | 28 +- keyboards/acheron/shark/shark.h | 40 +-- 24 files changed, 712 insertions(+), 59 deletions(-) create mode 100644 keyboards/acheron/shark/alpha/alpha.c create mode 100644 keyboards/acheron/shark/alpha/alpha.h rename keyboards/acheron/shark/{ => alpha}/config.h (100%) rename keyboards/acheron/shark/{ => alpha}/info.json (100%) rename keyboards/acheron/shark/{ => alpha}/keymaps/ajp10304/readme.md (100%) rename keyboards/acheron/shark/{ => alpha}/keymaps/default/keymap.c (100%) rename keyboards/acheron/shark/{ => alpha}/keymaps/via/keymap.c (100%) rename keyboards/acheron/shark/{ => alpha}/keymaps/via/rules.mk (100%) rename keyboards/acheron/shark/{ => alpha}/rules.mk (100%) create mode 100644 keyboards/acheron/shark/beta/beta.c create mode 100644 keyboards/acheron/shark/beta/beta.h create mode 100644 keyboards/acheron/shark/beta/chconf.h create mode 100644 keyboards/acheron/shark/beta/config.h create mode 100644 keyboards/acheron/shark/beta/halconf.h create mode 100644 keyboards/acheron/shark/beta/keymaps/default/keymap.c create mode 100755 keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c create mode 100644 keyboards/acheron/shark/beta/keymaps/gondolindrim/rules.mk create mode 100644 keyboards/acheron/shark/beta/keymaps/via/keymap.c create mode 100644 keyboards/acheron/shark/beta/keymaps/via/rules.mk create mode 100644 keyboards/acheron/shark/beta/mcuconf.h create mode 100644 keyboards/acheron/shark/beta/rules.mk diff --git a/keyboards/acheron/shark/alpha/alpha.c b/keyboards/acheron/shark/alpha/alpha.c new file mode 100644 index 000000000000..e841f3fbd58f --- /dev/null +++ b/keyboards/acheron/shark/alpha/alpha.c @@ -0,0 +1,16 @@ +/* Copyright 2019 Álvaro "Gondolindrim" Volpato + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "alpha.h" diff --git a/keyboards/acheron/shark/alpha/alpha.h b/keyboards/acheron/shark/alpha/alpha.h new file mode 100644 index 000000000000..d58b72548aa6 --- /dev/null +++ b/keyboards/acheron/shark/alpha/alpha.h @@ -0,0 +1,39 @@ +/* Copyright 2019 Álvaro "Gondolindrim" Volpato + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_ortho_4x12( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B } \ +} diff --git a/keyboards/acheron/shark/config.h b/keyboards/acheron/shark/alpha/config.h similarity index 100% rename from keyboards/acheron/shark/config.h rename to keyboards/acheron/shark/alpha/config.h diff --git a/keyboards/acheron/shark/info.json b/keyboards/acheron/shark/alpha/info.json similarity index 100% rename from keyboards/acheron/shark/info.json rename to keyboards/acheron/shark/alpha/info.json diff --git a/keyboards/acheron/shark/keymaps/ajp10304/readme.md b/keyboards/acheron/shark/alpha/keymaps/ajp10304/readme.md similarity index 100% rename from keyboards/acheron/shark/keymaps/ajp10304/readme.md rename to keyboards/acheron/shark/alpha/keymaps/ajp10304/readme.md diff --git a/keyboards/acheron/shark/keymaps/default/keymap.c b/keyboards/acheron/shark/alpha/keymaps/default/keymap.c similarity index 100% rename from keyboards/acheron/shark/keymaps/default/keymap.c rename to keyboards/acheron/shark/alpha/keymaps/default/keymap.c diff --git a/keyboards/acheron/shark/keymaps/via/keymap.c b/keyboards/acheron/shark/alpha/keymaps/via/keymap.c similarity index 100% rename from keyboards/acheron/shark/keymaps/via/keymap.c rename to keyboards/acheron/shark/alpha/keymaps/via/keymap.c diff --git a/keyboards/acheron/shark/keymaps/via/rules.mk b/keyboards/acheron/shark/alpha/keymaps/via/rules.mk similarity index 100% rename from keyboards/acheron/shark/keymaps/via/rules.mk rename to keyboards/acheron/shark/alpha/keymaps/via/rules.mk diff --git a/keyboards/acheron/shark/rules.mk b/keyboards/acheron/shark/alpha/rules.mk similarity index 100% rename from keyboards/acheron/shark/rules.mk rename to keyboards/acheron/shark/alpha/rules.mk diff --git a/keyboards/acheron/shark/beta/beta.c b/keyboards/acheron/shark/beta/beta.c new file mode 100644 index 000000000000..597dc785485d --- /dev/null +++ b/keyboards/acheron/shark/beta/beta.c @@ -0,0 +1,32 @@ +/* Copyright 2020 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "beta.h" +void board_init(void) { + setPinInput(B6); + setPinInput(B7); +} + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if(!encoder_update_user(index, clockwise)) return false; + if (index == 0) { + if (clockwise) tap_code_delay(KC_VOLU, 10); + else tap_code_delay(KC_VOLD, 10); + } + return true; +} +#endif diff --git a/keyboards/acheron/shark/beta/beta.h b/keyboards/acheron/shark/beta/beta.h new file mode 100644 index 000000000000..1002659d3d2c --- /dev/null +++ b/keyboards/acheron/shark/beta/beta.h @@ -0,0 +1,31 @@ +/* Copyright 2020 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#include "quantum.h" + +#define LAYOUT_ortho_4x12( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B \ +)\ +{\ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B } \ +} diff --git a/keyboards/acheron/shark/beta/chconf.h b/keyboards/acheron/shark/beta/chconf.h new file mode 100644 index 000000000000..cbbae31079fb --- /dev/null +++ b/keyboards/acheron/shark/beta/chconf.h @@ -0,0 +1,25 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#include_next diff --git a/keyboards/acheron/shark/beta/config.h b/keyboards/acheron/shark/beta/config.h new file mode 100644 index 000000000000..54fa270336b3 --- /dev/null +++ b/keyboards/acheron/shark/beta/config.h @@ -0,0 +1,66 @@ +/* +Copyright 2020 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xAC11 +#define PRODUCT_ID 0x5369 // For Shark+1 +#define DEVICE_VER 0x0002 +#define MANUFACTURER AcheronProject +#define PRODUCT SharkPCB rev. Beta + +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +#define MATRIX_COL_PINS { A5 , A10, C13, B9 , B8 , B5 , B4 , B3 , A15, A0 , A1 , A2 } +#define MATRIX_ROW_PINS { A8 , B14, A4 , A3 } +#define DIODE_DIRECTION COL2ROW + +#define DEBOUNCE 5 + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +#define BACKLIGHT_PIN A6 +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 2 +#define BACKLIGHT_LEVELS 20 +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 5 +#define BACKLIGHT_ON_STATE 1 + +#define STM32_HSECLK 8000000 + +#define RGB_DI_PIN B15 +#define RGBLED_NUM 24 +#define RGBLIGHT_ANIMATIONS + +#define WS2812_PWM_COMPLEMENTARY_OUTPUT +#define WS2812_PWM_DRIVER PWMD1 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 +#define WS2812_DMA_CHANNEL 6 + +#define ENCODERS_PAD_A { C15 } +#define ENCODERS_PAD_B { C14 } + +#define EEPROM_I2C_24LC256 diff --git a/keyboards/acheron/shark/beta/halconf.h b/keyboards/acheron/shark/beta/halconf.h new file mode 100644 index 000000000000..ebdb4954a17c --- /dev/null +++ b/keyboards/acheron/shark/beta/halconf.h @@ -0,0 +1,24 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_PWM TRUE +#define HAL_USE_PAL TRUE + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/acheron/shark/beta/keymaps/default/keymap.c b/keyboards/acheron/shark/beta/keymaps/default/keymap.c new file mode 100644 index 000000000000..5cf5ac40da96 --- /dev/null +++ b/keyboards/acheron/shark/beta/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2019 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4x12( + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC, + KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT, + KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_ENT , + KC_LCTL , KC_LALT , KC_LGUI , KC_NO , MO(1) , KC_SPC , KC_SPC , MO(2) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT + ), + [1] = LAYOUT_ortho_4x12( + 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 , 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 , 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 + ), + [2] = LAYOUT_ortho_4x12( + 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 , 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 , 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 + ), + [3] = LAYOUT_ortho_4x12( + 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 , 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 , 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 + ) +}; diff --git a/keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c b/keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c new file mode 100755 index 000000000000..cae98411d6e8 --- /dev/null +++ b/keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c @@ -0,0 +1,265 @@ +/* +Copyright 2020 Álvaro "Gondolindrim" Volpato + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H +#include "config_common.h" + +#define MEDIA_KEY_DELAY 10 +#define ALT_TAB_DELAY 1000 + +// Persistent encoder modes: the current encoder mode is written into EEPROM memory, and retrieved at the keyboard initialization. This means the current encoder mode is persistent even if the keyboard is reset or turned off +#define PERSISTENT_ENCODER_MODES + +#define ENCODER_MODE_CHANGE_DELAY 500 + +// Defining special keycodes +enum keyboard_keycodes { + ECLICK = SAFE_RANGE, // Encoder click + ALTTABF , // ALT-TAB forward + ALTTABB , // ALT-TAB backwards + ALTTABC , // For alt-tab-click + ENCMUP , // Encoder mode up + ENCMDN , // Encoder mode down + NEW_SAFE_RANGE +}; + +// Creates sample keyevents and keyrecords to be used in the processing of the custom keycodes. Their time should be resampled everytime they are used; their cols and rows are set to be "impossible", that is, outside the normal key matrix bounds. +const keyevent_t sample_pressed_keyevent = { + .key = (keypos_t){.row = 5, .col = 13}, + .pressed = true, + .time = 0 +}; + +keyrecord_t sample_pressed_keyrecord = { + .event = sample_pressed_keyevent +}; + +const keyevent_t sample_released_keyevent = { + .key = (keypos_t){.row = 5, .col = 13}, + .pressed = false, + .time = 0 +}; + +keyrecord_t sample_released_keyrecord = { + .event = sample_released_keyevent +}; + +// tap_process_record_user calls process_record_user with the pressed and released sample keyrecords with a delay of MEDIA_KEY_DELAY. The idea is to allow custom keycodes a simulation of a key press and release, allowing them to be treated in process_record_user. This, in turn, allows the custom keycodes to be used both in the encoder callback and the keyboard keymap. +uint16_t temp_timer = 0; +void tap_process_record_user(uint16_t keycode) +{ + temp_timer = timer_read(); + sample_pressed_keyrecord.event.time = timer_read(); + process_record_user( keycode, &sample_pressed_keyrecord ); + while (timer_elapsed(temp_timer) < MEDIA_KEY_DELAY); + sample_released_keyrecord.event.time = timer_read(); + process_record_user( keycode, &sample_released_keyrecord ); +} + +// process_special_keycode is a function that distinguishes between the native keycodes and the ones custom-defined here. Normal keycodes are tapped, while keycodes in the SAFE_RANGE - NEW_SAFE_RANGE interval are treated with tap_process_record_user. +void process_special_keycode(uint16_t keycode) { + if (SAFE_RANGE <= keycode && keycode < NEW_SAFE_RANGE) tap_process_record_user(keycode); + else tap_code(keycode); +} + +uint16_t encoder_click_delay = ENCODER_MODE_CHANGE_DELAY; + +uint8_t startup_color[3] = {0xFF,0xFF,0xFF}; + +typedef struct _encoder_mode_t { + uint8_t indicator_color[3]; + uint16_t clockwise_key[4]; + uint16_t counterclockwise_key[4]; + uint16_t clicked_key[4] ; + uint16_t hold_key; +} encoder_mode_t; + +encoder_mode_t encoder_modes[] = { + { .indicator_color = {0x22,0x00,0xFF} , .clockwise_key = {KC_VOLU, KC_VOLU, ENCMUP, KC_VOLU}, .counterclockwise_key = {KC_VOLD, KC_VOLD, ENCMDN, KC_VOLD}, .clicked_key = {KC_MUTE, KC_MPLY, KC_MUTE, KC_MUTE}, .hold_key = ENCMUP }, + { .indicator_color = {0x00,0x33,0xFF} , .clockwise_key = {KC_WH_D, KC_WH_D, ENCMUP, KC_WH_D}, .counterclockwise_key = {KC_WH_U, KC_WH_U, ENCMDN, KC_WH_U}, .clicked_key = {KC_BTN1, KC_BTN1, KC_BTN1, KC_BTN1}, .hold_key = ENCMUP }, + { .indicator_color = {0xFF,0x88,0x00} , .clockwise_key = {ALTTABF, ALTTABF, ENCMUP, ALTTABF}, .counterclockwise_key = {ALTTABB, ALTTABB, ENCMDN, ALTTABB}, .clicked_key = {ALTTABC, ALTTABC, ALTTABC, ALTTABC}, .hold_key = ENCMUP } + // Insert your custom encoder mode here +}; + +#define NUM_ENCODER_MODES (sizeof(encoder_modes)/sizeof(encoder_modes[0])) + +// This counter is used to track what encoder mode is being used at a certain time +int encoder_mode_count = 0; + + +#ifdef PERSISTENT_ENCODER_MODES +typedef union { + uint32_t raw; + struct { + int user_encoder_mode_count; +}; +} user_config_t; + +user_config_t user_config; +#endif + +void set_indicator_colors(uint8_t color[3]){ + rgblight_setrgb(color[0], color[1], color[2]); +} + +// Board init: RGB indicator is set to startup_color +void keyboard_pre_init_user(void){ + set_indicator_colors(startup_color); +}; + +void keyboard_post_init_user(void){ +#ifdef PERSISTENT_ENCODER_MODES + user_config.raw = eeconfig_read_user(); + encoder_mode_count = user_config.user_encoder_mode_count ; +#else + encoder_mode_count = 0; +#endif + set_indicator_colors(encoder_modes[ encoder_mode_count ].indicator_color); +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4x12( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, ECLICK , + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + KC_LCTL, KC_LALT, KC_LGUI, _______, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + [1] = LAYOUT_ortho_4x12( + 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, 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, 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 + ), + [2] = LAYOUT_ortho_4x12( + 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, 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, 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 + ), + [3] = LAYOUT_ortho_4x12( + 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, 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, 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 + ) +}; + +// ------------------------------------------------------------------------------------------------ + +bool is_alt_tab_active = false; // Flag to check if alt tab is active +uint32_t alt_tab_timer = 0; // Time trigger for alt tab +uint16_t mapped_code = 0; +uint32_t held_keycode_timer = 0; + +int current_layer = 0 ; // Updated in layer_state_set_user each time a layer change is made + +void cycle_encoder_mode(bool forward){ + if (forward) encoder_mode_count++ ; // Shifts encoder mode forward + else encoder_mode_count-- ; + if (encoder_mode_count == -1) encoder_mode_count = NUM_ENCODER_MODES - 1; + // Shifts encoder mode backward + encoder_mode_count = encoder_mode_count % NUM_ENCODER_MODES ; // This makes sure encoder_mode_count keeps cycling between 0,1,...,NUM_ENCODER_MODES and doesnt eventually overflow +#ifdef PERSISTENT_ENCODER_MODES + user_config.user_encoder_mode_count = encoder_mode_count ; + eeconfig_update_user(user_config.raw); +#endif + set_indicator_colors( encoder_modes[ encoder_mode_count ].indicator_color ); // Set indicator color to the corresponding defined color +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + process_special_keycode(clockwise ? encoder_modes[ encoder_mode_count ].clockwise_key[ current_layer ] : encoder_modes[ encoder_mode_count ].counterclockwise_key[ current_layer ]); + return false; +} + +uint32_t held_click_timer = 0; +bool is_click_held = false; +bool is_shift_held = false; +bool automatic_hold_cycle = false; // This flag registers if the encoder hold was automatically cycled + +// This bool records if LALT is pressed or not. Due to the automatic disabling of the ALT-TAB of the ALTTABS custom keystroke, the automatic disabling can un-register KC_LALT even when the LALT key is phisically pressed. Hence there needs to be two bools: one that keebs track of the ALT-TAB activity and one that keeps track of LALT so that the automatic disabling will not disable LALT if it is phisically pressed. +bool is_lalt_pressed = false; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_LSFT: + case KC_RSFT: + if (record->event.pressed) is_shift_held = true; + else is_shift_held = false; + return true; + case ECLICK: + // Checks if the encoder has been pressed; if so, sets the corresponding flag and starts the corresponding timer + if (record->event.pressed) { + is_click_held = true; + held_click_timer = timer_read32(); + // Checks if the encoder has been released: samples the duration of the encoder push; if this time was less than the encoder_click_delay, processes the clicked key. If it was bigger, processes the hold key. This behavior is adjusted using the ENCODER_MODE_CHANGE_DELAY macro. There is an exception made when automatic_hold_cycle is true; this means that the encoder push has been pressed enough to trigger a hold cycle. This case is taken care of in the housekeeping routine, where the held key is triggered and the timer reset. Hence the automatic_hold_cycle needs to be checked because without this check the function will trigger the clicked key after the hold cycle has been cycled more than once. + } else { + is_click_held = false; + if (timer_elapsed32(held_click_timer) < encoder_click_delay && !automatic_hold_cycle ) process_special_keycode( encoder_modes[ encoder_mode_count ].clicked_key[ current_layer ] ) ; + automatic_hold_cycle = false; + } + return true; // Skip all further processing of this key + case KC_LALT: // If this is not defined, if the encoder is activated in the alt-tab mode while the LALT key is pressed, the menu goes away. + if (record->event.pressed) is_lalt_pressed = true; + else is_lalt_pressed = false; + return true; + case ENCMUP: + case ENCMDN: + if (record->event.pressed) cycle_encoder_mode(keycode == ENCMUP); // If keycode == ENCMUP the expression returns true and the cycle function cycles the modes forward. If not, then cycles backwards. + return false; + case ALTTABF: + case ALTTABB: + if (record->event.pressed) { + if (!is_alt_tab_active) { + is_alt_tab_active = true; + register_code(KC_LALT); + + } + tap_code16(keycode == ALTTABF ? KC_TAB : S(KC_TAB)); // Due to S(KC_TAB), the 16-bit tap_code16 is needed. + alt_tab_timer = timer_read32(); + } + return true; + case ALTTABC: + if (record->event.pressed) { + if (is_alt_tab_active) { + if (!is_lalt_pressed) unregister_code(KC_LALT); + is_alt_tab_active = false; + } + } + return false; + default: + return true; // Process all other keycodes normally + } +} + +void housekeeping_task_user(void) { + if (is_alt_tab_active) { + if (is_lalt_pressed) alt_tab_timer = timer_read32(); + else if (timer_elapsed32(alt_tab_timer) > ALT_TAB_DELAY) { + unregister_code(KC_LALT); + is_alt_tab_active = false; + } + } +/* This piece of the code checks for the encoder push timer. If the encoder push interval was less than encoder_click_delay then it is automatically processed by process_record_user by triggering the current mode's click key. However, if the encoder push is held for more time than the defined delay, then the encoder hold "cycles", that is, gets activated and the timer needs to be reset. This does three things: +- (1) Sets the automatic_hold_cycle flag which prevents process_record_user from triggering the click key when the push is released +- (2) Processes the current mode's hold key in process_record_user +- (3) Resets the click timer +*/ + if (is_click_held && timer_elapsed32(held_click_timer) > encoder_click_delay ){ + automatic_hold_cycle = true; + process_special_keycode( encoder_modes[ encoder_mode_count ].hold_key ); + held_click_timer = timer_read32(); + } +} diff --git a/keyboards/acheron/shark/beta/keymaps/gondolindrim/rules.mk b/keyboards/acheron/shark/beta/keymaps/gondolindrim/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/acheron/shark/beta/keymaps/gondolindrim/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/acheron/shark/beta/keymaps/via/keymap.c b/keyboards/acheron/shark/beta/keymaps/via/keymap.c new file mode 100644 index 000000000000..5cf5ac40da96 --- /dev/null +++ b/keyboards/acheron/shark/beta/keymaps/via/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2019 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4x12( + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC, + KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT, + KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_ENT , + KC_LCTL , KC_LALT , KC_LGUI , KC_NO , MO(1) , KC_SPC , KC_SPC , MO(2) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT + ), + [1] = LAYOUT_ortho_4x12( + 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 , 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 , 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 + ), + [2] = LAYOUT_ortho_4x12( + 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 , 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 , 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 + ), + [3] = LAYOUT_ortho_4x12( + 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 , 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 , 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 + ) +}; diff --git a/keyboards/acheron/shark/beta/keymaps/via/rules.mk b/keyboards/acheron/shark/beta/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/acheron/shark/beta/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/acheron/shark/beta/mcuconf.h b/keyboards/acheron/shark/beta/mcuconf.h new file mode 100644 index 000000000000..35d7e95f57e0 --- /dev/null +++ b/keyboards/acheron/shark/beta/mcuconf.h @@ -0,0 +1,44 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE +#undef STM32_PPRE1 +#undef STM32_PPRE2 + +#define STM32_PLLM_VALUE 4 +#define STM32_PLLN_VALUE 96 +#define STM32_PLLP_VALUE 2 +#define STM32_PLLQ_VALUE 4 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE2_DIV1 + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_ADVANCED +#define STM32_PWM_USE_ADVANCED TRUE + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/acheron/shark/beta/rules.mk b/keyboards/acheron/shark/beta/rules.mk new file mode 100644 index 000000000000..928ad2d49af4 --- /dev/null +++ b/keyboards/acheron/shark/beta/rules.mk @@ -0,0 +1,26 @@ +MCU = STM32F411 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +BACKLIGHT_DRIVER = pwm +LTO_ENABLE = no +ENCODER_ENABLE = yes + +LAYOUTS = ortho_4x12 +EEPROM_DRIVER = i2c + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/acheron/shark/readme.md b/keyboards/acheron/shark/readme.md index 962a73c6d127..d805571ebb2b 100644 --- a/keyboards/acheron/shark/readme.md +++ b/keyboards/acheron/shark/readme.md @@ -1,17 +1,46 @@ -# Acheron Aχξρων 40-SM-O-MX-TH-WI (Codename "SharkPCB") QMK firmware +# SharkPCB QMK firmware -

- -

+![sharkpcb](https://acheronproject.com/images/shark/shark_beta_pic3_small.jpg) -This is the QMK firmware repository for the Shark, updated until [revision Alpha](https://github.com/Gondolindrim/SharkPCB/releases/tag/Alpha). +The SharkPCB is an open-source ortholinear 40% layout designed by Gondolindrim for the AcheronProject. -The SharkPCB is an Open-Hardware guidelines compliant PCB which files can be found at [this link](https://github.com/Gondolindrim/SharkPCB). Its designer and maintainer is [Gondolindrim](https://github.com/Gondolindrim). +* Keyboard Maintainer: [Gondolindrim](https://github.com/gondolindrim) +* Hardware Availability: you can get release Beta SharkPCBs using the JLCPCB manufacturer using the files at [its documentation](http:/acheronproject.com/pcbs/shark/shark/) -See the [AcheronDocs](https://gondolindrim.github.io/AcheronDocs/shark/intro.html) page for the SharkPCB full documentation. +## How to flash -Make example for this keyboard (after setting up your build environment): +### Enter bootloader - make acheron/shark:default +### Release Alpha: + +The DFU state in the bootloader can be accessed in 2 ways: + +* **Bootmagic reset**: hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: press the button on the back of the PCB +* **Keycode in layout**: press the key mapped to `RESET` if it is available (ESC key at layer 1 in the default layout) + +### Release Beta: + +The DFU state in the bootloader can be accessed in 3 ways: + +* **Bootmagic reset**: hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: press the button on the back of the PCB, for at least five seconds +* **Keycode in layout**: press the key mapped to `RESET` if it is available (ESC key at layer 1 in the default layout) + +## Compile firmware + +### Release Alpha + +After accessing the DFU state in your PCB, build the default layout using: + + make acheron/shark/alpha:default + +### Release Beta + +After accessing the DFU state in your PCB, build the default layout using: + + make acheron/shark/beta:default + +Then download the resulting binary `*bin` file using `dfu-util` or QMK Toolbox. 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/acheron/shark/shark.c b/keyboards/acheron/shark/shark.c index ab607edae1f2..1a660019e2bb 100644 --- a/keyboards/acheron/shark/shark.c +++ b/keyboards/acheron/shark/shark.c @@ -1,16 +1,14 @@ -/* Copyright 2019 Álvaro "Gondolindrim" Volpato - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ + /* Copyright 2022 Álvaro "Gondolindrim" Volpato + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + #include "shark.h" diff --git a/keyboards/acheron/shark/shark.h b/keyboards/acheron/shark/shark.h index d58b72548aa6..0f6541988556 100644 --- a/keyboards/acheron/shark/shark.h +++ b/keyboards/acheron/shark/shark.h @@ -1,39 +1,9 @@ -/* Copyright 2019 Álvaro "Gondolindrim" Volpato - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ #pragma once #include "quantum.h" -/* This a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. - */ -#define LAYOUT_ortho_4x12( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B \ -) \ -{ \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B } \ -} +#if defined(KEYBOARD_acheron_shark_alpha) + #include "alpha.h" +#elif defined(KEYBOARD_acheron_shark_beta) + #include "beta.h" +#endif From c6de26fc6fd26d6d66a60992b4ed32b6aa38ca05 Mon Sep 17 00:00:00 2001 From: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Mon, 18 Apr 2022 02:11:11 -0700 Subject: [PATCH 0541/1832] [Keyboard] Add digicarpice (#16791) Co-authored-by: Drashna Jaelre Co-authored-by: swiftrax --- .../handwired/swiftrax/digicarpice/config.h | 44 ++++++++++++++++ .../swiftrax/digicarpice/digicarpice.c | 17 +++++++ .../swiftrax/digicarpice/digicarpice.h | 51 +++++++++++++++++++ .../handwired/swiftrax/digicarpice/info.json | 13 +++++ .../digicarpice/keymaps/default/keymap.c | 34 +++++++++++++ .../swiftrax/digicarpice/keymaps/via/keymap.c | 48 +++++++++++++++++ .../swiftrax/digicarpice/keymaps/via/rules.mk | 1 + .../handwired/swiftrax/digicarpice/readme.md | 21 ++++++++ .../handwired/swiftrax/digicarpice/rules.mk | 18 +++++++ 9 files changed, 247 insertions(+) create mode 100644 keyboards/handwired/swiftrax/digicarpice/config.h create mode 100644 keyboards/handwired/swiftrax/digicarpice/digicarpice.c create mode 100644 keyboards/handwired/swiftrax/digicarpice/digicarpice.h create mode 100644 keyboards/handwired/swiftrax/digicarpice/info.json create mode 100644 keyboards/handwired/swiftrax/digicarpice/keymaps/default/keymap.c create mode 100644 keyboards/handwired/swiftrax/digicarpice/keymaps/via/keymap.c create mode 100644 keyboards/handwired/swiftrax/digicarpice/keymaps/via/rules.mk create mode 100644 keyboards/handwired/swiftrax/digicarpice/readme.md create mode 100644 keyboards/handwired/swiftrax/digicarpice/rules.mk diff --git a/keyboards/handwired/swiftrax/digicarpice/config.h b/keyboards/handwired/swiftrax/digicarpice/config.h new file mode 100644 index 000000000000..30e62655fba8 --- /dev/null +++ b/keyboards/handwired/swiftrax/digicarpice/config.h @@ -0,0 +1,44 @@ +/* +Copyright 2022 Swiftrax + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x04D8 +#define PRODUCT_ID 0xE79A +#define DEVICE_VER 0x0001 +#define MANUFACTURER Swiftrax +#define PRODUCT DigiCarpice +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS { F0, D5, D7, D6, D4 } +#define MATRIX_COL_PINS { F1, F4, F5, F6, F7, C7, D3, D2, D1, D0, B7, B3, B2, B1, B0 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 diff --git a/keyboards/handwired/swiftrax/digicarpice/digicarpice.c b/keyboards/handwired/swiftrax/digicarpice/digicarpice.c new file mode 100644 index 000000000000..c40a20a1f053 --- /dev/null +++ b/keyboards/handwired/swiftrax/digicarpice/digicarpice.c @@ -0,0 +1,17 @@ +/* +Copyright 2022 Swiftrax + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "digicarpice.h" diff --git a/keyboards/handwired/swiftrax/digicarpice/digicarpice.h b/keyboards/handwired/swiftrax/digicarpice/digicarpice.h new file mode 100644 index 000000000000..c8baf3e2f864 --- /dev/null +++ b/keyboards/handwired/swiftrax/digicarpice/digicarpice.h @@ -0,0 +1,51 @@ +/* +Copyright 2022 Swiftrax + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "quantum.h" + +#define K_NO KC_NO + +#define LAYOUT_unified_bs( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214,\ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \ + K400, K401, K402, K404, K407, K409, K411, K412, K413, K414 \ +) \ +{ \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K_NO, K213, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K_NO }, \ + { K400, K401, K402, K_NO, K404, K_NO, K_NO, K407, K_NO, K409, K_NO, K411, K412, K413, K414 } \ +} + +#define LAYOUT_split_bs( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K212, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214,\ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \ + K400, K401, K402, K404, K407, K409, K411, K412, K413, K414 \ +) \ +{ \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K_NO }, \ + { K400, K401, K402, K_NO, K404, K_NO, K_NO, K407, K_NO, K409, K_NO, K411, K412, K413, K414 } \ +} diff --git a/keyboards/handwired/swiftrax/digicarpice/info.json b/keyboards/handwired/swiftrax/digicarpice/info.json new file mode 100644 index 000000000000..fb168bd77097 --- /dev/null +++ b/keyboards/handwired/swiftrax/digicarpice/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "DigiCarpice", + "url": "https://github.com/swiftrax", + "maintainer": "swiftrax", + "layouts": { + "LAYOUT_unified_bs": { + "layout": [{"label":"0,0", "x":2.37, "y":0.08}, {"label":"0,1", "x":3.37, "y":0.08}, {"label":"0,11", "x":14.13, "y":0.08}, {"label":"0,12", "x":15.13, "y":0.08}, {"label":"0,13", "x":16.13, "y":0.08, "w":2}, {"label":"0,14", "x":18.38, "y":0.08}, {"label":"1,0", "x":2.24, "y":1.08, "w":1.5}, {"label":"1,1", "x":3.74, "y":1.08}, {"label":"1,10", "x":13.75, "y":1.08}, {"label":"1,11", "x":14.75, "y":1.08}, {"label":"1,12", "x":15.75, "y":1.08}, {"label":"1,13", "x":16.75, "y":1.08, "w":1.5}, {"label":"1,14", "x":18.5, "y":1.08}, {"label":"2,0", "x":2.1, "y":2.08, "w":1.75}, {"label":"2,1", "x":3.85, "y":2.08}, {"label":"2,10", "x":14.16, "y":2.08}, {"label":"2,11", "x":15.16, "y":2.08}, {"label":"2,13", "x":16.16, "y":2.08, "w":2.25}, {"label":"2,14", "x":18.66, "y":2.08}, {"label":"3,0", "x":1.95, "y":3.08, "w":2.25}, {"label":"3,1", "x":4.2, "y":3.08}, {"label":"3,10", "x":13.819999999999999, "y":3.08}, {"label":"3,11", "x":14.819999999999999, "y":3.08}, {"label":"3,12", "x":15.819999999999999, "y":3.08, "w":1.75}, {"label":"3,13", "x":17.82, "y":3.33}, {"label":"4,0", "x":2.1, "y":4.08, "w":1.25}, {"label":"4,1", "x":3.35, "y":4.08, "w":1.25}, {"label":"4,11", "x":15.32, "y":4.08, "w":1.25}, {"label":"4,12", "x":16.82, "y":4.33}, {"label":"4,13", "x":17.82, "y":4.33}, {"label":"4,14", "x":18.82, "y":4.33}, {"label":"0,2", "x":0, "y":5.33}, {"label":"0,3", "x":1, "y":5.33}, {"label":"0,4", "x":2, "y":5.33}, {"label":"0,5", "x":3, "y":5.33}, {"label":"0,6", "x":4, "y":5.33}, {"label":"1,2", "x":0.5, "y":6.33}, {"label":"1,3", "x":1.5, "y":6.33}, {"label":"1,4", "x":2.5, "y":6.33}, {"label":"1,5", "x":3.5, "y":6.33}, {"label":"2,2", "x":0.75, "y":7.33}, {"label":"2,3", "x":1.75, "y":7.33}, {"label":"2,4", "x":2.75, "y":7.33}, {"label":"2,5", "x":3.75, "y":7.33}, {"label":"3,2", "x":1.25, "y":8.33}, {"label":"3,3", "x":2.25, "y":8.33}, {"label":"3,4", "x":3.25, "y":8.33}, {"label":"3,5", "x":4.25, "y":8.33}, {"label":"4,2", "x":1.75, "y":9.33, "w":1.25}, {"label":"4,4", "x":3, "y":9.33, "w":2.25}, {"label":"0,7", "x":-4.5, "y":10.33}, {"label":"0,8", "x":-3.5, "y":10.33}, {"label":"0,9", "x":-2.5, "y":10.33}, {"label":"0,10", "x":-1.5, "y":10.33}, {"label":"1,6", "x":-5.0, "y":11.33}, {"label":"1,7", "x":-4, "y":11.33}, {"label":"1,8", "x":-3.0, "y":11.33}, {"label":"1,9", "x":-2, "y":11.33}, {"label":"2,6", "x":-4.75, "y":12.33}, {"label":"2,7", "x":-3.75, "y":12.33}, {"label":"2,8", "x":-2.75, "y":12.33}, {"label":"2,9", "x":-1.75, "y":12.33}, {"label":"3,6", "x":-5.25, "y":13.33}, {"label":"3,7", "x":-4.25, "y":13.33}, {"label":"3,8", "x":-3.25, "y":13.33}, {"label":"3,9", "x":-2.25, "y":13.33}, {"label":"4,7", "x":-5.25, "y":14.33, "w":2.75}, {"label":"4,9", "x":-2.5, "y":14.33, "w":1.25}] + }, + "LAYOUT_split_bs": { + "layout": [{"label":"0,0", "x":2.37, "y":0.08}, {"label":"0,1", "x":3.37, "y":0.08}, {"label":"0,11", "x":14.13, "y":0.08}, {"label":"0,12", "x":15.13, "y":0.08}, {"label":"0,13", "x":16.13, "y":0.08}, {"label":"2,12", "x":17.13, "y":0.08}, {"label":"0,14", "x":18.38, "y":0.08}, {"label":"1,0", "x":2.24, "y":1.08, "w":1.5}, {"label":"1,1", "x":3.74, "y":1.08}, {"label":"1,10", "x":13.75, "y":1.08}, {"label":"1,11", "x":14.75, "y":1.08}, {"label":"1,12", "x":15.75, "y":1.08}, {"label":"1,13", "x":16.75, "y":1.08, "w":1.5}, {"label":"1,14", "x":18.5, "y":1.08}, {"label":"2,0", "x":2.1, "y":2.08, "w":1.75}, {"label":"2,1", "x":3.85, "y":2.08}, {"label":"2,10", "x":14.16, "y":2.08}, {"label":"2,11", "x":15.16, "y":2.08}, {"label":"2,13", "x":16.16, "y":2.08, "w":2.25}, {"label":"2,14", "x":18.66, "y":2.08}, {"label":"3,0", "x":1.95, "y":3.08, "w":2.25}, {"label":"3,1", "x":4.2, "y":3.08}, {"label":"3,10", "x":13.819999999999999, "y":3.08}, {"label":"3,11", "x":14.819999999999999, "y":3.08}, {"label":"3,12", "x":15.819999999999999, "y":3.08, "w":1.75}, {"label":"3,13", "x":17.82, "y":3.33}, {"label":"4,0", "x":2.1, "y":4.08, "w":1.25}, {"label":"4,1", "x":3.35, "y":4.08, "w":1.25}, {"label":"4,11", "x":15.32, "y":4.08, "w":1.25}, {"label":"4,12", "x":16.82, "y":4.33}, {"label":"4,13", "x":17.82, "y":4.33}, {"label":"4,14", "x":18.82, "y":4.33}, {"label":"0,2", "x":0, "y":5.33}, {"label":"0,3", "x":1, "y":5.33}, {"label":"0,4", "x":2, "y":5.33}, {"label":"0,5", "x":3, "y":5.33}, {"label":"0,6", "x":4, "y":5.33}, {"label":"1,2", "x":0.5, "y":6.33}, {"label":"1,3", "x":1.5, "y":6.33}, {"label":"1,4", "x":2.5, "y":6.33}, {"label":"1,5", "x":3.5, "y":6.33}, {"label":"2,2", "x":0.75, "y":7.33}, {"label":"2,3", "x":1.75, "y":7.33}, {"label":"2,4", "x":2.75, "y":7.33}, {"label":"2,5", "x":3.75, "y":7.33}, {"label":"3,2", "x":1.25, "y":8.33}, {"label":"3,3", "x":2.25, "y":8.33}, {"label":"3,4", "x":3.25, "y":8.33}, {"label":"3,5", "x":4.25, "y":8.33}, {"label":"4,2", "x":1.75, "y":9.33, "w":1.25}, {"label":"4,4", "x":3, "y":9.33, "w":2.25}, {"label":"0,7", "x":-4.5, "y":10.33}, {"label":"0,8", "x":-3.5, "y":10.33}, {"label":"0,9", "x":-2.5, "y":10.33}, {"label":"0,10", "x":-1.5, "y":10.33}, {"label":"1,6", "x":-5.0, "y":11.33}, {"label":"1,7", "x":-4, "y":11.33}, {"label":"1,8", "x":-3.0, "y":11.33}, {"label":"1,9", "x":-2, "y":11.33}, {"label":"2,6", "x":-4.75, "y":12.33}, {"label":"2,7", "x":-3.75, "y":12.33}, {"label":"2,8", "x":-2.75, "y":12.33}, {"label":"2,9", "x":-1.75, "y":12.33}, {"label":"3,6", "x":-5.25, "y":13.33}, {"label":"3,7", "x":-4.25, "y":13.33}, {"label":"3,8", "x":-3.25, "y":13.33}, {"label":"3,9", "x":-2.25, "y":13.33}, {"label":"4,7", "x":-5.25, "y":14.33, "w":2.75}, {"label":"4,9", "x":-2.5, "y":14.33, "w":1.25}] + } + } +} diff --git a/keyboards/handwired/swiftrax/digicarpice/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/digicarpice/keymaps/default/keymap.c new file mode 100644 index 000000000000..ed7cf4379ebc --- /dev/null +++ b/keyboards/handwired/swiftrax/digicarpice/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* +Copyright 2021 Swiftrax + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_bs( + 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_DEL, + 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_END, + 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_HOME, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_split_bs( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, + _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, + _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/handwired/swiftrax/digicarpice/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/digicarpice/keymaps/via/keymap.c new file mode 100644 index 000000000000..f97ac8bc8d5e --- /dev/null +++ b/keyboards/handwired/swiftrax/digicarpice/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* +Copyright 2021 Swiftrax + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_bs( + 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_DEL, + 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_END, + 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_HOME, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_split_bs( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, + _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, + _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_split_bs( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_split_bs( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/handwired/swiftrax/digicarpice/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/digicarpice/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/handwired/swiftrax/digicarpice/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/digicarpice/readme.md b/keyboards/handwired/swiftrax/digicarpice/readme.md new file mode 100644 index 000000000000..228db23a7f8f --- /dev/null +++ b/keyboards/handwired/swiftrax/digicarpice/readme.md @@ -0,0 +1,21 @@ +# DigiCarpice + +Alice like keyboard with arrow keys + +* Keyboard Maintainer: Swiftrax +* Hardware Supported: DigiCarpice +* Hardware Availability: https://github.com/swiftrax + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard +* **Physical reset button**: short the pads on the back of the pcb +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +Make example for this keyboard (after setting up your build environment): + + make handwired/swiftrax/digicarpice:default + +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/digicarpice/rules.mk b/keyboards/handwired/swiftrax/digicarpice/rules.mk new file mode 100644 index 000000000000..1275531ef6d6 --- /dev/null +++ b/keyboards/handwired/swiftrax/digicarpice/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 8826a1dea5a3a6e3560456d5cddd1cdcdc575753 Mon Sep 17 00:00:00 2001 From: Ramon Imbao Date: Mon, 18 Apr 2022 17:11:32 +0800 Subject: [PATCH 0542/1832] [Keyboard] Add the Ciel (#16816) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/chickenman/ciel/ciel.c | 17 ++ keyboards/chickenman/ciel/ciel.h | 61 +++++ keyboards/chickenman/ciel/config.h | 106 +++++++++ keyboards/chickenman/ciel/info.json | 217 ++++++++++++++++++ .../chickenman/ciel/keymaps/default/keymap.c | 38 +++ .../chickenman/ciel/keymaps/default/readme.md | 1 + .../chickenman/ciel/keymaps/via/keymap.c | 54 +++++ .../chickenman/ciel/keymaps/via/rules.mk | 1 + keyboards/chickenman/ciel/readme.md | 23 ++ keyboards/chickenman/ciel/rules.mk | 20 ++ 10 files changed, 538 insertions(+) create mode 100644 keyboards/chickenman/ciel/ciel.c create mode 100644 keyboards/chickenman/ciel/ciel.h create mode 100644 keyboards/chickenman/ciel/config.h create mode 100644 keyboards/chickenman/ciel/info.json create mode 100644 keyboards/chickenman/ciel/keymaps/default/keymap.c create mode 100644 keyboards/chickenman/ciel/keymaps/default/readme.md create mode 100644 keyboards/chickenman/ciel/keymaps/via/keymap.c create mode 100644 keyboards/chickenman/ciel/keymaps/via/rules.mk create mode 100644 keyboards/chickenman/ciel/readme.md create mode 100644 keyboards/chickenman/ciel/rules.mk diff --git a/keyboards/chickenman/ciel/ciel.c b/keyboards/chickenman/ciel/ciel.c new file mode 100644 index 000000000000..de8302bfb452 --- /dev/null +++ b/keyboards/chickenman/ciel/ciel.c @@ -0,0 +1,17 @@ +/* Copyright 2020 Koichi Katano + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "ciel.h" diff --git a/keyboards/chickenman/ciel/ciel.h b/keyboards/chickenman/ciel/ciel.h new file mode 100644 index 000000000000..ea2b566d98b7 --- /dev/null +++ b/keyboards/chickenman/ciel/ciel.h @@ -0,0 +1,61 @@ +/* Copyright 2020 Koichi Katano + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_60_ansi_split_bs_rshift( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k114, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k213, \ + k300, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, k314, \ + k400, k401, k402, k407, k410, k411, k413, k414 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, KC_NO, k114 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, KC_NO, k213, KC_NO}, \ + { k300, KC_NO, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, KC_NO, k313, k314 }, \ + { k400, k401, k402, KC_NO, KC_NO, KC_NO, KC_NO, k407, KC_NO, KC_NO, k410, k411, KC_NO, k413, k414 } \ +} + +#define LAYOUT_60_ansi( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k114, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k213, \ + k300, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, \ + k400, k401, k402, k407, k410, k411, k413, k414 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, KC_NO}, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, KC_NO, k114 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, KC_NO, k213, KC_NO}, \ + { k300, KC_NO, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, KC_NO, k313, KC_NO}, \ + { k400, k401, k402, KC_NO, KC_NO, KC_NO, KC_NO, k407, KC_NO, KC_NO, k410, k411, KC_NO, k413, k414 } \ +} + +#define LAYOUT_60_tsangan_hhkb( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k114, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k213, \ + k300, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, k314, \ + k400, k401, k402, k407, k411, k413, k414 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, KC_NO, k414 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, KC_NO, k213, KC_NO}, \ + { k300, KC_NO, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, KC_NO, k313, k314 }, \ + { k400, k401, k402, KC_NO, KC_NO, KC_NO, KC_NO, k407, KC_NO, KC_NO, KC_NO, k411, KC_NO, k413, k414 } \ +} diff --git a/keyboards/chickenman/ciel/config.h b/keyboards/chickenman/ciel/config.h new file mode 100644 index 000000000000..718df02eff04 --- /dev/null +++ b/keyboards/chickenman/ciel/config.h @@ -0,0 +1,106 @@ +/* +Copyright 2020 Koichi Katano, 2022 Ramon Imbao + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xC41C +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0001 +#define MANUFACTURER ChickenMan +#define PRODUCT Ciel + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { C5, C4, B0, C7, B7 } +#define MATRIX_COL_PINS { C6, B6, B5, B4, B3, B2, B1, D6, D5, D4, D3, D2, D1, D0, C2 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/chickenman/ciel/info.json b/keyboards/chickenman/ciel/info.json new file mode 100644 index 000000000000..67d39c2cf4b7 --- /dev/null +++ b/keyboards/chickenman/ciel/info.json @@ -0,0 +1,217 @@ +{ + "keyboard_name": "Ciel", + "url": "", + "maintainer": "ramonimbao", + "layouts": { + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0 }, + { "x":14, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4, "w":1.25 }, + { "x":11.25, "y":4, "w":1.25 }, + { "x":12.5, "y":4, "w":1.25 }, + { "x":13.75, "y":4, "w":1.25 } + ] + }, + "LAYOUT_60_ansi": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0, "w":2 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":2.75 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4, "w":1.25 }, + { "x":11.25, "y":4, "w":1.25 }, + { "x":12.5, "y":4, "w":1.25 }, + { "x":13.75, "y":4, "w":1.25 } + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0 }, + { "x":14, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + + { "x":0, "y":4, "w":1.5 }, + { "x":1.5, "y":4 }, + { "x":2.5, "y":4, "w":1.5 }, + { "x":4, "y":4, "w":7 }, + { "x":11, "y":4, "w":1.5 }, + { "x":12.5, "y":4 }, + { "x":13.5, "y":4, "w":1.5 } + ] + } + } +} diff --git a/keyboards/chickenman/ciel/keymaps/default/keymap.c b/keyboards/chickenman/ciel/keymaps/default/keymap.c new file mode 100644 index 000000000000..e1f5cfc2e29d --- /dev/null +++ b/keyboards/chickenman/ciel/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2020 Koichi Katano + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_60_ansi_split_bs_rshift( + 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_GRV, KC_BSPC, + 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_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [_FN] = LAYOUT_60_ansi_split_bs_rshift( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/chickenman/ciel/keymaps/default/readme.md b/keyboards/chickenman/ciel/keymaps/default/readme.md new file mode 100644 index 000000000000..5609e2adbbb7 --- /dev/null +++ b/keyboards/chickenman/ciel/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Bakeneko 60 diff --git a/keyboards/chickenman/ciel/keymaps/via/keymap.c b/keyboards/chickenman/ciel/keymaps/via/keymap.c new file mode 100644 index 000000000000..4034ba70d36c --- /dev/null +++ b/keyboards/chickenman/ciel/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* Copyright 2020 Koichi Katano + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _L0, + _L1, + _L2, + _L3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_L0] = LAYOUT_60_ansi_split_bs_rshift( + 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_GRV, KC_BSPC, + 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_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_L1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [_L1] = LAYOUT_60_ansi_split_bs_rshift( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_L2] = LAYOUT_60_ansi_split_bs_rshift( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_L3] = LAYOUT_60_ansi_split_bs_rshift( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/chickenman/ciel/keymaps/via/rules.mk b/keyboards/chickenman/ciel/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/chickenman/ciel/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/chickenman/ciel/readme.md b/keyboards/chickenman/ciel/readme.md new file mode 100644 index 000000000000..6dc711b66200 --- /dev/null +++ b/keyboards/chickenman/ciel/readme.md @@ -0,0 +1,23 @@ +# Ciel + +![img](https://i.imgur.com/8JlLbefl.png) + +The Ciel is a CNC'ed 60% Bakeneko with a brass internal weight. + +Group Buy ran October 7th to October 31st in 2021. Fulfilled early March. + +* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao) +* Hardware Supported: ATmega32u2 +* Hardware Availability: [GB page](https://geekhack.org/index.php?topic=114845.0), [ChickenMan's Discord](https://discord.gg/6MeZAxp2RP) + +Make example for this keyboard (after setting up your build environment): + + make chickenman/ciel:default + +To get to the bootloader, simply press the reset button located at the back of the PCB. You can then flash new firmware onto it. + +Flashing example for this keyboard: + + make chickenman/ciel:default:flash + +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/chickenman/ciel/rules.mk b/keyboards/chickenman/ciel/rules.mk new file mode 100644 index 000000000000..dea3fa861ad8 --- /dev/null +++ b/keyboards/chickenman/ciel/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u2 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 60_ansi_split_bs_rshift 60_ansi 60_tsangan_hhkb From 0d67eec5e23cf5ffb95ad6b72199a79ef23a6132 Mon Sep 17 00:00:00 2001 From: alaviss Date: Mon, 18 Apr 2022 10:11:56 +0100 Subject: [PATCH 0543/1832] Ploopy Trackball Mini: only define DPI options as needed (#16160) --- keyboards/ploopyco/trackball_mini/trackball_mini.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/keyboards/ploopyco/trackball_mini/trackball_mini.c b/keyboards/ploopyco/trackball_mini/trackball_mini.c index 2b511c4eab73..e4b4a47c2b24 100644 --- a/keyboards/ploopyco/trackball_mini/trackball_mini.c +++ b/keyboards/ploopyco/trackball_mini/trackball_mini.c @@ -37,9 +37,16 @@ # define OPT_SCALE 1 // Multiplier for wheel #endif -#define PLOOPY_DPI_OPTIONS \ - { 375, 750, 1375 } -#define PLOOPY_DPI_DEFAULT 2 +#ifndef PLOOPY_DPI_OPTIONS +# define PLOOPY_DPI_OPTIONS \ + { 375, 750, 1375 } +# ifndef PLOOPY_DPI_DEFAULT +# define PLOOPY_DPI_DEFAULT 1 +# endif +#endif +#ifndef PLOOPY_DPI_DEFAULT +# define PLOOPY_DPI_DEFAULT 0 +#endif #ifndef PLOOPY_DRAGSCROLL_DPI # define PLOOPY_DRAGSCROLL_DPI 375 // Fixed-DPI Drag Scroll From b1ceb4bb6abe01e98b9ae0a36b7b87cdb383884a Mon Sep 17 00:00:00 2001 From: Denis Savran Date: Mon, 18 Apr 2022 12:12:25 +0300 Subject: [PATCH 0544/1832] Fix one-shot locked modifiers (#16114) * Fix state updates of one-shot locked modifiers Activating additional one-shot locked modifiers removed previously enabled locked modifiers from the state. `get_oneshot_locked_mods` returned zero when two or more one-shot locked modifiers were enabled and then one was disabled. * Do not delete one-shot locked modifiers on a one-shot layer toggle Non-locked one-shot modifiers are not removed so this behavior adds inconsistency. Also the one-shot locked modifiers state was reset without unregistering any modifiers. --- quantum/action.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/quantum/action.c b/quantum/action.c index ef059f0e2a96..4e81a5466f7e 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -404,7 +404,7 @@ void process_action(keyrecord_t *record, action_t action) { } else if (tap_count == ONESHOT_TAP_TOGGLE) { dprint("MODS_TAP: Toggling oneshot"); clear_oneshot_mods(); - set_oneshot_locked_mods(mods); + set_oneshot_locked_mods(mods | get_oneshot_locked_mods()); register_mods(mods); # endif } else { @@ -418,8 +418,8 @@ void process_action(keyrecord_t *record, action_t action) { // Retain Oneshot mods # if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1 if (mods & get_mods()) { - clear_oneshot_locked_mods(); clear_oneshot_mods(); + set_oneshot_locked_mods(~mods & get_oneshot_locked_mods()); unregister_mods(mods); } } else if (tap_count == ONESHOT_TAP_TOGGLE) { @@ -623,7 +623,6 @@ void process_action(keyrecord_t *record, action_t action) { # if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1 do_release_oneshot = false; if (event.pressed) { - del_mods(get_oneshot_locked_mods()); if (get_oneshot_layer_state() == ONESHOT_TOGGLED) { reset_oneshot_layer(); layer_off(action.layer_tap.val); @@ -633,10 +632,8 @@ void process_action(keyrecord_t *record, action_t action) { set_oneshot_layer(action.layer_tap.val, ONESHOT_START); } } else { - add_mods(get_oneshot_locked_mods()); if (tap_count >= ONESHOT_TAP_TOGGLE) { reset_oneshot_layer(); - clear_oneshot_locked_mods(); set_oneshot_layer(action.layer_tap.val, ONESHOT_TOGGLED); } else { clear_oneshot_layer_state(ONESHOT_PRESSED); From f52f3f10772621864b16f9dc299f49df9d958cd8 Mon Sep 17 00:00:00 2001 From: "Md. Mashur Shalehin Sakib" <41992136+h0oni@users.noreply.github.com> Date: Mon, 18 Apr 2022 15:13:44 +0600 Subject: [PATCH 0545/1832] [Keyboard] Add deskpad (#15602) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/h0oni/deskpad/config.h | 62 ++++++ keyboards/h0oni/deskpad/deskpad.c | 53 +++++ keyboards/h0oni/deskpad/deskpad.h | 28 +++ keyboards/h0oni/deskpad/info.json | 15 ++ .../h0oni/deskpad/keymaps/default/keymap.c | 189 ++++++++++++++++++ .../h0oni/deskpad/keymaps/default/rules.mk | 1 + keyboards/h0oni/deskpad/keymaps/via/keymap.c | 189 ++++++++++++++++++ keyboards/h0oni/deskpad/keymaps/via/rules.mk | 3 + keyboards/h0oni/deskpad/readme.md | 19 ++ keyboards/h0oni/deskpad/rules.mk | 19 ++ 10 files changed, 578 insertions(+) create mode 100644 keyboards/h0oni/deskpad/config.h create mode 100644 keyboards/h0oni/deskpad/deskpad.c create mode 100644 keyboards/h0oni/deskpad/deskpad.h create mode 100644 keyboards/h0oni/deskpad/info.json create mode 100644 keyboards/h0oni/deskpad/keymaps/default/keymap.c create mode 100644 keyboards/h0oni/deskpad/keymaps/default/rules.mk create mode 100644 keyboards/h0oni/deskpad/keymaps/via/keymap.c create mode 100644 keyboards/h0oni/deskpad/keymaps/via/rules.mk create mode 100644 keyboards/h0oni/deskpad/readme.md create mode 100644 keyboards/h0oni/deskpad/rules.mk diff --git a/keyboards/h0oni/deskpad/config.h b/keyboards/h0oni/deskpad/config.h new file mode 100644 index 000000000000..c5c8054ca121 --- /dev/null +++ b/keyboards/h0oni/deskpad/config.h @@ -0,0 +1,62 @@ +/* Copyright 2021 Hydrogen BD + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4D53 +#define PRODUCT_ID 0x4450 //hD +#define DEVICE_VER 0x0001 +#define MANUFACTURER Hydrogen +#define PRODUCT Deskpad + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 3 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { D7, C6 } +#define MATRIX_COL_PINS { D0, D4, D1} +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 3 + +/* Defining encoder pads */ +#define ENCODERS_PAD_A { D2 } +#define ENCODERS_PAD_B { D3 } + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Defining tapping term */ +#define TAPPING_TERM 250 \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/deskpad.c b/keyboards/h0oni/deskpad/deskpad.c new file mode 100644 index 000000000000..d93a9df900e2 --- /dev/null +++ b/keyboards/h0oni/deskpad/deskpad.c @@ -0,0 +1,53 @@ +/* Copyright 2021 Hydrogen BD + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "deskpad.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + const layer_state_t curr_layer = get_highest_layer(layer_state); + if(curr_layer == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + else if(curr_layer == 1) { + if (clockwise) { + tap_code(KC_WH_D); + } else { + tap_code(KC_WH_U); + } + } + else if(curr_layer == 2) { + if (clockwise) { + tap_code16(C(KC_WH_U)); + } else { + tap_code16(C(KC_WH_D)); + } + } + else { + if (clockwise) { + tap_code(KC_BRIU); + } else { + tap_code(KC_BRID); + } + } + return false; +} +#endif \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/deskpad.h b/keyboards/h0oni/deskpad/deskpad.h new file mode 100644 index 000000000000..4c0936f8bf29 --- /dev/null +++ b/keyboards/h0oni/deskpad/deskpad.h @@ -0,0 +1,28 @@ +/* Copyright 2021 Hydrogen BD + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K10, K11, K12\ +) { \ + { K00, K01, K02 },\ + { K10, K11, K12 } \ +} + + diff --git a/keyboards/h0oni/deskpad/info.json b/keyboards/h0oni/deskpad/info.json new file mode 100644 index 000000000000..b5622d578f2b --- /dev/null +++ b/keyboards/h0oni/deskpad/info.json @@ -0,0 +1,15 @@ +{ + "keyboard_name": "Deskpad", + "url": "", + "maintainer": "Hydrogen BD", + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"k1", "x":0, "y":0}, + {"label":"k2", "x":1, "y":0}, + {"label":"k3", "x":2, "y":0}, + {"label":"k4", "x":3, "y":0}, + {"label":"k5", "x":4, "y":0}, + {"label":"k6", "x":6, "y":0}] + } + } +} diff --git a/keyboards/h0oni/deskpad/keymaps/default/keymap.c b/keyboards/h0oni/deskpad/keymaps/default/keymap.c new file mode 100644 index 000000000000..993200f18c52 --- /dev/null +++ b/keyboards/h0oni/deskpad/keymaps/default/keymap.c @@ -0,0 +1,189 @@ +/* Copyright 2021 Hydrogen BD + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_TAP, + TD_DOUBLE_HOLD, + TD_DOUBLE_SINGLE_TAP, // Send two single taps +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +enum custom_keycodes { + TD_CUT_REDO, + TD_PLAY_PAUSE_MUTE, + TD_MNXT_RIGHT, + TD_MPRV_LEFT, + TD_SEARCH_REFRESH, + QUAD_LAYER_SWITCH, + QUAD_CVXA, + YOUTUBE = SAFE_RANGE, + FACEBOOK, + DISCORD, + VALORANT, + VSCODE, +}; + +td_state_t cur_dance(qk_tap_dance_state_t *state); + +/* Quad layer switching */ +void layer_finished(qk_tap_dance_state_t *state, void *user_data); +void layer_reset(qk_tap_dance_state_t *state, void *user_data); + +/* Copy, paste, select all, cut */ +void cvxa_finished(qk_tap_dance_state_t *state, void *user_data); +void cvxa_reset(qk_tap_dance_state_t *state, void *user_data); + +static td_tap_t layerTap_state = { + .is_press_action = true, + .state = TD_NONE +}; + +static td_tap_t cvxa_state = { + .is_press_action = true, + .state = TD_NONE +}; + +// Determine the current tap dance state +td_state_t cur_dance(qk_tap_dance_state_t *state) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return TD_SINGLE_TAP; + // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'. + else return TD_SINGLE_HOLD; + } else if (state->count == 2) { + if (state->interrupted) return TD_DOUBLE_SINGLE_TAP; + else if (state->pressed) return TD_DOUBLE_HOLD; + else return TD_DOUBLE_TAP; + } else return TD_UNKNOWN; +} + +void layer_finished(qk_tap_dance_state_t *state, void *user_data) { + layerTap_state.state = cur_dance(state); + layer_off(get_highest_layer(layer_state)); + switch (layerTap_state.state) { + case TD_SINGLE_TAP: layer_on(0); break; + case TD_SINGLE_HOLD: layer_on(1); break; + case TD_DOUBLE_TAP: layer_on(2); break; + case TD_DOUBLE_HOLD: layer_on(3); break; + default: layer_on(0); + } +} + +void layer_reset(qk_tap_dance_state_t *state, void *user_data) { + layerTap_state.state = TD_NONE; +} + +void cvxa_finished(qk_tap_dance_state_t *state, void *user_data) { + cvxa_state.state = cur_dance(state); + register_mods(MOD_BIT(KC_LCTRL)); + switch (cvxa_state.state) { + case TD_SINGLE_TAP: tap_code(KC_V); break; + case TD_SINGLE_HOLD: tap_code(KC_A); break; + case TD_DOUBLE_TAP: tap_code(KC_C); break; + case TD_DOUBLE_HOLD: tap_code(KC_X); break; + default: tap_code(KC_V); + } + unregister_mods(MOD_BIT(KC_LCTRL)); +} + +void cvxa_reset(qk_tap_dance_state_t *state, void *user_data) { + cvxa_state.state = TD_NONE; +} + +// Tap Dance definitions +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_CUT_REDO] = ACTION_TAP_DANCE_DOUBLE(C(KC_Z), S(C(KC_Z))), + [TD_PLAY_PAUSE_MUTE] = ACTION_TAP_DANCE_DOUBLE(KC_MPLY, KC_MUTE), + [TD_MNXT_RIGHT] = ACTION_TAP_DANCE_DOUBLE(KC_MNXT, KC_RIGHT), + [TD_MPRV_LEFT] = ACTION_TAP_DANCE_DOUBLE(KC_MPRV, KC_LEFT), + [TD_SEARCH_REFRESH] = ACTION_TAP_DANCE_DOUBLE(KC_WREF, KC_WSCH), + [QUAD_LAYER_SWITCH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, layer_finished, layer_reset), + [QUAD_CVXA] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, cvxa_finished, cvxa_reset) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch(keycode) { + case YOUTUBE: + if (record->event.pressed) { + tap_code16(C(KC_L)); + SEND_STRING("https://www.youtube.com/"); + } else { + tap_code(KC_ENT); + } + break; + case FACEBOOK: + if (record->event.pressed) { + tap_code16(C(KC_L)); + SEND_STRING("https://www.facebook.com/"); + } else { + tap_code(KC_ENT); + } + break; + case VALORANT: + if (record->event.pressed) { + tap_code16(G(KC_S)); + SEND_STRING("valorant"); + } else { + tap_code(KC_ENT); + } + break; + case DISCORD: + if (record->event.pressed) { + tap_code16(G(KC_S)); + SEND_STRING("discord"); + } else { + tap_code(KC_ENT); + } + break; + case VSCODE: + if (record->event.pressed) { + tap_code16(G(KC_S)); + SEND_STRING("vscode"); + } else { + tap_code(KC_ENT); + } + break; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + TD(TD_CUT_REDO), TD(TD_MPRV_LEFT), TD(TD_PLAY_PAUSE_MUTE), TD(TD_MNXT_RIGHT), TD(QUAD_CVXA), TD(QUAD_LAYER_SWITCH) + ), + + [1] = LAYOUT_all( + YOUTUBE, KC_WBAK, TD(TD_SEARCH_REFRESH), KC_WFWD, FACEBOOK, TD(QUAD_LAYER_SWITCH) + ), + + [2] = LAYOUT_all( + A(KC_F4), SGUI(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH) + ), + + [3] = LAYOUT_all( + C(KC_SLSH), VALORANT, VSCODE, DISCORD, LSA(KC_A), TD(QUAD_LAYER_SWITCH) + ), +}; \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/keymaps/default/rules.mk b/keyboards/h0oni/deskpad/keymaps/default/rules.mk new file mode 100644 index 000000000000..e5ddcae8d927 --- /dev/null +++ b/keyboards/h0oni/deskpad/keymaps/default/rules.mk @@ -0,0 +1 @@ +TAP_DANCE_ENABLE = yes diff --git a/keyboards/h0oni/deskpad/keymaps/via/keymap.c b/keyboards/h0oni/deskpad/keymaps/via/keymap.c new file mode 100644 index 000000000000..993200f18c52 --- /dev/null +++ b/keyboards/h0oni/deskpad/keymaps/via/keymap.c @@ -0,0 +1,189 @@ +/* Copyright 2021 Hydrogen BD + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_TAP, + TD_DOUBLE_HOLD, + TD_DOUBLE_SINGLE_TAP, // Send two single taps +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +enum custom_keycodes { + TD_CUT_REDO, + TD_PLAY_PAUSE_MUTE, + TD_MNXT_RIGHT, + TD_MPRV_LEFT, + TD_SEARCH_REFRESH, + QUAD_LAYER_SWITCH, + QUAD_CVXA, + YOUTUBE = SAFE_RANGE, + FACEBOOK, + DISCORD, + VALORANT, + VSCODE, +}; + +td_state_t cur_dance(qk_tap_dance_state_t *state); + +/* Quad layer switching */ +void layer_finished(qk_tap_dance_state_t *state, void *user_data); +void layer_reset(qk_tap_dance_state_t *state, void *user_data); + +/* Copy, paste, select all, cut */ +void cvxa_finished(qk_tap_dance_state_t *state, void *user_data); +void cvxa_reset(qk_tap_dance_state_t *state, void *user_data); + +static td_tap_t layerTap_state = { + .is_press_action = true, + .state = TD_NONE +}; + +static td_tap_t cvxa_state = { + .is_press_action = true, + .state = TD_NONE +}; + +// Determine the current tap dance state +td_state_t cur_dance(qk_tap_dance_state_t *state) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return TD_SINGLE_TAP; + // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'. + else return TD_SINGLE_HOLD; + } else if (state->count == 2) { + if (state->interrupted) return TD_DOUBLE_SINGLE_TAP; + else if (state->pressed) return TD_DOUBLE_HOLD; + else return TD_DOUBLE_TAP; + } else return TD_UNKNOWN; +} + +void layer_finished(qk_tap_dance_state_t *state, void *user_data) { + layerTap_state.state = cur_dance(state); + layer_off(get_highest_layer(layer_state)); + switch (layerTap_state.state) { + case TD_SINGLE_TAP: layer_on(0); break; + case TD_SINGLE_HOLD: layer_on(1); break; + case TD_DOUBLE_TAP: layer_on(2); break; + case TD_DOUBLE_HOLD: layer_on(3); break; + default: layer_on(0); + } +} + +void layer_reset(qk_tap_dance_state_t *state, void *user_data) { + layerTap_state.state = TD_NONE; +} + +void cvxa_finished(qk_tap_dance_state_t *state, void *user_data) { + cvxa_state.state = cur_dance(state); + register_mods(MOD_BIT(KC_LCTRL)); + switch (cvxa_state.state) { + case TD_SINGLE_TAP: tap_code(KC_V); break; + case TD_SINGLE_HOLD: tap_code(KC_A); break; + case TD_DOUBLE_TAP: tap_code(KC_C); break; + case TD_DOUBLE_HOLD: tap_code(KC_X); break; + default: tap_code(KC_V); + } + unregister_mods(MOD_BIT(KC_LCTRL)); +} + +void cvxa_reset(qk_tap_dance_state_t *state, void *user_data) { + cvxa_state.state = TD_NONE; +} + +// Tap Dance definitions +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_CUT_REDO] = ACTION_TAP_DANCE_DOUBLE(C(KC_Z), S(C(KC_Z))), + [TD_PLAY_PAUSE_MUTE] = ACTION_TAP_DANCE_DOUBLE(KC_MPLY, KC_MUTE), + [TD_MNXT_RIGHT] = ACTION_TAP_DANCE_DOUBLE(KC_MNXT, KC_RIGHT), + [TD_MPRV_LEFT] = ACTION_TAP_DANCE_DOUBLE(KC_MPRV, KC_LEFT), + [TD_SEARCH_REFRESH] = ACTION_TAP_DANCE_DOUBLE(KC_WREF, KC_WSCH), + [QUAD_LAYER_SWITCH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, layer_finished, layer_reset), + [QUAD_CVXA] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, cvxa_finished, cvxa_reset) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch(keycode) { + case YOUTUBE: + if (record->event.pressed) { + tap_code16(C(KC_L)); + SEND_STRING("https://www.youtube.com/"); + } else { + tap_code(KC_ENT); + } + break; + case FACEBOOK: + if (record->event.pressed) { + tap_code16(C(KC_L)); + SEND_STRING("https://www.facebook.com/"); + } else { + tap_code(KC_ENT); + } + break; + case VALORANT: + if (record->event.pressed) { + tap_code16(G(KC_S)); + SEND_STRING("valorant"); + } else { + tap_code(KC_ENT); + } + break; + case DISCORD: + if (record->event.pressed) { + tap_code16(G(KC_S)); + SEND_STRING("discord"); + } else { + tap_code(KC_ENT); + } + break; + case VSCODE: + if (record->event.pressed) { + tap_code16(G(KC_S)); + SEND_STRING("vscode"); + } else { + tap_code(KC_ENT); + } + break; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + TD(TD_CUT_REDO), TD(TD_MPRV_LEFT), TD(TD_PLAY_PAUSE_MUTE), TD(TD_MNXT_RIGHT), TD(QUAD_CVXA), TD(QUAD_LAYER_SWITCH) + ), + + [1] = LAYOUT_all( + YOUTUBE, KC_WBAK, TD(TD_SEARCH_REFRESH), KC_WFWD, FACEBOOK, TD(QUAD_LAYER_SWITCH) + ), + + [2] = LAYOUT_all( + A(KC_F4), SGUI(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH) + ), + + [3] = LAYOUT_all( + C(KC_SLSH), VALORANT, VSCODE, DISCORD, LSA(KC_A), TD(QUAD_LAYER_SWITCH) + ), +}; \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/keymaps/via/rules.mk b/keyboards/h0oni/deskpad/keymaps/via/rules.mk new file mode 100644 index 000000000000..f61b35461043 --- /dev/null +++ b/keyboards/h0oni/deskpad/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/readme.md b/keyboards/h0oni/deskpad/readme.md new file mode 100644 index 000000000000..a79983fff779 --- /dev/null +++ b/keyboards/h0oni/deskpad/readme.md @@ -0,0 +1,19 @@ +# Hydrogen Deskpad + +A 5 key macropad with an encoder, that can be mounted to a desk or below your monitor. + +* Keyboard Maintainer: [Hydrogen BD](https://www.facebook.com/hgenbd/) +* Hardware Supported: [5k Deskpad](https://fb.watch/akRLW7s-UT/) + +Make example for this keyboard (after setting up your build environment): + + make h0oni/deskpad:default + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the left most key) and plug in the keyboard. +* **Physical reset button**: Press the button at the back of the PCB twice to enter into the bootloader mode. + +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). \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/rules.mk b/keyboards/h0oni/deskpad/rules.mk new file mode 100644 index 000000000000..f28bef72baa5 --- /dev/null +++ b/keyboards/h0oni/deskpad/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes \ No newline at end of file From 8c91e90381fff838554c979da416341393e0630c Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Mon, 18 Apr 2022 03:28:28 -0600 Subject: [PATCH 0546/1832] [Keyboard] sandbox - fix keymaps (#16873) --- keyboards/dailycraft/sandbox/rev1/config.h | 2 +- .../sandbox/rev1/keymaps/oled/keymap.c | 42 ------------------ .../sandbox/rev1/keymaps/oled/readme.md | 1 - .../sandbox/rev1/keymaps/oled/rules.mk | 2 - .../sandbox/rev1/keymaps/via/keymap.c | 15 ++----- .../sandbox/rev2/keymaps/oled/keymap.c | 43 ------------------- .../sandbox/rev2/keymaps/oled/readme.md | 1 - .../sandbox/rev2/keymaps/oled/rules.mk | 2 - .../sandbox/rev2/keymaps/via/keymap.c | 15 ++----- keyboards/dailycraft/sandbox/rules.mk | 1 + 10 files changed, 10 insertions(+), 114 deletions(-) delete mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/oled/keymap.c delete mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/oled/readme.md delete mode 100644 keyboards/dailycraft/sandbox/rev1/keymaps/oled/rules.mk delete mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/oled/keymap.c delete mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/oled/readme.md delete mode 100644 keyboards/dailycraft/sandbox/rev2/keymaps/oled/rules.mk diff --git a/keyboards/dailycraft/sandbox/rev1/config.h b/keyboards/dailycraft/sandbox/rev1/config.h index 102b8247dba8..2bd405d2aaa5 100644 --- a/keyboards/dailycraft/sandbox/rev1/config.h +++ b/keyboards/dailycraft/sandbox/rev1/config.h @@ -50,7 +50,7 @@ along with this program. If not, see . /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ -#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 +//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 //#define LED_NUM_LOCK_PIN B0 //#define LED_CAPS_LOCK_PIN B1 diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/oled/keymap.c b/keyboards/dailycraft/sandbox/rev1/keymaps/oled/keymap.c deleted file mode 100644 index 25910ef919e5..000000000000 --- a/keyboards/dailycraft/sandbox/rev1/keymaps/oled/keymap.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright 2021 yfuku - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum layer_names { - _0, - _1, - _2, - _3 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_0] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, - KC_6, KC_7, KC_8, KC_9, KC_0 - ), - [_1] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [_2] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [_3] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/oled/readme.md b/keyboards/dailycraft/sandbox/rev1/keymaps/oled/readme.md deleted file mode 100644 index 7fe2318a44ed..000000000000 --- a/keyboards/dailycraft/sandbox/rev1/keymaps/oled/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for sandbox diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/oled/rules.mk b/keyboards/dailycraft/sandbox/rev1/keymaps/oled/rules.mk deleted file mode 100644 index ab9d5c6ac2f8..000000000000 --- a/keyboards/dailycraft/sandbox/rev1/keymaps/oled/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -VIA_ENABLE = yes -OLED_ENABLE = yes diff --git a/keyboards/dailycraft/sandbox/rev1/keymaps/via/keymap.c b/keyboards/dailycraft/sandbox/rev1/keymaps/via/keymap.c index 047eabf513c0..39a9f1d153c8 100644 --- a/keyboards/dailycraft/sandbox/rev1/keymaps/via/keymap.c +++ b/keyboards/dailycraft/sandbox/rev1/keymaps/via/keymap.c @@ -15,27 +15,20 @@ */ #include QMK_KEYBOARD_H -enum layer_names { - _1, - _2, - _3, - _4 -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_0] = LAYOUT( + [0] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 ), - [_1] = LAYOUT( + [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_2] = LAYOUT( + [2] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_3] = LAYOUT( + [3] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/oled/keymap.c b/keyboards/dailycraft/sandbox/rev2/keymaps/oled/keymap.c deleted file mode 100644 index c72b85c79a7c..000000000000 --- a/keyboards/dailycraft/sandbox/rev2/keymaps/oled/keymap.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright 2021 yfuku - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum layer_names { - _0, - _1, - _2, - _3 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_0] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_A, KC_B, KC_C, KC_D, KC_E, - KC_6, KC_7, KC_8, KC_9, KC_0, KC_F, KC_G, KC_H, KC_I, KC_J - ), - [_1] = LAYOUT( - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [_2] = LAYOUT( - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [_3] = LAYOUT( - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; - diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/oled/readme.md b/keyboards/dailycraft/sandbox/rev2/keymaps/oled/readme.md deleted file mode 100644 index c0c3cb6eecf4..000000000000 --- a/keyboards/dailycraft/sandbox/rev2/keymaps/oled/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The oled keymap for sandbox diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/oled/rules.mk b/keyboards/dailycraft/sandbox/rev2/keymaps/oled/rules.mk deleted file mode 100644 index ab9d5c6ac2f8..000000000000 --- a/keyboards/dailycraft/sandbox/rev2/keymaps/oled/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -VIA_ENABLE = yes -OLED_ENABLE = yes diff --git a/keyboards/dailycraft/sandbox/rev2/keymaps/via/keymap.c b/keyboards/dailycraft/sandbox/rev2/keymaps/via/keymap.c index c20228429250..8796e0443d16 100644 --- a/keyboards/dailycraft/sandbox/rev2/keymaps/via/keymap.c +++ b/keyboards/dailycraft/sandbox/rev2/keymaps/via/keymap.c @@ -15,27 +15,20 @@ */ #include QMK_KEYBOARD_H -enum layer_names { - _0, - _1, - _2, - _3 -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_0] = LAYOUT( + [0] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_A, KC_B, KC_C, KC_D, KC_E, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F, KC_G, KC_H, KC_I, KC_J ), - [_1] = LAYOUT( + [1] = LAYOUT( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_2] = LAYOUT( + [2] = LAYOUT( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_3] = LAYOUT( + [3] = LAYOUT( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) diff --git a/keyboards/dailycraft/sandbox/rules.mk b/keyboards/dailycraft/sandbox/rules.mk index b3386ed7712a..f33c50e3527f 100644 --- a/keyboards/dailycraft/sandbox/rules.mk +++ b/keyboards/dailycraft/sandbox/rules.mk @@ -16,5 +16,6 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output +OLED_ENABLE = yes DEFAULT_FOLDER = dailycraft/sandbox/rev2 From ad9a137942248cb63501a0f61cc3eca03675faca Mon Sep 17 00:00:00 2001 From: DeeDesired <98406203+DeeDesired@users.noreply.github.com> Date: Mon, 18 Apr 2022 04:29:53 -0500 Subject: [PATCH 0547/1832] [Keyboard] Add CrimsonKeyboards' Resume1800 (#16842) --- .../crimsonkeyboards/resume1800/config.h | 144 ++++++++++++++++++ .../crimsonkeyboards/resume1800/info.json | 27 ++++ .../resume1800/keymaps/dee/keymap.c | 50 ++++++ .../resume1800/keymaps/default/keymap.c | 50 ++++++ .../resume1800/keymaps/iso/keymap.c | 50 ++++++ .../resume1800/keymaps/via/keymap.c | 50 ++++++ .../resume1800/keymaps/via/rules.mk | 2 + .../crimsonkeyboards/resume1800/readme.md | 23 +++ .../crimsonkeyboards/resume1800/resume1800.c | 16 ++ .../crimsonkeyboards/resume1800/resume1800.h | 53 +++++++ .../crimsonkeyboards/resume1800/rules.mk | 21 +++ 11 files changed, 486 insertions(+) create mode 100644 keyboards/crimsonkeyboards/resume1800/config.h create mode 100644 keyboards/crimsonkeyboards/resume1800/info.json create mode 100644 keyboards/crimsonkeyboards/resume1800/keymaps/dee/keymap.c create mode 100644 keyboards/crimsonkeyboards/resume1800/keymaps/default/keymap.c create mode 100644 keyboards/crimsonkeyboards/resume1800/keymaps/iso/keymap.c create mode 100644 keyboards/crimsonkeyboards/resume1800/keymaps/via/keymap.c create mode 100644 keyboards/crimsonkeyboards/resume1800/keymaps/via/rules.mk create mode 100644 keyboards/crimsonkeyboards/resume1800/readme.md create mode 100644 keyboards/crimsonkeyboards/resume1800/resume1800.c create mode 100644 keyboards/crimsonkeyboards/resume1800/resume1800.h create mode 100644 keyboards/crimsonkeyboards/resume1800/rules.mk diff --git a/keyboards/crimsonkeyboards/resume1800/config.h b/keyboards/crimsonkeyboards/resume1800/config.h new file mode 100644 index 000000000000..37c36b42d45f --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/config.h @@ -0,0 +1,144 @@ +/* Copyright 2022 CrimsonKeyboards + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0xC18B +#define DEVICE_VER 0x0001 +#define MANUFACTURER CrimsonKeyboards +#define PRODUCT Resume1800 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 20 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ + +#define MATRIX_ROW_PINS { A5, A0, A1, B1, B2, B0 } +#define MATRIX_COL_PINS { A2, B3, A3, B4, A4, D1, D5, D6, A6, A7, C7, C6, C5, C4, D7, C3, C2, C1, C0, D0 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define USB_MAX_POWER_CONSUMPTION 100 + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + +// #define RGB_DI_PIN E2 +// #ifdef RGB_DI_PIN +// #define RGBLED_NUM 16 +// #define RGBLIGHT_HUE_STEP 8 +// #define RGBLIGHT_SAT_STEP 8 +// #define RGBLIGHT_VAL_STEP 8 +// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +// /*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +// #endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Set LED indicator pins */ +#define LED_NUM_LOCK_PIN B5 +#define LED_CAPS_LOCK_PIN B6 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + diff --git a/keyboards/crimsonkeyboards/resume1800/info.json b/keyboards/crimsonkeyboards/resume1800/info.json new file mode 100644 index 000000000000..93bd8ccab16f --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/info.json @@ -0,0 +1,27 @@ +{ + "keyboard_name": "Resume1800", + "url": "", + "maintainer": "CrimsonKeyboards", + "layouts": { + "LAYOUT_resume1800_ansi_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0},{"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"F13", "x":13, "y":0}, {"label":"F14", "x":14, "y":0}, {"label":"PrtSc", "x":15, "y":0}, {"label":"Scroll Lock", "x":16, "y":0}, {"label":"Pause", "x":17, "y":0}, {"label":"Insert", "x":18, "y":0}, {"label":"End", "x":19, "y":0}, + {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Delete", "x":15, "y":1}, {"label":"Num Lock", "x":16, "y":1}, {"label":"/", "x":17, "y":1}, {"label":"*", "x":18, "y":1}, {"label":"-", "x":19, "y":1}, + {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"Home", "x":15, "y":2}, {"label":"7", "x":16, "y":2}, {"label":"8", "x":17, "y":2}, {"label":"9", "x":18, "y":2}, {"label":"+", "x":19, "y":2}, + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"PgUp", "x":15, "y":3}, {"label":"4", "x":16, "y":3}, {"label":"5", "x":17, "y":3}, {"label":"6", "x":18, "y":3}, {"label":"=", "x":19, "y":3}, + {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"PgDn", "x":15, "y":4}, {"label":"1", "x":16, "y":4}, {"label":"2", "x":17, "y":4}, {"label":"3", "x":18, "y":4}, {"label":"Enter", "x":19, "y":4}, + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"label":"Space", "x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"label":"00", "x":16, "y":5}, {"label":"0", "x":17, "y":5}, {"label":".", "x":18, "y":5}, {"label":"Bksp", "x":19, "y":5} + ] + } + "LAYOUT_resume1800_iso_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"F13", "x":13, "y":0}, {"label":"F14", "x":14, "y":0}, {"label":"PrtSc", "x":15, "y":0}, {"label":"Scroll Lock", "x":16, "y":0}, {"label":"Pause", "x":17, "y":0}, {"label":"Insert", "x":18, "y":0}, {"label":"End", "x":19, "y":0}, + {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Delete", "x":15, "y":1}, {"label":"Num Lock", "x":16, "y":1}, {"label":"/", "x":17, "y":1}, {"label":"*", "x":18, "y":1}, {"label":"-", "x":19, "y":1}, + {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, {"label":"Home", "x":15, "y":2}, {"label":"7", "x":16, "y":2}, {"label":"8", "x":17, "y":2}, {"label":"9", "x":18, "y":2}, {"label":"+", "x":19, "y":2}, + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"|", "x":12.75, "y":3}, {"label":"PgUp", "x":15, "y":3}, {"label":"4", "x":16, "y":3}, {"label":"5", "x":17, "y":3}, {"label":"6", "x":18, "y":3}, {"label":"=", "x":19, "y":3}, + {"label":"Shift", "x":0, "y":4, "w":1.25}, {"label":"~", "x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"PgDn", "x":15, "y":4}, {"label":"1", "x":16, "y":4}, {"label":"2", "x":17, "y":4}, {"label":"3", "x":18, "y":4}, {"label":"Enter", "x":19, "y":4}, + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"label":"00", "x":16, "y":5}, {"label":"0", "x":17, "y":5}, {"label":".", "x":18, "y":5}, {"label":"Bksp", "x":19, "y":5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/crimsonkeyboards/resume1800/keymaps/dee/keymap.c b/keyboards/crimsonkeyboards/resume1800/keymaps/dee/keymap.c new file mode 100644 index 000000000000..c7f471a113a2 --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/keymaps/dee/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2022 CrimsonKeyboards + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum custom_keycodes { + KC_00 = SAFE_RANGE, //Double Zero +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_00: + if (record->event.pressed) { + // when keycode KC_00 is pressed + SEND_STRING("00"); + } else { + // when keycode KC_00 is released + } + break; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_resume1800_iso_all( + /* Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 Print Scroll Lock Pause Insert End */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_PRINT_SCREEN, KC_SCRL, KC_PAUS, KC_INS, KC_END, + /* ~ 1 2 3 4 5 6 7 8 9 0 - = Backspace Delete Num Lock Num / Num * Num - */ + KC_GRAVE, 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_DELETE, KC_NUM_LOCK, KC_PSLS, KC_PAST, KC_PMNS, + /* Tab Q W E R T Y U I O P [ ] ISO Enter Home Num 7 Num 8 Num 9 N/A */ + 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_ENT, KC_HOME, KC_P7, KC_P8, KC_P9, KC_TRNS, + /* Caps A S D F G H J K L ; ' ISO \ Page Up Num 4 Num 5 Num 6 Num + */ + 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_PGUP, KC_P4, KC_P5, KC_P6, KC_PPLS, + /* Left Shift N/A Z X C V B N M , . / R Shift Up Page Down Num 1 Num 2 Num 3 N/A */ + KC_LSFT, KC_TRNS, 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, KC_P1, KC_P2, KC_P3, KC_TRNS, + /* L Control Windows L Alt Space R Alt Fn R Control Left Down Right Num 00 Num 0 Num . Num Enter */ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_ALGR, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_00, KC_P0, KC_PDOT, KC_PENT) +}; diff --git a/keyboards/crimsonkeyboards/resume1800/keymaps/default/keymap.c b/keyboards/crimsonkeyboards/resume1800/keymaps/default/keymap.c new file mode 100644 index 000000000000..b8adef49b0ed --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/keymaps/default/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2022 CrimsonKeyboards + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum custom_keycodes { + KC_00 = SAFE_RANGE, //Double Zero +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_00: + if (record->event.pressed) { + // when keycode KC_00 is pressed + SEND_STRING("00"); + } else { + // when keycode KC_00 is released + } + break; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_resume1800_ansi_all( + /* Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 Print Scroll Lock Pause Insert End */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS, KC_END, + /* ~ 1 2 3 4 5 6 7 8 9 0 - = Backspace Delete Num Lock Num / Num * Num - */ + KC_GRAVE, 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_DELETE, KC_NUM_LOCK, KC_PSLS, KC_PAST, KC_PMNS, + /* Tab Q W E R T Y U I O P [ ] \ Home Num 7 Num 8 Num 9 N/A */ + 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_HOME, KC_P7, KC_P8, KC_P9, KC_TRNS, + /* Caps A S D F G H J K L ; ' Enter Page Up Num 4 Num 5 Num 6 Num + */ + 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, KC_P4, KC_P5, KC_P6, KC_PPLS, + /* Left Shift Z X C V B N M , . / R Shift Up Page Down Num 1 Num 2 Num 3 N/A */ + 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, KC_P1, KC_P2, KC_P3, KC_TRNS, + /* L Control Windows L Alt Space R Alt Fn R Control Left Down Right Num 00 Num 0 Num . Num Enter */ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_00, KC_P0, KC_PDOT, KC_PENT) +}; diff --git a/keyboards/crimsonkeyboards/resume1800/keymaps/iso/keymap.c b/keyboards/crimsonkeyboards/resume1800/keymaps/iso/keymap.c new file mode 100644 index 000000000000..ea08c07b1977 --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/keymaps/iso/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2022 CrimsonKeyboards + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum custom_keycodes { + KC_00 = SAFE_RANGE, //Double Zero +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_00: + if (record->event.pressed) { + // when keycode KC_00 is pressed + SEND_STRING("00"); + } else { + // when keycode KC_00 is released + } + break; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_resume1800_iso_all( + /* Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 Print Scroll Lock Pause Insert End */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS, KC_END, + /* ~ 1 2 3 4 5 6 7 8 9 0 - = Backspace Delete Num Lock Num / Num * Num - */ + KC_GRAVE, 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_DELETE, KC_NUM_LOCK, KC_PSLS, KC_PAST, KC_PMNS, + /* Tab Q W E R T Y U I O P [ ] Home Num 7 Num 8 Num 9 N/A */ + 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_HOME, KC_P7, KC_P8, KC_P9, KC_TRNS, + /* Caps A S D F G H J K L ; ' ISO # ISO Enter Page Up Num 4 Num 5 Num 6 Num + */ + 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_NUHS, KC_ENT, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PPLS, + /* Left Shift ISO \ Z X C V B N M , . / R Shift Up Page Down Num 1 Num 2 Num 3 N/A */ + 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, KC_P1, KC_P2, KC_P3, KC_TRNS, + /* L Control Windows L Alt Space R Alt Fn R Control Left Down Right Num 00 Num 0 Num . Num Enter */ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_ALGR, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_00, KC_P0, KC_PDOT, KC_PENT) +}; diff --git a/keyboards/crimsonkeyboards/resume1800/keymaps/via/keymap.c b/keyboards/crimsonkeyboards/resume1800/keymaps/via/keymap.c new file mode 100644 index 000000000000..b8adef49b0ed --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/keymaps/via/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2022 CrimsonKeyboards + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum custom_keycodes { + KC_00 = SAFE_RANGE, //Double Zero +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_00: + if (record->event.pressed) { + // when keycode KC_00 is pressed + SEND_STRING("00"); + } else { + // when keycode KC_00 is released + } + break; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_resume1800_ansi_all( + /* Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 Print Scroll Lock Pause Insert End */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS, KC_END, + /* ~ 1 2 3 4 5 6 7 8 9 0 - = Backspace Delete Num Lock Num / Num * Num - */ + KC_GRAVE, 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_DELETE, KC_NUM_LOCK, KC_PSLS, KC_PAST, KC_PMNS, + /* Tab Q W E R T Y U I O P [ ] \ Home Num 7 Num 8 Num 9 N/A */ + 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_HOME, KC_P7, KC_P8, KC_P9, KC_TRNS, + /* Caps A S D F G H J K L ; ' Enter Page Up Num 4 Num 5 Num 6 Num + */ + 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, KC_P4, KC_P5, KC_P6, KC_PPLS, + /* Left Shift Z X C V B N M , . / R Shift Up Page Down Num 1 Num 2 Num 3 N/A */ + 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, KC_P1, KC_P2, KC_P3, KC_TRNS, + /* L Control Windows L Alt Space R Alt Fn R Control Left Down Right Num 00 Num 0 Num . Num Enter */ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_00, KC_P0, KC_PDOT, KC_PENT) +}; diff --git a/keyboards/crimsonkeyboards/resume1800/keymaps/via/rules.mk b/keyboards/crimsonkeyboards/resume1800/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/crimsonkeyboards/resume1800/readme.md b/keyboards/crimsonkeyboards/resume1800/readme.md new file mode 100644 index 000000000000..98cfdc5a2fd0 --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/readme.md @@ -0,0 +1,23 @@ +# Resume1800 + +![Resume1800](https://i.imgur.com/IjP3Opw.jpg) + +An 1800 compact keyboard that is built with soley through-hole components + +* Keyboard Maintainer: [CrimsonKeyboards](https://github.com/DeeDesired) +* Hardware Supported: Resume1800, atmega32a + +Make example for this keyboard (after setting up your build environment): + + make crimsonkeyboards/resume1800:default + +Flashing example for this keyboard: + + make crimsonkeyboards/resume1800:default:flash + +How to enter the bootloader: +* 1) Press and hold BOOT +* 2) Press and release RESET +* 3) Release BOOT + +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/crimsonkeyboards/resume1800/resume1800.c b/keyboards/crimsonkeyboards/resume1800/resume1800.c new file mode 100644 index 000000000000..63194c6605dd --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/resume1800.c @@ -0,0 +1,16 @@ +/* + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "resume1800.h" \ No newline at end of file diff --git a/keyboards/crimsonkeyboards/resume1800/resume1800.h b/keyboards/crimsonkeyboards/resume1800/resume1800.h new file mode 100644 index 000000000000..861fe3c0324f --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/resume1800.h @@ -0,0 +1,53 @@ +/* + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define _x_ KC_NO + +#include "quantum.h" + +#define LAYOUT_resume1800_ansi_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, K1G, K1H, K1I, K1J, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, K2G, K2H, K2I, K2J, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3F, K3G, K3H, K3I, K3J, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, K4G, K4H, K4I, K4J, \ + K50, K51, K52, K56, K59, K5A, K5B, K5C, K5D, K5F, K5G, K5H, K5I, K5J \ +) { \ +{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J }, \ +{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, _x_, K1F, K1G, K1H, K1I, K1J }, \ +{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, _x_, K2F, K2G, K2H, K2I, K2J }, \ +{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, _x_, K3D, _x_, K3F, K3G, K3H, K3I, K3J }, \ +{ K40, _x_, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, _x_, K4F, K4G, K4H, K4I, K4J }, \ +{ K50, K51, K52, _x_, _x_, _x_, K56, _x_, _x_, K59, K5A, K5B, K5C, K5D, _x_, K5F, K5G, K5H, K5I, K5J } \ +} + +#define LAYOUT_resume1800_iso_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, K1G, K1H, K1I, K1J, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, K2G, K2H, K2I, K2J, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3F, K3G, K3H, K3I, K3J, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, K4G, K4H, K4I, K4J, \ + K50, K51, K52, K56, K59, K5A, K5B, K5C, K5D, K5F, K5G, K5H, K5I, K5J \ +) { \ +{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J }, \ +{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, _x_, K1F, K1G, K1H, K1I, K1J }, \ +{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, _x_, K2F, K2G, K2H, K2I, K2J }, \ +{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, _x_, K3D, _x_, K3F, K3G, K3H, K3I, K3J }, \ +{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, _x_, K4F, K4G, K4H, K4I, K4J }, \ +{ K50, K51, K52, _x_, _x_, _x_, K56, _x_, _x_, K59, K5A, K5B, K5C, K5D, _x_, K5F, K5G, K5H, K5I, K5J } \ +} diff --git a/keyboards/crimsonkeyboards/resume1800/rules.mk b/keyboards/crimsonkeyboards/resume1800/rules.mk new file mode 100644 index 000000000000..9493018f5c89 --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32a + +# Processor frequency +F_CPU = 16000000 + +# Bootloader selection +BOOTLOADER = usbasploader + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From b8245a550752ed3826902f63a75203c67282ace7 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 18 Apr 2022 11:51:40 +0100 Subject: [PATCH 0548/1832] Expose API for hardware unique ID (#16869) --- .../onekey/keymaps/hardware_id/keymap.c | 28 +++++++++++++++++++ platforms/arm_atsam/hardware_id.c | 9 ++++++ platforms/avr/hardware_id.c | 13 +++++++++ platforms/chibios/hardware_id.c | 15 ++++++++++ platforms/common.mk | 1 + platforms/hardware_id.h | 18 ++++++++++++ platforms/test/hardware_id.c | 9 ++++++ 7 files changed, 93 insertions(+) create mode 100644 keyboards/handwired/onekey/keymaps/hardware_id/keymap.c create mode 100644 platforms/arm_atsam/hardware_id.c create mode 100644 platforms/avr/hardware_id.c create mode 100644 platforms/chibios/hardware_id.c create mode 100644 platforms/hardware_id.h create mode 100644 platforms/test/hardware_id.c diff --git a/keyboards/handwired/onekey/keymaps/hardware_id/keymap.c b/keyboards/handwired/onekey/keymaps/hardware_id/keymap.c new file mode 100644 index 000000000000..bcec8b3ca1b9 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/hardware_id/keymap.c @@ -0,0 +1,28 @@ +#include QMK_KEYBOARD_H +#include "hardware_id.h" +#include +enum custom_keycodes { + DUMP_ID = SAFE_RANGE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_ortho_1x1(DUMP_ID) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case DUMP_ID: + if (record->event.pressed) { + hardware_id_t id = get_hardware_id(); + char buffer[100]; + sprintf(buffer, "ID:%lu:%lu:%lu:%lu\n", id.data[0], id.data[1], id.data[2], id.data[3]); +#ifdef CONSOLE_ENABLE + printf(buffer); +#else + send_string(buffer); +#endif + } + break; + } + return false; +}; diff --git a/platforms/arm_atsam/hardware_id.c b/platforms/arm_atsam/hardware_id.c new file mode 100644 index 000000000000..8b3b35a4924a --- /dev/null +++ b/platforms/arm_atsam/hardware_id.c @@ -0,0 +1,9 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "hardware_id.h" + +hardware_id_t get_hardware_id(void) { + hardware_id_t id = {0}; + return id; +} diff --git a/platforms/avr/hardware_id.c b/platforms/avr/hardware_id.c new file mode 100644 index 000000000000..073834c19cb7 --- /dev/null +++ b/platforms/avr/hardware_id.c @@ -0,0 +1,13 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include +#include "hardware_id.h" + +hardware_id_t get_hardware_id(void) { + hardware_id_t id = {0}; + for (uint8_t i = 0; i < 10; i += 1) { + ((uint8_t*)&id)[i] = boot_signature_byte_get(i + 0x0E); + } + return id; +} diff --git a/platforms/chibios/hardware_id.c b/platforms/chibios/hardware_id.c new file mode 100644 index 000000000000..888a2754657d --- /dev/null +++ b/platforms/chibios/hardware_id.c @@ -0,0 +1,15 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include +#include "hardware_id.h" + +hardware_id_t get_hardware_id(void) { + hardware_id_t id = {0}; +#ifdef UID_BASE + id.data[0] = (uint32_t)(*((uint32_t *)UID_BASE)); + id.data[1] = (uint32_t)(*((uint32_t *)(UID_BASE + 4))); + id.data[1] = (uint32_t)(*((uint32_t *)(UID_BASE + 8))); +#endif + return id; +} diff --git a/platforms/common.mk b/platforms/common.mk index 2a1fc8d377be..693bdc8cf0e3 100644 --- a/platforms/common.mk +++ b/platforms/common.mk @@ -2,6 +2,7 @@ PLATFORM_COMMON_DIR = $(PLATFORM_PATH)/$(PLATFORM_KEY) TMK_COMMON_SRC += \ $(PLATFORM_PATH)/suspend.c \ + $(PLATFORM_COMMON_DIR)/hardware_id.c \ $(PLATFORM_COMMON_DIR)/platform.c \ $(PLATFORM_COMMON_DIR)/suspend.c \ $(PLATFORM_COMMON_DIR)/timer.c \ diff --git a/platforms/hardware_id.h b/platforms/hardware_id.h new file mode 100644 index 000000000000..0c161863d645 --- /dev/null +++ b/platforms/hardware_id.h @@ -0,0 +1,18 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include + +/** \brief Storage for a hardware ID + * + * Ensure this is sized to cover all hardware scenarios + */ +typedef struct hardware_id_t { + uint32_t data[4]; +} hardware_id_t; + +/** \brief Query the devices "unique" ID + */ +hardware_id_t get_hardware_id(void); diff --git a/platforms/test/hardware_id.c b/platforms/test/hardware_id.c new file mode 100644 index 000000000000..8b3b35a4924a --- /dev/null +++ b/platforms/test/hardware_id.c @@ -0,0 +1,9 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "hardware_id.h" + +hardware_id_t get_hardware_id(void) { + hardware_id_t id = {0}; + return id; +} From f50a623909a29e45fb9bebfd16afd1835277b530 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 19 Apr 2022 00:39:45 +1000 Subject: [PATCH 0549/1832] Fixup AVR builds. (#16875) * Fixup AVR builds. * Update platforms/avr/hardware_id.c Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan --- platforms/avr/hardware_id.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/platforms/avr/hardware_id.c b/platforms/avr/hardware_id.c index 073834c19cb7..b61f0d92df85 100644 --- a/platforms/avr/hardware_id.c +++ b/platforms/avr/hardware_id.c @@ -1,6 +1,12 @@ // Copyright 2022 QMK // SPDX-License-Identifier: GPL-2.0-or-later +// For some reason this bit is undocumented for some AVR parts and not defined in their avr-libc IO headers +// See https://stackoverflow.com/questions/12350914/how-to-read-atmega-32-signature-row +#ifndef SIGRD +# define SIGRD 5 +#endif // SIGRD + #include #include "hardware_id.h" From 6819420b0edbcd242fa404c473e5cc986343ca64 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 19 Apr 2022 00:46:52 +1000 Subject: [PATCH 0550/1832] Preinstall python dependencies before executing `qmk`. (#16874) --- .github/workflows/develop_api.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/develop_api.yml b/.github/workflows/develop_api.yml index 3eb6e53c20b7..44d259cfac70 100644 --- a/.github/workflows/develop_api.yml +++ b/.github/workflows/develop_api.yml @@ -24,7 +24,9 @@ jobs: persist-credentials: false - name: Generate API Data - run: qmk generate-api + run: | + python3 -m pip install -r requirements-dev.txt + qmk generate-api - name: Upload API Data uses: jakejarvis/s3-sync-action@master From 1ab1ce1b46bc3c9ec15caee1b06821d310c8fa50 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Mon, 18 Apr 2022 11:01:33 -0600 Subject: [PATCH 0551/1832] [Keyboard] Fix resume1800 - Dynamic layer count undefined (#16877) --- .../crimsonkeyboards/resume1800/config.h | 38 +------------------ .../resume1800/keymaps/via/config.h | 4 ++ .../crimsonkeyboards/resume1800/readme.md | 2 +- 3 files changed, 7 insertions(+), 37 deletions(-) create mode 100644 keyboards/crimsonkeyboards/resume1800/keymaps/via/config.h diff --git a/keyboards/crimsonkeyboards/resume1800/config.h b/keyboards/crimsonkeyboards/resume1800/config.h index 37c36b42d45f..d6552b744eec 100644 --- a/keyboards/crimsonkeyboards/resume1800/config.h +++ b/keyboards/crimsonkeyboards/resume1800/config.h @@ -48,37 +48,6 @@ along with this program. If not, see . #define USB_MAX_POWER_CONSUMPTION 100 -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - -// #define BACKLIGHT_PIN B7 -// #define BACKLIGHT_BREATHING -// #define BACKLIGHT_LEVELS 3 - -// #define RGB_DI_PIN E2 -// #ifdef RGB_DI_PIN -// #define RGBLED_NUM 16 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -// /*== all animations enable ==*/ -// #define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -// #endif - /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -89,8 +58,6 @@ along with this program. If not, see . /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST -/* number of backlight levels */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -139,6 +106,5 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT /* Bootmagic Lite key configuration */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 - +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/crimsonkeyboards/resume1800/keymaps/via/config.h b/keyboards/crimsonkeyboards/resume1800/keymaps/via/config.h new file mode 100644 index 000000000000..3e0503efbb1a --- /dev/null +++ b/keyboards/crimsonkeyboards/resume1800/keymaps/via/config.h @@ -0,0 +1,4 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once +#define DYNAMIC_KEYMAP_LAYER_COUNT 1 diff --git a/keyboards/crimsonkeyboards/resume1800/readme.md b/keyboards/crimsonkeyboards/resume1800/readme.md index 98cfdc5a2fd0..f79117a036c7 100644 --- a/keyboards/crimsonkeyboards/resume1800/readme.md +++ b/keyboards/crimsonkeyboards/resume1800/readme.md @@ -1,6 +1,6 @@ # Resume1800 -![Resume1800](https://i.imgur.com/IjP3Opw.jpg) +![Resume1800](https://i.imgur.com/IjP3Opwh.jpg) An 1800 compact keyboard that is built with soley through-hole components From 773124e9c06ddb263f3c9afbb9fc9256e535e1d4 Mon Sep 17 00:00:00 2001 From: 8bits4ever <87928173+8bits4ever@users.noreply.github.com> Date: Tue, 19 Apr 2022 02:18:10 +0200 Subject: [PATCH 0552/1832] [Keyboard] Add converter/a1200/mistress1200 variant (#16634) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre --- .../converter/a1200/keymaps/default/keymap.c | 4 +- .../converter/a1200/mistress1200/config.h | 61 +++++++++++++++++++ .../converter/a1200/mistress1200/rules.mk | 19 ++++++ keyboards/converter/a1200/readme.md | 11 +++- 4 files changed, 90 insertions(+), 5 deletions(-) create mode 100644 keyboards/converter/a1200/mistress1200/config.h create mode 100644 keyboards/converter/a1200/mistress1200/rules.mk diff --git a/keyboards/converter/a1200/keymaps/default/keymap.c b/keyboards/converter/a1200/keymaps/default/keymap.c index 4f7c7be8430b..8ebc5ee53aaf 100644 --- a/keyboards/converter/a1200/keymaps/default/keymap.c +++ b/keyboards/converter/a1200/keymaps/default/keymap.c @@ -21,8 +21,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, 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_DEL, MO(1), KC_LPRN, KC_RPRN, KC_PSLS, KC_PAST, 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_P7, KC_P8, KC_P9, KC_PMNS, - KC_LCTL, 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_NO, KC_ENT, KC_UP, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, 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_NUHS,KC_ENT, KC_UP, KC_P4, KC_P5, KC_P6, KC_PPLS, + 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_LEFT, KC_DOWN, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_P0, KC_PDOT ), diff --git a/keyboards/converter/a1200/mistress1200/config.h b/keyboards/converter/a1200/mistress1200/config.h new file mode 100644 index 000000000000..2ae2525398f5 --- /dev/null +++ b/keyboards/converter/a1200/mistress1200/config.h @@ -0,0 +1,61 @@ +/* +Copyright 2021 8bits4ever + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFFFF +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER 8bits4ever +#define PRODUCT MiSTress1200 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0, B1, B3 } +#define MATRIX_COL_PINS { D0, D1, C7, D6, B7, B6, B5, B4, E6, D7, C6, D4, B2, D5, D3, D2 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +#define LED_CAPS_LOCK_PIN B0 +#define LED_PIN_ON_STATE 0 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + diff --git a/keyboards/converter/a1200/mistress1200/rules.mk b/keyboards/converter/a1200/mistress1200/rules.mk new file mode 100644 index 000000000000..56aa5d9ba996 --- /dev/null +++ b/keyboards/converter/a1200/mistress1200/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega16u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes diff --git a/keyboards/converter/a1200/readme.md b/keyboards/converter/a1200/readme.md index 96c36b6207aa..29eed4a61562 100644 --- a/keyboards/converter/a1200/readme.md +++ b/keyboards/converter/a1200/readme.md @@ -3,12 +3,12 @@ Modification of the Model-M 101 membrane adapter (converter/modelm101) to work with Amiga 1200 keyboard (and possibly Amiga 500/600 too). The adapter allows using the original Amiga keyboard as a USB input device, either with a desktop PC or a R-Pi/FPGA board hosted inside the Amiga case. -Available for two micros: AT90USB1286 (Teensy 2++ board), and ATmega32u4 (MiSS-1200 FPGA board). +Available for three micros: AT90USB1286 (Teensy 2++ board), Atmega32u4 (MiSS-1200 FPGA board), and Atmega16u4 (MiSTress-1200 conversion kit). A small PCB adapter is needed for connecting the keyboard membrane to the Teensy 2.0++ board. A very simple example of such a board is available here: https://github.com/8bits4ever/A1200-Keyboard-Adapter -The MiSS-1200 FPGA board features a dedicated connector for the Amiga 1200 membrane keyboard. +The MiSS-1200 FPGA board and MiSTress-1200 conversion kit both feature a dedicated connector for the Amiga 1200 membrane keyboard. Files have been modified in accordance to the Amiga keyboard layout and features. A second layer has been implemented (momentary toggle "Help" key) to access unexistent keys (like F11 and F12). This is a work in progress. @@ -25,7 +25,7 @@ Status LEDs: CapsLock +5V Pins: B6 5V ``` -Pins assignment MiSS-1200 board (ATmega32u4): +Pins assignment MiSS-1200 board (ATmega32u4) and MiSTress-1200 (Atmega16u4): ``` Columns: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Pins: D0 D1 C7 D6 B7 B6 B5 B4 E6 D7 C6 D4 B2 D5 D3 D2 @@ -51,5 +51,10 @@ Or: make converter/a1200/miss1200:default +Or: + + make converter/a1200/mistress1200:default + + 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). From 90dd16ccd208ff1b6502043dd6e9effa7e6162e5 Mon Sep 17 00:00:00 2001 From: Andrew Charnley Date: Tue, 19 Apr 2022 01:23:38 +0100 Subject: [PATCH 0553/1832] [Keymap] Add andrewcharnley keymap for GMMK Pro (#15320) --- .../pro/ansi/keymaps/andrewcharnley/config.h | 24 +++++ .../pro/ansi/keymaps/andrewcharnley/keymap.c | 87 +++++++++++++++++++ .../pro/ansi/keymaps/andrewcharnley/readme.md | 18 ++++ 3 files changed, 129 insertions(+) create mode 100644 keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/config.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/readme.md diff --git a/keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/config.h b/keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/config.h new file mode 100644 index 000000000000..aee1ba39d5ea --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/config.h @@ -0,0 +1,24 @@ +/* Copyright 2021 Andrew Charnley + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT +#define RGBLIGHT_DEFAULT_SAT 0 +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR + + diff --git a/keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/keymap.c new file mode 100644 index 000000000000..d044008a237c --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/keymap.c @@ -0,0 +1,87 @@ +/* Copyright 2021 Andrew Charnley + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Windows key changed to second FN key. Use KC_LGUI to revert. + +enum userspace_layers { + QWERTY, + FNLAYER +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + + [QWERTY] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE, + KC_GRV, 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_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_PGUP, + 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, + 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_END, + KC_LCTL, MO(FNLAYER), KC_LALT, KC_SPC, KC_RALT, MO(FNLAYER),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [FNLAYER] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PLAY_PAUSE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET , _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______ + ), +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if(IS_LAYER_ON(FNLAYER)) { + if (clockwise) { + tap_code(KC_MEDIA_NEXT_TRACK); + } else { + tap_code(KC_MEDIA_PREV_TRACK); + } + } else { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return false; +} + +static uint8_t val; + +void keyboard_post_init_user(void) { + + val = rgb_matrix_get_val(); +} + +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color_all(val,0,0); + } else { + rgb_matrix_set_color_all(val, val, val); + val = rgb_matrix_get_val(); + } +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/readme.md b/keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/readme.md new file mode 100644 index 000000000000..e064edd83ae0 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/andrewcharnley/readme.md @@ -0,0 +1,18 @@ +# Description +A keymap designed to be functional for development purposes - no flashing lights or gimmicks. PRTSC and DEL key in the top right corner. +Solid backlight that changes red if CAPS is on and reverts back afterwards. Brightness retained in both cases. +Backlight is disabled on suspend and restored upon wake-up. +The 'Windows' key is a second FN key. This makes it more natural to use the encoder wheel (good luck trying to do it with one hand). + +Compile using `qmk compile -kb gmmk/pro/ansi -km andrewcharnley` + +# Encoder +FN + Encoder scroll = media next/prev +FN + Encoder press = media pause +default encoder behavior = volume up/down + +# Function Layer +FN + Up = increase brightness +FN + Down = decrease brightness +FN + Backslash = bootloader + From 958600d51844ca267c9c7dac5f5686c54428b19b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=E1=BA=AFn?= <59417802+MaiTheSan@users.noreply.github.com> Date: Tue, 19 Apr 2022 09:33:32 +0700 Subject: [PATCH 0554/1832] [Keyboard] Add Amber80 Solder & VCL65 Solder (#15945) Co-authored-by: Joel Challis Co-authored-by: Ryan --- keyboards/sawnsprojects/amber80/readme.md | 25 +++++ .../sawnsprojects/amber80/solder/config.h | 72 +++++++++++++ .../sawnsprojects/amber80/solder/info.json | 101 ++++++++++++++++++ .../amber80/solder/keymaps/default/keymap.c | 30 ++++++ .../amber80/solder/keymaps/default/readme.md | 1 + .../amber80/solder/keymaps/via/keymap.c | 54 ++++++++++ .../amber80/solder/keymaps/via/readme.md | 1 + .../amber80/solder/keymaps/via/rules.mk | 2 + .../sawnsprojects/amber80/solder/readme.md | 24 +++++ .../sawnsprojects/amber80/solder/rules.mk | 18 ++++ .../sawnsprojects/amber80/solder/solder.c | 17 +++ .../sawnsprojects/amber80/solder/solder.h | 44 ++++++++ keyboards/sawnsprojects/vcl65/readme.md | 25 +++++ keyboards/sawnsprojects/vcl65/solder/config.h | 66 ++++++++++++ .../sawnsprojects/vcl65/solder/info.json | 81 ++++++++++++++ .../vcl65/solder/keymaps/default/keymap.c | 38 +++++++ .../vcl65/solder/keymaps/default/readme.md | 1 + .../vcl65/solder/keymaps/sawns/keymap.c | 50 +++++++++ .../vcl65/solder/keymaps/sawns/readme.md | 1 + .../vcl65/solder/keymaps/sawns/rules.mk | 1 + .../vcl65/solder/keymaps/via/keymap.c | 51 +++++++++ .../vcl65/solder/keymaps/via/readme.md | 1 + .../vcl65/solder/keymaps/via/rules.mk | 1 + .../sawnsprojects/vcl65/solder/readme.md | 23 ++++ keyboards/sawnsprojects/vcl65/solder/rules.mk | 18 ++++ keyboards/sawnsprojects/vcl65/solder/solder.c | 17 +++ keyboards/sawnsprojects/vcl65/solder/solder.h | 36 +++++++ 27 files changed, 799 insertions(+) create mode 100644 keyboards/sawnsprojects/amber80/readme.md create mode 100644 keyboards/sawnsprojects/amber80/solder/config.h create mode 100644 keyboards/sawnsprojects/amber80/solder/info.json create mode 100644 keyboards/sawnsprojects/amber80/solder/keymaps/default/keymap.c create mode 100644 keyboards/sawnsprojects/amber80/solder/keymaps/default/readme.md create mode 100644 keyboards/sawnsprojects/amber80/solder/keymaps/via/keymap.c create mode 100644 keyboards/sawnsprojects/amber80/solder/keymaps/via/readme.md create mode 100644 keyboards/sawnsprojects/amber80/solder/keymaps/via/rules.mk create mode 100644 keyboards/sawnsprojects/amber80/solder/readme.md create mode 100644 keyboards/sawnsprojects/amber80/solder/rules.mk create mode 100644 keyboards/sawnsprojects/amber80/solder/solder.c create mode 100644 keyboards/sawnsprojects/amber80/solder/solder.h create mode 100644 keyboards/sawnsprojects/vcl65/readme.md create mode 100644 keyboards/sawnsprojects/vcl65/solder/config.h create mode 100644 keyboards/sawnsprojects/vcl65/solder/info.json create mode 100644 keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c create mode 100644 keyboards/sawnsprojects/vcl65/solder/keymaps/default/readme.md create mode 100644 keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/keymap.c create mode 100644 keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/readme.md create mode 100644 keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/rules.mk create mode 100644 keyboards/sawnsprojects/vcl65/solder/keymaps/via/keymap.c create mode 100644 keyboards/sawnsprojects/vcl65/solder/keymaps/via/readme.md create mode 100644 keyboards/sawnsprojects/vcl65/solder/keymaps/via/rules.mk create mode 100644 keyboards/sawnsprojects/vcl65/solder/readme.md create mode 100644 keyboards/sawnsprojects/vcl65/solder/rules.mk create mode 100644 keyboards/sawnsprojects/vcl65/solder/solder.c create mode 100644 keyboards/sawnsprojects/vcl65/solder/solder.h diff --git a/keyboards/sawnsprojects/amber80/readme.md b/keyboards/sawnsprojects/amber80/readme.md new file mode 100644 index 000000000000..bc5dd417fcd8 --- /dev/null +++ b/keyboards/sawnsprojects/amber80/readme.md @@ -0,0 +1,25 @@ +# Amber80 solder + +A TKL keyboard sold in several variants. + +1. [Solder](solder/): 1/2022. Atmega32u4 soldered keyboard. Sold under the name "Amber80" with Amber80 keyboard case. Compatible with Amber80 keyboard case. + + **Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.** Please use the `.hex` or `.bin` appropriate for your board. + +* Keyboard Maintainer: [SawnsProjects](https://github.com/MaiTheSan) +* Hardware Supported: Amber80 +* Hardware Availability: Comming Soon + +Make examples for this keyboard (after setting up your build environment): + + make sawnsprojects/amber80/solder:default + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +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). \ No newline at end of file diff --git a/keyboards/sawnsprojects/amber80/solder/config.h b/keyboards/sawnsprojects/amber80/solder/config.h new file mode 100644 index 000000000000..90c9bc522c1c --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/config.h @@ -0,0 +1,72 @@ +/* Copyright 2022 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x5350 +#define PRODUCT_ID 0xA801 +#define DEVICE_VER 0x0001 +#define MANUFACTURER SawnsProjects X Yuutsu X Zlane +#define PRODUCT Amber80 Solder + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 9 + +/* Indicator */ +#define LED_CAPS_LOCK_PIN F5 +#define LED_SCROLL_LOCK_PIN B0 +#define LED_PIN_ON_STATE 0 +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B1, B2, B3, B7, D0, D1, F1, F0, D7, B4, D5, D3 } +#define MATRIX_COL_PINS { F4, F6, F7, C7, C6, B6, B5, D6, D4 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* RGB */ +#define RGB_DI_PIN D2 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 22 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +// /*== or choose animations ==*/ + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_RGB_TEST + #define RGBLIGHT_EFFECT_ALTERNATING +#endif diff --git a/keyboards/sawnsprojects/amber80/solder/info.json b/keyboards/sawnsprojects/amber80/solder/info.json new file mode 100644 index 000000000000..49ca20594c6a --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/info.json @@ -0,0 +1,101 @@ +{ + "keyboard_name": "Amber80 SOLDER", + "url": "", + "maintainer": "SawnsProjects", + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "K00 (B1,F4)", "x": 0, "y": 0 }, + { "label": "K10 (B2,F4)", "x": 1.25, "y": 0 }, + { "label": "K01 (B1,F6)", "x": 2.25, "y": 0 }, + { "label": "K11 (B2,F6)", "x": 3.25, "y": 0 }, + { "label": "K02 (B1,F7)", "x": 4.25, "y": 0 }, + { "label": "K12 (B2,F7)", "x": 5.5, "y": 0 }, + { "label": "K03 (B1,C7)", "x": 6.5, "y": 0 }, + { "label": "K13 (B2,C7)", "x": 7.5, "y": 0 }, + { "label": "K04 (B1,C6)", "x": 8.5, "y": 0 }, + { "label": "K14 (B2,C6)", "x": 9.75, "y": 0 }, + { "label": "K05 (B1,B6)", "x": 10.75, "y": 0 }, + { "label": "K15 (B2,B6)", "x": 11.75, "y": 0 }, + { "label": "K06 (B1,B5)", "x": 12.75, "y": 0 }, + { "label": "K16 (B2,B5)", "x": 14, "y": 0 }, + { "label": "K17 (B2,D6)", "x": 15.25, "y": 0 }, + { "label": "K08 (B1,D4)", "x": 16.25, "y": 0 }, + { "label": "K18 (B2,D4)", "x": 17.25, "y": 0 }, + { "label": "K20 (B3,F4)", "x": 0, "y": 1.25 }, + { "label": "K30 (B7,F4)", "x": 1, "y": 1.25 }, + { "label": "K21 (B3,F6)", "x": 2, "y": 1.25 }, + { "label": "K31 (B7,F6)", "x": 3, "y": 1.25 }, + { "label": "K22 (B3,F7)", "x": 4, "y": 1.25 }, + { "label": "K32 (B7,F7)", "x": 5, "y": 1.25 }, + { "label": "K23 (B3,C7)", "x": 6, "y": 1.25 }, + { "label": "K33 (B7,C7)", "x": 7, "y": 1.25 }, + { "label": "K24 (B3,C6)", "x": 8, "y": 1.25 }, + { "label": "K34 (B7,C6)", "x": 9, "y": 1.25 }, + { "label": "K25 (B3,B6)", "x": 10, "y": 1.25 }, + { "label": "K35 (B7,B6)", "x": 11, "y": 1.25 }, + { "label": "K26 (B3,B5)", "x": 12, "y": 1.25 }, + { "label": "K36 (B7,B5)", "x": 13, "y": 1.25 }, + { "label": "K27 (B3,D6)", "x": 14, "y": 1.25 }, + { "label": "K37 (B7,D6)", "x": 15.25, "y": 1.25 }, + { "label": "K28 (B3,D4)", "x": 16.25, "y": 1.25 }, + { "label": "K38 (B7,D4)", "x": 17.25, "y": 1.25 }, + { "label": "K40 (D0,F4)", "x": 0, "y": 2.25, "w": 1.5 }, + { "label": "K50 (D1,F4)", "x": 1.5, "y": 2.25 }, + { "label": "K41 (D0,F6)", "x": 2.5, "y": 2.25 }, + { "label": "K51 (D1,F6)", "x": 3.5, "y": 2.25 }, + { "label": "K42 (D0,F7)", "x": 4.5, "y": 2.25 }, + { "label": "K52 (D1,F7)", "x": 5.5, "y": 2.25 }, + { "label": "K43 (D0,C7)", "x": 6.5, "y": 2.25 }, + { "label": "K53 (D1,C7)", "x": 7.5, "y": 2.25 }, + { "label": "K44 (D0,C6)", "x": 8.5, "y": 2.25 }, + { "label": "K54 (D1,C6)", "x": 9.5, "y": 2.25 }, + { "label": "K45 (D0,B6)", "x": 10.5, "y": 2.25 }, + { "label": "K55 (D1,B6)", "x": 11.5, "y": 2.25 }, + { "label": "K46 (D0,B5)", "x": 12.5, "y": 2.25 }, + { "label": "K56 (D1,B5)", "x": 13.5, "y": 2.25, "w": 1.5 }, + { "label": "K57 (D1,D6)", "x": 15.25, "y": 2.25 }, + { "label": "K48 (D0,D4)", "x": 16.25, "y": 2.25 }, + { "label": "K58 (D1,D4)", "x": 17.25, "y": 2.25 }, + { "label": "K60 (F1,F4)", "x": 0, "y": 3.25, "w": 1.75 }, + { "label": "K70 (F0,F4)", "x": 1.75, "y": 3.25 }, + { "label": "K61 (F1,F6)", "x": 2.75, "y": 3.25 }, + { "label": "K71 (F0,F6)", "x": 3.75, "y": 3.25 }, + { "label": "K62 (F1,F7)", "x": 4.75, "y": 3.25 }, + { "label": "K72 (F0,F7)", "x": 5.75, "y": 3.25 }, + { "label": "K63 (F1,C7)", "x": 6.75, "y": 3.25 }, + { "label": "K73 (F0,C7)", "x": 7.75, "y": 3.25 }, + { "label": "K64 (F1,C6)", "x": 8.75, "y": 3.25 }, + { "label": "K74 (F0,C6)", "x": 9.75, "y": 3.25 }, + { "label": "K65 (F1,B6)", "x": 10.75, "y": 3.25 }, + { "label": "K75 (F0,B6)", "x": 11.75, "y": 3.25 }, + { "label": "K76 (F0,B5)", "x": 12.75, "y": 3.25, "w": 2.25 }, + { "label": "K80 (D7,F4)", "x": 0, "y": 4.25, "w": 1.25 }, + { "label": "K90 (B4,F4)", "x": 1.25, "y": 4.25 }, + { "label": "K81 (D7,F6)", "x": 2.25, "y": 4.25 }, + { "label": "K91 (B4,F6)", "x": 3.25, "y": 4.25 }, + { "label": "K82 (D7,F7)", "x": 4.25, "y": 4.25 }, + { "label": "K92 (B4,F7)", "x": 5.25, "y": 4.25 }, + { "label": "K83 (D7,C7)", "x": 6.25, "y": 4.25 }, + { "label": "K93 (B4,C7)", "x": 7.25, "y": 4.25 }, + { "label": "K84 (D7,C6)", "x": 8.25, "y": 4.25 }, + { "label": "K94 (B4,C6)", "x": 9.25, "y": 4.25 }, + { "label": "K85 (D7,B6)", "x": 10.25, "y": 4.25 }, + { "label": "K95 (B4,B6)", "x": 11.25, "y": 4.25 }, + { "label": "K86 (D7,B5)", "x": 12.25, "y": 4.25, "w": 1.75 }, + { "label": "K96 (B4,B5)", "x": 14, "y": 4.25 }, + { "label": "K88 (D7,D4)", "x": 16.25, "y": 4.25 }, + { "label": "KA0 (D5,F4)", "x": 0, "y": 5.25, "w": 1.5 }, + { "label": "KB0 (D3,F4)", "x": 1.5, "y": 5.25 }, + { "label": "KA1 (D5,F6)", "x": 2.5, "y": 5.25, "w": 1.5 }, + { "label": "KB3 (D3,C7)", "x": 4, "y": 5.25, "w": 7 }, + { "label": "KA6 (D5,B5)", "x": 11, "y": 5.25, "w": 1.5 }, + { "label": "KB6 (D3,B5)", "x": 12.5, "y": 5.25 }, + { "label": "KA7 (D5,D6)", "x": 13.5, "y": 5.25, "w": 1.5 }, + { "label": "KB7 (D3,D6)", "x": 15.25, "y": 5.25 }, + { "label": "KA8 (D5,D4)", "x": 16.25, "y": 5.25 }, + { "label": "KB8 (D3,D4)", "x": 17.25, "y": 5.25 } + ] + } + } +} diff --git a/keyboards/sawnsprojects/amber80/solder/keymaps/default/keymap.c b/keyboards/sawnsprojects/amber80/solder/keymaps/default/keymap.c new file mode 100644 index 000000000000..ffc9beb77258 --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +/* Copyright 2022 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, + + KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_LSFT, KC_KANA, 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; \ No newline at end of file diff --git a/keyboards/sawnsprojects/amber80/solder/keymaps/default/readme.md b/keyboards/sawnsprojects/amber80/solder/keymaps/default/readme.md new file mode 100644 index 000000000000..60f00eb4ba78 --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Amber80 Solder \ No newline at end of file diff --git a/keyboards/sawnsprojects/amber80/solder/keymaps/via/keymap.c b/keyboards/sawnsprojects/amber80/solder/keymaps/via/keymap.c new file mode 100644 index 000000000000..b8e80843748b --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* Copyright 2022 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, + + KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_LSFT, KC_KANA, 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + 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, 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, 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, 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, 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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_all( + 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, 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, 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, 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, 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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_all( + 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, 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, 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, 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, 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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/sawnsprojects/amber80/solder/keymaps/via/readme.md b/keyboards/sawnsprojects/amber80/solder/keymaps/via/readme.md new file mode 100644 index 000000000000..3313fcc41a41 --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/keymaps/via/readme.md @@ -0,0 +1 @@ +# The VIA keymap for Amber80 Solder \ No newline at end of file diff --git a/keyboards/sawnsprojects/amber80/solder/keymaps/via/rules.mk b/keyboards/sawnsprojects/amber80/solder/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/amber80/solder/readme.md b/keyboards/sawnsprojects/amber80/solder/readme.md new file mode 100644 index 000000000000..a429328702d4 --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/readme.md @@ -0,0 +1,24 @@ +# Amber80 solder + +![Amber80](https://i.imgur.com/ygUgpqZh.jpg) + +A TKL keyboard sold in several variants. + +* Keyboard Maintainer: [SawnsProjects](https://github.com/MaiTheSan) +* Hardware Supported: Amber80 +* Hardware Availability: Comming Soon + +Make example for this keyboard (after setting up your build environment): + + make sawnsprojects/amber80/solder:default + + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +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/sawnsprojects/amber80/solder/rules.mk b/keyboards/sawnsprojects/amber80/solder/rules.mk new file mode 100644 index 000000000000..4613b7d460e8 --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/sawnsprojects/amber80/solder/solder.c b/keyboards/sawnsprojects/amber80/solder/solder.c new file mode 100644 index 000000000000..b7dbe1e5588b --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/solder.c @@ -0,0 +1,17 @@ +/* Copyright 2022 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "solder.h" diff --git a/keyboards/sawnsprojects/amber80/solder/solder.h b/keyboards/sawnsprojects/amber80/solder/solder.h new file mode 100644 index 000000000000..9f76795162f0 --- /dev/null +++ b/keyboards/sawnsprojects/amber80/solder/solder.h @@ -0,0 +1,44 @@ +/* Copyright 2022 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_all( \ + K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K17, K08, K18, \ + K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K37, K28, K38, \ + K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K57, K48, K58, \ + K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K76, \ + K80, K90, K81, K91, K82, K92, K83, K93, K84, K94, K85, K95, K86, K96, K88, \ + KA0, KB0, KA1, KB3, KA6, KB6, KA7, KB7, KA8, KB8 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, XXX, K08 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38 }, \ + { K40, K41, K42, K43, K44, K45, K46, XXX, K48 }, \ + { K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \ + { K60, K61, K62, K63, K64, K65, XXX, XXX, XXX }, \ + { K70, K71, K72, K73, K74, K75, K76, XXX, XXX }, \ + { K80, K81, K82, K83, K84, K85, K86, XXX, K88 }, \ + { K90, K91, K92, K93, K94, K95, K96, XXX, XXX }, \ + { KA0, KA1, XXX, XXX, XXX, XXX, KA6, KA7, KA8 }, \ + { KB0, XXX, XXX, KB3, XXX, XXX, KB6, KB7, KB8 }, \ +} + diff --git a/keyboards/sawnsprojects/vcl65/readme.md b/keyboards/sawnsprojects/vcl65/readme.md new file mode 100644 index 000000000000..025c41badf94 --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/readme.md @@ -0,0 +1,25 @@ +# VCL65 solder + +A 65% keyboard sold in several variants. + +1. [Solder](solder/): 06/2021. Atmega32u4 soldered keyboard. Sold under the name "VCL65" with Lotus 65 lite keyboard case. Compatible with some 65% traymount case, VCL65 and Lotus65. + + **Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.** Please use the `.hex` or `.bin` appropriate for your board. + +* Keyboard Maintainer: [SawnsProjects](https://github.com/MaiTheSan) & [Hoaq](https://github.com/itsmehoaq) +* Hardware Supported: Lotus65 lite, VCL65, 65% traymount case +* Hardware Availability: Private Discord GB + +Make examples for this keyboard (after setting up your build environment): + + make sawnsprojects/vcl65/solder:default + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +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). \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/solder/config.h b/keyboards/sawnsprojects/vcl65/solder/config.h new file mode 100644 index 000000000000..bf1a7cdde6e1 --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/config.h @@ -0,0 +1,66 @@ +/* Copyright 2021 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x5350 +#define PRODUCT_ID 0x1727 +#define DEVICE_VER 0x0001 +#define MANUFACTURER VCL x SawnsProjects +#define PRODUCT VCL65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { F6, F7, F0, F4, B1 } +#define MATRIX_COL_PINS { B2, B5, F5, C7, B4, C6, D7, D6, D4, D5, D3, D2, B6, D1, D0 } +#define UNUSED_PINS + +/* indicator */ +// #define LED_CAPS_LOCK_PIN F0 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW +/* Caps Lock */ +#define LED_CAPS_LOCK_PIN F1 +#define LED_PIN_ON_STATE 0 +/* rotary */ + +#define RGB_DI_PIN B7 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 20 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +/*== all animations enable ==*/ +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#endif \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/solder/info.json b/keyboards/sawnsprojects/vcl65/solder/info.json new file mode 100644 index 000000000000..bae3093b4f8a --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/info.json @@ -0,0 +1,81 @@ +{ + "keyboard_name": "VCL65 Solder", + "url": "", + "maintainer": "MaiTheSan", + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "K00 (F6,B2)", "x": 0, "y": 0 }, + { "label": "K01 (F6,B5)", "x": 1, "y": 0 }, + { "label": "K02 (F6,F5)", "x": 2, "y": 0 }, + { "label": "K03 (F6,C7)", "x": 3, "y": 0 }, + { "label": "K04 (F6,B4)", "x": 4, "y": 0 }, + { "label": "K05 (F6,C6)", "x": 5, "y": 0 }, + { "label": "K06 (F6,D7)", "x": 6, "y": 0 }, + { "label": "K07 (F6,D6)", "x": 7, "y": 0 }, + { "label": "K08 (F6,D4)", "x": 8, "y": 0 }, + { "label": "K09 (F6,D5)", "x": 9, "y": 0 }, + { "label": "K0A (F6,D3)", "x": 10, "y": 0 }, + { "label": "K0B (F6,D2)", "x": 11, "y": 0 }, + { "label": "K0C (F6,B6)", "x": 12, "y": 0 }, + { "label": "K0D (F6,D1)", "x": 13, "y": 0 }, + { "label": "K2C (F4,B6)", "x": 14, "y": 0 }, + { "label": "K0E (F6,D0)", "x": 15, "y": 0 }, + { "label": "K10 (F7,B2)", "x": 0, "y": 1, "w": 1.5 }, + { "label": "K11 (F7,B5)", "x": 1.5, "y": 1 }, + { "label": "K12 (F7,F5)", "x": 2.5, "y": 1 }, + { "label": "K13 (F7,C7)", "x": 3.5, "y": 1 }, + { "label": "K14 (F7,B4)", "x": 4.5, "y": 1 }, + { "label": "K15 (F7,C6)", "x": 5.5, "y": 1 }, + { "label": "K16 (F7,D7)", "x": 6.5, "y": 1 }, + { "label": "K17 (F7,D6)", "x": 7.5, "y": 1 }, + { "label": "K18 (F7,D4)", "x": 8.5, "y": 1 }, + { "label": "K19 (F7,D5)", "x": 9.5, "y": 1 }, + { "label": "K1A (F7,D3)", "x": 10.5, "y": 1 }, + { "label": "K1B (F7,D2)", "x": 11.5, "y": 1 }, + { "label": "K1C (F7,B6)", "x": 12.5, "y": 1 }, + { "label": "K1D (F7,D1)", "x": 13.5, "y": 1, "w": 1.5 }, + { "label": "K1E (F7,D0)", "x": 15, "y": 1 }, + { "label": "K20 (F4,B2)", "x": 0, "y": 2, "w": 1.75 }, + { "label": "K21 (F4,B5)", "x": 1.75, "y": 2 }, + { "label": "K22 (F4,F5)", "x": 2.75, "y": 2 }, + { "label": "K23 (F4,C7)", "x": 3.75, "y": 2 }, + { "label": "K24 (F4,B4)", "x": 4.75, "y": 2 }, + { "label": "K25 (F4,C6)", "x": 5.75, "y": 2 }, + { "label": "K26 (F4,D7)", "x": 6.75, "y": 2 }, + { "label": "K27 (F4,D6)", "x": 7.75, "y": 2 }, + { "label": "K28 (F4,D4)", "x": 8.75, "y": 2 }, + { "label": "K29 (F4,D5)", "x": 9.75, "y": 2 }, + { "label": "K2A (F4,D3)", "x": 10.75, "y": 2 }, + { "label": "K2B (F4,D2)", "x": 11.75, "y": 2 }, + { "label": "K2D (F4,D1)", "x": 12.75, "y": 2, "w": 2.25 }, + { "label": "K2E (F4,D0)", "x": 15, "y": 2 }, + { "label": "K30 (B0,B2)", "x": 0, "y": 3, "w": 1.25 }, + { "label": "K31 (B0,B5)", "x": 1.25, "y": 3 }, + { "label": "K32 (B0,F5)", "x": 2.25, "y": 3 }, + { "label": "K33 (B0,C7)", "x": 3.25, "y": 3 }, + { "label": "K34 (B0,B4)", "x": 4.25, "y": 3 }, + { "label": "K35 (B0,C6)", "x": 5.25, "y": 3 }, + { "label": "K36 (B0,D7)", "x": 6.25, "y": 3 }, + { "label": "K37 (B0,D6)", "x": 7.25, "y": 3 }, + { "label": "K38 (B0,D4)", "x": 8.25, "y": 3 }, + { "label": "K39 (B0,D5)", "x": 9.25, "y": 3 }, + { "label": "K3A (B0,D3)", "x": 10.25, "y": 3 }, + { "label": "K3B (B0,D2)", "x": 11.25, "y": 3 }, + { "label": "K3C (B0,B6)", "x": 12.25, "y": 3, "w": 1.75 }, + { "label": "K3D (B0,D1)", "x": 14, "y": 3 }, + { "label": "K3E (B0,D0)", "x": 15, "y": 3 }, + { "label": "K40 (B1,B2)", "x": 0, "y": 4, "w": 1.25 }, + { "label": "K41 (B1,B5)", "x": 1.25, "y": 4, "w": 1.25 }, + { "label": "K42 (B1,F5)", "x": 2.5, "y": 4, "w": 1.25 }, + { "label": "K46 (B1,D7)", "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "K49 (B1,D5)", "x": 10, "y": 4 }, + { "label": "K4A (B1,D3)", "x": 11, "y": 4 }, + { "label": "K4B (B1,D2)", "x": 12, "y": 4 }, + { "label": "K4C (B1,B6)", "x": 13, "y": 4 }, + { "label": "K4D (B1,D1)", "x": 14, "y": 4 }, + { "label": "K4E (B1,D0)", "x": 15, "y": 4 } + ] + } + } +} diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c b/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c new file mode 100644 index 000000000000..f0d21c96bcf9 --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2022 Hoaq + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + + [0] = LAYOUT_all( + 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_PSCR, KC_GRV, + 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_PGUP, + 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, + KC_LSFT, KC_KANA, 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_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_INS, + RESET, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS + ), + +}; \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/default/readme.md b/keyboards/sawnsprojects/vcl65/solder/keymaps/default/readme.md new file mode 100644 index 000000000000..d4a1e6fc318c --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for VCL65 solder \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/keymap.c b/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/keymap.c new file mode 100644 index 000000000000..86209da7dc6c --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2021 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#include QMK_KEYBOARD_H +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + 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_GRV, KC_PSCR, + 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_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, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/readme.md b/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/readme.md new file mode 100644 index 000000000000..dd1d8879df98 --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/readme.md @@ -0,0 +1 @@ +# The custom keymap for VCL65 solder by SawnsProjects diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/rules.mk b/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/via/keymap.c b/keyboards/sawnsprojects/vcl65/solder/keymaps/via/keymap.c new file mode 100644 index 000000000000..708fc51d3d63 --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2022 Hoaq + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + 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_PSCR, KC_GRV, + 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_PGUP, + 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, + KC_LSFT, KC_KANA, 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_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_INS, + RESET, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS + ), + [2] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + +}; diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/via/readme.md b/keyboards/sawnsprojects/vcl65/solder/keymaps/via/readme.md new file mode 100644 index 000000000000..31baf7fc7142 --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/via/readme.md @@ -0,0 +1 @@ +# The VIA keymap for VCL65 solder \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/via/rules.mk b/keyboards/sawnsprojects/vcl65/solder/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/solder/readme.md b/keyboards/sawnsprojects/vcl65/solder/readme.md new file mode 100644 index 000000000000..06b44ab73084 --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/readme.md @@ -0,0 +1,23 @@ +# VCL65 solder + +![VCL65 solder](https://i.imgur.com/ofSfOTfh.jpg) + +A 65% keyboard PCB made and sold under the name "VCL65 Solder" by SawnsProjects with Hoaq in Private Discord GB. + +* Keyboard Maintainer: [Mai The San](https://github.com/MaiTheSan) & [Hoaq](https://github.com/itsmehoaq) +* Hardware Supported: Lotus65 lite, VCL65, 65% traymount case +* Hardware Availability: Private Discord GB + +Make example for this keyboard (after setting up your build environment): + + make sawnsprojects/vcl65/solder:default + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the front of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +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/sawnsprojects/vcl65/solder/rules.mk b/keyboards/sawnsprojects/vcl65/solder/rules.mk new file mode 100644 index 000000000000..538e0d1bda1d --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/solder/solder.c b/keyboards/sawnsprojects/vcl65/solder/solder.c new file mode 100644 index 000000000000..2fb9b24f8c2d --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/solder.c @@ -0,0 +1,17 @@ +/* Copyright 2021 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "solder.h" \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/solder/solder.h b/keyboards/sawnsprojects/vcl65/solder/solder.h new file mode 100644 index 000000000000..8c150a1b96d2 --- /dev/null +++ b/keyboards/sawnsprojects/vcl65/solder/solder.h @@ -0,0 +1,36 @@ +/* Copyright 2021 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2C, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, K4A, K4B, K4C, K4D, K4E }, \ +} + From e13aefe41d235af9e59efdefa46e2934e36eec7a Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 19 Apr 2022 16:57:53 +0800 Subject: [PATCH 0555/1832] move z150_bh at101_bh omnikey_bh to viktus/ (#16004) --- keyboards/{ => viktus}/at101_bh/at101_bh.c | 0 keyboards/{ => viktus}/at101_bh/at101_bh.h | 0 keyboards/{ => viktus}/at101_bh/config.h | 0 keyboards/{ => viktus}/at101_bh/info.json | 0 keyboards/{ => viktus}/at101_bh/keymaps/default/keymap.c | 0 keyboards/{ => viktus}/at101_bh/readme.md | 2 +- keyboards/{ => viktus}/at101_bh/rules.mk | 0 keyboards/{ => viktus}/omnikey_bh/config.h | 0 keyboards/{ => viktus}/omnikey_bh/info.json | 0 keyboards/{ => viktus}/omnikey_bh/keymaps/default/keymap.c | 0 keyboards/{ => viktus}/omnikey_bh/omnikey_bh.c | 0 keyboards/{ => viktus}/omnikey_bh/omnikey_bh.h | 0 keyboards/{ => viktus}/omnikey_bh/readme.md | 2 +- keyboards/{ => viktus}/omnikey_bh/rules.mk | 0 keyboards/{ => viktus}/z150_bh/config.h | 0 keyboards/{ => viktus}/z150_bh/info.json | 0 keyboards/{ => viktus}/z150_bh/keymaps/default/keymap.c | 0 keyboards/{ => viktus}/z150_bh/keymaps/default_tkl/keymap.c | 0 keyboards/{ => viktus}/z150_bh/readme.md | 2 +- keyboards/{ => viktus}/z150_bh/rules.mk | 0 keyboards/{ => viktus}/z150_bh/z150_bh.c | 0 keyboards/{ => viktus}/z150_bh/z150_bh.h | 0 22 files changed, 3 insertions(+), 3 deletions(-) rename keyboards/{ => viktus}/at101_bh/at101_bh.c (100%) rename keyboards/{ => viktus}/at101_bh/at101_bh.h (100%) rename keyboards/{ => viktus}/at101_bh/config.h (100%) rename keyboards/{ => viktus}/at101_bh/info.json (100%) rename keyboards/{ => viktus}/at101_bh/keymaps/default/keymap.c (100%) rename keyboards/{ => viktus}/at101_bh/readme.md (95%) rename keyboards/{ => viktus}/at101_bh/rules.mk (100%) rename keyboards/{ => viktus}/omnikey_bh/config.h (100%) rename keyboards/{ => viktus}/omnikey_bh/info.json (100%) rename keyboards/{ => viktus}/omnikey_bh/keymaps/default/keymap.c (100%) rename keyboards/{ => viktus}/omnikey_bh/omnikey_bh.c (100%) rename keyboards/{ => viktus}/omnikey_bh/omnikey_bh.h (100%) rename keyboards/{ => viktus}/omnikey_bh/readme.md (94%) rename keyboards/{ => viktus}/omnikey_bh/rules.mk (100%) rename keyboards/{ => viktus}/z150_bh/config.h (100%) rename keyboards/{ => viktus}/z150_bh/info.json (100%) rename keyboards/{ => viktus}/z150_bh/keymaps/default/keymap.c (100%) rename keyboards/{ => viktus}/z150_bh/keymaps/default_tkl/keymap.c (100%) rename keyboards/{ => viktus}/z150_bh/readme.md (95%) rename keyboards/{ => viktus}/z150_bh/rules.mk (100%) rename keyboards/{ => viktus}/z150_bh/z150_bh.c (100%) rename keyboards/{ => viktus}/z150_bh/z150_bh.h (100%) diff --git a/keyboards/at101_bh/at101_bh.c b/keyboards/viktus/at101_bh/at101_bh.c similarity index 100% rename from keyboards/at101_bh/at101_bh.c rename to keyboards/viktus/at101_bh/at101_bh.c diff --git a/keyboards/at101_bh/at101_bh.h b/keyboards/viktus/at101_bh/at101_bh.h similarity index 100% rename from keyboards/at101_bh/at101_bh.h rename to keyboards/viktus/at101_bh/at101_bh.h diff --git a/keyboards/at101_bh/config.h b/keyboards/viktus/at101_bh/config.h similarity index 100% rename from keyboards/at101_bh/config.h rename to keyboards/viktus/at101_bh/config.h diff --git a/keyboards/at101_bh/info.json b/keyboards/viktus/at101_bh/info.json similarity index 100% rename from keyboards/at101_bh/info.json rename to keyboards/viktus/at101_bh/info.json diff --git a/keyboards/at101_bh/keymaps/default/keymap.c b/keyboards/viktus/at101_bh/keymaps/default/keymap.c similarity index 100% rename from keyboards/at101_bh/keymaps/default/keymap.c rename to keyboards/viktus/at101_bh/keymaps/default/keymap.c diff --git a/keyboards/at101_bh/readme.md b/keyboards/viktus/at101_bh/readme.md similarity index 95% rename from keyboards/at101_bh/readme.md rename to keyboards/viktus/at101_bh/readme.md index 8a9ce2496ff2..d9d7b4dafab1 100644 --- a/keyboards/at101_bh/readme.md +++ b/keyboards/viktus/at101_bh/readme.md @@ -10,6 +10,6 @@ Hardware Availability: https://deskthority.net/group-buys-f50/programmable-vinta Make example for this keyboard (after setting up your build environment): - make at101_bh:default + make viktus/at101_bh:default 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/at101_bh/rules.mk b/keyboards/viktus/at101_bh/rules.mk similarity index 100% rename from keyboards/at101_bh/rules.mk rename to keyboards/viktus/at101_bh/rules.mk diff --git a/keyboards/omnikey_bh/config.h b/keyboards/viktus/omnikey_bh/config.h similarity index 100% rename from keyboards/omnikey_bh/config.h rename to keyboards/viktus/omnikey_bh/config.h diff --git a/keyboards/omnikey_bh/info.json b/keyboards/viktus/omnikey_bh/info.json similarity index 100% rename from keyboards/omnikey_bh/info.json rename to keyboards/viktus/omnikey_bh/info.json diff --git a/keyboards/omnikey_bh/keymaps/default/keymap.c b/keyboards/viktus/omnikey_bh/keymaps/default/keymap.c similarity index 100% rename from keyboards/omnikey_bh/keymaps/default/keymap.c rename to keyboards/viktus/omnikey_bh/keymaps/default/keymap.c diff --git a/keyboards/omnikey_bh/omnikey_bh.c b/keyboards/viktus/omnikey_bh/omnikey_bh.c similarity index 100% rename from keyboards/omnikey_bh/omnikey_bh.c rename to keyboards/viktus/omnikey_bh/omnikey_bh.c diff --git a/keyboards/omnikey_bh/omnikey_bh.h b/keyboards/viktus/omnikey_bh/omnikey_bh.h similarity index 100% rename from keyboards/omnikey_bh/omnikey_bh.h rename to keyboards/viktus/omnikey_bh/omnikey_bh.h diff --git a/keyboards/omnikey_bh/readme.md b/keyboards/viktus/omnikey_bh/readme.md similarity index 94% rename from keyboards/omnikey_bh/readme.md rename to keyboards/viktus/omnikey_bh/readme.md index 7de22f29a451..55cf72bf8745 100644 --- a/keyboards/omnikey_bh/readme.md +++ b/keyboards/viktus/omnikey_bh/readme.md @@ -9,6 +9,6 @@ Hardware Availability: https://deskthority.net/group-buys-f50/omnikey-replacemen Make example for this keyboard (after setting up your build environment): - make omnikey_bh:default + make viktus/omnikey_bh:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/omnikey_bh/rules.mk b/keyboards/viktus/omnikey_bh/rules.mk similarity index 100% rename from keyboards/omnikey_bh/rules.mk rename to keyboards/viktus/omnikey_bh/rules.mk diff --git a/keyboards/z150_bh/config.h b/keyboards/viktus/z150_bh/config.h similarity index 100% rename from keyboards/z150_bh/config.h rename to keyboards/viktus/z150_bh/config.h diff --git a/keyboards/z150_bh/info.json b/keyboards/viktus/z150_bh/info.json similarity index 100% rename from keyboards/z150_bh/info.json rename to keyboards/viktus/z150_bh/info.json diff --git a/keyboards/z150_bh/keymaps/default/keymap.c b/keyboards/viktus/z150_bh/keymaps/default/keymap.c similarity index 100% rename from keyboards/z150_bh/keymaps/default/keymap.c rename to keyboards/viktus/z150_bh/keymaps/default/keymap.c diff --git a/keyboards/z150_bh/keymaps/default_tkl/keymap.c b/keyboards/viktus/z150_bh/keymaps/default_tkl/keymap.c similarity index 100% rename from keyboards/z150_bh/keymaps/default_tkl/keymap.c rename to keyboards/viktus/z150_bh/keymaps/default_tkl/keymap.c diff --git a/keyboards/z150_bh/readme.md b/keyboards/viktus/z150_bh/readme.md similarity index 95% rename from keyboards/z150_bh/readme.md rename to keyboards/viktus/z150_bh/readme.md index a1d484580846..6975d8f1d0ea 100644 --- a/keyboards/z150_bh/readme.md +++ b/keyboards/viktus/z150_bh/readme.md @@ -9,6 +9,6 @@ Hardware Availability: [Deskthority Group Buy](https://deskthority.net/group-buy Make example for this keyboard (after setting up your build environment): - make z150_bh:default + make viktus/z150_bh:default 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/z150_bh/rules.mk b/keyboards/viktus/z150_bh/rules.mk similarity index 100% rename from keyboards/z150_bh/rules.mk rename to keyboards/viktus/z150_bh/rules.mk diff --git a/keyboards/z150_bh/z150_bh.c b/keyboards/viktus/z150_bh/z150_bh.c similarity index 100% rename from keyboards/z150_bh/z150_bh.c rename to keyboards/viktus/z150_bh/z150_bh.c diff --git a/keyboards/z150_bh/z150_bh.h b/keyboards/viktus/z150_bh/z150_bh.h similarity index 100% rename from keyboards/z150_bh/z150_bh.h rename to keyboards/viktus/z150_bh/z150_bh.h From cff489bfdb2752956292c1e9adf1b4223814c267 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 19 Apr 2022 18:06:35 +0800 Subject: [PATCH 0556/1832] =?UTF-8?q?move=20=E9=BA=A6=E7=94=B0=20boards=20?= =?UTF-8?q?into=20/mt=20(#16095)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Nick Brassel --- keyboards/{wheatfield => mt}/blocked65/blocked65.c | 0 keyboards/{wheatfield => mt}/blocked65/blocked65.h | 0 keyboards/{wheatfield => mt}/blocked65/config.h | 0 keyboards/{wheatfield => mt}/blocked65/info.json | 0 .../{wheatfield => mt}/blocked65/keymaps/default/keymap.c | 0 keyboards/{wheatfield => mt}/blocked65/keymaps/via/keymap.c | 0 keyboards/{wheatfield => mt}/blocked65/keymaps/via/rules.mk | 0 keyboards/{wheatfield => mt}/blocked65/readme.md | 2 +- keyboards/{wheatfield => mt}/blocked65/rules.mk | 0 keyboards/{ => mt}/mt40/config.h | 0 keyboards/{ => mt}/mt40/info.json | 0 keyboards/{ => mt}/mt40/keymaps/default/config.h | 0 keyboards/{ => mt}/mt40/keymaps/default/keymap.c | 0 keyboards/{ => mt}/mt40/keymaps/default/readme.md | 0 keyboards/{ => mt}/mt40/mt40.c | 0 keyboards/{ => mt}/mt40/mt40.h | 0 keyboards/{ => mt}/mt40/readme.md | 4 ++-- keyboards/{ => mt}/mt40/rules.mk | 0 keyboards/{ => mt}/mt64rgb/config.h | 0 keyboards/{ => mt}/mt64rgb/info.json | 0 keyboards/{ => mt}/mt64rgb/keymaps/default/keymap.c | 0 keyboards/{ => mt}/mt64rgb/keymaps/default/readme.md | 0 keyboards/{ => mt}/mt64rgb/keymaps/via/keymap.c | 0 keyboards/{ => mt}/mt64rgb/keymaps/via/rules.mk | 0 keyboards/{ => mt}/mt64rgb/mt64rgb.c | 0 keyboards/{ => mt}/mt64rgb/mt64rgb.h | 0 keyboards/{ => mt}/mt64rgb/readme.md | 2 +- keyboards/{ => mt}/mt64rgb/rules.mk | 0 keyboards/{ => mt}/mt84/config.h | 0 keyboards/{ => mt}/mt84/info.json | 0 keyboards/{ => mt}/mt84/keymaps/default/config.h | 0 keyboards/{ => mt}/mt84/keymaps/default/keymap.c | 0 keyboards/{ => mt}/mt84/keymaps/via/keymap.c | 0 keyboards/{ => mt}/mt84/keymaps/via/rules.mk | 0 keyboards/{ => mt}/mt84/mt84.c | 0 keyboards/{ => mt}/mt84/mt84.h | 0 keyboards/{ => mt}/mt84/readme.md | 4 ++-- keyboards/{ => mt}/mt84/rules.mk | 0 keyboards/{ => mt}/mt980/config.h | 0 keyboards/{ => mt}/mt980/info.json | 0 keyboards/{ => mt}/mt980/keymaps/default/keymap.c | 0 keyboards/{ => mt}/mt980/keymaps/walker/config.h | 0 keyboards/{ => mt}/mt980/keymaps/walker/keymap.c | 0 keyboards/{ => mt}/mt980/keymaps/walker/rules.mk | 0 keyboards/{ => mt}/mt980/mt980.c | 0 keyboards/{ => mt}/mt980/mt980.h | 0 keyboards/{ => mt}/mt980/readme.md | 2 +- keyboards/{ => mt}/mt980/rules.mk | 0 keyboards/{wheatfield => mt}/split75/config.h | 0 keyboards/{wheatfield => mt}/split75/info.json | 0 keyboards/{wheatfield => mt}/split75/keymaps/art/keymap.c | 0 keyboards/{wheatfield => mt}/split75/keymaps/art/rules.mk | 0 keyboards/{wheatfield => mt}/split75/keymaps/default/keymap.c | 0 keyboards/{wheatfield => mt}/split75/keymaps/iso/keymap.c | 0 keyboards/{wheatfield => mt}/split75/matrix.c | 0 keyboards/{wheatfield => mt}/split75/readme.md | 4 ++-- keyboards/{wheatfield => mt}/split75/rules.mk | 0 keyboards/{wheatfield => mt}/split75/split75.c | 0 keyboards/{wheatfield => mt}/split75/split75.h | 0 59 files changed, 9 insertions(+), 9 deletions(-) rename keyboards/{wheatfield => mt}/blocked65/blocked65.c (100%) rename keyboards/{wheatfield => mt}/blocked65/blocked65.h (100%) rename keyboards/{wheatfield => mt}/blocked65/config.h (100%) rename keyboards/{wheatfield => mt}/blocked65/info.json (100%) rename keyboards/{wheatfield => mt}/blocked65/keymaps/default/keymap.c (100%) rename keyboards/{wheatfield => mt}/blocked65/keymaps/via/keymap.c (100%) rename keyboards/{wheatfield => mt}/blocked65/keymaps/via/rules.mk (100%) rename keyboards/{wheatfield => mt}/blocked65/readme.md (94%) rename keyboards/{wheatfield => mt}/blocked65/rules.mk (100%) rename keyboards/{ => mt}/mt40/config.h (100%) rename keyboards/{ => mt}/mt40/info.json (100%) rename keyboards/{ => mt}/mt40/keymaps/default/config.h (100%) rename keyboards/{ => mt}/mt40/keymaps/default/keymap.c (100%) rename keyboards/{ => mt}/mt40/keymaps/default/readme.md (100%) rename keyboards/{ => mt}/mt40/mt40.c (100%) rename keyboards/{ => mt}/mt40/mt40.h (100%) rename keyboards/{ => mt}/mt40/readme.md (93%) rename keyboards/{ => mt}/mt40/rules.mk (100%) rename keyboards/{ => mt}/mt64rgb/config.h (100%) rename keyboards/{ => mt}/mt64rgb/info.json (100%) rename keyboards/{ => mt}/mt64rgb/keymaps/default/keymap.c (100%) rename keyboards/{ => mt}/mt64rgb/keymaps/default/readme.md (100%) rename keyboards/{ => mt}/mt64rgb/keymaps/via/keymap.c (100%) rename keyboards/{ => mt}/mt64rgb/keymaps/via/rules.mk (100%) rename keyboards/{ => mt}/mt64rgb/mt64rgb.c (100%) rename keyboards/{ => mt}/mt64rgb/mt64rgb.h (100%) rename keyboards/{ => mt}/mt64rgb/readme.md (96%) rename keyboards/{ => mt}/mt64rgb/rules.mk (100%) rename keyboards/{ => mt}/mt84/config.h (100%) rename keyboards/{ => mt}/mt84/info.json (100%) rename keyboards/{ => mt}/mt84/keymaps/default/config.h (100%) rename keyboards/{ => mt}/mt84/keymaps/default/keymap.c (100%) rename keyboards/{ => mt}/mt84/keymaps/via/keymap.c (100%) rename keyboards/{ => mt}/mt84/keymaps/via/rules.mk (100%) rename keyboards/{ => mt}/mt84/mt84.c (100%) rename keyboards/{ => mt}/mt84/mt84.h (100%) rename keyboards/{ => mt}/mt84/readme.md (93%) rename keyboards/{ => mt}/mt84/rules.mk (100%) rename keyboards/{ => mt}/mt980/config.h (100%) rename keyboards/{ => mt}/mt980/info.json (100%) rename keyboards/{ => mt}/mt980/keymaps/default/keymap.c (100%) rename keyboards/{ => mt}/mt980/keymaps/walker/config.h (100%) rename keyboards/{ => mt}/mt980/keymaps/walker/keymap.c (100%) rename keyboards/{ => mt}/mt980/keymaps/walker/rules.mk (100%) rename keyboards/{ => mt}/mt980/mt980.c (100%) rename keyboards/{ => mt}/mt980/mt980.h (100%) rename keyboards/{ => mt}/mt980/readme.md (96%) rename keyboards/{ => mt}/mt980/rules.mk (100%) rename keyboards/{wheatfield => mt}/split75/config.h (100%) rename keyboards/{wheatfield => mt}/split75/info.json (100%) rename keyboards/{wheatfield => mt}/split75/keymaps/art/keymap.c (100%) rename keyboards/{wheatfield => mt}/split75/keymaps/art/rules.mk (100%) rename keyboards/{wheatfield => mt}/split75/keymaps/default/keymap.c (100%) rename keyboards/{wheatfield => mt}/split75/keymaps/iso/keymap.c (100%) rename keyboards/{wheatfield => mt}/split75/matrix.c (100%) rename keyboards/{wheatfield => mt}/split75/readme.md (94%) rename keyboards/{wheatfield => mt}/split75/rules.mk (100%) rename keyboards/{wheatfield => mt}/split75/split75.c (100%) rename keyboards/{wheatfield => mt}/split75/split75.h (100%) diff --git a/keyboards/wheatfield/blocked65/blocked65.c b/keyboards/mt/blocked65/blocked65.c similarity index 100% rename from keyboards/wheatfield/blocked65/blocked65.c rename to keyboards/mt/blocked65/blocked65.c diff --git a/keyboards/wheatfield/blocked65/blocked65.h b/keyboards/mt/blocked65/blocked65.h similarity index 100% rename from keyboards/wheatfield/blocked65/blocked65.h rename to keyboards/mt/blocked65/blocked65.h diff --git a/keyboards/wheatfield/blocked65/config.h b/keyboards/mt/blocked65/config.h similarity index 100% rename from keyboards/wheatfield/blocked65/config.h rename to keyboards/mt/blocked65/config.h diff --git a/keyboards/wheatfield/blocked65/info.json b/keyboards/mt/blocked65/info.json similarity index 100% rename from keyboards/wheatfield/blocked65/info.json rename to keyboards/mt/blocked65/info.json diff --git a/keyboards/wheatfield/blocked65/keymaps/default/keymap.c b/keyboards/mt/blocked65/keymaps/default/keymap.c similarity index 100% rename from keyboards/wheatfield/blocked65/keymaps/default/keymap.c rename to keyboards/mt/blocked65/keymaps/default/keymap.c diff --git a/keyboards/wheatfield/blocked65/keymaps/via/keymap.c b/keyboards/mt/blocked65/keymaps/via/keymap.c similarity index 100% rename from keyboards/wheatfield/blocked65/keymaps/via/keymap.c rename to keyboards/mt/blocked65/keymaps/via/keymap.c diff --git a/keyboards/wheatfield/blocked65/keymaps/via/rules.mk b/keyboards/mt/blocked65/keymaps/via/rules.mk similarity index 100% rename from keyboards/wheatfield/blocked65/keymaps/via/rules.mk rename to keyboards/mt/blocked65/keymaps/via/rules.mk diff --git a/keyboards/wheatfield/blocked65/readme.md b/keyboards/mt/blocked65/readme.md similarity index 94% rename from keyboards/wheatfield/blocked65/readme.md rename to keyboards/mt/blocked65/readme.md index 42cf5b24e257..71e323839088 100644 --- a/keyboards/wheatfield/blocked65/readme.md +++ b/keyboards/mt/blocked65/readme.md @@ -8,6 +8,6 @@ A 65% PCB sold via TaoBao, commonly sold as part of the Canoe clone referred to Make example for this keyboard (after setting up your build environment): - make wheatfield/blocked65:default + make mt/blocked65:default 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/wheatfield/blocked65/rules.mk b/keyboards/mt/blocked65/rules.mk similarity index 100% rename from keyboards/wheatfield/blocked65/rules.mk rename to keyboards/mt/blocked65/rules.mk diff --git a/keyboards/mt40/config.h b/keyboards/mt/mt40/config.h similarity index 100% rename from keyboards/mt40/config.h rename to keyboards/mt/mt40/config.h diff --git a/keyboards/mt40/info.json b/keyboards/mt/mt40/info.json similarity index 100% rename from keyboards/mt40/info.json rename to keyboards/mt/mt40/info.json diff --git a/keyboards/mt40/keymaps/default/config.h b/keyboards/mt/mt40/keymaps/default/config.h similarity index 100% rename from keyboards/mt40/keymaps/default/config.h rename to keyboards/mt/mt40/keymaps/default/config.h diff --git a/keyboards/mt40/keymaps/default/keymap.c b/keyboards/mt/mt40/keymaps/default/keymap.c similarity index 100% rename from keyboards/mt40/keymaps/default/keymap.c rename to keyboards/mt/mt40/keymaps/default/keymap.c diff --git a/keyboards/mt40/keymaps/default/readme.md b/keyboards/mt/mt40/keymaps/default/readme.md similarity index 100% rename from keyboards/mt40/keymaps/default/readme.md rename to keyboards/mt/mt40/keymaps/default/readme.md diff --git a/keyboards/mt40/mt40.c b/keyboards/mt/mt40/mt40.c similarity index 100% rename from keyboards/mt40/mt40.c rename to keyboards/mt/mt40/mt40.c diff --git a/keyboards/mt40/mt40.h b/keyboards/mt/mt40/mt40.h similarity index 100% rename from keyboards/mt40/mt40.h rename to keyboards/mt/mt40/mt40.h diff --git a/keyboards/mt40/readme.md b/keyboards/mt/mt40/readme.md similarity index 93% rename from keyboards/mt40/readme.md rename to keyboards/mt/mt40/readme.md index 5fc82d89a7a9..632cefdb7315 100644 --- a/keyboards/mt40/readme.md +++ b/keyboards/mt/mt40/readme.md @@ -10,10 +10,10 @@ A 40% Ortholinear Keyboard Make example for this keyboard (after setting up your build environment): - make mt40:default + make mt/mt40:default Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) - make mt40:default:flash + make mt/mt40:default:flash 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/mt40/rules.mk b/keyboards/mt/mt40/rules.mk similarity index 100% rename from keyboards/mt40/rules.mk rename to keyboards/mt/mt40/rules.mk diff --git a/keyboards/mt64rgb/config.h b/keyboards/mt/mt64rgb/config.h similarity index 100% rename from keyboards/mt64rgb/config.h rename to keyboards/mt/mt64rgb/config.h diff --git a/keyboards/mt64rgb/info.json b/keyboards/mt/mt64rgb/info.json similarity index 100% rename from keyboards/mt64rgb/info.json rename to keyboards/mt/mt64rgb/info.json diff --git a/keyboards/mt64rgb/keymaps/default/keymap.c b/keyboards/mt/mt64rgb/keymaps/default/keymap.c similarity index 100% rename from keyboards/mt64rgb/keymaps/default/keymap.c rename to keyboards/mt/mt64rgb/keymaps/default/keymap.c diff --git a/keyboards/mt64rgb/keymaps/default/readme.md b/keyboards/mt/mt64rgb/keymaps/default/readme.md similarity index 100% rename from keyboards/mt64rgb/keymaps/default/readme.md rename to keyboards/mt/mt64rgb/keymaps/default/readme.md diff --git a/keyboards/mt64rgb/keymaps/via/keymap.c b/keyboards/mt/mt64rgb/keymaps/via/keymap.c similarity index 100% rename from keyboards/mt64rgb/keymaps/via/keymap.c rename to keyboards/mt/mt64rgb/keymaps/via/keymap.c diff --git a/keyboards/mt64rgb/keymaps/via/rules.mk b/keyboards/mt/mt64rgb/keymaps/via/rules.mk similarity index 100% rename from keyboards/mt64rgb/keymaps/via/rules.mk rename to keyboards/mt/mt64rgb/keymaps/via/rules.mk diff --git a/keyboards/mt64rgb/mt64rgb.c b/keyboards/mt/mt64rgb/mt64rgb.c similarity index 100% rename from keyboards/mt64rgb/mt64rgb.c rename to keyboards/mt/mt64rgb/mt64rgb.c diff --git a/keyboards/mt64rgb/mt64rgb.h b/keyboards/mt/mt64rgb/mt64rgb.h similarity index 100% rename from keyboards/mt64rgb/mt64rgb.h rename to keyboards/mt/mt64rgb/mt64rgb.h diff --git a/keyboards/mt64rgb/readme.md b/keyboards/mt/mt64rgb/readme.md similarity index 96% rename from keyboards/mt64rgb/readme.md rename to keyboards/mt/mt64rgb/readme.md index dcc9412368d8..23fcd5ebe72e 100644 --- a/keyboards/mt64rgb/readme.md +++ b/keyboards/mt/mt64rgb/readme.md @@ -11,6 +11,6 @@ It supports an ANSI-based 64-key layout, with hotswap sockets and per-key RGB ba Make example for this keyboard (after setting up your build environment): - make mt64rgb:default + make mt/mt64rgb:default 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/mt64rgb/rules.mk b/keyboards/mt/mt64rgb/rules.mk similarity index 100% rename from keyboards/mt64rgb/rules.mk rename to keyboards/mt/mt64rgb/rules.mk diff --git a/keyboards/mt84/config.h b/keyboards/mt/mt84/config.h similarity index 100% rename from keyboards/mt84/config.h rename to keyboards/mt/mt84/config.h diff --git a/keyboards/mt84/info.json b/keyboards/mt/mt84/info.json similarity index 100% rename from keyboards/mt84/info.json rename to keyboards/mt/mt84/info.json diff --git a/keyboards/mt84/keymaps/default/config.h b/keyboards/mt/mt84/keymaps/default/config.h similarity index 100% rename from keyboards/mt84/keymaps/default/config.h rename to keyboards/mt/mt84/keymaps/default/config.h diff --git a/keyboards/mt84/keymaps/default/keymap.c b/keyboards/mt/mt84/keymaps/default/keymap.c similarity index 100% rename from keyboards/mt84/keymaps/default/keymap.c rename to keyboards/mt/mt84/keymaps/default/keymap.c diff --git a/keyboards/mt84/keymaps/via/keymap.c b/keyboards/mt/mt84/keymaps/via/keymap.c similarity index 100% rename from keyboards/mt84/keymaps/via/keymap.c rename to keyboards/mt/mt84/keymaps/via/keymap.c diff --git a/keyboards/mt84/keymaps/via/rules.mk b/keyboards/mt/mt84/keymaps/via/rules.mk similarity index 100% rename from keyboards/mt84/keymaps/via/rules.mk rename to keyboards/mt/mt84/keymaps/via/rules.mk diff --git a/keyboards/mt84/mt84.c b/keyboards/mt/mt84/mt84.c similarity index 100% rename from keyboards/mt84/mt84.c rename to keyboards/mt/mt84/mt84.c diff --git a/keyboards/mt84/mt84.h b/keyboards/mt/mt84/mt84.h similarity index 100% rename from keyboards/mt84/mt84.h rename to keyboards/mt/mt84/mt84.h diff --git a/keyboards/mt84/readme.md b/keyboards/mt/mt84/readme.md similarity index 93% rename from keyboards/mt84/readme.md rename to keyboards/mt/mt84/readme.md index 17e1de2f5c57..f26521ad6ab6 100644 --- a/keyboards/mt84/readme.md +++ b/keyboards/mt/mt84/readme.md @@ -12,11 +12,11 @@ It supports standard 84-key layout, with hotswap sockets and per-key RGB backlig Make example for this keyboard (after setting up your build environment): - make mt84:default + make mt/mt84:default Flashing example for this keyboard: - make mt84:default:flash + make mt/mt84:default:flash To put the board into bootloader mode, either press the reset button on the bottom the PCB or hold Space+B while plugging it in. diff --git a/keyboards/mt84/rules.mk b/keyboards/mt/mt84/rules.mk similarity index 100% rename from keyboards/mt84/rules.mk rename to keyboards/mt/mt84/rules.mk diff --git a/keyboards/mt980/config.h b/keyboards/mt/mt980/config.h similarity index 100% rename from keyboards/mt980/config.h rename to keyboards/mt/mt980/config.h diff --git a/keyboards/mt980/info.json b/keyboards/mt/mt980/info.json similarity index 100% rename from keyboards/mt980/info.json rename to keyboards/mt/mt980/info.json diff --git a/keyboards/mt980/keymaps/default/keymap.c b/keyboards/mt/mt980/keymaps/default/keymap.c similarity index 100% rename from keyboards/mt980/keymaps/default/keymap.c rename to keyboards/mt/mt980/keymaps/default/keymap.c diff --git a/keyboards/mt980/keymaps/walker/config.h b/keyboards/mt/mt980/keymaps/walker/config.h similarity index 100% rename from keyboards/mt980/keymaps/walker/config.h rename to keyboards/mt/mt980/keymaps/walker/config.h diff --git a/keyboards/mt980/keymaps/walker/keymap.c b/keyboards/mt/mt980/keymaps/walker/keymap.c similarity index 100% rename from keyboards/mt980/keymaps/walker/keymap.c rename to keyboards/mt/mt980/keymaps/walker/keymap.c diff --git a/keyboards/mt980/keymaps/walker/rules.mk b/keyboards/mt/mt980/keymaps/walker/rules.mk similarity index 100% rename from keyboards/mt980/keymaps/walker/rules.mk rename to keyboards/mt/mt980/keymaps/walker/rules.mk diff --git a/keyboards/mt980/mt980.c b/keyboards/mt/mt980/mt980.c similarity index 100% rename from keyboards/mt980/mt980.c rename to keyboards/mt/mt980/mt980.c diff --git a/keyboards/mt980/mt980.h b/keyboards/mt/mt980/mt980.h similarity index 100% rename from keyboards/mt980/mt980.h rename to keyboards/mt/mt980/mt980.h diff --git a/keyboards/mt980/readme.md b/keyboards/mt/mt980/readme.md similarity index 96% rename from keyboards/mt980/readme.md rename to keyboards/mt/mt980/readme.md index 7bc27c93a5f0..5e702de7140e 100644 --- a/keyboards/mt980/readme.md +++ b/keyboards/mt/mt980/readme.md @@ -8,7 +8,7 @@ Hardware Availability: Taobao store https://shop110310565.taobao.com Make example for this keyboard (after setting up your build environment): - make mt980:default + make mt/mt980:default 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/mt980/rules.mk b/keyboards/mt/mt980/rules.mk similarity index 100% rename from keyboards/mt980/rules.mk rename to keyboards/mt/mt980/rules.mk diff --git a/keyboards/wheatfield/split75/config.h b/keyboards/mt/split75/config.h similarity index 100% rename from keyboards/wheatfield/split75/config.h rename to keyboards/mt/split75/config.h diff --git a/keyboards/wheatfield/split75/info.json b/keyboards/mt/split75/info.json similarity index 100% rename from keyboards/wheatfield/split75/info.json rename to keyboards/mt/split75/info.json diff --git a/keyboards/wheatfield/split75/keymaps/art/keymap.c b/keyboards/mt/split75/keymaps/art/keymap.c similarity index 100% rename from keyboards/wheatfield/split75/keymaps/art/keymap.c rename to keyboards/mt/split75/keymaps/art/keymap.c diff --git a/keyboards/wheatfield/split75/keymaps/art/rules.mk b/keyboards/mt/split75/keymaps/art/rules.mk similarity index 100% rename from keyboards/wheatfield/split75/keymaps/art/rules.mk rename to keyboards/mt/split75/keymaps/art/rules.mk diff --git a/keyboards/wheatfield/split75/keymaps/default/keymap.c b/keyboards/mt/split75/keymaps/default/keymap.c similarity index 100% rename from keyboards/wheatfield/split75/keymaps/default/keymap.c rename to keyboards/mt/split75/keymaps/default/keymap.c diff --git a/keyboards/wheatfield/split75/keymaps/iso/keymap.c b/keyboards/mt/split75/keymaps/iso/keymap.c similarity index 100% rename from keyboards/wheatfield/split75/keymaps/iso/keymap.c rename to keyboards/mt/split75/keymaps/iso/keymap.c diff --git a/keyboards/wheatfield/split75/matrix.c b/keyboards/mt/split75/matrix.c similarity index 100% rename from keyboards/wheatfield/split75/matrix.c rename to keyboards/mt/split75/matrix.c diff --git a/keyboards/wheatfield/split75/readme.md b/keyboards/mt/split75/readme.md similarity index 94% rename from keyboards/wheatfield/split75/readme.md rename to keyboards/mt/split75/readme.md index ec8c7ee9ea9c..360ad552398f 100644 --- a/keyboards/wheatfield/split75/readme.md +++ b/keyboards/mt/split75/readme.md @@ -13,11 +13,11 @@ Original work performed by Michael L. Walker, all credit goes to him. I've tidie Make example for this keyboard (after setting up your build environment): - make wheatfield/split75:default + make mt/split75:default Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) - make wheatfield/split75:default:flash + make mt/split75:default:flash or diff --git a/keyboards/wheatfield/split75/rules.mk b/keyboards/mt/split75/rules.mk similarity index 100% rename from keyboards/wheatfield/split75/rules.mk rename to keyboards/mt/split75/rules.mk diff --git a/keyboards/wheatfield/split75/split75.c b/keyboards/mt/split75/split75.c similarity index 100% rename from keyboards/wheatfield/split75/split75.c rename to keyboards/mt/split75/split75.c diff --git a/keyboards/wheatfield/split75/split75.h b/keyboards/mt/split75/split75.h similarity index 100% rename from keyboards/wheatfield/split75/split75.h rename to keyboards/mt/split75/split75.h From 9f63bce70bd8e065e54de17c48994c3c008d2e0a Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 19 Apr 2022 18:17:21 +0800 Subject: [PATCH 0557/1832] move keyhive exclusive boards into /keyhive (#16084) Co-authored-by: Nick Brassel --- keyboards/{ => keyhive}/absinthe/absinthe.c | 0 keyboards/{ => keyhive}/absinthe/absinthe.h | 0 keyboards/{ => keyhive}/absinthe/config.h | 0 keyboards/{ => keyhive}/absinthe/info.json | 0 keyboards/{ => keyhive}/absinthe/keymaps/ansi/keymap.c | 0 keyboards/{ => keyhive}/absinthe/keymaps/ansi/readme.md | 0 keyboards/{ => keyhive}/absinthe/keymaps/default/keymap.c | 0 .../{ => keyhive}/absinthe/keymaps/default/readme.md | 0 keyboards/{ => keyhive}/absinthe/keymaps/via/keymap.c | 0 keyboards/{ => keyhive}/absinthe/keymaps/via/rules.mk | 0 keyboards/{ => keyhive}/absinthe/readme.md | 2 +- keyboards/{ => keyhive}/absinthe/rules.mk | 0 keyboards/{ => keyhive}/ergosaurus/config.h | 0 keyboards/{ => keyhive}/ergosaurus/ergosaurus.c | 0 keyboards/{ => keyhive}/ergosaurus/ergosaurus.h | 0 keyboards/{ => keyhive}/ergosaurus/info.json | 0 .../{ => keyhive}/ergosaurus/keymaps/default/keymap.c | 0 .../{ => keyhive}/ergosaurus/keymaps/default/readme.md | 0 keyboards/{ => keyhive}/ergosaurus/keymaps/via/keymap.c | 0 keyboards/{ => keyhive}/ergosaurus/keymaps/via/rules.mk | 0 keyboards/{ => keyhive}/ergosaurus/readme.md | 2 +- keyboards/{ => keyhive}/ergosaurus/rules.mk | 0 keyboards/{ => keyhive}/honeycomb/config.h | 0 keyboards/{ => keyhive}/honeycomb/honeycomb.c | 0 keyboards/{ => keyhive}/honeycomb/honeycomb.h | 0 keyboards/{ => keyhive}/honeycomb/info.json | 0 .../{ => keyhive}/honeycomb/keymaps/default/keymap.c | 0 keyboards/{ => keyhive}/honeycomb/matrix.c | 0 keyboards/{ => keyhive}/honeycomb/readme.md | 6 +++--- keyboards/{ => keyhive}/honeycomb/rules.mk | 0 keyboards/{ => keyhive}/lattice60/config.h | 0 keyboards/{ => keyhive}/lattice60/info.json | 0 .../{ => keyhive}/lattice60/keymaps/default/config.h | 0 .../{ => keyhive}/lattice60/keymaps/default/keymap.c | 0 .../{ => keyhive}/lattice60/keymaps/default/readme.md | 0 .../{ => keyhive}/lattice60/keymaps/default_hhkb/config.h | 0 .../{ => keyhive}/lattice60/keymaps/default_hhkb/keymap.c | 0 .../lattice60/keymaps/default_hhkb/readme.md | 0 .../{ => keyhive}/lattice60/keymaps/emdarcher/config.h | 0 .../{ => keyhive}/lattice60/keymaps/emdarcher/keymap.c | 0 .../{ => keyhive}/lattice60/keymaps/emdarcher/readme.md | 0 keyboards/{ => keyhive}/lattice60/lattice60.c | 0 keyboards/{ => keyhive}/lattice60/lattice60.h | 0 keyboards/{ => keyhive}/lattice60/readme.md | 4 ++-- keyboards/{ => keyhive}/lattice60/rules.mk | 0 keyboards/{ => keyhive}/navi10/.noci | 0 keyboards/{ => keyhive}/navi10/info.json | 0 keyboards/{ => keyhive}/navi10/keymaps/default/keymap.c | 0 keyboards/{ => keyhive}/navi10/keymaps/default/readme.md | 0 keyboards/{ => keyhive}/navi10/keymaps/default/rules.mk | 0 keyboards/{ => keyhive}/navi10/keymaps/devdev/config.h | 0 keyboards/{ => keyhive}/navi10/keymaps/devdev/keymap.c | 0 keyboards/{ => keyhive}/navi10/keymaps/devdev/rules.mk | 0 keyboards/{ => keyhive}/navi10/keymaps/emdarcher/keymap.c | 0 .../{ => keyhive}/navi10/keymaps/emdarcher/readme.md | 0 keyboards/{ => keyhive}/navi10/keymaps/emdarcher/rules.mk | 0 keyboards/{ => keyhive}/navi10/readme.md | 4 ++-- keyboards/{ => keyhive}/navi10/rev0/.noci | 0 keyboards/{ => keyhive}/navi10/rev0/config.h | 0 keyboards/{ => keyhive}/navi10/rev0/rev0.c | 0 keyboards/{ => keyhive}/navi10/rev0/rev0.h | 0 keyboards/{ => keyhive}/navi10/rev0/rules.mk | 0 keyboards/{ => keyhive}/navi10/rev2/.noci | 0 keyboards/{ => keyhive}/navi10/rev2/config.h | 0 keyboards/{ => keyhive}/navi10/rev2/rev2.c | 0 keyboards/{ => keyhive}/navi10/rev2/rev2.h | 0 keyboards/{ => keyhive}/navi10/rev2/rules.mk | 0 keyboards/{ => keyhive}/navi10/rev3/config.h | 0 keyboards/{ => keyhive}/navi10/rev3/rev3.c | 0 keyboards/{ => keyhive}/navi10/rev3/rev3.h | 0 keyboards/{ => keyhive}/navi10/rev3/rules.mk | 0 keyboards/keyhive/navi10/rules.mk | 1 + keyboards/{ => keyhive}/opus/config.h | 0 keyboards/{ => keyhive}/opus/info.json | 0 keyboards/{ => keyhive}/opus/keymaps/default/keymap.c | 0 keyboards/{ => keyhive}/opus/keymaps/default/readme.md | 0 keyboards/{ => keyhive}/opus/keymaps/thefoxcodes/config.h | 0 keyboards/{ => keyhive}/opus/keymaps/thefoxcodes/keymap.c | 0 .../{ => keyhive}/opus/keymaps/thefoxcodes/readme.md | 0 keyboards/{ => keyhive}/opus/keymaps/thefoxcodes/rules.mk | 0 keyboards/{ => keyhive}/opus/opus.c | 0 keyboards/{ => keyhive}/opus/opus.h | 0 keyboards/{ => keyhive}/opus/readme.md | 2 +- keyboards/{ => keyhive}/opus/rules.mk | 0 keyboards/{ => keyhive}/smallice/config.h | 0 keyboards/{ => keyhive}/smallice/info.json | 0 keyboards/{ => keyhive}/smallice/keymaps/default/keymap.c | 0 .../{ => keyhive}/smallice/keymaps/default/readme.md | 0 keyboards/{ => keyhive}/smallice/keymaps/via/keymap.c | 0 keyboards/{ => keyhive}/smallice/keymaps/via/readme.md | 0 keyboards/{ => keyhive}/smallice/keymaps/via/rules.mk | 0 keyboards/{ => keyhive}/smallice/readme.md | 2 +- keyboards/{ => keyhive}/smallice/rules.mk | 0 keyboards/{ => keyhive}/smallice/smallice.c | 0 keyboards/{ => keyhive}/smallice/smallice.h | 0 keyboards/{ => keyhive}/southpole/config.h | 0 keyboards/{ => keyhive}/southpole/info.json | 0 .../{ => keyhive}/southpole/keymaps/default/keymap.c | 0 .../{ => keyhive}/southpole/keymaps/foobeard/keymap.c | 0 keyboards/{ => keyhive}/southpole/readme.md | 4 ++-- keyboards/{ => keyhive}/southpole/rules.mk | 0 keyboards/{ => keyhive}/southpole/southpole.c | 0 keyboards/{ => keyhive}/southpole/southpole.h | 0 keyboards/{ => keyhive}/uno/config.h | 0 keyboards/{ => keyhive}/uno/info.json | 0 keyboards/{ => keyhive}/uno/keymaps/copypasta/keymap.c | 0 keyboards/{ => keyhive}/uno/keymaps/copypasta/readme.md | 0 keyboards/{ => keyhive}/uno/keymaps/default/keymap.c | 0 keyboards/{ => keyhive}/uno/keymaps/default/readme.md | 0 keyboards/{ => keyhive}/uno/keymaps/demo/keymap.c | 0 keyboards/{ => keyhive}/uno/keymaps/demo/readme.md | 0 keyboards/{ => keyhive}/uno/readme.md | 8 ++++---- keyboards/{ => keyhive}/uno/rev1/config.h | 0 keyboards/{ => keyhive}/uno/rev1/rev1.h | 0 keyboards/{ => keyhive}/uno/rev1/rules.mk | 0 keyboards/{ => keyhive}/uno/rev2/config.h | 0 keyboards/{ => keyhive}/uno/rev2/rev2.h | 0 keyboards/{ => keyhive}/uno/rev2/rules.mk | 0 keyboards/{ => keyhive}/uno/rules.mk | 0 keyboards/{ => keyhive}/uno/uno.c | 0 keyboards/{ => keyhive}/uno/uno.h | 0 keyboards/{ => keyhive}/ut472/config.h | 0 keyboards/{ => keyhive}/ut472/info.json | 0 .../UT472_Annihilator6000_Configurator_file.json | 0 .../{ => keyhive}/ut472/keymaps/annihilator6000/config.h | 0 .../{ => keyhive}/ut472/keymaps/annihilator6000/keymap.c | 0 .../{ => keyhive}/ut472/keymaps/annihilator6000/readme.md | 0 keyboards/{ => keyhive}/ut472/keymaps/default/keymap.c | 0 keyboards/{ => keyhive}/ut472/keymaps/default/readme.md | 0 keyboards/{ => keyhive}/ut472/keymaps/hvp/config.h | 0 keyboards/{ => keyhive}/ut472/keymaps/hvp/keymap.c | 0 keyboards/{ => keyhive}/ut472/keymaps/hvp/readme.md | 0 keyboards/{ => keyhive}/ut472/keymaps/hvp/rules.mk | 0 .../{ => keyhive}/ut472/keymaps/stefanopace/config.h | 0 .../{ => keyhive}/ut472/keymaps/stefanopace/keymap.c | 0 .../{ => keyhive}/ut472/keymaps/stefanopace/readme.md | 0 .../{ => keyhive}/ut472/keymaps/stefanopace/rules.mk | 0 keyboards/{ => keyhive}/ut472/keymaps/tucznak/config.h | 0 keyboards/{ => keyhive}/ut472/keymaps/tucznak/keymap.c | 0 keyboards/{ => keyhive}/ut472/keymaps/tucznak/readme.md | 0 keyboards/{ => keyhive}/ut472/keymaps/tucznak/rules.mk | 0 keyboards/{ => keyhive}/ut472/keymaps/via/keymap.c | 0 keyboards/{ => keyhive}/ut472/keymaps/via/rules.mk | 0 keyboards/{ => keyhive}/ut472/readme.md | 2 +- keyboards/{ => keyhive}/ut472/rules.mk | 0 keyboards/{ => keyhive}/ut472/ut472.c | 0 keyboards/{ => keyhive}/ut472/ut472.h | 0 keyboards/navi10/rules.mk | 1 - 148 files changed, 19 insertions(+), 19 deletions(-) rename keyboards/{ => keyhive}/absinthe/absinthe.c (100%) rename keyboards/{ => keyhive}/absinthe/absinthe.h (100%) rename keyboards/{ => keyhive}/absinthe/config.h (100%) rename keyboards/{ => keyhive}/absinthe/info.json (100%) rename keyboards/{ => keyhive}/absinthe/keymaps/ansi/keymap.c (100%) rename keyboards/{ => keyhive}/absinthe/keymaps/ansi/readme.md (100%) rename keyboards/{ => keyhive}/absinthe/keymaps/default/keymap.c (100%) rename keyboards/{ => keyhive}/absinthe/keymaps/default/readme.md (100%) rename keyboards/{ => keyhive}/absinthe/keymaps/via/keymap.c (100%) rename keyboards/{ => keyhive}/absinthe/keymaps/via/rules.mk (100%) rename keyboards/{ => keyhive}/absinthe/readme.md (95%) rename keyboards/{ => keyhive}/absinthe/rules.mk (100%) rename keyboards/{ => keyhive}/ergosaurus/config.h (100%) rename keyboards/{ => keyhive}/ergosaurus/ergosaurus.c (100%) rename keyboards/{ => keyhive}/ergosaurus/ergosaurus.h (100%) rename keyboards/{ => keyhive}/ergosaurus/info.json (100%) rename keyboards/{ => keyhive}/ergosaurus/keymaps/default/keymap.c (100%) rename keyboards/{ => keyhive}/ergosaurus/keymaps/default/readme.md (100%) rename keyboards/{ => keyhive}/ergosaurus/keymaps/via/keymap.c (100%) rename keyboards/{ => keyhive}/ergosaurus/keymaps/via/rules.mk (100%) rename keyboards/{ => keyhive}/ergosaurus/readme.md (95%) rename keyboards/{ => keyhive}/ergosaurus/rules.mk (100%) rename keyboards/{ => keyhive}/honeycomb/config.h (100%) rename keyboards/{ => keyhive}/honeycomb/honeycomb.c (100%) rename keyboards/{ => keyhive}/honeycomb/honeycomb.h (100%) rename keyboards/{ => keyhive}/honeycomb/info.json (100%) rename keyboards/{ => keyhive}/honeycomb/keymaps/default/keymap.c (100%) rename keyboards/{ => keyhive}/honeycomb/matrix.c (100%) rename keyboards/{ => keyhive}/honeycomb/readme.md (89%) rename keyboards/{ => keyhive}/honeycomb/rules.mk (100%) rename keyboards/{ => keyhive}/lattice60/config.h (100%) rename keyboards/{ => keyhive}/lattice60/info.json (100%) rename keyboards/{ => keyhive}/lattice60/keymaps/default/config.h (100%) rename keyboards/{ => keyhive}/lattice60/keymaps/default/keymap.c (100%) rename keyboards/{ => keyhive}/lattice60/keymaps/default/readme.md (100%) rename keyboards/{ => keyhive}/lattice60/keymaps/default_hhkb/config.h (100%) rename keyboards/{ => keyhive}/lattice60/keymaps/default_hhkb/keymap.c (100%) rename keyboards/{ => keyhive}/lattice60/keymaps/default_hhkb/readme.md (100%) rename keyboards/{ => keyhive}/lattice60/keymaps/emdarcher/config.h (100%) rename keyboards/{ => keyhive}/lattice60/keymaps/emdarcher/keymap.c (100%) rename keyboards/{ => keyhive}/lattice60/keymaps/emdarcher/readme.md (100%) rename keyboards/{ => keyhive}/lattice60/lattice60.c (100%) rename keyboards/{ => keyhive}/lattice60/lattice60.h (100%) rename keyboards/{ => keyhive}/lattice60/readme.md (91%) rename keyboards/{ => keyhive}/lattice60/rules.mk (100%) rename keyboards/{ => keyhive}/navi10/.noci (100%) rename keyboards/{ => keyhive}/navi10/info.json (100%) rename keyboards/{ => keyhive}/navi10/keymaps/default/keymap.c (100%) rename keyboards/{ => keyhive}/navi10/keymaps/default/readme.md (100%) rename keyboards/{ => keyhive}/navi10/keymaps/default/rules.mk (100%) rename keyboards/{ => keyhive}/navi10/keymaps/devdev/config.h (100%) rename keyboards/{ => keyhive}/navi10/keymaps/devdev/keymap.c (100%) rename keyboards/{ => keyhive}/navi10/keymaps/devdev/rules.mk (100%) rename keyboards/{ => keyhive}/navi10/keymaps/emdarcher/keymap.c (100%) rename keyboards/{ => keyhive}/navi10/keymaps/emdarcher/readme.md (100%) rename keyboards/{ => keyhive}/navi10/keymaps/emdarcher/rules.mk (100%) rename keyboards/{ => keyhive}/navi10/readme.md (90%) rename keyboards/{ => keyhive}/navi10/rev0/.noci (100%) rename keyboards/{ => keyhive}/navi10/rev0/config.h (100%) rename keyboards/{ => keyhive}/navi10/rev0/rev0.c (100%) rename keyboards/{ => keyhive}/navi10/rev0/rev0.h (100%) rename keyboards/{ => keyhive}/navi10/rev0/rules.mk (100%) rename keyboards/{ => keyhive}/navi10/rev2/.noci (100%) rename keyboards/{ => keyhive}/navi10/rev2/config.h (100%) rename keyboards/{ => keyhive}/navi10/rev2/rev2.c (100%) rename keyboards/{ => keyhive}/navi10/rev2/rev2.h (100%) rename keyboards/{ => keyhive}/navi10/rev2/rules.mk (100%) rename keyboards/{ => keyhive}/navi10/rev3/config.h (100%) rename keyboards/{ => keyhive}/navi10/rev3/rev3.c (100%) rename keyboards/{ => keyhive}/navi10/rev3/rev3.h (100%) rename keyboards/{ => keyhive}/navi10/rev3/rules.mk (100%) create mode 100644 keyboards/keyhive/navi10/rules.mk rename keyboards/{ => keyhive}/opus/config.h (100%) rename keyboards/{ => keyhive}/opus/info.json (100%) rename keyboards/{ => keyhive}/opus/keymaps/default/keymap.c (100%) rename keyboards/{ => keyhive}/opus/keymaps/default/readme.md (100%) rename keyboards/{ => keyhive}/opus/keymaps/thefoxcodes/config.h (100%) rename keyboards/{ => keyhive}/opus/keymaps/thefoxcodes/keymap.c (100%) rename keyboards/{ => keyhive}/opus/keymaps/thefoxcodes/readme.md (100%) rename keyboards/{ => keyhive}/opus/keymaps/thefoxcodes/rules.mk (100%) rename keyboards/{ => keyhive}/opus/opus.c (100%) rename keyboards/{ => keyhive}/opus/opus.h (100%) rename keyboards/{ => keyhive}/opus/readme.md (95%) rename keyboards/{ => keyhive}/opus/rules.mk (100%) rename keyboards/{ => keyhive}/smallice/config.h (100%) rename keyboards/{ => keyhive}/smallice/info.json (100%) rename keyboards/{ => keyhive}/smallice/keymaps/default/keymap.c (100%) rename keyboards/{ => keyhive}/smallice/keymaps/default/readme.md (100%) rename keyboards/{ => keyhive}/smallice/keymaps/via/keymap.c (100%) rename keyboards/{ => keyhive}/smallice/keymaps/via/readme.md (100%) rename keyboards/{ => keyhive}/smallice/keymaps/via/rules.mk (100%) rename keyboards/{ => keyhive}/smallice/readme.md (95%) rename keyboards/{ => keyhive}/smallice/rules.mk (100%) rename keyboards/{ => keyhive}/smallice/smallice.c (100%) rename keyboards/{ => keyhive}/smallice/smallice.h (100%) rename keyboards/{ => keyhive}/southpole/config.h (100%) rename keyboards/{ => keyhive}/southpole/info.json (100%) rename keyboards/{ => keyhive}/southpole/keymaps/default/keymap.c (100%) rename keyboards/{ => keyhive}/southpole/keymaps/foobeard/keymap.c (100%) rename keyboards/{ => keyhive}/southpole/readme.md (91%) rename keyboards/{ => keyhive}/southpole/rules.mk (100%) rename keyboards/{ => keyhive}/southpole/southpole.c (100%) rename keyboards/{ => keyhive}/southpole/southpole.h (100%) rename keyboards/{ => keyhive}/uno/config.h (100%) rename keyboards/{ => keyhive}/uno/info.json (100%) rename keyboards/{ => keyhive}/uno/keymaps/copypasta/keymap.c (100%) rename keyboards/{ => keyhive}/uno/keymaps/copypasta/readme.md (100%) rename keyboards/{ => keyhive}/uno/keymaps/default/keymap.c (100%) rename keyboards/{ => keyhive}/uno/keymaps/default/readme.md (100%) rename keyboards/{ => keyhive}/uno/keymaps/demo/keymap.c (100%) rename keyboards/{ => keyhive}/uno/keymaps/demo/readme.md (100%) rename keyboards/{ => keyhive}/uno/readme.md (86%) rename keyboards/{ => keyhive}/uno/rev1/config.h (100%) rename keyboards/{ => keyhive}/uno/rev1/rev1.h (100%) rename keyboards/{ => keyhive}/uno/rev1/rules.mk (100%) rename keyboards/{ => keyhive}/uno/rev2/config.h (100%) rename keyboards/{ => keyhive}/uno/rev2/rev2.h (100%) rename keyboards/{ => keyhive}/uno/rev2/rules.mk (100%) rename keyboards/{ => keyhive}/uno/rules.mk (100%) rename keyboards/{ => keyhive}/uno/uno.c (100%) rename keyboards/{ => keyhive}/uno/uno.h (100%) rename keyboards/{ => keyhive}/ut472/config.h (100%) rename keyboards/{ => keyhive}/ut472/info.json (100%) rename keyboards/{ => keyhive}/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json (100%) rename keyboards/{ => keyhive}/ut472/keymaps/annihilator6000/config.h (100%) rename keyboards/{ => keyhive}/ut472/keymaps/annihilator6000/keymap.c (100%) rename keyboards/{ => keyhive}/ut472/keymaps/annihilator6000/readme.md (100%) rename keyboards/{ => keyhive}/ut472/keymaps/default/keymap.c (100%) rename keyboards/{ => keyhive}/ut472/keymaps/default/readme.md (100%) rename keyboards/{ => keyhive}/ut472/keymaps/hvp/config.h (100%) rename keyboards/{ => keyhive}/ut472/keymaps/hvp/keymap.c (100%) rename keyboards/{ => keyhive}/ut472/keymaps/hvp/readme.md (100%) rename keyboards/{ => keyhive}/ut472/keymaps/hvp/rules.mk (100%) rename keyboards/{ => keyhive}/ut472/keymaps/stefanopace/config.h (100%) rename keyboards/{ => keyhive}/ut472/keymaps/stefanopace/keymap.c (100%) rename keyboards/{ => keyhive}/ut472/keymaps/stefanopace/readme.md (100%) rename keyboards/{ => keyhive}/ut472/keymaps/stefanopace/rules.mk (100%) rename keyboards/{ => keyhive}/ut472/keymaps/tucznak/config.h (100%) rename keyboards/{ => keyhive}/ut472/keymaps/tucznak/keymap.c (100%) rename keyboards/{ => keyhive}/ut472/keymaps/tucznak/readme.md (100%) rename keyboards/{ => keyhive}/ut472/keymaps/tucznak/rules.mk (100%) rename keyboards/{ => keyhive}/ut472/keymaps/via/keymap.c (100%) rename keyboards/{ => keyhive}/ut472/keymaps/via/rules.mk (100%) rename keyboards/{ => keyhive}/ut472/readme.md (96%) rename keyboards/{ => keyhive}/ut472/rules.mk (100%) rename keyboards/{ => keyhive}/ut472/ut472.c (100%) rename keyboards/{ => keyhive}/ut472/ut472.h (100%) delete mode 100644 keyboards/navi10/rules.mk diff --git a/keyboards/absinthe/absinthe.c b/keyboards/keyhive/absinthe/absinthe.c similarity index 100% rename from keyboards/absinthe/absinthe.c rename to keyboards/keyhive/absinthe/absinthe.c diff --git a/keyboards/absinthe/absinthe.h b/keyboards/keyhive/absinthe/absinthe.h similarity index 100% rename from keyboards/absinthe/absinthe.h rename to keyboards/keyhive/absinthe/absinthe.h diff --git a/keyboards/absinthe/config.h b/keyboards/keyhive/absinthe/config.h similarity index 100% rename from keyboards/absinthe/config.h rename to keyboards/keyhive/absinthe/config.h diff --git a/keyboards/absinthe/info.json b/keyboards/keyhive/absinthe/info.json similarity index 100% rename from keyboards/absinthe/info.json rename to keyboards/keyhive/absinthe/info.json diff --git a/keyboards/absinthe/keymaps/ansi/keymap.c b/keyboards/keyhive/absinthe/keymaps/ansi/keymap.c similarity index 100% rename from keyboards/absinthe/keymaps/ansi/keymap.c rename to keyboards/keyhive/absinthe/keymaps/ansi/keymap.c diff --git a/keyboards/absinthe/keymaps/ansi/readme.md b/keyboards/keyhive/absinthe/keymaps/ansi/readme.md similarity index 100% rename from keyboards/absinthe/keymaps/ansi/readme.md rename to keyboards/keyhive/absinthe/keymaps/ansi/readme.md diff --git a/keyboards/absinthe/keymaps/default/keymap.c b/keyboards/keyhive/absinthe/keymaps/default/keymap.c similarity index 100% rename from keyboards/absinthe/keymaps/default/keymap.c rename to keyboards/keyhive/absinthe/keymaps/default/keymap.c diff --git a/keyboards/absinthe/keymaps/default/readme.md b/keyboards/keyhive/absinthe/keymaps/default/readme.md similarity index 100% rename from keyboards/absinthe/keymaps/default/readme.md rename to keyboards/keyhive/absinthe/keymaps/default/readme.md diff --git a/keyboards/absinthe/keymaps/via/keymap.c b/keyboards/keyhive/absinthe/keymaps/via/keymap.c similarity index 100% rename from keyboards/absinthe/keymaps/via/keymap.c rename to keyboards/keyhive/absinthe/keymaps/via/keymap.c diff --git a/keyboards/absinthe/keymaps/via/rules.mk b/keyboards/keyhive/absinthe/keymaps/via/rules.mk similarity index 100% rename from keyboards/absinthe/keymaps/via/rules.mk rename to keyboards/keyhive/absinthe/keymaps/via/rules.mk diff --git a/keyboards/absinthe/readme.md b/keyboards/keyhive/absinthe/readme.md similarity index 95% rename from keyboards/absinthe/readme.md rename to keyboards/keyhive/absinthe/readme.md index f99d3649f2c4..518e13e8f09d 100644 --- a/keyboards/absinthe/readme.md +++ b/keyboards/keyhive/absinthe/readme.md @@ -10,6 +10,6 @@ A budget-friendly F-rowless TKL with a rotary encoder Make example for this keyboard (after setting up your build environment): - make absinthe:default + make keyhive/absinthe:default 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/absinthe/rules.mk b/keyboards/keyhive/absinthe/rules.mk similarity index 100% rename from keyboards/absinthe/rules.mk rename to keyboards/keyhive/absinthe/rules.mk diff --git a/keyboards/ergosaurus/config.h b/keyboards/keyhive/ergosaurus/config.h similarity index 100% rename from keyboards/ergosaurus/config.h rename to keyboards/keyhive/ergosaurus/config.h diff --git a/keyboards/ergosaurus/ergosaurus.c b/keyboards/keyhive/ergosaurus/ergosaurus.c similarity index 100% rename from keyboards/ergosaurus/ergosaurus.c rename to keyboards/keyhive/ergosaurus/ergosaurus.c diff --git a/keyboards/ergosaurus/ergosaurus.h b/keyboards/keyhive/ergosaurus/ergosaurus.h similarity index 100% rename from keyboards/ergosaurus/ergosaurus.h rename to keyboards/keyhive/ergosaurus/ergosaurus.h diff --git a/keyboards/ergosaurus/info.json b/keyboards/keyhive/ergosaurus/info.json similarity index 100% rename from keyboards/ergosaurus/info.json rename to keyboards/keyhive/ergosaurus/info.json diff --git a/keyboards/ergosaurus/keymaps/default/keymap.c b/keyboards/keyhive/ergosaurus/keymaps/default/keymap.c similarity index 100% rename from keyboards/ergosaurus/keymaps/default/keymap.c rename to keyboards/keyhive/ergosaurus/keymaps/default/keymap.c diff --git a/keyboards/ergosaurus/keymaps/default/readme.md b/keyboards/keyhive/ergosaurus/keymaps/default/readme.md similarity index 100% rename from keyboards/ergosaurus/keymaps/default/readme.md rename to keyboards/keyhive/ergosaurus/keymaps/default/readme.md diff --git a/keyboards/ergosaurus/keymaps/via/keymap.c b/keyboards/keyhive/ergosaurus/keymaps/via/keymap.c similarity index 100% rename from keyboards/ergosaurus/keymaps/via/keymap.c rename to keyboards/keyhive/ergosaurus/keymaps/via/keymap.c diff --git a/keyboards/ergosaurus/keymaps/via/rules.mk b/keyboards/keyhive/ergosaurus/keymaps/via/rules.mk similarity index 100% rename from keyboards/ergosaurus/keymaps/via/rules.mk rename to keyboards/keyhive/ergosaurus/keymaps/via/rules.mk diff --git a/keyboards/ergosaurus/readme.md b/keyboards/keyhive/ergosaurus/readme.md similarity index 95% rename from keyboards/ergosaurus/readme.md rename to keyboards/keyhive/ergosaurus/readme.md index cb1a02318ba6..ed01f650f3bd 100644 --- a/keyboards/ergosaurus/readme.md +++ b/keyboards/keyhive/ergosaurus/readme.md @@ -10,6 +10,6 @@ An Arduino Pro Micro driven Alice-clone PCB. Supports all Alice-style cases, giv Make example for this keyboard (after setting up your build environment): - make ergosaurus:default + make keyhive/ergosaurus:default 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/ergosaurus/rules.mk b/keyboards/keyhive/ergosaurus/rules.mk similarity index 100% rename from keyboards/ergosaurus/rules.mk rename to keyboards/keyhive/ergosaurus/rules.mk diff --git a/keyboards/honeycomb/config.h b/keyboards/keyhive/honeycomb/config.h similarity index 100% rename from keyboards/honeycomb/config.h rename to keyboards/keyhive/honeycomb/config.h diff --git a/keyboards/honeycomb/honeycomb.c b/keyboards/keyhive/honeycomb/honeycomb.c similarity index 100% rename from keyboards/honeycomb/honeycomb.c rename to keyboards/keyhive/honeycomb/honeycomb.c diff --git a/keyboards/honeycomb/honeycomb.h b/keyboards/keyhive/honeycomb/honeycomb.h similarity index 100% rename from keyboards/honeycomb/honeycomb.h rename to keyboards/keyhive/honeycomb/honeycomb.h diff --git a/keyboards/honeycomb/info.json b/keyboards/keyhive/honeycomb/info.json similarity index 100% rename from keyboards/honeycomb/info.json rename to keyboards/keyhive/honeycomb/info.json diff --git a/keyboards/honeycomb/keymaps/default/keymap.c b/keyboards/keyhive/honeycomb/keymaps/default/keymap.c similarity index 100% rename from keyboards/honeycomb/keymaps/default/keymap.c rename to keyboards/keyhive/honeycomb/keymaps/default/keymap.c diff --git a/keyboards/honeycomb/matrix.c b/keyboards/keyhive/honeycomb/matrix.c similarity index 100% rename from keyboards/honeycomb/matrix.c rename to keyboards/keyhive/honeycomb/matrix.c diff --git a/keyboards/honeycomb/readme.md b/keyboards/keyhive/honeycomb/readme.md similarity index 89% rename from keyboards/honeycomb/readme.md rename to keyboards/keyhive/honeycomb/readme.md index 955f0ac7a285..611aa638802b 100755 --- a/keyboards/honeycomb/readme.md +++ b/keyboards/keyhive/honeycomb/readme.md @@ -8,13 +8,13 @@ These configuration files use a completely different 'matrix scan' system than o Run the following command in your terminal: ``` -make honeycomb:default +make keyhive/honeycomb:default # or use this to automatically flash the controller -make honeycomb:default:avrdude +make keyhive/honeycomb:default:avrdude ``` Follow the QMK guide for this or ask in Discord. ### Other Keymaps -Because this is a totally custom macropad, it is recommended that you copy the `default/` folder, rename it as desired, and modify the `keymap.c` to your liking. \ No newline at end of file +Because this is a totally custom macropad, it is recommended that you copy the `default/` folder, rename it as desired, and modify the `keymap.c` to your liking. diff --git a/keyboards/honeycomb/rules.mk b/keyboards/keyhive/honeycomb/rules.mk similarity index 100% rename from keyboards/honeycomb/rules.mk rename to keyboards/keyhive/honeycomb/rules.mk diff --git a/keyboards/lattice60/config.h b/keyboards/keyhive/lattice60/config.h similarity index 100% rename from keyboards/lattice60/config.h rename to keyboards/keyhive/lattice60/config.h diff --git a/keyboards/lattice60/info.json b/keyboards/keyhive/lattice60/info.json similarity index 100% rename from keyboards/lattice60/info.json rename to keyboards/keyhive/lattice60/info.json diff --git a/keyboards/lattice60/keymaps/default/config.h b/keyboards/keyhive/lattice60/keymaps/default/config.h similarity index 100% rename from keyboards/lattice60/keymaps/default/config.h rename to keyboards/keyhive/lattice60/keymaps/default/config.h diff --git a/keyboards/lattice60/keymaps/default/keymap.c b/keyboards/keyhive/lattice60/keymaps/default/keymap.c similarity index 100% rename from keyboards/lattice60/keymaps/default/keymap.c rename to keyboards/keyhive/lattice60/keymaps/default/keymap.c diff --git a/keyboards/lattice60/keymaps/default/readme.md b/keyboards/keyhive/lattice60/keymaps/default/readme.md similarity index 100% rename from keyboards/lattice60/keymaps/default/readme.md rename to keyboards/keyhive/lattice60/keymaps/default/readme.md diff --git a/keyboards/lattice60/keymaps/default_hhkb/config.h b/keyboards/keyhive/lattice60/keymaps/default_hhkb/config.h similarity index 100% rename from keyboards/lattice60/keymaps/default_hhkb/config.h rename to keyboards/keyhive/lattice60/keymaps/default_hhkb/config.h diff --git a/keyboards/lattice60/keymaps/default_hhkb/keymap.c b/keyboards/keyhive/lattice60/keymaps/default_hhkb/keymap.c similarity index 100% rename from keyboards/lattice60/keymaps/default_hhkb/keymap.c rename to keyboards/keyhive/lattice60/keymaps/default_hhkb/keymap.c diff --git a/keyboards/lattice60/keymaps/default_hhkb/readme.md b/keyboards/keyhive/lattice60/keymaps/default_hhkb/readme.md similarity index 100% rename from keyboards/lattice60/keymaps/default_hhkb/readme.md rename to keyboards/keyhive/lattice60/keymaps/default_hhkb/readme.md diff --git a/keyboards/lattice60/keymaps/emdarcher/config.h b/keyboards/keyhive/lattice60/keymaps/emdarcher/config.h similarity index 100% rename from keyboards/lattice60/keymaps/emdarcher/config.h rename to keyboards/keyhive/lattice60/keymaps/emdarcher/config.h diff --git a/keyboards/lattice60/keymaps/emdarcher/keymap.c b/keyboards/keyhive/lattice60/keymaps/emdarcher/keymap.c similarity index 100% rename from keyboards/lattice60/keymaps/emdarcher/keymap.c rename to keyboards/keyhive/lattice60/keymaps/emdarcher/keymap.c diff --git a/keyboards/lattice60/keymaps/emdarcher/readme.md b/keyboards/keyhive/lattice60/keymaps/emdarcher/readme.md similarity index 100% rename from keyboards/lattice60/keymaps/emdarcher/readme.md rename to keyboards/keyhive/lattice60/keymaps/emdarcher/readme.md diff --git a/keyboards/lattice60/lattice60.c b/keyboards/keyhive/lattice60/lattice60.c similarity index 100% rename from keyboards/lattice60/lattice60.c rename to keyboards/keyhive/lattice60/lattice60.c diff --git a/keyboards/lattice60/lattice60.h b/keyboards/keyhive/lattice60/lattice60.h similarity index 100% rename from keyboards/lattice60/lattice60.h rename to keyboards/keyhive/lattice60/lattice60.h diff --git a/keyboards/lattice60/readme.md b/keyboards/keyhive/lattice60/readme.md similarity index 91% rename from keyboards/lattice60/readme.md rename to keyboards/keyhive/lattice60/readme.md index f5a3dc594285..92fe6198e042 100644 --- a/keyboards/lattice60/readme.md +++ b/keyboards/keyhive/lattice60/readme.md @@ -10,12 +10,12 @@ A HHKB layout keyboard using only through-hole components. Make example for this keyboard (after setting up your build environment): - make lattice60:default + make keyhive/lattice60:default To activate the USBasploader bootloader, hold the BOOT button down during power on or reset. LED2 should light up to indicate that the bootloader is active. Flash the firmware using the `make` command with the `flash` parameter, example below: - make lattice60:default:flash + make keyhive/lattice60:default:flash 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/lattice60/rules.mk b/keyboards/keyhive/lattice60/rules.mk similarity index 100% rename from keyboards/lattice60/rules.mk rename to keyboards/keyhive/lattice60/rules.mk diff --git a/keyboards/navi10/.noci b/keyboards/keyhive/navi10/.noci similarity index 100% rename from keyboards/navi10/.noci rename to keyboards/keyhive/navi10/.noci diff --git a/keyboards/navi10/info.json b/keyboards/keyhive/navi10/info.json similarity index 100% rename from keyboards/navi10/info.json rename to keyboards/keyhive/navi10/info.json diff --git a/keyboards/navi10/keymaps/default/keymap.c b/keyboards/keyhive/navi10/keymaps/default/keymap.c similarity index 100% rename from keyboards/navi10/keymaps/default/keymap.c rename to keyboards/keyhive/navi10/keymaps/default/keymap.c diff --git a/keyboards/navi10/keymaps/default/readme.md b/keyboards/keyhive/navi10/keymaps/default/readme.md similarity index 100% rename from keyboards/navi10/keymaps/default/readme.md rename to keyboards/keyhive/navi10/keymaps/default/readme.md diff --git a/keyboards/navi10/keymaps/default/rules.mk b/keyboards/keyhive/navi10/keymaps/default/rules.mk similarity index 100% rename from keyboards/navi10/keymaps/default/rules.mk rename to keyboards/keyhive/navi10/keymaps/default/rules.mk diff --git a/keyboards/navi10/keymaps/devdev/config.h b/keyboards/keyhive/navi10/keymaps/devdev/config.h similarity index 100% rename from keyboards/navi10/keymaps/devdev/config.h rename to keyboards/keyhive/navi10/keymaps/devdev/config.h diff --git a/keyboards/navi10/keymaps/devdev/keymap.c b/keyboards/keyhive/navi10/keymaps/devdev/keymap.c similarity index 100% rename from keyboards/navi10/keymaps/devdev/keymap.c rename to keyboards/keyhive/navi10/keymaps/devdev/keymap.c diff --git a/keyboards/navi10/keymaps/devdev/rules.mk b/keyboards/keyhive/navi10/keymaps/devdev/rules.mk similarity index 100% rename from keyboards/navi10/keymaps/devdev/rules.mk rename to keyboards/keyhive/navi10/keymaps/devdev/rules.mk diff --git a/keyboards/navi10/keymaps/emdarcher/keymap.c b/keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c similarity index 100% rename from keyboards/navi10/keymaps/emdarcher/keymap.c rename to keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c diff --git a/keyboards/navi10/keymaps/emdarcher/readme.md b/keyboards/keyhive/navi10/keymaps/emdarcher/readme.md similarity index 100% rename from keyboards/navi10/keymaps/emdarcher/readme.md rename to keyboards/keyhive/navi10/keymaps/emdarcher/readme.md diff --git a/keyboards/navi10/keymaps/emdarcher/rules.mk b/keyboards/keyhive/navi10/keymaps/emdarcher/rules.mk similarity index 100% rename from keyboards/navi10/keymaps/emdarcher/rules.mk rename to keyboards/keyhive/navi10/keymaps/emdarcher/rules.mk diff --git a/keyboards/navi10/readme.md b/keyboards/keyhive/navi10/readme.md similarity index 90% rename from keyboards/navi10/readme.md rename to keyboards/keyhive/navi10/readme.md index 58a94711f20f..06f54b73dd45 100644 --- a/keyboards/navi10/readme.md +++ b/keyboards/keyhive/navi10/readme.md @@ -10,10 +10,10 @@ A simple and fun navigation cluster macropad with exposed components. Make example for this keyboard (after setting up your build environment): - make navi10:default + make keyhive/navi10:default Make example for a specific revision (ex. rev2): - make navi10/rev2:default + make keyhive/navi10/rev2:default 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/navi10/rev0/.noci b/keyboards/keyhive/navi10/rev0/.noci similarity index 100% rename from keyboards/navi10/rev0/.noci rename to keyboards/keyhive/navi10/rev0/.noci diff --git a/keyboards/navi10/rev0/config.h b/keyboards/keyhive/navi10/rev0/config.h similarity index 100% rename from keyboards/navi10/rev0/config.h rename to keyboards/keyhive/navi10/rev0/config.h diff --git a/keyboards/navi10/rev0/rev0.c b/keyboards/keyhive/navi10/rev0/rev0.c similarity index 100% rename from keyboards/navi10/rev0/rev0.c rename to keyboards/keyhive/navi10/rev0/rev0.c diff --git a/keyboards/navi10/rev0/rev0.h b/keyboards/keyhive/navi10/rev0/rev0.h similarity index 100% rename from keyboards/navi10/rev0/rev0.h rename to keyboards/keyhive/navi10/rev0/rev0.h diff --git a/keyboards/navi10/rev0/rules.mk b/keyboards/keyhive/navi10/rev0/rules.mk similarity index 100% rename from keyboards/navi10/rev0/rules.mk rename to keyboards/keyhive/navi10/rev0/rules.mk diff --git a/keyboards/navi10/rev2/.noci b/keyboards/keyhive/navi10/rev2/.noci similarity index 100% rename from keyboards/navi10/rev2/.noci rename to keyboards/keyhive/navi10/rev2/.noci diff --git a/keyboards/navi10/rev2/config.h b/keyboards/keyhive/navi10/rev2/config.h similarity index 100% rename from keyboards/navi10/rev2/config.h rename to keyboards/keyhive/navi10/rev2/config.h diff --git a/keyboards/navi10/rev2/rev2.c b/keyboards/keyhive/navi10/rev2/rev2.c similarity index 100% rename from keyboards/navi10/rev2/rev2.c rename to keyboards/keyhive/navi10/rev2/rev2.c diff --git a/keyboards/navi10/rev2/rev2.h b/keyboards/keyhive/navi10/rev2/rev2.h similarity index 100% rename from keyboards/navi10/rev2/rev2.h rename to keyboards/keyhive/navi10/rev2/rev2.h diff --git a/keyboards/navi10/rev2/rules.mk b/keyboards/keyhive/navi10/rev2/rules.mk similarity index 100% rename from keyboards/navi10/rev2/rules.mk rename to keyboards/keyhive/navi10/rev2/rules.mk diff --git a/keyboards/navi10/rev3/config.h b/keyboards/keyhive/navi10/rev3/config.h similarity index 100% rename from keyboards/navi10/rev3/config.h rename to keyboards/keyhive/navi10/rev3/config.h diff --git a/keyboards/navi10/rev3/rev3.c b/keyboards/keyhive/navi10/rev3/rev3.c similarity index 100% rename from keyboards/navi10/rev3/rev3.c rename to keyboards/keyhive/navi10/rev3/rev3.c diff --git a/keyboards/navi10/rev3/rev3.h b/keyboards/keyhive/navi10/rev3/rev3.h similarity index 100% rename from keyboards/navi10/rev3/rev3.h rename to keyboards/keyhive/navi10/rev3/rev3.h diff --git a/keyboards/navi10/rev3/rules.mk b/keyboards/keyhive/navi10/rev3/rules.mk similarity index 100% rename from keyboards/navi10/rev3/rules.mk rename to keyboards/keyhive/navi10/rev3/rules.mk diff --git a/keyboards/keyhive/navi10/rules.mk b/keyboards/keyhive/navi10/rules.mk new file mode 100644 index 000000000000..6ebb2d0cebf2 --- /dev/null +++ b/keyboards/keyhive/navi10/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = keyhive/navi10/rev3 diff --git a/keyboards/opus/config.h b/keyboards/keyhive/opus/config.h similarity index 100% rename from keyboards/opus/config.h rename to keyboards/keyhive/opus/config.h diff --git a/keyboards/opus/info.json b/keyboards/keyhive/opus/info.json similarity index 100% rename from keyboards/opus/info.json rename to keyboards/keyhive/opus/info.json diff --git a/keyboards/opus/keymaps/default/keymap.c b/keyboards/keyhive/opus/keymaps/default/keymap.c similarity index 100% rename from keyboards/opus/keymaps/default/keymap.c rename to keyboards/keyhive/opus/keymaps/default/keymap.c diff --git a/keyboards/opus/keymaps/default/readme.md b/keyboards/keyhive/opus/keymaps/default/readme.md similarity index 100% rename from keyboards/opus/keymaps/default/readme.md rename to keyboards/keyhive/opus/keymaps/default/readme.md diff --git a/keyboards/opus/keymaps/thefoxcodes/config.h b/keyboards/keyhive/opus/keymaps/thefoxcodes/config.h similarity index 100% rename from keyboards/opus/keymaps/thefoxcodes/config.h rename to keyboards/keyhive/opus/keymaps/thefoxcodes/config.h diff --git a/keyboards/opus/keymaps/thefoxcodes/keymap.c b/keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c similarity index 100% rename from keyboards/opus/keymaps/thefoxcodes/keymap.c rename to keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c diff --git a/keyboards/opus/keymaps/thefoxcodes/readme.md b/keyboards/keyhive/opus/keymaps/thefoxcodes/readme.md similarity index 100% rename from keyboards/opus/keymaps/thefoxcodes/readme.md rename to keyboards/keyhive/opus/keymaps/thefoxcodes/readme.md diff --git a/keyboards/opus/keymaps/thefoxcodes/rules.mk b/keyboards/keyhive/opus/keymaps/thefoxcodes/rules.mk similarity index 100% rename from keyboards/opus/keymaps/thefoxcodes/rules.mk rename to keyboards/keyhive/opus/keymaps/thefoxcodes/rules.mk diff --git a/keyboards/opus/opus.c b/keyboards/keyhive/opus/opus.c similarity index 100% rename from keyboards/opus/opus.c rename to keyboards/keyhive/opus/opus.c diff --git a/keyboards/opus/opus.h b/keyboards/keyhive/opus/opus.h similarity index 100% rename from keyboards/opus/opus.h rename to keyboards/keyhive/opus/opus.h diff --git a/keyboards/opus/readme.md b/keyboards/keyhive/opus/readme.md similarity index 95% rename from keyboards/opus/readme.md rename to keyboards/keyhive/opus/readme.md index aebe3162d454..8a1adf4d181e 100644 --- a/keyboards/opus/readme.md +++ b/keyboards/keyhive/opus/readme.md @@ -10,6 +10,6 @@ The columns are angled to follow the natural angle of the hand. Make example for this keyboard (after setting up your build environment): - make opus:default + make keyhive/opus:default 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/opus/rules.mk b/keyboards/keyhive/opus/rules.mk similarity index 100% rename from keyboards/opus/rules.mk rename to keyboards/keyhive/opus/rules.mk diff --git a/keyboards/smallice/config.h b/keyboards/keyhive/smallice/config.h similarity index 100% rename from keyboards/smallice/config.h rename to keyboards/keyhive/smallice/config.h diff --git a/keyboards/smallice/info.json b/keyboards/keyhive/smallice/info.json similarity index 100% rename from keyboards/smallice/info.json rename to keyboards/keyhive/smallice/info.json diff --git a/keyboards/smallice/keymaps/default/keymap.c b/keyboards/keyhive/smallice/keymaps/default/keymap.c similarity index 100% rename from keyboards/smallice/keymaps/default/keymap.c rename to keyboards/keyhive/smallice/keymaps/default/keymap.c diff --git a/keyboards/smallice/keymaps/default/readme.md b/keyboards/keyhive/smallice/keymaps/default/readme.md similarity index 100% rename from keyboards/smallice/keymaps/default/readme.md rename to keyboards/keyhive/smallice/keymaps/default/readme.md diff --git a/keyboards/smallice/keymaps/via/keymap.c b/keyboards/keyhive/smallice/keymaps/via/keymap.c similarity index 100% rename from keyboards/smallice/keymaps/via/keymap.c rename to keyboards/keyhive/smallice/keymaps/via/keymap.c diff --git a/keyboards/smallice/keymaps/via/readme.md b/keyboards/keyhive/smallice/keymaps/via/readme.md similarity index 100% rename from keyboards/smallice/keymaps/via/readme.md rename to keyboards/keyhive/smallice/keymaps/via/readme.md diff --git a/keyboards/smallice/keymaps/via/rules.mk b/keyboards/keyhive/smallice/keymaps/via/rules.mk similarity index 100% rename from keyboards/smallice/keymaps/via/rules.mk rename to keyboards/keyhive/smallice/keymaps/via/rules.mk diff --git a/keyboards/smallice/readme.md b/keyboards/keyhive/smallice/readme.md similarity index 95% rename from keyboards/smallice/readme.md rename to keyboards/keyhive/smallice/readme.md index 70ac44cf7429..2276b38a9eb6 100644 --- a/keyboards/smallice/readme.md +++ b/keyboards/keyhive/smallice/readme.md @@ -10,7 +10,7 @@ A 40% alice-like keyboard with an arrow cluster. Make example for this keyboard (after setting up your build environment): - make smallice:default + make keyhive/smallice:default ### Flash diff --git a/keyboards/smallice/rules.mk b/keyboards/keyhive/smallice/rules.mk similarity index 100% rename from keyboards/smallice/rules.mk rename to keyboards/keyhive/smallice/rules.mk diff --git a/keyboards/smallice/smallice.c b/keyboards/keyhive/smallice/smallice.c similarity index 100% rename from keyboards/smallice/smallice.c rename to keyboards/keyhive/smallice/smallice.c diff --git a/keyboards/smallice/smallice.h b/keyboards/keyhive/smallice/smallice.h similarity index 100% rename from keyboards/smallice/smallice.h rename to keyboards/keyhive/smallice/smallice.h diff --git a/keyboards/southpole/config.h b/keyboards/keyhive/southpole/config.h similarity index 100% rename from keyboards/southpole/config.h rename to keyboards/keyhive/southpole/config.h diff --git a/keyboards/southpole/info.json b/keyboards/keyhive/southpole/info.json similarity index 100% rename from keyboards/southpole/info.json rename to keyboards/keyhive/southpole/info.json diff --git a/keyboards/southpole/keymaps/default/keymap.c b/keyboards/keyhive/southpole/keymaps/default/keymap.c similarity index 100% rename from keyboards/southpole/keymaps/default/keymap.c rename to keyboards/keyhive/southpole/keymaps/default/keymap.c diff --git a/keyboards/southpole/keymaps/foobeard/keymap.c b/keyboards/keyhive/southpole/keymaps/foobeard/keymap.c similarity index 100% rename from keyboards/southpole/keymaps/foobeard/keymap.c rename to keyboards/keyhive/southpole/keymaps/foobeard/keymap.c diff --git a/keyboards/southpole/readme.md b/keyboards/keyhive/southpole/readme.md similarity index 91% rename from keyboards/southpole/readme.md rename to keyboards/keyhive/southpole/readme.md index 4ea99ad349cb..3f0cbc3a928b 100644 --- a/keyboards/southpole/readme.md +++ b/keyboards/keyhive/southpole/readme.md @@ -8,6 +8,6 @@ Hardware Supported: Teensy 2.0 Make example for this keyboard (after setting up your build environment): - make southpole:default + make keyhive/southpole:default -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). \ No newline at end of file +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/southpole/rules.mk b/keyboards/keyhive/southpole/rules.mk similarity index 100% rename from keyboards/southpole/rules.mk rename to keyboards/keyhive/southpole/rules.mk diff --git a/keyboards/southpole/southpole.c b/keyboards/keyhive/southpole/southpole.c similarity index 100% rename from keyboards/southpole/southpole.c rename to keyboards/keyhive/southpole/southpole.c diff --git a/keyboards/southpole/southpole.h b/keyboards/keyhive/southpole/southpole.h similarity index 100% rename from keyboards/southpole/southpole.h rename to keyboards/keyhive/southpole/southpole.h diff --git a/keyboards/uno/config.h b/keyboards/keyhive/uno/config.h similarity index 100% rename from keyboards/uno/config.h rename to keyboards/keyhive/uno/config.h diff --git a/keyboards/uno/info.json b/keyboards/keyhive/uno/info.json similarity index 100% rename from keyboards/uno/info.json rename to keyboards/keyhive/uno/info.json diff --git a/keyboards/uno/keymaps/copypasta/keymap.c b/keyboards/keyhive/uno/keymaps/copypasta/keymap.c similarity index 100% rename from keyboards/uno/keymaps/copypasta/keymap.c rename to keyboards/keyhive/uno/keymaps/copypasta/keymap.c diff --git a/keyboards/uno/keymaps/copypasta/readme.md b/keyboards/keyhive/uno/keymaps/copypasta/readme.md similarity index 100% rename from keyboards/uno/keymaps/copypasta/readme.md rename to keyboards/keyhive/uno/keymaps/copypasta/readme.md diff --git a/keyboards/uno/keymaps/default/keymap.c b/keyboards/keyhive/uno/keymaps/default/keymap.c similarity index 100% rename from keyboards/uno/keymaps/default/keymap.c rename to keyboards/keyhive/uno/keymaps/default/keymap.c diff --git a/keyboards/uno/keymaps/default/readme.md b/keyboards/keyhive/uno/keymaps/default/readme.md similarity index 100% rename from keyboards/uno/keymaps/default/readme.md rename to keyboards/keyhive/uno/keymaps/default/readme.md diff --git a/keyboards/uno/keymaps/demo/keymap.c b/keyboards/keyhive/uno/keymaps/demo/keymap.c similarity index 100% rename from keyboards/uno/keymaps/demo/keymap.c rename to keyboards/keyhive/uno/keymaps/demo/keymap.c diff --git a/keyboards/uno/keymaps/demo/readme.md b/keyboards/keyhive/uno/keymaps/demo/readme.md similarity index 100% rename from keyboards/uno/keymaps/demo/readme.md rename to keyboards/keyhive/uno/keymaps/demo/readme.md diff --git a/keyboards/uno/readme.md b/keyboards/keyhive/uno/readme.md similarity index 86% rename from keyboards/uno/readme.md rename to keyboards/keyhive/uno/readme.md index b60ef23e971d..23776115f367 100644 --- a/keyboards/uno/readme.md +++ b/keyboards/keyhive/uno/readme.md @@ -14,19 +14,19 @@ If it *does not* support a rotary encoder, use rev1. The following examples use Make example for this keyboard (after setting up your build environment; make sure to change `rev2` to your Uno's version): - make uno/rev2:default + make keyhive/uno/rev2:default Flashing example for this keyboard (change `rev2` to `rev1` if needed): - make uno/rev2:default:flash + make keyhive/uno/rev2:default:flash If you prefer to use the `qmk` tool: - qmk compile -kb uno/rev2 -km default + qmk compile -kb keyhive/uno/rev2 -km default Create your own keymap with: - qmk new-keymap -kb uno/rev2 + qmk new-keymap -kb keyhive/uno/rev2 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/uno/rev1/config.h b/keyboards/keyhive/uno/rev1/config.h similarity index 100% rename from keyboards/uno/rev1/config.h rename to keyboards/keyhive/uno/rev1/config.h diff --git a/keyboards/uno/rev1/rev1.h b/keyboards/keyhive/uno/rev1/rev1.h similarity index 100% rename from keyboards/uno/rev1/rev1.h rename to keyboards/keyhive/uno/rev1/rev1.h diff --git a/keyboards/uno/rev1/rules.mk b/keyboards/keyhive/uno/rev1/rules.mk similarity index 100% rename from keyboards/uno/rev1/rules.mk rename to keyboards/keyhive/uno/rev1/rules.mk diff --git a/keyboards/uno/rev2/config.h b/keyboards/keyhive/uno/rev2/config.h similarity index 100% rename from keyboards/uno/rev2/config.h rename to keyboards/keyhive/uno/rev2/config.h diff --git a/keyboards/uno/rev2/rev2.h b/keyboards/keyhive/uno/rev2/rev2.h similarity index 100% rename from keyboards/uno/rev2/rev2.h rename to keyboards/keyhive/uno/rev2/rev2.h diff --git a/keyboards/uno/rev2/rules.mk b/keyboards/keyhive/uno/rev2/rules.mk similarity index 100% rename from keyboards/uno/rev2/rules.mk rename to keyboards/keyhive/uno/rev2/rules.mk diff --git a/keyboards/uno/rules.mk b/keyboards/keyhive/uno/rules.mk similarity index 100% rename from keyboards/uno/rules.mk rename to keyboards/keyhive/uno/rules.mk diff --git a/keyboards/uno/uno.c b/keyboards/keyhive/uno/uno.c similarity index 100% rename from keyboards/uno/uno.c rename to keyboards/keyhive/uno/uno.c diff --git a/keyboards/uno/uno.h b/keyboards/keyhive/uno/uno.h similarity index 100% rename from keyboards/uno/uno.h rename to keyboards/keyhive/uno/uno.h diff --git a/keyboards/ut472/config.h b/keyboards/keyhive/ut472/config.h similarity index 100% rename from keyboards/ut472/config.h rename to keyboards/keyhive/ut472/config.h diff --git a/keyboards/ut472/info.json b/keyboards/keyhive/ut472/info.json similarity index 100% rename from keyboards/ut472/info.json rename to keyboards/keyhive/ut472/info.json diff --git a/keyboards/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json b/keyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json similarity index 100% rename from keyboards/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json rename to keyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json diff --git a/keyboards/ut472/keymaps/annihilator6000/config.h b/keyboards/keyhive/ut472/keymaps/annihilator6000/config.h similarity index 100% rename from keyboards/ut472/keymaps/annihilator6000/config.h rename to keyboards/keyhive/ut472/keymaps/annihilator6000/config.h diff --git a/keyboards/ut472/keymaps/annihilator6000/keymap.c b/keyboards/keyhive/ut472/keymaps/annihilator6000/keymap.c similarity index 100% rename from keyboards/ut472/keymaps/annihilator6000/keymap.c rename to keyboards/keyhive/ut472/keymaps/annihilator6000/keymap.c diff --git a/keyboards/ut472/keymaps/annihilator6000/readme.md b/keyboards/keyhive/ut472/keymaps/annihilator6000/readme.md similarity index 100% rename from keyboards/ut472/keymaps/annihilator6000/readme.md rename to keyboards/keyhive/ut472/keymaps/annihilator6000/readme.md diff --git a/keyboards/ut472/keymaps/default/keymap.c b/keyboards/keyhive/ut472/keymaps/default/keymap.c similarity index 100% rename from keyboards/ut472/keymaps/default/keymap.c rename to keyboards/keyhive/ut472/keymaps/default/keymap.c diff --git a/keyboards/ut472/keymaps/default/readme.md b/keyboards/keyhive/ut472/keymaps/default/readme.md similarity index 100% rename from keyboards/ut472/keymaps/default/readme.md rename to keyboards/keyhive/ut472/keymaps/default/readme.md diff --git a/keyboards/ut472/keymaps/hvp/config.h b/keyboards/keyhive/ut472/keymaps/hvp/config.h similarity index 100% rename from keyboards/ut472/keymaps/hvp/config.h rename to keyboards/keyhive/ut472/keymaps/hvp/config.h diff --git a/keyboards/ut472/keymaps/hvp/keymap.c b/keyboards/keyhive/ut472/keymaps/hvp/keymap.c similarity index 100% rename from keyboards/ut472/keymaps/hvp/keymap.c rename to keyboards/keyhive/ut472/keymaps/hvp/keymap.c diff --git a/keyboards/ut472/keymaps/hvp/readme.md b/keyboards/keyhive/ut472/keymaps/hvp/readme.md similarity index 100% rename from keyboards/ut472/keymaps/hvp/readme.md rename to keyboards/keyhive/ut472/keymaps/hvp/readme.md diff --git a/keyboards/ut472/keymaps/hvp/rules.mk b/keyboards/keyhive/ut472/keymaps/hvp/rules.mk similarity index 100% rename from keyboards/ut472/keymaps/hvp/rules.mk rename to keyboards/keyhive/ut472/keymaps/hvp/rules.mk diff --git a/keyboards/ut472/keymaps/stefanopace/config.h b/keyboards/keyhive/ut472/keymaps/stefanopace/config.h similarity index 100% rename from keyboards/ut472/keymaps/stefanopace/config.h rename to keyboards/keyhive/ut472/keymaps/stefanopace/config.h diff --git a/keyboards/ut472/keymaps/stefanopace/keymap.c b/keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c similarity index 100% rename from keyboards/ut472/keymaps/stefanopace/keymap.c rename to keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c diff --git a/keyboards/ut472/keymaps/stefanopace/readme.md b/keyboards/keyhive/ut472/keymaps/stefanopace/readme.md similarity index 100% rename from keyboards/ut472/keymaps/stefanopace/readme.md rename to keyboards/keyhive/ut472/keymaps/stefanopace/readme.md diff --git a/keyboards/ut472/keymaps/stefanopace/rules.mk b/keyboards/keyhive/ut472/keymaps/stefanopace/rules.mk similarity index 100% rename from keyboards/ut472/keymaps/stefanopace/rules.mk rename to keyboards/keyhive/ut472/keymaps/stefanopace/rules.mk diff --git a/keyboards/ut472/keymaps/tucznak/config.h b/keyboards/keyhive/ut472/keymaps/tucznak/config.h similarity index 100% rename from keyboards/ut472/keymaps/tucznak/config.h rename to keyboards/keyhive/ut472/keymaps/tucznak/config.h diff --git a/keyboards/ut472/keymaps/tucznak/keymap.c b/keyboards/keyhive/ut472/keymaps/tucznak/keymap.c similarity index 100% rename from keyboards/ut472/keymaps/tucznak/keymap.c rename to keyboards/keyhive/ut472/keymaps/tucznak/keymap.c diff --git a/keyboards/ut472/keymaps/tucznak/readme.md b/keyboards/keyhive/ut472/keymaps/tucznak/readme.md similarity index 100% rename from keyboards/ut472/keymaps/tucznak/readme.md rename to keyboards/keyhive/ut472/keymaps/tucznak/readme.md diff --git a/keyboards/ut472/keymaps/tucznak/rules.mk b/keyboards/keyhive/ut472/keymaps/tucznak/rules.mk similarity index 100% rename from keyboards/ut472/keymaps/tucznak/rules.mk rename to keyboards/keyhive/ut472/keymaps/tucznak/rules.mk diff --git a/keyboards/ut472/keymaps/via/keymap.c b/keyboards/keyhive/ut472/keymaps/via/keymap.c similarity index 100% rename from keyboards/ut472/keymaps/via/keymap.c rename to keyboards/keyhive/ut472/keymaps/via/keymap.c diff --git a/keyboards/ut472/keymaps/via/rules.mk b/keyboards/keyhive/ut472/keymaps/via/rules.mk similarity index 100% rename from keyboards/ut472/keymaps/via/rules.mk rename to keyboards/keyhive/ut472/keymaps/via/rules.mk diff --git a/keyboards/ut472/readme.md b/keyboards/keyhive/ut472/readme.md similarity index 96% rename from keyboards/ut472/readme.md rename to keyboards/keyhive/ut472/readme.md index 25f40d783abe..b2a13b38cc3e 100644 --- a/keyboards/ut472/readme.md +++ b/keyboards/keyhive/ut472/readme.md @@ -11,7 +11,7 @@ or purchased at keyhive.xyz To create a hex file for the UT47.2, run: - make ut472:default + make keyhive/ut472:default ## Layout diff --git a/keyboards/ut472/rules.mk b/keyboards/keyhive/ut472/rules.mk similarity index 100% rename from keyboards/ut472/rules.mk rename to keyboards/keyhive/ut472/rules.mk diff --git a/keyboards/ut472/ut472.c b/keyboards/keyhive/ut472/ut472.c similarity index 100% rename from keyboards/ut472/ut472.c rename to keyboards/keyhive/ut472/ut472.c diff --git a/keyboards/ut472/ut472.h b/keyboards/keyhive/ut472/ut472.h similarity index 100% rename from keyboards/ut472/ut472.h rename to keyboards/keyhive/ut472/ut472.h diff --git a/keyboards/navi10/rules.mk b/keyboards/navi10/rules.mk deleted file mode 100644 index cc08312b77bc..000000000000 --- a/keyboards/navi10/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = navi10/rev3 From 690dc4bdafe9e5e23e201d6bc839c32106074288 Mon Sep 17 00:00:00 2001 From: uqs Date: Tue, 19 Apr 2022 12:29:17 +0200 Subject: [PATCH 0558/1832] Add support for multiple sensors to pmw3360 (#15996) --- docs/feature_pointing_device.md | 32 ++++++ drivers/sensors/pmw3360.c | 155 +++++++++++++++--------------- drivers/sensors/pmw3360.h | 16 +-- quantum/pointing_device_drivers.c | 4 +- 4 files changed, 123 insertions(+), 84 deletions(-) diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 8c51865558e2..02c1e64a318d 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -134,6 +134,7 @@ The Pimoroni Trackball module is a I2C based breakout board with an RGB enable t ### PMW 3360 Sensor +This drivers supports multiple sensors _per_ controller, so 2 can be attached at the same side for split keyboards (or unsplit keyboards). To use the PMW 3360 sensor, add this to your `rules.mk` ```make @@ -145,6 +146,7 @@ The PMW 3360 is an SPI driven optical sensor, that uses a built in IR LED for su | Setting | Description | Default | |-----------------------------|--------------------------------------------------------------------------------------------|---------------| |`PMW3360_CS_PIN` | (Required) Sets the Cable Select pin connected to the sensor. | _not defined_ | +|`PMW3360_CS_PINS` | (Alternative) Sets the Cable Select pins connected to multiple sensors. | _not defined_ | |`PMW3360_CLOCK_SPEED` | (Optional) Sets the clock speed that the sensor runs at. | `2000000` | |`PMW3360_SPI_LSBFIRST` | (Optional) Sets the Least/Most Significant Byte First setting for SPI. | `false` | |`PMW3360_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `3` | @@ -155,6 +157,36 @@ The PMW 3360 is an SPI driven optical sensor, that uses a built in IR LED for su The CPI range is 100-12000, in increments of 100. Defaults to 1600 CPI. +To use multiple sensors, instead of setting `PMW3360_CS_PIN` you need to set `PMW3360_CS_PINS` and also handle and merge the read from this sensor in user code. +Note that different (per sensor) values of CPI, speed liftoff, rotational angle or flipping of X/Y is not currently supported. + +```c +// in config.h: +#define PMW3360_CS_PINS { B5, B6 } + +// in keyboard.c: +#ifdef POINTING_DEVICE_ENABLE +void pointing_device_init_kb(void) { + pmw3360_init(1); // index 1 is the second device. + pointing_device_set_cpi(800); // applies to both sensors + pointing_device_init_user(); +} + +// Contains report from sensor #0 already, need to merge in from sensor #1 +report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { + report_pmw3360_t data = pmw3360_read_burst(1); + if (data.isOnSurface && data.isMotion) { +// From quantum/pointing_device_drivers.c +#define constrain_hid(amt) ((amt) < -127 ? -127 : ((amt) > 127 ? 127 : (amt))) + mouse_report.x = constrain_hid(mouse_report.x + data.dx); + mouse_report.y = constrain_hid(mouse_report.y + data.dy); + } + return pointing_device_task_user(mouse_report); +} +#endif + +``` + ### PMW 3389 Sensor To use the PMW 3389 sensor, add this to your `rules.mk` diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 8c977be1c816..5f4d17a3f0df 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -1,6 +1,7 @@ /* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) * Copyright 2019 Sunjun Kim * Copyright 2020 Ploopy Corporation + * Copyright 2022 Ulrich Spörlein * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -83,7 +84,11 @@ # define MAX_CPI 0x77 #endif -bool _inBurst = false; +static const pin_t pins[] = PMW3360_CS_PINS; +#define NUMBER_OF_SENSORS (sizeof(pins) / sizeof(pin_t)) + +// per-sensor driver state +static bool _inBurst[NUMBER_OF_SENSORS] = {0}; #ifdef CONSOLE_ENABLE void print_byte(uint8_t byte) { @@ -92,18 +97,18 @@ void print_byte(uint8_t byte) { #endif #define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt))) -bool pmw3360_spi_start(void) { - bool status = spi_start(PMW3360_CS_PIN, PMW3360_SPI_LSBFIRST, PMW3360_SPI_MODE, PMW3360_SPI_DIVISOR); +bool pmw3360_spi_start(int8_t index) { + bool status = spi_start(pins[index], PMW3360_SPI_LSBFIRST, PMW3360_SPI_MODE, PMW3360_SPI_DIVISOR); // tNCS-SCLK, 120ns wait_us(1); return status; } -spi_status_t pmw3360_write(uint8_t reg_addr, uint8_t data) { - pmw3360_spi_start(); +spi_status_t pmw3360_write(int8_t index, uint8_t reg_addr, uint8_t data) { + pmw3360_spi_start(index); if (reg_addr != REG_Motion_Burst) { - _inBurst = false; + _inBurst[index] = false; } // send address of the register, with MSBit = 1 to indicate it's a write @@ -114,13 +119,13 @@ spi_status_t pmw3360_write(uint8_t reg_addr, uint8_t data) { wait_us(35); spi_stop(); - // tSWW/tSWR (=180us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound + // tSWW/tSWR (=180us) minus tSCLK-NCS. Could be shortened, but it looks like a safe lower bound wait_us(145); return status; } -uint8_t pmw3360_read(uint8_t reg_addr) { - pmw3360_spi_start(); +uint8_t pmw3360_read(int8_t index, uint8_t reg_addr) { + pmw3360_spi_start(index); // send adress of the register, with MSBit = 0 to indicate it's a read spi_write(reg_addr & 0x7f); // tSRAD (=160us) @@ -136,36 +141,62 @@ uint8_t pmw3360_read(uint8_t reg_addr) { return data; } -bool pmw3360_init(void) { - setPinOutput(PMW3360_CS_PIN); +bool pmw3360_check_signature(int8_t index) { + uint8_t pid = pmw3360_read(index, REG_Product_ID); + uint8_t iv_pid = pmw3360_read(index, REG_Inverse_Product_ID); + uint8_t SROM_ver = pmw3360_read(index, REG_SROM_ID); + return (pid == firmware_signature[0] && iv_pid == firmware_signature[1] && SROM_ver == firmware_signature[2]); // signature for SROM 0x04 +} - spi_init(); - _inBurst = false; +void pmw3360_upload_firmware(int8_t index) { + // Datasheet claims we need to disable REST mode first, but during startup + // it's already disabled and we're not turning it on ... + // pmw3360_write(index, REG_Config2, 0x00); // disable REST mode + pmw3360_write(index, REG_SROM_Enable, 0x1d); - spi_stop(); - pmw3360_spi_start(); - spi_stop(); + wait_ms(10); + + pmw3360_write(index, REG_SROM_Enable, 0x18); + + pmw3360_spi_start(index); + spi_write(REG_SROM_Load_Burst | 0x80); + wait_us(15); - pmw3360_write(REG_Shutdown, 0xb6); // Shutdown first - wait_ms(300); + for (uint16_t i = 0; i < FIRMWARE_LENGTH; i++) { + spi_write(pgm_read_byte(firmware_data + i)); +#ifndef PMW3360_FIRMWARE_UPLOAD_FAST + wait_us(15); +#endif + } + wait_us(200); - pmw3360_spi_start(); + pmw3360_read(index, REG_SROM_ID); + pmw3360_write(index, REG_Config2, 0x00); +} + +bool pmw3360_init(int8_t index) { + if (index >= NUMBER_OF_SENSORS) { + return false; + } + spi_init(); + + // power up, need to first drive NCS high then low. + // the datasheet does not say for how long, 40us works well in practice. + pmw3360_spi_start(index); wait_us(40); spi_stop(); wait_us(40); - - // power up, need to first drive NCS high then low, see above. - pmw3360_write(REG_Power_Up_Reset, 0x5a); + pmw3360_write(index, REG_Power_Up_Reset, 0x5a); wait_ms(50); // read registers and discard - pmw3360_read(REG_Motion); - pmw3360_read(REG_Delta_X_L); - pmw3360_read(REG_Delta_X_H); - pmw3360_read(REG_Delta_Y_L); - pmw3360_read(REG_Delta_Y_H); + pmw3360_read(index, REG_Motion); + pmw3360_read(index, REG_Delta_X_L); + pmw3360_read(index, REG_Delta_X_H); + pmw3360_read(index, REG_Delta_Y_L); + pmw3360_read(index, REG_Delta_Y_H); - pmw3360_upload_firmware(); + pmw3360_upload_firmware(index); spi_stop(); @@ -174,13 +205,13 @@ bool pmw3360_init(void) { wait_ms(1); - pmw3360_write(REG_Config2, 0x00); + pmw3360_write(index, REG_Config2, 0x00); - pmw3360_write(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -127, 127)); + pmw3360_write(index, REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -127, 127)); - pmw3360_write(REG_Lift_Config, PMW3360_LIFTOFF_DISTANCE); + pmw3360_write(index, REG_Lift_Config, PMW3360_LIFTOFF_DISTANCE); - bool init_success = pmw3360_check_signature(); + bool init_success = pmw3360_check_signature(index); #ifdef CONSOLE_ENABLE if (init_success) { dprintf("pmw3360 signature verified"); @@ -189,66 +220,38 @@ bool pmw3360_init(void) { } #endif - writePinLow(PMW3360_CS_PIN); - return init_success; } -void pmw3360_upload_firmware(void) { - // Datasheet claims we need to disable REST mode first, but during startup - // it's already disabled and we're not turning it on ... - // pmw3360_write(REG_Config2, 0x00); // disable REST mode - pmw3360_write(REG_SROM_Enable, 0x1d); - - wait_ms(10); - - pmw3360_write(REG_SROM_Enable, 0x18); - - pmw3360_spi_start(); - spi_write(REG_SROM_Load_Burst | 0x80); - wait_us(15); - - for (uint16_t i = 0; i < FIRMWARE_LENGTH; i++) { - spi_write(pgm_read_byte(firmware_data + i)); -#ifndef PMW3360_FIRMWARE_UPLOAD_FAST - wait_us(15); -#endif - } - wait_us(200); - - pmw3360_read(REG_SROM_ID); - pmw3360_write(REG_Config2, 0x00); -} - -bool pmw3360_check_signature(void) { - uint8_t pid = pmw3360_read(REG_Product_ID); - uint8_t iv_pid = pmw3360_read(REG_Inverse_Product_ID); - uint8_t SROM_ver = pmw3360_read(REG_SROM_ID); - return (pid == firmware_signature[0] && iv_pid == firmware_signature[1] && SROM_ver == firmware_signature[2]); // signature for SROM 0x04 -} - +// Only support reading the value from sensor #0, no one is using this anyway. uint16_t pmw3360_get_cpi(void) { - uint8_t cpival = pmw3360_read(REG_Config1); + uint8_t cpival = pmw3360_read(0, REG_Config1); return (uint16_t)((cpival + 1) & 0xFF) * CPI_STEP; } +// Write same CPI to all sensors. void pmw3360_set_cpi(uint16_t cpi) { uint8_t cpival = constrain((cpi / CPI_STEP) - 1, 0, MAX_CPI); - pmw3360_write(REG_Config1, cpival); + for (size_t i = 0; i < NUMBER_OF_SENSORS; i++) { + pmw3360_write(i, REG_Config1, cpival); + } } -report_pmw3360_t pmw3360_read_burst(void) { +report_pmw3360_t pmw3360_read_burst(int8_t index) { report_pmw3360_t report = {0}; + if (index >= NUMBER_OF_SENSORS) { + return report; + } - if (!_inBurst) { + if (!_inBurst[index]) { #ifdef CONSOLE_ENABLE - dprintf("burst on"); + dprintf("burst on for index %d", index); #endif - pmw3360_write(REG_Motion_Burst, 0x00); - _inBurst = true; + pmw3360_write(index, REG_Motion_Burst, 0x00); + _inBurst[index] = true; } - pmw3360_spi_start(); + pmw3360_spi_start(index); spi_write(REG_Motion_Burst); wait_us(35); // waits for tSRAD_MOTBR @@ -261,7 +264,7 @@ report_pmw3360_t pmw3360_read_burst(void) { report.mdy = spi_read(); if (report.motion & 0b111) { // panic recovery, sometimes burst mode works weird. - _inBurst = false; + _inBurst[index] = false; } spi_stop(); diff --git a/drivers/sensors/pmw3360.h b/drivers/sensors/pmw3360.h index eec729587160..3aa8ed0ed860 100644 --- a/drivers/sensors/pmw3360.h +++ b/drivers/sensors/pmw3360.h @@ -52,8 +52,14 @@ # define ROTATIONAL_TRANSFORM_ANGLE 0x00 #endif -#ifndef PMW3360_CS_PIN -# error "No chip select pin defined -- missing PMW3360_CS_PIN" +// Support single and plural spellings +#ifndef PMW3360_CS_PINS +# ifndef PMW3360_CS_PIN +# error "No chip select pin defined -- missing PMW3360_CS_PIN or PMW3360_CS_PINS" +# else +# define PMW3360_CS_PINS \ + { PMW3360_CS_PIN } +# endif #endif typedef struct { @@ -66,10 +72,8 @@ typedef struct { int8_t mdy; } report_pmw3360_t; -bool pmw3360_init(void); -void pmw3360_upload_firmware(void); -bool pmw3360_check_signature(void); +bool pmw3360_init(int8_t index); uint16_t pmw3360_get_cpi(void); void pmw3360_set_cpi(uint16_t cpi); /* Reads and clears the current delta values on the sensor */ -report_pmw3360_t pmw3360_read_burst(void); +report_pmw3360_t pmw3360_read_burst(int8_t index); diff --git a/quantum/pointing_device_drivers.c b/quantum/pointing_device_drivers.c index 11cbf6594e26..56363c7ac6c7 100644 --- a/quantum/pointing_device_drivers.c +++ b/quantum/pointing_device_drivers.c @@ -200,11 +200,11 @@ const pointing_device_driver_t pointing_device_driver = { // clang-format on #elif defined(POINTING_DEVICE_DRIVER_pmw3360) static void pmw3360_device_init(void) { - pmw3360_init(); + pmw3360_init(0); } report_mouse_t pmw3360_get_report(report_mouse_t mouse_report) { - report_pmw3360_t data = pmw3360_read_burst(); + report_pmw3360_t data = pmw3360_read_burst(0); static uint16_t MotionStart = 0; // Timer for accel, 0 is resting state if (data.isOnSurface && data.isMotion) { From bde724e1249a696c070f4ce12964be1ea6d43ead Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue, 19 Apr 2022 19:31:10 +0900 Subject: [PATCH 0559/1832] Change helix:yshrsmz keymap to use split_common (#16537) --- keyboards/helix/rev2/keymaps/yshrsmz/keymap.c | 159 +++++++++++++++--- keyboards/helix/rev2/keymaps/yshrsmz/rules.mk | 9 + 2 files changed, 140 insertions(+), 28 deletions(-) diff --git a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c index bd8796d0648c..d9102cb59f67 100644 --- a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c +++ b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c @@ -1,24 +1,10 @@ #include QMK_KEYBOARD_H -#include "bootloader.h" -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#include "split_util.h" -#endif -#ifdef AUDIO_ENABLE - #include "audio.h" -#endif +#include +#include #ifdef SSD1306OLED #include "ssd1306.h" #endif - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -extern uint8_t is_master; - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -415,7 +401,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { rgblight_mode(RGB_current_mode); rgblight_step(); - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); } #endif return false; @@ -449,7 +435,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { eeconfig_update_rgblight_default(); rgblight_enable(); - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); } #endif break; @@ -462,7 +448,7 @@ void matrix_init_user(void) { startup_user(); #endif #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; + RGB_current_mode = rgblight_get_mode(); #endif //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h #ifdef SSD1306OLED @@ -533,15 +519,15 @@ static void render_logo(struct CharacterMatrix *matrix) { static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) { #ifdef RGBLIGHT_ENABLE char buf[30]; - if (RGBLIGHT_MODES > 1 && rgblight_config.enable) { + if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { if (full) { snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", - rgblight_config.mode, - rgblight_config.hue/RGBLIGHT_HUE_STEP, - rgblight_config.sat/RGBLIGHT_SAT_STEP, - rgblight_config.val/RGBLIGHT_VAL_STEP); + rgblight_get_mode(), + rgblight_get_hue()/RGBLIGHT_HUE_STEP, + rgblight_get_sat()/RGBLIGHT_SAT_STEP, + rgblight_get_val()/RGBLIGHT_VAL_STEP); } else { - snprintf(buf, sizeof(buf), "[%2d] ",rgblight_config.mode); + snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode()); } matrix_write(matrix, buf); } @@ -613,9 +599,9 @@ void iota_gfx_task_user(void) { #endif matrix_clear(&matrix); - if(is_master){ + if (is_keyboard_master()) { render_status(&matrix); - }else{ + } else { render_logo(&matrix); render_rgbled_status(false, &matrix); render_layer_status(&matrix); @@ -623,4 +609,121 @@ void iota_gfx_task_user(void) { matrix_update(&display, &matrix); } -#endif +#endif // end of SSD1306OLED + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_0; + } else { + return OLED_ROTATION_180; + } +} + +//assign the right code to your layers for OLED display +#define L_BASE 0 +#define L_LOWER (1<<_LOWER) +#define L_RAISE (1<<_RAISE) +#define L_ADJUST (1<<_ADJUST) +#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) + +static void render_logo(void) { + + static const char helix_logo[] PROGMEM ={ + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, + 0}; + oled_write_P(helix_logo, false); + //matrix_write_P(&matrix, PSTR(" Split keyboard kit")); +} + +static void render_rgbled_status(bool full) { +# ifdef RGBLIGHT_ENABLE + char buf[30]; + if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { + if (full) { + snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", + rgblight_get_mode(), + rgblight_get_hue()/RGBLIGHT_HUE_STEP, + rgblight_get_sat()/RGBLIGHT_SAT_STEP, + rgblight_get_val()/RGBLIGHT_VAL_STEP); + } else { + snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode()); + } + oled_write(buf, false); + } +# endif +} + +static void render_layer_status(void) { + // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below + char buf[10]; + oled_write_P(PSTR("Layer: "), false); + switch (layer_state) { + case L_BASE: + oled_write_P(PSTR("Default"), false); + break; + case L_RAISE: + oled_write_P(PSTR("Raise"), false); + break; + case L_LOWER: + oled_write_P(PSTR("Lower"), false); + break; + case L_ADJUST: + case L_ADJUST_TRI: + oled_write_P(PSTR("Adjust"), false); + break; + default: + oled_write_P(PSTR("Undef-"), false); + snprintf(buf,sizeof(buf), "%ld", layer_state); + oled_write(buf, false); + } + oled_write_P(PSTR("\n"), false); +} + +void render_status(void) { + // Render to mode icon + static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; + if (keymap_config.swap_lalt_lgui==false) { + oled_write_P(os_logo[0][0], false); + oled_write_P(PSTR("\n"), false); + oled_write_P(os_logo[0][1], false); + } else { + oled_write_P(os_logo[1][0], false); + oled_write_P(PSTR("\n"), false); + oled_write_P(os_logo[1][1], false); + } + + oled_write_P(PSTR(" "), false); + render_layer_status(); + + // Host Keyboard LED Status + oled_write_P((host_keyboard_leds() & (1< Date: Tue, 19 Apr 2022 12:32:11 +0200 Subject: [PATCH 0560/1832] [Keymap] A Colemak keymap for the crkbd keyboard (#16550) --- keyboards/crkbd/keymaps/colemad/config.h | 30 +++ keyboards/crkbd/keymaps/colemad/glcdfont.c | 234 ++++++++++++++++++ keyboards/crkbd/keymaps/colemad/keycodes.h | 24 ++ keyboards/crkbd/keymaps/colemad/keymap.c | 66 +++++ keyboards/crkbd/keymaps/colemad/layers.h | 10 + keyboards/crkbd/keymaps/colemad/oled.c | 128 ++++++++++ keyboards/crkbd/keymaps/colemad/oled.h | 13 + .../crkbd/keymaps/colemad/process_records.c | 21 ++ .../crkbd/keymaps/colemad/process_records.h | 5 + keyboards/crkbd/keymaps/colemad/readme.md | 106 ++++++++ keyboards/crkbd/keymaps/colemad/rules.mk | 21 ++ keyboards/crkbd/keymaps/colemad/tap_dances.c | 7 + keyboards/crkbd/keymaps/colemad/tap_dances.h | 11 + 13 files changed, 676 insertions(+) create mode 100644 keyboards/crkbd/keymaps/colemad/config.h create mode 100644 keyboards/crkbd/keymaps/colemad/glcdfont.c create mode 100644 keyboards/crkbd/keymaps/colemad/keycodes.h create mode 100644 keyboards/crkbd/keymaps/colemad/keymap.c create mode 100644 keyboards/crkbd/keymaps/colemad/layers.h create mode 100644 keyboards/crkbd/keymaps/colemad/oled.c create mode 100644 keyboards/crkbd/keymaps/colemad/oled.h create mode 100644 keyboards/crkbd/keymaps/colemad/process_records.c create mode 100644 keyboards/crkbd/keymaps/colemad/process_records.h create mode 100644 keyboards/crkbd/keymaps/colemad/readme.md create mode 100644 keyboards/crkbd/keymaps/colemad/rules.mk create mode 100644 keyboards/crkbd/keymaps/colemad/tap_dances.c create mode 100644 keyboards/crkbd/keymaps/colemad/tap_dances.h diff --git a/keyboards/crkbd/keymaps/colemad/config.h b/keyboards/crkbd/keymaps/colemad/config.h new file mode 100644 index 000000000000..6d2050e14803 --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/config.h @@ -0,0 +1,30 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 200 + +#ifdef RGB_MATRIX_ENABLE + #define RGB_MATRIX_KEYPRESSES + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + #define RGB_DISABLE_WHEN_USB_SUSPENDED + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 + #define RGB_MATRIX_LED_FLUSH_LIMIT 16 + #define RGB_MATRIX_HUE_STEP 8 + #define RGB_MATRIX_SAT_STEP 8 + #define RGB_MATRIX_VAL_STEP 5 + #define RGB_MATRIX_SPD_STEP 10 + + // Effects + #define ENABLE_RGB_MATRIX_BREATHING +#endif + +#ifdef OLED_ENABLE + #define SPLIT_LAYER_STATE_ENABLE + #define SPLIT_LED_STATE_ENABLE + #define SPLIT_MODS_ENABLE + #define SPLIT_OLED_ENABLE + #define OLED_TIMEOUT 60000 + #define OLED_FONT_H "keyboards/crkbd/keymaps/colemad/glcdfont.c" +#endif diff --git a/keyboards/crkbd/keymaps/colemad/glcdfont.c b/keyboards/crkbd/keymaps/colemad/glcdfont.c new file mode 100644 index 000000000000..3bf950e1626a --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/glcdfont.c @@ -0,0 +1,234 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "progmem.h" + +// Corne 8x6 font with QMK Firmware Logo +// Online editor: https://helixfonteditor.netlify.com/ +// See also: https://github.com/soundmonster/glcdfont_converter + +const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, + 0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, + 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, + 0xF8, 0xFC, 0x06, 0x03, 0x83, 0x43, + 0x23, 0x13, 0x23, 0x43, 0x83, 0x03, + 0x06, 0xFC, 0x00, 0x00, 0x00, 0x00, + 0xF8, 0xFC, 0x06, 0x03, 0xE3, 0x23, + 0x23, 0x03, 0x23, 0xE3, 0x23, 0x03, + 0xE3, 0xA3, 0x63, 0x03, 0xE3, 0x03, + 0x03, 0x03, 0x06, 0xFC, 0x00, 0x00, + 0xF8, 0xFC, 0x06, 0x03, 0xC3, 0x23, + 0x23, 0xC3, 0x03, 0x43, 0xA3, 0x23, + 0x43, 0x03, 0x06, 0xFC, 0x00, 0x00, + 0xF8, 0xFC, 0x06, 0x03, 0xE3, 0xA3, + 0xE3, 0x03, 0xE3, 0x03, 0x83, 0xE3, + 0x83, 0x03, 0x06, 0xFC, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, + 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, + 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, + 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, + 0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, + 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, + 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, + 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, + 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, + 0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, + 0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, + 0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, + 0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, + 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0x3F, 0x60, 0x41, 0x41, 0x4F, + 0x48, 0x48, 0x48, 0x4F, 0x41, 0x41, + 0x20, 0x1F, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0x3F, 0x60, 0x40, 0x47, 0x44, + 0x44, 0x40, 0x40, 0x47, 0x40, 0x40, + 0x47, 0x40, 0x47, 0x40, 0x47, 0x44, + 0x44, 0x40, 0x20, 0x1F, 0x00, 0x00, + 0x1F, 0x3F, 0x60, 0x40, 0x43, 0x44, + 0x44, 0x43, 0x40, 0x42, 0x44, 0x45, + 0x42, 0x40, 0x20, 0x1F, 0x00, 0x00, + 0x1F, 0x3F, 0x60, 0x40, 0x47, 0x40, + 0x47, 0x40, 0x47, 0x44, 0x40, 0x47, + 0x44, 0x40, 0x20, 0x1F, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, + 0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, + 0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, + 0x88, 0x88, 0x55, 0x55, 0x23, 0x23, + 0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, + 0x23, 0x23, 0x55, 0x55, 0x88, 0x88, + 0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, + 0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, + 0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, + 0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, + 0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, + 0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, + 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, + 0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, + 0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, + 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, + 0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, + 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, + 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, + 0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, + 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, + 0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, + 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, +}; diff --git a/keyboards/crkbd/keymaps/colemad/keycodes.h b/keyboards/crkbd/keymaps/colemad/keycodes.h new file mode 100644 index 000000000000..6497f1662b1c --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/keycodes.h @@ -0,0 +1,24 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include QMK_KEYBOARD_H +#include "layers.h" + +/* Tap-Hold keycodes */ +#define KC_LOWER LT(_LOWER, KC_ENT) /* Tap for Enter, Hold for LOWER layer */ +#define KC_RAISE LT(_RAISE, KC_SPC) /* Tap for Space, Hold for RAISE layer */ + +/* Tap Dance keycodes */ +#if defined(TAP_DANCE_ENABLE) + #include "tap_dances.h" + #define KC_T_SFT T_SFT /* Single tap for Shift, Double tap for CAPS Lock */ +#else + #define KC_T_SFT KC_LSFT +#endif + +/* Macros */ +enum custom_keycodes { + VSCTERM = SAFE_RANGE, + CHNLANG +}; diff --git a/keyboards/crkbd/keymaps/colemad/keymap.c b/keyboards/crkbd/keymaps/colemad/keymap.c new file mode 100644 index 000000000000..fb951370f2c3 --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/keymap.c @@ -0,0 +1,66 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +#include "layers.h" +#include "keycodes.h" +#include "process_records.h" + +#ifdef OLED_ENABLE + #include "oled.h" +#endif + +/* Layer keymaps */ +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_COLEMAK] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + T_SFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LALT, KC_LCTL,KC_RAISE, KC_LOWER, T_SFT, KC_LGUI + // `-------------------------' `--------------------------' + ), + + [_LOWER] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + _______, KC_0, KC_1, KC_2, KC_3, KC_MINS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_ESC, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_SLSH, KC_4, KC_5, KC_6, KC_PLUS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_ASTR, KC_7, KC_8, KC_9, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + // `-------------------------' `--------------------------' + ), + + [_RAISE] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_F11, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_F12, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + // `-------------------------' `--------------------------' + ), + + [_ADJUST] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, VSCTERM, KC_PSCR, CHNLANG, XXXXXXX, XXXXXXX,RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX + // `-------------------------' `--------------------------' + ) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} diff --git a/keyboards/crkbd/keymaps/colemad/layers.h b/keyboards/crkbd/keymaps/colemad/layers.h new file mode 100644 index 000000000000..f569ad156ed1 --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/layers.h @@ -0,0 +1,10 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +enum custom_layers { + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST, +}; diff --git a/keyboards/crkbd/keymaps/colemad/oled.c b/keyboards/crkbd/keymaps/colemad/oled.c new file mode 100644 index 000000000000..8c5591184e93 --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/oled.c @@ -0,0 +1,128 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H +#include "layers.h" +#include "oled.h" + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; +} + +void render_layer_symbol(void) { + static const char PROGMEM default_layer[] = { + 0x20, 0x94, 0x95, 0x96, 0x20, + 0x20, 0xb4, 0xb5, 0xb6, 0x20, + 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; + static const char PROGMEM raise_layer[] = { + 0x20, 0x97, 0x98, 0x99, 0x20, + 0x20, 0xb7, 0xb8, 0xb9, 0x20, + 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; + static const char PROGMEM lower_layer[] = { + 0x20, 0x9a, 0x9b, 0x9c, 0x20, + 0x20, 0xba, 0xbb, 0xbc, 0x20, + 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; + static const char PROGMEM adjust_layer[] = { + 0x20, 0x9d, 0x9e, 0x9f, 0x20, + 0x20, 0xbd, 0xbe, 0xbf, 0x20, + 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; + if(layer_state_is(_ADJUST)) { + oled_write_P(adjust_layer, false); + } else if(layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if(layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else { + oled_write_P(default_layer, false); + } +} + +void render_layer_name(void) { + bool lower = layer_state_is(_LOWER) & !layer_state_is(_ADJUST); + bool raise = layer_state_is(_RAISE) & !layer_state_is(_ADJUST); + bool adjust = layer_state_is(_ADJUST); + + if(lower){ + oled_write_P(PSTR("LOWER"), false); + } else if(raise){ + oled_write_P(PSTR("RAISE"), false); + } else if(adjust){ + oled_write_P(PSTR(" ADJ "), false); + } else { + oled_write_P(PSTR(" "), false); + } +} + +void render_mod_state(uint8_t modifiers) { + static const char PROGMEM shift_line_1[] = { + 0x85, 0x86, 0x87, 0}; + static const char PROGMEM shift_line_2[] = { + 0xa5, 0xa6, 0xa7, 0}; + + static const char PROGMEM ctrl_line_1[] = { + 0x88, 0x89, 0x8a, 0x8b, 0}; + static const char PROGMEM ctrl_line_2[] = { + 0xa8, 0xa9, 0xaa, 0xab, 0}; + + static const char PROGMEM os_line_1[] = { + 0x8c, 0x8d, 0x8e, 0}; + static const char PROGMEM os_line_2[] = { + 0xac, 0xad, 0xae, 0}; + + static const char PROGMEM alt_line_1[] = { + 0x8f, 0x90, 0x91, 0}; + static const char PROGMEM alt_line_2[] = { + 0xaf, 0xb0, 0xb1, 0}; + + if (modifiers & MOD_MASK_GUI) { + oled_write(" ", false); + oled_write_ln_P(os_line_1, false); + oled_write(" ", false); + oled_write_ln_P(os_line_2, false); + } else { + oled_write_ln("", false); + oled_write_ln("", false); + } + + if (modifiers & MOD_MASK_SHIFT) { + oled_write(" ", false); + oled_write_ln_P(shift_line_1, false); + oled_write(" ", false); + oled_write_ln_P(shift_line_2, false); + } else { + oled_write_ln("", false); + oled_write_ln("", false); + } + + if (modifiers & MOD_MASK_ALT) { + oled_write(" ", false); + oled_write_ln_P(alt_line_1, false); + oled_write(" ", false); + oled_write_ln_P(alt_line_2, false); + } else { + oled_write_ln("", false); + oled_write_ln("", false); + } + + if (modifiers & MOD_MASK_CTRL) { + oled_write_ln_P(ctrl_line_1, false); + oled_write_ln_P(ctrl_line_2, false); + } else { + oled_write_ln("", false); + oled_write_ln("", false); + } +} + +void render_status(void){ + render_layer_name(); + + render_layer_symbol(); + + oled_write_P(PSTR("\n\n\n"), false); + + render_mod_state(get_mods()|get_oneshot_mods()); +} + +bool oled_task_user(void) { + render_status(); + return false; +} diff --git a/keyboards/crkbd/keymaps/colemad/oled.h b/keyboards/crkbd/keymaps/colemad/oled.h new file mode 100644 index 000000000000..c096466e7135 --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/oled.h @@ -0,0 +1,13 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifdef OLED_ENABLE + bool process_record_oled(uint16_t keycode, keyrecord_t *record); + oled_rotation_t oled_init_user(oled_rotation_t rotation); + void render_layer_symbol(void); + void render_layer_name(void); + void render_mod_state(uint8_t modifiers); + void render_status(void); + bool oled_task_user(void); +#endif \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/colemad/process_records.c b/keyboards/crkbd/keymaps/colemad/process_records.c new file mode 100644 index 000000000000..549dec24644a --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/process_records.c @@ -0,0 +1,21 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "layers.h" +#include "keycodes.h" + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + /* Macros */ + switch (keycode) { + case VSCTERM: + if (record->event.pressed) { + SEND_STRING(SS_LCTL("`")); // Ctrl + ` (to toggle vscode terminal) + } + return false; + case CHNLANG: + if (record->event.pressed) { + SEND_STRING(SS_LCTL(SS_LSFT("n"))); // Ctrl + Shift + N (to change keyboard layout) + } + return false; + } + return true; +} diff --git a/keyboards/crkbd/keymaps/colemad/process_records.h b/keyboards/crkbd/keymaps/colemad/process_records.h new file mode 100644 index 000000000000..7cedcfbe6855 --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/process_records.h @@ -0,0 +1,5 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +bool process_record_user(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/crkbd/keymaps/colemad/readme.md b/keyboards/crkbd/keymaps/colemad/readme.md new file mode 100644 index 000000000000..404fa9e79808 --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/readme.md @@ -0,0 +1,106 @@ +# **COLEMAD** + +## Corne Keyboard (CRKBD) **Colemak** layout by [ACortesDev](https://github.com/ACortesDev) + +1. **Fast navigation**. +2. **Fast symbols**. +3. **Fast numbers**. + Using the Telephone/ATM numpad layout. Easier to memorize/visualize as numbers follow *left-to-right, top-to-bottom* order. +4. **Fast capital letters**. + Added a *CAPS Lock* key because... [There is no *CAPS Lock* key in the Colemak Layout](https://colemak.com/FAQ#Where_is_the_Caps_Lock_key.3F). + +--- + +### **Flashing** + +For *Pro Micro* execute: `sudo make crkbd:colemad:avrdude` + +For *Elite-C* execute: `sudo make crkbd:colemad:dfu` + +--- + +### **Layers** + +#### 0. **COLEMAK** + +Notes: + +- Double tap Shift to (de)activate CAPS Lock. +- Hold down the Enter thumb key to switch to the LOWER layer +- Hold down the Space thumb key to switch to the RAISE layer +- Characters **"** **:** **|** **<** **>** **?** as you would expect them using *Shift*. + +```text + ,-----------------------------------------------------. ,-----------------------------------------------------. + | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | + |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + | BackSP | A | R | S | T | D | | H | N | E | I | O | ' | + |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + | Shift | Z | X | C | V | B | | K | M | , | . | / | ESC | + `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' + ,--------. ,--------. + ,-----------------| | | |-----------------. + | Alt | Ctrl | Space | | Enter | Shift | GUI | + | | | (RAISE)| |(LOWER) | | | + `--------+--------+--------' `--------+--------+--------' +``` + +#### 1. **LOWER** + +##### Numpad + Navigation + +```text + ,-----------------------------------------------------. ,-----------------------------------------------------. + | Tab | 0 | 1 | 2 | 3 | - | | PgUP | HOME | ↑ | END | ESC | | + |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + | BackSP | / | 4 | 5 | 6 | + | | PgDN | ← | ↓ | → | DEL | | + |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + | Shift | * | 7 | 8 | 9 | = | | | | | | | ESC | + `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' + ,--------. ,--------. + ,-----------------| | | |-----------------. + | Alt | Ctrl | Space | | | Shift | GUI | + | | | (RAISE)| |(LOWER) | | | + `--------+--------+--------' `--------+--------+--------' +``` + +#### 2. **RAISE** + +##### Symbols + Function Keys + +```text + ,-----------------------------------------------------. ,-----------------------------------------------------. + | Tab | ! | @ | # | $ | % | | ^ | & | * | ( | ) | F11 | + |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + | BackSP | F1 | F2 | F3 | F4 | F5 | | ` | - | = | [ | ] | F12 | + |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + | Shift | F6 | F7 | F8 | F9 | F10 | | ~ | _ | + | { | } | ESC | + `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' + ,--------. ,--------. + ,-----------------| | | |-----------------. + | Alt | Ctrl | | | Enter | Shift | GUI | + | | | (RAISE)| |(LOWER) | | | + `--------+--------+--------' `--------+--------+--------' +``` + +#### 3. **ADJUST** + +##### Macros + Settings + +```text + ,-----------------------------------------------------. ,-----------------------------------------------------. + | | | | | | | |RGB_TOG |RGB_MOD |RGB_VAI |RGB_HUI |RGB_SAI |RGB_SPI | + |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + | | |VSCTERM | PSCR |CHNLANG | | | |RGB_RMOD|RGB_VAD |RGB_HUD |RGB_SAD |RGB_SPD | + |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + | | | | | | | | | | | | | | + `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' + ,--------. ,--------. + ,-----------------| | | |-----------------. + | | | | | | | | + | | | (RAISE)| |(LOWER) | | | + `--------+--------+--------' `--------+--------+--------' +``` + +- Macro **VSCTERM**: Toggles the vscode terminal (Ctrl + `) +- Macro **CHNLANG**: Changes the OS keyboard layout (Ctrl + Shift + N) diff --git a/keyboards/crkbd/keymaps/colemad/rules.mk b/keyboards/crkbd/keymaps/colemad/rules.mk new file mode 100644 index 000000000000..6f9d31a75517 --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/rules.mk @@ -0,0 +1,21 @@ +RGB_MATRIX_ENABLE = yes +RGBLIGHT_ENABLE = no +SPLIT_KEYBOARD = yes +TAP_DANCE_ENABLE = yes +MOUSEKEY_ENABLE = no +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 + + +# Link Time Optimization (Reduces compiled size) +LTO_ENABLE = yes + +SRC += ./process_records.c + +ifeq ($(TAP_DANCE_ENABLE),yes) + SRC += ./tap_dances.c +endif + +ifeq ($(OLED_ENABLE),yes) + SRC += ./oled.c +endif diff --git a/keyboards/crkbd/keymaps/colemad/tap_dances.c b/keyboards/crkbd/keymaps/colemad/tap_dances.c new file mode 100644 index 000000000000..fc47cfd8d14f --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/tap_dances.c @@ -0,0 +1,7 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "tap_dances.h" + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS) +}; diff --git a/keyboards/crkbd/keymaps/colemad/tap_dances.h b/keyboards/crkbd/keymaps/colemad/tap_dances.h new file mode 100644 index 000000000000..1d7cf1e7f42d --- /dev/null +++ b/keyboards/crkbd/keymaps/colemad/tap_dances.h @@ -0,0 +1,11 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include QMK_KEYBOARD_H + +enum custom_tapdances{ + TD_LSFT_CAPS = 0, +}; + +#define T_SFT TD(TD_LSFT_CAPS) /* Tap for Shift, double tap for CAPSLOCK */ From 67329cffb561d1dfd7636f72f629cea95476fe19 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Tue, 19 Apr 2022 03:33:18 -0700 Subject: [PATCH 0561/1832] Add my planck layout (#13143) * Add my planck layout * Add copyright * Address requested changes * Fix dipswitch return type --- keyboards/planck/keymaps/abhixec/config.h | 48 ++++ keyboards/planck/keymaps/abhixec/keymap.c | 261 +++++++++++++++++++++ keyboards/planck/keymaps/abhixec/readme.md | 2 + keyboards/planck/keymaps/abhixec/rules.mk | 1 + 4 files changed, 312 insertions(+) create mode 100644 keyboards/planck/keymaps/abhixec/config.h create mode 100644 keyboards/planck/keymaps/abhixec/keymap.c create mode 100644 keyboards/planck/keymaps/abhixec/readme.md create mode 100644 keyboards/planck/keymaps/abhixec/rules.mk diff --git a/keyboards/planck/keymaps/abhixec/config.h b/keyboards/planck/keymaps/abhixec/config.h new file mode 100644 index 000000000000..b3d107bcfa82 --- /dev/null +++ b/keyboards/planck/keymaps/abhixec/config.h @@ -0,0 +1,48 @@ +/* Copyright 2015-2017 Jack Humbert + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#ifdef AUDIO_ENABLE + #define STARTUP_SONG SONG(PLANCK_SOUND) + // #define STARTUP_SONG SONG(NO_SOUND) + + #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ + SONG(COLEMAK_SOUND), \ + SONG(DVORAK_SOUND) \ + } +#endif + +/* + * MIDI options + */ + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ + +#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +//#define MIDI_ADVANCED + +// Most tactile encoders have detents every 4 stages +#define ENCODER_RESOLUTION 4 + diff --git a/keyboards/planck/keymaps/abhixec/keymap.c b/keyboards/planck/keymaps/abhixec/keymap.c new file mode 100644 index 000000000000..d840bf472134 --- /dev/null +++ b/keyboards/planck/keymaps/abhixec/keymap.c @@ -0,0 +1,261 @@ +/* Copyright 2015-2017 Jack Humbert + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "muse.h" + + +enum planck_layers { + _QWERTY, + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST +}; + +enum planck_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define SHENT MT(MOD_RSFT, KC_ENT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |shent | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_planck_grid( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_GESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHENT , + _______,KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = LAYOUT_planck_grid( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + KC_GESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHENT , + _______,KC_LCTL, KC_LALT,KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT_planck_grid( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT_planck_grid( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Adjust (Lower + Raise) + * v------------------------RGB CONTROL--------------------v + * ,-----------------------------------------------------------------------------------. + * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk| | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_planck_grid( + _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + +}; + +#ifdef AUDIO_ENABLE + float plover_song[][2] = SONG(PLOVER_SOUND); + float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); +#endif + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + print("mode just switched to qwerty and this is a huge string\n"); + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + break; + } + return true; +} + +bool muse_mode = false; +uint8_t last_muse_note = 0; +uint16_t muse_counter = 0; +uint8_t muse_offset = 70; +uint16_t muse_tempo = 50; + +bool encoder_update(bool clockwise) { + if (muse_mode) { + if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + muse_offset++; + } else { + muse_offset--; + } + } else { + if (clockwise) { + muse_tempo+=1; + } else { + muse_tempo-=1; + } + } + } else { + if (clockwise) { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_DOWN); + #else + tap_code(KC_PGDN); + #endif + } else { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_UP); + #else + tap_code(KC_PGUP); + #endif + } + } + return true; +} + +bool dip_switch_update_user(uint8_t index, bool active) { + switch (index) { + case 0: { +#ifdef AUDIO_ENABLE + static bool play_sound = false; +#endif + if (active) { +#ifdef AUDIO_ENABLE + if (play_sound) { PLAY_SONG(plover_song); } +#endif + layer_on(_ADJUST); + } else { +#ifdef AUDIO_ENABLE + if (play_sound) { PLAY_SONG(plover_gb_song); } +#endif + layer_off(_ADJUST); + } +#ifdef AUDIO_ENABLE + play_sound = true; +#endif + break; + } + case 1: + if (active) { + muse_mode = true; + } else { + muse_mode = false; + } + } + return true; +} + +void matrix_scan_user(void) { +#ifdef AUDIO_ENABLE + if (muse_mode) { + if (muse_counter == 0) { + uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; + if (muse_note != last_muse_note) { + stop_note(compute_freq_for_midi_note(last_muse_note)); + play_note(compute_freq_for_midi_note(muse_note), 0xF); + last_muse_note = muse_note; + } + } + muse_counter = (muse_counter + 1) % muse_tempo; + } else { + if (muse_counter) { + stop_all_notes(); + muse_counter = 0; + } + } +#endif +} + +bool music_mask_user(uint16_t keycode) { + switch (keycode) { + case RAISE: + case LOWER: + return false; + default: + return true; + } +} diff --git a/keyboards/planck/keymaps/abhixec/readme.md b/keyboards/planck/keymaps/abhixec/readme.md new file mode 100644 index 000000000000..b7bccc52bb6a --- /dev/null +++ b/keyboards/planck/keymaps/abhixec/readme.md @@ -0,0 +1,2 @@ +# Abhixec's Layout + diff --git a/keyboards/planck/keymaps/abhixec/rules.mk b/keyboards/planck/keymaps/abhixec/rules.mk new file mode 100644 index 000000000000..dcf16bef3994 --- /dev/null +++ b/keyboards/planck/keymaps/abhixec/rules.mk @@ -0,0 +1 @@ +SRC += muse.c From bdd1f318c3f4bcbf7f9dfeaff908013780bf753a Mon Sep 17 00:00:00 2001 From: MakotoKurauchi Date: Tue, 19 Apr 2022 19:39:43 +0900 Subject: [PATCH 0562/1832] [Keyboard] New kbd 1k (#15509) Co-authored-by: Drashna Jaelre Co-authored-by: mtei <2170248+mtei@users.noreply.github.com> Co-authored-by: Nick Brassel --- keyboards/1k/1k.c | 16 +++++++ keyboards/1k/1k.h | 33 ++++++++++++++ keyboards/1k/config.h | 60 +++++++++++++++++++++++++ keyboards/1k/info.json | 12 +++++ keyboards/1k/keymaps/default/keymap.c | 25 +++++++++++ keyboards/1k/keymaps/default/rgblite.h | 23 ++++++++++ keyboards/1k/keymaps/default/rules.mk | 2 + keyboards/1k/keymaps/media/keymap.c | 22 +++++++++ keyboards/1k/keymaps/media/rgblite.h | 23 ++++++++++ keyboards/1k/keymaps/media/rules.mk | 3 ++ keyboards/1k/keymaps/tap_dance/config.h | 6 +++ keyboards/1k/keymaps/tap_dance/keymap.c | 22 +++++++++ keyboards/1k/keymaps/tap_dance/rules.mk | 1 + keyboards/1k/readme.md | 47 +++++++++++++++++++ keyboards/1k/rules.mk | 26 +++++++++++ 15 files changed, 321 insertions(+) create mode 100644 keyboards/1k/1k.c create mode 100644 keyboards/1k/1k.h create mode 100644 keyboards/1k/config.h create mode 100644 keyboards/1k/info.json create mode 100644 keyboards/1k/keymaps/default/keymap.c create mode 100644 keyboards/1k/keymaps/default/rgblite.h create mode 100644 keyboards/1k/keymaps/default/rules.mk create mode 100644 keyboards/1k/keymaps/media/keymap.c create mode 100644 keyboards/1k/keymaps/media/rgblite.h create mode 100644 keyboards/1k/keymaps/media/rules.mk create mode 100644 keyboards/1k/keymaps/tap_dance/config.h create mode 100644 keyboards/1k/keymaps/tap_dance/keymap.c create mode 100644 keyboards/1k/keymaps/tap_dance/rules.mk create mode 100644 keyboards/1k/readme.md create mode 100644 keyboards/1k/rules.mk diff --git a/keyboards/1k/1k.c b/keyboards/1k/1k.c new file mode 100644 index 000000000000..0e8f44b44d10 --- /dev/null +++ b/keyboards/1k/1k.c @@ -0,0 +1,16 @@ +/* Copyright 2020 zvecr + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "1k.h" diff --git a/keyboards/1k/1k.h b/keyboards/1k/1k.h new file mode 100644 index 000000000000..a6142bc5c524 --- /dev/null +++ b/keyboards/1k/1k.h @@ -0,0 +1,33 @@ +/* Copyright 2020 zvecr + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_ortho_1x1( \ + K01 \ +) \ +{ \ + { K01 }, \ +} diff --git a/keyboards/1k/config.h b/keyboards/1k/config.h new file mode 100644 index 000000000000..be680b419449 --- /dev/null +++ b/keyboards/1k/config.h @@ -0,0 +1,60 @@ +/* Copyright 2020 zvecr + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x0009 +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0001 +#define MANUFACTURER MakotoKurauchi +#define PRODUCT 1K + +/* matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* + * Keyboard Matrix Assignments + * + * On this board we have direct connection: no diodes. + */ +#define DIRECT_PINS {{ B0 }} + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +#define RGBLED_NUM 1 +#define RGB_DI_PIN B2 + +// Save as much space as we can... +#define LAYER_STATE_8BIT +#define NO_ACTION_LAYER +#define NO_ACTION_TAPPING +#define NO_ACTION_ONESHOT +#define NO_RESET + +// usbconfig.h overrides +#define USB_CFG_IOPORTNAME B +#define USB_CFG_DMINUS_BIT 3 +#define USB_CFG_DPLUS_BIT 4 +#define USB_COUNT_SOF 0 +#define USB_INTR_CFG PCMSK +#define USB_INTR_CFG_SET (1<event.pressed) { + switch (keycode) { + case RGB_HUI: + rgblite_increase_hue(); + break; + } + } + return true; +} + +void keyboard_post_init_user(void) { + rgblite_increase_hue(); +} diff --git a/keyboards/1k/keymaps/default/rgblite.h b/keyboards/1k/keymaps/default/rgblite.h new file mode 100644 index 000000000000..e64f49ee0aa3 --- /dev/null +++ b/keyboards/1k/keymaps/default/rgblite.h @@ -0,0 +1,23 @@ +// Copyright 2022 Makoto Kurauchi (@MakotoKurauchi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "ws2812.h" +#include "color.h" + +static inline void rgblite_setrgb(RGB rgb) { + LED_TYPE leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}}; + ws2812_setleds(leds, RGBLED_NUM); +} + +static void rgblite_increase_hue(void) { + static uint8_t state = 0; + + HSV hsv = { 255, 255, 255 }; + hsv.h = state; + state = (state + 8) % 256; + + rgblite_setrgb(hsv_to_rgb(hsv)); + +} diff --git a/keyboards/1k/keymaps/default/rules.mk b/keyboards/1k/keymaps/default/rules.mk new file mode 100644 index 000000000000..ff480ff890a7 --- /dev/null +++ b/keyboards/1k/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +SRC += ws2812.c +SRC += color.c diff --git a/keyboards/1k/keymaps/media/keymap.c b/keyboards/1k/keymaps/media/keymap.c new file mode 100644 index 000000000000..6fd3eb92dea7 --- /dev/null +++ b/keyboards/1k/keymaps/media/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2022 Makoto Kurauchi (@MakotoKurauchi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +#include "rgblite.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_1x1( + KC_MUTE + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + rgblite_increase_hue(); + } + return true; +} + +void keyboard_post_init_user(void) { + rgblite_increase_hue(); +} diff --git a/keyboards/1k/keymaps/media/rgblite.h b/keyboards/1k/keymaps/media/rgblite.h new file mode 100644 index 000000000000..e64f49ee0aa3 --- /dev/null +++ b/keyboards/1k/keymaps/media/rgblite.h @@ -0,0 +1,23 @@ +// Copyright 2022 Makoto Kurauchi (@MakotoKurauchi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "ws2812.h" +#include "color.h" + +static inline void rgblite_setrgb(RGB rgb) { + LED_TYPE leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}}; + ws2812_setleds(leds, RGBLED_NUM); +} + +static void rgblite_increase_hue(void) { + static uint8_t state = 0; + + HSV hsv = { 255, 255, 255 }; + hsv.h = state; + state = (state + 8) % 256; + + rgblite_setrgb(hsv_to_rgb(hsv)); + +} diff --git a/keyboards/1k/keymaps/media/rules.mk b/keyboards/1k/keymaps/media/rules.mk new file mode 100644 index 000000000000..23687276408b --- /dev/null +++ b/keyboards/1k/keymaps/media/rules.mk @@ -0,0 +1,3 @@ +SRC += ws2812.c +SRC += color.c +EXTRAKEY_ENABLE = yes diff --git a/keyboards/1k/keymaps/tap_dance/config.h b/keyboards/1k/keymaps/tap_dance/config.h new file mode 100644 index 000000000000..5df7869537e2 --- /dev/null +++ b/keyboards/1k/keymaps/tap_dance/config.h @@ -0,0 +1,6 @@ +// Copyright 2022 Makoto Kurauchi (@MakotoKurauchi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define TAPPING_TERM 500 diff --git a/keyboards/1k/keymaps/tap_dance/keymap.c b/keyboards/1k/keymaps/tap_dance/keymap.c new file mode 100644 index 000000000000..c2a8cf1aeab1 --- /dev/null +++ b/keyboards/1k/keymaps/tap_dance/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2022 Makoto Kurauchi (@MakotoKurauchi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _BASE = 0, +}; + +enum { + TD_AB = 0 +}; + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_AB] = ACTION_TAP_DANCE_DOUBLE(KC_A, KC_B) +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_ortho_1x1( + TD(TD_AB) + ) +}; diff --git a/keyboards/1k/keymaps/tap_dance/rules.mk b/keyboards/1k/keymaps/tap_dance/rules.mk new file mode 100644 index 000000000000..e5ddcae8d927 --- /dev/null +++ b/keyboards/1k/keymaps/tap_dance/rules.mk @@ -0,0 +1 @@ +TAP_DANCE_ENABLE = yes diff --git a/keyboards/1k/readme.md b/keyboards/1k/readme.md new file mode 100644 index 000000000000..8c44c3549db6 --- /dev/null +++ b/keyboards/1k/readme.md @@ -0,0 +1,47 @@ +# 1k + +![1k](https://booth.pximg.net/aaeb2dda-e169-44c0-ba5a-5b42cc5c2627/i/3504781/c1708a8a-061b-4a6c-907d-72d0eab47d4a.png) + +1% Custom mechanical keyboard. ATtiny85 powered, with 1*WS2812 LED, and the micronucleus bootloader. + +**Note**: Due to limited firmware space, a _**lot**_ of features have to be disabled to get a functioning QMK based keyboard. + +* Keyboard Maintainer: [MakotoKurauchi](https://github.com/MakotoKurauchi) +* Hardware Supported: 1k +* Hardware Availability: [booth](https://ninep.booth.pm/items/3504781) + +Make example for this keyboard (after setting up your build environment): + + make 1k:default + +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). + +## Flashing +### Prerequisites + +```bash +git clone https://github.com/micronucleus/micronucleus.git +cd micronucleus/commandline/ +sudo make install +``` + +On Linux, you’ll need proper privileges to access the MCU. You can either use sudo when flashing firmware, or place [these files](https://github.com/micronucleus/micronucleus/blob/master/commandline/49-micronucleus.rules) in /etc/udev/rules.d/. Once added run the following: + +```bash +sudo udevadm control --reload-rules +sudo udevadm trigger +``` + +### Instructions + +```bash +make 1k:default:flash + +# or directly with... +micronucleus --run +``` + +### Recovery + +* [Original Firmware](https://github.com/xiudi/Attiny85_vusb_pad_test) +* [Bootloader Repair](https://digistump.com/wiki/digispark/tutorials/proisp) diff --git a/keyboards/1k/rules.mk b/keyboards/1k/rules.mk new file mode 100644 index 000000000000..b3bd401f6ba6 --- /dev/null +++ b/keyboards/1k/rules.mk @@ -0,0 +1,26 @@ +# MCU name +MCU = attiny85 + +# Bootloader selection +BOOTLOADER = custom +BOOTLOADER_SIZE = 1862 +PROGRAM_CMD = micronucleus --run $(BUILD_DIR)/$(TARGET).hex + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# Save as much space as we can... +LTO_ENABLE = yes +GRAVE_ESC_ENABLE = no +MAGIC_ENABLE = no +SPACE_CADET_ENABLE = no From 1acb37db7fc28684785ee57d68452d127790c1db Mon Sep 17 00:00:00 2001 From: jpe230 Date: Tue, 19 Apr 2022 05:53:09 -0500 Subject: [PATCH 0563/1832] Add initial support for the Makey Makey Classic (#16658) --- keyboards/makeymakey/config.h | 36 +++++ keyboards/makeymakey/info.json | 35 +++++ keyboards/makeymakey/keymaps/default/keymap.c | 42 ++++++ keyboards/makeymakey/makeymakey.c | 126 ++++++++++++++++++ keyboards/makeymakey/makeymakey.h | 32 +++++ keyboards/makeymakey/readme.md | 19 +++ keyboards/makeymakey/rules.mk | 18 +++ 7 files changed, 308 insertions(+) create mode 100644 keyboards/makeymakey/config.h create mode 100644 keyboards/makeymakey/info.json create mode 100644 keyboards/makeymakey/keymaps/default/keymap.c create mode 100644 keyboards/makeymakey/makeymakey.c create mode 100644 keyboards/makeymakey/makeymakey.h create mode 100644 keyboards/makeymakey/readme.md create mode 100644 keyboards/makeymakey/rules.mk diff --git a/keyboards/makeymakey/config.h b/keyboards/makeymakey/config.h new file mode 100644 index 000000000000..21cbb2c1f674 --- /dev/null +++ b/keyboards/makeymakey/config.h @@ -0,0 +1,36 @@ +/* Copyright 2022 Jose Pablo Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 6 + +/* Keyboard Matrix Assignments */ +#define DIRECT_PINS { \ + { D6, B4, C7, B1, E6, D7 }, \ + { C6, D4, D0, D1, D2, D2 }, \ + { F0, F1, F5, F5, F6, F7 } \ +} + +/* LEDs Pins */ +#define LED_PINS 5 +#define LED_PINS_HW {B5, B6, B7, B3, B2} + +#define DEBOUNCE 10 diff --git a/keyboards/makeymakey/info.json b/keyboards/makeymakey/info.json new file mode 100644 index 000000000000..ff06d1960943 --- /dev/null +++ b/keyboards/makeymakey/info.json @@ -0,0 +1,35 @@ +{ + "keyboard_name": "Makey Makey Classic", + "manufacturer": "JoyLabs", + "url": "https://makeymakey.com/products/makey-makey-kit", + "maintainer": "Jpe230", + "usb": { + "vid": "0xE230", + "pid": "0x2B74", + "device_version": "0.0.1" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2} + ] + } + } + } diff --git a/keyboards/makeymakey/keymaps/default/keymap.c b/keyboards/makeymakey/keymaps/default/keymap.c new file mode 100644 index 000000000000..1c3e6399fbae --- /dev/null +++ b/keyboards/makeymakey/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2022 Jose Pablo Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// clang-format off +/* + * ,-----------------------------------------------------. + * | | + * | (UP) | + * MSU | ^ .-""-. .-""-. | W + * MSD | | / \ / \ | A + * MSL | (LEFT)<== O ==> (RIGHT) ; ; ; ; | S + * MSR | | \ / \ / | D + * MB1 | v '-..-' '-..-' | F + * MB2 | (DOWN) (SPACE) (RGHT CLK) | G + * | | + * \-----------------------------------------------------/ + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_UP, KC_DOWN, KC_LEFT, KC_RGHT, KC_SPC, KC_BTN1, + KC_W, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_MS_U, KC_MS_D, KC_MS_L, KC_MS_R, KC_BTN1, KC_BTN2 + ) +}; + +// clang-format on diff --git a/keyboards/makeymakey/makeymakey.c b/keyboards/makeymakey/makeymakey.c new file mode 100644 index 000000000000..77794416b2fb --- /dev/null +++ b/keyboards/makeymakey/makeymakey.c @@ -0,0 +1,126 @@ +/* Copyright 2022 Jose Pablo Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "makeymakey.h" + +static pin_t pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; +static pin_t led_pins[LED_PINS] = LED_PINS_HW; +static bool led_state[MATRIX_COLS] = {0}; +static uint8_t led_cycle_counter = 0; + +void keyboard_post_init_kb(void) { + for(uint8_t row = 0; row < MATRIX_ROWS; row++) + { + for(uint8_t col = 0; col < MATRIX_COLS; col++) + { + writePinLow(pins[row][col]); //Disable internal pull-up resistors + } + } + + keyboard_post_init_user(); +} + +void cycle_leds(void) { + for(uint8_t i = 0; i < 3; i++) { + setPinInput(led_pins[i]); + writePinLow(led_pins[i]); + } + + led_cycle_counter++; + led_cycle_counter %= 6; + + switch (led_cycle_counter) { + case 0: + if (led_state[0]) { // Up Arrow + setPinInput(led_pins[0]); + writePinLow(led_pins[0]); + setPinOutput(led_pins[1]); + writePinHigh(led_pins[1]); + setPinOutput(led_pins[2]); + writePinLow(led_pins[2]); + } + break; + case 1: + if (led_state[1]) { // Down Arrow + setPinOutput(led_pins[0]); + writePinHigh(led_pins[0]); + setPinOutput(led_pins[1]); + writePinLow(led_pins[1]); + setPinInput(led_pins[2]); + writePinLow(led_pins[2]); + } + break; + case 2: + if (led_state[2]) { // Left Arrow + setPinOutput(led_pins[0]); + writePinLow(led_pins[0]); + setPinOutput(led_pins[1]); + writePinHigh(led_pins[1]); + setPinInput(led_pins[2]); + writePinLow(led_pins[2]); + } + break; + case 3: + if (led_state[3]) { // Right Arrow + setPinInput(led_pins[0]); + writePinLow(led_pins[0]); + setPinOutput(led_pins[1]); + writePinLow(led_pins[1]); + setPinOutput(led_pins[2]); + writePinHigh(led_pins[2]); + } + break; + case 4: + if (led_state[4]) { // Space + setPinOutput(led_pins[0]); + writePinLow(led_pins[0]); + setPinInput(led_pins[1]); + writePinLow(led_pins[1]); + setPinOutput(led_pins[2]); + writePinHigh(led_pins[2]); + } + break; + case 5: + if (led_state[5]) { // Right Click + setPinOutput(led_pins[0]); + writePinHigh(led_pins[0]); + setPinInput(led_pins[1]); + writePinLow(led_pins[1]); + setPinOutput(led_pins[2]); + writePinLow(led_pins[2]); + } + break; + default: + break; + } +} + +void matrix_scan_kb() { + cycle_leds(); + matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + + uint8_t row = record->event.key.row; + uint8_t col = record->event.key.col; + + if(row == 0 && col >= 0 && col < MATRIX_COLS) { + led_state[col] = record->event.pressed; + } + + return process_record_user(keycode, record); +} diff --git a/keyboards/makeymakey/makeymakey.h b/keyboards/makeymakey/makeymakey.h new file mode 100644 index 000000000000..9b8c273d862d --- /dev/null +++ b/keyboards/makeymakey/makeymakey.h @@ -0,0 +1,32 @@ +/* Copyright 2022 Jose Pablo Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +// clang-format off + #define LAYOUT( \ + K00, K01, K02, K03, K04, K05, \ + K10, K11, K12, K13, K14, K15, \ + K20, K21, K22, K23, K24, K25 \ + ) \ + { \ + { K00, K01, K02, K03, K04, K05 }, \ + { K10, K11, K12, K13, K14, K15 }, \ + { K20, K21, K22, K23, K24, K25 } \ + } +// clang-format on diff --git a/keyboards/makeymakey/readme.md b/keyboards/makeymakey/readme.md new file mode 100644 index 000000000000..068331d1ed16 --- /dev/null +++ b/keyboards/makeymakey/readme.md @@ -0,0 +1,19 @@ +# Makey Makey Classic + +![makeymakey](https://cdn.shopify.com/s/files/1/0162/8612/products/Makey_Carlos_1024x1024_crop_center.png) + +The original Makey Makey Classic. There are six inputs on the front of the board, which can be attached to via alligator clipping, soldering to the pads, or any other method you can think of. There are another 12 inputs on the back, six for keyboard keys and six for mouse motion, which you can access with jumpers via the female headers. + +* Keyboard Maintainer: [Pablo Ramirez](https://github.com/Jpe230) +* Hardware Supported: Makey Makey Classic (atmega32u4) +* Hardware Availability: [Makey Makey official store] https://makeymakey.com/products/makey-makey-kit + +Make example for this keyboard (after setting up your build environment): + + make makeymakey:default + +Flashing example for this keyboard: + + make makeymakey:default:flash + +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/makeymakey/rules.mk b/keyboards/makeymakey/rules.mk new file mode 100644 index 000000000000..66ad5334b312 --- /dev/null +++ b/keyboards/makeymakey/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 7712a286dccea029785976311433cf8673594f6f Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Tue, 19 Apr 2022 12:56:16 +0200 Subject: [PATCH 0564/1832] [Core] Use a mutex guard for split shared memory (#16647) --- platforms/chibios/drivers/serial.c | 29 ++++++++++++++++-------- platforms/chibios/drivers/serial_usart.c | 10 +++++++- platforms/chibios/platform.mk | 6 ++++- platforms/chibios/synchronization_util.c | 26 +++++++++++++++++++++ platforms/synchronization_util.h | 14 ++++++++++++ quantum/split_common/transactions.c | 17 +++++++------- 6 files changed, 82 insertions(+), 20 deletions(-) create mode 100644 platforms/chibios/synchronization_util.c create mode 100644 platforms/synchronization_util.h diff --git a/platforms/chibios/drivers/serial.c b/platforms/chibios/drivers/serial.c index bb7b3c05547c..0cff057d1db8 100644 --- a/platforms/chibios/drivers/serial.c +++ b/platforms/chibios/drivers/serial.c @@ -5,6 +5,7 @@ #include "quantum.h" #include "serial.h" #include "wait.h" +#include "synchronization_util.h" #include @@ -86,7 +87,10 @@ static THD_FUNCTION(Thread1, arg) { chRegSetThreadName("blinker"); while (true) { palWaitLineTimeout(SOFT_SERIAL_PIN, TIME_INFINITE); + + split_shared_memory_lock(); interrupt_handler(NULL); + split_shared_memory_unlock(); } } @@ -205,14 +209,9 @@ void interrupt_handler(void *arg) { chSysUnlockFromISR(); } -///////// -// start transaction by initiator -// -// bool soft_serial_transaction(int sstd_index) -// -// this code is very time dependent, so we need to disable interrupts -bool soft_serial_transaction(int sstd_index) { +static inline bool initiate_transaction(uint8_t sstd_index) { if (sstd_index > NUM_TOTAL_TRANSACTIONS) return false; + split_transaction_desc_t *trans = &split_transaction_table[sstd_index]; // TODO: remove extra delay between transactions @@ -239,8 +238,7 @@ bool soft_serial_transaction(int sstd_index) { return false; } - // if the slave is present syncronize with it - + // if the slave is present synchronize with it uint8_t checksum = 0; // send data to the slave serial_write_byte(sstd_index); // first chunk is transaction id @@ -286,3 +284,16 @@ bool soft_serial_transaction(int sstd_index) { chSysUnlock(); return true; } + +///////// +// start transaction by initiator +// +// bool soft_serial_transaction(int sstd_index) +// +// this code is very time dependent, so we need to disable interrupts +bool soft_serial_transaction(int sstd_index) { + split_shared_memory_lock(); + bool result = initiate_transaction((uint8_t)sstd_index); + split_shared_memory_unlock(); + return result; +} diff --git a/platforms/chibios/drivers/serial_usart.c b/platforms/chibios/drivers/serial_usart.c index 85c64214d161..e9fa4af7a3d4 100644 --- a/platforms/chibios/drivers/serial_usart.c +++ b/platforms/chibios/drivers/serial_usart.c @@ -15,6 +15,7 @@ */ #include "serial_usart.h" +#include "synchronization_util.h" #if defined(SERIAL_USART_CONFIG) static SerialConfig serial_config = SERIAL_USART_CONFIG; @@ -173,6 +174,7 @@ static THD_FUNCTION(SlaveThread, arg) { * Parts of failed transactions or spurious bytes could still be in it. */ usart_clear(); } + split_shared_memory_unlock(); } } @@ -200,6 +202,7 @@ static inline bool react_to_transactions(void) { return false; } + split_shared_memory_lock(); split_transaction_desc_t* trans = &split_transaction_table[sstd_index]; /* Send back the handshake which is XORed as a simple checksum, @@ -254,7 +257,12 @@ bool soft_serial_transaction(int index) { /* Clear the receive queue, to start with a clean slate. * Parts of failed transactions or spurious bytes could still be in it. */ usart_clear(); - return initiate_transaction((uint8_t)index); + + split_shared_memory_lock(); + bool result = initiate_transaction((uint8_t)index); + split_shared_memory_unlock(); + + return result; } /** diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk index 91dd0479bc0b..21751f23fd15 100644 --- a/platforms/chibios/platform.mk +++ b/platforms/chibios/platform.mk @@ -265,7 +265,8 @@ PLATFORM_SRC = \ $(STREAMSSRC) \ $(CHIBIOS)/os/various/syscalls.c \ $(PLATFORM_COMMON_DIR)/syscall-fallbacks.c \ - $(PLATFORM_COMMON_DIR)/wait.c + $(PLATFORM_COMMON_DIR)/wait.c \ + $(PLATFORM_COMMON_DIR)/synchronization_util.c # Ensure the ASM files are not subjected to LTO -- it'll strip out interrupt handlers otherwise. QUANTUM_LIB_SRC += $(STARTUPASM) $(PORTASM) $(OSALASM) $(PLATFORMASM) @@ -420,6 +421,9 @@ LDFLAGS += $(SHARED_LDFLAGS) $(SHARED_LDSYMBOLS) $(TOOLCHAIN_LDFLAGS) $(TOOLCHA # Tell QMK that we are hosting it on ChibiOS. OPT_DEFS += -DPROTOCOL_CHIBIOS +# ChibiOS supports synchronization primitives like a Mutex +OPT_DEFS += -DPLATFORM_SUPPORTS_SYNCHRONIZATION + # Workaround to stop ChibiOS from complaining about new GCC -- it's been fixed for 7/8/9 already OPT_DEFS += -DPORT_IGNORE_GCC_VERSION_CHECK=1 diff --git a/platforms/chibios/synchronization_util.c b/platforms/chibios/synchronization_util.c new file mode 100644 index 000000000000..bc4a4e621fb8 --- /dev/null +++ b/platforms/chibios/synchronization_util.c @@ -0,0 +1,26 @@ +// Copyright 2022 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "synchronization_util.h" +#include "ch.h" + +#if defined(SPLIT_KEYBOARD) +static MUTEX_DECL(SPLIT_SHARED_MEMORY_MUTEX); + +/** + * @brief Acquire exclusive access to the split keyboard shared memory, by + * locking the mutex guarding it. If the mutex is already held, the calling + * thread will be suspended until the mutex currently owning thread releases the + * mutex again. + */ +void split_shared_memory_lock(void) { + chMtxLock(&SPLIT_SHARED_MEMORY_MUTEX); +} + +/** + * @brief Release the split shared memory mutex that has been acquired before. + */ +void split_shared_memory_unlock(void) { + chMtxUnlock(&SPLIT_SHARED_MEMORY_MUTEX); +} +#endif diff --git a/platforms/synchronization_util.h b/platforms/synchronization_util.h new file mode 100644 index 000000000000..3730f271db97 --- /dev/null +++ b/platforms/synchronization_util.h @@ -0,0 +1,14 @@ +// Copyright 2022 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#if defined(PLATFORM_SUPPORTS_SYNCHRONIZATION) +# if defined(SPLIT_KEYBOARD) +void split_shared_memory_lock(void); +void split_shared_memory_unlock(void); +# endif +#else +inline void split_shared_memory_lock(void){}; +inline void split_shared_memory_unlock(void){}; +#endif diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 105bf918cb5e..9e3df534e3bf 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -23,8 +23,9 @@ #include "quantum.h" #include "transactions.h" #include "transport.h" -#include "split_util.h" #include "transaction_id_define.h" +#include "split_util.h" +#include "synchronization_util.h" #define SYNC_TIMER_OFFSET 2 @@ -63,9 +64,7 @@ static bool transaction_handler_master(matrix_row_t master_matrix[], matrix_row_ } } bool this_okay = true; - ATOMIC_BLOCK_FORCEON { - this_okay = handler(master_matrix, slave_matrix); - }; + this_okay = handler(master_matrix, slave_matrix); if (this_okay) return true; } dprintf("Failed to execute %s\n", prefix); @@ -77,11 +76,11 @@ static bool transaction_handler_master(matrix_row_t master_matrix[], matrix_row_ if (!transaction_handler_master(master_matrix, slave_matrix, #prefix, &prefix##_handlers_master)) return false; \ } while (0) -#define TRANSACTION_HANDLER_SLAVE(prefix) \ - do { \ - ATOMIC_BLOCK_FORCEON { \ - prefix##_handlers_slave(master_matrix, slave_matrix); \ - }; \ +#define TRANSACTION_HANDLER_SLAVE(prefix) \ + do { \ + split_shared_memory_lock(); \ + prefix##_handlers_slave(master_matrix, slave_matrix); \ + split_shared_memory_unlock(); \ } while (0) inline static bool read_if_checksum_mismatch(int8_t trans_id_checksum, int8_t trans_id_retrieve, uint32_t *last_update, void *destination, const void *equiv_shmem, size_t length) { From 9ead40db0cde5568b4be4b199615cc284ed4e7a8 Mon Sep 17 00:00:00 2001 From: Allen Choi <37539914+Thunderbird2086@users.noreply.github.com> Date: Tue, 19 Apr 2022 20:00:01 +0900 Subject: [PATCH 0565/1832] Fix broken build for users/curry (#16492) --- keyboards/crkbd/keymaps/curry/config.h | 6 ++++++ keyboards/crkbd/keymaps/curry/keymap.c | 8 +++++++ keyboards/lily58/keymaps/curry/config.h | 5 +++++ keyboards/lily58/keymaps/curry/keymap.c | 6 ++++++ .../rebound/rev1/keymaps/curry/config.h | 7 +++++++ .../rebound/rev1/keymaps/curry/keymap.c | 8 +++++++ users/curry/config.h | 4 ++-- users/curry/curry.c | 2 ++ users/curry/curry.h | 10 ++++++++- users/curry/oled.c | 10 ++++++++- users/curry/process_records.h | 21 ++++++++++++++++--- users/curry/rgb_lighting_user.c | 6 ++++++ users/curry/rgb_matrix_user.c | 12 +++++++++-- 13 files changed, 96 insertions(+), 9 deletions(-) create mode 100644 keyboards/montsinger/rebound/rev1/keymaps/curry/config.h diff --git a/keyboards/crkbd/keymaps/curry/config.h b/keyboards/crkbd/keymaps/curry/config.h index a7c4ed740315..ba9c69ed2647 100644 --- a/keyboards/crkbd/keymaps/curry/config.h +++ b/keyboards/crkbd/keymaps/curry/config.h @@ -13,3 +13,9 @@ # define RGB_MATRIX_VAL_STEP 5 # define RGB_MATRIX_SPD_STEP 10 #endif + +// comment out unnecessary layouts +#define ENABLE_QWERTY +#define ENABLE_COLEMAK +#define ENABLE_DVORAK +#define ENABLE_WORKMAN diff --git a/keyboards/crkbd/keymaps/curry/keymap.c b/keyboards/crkbd/keymaps/curry/keymap.c index e56f77ebeb40..43a314761942 100644 --- a/keyboards/crkbd/keymaps/curry/keymap.c +++ b/keyboards/crkbd/keymaps/curry/keymap.c @@ -14,29 +14,37 @@ #define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +#if defined(ENABLE_QWERTY) [_QWERTY] = LAYOUT_crkbd_base_wrapper( _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ ), +#endif +#if defined(ENABLE_COLEMAK) [_COLEMAK] = LAYOUT_crkbd_base_wrapper( _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ ), +#endif +#if defined(ENABLE_DVORAK) [_DVORAK] = LAYOUT_crkbd_base_wrapper( _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ ), +#endif +#if defined(ENABLE_WORKMAN) [_WORKMAN] = LAYOUT_crkbd_base_wrapper( _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, _________________WORKMAN_L3________________, _________________WORKMAN_R3________________ ), +#endif [_MODS] = LAYOUT_wrapper( _______, ___________________BLANK___________________, ___________________BLANK___________________, _______, diff --git a/keyboards/lily58/keymaps/curry/config.h b/keyboards/lily58/keymaps/curry/config.h index a4c697df4208..b3e82389d878 100644 --- a/keyboards/lily58/keymaps/curry/config.h +++ b/keyboards/lily58/keymaps/curry/config.h @@ -15,3 +15,8 @@ # define RGBLIGHT_VAL_STEP 5 # define RGBLIGHT_LIMIT_VAL 120 #endif + +// comment out unnecessary layouts +#define ENABLE_QWERTY +#define ENABLE_COLEMAK +#define ENABLE_DVORAK diff --git a/keyboards/lily58/keymaps/curry/keymap.c b/keyboards/lily58/keymaps/curry/keymap.c index bc779305a297..12dde2257836 100644 --- a/keyboards/lily58/keymaps/curry/keymap.c +++ b/keyboards/lily58/keymaps/curry/keymap.c @@ -16,26 +16,32 @@ #define LAYOUT_lily58_base_wrapper(...) LAYOUT_lily58_base(__VA_ARGS__) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +#if defined(ENABLE_QWERTY) [_QWERTY] = LAYOUT_lily58_base_wrapper( ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ ), +#endif +#if defined(ENABLE_COLEMAK) [_COLEMAK] = LAYOUT_lily58_base_wrapper( ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ ), +#endif +#if defined(ENABLE_DVORAK) [_DVORAK] = LAYOUT_lily58_base_wrapper( ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ ), +#endif [_MODS] = LAYOUT_wrapper( _______, ___________________BLANK___________________, ___________________BLANK___________________, _______, diff --git a/keyboards/montsinger/rebound/rev1/keymaps/curry/config.h b/keyboards/montsinger/rebound/rev1/keymaps/curry/config.h new file mode 100644 index 000000000000..2c9f97d58744 --- /dev/null +++ b/keyboards/montsinger/rebound/rev1/keymaps/curry/config.h @@ -0,0 +1,7 @@ +#pragma once + +// comment out unnecessary layouts +#define ENABLE_QWERTY +#define ENABLE_COLEMAK +#define ENABLE_DVORAK +#define ENABLE_WORKMAN diff --git a/keyboards/montsinger/rebound/rev1/keymaps/curry/keymap.c b/keyboards/montsinger/rebound/rev1/keymaps/curry/keymap.c index 1b8f4f4ac90b..49b328271d45 100644 --- a/keyboards/montsinger/rebound/rev1/keymaps/curry/keymap.c +++ b/keyboards/montsinger/rebound/rev1/keymaps/curry/keymap.c @@ -14,29 +14,37 @@ #define LAYOUT_rebound_base_wrapper(...) LAYOUT_rebound_base(__VA_ARGS__) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +#if defined(ENABLE_QWERTY) [_QWERTY] = LAYOUT_rebound_base_wrapper( _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ ), +#endif +#if defined(ENABLE_COLEMAK) [_COLEMAK] = LAYOUT_rebound_base_wrapper( _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ ), +#endif +#if defined(ENABLE_DVORAK) [_DVORAK] = LAYOUT_rebound_base_wrapper( _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ ), +#endif +#if defined(ENABLE_WORKMAN) [_WORKMAN] = LAYOUT_rebound_base_wrapper( _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, _________________WORKMAN_L3________________, _________________WORKMAN_R3________________ ), +#endif [_LOWER] = LAYOUT_ortho_4x12_wrapper( KC_F11, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F12, diff --git a/users/curry/config.h b/users/curry/config.h index 31baea62570d..3301ebe533cd 100644 --- a/users/curry/config.h +++ b/users/curry/config.h @@ -32,7 +32,7 @@ # undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT # undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN # undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -// # undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL # undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON # undef ENABLE_RGB_MATRIX_DUAL_BEACON # undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL @@ -41,7 +41,7 @@ # undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS # undef ENABLE_RGB_MATRIX_RAINDROPS # undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -// # undef ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP # undef ENABLE_RGB_MATRIX_DIGITAL_RAIN # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE diff --git a/users/curry/curry.c b/users/curry/curry.c index 035355359154..a9f9f798701d 100644 --- a/users/curry/curry.c +++ b/users/curry/curry.c @@ -14,9 +14,11 @@ void bootmagic_lite(void) { wait_ms(30); #endif matrix_scan(); +#if defined(BOOTMAGIC_ENABLE) if (matrix_get_row(BOOTMAGIC_LITE_ROW) & (1 << BOOTMAGIC_LITE_COLUMN)) { bootloader_jump(); } +#endif } __attribute__((weak)) void keyboard_pre_init_keymap(void) {} diff --git a/users/curry/curry.h b/users/curry/curry.h index ee4a73683562..7a9e6c9eb6a6 100644 --- a/users/curry/curry.h +++ b/users/curry/curry.h @@ -25,10 +25,18 @@ /* Define layer names */ enum userspace_layers { - _QWERTY = 0, +#if defined(ENABLE_QWERTY) + _QWERTY, +#endif +#if defined(ENABLE_COLEMAK) _COLEMAK, +#endif +#if defined(ENABLE_DVORAK) _DVORAK, +#endif +#if defined(ENABLE_WORKMAN) _WORKMAN, +#endif _MODS, _LOWER, _RAISE, diff --git a/users/curry/oled.c b/users/curry/oled.c index 27f6072ff173..5a8f0de61d87 100644 --- a/users/curry/oled.c +++ b/users/curry/oled.c @@ -56,18 +56,26 @@ void render_keylogger_status(void) { void render_default_layer_state(void) { oled_write_P(PSTR("Lyout"), false); switch (get_highest_layer(default_layer_state)) { +#if defined(ENABLE_QWERTY) case _QWERTY: oled_write_P(PSTR(" QRTY"), false); break; +#endif +#if defined(ENABLE_COLEMAK) case _COLEMAK: oled_write_P(PSTR(" COLE"), false); break; +#endif +#if defined(ENABLE_DVORAK) case _DVORAK: oled_write_P(PSTR(" DVRK"), false); break; +#endif +#if defined(ENABLE_WORKMAN) case _WORKMAN: oled_write_P(PSTR(" WRKM"), false); break; +#endif } } @@ -140,7 +148,7 @@ void render_status_secondary(void) { bool oled_task_user(void) { if (timer_elapsed32(oled_timer) > 30000) { oled_off(); - return; + return false; } #if !defined(SPLIT_KEYBOARD) else { diff --git a/users/curry/process_records.h b/users/curry/process_records.h index 0aa873648b4a..605abdfae20b 100644 --- a/users/curry/process_records.h +++ b/users/curry/process_records.h @@ -43,9 +43,24 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record); #define KC_SEC5 KC_SECRET_5 #define QWERTY KC_QWERTY -#define DVORAK KC_DVORAK -#define COLEMAK KC_COLEMAK -#define WORKMAN KC_WORKMAN +#define DVORAK KC_NO +#define COLEMAK KC_NO +#define WORKMAN KC_NO + +#if defined(ENABLE_DVORAK) +# undef DVORAK +# define DVORAK KC_DVORAK +#endif + +#if defined(ENABLE_COLEMAK) +# undef COLEMAK +# define COLEMAK KC_COLEMAK +#endif + +#if defined(ENABLE_WORKMAN) +# undef WORKMAN +# define WORKMAN KC_WORKMAN +#endif #define KC_RST RESET diff --git a/users/curry/rgb_lighting_user.c b/users/curry/rgb_lighting_user.c index 25e1ce010433..b8d519feca17 100644 --- a/users/curry/rgb_lighting_user.c +++ b/users/curry/rgb_lighting_user.c @@ -304,15 +304,21 @@ layer_state_t layer_state_set_rgb(layer_state_t state) { { uint8_t mode = get_highest_layer(state) == _MODS ? RGBLIGHT_MODE_BREATHING : RGBLIGHT_MODE_STATIC_LIGHT; switch (get_highest_layer(default_layer_state)) { +#if defined(ENABLE_COLEMAK) case _COLEMAK: rgblight_set_hsv_and_mode(HSV_MAGENTA, mode); break; +#endif +#if defined(ENABLE_DVORAK) case _DVORAK: rgblight_set_hsv_and_mode(HSV_SPRINGGREEN, mode); break; +#endif +#if defined(ENABLE_WORKMAN) case _WORKMAN: rgblight_set_hsv_and_mode(HSV_GOLDENROD, mode); break; +#endif default: rgblight_set_hsv_and_mode(HSV_CYAN, mode); break; diff --git a/users/curry/rgb_matrix_user.c b/users/curry/rgb_matrix_user.c index d1698b087c47..96f1f1d4f377 100644 --- a/users/curry/rgb_matrix_user.c +++ b/users/curry/rgb_matrix_user.c @@ -13,23 +13,31 @@ void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); } void check_default_layer(uint8_t mode, uint8_t type) { switch (get_highest_layer(default_layer_state)) { +#if defined(ENABLE_QWERTY) case _QWERTY: rgb_matrix_layer_helper(HSV_CYAN, mode, rgb_matrix_config.speed, type); break; +#endif +#if defined(ENABLE_COLEMAK) case _COLEMAK: rgb_matrix_layer_helper(HSV_MAGENTA, mode, rgb_matrix_config.speed, type); break; +#endif +#if defined(ENABLE_DVORAK) case _DVORAK: rgb_matrix_layer_helper(HSV_SPRINGGREEN, mode, rgb_matrix_config.speed, type); break; +#endif +#if defined(ENABLE_WORKMAN) case _WORKMAN: rgb_matrix_layer_helper(HSV_GOLDENROD, mode, rgb_matrix_config.speed, type); break; +#endif } } void rgb_matrix_indicators_user(void) { - if (userspace_config.rgb_layer_change && !g_suspend_state && rgb_matrix_config.enable) { + if (userspace_config.rgb_layer_change && rgb_matrix_config.enable) { switch (get_highest_layer(layer_state)) { case _RAISE: rgb_matrix_layer_helper(HSV_YELLOW, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); @@ -120,7 +128,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode switch (mode) { case 1: // breathing { - uint16_t time = scale16by8(g_rgb_counters.tick, speed / 8); + uint16_t time = scale16by8(RGBLED_NUM, speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); RGB rgb = hsv_to_rgb(hsv); for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { From 671b62efab9d73cde791cc7b0b2c877516de6012 Mon Sep 17 00:00:00 2001 From: KoenGoe Date: Tue, 19 Apr 2022 13:02:21 +0200 Subject: [PATCH 0566/1832] Fixes #16705 : digital rain follows val (#16716) Co-authored-by: Drashna Jaelre --- .../rgb_matrix/animations/digital_rain_anim.h | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/quantum/rgb_matrix/animations/digital_rain_anim.h b/quantum/rgb_matrix/animations/digital_rain_anim.h index 4633145ff6bd..7d3b22f697a1 100644 --- a/quantum/rgb_matrix/animations/digital_rain_anim.h +++ b/quantum/rgb_matrix/animations/digital_rain_anim.h @@ -10,11 +10,13 @@ RGB_MATRIX_EFFECT(DIGITAL_RAIN) bool DIGITAL_RAIN(effect_params_t* params) { // algorithm ported from https://github.com/tremby/Kaleidoscope-LEDEffect-DigitalRain const uint8_t drop_ticks = 28; - const uint8_t pure_green_intensity = 0xd0; - const uint8_t max_brightness_boost = 0xc0; - const uint8_t max_intensity = 0xff; + const uint8_t pure_green_intensity = (((uint16_t)rgb_matrix_config.hsv.v) * 3) >> 2; + const uint8_t max_brightness_boost = (((uint16_t)rgb_matrix_config.hsv.v) * 3) >> 2; + const uint8_t max_intensity = rgb_matrix_config.hsv.v; + const uint8_t decay_ticks = 0xff / max_intensity; - static uint8_t drop = 0; + static uint8_t drop = 0; + static uint8_t decay = 0; if (params->init) { rgb_matrix_set_color_all(0, 0, 0); @@ -22,6 +24,7 @@ bool DIGITAL_RAIN(effect_params_t* params) { drop = 0; } + decay++; for (uint8_t col = 0; col < MATRIX_COLS; col++) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) { if (row == 0 && drop == 0 && rand() < RAND_MAX / RGB_DIGITAL_RAIN_DROPS) { @@ -30,7 +33,9 @@ bool DIGITAL_RAIN(effect_params_t* params) { g_rgb_frame_buffer[row][col] = max_intensity; } else if (g_rgb_frame_buffer[row][col] > 0 && g_rgb_frame_buffer[row][col] < max_intensity) { // neither fully bright nor dark, decay it - g_rgb_frame_buffer[row][col]--; + if (decay == decay_ticks) { + g_rgb_frame_buffer[row][col]--; + } } // set the pixel colour uint8_t led[LED_HITS_TO_REMEMBER]; @@ -48,6 +53,9 @@ bool DIGITAL_RAIN(effect_params_t* params) { } } } + if (decay == decay_ticks) { + decay = 0; + } if (++drop > drop_ticks) { // reset drop timer @@ -59,9 +67,9 @@ bool DIGITAL_RAIN(effect_params_t* params) { g_rgb_frame_buffer[row][col]--; } // check if the pixel above is bright - if (g_rgb_frame_buffer[row - 1][col] == max_intensity) { + if (g_rgb_frame_buffer[row - 1][col] >= max_intensity) { // Note: can be larger than max_intensity if val was recently decreased // allow old bright pixel to decay - g_rgb_frame_buffer[row - 1][col]--; + g_rgb_frame_buffer[row - 1][col] = max_intensity - 1; // make this pixel bright g_rgb_frame_buffer[row][col] = max_intensity; } From ad31ea3f515630f922ccad54cc879e13a05020fa Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Tue, 19 Apr 2022 05:03:51 -0600 Subject: [PATCH 0567/1832] boardsource/microdox V2 (#16569) --- keyboards/boardsource/microdox/config.h | 27 ++-- .../microdox/keymaps/cole/keymap.c | 70 +--------- .../microdox/keymaps/cole/rules.mk | 1 - .../microdox/keymaps/default/keymap.c | 40 +++--- .../boardsource/microdox/keymaps/via/keymap.c | 129 ++++-------------- .../boardsource/microdox/keymaps/via/rules.mk | 3 - keyboards/boardsource/microdox/microdox.c | 57 ++++++++ keyboards/boardsource/microdox/microdox.h | 25 ++-- keyboards/boardsource/microdox/readme.md | 6 +- keyboards/boardsource/microdox/rules.mk | 6 +- keyboards/boardsource/microdox/v2/config.h | 45 ++++++ keyboards/boardsource/microdox/v2/rules.mk | 8 ++ keyboards/boardsource/microdox/v2/v2.c | 62 +++++++++ keyboards/boardsource/microdox/v2/v2.h | 22 +++ 14 files changed, 282 insertions(+), 219 deletions(-) create mode 100644 keyboards/boardsource/microdox/v2/config.h create mode 100644 keyboards/boardsource/microdox/v2/rules.mk create mode 100644 keyboards/boardsource/microdox/v2/v2.c create mode 100644 keyboards/boardsource/microdox/v2/v2.h diff --git a/keyboards/boardsource/microdox/config.h b/keyboards/boardsource/microdox/config.h index 7e6347dbdad3..f2ba806ae72f 100644 --- a/keyboards/boardsource/microdox/config.h +++ b/keyboards/boardsource/microdox/config.h @@ -19,20 +19,22 @@ along with this program. If not, see . #include "config_common.h" -#define VENDOR_ID 0xF7E0 -#define PRODUCT_ID 0x0412 -#define DEVICE_VER 0x0000 -#define MANUFACTURER Boardsource -#define PRODUCT microdox +#define VENDOR_ID 0xF7E0 +#define PRODUCT_ID 0x0412 +#define DEVICE_VER 0x0000 +#define MANUFACTURER Boardsource +#define PRODUCT microdox /* key matrix size */ // Rows are doubled-up #define MATRIX_ROWS 8 #define MATRIX_COLS 5 -#define MATRIX_ROW_PINS { B2, B6, B4, B5 } +#define MATRIX_ROW_PINS \ + { B2, B6, B4, B5 } // wiring of each half -#define MATRIX_COL_PINS { F4, F5, F6, F7, B1 } +#define MATRIX_COL_PINS \ + { F4, F5, F6, F7, B1 } #define USE_SERIAL #define SOFT_SERIAL_PIN D2 /* define if matrix has ghost */ @@ -53,12 +55,15 @@ along with this program. If not, see . //#define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGBLIGHT_ANIMATIONS #define RGB_DI_PIN D3 -#define RGBLED_SPLIT { 6, 6 } -#define EE_HANDS #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 12 // Number of LEDs +# define RGBLED_NUM 12 // Number of LEDs +# define RGBLED_SPLIT \ + { 6, 6 } +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_STATIC_GRADIENT + #endif /* diff --git a/keyboards/boardsource/microdox/keymaps/cole/keymap.c b/keyboards/boardsource/microdox/keymaps/cole/keymap.c index 8ff57074787e..f4ac92ea0d06 100644 --- a/keyboards/boardsource/microdox/keymaps/cole/keymap.c +++ b/keyboards/boardsource/microdox/keymaps/cole/keymap.c @@ -16,13 +16,11 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "split_util.h" enum layers { _QWERTY, _RAISE, - _LOWER, - _ADJUST + _LOWER }; #define KC_CTSC RCTL_T(KC_SCLN) @@ -35,83 +33,23 @@ enum layers { #define PREVWINDOW MT(MOD_LCTL, KC_LEFT) #define NEXTWINDOW MT(MOD_LCTL, KC_RGHT) - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT_split_3x5_3( KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, CTRL_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTSC, SHFT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SHIFT_SLASH, MO(_LOWER),KC_LGUI, RASE_ENT, RASE_BACK, LOWER_SPC, KC_TAB - ), + ), [_RAISE] = LAYOUT_split_3x5_3( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, KC_LSFT, KC_GRV, PREVWINDOW, NEXTWINDOW, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_LGUI, KC_ENT, KC_BSPC, KC_SPC, _______ - ), + ), [_LOWER] = LAYOUT_split_3x5_3( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DQT, KC_ESC, KC_TILD, PREVWINDOW, NEXTWINDOW, RGB_MODE_FORWARD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_LGUI, KC_ENT, KC_BSPC, KC_SPC, _______ - ) + ) }; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) - return OLED_ROTATION_180; - return rotation; -} - -static void render_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0 - }; - oled_write_P(qmk_logo, false); -} - -static void render_status(void) { - switch (get_highest_layer(layer_state)) { - case _QWERTY: - oled_write_P(PSTR("B R L A O\n"), false); - oled_write_P(PSTR("^\n"), false); - oled_write_P(PSTR("Layer: Base\n"), false); - break; - case _RAISE: - oled_write_P(PSTR("B R L A O\n"), false); - oled_write_P(PSTR(" ^\n"), false); - oled_write_P(PSTR("Layer: Raise\n"), false); - break; - case _LOWER: - oled_write_P(PSTR("B R L A O\n"), false); - oled_write_P(PSTR(" ^\n"), false); - oled_write_P(PSTR("Layer: Lower\n"), false); - break; - case _ADJUST: - oled_write_P(PSTR("B R L A O\n"), false); - oled_write_P(PSTR(" ^\n"), false); - oled_write_P(PSTR("Layer: Adjust\n"), false); - break; - default: - oled_write_P(PSTR("B R L A O"), false); - oled_write_P(PSTR(" ^\n"), false); - oled_write_P(PSTR("Layer: Other\n"), false); - } -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - render_status(); - } else { - render_logo(); - oled_scroll_left(); - } - return false; -} - -#endif diff --git a/keyboards/boardsource/microdox/keymaps/cole/rules.mk b/keyboards/boardsource/microdox/keymaps/cole/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/boardsource/microdox/keymaps/cole/rules.mk +++ b/keyboards/boardsource/microdox/keymaps/cole/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/boardsource/microdox/keymaps/default/keymap.c b/keyboards/boardsource/microdox/keymaps/default/keymap.c index 06322be0b76d..6fe94011f459 100644 --- a/keyboards/boardsource/microdox/keymaps/default/keymap.c +++ b/keyboards/boardsource/microdox/keymaps/default/keymap.c @@ -27,24 +27,24 @@ enum layers { #define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QWERTY] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_LCTL, LOWER, KC_SPC, KC_BSPC, RAISE, KC_ENT -), - -[_RAISE] = LAYOUT_split_3x5_3( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, - KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_QUOT, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -), - -[_LOWER] = LAYOUT_split_3x5_3( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, - KC_CAPS, KC_TILD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PIPE, KC_DQT, - XXXXXXX, XXXXXXX, XXXXXXX, KC_ENT, XXXXXXX, KC_DEL -) + [_QWERTY] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LCTL, LOWER, KC_SPC, KC_BSPC, RAISE, KC_ENT + ), + + [_RAISE] = LAYOUT_split_3x5_3( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, + KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_QUOT, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + + [_LOWER] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, + KC_CAPS, KC_TILD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PIPE, KC_DQT, + XXXXXXX, XXXXXXX, XXXXXXX, KC_ENT, XXXXXXX, KC_DEL + ) }; diff --git a/keyboards/boardsource/microdox/keymaps/via/keymap.c b/keyboards/boardsource/microdox/keymaps/via/keymap.c index e02fb0b6eeb1..d9196515cb6e 100644 --- a/keyboards/boardsource/microdox/keymaps/via/keymap.c +++ b/keyboards/boardsource/microdox/keymaps/via/keymap.c @@ -1,105 +1,32 @@ -/* -Copyright 2020 Jack Sangdahl <@toastedmangoes> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - +// Copyright 2022 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - SFT_T(KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SFT_T(KC_SCLN), - CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), - LT(3, KC_LGUI), MO(1), KC_SPC, KC_BSPC, MO(2), KC_ENT -), - -[1] = LAYOUT_split_3x5_3( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_ESC, KC_TAB, KC_CAPS, KC_TILD, KC_GRV, KC_QUOT, KC_DQUO, KC_MPRV, KC_MPLY, KC_MNXT, - KC_LGUI, KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, KC_RALT -), - -[2] = LAYOUT_split_3x5_3( - KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_PSCR, KC_DEL, KC_INS, KC_HOME, KC_END, - KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_RIGHT, KC_UP, KC_VOLU, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_VOLD, - KC_PGDN, KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, KC_PGUP -), -[3] = LAYOUT_split_3x5_3( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUD, RGB_HUI, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX, - KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -) + [0] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + SFT_T(KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SFT_T(KC_SCLN), + CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), + LT(3, KC_LGUI), MO(1), KC_SPC, KC_BSPC, MO(2), KC_ENT + ), + + [1] = LAYOUT_split_3x5_3( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_ESC, KC_TAB, KC_CAPS, KC_TILD, KC_GRV, KC_QUOT, KC_DQUO, KC_MPRV, KC_MPLY, KC_MNXT, + KC_LGUI, KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, KC_RALT + ), + + [2] = LAYOUT_split_3x5_3( + KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_PSCR, KC_DEL, KC_INS, KC_HOME, KC_END, + KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_RIGHT, KC_UP, KC_VOLU, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_VOLD, + KC_PGDN, KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, KC_PGUP + ), + [3] = LAYOUT_split_3x5_3( + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUD, RGB_HUI, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX, + KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) }; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) - return OLED_ROTATION_180; - return rotation; -} - -static void render_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0 - }; - oled_write_P(qmk_logo, false); -} - -static void render_status(void) { - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR("B R L A O\n"), false); - oled_write_P(PSTR("^\n"), false); - oled_write_P(PSTR("Layer: Base\n"), false); - break; - case 1: - oled_write_P(PSTR("B R L A O\n"), false); - oled_write_P(PSTR(" ^\n"), false); - oled_write_P(PSTR("Layer: Raise\n"), false); - break; - case 2: - oled_write_P(PSTR("B R L A O\n"), false); - oled_write_P(PSTR(" ^\n"), false); - oled_write_P(PSTR("Layer: Lower\n"), false); - break; - case 3: - oled_write_P(PSTR("B R L A O\n"), false); - oled_write_P(PSTR(" ^\n"), false); - oled_write_P(PSTR("Layer: Adjust\n"), false); - break; - default: - oled_write_P(PSTR("B R L A O"), false); - oled_write_P(PSTR(" ^\n"), false); - oled_write_P(PSTR("Layer: Other\n"), false); - } -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - render_status(); - } else { - render_logo(); - oled_scroll_left(); - } - return false; -} - -#endif diff --git a/keyboards/boardsource/microdox/keymaps/via/rules.mk b/keyboards/boardsource/microdox/keymaps/via/rules.mk index c84c1f41767b..7fad85c0158e 100644 --- a/keyboards/boardsource/microdox/keymaps/via/rules.mk +++ b/keyboards/boardsource/microdox/keymaps/via/rules.mk @@ -1,6 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 VIA_ENABLE = yes -EXTRAKEY_ENABLE = yes -RGBLIGHT_ENABLE = yes LTO_ENABLE = yes diff --git a/keyboards/boardsource/microdox/microdox.c b/keyboards/boardsource/microdox/microdox.c index eef981297afe..abfe65a2bd12 100644 --- a/keyboards/boardsource/microdox/microdox.c +++ b/keyboards/boardsource/microdox/microdox.c @@ -17,3 +17,60 @@ along with this program. If not, see . #include "microdox.h" +#ifdef OLED_ENABLE +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + if (is_keyboard_master()) + return OLED_ROTATION_180; + return rotation; +} + +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, + 0 + }; + oled_write_P(qmk_logo, false); +} + +static void render_status(void) { + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("B R L A O\n"), false); + oled_write_P(PSTR("^\n"), false); + oled_write_P(PSTR("Layer: Base\n"), false); + break; + case 1: + oled_write_P(PSTR("B R L A O\n"), false); + oled_write_P(PSTR(" ^\n"), false); + oled_write_P(PSTR("Layer: Raise\n"), false); + break; + case 2: + oled_write_P(PSTR("B R L A O\n"), false); + oled_write_P(PSTR(" ^\n"), false); + oled_write_P(PSTR("Layer: Lower\n"), false); + break; + case 3: + oled_write_P(PSTR("B R L A O\n"), false); + oled_write_P(PSTR(" ^\n"), false); + oled_write_P(PSTR("Layer: Adjust\n"), false); + break; + default: + oled_write_P(PSTR("B R L A O"), false); + oled_write_P(PSTR(" ^\n"), false); + oled_write_P(PSTR("Layer: Other\n"), false); + } +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { return false; } + if (is_keyboard_master()) { + render_status(); + } else { + render_logo(); + oled_scroll_left(); + } + return false; +} +#endif diff --git a/keyboards/boardsource/microdox/microdox.h b/keyboards/boardsource/microdox/microdox.h index 950d46d99f74..8b63b4641506 100644 --- a/keyboards/boardsource/microdox/microdox.h +++ b/keyboards/boardsource/microdox/microdox.h @@ -18,20 +18,21 @@ along with this program. If not, see . #pragma once #include "quantum.h" +#define xxx KC_NO #define LAYOUT_split_3x5_3(\ - k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, \ - k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, \ - k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, \ - k33, k34, k35, k75, k74, k73 \ + k00, k01, k02, k03, k04, k44, k43, k42, k41, k40, \ + k10, k11, k12, k13, k14, k54, k53, k52, k51, k50, \ + k20, k21, k22, k23, k24, k64, k63, k62, k61, k60, \ + k32, k33, k34, k74, k73, k72 \ ) \ { \ - { k01, k02, k03, k04, k05 }, \ - { k11, k12, k13, k14, k15 }, \ - { k21, k22, k23, k24, k25 }, \ - { KC_NO,KC_NO, k33, k34, k35 }, \ - { k41, k42, k43, k44, k45 }, \ - { k51, k52, k53, k54, k55 }, \ - { k61, k62, k63, k64, k65 }, \ - { KC_NO, KC_NO, k73, k74, k75 } \ + { k00, k01, k02, k03, k04 }, \ + { k10, k11, k12, k13, k14 }, \ + { k20, k21, k22, k23, k24 }, \ + { xxx, xxx, k32, k33, k34 }, \ + { k40, k41, k42, k43, k44 }, \ + { k50, k51, k52, k53, k54 }, \ + { k60, k61, k62, k63, k64 }, \ + { xxx, xxx, k72, k73, k74 } \ } diff --git a/keyboards/boardsource/microdox/readme.md b/keyboards/boardsource/microdox/readme.md index 7b54283674a0..0a468bd4a379 100644 --- a/keyboards/boardsource/microdox/readme.md +++ b/keyboards/boardsource/microdox/readme.md @@ -3,11 +3,13 @@ ![boardsource Microdox](https://i.imgur.com/AliShkvl.jpg) * Keyboard Maintainer: [Boardsource](https://github.com/daysgobye) -* Hardware Supported: microdox v1 +* Hardware Supported: Pro Micro and compatible alternatives * Hardware Availability: this keyboard is available from the [Boardsource store](https://boardsource.xyz/store/5f2e7e4a2902de7151494f92) Make example for this keyboard (after setting up your build environment): - make boardsource/microdox:default + make boardsource/microdox/v2:default + +Remove `v2` from above command if you purchased your PCBs prior to April 2022 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/boardsource/microdox/rules.mk b/keyboards/boardsource/microdox/rules.mk index 52f90150eee9..a15c5aded175 100644 --- a/keyboards/boardsource/microdox/rules.mk +++ b/keyboards/boardsource/microdox/rules.mk @@ -7,12 +7,12 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control +EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover +NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output diff --git a/keyboards/boardsource/microdox/v2/config.h b/keyboards/boardsource/microdox/v2/config.h new file mode 100644 index 000000000000..1f8bc7c3d951 --- /dev/null +++ b/keyboards/boardsource/microdox/v2/config.h @@ -0,0 +1,45 @@ +// Copyright 2022 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once +#undef MATRIX_ROW_PINS +#undef MATRIX_COL_PINS +#define MATRIX_ROW_PINS \ + { F4, D2, C6, B1 } +#define MATRIX_COL_PINS \ + { D4, D7, B3, F7, F6 } +#define MATRIX_ROW_PINS_RIGHT \ + { F5, F7, F6, E6 } +#define MATRIX_COL_PINS_RIGHT \ + { F4, B1, D7, C6, B3 } +#undef SOFT_SERIAL_PIN +#define SOFT_SERIAL_PIN D3 +#undef RGB_DI_PIN +#define RGB_DI_PIN B5 +#ifdef RGBLIGHT_ENABLE +# undef RGBLED_NUM +# undef RGBLED_SPLIT +# define RGBLED_NUM 8 +# define RGBLED_SPLIT { 4, 4 } // underglow only +# define RGBLIGHT_SLEEP +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +#endif +#ifdef RGB_MATRIX_ENABLE +# define DRIVER_LED_TOTAL 44 +# define RGB_MATRIX_SPLIT { 22, 22 } +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#endif +#ifdef ENCODER_ENABLE +# define ENCODERS_PAD_A { E6 } +# define ENCODERS_PAD_B { B2 } +# define ENCODERS_PAD_A_RIGHT { B6 } +# define ENCODERS_PAD_B_RIGHT { B2 } +#endif diff --git a/keyboards/boardsource/microdox/v2/rules.mk b/keyboards/boardsource/microdox/v2/rules.mk new file mode 100644 index 000000000000..0d57a06d1eca --- /dev/null +++ b/keyboards/boardsource/microdox/v2/rules.mk @@ -0,0 +1,8 @@ +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 +RGB_MATRIX_SUPPORTED = yes +RGBLIGHT_ENABLE = no +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +ENCODER_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/boardsource/microdox/v2/v2.c b/keyboards/boardsource/microdox/v2/v2.c new file mode 100644 index 000000000000..11476a6ea241 --- /dev/null +++ b/keyboards/boardsource/microdox/v2/v2.c @@ -0,0 +1,62 @@ +// Copyright 2022 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "v2.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + { 13, 14, 15, 16, 17 }, + { 12, 11, 10, 9, 8 }, + { 3, 4, 5, 6, 7 }, + { NO_LED, NO_LED, 2, 1, 0 }, + //18-21 left underglow + { 35, 36, 37, 38, 39 }, + { 34, 33, 32, 31, 30 }, + { 25, 26, 27, 28, 29 }, + { NO_LED, NO_LED, 24, 23, 22 } + //40-44 right underglow + }, { + {99,64}, {74,64}, {49,64}, //0-2 + {0,42}, {24,42}, {49,42}, {74,42}, {99,42}, //3-7 + {99,21}, {74,21}, {49,21}, {24,21}, {0,21}, //8-12 + {0,0}, {24,0}, {49,0}, {74,0}, {99,0}, //13-17 + {12,11}, {86,11}, {86,53}, {0,64}, //18-21 + {124,64}, {149,64}, {174,64}, //22-24 + {224,42}, {199,42}, {174,42}, {149,42}, {124,42}, //25-29 + {124,21}, {149,21}, {174,21}, {199,21}, {224,21}, //30-34 + {224,0}, {199,0}, {174,0}, {149,0}, {124,0}, //35-39 + {211,11}, {136,11}, {136,53}, {224,64} //40-44 + }, { + 1, 1, 1, + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, + 2, 2, 2, 2, + 1, 1, 1, + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, + 2, 2, 2, 2 + } +}; +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } else { + if (clockwise) { + tap_code(KC_MNXT); + } else { + tap_code(KC_MPRV); + } + } + return false; +} +#endif diff --git a/keyboards/boardsource/microdox/v2/v2.h b/keyboards/boardsource/microdox/v2/v2.h new file mode 100644 index 000000000000..400660fffae0 --- /dev/null +++ b/keyboards/boardsource/microdox/v2/v2.h @@ -0,0 +1,22 @@ +// Copyright 2022 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once +#include "quantum.h" +#define xxx KC_NO + +#define LAYOUT_split_3x5_3(\ + k00, k01, k02, k03, k04, k44, k43, k42, k41, k40, \ + k10, k11, k12, k13, k14, k54, k53, k52, k51, k50, \ + k20, k21, k22, k23, k24, k64, k63, k62, k61, k60, \ + k32, k33, k34, k74, k73, k72 \ + ) \ + { \ + { k00, k01, k02, k03, k04 }, \ + { k10, k11, k12, k13, k14 }, \ + { k20, k21, k22, k23, k24 }, \ + { xxx, xxx, k32, k33, k34 }, \ + { k40, k41, k42, k43, k44 }, \ + { k50, k51, k52, k53, k54 }, \ + { k60, k61, k62, k63, k64 }, \ + { xxx, xxx, k72, k73, k74 } \ + } From be7198ca49543a5e7b8d5ec38de7d7b6f2acc53d Mon Sep 17 00:00:00 2001 From: gourdo1 Date: Tue, 19 Apr 2022 04:05:13 -0700 Subject: [PATCH 0568/1832] New custom keymap for Glorious GMMK Pro ANSI layout (#16199) Co-authored-by: Drashna Jaelre --- .../gmmk/pro/ansi/keymaps/gourdo1/caps_word.c | 150 ++++++ .../gmmk/pro/ansi/keymaps/gourdo1/caps_word.h | 127 +++++ .../gmmk/pro/ansi/keymaps/gourdo1/config.h | 75 +++ .../gmmk/pro/ansi/keymaps/gourdo1/keymap.c | 336 ++++++++++++++ .../gmmk/pro/ansi/keymaps/gourdo1/readme.md | 97 ++++ .../pro/ansi/keymaps/gourdo1/rgb_matrix_map.h | 287 ++++++++++++ .../gmmk/pro/ansi/keymaps/gourdo1/rules.mk | 18 + users/gourdo1/gourdo1.c | 432 ++++++++++++++++++ users/gourdo1/gourdo1.h | 131 ++++++ users/gourdo1/gourdo1_encoder.c | 238 ++++++++++ users/gourdo1/rules.mk | 29 ++ 11 files changed, 1920 insertions(+) create mode 100644 keyboards/gmmk/pro/ansi/keymaps/gourdo1/caps_word.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/gourdo1/caps_word.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/gourdo1/config.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/gourdo1/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/gourdo1/readme.md create mode 100644 keyboards/gmmk/pro/ansi/keymaps/gourdo1/rgb_matrix_map.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/gourdo1/rules.mk create mode 100644 users/gourdo1/gourdo1.c create mode 100644 users/gourdo1/gourdo1.h create mode 100644 users/gourdo1/gourdo1_encoder.c create mode 100644 users/gourdo1/rules.mk diff --git a/keyboards/gmmk/pro/ansi/keymaps/gourdo1/caps_word.c b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/caps_word.c new file mode 100644 index 000000000000..d2f7b6ee7fc1 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/caps_word.c @@ -0,0 +1,150 @@ +// Copyright 2021-2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// For full documentation, see +// https://getreuer.info/posts/keyboards/caps-word + +#include "caps_word.h" + +static bool caps_word_active = false; + +#if CAPS_WORD_IDLE_TIMEOUT > 0 +#if CAPS_WORD_IDLE_TIMEOUT < 100 || CAPS_WORD_IDLE_TIMEOUT > 30000 +// Constrain timeout to a sensible range. With the 16-bit timer, the longest +// representable timeout is 32768 ms, rounded here to 30000 ms = half a minute. +#error "caps_word: CAPS_WORD_IDLE_TIMEOUT must be between 100 and 30000 ms" +#endif + +static uint16_t idle_timer = 0; + +void caps_word_task(void) { + if (caps_word_active && timer_expired(timer_read(), idle_timer)) { + caps_word_set(false); + } +} +#endif // CAPS_WORD_IDLE_TIMEOUT > 0 + +bool process_caps_word(uint16_t keycode, keyrecord_t* record) { +#ifndef NO_ACTION_ONESHOT + const uint8_t mods = get_mods() | get_oneshot_mods(); +#else + const uint8_t mods = get_mods(); +#endif // NO_ACTION_ONESHOT + + if (!caps_word_active) { + // Pressing both shift keys at the same time enables caps word. + if ((mods & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) { + caps_word_set(true); // Activate Caps Word. + return false; + } + return true; + } else { +#if CAPS_WORD_IDLE_TIMEOUT > 0 + idle_timer = record->event.time + CAPS_WORD_IDLE_TIMEOUT; +#endif // CAPS_WORD_IDLE_TIMEOUT > 0 + } + + if (!record->event.pressed) { return true; } + + if (!(mods & ~MOD_MASK_SHIFT)) { + switch (keycode) { + // Ignore MO, TO, TG, TT, and OSL layer switch keys. + case QK_MOMENTARY ... QK_MOMENTARY_MAX: + case QK_TO ... QK_TO_MAX: + case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: + case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: + case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: + return true; + +#ifndef NO_ACTION_TAPPING + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + if (record->tap.count == 0) { + // Deactivate if a mod becomes active through holding a mod-tap key. + caps_word_set(false); + return true; + } + keycode &= 0xff; + break; + +#ifndef NO_ACTION_LAYER + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: +#endif // NO_ACTION_LAYER + if (record->tap.count == 0) { return true; } + keycode &= 0xff; + break; +#endif // NO_ACTION_TAPPING + +#ifdef SWAP_HANDS_ENABLE + case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: + if (keycode > 0x56F0 || record->tap.count == 0) { return true; } + keycode &= 0xff; + break; +#endif // SWAP_HANDS_ENABLE + } + + if (caps_word_press_user(keycode)) { + return true; + } + } + + caps_word_set(false); // Deactivate Caps Word. + return true; +} + +void caps_word_set(bool active) { + if (active != caps_word_active) { + if (active) { + clear_mods(); +#ifndef NO_ACTION_ONESHOT + clear_oneshot_mods(); +#endif // NO_ACTION_ONESHOT +#if CAPS_WORD_IDLE_TIMEOUT > 0 + idle_timer = timer_read() + CAPS_WORD_IDLE_TIMEOUT; +#endif // CAPS_WORD_IDLE_TIMEOUT > 0 + } else if ((get_weak_mods() & MOD_BIT(KC_LSFT)) != 0) { + // If the weak shift mod is still on, turn it off and send an update to + // the host computer. + del_weak_mods(MOD_BIT(KC_LSFT)); + send_keyboard_report(); + } + + caps_word_active = active; + caps_word_set_user(active); + } +} + +bool caps_word_get(void) { return caps_word_active; } + +__attribute__((weak)) void caps_word_set_user(bool active) {} + +__attribute__((weak)) bool caps_word_press_user(uint16_t keycode) { + switch (keycode) { + // Keycodes that continue Caps Word, with shift applied. + case KC_A ... KC_Z: + add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key. + return true; + + // Keycodes that continue Caps Word, without shifting. + case KC_1 ... KC_0: + case KC_BSPC: + case KC_MINS: + case KC_UNDS: + return true; + + default: + return false; // Deactivate Caps Word. + } +} + diff --git a/keyboards/gmmk/pro/ansi/keymaps/gourdo1/caps_word.h b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/caps_word.h new file mode 100644 index 000000000000..7f58dd3f17e8 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/caps_word.h @@ -0,0 +1,127 @@ +// Copyright 2021-2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// Caps Word, activated by pressing both shift keys at the same time. +// +// This library implements "Caps Word", which is like conventional Caps Lock, +// but automatically disables itself at the end of the word. This is useful for +// typing all-caps identifiers like `MOD_MASK_ALT`. +// +// Caps Word is activated by pressing the left and right shift keys at the same +// time. This way you don't need a dedicated key for using Caps Word. I've +// tested that this works as expected with one-shot mods and Space Cadet Shift. +// If your shift keys are mod-taps, activate Caps Word by holding both shift +// mod-tap keys until the tapping term, release them, then begin typing. +// +// Optionally, Caps Word may be configured to deactivate if the keyboard is idle +// for some time. This is useful to mitigate unintended shifting when you get +// interrupted or switch to the mouse while Caps Word is active. In your +// config.h, define `CAPS_WORD_IDLE_TIMEOUT` with a time in milliseconds: +// +// #define CAPS_WORD_IDLE_TIMEOUT 5000 // Turn off Caps Word after 5 seconds. +// +// and in your keymap.c, define (or add to) `matrix_scan_user()` as +// +// void matrix_scan_user(void) { +// caps_word_task(); +// // Other tasks... +// } +// +// For full documentation, see +// https://getreuer.info/posts/keyboards/caps-word + +#pragma once + +#include QMK_KEYBOARD_H + +// Call this function from `process_record_user()` to implement Caps Word. +bool process_caps_word(uint16_t keycode, keyrecord_t* record); + +// If CAPS_WORD_IDLE_TIMEOUT is set, call `caps_word_task()` from +// `matrix_scan_user()` as described above. +// +// If CAPS_WORD_IDLE_TIMEOUT isn't set, calling this function has no effect (but +// will still compile). +#if CAPS_WORD_IDLE_TIMEOUT > 0 +void caps_word_task(void); +#else +static inline void caps_word_task(void) {} +#endif + +// Activates or deactivates Caps Word. For instance activate Caps Word with a +// combo by defining a `COMBO_ACTION` that calls `caps_word_set(true)`: +// +// void process_combo_event(uint16_t combo_index, bool pressed) { +// switch(combo_index) { +// case CAPS_COMBO: +// if (pressed) { +// caps_word_set(true); // Activate Caps Word. +// } +// break; +// +// // Other combos... +// } +// } +void caps_word_set(bool active); + +// Returns whether Caps Word is currently active. +bool caps_word_get(void); + +// An optional callback that gets called when Caps Word turns on or off. This is +// useful to represent the current Caps Word state, e.g. by setting an LED or +// playing a sound. In your keymap, define +// +// void caps_word_set_user(bool active) { +// if (active) { +// // Do something when Caps Word activates. +// } else { +// // Do something when Caps Word deactivates. +// } +// } +void caps_word_set_user(bool active); + +// An optional callback which is called on every key press while Caps Word is +// active. When the key should be shifted (that is, a letter key), the callback +// should call `add_weak_mods(MOD_BIT(KC_LSFT))` to shift the key. The callback +// also determines whether the key should continue Caps Word. Returning true +// continues the current "word", while returning false is "word breaking" and +// deactivates Caps Word. The default callback is +// +// bool caps_word_press_user(uint16_t keycode) { +// switch (keycode) { +// // Keycodes that continue Caps Word, with shift applied. +// case KC_A ... KC_Z: +// add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key. +// return true; +// +// // Keycodes that continue Caps Word, without shifting. +// case KC_1 ... KC_0: +// case KC_BSPC: +// case KC_MINS: +// case KC_UNDS: +// return true; +// +// default: +// return false; // Deactivate Caps Word. +// } +// } +// +// To customize, copy the above function into your keymap and add/remove +// keycodes to the above cases. +// +// NOTE: Outside of this callback, you can use `caps_word_set(false)` to +// deactivate Caps Word. +bool caps_word_press_user(uint16_t keycode); + diff --git a/keyboards/gmmk/pro/ansi/keymaps/gourdo1/config.h b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/config.h new file mode 100644 index 000000000000..582e473cb283 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/config.h @@ -0,0 +1,75 @@ +/* Copyright 2021 Jonavin Eng @Jonavin + Copyright 2022 gourdo1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define TAPPING_TOGGLE 2 +// TT set to two taps + +/* Handle GRAVESC combo keys */ +#define GRAVE_ESC_ALT_OVERRIDE +// Always send Escape if Alt is pressed +#define GRAVE_ESC_CTRL_OVERRIDE +// Always send Escape if Control is pressed + +// #define TAPPING_TERM 180 +#define TAPPING_TERM 300 +#define TAPPING_TERM_PER_KEY + +#ifdef RGB_MATRIX_ENABLE +#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#endif + +// RGB step values +#define RGBLIGHT_HUE_STEP 32 // The number of steps to cycle through the hue by (default 10) +#define RGBLIGHT_SAT_STEP 17 // The number of steps to increment the saturation by (default 17) +#define RGBLIGHT_VAL_STEP 17 // The number of steps to increment the brightness by (default 17) + +// add fifth layer for colemak -- set "COLEMAK_LAYER_ENABLE = yes" in rules.mk to enable +#if defined COLEMAK_LAYER_ENABLE +#define DYNAMIC_KEYMAP_LAYER_COUNT 5 +#define _COLEMAK 4 +#endif // COLEMAK_LAYER_ENABLE + +/* +// Mouse Keys Accelerated Mode Definitions +#define MOUSEKEY_DELAY 3 // Delay between pressing a movement key and cursor movement (default: 10) +#define MOUSEKEY_INTERVAL 13 // Time between cursor movements in milliseconds (default: 20); Try setting to 1000/monitor refresh for smooth movement. +#define MOUSEKEY_MOVE_DELTA 8 // Step size (default: 8) +#define MOUSEKEY_MAX_SPEED 9 // Maximum cursor speed at which acceleration stops (default: 10) +#define MOUSEKEY_TIME_TO_MAX 150 // Time until maximum cursor speed is reached (default: 30) +#define MOUSEKEY_WHEEL_DELAY 0 // Delay between pressing a wheel key and wheel movement (default: 10) +#define MOUSEKEY_WHEEL_INTERVAL 80 // Time between wheel movements (default: 80) +#define MOUSEKEY_WHEEL_MAX_SPEED 8 // Maximum number of scroll steps per scroll action (default: 8) +#define MOUSEKEY_WHEEL_TIME_TO_MAX 40 // Time until maximum scroll speed is reached (default: 40) +*/ + +// Mouse Keys Kinetic Mode Definitions +#define MK_KINETIC_SPEED // Enable Kinetic mode: Uses a quadratic curve on cursor speed to allow precise movements at the beginning and increases speed thereafter. +#define MOUSEKEY_DELAY 3 // Delay between pressing a movement key and cursor movement (default: 10) +#define MOUSEKEY_INTERVAL 13 // Time between cursor movements in milliseconds (default: 20); Try setting to 1000/monitor refresh for smooth movement. +#define MOUSEKEY_MOVE_DELTA 5 // Step size for accelerating from initial to base speed (default: 8) +#define MOUSEKEY_MOVE_MAX 50 // use instead of BASE SPEED to limit speed in Kinetic mode +#define MOUSEKEY_INITIAL_SPEED 100 // Initial speed of the cursor in pixels per second (default: 100) +//#define MOUSEKEY_BASE_SPEED 800 // (broken in QMK 0.16.0) Maximum cursor speed at which acceleration stops (default: 1000) +#define MOUSEKEY_DECELERATED_SPEED 400 // Decelerated cursor speed (default: 400) +#define MOUSEKEY_ACCELERATED_SPEED 2000 // Accelerated cursor speed (default: 3000) +#define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 16 // Initial number of movements of the mouse wheel (default: 16) +#define MOUSEKEY_WHEEL_BASE_MOVEMENTS 32 // Maximum number of movements at which acceleration stops (default: 32) +#define MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48 // Accelerated wheel movements (default: 48) +#define MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8 // Decelerated wheel movements (default: 8) diff --git a/keyboards/gmmk/pro/ansi/keymaps/gourdo1/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/keymap.c new file mode 100644 index 000000000000..97db98dd12bf --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/keymap.c @@ -0,0 +1,336 @@ +/* Copyright 2021 Glorious, LLC + Copyright 2021 Jonavin Eng @Jonavin + Copyright 2022 gourdo1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +// Note: Several advanced functions referenced in this file (like Tap Dance functions) are defined in users/gourdo1/gourdo1.c + +#include QMK_KEYBOARD_H + +#include "rgb_matrix_map.h" + +#include "gourdo1.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Base Layout + * + * ,-------------------------------------------------------------------------------------------------------------. + * | Esc || F1 | F2 | F3 | F4 || F5 | F6 | F7 | F8 || F9 | F10 | F11 | F12 || Home || Mute | + * |=============================================================================================================| + * | ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | Backspc || Del | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ } | ] } | \ | || PgUp | + * |---------+------+------+------+------+------+------+------+------+------+------+------+------+-------++------| + * | Capslock | A | S | D | F | G | H | J | K | L | ; : | ' " | Enter || PgDn | + * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------| + * | LShift | Z | X | C | V | B | N | M | , < | . > | / ? | RShift || Up || End | + * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======| + * | Ctrl | Win | LAlt | Space | RAlt | Fn | Ctrl || Left | Down | Rght | + * `------------------------------------------------------------------------------------------------------------' + */ + + [_BASE] = LAYOUT( + KC_ESCLYR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_MUTE, + KC_GRV, 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_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_PGUP, + TT(_NUMPADMOUSE), 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, + KC_LSFTCAPSWIN, 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* FN1 Layout + * + * ,-------------------------------------------------------------------------------------------------------------. + * | Esc ||MyCmp |WbHom | Calc |MdSel ||MdPrv |MdNxt |MdPly |MdStp ||VolDn |VolUp |PrScr |ScrLk ||Pause || ____ | + * |=============================================================================================================| + * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |RGBTOD|RGBTOI| ________ ||RGBTOG| + * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------| + * | ______ |RGBSAD|RGBVAI|RGBSAI| NKRO | ____ |YAHOO | ____ | ____ |OUTLK |Pause | ____ | ____ | Reset || Home | + * |---------+------+------+------+------+------+------+------+------+------+------+------+------+-------++------| + * | Capslock |RGBHUD|RGBVAD|RGBHUI| ____|GMAIL |HTMAIL| ____ | ____ | ____ | ____ | ____ | __________ || End | + * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------| + * | __________ |RGBNIT| ____ | ____ | ____ | ____ |NumLk | ____ | ____ |DOTCOM| ____ | ______ ||RGBMOD|| ____ | + * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======| + * | ____ | WinKyLk | ____ | _____ | ____ | ____ | ____ ||RGBSPD|RGBRMD|RGBSPI| + * `------------------------------------------------------------------------------------------------------------' + */ + + [_FN1] = LAYOUT( + EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG, + _______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, KC_PAUS, SWAP_L, SWAP_R, RESET, KC_HOME, + KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, _______, _______, _______, _______, KC_END, + _______, RGB_NITE,_______, _______, _______, _______, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______, + _______, KC_WINLCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI + ), + + /* _NUMPADMOUSE Layout + * Note: A symbol preceded by "P" is a Numpad-encoded version of the key -- any app that differentiates will recognize the char as coming from a physical numpad. + * ,-------------------------------------------------------------------------------------------------------------. + * | ____ || ____ | ____ | ____ | ____ || ____ | ____ | ____ | ____ || ____ | ____ | ____ | ____ || ____ || ____ | + * |=============================================================================================================| + * | ____ | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P0 | P- | P+ | ________ || ____ | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------| + * | ______ | PGUP | Up | PGDN | None | None | None | P4 | P5 | P6 | P+ | ____ | ____ | _____ || WhUp | + * |---------+------+------+------+------+------+------+------+------+------+------+------+------+-------++------| + * | ________ | Left | Down | Rght | None| None | None | P1 | P2 | P3 | P* | ____ | P-Enter || WhDn | + * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------| + * | __________ | None | ____ | ____ | ____ | None | None | 0 | 00 | P. | P/ | MBt1 ||MS_UP || MBt2 | + * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======| + * | ____ | ____ | ____ | _____ | ____ | ____ | MBt3 ||MS_LT |MS_DN |MS_RT | + * `------------------------------------------------------------------------------------------------------------' + */ + + [_NUMPADMOUSE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, _______, _______, + _______, KC_PGUP, KC_UP, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, KC_WH_U, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, _______, KC_PENT, KC_WH_D, + _______, KC_NO, _______, _______, _______, KC_NO, KC_NO, KC_P0, KC_00, KC_PDOT, KC_PSLS, KC_BTN1, KC_MS_U, KC_BTN2, + _______, _______, _______, _______, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R + ), + + [_MOUSEKEY] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_D, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, + _______, _______, _______, _______, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R + ), + + #ifdef COLEMAK_LAYER_ENABLE + [_COLEMAK] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE, + KC_GRV, 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_HOME, + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGDN, + _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + _______, _______, _______, KC_SPC, KC_RALT, _______,KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + #endif // COLEMAK_LAYER_ENABLE +}; + +#if defined(ENCODER_ENABLE) && !defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality when not using userspace defaults +void encoder_action_rgbhue(bool clockwise) { + if (clockwise) + rgblight_increase_hue_noeeprom(); + else + rgblight_decrease_hue_noeeprom(); +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + uint8_t mods_state = get_mods(); + if (mods_state & MOD_BIT(KC_LSFT)) { // If you are holding L shift, encoder changes layers + encoder_action_layerchange(clockwise); + } else if (mods_state & MOD_BIT(KC_RSFT)) { // If you are holding R shift, Page up/dn + unregister_mods(MOD_BIT(KC_RSFT)); + encoder_action_navpage(clockwise); + register_mods(MOD_BIT(KC_RSFT)); + } else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word + encoder_action_navword(clockwise); + } else if (mods_state & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, change rgb hue/colour + encoder_action_rgbhue(clockwise); + } else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track + encoder_action_mediatrack(clockwise); + } else { + switch (get_highest_layer(layer_state)) { + case _FN1: + #ifdef IDLE_TIMEOUT_ENABLE + timeout_update_threshold(clockwise); + #endif + break; + default: + encoder_action_volume(clockwise); // Otherwise it just changes volume + break; + } + } + //return true; //set to return false to counteract enabled encoder in pro.c + return false; +} +#endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE + +#ifdef RGB_MATRIX_ENABLE +// Capslock, Scroll lock and Numlock indicator on Left side lights. +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); + + // Scroll Lock RGB setup + if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) { + rgb_matrix_set_color(LED_L3, RGB_RED); + rgb_matrix_set_color(LED_L4, RGB_RED); + rgb_matrix_set_color(LED_TAB, RGB_RED); + } + + // System NumLock warning indicator RGB setup + #ifdef INVERT_NUMLOCK_INDICATOR + if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled + rgb_matrix_set_color(LED_GRV, RGB_ORANGE2); + rgb_matrix_set_color(LED_L1, RGB_ORANGE2); + rgb_matrix_set_color(LED_L2, RGB_ORANGE2); + rgb_matrix_set_color(LED_N, RGB_ORANGE2); + rgb_matrix_set_color(LED_FN, RGB_ORANGE2); + } + #else + if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // Normal, on if NUM lock is ON + rgb_matrix_set_color(LED_GRV, RGB_ORANGE2); + rgb_matrix_set_color(LED_L1, RGB_ORANGE2); + rgb_matrix_set_color(LED_L2, RGB_ORANGE2); + rgb_matrix_set_color(LED_N, RGB_ORANGE2); + rgb_matrix_set_color(LED_FN, RGB_ORANGE2); + } + #endif // INVERT_NUMLOCK_INDICATOR + + // CapsLock RGB setup + if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { + for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS); i++) { + rgb_matrix_set_color(LED_LIST_LETTERS[i], RGB_CHARTREUSE); + } + rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_LSFT, RGB_CHARTREUSE); + } + + // Winkey disabled (gaming) mode RGB setup + if (keymap_config.no_gui) { + rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Winkey red when disabled + rgb_matrix_set_color(LED_W, RGB_CHARTREUSE); //light up gaming keys with WSAD higlighted + rgb_matrix_set_color(LED_S, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_A, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_D, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_Q, RGB_ORANGE2); + rgb_matrix_set_color(LED_E, RGB_ORANGE2); + rgb_matrix_set_color(LED_R, RGB_ORANGE2); + rgb_matrix_set_color(LED_TAB, RGB_ORANGE2); + rgb_matrix_set_color(LED_F, RGB_ORANGE2); + rgb_matrix_set_color(LED_Z, RGB_ORANGE2); + rgb_matrix_set_color(LED_X, RGB_ORANGE2); + rgb_matrix_set_color(LED_C, RGB_ORANGE2); + rgb_matrix_set_color(LED_V, RGB_ORANGE2); + rgb_matrix_set_color(LED_SPC, RGB_ORANGE2); + rgb_matrix_set_color(LED_LCTL, RGB_ORANGE2); + rgb_matrix_set_color(LED_LSFT, RGB_ORANGE2); + } + + // Fn selector mode RGB setup + switch (get_highest_layer(layer_state)) { // special handling per layer + case _FN1: // on Fn layer select what the encoder does when pressed + rgb_matrix_set_color(LED_FN, RGB_RED); //FN key + + //NEW RGB LIGHTING TO RING KEYBOARD ON FN LAYER ACTIVATION: + for (uint8_t j = 0; j < ARRAYSIZE(LED_LIST_FUNCROW); j++) { + rgb_matrix_set_color(LED_LIST_FUNCROW[j], RGB_RED); + } + rgb_matrix_set_color(LED_LCTL, RGB_RED); + rgb_matrix_set_color(LED_LALT, RGB_RED); + rgb_matrix_set_color(LED_SPC, RGB_RED); + rgb_matrix_set_color(LED_LWIN, RGB_RED); + rgb_matrix_set_color(LED_RALT, RGB_RED); + rgb_matrix_set_color(LED_FN, RGB_OFFBLUE); + rgb_matrix_set_color(LED_RCTL, RGB_RED); + rgb_matrix_set_color(LED_BSLS, RGB_RED); + rgb_matrix_set_color(LED_L1, RGB_RED); + rgb_matrix_set_color(LED_L2, RGB_RED); + rgb_matrix_set_color(LED_L3, RGB_RED); + rgb_matrix_set_color(LED_L4, RGB_RED); + rgb_matrix_set_color(LED_L5, RGB_RED); + rgb_matrix_set_color(LED_L6, RGB_RED); + rgb_matrix_set_color(LED_L7, RGB_RED); + rgb_matrix_set_color(LED_L8, RGB_RED); + rgb_matrix_set_color(LED_DOWN, RGB_RED); + rgb_matrix_set_color(LED_LEFT, RGB_RED); + rgb_matrix_set_color(LED_RIGHT, RGB_RED); + rgb_matrix_set_color(LED_R1, RGB_RED); + rgb_matrix_set_color(LED_R2, RGB_RED); + rgb_matrix_set_color(LED_R3, RGB_RED); + rgb_matrix_set_color(LED_R4, RGB_RED); + rgb_matrix_set_color(LED_R5, RGB_RED); + rgb_matrix_set_color(LED_R6, RGB_RED); + rgb_matrix_set_color(LED_R7, RGB_RED); + rgb_matrix_set_color(LED_R8, RGB_RED); + rgb_matrix_set_color(LED_MINS, RGB_OFFBLUE); + rgb_matrix_set_color(LED_EQL, RGB_OFFBLUE); + + // Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row; larger numbers using 16bit code + uint16_t timeout_threshold = get_timeout_threshold(); + if (timeout_threshold <= 10) rgb_matrix_set_color(LED_LIST_FUNCROW[timeout_threshold], RGB_CYAN); + else if (timeout_threshold < 140) { + rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold / 10)], RGB_CYAN); + rgb_matrix_set_color(LED_LIST_NUMROW[(timeout_threshold % 10)], RGB_CYAN); + } else { // >= 140 minutes, just show these 3 lights + rgb_matrix_set_color(LED_LIST_NUMROW[10], RGB_CYAN); + rgb_matrix_set_color(LED_LIST_NUMROW[11], RGB_CYAN); + rgb_matrix_set_color(LED_LIST_NUMROW[12], RGB_CYAN); + } + break; + + // Numpad & Mouse Keys overlay RGB + case _NUMPADMOUSE: + for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_NUMPAD); i++) { + rgb_matrix_set_color(LED_LIST_NUMPAD[i], RGB_OFFBLUE); + } + rgb_matrix_set_color(LED_L5, RGB_OFFBLUE); + rgb_matrix_set_color(LED_L6, RGB_OFFBLUE); + rgb_matrix_set_color(LED_CAPS, RGB_OFFBLUE); + rgb_matrix_set_color(LED_UP, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_DOWN, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_LEFT, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_RIGHT, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_RCTL, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_RSFT, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_END, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_PGUP, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_PGDN, RGB_CHARTREUSE); + break; + + // MOUSEKEYS mode RGB + case _MOUSEKEY: + rgb_matrix_set_color(LED_UP, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_DOWN, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_LEFT, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_RIGHT, RGB_CHARTREUSE); + rgb_matrix_set_color(LED_RCTL, RGB_CYAN); + rgb_matrix_set_color(LED_RSFT, RGB_CYAN); + rgb_matrix_set_color(LED_END, RGB_CYAN); + rgb_matrix_set_color(LED_PGUP, RGB_OFFBLUE); + rgb_matrix_set_color(LED_PGDN, RGB_OFFBLUE); + + break; + + // Colemak layer RGB + #ifdef COLEMAK_LAYER_ENABLE + case _COLEMAK: + for (uint8_t i = 0; i < ARRAYSIZE(LED_SIDE_RIGHT); i++) { + rgb_matrix_set_color(LED_SIDE_RIGHT[i], RGB_MAGENTA); + rgb_matrix_set_color(LED_SIDE_LEFT[i], RGB_MAGENTA); + } + break; + #endif + default: + break; + } +} +#endif + +void keyboard_post_init_keymap(void) { + // keyboard_post_init_user() moved to userspace + #ifdef RGB_MATRIX_ENABLE + rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); + rgb_matrix_sethsv_noeeprom(20, 255, 127); // Default startup color (Hue:amber Saturation:full Value(brightness):mid) + activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle + #endif +} \ No newline at end of file diff --git a/keyboards/gmmk/pro/ansi/keymaps/gourdo1/readme.md b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/readme.md new file mode 100644 index 000000000000..3db6923d76c0 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/readme.md @@ -0,0 +1,97 @@ +# gourdo1's GMMK Pro ANSI layout + +This Windows-centric layout is based on [Jonavin's](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/ansi/keymaps/jonavin) GMMK Pro layout with several additions, modifications, a tweaked keymap, updated layers and expanded RGB controls. + +![image](https://raw.githubusercontent.com/gourdo1/media/main/susuwatari.jpg) + +## Features: + +### Core Functionality + +* [VIA](https://www.caniusevia.com/) support enabled (added Mar 16, 2022) +* Most [default Glorious shortcuts](https://cdn.shopify.com/s/files/1/0549/2681/files/GMMK_Pro_User_Guide.pdf) enabled +* [N-key Rollover](https://en.wikipedia.org/wiki/Rollover_\(keyboard\)#n-key_rollover) (NKRO) -- toggled with FN+R +* Gaming mode (FN + Win-key) locks out Win-key as well as double-tap Shift Capslock; Also RGB highlights WSAD and nearby gaming related keys +* [Caps Word](https://getreuer.info/posts/keyboards/caps-word/index.html) enabled: To capitalize the next word only, press and release both left and right shift keys at the same time. (added Feb 25, 2022) +* Multi-monitor app moving shortcuts: FN + [,] (square brackets) to move current app window to next monitor (added Apr 11, 2022) +* Domain shortcuts: FN+.=".com", FN+O="outlook.com", FN+Y="yahoo.com", FN+H="hotmail.com", FN+G="gmail.com". (added Apr 7, 2022) +* Capslock toggled by double tap of Left Shift key or FN + Capslock (RGB green highlighted) +* Fn-Backslash for [Bootloader mode](https://github.com/qmk/qmk_firmware/blob/master/docs/newbs_flashing.md) +* Home key on F13, Del key right of Backspace +* Insert accessible via Shift-Backspace (so shift delete still works in Windows Explorer) +* PrtScrn, Scroll Lock, Pause/Break are top right on the keyboard: Fn+F11, Fn+F12, Fn+F13 +* [Colemak](https://colemak.com/) key layout support (Layer accessible via Left Shift + turn Encoder clockwise until side LEDs light up purple) +* Double tap ESC any time to revert to base layer (added Feb 26, 2022) + +### Numpad + Mouse Keys (Capslock key) + +* Overlay numpad + [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) are accessed through Capslock key hold (temp) or double press (locked) with RGB highlighting +* This layer disables much of the keyboard, except X/C/V for cut/copy/paste, WASD for cursor, Q/E for PgUp/PgDn, cursor keys become mouse keys, surrounding keys become mouse buttons and all number keys become numpad versions (so Alt char codes work regardless of which set you use) +* Fn & N keys light up orange if system numlock is off (inverted status), indicating numpad keys will not deliver expected output (FN + N to toggle) +* Double zero on comma key. +* [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) allow you to use the mouse without taking your hand off the keyboard. (added Mar 15, 2022) +* Mouse controls are: Cursor keys = move mouse; RShift = button1, End = button2, RCtrl = button3, PgUp/PgDn = Scroll wheel +* Mouse Keys can also be accessed as a standalone layer by Left Shift-turning the Encoder until the cursor keys light up green + +### Encoder Functionality + +* Default knob turn changes volume; button press toggles mute +* Exponential encoder - quick repeated volume up doubles increase; quick repeated volume down triples decrease (added Feb 17, 2022) +* FN knob turn changes RGB idle timeout +* holding Left Shift changes layers +* holding Right Shift navigates page up/down +* holding Left Ctrl navigates prev/next word +* holding Right Ctrl changes RGB hue/color +* holding Left Alt changes media prev/next track + +### Global RGB Controls + +* RGB backlight lighting effect: FN + up/down +* RGB backlight effect speed: FN + left/right +* RGB backlight hue cycle: FN + A/D +* RGB backlight brightness: FN + W/S +* RGB backlight saturation: FN + Q/E (added Feb 4, 2022) +* RGB backlight night mode toggle: FN + Z (indicators still work) +* RGB backlight timeout: FN + Encoder or "-" and "=" (default 15 minutes) (updated Apr 7, 2022) + * indicators in FN layer using RGB in F-key and number rows to show the current timeout in minutes +* RGB indicators on left side LEDs: Capslock (green), Scroll Lock (red), and Num Lock not set (orange) +* FN + Z to turn off RGB backlighting; press again to toggle + +### Advanced Controls + +* FN + \ to get to bootloader mode +* FN + [ESC] to clear EEPROM (then unplug and re-plug) (added Apr 11, 2022) +* FN + R to toggle N-key Rollover (added Apr 11, 2022) + +Link to latest firmware binary: https://github.com/gourdo1/media/raw/main/gmmk_pro_ansi_gourdo1.bin + +Link to cheatsheet: https://github.com/gourdo1/media/raw/main/GMMK_Pro_Cheatsheet.pdf + + +## rules.mk Options + +STARTUP_NUMLOCK_ON = yes - turns on NUMLOCK by default + +ENCODER_DEFAULTACTIONS_ENABLE = yes - Enabled default encoder functions + +TD_LSFT_CAPSLOCK_ENABLE = yes - This will enable double tap on Left Shift to toggle CAPSLOCK when using KC_LSFTCAPS + +IDLE_TIMEOUT_ENABLE = yes - Enables Timer functionality; for RGB idle timeouts that can be changed dynamically + +INVERT_NUMLOCK_INDICATOR - inverts the Numlock indicator, LED is on when numlock is off -- numlock interferes with numpad keys, so should generally be off when numpad layer is active. + +COLEMAK_LAYER_ENABLE = yes - Enable optional 5th layer for COLEMAK layout. Use Shift + encoder to enter 5th layer. + + +## Layer Diagrams +### Base layer +![image](https://raw.githubusercontent.com/gourdo1/media/main/base.png) + +### Fn Layer +![image](https://raw.githubusercontent.com/gourdo1/media/main/fn1.png) + +### Layer 2 (Numpad) +![image](https://raw.githubusercontent.com/gourdo1/media/main/numpad.png) + +### COLEMAK layer +![image](https://user-images.githubusercontent.com/71780717/131235050-980d2f54-2d23-4ae8-a83f-9fcdbe60d6cb.png) diff --git a/keyboards/gmmk/pro/ansi/keymaps/gourdo1/rgb_matrix_map.h b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/rgb_matrix_map.h new file mode 100644 index 000000000000..38da50754b4c --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/rgb_matrix_map.h @@ -0,0 +1,287 @@ +/* Copyright 2021 Jonavin Eng @Jonavin + Copyright 2022 gourdo1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifdef RGB_MATRIX_ENABLE +// Custom GMMK Pro-specific RGB color customizations (defaults found in quantum/color.h) +#define RGB_GODSPEED 0x00, 0xE4, 0xFF // color for matching keycaps +#define RGB_NAUTILUS 0x00, 0xA4, 0xA9 // Nautilus Font colors +#define RGB_OFFBLUE 0x00, 0x80, 0xFF // new color: blue with a hint of green +#define RGB_DKRED 0x28, 0x00, 0x00 // new color: dark red +#define RGB_ORANGE2 0xFF, 0x28, 0x00 // fix: reduced green from 80 to 28 +#define RGB_PURPLE2 0x80, 0x00, 0xFF // fix: increased red from 7A to 80 +#define RGB_SPRINGGREEN2 0x00, 0xFF, 0x10 // fix: blue was 80, now 10 +#define RGB_YELLOW2 0xFF, 0xB0, 0x00 // fix: green was FF, now B0 +#define RGB_OFF RGB_BLACK + +// Added by gourdo1 for RGB testing +// Red Green Blue Expected GMMK Pro result +#define RGB_TEST1 0xFF, 0x00, 0x00 // Q - red good! +#define RGB_TEST2 0x0F, 0xFF, 0x00 // W - green good! +#define RGB_TEST3 0x00, 0x00, 0xFF // E - blue good! +#define RGB_TEST4 0xFF, 0xB0, 0x00 // R - yellow slightly green heavy - reduced green LED by quite a bit +#define RGB_TEST5 0x00, 0xFF, 0xFF // T - cyan good! +#define RGB_TEST6 0xFF, 0x00, 0xFF // Y - magenta very slightly blue heavy? +#define RGB_TEST7 0xFF, 0x28, 0x00 // U - orange very green heavy at default +#define RGB_TEST8 0xFF, 0x00, 0x80 // I - pink good! +#define RGB_TEST9 0x80, 0xFF, 0x00 // O - chartreus good! +#define RGB_TEST10 0x00, 0xFF, 0x10 // P - springgrn fixed: was too blue because green LED has blue in it already +#define RGB_TEST11 0x00, 0x80, 0xFF // A - grn blue good! +#define RGB_TEST12 0x80, 0x00, 0xFF // S - purple good! + +// RGB LED locations +enum led_location_map { + LED_ESC, // 0, ESC, k13 + LED_GRV, // 1, ~, k16 + LED_TAB, // 2, Tab, k11 + LED_CAPS, // 3, Caps, k21 + LED_LSFT, // 4, Sh_L, k00 + LED_LCTL, // 5, Ct_L, k06 + LED_F1, // 6, F1, k26 + LED_1, // 7, 1, k17 + LED_Q, // 8, Q, k10 + LED_A, // 9, A, k12 + LED_Z, // 10, Z, k14 + LED_LWIN, // 11, Win_L, k90 + LED_F2, // 12, F2, k36 + LED_2, // 13, 2, k27 + LED_W, // 14, W, k20 + LED_S, // 15, S, k22 + LED_X, // 16, X, k24 + LED_LALT, // 17, Alt_L, k93 + LED_F3, // 18, F3, k31 + LED_3, // 19, 3, k37 + LED_E, // 20, E, k30 + LED_D, // 21, D, k32 + LED_C, // 22, C, k34 + LED_F4, // 23, F4, k33 + LED_4, // 24, 4, k47 + LED_R, // 25, R, k40 + LED_F, // 26, F, k42 + LED_V, // 27, V, k44 + LED_F5, // 28, F5, k07 + LED_5, // 29, 5, k46 + LED_T, // 30, T, k41 + LED_G, // 31, G, k43 + LED_B, // 32, B, k45 + LED_SPC, // 33, SPACE, k94 + LED_F6, // 34, F6, k63 + LED_6, // 35, 6, k56 + LED_Y, // 36, Y, k51 + LED_H, // 37, H, k53 + LED_N, // 38, N, k55 + LED_F7, // 39, F7, k71 + LED_7, // 40, 7, k57 + LED_U, // 41, U, k50 + LED_J, // 42, J, k52 + LED_M, // 43, M, k54 + LED_F8, // 44, F8, k76 + LED_8, // 45, 8, k67 + LED_I, // 46, I, k60 + LED_K, // 47, K, k62 + LED_COMM, // 48, ,, k64 + LED_RALT, // 49, Alt_R, k95 + LED_F9, // 50, F9, ka6 + LED_9, // 51, 9, k77 + LED_O, // 52, O, k70 + LED_L, // 53, L, k72 + LED_DOT, // 54, ., k74 + LED_FN, // 55, FN, k92 + LED_F10, // 56, F10, ka7 + LED_0, // 57, 0, k87 + LED_P, // 58, P, k80 + LED_SCLN, // 59, ;, k82 + LED_SLSH, // 60, ?, k85 + LED_F11, // 61, F11, ka3 + LED_MINS, // 62, -, k86 + LED_LBRC, // 63, [, k81 + LED_QUOT, // 64, ", k83 + LED_RCTL, // 65, Ct_R, k04 + LED_F12, // 66, F12, ka5 + LED_L1, // 67, LED, l01 + LED_R1, // 68, LED, l11 + LED_INS, // 69, Prt, k97 -- remapped to INS + LED_L2, // 70, LED, l02 + LED_R2, // 71, LED, l12 + LED_DEL, // 72, Del, k65 + LED_L3, // 73, LED, l03 + LED_R3, // 74, LED, l13 + LED_PGUP, // 75, PgUp, k15 + LED_L4, // 76, LED, l04 + LED_R4, // 77, LED, l14 + LED_EQL, // 78, =, k66 + LED_RIGHT, // 79, Right, k05 + LED_L5, // 80, LED, l05 + LED_R5, // 81, LED, l15 + LED_END, // 82, End, k75 + LED_L6, // 83, LED, l06 + LED_R6, // 84, LED, l16 + LED_BSPC, // 85, BSpc, ka1 + LED_PGDN, // 86, PgDn, k25 + LED_L7, // 87, LED, l07 + LED_R7, // 88, LED, l17 + LED_RBRC, // 89, ], k61 + LED_RSFT, // 90, Sh_R, k91 + LED_L8, // 91, LED, l08 + LED_R8, // 92, LED, l18 + LED_BSLS, // 93, \, ka2 + LED_UP, // 94, Up, k35 + LED_LEFT, // 95, Left, k03 + LED_ENT, // 96, Enter, ka4 + LED_DOWN // 97, Down, k73 +}; + +const uint8_t LED_LIST_WASD[] = { + LED_W, + LED_A, + LED_S, + LED_D +}; + +const uint8_t LED_LIST_ARROWS[] = { + LED_LEFT, + LED_RIGHT, + LED_UP, + LED_DOWN +}; + +const uint8_t LED_LIST_FUNCROW[] = { + LED_ESC, + LED_F1, + LED_F2, + LED_F3, + LED_F4, + LED_F5, + LED_F6, + LED_F7, + LED_F8, + LED_F9, + LED_F10, + LED_F11, + LED_F12, + LED_INS +}; + +const uint8_t LED_LIST_NUMROW[] = { + LED_GRV, + LED_1, + LED_2, + LED_3, + LED_4, + LED_5, + LED_6, + LED_7, + LED_8, + LED_9, + LED_0, + LED_MINS, + LED_EQL, + LED_BSPC, + LED_DEL +}; + +const uint8_t LED_LIST_LETTERS[] = { + LED_1, + LED_2, + LED_3, + LED_4, + LED_5, + LED_6, + LED_7, + LED_8, + LED_9, + LED_0, + LED_Q, + LED_W, + LED_E, + LED_R, + LED_T, + LED_Y, + LED_U, + LED_I, + LED_O, + LED_P, + LED_A, + LED_S, + LED_D, + LED_F, + LED_G, + LED_H, + LED_J, + LED_K, + LED_L, + LED_Z, + LED_X, + LED_C, + LED_V, + LED_B, + LED_N, + LED_M +}; + +const uint8_t LED_LIST_NUMPAD[] = { + LED_1, + LED_2, + LED_3, + LED_4, + LED_5, + LED_6, + LED_7, + LED_8, + LED_9, + LED_0, + LED_MINS, + LED_EQL, + LED_U, + LED_I, + LED_O, + LED_P, + LED_J, + LED_K, + LED_L, + LED_SCLN, + LED_ENT, + LED_M, + LED_COMM, + LED_DOT, + LED_SLSH, + LED_END, + LED_RIGHT +}; + +const uint8_t LED_SIDE_LEFT[] = { + LED_L1, + LED_L2, + LED_L3, + LED_L4, + LED_L5, + LED_L6, + LED_L7, + LED_L8 +}; + +const uint8_t LED_SIDE_RIGHT[] = { + LED_R1, + LED_R2, + LED_R3, + LED_R4, + LED_R5, + LED_R6, + LED_R7, + LED_R8 +}; + +#endif \ No newline at end of file diff --git a/keyboards/gmmk/pro/ansi/keymaps/gourdo1/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/rules.mk new file mode 100644 index 000000000000..b236d9132c63 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/gourdo1/rules.mk @@ -0,0 +1,18 @@ +SRC += caps_word.c + +LTO_ENABLE = yes # link time optimization -- achieves a smaller compiled size +CONSOLE_ENABLE = no +COMMAND_ENABLE = no +MOUSEKEY_ENABLE = yes + +VIA_ENABLE = yes +TAP_DANCE_ENABLE = yes +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite + +TD_LSFT_CAPSLOCK_ENABLE = yes +IDLE_TIMEOUT_ENABLE = yes +STARTUP_NUMLOCK_ON = yes +ENCODER_DEFAULTACTIONS_ENABLE = no + +COLEMAK_LAYER_ENABLE = yes # Enable Colemak layer / set to no to disable +INVERT_NUMLOCK_INDICATOR = yes diff --git a/users/gourdo1/gourdo1.c b/users/gourdo1/gourdo1.c new file mode 100644 index 000000000000..b964729be953 --- /dev/null +++ b/users/gourdo1/gourdo1.c @@ -0,0 +1,432 @@ +/* Copyright 2021 Jonavin Eng @Jonavin + Copyright 2022 gourdo1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +#include "gourdo1.h" + +#include "caps_word.h" + +#ifdef TD_LSFT_CAPSLOCK_ENABLE +// Tap once for shift, twice for Caps Lock but only if Win Key in not disabled +void dance_LSFT_each_tap(qk_tap_dance_state_t * state, void * user_data) { + if (state -> count == 1 || keymap_config.no_gui) { + register_code16(KC_LSFT); + } else { + register_code(KC_CAPS); + } +} + +void dance_LSFT_reset(qk_tap_dance_state_t * state, void * user_data) { + if (state -> count == 1 || keymap_config.no_gui) { + unregister_code16(KC_LSFT); + } else { + unregister_code(KC_CAPS); + unregister_code16(KC_LSFT); + } +} +// Tap Dance definitions +qk_tap_dance_action_t tap_dance_actions[] = { + // Tap once for shift, twice for Caps Lock + [TD_LSFT_CAPSLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), + [TD_LSFT_CAPS_WIN] = ACTION_TAP_DANCE_FN_ADVANCED(dance_LSFT_each_tap, NULL, dance_LSFT_reset), + // Tap once for Escape, twice to reset to base layer + [TD_ESC_BASELYR] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _BASE), +}; +#endif // TD_LSFT_CAPSLOCK_ENABLE + +// RGB NIGHT MODE +#ifdef RGB_MATRIX_ENABLE +static bool rgb_nightmode = false; + +// Turn on/off NUM LOCK if current state is different +void activate_rgb_nightmode(bool turn_on) { + if (rgb_nightmode != turn_on) { + rgb_nightmode = !rgb_nightmode; + } +} + +bool get_rgb_nightmode(void) { + return rgb_nightmode; +} +#endif // RGB_MATRIX_ENABLE + +// TIMEOUTS +#ifdef IDLE_TIMEOUT_ENABLE +static uint16_t timeout_timer = 0; +static uint16_t timeout_counter = 0; //in minute intervals +static uint16_t timeout_threshold = TIMEOUT_THRESHOLD_DEFAULT; + +uint16_t get_timeout_threshold(void) { + return timeout_threshold; +} + +void timeout_reset_timer(void) { + timeout_timer = timer_read(); + timeout_counter = 0; +}; + +void timeout_update_threshold(bool increase) { + if (increase && timeout_threshold < TIMEOUT_THRESHOLD_MAX) timeout_threshold++; + if (!increase && timeout_threshold > 0) timeout_threshold--; +}; + +void timeout_tick_timer(void) { + if (timeout_threshold > 0) { + if (timer_elapsed(timeout_timer) >= 60000) { // 1 minute tick + timeout_counter++; + timeout_timer = timer_read(); + } + #ifdef RGB_MATRIX_ENABLE + if (timeout_threshold > 0 && timeout_counter >= timeout_threshold) { + rgb_matrix_disable_noeeprom(); + } + #endif + } // timeout_threshold = 0 will disable timeout +} + +#endif // IDLE_TIMEOUT_ENABLE + +#if defined(ALTTAB_SCROLL_ENABLE) || defined(IDLE_TIMEOUT_ENABLE) // timer features +__attribute__((weak)) void matrix_scan_keymap(void) {} + +void matrix_scan_user(void) { + #ifdef ALTTAB_SCROLL_ENABLE + encoder_tick_alttabscroll(); + #endif + #ifdef IDLE_TIMEOUT_ENABLE + timeout_tick_timer(); + #endif + matrix_scan_keymap(); +} +#endif // ALTTAB_SCROLL_ENABLE or IDLE_TIMEOUT_ENABLE + +// Initialize variable holding the binary representation of active modifiers. +uint8_t mod_state; + +// ============================================= PROCESS KEY CODES ============================================= + +__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t * record) { + return true; +} + +bool process_record_user(uint16_t keycode, keyrecord_t * record) { + mod_state = get_mods(); + if (!process_record_keymap(keycode, record)) { + return false; + } + + if (!process_caps_word(keycode, record)) { + return false; + } + + // Your macros ... + switch (keycode) { + + // DotCom domain macros + case DOTCOM: + if (record -> event.pressed) { + SEND_STRING(".com"); + } else { + // when keycode is released + } + break; + case YAHOO: + if (record -> event.pressed) { + SEND_STRING("yahoo.com"); + } else { + // when keycode is released + } + break; + case OUTLOOK: + if (record -> event.pressed) { + SEND_STRING("outlook.com"); + } else { + // when keycode is released + } + break; + case GMAIL: + if (record -> event.pressed) { + SEND_STRING("gmail.com"); + } else { + // when keycode is released + } + break; + case HOTMAIL: + if (record -> event.pressed) { + SEND_STRING("hotmail.com"); + } else { + // when keycode is released + } + break; + +/* + case YAHOO: + if (record -> event.pressed) SEND_STRING("yahoo.com"); + else unregister_code16(keycode); + break; + case OUTLOOK: + if (record -> event.pressed) SEND_STRING("outlook.com"); + else unregister_code16(keycode); + break; + case GMAIL: + if (record -> event.pressed) SEND_STRING("gmail.com"); + else unregister_code16(keycode); + break; + case HOTMAIL: + if (record -> event.pressed) { + SEND_STRING("hotmail.com"); + } else unregister_code16(keycode); + break; + case DOTCOM: + if (record -> event.pressed) SEND_STRING(".com"); + else unregister_code16(keycode); + break; +*/ + + // Windows key lock + case KC_WINLCK: + if (record -> event.pressed) { + keymap_config.no_gui = !keymap_config.no_gui; //toggle status + } else unregister_code16(keycode); + break; + + // Double Zero + case KC_00: + if (record -> event.pressed) { + // when keycode KC_00 is pressed + SEND_STRING("00"); + } else unregister_code16(keycode); + break; + + // Treat Control+Space as if regular Space + case KC_SPC: { + // Initialize a boolean variable that keeps track of the space key status: registered or not? + static bool spckey_registered; + if (record -> event.pressed) { + // Detect the activation of either ctrl keys + if (mod_state & MOD_MASK_CTRL) { + // First temporarily canceling both ctrls so that + // ctrl isn't applied to the KC_SPC keycode + del_mods(MOD_MASK_CTRL); + register_code(KC_SPC); + // Update the boolean variable to reflect the status of KC_SPC + spckey_registered = true; + // Reapplying modifier state so that the held ctrl key(s) + // still work even after having tapped the Space key. + set_mods(mod_state); + return false; + } + } else { // on release of KC_SPC + // In case KC_SPC is still being sent even after the release of KC_SPC + if (spckey_registered) { + unregister_code(KC_SPC); + spckey_registered = false; + return false; + } + } + } + break; + + // Treat Shift+Space as if regular Space + case KC_SHIFTSPC: { + // Initialize a boolean variable that keeps track of the space key status: registered or not? + static bool spc2key_registered; + if (record -> event.pressed) { + // Detect the activation of either shift keys + if (mod_state & MOD_MASK_SHIFT) { + // First temporarily canceling both shifts so that + // shift isn't applied to the KC_SPC keycode + del_mods(MOD_MASK_SHIFT); + register_code(KC_SPC); + // Update the boolean variable to reflect the status of KC_SPC + spc2key_registered = true; + // Reapplying modifier state so that the held shift key(s) + // still work even after having tapped the Space key. + set_mods(mod_state); + return false; + } + } else { // on release of KC_SPC + // In case KC_SPC is still being sent even after the release of KC_SPC + if (spc2key_registered) { + unregister_code(KC_SPC); + spc2key_registered = false; + return false; + } + } + } + break; + + // Add INS as SHIFT-modified BackSpace key + case KC_BSPC: { + // Initialize a boolean variable that keeps track of the delete key status: registered or not? + static bool inskey_registered; + if (record -> event.pressed) { + // Detect the activation of either shift keys + if (mod_state & MOD_MASK_SHIFT) { + // First temporarily canceling both shifts so that + // shift isn't applied to the KC_INS keycode + del_mods(MOD_MASK_SHIFT); + register_code(KC_INS); + // Update the boolean variable to reflect the status of KC_INS + inskey_registered = true; + // Reapplying modifier state so that the held shift key(s) + // still work even after having tapped the Delete/Insert key. + set_mods(mod_state); + return false; + } + } else { // on release of KC_BSPC + // In case KC_INS is still being sent even after the release of KC_BSPC + if (inskey_registered) { + unregister_code(KC_INS); + inskey_registered = false; + return false; + } + } + } + break; + + /* Add INS as SHIFT-modified DEL key + case KC_DEL: { + // Initialize a boolean variable that keeps track of the delete key status: registered or not? + static bool inskey_registered; + if (record->event.pressed) { + // Detect the activation of either shift keys + if (mod_state & MOD_MASK_SHIFT) { + // First temporarily canceling both shifts so that + // shift isn't applied to the KC_INS keycode + del_mods(MOD_MASK_SHIFT); + register_code(KC_INS); + // Update the boolean variable to reflect the status of KC_INS + inskey_registered = true; + // Reapplying modifier state so that the held shift key(s) + // still work even after having tapped the Delete/Insert key. + set_mods(mod_state); + return false; + } + } else { // on release of KC_DEL + // In case KC_INS is still being sent even after the release of KC_DEL + if (inskey_registered) { + unregister_code(KC_INS); + inskey_registered = false; + return false; + } + } + } + break; + */ + + #ifdef IDLE_TIMEOUT_ENABLE + case RGB_TOI: + if (record -> event.pressed) { + timeout_update_threshold(true); + } else unregister_code16(keycode); + break; + case RGB_TOD: + if (record -> event.pressed) { + timeout_update_threshold(false); //decrease timeout + } else unregister_code16(keycode); + break; + #endif // IDLE_TIMEOUT_ENABLE + #ifdef RGB_MATRIX_ENABLE + case RGB_NITE: + if (record -> event.pressed) { + rgb_nightmode = !rgb_nightmode; + } else unregister_code16(keycode); + break; + #endif // RGB_MATRIX_ENABLE + + #ifdef EMOTICON_ENABLE + case EMO_SHRUG: + if (record -> event.pressed) SEND_STRING("`\\_(\"/)_/`"); + else unregister_code16(keycode); + break; + case EMO_CONFUSE: + if (record -> event.pressed) SEND_STRING("(*_*)"); + else unregister_code16(keycode); + break; + case EMO_TEARS: + if (record -> event.pressed) SEND_STRING("(T_T)"); + else unregister_code16(keycode); + break; + case EMO_NERVOUS: + if (record -> event.pressed) SEND_STRING("(~_~;)"); + else unregister_code16(keycode); + break; + case EMO_JOY: + if (record -> event.pressed) SEND_STRING("(^o^)"); + else unregister_code16(keycode); + break; + case EMO_SAD: + if (record -> event.pressed) SEND_STRING(":'-("); + else unregister_code16(keycode); + break; + #endif // EMOTICON_ENABLE + + #ifdef ALTTAB_SCROLL_ENABLE + case KC_TSTOG: + if (record -> event.pressed) encoder_toggle_alttabscroll(); + else unregister_code16(keycode); + break; + #endif // ALTTAB_SCROLL_ENABLE + + default: + if (record -> event.pressed) { + #ifdef RGB_MATRIX_ENABLE + rgb_matrix_enable(); + #endif + #ifdef IDLE_TIMEOUT_ENABLE + timeout_reset_timer(); //reset activity timer + #endif + } + break; + } + return true; +}; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t * record) { + switch (keycode) { + case KC_SFTUP: + return 300; + case KC_RAISESPC: + case KC_LOWERSPC: + return 450; + default: + return TAPPING_TERM; + } +} + +// Turn on/off NUM LOCK if current state is different +void activate_numlock(bool turn_on) { + if (IS_HOST_LED_ON(USB_LED_NUM_LOCK) != turn_on) { + tap_code(KC_NUMLOCK); + } +} + +// INITIAL STARTUP + +__attribute__((weak)) void keyboard_post_init_keymap(void) {} + +void keyboard_post_init_user(void) { + keyboard_post_init_keymap(); + #ifdef STARTUP_NUMLOCK_ON + activate_numlock(true); // turn on Num lock by default so that the numpad layer always has predictable results + #endif // STARTUP_NUMLOC_ON + #ifdef IDLE_TIMEOUT_ENABLE + timeout_timer = timer_read(); // set inital time for ide timeout + #endif +} \ No newline at end of file diff --git a/users/gourdo1/gourdo1.h b/users/gourdo1/gourdo1.h new file mode 100644 index 000000000000..c6861ca0ca88 --- /dev/null +++ b/users/gourdo1/gourdo1.h @@ -0,0 +1,131 @@ +/* Copyright 2021 Jonavin Eng @Jonavin + Copyright 2022 gourdo1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// DEFINE MACROS +#define ARRAYSIZE(arr) sizeof(arr) / sizeof(arr[0]) + +// LAYERS +enum custom_user_layers { + _BASE, + _FN1, + _NUMPADMOUSE, + _MOUSEKEY, +}; + +#define KC_CAD LALT(LCTL(KC_DEL)) +#define KC_AF4 LALT(KC_F4) +#define KC_TASK LCTL(LSFT(KC_ESC)) +#define CT_PGUP RCTL(KC_PGUP) +#define CT_PGDN RCTL(KC_PGDN) +#define CT_HOME RCTL(KC_HOME) +#define CT_END RCTL(KC_END) +#define KC_SFTUP RSFT_T(KC_UP) // Shift when held, Up arrow when tapped +#define KC_RAISESPC LT(_MOUSEKEY, KC_SPC) // _MOUSEKEY layer mod when held, space when tapped +#define KC_LOWERSPC LT(_NUMPADMOUSE, KC_SPC) // _NUMPAD-MOUSE layer mod when held, space when tapped +#define KC_SHIFTSPC LSFT(KC_SPC) +#define SWAP_L SGUI(KC_LEFT) // Swap application to left display +#define SWAP_R SGUI(KC_RGHT) // Swap application to right display + +// KEYCODES +enum custom_user_keycodes { + KC_00 = SAFE_RANGE, + ENCFUNC, + KC_WINLCK, // Toggles Win key on and off + RGB_TOI, // Timeout idle time up + RGB_TOD, // Timeout idle time down + RGB_NITE, // Turns off all rgb but allow rgb indicators to work + + YAHOO, // yahoo.com + OUTLOOK, // outlook.com + GMAIL, // gmail.com + HOTMAIL, // hotmail.com + DOTCOM, // .com + + EMO_SHRUG, // `\_("/)_/` + EMO_CONFUSE, // (*_*) + EMO_SAD, // :'-( + EMO_NERVOUS, // (~_~;) + EMO_JOY, // (^o^) + EMO_TEARS, // (T_T) + + KC_TSTOG, // Tab Scroll Toggle + + NEW_SAFE_RANGE // new safe range for keymap level custom keycodes +}; + +#ifdef TD_LSFT_CAPSLOCK_ENABLE +// Tap Dance Definitions +enum custom_tapdance { + TD_LSFT_CAPSLOCK, + TD_LSFT_CAPS_WIN, + TD_ESC_BASELYR +}; +#define KC_LSFTCAPS TD(TD_LSFT_CAPSLOCK) +#define KC_LSFTCAPSWIN TD(TD_LSFT_CAPS_WIN) +#define KC_ESCLYR TD(TD_ESC_BASELYR) +#else // regular Shift +#define KC_LSFTCAPS KC_LSFT +// regular Escape +#define KC_ESCLYR KC_ESC +#endif // TD_LSFT_CAPSLOCK_ENABLE + +// ENCODER ACTIONS +#ifdef ENCODER_ENABLE +void encoder_action_volume(bool clockwise); +void encoder_action_mediatrack(bool clockwise); +void encoder_action_navword(bool clockwise); +void encoder_action_navpage(bool clockwise); + +uint8_t get_selected_layer(void); +void encoder_action_layerchange(bool clockwise); + +#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) +void encoder_action_rgb_speed(bool clockwise); +void encoder_action_rgb_hue(bool clockwise); +void encoder_action_rgb_saturation(bool clockwise); +void encoder_action_rgb_brightness(bool clockwise); +void encoder_action_rgb_mode(bool clockwise); +#endif // RGB_MATRIX_ENABLE / RGBLIGHT_ENABLE + +#ifdef ALTTAB_SCROLL_ENABLE +void encoder_action_alttabscroll(bool clockwise); +void encoder_toggle_alttabscroll(void); +void encoder_tick_alttabscroll(void); +#endif // ALTTAB_SCROLL_ENABLE +#endif // ENCODER_ENABLE + +#ifdef RGB_MATRIX_ENABLE +void activate_rgb_nightmode(bool turn_on); +bool get_rgb_nightmode(void); +#endif + +// IDLE TIMEOUTS +#ifdef IDLE_TIMEOUT_ENABLE +#define TIMEOUT_THRESHOLD_DEFAULT 15 // default timeout minutes +#define TIMEOUT_THRESHOLD_MAX 140 // upper limits (2 hours and 10 minutes -- no rgb indicators above this value) + +//prototype functions +uint16_t get_timeout_threshold(void); +void timeout_reset_timer(void); +void timeout_update_threshold(bool increase); +void timeout_tick_timer(void); +#endif //IDLE_TIMEOUT_ENABLE + +// OTHER FUNCTION PROTOTYPE +void activate_numlock(bool turn_on); \ No newline at end of file diff --git a/users/gourdo1/gourdo1_encoder.c b/users/gourdo1/gourdo1_encoder.c new file mode 100644 index 000000000000..72f8c3c35416 --- /dev/null +++ b/users/gourdo1/gourdo1_encoder.c @@ -0,0 +1,238 @@ +/* Copyright 2021 Jonavin Eng @Jonavin + Copyright 2022 gourdo1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + + +#include QMK_KEYBOARD_H +#include "gourdo1.h" + +#ifdef ENCODER_ENABLE + #ifndef DYNAMIC_KEYMAP_LAYER_COUNT + #define DYNAMIC_KEYMAP_LAYER_COUNT 4 //default in case this is not already defined elsewhere + #endif + #ifndef ENCODER_DEFAULTACTIONS_INDEX + #define ENCODER_DEFAULTACTIONS_INDEX 0 // can select encoder index if there are multiple encoders + #endif + + static uint16_t key_timer; + + void encoder_action_volume(bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + if (timer_elapsed(key_timer) < 50) { + tap_code(KC_VOLU); // if less than 50ms have passed, hit vol up again. + key_timer = timer_read(); + } else { + key_timer = timer_read(); + // do nothing if 50ms or more have passed + } + } + else { + tap_code(KC_VOLD); + if (timer_elapsed(key_timer) < 100) { + tap_code(KC_VOLD); // if less than 100ms have passed, hit vol down twice. + tap_code(KC_VOLD); + key_timer = timer_read(); + } else { + key_timer = timer_read(); + // do nothing if 100ms or more have passed + } + } + } + + void encoder_action_mediatrack(bool clockwise) { + if (clockwise) + tap_code(KC_MEDIA_NEXT_TRACK); + else + tap_code(KC_MEDIA_PREV_TRACK); + } + + void encoder_action_navword(bool clockwise) { + if (clockwise) + tap_code16(LCTL(KC_RGHT)); + else + tap_code16(LCTL(KC_LEFT)); + } + + void encoder_action_navpage(bool clockwise) { + if (clockwise) + tap_code16(KC_PGUP); + else + tap_code16(KC_PGDN); + } + + // LAYER HANDLING + uint8_t selected_layer = 0; + + uint8_t get_selected_layer(void) { + return selected_layer; + } + + void encoder_action_layerchange(bool clockwise) { + if (clockwise) { + if(selected_layer < (DYNAMIC_KEYMAP_LAYER_COUNT - 1)) { + selected_layer ++; + layer_move(selected_layer); + } + } else { + if (selected_layer > 0) { + selected_layer --; + layer_move(selected_layer); + } + } + } + + #ifdef RGB_MATRIX_ENABLE + void encoder_action_rgb_speed(bool clockwise) { + if (clockwise) + rgb_matrix_increase_speed_noeeprom(); + else + rgb_matrix_decrease_speed_noeeprom(); + } + void encoder_action_rgb_hue(bool clockwise) { + if (clockwise) + rgb_matrix_increase_hue_noeeprom(); + else + rgb_matrix_decrease_hue_noeeprom(); + } + void encoder_action_rgb_saturation(bool clockwise) { + if (clockwise) + rgb_matrix_increase_sat_noeeprom(); + else + rgb_matrix_decrease_sat_noeeprom(); + } + void encoder_action_rgb_brightness(bool clockwise) { + if (clockwise) + rgb_matrix_increase_val_noeeprom(); + else + rgb_matrix_decrease_val_noeeprom(); + } + void encoder_action_rgb_mode(bool clockwise) { + if (clockwise) + rgb_matrix_step_noeeprom(); + else + rgb_matrix_step_reverse_noeeprom(); + } + #elif defined(RGBLIGHT_ENABLE) + void encoder_action_rgb_speed(bool clockwise) { + if (clockwise) + rgblight_increase_speed_noeeprom(); + else + rgblight_decrease_speed_noeeprom(); + } + void encoder_action_rgb_hue(bool clockwise) { + if (clockwise) + rgblight_increase_hue_noeeprom(); + else + rgblight_decrease_hue_noeeprom(); + } + void encoder_action_rgb_saturation(bool clockwise) { + if (clockwise) + rgblight_increase_sat_noeeprom(); + else + rgblight_decrease_sat_noeeprom(); + } + void encoder_action_rgb_brightness(bool clockwise) { + if (clockwise) + rgblight_increase_val_noeeprom(); + else + rgblight_decrease_val_noeeprom(); + } + void encoder_action_rgb_mode(bool clockwise) { + if (clockwise) + rgblight_step_noeeprom(); + else + rgblight_step_reverse_noeeprom(); + } + #endif // RGB_MATRIX_ENABLE || RGBLIGHT_ENABLE + + #ifdef ALTTAB_SCROLL_ENABLE + bool is_tab_scrolling = false; + bool is_alt_tab_active = false; + uint16_t alt_tab_timer = 0; + + + void encoder_toggle_alttabscroll(void) { + is_tab_scrolling = !is_tab_scrolling; + } + + void encoder_action_alttabscroll(bool clockwise) { + if (clockwise) { + if (!is_alt_tab_active) { + is_alt_tab_active = true; + register_mods(MOD_RALT); + } + tap_code16(KC_TAB); + } + else { + tap_code16(S(KC_TAB)); + } + alt_tab_timer = timer_read(); + } + + void encoder_tick_alttabscroll(void) { + if (is_alt_tab_active) { + if (timer_elapsed(alt_tab_timer) > 600) { + unregister_mods(MOD_RALT); + is_alt_tab_active = false; + } + } + } + #endif // ALTTAB_SCROLL_ENABLE +#endif // ENCODER_ENABLE + +#if defined(ENCODER_ENABLE) && defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality + + __attribute__((weak)) bool encoder_update_keymap(uint8_t index, bool clockwise) { return true; } + + bool encoder_update_user(uint8_t index, bool clockwise) { + if (!encoder_update_keymap(index, clockwise)) { return false; } + if (index != ENCODER_DEFAULTACTIONS_INDEX) {return true;} // exit if the index doesn't match + uint8_t mods_state = get_mods(); + if (mods_state & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, encoder changes layers + encoder_action_layerchange(clockwise); + } else if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, Page up/dn + unregister_mods(MOD_BIT(KC_RSFT)); + encoder_action_navpage(clockwise); + register_mods(MOD_BIT(KC_RSFT)); + } else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word + encoder_action_navword(clockwise); + } else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track + encoder_action_mediatrack(clockwise); + } else { + switch(get_highest_layer(layer_state)) { + case _FN1: + #ifdef IDLE_TIMEOUT_ENABLE + timeout_update_threshold(clockwise); + #endif + break; + default: + #ifdef ALTTAB_SCROLL_ENABLE + if (is_tab_scrolling) + encoder_action_alttabscroll(clockwise); + else + encoder_action_volume(clockwise); // Otherwise it just changes volume + #else + encoder_action_volume(clockwise); // Otherwise it just changes volume + #endif // ALTTAB_SCROLL_ENABLE + break; + } + } + return false; + } +#endif // ENCODER_ENABLE + + diff --git a/users/gourdo1/rules.mk b/users/gourdo1/rules.mk new file mode 100644 index 000000000000..e02f9e8e08b7 --- /dev/null +++ b/users/gourdo1/rules.mk @@ -0,0 +1,29 @@ +SRC += gourdo1.c +ifdef ENCODER_ENABLE + # include encoder related code when enabled + ifeq ($(strip $(ENCODER_DEFAULTACTIONS_ENABLE)), yes) + OPT_DEFS += -DENCODER_DEFAULTACTIONS_ENABLE + endif + ifeq ($(strip $(ALTTAB_SCROLL_ENABLE)), yes) + OPT_DEFS += -DALTTAB_SCROLL_ENABLE + endif + SRC += gourdo1_encoder.c +endif +ifeq ($(strip $(TD_LSFT_CAPSLOCK_ENABLE)), yes) + OPT_DEFS += -DTD_LSFT_CAPSLOCK_ENABLE +endif +ifeq ($(strip $(IDLE_TIMEOUT_ENABLE)), yes) + OPT_DEFS += -DIDLE_TIMEOUT_ENABLE +endif +ifeq ($(strip $(STARTUP_NUMLOCK_ON)), yes) + OPT_DEFS += -DSTARTUP_NUMLOCK_ON +endif +ifeq ($(strip $(COLEMAK_LAYER_ENABLE)), yes) + OPT_DEFS += -DCOLEMAK_LAYER_ENABLE +endif +ifeq ($(strip $(EMOTICON_ENABLE)), yes) + OPT_DEFS += -DEMOTICON_ENABLE +endif +ifeq ($(strip $(INVERT_NUMLOCK_INDICATOR)), yes) + OPT_DEFS += -DINVERT_NUMLOCK_INDICATOR +endif From 9056775e2050cc95abe888b93135dfdc8ef86609 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 19 Apr 2022 04:18:28 -0700 Subject: [PATCH 0569/1832] Add hacky via support for RGB Matrix (#16086) --- keyboards/moonlander/config.h | 1 - quantum/via.c | 108 +++++++++++++++++++++++++++++++++- 2 files changed, 105 insertions(+), 4 deletions(-) diff --git a/keyboards/moonlander/config.h b/keyboards/moonlander/config.h index bd06c5006d74..9930e64063d9 100644 --- a/keyboards/moonlander/config.h +++ b/keyboards/moonlander/config.h @@ -159,7 +159,6 @@ # define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 16383 # define DYNAMIC_KEYMAP_LAYER_COUNT 8 #endif -#define VIA_QMK_RGBLIGHT_ENABLE #define AUDIO_PIN A5 #define AUDIO_PIN_ALT A4 diff --git a/quantum/via.c b/quantum/via.c index 05ab799cbbed..320bd5546dc1 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -38,6 +38,10 @@ # define VIA_QMK_RGBLIGHT_ENABLE #endif +#if defined(RGB_MATRIX_ENABLE) && !defined(VIA_QMK_RGBLIGHT_ENABLE) && !defined(VIA_CUSTOM_LIGHTING_ENABLE) +# define VIA_QMK_RGB_MATRIX_ENABLE +#endif + #include "quantum.h" #include "via.h" @@ -59,6 +63,12 @@ void via_qmk_rgblight_set_value(uint8_t *data); void via_qmk_rgblight_get_value(uint8_t *data); #endif +#if defined(VIA_QMK_RGB_MATRIX_ENABLE) +void via_qmk_rgb_matrix_set_value(uint8_t *data); +void via_qmk_rgb_matrix_get_value(uint8_t *data); +void eeconfig_update_rgb_matrix(void); +#endif + // Can be called in an overriding via_init_kb() to test if keyboard level code usage of // EEPROM is invalid and use/save defaults. bool via_eeprom_is_valid(void) { @@ -287,10 +297,13 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { #if defined(VIA_QMK_RGBLIGHT_ENABLE) via_qmk_rgblight_set_value(command_data); #endif +#if defined(VIA_QMK_RGB_MATRIX_ENABLE) + via_qmk_rgb_matrix_set_value(command_data); +#endif #if defined(VIA_CUSTOM_LIGHTING_ENABLE) raw_hid_receive_kb(data, length); #endif -#if !defined(VIA_QMK_BACKLIGHT_ENABLE) && !defined(VIA_QMK_RGBLIGHT_ENABLE) && !defined(VIA_CUSTOM_LIGHTING_ENABLE) +#if !defined(VIA_QMK_BACKLIGHT_ENABLE) && !defined(VIA_QMK_RGBLIGHT_ENABLE) && !defined(VIA_CUSTOM_LIGHTING_ENABLE) && !defined(VIA_QMK_RGB_MATRIX_ENABLE) // Return the unhandled state *command_id = id_unhandled; #endif @@ -303,10 +316,13 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { #if defined(VIA_QMK_RGBLIGHT_ENABLE) via_qmk_rgblight_get_value(command_data); #endif +#if defined(VIA_QMK_RGB_MATRIX_ENABLE) + via_qmk_rgb_matrix_get_value(command_data); +#endif #if defined(VIA_CUSTOM_LIGHTING_ENABLE) raw_hid_receive_kb(data, length); #endif -#if !defined(VIA_QMK_BACKLIGHT_ENABLE) && !defined(VIA_QMK_RGBLIGHT_ENABLE) && !defined(VIA_CUSTOM_LIGHTING_ENABLE) +#if !defined(VIA_QMK_BACKLIGHT_ENABLE) && !defined(VIA_QMK_RGBLIGHT_ENABLE) && !defined(VIA_CUSTOM_LIGHTING_ENABLE) && !defined(VIA_QMK_RGB_MATRIX_ENABLE) // Return the unhandled state *command_id = id_unhandled; #endif @@ -319,10 +335,13 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { #if defined(VIA_QMK_RGBLIGHT_ENABLE) eeconfig_update_rgblight_current(); #endif +#if defined(VIA_QMK_RGB_MATRIX_ENABLE) + eeconfig_update_rgb_matrix(); +#endif #if defined(VIA_CUSTOM_LIGHTING_ENABLE) raw_hid_receive_kb(data, length); #endif -#if !defined(VIA_QMK_BACKLIGHT_ENABLE) && !defined(VIA_QMK_RGBLIGHT_ENABLE) && !defined(VIA_CUSTOM_LIGHTING_ENABLE) +#if !defined(VIA_QMK_BACKLIGHT_ENABLE) && !defined(VIA_QMK_RGBLIGHT_ENABLE) && !defined(VIA_CUSTOM_LIGHTING_ENABLE) && !defined(VIA_QMK_RGB_MATRIX_ENABLE) // Return the unhandled state *command_id = id_unhandled; #endif @@ -495,3 +514,86 @@ void via_qmk_rgblight_set_value(uint8_t *data) { } #endif // #if defined(VIA_QMK_RGBLIGHT_ENABLE) + +#if defined(VIA_QMK_RGB_MATRIX_ENABLE) + +// VIA supports only 4 discrete values for effect speed; map these to some +// useful speed values for RGB Matrix. +enum speed_values { + RGBLIGHT_SPEED_0 = UINT8_MAX / 16, // not 0 to avoid really slow effects + RGBLIGHT_SPEED_1 = UINT8_MAX / 4, + RGBLIGHT_SPEED_2 = UINT8_MAX / 2, // matches the default value + RGBLIGHT_SPEED_3 = UINT8_MAX / 4 * 3, // UINT8_MAX is really fast +}; + +static uint8_t speed_from_rgblight(uint8_t rgblight_speed) { + switch (rgblight_speed) { + case 0: + return RGBLIGHT_SPEED_0; + case 1: + return RGBLIGHT_SPEED_1; + case 2: + default: + return RGBLIGHT_SPEED_2; + case 3: + return RGBLIGHT_SPEED_3; + } +} + +static uint8_t speed_to_rgblight(uint8_t rgb_matrix_speed) { + if (rgb_matrix_speed < ((RGBLIGHT_SPEED_0 + RGBLIGHT_SPEED_1) / 2)) { + return 0; + } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_1 + RGBLIGHT_SPEED_2) / 2)) { + return 1; + } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_2 + RGBLIGHT_SPEED_3) / 2)) { + return 2; + } else { + return 3; + } +} + +void via_qmk_rgb_matrix_get_value(uint8_t *data) { + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + switch (*value_id) { + case id_qmk_rgblight_brightness: + value_data[0] = rgb_matrix_get_val(); + break; + case id_qmk_rgblight_effect: + value_data[0] = rgb_matrix_get_mode(); + break; + case id_qmk_rgblight_effect_speed: + value_data[0] = speed_to_rgblight(rgb_matrix_get_speed()); + break; + case id_qmk_rgblight_color: + value_data[0] = rgb_matrix_get_hue(); + value_data[1] = rgb_matrix_get_sat(); + break; + } +} + +void via_qmk_rgb_matrix_set_value(uint8_t *data) { + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + switch (*value_id) { + case id_qmk_rgblight_brightness: + rgb_matrix_sethsv_noeeprom(rgb_matrix_get_hue(), rgb_matrix_get_sat(), value_data[0]); + break; + case id_qmk_rgblight_effect: + rgb_matrix_mode_noeeprom(value_data[0]); + if (value_data[0] == 0) { + rgb_matrix_disable_noeeprom(); + } else { + rgb_matrix_enable_noeeprom(); + } + break; + case id_qmk_rgblight_effect_speed: + rgb_matrix_set_speed_noeeprom(speed_from_rgblight(value_data[0])); + break; + case id_qmk_rgblight_color: + rgb_matrix_sethsv_noeeprom(value_data[0], value_data[1], rgb_matrix_get_val()); + break; + } +} + +#endif // #if defined(VIA_QMK_RGB_MATRIX_ENABLE) From 499060a9a50fe25f926c4fe2e522f44ee7e03bc4 Mon Sep 17 00:00:00 2001 From: LegoWolf Date: Tue, 19 Apr 2022 05:20:11 -0600 Subject: [PATCH 0570/1832] Dactyl manuform 5x6 5 via (#16741) --- .../5x6_5/keymaps/via/config.h | 24 ++ .../5x6_5/keymaps/via/keymap.json | 266 ++++++++++++++++++ .../5x6_5/keymaps/via/rules.mk | 1 + keyboards/handwired/dactyl_manuform/readme.md | 11 + 4 files changed, 302 insertions(+) create mode 100755 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h create mode 100755 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/keymap.json create mode 100755 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h new file mode 100755 index 000000000000..dc2d3ee11115 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2022 David Falkner (falkner@martica.org) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define USE_SERIAL + +#define EE_HANDS + +#define KINETIC_SPEED \ No newline at end of file diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/keymap.json b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/keymap.json new file mode 100755 index 000000000000..90aa13a26092 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/keymap.json @@ -0,0 +1,266 @@ +{ + "version": 1, + "notes": "", + "author": "David Falkner", + "keyboard": "handwired/dactyl_manuform/5x6_5", + "keymap": "via", + "layout": "LAYOUT_5x6_5", + "layers": [ + [ + "KC_ESC", + "KC_1", + "KC_2", + "KC_3", + "KC_4", + "KC_5", + "KC_6", + "KC_7", + "KC_8", + "KC_9", + "KC_0", + "KC_MINS", + "MO(1)", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "MO(1)", + "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_LSFT", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_RSFT", + "KC_EQL", + "KC_BSLS", + "KC_BSPC", + "KC_TAB", + "KC_LCTL", + "KC_RCTL", + "KC_ENT", + "KC_SPC", + "KC_LBRC", + "KC_RBRC", + "KC_LGUI", + "KC_LALT", + "KC_RALT", + "MO(2)" + ], + [ + "KC_TRNS", + "KC_BRID", + "KC_BRIU", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_SLEP", + "KC_MRWD", + "KC_MPLY", + "KC_MFFD", + "KC_MUTE", + "KC_TRNS", + "KC_TRNS", + "KC_PSLS", + "KC_P7", + "KC_P8", + "KC_P9", + "KC_PMNS", + "KC_INS", + "KC_PGUP", + "KC_UP", + "KC_HOME", + "KC_TILD", + "KC_TRNS", + "KC_PCMM", + "KC_PAST", + "KC_P4", + "KC_P5", + "KC_P6", + "KC_PPLS", + "KC_DEL", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT", + "KC_GRV", + "KC_TRNS", + "KC_TRNS", + "KC_PEQL", + "KC_P1", + "KC_P2", + "KC_P3", + "KC_PENT", + "KC_TRNS", + "KC_PGDN", + "KC_TRNS", + "KC_END", + "KC_TRNS", + "KC_TRNS", + "KC_P0", + "KC_PDOT", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_VOLD", + "KC_VOLU", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "KC_TRNS", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F4", + "KC_F5", + "KC_F6", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_PAUS", + "KC_TRNS", + "KC_F11", + "KC_F12", + "KC_F13", + "KC_F14", + "KC_F15", + "KC_F16", + "KC_F17", + "KC_F18", + "KC_F19", + "KC_F20", + "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", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_PSCR", + "KC_SLCK", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_WH_U", + "KC_WH_D", + "KC_APP", + "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", + "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", + "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", + "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", + "KC_TRNS" + ] + ] +} \ No newline at end of file diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/rules.mk new file mode 100755 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/dactyl_manuform/readme.md b/keyboards/handwired/dactyl_manuform/readme.md index 4882f4ab4b5e..da4ac2ad6855 100644 --- a/keyboards/handwired/dactyl_manuform/readme.md +++ b/keyboards/handwired/dactyl_manuform/readme.md @@ -44,6 +44,17 @@ Just a copy of the Impstyle keymap. Feel free to adjust it. #### Impstyle A simple QWERTY keymap with 3 Layers. Both sides are connected via serial and the Left ist the master. +### [Keymaps 5x6_5](/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/) + +Similar layout to 5x6 but with only 5 thumb keys per side instead of 6. + +#### Default +QWERTY layout with 7 Layers. + +#### Via +Similar to Default but adds support for the [Via](https://www.caniusevia.com/) keymap configurator. Reduces the number of layers to 4 to comply with Via defaults, and remaps +some keys to accomodate that constraint. + ### [Keymaps 5x7 aka almost Ergodox](/keyboards/handwired/dactyl_manuform/5x7/keymaps/) #### Default Keymap of Loligagger from geekhack. From 25f849b397b409e7f8331abe5edacfde80ec0845 Mon Sep 17 00:00:00 2001 From: Joy Lee Date: Tue, 19 Apr 2022 19:21:12 +0800 Subject: [PATCH 0571/1832] Update wb32-dfu (#16438) --- builddefs/bootloader.mk | 4 ++ builddefs/mcu_selection.mk | 1 - platforms/chibios/bootloaders/wb32_dfu.c | 49 ++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 platforms/chibios/bootloaders/wb32_dfu.c diff --git a/builddefs/bootloader.mk b/builddefs/bootloader.mk index 226213297e7c..f0a6c084a21f 100644 --- a/builddefs/bootloader.mk +++ b/builddefs/bootloader.mk @@ -202,6 +202,10 @@ ifeq ($(strip $(BOOTLOADER)), md-boot) OPT_DEFS += -DBOOTLOADER_MD_BOOT BOOTLOADER_TYPE = md_boot endif +ifeq ($(strip $(BOOTLOADER)), wb32-dfu) + OPT_DEFS += -DBOOTLOADER_WB32_DFU + BOOTLOADER_TYPE = wb32_dfu +endif ifeq ($(strip $(BOOTLOADER_TYPE)),) $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,No bootloader specified. Please set an appropriate 'BOOTLOADER' in your keyboard's 'rules.mk' file.) diff --git a/builddefs/mcu_selection.mk b/builddefs/mcu_selection.mk index ec33ee4446f9..dba5c404be3d 100644 --- a/builddefs/mcu_selection.mk +++ b/builddefs/mcu_selection.mk @@ -680,7 +680,6 @@ ifneq ($(findstring WB32F3G71, $(MCU)),) USE_FPU ?= no # Bootloader address for WB32 DFU - STM32_BOOTLOADER_ADDRESS ?= 0x1FFFE000 WB32_BOOTLOADER_ADDRESS ?= 0x1FFFE000 endif diff --git a/platforms/chibios/bootloaders/wb32_dfu.c b/platforms/chibios/bootloaders/wb32_dfu.c new file mode 100644 index 000000000000..70b18f0228de --- /dev/null +++ b/platforms/chibios/bootloaders/wb32_dfu.c @@ -0,0 +1,49 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include +#include +#include "wait.h" + +extern uint32_t __ram0_end__; + +/* This code should be checked whether it runs correctly on platforms */ +# define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) +# define BOOTLOADER_MAGIC 0xDEADBEEF +# define MAGIC_ADDR (unsigned long *)(SYMVAL(__ram0_end__) - 4) + +__attribute__((weak)) void bootloader_jump(void) { + *MAGIC_ADDR = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader + NVIC_SystemReset(); +} + +void enter_bootloader_mode_if_requested(void) { + unsigned long *check = MAGIC_ADDR; + if (*check == BOOTLOADER_MAGIC) { + *check = 0; + __set_CONTROL(0); + __set_MSP(*(__IO uint32_t *)WB32_BOOTLOADER_ADDRESS); + __enable_irq(); + + typedef void (*BootJump_t)(void); + BootJump_t boot_jump = *(BootJump_t *)(WB32_BOOTLOADER_ADDRESS + 4); + boot_jump(); + while (1) + ; + } +} From c3a03b642367d2fa82b9237a35434f1e880dc702 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Tue, 19 Apr 2022 04:28:14 -0700 Subject: [PATCH 0572/1832] [CI] Format code according to conventions (#16888) --- platforms/chibios/bootloaders/wb32_dfu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platforms/chibios/bootloaders/wb32_dfu.c b/platforms/chibios/bootloaders/wb32_dfu.c index 70b18f0228de..bbc382a2d04d 100644 --- a/platforms/chibios/bootloaders/wb32_dfu.c +++ b/platforms/chibios/bootloaders/wb32_dfu.c @@ -23,9 +23,9 @@ extern uint32_t __ram0_end__; /* This code should be checked whether it runs correctly on platforms */ -# define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) -# define BOOTLOADER_MAGIC 0xDEADBEEF -# define MAGIC_ADDR (unsigned long *)(SYMVAL(__ram0_end__) - 4) +#define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) +#define BOOTLOADER_MAGIC 0xDEADBEEF +#define MAGIC_ADDR (unsigned long *)(SYMVAL(__ram0_end__) - 4) __attribute__((weak)) void bootloader_jump(void) { *MAGIC_ADDR = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader From 83709e7dbe4a72bc40585ee87d032f400ea37392 Mon Sep 17 00:00:00 2001 From: Dmitry Nosachev Date: Tue, 19 Apr 2022 14:30:15 +0300 Subject: [PATCH 0573/1832] kin80 (#16754) Co-authored-by: Nick Brassel --- keyboards/kin80/blackpill103/blackpill103.c | 25 +++ keyboards/kin80/blackpill103/blackpill103.h | 19 ++ keyboards/kin80/blackpill103/chconf.h | 28 +++ keyboards/kin80/blackpill103/config.h | 35 +++ keyboards/kin80/blackpill103/halconf.h | 26 +++ keyboards/kin80/blackpill103/mcuconf.h | 30 +++ keyboards/kin80/blackpill103/rules.mk | 8 + keyboards/kin80/blackpill401/blackpill401.c | 25 +++ keyboards/kin80/blackpill401/blackpill401.h | 19 ++ keyboards/kin80/blackpill401/config.h | 32 +++ keyboards/kin80/blackpill401/halconf.h | 28 +++ keyboards/kin80/blackpill401/mcuconf.h | 25 +++ keyboards/kin80/blackpill401/rules.mk | 7 + keyboards/kin80/blackpill411/blackpill411.c | 26 +++ keyboards/kin80/blackpill411/blackpill411.h | 19 ++ keyboards/kin80/blackpill411/config.h | 32 +++ keyboards/kin80/blackpill411/halconf.h | 28 +++ keyboards/kin80/blackpill411/mcuconf.h | 25 +++ keyboards/kin80/blackpill411/rules.mk | 7 + keyboards/kin80/config.h | 24 ++ keyboards/kin80/info.json | 19 ++ keyboards/kin80/keymaps/andrew/keymap.c | 127 +++++++++++ keyboards/kin80/keymaps/debug/keymap.c | 38 ++++ keyboards/kin80/keymaps/debug/rules.mk | 1 + keyboards/kin80/keymaps/default/keymap.c | 102 +++++++++ keyboards/kin80/keymaps/maxim/keymap.c | 215 ++++++++++++++++++ keyboards/kin80/keymaps/quartz64/config.h | 24 ++ keyboards/kin80/keymaps/quartz64/keymap.c | 234 ++++++++++++++++++++ keyboards/kin80/keymaps/quartz64/rules.mk | 1 + keyboards/kin80/keymaps/roman/keymap.c | 134 +++++++++++ keyboards/kin80/kin80.c | 17 ++ keyboards/kin80/kin80.h | 62 ++++++ keyboards/kin80/micro/config.h | 30 +++ keyboards/kin80/micro/micro.c | 25 +++ keyboards/kin80/micro/micro.h | 20 ++ keyboards/kin80/micro/rules.mk | 5 + keyboards/kin80/readme.md | 33 +++ keyboards/kin80/rules.mk | 14 ++ 38 files changed, 1569 insertions(+) create mode 100644 keyboards/kin80/blackpill103/blackpill103.c create mode 100644 keyboards/kin80/blackpill103/blackpill103.h create mode 100644 keyboards/kin80/blackpill103/chconf.h create mode 100644 keyboards/kin80/blackpill103/config.h create mode 100644 keyboards/kin80/blackpill103/halconf.h create mode 100644 keyboards/kin80/blackpill103/mcuconf.h create mode 100644 keyboards/kin80/blackpill103/rules.mk create mode 100644 keyboards/kin80/blackpill401/blackpill401.c create mode 100644 keyboards/kin80/blackpill401/blackpill401.h create mode 100644 keyboards/kin80/blackpill401/config.h create mode 100644 keyboards/kin80/blackpill401/halconf.h create mode 100644 keyboards/kin80/blackpill401/mcuconf.h create mode 100644 keyboards/kin80/blackpill401/rules.mk create mode 100644 keyboards/kin80/blackpill411/blackpill411.c create mode 100644 keyboards/kin80/blackpill411/blackpill411.h create mode 100644 keyboards/kin80/blackpill411/config.h create mode 100644 keyboards/kin80/blackpill411/halconf.h create mode 100644 keyboards/kin80/blackpill411/mcuconf.h create mode 100644 keyboards/kin80/blackpill411/rules.mk create mode 100644 keyboards/kin80/config.h create mode 100644 keyboards/kin80/info.json create mode 100644 keyboards/kin80/keymaps/andrew/keymap.c create mode 100644 keyboards/kin80/keymaps/debug/keymap.c create mode 100644 keyboards/kin80/keymaps/debug/rules.mk create mode 100644 keyboards/kin80/keymaps/default/keymap.c create mode 100644 keyboards/kin80/keymaps/maxim/keymap.c create mode 100644 keyboards/kin80/keymaps/quartz64/config.h create mode 100644 keyboards/kin80/keymaps/quartz64/keymap.c create mode 100644 keyboards/kin80/keymaps/quartz64/rules.mk create mode 100644 keyboards/kin80/keymaps/roman/keymap.c create mode 100644 keyboards/kin80/kin80.c create mode 100644 keyboards/kin80/kin80.h create mode 100644 keyboards/kin80/micro/config.h create mode 100644 keyboards/kin80/micro/micro.c create mode 100644 keyboards/kin80/micro/micro.h create mode 100644 keyboards/kin80/micro/rules.mk create mode 100644 keyboards/kin80/readme.md create mode 100644 keyboards/kin80/rules.mk diff --git a/keyboards/kin80/blackpill103/blackpill103.c b/keyboards/kin80/blackpill103/blackpill103.c new file mode 100644 index 000000000000..c8fd4e5822d3 --- /dev/null +++ b/keyboards/kin80/blackpill103/blackpill103.c @@ -0,0 +1,25 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "blackpill103.h" + +void matrix_init_kb(void) { + /* LED pins setup */ + setPinOutput(LED4_PIN); + writePinLow(LED4_PIN); + + matrix_init_user(); +} diff --git a/keyboards/kin80/blackpill103/blackpill103.h b/keyboards/kin80/blackpill103/blackpill103.h new file mode 100644 index 000000000000..06cc42ba839e --- /dev/null +++ b/keyboards/kin80/blackpill103/blackpill103.h @@ -0,0 +1,19 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "kin80.h" diff --git a/keyboards/kin80/blackpill103/chconf.h b/keyboards/kin80/blackpill103/chconf.h new file mode 100644 index 000000000000..63236f2c2c8c --- /dev/null +++ b/keyboards/kin80/blackpill103/chconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_TIMEDELTA 0 + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#include_next diff --git a/keyboards/kin80/blackpill103/config.h b/keyboards/kin80/blackpill103/config.h new file mode 100644 index 000000000000..b8be5e648166 --- /dev/null +++ b/keyboards/kin80/blackpill103/config.h @@ -0,0 +1,35 @@ +/* +Copyright 2022 DmNosachev + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define DEVICE_VER 0x0002 + +#undef MATRIX_ROW_PINS +#undef MATRIX_COL_PINS + +//v.1.0 +//#define MATRIX_ROW_PINS { B8, B9, C13, B7, B6, B4, B3 } +//v.1.1 +#define MATRIX_ROW_PINS { B8, B9, C13, B7, B6, B5, B4 } +#define MATRIX_COL_PINS { A6, A7, B0, B1, B10, B11, A0, A1, A2, A3, A4, A5 } + +#define LED_PIN_ON_STATE 0 +#define LED_NUM_LOCK_PIN B14 +#define LED_CAPS_LOCK_PIN B13 +#define LED_SCROLL_LOCK_PIN B15 +#define LED4_PIN A8 diff --git a/keyboards/kin80/blackpill103/halconf.h b/keyboards/kin80/blackpill103/halconf.h new file mode 100644 index 000000000000..923b4e52d24d --- /dev/null +++ b/keyboards/kin80/blackpill103/halconf.h @@ -0,0 +1,26 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/kin80/blackpill103/mcuconf.h b/keyboards/kin80/blackpill103/mcuconf.h new file mode 100644 index 000000000000..5e94a97e21e6 --- /dev/null +++ b/keyboards/kin80/blackpill103/mcuconf.h @@ -0,0 +1,30 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM2 +#define STM32_PWM_USE_TIM2 TRUE + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 FALSE diff --git a/keyboards/kin80/blackpill103/rules.mk b/keyboards/kin80/blackpill103/rules.mk new file mode 100644 index 000000000000..019b1130d995 --- /dev/null +++ b/keyboards/kin80/blackpill103/rules.mk @@ -0,0 +1,8 @@ +# MCU name +MCU = STM32F103 + +# Bootloader selection +BOOTLOADER = stm32duino + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/kin80/blackpill401/blackpill401.c b/keyboards/kin80/blackpill401/blackpill401.c new file mode 100644 index 000000000000..26f32d85e0ae --- /dev/null +++ b/keyboards/kin80/blackpill401/blackpill401.c @@ -0,0 +1,25 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "blackpill401.h" + +void matrix_init_kb(void) { + /* LED pins setup */ + setPinOutput(LED4_PIN); + writePinLow(LED4_PIN); + + matrix_init_user(); +} diff --git a/keyboards/kin80/blackpill401/blackpill401.h b/keyboards/kin80/blackpill401/blackpill401.h new file mode 100644 index 000000000000..06cc42ba839e --- /dev/null +++ b/keyboards/kin80/blackpill401/blackpill401.h @@ -0,0 +1,19 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "kin80.h" diff --git a/keyboards/kin80/blackpill401/config.h b/keyboards/kin80/blackpill401/config.h new file mode 100644 index 000000000000..5f5f37c6d375 --- /dev/null +++ b/keyboards/kin80/blackpill401/config.h @@ -0,0 +1,32 @@ +/* +Copyright 2022 DmNosachev + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define DEVICE_VER 0x0003 + +#undef MATRIX_ROW_PINS +#undef MATRIX_COL_PINS + +#define MATRIX_ROW_PINS { A4, B12, B13, B14, B15, A8, B5 } +#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A5, A6, A7, B0, B1, B10 } + +#define LED_PIN_ON_STATE 0 +#define LED_NUM_LOCK_PIN B4 +#define LED_CAPS_LOCK_PIN C13 +#define LED_SCROLL_LOCK_PIN B3 +#define LED4_PIN A15 diff --git a/keyboards/kin80/blackpill401/halconf.h b/keyboards/kin80/blackpill401/halconf.h new file mode 100644 index 000000000000..020a7722f0d5 --- /dev/null +++ b/keyboards/kin80/blackpill401/halconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/blackpill_f401/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/kin80/blackpill401/mcuconf.h b/keyboards/kin80/blackpill401/mcuconf.h new file mode 100644 index 000000000000..e614a9dfa93f --- /dev/null +++ b/keyboards/kin80/blackpill401/mcuconf.h @@ -0,0 +1,25 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next "mcuconf.h" + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_TIM5 +#define STM32_PWM_USE_TIM5 TRUE diff --git a/keyboards/kin80/blackpill401/rules.mk b/keyboards/kin80/blackpill401/rules.mk new file mode 100644 index 000000000000..264e71d0b5af --- /dev/null +++ b/keyboards/kin80/blackpill401/rules.mk @@ -0,0 +1,7 @@ +# MCU name +MCU = STM32F401 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +KEYBOARD_SHARED_EP = yes diff --git a/keyboards/kin80/blackpill411/blackpill411.c b/keyboards/kin80/blackpill411/blackpill411.c new file mode 100644 index 000000000000..1b68dfc2d37e --- /dev/null +++ b/keyboards/kin80/blackpill411/blackpill411.c @@ -0,0 +1,26 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "blackpill411.h" + +void matrix_init_kb(void) { + /* LED pins setup */ + setPinOutput(LED4_PIN); + writePinLow(LED4_PIN); + + matrix_init_user(); +} + diff --git a/keyboards/kin80/blackpill411/blackpill411.h b/keyboards/kin80/blackpill411/blackpill411.h new file mode 100644 index 000000000000..06cc42ba839e --- /dev/null +++ b/keyboards/kin80/blackpill411/blackpill411.h @@ -0,0 +1,19 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "kin80.h" diff --git a/keyboards/kin80/blackpill411/config.h b/keyboards/kin80/blackpill411/config.h new file mode 100644 index 000000000000..5f5f37c6d375 --- /dev/null +++ b/keyboards/kin80/blackpill411/config.h @@ -0,0 +1,32 @@ +/* +Copyright 2022 DmNosachev + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define DEVICE_VER 0x0003 + +#undef MATRIX_ROW_PINS +#undef MATRIX_COL_PINS + +#define MATRIX_ROW_PINS { A4, B12, B13, B14, B15, A8, B5 } +#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A5, A6, A7, B0, B1, B10 } + +#define LED_PIN_ON_STATE 0 +#define LED_NUM_LOCK_PIN B4 +#define LED_CAPS_LOCK_PIN C13 +#define LED_SCROLL_LOCK_PIN B3 +#define LED4_PIN A15 diff --git a/keyboards/kin80/blackpill411/halconf.h b/keyboards/kin80/blackpill411/halconf.h new file mode 100644 index 000000000000..4a0da20890c7 --- /dev/null +++ b/keyboards/kin80/blackpill411/halconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/blackpill_f411/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/kin80/blackpill411/mcuconf.h b/keyboards/kin80/blackpill411/mcuconf.h new file mode 100644 index 000000000000..e614a9dfa93f --- /dev/null +++ b/keyboards/kin80/blackpill411/mcuconf.h @@ -0,0 +1,25 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next "mcuconf.h" + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_TIM5 +#define STM32_PWM_USE_TIM5 TRUE diff --git a/keyboards/kin80/blackpill411/rules.mk b/keyboards/kin80/blackpill411/rules.mk new file mode 100644 index 000000000000..75bc794ef0a9 --- /dev/null +++ b/keyboards/kin80/blackpill411/rules.mk @@ -0,0 +1,7 @@ +# MCU name +MCU = STM32F411 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +KEYBOARD_SHARED_EP = yes diff --git a/keyboards/kin80/config.h b/keyboards/kin80/config.h new file mode 100644 index 000000000000..a836bacf7541 --- /dev/null +++ b/keyboards/kin80/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2022 DmNosachev + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* key matrix size */ +#define MATRIX_COLS 12 +#define MATRIX_ROWS 7 diff --git a/keyboards/kin80/info.json b/keyboards/kin80/info.json new file mode 100644 index 000000000000..269a88c0ef12 --- /dev/null +++ b/keyboards/kin80/info.json @@ -0,0 +1,19 @@ +{ + "keyboard_name": "Kin80", + "url": "https://github.com/DmNosachev/kinesis80", + "maintainer": "DmNosachev", + "usb": { + "vid": "0xFEED", + "pid": "0x4B4E" + }, + "manufacturer": "Quartz64" + "diode_direction": "COL2ROW", + "layouts": { + "LAYOUT": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, {"x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":0, "y":1.25, "w":1.25}, {"x":1.25, "y":1.25}, {"x":2.25, "y":1.25}, {"x":3.25, "y":1.25}, {"x":4.25, "y":1.25}, {"x":5.25, "y":1.25}, {"x":11.25, "y":1.25}, {"x":12.25, "y":1.25}, {"x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25, "w":1.25}, {"x":0, "y":2.25, "w":1.25}, {"x":1.25, "y":2.25}, {"x":2.25, "y":2.25}, {"x":3.25, "y":2.25}, {"x":4.25, "y":2.25}, {"x":5.25, "y":2.25}, {"x":11.25, "y":2.25}, {"x":12.25, "y":2.25}, {"x":13.25, "y":2.25}, {"x":14.25, "y":2.25}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25, "w":1.25}, {"x":0, "y":3.25, "w":1.25}, {"x":1.25, "y":3.25}, {"x":2.25, "y":3.25}, {"x":3.25, "y":3.25}, {"x":4.25, "y":3.25}, {"x":5.25, "y":3.25}, {"x":11.25, "y":3.25}, {"x":12.25, "y":3.25}, {"x":13.25, "y":3.25}, {"x":14.25, "y":3.25}, {"x":15.25, "y":3.25}, {"x":16.25, "y":3.25, "w":1.25}, {"x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25}, {"x":13.25, "y":4.25}, {"x":14.25, "y":4.25}, {"x":15.25, "y":4.25}, {"x":16.25, "y":4.25, "w":1.25}, {"x":1.25, "y":5.25}, {"x":2.25, "y":5.25}, {"x":3.25, "y":5.25}, {"x":4.25, "y":5.25}, {"x":12.25, "y":5.25}, {"x":13.25, "y":5.25}, {"x":14.25, "y":5.25}, {"x":15.25, "y":5.25}, {"x":6.25, "y":6}, {"x":7.25, "y":6}, {"x":9.25, "y":6}, {"x":10.25, "y":6}, {"x":5.25, "y":7, "h":2}, {"x":6.25, "y":7, "h":2}, {"x":7.25, "y":7}, {"x":9.25, "y":7}, {"x":10.25, "y":7, "h":2}, {"x":11.25, "y":7, "h":2}, {"x":7.25, "y":8}, {"x":9.25, "y":8}] + }, + "LAYOUT_all": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":16, "y":0}, {"x":17, "y":0}, {"x":0, "y":1.25, "w":1.25}, {"x":1.25, "y":1.25}, {"x":2.25, "y":1.25}, {"x":3.25, "y":1.25}, {"x":4.25, "y":1.25}, {"x":5.25, "y":1.25}, {"x":11.75, "y":1.25}, {"x":12.75, "y":1.25}, {"x":13.75, "y":1.25}, {"x":14.75, "y":1.25}, {"x":15.75, "y":1.25}, {"x":16.75, "y":1.25, "w":1.25}, {"x":0, "y":2.25, "w":1.25}, {"x":1.25, "y":2.25}, {"x":2.25, "y":2.25}, {"x":3.25, "y":2.25}, {"x":4.25, "y":2.25}, {"x":5.25, "y":2.25}, {"x":11.75, "y":2.25}, {"x":12.75, "y":2.25}, {"x":13.75, "y":2.25}, {"x":14.75, "y":2.25}, {"x":15.75, "y":2.25}, {"x":16.75, "y":2.25, "w":1.25}, {"x":0, "y":3.25, "w":1.25}, {"x":1.25, "y":3.25}, {"x":2.25, "y":3.25}, {"x":3.25, "y":3.25}, {"x":4.25, "y":3.25}, {"x":5.25, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25}, {"x":13.75, "y":3.25}, {"x":14.75, "y":3.25}, {"x":15.75, "y":3.25}, {"x":16.75, "y":3.25, "w":1.25}, {"x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":11.75, "y":4.25}, {"x":12.75, "y":4.25}, {"x":13.75, "y":4.25}, {"x":14.75, "y":4.25}, {"x":15.75, "y":4.25}, {"x":16.75, "y":4.25, "w":1.25}, {"x":0.25, "y":5.25}, {"x":1.25, "y":5.25}, {"x":2.25, "y":5.25}, {"x":3.25, "y":5.25}, {"x":4.25, "y":5.25}, {"x":5.25, "y":5.25}, {"x":11.75, "y":5.25}, {"x":12.75, "y":5.25}, {"x":13.75, "y":5.25}, {"x":14.75, "y":5.25}, {"x":15.75, "y":5.25}, {"x":16.75, "y":5.25}, {"x":6.5, "y":6}, {"x":7.5, "y":6}, {"x":9.5, "y":6}, {"x":10.5, "y":6}, {"x":5.25, "y":7, "h":2}, {"x":6.25, "y":7, "h":2}, {"x":7.25, "y":7}, {"x":9.5, "y":7}, {"x":10.5, "y":7, "h":2}, {"x":11.5, "y":7, "h":2}, {"x":7.25, "y":8}, {"x":9.5, "y":8}] + } + } +} \ No newline at end of file diff --git a/keyboards/kin80/keymaps/andrew/keymap.c b/keyboards/kin80/keymaps/andrew/keymap.c new file mode 100644 index 000000000000..d8773f9d7284 --- /dev/null +++ b/keyboards/kin80/keymaps/andrew/keymap.c @@ -0,0 +1,127 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "version.h" + +enum layer_names { + _BASE, // default layer + _L2 // macros +}; + +enum custom_keycodes { + PLACEHOLDER = SAFE_RANGE, // can always be here + VRSN, + EMAIL1 // Macro example (type email address) +}; + +/* +* +* +* ,-------------------------------------------, ,-------------------------------------------, +* | Esc | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | += | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Caps | A | S | D | F | G | | H | J | K | L | ;: | '"/L2 | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Shift | Z | X | C | V | B | | N | M | <, | >. | /? | Shift | +* `--------+------+------+------+------+------- `------+------+------+------+------+--------' +* |`~/L2 | <, | Left | Right| | Up | Down | [ | ] | +* `---------------------------' `---------------------------' +* ,-------------. ,-------------. +* | Cmd | Opt | | Ctrl | Cmd | +* ,------|------|------| |------+------+------. +* | | | Home | | PgUp | | | +* |Backsp|Delete|------| |------|Enter | Space| +* | | | End | | PgDn | | | +* `--------------------' `--------------------' +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_BASE] = LAYOUT( + KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_L2, KC_QUOT), + KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT, + LT(_L2, KC_GRV), KC_COMM, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, + KC_LCMD, KC_LOPT, KC_RCTL, KC_RCMD, + KC_HOME, KC_PGUP, + KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_ENTER, KC_SPC + ), +/* +* +* +* ,-------------------------------------------, ,-------------------------------------------, +* | F1 | | | | | | |EMAIL1| | |PrnSc | ScrLk| Pause | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | VRSN | | | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | MbL | MUp | MbR | | |RESET | | | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | ML | MDn | MR | | | | | | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | | | | | | | +* `--------+------+------+------+------+------' `------+------+------+------+------+--------' +* | |Insert| | | | | | | | +* `---------------------------' `---------------------------' +* ,-------------. ,-------------. +* | | | | | | +* ,------|------|------| |------+------+------. +* | | | MWh+ | | | | | +* | | |------| |------| | | +* | | | MWh- | | | | | +* `--------------------' `--------------------' +*/ +[_L2] = LAYOUT( + KC_F1, _______, _______, _______, _______, _______, EMAIL1, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + _______, _______, _______, _______, _______, _______, VRSN, _______, _______, _______, _______, _______, + _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, RESET, _______, _______, _______, _______, _______, + _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_INS, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + KC_WH_U, _______, + _______, _______, KC_WH_D, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case VRSN: + if (record->event.pressed) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + } + return false; + break; + + case EMAIL1: + if (record->event.pressed) { + SEND_STRING("MyEmail@gmail.com"); + } + return false; + break; + } + return true; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + writePin(LED4_PIN, layer_state_cmp(state, _L2)); + return state; +} diff --git a/keyboards/kin80/keymaps/debug/keymap.c b/keyboards/kin80/keymaps/debug/keymap.c new file mode 100644 index 000000000000..ef92ee4fee17 --- /dev/null +++ b/keyboards/kin80/keymaps/debug/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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, 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, 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, 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, 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, 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 + + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + // If console is enabled, it will print the matrix position and status of each key pressed +#ifdef CONSOLE_ENABLE + uprintf("row: %u, col: %u, pressed: %u\n", record->event.key.row, record->event.key.col, record->event.pressed); +#endif + return true; +} \ No newline at end of file diff --git a/keyboards/kin80/keymaps/debug/rules.mk b/keyboards/kin80/keymaps/debug/rules.mk new file mode 100644 index 000000000000..15b7f725b26d --- /dev/null +++ b/keyboards/kin80/keymaps/debug/rules.mk @@ -0,0 +1 @@ +CONSOLE_ENABLE = yes diff --git a/keyboards/kin80/keymaps/default/keymap.c b/keyboards/kin80/keymaps/default/keymap.c new file mode 100644 index 000000000000..5da48745107b --- /dev/null +++ b/keyboards/kin80/keymaps/default/keymap.c @@ -0,0 +1,102 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, // default layer + _NM // numpad on right, mouse on left +}; + +/* +* +* +* ,-------------------------------------------. ,-------------------------------------------. +* | Esc | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | PrSc | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | += | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | NM | A | S | D | F | G | | H | J | K | L | ;: | '"/NM | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Shift | Z | X | C | V | B | | N | M | ,. | .> | /? | Shift | +* `--------+------+------+------+------+------' `------+------+------+------+------+--------' +* | `~ | Ins | Left | Right| | Up | Down | [ | ] | +* `---------------------------' `---------------------------' +* ,-------------. ,-------------. +* | Ctrl | Alt | | Gui | Ctrl | +* ,------|------|------| |------+------+------. +* | | | Home | | PgUp | | | +* |Backsp|Delete|------| |------|Enter | Space| +* | | | End | | PgDn | | | +* `--------------------' `--------------------' +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_BASE] = LAYOUT( + KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PSCR, + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + MO(_NM), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_NM, KC_QUOT), + 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_GRV, KC_INS, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, + KC_LCTL, KC_LALT, KC_RGUI,KC_RCTL, + KC_HOME, KC_PGUP, + KC_BSPC, KC_DEL, KC_END, KC_PGDN,KC_ENTER, KC_SPC + ), +/* +* +* +* ,-------------------------------------------. ,-------------------------------------------. +* | F1 | | | | | | | | | | | | F12 | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | |ScrLk |Numlck| = | / | * | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | MbL | MUp | MbR | | |CapsLk| 7 | 8 | 9 | - | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | ML | MDn | MR | | | | 4 | 5 | 6 | + | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | . | 1 | 2 | 3 |Enter | | +* `--------+------+------+------+------+------' `------+------+------+------+------+--------' +* |RESET | | | | | | | | | +* `---------------------------' `---------------------------' +* ,-------------. ,-------------. +* | | | | RAlt | | +* ,------|------|------| |------+------+------. +* | | |MWhUp | | | | | +* | | |------| |------| | 0 | +* | | |MWhDn | | | | | +* `--------------------' `--------------------' +*/ +[_NM] = LAYOUT( + KC_F1, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F12, + _______, _______, _______, _______, _______, _______, KC_SLCK, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______, + _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, KC_CAPS, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, + _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, + _______, _______, _______, _______, _______, _______, KC_PDOT, KC_P1, KC_P2, KC_P3, KC_PENT, _______, + RESET, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_RALT, _______, + KC_WH_U, _______, + _______, _______, KC_WH_D, _______, _______, KC_P0 + ) +}; + + +layer_state_t layer_state_set_user(layer_state_t state) { + writePin(LED4_PIN, layer_state_cmp(state, _L2)); + return state; +} diff --git a/keyboards/kin80/keymaps/maxim/keymap.c b/keyboards/kin80/keymaps/maxim/keymap.c new file mode 100644 index 000000000000..a8be54a4dde4 --- /dev/null +++ b/keyboards/kin80/keymaps/maxim/keymap.c @@ -0,0 +1,215 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "version.h" + +enum layer_names { + _BASE, // default layer + _NM, // numpad on right, mouse on left + _MC // macros +}; + +#define MC1 COMP_FR_QUOTES +#define MC2 COMP_NBSP_EM_DASH +#define MC3 COMP_NBSP + +enum custom_keycodes { + PLACEHOLDER = SAFE_RANGE, // can always be here + VRSN, + COMP_FR_QUOTES, // Compose: french quotes + COMP_NBSP_EM_DASH, // Compose: nbsp followed by em dash + COMP_NBSP, // Compose: nbsp + PWD1, // Windows password + PWD2, // Stand root password + PWD3, // KP password + EMAIL1 // Gmail address +}; + +/* +* +* +* ,-------------------------------------------- --------------------------------------------. +* | Esc | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | PrSc | RAlt | +* |--------+------+------+------+------+------+ +------+------+------+------+------+--------| +* | +=/Alt | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | +* |--------+------+------+------+------+------| +------+------+------+------+------+--------| +* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* |`~/NM | A | S | D | F | G | | H | J | K | L | ;: | '"/NM | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Shift | Z | X | C | V | B | | N | M | ,. | .> | /? | Shift | +* `--------+------+------+------+------+------- `------+------+------+------+------+--------' +* | MC |C+Shft| [ | ] | | Left | Down | Up | Right| +* `---------------------------' `---------------------------' +* ,-------------. ,-------------. +* | Ctl |Enter | | Gui | Ctrl | +* ,------|------|------| |------+------+------. +* | | | Home | | PgUp | | | +* |Space |Backsp|------| |------| Del | Enter| +* | | | End | | PgDn | | | +* `--------------------' `--------------------' +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_BASE] = LAYOUT( + KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR, KC_RALT, + LALT_T(KC_EQL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + LCTL_T(KC_GRV), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_NM, KC_QUOT), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + MO(_MC), LCTL(KC_LSFT), KC_LBRC, KC_RBRC, KC_LEFT,KC_DOWN, KC_UP, KC_RGHT, + MO(_NM), KC_ENTER, KC_RGUI,KC_RCTRL, + KC_HOME, KC_PGUP, + KC_SPC, KC_BSPC, KC_END, KC_PGDN,KC_DEL, KC_ENTER + ), +/* +* +* +* ,-------------------------------------------- --------------------------------------------. +* | F1 | | | | | | | | | | | F11 | F12 | +* |--------+------+------+------+------+------+ +------+------+------+------+------+--------| +* | | | | | | | |ScrLk |Numlck| = | / | * | | +* |--------+------+------+------+------+------| +------+------+------+------+------+--------| +* | | | MbL | MUp | MbR | Ins | |CapsLk| 7 | 8 | 9 | - | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | ML | MDn | MR | | | | 4 | 5 | 6 | + | L1 | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | . | 1 | 2 | 3 |Enter | | +* `--------+------+------+------+------+------- `------+------+------+------+------+--------' +* | | | | | | | | | | +* `---------------------------' `---------------------------' +* ,-------------. ,-------------. +* | | | | | | +* ,------|------|------| |------+------+------. +* | | |MWhUp | | | | | +* | | |------| |------| | 0 | +* | | |MWhDn | | | | | +* `--------------------' `--------------------' +*/ +[_NM] = LAYOUT( + KC_F1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, + _______, _______, _______, _______, _______, _______, KC_SLCK, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______, + _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_INS, KC_CAPS, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, + _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, + _______, _______, _______, _______, _______, _______, KC_PDOT, KC_P1, KC_P2, KC_P3, KC_PENT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + KC_WH_U, _______, + _______, _______, KC_WH_D, _______, _______, KC_P0 + ), +/* +* +* +* ,-------------------------------------------- --------------------------------------------. +* | version| | | | | | |email | | | | | | +* |--------+------+------+------+------+------+ +------+------+------+------+------+--------| +* | | | | | | | | | | | | | MC2 | +* |--------+------+------+------+------+------| +------+------+------+------+------+--------| +* | | | | |reset | | | | | | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | | | | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | | | MC1 | | | | +* `--------+------+------+------+------+------- `------+------+------+------+------+--------' +* | | | | | | | | | | +* `---------------------------' `---------------------------' +* ,-------------. ,-------------. +* | | | | | | +* ,------|------|------| |------+------+------. +* | | | | | | | | +* | MC3 | |------| |------| | | +* | | | | | | | | +* `--------------------' `--------------------' +*/ +[_MC] = LAYOUT( + VRSN, _______, _______, _______, _______, _______, EMAIL1, _______, _______, PWD3, PWD2, PWD1, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MC2, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, MC1, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + MC3, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case VRSN: + if (record->event.pressed) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + } + return false; + break; + + case COMP_FR_QUOTES: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_RALT)"<<"SS_TAP(X_RALT)">>"SS_TAP(X_LEFT)); + } + return false; + break; + + case COMP_NBSP_EM_DASH: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_RALT)" "SS_TAP(X_RALT)"--- "); + } + return false; + break; + + case COMP_NBSP: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_RALT)" "); + } + return false; + break; + + case PWD1: + if (record->event.pressed) { + SEND_STRING("password1"SS_TAP(X_ENTER)); + } + return false; + break; + + case PWD2: + if (record->event.pressed) { + SEND_STRING("password2"SS_TAP(X_ENTER)); + } + return false; + break; + + case PWD3: + if (record->event.pressed) { + SEND_STRING("password3"SS_TAP(X_ENTER)); + } + return false; + break; + + case EMAIL1: + if (record->event.pressed) { + SEND_STRING("email@example.com"); + } + return false; + break; + } + return true; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + writePin(LED4_PIN, layer_state_cmp(state, _MC)); + return state; +} diff --git a/keyboards/kin80/keymaps/quartz64/config.h b/keyboards/kin80/keymaps/quartz64/config.h new file mode 100644 index 000000000000..0b5cc5399b3c --- /dev/null +++ b/keyboards/kin80/keymaps/quartz64/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2022 DmNosachev + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_LBRC +#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_RBRC + +#define ENCODERS_PAD_A { A10 } +#define ENCODERS_PAD_B { A9 } \ No newline at end of file diff --git a/keyboards/kin80/keymaps/quartz64/keymap.c b/keyboards/kin80/keymaps/quartz64/keymap.c new file mode 100644 index 000000000000..611c86a09d8c --- /dev/null +++ b/keyboards/kin80/keymaps/quartz64/keymap.c @@ -0,0 +1,234 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "version.h" + +enum layer_names { + _BASE, // default layer + _NM, // numpad onright, mouse on left + _MC // macros +}; + +#define MC1 COMP_FR_QUOTES +#define MC2 COMP_NBSP_EM_DASH +#define MC3 COMP_NBSP + +enum custom_keycodes { + PLACEHOLDER = SAFE_RANGE, // can always be here + VRSN, + COMP_FR_QUOTES, // Compose: french quotes + COMP_NBSP_EM_DASH, // Compose: nbsp followed by em dash + COMP_NBSP, // Compose: nbsp + PWD1, + PWD2, + PWD3, + PWD4, + EMAIL1 // Gmail address +}; + +/* +* +* +* ,-------------------------------------------- --------------------------------------------. +* | Esc | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | PrSc | RAlt | +* |--------+------+------+------+------+------+ +------+------+------+------+------+--------| +* | +=/Alt | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | +* |--------+------+------+------+------+------| +------+------+------+------+------+--------| +* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* |`~/Ctrl | A | S | D | F | G | | H | J | K | L | ;: | '"/NM | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Shift |Z/Ctrl| X | C | V | B | | N | M | ,. | .> | /? | Shift | +* `-+------+------+------+------+------+------| |------+------+------+------+------+------+-' +* | Play | MC |C+Shft| [ | ] | | | | Left | Down | Up | Right| | +* `-----------------------------------------' `-----------------------------------------' +* ,-------------. ,-------------. +* | NM |Enter | | Gui | Ctrl | +* ,------|------|------| |------+------+------. +* | | | Home | | PgUp | | | +* |Space |Backsp|------| |------| Del | Enter| +* | | | End | | PgDn | | | +* `--------------------' `--------------------' +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_BASE] = LAYOUT_all( + KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR, KC_RALT, + LALT_T(KC_EQL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + LCTL_T(KC_GRV), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_NM, KC_QUOT), + KC_LSPO, LCTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, + KC_MPLY, MO(_MC), LCTL(KC_LSFT), KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_LEFT,KC_DOWN, KC_UP, KC_RGHT,KC_NO, + MO(_NM), KC_ENTER, KC_RGUI,KC_RCTRL, + KC_HOME, KC_PGUP, + KC_SPC, KC_BSPC, KC_END, KC_PGDN,KC_DEL, KC_ENTER + ), +/* +* +* +* ,-------------------------------------------- --------------------------------------------. +* | F1 |au on |au off| | | | |ck tg |ck up |ck dn |ck rst| F11 | F12 | +* |--------+------+------+------+------+------+ +------+------+------+------+------+--------| +* | | | | | | | |ScrLk |Numlck| = | / | * | | +* |--------+------+------+------+------+------| +------+------+------+------+------+--------| +* | | | MbL | MUp | MbR | Ins | |CapsLk| 7 | 8 | 9 | - | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | ML | MDn | MR | | | | 4 | 5 | 6 | + | L1 | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | . | 1 | 2 | 3 |Enter | | +* `-+------+------+------+------+------+------| |------+------+------+------+------+------+-' +* | | | | | | | | | | | | | | +* `-----------------------------------------' `-----------------------------------------' +* ,-------------. ,-------------. +* | | | | | | +* ,------|------|------| |------+------+------. +* | | |MWhUp | | | | | +* | | |------| |------| | 0 | +* | | |MWhDn | | | | | +* `--------------------' `--------------------' +*/ +[_NM] = LAYOUT_all( + KC_F1, AU_ON, AU_OFF, _______, _______, _______, CK_TOGG, CK_UP, CK_DOWN, CK_RST, KC_F11, KC_F12, + _______, _______, _______, _______, _______, _______, KC_SLCK, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______, + _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_INS, KC_CAPS, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, + _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, + _______, _______, _______, _______, _______, _______, KC_PDOT, KC_P1, KC_P2, KC_P3, KC_PENT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + KC_WH_U, _______, + _______, _______, KC_WH_D, _______, _______, KC_P0 + ), +/* +* +* +* ,-------------------------------------------- --------------------------------------------. +* | | | | | | | |email | | PWD4 | PWD3 | PWD2 | PWD1 | +* |--------+------+------+------+------+------+ +------+------+------+------+------+--------| +* | | | | | | | | | | | | | MC2 | +* |--------+------+------+------+------+------| +------+------+------+------+------+--------| +* | | | | |reset | | | | | | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | | | | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | | | MC1 | | | | +* `-+------+------+------+------+------+------| |------+------+------+------+------+------+-' +* | | | | | | | | | | | | | | +* `-----------------------------------------' `-----------------------------------------' +* ,-------------. ,-------------. +* | | | | | | +* ,------|------|------| |------+------+------. +* | | | | | | | | +* | MC3 | |------| |------| | | +* | | | | | | | | +* `--------------------' `--------------------' +*/ +[_MC] = LAYOUT_all( + VRSN, _______, _______, _______, _______, _______, EMAIL1, _______, PWD4, PWD3, PWD2, PWD1, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MC2, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, MC1, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + MC3, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case VRSN: + if (record->event.pressed) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + } + return false; + break; + + case COMP_FR_QUOTES: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_RALT)"<<"SS_TAP(X_RALT)">>"SS_TAP(X_LEFT)); + } + return false; + break; + + case COMP_NBSP_EM_DASH: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_RALT)" "SS_TAP(X_RALT)"--- "); + } + return false; + break; + + case COMP_NBSP: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_RALT)" "); + } + return false; + break; + + case PWD1: + if (record->event.pressed) { + SEND_STRING("NakedLunch1991"SS_TAP(X_ENTER)); + } + return false; + break; + + case PWD2: + if (record->event.pressed) { + SEND_STRING("O94nx4sUWHc4akud"SS_TAP(X_ENTER)); + } + return false; + break; + + case PWD3: + if (record->event.pressed) { + SEND_STRING("Q123qQ123q"SS_TAP(X_ENTER)); + } + return false; + break; + + case PWD4: + if (record->event.pressed) { + SEND_STRING("EraserHead1976"SS_TAP(X_ENTER)); + } + return false; + break; + + case EMAIL1: + if (record->event.pressed) { + SEND_STRING("quartz64@gmail.com"); + } + return false; + break; + } + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + return false; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + writePin(LED4_PIN, !layer_state_cmp(state, _MC)); + return state; +} diff --git a/keyboards/kin80/keymaps/quartz64/rules.mk b/keyboards/kin80/keymaps/quartz64/rules.mk new file mode 100644 index 000000000000..5af1ba85367f --- /dev/null +++ b/keyboards/kin80/keymaps/quartz64/rules.mk @@ -0,0 +1 @@ +ENCODER_ENABLE = yes diff --git a/keyboards/kin80/keymaps/roman/keymap.c b/keyboards/kin80/keymaps/roman/keymap.c new file mode 100644 index 000000000000..9242a2ef9ef8 --- /dev/null +++ b/keyboards/kin80/keymaps/roman/keymap.c @@ -0,0 +1,134 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "version.h" + +enum layer_names { + _BASE, // default layer + _L2 // macros +}; + +enum custom_keycodes { + PLACEHOLDER = SAFE_RANGE, // can always be here + VRSN, + EMAIL1 // Macro example (type email address) +}; + +/* +* +* +* ,-------------------------------------------, ,-------------------------------------------, +* | Esc | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | += | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Caps | A | S | D | F | G | | H | J | K | L | ;: | '"/L2 | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Shift | Z | X | C | V | B | | N | M | <, | >. | /? | Shift | +* `--------+------+------+------+------+------- `------+------+------+------+------+--------' +* |`~/L2 | <, | Left | Right| | Up | Down | [ | ] | +* `---------------------------' `---------------------------' +* ,-------------. ,-------------. +* |LCtrl | Alt | | GUI |Shift | +* ,------|------|------| |------+------+------. +* | | | Home | | PgUp | | | +* |Backsp|Delete|------| |------|Enter | Space| +* | | | End | | PgDn | | | +* `--------------------' `--------------------' +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_BASE] = LAYOUT( + KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_L2, KC_QUOT), + KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT, + LT(_L2, KC_GRV), KC_COMM, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, + KC_LCTRL, KC_LALT, KC_RGUI, KC_RSHIFT, + KC_HOME, KC_PGUP, + KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_ENTER, KC_SPC + ), +/* +* +* +* ,-------------------------------------------, ,-------------------------------------------, +* | F1 | | | | | | |EMAIL1| | |PrnSc | ScrLk| Pause | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | VRSN | | | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | MbL | MUp | MbR | | | | | | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | ML | MDn | MR | | | | | | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | | | | | | | +* `--------+------+------+------+------+------' `------+------+------+------+------+--------' +* | |Insert| | | | | | | | +* `---------------------------' `---------------------------' +* ,-------------. ,-------------. +* | | | | Ralt |RCtrl | +* ,------|------|------| |------+------+------. +* | | | MWh+ | | | | | +* | | |------| |------| | | +* | | | MWh- | | | | | +* `--------------------' `--------------------' +*/ +[_L2] = LAYOUT( + KC_F1, _______, _______, _______, _______, _______, EMAIL1, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + _______, _______, _______, _______, _______, _______, VRSN, _______, _______, _______, _______, _______, + _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_INS, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + KC_WH_U, _______, + _______, _______, KC_WH_D, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case VRSN: + if (record->event.pressed) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + } + return false; + break; + + case EMAIL1: + if (record->event.pressed) { + SEND_STRING("MyEmail@gmail.com"); + } + return false; + break; + } + return true; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case _L2: + writePinHigh(LED4_PIN); + break; + default: // for any other layers, or the default layer + writePinLow(LED4_PIN); + break; + } + return state; +} diff --git a/keyboards/kin80/kin80.c b/keyboards/kin80/kin80.c new file mode 100644 index 000000000000..89b46c340e02 --- /dev/null +++ b/keyboards/kin80/kin80.c @@ -0,0 +1,17 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "kin80.h" diff --git a/keyboards/kin80/kin80.h b/keyboards/kin80/kin80.h new file mode 100644 index 000000000000..2bda24d19a92 --- /dev/null +++ b/keyboards/kin80/kin80.h @@ -0,0 +1,62 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* readability */ +#define XXX KC_NO + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, \ + k51, k52, k53, k54, k57, k58, k59, k5A, \ + k62, k63, k69, k68, \ + k64, k6A, \ + k60, k61, k65, k6B, k67, k66 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B }, \ + { XXX, k51, k52, k53, k54, XXX, XXX, k57, k58, k59, k5A, XXX }, \ + { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B } \ +} + +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, \ + k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, \ + k62, k63, k69, k68, \ + k64, k6A, \ + k60, k61, k65, k6B, k67, k66 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B }, \ + { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B } \ +} diff --git a/keyboards/kin80/micro/config.h b/keyboards/kin80/micro/config.h new file mode 100644 index 000000000000..546d0bc5f5e1 --- /dev/null +++ b/keyboards/kin80/micro/config.h @@ -0,0 +1,30 @@ +/* +Copyright 2022 DmNosachev + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define DEVICE_VER 0x0001 + +#define MATRIX_ROW_PINS { B6, B3, B1, D6, B7, B5, D1 } +#define MATRIX_COL_PINS { B4, E6, D7, C6, D4, D0, F7, F6, F5, F4, F1, F0 } +#define UNUSED_PINS { C7 } + +#define LED_PIN_ON_STATE 0 +#define NUM_LOCK_LED_PIN D2 +#define SCROLL_LOCK_LED_PIN D3 +#define CAPS_LOCK_LED_PIN B0 +#define LED4_PIN B2 diff --git a/keyboards/kin80/micro/micro.c b/keyboards/kin80/micro/micro.c new file mode 100644 index 000000000000..264d1a8577de --- /dev/null +++ b/keyboards/kin80/micro/micro.c @@ -0,0 +1,25 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "micro.h" + +void matrix_init_kb(void) { + /* LED pins setup */ + setPinOutput(LED4_PIN); + writePinLow(LED4_PIN); + + matrix_init_user(); +} diff --git a/keyboards/kin80/micro/micro.h b/keyboards/kin80/micro/micro.h new file mode 100644 index 000000000000..6efe88e6633f --- /dev/null +++ b/keyboards/kin80/micro/micro.h @@ -0,0 +1,20 @@ +/* Copyright 2022 DmNosachev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "kin80.h" + diff --git a/keyboards/kin80/micro/rules.mk b/keyboards/kin80/micro/rules.mk new file mode 100644 index 000000000000..def852a53152 --- /dev/null +++ b/keyboards/kin80/micro/rules.mk @@ -0,0 +1,5 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = lufa-dfu \ No newline at end of file diff --git a/keyboards/kin80/readme.md b/keyboards/kin80/readme.md new file mode 100644 index 000000000000..9adee072e7f3 --- /dev/null +++ b/keyboards/kin80/readme.md @@ -0,0 +1,33 @@ +# Kin80 + +![Kin80 controller](https://i.imgur.com/Im19DdHh.jpg) + +Kin80 is a set of replacement PCBs and switch mounting plates for [Kinesis Contoured keyboards](https://deskthority.net/wiki/Kinesis_Contoured). + +* Keyboard Maintainer: [Dmitriy Nosachev](mailto:quartz64@gmail.com) +* Hardware Supported: Kin80 PCB +* Hardware Availability: [Open Source (CC-BY-SA](https://github.com/DmNosachev/kin80) + +There are 4 versions of the controller PCB, which correspond to the subfolder names: + +* 'micro': rev. 1.1 (obsolete) used Arduino Micro board. +* 'blackpill103': rev. 1.2 (obsolete) used 'Black Pill' boards with STM32F103C8T6 MCU. +* 'blackpill401' and 'blackpill411'. Latest Kin80 PCB revisions (1.3+) use WeAct Studio STM32F401 or STM32F411 boards. They are pin compatible with each other, but use different MCUs. + +Make example for this keyboard (after setting up your build environment): + + `qmk compile -kb kin80 -km default` + +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). + +Default version is 'blackpill401'. If you need to build a firmware for STM32F411, use 'blackpill411' version, e.g.: + + `qmk compile -kb kin80:blackpill411 -km default` + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the the top left key and plug in the keyboard. +* **Physical reset button**. Hold 'boot0' button on MCU board, press 'reset', then release 'boot0'. +* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file diff --git a/keyboards/kin80/rules.mk b/keyboards/kin80/rules.mk new file mode 100644 index 000000000000..2dad32f8efa6 --- /dev/null +++ b/keyboards/kin80/rules.mk @@ -0,0 +1,14 @@ +DEFAULT_FOLDER = kin80/blackpill401 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output \ No newline at end of file From b310bf6ca36a2427a1bd564aa5d5f9d8594e6476 Mon Sep 17 00:00:00 2001 From: Danny Date: Tue, 19 Apr 2022 13:57:58 -0400 Subject: [PATCH 0574/1832] [Keyboard] Add notes on Iris rev6a firmware (#16878) --- keyboards/keebio/iris/readme.md | 14 +++++++++++--- keyboards/keebio/iris/rev6a/config.h | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/keyboards/keebio/iris/readme.md b/keyboards/keebio/iris/readme.md index 00126a390844..e98f98539427 100644 --- a/keyboards/keebio/iris/readme.md +++ b/keyboards/keebio/iris/readme.md @@ -9,12 +9,20 @@ Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): - make keebio/iris/rev4:default + make keebio/iris/rev6:default Example of flashing this keyboard: - make keebio/iris/rev4:default:flash + make keebio/iris/rev6:default:flash See [build environment setup](https://docs.qmk.fm/#/newbs_getting_started) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. -A build guide for this keyboard can be found here: [Iris Build Guide](https://docs.keeb.io/iris-build-guide.html) +A build guide for this keyboard can be found here: [Iris Build Guide](https://docs.keeb.io/iris-rev6-build-guide) + +## Iris Rev. 6 Notes + +The Iris Rev. 6 and Rev. 6.1 PCBs are nearly identical and have the same firmware (`rev6`) pre-flashed to them that has VIA support enabled. However this stock firmware does not support for Lighting controls in VIA. + +To enable Lighting controls in VIA, you will need the `rev6a` firmware. See [Enabling Iris Rev. 6 VIA RGB Controls](https://docs.keeb.io/iris-rev6-rgb-via) for more details. + +Both the Rev. 6 and Rev. 6.1 PCBs are compatible with the `rev6a` firmware. diff --git a/keyboards/keebio/iris/rev6a/config.h b/keyboards/keebio/iris/rev6a/config.h index 06c1f38e11b6..d846891d9203 100644 --- a/keyboards/keebio/iris/rev6a/config.h +++ b/keyboards/keebio/iris/rev6a/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . #define PRODUCT_ID 0x6356 #define DEVICE_VER 0x0610 #define MANUFACTURER Keebio -#define PRODUCT Iris Rev. 6.1 +#define PRODUCT Iris Rev. 6a /* key matrix size */ // Rows are doubled-up From c76a23c37a7678f06d3eaac825605f9724b3eed1 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 20 Apr 2022 05:00:37 +1000 Subject: [PATCH 0575/1832] Fix build. (#16891) --- keyboards/keyhive/uno/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keyhive/uno/rules.mk b/keyboards/keyhive/uno/rules.mk index 367faedeaf99..322099459370 100644 --- a/keyboards/keyhive/uno/rules.mk +++ b/keyboards/keyhive/uno/rules.mk @@ -1 +1 @@ -DEFAULT_FOLDER = uno/rev1 +DEFAULT_FOLDER = keyhive/uno/rev1 From 40a7714ce511ba42e8a6e725383e3a357517e5b2 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Tue, 19 Apr 2022 20:15:34 +0100 Subject: [PATCH 0576/1832] rename define checks (#16892) --- keyboards/keyhive/uno/uno.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/keyhive/uno/uno.h b/keyboards/keyhive/uno/uno.h index bb3248e293b3..e25dc25f73b1 100644 --- a/keyboards/keyhive/uno/uno.h +++ b/keyboards/keyhive/uno/uno.h @@ -18,8 +18,8 @@ #include "quantum.h" -#if defined(KEYBOARD_uno_rev1) +#if defined(KEYBOARD_keyhive_uno_rev1) # include "rev1.h" -#elif defined(KEYBOARD_uno_rev2) +#elif defined(KEYBOARD_keyhive_uno_rev2) # include "rev2.h" #endif From 314865f83366fbaa547540154e0d2a48e7a2e72c Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Wed, 20 Apr 2022 03:19:16 +0800 Subject: [PATCH 0577/1832] move melody96 to ymdk vendor folder (#15680) Co-authored-by: Nick Brassel --- keyboards/{ => ymdk}/melody96/config.h | 0 keyboards/{ => ymdk}/melody96/info.json | 0 keyboards/{ => ymdk}/melody96/keymaps/crilith/keymap.c | 0 keyboards/{ => ymdk}/melody96/keymaps/default/keymap.c | 0 .../melody96/keymaps/default_96_with60_split_num0/keymap.c | 0 keyboards/{ => ymdk}/melody96/keymaps/dvz/config.h | 0 keyboards/{ => ymdk}/melody96/keymaps/dvz/keymap.c | 0 keyboards/{ => ymdk}/melody96/keymaps/dvz/readme.md | 0 keyboards/{ => ymdk}/melody96/keymaps/dvz/rules.mk | 0 keyboards/{ => ymdk}/melody96/keymaps/konstantin/config.h | 0 keyboards/{ => ymdk}/melody96/keymaps/konstantin/keymap.c | 0 keyboards/{ => ymdk}/melody96/keymaps/konstantin/rules.mk | 0 keyboards/{ => ymdk}/melody96/keymaps/via/keymap.c | 0 keyboards/{ => ymdk}/melody96/keymaps/via/rules.mk | 0 keyboards/{ => ymdk}/melody96/keymaps/zunger/config.h | 0 keyboards/{ => ymdk}/melody96/keymaps/zunger/keymap.c | 0 keyboards/{ => ymdk}/melody96/keymaps/zunger/readme.md | 0 keyboards/{ => ymdk}/melody96/keymaps/zunger/rules.mk | 0 keyboards/{ => ymdk}/melody96/melody96.c | 0 keyboards/{ => ymdk}/melody96/melody96.h | 0 keyboards/{ => ymdk}/melody96/readme.md | 2 +- keyboards/{ => ymdk}/melody96/rules.mk | 0 22 files changed, 1 insertion(+), 1 deletion(-) rename keyboards/{ => ymdk}/melody96/config.h (100%) rename keyboards/{ => ymdk}/melody96/info.json (100%) rename keyboards/{ => ymdk}/melody96/keymaps/crilith/keymap.c (100%) rename keyboards/{ => ymdk}/melody96/keymaps/default/keymap.c (100%) rename keyboards/{ => ymdk}/melody96/keymaps/default_96_with60_split_num0/keymap.c (100%) rename keyboards/{ => ymdk}/melody96/keymaps/dvz/config.h (100%) rename keyboards/{ => ymdk}/melody96/keymaps/dvz/keymap.c (100%) rename keyboards/{ => ymdk}/melody96/keymaps/dvz/readme.md (100%) rename keyboards/{ => ymdk}/melody96/keymaps/dvz/rules.mk (100%) rename keyboards/{ => ymdk}/melody96/keymaps/konstantin/config.h (100%) rename keyboards/{ => ymdk}/melody96/keymaps/konstantin/keymap.c (100%) rename keyboards/{ => ymdk}/melody96/keymaps/konstantin/rules.mk (100%) rename keyboards/{ => ymdk}/melody96/keymaps/via/keymap.c (100%) rename keyboards/{ => ymdk}/melody96/keymaps/via/rules.mk (100%) rename keyboards/{ => ymdk}/melody96/keymaps/zunger/config.h (100%) rename keyboards/{ => ymdk}/melody96/keymaps/zunger/keymap.c (100%) rename keyboards/{ => ymdk}/melody96/keymaps/zunger/readme.md (100%) rename keyboards/{ => ymdk}/melody96/keymaps/zunger/rules.mk (100%) rename keyboards/{ => ymdk}/melody96/melody96.c (100%) rename keyboards/{ => ymdk}/melody96/melody96.h (100%) rename keyboards/{ => ymdk}/melody96/readme.md (96%) rename keyboards/{ => ymdk}/melody96/rules.mk (100%) diff --git a/keyboards/melody96/config.h b/keyboards/ymdk/melody96/config.h similarity index 100% rename from keyboards/melody96/config.h rename to keyboards/ymdk/melody96/config.h diff --git a/keyboards/melody96/info.json b/keyboards/ymdk/melody96/info.json similarity index 100% rename from keyboards/melody96/info.json rename to keyboards/ymdk/melody96/info.json diff --git a/keyboards/melody96/keymaps/crilith/keymap.c b/keyboards/ymdk/melody96/keymaps/crilith/keymap.c similarity index 100% rename from keyboards/melody96/keymaps/crilith/keymap.c rename to keyboards/ymdk/melody96/keymaps/crilith/keymap.c diff --git a/keyboards/melody96/keymaps/default/keymap.c b/keyboards/ymdk/melody96/keymaps/default/keymap.c similarity index 100% rename from keyboards/melody96/keymaps/default/keymap.c rename to keyboards/ymdk/melody96/keymaps/default/keymap.c diff --git a/keyboards/melody96/keymaps/default_96_with60_split_num0/keymap.c b/keyboards/ymdk/melody96/keymaps/default_96_with60_split_num0/keymap.c similarity index 100% rename from keyboards/melody96/keymaps/default_96_with60_split_num0/keymap.c rename to keyboards/ymdk/melody96/keymaps/default_96_with60_split_num0/keymap.c diff --git a/keyboards/melody96/keymaps/dvz/config.h b/keyboards/ymdk/melody96/keymaps/dvz/config.h similarity index 100% rename from keyboards/melody96/keymaps/dvz/config.h rename to keyboards/ymdk/melody96/keymaps/dvz/config.h diff --git a/keyboards/melody96/keymaps/dvz/keymap.c b/keyboards/ymdk/melody96/keymaps/dvz/keymap.c similarity index 100% rename from keyboards/melody96/keymaps/dvz/keymap.c rename to keyboards/ymdk/melody96/keymaps/dvz/keymap.c diff --git a/keyboards/melody96/keymaps/dvz/readme.md b/keyboards/ymdk/melody96/keymaps/dvz/readme.md similarity index 100% rename from keyboards/melody96/keymaps/dvz/readme.md rename to keyboards/ymdk/melody96/keymaps/dvz/readme.md diff --git a/keyboards/melody96/keymaps/dvz/rules.mk b/keyboards/ymdk/melody96/keymaps/dvz/rules.mk similarity index 100% rename from keyboards/melody96/keymaps/dvz/rules.mk rename to keyboards/ymdk/melody96/keymaps/dvz/rules.mk diff --git a/keyboards/melody96/keymaps/konstantin/config.h b/keyboards/ymdk/melody96/keymaps/konstantin/config.h similarity index 100% rename from keyboards/melody96/keymaps/konstantin/config.h rename to keyboards/ymdk/melody96/keymaps/konstantin/config.h diff --git a/keyboards/melody96/keymaps/konstantin/keymap.c b/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c similarity index 100% rename from keyboards/melody96/keymaps/konstantin/keymap.c rename to keyboards/ymdk/melody96/keymaps/konstantin/keymap.c diff --git a/keyboards/melody96/keymaps/konstantin/rules.mk b/keyboards/ymdk/melody96/keymaps/konstantin/rules.mk similarity index 100% rename from keyboards/melody96/keymaps/konstantin/rules.mk rename to keyboards/ymdk/melody96/keymaps/konstantin/rules.mk diff --git a/keyboards/melody96/keymaps/via/keymap.c b/keyboards/ymdk/melody96/keymaps/via/keymap.c similarity index 100% rename from keyboards/melody96/keymaps/via/keymap.c rename to keyboards/ymdk/melody96/keymaps/via/keymap.c diff --git a/keyboards/melody96/keymaps/via/rules.mk b/keyboards/ymdk/melody96/keymaps/via/rules.mk similarity index 100% rename from keyboards/melody96/keymaps/via/rules.mk rename to keyboards/ymdk/melody96/keymaps/via/rules.mk diff --git a/keyboards/melody96/keymaps/zunger/config.h b/keyboards/ymdk/melody96/keymaps/zunger/config.h similarity index 100% rename from keyboards/melody96/keymaps/zunger/config.h rename to keyboards/ymdk/melody96/keymaps/zunger/config.h diff --git a/keyboards/melody96/keymaps/zunger/keymap.c b/keyboards/ymdk/melody96/keymaps/zunger/keymap.c similarity index 100% rename from keyboards/melody96/keymaps/zunger/keymap.c rename to keyboards/ymdk/melody96/keymaps/zunger/keymap.c diff --git a/keyboards/melody96/keymaps/zunger/readme.md b/keyboards/ymdk/melody96/keymaps/zunger/readme.md similarity index 100% rename from keyboards/melody96/keymaps/zunger/readme.md rename to keyboards/ymdk/melody96/keymaps/zunger/readme.md diff --git a/keyboards/melody96/keymaps/zunger/rules.mk b/keyboards/ymdk/melody96/keymaps/zunger/rules.mk similarity index 100% rename from keyboards/melody96/keymaps/zunger/rules.mk rename to keyboards/ymdk/melody96/keymaps/zunger/rules.mk diff --git a/keyboards/melody96/melody96.c b/keyboards/ymdk/melody96/melody96.c similarity index 100% rename from keyboards/melody96/melody96.c rename to keyboards/ymdk/melody96/melody96.c diff --git a/keyboards/melody96/melody96.h b/keyboards/ymdk/melody96/melody96.h similarity index 100% rename from keyboards/melody96/melody96.h rename to keyboards/ymdk/melody96/melody96.h diff --git a/keyboards/melody96/readme.md b/keyboards/ymdk/melody96/readme.md similarity index 96% rename from keyboards/melody96/readme.md rename to keyboards/ymdk/melody96/readme.md index 16338e9ed3c9..a6bf470b321b 100644 --- a/keyboards/melody96/readme.md +++ b/keyboards/ymdk/melody96/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): - make melody96:default + make ymdk/melody96:default Flashing example for this keyboard: diff --git a/keyboards/melody96/rules.mk b/keyboards/ymdk/melody96/rules.mk similarity index 100% rename from keyboards/melody96/rules.mk rename to keyboards/ymdk/melody96/rules.mk From bd8220e9fc871d7997f1565858bb7b3c77756237 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Wed, 20 Apr 2022 03:19:34 +0800 Subject: [PATCH 0578/1832] move amj keyboards into amjkeyboard vendor folder (#15733) Co-authored-by: Nick Brassel --- keyboards/{ => amjkeyboard}/amj40/amj40.c | 0 keyboards/{ => amjkeyboard}/amj40/amj40.h | 0 keyboards/{ => amjkeyboard}/amj40/config.h | 2 +- keyboards/{ => amjkeyboard}/amj40/info.json | 0 keyboards/{ => amjkeyboard}/amj40/keymaps/default/keymap.c | 0 keyboards/{ => amjkeyboard}/amj40/keymaps/default/readme.md | 0 .../amj40/keymaps/default_625u_space/keymap.c | 0 .../amj40/keymaps/default_ortho_275u_space/keymap.c | 0 .../amj40/keymaps/default_ortho_600u_space/keymap.c | 0 keyboards/{ => amjkeyboard}/amj40/keymaps/fabian/keymap.c | 0 keyboards/{ => amjkeyboard}/amj40/keymaps/fabian/rules.mk | 0 .../{ => amjkeyboard}/amj40/keymaps/jetpacktuxedo/config.h | 0 .../{ => amjkeyboard}/amj40/keymaps/jetpacktuxedo/keymap.c | 0 .../{ => amjkeyboard}/amj40/keymaps/jetpacktuxedo/readme.md | 0 .../{ => amjkeyboard}/amj40/keymaps/jetpacktuxedo/rules.mk | 0 keyboards/{ => amjkeyboard}/amj40/keymaps/myee/build.sh | 0 keyboards/{ => amjkeyboard}/amj40/keymaps/myee/config.h | 0 keyboards/{ => amjkeyboard}/amj40/keymaps/myee/keymap.c | 0 keyboards/{ => amjkeyboard}/amj40/keymaps/myee/readme.md | 0 keyboards/{ => amjkeyboard}/amj40/keymaps/myee/rules.mk | 0 keyboards/{ => amjkeyboard}/amj40/keymaps/myee/updatemerge.sh | 0 keyboards/{ => amjkeyboard}/amj40/readme.md | 4 ++-- keyboards/{ => amjkeyboard}/amj40/rules.mk | 0 keyboards/{ => amjkeyboard}/amj60/amj60.c | 0 keyboards/{ => amjkeyboard}/amj60/amj60.h | 0 keyboards/{ => amjkeyboard}/amj60/config.h | 2 +- keyboards/{ => amjkeyboard}/amj60/info.json | 0 keyboards/{ => amjkeyboard}/amj60/keymaps/default/keymap.c | 0 keyboards/{ => amjkeyboard}/amj60/readme.md | 4 ++-- keyboards/{ => amjkeyboard}/amj60/rules.mk | 0 keyboards/amjkeyboard/amj66/config.h | 2 +- keyboards/{ => amjkeyboard}/amj96/amj96.c | 0 keyboards/{ => amjkeyboard}/amj96/amj96.h | 0 keyboards/{ => amjkeyboard}/amj96/config.h | 2 +- keyboards/{ => amjkeyboard}/amj96/info.json | 0 keyboards/{ => amjkeyboard}/amj96/keymaps/default/keymap.c | 0 keyboards/{ => amjkeyboard}/amj96/matrix.c | 0 keyboards/{ => amjkeyboard}/amj96/readme.md | 4 ++-- keyboards/{ => amjkeyboard}/amj96/rules.mk | 0 keyboards/{ => amjkeyboard}/amjpad/amjpad.c | 0 keyboards/{ => amjkeyboard}/amjpad/amjpad.h | 0 keyboards/{ => amjkeyboard}/amjpad/config.h | 2 +- keyboards/{ => amjkeyboard}/amjpad/info.json | 0 keyboards/{ => amjkeyboard}/amjpad/keymaps/default/keymap.c | 0 keyboards/{ => amjkeyboard}/amjpad/keymaps/max/keymap.c | 0 .../{ => amjkeyboard}/amjpad/keymaps/ortho_left/keymap.c | 0 .../{ => amjkeyboard}/amjpad/keymaps/ortho_right/keymap.c | 0 keyboards/{ => amjkeyboard}/amjpad/readme.md | 2 +- keyboards/{ => amjkeyboard}/amjpad/rules.mk | 0 49 files changed, 12 insertions(+), 12 deletions(-) rename keyboards/{ => amjkeyboard}/amj40/amj40.c (100%) rename keyboards/{ => amjkeyboard}/amj40/amj40.h (100%) rename keyboards/{ => amjkeyboard}/amj40/config.h (98%) rename keyboards/{ => amjkeyboard}/amj40/info.json (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/default/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/default/readme.md (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/default_625u_space/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/default_ortho_275u_space/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/default_ortho_600u_space/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/fabian/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/fabian/rules.mk (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/jetpacktuxedo/config.h (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/jetpacktuxedo/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/jetpacktuxedo/readme.md (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/jetpacktuxedo/rules.mk (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/myee/build.sh (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/myee/config.h (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/myee/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/myee/readme.md (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/myee/rules.mk (100%) rename keyboards/{ => amjkeyboard}/amj40/keymaps/myee/updatemerge.sh (100%) rename keyboards/{ => amjkeyboard}/amj40/readme.md (93%) rename keyboards/{ => amjkeyboard}/amj40/rules.mk (100%) rename keyboards/{ => amjkeyboard}/amj60/amj60.c (100%) rename keyboards/{ => amjkeyboard}/amj60/amj60.h (100%) rename keyboards/{ => amjkeyboard}/amj60/config.h (98%) rename keyboards/{ => amjkeyboard}/amj60/info.json (100%) rename keyboards/{ => amjkeyboard}/amj60/keymaps/default/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amj60/readme.md (92%) rename keyboards/{ => amjkeyboard}/amj60/rules.mk (100%) rename keyboards/{ => amjkeyboard}/amj96/amj96.c (100%) rename keyboards/{ => amjkeyboard}/amj96/amj96.h (100%) rename keyboards/{ => amjkeyboard}/amj96/config.h (99%) rename keyboards/{ => amjkeyboard}/amj96/info.json (100%) rename keyboards/{ => amjkeyboard}/amj96/keymaps/default/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amj96/matrix.c (100%) rename keyboards/{ => amjkeyboard}/amj96/readme.md (91%) rename keyboards/{ => amjkeyboard}/amj96/rules.mk (100%) rename keyboards/{ => amjkeyboard}/amjpad/amjpad.c (100%) rename keyboards/{ => amjkeyboard}/amjpad/amjpad.h (100%) rename keyboards/{ => amjkeyboard}/amjpad/config.h (98%) rename keyboards/{ => amjkeyboard}/amjpad/info.json (100%) rename keyboards/{ => amjkeyboard}/amjpad/keymaps/default/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amjpad/keymaps/max/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amjpad/keymaps/ortho_left/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amjpad/keymaps/ortho_right/keymap.c (100%) rename keyboards/{ => amjkeyboard}/amjpad/readme.md (92%) rename keyboards/{ => amjkeyboard}/amjpad/rules.mk (100%) diff --git a/keyboards/amj40/amj40.c b/keyboards/amjkeyboard/amj40/amj40.c similarity index 100% rename from keyboards/amj40/amj40.c rename to keyboards/amjkeyboard/amj40/amj40.c diff --git a/keyboards/amj40/amj40.h b/keyboards/amjkeyboard/amj40/amj40.h similarity index 100% rename from keyboards/amj40/amj40.h rename to keyboards/amjkeyboard/amj40/amj40.h diff --git a/keyboards/amj40/config.h b/keyboards/amjkeyboard/amj40/config.h similarity index 98% rename from keyboards/amj40/config.h rename to keyboards/amjkeyboard/amj40/config.h index 71a8d34413e8..2f472eac01b2 100755 --- a/keyboards/amj40/config.h +++ b/keyboards/amjkeyboard/amj40/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED +#define VENDOR_ID 0x00D8 //A+M+J #define PRODUCT_ID 0x6072 #define DEVICE_VER 0x0002 #define MANUFACTURER Han Chen diff --git a/keyboards/amj40/info.json b/keyboards/amjkeyboard/amj40/info.json similarity index 100% rename from keyboards/amj40/info.json rename to keyboards/amjkeyboard/amj40/info.json diff --git a/keyboards/amj40/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/default/keymap.c similarity index 100% rename from keyboards/amj40/keymaps/default/keymap.c rename to keyboards/amjkeyboard/amj40/keymaps/default/keymap.c diff --git a/keyboards/amj40/keymaps/default/readme.md b/keyboards/amjkeyboard/amj40/keymaps/default/readme.md similarity index 100% rename from keyboards/amj40/keymaps/default/readme.md rename to keyboards/amjkeyboard/amj40/keymaps/default/readme.md diff --git a/keyboards/amj40/keymaps/default_625u_space/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/default_625u_space/keymap.c similarity index 100% rename from keyboards/amj40/keymaps/default_625u_space/keymap.c rename to keyboards/amjkeyboard/amj40/keymaps/default_625u_space/keymap.c diff --git a/keyboards/amj40/keymaps/default_ortho_275u_space/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/default_ortho_275u_space/keymap.c similarity index 100% rename from keyboards/amj40/keymaps/default_ortho_275u_space/keymap.c rename to keyboards/amjkeyboard/amj40/keymaps/default_ortho_275u_space/keymap.c diff --git a/keyboards/amj40/keymaps/default_ortho_600u_space/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/default_ortho_600u_space/keymap.c similarity index 100% rename from keyboards/amj40/keymaps/default_ortho_600u_space/keymap.c rename to keyboards/amjkeyboard/amj40/keymaps/default_ortho_600u_space/keymap.c diff --git a/keyboards/amj40/keymaps/fabian/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/fabian/keymap.c similarity index 100% rename from keyboards/amj40/keymaps/fabian/keymap.c rename to keyboards/amjkeyboard/amj40/keymaps/fabian/keymap.c diff --git a/keyboards/amj40/keymaps/fabian/rules.mk b/keyboards/amjkeyboard/amj40/keymaps/fabian/rules.mk similarity index 100% rename from keyboards/amj40/keymaps/fabian/rules.mk rename to keyboards/amjkeyboard/amj40/keymaps/fabian/rules.mk diff --git a/keyboards/amj40/keymaps/jetpacktuxedo/config.h b/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/config.h similarity index 100% rename from keyboards/amj40/keymaps/jetpacktuxedo/config.h rename to keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/config.h diff --git a/keyboards/amj40/keymaps/jetpacktuxedo/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/keymap.c similarity index 100% rename from keyboards/amj40/keymaps/jetpacktuxedo/keymap.c rename to keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/keymap.c diff --git a/keyboards/amj40/keymaps/jetpacktuxedo/readme.md b/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/readme.md similarity index 100% rename from keyboards/amj40/keymaps/jetpacktuxedo/readme.md rename to keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/readme.md diff --git a/keyboards/amj40/keymaps/jetpacktuxedo/rules.mk b/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/rules.mk similarity index 100% rename from keyboards/amj40/keymaps/jetpacktuxedo/rules.mk rename to keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/rules.mk diff --git a/keyboards/amj40/keymaps/myee/build.sh b/keyboards/amjkeyboard/amj40/keymaps/myee/build.sh similarity index 100% rename from keyboards/amj40/keymaps/myee/build.sh rename to keyboards/amjkeyboard/amj40/keymaps/myee/build.sh diff --git a/keyboards/amj40/keymaps/myee/config.h b/keyboards/amjkeyboard/amj40/keymaps/myee/config.h similarity index 100% rename from keyboards/amj40/keymaps/myee/config.h rename to keyboards/amjkeyboard/amj40/keymaps/myee/config.h diff --git a/keyboards/amj40/keymaps/myee/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/myee/keymap.c similarity index 100% rename from keyboards/amj40/keymaps/myee/keymap.c rename to keyboards/amjkeyboard/amj40/keymaps/myee/keymap.c diff --git a/keyboards/amj40/keymaps/myee/readme.md b/keyboards/amjkeyboard/amj40/keymaps/myee/readme.md similarity index 100% rename from keyboards/amj40/keymaps/myee/readme.md rename to keyboards/amjkeyboard/amj40/keymaps/myee/readme.md diff --git a/keyboards/amj40/keymaps/myee/rules.mk b/keyboards/amjkeyboard/amj40/keymaps/myee/rules.mk similarity index 100% rename from keyboards/amj40/keymaps/myee/rules.mk rename to keyboards/amjkeyboard/amj40/keymaps/myee/rules.mk diff --git a/keyboards/amj40/keymaps/myee/updatemerge.sh b/keyboards/amjkeyboard/amj40/keymaps/myee/updatemerge.sh similarity index 100% rename from keyboards/amj40/keymaps/myee/updatemerge.sh rename to keyboards/amjkeyboard/amj40/keymaps/myee/updatemerge.sh diff --git a/keyboards/amj40/readme.md b/keyboards/amjkeyboard/amj40/readme.md similarity index 93% rename from keyboards/amj40/readme.md rename to keyboards/amjkeyboard/amj40/readme.md index 1d7316fcf598..f557b9df4958 100755 --- a/keyboards/amj40/readme.md +++ b/keyboards/amjkeyboard/amj40/readme.md @@ -12,11 +12,11 @@ DIY/Assembled compact 40% keyboard. Make example for this keyboard (after setting up your build environment): - make amj40:default + make amjkeyboard/amj40:default Flashing example for this keyboard: - make amj40:default:flash + make amjkeyboard/amj40:default:flash To reset the board into bootloader mode, hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings). diff --git a/keyboards/amj40/rules.mk b/keyboards/amjkeyboard/amj40/rules.mk similarity index 100% rename from keyboards/amj40/rules.mk rename to keyboards/amjkeyboard/amj40/rules.mk diff --git a/keyboards/amj60/amj60.c b/keyboards/amjkeyboard/amj60/amj60.c similarity index 100% rename from keyboards/amj60/amj60.c rename to keyboards/amjkeyboard/amj60/amj60.c diff --git a/keyboards/amj60/amj60.h b/keyboards/amjkeyboard/amj60/amj60.h similarity index 100% rename from keyboards/amj60/amj60.h rename to keyboards/amjkeyboard/amj60/amj60.h diff --git a/keyboards/amj60/config.h b/keyboards/amjkeyboard/amj60/config.h similarity index 98% rename from keyboards/amj60/config.h rename to keyboards/amjkeyboard/amj60/config.h index 1c25e4fea058..4e894a45fcac 100644 --- a/keyboards/amj60/config.h +++ b/keyboards/amjkeyboard/amj60/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED +#define VENDOR_ID 0x00D8 //A+M+J #define PRODUCT_ID 0x6066 #define DEVICE_VER 0x0001 #define MANUFACTURER Han Chen diff --git a/keyboards/amj60/info.json b/keyboards/amjkeyboard/amj60/info.json similarity index 100% rename from keyboards/amj60/info.json rename to keyboards/amjkeyboard/amj60/info.json diff --git a/keyboards/amj60/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj60/keymaps/default/keymap.c similarity index 100% rename from keyboards/amj60/keymaps/default/keymap.c rename to keyboards/amjkeyboard/amj60/keymaps/default/keymap.c diff --git a/keyboards/amj60/readme.md b/keyboards/amjkeyboard/amj60/readme.md similarity index 92% rename from keyboards/amj60/readme.md rename to keyboards/amjkeyboard/amj60/readme.md index 50cf3cfcb23b..8f276bd89fca 100644 --- a/keyboards/amj60/readme.md +++ b/keyboards/amjkeyboard/amj60/readme.md @@ -11,11 +11,11 @@ A 60% keyboard. Make example for this keyboard (after setting up your build environment): - make amj60:default + make amjkeyboard/amj60:default Flashing example for this keyboard: - make amj60:default:flash + make amjkeyboard/amj60:default:flash To reset the board into bootloader mode, tap the Reset switch mounted on the bottom side of the PCB. diff --git a/keyboards/amj60/rules.mk b/keyboards/amjkeyboard/amj60/rules.mk similarity index 100% rename from keyboards/amj60/rules.mk rename to keyboards/amjkeyboard/amj60/rules.mk diff --git a/keyboards/amjkeyboard/amj66/config.h b/keyboards/amjkeyboard/amj66/config.h index 1f8a930a6ac1..cc84524b0b3a 100644 --- a/keyboards/amjkeyboard/amj66/config.h +++ b/keyboards/amjkeyboard/amj66/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED +#define VENDOR_ID 0x00D8 //A+M+J #define PRODUCT_ID 0xBD66 #define DEVICE_VER 0x0001 #define MANUFACTURER AMJKeyboard diff --git a/keyboards/amj96/amj96.c b/keyboards/amjkeyboard/amj96/amj96.c similarity index 100% rename from keyboards/amj96/amj96.c rename to keyboards/amjkeyboard/amj96/amj96.c diff --git a/keyboards/amj96/amj96.h b/keyboards/amjkeyboard/amj96/amj96.h similarity index 100% rename from keyboards/amj96/amj96.h rename to keyboards/amjkeyboard/amj96/amj96.h diff --git a/keyboards/amj96/config.h b/keyboards/amjkeyboard/amj96/config.h similarity index 99% rename from keyboards/amj96/config.h rename to keyboards/amjkeyboard/amj96/config.h index f5b26220b797..67b3699047d0 100644 --- a/keyboards/amj96/config.h +++ b/keyboards/amjkeyboard/amj96/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED +#define VENDOR_ID 0x00D8 //A+M+J #define PRODUCT_ID 0x6074 #define DEVICE_VER 0x0002 #define MANUFACTURER Han Chen diff --git a/keyboards/amj96/info.json b/keyboards/amjkeyboard/amj96/info.json similarity index 100% rename from keyboards/amj96/info.json rename to keyboards/amjkeyboard/amj96/info.json diff --git a/keyboards/amj96/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj96/keymaps/default/keymap.c similarity index 100% rename from keyboards/amj96/keymaps/default/keymap.c rename to keyboards/amjkeyboard/amj96/keymaps/default/keymap.c diff --git a/keyboards/amj96/matrix.c b/keyboards/amjkeyboard/amj96/matrix.c similarity index 100% rename from keyboards/amj96/matrix.c rename to keyboards/amjkeyboard/amj96/matrix.c diff --git a/keyboards/amj96/readme.md b/keyboards/amjkeyboard/amj96/readme.md similarity index 91% rename from keyboards/amj96/readme.md rename to keyboards/amjkeyboard/amj96/readme.md index 8cd4ea94a1d0..0941b6f3e1bf 100644 --- a/keyboards/amj96/readme.md +++ b/keyboards/amjkeyboard/amj96/readme.md @@ -8,11 +8,11 @@ The AMD96 is a 96 key custom keyboard with anodized aluminum case, twin usb port Make example for this keyboard (after setting up your build environment): - make amj96:default + make amjkeyboard/amj96:default Flashing example for this keyboard: - make amj96:default:flash + make amjkeyboard/amj96:default:flash 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/amj96/rules.mk b/keyboards/amjkeyboard/amj96/rules.mk similarity index 100% rename from keyboards/amj96/rules.mk rename to keyboards/amjkeyboard/amj96/rules.mk diff --git a/keyboards/amjpad/amjpad.c b/keyboards/amjkeyboard/amjpad/amjpad.c similarity index 100% rename from keyboards/amjpad/amjpad.c rename to keyboards/amjkeyboard/amjpad/amjpad.c diff --git a/keyboards/amjpad/amjpad.h b/keyboards/amjkeyboard/amjpad/amjpad.h similarity index 100% rename from keyboards/amjpad/amjpad.h rename to keyboards/amjkeyboard/amjpad/amjpad.h diff --git a/keyboards/amjpad/config.h b/keyboards/amjkeyboard/amjpad/config.h similarity index 98% rename from keyboards/amjpad/config.h rename to keyboards/amjkeyboard/amjpad/config.h index dd8ed34e4746..fe621b7bf3cd 100644 --- a/keyboards/amjpad/config.h +++ b/keyboards/amjkeyboard/amjpad/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED +#define VENDOR_ID 0x00D8 //A+M+J #define PRODUCT_ID 0x6060 #define DEVICE_VER 0x0003 #define MANUFACTURER AMJ diff --git a/keyboards/amjpad/info.json b/keyboards/amjkeyboard/amjpad/info.json similarity index 100% rename from keyboards/amjpad/info.json rename to keyboards/amjkeyboard/amjpad/info.json diff --git a/keyboards/amjpad/keymaps/default/keymap.c b/keyboards/amjkeyboard/amjpad/keymaps/default/keymap.c similarity index 100% rename from keyboards/amjpad/keymaps/default/keymap.c rename to keyboards/amjkeyboard/amjpad/keymaps/default/keymap.c diff --git a/keyboards/amjpad/keymaps/max/keymap.c b/keyboards/amjkeyboard/amjpad/keymaps/max/keymap.c similarity index 100% rename from keyboards/amjpad/keymaps/max/keymap.c rename to keyboards/amjkeyboard/amjpad/keymaps/max/keymap.c diff --git a/keyboards/amjpad/keymaps/ortho_left/keymap.c b/keyboards/amjkeyboard/amjpad/keymaps/ortho_left/keymap.c similarity index 100% rename from keyboards/amjpad/keymaps/ortho_left/keymap.c rename to keyboards/amjkeyboard/amjpad/keymaps/ortho_left/keymap.c diff --git a/keyboards/amjpad/keymaps/ortho_right/keymap.c b/keyboards/amjkeyboard/amjpad/keymaps/ortho_right/keymap.c similarity index 100% rename from keyboards/amjpad/keymaps/ortho_right/keymap.c rename to keyboards/amjkeyboard/amjpad/keymaps/ortho_right/keymap.c diff --git a/keyboards/amjpad/readme.md b/keyboards/amjkeyboard/amjpad/readme.md similarity index 92% rename from keyboards/amjpad/readme.md rename to keyboards/amjkeyboard/amjpad/readme.md index c069af25ade7..98af32edef97 100644 --- a/keyboards/amjpad/readme.md +++ b/keyboards/amjkeyboard/amjpad/readme.md @@ -9,6 +9,6 @@ Hardware Availability: https://geekhack.org/index.php?topic=83546.0 Make example for this keyboard (after setting up your build environment): - make amjpad:default + make amjkeyboard/amjpad:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/amjpad/rules.mk b/keyboards/amjkeyboard/amjpad/rules.mk similarity index 100% rename from keyboards/amjpad/rules.mk rename to keyboards/amjkeyboard/amjpad/rules.mk From 580a5d25cb4a71775a2f376b58bbcd089aa1e95f Mon Sep 17 00:00:00 2001 From: jels <66403163+Jels02@users.noreply.github.com> Date: Wed, 20 Apr 2022 17:46:30 +1000 Subject: [PATCH 0579/1832] Fixed error in config (#16895) --- keyboards/jels/jels60/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jels/jels60/config.h b/keyboards/jels/jels60/config.h index 0157da213c17..6805018dd722 100644 --- a/keyboards/jels/jels60/config.h +++ b/keyboards/jels/jels60/config.h @@ -30,7 +30,7 @@ #define MATRIX_COLS 14 /*Define Matrix Pins */ -#define MATRIX_ROW_PINS {B3, D1, F0, F4, F1} +#define MATRIX_ROW_PINS {B3, D2, F0, F4, F1} #define MATRIX_COL_PINS {E6, C7, B4, D7, D6, D4, D5, D3, F5, F6, F7, C6, B6, B5} // Caps lock Pin From 81be7bb7b573e354c88ed6381d89e6613f4febc6 Mon Sep 17 00:00:00 2001 From: jpe230 Date: Wed, 20 Apr 2022 12:10:20 -0500 Subject: [PATCH 0580/1832] Fix i2c driver doc: Incorrect name (#16898) --- docs/i2c_driver.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/i2c_driver.md b/docs/i2c_driver.md index 95c588af4415..f4e6c6619e64 100644 --- a/docs/i2c_driver.md +++ b/docs/i2c_driver.md @@ -166,7 +166,7 @@ Send multiple bytes to the selected I2C device. ### `i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout)` -Receive multiple bytes from the selected SPI device. +Receive multiple bytes from the selected I2C device. #### Arguments From fb4f25c0b57a9881f773cb2ac356bc84f06d488d Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Thu, 21 Apr 2022 17:08:47 +0100 Subject: [PATCH 0581/1832] [Keyboard] Fix kin80 default keymap (#16893) --- keyboards/kin80/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/kin80/keymaps/default/keymap.c b/keyboards/kin80/keymaps/default/keymap.c index 5da48745107b..9ef3e2b2fc2c 100644 --- a/keyboards/kin80/keymaps/default/keymap.c +++ b/keyboards/kin80/keymaps/default/keymap.c @@ -97,6 +97,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { layer_state_t layer_state_set_user(layer_state_t state) { - writePin(LED4_PIN, layer_state_cmp(state, _L2)); + writePin(LED4_PIN, layer_state_cmp(state, _NM)); return state; } From 1e389c7904e42df36d8a2f64b315b83f70aa9b60 Mon Sep 17 00:00:00 2001 From: Simon Arlott <70171+nomis@users.noreply.github.com> Date: Thu, 21 Apr 2022 17:33:29 +0100 Subject: [PATCH 0582/1832] rgblight: Fix rgblight_blink_layer when multiple layers are active (#16824) --- quantum/rgblight/rgblight.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index f4ddb81e9232..3bacbda8763b 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -829,18 +829,19 @@ void rgblight_blink_layer_repeat(uint8_t layer, uint16_t duration_ms, uint8_t ti void rgblight_blink_layer_repeat_helper(void) { if (_blinking_layer_mask != 0 && timer_expired(sync_timer_read(), _repeat_timer)) { for (uint8_t layer = 0; layer < RGBLIGHT_MAX_LAYERS; layer++) { - if ((_blinking_layer_mask & (rgblight_layer_mask_t)1 << layer) != 0 && _times_remaining > 0) { + if ((_blinking_layer_mask & (rgblight_layer_mask_t)1 << layer) != 0) { if (_times_remaining % 2 == 1) { rgblight_set_layer_state(layer, false); } else { rgblight_set_layer_state(layer, true); } - _times_remaining--; - _repeat_timer = sync_timer_read() + _dur; } } + _times_remaining--; if (_times_remaining <= 0) { _blinking_layer_mask = 0; + } else { + _repeat_timer = sync_timer_read() + _dur; } } } From 969c68a9ad1474f578e69469807cf5e3405cd3ae Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 21 Apr 2022 22:03:28 +0100 Subject: [PATCH 0583/1832] Provide better config defaults for bluepill boards (#16909) --- keyboards/bt66tech/bt66tech60/chconf.h | 29 ------------------- keyboards/cannonkeys/ortho48/chconf.h | 29 ------------------- keyboards/cannonkeys/ortho60/chconf.h | 29 ------------------- keyboards/cannonkeys/ortho75/chconf.h | 29 ------------------- keyboards/cannonkeys/practice60/chconf.h | 29 ------------------- keyboards/cannonkeys/practice65/chconf.h | 29 ------------------- keyboards/converter/siemens_tastatur/chconf.h | 29 ------------------- keyboards/handwired/onekey/bluepill/chconf.h | 28 ------------------ keyboards/handwired/pill60/bluepill/chconf.h | 29 ------------------- keyboards/handwired/sono1/stm32f103/chconf.h | 28 ------------------ keyboards/handwired/t111/chconf.h | 29 ------------------- keyboards/handwired/z150/chconf.h | 29 ------------------- keyboards/kabedon/kabedon98e/chconf.h | 28 ------------------ keyboards/mechlovin/hex4b/rev2/chconf.h | 24 --------------- keyboards/mlego/m65/rev1/chconf.h | 28 ------------------ keyboards/mlego/m65/rev2/chconf.h | 28 ------------------ keyboards/ramonimbao/squishyfrl/chconf.h | 24 --------------- keyboards/ramonimbao/squishytkl/chconf.h | 24 --------------- keyboards/rart/rartlice/chconf.h | 29 ------------------- .../tronguylabs/m122_3270/bluepill/chconf.h | 29 ------------------- keyboards/zvecr/split_blackpill/chconf.h | 29 ------------------- .../STM32_F103_STM32DUINO/configs/chconf.h | 8 +++++ 22 files changed, 8 insertions(+), 589 deletions(-) delete mode 100644 keyboards/bt66tech/bt66tech60/chconf.h delete mode 100644 keyboards/cannonkeys/ortho48/chconf.h delete mode 100644 keyboards/cannonkeys/ortho60/chconf.h delete mode 100644 keyboards/cannonkeys/ortho75/chconf.h delete mode 100644 keyboards/cannonkeys/practice60/chconf.h delete mode 100644 keyboards/cannonkeys/practice65/chconf.h delete mode 100644 keyboards/converter/siemens_tastatur/chconf.h delete mode 100644 keyboards/handwired/onekey/bluepill/chconf.h delete mode 100644 keyboards/handwired/pill60/bluepill/chconf.h delete mode 100644 keyboards/handwired/sono1/stm32f103/chconf.h delete mode 100644 keyboards/handwired/t111/chconf.h delete mode 100644 keyboards/handwired/z150/chconf.h delete mode 100644 keyboards/kabedon/kabedon98e/chconf.h delete mode 100644 keyboards/mechlovin/hex4b/rev2/chconf.h delete mode 100644 keyboards/mlego/m65/rev1/chconf.h delete mode 100644 keyboards/mlego/m65/rev2/chconf.h delete mode 100644 keyboards/ramonimbao/squishyfrl/chconf.h delete mode 100644 keyboards/ramonimbao/squishytkl/chconf.h delete mode 100644 keyboards/rart/rartlice/chconf.h delete mode 100644 keyboards/tronguylabs/m122_3270/bluepill/chconf.h delete mode 100644 keyboards/zvecr/split_blackpill/chconf.h create mode 100644 platforms/chibios/boards/STM32_F103_STM32DUINO/configs/chconf.h diff --git a/keyboards/bt66tech/bt66tech60/chconf.h b/keyboards/bt66tech/bt66tech60/chconf.h deleted file mode 100644 index 93c4ebe40522..000000000000 --- a/keyboards/bt66tech/bt66tech60/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/bt66tech/bt66tech60/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/cannonkeys/ortho48/chconf.h b/keyboards/cannonkeys/ortho48/chconf.h deleted file mode 100644 index 583eb9febf0d..000000000000 --- a/keyboards/cannonkeys/ortho48/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/cannonkeys/ortho48/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/cannonkeys/ortho60/chconf.h b/keyboards/cannonkeys/ortho60/chconf.h deleted file mode 100644 index ae16c0f7478d..000000000000 --- a/keyboards/cannonkeys/ortho60/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/cannonkeys/ortho60/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/cannonkeys/ortho75/chconf.h b/keyboards/cannonkeys/ortho75/chconf.h deleted file mode 100644 index 2bf13952d944..000000000000 --- a/keyboards/cannonkeys/ortho75/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/cannonkeys/ortho75/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/cannonkeys/practice60/chconf.h b/keyboards/cannonkeys/practice60/chconf.h deleted file mode 100644 index ddf9c24df7df..000000000000 --- a/keyboards/cannonkeys/practice60/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/cannonkeys/practice60/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/cannonkeys/practice65/chconf.h b/keyboards/cannonkeys/practice65/chconf.h deleted file mode 100644 index 0f412cfbf4ec..000000000000 --- a/keyboards/cannonkeys/practice65/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/cannonkeys/practice65/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/converter/siemens_tastatur/chconf.h b/keyboards/converter/siemens_tastatur/chconf.h deleted file mode 100644 index eed5776e7789..000000000000 --- a/keyboards/converter/siemens_tastatur/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/converter/siemens_tastatur/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/handwired/onekey/bluepill/chconf.h b/keyboards/handwired/onekey/bluepill/chconf.h deleted file mode 100644 index 63236f2c2c8c..000000000000 --- a/keyboards/handwired/onekey/bluepill/chconf.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next diff --git a/keyboards/handwired/pill60/bluepill/chconf.h b/keyboards/handwired/pill60/bluepill/chconf.h deleted file mode 100644 index c92d2a276dee..000000000000 --- a/keyboards/handwired/pill60/bluepill/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/handwired/pill60/bluepill/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/handwired/sono1/stm32f103/chconf.h b/keyboards/handwired/sono1/stm32f103/chconf.h deleted file mode 100644 index 63236f2c2c8c..000000000000 --- a/keyboards/handwired/sono1/stm32f103/chconf.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next diff --git a/keyboards/handwired/t111/chconf.h b/keyboards/handwired/t111/chconf.h deleted file mode 100644 index 962653ec4c66..000000000000 --- a/keyboards/handwired/t111/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/handwired/t111/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/handwired/z150/chconf.h b/keyboards/handwired/z150/chconf.h deleted file mode 100644 index 975667df0e21..000000000000 --- a/keyboards/handwired/z150/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/handwired/z150/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/kabedon/kabedon98e/chconf.h b/keyboards/kabedon/kabedon98e/chconf.h deleted file mode 100644 index f07706dfdacb..000000000000 --- a/keyboards/kabedon/kabedon98e/chconf.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/keyboards/kabedon/kabedon98e/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next diff --git a/keyboards/mechlovin/hex4b/rev2/chconf.h b/keyboards/mechlovin/hex4b/rev2/chconf.h deleted file mode 100644 index fe716d6552be..000000000000 --- a/keyboards/mechlovin/hex4b/rev2/chconf.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/mlego/m65/rev1/chconf.h b/keyboards/mlego/m65/rev1/chconf.h deleted file mode 100644 index 3ca88e0d2ab0..000000000000 --- a/keyboards/mlego/m65/rev1/chconf.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2021-2022 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/m65/rev1/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next diff --git a/keyboards/mlego/m65/rev2/chconf.h b/keyboards/mlego/m65/rev2/chconf.h deleted file mode 100644 index 3ca88e0d2ab0..000000000000 --- a/keyboards/mlego/m65/rev2/chconf.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2021-2022 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/m65/rev1/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next diff --git a/keyboards/ramonimbao/squishyfrl/chconf.h b/keyboards/ramonimbao/squishyfrl/chconf.h deleted file mode 100644 index ce018f56a73b..000000000000 --- a/keyboards/ramonimbao/squishyfrl/chconf.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next diff --git a/keyboards/ramonimbao/squishytkl/chconf.h b/keyboards/ramonimbao/squishytkl/chconf.h deleted file mode 100644 index ce018f56a73b..000000000000 --- a/keyboards/ramonimbao/squishytkl/chconf.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next diff --git a/keyboards/rart/rartlice/chconf.h b/keyboards/rart/rartlice/chconf.h deleted file mode 100644 index 0a89eb248c02..000000000000 --- a/keyboards/rart/rartlice/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/rart/rartlice/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/tronguylabs/m122_3270/bluepill/chconf.h b/keyboards/tronguylabs/m122_3270/bluepill/chconf.h deleted file mode 100644 index c7a982aedd00..000000000000 --- a/keyboards/tronguylabs/m122_3270/bluepill/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/zvecr/split_blackpill/chconf.h b/keyboards/zvecr/split_blackpill/chconf.h deleted file mode 100644 index e98ee9d790b0..000000000000 --- a/keyboards/zvecr/split_blackpill/chconf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/zvecr/split_blackpill/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/platforms/chibios/boards/STM32_F103_STM32DUINO/configs/chconf.h b/platforms/chibios/boards/STM32_F103_STM32DUINO/configs/chconf.h new file mode 100644 index 000000000000..0349c11dccba --- /dev/null +++ b/platforms/chibios/boards/STM32_F103_STM32DUINO/configs/chconf.h @@ -0,0 +1,8 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define CH_CFG_ST_TIMEDELTA 0 + +#include_next From 8f692e22e3ce176671bbdde51478ce0e6a57875b Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Fri, 22 Apr 2022 06:33:08 +0900 Subject: [PATCH 0584/1832] Helix/rev2 move to split common (#16723) --- keyboards/helix/local_drivers/i2c.c | 159 ----- keyboards/helix/local_drivers/i2c.h | 46 -- keyboards/helix/local_drivers/serial.c | 589 ------------------ keyboards/helix/local_drivers/serial.h | 86 --- keyboards/helix/local_drivers/ssd1306.c | 341 ---------- keyboards/helix/local_drivers/ssd1306.h | 89 --- keyboards/helix/rev2/config.h | 6 - keyboards/helix/rev2/custom/matrix.c | 341 ---------- keyboards/helix/rev2/custom/split_scomm.c | 92 --- keyboards/helix/rev2/custom/split_scomm.h | 21 - keyboards/helix/rev2/custom/split_util.c | 109 ---- keyboards/helix/rev2/custom/split_util.h | 21 - .../helix/rev2/keymaps/default/oled_display.c | 196 ++++-- keyboards/helix/rev2/local_features.mk | 53 +- ... => override_helix_options.mk-maintenance} | 0 keyboards/helix/rev2/rev2.c | 16 +- keyboards/helix/rev2/rules.mk | 7 +- 17 files changed, 133 insertions(+), 2039 deletions(-) delete mode 100644 keyboards/helix/local_drivers/i2c.c delete mode 100644 keyboards/helix/local_drivers/i2c.h delete mode 100644 keyboards/helix/local_drivers/serial.c delete mode 100644 keyboards/helix/local_drivers/serial.h delete mode 100644 keyboards/helix/local_drivers/ssd1306.c delete mode 100644 keyboards/helix/local_drivers/ssd1306.h delete mode 100644 keyboards/helix/rev2/custom/matrix.c delete mode 100644 keyboards/helix/rev2/custom/split_scomm.c delete mode 100644 keyboards/helix/rev2/custom/split_scomm.h delete mode 100644 keyboards/helix/rev2/custom/split_util.c delete mode 100644 keyboards/helix/rev2/custom/split_util.h rename keyboards/helix/rev2/{override_helix_options.mk => override_helix_options.mk-maintenance} (100%) diff --git a/keyboards/helix/local_drivers/i2c.c b/keyboards/helix/local_drivers/i2c.c deleted file mode 100644 index 9221429e96f0..000000000000 --- a/keyboards/helix/local_drivers/i2c.c +++ /dev/null @@ -1,159 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "i2c.h" - -// Limits the amount of we wait for any one i2c transaction. -// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is -// 9 bits, a single transaction will take around 90μs to complete. -// -// (F_CPU/SCL_CLOCK) => # of μC cycles to transfer a bit -// poll loop takes at least 8 clock cycles to execute -#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8 - -#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE) - -volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -static volatile uint8_t slave_buffer_pos; -static volatile bool slave_has_register_set = false; - -// Wait for an i2c operation to finish -inline static -void i2c_delay(void) { - uint16_t lim = 0; - while(!(TWCR & (1<10. - // Check datasheets for more info. - TWBR = ((F_CPU/SCL_CLOCK)-16)/2; -} - -// Start a transaction with the given i2c slave address. The direction of the -// transfer is set with I2C_READ and I2C_WRITE. -// returns: 0 => success -// 1 => error -uint8_t i2c_master_start(uint8_t address) { - TWCR = (1< slave ACK -// 1 => slave NACK -uint8_t i2c_master_write(uint8_t data) { - TWDR = data; - TWCR = (1<= SLAVE_BUFFER_SIZE ) { - ack = 0; - slave_buffer_pos = 0; - } - slave_has_register_set = true; - } else { - i2c_slave_buffer[slave_buffer_pos] = TWDR; - BUFFER_POS_INC(); - } - break; - - case TW_ST_SLA_ACK: - case TW_ST_DATA_ACK: - // master has addressed this device as a slave transmitter and is - // requesting data. - TWDR = i2c_slave_buffer[slave_buffer_pos]; - BUFFER_POS_INC(); - break; - - case TW_BUS_ERROR: // something went wrong, reset twi state - TWCR = 0; - default: - break; - } - // Reset everything, so we are ready for the next TWI interrupt - TWCR |= (1< - -#ifndef F_CPU -#define F_CPU 16000000UL -#endif - -#define I2C_READ 1 -#define I2C_WRITE 0 - -#define I2C_ACK 1 -#define I2C_NACK 0 - -#define SLAVE_BUFFER_SIZE 0x10 - -// i2c SCL clock frequency 400kHz -#define SCL_CLOCK 400000L - -extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -void i2c_master_init(void); -uint8_t i2c_master_start(uint8_t address); -void i2c_master_stop(void); -uint8_t i2c_master_write(uint8_t data); -uint8_t i2c_master_read(int); -void i2c_reset_state(void); -void i2c_slave_init(uint8_t address); - - -static inline unsigned char i2c_start_read(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_READ); -} - -static inline unsigned char i2c_start_write(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_WRITE); -} - -// from SSD1306 scrips -extern unsigned char i2c_rep_start(unsigned char addr); -extern void i2c_start_wait(unsigned char addr); -extern unsigned char i2c_readAck(void); -extern unsigned char i2c_readNak(void); -extern unsigned char i2c_read(unsigned char ack); - -#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak(); diff --git a/keyboards/helix/local_drivers/serial.c b/keyboards/helix/local_drivers/serial.c deleted file mode 100644 index 674c42d593b1..000000000000 --- a/keyboards/helix/local_drivers/serial.c +++ /dev/null @@ -1,589 +0,0 @@ -/* - * WARNING: be careful changing this code, it is very timing dependent - * - * 2018-10-28 checked - * avr-gcc 4.9.2 - * avr-gcc 5.4.0 - * avr-gcc 7.3.0 - */ - -#ifndef F_CPU -#define F_CPU 16000000 -#endif - -#include -#include -#include -#include -#include -#include "serial.h" - -#ifdef SOFT_SERIAL_PIN - -#ifdef __AVR_ATmega32U4__ - // if using ATmega32U4 I2C, can not use PD0 and PD1 in soft serial. - #ifdef USE_I2C - #if SOFT_SERIAL_PIN == D0 || SOFT_SERIAL_PIN == D1 - #error Using ATmega32U4 I2C, so can not use PD0, PD1 - #endif - #endif - - #if SOFT_SERIAL_PIN >= D0 && SOFT_SERIAL_PIN <= D3 - #define SERIAL_PIN_DDR DDRD - #define SERIAL_PIN_PORT PORTD - #define SERIAL_PIN_INPUT PIND - #if SOFT_SERIAL_PIN == D0 - #define SERIAL_PIN_MASK _BV(PD0) - #define EIMSK_BIT _BV(INT0) - #define EICRx_BIT (~(_BV(ISC00) | _BV(ISC01))) - #define SERIAL_PIN_INTERRUPT INT0_vect - #elif SOFT_SERIAL_PIN == D1 - #define SERIAL_PIN_MASK _BV(PD1) - #define EIMSK_BIT _BV(INT1) - #define EICRx_BIT (~(_BV(ISC10) | _BV(ISC11))) - #define SERIAL_PIN_INTERRUPT INT1_vect - #elif SOFT_SERIAL_PIN == D2 - #define SERIAL_PIN_MASK _BV(PD2) - #define EIMSK_BIT _BV(INT2) - #define EICRx_BIT (~(_BV(ISC20) | _BV(ISC21))) - #define SERIAL_PIN_INTERRUPT INT2_vect - #elif SOFT_SERIAL_PIN == D3 - #define SERIAL_PIN_MASK _BV(PD3) - #define EIMSK_BIT _BV(INT3) - #define EICRx_BIT (~(_BV(ISC30) | _BV(ISC31))) - #define SERIAL_PIN_INTERRUPT INT3_vect - #endif - #elif SOFT_SERIAL_PIN == E6 - #define SERIAL_PIN_DDR DDRE - #define SERIAL_PIN_PORT PORTE - #define SERIAL_PIN_INPUT PINE - #define SERIAL_PIN_MASK _BV(PE6) - #define EIMSK_BIT _BV(INT6) - #define EICRx_BIT (~(_BV(ISC60) | _BV(ISC61))) - #define SERIAL_PIN_INTERRUPT INT6_vect - #else - #error invalid SOFT_SERIAL_PIN value - #endif - -#else - #error serial.c now support ATmega32U4 only -#endif - -//////////////// for backward compatibility //////////////////////////////// -#if !defined(SERIAL_USE_SINGLE_TRANSACTION) && !defined(SERIAL_USE_MULTI_TRANSACTION) -/* --- USE OLD API (compatible with let's split serial.c) */ - #if SERIAL_SLAVE_BUFFER_LENGTH > 0 - uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0}; - #endif - #if SERIAL_MASTER_BUFFER_LENGTH > 0 - uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0}; - #endif - uint8_t volatile status0 = 0; - -SSTD_t transactions[] = { - { (uint8_t *)&status0, - #if SERIAL_MASTER_BUFFER_LENGTH > 0 - sizeof(serial_master_buffer), (uint8_t *)serial_master_buffer, - #else - 0, (uint8_t *)NULL, - #endif - #if SERIAL_SLAVE_BUFFER_LENGTH > 0 - sizeof(serial_slave_buffer), (uint8_t *)serial_slave_buffer - #else - 0, (uint8_t *)NULL, - #endif - } -}; - -void serial_master_init(void) -{ soft_serial_initiator_init(transactions, TID_LIMIT(transactions)); } - -void serial_slave_init(void) -{ soft_serial_target_init(transactions, TID_LIMIT(transactions)); } - -// 0 => no error -// 1 => slave did not respond -// 2 => checksum error -int serial_update_buffers() -{ - int result; - result = soft_serial_transaction(); - return result; -} - -#endif // end of OLD API (compatible with let's split serial.c) -//////////////////////////////////////////////////////////////////////////// - -#define ALWAYS_INLINE __attribute__((always_inline)) -#define NO_INLINE __attribute__((noinline)) -#define _delay_sub_us(x) __builtin_avr_delay_cycles(x) - -// parity check -#define ODD_PARITY 1 -#define EVEN_PARITY 0 -#define PARITY EVEN_PARITY - -#ifdef SERIAL_DELAY - // custom setup in config.h - // #define TID_SEND_ADJUST 2 - // #define SERIAL_DELAY 6 // micro sec - // #define READ_WRITE_START_ADJUST 30 // cycles - // #define READ_WRITE_WIDTH_ADJUST 8 // cycles -#else -// ============ Standard setups ============ - -#ifndef SELECT_SOFT_SERIAL_SPEED -#define SELECT_SOFT_SERIAL_SPEED 1 -// 0: about 189kbps -// 1: about 137kbps (default) -// 2: about 75kbps -// 3: about 39kbps -// 4: about 26kbps -// 5: about 20kbps -#endif - -#if __GNUC__ < 6 - #define TID_SEND_ADJUST 14 -#else - #define TID_SEND_ADJUST 2 -#endif - -#if SELECT_SOFT_SERIAL_SPEED == 0 - // Very High speed - #define SERIAL_DELAY 4 // micro sec - #if __GNUC__ < 6 - #define READ_WRITE_START_ADJUST 33 // cycles - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_START_ADJUST 34 // cycles - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 1 - // High speed - #define SERIAL_DELAY 6 // micro sec - #if __GNUC__ < 6 - #define READ_WRITE_START_ADJUST 30 // cycles - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_START_ADJUST 33 // cycles - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 2 - // Middle speed - #define SERIAL_DELAY 12 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 3 - // Low speed - #define SERIAL_DELAY 24 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 4 - // Very Low speed - #define SERIAL_DELAY 36 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 5 - // Ultra Low speed - #define SERIAL_DELAY 48 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#else -#error invalid SELECT_SOFT_SERIAL_SPEED value -#endif /* SELECT_SOFT_SERIAL_SPEED */ -#endif /* SERIAL_DELAY */ - -#define SERIAL_DELAY_HALF1 (SERIAL_DELAY/2) -#define SERIAL_DELAY_HALF2 (SERIAL_DELAY - SERIAL_DELAY/2) - -#define SLAVE_INT_WIDTH_US 1 -#ifndef SERIAL_USE_MULTI_TRANSACTION - #define SLAVE_INT_RESPONSE_TIME SERIAL_DELAY -#else - #define SLAVE_INT_ACK_WIDTH_UNIT 2 - #define SLAVE_INT_ACK_WIDTH 4 -#endif - -static SSTD_t *Transaction_table = NULL; -static uint8_t Transaction_table_size = 0; - -inline static void serial_delay(void) ALWAYS_INLINE; -inline static -void serial_delay(void) { - _delay_us(SERIAL_DELAY); -} - -inline static void serial_delay_half1(void) ALWAYS_INLINE; -inline static -void serial_delay_half1(void) { - _delay_us(SERIAL_DELAY_HALF1); -} - -inline static void serial_delay_half2(void) ALWAYS_INLINE; -inline static -void serial_delay_half2(void) { - _delay_us(SERIAL_DELAY_HALF2); -} - -inline static void serial_output(void) ALWAYS_INLINE; -inline static -void serial_output(void) { - SERIAL_PIN_DDR |= SERIAL_PIN_MASK; -} - -// make the serial pin an input with pull-up resistor -inline static void serial_input_with_pullup(void) ALWAYS_INLINE; -inline static -void serial_input_with_pullup(void) { - SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK; - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; -} - -inline static uint8_t serial_read_pin(void) ALWAYS_INLINE; -inline static -uint8_t serial_read_pin(void) { - return !!(SERIAL_PIN_INPUT & SERIAL_PIN_MASK); -} - -inline static void serial_low(void) ALWAYS_INLINE; -inline static -void serial_low(void) { - SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK; -} - -inline static void serial_high(void) ALWAYS_INLINE; -inline static -void serial_high(void) { - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; -} - -void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size) -{ - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - serial_output(); - serial_high(); -} - -void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size) -{ - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - serial_input_with_pullup(); - - // Enable INT0-INT3,INT6 - EIMSK |= EIMSK_BIT; -#if SERIAL_PIN_MASK == _BV(PE6) - // Trigger on falling edge of INT6 - EICRB &= EICRx_BIT; -#else - // Trigger on falling edge of INT0-INT3 - EICRA &= EICRx_BIT; -#endif -} - -// Used by the sender to synchronize timing with the reciver. -static void sync_recv(void) NO_INLINE; -static -void sync_recv(void) { - for (uint8_t i = 0; i < SERIAL_DELAY*5 && serial_read_pin(); i++ ) { - } - // This shouldn't hang if the target disconnects because the - // serial line will float to high if the target does disconnect. - while (!serial_read_pin()); -} - -// Used by the reciver to send a synchronization signal to the sender. -static void sync_send(void) NO_INLINE; -static -void sync_send(void) { - serial_low(); - serial_delay(); - serial_high(); -} - -// Reads a byte from the serial line -static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) NO_INLINE; -static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) { - uint8_t byte, i, p, pb; - - _delay_sub_us(READ_WRITE_START_ADJUST); - for( i = 0, byte = 0, p = PARITY; i < bit; i++ ) { - serial_delay_half1(); // read the middle of pulses - if( serial_read_pin() ) { - byte = (byte << 1) | 1; p ^= 1; - } else { - byte = (byte << 1) | 0; p ^= 0; - } - _delay_sub_us(READ_WRITE_WIDTH_ADJUST); - serial_delay_half2(); - } - /* recive parity bit */ - serial_delay_half1(); // read the middle of pulses - pb = serial_read_pin(); - _delay_sub_us(READ_WRITE_WIDTH_ADJUST); - serial_delay_half2(); - - *pterrcount += (p != pb)? 1 : 0; - - return byte; -} - -// Sends a byte with MSB ordering -void serial_write_chunk(uint8_t data, uint8_t bit) NO_INLINE; -void serial_write_chunk(uint8_t data, uint8_t bit) { - uint8_t b, p; - for( p = PARITY, b = 1<<(bit-1); b ; b >>= 1) { - if(data & b) { - serial_high(); p ^= 1; - } else { - serial_low(); p ^= 0; - } - serial_delay(); - } - /* send parity bit */ - if(p & 1) { serial_high(); } - else { serial_low(); } - serial_delay(); - - serial_low(); // sync_send() / senc_recv() need raise edge -} - -static void serial_send_packet(uint8_t *buffer, uint8_t size) NO_INLINE; -static -void serial_send_packet(uint8_t *buffer, uint8_t size) { - for (uint8_t i = 0; i < size; ++i) { - uint8_t data; - data = buffer[i]; - sync_send(); - serial_write_chunk(data,8); - } -} - -static uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) NO_INLINE; -static -uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) { - uint8_t pecount = 0; - for (uint8_t i = 0; i < size; ++i) { - uint8_t data; - sync_recv(); - data = serial_read_chunk(&pecount, 8); - buffer[i] = data; - } - return pecount == 0; -} - -inline static -void change_sender2reciver(void) { - sync_send(); //0 - serial_delay_half1(); //1 - serial_low(); //2 - serial_input_with_pullup(); //2 - serial_delay_half1(); //3 -} - -inline static -void change_reciver2sender(void) { - sync_recv(); //0 - serial_delay(); //1 - serial_low(); //3 - serial_output(); //3 - serial_delay_half1(); //4 -} - -static inline uint8_t nibble_bits_count(uint8_t bits) -{ - bits = (bits & 0x5) + (bits >> 1 & 0x5); - bits = (bits & 0x3) + (bits >> 2 & 0x3); - return bits; -} - -// interrupt handle to be used by the target device -ISR(SERIAL_PIN_INTERRUPT) { - -#ifndef SERIAL_USE_MULTI_TRANSACTION - serial_low(); - serial_output(); - SSTD_t *trans = Transaction_table; -#else - // recive transaction table index - uint8_t tid, bits; - uint8_t pecount = 0; - sync_recv(); - bits = serial_read_chunk(&pecount,7); - tid = bits>>3; - bits = (bits&7) != nibble_bits_count(tid); - if( bits || pecount> 0 || tid > Transaction_table_size ) { - return; - } - serial_delay_half1(); - - serial_high(); // response step1 low->high - serial_output(); - _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT*SLAVE_INT_ACK_WIDTH); - SSTD_t *trans = &Transaction_table[tid]; - serial_low(); // response step2 ack high->low -#endif - - // target send phase - if( trans->target2initiator_buffer_size > 0 ) - serial_send_packet((uint8_t *)trans->target2initiator_buffer, - trans->target2initiator_buffer_size); - // target switch to input - change_sender2reciver(); - - // target recive phase - if( trans->initiator2target_buffer_size > 0 ) { - if (serial_recive_packet((uint8_t *)trans->initiator2target_buffer, - trans->initiator2target_buffer_size) ) { - *trans->status = TRANSACTION_ACCEPTED; - } else { - *trans->status = TRANSACTION_DATA_ERROR; - } - } else { - *trans->status = TRANSACTION_ACCEPTED; - } - - sync_recv(); //weit initiator output to high -} - -///////// -// start transaction by initiator -// -// int soft_serial_transaction(int sstd_index) -// -// Returns: -// TRANSACTION_END -// TRANSACTION_NO_RESPONSE -// TRANSACTION_DATA_ERROR -// this code is very time dependent, so we need to disable interrupts -#ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void) { - SSTD_t *trans = Transaction_table; -#else -int soft_serial_transaction(int sstd_index) { - if( sstd_index > Transaction_table_size ) - return TRANSACTION_TYPE_ERROR; - SSTD_t *trans = &Transaction_table[sstd_index]; -#endif - cli(); - - // signal to the target that we want to start a transaction - serial_output(); - serial_low(); - _delay_us(SLAVE_INT_WIDTH_US); - -#ifndef SERIAL_USE_MULTI_TRANSACTION - // wait for the target response - serial_input_with_pullup(); - _delay_us(SLAVE_INT_RESPONSE_TIME); - - // check if the target is present - if (serial_read_pin()) { - // target failed to pull the line low, assume not present - serial_output(); - serial_high(); - *trans->status = TRANSACTION_NO_RESPONSE; - sei(); - return TRANSACTION_NO_RESPONSE; - } - -#else - // send transaction table index - int tid = (sstd_index<<3) | (7 & nibble_bits_count(sstd_index)); - sync_send(); - _delay_sub_us(TID_SEND_ADJUST); - serial_write_chunk(tid, 7); - serial_delay_half1(); - - // wait for the target response (step1 low->high) - serial_input_with_pullup(); - while( !serial_read_pin() ) { - _delay_sub_us(2); - } - - // check if the target is present (step2 high->low) - for( int i = 0; serial_read_pin(); i++ ) { - if (i > SLAVE_INT_ACK_WIDTH + 1) { - // slave failed to pull the line low, assume not present - serial_output(); - serial_high(); - *trans->status = TRANSACTION_NO_RESPONSE; - sei(); - return TRANSACTION_NO_RESPONSE; - } - _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT); - } -#endif - - // initiator recive phase - // if the target is present syncronize with it - if( trans->target2initiator_buffer_size > 0 ) { - if (!serial_recive_packet((uint8_t *)trans->target2initiator_buffer, - trans->target2initiator_buffer_size) ) { - serial_output(); - serial_high(); - *trans->status = TRANSACTION_DATA_ERROR; - sei(); - return TRANSACTION_DATA_ERROR; - } - } - - // initiator switch to output - change_reciver2sender(); - - // initiator send phase - if( trans->initiator2target_buffer_size > 0 ) { - serial_send_packet((uint8_t *)trans->initiator2target_buffer, - trans->initiator2target_buffer_size); - } - - // always, release the line when not in use - sync_send(); - - *trans->status = TRANSACTION_END; - sei(); - return TRANSACTION_END; -} - -#ifdef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_get_and_clean_status(int sstd_index) { - SSTD_t *trans = &Transaction_table[sstd_index]; - cli(); - int retval = *trans->status; - *trans->status = 0;; - sei(); - return retval; -} -#endif - -#endif - -// Helix serial.c history -// 2018-1-29 fork from let's split and add PD2, modify sync_recv() (#2308, bceffdefc) -// 2018-6-28 bug fix master to slave comm and speed up (#3255, 1038bbef4) -// (adjusted with avr-gcc 4.9.2) -// 2018-7-13 remove USE_SERIAL_PD2 macro (#3374, f30d6dd78) -// (adjusted with avr-gcc 4.9.2) -// 2018-8-11 add support multi-type transaction (#3608, feb5e4aae) -// (adjusted with avr-gcc 4.9.2) -// 2018-10-21 fix serial and RGB animation conflict (#4191, 4665e4fff) -// (adjusted with avr-gcc 7.3.0) -// 2018-10-28 re-adjust compiler depend value of delay (#4269, 8517f8a66) -// (adjusted with avr-gcc 5.4.0, 7.3.0) diff --git a/keyboards/helix/local_drivers/serial.h b/keyboards/helix/local_drivers/serial.h deleted file mode 100644 index b4dcdafe57f0..000000000000 --- a/keyboards/helix/local_drivers/serial.h +++ /dev/null @@ -1,86 +0,0 @@ -#pragma once - -#include - -// ///////////////////////////////////////////////////////////////// -// Need Soft Serial defines in config.h -// ///////////////////////////////////////////////////////////////// -// ex. -// #define SOFT_SERIAL_PIN ?? // ?? = D0,D1,D2,D3,E6 -// OPTIONAL: #define SELECT_SOFT_SERIAL_SPEED ? // ? = 1,2,3,4,5 -// // 1: about 137kbps (default) -// // 2: about 75kbps -// // 3: about 39kbps -// // 4: about 26kbps -// // 5: about 20kbps -// -// //// USE OLD API (compatible with let's split serial.c) -// ex. -// #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -// #define SERIAL_MASTER_BUFFER_LENGTH 1 -// -// //// USE NEW API -// //// USE simple API (using signle-type transaction function) -// #define SERIAL_USE_SINGLE_TRANSACTION -// //// USE flexible API (using multi-type transaction function) -// #define SERIAL_USE_MULTI_TRANSACTION -// -// ///////////////////////////////////////////////////////////////// - - -//////////////// for backward compatibility //////////////////////////////// -#if !defined(SERIAL_USE_SINGLE_TRANSACTION) && !defined(SERIAL_USE_MULTI_TRANSACTION) -/* --- USE OLD API (compatible with let's split serial.c) */ - #if SERIAL_SLAVE_BUFFER_LENGTH > 0 - extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH]; - #endif - #if SERIAL_MASTER_BUFFER_LENGTH > 0 - extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH]; - #endif - - void serial_master_init(void); - void serial_slave_init(void); - int serial_update_buffers(void); - -#endif // end of USE OLD API -//////////////////////////////////////////////////////////////////////////// - -// Soft Serial Transaction Descriptor -typedef struct _SSTD_t { - uint8_t *status; - uint8_t initiator2target_buffer_size; - uint8_t *initiator2target_buffer; - uint8_t target2initiator_buffer_size; - uint8_t *target2initiator_buffer; -} SSTD_t; -#define TID_LIMIT( table ) (sizeof(table) / sizeof(SSTD_t)) - -// initiator is transaction start side -void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size); -// target is interrupt accept side -void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size); - -// initiator resullt -#define TRANSACTION_END 0 -#define TRANSACTION_NO_RESPONSE 0x1 -#define TRANSACTION_DATA_ERROR 0x2 -#define TRANSACTION_TYPE_ERROR 0x4 -#ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void); -#else -int soft_serial_transaction(int sstd_index); -#endif - -// target status -// *SSTD_t.status has -// initiator: -// TRANSACTION_END -// or TRANSACTION_NO_RESPONSE -// or TRANSACTION_DATA_ERROR -// target: -// TRANSACTION_DATA_ERROR -// or TRANSACTION_ACCEPTED -#define TRANSACTION_ACCEPTED 0x8 -#ifdef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_get_and_clean_status(int sstd_index); -#endif diff --git a/keyboards/helix/local_drivers/ssd1306.c b/keyboards/helix/local_drivers/ssd1306.c deleted file mode 100644 index 1cfb38037c44..000000000000 --- a/keyboards/helix/local_drivers/ssd1306.c +++ /dev/null @@ -1,341 +0,0 @@ - -#ifdef SSD1306OLED - -#include "ssd1306.h" -#include "i2c.h" -#include -#include "print.h" -#ifndef LOCAL_GLCDFONT -#include "common/glcdfont.c" -#else -#include "helixfont.h" -#endif -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#endif -#include "sendchar.h" -#include "timer.h" - -struct CharacterMatrix display; - -// Set this to 1 to help diagnose early startup problems -// when testing power-on with ble. Turn it off otherwise, -// as the latency of printing most of the debug info messes -// with the matrix scan, causing keys to drop. -#define DEBUG_TO_SCREEN 0 - -//static uint16_t last_battery_update; -//static uint32_t vbat; -//#define BatteryUpdateInterval 10000 /* milliseconds */ - -// 'last_flush' is declared as uint16_t, -// so this must be less than 65535 -#define ScreenOffInterval 60000 /* milliseconds */ -#if DEBUG_TO_SCREEN -static uint8_t displaying; -#endif -static uint16_t last_flush; - -static bool force_dirty = true; - -// Write command sequence. -// Returns true on success. -static inline bool _send_cmd1(uint8_t cmd) { - bool res = false; - - if (i2c_start_write(SSD1306_ADDRESS)) { - xprintf("failed to start write to %d\n", SSD1306_ADDRESS); - goto done; - } - - if (i2c_master_write(0x0 /* command byte follows */)) { - print("failed to write control byte\n"); - - goto done; - } - - if (i2c_master_write(cmd)) { - xprintf("failed to write command %d\n", cmd); - goto done; - } - res = true; -done: - i2c_master_stop(); - return res; -} - -// Write 2-byte command sequence. -// Returns true on success -static inline bool _send_cmd2(uint8_t cmd, uint8_t opr) { - if (!_send_cmd1(cmd)) { - return false; - } - return _send_cmd1(opr); -} - -// Write 3-byte command sequence. -// Returns true on success -static inline bool _send_cmd3(uint8_t cmd, uint8_t opr1, uint8_t opr2) { - if (!_send_cmd1(cmd)) { - return false; - } - if (!_send_cmd1(opr1)) { - return false; - } - return _send_cmd1(opr2); -} - -#define send_cmd1(c) if (!_send_cmd1(c)) {goto done;} -#define send_cmd2(c,o) if (!_send_cmd2(c,o)) {goto done;} -#define send_cmd3(c,o1,o2) if (!_send_cmd3(c,o1,o2)) {goto done;} - -static void clear_display(void) { - matrix_clear(&display); - - // Clear all of the display bits (there can be random noise - // in the RAM on startup) - send_cmd3(PageAddr, 0, (DisplayHeight / 8) - 1); - send_cmd3(ColumnAddr, 0, DisplayWidth - 1); - - if (i2c_start_write(SSD1306_ADDRESS)) { - goto done; - } - if (i2c_master_write(0x40)) { - // Data mode - goto done; - } - for (uint8_t row = 0; row < MatrixRows; ++row) { - for (uint8_t col = 0; col < DisplayWidth; ++col) { - i2c_master_write(0); - } - } - - display.dirty = false; - -done: - i2c_master_stop(); -} - -#if DEBUG_TO_SCREEN -#undef sendchar -static int8_t capture_sendchar(uint8_t c) { - sendchar(c); - iota_gfx_write_char(c); - - if (!displaying) { - iota_gfx_flush(); - } - return 0; -} -#endif - -bool iota_gfx_init(bool rotate) { - bool success = false; - - i2c_master_init(); - send_cmd1(DisplayOff); - send_cmd2(SetDisplayClockDiv, 0x80); - send_cmd2(SetMultiPlex, DisplayHeight - 1); - - send_cmd2(SetDisplayOffset, 0); - - - send_cmd1(SetStartLine | 0x0); - send_cmd2(SetChargePump, 0x14 /* Enable */); - send_cmd2(SetMemoryMode, 0 /* horizontal addressing */); - - if(rotate){ - // the following Flip the display orientation 180 degrees - send_cmd1(SegRemap); - send_cmd1(ComScanInc); - }else{ - // Flips the display orientation 0 degrees - send_cmd1(SegRemap | 0x1); - send_cmd1(ComScanDec); - } - - send_cmd2(SetComPins, 0x2); - send_cmd2(SetContrast, 0x8f); - send_cmd2(SetPreCharge, 0xf1); - send_cmd2(SetVComDetect, 0x40); - send_cmd1(DisplayAllOnResume); - send_cmd1(NormalDisplay); - send_cmd1(DeActivateScroll); - send_cmd1(DisplayOn); - - send_cmd2(SetContrast, 0); // Dim - - clear_display(); - - success = true; - - iota_gfx_flush(); - -#if DEBUG_TO_SCREEN - print_set_sendchar(capture_sendchar); -#endif - -done: - return success; -} - -bool iota_gfx_off(void) { - bool success = false; - - send_cmd1(DisplayOff); - success = true; - -done: - return success; -} - -bool iota_gfx_on(void) { - bool success = false; - - send_cmd1(DisplayOn); - success = true; - -done: - return success; -} - -void matrix_write_char_inner(struct CharacterMatrix *matrix, uint8_t c) { - *matrix->cursor = c; - ++matrix->cursor; - - if (matrix->cursor - &matrix->display[0][0] == sizeof(matrix->display)) { - // We went off the end; scroll the display upwards by one line - memmove(&matrix->display[0], &matrix->display[1], - MatrixCols * (MatrixRows - 1)); - matrix->cursor = &matrix->display[MatrixRows - 1][0]; - memset(matrix->cursor, ' ', MatrixCols); - } -} - -void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c) { - matrix->dirty = true; - - if (c == '\n') { - // Clear to end of line from the cursor and then move to the - // start of the next line - uint8_t cursor_col = (matrix->cursor - &matrix->display[0][0]) % MatrixCols; - - while (cursor_col++ < MatrixCols) { - matrix_write_char_inner(matrix, ' '); - } - return; - } - - matrix_write_char_inner(matrix, c); -} - -void iota_gfx_write_char(uint8_t c) { - matrix_write_char(&display, c); -} - -void matrix_write(struct CharacterMatrix *matrix, const char *data) { - const char *end = data + strlen(data); - while (data < end) { - matrix_write_char(matrix, *data); - ++data; - } -} - -void iota_gfx_write(const char *data) { - matrix_write(&display, data); -} - -void matrix_write_P(struct CharacterMatrix *matrix, const char *data) { - while (true) { - uint8_t c = pgm_read_byte(data); - if (c == 0) { - return; - } - matrix_write_char(matrix, c); - ++data; - } -} - -void iota_gfx_write_P(const char *data) { - matrix_write_P(&display, data); -} - -void matrix_clear(struct CharacterMatrix *matrix) { - memset(matrix->display, ' ', sizeof(matrix->display)); - matrix->cursor = &matrix->display[0][0]; - matrix->dirty = true; -} - -void iota_gfx_clear_screen(void) { - matrix_clear(&display); -} - -void matrix_render(struct CharacterMatrix *matrix) { - last_flush = timer_read(); - iota_gfx_on(); -#if DEBUG_TO_SCREEN - ++displaying; -#endif - - // Move to the home position - send_cmd3(PageAddr, 0, MatrixRows - 1); - send_cmd3(ColumnAddr, 0, (MatrixCols * FontWidth) - 1); - - if (i2c_start_write(SSD1306_ADDRESS)) { - goto done; - } - if (i2c_master_write(0x40)) { - // Data mode - goto done; - } - - for (uint8_t row = 0; row < MatrixRows; ++row) { - for (uint8_t col = 0; col < MatrixCols; ++col) { - const uint8_t *glyph = font + (matrix->display[row][col] * FontWidth); - - for (uint8_t glyphCol = 0; glyphCol < FontWidth; ++glyphCol) { - uint8_t colBits = pgm_read_byte(glyph + glyphCol); - i2c_master_write(colBits); - } - - // 1 column of space between chars (it's not included in the glyph) - //i2c_master_write(0); - } - } - - matrix->dirty = false; - -done: - i2c_master_stop(); -#if DEBUG_TO_SCREEN - --displaying; -#endif -} - -void iota_gfx_flush(void) { - matrix_render(&display); -} - -__attribute__ ((weak)) -void iota_gfx_task_user(void) { -} - -void iota_gfx_task(void) { - iota_gfx_task_user(); - - if (display.dirty|| force_dirty) { - iota_gfx_flush(); - force_dirty = false; - } - - if (timer_elapsed(last_flush) > ScreenOffInterval) { - iota_gfx_off(); - } -} - -bool process_record_gfx(uint16_t keycode, keyrecord_t *record) { - force_dirty = true; - return true; -} - -#endif diff --git a/keyboards/helix/local_drivers/ssd1306.h b/keyboards/helix/local_drivers/ssd1306.h deleted file mode 100644 index a7527f4ebc6a..000000000000 --- a/keyboards/helix/local_drivers/ssd1306.h +++ /dev/null @@ -1,89 +0,0 @@ -#pragma once - -#include -#include -#include "action.h" - -enum ssd1306_cmds { - DisplayOff = 0xAE, - DisplayOn = 0xAF, - - SetContrast = 0x81, - DisplayAllOnResume = 0xA4, - - DisplayAllOn = 0xA5, - NormalDisplay = 0xA6, - InvertDisplay = 0xA7, - SetDisplayOffset = 0xD3, - SetComPins = 0xda, - SetVComDetect = 0xdb, - SetDisplayClockDiv = 0xD5, - SetPreCharge = 0xd9, - SetMultiPlex = 0xa8, - SetLowColumn = 0x00, - SetHighColumn = 0x10, - SetStartLine = 0x40, - - SetMemoryMode = 0x20, - ColumnAddr = 0x21, - PageAddr = 0x22, - - ComScanInc = 0xc0, - ComScanDec = 0xc8, - SegRemap = 0xa0, - SetChargePump = 0x8d, - ExternalVcc = 0x01, - SwitchCapVcc = 0x02, - - ActivateScroll = 0x2f, - DeActivateScroll = 0x2e, - SetVerticalScrollArea = 0xa3, - RightHorizontalScroll = 0x26, - LeftHorizontalScroll = 0x27, - VerticalAndRightHorizontalScroll = 0x29, - VerticalAndLeftHorizontalScroll = 0x2a, -}; - -// Controls the SSD1306 128x32 OLED display via i2c - -#ifndef SSD1306_ADDRESS -#define SSD1306_ADDRESS 0x3C -#endif - -#define DisplayHeight 32 -#define DisplayWidth 128 - -#define FontHeight 8 -#define FontWidth 6 - -#define MatrixRows (DisplayHeight / FontHeight) -#define MatrixCols (DisplayWidth / FontWidth) - -struct CharacterMatrix { - uint8_t display[MatrixRows][MatrixCols]; - uint8_t *cursor; - bool dirty; -}; - -extern struct CharacterMatrix display; - -bool iota_gfx_init(bool rotate); -void iota_gfx_task(void); -bool iota_gfx_off(void); -bool iota_gfx_on(void); -void iota_gfx_flush(void); -void iota_gfx_write_char(uint8_t c); -void iota_gfx_write(const char *data); -void iota_gfx_write_P(const char *data); -void iota_gfx_clear_screen(void); - -void iota_gfx_task_user(void); - -void matrix_clear(struct CharacterMatrix *matrix); -void matrix_write_char_inner(struct CharacterMatrix *matrix, uint8_t c); -void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c); -void matrix_write(struct CharacterMatrix *matrix, const char *data); -void matrix_write_P(struct CharacterMatrix *matrix, const char *data); -void matrix_render(struct CharacterMatrix *matrix); - -bool process_record_gfx(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h index 577edba56bda..8c6210bae47b 100644 --- a/keyboards/helix/rev2/config.h +++ b/keyboards/helix/rev2/config.h @@ -45,12 +45,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -// Helix keyboard OLED support -// see ./local_features.mk: OLED_SELECT=local -#ifdef OLED_LOCAL_ENABLE - #define SSD1306OLED -#endif - #define OLED_UPDATE_INTERVAL 50 /* Select rows configuration */ diff --git a/keyboards/helix/rev2/custom/matrix.c b/keyboards/helix/rev2/custom/matrix.c deleted file mode 100644 index 5221d7fd4ecd..000000000000 --- a/keyboards/helix/rev2/custom/matrix.c +++ /dev/null @@ -1,341 +0,0 @@ -/* -Copyright 2012 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -/* - * scan matrix - */ -#include -#include -#include -#include -#include -#include -#include -#include "print.h" -#include "debug.h" -#include "util.h" -#include "matrix.h" -#include "split_util.h" -#include "quantum.h" - -#ifdef USE_MATRIX_I2C -# include "i2c.h" -#else // USE_SERIAL -# include "split_scomm.h" -#endif - -#ifndef DEBOUNCE -# define DEBOUNCE 5 -#endif - -#define ERROR_DISCONNECT_COUNT 5 - -static uint8_t debouncing = DEBOUNCE; -static const int ROWS_PER_HAND = MATRIX_ROWS/2; -static uint8_t error_count = 0; - -static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t matrix_debouncing[MATRIX_ROWS]; - -static matrix_row_t read_cols(void); -static void init_cols(void); -static void unselect_rows(void); -static void select_row(uint8_t row); -static uint8_t matrix_master_scan(void); - - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) -{ - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) -{ - return MATRIX_COLS; -} - -void matrix_init(void) -{ - split_keyboard_setup(); - - // initialize row and col - unselect_rows(); - init_cols(); - - setPinOutput(B0); - setPinOutput(D5); - writePinHigh(B0); - writePinHigh(D5); - - // initialize matrix state: all keys off - for (uint8_t i=0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; - matrix_debouncing[i] = 0; - } - - matrix_init_quantum(); -} - -uint8_t _matrix_scan(void) -{ - // Right hand is stored after the left in the matirx so, we need to offset it - int offset = isLeftHand ? 0 : (ROWS_PER_HAND); - - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { - select_row(i); - _delay_us(30); // without this wait read unstable value. - matrix_row_t cols = read_cols(); - if (matrix_debouncing[i+offset] != cols) { - matrix_debouncing[i+offset] = cols; - debouncing = DEBOUNCE; - } - unselect_rows(); - } - - if (debouncing) { - if (--debouncing) { - _delay_ms(1); - } else { - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { - matrix[i+offset] = matrix_debouncing[i+offset]; - } - } - } - - return 1; -} - -#ifdef USE_MATRIX_I2C - -// Get rows from other half over i2c -int i2c_transaction(void) { - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - - int err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE); - if (err) goto i2c_error; - - // start of matrix stored at 0x00 - err = i2c_master_write(0x00); - if (err) goto i2c_error; - - // Start read - err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ); - if (err) goto i2c_error; - - if (!err) { - int i; - for (i = 0; i < ROWS_PER_HAND-1; ++i) { - matrix[slaveOffset+i] = i2c_master_read(I2C_ACK); - } - matrix[slaveOffset+i] = i2c_master_read(I2C_NACK); - i2c_master_stop(); - } else { -i2c_error: // the cable is disconnceted, or something else went wrong - i2c_reset_state(); - return err; - } - - return 0; -} - -#else // USE_SERIAL - -int serial_transaction(int master_changed) { - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; -#ifdef SERIAL_USE_MULTI_TRANSACTION - int ret=serial_update_buffers(master_changed); -#else - int ret=serial_update_buffers(); -#endif - if (ret ) { - if(ret==2) writePinLow(B0); - return 1; - } - writePinHigh(B0); - memcpy(&matrix[slaveOffset], - (void *)serial_slave_buffer, sizeof(serial_slave_buffer)); - return 0; -} -#endif - -uint8_t matrix_scan(void) -{ - if (is_helix_master()) { - matrix_master_scan(); - }else{ - matrix_slave_scan(); - int offset = (isLeftHand) ? ROWS_PER_HAND : 0; - memcpy(&matrix[offset], - (void *)serial_master_buffer, sizeof(serial_master_buffer)); - matrix_scan_quantum(); - } - return 1; -} - - -uint8_t matrix_master_scan(void) { - - int ret = _matrix_scan(); - int mchanged = 1; - -#ifndef KEYBOARD_helix_rev1 - int offset = (isLeftHand) ? 0 : ROWS_PER_HAND; - -#ifdef USE_MATRIX_I2C -// for (int i = 0; i < ROWS_PER_HAND; ++i) { - /* i2c_slave_buffer[i] = matrix[offset+i]; */ -// i2c_slave_buffer[i] = matrix[offset+i]; -// } -#else // USE_SERIAL - #ifdef SERIAL_USE_MULTI_TRANSACTION - mchanged = memcmp((void *)serial_master_buffer, - &matrix[offset], sizeof(serial_master_buffer)); - #endif - memcpy((void *)serial_master_buffer, - &matrix[offset], sizeof(serial_master_buffer)); -#endif -#endif - -#ifdef USE_MATRIX_I2C - if( i2c_transaction() ) { -#else // USE_SERIAL - if( serial_transaction(mchanged) ) { -#endif - // turn on the indicator led when halves are disconnected - writePinLow(D5); - - error_count++; - - if (error_count > ERROR_DISCONNECT_COUNT) { - // reset other half if disconnected - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[slaveOffset+i] = 0; - } - } - } else { - // turn off the indicator led on no error - writePinHigh(D5); - error_count = 0; - } - matrix_scan_quantum(); - return ret; -} - -void matrix_slave_scan(void) { - _matrix_scan(); - - int offset = (isLeftHand) ? 0 : ROWS_PER_HAND; - -#ifdef USE_MATRIX_I2C - for (int i = 0; i < ROWS_PER_HAND; ++i) { - /* i2c_slave_buffer[i] = matrix[offset+i]; */ - i2c_slave_buffer[i] = matrix[offset+i]; - } -#else // USE_SERIAL - #ifdef SERIAL_USE_MULTI_TRANSACTION - int change = 0; - #endif - for (int i = 0; i < ROWS_PER_HAND; ++i) { - #ifdef SERIAL_USE_MULTI_TRANSACTION - if( serial_slave_buffer[i] != matrix[offset+i] ) - change = 1; - #endif - serial_slave_buffer[i] = matrix[offset+i]; - } - #ifdef SERIAL_USE_MULTI_TRANSACTION - slave_buffer_change_count += change; - #endif -#endif -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<> 4) + 1) &= ~_BV(col_pins[x] & 0xF); - _SFR_IO8((col_pins[x] >> 4) + 2) |= _BV(col_pins[x] & 0xF); - } -} - -static matrix_row_t read_cols(void) -{ - matrix_row_t result = 0; - for(int x = 0; x < MATRIX_COLS; x++) { - result |= (_SFR_IO8(col_pins[x] >> 4) & _BV(col_pins[x] & 0xF)) ? 0 : (1 << x); - } - return result; -} - -static void unselect_rows(void) -{ - for(int x = 0; x < ROWS_PER_HAND; x++) { - _SFR_IO8((row_pins[x] >> 4) + 1) &= ~_BV(row_pins[x] & 0xF); - _SFR_IO8((row_pins[x] >> 4) + 2) |= _BV(row_pins[x] & 0xF); - } -} - -static void select_row(uint8_t row) -{ - _SFR_IO8((row_pins[row] >> 4) + 1) |= _BV(row_pins[row] & 0xF); - _SFR_IO8((row_pins[row] >> 4) + 2) &= ~_BV(row_pins[row] & 0xF); -} diff --git a/keyboards/helix/rev2/custom/split_scomm.c b/keyboards/helix/rev2/custom/split_scomm.c deleted file mode 100644 index 378781b98c0b..000000000000 --- a/keyboards/helix/rev2/custom/split_scomm.c +++ /dev/null @@ -1,92 +0,0 @@ -#ifdef USE_SERIAL -#ifdef SERIAL_USE_MULTI_TRANSACTION -/* --- USE flexible API (using multi-type transaction function) --- */ - -#include -#include -#include -#include "split_scomm.h" -#include "serial.h" -#ifdef CONSOLE_ENABLE - #include "print.h" -#endif - -uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0}; -uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0}; -uint8_t volatile status_com = 0; -uint8_t volatile status1 = 0; -uint8_t slave_buffer_change_count = 0; -uint8_t s_change_old = 0xff; -uint8_t s_change_new = 0xff; - -SSTD_t transactions[] = { -#define GET_SLAVE_STATUS 0 - /* master buffer not changed, only recive slave_buffer_change_count */ - { (uint8_t *)&status_com, - 0, NULL, - sizeof(slave_buffer_change_count), &slave_buffer_change_count, - }, -#define PUT_MASTER_GET_SLAVE_STATUS 1 - /* master buffer changed need send, and recive slave_buffer_change_count */ - { (uint8_t *)&status_com, - sizeof(serial_master_buffer), (uint8_t *)serial_master_buffer, - sizeof(slave_buffer_change_count), &slave_buffer_change_count, - }, -#define GET_SLAVE_BUFFER 2 - /* recive serial_slave_buffer */ - { (uint8_t *)&status1, - 0, NULL, - sizeof(serial_slave_buffer), (uint8_t *)serial_slave_buffer - } -}; - -void serial_master_init(void) -{ - soft_serial_initiator_init(transactions, TID_LIMIT(transactions)); -} - -void serial_slave_init(void) -{ - soft_serial_target_init(transactions, TID_LIMIT(transactions)); -} - -// 0 => no error -// 1 => slave did not respond -// 2 => checksum error -int serial_update_buffers(int master_update) -{ - int status, smatstatus; - static int need_retry = 0; - - if( s_change_old != s_change_new ) { - smatstatus = soft_serial_transaction(GET_SLAVE_BUFFER); - if( smatstatus == TRANSACTION_END ) { - s_change_old = s_change_new; -#ifdef CONSOLE_ENABLE - uprintf("slave matrix = %b %b %b %b %b\n", - serial_slave_buffer[0], serial_slave_buffer[1], - serial_slave_buffer[2], serial_slave_buffer[3], - serial_slave_buffer[4] ); -#endif - } - } else { - // serial_slave_buffer dosen't change - smatstatus = TRANSACTION_END; // dummy status - } - - if( !master_update && !need_retry) { - status = soft_serial_transaction(GET_SLAVE_STATUS); - } else { - status = soft_serial_transaction(PUT_MASTER_GET_SLAVE_STATUS); - } - if( status == TRANSACTION_END ) { - s_change_new = slave_buffer_change_count; - need_retry = 0; - } else { - need_retry = 1; - } - return smatstatus; -} - -#endif // SERIAL_USE_MULTI_TRANSACTION -#endif /* USE_SERIAL */ diff --git a/keyboards/helix/rev2/custom/split_scomm.h b/keyboards/helix/rev2/custom/split_scomm.h deleted file mode 100644 index 16887eb74f7b..000000000000 --- a/keyboards/helix/rev2/custom/split_scomm.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#ifndef SERIAL_USE_MULTI_TRANSACTION -/* --- USE Simple API (OLD API, compatible with let's split serial.c) --- */ -#include "serial.h" - -#else -/* --- USE flexible API (using multi-type transaction function) --- */ -// Buffers for master - slave communication -#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 - -extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH]; -extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH]; -extern uint8_t slave_buffer_change_count; - -void serial_master_init(void); -void serial_slave_init(void); -int serial_update_buffers(int master_changed); - -#endif diff --git a/keyboards/helix/rev2/custom/split_util.c b/keyboards/helix/rev2/custom/split_util.c deleted file mode 100644 index ab40315487fd..000000000000 --- a/keyboards/helix/rev2/custom/split_util.c +++ /dev/null @@ -1,109 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "split_util.h" -#include "matrix.h" -#include "keyboard.h" -#include "wait.h" - -#ifdef USE_MATRIX_I2C -# include "i2c.h" -#else -# include "split_scomm.h" -#endif - -#ifdef EE_HANDS -# include "eeconfig.h" -#endif - -#ifndef SPLIT_USB_TIMEOUT -# define SPLIT_USB_TIMEOUT 2000 -#endif - -#ifndef SPLIT_USB_TIMEOUT_POLL -# define SPLIT_USB_TIMEOUT_POLL 10 -#endif - -volatile bool isLeftHand = true; - -bool waitForUsb(void) { - for (uint8_t i = 0; i < (SPLIT_USB_TIMEOUT / SPLIT_USB_TIMEOUT_POLL); i++) { - // This will return true if a USB connection has been established - if (UDADDR & _BV(ADDEN)) { - return true; - } - wait_ms(SPLIT_USB_TIMEOUT_POLL); - } - - // Avoid NO_USB_STARTUP_CHECK - Disable USB as the previous checks seem to enable it somehow - (USBCON &= ~(_BV(USBE) | _BV(OTGPADE))); - - return false; -} - - -bool is_keyboard_left(void) { -#if defined(SPLIT_HAND_PIN) - // Test pin SPLIT_HAND_PIN for High/Low, if low it's right hand - setPinInput(SPLIT_HAND_PIN); - return readPin(SPLIT_HAND_PIN); -#elif defined(EE_HANDS) - return eeconfig_read_handedness(); -#elif defined(MASTER_RIGHT) - return !is_helix_master(); -#endif - - return is_helix_master(); -} - -bool is_helix_master(void) { - static enum { UNKNOWN, MASTER, SLAVE } usbstate = UNKNOWN; - - // only check once, as this is called often - if (usbstate == UNKNOWN) { -#if defined(SPLIT_USB_DETECT) - usbstate = waitForUsb() ? MASTER : SLAVE; -#elif defined(__AVR__) - USBCON |= (1 << OTGPADE); // enables VBUS pad - wait_us(5); - - usbstate = (USBSTA & (1 << VBUS)) ? MASTER : SLAVE; // checks state of VBUS -#else - usbstate = MASTER; -#endif - } - - return (usbstate == MASTER); -} - -static void keyboard_master_setup(void) { - -#ifdef USE_MATRIX_I2C - i2c_master_init(); -#else - serial_master_init(); -#endif -} - -static void keyboard_slave_setup(void) { - -#ifdef USE_MATRIX_I2C - i2c_slave_init(SLAVE_I2C_ADDRESS); -#else - serial_slave_init(); -#endif -} - -void split_keyboard_setup(void) { - isLeftHand = is_keyboard_left(); - - if (is_helix_master()) { - keyboard_master_setup(); - } else { - keyboard_slave_setup(); - } - sei(); -} diff --git a/keyboards/helix/rev2/custom/split_util.h b/keyboards/helix/rev2/custom/split_util.h deleted file mode 100644 index 3b1d4249f550..000000000000 --- a/keyboards/helix/rev2/custom/split_util.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#ifdef SPLIT_KEYBOARD -# error This is helix local split_util.h. -# error This header file is used only when SPLIT_KEYBOARD=no. -#endif - -#include -#include "eeconfig.h" - -#define SLAVE_I2C_ADDRESS 0x32 - -extern volatile bool isLeftHand; - -// slave version of matix scan, defined in matrix.c -void matrix_slave_scan(void); - -void split_keyboard_setup(void); -bool is_helix_master(void); - -void matrix_master_OLED_init (void); diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c index 824d2e4d8645..ad5558869f8e 100644 --- a/keyboards/helix/rev2/keymaps/default/oled_display.c +++ b/keyboards/helix/rev2/keymaps/default/oled_display.c @@ -18,10 +18,6 @@ #include #include QMK_KEYBOARD_H -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -35,10 +31,15 @@ enum layer_number { _ADJUST }; -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#if defined(SSD1306OLED) || defined(OLED_ENABLE) +//assign the right code to your layers for OLED display +#define L_BASE 0 +#define L_LOWER (1<<_LOWER) +#define L_RAISE (1<<_RAISE) +#define L_ADJUST (1<<_ADJUST) +#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) -# if defined(OLED_ENABLE) +//OLED update loop +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) { return OLED_ROTATION_0; @@ -46,12 +47,120 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; } } -# else -# define oled_write(data,flag) matrix_write(matrix, data) -# define oled_write_P(data,flag) matrix_write_P(matrix, data) + +static void render_rgbled_status(bool full) { +# ifdef RGBLIGHT_ENABLE + char buf[30]; + if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { + if (full) { + snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", + rgblight_get_mode(), + rgblight_get_hue()/RGBLIGHT_HUE_STEP, + rgblight_get_sat()/RGBLIGHT_SAT_STEP, + rgblight_get_val()/RGBLIGHT_VAL_STEP); + } else { + snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode()); + } + oled_write(buf, false); + } # endif +} + +static void render_layer_status(void) { + // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below + char buf[10]; + oled_write_P(PSTR("Layer: "), false); + switch (layer_state) { + case L_BASE: + oled_write_P(PSTR("Default"), false); + break; + case L_RAISE: + oled_write_P(PSTR("Raise"), false); + break; + case L_LOWER: + oled_write_P(PSTR("Lower"), false); + break; + case L_ADJUST: + case L_ADJUST_TRI: + oled_write_P(PSTR("Adjust"), false); + break; + default: + oled_write_P(PSTR("Undef-"), false); + snprintf(buf,sizeof(buf), "%ld", layer_state); + oled_write(buf, false); + } + oled_write_P(PSTR("\n"), false); +} + +void render_status(void) { + // Render to mode icon + static const char os_logo[][2][3] PROGMEM = {{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; + if (is_mac_mode()) { + oled_write_P(os_logo[0][0], false); + oled_write_P(PSTR("\n"), false); + oled_write_P(os_logo[0][1], false); + } else { + oled_write_P(os_logo[1][0], false); + oled_write_P(PSTR("\n"), false); + oled_write_P(os_logo[1][1], false); + } + + oled_write_P(PSTR(" "), false); + render_layer_status(); + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUMLOCK") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false); + oled_advance_page(true); + render_rgbled_status(true); + oled_write_P(PSTR("\n"), false); +} + +bool oled_task_user(void) { + +# if DEBUG_TO_SCREEN + if (debug_enable) { + return; + } +# endif + + if (is_keyboard_master()) { + render_status(); + } else { + render_helix_logo(); + render_rgbled_status(false); + render_layer_status(); + } + return false; +} +#endif // end of OLED_ENABLE + +//SSD1306 OLED update loop +/* + The following code is left as a sample to help you transition from SSD1306OLED to OLED_ENABLE. + + * `matrix_write(matrix, data)` is replaced by `oled_write(data, false)`. + * `matrix_write_P(matrix, data)` is replaced by `oled_write_P(data, false)`. + * It is no longer necessary to call `iota_gfx_task()`. + * `matrix_update()` are no longer needed. + * `iota_gfx_task_user()` is no longer needed. Instead, `bool oled_task_user(void)` is provided. + + 以下のコードは、SSD1306OLED から OLED_ENABLE に移行する助けになるようにサンプルとして残してあります。 + + * `matrix_write(matrix, data)` は、`oled_write(data, false)` に書き換えます。 + * `matrix_write_P(matrix, data)` は、`oled_write_P(data, false)` に書き換えます。 + * `iota_gfx_task()` を呼び出す必要はなくなります。 + * `matrix_update()` は不要になります。 + * `iota_gfx_task_user()` は不要になります。代りに `bool oled_task_user(void)` を用意します。 + */ + +#ifdef SSD1306OLED +#include "ssd1306.h" +#define oled_write(data,flag) matrix_write(matrix, data) +#define oled_write_P(data,flag) matrix_write_P(matrix, data) -# ifdef SSD1306OLED void matrix_scan_user(void) { iota_gfx_task(); // this is what updates the display continuously } @@ -63,16 +172,7 @@ void matrix_update(struct CharacterMatrix *dest, dest->dirty = true; } } -# endif - -//assign the right code to your layers for OLED display -#define L_BASE 0 -#define L_LOWER (1<<_LOWER) -#define L_RAISE (1<<_RAISE) -#define L_ADJUST (1<<_ADJUST) -#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) -# ifdef SSD1306OLED static void render_logo(struct CharacterMatrix *matrix) { static const char helix_logo[] PROGMEM ={ @@ -82,13 +182,8 @@ static void render_logo(struct CharacterMatrix *matrix) { 0}; oled_write_P(helix_logo, false); } -# endif -# ifdef SSD1306OLED static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) { -# else -static void render_rgbled_status(bool full) { -# endif # ifdef RGBLIGHT_ENABLE char buf[30]; if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { @@ -106,11 +201,7 @@ static void render_rgbled_status(bool full) { # endif } -# ifdef SSD1306OLED static void render_layer_status(struct CharacterMatrix *matrix) { -# else -static void render_layer_status(void) { -# endif // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below char buf[10]; oled_write_P(PSTR("Layer: "), false); @@ -136,11 +227,7 @@ static void render_layer_status(void) { oled_write_P(PSTR("\n"), false); } -# ifdef SSD1306OLED void render_status(struct CharacterMatrix *matrix) { -# else -void render_status(void) { -# endif // Render to mode icon static const char os_logo[][2][3] PROGMEM = {{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; if (is_mac_mode()) { @@ -154,11 +241,7 @@ void render_status(void) { } oled_write_P(PSTR(" "), false); -# ifdef SSD1306OLED render_layer_status(matrix); -# else - render_layer_status(); -# endif // Host Keyboard LED Status led_t led_state = host_keyboard_led_state(); @@ -166,35 +249,28 @@ void render_status(void) { oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false); oled_write_P(PSTR("\n"), false); -# ifdef SSD1306OLED render_rgbled_status(true, matrix); -# else - render_rgbled_status(true); - oled_write_P(PSTR("\n"), false); -# endif } - -# ifdef SSD1306OLED -# if OLED_UPDATE_INTERVAL > 0 +# if OLED_UPDATE_INTERVAL > 0 uint16_t oled_update_timeout; -# endif +# endif void iota_gfx_task_user(void) { struct CharacterMatrix matrix; -# if DEBUG_TO_SCREEN +# if DEBUG_TO_SCREEN if (debug_enable) { return; } -# endif +# endif -#if OLED_UPDATE_INTERVAL > 0 +# if OLED_UPDATE_INTERVAL > 0 if (timer_elapsed(oled_update_timeout) < OLED_UPDATE_INTERVAL) { return; } oled_update_timeout = timer_read(); -#endif +# endif matrix_clear(&matrix); if (is_keyboard_master()) { render_status(&matrix); @@ -205,23 +281,5 @@ void iota_gfx_task_user(void) { } matrix_update(&display, &matrix); } -# else -bool oled_task_user(void) { -# if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -# endif - - if (is_keyboard_master()) { - render_status(); - } else { - render_helix_logo(); - render_rgbled_status(false); - render_layer_status(); - } - return false; -} -# endif -#endif +#endif // end of SSD1306OLED diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk index c6f818bf3970..34fd699a6543 100644 --- a/keyboards/helix/rev2/local_features.mk +++ b/keyboards/helix/rev2/local_features.mk @@ -40,24 +40,6 @@ ifneq ($(strip $(HELIX)),) SHOW_HELIX_OPTIONS = yes endif -ifneq ($(strip $(SPLIT_KEYBOARD)), yes) - # In the very near future, all keymaps will be compatible with split_common and this block will be removed. - SRC += local_drivers/serial.c - KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers - - # A workaround until #7089 is merged. - # serial.c must not be compiled with the -lto option. - # The current LIB_SRC has a side effect with the -fno-lto option, so use it. - LIB_SRC += local_drivers/serial.c - - CUSTOM_MATRIX = yes - - SRC += rev2/custom/matrix.c - SRC += rev2/custom/split_util.c - SRC += rev2/custom/split_scomm.c - KEYBOARD_PATHS += $(HELIX_TOP_DIR)/rev2/custom -endif - ######## # convert Helix-specific options (that represent combinations of standard options) # into QMK standard options. @@ -88,44 +70,17 @@ ifeq ($(strip $(LED_ANIMATIONS)), yes) endif ifeq ($(strip $(OLED_ENABLE)), yes) - ifeq ($(strip $(OLED_SELECT)),core) - OLED_ENABLE = yes - OLED_DRIVER = SSD1306 - ifeq ($(strip $(LOCAL_GLCDFONT)), yes) - OPT_DEFS += -DOLED_FONT_H=\ - else - OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" - endif + OLED_DRIVER = SSD1306 + ifeq ($(strip $(LOCAL_GLCDFONT)), yes) + OPT_DEFS += -DOLED_FONT_H=\ else - - # In the very near future, all keymaps will be compatible with QMK standard oled_driver and this block will be removed. - ifeq ($(strip $(SPLIT_KEYBOARD)), yes) - $(info Helix/rev2: The following combinations are not supported.) - $(info - SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) # yes - $(info - OLED_ENABLE = $(OLED_ENABLE)) # yes - $(info - OLED_SELECT = $(OLED_SELECT)) # local - $(info Force : OLED_ENABLE = no) - $(info .) - OLED_ENABLE = no - endif - ifeq ($(strip $(OLED_ENABLE)), yes) - OLED_ENABLE = no # disable OLED in TOP/common_features.mk - OLED_LOCAL_ENABLE = yes - SRC += local_drivers/i2c.c - SRC += local_drivers/ssd1306.c - KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers - OPT_DEFS += -DOLED_LOCAL_ENABLE - ifeq ($(strip $(LOCAL_GLCDFONT)), yes) - OPT_DEFS += -DLOCAL_GLCDFONT - endif - endif + OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" endif endif ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) $(info Helix Spacific Build Options) $(info - OLED_ENABLE = $(OLED_ENABLE)) - $(info - OLED_SELECT = $(OLED_SELECT)) $(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE)) $(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE)) $(info - LED_ANIMATIONS = $(LED_ANIMATIONS)) diff --git a/keyboards/helix/rev2/override_helix_options.mk b/keyboards/helix/rev2/override_helix_options.mk-maintenance similarity index 100% rename from keyboards/helix/rev2/override_helix_options.mk rename to keyboards/helix/rev2/override_helix_options.mk-maintenance diff --git a/keyboards/helix/rev2/rev2.c b/keyboards/helix/rev2/rev2.c index ba29f3c7de56..2bbe9a28e26a 100644 --- a/keyboards/helix/rev2/rev2.c +++ b/keyboards/helix/rev2/rev2.c @@ -20,14 +20,6 @@ // for the old keymap.c. uint8_t is_master = false; -#ifdef SSD1306OLED -#include "ssd1306.h" - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - return process_record_gfx(keycode,record) && process_record_user(keycode, record); -} -#endif - bool is_mac_mode(void) { // This is the opposite of the QMK standard, but we'll leave it for backwards compatibility. return keymap_config.swap_lalt_lgui == false; @@ -59,12 +51,6 @@ void keyboard_post_init_kb(void) { keyboard_post_init_user(); } -#if defined(SPLIT_KEYBOARD) && defined(SSD1306OLED) -void matrix_slave_scan_user(void) { - matrix_scan_user(); -} -#endif - #ifdef OLED_ENABLE void render_helix_logo(void) { static const char helix_logo[] PROGMEM ={ @@ -82,7 +68,7 @@ bool oled_task_kb(void) { oled_write_P(led_state.num_lock ? PSTR("NUMLOCK") : PSTR(" "), false); oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false); - oled_write_P(PSTR("\n"), false); + oled_advance_page(true); render_helix_logo(); } return false; diff --git a/keyboards/helix/rev2/rules.mk b/keyboards/helix/rev2/rules.mk index 5ed92ff0ad27..dce8b9d3eabf 100644 --- a/keyboards/helix/rev2/rules.mk +++ b/keyboards/helix/rev2/rules.mk @@ -1,6 +1,6 @@ KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk -# SPLIT_KEYBOARD = yes +SPLIT_KEYBOARD = yes # Helix Spacific Build Options default values HELIX_ROWS = 5 # Helix Rows is 4 or 5 @@ -10,8 +10,3 @@ LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) LED_ANIMATIONS = yes # LED animations IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) - -# If OLED_ENABLE is 'yes' -# If OLED_SELECT is 'core', use QMK standard oled_dirver.c. -# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c. -OLED_SELECT = local From c2939bf03833e013742ecc74d8229832c88656c2 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Fri, 22 Apr 2022 06:48:50 +0900 Subject: [PATCH 0585/1832] [Keymap] Fix build error `helix:five_rows` (#16847) --- .../rev2/keymaps/five_rows/oled_display.c | 279 ------------------ .../helix/rev2/keymaps/five_rows/rules.mk | 3 +- .../rev3_5rows/keymaps/five_rows/config.h | 2 + .../rev3_5rows/keymaps/five_rows/rules.mk | 2 + .../five_rows => users/mtei}/oled_display.c | 10 +- users/mtei/pseudo_sprintf.c | 53 ++++ users/mtei/pseudo_sprintf.h | 8 + 7 files changed, 74 insertions(+), 283 deletions(-) delete mode 100644 keyboards/helix/rev2/keymaps/five_rows/oled_display.c rename {keyboards/helix/rev3_5rows/keymaps/five_rows => users/mtei}/oled_display.c (97%) create mode 100644 users/mtei/pseudo_sprintf.c create mode 100644 users/mtei/pseudo_sprintf.h diff --git a/keyboards/helix/rev2/keymaps/five_rows/oled_display.c b/keyboards/helix/rev2/keymaps/five_rows/oled_display.c deleted file mode 100644 index dc6de02b1764..000000000000 --- a/keyboards/helix/rev2/keymaps/five_rows/oled_display.c +++ /dev/null @@ -1,279 +0,0 @@ -/* Copyright 2020 mtei - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H -#include -#ifdef CONSOLE_ENABLE - #include "print.h" -#endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif -#include -#include "layer_number.h" - -extern int current_default_layer; - -void init_helix_oled(void) { -#ifdef SSD1306OLED - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - iota_gfx_init(!has_usb()); // turns on the display -#endif -} - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#if defined(SSD1306OLED) || defined(OLED_ENABLE) - -# if defined(OLED_ENABLE) -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_0; - } else { - return OLED_ROTATION_180; - } -} -# else -# define oled_write(data,flag) matrix_write(matrix, data) -# define oled_write_P(data,flag) matrix_write_P(matrix, data) -# endif - -# ifdef SSD1306OLED -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} -# endif - -static char *sprint_decimal(char *buf, int data) { - if (data > 9) { - buf = sprint_decimal(buf, data/10); - } - *buf++ = "0123456789"[data%10]; - *buf = '\0'; - return buf; -} - -static char *sprint_hex(char *buf, uint32_t data) { - if (data > 0xf) { - buf = sprint_hex(buf, data/0x10); - } - *buf++ = "0123456789abcdef"[data & 0xf]; - *buf = '\0'; - return buf; -} - -char *sprints(char *buf, char *src) { - while (*src) { - *buf++ = *src++; - } - *buf = '\0'; - return buf; -} - -char *sprintx(char *buf, char *leadstr, uint32_t data) { - buf = sprints(buf, leadstr); - buf = sprint_hex(buf, data); - return buf; -} - -char *sprintd(char *buf, char *leadstr, int data) { - buf = sprints(buf, leadstr); - buf = sprint_decimal(buf, data); - return buf; -} - -char *sprint2d(char *buf, char *leadstr, int data) { - buf = sprints(buf, leadstr); - if (data > 99) { - return sprint_decimal(buf, data); - } - if (data < 10) { - *buf++ = ' '; - } - return sprint_decimal(buf, data); -} - -# ifdef SSD1306OLED -static void render_logo(struct CharacterMatrix *matrix) { -# else -static void render_logo(void) { -# endif - - static const char helix_logo[] PROGMEM = { - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - oled_write_P(helix_logo, false); - char buf[30]; - char *bufp; -# ifdef RGBLIGHT_ENABLE - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { - bufp = sprint2d(buf, " LED ", rgblight_get_mode()); -# ifdef DEBUG_MATRIX_SCAN_RATE - bufp = sprintd(bufp, " scan:", get_matrix_scan_rate()); -# else - bufp = sprintd(bufp, ": ", rgblight_get_hue()/RGBLIGHT_HUE_STEP); - bufp = sprintd(bufp, ",", rgblight_get_sat()/RGBLIGHT_SAT_STEP); - bufp = sprintd(bufp, ",", rgblight_get_val()/RGBLIGHT_VAL_STEP); - bufp = sprints(bufp, " "); -# endif - oled_write(buf, false); -# ifndef SSD1306OLED - } else { -# ifdef DEBUG_MATRIX_SCAN_RATE - bufp = sprintd(buf, " scan:", get_matrix_scan_rate()); - oled_write(buf, false); -# endif - oled_write_P( PSTR("\n"), false); -# endif - } -# else -# ifdef DEBUG_MATRIX_SCAN_RATE - bufp = sprintd(buf, " scan:", get_matrix_scan_rate()); - bufp = sprints(bufp, " "); - oled_write(buf, false); -# endif -# endif -} - -static const char Qwerty_name[] PROGMEM = " Qwerty"; -static const char Colemak_name[] PROGMEM = " Colemak"; -static const char Dvorak_name[] PROGMEM = " Dvorak"; -static const char Eucalyn_name[] PROGMEM = " Eucalyn"; -static const char Keypad_name[] PROGMEM = " Keypad"; - -static const char AUX_name[] PROGMEM = ":AUX"; -static const char KAUX_name[] PROGMEM = ":00"; -static const char Padfunc_name[] PROGMEM = ":PadFunc"; -static const char Lower_name[] PROGMEM = ":Func"; -static const char Raise_name[] PROGMEM = ":Extra"; -static const char Adjust_name[] PROGMEM = ":Adjust"; - -static const char *layer_names[] = { - [_QWERTY] = Qwerty_name, - [_COLEMAK] = Colemak_name, - [_DVORAK] = Dvorak_name, - [_EUCALYN]= Eucalyn_name, - [_KEYPAD] = Keypad_name, - [_AUX] = AUX_name, - [_KAUX] = KAUX_name, - [_LOWER] = Lower_name, - [_RAISE] = Raise_name, - [_PADFUNC]= Padfunc_name, - [_ADJUST] = Adjust_name -}; - -# ifdef SSD1306OLED -void render_status(struct CharacterMatrix *matrix) { -# else -void render_status(void) { -# endif - - // Render to mode icon - static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - if(keymap_config.swap_lalt_lgui==false){ - oled_write_P(os_logo[0][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[0][1], false); - } else { - oled_write_P(os_logo[1][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[1][1], false); - } - - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - int name_num; - uint32_t lstate; - oled_write_P(layer_names[current_default_layer], false); -# ifdef DEBUG_MATRIX_SCAN_RATE - char buf[16]; - sprintd(buf, " scan:", get_matrix_scan_rate()); - oled_write(buf, false); -# endif - oled_write_P(PSTR("\n"), false); - for (lstate = layer_state, name_num = 0; - lstate && name_num < sizeof(layer_names)/sizeof(char *); - lstate >>=1, name_num++) { - if ((lstate & 1) != 0) { - if (layer_names[name_num]) { - oled_write_P(layer_names[name_num], false); - } - } - } - oled_write_P(PSTR("\n"), false); - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(led_state.num_lock ? PSTR("NUMLOCK ") : PSTR(" "), false); - oled_write_P(led_state.caps_lock ? PSTR("CAPS ") : PSTR(" "), false); - oled_write_P(led_state.scroll_lock ? PSTR("SCLK ") : PSTR(" "), false); -} - -# ifdef SSD1306OLED -# if OLED_UPDATE_INTERVAL > 0 -uint16_t oled_update_timeout; -# endif - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - -# if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -# endif - -#if OLED_UPDATE_INTERVAL > 0 - if (timer_elapsed(oled_update_timeout) < OLED_UPDATE_INTERVAL) { - return; - } - oled_update_timeout = timer_read(); -#endif - matrix_clear(&matrix); - if (is_keyboard_master()) { - render_status(&matrix); - } else { - render_logo(&matrix); - } - matrix_update(&display, &matrix); -} -# else -bool oled_task_user(void) { - -# if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -# endif - - if(is_keyboard_master()){ - render_status(); - }else{ - render_logo(); - } - return false; -} -# endif - -#endif diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk index a92591d36bef..6604f6309be9 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk +++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk @@ -1,4 +1,5 @@ - SPLIT_KEYBOARD = yes +USER_NAME := mtei +SPLIT_KEYBOARD = yes CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h index e1c124f419c8..02d4425d62f8 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h @@ -35,6 +35,8 @@ along with this program. If not, see . # define OLED_UPDATE_INTERVAL 50 #endif +#define PSEUDO_SPRINTF_DEFINED + // place overrides here // If you need more program area, try select and reduce rgblight modes to use. diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk b/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk index 3f3bd9a9ab50..1d7f2f2744cc 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk @@ -1,3 +1,5 @@ +USER_NAME := mtei + CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration # CONSOLE_ENABLE and COMMAND_ENABLE diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c b/users/mtei/oled_display.c similarity index 97% rename from keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c rename to users/mtei/oled_display.c index cee415ad30b8..6a16b23b0e1d 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c +++ b/users/mtei/oled_display.c @@ -25,9 +25,7 @@ #include #include "layer_number.h" -char *sprints(char *buf, char *src); -char *sprintd(char *buf, char *leadstr, int data); -char *sprint2d(char *buf, char *leadstr, int data); +#include "pseudo_sprintf.h" extern int current_default_layer; @@ -68,6 +66,10 @@ void matrix_update(struct CharacterMatrix *dest, } # endif +#ifndef PSEUDO_SPRINTF_DEFINED +#include "pseudo_sprintf.c" +#endif + # ifdef SSD1306OLED static void render_logo(struct CharacterMatrix *matrix) { # else @@ -80,8 +82,10 @@ static void render_logo(void) { 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, 0}; oled_write_P(helix_logo, false); +# if defined(RGBLIGHT_ENABLE) || defined(DEBUG_MATRIX_SCAN_RATE) char buf[30]; char *bufp; +# endif # ifdef RGBLIGHT_ENABLE if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { bufp = sprint2d(buf, " LED ", rgblight_get_mode()); diff --git a/users/mtei/pseudo_sprintf.c b/users/mtei/pseudo_sprintf.c new file mode 100644 index 000000000000..446e3efc655a --- /dev/null +++ b/users/mtei/pseudo_sprintf.c @@ -0,0 +1,53 @@ +// Copyright 2022 Takeshi Ishii (@mtei) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "pseudo_sprintf.h" + +static char *sprint_decimal(char *buf, int data) { + if (data > 9) { + buf = sprint_decimal(buf, data/10); + } + *buf++ = "0123456789"[data%10]; + *buf = '\0'; + return buf; +} + +static char *sprint_hex(char *buf, uint32_t data) { + if (data > 0xf) { + buf = sprint_hex(buf, data/0x10); + } + *buf++ = "0123456789abcdef"[data & 0xf]; + *buf = '\0'; + return buf; +} + +char *sprints(char *buf, char *src) { + while (*src) { + *buf++ = *src++; + } + *buf = '\0'; + return buf; +} + +char *sprintx(char *buf, char *leadstr, uint32_t data) { + buf = sprints(buf, leadstr); + buf = sprint_hex(buf, data); + return buf; +} + +char *sprintd(char *buf, char *leadstr, int data) { + buf = sprints(buf, leadstr); + buf = sprint_decimal(buf, data); + return buf; +} + +char *sprint2d(char *buf, char *leadstr, int data) { + buf = sprints(buf, leadstr); + if (data > 99) { + return sprint_decimal(buf, data); + } + if (data < 10) { + *buf++ = ' '; + } + return sprint_decimal(buf, data); +} diff --git a/users/mtei/pseudo_sprintf.h b/users/mtei/pseudo_sprintf.h new file mode 100644 index 000000000000..1b91ee5ea8d0 --- /dev/null +++ b/users/mtei/pseudo_sprintf.h @@ -0,0 +1,8 @@ +// Copyright 2022 Takeshi Ishii (@mtei) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +char *sprints(char *buf, char *src); +char *sprintd(char *buf, char *leadstr, int data); +char *sprint2d(char *buf, char *leadstr, int data); From 61b3f125bfdbb4250ffe0cef67fc2fffeaaa8bf5 Mon Sep 17 00:00:00 2001 From: HorrorTroll Date: Fri, 22 Apr 2022 14:17:28 +0700 Subject: [PATCH 0586/1832] Added new keyboard Gas75 (#16768) --- keyboards/ml/gas75/config.h | 107 +++++++++ keyboards/ml/gas75/gas75.c | 29 +++ keyboards/ml/gas75/gas75.h | 55 +++++ keyboards/ml/gas75/info.json | 99 +++++++++ keyboards/ml/gas75/keymaps/default/keymap.c | 201 +++++++++++++++++ keyboards/ml/gas75/keymaps/default/readme.md | 3 + keyboards/ml/gas75/keymaps/via/config.h | 23 ++ keyboards/ml/gas75/keymaps/via/keymap.c | 221 +++++++++++++++++++ keyboards/ml/gas75/keymaps/via/readme.md | 3 + keyboards/ml/gas75/keymaps/via/rules.mk | 2 + keyboards/ml/gas75/readme.md | 25 +++ keyboards/ml/gas75/rules.mk | 25 +++ 12 files changed, 793 insertions(+) create mode 100644 keyboards/ml/gas75/config.h create mode 100644 keyboards/ml/gas75/gas75.c create mode 100644 keyboards/ml/gas75/gas75.h create mode 100644 keyboards/ml/gas75/info.json create mode 100644 keyboards/ml/gas75/keymaps/default/keymap.c create mode 100644 keyboards/ml/gas75/keymaps/default/readme.md create mode 100644 keyboards/ml/gas75/keymaps/via/config.h create mode 100644 keyboards/ml/gas75/keymaps/via/keymap.c create mode 100644 keyboards/ml/gas75/keymaps/via/readme.md create mode 100644 keyboards/ml/gas75/keymaps/via/rules.mk create mode 100644 keyboards/ml/gas75/readme.md create mode 100644 keyboards/ml/gas75/rules.mk diff --git a/keyboards/ml/gas75/config.h b/keyboards/ml/gas75/config.h new file mode 100644 index 000000000000..4afc29952bae --- /dev/null +++ b/keyboards/ml/gas75/config.h @@ -0,0 +1,107 @@ +/* Copyright 2022 ML + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xC0B0 +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER ML +#define PRODUCT Gas75 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D3, D5, D4, D7, D6, B4 } +#define MATRIX_COL_PINS { D1, D2, B5, B6, C6, C7, F7, F6, F5, F4, E6, B0, B1, B2, B3 } + +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Forcing to use NKRO instead 6KRO */ +#define FORCE_NKRO + +/* Larger keys per scan */ +#define QMK_KEYS_PER_SCAN 12 + +/* Encoder pins */ +#define ENCODERS_PAD_A { F0 } +#define ENCODERS_PAD_B { F1 } + +#ifdef RGB_MATRIX_ENABLE + #define DRIVER_LED_TOTAL 3 + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 + #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS + #define RGB_MATRIX_KEYPRESSES + + /* RGB Matrix config */ + #define RGB_DI_PIN D0 + + /* RGB Matrix effect */ + #define ENABLE_RGB_MATRIX_ALPHAS_MODS + #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_BREATHING + #define ENABLE_RGB_MATRIX_BAND_SAT + #define ENABLE_RGB_MATRIX_BAND_VAL + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define ENABLE_RGB_MATRIX_CYCLE_ALL + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL + #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL + #define ENABLE_RGB_MATRIX_DUAL_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define ENABLE_RGB_MATRIX_RAINDROPS + #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + #define ENABLE_RGB_MATRIX_HUE_BREATHING + #define ENABLE_RGB_MATRIX_HUE_PENDULUM + #define ENABLE_RGB_MATRIX_HUE_WAVE + #define ENABLE_RGB_MATRIX_PIXEL_RAIN + #define ENABLE_RGB_MATRIX_PIXEL_FLOW + #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define ENABLE_RGB_MATRIX_SPLASH + #define ENABLE_RGB_MATRIX_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_SPLASH + #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif diff --git a/keyboards/ml/gas75/gas75.c b/keyboards/ml/gas75/gas75.c new file mode 100644 index 000000000000..61054273e4f2 --- /dev/null +++ b/keyboards/ml/gas75/gas75.c @@ -0,0 +1,29 @@ +/* Copyright 2022 ML + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "gas75.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 0, 1, 2 } +}, { + //Key matrix (0 -> 2) + {224, 0}, {0 , 0}, {6 , 38}, +}, { + //Key matrix (0 -> 2) + 4, 1, 8, +} }; +#endif diff --git a/keyboards/ml/gas75/gas75.h b/keyboards/ml/gas75/gas75.h new file mode 100644 index 000000000000..88291ac4a8fa --- /dev/null +++ b/keyboards/ml/gas75/gas75.h @@ -0,0 +1,55 @@ +/* Copyright 2022 ML + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +/* 54 ◯ 53 + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┐ + * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0E │ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┐ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D ││3E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘ + * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │┌───┐ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│4D │ + * │50 │51 │52 │56 │5A │5B │ ┌───┼───┼───┐ + * └────┴────┴────┴────────────────────────┴────┴────┘ │5C │5D │5E │ + * └───┴───┴───┘ + */ + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K54, K0E, K53, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E }, \ + { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, XXX }, \ + { K50, K51, K52, K53, K54, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E } \ +} diff --git a/keyboards/ml/gas75/info.json b/keyboards/ml/gas75/info.json new file mode 100644 index 000000000000..4f9e0ad9d1e4 --- /dev/null +++ b/keyboards/ml/gas75/info.json @@ -0,0 +1,99 @@ +{ + "keyboard_name": "Gas75", + "url": "https://item.taobao.com/item.htm?ft=t&id=652142230132", + "maintainer": "ML", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Encoder CCW", "x":15.25, "y":0, "w":0.5, "h":0.5}, + {"label":"Encoder CW", "x":15.75, "y":0, "w":0.5, "h":0.5}, + {"label":"Delete", "x":15.25, "y":0.5, "h":0.5}, + + {"label":"`~", "x":0, "y":1.25}, + {"label":"1!", "x":1, "y":1.25}, + {"label":"2@", "x":2, "y":1.25}, + {"label":"3#", "x":3, "y":1.25}, + {"label":"4$", "x":4, "y":1.25}, + {"label":"5%", "x":5, "y":1.25}, + {"label":"6^", "x":6, "y":1.25}, + {"label":"7&", "x":7, "y":1.25}, + {"label":"8*", "x":8, "y":1.25}, + {"label":"9(", "x":9, "y":1.25}, + {"label":"0)", "x":10, "y":1.25}, + {"label":"-_", "x":11, "y":1.25}, + {"label":"=+", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25}, + {"label":"Home", "x":15.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[{", "x":11.5, "y":2.25}, + {"label":"]}", "x":12.5, "y":2.25}, + {"label":"\\|", "x":13.5, "y":2.25, "w":1.5}, + {"label":"PgUp", "x":12.5, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":";:", "x":10.75, "y":3.25}, + {"label":"'\"", "x":11.75, "y":3.25}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + {"label":"PgDn", "x":12.5, "y":3.25}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":",<", "x":9.25, "y":4.25}, + {"label":".>", "x":10.25, "y":4.25}, + {"label":"/?", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, + {"label":"\u2191", "x":14.25, "y":4.5}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + {"label":"Space", "x":3.75, "y":5.25, "w":6.25}, + {"label":"Alt", "x":10, "y":5.25, "w":1.25}, + {"label":"Fn", "x":11.25, "y":5.25, "w":1.25}, + {"label":"\u2190", "x":13.25, "y":5.5}, + {"label":"\u2193", "x":14.25, "y":5.5}, + {"label":"\u2192", "x":15.25, "y":5.5}, + ] + } + } +} diff --git a/keyboards/ml/gas75/keymaps/default/keymap.c b/keyboards/ml/gas75/keymaps/default/keymap.c new file mode 100644 index 000000000000..65ece63bad8e --- /dev/null +++ b/keyboards/ml/gas75/keymaps/default/keymap.c @@ -0,0 +1,201 @@ +/* Copyright 2022 ML + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +#include +#include + +#include + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum layer_names { + _BASE, + _FN, +}; + +enum user_rgb_mode { + RGB_MODE_ALL, + RGB_MODE_NONE, +}; + +typedef union { + uint32_t raw; + struct { + uint8_t rgb_mode :8; + }; +} user_config_t; + +user_config_t user_config; + +// enum layer_keycodes { }; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┐ + │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││Pse││Del│ + └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┐ + │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bckspc││Del│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤ + │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ ││PgU│ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤ + │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter ││PgD│ + ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘ + │ LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │┌───┐ + ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│ ↑ │ + │LCrl│GUI │LAlt│ Space │RAlt│ Fn │ ┌───┼───┼───┐ + └────┴────┴────┴────────────────────────┴────┴────┘ │ ← │ ↓ │ → │ + └───┴───┴───┘ + ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┐ + │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ + └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┐ + │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ ~ │ ││ │ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┤ + │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤ + │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ ││ │ + ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘ + │ LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │┌───┐ + ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│ │ + │ │ │ │ │ │ │ ┌───┼───┼───┐ + └────┴────┴────┴────────────────────────┴────┴────┘ │ │ │ │ + └───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_BASE] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, KC_MUTE, _______, + KC_GRV, 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_HOME, + 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_PGUP, + 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, + 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT + ), + +/* + ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┐ + │Rst││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││Tog│ + └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┐ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││Hui│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┤ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││Hud│ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤ + │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ + ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘ + │ │ │ │ │ │ │ │ │ │ │ │ │┌───┐ + ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│Vai│ + │ │ │ │ │ │ │ ┌───┼───┼───┐ + └────┴────┴────┴────────────────────────┴────┴────┘ │Spd│Vad│Spi│ + └───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_FN] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, + _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI + ), +}; + +void keyboard_post_init_user(void) { + user_config.raw = eeconfig_read_user(); + switch (user_config.rgb_mode) { + case RGB_MODE_ALL: + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + break; + case RGB_MODE_NONE: + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + break; + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_NONE; + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + user_config.rgb_mode = RGB_MODE_ALL; + } + break; + } + eeconfig_update_user(user_config.raw); + } + return false; + } + return true; +} + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (layer_state_is(_BASE)) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (layer_state_is(_FN)) { + if (clockwise) { + rgb_matrix_step(); + } else { + rgb_matrix_step_reverse(); + } + } + } + return true; +} +#endif + +void rgb_matrix_indicators_user(void) { + rgb_matrix_set_color(2, 0, 0, 0); + + HSV hsv = rgb_matrix_config.hsv; + uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); + hsv.h = time; + RGB rgb = hsv_to_rgb(hsv); + + if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(2, rgb.r, rgb.g, rgb.b); + } + } else { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(2, rgb.r, rgb.g, rgb.b); + } else { + rgb_matrix_set_color(2, 0, 0, 0); + } + } +} diff --git a/keyboards/ml/gas75/keymaps/default/readme.md b/keyboards/ml/gas75/keymaps/default/readme.md new file mode 100644 index 000000000000..30d8c00f4305 --- /dev/null +++ b/keyboards/ml/gas75/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# Default Layout + +Keymap is default 81 qwerty, 75% exploded layout with F13 & knob diff --git a/keyboards/ml/gas75/keymaps/via/config.h b/keyboards/ml/gas75/keymaps/via/config.h new file mode 100644 index 000000000000..18d8c180baeb --- /dev/null +++ b/keyboards/ml/gas75/keymaps/via/config.h @@ -0,0 +1,23 @@ +/* Copyright 2022 ML + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 2 + +#ifdef RGB_MATRIX_ENABLE + #define VIA_QMK_RGBLIGHT_ENABLE +#endif diff --git a/keyboards/ml/gas75/keymaps/via/keymap.c b/keyboards/ml/gas75/keymaps/via/keymap.c new file mode 100644 index 000000000000..46408fba6899 --- /dev/null +++ b/keyboards/ml/gas75/keymaps/via/keymap.c @@ -0,0 +1,221 @@ +/* Copyright 2022 ML + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +#include +#include + +#include + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum layer_names { + _BASE, + _FN, +}; + +enum user_rgb_mode { + RGB_MODE_ALL, + RGB_MODE_NONE, +}; + +typedef union { + uint32_t raw; + struct { + uint8_t rgb_mode :8; + }; +} user_config_t; + +user_config_t user_config; + +// enum layer_keycodes { }; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┐ + │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││Pse││Del│ + └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┐ + │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bckspc││Del│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤ + │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ ││PgU│ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤ + │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter ││PgD│ + ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘ + │ LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │┌───┐ + ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│ ↑ │ + │LCrl│GUI │LAlt│ Space │RAlt│ Fn │ ┌───┼───┼───┐ + └────┴────┴────┴────────────────────────┴────┴────┘ │ ← │ ↓ │ → │ + └───┴───┴───┘ + ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┐ + │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ + └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┐ + │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ ~ │ ││ │ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┤ + │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤ + │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ ││ │ + ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘ + │ LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │┌───┐ + ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│ │ + │ │ │ │ │ │ │ ┌───┼───┼───┐ + └────┴────┴────┴────────────────────────┴────┴────┘ │ │ │ │ + └───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_BASE] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_VOLD, KC_MUTE, KC_VOLU, + KC_GRV, 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_HOME, + 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_PGUP, + 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, + 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT + ), + +/* + ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┐ + │Rst││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││Tog│ + └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┐ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││Hui│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┤ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││Hud│ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤ + │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ + ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘ + │ │ │ │ │ │ │ │ │ │ │ │ │┌───┐ + ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│Vai│ + │ │ │ │ │ │ │ ┌───┼───┼───┐ + └────┴────┴────┴────────────────────────┴────┴────┘ │Spd│Vad│Spi│ + └───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_FN] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, + _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI + ), +}; + +void keyboard_post_init_user(void) { + user_config.raw = eeconfig_read_user(); + switch (user_config.rgb_mode) { + case RGB_MODE_ALL: + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + break; + case RGB_MODE_NONE: + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + break; + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_NONE; + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + user_config.rgb_mode = RGB_MODE_ALL; + } + break; + } + eeconfig_update_user(user_config.raw); + } + return false; + } + return true; +} + +#ifdef ENCODER_ENABLE + +#define ENCODERS 1 +static uint8_t encoder_state[ENCODERS] = {0}; +static keypos_t encoder_cw[ENCODERS] = {{3, 5}}; +static keypos_t encoder_ccw[ENCODERS] = {{4, 5}}; + +void encoder_action_unregister(void) { + for (int index = 0; index < ENCODERS; ++index) { + if (encoder_state[index]) { + keyevent_t encoder_event = (keyevent_t) { + .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], + .pressed = false, + .time = (timer_read() | 1) + }; + encoder_state[index] = 0; + action_exec(encoder_event); + } + } +} + +void encoder_action_register(uint8_t index, bool clockwise) { + keyevent_t encoder_event = (keyevent_t) { + .key = clockwise ? encoder_cw[index] : encoder_ccw[index], + .pressed = true, + .time = (timer_read() | 1) + }; + encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); + action_exec(encoder_event); +} + +void matrix_scan_user(void) { + encoder_action_unregister(); +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + encoder_action_register(index, clockwise); + return false; +} +#endif + +void rgb_matrix_indicators_user(void) { + rgb_matrix_set_color(2, 0, 0, 0); + + HSV hsv = rgb_matrix_config.hsv; + uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); + hsv.h = time; + RGB rgb = hsv_to_rgb(hsv); + + if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(2, rgb.r, rgb.g, rgb.b); + } + } else { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(2, rgb.r, rgb.g, rgb.b); + } else { + rgb_matrix_set_color(2, 0, 0, 0); + } + } +} diff --git a/keyboards/ml/gas75/keymaps/via/readme.md b/keyboards/ml/gas75/keymaps/via/readme.md new file mode 100644 index 000000000000..a4f2599f49a3 --- /dev/null +++ b/keyboards/ml/gas75/keymaps/via/readme.md @@ -0,0 +1,3 @@ +# Default Layout with VIA + +Keymap is default 81 qwerty, 75% exploded layout with F13 & knob diff --git a/keyboards/ml/gas75/keymaps/via/rules.mk b/keyboards/ml/gas75/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/ml/gas75/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/ml/gas75/readme.md b/keyboards/ml/gas75/readme.md new file mode 100644 index 000000000000..fcf535038465 --- /dev/null +++ b/keyboards/ml/gas75/readme.md @@ -0,0 +1,25 @@ +# Gas75 + +A 75% exploded keyboard made by ML, which controlled by an Atmega32u4 chipset. + +* Keyboard Maintainer: ML +* Hardware Supported: Atmega32u4 +* Hardware Availability: https://item.taobao.com/item.htm?ft=t&id=652142230132 + +Make example for this keyboard (after setting up your build environment): + + make ml/gas75:default + +Flashing example for this keyboard: + + make ml/gas75:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to RESET if it is available diff --git a/keyboards/ml/gas75/rules.mk b/keyboards/ml/gas75/rules.mk new file mode 100644 index 000000000000..a0fe1627d43c --- /dev/null +++ b/keyboards/ml/gas75/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# RGB Matrix enabled +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 + +# Encoder enabled +ENCODER_ENABLE = yes From 336791b915f11056ae0f701b1cd5ba18e719c0bb Mon Sep 17 00:00:00 2001 From: Ladduro Date: Fri, 22 Apr 2022 10:21:15 +0300 Subject: [PATCH 0587/1832] Keychron Q2 add Caps Lock indicator and layer RGB (#16641) --- .../q2/rev_0110/keymaps/ladduro/config.h | 25 +++++ .../q2/rev_0110/keymaps/ladduro/keymap.c | 96 +++++++++++++++++++ .../q2/rev_0110/keymaps/ladduro/keymap_user.h | 27 ++++++ .../q2/rev_0110/keymaps/ladduro/readme.md | 29 ++++++ .../keymaps/ladduro/rgb_matrix_user.c | 72 ++++++++++++++ .../keymaps/ladduro/rgb_matrix_user.h | 25 +++++ .../q2/rev_0110/keymaps/ladduro/rules.mk | 5 + 7 files changed, 279 insertions(+) create mode 100644 keyboards/keychron/q2/rev_0110/keymaps/ladduro/config.h create mode 100644 keyboards/keychron/q2/rev_0110/keymaps/ladduro/keymap.c create mode 100644 keyboards/keychron/q2/rev_0110/keymaps/ladduro/keymap_user.h create mode 100644 keyboards/keychron/q2/rev_0110/keymaps/ladduro/readme.md create mode 100644 keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c create mode 100644 keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.h create mode 100644 keyboards/keychron/q2/rev_0110/keymaps/ladduro/rules.mk diff --git a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/config.h b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/config.h new file mode 100644 index 000000000000..a8ad37d0036e --- /dev/null +++ b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/config.h @@ -0,0 +1,25 @@ +/* Copyright 2022 @ Ionut Micu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +/* RGB Matrix Configuration */ +#ifdef RGB_MATRIX_ENABLE +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define CAPS_LOCK_INDICATOR_COLOR RGB_RED +# define CAPS_LOCK_INDICATOR_LIGHT_ALPHAS +# define FN_LAYER_TRANSPARENT_KEYS_OFF +#endif \ No newline at end of file diff --git a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/keymap.c b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/keymap.c new file mode 100644 index 000000000000..cc83640b39b8 --- /dev/null +++ b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/keymap.c @@ -0,0 +1,96 @@ +/* Copyright 2022 @ Ionut Micu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "keymap_user.h" +#ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix_user.h" +#endif + +enum custom_keycodes { + KC_MISSION_CONTROL = SAFE_RANGE, + KC_LAUNCHPAD +}; + +#define KC_WAVE S(KC_GRV) +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) +#define KC_MCTL KC_MISSION_CONTROL +#define KC_LPAD KC_LAUNCHPAD + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_ansi_67( + 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_INS, + 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_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_HOME, + 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_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(_FN1), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_BASE] = LAYOUT_ansi_67( + 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_INS, + 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_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_HOME, + 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT), + + [_FN1] = LAYOUT_ansi_67( + KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, 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, 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), + + [_FN2] = LAYOUT_ansi_67( + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, 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, 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), + + [_FN3] = LAYOUT_ansi_67( + KC_WAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, 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, 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) +}; + +void matrix_init_user(void) { +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_init_user(); +#endif +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_MISSION_CONTROL: + if (record->event.pressed) { + host_consumer_send(0x29F); + } else { + host_consumer_send(0); + } + return false; // Skip all further processing of this key + case KC_LAUNCHPAD: + if (record->event.pressed) { + host_consumer_send(0x2A0); + } else { + host_consumer_send(0); + } + return false; // Skip all further processing of this key + default: + return true; // Process all other keycodes normally + } +} diff --git a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/keymap_user.h b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/keymap_user.h new file mode 100644 index 000000000000..ded78ae1b8eb --- /dev/null +++ b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/keymap_user.h @@ -0,0 +1,27 @@ +/* Copyright 2022 @ Ionut Micu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// clang-format off + +enum layers{ + MAC_BASE, + WIN_BASE, + _FN1, + _FN2, + _FN3, +}; \ No newline at end of file diff --git a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/readme.md b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/readme.md new file mode 100644 index 000000000000..42ca81a1a1ef --- /dev/null +++ b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/readme.md @@ -0,0 +1,29 @@ +# Ladduro keymap for Keychron Q2 (ANSI rev_0110) v1.01 + +This keymap ports Q1 logic (by gtg465x) for RGB caps lock indicator and layer RBG assigned key. + +## Features: +- On macOS, F3 opens Mission Control and F4 opens Launchpad without needing to configure shortcuts in System Preferences +- RGB lighting turns off when the computer sleeps +- Caps Lock and alpha keys turn red to indicate when Caps Lock is on +- When the Fn layer is active, RGB lighting turns off for keys that are not assigned + +Make example for this keyboard (after setting up your build environment): + + make keychron/q2/rev_0110:ladduro + +Flashing example for this keyboard: + + make keychron/q2/rev_0110:ladduro:flash + +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). + +## Changelog + +### 14/03/2021 - 1. + +- Initial release + +### 02/04/2021 - 1.01 + +- Remove via enable from rules.mk as it breaks the layout for some reason diff --git a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c new file mode 100644 index 000000000000..19ddd54aa807 --- /dev/null +++ b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c @@ -0,0 +1,72 @@ +/* Copyright 2022 @ Ionut Micu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "rgb_matrix_user.h" +#include "keymap_user.h" + +keypos_t led_index_key_position[DRIVER_LED_TOTAL]; + +void rgb_matrix_init_user(void) { + for (uint8_t row = 0; row < MATRIX_ROWS; row++) { + for (uint8_t col = 0; col < MATRIX_COLS; col++) { + uint8_t led_index = g_led_config.matrix_co[row][col]; + if (led_index != NO_LED) { + led_index_key_position[led_index] = (keypos_t){.row = row, .col = col}; + } + } + } +} + +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + uint8_t current_layer = get_highest_layer(layer_state); + switch (current_layer) { + case MAC_BASE: + case WIN_BASE: +#ifdef CAPS_LOCK_INDICATOR_COLOR + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_caps_lock_indicator, CAPS_LOCK_INDICATOR_COLOR); + } +#endif + break; + case _FN1: + case _FN2: + case _FN3: +#ifdef FN_LAYER_TRANSPARENT_KEYS_OFF + rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_transparent, RGB_OFF); +#endif + break; + } +} + +void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { + for (uint8_t i = led_min; i < led_max; i++) { + uint16_t keycode = keymap_key_to_keycode(layer, led_index_key_position[i]); + if ((*is_keycode)(keycode)) { + rgb_matrix_set_color(i, red, green, blue); + } + } +} + +bool is_caps_lock_indicator(uint16_t keycode) { +#ifdef CAPS_LOCK_INDICATOR_LIGHT_ALPHAS + return (KC_A <= keycode && keycode <= KC_Z) || keycode == KC_CAPS; +#else + return keycode == KC_CAPS; +#endif +} + +bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; } \ No newline at end of file diff --git a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.h b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.h new file mode 100644 index 000000000000..4d33f483aeee --- /dev/null +++ b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.h @@ -0,0 +1,25 @@ + +/* Copyright 2022 @ Ionut Micu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +void rgb_matrix_init_user(void); + +void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue); + +bool is_caps_lock_indicator(uint16_t keycode); +bool is_transparent(uint16_t keycode); \ No newline at end of file diff --git a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rules.mk b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rules.mk new file mode 100644 index 000000000000..c0ee640cd242 --- /dev/null +++ b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rules.mk @@ -0,0 +1,5 @@ +MOUSEKEY_ENABLE = no + +ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) + SRC += rgb_matrix_user.c +endif From 912e24ba9a7f1196c74ee852e74d97636f706284 Mon Sep 17 00:00:00 2001 From: yiancar Date: Fri, 22 Apr 2022 08:32:01 +0100 Subject: [PATCH 0588/1832] Loki65 (#16844) Co-authored-by: Drashna Jaelre Co-authored-by: yiancar --- keyboards/loki65/config.h | 104 +++++++++++++++++++++ keyboards/loki65/halconf.h | 21 +++++ keyboards/loki65/info.json | 10 ++ keyboards/loki65/keymaps/default/keymap.c | 32 +++++++ keyboards/loki65/keymaps/default/readme.md | 5 + keyboards/loki65/keymaps/via/keymap.c | 46 +++++++++ keyboards/loki65/keymaps/via/readme.md | 5 + keyboards/loki65/keymaps/via/rules.mk | 1 + keyboards/loki65/loki65.c | 21 +++++ keyboards/loki65/loki65.h | 34 +++++++ keyboards/loki65/mcuconf.h | 22 +++++ keyboards/loki65/readme.md | 32 +++++++ keyboards/loki65/rules.mk | 27 ++++++ 13 files changed, 360 insertions(+) create mode 100644 keyboards/loki65/config.h create mode 100644 keyboards/loki65/halconf.h create mode 100644 keyboards/loki65/info.json create mode 100644 keyboards/loki65/keymaps/default/keymap.c create mode 100644 keyboards/loki65/keymaps/default/readme.md create mode 100644 keyboards/loki65/keymaps/via/keymap.c create mode 100644 keyboards/loki65/keymaps/via/readme.md create mode 100644 keyboards/loki65/keymaps/via/rules.mk create mode 100644 keyboards/loki65/loki65.c create mode 100644 keyboards/loki65/loki65.h create mode 100644 keyboards/loki65/mcuconf.h create mode 100644 keyboards/loki65/readme.md create mode 100644 keyboards/loki65/rules.mk diff --git a/keyboards/loki65/config.h b/keyboards/loki65/config.h new file mode 100644 index 000000000000..5f017d8cbf95 --- /dev/null +++ b/keyboards/loki65/config.h @@ -0,0 +1,104 @@ +/* +Copyright 2022 Yiancar-Designs + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published byß +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x8968 +#define PRODUCT_ID 0x4C36 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Yiancar-Designs +#define PRODUCT Loki65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +#define MATRIX_ROW_PINS { A2, B9, B8, B5, B4 } +#define MATRIX_COL_PINS { A1, B1, B0, A7, A6, A5, A4, A3, B2, B10, B11, B12, B13, B14, B15 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Ensure we jump to bootloader if the RESET keycode was pressed */ +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE + +/* Indicator LEDs */ +#define LED_CAPS_LOCK_PIN B6 +#define LED_PIN_ON_STATE 0 + +/* RGB Light */ +#define WS2812_PWM_DRIVER PWMD1 +#define WS2812_PWM_CHANNEL 2 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM5 +#define WS2812_DMA_CHANNEL 5 + +#define RGB_DI_PIN A9 +#define RGBLED_NUM 37 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/loki65/halconf.h b/keyboards/loki65/halconf.h new file mode 100644 index 000000000000..4abd83bd3bae --- /dev/null +++ b/keyboards/loki65/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2022 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/loki65/info.json b/keyboards/loki65/info.json new file mode 100644 index 000000000000..1b4fc1b91758 --- /dev/null +++ b/keyboards/loki65/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "Loki65", + "url": "https://yiancar-designs.com", + "maintainer": "Yiancar-Designs", + "layouts": { + "LAYOUT_all": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + } + } +} diff --git a/keyboards/loki65/keymaps/default/keymap.c b/keyboards/loki65/keymaps/default/keymap.c new file mode 100644 index 000000000000..3c3be3b24220 --- /dev/null +++ b/keyboards/loki65/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +/* Copyright 2022 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( /* Base */ + 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_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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_all( /* FN */ + 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, KC_DEL, 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, + 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, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/loki65/keymaps/default/readme.md b/keyboards/loki65/keymaps/default/readme.md new file mode 100644 index 000000000000..1ff110941fb4 --- /dev/null +++ b/keyboards/loki65/keymaps/default/readme.md @@ -0,0 +1,5 @@ +# The default keymap for Loki 65. VIA support disabled. + +![Layer 0](https://i.imgur.com/DRphL9D.png) + +![Layer 1](https://i.imgur.com/4Sd4SP9.png) diff --git a/keyboards/loki65/keymaps/via/keymap.c b/keyboards/loki65/keymaps/via/keymap.c new file mode 100644 index 000000000000..2980ec515a0c --- /dev/null +++ b/keyboards/loki65/keymaps/via/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2022 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( /* Base */ + 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_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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_all( /* FN */ + 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, KC_DEL, 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, + 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, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +[2] = LAYOUT_all( /* Empty for dynamic keymaps */ + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +[3] = LAYOUT_all( /* Empty for dynamic keymaps */ + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/loki65/keymaps/via/readme.md b/keyboards/loki65/keymaps/via/readme.md new file mode 100644 index 000000000000..7f54a19cb36a --- /dev/null +++ b/keyboards/loki65/keymaps/via/readme.md @@ -0,0 +1,5 @@ +# The default keymap for Loki 65. VIA support enabled. + +![Layer 0](https://i.imgur.com/DRphL9D.png) + +![Layer 1](https://i.imgur.com/4Sd4SP9.png) diff --git a/keyboards/loki65/keymaps/via/rules.mk b/keyboards/loki65/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/loki65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/loki65/loki65.c b/keyboards/loki65/loki65.c new file mode 100644 index 000000000000..1a498e6aa04e --- /dev/null +++ b/keyboards/loki65/loki65.c @@ -0,0 +1,21 @@ +/* Copyright 2022 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #include "loki65.h" + +void led_init_ports(void) { + // Set our LED pins as open drain outputs + palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN); +} diff --git a/keyboards/loki65/loki65.h b/keyboards/loki65/loki65.h new file mode 100644 index 000000000000..ae8eacbea79a --- /dev/null +++ b/keyboards/loki65/loki65.h @@ -0,0 +1,34 @@ +/* Copyright 2022 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define XXX KC_NO + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E } \ +} diff --git a/keyboards/loki65/mcuconf.h b/keyboards/loki65/mcuconf.h new file mode 100644 index 000000000000..0b3baa9b4b27 --- /dev/null +++ b/keyboards/loki65/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2022 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/loki65/readme.md b/keyboards/loki65/readme.md new file mode 100644 index 000000000000..ff4c7f8ae639 --- /dev/null +++ b/keyboards/loki65/readme.md @@ -0,0 +1,32 @@ +# Loki 65 + +This is a 65% layout PCB. It supports VIA. + +* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A TKL keyboard with STM32F072CB +* Hardware Availability: https://geekhack.org/index.php?topic=111422.0 + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make loki65:default + +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). + +### Reset + +- Unplug +- Hold Escape +- Plug In +- Unplug +- Release Escape + +### Flash + +- Unplug +- Hold Escape +- Plug In +- Flash using QMK Toolbox or CLI (`make loki65::flash`) diff --git a/keyboards/loki65/rules.mk b/keyboards/loki65/rules.mk new file mode 100644 index 000000000000..a53d7daeb0f2 --- /dev/null +++ b/keyboards/loki65/rules.mk @@ -0,0 +1,27 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + +# Do not put the microcontroller into power saving mode +# when we get USB suspend event. We want it to keep updating +# backlight effects. +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +WS2812_DRIVER = pwm # Driver for RGB uderglow +AUDIO_ENABLE = no # Audio output From 0100629fa2e5e9ddd6d0f855d687938352f82774 Mon Sep 17 00:00:00 2001 From: customMK <67444966+David-customMK@users.noreply.github.com> Date: Fri, 22 Apr 2022 02:33:59 -0500 Subject: [PATCH 0589/1832] Fix AVR backlight breathing: low brightness limit & exceeding breathing table max index (#16770) Co-authored-by: Drashna Jaelre Co-authored-by: David Hoelscher --- quantum/backlight/backlight_avr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/quantum/backlight/backlight_avr.c b/quantum/backlight/backlight_avr.c index f3a025227001..474e0a86f5e0 100644 --- a/quantum/backlight/backlight_avr.c +++ b/quantum/backlight/backlight_avr.c @@ -405,14 +405,18 @@ ISR(TIMERx_OVF_vect) uint16_t interval = (uint16_t)get_breathing_period() * breathing_ISR_frequency / BREATHING_STEPS; // resetting after one period to prevent ugly reset at overflow. breathing_counter = (breathing_counter + 1) % (get_breathing_period() * breathing_ISR_frequency); - uint8_t index = breathing_counter / interval % BREATHING_STEPS; + uint8_t index = breathing_counter / interval; + // limit index to max step value + if (index >= BREATHING_STEPS) { + index = BREATHING_STEPS - 1; + } if (((breathing_halt == BREATHING_HALT_ON) && (index == BREATHING_STEPS / 2)) || ((breathing_halt == BREATHING_HALT_OFF) && (index == BREATHING_STEPS - 1))) { breathing_interrupt_disable(); } // Set PWM to a brightnessvalue scaled to the configured resolution - set_pwm(cie_lightness(rescale_limit_val(scale_backlight((uint16_t)pgm_read_byte(&breathing_table[index]) * ICRx / 255)))); + set_pwm(cie_lightness(rescale_limit_val(scale_backlight((uint32_t)pgm_read_byte(&breathing_table[index]) * ICRx / 255)))); } #endif // BACKLIGHT_BREATHING From ba8b236727cd391addebcedb85ee0da0a8e804fe Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Fri, 22 Apr 2022 15:36:08 +0800 Subject: [PATCH 0590/1832] [Keyboard]Remove RGB light implementation of ID67, revert the file structure changes by #15558 (#15854) --- keyboards/idobao/id67/{rgb => }/config.h | 0 keyboards/idobao/id67/default_rgb/config.h | 67 ----- .../idobao/id67/default_rgb/default_rgb.h | 33 --- keyboards/idobao/id67/default_rgb/info.json | 85 ------ keyboards/idobao/id67/default_rgb/readme.md | 19 -- keyboards/idobao/id67/default_rgb/rules.mk | 22 -- keyboards/idobao/id67/id67.c | 61 ++++ keyboards/idobao/id67/{rgb/rgb.h => id67.h} | 12 +- keyboards/idobao/id67/{rgb => }/info.json | 0 .../idobao/id67/keymaps/default/keymap.c | 3 +- .../idobao/id67/keymaps/default_nug/config.h | 26 ++ .../default => keymaps/default_nug}/keymap.c | 5 + .../{rgb => }/keymaps/thewerther/config.h | 0 .../{rgb => }/keymaps/thewerther/keymap.c | 0 .../{rgb => }/keymaps/thewerther/rules.mk | 0 .../default_rgb.c => keymaps/via/config.h} | 7 +- .../idobao/id67/keymaps/via_nug/config.h | 27 ++ .../idobao/id67/keymaps/via_nug/keymap.c | 53 ++++ .../idobao/id67/keymaps/via_nug/rules.mk | 2 + .../id67/keymaps/vinorodrigues/config.h | 85 ++++++ .../id67/keymaps/vinorodrigues/keymap.c | 261 ++++++++++++++++++ .../id67/keymaps/vinorodrigues/rules.mk | 5 + keyboards/idobao/id67/readme.md | 37 ++- keyboards/idobao/id67/rgb/readme.md | 36 --- keyboards/idobao/id67/rgb/rgb.c | 49 ---- keyboards/idobao/id67/{rgb => }/rules.mk | 2 +- 26 files changed, 565 insertions(+), 332 deletions(-) rename keyboards/idobao/id67/{rgb => }/config.h (100%) delete mode 100644 keyboards/idobao/id67/default_rgb/config.h delete mode 100644 keyboards/idobao/id67/default_rgb/default_rgb.h delete mode 100644 keyboards/idobao/id67/default_rgb/info.json delete mode 100644 keyboards/idobao/id67/default_rgb/readme.md delete mode 100644 keyboards/idobao/id67/default_rgb/rules.mk create mode 100644 keyboards/idobao/id67/id67.c rename keyboards/idobao/id67/{rgb/rgb.h => id67.h} (68%) rename keyboards/idobao/id67/{rgb => }/info.json (100%) create mode 100644 keyboards/idobao/id67/keymaps/default_nug/config.h rename keyboards/idobao/id67/{rgb/keymaps/default => keymaps/default_nug}/keymap.c (95%) rename keyboards/idobao/id67/{rgb => }/keymaps/thewerther/config.h (100%) rename keyboards/idobao/id67/{rgb => }/keymaps/thewerther/keymap.c (100%) rename keyboards/idobao/id67/{rgb => }/keymaps/thewerther/rules.mk (100%) rename keyboards/idobao/id67/{default_rgb/default_rgb.c => keymaps/via/config.h} (85%) create mode 100644 keyboards/idobao/id67/keymaps/via_nug/config.h create mode 100644 keyboards/idobao/id67/keymaps/via_nug/keymap.c create mode 100644 keyboards/idobao/id67/keymaps/via_nug/rules.mk create mode 100644 keyboards/idobao/id67/keymaps/vinorodrigues/config.h create mode 100644 keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c create mode 100644 keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk delete mode 100644 keyboards/idobao/id67/rgb/readme.md delete mode 100644 keyboards/idobao/id67/rgb/rgb.c rename keyboards/idobao/id67/{rgb => }/rules.mk (97%) diff --git a/keyboards/idobao/id67/rgb/config.h b/keyboards/idobao/id67/config.h similarity index 100% rename from keyboards/idobao/id67/rgb/config.h rename to keyboards/idobao/id67/config.h diff --git a/keyboards/idobao/id67/default_rgb/config.h b/keyboards/idobao/id67/default_rgb/config.h deleted file mode 100644 index fbf99cf673b4..000000000000 --- a/keyboards/idobao/id67/default_rgb/config.h +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright 2021 Tybera - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x6964 /* "id" */ -#define PRODUCT_ID 0x0067 -#define DEVICE_VER 0x0001 -#define MANUFACTURER IDOBAO -#define PRODUCT ID67 - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 15 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 } -#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, B7, D5, D1, D2, D3, D4, D0, D6, D7, B4 } - -#define DIODE_DIRECTION COL2ROW - -#define RGB_DI_PIN F0 -#ifdef RGB_DI_PIN - #define RGBLED_NUM 77 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */ - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ - #define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/idobao/id67/default_rgb/default_rgb.h b/keyboards/idobao/id67/default_rgb/default_rgb.h deleted file mode 100644 index 7c0a6d5aa8df..000000000000 --- a/keyboards/idobao/id67/default_rgb/default_rgb.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2021 Tybera - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "quantum.h" - -#define LAYOUT_65_ansi_blocker( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ - K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ - K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \ - { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ - { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \ -} diff --git a/keyboards/idobao/id67/default_rgb/info.json b/keyboards/idobao/id67/default_rgb/info.json deleted file mode 100644 index f3114121c18a..000000000000 --- a/keyboards/idobao/id67/default_rgb/info.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "keyboard_name": "ID67", - "url": "", - "maintainer": "qmk", - "layout_aliases": { - "LAYOUT": "LAYOUT_65_ansi_blocker" - }, - "layouts": { - "LAYOUT_65_ansi_blocker": { - "layout": [ - {"label":"K00 (B0,C7)", "x":0, "y":0}, - {"label":"K01 (B0,F6)", "x":1, "y":0}, - {"label":"K02 (B0,F5)", "x":2, "y":0}, - {"label":"K03 (B0,F4)", "x":3, "y":0}, - {"label":"K04 (B0,F1)", "x":4, "y":0}, - {"label":"K05 (B0,B7)", "x":5, "y":0}, - {"label":"K06 (B0,D5)", "x":6, "y":0}, - {"label":"K07 (B0,D1)", "x":7, "y":0}, - {"label":"K08 (B0,D2)", "x":8, "y":0}, - {"label":"K09 (B0,D3)", "x":9, "y":0}, - {"label":"K0A (B0,D4)", "x":10, "y":0}, - {"label":"K0B (B0,D0)", "x":11, "y":0}, - {"label":"K0C (B0,D6)", "x":12, "y":0}, - {"label":"K0D (B0,D7)", "x":13, "y":0, "w":2}, - {"label":"K0E (B0,B4)", "x":15, "y":0}, - - {"label":"K10 (B1,C7)", "x":0, "y":1, "w":1.5}, - {"label":"K11 (B1,F6)", "x":1.5, "y":1}, - {"label":"K12 (B1,F5)", "x":2.5, "y":1}, - {"label":"K13 (B1,F4)", "x":3.5, "y":1}, - {"label":"K14 (B1,F1)", "x":4.5, "y":1}, - {"label":"K15 (B1,B7)", "x":5.5, "y":1}, - {"label":"K16 (B1,D5)", "x":6.5, "y":1}, - {"label":"K17 (B1,D1)", "x":7.5, "y":1}, - {"label":"K18 (B1,D2)", "x":8.5, "y":1}, - {"label":"K19 (B1,D3)", "x":9.5, "y":1}, - {"label":"K1A (B1,D4)", "x":10.5, "y":1}, - {"label":"K1B (B1,D0)", "x":11.5, "y":1}, - {"label":"K1C (B1,D6)", "x":12.5, "y":1}, - {"label":"K1D (B1,D7)", "x":13.5, "y":1, "w":1.5}, - {"label":"K1E (B1,B4)", "x":15, "y":1}, - - {"label":"K20 (B2,C7)", "x":0, "y":2, "w":1.75}, - {"label":"K21 (B2,F6)", "x":1.75, "y":2}, - {"label":"K22 (B2,F5)", "x":2.75, "y":2}, - {"label":"K23 (B2,F4)", "x":3.75, "y":2}, - {"label":"K24 (B2,F1)", "x":4.75, "y":2}, - {"label":"K25 (B2,B7)", "x":5.75, "y":2}, - {"label":"K26 (B2,D5)", "x":6.75, "y":2}, - {"label":"K27 (B2,D1)", "x":7.75, "y":2}, - {"label":"K28 (B2,D2)", "x":8.75, "y":2}, - {"label":"K29 (B2,D3)", "x":9.75, "y":2}, - {"label":"K2A (B2,D4)", "x":10.75, "y":2}, - {"label":"K2B (B2,D0)", "x":11.75, "y":2}, - {"label":"K2D (B2,D7)", "x":12.75, "y":2, "w":2.25}, - {"label":"K2E (B2,B4)", "x":15, "y":2}, - - {"label":"K30 (B3,C7)", "x":0, "y":3, "w":2.25}, - {"label":"K32 (B3,F5)", "x":2.25, "y":3}, - {"label":"K33 (B3,F4)", "x":3.25, "y":3}, - {"label":"K34 (B3,F1)", "x":4.25, "y":3}, - {"label":"K35 (B3,B7)", "x":5.25, "y":3}, - {"label":"K36 (B3,D5)", "x":6.25, "y":3}, - {"label":"K37 (B3,D1)", "x":7.25, "y":3}, - {"label":"K38 (B3,D2)", "x":8.25, "y":3}, - {"label":"K39 (B3,D3)", "x":9.25, "y":3}, - {"label":"K3A (B3,D4)", "x":10.25, "y":3}, - {"label":"K3B (B3,D0)", "x":11.25, "y":3}, - {"label":"K3C (B3,D6)", "x":12.25, "y":3, "w":1.75}, - {"label":"K3D (B3,D7)", "x":14, "y":3}, - {"label":"K3E (B3,B4)", "x":15, "y":3}, - - {"label":"K40 (F7,C7)", "x":0, "y":4, "w":1.25}, - {"label":"K41 (F7,F6)", "x":1.25, "y":4, "w":1.25}, - {"label":"K43 (F7,F4)", "x":2.5, "y":4, "w":1.25}, - {"label":"K46 (F7,D5)", "x":3.75, "y":4, "w":6.25}, - {"label":"K4A (F7,D4)", "x":10, "y":4, "w":1.25}, - {"label":"K4B (F7,D0)", "x":11.25, "y":4, "w":1.25}, - {"label":"K4C (F7,D6)", "x":13, "y":4}, - {"label":"K4D (F7,D7)", "x":14, "y":4}, - {"label":"K4E (F7,B4)", "x":15, "y":4} - ] - } - } -} diff --git a/keyboards/idobao/id67/default_rgb/readme.md b/keyboards/idobao/id67/default_rgb/readme.md deleted file mode 100644 index 9559384f1e8c..000000000000 --- a/keyboards/idobao/id67/default_rgb/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# IDOBAO ID67 - -A 65% hotswap keyboard from IDOBAO. - -## ANSI support: - -* Keyboard Maintainer: Tybera -* Hardware Supported: IDOBAO ID67 -* Hardware Availability: [IDOBAO](https://www.idobao.net/products/idobao-id67-65-hot-swappable-mechanical-keyboard-kit-1) - -Make example for this keyboard (after setting up your build environment): - - make id67/default_rgb:default - -Flashing example for this keyboard: - - make id67/default_rgb:default:flash - -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/idobao/id67/default_rgb/rules.mk b/keyboards/idobao/id67/default_rgb/rules.mk deleted file mode 100644 index 574f0067fbc4..000000000000 --- a/keyboards/idobao/id67/default_rgb/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output - -KEY_LOCK_ENABLE = yes # Enable KC_LOCK support - -LAYOUTS = 65_ansi_blocker diff --git a/keyboards/idobao/id67/id67.c b/keyboards/idobao/id67/id67.c new file mode 100644 index 000000000000..5f4ff39ae2c8 --- /dev/null +++ b/keyboards/idobao/id67/id67.c @@ -0,0 +1,61 @@ +/* Copyright 2021 Tybera + * Copyright 2021 thewerther + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "id67.h" + +#define __ NO_LED + +// Indices are reveresed on the physical board, top left is bottom right. +led_config_t g_led_config = { { + // Key Matrix to LED Index + {66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52}, + {51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37}, + {36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, __, 24, 23}, + {22, __, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9}, + { 8, 7, __, 6, __, __, 5, __, __, __, 4, 3, 2, 1, 0}, +}, { + // LED Index to Physical Position + // based on: https://gist.github.com/vinorodrigues/07fd735683856b2a06c7c52b9b3878cb + {224, 64}, {209, 64}, {194, 64}, {170, 64}, {151, 64}, {95, 64}, {39, 64}, {21, 64}, {2, 64}, + {224, 48}, {209, 48}, {189, 48}, {168, 48}, {153, 48}, {138, 48}, {123, 48}, {108, 48}, {93, 48}, {78, 48}, {63, 48}, {49, 48}, {34, 48}, {9, 48}, + {224, 32}, {200, 32}, {175, 32}, {161, 32}, {146, 32}, {131, 32}, {116, 32}, {101, 32}, {86, 32}, {71, 32}, {56, 32}, {41, 32}, {26, 32}, {6, 32}, + {224, 16}, {205, 16}, {187, 16}, {172, 16}, {157, 16}, {142, 16}, {127, 16}, {112, 16}, {97, 16}, {82, 16}, {67, 16}, {52, 16}, {37, 16}, {22, 16}, {4, 16}, + {224, 0}, {202, 0}, {179, 0}, {164, 0}, {149, 0}, {134, 0}, {119, 0}, {105, 0}, {90, 0}, {75, 0}, {60, 0}, {45, 0}, {30, 0}, {15, 0}, {0, 0} + #ifndef ID67_DISABLE_UNDERGLOW + // underglow LEDs + , {0, 0}, {56, 0}, {112, 0}, {168, 0}, {224, 0}, + {224, 64}, {168, 64}, {112, 64}, {56, 64}, {0, 64} + #endif +}, { + // LED Index to Flag + 4, 4, 4, 1, 1, 4, 1, 1, 1, // first row + 1, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // second row + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 9, // third row + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // fourth row + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 // fifth row + // underglow leds + #ifndef ID67_DISABLE_UNDERGLOW + , 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 + #endif +} }; + +__attribute__ ((weak)) +void rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, 0xFF, 0xFF, 0xFF); + } +} diff --git a/keyboards/idobao/id67/rgb/rgb.h b/keyboards/idobao/id67/id67.h similarity index 68% rename from keyboards/idobao/id67/rgb/rgb.h rename to keyboards/idobao/id67/id67.h index cca757bfc7df..a8eead92a035 100644 --- a/keyboards/idobao/id67/rgb/rgb.h +++ b/keyboards/idobao/id67/id67.h @@ -19,6 +19,8 @@ #include "quantum.h" +#define ___ KC_NO + #define LAYOUT_65_ansi_blocker( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ @@ -26,9 +28,9 @@ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E \ ) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \ - { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ - { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, K2E }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E }, \ } diff --git a/keyboards/idobao/id67/rgb/info.json b/keyboards/idobao/id67/info.json similarity index 100% rename from keyboards/idobao/id67/rgb/info.json rename to keyboards/idobao/id67/info.json diff --git a/keyboards/idobao/id67/keymaps/default/keymap.c b/keyboards/idobao/id67/keymaps/default/keymap.c index 3bb880891f5e..450550e12a1f 100644 --- a/keyboards/idobao/id67/keymaps/default/keymap.c +++ b/keyboards/idobao/id67/keymaps/default/keymap.c @@ -1,4 +1,5 @@ /* Copyright 2021 Tybera + * Copyright 2022 thewerther * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, - _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, + _______, RESET, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/idobao/id67/keymaps/default_nug/config.h b/keyboards/idobao/id67/keymaps/default_nug/config.h new file mode 100644 index 000000000000..d92c93ce1e99 --- /dev/null +++ b/keyboards/idobao/id67/keymaps/default_nug/config.h @@ -0,0 +1,26 @@ +/* Copyright 2021 thewerther + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * NB! THIS VARIANT DISABLES THE UNDERGLOW LEDs + * FOR BOARDS WITH A SOLID (NON-ACRILIC) BOTTOM + */ + +#pragma once + +#if defined(RGB_MATRIX_ENABLE) + #define ID67_DISABLE_UNDERGLOW +#endif diff --git a/keyboards/idobao/id67/rgb/keymaps/default/keymap.c b/keyboards/idobao/id67/keymaps/default_nug/keymap.c similarity index 95% rename from keyboards/idobao/id67/rgb/keymaps/default/keymap.c rename to keyboards/idobao/id67/keymaps/default_nug/keymap.c index 450550e12a1f..30e71734a39c 100644 --- a/keyboards/idobao/id67/rgb/keymaps/default/keymap.c +++ b/keyboards/idobao/id67/keymaps/default_nug/keymap.c @@ -15,6 +15,11 @@ * along with this program. If not, see . */ +/** + * NB! THIS VARIANT DISABLES THE UNDERGLOW LEDs + * FOR BOARDS WITH A SOLID (NON-ACRILIC) BOTTOM + */ + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/idobao/id67/rgb/keymaps/thewerther/config.h b/keyboards/idobao/id67/keymaps/thewerther/config.h similarity index 100% rename from keyboards/idobao/id67/rgb/keymaps/thewerther/config.h rename to keyboards/idobao/id67/keymaps/thewerther/config.h diff --git a/keyboards/idobao/id67/rgb/keymaps/thewerther/keymap.c b/keyboards/idobao/id67/keymaps/thewerther/keymap.c similarity index 100% rename from keyboards/idobao/id67/rgb/keymaps/thewerther/keymap.c rename to keyboards/idobao/id67/keymaps/thewerther/keymap.c diff --git a/keyboards/idobao/id67/rgb/keymaps/thewerther/rules.mk b/keyboards/idobao/id67/keymaps/thewerther/rules.mk similarity index 100% rename from keyboards/idobao/id67/rgb/keymaps/thewerther/rules.mk rename to keyboards/idobao/id67/keymaps/thewerther/rules.mk diff --git a/keyboards/idobao/id67/default_rgb/default_rgb.c b/keyboards/idobao/id67/keymaps/via/config.h similarity index 85% rename from keyboards/idobao/id67/default_rgb/default_rgb.c rename to keyboards/idobao/id67/keymaps/via/config.h index 972b0b8b065e..336ad1e58510 100644 --- a/keyboards/idobao/id67/default_rgb/default_rgb.c +++ b/keyboards/idobao/id67/keymaps/via/config.h @@ -1,4 +1,5 @@ /* Copyright 2021 Tybera + * Copyright 2022 thewerther * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,4 +15,8 @@ * along with this program. If not, see . */ -#include "default_rgb.h" +#pragma once + +#if defined(RGB_MATRIX_ENABLE) + #define VIA_QMK_RGBLIGHT_ENABLE +#endif diff --git a/keyboards/idobao/id67/keymaps/via_nug/config.h b/keyboards/idobao/id67/keymaps/via_nug/config.h new file mode 100644 index 000000000000..a2fa129b2e53 --- /dev/null +++ b/keyboards/idobao/id67/keymaps/via_nug/config.h @@ -0,0 +1,27 @@ +/* Copyright 2021 thewerther + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * NB! THIS VARIANT DISABLES THE UNDERGLOW LEDs + * FOR BOARDS WITH A SOLID (NON-ACRILIC) BOTTOM + */ + +#pragma once + +#if defined(RGB_MATRIX_ENABLE) + #define VIA_QMK_RGBLIGHT_ENABLE + #define ID67_DISABLE_UNDERGLOW +#endif diff --git a/keyboards/idobao/id67/keymaps/via_nug/keymap.c b/keyboards/idobao/id67/keymaps/via_nug/keymap.c new file mode 100644 index 000000000000..b008f9d125ac --- /dev/null +++ b/keyboards/idobao/id67/keymaps/via_nug/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2021 Tybera + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * NB! THIS VARIANT DISABLES THE UNDERGLOW LEDs + * FOR BOARDS WITH A SOLID (NON-ACRILIC) BOTTOM + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + 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_TILD, + 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_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, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi_blocker( + 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, _______, _______, + _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, + _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_65_ansi_blocker( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_65_ansi_blocker( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/idobao/id67/keymaps/via_nug/rules.mk b/keyboards/idobao/id67/keymaps/via_nug/rules.mk new file mode 100644 index 000000000000..ca9fed0e6b53 --- /dev/null +++ b/keyboards/idobao/id67/keymaps/via_nug/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/config.h b/keyboards/idobao/id67/keymaps/vinorodrigues/config.h new file mode 100644 index 000000000000..88fe361bde4d --- /dev/null +++ b/keyboards/idobao/id67/keymaps/vinorodrigues/config.h @@ -0,0 +1,85 @@ +/* + * Idobao ID67 Keymap for a ID67 Bestype, built for Mac use + * Copyright (C) 2022 Vino Rodrigues + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#if defined(RGB_MATRIX_ENABLE) + #define VIA_QMK_RGBLIGHT_ENABLE + #define ID67_DISABLE_UNDERGLOW // personal choice, I use a ID67 Bestype + + #ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS + #undef RGB_MATRIX_MAXIMUM_BRIGHTNESS + #endif + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // // limits maximum brightness of LEDs to 200 out of 255 + + //// #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended + + //// #define RGB_MATRIX_KEYPRESSES + + // RGB Matrix config, nit-pick a few animations. "////" = already defined in base `config.h`, `#undef` disables it + + //// #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue + //// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes + //// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes + //// #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation + //// #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right + //// #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right + //// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation + //// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness + //// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation + //// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness + //// #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient + //// #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right + //// #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom + //// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in + //// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in + //// #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right + //// #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard + //// #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard + //// #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard + //// #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard + //// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard + //// #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue + //// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation + //// #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back + //// #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left + //// #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right + + #undef ENABLE_RGB_MATRIX_PIXEL_RAIN + #undef ENABLE_RGB_MATRIX_PIXEL_FLOW + #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL + + #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) + //// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP + //// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP + #endif + + #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out + //// #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out + //// #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out + #endif +#endif diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c new file mode 100644 index 000000000000..62fd4cfa8f7e --- /dev/null +++ b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c @@ -0,0 +1,261 @@ +/* + * Idobao ID67 Keymap for a ID67 Bestype, built for Mac use + * Copyright (C) 2022 Vino Rodrigues + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "version.h" + +enum { + LAYER_0 = 0, + LAYER_1, + LAYER_2, + LAYER_3 +}; + +enum { + KC_MCON = USER00, + KC_LPAD, + KB_VRSN = SAFE_RANGE +}; + +enum macos_consumer_usages { + _AC_SHOW_ALL_WINDOWS = 0x29F, // mapped to KC_MCON + _AC_SHOW_ALL_APPS = 0x2A0 // mapped to KC_LPAD +}; + +#define LT1_C_L LT(LAYER_1, KC_CAPS) + +#ifndef MIN + #define MIN(a, b) (((a) < (b)) ? (a) : (b)) +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_0] = LAYOUT_65_ansi_blocker( + 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_GRAVE, \ + 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_DELETE, \ + LT1_C_L, 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, \ + 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, \ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, FN_MO13, FN_MO23, KC_LEFT, KC_DOWN, KC_RIGHT), + [LAYER_1] = LAYOUT_65_ansi_blocker( + KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_ERAS, KC_F13, \ + _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_HOME, KC_END, KC_EJCT, KC_INS, \ + KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, KC_PENT, KC_HOME, \ + KC_RSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_DELETE, KC_LSFT, _______, KC_END, \ + KC_RCTL, KC_RALT, KC_RGUI, _______, _______, _______, _______, _______, _______), + [LAYER_2] = LAYOUT_65_ansi_blocker( + KC_ESC, KC_BRID, KC_BRIU, KC_MCON, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_OUT, KC_F14, \ + RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, \ + XXXXXXX, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, XXXXXXX, KC_SLCK, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_SAD, XXXXXXX, RGB_VAI, KC_PAUS, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPD, RGB_VAD, RGB_SPI), + [LAYER_3] = LAYOUT_65_ansi_blocker( + RESET, MACRO01, MACRO02, MACRO03, MACRO04, MACRO05, MACRO06, MACRO07, MACRO08, MACRO09, MACRO10, MACRO11, MACRO12, KC_POWER, KC_F15, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KB_VRSN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MACRO00, XXXXXXX, \ + XXXXXXX, XXXXXXX, XXXXXXX, KC_WAKE, XXXXXXX, XXXXXXX, MACRO13, MACRO14, MACRO15), +}; + +#ifdef RGB_MATRIX_ENABLE + +/* + * RGB Stuff + */ + +#ifdef RGBLIGHT_VAL_STEP + #define RGB_BRIGHTER_BY RGBLIGHT_VAL_STEP +#else + #define RGB_BRIGHTER_BY 26 // about 10% +#endif + +#define LED_FLAG_ALPHA_KEY 0x10 // Alpha keys (for Caps Lock) +#define LED_FLAG_LAYER_IND 0x20 // Layer indicator + +const uint8_t g_led_config_new_flags[DRIVER_LED_TOTAL] = { + // Extended LED Index to Flag + // ** Remember: on ID67 this is in reverse order + 0x21, 0x01, 0x01, 0x01, 0x01, 0x04, 0x01, 0x01, 0x21, // Spc row + 0x21, 0x01, 0x01, 0x04, 0x04, 0x04, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x21, // ZXC row + 0x21, 0x01, 0x04, 0x04, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x29, // ASD row + 0x21, 0x04, 0x04, 0x04, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x21, // QWE row + 0x21, 0x01, 0x04, 0x04, 0x04, 0x04, 0x24, 0x24, 0x24, 0x24, 0x04, 0x04, 0x04, 0x04, 0x21 // 123 row +}; + +bool isRGBOff = false; +bool isCapsBlink = false; +static uint16_t recording_timer; + +void keyboard_pre_init_user(void) { + // override `config.h` flags with new values + for (int i = 0; i < DRIVER_LED_TOTAL; i++) g_led_config.flags[i] = g_led_config_new_flags[i]; +} + +void keyboard_post_init_user(void) { + isRGBOff = false; +} + +void rgb_matrix_indicators_user(void) { + // do nothing, override base <> function to disable it +} + +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + + uint8_t v = MIN( rgblight_get_val() + RGB_BRIGHTER_BY, 0xFF ); + uint8_t current_layer = get_highest_layer(layer_state); + + // Caps Lock key stuff + + if (host_keyboard_led_state().caps_lock) { + if (isRGBOff) { + rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, v, v, v); // white + } else { + // Caps Lock key/LED + if (timer_elapsed(recording_timer) > 500) { + isCapsBlink = !isCapsBlink; + recording_timer = timer_read(); + } + if (isCapsBlink) { + rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, v, v, v); // white + } + + // Alpha keys/LEDs + for (uint8_t i = led_min; i <= led_max; i++) { + if ((g_led_config.flags[i] & LED_FLAG_ALPHA_KEY) != 0) { + rgb_matrix_set_color(i, v, 0, 0); //red + } + } + } + } else if (isRGBOff) { + uint8_t r = 0; + uint8_t g = 0; + uint8_t b = 0; + + if ((g_led_config.flags[ID67_CAPS_LOCK_KEY_INDEX] & LED_FLAG_LAYER_IND) != 0) { + switch (current_layer) { + case LAYER_1: b = v; break; // blue + case LAYER_2: g = v; break; // green + case LAYER_3: r = v; break; // red + } + } + + rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, r, g, b); // off + } + + // Layer indicator stuff + + switch (current_layer) { + case LAYER_1: + for (uint8_t i = led_min; i <= led_max; i++) { + if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) { + rgb_matrix_set_color(i, 0, 0, v); // blue + } + } + break; + + case LAYER_2: + for (uint8_t i = led_min; i <= led_max; i++) { + if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) { + rgb_matrix_set_color(i, 0, v, 0); // green + } + } + break; + + case LAYER_3: + for (uint8_t i = led_min; i <= led_max; i++) { + if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) { + rgb_matrix_set_color(i, v, 0, 0); // red + } + } + break; + + default: + if (isRGBOff) { + // switch layer indicators off only if in OFF mode + for (uint8_t i = led_min; i <= led_max; i++) { + if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) { + rgb_matrix_set_color(i, 0, 0, 0); // red + } + } + } + break; + } +} + +/* + * Sleep mode stuff (untested) + */ + +void suspend_power_down_user(void) { + rgb_matrix_set_suspend_state(true); +} + +void suspend_wakeup_init_user(void) { + rgb_matrix_set_suspend_state(false); +} + +#endif + +/* + * Mac Fn-key stuff + */ + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + switch (keycode) { + // handle RGB toggle key + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: + isRGBOff = true; + rgb_matrix_set_flags(LED_FLAG_INDICATOR | LED_FLAG_LAYER_IND); + rgb_matrix_set_color_all(0, 0, 0); + break; + default: + isRGBOff = false; + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); // turn the lights back on + } + } + return false; + + // print firmware version + case KB_VRSN: + if (!get_mods()) { + if (!record->event.pressed) { + SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " (v" QMK_VERSION ")"); + } + } + return false; + + // @see: https://github.com/qmk/qmk_firmware/issues/10111#issuecomment-752300353 + case KC_MCON: + if (record->event.pressed) { + host_consumer_send(_AC_SHOW_ALL_WINDOWS); + } + return false; + + case KC_LPAD: + if (record->event.pressed) { + host_consumer_send(_AC_SHOW_ALL_APPS); + } + return false; + + default: + return true; /* Process all other keycodes normally */ + } +} diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk b/keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk new file mode 100644 index 000000000000..24f7bdab9cd7 --- /dev/null +++ b/keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk @@ -0,0 +1,5 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes + +KEY_LOCK_ENABLE = no # Enable KC_LOCK support +NKRO_ENABLE = no # N-Key Rollover must be OFF for mac keys to work diff --git a/keyboards/idobao/id67/readme.md b/keyboards/idobao/id67/readme.md index 134d45b18e91..c061db8f0301 100644 --- a/keyboards/idobao/id67/readme.md +++ b/keyboards/idobao/id67/readme.md @@ -1,29 +1,40 @@ # IDOBAO ID67 +![id67](https://i.imgur.com/9roQ4Mih.jpeg) + A 65% hotswap keyboard from IDOBAO. ## ANSI support: -* Keyboard Maintainer: Tybera -* Hardware Supported: IDOBAO ID67 -* Hardware Availability: [IDOBAO](https://www.idobao.net/products/idobao-id67-65-hot-swappable-mechanical-keyboard-kit-1) +* Keyboard Maintainer: Tybera *(fmr.)*, [thewerther](https://github.com/thewerther) *(curr.)* +* Hardware Supported: IDOBAO ID67, ID67V2, ID67 Crystal & ID67 Bestype +* Hardware Availability: IDOBAO website: +* [ID67](https://www.idobao.net/products/idobao-id67-65-hot-swappable-mechanical-keyboard-kit-1) +* [ID67V2](https://idobao.net/collections/65-layout/products/idobao-id67v2-65-hot-swappable-mechanical-keyboard-kit) +* [ID67 Crystal](https://idobao.net/collections/65-layout/products/idobao-id67-crystal-keyboard-kit-gasket-mount-version) +* [ID67 Bestype](https://idobao.net/collections/65-layout/products/idobao-id67-bestype-keyboard-kit-aluminum-with-brass-weight) -## Variants +## Layout -Currently there are two variants for the id67: -1. `rgb_default` which uses the `RGB Lightning` feature for the on-board LEDs. -2. `rgb` which uses the more advanced `RGB Matrix` feature for the per-key and underglow (bottom of PCB) LEDs. +![ID67 layout](https://i.imgur.com/Ge6Uxao.png) -Make examples for this keyboard (after setting up your build environment): - make idobao/id67/default_rgb:default +## Compiling and flashing - make idobao/id67/rgb:default +Make example for this keyboard (after setting up your build environment): -Flashing examples for this keyboard: + make id67:default - make idobao/id67/default_rgb:default:flash +Flashing example for this keyboard: - make idobao/id67/rgb:default:flash + make id67:default:flash 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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the `Escape` key and plug in the keyboard. +* **Physical reset button**: Briefly press the button on the back of the PCB. +* **Keycode in layout**: Press the key mapped to `RESET` (FN+Z). diff --git a/keyboards/idobao/id67/rgb/readme.md b/keyboards/idobao/id67/rgb/readme.md deleted file mode 100644 index 8376af1468f3..000000000000 --- a/keyboards/idobao/id67/rgb/readme.md +++ /dev/null @@ -1,36 +0,0 @@ -# IDOBAO ID67 - -![id67](https://i.imgur.com/9roQ4Mih.jpeg) - -A 65% hotswap keyboard from IDOBAO. - -## ANSI support: - -* Keyboard Maintainer: Tybera -* Hardware Supported: IDOBAO ID67 -* Hardware Availability: [IDOBAO-website](https://www.idobao.net/products/idobao-id67-65-hot-swappable-mechanical-keyboard-kit-1) - -## Layout - -![ID67 layout](https://i.imgur.com/Ge6Uxao.png) - - -## Compiling and flashing - -Make example for this keyboard (after setting up your build environment): - - make id67/rgb:default - -Flashing example for this keyboard: - - make id67/rgb:default:flash - -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). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the `Escape` key and plug in the keyboard. -* **Physical reset button**: Briefly press the button on the back of the PCB. -* **Keycode in layout**: Press the key mapped to `RESET` (FN+Z). diff --git a/keyboards/idobao/id67/rgb/rgb.c b/keyboards/idobao/id67/rgb/rgb.c deleted file mode 100644 index 5fc007d19ab4..000000000000 --- a/keyboards/idobao/id67/rgb/rgb.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright 2021 Tybera - * Copyright 2021 thewerther - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "rgb.h" - -#define __ NO_LED - -// Indices are reveresed on the physical board, top left is bottom right. -led_config_t g_led_config = { { - // Key Matrix to LED Index - {66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52}, - {51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37}, - {36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, __, 24, 23}, - {22, __, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9}, - { 8, 7, __, 6, __, __, 5, __, __, __, 4, 3, 2, 1, 0}, -}, { - // LED Index to Physical Position - {224, 64}, {196, 64}, {168, 64}, {140, 64}, {112, 64}, {84, 64}, {56, 64}, {28, 64}, {0, 64}, - {224, 48}, {206, 48}, {189, 48}, {172, 48}, {155, 48}, {137, 48}, {120, 48}, {103, 48}, {86, 48}, {68, 48}, {51, 48}, {34, 48}, {17, 48}, {0, 48}, - {224, 32}, {206, 32}, {189, 32}, {172, 32}, {155, 32}, {137, 32}, {120, 32}, {103, 32}, {86, 32}, {68, 32}, {51, 32}, {34, 32}, {17, 32}, {0, 32}, - {224, 16}, {208, 16}, {192, 16}, {176, 16}, {160, 16}, {144, 16}, {128, 16}, {112, 16}, {96, 16}, {80, 16}, {64, 16}, {48, 16}, {32, 16}, {16, 16}, {0, 16}, - {224, 0}, {208, 0}, {192, 0}, {176, 0}, {160, 0}, {144, 0}, {128, 0}, {112, 0}, {96, 0}, {80, 0}, {64, 0}, {48, 0}, {32, 0}, {16, 0}, {0, 0}, - // underglow LEDs - {0, 0}, {56, 0}, {112, 0}, {168, 0}, {224, 0}, - {224, 64}, {168, 64}, {112, 64}, {56, 64}, {0, 64} -}, { - // LED Index to Flag - 4, 4, 4, 1, 1, 4, 1, 1, 1, // first row - 1, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // second row - 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // third row - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // fourth row - 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // fifth row - // underglow leds - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 -} }; diff --git a/keyboards/idobao/id67/rgb/rules.mk b/keyboards/idobao/id67/rules.mk similarity index 97% rename from keyboards/idobao/id67/rgb/rules.mk rename to keyboards/idobao/id67/rules.mk index 5ebc2b824ab6..cda7bbd9cd26 100644 --- a/keyboards/idobao/id67/rgb/rules.mk +++ b/keyboards/idobao/id67/rules.mk @@ -21,5 +21,5 @@ RGB_MATRIX_ENABLE = yes # Enable RGB Matrix feature RGB_MATRIX_DRIVER = WS2812 # ID67 uses WS2812 driver KEY_LOCK_ENABLE = yes # Enable KC_LOCK support - +LTO_ENABLE = yes LAYOUTS = 65_ansi_blocker From e4942df39760eb70dc62ae609cb68b07c2786f13 Mon Sep 17 00:00:00 2001 From: dexter93 Date: Fri, 22 Apr 2022 10:36:32 +0300 Subject: [PATCH 0591/1832] Chibios USB protocol: allow overriding RAW Capacity (#16339) --- tmk_core/protocol/chibios/usb_main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index bd8af6d194fe..c59569a85a5f 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -339,8 +339,12 @@ static usb_driver_configs_t drivers = { .console_driver = QMK_USB_DRIVER_CONFIG(CONSOLE, 0, true), #endif #ifdef RAW_ENABLE -# define RAW_IN_CAPACITY 4 -# define RAW_OUT_CAPACITY 4 +# ifndef RAW_IN_CAPACITY +# define RAW_IN_CAPACITY 4 +# endif +# ifndef RAW_OUT_CAPACITY +# define RAW_OUT_CAPACITY 4 +# endif # define RAW_IN_MODE USB_EP_MODE_TYPE_INTR # define RAW_OUT_MODE USB_EP_MODE_TYPE_INTR .raw_driver = QMK_USB_DRIVER_CONFIG(RAW, 0, false), From 83ce70c821ba669a9643bb8c5b89f18ddf60b866 Mon Sep 17 00:00:00 2001 From: IskandarMa Date: Fri, 22 Apr 2022 15:37:29 +0800 Subject: [PATCH 0592/1832] [Docs] zh-cn document translate: git parts (#15576) Co-authored-by: peepeetee <43021794+peepeetee@users.noreply.github.com> Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> --- docs/zh-cn/newbs_git_best_practices.md | 23 +++++ .../newbs_git_resolving_merge_conflicts.md | 86 +++++++++++++++++++ .../zh-cn/newbs_git_resynchronize_a_branch.md | 76 ++++++++++++++++ .../newbs_git_using_your_master_branch.md | 79 +++++++++++++++++ 4 files changed, 264 insertions(+) create mode 100644 docs/zh-cn/newbs_git_best_practices.md create mode 100644 docs/zh-cn/newbs_git_resolving_merge_conflicts.md create mode 100644 docs/zh-cn/newbs_git_resynchronize_a_branch.md create mode 100644 docs/zh-cn/newbs_git_using_your_master_branch.md diff --git a/docs/zh-cn/newbs_git_best_practices.md b/docs/zh-cn/newbs_git_best_practices.md new file mode 100644 index 000000000000..af3359dfc55d --- /dev/null +++ b/docs/zh-cn/newbs_git_best_practices.md @@ -0,0 +1,23 @@ +# QMK所采用的Git最佳实践 + + + +*译者注:对于git相关的部分,除广为接受的名词外,会尽量保留git命令及各种术语的英文版本,部分名词及关键部分会附带中文翻译* + +## 或者讲,"怎么才能不害怕并喜欢上Git" + +本节旨在以最佳方式指导新手在为QMK做贡献时获得流畅的体验。我们将进行一次完整的QMK贡献操作流程,并在部分环节中详细讲述几种便捷的方法,之后我们会故意搞砸一些东西,并教导你如何回到正轨。 + +该章节做了如下假设: + +1. 你已有Github账号且已[fork了qmk_firmware仓库](zh-cn/getting_started_github.md)到你的账号下。 +2. 已完成了[构建环境](zh-cn/newbs_getting_started.md#set-up-your-environment)及[QMK](zh-cn/newbs_getting_started.md#set-up-qmk)配置。 + +--- + +- 第一节:[在你Fork的主干上:频繁更新,不要提交](zh-cn/newbs_git_using_your_master_branch.md) +- 第二节:[解决合并冲突](zh-cn/newbs_git_resolving_merge_conflicts.md) +- 第三节:[重新同步一个脱离同步状态的Git分支](zh-cn/newbs_git_resynchronize_a_branch.md) diff --git a/docs/zh-cn/newbs_git_resolving_merge_conflicts.md b/docs/zh-cn/newbs_git_resolving_merge_conflicts.md new file mode 100644 index 000000000000..bd9702a48802 --- /dev/null +++ b/docs/zh-cn/newbs_git_resolving_merge_conflicts.md @@ -0,0 +1,86 @@ +# 解决合并冲突 + + + +有时在你致力于一个较长周期才能完成的分支时,其它人提交的变更会与你提交的pull request中的变更发生冲突。我们将这种多个人编辑同一个模块同一个文件时产生的场景叫做 *合并冲突* + +?> 本文中的场景基于[在你Fork的主干上:频繁更新,不要提交](zh-cn/newbs_git_using_your_master_branch.md)一文。如果你对那篇文章不熟悉,请先阅读它,再回来继续。 + +## 变基/衍合(rebase) + + +Git的*变基*操作会将提交历史中的提交节点摘除并回滚,然后统一提交到一个新节点上。在解决合并冲突时,可以通过对当前分支进行变基,来获取从分支拉取到当前时刻的所有变更。 + +从执行如下命令开始: + +``` +git fetch upstream +git rev-list --left-right --count HEAD...upstram/master +``` + +此处输入的 `git rev-list` 命令可以得到当前分支与QMK主干分支间的提交数量差。而先执行 `git fetch` 是为了确保我们有上游仓库(upstream repo)的最新状态。`git rev-list` 命令会返回两个数字: + +``` +$ git rev-list --left-right --count HEAD...upstream/master +7 35 +``` + +第一个数字为当前分支自创建后新增的提交数量。第二个数字为当前分支创建后在 `upstream/master` 上的提交数量,而这部分就是我们当前分支上缺失的提交记录。 + +在我们了解了当前分支以及上游仓库的状态后,可以发起变基操作了: + +``` +git rebase upstream/master +``` + +这样可以让Git回滚该分支的提交,然后基于QMK的主干版本重新应用这些提交。 + +*译注:以下内容在中文Git下大同小异,且仅作为示例,不进行翻译* +``` +$ git rebase upstream/master +First, rewinding head to replay your work on top of it... +Applying: Commit #1 +Using index info to reconstruct a base tree... +M conflicting_file_1.txt +Falling back to patching base and 3-way merge... +Auto-merging conflicting_file_1.txt +CONFLICT (content): Merge conflict in conflicting_file_1.txt +error: Failed to merge in the changes. +hint: Use 'git am --show-current-patch' to see the failed patch +Patch failed at 0001 Commit #1 + +Resolve all conflicts manually, mark them as resolved with +"git add/rm ", then run "git rebase --continue". +You can instead skip this commit: run "git rebase --skip". +To abort and get back to the state before "git rebase", run "git rebase --abort". +``` + +以上内容是在告诉我们有合并冲突存在,并给出了冲突所在的文件名。在编辑器中打开该文件,可以在某处发现类似如下形式的内容: + +``` +<<<<<<< HEAD +

For help with any issues, email us at support@webhost.us.

+======= +

Need help? Email support@webhost.us.

+>>>>>>> Commit #1 +``` + +`<<<<<<< HEAD` 标记了合并冲突的起始行,直至 `>>>>>>> Commit #1` 标记的结束行,中间通过 `=======` 分隔开冲突双方。其中 `HEAD` 部分为QMK主干上的版本,标记了提交日志的部分为当前分支的本地提交。 + +由于Git存储的是*文件差异部分*而非整个文件,所以当Git无法在文件中找到一个变更发生前的内容时,就无法知道如何去进行文件变更,重新编辑一下可以解决问题。在更改完成后,保存文件。 + +``` +

Need help? Email support@webhost.us.

+``` + +之后,执行: + +``` +git add conflicting_file_1.txt +git rebase --continue +``` + +Git即会记录对文件冲突做出的变更,并继续处理剩余的提交,直至全部完成。 diff --git a/docs/zh-cn/newbs_git_resynchronize_a_branch.md b/docs/zh-cn/newbs_git_resynchronize_a_branch.md new file mode 100644 index 000000000000..3f38138f6971 --- /dev/null +++ b/docs/zh-cn/newbs_git_resynchronize_a_branch.md @@ -0,0 +1,76 @@ +# 重新同步已失去同步状态的Git分支 + + + +假设你在自己的 `master` 分支之上有提交,并且想和QMK仓库进行同步,可以通过 `git pull` 拉取QMK的 `master` 分支到你的库,但同时Github也会提醒你当前分支相比 `qmk:master` 有几个领先的提交,会在你向QMK发起pr时造成麻烦。 + +?> 本文中的场景基于[在你Fork的主干上:频繁更新,不要提交](zh-cn/newbs_git_using_your_master_branch.md)一文。如果你对那篇文章不熟悉,请先阅读它,再回来继续。 + +## 备份你在自己的主干分支上的所有变更(可选) + +不会有人想把有用的成果弄丢的。如果你想将你的 `master` 分支上的变更另存一份,简便的方法是直接创建一个当前“脏” `master` 分支的副本: + +``` +git branch old_master master +``` + +现在 `master` 分支拥有了一个副本分支 `old_master`。 + +## 重新同步分支 + +现在可以重新同步 `master` 分支了,这里,我们将QMK仓库设置为Git的远程仓库。通过执行 `git remote -v` 可以确认远程仓库配置,输出信息应类似于: + +``` +QMKuser ~/qmk_firmware (master) +$ git remote -v +origin https://github.com//qmk_firmware.git (fetch) +origin https://github.com//qmk_firmware.git (push) +upstream https://github.com/qmk/qmk_firmware.git (fetch) +upstream https://github.com/qmk/qmk_firmware.git (push) +``` + +如果你只能看到一个仓库: + +``` +QMKuser ~/qmk_firmware (master) +$ git remote -v +origin https://github.com/qmk/qmk_firmware.git (fetch) +origin https://github.com/qmk/qmk_firmware.git (push) +``` + +通过如下命令添加新的远程仓库: + +``` +git remote add upstream https://github.com/qmk/qmk_firmware.git +``` + +然后,重新将 `origin` 远程仓库设置为自己的fork: + +``` +git remote set-url origin https://github.com//qmk_firmware.git +``` + +在两个远程仓库配置完毕后,需要从QMK的 upstream 仓库中获取到更新,执行: + +``` +git fetch upstream +``` + +此时,重新同步你的分支到QMK的版本: + +``` +git reset --hard upstream/master +``` + +以上操作会更新你的本地仓库,而你的Github远程仓库仍然处于未同步状态,通过推送,可以让其进入已同步状态。可以通过如下命令来指引Git强行覆盖掉那些仅在你远程仓库中存在的提交: + +``` +git push --force-with-lease +``` + +!> **不要**在其它使用者也会提交的分支上执行 `git push --force-with-lease`,否则会覆盖掉他人的提交。 + +此时你的Github fork,本地文件副本,以及QMK仓库就是一致的了。之后再进行变更([在分支上!](zh-cn/newbs_git_using_your_master_branch.md#making-changes))和提交。 diff --git a/docs/zh-cn/newbs_git_using_your_master_branch.md b/docs/zh-cn/newbs_git_using_your_master_branch.md new file mode 100644 index 000000000000..2a83fc213968 --- /dev/null +++ b/docs/zh-cn/newbs_git_using_your_master_branch.md @@ -0,0 +1,79 @@ +# 在你Fork的主干上:频繁更新,不要提交 + + + +我们强烈推荐所有QMK开发者,无论在哪里做什么改动,频繁更新你的 `master` 分支,但***不要***在其上提交。相对地,将你所有的改动提交到开发分支上并提交一个pull request。 + +为了减少冲突 — 多人同时编辑同一个文件 — 保持你的 `master` 分支更新到最新,并在新创建的分支上进行开发。 + +## 更新master分支 + +为了保持 `master` 更新到最新,推荐将QMK固件仓库("repo")设置为git远程仓库。打开Git命令行界面并键入: + +``` +git remote add upstream https://github.com/qmk/qmk_firmware.git +``` + +?> 名称 `upstream` 部分可以任意,这里给的是常用的;你可以将QMK远程仓库名称改成你想要的。Git的 `remote` 命令语法为 `git remote add `, `` 是远程仓库的简写名称,这个名称可以在很多Git命令中使用,包括但不限于 `fetch`,`pull` 及 `push`,以指定目标远程仓库。 + +要验证是否添加成功,可以执行 `git remote -v`,输出应该类似于: + +``` +$ git remote -v +origin https://github.com//qmk_firmware.git (fetch) +origin https://github.com//qmk_firmware.git (push) +upstream https://github.com/qmk/qmk_firmware.git (fetch) +upstream https://github.com/qmk/qmk_firmware.git (push) +``` + +在以上操作完成后,可以通过执行 `git fetch upstream` 来检查仓库是否有更新。该命令从QMK仓库拉取的分支(branches)及标签(tags) — 统称为“refs(引用)” —现在也被称作 `upstream`(上游)。此时我们可以比对自己fork版本的 `origin` 与QMK维护的分支的差异了。 + +要更新你的fork的master分支,执行以下指令,每一行结束都需要按回车: + +``` +git checkout master +git fetch upstream +git pull upstream master +git push origin master +``` + +以上操作会切换到 `master` 分支,从QMK仓库拉取refs,下载QMK `master` 分支的当前版本,并上传至你的fork中。 + +## 进行编辑 :id=making-changes + +要进行编辑,通过如下命令创建一个新分支: + +``` +git checkout -b dev_branch +git push --set-upstream origin dev_branch +``` + +以上操作会创建 `dev_branch` 新分支,检出(check out)并保存到你的fork中。`--set-upstream` 参数用于告知git使用你的fork仓库来处理 `dev_branch` 分支下的 `git push` 及 `git pull` 命令,且仅需要在第一次执行push命令时指定,之后再次执行 `git push` 或是 `git pull` 都无需加入该参数了。 + +?> 在 `git push` 时,可以使用 `-u` 替代 `--set-upstram` — `-u` 为 `--set-upsream` 参数的别名。 + +你可以任意命名该分支,但仍建议对分支起一个可以描述将在该分支下要做的工作的名称。 + +默认情况下 `git checkout -b` 会基于你当前检出的分支作为新分支的基准。可以在后面追加已存在但未检出的分支名来指定新分支的基准: + +``` +git checkout -b dev_branch master +``` + +此时你便有了一个开发用分支,可以打开编辑器并进行你期望的变更了。通常推荐提交大量的小规模提交(commit),这样在需要时会更容易地定位并回滚造成问题的提交。若要提交更改,编辑并保存要更新的文件,并将其添加到*暂存区(staged area)*,然后提交到分支中: + +``` +git add path/to/updated_file +git commit -m "My commit message." +``` + +`git add` 会将更改后的文件放到Git的*暂存区*,也称作Git的“装载区”。这里留存着即将通过 `git commit` 所提交并保存到仓库中的变更。请使用确切的描述来填写提交日志,以便于快速了解改动内容。 + +?> 如果更改了多个文件,可以通过 `git add -- path/to/file1 path/to/file2 ...` 来添加所有项目。 + +## 发布变更 + +最后一步为上传你的变更到你的fork中。通过执行 `git push`,Git将发布 `dev_branch` 分支的所有变更至你的fork中。 From 97b861d104a006619d4563c4fc6cbe7acc3e3fe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Pont?= Date: Fri, 22 Apr 2022 09:38:16 +0200 Subject: [PATCH 0593/1832] [Keyboard] Fix Pegasus Hoof (2013) layout, matrix and pin assignment (#16042) --- keyboards/bpiphany/pegasushoof/2013/2013.h | 67 ++++++++++---------- keyboards/bpiphany/pegasushoof/2013/matrix.c | 64 +++++++++---------- 2 files changed, 65 insertions(+), 66 deletions(-) diff --git a/keyboards/bpiphany/pegasushoof/2013/2013.h b/keyboards/bpiphany/pegasushoof/2013/2013.h index 7a4d7f0b5862..f43fdcf92c00 100644 --- a/keyboards/bpiphany/pegasushoof/2013/2013.h +++ b/keyboards/bpiphany/pegasushoof/2013/2013.h @@ -21,21 +21,21 @@ along with this program. If not, see . #include "quantum.h" #define LAYOUT( \ - KG6, KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0, KN5, KN7, KP7, \ - KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO2, KR4, KC4, KE4, \ - KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KO3, KQ4, KC5, KE5, \ - KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO1, \ - KB2, KH6, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KB3, KC6, \ - KP4, KD2, KN6, KQ6, KN0, KA3, KM0, KP1, KC0, KQ0, KR0 \ - ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ - /* 0 */ { KC_NO , KC_NO , KC0 , KC_NO , KC_NO , KF0 , KC_NO , KC_NO , KC_NO , KJ0 , KK0 , KC_NO , KM0 , KN0 , KO0 , KC_NO , KQ0 , KR0 }, \ - /* 1 */ { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KG1 , KH1 , KI1 , KJ1 , KK1 , KL1 , KM1 , KC_NO , KO1 , KP1 , KC_NO , KC_NO }, \ - /* 2 */ { KC_NO , KB2 , KC_NO , KD2 , KC_NO , KF2 , KG2 , KH2 , KI2 , KJ2 , KK2 , KL2 , KM2 , KC_NO , KO2 , KC_NO , KC_NO , KC_NO }, \ - /* 3 */ { KA3 , KB3 , KC_NO , KC_NO , KC_NO , KF3 , KG3 , KH3 , KI3 , KJ3 , KK3 , KL3 , KM3 , KC_NO , KO3 , KC_NO , KC_NO , KC_NO }, \ - /* 4 */ { KC_NO , KC_NO , KC4 , KC_NO , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , KM4 , KC_NO , KO4 , KP4 , KQ4 , KR4 }, \ - /* 5 */ { KC_NO , KC_NO , KC5 , KC_NO , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , KK5 , KL5 , KM5 , KN5 , KO5 , KP5 , KC_NO , KC_NO }, \ - /* 6 */ { KC_NO , KC_NO , KC6 , KC_NO , KC_NO , KF6 , KG6 , KH6 , KI6 , KJ6 , KK6 , KL6 , KC_NO , KN6 , KO6 , KC_NO , KQ6 , KC_NO }, \ - /* 7 */ { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KF7 , KG7 , KH7 , KI7 , KJ7 , KK7 , KL7 , KM7 , KN7 , KC_NO , KP7 , KC_NO , KC_NO } \ + KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ + KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \ + KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \ + KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \ + KN2, KI6, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \ + KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \ + ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ + /* 0 */ { KC_NO, KB0, KC0, KD0, KC_NO, KF0, KG0, KC_NO, KC_NO, KC_NO, KK0, KL0, KC_NO, KC_NO, KO0, KC_NO, KC_NO, KR0 }, \ + /* 1 */ { KA1, KB1, KC_NO, KD1, KE1, KF1, KG1, KH1, KI1, KJ1, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + /* 2 */ { KC_NO, KB2, KC_NO, KD2, KE2, KF2, KG2, KH2, KI2, KJ2, KC_NO, KC_NO, KC_NO, KN2, KC_NO, KP2, KC_NO, KR2 }, \ + /* 3 */ { KC_NO, KB3, KC_NO, KD3, KE3, KF3, KG3, KH3, KI3, KJ3, KC_NO, KC_NO, KM3, KN3, KC_NO, KC_NO, KC_NO, KR3 }, \ + /* 4 */ { KA4, KB4, KC_NO, KD4, KE4, KF4, KG4, KH4, KI4, KJ4, KK4, KL4, KC_NO, KC_NO, KO4, KC_NO, KQ4, KR4 }, \ + /* 5 */ { KA5, KC_NO, KC5, KD5, KE5, KF5, KG5, KH5, KI5, KJ5, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KR5 }, \ + /* 6 */ { KC_NO, KB6, KC6, KC_NO, KE6, KF6, KG6, KH6, KI6, KJ6, KK6, KC_NO, KC_NO, KC_NO, KO6, KC_NO, KC_NO, KR6 }, \ + /* 7 */ { KA7, KB7, KC7, KD7, KE7, KF7, KG7, KH7, KI7, KJ7, KC_NO, KC_NO, KC_NO, KC_NO, KO7, KC_NO, KQ7, KR7 } \ } #define LAYOUT_tkl_ansi( \ @@ -45,15 +45,15 @@ along with this program. If not, see . KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO1, \ KB2, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KB3, KC6, \ KP4, KD2, KN6, KQ6, KN0, KA3, KM0, KP1, KC0, KQ0, KR0 \ - ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ - /* 0 */ { KC_NO , KC_NO , KC0 , KC_NO , KC_NO , KF0 , KC_NO , KC_NO , KC_NO , KJ0 , KK0 , KC_NO , KM0 , KN0 , KO0 , KC_NO , KQ0 , KR0 }, \ - /* 1 */ { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KG1 , KH1 , KI1 , KJ1 , KK1 , KL1 , KM1 , KC_NO , KO1 , KP1 , KC_NO , KC_NO }, \ - /* 2 */ { KC_NO , KB2 , KC_NO , KD2 , KC_NO , KF2 , KG2 , KH2 , KI2 , KJ2 , KK2 , KL2 , KM2 , KC_NO , KO2 , KC_NO , KC_NO , KC_NO }, \ - /* 3 */ { KA3 , KB3 , KC_NO , KC_NO , KC_NO , KF3 , KG3 , KH3 , KI3 , KJ3 , KK3 , KL3 , KM3 , KC_NO , KO3 , KC_NO , KC_NO , KC_NO }, \ - /* 4 */ { KC_NO , KC_NO , KC4 , KC_NO , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , KM4 , KC_NO , KO4 , KP4 , KQ4 , KR4 }, \ - /* 5 */ { KC_NO , KC_NO , KC5 , KC_NO , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , KK5 , KL5 , KM5 , KN5 , KO5 , KP5 , KC_NO , KC_NO }, \ - /* 6 */ { KC_NO , KC_NO , KC6 , KC_NO , KC_NO , KF6 , KG6 , KC_NO , KI6 , KJ6 , KK6 , KL6 , KC_NO , KN6 , KO6 , KC_NO , KQ6 , KC_NO }, \ - /* 7 */ { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KF7 , KG7 , KH7 , KI7 , KJ7 , KK7 , KL7 , KM7 , KN7 , KC_NO , KP7 , KC_NO , KC_NO } \ + ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ + /* 0 */ { KC_NO, KC_NO, KC0, KC_NO, KC_NO, KF0, KC_NO, KC_NO, KC_NO, KJ0, KK0, KC_NO, KM0, KN0, KO0, KC_NO, KQ0, KR0 }, \ + /* 1 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KG1, KH1, KI1, KJ1, KK1, KL1, KM1, KC_NO, KO1, KP1, KC_NO, KC_NO }, \ + /* 2 */ { KC_NO, KB2, KC_NO, KD2, KC_NO, KF2, KG2, KH2, KI2, KJ2, KK2, KL2, KM2, KC_NO, KO2, KC_NO, KC_NO, KC_NO }, \ + /* 3 */ { KA3, KB3, KC_NO, KC_NO, KC_NO, KF3, KG3, KH3, KI3, KJ3, KK3, KL3, KM3, KC_NO, KO3, KC_NO, KC_NO, KC_NO }, \ + /* 4 */ { KC_NO, KC_NO, KC4, KC_NO, KE4, KF4, KG4, KH4, KI4, KJ4, KK4, KL4, KM4, KC_NO, KO4, KP4, KQ4, KR4 }, \ + /* 5 */ { KC_NO, KC_NO, KC5, KC_NO, KE5, KF5, KG5, KH5, KI5, KJ5, KK5, KL5, KM5, KN5, KO5, KP5, KC_NO, KC_NO }, \ + /* 6 */ { KC_NO, KC_NO, KC6, KC_NO, KC_NO, KF6, KG6, KC_NO, KI6, KJ6, KK6, KL6, KC_NO, KN6, KO6, KC_NO, KQ6, KC_NO }, \ + /* 7 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KF7, KG7, KH7, KI7, KJ7, KK7, KL7, KM7, KN7, KC_NO, KP7, KC_NO, KC_NO } \ } #define LAYOUT_tkl_jis( \ @@ -63,15 +63,15 @@ along with this program. If not, see . KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO3, KO1, \ KB2, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KL0, KB3, KC6, \ KP4, KD2, KN6, KG0, KQ6, KH0, KI0, KN0, KM0, KP1, KC0, KQ0, KR0 \ - ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ - /* 0 */ { KC_NO, KC_NO, KC0, KC_NO, KC_NO, KF0, KG0, KH0, KI0, KJ0, KK0, KL0, KM0, KN0, KO0, KC_NO, KQ0, KR0 }, \ - /* 1 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KG1, KH1, KI1, KJ1, KK1, KL1, KM1, KC_NO, KO1, KP1, KC_NO, KC_NO }, \ - /* 2 */ { KC_NO, KB2, KC_NO, KD2, KC_NO, KF2, KG2, KH2, KI2, KJ2, KK2, KL2, KM2, KC_NO, KO2, KC_NO, KC_NO, KC_NO }, \ - /* 3 */ { KC_NO, KB3, KC_NO, KC_NO, KC_NO, KF3, KG3, KH3, KI3, KJ3, KK3, KL3, KM3, KC_NO, KO3, KC_NO, KC_NO, KC_NO }, \ - /* 4 */ { KC_NO, KC_NO, KC4, KC_NO, KE4, KF4, KG4, KH4, KI4, KJ4, KK4, KL4, KM4, KC_NO, KO4, KP4, KQ4, KR4 }, \ - /* 5 */ { KC_NO, KC_NO, KC5, KC_NO, KE5, KF5, KG5, KH5, KI5, KJ5, KK5, KL5, KM5, KN5, KO5, KP5, KC_NO, KC_NO }, \ - /* 6 */ { KC_NO, KC_NO, KC6, KC_NO, KC_NO, KF6, KG6, KC_NO, KI6, KJ6, KK6, KL6, KC_NO, KN6, KO6, KC_NO, KQ6, KC_NO }, \ - /* 7 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KF7, KG7, KH7, KI7, KJ7, KK7, KL7, KK7, KL7, KO7, KP7, KC_NO, KC_NO } \ + ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ + /* 0 */ { KC_NO, KC_NO, KC0, KC_NO, KC_NO, KF0, KG0, KH0, KI0, KJ0, KK0, KL0, KM0, KN0, KO0, KC_NO, KQ0, KR0 },\ + /* 1 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KG1, KH1, KI1, KJ1, KK1, KL1, KM1, KC_NO, KO1, KP1, KC_NO, KC_NO },\ + /* 2 */ { KC_NO, KB2, KC_NO, KD2, KC_NO, KF2, KG2, KH2, KI2, KJ2, KK2, KL2, KM2, KC_NO, KO2, KC_NO, KC_NO, KC_NO },\ + /* 3 */ { KC_NO, KB3, KC_NO, KC_NO, KC_NO, KF3, KG3, KH3, KI3, KJ3, KK3, KL3, KM3, KC_NO, KO3, KC_NO, KC_NO, KC_NO },\ + /* 4 */ { KC_NO, KC_NO, KC4, KC_NO, KE4, KF4, KG4, KH4, KI4, KJ4, KK4, KL4, KM4, KC_NO, KO4, KP4, KQ4, KR4 },\ + /* 5 */ { KC_NO, KC_NO, KC5, KC_NO, KE5, KF5, KG5, KH5, KI5, KJ5, KK5, KL5, KM5, KN5, KO5, KP5, KC_NO, KC_NO },\ + /* 6 */ { KC_NO, KC_NO, KC6, KC_NO, KC_NO, KF6, KG6, KC_NO, KI6, KJ6, KK6, KL6, KC_NO, KN6, KO6, KC_NO, KQ6, KC_NO },\ + /* 7 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KF7, KG7, KH7, KI7, KJ7, KK7, KL7, KK7, KL7, KO7, KP7, KC_NO, KC_NO } \ } inline void ph_caps_led_on(void) { DDRC |= (1<<6); PORTC &= ~(1<<6); } @@ -79,4 +79,3 @@ inline void ph_caps_led_off(void) { DDRC &= ~(1<<6); PORTC &= ~(1<<6); } inline void ph_sclk_led_on(void) { DDRC |= (1<<5); PORTC &= ~(1<<5); } inline void ph_sclk_led_off(void) { DDRC &= ~(1<<5); PORTC &= ~(1<<5); } - diff --git a/keyboards/bpiphany/pegasushoof/2013/matrix.c b/keyboards/bpiphany/pegasushoof/2013/matrix.c index a55cba7afd30..ed56067dca66 100644 --- a/keyboards/bpiphany/pegasushoof/2013/matrix.c +++ b/keyboards/bpiphany/pegasushoof/2013/matrix.c @@ -35,12 +35,12 @@ static void select_row(uint8_t col); __attribute__ ((weak)) void matrix_init_kb(void) { - matrix_init_user(); + matrix_init_user(); } __attribute__ ((weak)) void matrix_scan_kb(void) { - matrix_scan_user(); + matrix_scan_user(); } __attribute__ ((weak)) @@ -66,10 +66,10 @@ void matrix_init(void) /* Column output pins */ DDRD |= 0b01111011; /* Row input pins */ - DDRC &= ~0b10000000; - DDRB &= ~0b01111111; - PORTC |= 0b10000000; - PORTB |= 0b01111111; + DDRC &= (unsigned char) ~0b00000000; + DDRB &= (unsigned char) ~0b11111111; + PORTC |= 0b00000000; + PORTB |= 0b11111111; for (uint8_t i=0; i < MATRIX_ROWS; i++) { matrix[i] = 0; @@ -135,72 +135,72 @@ void matrix_print(void) static matrix_row_t read_cols(void) { return - (PINB & (1 << 5) ? 0 : 1 << 0) | - (PINC & (1 << 7) ? 0 : 1 << 1) | - (PINB & (1 << 4) ? 0 : 1 << 2) | - (PINB & (1 << 6) ? 0 : 1 << 3) | - (PINB & (1 << 1) ? 0 : 1 << 4) | - (PINB & (1 << 0) ? 0 : 1 << 5) | - (PINB & (1 << 3) ? 0 : 1 << 6) | - (PINB & (1 << 2) ? 0 : 1 << 7); + (PINB & (1 << 5) ? 0 : (matrix_row_t) 1 << 0) | + (PINB & (1 << 7) ? 0 : (matrix_row_t) 1 << 1) | + (PINB & (1 << 4) ? 0 : (matrix_row_t) 1 << 2) | + (PINB & (1 << 6) ? 0 : (matrix_row_t) 1 << 3) | + (PINB & (1 << 1) ? 0 : (matrix_row_t) 1 << 4) | + (PINB & (1 << 2) ? 0 : (matrix_row_t) 1 << 5) | + (PINB & (1 << 3) ? 0 : (matrix_row_t) 1 << 6) | + (PINB & (1 << 0) ? 0 : (matrix_row_t) 1 << 7); } static void select_row(uint8_t col) { switch (col) { case 0: - PORTD = (PORTD & ~0b01111011) | 0b00110011; + PORTD = (PORTD & ~0b01111011) | 0b00010011; break; case 1: - PORTD = (PORTD & ~0b01111011) | 0b01110000; + PORTD = (PORTD & ~0b01111011) | 0b01000011; break; case 2: - PORTD = (PORTD & ~0b01111011) | 0b00010011; + PORTD = (PORTD & ~0b01111011) | 0b01100000; break; case 3: - PORTD = (PORTD & ~0b01111011) | 0b01101000; + PORTD = (PORTD & ~0b01111011) | 0b01111001; break; case 4: - PORTD = (PORTD & ~0b01111011) | 0b00001011; + PORTD = (PORTD & ~0b01111011) | 0b01100010; break; case 5: - PORTD = (PORTD & ~0b01111011) | 0b00111011; + PORTD = (PORTD & ~0b01111011) | 0b01101010; break; case 6: - PORTD = (PORTD & ~0b01111011) | 0b01111000; + PORTD = (PORTD & ~0b01111011) | 0b01110001; break; case 7: - PORTD = (PORTD & ~0b01111011) | 0b01100001; + PORTD = (PORTD & ~0b01111011) | 0b01101001; break; case 8: - PORTD = (PORTD & ~0b01111011) | 0b01101001; + PORTD = (PORTD & ~0b01111011) | 0b01100001; break; case 9: - PORTD = (PORTD & ~0b01111011) | 0b01110001; + PORTD = (PORTD & ~0b01111011) | 0b01111000; break; case 10: - PORTD = (PORTD & ~0b01111011) | 0b01101010; + PORTD = (PORTD & ~0b01111011) | 0b00011011; break; case 11: - PORTD = (PORTD & ~0b01111011) | 0b01100010; + PORTD = (PORTD & ~0b01111011) | 0b00100011; break; case 12: - PORTD = (PORTD & ~0b01111011) | 0b01111001; + PORTD = (PORTD & ~0b01111011) | 0b00101011; break; case 13: - PORTD = (PORTD & ~0b01111011) | 0b01100000; + PORTD = (PORTD & ~0b01111011) | 0b01110000; break; case 14: - PORTD = (PORTD & ~0b01111011) | 0b01000011; + PORTD = (PORTD & ~0b01111011) | 0b00001011; break; case 15: - PORTD = (PORTD & ~0b01111011) | 0b00011011; + PORTD = (PORTD & ~0b01111011) | 0b01101000; break; case 16: - PORTD = (PORTD & ~0b01111011) | 0b00100011; + PORTD = (PORTD & ~0b01111011) | 0b00000011; break; case 17: - PORTD = (PORTD & ~0b01111011) | 0b00101011; + PORTD = (PORTD & ~0b01111011) | 0b00111011; break; } } From d8b9796a32b9e7105e0af485d697886f230c094f Mon Sep 17 00:00:00 2001 From: toinux Date: Fri, 22 Apr 2022 09:41:54 +0200 Subject: [PATCH 0594/1832] [Keymap] Toinux's crkbd keymap and userspace (#16437) --- keyboards/crkbd/keymaps/toinux/config.h | 122 +++++++++++ keyboards/crkbd/keymaps/toinux/glcdfont.c | 232 ++++++++++++++++++++ keyboards/crkbd/keymaps/toinux/keycodes.h | 49 +++++ keyboards/crkbd/keymaps/toinux/keymap.c | 250 ++++++++++++++++++++++ keyboards/crkbd/keymaps/toinux/oled.c | 112 ++++++++++ keyboards/crkbd/keymaps/toinux/oled.h | 71 ++++++ keyboards/crkbd/keymaps/toinux/rgb.c | 68 ++++++ keyboards/crkbd/keymaps/toinux/rules.mk | 9 + users/toinux/keymap_qwerty_fr.h | 158 ++++++++++++++ 9 files changed, 1071 insertions(+) create mode 100644 keyboards/crkbd/keymaps/toinux/config.h create mode 100644 keyboards/crkbd/keymaps/toinux/glcdfont.c create mode 100644 keyboards/crkbd/keymaps/toinux/keycodes.h create mode 100644 keyboards/crkbd/keymaps/toinux/keymap.c create mode 100644 keyboards/crkbd/keymaps/toinux/oled.c create mode 100644 keyboards/crkbd/keymaps/toinux/oled.h create mode 100644 keyboards/crkbd/keymaps/toinux/rgb.c create mode 100644 keyboards/crkbd/keymaps/toinux/rules.mk create mode 100644 users/toinux/keymap_qwerty_fr.h diff --git a/keyboards/crkbd/keymaps/toinux/config.h b/keyboards/crkbd/keymaps/toinux/config.h new file mode 100644 index 000000000000..e7a18800d8ec --- /dev/null +++ b/keyboards/crkbd/keymaps/toinux/config.h @@ -0,0 +1,122 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +//#define USE_MATRIX_I2C + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +//#define TAPPING_FORCE_HOLD +//#define TAPPING_TERM 100 + +#ifdef RGBLIGHT_ENABLE + #define RGBLIGHT_EFFECT_BREATHING + // #define RGBLIGHT_EFFECT_RAINBOW_MOOD + // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_RGB_TEST + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_TWINKLE + #define RGBLIGHT_LIMIT_VAL 120 + #define RGBLIGHT_HUE_STEP 10 + #define RGBLIGHT_SAT_STEP 17 + #define RGBLIGHT_VAL_STEP 17 +#endif + +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_KEYPRESSES // reacts to keypresses +// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +// # 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) +// # 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) +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. +# define RGB_MATRIX_HUE_STEP 8 +# define RGB_MATRIX_SAT_STEP 8 +# define RGB_MATRIX_VAL_STEP 8 +# define RGB_MATRIX_SPD_STEP 10 + +/* Enable the animations you want/need. You may need to enable only a small number of these because * + * they take up a lot of space. Enable and confirm that you can still successfully compile your firmware. */ +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +// # define ENABLE_RGB_MATRIX_ALPHAS_MODS +// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +// # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +// # define ENABLE_RGB_MATRIX_BREATHING +// # define ENABLE_RGB_MATRIX_BAND_SAT +// # define ENABLE_RGB_MATRIX_BAND_VAL +// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +// # define ENABLE_RGB_MATRIX_CYCLE_ALL +// # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +// # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +// # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +// # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +// # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +// # define ENABLE_RGB_MATRIX_DUAL_BEACON +// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON +// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +// # define ENABLE_RGB_MATRIX_RAINDROPS +// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +// # define ENABLE_RGB_MATRIX_HUE_BREATHING +// # define ENABLE_RGB_MATRIX_HUE_PENDULUM +// # define ENABLE_RGB_MATRIX_HUE_WAVE +// # define ENABLE_RGB_MATRIX_PIXEL_RAIN +// # define ENABLE_RGB_MATRIX_PIXEL_FLOW +// # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_SPLASH +// # define ENABLE_RGB_MATRIX_MULTISPLASH +// # define ENABLE_RGB_MATRIX_SOLID_SPLASH +// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif + +#define OLED_FONT_H "keyboards/crkbd/keymaps/toinux/glcdfont.c" + +#define SPLIT_LAYER_STATE_ENABLE +// #define SPLIT_LED_STATE_ENABLE + +#define LAYER_STATE_16BIT diff --git a/keyboards/crkbd/keymaps/toinux/glcdfont.c b/keyboards/crkbd/keymaps/toinux/glcdfont.c new file mode 100644 index 000000000000..74cce5a95274 --- /dev/null +++ b/keyboards/crkbd/keymaps/toinux/glcdfont.c @@ -0,0 +1,232 @@ +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#include "progmem.h" + +// Standard ASCII 5x7 font +const unsigned char font[] PROGMEM = { + 0x24, 0x7E, 0x24, 0x24, 0x7E, 0x24, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, + 0x20, 0xD4, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x28, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x50, 0x50, 0x50, 0x3C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x83, 0xC3, 0xC3, 0xC3, 0x9B, 0x03, + 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x32, 0x32, 0x32, 0x32, 0x32, + 0x32, 0xE6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xFE, + 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, + 0x80, 0x80, 0x80, 0x80, 0x9E, 0x81, + 0x80, 0x9E, 0x80, 0x80, 0x80, 0x80, + 0xFF, 0xEF, 0xD7, 0x0F, 0xDF, 0xDF, + 0xDF, 0xDF, 0x0F, 0xD7, 0xEF, 0xFF, + 0x01, 0x11, 0x29, 0xF1, 0x21, 0x21, + 0x21, 0x21, 0xF1, 0x29, 0x11, 0x01, + 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xEF, + 0xDF, 0xBF, 0x7F, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFC, 0x02, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x09, 0x11, + 0x21, 0x41, 0x81, 0x01, 0x01, 0x01, + 0x01, 0x02, 0xFC, 0x00, 0x00, 0x00, + 0x3E, 0xFF, 0xF8, 0xF8, 0xFF, 0x3E, + 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, + 0x63, 0x73, 0x7B, 0x6F, 0x67, 0x63, + 0x07, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, + 0x08, 0x08, 0x7F, 0x3E, 0x1C, 0x08, + 0x08, 0x1C, 0x3E, 0x7F, 0x08, 0x08, + 0x63, 0x7F, 0x7F, 0x63, 0x7F, 0x3E, + 0x1F, 0x3F, 0x63, 0x63, 0x3F, 0x1F, + 0x73, 0x3B, 0x1F, 0x1F, 0x3B, 0x73, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x8F, 0x8C, 0x0C, 0x0C, 0x0F, 0x0C, + 0x8C, 0xAC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x83, 0x82, 0x82, 0x9E, 0x88, + 0x84, 0x82, 0x81, 0x80, 0x80, 0x80, + 0xFF, 0xEF, 0xD7, 0xE0, 0xF7, 0xF7, + 0xF7, 0xF7, 0xE0, 0xD7, 0xEF, 0xFF, + 0x00, 0x10, 0x28, 0x1F, 0x08, 0x08, + 0x08, 0x08, 0x1F, 0x28, 0x10, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xEF, + 0xF7, 0xFB, 0xFD, 0xFE, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, + 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0xBD, 0x81, 0x81, 0x00, + 0x63, 0x7F, 0x7F, 0x63, 0x7F, 0x3E, + 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x77, + 0x08, 0x08, 0x7F, 0x3E, 0x1C, 0x08, + 0x08, 0x1C, 0x3E, 0x7F, 0x08, 0x08, + 0x7F, 0x7F, 0x03, 0x03, 0x7F, 0x7F, + 0x1C, 0x1C, 0x1C, 0x1C, 0x7F, 0x7F, + 0x03, 0x7F, 0x7F, 0x63, 0x7F, 0x1F, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xD9, 0x99, 0x9B, 0x9E, 0x9E, 0x9B, + 0x99, 0xD9, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFC, 0xFD, 0xFD, 0xE1, 0xF7, + 0xFB, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x7F, 0xBF, 0xDF, 0xE1, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x40, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3F, 0x7F, 0xFF, + 0xFF, 0x1F, 0xDF, 0xDF, 0xC3, 0xF7, + 0xEF, 0xDF, 0xBF, 0x7F, 0xFF, 0xFF, + 0xFF, 0x7F, 0x3F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3F, 0x40, 0x80, + 0x00, 0xE0, 0x20, 0x20, 0x3C, 0x08, + 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, + 0x80, 0x40, 0x3F, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0xE3, 0xE3, 0x7F, 0x00, + 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x07, + 0x1C, 0x3E, 0x77, 0x63, 0x63, 0x63, + 0x63, 0x73, 0x7B, 0x6F, 0x67, 0x63, + 0x08, 0x08, 0x7F, 0x3E, 0x1C, 0x08, + 0x08, 0x1C, 0x3E, 0x7F, 0x08, 0x08, + 0x7F, 0x7F, 0x03, 0x03, 0x7F, 0x7F, + 0x7F, 0x7F, 0x03, 0x03, 0x7F, 0x7F, + 0x3E, 0x7F, 0x63, 0x63, 0x63, 0x63, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/crkbd/keymaps/toinux/keycodes.h b/keyboards/crkbd/keymaps/toinux/keycodes.h new file mode 100644 index 000000000000..7d812f5c74b3 --- /dev/null +++ b/keyboards/crkbd/keymaps/toinux/keycodes.h @@ -0,0 +1,49 @@ +/* Copyright 2022 toinux + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +enum crkbd_layers { + _BASE, + _GAMING, + _GAMING2, + _ACCENTS, + _LOWER, + _RAISE, + _FUN, + _NAV, + _MOUSE, + _ADJUST +}; + +#define CTRLSC LCTL_T(KC_ESC) +#define QUORCTL RCTL_T(KC_QUOT) +#define MOSCLN LT(_MOUSE,KC_SCLN) +#define ACCENTS LT(_ACCENTS,KC_RALT) +#define FUN LT(_FUN,KC_SPC) +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define SPCNAV LT(_NAV,KC_SPC) +#define SFTENT MT(MOD_RSFT,KC_ENT) +#define TABLGUI LGUI_T(KC_TAB) +#define BASE DF(_BASE) +#define GAMING DF(_GAMING) +#define GAMING2 MO(_GAMING2) + +#define SC_F1 LSFT(LCTL(KC_F1)) +#define SC_F2 LSFT(LCTL(KC_F2)) +#define SC_F3 LSFT(LCTL(KC_F3)) +#define SC_F4 LSFT(LCTL(KC_F4)) diff --git a/keyboards/crkbd/keymaps/toinux/keymap.c b/keyboards/crkbd/keymaps/toinux/keymap.c new file mode 100644 index 000000000000..ae3de00b79b2 --- /dev/null +++ b/keyboards/crkbd/keymaps/toinux/keymap.c @@ -0,0 +1,250 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> +Copyright 2022 @toinux + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H +#include "users/toinux/keymap_qwerty_fr.h" +#include "keycodes.h" + +#ifdef OLED_ENABLE +#include "oled.h" +#endif + +// TEMPLATE +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// | | | | | | | | | | | | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | | | | | | | | | | | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | | | | | | | | | | | | | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | | | | | | | | +// `--------------------------' `--------------------------' + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// Base +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// |Tab/LGui| Q | W | E | R | T | | Y | U | I | O | P | Bksp | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | CtrlSc | A | S | D | F | G | | H | J | K | L | ;/Mous | '/Rctl | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | Shift | Z | X | C | V | B | | N | M | , | . | / | SftEnT | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | LALT | LOWER |Spc/FUN | | Spc/NAV| RAISE |ACCENTS | +// `--------------------------' `--------------------------' + [_BASE] = LAYOUT_split_3x6_3( + TABLGUI, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTRLSC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MOSCLN, QUORCTL, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFTENT, + KC_LALT, LOWER, FUN, SPCNAV, RAISE, ACCENTS + + ), + +// Gaming +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// | Esc | Q | W | E | R | T | | Y | U | I | O | P | Bksp | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | Ctrl | A | S | D | F | G | | H | J | K | L | ;/Mous | ' | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | Shift | Z | X | C | V | B | | N | M | , | . | / | SftEnT | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | LALT |GAMING2 | Space | | Spc/NAV| RAISE |ACCENTS | +// `--------------------------' `--------------------------' + [_GAMING] = LAYOUT_split_3x6_3( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MOSCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFTENT, + KC_LALT, GAMING2, KC_SPC, SPCNAV, RAISE, ACCENTS + + ), + +// Gaming 2 +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// | Tab | 1 | 2 | 3 | 4 | 5 | | | | | | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | Ctrl | 6 | 7 | 8 | 9 | 0 | | | | | | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | LGui | Base | | Vol- | Vol+ | Mute | | | | | | | | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | | | | | | | | +// `--------------------------' `--------------------------' + [_GAMING2] = LAYOUT_split_3x6_3( + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LCTL, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LGUI, BASE, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______ + + ), + +// Accents, see http://marin.jb.free.fr/qwerty-fr/ +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// | | â | é | è | ê | € | | û | ù | î | ô | œ | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | à | æ | ë | | « | | » | ü | ï | ö | ° | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | à | | ç | | | | | | | | | | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | | | | | | | | +// `--------------------------' `--------------------------' + [_ACCENTS] = LAYOUT_split_3x6_3( + _______, QF_ACIR, QF_EACU, QF_EGRV, QF_ECIR, QF_EURO, QF_UCIR, QF_UGRV, QF_ICIR, QF_OCIR, QF_OE, _______, + _______, QF_AGRV, QF_AE, QF_EDIA, _______, QF_LDAQ, QF_RDAQ, QF_UDIA, QF_IDIA, QF_ODIA, QF_DEG, _______, + _______, QF_AGRV, _______, QF_CCED, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + + ), + +// Lower +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | SC_F1 | SC_F2 | SC_F3 | SC_F4 | | | | _ | + | { | } | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | Gaming | | Vol- | Vol+ | Mute | | | | | | | | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | | | | | | | | +// `--------------------------' `--------------------------' + [_LOWER] = LAYOUT_split_3x6_3( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + _______, SC_F1, SC_F2, SC_F3, SC_F4, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, GAMING, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______ + + ), + +// Raise +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | | | | | | | | - | = | [ | ] | \ | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | | | | | | | | | | | | | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | | | | | | | | +// `--------------------------' `--------------------------' + [_RAISE] = LAYOUT_split_3x6_3( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______ + + ), + +// Functions and keypad +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// | | F1 | F2 | F2 | F4 | | | | 7 | 8 | 9 | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | F5 | F6 | F7 | F8 | | | | 4 | 5 | 6 | - | / | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | F9 | F10 | F11 | F12 | | | | 1 | 2 | 3 | + | * | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | | | | | = | 0 | . | +// `--------------------------' `--------------------------' + [_FUN] = LAYOUT_split_3x6_3( + _______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, XXXXXXX, _______, + _______, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PSLS, + _______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PAST, + _______, _______, _______, KC_PENT, KC_P0, KC_PDOT + + ), + +// Navigation and function keys +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// | | F1 | F2 | F2 | F4 | | | | Pg Up | Up | Pg Dn | Ins | Del | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | F5 | F6 | F7 | F8 | | | Home | Left | Down | Right | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | F9 | F10 | F11 | F12 | | | Space | End | | | | | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | | | | | | | | +// `--------------------------' `--------------------------' + [_NAV] = LAYOUT_split_3x6_3( + _______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_DEL, + _______, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, + _______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_SPC, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______ + + ), + +// Mouse +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// | | | Wh up | Ms up | Wh dn | | | | | | | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | | Ms lft | Ms dn | Ms rgt | | | | btn1 | btn3 | btn2 | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | | | Wh lft | | Wh rgt | | | | | | | | | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | | | | | | | | +// `--------------------------' `--------------------------' + [_MOUSE] = LAYOUT_split_3x6_3( + _______, _______, KC_WH_U, KC_MS_U, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______, + _______, _______, KC_WH_L, _______, KC_WH_R, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + + ), + +// Adjust +// ,-----------------------------------------------------. ,-----------------------------------------------------. +// | Reset | | | | | Print | | Num | Caps | Scroll | | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | On/Off | Hue ↑ | Sat ↑ | Brght ↑| | | | | | | | | | +// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| +// | Cycle | Hue ↓ | Sat ↓ | Brght ↓| | | | | | | | | | +// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' +// | | | | | | | | +// `--------------------------' `--------------------------' + [_ADJUST] = LAYOUT_split_3x6_3( + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_NLCK, KC_CAPS, KC_SCRL, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______ + ) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + +#ifdef OLED_ENABLE + if (record->event.pressed) { + set_keylog(keycode, record); + } +#endif // OLED_ENABLE + + switch (keycode) { + case FUN: + if (!host_keyboard_led_state().num_lock) { + tap_code(KC_NUMLOCK); + } + return true; + break; + } + return true; +} + +void keyboard_post_init_user(void) { +#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) + rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); + rgb_matrix_sethsv_noeeprom(HSV_OFF); +#endif +} diff --git a/keyboards/crkbd/keymaps/toinux/oled.c b/keyboards/crkbd/keymaps/toinux/oled.c new file mode 100644 index 000000000000..df2a693d8d80 --- /dev/null +++ b/keyboards/crkbd/keymaps/toinux/oled.c @@ -0,0 +1,112 @@ +/* Copyright 2022 @toinux + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#include QMK_KEYBOARD_H +#include "keycodes.h" +#include "oled.h" + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + return rotation; +} + + +void oled_render_mod_status(void) { + + const uint8_t modifiers = get_mods() | get_oneshot_mods(); + + for (uint8_t i = 0; i < 2; i++) { + oled_set_cursor(9,i); + oled_write_P(gui_icon[(modifiers & MOD_MASK_GUI) ? 1 : 0][i], false); + oled_write_P(ctrl_icon[(modifiers & MOD_MASK_CTRL) ? 1 : 0][i], false); + oled_set_cursor(9,i+2); + oled_write_P(alt_icon[(modifiers & MOD_MASK_ALT) ? 1 : 0][i], false); + oled_write_P(shift_icon[(modifiers & MOD_MASK_SHIFT) ? 1 : 0][i], false); + } + +} + +void oled_render_layer_state(void) { + + char c = 0x9F - get_highest_layer(layer_state|default_layer_state); + + oled_set_cursor(20,0); + oled_write_char(0X00, false); + + oled_set_cursor(20,1); + oled_write_char(c, false); + c += 32; + oled_set_cursor(20,2); + oled_write_char(c, false); + c += 32; + oled_set_cursor(20,3); + oled_write_char(c, false); + +} + +void oled_render_led_state(void) { + // oled_advance_page(false) instead of oled_write_ln_P to not break OLED_TIMEOUT + oled_write_P(PSTR("NUM"), host_keyboard_led_state().num_lock); + oled_advance_page(false); + oled_write_P(PSTR("CAP"), host_keyboard_led_state().caps_lock); + oled_advance_page(false); + oled_write_P(PSTR("SCL"), host_keyboard_led_state().scroll_lock); + oled_advance_page(false); +} + +uint8_t last_row = 0; +uint8_t last_col = 0; + +void set_keylog(uint16_t keycode, keyrecord_t *record) { + last_row = record->event.key.row; + last_col = record->event.key.col; +} + +void oled_render_keylog(void) { + oled_write_char(last_row + '0', false); + oled_write_char('x', false); + oled_write_char(last_col + '0', false); +} + +void oled_render_logo(void) { + static const char PROGMEM kpu_logo[][3] = { + {0x82, 0x83, 0}, + {0x80, 0x81, 0}, + {0xa0, 0xa1, 0}, + {0xc0, 0xc1, 0} + }; + for (uint8_t i = 0; i < 4; i++) { + oled_write_ln_P(kpu_logo[i], false); + } + +} + +bool oled_task_user(void) { + if (is_keyboard_master ()) { + oled_render_led_state(); + oled_render_keylog(); + oled_render_mod_status(); + oled_render_layer_state(); + } else { + oled_render_logo(); + oled_scroll_right(); + oled_scroll_set_speed(4); + } + return false; +} diff --git a/keyboards/crkbd/keymaps/toinux/oled.h b/keyboards/crkbd/keymaps/toinux/oled.h new file mode 100644 index 000000000000..30be16e602fb --- /dev/null +++ b/keyboards/crkbd/keymaps/toinux/oled.h @@ -0,0 +1,71 @@ +/* Copyright 2022 @toinux + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +static const char PROGMEM ctrl_icon[2][2][4] = { + { + // off + {0x93, 0x94, 0x95, 0}, + {0xB3, 0xB4, 0xB5, 0}, + }, + { + // on + {0x8F ,0x90, 0x91, 0}, + {0xAF ,0xB0, 0xB1, 0}, + } +}; + +static const char PROGMEM shift_icon[2][2][4] = { + { + // off + {0xD3, 0xD4, 0xB5, 0}, + {0xA8, 0xA9, 0xD5, 0}, + }, + { + // on + {0xCF ,0xD0, 0xB1, 0}, + {0xC8 ,0xC9, 0xD1, 0}, + } +}; + +static const char PROGMEM gui_icon[2][2][4] = { + { + // off + {0x92, 0x8C, 0x8D, 0}, + {0xB2, 0xAC, 0xAD, 0}, + }, + { + // on + {0x8E ,0x8A, 0x8B, 0}, + {0xAE ,0xAA, 0xAB, 0}, + } +}; + +static const char PROGMEM alt_icon[2][2][4] = { + { + // off + {0xB2, 0xCC, 0xCD, 0}, + {0xD2, 0x88, 0x89, 0}, + }, + { + // on + {0xAE ,0xCA, 0xCB, 0}, + {0xCE ,0x86, 0x87, 0}, + } +}; + +void set_keylog(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/crkbd/keymaps/toinux/rgb.c b/keyboards/crkbd/keymaps/toinux/rgb.c new file mode 100644 index 000000000000..2c5de3b0a7b2 --- /dev/null +++ b/keyboards/crkbd/keymaps/toinux/rgb.c @@ -0,0 +1,68 @@ +/* Copyright 2022 @toinux + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#include QMK_KEYBOARD_H +#include "keycodes.h" + +static const char gaming_leds[] = {18, 22, 19, 16}; +static const char gaming2_leds[] = {23, 18, 17, 10, 9, 22, 19, 16, 11, 8}; +static const char nav_leds[] = {38, 43, 44, 46}; +static const char fun_leds[] = {45, 44, 37, 46, 43, 38, 47, 42, 39, 40}; +static const char mouse_leds[] = {11, 16, 17, 19}; + +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(26, RGB_RED); + } + switch(get_highest_layer(layer_state|default_layer_state)) { + case _GAMING: + if (is_keyboard_master()) { + for (uint8_t i = 0; i < 4; i++) { + rgb_matrix_set_color(gaming_leds[i], RGB_RED); + } + } + break; + case _GAMING2: + if (is_keyboard_master()) { + for (uint8_t i = 0; i < 10; i++) { + rgb_matrix_set_color(gaming2_leds[i], RGB_GREEN); + } + } + break; + case _NAV: + for (uint8_t i = 0; i < 4; i++) { + rgb_matrix_set_color(nav_leds[i], RGB_BLUE); + } + break; + case _FUN: + for (uint8_t i = 0; i < 10; i++) { + rgb_matrix_set_color(fun_leds[i], RGB_GREEN); + } + break; + case _ADJUST: + rgb_matrix_set_color(6, RGB_RED); + break; + case _MOUSE: + if (is_keyboard_master()) { + for (uint8_t i = 0; i < 4; i++) { + rgb_matrix_set_color(mouse_leds[i], RGB_PURPLE); + } + } + break; + + } +} diff --git a/keyboards/crkbd/keymaps/toinux/rules.mk b/keyboards/crkbd/keymaps/toinux/rules.mk new file mode 100644 index 000000000000..07c98a08f803 --- /dev/null +++ b/keyboards/crkbd/keymaps/toinux/rules.mk @@ -0,0 +1,9 @@ +MOUSEKEY_ENABLE = yes # Mouse keys +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +LTO_ENABLE = yes +BOOTLOADER = atmel-dfu + +SRC += ./oled.c ./rgb.c diff --git a/users/toinux/keymap_qwerty_fr.h b/users/toinux/keymap_qwerty_fr.h new file mode 100644 index 000000000000..3110ee984fe7 --- /dev/null +++ b/users/toinux/keymap_qwerty_fr.h @@ -0,0 +1,158 @@ +/* Copyright 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "keymap.h" + +// clang-format off + +// keymap adapted for http://marin.jb.free.fr/qwerty-fr/ + +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ` │ ¹ │ ² │ ³ │ ê │ € │ ^ │ ŷ │ û │ î │ ô │ – │ ≠ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ â │ é │ è │ ® │ π │ ¥ │ ù │ î │ ò │ œ │ « │ » │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ à │ æ │ ë │ ε │ α │ ÿ │ ü │ ï │ ö │ ¶ │ ´ │ ¦ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ ≤ │ ä │ × │ ç │ ω │ ß │ ñ │ µ │ ¸ │ ° │ ʕ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │   │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define QF_DGRV RALT(KC_GRV) // ` (dead) +#define QF_SUP1 RALT(KC_1) // ¹ +#define QF_SUP2 RALT(KC_2) // ² +#define QF_SUP3 RALT(KC_3) // ³ +#define QF_ECIR RALT(KC_4) // ê +#define QF_EURO RALT(KC_5) // € +#define QF_DCIR RALT(KC_6) // ^ (dead) +#define QF_YCIR RALT(KC_7) // ŷ +#define QF_UCIR RALT(KC_8) // û +#define QF_ICIR RALT(KC_9) // î +#define QF_OCIR RALT(KC_0) // ô +#define QF_DASH RALT(KC_MINUS) // – +#define QF_NEQL RALT(KC_EQUAL) // ≠ +// Row 2 +#define QF_ACIR RALT(KC_Q) // â +#define QF_EACU RALT(KC_W) // é +#define QF_EGRV RALT(KC_E) // è +#define QF_REGD RALT(KC_R) // ® +#define QF_PI RALT(KC_T) // π +#define QF_YEN RALT(KC_Y) // ¥ +#define QF_UGRV RALT(KC_U) // ù +#define QF_IGRV RALT(KC_I) // ì +#define QF_OGRV RALT(KC_O) // ò +#define QF_OE RALT(KC_P) // œ +#define QF_LDAQ RALT(KC_LBRC) // « +#define QF_RDAQ RALT(KC_RBRC) // » +// Row 3 +#define QF_AGRV RALT(KC_A) // à +#define QF_AE RALT(KC_S) // æ +#define QF_EDIA RALT(KC_D) // ë +#define QF_EPSL RALT(KC_F) // ε +#define QF_ALPH RALT(KC_G) // α +#define QF_YDIA RALT(KC_H) // ÿ +#define QF_UDIA RALT(KC_J) // ü +#define QF_IDIA RALT(KC_K) // ï +#define QF_ODIA RALT(KC_L) // ö +#define QF_PILC RALT(KC_SCLN) // ¶ +#define QF_ACUT RALT(KC_QUOT) // ´ (dead) +#define QF_BRKP RALT(KC_BSLS) // ¦ +// Row 4 +#define QF_LTEQ RALT(KC_NUBS) // ≤ +#define QF_ADIA RALT(KC_Z) // ä +#define QF_MUL RALT(KC_X) // × +#define QF_CCED RALT(KC_C) // ç +#define QF_OMEG RALT(KC_V) // ω +#define QF_SS RALT(KC_B) // ß +#define QF_NTIL RALT(KC_N) // ñ +#define QF_MICR RALT(KC_M) // µ +#define QF_CEDL RALT(KC_COMM) // ¸ (dead) +#define QF_DEG RALT(KC_DOT) // ° +#define QF_VOPH RALT(KC_SLSH) // ʕ +// Row 5 +#define QF_NBSP RALT(KC_SPC) //   (non-breaking space) + + +/* Shift+AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ~ │ ¡ │ ˝ │ ¯ │ Ê │ £ │ ˇ │ Ŷ │ Û │ Î │ Ô │ — │ ± │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │  │ É │ È │ © │ Π │ ¤ │ Ù │ Ì │ Ò │ Œ │ “ │ ” │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ À │ Æ │ Ë │ Δ │ β │ Ÿ │ Ü │ Ï │ ö │ § │ ¨ │ ø │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ ≥ │ Ä │ ÷ │ Ç │ Ω │ þ │ Ñ │ Σ │ ˛ │ ˚ │ ¿ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │   │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define QF_DTIL S(RALT(KC_GRV)) // ~ (dead) +#define QF_IEXL S(RALT(KC_1)) // ¡ +#define QF_DACU S(RALT(KC_2)) // ˝ (dead) +#define QF_MACR S(RALT(KC_3)) // ¯ (dead) +#define QF_ECIU S(RALT(KC_4)) // Ê +#define QF_PND S(RALT(KC_5)) // £ +#define QF_CARN S(RALT(KC_6)) // ˇ (dead) +#define QF_YCIU S(RALT(KC_7)) // Ŷ +#define QF_UCIU S(RALT(KC_8)) // Û +#define QF_ICIU S(RALT(KC_9)) // Î +#define QF_OCIO S(RALT(KC_0)) // Ô +#define QF_NDSH S(RALT(KC_MINUS)) // — +#define QF_PLMN S(RALT(KC_EQUAL)) // ± +// Row 2 +#define QF_ACIU S(RALT(KC_Q)) //  +#define QF_ECUU S(RALT(KC_W)) // É +#define QF_EGRU S(RALT(KC_E)) // È +#define QF_COPY S(RALT(KC_R)) // © +#define QF_PIU S(RALT(KC_T)) // Π +#define QF_CURR S(RALT(KC_Y)) // ¤ +#define QF_UGRU S(RALT(KC_U)) // Ù +#define QF_IGRU S(RALT(KC_I)) // Ì +#define QF_OGRU S(RALT(KC_O)) // Ò +#define QF_OEU S(RALT(KC_P)) // Œ +#define QF_LDQU S(RALT(KC_LBRC)) // “ +#define QF_RDQU S(RALT(KC_RBRC)) // ” +// Row 3 +#define QF_AGRU S(RALT(KC_A)) // À +#define QF_AEU S(RALT(KC_S)) // Æ +#define QF_EDIU S(RALT(KC_D)) // Ë +#define QF_DELT S(RALT(KC_F)) // Δ +#define QF_BETA S(RALT(KC_G)) // β +#define QF_YDIU S(RALT(KC_H)) // Ÿ +#define QF_UDIU S(RALT(KC_J)) // Ü +#define QF_IDIU S(RALT(KC_K)) // Ï +#define QF_ODIU S(RALT(KC_L)) // Ö +#define QF_SECT S(RALT(KC_SCLN)) // § +#define QF_DIAE S(RALT(KC_QUOT)) // ¨ (dead) +#define QF_OSTR S(RALT(KC_BSLS)) // ø +// Row 4 +#define QF_GTEQ S(RALT(KC_NUBS)) // ≥ +#define QF_ADIU S(RALT(KC_Z)) // Ä +#define QF_DIV S(RALT(KC_X)) // ÷ +#define QF_CCDU S(RALT(KC_C)) // Ç +#define QF_OMEU S(RALT(KC_V)) // Ω +#define QF_THRN S(RALT(KC_B)) // þ +#define QF_NTIU S(RALT(KC_N)) // Ñ +#define QF_SIGM S(RALT(KC_M)) // Σ +#define QF_OGON S(RALT(KC_COMM)) // ˛ (dead) +#define QF_RNGA S(RALT(KC_DOT)) // ˚ (dead) +#define QF_IQUE S(RALT(KC_SLSH)) // ¿ From 97f4a75fd7bbdb5f4c170cd9dd4495ba7d64a548 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Fri, 22 Apr 2022 00:48:06 -0700 Subject: [PATCH 0595/1832] [CI] Format code according to conventions (#16914) --- tmk_core/protocol/chibios/usb_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index c59569a85a5f..19e2e858fc9b 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -340,10 +340,10 @@ static usb_driver_configs_t drivers = { #endif #ifdef RAW_ENABLE # ifndef RAW_IN_CAPACITY -# define RAW_IN_CAPACITY 4 +# define RAW_IN_CAPACITY 4 # endif # ifndef RAW_OUT_CAPACITY -# define RAW_OUT_CAPACITY 4 +# define RAW_OUT_CAPACITY 4 # endif # define RAW_IN_MODE USB_EP_MODE_TYPE_INTR # define RAW_OUT_MODE USB_EP_MODE_TYPE_INTR From d64ec7cb19708082b168b3cd7f7f6016c650accf Mon Sep 17 00:00:00 2001 From: "E.Iosifidis" Date: Fri, 22 Apr 2022 10:55:25 +0300 Subject: [PATCH 0596/1832] [Keymap] Addition of new keymap for the anavi macropad8 keyboard (#16910) * Creation of Visual Studio Code keymap * Add files via upload --- .../anavi/macropad8/keymaps/vscode/config.h | 19 ++++ .../anavi/macropad8/keymaps/vscode/keymap.c | 103 ++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 keyboards/anavi/macropad8/keymaps/vscode/config.h create mode 100644 keyboards/anavi/macropad8/keymaps/vscode/keymap.c diff --git a/keyboards/anavi/macropad8/keymaps/vscode/config.h b/keyboards/anavi/macropad8/keymaps/vscode/config.h new file mode 100644 index 000000000000..dd687cad58f3 --- /dev/null +++ b/keyboards/anavi/macropad8/keymaps/vscode/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define LAYER_STATE_8BIT diff --git a/keyboards/anavi/macropad8/keymaps/vscode/keymap.c b/keyboards/anavi/macropad8/keymaps/vscode/keymap.c new file mode 100644 index 000000000000..be6ac07f5848 --- /dev/null +++ b/keyboards/anavi/macropad8/keymaps/vscode/keymap.c @@ -0,0 +1,103 @@ + /* Copyright 2022 Efthimis Iosifidis + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layers { + _BASIC, + _FN, +}; + + +#define KC_X0 LT(_FN, KC_ESC) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* _BASIC Layer + * ,-------------------------------------. + * | Toggle | Toggle | | | + * | Block | Line | Undo | Redo | + * | Comment | Comment | | | + * |---------+---------+--------+---------+ + * | | | | TO | + * | Cut | Copy | Paste | _FN | + * | | | | | + * `-------------------------------------' + */ + [_BASIC] = LAYOUT_ortho_2x4( + RCS(KC_A), C(KC_SLASH), C(KC_Z), C(KC_Y), + C(KC_X), C(KC_C), C(KC_V), TO(_FN) + ), +/* _FN Layer + * ,--------------------------------------------. + * | RGB | RGB | RGB | RGB | + * | Toggle | Mode | Mode | Snake | + * | | Forward | Reverse | Mode | + * |-----------+-----------+-----------+---------+ + * | | Cycle | Toggle | TO | + * | BackLight | BackLight | BackLight | _BASIC | + * | Toggle | Levels | | | + * `--------------------------------------------' + */ + [_FN] = LAYOUT_ortho_2x4( + RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, + BL_TOGG, BL_STEP, BL_BRTG, TO(_BASIC) + ) +}; + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand +} + + +bool oled_task_user(void) { + // Host Keyboard Layer Status + oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false); + oled_write_P(PSTR("Active layer: "), false); + + switch (get_highest_layer(layer_state)) { + case _BASIC: + oled_write_ln_P(PSTR("Basic"), false); + break; + case _FN: + oled_write_ln_P(PSTR("FN"), false); + break; + default: + // Or use the write_ln shortcut over adding '\n' to the end of your string + oled_write_ln_P(PSTR("N/A"), false); + } + + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(PSTR("Num Lock: "), false); + oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); + oled_write_P(PSTR("Caps Lock: "), false); + oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); + oled_write_P(PSTR("Backlit: "), false); + oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); +#ifdef RGBLIGHT_ENABLE + static char rgbStatusLine1[26] = {0}; + snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); + oled_write_ln(rgbStatusLine1, false); + static char rgbStatusLine2[26] = {0}; + snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); + oled_write_ln(rgbStatusLine2, false); +#endif + return false; +} +#endif From b1681fb6a11e6eb286bc93af3bcc59422e054eb8 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Fri, 22 Apr 2022 10:13:31 +0200 Subject: [PATCH 0597/1832] [Core] Allow usage of AVRs minimal printf library (#16266) Co-authored-by: Sergey Vlasov --- docs/squeezing_avr.md | 13 +++++++++++++ platforms/avr/platform.mk | 9 +++++++++ 2 files changed, 22 insertions(+) diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md index 62f0a5d29032..f7e21d932bec 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -30,6 +30,19 @@ MAGIC_ENABLE = no These features are enabled by default, but may not be needed. Double check to make sure, though. Largest in size is "magic" -- the QMK magic keycodes -- which control things like NKRO toggling, GUI and ALT/CTRL swapping, etc. Disabling it will disable those functions. +If you use `sprintf` or `snprintf` functions you can save around ~400 Bytes by enabling this option. +```make +AVR_USE_MINIMAL_PRINTF = yes +``` + +This will include smaller implementations from AVRs libc into your Firmware. They are [not fully featured](https://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#gaa3b98c0d17b35642c0f3e4649092b9f1), for instance zero padding and field width specifiers are not supported. So if you use `sprintf` or `snprintf` like this: +```c +sprintf(wpm_str, "%03d", get_current_wpm()); +snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c"); +``` + +you will still need the standard implementation. + ## `config.h` Settings If you've done all of that, and you don't want to disable features like RGB, Audio, OLEDs, etc, there are some additional options that you can add to your config.h that can help. diff --git a/platforms/avr/platform.mk b/platforms/avr/platform.mk index 9f304d2e209d..0374e2e05815 100644 --- a/platforms/avr/platform.mk +++ b/platforms/avr/platform.mk @@ -37,6 +37,15 @@ CXXFLAGS += -fno-exceptions -std=c++11 LDFLAGS += -Wl,--gc-sections +# Use AVR's libc minimal printf implementation which has less features +# and thus can shave ~400 bytes. Usually we use the xprintf +# implementation but keyboards that use s(n)printf automatically +# pull in the AVR libc implementation, which is ~900 bytes heavy. +AVR_USE_MINIMAL_PRINTF ?= no +ifeq ($(strip $(AVR_USE_MINIMAL_PRINTF)), yes) + LDFLAGS += -Wl,--whole-archive -lprintf_min -Wl,--no-whole-archive +endif + OPT_DEFS += -DF_CPU=$(F_CPU)UL MCUFLAGS = -mmcu=$(MCU) From a727bd646336062c6167a8656ebdcc3f979f9058 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Fri, 22 Apr 2022 18:14:00 +1000 Subject: [PATCH 0598/1832] Update ChibiOS-Contrib (#16915) --- lib/chibios-contrib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/chibios-contrib b/lib/chibios-contrib index ff1c6ec90cfc..2a6b73ff51ba 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit ff1c6ec90cfc250d81e6f29a0d60a4faf2afb46d +Subproject commit 2a6b73ff51baf89083a220b6692a04ca2cae8750 From 56b125ad77d3a06ad3f04e12113adbe7a969c54c Mon Sep 17 00:00:00 2001 From: DL Ford Date: Fri, 22 Apr 2022 01:16:33 -0700 Subject: [PATCH 0599/1832] Add Dactyl_Manuform/3x5_3 (#16238) --- .../handwired/dactyl_manuform/3x5_3/3x5_3.c | 66 +++ .../handwired/dactyl_manuform/3x5_3/3x5_3.h | 37 ++ .../handwired/dactyl_manuform/3x5_3/config.h | 56 +++ .../handwired/dactyl_manuform/3x5_3/info.json | 48 +++ .../3x5_3/keymaps/dlford/config.h | 106 +++++ .../3x5_3/keymaps/dlford/features/caps_word.c | 76 ++++ .../3x5_3/keymaps/dlford/features/caps_word.h | 36 ++ .../3x5_3/keymaps/dlford/keymap.c | 385 ++++++++++++++++++ .../3x5_3/keymaps/dlford/rules.mk | 17 + .../handwired/dactyl_manuform/3x5_3/rules.mk | 25 ++ .../dactyl_manuform/dactyl_manuform.h | 2 + keyboards/handwired/dactyl_manuform/readme.md | 33 +- 12 files changed, 877 insertions(+), 10 deletions(-) create mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.c create mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h create mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/config.h create mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/info.json create mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h create mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.c create mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.h create mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk create mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.c b/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.c new file mode 100644 index 000000000000..2bd1aefadb5c --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.c @@ -0,0 +1,66 @@ +/* +Copyright 2021 @dlford + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "3x5_3.h" + +#ifdef RGB_MATRIX_ENABLE + +// LED Layout +// Columns +// 0 1 2 3 4 5 6 7 8 9 10 11 +// Physical (Center: 133) +// 20 41 61 81 102 122 143 163 183 204 224 244 +// Rows Physical (Center: 54) +// 17 12 11 06 05 23 24 29 30 35 0 21 +// 16 13 10 07 04 22 25 28 31 34 1 43 +// 15 14 09 08 03 21 26 27 32 33 2 64 +// 02 01 00 18 19 20 3 85 + +led_config_t g_led_config = { { + // Key matrix to LED index + // Left 1-18 + {17, 12, 11, 6, 5}, + {16, 13, 10, 7, 4}, + {15, 14, 9, 8, 3}, + {NO_LED, NO_LED, 2, 1, 0}, + // Right 1-18 + {23, 24, 29, 30, 35}, + {22, 25, 28, 31, 34}, + {21, 26, 27, 32, 33}, + {18, 19, 20, NO_LED, NO_LED}, +}, { + // LED index to physical position + // Left 1-18 + {122,85},{102,85},{81,85},{102,64},{102,43},{102,21}, + {81,21},{81,43},{81,64},{61,64},{61,43},{61,21}, + {41,21},{41,43},{41,64},{20,64},{20,43},{20,21}, + // Right 1-18 + {143,85},{163,85},{183,85},{163,64},{163,43},{163,21}, + {183,21},{183,43},{183,64},{204,64},{204,43},{204,21}, + {224,21},{224,43},{224,64},{244,64},{244,43},{244,21} +}, { + // LED index to flag + // Left 1-18 + 4,4,4,4,4,4, + 4,4,4,4,4,4, + 4,4,4,4,4,4, + // Right 1-18 + 4,4,4,4,4,4, + 4,4,4,4,4,4, + 4,4,4,4,4,4 +} }; + +#endif diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h b/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h new file mode 100644 index 000000000000..f9a843d7d69a --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h @@ -0,0 +1,37 @@ +/* +Copyright 2021 @dlford + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "dactyl_manuform.h" + +#define LAYOUT_split_3x5_3(\ + L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ + L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ + L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ + L32, L33, L34, R30, R31, R32 \ + ) \ + { \ + { L00, L01, L02, L03, L04 }, \ + { L10, L11, L12, L13, L14 }, \ + { L20, L21, L22, L23, L24 }, \ + { KC_NO, KC_NO, L32, L33, L34 }, \ + \ + { R00, R01, R02, R03, R04 }, \ + { R10, R11, R12, R13, R14 }, \ + { R20, R21, R22, R23, R24 }, \ + { R30, R31, R32, KC_NO, KC_NO }, \ +} diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/config.h b/keyboards/handwired/dactyl_manuform/3x5_3/config.h new file mode 100644 index 000000000000..e417599a40ff --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/3x5_3/config.h @@ -0,0 +1,56 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2021 @dlford +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +#define PRODUCT_ID 0x3536 +#define DEVICE_VER 0x0003 +#ifdef MANUFACTURER + #undef MANUFACTURER +#endif +#define MANUFACTURER DLFord +#define PRODUCT Dactyl Minidox (3x5+3) + +// Communication +// #define USE_I2C +#define USE_SERIAL + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 8 +#define MATRIX_COLS 5 + +// wiring of each half +#define MATRIX_COL_PINS { C6, D7, E6, B4, B5 } +#define MATRIX_ROW_PINS { B1, B3, B2, B6 } + +#define DIODE_DIRECTION ROW2COL + +// WS2812 RGB LED strip input and number of LEDs +#define RGB_DI_PIN D3 +#define DRIVER_LED_TOTAL 36 +#define RGB_MATRIX_SPLIT { 18, 18 } +#define RGB_MATRIX_CENTER { 133, 54 } + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#undef LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#undef LOCKING_RESYNC_ENABLE + +/* Enables This makes it easier for fast typists to use dual-function keys */ +#undef PERMISSIVE_HOLD diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/info.json b/keyboards/handwired/dactyl_manuform/3x5_3/info.json new file mode 100644 index 000000000000..47642262212f --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/3x5_3/info.json @@ -0,0 +1,48 @@ +{ + "keyboard_name": "Dactyl Manuform 3x5_3", + "url": "https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/", + "maintainer": "dlford", + "layouts": { + "LAYOUT": { + "layout": [ + { "x": 0, "y": 0 }, + { "x": 1, "y": 0 }, + { "x": 2, "y": 0 }, + { "x": 3, "y": 0 }, + { "x": 4, "y": 0 }, + { "x": 0, "y": 1 }, + { "x": 1, "y": 1 }, + { "x": 2, "y": 1 }, + { "x": 3, "y": 1 }, + { "x": 4, "y": 1 }, + { "x": 0, "y": 2 }, + { "x": 1, "y": 2 }, + { "x": 2, "y": 2 }, + { "x": 3, "y": 2 }, + { "x": 4, "y": 2 }, + { "x": 2, "y": 3 }, + { "x": 3, "y": 3 }, + { "x": 4, "y": 3 }, + + { "x": 10, "y": 0 }, + { "x": 11, "y": 0 }, + { "x": 12, "y": 0 }, + { "x": 13, "y": 0 }, + { "x": 14, "y": 0 }, + { "x": 10, "y": 1 }, + { "x": 11, "y": 1 }, + { "x": 12, "y": 1 }, + { "x": 13, "y": 1 }, + { "x": 14, "y": 1 }, + { "x": 10, "y": 2 }, + { "x": 11, "y": 2 }, + { "x": 12, "y": 2 }, + { "x": 13, "y": 2 }, + { "x": 14, "y": 2 }, + { "x": 10, "y": 3 }, + { "x": 11, "y": 3 }, + { "x": 12, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h new file mode 100644 index 000000000000..fac935395961 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h @@ -0,0 +1,106 @@ +/* +Copyright 2012 Jun Wako +Copyright 2021 @dlford +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +//#define USE_MATRIX_I2C + +/* Select hand configuration */ + +// #define MASTER_LEFT +// #define MASTER_RIGHT +#define EE_HANDS // ./util/docker_build.sh crkbd:dlford:dfu-split-[left|right] (or avrdude-split[left|right]) + +#define TAPPING_TOGGLE 2 // number of taps to toggle TT +#define TAPPING_TERM_PER_KEY // milliseconds from tap to hold for mod tap per key +#define IGNORE_MOD_TAP_INTERRUPT // ignore hold mod if another tap occurs within tapping term +#define PERMISSIVE_HOLD_PER_KEY // activate mod top hold earlier if another key is pressed AND released per key +#define TAPPING_FORCE_HOLD_PER_KEY // disable double tap hold key repeat per key +#undef MOUSEKEY_INTERVAL +#undef MOUSEKEY_DELAY +#undef MOUSEKEY_TIME_TO_MAX +#undef MOUSEKEY_MAX_SPEED +#undef MOUSEKEY_WHEEL_DELAY +#define MK_KINETIC_SPEED +#define MOUSEKEY_DELAY 100 +#define MOUSEKEY_INTERVAL 35 +#define MOUSEKEY_MOVE_DELTA 5 +#define MOUSEKEY_INITIAL_SPEED 1 +#define MOUSEKEY_DECELERATED_SPEED 10 +#define MOUSEKEY_BASE_SPEED 1200 +#define MOUSEKEY_ACCELERATED_SPEED 4800 + +#ifdef RGB_MATRIX_ENABLE +// # define RGB_DISABLE_TIMEOUT 300000 // number of milliseconds to wait until disabling effects +// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# 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) +# 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) +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. +# define RGB_MATRIX_HUE_STEP 8 +# define RGB_MATRIX_SAT_STEP 8 +# define RGB_MATRIX_VAL_STEP 8 +# define RGB_MATRIX_SPD_STEP 10 + +// Enable animations +// # define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue speed is hue for secondary hue +// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom speed controls how much gradient changes +// # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right speed controls how much gradient changes +// # define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation +// # define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right +// # define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right +// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation +// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness +// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation +// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +// # define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient +// # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right +// # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom +// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in +// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in +// # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right +// # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard +// # define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard +// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard +// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard +// # define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue +// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation +// # define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time then shifts back +// # define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right then back to the left +# define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right +// # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Required for the following two effects +// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! +// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation +// # define RGB_MATRIX_KEYPRESSES // reacts to keypresses, required for the remaining effects +// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue pulses keys hit to shifted hue then fades to current hue +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out +// # define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out +// # define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out +#endif + +// Features I don't want, remove to save space +// #define NO_ACTION_ONESHOT // Used by caps word +#define NO_ACTION_FUNCTION +#define NO_ACTION_MACRO +#define NO_USB_STARTUP_CHECK diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.c b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.c new file mode 100644 index 000000000000..ee295c730508 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.c @@ -0,0 +1,76 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// For full documentation, see +// https://getreuer.info/posts/keyboards/caps-word + +#include "caps_word.h" +bool caps_word_enabled = false; + +bool process_caps_word(uint16_t keycode, keyrecord_t* record) { + static bool shifted = false; + + if (!caps_word_enabled) { + // Pressing both shift keys at the same time enables caps word. + if (((get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT) + == MOD_MASK_SHIFT) { + clear_mods(); + clear_oneshot_mods(); + shifted = false; + caps_word_enabled = true; + return false; + } + return true; + } + + if (!record->event.pressed) { return true; } + + if (!((get_mods() | get_oneshot_mods()) & ~MOD_MASK_SHIFT)) { + switch (keycode) { + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: + // Earlier return if this has not been considered tapped yet. + if (record->tap.count == 0) { return true; } + // Get the base tapping keycode of a mod- or layer-tap key. + keycode &= 0xff; + } + + switch (keycode) { + // Letter keys should be shifted. + case KC_A ... KC_Z: + if (!shifted) { register_code(KC_LSFT); } + shifted = true; + return true; + + // Keycodes that continue caps word but shouldn't get shifted. + case KC_1 ... KC_0: + case KC_BSPC: + case KC_MINS: + case KC_UNDS: + if (shifted) { unregister_code(KC_LSFT); } + shifted = false; + return true; + + // Any other keycode disables caps word. + } + } + + // Disable caps word. + caps_word_enabled = false; + if (shifted) { unregister_code(KC_LSFT); } + shifted = false; + return true; +} + diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.h b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.h new file mode 100644 index 000000000000..a609a325443b --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.h @@ -0,0 +1,36 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// Caps Word, activated by pressing both shift keys at the same time. +// +// This library implements "Caps Word", which is like conventional Caps Lock, +// but automatically disables itself at the end of the word. This is useful for +// typing all-caps identifiers like `MOD_MASK_ALT`. +// +// Caps Word is activated by pressing the left and right shift keys at the same +// time. This way you don't need a dedicated key for using Caps Word. I've +// tested that this works as expected with one-shot mods and Space Cadet Shift. +// If your shift keys are mod-taps, activate Caps Word by holding both shift +// mod-tap keys until the tapping term, release them, then begin typing. +// +// For full documentation, see +// https://getreuer.info/posts/keyboards/caps-word + +#pragma once + +#include QMK_KEYBOARD_H + +bool process_caps_word(uint16_t keycode, keyrecord_t* record); +extern bool caps_word_enabled; diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c new file mode 100644 index 000000000000..b403c2ce3b25 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c @@ -0,0 +1,385 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> +Copyright 2021 @dlford + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H +#include "features/caps_word.h" + +// Layers +enum layers { + _QWERTY = 0, + _COLEMAK, + _NAVIGATION, + _SPECIAL, + _MOUSE, +}; + +static uint16_t default_animation = RGB_MATRIX_CYCLE_SPIRAL; +static int default_speed = 50; +static uint16_t secondary_animation = RGB_MATRIX_HUE_WAVE; +static int secondary_speed = 150; +static bool is_macro_recording = false; + +// Init +void keyboard_post_init_user(void) { + rgb_matrix_sethsv_noeeprom(HSV_PURPLE); + rgb_matrix_mode_noeeprom(default_animation); + rgb_matrix_set_speed_noeeprom(default_speed); +} + +// Permissive hold per key +bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LT(3, KC_SPC): + return true; // Enable permissive hold + case LT(2, KC_TAB): + return true; + default: + return false; // Disable permissive hold + } +} + +// Tapping force hold per key +bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LT(3, KC_SPC): + return true; // Enable force hold + case LT(2, KC_TAB): + return true; + default: + return false; // Disable force hold + } +} + +// Tapping term per key +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case C_S_T(KC_E): + case C_S_T(KC_I): + return 215; + default: + return 190; + } +} + +// RGB timeout +#define RGB_CUSTOM_TIMEOUT 5 // in minutes +static uint16_t idle_timer = 0; +static uint8_t halfmin_counter = 0; +static bool led_on = true; +void matrix_scan_user(void) { + if (is_keyboard_master()) { + // idle_timer needs to be set one time + if (idle_timer == 0) idle_timer = timer_read(); + + if (led_on && timer_elapsed(idle_timer) > 30000) { + halfmin_counter++; + idle_timer = timer_read(); + } + + if (led_on && halfmin_counter >= RGB_CUSTOM_TIMEOUT * 2) { + rgb_matrix_disable_noeeprom(); + led_on = false; + halfmin_counter = 0; + } + } +} + +// Macros +enum macro_events { + M_KEYMAP = SAFE_RANGE, + M_COMM, + M_DOT, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + // RGB resume + if (is_keyboard_master()) { + if (record->event.pressed) { + if (led_on == false) { + rgb_matrix_enable_noeeprom(); + led_on = true; + } + idle_timer = timer_read(); + halfmin_counter = 0; + } + } + + // Caps word + if (!process_caps_word(keycode, record)) { return false; } + + // Macros + const uint8_t mods = get_mods(); + static uint8_t backstepCounter = 0; + static bool keyDown = false; + switch (keycode) { + case M_KEYMAP: + if (record->event.pressed) { + SEND_STRING("https://raw.githubusercontent.com/dlford/qmk_firmware/master/keyboards/crkbd/keymaps/dlford/legends.svg"); + } + return false; + case M_COMM: + if (record->event.pressed) { + if ((mods & MOD_BIT(KC_LCTL)) && (mods & MOD_BIT(KC_LSFT) && (mods & MOD_BIT(KC_LALT)))) { + backstepCounter = 1; + clear_mods(); + SEND_STRING("<>"); + } else if ((mods & MOD_BIT(KC_LCTL)) && (mods & MOD_BIT(KC_LALT))) { + backstepCounter = 1; + clear_mods(); + SEND_STRING("()"); + } else if ((mods & MOD_BIT(KC_LCTL)) && (mods & MOD_BIT(KC_LSFT))) { + backstepCounter = 2; + clear_mods(); + SEND_STRING("{};"); + } else if (mods & MOD_BIT(KC_LCTL)) { + backstepCounter = 1; + clear_mods(); + SEND_STRING("{}"); + } else if ((mods & MOD_BIT(KC_LALT)) && (mods & MOD_BIT(KC_LSFT))) { + backstepCounter = 2; + clear_mods(); + SEND_STRING("[];"); + } else if (mods & MOD_BIT(KC_LALT)) { + backstepCounter = 1; + clear_mods(); + SEND_STRING("[]"); + } else { + keyDown = true; + register_code(KC_COMM); + return true; + } + if (backstepCounter) { + while (backstepCounter > 0) { + tap_code(KC_LEFT); + backstepCounter--; + } + set_mods(mods); + } + } else { + if (keyDown) { + unregister_code(KC_COMM); + keyDown = false; + return true; + } + } + return false; + case M_DOT: + if (record->event.pressed) { + if (mods & MOD_BIT(KC_LCTL)) { + clear_mods(); + SEND_STRING("=>"); + } else if (mods & MOD_BIT(KC_LALT)) { + clear_mods(); + SEND_STRING("->"); + } else { + keyDown = true; + register_code(KC_DOT); + return true; + } + } else { + if (keyDown) { + unregister_code(KC_DOT); + keyDown = false; + return true; + } + } + set_mods(mods); + return false; + } + + return true; +} + +// RGB Layers (Enable animations in config.h) +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case _SPECIAL: + rgb_matrix_sethsv_noeeprom(HSV_ORANGE); + rgb_matrix_set_speed_noeeprom(secondary_speed); + rgb_matrix_mode_noeeprom(secondary_animation); + break; + case _NAVIGATION: + rgb_matrix_sethsv_noeeprom(HSV_BLUE); + rgb_matrix_set_speed_noeeprom(secondary_speed); + rgb_matrix_mode_noeeprom(secondary_animation); + break; + case _MOUSE: + rgb_matrix_sethsv_noeeprom(HSV_GREEN); + rgb_matrix_set_speed_noeeprom(secondary_speed); + rgb_matrix_mode_noeeprom(secondary_animation); + break; + default: + rgb_matrix_sethsv_noeeprom(HSV_PURPLE); + rgb_matrix_set_speed_noeeprom(default_speed); + rgb_matrix_mode_noeeprom(default_animation); + break; + } + return state; +} + +// Dynamic Macro Recording Backlight +void dynamic_macro_record_start_user(void) { + is_macro_recording = true; +} + +void dynamic_macro_record_end_user(int8_t direction) { + is_macro_recording = false; +} + +// Indicators +void rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock || caps_word_enabled) { + // Left master + rgb_matrix_set_color(3, RGB_RED); + // Right master + rgb_matrix_set_color(21, RGB_RED); + } + if (is_macro_recording) { + // Left master + rgb_matrix_set_color(4, RGB_ORANGE); + // Right master + rgb_matrix_set_color(22, RGB_ORANGE); + } + if (default_layer_state - 1 == _COLEMAK) { + // Left master + rgb_matrix_set_color(5, RGB_GREEN); + // Right master + rgb_matrix_set_color(23, RGB_GREEN); + } +} + +// Quantum keys / Abbreviations +enum custom_keycodes { + VVV = KC_TRNS, + XXX = KC_NO, + CSA_Q = MEH_T(KC_Q), + CSA_F1 = MEH_T(KC_F1), + CSA_1 = MEH_T(KC_1), + CA_W = LCA_T(KC_W), + CA_F2 = LCA_T(KC_F2), + CA_2 = LCA_T(KC_2), + CS_E = C_S_T(KC_E), + CS_F = C_S_T(KC_F), + CS_I = C_S_T(KC_I), + CS_U = C_S_T(KC_U), + CS_F3 = C_S_T(KC_F3), + CS_3 = C_S_T(KC_3), + CS_F8 = C_S_T(KC_F8), + CS_8 = C_S_T(KC_8), + CA_O = LCA_T(KC_O), + CA_Y = LCA_T(KC_Y), + CA_F9 = LCA_T(KC_F9), + CA_9 = LCA_T(KC_9), + CSA_P = MEH_T(KC_P), + CSA_SCLN = MEH_T(KC_SCLN), + CSA_F10 = MEH_T(KC_F10), + CSA_0 = MEH_T(KC_0), + LGUI_A = LGUI_T(KC_A), + LGUI_FIND = LGUI_T(KC_FIND), + LGUI_GRV = LGUI_T(KC_GRV), + LALT_S = LALT_T(KC_S), + LALT_R = LALT_T(KC_R), + LALT_HOME = LALT_T(KC_HOME), + LCTL_D = LCTL_T(KC_D), + LCTL_S = LCTL_T(KC_S), + LCTL_PGUP = LCTL_T(KC_PGUP), + LCTL_LBRC = LCTL_T(KC_LBRC), + LSFT_F = LSFT_T(KC_F), + _LSFT_T = LSFT_T(KC_T), + LSFT_PGDN = LSFT_T(KC_PGDN), + LSFT_RBRC = LSFT_T(KC_RBRC), + RSFT_J = RSFT_T(KC_J), + RSFT_N = RSFT_T(KC_N), + RSFT_DOWN = RSFT_T(KC_DOWN), + RSFT_MINS = RSFT_T(KC_MINS), + RCTL_K = RCTL_T(KC_K), + RCTL_E = RCTL_T(KC_E), + RCTL_UP = RCTL_T(KC_UP), + RCTL_EQL = RCTL_T(KC_EQL), + RALT_L = RALT_T(KC_L), + RALT_I = RALT_T(KC_I), + RALT_RGHT = RALT_T(KC_RGHT), + RALT_BSLS = RALT_T(KC_BSLS), + RGUI_SCLN = RGUI_T(KC_SCLN), + RGUI_O = RGUI_T(KC_O), + RGUI_F11 = RGUI_T(KC_F11), + RGUI_QUOT = RGUI_T(KC_QUOT), + LT3_SPC = LT(3,KC_SPC), + LT2_TAB = LT(2,KC_TAB), + DF_QWERTY = DF(0), + DF_COLEMAK = DF(1), +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_split_3x5_3( + //|--------------------------------------------| |--------------------------------------------| + CSA_Q, CA_W, CS_E, KC_R, KC_T, KC_Y, KC_U, CS_I, CA_O, CSA_P, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + LGUI_A, LALT_S, LCTL_D, LSFT_F, KC_G, KC_H, RSFT_J, RCTL_K, RALT_L, RGUI_SCLN, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, M_COMM, M_DOT, KC_SLSH, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_ESC, LT3_SPC, KC_BSPC, KC_DEL, LT2_TAB, KC_ENT + // |--------+--------+--------| |--------+--------+--------| + ), + [_COLEMAK] = LAYOUT_split_3x5_3( + //|--------------------------------------------| |--------------------------------------------| + CSA_Q, CA_W, CS_F, KC_P, KC_G, KC_J, KC_L, CS_U, CA_Y, CSA_SCLN, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + LGUI_A, LALT_R, LCTL_S, _LSFT_T, KC_D, KC_H, RSFT_N, RCTL_E, RALT_I, RGUI_O, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, M_COMM, M_DOT, KC_SLSH, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_ESC, LT3_SPC, KC_BSPC, KC_DEL, LT2_TAB, KC_ENT + // |--------+--------+--------| |--------+--------+--------| + ), + [_NAVIGATION] = LAYOUT_split_3x5_3( + //|--------------------------------------------| |--------------------------------------------| + CSA_F1, CA_F2, CS_F3, KC_F4, KC_F5, KC_F6, KC_F7, CS_F8, CA_F9, CSA_F10, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + LGUI_FIND,LALT_HOME,LCTL_PGUP,LSFT_PGDN,KC_END, KC_LEFT,RSFT_DOWN,RCTL_UP,RALT_RGHT,RGUI_F11, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + DF_QWERTY,DF_COLEMAK,KC_VOLD, KC_VOLU, RESET, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, KC_F12, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + VVV, TG(4), VVV, VVV, VVV, VVV + // |--------+--------+--------| |--------+--------+--------| + ), + [_SPECIAL] = LAYOUT_split_3x5_3( + //|--------------------------------------------| |--------------------------------------------| + CSA_1, CA_2, CS_3, KC_4, KC_5, KC_6, KC_7, CS_8, CA_9, CSA_0, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + LGUI_GRV,KC_LALT,LCTL_LBRC,LSFT_RBRC,KC_LPRN, KC_RPRN,RSFT_MINS,RCTL_EQL,RALT_BSLS,RGUI_QUOT, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_TILD, KC_CAPS, KC_LCBR, KC_RCBR,TG(_MOUSE), EEP_RST, KC_UNDS, KC_PLUS, KC_PIPE, KC_DQUO, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + VVV, VVV, VVV, VVV, TG(4), VVV + // |--------+--------+--------| |--------+--------+--------| + ), + [_MOUSE] = LAYOUT_split_3x5_3( + //|--------------------------------------------| |--------------------------------------------| + KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, DM_REC1, KC_WSTP, KC_ACL2, KC_ACL1, KC_ACL0, KC_WFWD, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, DM_PLY1, KC_WREF, KC_BTN1, KC_BTN2, KC_BTN3, KC_WBAK, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + M_KEYMAP,KC_BTN3, KC_BTN2, KC_BTN1, XXX, XXX, XXX, XXX, XXX, XXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + VVV, TG(4), VVV, VVV, TG(4), VVV + // |--------+--------+--------| |--------+--------+--------| + ), +}; diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk new file mode 100644 index 000000000000..f40ace960604 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk @@ -0,0 +1,17 @@ +# Includes +SRC += features/caps_word.c + +# Build Options +# change yes to no to disable +# +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +DYNAMIC_MACRO_ENABLE = yes # Create macros on the fly +RGB_MATRIX_DRIVER = WS2812 +INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc. +# TAP_DANCE_ENABLE = yes # Send different keycodes if tapped multiple times +# KEY_OVERRIDE_ENABLE = yes # Override key combos +# COMBO_ENABLE = yes # Custom key combos + +LTO_ENABLE = yes +RGBLIGHT_SUPPORTED = yes +RGB_MATRIX_SUPPORTED = yes diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk b/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk new file mode 100644 index 000000000000..12812870e37d --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk @@ -0,0 +1,25 @@ +# Build Options +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = yes # Audio output + +RGB_MATRIX_ENABLE = yes # Enable WS2812 RGB matrix +RGB_MATRIX_DRIVER = WS2812 +SPLIT_KEYBOARD = yes + +RGBLIGHT_SUPPORTED = yes +RGB_MATRIX_SUPPORTED = yes + +LAYOUTS = split_3x5_3 diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h index d304814d7d83..c339370f8b4f 100644 --- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h +++ b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h @@ -22,6 +22,8 @@ # include "6x6_kinesis.h" #elif defined(KEYBOARD_handwired_dactyl_manuform_6x7) # include "6x7.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_3x5_3) +# include "3x5_3.h" #elif defined(KEYBOARD_handwired_dactyl_manuform_dmote_62key) # include "62key.h" #endif diff --git a/keyboards/handwired/dactyl_manuform/readme.md b/keyboards/handwired/dactyl_manuform/readme.md index da4ac2ad6855..560562f54429 100644 --- a/keyboards/handwired/dactyl_manuform/readme.md +++ b/keyboards/handwired/dactyl_manuform/readme.md @@ -1,9 +1,8 @@ -Dactyl Manuform (4x5, 5x6, 5x7, 6x6, 6x7) -====== +# Dactyl Manuform (4x5, 5x6, 5x7, 6x6, 6x7) + the [Dactyl-Manuform](https://github.com/tshort/dactyl-keyboard) is a split curved keyboard based on the design of [adereth dactyl](https://github.com/adereth/dactyl-keyboard) and thumb cluster design of the [manuform](https://geekhack.org/index.php?topic=46015.0) keyboard, the hardware is similar to the let's split keyboard. all information needed for making one is in the first link. ![Imgur](https://i.imgur.com/7y0Vbyd.jpg) - ## First Time Setup Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using: @@ -15,6 +14,7 @@ $ make handwired/dactyl_manuform/YOUR_LAYOUT:YOUR_KEYMAP_NAME ``` example: + ``` $ make handwired/dactyl_manuform/4x5:default ``` @@ -27,21 +27,24 @@ dactyl_manuform_YOUR_LAYOUT_YOUR_KEYMAP_NAME.hex For more information on customizing keymaps, take a look at the primary documentation for [Customizing Your Keymap](/docs/faq_keymap.md) in the main readme.md. - ## Keymaps ### [Keymaps 4x5](/keyboards/handwired/dactyl_manuform/4x5/keymaps/) #### Default + Simple QWERTY layout with 3 Layers. + #### Dvorak ### [Keymaps 5x6](/keyboards/handwired/dactyl_manuform/5x6/keymaps/) #### Default + Just a copy of the Impstyle keymap. Feel free to adjust it. #### Impstyle + A simple QWERTY keymap with 3 Layers. Both sides are connected via serial and the Left ist the master. ### [Keymaps 5x6_5](/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/) @@ -56,32 +59,43 @@ Similar to Default but adds support for the [Via](https://www.caniusevia.com/) k some keys to accomodate that constraint. ### [Keymaps 5x7 aka almost Ergodox](/keyboards/handwired/dactyl_manuform/5x7/keymaps/) + #### Default + Keymap of Loligagger from geekhack. ### [Keymaps 6x6](/keyboards/handwired/dactyl_manuform/6x6/keymaps/) #### Default + Simple QWERTY layout with 3 Layers. ### [Keymaps 6x7](/keyboards/handwired/dactyl_manuform/6x7/keymaps/) #### Default + Simple QWERTY layout with 3 Layers. +### [Keymaps 3x5_3](/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/) + +#### Dlford + +QWERTY/Colemak layout with per key RGB and other features + ## Required Hardware Apart from diodes and key switches for the keyboard matrix in each half, you will need: -* 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each. -* 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable +- 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each. +- 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable Alternatively, you can use any sort of cable and socket that has at least 3 wires. If you want to use I2C to communicate between halves, you will need a cable with at least 4 wires and 2x 4.7kΩ pull-up resistors ## Optional Hardware + A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`. ## Wiring @@ -114,7 +128,6 @@ the keymaps in here are for the 4x5 layout of the keyboard only. To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing) - ## Choosing which board to plug the USB cable into (choosing Master) Because the two boards are identical, the firmware has logic to differentiate the left and right board. @@ -132,6 +145,7 @@ If you always plug the usb cable into the left board, nothing extra is needed as ### Setting the right hand as master If you always plug the usb cable into the right board, add an extra flag to your `config.h` + ``` #define MASTER_RIGHT ``` @@ -146,6 +160,7 @@ half is left handed or right handed. This makes it so that the same firmware file will run on both hands instead of having to flash left and right handed versions of the firmware to each half. To flash the EEPROM file for the left half run: + ``` make handwired/dactyl_promicro:default:dfu-split-left make handwired/dactyl_promicro:default:dfu-split-right @@ -159,9 +174,7 @@ layout and the right half with a Colemak layout using bootmagic's default layout Then if you connect the left half to a computer by USB the keyboard will use QWERTY and Colemak when the right half is connected. - -Notes on Using Pro Micro 3.3V ------------------------------ +## Notes on Using Pro Micro 3.3V Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects the frequency on the 3.3V board. From 802095097616abfa9ef9e91419fbbda2dcdf65e1 Mon Sep 17 00:00:00 2001 From: Daniel Weeks <29613475+xanimos@users.noreply.github.com> Date: Fri, 22 Apr 2022 01:19:06 -0700 Subject: [PATCH 0600/1832] Added massdrop/ctrl:xanimos keymap (#16187) Co-authored-by: xanimos --- .../massdrop/ctrl/keymaps/xanimos/config.h | 132 ++++++ .../ctrl/keymaps/xanimos/config_led.c | 97 +++++ .../massdrop/ctrl/keymaps/xanimos/keymap.c | 410 ++++++++++++++++++ .../massdrop/ctrl/keymaps/xanimos/keymap.h | 129 ++++++ .../massdrop/ctrl/keymaps/xanimos/readme.md | 200 +++++++++ .../massdrop/ctrl/keymaps/xanimos/rules.mk | 14 + 6 files changed, 982 insertions(+) create mode 100644 keyboards/massdrop/ctrl/keymaps/xanimos/config.h create mode 100644 keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c create mode 100644 keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c create mode 100644 keyboards/massdrop/ctrl/keymaps/xanimos/keymap.h create mode 100644 keyboards/massdrop/ctrl/keymaps/xanimos/readme.md create mode 100644 keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h new file mode 100644 index 000000000000..37987340cee8 --- /dev/null +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h @@ -0,0 +1,132 @@ +/* Copyright 2022 Daniel Weeks (@xanimos) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + + +#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT) +#define MODS_CTRL (get_mods() & MOD_MASK_CTRL) +#define MODS_ALT (get_mods() & MOD_MASK_ALT) + +// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) // Key combination that allows the use of magic commands (useful for debugging) + +// #define NO_DEBUG // Disable debugging +// #define NO_PRINT // Disable printing/debugging using hid_listen +// #define NO_ACTION_LAYER // Disable layers +// #define NO_ACTION_TAPPING // Disable tap dance and other tapping features +// #define NO_ACTION_ONESHOT // Disable one-shot modifiers +// #define NO_ACTION_MACRO // Disable old style macro handling: MACRO() & action_get_macro +#define TERMINAL_HELP +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 10 +#define MOUSEKEY_WHEEL_DELAY 0 +#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots. +// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. +// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases) +// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap +// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state +#define TAPPING_TERM 200 // How long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too +// #define TAPPING_TERM_PER_KEY // Enables handling for per key TAPPING_TERM settings +// #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release +#define TAPPING_TOGGLE 2 // How many taps before triggering the toggle +// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details +// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details +// #define TAPPING_FORCE_HOLD // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) +// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. +// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall +// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. +// #define ONESHOT_TIMEOUT 300 // How long before oneshot times out +// #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered +// #define COMBO_COUNT 2 // Set this to the number of combos that you're using in the Combo feature. +// #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined. +// #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. +// #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPSLOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher. + +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES // reacts to keypresses +// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_ALPHAS_MODS // Sets the default mode, if none has been set +// #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue +// #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation +// #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness) +// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #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) +// #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) +// #define RGBLIGHT_ANIMATIONS // Run RGB animations +// #define RGBLIGHT_ANIMATIONS // Enable all additional animation modes. +// #define RGBLIGHT_EFFECT_ALTERNATING // Enable alternating animation mode. +#define RGBLIGHT_EFFECT_BREATHING // Enable breathing animation mode. +// #define RGBLIGHT_EFFECT_CHRISTMAS // Enable christmas animation mode. +#define RGBLIGHT_EFFECT_KNIGHT // Enable knight animation mode. +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD // Enable rainbow mood animation mode. +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL // Enable rainbow swirl animation mode. +// #define RGBLIGHT_EFFECT_RGB_TEST // Enable RGB test animation mode. +#define RGBLIGHT_EFFECT_SNAKE // Enable snake animation mode. +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT // Enable static gradient mode. + +// #define RGBLIGHT_EFFECT_BREATHE_CENTER // If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7 +// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // The maximum brightness for the breathing mode. Valid values are 1 to 255 +// #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 1000 // How long to wait between light changes for the "Christmas" animation, in milliseconds +// #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 2 // The number of LEDs to group the red/green colors by for the "Christmas" animation +#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLED_NUM // The number of LEDs to have the "Knight" animation travel +#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // The number of LEDs to light up for the "Knight" animation +#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0 // The number of LEDs to start the "Knight" animation from the start of the strip by +// #define RGBLIGHT_RAINBOW_SWIRL_RANGE 255 // Range adjustment for the rainbow swirl effect to get different swirls +#define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // The number of LEDs to light up for the "Snake" animation + +// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around. +// #undef ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support +// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue +// #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes +#undef ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation +#undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right +#undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right +#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation +#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness +#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation +#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +// #undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient +#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right +#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom +#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in +#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in +// #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right +#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard +#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard +#undef ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard +#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard +#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard +// #undef ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue +// #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation +// =================================================== Requires RGB_MATRIX_FRAMEBUFFER_EFFECTS ============================================================= +// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! +// #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation +// =================================================== RGB_MATRIX_KEYPRESSES OR RGB_MATRIX_KEYRELEASES ===================================================== +// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out +// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out +// #undef ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out +#undef ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out +// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out +#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c b/keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c new file mode 100644 index 000000000000..650b31477cb6 --- /dev/null +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c @@ -0,0 +1,97 @@ +/* Copyright 2022 Daniel Weeks (@xanimos) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifdef RGB_MATRIX_ENABLE +#include "ctrl.h" + +#include "md_rgb_matrix.h" +#include "rgb_matrix.h" +#include "config_led.h" + +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7 }, + { 16, 17, 18, 19, 20, 21, 22, 23 }, + { 33, 34, 35, 36, 37, 38, 39, 40 }, + { 50, 51, 52, 53, 54, 55, 56, 57 }, + { 63, 64, 65, 66, 67, 68, 69, 70 }, + { 76, 77, 78, 79, 80, 81, 82, 83 }, + { 8, 9, 10, 11, 12, 13, 14, 15 }, + { 24, 25, 26, 27, 28, 29, 30, 31 }, + { 41, 42, 43, 44, 45, 46, 47, 48 }, + { 58, 59, 60, 61, 62, 75, 49, 32 }, + { 71, 72, 73, 74, 84, 85, 86, NO_LED } +}, { + // KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS + { 7, 5 }, { 31, 5 }, { 43, 5 }, { 55, 5 }, { 67, 5 }, { 85, 5 }, { 97, 5 }, { 109, 5 }, + { 121, 5 }, { 139, 5 }, { 151, 5 }, { 163, 5 }, { 175, 5 }, { 193, 5 }, { 205, 5 }, { 217, 5 }, + // KC_GRV, 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_INS, KC_HOME, KC_PGUP + { 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 }, + { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 }, + { 217, 20 }, + // 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, KC_PGDN + { 10, 30 }, { 25, 30 }, { 37, 30 }, { 49, 30 }, { 61, 30 }, { 73, 30 }, { 85, 30 }, { 97, 30 }, + { 109, 30 }, { 121, 30 }, { 133, 30 }, { 145, 30 }, { 157, 30 }, { 172, 30 }, { 193, 30 }, { 205, 30 }, + { 217, 30 }, + // 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 + { 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 }, + { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 }, + // 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 + { 14, 49 }, { 34, 49 }, { 46, 49 }, { 58, 49 }, { 70, 49 }, { 82, 49 }, { 94, 49 }, { 106, 49 }, + { 118, 49 }, { 130, 49 }, { 142, 49 }, { 165, 49 }, { 205, 49 }, + // KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + { 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 }, + { 193, 59 }, { 205, 59 }, { 217, 59 }, + // Underglow / Border + { 224, 64 }, { 204, 64 }, { 186, 64 }, { 167, 64 }, { 149, 64 }, { 130, 64 }, { 112, 64 }, { 94, 64 }, + { 75, 64 }, { 57, 64 }, { 38, 64 }, { 20, 64 }, { 0, 64 }, { 0, 47 }, { 0, 32 }, { 0, 17 }, + { 0, 0 }, { 20, 0 }, { 38, 0 }, { 57, 0 }, { 75, 0 }, { 94, 0 }, { 112, 0 }, { 130, 0 }, + { 149, 0 }, { 167, 0 }, { 186, 0 }, { 204, 0 }, { 224, 0 }, { 224, 17 }, { 224, 32 }, { 224, 47 } +}, { + // KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS + 1, 4, 4, 4, 4, 1, 1, 1, + 1, 4, 4, 4, 4, 1, 1, 1, + // KC_GRV, 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_INS, KC_HOME, KC_PGUP + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 1, 1, 1, + 1, + // 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, KC_PGDN + 1, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 1, 1, + 1, + // 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 + 1, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 1, + // 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 + 1, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 1, + // KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + 1, 1, 1, 4, 1, 1, 1, 1, + 1, 1, 1, + // Underglow / Border + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2 +} }; + + +#ifdef USB_LED_INDICATOR_ENABLE +void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + md_rgb_matrix_indicators_advanced(led_min, led_max); +} +#endif // USB_LED_INDICATOR_ENABLE + +#endif diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c new file mode 100644 index 000000000000..c7bc285eda92 --- /dev/null +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c @@ -0,0 +1,410 @@ +/* Copyright 2022 Daniel Weeks (@xanimos) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "keymap.h" + +static uint16_t idle_timer; // Idle LED timeout timer +static uint8_t idle_second_counter; // Idle LED seconds counter, counts seconds not milliseconds +static uint8_t key_event_counter; // This counter is used to check if any keys are being held + +static const char * sendstring_commands[] = { + "git init", + "git clone ", + "git add ", + "git diff ", + "git reset --soft ", + "git branch --list", + "git checkout ", + "git remote add ", + "git fetch ", + "git pull", + "git pull upstream ", + "git push", + "git push -u origin ", + "git push --force-with-lease", + "git commit ", + "git commit -m \": [TFS-]\"", + "git status", + "git log", +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_KL] = LAYOUT( + // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK,RCS(KC_M), + // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP + KC_GRV , 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_INS , KC_HOME, KC_PGUP, + // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN + 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 , KC_PGDN, + // CAPS A S D F G H J K L ; ' ENTER + 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 , + // SHIFT Z X C V B N M , . / RSHIFT UP + KC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC, KC_UP , + // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT + KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, TD(TD_FN_SWITCH), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FL] = LAYOUT( + // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE + _______, ROUT_TG, ROUT_FM, ROUT_VD, ROUT_VI, _______, _______, _______, _______, _______, _______, KC_WAKE, KC_SLEP, KC_PAUS, _______, KC_MUTE, + // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP + RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_VOLU, + // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN + _______, RGB_MOD, RGB_SPI, RGB_VAI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, + // CAPS A S D F G H J K L ; ' ENTER + _______,RGB_RMOD, RGB_SPD, RGB_VAD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + // SHIFT Z X C V B N M , . / RSHIFT UP + _______, _______, _______,COPY_ALL, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, TOG_NPD, KC_BRIU, + // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______ + ), + [_GL] = LAYOUT( + // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP + G_INIT, G_CLONE, G_REMTE, G_RESET, G_PSFWL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN + _______, G_PUPST, G_PULL, G_PSORG, G_PUSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // CAPS A S D F G H J K L ; ' ENTER + _______, G_ADD, G_STAT, G_DIFF, G_FETCH, _______, _______, _______, _______, _______, _______, _______, _______, + // SHIFT Z X C V B N M , . / RSHIFT UP + _______, G_LOG, G_CHECK, G_COMM, G_COMSG, G_BRANH, _______, _______, _______, _______, _______, _______, _______, + // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_NUMPAD] = LAYOUT( + // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE + TOG_NPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN + _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, _______, _______, _______, + // CAPS A S D F G H J K L ; ' ENTER + _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, + // SHIFT Z X C V B N M , . / RSHIFT UP + _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, _______, _______, _______, + // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT + _______, _______, _______, KC_P0, _______, _______, _______, _______, _______, _______, _______ + ), + /* + [X] = LAYOUT( + // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // CAPS A S D F G H J K L ; ' ENTER + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // SHIFT Z X C V B N M , . / RSHIFT UP + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + */ +}; + +#define __OFF__ {0, 0, 0} + +const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { + [_FL] = { + // These remain on base layer rgb to see adjustments ;) + // |----------------------------------| + // _______, ROUT_TG, ROUT_FM, ROUT_VD, ROUT_VI, _______, _______, _______, _______, _______, _______, KC_WAKE, KC_SLEP, KC_PAUS, _______, KC_MUTE, + __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, YELLOW, YELLOW, ORANGE, __OFF__, GOLD, + // RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_VOLU, + GOLD, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, RED, SPRING, ORANGE, + // _______, RGB_MOD, RGB_SPI, RGB_VAI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, + __OFF__, ORANGE, GREEN, AZURE, GOLDEN, MAGENT, __OFF__, AZURE, AZURE, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, TEAL, TEAL, ORANGE, + // _______,RGB_RMOD, RGB_SPD, RGB_VAD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + __OFF__, ORANGE, GREEN, AZURE, GOLDEN, MAGENT, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, + // _______, _______, _______,COPY_ALL, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, TO(_NUMPAD), KC_BRIU, + __OFF__, __OFF__, __OFF__, CORAL, __OFF__, RED, TURQ, __OFF__, __OFF__, __OFF__, __OFF__, CYAN, SPRING, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______ + __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, SPRING, __OFF__ + }, + [_GL] = { + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, + // G_INIT, G_CLONE, G_REMTE, G_RESET, G_PSFWL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + AZURE, CHART, CHART, RED, CORAL, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, + // _______, G_PUPST, G_PULL, G_PSORG, G_PUSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + __OFF__, BLUE, PURPLE, MAGENT, PINK, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, + // _______, G_ADD, G_STAT, G_DIFF, G_FETCH, _______, _______, _______, _______, _______, _______, _______, _______, + __OFF__, SPRING, GREEN, TURQ, TEAL, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, + // _______, G_LOG, G_CHECK, G_COMM, G_COMSG, G_BRANH, _______, _______, _______, _______, _______, _______, _______, + __OFF__, CYAN, GOLDEN, YELLOW, GOLD, CHART, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__ + }, + [_NUMPAD] = { + // TO(_KL), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RED, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, + // _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, _______, _______, _______, + __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, GREEN, GREEN, GREEN, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, + // _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, + __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, TURQ, TURQ, TURQ, __OFF__, __OFF__, __OFF__, __OFF__, + // _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, _______, _______, + __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, CYAN, CYAN, CYAN, AZURE, __OFF__, __OFF__, __OFF__, __OFF__, + // _______, _______, _______, KC_P0, _______, _______, _______, _______, _______, _______, _______ + __OFF__, __OFF__, __OFF__, CYAN, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__ + }, +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + // Enable or disable debugging + debug_enable = false; + debug_matrix = false; + debug_keyboard = false; + debug_mouse = false; + + idle_second_counter = 0; // Counter for number of seconds keyboard has been idle. + key_event_counter = 0; // Counter to determine if keys are being held, neutral at 0. + rgb_time_out_seconds = RGB_DEFAULT_TIME_OUT; // RGB timeout initialized to its default configure in keymap.h + rgb_time_out_enable = false; // Disable RGB timeout by default. Enable using toggle key. + rgb_time_out_user_value = false; // Has to have the same initial value as rgb_time_out_enable. + rgb_enabled_flag = true; // Initially, keyboard RGB is enabled. Change to false config.h initializes RGB disabled. + rgb_time_out_fast_mode_enabled = false; // RGB timeout fast mode disabled initially. + rgb_time_out_saved_flag = rgb_matrix_get_flags(); // Save RGB matrix state for when keyboard comes back from ide. +}; + +void keyboard_post_init_user(void) { + rgb_matrix_enable(); +} + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + if(rgb_time_out_enable && rgb_enabled_flag) { + // If the key event counter is not zero then some key was pressed down but not released, thus reset the timeout counter. + if (key_event_counter) { + idle_second_counter = 0; + } else if (timer_elapsed(idle_timer) > MILLISECONDS_IN_SECOND) { + idle_second_counter++; + idle_timer = timer_read(); + } + + if (idle_second_counter >= rgb_time_out_seconds) { + rgb_time_out_saved_flag = rgb_matrix_get_flags(); + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_disable_noeeprom(); + rgb_enabled_flag = false; + idle_second_counter = 0; + } + } +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + static uint32_t key_timer; + + // Increment key event counter for every press and decrement for every release. + if (record->event.pressed) { + key_event_counter++; + + } else { + key_event_counter--; + } + + if (rgb_time_out_enable) { + idle_timer = timer_read(); + // Reset the seconds counter. Without this, something like press> leave x seconds> press, would be x seconds on the effective counter not 0 as it should. + idle_second_counter = 0; + if (!rgb_enabled_flag) { + rgb_matrix_enable_noeeprom(); + rgb_matrix_set_flags(rgb_time_out_saved_flag); + rgb_enabled_flag = true; + } + } + + switch (keycode) { + case MD_BOOT: + if (record->event.pressed) { + key_timer = timer_read32(); + } else { + if (timer_elapsed32(key_timer) >= 500) { + reset_keyboard(); + } + } + return false; + } + + if (record->event.pressed) { + switch (keycode) { + case RGB_TOG: + rgb_time_out_enable = rgb_time_out_user_value; + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_UNDERGLOW: { + // This line is for LED idle timer. It disables the toggle so you can turn off LED completely if you like + rgb_time_out_enable = false; + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_disable_noeeprom(); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } + return false; + // ======================================================== CUSTOM KEYCOADS BELOW ======================================================== + case COPY_ALL: + // Selects all and text and copy + SEND_STRING(SS_LCTRL("ac")); + return false; + case ROUT_TG: + // Toggle idle LED timeout on or off + rgb_time_out_enable = !rgb_time_out_enable; + rgb_time_out_user_value = rgb_time_out_enable; + return false; + case ROUT_VI: + // Increase idle LED timeout value in seconds + // Only increase if current value is lower than RGB_TIME_OUT_MAX. Don't care what value the result will be + // Modity RGB_TIME_OUT_STEP for bigger or smaller increments + if (!rgb_time_out_fast_mode_enabled && rgb_time_out_seconds <= RGB_TIME_OUT_MAX) { + rgb_time_out_seconds += RGB_TIME_OUT_STEP; + } + return false; + case ROUT_VD: + // Decrease idle LED timeout value in seconds + // Only decrease if current value is higher than minimum value and the result is larger than zero + // Modity RGB_TIME_OUT_STEP for bigger or smaller decrements + if (!rgb_time_out_fast_mode_enabled && rgb_time_out_seconds > RGB_TIME_OUT_MIN) { + rgb_time_out_seconds -= RGB_TIME_OUT_STEP; + } + return false; + case ROUT_FM: + if (rgb_time_out_fast_mode_enabled) { + rgb_time_out_seconds = rgb_time_out_saved_seconds; + } else { + rgb_time_out_saved_seconds = rgb_time_out_seconds; + rgb_time_out_seconds = RGB_FAST_MODE_TIME_OUT; + } + rgb_time_out_fast_mode_enabled = !rgb_time_out_fast_mode_enabled; + return false; + case G_INIT ... G_LOG: + send_string_with_delay(sendstring_commands[keycode - G_INIT], 5); + return false; + case TOG_NPD: + if (get_highest_layer(layer_state) != _NUMPAD) { + layer_move(_NUMPAD); + } else { + layer_move(_KL); + } + return false; + } + } + return true; +} + +void set_layer_color(int layer) { + if (layer == 0) { return; } + for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + HSV hsv = { + .h = pgm_read_byte(&ledmap[layer][i][0]), + .s = pgm_read_byte(&ledmap[layer][i][1]), + .v = pgm_read_byte(&ledmap[layer][i][2]), + }; + if (hsv.h || hsv.s || hsv.v) { + RGB rgb = hsv_to_rgb(hsv); + float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX; + rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b); + continue; + } + if(layer == _FL && i <= 4 && i >= 1) { + continue; // Leave RGB for F1-F4 of function layer to adjust RGB settings + } + + rgb_matrix_set_color(i, 0, 0, 0); + } +} + +void rgb_matrix_indicators_user(void) { + if (disable_layer_color || + rgb_matrix_get_flags() == LED_FLAG_NONE || + rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) { + return; + } + set_layer_color(get_highest_layer(layer_state)); +} + + + +td_state_t cur_dance(qk_tap_dance_state_t *state) { + if (state->pressed && !state->interrupted) { + if (state->count == 1) { return TD_SINGLE_HOLD; } + return TD_DOUBLE_HOLD; + } + return TD_UNKNOWN; +} + +static td_tap_t fn_tap_state = { + .is_press_action = true, + .state = TD_NONE +}; + +void fn_tap_finished(qk_tap_dance_state_t *state, void *user_data) { + fn_tap_state.state = cur_dance(state); + switch (fn_tap_state.state) { + case TD_SINGLE_HOLD: + // set function layer + layer_move(_FL); + break; + case TD_DOUBLE_HOLD: + // set git layer + layer_move(_GL); + break; + case TD_UNKNOWN: + register_code(KC_APP); + break; + default: + break; + } +} + +void fn_tap_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (fn_tap_state.state) { + case TD_UNKNOWN: + unregister_code(KC_APP); + break; + case TD_DOUBLE_HOLD: + case TD_SINGLE_HOLD: + // Set default layer if we didn't activate numpad layer in function + if (get_highest_layer(layer_state) != _NUMPAD) { + layer_move(_KL); + } + break; + break; + default: + break; + } + fn_tap_state.state = TD_NONE; +} + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_FN_SWITCH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, fn_tap_finished, fn_tap_reset) +}; diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.h b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.h new file mode 100644 index 000000000000..4f5238e7021b --- /dev/null +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.h @@ -0,0 +1,129 @@ +/* Copyright 2022 Daniel Weeks (@xanimos) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +#include +#include + +#define MILLISECONDS_IN_SECOND 1000 + +// These are just to make it neater to use builtin HSV values in the keymap +#define RED {HSV_RED} +#define CORAL {HSV_CORAL} +#define ORANGE {HSV_ORANGE} +#define GOLDEN {HSV_GOLDENROD} +#define GOLD {HSV_GOLD} +#define YELLOW {HSV_YELLOW} +#define CHART {HSV_CHARTREUSE} +#define GREEN {HSV_GREEN} +#define SPRING {HSV_SPRINGGREEN} +#define TURQ {HSV_TURQUOISE} +#define TEAL {HSV_TEAL} +#define CYAN {HSV_CYAN} +#define AZURE {HSV_AZURE} +#define BLUE {HSV_BLUE} +#define PURPLE {HSV_PURPLE} +#define MAGENT {HSV_MAGENTA} +#define PINK {HSV_PINK} + +//========================================================== CONFIGURABLE DEFAULTS ========================================================== +#define RGB_DEFAULT_TIME_OUT 30 +#define RGB_FAST_MODE_TIME_OUT 3 +#define RGB_TIME_OUT_MAX 600 +#define RGB_TIME_OUT_MIN 10 +#define RGB_TIME_OUT_STEP 10 + +extern rgb_config_t rgb_matrix_config; +bool disable_layer_color; + +bool rgb_enabled_flag; // Current LED state flag. If false then LED is off. +bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout. +bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode +bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable. +uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds +uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period +led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again. + +enum layout_names { + _KL=0, // Keys Layout: The main keyboard layout that has all the characters + _FL, // Function Layout: The function key activated layout with default functions and some added ones + _GL, // GIT Layout: GIT shortcuts and macros + _NUMPAD, // Numpad Layout: Adds a numpad to the keys +}; + +// Tap Dance keycodes +enum td_keycodes { + TD_FN_SWITCH = 0 +}; + +// Define a type containing as many tapdance states as you need +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_HOLD, + TD_DOUBLE_HOLD +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +// Declare your tapdance functions: + +// Function to determine the current tapdance state +td_state_t cur_dance(qk_tap_dance_state_t *state); + +// `finished` and `reset` functions for each tapdance keycode +void fn_tap_finished(qk_tap_dance_state_t *state, void *user_data); +void fn_tap_reset(qk_tap_dance_state_t *state, void *user_data); + +enum ctrl_keycodes { + MD_BOOT = SAFE_RANGE, // Restart into bootloader after hold timeout + ROUT_TG, // Timeout Toggle. Toggle idle LED time out on or off + ROUT_VI, // Timeout Value Increase. Increase idle time out before LED disabled + ROUT_VD, // Timeout Value Decrease. Decrease idle time out before LED disabled + ROUT_FM, // RGB timeout fast mode toggle + TOG_NPD, // Toggle Numpad On/Off + COPY_ALL, // Copy all text using ctrl(a+c) +}; + +enum string_macro_keycodes { + // The start of this enum should always be equal to end of ctrl_keycodes + 1 + G_INIT = COPY_ALL + 1, // git init + G_CLONE, // git clone + G_ADD, // git add + G_DIFF, // git diff + G_RESET, // git reset --soft + G_BRANH, // git branch list + G_CHECK, // git checkout + G_REMTE, // git remote add + G_FETCH, // git fetch + G_PULL, // git pull + G_PUPST, // git pull upstream + G_PUSH, // git push + G_PSORG, // git push -u origin + G_PSFWL, // git push --force-with-lease + G_COMM, // git commit + G_COMSG, // git commit -m ": [TFS-]" + G_STAT, // git status + G_LOG, // git log +}; + + + + diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/readme.md b/keyboards/massdrop/ctrl/keymaps/xanimos/readme.md new file mode 100644 index 000000000000..1ba87a97bcc3 --- /dev/null +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/readme.md @@ -0,0 +1,200 @@ +# Massdrop Ctrl Xanimos + +This keymap is the one I use on my MD CTRL, as a professional software engineer I like to make things my own. I'm also up for spreading the love. +Massdrop has had a pretty bad rap with qmk the past but recently it's not too bad once you put a little pizzazz into it. + +I started with the Endgame keymap and have re-written most of and expanded upon it. + +## Layers + +### Typing Layer + +_I physically switched around my RALT and Menu keys as my personal preference. The label is still in default location but you can see they are mapped to my liking._ + + ``` + __________ ___________________________________________ ___________________________________________ ___________________________________________ ________________________________ + | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | PRINT | SCLCK | PAUSE | + | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | KC_ESC | | KC_F1 | KC_F2 | KC_F3 | KC_F4 | | KC_F5 | KC_F6 | KC_F7 | KC_F8 | | KC_F9 | KC_F10 | KC_F11 | KC_F12 | | KC_PSCR | KC_SLCK | RCS(M) | + |__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________| + ____________________________________________________________________________________________________________________________________________________________________ ________________________________ + | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BCKSP | | INS | HOME | PGUP | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | KC_GRV | 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_INS | KC_HOME | KC_PGUP | + |__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________| |__________|__________|__________| + | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | DEL | END | PGDN | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | 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 | KC_PGDN | + |_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________| |__________|__________|__________| + | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | + | 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 | + |_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________| __________ + | SHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | | UP | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | + | KC_LSPO | KC_Z | KC_X | KC_C | KC_V | KC_B | KC_N | KC_M | KC_COMM | KC_DOT | KC_SLSH | KC_RSPC | | KC_UP | + |____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________| __________|__________|__________ + | CTRL | GUI | ALT | SPACE | RALT | MENU | RGUI | RCTRL | | LEFT | DOWN | RIGHT | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | KC_LCTRL | KC_LGUI | KC_LALT | KC_SPC | FN_SWTCH | KC_RALT | KC_RGUI | KC_RCTL | | KC_LEFT | KC_DOWN | KC_RGHT | + |_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________| |__________|__________|__________| + + ``` + +### Function Layer + + ``` + __________ ___________________________________________ ___________________________________________ ___________________________________________ ________________________________ + | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | PRINT | SCLCK | PAUSE | + | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | | | ROUT_TG | ROUT_RM | ROUT_VD | ROUT_VI | | | | | | | | KC_WAKE | KC_SLEP | | | KC_PAUS | | KC_MUTE | + |__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________| + ____________________________________________________________________________________________________________________________________________________________________ ________________________________ + | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BCKSP | | INS | HOME | PGUP | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | | | | | | | | | | | | | | | | KC_MSTP | KC_MPLY | KC_VOLU | + |__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________| |__________|__________|__________| + | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | DEL | END | PGDN | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | | RGB_MOD | RGB_SPI | RBG_VAI | RGB_HUI | | | | | | | | | | | KC_MPRV | KC_MNXT | KC_VOLD | + |_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________| |__________|__________|__________| + | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | + | | RGB_RMOD | RGB_SPD | RGB_VAD | RGB_HUD | | | | | | | | | + |_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________| __________ + | SHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | | UP | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | + | | | | COPY_ALL | | MD_BOOT | NK_TOGG | | | | | TOGGLE_NUMPAD | | KC_BRIU | + |____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________| __________|__________|__________ + | CTRL | GUI | ALT | SPACE | RALT | MENU | RGUI | RCTRL | | LEFT | DOWN | RIGHT | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | | | | | | | | | | | KC_BRID | | + |_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________| |__________|__________|__________| + + ``` + +### Git Layer + + ``` + __________ ___________________________________________ ___________________________________________ ___________________________________________ ________________________________ + | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | PRINT | SCLCK | PAUSE | + | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | | | | | | | | | | | | | | | | | | | | | + |__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________| + ____________________________________________________________________________________________________________________________________________________________________ ________________________________ + | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BCKSP | | INS | HOME | PGUP | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | G_INIT | G_CLONE | G_REMTE | G_RESET | G_PSFWL | | | | | | | | | | | | | | + |__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________| |__________|__________|__________| + | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | DEL | END | PGDN | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | | G_PUPST | G_PULL | G_PSORG | G_PUSH | | | | | | | | | | | | | | + |_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________| |__________|__________|__________| + | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | + | | G_ADD | G_STAT | G_DIFF | G_FETCH | | | | | | | | | + |_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________| __________ + | SHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | | UP | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | + | | G_LOG | G_CHECK | G_COMM | G_COMSG | G_BRANH | | | | | | | | | + |____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________| __________|__________|__________ + | CTRL | GUI | ALT | SPACE | RALT | MENU | RGUI | RCTRL | | LEFT | DOWN | RIGHT | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | | | | | | | | | | | | | + |_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________| |__________|__________|__________| + + ``` + + - These are the strings that are dumped/keyed in for each associated keycode + ``` + G_INIT "git init" + G_CLONE "git clone " + G_ADD "git add " + G_DIFF "git diff " + G_RESET "git reset --soft " + G_BRANH "git branch --list" + G_CHECK "git checkout " + G_REMTE "git remote add " + G_FETCH "git fetch " + G_PULL "git pull" + G_PUPST "git pull upstream " + G_PUSH "git push" + G_PSORG "git push -u origin " + G_PSFWL "git push --force-with-lease" + G_COMM "git commit " + G_COMSG "git commit -m \": [TFS-]\"" + G_STAT "git status" + G_LOG "git log" + ``` + +### Numpad Layer + +*activated via the __Function Layer__ and stays active until you escape* + ``` + __________ ___________________________________________ ___________________________________________ ___________________________________________ ________________________________ + | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | PRINT | SCLCK | PAUSE | + | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | TOG_NPD | | | | | | | | | | | | | | | | | | | | + |__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________| + ____________________________________________________________________________________________________________________________________________________________________ ________________________________ + | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BCKSP | | INS | HOME | PGUP | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | | | | | | | | | | | | | | | | | | | + |__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________| |__________|__________|__________| + | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | DEL | END | PGDN | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | | | | | | | KC_P7 | KC_P8 | KC_P9 | | | | | | | | | | + |_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________| |__________|__________|__________| + | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | + | | | | | | | KC_P4 | KC_P5 | KC_P6 | | | | | + |_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________| __________ + | SHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | | UP | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | + | | | | | | KC_P1 | KC_P2 | KC_P3 | KC_PDOT | | | | | | + |____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________| __________|__________|__________ + | CTRL | GUI | ALT | SPACE | RALT | MENU | RGUI | RCTRL | | LEFT | DOWN | RIGHT | + | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | + | | | | KC_P0 | | | | | | | | | + |_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________| |__________|__________|__________| + + ``` + +## Features + +These are the features currently used by this keymap: + +### RGB Time Out + +This allows setting a dynamic timeout for RGB to turn off. The following is supported: + +1. Restores on the first click of any key. +2. Restores to its previous state before timeout. i.e. if it was edge only before timeout it will restore to edge only, same for all modes. +3. Doesn't interfere with RGB modes. You can set keyboard to All, Edge Only or Off and timeout will not interfere with these modes. +4. The time before RGB is turned off is dynamically adjustable using keycodes ROUT_VI to increase, ROUT_VD to decrease. They have a 10 second steps by default. Minimum value 10 seconds by default and maximum is 10 minutes. +5. Can be toggled on or off dyncamically with the ROUT_TG keycode. +6. Can be put in fast mode using ROUT_FM, for movie watching purposes. Default value is 3 seconds. Note that fast mode disabled ROUT_VD and ROUT_VI so to use them again you have to toggle fast mode off with ROUT_FM. It doesn't impact ROUT_TG and ROUT_TG will remember if fast mode was enabled when toggled back on, so it doesn't disable fast mode on its own, only ROUT_FM can disable or enable fast mode. + +### Tapdance Keys + +Created a tapdance setup to use the same key to switch between the layers, aka a function key. ;) + +Layers are temporary while holding the function key down. + - Single tap and hold: Activates the Function Layer. + - Double tap and hold: Activates the Git Layer. + +### Numpad + +Activated in the *Function Layer* by holding down the fn key and pressing the toggle key (RSHIFT). The keeps the layer activated without needing to hold the fn key anymore. +To leave the numpad layer press the ESC key or hold and let go of the fn key. + +### Space Cadet Shift + +The typing layer is setup to use the [Space Cadet Shift](https://docs.qmk.fm/#/feature_space_cadet). As a software engineer this is massively useful :) + +_Sorry ISO users, you'll need to configure it for your own setup or disable it._ + +## Credits + + - [endgame](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop/ctrl/keymaps/endgame) by [ash0x0](https://github.com/ash0x0) + For the base keymap I started with. \ No newline at end of file diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk b/keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk new file mode 100644 index 000000000000..43a312ce4e65 --- /dev/null +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk @@ -0,0 +1,14 @@ +# RGBLIGHT_ENABLE = no # Not for MD boards. This is here in case you forget. +COMMAND_ENABLE = no # Commands for debug and configuration +# AUTO_SHIFT_ENABLE = yes # Auto Shift +NKRO_ENABLE = yes # USB Nkey Rollover +DYNAMIC_MACRO_ENABLE = no # Dynamic macro recording and play +MOUSEKEY_ENABLE = no # Enable mouse control keycodes. Increases firmware size. +TAP_DANCE_ENABLE = yes # Enable tap dance keys +CONSOLE_ENABLE = no # Enable debugging console. Increases firmware size. +SRC += config_led.c # Used to add files to the compilation/linking list. +EXTRAKEY_ENABLE = yes # Audio control and System control +TERMINAL_ENABLE = no +# RAW_ENABLE = yes # Raw HID has not yet been implemented for this keyboard +# COMBO_ENABLE # Key combo feature +# LEADER_ENABLE # Enable leader key chording From d9737349769a8bd2198733a81c1c74bd7db82c3a Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Fri, 22 Apr 2022 05:50:11 -0600 Subject: [PATCH 0601/1832] Fix id67 RGB Matrix (#16916) --- keyboards/idobao/id67/id67.c | 2 +- keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/idobao/id67/id67.c b/keyboards/idobao/id67/id67.c index 5f4ff39ae2c8..8d27298625c4 100644 --- a/keyboards/idobao/id67/id67.c +++ b/keyboards/idobao/id67/id67.c @@ -56,6 +56,6 @@ led_config_t g_led_config = { { __attribute__ ((weak)) void rgb_matrix_indicators_user(void) { if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, 0xFF, 0xFF, 0xFF); + rgb_matrix_set_color(23, 0xFF, 0xFF, 0xFF); } } diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c index 62fd4cfa8f7e..2a42295b97a4 100644 --- a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c +++ b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c @@ -121,7 +121,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (host_keyboard_led_state().caps_lock) { if (isRGBOff) { - rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, v, v, v); // white + rgb_matrix_set_color(23, v, v, v); // white } else { // Caps Lock key/LED if (timer_elapsed(recording_timer) > 500) { @@ -129,7 +129,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { recording_timer = timer_read(); } if (isCapsBlink) { - rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, v, v, v); // white + rgb_matrix_set_color(23, v, v, v); // white } // Alpha keys/LEDs @@ -144,7 +144,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t g = 0; uint8_t b = 0; - if ((g_led_config.flags[ID67_CAPS_LOCK_KEY_INDEX] & LED_FLAG_LAYER_IND) != 0) { + if ((g_led_config.flags[23] & LED_FLAG_LAYER_IND) != 0) { switch (current_layer) { case LAYER_1: b = v; break; // blue case LAYER_2: g = v; break; // green @@ -152,7 +152,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } } - rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, r, g, b); // off + rgb_matrix_set_color(23, r, g, b); // off } // Layer indicator stuff From 857178e779f8215e0aec0e1eb40cb86e735092de Mon Sep 17 00:00:00 2001 From: Felix Jen Date: Sat, 23 Apr 2022 15:56:58 -0500 Subject: [PATCH 0602/1832] [Keyboard] Add Rooboard 65 (#15294) Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --- .../skippys_custom_pcs/rooboard65/config.h | 117 ++++++++++++++++++ .../skippys_custom_pcs/rooboard65/info.json | 83 +++++++++++++ .../rooboard65/keymaps/default/keymap.c | 40 ++++++ .../rooboard65/keymaps/via/keymap.c | 58 +++++++++ .../rooboard65/keymaps/via/rules.mk | 1 + .../skippys_custom_pcs/rooboard65/readme.md | 27 ++++ .../rooboard65/rooboard65.c | 14 +++ .../rooboard65/rooboard65.h | 32 +++++ .../skippys_custom_pcs/rooboard65/rules.mk | 23 ++++ 9 files changed, 395 insertions(+) create mode 100644 keyboards/skippys_custom_pcs/rooboard65/config.h create mode 100644 keyboards/skippys_custom_pcs/rooboard65/info.json create mode 100644 keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c create mode 100644 keyboards/skippys_custom_pcs/rooboard65/keymaps/via/keymap.c create mode 100644 keyboards/skippys_custom_pcs/rooboard65/keymaps/via/rules.mk create mode 100644 keyboards/skippys_custom_pcs/rooboard65/readme.md create mode 100644 keyboards/skippys_custom_pcs/rooboard65/rooboard65.c create mode 100644 keyboards/skippys_custom_pcs/rooboard65/rooboard65.h create mode 100644 keyboards/skippys_custom_pcs/rooboard65/rules.mk diff --git a/keyboards/skippys_custom_pcs/rooboard65/config.h b/keyboards/skippys_custom_pcs/rooboard65/config.h new file mode 100644 index 000000000000..f06184077125 --- /dev/null +++ b/keyboards/skippys_custom_pcs/rooboard65/config.h @@ -0,0 +1,117 @@ +/* +Copyright 2021 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x36B6 // Skippys Custom PCs +#define PRODUCT_ID 0x0002 // Rooboard65 +#define DEVICE_VER 0x0001 // Version 1 +#define MANUFACTURER FJLabs +#define PRODUCT Rooboard65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 } +#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1, D1 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Define RGB Underglow */ +#define RGB_DI_PIN F7 +#define RGBLED_NUM 68 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLIGHT_LIMIT_VAL 96 +#define RGB_VAL_STEP 12 +#define RGBLIGHT_DEFAULT_SPD 144 +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL +/* #define RGBLIGHT_LAYER_BLINK*/ + +/* Define less important options */ + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/skippys_custom_pcs/rooboard65/info.json b/keyboards/skippys_custom_pcs/rooboard65/info.json new file mode 100644 index 000000000000..3f195fc7c7d6 --- /dev/null +++ b/keyboards/skippys_custom_pcs/rooboard65/info.json @@ -0,0 +1,83 @@ +{ + "keyboard_name": "Rooboard65", + "url": "https://www.fjlaboratories.com/", + "maintainer": "FJLabs", + "layouts": { + "LAYOUT_65_ansi": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0, "w": 2}, + {"x": 15, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + {"x": 15, "y": 1}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + {"x": 15, "y": 2}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4}, + {"x": 11, "y": 4}, + {"x": 12, "y": 4}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c b/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c new file mode 100644 index 000000000000..96c2351e89ed --- /dev/null +++ b/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2021 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_65_ansi( + 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_HOME, + 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_PGUP, + 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, + 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_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [_LAYER1] = LAYOUT_65_ansi( + 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, KC_DEL, KC_TRNS, + 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_PAUSE, RESET, KC_TRNS, + KC_TRNS, RGB_SPI, RGB_SPD, 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, KC_TRNS, NK_TOGG, 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, KC_TRNS + ) + +}; \ No newline at end of file diff --git a/keyboards/skippys_custom_pcs/rooboard65/keymaps/via/keymap.c b/keyboards/skippys_custom_pcs/rooboard65/keymaps/via/keymap.c new file mode 100644 index 000000000000..3e071bd079f8 --- /dev/null +++ b/keyboards/skippys_custom_pcs/rooboard65/keymaps/via/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2021 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_65_ansi( + 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_HOME, + 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_PGUP, + 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, + 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_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [_LAYER1] = LAYOUT_65_ansi( + 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, KC_DEL, KC_TRNS, + 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_PAUSE, RESET, KC_TRNS, + KC_TRNS, RGB_SPI, RGB_SPD, 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, KC_TRNS, NK_TOGG, 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, KC_TRNS + ), + + [_LAYER2] = LAYOUT_65_ansi( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER3] = LAYOUT_65_ansi( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + +}; diff --git a/keyboards/skippys_custom_pcs/rooboard65/keymaps/via/rules.mk b/keyboards/skippys_custom_pcs/rooboard65/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/skippys_custom_pcs/rooboard65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/skippys_custom_pcs/rooboard65/readme.md b/keyboards/skippys_custom_pcs/rooboard65/readme.md new file mode 100644 index 000000000000..63f8217fc8c3 --- /dev/null +++ b/keyboards/skippys_custom_pcs/rooboard65/readme.md @@ -0,0 +1,27 @@ +# FJLabs Rooboard65 + +The following is the QMK Firmware for the FJLabs Rooboard65 PCB, a universal tray mount 65% hotswap PCB with per key RGB LED's. + +The PCB will feature: +* Kailh Hotswap sockets +* QMK & VIA compatibility +* Per-Key RGB LED's + +--- + +* Keyboard Maintainer: FJLabs +* Hardware Supported: Rooboard65 + +Make example for this keyboard (after setting up your build environment): + + make skippys_custom_pcs/rooboard65:default + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file diff --git a/keyboards/skippys_custom_pcs/rooboard65/rooboard65.c b/keyboards/skippys_custom_pcs/rooboard65/rooboard65.c new file mode 100644 index 000000000000..a97cc2307b61 --- /dev/null +++ b/keyboards/skippys_custom_pcs/rooboard65/rooboard65.c @@ -0,0 +1,14 @@ +/* +Copyright 2021 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "rooboard65.h" diff --git a/keyboards/skippys_custom_pcs/rooboard65/rooboard65.h b/keyboards/skippys_custom_pcs/rooboard65/rooboard65.h new file mode 100644 index 000000000000..434d15668819 --- /dev/null +++ b/keyboards/skippys_custom_pcs/rooboard65/rooboard65.h @@ -0,0 +1,32 @@ +/* +Copyright 2021 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +/* TF60 ANSI Keymap Definitions */ +#define LAYOUT_65_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K1E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \ + { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D, K4E } \ +} diff --git a/keyboards/skippys_custom_pcs/rooboard65/rules.mk b/keyboards/skippys_custom_pcs/rooboard65/rules.mk new file mode 100644 index 000000000000..a1a32c1e9263 --- /dev/null +++ b/keyboards/skippys_custom_pcs/rooboard65/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency +F_CPU = 8000000 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi From c2bf039893c6f6f1692c5e470be635436634969c Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sun, 24 Apr 2022 10:00:54 +0800 Subject: [PATCH 0603/1832] [Keyboard] Add missing KC_QUOT (#16925) --- keyboards/a_dux/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/a_dux/keymaps/default/keymap.c b/keyboards/a_dux/keymaps/default/keymap.c index b58c9d447f91..c15b596f8fa7 100644 --- a/keyboards/a_dux/keymaps/default/keymap.c +++ b/keyboards/a_dux/keymaps/default/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_split_3x5_2( KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LT(3,KC_TAB), KC_LSFT, KC_SPC, LT(1,KC_ENT) ), From e1f6fa579af8eb9f0799f8fe9ba7a8947d1c2c69 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 24 Apr 2022 23:01:29 +1000 Subject: [PATCH 0604/1832] gergoplex: small cleanup (#16928) --- keyboards/gboards/gergoplex/gergoplex.h | 29 ++++++++++++------------- keyboards/gboards/gergoplex/rules.mk | 22 +++++++++++++------ 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/keyboards/gboards/gergoplex/gergoplex.h b/keyboards/gboards/gergoplex/gergoplex.h index 507072a3761d..eda21d2a94f1 100644 --- a/keyboards/gboards/gergoplex/gergoplex.h +++ b/keyboards/gboards/gergoplex/gergoplex.h @@ -21,8 +21,8 @@ extern i2c_status_t mcp23018_status; #define I2C_TIMEOUT 1000 -#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) -#define CPU_16MHz 0x00 + +#define XXX KC_NO // I2C aliases and register addresses (see "mcp23018.md") #define I2C_ADDR 0x20 // 0b0100000 @@ -41,16 +41,15 @@ uint8_t init_mcp23018(void); L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ L30, L31, L32, R30, R31, R32 \ - ) \ - { \ - {L04, L14, L24, KC_NO}, \ - {L03, L13, L23, L32}, \ - {L02, L12, L22, L31}, \ - {L01, L11, L21, L30}, \ - {L00, L10, L20, KC_NO}, \ - {R00, R10, R20, KC_NO}, \ - {R01, R11, R21, R30}, \ - {R02, R12, R22, R31}, \ - {R03, R13, R23, R32}, \ - {R04, R14, R24, KC_NO}, \ - } +) { \ + { L04, L14, L24, XXX }, \ + { L03, L13, L23, L32 }, \ + { L02, L12, L22, L31 }, \ + { L01, L11, L21, L30 }, \ + { L00, L10, L20, XXX }, \ + { R00, R10, R20, XXX }, \ + { R01, R11, R21, R30 }, \ + { R02, R12, R22, R31 }, \ + { R03, R13, R23, R32 }, \ + { R04, R14, R24, XXX } \ +} diff --git a/keyboards/gboards/gergoplex/rules.mk b/keyboards/gboards/gergoplex/rules.mk index e557d9f39a9c..5cd5a7721c43 100644 --- a/keyboards/gboards/gergoplex/rules.mk +++ b/keyboards/gboards/gergoplex/rules.mk @@ -1,15 +1,23 @@ +# MCU name MCU = atmega32u4 +# Bootloader selection BOOTLOADER = atmel-dfu -CUSTOM_MATRIX = yes -MOUSEKEY_ENABLE = yes # Mouse keys -COMBO_ENABLE = yes -EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = no -NKRO_ENABLE = yes # Enable N-Key Rollover -COMMAND_ENABLE = yes +# Build Options +# change yes to no to disable +# BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +COMBO_ENABLE = yes +CUSTOM_MATRIX = yes LAYOUTS = split_3x5_3 From 0369fb004719abbde4904174de7ffff9ceb6717a Mon Sep 17 00:00:00 2001 From: tuvietnamm <64471705+tuvietnamm@users.noreply.github.com> Date: Mon, 25 Apr 2022 15:08:11 +1000 Subject: [PATCH 0605/1832] Fix backslash bug (#16935) --- keyboards/chickenman/ciel/ciel.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/chickenman/ciel/ciel.h b/keyboards/chickenman/ciel/ciel.h index ea2b566d98b7..0f898f97c8fa 100644 --- a/keyboards/chickenman/ciel/ciel.h +++ b/keyboards/chickenman/ciel/ciel.h @@ -54,7 +54,7 @@ k400, k401, k402, k407, k411, k413, k414 \ ) { \ { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014 }, \ - { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, KC_NO, k414 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, KC_NO, k114 }, \ { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, KC_NO, k213, KC_NO}, \ { k300, KC_NO, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, KC_NO, k313, k314 }, \ { k400, k401, k402, KC_NO, KC_NO, KC_NO, KC_NO, k407, KC_NO, KC_NO, KC_NO, k411, KC_NO, k413, k414 } \ From 73688057f483e8e38cc970e5fe3ab0d04fa2217e Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 25 Apr 2022 19:30:20 +1000 Subject: [PATCH 0606/1832] Add missing dead key LUTs for sendstring headers (#16929) --- quantum/keymap_extras/keymap_br_abnt2.h | 4 ++-- quantum/keymap_extras/keymap_italian.h | 10 ++++----- quantum/keymap_extras/sendstring_belgian.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_bepo.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_br_abnt2.h | 20 ++++++++++++++++++ .../sendstring_canadian_multilingual.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_croatian.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_czech.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_danish.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_dvorak_fr.h | 19 +++++++++++++++++ quantum/keymap_extras/sendstring_estonian.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_finnish.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_fr_ch.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_french.h | 20 ++++++++++++++++++ .../keymap_extras/sendstring_french_afnor.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_french_osx.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_german.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_german_ch.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_german_osx.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_hungarian.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_icelandic.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_latvian.h | 21 +++++++++++++++++++ quantum/keymap_extras/sendstring_norwegian.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_portuguese.h | 20 ++++++++++++++++++ .../sendstring_portuguese_osx_iso.h | 20 ++++++++++++++++++ .../keymap_extras/sendstring_serbian_latin.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_slovak.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_slovenian.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_spanish.h | 20 ++++++++++++++++++ .../keymap_extras/sendstring_spanish_dvorak.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_swedish.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_turkish_f.h | 20 ++++++++++++++++++ quantum/keymap_extras/sendstring_turkish_q.h | 20 ++++++++++++++++++ .../sendstring_us_international.h | 2 +- 34 files changed, 628 insertions(+), 8 deletions(-) diff --git a/quantum/keymap_extras/keymap_br_abnt2.h b/quantum/keymap_extras/keymap_br_abnt2.h index e91718013a1c..b5892183bed9 100644 --- a/quantum/keymap_extras/keymap_br_abnt2.h +++ b/quantum/keymap_extras/keymap_br_abnt2.h @@ -87,8 +87,8 @@ #define BR_SCLN KC_SLSH // ; #define BR_SLSH KC_INT1 // / // Numpad -#define BR_PDOT KC_PCMM // . -#define BR_PCMM KC_PDOT // , +#define BR_PDOT KC_PCMM // . +#define BR_PCMM KC_PDOT // , /* Shifted symbols * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ diff --git a/quantum/keymap_extras/keymap_italian.h b/quantum/keymap_extras/keymap_italian.h index be495f85ba83..ece60d06b7e3 100644 --- a/quantum/keymap_extras/keymap_italian.h +++ b/quantum/keymap_extras/keymap_italian.h @@ -140,12 +140,12 @@ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ */ // Row 2 -#define IT_EURO ALGR(IT_E) // € -#define IT_LBRC ALGR(IT_EGRV) // [ -#define IT_RBRC ALGR(IT_PLUS) // ] +#define IT_EURO ALGR(IT_E) // € +#define IT_LBRC ALGR(IT_EGRV) // [ +#define IT_RBRC ALGR(IT_PLUS) // ] // Row 3 -#define IT_AT ALGR(IT_OGRV) // @ -#define IT_HASH ALGR(IT_AGRV) // # +#define IT_AT ALGR(IT_OGRV) // @ +#define IT_HASH ALGR(IT_AGRV) // # /* Shift+AltGr symbols * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ diff --git a/quantum/keymap_extras/sendstring_belgian.h b/quantum/keymap_extras/sendstring_belgian.h index 5e7218a2fa73..34ca9514c816 100644 --- a/quantum/keymap_extras/sendstring_belgian.h +++ b/quantum/keymap_extras/sendstring_belgian.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_bepo.h b/quantum/keymap_extras/sendstring_bepo.h index 8119cd9f5400..0f0d5a2111e4 100644 --- a/quantum/keymap_extras/sendstring_bepo.h +++ b/quantum/keymap_extras/sendstring_bepo.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_br_abnt2.h b/quantum/keymap_extras/sendstring_br_abnt2.h index f2946e54b86e..1ca2d285924a 100644 --- a/quantum/keymap_extras/sendstring_br_abnt2.h +++ b/quantum/keymap_extras/sendstring_br_abnt2.h @@ -43,6 +43,26 @@ const uint8_t ascii_to_shift_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_canadian_multilingual.h b/quantum/keymap_extras/sendstring_canadian_multilingual.h index 3679a98c14a4..92b588c82e40 100644 --- a/quantum/keymap_extras/sendstring_canadian_multilingual.h +++ b/quantum/keymap_extras/sendstring_canadian_multilingual.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_croatian.h b/quantum/keymap_extras/sendstring_croatian.h index 67f75992aeae..bf51c81a8842 100644 --- a/quantum/keymap_extras/sendstring_croatian.h +++ b/quantum/keymap_extras/sendstring_croatian.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_czech.h b/quantum/keymap_extras/sendstring_czech.h index 94879dfd4ecc..6693999f5179 100644 --- a/quantum/keymap_extras/sendstring_czech.h +++ b/quantum/keymap_extras/sendstring_czech.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0), }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_danish.h b/quantum/keymap_extras/sendstring_danish.h index 0ec5b108a576..6923063ce2ce 100644 --- a/quantum/keymap_extras/sendstring_danish.h +++ b/quantum/keymap_extras/sendstring_danish.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_dvorak_fr.h b/quantum/keymap_extras/sendstring_dvorak_fr.h index 98d0577afa72..2f4f2817949a 100644 --- a/quantum/keymap_extras/sendstring_dvorak_fr.h +++ b/quantum/keymap_extras/sendstring_dvorak_fr.h @@ -42,6 +42,25 @@ const uint8_t ascii_to_shift_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 0, 0), }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL diff --git a/quantum/keymap_extras/sendstring_estonian.h b/quantum/keymap_extras/sendstring_estonian.h index 24d853fb5960..9ea2ab3f8ffb 100644 --- a/quantum/keymap_extras/sendstring_estonian.h +++ b/quantum/keymap_extras/sendstring_estonian.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_finnish.h b/quantum/keymap_extras/sendstring_finnish.h index cf23483843fa..197836ba83da 100644 --- a/quantum/keymap_extras/sendstring_finnish.h +++ b/quantum/keymap_extras/sendstring_finnish.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_fr_ch.h b/quantum/keymap_extras/sendstring_fr_ch.h index 2acce5663b60..160a2efb055b 100644 --- a/quantum/keymap_extras/sendstring_fr_ch.h +++ b/quantum/keymap_extras/sendstring_fr_ch.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_french.h b/quantum/keymap_extras/sendstring_french.h index ab65f28eb7ad..a37a5d314bdc 100644 --- a/quantum/keymap_extras/sendstring_french.h +++ b/quantum/keymap_extras/sendstring_french.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_french_afnor.h b/quantum/keymap_extras/sendstring_french_afnor.h index 690daaaf020e..1408634a266b 100644 --- a/quantum/keymap_extras/sendstring_french_afnor.h +++ b/quantum/keymap_extras/sendstring_french_afnor.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_french_osx.h b/quantum/keymap_extras/sendstring_french_osx.h index 6cadbac15321..cc9b857cd005 100644 --- a/quantum/keymap_extras/sendstring_french_osx.h +++ b/quantum/keymap_extras/sendstring_french_osx.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_german.h b/quantum/keymap_extras/sendstring_german.h index 3445a0e5fb7c..69c7dd996ede 100644 --- a/quantum/keymap_extras/sendstring_german.h +++ b/quantum/keymap_extras/sendstring_german.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_german_ch.h b/quantum/keymap_extras/sendstring_german_ch.h index 1e1327c511d4..b8f74712470e 100644 --- a/quantum/keymap_extras/sendstring_german_ch.h +++ b/quantum/keymap_extras/sendstring_german_ch.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_german_osx.h b/quantum/keymap_extras/sendstring_german_osx.h index 03f54da2afaa..d25c8c099583 100644 --- a/quantum/keymap_extras/sendstring_german_osx.h +++ b/quantum/keymap_extras/sendstring_german_osx.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_hungarian.h b/quantum/keymap_extras/sendstring_hungarian.h index 29dc3ccb8c08..9169ba255757 100644 --- a/quantum/keymap_extras/sendstring_hungarian.h +++ b/quantum/keymap_extras/sendstring_hungarian.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_icelandic.h b/quantum/keymap_extras/sendstring_icelandic.h index 867eb8743c85..b25a4e76e7a9 100644 --- a/quantum/keymap_extras/sendstring_icelandic.h +++ b/quantum/keymap_extras/sendstring_icelandic.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_latvian.h b/quantum/keymap_extras/sendstring_latvian.h index 61f788693ce6..bd73a01e4843 100644 --- a/quantum/keymap_extras/sendstring_latvian.h +++ b/quantum/keymap_extras/sendstring_latvian.h @@ -19,9 +19,30 @@ #pragma once #include "keymap_latvian.h" +#include "quantum.h" // clang-format off +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_norwegian.h b/quantum/keymap_extras/sendstring_norwegian.h index d3478f8301f5..28813da51f46 100644 --- a/quantum/keymap_extras/sendstring_norwegian.h +++ b/quantum/keymap_extras/sendstring_norwegian.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_portuguese.h b/quantum/keymap_extras/sendstring_portuguese.h index bec9b2c680c3..37db5f97aab9 100644 --- a/quantum/keymap_extras/sendstring_portuguese.h +++ b/quantum/keymap_extras/sendstring_portuguese.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_portuguese_osx_iso.h b/quantum/keymap_extras/sendstring_portuguese_osx_iso.h index 1799347f3077..f4ac1b37afe0 100644 --- a/quantum/keymap_extras/sendstring_portuguese_osx_iso.h +++ b/quantum/keymap_extras/sendstring_portuguese_osx_iso.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_serbian_latin.h b/quantum/keymap_extras/sendstring_serbian_latin.h index 40e2a9ea0c22..7e19a62595c2 100644 --- a/quantum/keymap_extras/sendstring_serbian_latin.h +++ b/quantum/keymap_extras/sendstring_serbian_latin.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_slovak.h b/quantum/keymap_extras/sendstring_slovak.h index f48d30dcb143..c94cca1379fc 100644 --- a/quantum/keymap_extras/sendstring_slovak.h +++ b/quantum/keymap_extras/sendstring_slovak.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_slovenian.h b/quantum/keymap_extras/sendstring_slovenian.h index adf7ea47db99..117af7e76d69 100644 --- a/quantum/keymap_extras/sendstring_slovenian.h +++ b/quantum/keymap_extras/sendstring_slovenian.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_spanish.h b/quantum/keymap_extras/sendstring_spanish.h index b984a6f463e3..680e99ef4efb 100644 --- a/quantum/keymap_extras/sendstring_spanish.h +++ b/quantum/keymap_extras/sendstring_spanish.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_spanish_dvorak.h b/quantum/keymap_extras/sendstring_spanish_dvorak.h index 87d582491c18..ccf945824732 100644 --- a/quantum/keymap_extras/sendstring_spanish_dvorak.h +++ b/quantum/keymap_extras/sendstring_spanish_dvorak.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_swedish.h b/quantum/keymap_extras/sendstring_swedish.h index 8b07d423019c..d4513429927b 100644 --- a/quantum/keymap_extras/sendstring_swedish.h +++ b/quantum/keymap_extras/sendstring_swedish.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_turkish_f.h b/quantum/keymap_extras/sendstring_turkish_f.h index 8d6dc778fd9f..cabd5c5dc5c0 100644 --- a/quantum/keymap_extras/sendstring_turkish_f.h +++ b/quantum/keymap_extras/sendstring_turkish_f.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_turkish_q.h b/quantum/keymap_extras/sendstring_turkish_q.h index 1a409c1e03f8..986f02233339 100644 --- a/quantum/keymap_extras/sendstring_turkish_q.h +++ b/quantum/keymap_extras/sendstring_turkish_q.h @@ -63,6 +63,26 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // NUL SOH STX ETX EOT ENQ ACK BEL XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/quantum/keymap_extras/sendstring_us_international.h b/quantum/keymap_extras/sendstring_us_international.h index 53a5891fb143..d1694ff0f0fb 100644 --- a/quantum/keymap_extras/sendstring_us_international.h +++ b/quantum/keymap_extras/sendstring_us_international.h @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -// Sendstring lookup tables for UK layouts +// Sendstring lookup tables for US International layouts #pragma once From 645359e5d06758172fe3b6c22ad62641af56b4ad Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 26 Apr 2022 08:54:34 +1000 Subject: [PATCH 0607/1832] Joystick: Simplify report descriptor and clean up error messages (#16926) --- quantum/joystick.h | 8 ++++++ tmk_core/protocol/usb_descriptor.c | 43 +++++++++++++----------------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/quantum/joystick.h b/quantum/joystick.h index 002df3a6d9aa..5d81b14ef2f3 100644 --- a/quantum/joystick.h +++ b/quantum/joystick.h @@ -5,10 +5,18 @@ #ifndef JOYSTICK_BUTTON_COUNT # define JOYSTICK_BUTTON_COUNT 8 +#elif JOYSTICK_BUTTON_COUNT > 32 +# error Joystick feature only supports up to 32 buttons #endif #ifndef JOYSTICK_AXES_COUNT # define JOYSTICK_AXES_COUNT 4 +#elif JOYSTICK_AXES_COUNT > 6 +# error Joystick feature only supports up to 6 axes +#endif + +#if JOYSTICK_AXES_COUNT == 0 && JOYSTICK_BUTTON_COUNT == 0 +# error Joystick feature requires at least one axis or button #endif #ifndef JOYSTICK_AXES_RESOLUTION diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 0b992ba6c5dd..063bd2c3f177 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -347,49 +347,44 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM ConsoleReport[] = { #endif #ifdef JOYSTICK_ENABLE -# if JOYSTICK_AXES_COUNT == 0 && JOYSTICK_BUTTON_COUNT == 0 -# error Need at least one axis or button for joystick -# endif const USB_Descriptor_HIDReport_Datatype_t PROGMEM JoystickReport[] = { - HID_RI_USAGE_PAGE(8, 0x01), // Generic Desktop - HID_RI_USAGE(8, 0x04), // Joystick - HID_RI_COLLECTION(8, 0x01), // Application - HID_RI_COLLECTION(8, 0x00), // Physical + HID_RI_USAGE_PAGE(8, 0x01), // Generic Desktop + HID_RI_USAGE(8, 0x04), // Joystick + HID_RI_COLLECTION(8, 0x01), // Application + HID_RI_COLLECTION(8, 0x00), // Physical +# if JOYSTICK_AXES_COUNT > 0 HID_RI_USAGE_PAGE(8, 0x01), // Generic Desktop -# if JOYSTICK_AXES_COUNT >= 1 HID_RI_USAGE(8, 0x30), // X -# endif -# if JOYSTICK_AXES_COUNT >= 2 +# if JOYSTICK_AXES_COUNT > 1 HID_RI_USAGE(8, 0x31), // Y -# endif -# if JOYSTICK_AXES_COUNT >= 3 +# endif +# if JOYSTICK_AXES_COUNT > 2 HID_RI_USAGE(8, 0x32), // Z -# endif -# if JOYSTICK_AXES_COUNT >= 4 +# endif +# if JOYSTICK_AXES_COUNT > 3 HID_RI_USAGE(8, 0x33), // Rx -# endif -# if JOYSTICK_AXES_COUNT >= 5 +# endif +# if JOYSTICK_AXES_COUNT > 4 HID_RI_USAGE(8, 0x34), // Ry -# endif -# if JOYSTICK_AXES_COUNT >= 6 +# endif +# if JOYSTICK_AXES_COUNT > 5 HID_RI_USAGE(8, 0x35), // Rz -# endif -# if JOYSTICK_AXES_COUNT >= 1 - # if JOYSTICK_AXES_RESOLUTION == 8 +# endif +# if JOYSTICK_AXES_RESOLUTION == 8 HID_RI_LOGICAL_MINIMUM(8, -JOYSTICK_RESOLUTION), HID_RI_LOGICAL_MAXIMUM(8, JOYSTICK_RESOLUTION), HID_RI_REPORT_COUNT(8, JOYSTICK_AXES_COUNT), HID_RI_REPORT_SIZE(8, 0x08), - # else +# else HID_RI_LOGICAL_MINIMUM(16, -JOYSTICK_RESOLUTION), HID_RI_LOGICAL_MAXIMUM(16, JOYSTICK_RESOLUTION), HID_RI_REPORT_COUNT(8, JOYSTICK_AXES_COUNT), HID_RI_REPORT_SIZE(8, 0x10), - # endif +# endif HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), # endif -# if JOYSTICK_BUTTON_COUNT >= 1 +# if JOYSTICK_BUTTON_COUNT > 0 HID_RI_USAGE_PAGE(8, 0x09), // Button HID_RI_USAGE_MINIMUM(8, 0x01), HID_RI_USAGE_MAXIMUM(8, JOYSTICK_BUTTON_COUNT), From 14d6c0b441e093d730a1a393715d8bf2bcbab471 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 27 Apr 2022 00:09:47 +1000 Subject: [PATCH 0608/1832] dactyl_manuform/3x5_3: fix layout (#16944) --- .../handwired/dactyl_manuform/3x5_3/3x5_3.h | 33 ++++---- .../handwired/dactyl_manuform/3x5_3/info.json | 80 ++++++++++--------- .../handwired/dactyl_manuform/3x5_3/rules.mk | 4 +- 3 files changed, 63 insertions(+), 54 deletions(-) diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h b/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h index f9a843d7d69a..7db11618cf92 100644 --- a/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h +++ b/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h @@ -14,24 +14,25 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ + #pragma once #include "dactyl_manuform.h" -#define LAYOUT_split_3x5_3(\ - L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ - L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ - L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ - L32, L33, L34, R30, R31, R32 \ - ) \ - { \ - { L00, L01, L02, L03, L04 }, \ - { L10, L11, L12, L13, L14 }, \ - { L20, L21, L22, L23, L24 }, \ - { KC_NO, KC_NO, L32, L33, L34 }, \ - \ - { R00, R01, R02, R03, R04 }, \ - { R10, R11, R12, R13, R14 }, \ - { R20, R21, R22, R23, R24 }, \ - { R30, R31, R32, KC_NO, KC_NO }, \ +#define XXX KC_NO + +#define LAYOUT_split_3x5_3( \ + L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ + L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ + L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ + L32, L33, L34, R30, R31, R32 \ +) { \ + { L00, L01, L02, L03, L04 }, \ + { L10, L11, L12, L13, L14 }, \ + { L20, L21, L22, L23, L24 }, \ + { XXX, XXX, L32, L33, L34 }, \ + { R00, R01, R02, R03, R04 }, \ + { R10, R11, R12, R13, R14 }, \ + { R20, R21, R22, R23, R24 }, \ + { R30, R31, R32, XXX, XXX } \ } diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/info.json b/keyboards/handwired/dactyl_manuform/3x5_3/info.json index 47642262212f..abf23aa45db7 100644 --- a/keyboards/handwired/dactyl_manuform/3x5_3/info.json +++ b/keyboards/handwired/dactyl_manuform/3x5_3/info.json @@ -3,45 +3,51 @@ "url": "https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/", "maintainer": "dlford", "layouts": { - "LAYOUT": { + "LAYOUT_split_3x5_3": { "layout": [ - { "x": 0, "y": 0 }, - { "x": 1, "y": 0 }, - { "x": 2, "y": 0 }, - { "x": 3, "y": 0 }, - { "x": 4, "y": 0 }, - { "x": 0, "y": 1 }, - { "x": 1, "y": 1 }, - { "x": 2, "y": 1 }, - { "x": 3, "y": 1 }, - { "x": 4, "y": 1 }, - { "x": 0, "y": 2 }, - { "x": 1, "y": 2 }, - { "x": 2, "y": 2 }, - { "x": 3, "y": 2 }, - { "x": 4, "y": 2 }, - { "x": 2, "y": 3 }, - { "x": 3, "y": 3 }, - { "x": 4, "y": 3 }, + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, - { "x": 10, "y": 0 }, - { "x": 11, "y": 0 }, - { "x": 12, "y": 0 }, - { "x": 13, "y": 0 }, - { "x": 14, "y": 0 }, - { "x": 10, "y": 1 }, - { "x": 11, "y": 1 }, - { "x": 12, "y": 1 }, - { "x": 13, "y": 1 }, - { "x": 14, "y": 1 }, - { "x": 10, "y": 2 }, - { "x": 11, "y": 2 }, - { "x": 12, "y": 2 }, - { "x": 13, "y": 2 }, - { "x": 14, "y": 2 }, - { "x": 10, "y": 3 }, - { "x": 11, "y": 3 }, - { "x": 12, "y": 3 } + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + + {"x": 10, "y": 2}, + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + + {"x": 10, "y": 3}, + {"x": 11, "y": 3}, + {"x": 12, "y": 3} ] } } diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk b/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk index 12812870e37d..cdc7369c250c 100644 --- a/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk +++ b/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk @@ -1,10 +1,12 @@ -# Build Options # MCU name MCU = atmega32u4 # Bootloader selection BOOTLOADER = caterina +# Build Options +# change yes to no to disable +# BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control From e99d6d582cd1ebdda35b2fda1cc170d6d24ad58b Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 28 Apr 2022 09:11:41 +1000 Subject: [PATCH 0609/1832] Add Ukrainian keymap header (#16947) * Add Ukrainian keymap header * Docs --- docs/reference_keymap_extras.md | 1 + quantum/keymap_extras/keymap_ukrainian.h | 134 +++++++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 quantum/keymap_extras/keymap_ukrainian.h diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md index ae3d54e4de86..98be5c366983 100644 --- a/docs/reference_keymap_extras.md +++ b/docs/reference_keymap_extras.md @@ -74,6 +74,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q |Swedish Pro (macOS, ISO) |`keymap_swedish_pro_osx_iso.h` | | |Turkish (F) |`keymap_turkish_f.h` |`sendstring_turkish_f.h` | |Turkish (Q) |`keymap_turkish_q.h` |`sendstring_turkish_q.h` | +|Ukrainian |`keymap_ukrainian.h` | | There are also a few which are not quite language-specific, but useful if you are not using a QWERTY layout: diff --git a/quantum/keymap_extras/keymap_ukrainian.h b/quantum/keymap_extras/keymap_ukrainian.h new file mode 100644 index 000000000000..e5cd80f3d283 --- /dev/null +++ b/quantum/keymap_extras/keymap_ukrainian.h @@ -0,0 +1,134 @@ +/* Copyright 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "keymap.h" + +// clang-format off + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ї │ \ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ │ Ф │ І │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Є │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define UA_QUOT KC_GRV // ' +#define UA_1 KC_1 // 1 +#define UA_2 KC_2 // 2 +#define UA_3 KC_3 // 3 +#define UA_4 KC_4 // 4 +#define UA_5 KC_5 // 5 +#define UA_6 KC_6 // 6 +#define UA_7 KC_7 // 7 +#define UA_8 KC_8 // 8 +#define UA_9 KC_9 // 9 +#define UA_0 KC_0 // 0 +#define UA_MINS KC_MINS // - +#define UA_EQL KC_EQL // = +// Row 2 +#define UA_YOT KC_Q // Й +#define UA_TSE KC_W // Ц +#define UA_U KC_E // У +#define UA_KA KC_R // К +#define UA_E KC_T // Е +#define UA_EN KC_Y // Н +#define UA_HE KC_U // Г +#define UA_SHA KC_I // Ш +#define UA_SHCH KC_O // Щ +#define UA_ZE KC_P // З +#define UA_KHA KC_LBRC // Х +#define UA_YI KC_RBRC // Ї +#define UA_BSLS KC_BSLS // (backslash) +// Row 3 +#define UA_EF KC_A // Ф +#define UA_I KC_S // І +#define UA_VE KC_D // В +#define UA_A KC_F // А +#define UA_PE KC_G // П +#define UA_ER KC_H // Р +#define UA_O KC_J // О +#define UA_EL KC_K // Л +#define UA_DE KC_L // Д +#define UA_ZHE KC_SCLN // Ж +#define UA_YE KC_QUOT // Є +// Row 4 +#define UA_YA KC_Z // Я +#define UA_CHE KC_X // Ч +#define UA_ES KC_C // С +#define UA_EM KC_V // М +#define UA_Y KC_B // И +#define UA_TE KC_N // Т +#define UA_SOFT KC_M // Ь +#define UA_BE KC_COMM // Б +#define UA_YU KC_DOT // Ю +#define UA_DOT KC_SLSH // . + +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ₴ │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ / │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ │ │ │ │ │ │ │ │ │ │ , │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define UA_HRYV S(UA_QUOT) // ₴ +#define UA_EXLM S(UA_1) // ! +#define UA_DQUO S(UA_2) // " +#define UA_NUM S(UA_3) // № +#define UA_SCLN S(UA_4) // ; +#define UA_PERC S(UA_5) // % +#define UA_COLN S(UA_6) // : +#define UA_QUES S(UA_7) // ? +#define UA_ASTR S(UA_8) // * +#define UA_LPRN S(UA_9) // ( +#define UA_RPRN S(UA_0) // ) +#define UA_UNDS S(UA_MINS) // _ +#define UA_PLUS S(UA_EQL) // + +// Row 2 +#define UA_SLSH S(UA_BSLS) // / +// Row 4 +#define UA_COMM S(UA_DOT) // , + +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ ґ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 2 +#define UA_GE ALGR(UA_HE) // ґ From 0edc0c05e164e6205f353c4039eed579f38bbdb6 Mon Sep 17 00:00:00 2001 From: XScorpion2 Date: Thu, 28 Apr 2022 12:35:27 -0500 Subject: [PATCH 0610/1832] [Keyboard] Small fix for Sol3 with only a slave touch bar (#16952) --- keyboards/rgbkb/common/touch_encoder.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/keyboards/rgbkb/common/touch_encoder.c b/keyboards/rgbkb/common/touch_encoder.c index 1e6c54e8ebf4..5f0e4f0ccad0 100644 --- a/keyboards/rgbkb/common/touch_encoder.c +++ b/keyboards/rgbkb/common/touch_encoder.c @@ -244,12 +244,21 @@ void touch_encoder_update_slave(slave_touch_status_t slave_state) { } void touch_encoder_update(int8_t transaction_id) { - if (!touch_initialized) return; #if TOUCH_UPDATE_INTERVAL > 0 if (!timer_expired(timer_read(), touch_update_timer)) return; touch_update_timer = timer_read() + TOUCH_UPDATE_INTERVAL; #endif + if (is_keyboard_master()) { + slave_touch_status_t slave_state; + if (transaction_rpc_exec(transaction_id, sizeof(bool), &touch_disabled, sizeof(slave_touch_status_t), &slave_state)) { + if (memcmp(&touch_slave_state, &slave_state, sizeof(slave_touch_status_t))) + touch_encoder_update_slave(slave_state); + } + } + + if (!touch_initialized) return; + read_register(QT_DETECTION_STATUS, &touch_raw[0], sizeof(touch_raw)); touch_processed[1] = touch_raw[1]; touch_processed[2] = touch_raw[2]; @@ -277,14 +286,6 @@ void touch_encoder_update(int8_t transaction_id) { if ((touch_raw[0] & SLIDER_BIT) && touch_processed[3] != touch_raw[3]) { touch_encoder_update_position(); } - - if (is_keyboard_master()) { - slave_touch_status_t slave_state; - if (transaction_rpc_exec(transaction_id, sizeof(bool), &touch_disabled, sizeof(slave_touch_status_t), &slave_state)) { - if (memcmp(&touch_slave_state, &slave_state, sizeof(slave_touch_status_t))) - touch_encoder_update_slave(slave_state); - } - } } void touch_encoder_calibrate(void) { From a2a9611f18cb437c612f204bb004f6fddcdbea82 Mon Sep 17 00:00:00 2001 From: Felix Jen Date: Thu, 28 Apr 2022 12:37:57 -0500 Subject: [PATCH 0611/1832] [Keyboard] Add Maker Keyboards Alexa Solder PCB (#16943) --- keyboards/lucid/alexa_solder/alexa_solder.c | 14 +++ keyboards/lucid/alexa_solder/alexa_solder.h | 32 ++++++ keyboards/lucid/alexa_solder/config.h | 103 ++++++++++++++++++ keyboards/lucid/alexa_solder/info.json | 86 +++++++++++++++ .../alexa_solder/keymaps/default/keymap.c | 39 +++++++ .../lucid/alexa_solder/keymaps/via/keymap.c | 57 ++++++++++ .../lucid/alexa_solder/keymaps/via/rules.mk | 1 + keyboards/lucid/alexa_solder/readme.md | 13 +++ keyboards/lucid/alexa_solder/rules.mk | 21 ++++ 9 files changed, 366 insertions(+) create mode 100644 keyboards/lucid/alexa_solder/alexa_solder.c create mode 100644 keyboards/lucid/alexa_solder/alexa_solder.h create mode 100644 keyboards/lucid/alexa_solder/config.h create mode 100644 keyboards/lucid/alexa_solder/info.json create mode 100644 keyboards/lucid/alexa_solder/keymaps/default/keymap.c create mode 100644 keyboards/lucid/alexa_solder/keymaps/via/keymap.c create mode 100644 keyboards/lucid/alexa_solder/keymaps/via/rules.mk create mode 100644 keyboards/lucid/alexa_solder/readme.md create mode 100644 keyboards/lucid/alexa_solder/rules.mk diff --git a/keyboards/lucid/alexa_solder/alexa_solder.c b/keyboards/lucid/alexa_solder/alexa_solder.c new file mode 100644 index 000000000000..446e4f063ab2 --- /dev/null +++ b/keyboards/lucid/alexa_solder/alexa_solder.c @@ -0,0 +1,14 @@ +/* +Copyright 2022 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "alexa_solder.h" diff --git a/keyboards/lucid/alexa_solder/alexa_solder.h b/keyboards/lucid/alexa_solder/alexa_solder.h new file mode 100644 index 000000000000..3c835dc943de --- /dev/null +++ b/keyboards/lucid/alexa_solder/alexa_solder.h @@ -0,0 +1,32 @@ +/* +Copyright 2022 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +/* Alexa Keymap Definitions */ +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K43, K46, K48, K49, K4A, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, K43, KC_NO, KC_NO, K46, KC_NO, K48, K49, K4A, KC_NO, K4C, K4D, K4E } \ +} diff --git a/keyboards/lucid/alexa_solder/config.h b/keyboards/lucid/alexa_solder/config.h new file mode 100644 index 000000000000..63fd1f2e2d3a --- /dev/null +++ b/keyboards/lucid/alexa_solder/config.h @@ -0,0 +1,103 @@ +/* +Copyright 2022 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7667 // Maker Keyboards +#define PRODUCT_ID 0x0006 // Alexa +#define DEVICE_VER 0x0001 // Version 1 +#define MANUFACTURER Maker Keyboards +#define PRODUCT Alexa + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + *å +*/ + +// Checked with Eagle Schematic +#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 } +#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Define Indicator LED's */ +#define LED_CAPS_LOCK_PIN C7 + +/* Define less important options */ + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/lucid/alexa_solder/info.json b/keyboards/lucid/alexa_solder/info.json new file mode 100644 index 000000000000..319cb7120652 --- /dev/null +++ b/keyboards/lucid/alexa_solder/info.json @@ -0,0 +1,86 @@ +{ + "keyboard_name": "Alexa Solder", + "url": "http://www.makerkeyboards.com", + "maintainer": "Maker Keyboards", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + {"x": 15, "y": 1}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + {"x": 15, "y": 2}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1.25, "y": 3}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 2.25}, + {"x": 6, "y": 4, "w": 1.25}, + {"x": 7.25, "y": 4, "w": 2.75}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y":4, "w": 1.25}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/lucid/alexa_solder/keymaps/default/keymap.c b/keyboards/lucid/alexa_solder/keymaps/default/keymap.c new file mode 100644 index 000000000000..89ab39deace5 --- /dev/null +++ b/keyboards/lucid/alexa_solder/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* +Copyright 2022 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + 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_GRV, + 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_PGUP, + 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, + KC_LSFT, 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_END, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_all( + 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, KC_BSPC, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, 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_PGDN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; diff --git a/keyboards/lucid/alexa_solder/keymaps/via/keymap.c b/keyboards/lucid/alexa_solder/keymaps/via/keymap.c new file mode 100644 index 000000000000..bbf11418c787 --- /dev/null +++ b/keyboards/lucid/alexa_solder/keymaps/via/keymap.c @@ -0,0 +1,57 @@ +/* +Copyright 2022 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + 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_GRV, + 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_PGUP, + 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, + KC_LSFT, 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_END, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_all( + 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, KC_BSPC, KC_TRNS, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE,RESET, KC_PGUP, + 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_PGDN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ), + + [_LAYER2] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER3] = LAYOUT_all( + 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, + 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/lucid/alexa_solder/keymaps/via/rules.mk b/keyboards/lucid/alexa_solder/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/lucid/alexa_solder/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/lucid/alexa_solder/readme.md b/keyboards/lucid/alexa_solder/readme.md new file mode 100644 index 000000000000..3a16e5817823 --- /dev/null +++ b/keyboards/lucid/alexa_solder/readme.md @@ -0,0 +1,13 @@ +# Alexa Solder PCB by Lucid + +The following is the QMK Firmware for the Alexa *Solder* PCB for [MakerKeyboards](http://www.makerkeyboards.com). +* Keyboard Maintainer: Lucid +* Hardware Supported: Alexa + +Make example for this keyboard (after setting up your build environment): + + make lucid/alexa_solder:default + +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). + +Bootloader can be entered by pressing the reset button near the main microcontroller while the board is plugged in. Alternatively, it may be entered by holding the top-left-most switch and plugging in the PCB while held. diff --git a/keyboards/lucid/alexa_solder/rules.mk b/keyboards/lucid/alexa_solder/rules.mk new file mode 100644 index 000000000000..67f00abb1efe --- /dev/null +++ b/keyboards/lucid/alexa_solder/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency +F_CPU = 8000000 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 2275b35e924998645852ae5b85a982c369ebfd8c Mon Sep 17 00:00:00 2001 From: skeletonkbd <90203406+skeletonkbd@users.noreply.github.com> Date: Fri, 29 Apr 2022 03:16:21 +0900 Subject: [PATCH 0612/1832] [Keyboard] Add SkeletonNumPad (#16753) * add SkeletonNumPad keyboard * fix * fix * fixed info.json * Update keyboards/skeletonkbd/skeletonnumpad/rules.mk Co-authored-by: Ryan * Change RGBLIGHT_LIMIT_VAL Co-authored-by: Ryan --- keyboards/skeletonkbd/skeletonnumpad/config.h | 145 ++++++++++++++++++ .../skeletonkbd/skeletonnumpad/info.json | 10 ++ .../skeletonnumpad/keymaps/default/keymap.c | 56 +++++++ .../skeletonnumpad/keymaps/default/readme.md | 3 + .../skeletonnumpad/keymaps/via/keymap.c | 55 +++++++ .../skeletonnumpad/keymaps/via/readme.md | 3 + .../skeletonnumpad/keymaps/via/rules.mk | 1 + .../skeletonkbd/skeletonnumpad/readme.md | 27 ++++ keyboards/skeletonkbd/skeletonnumpad/rules.mk | 18 +++ .../skeletonnumpad/skeletonnumpad.c | 17 ++ .../skeletonnumpad/skeletonnumpad.h | 42 +++++ 11 files changed, 377 insertions(+) create mode 100644 keyboards/skeletonkbd/skeletonnumpad/config.h create mode 100644 keyboards/skeletonkbd/skeletonnumpad/info.json create mode 100644 keyboards/skeletonkbd/skeletonnumpad/keymaps/default/keymap.c create mode 100644 keyboards/skeletonkbd/skeletonnumpad/keymaps/default/readme.md create mode 100644 keyboards/skeletonkbd/skeletonnumpad/keymaps/via/keymap.c create mode 100644 keyboards/skeletonkbd/skeletonnumpad/keymaps/via/readme.md create mode 100644 keyboards/skeletonkbd/skeletonnumpad/keymaps/via/rules.mk create mode 100644 keyboards/skeletonkbd/skeletonnumpad/readme.md create mode 100644 keyboards/skeletonkbd/skeletonnumpad/rules.mk create mode 100644 keyboards/skeletonkbd/skeletonnumpad/skeletonnumpad.c create mode 100644 keyboards/skeletonkbd/skeletonnumpad/skeletonnumpad.h diff --git a/keyboards/skeletonkbd/skeletonnumpad/config.h b/keyboards/skeletonkbd/skeletonnumpad/config.h new file mode 100644 index 000000000000..3e93068b5a2f --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/config.h @@ -0,0 +1,145 @@ +/* +Copyright 2022 SkeletonKBD + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x736C +#define PRODUCT_ID 0x6E70 +#define DEVICE_VER 0x0001 +#define MANUFACTURER SkeletonKBD +#define PRODUCT SkeletonNumPad + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 4 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B6, C6, C7, F7, F6 } +#define MATRIX_COL_PINS { D6, D7, B4, B5 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +#define RGB_DI_PIN D4 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 17 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/skeletonkbd/skeletonnumpad/info.json b/keyboards/skeletonkbd/skeletonnumpad/info.json new file mode 100644 index 000000000000..62f3861e5ee6 --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "skeletonnumpad", + "url": "https://github.com/skeletonkbd/SkeletonNumPad", + "maintainer": "skeletonkbd", + "layouts": { + "LAYOUT_numpad_5x4": { + "layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Enter", "x":3, "y":3, "h":2}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}] + } + } +} \ No newline at end of file diff --git a/keyboards/skeletonkbd/skeletonnumpad/keymaps/default/keymap.c b/keyboards/skeletonkbd/skeletonnumpad/keymaps/default/keymap.c new file mode 100644 index 000000000000..0f6bd59563fb --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/keymaps/default/keymap.c @@ -0,0 +1,56 @@ +/* Copyright 2022 SkeletonKBD + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _L1, + _L2, + _L3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_numpad_5x4( + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + [_L1] = LAYOUT_numpad_5x4( + 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, KC_TRNS + ), + [_L2] = LAYOUT_numpad_5x4( + 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, KC_TRNS + ), + [_L3] = LAYOUT_numpad_5x4( + 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, KC_TRNS + ), +}; + diff --git a/keyboards/skeletonkbd/skeletonnumpad/keymaps/default/readme.md b/keyboards/skeletonkbd/skeletonnumpad/keymaps/default/readme.md new file mode 100644 index 000000000000..4a4ed5e7e992 --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/keymaps/default/readme.md @@ -0,0 +1,3 @@ +![SkeletonNumPad Layout Image](https://i.imgur.com/oHqihGI.png) + +# The default keymap for skeletonnumpad \ No newline at end of file diff --git a/keyboards/skeletonkbd/skeletonnumpad/keymaps/via/keymap.c b/keyboards/skeletonkbd/skeletonnumpad/keymaps/via/keymap.c new file mode 100644 index 000000000000..d6add70ce1fb --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/keymaps/via/keymap.c @@ -0,0 +1,55 @@ +/* Copyright 2022 SkeletonKBD + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _L1, + _L2, + _L3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_numpad_5x4( + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + [_L1] = LAYOUT_numpad_5x4( + 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, KC_TRNS + ), + [_L2] = LAYOUT_numpad_5x4( + 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, KC_TRNS + ), + [_L3] = LAYOUT_numpad_5x4( + 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, KC_TRNS + ), +}; diff --git a/keyboards/skeletonkbd/skeletonnumpad/keymaps/via/readme.md b/keyboards/skeletonkbd/skeletonnumpad/keymaps/via/readme.md new file mode 100644 index 000000000000..8ebc93b1f80c --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/keymaps/via/readme.md @@ -0,0 +1,3 @@ +![SkeletonNumPad Layout Image](https://i.imgur.com/oHqihGI.png) + +# The default keymap for skeletonnumpad diff --git a/keyboards/skeletonkbd/skeletonnumpad/keymaps/via/rules.mk b/keyboards/skeletonkbd/skeletonnumpad/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/skeletonkbd/skeletonnumpad/readme.md b/keyboards/skeletonkbd/skeletonnumpad/readme.md new file mode 100644 index 000000000000..fc67c79e54f8 --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/readme.md @@ -0,0 +1,27 @@ +# SkeletonNumPad + +![skeletonnumpad](https://i.imgur.com/nWPda21h.jpeg) + +Simple NumPad with acrylic case. + +- Keyboard Maintainer: [SkeletonKBD](https://github.com/skeletonkbd/SkeletonNumPad) +- Hardware Supported: SkeletonNumPad +- Hardware Availability: https://github.com/skeletonkbd/SkeletonNumPad + +Make example for this keyboard (after setting up your build environment): + + make skeletonkbd/skeletonnumpad:default + +Flashing example for this keyboard: + + make skeletonkbd/skeletonnumpad:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +- **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +- **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/skeletonkbd/skeletonnumpad/rules.mk b/keyboards/skeletonkbd/skeletonnumpad/rules.mk new file mode 100644 index 000000000000..3ff392a61f5b --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/skeletonkbd/skeletonnumpad/skeletonnumpad.c b/keyboards/skeletonkbd/skeletonnumpad/skeletonnumpad.c new file mode 100644 index 000000000000..38c78ca56e2b --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/skeletonnumpad.c @@ -0,0 +1,17 @@ +/* Copyright 2022 SkeletonKBD + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "skeletonnumpad.h" diff --git a/keyboards/skeletonkbd/skeletonnumpad/skeletonnumpad.h b/keyboards/skeletonkbd/skeletonnumpad/skeletonnumpad.h new file mode 100644 index 000000000000..9782090efedc --- /dev/null +++ b/keyboards/skeletonkbd/skeletonnumpad/skeletonnumpad.h @@ -0,0 +1,42 @@ +/* Copyright 2022 SkeletonKBD + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +#define LAYOUT_numpad_5x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, \ + K20, K21, K22, K13, \ + K30, K31, K32, \ + K40, K42, K33 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, KC_NO },\ + { K30, K31, K32, K33 }, \ + { K40, KC_NO, K42, KC_NO } \ +} From 0de08b09e7f756270374ae222561e9880918a71f Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 29 Apr 2022 09:36:48 +1000 Subject: [PATCH 0613/1832] Sendstring keycode overhaul (#16941) --- quantum/send_string_keycodes.h | 463 +++++++++++++++++++-------------- 1 file changed, 267 insertions(+), 196 deletions(-) diff --git a/quantum/send_string_keycodes.h b/quantum/send_string_keycodes.h index 7017e03d5abe..b35bf66b7b83 100644 --- a/quantum/send_string_keycodes.h +++ b/quantum/send_string_keycodes.h @@ -21,45 +21,53 @@ /* Punctuation */ #define X_ENT X_ENTER #define X_ESC X_ESCAPE -#define X_BSPC X_BSPACE +#define X_BSPC X_BACKSPACE #define X_SPC X_SPACE #define X_MINS X_MINUS #define X_EQL X_EQUAL -#define X_LBRC X_LBRACKET -#define X_RBRC X_RBRACKET -#define X_BSLS X_BSLASH +#define X_LBRC X_LEFT_BRACKET +#define X_RBRC X_RIGHT_BRACKET +#define X_BSLS X_BACKSLASH #define X_NUHS X_NONUS_HASH -#define X_SCLN X_SCOLON +#define X_SCLN X_SEMICOLON #define X_QUOT X_QUOTE #define X_GRV X_GRAVE #define X_COMM X_COMMA #define X_SLSH X_SLASH -#define X_NUBS X_NONUS_BSLASH +#define X_NUBS X_NONUS_BACKSLASH /* Lock Keys */ -#define X_CLCK X_CAPSLOCK -#define X_CAPS X_CAPSLOCK -#define X_SLCK X_SCROLLLOCK -#define X_NLCK X_NUMLOCK -#define X_LCAP X_LOCKING_CAPS -#define X_LNUM X_LOCKING_NUM -#define X_LSCR X_LOCKING_SCROLL +#define X_CAPS X_CAPS_LOCK +#define X_SCRL X_SCROLL_LOCK +#define X_NUM X_NUM_LOCK +#define X_LCAP X_LOCKING_CAPS_LOCK +#define X_LNUM X_LOCKING_NUM_LOCK +#define X_LSCR X_LOCKING_SCROLL_LOCK /* Commands */ -#define X_PSCR X_PSCREEN +#define X_PSCR X_PRINT_SCREEN #define X_PAUS X_PAUSE #define X_BRK X_PAUSE #define X_INS X_INSERT +#define X_PGUP X_PAGE_UP #define X_DEL X_DELETE -#define X_PGDN X_PGDOWN +#define X_PGDN X_PAGE_DOWN #define X_RGHT X_RIGHT #define X_APP X_APPLICATION #define X_EXEC X_EXECUTE #define X_SLCT X_SELECT #define X_AGIN X_AGAIN #define X_PSTE X_PASTE -#define X_ERAS X_ALT_ERASE +#define X_ERAS X_ALTERNATE_ERASE +#define X_SYRQ X_SYSTEM_REQUEST +#define X_CNCL X_CANCEL #define X_CLR X_CLEAR +#define X_PRIR X_PRIOR +#define X_RETN X_RETURN +#define X_SEPR X_SEPARATOR +#define X_CLAG X_CLEAR_AGAIN +#define X_CRSL X_CRSEL +#define X_EXSL X_EXSEL /* Keypad */ #define X_PSLS X_KP_SLASH @@ -81,30 +89,42 @@ #define X_PEQL X_KP_EQUAL #define X_PCMM X_KP_COMMA -/* Japanese specific */ -#define X_ZKHK X_GRAVE -#define X_RO X_INT1 -#define X_KANA X_INT2 -#define X_JYEN X_INT3 -#define X_HENK X_INT4 -#define X_MHEN X_INT5 - -/* Korean specific */ -#define X_HAEN X_LANG1 -#define X_HANJ X_LANG2 +/* Language Specific */ +#define X_INT1 X_INTERNATIONAL_1 +#define X_INT2 X_INTERNATIONAL_2 +#define X_INT3 X_INTERNATIONAL_3 +#define X_INT4 X_INTERNATIONAL_4 +#define X_INT5 X_INTERNATIONAL_5 +#define X_INT6 X_INTERNATIONAL_6 +#define X_INT7 X_INTERNATIONAL_7 +#define X_INT8 X_INTERNATIONAL_8 +#define X_INT9 X_INTERNATIONAL_9 +#define X_LNG1 X_LANGUAGE_1 +#define X_LNG2 X_LANGUAGE_2 +#define X_LNG3 X_LANGUAGE_3 +#define X_LNG4 X_LANGUAGE_4 +#define X_LNG5 X_LANGUAGE_5 +#define X_LNG6 X_LANGUAGE_6 +#define X_LNG7 X_LANGUAGE_7 +#define X_LNG8 X_LANGUAGE_8 +#define X_LNG9 X_LANGUAGE_9 /* Modifiers */ -#define X_LCTL X_LCTRL -#define X_LSFT X_LSHIFT -#define X_LOPT X_LALT -#define X_LCMD X_LGUI -#define X_LWIN X_LGUI -#define X_RCTL X_RCTRL -#define X_RSFT X_RSHIFT -#define X_ALGR X_RALT -#define X_ROPT X_RALT -#define X_RCMD X_RGUI -#define X_RWIN X_RGUI +#define X_LCTL X_LEFT_CTRL +#define X_LSFT X_LEFT_SHIFT +#define X_LALT X_LEFT_ALT +#define X_LOPT X_LEFT_ALT +#define X_LGUI X_LEFT_GUI +#define X_LCMD X_LEFT_GUI +#define X_LWIN X_LEFT_GUI +#define X_RCTL X_RIGHT_CTRL +#define X_RSFT X_RIGHT_SHIFT +#define X_RALT X_RIGHT_ALT +#define X_ALGR X_RIGHT_ALT +#define X_ROPT X_RIGHT_ALT +#define X_RGUI X_RIGHT_GUI +#define X_RCMD X_RIGHT_GUI +#define X_RWIN X_RIGHT_GUI /* Generic Desktop Page (0x01) */ #define X_PWR X_SYSTEM_POWER @@ -137,7 +157,7 @@ /* System Specific */ #define X_BRMU X_PAUSE -#define X_BRMD X_SCROLLLOCK +#define X_BRMD X_SCROLL_LOCK /* Mouse Keys */ #define X_MS_U X_MS_UP @@ -149,6 +169,9 @@ #define X_BTN3 X_MS_BTN3 #define X_BTN4 X_MS_BTN4 #define X_BTN5 X_MS_BTN5 +#define X_BTN6 X_MS_BTN6 +#define X_BTN7 X_MS_BTN7 +#define X_BTN8 X_MS_BTN8 #define X_WH_U X_MS_WH_UP #define X_WH_D X_MS_WH_DOWN #define X_WH_L X_MS_WH_LEFT @@ -158,157 +181,157 @@ #define X_ACL2 X_MS_ACCEL2 /* Keyboard/Keypad Page (0x07) */ -#define X_A 04 -#define X_B 05 -#define X_C 06 -#define X_D 07 -#define X_E 08 -#define X_F 09 -#define X_G 0a -#define X_H 0b -#define X_I 0c -#define X_J 0d -#define X_K 0e -#define X_L 0f -#define X_M 10 -#define X_N 11 -#define X_O 12 -#define X_P 13 -#define X_Q 14 -#define X_R 15 -#define X_S 16 -#define X_T 17 -#define X_U 18 -#define X_V 19 -#define X_W 1a -#define X_X 1b -#define X_Y 1c -#define X_Z 1d -#define X_1 1e -#define X_2 1f -#define X_3 20 -#define X_4 21 -#define X_5 22 -#define X_6 23 -#define X_7 24 -#define X_8 25 -#define X_9 26 -#define X_0 27 -#define X_ENTER 28 -#define X_ESCAPE 29 -#define X_BSPACE 2a -#define X_TAB 2b -#define X_SPACE 2c -#define X_MINUS 2d -#define X_EQUAL 2e -#define X_LBRACKET 2f -#define X_RBRACKET 30 -#define X_BSLASH 31 -#define X_NONUS_HASH 32 -#define X_SCOLON 33 -#define X_QUOTE 34 -#define X_GRAVE 35 -#define X_COMMA 36 -#define X_DOT 37 -#define X_SLASH 38 -#define X_CAPSLOCK 39 -#define X_F1 3a -#define X_F2 3b -#define X_F3 3c -#define X_F4 3d -#define X_F5 3e -#define X_F6 3f -#define X_F7 40 -#define X_F8 41 -#define X_F9 42 -#define X_F10 43 -#define X_F11 44 -#define X_F12 45 -#define X_PSCREEN 46 -#define X_SCROLLLOCK 47 -#define X_PAUSE 48 -#define X_INSERT 49 -#define X_HOME 4a -#define X_PGUP 4b -#define X_DELETE 4c -#define X_END 4d -#define X_PGDOWN 4e -#define X_RIGHT 4f -#define X_LEFT 50 -#define X_DOWN 51 -#define X_UP 52 -#define X_NUMLOCK 53 -#define X_KP_SLASH 54 -#define X_KP_ASTERISK 55 -#define X_KP_MINUS 56 -#define X_KP_PLUS 57 -#define X_KP_ENTER 58 -#define X_KP_1 59 -#define X_KP_2 5a -#define X_KP_3 5b -#define X_KP_4 5c -#define X_KP_5 5d -#define X_KP_6 5e -#define X_KP_7 5f -#define X_KP_8 60 -#define X_KP_9 61 -#define X_KP_0 62 -#define X_KP_DOT 63 -#define X_NONUS_BSLASH 64 -#define X_APPLICATION 65 -#define X_POWER 66 -#define X_KP_EQUAL 67 -#define X_F13 68 -#define X_F14 69 -#define X_F15 6a -#define X_F16 6b -#define X_F17 6c -#define X_F18 6d -#define X_F19 6e -#define X_F20 6f -#define X_F21 70 -#define X_F22 71 -#define X_F23 72 -#define X_F24 73 -#define X_EXECUTE 74 -#define X_HELP 75 -#define X_MENU 76 -#define X_SELECT 77 -#define X_STOP 78 -#define X_AGAIN 79 -#define X_UNDO 7a -#define X_CUT 7b -#define X_COPY 7c -#define X_PASTE 7d -#define X_FIND 7e -#define X__MUTE 7f -#define X__VOLUP 80 -#define X__VOLDOWN 81 -#define X_LOCKING_CAPS 82 -#define X_LOCKING_NUM 83 -#define X_LOCKING_SCROLL 84 +#define X_A 04 +#define X_B 05 +#define X_C 06 +#define X_D 07 +#define X_E 08 +#define X_F 09 +#define X_G 0a +#define X_H 0b +#define X_I 0c +#define X_J 0d +#define X_K 0e +#define X_L 0f +#define X_M 10 +#define X_N 11 +#define X_O 12 +#define X_P 13 +#define X_Q 14 +#define X_R 15 +#define X_S 16 +#define X_T 17 +#define X_U 18 +#define X_V 19 +#define X_W 1a +#define X_X 1b +#define X_Y 1c +#define X_Z 1d +#define X_1 1e +#define X_2 1f +#define X_3 20 +#define X_4 21 +#define X_5 22 +#define X_6 23 +#define X_7 24 +#define X_8 25 +#define X_9 26 +#define X_0 27 +#define X_ENTER 28 +#define X_ESCAPE 29 +#define X_BACKSPACE 2a +#define X_TAB 2b +#define X_SPACE 2c +#define X_MINUS 2d +#define X_EQUAL 2e +#define X_LEFT_BRACKET 2f +#define X_RIGHT_BRACKET 30 +#define X_BACKSLASH 31 +#define X_NONUS_HASH 32 +#define X_SEMICOLON 33 +#define X_QUOTE 34 +#define X_GRAVE 35 +#define X_COMMA 36 +#define X_DOT 37 +#define X_SLASH 38 +#define X_CAPS_LOCK 39 +#define X_F1 3a +#define X_F2 3b +#define X_F3 3c +#define X_F4 3d +#define X_F5 3e +#define X_F6 3f +#define X_F7 40 +#define X_F8 41 +#define X_F9 42 +#define X_F10 43 +#define X_F11 44 +#define X_F12 45 +#define X_PRINT_SCREEN 46 +#define X_SCROLL_LOCK 47 +#define X_PAUSE 48 +#define X_INSERT 49 +#define X_HOME 4a +#define X_PAGE_UP 4b +#define X_DELETE 4c +#define X_END 4d +#define X_PAGE_DOWN 4e +#define X_RIGHT 4f +#define X_LEFT 50 +#define X_DOWN 51 +#define X_UP 52 +#define X_NUM_LOCK 53 +#define X_KP_SLASH 54 +#define X_KP_ASTERISK 55 +#define X_KP_MINUS 56 +#define X_KP_PLUS 57 +#define X_KP_ENTER 58 +#define X_KP_1 59 +#define X_KP_2 5a +#define X_KP_3 5b +#define X_KP_4 5c +#define X_KP_5 5d +#define X_KP_6 5e +#define X_KP_7 5f +#define X_KP_8 60 +#define X_KP_9 61 +#define X_KP_0 62 +#define X_KP_DOT 63 +#define X_NONUS_BACKSLASH 64 +#define X_APPLICATION 65 +#define X_KB_POWER 66 +#define X_KP_EQUAL 67 +#define X_F13 68 +#define X_F14 69 +#define X_F15 6a +#define X_F16 6b +#define X_F17 6c +#define X_F18 6d +#define X_F19 6e +#define X_F20 6f +#define X_F21 70 +#define X_F22 71 +#define X_F23 72 +#define X_F24 73 +#define X_EXECUTE 74 +#define X_HELP 75 +#define X_MENU 76 +#define X_SELECT 77 +#define X_STOP 78 +#define X_AGAIN 79 +#define X_UNDO 7a +#define X_CUT 7b +#define X_COPY 7c +#define X_PASTE 7d +#define X_FIND 7e +#define X_KB_MUTE 7f +#define X_KB_VOLUME_UP 80 +#define X_KB_VOLUME_DOWN 81 +#define X_LOCKING_CAPS_LOCK 82 +#define X_LOCKING_NUM_LOCK 83 +#define X_LOCKING_SCROLL_LOCK 84 #define X_KP_COMMA 85 #define X_KP_EQUAL_AS400 86 -#define X_INT1 87 -#define X_INT2 88 -#define X_INT3 89 -#define X_INT4 8a -#define X_INT5 8b -#define X_INT6 8c -#define X_INT7 8d -#define X_INT8 8e -#define X_INT9 8f -#define X_LANG1 90 -#define X_LANG2 91 -#define X_LANG3 92 -#define X_LANG4 93 -#define X_LANG5 94 -#define X_LANG6 95 -#define X_LANG7 96 -#define X_LANG8 97 -#define X_LANG9 98 -#define X_ALT_ERASE 99 -#define X_SYSREQ 9a +#define X_INTERNATIONAL_1 87 +#define X_INTERNATIONAL_2 88 +#define X_INTERNATIONAL_3 89 +#define X_INTERNATIONAL_4 8a +#define X_INTERNATIONAL_5 8b +#define X_INTERNATIONAL_6 8c +#define X_INTERNATIONAL_7 8d +#define X_INTERNATIONAL_8 8e +#define X_INTERNATIONAL_9 8f +#define X_LANGUAGE_1 90 +#define X_LANGUAGE_2 91 +#define X_LANGUAGE_3 92 +#define X_LANGUAGE_4 93 +#define X_LANGUAGE_5 94 +#define X_LANGUAGE_6 95 +#define X_LANGUAGE_7 96 +#define X_LANGUAGE_8 97 +#define X_LANGUAGE_9 98 +#define X_ALTERNATE_ERASE 99 +#define X_SYSTEM_REQUEST 9a #define X_CANCEL 9b #define X_CLEAR 9c #define X_PRIOR 9d @@ -321,14 +344,14 @@ #define X_EXSEL a4 /* Modifiers */ -#define X_LCTRL e0 -#define X_LSHIFT e1 -#define X_LALT e2 -#define X_LGUI e3 -#define X_RCTRL e4 -#define X_RSHIFT e5 -#define X_RALT e6 -#define X_RGUI e7 +#define X_LEFT_CTRL e0 +#define X_LEFT_SHIFT e1 +#define X_LEFT_ALT e2 +#define X_LEFT_GUI e3 +#define X_RIGHT_CTRL e4 +#define X_RIGHT_SHIFT e5 +#define X_RIGHT_ALT e6 +#define X_RIGHT_GUI e7 /* Media and Function keys */ /* Generic Desktop Page (0x01) */ @@ -431,4 +454,52 @@ #define SS_RWIN(string) SS_RGUI(string) // DEPRECATED +#define X_BSPACE X_BACKSPACE +#define X_LBRACKET X_LEFT_BRACKET +#define X_RBRACKET X_RIGHT_BRACKET +#define X_BSLASH X_BACKSLASH +#define X_SCOLON X_SEMICOLON +#define X_CAPSLOCK X_CAPS_LOCK +#define X_PSCREEN X_PRINT_SCREEN +#define X_SCROLLLOCK X_SCROLL_LOCK +#define X_PGDOWN X_PAGE_DOWN +#define X_NUMLOCK X_NUM_LOCK +#define X_NONUS_BSLASH X_NONUS_BACKSLASH +#define X_POWER X_KB_POWER +#define X__MUTE X_KB_MUTE +#define X__VOLUP X_KB_VOLUME_UP +#define X__VOLDOWN X_KB_VOLUME_DOWN +#define X_LOCKING_CAPS X_LOCKING_CAPS_LOCK +#define X_LOCKING_NUM X_LOCKING_NUM_LOCK +#define X_LOCKING_SCROLL X_LOCKING_SCROLL_LOCK +#define X_LANG1 X_LANGUAGE_1 +#define X_LANG2 X_LANGUAGE_2 +#define X_LANG3 X_LANGUAGE_3 +#define X_LANG4 X_LANGUAGE_4 +#define X_LANG5 X_LANGUAGE_5 +#define X_LANG6 X_LANGUAGE_6 +#define X_LANG7 X_LANGUAGE_7 +#define X_LANG8 X_LANGUAGE_8 +#define X_LANG9 X_LANGUAGE_9 +#define X_ALT_ERASE X_ALTERNATE_ERASE +#define X_SYSREQ X_SYSTEM_REQUEST + +#define X_LCTRL X_LEFT_CTRL +#define X_LSHIFT X_LEFT_SHIFT +#define X_RCTRL X_RIGHT_CTRL +#define X_RSHIFT X_RIGHT_SHIFT + +#define X_ZKHK X_GRAVE +#define X_RO X_INTERNATIONAL_1 +#define X_KANA X_INTERNATIONAL_2 +#define X_JYEN X_INTERNATIONAL_3 +#define X_HENK X_INTERNATIONAL_4 +#define X_MHEN X_INTERNATIONAL_5 +#define X_HAEN X_LANGUAGE_1 +#define X_HANJ X_LANGUAGE_2 + +#define X_CLCK X_CAPS_LOCK +#define X_SLCK X_SCROLL_LOCK +#define X_NLCK X_NUM_LOCK + #define SS_LCTRL(string) SS_LCTL(string) From d458d4a596cd1fe8f0a21b9b70ab2e5cd190e7c7 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 29 Apr 2022 01:23:50 +0100 Subject: [PATCH 0614/1832] Move disable_jtag to platforms (#16960) --- platforms/avr/platform.c | 13 ++++++++++++- quantum/keyboard.c | 14 -------------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/platforms/avr/platform.c b/platforms/avr/platform.c index 3e35b4fe4c74..37decb6ec8e3 100644 --- a/platforms/avr/platform.c +++ b/platforms/avr/platform.c @@ -16,6 +16,17 @@ #include "platform_deps.h" +static void disable_jtag(void) { +// To use PF4-7 (PC2-5 on ATmega32A), disable JTAG by writing JTD bit twice within four cycles. +#if (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) + MCUCR |= _BV(JTD); + MCUCR |= _BV(JTD); +#elif defined(__AVR_ATmega32A__) + MCUCSR |= _BV(JTD); + MCUCSR |= _BV(JTD); +#endif +} + void platform_setup(void) { - // do nothing + disable_jtag(); } diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 63236f0b20bb..1dccd48e2fec 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -211,17 +211,6 @@ static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata) { #endif -void disable_jtag(void) { -// To use PF4-7 (PC2-5 on ATmega32A), disable JTAG by writing JTD bit twice within four cycles. -#if (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) - MCUCR |= _BV(JTD); - MCUCR |= _BV(JTD); -#elif defined(__AVR_ATmega32A__) - MCUCSR |= _BV(JTD); - MCUCSR |= _BV(JTD); -#endif -} - /** \brief matrix_setup * * FIXME: needs doc @@ -263,9 +252,6 @@ __attribute__((weak)) void keyboard_post_init_kb(void) { * FIXME: needs doc */ void keyboard_setup(void) { -#ifndef NO_JTAG_DISABLE - disable_jtag(); -#endif print_set_sendchar(sendchar); #ifdef EEPROM_DRIVER eeprom_driver_init(); From 6e819945ed7d0084f22cbf4221eb166243c3ce07 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 29 Apr 2022 01:31:55 +0100 Subject: [PATCH 0615/1832] Remove some layout exceptions (#16957) * LAYOUT_JP -> LAYOUT_jp * LAYOUT_ANSI_DEFAULT -> LAYOUT * LAYOUT_reviung34_2uL -> LAYOUT_reviung34_2u --- data/schemas/definitions.jsonschema | 5 +-- keyboards/handwired/xealous/info.json | 23 +++++------- .../xealous/keymaps/default/keymap.c | 9 ++--- keyboards/handwired/xealous/rev1/rev1.h | 2 - keyboards/hhkb/jp/info.json | 2 +- keyboards/hhkb/jp/jp.h | 2 +- keyboards/hhkb/jp/keymaps/bakingpy/keymap.c | 4 +- keyboards/hhkb/jp/keymaps/default/keymap.c | 4 +- .../hhkb/jp/keymaps/default_mac/keymap.c | 4 +- keyboards/hhkb/jp/keymaps/dhertz/keymap.c | 6 +-- keyboards/hhkb/jp/keymaps/enoch_jp/keymap.c | 4 +- .../hhkb/jp/keymaps/halfqwerty_jp/keymap.c | 6 +-- keyboards/hhkb/jp/keymaps/rdg_jp/keymap.c | 6 +-- keyboards/hhkb/jp/keymaps/sh_jp/keymap.c | 10 ++--- keyboards/hhkb/jp/keymaps/via/keymap.c | 6 +-- keyboards/reviung/reviung34/info.json | 37 +++++++++++++++++++ .../{default_2uL => default_2u}/keymap.c | 8 ++-- .../{default_2uL => default_2u}/readme.md | 0 .../reviung34/keymaps/default_rgb2u/keymap.c | 8 ++-- keyboards/reviung/reviung34/reviung34.h | 2 +- 20 files changed, 86 insertions(+), 62 deletions(-) rename keyboards/reviung/reviung34/keymaps/{default_2uL => default_2u}/keymap.c (95%) rename keyboards/reviung/reviung34/keymaps/{default_2uL => default_2u}/readme.md (100%) diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index cca30af8273e..1bdfbbeb0356 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -41,8 +41,6 @@ "LAYOUT_2x2uC", "LAYOUT_2x3uC", "LAYOUT_625uC", - "LAYOUT_ANSI_DEFAULT", - "LAYOUT_JP", "LAYOUT_ortho_3x12_1x2uC", "LAYOUT_ortho_4x12_1x2uC", "LAYOUT_ortho_4x12_1x2uL", @@ -57,8 +55,7 @@ "LAYOUT_planck_1x2uR", "LAYOUT_preonic_1x2uC", "LAYOUT_preonic_1x2uL", - "LAYOUT_preonic_1x2uR", - "LAYOUT_reviung34_2uL" + "LAYOUT_preonic_1x2uR" ] }, { diff --git a/keyboards/handwired/xealous/info.json b/keyboards/handwired/xealous/info.json index 7113c311f2a7..9cd634a21073 100644 --- a/keyboards/handwired/xealous/info.json +++ b/keyboards/handwired/xealous/info.json @@ -3,7 +3,7 @@ "url": "", "maintainer": "alex-ong", "layouts": { - "LAYOUT_ANSI_DEFAULT": { + "LAYOUT": { "layout": [ {"label":"Esc", "x":0, "y":0}, {"label":"1", "x":1, "y":0}, @@ -25,11 +25,7 @@ {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, - { - "label": "R", - "x": 4.5, - "y": 1 - }, + {"label":"R", "x": 4.5,"y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, @@ -73,15 +69,14 @@ {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, - {"x":3.75, "y":4, "w":2.75}, - {"x":6.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":1.25}, + {"x":5, "y":4, "w":2.25}, - {"x":7.75, "y":4, "w":1.25}, - {"x":9, "y":4, "w":2.0}, - {"label":"Alt", "x":11, "y":4}, - {"label":"Win", "x":12, "y":4}, - {"label":"Menu", "x":13, "y":4}, - {"label":"Ctrl", "x":14, "y":4} + {"x":7.25, "y":4, "w":2.75}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Win", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} ] } } diff --git a/keyboards/handwired/xealous/keymaps/default/keymap.c b/keyboards/handwired/xealous/keymaps/default/keymap.c index bf7caef622e4..c0ce72214d3a 100644 --- a/keyboards/handwired/xealous/keymaps/default/keymap.c +++ b/keyboards/handwired/xealous/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ /* Layer 0: Qwerty */ - [_QWERTY] = LAYOUT_split60( + [_QWERTY] = LAYOUT( 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_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, FN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Layer 1: Numpad */ - [_NUMPAD] = LAYOUT_split60( + [_NUMPAD] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_PSLS, KC_PAST, KC_MINUS, _______, _______, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PLUS, _______, _______, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_BSPC, _______, _______, @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Layer 2: RAISE */ - [_FN] = LAYOUT_split60( + [_FN] = LAYOUT( 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, KC_DEL, KC_CAPS, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT, _______, KC_HOME, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, KC_DEL, _______, @@ -96,6 +96,3 @@ layer_state_t default_layer_state_set_kb(layer_state_t state) { return state; } #endif - -void led_set_keymap(uint8_t usb_led) { -} diff --git a/keyboards/handwired/xealous/rev1/rev1.h b/keyboards/handwired/xealous/rev1/rev1.h index 88e5ef376ee3..ce8d68c2c109 100644 --- a/keyboards/handwired/xealous/rev1/rev1.h +++ b/keyboards/handwired/xealous/rev1/rev1.h @@ -22,5 +22,3 @@ { R30, R31, R32, R33, R34, R35, XXX, XXX }, \ { R40, R41, R42, R43, R44, XXX, XXX, XXX } \ } - -#define LAYOUT_split60 LAYOUT diff --git a/keyboards/hhkb/jp/info.json b/keyboards/hhkb/jp/info.json index b9064880dde8..ee9d1de53aa1 100644 --- a/keyboards/hhkb/jp/info.json +++ b/keyboards/hhkb/jp/info.json @@ -3,7 +3,7 @@ "url": "", "maintainer": "qmk", "layouts": { - "LAYOUT_JP": { + "LAYOUT_jp": { "layout": [ { "label": "Esc", "x": 0, "y": 0 }, { "label": "!", "x": 1, "y": 0 }, diff --git a/keyboards/hhkb/jp/jp.h b/keyboards/hhkb/jp/jp.h index a95796f25f9d..b243e5546c36 100644 --- a/keyboards/hhkb/jp/jp.h +++ b/keyboards/hhkb/jp/jp.h @@ -2,7 +2,7 @@ #include "quantum.h" -#define LAYOUT_JP( \ +#define LAYOUT_jp( \ K02, K32, K62, K22, K12, K52, K72, KA2, K92, K82, KB2, KE2, KF2, KD2, KC2, \ K03, K63, K23, K13, K53, K73, KA3, K93, K83, KB3, KE3, KF3, KD3, \ K06, K66, K26, K16, K56, K76, KA6, K96, K86, KB6, KE6, KF6, KD6, KC6, \ diff --git a/keyboards/hhkb/jp/keymaps/bakingpy/keymap.c b/keyboards/hhkb/jp/keymaps/bakingpy/keymap.c index 04d79f9247a0..cea713dbf20a 100644 --- a/keyboards/hhkb/jp/keymaps/bakingpy/keymap.c +++ b/keyboards/hhkb/jp/keymaps/bakingpy/keymap.c @@ -1,14 +1,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_JP( + [0] = LAYOUT_jp( 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_DEL, KC_BSPC, 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_LCTL, 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_ENT, 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_BSLS, MO(1), KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_BSPC, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_JP( + [1] = LAYOUT_jp( KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT, diff --git a/keyboards/hhkb/jp/keymaps/default/keymap.c b/keyboards/hhkb/jp/keymaps/default/keymap.c index 1c7d677ccf10..a704ee5647d9 100644 --- a/keyboards/hhkb/jp/keymaps/default/keymap.c +++ b/keyboards/hhkb/jp/keymaps/default/keymap.c @@ -29,14 +29,14 @@ */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_JP( + [0] = LAYOUT_jp( 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_JYEN, KC_BSPC, 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_LCTL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_UP, KC_RSFT, MO(1), KC_ZKHK, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_HENK, KC_KANA, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_JP( + [1] = LAYOUT_jp( KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT, diff --git a/keyboards/hhkb/jp/keymaps/default_mac/keymap.c b/keyboards/hhkb/jp/keymaps/default_mac/keymap.c index 17127690f439..df08341fa46b 100644 --- a/keyboards/hhkb/jp/keymaps/default_mac/keymap.c +++ b/keyboards/hhkb/jp/keymaps/default_mac/keymap.c @@ -29,14 +29,14 @@ */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_JP( + [0] = LAYOUT_jp( 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_JYEN, KC_BSPC, 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_LCTL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_UP, KC_RSFT, MO(1), KC_GRV, KC_LALT, KC_LGUI, KC_MHEN, KC_SPC, KC_HENK, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_JP( + [1] = LAYOUT_jp( KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT, diff --git a/keyboards/hhkb/jp/keymaps/dhertz/keymap.c b/keyboards/hhkb/jp/keymaps/dhertz/keymap.c index 951af069b0e1..4c014574644c 100644 --- a/keyboards/hhkb/jp/keymaps/dhertz/keymap.c +++ b/keyboards/hhkb/jp/keymaps/dhertz/keymap.c @@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |NCt|| #|Alt|CmT|CmT| LyrSpc |CGv|Iso|Gui|CSL||Rig|Dow|Lef| * `-----------------------------------------------------------' */ - [0] = LAYOUT_JP( + [0] = LAYOUT_jp( 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_DEL,KC_BSPC, 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, SRCH_CTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS, KC_ENT, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | || ~| |CAD| | |CmH| | | || | | | * `-----------------------------------------------------------' */ - [1] = LAYOUT_JP( + [1] = LAYOUT_jp( 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, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, CMD_SPC,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, @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | || ~| | | | | | | | ||Hom|PgD|End| * `-----------------------------------------------------------' */ - [2] = LAYOUT_JP( + [2] = LAYOUT_jp( KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS,KC_DEL, KC_CAPS, DF(0), DF(1),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK,KC_PAUS, KC_UP,KC_TRNS, KC_TRNS, KC_VOLD,KC_VOLU,KC_MUTE,KC_TRNS,KC_TRNS,KC_TRNS,KC_BSPC, KC_DEL,CMD_SFT_L,KC_LEFT,KC_RGHT,KC_TRNS,KC_PENT, diff --git a/keyboards/hhkb/jp/keymaps/enoch_jp/keymap.c b/keyboards/hhkb/jp/keymaps/enoch_jp/keymap.c index 4ebdcf86daf0..2bec6bb4c6ca 100644 --- a/keyboards/hhkb/jp/keymaps/enoch_jp/keymap.c +++ b/keyboards/hhkb/jp/keymaps/enoch_jp/keymap.c @@ -29,14 +29,14 @@ */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_JP( + [0] = LAYOUT_jp( 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_GRAVE, KC_BSPC, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_ENT, 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_BSLS, KC_BSPC, KC_ZKHK, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_BSPC, KC_RSFT, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_JP( + [1] = LAYOUT_jp( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PSCR, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LEFT, KC_RGHT, _______, KC_PENT, diff --git a/keyboards/hhkb/jp/keymaps/halfqwerty_jp/keymap.c b/keyboards/hhkb/jp/keymaps/halfqwerty_jp/keymap.c index 0d4a24c60d50..ebbe13393bcf 100644 --- a/keyboards/hhkb/jp/keymaps/halfqwerty_jp/keymap.c +++ b/keyboards/hhkb/jp/keymaps/halfqwerty_jp/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||Ctl|Alt|Cmd| | Spc | | | | ||Lft|Dwn|Rgh| `-----------------------------------------------------------' */ - [BASE] = LAYOUT_JP( + [BASE] = LAYOUT_jp( 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_JYEN, KC_BSPC, 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_LCTL, 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, @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { `-----------------------------------------------------------' */ - [HHKB] = LAYOUT_JP( + [HHKB] = LAYOUT_jp( KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT, @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | || | | | | | | | | || | | | `-----------------------------------------------------------' */ - [MIRROR] = LAYOUT_JP( + [MIRROR] = LAYOUT_jp( _______, KC_0, KC_9, KC_8, KC_7, KC_6, KC_5, KC_4, KC_3, KC_2, KC_1, _______, _______, _______, _______, _______, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_T, KC_R, KC_E, KC_W, KC_Q, _______, _______, _______, KC_SCLN, KC_L, KC_K, KC_J, KC_H, KC_G, KC_F, KC_D, KC_S, KC_A, _______, _______, _______, diff --git a/keyboards/hhkb/jp/keymaps/rdg_jp/keymap.c b/keyboards/hhkb/jp/keymaps/rdg_jp/keymap.c index c893495efee5..b4eec4454776 100644 --- a/keyboards/hhkb/jp/keymaps/rdg_jp/keymap.c +++ b/keyboards/hhkb/jp/keymaps/rdg_jp/keymap.c @@ -28,21 +28,21 @@ enum */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [ZER] = LAYOUT_JP( + [ZER] = LAYOUT_jp( 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_INS, KC_BSPC, 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, CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRV, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_UP, KC_RSFT, MO(HDN), KC_LCTL, KC_LALT, KC_LGUI, MO(HDN), KC_SPC, SFT_BSP, MO(HDN), MO(OSY), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT), - [HDN] = LAYOUT_JP( + [HDN] = LAYOUT_jp( 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, _______, KC_DEL, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_TILD, KC_GRV, KC_BSLS, KC_PIPE, KC_MINS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TILD, KC_GRV, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, _______, KC_ENT, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_DEL, _______, _______, _______, KC_HOME, KC_PGDN, KC_END), - [OSY] = LAYOUT_JP( + [OSY] = LAYOUT_jp( _______, _______, _______, SCRNS3, SCRNS4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/hhkb/jp/keymaps/sh_jp/keymap.c b/keyboards/hhkb/jp/keymaps/sh_jp/keymap.c index 097a01752514..e13838007bc1 100644 --- a/keyboards/hhkb/jp/keymaps/sh_jp/keymap.c +++ b/keyboards/hhkb/jp/keymaps/sh_jp/keymap.c @@ -10,34 +10,34 @@ enum }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [DVOR] = LAYOUT_JP( + [DVOR] = LAYOUT_jp( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_JYEN, KC_BSPC, KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_BSLS, KC_ENT, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RO, KC_UP, KC_RSFT, MO(FUNC), KC_ZKHK, KC_LALT, MO(NEW_CMD), MO(SYMB), MT(MOD_LSFT, KC_SPC), MO(SYMB), KC_TAB, KC_RGUI, TG(QWER), KC_LEFT, KC_DOWN, KC_RGHT), - [QWER] = LAYOUT_JP( + [QWER] = LAYOUT_jp( 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_JYEN, KC_BSPC, 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_LCTL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_UP, KC_RSFT, MO(FUNC), KC_ZKHK, KC_LALT, MO(NEW_CMD), MO(SYMB), MT(MOD_LSFT, KC_SPC), MO(SYMB), KC_TAB, KC_RGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT), - [NEW_CMD] = LAYOUT_JP( + [NEW_CMD] = LAYOUT_jp( _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), _______, _______, _______, LGUI(KC_BSPC), _______, LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC), _______, LGUI(KC_A), LGUI(KC_S), LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), _______, _______, _______, _______, LGUI(KC_LSFT), LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_SPC), _______, _______, _______, _______, LGUI(KC_LEFT), LGUI(KC_DOWN), LGUI(KC_RGHT)), - [SYMB] = LAYOUT_JP( + [SYMB] = LAYOUT_jp( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, LSFT(KC_LBRC), LSFT(KC_RBRC), _______, _______, _______, _______, _______, LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - [FUNC] = LAYOUT_JP( + [FUNC] = LAYOUT_jp( KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT, diff --git a/keyboards/hhkb/jp/keymaps/via/keymap.c b/keyboards/hhkb/jp/keymaps/via/keymap.c index 64323309bbbb..8f23cfcd2da2 100644 --- a/keyboards/hhkb/jp/keymaps/via/keymap.c +++ b/keyboards/hhkb/jp/keymaps/via/keymap.c @@ -29,21 +29,21 @@ */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_JP( + [0] = LAYOUT_jp( 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_JYEN, KC_BSPC, 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_LCTL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_UP, KC_RSFT, MO(1), KC_ZKHK, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_HENK, KC_KANA, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_JP( + [1] = LAYOUT_jp( KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT_JP( + [2] = LAYOUT_jp( 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/reviung/reviung34/info.json b/keyboards/reviung/reviung34/info.json index ecd89d474211..6e727a4ff3c5 100755 --- a/keyboards/reviung/reviung34/info.json +++ b/keyboards/reviung/reviung34/info.json @@ -40,6 +40,43 @@ {"label":"K34", "x":4, "y":3}, {"label":"K38", "x":6, "y":3, "w":2} ] + }, + "LAYOUT_reviung34_2u": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K04", "x":4, "y":0}, + {"label":"K05", "x":6, "y":0}, + {"label":"K06", "x":7, "y":0}, + {"label":"K07", "x":8, "y":0}, + {"label":"K08", "x":9, "y":0}, + {"label":"K35", "x":10, "y":0}, + {"label":"K10", "x":0, "y":1}, + {"label":"K11", "x":1, "y":1}, + {"label":"K12", "x":2, "y":1}, + {"label":"K13", "x":3, "y":1}, + {"label":"K14", "x":4, "y":1}, + {"label":"K15", "x":6, "y":1}, + {"label":"K16", "x":7, "y":1}, + {"label":"K17", "x":8, "y":1}, + {"label":"K18", "x":9, "y":1}, + {"label":"K36", "x":10, "y":1}, + {"label":"K20", "x":0, "y":2}, + {"label":"K21", "x":1, "y":2}, + {"label":"K22", "x":2, "y":2}, + {"label":"K23", "x":3, "y":2}, + {"label":"K24", "x":4, "y":2}, + {"label":"K25", "x":6, "y":2}, + {"label":"K26", "x":7, "y":2}, + {"label":"K27", "x":8, "y":2}, + {"label":"K28", "x":9, "y":2}, + {"label":"K37", "x":10, "y":2}, + {"label":"K32", "x":2, "y":3}, + {"label":"K34", "x":3, "y":3, "w":2}, + {"label":"K38", "x":6, "y":3, "w":2} + ] } } } diff --git a/keyboards/reviung/reviung34/keymaps/default_2uL/keymap.c b/keyboards/reviung/reviung34/keymaps/default_2u/keymap.c similarity index 95% rename from keyboards/reviung/reviung34/keymaps/default_2uL/keymap.c rename to keyboards/reviung/reviung34/keymaps/default_2u/keymap.c index 767c0ff4c6f2..9f586b333c16 100755 --- a/keyboards/reviung/reviung34/keymaps/default_2uL/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_2u/keymap.c @@ -35,28 +35,28 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_reviung34_2uL( + [_BASE] = LAYOUT_reviung34_2u( CT_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS, KC_TAB, LOWER, RA_SP ), - [_LOWER] = LAYOUT_reviung34_2uL( + [_LOWER] = LAYOUT_reviung34_2u( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC, _______, _______, _______ ), - [_RAISE] = LAYOUT_reviung34_2uL( + [_RAISE] = LAYOUT_reviung34_2u( 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN, KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, _______, _______, _______ ), - [_ADJUST] = LAYOUT_reviung34_2uL( + [_ADJUST] = LAYOUT_reviung34_2u( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/reviung/reviung34/keymaps/default_2uL/readme.md b/keyboards/reviung/reviung34/keymaps/default_2u/readme.md similarity index 100% rename from keyboards/reviung/reviung34/keymaps/default_2uL/readme.md rename to keyboards/reviung/reviung34/keymaps/default_2u/readme.md diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c b/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c index f4f1d3be509e..d5a5a2223bd7 100755 --- a/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c @@ -34,28 +34,28 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_reviung34_2uL( + [_BASE] = LAYOUT_reviung34_2u( CT_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS, LOWER, KC_SPC, RAISE ), - [_LOWER] = LAYOUT_reviung34_2uL( + [_LOWER] = LAYOUT_reviung34_2u( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC, _______, _______, _______ ), - [_RAISE] = LAYOUT_reviung34_2uL( + [_RAISE] = LAYOUT_reviung34_2u( 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN, KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, _______, _______, _______ ), - [_ADJUST] = LAYOUT_reviung34_2uL( + [_ADJUST] = LAYOUT_reviung34_2u( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, diff --git a/keyboards/reviung/reviung34/reviung34.h b/keyboards/reviung/reviung34/reviung34.h index 8385e5c8c29e..1ab783ec36ab 100755 --- a/keyboards/reviung/reviung34/reviung34.h +++ b/keyboards/reviung/reviung34/reviung34.h @@ -38,7 +38,7 @@ { KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, K38 } \ } -#define LAYOUT_reviung34_2uL( \ +#define LAYOUT_reviung34_2u( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K35, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K36, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K37, \ From ff4a6a2fd7301ad04dd89e6beadb1f36677215c3 Mon Sep 17 00:00:00 2001 From: Nicholas Granado Date: Thu, 28 Apr 2022 23:58:22 -0700 Subject: [PATCH 0616/1832] [Keymap] Add keymap for kinesis advantage (#16862) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/kinesis/keymaps/heatxsink/keymap.c | 228 ++++++++++++++++++ keyboards/kinesis/keymaps/heatxsink/readme.md | 165 +++++++++++++ keyboards/kinesis/keymaps/heatxsink/rules.mk | 5 + 3 files changed, 398 insertions(+) create mode 100644 keyboards/kinesis/keymaps/heatxsink/keymap.c create mode 100644 keyboards/kinesis/keymaps/heatxsink/readme.md create mode 100644 keyboards/kinesis/keymaps/heatxsink/rules.mk diff --git a/keyboards/kinesis/keymaps/heatxsink/keymap.c b/keyboards/kinesis/keymaps/heatxsink/keymap.c new file mode 100644 index 000000000000..1f49c4622c84 --- /dev/null +++ b/keyboards/kinesis/keymaps/heatxsink/keymap.c @@ -0,0 +1,228 @@ +/* Copyright 2022 Nicholas Granado + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layer_names { + _DEFAULT, + _QWERTY, + _COLEMAK_MOD_DH, + _WORKMAN, + _KEYPAD, + _LAYERS, +}; + +#define DEFAULT DF(_DEFAULT) +#define QWERTY TO(_QWERTY) +#define CMMDH TO(_COLEMAK_MOD_DH) +#define WM TO(_WORKMAN) +#define KEYPAD TO(_KEYPAD) +#define LAYERS OSL(_LAYERS) +#define HCTLESC CTL_T(KC_ESC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_DEFAULT] = LAYOUT( + // LHAND + KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 , + KC_EQL ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , + KC_TAB ,_______,_______,_______,_______,_______, + HCTLESC,_______,_______,_______,_______,_______, + KC_LSPO,_______,_______,_______,_______,_______, + KC_GRV ,LAYERS ,KC_LEFT,KC_RGHT, + // LTHUMB + KC_LALT,KC_LCTL, + KC_HOME, + KC_BSPC,KC_DEL ,KC_END , + // RHAND + KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR,KC_SLCK,KC_PAUS,KEYPAD ,RESET , + KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS, + _______,_______,_______,_______,_______,KC_BSLS, + _______,_______,_______,_______,_______,KC_QUOT, + _______,_______,_______,_______,_______,KC_RSPC, + KC_UP ,KC_DOWN,KC_LBRC,KC_RBRC, + // RTHUMB + KC_RCTL,KC_LGUI, + KC_PGUP, + KC_PGDN,KC_ENT ,KC_SPC + ), + + [_QWERTY] = LAYOUT( + // LHAND + _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + _______,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , + _______,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , + _______,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , + _______,_______,_______,_______, + // LTHUMB + _______,_______, + _______, + _______,_______,_______, + // RHAND + _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,_______, + KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,_______, + KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,_______, + _______,_______,_______,_______, + // RTHUMB + _______,_______, + _______, + _______,_______,_______ + ), + + [_COLEMAK_MOD_DH] = LAYOUT( + // LHAND + _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + _______,KC_Q ,KC_W ,KC_F ,KC_P ,KC_B, + _______,KC_A ,KC_R ,KC_S ,KC_T ,KC_G, + _______,KC_Z ,KC_X ,KC_C ,KC_D ,KC_V, + _______,_______,_______,_______, + // LTHUMB + _______,_______, + _______, + _______,_______,_______, + // RHAND + _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + KC_J ,KC_L ,KC_U ,KC_Y ,KC_SCLN,_______, + KC_M ,KC_N ,KC_E ,KC_I ,KC_O ,_______, + KC_K ,KC_H ,KC_COMM,KC_DOT ,KC_SLSH,_______, + _______,_______,_______,_______, + // RTHUMB + _______,_______, + _______, + _______,_______,_______ + ), + + [_WORKMAN] = LAYOUT( + // LHAND + _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + _______,KC_Q ,KC_D ,KC_R ,KC_W ,KC_B, + _______,KC_A ,KC_S ,KC_H ,KC_T ,KC_G, + _______,KC_Z ,KC_X ,KC_M ,KC_C ,KC_V, + _______,_______,_______,_______, + // LTHUMB + _______,_______, + _______, + _______,_______,_______, + // RHAND + _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + KC_J ,KC_F ,KC_U ,KC_P ,KC_SCLN,_______, + KC_Y ,KC_N ,KC_E ,KC_O ,KC_I ,_______, + KC_K ,KC_L ,KC_COMM,KC_DOT ,KC_SLSH,_______, + _______,_______,_______,_______, + // RTHUMB + _______,_______, + _______, + _______,_______,_______ + ), + + [_KEYPAD] = LAYOUT ( + // LHAND + _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + _______,_______,KC_MUTE,KC_VOLD,KC_VOLU,_______, + _______,KC_MSTP,KC_MPRV,KC_MPLY,KC_MNXT,KC_MSEL, + _______,_______,_______,_______,_______,_______, + _______,_______,_______,_______, + // LTHUMB + _______,_______, + _______, + _______,_______,_______, + + // RHAND + _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,KC_NLCK,KC_PEQL,KC_PSLS,KC_PAST,_______, + _______,KC_P7, KC_P8, KC_P9, KC_PMNS,_______, + _______,KC_P4, KC_P5, KC_P6, KC_PPLS,_______, + _______,KC_P1, KC_P2, KC_P3, KC_PENT,_______, + KC_LPRN,KC_RPRN,KC_PDOT,KC_PENT, + // RTHUMB + _______,_______, + _______, + _______,KC_PENT,KC_P0 + ), + + [_LAYERS] = LAYOUT ( + // LHAND + _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,QWERTY ,CMMDH ,WM ,KEYPAD ,_______, + _______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + _______,_______,_______,_______, + // LTHUMB + _______,_______, + _______, + _______,_______,_______, + + // RHAND + _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______, + _______,_______,_______,_______, + // RTHUMB + _______,_______, + _______, + _______,_______,_______ + ), +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + writePinHigh(LED_NUM_LOCK_PIN); + writePinHigh(LED_SCROLL_LOCK_PIN); + writePinHigh(LED_COMPOSE_PIN); + writePinHigh(LED_CAPS_LOCK_PIN); + switch (get_highest_layer(state)) { + case _QWERTY: + // Caps Lock Lit + writePinLow(LED_CAPS_LOCK_PIN); + break; + case _COLEMAK_MOD_DH: + // Num Lock Lit + writePinLow(LED_NUM_LOCK_PIN); + break; + case _WORKMAN: + // Scroll Lock Lit + writePinLow(LED_SCROLL_LOCK_PIN); + break; + case _KEYPAD: + // Compose Lit + writePinLow(LED_COMPOSE_PIN); + break; + case _LAYERS: + // All LEDs Lit + writePinLow(LED_SCROLL_LOCK_PIN); + writePinLow(LED_NUM_LOCK_PIN); + writePinLow(LED_CAPS_LOCK_PIN); + writePinLow(LED_COMPOSE_PIN); + break; + } + return state; +} + +bool led_update_user(led_t led_state) { + // disable led_update_kb() so that we do not override layer indicators + return false; +} + diff --git a/keyboards/kinesis/keymaps/heatxsink/readme.md b/keyboards/kinesis/keymaps/heatxsink/readme.md new file mode 100644 index 000000000000..83a2b558549c --- /dev/null +++ b/keyboards/kinesis/keymaps/heatxsink/readme.md @@ -0,0 +1,165 @@ +# heatxsink's keymap for kinesis advantage w/ kinx + +## my keymap has three objectives ... +1. Make it easy to add keyboard layouts (layers). +2. Easy to swap between keyboard layouts (layers). +3. Use LED indicators on the kinX controller to provide feedback as to what layer is selected. + +## layer description +0. DEFAULT (function key row, number row, left/right gutter keys, and thumb keys) +1. QWERTY +2. CMMDH [Colemak Mod-DH](https://colemakmods.github.io/mod-dh/) +3. WM [Workman](https://workmanlayout.org/) +3. Keypad (number pad on the right, media keys on the left) + +## layers +``` +Keymap: DEFAULT +Description: keys separated by "/" tap for first, hold for second; uses Space Cadet Shifts + + ,-------------------------------------------------------------------------------------------------------------------. + | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F8 | F9 | F10 | F12 | PSCR | SLCK | PAUS |KEYPAD| BOOT | + |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------| + | =+ | 1! | 2@ | 3# | 4$ | 5% | | 6^ | 7& | 8* | 9( | 0) | -_ | + |--------+------+------+------+------+------| +------+------+------+------+------+--------| + | Tab | | | | | | | | | | | | \| | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + |ESC/CTRL| | | | | | | | | | | | '" | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + |SC_Shift| | | | | | | | | | | |SC_Shift| + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | `~ |LAYERS| Left | Right| | Up | Down | [{ | ]} | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | ALT | CTRL | | CTRL | GUI | + ,------|------|------| |------+------+------. + | | | Home | | PgUp | | | + | BkSp | Del |------| |------|Return| Space| + | | | End | | PgDn | | | + `--------------------' `--------------------' + +Keymap: LAYERS +Description: OSL that allows for easy switching between layers. + + ,-------------------------------------------------------------------------------------------------------------------. + | | | | | | | | | | | | | | | | | + |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------| + | |QWERTY|CMMDH |WM |KEYPAD| | | | | | | | | + |--------+------+------+------+------+------| +------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | | | | | | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | | | | | | | | | | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | |------| |------| | | + | | | | | | | | + `--------------------' `--------------------' + +Keymap: QWERTY + + ,-------------------------------------------------------------------------------------------------------------------. + | | | | | | | | | | | | | | | | | + |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| +------+------+------+------+------+--------| + | | Q | W | E | R | T | | Y | U | I | O | P | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | A | S | D | F | G | | H | J | K | L | ;: | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | Z | X | C | V | B | | N | M | ,. | .> | /? | | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | | | | | | | | | | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | |------| |------| | | + | | | | | | | | + `--------------------' `--------------------' + +Keymap: CMMDH (Colemak Mod-DH) + + ,-------------------------------------------------------------------------------------------------------------------. + | | | | | | | | | | | | | | | | | + |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| +------+------+------+------+------+--------| + | | Q | W | F | P | B | | J | L | U | Y | ;: | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | A | R | S | T | G | | M | N | E | I | O | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | Z | X | C | D | V | | K | H | ,. | .> | /? | | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | | | | | | | | | | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | |------| |------| | | + | | | | | | | | + `--------------------' `--------------------' + +Keymap: WM (Workman) + + ,-------------------------------------------------------------------------------------------------------------------. + | | | | | | | | | | | | | | | | | + |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| +------+------+------+------+------+--------| + | | Q | D | R | W | B | | J | F | U | P | ;: | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | A | S | H | T | G | | Y | N | E | O | I | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | Z | X | M | C | V | | K | L | ,. | .> | /? | | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | | | | | | | | | | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | |------| |------| | | + | | | | | | | | + `--------------------' `--------------------' + +Keymap: KEYPAD + + ,-------------------------------------------------------------------------------------------------------------------. + | | | | | | | | | | | | | | | | | + |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------| + | | | | | | | | |NUMLCK| = | / |PASTE | | + |--------+------+------+------+------+------| +------+------+------+------+------+--------| + | | | MUTE | VOL- | VOL+ | | | | 7 | 8 | 9 | - | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | STOP | PREV | PLAY | NEXT |SELECT| | | 4 | 5 | 6 | + | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | 1 | 2 | 3 | ENTER| | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | | | | | | ( | ) | . | ENTER| + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | |------| |------|ENTER | 0 | + | | | | | | | | + `--------------------' `--------------------' +``` +## requirements +* K500 or K600 Kinesis Advantage MPC or Advantage 2. +* [kinx project / stapelberg controller](https://github.com/kinx-project/kint) + +## shoutout(s) +* `stapelberg` self explanitory +* `jwon` for his LED indicator code +* `tuesdayjohn` for how he did layers + diff --git a/keyboards/kinesis/keymaps/heatxsink/rules.mk b/keyboards/kinesis/keymaps/heatxsink/rules.mk new file mode 100644 index 000000000000..f8c1a24ccac5 --- /dev/null +++ b/keyboards/kinesis/keymaps/heatxsink/rules.mk @@ -0,0 +1,5 @@ +BOOTMAGIC_ENABLE = no +MOUSEKEY_ENABLE = no +EXTRAKEY_ENABLE = yes +NKRO_ENABLE = yes +SLEEP_LED_ENABLE = yes From ef8db9f1040f139e0c30db853dc4f5b61d7dee77 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 29 Apr 2022 07:58:55 +0100 Subject: [PATCH 0617/1832] Remove ARM pgm_read_word workaround in rgblight (#16961) --- quantum/rgblight/rgblight.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index cc856a0e8686..e5d3a98bea5e 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -559,12 +559,8 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w // static gradient uint8_t delta = rgblight_config.mode - rgblight_status.base_mode; bool direction = (delta % 2) == 0; -# ifdef __AVR__ - // probably due to how pgm_read_word is defined for ARM, but the ARM compiler really hates this line - uint8_t range = pgm_read_word(&RGBLED_GRADIENT_RANGES[delta / 2]); -# else - uint8_t range = RGBLED_GRADIENT_RANGES[delta / 2]; -# endif + + uint8_t range = pgm_read_byte(&RGBLED_GRADIENT_RANGES[delta / 2]); for (uint8_t i = 0; i < rgblight_ranges.effect_num_leds; i++) { uint8_t _hue = ((uint16_t)i * (uint16_t)range) / rgblight_ranges.effect_num_leds; if (direction) { From 3e9fec5dccb7eacfc2ccdadea0cda4cf4a3d623f Mon Sep 17 00:00:00 2001 From: Felix Jen Date: Fri, 29 Apr 2022 02:06:49 -0500 Subject: [PATCH 0618/1832] [Keyboard] Solanis H87C/H88C Compatible Replacement PCBs (#16942) Co-authored-by: Ryan --- keyboards/fjlabs/solanis/config.h | 116 ++++++++++++++++++ keyboards/fjlabs/solanis/info.json | 108 ++++++++++++++++ .../fjlabs/solanis/keymaps/default/keymap.c | 41 +++++++ keyboards/fjlabs/solanis/keymaps/via/keymap.c | 61 +++++++++ keyboards/fjlabs/solanis/keymaps/via/rules.mk | 1 + keyboards/fjlabs/solanis/readme.md | 15 +++ keyboards/fjlabs/solanis/rules.mk | 21 ++++ keyboards/fjlabs/solanis/solanis.c | 14 +++ keyboards/fjlabs/solanis/solanis.h | 34 +++++ 9 files changed, 411 insertions(+) create mode 100644 keyboards/fjlabs/solanis/config.h create mode 100644 keyboards/fjlabs/solanis/info.json create mode 100644 keyboards/fjlabs/solanis/keymaps/default/keymap.c create mode 100644 keyboards/fjlabs/solanis/keymaps/via/keymap.c create mode 100644 keyboards/fjlabs/solanis/keymaps/via/rules.mk create mode 100644 keyboards/fjlabs/solanis/readme.md create mode 100644 keyboards/fjlabs/solanis/rules.mk create mode 100644 keyboards/fjlabs/solanis/solanis.c create mode 100644 keyboards/fjlabs/solanis/solanis.h diff --git a/keyboards/fjlabs/solanis/config.h b/keyboards/fjlabs/solanis/config.h new file mode 100644 index 000000000000..50649889fc44 --- /dev/null +++ b/keyboards/fjlabs/solanis/config.h @@ -0,0 +1,116 @@ +/* +Copyright 2022 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7074 // FJLaboratories +#define PRODUCT_ID 0x0017 // Solanis +#define DEVICE_VER 0x0001 // Version 1 +#define MANUFACTURER FJLaboratories +#define PRODUCT Solanis + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + *å +*/ + +// Checked with Eagle Schematic +#define MATRIX_ROW_PINS { B4, B5, B6, C0, E1, E0 } +#define MATRIX_COL_PINS { F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, D5, D6, D7 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Define RGB */ +#define RGB_DI_PIN B7 +#define RGBLED_NUM 24 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLIGHT_LIMIT_VAL 172 +#define RGB_VAL_STEP 12 + +/* Define less important options */ + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT \ No newline at end of file diff --git a/keyboards/fjlabs/solanis/info.json b/keyboards/fjlabs/solanis/info.json new file mode 100644 index 000000000000..2963f672de88 --- /dev/null +++ b/keyboards/fjlabs/solanis/info.json @@ -0,0 +1,108 @@ +{ + "keyboard_name": "Solanis", + "url": "http://www.fjlaboratories.com/", + "maintainer": "FJLabs", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"F13", "x":14, "y":0}, + {"label":"PrtSc", "x":15.25, "y":0}, + {"label":"Scroll Lock", "x":16.25, "y":0}, + {"label":"Pause", "x":17.25, "y":0}, + + {"label":"~", "x":0, "y":1.25}, + {"label":"!", "x":1, "y":1.25}, + {"label":"@", "x":2, "y":1.25}, + {"label":"#", "x":3, "y":1.25}, + {"label":"$", "x":4, "y":1.25}, + {"label":"%", "x":5, "y":1.25}, + {"label":"^", "x":6, "y":1.25}, + {"label":"&", "x":7, "y":1.25}, + {"label":"*", "x":8, "y":1.25}, + {"label":"(", "x":9, "y":1.25}, + {"label":")", "x":10, "y":1.25}, + {"label":"_", "x":11, "y":1.25}, + {"label":"+", "x":12, "y":1.25}, + {"label":"Back Space", "x":13, "y":1.25}, + {"label":"Back Space", "x":14, "y":1.25} + {"label":"Insert", "x":15.25, "y":1.25}, + {"label":"Home", "x":16.25, "y":1.25}, + {"label":"PgUp", "x":17.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"{", "x":11.5, "y":2.25}, + {"label":"}", "x":12.5, "y":2.25}, + {"label":"|", "x":13.5, "y":2.25, "w":1.5}, + {"label":"Delete", "x":15.25, "y":2.25}, + {"label":"End", "x":16.25, "y":2.25}, + {"label":"PgDn", "x":17.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":":", "x":10.75, "y":3.25}, + {"label":"SQ", "x":11.75, "y":3.25}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":"<", "x":9.25, "y":4.25}, + {"label":">", "x":10.25, "y":4.25}, + {"label":"?", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, + {"label":"Shift", "x":14, "y":4.25}, + {"label":"\u2191", "x":16.25, "y":4.25}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + {"x":3.75, "y":5.25, "w":2.25}, + {"x":6, "y":5.25, "w":1.25}, + {"x":7.25, "y":5.25, "w":2.75}, + {"label":"Alt", "x":10, "y":5.25, "w":1.25}, + {"label":"Win", "x":11.25, "y":5.25, "w":1.25}, + {"label":"Menu", "x":12.5, "y":5.25, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, + {"label":"\u2190", "x":15.25, "y":5.25}, + {"label":"\u2193", "x":16.25, "y":5.25}, + {"label":"\u2192", "x":17.25, "y":5.25} + ] + } + } +} diff --git a/keyboards/fjlabs/solanis/keymaps/default/keymap.c b/keyboards/fjlabs/solanis/keymaps/default/keymap.c new file mode 100644 index 000000000000..83f2cc220cf1 --- /dev/null +++ b/keyboards/fjlabs/solanis/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +/* +Copyright 2022 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_DEL, + 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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_all( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/fjlabs/solanis/keymaps/via/keymap.c b/keyboards/fjlabs/solanis/keymaps/via/keymap.c new file mode 100644 index 000000000000..6bff23728f5b --- /dev/null +++ b/keyboards/fjlabs/solanis/keymaps/via/keymap.c @@ -0,0 +1,61 @@ +/* +Copyright 2022 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_DEL, + 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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_all( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER2] = LAYOUT_all( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER3] = LAYOUT_all( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/fjlabs/solanis/keymaps/via/rules.mk b/keyboards/fjlabs/solanis/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/fjlabs/solanis/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/fjlabs/solanis/readme.md b/keyboards/fjlabs/solanis/readme.md new file mode 100644 index 000000000000..93f5dd00211d --- /dev/null +++ b/keyboards/fjlabs/solanis/readme.md @@ -0,0 +1,15 @@ +# Solanis H87C/H88C Replacement PCBs by FJLaboratories + +The following is the QMK Firmware for the Solanis by [FJLaboratories](https://www.fjlaboratories.com/). +* Keyboard Maintainer: FJLaboratories +* Hardware Supported: Solanis + +Make example for this keyboard (after setting up your build environment): + + make fjlabs/solanis:default + +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). + +## Bootloader + +You can enter the bootloader by shorting the RST pads on the back of the PCB while the PCB is plugged into the computer. diff --git a/keyboards/fjlabs/solanis/rules.mk b/keyboards/fjlabs/solanis/rules.mk new file mode 100644 index 000000000000..a5745c349095 --- /dev/null +++ b/keyboards/fjlabs/solanis/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = at90usb646 + +# Processor frequency +F_CPU = 8000000 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/fjlabs/solanis/solanis.c b/keyboards/fjlabs/solanis/solanis.c new file mode 100644 index 000000000000..3104ff485edd --- /dev/null +++ b/keyboards/fjlabs/solanis/solanis.c @@ -0,0 +1,14 @@ +/* +Copyright 2022 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "solanis.h" diff --git a/keyboards/fjlabs/solanis/solanis.h b/keyboards/fjlabs/solanis/solanis.h new file mode 100644 index 000000000000..507f08700158 --- /dev/null +++ b/keyboards/fjlabs/solanis/solanis.h @@ -0,0 +1,34 @@ +/* +Copyright 2022 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +/* === All used matrix spots populated === */ +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4C, K4D, K4F, \ + K50, K51, K52, K54, K55, K58, K59, K5A, K5B, K5D, K5E, K5F, K5G \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, KC_NO, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, KC_NO, K4C, K4D, KC_NO, K4F, KC_NO }, \ + { K50, K51, K52, KC_NO, K54, K55, KC_NO, KC_NO, K58, K59, K5A, K5B, KC_NO, K5D, K5E, K5F, K5G } \ +} From d84a1fb9a443c674fa7a7391b0065ae13324d2a4 Mon Sep 17 00:00:00 2001 From: Rucker Machine <98196480+RuckerMachine@users.noreply.github.com> Date: Fri, 29 Apr 2022 01:13:26 -0700 Subject: [PATCH 0619/1832] [Keyboard] RM_Numpad: Fix layout bug (#16857) Co-authored-by: jason --- keyboards/rmkeebs/rm_numpad/info.json | 10 +++++----- keyboards/rmkeebs/rm_numpad/keymaps/default/keymap.c | 8 ++++---- .../rmkeebs/rm_numpad/keymaps/split_plus/keymap.c | 4 ++-- keyboards/rmkeebs/rm_numpad/rm_numpad.h | 6 +++--- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/keyboards/rmkeebs/rm_numpad/info.json b/keyboards/rmkeebs/rm_numpad/info.json index 0f60a8ec06d3..9ad0ebd28648 100644 --- a/keyboards/rmkeebs/rm_numpad/info.json +++ b/keyboards/rmkeebs/rm_numpad/info.json @@ -18,19 +18,19 @@ {"label": "7", "x": 0, "y": 2.25}, {"label": "8", "x": 1, "y": 2.25}, {"label": "9", "x": 2, "y": 2.25}, - {"label": "+", "x": 3, "y": 2.25, "h": 2}, {"label": "4", "x": 0, "y": 3.25}, {"label": "5", "x": 1, "y": 3.25}, {"label": "6", "x": 2, "y": 3.25}, + {"label": "+", "x": 3, "y": 2.25, "h": 2}, {"label": "1", "x": 0, "y": 4.25}, {"label": "2", "x": 1, "y": 4.25}, {"label": "3", "x": 2, "y": 4.25}, - {"label": "Enter", "x": 3, "y": 4.25, "h": 2}, {"label": "0", "x": 0, "y": 5.25, "w": 2}, - {"label": ".", "x": 2, "y": 5.25} + {"label": ".", "x": 2, "y": 5.25}, + {"label": "Enter", "x": 3, "y": 4.25, "h": 2} ] }, "LAYOUT_split_plus_6x4": { @@ -58,10 +58,10 @@ {"label": "1", "x": 0, "y": 4.25}, {"label": "2", "x": 1, "y": 4.25}, {"label": "3", "x": 2, "y": 4.25}, - {"label": "Enter", "x": 3, "y": 4.25, "h": 2}, {"label": "0", "x": 0, "y": 5.25, "w": 2}, - {"label": ".", "x": 2, "y": 5.25} + {"label": ".", "x": 2, "y": 5.25}, + {"label": "Enter", "x": 3, "y": 4.25, "h": 2} ] }, "LAYOUT_ortho_6x4": { diff --git a/keyboards/rmkeebs/rm_numpad/keymaps/default/keymap.c b/keyboards/rmkeebs/rm_numpad/keymaps/default/keymap.c index 240442558c02..fef4324f19f8 100644 --- a/keyboards/rmkeebs/rm_numpad/keymaps/default/keymap.c +++ b/keyboards/rmkeebs/rm_numpad/keymaps/default/keymap.c @@ -22,10 +22,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_numpad_6x4( KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_P4, KC_P5, KC_P6, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_P0, KC_PDOT + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT ) }; diff --git a/keyboards/rmkeebs/rm_numpad/keymaps/split_plus/keymap.c b/keyboards/rmkeebs/rm_numpad/keymaps/split_plus/keymap.c index 84fa6b2a6404..9c6939e4d6d7 100644 --- a/keyboards/rmkeebs/rm_numpad/keymaps/split_plus/keymap.c +++ b/keyboards/rmkeebs/rm_numpad/keymaps/split_plus/keymap.c @@ -24,8 +24,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_P7, KC_P8, KC_P9, KC_EQL, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_P0, KC_PDOT + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT ) }; diff --git a/keyboards/rmkeebs/rm_numpad/rm_numpad.h b/keyboards/rmkeebs/rm_numpad/rm_numpad.h index 93fa9392e1a4..b66a8b8249ad 100644 --- a/keyboards/rmkeebs/rm_numpad/rm_numpad.h +++ b/keyboards/rmkeebs/rm_numpad/rm_numpad.h @@ -48,7 +48,7 @@ k00, k01, k02, k03, \ k10, k11, k12, k13, \ k20, k21, k22, \ - k30, k31, k32, k24, \ + k30, k31, k32, k24,\ k40, k41, k42, \ k51, k53, k44 \ ) { \ @@ -114,8 +114,8 @@ k10, k11, k12, k13, \ k20, k21, k22, k23, \ k30, k31, k32, k33, \ - k40, k41, k42, k44, \ - k51, k53 \ + k40, k41, k42, \ + k51, k53, k44 \ ) { \ { k00, k01, k02, k03, ___ }, \ { k10, k11, k12, k13, ___ }, \ From 28e1cfc27844f80cc430073585257ff63585016f Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Fri, 29 Apr 2022 04:45:56 -0600 Subject: [PATCH 0620/1832] Fix fjlabs/solanis (#16965) --- keyboards/fjlabs/solanis/keymaps/default/keymap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/fjlabs/solanis/keymaps/default/keymap.c b/keyboards/fjlabs/solanis/keymaps/default/keymap.c index 83f2cc220cf1..62c7d01b673c 100644 --- a/keyboards/fjlabs/solanis/keymaps/default/keymap.c +++ b/keyboards/fjlabs/solanis/keymaps/default/keymap.c @@ -16,11 +16,11 @@ along with this program. If not, see . enum layers { _LAYER0, - _LAYER1, + _LAYER1 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - + [_LAYER0] = LAYOUT_all( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, KC_GRV, 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_INS, KC_HOME, KC_PGUP, @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LAYER1] = LAYOUT_all( - 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, From b2d0dd2f32cfec21a745cb05f9f35e5dec4ffb8e Mon Sep 17 00:00:00 2001 From: Hunter Haugen Date: Fri, 29 Apr 2022 15:56:04 -0700 Subject: [PATCH 0621/1832] [Keymap] Improve Pain27 default keymap readability (#16956) --- keyboards/wsk/pain27/keymaps/default/keymap.c | 51 ++++++++++++++----- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/keyboards/wsk/pain27/keymaps/default/keymap.c b/keyboards/wsk/pain27/keymaps/default/keymap.c index 54098287efc2..a1a92ea1bb16 100644 --- a/keyboards/wsk/pain27/keymaps/default/keymap.c +++ b/keyboards/wsk/pain27/keymaps/default/keymap.c @@ -1,18 +1,41 @@ +// Copyright 2020 Worldspawn (@worldspawn00) +// Copyright 2022 Hunter Haugen (@hunner) +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, - MT(MOD_LCTL, KC_Z), MT(MOD_LALT, KC_X), LT(1, KC_C), LT(2, KC_V), MT(MOD_RGUI,KC_B), MT(MOD_RALT, KC_N), MT(MOD_RCTL, KC_M), MT(MOD_LSFT, KC_SPC)), - [1] = LAYOUT(KC_ESC, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_BSPC, - KC_TAB, RGB_TOG, RGB_VAD, RGB_VAI, RGB_MOD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, - KC_LCTL, KC_LALT, KC_TRNS, MO(3), KC_RGUI, KC_RALT, KC_RCTL, KC_NO), - [2] = LAYOUT(KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_GRV, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_ENT, - KC_LCTL, KC_LALT, MO(3), KC_TRNS, KC_COMM, KC_DOT, KC_SLSH, KC_NO), - [3] = LAYOUT(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - KC_F11, KC_F12, RGB_SPD, RGB_SPI, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_DEL, - KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_RGUI, KC_RALT, KC_RCTL, KC_NO) +#define LCTL_Z MT(MOD_LCTL, KC_Z) +#define LALT_X MT(MOD_LALT, KC_X) +#define ONE_C LT(1, KC_C) +#define TWO_V LT(2, KC_V) +#define RGUI_B MT(MOD_RGUI, KC_B) +#define RALT_N MT(MOD_RALT, KC_N) +#define RCTL_M MT(MOD_RCTL, KC_M) +#define LSFT_SPC MT(MOD_LSFT, KC_SPC) +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , + KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , + LCTL_Z , LALT_X , ONE_C , TWO_V , RGUI_B , RALT_N , RCTL_M , + LSFT_SPC + ), + [1] = LAYOUT( + KC_ESC , KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_HOME, KC_PGDN, KC_PGUP, KC_END , KC_BSPC, + KC_TAB , RGB_TOG, RGB_VAD, RGB_VAI, RGB_MOD, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, + KC_LCTL, KC_LALT, _______, MO(3) , KC_RGUI, KC_RALT, KC_RCTL, + XXXXXXX + ), + [2] = LAYOUT( + KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , + KC_GRV , KC_BSLS, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_ENT , + KC_LCTL, KC_LALT, MO(3) , _______, KC_COMM, KC_DOT , KC_SLSH, + XXXXXXX + ), + [3] = LAYOUT( + KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , + KC_F11 , KC_F12 , RGB_SPD, RGB_SPI, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_DEL, + KC_LCTL, KC_LALT, _______, _______, KC_RGUI, KC_RALT, KC_RCTL, + XXXXXXX + ) }; - From 8b668a24d65588d460488c811ef38bf23c44c283 Mon Sep 17 00:00:00 2001 From: ROYMEETSWORLD <63612683+ROYMEETSWORLD@users.noreply.github.com> Date: Sun, 1 May 2022 13:59:51 -0400 Subject: [PATCH 0622/1832] [Keyboard] Add gameroyadvance (#16882) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../keystonecaps/gameroyadvance/config.h | 86 +++++++ .../gameroyadvance/gameroyadvance.c | 46 ++++ .../gameroyadvance/gameroyadvance.h | 104 +++++++++ .../keystonecaps/gameroyadvance/info.json | 216 ++++++++++++++++++ .../gameroyadvance/keymaps/default/config.h | 25 ++ .../gameroyadvance/keymaps/default/keymap.c | 45 ++++ .../keymaps/default_all/config.h | 25 ++ .../keymaps/default_all/keymap.c | 45 ++++ .../keystonecaps/gameroyadvance/readme.md | 30 +++ .../keystonecaps/gameroyadvance/rules.mk | 22 ++ 10 files changed, 644 insertions(+) create mode 100644 keyboards/keystonecaps/gameroyadvance/config.h create mode 100644 keyboards/keystonecaps/gameroyadvance/gameroyadvance.c create mode 100644 keyboards/keystonecaps/gameroyadvance/gameroyadvance.h create mode 100644 keyboards/keystonecaps/gameroyadvance/info.json create mode 100644 keyboards/keystonecaps/gameroyadvance/keymaps/default/config.h create mode 100644 keyboards/keystonecaps/gameroyadvance/keymaps/default/keymap.c create mode 100644 keyboards/keystonecaps/gameroyadvance/keymaps/default_all/config.h create mode 100644 keyboards/keystonecaps/gameroyadvance/keymaps/default_all/keymap.c create mode 100644 keyboards/keystonecaps/gameroyadvance/readme.md create mode 100644 keyboards/keystonecaps/gameroyadvance/rules.mk diff --git a/keyboards/keystonecaps/gameroyadvance/config.h b/keyboards/keystonecaps/gameroyadvance/config.h new file mode 100644 index 000000000000..cce7904b9173 --- /dev/null +++ b/keyboards/keystonecaps/gameroyadvance/config.h @@ -0,0 +1,86 @@ +/* +Copyright 2022 @RoyMeetsWorld + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Keystone Caps +#define PRODUCT Game Roy ADVANCE + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 9 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3 } +#define MATRIX_COL_PINS { D4, D0, D1, C6, D7, E6, F4, B2, B6 } +#define MATRIX_ROW_PINS_RIGHT { D7, E6, B4, B5, B6 } +#define MATRIX_COL_PINS_RIGHT { C6, D4, D0, D1, B1, F7, F4, F5, F6 } +#define ENCODERS_PAD_A { B5 } +#define ENCODERS_PAD_B { B4 } +#define ENCODERS_PAD_A_RIGHT { B3 } +#define ENCODERS_PAD_B_RIGHT { B2 } +#define SOFT_SERIAL_PIN D2 + +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* number of backlight levels */ + +#ifdef BACKLIGHT_PIN +#define BACKLIGHT_LEVELS 3 +#endif + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + + + +#define QMK_KEYS_PER_SCAN 12 + +#define RGB_DI_PIN C7 +#ifdef RGB_DI_PIN +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLED_NUM 0 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define ENCODER_RESOLUTION 4 +#endif diff --git a/keyboards/keystonecaps/gameroyadvance/gameroyadvance.c b/keyboards/keystonecaps/gameroyadvance/gameroyadvance.c new file mode 100644 index 000000000000..797f4dba765f --- /dev/null +++ b/keyboards/keystonecaps/gameroyadvance/gameroyadvance.c @@ -0,0 +1,46 @@ +/* +Copyright 2022 @RoyMeetsWorld + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "gameroyadvance.h" + + + +#ifdef ENCODER_ENABLE + +bool encoder_update_kb(uint8_t index, bool clockwise) { + + if (!encoder_update_user(index, clockwise)) { return false; } + + if (index == 0) { + + if (clockwise) { + + tap_code_delay(KC_VOLU, 10); + + } else { + + tap_code_delay(KC_VOLD, 10); + + } + + } + + return true; + +} + +#endif diff --git a/keyboards/keystonecaps/gameroyadvance/gameroyadvance.h b/keyboards/keystonecaps/gameroyadvance/gameroyadvance.h new file mode 100644 index 000000000000..01cb32b57290 --- /dev/null +++ b/keyboards/keystonecaps/gameroyadvance/gameroyadvance.h @@ -0,0 +1,104 @@ +/* +Copyright 2022 @RoyMeetsWorld + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +/** + * The layout macro for ANSI boards, with illustrative grid of a typical assignment. + * ┌───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───────┐ + * │ESC│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ + │ BACK │ + * ┌─┴───┼───┼───┼───┼───┼───┼───┤┌───┬───┐ ┌───┬───┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ TAB │ Q │ W │ E │ R │ T │ Y ││F1 │F2 │ │F7 │F8 │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘├───┼───┤ ├───┼───┤ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ CAPS │ A │ S │ D │ F │ G │ │F3 │F4 │ │F9 │F10│ │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┤ ├───┼───┤ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ LSHIFT │ Z │ X │ C │ V │ B │ │F5 │F6 │ │F11│F12│ │ B │ N │ M │ , │ . │ / │ RSHIFT │ + * ├────┬───┴┬──┴─┬─┴──┬┴───┼───┴┬┴───┼───┘ └───┼───┴┬┴───┼───┴───┴──┬┴───┼───┴┬────┬────│ + * │LCTL│LGUI│LALT│ FN │ │SPC │MUTE│ │MUTE│SPCE│ │RALT│ FN │RGUI│RCTL│ + * └────┴────┴────┴────┘ └────┼────┤ ├────┼────┘ └────┴────┴────┴────┘ + * │ENTR│ │ENTR│ + * └────┘ └────┘ + */ +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \ + L10, L11, L12, L13, L14, L15, L16, L17, L18, R10, R11, R12, R13, R14, R15, R16, R17, R18, R28, \ + L20, L21, L22, L23, L24, L25, L27, L28, R20, R21, R22, R23, R24, R25, R26, R27, R38, \ + L30, L31, L32, L33, L34, L35, L37, L38, R30, R31, R32, R33, R34, R35, R36, R37, R46, \ + L40, L41, L42, L43, L45, L48, R40, R42, R43, R44, R45, R47, \ + L47, R41 \ +) \ +{ \ + { L00, L01, L02, L03, L04, L05, L06, KC_NO, KC_NO }, \ + { L10, L11, L12, L13, L14, L15, L16, L17, L18 }, \ + { L20, L21, L22, L23, L24, L25, KC_NO, L27, L28 }, \ + { L30, L31, L32, L33, L34, L35, KC_NO, L37, L38 }, \ + { L40, L41, L42, L43, KC_NO, L45, KC_NO, L47, L48 }, \ + { R00, R01, R02, R03, R04, R05, KC_NO, R07, KC_NO }, \ + { R10, R11, R12, R13, R14, R15, R16, R17, R18 }, \ + { R20, R21, R22, R23, R24, R25, R26, R27, R28 }, \ + { R30, R31, R32, R33, R34, R35, R36, R37, R38 }, \ + { R40, R41, R42, R43, R44, R45, R46, R47, KC_NO } \ +} + +/** + * The layout macro for split-key boards, with illustrative grid of a typical assignment. + * + * Backspace has two options with three distinct pads: + * - center pad (regular 2u backspace) + * - left pad + right pad (split backspace) + * + * You may wish to set the unused pad(s) to KC_NO or XXXXXX, as they will be ignored. + * ┌───────┐ + * │ BACK │ (R07) + * └───────┘ + * | + * ┌───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐ + * │ESC│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ + │ \ │BCK│ (R06 R08) + * ┌─┴───┼───┼───┼───┼───┼───┼───┤┌───┬───┐ ┌───┬───┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ TAB │ Q │ W │ E │ R │ T │ Y ││F1 │F2 │ │F7 │F8 │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘├───┼───┤ ├───┼───┤ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ CAPS │ A │ S │ D │ F │ G │ │F3 │F4 │ │F9 │F10│ │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┤ ├───┼───┤ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │LSFT│ \ │ Z │ X │ C │ V │ B │ │F5 │F6 │ │F11│F12│ │ B │ N │ M │ , │ . │ / │RSHIFT│PSC│ + * ├────┼───┴┬──┴─┬─┴──┬┴───┼───┴┬┴───┼───┘ └───┼───┴┬┴───┼───┴───┴──┬┴───┼───┴┬────┬┴───│ + * │LCTL│LGUI│LALT│ FN │ │SPC │MUTE│ │MUTE│SPCE│ │RALT│ FN │RGUI│RCTL│ + * └────┴────┴────┴────┘ └────┼────┤ ├────┼────┘ └────┴────┴────┴────┘ + * │ENTR│ │ENTR│ + * └────┘ └────┘ + */ +#define LAYOUT_all( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, R08, \ + L10, L11, L12, L13, L14, L15, L16, L17, L18, R10, R11, R12, R13, R14, R15, R16, R17, R18, R28, \ + L20, L21, L22, L23, L24, L25, L27, L28, R20, R21, R22, R23, R24, R25, R26, R27, R38, \ + L30, L44, L31, L32, L33, L34, L35, L37, L38, R30, R31, R32, R33, R34, R35, R36, R37, R46, R48, \ + L40, L41, L42, L43, L45, L48, R40, R42, R43, R44, R45, R47, \ + L47, R41 \ +) \ +{ \ + { L00, L01, L02, L03, L04, L05, L06, KC_NO, KC_NO }, \ + { L10, L11, L12, L13, L14, L15, L16, L17, L18 }, \ + { L20, L21, L22, L23, L24, L25, KC_NO, L27, L28 }, \ + { L30, L31, L32, L33, L34, L35, KC_NO, L37, L38 }, \ + { L40, L41, L42, L43, L44, L45, KC_NO, L47, L48 }, \ + { R00, R01, R02, R03, R04, R05, R06, R07, R08 }, \ + { R10, R11, R12, R13, R14, R15, R16, R17, R18 }, \ + { R20, R21, R22, R23, R24, R25, R26, R27, R28 }, \ + { R30, R31, R32, R33, R34, R35, R36, R37, R38 }, \ + { R40, R41, R42, R43, R44, R45, R46, R47, R48 } \ +} diff --git a/keyboards/keystonecaps/gameroyadvance/info.json b/keyboards/keystonecaps/gameroyadvance/info.json new file mode 100644 index 000000000000..f907de9326f2 --- /dev/null +++ b/keyboards/keystonecaps/gameroyadvance/info.json @@ -0,0 +1,216 @@ +{ + "keyboard_name": "Game Roy ADVANCE", + "maintainer": "@RoyMeetsWorld", + "url": "https://keystonecaps.store/?product=game-roy-advance-game-pad-group-buy-preorder", + "layouts": { + "LAYOUT": { + "layout": [ + { "x": 1, "y": 0 }, + { "x": 2, "y": 0 }, + { "x": 3, "y": 0 }, + { "x": 4, "y": 0 }, + { "x": 5, "y": 0 }, + { "x": 6, "y": 0 }, + { "x": 7, "y": 0 }, + + { "x": 13.75, "y": 0 }, + { "x": 14.75, "y": 0 }, + { "x": 15.75, "y": 0 }, + { "x": 16.75, "y": 0 }, + { "x": 17.75, "y": 0 }, + { "x": 18.75, "y": 0 }, + { "x": 19.75, "y": 0, "w": 2 }, + + { "x": 0.5, "y": 1, "w": 1.5 }, + { "x": 2, "y": 1 }, + { "x": 3, "y": 1 }, + { "x": 4, "y": 1 }, + { "x": 5, "y": 1 }, + { "x": 6, "y": 1 }, + { "x": 7, "y": 1 }, + + { "x": 8.25, "y": 1 }, + { "x": 9.25, "y": 1 }, + + { "x": 11, "y": 1 }, + { "x": 12, "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 }, + { "x": 18.75, "y": 1 }, + { "x": 19.75, "y": 1 }, + { "x": 20.75, "y": 1, "w": 1.5 }, + + { "x": 0.5, "y": 2, "w": 1.75 }, + { "x": 2.25, "y": 2 }, + { "x": 3.25, "y": 2 }, + { "x": 4.25, "y": 2 }, + { "x": 5.25, "y": 2 }, + { "x": 6.25, "y": 2 }, + + { "x": 8.25, "y": 2 }, + { "x": 9.25, "y": 2 }, + + { "x": 11, "y": 2 }, + { "x": 12, "y": 2 }, + + { "x": 14, "y": 2 }, + { "x": 15, "y": 2 }, + { "x": 16, "y": 2 }, + { "x": 17, "y": 2 }, + { "x": 18, "y": 2 }, + { "x": 19, "y": 2 }, + { "x": 20, "y": 2, "w": 2.25 }, + + { "x": 0.5, "y": 3, "w": 2.25 }, + { "x": 2.75, "y": 3 }, + { "x": 3.75, "y": 3 }, + { "x": 4.75, "y": 3 }, + { "x": 5.75, "y": 3 }, + { "x": 6.75, "y": 3 }, + + { "x": 8.25, "y": 3 }, + { "x": 9.25, "y": 3 }, + + { "x": 11, "y": 3 }, + { "x": 12, "y": 3 }, + + { "x": 13.5, "y": 3 }, + { "x": 14.5, "y": 3 }, + { "x": 15.5, "y": 3 }, + { "x": 16.5, "y": 3 }, + { "x": 17.5, "y": 3 }, + { "x": 18.5, "y": 3 }, + { "x": 19.5, "y": 3, "w": 2.75 }, + + { "x": 1, "y": 4, "w": 1.25 }, + { "x": 2.25, "y": 4, "w": 1.25 }, + { "x": 3.5, "y": 4, "w": 1.25 }, + { "x": 4.75, "y": 4, "w": 1.25 }, + + { "x": 7, "y": 4, "h": 1.5 }, + { "x": 8, "y": 4 }, + + { "x": 12.25, "y": 4 }, + { "x": 13.25, "y": 4, "h": 1.5 }, + + { "x": 16.75, "y": 4, "w": 1.25 }, + { "x": 18, "y": 4, "w": 1.25 }, + { "x": 19.25, "y": 4, "w": 1.25 }, + { "x": 20.5, "y": 4, "w": 1.25 }, + + { "x": 8, "y": 5, "h": 1.5 }, + { "x": 12.25, "y": 5, "h": 1.5 } + ] }, + "LAYOUT_all": { + "layout": [ + { "x": 1, "y": 0 }, + { "x": 2, "y": 0 }, + { "x": 3, "y": 0 }, + { "x": 4, "y": 0 }, + { "x": 5, "y": 0 }, + { "x": 6, "y": 0 }, + { "x": 7, "y": 0 }, + + { "x": 13.75, "y": 0 }, + { "x": 14.75, "y": 0 }, + { "x": 15.75, "y": 0 }, + { "x": 16.75, "y": 0 }, + { "x": 17.75, "y": 0 }, + { "x": 18.75, "y": 0 }, + { "x": 19.75, "y": 0 }, + { "x": 22.75, "y": 0, "w": 2 }, + { "x": 20.75, "y": 0 }, + + { "x": 0.5, "y": 1, "w": 1.5 }, + { "x": 2, "y": 1 }, + { "x": 3, "y": 1 }, + { "x": 4, "y": 1 }, + { "x": 5, "y": 1 }, + { "x": 6, "y": 1 }, + { "x": 7, "y": 1 }, + + { "x": 8.25, "y": 1 }, + { "x": 9.25, "y": 1 }, + + { "x": 11, "y": 1 }, + { "x": 12, "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 }, + { "x": 18.75, "y": 1 }, + { "x": 19.75, "y": 1 }, + { "x": 20.75, "y": 1, "w": 1.5 }, + + { "x": 0.5, "y": 2, "w": 1.75 }, + { "x": 2.25, "y": 2 }, + { "x": 3.25, "y": 2 }, + { "x": 4.25, "y": 2 }, + { "x": 5.25, "y": 2 }, + { "x": 6.25, "y": 2 }, + + { "x": 8.25, "y": 2 }, + { "x": 9.25, "y": 2 }, + + { "x": 11, "y": 2 }, + { "x": 12, "y": 2 }, + + { "x": 14, "y": 2 }, + { "x": 15, "y": 2 }, + { "x": 16, "y": 2 }, + { "x": 17, "y": 2 }, + { "x": 18, "y": 2 }, + { "x": 19, "y": 2 }, + { "x": 20, "y": 2, "w": 2.25 }, + + { "x": 0.5, "y": 3, "w": 1.75 }, + { "x": 1.75, "y": 3 }, + { "x": 2.75, "y": 3 }, + { "x": 3.75, "y": 3 }, + { "x": 4.75, "y": 3 }, + { "x": 5.75, "y": 3 }, + { "x": 6.75, "y": 3 }, + + { "x": 8.25, "y": 3 }, + { "x": 9.25, "y": 3 }, + + { "x": 11, "y": 3 }, + { "x": 12, "y": 3 }, + + { "x": 13.5, "y": 3 }, + { "x": 14.5, "y": 3 }, + { "x": 15.5, "y": 3 }, + { "x": 16.5, "y": 3 }, + { "x": 17.5, "y": 3 }, + { "x": 18.5, "y": 3 }, + { "x": 19.5, "y": 3, "w": 1.75 }, + { "x": 21.25, "y": 3 }, + + { "x": 1, "y": 4, "w": 1.25 }, + { "x": 2.25, "y": 4, "w": 1.25 }, + { "x": 3.5, "y": 4, "w": 1.25 }, + { "x": 4.75, "y": 4, "w": 1.25 }, + + { "x": 7, "y": 4, "h": 1.5 }, + { "x": 8, "y": 4 }, + + { "x": 12.25, "y": 4 }, + { "x": 13.25, "y": 4, "h": 1.5 }, + + { "x": 16.75, "y": 4, "w": 1.25 }, + { "x": 18, "y": 4, "w": 1.25 }, + { "x": 19.25, "y": 4, "w": 1.25 }, + { "x": 20.5, "y": 4, "w": 1.25 }, + + { "x": 8, "y": 5, "h": 1.5 }, + { "x": 12.25, "y": 5, "h": 1.5 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/keystonecaps/gameroyadvance/keymaps/default/config.h b/keyboards/keystonecaps/gameroyadvance/keymaps/default/config.h new file mode 100644 index 000000000000..693d5684c116 --- /dev/null +++ b/keyboards/keystonecaps/gameroyadvance/keymaps/default/config.h @@ -0,0 +1,25 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2018 Danny Nguyen + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +//#define USE_SERIAL +#define EE_HANDS \ No newline at end of file diff --git a/keyboards/keystonecaps/gameroyadvance/keymaps/default/keymap.c b/keyboards/keystonecaps/gameroyadvance/keymaps/default/keymap.c new file mode 100644 index 000000000000..268a158ee19d --- /dev/null +++ b/keyboards/keystonecaps/gameroyadvance/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2022 @RoyMeetsWorld + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT( + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_F1, KC_F2, KC_F7, KC_F8, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_F3, KC_F4, KC_F9, KC_F10, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F5, KC_F6, KC_F11, KC_F12, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_MUTE, KC_MUTE, KC_SPC, KC_RALT, MO(_FN), KC_RGUI, KC_RCTL, + KC_ENT, KC_ENT + ), + + [_FN] = LAYOUT( + KC_TILD, 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_DEL, + KC_TRNS, KC_TRNS, KC_UP, 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_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS + ) +}; + diff --git a/keyboards/keystonecaps/gameroyadvance/keymaps/default_all/config.h b/keyboards/keystonecaps/gameroyadvance/keymaps/default_all/config.h new file mode 100644 index 000000000000..693d5684c116 --- /dev/null +++ b/keyboards/keystonecaps/gameroyadvance/keymaps/default_all/config.h @@ -0,0 +1,25 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2018 Danny Nguyen + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +//#define USE_SERIAL +#define EE_HANDS \ No newline at end of file diff --git a/keyboards/keystonecaps/gameroyadvance/keymaps/default_all/keymap.c b/keyboards/keystonecaps/gameroyadvance/keymaps/default_all/keymap.c new file mode 100644 index 000000000000..a6adf3f95233 --- /dev/null +++ b/keyboards/keystonecaps/gameroyadvance/keymaps/default_all/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2022 @RoyMeetsWorld + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT_all( + 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, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_F1, KC_F2, KC_F7, KC_F8, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_F3, KC_F4, KC_F9, KC_F10, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F5, KC_F6, KC_F11, KC_F12, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_PSCR, + KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_MUTE, KC_MUTE, KC_SPC, KC_RALT, MO(_FN), KC_RGUI, KC_RCTL, + KC_ENT, KC_ENT + ), + + [_FN] = LAYOUT_all( + KC_TILD, 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_DEL, + KC_TRNS, KC_TRNS, KC_UP, 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_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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, + 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 + ) +}; + diff --git a/keyboards/keystonecaps/gameroyadvance/readme.md b/keyboards/keystonecaps/gameroyadvance/readme.md new file mode 100644 index 000000000000..cc733cea46e9 --- /dev/null +++ b/keyboards/keystonecaps/gameroyadvance/readme.md @@ -0,0 +1,30 @@ +# Game Roy ADVANCE + +![Game Roy ADVANCE](https://i.imgur.com/N6RI4fUh.jpg) +![GRALAYOUTS](https://i.imgur.com/lHjTRQK.png) + +A one-handed, expandable game pad designed to take your pc gaming to the next level. Designed by [Keystone Caps](https://keystonecaps.store). + +* Keyboard Maintainer: [RoyMeetsWorld](https://github.com/ROYMEETSWORLD) +* Hardware Supported: Game Roy ADVANCE +* Hardware Availability: [keystonecaps.store](https://keystonecaps.store) + +Make example for this keyboard (after setting up your build environment): + + make keystonecaps/gameroyadvance:default + +Flashing example for this keyboard: + + make keystonecaps/gameroyadvance:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` (FN + Escape by default) + +Special thanks to @tpstevens for all of his hard work in creating these firmware files from the mess that I had made. diff --git a/keyboards/keystonecaps/gameroyadvance/rules.mk b/keyboards/keystonecaps/gameroyadvance/rules.mk new file mode 100644 index 000000000000..be3b8b9a6180 --- /dev/null +++ b/keyboards/keystonecaps/gameroyadvance/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina # For Pro Micro +# BOOTLOADER = qmk-dfu # For Elite-C + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +ENCODER_ENABLE = yes +SPLIT_KEYBOARD = yes \ No newline at end of file From 66fc18c75646e77d9768803298777d39087577cf Mon Sep 17 00:00:00 2001 From: Ryan Skidmore Date: Mon, 2 May 2022 20:34:44 +0100 Subject: [PATCH 0623/1832] keyboards/ryanskidmore: add rskeys100 keyboard (#15506) * keyboards/ryanskidmore/rskeys100: add rskeys100 draft firmware * keyboards/ryanskidmore/rskeys100: fix firmware * ryanskidmore/rskeys100: fix remaining bugs * keyboards/ryanskidmore/rskeys100: finishing touches on firmware * keyboards/ryanskidmore/rskeys100: migrate from full replacement matrix scanning to lite, move rgb matrix enable call to keymap * keyboards/ryanskidmore/rskeys100: remove undefines, clarify comments * ryanskidmore/rskeys100: remove unused imports * keyboards/ryanskidmore/rskeys100: pr feedback --- keyboards/ryanskidmore/rskeys100/config.h | 85 ++++++++++++ keyboards/ryanskidmore/rskeys100/info.json | 121 ++++++++++++++++++ .../rskeys100/keymaps/default/keymap.c | 65 ++++++++++ .../rskeys100/keymaps/default/readme.md | 1 + keyboards/ryanskidmore/rskeys100/matrix.c | 110 ++++++++++++++++ keyboards/ryanskidmore/rskeys100/readme.md | 22 ++++ keyboards/ryanskidmore/rskeys100/rskeys100.c | 30 +++++ keyboards/ryanskidmore/rskeys100/rskeys100.h | 22 ++++ keyboards/ryanskidmore/rskeys100/rules.mk | 23 ++++ 9 files changed, 479 insertions(+) create mode 100644 keyboards/ryanskidmore/rskeys100/config.h create mode 100644 keyboards/ryanskidmore/rskeys100/info.json create mode 100644 keyboards/ryanskidmore/rskeys100/keymaps/default/keymap.c create mode 100644 keyboards/ryanskidmore/rskeys100/keymaps/default/readme.md create mode 100644 keyboards/ryanskidmore/rskeys100/matrix.c create mode 100644 keyboards/ryanskidmore/rskeys100/readme.md create mode 100644 keyboards/ryanskidmore/rskeys100/rskeys100.c create mode 100644 keyboards/ryanskidmore/rskeys100/rskeys100.h create mode 100644 keyboards/ryanskidmore/rskeys100/rules.mk diff --git a/keyboards/ryanskidmore/rskeys100/config.h b/keyboards/ryanskidmore/rskeys100/config.h new file mode 100644 index 000000000000..9e036aa70dba --- /dev/null +++ b/keyboards/ryanskidmore/rskeys100/config.h @@ -0,0 +1,85 @@ +// Copyright 2021 Ryan Skidmore (@ryanskidmore, rskeys@ryanskidmore.co.uk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7273 // rs +#define PRODUCT_ID 0x0064 // 100 +#define DEVICE_VER 0x0001 // rev 1 +#define MANUFACTURER ryanskidmore +#define PRODUCT rsKeys100 + +/* Key Matrix Sizes */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 24 + +/* Rows */ +#define ROW_A D4 +#define ROW_B C6 +#define ROW_C D7 +#define ROW_D E6 +#define ROW_E B4 +#define ROW_F B5 + +/* Columns 0 - 20 (24 with dummy columns for shift registers) */ +#define SHR_LATCH B2 +#define SHR_CLOCK B3 +#define SHR_DATA B1 +#define SHR_COLS { 0x000001, 0x000002, 0x000004, 0x000008, 0x000010, 0x000020, 0x000040, 0x000080, 0x000100, 0x000200, 0x000400, 0x000800, 0x001000, 0x002000, 0x004000, 0x008000, 0x010000, 0x020000, 0x040000, 0x080000, 0x100000, 0x200000, 0x400000, 0x800000 } + +/* The shift registers on the matrix PCB output a signal on each column, which passes through the + * switch and a diode towards the row. The row is then connected to the AVR as an input. This means + * the diode direction is COL(umn) to ROW */ +#define DIODE_DIRECTION COL2ROW + +/* RGB Data Pin */ +#define RGB_DI_PIN C7 +/* The number of RGB LEDs connected */ +#define DRIVER_LED_TOTAL 105 +/* Set the maximum brightness to 110 to avoid going over 500 mA. + * At full brightness with all three indicator LEDs on, the power draw is about 450 mA. */ +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 110 +/* Enable framebuffer effects */ +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +/* Enable the cycle left right animation and set it as the startup mode */ +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Set the max power consumption for the keyboard, which is 500 mA. */ +#define USB_MAX_POWER_CONSUMPTION 500 + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +#define FORCE_NKRO + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/ryanskidmore/rskeys100/info.json b/keyboards/ryanskidmore/rskeys100/info.json new file mode 100644 index 000000000000..ed9898d4059e --- /dev/null +++ b/keyboards/ryanskidmore/rskeys100/info.json @@ -0,0 +1,121 @@ +{ + "keyboard_name": "rskeys100", + "url": "", + "maintainer": "ryanskidmore", + "layouts": { + "LAYOUT_fullsize_iso": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.25, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + {"x":4, "y":1.25}, + {"x":5, "y":1.25}, + {"x":6, "y":1.25}, + {"x":7, "y":1.25}, + {"x":8, "y":1.25}, + {"x":9, "y":1.25}, + {"x":10, "y":1.25}, + {"x":11, "y":1.25}, + {"x":12, "y":1.25}, + {"x":13, "y":1.25, "w":2}, + {"x":15.25, "y":1.25}, + {"x":16.25, "y":1.25}, + {"x":17.25, "y":1.25}, + {"x":18.5, "y":1.25}, + {"x":19.5, "y":1.25}, + {"x":20.5, "y":1.25}, + {"x":21.5, "y":1.25}, + + {"x":0, "y":2.25, "w":1.5}, + {"x":1.5, "y":2.25}, + {"x":2.5, "y":2.25}, + {"x":3.5, "y":2.25}, + {"x":4.5, "y":2.25}, + {"x":5.5, "y":2.25}, + {"x":6.5, "y":2.25}, + {"x":7.5, "y":2.25}, + {"x":8.5, "y":2.25}, + {"x":9.5, "y":2.25}, + {"x":10.5, "y":2.25}, + {"x":11.5, "y":2.25}, + {"x":12.5, "y":2.25}, + {"x":15.25, "y":2.25}, + {"x":16.25, "y":2.25}, + {"x":17.25, "y":2.25}, + {"x":18.5, "y":2.25}, + {"x":19.5, "y":2.25}, + {"x":20.5, "y":2.25}, + {"x":21.5, "y":2.25, "h": 2}, + + {"x":0, "y":3.25, "w":1.75}, + {"x":1.75, "y":3.25}, + {"x":2.75, "y":3.25}, + {"x":3.75, "y":3.25}, + {"x":4.75, "y":3.25}, + {"x":5.75, "y":3.25}, + {"x":6.75, "y":3.25}, + {"x":7.75, "y":3.25}, + {"x":8.75, "y":3.25}, + {"x":9.75, "y":3.25}, + {"x":10.75, "y":3.25}, + {"x":11.75, "y":3.25}, + {"x":12.75, "y":3.25}, + {"x":13.75, "y":2.25, "w":1.25, "h":2}, + {"x":18.5, "y":3.25}, + {"x":19.5, "y":3.25}, + {"x":20.5, "y":3.25}, + + {"x":0, "y":4.25, "w":1.25}, + {"x":1.25, "y":4.25}, + {"x":2.25, "y":4.25}, + {"x":3.25, "y":4.25}, + {"x":4.25, "y":4.25}, + {"x":5.25, "y":4.25}, + {"x":6.25, "y":4.25}, + {"x":7.25, "y":4.25}, + {"x":8.25, "y":4.25}, + {"x":9.25, "y":4.25}, + {"x":10.25, "y":4.25}, + {"x":11.25, "y":4.25}, + {"x":12.25, "y":4.25, "w":2.75}, + {"x":16.25, "y":4.25}, + {"x":18.5, "y":4.25}, + {"x":19.5, "y":4.25}, + {"x":20.5, "y":4.25}, + {"x":21.5, "y":4.25, "h":2}, + + {"x":0, "y":5.25, "w":1.25}, + {"x":1.25, "y":5.25, "w":1.25}, + {"x":2.5, "y":5.25, "w":1.25}, + {"x":3.75, "y":5.25, "w":6.25}, + {"x":10, "y":5.25, "w":1.25}, + {"x":11.25, "y":5.25, "w":1.25}, + {"x":12.5, "y":5.25, "w":1.25}, + {"x":13.75, "y":5.25, "w":1.25}, + {"x":15.25, "y":5.25}, + {"x":16.25, "y":5.25}, + {"x":17.25, "y":5.25}, + {"x":18.5, "y":5.25, "w":2}, + {"x":20.5, "y":5.25} + ] + } + } +} diff --git a/keyboards/ryanskidmore/rskeys100/keymaps/default/keymap.c b/keyboards/ryanskidmore/rskeys100/keymaps/default/keymap.c new file mode 100644 index 000000000000..37f2589760cb --- /dev/null +++ b/keyboards/ryanskidmore/rskeys100/keymaps/default/keymap.c @@ -0,0 +1,65 @@ +// Copyright 2021 Ryan Skidmore (@ryanskidmore, rskeys@ryanskidmore.co.uk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + /* Default Layer */ + [0] = LAYOUT_fullsize_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, LT(1, KC_F12), KC_PSCR, KC_SLCK, KC_PAUS, + + KC_GRV, 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_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_ENT, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_NUHS, KC_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + /* RGB Control Layer */ + [1] = LAYOUT_fullsize_iso( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______, _______, _______ + ), +}; + +void keyboard_post_init_user(void) { + rgb_matrix_enable_noeeprom(); +} + +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + /* We use RGB for the indicator RGB colours since we don't need to adjust the brightness. + * If any of the indicators are enabled, set the key to white. This overrides the active RGB + * matrix animation. */ + + if (host_keyboard_led_state().caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(73, 255, 255, 255); + } + + if (host_keyboard_led_state().num_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(19, 255, 255, 255); + } + + if (host_keyboard_led_state().scroll_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(14, 255, 255, 255); + } +} \ No newline at end of file diff --git a/keyboards/ryanskidmore/rskeys100/keymaps/default/readme.md b/keyboards/ryanskidmore/rskeys100/keymaps/default/readme.md new file mode 100644 index 000000000000..03357c206bb5 --- /dev/null +++ b/keyboards/ryanskidmore/rskeys100/keymaps/default/readme.md @@ -0,0 +1 @@ +This is the default keymap (UK, ISO) for the rskeys100. The RGB control layer can be activated by holding the F12 key. \ No newline at end of file diff --git a/keyboards/ryanskidmore/rskeys100/matrix.c b/keyboards/ryanskidmore/rskeys100/matrix.c new file mode 100644 index 000000000000..faefb29c84e0 --- /dev/null +++ b/keyboards/ryanskidmore/rskeys100/matrix.c @@ -0,0 +1,110 @@ +/* +Copyright 2014 Ralf Schmitt +Modified by Ryan Skidmore (@ryanskidmore) +to support the rskeys100. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include +#include "matrix.h" +#include +#include "quantum.h" + +static const uint32_t col_values[24] = SHR_COLS; + +static uint8_t read_rows(void); +static void select_col(uint8_t col); + +static void shift_pulse(void); +static void shift_out_single(uint8_t value); +static void shift_out(uint32_t value); + +void matrix_init_custom(void) { + setPinInput(ROW_A); + setPinInput(ROW_B); + setPinInput(ROW_C); + setPinInput(ROW_D); + setPinInput(ROW_E); + setPinInput(ROW_F); + + setPinOutput(SHR_DATA); + setPinOutput(SHR_LATCH); + setPinOutput(SHR_CLOCK); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool changed = false; + + for (uint8_t col = 0; col < MATRIX_COLS; col++) { + select_col(col); + _delay_us(1); + uint8_t rows = read_rows(); + for (uint8_t row = 0; row < MATRIX_ROWS; row++) { + bool prev_bit = ((uint32_t)(current_matrix[row]) & (matrix_row_t)(1UL << col)) ? 1 : 0; + bool curr_bit = ((uint32_t)rows & (uint32_t)(1UL << row)) ? 1 : 0; + if (prev_bit != curr_bit) { + current_matrix[row] = (uint32_t)(current_matrix[row]) ^ (uint32_t)(1UL << col); + changed = true; + } + } + } + + return changed; +} + +static uint8_t read_rows(void) { + return (readPin(ROW_F) << 5) + | (readPin(ROW_E) << 4) + | (readPin(ROW_D) << 3) + | (readPin(ROW_C) << 2) + | (readPin(ROW_B) << 1) + | (readPin(ROW_A) ); +} + +static void select_col(uint8_t col) { + shift_out(col_values[col]); +} + +static void shift_out(uint32_t value) { + writePinLow(SHR_LATCH); + uint8_t first_byte = (value >> 16) & 0xFF; + uint8_t second_byte = (value >> 8) & 0xFF; + uint8_t third_byte = (uint8_t)(value & 0xFF); + + shift_out_single(first_byte); + shift_out_single(second_byte); + shift_out_single(third_byte); + writePinHigh(SHR_LATCH); + /* We delay here to prevent multiple consecutive keys being triggered with a single switch press */ + _delay_us(10); +} + +static void shift_out_single(uint8_t value) { + for (uint8_t i = 0; i < 8; i++) { + if (value & 0b10000000) { + writePinHigh(SHR_DATA); + } else { + writePinLow(SHR_DATA); + } + + shift_pulse(); + value = value << 1; + } +} + +static inline void shift_pulse(void) { + writePinHigh(SHR_CLOCK); + writePinLow(SHR_CLOCK); +} \ No newline at end of file diff --git a/keyboards/ryanskidmore/rskeys100/readme.md b/keyboards/ryanskidmore/rskeys100/readme.md new file mode 100644 index 000000000000..4be465dbde57 --- /dev/null +++ b/keyboards/ryanskidmore/rskeys100/readme.md @@ -0,0 +1,22 @@ +# rskeys100 + +The rskeys100 is a full size, 100% ISO keyboard with per-key RGB. + +* Keyboard Maintainer: [Ryan Skidmore](https://github.com/ryanskidmore) +* Hardware Supported: The rskeys100 matrix PCB is the only supported PCB for the switch matrix. This PCB works with any +Pro Micro or Pro Micro alternative as the daughterboard. +* Hardware Availability: Coming soon + +Make example for this keyboard (after setting up your build environment): + + make ryanskidmore/rskeys100:default + +Flashing example for this keyboard: + + make ryanskidmore/rskeys100:default:flash + +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). + +## Bootloader + +To enter the bootloader, press the `RESET` button on your daughterboard PCB while it's plugged in. \ No newline at end of file diff --git a/keyboards/ryanskidmore/rskeys100/rskeys100.c b/keyboards/ryanskidmore/rskeys100/rskeys100.c new file mode 100644 index 000000000000..ec98ae62cc64 --- /dev/null +++ b/keyboards/ryanskidmore/rskeys100/rskeys100.c @@ -0,0 +1,30 @@ +// Copyright 2021 Ryan Skidmore (@ryanskidmore, rskeys@ryanskidmore.co.uk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "rskeys100.h" + + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,NO_LED, 14, 15, 16,NO_LED,NO_LED,NO_LED,NO_LED}, + { 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 24, 24, 23, 22, 21, 20, 19, 18, 17}, + { 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60}, + { 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66,NO_LED,NO_LED,NO_LED,NO_LED, 64, 63, 62,NO_LED}, + { 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,NO_LED,NO_LED, 93,NO_LED, 94, 95, 96, 97}, + { 117,NO_LED, 116, 115,NO_LED,NO_LED, 112,NO_LED,NO_LED,NO_LED, 109, 108, 107, 106, 105, 103, 102, 101,NO_LED, 99,NO_LED} + }, { + {0, 0}, {21, 0}, {32, 0}, {43, 0}, {53, 0}, {64, 0}, {75, 0}, {85, 0}, {96, 0}, {117, 0}, {128, 0}, {139, 0}, {149, 0}, {160, 0}, {171, 0}, {181, 0}, + {0, 13}, {11, 13}, {21, 13}, {32, 13}, {42, 13}, {53, 13}, {64, 13}, {75, 13}, {85, 13}, {96, 13}, {107, 13}, {117, 13}, {128, 13}, {139, 13}, {160, 13}, {171, 13}, {181, 13}, {192, 13}, {203, 13}, {213, 13}, {224, 13}, + {0, 26}, {11, 26}, {21, 26}, {32, 26}, {42, 26}, {53, 26}, {64, 26}, {75, 26}, {85, 26}, {96, 26}, {107, 26}, {117, 26}, {128, 26}, {149, 26}, {160, 26}, {171, 26}, {181, 26}, {192, 26}, {203, 26}, {213, 26}, {224, 26}, + {0, 38}, {11, 38}, {21, 38}, {32, 38}, {42, 38}, {53, 38}, {64, 38}, {75, 38}, {85, 38}, {96, 38}, {117, 38}, {128, 38}, {149, 38}, {192, 38}, {203, 38}, {213, 38}, + {0, 51}, {11, 51}, {21, 51}, {32, 51}, {42, 51}, {53, 51}, {64, 51}, {75, 51}, {85, 51}, {96, 51}, {107, 51}, {117, 51}, {139, 51}, {171, 51}, {192, 51}, {203, 51}, {213, 51}, {224, 51}, + {0, 64}, {11, 64}, {21, 64}, {64, 64}, {107, 64}, {117, 64}, {128, 64}, {149, 64}, {160, 64}, {171, 64}, {181, 64}, {192, 64}, {213, 64} + }, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 + } }; +#endif \ No newline at end of file diff --git a/keyboards/ryanskidmore/rskeys100/rskeys100.h b/keyboards/ryanskidmore/rskeys100/rskeys100.h new file mode 100644 index 000000000000..d29744006539 --- /dev/null +++ b/keyboards/ryanskidmore/rskeys100/rskeys100.h @@ -0,0 +1,22 @@ +// Copyright 2021 Ryan Skidmore (@ryanskidmore, rskeys@ryanskidmore.co.uk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +#define LAYOUT_fullsize_iso( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K015, K016, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, K120, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K317, K318, K319, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K415, K417, K418, K419, K420, \ + K500, K502, K503, K506, K510, K511, K512, K513, K514, K515, K516, K517, K519 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, K014, K015, K016, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, K120, KC_NO, KC_NO, KC_NO }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, KC_NO, KC_NO, KC_NO }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, KC_NO, KC_NO, KC_NO, K317, K318, K319, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, KC_NO, K415, KC_NO, K417, K418, K419, K420, KC_NO, KC_NO, KC_NO }, \ + { K500, KC_NO, K502, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515, K516, K517, KC_NO, K519, KC_NO, KC_NO, KC_NO, KC_NO } \ +} diff --git a/keyboards/ryanskidmore/rskeys100/rules.mk b/keyboards/ryanskidmore/rskeys100/rules.mk new file mode 100644 index 000000000000..62e3f4278426 --- /dev/null +++ b/keyboards/ryanskidmore/rskeys100/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 +AUDIO_ENABLE = no # Audio output +CUSTOM_MATRIX = lite + +SRC += matrix.c \ No newline at end of file From c03e18f728a8c56bbe49d2c319ae96decc3e48bb Mon Sep 17 00:00:00 2001 From: jonavin <71780717+Jonavin@users.noreply.github.com> Date: Tue, 3 May 2022 06:22:10 -0400 Subject: [PATCH 0624/1832] Jonavin-kb67-Reduce mem usage (#16991) Co-authored-by: Jonavin <=> --- keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/config.h | 3 +++ keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c | 7 ------- keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/rules.mk | 2 ++ 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/config.h index 9d842a791887..4955c0b136c1 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/config.h @@ -34,3 +34,6 @@ #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR #define RGB_DISABLE_WHEN_USB_SUSPENDED #endif + +// Reduce layers to 3 to save memory +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c index 1b85354be539..98711fcd8615 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c @@ -41,13 +41,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_NO, KC_DEL, KC_INS, KC_NO, KC_NO, KC_NO, KC_P0, KC_00, KC_PDOT, KC_PSLS, _______, _______, _______, _______, _______, _______, KC_BSPC, _______, _______, _______, _______, _______ ), - [_RAISE] = LAYOUT_65_ansi_blocker( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______ - ), }; #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/rules.mk b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/rules.mk index 91153c75a370..c26db537eebb 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/rules.mk +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/rules.mk @@ -1,8 +1,10 @@ VIA_ENABLE = yes LTO_ENABLE = yes +CONSOLE_ENABLE = no MOUSEKEY_ENABLE = no TAP_DANCE_ENABLE = yes BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +EXTRAKEY_ENABLE = no TD_LSFT_CAPSLOCK_ENABLE = yes IDLE_TIMEOUT_ENABLE = yes From be9fa68785b30f6cab1c3e2700a2689f601d84af Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 4 May 2022 05:48:41 +1000 Subject: [PATCH 0625/1832] Also format *.hpp files. (#16997) --- lib/python/qmk/cli/format/c.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/qmk/cli/format/c.py b/lib/python/qmk/cli/format/c.py index 8eb7fa1ed026..a58aef3fbc16 100644 --- a/lib/python/qmk/cli/format/c.py +++ b/lib/python/qmk/cli/format/c.py @@ -9,7 +9,7 @@ from qmk.path import normpath from qmk.c_parse import c_source_files -c_file_suffixes = ('c', 'h', 'cpp') +c_file_suffixes = ('c', 'h', 'cpp', 'hpp') core_dirs = ('drivers', 'quantum', 'tests', 'tmk_core', 'platforms') ignored = ('tmk_core/protocol/usb_hid', 'platforms/chibios/boards') From 5e6f9dfc4d5f2dabbfe8e27b52624b4800310544 Mon Sep 17 00:00:00 2001 From: "E.Iosifidis" Date: Wed, 4 May 2022 18:08:47 +0300 Subject: [PATCH 0626/1832] [Keymap] Introduced New layer & Improvements (#16921) Co-authored-by: Ryan --- .../anavi/macropad8/keymaps/vscode/keymap.c | 142 ++++++++++++++++-- 1 file changed, 133 insertions(+), 9 deletions(-) diff --git a/keyboards/anavi/macropad8/keymaps/vscode/keymap.c b/keyboards/anavi/macropad8/keymaps/vscode/keymap.c index be6ac07f5848..46d4a7d8b374 100644 --- a/keyboards/anavi/macropad8/keymaps/vscode/keymap.c +++ b/keyboards/anavi/macropad8/keymaps/vscode/keymap.c @@ -18,39 +18,72 @@ enum layers { _BASIC, + _BRACKETS, + _SELECTORS, _FN, }; #define KC_X0 LT(_FN, KC_ESC) +static char current_alpha_oled [12] = "None"; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* _BASIC Layer * ,-------------------------------------. * | Toggle | Toggle | | | - * | Block | Line | Undo | Redo | + * | Block | Line | Undo | Search | * | Comment | Comment | | | * |---------+---------+--------+---------+ * | | | | TO | - * | Cut | Copy | Paste | _FN | + * | Cut | Copy | Paste | _BASIC | * | | | | | - * `-------------------------------------' + * `-------------------------------------' */ [_BASIC] = LAYOUT_ortho_2x4( - RCS(KC_A), C(KC_SLASH), C(KC_Z), C(KC_Y), - C(KC_X), C(KC_C), C(KC_V), TO(_FN) + RCS(KC_A), LCTL(KC_SLASH), LCTL(KC_Z), LCTL(KC_F), + LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), TO(_BRACKETS) + ), +/* _BRACKETS Layer + * ,-----------------------------------------. + * | | | | | + * | ( | [ | { | Bksp | + * | | | | | + * |---------+---------+--------+------------+ + * | | | | TO | + * | Del | Copy | Paste | _SELECTORS | + * | | | | | + * `----------------------------------------' + */ + [_BRACKETS] = LAYOUT_ortho_2x4( + S(KC_9), KC_LBRC, S(KC_LBRC), KC_BACKSPACE, + KC_DEL, C(KC_C), C(KC_V), TO(_SELECTORS) + ), +/* _SELECTORS Layer +* ,-------------------------------------. +* | | | | | +* | Select | Save | Undo | Bksp | +* | All | | | | +* |---------+---------+--------+---------+ +* | | | | TO | +* | Cut | Copy | Paste | _FN | +* | | | | | +* `-------------------------------------' +*/ + [_SELECTORS] = LAYOUT_ortho_2x4( + C(KC_A), C(KC_S), C(KC_Z), KC_BACKSPACE, + C(KC_X), C(KC_C), C(KC_V), TO(_FN) ), /* _FN Layer * ,--------------------------------------------. * | RGB | RGB | RGB | RGB | * | Toggle | Mode | Mode | Snake | - * | | Forward | Reverse | Mode | + * | | Forward | Reverse | Mode | * |-----------+-----------+-----------+---------+ * | | Cycle | Toggle | TO | - * | BackLight | BackLight | BackLight | _BASIC | - * | Toggle | Levels | | | - * `--------------------------------------------' + * | BackLight | BackLight | BackLight | _BASIC | + * | Toggle | Levels | Breathing | | + * `--------------------------------------------' */ [_FN] = LAYOUT_ortho_2x4( RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, @@ -63,6 +96,89 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand } +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + char string [33]; + switch(keycode) + { + //First Layer with Basic Keys + case LCTL(KC_X): + strncpy(current_alpha_oled, "Cut", sizeof(current_alpha_oled)); + break; + case LCTL(KC_F): + strncpy(current_alpha_oled, "Search", sizeof(current_alpha_oled)); + break; + case LCTL(KC_Z): + strncpy(current_alpha_oled, "Undo", sizeof(current_alpha_oled)); + break; + case LCTL(KC_C): + strncpy(current_alpha_oled, "Copy", sizeof(current_alpha_oled)); + break; + case LCTL(KC_V): + strncpy(current_alpha_oled, "Paste", sizeof(current_alpha_oled)); + break; + case RCS(KC_A): + strncpy(current_alpha_oled, "Block cmt.", sizeof(current_alpha_oled)); + break; + case LCTL(KC_SLASH): + strncpy(current_alpha_oled, "Line cmt.", sizeof(current_alpha_oled)); + break; + //Second Layer with Brackets + case S(KC_9): + strncpy(current_alpha_oled, "()", sizeof(current_alpha_oled)); + break; + case KC_LBRC: + strncpy(current_alpha_oled, "[]", sizeof(current_alpha_oled)); + break; + case S(KC_LBRC): + strncpy(current_alpha_oled, "{}", sizeof(current_alpha_oled)); + break; + case KC_BACKSPACE: + strncpy(current_alpha_oled, "Backspace", sizeof(current_alpha_oled)); + break; + case KC_DEL: + strncpy(current_alpha_oled, "Del", sizeof(current_alpha_oled)); + break; + // Selector Layer keys + case C(KC_A): + strncpy(current_alpha_oled, "Select All", sizeof(current_alpha_oled)); + break; + case C(KC_S): + strncpy(current_alpha_oled, "Save", sizeof(current_alpha_oled)); + break; + // FN Layer keys + case RGB_TOG: + strncpy(current_alpha_oled, "RGB Toggle", sizeof(current_alpha_oled)); + break; + case RGB_MOD: + strncpy(current_alpha_oled, "RGB Fwd", sizeof(current_alpha_oled)); + break; + case RGB_M_R: + strncpy(current_alpha_oled, "RGB Rev", sizeof(current_alpha_oled)); + break; + case RGB_MODE_SNAKE: + strncpy(current_alpha_oled, "RGB Snk", sizeof(current_alpha_oled)); + break; + case BL_TOGG: + strncpy(current_alpha_oled, "BkLgt Tog", sizeof(current_alpha_oled)); + break; + case BL_STEP: + strncpy(current_alpha_oled, "BkLgt Lvl", sizeof(current_alpha_oled)); + break; + case BL_BRTG: + strncpy(current_alpha_oled, "BkLgt Brth", sizeof(current_alpha_oled)); + break; + //FN Key keycodes + case TO(_BASIC) ... TO(_FN): + strncpy(current_alpha_oled, "Switcher", sizeof(current_alpha_oled)); + break; + default: + strncpy(current_alpha_oled, itoa(keycode, string, 10), sizeof(current_alpha_oled)); + break; + } + } + return true; +} bool oled_task_user(void) { // Host Keyboard Layer Status @@ -73,6 +189,12 @@ bool oled_task_user(void) { case _BASIC: oled_write_ln_P(PSTR("Basic"), false); break; + case _BRACKETS: + oled_write_ln_P(PSTR("Brkts"), false); + break; + case _SELECTORS: + oled_write_ln_P(PSTR("Selct"), false); + break; case _FN: oled_write_ln_P(PSTR("FN"), false); break; @@ -90,6 +212,8 @@ bool oled_task_user(void) { oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); oled_write_P(PSTR("Backlit: "), false); oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); + oled_write_P(PSTR("Last Key: "), false); + oled_write_ln(current_alpha_oled, false); #ifdef RGBLIGHT_ENABLE static char rgbStatusLine1[26] = {0}; snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); From 7608902794d94f0c833ac9f5ae0047a9403408a8 Mon Sep 17 00:00:00 2001 From: npspears <40127181+npspears@users.noreply.github.com> Date: Wed, 4 May 2022 10:10:35 -0500 Subject: [PATCH 0627/1832] [Keyboard] Add per-key RGB for Quark LP RGB variants (#16671) Co-authored-by: Drashna Jaelre --- keyboards/checkerboards/quark_lp/config.h | 69 +++++++++++++++++++-- keyboards/checkerboards/quark_lp/quark_lp.c | 22 +++++++ keyboards/checkerboards/quark_lp/rules.mk | 3 +- 3 files changed, 87 insertions(+), 7 deletions(-) diff --git a/keyboards/checkerboards/quark_lp/config.h b/keyboards/checkerboards/quark_lp/config.h index 78197d33a25a..08f8c75b670a 100644 --- a/keyboards/checkerboards/quark_lp/config.h +++ b/keyboards/checkerboards/quark_lp/config.h @@ -46,8 +46,7 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -// ws2812 options -#define RGB_DI_PIN C2 // pin the DI on the ws2812 is hooked-up to +// RGB Matrix #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -58,7 +57,65 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) +#define RGB_DI_PIN C2 // pin the DI on the ws2812 is hooked-up to +#define RGBLED_NUM 51 // number of LEDs + +#ifdef RGB_MATRIX_ENABLE +#define RGB_MATRIX_KEYPRESSES // reacts to keypresses +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 125 // limits maximum brightness of LEDs to 125 out of 255. Higher may cause the controller to crash. +#define RGB_MATRIX_HUE_STEP 8 +#define RGB_MATRIX_SAT_STEP 8 +#define RGB_MATRIX_VAL_STEP 8 +#define RGB_MATRIX_SPD_STEP 10 + +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +#define ENABLE_RGB_MATRIX_ALPHAS_MODS +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_VAL +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_DUAL_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#define ENABLE_RGB_MATRIX_RAINDROPS +#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define ENABLE_RGB_MATRIX_HUE_BREATHING +#define ENABLE_RGB_MATRIX_HUE_PENDULUM +#define ENABLE_RGB_MATRIX_HUE_WAVE +#define ENABLE_RGB_MATRIX_PIXEL_RAIN +#define ENABLE_RGB_MATRIX_PIXEL_FLOW +#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#define ENABLE_RGB_MATRIX_SPLASH +#define ENABLE_RGB_MATRIX_MULTISPLASH +#define ENABLE_RGB_MATRIX_SOLID_SPLASH +#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif diff --git a/keyboards/checkerboards/quark_lp/quark_lp.c b/keyboards/checkerboards/quark_lp/quark_lp.c index bc9a192bf50c..ff8f237a5be4 100644 --- a/keyboards/checkerboards/quark_lp/quark_lp.c +++ b/keyboards/checkerboards/quark_lp/quark_lp.c @@ -15,3 +15,25 @@ */ #include "quark_lp.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 11, 10, 9, 8, 7, NO_LED, 6, NO_LED, 5, NO_LED, 4, 3, 2, 1, 0 }, + { 12, 13, 14, 15, 16, NO_LED, 17, NO_LED, 18, NO_LED, 19, 20, 21, 22, 23 }, + { 35, 34, 33, 32, 31, NO_LED, 30, NO_LED, 29, NO_LED, 28, 27, 26, 25, 24 }, + { 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 } +}, { + // LED Index to Physical Position + { 244, 0 }, { 224, 0 }, { 203, 0 }, { 183, 0 }, { 163, 0 }, { 143, 0 }, { 122, 0 }, { 102, 0 }, { 81, 0 }, { 61, 0 }, { 41, 0 }, { 20, 0 }, + { 20, 21 }, { 41, 21 }, { 61, 21 }, { 81, 21 }, { 102, 21 }, { 122, 21 }, { 143, 21 }, { 163, 21 }, { 183, 21 }, { 203, 21 }, { 224, 21 }, { 244, 21 }, + { 244, 43 }, { 224, 43 }, { 203, 43 }, { 183, 43 }, { 163, 43 }, { 143, 43 }, { 122, 43 }, { 102, 43 }, { 81, 43 }, { 61, 43 }, { 41, 43 }, { 20, 43 }, + { 20, 64 }, { 41, 64 }, { 61, 64 }, { 81, 64 }, { 102, 64 }, { 112, 64 }, { 122, 64 }, { 132, 64 }, { 143, 64 }, { 153, 64 }, { 163, 64 }, { 183, 64 }, { 203, 64 }, { 224, 64 }, { 244, 64 } +}, { + // LED Index to Flag + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 +} }; +#endif diff --git a/keyboards/checkerboards/quark_lp/rules.mk b/keyboards/checkerboards/quark_lp/rules.mk index 155e14ca6851..d5bf779f12ca 100644 --- a/keyboards/checkerboards/quark_lp/rules.mk +++ b/keyboards/checkerboards/quark_lp/rules.mk @@ -14,5 +14,6 @@ CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes From 11e20fa0c9fbe60c1559659cb90ade8f5fb39c1f Mon Sep 17 00:00:00 2001 From: Mateusz Mojsiejuk Date: Thu, 5 May 2022 04:55:47 +0200 Subject: [PATCH 0628/1832] Add missing dependency for qmk setup on Fedora (#17003) --- util/install/fedora.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/install/fedora.sh b/util/install/fedora.sh index e123447d3f80..b140438b4240 100755 --- a/util/install/fedora.sh +++ b/util/install/fedora.sh @@ -8,7 +8,7 @@ _qmk_install() { clang diffutils git gcc glibc-headers kernel-devel kernel-headers \ make unzip wget zip python3 avr-binutils avr-gcc avr-libc \ arm-none-eabi-binutils-cs arm-none-eabi-gcc-cs arm-none-eabi-newlib \ - avrdude dfu-programmer dfu-util hidapi + avrdude dfu-programmer dfu-util hidapi libusb1-devel python3 -m pip install --user -r $QMK_FIRMWARE_DIR/requirements.txt } From 3fbf9dc2902d53940a1cb41d473dd63034f70839 Mon Sep 17 00:00:00 2001 From: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Thu, 5 May 2022 18:08:35 +1000 Subject: [PATCH 0629/1832] [Keyboard] RS60 Rev2 Addition (#16988) --- keyboards/xelus/rs60/config.h | 36 +----------- keyboards/xelus/rs60/readme.md | 3 +- keyboards/xelus/rs60/rev1/config.h | 49 ++++++++++++++++ keyboards/xelus/rs60/rev1/rev1.c | 16 +++++ keyboards/xelus/rs60/rev1/rev1.h | 34 +++++++++++ keyboards/xelus/rs60/{ => rev1}/rules.mk | 0 keyboards/xelus/rs60/rev2/chconf.h | 30 ++++++++++ keyboards/xelus/rs60/rev2/config.h | 74 ++++++++++++++++++++++++ keyboards/xelus/rs60/rev2/halconf.h | 26 +++++++++ keyboards/xelus/rs60/rev2/mcuconf.h | 42 ++++++++++++++ keyboards/xelus/rs60/rev2/rev2.c | 16 +++++ keyboards/xelus/rs60/rev2/rev2.h | 34 +++++++++++ keyboards/xelus/rs60/rev2/rules.mk | 28 +++++++++ keyboards/xelus/rs60/rs60.h | 22 ++----- 14 files changed, 359 insertions(+), 51 deletions(-) create mode 100644 keyboards/xelus/rs60/rev1/config.h create mode 100644 keyboards/xelus/rs60/rev1/rev1.c create mode 100644 keyboards/xelus/rs60/rev1/rev1.h rename keyboards/xelus/rs60/{ => rev1}/rules.mk (100%) create mode 100644 keyboards/xelus/rs60/rev2/chconf.h create mode 100644 keyboards/xelus/rs60/rev2/config.h create mode 100644 keyboards/xelus/rs60/rev2/halconf.h create mode 100644 keyboards/xelus/rs60/rev2/mcuconf.h create mode 100644 keyboards/xelus/rs60/rev2/rev2.c create mode 100644 keyboards/xelus/rs60/rev2/rev2.h create mode 100644 keyboards/xelus/rs60/rev2/rules.mk diff --git a/keyboards/xelus/rs60/config.h b/keyboards/xelus/rs60/config.h index ce0c2e1d027d..52c27df6e846 100644 --- a/keyboards/xelus/rs60/config.h +++ b/keyboards/xelus/rs60/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Harrison Chan (Xelus) +/* Copyright 2022 Harrison Chan (Xelus) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -13,37 +13,5 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#pragma once -// USB Device descriptor parameter -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x5253 // RS60 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT RS60 - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 14 - -#define MATRIX_ROW_PINS { B3, B7, F0, F4, F1 } -#define MATRIX_COL_PINS { E6, D5, D3, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4} -#define UNUSED_PINS - -// COL2ROW or ROW2COL -#define DIODE_DIRECTION COL2ROW - -// Set 0 if debouncing isn't needed -#define DEBOUNCE 5 - -// Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap -#define LOCKING_SUPPORT_ENABLE - -// Locking resynchronize hack -#define LOCKING_RESYNC_ENABLE - -//Indicator -#define LED_CAPS_LOCK_PIN B0 - -//Force NKRO -#define FORCE_NKRO +#include "config_common.h" diff --git a/keyboards/xelus/rs60/readme.md b/keyboards/xelus/rs60/readme.md index 381aa9dc0d64..9e6d17eb86e0 100644 --- a/keyboards/xelus/rs60/readme.md +++ b/keyboards/xelus/rs60/readme.md @@ -8,7 +8,8 @@ Make example for this keyboard (after setting up your build environment): - make xelus/rs60:default + make xelus/rs60/rev1:default + make xelus/rs60/rev2:default Reset your keyboard in 3 ways: diff --git a/keyboards/xelus/rs60/rev1/config.h b/keyboards/xelus/rs60/rev1/config.h new file mode 100644 index 000000000000..ce0c2e1d027d --- /dev/null +++ b/keyboards/xelus/rs60/rev1/config.h @@ -0,0 +1,49 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +// USB Device descriptor parameter +#define VENDOR_ID 0x5845 // XE +#define PRODUCT_ID 0x5253 // RS60 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Xelus +#define PRODUCT RS60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +#define MATRIX_ROW_PINS { B3, B7, F0, F4, F1 } +#define MATRIX_COL_PINS { E6, D5, D3, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4} +#define UNUSED_PINS + +// COL2ROW or ROW2COL +#define DIODE_DIRECTION COL2ROW + +// Set 0 if debouncing isn't needed +#define DEBOUNCE 5 + +// Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap +#define LOCKING_SUPPORT_ENABLE + +// Locking resynchronize hack +#define LOCKING_RESYNC_ENABLE + +//Indicator +#define LED_CAPS_LOCK_PIN B0 + +//Force NKRO +#define FORCE_NKRO diff --git a/keyboards/xelus/rs60/rev1/rev1.c b/keyboards/xelus/rs60/rev1/rev1.c new file mode 100644 index 000000000000..d997ff979eeb --- /dev/null +++ b/keyboards/xelus/rs60/rev1/rev1.c @@ -0,0 +1,16 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #include "rev1.h" diff --git a/keyboards/xelus/rs60/rev1/rev1.h b/keyboards/xelus/rs60/rev1/rev1.h new file mode 100644 index 000000000000..9b8e841de5c6 --- /dev/null +++ b/keyboards/xelus/rs60/rev1/rev1.h @@ -0,0 +1,34 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_60_ansi_split_bs_rshift( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B, K3C, K3D, \ + K40, K41, K42, K45, K49, K4A, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D } \ +} diff --git a/keyboards/xelus/rs60/rules.mk b/keyboards/xelus/rs60/rev1/rules.mk similarity index 100% rename from keyboards/xelus/rs60/rules.mk rename to keyboards/xelus/rs60/rev1/rules.mk diff --git a/keyboards/xelus/rs60/rev2/chconf.h b/keyboards/xelus/rs60/rev2/chconf.h new file mode 100644 index 000000000000..a9608a4c7539 --- /dev/null +++ b/keyboards/xelus/rs60/rev2/chconf.h @@ -0,0 +1,30 @@ +/* Copyright 2022 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/acheron/austin/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#include_next diff --git a/keyboards/xelus/rs60/rev2/config.h b/keyboards/xelus/rs60/rev2/config.h new file mode 100644 index 000000000000..cbda2089ef94 --- /dev/null +++ b/keyboards/xelus/rs60/rev2/config.h @@ -0,0 +1,74 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +// USB Device descriptor parameter +#define VENDOR_ID 0x5845 // XE +#define PRODUCT_ID 0x5253 // RS60 +#define DEVICE_VER 0x0002 +#define MANUFACTURER Xelus +#define PRODUCT RS60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +#define MATRIX_ROW_PINS { B15, B14, B12, B1, B0 } +#define MATRIX_COL_PINS { B13, A7, A6, A5, A4, A3, A2, B7, B6, B5, B4, B3, A15, A14 } +#define UNUSED_PINS + +// COL2ROW or ROW2COL +#define DIODE_DIRECTION COL2ROW + +// Set 0 if debouncing isn't needed +#define DEBOUNCE 5 + +// Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap +#define LOCKING_SUPPORT_ENABLE + +// Locking resynchronize hack +#define LOCKING_RESYNC_ENABLE + +//Indicator +#define LED_CAPS_LOCK_PIN A1 + +// I2C config +#define I2C_DRIVER I2CD3 +#define I2C1_SCL_PIN B8 +#define I2C1_SDA_PIN B9 +#define I2C1_SCL_PAL_MODE 4 +#define I2C1_SDA_PAL_MODE 4 +#define I2C1_CLOCK_SPEED 400000 +#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 + +// EEPROM config +// 24LC32 +#define EXTERNAL_EEPROM_BYTE_COUNT 4096 +#define EXTERNAL_EEPROM_PAGE_SIZE 32 +#define EXTERNAL_EEPROM_ADDRESS_SIZE 2 +#define EXTERNAL_EEPROM_WRITE_TIME 5 + +// More EEPROM for layers +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 + +// Hardware Defines +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE + +// HSE CLK +#define STM32_HSECLK 16000000 + +//Force NKRO +#define FORCE_NKRO diff --git a/keyboards/xelus/rs60/rev2/halconf.h b/keyboards/xelus/rs60/rev2/halconf.h new file mode 100644 index 000000000000..b3e848852b5b --- /dev/null +++ b/keyboards/xelus/rs60/rev2/halconf.h @@ -0,0 +1,26 @@ +/* Copyright 2022 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/acheron/austin/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/xelus/rs60/rev2/mcuconf.h b/keyboards/xelus/rs60/rev2/mcuconf.h new file mode 100644 index 000000000000..2ef15d07208c --- /dev/null +++ b/keyboards/xelus/rs60/rev2/mcuconf.h @@ -0,0 +1,42 @@ +/* Copyright 2022 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/xelus/kangaroo/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE +#undef STM32_PPRE1 +#undef STM32_PPRE2 + +// 64MHz core +#define STM32_PLLM_VALUE 8 +#define STM32_PLLN_VALUE 168 +#define STM32_PLLP_VALUE 4 +#define STM32_PLLQ_VALUE 7 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE1_DIV1 + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/xelus/rs60/rev2/rev2.c b/keyboards/xelus/rs60/rev2/rev2.c new file mode 100644 index 000000000000..f51e262ea014 --- /dev/null +++ b/keyboards/xelus/rs60/rev2/rev2.c @@ -0,0 +1,16 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #include "rev2.h" diff --git a/keyboards/xelus/rs60/rev2/rev2.h b/keyboards/xelus/rs60/rev2/rev2.h new file mode 100644 index 000000000000..9b8e841de5c6 --- /dev/null +++ b/keyboards/xelus/rs60/rev2/rev2.h @@ -0,0 +1,34 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_60_ansi_split_bs_rshift( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B, K3C, K3D, \ + K40, K41, K42, K45, K49, K4A, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D } \ +} diff --git a/keyboards/xelus/rs60/rev2/rules.mk b/keyboards/xelus/rs60/rev2/rules.mk new file mode 100644 index 000000000000..95c0f0bc6049 --- /dev/null +++ b/keyboards/xelus/rs60/rev2/rules.mk @@ -0,0 +1,28 @@ +# MCU name +MCU = STM32F401 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +EEPROM_DRIVER = i2c + +# Save hid interface +KEYBOARD_SHARED_EP = yes + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + +LAYOUTS = 60_ansi_split_bs_rshift diff --git a/keyboards/xelus/rs60/rs60.h b/keyboards/xelus/rs60/rs60.h index 9b8e841de5c6..81e4470db58f 100644 --- a/keyboards/xelus/rs60/rs60.h +++ b/keyboards/xelus/rs60/rs60.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Harrison Chan (Xelus) +/* Copyright 2022 Harrison Chan (Xelus) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,18 +17,8 @@ #include "quantum.h" -#define XXX KC_NO - -#define LAYOUT_60_ansi_split_bs_rshift( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B, K3C, K3D, \ - K40, K41, K42, K45, K49, K4A, K4C, K4D \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D }, \ - { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D } \ -} +#if defined(KEYBOARD_xelus_rs60_rev1) + #include "rev1.h" +#elif defined(KEYBOARD_xelus_rs60_rev2) + #include "rev2.h" +#endif From 890dfebe8ddb971117d48031e4317d5387447b35 Mon Sep 17 00:00:00 2001 From: Josh Hinnebusch Date: Thu, 5 May 2022 06:31:52 -0400 Subject: [PATCH 0630/1832] Add ibis PCB (#17001) * initial ibis commit * updates etc * layout updates to fix mismatched keys * Apply suggestions from code review Co-authored-by: Joel Challis * Update keyboards/hineybush/ibis/info.json Co-authored-by: Joel Challis * Update keyboards/hineybush/ibis/readme.md Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan --- keyboards/hineybush/ibis/config.h | 20 + keyboards/hineybush/ibis/info.json | 782 ++++++++++++++++++ .../hineybush/ibis/keymaps/default/keymap.c | 28 + keyboards/hineybush/ibis/keymaps/via/keymap.c | 42 + keyboards/hineybush/ibis/keymaps/via/rules.mk | 1 + keyboards/hineybush/ibis/readme.md | 27 + keyboards/hineybush/ibis/rules.mk | 1 + 7 files changed, 901 insertions(+) create mode 100644 keyboards/hineybush/ibis/config.h create mode 100644 keyboards/hineybush/ibis/info.json create mode 100644 keyboards/hineybush/ibis/keymaps/default/keymap.c create mode 100644 keyboards/hineybush/ibis/keymaps/via/keymap.c create mode 100644 keyboards/hineybush/ibis/keymaps/via/rules.mk create mode 100644 keyboards/hineybush/ibis/readme.md create mode 100644 keyboards/hineybush/ibis/rules.mk diff --git a/keyboards/hineybush/ibis/config.h b/keyboards/hineybush/ibis/config.h new file mode 100644 index 000000000000..e8601cd54b25 --- /dev/null +++ b/keyboards/hineybush/ibis/config.h @@ -0,0 +1,20 @@ +// Copyright 2022 Josh Hinnebusch (@hineybush) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/hineybush/ibis/info.json b/keyboards/hineybush/ibis/info.json new file mode 100644 index 000000000000..69960e13ab48 --- /dev/null +++ b/keyboards/hineybush/ibis/info.json @@ -0,0 +1,782 @@ +{ + "manufacturer": "Hiney LLC", + "keyboard_name": "ibis", + "maintainer": "hineybush", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": [ + "F0", + "F1", + "F4", + "F5", + "F6", + "F7", + "B6", + "B5", + "D6", + "D4" + ], + "rows": [ + "B0", + "B1", + "B2", + "B3", + "C7", + "C6", + "B4", + "D7", + "D5", + "D3" + ] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0xEAA9", + "vid": "0x04D8" + }, + "indicators": { + "num_lock": "B7", + "caps_lock": "D2" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { + "matrix": [ + 0, + 0 + ], + "x": 2.5, + "y": 1.25 + }, + { + "matrix": [ + 1, + 0 + ], + "x": 3.5, + "y": 1.25 + }, + { + "matrix": [ + 0, + 1 + ], + "x": 4.5, + "y": 1.25 + }, + { + "matrix": [ + 1, + 1 + ], + "x": 5.5, + "y": 1.25 + }, + { + "matrix": [ + 0, + 2 + ], + "x": 6.5, + "y": 1.25 + }, + { + "matrix": [ + 1, + 2 + ], + "x": 7.5, + "y": 1.25 + }, + { + "matrix": [ + 0, + 3 + ], + "x": 8.5, + "y": 1.25 + }, + { + "matrix": [ + 1, + 3 + ], + "x": 9.5, + "y": 1.25 + }, + { + "matrix": [ + 0, + 4 + ], + "x": 10.5, + "y": 1.25 + }, + { + "matrix": [ + 1, + 4 + ], + "x": 11.5, + "y": 1.25 + }, + { + "matrix": [ + 0, + 5 + ], + "x": 12.5, + "y": 1.25 + }, + { + "matrix": [ + 1, + 5 + ], + "x": 13.5, + "y": 1.25 + }, + { + "matrix": [ + 0, + 6 + ], + "x": 14.5, + "y": 1.25 + }, + { + "matrix": [ + 1, + 6 + ], + "x": 15.5, + "y": 1.25 + }, + { + "matrix": [ + 1, + 7 + ], + "x": 16.5, + "y": 1.25 + }, + { + "matrix": [ + 3, + 7 + ], + "x": 17.75, + "y": 1.25 + }, + { + "matrix": [ + 0, + 8 + ], + "x": 19, + "y": 1.25 + }, + { + "matrix": [ + 1, + 8 + ], + "x": 20, + "y": 1.25 + }, + { + "matrix": [ + 0, + 9 + ], + "x": 21, + "y": 1.25 + }, + { + "matrix": [ + 1, + 9 + ], + "x": 22, + "y": 1.25 + }, + { + "matrix": [ + 2, + 0 + ], + "x": 2.5, + "y": 2.25, + "w": 1.5 + }, + { + "matrix": [ + 3, + 0 + ], + "x": 4, + "y": 2.25 + }, + { + "matrix": [ + 2, + 1 + ], + "x": 5, + "y": 2.25 + }, + { + "matrix": [ + 3, + 1 + ], + "x": 6, + "y": 2.25 + }, + { + "matrix": [ + 2, + 2 + ], + "x": 7, + "y": 2.25 + }, + { + "matrix": [ + 3, + 2 + ], + "x": 8, + "y": 2.25 + }, + { + "matrix": [ + 2, + 3 + ], + "x": 9, + "y": 2.25 + }, + { + "matrix": [ + 3, + 3 + ], + "x": 10, + "y": 2.25 + }, + { + "matrix": [ + 2, + 4 + ], + "x": 11, + "y": 2.25 + }, + { + "matrix": [ + 3, + 4 + ], + "x": 12, + "y": 2.25 + }, + { + "matrix": [ + 2, + 5 + ], + "x": 13, + "y": 2.25 + }, + { + "matrix": [ + 3, + 5 + ], + "x": 14, + "y": 2.25 + }, + { + "matrix": [ + 2, + 6 + ], + "x": 15, + "y": 2.25 + }, + { + "matrix": [ + 3, + 6 + ], + "x": 16, + "y": 2.25, + "w": 1.5 + }, + { + "matrix": [ + 5, + 7 + ], + "x": 17.75, + "y": 2.25 + }, + { + "matrix": [ + 2, + 8 + ], + "x": 19, + "y": 2.25 + }, + { + "matrix": [ + 3, + 8 + ], + "x": 20, + "y": 2.25 + }, + { + "matrix": [ + 2, + 9 + ], + "x": 21, + "y": 2.25 + }, + { + "matrix": [ + 3, + 9 + ], + "x": 22, + "y": 2.25 + }, + { + "matrix": [ + 4, + 0 + ], + "x": 2.5, + "y": 3.25, + "w": 1.75 + }, + { + "matrix": [ + 5, + 0 + ], + "x": 4.25, + "y": 3.25 + }, + { + "matrix": [ + 4, + 1 + ], + "x": 5.25, + "y": 3.25 + }, + { + "matrix": [ + 5, + 1 + ], + "x": 6.25, + "y": 3.25 + }, + { + "matrix": [ + 4, + 2 + ], + "x": 7.25, + "y": 3.25 + }, + { + "matrix": [ + 5, + 2 + ], + "x": 8.25, + "y": 3.25 + }, + { + "matrix": [ + 4, + 3 + ], + "x": 9.25, + "y": 3.25 + }, + { + "matrix": [ + 5, + 3 + ], + "x": 10.25, + "y": 3.25 + }, + { + "matrix": [ + 4, + 4 + ], + "x": 11.25, + "y": 3.25 + }, + { + "matrix": [ + 5, + 4 + ], + "x": 12.25, + "y": 3.25 + }, + { + "matrix": [ + 4, + 5 + ], + "x": 13.25, + "y": 3.25 + }, + { + "matrix": [ + 5, + 5 + ], + "x": 14.25, + "y": 3.25 + }, + { + "matrix": [ + 4, + 6 + ], + "x": 15.25, + "y": 3.25 + }, + { + "matrix": [ + 5, + 6 + ], + "x": 15.25, + "y": 3.25, + "w": 2.25 + }, + { + "matrix": [ + 4, + 8 + ], + "x": 19, + "y": 3.25 + }, + { + "matrix": [ + 5, + 8 + ], + "x": 20, + "y": 3.25 + }, + { + "matrix": [ + 4, + 9 + ], + "x": 21, + "y": 3.25 + }, + { + "matrix": [ + 5, + 9 + ], + "x": 22, + "y": 3.25 + }, + { + "matrix": [ + 6, + 0 + ], + "x": 2.5, + "y": 4.25, + "w": 1.25 + }, + { + "matrix": [ + 7, + 0 + ], + "x": 3.75, + "y": 4.25 + }, + { + "matrix": [ + 6, + 1 + ], + "x": 4.75, + "y": 4.25 + }, + { + "matrix": [ + 7, + 1 + ], + "x": 5.75, + "y": 4.25 + }, + { + "matrix": [ + 6, + 2 + ], + "x": 6.75, + "y": 4.25 + }, + { + "matrix": [ + 7, + 2 + ], + "x": 7.75, + "y": 4.25 + }, + { + "matrix": [ + 6, + 3 + ], + "x": 8.75, + "y": 4.25 + }, + { + "matrix": [ + 7, + 3 + ], + "x": 9.75, + "y": 4.25 + }, + { + "matrix": [ + 6, + 4 + ], + "x": 10.75, + "y": 4.25 + }, + { + "matrix": [ + 7, + 4 + ], + "x": 11.75, + "y": 4.25 + }, + { + "matrix": [ + 6, + 5 + ], + "x": 12.75, + "y": 4.25 + }, + { + "matrix": [ + 7, + 5 + ], + "x": 13.75, + "y": 4.25 + }, + { + "matrix": [ + 6, + 6 + ], + "x": 14.75, + "y": 4.25, + "w": 1.75 + }, + { + "matrix": [ + 7, + 6 + ], + "x": 16.5, + "y": 4.25 + }, + { + "matrix": [ + 7, + 7 + ], + "x": 17.75, + "y": 4.5 + }, + { + "matrix": [ + 6, + 8 + ], + "x": 19, + "y": 4.25 + }, + { + "matrix": [ + 7, + 8 + ], + "x": 20, + "y": 4.25 + }, + { + "matrix": [ + 6, + 9 + ], + "x": 21, + "y": 4.25 + }, + { + "matrix": [ + 7, + 9 + ], + "x": 22, + "y": 4.25 + }, + { + "matrix": [ + 8, + 0 + ], + "x": 2.5, + "y": 5.25, + "w": 1.5 + }, + { + "matrix": [ + 9, + 0 + ], + "x": 4, + "y": 5.25 + }, + { + "matrix": [ + 8, + 1 + ], + "x": 5, + "y": 5.25, + "w": 1.5 + }, + { + "matrix": [ + 8, + 3 + ], + "x": 6.5, + "y": 5.25, + "w": 6.25 + }, + { + "matrix": [ + 8, + 5 + ], + "x": 12.75, + "y": 5.25, + "w": 1.25 + }, + { + "matrix": [ + 9, + 5 + ], + "x": 14, + "y": 5.25, + "w": 1.25 + }, + { + "matrix": [ + 8, + 6 + ], + "x": 15.25, + "y": 5.25, + "w": 1.25 + }, + { + "matrix": [ + 9, + 6 + ], + "x": 16.75, + "y": 5.5 + }, + { + "matrix": [ + 9, + 7 + ], + "x": 17.75, + "y": 5.5 + }, + { + "matrix": [ + 8, + 8 + ], + "x": 18.75, + "y": 5.5 + }, + { + "matrix": [ + 9, + 8 + ], + "x": 20, + "y": 5.25 + }, + { + "matrix": [ + 8, + 9 + ], + "x": 21, + "y": 5.25 + }, + { + "matrix": [ + 9, + 9 + ], + "x": 22, + "y": 5.25 + } + ] + } + } +} diff --git a/keyboards/hineybush/ibis/keymaps/default/keymap.c b/keyboards/hineybush/ibis/keymaps/default/keymap.c new file mode 100644 index 000000000000..46f0d0221e4f --- /dev/null +++ b/keyboards/hineybush/ibis/keymaps/default/keymap.c @@ -0,0 +1,28 @@ +// Copyright 2022 Josh Hinnebusch (@hineybush) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k17, k37, k08, k18, k09, k19, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k57, k28, k38, k29, k39, \ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k48, k58, k49, k59, \ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k77, k68, k78, k69, k79, \ + k80, k90, k81, k83, k85, k95, k86, k96, k97, k88, k98, k89, k99 \ */ + + [0] = LAYOUT_all( + 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_GRV, KC_BSPC, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + 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_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS, + 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, + 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_LSFT, KC_TRNS, KC_UP, KC_P1, KC_P2, KC_P3, KC_TRNS, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_all( + 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, KC_TRNS, KC_TRNS, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LCTL, KC_LGUI, KC_LALT, KC_MPLY, KC_LALT, KC_TRNS, KC_RGUI, KC_MPRV, KC_VOLD, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/hineybush/ibis/keymaps/via/keymap.c b/keyboards/hineybush/ibis/keymaps/via/keymap.c new file mode 100644 index 000000000000..d406afb05235 --- /dev/null +++ b/keyboards/hineybush/ibis/keymaps/via/keymap.c @@ -0,0 +1,42 @@ +// Copyright 2022 Josh Hinnebusch (@hineybush) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k17, k37, k08, k18, k09, k19, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k57, k28, k38, k29, k39, \ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k48, k58, k49, k59, \ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k77, k68, k78, k69, k79, \ + k80, k90, k81, k83, k85, k95, k86, k96, k97, k88, k98, k89, k99 \ */ + + [0] = LAYOUT_all( + 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_GRV, KC_BSPC, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + 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_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS, + 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, + 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_LSFT, KC_TRNS, KC_UP, KC_P1, KC_P2, KC_P3, KC_TRNS, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_all( + 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, KC_TRNS, KC_TRNS, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_LALT, KC_TRNS, KC_RGUI, KC_MPRV, KC_VOLD, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,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, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,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, 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, + 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, 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 + ), + [3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,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, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,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, 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, + 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, 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 + ) +}; diff --git a/keyboards/hineybush/ibis/keymaps/via/rules.mk b/keyboards/hineybush/ibis/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/hineybush/ibis/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/hineybush/ibis/readme.md b/keyboards/hineybush/ibis/readme.md new file mode 100644 index 000000000000..0c345e7c8160 --- /dev/null +++ b/keyboards/hineybush/ibis/readme.md @@ -0,0 +1,27 @@ +# hineybush/ibis + +![hineybush/ibis](https://i.imgur.com/TaCryDrh.png) + +Duck Blackbird-layout PCB for the ibis keyboard. + +* Keyboard Maintainer: [Josh Hinnebusch](https://github.com/hineybush) +* Hardware Supported: ibis +* Hardware Availability: hiney.cc + +Make example for this keyboard (after setting up your build environment): + + make hineybush/ibis:default + +Flashing example for this keyboard: + + make hineybush/ibis:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/hineybush/ibis/rules.mk b/keyboards/hineybush/ibis/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/hineybush/ibis/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 49267b135be6f333cf072f1cdb7f822d012bc4b3 Mon Sep 17 00:00:00 2001 From: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Fri, 6 May 2022 16:15:49 +1000 Subject: [PATCH 0631/1832] [Bug] Fix RS60 Rev2 I2C (#17015) --- keyboards/xelus/rs60/rev2/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/xelus/rs60/rev2/config.h b/keyboards/xelus/rs60/rev2/config.h index cbda2089ef94..74258b1289ac 100644 --- a/keyboards/xelus/rs60/rev2/config.h +++ b/keyboards/xelus/rs60/rev2/config.h @@ -46,7 +46,6 @@ #define LED_CAPS_LOCK_PIN A1 // I2C config -#define I2C_DRIVER I2CD3 #define I2C1_SCL_PIN B8 #define I2C1_SDA_PIN B9 #define I2C1_SCL_PAL_MODE 4 From 8c23f87c5147f2a25784bc4501b40a5f7150b1f1 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 6 May 2022 22:18:03 +1000 Subject: [PATCH 0632/1832] Ensure .hex file output for ARM Teensys (#17014) --- builddefs/bootloader.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/builddefs/bootloader.mk b/builddefs/bootloader.mk index 226213297e7c..1a53bfa66370 100644 --- a/builddefs/bootloader.mk +++ b/builddefs/bootloader.mk @@ -97,12 +97,18 @@ ifeq ($(strip $(BOOTLOADER)), halfkay) OPT_DEFS += -DBOOTLOADER_HALFKAY BOOTLOADER_TYPE = halfkay + # Teensy 2.0 ifeq ($(strip $(MCU)), atmega32u4) BOOTLOADER_SIZE = 512 endif + # Teensy 2.0++ ifeq ($(strip $(MCU)), at90usb1286) BOOTLOADER_SIZE = 1024 endif + # Teensy LC, 3.x + ifneq (,$(filter $(MCU_ORIG), MKL26Z64 MK20DX128 MK20DX256 MK66FX1M0)) + FIRMWARE_FORMAT = hex + endif endif ifeq ($(strip $(BOOTLOADER)), caterina) OPT_DEFS += -DBOOTLOADER_CATERINA From a8a03b108c47a629de0bb748ecc4d30dd5cd2188 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 7 May 2022 09:48:26 +1000 Subject: [PATCH 0633/1832] usb-usb converter: community layout support (#16773) --- keyboards/converter/usb_usb/info.json | 1032 +++++++++-------- .../usb_usb/keymaps/chriskopher/keymap.c | 48 +- keyboards/converter/usb_usb/rules.mk | 2 + keyboards/converter/usb_usb/usb_usb.h | 24 +- 4 files changed, 590 insertions(+), 516 deletions(-) diff --git a/keyboards/converter/usb_usb/info.json b/keyboards/converter/usb_usb/info.json index 5ba1a46b7125..8df3bb3e7621 100644 --- a/keyboards/converter/usb_usb/info.json +++ b/keyboards/converter/usb_usb/info.json @@ -1,483 +1,555 @@ { - "keyboard_name": "converter/usb_usb", - "url": "", - "maintainer": "qmk", - "layouts": { - "LAYOUT_all": { - "layout": [ - {"label":"F13", "x":2, "y":0}, - {"label":"F14", "x":3, "y":0}, - {"label":"F15", "x":4, "y":0}, - {"label":"F16", "x":5, "y":0}, - {"label":"F17", "x":6.5, "y":0}, - {"label":"F18", "x":7.5, "y":0}, - {"label":"F19", "x":8.5, "y":0}, - {"label":"F20", "x":9.5, "y":0}, - {"label":"F21", "x":11, "y":0}, - {"label":"F22", "x":12, "y":0}, - {"label":"F23", "x":13, "y":0}, - {"label":"F24", "x":14, "y":0}, - {"label":"Esc", "x":0, "y":1}, - {"label":"F1", "x":2, "y":1}, - {"label":"F2", "x":3, "y":1}, - {"label":"F3", "x":4, "y":1}, - {"label":"F4", "x":5, "y":1}, - {"label":"F5", "x":6.5, "y":1}, - {"label":"F6", "x":7.5, "y":1}, - {"label":"F7", "x":8.5, "y":1}, - {"label":"F8", "x":9.5, "y":1}, - {"label":"F9", "x":11, "y":1}, - {"label":"F10", "x":12, "y":1}, - {"label":"F11", "x":13, "y":1}, - {"label":"F12", "x":14, "y":1}, - {"label":"Print Screen", "x":15.25, "y":1}, - {"label":"Scroll Lock", "x":16.25, "y":1}, - {"label":"Pause", "x":17.25, "y":1}, - {"label":"Volume Down", "x":18.5, "y":1}, - {"label":"Vol Up", "x":19.5, "y":1}, - {"label":"Mute", "x":20.5, "y":1}, - {"label":"Power", "x":21.5, "y":1}, - {"label":"Help", "x":22.75, "y":1}, - {"label":"`", "x":0, "y":2.5}, - {"label":"1", "x":1, "y":2.5}, - {"label":"2", "x":2, "y":2.5}, - {"label":"3", "x":3, "y":2.5}, - {"label":"4", "x":4, "y":2.5}, - {"label":"5", "x":5, "y":2.5}, - {"label":"6", "x":6, "y":2.5}, - {"label":"7", "x":7, "y":2.5}, - {"label":"8", "x":8, "y":2.5}, - {"label":"9", "x":9, "y":2.5}, - {"label":"0", "x":10, "y":2.5}, - {"label":"-", "x":11, "y":2.5}, - {"label":"=", "x":12, "y":2.5}, - {"label":"Yen", "x":13, "y":2.5}, - {"label":"Back Space", "x":14, "y":2.5}, - {"label":"Insert", "x":15.25, "y":2.5}, - {"label":"Home", "x":16.25, "y":2.5}, - {"label":"Page Up", "x":17.25, "y":2.5}, - {"label":"Num Lock", "x":18.5, "y":2.5}, - {"label":"Num /", "x":19.5, "y":2.5}, - {"label":"Num *", "x":20.5, "y":2.5}, - {"label":"Num -", "x":21.5, "y":2.5}, - {"label":"Stop", "x":22.75, "y":2.5}, - {"label":"Again", "x":23.75, "y":2.5}, - {"label":"Tab", "x":0, "y":3.5, "w":1.5}, - {"label":"Q", "x":1.5, "y":3.5}, - {"label":"W", "x":2.5, "y":3.5}, - {"label":"E", "x":3.5, "y":3.5}, - {"label":"R", "x":4.5, "y":3.5}, - {"label":"T", "x":5.5, "y":3.5}, - {"label":"Y", "x":6.5, "y":3.5}, - {"label":"U", "x":7.5, "y":3.5}, - {"label":"I", "x":8.5, "y":3.5}, - {"label":"O", "x":9.5, "y":3.5}, - {"label":"P", "x":10.5, "y":3.5}, - {"label":"[", "x":11.5, "y":3.5}, - {"label":"]", "x":12.5, "y":3.5}, - {"label":"\\", "x":13.5, "y":3.5, "w":1.5}, - {"label":"Delete", "x":15.25, "y":3.5}, - {"label":"End", "x":16.25, "y":3.5}, - {"label":"Page Down", "x":17.25, "y":3.5}, - {"label":"Num 7", "x":18.5, "y":3.5}, - {"label":"Num 8", "x":19.5, "y":3.5}, - {"label":"Num 9", "x":20.5, "y":3.5}, - {"label":"Num +", "x":21.5, "y":3.5}, - {"label":"Menu", "x":22.75, "y":3.5}, - {"label":"Undo", "x":23.75, "y":3.5}, - {"label":"Caps Lock", "x":0, "y":4.5, "w":1.75}, - {"label":"A", "x":1.75, "y":4.5}, - {"label":"S", "x":2.75, "y":4.5}, - {"label":"D", "x":3.75, "y":4.5}, - {"label":"F", "x":4.75, "y":4.5}, - {"label":"G", "x":5.75, "y":4.5}, - {"label":"H", "x":6.75, "y":4.5}, - {"label":"J", "x":7.75, "y":4.5}, - {"label":"K", "x":8.75, "y":4.5}, - {"label":"L", "x":9.75, "y":4.5}, - {"label":";", "x":10.75, "y":4.5}, - {"label":"\"", "x":11.75, "y":4.5}, - {"label":"ISO #", "x":12.75, "y":4.5}, - {"label":"Enter", "x":13.75, "y":4.5, "w":1.25}, - {"label":"Num 4", "x":18.5, "y":4.5}, - {"label":"Num 5", "x":19.5, "y":4.5}, - {"label":"Num 6", "x":20.5, "y":4.5}, - {"label":"Num , ", "x":21.5, "y":4.5}, - {"label":"Select", "x":22.75, "y":4.5}, - {"label":"Copy", "x":23.75, "y":4.5}, - {"label":"Shift", "x":0, "y":5.5, "w":1.25}, - {"label":"ISO \\", "x":1.25, "y":5.5}, - {"label":"Z", "x":2.25, "y":5.5}, - {"label":"X", "x":3.25, "y":5.5}, - {"label":"C", "x":4.25, "y":5.5}, - {"label":"V", "x":5.25, "y":5.5}, - {"label":"B", "x":6.25, "y":5.5}, - {"label":"N", "x":7.25, "y":5.5}, - {"label":"M", "x":8.25, "y":5.5}, - {"label":",", "x":9.25, "y":5.5}, - {"label":".", "x":10.25, "y":5.5}, - {"label":"/", "x":11.25, "y":5.5}, - {"label":"JIS \\", "x":12.25, "y":5.5}, - {"label":"Shift", "x":13.25, "y":5.5, "w":1.75}, - {"label":"Up", "x":16.25, "y":5.5}, - {"label":"Num 1", "x":18.5, "y":5.5}, - {"label":"Num 2", "x":19.5, "y":5.5}, - {"label":"Num 3", "x":20.5, "y":5.5}, - {"label":"Num =", "x":21.5, "y":5.5}, - {"label":"Exec", "x":22.75, "y":5.5}, - {"label":"Paste", "x":23.75, "y":5.5}, - {"label":"Ctrl", "x":0, "y":6.5}, - {"label":"GUI", "x":1, "y":6.5}, - {"label":"Alt", "x":2, "y":6.5}, - {"label":"JIS Muhenkan", "x":3, "y":6.5}, - {"label":"Hanja", "x":4, "y":6.5}, - {"label":"Space", "x":5, "y":6.5, "w":3}, - {"label":"Hangul/English", "x":8, "y":6.5}, - {"label":"JIS Henkan", "x":9, "y":6.5}, - {"label":"JIS Katakana/Hiragana", "x":10, "y":6.5}, - {"label":"Alt", "x":11, "y":6.5}, - {"label":"GUI", "x":12, "y":6.5}, - {"label":"App", "x":13, "y":6.5}, - {"label":"Ctrl", "x":14, "y":6.5}, - {"label":"Left", "x":15.25, "y":6.5}, - {"label":"Down", "x":16.25, "y":6.5}, - {"label":"Right", "x":17.25, "y":6.5}, - {"label":"Num 0", "x":18.5, "y":6.5, "w":2}, - {"label":"Num .", "x":20.5, "y":6.5}, - {"label":"Num Enter", "x":21.5, "y":6.5}, - {"label":"Find", "x":22.75, "y":6.5}, - {"label":"Cut", "x":23.75, "y":6.5} - ] - }, - "LAYOUT_ansi": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":2, "y":0}, - {"label":"F2", "x":3, "y":0}, - {"label":"F3", "x":4, "y":0}, - {"label":"F4", "x":5, "y":0}, - {"label":"F5", "x":6.5, "y":0}, - {"label":"F6", "x":7.5, "y":0}, - {"label":"F7", "x":8.5, "y":0}, - {"label":"F8", "x":9.5, "y":0}, - {"label":"F9", "x":11, "y":0}, - {"label":"F10", "x":12, "y":0}, - {"label":"F11", "x":13, "y":0}, - {"label":"F12", "x":14, "y":0}, - {"label":"PrtSc", "x":15.25, "y":0}, - {"label":"Scroll Lock", "x":16.25, "y":0}, - {"label":"Pause", "x":17.25, "y":0}, - {"label":"`", "x":0, "y":1.5}, - {"label":"1", "x":1, "y":1.5}, - {"label":"2", "x":2, "y":1.5}, - {"label":"3", "x":3, "y":1.5}, - {"label":"4", "x":4, "y":1.5}, - {"label":"5", "x":5, "y":1.5}, - {"label":"6", "x":6, "y":1.5}, - {"label":"7", "x":7, "y":1.5}, - {"label":"8", "x":8, "y":1.5}, - {"label":"9", "x":9, "y":1.5}, - {"label":"0", "x":10, "y":1.5}, - {"label":"-", "x":11, "y":1.5}, - {"label":"=", "x":12, "y":1.5}, - {"label":"Backspace", "x":13, "y":1.5, "w":2}, - {"label":"Insert", "x":15.25, "y":1.5}, - {"label":"Home", "x":16.25, "y":1.5}, - {"label":"Page Up", "x":17.25, "y":1.5}, - {"label":"Num Lock", "x":18.5, "y":1.5}, - {"label":"Num /", "x":19.5, "y":1.5}, - {"label":"Num *", "x":20.5, "y":1.5}, - {"label":"Num -", "x":21.5, "y":1.5}, - {"label":"Tab", "x":0, "y":2.5, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.5}, - {"label":"W", "x":2.5, "y":2.5}, - {"label":"E", "x":3.5, "y":2.5}, - {"label":"R", "x":4.5, "y":2.5}, - {"label":"T", "x":5.5, "y":2.5}, - {"label":"Y", "x":6.5, "y":2.5}, - {"label":"U", "x":7.5, "y":2.5}, - {"label":"I", "x":8.5, "y":2.5}, - {"label":"O", "x":9.5, "y":2.5}, - {"label":"P", "x":10.5, "y":2.5}, - {"label":"[", "x":11.5, "y":2.5}, - {"label":"]", "x":12.5, "y":2.5}, - {"label":"\\", "x":13.5, "y":2.5, "w":1.5}, - {"label":"Delete", "x":15.25, "y":2.5}, - {"label":"End", "x":16.25, "y":2.5}, - {"label":"Page Down", "x":17.25, "y":2.5}, - {"label":"Num 7", "x":18.5, "y":2.5}, - {"label":"Num 8", "x":19.5, "y":2.5}, - {"label":"Num 9", "x":20.5, "y":2.5}, - {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, - {"label":"A", "x":1.75, "y":3.5}, - {"label":"S", "x":2.75, "y":3.5}, - {"label":"D", "x":3.75, "y":3.5}, - {"label":"F", "x":4.75, "y":3.5}, - {"label":"G", "x":5.75, "y":3.5}, - {"label":"H", "x":6.75, "y":3.5}, - {"label":"J", "x":7.75, "y":3.5}, - {"label":"K", "x":8.75, "y":3.5}, - {"label":"L", "x":9.75, "y":3.5}, - {"label":":", "x":10.75, "y":3.5}, - {"label":"\"", "x":11.75, "y":3.5}, - {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, - {"label":"Num 4", "x":18.5, "y":3.5}, - {"label":"Num 5", "x":19.5, "y":3.5}, - {"label":"Num 6", "x":20.5, "y":3.5}, - {"label":"Num +", "x":21.5, "y":2.5, "h":2}, - {"label":"Shift", "x":0, "y":4.5, "w":2.25}, - {"label":"Z", "x":2.25, "y":4.5}, - {"label":"X", "x":3.25, "y":4.5}, - {"label":"C", "x":4.25, "y":4.5}, - {"label":"V", "x":5.25, "y":4.5}, - {"label":"B", "x":6.25, "y":4.5}, - {"label":"N", "x":7.25, "y":4.5}, - {"label":"M", "x":8.25, "y":4.5}, - {"label":",", "x":9.25, "y":4.5}, - {"label":".", "x":10.25, "y":4.5}, - {"label":"/", "x":11.25, "y":4.5}, - {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, - {"label":"Up", "x":16.25, "y":4.5}, - {"label":"Num 1", "x":18.5, "y":4.5}, - {"label":"Num 2", "x":19.5, "y":4.5}, - {"label":"Num 3", "x":20.5, "y":4.5}, - {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, - {"label":"GUI", "x":1.25, "y":5.5, "w":1.25}, - {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.5, "w":6.25}, - {"label":"Alt", "x":10, "y":5.5, "w":1.25}, - {"label":"GUI", "x":11.25, "y":5.5, "w":1.25}, - {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, - {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, - {"label":"Left", "x":15.25, "y":5.5}, - {"label":"Down", "x":16.25, "y":5.5}, - {"label":"Right", "x":17.25, "y":5.5}, - {"label":"Num 0", "x":18.5, "y":5.5, "w":2}, - {"label":"Num .", "x":20.5, "y":5.5}, - {"label":"Num Enter", "x":21.5, "y":4.5, "h":2} - ] - }, - "LAYOUT_iso": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":2, "y":0}, - {"label":"F2", "x":3, "y":0}, - {"label":"F3", "x":4, "y":0}, - {"label":"F4", "x":5, "y":0}, - {"label":"F5", "x":6.5, "y":0}, - {"label":"F6", "x":7.5, "y":0}, - {"label":"F7", "x":8.5, "y":0}, - {"label":"F8", "x":9.5, "y":0}, - {"label":"F9", "x":11, "y":0}, - {"label":"F10", "x":12, "y":0}, - {"label":"F11", "x":13, "y":0}, - {"label":"F12", "x":14, "y":0}, - {"label":"Print Screen", "x":15.25, "y":0}, - {"label":"Scroll Lock", "x":16.25, "y":0}, - {"label":"Pause", "x":17.25, "y":0}, - {"label":"`", "x":0, "y":1.5}, - {"label":"1", "x":1, "y":1.5}, - {"label":"2", "x":2, "y":1.5}, - {"label":"3", "x":3, "y":1.5}, - {"label":"4", "x":4, "y":1.5}, - {"label":"5", "x":5, "y":1.5}, - {"label":"6", "x":6, "y":1.5}, - {"label":"7", "x":7, "y":1.5}, - {"label":"8", "x":8, "y":1.5}, - {"label":"9", "x":9, "y":1.5}, - {"label":"0", "x":10, "y":1.5}, - {"label":"-", "x":11, "y":1.5}, - {"label":"=", "x":12, "y":1.5}, - {"label":"Backspace", "x":13, "y":1.5, "w":2}, - {"label":"Insert", "x":15.25, "y":1.5}, - {"label":"Home", "x":16.25, "y":1.5}, - {"label":"Page Up", "x":17.25, "y":1.5}, - {"label":"Num Lock", "x":18.5, "y":1.5}, - {"label":"Num /", "x":19.5, "y":1.5}, - {"label":"Num *", "x":20.5, "y":1.5}, - {"label":"Num -", "x":21.5, "y":1.5}, - {"label":"Tab", "x":0, "y":2.5, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.5}, - {"label":"W", "x":2.5, "y":2.5}, - {"label":"E", "x":3.5, "y":2.5}, - {"label":"R", "x":4.5, "y":2.5}, - {"label":"T", "x":5.5, "y":2.5}, - {"label":"Y", "x":6.5, "y":2.5}, - {"label":"U", "x":7.5, "y":2.5}, - {"label":"I", "x":8.5, "y":2.5}, - {"label":"O", "x":9.5, "y":2.5}, - {"label":"P", "x":10.5, "y":2.5}, - {"label":"[", "x":11.5, "y":2.5}, - {"label":"]", "x":12.5, "y":2.5}, - {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2}, - {"label":"Delete", "x":15.25, "y":2.5}, - {"label":"End", "x":16.25, "y":2.5}, - {"label":"Page Down", "x":17.25, "y":2.5}, - {"label":"Num 7", "x":18.5, "y":2.5}, - {"label":"Num 8", "x":19.5, "y":2.5}, - {"label":"Num 9", "x":20.5, "y":2.5}, - {"label":"Num +", "x":21.5, "y":2.5, "h":2}, - {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, - {"label":"A", "x":1.75, "y":3.5}, - {"label":"S", "x":2.75, "y":3.5}, - {"label":"D", "x":3.75, "y":3.5}, - {"label":"F", "x":4.75, "y":3.5}, - {"label":"G", "x":5.75, "y":3.5}, - {"label":"H", "x":6.75, "y":3.5}, - {"label":"J", "x":7.75, "y":3.5}, - {"label":"K", "x":8.75, "y":3.5}, - {"label":"L", "x":9.75, "y":3.5}, - {"label":";", "x":10.75, "y":3.5}, - {"label":"'", "x":11.75, "y":3.5}, - {"label":"ISO #", "x":12.75, "y":3.5}, - {"label":"Num 4", "x":18.5, "y":3.5}, - {"label":"Num 5", "x":19.5, "y":3.5}, - {"label":"Num 6", "x":20.5, "y":3.5}, - {"label":"Shift", "x":0, "y":4.5, "w":1.25}, - {"label":"ISO \\", "x":1.25, "y":4.5}, - {"label":"Z", "x":2.25, "y":4.5}, - {"label":"X", "x":3.25, "y":4.5}, - {"label":"C", "x":4.25, "y":4.5}, - {"label":"V", "x":5.25, "y":4.5}, - {"label":"B", "x":6.25, "y":4.5}, - {"label":"N", "x":7.25, "y":4.5}, - {"label":"M", "x":8.25, "y":4.5}, - {"label":",", "x":9.25, "y":4.5}, - {"label":".", "x":10.25, "y":4.5}, - {"label":"/", "x":11.25, "y":4.5}, - {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, - {"label":"Up", "x":16.25, "y":4.5}, - {"label":"Num 1", "x":18.5, "y":4.5}, - {"label":"Num 2", "x":19.5, "y":4.5}, - {"label":"Num 3", "x":20.5, "y":4.5}, - {"label":"Num Enter", "x":21.5, "y":4.5, "h":2}, - {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, - {"label":"GUI", "x":1.25, "y":5.5, "w":1.25}, - {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.5, "w":6.25}, - {"label":"AltGr", "x":10, "y":5.5, "w":1.25}, - {"label":"GUI", "x":11.25, "y":5.5, "w":1.25}, - {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, - {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, - {"label":"Left", "x":15.25, "y":5.5}, - {"label":"Down", "x":16.25, "y":5.5}, - {"label":"Right", "x":17.25, "y":5.5}, - {"label":"Num 0", "x":18.5, "y":5.5, "w":2}, - {"label":"Num .", "x":20.5, "y":5.5} - ] - }, - "LAYOUT_jis": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":2, "y":0}, - {"label":"F2", "x":3, "y":0}, - {"label":"F3", "x":4, "y":0}, - {"label":"F4", "x":5, "y":0}, - {"label":"F5", "x":6.5, "y":0}, - {"label":"F6", "x":7.5, "y":0}, - {"label":"F7", "x":8.5, "y":0}, - {"label":"F8", "x":9.5, "y":0}, - {"label":"F9", "x":11, "y":0}, - {"label":"F10", "x":12, "y":0}, - {"label":"F11", "x":13, "y":0}, - {"label":"F12", "x":14, "y":0}, - {"label":"Print Screen", "x":15.25, "y":0}, - {"label":"Scroll Lock", "x":16.25, "y":0}, - {"label":"Pause", "x":17.25, "y":0}, - {"label":"JIS Hankaku / Zenkaku", "x":0, "y":1.5}, - {"label":"1", "x":1, "y":1.5}, - {"label":"2", "x":2, "y":1.5}, - {"label":"3", "x":3, "y":1.5}, - {"label":"4", "x":4, "y":1.5}, - {"label":"5", "x":5, "y":1.5}, - {"label":"6", "x":6, "y":1.5}, - {"label":"7", "x":7, "y":1.5}, - {"label":"8", "x":8, "y":1.5}, - {"label":"9", "x":9, "y":1.5}, - {"label":"0", "x":10, "y":1.5}, - {"label":"-", "x":11, "y":1.5}, - {"label":"ˆ", "x":12, "y":1.5}, - {"label":"JIS Yen", "x":13, "y":1.5}, - {"label":"Back Space", "x":14, "y":1.5}, - {"label":"Insert", "x":15.25, "y":1.5}, - {"label":"Home", "x":16.25, "y":1.5}, - {"label":"Page Up", "x":17.25, "y":1.5}, - {"label":"Num Lock", "x":18.5, "y":1.5}, - {"label":"Num /", "x":19.5, "y":1.5}, - {"label":"Num *", "x":20.5, "y":1.5}, - {"label":"Num -", "x":21.5, "y":1.5}, - {"label":"Tab", "x":0, "y":2.5, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.5}, - {"label":"W", "x":2.5, "y":2.5}, - {"label":"E", "x":3.5, "y":2.5}, - {"label":"R", "x":4.5, "y":2.5}, - {"label":"T", "x":5.5, "y":2.5}, - {"label":"Y", "x":6.5, "y":2.5}, - {"label":"U", "x":7.5, "y":2.5}, - {"label":"I", "x":8.5, "y":2.5}, - {"label":"O", "x":9.5, "y":2.5}, - {"label":"P", "x":10.5, "y":2.5}, - {"label":"@", "x":11.5, "y":2.5}, - {"label":"[", "x":12.5, "y":2.5}, - {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2}, - {"label":"Delete", "x":15.25, "y":2.5}, - {"label":"End", "x":16.25, "y":2.5}, - {"label":"Page Down", "x":17.25, "y":2.5}, - {"label":"Num 7", "x":18.5, "y":2.5}, - {"label":"Num 8", "x":19.5, "y":2.5}, - {"label":"Num 9", "x":20.5, "y":2.5}, - {"label":"Num +", "x":21.5, "y":2.5, "h":2}, - {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, - {"label":"A", "x":1.75, "y":3.5}, - {"label":"S", "x":2.75, "y":3.5}, - {"label":"D", "x":3.75, "y":3.5}, - {"label":"F", "x":4.75, "y":3.5}, - {"label":"G", "x":5.75, "y":3.5}, - {"label":"H", "x":6.75, "y":3.5}, - {"label":"J", "x":7.75, "y":3.5}, - {"label":"K", "x":8.75, "y":3.5}, - {"label":"L", "x":9.75, "y":3.5}, - {"label":";", "x":10.75, "y":3.5}, - {"label":":", "x":11.75, "y":3.5}, - {"label":"]", "x":12.75, "y":3.5}, - {"label":"Num 4", "x":18.5, "y":3.5}, - {"label":"Num 5", "x":19.5, "y":3.5}, - {"label":"Num 6", "x":20.5, "y":3.5}, - {"label":"Shift", "x":0, "y":4.5, "w":2.25}, - {"label":"Z", "x":2.25, "y":4.5}, - {"label":"X", "x":3.25, "y":4.5}, - {"label":"C", "x":4.25, "y":4.5}, - {"label":"V", "x":5.25, "y":4.5}, - {"label":"B", "x":6.25, "y":4.5}, - {"label":"N", "x":7.25, "y":4.5}, - {"label":"M", "x":8.25, "y":4.5}, - {"label":",", "x":9.25, "y":4.5}, - {"label":".", "x":10.25, "y":4.5}, - {"label":"/", "x":11.25, "y":4.5}, - {"label":"JIS \\", "x":12.25, "y":4.5}, - {"label":"Shift", "x":13.25, "y":4.5, "w":1.75}, - {"label":"Up", "x":16.25, "y":4.5}, - {"label":"Num 1", "x":18.5, "y":4.5}, - {"label":"Num 2", "x":19.5, "y":4.5}, - {"label":"Num 3", "x":20.5, "y":4.5}, - {"label":"Num Enter", "x":21.5, "y":4.5, "h":2}, - {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, - {"label":"GUI", "x":1.25, "y":5.5, "w":1.25}, - {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, - {"label":"JIS Muhenkan", "x":3.75, "y":5.5, "w":1.25}, - {"label":"Space", "x":5, "y":5.5, "w":2.5}, - {"label":"JIS Henkan", "x":7.5, "y":5.5, "w":1.25}, - {"label":"JIS Hiragana / Katakana", "x":8.75, "y":5.5, "w":1.25}, - {"label":"Alt", "x":10, "y":5.5, "w":1.25}, - {"label":"GUI", "x":11.25, "y":5.5, "w":1.25}, - {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, - {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, - {"label":"Left", "x":15.25, "y":5.5}, - {"label":"Down", "x":16.25, "y":5.5}, - {"label":"Right", "x":17.25, "y":5.5}, - {"label":"Num 0", "x":18.5, "y":5.5, "w":2}, - {"label":"Num .", "x":20.5, "y":5.5} - ] + "keyboard_name": "converter/usb_usb", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6.5, "y": 0}, + {"x": 7.5, "y": 0}, + {"x": 8.5, "y": 0}, + {"x": 9.5, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1}, + + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + + {"x": 15.25, "y": 1}, + {"x": 16.25, "y": 1}, + {"x": 17.25, "y": 1}, + + {"x": 18.5, "y": 1}, + {"x": 19.5, "y": 1}, + {"x": 20.5, "y": 1}, + {"x": 21.5, "y": 1}, + + {"x": 22.75, "y": 1}, + + {"x": 0, "y": 2.5}, + {"x": 1, "y": 2.5}, + {"x": 2, "y": 2.5}, + {"x": 3, "y": 2.5}, + {"x": 4, "y": 2.5}, + {"x": 5, "y": 2.5}, + {"x": 6, "y": 2.5}, + {"x": 7, "y": 2.5}, + {"x": 8, "y": 2.5}, + {"x": 9, "y": 2.5}, + {"x": 10, "y": 2.5}, + {"x": 11, "y": 2.5}, + {"x": 12, "y": 2.5}, + {"x": 13, "y": 2.5}, + {"x": 14, "y": 2.5}, + + {"x": 15.25, "y": 2.5}, + {"x": 16.25, "y": 2.5}, + {"x": 17.25, "y": 2.5}, + + {"x": 18.5, "y": 2.5}, + {"x": 19.5, "y": 2.5}, + {"x": 20.5, "y": 2.5}, + {"x": 21.5, "y": 2.5}, + + {"x": 22.75, "y": 2.5}, + {"x": 23.75, "y": 2.5}, + + {"x": 0, "y": 3.5, "w": 1.5}, + {"x": 1.5, "y": 3.5}, + {"x": 2.5, "y": 3.5}, + {"x": 3.5, "y": 3.5}, + {"x": 4.5, "y": 3.5}, + {"x": 5.5, "y": 3.5}, + {"x": 6.5, "y": 3.5}, + {"x": 7.5, "y": 3.5}, + {"x": 8.5, "y": 3.5}, + {"x": 9.5, "y": 3.5}, + {"x": 10.5, "y": 3.5}, + {"x": 11.5, "y": 3.5}, + {"x": 12.5, "y": 3.5}, + {"x": 13.5, "y": 3.5, "w": 1.5}, + + {"x": 15.25, "y": 3.5}, + {"x": 16.25, "y": 3.5}, + {"x": 17.25, "y": 3.5}, + + {"x": 18.5, "y": 3.5}, + {"x": 19.5, "y": 3.5}, + {"x": 20.5, "y": 3.5}, + {"x": 21.5, "y": 3.5}, + + {"x": 22.75, "y": 3.5}, + {"x": 23.75, "y": 3.5}, + + {"x": 0, "y": 4.5, "w": 1.75}, + {"x": 1.75, "y": 4.5}, + {"x": 2.75, "y": 4.5}, + {"x": 3.75, "y": 4.5}, + {"x": 4.75, "y": 4.5}, + {"x": 5.75, "y": 4.5}, + {"x": 6.75, "y": 4.5}, + {"x": 7.75, "y": 4.5}, + {"x": 8.75, "y": 4.5}, + {"x": 9.75, "y": 4.5}, + {"x": 10.75, "y": 4.5}, + {"x": 11.75, "y": 4.5}, + {"x": 12.75, "y": 4.5}, + {"x": 13.75, "y": 4.5, "w": 1.25}, + + {"x": 18.5, "y": 4.5}, + {"x": 19.5, "y": 4.5}, + {"x": 20.5, "y": 4.5}, + {"x": 21.5, "y": 4.5}, + + {"x": 22.75, "y": 4.5}, + {"x": 23.75, "y": 4.5}, + + {"x": 0, "y": 5.5, "w": 1.25}, + {"x": 1.25, "y": 5.5}, + {"x": 2.25, "y": 5.5}, + {"x": 3.25, "y": 5.5}, + {"x": 4.25, "y": 5.5}, + {"x": 5.25, "y": 5.5}, + {"x": 6.25, "y": 5.5}, + {"x": 7.25, "y": 5.5}, + {"x": 8.25, "y": 5.5}, + {"x": 9.25, "y": 5.5}, + {"x": 10.25, "y": 5.5}, + {"x": 11.25, "y": 5.5}, + {"x": 12.25, "y": 5.5}, + {"x": 13.25, "y": 5.5, "w": 1.75}, + + {"x": 16.25, "y": 5.5}, + + {"x": 18.5, "y": 5.5}, + {"x": 19.5, "y": 5.5}, + {"x": 20.5, "y": 5.5}, + {"x": 21.5, "y": 5.5}, + + {"x": 22.75, "y": 5.5}, + {"x": 23.75, "y": 5.5}, + + {"x": 0, "y": 6.5}, + {"x": 1, "y": 6.5}, + {"x": 2, "y": 6.5}, + {"x": 3, "y": 6.5}, + {"x": 4, "y": 6.5}, + {"x": 5, "y": 6.5, "w": 3}, + {"x": 8, "y": 6.5}, + {"x": 9, "y": 6.5}, + {"x": 10, "y": 6.5}, + {"x": 11, "y": 6.5}, + {"x": 12, "y": 6.5}, + {"x": 13, "y": 6.5}, + {"x": 14, "y": 6.5}, + + {"x": 15.25, "y": 6.5}, + {"x": 16.25, "y": 6.5}, + {"x": 17.25, "y": 6.5}, + + {"x": 18.5, "y": 6.5, "w": 2}, + {"x": 20.5, "y": 6.5}, + {"x": 21.5, "y": 6.5}, + + {"x": 22.75, "y": 6.5}, + {"x": 23.75, "y": 6.5} + ] + }, + "LAYOUT_fullsize_ansi": { + "layout": [ + {"x": 0, "y": 0}, + + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6.5, "y": 0}, + {"x": 7.5, "y": 0}, + {"x": 8.5, "y": 0}, + {"x": 9.5, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 15.25, "y": 0}, + {"x": 16.25, "y": 0}, + {"x": 17.25, "y": 0}, + + {"x": 0, "y": 1.5}, + {"x": 1, "y": 1.5}, + {"x": 2, "y": 1.5}, + {"x": 3, "y": 1.5}, + {"x": 4, "y": 1.5}, + {"x": 5, "y": 1.5}, + {"x": 6, "y": 1.5}, + {"x": 7, "y": 1.5}, + {"x": 8, "y": 1.5}, + {"x": 9, "y": 1.5}, + {"x": 10, "y": 1.5}, + {"x": 11, "y": 1.5}, + {"x": 12, "y": 1.5}, + {"x": 13, "y": 1.5, "w": 2}, + + {"x": 15.25, "y": 1.5}, + {"x": 16.25, "y": 1.5}, + {"x": 17.25, "y": 1.5}, + + {"x": 18.5, "y": 1.5}, + {"x": 19.5, "y": 1.5}, + {"x": 20.5, "y": 1.5}, + {"x": 21.5, "y": 1.5}, + + {"x": 0, "y": 2.5, "w": 1.5}, + {"x": 1.5, "y": 2.5}, + {"x": 2.5, "y": 2.5}, + {"x": 3.5, "y": 2.5}, + {"x": 4.5, "y": 2.5}, + {"x": 5.5, "y": 2.5}, + {"x": 6.5, "y": 2.5}, + {"x": 7.5, "y": 2.5}, + {"x": 8.5, "y": 2.5}, + {"x": 9.5, "y": 2.5}, + {"x": 10.5, "y": 2.5}, + {"x": 11.5, "y": 2.5}, + {"x": 12.5, "y": 2.5}, + {"x": 13.5, "y": 2.5, "w": 1.5}, + + {"x": 15.25, "y": 2.5}, + {"x": 16.25, "y": 2.5}, + {"x": 17.25, "y": 2.5}, + + {"x": 18.5, "y": 2.5}, + {"x": 19.5, "y": 2.5}, + {"x": 20.5, "y": 2.5}, + {"x": 21.5, "y": 2.5, "h": 2}, + + {"x": 0, "y": 3.5, "w": 1.75}, + {"x": 1.75, "y": 3.5}, + {"x": 2.75, "y": 3.5}, + {"x": 3.75, "y": 3.5}, + {"x": 4.75, "y": 3.5}, + {"x": 5.75, "y": 3.5}, + {"x": 6.75, "y": 3.5}, + {"x": 7.75, "y": 3.5}, + {"x": 8.75, "y": 3.5}, + {"x": 9.75, "y": 3.5}, + {"x": 10.75, "y": 3.5}, + {"x": 11.75, "y": 3.5}, + {"x": 12.75, "y": 3.5, "w": 2.25}, + + {"x": 18.5, "y": 3.5}, + {"x": 19.5, "y": 3.5}, + {"x": 20.5, "y": 3.5}, + + {"x": 0, "y": 4.5, "w": 2.25}, + {"x": 2.25, "y": 4.5}, + {"x": 3.25, "y": 4.5}, + {"x": 4.25, "y": 4.5}, + {"x": 5.25, "y": 4.5}, + {"x": 6.25, "y": 4.5}, + {"x": 7.25, "y": 4.5}, + {"x": 8.25, "y": 4.5}, + {"x": 9.25, "y": 4.5}, + {"x": 10.25, "y": 4.5}, + {"x": 11.25, "y": 4.5}, + {"x": 12.25, "y": 4.5, "w": 2.75}, + + {"x": 16.25, "y": 4.5}, + + {"x": 18.5, "y": 4.5}, + {"x": 19.5, "y": 4.5}, + {"x": 20.5, "y": 4.5}, + {"x": 21.5, "y": 4.5, "h": 2}, + + {"x": 0, "y": 5.5, "w": 1.25}, + {"x": 1.25, "y": 5.5, "w": 1.25}, + {"x": 2.5, "y": 5.5, "w": 1.25}, + {"x": 3.75, "y": 5.5, "w": 6.25}, + {"x": 10, "y": 5.5, "w": 1.25}, + {"x": 11.25, "y": 5.5, "w": 1.25}, + {"x": 12.5, "y": 5.5, "w": 1.25}, + {"x": 13.75, "y": 5.5, "w": 1.25}, + + {"x": 15.25, "y": 5.5}, + {"x": 16.25, "y": 5.5}, + {"x": 17.25, "y": 5.5}, + + {"x": 18.5, "y": 5.5, "w": 2}, + {"x": 20.5, "y": 5.5} + ] + }, + "LAYOUT_fullsize_iso": { + "layout": [ + {"x": 0, "y": 0}, + + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6.5, "y": 0}, + {"x": 7.5, "y": 0}, + {"x": 8.5, "y": 0}, + {"x": 9.5, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 15.25, "y": 0}, + {"x": 16.25, "y": 0}, + {"x": 17.25, "y": 0}, + + {"x": 0, "y": 1.5}, + {"x": 1, "y": 1.5}, + {"x": 2, "y": 1.5}, + {"x": 3, "y": 1.5}, + {"x": 4, "y": 1.5}, + {"x": 5, "y": 1.5}, + {"x": 6, "y": 1.5}, + {"x": 7, "y": 1.5}, + {"x": 8, "y": 1.5}, + {"x": 9, "y": 1.5}, + {"x": 10, "y": 1.5}, + {"x": 11, "y": 1.5}, + {"x": 12, "y": 1.5}, + {"x": 13, "y": 1.5, "w": 2}, + + {"x": 15.25, "y": 1.5}, + {"x": 16.25, "y": 1.5}, + {"x": 17.25, "y": 1.5}, + + {"x": 18.5, "y": 1.5}, + {"x": 19.5, "y": 1.5}, + {"x": 20.5, "y": 1.5}, + {"x": 21.5, "y": 1.5}, + + {"x": 0, "y": 2.5, "w": 1.5}, + {"x": 1.5, "y": 2.5}, + {"x": 2.5, "y": 2.5}, + {"x": 3.5, "y": 2.5}, + {"x": 4.5, "y": 2.5}, + {"x": 5.5, "y": 2.5}, + {"x": 6.5, "y": 2.5}, + {"x": 7.5, "y": 2.5}, + {"x": 8.5, "y": 2.5}, + {"x": 9.5, "y": 2.5}, + {"x": 10.5, "y": 2.5}, + {"x": 11.5, "y": 2.5}, + {"x": 12.5, "y": 2.5}, + + {"x": 15.25, "y": 2.5}, + {"x": 16.25, "y": 2.5}, + {"x": 17.25, "y": 2.5}, + + {"x": 18.5, "y": 2.5}, + {"x": 19.5, "y": 2.5}, + {"x": 20.5, "y": 2.5}, + {"x": 21.5, "y": 2.5, "h": 2}, + + {"x": 0, "y": 3.5, "w": 1.75}, + {"x": 1.75, "y": 3.5}, + {"x": 2.75, "y": 3.5}, + {"x": 3.75, "y": 3.5}, + {"x": 4.75, "y": 3.5}, + {"x": 5.75, "y": 3.5}, + {"x": 6.75, "y": 3.5}, + {"x": 7.75, "y": 3.5}, + {"x": 8.75, "y": 3.5}, + {"x": 9.75, "y": 3.5}, + {"x": 10.75, "y": 3.5}, + {"x": 11.75, "y": 3.5}, + {"x": 12.75, "y": 3.5}, + {"x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + + {"x": 18.5, "y": 3.5}, + {"x": 19.5, "y": 3.5}, + {"x": 20.5, "y": 3.5}, + + {"x": 0, "y": 4.5, "w": 1.25}, + {"x": 1.25, "y": 4.5}, + {"x": 2.25, "y": 4.5}, + {"x": 3.25, "y": 4.5}, + {"x": 4.25, "y": 4.5}, + {"x": 5.25, "y": 4.5}, + {"x": 6.25, "y": 4.5}, + {"x": 7.25, "y": 4.5}, + {"x": 8.25, "y": 4.5}, + {"x": 9.25, "y": 4.5}, + {"x": 10.25, "y": 4.5}, + {"x": 11.25, "y": 4.5}, + {"x": 12.25, "y": 4.5, "w": 2.75}, + + {"x": 16.25, "y": 4.5}, + + {"x": 18.5, "y": 4.5}, + {"x": 19.5, "y": 4.5}, + {"x": 20.5, "y": 4.5}, + {"x": 21.5, "y": 4.5, "h": 2}, + + {"x": 0, "y": 5.5, "w": 1.25}, + {"x": 1.25, "y": 5.5, "w": 1.25}, + {"x": 2.5, "y": 5.5, "w": 1.25}, + {"x": 3.75, "y": 5.5, "w": 6.25}, + {"x": 10, "y": 5.5, "w": 1.25}, + {"x": 11.25, "y": 5.5, "w": 1.25}, + {"x": 12.5, "y": 5.5, "w": 1.25}, + {"x": 13.75, "y": 5.5, "w": 1.25}, + + {"x": 15.25, "y": 5.5}, + {"x": 16.25, "y": 5.5}, + {"x": 17.25, "y": 5.5}, + + {"x": 18.5, "y": 5.5, "w": 2}, + {"x": 20.5, "y": 5.5} + ] + }, + "LAYOUT_fullsize_jis": { + "layout": [ + {"x": 0, "y": 0}, + + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6.5, "y": 0}, + {"x": 7.5, "y": 0}, + {"x": 8.5, "y": 0}, + {"x": 9.5, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 15.25, "y": 0}, + {"x": 16.25, "y": 0}, + {"x": 17.25, "y": 0}, + + {"x": 0, "y": 1.5}, + {"x": 1, "y": 1.5}, + {"x": 2, "y": 1.5}, + {"x": 3, "y": 1.5}, + {"x": 4, "y": 1.5}, + {"x": 5, "y": 1.5}, + {"x": 6, "y": 1.5}, + {"x": 7, "y": 1.5}, + {"x": 8, "y": 1.5}, + {"x": 9, "y": 1.5}, + {"x": 10, "y": 1.5}, + {"x": 11, "y": 1.5}, + {"x": 12, "y": 1.5}, + {"x": 13, "y": 1.5}, + {"x": 14, "y": 1.5}, + + {"x": 15.25, "y": 1.5}, + {"x": 16.25, "y": 1.5}, + {"x": 17.25, "y": 1.5}, + + {"x": 18.5, "y": 1.5}, + {"x": 19.5, "y": 1.5}, + {"x": 20.5, "y": 1.5}, + {"x": 21.5, "y": 1.5}, + + {"x": 0, "y": 2.5, "w": 1.5}, + {"x": 1.5, "y": 2.5}, + {"x": 2.5, "y": 2.5}, + {"x": 3.5, "y": 2.5}, + {"x": 4.5, "y": 2.5}, + {"x": 5.5, "y": 2.5}, + {"x": 6.5, "y": 2.5}, + {"x": 7.5, "y": 2.5}, + {"x": 8.5, "y": 2.5}, + {"x": 9.5, "y": 2.5}, + {"x": 10.5, "y": 2.5}, + {"x": 11.5, "y": 2.5}, + {"x": 12.5, "y": 2.5}, + + {"x": 15.25, "y": 2.5}, + {"x": 16.25, "y": 2.5}, + {"x": 17.25, "y": 2.5}, + + {"x": 18.5, "y": 2.5}, + {"x": 19.5, "y": 2.5}, + {"x": 20.5, "y": 2.5}, + {"x": 21.5, "y": 2.5, "h": 2}, + + {"x": 0, "y": 3.5, "w": 1.75}, + {"x": 1.75, "y": 3.5}, + {"x": 2.75, "y": 3.5}, + {"x": 3.75, "y": 3.5}, + {"x": 4.75, "y": 3.5}, + {"x": 5.75, "y": 3.5}, + {"x": 6.75, "y": 3.5}, + {"x": 7.75, "y": 3.5}, + {"x": 8.75, "y": 3.5}, + {"x": 9.75, "y": 3.5}, + {"x": 10.75, "y": 3.5}, + {"x": 11.75, "y": 3.5}, + {"x": 12.75, "y": 3.5}, + {"x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + + {"x": 18.5, "y": 3.5}, + {"x": 19.5, "y": 3.5}, + {"x": 20.5, "y": 3.5}, + + {"x": 0, "y": 4.5, "w": 2.25}, + {"x": 2.25, "y": 4.5}, + {"x": 3.25, "y": 4.5}, + {"x": 4.25, "y": 4.5}, + {"x": 5.25, "y": 4.5}, + {"x": 6.25, "y": 4.5}, + {"x": 7.25, "y": 4.5}, + {"x": 8.25, "y": 4.5}, + {"x": 9.25, "y": 4.5}, + {"x": 10.25, "y": 4.5}, + {"x": 11.25, "y": 4.5}, + {"x": 12.25, "y": 4.5}, + {"x": 13.25, "y": 4.5, "w": 1.75}, + + {"x": 16.25, "y": 4.5}, + + {"x": 18.5, "y": 4.5}, + {"x": 19.5, "y": 4.5}, + {"x": 20.5, "y": 4.5}, + {"x": 21.5, "y": 4.5, "h": 2}, + + {"x": 0, "y": 5.5, "w": 1.25}, + {"x": 1.25, "y": 5.5, "w": 1.25}, + {"x": 2.5, "y": 5.5, "w": 1.25}, + {"x": 3.75, "y": 5.5, "w": 1.25}, + {"x": 5, "y": 5.5, "w": 2.5}, + {"x": 7.5, "y": 5.5, "w": 1.25}, + {"x": 8.75, "y": 5.5, "w": 1.25}, + {"x": 10, "y": 5.5, "w": 1.25}, + {"x": 11.25, "y": 5.5, "w": 1.25}, + {"x": 12.5, "y": 5.5, "w": 1.25}, + {"x": 13.75, "y": 5.5, "w": 1.25}, + + {"x": 15.25, "y": 5.5}, + {"x": 16.25, "y": 5.5}, + {"x": 17.25, "y": 5.5}, + + {"x": 18.5, "y": 5.5, "w": 2}, + {"x": 20.5, "y": 5.5} + ] + } } - } } diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/keymap.c b/keyboards/converter/usb_usb/keymaps/chriskopher/keymap.c index 716ff19abdd3..b9b9c5ad2c46 100644 --- a/keyboards/converter/usb_usb/keymaps/chriskopher/keymap.c +++ b/keyboards/converter/usb_usb/keymaps/chriskopher/keymap.c @@ -39,10 +39,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_CKO] = LAYOUT_ansi( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_GRV, 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_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - 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_BSPC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, - LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD(SCLN_CLN), KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, - TD(ESPC_L), LT(_DEV,KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(ESPC_R), KC_UP, KC_P1, KC_P2, KC_P3, - MEH_T(KC_CAPS), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_ADJUST,KC_RGUI), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + 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_BSPC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD(SCLN_CLN), KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, + TD(ESPC_L), LT(_DEV,KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(ESPC_R), KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + MEH_T(KC_CAPS), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_ADJUST,KC_RGUI), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), /* Regular Qwerty: default layer @@ -64,10 +64,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT_ansi( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_GRV, 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_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - 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, KC_PGDN, KC_P7, KC_P8, KC_P9, - 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_P4, KC_P5, KC_P6, KC_PPLS, - 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_P1, KC_P2, KC_P3, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_ADJUST,KC_RGUI), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + 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, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_ADJUST,KC_RGUI), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), /* SuperDuper @@ -89,10 +89,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_SUPERDUPER] = LAYOUT_ansi( ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, C(KC_1), C(S(KC_TAB)), C(KC_TAB), C(KC_9), ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, KC_LALT, ______, ______, KC_BSPC, KC_LCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_DEL, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, TG(_SUPERDUPER), ______, ______, ______, ______, ______, - ______, ______, ______, KC_LSFT, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ + ______, ______, ______, ______, ______, ______, ______, C(KC_1), C(S(KC_TAB)), C(KC_TAB), C(KC_9), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, + ______, KC_LALT, ______, ______, KC_BSPC, KC_LCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_DEL, ______, ______, ______, ______, ______, + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, TG(_SUPERDUPER), ______, ______, ______, ______, ______, ______, + ______, ______, ______, KC_LSFT, ______, ______, ______, ______, ______, ______, ______, ______, ______ ), /* Dev @@ -114,10 +114,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DEV] = LAYOUT_ansi( ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, KC_MINS, S(KC_EQL), S(KC_9), S(KC_0), ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, S(KC_MINS), KC_LBRC, KC_RBRC, S(KC_LBRC), S(KC_RBRC), ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, KC_EQL, S(KC_BSLASH), S(KC_COMM), S(KC_DOT), S(KC_SLSH), ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ + ______, ______, ______, ______, ______, ______, ______, KC_MINS, S(KC_EQL), S(KC_9), S(KC_0), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, + ______, ______, ______, ______, ______, ______, S(KC_MINS), KC_LBRC, KC_RBRC, S(KC_LBRC), S(KC_RBRC), ______, ______, ______, ______, ______, + ______, ______, ______, ______, ______, ______, KC_EQL, S(KC_BSLASH), S(KC_COMM), S(KC_DOT), S(KC_SLSH), ______, ______, ______, ______, ______, ______, + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ ), /* Adjust @@ -139,10 +139,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_ansi( ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MPLY, KC_MNXT, KC_VOLU, ______, ______, ______, ______, - ______, DF(_QWERTY), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MSTP, KC_MPRV, KC_VOLD, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, DF(_CKO), ______, ______, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, TG(_SUPERDUPER), ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ + ______, DF(_QWERTY), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MSTP, KC_MPRV, KC_VOLD, ______, ______, ______, ______, + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, + ______, ______, ______, DF(_CKO), ______, ______, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, TG(_SUPERDUPER), ______, ______, ______, ______, ______, ______, + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ ) /* Empty layout for future reference @@ -165,10 +165,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * [_EMPTY] = LAYOUT_ansi( * ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, * ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - * ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - * ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - * ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - * ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ + * ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, + * ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, + * ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, + * ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ * ), */ }; diff --git a/keyboards/converter/usb_usb/rules.mk b/keyboards/converter/usb_usb/rules.mk index a33c0aaa54ac..1bdf3416aa33 100644 --- a/keyboards/converter/usb_usb/rules.mk +++ b/keyboards/converter/usb_usb/rules.mk @@ -22,3 +22,5 @@ CUSTOM_MATRIX = yes SRC += custom_matrix.cpp DEFAULT_FOLDER = converter/usb_usb/hasu + +LAYOUTS = fullsize_ansi fullsize_iso diff --git a/keyboards/converter/usb_usb/usb_usb.h b/keyboards/converter/usb_usb/usb_usb.h index 99baa003cb53..f0188313b72a 100644 --- a/keyboards/converter/usb_usb/usb_usb.h +++ b/keyboards/converter/usb_usb/usb_usb.h @@ -114,14 +114,14 @@ along with this program. If not, see . * |Ctl|Gui|Alt| Space |Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0| .|Ent| * `-----------------------------------------------------------' `-----------' `---------------' */ -#define LAYOUT_ansi( \ +#define LAYOUT_fullsize_ansi( \ k29, k3A, k3B, k3C, k3D, k3E, k3F, k40, k41, k42, k43, k44, k45, k46, k47, k48, \ \ k35, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k2D, k2E, k2A, k49, k4A, k4B, k53, k54, k55, k56, \ - k2B, k14, k1A, k08, k15, k17, k1C, k18, k0C, k12, k13, k2F, k30, k31, k4C, k4D, k4E, k5F, k60, k61, \ - k39, k04, k16, k07, k09, k0A, k0B, k0D, k0E, k0F, k33, k34, k28, k5C, k5D, k5E, k57, \ - kE1, k1D, k1B, k06, k19, k05, k11, k10, k36, k37, k38, kE5, k52, k59, k5A, k5B, \ - kE0, kE3, kE2, k2C, kE6, kE7, k65, kE4, k50, k51, k4F, k62, k63, k58 \ + k2B, k14, k1A, k08, k15, k17, k1C, k18, k0C, k12, k13, k2F, k30, k31, k4C, k4D, k4E, k5F, k60, k61, k57, \ + k39, k04, k16, k07, k09, k0A, k0B, k0D, k0E, k0F, k33, k34, k28, k5C, k5D, k5E, \ + kE1, k1D, k1B, k06, k19, k05, k11, k10, k36, k37, k38, kE5, k52, k59, k5A, k5B, k58, \ + kE0, kE3, kE2, k2C, kE6, kE7, k65, kE4, k50, k51, k4F, k62, k63, \ ) { \ { XXX, XXX, XXX, XXX, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ @@ -156,14 +156,14 @@ along with this program. If not, see . * |Ctl|Gui|Alt| Space |Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0| .| | * `-----------------------------------------------------------' `-----------' `---------------' */ -#define LAYOUT_iso( \ +#define LAYOUT_fullsize_iso( \ k29, k3A, k3B, k3C, k3D, k3E, k3F, k40, k41, k42, k43, k44, k45, k46, k47, k48, \ \ k35, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k2D, k2E, k2A, k49, k4A, k4B, k53, k54, k55, k56, \ - k2B, k14, k1A, k08, k15, k17, k1C, k18, k0C, k12, k13, k2F, k30, k28, k4C, k4D, k4E, k5F, k60, k61, k57, \ - k39, k04, k16, k07, k09, k0A, k0B, k0D, k0E, k0F, k33, k34, k32, k5C, k5D, k5E, \ + k2B, k14, k1A, k08, k15, k17, k1C, k18, k0C, k12, k13, k2F, k30, k4C, k4D, k4E, k5F, k60, k61, k57, \ + k39, k04, k16, k07, k09, k0A, k0B, k0D, k0E, k0F, k33, k34, k32, k28, k5C, k5D, k5E, \ kE1, k64, k1D, k1B, k06, k19, k05, k11, k10, k36, k37, k38, kE5, k52, k59, k5A, k5B, k58, \ - kE0, kE3, kE2, k2C, kE6, kE7, k65, kE4, k50, k51, k4F, k62, k63 \ + kE0, kE3, kE2, k2C, kE6, kE7, k65, kE4, k50, k51, k4F, k62, k63 \ ) { \ { XXX, XXX, XXX, XXX, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ @@ -198,12 +198,12 @@ along with this program. If not, see . * |Ctl|Gui|Alt|MHEN| Space |HENK|KNA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0| .| | * `-----------------------------------------------------------' `-----------' `---------------' */ -#define LAYOUT_jis( \ +#define LAYOUT_fullsize_jis( \ k29, k3A, k3B, k3C, k3D, k3E, k3F, k40, k41, k42, k43, k44, k45, k46, k47, k48, \ \ k35, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k2D, k2E, k89, k2A, k49, k4A, k4B, k53, k54, k55, k56, \ - k2B, k14, k1A, k08, k15, k17, k1C, k18, k0C, k12, k13, k2F, k30, k28, k4C, k4D, k4E, k5F, k60, k61, k57, \ - k39, k04, k16, k07, k09, k0A, k0B, k0D, k0E, k0F, k33, k34, k32, k5C, k5D, k5E, \ + k2B, k14, k1A, k08, k15, k17, k1C, k18, k0C, k12, k13, k2F, k30, k4C, k4D, k4E, k5F, k60, k61, k57, \ + k39, k04, k16, k07, k09, k0A, k0B, k0D, k0E, k0F, k33, k34, k32, k28, k5C, k5D, k5E, \ kE1, k1D, k1B, k06, k19, k05, k11, k10, k36, k37, k38, k87, kE5, k52, k59, k5A, k5B, k58, \ kE0, kE3, kE2, k8B, k2C, k8A, k88, kE6, kE7, k65, kE4, k50, k51, k4F, k62, k63 \ ) { \ From ceb9b0f7b8cd63cdaf9b0c8a853229f871189d4a Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 7 May 2022 09:58:38 +1000 Subject: [PATCH 0634/1832] gboards/gergoplex: move `COMBO_ENABLE` to keymap level (#16667) --- keyboards/gboards/gergoplex/config.h | 2 -- keyboards/gboards/gergoplex/keymaps/colemak-dhm/config.h | 4 ++++ keyboards/gboards/gergoplex/keymaps/colemak-dhm/rules.mk | 1 + keyboards/gboards/gergoplex/keymaps/default/config.h | 4 ++++ keyboards/gboards/gergoplex/keymaps/default/rules.mk | 1 + keyboards/gboards/gergoplex/keymaps/georgepetri/config.h | 2 ++ keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk | 1 + keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h | 4 ++++ keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk | 1 + keyboards/gboards/gergoplex/rules.mk | 1 - 10 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 keyboards/gboards/gergoplex/keymaps/colemak-dhm/config.h create mode 100644 keyboards/gboards/gergoplex/keymaps/default/config.h create mode 100644 keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h diff --git a/keyboards/gboards/gergoplex/config.h b/keyboards/gboards/gergoplex/config.h index a6d8d6b1bed9..6a73ccc4eac0 100644 --- a/keyboards/gboards/gergoplex/config.h +++ b/keyboards/gboards/gergoplex/config.h @@ -44,8 +44,6 @@ along with this program. If not, see . #define MATRIX_COL_PINS { B1, B2, B3, D2, D3 } #define UNUSED_PINS #define IGNORE_MOD_TAP_INTERRUPT -#define COMBO_ALLOW_ACTION_KEYS -#define COMBO_VARIABLE_LEN #define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) diff --git a/keyboards/gboards/gergoplex/keymaps/colemak-dhm/config.h b/keyboards/gboards/gergoplex/keymaps/colemak-dhm/config.h new file mode 100644 index 000000000000..1b30cc73b3d2 --- /dev/null +++ b/keyboards/gboards/gergoplex/keymaps/colemak-dhm/config.h @@ -0,0 +1,4 @@ +#pragma once + +#define COMBO_ALLOW_ACTION_KEYS +#define COMBO_VARIABLE_LEN diff --git a/keyboards/gboards/gergoplex/keymaps/colemak-dhm/rules.mk b/keyboards/gboards/gergoplex/keymaps/colemak-dhm/rules.mk index e882b8008db2..620cab16c03f 100644 --- a/keyboards/gboards/gergoplex/keymaps/colemak-dhm/rules.mk +++ b/keyboards/gboards/gergoplex/keymaps/colemak-dhm/rules.mk @@ -10,6 +10,7 @@ DEBUG_MATRIX = no CONSOLE_ENABLE = no #Combos! +COMBO_ENABLE = yes VPATH += keyboards/gboards/ ifeq ($(strip $(DEBUG_MATRIX)), yes) diff --git a/keyboards/gboards/gergoplex/keymaps/default/config.h b/keyboards/gboards/gergoplex/keymaps/default/config.h new file mode 100644 index 000000000000..1b30cc73b3d2 --- /dev/null +++ b/keyboards/gboards/gergoplex/keymaps/default/config.h @@ -0,0 +1,4 @@ +#pragma once + +#define COMBO_ALLOW_ACTION_KEYS +#define COMBO_VARIABLE_LEN diff --git a/keyboards/gboards/gergoplex/keymaps/default/rules.mk b/keyboards/gboards/gergoplex/keymaps/default/rules.mk index e882b8008db2..620cab16c03f 100644 --- a/keyboards/gboards/gergoplex/keymaps/default/rules.mk +++ b/keyboards/gboards/gergoplex/keymaps/default/rules.mk @@ -10,6 +10,7 @@ DEBUG_MATRIX = no CONSOLE_ENABLE = no #Combos! +COMBO_ENABLE = yes VPATH += keyboards/gboards/ ifeq ($(strip $(DEBUG_MATRIX)), yes) diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h b/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h index d3fe5b8145d0..f66c334b854c 100644 --- a/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h +++ b/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h @@ -25,3 +25,5 @@ along with this program. If not, see . #undef DEBOUNCE #define DEBOUNCE 25 +#define COMBO_ALLOW_ACTION_KEYS +#define COMBO_VARIABLE_LEN diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk b/keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk index e4064d493254..74d02c23bd54 100644 --- a/keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk +++ b/keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk @@ -10,6 +10,7 @@ DEBUG_MATRIX = no CONSOLE_ENABLE = no #Combos! +COMBO_ENABLE = yes VPATH += keyboards/gboards/ ifeq ($(strip $(DEBUG_MATRIX)), yes) diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h b/keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h new file mode 100644 index 000000000000..1b30cc73b3d2 --- /dev/null +++ b/keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h @@ -0,0 +1,4 @@ +#pragma once + +#define COMBO_ALLOW_ACTION_KEYS +#define COMBO_VARIABLE_LEN diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk b/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk index e882b8008db2..620cab16c03f 100644 --- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk +++ b/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk @@ -10,6 +10,7 @@ DEBUG_MATRIX = no CONSOLE_ENABLE = no #Combos! +COMBO_ENABLE = yes VPATH += keyboards/gboards/ ifeq ($(strip $(DEBUG_MATRIX)), yes) diff --git a/keyboards/gboards/gergoplex/rules.mk b/keyboards/gboards/gergoplex/rules.mk index 5cd5a7721c43..31a7d6bae8fb 100644 --- a/keyboards/gboards/gergoplex/rules.mk +++ b/keyboards/gboards/gergoplex/rules.mk @@ -16,7 +16,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -COMBO_ENABLE = yes CUSTOM_MATRIX = yes LAYOUTS = split_3x5_3 From 4e9a811e58e9029ac36cf4f0f4097febcb86214d Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 7 May 2022 10:00:55 +1000 Subject: [PATCH 0635/1832] converter/usb_usb: remove surplus commas (#17024) --- keyboards/converter/usb_usb/usb_usb.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/converter/usb_usb/usb_usb.h b/keyboards/converter/usb_usb/usb_usb.h index f0188313b72a..bcd8b52974d1 100644 --- a/keyboards/converter/usb_usb/usb_usb.h +++ b/keyboards/converter/usb_usb/usb_usb.h @@ -121,7 +121,7 @@ along with this program. If not, see . k2B, k14, k1A, k08, k15, k17, k1C, k18, k0C, k12, k13, k2F, k30, k31, k4C, k4D, k4E, k5F, k60, k61, k57, \ k39, k04, k16, k07, k09, k0A, k0B, k0D, k0E, k0F, k33, k34, k28, k5C, k5D, k5E, \ kE1, k1D, k1B, k06, k19, k05, k11, k10, k36, k37, k38, kE5, k52, k59, k5A, k5B, k58, \ - kE0, kE3, kE2, k2C, kE6, kE7, k65, kE4, k50, k51, k4F, k62, k63, \ + kE0, kE3, kE2, k2C, kE6, kE7, k65, kE4, k50, k51, k4F, k62, k63 \ ) { \ { XXX, XXX, XXX, XXX, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ @@ -129,8 +129,8 @@ along with this program. If not, see . { k30, k31, XXX, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \ { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \ - { k60, k61, k62, k63, XXX, k65, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,}, \ - { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,}, \ + { k60, k61, k62, k63, XXX, k65, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ @@ -213,8 +213,8 @@ along with this program. If not, see . { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \ { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \ - { k60, k61, k62, k63, XXX, k65, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,}, \ - { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,}, \ + { k60, k61, k62, k63, XXX, k65, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, k87, k88, k89, k8A, k8B, XXX, XXX, XXX, XXX }, \ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ From 5acdb4c921cbe3d1b10f35fc46334c8df9fc4374 Mon Sep 17 00:00:00 2001 From: Doomsdayrs <38189170+Doomsdayrs@users.noreply.github.com> Date: Fri, 6 May 2022 20:01:16 -0400 Subject: [PATCH 0636/1832] Sol3 fix rgb map (#17019) * Fix for key -> LED mapping * Revert whitespace changes * Revert whitespace changes 2 Co-authored-by: theVDude --- keyboards/rgbkb/sol3/rev1/rev1.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/keyboards/rgbkb/sol3/rev1/rev1.c b/keyboards/rgbkb/sol3/rev1/rev1.c index 5dc156c94d1d..c66e145e8041 100644 --- a/keyboards/rgbkb/sol3/rev1/rev1.c +++ b/keyboards/rgbkb/sol3/rev1/rev1.c @@ -113,16 +113,18 @@ void matrix_slave_scan_kb() { #ifdef RGB_MATRIX_ENABLE // clang-format off led_config_t g_led_config = { { - { 41, 42, 43, 44, 45, 46, 47 }, - { 54, 53, 52, 51, 50, 49, 48 }, - { 55, 56, 57, 58, 59, 60, 61 }, - { 68, 67, 66, 65, 64, 63, 62 }, + { 41, 42, 43, 44, 45, 46, 47, NO_LED }, + { 54, 53, 52, 51, 50, 49, 48, NO_LED }, + { 55, 56, 57, 58, 59, 60, 61, NO_LED }, + { 68, 67, 66, 65, 64, 63, 62, NO_LED }, { 69, 70, 71, 72, 73, 74, 75, 76 }, - { 119, 120, 121, 122, 123, 124, 125 }, - { 132, 131, 130, 129, 128, 127, 126 }, - { 133, 134, 135, 136, 137, 138, 139 }, - { 146, 145, 144, 143, 142, 141, 140 }, - { 147, 148, 149, 150, 151, 152, 153 } + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 119, 120, 121, 122, 123, 124, 125, NO_LED }, + { 132, 131, 130, 129, 128, 127, 126, NO_LED }, + { 133, 134, 135, 136, 137, 138, 139, NO_LED }, + { 146, 145, 144, 143, 142, 141, 140, NO_LED }, + { 147, 148, 149, 150, 151, 152, 153, 154 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } }, { // ALL XY VALUES DIVIDE BY 2, THEN ADD 5 { 1, 6 }, { 1, 13 }, { 1, 19 }, { 1, 25 }, { 1, 31 }, { 1, 37 }, { 1, 43 }, { 1, 49 }, { 4, 52 }, { 11, 52 }, { 17, 52 }, { 23, 52 }, { 29, 52 }, { 35, 52 }, { 41, 54 }, { 46, 57 }, { 52, 60 }, { 57, 63 }, { 62, 66 }, { 68, 69 }, @@ -284,4 +286,4 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { #endif } return true; -}; \ No newline at end of file +}; From 7177434a02496793e8e8b4ff5d43da8aad3cf029 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 7 May 2022 22:01:46 +1000 Subject: [PATCH 0637/1832] MSYS2 install: add some Python dependencies through Pacman (#17025) --- util/install/msys2.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/util/install/msys2.sh b/util/install/msys2.sh index 203f8eff0cb5..c57c455eb4cb 100755 --- a/util/install/msys2.sh +++ b/util/install/msys2.sh @@ -12,7 +12,8 @@ _qmk_install() { base-devel: toolchain:x clang:x git: unzip: python3-pip:x \ avr-binutils:x avr-gcc:x avr-libc:x arm-none-eabi-binutils:x \ arm-none-eabi-gcc:x arm-none-eabi-newlib:x avrdude:x bootloadhid:x \ - dfu-programmer:x dfu-util:x teensy-loader-cli:x hidapi:x + dfu-programmer:x dfu-util:x teensy-loader-cli:x hidapi:x \ + python-appdirs:x python-colorama:x python-jsonschema:x python-pillow:x python-pygments:x _qmk_install_drivers From 76eff706f6f0a5a4599be52aa5553465449cccc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillaume=20G=C3=A9rard?= <1322081+GreatWizard@users.noreply.github.com> Date: Mon, 9 May 2022 03:05:05 +0200 Subject: [PATCH 0638/1832] feat: add support for JJ50 VIA (#16420) --- .../kprepublic/jj50/keymaps/via/config.h | 20 +++ .../kprepublic/jj50/keymaps/via/keymap.c | 138 ++++++++++++++++++ .../kprepublic/jj50/keymaps/via/rules.mk | 2 + 3 files changed, 160 insertions(+) create mode 100644 keyboards/kprepublic/jj50/keymaps/via/config.h create mode 100644 keyboards/kprepublic/jj50/keymaps/via/keymap.c create mode 100644 keyboards/kprepublic/jj50/keymaps/via/rules.mk diff --git a/keyboards/kprepublic/jj50/keymaps/via/config.h b/keyboards/kprepublic/jj50/keymaps/via/config.h new file mode 100644 index 000000000000..e05e2c87414e --- /dev/null +++ b/keyboards/kprepublic/jj50/keymaps/via/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2022 Guillaume Gérard + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public LicensezZZ +along with this program. If not, see . +*/ + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/kprepublic/jj50/keymaps/via/keymap.c b/keyboards/kprepublic/jj50/keymaps/via/keymap.c new file mode 100644 index 000000000000..978ac4c12c46 --- /dev/null +++ b/keyboards/kprepublic/jj50/keymaps/via/keymap.c @@ -0,0 +1,138 @@ +/* +Copyright 2022 Guillaume Gérard + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public LicensezZZ +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +enum layers { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, + _FN +}; + +#define FN MO(_FN) +#define LOWER FN_MO13 +#define RAISE FN_MO23 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Qwerty + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | FN | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + [_QWERTY] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + FN, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [_LOWER] = LAYOUT( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + /* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |PageUp|PageDn| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [_RAISE] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + /* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * |CPSLCK| | | | | | | | | | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_ADJUST] = LAYOUT( + 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_DEL, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Fn (rgblight and backlight layout) + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | |RGBVA-|RGBVA+| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | |RGBSA-|RGBSA+| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | |RGBTOG|RGBHU-|RGBHU+|RGBMOD| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | |BLTOGG| BL- | BL+ |BLBRTG| + * `-----------------------------------------------------------------------------------' + */ + [_FN] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_HUI, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_BRTG + ) +}; diff --git a/keyboards/kprepublic/jj50/keymaps/via/rules.mk b/keyboards/kprepublic/jj50/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/kprepublic/jj50/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes From 120d5d5520eff41a06f6544df42547ec4602d007 Mon Sep 17 00:00:00 2001 From: Jay Greco Date: Mon, 9 May 2022 18:28:16 -0700 Subject: [PATCH 0639/1832] Update RMKB to support SNAP (#17042) --- keyboards/nullbitsco/common/remote_kb.c | 10 +++++----- keyboards/nullbitsco/common/remote_kb.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/nullbitsco/common/remote_kb.c b/keyboards/nullbitsco/common/remote_kb.c index 4dcc9f461622..8e3f7f6766d9 100644 --- a/keyboards/nullbitsco/common/remote_kb.c +++ b/keyboards/nullbitsco/common/remote_kb.c @@ -62,13 +62,12 @@ static void send_msg(uint16_t keycode, bool pressed) { msg[IDX_KCMSB] = (keycode >> 8) & 0xFF; msg[IDX_PRESSED] = pressed; msg[IDX_CHECKSUM] = chksum8(msg, UART_MSG_LEN-1); - uart_transmit(msg, UART_MSG_LEN); } -static void print_message_buffer(void) { +static inline void print_message_buffer(void) { for (int i=0; i Date: Tue, 10 May 2022 14:25:42 +0200 Subject: [PATCH 0640/1832] converter/a1200/mistress1200: further firmware shrinking to fit on Atmega16U4 (16kb) (#17040) * Create dummy.txt * Add files via upload * Add files via upload * Delete dummy.txt * Update config.h * Update rules.mk * Update keymap.c * Update keyboards/converter/a1200/mistress1200/rules.mk Co-authored-by: Joel Challis * Update keyboards/converter/a1200/mistress1200/rules.mk Co-authored-by: Joel Challis * Update keyboards/converter/a1200/mistress1200/rules.mk Co-authored-by: Joel Challis * Update keyboards/converter/a1200/mistress1200/config.h Co-authored-by: Drashna Jaelre * Update keyboards/converter/a1200/mistress1200/config.h Co-authored-by: Drashna Jaelre * Update keyboards/converter/a1200/mistress1200/config.h Co-authored-by: Drashna Jaelre * Update keyboards/converter/a1200/mistress1200/rules.mk Co-authored-by: Drashna Jaelre * Update config.h * Update rules.mk * Update readme.md * Update config.h * Update rules.mk * Update config.h * Update keyboards/converter/a1200/mistress1200/config.h Co-authored-by: Joel Challis Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre --- keyboards/converter/a1200/mistress1200/config.h | 5 +++++ keyboards/converter/a1200/mistress1200/rules.mk | 3 +++ 2 files changed, 8 insertions(+) diff --git a/keyboards/converter/a1200/mistress1200/config.h b/keyboards/converter/a1200/mistress1200/config.h index 2ae2525398f5..123d6165d6e1 100644 --- a/keyboards/converter/a1200/mistress1200/config.h +++ b/keyboards/converter/a1200/mistress1200/config.h @@ -49,6 +49,11 @@ along with this program. If not, see . #define LED_CAPS_LOCK_PIN B0 #define LED_PIN_ON_STATE 0 +#define TAPPING_TOGGLE 3 + +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE +#define LAYER_STATE_8BIT /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 diff --git a/keyboards/converter/a1200/mistress1200/rules.mk b/keyboards/converter/a1200/mistress1200/rules.mk index 56aa5d9ba996..90c20bafc92c 100644 --- a/keyboards/converter/a1200/mistress1200/rules.mk +++ b/keyboards/converter/a1200/mistress1200/rules.mk @@ -17,3 +17,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes +SPACE_CADET_ENABLE = no +GRAVE_ESC_ENABLE = no +MAGIC_ENABLE = no From a3e057e779ae1d9f827a859722428f03c2b118f1 Mon Sep 17 00:00:00 2001 From: Eugene-Yuan Kou Date: Wed, 11 May 2022 00:00:30 +0800 Subject: [PATCH 0641/1832] Adding akira (#16982) * keyboard:akira initial commit * Update keyboards/ekow/akira/akira.h Co-authored-by: Joel Challis * Update keyboards/ekow/akira/keymaps/via/rules.mk Co-authored-by: Joel Challis * Update keyboards/ekow/akira/readme.md Co-authored-by: Joel Challis * Update .gitignore Co-authored-by: Joel Challis * Update readme.md * Update keyboards/ekow/akira/rules.mk Co-authored-by: Drashna Jaelre * Update rules.mk remove redundant content. * added keyboard/ekow/keymaps/via/keymap.c * remove .ccls-cache * add instructions of enter the bootloader * add instructions of enter the bootloader * modify ekow/akira:via * Update keyboards/ekow/akira/readme.md Co-authored-by: Ryan * Update keyboards/ekow/akira/keymaps/via/rules.mk Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/ekow/akira/akira.c | 16 + keyboards/ekow/akira/akira.h | 35 ++ keyboards/ekow/akira/config.h | 51 +++ keyboards/ekow/akira/info.json | 319 ++++++++++++++++++ keyboards/ekow/akira/keymaps/default/keymap.c | 25 ++ .../ekow/akira/keymaps/default/readme.md | 1 + keyboards/ekow/akira/keymaps/via/keymap.c | 26 ++ keyboards/ekow/akira/keymaps/via/rules.mk | 3 + keyboards/ekow/akira/readme.md | 24 ++ keyboards/ekow/akira/rules.mk | 18 + 10 files changed, 518 insertions(+) create mode 100644 keyboards/ekow/akira/akira.c create mode 100644 keyboards/ekow/akira/akira.h create mode 100644 keyboards/ekow/akira/config.h create mode 100644 keyboards/ekow/akira/info.json create mode 100644 keyboards/ekow/akira/keymaps/default/keymap.c create mode 100644 keyboards/ekow/akira/keymaps/default/readme.md create mode 100644 keyboards/ekow/akira/keymaps/via/keymap.c create mode 100644 keyboards/ekow/akira/keymaps/via/rules.mk create mode 100644 keyboards/ekow/akira/readme.md create mode 100644 keyboards/ekow/akira/rules.mk diff --git a/keyboards/ekow/akira/akira.c b/keyboards/ekow/akira/akira.c new file mode 100644 index 000000000000..420a05e04a28 --- /dev/null +++ b/keyboards/ekow/akira/akira.c @@ -0,0 +1,16 @@ +/* Copyright 2022 eugenepy + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "akira.h" diff --git a/keyboards/ekow/akira/akira.h b/keyboards/ekow/akira/akira.h new file mode 100644 index 000000000000..0417458027fb --- /dev/null +++ b/keyboards/ekow/akira/akira.h @@ -0,0 +1,35 @@ +/* Copyright 2022 eugenepy + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_60_hhkb( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K41, K42, K47, K4B, K4C \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D , K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D , XXX}, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX}, \ + { K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D , XXX, XXX}, \ + { K41, K42, XXX, XXX, XXX, K47, XXX, XXX, XXX, XXX, K4B, K4C, XXX, XXX, XXX} \ +} diff --git a/keyboards/ekow/akira/config.h b/keyboards/ekow/akira/config.h new file mode 100644 index 000000000000..678827543fdf --- /dev/null +++ b/keyboards/ekow/akira/config.h @@ -0,0 +1,51 @@ +/* +Copyright 2022 eugenepy + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4B59 // KY +#define PRODUCT_ID 0x414B // AK +#define DEVICE_VER 0x0000 +#define MANUFACTURER Keeboyzlab +#define PRODUCT AKIRA + +// key matrix size +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +// M60-A PCB default pin-out +#define MATRIX_ROW_PINS \ + { B0, B1, B2, B10, B11 } +#define MATRIX_COL_PINS \ + { B12, B13, B14, B15, A8, A9, A10, A15, B3, B4, B5, B6, B7, B8, B9 } + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW +#define DEBOUNCE 3 diff --git a/keyboards/ekow/akira/info.json b/keyboards/ekow/akira/info.json new file mode 100644 index 000000000000..b6ebf9b8a20b --- /dev/null +++ b/keyboards/ekow/akira/info.json @@ -0,0 +1,319 @@ +{ + "keyboard_name": "KEYBOYZLAB:AKIRA", + "maintainer": "eugenepy", + "url": "http://github.com/EugenePY", + "layouts": { + "LAYOUT_60_hhkb": { + "layout": [ + { + "label": "Esc", + "x": 0, + "y": 0 + }, + { + "label": "!", + "x": 1, + "y": 0 + }, + { + "label": "@", + "x": 2, + "y": 0 + }, + { + "label": "#", + "x": 3, + "y": 0 + }, + { + "label": "$", + "x": 4, + "y": 0 + }, + { + "label": "%", + "x": 5, + "y": 0 + }, + { + "label": "^", + "x": 6, + "y": 0 + }, + { + "label": "&", + "x": 7, + "y": 0 + }, + { + "label": "*", + "x": 8, + "y": 0 + }, + { + "label": "(", + "x": 9, + "y": 0 + }, + { + "label": ")", + "x": 10, + "y": 0 + }, + { + "label": "_", + "x": 11, + "y": 0 + }, + { + "label": "+", + "x": 12, + "y": 0 + }, + { + "label": "|", + "x": 13, + "y": 0 + }, + { + "label": "~", + "x": 14, + "y": 0 + }, + { + "label": "Tab", + "x": 0, + "y": 1, + "w": 1.5 + }, + { + "label": "Q", + "x": 1.5, + "y": 1 + }, + { + "label": "W", + "x": 2.5, + "y": 1 + }, + { + "label": "E", + "x": 3.5, + "y": 1 + }, + { + "label": "R", + "x": 4.5, + "y": 1 + }, + { + "label": "T", + "x": 5.5, + "y": 1 + }, + { + "label": "Y", + "x": 6.5, + "y": 1 + }, + { + "label": "U", + "x": 7.5, + "y": 1 + }, + { + "label": "I", + "x": 8.5, + "y": 1 + }, + { + "label": "O", + "x": 9.5, + "y": 1 + }, + { + "label": "P", + "x": 10.5, + "y": 1 + }, + { + "label": "{", + "x": 11.5, + "y": 1 + }, + { + "label": "}", + "x": 12.5, + "y": 1 + }, + { + "label": "Delete", + "x": 13.5, + "y": 1, + "w": 1.5 + }, + { + "label": "Control", + "x": 0, + "y": 2, + "w": 1.75 + }, + { + "label": "A", + "x": 1.75, + "y": 2 + }, + { + "label": "S", + "x": 2.75, + "y": 2 + }, + { + "label": "D", + "x": 3.75, + "y": 2 + }, + { + "label": "F", + "x": 4.75, + "y": 2 + }, + { + "label": "G", + "x": 5.75, + "y": 2 + }, + { + "label": "H", + "x": 6.75, + "y": 2 + }, + { + "label": "J", + "x": 7.75, + "y": 2 + }, + { + "label": "K", + "x": 8.75, + "y": 2 + }, + { + "label": "L", + "x": 9.75, + "y": 2 + }, + { + "label": ":", + "x": 10.75, + "y": 2 + }, + { + "label": "\"", + "x": 11.75, + "y": 2 + }, + { + "label": "Enter", + "x": 12.75, + "y": 2, + "w": 2.25 + }, + { + "label": "Shift", + "x": 0, + "y": 3, + "w": 2.25 + }, + { + "label": "Z", + "x": 2.25, + "y": 3 + }, + { + "label": "X", + "x": 3.25, + "y": 3 + }, + { + "label": "C", + "x": 4.25, + "y": 3 + }, + { + "label": "V", + "x": 5.25, + "y": 3 + }, + { + "label": "B", + "x": 6.25, + "y": 3 + }, + { + "label": "N", + "x": 7.25, + "y": 3 + }, + { + "label": "M", + "x": 8.25, + "y": 3 + }, + { + "label": "<", + "x": 9.25, + "y": 3 + }, + { + "label": ">", + "x": 10.25, + "y": 3 + }, + { + "label": "?", + "x": 11.25, + "y": 3 + }, + { + "label": "Shift", + "x": 12.25, + "y": 3, + "w": 1.75 + }, + { + "label": "Fn", + "x": 14, + "y": 3 + }, + { + "label": "Os", + "x": 1.5, + "y": 4 + }, + { + "label": "Alt", + "x": 2.5, + "y": 4, + "w": 1.5 + }, + { + "x": 4, + "y": 4, + "w": 7 + }, + { + "label": "Alt", + "x": 11, + "y": 4, + "w": 1.5 + }, + { + "label": "Os", + "x": 12.5, + "y": 4 + } + ] + } + } +} diff --git a/keyboards/ekow/akira/keymaps/default/keymap.c b/keyboards/ekow/akira/keymaps/default/keymap.c new file mode 100644 index 000000000000..672516840d7e --- /dev/null +++ b/keyboards/ekow/akira/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +/* Copyright 2022 eugenepy + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // Default layer + [0] = LAYOUT_60_hhkb(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_DEL, 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_BSPC, KC_LCTL, 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_LSFT, 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_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RALT), + + // Fn1 Layer + [1] = LAYOUT_60_hhkb(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, KC_INS, KC_DEL, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; diff --git a/keyboards/ekow/akira/keymaps/default/readme.md b/keyboards/ekow/akira/keymaps/default/readme.md new file mode 100644 index 000000000000..b20d47869979 --- /dev/null +++ b/keyboards/ekow/akira/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for akira diff --git a/keyboards/ekow/akira/keymaps/via/keymap.c b/keyboards/ekow/akira/keymaps/via/keymap.c new file mode 100644 index 000000000000..e7c70a6f9e8c --- /dev/null +++ b/keyboards/ekow/akira/keymaps/via/keymap.c @@ -0,0 +1,26 @@ +/* Copyright 2022 eugenepy + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // Default layer + [0] = LAYOUT_60_hhkb(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_DEL, 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_BSPC, KC_LCTL, 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_LSFT, 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_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RALT), + + // Fn1 Layer + [1] = LAYOUT_60_hhkb(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, KC_INS, KC_DEL, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT_60_hhkb(XXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/ekow/akira/keymaps/via/rules.mk b/keyboards/ekow/akira/keymaps/via/rules.mk new file mode 100644 index 000000000000..c859353a464c --- /dev/null +++ b/keyboards/ekow/akira/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +CONSOLE_ENABLE = no +COMMAND_ENABLE = no diff --git a/keyboards/ekow/akira/readme.md b/keyboards/ekow/akira/readme.md new file mode 100644 index 000000000000..e1a0c9036602 --- /dev/null +++ b/keyboards/ekow/akira/readme.md @@ -0,0 +1,24 @@ +# AKIRA + +* Keyboard Maintainer: [eugenepy](https://github.com/eugenepy) +* Hardware Supported: AKIRA pcb, both Hotswap and solderable. +* Hardware Availability: Not yet on groupbuy + +# Build +Make example for this keyboard (after setting up your build environment): + + make ekow/akira:default + +Flashing example for this keyboard: + + make ekow/akira:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the Buttom on the back of the PCB, the board will enter the dfu-mode, no extra pads need to short. +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + diff --git a/keyboards/ekow/akira/rules.mk b/keyboards/ekow/akira/rules.mk new file mode 100644 index 000000000000..6653c66b1608 --- /dev/null +++ b/keyboards/ekow/akira/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = STM32F042 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 615dbd62e945fde4c26335ed24774d1feeb1dadf Mon Sep 17 00:00:00 2001 From: takashicompany Date: Wed, 11 May 2022 03:07:01 +0900 Subject: [PATCH 0642/1832] [Keyboard] Fix led num for center_enter/qoolee (#17050) --- keyboards/takashicompany/center_enter/config.h | 2 +- keyboards/takashicompany/qoolee/config.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/takashicompany/center_enter/config.h b/keyboards/takashicompany/center_enter/config.h index 9900d35f372e..d6840ca682f9 100644 --- a/keyboards/takashicompany/center_enter/config.h +++ b/keyboards/takashicompany/center_enter/config.h @@ -68,7 +68,7 @@ along with this program. If not, see . #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN -# define RGBLED_NUM 16 +# define RGBLED_NUM 6 # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 # define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/takashicompany/qoolee/config.h b/keyboards/takashicompany/qoolee/config.h index 3095f8415957..36bb330c9519 100644 --- a/keyboards/takashicompany/qoolee/config.h +++ b/keyboards/takashicompany/qoolee/config.h @@ -68,7 +68,7 @@ along with this program. If not, see . #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN -# define RGBLED_NUM 16 +# define RGBLED_NUM 6 # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 # define RGBLIGHT_VAL_STEP 8 From f3fdd6ae5d150f39df75ed1524c72b184e06d3a6 Mon Sep 17 00:00:00 2001 From: kb-elmo Date: Wed, 11 May 2022 12:13:50 +0200 Subject: [PATCH 0643/1832] [Keyboard] Add Axostudio Yeti hotswap version (#16820) Co-authored-by: Joel Challis Co-authored-by: Ryan --- keyboards/axolstudio/yeti/hotswap/config.h | 92 ++++++++++++++ keyboards/axolstudio/yeti/hotswap/hotswap.c | 118 ++++++++++++++++++ keyboards/axolstudio/yeti/hotswap/hotswap.h | 35 ++++++ keyboards/axolstudio/yeti/hotswap/info.json | 75 +++++++++++ .../yeti/hotswap/keymaps/default/keymap.c | 33 +++++ .../yeti/hotswap/keymaps/via/keymap.c | 47 +++++++ .../yeti/{ => hotswap}/keymaps/via/rules.mk | 0 keyboards/axolstudio/yeti/hotswap/readme.md | 27 ++++ keyboards/axolstudio/yeti/hotswap/rules.mk | 21 ++++ .../axolstudio/yeti/{ => soldered}/config.h | 0 .../axolstudio/yeti/{ => soldered}/info.json | 2 +- .../{ => soldered}/keymaps/default/keymap.c | 0 .../yeti/{ => soldered}/keymaps/via/keymap.c | 0 .../yeti/soldered/keymaps/via/rules.mk | 1 + .../axolstudio/yeti/{ => soldered}/readme.md | 12 +- .../axolstudio/yeti/{ => soldered}/rules.mk | 0 .../yeti/{yeti.c => soldered/soldered.c} | 2 +- .../yeti/{yeti.h => soldered/soldered.h} | 0 18 files changed, 461 insertions(+), 4 deletions(-) create mode 100644 keyboards/axolstudio/yeti/hotswap/config.h create mode 100644 keyboards/axolstudio/yeti/hotswap/hotswap.c create mode 100644 keyboards/axolstudio/yeti/hotswap/hotswap.h create mode 100644 keyboards/axolstudio/yeti/hotswap/info.json create mode 100644 keyboards/axolstudio/yeti/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/axolstudio/yeti/hotswap/keymaps/via/keymap.c rename keyboards/axolstudio/yeti/{ => hotswap}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/axolstudio/yeti/hotswap/readme.md create mode 100644 keyboards/axolstudio/yeti/hotswap/rules.mk rename keyboards/axolstudio/yeti/{ => soldered}/config.h (100%) rename keyboards/axolstudio/yeti/{ => soldered}/info.json (99%) rename keyboards/axolstudio/yeti/{ => soldered}/keymaps/default/keymap.c (100%) rename keyboards/axolstudio/yeti/{ => soldered}/keymaps/via/keymap.c (100%) create mode 100644 keyboards/axolstudio/yeti/soldered/keymaps/via/rules.mk rename keyboards/axolstudio/yeti/{ => soldered}/readme.md (58%) rename keyboards/axolstudio/yeti/{ => soldered}/rules.mk (100%) rename keyboards/axolstudio/yeti/{yeti.c => soldered/soldered.c} (96%) rename keyboards/axolstudio/yeti/{yeti.h => soldered/soldered.h} (100%) diff --git a/keyboards/axolstudio/yeti/hotswap/config.h b/keyboards/axolstudio/yeti/hotswap/config.h new file mode 100644 index 000000000000..559b62a81d72 --- /dev/null +++ b/keyboards/axolstudio/yeti/hotswap/config.h @@ -0,0 +1,92 @@ +/* +Copyright 2022 kb-elmo + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x525C +#define PRODUCT_ID 0x9F9E +#define DEVICE_VER 0x0001 +#define MANUFACTURER DZtech +#define PRODUCT Yeti RGB + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* Keyboard Matrix Assignments */ + +#define MATRIX_ROW_PINS { E6, C6, B4, B5, B6 } +#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, F0, B0, B1, B2, B3, B7, D2, D3, D5 } + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* RGB Matrix */ +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_KEYPRESSES +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +# define ENABLE_RGB_MATRIX_SOLID_COLOR +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_DUAL_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_RAINDROPS +# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +# define ENABLE_RGB_MATRIX_PIXEL_FLOW +# define ENABLE_RGB_MATRIX_PIXEL_RAIN +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // 16 is equivalent to limiting to 60fps +# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define DRIVER_ADDR_1 0b1010000 +# define DRIVER_COUNT 1 +# define DRIVER_LED_TOTAL 64 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/axolstudio/yeti/hotswap/hotswap.c b/keyboards/axolstudio/yeti/hotswap/hotswap.c new file mode 100644 index 000000000000..d1debb4e3556 --- /dev/null +++ b/keyboards/axolstudio/yeti/hotswap/hotswap.c @@ -0,0 +1,118 @@ +/* Copyright 2022 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "hotswap.h" + +#ifdef RGB_MATRIX_ENABLE +const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { + { 0, B_1, A_1, C_1 }, + { 0, B_2, A_2, C_2 }, + { 0, B_3, A_3, C_3 }, + { 0, B_4, A_4, C_4 }, + { 0, B_5, A_5, C_5 }, + { 0, B_6, A_6, C_6 }, + { 0, B_7, A_7, C_7 }, + { 0, B_8, A_8, C_8 }, + { 0, B_9, A_9, C_9 }, + { 0, B_10, A_10, C_10 }, + { 0, B_11, A_11, C_11 }, + { 0, B_12, A_12, C_12 }, + { 0, B_13, A_13, C_13 }, + { 0, B_14, A_14, C_14 }, + { 0, B_15, A_15, C_15 }, + + { 0, E_1, D_1, F_1 }, + { 0, E_2, D_2, F_2 }, + { 0, E_3, D_3, F_3 }, + { 0, E_4, D_4, F_4 }, + { 0, E_5, D_5, F_5 }, + { 0, E_6, D_6, F_6 }, + { 0, E_7, D_7, F_7 }, + { 0, E_8, D_8, F_8 }, + { 0, E_9, D_9, F_9 }, + { 0, E_10, D_10, F_10 }, + { 0, E_11, D_11, F_11 }, + { 0, E_12, D_12, F_12 }, + { 0, E_13, D_13, F_13 }, + { 0, E_14, D_14, F_14 }, + { 0, E_15, D_15, F_15 }, + + { 0, H_1, G_1, I_1 }, + { 0, H_2, G_2, I_2 }, + { 0, H_3, G_3, I_3 }, + { 0, H_4, G_4, I_4 }, + { 0, H_5, G_5, I_5 }, + { 0, H_6, G_6, I_6 }, + { 0, H_7, G_7, I_7 }, + { 0, H_8, G_8, I_8 }, + { 0, H_9, G_9, I_9 }, + { 0, H_10, G_10, I_10 }, + { 0, H_11, G_11, I_11 }, + { 0, H_12, G_12, I_12 }, + { 0, H_13, G_13, I_13 }, + { 0, H_14, G_14, I_14 }, + + { 0, K_2, J_2, L_2 }, + { 0, K_3, J_3, L_3 }, + { 0, K_4, J_4, L_4 }, + { 0, K_5, J_5, L_5 }, + { 0, K_6, J_6, L_6 }, + { 0, K_7, J_7, L_7 }, + { 0, K_8, J_8, L_8 }, + { 0, K_9, J_9, L_9 }, + { 0, K_10, J_10, L_10 }, + { 0, K_11, J_11, L_11 }, + { 0, K_12, J_12, L_12 }, + { 0, K_13, J_13, L_13 }, + { 0, K_14, J_14, L_14 }, + + { 0, K_1, J_1, L_1 }, + { 0, K_16, J_16, L_16 }, + { 0, H_16, G_16, I_16 }, + { 0, E_16, D_16, F_16 }, + { 0, B_16, A_16, C_16 }, + { 0, H_15, G_15, I_15 }, + { 0, K_15, J_15, L_15 }, +}; + +led_config_t g_led_config = { + { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, NO_LED, 43 }, + { NO_LED, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56 }, + { NO_LED, 57, NO_LED, 58, NO_LED, 59, 60, NO_LED, 61, NO_LED, 62, NO_LED, NO_LED, NO_LED, 63 } + }, { + {0, 0},{16, 0},{16*2, 0},{16*3, 0},{16*4, 0},{16*5, 0},{16*6, 0},{16*7, 0},{16*8, 0},{16*9, 0},{16*10, 0},{16*11, 0},{16*12, 0},{16*13, 0},{16*14, 0}, + {0, 16},{16,16},{16*2,16},{16*3,16},{16*4,16},{16*5,16},{16*6,16},{16*7,16},{16*8,16},{16*9,16},{16*10,16},{16*11,16},{16*12,16},{16*13,16},{16*14,16}, + {0,32},{16,32},{16*2,32},{16*3,32},{16*4,32},{16*5,32},{16*6,32},{16*7,32},{16*8,32},{16*9,32},{16*10,32},{16*11,32},{16*12,32},{16*14}, + {16,48},{16*2,48},{16*3,48},{16*4,48},{16*5,48},{16*6,48},{16*7,48},{16*8,48},{16*9,48},{16*10,48},{16*11,48},{16*12,48},{16*14,48}, + {16,64},{16*3,64},{16*5,64},{16*6,64},{16*8,64},{16*10,64},{16*14,64} + }, { + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 4, 1, 4, 1, 1 + } +}; +#endif +__attribute__ ((weak)) +void rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(31, 0xFF, 0xFF, 0xFF); + } +} diff --git a/keyboards/axolstudio/yeti/hotswap/hotswap.h b/keyboards/axolstudio/yeti/hotswap/hotswap.h new file mode 100644 index 000000000000..736f26ed7f54 --- /dev/null +++ b/keyboards/axolstudio/yeti/hotswap/hotswap.h @@ -0,0 +1,35 @@ +/* Copyright 2022 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define ____ KC_NO + +#define LAYOUT( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k214, \ + k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k314, \ + k401, k403, k405, k406, k408, k410, k414 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, ____, k214 }, \ + { ____, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, ____, k314 }, \ + { ____, k401, ____, k403, ____, k405, k406, ____, k408, ____, k410, ____, ____, ____, k414 } \ +} diff --git a/keyboards/axolstudio/yeti/hotswap/info.json b/keyboards/axolstudio/yeti/hotswap/info.json new file mode 100644 index 000000000000..72042a98a3bb --- /dev/null +++ b/keyboards/axolstudio/yeti/hotswap/info.json @@ -0,0 +1,75 @@ +{ + "keyboard_name": "yeti hotswap", + "url": "https://axolstudio.ca/yeti", + "maintainer": "kb-elmo", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.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, "w":2}, + {"x":0, "y":1}, + {"x":1.25, "y":1, "w":1.5}, + {"x":2.75, "y":1}, + {"x":3.75, "y":1}, + {"x":4.75, "y":1}, + {"x":5.75, "y":1}, + {"x":6.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, "w":1.5}, + {"x":0, "y":2}, + {"x":1.25, "y":2, "w":1.75}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "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, "w":2.25}, + {"x":1.25, "y":3, "w":2.25}, + {"x":3.5, "y":3}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.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, "w":2.75}, + {"x":1.25, "y":4, "w":1.5}, + {"x":4.25, "y":4, "w":1.5}, + {"x":5.75, "y":4, "w":2}, + {"x":7.75, "y":4, "w":1.25}, + {"x":9.5, "y":4, "w":2.75}, + {"x":12.25, "y":4, "w":1.5}, + {"x":16.75, "y":4, "w":1.5} + ] + } + } +} diff --git a/keyboards/axolstudio/yeti/hotswap/keymaps/default/keymap.c b/keyboards/axolstudio/yeti/hotswap/keymaps/default/keymap.c new file mode 100644 index 000000000000..cb1ae43a64cf --- /dev/null +++ b/keyboards/axolstudio/yeti/hotswap/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2022 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_PAUS, 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_PSCR, 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_F5, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL + ), + [1] = LAYOUT( + KC_TRNS, 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, KC_DEL, + KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, 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_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/axolstudio/yeti/hotswap/keymaps/via/keymap.c b/keyboards/axolstudio/yeti/hotswap/keymaps/via/keymap.c new file mode 100644 index 000000000000..349bd1223d08 --- /dev/null +++ b/keyboards/axolstudio/yeti/hotswap/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2022 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_PAUS, 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_PSCR, 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_F5, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL + ), + [1] = LAYOUT( + KC_TRNS, 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, KC_DEL, + KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, 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_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + 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, 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, 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, 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 + ), + [3] = LAYOUT( + 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, 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, 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, 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 + ) +}; diff --git a/keyboards/axolstudio/yeti/keymaps/via/rules.mk b/keyboards/axolstudio/yeti/hotswap/keymaps/via/rules.mk similarity index 100% rename from keyboards/axolstudio/yeti/keymaps/via/rules.mk rename to keyboards/axolstudio/yeti/hotswap/keymaps/via/rules.mk diff --git a/keyboards/axolstudio/yeti/hotswap/readme.md b/keyboards/axolstudio/yeti/hotswap/readme.md new file mode 100644 index 000000000000..79fad346f346 --- /dev/null +++ b/keyboards/axolstudio/yeti/hotswap/readme.md @@ -0,0 +1,27 @@ +# Axolstudio Yeti RGB + +![yeti](https://i.imgur.com/eoRH6W1l.png) + +**TGR Alice inspired board with some extra heft** + +* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) +* Hardware Supported: Axolstudio Yeti Hotswap RGB PCB +* Hardware Availability: https://axolstudio.ca/yeti + +Make example for this keyboard (after setting up your build environment): + + make axolstudio/yeti/hotswap:default + +Flashing example for this keyboard: + + make axolstudio/yeti/hotswap:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/axolstudio/yeti/hotswap/rules.mk b/keyboards/axolstudio/yeti/hotswap/rules.mk new file mode 100644 index 000000000000..52474311b13a --- /dev/null +++ b/keyboards/axolstudio/yeti/hotswap/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGB_MATRIX_ENABLE = yes # Use RGB matrix +RGB_MATRIX_DRIVER = IS31FL3733 + +LTO_ENABLE = yes diff --git a/keyboards/axolstudio/yeti/config.h b/keyboards/axolstudio/yeti/soldered/config.h similarity index 100% rename from keyboards/axolstudio/yeti/config.h rename to keyboards/axolstudio/yeti/soldered/config.h diff --git a/keyboards/axolstudio/yeti/info.json b/keyboards/axolstudio/yeti/soldered/info.json similarity index 99% rename from keyboards/axolstudio/yeti/info.json rename to keyboards/axolstudio/yeti/soldered/info.json index 7d256ccf36fe..9c6c122ce363 100644 --- a/keyboards/axolstudio/yeti/info.json +++ b/keyboards/axolstudio/yeti/soldered/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "yeti", + "keyboard_name": "yeti soldered", "url": "https://axolstudio.ca/yeti", "maintainer": "kb-elmo", "layouts": { diff --git a/keyboards/axolstudio/yeti/keymaps/default/keymap.c b/keyboards/axolstudio/yeti/soldered/keymaps/default/keymap.c similarity index 100% rename from keyboards/axolstudio/yeti/keymaps/default/keymap.c rename to keyboards/axolstudio/yeti/soldered/keymaps/default/keymap.c diff --git a/keyboards/axolstudio/yeti/keymaps/via/keymap.c b/keyboards/axolstudio/yeti/soldered/keymaps/via/keymap.c similarity index 100% rename from keyboards/axolstudio/yeti/keymaps/via/keymap.c rename to keyboards/axolstudio/yeti/soldered/keymaps/via/keymap.c diff --git a/keyboards/axolstudio/yeti/soldered/keymaps/via/rules.mk b/keyboards/axolstudio/yeti/soldered/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/axolstudio/yeti/soldered/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/axolstudio/yeti/readme.md b/keyboards/axolstudio/yeti/soldered/readme.md similarity index 58% rename from keyboards/axolstudio/yeti/readme.md rename to keyboards/axolstudio/yeti/soldered/readme.md index 6be59ebd26a7..78ca4d5deb6e 100644 --- a/keyboards/axolstudio/yeti/readme.md +++ b/keyboards/axolstudio/yeti/soldered/readme.md @@ -10,10 +10,18 @@ Make example for this keyboard (after setting up your build environment): - make axolstudio/yeti:default + make axolstudio/yeti/soldered:default Flashing example for this keyboard: - make axolstudio/yeti:default:flash + make axolstudio/yeti/soldered:default:flash 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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/axolstudio/yeti/rules.mk b/keyboards/axolstudio/yeti/soldered/rules.mk similarity index 100% rename from keyboards/axolstudio/yeti/rules.mk rename to keyboards/axolstudio/yeti/soldered/rules.mk diff --git a/keyboards/axolstudio/yeti/yeti.c b/keyboards/axolstudio/yeti/soldered/soldered.c similarity index 96% rename from keyboards/axolstudio/yeti/yeti.c rename to keyboards/axolstudio/yeti/soldered/soldered.c index 9c11b8c78c29..5041fabed0d5 100644 --- a/keyboards/axolstudio/yeti/yeti.c +++ b/keyboards/axolstudio/yeti/soldered/soldered.c @@ -14,4 +14,4 @@ * along with this program. If not, see . */ -#include "yeti.h" +#include "soldered.h" diff --git a/keyboards/axolstudio/yeti/yeti.h b/keyboards/axolstudio/yeti/soldered/soldered.h similarity index 100% rename from keyboards/axolstudio/yeti/yeti.h rename to keyboards/axolstudio/yeti/soldered/soldered.h From 371499c3a79227d55ac481d23060074edc8c155a Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Wed, 11 May 2022 18:57:46 +0800 Subject: [PATCH 0644/1832] [Keyboard] Momokai Tap Trio (#16463) * add winry3m3w * change name to Momokai Tap Trio * Delete settings.json * add rgb effects * amend default keymap * add limited RGB controls to default keymap * fix VAD * Update keyboards/momokai/tap_trio/tap_trio.h Co-authored-by: Joel Challis * Update keyboards/momokai/tap_trio/tap_trio.h Co-authored-by: Joel Challis * Update keyboards/momokai/tap_trio/config.h Co-authored-by: Drashna Jaelre * Update keyboards/momokai/tap_trio/rules.mk Co-authored-by: Ryan * implement RGB matrix, change default keymap * change keymaps * change rgb effects * comment out the RGB matrix and switch back to RGB light due to VIA not playing ball Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/momokai/tap_trio/config.h | 126 ++++++++++++++++++ keyboards/momokai/tap_trio/info.json | 18 +++ .../momokai/tap_trio/keymaps/default/keymap.c | 27 ++++ .../momokai/tap_trio/keymaps/via/keymap.c | 42 ++++++ .../momokai/tap_trio/keymaps/via/rules.mk | 2 + keyboards/momokai/tap_trio/readme.md | 12 ++ keyboards/momokai/tap_trio/rules.mk | 20 +++ keyboards/momokai/tap_trio/tap_trio.c | 31 +++++ keyboards/momokai/tap_trio/tap_trio.h | 26 ++++ 9 files changed, 304 insertions(+) create mode 100644 keyboards/momokai/tap_trio/config.h create mode 100644 keyboards/momokai/tap_trio/info.json create mode 100644 keyboards/momokai/tap_trio/keymaps/default/keymap.c create mode 100644 keyboards/momokai/tap_trio/keymaps/via/keymap.c create mode 100644 keyboards/momokai/tap_trio/keymaps/via/rules.mk create mode 100644 keyboards/momokai/tap_trio/readme.md create mode 100644 keyboards/momokai/tap_trio/rules.mk create mode 100644 keyboards/momokai/tap_trio/tap_trio.c create mode 100644 keyboards/momokai/tap_trio/tap_trio.h diff --git a/keyboards/momokai/tap_trio/config.h b/keyboards/momokai/tap_trio/config.h new file mode 100644 index 000000000000..8dc38b10ead2 --- /dev/null +++ b/keyboards/momokai/tap_trio/config.h @@ -0,0 +1,126 @@ +/* Copyright 2022 Momokai + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x69F9 // "69" + "Popular Racing Movie 9" = Momokai (?) +#define PRODUCT_ID 0x0006 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Momokai +#define PRODUCT Tap Trio + +#define MATRIX_ROWS 1 +#define MATRIX_COLS 6 + +#define MATRIX_ROW_PINS { E0 } +#define MATRIX_COL_PINS { E6, B2, B7, D1, D2, D3 } + +#define DIODE_DIRECTION COL2ROW + + +//TODO: implement RGB Matrix +#define RGB_DI_PIN F0 +#define RGBLED_NUM 5 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + + +/*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_RGB_TEST + #define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ + /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ + #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 + /*==== use exp() and sin() ====*/ + #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 + #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 + + +// #ifdef RGB_DI_PIN +// #define DRIVER_LED_TOTAL 5 + +// #define RGB_MATRIX_KEYPRESSES // reacts to keypresses +// // # define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value +// #endif +// #ifdef RGB_MATRIX_ENABLE +// // # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value +// // RGB Matrix Animation modes. Explicitly enabled +// // For full list of effects, see: +// // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +// #define ENABLE_RGB_MATRIX_SOLID_COLOR +// #define ENABLE_RGB_MATRIX_ALPHAS_MODS +// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +// #define ENABLE_RGB_MATRIX_BREATHING +// // #define ENABLE_RGB_MATRIX_BAND_SAT +// // #define ENABLE_RGB_MATRIX_BAND_VAL +// // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +// // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +// // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +// // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +// #define ENABLE_RGB_MATRIX_CYCLE_ALL +// #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +// #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +// // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +// // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +// #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +// #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +// // #define ENABLE_RGB_MATRIX_DUAL_BEACON +// #define ENABLE_RGB_MATRIX_RAINBOW_BEACON +// // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +// #define ENABLE_RGB_MATRIX_RAINDROPS +// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +// #define ENABLE_RGB_MATRIX_HUE_BREATHING +// #define ENABLE_RGB_MATRIX_HUE_PENDULUM +// #define ENABLE_RGB_MATRIX_HUE_WAVE +// #define ENABLE_RGB_MATRIX_PIXEL_RAIN +// #define ENABLE_RGB_MATRIX_PIXEL_FLOW +// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL + +// // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +// // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + +// // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +// // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// // #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #endif diff --git a/keyboards/momokai/tap_trio/info.json b/keyboards/momokai/tap_trio/info.json new file mode 100644 index 000000000000..efe4fc611123 --- /dev/null +++ b/keyboards/momokai/tap_trio/info.json @@ -0,0 +1,18 @@ +{ + "keyboard_name": "Momokai Tap Trio", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "K00 (E0,E6)", "x": 0, "y": 0, "w": 1.5, "h": 1.5 }, + { "label": "K01 (E0,B2)", "x": 2.25, "y": 0, "w": 1.5, "h": 1.5 }, + { "label": "K02 (E0,B7)", "x": 4.5, "y": 0, "w": 1.5, "h": 1.5 }, + { "label": "K03 (E0,D1)", "x": 2.25, "y": 2.5 }, + { "label": "K04 (E0,D2)", "x": 3.75, "y": 2.5 }, + { "label": "K05 (E0,D3)", "x": 5.25, "y": 2.5 } + ] + } + } + ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" +} diff --git a/keyboards/momokai/tap_trio/keymaps/default/keymap.c b/keyboards/momokai/tap_trio/keymaps/default/keymap.c new file mode 100644 index 000000000000..99d55aabaf5d --- /dev/null +++ b/keyboards/momokai/tap_trio/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2022 Momokai + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_Z, KC_X, KC_C, + KC_GRV, KC_ESC, KC_F2 + ), + + +}; diff --git a/keyboards/momokai/tap_trio/keymaps/via/keymap.c b/keyboards/momokai/tap_trio/keymaps/via/keymap.c new file mode 100644 index 000000000000..880e12e42201 --- /dev/null +++ b/keyboards/momokai/tap_trio/keymaps/via/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2022 Momokai + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_Z, KC_X, KC_C, + KC_GRV, KC_ESC, KC_F2 + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + +}; diff --git a/keyboards/momokai/tap_trio/keymaps/via/rules.mk b/keyboards/momokai/tap_trio/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/momokai/tap_trio/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/momokai/tap_trio/readme.md b/keyboards/momokai/tap_trio/readme.md new file mode 100644 index 000000000000..8027955ba241 --- /dev/null +++ b/keyboards/momokai/tap_trio/readme.md @@ -0,0 +1,12 @@ +# Momokai tap trio + + +* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee) + + +Make example for this keyboard (after setting up your build environment): + + make momokai/tap_trio:default + + +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/momokai/tap_trio/rules.mk b/keyboards/momokai/tap_trio/rules.mk new file mode 100644 index 000000000000..07e6f2d07f58 --- /dev/null +++ b/keyboards/momokai/tap_trio/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +LTO_ENABLE = yes diff --git a/keyboards/momokai/tap_trio/tap_trio.c b/keyboards/momokai/tap_trio/tap_trio.c new file mode 100644 index 000000000000..02bd0d3addc0 --- /dev/null +++ b/keyboards/momokai/tap_trio/tap_trio.c @@ -0,0 +1,31 @@ +/* Copyright 2022 Momokai + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "tap_trio.h" + +// #ifdef RGB_MATRIX_ENABLE +// led_config_t g_led_config = { { +// // Key Matrix to LED Index +// { 0, 1, 2, NO_LED, NO_LED, NO_LED} +// }, { +// // LED Index to Physical Position +// { 56, 0}, { 112, 0}, { 168, 0}, { 0, 64}, { 224, 64} +// }, { +// // LED Index to Flag +// 4,4,4,2,2 +// } }; + +// #endif diff --git a/keyboards/momokai/tap_trio/tap_trio.h b/keyboards/momokai/tap_trio/tap_trio.h new file mode 100644 index 000000000000..b2b17b343603 --- /dev/null +++ b/keyboards/momokai/tap_trio/tap_trio.h @@ -0,0 +1,26 @@ +/* Copyright 2022 Momokai + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + K00, K01, K02, \ + K03, K04, K05 \ +) { \ + { K00, K01, K02, K03, K04, K05 } \ +} + From 214d2a31ed51bebde1b0635ec0591dd444d2d706 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Wed, 11 May 2022 19:12:47 +0800 Subject: [PATCH 0645/1832] [Keyboard] Add usable tap-hold defaults for ferris via (#16696) --- keyboards/ferris/keymaps/via/config.h | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 keyboards/ferris/keymaps/via/config.h diff --git a/keyboards/ferris/keymaps/via/config.h b/keyboards/ferris/keymaps/via/config.h new file mode 100644 index 000000000000..5539c55f1d3a --- /dev/null +++ b/keyboards/ferris/keymaps/via/config.h @@ -0,0 +1,9 @@ +// Copyright 2020 Pierre Chevalier +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once + +// Good defaults for home row modifiers +#define TAPPING_TERM 230 +#define IGNORE_MOD_TAP_INTERRUPT + From c9e336fde6c69b87ab7f57832c762c67222ff06c Mon Sep 17 00:00:00 2001 From: Willy Breitenbach Date: Wed, 11 May 2022 13:30:05 +0200 Subject: [PATCH 0646/1832] [Keyboard] fix tf65rgbv2 keyboard layout (#17029) --- keyboards/fjlabs/tf65rgbv2/tf65rgbv2.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/fjlabs/tf65rgbv2/tf65rgbv2.h b/keyboards/fjlabs/tf65rgbv2/tf65rgbv2.h index 434d15668819..ce435977c13e 100644 --- a/keyboards/fjlabs/tf65rgbv2/tf65rgbv2.h +++ b/keyboards/fjlabs/tf65rgbv2/tf65rgbv2.h @@ -25,8 +25,8 @@ along with this program. If not, see . K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \ ) { \ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K1E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \ { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D, K4E } \ } From 8e9a81a86077349b98b6c381d7f75ff10b161295 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 11 May 2022 12:51:39 -0700 Subject: [PATCH 0647/1832] KBDfans KBD75 Refactor - 2022 Edition (#17052) * add license headers * tidy-up revision rules.mk files - convert tabs to spaces - align inline comments - update rule ordering * touch-up readme.md * touch-up rev1/rev1.h - convert tabs to spaces - convert to QMK 3-character notation for matrix positions * rev1/rev1.h: add matrix diagram * touch-up rev2/rev2.h - convert tabs to spaces - convert to QMK 3-character notation for matrix positions * rev2/rev2.h: add matrix diagrams * rev1/info.json: apply friendly formatting * rev2/info.json: apply friendly formatting * refactor layout macros - switch `LAYOUT_ansi_1u` with `LAYOUT_75_ansi` - makes `LAYOUT_75_ansi` the canonical macro name, with `LAYOUT_ansi_1u` as an alias for backwards compatibility - move `LAYOUT_ansi_1u` alias to `info.json` files from revision headers - remove `LAYOUT_iso_1u` (was unused) - rename `LAYOUT_ansi` to `LAYOUT_75_ansi_rwkl` - rename `LAYOUT_iso` to `LAYOUT_75_iso_rwkl` * refactor default keymap - use four-space indent - update grid alignment * refactor iso keymap - refactor to use `LAYOUT_75_iso` macro - change from Split to 2u Backspace - change from Split to Standard Spacebar - change `KC_BSLS` keycode to `KC_NUHS`, and place on home row - use four-space indent - update grid alignment * refactor via keymap - use four-space indent - update grid alignment * touch-up readme.md again Fix a broken link. * update section comments in revision header files * add Full Winkeyless layouts - add `LAYOUT_75_ansi_wkl` and `LAYOUT_75_iso_wkl` layout macros --- keyboards/kbdfans/kbd75/config.h | 3 + keyboards/kbdfans/kbd75/kbd75.c | 3 + keyboards/kbdfans/kbd75/kbd75.h | 3 + .../kbdfans/kbd75/keymaps/default/keymap.c | 36 +- keyboards/kbdfans/kbd75/keymaps/iso/keymap.c | 36 +- keyboards/kbdfans/kbd75/keymaps/via/keymap.c | 68 +- keyboards/kbdfans/kbd75/readme.md | 10 +- keyboards/kbdfans/kbd75/rev1/config.h | 3 + keyboards/kbdfans/kbd75/rev1/info.json | 760 +++++++++++++--- keyboards/kbdfans/kbd75/rev1/rev1.c | 3 + keyboards/kbdfans/kbd75/rev1/rev1.h | 222 +++-- keyboards/kbdfans/kbd75/rev1/rules.mk | 14 +- keyboards/kbdfans/kbd75/rev2/config.h | 3 + keyboards/kbdfans/kbd75/rev2/info.json | 860 +++++++++++++++--- keyboards/kbdfans/kbd75/rev2/rev2.c | 3 + keyboards/kbdfans/kbd75/rev2/rev2.h | 268 +++--- keyboards/kbdfans/kbd75/rev2/rules.mk | 14 +- 17 files changed, 1809 insertions(+), 500 deletions(-) diff --git a/keyboards/kbdfans/kbd75/config.h b/keyboards/kbdfans/kbd75/config.h index 20ffa32855cc..b54ce4d24cba 100644 --- a/keyboards/kbdfans/kbd75/config.h +++ b/keyboards/kbdfans/kbd75/config.h @@ -1,3 +1,6 @@ +// Copyright 2017-2021 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #include "config_common.h" diff --git a/keyboards/kbdfans/kbd75/kbd75.c b/keyboards/kbdfans/kbd75/kbd75.c index 9f6e545ca269..1a1bffa36022 100644 --- a/keyboards/kbdfans/kbd75/kbd75.c +++ b/keyboards/kbdfans/kbd75/kbd75.c @@ -1 +1,4 @@ +// Copyright 2017 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include "kbd75.h" diff --git a/keyboards/kbdfans/kbd75/kbd75.h b/keyboards/kbdfans/kbd75/kbd75.h index e41224287821..a2c5d9e4c304 100644 --- a/keyboards/kbdfans/kbd75/kbd75.h +++ b/keyboards/kbdfans/kbd75/kbd75.h @@ -1,3 +1,6 @@ +// Copyright 2017-2019 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #include "quantum.h" diff --git a/keyboards/kbdfans/kbd75/keymaps/default/keymap.c b/keyboards/kbdfans/kbd75/keymaps/default/keymap.c index 839030aaa9aa..7ac80e4d497f 100644 --- a/keyboards/kbdfans/kbd75/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd75/keymaps/default/keymap.c @@ -1,22 +1,26 @@ +// Copyright 2017-2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, MO(1), KC_DEL, - KC_GRV, 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_DEL, KC_BSPC, KC_HOME, - 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_PGUP, - 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, - 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_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, MO(1), KC_DEL, + KC_GRV, 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_DEL, KC_BSPC, KC_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), }; diff --git a/keyboards/kbdfans/kbd75/keymaps/iso/keymap.c b/keyboards/kbdfans/kbd75/keymaps/iso/keymap.c index 0b7c701a30d5..1eec87e1ec13 100644 --- a/keyboards/kbdfans/kbd75/keymaps/iso/keymap.c +++ b/keyboards/kbdfans/kbd75/keymaps/iso/keymap.c @@ -1,22 +1,26 @@ +// Copyright 2018-2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, MO(1), KC_DEL, - KC_GRV, 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_DEL, KC_BSPC, KC_HOME, - 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_PGUP, - 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, - 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_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), + [0] = LAYOUT_75_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, MO(1), KC_DEL, + KC_GRV, 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_HOME, + 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_PGUP, + 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_NUHS, KC_ENT, KC_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_75_iso( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) }; diff --git a/keyboards/kbdfans/kbd75/keymaps/via/keymap.c b/keyboards/kbdfans/kbd75/keymaps/via/keymap.c index 861d711dd13b..b8ac2aacb732 100644 --- a/keyboards/kbdfans/kbd75/keymaps/via/keymap.c +++ b/keyboards/kbdfans/kbd75/keymaps/via/keymap.c @@ -1,40 +1,44 @@ +// Copyright 2020-2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, MO(1), KC_DEL, - KC_GRV, 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_DEL, KC_BSPC, KC_HOME, - 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_PGUP, - 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, - 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_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, MO(1), KC_DEL, + KC_GRV, 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_DEL, KC_BSPC, KC_HOME, + 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_PGUP, + 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, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), }; diff --git a/keyboards/kbdfans/kbd75/readme.md b/keyboards/kbdfans/kbd75/readme.md index b7bf379c1098..60e71fdc943b 100644 --- a/keyboards/kbdfans/kbd75/readme.md +++ b/keyboards/kbdfans/kbd75/readme.md @@ -3,18 +3,18 @@ The KBD75 was sold through various rounds, with various PCB changes between them. * **Round 1 (2017)**: Black PCB - Bootmapper Client, atmega32a MCU (Use [Winkeyless.kr B.mini](../../winkeyless/bmini/) firmware) -* **Round 2 (2018)**: White PCB - Bootmapper Client, atmega32a MCU (Use [ymd75/rev1](../../ymd75/rev1/) firmware) +* **Round 2 (2018)**: White PCB - Bootmapper Client, atmega32a MCU (Use [ymdk/ymd75/rev1](../../ymdk/ymd75/rev1/) firmware) * **Round 3-5 (2018)**: White PCB - QMK Firmware, atmega32u4 MCU (Use KBD75 rev1 or rev2(without numpad support)) * **Round 6 (2019)**: White PCB with USB C - QMK Firmware, atmega32u4 MCU (Use KBD75 rev1 or rev2(with numpad support)) * **V2 (2019-)**: Same as **Round 6** (above). **Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.** -* Keyboard Maintainer: QMK Community -* Hardware Supported: KBD75 PCB rev 1 and 2 +* Keyboard Maintainer: [The QMK Community](https://github.com/qmk) +* Hardware Supported: KBD75 PCB [rev1](./rev1) and [rev2](./rev2) * Hardware Availability: - * https://kbdfans.com/collections/75-diy-kit/products/kbd75-keyboard-set - * https://kbdfans.com/collections/75-diy-kit/products/kbd75v2-custom-keyboard-diy-kit + * [KBD75 rev2 Kit – KBDfans.com](https://kbdfans.com/collections/75-diy-kit/products/kbd75v2-custom-keyboard-diy-kit) + * [KBD75 rev2 PCB – KBDfans.com](https://kbdfans.com/collections/pcb/products/kbdfans-75-pcb-75) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbd75/rev1/config.h b/keyboards/kbdfans/kbd75/rev1/config.h index 4f27efe6483e..9e036b5839e9 100644 --- a/keyboards/kbdfans/kbd75/rev1/config.h +++ b/keyboards/kbdfans/kbd75/rev1/config.h @@ -1,3 +1,6 @@ +// Copyright 2020 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #define PRODUCT_ID 0x6060 diff --git a/keyboards/kbdfans/kbd75/rev1/info.json b/keyboards/kbdfans/kbd75/rev1/info.json index 142e53e3531a..499b9e9a43b6 100644 --- a/keyboards/kbdfans/kbd75/rev1/info.json +++ b/keyboards/kbdfans/kbd75/rev1/info.json @@ -1,116 +1,662 @@ { - "keyboard_name": "KBD75", - "url": "", - "maintainer": "qmk", - "layouts": { - "LAYOUT": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"1", "x":1, "y":1}, {"label":"2", "x":2, "y":1}, {"label":"3", "x":3, "y":1}, {"label":"4", "x":4, "y":1}, {"label":"5", "x":5, "y":1}, {"label":"6", "x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"label":"0", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":2.25}, {"x":6, "y":5}, {"x":7, "y":5, "w":3}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] + "keyboard_name": "KBD75 rev1", + "url": "", + "maintainer": "qmk", + "layout_aliases": { + "LAYOUT_ansi_1u": "LAYOUT_75_ansi" }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, - "LAYOUT_ansi_1u": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"1", "x":1, "y":1}, {"label":"2", "x":2, "y":1}, {"label":"3", "x":3, "y":1}, {"label":"4", "x":4, "y":1}, {"label":"5", "x":5, "y":1}, {"label":"6", "x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"label":"0", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"delete", "x":13, "y":1, "w":2}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] - }, + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1}, + {"label":"Backspace", "x":14, "y":1}, + {"label":"Home", "x":15, "y":1}, - "LAYOUT_iso_1u": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"1", "x":1, "y":1}, {"label":"2", "x":2, "y":1}, {"label":"3", "x":3, "y":1}, {"label":"4", "x":4, "y":1}, {"label":"5", "x":5, "y":1}, {"label":"6", "x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"label":"0", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"delete", "x":13, "y":1, "w":2}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"@", "x":11.75, "y":3}, {"label":"~", "x":12.75, "y":3}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] - }, + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, - "LAYOUT_ansi": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"1", "x":1, "y":1}, {"label":"2", "x":2, "y":1}, {"label":"3", "x":3, "y":1}, {"label":"4", "x":4, "y":1}, {"label":"5", "x":5, "y":1}, {"label":"6", "x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"label":"0", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"delete", "x":13, "y":1, "w":2}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] - }, + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, - "LAYOUT_iso": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"\u00ac", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"\"", "x":2, "y":1}, {"label":"\u00a3", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"@", "x":11.75, "y":3}, {"label":"~", "x":12.75, "y":3}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"label":"|", "x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"AltGr", "x":10, "y":5, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] - }, + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"|", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":2.25}, + {"label":"Space", "x":6, "y":5, "w":1.25}, + {"label":"Space", "x":7.25, "y":5, "w":2.75}, + {"label":"Alt", "x":10, "y":5}, + {"label":"Fn", "x":11, "y":5}, + {"label":"Ctrl", "x":12, "y":5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_75_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":2.25}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":6.25}, + {"label":"Alt", "x":10, "y":5}, + {"label":"Fn", "x":11, "y":5}, + {"label":"Ctrl", "x":12, "y":5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_75_iso": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Scroll Lock", "x":14, "y":0}, + {"label":"Pause", "x":15, "y":0}, + + {"label":"`", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"-", "x":11, "y":1}, + {"label":"=", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"[", "x":11.5, "y":2}, + {"label":"]", "x":12.5, "y":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":";", "x":10.75, "y":3}, + {"label":"'", "x":11.75, "y":3}, + {"label":"ISO #", "x":12.75, "y":3}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"ISO \\", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":",", "x":9.25, "y":4}, + {"label":".", "x":10.25, "y":4}, + {"label":"/", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"Up", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"GUI", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":6.25}, + {"label":"AltGr", "x":10, "y":5}, + {"label":"Fn", "x":11, "y":5}, + {"label":"Ctrl", "x":12, "y":5}, + {"label":"Left", "x":13, "y":5}, + {"label":"Down", "x":14, "y":5}, + {"label":"Right", "x":15, "y":5} + ] + }, + "LAYOUT_75_ansi_wkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":2.25}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.5}, + {"label":"Alt", "x":1.5, "y":5, "w":1.5}, + {"label":"Space", "x":3, "y":5, "w":7}, + {"label":"Alt", "x":10, "y":5, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_75_iso_wkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"\u00ac", "x":0, "y":1}, + {"label":"!", "x":1, "y":1}, + {"label":"\"", "x":2, "y":1}, + {"label":"\u00a3", "x":3, "y":1}, + {"label":"$", "x":4, "y":1}, + {"label":"%", "x":5, "y":1}, + {"label":"^", "x":6, "y":1}, + {"label":"&", "x":7, "y":1}, + {"label":"*", "x":8, "y":1}, + {"label":"(", "x":9, "y":1}, + {"label":")", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, + {"label":"Page Up", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"~", "x":12.75, "y":3}, + {"label":"Page Down", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"|", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.5}, + {"label":"Alt", "x":1.5, "y":5, "w":1.5}, + {"label":"Space", "x":3, "y":5, "w":7}, + {"label":"AltGr", "x":10, "y":5, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_75_ansi_rwkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":2.25}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":6.25}, + {"label":"Alt", "x":10, "y":5, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_75_iso_rwkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"\u00ac", "x":0, "y":1}, + {"label":"!", "x":1, "y":1}, + {"label":"\"", "x":2, "y":1}, + {"label":"\u00a3", "x":3, "y":1}, + {"label":"$", "x":4, "y":1}, + {"label":"%", "x":5, "y":1}, + {"label":"^", "x":6, "y":1}, + {"label":"&", "x":7, "y":1}, + {"label":"*", "x":8, "y":1}, + {"label":"(", "x":9, "y":1}, + {"label":")", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, + {"label":"Page Up", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"~", "x":12.75, "y":3}, + {"label":"Page Down", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"|", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, - "LAYOUT_75_iso": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":1, "y":0}, - {"label":"F2", "x":2, "y":0}, - {"label":"F3", "x":3, "y":0}, - {"label":"F4", "x":4, "y":0}, - {"label":"F5", "x":5, "y":0}, - {"label":"F6", "x":6, "y":0}, - {"label":"F7", "x":7, "y":0}, - {"label":"F8", "x":8, "y":0}, - {"label":"F9", "x":9, "y":0}, - {"label":"F10", "x":10, "y":0}, - {"label":"F11", "x":11, "y":0}, - {"label":"F12", "x":12, "y":0}, - {"label":"PrtSc", "x":13, "y":0}, - {"label":"Scroll Lock", "x":14, "y":0}, - {"label":"Pause", "x":15, "y":0}, - {"label":"`", "x":0, "y":1}, - {"label":"1", "x":1, "y":1}, - {"label":"2", "x":2, "y":1}, - {"label":"3", "x":3, "y":1}, - {"label":"4", "x":4, "y":1}, - {"label":"5", "x":5, "y":1}, - {"label":"6", "x":6, "y":1}, - {"label":"7", "x":7, "y":1}, - {"label":"8", "x":8, "y":1}, - {"label":"9", "x":9, "y":1}, - {"label":"0", "x":10, "y":1}, - {"label":"-", "x":11, "y":1}, - {"label":"=", "x":12, "y":1}, - {"label":"Backspace", "x":13, "y":1, "w":2}, - {"label":"Home", "x":15, "y":1}, - {"label":"Tab", "x":0, "y":2, "w":1.5}, - {"label":"Q", "x":1.5, "y":2}, - {"label":"W", "x":2.5, "y":2}, - {"label":"E", "x":3.5, "y":2}, - {"label":"R", "x":4.5, "y":2}, - {"label":"T", "x":5.5, "y":2}, - {"label":"Y", "x":6.5, "y":2}, - {"label":"U", "x":7.5, "y":2}, - {"label":"I", "x":8.5, "y":2}, - {"label":"O", "x":9.5, "y":2}, - {"label":"P", "x":10.5, "y":2}, - {"label":"[", "x":11.5, "y":2}, - {"label":"]", "x":12.5, "y":2}, - {"label":"PgUp", "x":15, "y":2}, - {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, - {"label":"A", "x":1.75, "y":3}, - {"label":"S", "x":2.75, "y":3}, - {"label":"D", "x":3.75, "y":3}, - {"label":"F", "x":4.75, "y":3}, - {"label":"G", "x":5.75, "y":3}, - {"label":"H", "x":6.75, "y":3}, - {"label":"J", "x":7.75, "y":3}, - {"label":"K", "x":8.75, "y":3}, - {"label":"L", "x":9.75, "y":3}, - {"label":";", "x":10.75, "y":3}, - {"label":"'", "x":11.75, "y":3}, - {"label":"ISO #", "x":12.75, "y":3}, - {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, - {"label":"PgDn", "x":15, "y":3}, - {"label":"Shift", "x":0, "y":4, "w":1.25}, - {"label":"ISO \\", "x":1.25, "y":4}, - {"label":"Z", "x":2.25, "y":4}, - {"label":"X", "x":3.25, "y":4}, - {"label":"C", "x":4.25, "y":4}, - {"label":"V", "x":5.25, "y":4}, - {"label":"B", "x":6.25, "y":4}, - {"label":"N", "x":7.25, "y":4}, - {"label":"M", "x":8.25, "y":4}, - {"label":",", "x":9.25, "y":4}, - {"label":".", "x":10.25, "y":4}, - {"label":"/", "x":11.25, "y":4}, - {"label":"Shift", "x":12.25, "y":4, "w":1.75}, - {"label":"Up", "x":14, "y":4}, - {"label":"End", "x":15, "y":4}, - {"label":"Ctrl", "x":0, "y":5, "w":1.25}, - {"label":"GUI", "x":1.25, "y":5, "w":1.25}, - {"label":"Alt", "x":2.5, "y":5, "w":1.25}, - {"label":"Space", "x":3.75, "y":5, "w":6.25}, - {"label":"AltGr", "x":10, "y":5}, - {"label":"Fn", "x":11, "y":5}, - {"label":"Ctrl", "x":12, "y":5}, - {"label":"Left", "x":13, "y":5}, - {"label":"Down", "x":14, "y":5}, - {"label":"Right", "x":15, "y":5} - ] + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":6.25}, + {"label":"AltGr", "x":10, "y":5, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + } } - } } diff --git a/keyboards/kbdfans/kbd75/rev1/rev1.c b/keyboards/kbdfans/kbd75/rev1/rev1.c index 520a869e57ba..e7ba9f37224f 100644 --- a/keyboards/kbdfans/kbd75/rev1/rev1.c +++ b/keyboards/kbdfans/kbd75/rev1/rev1.c @@ -1 +1,4 @@ +// Copyright 2019-2020 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include "rev1.h" diff --git a/keyboards/kbdfans/kbd75/rev1/rev1.h b/keyboards/kbdfans/kbd75/rev1/rev1.h index 196d1d8e147b..ac7b38ed02ee 100644 --- a/keyboards/kbdfans/kbd75/rev1/rev1.h +++ b/keyboards/kbdfans/kbd75/rev1/rev1.h @@ -1,131 +1,165 @@ +// Copyright 2018-2021 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #include "kbd75.h" -/* LAYOUT - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ - * │1.5U │ │ │ │ │ │ │ │ │ │ │ │ │1.5U │ │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ - * │1.75U │ │ │ │ │ │ │ │ │ │ │ │2.25U │ │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ - * │2.25U │ │ │ │ │ │ │ │ │ │ │1.75U │ │ │ - * ├────┬───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ - * │1.25│1.25│1.25│2.25U │1.25│2.75U │ │ │ │ │ │ │ - * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘ +#define ___ KC_NO + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │1E │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ + * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐3D │ ISO Enter + * LShift │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3F │ │2E │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ ┌─┴───┴────┤ + * │40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D │4E │4F │ │4D │ 2.75u RShift + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ └──────────┘ + * │50 │51 │53 │54 │56 │58 │5A │5B │5C │5D │5E │5F │ + * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘ + * ┌────┬────┬────┬────────────────────────┬───┬───┬───┐ + * │50 │51 │53 │56 │5A │5B │5C │ Standard Spacebar + * └────┴────┴────┴────────────────────────┴───┴───┴───┘ + * ┌────┬────┬────┬────────────────────────┬─────┬─────┐ + * │50 │51 │53 │56 │5A │5C │ Right-Side Winkeyless + * └────┴────┴────┴────────────────────────┴─────┴─────┘ + * ┌─────┬─────┬───────────────────────────┬─────┬─────┐ + * │50 │51 │56 │5A │5C │ Winkeyless + * └─────┴─────┴───────────────────────────┴─────┴─────┘ */ // LAYOUT for all possible switch positions on a KBD75 rev 1 #define LAYOUT( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K504, K506, K508, K510, K511, K512, K513, K514, K515 \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K54, K56, K58, K5A, K5B, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, K504, KC_NO, K506, KC_NO, K508, KC_NO, K510, K511, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, K54, ___, K56, ___, K58, ___, K5A, K5B, K5C, K5D, K5E, K5F } \ } -/* 1U bottom row ─────────────────────────── ↓ ─ ↓ ─ ↓ +/* Standard bottom row * ┌────┬────┬────┬────────────────────────┬───┬───┬───┬───┬───┬───┐ * │1.25│1.25│1.25│6.25U │1U │1U │1U │1U │1U │1U │ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ */ -#define LAYOUT_ansi_1u( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ - K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \ +#define LAYOUT_75_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K56, K5A, K5B, K5C, K5D, K5E, K5F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F } \ +} + +#define LAYOUT_75_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2E, K3D, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K56, K5A, K5B, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F } \ } -#define LAYOUT_75_ansi LAYOUT_ansi_1u +/* Full Winkeyless (WKL) + * ┌─────┬─────┬───────────────────────────┬─────┬─────┬───┬───┬───┐ + * │1.5 │1.5 │7U │1.5U │1.5U │1U │1U │1U │ + * └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┴───┘ + */ -#define LAYOUT_iso_1u( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K313, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214, K315, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \ +#define LAYOUT_75_ansi_wkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K56, K5A, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \ } -#define LAYOUT_75_iso( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214, K313, K315, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \ +#define LAYOUT_75_iso_wkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2E, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K56, K5A, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \ } -/* normal bottom row ──────────────────────── ↓ ─── ↓ +/* Right-Side Winkeyless (RWKL) * ┌────┬────┬────┬────────────────────────┬─────┬─────┬───┬───┬───┐ * │1.25│1.25│1.25│6.25U │1.5U │1.5U │1U │1U │1U │ * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ */ -#define LAYOUT_ansi( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ - K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K512, K513, K514, K515 \ +#define LAYOUT_75_ansi_rwkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K56, K5A, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, KC_NO, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \ } -#define LAYOUT_iso( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K313, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214, K315, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K512, K513, K514, K515 \ +#define LAYOUT_75_iso_rwkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2E, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K56, K5A, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, KC_NO, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \ } diff --git a/keyboards/kbdfans/kbd75/rev1/rules.mk b/keyboards/kbdfans/kbd75/rev1/rules.mk index e5d5d2c9a2c5..8bd068589c9e 100644 --- a/keyboards/kbdfans/kbd75/rev1/rules.mk +++ b/keyboards/kbdfans/kbd75/rev1/rules.mk @@ -8,13 +8,13 @@ BOOTLOADER = atmel-dfu # change yes to no to disable # BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output LAYOUTS = 75_ansi 75_iso diff --git a/keyboards/kbdfans/kbd75/rev2/config.h b/keyboards/kbdfans/kbd75/rev2/config.h index a6b9e3eb1624..c65ac4867707 100644 --- a/keyboards/kbdfans/kbd75/rev2/config.h +++ b/keyboards/kbdfans/kbd75/rev2/config.h @@ -1,3 +1,6 @@ +// Copyright 2020 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #define PRODUCT_ID 0x6061 diff --git a/keyboards/kbdfans/kbd75/rev2/info.json b/keyboards/kbdfans/kbd75/rev2/info.json index 63c71717903a..8518527eed33 100644 --- a/keyboards/kbdfans/kbd75/rev2/info.json +++ b/keyboards/kbdfans/kbd75/rev2/info.json @@ -1,120 +1,760 @@ { - "keyboard_name": "KBD75", - "url": "", - "maintainer": "qmk", - "layouts": { - "LAYOUT": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"1", "x":1, "y":1}, {"label":"2", "x":2, "y":1}, {"label":"3", "x":3, "y":1}, {"label":"4", "x":4, "y":1}, {"label":"5", "x":5, "y":1}, {"label":"6", "x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"label":"0", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":2.25}, {"x":6, "y":5}, {"x":7, "y":5, "w":3}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] + "keyboard_name": "KBD75 rev2", + "url": "", + "maintainer": "qmk", + "layout_aliases": { + "LAYOUT_ansi_1u": "LAYOUT_75_ansi" }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, - "LAYOUT_ansi_1u": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"1", "x":1, "y":1}, {"label":"2", "x":2, "y":1}, {"label":"3", "x":3, "y":1}, {"label":"4", "x":4, "y":1}, {"label":"5", "x":5, "y":1}, {"label":"6", "x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"label":"0", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"delete", "x":13, "y":1, "w":2}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] - }, + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1}, + {"label":"Backspace", "x":14, "y":1}, + {"label":"Home", "x":15, "y":1}, - "LAYOUT_iso_1u": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"1", "x":1, "y":1}, {"label":"2", "x":2, "y":1}, {"label":"3", "x":3, "y":1}, {"label":"4", "x":4, "y":1}, {"label":"5", "x":5, "y":1}, {"label":"6", "x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"label":"0", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"delete", "x":13, "y":1, "w":2}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"@", "x":11.75, "y":3}, {"label":"~", "x":12.75, "y":3}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] - }, + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, - "LAYOUT_ansi": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"1", "x":1, "y":1}, {"label":"2", "x":2, "y":1}, {"label":"3", "x":3, "y":1}, {"label":"4", "x":4, "y":1}, {"label":"5", "x":5, "y":1}, {"label":"6", "x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"label":"0", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"delete", "x":13, "y":1, "w":2}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] - }, + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, - "LAYOUT_iso": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"\u00ac", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"\"", "x":2, "y":1}, {"label":"\u00a3", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"@", "x":11.75, "y":3}, {"label":"~", "x":12.75, "y":3}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"label":"|", "x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"AltGr", "x":10, "y":5, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] - }, + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"|", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, - "LAYOUT_numpad": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"label":"Home", "x":13, "y":1}, {"label":"_", "x":14, "y":1}, {"label":"+", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"|", "x":11.5, "y":2, "w":1.5}, {"label":"Page Up", "x":13, "y":2}, {"label":"{", "x":14, "y":2}, {"label":"}", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":"Enter", "x":10.75, "y":3, "w":2.25}, {"label":"Page Down", "x":13, "y":3}, {"label":":", "x":14, "y":3}, {"label":"\"", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"?", "x":9.25, "y":4}, {"label":"Shift", "x":10.25, "y":4, "w":1.75}, {"label":"\u2191", "x":12, "y":4}, {"label":"End", "x":13, "y":4}, {"label":"<", "x":14, "y":4}, {"label":">", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":1.25}, {"x":5, "y":5, "w":2.25}, {"x":7.25, "y":5, "w":1.75}, {"x":9, "y":5}, {"label":"Alt", "x":10, "y":5}, {"label":"\u2190", "x":11, "y":5}, {"label":"\u2193", "x":12, "y":5}, {"label":"\u2192", "x":13, "y":5}, {"label":"Fn", "x":14, "y":5}, {"label":"Ctrl", "x":15, "y":5}] - }, + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":2.25}, + {"label":"Space", "x":6, "y":5, "w":1.25}, + {"label":"Space", "x":7.25, "y":5, "w":2.75}, + {"label":"Alt", "x":10, "y":5}, + {"label":"Fn", "x":11, "y":5}, + {"label":"Ctrl", "x":12, "y":5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_75_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":2.25}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":6.25}, + {"label":"Alt", "x":10, "y":5}, + {"label":"Fn", "x":11, "y":5}, + {"label":"Ctrl", "x":12, "y":5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_75_iso": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Scroll Lock", "x":14, "y":0}, + {"label":"Pause", "x":15, "y":0}, + + {"label":"`", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"-", "x":11, "y":1}, + {"label":"=", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"[", "x":11.5, "y":2}, + {"label":"]", "x":12.5, "y":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":";", "x":10.75, "y":3}, + {"label":"'", "x":11.75, "y":3}, + {"label":"ISO #", "x":12.75, "y":3}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"ISO \\", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":", ", "x":9.25, "y":4}, + {"label":".", "x":10.25, "y":4}, + {"label":"/", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"Up", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"GUI", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":6.25}, + {"label":"AltGr", "x":10, "y":5}, + {"label":"Fn", "x":11, "y":5}, + {"label":"Ctrl", "x":12, "y":5}, + {"label":"Left", "x":13, "y":5}, + {"label":"Down", "x":14, "y":5}, + {"label":"Right", "x":15, "y":5} + ] + }, + "LAYOUT_75_ansi_wkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":2.25}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.5}, + {"label":"Alt", "x":1.5, "y":5, "w":1.5}, + {"label":"Space", "x":3, "y":5, "w":7}, + {"label":"Alt", "x":10, "y":5, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_75_iso_wkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"\u00ac", "x":0, "y":1}, + {"label":"!", "x":1, "y":1}, + {"label":"\"", "x":2, "y":1}, + {"label":"\u00a3", "x":3, "y":1}, + {"label":"$", "x":4, "y":1}, + {"label":"%", "x":5, "y":1}, + {"label":"^", "x":6, "y":1}, + {"label":"&", "x":7, "y":1}, + {"label":"*", "x":8, "y":1}, + {"label":"(", "x":9, "y":1}, + {"label":")", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, + {"label":"Page Up", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"~", "x":12.75, "y":3}, + {"label":"Page Down", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"|", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.5}, + {"label":"Alt", "x":1.5, "y":5, "w":1.5}, + {"label":"Space", "x":3, "y":5, "w":7}, + {"label":"AltGr", "x":10, "y":5, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_75_ansi_rwkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":2.25}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":6.25}, + {"label":"Alt", "x":10, "y":5, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_75_iso_rwkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"\u00ac", "x":0, "y":1}, + {"label":"!", "x":1, "y":1}, + {"label":"\"", "x":2, "y":1}, + {"label":"\u00a3", "x":3, "y":1}, + {"label":"$", "x":4, "y":1}, + {"label":"%", "x":5, "y":1}, + {"label":"^", "x":6, "y":1}, + {"label":"&", "x":7, "y":1}, + {"label":"*", "x":8, "y":1}, + {"label":"(", "x":9, "y":1}, + {"label":")", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, + {"label":"Page Up", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"~", "x":12.75, "y":3}, + {"label":"Page Down", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"|", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":6.25}, + {"label":"AltGr", "x":10, "y":5, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5} + ] + }, + "LAYOUT_numpad": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"~", "x":0, "y":1}, + {"label":"!", "x":1, "y":1}, + {"label":"@", "x":2, "y":1}, + {"label":"#", "x":3, "y":1}, + {"label":"$", "x":4, "y":1}, + {"label":"%", "x":5, "y":1}, + {"label":"^", "x":6, "y":1}, + {"label":"&", "x":7, "y":1}, + {"label":"*", "x":8, "y":1}, + {"label":"(", "x":9, "y":1}, + {"label":")", "x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"label":"Home", "x":13, "y":1}, + {"label":"_", "x":14, "y":1}, + {"label":"+", "x":15, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"|", "x":11.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":13, "y":2}, + {"label":"{", "x":14, "y":2}, + {"label":"}", "x":15, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":"Enter", "x":10.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":13, "y":3}, + {"label":":", "x":14, "y":3}, + {"label":"\"", "x":15, "y":3}, + + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"?", "x":9.25, "y":4}, + {"label":"Shift", "x":10.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":12, "y":4}, + {"label":"End", "x":13, "y":4}, + {"label":"<", "x":14, "y":4}, + {"label":">", "x":15, "y":4}, - "LAYOUT_75_iso": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":1, "y":0}, - {"label":"F2", "x":2, "y":0}, - {"label":"F3", "x":3, "y":0}, - {"label":"F4", "x":4, "y":0}, - {"label":"F5", "x":5, "y":0}, - {"label":"F6", "x":6, "y":0}, - {"label":"F7", "x":7, "y":0}, - {"label":"F8", "x":8, "y":0}, - {"label":"F9", "x":9, "y":0}, - {"label":"F10", "x":10, "y":0}, - {"label":"F11", "x":11, "y":0}, - {"label":"F12", "x":12, "y":0}, - {"label":"PrtSc", "x":13, "y":0}, - {"label":"Scroll Lock", "x":14, "y":0}, - {"label":"Pause", "x":15, "y":0}, - {"label":"`", "x":0, "y":1}, - {"label":"1", "x":1, "y":1}, - {"label":"2", "x":2, "y":1}, - {"label":"3", "x":3, "y":1}, - {"label":"4", "x":4, "y":1}, - {"label":"5", "x":5, "y":1}, - {"label":"6", "x":6, "y":1}, - {"label":"7", "x":7, "y":1}, - {"label":"8", "x":8, "y":1}, - {"label":"9", "x":9, "y":1}, - {"label":"0", "x":10, "y":1}, - {"label":"-", "x":11, "y":1}, - {"label":"=", "x":12, "y":1}, - {"label":"Backspace", "x":13, "y":1, "w":2}, - {"label":"Home", "x":15, "y":1}, - {"label":"Tab", "x":0, "y":2, "w":1.5}, - {"label":"Q", "x":1.5, "y":2}, - {"label":"W", "x":2.5, "y":2}, - {"label":"E", "x":3.5, "y":2}, - {"label":"R", "x":4.5, "y":2}, - {"label":"T", "x":5.5, "y":2}, - {"label":"Y", "x":6.5, "y":2}, - {"label":"U", "x":7.5, "y":2}, - {"label":"I", "x":8.5, "y":2}, - {"label":"O", "x":9.5, "y":2}, - {"label":"P", "x":10.5, "y":2}, - {"label":"[", "x":11.5, "y":2}, - {"label":"]", "x":12.5, "y":2}, - {"label":"PgUp", "x":15, "y":2}, - {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, - {"label":"A", "x":1.75, "y":3}, - {"label":"S", "x":2.75, "y":3}, - {"label":"D", "x":3.75, "y":3}, - {"label":"F", "x":4.75, "y":3}, - {"label":"G", "x":5.75, "y":3}, - {"label":"H", "x":6.75, "y":3}, - {"label":"J", "x":7.75, "y":3}, - {"label":"K", "x":8.75, "y":3}, - {"label":"L", "x":9.75, "y":3}, - {"label":";", "x":10.75, "y":3}, - {"label":"'", "x":11.75, "y":3}, - {"label":"ISO #", "x":12.75, "y":3}, - {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, - {"label":"PgDn", "x":15, "y":3}, - {"label":"Shift", "x":0, "y":4, "w":1.25}, - {"label":"ISO \\", "x":1.25, "y":4}, - {"label":"Z", "x":2.25, "y":4}, - {"label":"X", "x":3.25, "y":4}, - {"label":"C", "x":4.25, "y":4}, - {"label":"V", "x":5.25, "y":4}, - {"label":"B", "x":6.25, "y":4}, - {"label":"N", "x":7.25, "y":4}, - {"label":"M", "x":8.25, "y":4}, - {"label":",", "x":9.25, "y":4}, - {"label":".", "x":10.25, "y":4}, - {"label":"/", "x":11.25, "y":4}, - {"label":"Shift", "x":12.25, "y":4, "w":1.75}, - {"label":"Up", "x":14, "y":4}, - {"label":"End", "x":15, "y":4}, - {"label":"Ctrl", "x":0, "y":5, "w":1.25}, - {"label":"GUI", "x":1.25, "y":5, "w":1.25}, - {"label":"Alt", "x":2.5, "y":5, "w":1.25}, - {"label":"Space", "x":3.75, "y":5, "w":6.25}, - {"label":"AltGr", "x":10, "y":5}, - {"label":"Fn", "x":11, "y":5}, - {"label":"Ctrl", "x":12, "y":5}, - {"label":"Left", "x":13, "y":5}, - {"label":"Down", "x":14, "y":5}, - {"label":"Right", "x":15, "y":5} - ] + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"x":3.75, "y":5, "w":1.25}, + {"x":5, "y":5, "w":2.25}, + {"x":7.25, "y":5, "w":1.75}, + {"x":9, "y":5}, + {"label":"Alt", "x":10, "y":5}, + {"label":"\u2190", "x":11, "y":5}, + {"label":"\u2193", "x":12, "y":5}, + {"label":"\u2192", "x":13, "y":5}, + {"label":"Fn", "x":14, "y":5}, + {"label":"Ctrl", "x":15, "y":5} + ] + } } - } } diff --git a/keyboards/kbdfans/kbd75/rev2/rev2.c b/keyboards/kbdfans/kbd75/rev2/rev2.c index b1af81707d29..352d83743723 100644 --- a/keyboards/kbdfans/kbd75/rev2/rev2.c +++ b/keyboards/kbdfans/kbd75/rev2/rev2.c @@ -1 +1,4 @@ +// Copyright 2019-2020 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include "rev2.h" diff --git a/keyboards/kbdfans/kbd75/rev2/rev2.h b/keyboards/kbdfans/kbd75/rev2/rev2.h index 77392cbd2414..f37be4009453 100644 --- a/keyboards/kbdfans/kbd75/rev2/rev2.h +++ b/keyboards/kbdfans/kbd75/rev2/rev2.h @@ -1,148 +1,204 @@ +// Copyright 2018-2021 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #include "kbd75.h" -/* LAYOUT - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ - * │1.5U │ │ │ │ │ │ │ │ │ │ │ │ │1.5U │ │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ - * │1.75U │ │ │ │ │ │ │ │ │ │ │ │2.25U │ │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ - * │2.25U │ │ │ │ │ │ │ │ │ │ │1.75U │ │ │ - * ├────┬───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ - * │1.25│1.25│1.25│2.25U │1.25│2.75U │ │ │ │ │ │ │ - * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘ +#define ___ KC_NO + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │1E │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ + * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐3D │ ISO Enter + * LShift │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3F │ │2E │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ ┌─┴───┴────┤ + * │40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D │4E │4F │ │4D │ 2.75u RShift + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ └──────────┘ + * │50 │51 │53 │54 │56 │58 │5A │5B │5C │5D │5E │5F │ + * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘ + * ┌────┬────┬────┬────────────────────────┬───┬───┬───┐ + * │50 │51 │53 │56 │5A │5B │5C │ Standard Spacebar + * └────┴────┴────┴────────────────────────┴───┴───┴───┘ + * ┌────┬────┬────┬────────────────────────┬─────┬─────┐ + * │50 │51 │53 │56 │5A │5C │ Right-Side Winkeyless + * └────┴────┴────┴────────────────────────┴─────┴─────┘ + * ┌─────┬─────┬───────────────────────────┬─────┬─────┐ + * │50 │51 │56 │5A │5C │ Winkeyless + * └─────┴─────┴───────────────────────────┴─────┴─────┘ */ // LAYOUT for all possible switch positions on a KBD75 rev 2 #define LAYOUT( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K504, K506, K508, K510, K511, K512, K513, K514, K515 \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K54, K56, K58, K5A, K5B, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, K504, KC_NO, K506, KC_NO, K508, KC_NO, K510, K511, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, K54, ___, K56, ___, K58, ___, K5A, K5B, K5C, K5D, K5E, K5F } \ } -/* 1U bottom row ─────────────────────────── ↓ ─ ↓ ─ ↓ +/* Standard bottom row * ┌────┬────┬────┬────────────────────────┬───┬───┬───┬───┬───┬───┐ * │1.25│1.25│1.25│6.25U │1U │1U │1U │1U │1U │1U │ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ */ -#define LAYOUT_ansi_1u( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ - K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \ +#define LAYOUT_75_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K56, K5A, K5B, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F } \ } -#define LAYOUT_75_ansi LAYOUT_ansi_1u +#define LAYOUT_75_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2E, K3D, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K56, K5A, K5B, K5C, K5D, K5E, K5F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F } \ +} -#define LAYOUT_iso_1u( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K313, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214, K315, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \ +/* Full Winkeyless (WKL) + * ┌─────┬─────┬───────────────────────────┬─────┬─────┬───┬───┬───┐ + * │1.5 │1.5 │7U │1.5U │1.5U │1U │1U │1U │ + * └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_75_ansi_wkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K56, K5A, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \ } -#define LAYOUT_75_iso( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214, K313, K315, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \ +#define LAYOUT_75_iso_wkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2E, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K56, K5A, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \ } -/* normal bottom row ──────────────────────── ↓ ─── ↓ +/* Right-Side Winkeyless (RWKL) * ┌────┬────┬────┬────────────────────────┬─────┬─────┬───┬───┬───┐ * │1.25│1.25│1.25│6.25U │1.5U │1.5U │1U │1U │1U │ * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ */ -#define LAYOUT_ansi( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ - K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K512, K513, K514, K515 \ +#define LAYOUT_75_ansi_rwkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K56, K5A, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, KC_NO, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \ } -#define LAYOUT_iso( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K313, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214, K315, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K512, K513, K514, K515 \ +#define LAYOUT_75_iso_rwkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2E, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K56, K5A, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, KC_NO, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \ } + +/* The KBD75 rev1 and rev2 PCBs have the same matrix, but only the rev2 + * supports the numpad layout. I own a rev1, so I don't know what the numpad + * layout's matrix is entirely. + * + * - @noroadsleft + * + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │?? │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┤ └─┬─────┤ + * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤ ┌──┴┐?? │ ISO Enter + * LShift │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3F │ │?? │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┤ └───┴────┘ + * │40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D │4E │4F │ + * └────────┘ ├────┼───┴┬──┴─┬─┴──┬┴───┴───┼───┴──┬┴──┬┴──┬───┼───┼───┼───┼───┤ + * │50 │51 │53 │54 │56 │58 │59 │5A │5B │5C │5D │5E │5F │ + * └────┴────┴────┴────┴────────┴──────┴───┴───┴───┴───┴───┴───┴───┘ + */ + // LAYOUT for all possible switch positions on a KBD75 rev 2 #define LAYOUT_numpad( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K504, K506, K508, K509, K510, K511, K512, K513, K514, K515 \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K54, K56, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, K504, KC_NO, K506, KC_NO, K508, K509, K510, K511, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, K54, ___, K56, ___, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F } \ } diff --git a/keyboards/kbdfans/kbd75/rev2/rules.mk b/keyboards/kbdfans/kbd75/rev2/rules.mk index e5d5d2c9a2c5..8bd068589c9e 100644 --- a/keyboards/kbdfans/kbd75/rev2/rules.mk +++ b/keyboards/kbdfans/kbd75/rev2/rules.mk @@ -8,13 +8,13 @@ BOOTLOADER = atmel-dfu # change yes to no to disable # BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output LAYOUTS = 75_ansi 75_iso From ba599270189242a728a230e7879b9c189a22053f Mon Sep 17 00:00:00 2001 From: Daniel Osipishin <88534270+subrezon@users.noreply.github.com> Date: Thu, 12 May 2022 00:39:08 +0200 Subject: [PATCH 0648/1832] [Keyboard] Add subrezon/la_nc keyboard (#16833) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Daniel Osipishin --- keyboards/subrezon/info.json | 4 ++ keyboards/subrezon/la_nc/config.h | 33 ++++++++++ keyboards/subrezon/la_nc/info.json | 52 +++++++++++++++ .../subrezon/la_nc/keymaps/default/keymap.c | 63 +++++++++++++++++++ .../subrezon/la_nc/keymaps/default/rules.mk | 3 + keyboards/subrezon/la_nc/la_nc.c | 45 +++++++++++++ keyboards/subrezon/la_nc/la_nc.h | 6 ++ keyboards/subrezon/la_nc/readme.md | 27 ++++++++ keyboards/subrezon/la_nc/rules.mk | 18 ++++++ 9 files changed, 251 insertions(+) create mode 100644 keyboards/subrezon/info.json create mode 100644 keyboards/subrezon/la_nc/config.h create mode 100644 keyboards/subrezon/la_nc/info.json create mode 100644 keyboards/subrezon/la_nc/keymaps/default/keymap.c create mode 100644 keyboards/subrezon/la_nc/keymaps/default/rules.mk create mode 100644 keyboards/subrezon/la_nc/la_nc.c create mode 100644 keyboards/subrezon/la_nc/la_nc.h create mode 100644 keyboards/subrezon/la_nc/readme.md create mode 100644 keyboards/subrezon/la_nc/rules.mk diff --git a/keyboards/subrezon/info.json b/keyboards/subrezon/info.json new file mode 100644 index 000000000000..faad074acb1a --- /dev/null +++ b/keyboards/subrezon/info.json @@ -0,0 +1,4 @@ +{ + "manufacturer": "subrezon", + "maintainer": "subrezon" +} \ No newline at end of file diff --git a/keyboards/subrezon/la_nc/config.h b/keyboards/subrezon/la_nc/config.h new file mode 100644 index 000000000000..6d5aad031afc --- /dev/null +++ b/keyboards/subrezon/la_nc/config.h @@ -0,0 +1,33 @@ +// Copyright 2022 Daniel Osipishin (@subrezon) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +// USB device parameters +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x1A7C +#define DEVICE_VER 0x0100 + +// key matrix +#define MATRIX_ROWS 6 +#define MATRIX_ROW_PINS {D3, F4, D2, B2, B5, B6} + +#define MATRIX_COLS 10 +#define MATRIX_COL_PINS {B3, B1, F7, F6, F5, D4, C6, D7, E6, B4} + +#define UNUSED_PINS +#define DIODE_DIRECTION COL2ROW +#define DEBOUNCE 5 + +// Bootmagic Lite +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +// uncomment to reduce firmware size +//#define NO_DEBUG +//#define NO_PRINT +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/subrezon/la_nc/info.json b/keyboards/subrezon/la_nc/info.json new file mode 100644 index 000000000000..d668d94b4b54 --- /dev/null +++ b/keyboards/subrezon/la_nc/info.json @@ -0,0 +1,52 @@ +{ + "keyboard_name": "la_nc", + "url": "https://github.com/subrezon/la_nc", + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Q", "matrix": [0, 0], "x": 0, "y": 0}, + { "label": "W", "matrix": [0, 1], "x": 1, "y": 0}, + { "label": "E", "matrix": [0, 2], "x": 2, "y": 0}, + { "label": "R", "matrix": [0, 3], "x": 3, "y": 0}, + { "label": "T", "matrix": [0, 4], "x": 4, "y": 0}, + { "label": "Y", "matrix": [0, 5], "x": 7, "y": 0}, + { "label": "U", "matrix": [0, 6], "x": 8, "y": 0}, + { "label": "I", "matrix": [0, 7], "x": 9, "y": 0}, + { "label": "O", "matrix": [0, 8], "x": 10, "y": 0}, + { "label": "P", "matrix": [0, 9], "x": 11, "y": 0}, + { "label": "A", "matrix": [1, 0], "x": 0, "y": 1}, + { "label": "S", "matrix": [1, 1], "x": 1, "y": 1}, + { "label": "D", "matrix": [1, 2], "x": 2, "y": 1}, + { "label": "F", "matrix": [1, 3], "x": 3, "y": 1}, + { "label": "G", "matrix": [1, 4], "x": 4, "y": 1}, + { "label": "H", "matrix": [2, 5], "x": 7, "y": 1}, + { "label": "J", "matrix": [2, 6], "x": 8, "y": 1}, + { "label": "K", "matrix": [2, 7], "x": 9, "y": 1}, + { "label": "L", "matrix": [2, 8], "x": 10, "y": 1}, + { "label": ";", "matrix": [2, 9], "x": 11, "y": 1}, + { "label": "Z", "matrix": [3, 0], "x": 0, "y": 2}, + { "label": "X", "matrix": [3, 1], "x": 1, "y": 2}, + { "label": "C", "matrix": [3, 2], "x": 2, "y": 2}, + { "label": "V", "matrix": [3, 3], "x": 3, "y": 2}, + { "label": "B", "matrix": [3, 4], "x": 4, "y": 2}, + { "label": "N", "matrix": [4, 5], "x": 7, "y": 2}, + { "label": "M", "matrix": [4, 6], "x": 8, "y": 2}, + { "label": ",", "matrix": [4, 7], "x": 9, "y": 2}, + { "label": ".", "matrix": [4, 8], "x": 10, "y": 2}, + { "label": "/", "matrix": [4, 9], "x": 11, "y": 2}, + { "label": "Tab", "matrix": [5, 0], "x": 0, "y": 3}, + { "label": "Alt", "matrix": [5, 1], "x": 1, "y": 3}, + { "label": "Ctrl", "matrix": [5, 2], "x": 2, "y": 3}, + { "label": "Raise", "matrix": [5, 3], "x": 3, "y": 3}, + { "label": "", "matrix": [5, 4], "x": 4, "y": 3}, + { "label": "Esc", "matrix": [3, 5], "x": 5, "y": 3}, + { "label": "GUI", "matrix": [4, 4], "x": 6, "y": 3}, + { "label": "Bksp", "matrix": [5, 5], "x": 7, "y": 3}, + { "label": "Shift", "matrix": [5, 6], "x": 8, "y": 3}, + { "label": "Lower", "matrix": [5, 7], "x": 9, "y": 3}, + { "label": "Delete","matrix": [5, 8], "x": 10, "y": 3}, + { "label": "Enter", "matrix": [5, 9], "x": 11, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/subrezon/la_nc/keymaps/default/keymap.c b/keyboards/subrezon/la_nc/keymaps/default/keymap.c new file mode 100644 index 000000000000..430a99c510ff --- /dev/null +++ b/keyboards/subrezon/la_nc/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +// Copyright 2022 Daniel Osipishin (@subrezon) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_id { + _QWE = 0, + _NUM, + _SYM, + _OPT +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWE] = LAYOUT( + //.--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------. + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_COMM, KC_SLSH, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + KC_TAB, KC_LALT, KC_LCTL,MO(_NUM), KC_SPC, KC_ESC, KC_LGUI, KC_BSPC, KC_LSFT,MO(_SYM), KC_DEL, KC_ENT + //'--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------' + ), + + [_NUM] = LAYOUT( + //.--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------. + KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, KC_F12, KC_F7, KC_F8, KC_F9, KC_BSLS, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_MINS, KC_4, KC_5, KC_6, KC_0, KC_F11, KC_F4, KC_F5, KC_F6, KC_CAPS, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_GRV, KC_1, KC_2, KC_3, KC_EQL, KC_F10, KC_F1, KC_F2, KC_F3, KC_QUOT, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + KC_TAB, KC_LALT, KC_LCTL, _______, KC_SPC, KC_ESC, KC_LGUI, KC_BSPC, KC_LSFT,MO(_OPT), KC_DEL, KC_ENT + //'--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------' + ), + + [_SYM] = LAYOUT( + //.--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------. + KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_MPRV, KC_PGUP, KC_UP, KC_PGDN, KC_PIPE, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_UNDS, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN, KC_MPLY, KC_LEFT, KC_DOWN, KC_RGHT, KC_LSFT, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PLUS, KC_MNXT, KC_HOME, KC_INS, KC_END, KC_DQUO, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + KC_TAB, KC_LALT, KC_LCTL,MO(_OPT), KC_SPC, KC_ESC, KC_LGUI, KC_BSPC, KC_LSFT, _______, KC_DEL, KC_ENT + //'--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------' + ), + + [_OPT] = LAYOUT( + //.--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------. + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX + //'--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------' + ), + +}; diff --git a/keyboards/subrezon/la_nc/keymaps/default/rules.mk b/keyboards/subrezon/la_nc/keymaps/default/rules.mk new file mode 100644 index 000000000000..b7c57d87b9ed --- /dev/null +++ b/keyboards/subrezon/la_nc/keymaps/default/rules.mk @@ -0,0 +1,3 @@ +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +LTO_ENABLE = yes diff --git a/keyboards/subrezon/la_nc/la_nc.c b/keyboards/subrezon/la_nc/la_nc.c new file mode 100644 index 000000000000..44f1f5afc137 --- /dev/null +++ b/keyboards/subrezon/la_nc/la_nc.c @@ -0,0 +1,45 @@ +// Copyright 2022 Daniel Osipishin (@subrezon) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "la_nc.h" + +#ifdef OLED_ENABLE + +enum layer_id { + _QWE = 0, + _NUM, + _SYM, + _OPT +}; + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + oled_write_P(PSTR("Layer:\n"), false); + + switch (get_highest_layer(layer_state)) { + case _QWE : + oled_write_P(PSTR("QWERTY\n"), false); + break; + + case _NUM : + oled_write_P(PSTR("Numbers\n"), false); + break; + + case _SYM : + oled_write_P(PSTR("Symbols\n"), false); + break; + + case _OPT : + oled_write_P(PSTR("Options\n"), false); + break; + + default : + oled_write_P(PSTR("Undefined\n"), false); + } + + return false; +}; + +#endif diff --git a/keyboards/subrezon/la_nc/la_nc.h b/keyboards/subrezon/la_nc/la_nc.h new file mode 100644 index 000000000000..039fc487da53 --- /dev/null +++ b/keyboards/subrezon/la_nc/la_nc.h @@ -0,0 +1,6 @@ +// Copyright 2022 Daniel Osipishin (@subrezon) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" \ No newline at end of file diff --git a/keyboards/subrezon/la_nc/readme.md b/keyboards/subrezon/la_nc/readme.md new file mode 100644 index 000000000000..26a7b4d79a28 --- /dev/null +++ b/keyboards/subrezon/la_nc/readme.md @@ -0,0 +1,27 @@ +# subrezon/la_nc + +![subrezon/la_nc](https://i.imgur.com/xYDcTtsh.jpg) + +Loosely based on the Planck keyboard, la_nc aims to deliver a lightly split, ortho typing experience in a similar footprint, as well as an easy build process. + +* Keyboard Maintainer: [Daniel Osipishin](https://github.com/subrezon) +* Hardware Supported: la_nc PCB, with an atmega32u4-based ProMicro compatible controller board +* Hardware Availability: https://github.com/subrezon/la_nc + +Make example for this keyboard (after setting up your build environment): + + make subrezon/la_nc:default + +Flashing example for this keyboard: + + make subrezon/la_nc:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/subrezon/la_nc/rules.mk b/keyboards/subrezon/la_nc/rules.mk new file mode 100644 index 000000000000..a74aa4dbc19f --- /dev/null +++ b/keyboards/subrezon/la_nc/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From df9c266f45c947a2ae71f213096ef0d832f3e336 Mon Sep 17 00:00:00 2001 From: Minke Zhang Date: Wed, 11 May 2022 16:09:14 -0700 Subject: [PATCH 0649/1832] [Keyboard] Update YMDK Split 64 config (#16979) Co-authored-by: Joel Challis Co-authored-by: Ryan --- keyboards/ymdk/sp64/config.h | 5 +++++ keyboards/ymdk/sp64/rules.mk | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/keyboards/ymdk/sp64/config.h b/keyboards/ymdk/sp64/config.h index 38880d1a850e..f7b34575af32 100644 --- a/keyboards/ymdk/sp64/config.h +++ b/keyboards/ymdk/sp64/config.h @@ -30,6 +30,11 @@ along with this program. If not, see . #define RIGHT_HALF +/* LED indicator lights */ +#define LED_CAPS_LOCK_PIN D1 +#define LED_NUM_LOCK_PIN D0 +#define LED_SCROLL_LOCK_PIN D6 + /* RGB underglow */ #define RGBLED_NUM 12 #define RGBLIGHT_HUE_STEP 8 diff --git a/keyboards/ymdk/sp64/rules.mk b/keyboards/ymdk/sp64/rules.mk index 7d52d7ca7873..3dfe95cc0f47 100644 --- a/keyboards/ymdk/sp64/rules.mk +++ b/keyboards/ymdk/sp64/rules.mk @@ -10,16 +10,17 @@ BOOTLOADER = bootloadhid BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover -#BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -AUDIO_ENABLE = no # There is no speaker on this PCB +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +AUDIO_ENABLE = no # Audio output +AUDIO_SUPPORTED = no RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow CUSTOM_MATRIX = yes # Needed for underglow WS2812_DRIVER = i2c -SRC += matrix.c +SRC += matrix.c QUANTUM_LIB_SRC += i2c_master.c From ddba52325cee971c83aeb030536340f79db37204 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Thu, 12 May 2022 00:37:43 +0100 Subject: [PATCH 0650/1832] [Keyboard] Yakiimo PCB (#16984) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: 4pplet <4pplet@protonmail.com> Co-authored-by: 4pplet --- keyboards/4pplet/yakiimo/info.json | 10 ++++ .../4pplet/yakiimo/keymaps/default/keymap.c | 36 +++++++++++++ keyboards/4pplet/yakiimo/keymaps/via/keymap.c | 53 +++++++++++++++++++ keyboards/4pplet/yakiimo/keymaps/via/rules.mk | 1 + keyboards/4pplet/yakiimo/readme.md | 17 ++++++ keyboards/4pplet/yakiimo/rev_a/config.h | 44 +++++++++++++++ keyboards/4pplet/yakiimo/rev_a/mcuconf.h | 37 +++++++++++++ keyboards/4pplet/yakiimo/rev_a/readme.md | 19 +++++++ keyboards/4pplet/yakiimo/rev_a/rev_a.c | 17 ++++++ keyboards/4pplet/yakiimo/rev_a/rev_a.h | 42 +++++++++++++++ keyboards/4pplet/yakiimo/rev_a/rules.mk | 21 ++++++++ 11 files changed, 297 insertions(+) create mode 100644 keyboards/4pplet/yakiimo/info.json create mode 100644 keyboards/4pplet/yakiimo/keymaps/default/keymap.c create mode 100644 keyboards/4pplet/yakiimo/keymaps/via/keymap.c create mode 100644 keyboards/4pplet/yakiimo/keymaps/via/rules.mk create mode 100644 keyboards/4pplet/yakiimo/readme.md create mode 100644 keyboards/4pplet/yakiimo/rev_a/config.h create mode 100644 keyboards/4pplet/yakiimo/rev_a/mcuconf.h create mode 100644 keyboards/4pplet/yakiimo/rev_a/readme.md create mode 100644 keyboards/4pplet/yakiimo/rev_a/rev_a.c create mode 100644 keyboards/4pplet/yakiimo/rev_a/rev_a.h create mode 100644 keyboards/4pplet/yakiimo/rev_a/rules.mk diff --git a/keyboards/4pplet/yakiimo/info.json b/keyboards/4pplet/yakiimo/info.json new file mode 100644 index 000000000000..aa3dcb429b3d --- /dev/null +++ b/keyboards/4pplet/yakiimo/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "Yakiimo Rev A", + "url": "https://github.com/4pplet/yakiimo-PCB", + "maintainer": "4pplet", + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"Esc", "x":2.75, "y":0}, {"label":"F1", "x":4.75, "y":0}, {"label":"F2", "x":5.75, "y":0}, {"label":"F3", "x":6.75, "y":0}, {"label":"F4", "x":7.75, "y":0}, {"label":"F5", "x":9.25, "y":0}, {"label":"F6", "x":10.25, "y":0}, {"label":"F7", "x":11.25, "y":0}, {"label":"F8", "x":12.25, "y":0}, {"label":"F9", "x":13.75, "y":0}, {"label":"F10", "x":14.75, "y":0}, {"label":"F11", "x":15.75, "y":0}, {"label":"F12", "x":16.75, "y":0}, {"label":"PrtSc", "x":18, "y":0}, {"label":"Scroll Lock", "x":19, "y":0}, {"label":"Pause", "x":20, "y":0}, {"label":"~", "x":2.75, "y":1.5}, {"label":"!", "x":3.75, "y":1.5}, {"label":"@", "x":4.75, "y":1.5}, {"label":"#", "x":5.75, "y":1.5}, {"label":"$", "x":6.75, "y":1.5}, {"label":"%", "x":7.75, "y":1.5}, {"label":"^", "x":8.75, "y":1.5}, {"label":"&", "x":9.75, "y":1.5}, {"label":"*", "x":10.75, "y":1.5}, {"label":"(", "x":11.75, "y":1.5}, {"label":")", "x":12.75, "y":1.5}, {"label":"_", "x":13.75, "y":1.5}, {"label":"+", "x":14.75, "y":1.5}, {"label":"|", "x":15.75, "y":1.5}, {"label":"~", "x":16.75, "y":1.5}, {"label":"Insert", "x":18, "y":1.5}, {"label":"Home", "x":19, "y":1.5}, {"label":"PgUp", "x":20, "y":1.5}, {"label":"Tab", "x":2.75, "y":2.5, "w":1.5}, {"label":"Q", "x":4.25, "y":2.5}, {"label":"W", "x":5.25, "y":2.5}, {"label":"E", "x":6.25, "y":2.5}, {"label":"R", "x":7.25, "y":2.5}, {"label":"T", "x":8.25, "y":2.5}, {"label":"Y", "x":9.25, "y":2.5}, {"label":"U", "x":10.25, "y":2.5}, {"label":"I", "x":11.25, "y":2.5}, {"label":"O", "x":12.25, "y":2.5}, {"label":"P", "x":13.25, "y":2.5}, {"label":"{", "x":14.25, "y":2.5}, {"label":"}", "x":15.25, "y":2.5}, {"label":"|", "x":16.25, "y":2.5, "w":1.5}, {"label":"Delete", "x":18, "y":2.5}, {"label":"End", "x":19, "y":2.5}, {"label":"PgDn", "x":20, "y":2.5}, {"label":"Caps Lock", "x":2.75, "y":3.5, "w":1.75}, {"label":"A", "x":4.5, "y":3.5}, {"label":"S", "x":5.5, "y":3.5}, {"label":"D", "x":6.5, "y":3.5}, {"label":"F", "x":7.5, "y":3.5}, {"label":"G", "x":8.5, "y":3.5}, {"label":"H", "x":9.5, "y":3.5}, {"label":"J", "x":10.5, "y":3.5}, {"label":"K", "x":11.5, "y":3.5}, {"label":"L", "x":12.5, "y":3.5}, {"label":":", "x":13.5, "y":3.5}, {"label":"\"", "x":14.5, "y":3.5}, {"label":"~", "x":15.5, "y":3.5}, {"label":"Enter", "x":16.5, "y":3.5, "w":1.25}, {"label":"Shift", "x":2.75, "y":4.5, "w":1.25}, {"label":"|", "x":4, "y":4.5}, {"label":"Z", "x":5, "y":4.5}, {"label":"X", "x":6, "y":4.5}, {"label":"C", "x":7, "y":4.5}, {"label":"V", "x":8, "y":4.5}, {"label":"B", "x":9, "y":4.5}, {"label":"N", "x":10, "y":4.5}, {"label":"M", "x":11, "y":4.5}, {"label":"<", "x":12, "y":4.5}, {"label":">", "x":13, "y":4.5}, {"label":"?", "x":14, "y":4.5}, {"label":"Shift", "x":15, "y":4.5, "w":1.75}, {"label":"Fn", "x":16.75, "y":4.5}, {"label":"\u2191", "x":19, "y":4.5}, {"label":"Ctrl", "x":2.75, "y":5.5, "w":1.5}, {"label":"Win", "x":4.25, "y":5.5}, {"label":"Alt", "x":5.25, "y":5.5, "w":1.5}, {"x":6.75, "y":5.5, "w":3}, {"x":9.75, "y":5.5}, {"x":10.75, "y":5.5, "w":3}, {"label":"AltGr", "x":13.75, "y":5.5, "w":1.5}, {"label":"Win", "x":15.25, "y":5.5}, {"label":"Ctrl", "x":16.25, "y":5.5, "w":1.5}, {"label":"\u2190", "x":18, "y":5.5}, {"label":"\u2193", "x":19, "y":5.5}, {"label":"\u2192", "x":20, "y":5.5}] + } + } +} diff --git a/keyboards/4pplet/yakiimo/keymaps/default/keymap.c b/keyboards/4pplet/yakiimo/keymaps/default/keymap.c new file mode 100644 index 000000000000..e16d204c3228 --- /dev/null +++ b/keyboards/4pplet/yakiimo/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_NUHS, KC_ENT, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT) +// basic function layer +[1] = LAYOUT_all( + RESET, 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, 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, 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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; diff --git a/keyboards/4pplet/yakiimo/keymaps/via/keymap.c b/keyboards/4pplet/yakiimo/keymaps/via/keymap.c new file mode 100644 index 000000000000..969b05c868ab --- /dev/null +++ b/keyboards/4pplet/yakiimo/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_NUHS, KC_ENT, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), +// basic function layer +[1] = LAYOUT_all( + RESET, 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, 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, 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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +// extra layer for VIA +[2] = LAYOUT_all( + RESET, 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, 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, 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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +// extra layer for VIA +[3] = LAYOUT_all( + RESET, 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, 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, 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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/4pplet/yakiimo/keymaps/via/rules.mk b/keyboards/4pplet/yakiimo/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/4pplet/yakiimo/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/4pplet/yakiimo/readme.md b/keyboards/4pplet/yakiimo/readme.md new file mode 100644 index 000000000000..bdd5b9c2722c --- /dev/null +++ b/keyboards/4pplet/yakiimo/readme.md @@ -0,0 +1,17 @@ +# Yakiimo Rev A + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: Yakiimo Rev A + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/yakiimo/rev_a:via:flash + +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). + +How to enter bootloader (DFU): +* Press and hold the button on the keyboard (the small one on the same side as the MCU) for more than 1 second. The keyboard will then enter bootloader (DFU) mode and it's ready to flash the firmware. +* Note: If holding the button a shorter time, the keyboard will just reset. If you want to exit bootloader mode without flashing a firmware, dissconnect the keyboard from your PC and reconnect it. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. Bootmagic lite is enabled by default. diff --git a/keyboards/4pplet/yakiimo/rev_a/config.h b/keyboards/4pplet/yakiimo/rev_a/config.h new file mode 100644 index 000000000000..762ff55c41ac --- /dev/null +++ b/keyboards/4pplet/yakiimo/rev_a/config.h @@ -0,0 +1,44 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4444 +#define PRODUCT_ID 0x000A +#define DEVICE_VER 0x0002 +#define MANUFACTURER 4pplet +#define PRODUCT Yakiimo Rev A + +#define MATRIX_ROWS 12 +#define MATRIX_COLS 9 + +#define MATRIX_COL_PINS { B0, A5, A4, A3, A2, A1, A0, C15, A8 } +#define MATRIX_ROW_PINS { B10, B1, C13, C14, B14, B12, B9, B8, B5, B4, A15, B3 } +#define DIODE_DIRECTION COL2ROW + +#define LED_CAPS_LOCK_PIN A6 +#define LED_SCROLL_LOCK_PIN A7 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define STM32_HSECLK 8000000 diff --git a/keyboards/4pplet/yakiimo/rev_a/mcuconf.h b/keyboards/4pplet/yakiimo/rev_a/mcuconf.h new file mode 100644 index 000000000000..566a38124d7a --- /dev/null +++ b/keyboards/4pplet/yakiimo/rev_a/mcuconf.h @@ -0,0 +1,37 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/acheron/austin/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE +#undef STM32_PPRE1 +#undef STM32_PPRE2 + +#define STM32_PLLM_VALUE 4 +#define STM32_PLLN_VALUE 168 +#define STM32_PLLP_VALUE 4 +#define STM32_PLLQ_VALUE 7 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE2_DIV1 diff --git a/keyboards/4pplet/yakiimo/rev_a/readme.md b/keyboards/4pplet/yakiimo/rev_a/readme.md new file mode 100644 index 000000000000..06fc9ab21bf7 --- /dev/null +++ b/keyboards/4pplet/yakiimo/rev_a/readme.md @@ -0,0 +1,19 @@ +# Yakiimo Rev A + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: Yakiimo Rev A + +If your PCB is of revision A1, use the "proto" code in the Yakiimo directory + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/yakiimo/rev_a:default + +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). + +How to enter bootloader (DFU): +* Press and hold the button on the keyboard (the small one on the same side as the MCU) for more than 1 second. The keyboard will then enter bootloader (DFU) mode and it's ready to flash the firmware. +* Note: If holding the button a shorter time, the keyboard will just reset. If you want to exit bootloader mode without flashing a firmware, dissconnect the keyboard from your PC and reconnect it. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. Bootmagic lite is enabled by default. diff --git a/keyboards/4pplet/yakiimo/rev_a/rev_a.c b/keyboards/4pplet/yakiimo/rev_a/rev_a.c new file mode 100644 index 000000000000..f60dbbdf2423 --- /dev/null +++ b/keyboards/4pplet/yakiimo/rev_a/rev_a.c @@ -0,0 +1,17 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "rev_a.h" diff --git a/keyboards/4pplet/yakiimo/rev_a/rev_a.h b/keyboards/4pplet/yakiimo/rev_a/rev_a.h new file mode 100644 index 000000000000..cc3f9dee85f2 --- /dev/null +++ b/keyboards/4pplet/yakiimo/rev_a/rev_a.h @@ -0,0 +1,42 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "quantum.h" + +#define LAYOUT_all( \ + k00, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k18, k08, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, k28, k38, \ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k47, k48, k58, \ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, \ + k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k96, k98, \ + ka0, ka1, kb1, kb2, kb3, kb4, kb5, ka6, kb6, ka7, kb8, ka8 \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08}, \ + {KC_NO, k11, k12, k13, k14, k15, k16, KC_NO, k18}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28}, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38}, \ + {k40, k41, k42, k43, k44, k45, k46, k47, k48}, \ + {k50, k51, k52, k53, k54, k55, k56, KC_NO, k58}, \ + {k60, k61, k62, k63, k64, k65, k66, KC_NO, KC_NO}, \ + {k70, k71, k72, k73, k74, k75, k76, KC_NO, KC_NO}, \ + {k80, k81, k82, k83, k84, k85, k86, KC_NO, KC_NO}, \ + {k90, k91, k92, k93, k94, k95, k96, KC_NO, k98}, \ + {ka0, ka1, KC_NO, KC_NO, KC_NO, KC_NO, ka6, ka7, ka8}, \ + {KC_NO, kb1, kb2, kb3, kb4, kb5, kb6, KC_NO, kb8} \ +} diff --git a/keyboards/4pplet/yakiimo/rev_a/rules.mk b/keyboards/4pplet/yakiimo/rev_a/rules.mk new file mode 100644 index 000000000000..69e3ba162958 --- /dev/null +++ b/keyboards/4pplet/yakiimo/rev_a/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = STM32F411 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE From 767e7db0edb4a5d3b40699cdb350c8eba37ebd19 Mon Sep 17 00:00:00 2001 From: TJ Date: Wed, 11 May 2022 18:39:35 -0500 Subject: [PATCH 0651/1832] [Keyboard] Littlefoot lx dev (#16771) Co-authored-by: Ryan --- .../littlefoot_lx/keymaps/default/keymap.c | 54 +++++++++++++++++++ .../littlefoot_lx/keymaps/via/keymap.c | 54 +++++++++++++++++++ .../littlefoot_lx/keymaps/via/rules.mk | 1 + keyboards/tominabox1/littlefoot_lx/readme.md | 30 +++++++++++ .../tominabox1/littlefoot_lx/rev1/config.h | 44 +++++++++++++++ .../tominabox1/littlefoot_lx/rev1/info.json | 14 +++++ .../tominabox1/littlefoot_lx/rev1/rev1.c | 18 +++++++ .../tominabox1/littlefoot_lx/rev1/rev1.h | 50 +++++++++++++++++ .../tominabox1/littlefoot_lx/rev1/rules.mk | 18 +++++++ .../tominabox1/littlefoot_lx/rev2/config.h | 44 +++++++++++++++ .../tominabox1/littlefoot_lx/rev2/info.json | 14 +++++ .../tominabox1/littlefoot_lx/rev2/rev2.c | 18 +++++++ .../tominabox1/littlefoot_lx/rev2/rev2.h | 50 +++++++++++++++++ .../tominabox1/littlefoot_lx/rev2/rules.mk | 18 +++++++ keyboards/tominabox1/littlefoot_lx/rules.mk | 1 + 15 files changed, 428 insertions(+) create mode 100644 keyboards/tominabox1/littlefoot_lx/keymaps/default/keymap.c create mode 100644 keyboards/tominabox1/littlefoot_lx/keymaps/via/keymap.c create mode 100644 keyboards/tominabox1/littlefoot_lx/keymaps/via/rules.mk create mode 100644 keyboards/tominabox1/littlefoot_lx/readme.md create mode 100644 keyboards/tominabox1/littlefoot_lx/rev1/config.h create mode 100644 keyboards/tominabox1/littlefoot_lx/rev1/info.json create mode 100644 keyboards/tominabox1/littlefoot_lx/rev1/rev1.c create mode 100644 keyboards/tominabox1/littlefoot_lx/rev1/rev1.h create mode 100644 keyboards/tominabox1/littlefoot_lx/rev1/rules.mk create mode 100644 keyboards/tominabox1/littlefoot_lx/rev2/config.h create mode 100644 keyboards/tominabox1/littlefoot_lx/rev2/info.json create mode 100644 keyboards/tominabox1/littlefoot_lx/rev2/rev2.c create mode 100644 keyboards/tominabox1/littlefoot_lx/rev2/rev2.h create mode 100644 keyboards/tominabox1/littlefoot_lx/rev2/rules.mk create mode 100644 keyboards/tominabox1/littlefoot_lx/rules.mk diff --git a/keyboards/tominabox1/littlefoot_lx/keymaps/default/keymap.c b/keyboards/tominabox1/littlefoot_lx/keymaps/default/keymap.c new file mode 100644 index 000000000000..67641741faec --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/keymaps/default/keymap.c @@ -0,0 +1,54 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_split( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_ENT, KC_SPC, KC_SPC, KC_BSPC + ), + + [1] = LAYOUT_split( + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_split( + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_split( + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; diff --git a/keyboards/tominabox1/littlefoot_lx/keymaps/via/keymap.c b/keyboards/tominabox1/littlefoot_lx/keymaps/via/keymap.c new file mode 100644 index 000000000000..8bef2373f36e --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_split( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_ENT, KC_SPC, KC_SPC, KC_BSPC + ), + + [1] = LAYOUT_split( + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_split( + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_split( + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; diff --git a/keyboards/tominabox1/littlefoot_lx/keymaps/via/rules.mk b/keyboards/tominabox1/littlefoot_lx/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/tominabox1/littlefoot_lx/readme.md b/keyboards/tominabox1/littlefoot_lx/readme.md new file mode 100644 index 000000000000..5ef9186347b5 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/readme.md @@ -0,0 +1,30 @@ +# Littlefoot LX + +![littlefoot_lx](https://i.imgur.com/0WhgT5yh.jpeg) + +The Littlefoot LX is a premium, integrated pcb version of the Littlefoot by The_Royal. + +* Keyboard Maintainer: [tominabox1](https://github.com/tominabox1) +* Hardware Supported: Littlefoot LX integrated ATMega32u4 +* Hardware Availability: https://tachfactory.bigcartel.com + +There are two versions of this PCB: + Rev1 is the PCB that shipped with the group buy run by RPMorrison on Tach Factory. These PCBs can be identified by the bodge wire on column 4. + Rev2 is the PCB available after this group buy. + +Make example for this keyboard (after setting up your build environment): + + make tominabox1/littlefoot_lx:default + +Flashing example for this keyboard: + + make tominabox1/littlefoot_lx:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/config.h b/keyboards/tominabox1/littlefoot_lx/rev1/config.h new file mode 100644 index 000000000000..0f9ad3c9188f --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev1/config.h @@ -0,0 +1,44 @@ + +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7431 +#define PRODUCT_ID 0x6C78 +#define DEVICE_VER 0x0001 +#define PRODUCT Littlefoot LX +#define MANUFACTURER tominabox1 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 10 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D5, F4, D3, F1, F0 } +#define MATRIX_COL_PINS { D7, D6, D4, E2, F5, F6, F7, B6, B5, B4 } // uncomment for original groupbuy +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/info.json b/keyboards/tominabox1/littlefoot_lx/rev1/info.json new file mode 100644 index 000000000000..ee2d32e667e8 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev1/info.json @@ -0,0 +1,14 @@ +{ + "keyboard_name": "Littlefoot LX", + "url": "", + "maintainer": "tominabox1", + "layouts": { + "LAYOUT": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}, {"label":"1,3", "x":3, "y":1}, {"label":"1,4", "x":4, "y":1}, {"label":"1,5", "x":5, "y":1}, {"label":"1,6", "x":6, "y":1}, {"label":"1,7", "x":7, "y":1}, {"label":"1,8", "x":8, "y":1}, {"label":"1,9", "x":9, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1, "y":2}, {"label":"2,2", "x":2, "y":2}, {"label":"2,3", "x":3, "y":2}, {"label":"2,4", "x":4, "y":2}, {"label":"2,5", "x":5, "y":2}, {"label":"2,6", "x":6, "y":2}, {"label":"2,7", "x":7, "y":2}, {"label":"2,8", "x":8, "y":2}, {"label":"2,9", "x":9, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1, "y":3}, {"label":"3,2", "x":2, "y":3}, {"label":"3,3", "x":3, "y":3}, {"label":"3,4", "x":4, "y":3}, {"label":"3,5", "x":5, "y":3}, {"label":"3,6", "x":6, "y":3}, {"label":"3,7", "x":7, "y":3}, {"label":"3,8", "x":8, "y":3}, {"label":"3,9", "x":9, "y":3}, {"x":1.5, "y":4, "w":7}] + }, + "LAYOUT_split": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}, {"label":"1,3", "x":3, "y":1}, {"label":"1,4", "x":4, "y":1}, {"label":"1,5", "x":5, "y":1}, {"label":"1,6", "x":6, "y":1}, {"label":"1,7", "x":7, "y":1}, {"label":"1,8", "x":8, "y":1}, {"label":"1,9", "x":9, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1, "y":2}, {"label":"2,2", "x":2, "y":2}, {"label":"2,3", "x":3, "y":2}, {"label":"2,4", "x":4, "y":2}, {"label":"2,5", "x":5, "y":2}, {"label":"2,6", "x":6, "y":2}, {"label":"2,7", "x":7, "y":2}, {"label":"2,8", "x":8, "y":2}, {"label":"2,9", "x":9, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1, "y":3}, {"label":"3,2", "x":2, "y":3}, {"label":"3,3", "x":3, "y":3}, {"label":"3,4", "x":4, "y":3}, {"label":"3,5", "x":5, "y":3}, {"label":"3,6", "x":6, "y":3}, {"label":"3,7", "x":7, "y":3}, {"label":"3,8", "x":8, "y":3}, {"label":"3,9", "x":9, "y":3}, {"label":"4,2", "x":1.5, "y":4, "w":1.5}, {"label":"4,4", "x":3, "y":4, "w":2}, {"label":"4,6", "x":5, "y":4, "w":2}, {"label":"4,7", "x":7, "y":4, "w":1.5}] + } + + } +} diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/rev1.c b/keyboards/tominabox1/littlefoot_lx/rev1/rev1.c new file mode 100644 index 000000000000..67d6fd800de9 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev1/rev1.c @@ -0,0 +1,18 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "rev1.h" diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/rev1.h b/keyboards/tominabox1/littlefoot_lx/rev1/rev1.h new file mode 100644 index 000000000000..f42ded450c96 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev1/rev1.h @@ -0,0 +1,50 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, \ + K45 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \ + { XXX, XXX, XXX, XXX, XXX, K45, XXX, XXX, XXX, XXX } \ +} + +#define LAYOUT_split( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, \ + K42, K44, K46, K47 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \ + { XXX, XXX, K42, XXX, K44, XXX, K46, K47, XXX, XXX } \ +} diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/rules.mk b/keyboards/tominabox1/littlefoot_lx/rev1/rules.mk new file mode 100644 index 000000000000..67bea6b60934 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev1/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/config.h b/keyboards/tominabox1/littlefoot_lx/rev2/config.h new file mode 100644 index 000000000000..db97c0f133e8 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev2/config.h @@ -0,0 +1,44 @@ + +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7431 +#define PRODUCT_ID 0x6C78 +#define DEVICE_VER 0x0001 +#define PRODUCT Littlefoot LX +#define MANUFACTURER tominabox1 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 10 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D5, F4, D3, F1, F0 } +#define MATRIX_COL_PINS { D7, D6, D4, C7, F5, F6, F7, B6, B5, B4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/info.json b/keyboards/tominabox1/littlefoot_lx/rev2/info.json new file mode 100644 index 000000000000..ee2d32e667e8 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev2/info.json @@ -0,0 +1,14 @@ +{ + "keyboard_name": "Littlefoot LX", + "url": "", + "maintainer": "tominabox1", + "layouts": { + "LAYOUT": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}, {"label":"1,3", "x":3, "y":1}, {"label":"1,4", "x":4, "y":1}, {"label":"1,5", "x":5, "y":1}, {"label":"1,6", "x":6, "y":1}, {"label":"1,7", "x":7, "y":1}, {"label":"1,8", "x":8, "y":1}, {"label":"1,9", "x":9, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1, "y":2}, {"label":"2,2", "x":2, "y":2}, {"label":"2,3", "x":3, "y":2}, {"label":"2,4", "x":4, "y":2}, {"label":"2,5", "x":5, "y":2}, {"label":"2,6", "x":6, "y":2}, {"label":"2,7", "x":7, "y":2}, {"label":"2,8", "x":8, "y":2}, {"label":"2,9", "x":9, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1, "y":3}, {"label":"3,2", "x":2, "y":3}, {"label":"3,3", "x":3, "y":3}, {"label":"3,4", "x":4, "y":3}, {"label":"3,5", "x":5, "y":3}, {"label":"3,6", "x":6, "y":3}, {"label":"3,7", "x":7, "y":3}, {"label":"3,8", "x":8, "y":3}, {"label":"3,9", "x":9, "y":3}, {"x":1.5, "y":4, "w":7}] + }, + "LAYOUT_split": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}, {"label":"1,3", "x":3, "y":1}, {"label":"1,4", "x":4, "y":1}, {"label":"1,5", "x":5, "y":1}, {"label":"1,6", "x":6, "y":1}, {"label":"1,7", "x":7, "y":1}, {"label":"1,8", "x":8, "y":1}, {"label":"1,9", "x":9, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1, "y":2}, {"label":"2,2", "x":2, "y":2}, {"label":"2,3", "x":3, "y":2}, {"label":"2,4", "x":4, "y":2}, {"label":"2,5", "x":5, "y":2}, {"label":"2,6", "x":6, "y":2}, {"label":"2,7", "x":7, "y":2}, {"label":"2,8", "x":8, "y":2}, {"label":"2,9", "x":9, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1, "y":3}, {"label":"3,2", "x":2, "y":3}, {"label":"3,3", "x":3, "y":3}, {"label":"3,4", "x":4, "y":3}, {"label":"3,5", "x":5, "y":3}, {"label":"3,6", "x":6, "y":3}, {"label":"3,7", "x":7, "y":3}, {"label":"3,8", "x":8, "y":3}, {"label":"3,9", "x":9, "y":3}, {"label":"4,2", "x":1.5, "y":4, "w":1.5}, {"label":"4,4", "x":3, "y":4, "w":2}, {"label":"4,6", "x":5, "y":4, "w":2}, {"label":"4,7", "x":7, "y":4, "w":1.5}] + } + + } +} diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/rev2.c b/keyboards/tominabox1/littlefoot_lx/rev2/rev2.c new file mode 100644 index 000000000000..759d6f506db9 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev2/rev2.c @@ -0,0 +1,18 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "rev2.h" diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/rev2.h b/keyboards/tominabox1/littlefoot_lx/rev2/rev2.h new file mode 100644 index 000000000000..f42ded450c96 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev2/rev2.h @@ -0,0 +1,50 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, \ + K45 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \ + { XXX, XXX, XXX, XXX, XXX, K45, XXX, XXX, XXX, XXX } \ +} + +#define LAYOUT_split( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, \ + K42, K44, K46, K47 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \ + { XXX, XXX, K42, XXX, K44, XXX, K46, K47, XXX, XXX } \ +} diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/rules.mk b/keyboards/tominabox1/littlefoot_lx/rev2/rules.mk new file mode 100644 index 000000000000..67bea6b60934 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev2/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/tominabox1/littlefoot_lx/rules.mk b/keyboards/tominabox1/littlefoot_lx/rules.mk new file mode 100644 index 000000000000..4756f7600ff0 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = tominabox1/littlefoot_lx/rev1 From fa6fe11c33354699a84023a7a6a2dcdf5f0b46b3 Mon Sep 17 00:00:00 2001 From: sauvehoo <76417304+sauvehoo@users.noreply.github.com> Date: Wed, 11 May 2022 16:39:59 -0700 Subject: [PATCH 0652/1832] [Keyboard] Add ano keyboard (#16885) Co-authored-by: Ryan --- keyboards/ano/ano.c | 41 ++++++++++++++++ keyboards/ano/ano.h | 35 ++++++++++++++ keyboards/ano/config.h | 65 ++++++++++++++++++++++++++ keyboards/ano/info.json | 10 ++++ keyboards/ano/keymaps/default/keymap.c | 38 +++++++++++++++ keyboards/ano/readme.md | 20 ++++++++ keyboards/ano/rules.mk | 19 ++++++++ 7 files changed, 228 insertions(+) create mode 100644 keyboards/ano/ano.c create mode 100644 keyboards/ano/ano.h create mode 100644 keyboards/ano/config.h create mode 100644 keyboards/ano/info.json create mode 100644 keyboards/ano/keymaps/default/keymap.c create mode 100644 keyboards/ano/readme.md create mode 100644 keyboards/ano/rules.mk diff --git a/keyboards/ano/ano.c b/keyboards/ano/ano.c new file mode 100644 index 000000000000..0b6926deafd3 --- /dev/null +++ b/keyboards/ano/ano.c @@ -0,0 +1,41 @@ +/* Copyright 2022 Sebastien Sauve-Hoover (@sauvehoo) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "ano.h" + +/* The encoder_update_user is a function. + * It'll be called by QMK every time you turn the encoder. + * + * The index parameter tells you which encoder was turned. If you only have + * one encoder, the index will always be zero. + * + * The clockwise parameter tells you the direction of the encoder. It'll be + * true when you turned the encoder clockwise, and false otherwise. + */ + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code(KC_AUDIO_VOL_UP); + } else { + tap_code(KC_AUDIO_VOL_DOWN); + } + } + return true; +} +#endif \ No newline at end of file diff --git a/keyboards/ano/ano.h b/keyboards/ano/ano.h new file mode 100644 index 000000000000..ecbebec4c846 --- /dev/null +++ b/keyboards/ano/ano.h @@ -0,0 +1,35 @@ +/* Copyright 2022 Sebastien Sauve-Hoover (@sauvehoo) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, K316, K317, \ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, \ + K500, K501, K502, K506, K510, K511, K512, K513, K514, K515, K516, K517 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315, K316, K317 }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417 }, \ + { K500, K501, K502, KC_NO, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515, K516, K517 } \ +} diff --git a/keyboards/ano/config.h b/keyboards/ano/config.h new file mode 100644 index 000000000000..3c3ee05fbe69 --- /dev/null +++ b/keyboards/ano/config.h @@ -0,0 +1,65 @@ +/* Copyright 2022 Sebastien Sauve-Hoover (@sauvehoo) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + #pragma once + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x8372 +#define PRODUCT_ID 0x0651 +#define DEVICE_VER 0x0000 +#define MANUFACTURER Sebastien Sauve-Hoover +#define PRODUCT Ano Keyboard +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 18 + +#define MATRIX_ROW_PINS { A4, B14, B15, B9, B10, B11 } +#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5, B6, B7, A5, A6, A7, A8, A15, A2, A1, A0, B8, B13 } + +#define UNUSED_PINS + +#define ENCODERS_PAD_A { B12 } +#define ENCODERS_PAD_B { A14 } +#define ENCODER_RESOLUTION 2 + +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + + +#define TAP_CODE_DELAY 10 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/ano/info.json b/keyboards/ano/info.json new file mode 100644 index 000000000000..3eda03c74fab --- /dev/null +++ b/keyboards/ano/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "Ano", + "url": "https://github.com/sauvehoo", + "maintainer": "sauvehoo", + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"Esc", "x":0.25, "y":0.25}, {"label":"F1", "x":1.5, "y":0.25}, {"label":"F2", "x":2.5, "y":0.25}, {"label":"F3", "x":3.5, "y":0.25}, {"label":"F4", "x":4.5, "y":0.25}, {"label":"F5", "x":5.75, "y":0.25}, {"label":"F6", "x":6.75, "y":0.25}, {"label":"F7", "x":7.75, "y":0.25}, {"label":"F8", "x":8.75, "y":0.25}, {"label":"F9", "x":10, "y":0.25}, {"label":"F10", "x":11, "y":0.25}, {"label":"F11", "x":12, "y":0.25}, {"label":"F12", "x":13, "y":0.25}, {"label":"Delete", "x":14.25, "y":0.25}, {"label":"Encoder", "x":18.25, "y":0.25}, {"label":"~", "x":0.25, "y":1.5}, {"label":"!", "x":1.25, "y":1.5}, {"label":"@", "x":2.25, "y":1.5}, {"label":"#", "x":3.25, "y":1.5}, {"label":"$", "x":4.25, "y":1.5}, {"label":"%", "x":5.25, "y":1.5}, {"label":"^", "x":6.25, "y":1.5}, {"label":"&", "x":7.25, "y":1.5}, {"label":"*", "x":8.25, "y":1.5}, {"label":"(", "x":9.25, "y":1.5}, {"label":")", "x":10.25, "y":1.5}, {"label":"_", "x":11.25, "y":1.5}, {"label":"+", "x":12.25, "y":1.5}, {"label":"Backspace", "x":13.25, "y":1.5, "w":2}, {"label":"Num Lock", "x":15.25, "y":1.5}, {"label":"/", "x":16.25, "y":1.5}, {"label":"*", "x":17.25, "y":1.5}, {"label":"*", "x":18.25, "y":1.5}, {"label":"Tab", "x":0.25, "y":2.5, "w":1.5}, {"label":"Q", "x":1.75, "y":2.5}, {"label":"W", "x":2.75, "y":2.5}, {"label":"E", "x":3.75, "y":2.5}, {"label":"R", "x":4.75, "y":2.5}, {"label":"T", "x":5.75, "y":2.5}, {"label":"Y", "x":6.75, "y":2.5}, {"label":"U", "x":7.75, "y":2.5}, {"label":"I", "x":8.75, "y":2.5}, {"label":"O", "x":9.75, "y":2.5}, {"label":"P", "x":10.75, "y":2.5}, {"label":"{", "x":11.75, "y":2.5}, {"label":"}", "x":12.75, "y":2.5}, {"label":"|", "x":13.75, "y":2.5, "w":1.5}, {"label":"7", "x":15.25, "y":2.5}, {"label":"8", "x":16.25, "y":2.5}, {"label":"9", "x":17.25, "y":2.5}, {"label":"-", "x":18.25, "y":2.5}, {"label":"Caps Lock", "x":0.25, "y":3.5, "w":1.75}, {"label":"A", "x":2, "y":3.5}, {"label":"S", "x":3, "y":3.5}, {"label":"D", "x":4, "y":3.5}, {"label":"F", "x":5, "y":3.5}, {"label":"G", "x":6, "y":3.5}, {"label":"H", "x":7, "y":3.5}, {"label":"J", "x":8, "y":3.5}, {"label":"K", "x":9, "y":3.5}, {"label":"L", "x":10, "y":3.5}, {"label":":", "x":11, "y":3.5}, {"label":"\"", "x":12, "y":3.5}, {"label":"Enter", "x":13, "y":3.5, "w":2.25}, {"label":"4", "x":15.25, "y":3.5}, {"label":"5", "x":16.25, "y":3.5}, {"label":"6", "x":17.25, "y":3.5}, {"label":"+", "x":18.25, "y":3.5}, {"label":"Shift", "x":0.25, "y":4.5, "w":2.25}, {"label":"Z", "x":2.5, "y":4.5}, {"label":"X", "x":3.5, "y":4.5}, {"label":"C", "x":4.5, "y":4.5}, {"label":"V", "x":5.5, "y":4.5}, {"label":"B", "x":6.5, "y":4.5}, {"label":"N", "x":7.5, "y":4.5}, {"label":"M", "x":8.5, "y":4.5}, {"label":"<", "x":9.5, "y":4.5}, {"label":">", "x":10.5, "y":4.5}, {"label":"?", "x":11.5, "y":4.5}, {"label":"Shift", "x":12.5, "y":4.5, "w":1.75}, {"label":"\u2191", "x":14.25, "y":4.5}, {"label":"1", "x":15.25, "y":4.5}, {"label":"2", "x":16.25, "y":4.5}, {"label":"3", "x":17.25, "y":4.5}, {"label":"Enter", "x":18.25, "y":4.5, "h":2}, {"label":"Ctrl", "x":0.25, "y":5.5, "w":1.25}, {"label":"Win", "x":1.5, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5, "w":6.25}, {"label":"Alt", "x":10.25, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":11.75, "y":5.5, "w":1.5}, {"label":"\u2190", "x":13.25, "y":5.5}, {"label":"\u2193", "x":14.25, "y":5.5}, {"label":"\u2192", "x":15.25, "y":5.5}, {"label":"0", "x":16.25, "y":5.5}, {"label":".", "x":17.25, "y":5.5}] + } + } +} diff --git a/keyboards/ano/keymaps/default/keymap.c b/keyboards/ano/keymaps/default/keymap.c new file mode 100644 index 000000000000..c457cf851c08 --- /dev/null +++ b/keyboards/ano/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2022 Sebastien Sauve-Hoover (@sauvehoo) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + #include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + KC_GRV, 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_NLCK,KC_PSLS,KC_PAST,KC_MEDIA_PLAY_PAUSE, + 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_P7, KC_P8, KC_P9, KC_B, + 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_P4, KC_P5, KC_P6, KC_PMNS, + 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_P1, KC_P2, KC_P3, KC_PPLS, + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, MO(1), KC_RCTL,KC_LEFT, KC_DOWN, KC_RGHT,KC_P0, KC_PDOT,KC_PENT + ), + + [1] = LAYOUT_all( + 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, 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, RESET, + 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, 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, 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, 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 + ), +}; diff --git a/keyboards/ano/readme.md b/keyboards/ano/readme.md new file mode 100644 index 000000000000..cc879d77b5a9 --- /dev/null +++ b/keyboards/ano/readme.md @@ -0,0 +1,20 @@ +# ano + +95 key custom keyboard made as DIY project + +* Keyboard Maintainer: [keebnewb](https://github.com/sauvehoo) +* Hardware Supported: Proton C +* Hardware Availability: Not available + +Make example for this keyboard (after setting up your build environment): + + make ano:default + +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). + +# Bootloader + +Enter the bootloader in 2 ways: + +* Physical reset button: Briefly press the button on the back of the PCB - or short reset and ground pins +* Keycode in layout: Press the key mapped to `RESET`. By default this is done by pressing RALT to access second layer and pressing rotary encoder down. \ No newline at end of file diff --git a/keyboards/ano/rules.mk b/keyboards/ano/rules.mk new file mode 100644 index 000000000000..151f0cd8bc6b --- /dev/null +++ b/keyboards/ano/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = STM32F303 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes \ No newline at end of file From 37417d531d524d674ea7b1dcf8678f6679738e2f Mon Sep 17 00:00:00 2001 From: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com> Date: Thu, 12 May 2022 09:54:27 +1000 Subject: [PATCH 0653/1832] [Keyboard] remove handwired/reddot as per #14211 (#17033) --- keyboards/handwired/reddot/config.h | 100 ----------------- keyboards/handwired/reddot/info.json | 106 ------------------ .../handwired/reddot/keymaps/default/keymap.c | 22 ---- .../reddot/keymaps/default/readme.md | 1 - keyboards/handwired/reddot/readme.md | 14 --- keyboards/handwired/reddot/reddot.c | 1 - keyboards/handwired/reddot/reddot.h | 17 --- keyboards/handwired/reddot/rules.mk | 17 --- 8 files changed, 278 deletions(-) delete mode 100755 keyboards/handwired/reddot/config.h delete mode 100644 keyboards/handwired/reddot/info.json delete mode 100644 keyboards/handwired/reddot/keymaps/default/keymap.c delete mode 100755 keyboards/handwired/reddot/keymaps/default/readme.md delete mode 100755 keyboards/handwired/reddot/readme.md delete mode 100755 keyboards/handwired/reddot/reddot.c delete mode 100755 keyboards/handwired/reddot/reddot.h delete mode 100755 keyboards/handwired/reddot/rules.mk diff --git a/keyboards/handwired/reddot/config.h b/keyboards/handwired/reddot/config.h deleted file mode 100755 index 6028971dda23..000000000000 --- a/keyboards/handwired/reddot/config.h +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2012 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER upils -#define PRODUCT reddot - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 19 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ -#define MATRIX_ROW_PINS { B0, B1, B2, B3, E6 } -#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, C6, C7, D5, D4, D7, B4, B5, B6, F7, F6, F5, F4, F1, F0 } -#define UNUSED_PINS - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -// #define BACKLIGHT_PIN B7 -// #define BACKLIGHT_BREATHING -// #define BACKLIGHT_LEVELS 3 - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -//#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/handwired/reddot/info.json b/keyboards/handwired/reddot/info.json deleted file mode 100644 index 7551041e7128..000000000000 --- a/keyboards/handwired/reddot/info.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "keyboard_name": "handwired/reddot", - "url": "", - "maintainer": "qmk", - "layouts": { - "LAYOUT": { - "layout": [ - {"label":"k00 (Esc)", "x":0, "y":0}, - {"label":"k01 (F1)", "x":1, "y":0}, - {"label":"k02 (F2)", "x":2, "y":0}, - {"label":"k03 (F3)", "x":3, "y":0}, - {"label":"k04 (F4)", "x":4, "y":0}, - {"label":"k05 (F5)", "x":5, "y":0}, - {"label":"k06 (Tab)", "x":6, "y":0, "w":2}, - {"label":"k07 (Caps Lock)", "x":8, "y":0}, - {"label":"k08 (F6)", "x":9, "y":0}, - {"label":"k09 (F7)", "x":10, "y":0}, - {"label":"k0A (F8)", "x":11, "y":0}, - {"label":"k0B (F9)", "x":12, "y":0}, - {"label":"k0C (F10)", "x":13, "y":0}, - {"label":"k0D (F11)", "x":14, "y":0}, - {"label":"k0E (F12)", "x":15, "y":0}, - {"label":"k10 (Function)", "x":16.5, "y":0}, - {"label":"k11 (Keypad /)", "x":17.5, "y":0}, - {"label":"k12 (Keypad *)", "x":18.5, "y":0}, - {"label":"k13 (Keypad -)", "x":19.5, "y":0}, - - {"label":"k20 (Left Alt)", "x":0, "y":1}, - {"label":"k21 (1 / FR Ampersand)", "x":1, "y":1}, - {"label":"k22 (2 / FR É)", "x":2, "y":1}, - {"label":"k23 (3 / FR Quote)", "x":3, "y":1}, - {"label":"k24 (4 / FR Apostrophe)", "x":4, "y":1}, - {"label":"k25 (5 / FR Left Parenthesis)", "x":5, "y":1}, - {"label":"k26 (Backspace)", "x":6, "y":1, "w":2}, - {"label":"k27 (Delete)", "x":8, "y":1}, - {"label":"k28 (6 / FR Minus)", "x":9, "y":1}, - {"label":"k29 (7 / FR È)", "x":10, "y":1}, - {"label":"k2A (8 / FR Underscore)", "x":11, "y":1}, - {"label":"k2B (9 / FR Ç)", "x":12, "y":1}, - {"label":"k2C (0 / FR À)", "x":13, "y":1}, - {"label":"k2D (Minus / FR Right Parenthesis)", "x":14, "y":1}, - {"label":"k2E (Equals / FR Equals)", "x":15, "y":1}, - {"label":"k30 (Insert)", "x":16.5, "y":1}, - {"label":"k31 (Home)", "x":17.5, "y":1}, - {"label":"k32 (Page Up)", "x":18.5, "y":1}, - - {"label":"k40 (GUI)", "x":0, "y":2}, - {"label":"k41 (Q / FR A)", "x":1, "y":2}, - {"label":"k42 (W / FR Z)", "x":2, "y":2}, - {"label":"k43 (E)", "x":3, "y":2}, - {"label":"k44 (R)", "x":4, "y":2}, - {"label":"k45 (T)", "x":5, "y":2}, - {"label":"k46 (Shift)", "x":6, "y":2, "h":2}, - {"label":"k66 (Enter)", "x":7, "y":2, "h":2}, - {"label":"k47 (Enter)", "x":8, "y":2, "h":2}, - {"label":"k48 (Y)", "x":9, "y":2}, - {"label":"k49 (U)", "x":10, "y":2}, - {"label":"k4A (I)", "x":11, "y":2}, - {"label":"k4B (O)", "x":12, "y":2}, - {"label":"k4C (P)", "x":13, "y":2}, - {"label":"k4D (Left Bracket / FR Circumflex)", "x":14, "y":2}, - {"label":"k4E (Right Bracket / FR Dollar)", "x":15, "y":2}, - {"label":"k50 (Delete)", "x":16.5, "y":2}, - {"label":"k51 (End)", "x":17.5, "y":2}, - {"label":"k52 (Page Down)", "x":18.5, "y":2}, - {"label":"k53 (Keypad +)", "x":19.5, "y":1, "h":2}, - - {"label":"k60 (Ctrl)", "x":0, "y":3}, - {"label":"k61 (A / FR Q)", "x":1, "y":3}, - {"label":"k62 (S)", "x":2, "y":3}, - {"label":"k63 (D)", "x":3, "y":3}, - {"label":"k64 (F)", "x":4, "y":3}, - {"label":"k65 (G)", "x":5, "y":3}, - {"label":"k68 (H)", "x":9, "y":3}, - {"label":"k69 (J)", "x":10, "y":3}, - {"label":"k6A (K)", "x":11, "y":3}, - {"label":"k6B (L)", "x":12, "y":3}, - {"label":"k6C (Semicolon / FR M)", "x":13, "y":3}, - {"label":"k6D (Quote / FR Ù)", "x":14, "y":3}, - {"label":"k6E (ISO Hash / FR Asterisk)", "x":15, "y":3}, - {"label":"k70 (Keypad 1)", "x":16.5, "y":3}, - {"label":"k71 (Up)", "x":17.5, "y":3}, - {"label":"k72 (Keypad 3)", "x":18.5, "y":3}, - - {"label":"k80 (ISO Backslash / FR Less Than)", "x":0, "y":4}, - {"label":"k81 (Z / FR W)", "x":1, "y":4}, - {"label":"k82 (X)", "x":2, "y":4}, - {"label":"k83 (C)", "x":3, "y":4}, - {"label":"k84 (V)", "x":4, "y":4}, - {"label":"k85 (B)", "x":5, "y":4}, - {"label":"k86 (Space)", "x":6, "y":4, "w":2}, - {"label":"k88 (Space)", "x":8, "y":4, "w":2}, - {"label":"k89 (N)", "x":10, "y":4}, - {"label":"k8A (M / FR Comma)", "x":11, "y":4}, - {"label":"k8B (Comma / FR Semicolon)", "x":12, "y":4}, - {"label":"k8C (Period / Colon)", "x":13, "y":4}, - {"label":"k8D (Slash / FR Exclaim)", "x":14, "y":4}, - {"label":"k8E (Right Alt / FR AltGr)", "x":15, "y":4}, - {"label":"k90 (Left)", "x":16.5, "y":4}, - {"label":"k91 (Down)", "x":17.5, "y":4}, - {"label":"k92 (Right)", "x":18.5, "y":4}, - {"label":"k93 (Keypad Enter)", "x":19.5, "y":3, "h":2} - ] - } - } -} diff --git a/keyboards/handwired/reddot/keymaps/default/keymap.c b/keyboards/handwired/reddot/keymaps/default/keymap.c deleted file mode 100644 index 0f3334834a88..000000000000 --- a/keyboards/handwired/reddot/keymaps/default/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -#include QMK_KEYBOARD_H -#include "keymap_french.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(1), KC_PSLS, KC_PAST, KC_PMNS, - KC_LALT, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_INS, KC_HOME, KC_PGUP, - KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_DEL, KC_END, KC_PGDN, KC_PPLS, - KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_P1, KC_UP, KC_P3, - FR_LABK, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT - ), - - [1] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSLS, KC_PAST, KC_PMNS, - KC_LALT, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_7, KC_8, KC_9, - KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_4, KC_5, KC_6, KC_PPLS, - KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_1, KC_2, KC_3, - FR_LABK, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT - ), - -}; diff --git a/keyboards/handwired/reddot/keymaps/default/readme.md b/keyboards/handwired/reddot/keymaps/default/readme.md deleted file mode 100755 index f04833c3e020..000000000000 --- a/keyboards/handwired/reddot/keymaps/default/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for handwired/reddot diff --git a/keyboards/handwired/reddot/readme.md b/keyboards/handwired/reddot/readme.md deleted file mode 100755 index 27c8b54d6051..000000000000 --- a/keyboards/handwired/reddot/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# RedDot - -An ortholinear compact fullsize keyboard configured for French AZERTY layout. - -- [Layout](http://www.keyboard-layout-editor.com/##@_plate:true%3B&@_sm=cherry&sb=cherry&st=MX1A-L1xx%3B&=Esc&=F1&=F2&=F3&=F4&=F5&_w:2%3B&=Tab&=Caps%20Lock&=F6&=F7&=F8&=F9&=F10&=F11&=F12&_x:0.5%3B&=Fn&=%2F%2F&=*&=-%3B&@=Alt&=1%0A%2F&&=2%0A%C3%A9%0A%0A~&=3%0A%22%0A%0A%23&=4%0A'%0A%0A%7B&=5%0A(%0A%0A%5B&_w:2%3B&=Back&=Del&=6%0A-%0A%0A%7C&=7%0A%C3%A8%0A%0A%60&=8%0A%2F_%0A%0A%5C&=9%0A%C3%A7%0A%0A%5E&=0%0A%C3%A0%0A%0A%2F@&=%C2%B0%0A)%0A%0A%5D&=+%0A%2F=%0A%0A%7D&_x:0.5%3B&=Insert&=Home&=Page%20Up&_h:2%3B&=+%3B&@=Win&=A&=Z&=E&=R&=T&_h:2%3B&=Shift&_h:2%3B&=Enter&_h:2%3B&=Enter&=Y&=U&=I&=O&=P&=%C2%A8%0A%5E&=%C2%A3%0A$&_x:0.5%3B&=Delete&=End&=Page%20Down%3B&@=Ctrl&=Q&=S&=D&=F&=G&_x:3%3B&=H&=J&=K&=L&=M&=%25%0A%C3%B9&=%C2%B5%0A*&_x:0.5%3B&=1%0AEnd&=Up&=3%0APgDn&_h:2%3B&=Enter%3B&@=%3E%0A%3C&=W&=X&=C&=V&=B&_w:2%3B&=Space&_w:2%3B&=Space&=N&=%3F%0A,&=.%0A%2F%3B&=%2F%2F%0A%2F:&=%C2%A7%0A!&=Alt%20Gr&_x:0.5%3B&=Left&=Down&=Right) - -Keyboard Maintainer: [The QMK Community](https://github.com/qmk) -Hardware Supported: RedDot handwired - -Make example for this keyboard (after setting up your build environment): - - make handwired/reddot:default - -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/reddot/reddot.c b/keyboards/handwired/reddot/reddot.c deleted file mode 100755 index 1c4720b5cf7b..000000000000 --- a/keyboards/handwired/reddot/reddot.c +++ /dev/null @@ -1 +0,0 @@ -#include "reddot.h" diff --git a/keyboards/handwired/reddot/reddot.h b/keyboards/handwired/reddot/reddot.h deleted file mode 100755 index a763f2ddc36f..000000000000 --- a/keyboards/handwired/reddot/reddot.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "quantum.h" - -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k10, k11, k12, k13, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k30, k31, k32, \ - k40, k41, k42, k43, k44, k45, k46, k66, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k50, k51, k52, k53, \ - k60, k61, k62, k63, k64, k65, k68, k69, k6A, k6B, k6C, k6D, k6E, k70, k71, k72, \ - k80, k81, k82, k83, k84, k85, k86, k88, k89, k8A, k8B, k8C, k8D, k8E, k90, k91, k92, k93 \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k10, k11, k12, k13 }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k30, k31, k32, KC_NO }, \ - { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k50, k51, k52, k53 }, \ - { k60, k61, k62, k63, k64, k65, k66, KC_NO, k68, k69, k6A, k6B, k6C, k6D, k6E, k70, k71, k72, KC_NO }, \ - { k80, k81, k82, k83, k84, k85, k86, KC_NO, k88, k89, k8A, k8B, k8C, k8D, k8E, k90, k91, k92, k93 } \ -} diff --git a/keyboards/handwired/reddot/rules.mk b/keyboards/handwired/reddot/rules.mk deleted file mode 100755 index 8d562b0bd1b0..000000000000 --- a/keyboards/handwired/reddot/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = caterina - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output From 7fd05afb100966032ebd10378f68d0446e23ed71 Mon Sep 17 00:00:00 2001 From: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com> Date: Thu, 12 May 2022 10:09:10 +1000 Subject: [PATCH 0654/1832] [Keyboard] Revert "Fix id67 RGB Matrix (#16916)" - on IDOBAO ID67 kb (#16917) Co-authored-by: Drashna Jaelre --- keyboards/idobao/id67/config.h | 56 ++++++++---------- keyboards/idobao/id67/id67.c | 43 ++++++++++++-- keyboards/idobao/id67/info.json | 6 +- .../idobao/id67/keymaps/default_nug/config.h | 26 --------- .../idobao/id67/keymaps/default_nug/keymap.c | 41 ------------- .../idobao/id67/keymaps/thewerther/config.h | 7 +-- keyboards/idobao/id67/keymaps/via/config.h | 22 ------- .../idobao/id67/keymaps/via_nug/config.h | 27 --------- .../idobao/id67/keymaps/via_nug/keymap.c | 53 ----------------- .../idobao/id67/keymaps/via_nug/rules.mk | 2 - .../id67/keymaps/vinorodrigues/config.h | 57 ++++++++++--------- .../id67/keymaps/vinorodrigues/keymap.c | 42 +++++++------- keyboards/idobao/id67/post_rules.mk | 14 +++++ keyboards/idobao/id67/readme.md | 12 ++-- keyboards/idobao/id67/rules.mk | 4 -- 15 files changed, 139 insertions(+), 273 deletions(-) delete mode 100644 keyboards/idobao/id67/keymaps/default_nug/config.h delete mode 100644 keyboards/idobao/id67/keymaps/default_nug/keymap.c delete mode 100644 keyboards/idobao/id67/keymaps/via/config.h delete mode 100644 keyboards/idobao/id67/keymaps/via_nug/config.h delete mode 100644 keyboards/idobao/id67/keymaps/via_nug/keymap.c delete mode 100644 keyboards/idobao/id67/keymaps/via_nug/rules.mk create mode 100644 keyboards/idobao/id67/post_rules.mk diff --git a/keyboards/idobao/id67/config.h b/keyboards/idobao/id67/config.h index be6594b0c108..f94606c9e721 100644 --- a/keyboards/idobao/id67/config.h +++ b/keyboards/idobao/id67/config.h @@ -22,7 +22,7 @@ /* USB Device descriptor parameter */ #define VENDOR_ID 0x6964 /* "id" */ #define PRODUCT_ID 0x0067 -#define DEVICE_VER 0x0001 +#define DEVICE_VER 0x0002 #define MANUFACTURER IDOBAO #define PRODUCT ID67 @@ -46,37 +46,19 @@ #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN F0 -// RGB Light config -#if defined(RGBLIGHT_ENABLE) - #define RGBLED_NUM 77 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */ - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ - #define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -#endif - // RGB Matrix config #if defined(RGB_MATRIX_ENABLE) - #define DRIVER_LED_TOTAL 77 - #define DRIVER_LED_UNDERGLOW 10 + #ifndef ID67_DISABLE_UNDERGLOW + #define DRIVER_LED_TOTAL 77 + #else + #define DRIVER_LED_TOTAL 67 + #endif - #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended - #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 + #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_KEYPRESSES + #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes @@ -92,7 +74,7 @@ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in - #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard @@ -100,10 +82,18 @@ #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation - #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back - #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left - #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right -#if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) + #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back + #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left + #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right + + // don't need `#if`, animation modes themselves check defines + // #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) + // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP + // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + // #endif // #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) + + // don't need `#if`, animation modes themselves check defines + // #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE// Pulses keys hit to hue & value then fades value out #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out @@ -116,5 +106,5 @@ #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out -#endif // #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) + // #endif // #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) #endif // #if defined(RGB_MATRIX_ENABLE) diff --git a/keyboards/idobao/id67/id67.c b/keyboards/idobao/id67/id67.c index 8d27298625c4..155cc7408775 100644 --- a/keyboards/idobao/id67/id67.c +++ b/keyboards/idobao/id67/id67.c @@ -19,7 +19,11 @@ #define __ NO_LED -// Indices are reveresed on the physical board, top left is bottom right. +#if defined(RGB_MATRIX_ENABLE) + +/* NB!!: Indices are reversed on the physical board, top left is bottom right. + * These "LED Index to *" arrays are in that reversed order! + * i.e., Space row on top, listed right to left */ led_config_t g_led_config = { { // Key Matrix to LED Index {66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52}, @@ -47,15 +51,46 @@ led_config_t g_led_config = { { 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 9, // third row 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // fourth row 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 // fifth row - // underglow leds + // underglow LEDs #ifndef ID67_DISABLE_UNDERGLOW , 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 #endif } }; -__attribute__ ((weak)) +#endif // #ifdef RGB_MATRIX_ENABLE + + +/* Use `#define ID67_CAPS_LOCK_KEY_INDEX 36` in `keymaps/yourkeymap/config.h` + * if you want to enable Caps-Lock LED mode */ +#if defined(RGB_MATRIX_ENABLE) && defined(ID67_CAPS_LOCK_KEY_INDEX) + +#define ID67_CAPS_LOCK_MAX_BRIGHTNESS 0xFF +#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS + #undef ID67_CAPS_LOCK_MAX_BRIGHTNESS + #define ID67_CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS +#endif + +#define ID67_CAPS_LOCK_VAL_STEP 8 +#ifdef RGB_MATRIX_VAL_STEP + #undef ID67_CAPS_LOCK_VAL_STEP + #define ID67_CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP +#endif + +/* This function is defined as weak, so if you create your own in keymap then + * that will compile, not this */ +__attribute__((weak)) void rgb_matrix_indicators_user(void) { if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(23, 0xFF, 0xFF, 0xFF); + uint8_t b = rgb_matrix_get_val(); + if (b < ID67_CAPS_LOCK_VAL_STEP) { + b = ID67_CAPS_LOCK_VAL_STEP; + } else if (b < (ID67_CAPS_LOCK_MAX_BRIGHTNESS - ID67_CAPS_LOCK_VAL_STEP)) { + b += ID67_CAPS_LOCK_VAL_STEP; // one step more than current brightness + } else { + b = ID67_CAPS_LOCK_MAX_BRIGHTNESS; + } + rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, b, b, b); // white, with the adjusted brightness } } + +#endif // #ifdef ID67_CAPS_LOCK_KEY_INDEX diff --git a/keyboards/idobao/id67/info.json b/keyboards/idobao/id67/info.json index 774d91341382..545cd863d803 100644 --- a/keyboards/idobao/id67/info.json +++ b/keyboards/idobao/id67/info.json @@ -1,7 +1,7 @@ { - "keyboard_name": "ID67 RGB Matrix variant", - "url": "", - "maintainer": "qmk", + "keyboard_name": "ID67", + "url": "https://idobao.net", + "maintainer": "thewerther", "layout_aliases": { "LAYOUT": "LAYOUT_65_ansi_blocker" }, diff --git a/keyboards/idobao/id67/keymaps/default_nug/config.h b/keyboards/idobao/id67/keymaps/default_nug/config.h deleted file mode 100644 index d92c93ce1e99..000000000000 --- a/keyboards/idobao/id67/keymaps/default_nug/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2021 thewerther - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * NB! THIS VARIANT DISABLES THE UNDERGLOW LEDs - * FOR BOARDS WITH A SOLID (NON-ACRILIC) BOTTOM - */ - -#pragma once - -#if defined(RGB_MATRIX_ENABLE) - #define ID67_DISABLE_UNDERGLOW -#endif diff --git a/keyboards/idobao/id67/keymaps/default_nug/keymap.c b/keyboards/idobao/id67/keymaps/default_nug/keymap.c deleted file mode 100644 index 30e71734a39c..000000000000 --- a/keyboards/idobao/id67/keymaps/default_nug/keymap.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2021 Tybera - * Copyright 2022 thewerther - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * NB! THIS VARIANT DISABLES THE UNDERGLOW LEDs - * FOR BOARDS WITH A SOLID (NON-ACRILIC) BOTTOM - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_ansi_blocker( - 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_TILD, - 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_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, - 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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_65_ansi_blocker( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, - _______, RESET, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -}; diff --git a/keyboards/idobao/id67/keymaps/thewerther/config.h b/keyboards/idobao/id67/keymaps/thewerther/config.h index 539e3bbb41d5..a63a92b17177 100644 --- a/keyboards/idobao/id67/keymaps/thewerther/config.h +++ b/keyboards/idobao/id67/keymaps/thewerther/config.h @@ -20,9 +20,8 @@ #define TAPPING_TERM 500 #if defined(RGB_MATRIX_ENABLE) - #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended #undef RGB_MATRIX_MAXIMUM_BRIGHTNESS - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 // change saturation and hue step size #undef RGBLIGHT_HUE_STEP @@ -85,11 +84,11 @@ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -#if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) + // #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE// Pulses keys hit to hue & value then fades value out #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out -#endif // # if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) + // #endif // # if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) #endif // # if defined(RGB_MATRIX_ENABLE) diff --git a/keyboards/idobao/id67/keymaps/via/config.h b/keyboards/idobao/id67/keymaps/via/config.h deleted file mode 100644 index 336ad1e58510..000000000000 --- a/keyboards/idobao/id67/keymaps/via/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2021 Tybera - * Copyright 2022 thewerther - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#if defined(RGB_MATRIX_ENABLE) - #define VIA_QMK_RGBLIGHT_ENABLE -#endif diff --git a/keyboards/idobao/id67/keymaps/via_nug/config.h b/keyboards/idobao/id67/keymaps/via_nug/config.h deleted file mode 100644 index a2fa129b2e53..000000000000 --- a/keyboards/idobao/id67/keymaps/via_nug/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2021 thewerther - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * NB! THIS VARIANT DISABLES THE UNDERGLOW LEDs - * FOR BOARDS WITH A SOLID (NON-ACRILIC) BOTTOM - */ - -#pragma once - -#if defined(RGB_MATRIX_ENABLE) - #define VIA_QMK_RGBLIGHT_ENABLE - #define ID67_DISABLE_UNDERGLOW -#endif diff --git a/keyboards/idobao/id67/keymaps/via_nug/keymap.c b/keyboards/idobao/id67/keymaps/via_nug/keymap.c deleted file mode 100644 index b008f9d125ac..000000000000 --- a/keyboards/idobao/id67/keymaps/via_nug/keymap.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright 2021 Tybera - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * NB! THIS VARIANT DISABLES THE UNDERGLOW LEDs - * FOR BOARDS WITH A SOLID (NON-ACRILIC) BOTTOM - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_ansi_blocker( - 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_TILD, - 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_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, - 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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_65_ansi_blocker( - 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, _______, _______, - _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, - _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT_65_ansi_blocker( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_65_ansi_blocker( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/idobao/id67/keymaps/via_nug/rules.mk b/keyboards/idobao/id67/keymaps/via_nug/rules.mk deleted file mode 100644 index ca9fed0e6b53..000000000000 --- a/keyboards/idobao/id67/keymaps/via_nug/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -LTO_ENABLE = yes -VIA_ENABLE = yes diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/config.h b/keyboards/idobao/id67/keymaps/vinorodrigues/config.h index 88fe361bde4d..92b3ec0658db 100644 --- a/keyboards/idobao/id67/keymaps/vinorodrigues/config.h +++ b/keyboards/idobao/id67/keymaps/vinorodrigues/config.h @@ -1,5 +1,5 @@ /* - * Idobao ID67 Keymap for a ID67 Bestype, built for Mac use + * IDOBAO ID67 Keymap for a ID67 Bestype, built for Mac use * Copyright (C) 2022 Vino Rodrigues * * This program is free software: you can redistribute it and/or modify @@ -16,6 +16,8 @@ * along with this program. If not, see . */ +#pragma once + #if defined(RGB_MATRIX_ENABLE) #define VIA_QMK_RGBLIGHT_ENABLE #define ID67_DISABLE_UNDERGLOW // personal choice, I use a ID67 Bestype @@ -23,9 +25,7 @@ #ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS #undef RGB_MATRIX_MAXIMUM_BRIGHTNESS #endif - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // // limits maximum brightness of LEDs to 200 out of 255 - - //// #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to x out of 255 //// #define RGB_MATRIX_KEYPRESSES @@ -46,7 +46,7 @@ //// #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom //// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in //// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in - //// #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right + //// #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right //// #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard //// #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard //// #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard @@ -54,32 +54,33 @@ //// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard //// #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue //// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation - //// #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back - //// #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left - //// #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right + //// #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back + //// #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left + //// #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right #undef ENABLE_RGB_MATRIX_PIXEL_RAIN #undef ENABLE_RGB_MATRIX_PIXEL_FLOW - #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL + //// #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL - #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) - //// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP - //// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN - #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP - #endif + // don't need `#if`, animation modes themselves check defines + // #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) + //// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP + //// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + // #endif - #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) - //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out - //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue - //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out - //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out - //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out - //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out - //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out - //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out - //// #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out - //// #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out - //// #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out - //// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out - #endif + // don't need `#if`, animation modes themselves check defines + // #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out + //// #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out + //// #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out + //// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out + // #endif #endif diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c index 2a42295b97a4..c62db2c72434 100644 --- a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c +++ b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c @@ -1,5 +1,5 @@ /* - * Idobao ID67 Keymap for a ID67 Bestype, built for Mac use + * IDOBAO ID67 Keymap for a ID67 Bestype, built for Mac use * Copyright (C) 2022 Vino Rodrigues * * This program is free software: you can redistribute it and/or modify @@ -20,10 +20,10 @@ #include "version.h" enum { - LAYER_0 = 0, - LAYER_1, - LAYER_2, - LAYER_3 + _BASE = 0, + _FN1, + _FN2, + _FN3 }; enum { @@ -37,32 +37,32 @@ enum macos_consumer_usages { _AC_SHOW_ALL_APPS = 0x2A0 // mapped to KC_LPAD }; -#define LT1_C_L LT(LAYER_1, KC_CAPS) +#define LT1_C_L LT(_FN1, KC_CAPS) #ifndef MIN #define MIN(a, b) (((a) < (b)) ? (a) : (b)) #endif const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_0] = LAYOUT_65_ansi_blocker( + [_BASE] = LAYOUT_65_ansi_blocker( 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_GRAVE, \ 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_DELETE, \ LT1_C_L, 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, \ 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, \ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, FN_MO13, FN_MO23, KC_LEFT, KC_DOWN, KC_RIGHT), - [LAYER_1] = LAYOUT_65_ansi_blocker( + [_FN1] = LAYOUT_65_ansi_blocker( KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_ERAS, KC_F13, \ _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_HOME, KC_END, KC_EJCT, KC_INS, \ KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, KC_PENT, KC_HOME, \ KC_RSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_DELETE, KC_LSFT, _______, KC_END, \ KC_RCTL, KC_RALT, KC_RGUI, _______, _______, _______, _______, _______, _______), - [LAYER_2] = LAYOUT_65_ansi_blocker( + [_FN2] = LAYOUT_65_ansi_blocker( KC_ESC, KC_BRID, KC_BRIU, KC_MCON, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_OUT, KC_F14, \ RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, \ XXXXXXX, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, XXXXXXX, KC_SLCK, \ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_SAD, XXXXXXX, RGB_VAI, KC_PAUS, \ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPD, RGB_VAD, RGB_SPI), - [LAYER_3] = LAYOUT_65_ansi_blocker( + [_FN3] = LAYOUT_65_ansi_blocker( RESET, MACRO01, MACRO02, MACRO03, MACRO04, MACRO05, MACRO06, MACRO07, MACRO08, MACRO09, MACRO10, MACRO11, MACRO12, KC_POWER, KC_F15, \ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, \ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, \ @@ -95,6 +95,8 @@ const uint8_t g_led_config_new_flags[DRIVER_LED_TOTAL] = { 0x21, 0x01, 0x04, 0x04, 0x04, 0x04, 0x24, 0x24, 0x24, 0x24, 0x04, 0x04, 0x04, 0x04, 0x21 // 123 row }; +#define ID67_CAPS_LOCK_KEY_INDEX 36 // position of Caps Lock key + bool isRGBOff = false; bool isCapsBlink = false; static uint16_t recording_timer; @@ -121,7 +123,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (host_keyboard_led_state().caps_lock) { if (isRGBOff) { - rgb_matrix_set_color(23, v, v, v); // white + rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, v, v, v); // white } else { // Caps Lock key/LED if (timer_elapsed(recording_timer) > 500) { @@ -129,7 +131,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { recording_timer = timer_read(); } if (isCapsBlink) { - rgb_matrix_set_color(23, v, v, v); // white + rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, v, v, v); // white } // Alpha keys/LEDs @@ -144,21 +146,21 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t g = 0; uint8_t b = 0; - if ((g_led_config.flags[23] & LED_FLAG_LAYER_IND) != 0) { + if ((g_led_config.flags[ID67_CAPS_LOCK_KEY_INDEX] & LED_FLAG_LAYER_IND) != 0) { switch (current_layer) { - case LAYER_1: b = v; break; // blue - case LAYER_2: g = v; break; // green - case LAYER_3: r = v; break; // red + case _FN1: b = v; break; // blue + case _FN2: g = v; break; // green + case _FN3: r = v; break; // red } } - rgb_matrix_set_color(23, r, g, b); // off + rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, r, g, b); // off } // Layer indicator stuff switch (current_layer) { - case LAYER_1: + case _FN1: for (uint8_t i = led_min; i <= led_max; i++) { if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) { rgb_matrix_set_color(i, 0, 0, v); // blue @@ -166,7 +168,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } break; - case LAYER_2: + case _FN2: for (uint8_t i = led_min; i <= led_max; i++) { if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) { rgb_matrix_set_color(i, 0, v, 0); // green @@ -174,7 +176,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } break; - case LAYER_3: + case _FN3: for (uint8_t i = led_min; i <= led_max; i++) { if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) { rgb_matrix_set_color(i, v, 0, 0); // red diff --git a/keyboards/idobao/id67/post_rules.mk b/keyboards/idobao/id67/post_rules.mk new file mode 100644 index 000000000000..5eecdef4ce26 --- /dev/null +++ b/keyboards/idobao/id67/post_rules.mk @@ -0,0 +1,14 @@ +# Some ID67 variants (v1 base build & "Bestype") have a solid back plate, +# this enables switching off thoes LEDs +# Usage: `make idobao/id67:default UNDERGLOW=off` + +ifeq ($(findstring off,$(UNDERGLOW)), off) + $(info ** UNDERGLOW OFF) + OPT_DEFS += -DID67_DISABLE_UNDERGLOW +else ifeq ($(findstring no,$(UNDERGLOW)), no) + $(info ** NO UNDERGLOW) + OPT_DEFS += -DID67_DISABLE_UNDERGLOW +else ifeq ($(findstring 0,$(UNDERGLOW)), 0) + $(info ** Nil UNDERGLOW) + OPT_DEFS += -DID67_DISABLE_UNDERGLOW +endif diff --git a/keyboards/idobao/id67/readme.md b/keyboards/idobao/id67/readme.md index c061db8f0301..b69e2e60b171 100644 --- a/keyboards/idobao/id67/readme.md +++ b/keyboards/idobao/id67/readme.md @@ -1,6 +1,6 @@ # IDOBAO ID67 -![id67](https://i.imgur.com/9roQ4Mih.jpeg) +![id67](https://idobao.github.io/assets/img/idobao-id67.png) A 65% hotswap keyboard from IDOBAO. @@ -9,14 +9,14 @@ A 65% hotswap keyboard from IDOBAO. * Keyboard Maintainer: Tybera *(fmr.)*, [thewerther](https://github.com/thewerther) *(curr.)* * Hardware Supported: IDOBAO ID67, ID67V2, ID67 Crystal & ID67 Bestype * Hardware Availability: IDOBAO website: -* [ID67](https://www.idobao.net/products/idobao-id67-65-hot-swappable-mechanical-keyboard-kit-1) -* [ID67V2](https://idobao.net/collections/65-layout/products/idobao-id67v2-65-hot-swappable-mechanical-keyboard-kit) -* [ID67 Crystal](https://idobao.net/collections/65-layout/products/idobao-id67-crystal-keyboard-kit-gasket-mount-version) -* [ID67 Bestype](https://idobao.net/collections/65-layout/products/idobao-id67-bestype-keyboard-kit-aluminum-with-brass-weight) + * [ID67](https://www.idobao.net/products/idobao-id67-65-hot-swappable-mechanical-keyboard-kit-1) + * [ID67V2](https://idobao.net/products/idobao-id67v2-65-hot-swappable-mechanical-keyboard-kit) + * [ID67 Crystal](https://idobao.net/products/idobao-id67-crystal-keyboard-kit-gasket-mount-version) + * [ID67 Bestype](https://idobao.net/products/idobao-id67-bestype-keyboard-kit-aluminum-with-brass-weight) ## Layout -![ID67 layout](https://i.imgur.com/Ge6Uxao.png) +![ID67 layout](https://idobao.github.io/kle/idobao-id67.png) ## Compiling and flashing diff --git a/keyboards/idobao/id67/rules.mk b/keyboards/idobao/id67/rules.mk index cda7bbd9cd26..729e1ca67cef 100644 --- a/keyboards/idobao/id67/rules.mk +++ b/keyboards/idobao/id67/rules.mk @@ -16,10 +16,6 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output - RGB_MATRIX_ENABLE = yes # Enable RGB Matrix feature RGB_MATRIX_DRIVER = WS2812 # ID67 uses WS2812 driver - -KEY_LOCK_ENABLE = yes # Enable KC_LOCK support -LTO_ENABLE = yes LAYOUTS = 65_ansi_blocker From ffa1b37634418a4928e7d2b64cb08f31512dcedf Mon Sep 17 00:00:00 2001 From: HorrorTroll Date: Thu, 12 May 2022 11:47:41 +0700 Subject: [PATCH 0655/1832] [Keyboard] Add Black E6.5 keyboard (#16807) --- .../chinese_pcb/black_e65/black_e65.c | 17 + .../chinese_pcb/black_e65/black_e65.h | 858 ++++++ .../chinese_pcb/black_e65/config.h | 76 + .../chinese_pcb/black_e65/info.json | 2346 +++++++++++++++++ .../black_e65/keymaps/default/keymap.c | 87 + .../black_e65/keymaps/default/readme.md | 3 + .../black_e65/keymaps/via/config.h | 19 + .../black_e65/keymaps/via/keymap.c | 87 + .../black_e65/keymaps/via/readme.md | 3 + .../black_e65/keymaps/via/rules.mk | 2 + .../chinese_pcb/black_e65/readme.md | 24 + .../chinese_pcb/black_e65/rules.mk | 18 + keyboards/horrortroll/chinese_pcb/readme.md | 11 +- keyboards/horrortroll/readme.md | 13 +- 14 files changed, 3558 insertions(+), 6 deletions(-) create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/black_e65.c create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/black_e65.h create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/config.h create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/info.json create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/keymaps/default/keymap.c create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/keymaps/default/readme.md create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/config.h create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/keymap.c create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/readme.md create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/rules.mk create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/readme.md create mode 100644 keyboards/horrortroll/chinese_pcb/black_e65/rules.mk diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/black_e65.c b/keyboards/horrortroll/chinese_pcb/black_e65/black_e65.c new file mode 100644 index 000000000000..968d0da9031b --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/black_e65.c @@ -0,0 +1,17 @@ +/* Copyright 2021 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "black_e65.h" diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/black_e65.h b/keyboards/horrortroll/chinese_pcb/black_e65/black_e65.h new file mode 100644 index 000000000000..a28f3fed2b89 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/black_e65.h @@ -0,0 +1,858 @@ +/* Copyright 2021 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │49 │4A │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ + */ + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K49, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, K49, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │4A │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_65_all_noblocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │4A │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_noblocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │4A │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_noblocker_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │4A │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_65_iso_noblocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │4A │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_65_iso_noblocker_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │49 │ │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_all_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │49 │ │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │49 │ │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_blocker_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │49 │ │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_iso_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │48 │49 │ │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_iso_blocker_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K48, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, K48, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │40 │41 │46 │48 │4A │4B │4C │4D │ + * └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_65_all_7u_noblocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, XXX, XXX, XXX, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├─────┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │40 │41 │46 │48 │4A │4B │4C │4D │ + * └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_7u_noblocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, XXX, XXX, XXX, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├─────┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │40 │41 │46 │48 │4A │4B │4C │4D │ + * └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_7u_noblocker_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, XXX, XXX, XXX, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │40 │41 │46 │48 │4A │4B │4C │4D │ + * └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_65_iso_7u_noblocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, XXX, XXX, XXX, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │40 │41 │46 │48 │4A │4B │4C │4D │ + * └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + +#define LAYOUT_65_iso_7u_noblocker_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K46, K48, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, XXX, XXX, XXX, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │49 │ │4B │4C │4D │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_all_7u_wk( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │49 │ │4B │4C │4D │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_7u_wk( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │49 │ │4B │4C │4D │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_7u_wk_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │49 │ │4B │4C │4D │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_iso_7u_wk( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │46 │49 │ │4B │4C │4D │ + * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_iso_7u_wk_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │40 │ │42 │46 │49 │ │4B │4C │4D │ + * └─────┘ └─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_all_7u_wkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K42, K46, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, XXX, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │40 │ │42 │46 │49 │ │4B │4C │4D │ + * └─────┘ └─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_7u_wkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K42, K46, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, XXX, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │40 │ │42 │46 │49 │ │4B │4C │4D │ + * └─────┘ └─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_7u_wkl_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K42, K46, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, XXX, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │40 │ │42 │46 │49 │ │4B │4C │4D │ + * └─────┘ └─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_iso_7u_wkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K42, K46, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, XXX, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │40 │ │42 │46 │49 │ │4B │4C │4D │ + * └─────┘ └─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_iso_7u_wkl_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K42, K46, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, XXX, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * └─┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─┬───┼───┼───┤ + * │40 │41 │46 │48 │49 │ │4B │4C │4D │ + * └───┴─────┴───────────────────────────┴─────┴───┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_all_7u_hhkb( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K46, K48, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, XXX, XXX, XXX, XXX, K46, XXX, K48, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * └─┬───┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─┬───┼───┼───┤ + * │40 │41 │46 │48 │49 │ │4B │4C │4D │ + * └───┴─────┴───────────────────────────┴─────┴───┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_7u_hhkb( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K46, K48, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, XXX, XXX, XXX, XXX, K46, XXX, K48, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * └─┬───┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─┬───┼───┼───┤ + * │40 │41 │46 │48 │49 │ │4B │4C │4D │ + * └───┴─────┴───────────────────────────┴─────┴───┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_7u_hhkb_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K46, K48, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, XXX, XXX, XXX, XXX, K46, XXX, K48, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * └─┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─┬───┼───┼───┤ + * │40 │41 │46 │48 │49 │ │4B │4C │4D │ + * └───┴─────┴───────────────────────────┴─────┴───┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_iso_7u_hhkb( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K46, K48, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, XXX, XXX, XXX, XXX, K46, XXX, K48, K49, XXX, K4B, K4C, K4D, K4E } \ +} + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1D ├───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ + * └─┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─┬───┼───┼───┤ + * │40 │41 │46 │48 │49 │ │4B │4C │4D │ + * └───┴─────┴───────────────────────────┴─────┴───┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_iso_7u_hhkb_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K46, K48, K49, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, XXX, XXX, XXX, XXX, K46, XXX, K48, K49, XXX, K4B, K4C, K4D, K4E } \ +} diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/config.h b/keyboards/horrortroll/chinese_pcb/black_e65/config.h new file mode 100644 index 000000000000..c3b5ff75a5f7 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/config.h @@ -0,0 +1,76 @@ +/* Copyright 2021 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7516 +#define PRODUCT_ID 0x6003 +#define DEVICE_VER 0x0001 +#define MANUFACTURER HorrorTroll +#define PRODUCT Black E6.5 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0 } + +#define BOOTMAGIC_LITE_ROW 3 +#define BOOTMAGIC_LITE_COLUMN 6 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Forcing to use NKRO instead 6KRO */ +#define FORCE_NKRO + +/* Change larger keys per scan for elite gaming */ +#define QMK_KEYS_PER_SCAN 12 + +/* LED Indicator */ +#define LED_CAPS_LOCK_PIN C7 + +#ifdef BACKLIGHT_ENABLE + /* Backlight config */ + #define BACKLIGHT_PIN B6 + #define BACKLIGHT_LEVELS 6 +#endif + +#ifdef RGBLIGHT_ENABLE + /* RGB Lighting config */ + #define RGB_DI_PIN E2 + #define RGBLED_NUM 24 + + /* RGB Lighting effect */ + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_RGB_TEST + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_TWINKLE +#endif diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/info.json b/keyboards/horrortroll/chinese_pcb/black_e65/info.json new file mode 100644 index 000000000000..1b6c9ce00639 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/info.json @@ -0,0 +1,2346 @@ +{ + "keyboard_name": "Devil68 Pro", + "url": "", + "maintainer": "HorrorTroll", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4}, + {"label":"Fn", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_all_noblocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_noblocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_noblocker_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_noblocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_noblocker_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_all_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Fn", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Fn", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_blocker_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Fn", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Fn", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_blocker_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Fn", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_all_7u_noblocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_7u_noblocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_7u_noblocker_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_7u_noblocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_7u_noblocker_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_all_7u_wk": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Fn", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_7u_wk": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Fn", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_7u_wk_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Fn", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_7u_wk": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Fn", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_7u_wk_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Fn", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_all_7u_wkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Fn", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_7u_wkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Fn", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_7u_wkl_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Fn", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_7u_wkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Fn", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_7u_wkl_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Fn", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_all_7u_hhkb": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0.5, "y":4}, + {"label":"Win", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Fn", "x":11.5, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_7u_hhkb": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0.5, "y":4}, + {"label":"Win", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Fn", "x":11.5, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_ansi_7u_hhkb_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0.5, "y":4}, + {"label":"Win", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Fn", "x":11.5, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_7u_hhkb": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0.5, "y":4}, + {"label":"Win", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Fn", "x":11.5, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + "LAYOUT_65_iso_7u_hhkb_splitbs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"`~", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"ISO Hash", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"Shift", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Fn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0.5, "y":4}, + {"label":"Win", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Fn", "x":11.5, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + } +} diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/default/keymap.c b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/default/keymap.c new file mode 100644 index 000000000000..0f838488ef00 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/default/keymap.c @@ -0,0 +1,87 @@ +/* Copyright 2021 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum layer_names { + _BASE, + _FN, +}; + +// enum layer_keycodes { }; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ` │Bks│Del│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │PgU│ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │PgD│ + ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + │LSft│LSt│ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ ↑ │Fn │ + ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + │LCrl│GUI │LAlt│ Space │RAt│Fn │RCl│ ← │ ↓ │ → │ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ ~ │ │ │ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ │ + ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + │LSft│LSt│ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ + ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + │ │ │ │ │ │ │ │ │ │ │ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_BASE] = LAYOUT_all( + 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_GRV, KC_BSPC, + 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_PGUP, + 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, + KC_LSFT, 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, MO(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL + ), + +/* + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + │Rst│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │PSc│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + │RTog │Mod│Hui│Hud│Sai│Sad│Vai│Vad│ │ │ │ │ │ │Hom│ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + │BTog │BTg│Dec│Inc│Ste│ │ │ │ │ │ │ │ │End│ + ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + │ │ │ │ │ │ │ │ │ │ │ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_FN] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_HOME, + BL_TOGG, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR + ), +}; diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/default/readme.md b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/default/readme.md new file mode 100644 index 000000000000..820d3551c3d3 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# Default Layout + +Keymap is default 68 qwerty, 65% layout diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/config.h b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/config.h new file mode 100644 index 000000000000..6e5965cd6776 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/keymap.c b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/keymap.c new file mode 100644 index 000000000000..0f838488ef00 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/keymap.c @@ -0,0 +1,87 @@ +/* Copyright 2021 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum layer_names { + _BASE, + _FN, +}; + +// enum layer_keycodes { }; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ` │Bks│Del│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │PgU│ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │PgD│ + ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + │LSft│LSt│ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ ↑ │Fn │ + ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + │LCrl│GUI │LAlt│ Space │RAt│Fn │RCl│ ← │ ↓ │ → │ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ ~ │ │ │ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ │ + ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + │LSft│LSt│ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ + ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + │ │ │ │ │ │ │ │ │ │ │ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_BASE] = LAYOUT_all( + 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_GRV, KC_BSPC, + 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_PGUP, + 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, + KC_LSFT, 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, MO(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL + ), + +/* + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + │Rst│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │PSc│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + │RTog │Mod│Hui│Hud│Sai│Sad│Vai│Vad│ │ │ │ │ │ │Hom│ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + │BTog │BTg│Dec│Inc│Ste│ │ │ │ │ │ │ │ │End│ + ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + │ │ │ │ │ │ │ │ │ │ │ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_FN] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_HOME, + BL_TOGG, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR + ), +}; diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/readme.md b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/readme.md new file mode 100644 index 000000000000..b0407cd26677 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/readme.md @@ -0,0 +1,3 @@ +# Default Layout with VIA + +Keymap is default 68 qwerty, 65% multi-layout diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/rules.mk b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/readme.md b/keyboards/horrortroll/chinese_pcb/black_e65/readme.md new file mode 100644 index 000000000000..2a08ee20f39d --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/readme.md @@ -0,0 +1,24 @@ +# Black E6.5 + +A chinese PCB clone of Exclusive E6.5. + +* Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll) +* Hardware Supported: Atmega32u4 + +Make example for this keyboard (after setting up your build environment): + + make horrortroll/chinese_pcb/black_e65:default + +Flashing example for this keyboard: + + make horrortroll/chinese_pcb/black_e65:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (3,6) in the matrix (B key) and plug in the keyboard +* **Physical reset button**: Press and hold the button on the back of the PCB, then plug in the keyboard +* **Keycode in layout**: Press the key mapped to RESET if it is available diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/rules.mk b/keyboards/horrortroll/chinese_pcb/black_e65/rules.mk new file mode 100644 index 000000000000..38f81fd4dcc3 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/black_e65/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/horrortroll/chinese_pcb/readme.md b/keyboards/horrortroll/chinese_pcb/readme.md index 3aa0ce619566..3ed2a7c71ba4 100644 --- a/keyboards/horrortroll/chinese_pcb/readme.md +++ b/keyboards/horrortroll/chinese_pcb/readme.md @@ -6,9 +6,10 @@ This is a folder for collection code of Chinese PCB, where they only sold one-ti
Click to expand! - | Keyboard name | MCU | Layout | Hotswap | LED | OLED | Other | - | ------------- | ------------- | ------------- | ------- | ---- | ---- | ----- | - | Devil68 Pro | Atmega32U4 | 68 Keys (65%) | Yes | RGB | No | No | - | M63 RGB | STM32F072CBU6 | 63 Keys (60%) | Yes | RGB | No | No | - | | | | | | | | + | Keyboard name | MCU | Layout | Hotswap | LED | OLED | Other | + | ------------- | ------------- | ------------- | ------- | ------------------------ | ---- | ----- | + | Black E6.5 | Atmega32U4 | 68 Keys (65%) | No | Backlight & RGB Lighting | No | No | + | Devil68 Pro | Atmega32U4 | 68 Keys (65%) | Yes | RGB Matrix | No | No | + | M63 RGB | STM32F072CBU6 | 63 Keys (60%) | Yes | RGB Matrix | No | No | + | | | | | | | |
diff --git a/keyboards/horrortroll/readme.md b/keyboards/horrortroll/readme.md index 0cef793ef9bd..da9ab0ae2f12 100644 --- a/keyboards/horrortroll/readme.md +++ b/keyboards/horrortroll/readme.md @@ -2,7 +2,18 @@ In here, you can find: - Chinese PCB that doesn't have source code (lost contact of Maker, can't found on Taobao, ... etc) -- My keyboard (ETA on future) +- My keyboard + +## List for my keyboard in here: +
+ Click to expand! + + | Keyboard name | MCU | Layout | Hotswap | LED | OLED | Other | + | -------------- | ------------- | ------------- | ------- | ------------ | ---- | ----- | + | Handwired K552 | STM32F103RCT6 | 87 Keys (TKL) | Yes | RGB Lighting | Yes | No | + | Paws 60 | Atmega32U4 | 68 Keys (65%) | Yes | No | No | No | + | | | | | | | | +
## Contact me if you have any problem From 4d1332b62c53282631aa8d24fee1105c6322352a Mon Sep 17 00:00:00 2001 From: JX <572673807@qq.com> Date: Thu, 12 May 2022 12:48:47 +0800 Subject: [PATCH 0656/1832] [Keyboard] Cleanup zhou65 and add nz64 keyboard (#17032) Co-authored-by: Drashna Jaelre --- keyboards/yandrstudio/info.json | 8 ++ keyboards/yandrstudio/nz64/board.h | 21 +++ keyboards/yandrstudio/nz64/config.h | 122 ++++++++++++++++++ keyboards/yandrstudio/nz64/halconf.h | 21 +++ keyboards/yandrstudio/nz64/info.json | 13 ++ .../yandrstudio/nz64/keymaps/default/keymap.c | 32 +++++ .../yandrstudio/nz64/keymaps/via/keymap.c | 44 +++++++ .../yandrstudio/nz64/keymaps/via/rules.mk | 1 + keyboards/yandrstudio/nz64/mcuconf.h | 36 ++++++ keyboards/yandrstudio/nz64/nz64.c | 109 ++++++++++++++++ keyboards/yandrstudio/nz64/nz64.h | 40 ++++++ keyboards/yandrstudio/nz64/readme.md | 22 ++++ keyboards/yandrstudio/nz64/rules.mk | 21 +++ keyboards/yandrstudio/zhou65/board.h | 2 +- keyboards/yandrstudio/zhou65/config.h | 2 - keyboards/yandrstudio/zhou65/info.json | 13 +- .../zhou65/keymaps/default/keymap.c | 2 +- .../yandrstudio/zhou65/keymaps/via/keymap.c | 8 +- keyboards/yandrstudio/zhou65/mcuconf.h | 59 +-------- keyboards/yandrstudio/zhou65/readme.md | 2 +- 20 files changed, 510 insertions(+), 68 deletions(-) create mode 100644 keyboards/yandrstudio/info.json create mode 100644 keyboards/yandrstudio/nz64/board.h create mode 100644 keyboards/yandrstudio/nz64/config.h create mode 100644 keyboards/yandrstudio/nz64/halconf.h create mode 100644 keyboards/yandrstudio/nz64/info.json create mode 100644 keyboards/yandrstudio/nz64/keymaps/default/keymap.c create mode 100644 keyboards/yandrstudio/nz64/keymaps/via/keymap.c create mode 100644 keyboards/yandrstudio/nz64/keymaps/via/rules.mk create mode 100644 keyboards/yandrstudio/nz64/mcuconf.h create mode 100644 keyboards/yandrstudio/nz64/nz64.c create mode 100644 keyboards/yandrstudio/nz64/nz64.h create mode 100644 keyboards/yandrstudio/nz64/readme.md create mode 100644 keyboards/yandrstudio/nz64/rules.mk diff --git a/keyboards/yandrstudio/info.json b/keyboards/yandrstudio/info.json new file mode 100644 index 000000000000..2d4293ea31d2 --- /dev/null +++ b/keyboards/yandrstudio/info.json @@ -0,0 +1,8 @@ +{ + "url": "https://github.com/Oh-My-Mechanical-Keyboard", + "maintainer": "Jason Ren (biu)", + "manufacturer": "Y&R", + "usb": { + "vid": "0xAA96" + } +} diff --git a/keyboards/yandrstudio/nz64/board.h b/keyboards/yandrstudio/nz64/board.h new file mode 100644 index 000000000000..8a068cd8831c --- /dev/null +++ b/keyboards/yandrstudio/nz64/board.h @@ -0,0 +1,21 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include_next "board.h" + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000 diff --git a/keyboards/yandrstudio/nz64/config.h b/keyboards/yandrstudio/nz64/config.h new file mode 100644 index 000000000000..5ef9ef1ece10 --- /dev/null +++ b/keyboards/yandrstudio/nz64/config.h @@ -0,0 +1,122 @@ +/* Copyright 2021 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xAA96 +#define PRODUCT_ID 0xAAAF +#define DEVICE_VER 0x0001 +#define MANUFACTURER Y&R +#define PRODUCT nz64 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 +#define MATRIX_COL_PINS { A15, B3, B4, B6, B7, B5, C13, A5, A4, B14, B15, A8, A9, A10 } +#define MATRIX_ROW_PINS { C14, B13, B12, C15, A3 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Fix VIA RGB_light */ +#define VIA_HAS_BROKEN_KEYCODES + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + + +/* RGN Matrix */ +#ifdef RGB_MATRIX_ENABLE +# define RGB_DI_PIN A7 +# define RGBLED_NUM 82 +# define DRIVER_LED_TOTAL RGBLED_NUM + +# define WS2812_PWM_DRIVER PWMD3 // default: PWMD2 +# define WS2812_PWM_CHANNEL 2 // default: 2 +# define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +# define WS2812_DMA_CHANNEL 5 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. + + +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 +# define RGBLIGHT_VAL_STEP 18 +# define RGB_DISABLE_WHEN_USB_SUSPENDED true +# define RGB_MATRIX_CENTER { 96, 32 } +# define RGB_MATRIX_KEYPRESSES +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_BAND_SAT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_DUAL_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_RAINDROPS +# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +# define ENABLE_RGB_MATRIX_HUE_BREATHING +# define ENABLE_RGB_MATRIX_HUE_PENDULUM +# define ENABLE_RGB_MATRIX_HUE_WAVE +# define ENABLE_RGB_MATRIX_PIXEL_RAIN +# define ENABLE_RGB_MATRIX_PIXEL_FLOW +# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +/* enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined */ +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +/* enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined */ +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_SPLASH +# define ENABLE_RGB_MATRIX_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_SPLASH +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + +#endif + + +#ifdef RGBLIGHT_ENABLE +# define RGB_DI_PIN A7 +# define RGBLED_NUM 82 +# define DRIVER_LED_TOTAL RGBLED_NUM + +# define WS2812_PWM_DRIVER PWMD3 // default: PWMD2 +# define WS2812_PWM_CHANNEL 2 // default: 2 +# define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +# define WS2812_DMA_CHANNEL 5 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#endif diff --git a/keyboards/yandrstudio/nz64/halconf.h b/keyboards/yandrstudio/nz64/halconf.h new file mode 100644 index 000000000000..1e6019b97f6f --- /dev/null +++ b/keyboards/yandrstudio/nz64/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#include_next + +#undef HAL_USE_PWM +#define HAL_USE_PWM TRUE diff --git a/keyboards/yandrstudio/nz64/info.json b/keyboards/yandrstudio/nz64/info.json new file mode 100644 index 000000000000..3275ac6f6e91 --- /dev/null +++ b/keyboards/yandrstudio/nz64/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "nz64", + "processor": "STM32F401", + "usb": { + "pid": "0xAAAF", + "device_version": "1.0.0" + }, + "layouts": { + "LAYOUT": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] + } + } +} diff --git a/keyboards/yandrstudio/nz64/keymaps/default/keymap.c b/keyboards/yandrstudio/nz64/keymaps/default/keymap.c new file mode 100644 index 000000000000..1ff72b568b30 --- /dev/null +++ b/keyboards/yandrstudio/nz64/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +/* Copyright 2021 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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_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_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_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_DELETE, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT), + [1] = LAYOUT( + 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, KC_DEL, + 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, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, LOCK_GUI, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, 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, KC_TRNS) +}; diff --git a/keyboards/yandrstudio/nz64/keymaps/via/keymap.c b/keyboards/yandrstudio/nz64/keymaps/via/keymap.c new file mode 100644 index 000000000000..195a39ff399c --- /dev/null +++ b/keyboards/yandrstudio/nz64/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2021 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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_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_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_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_DELETE, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT), + [1] = LAYOUT( + 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, KC_DEL, + 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, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, LOCK_GUI, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, 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, KC_TRNS), + [2] = LAYOUT( + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [3] = LAYOUT( + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/yandrstudio/nz64/keymaps/via/rules.mk b/keyboards/yandrstudio/nz64/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/yandrstudio/nz64/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/yandrstudio/nz64/mcuconf.h b/keyboards/yandrstudio/nz64/mcuconf.h new file mode 100644 index 000000000000..f3222bcfcce2 --- /dev/null +++ b/keyboards/yandrstudio/nz64/mcuconf.h @@ -0,0 +1,36 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE + +#define STM32_PLLM_VALUE (STM32_HSECLK/1000000) +#define STM32_PLLN_VALUE 192 +#define STM32_PLLP_VALUE 4 +#define STM32_PLLQ_VALUE 4 + + + + diff --git a/keyboards/yandrstudio/nz64/nz64.c b/keyboards/yandrstudio/nz64/nz64.c new file mode 100644 index 000000000000..9945dec04e4c --- /dev/null +++ b/keyboards/yandrstudio/nz64/nz64.c @@ -0,0 +1,109 @@ +/* Copyright 2021 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "nz64.h" + +#ifdef RGB_MATRIX_ENABLE + +typedef union { + uint32_t raw; + uint8_t underground_rgb_sw :8; +} kb_cums_t; +kb_cums_t kb_cums; + +led_config_t g_led_config = { + { + { 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52 }, + { 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38 }, + { 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, NO_LED, 25 }, + { 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11 }, + { 10, 9, 8, NO_LED, NO_LED, 6, NO_LED, NO_LED, NO_LED, 4, 3, 2, 1, 0 } + }, + { + /* LED Index to Physical Position */ + {224,64},{207,64},{190,64},{172,64},{155,64}, {121,64}, {86,64}, {52,64}, {34,64},{17,64},{0,64}, + {224,48},{207,48},{190,48},{172,48},{155,48},{138,48},{121,48},{103,48},{86,48},{69,48},{52,48},{34,48},{17,48},{0,48}, + {224,32},{190,32},{172,32},{155,32},{138,32},{121,32},{103,32},{86,32},{69,32},{52,32},{34,32},{17,32},{0,32}, + {224,16},{207,16},{190,16},{172,16},{155,16},{138,16},{121,16},{103,16},{86,16},{69,16},{52,16},{34,16},{17,16},{0,16}, + {224,0},{207,0},{190,0},{172,0},{155,0},{138,0},{121,0},{103,0},{86,0},{69,0},{52,0},{34,0},{17,0},{0,0}, + {0,0},{37,0},{75,0},{112,0},{149,0},{187,0},{224,0}, + {0,32}, + {224,64},{187,64},{149,64},{112,64},{75,64},{37,64},{0,64}, + {224,32} + }, + { + /* LED Index to Flag */ + 4,4,4,4,4, 4,4,4,4,4, + 4,4,4,4,4, 4,4,4,4,4, + 4,4,4,4,4, 4,4,4,4,4, + 4,4,4,4,4, 4,4,4,4,4, + 4,4,4,4,4, 4,4,4,4,4, + 4,4,4,4,4, 4,4,4,4,4, + 4,4,4,4,4, 4, + 2,2,2,2,2, 2,2,2,2,2, + 2,2,2,2,2, 2 + } +}; + +void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (rgb_matrix_is_enabled()) { + if (kb_cums.underground_rgb_sw == 1) { + for (uint8_t i = led_min; i < led_max; ++i) { + if ((g_led_config.flags[i] == 4)) { + rgb_matrix_set_color(i, 0, 0, 0); + } + } + } else if (kb_cums.underground_rgb_sw == 2) { + for (uint8_t i = led_min; i < led_max; ++i) { + if ((g_led_config.flags[i] == 2)) { + rgb_matrix_set_color(i, 0, 0, 0); + } + } + } + } else { + rgb_matrix_set_color_all(0,0,0); + } +} + +void eeconfig_init_kb(void) { + kb_cums.raw = 0; + eeconfig_update_kb(kb_cums.raw); +} + +void keyboard_post_init_kb(void) { + kb_cums.underground_rgb_sw = eeconfig_read_kb(); +} + +#endif + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch(keycode) { +#ifdef RGB_MATRIX_ENABLE + case URGB_K: + if (rgb_matrix_config.enable && record->event.pressed) { + kb_cums.underground_rgb_sw += 1; + kb_cums.underground_rgb_sw %= 3; + } + eeconfig_update_kb(kb_cums.raw); + return false; +#endif + case LOCK_GUI: + process_magic(GUI_TOG, record); + return false; + default: + return true; + } + return true; +} diff --git a/keyboards/yandrstudio/nz64/nz64.h b/keyboards/yandrstudio/nz64/nz64.h new file mode 100644 index 000000000000..fd28481d5591 --- /dev/null +++ b/keyboards/yandrstudio/nz64/nz64.h @@ -0,0 +1,40 @@ +/* Copyright 2020 zvecr + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \ + K400, K401, K402, K405, K409, K410, K411, K412, K413 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, KC_NO, K213 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313 }, \ + { K400, K401, K402, KC_NO, KC_NO, K405, KC_NO, KC_NO, KC_NO, K409, K410, K411, K412, K413 } \ +} + +#ifdef RGB_MATRIX_ENABLE +#define URGB_K KC_F24 +#else +#define URGB_K KC_TRNS +#endif + +#define LOCK_GUI KC_F23 diff --git a/keyboards/yandrstudio/nz64/readme.md b/keyboards/yandrstudio/nz64/readme.md new file mode 100644 index 000000000000..ca52d65ee941 --- /dev/null +++ b/keyboards/yandrstudio/nz64/readme.md @@ -0,0 +1,22 @@ +# nz64 + +A 64 keys keyboard with rgb (keys). +This keyboard use 16mhz HSE and STM32F401 as MCU. + +- Keyboard Maintainer: https://github.com/jiaxin96 +- Hardware Supported: nz64 +- Hardware Availability: https://github.com/Oh-My-Mechanical-Keyboard + +Make example for this keyboard (after setting up your build environment): + + make yandrstudio/nz64:default + +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key which is Escape in this keyboard) and plug in the keyboard +* **Physical reset pins**: Short circuit the `bt0` and `vcc` pins on the back of the PCB and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `RESET` if it is available. diff --git a/keyboards/yandrstudio/nz64/rules.mk b/keyboards/yandrstudio/nz64/rules.mk new file mode 100644 index 000000000000..298305d3f9db --- /dev/null +++ b/keyboards/yandrstudio/nz64/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = STM32F401 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE) +RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support +WS2812_DRIVER = pwm # Driver for RGB diff --git a/keyboards/yandrstudio/zhou65/board.h b/keyboards/yandrstudio/zhou65/board.h index 80dd97ed57a6..8a068cd8831c 100644 --- a/keyboards/yandrstudio/zhou65/board.h +++ b/keyboards/yandrstudio/zhou65/board.h @@ -18,4 +18,4 @@ #include_next "board.h" #undef STM32_HSECLK -#define STM32_HSECLK 8000000 +#define STM32_HSECLK 16000000 diff --git a/keyboards/yandrstudio/zhou65/config.h b/keyboards/yandrstudio/zhou65/config.h index f4d8199e133b..3dbfd3b43651 100644 --- a/keyboards/yandrstudio/zhou65/config.h +++ b/keyboards/yandrstudio/zhou65/config.h @@ -43,5 +43,3 @@ /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/yandrstudio/zhou65/info.json b/keyboards/yandrstudio/zhou65/info.json index 640fb7ad68df..26fc92799a35 100644 --- a/keyboards/yandrstudio/zhou65/info.json +++ b/keyboards/yandrstudio/zhou65/info.json @@ -1,10 +1,13 @@ { - "keyboard_name": "zhou65", - "url": "https://github.com/Oh-My-Mechanical-Keyboard ", - "maintainer": "Jason Ren (biu)", + "keyboard_name": "zhou65", + "processor": "STM32F401", + "usb": { + "pid": "0xAAAD", + "device_version": "1.0.0" + }, "layouts": { "LAYOUT": { - "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0, "w":2}, {"label":"0,14", "x":15, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"1,14", "x":15, "y":1}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,13", "x":12.75, "y":2, "w":2.25}, {"label":"2,14", "x":15, "y":2}, {"label":"3,0", "x":0, "y":3, "w":2.25}, {"label":"3,1", "x":2.25, "y":3}, {"label":"3,2", "x":3.25, "y":3}, {"label":"3,3", "x":4.25, "y":3}, {"label":"3,4", "x":5.25, "y":3}, {"label":"3,5", "x":6.25, "y":3}, {"label":"3,6", "x":7.25, "y":3}, {"label":"3,7", "x":8.25, "y":3}, {"label":"3,8", "x":9.25, "y":3}, {"label":"3,9", "x":10.25, "y":3}, {"label":"3,10", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"3,14", "x":15, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,5", "x":3.75, "y":4, "w":6.25}, {"label":"4,9", "x":10, "y":4, "w":1.25}, {"label":"4,10", "x":11.25, "y":4, "w":1.25}, {"label":"4,12", "x":13, "y":4}, {"label":"4,13", "x":14, "y":4}, {"label":"4,14", "x":15, "y":4}] + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] } } -} \ No newline at end of file +} diff --git a/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c b/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c index bf15ded87355..0d6dfb42a488 100644 --- a/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c +++ b/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c @@ -28,5 +28,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, 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, KC_TRNS) }; diff --git a/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c b/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c index 2a13c6d4aca1..6e4d6381a7d2 100644 --- a/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c +++ b/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c @@ -31,16 +31,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [2] = LAYOUT( - 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, 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, 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, RESET, 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, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [3] = LAYOUT( - 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, 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, 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, RESET, 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, + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/yandrstudio/zhou65/mcuconf.h b/keyboards/yandrstudio/zhou65/mcuconf.h index 85376734f495..918717451cf6 100644 --- a/keyboards/yandrstudio/zhou65/mcuconf.h +++ b/keyboards/yandrstudio/zhou65/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020 QMK +/* Copyright 2021 JasonRen(biu) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,61 +18,12 @@ #include_next -#undef STM32_NO_INIT -#undef STM32_HSI_ENABLED -#undef STM32_LSI_ENABLED -#undef STM32_HSE_ENABLED -#undef STM32_LSE_ENABLED -#undef STM32_CLOCK48_REQUIRED -#undef STM32_SW -#undef STM32_PLLSRC #undef STM32_PLLM_VALUE #undef STM32_PLLN_VALUE #undef STM32_PLLP_VALUE #undef STM32_PLLQ_VALUE -#undef STM32_HPRE -#undef STM32_PPRE1 -#undef STM32_PPRE2 -#undef STM32_RTCSEL -#undef STM32_RTCPRE_VALUE -#undef STM32_MCO1SEL -#undef STM32_MCO1PRE -#undef STM32_MCO2SEL -#undef STM32_MCO2PRE -#undef STM32_I2SSRC -#undef STM32_PLLI2SN_VALUE -#undef STM32_PLLI2SR_VALUE -#undef STM32_PVD_ENABLE -#undef STM32_PLS -#undef STM32_BKPRAM_ENABLE -#define STM32_NO_INIT FALSE -#define STM32_HSI_ENABLED TRUE -#define STM32_LSI_ENABLED TRUE -#define STM32_HSE_ENABLED TRUE -#define STM32_LSE_ENABLED FALSE -#define STM32_CLOCK48_REQUIRED TRUE -#define STM32_SW STM32_SW_PLL -#define STM32_PLLSRC STM32_PLLSRC_HSE -#define STM32_PLLM_VALUE 8 -#define STM32_PLLN_VALUE 192 -#define STM32_PLLP_VALUE 4 -#define STM32_PLLQ_VALUE 4 -// AHB prescaler value. -#define STM32_HPRE STM32_HPRE_DIV1 -//APB1 prescaler value. -#define STM32_PPRE1 STM32_PPRE1_DIV4 -//APB2 prescaler value. -#define STM32_PPRE2 STM32_PPRE2_DIV2 -#define STM32_RTCSEL STM32_RTCSEL_LSI -#define STM32_RTCPRE_VALUE 8 -#define STM32_MCO1SEL STM32_MCO1SEL_HSI -#define STM32_MCO1PRE STM32_MCO1PRE_DIV1 -#define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK -#define STM32_MCO2PRE STM32_MCO2PRE_DIV5 -#define STM32_I2SSRC STM32_I2SSRC_CKIN -#define STM32_PLLI2SN_VALUE 192 -#define STM32_PLLI2SR_VALUE 5 -#define STM32_PVD_ENABLE FALSE -#define STM32_PLS STM32_PLS_LEV0 -#define STM32_BKPRAM_ENABLE FALSE +#define STM32_PLLM_VALUE (STM32_HSECLK/1000000) +#define STM32_PLLN_VALUE 192 +#define STM32_PLLP_VALUE 4 +#define STM32_PLLQ_VALUE 4 diff --git a/keyboards/yandrstudio/zhou65/readme.md b/keyboards/yandrstudio/zhou65/readme.md index bcbc59c1b180..31f57f2f96e8 100644 --- a/keyboards/yandrstudio/zhou65/readme.md +++ b/keyboards/yandrstudio/zhou65/readme.md @@ -1,7 +1,7 @@ # zhou65 version 1.0 A 65% keys keyboard with rgb (keys). -This keyboard use 8mhz HSE and STM32F401 as MCU. +This keyboard use 16mhz HSE and STM32F401 as MCU. - Keyboard Maintainer: https://github.com/jiaxin96 - Hardware Supported: zhou65 From d6e1de8c83996e4cef8ca8df6b2745281c46c754 Mon Sep 17 00:00:00 2001 From: Kyle McCreery Date: Thu, 12 May 2022 00:49:11 -0400 Subject: [PATCH 0657/1832] [Keyboard] Add Mokulua keyboard (#17055) Co-authored-by: Drashna Jaelre --- keyboards/mechwild/mokulua/info.json | 13 + keyboards/mechwild/mokulua/lib/mokulua.c | 244 ++++++++++++++++++ keyboards/mechwild/mokulua/mirrored/config.h | 98 +++++++ .../mokulua/mirrored/keymaps/default/keymap.c | 46 ++++ .../mirrored/keymaps/default/readme.md | 1 + .../mokulua/mirrored/keymaps/via/keymap.c | 46 ++++ .../mokulua/mirrored/keymaps/via/readme.md | 1 + .../mokulua/mirrored/keymaps/via/rules.mk | 2 + .../mechwild/mokulua/mirrored/mirrored.c | 82 ++++++ .../mechwild/mokulua/mirrored/mirrored.h | 53 ++++ keyboards/mechwild/mokulua/mirrored/rules.mk | 22 ++ keyboards/mechwild/mokulua/readme.md | 27 ++ keyboards/mechwild/mokulua/rules.mk | 1 + keyboards/mechwild/mokulua/standard/config.h | 135 ++++++++++ .../mokulua/standard/keymaps/default/keymap.c | 46 ++++ .../standard/keymaps/default/readme.md | 1 + .../mokulua/standard/keymaps/silly/config.h | 7 + .../mokulua/standard/keymaps/silly/keymap.c | 128 +++++++++ .../mokulua/standard/keymaps/silly/readme.md | 1 + .../mokulua/standard/keymaps/silly/rules.mk | 2 + .../mokulua/standard/keymaps/via/keymap.c | 46 ++++ .../mokulua/standard/keymaps/via/readme.md | 1 + .../mokulua/standard/keymaps/via/rules.mk | 2 + keyboards/mechwild/mokulua/standard/rules.mk | 22 ++ .../mechwild/mokulua/standard/standard.c | 82 ++++++ .../mechwild/mokulua/standard/standard.h | 52 ++++ 26 files changed, 1161 insertions(+) create mode 100644 keyboards/mechwild/mokulua/info.json create mode 100644 keyboards/mechwild/mokulua/lib/mokulua.c create mode 100644 keyboards/mechwild/mokulua/mirrored/config.h create mode 100644 keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c create mode 100644 keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md create mode 100644 keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c create mode 100644 keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md create mode 100644 keyboards/mechwild/mokulua/mirrored/keymaps/via/rules.mk create mode 100644 keyboards/mechwild/mokulua/mirrored/mirrored.c create mode 100644 keyboards/mechwild/mokulua/mirrored/mirrored.h create mode 100644 keyboards/mechwild/mokulua/mirrored/rules.mk create mode 100644 keyboards/mechwild/mokulua/readme.md create mode 100644 keyboards/mechwild/mokulua/rules.mk create mode 100644 keyboards/mechwild/mokulua/standard/config.h create mode 100644 keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c create mode 100644 keyboards/mechwild/mokulua/standard/keymaps/default/readme.md create mode 100644 keyboards/mechwild/mokulua/standard/keymaps/silly/config.h create mode 100644 keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c create mode 100644 keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md create mode 100644 keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk create mode 100644 keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c create mode 100644 keyboards/mechwild/mokulua/standard/keymaps/via/readme.md create mode 100644 keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk create mode 100644 keyboards/mechwild/mokulua/standard/rules.mk create mode 100644 keyboards/mechwild/mokulua/standard/standard.c create mode 100644 keyboards/mechwild/mokulua/standard/standard.h diff --git a/keyboards/mechwild/mokulua/info.json b/keyboards/mechwild/mokulua/info.json new file mode 100644 index 000000000000..9620a4dddaef --- /dev/null +++ b/keyboards/mechwild/mokulua/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "Mokulua", + "url": "https://mechwild.com", + "maintainer": "kylemccreery", + "layouts": { + "LAYOUT_standard": { + "layout": [{"x":0.5, "y":0}, {"x":1.5, "y":0}, {"x":15.75, "y":0}, {"x":16.75, "y":0}, {"x":0.47, "y":1, "w":1.5}, {"x":1.97, "y":1}, {"x":15.5, "y":1}, {"x":16.5, "y":1, "w":1.5}, {"x":0.37, "y":2, "w":1.75}, {"x":2.12, "y":2}, {"x":15.85, "y":2}, {"x":16.85, "y":2, "w":1.75}, {"x":0.22, "y":3, "w":1.25}, {"x":1.47, "y":3}, {"x":2.47, "y":3}, {"x":9.43, "y":3}, {"x":15.5, "y":3}, {"x":16.5, "y":3}, {"x":17.5, "y":3, "w":1.25}, {"x":0.47, "y":4}, {"x":1.47, "y":4}, {"x":2.47, "y":4}, {"x":9.68, "y":4}, {"x":15.5, "y":4}, {"x":16.5, "y":4}, {"x":17.5, "y":4}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":0.5, "y":2.25}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":0.75, "y":3.25}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":1.25, "y":4.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.57, "y":4.25}, {"x":1, "y":5.25, "w":1.25}, {"x":2.25, "y":5.25, "w":1.5}, {"x":3.75, "y":5.25, "w":1.5}, {"x":5.32, "y":5.25}, {"x":-1.5, "y":2}, {"x":-0.5, "y":2}, {"x":0.5, "y":2}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":-1.0, "y":3}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":-1.75, "y":4}, {"x":-0.75, "y":4}, {"x":0.25, "y":4}, {"x":1.25, "y":4}, {"x":2.25, "y":4}, {"x":-1.25, "y":5}, {"x":-0.25, "y":5}, {"x":0.75, "y":5}, {"x":1.75, "y":5}, {"x":-1.25, "y":6, "w":1.5}, {"x":0.25, "y":6, "w":1.5}, {"x":1.75, "y":6, "w":1.25}] + }, + "LAYOUT_mirrored": { + "layout": [{"x":0.5, "y":0}, {"x":1.5, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0.47, "y":1, "w":1.5}, {"x":1.97, "y":1}, {"x":15.78, "y":1}, {"x":16.78, "y":1, "w":1.5}, {"x":0.37, "y":2, "w":1.75}, {"x":2.12, "y":2}, {"x":15.63, "y":2}, {"x":16.63, "y":2, "w":1.75}, {"x":0.22, "y":3, "w":1.25}, {"x":1.47, "y":3}, {"x":2.47, "y":3}, {"x":9.43, "y":3}, {"x":15.28, "y":3}, {"x":16.28, "y":3}, {"x":17.28, "y":3, "w":1.25}, {"x":0.47, "y":4}, {"x":1.47, "y":4}, {"x":2.47, "y":4}, {"x":9.68, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}, {"x":17.25, "y":4}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":0.5, "y":2.25}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":0.75, "y":3.25}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":1.25, "y":4.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.57, "y":4.25}, {"x":1, "y":5.25, "w":1.25}, {"x":2.25, "y":5.25, "w":1.5}, {"x":3.75, "y":5.25, "w":1.5}, {"x":5.32, "y":5.25}, {"x":-1.0, "y":2}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":-1.5, "y":3}, {"x":-0.5, "y":3}, {"x":0.5, "y":3}, {"x":1.5, "y":3}, {"x":2.5, "y":3}, {"x":-1.75, "y":4}, {"x":-0.75, "y":4}, {"x":0.25, "y":4}, {"x":1.25, "y":4}, {"x":2.25, "y":4}, {"x":-1.25, "y":5}, {"x":-0.25, "y":5}, {"x":0.75, "y":5}, {"x":1.75, "y":5}, {"x":-1.25, "y":6, "w":1.5}, {"x":0.25, "y":6, "w":1.5}, {"x":1.75, "y":6, "w":1.25}] + } + } +} diff --git a/keyboards/mechwild/mokulua/lib/mokulua.c b/keyboards/mechwild/mokulua/lib/mokulua.c new file mode 100644 index 000000000000..d2a77201174b --- /dev/null +++ b/keyboards/mechwild/mokulua/lib/mokulua.c @@ -0,0 +1,244 @@ +/* Copyright 2020 Kyle McCreery + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "progmem.h" + +const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7E, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF, + 0xFE, 0xF8, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFE, + 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x3E, + 0xE0, 0x80, 0x70, 0x0E, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x3C, 0xE0, + 0x80, 0x78, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF, + 0xFE, 0xF8, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFE, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x3E, 0xE0, 0x80, 0x70, 0x0E, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, + 0x3C, 0xE0, 0x80, 0x78, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x1F, + 0x07, 0x1F, 0xFF, 0xFE, 0xF0, 0xC0, + 0xF8, 0xFF, 0xF7, 0x07, 0x07, 0x7F, + 0xFF, 0xFF, 0xF8, 0x00, 0xC0, 0x38, + 0x0C, 0x18, 0x60, 0x80, 0x00, 0x00, + 0x00, 0xF0, 0x0C, 0x04, 0xF4, 0x1C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xC0, 0xFC, 0xE6, 0xC3, 0xC1, + 0xC1, 0xC3, 0xE6, 0xFC, 0xC0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF8, 0xFF, 0xF7, 0x07, + 0x07, 0x1F, 0xFF, 0xFE, 0xF0, 0xC0, + 0xF8, 0x3F, 0x8F, 0x0F, 0x3F, 0xFF, + 0xFF, 0xFE, 0x80, 0xF0, 0x0C, 0x04, + 0xF4, 0x1C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x1F, 0x1F, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x1F, 0x1F, + 0x0F, 0x01, 0x03, 0x06, 0xF8, 0x00, + 0x07, 0x7F, 0x3F, 0x0E, 0xC1, 0x38, + 0x07, 0x0E, 0x70, 0x83, 0x1C, 0x60, + 0x1E, 0x03, 0xC0, 0x3E, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3F, 0x7F, 0xFF, 0xFF, 0xF9, 0xC0, + 0xC0, 0xF9, 0xFF, 0xFF, 0x7F, 0x3F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x1F, 0x1F, 0x07, 0x06, + 0xF8, 0x00, 0x00, 0x73, 0x3F, 0x0F, + 0xC1, 0x38, 0x07, 0x0F, 0x70, 0x83, + 0x07, 0x7F, 0x1F, 0x03, 0xC0, 0x3E, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/mechwild/mokulua/mirrored/config.h b/keyboards/mechwild/mokulua/mirrored/config.h new file mode 100644 index 000000000000..d5887c7ff5d1 --- /dev/null +++ b/keyboards/mechwild/mokulua/mirrored/config.h @@ -0,0 +1,98 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6D77 // mw = "MechWild" +#define PRODUCT_ID 0x170C +#define DEVICE_VER 0x0103 +#define MANUFACTURER MechWild +#define PRODUCT Mokulua + +/* Key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 6 + +/* Key matrix pins */ +#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3 } +#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 } +#define UNUSED_PINS + +/* Encoder pins */ +#define ENCODERS_PAD_A { D2 } +#define ENCODERS_PAD_B { B2 } + +/* Encoder resolution */ +#define ENCODER_RESOLUTION 4 +#define TAP_CODE_DELAY 10 + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define OLED_FONT_H "keyboards/mechwild/mokulua/lib/mokulua.c" + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D3 +#define MASTER_LEFT +//#define MASTER_RIGHT +#define RGBLIGHT_SPLIT +#define RGBLED_SPLIT { 8, 8 } +#define SPLIT_LAYER_STATE_ENABLE +#define SPLIT_LED_STATE_ENABLE +#define SPLIT_MODS_ENABLE +#define SPLIT_OLED_ENABLE + +/* RGB options */ +#define RGB_DI_PIN B6 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 16 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c b/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c new file mode 100644 index 000000000000..330c9320a021 --- /dev/null +++ b/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c @@ -0,0 +1,46 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define FN1_SPC LT(1, KC_SPC) +#define FN2_SPC LT(2, KC_SPC) + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + 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_BSPC, _______, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_BSLS, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + [_FN2] = LAYOUT( + _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FN3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md b/keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md new file mode 100644 index 000000000000..727105dcba62 --- /dev/null +++ b/keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Mokulua using a mirrored right-half diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c b/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c new file mode 100644 index 000000000000..330c9320a021 --- /dev/null +++ b/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c @@ -0,0 +1,46 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define FN1_SPC LT(1, KC_SPC) +#define FN2_SPC LT(2, KC_SPC) + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + 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_BSPC, _______, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_BSLS, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + [_FN2] = LAYOUT( + _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FN3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md b/keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md new file mode 100644 index 000000000000..37aca6eac7ed --- /dev/null +++ b/keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md @@ -0,0 +1 @@ +# The VIA keymap for Mokulua using a mirrored right-half diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/via/rules.mk b/keyboards/mechwild/mokulua/mirrored/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/mechwild/mokulua/mirrored/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/mechwild/mokulua/mirrored/mirrored.c b/keyboards/mechwild/mokulua/mirrored/mirrored.c new file mode 100644 index 000000000000..777c146d64e8 --- /dev/null +++ b/keyboards/mechwild/mokulua/mirrored/mirrored.c @@ -0,0 +1,82 @@ +// Copyright 2022 Kyle McCreery (@Kyle McCreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "standard.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + switch (index) { + case 0: + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + case 1: + if (clockwise) { + tap_code(KC_PGUP); + } else { + tap_code(KC_PGDN); + } + break; + + } + return true; +} +#endif + +#ifdef OLED_ENABLE + oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; // flips the display 270 degrees + } + + static void render_logo(void) { // Render MechWild "MW" Logo + static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00}; + static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00}; + static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00}; + static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00}; + oled_set_cursor(0,0); + oled_write_P(logo_1, false); + oled_set_cursor(0,1); + oled_write_P(logo_2, false); + oled_set_cursor(0,2); + oled_write_P(logo_3, false); + oled_set_cursor(0,3); + oled_write_P(logo_4, false); + } + bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + render_logo(); + oled_set_cursor(0,6); + + oled_write_ln_P(PSTR("Layer"), false); + + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln_P(PSTR("Base"), false); + break; + case 1: + oled_write_ln_P(PSTR("FN 1"), false); + break; + case 2: + oled_write_ln_P(PSTR("FN 2"), false); + break; + case 3: + oled_write_ln_P(PSTR("FN 3"), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + } + oled_write_ln_P(PSTR(""), false); + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); + return false; + } +#endif diff --git a/keyboards/mechwild/mokulua/mirrored/mirrored.h b/keyboards/mechwild/mokulua/mirrored/mirrored.h new file mode 100644 index 000000000000..5b7dd29c2516 --- /dev/null +++ b/keyboards/mechwild/mokulua/mirrored/mirrored.h @@ -0,0 +1,53 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +#define ___ KC_NO + +#define LAYOUT_mirrored( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ + L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ + L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ + L30, L31, L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \ + L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L40, L41, L42, L43, L44, L45 }, \ + { L46, L36, L37, L26, L16, L06 }, \ + { R06, R05, R04, R03, R02, R01 }, \ + { R16, R15, R14, R13, R12, R11 }, \ + { R26, R25, R24, R23, R22, R21 }, \ + { R37, R36, R35, R34, R33, R32 }, \ + { R46, R45, R44, R43, R42, R41 }, \ + { R40, R31, R30, R20, R10, R00 } \ +} + +#define LAYOUT_standard( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ + L10, L11, L12, L13, L14, L15, L16, R11, R12, R13, R14, R15, R16, \ + L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ + L30, L31, L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \ + L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L40, L41, L42, L43, L44, L45 }, \ + { L46, L36, L37, L26, L16, L06 }, \ + { R01, R02, R03, R04, R05, R06 }, \ + { R11, R12, R13, R14, R15, R16 }, \ + { R21, R22, R23, R24, R25, R26 }, \ + { R32, R33, R34, R35, R36, R37 }, \ + { R41, R42, R43, R44, R45, R46 }, \ + { R00, R20, R31, R30, R40, ___ } \ +} + + +#define LAYOUT LAYOUT_mirrored \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/mirrored/rules.mk b/keyboards/mechwild/mokulua/mirrored/rules.mk new file mode 100644 index 000000000000..5aae5c7c7693 --- /dev/null +++ b/keyboards/mechwild/mokulua/mirrored/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes # Enable encoder +OLED_ENABLE = yes # Enable OLED Screen +OLED_DRIVER = SSD1306 # Define OLED Driver +SPLIT_KEYBOARD = yes # Define split functionality \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/readme.md b/keyboards/mechwild/mokulua/readme.md new file mode 100644 index 000000000000..a8f2b055dfa4 --- /dev/null +++ b/keyboards/mechwild/mokulua/readme.md @@ -0,0 +1,27 @@ +# Mokulua + +![Mokulua](https://i.imgur.com/7fifiQch.jpg) + +*A short description of the keyboard/project* + +* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery) +* Hardware Supported: Mokulua v1.3 +* Hardware Availability: https://mechwild.com/product/mokulua/ + +Make example for this keyboard (after setting up your build environment): + + make mechwild/mokulua:default + +Flashing example for this keyboard: + + make mechwild/mokulua:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/rules.mk b/keyboards/mechwild/mokulua/rules.mk new file mode 100644 index 000000000000..3a87a143e51f --- /dev/null +++ b/keyboards/mechwild/mokulua/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = mechwild/mokulua/standard \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/standard/config.h b/keyboards/mechwild/mokulua/standard/config.h new file mode 100644 index 000000000000..be6495048c92 --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/config.h @@ -0,0 +1,135 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6D77 // mw = "MechWild" +#define PRODUCT_ID 0x170B +#define DEVICE_VER 0x0103 +#define MANUFACTURER MechWild +#define PRODUCT Mokulua + +/* Key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 6 + +/* Key matrix pins */ +#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3 } +#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 } +#define UNUSED_PINS + +/* Encoder pins */ +#define ENCODERS_PAD_A { D2 } +#define ENCODERS_PAD_B { B2 } + +/* Encoder resolution */ +#define ENCODER_RESOLUTION 4 +#define TAP_CODE_DELAY 10 + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define OLED_FONT_H "keyboards/mechwild/mokulua/lib/mokulua.c" + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D3 +#define MASTER_LEFT +//#define MASTER_RIGHT +#define RGBLIGHT_SPLIT +#define RGBLED_SPLIT { 8, 8 } +#define SPLIT_LAYER_STATE_ENABLE +#define SPLIT_LED_STATE_ENABLE +#define SPLIT_MODS_ENABLE +#define SPLIT_OLED_ENABLE + +/* RGB options */ +#define RGB_DI_PIN B6 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 16 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c b/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c new file mode 100644 index 000000000000..724dfee41c7a --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c @@ -0,0 +1,46 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define FN1_SPC LT(1, KC_SPC) +#define FN2_SPC LT(2, KC_SPC) + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MINS, KC_7, KC_8, KC_9, KC_0, _______, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_EQL, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + [_FN2] = LAYOUT( + _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FN3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/mechwild/mokulua/standard/keymaps/default/readme.md b/keyboards/mechwild/mokulua/standard/keymaps/default/readme.md new file mode 100644 index 000000000000..81569df14244 --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Mokulua using a standard right-half diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/config.h b/keyboards/mechwild/mokulua/standard/keymaps/silly/config.h new file mode 100644 index 000000000000..1e0e3ac5eb41 --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/keymaps/silly/config.h @@ -0,0 +1,7 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" +#define RGBLIGHT_LAYERS \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c b/keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c new file mode 100644 index 000000000000..9463f162c085 --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c @@ -0,0 +1,128 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define FN1_SPC LT(1, KC_SPC) +#define FN2_SPC LT(2, KC_SPC) +#define HSV_SILLY_PURPLE 180, 255, 255 + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN1, + _FN2, + _RS3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MINS, KC_7, KC_8, KC_9, KC_0, _______, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, TG(_RS3), KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN1] = LAYOUT( + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + [_FN2] = LAYOUT( + _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_RS3] = LAYOUT( + KC_PAST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_PSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_PPLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_PMNS, _______, _______, _______, _______, _______, _______, TG(_RS3), _______, _______, _______, _______, _______, _______, _______, _______, + KC_HOME, KC_END, KC_PGUP, KC_K, KC_L, KC_M, KC_PGDN, _______, KC_F1, KC_F2, KC_F3, _______, _______, _______ + ) +}; + +#ifdef OLED_ENABLE + static void render_logo(void) { // Render MechWild "MW" Logo + static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00}; + static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00}; + static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00}; + static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00}; + oled_set_cursor(0,0); + oled_write_P(logo_1, false); + oled_set_cursor(0,1); + oled_write_P(logo_2, false); + oled_set_cursor(0,2); + oled_write_P(logo_3, false); + oled_set_cursor(0,3); + oled_write_P(logo_4, false); + } + bool oled_task_user(void) { + render_logo(); + oled_set_cursor(0,6); + + oled_write_ln_P(PSTR("Layer"), false); + + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln_P(PSTR("Base"), false); + break; + case 1: + oled_write_ln_P(PSTR("FN 1"), false); + break; + case 2: + oled_write_ln_P(PSTR("FN 2"), false); + break; + case 3: + oled_write_ln_P(PSTR("RS3"), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + } + oled_write_ln_P(PSTR(""), false); + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); + return false; + } +#endif + +#ifdef RGBLIGHT_ENABLE + // Optional RGB Light Mapping Zones {LED Posiiton, Number of LEDs, Colour} + const rgblight_segment_t PROGMEM _rgb_fn1[] = RGBLIGHT_LAYER_SEGMENTS( + {4, 3, HSV_GREEN}, + {12, 3, HSV_GREEN} + ); + // Light LEDs 9 & 10 in cyan when keyboard layer 1 is active + const rgblight_segment_t PROGMEM _rgb_fn2[] = RGBLIGHT_LAYER_SEGMENTS( + {4, 3, HSV_GREEN}, + {12, 3, HSV_GREEN} + ); + const rgblight_segment_t PROGMEM _rgb_rs3[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 16, HSV_SILLY_PURPLE} + ); + const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST( + _rgb_fn1, + _rgb_fn2, + _rgb_rs3 + ); + layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, layer_state_cmp(state, _FN1)); + rgblight_set_layer_state(1, layer_state_cmp(state, _FN2)); + rgblight_set_layer_state(2, layer_state_cmp(state, _RS3)); + return state; + } +#endif // RGBLIGHT_ENABLE + +void keyboard_post_init_user(void) { + // Enable the LED layers + #ifdef RGBLIGHT_ENABLE + rgblight_layers = _rgb_layers; + #endif // RGBLIGHT_ENABLE + } \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md b/keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md new file mode 100644 index 000000000000..4659a3aaeb8e --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md @@ -0,0 +1 @@ +# A keymap customized for use by Silly. Makes use of RGB Layer indication and a remapped layer for use in specific video games. diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk b/keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c b/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c new file mode 100644 index 000000000000..724dfee41c7a --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c @@ -0,0 +1,46 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define FN1_SPC LT(1, KC_SPC) +#define FN2_SPC LT(2, KC_SPC) + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MINS, KC_7, KC_8, KC_9, KC_0, _______, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_EQL, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + [_FN2] = LAYOUT( + _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FN3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/mechwild/mokulua/standard/keymaps/via/readme.md b/keyboards/mechwild/mokulua/standard/keymaps/via/readme.md new file mode 100644 index 000000000000..4f47e50e88e4 --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/keymaps/via/readme.md @@ -0,0 +1 @@ +# The VIA keymap for Mokulua using a standard right-half diff --git a/keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk b/keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/mechwild/mokulua/standard/rules.mk b/keyboards/mechwild/mokulua/standard/rules.mk new file mode 100644 index 000000000000..5aae5c7c7693 --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes # Enable encoder +OLED_ENABLE = yes # Enable OLED Screen +OLED_DRIVER = SSD1306 # Define OLED Driver +SPLIT_KEYBOARD = yes # Define split functionality \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/standard/standard.c b/keyboards/mechwild/mokulua/standard/standard.c new file mode 100644 index 000000000000..777c146d64e8 --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/standard.c @@ -0,0 +1,82 @@ +// Copyright 2022 Kyle McCreery (@Kyle McCreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "standard.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + switch (index) { + case 0: + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + case 1: + if (clockwise) { + tap_code(KC_PGUP); + } else { + tap_code(KC_PGDN); + } + break; + + } + return true; +} +#endif + +#ifdef OLED_ENABLE + oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; // flips the display 270 degrees + } + + static void render_logo(void) { // Render MechWild "MW" Logo + static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00}; + static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00}; + static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00}; + static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00}; + oled_set_cursor(0,0); + oled_write_P(logo_1, false); + oled_set_cursor(0,1); + oled_write_P(logo_2, false); + oled_set_cursor(0,2); + oled_write_P(logo_3, false); + oled_set_cursor(0,3); + oled_write_P(logo_4, false); + } + bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + render_logo(); + oled_set_cursor(0,6); + + oled_write_ln_P(PSTR("Layer"), false); + + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln_P(PSTR("Base"), false); + break; + case 1: + oled_write_ln_P(PSTR("FN 1"), false); + break; + case 2: + oled_write_ln_P(PSTR("FN 2"), false); + break; + case 3: + oled_write_ln_P(PSTR("FN 3"), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + } + oled_write_ln_P(PSTR(""), false); + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); + return false; + } +#endif diff --git a/keyboards/mechwild/mokulua/standard/standard.h b/keyboards/mechwild/mokulua/standard/standard.h new file mode 100644 index 000000000000..a25fe3eff473 --- /dev/null +++ b/keyboards/mechwild/mokulua/standard/standard.h @@ -0,0 +1,52 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +#define ___ KC_NO + +#define LAYOUT_mirrored( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ + L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ + L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ + L30, L31, L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \ + L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L40, L41, L42, L43, L44, L45 }, \ + { L46, L36, L37, L26, L16, L06 }, \ + { R06, R05, R04, R03, R02, R01 }, \ + { R16, R15, R14, R13, R12, R11 }, \ + { R26, R25, R24, R23, R22, R21 }, \ + { R37, R36, R35, R34, R33, R32 }, \ + { R46, R45, R44, R43, R42, R41 }, \ + { R40, R31, R30, R20, R10, R00 } \ +} + +#define LAYOUT_standard( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ + L10, L11, L12, L13, L14, L15, L16, R11, R12, R13, R14, R15, R16, \ + L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ + L30, L31, L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \ + L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L40, L41, L42, L43, L44, L45 }, \ + { L46, L36, L37, L26, L16, L06 }, \ + { R01, R02, R03, R04, R05, R06 }, \ + { R11, R12, R13, R14, R15, R16 }, \ + { R21, R22, R23, R24, R25, R26 }, \ + { R32, R33, R34, R35, R36, R37 }, \ + { R41, R42, R43, R44, R45, R46 }, \ + { R00, R20, R31, R30, R40, ___ } \ +} + +#define LAYOUT LAYOUT_standard From 77aba32bc61a47d551b030f61cae582599652712 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Wed, 11 May 2022 23:27:58 -0600 Subject: [PATCH 0658/1832] initial (#17067) --- .../4pplet/yakiimo/keymaps/default/keymap.c | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/keyboards/4pplet/yakiimo/keymaps/default/keymap.c b/keyboards/4pplet/yakiimo/keymaps/default/keymap.c index e16d204c3228..37784917dcaf 100644 --- a/keyboards/4pplet/yakiimo/keymaps/default/keymap.c +++ b/keyboards/4pplet/yakiimo/keymaps/default/keymap.c @@ -17,20 +17,20 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// main layer -[0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, - KC_GRV, 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_INS, KC_HOME, KC_PGUP, - 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, KC_PGDN, - 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_NUHS, KC_ENT, - 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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT) -// basic function layer -[1] = LAYOUT_all( - RESET, 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, 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, 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, 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, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + // main layer + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_NUHS, KC_ENT, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + // basic function layer + [1] = LAYOUT_all( + RESET, 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, 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, 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, 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, + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; From 8a4ef2b3c4a388a563c95e75eb744514a210dfe2 Mon Sep 17 00:00:00 2001 From: HorrorTroll Date: Thu, 12 May 2022 12:51:37 +0700 Subject: [PATCH 0659/1832] [Keyboard] Move M63 RGB into maker folder (#17061) --- keyboards/horrortroll/chinese_pcb/readme.md | 1 - .../chinese_pcb => mss_studio}/m63_rgb/config.h | 12 +++++------- .../chinese_pcb => mss_studio}/m63_rgb/info.json | 0 .../m63_rgb/keymaps/default/keymap.c | 7 ++++--- .../m63_rgb/keymaps/default/readme.md | 0 .../m63_rgb/keymaps/via/config.h | 3 ++- .../m63_rgb/keymaps/via/keymap.c | 7 ++++--- .../m63_rgb/keymaps/via/readme.md | 0 .../m63_rgb/keymaps/via/rules.mk | 0 .../chinese_pcb => mss_studio}/m63_rgb/m63_rgb.c | 3 ++- .../chinese_pcb => mss_studio}/m63_rgb/m63_rgb.h | 3 ++- .../chinese_pcb => mss_studio}/m63_rgb/readme.md | 6 +++--- .../chinese_pcb => mss_studio}/m63_rgb/rules.mk | 0 13 files changed, 22 insertions(+), 20 deletions(-) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/config.h (94%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/info.json (100%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/keymaps/default/keymap.c (98%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/keymaps/default/readme.md (100%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/keymaps/via/config.h (89%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/keymaps/via/keymap.c (98%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/keymaps/via/readme.md (100%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/keymaps/via/rules.mk (100%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/m63_rgb.c (96%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/m63_rgb.h (97%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/readme.md (79%) rename keyboards/{horrortroll/chinese_pcb => mss_studio}/m63_rgb/rules.mk (100%) diff --git a/keyboards/horrortroll/chinese_pcb/readme.md b/keyboards/horrortroll/chinese_pcb/readme.md index 3ed2a7c71ba4..cb73d8a43bf7 100644 --- a/keyboards/horrortroll/chinese_pcb/readme.md +++ b/keyboards/horrortroll/chinese_pcb/readme.md @@ -10,6 +10,5 @@ This is a folder for collection code of Chinese PCB, where they only sold one-ti | ------------- | ------------- | ------------- | ------- | ------------------------ | ---- | ----- | | Black E6.5 | Atmega32U4 | 68 Keys (65%) | No | Backlight & RGB Lighting | No | No | | Devil68 Pro | Atmega32U4 | 68 Keys (65%) | Yes | RGB Matrix | No | No | - | M63 RGB | STM32F072CBU6 | 63 Keys (60%) | Yes | RGB Matrix | No | No | | | | | | | | | diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/config.h b/keyboards/mss_studio/m63_rgb/config.h similarity index 94% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/config.h rename to keyboards/mss_studio/m63_rgb/config.h index 4c126bb3f3e2..ad5fbfa1c315 100644 --- a/keyboards/horrortroll/chinese_pcb/m63_rgb/config.h +++ b/keyboards/mss_studio/m63_rgb/config.h @@ -1,4 +1,5 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,10 +20,10 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0x7516 -#define PRODUCT_ID 0x6002 +#define VENDOR_ID 0x4D4B +#define PRODUCT_ID 0x6063 #define DEVICE_VER 0x0001 -#define MANUFACTURER HorrorTroll +#define MANUFACTURER Mss Studio #define PRODUCT M63 RGB /* key matrix size */ @@ -33,9 +34,6 @@ #define MATRIX_ROW_PINS { B3, B4, A0, A2, A3 } #define MATRIX_COL_PINS { B0, B1, B2, B10, A7, A6, A5, A4, B5, B6, A1, B7, B8, B9 } -#define BOOTMAGIC_LITE_ROW 3 -#define BOOTMAGIC_LITE_COLUMN 5 - /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/info.json b/keyboards/mss_studio/m63_rgb/info.json similarity index 100% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/info.json rename to keyboards/mss_studio/m63_rgb/info.json diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c similarity index 98% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/default/keymap.c rename to keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c index 8f421c22f576..713b1288eb59 100644 --- a/keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c @@ -1,4 +1,5 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,8 +28,8 @@ // entirely and just use numbers. enum layer_names { - _BASE = 0, - _FN = 1 + _BASE, + _FN, }; enum user_rgb_mode { diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/default/readme.md b/keyboards/mss_studio/m63_rgb/keymaps/default/readme.md similarity index 100% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/default/readme.md rename to keyboards/mss_studio/m63_rgb/keymaps/default/readme.md diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/via/config.h b/keyboards/mss_studio/m63_rgb/keymaps/via/config.h similarity index 89% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/via/config.h rename to keyboards/mss_studio/m63_rgb/keymaps/via/config.h index fe6aa8c1f751..db20f3b87bbd 100644 --- a/keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/via/config.h +++ b/keyboards/mss_studio/m63_rgb/keymaps/via/config.h @@ -1,4 +1,5 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/via/keymap.c b/keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c similarity index 98% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/via/keymap.c rename to keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c index 8f421c22f576..713b1288eb59 100644 --- a/keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/via/keymap.c +++ b/keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c @@ -1,4 +1,5 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,8 +28,8 @@ // entirely and just use numbers. enum layer_names { - _BASE = 0, - _FN = 1 + _BASE, + _FN, }; enum user_rgb_mode { diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/via/readme.md b/keyboards/mss_studio/m63_rgb/keymaps/via/readme.md similarity index 100% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/via/readme.md rename to keyboards/mss_studio/m63_rgb/keymaps/via/readme.md diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/via/rules.mk b/keyboards/mss_studio/m63_rgb/keymaps/via/rules.mk similarity index 100% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/keymaps/via/rules.mk rename to keyboards/mss_studio/m63_rgb/keymaps/via/rules.mk diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/m63_rgb.c b/keyboards/mss_studio/m63_rgb/m63_rgb.c similarity index 96% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/m63_rgb.c rename to keyboards/mss_studio/m63_rgb/m63_rgb.c index ef1eabddf8b3..dd071849b551 100644 --- a/keyboards/horrortroll/chinese_pcb/m63_rgb/m63_rgb.c +++ b/keyboards/mss_studio/m63_rgb/m63_rgb.c @@ -1,4 +1,5 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/m63_rgb.h b/keyboards/mss_studio/m63_rgb/m63_rgb.h similarity index 97% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/m63_rgb.h rename to keyboards/mss_studio/m63_rgb/m63_rgb.h index b2461758e2a8..19f7c7b167de 100644 --- a/keyboards/horrortroll/chinese_pcb/m63_rgb/m63_rgb.h +++ b/keyboards/mss_studio/m63_rgb/m63_rgb.h @@ -1,4 +1,5 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/readme.md b/keyboards/mss_studio/m63_rgb/readme.md similarity index 79% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/readme.md rename to keyboards/mss_studio/m63_rgb/readme.md index 7ec01047b1cc..942b7a60a6e6 100644 --- a/keyboards/horrortroll/chinese_pcb/m63_rgb/readme.md +++ b/keyboards/mss_studio/m63_rgb/readme.md @@ -7,11 +7,11 @@ Support STM32F072CBU6 keyboard. Make example for this keyboard (after setting up your build environment): - make horrortroll/chinese_pcb/m63_rgb:default + make mss_studio/m63_rgb:default Flashing example for this keyboard: - make horrortroll/chinese_pcb/m63_rgb:default:flash + make mss_studio/m63_rgb:default:flash 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). @@ -19,6 +19,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: -* **Bootmagic reset**: Hold down the key at (3,5) in the matrix (B key) and plug in the keyboard +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard * **Physical reset button**: Press and hold the button on the back of the PCB, then plug in the keyboard * **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/horrortroll/chinese_pcb/m63_rgb/rules.mk b/keyboards/mss_studio/m63_rgb/rules.mk similarity index 100% rename from keyboards/horrortroll/chinese_pcb/m63_rgb/rules.mk rename to keyboards/mss_studio/m63_rgb/rules.mk From c0ab4ed539bad0a490e19ee86c093d3c3f5e02c2 Mon Sep 17 00:00:00 2001 From: Astrid Yu Date: Wed, 11 May 2022 23:49:15 -0700 Subject: [PATCH 0660/1832] Allow overriding Niv inputs in shell.nix (#16602) --- shell.nix | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/shell.nix b/shell.nix index 5023a3b0f71a..4701c83bb61a 100644 --- a/shell.nix +++ b/shell.nix @@ -1,10 +1,26 @@ -{ avr ? true, arm ? true, teensy ? true }: let # We specify sources via Niv: use "niv update nixpkgs" to update nixpkgs, for example. sources = import ./util/nix/sources.nix { }; - pkgs = import sources.nixpkgs { }; +in +# However, if you want to override Niv's inputs, this will let you do that. +{ pkgs ? import sources.nixpkgs { } +, poetry2nix ? pkgs.callPackage (import sources.poetry2nix) { } +, avr ? true +, arm ? true +, teensy ? true }: +with pkgs; +let + avrlibc = pkgsCross.avr.libcCross; - poetry2nix = pkgs.callPackage (import sources.poetry2nix) { }; + avr_incflags = [ + "-isystem ${avrlibc}/avr/include" + "-B${avrlibc}/avr/lib/avr5" + "-L${avrlibc}/avr/lib/avr5" + "-B${avrlibc}/avr/lib/avr35" + "-L${avrlibc}/avr/lib/avr35" + "-B${avrlibc}/avr/lib/avr51" + "-L${avrlibc}/avr/lib/avr51" + ]; # Builds the python env based on nix/pyproject.toml and # nix/poetry.lock Use the "poetry update --lock", "poetry add @@ -21,21 +37,6 @@ let }); }; in - -with pkgs; -let - avrlibc = pkgsCross.avr.libcCross; - - avr_incflags = [ - "-isystem ${avrlibc}/avr/include" - "-B${avrlibc}/avr/lib/avr5" - "-L${avrlibc}/avr/lib/avr5" - "-B${avrlibc}/avr/lib/avr35" - "-L${avrlibc}/avr/lib/avr35" - "-B${avrlibc}/avr/lib/avr51" - "-L${avrlibc}/avr/lib/avr51" - ]; -in mkShell { name = "qmk-firmware"; From 59fa34a6fab9a3dfa281e8595bdbd08f728dacb8 Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Thu, 12 May 2022 12:24:03 -0600 Subject: [PATCH 0661/1832] [Keyboard] Refactor mechwild/mokulua (#17068) --- .../mechwild/mokulua/{standard => }/config.h | 9 +- .../mokulua/{lib/mokulua.c => glcdfont.c} | 0 keyboards/mechwild/mokulua/info.json | 5 +- .../{standard => }/keymaps/default/keymap.c | 4 +- .../{standard => }/keymaps/default/readme.md | 0 .../{standard => }/keymaps/silly/config.h | 0 .../{standard => }/keymaps/silly/keymap.c | 0 .../{standard => }/keymaps/silly/readme.md | 0 .../keymaps/via => keymaps/silly}/rules.mk | 0 .../{standard => }/keymaps/via/keymap.c | 4 +- .../{standard => }/keymaps/via/readme.md | 0 .../keymaps/silly => keymaps/via}/rules.mk | 0 keyboards/mechwild/mokulua/mirrored/config.h | 98 ------------------- .../mokulua/mirrored/keymaps/default/keymap.c | 46 --------- .../mirrored/keymaps/default/readme.md | 1 - .../mokulua/mirrored/keymaps/via/keymap.c | 46 --------- .../mokulua/mirrored/keymaps/via/readme.md | 1 - keyboards/mechwild/mokulua/mirrored/rules.mk | 22 ----- .../{mirrored/mirrored.c => mokulua.c} | 4 +- .../{mirrored/mirrored.h => mokulua.h} | 26 +---- keyboards/mechwild/mokulua/rules.mk | 23 ++++- .../mokulua/standard/keymaps/via/rules.mk | 2 - keyboards/mechwild/mokulua/standard/rules.mk | 22 ----- .../mechwild/mokulua/standard/standard.c | 82 ---------------- .../mechwild/mokulua/standard/standard.h | 52 ---------- 25 files changed, 33 insertions(+), 414 deletions(-) rename keyboards/mechwild/mokulua/{standard => }/config.h (94%) rename keyboards/mechwild/mokulua/{lib/mokulua.c => glcdfont.c} (100%) rename keyboards/mechwild/mokulua/{standard => }/keymaps/default/keymap.c (99%) rename keyboards/mechwild/mokulua/{standard => }/keymaps/default/readme.md (100%) rename keyboards/mechwild/mokulua/{standard => }/keymaps/silly/config.h (100%) rename keyboards/mechwild/mokulua/{standard => }/keymaps/silly/keymap.c (100%) rename keyboards/mechwild/mokulua/{standard => }/keymaps/silly/readme.md (100%) rename keyboards/mechwild/mokulua/{mirrored/keymaps/via => keymaps/silly}/rules.mk (100%) rename keyboards/mechwild/mokulua/{standard => }/keymaps/via/keymap.c (99%) rename keyboards/mechwild/mokulua/{standard => }/keymaps/via/readme.md (100%) rename keyboards/mechwild/mokulua/{standard/keymaps/silly => keymaps/via}/rules.mk (100%) delete mode 100644 keyboards/mechwild/mokulua/mirrored/config.h delete mode 100644 keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c delete mode 100644 keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md delete mode 100644 keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c delete mode 100644 keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md delete mode 100644 keyboards/mechwild/mokulua/mirrored/rules.mk rename keyboards/mechwild/mokulua/{mirrored/mirrored.c => mokulua.c} (96%) rename keyboards/mechwild/mokulua/{mirrored/mirrored.h => mokulua.h} (51%) delete mode 100644 keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk delete mode 100644 keyboards/mechwild/mokulua/standard/rules.mk delete mode 100644 keyboards/mechwild/mokulua/standard/standard.c delete mode 100644 keyboards/mechwild/mokulua/standard/standard.h diff --git a/keyboards/mechwild/mokulua/standard/config.h b/keyboards/mechwild/mokulua/config.h similarity index 94% rename from keyboards/mechwild/mokulua/standard/config.h rename to keyboards/mechwild/mokulua/config.h index be6495048c92..a424bc6648a7 100644 --- a/keyboards/mechwild/mokulua/standard/config.h +++ b/keyboards/mechwild/mokulua/config.h @@ -32,7 +32,7 @@ /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define OLED_FONT_H "keyboards/mechwild/mokulua/lib/mokulua.c" +#define OLED_FONT_H "keyboards/mechwild/mokulua/glcdfont.c" /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. @@ -79,9 +79,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -131,5 +128,5 @@ /* Bootmagic Lite key configuration */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mechwild/mokulua/lib/mokulua.c b/keyboards/mechwild/mokulua/glcdfont.c similarity index 100% rename from keyboards/mechwild/mokulua/lib/mokulua.c rename to keyboards/mechwild/mokulua/glcdfont.c diff --git a/keyboards/mechwild/mokulua/info.json b/keyboards/mechwild/mokulua/info.json index 9620a4dddaef..0be62ecf80b8 100644 --- a/keyboards/mechwild/mokulua/info.json +++ b/keyboards/mechwild/mokulua/info.json @@ -3,11 +3,8 @@ "url": "https://mechwild.com", "maintainer": "kylemccreery", "layouts": { - "LAYOUT_standard": { + "LAYOUT": { "layout": [{"x":0.5, "y":0}, {"x":1.5, "y":0}, {"x":15.75, "y":0}, {"x":16.75, "y":0}, {"x":0.47, "y":1, "w":1.5}, {"x":1.97, "y":1}, {"x":15.5, "y":1}, {"x":16.5, "y":1, "w":1.5}, {"x":0.37, "y":2, "w":1.75}, {"x":2.12, "y":2}, {"x":15.85, "y":2}, {"x":16.85, "y":2, "w":1.75}, {"x":0.22, "y":3, "w":1.25}, {"x":1.47, "y":3}, {"x":2.47, "y":3}, {"x":9.43, "y":3}, {"x":15.5, "y":3}, {"x":16.5, "y":3}, {"x":17.5, "y":3, "w":1.25}, {"x":0.47, "y":4}, {"x":1.47, "y":4}, {"x":2.47, "y":4}, {"x":9.68, "y":4}, {"x":15.5, "y":4}, {"x":16.5, "y":4}, {"x":17.5, "y":4}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":0.5, "y":2.25}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":0.75, "y":3.25}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":1.25, "y":4.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.57, "y":4.25}, {"x":1, "y":5.25, "w":1.25}, {"x":2.25, "y":5.25, "w":1.5}, {"x":3.75, "y":5.25, "w":1.5}, {"x":5.32, "y":5.25}, {"x":-1.5, "y":2}, {"x":-0.5, "y":2}, {"x":0.5, "y":2}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":-1.0, "y":3}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":-1.75, "y":4}, {"x":-0.75, "y":4}, {"x":0.25, "y":4}, {"x":1.25, "y":4}, {"x":2.25, "y":4}, {"x":-1.25, "y":5}, {"x":-0.25, "y":5}, {"x":0.75, "y":5}, {"x":1.75, "y":5}, {"x":-1.25, "y":6, "w":1.5}, {"x":0.25, "y":6, "w":1.5}, {"x":1.75, "y":6, "w":1.25}] - }, - "LAYOUT_mirrored": { - "layout": [{"x":0.5, "y":0}, {"x":1.5, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0.47, "y":1, "w":1.5}, {"x":1.97, "y":1}, {"x":15.78, "y":1}, {"x":16.78, "y":1, "w":1.5}, {"x":0.37, "y":2, "w":1.75}, {"x":2.12, "y":2}, {"x":15.63, "y":2}, {"x":16.63, "y":2, "w":1.75}, {"x":0.22, "y":3, "w":1.25}, {"x":1.47, "y":3}, {"x":2.47, "y":3}, {"x":9.43, "y":3}, {"x":15.28, "y":3}, {"x":16.28, "y":3}, {"x":17.28, "y":3, "w":1.25}, {"x":0.47, "y":4}, {"x":1.47, "y":4}, {"x":2.47, "y":4}, {"x":9.68, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}, {"x":17.25, "y":4}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":0.5, "y":2.25}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":0.75, "y":3.25}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":1.25, "y":4.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.57, "y":4.25}, {"x":1, "y":5.25, "w":1.25}, {"x":2.25, "y":5.25, "w":1.5}, {"x":3.75, "y":5.25, "w":1.5}, {"x":5.32, "y":5.25}, {"x":-1.0, "y":2}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":-1.5, "y":3}, {"x":-0.5, "y":3}, {"x":0.5, "y":3}, {"x":1.5, "y":3}, {"x":2.5, "y":3}, {"x":-1.75, "y":4}, {"x":-0.75, "y":4}, {"x":0.25, "y":4}, {"x":1.25, "y":4}, {"x":2.25, "y":4}, {"x":-1.25, "y":5}, {"x":-0.25, "y":5}, {"x":0.75, "y":5}, {"x":1.75, "y":5}, {"x":-1.25, "y":6, "w":1.5}, {"x":0.25, "y":6, "w":1.5}, {"x":1.75, "y":6, "w":1.25}] } } } diff --git a/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c b/keyboards/mechwild/mokulua/keymaps/default/keymap.c similarity index 99% rename from keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c rename to keyboards/mechwild/mokulua/keymaps/default/keymap.c index 724dfee41c7a..69a16d090f5b 100644 --- a/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c +++ b/keyboards/mechwild/mokulua/keymaps/default/keymap.c @@ -10,8 +10,8 @@ enum layer_names { _BASE, _FN1, - _FN2, - _FN3 + _FN2, + _FN3 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/mechwild/mokulua/standard/keymaps/default/readme.md b/keyboards/mechwild/mokulua/keymaps/default/readme.md similarity index 100% rename from keyboards/mechwild/mokulua/standard/keymaps/default/readme.md rename to keyboards/mechwild/mokulua/keymaps/default/readme.md diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/config.h b/keyboards/mechwild/mokulua/keymaps/silly/config.h similarity index 100% rename from keyboards/mechwild/mokulua/standard/keymaps/silly/config.h rename to keyboards/mechwild/mokulua/keymaps/silly/config.h diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c b/keyboards/mechwild/mokulua/keymaps/silly/keymap.c similarity index 100% rename from keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c rename to keyboards/mechwild/mokulua/keymaps/silly/keymap.c diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md b/keyboards/mechwild/mokulua/keymaps/silly/readme.md similarity index 100% rename from keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md rename to keyboards/mechwild/mokulua/keymaps/silly/readme.md diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/via/rules.mk b/keyboards/mechwild/mokulua/keymaps/silly/rules.mk similarity index 100% rename from keyboards/mechwild/mokulua/mirrored/keymaps/via/rules.mk rename to keyboards/mechwild/mokulua/keymaps/silly/rules.mk diff --git a/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c b/keyboards/mechwild/mokulua/keymaps/via/keymap.c similarity index 99% rename from keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c rename to keyboards/mechwild/mokulua/keymaps/via/keymap.c index 724dfee41c7a..69a16d090f5b 100644 --- a/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c +++ b/keyboards/mechwild/mokulua/keymaps/via/keymap.c @@ -10,8 +10,8 @@ enum layer_names { _BASE, _FN1, - _FN2, - _FN3 + _FN2, + _FN3 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/mechwild/mokulua/standard/keymaps/via/readme.md b/keyboards/mechwild/mokulua/keymaps/via/readme.md similarity index 100% rename from keyboards/mechwild/mokulua/standard/keymaps/via/readme.md rename to keyboards/mechwild/mokulua/keymaps/via/readme.md diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk b/keyboards/mechwild/mokulua/keymaps/via/rules.mk similarity index 100% rename from keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk rename to keyboards/mechwild/mokulua/keymaps/via/rules.mk diff --git a/keyboards/mechwild/mokulua/mirrored/config.h b/keyboards/mechwild/mokulua/mirrored/config.h deleted file mode 100644 index d5887c7ff5d1..000000000000 --- a/keyboards/mechwild/mokulua/mirrored/config.h +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2022 Kyle McCreery (@kylemccreery) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x6D77 // mw = "MechWild" -#define PRODUCT_ID 0x170C -#define DEVICE_VER 0x0103 -#define MANUFACTURER MechWild -#define PRODUCT Mokulua - -/* Key matrix size */ -#define MATRIX_ROWS 12 -#define MATRIX_COLS 6 - -/* Key matrix pins */ -#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3 } -#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 } -#define UNUSED_PINS - -/* Encoder pins */ -#define ENCODERS_PAD_A { D2 } -#define ENCODERS_PAD_B { B2 } - -/* Encoder resolution */ -#define ENCODER_RESOLUTION 4 -#define TAP_CODE_DELAY 10 - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -#define OLED_FONT_H "keyboards/mechwild/mokulua/lib/mokulua.c" - -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -#define SOFT_SERIAL_PIN D3 -#define MASTER_LEFT -//#define MASTER_RIGHT -#define RGBLIGHT_SPLIT -#define RGBLED_SPLIT { 8, 8 } -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_LED_STATE_ENABLE -#define SPLIT_MODS_ENABLE -#define SPLIT_OLED_ENABLE - -/* RGB options */ -#define RGB_DI_PIN B6 -#ifdef RGB_DI_PIN -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ -//# define RGBLIGHT_ANIMATIONS -/*== or choose animations ==*/ -//# define RGBLIGHT_EFFECT_BREATHING -# define RGBLIGHT_EFFECT_RAINBOW_MOOD -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -//# define RGBLIGHT_EFFECT_SNAKE -//# define RGBLIGHT_EFFECT_KNIGHT -//# define RGBLIGHT_EFFECT_CHRISTMAS -//# define RGBLIGHT_EFFECT_STATIC_GRADIENT -//# define RGBLIGHT_EFFECT_RGB_TEST -//# define RGBLIGHT_EFFECT_ALTERNATING -/*== customize breathing effect ==*/ -/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -/*==== use exp() and sin() ====*/ -//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -#endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is useful for the Windows task manager shortcut (ctrl+shift+esc). - */ -//#define GRAVE_ESC_CTRL_OVERRIDE - - -/* Bootmagic Lite key configuration */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c b/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c deleted file mode 100644 index 330c9320a021..000000000000 --- a/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2022 Kyle McCreery (@kylemccreery) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -#define FN1_SPC LT(1, KC_SPC) -#define FN2_SPC LT(2, KC_SPC) - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _FN1, - _FN2, - _FN3 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - 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_BSPC, _______, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_BSLS, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, - KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT - ), - [_FN1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), - [_FN2] = LAYOUT( - _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_FN3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md b/keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md deleted file mode 100644 index 727105dcba62..000000000000 --- a/keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for Mokulua using a mirrored right-half diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c b/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c deleted file mode 100644 index 330c9320a021..000000000000 --- a/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2022 Kyle McCreery (@kylemccreery) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -#define FN1_SPC LT(1, KC_SPC) -#define FN2_SPC LT(2, KC_SPC) - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _FN1, - _FN2, - _FN3 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - 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_BSPC, _______, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_BSLS, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, - KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT - ), - [_FN1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), - [_FN2] = LAYOUT( - _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_FN3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md b/keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md deleted file mode 100644 index 37aca6eac7ed..000000000000 --- a/keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The VIA keymap for Mokulua using a mirrored right-half diff --git a/keyboards/mechwild/mokulua/mirrored/rules.mk b/keyboards/mechwild/mokulua/mirrored/rules.mk deleted file mode 100644 index 5aae5c7c7693..000000000000 --- a/keyboards/mechwild/mokulua/mirrored/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = caterina - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes # Enable encoder -OLED_ENABLE = yes # Enable OLED Screen -OLED_DRIVER = SSD1306 # Define OLED Driver -SPLIT_KEYBOARD = yes # Define split functionality \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/mirrored/mirrored.c b/keyboards/mechwild/mokulua/mokulua.c similarity index 96% rename from keyboards/mechwild/mokulua/mirrored/mirrored.c rename to keyboards/mechwild/mokulua/mokulua.c index 777c146d64e8..57c800ef899c 100644 --- a/keyboards/mechwild/mokulua/mirrored/mirrored.c +++ b/keyboards/mechwild/mokulua/mokulua.c @@ -1,7 +1,7 @@ // Copyright 2022 Kyle McCreery (@Kyle McCreery) // SPDX-License-Identifier: GPL-2.0-or-later -#include "standard.h" +#include "mokulua.h" #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { @@ -28,7 +28,7 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { #endif #ifdef OLED_ENABLE - oled_rotation_t oled_init_user(oled_rotation_t rotation) { + oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return OLED_ROTATION_270; // flips the display 270 degrees } diff --git a/keyboards/mechwild/mokulua/mirrored/mirrored.h b/keyboards/mechwild/mokulua/mokulua.h similarity index 51% rename from keyboards/mechwild/mokulua/mirrored/mirrored.h rename to keyboards/mechwild/mokulua/mokulua.h index 5b7dd29c2516..95ea1e370937 100644 --- a/keyboards/mechwild/mokulua/mirrored/mirrored.h +++ b/keyboards/mechwild/mokulua/mokulua.h @@ -7,28 +7,7 @@ #define ___ KC_NO -#define LAYOUT_mirrored( \ - L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ - L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ - L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ - L30, L31, L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \ - L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \ -) { \ - { L00, L01, L02, L03, L04, L05 }, \ - { L10, L11, L12, L13, L14, L15 }, \ - { L20, L21, L22, L23, L24, L25 }, \ - { L30, L31, L32, L33, L34, L35 }, \ - { L40, L41, L42, L43, L44, L45 }, \ - { L46, L36, L37, L26, L16, L06 }, \ - { R06, R05, R04, R03, R02, R01 }, \ - { R16, R15, R14, R13, R12, R11 }, \ - { R26, R25, R24, R23, R22, R21 }, \ - { R37, R36, R35, R34, R33, R32 }, \ - { R46, R45, R44, R43, R42, R41 }, \ - { R40, R31, R30, R20, R10, R00 } \ -} - -#define LAYOUT_standard( \ +#define LAYOUT( \ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ L10, L11, L12, L13, L14, L15, L16, R11, R12, R13, R14, R15, R16, \ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ @@ -48,6 +27,3 @@ { R41, R42, R43, R44, R45, R46 }, \ { R00, R20, R31, R30, R40, ___ } \ } - - -#define LAYOUT LAYOUT_mirrored \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/rules.mk b/keyboards/mechwild/mokulua/rules.mk index 3a87a143e51f..17eb654430fb 100644 --- a/keyboards/mechwild/mokulua/rules.mk +++ b/keyboards/mechwild/mokulua/rules.mk @@ -1 +1,22 @@ -DEFAULT_FOLDER = mechwild/mokulua/standard \ No newline at end of file +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes # Enable encoder +OLED_ENABLE = yes # Enable OLED Screen +OLED_DRIVER = SSD1306 # Define OLED Driver +SPLIT_KEYBOARD = yes # Define split functionality diff --git a/keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk b/keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk deleted file mode 100644 index 36b7ba9cbc98..000000000000 --- a/keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -VIA_ENABLE = yes -LTO_ENABLE = yes diff --git a/keyboards/mechwild/mokulua/standard/rules.mk b/keyboards/mechwild/mokulua/standard/rules.mk deleted file mode 100644 index 5aae5c7c7693..000000000000 --- a/keyboards/mechwild/mokulua/standard/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = caterina - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes # Enable encoder -OLED_ENABLE = yes # Enable OLED Screen -OLED_DRIVER = SSD1306 # Define OLED Driver -SPLIT_KEYBOARD = yes # Define split functionality \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/standard/standard.c b/keyboards/mechwild/mokulua/standard/standard.c deleted file mode 100644 index 777c146d64e8..000000000000 --- a/keyboards/mechwild/mokulua/standard/standard.c +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2022 Kyle McCreery (@Kyle McCreery) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "standard.h" - -#ifdef ENCODER_ENABLE -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - switch (index) { - case 0: - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - case 1: - if (clockwise) { - tap_code(KC_PGUP); - } else { - tap_code(KC_PGDN); - } - break; - - } - return true; -} -#endif - -#ifdef OLED_ENABLE - oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_270; // flips the display 270 degrees - } - - static void render_logo(void) { // Render MechWild "MW" Logo - static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00}; - static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00}; - static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00}; - static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00}; - oled_set_cursor(0,0); - oled_write_P(logo_1, false); - oled_set_cursor(0,1); - oled_write_P(logo_2, false); - oled_set_cursor(0,2); - oled_write_P(logo_3, false); - oled_set_cursor(0,3); - oled_write_P(logo_4, false); - } - bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - render_logo(); - oled_set_cursor(0,6); - - oled_write_ln_P(PSTR("Layer"), false); - - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_ln_P(PSTR("Base"), false); - break; - case 1: - oled_write_ln_P(PSTR("FN 1"), false); - break; - case 2: - oled_write_ln_P(PSTR("FN 2"), false); - break; - case 3: - oled_write_ln_P(PSTR("FN 3"), false); - break; - default: - oled_write_ln_P(PSTR("Undef"), false); - } - oled_write_ln_P(PSTR(""), false); - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); - oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); - oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); - return false; - } -#endif diff --git a/keyboards/mechwild/mokulua/standard/standard.h b/keyboards/mechwild/mokulua/standard/standard.h deleted file mode 100644 index a25fe3eff473..000000000000 --- a/keyboards/mechwild/mokulua/standard/standard.h +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2022 Kyle McCreery (@kylemccreery) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "quantum.h" - -#define ___ KC_NO - -#define LAYOUT_mirrored( \ - L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ - L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ - L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ - L30, L31, L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \ - L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \ -) { \ - { L00, L01, L02, L03, L04, L05 }, \ - { L10, L11, L12, L13, L14, L15 }, \ - { L20, L21, L22, L23, L24, L25 }, \ - { L30, L31, L32, L33, L34, L35 }, \ - { L40, L41, L42, L43, L44, L45 }, \ - { L46, L36, L37, L26, L16, L06 }, \ - { R06, R05, R04, R03, R02, R01 }, \ - { R16, R15, R14, R13, R12, R11 }, \ - { R26, R25, R24, R23, R22, R21 }, \ - { R37, R36, R35, R34, R33, R32 }, \ - { R46, R45, R44, R43, R42, R41 }, \ - { R40, R31, R30, R20, R10, R00 } \ -} - -#define LAYOUT_standard( \ - L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ - L10, L11, L12, L13, L14, L15, L16, R11, R12, R13, R14, R15, R16, \ - L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ - L30, L31, L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \ - L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \ -) { \ - { L00, L01, L02, L03, L04, L05 }, \ - { L10, L11, L12, L13, L14, L15 }, \ - { L20, L21, L22, L23, L24, L25 }, \ - { L30, L31, L32, L33, L34, L35 }, \ - { L40, L41, L42, L43, L44, L45 }, \ - { L46, L36, L37, L26, L16, L06 }, \ - { R01, R02, R03, R04, R05, R06 }, \ - { R11, R12, R13, R14, R15, R16 }, \ - { R21, R22, R23, R24, R25, R26 }, \ - { R32, R33, R34, R35, R36, R37 }, \ - { R41, R42, R43, R44, R45, R46 }, \ - { R00, R20, R31, R30, R40, ___ } \ -} - -#define LAYOUT LAYOUT_standard From b26ba52bdde82ec2920fa258079026f31d14b192 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 12 May 2022 11:24:40 -0700 Subject: [PATCH 0662/1832] [Keyboard] KBIC65 Refactor (#17066) --- keyboards/karlb/kbic65/info.json | 1051 +++++++++++------ keyboards/karlb/kbic65/kbic65.h | 170 ++- .../karlb/kbic65/keymaps/default/keymap.c | 4 +- .../karlb/kbic65/keymaps/default_iso/keymap.c | 23 + .../keymaps/{iso => default_iso}/readme.md | 0 .../keymaps/default_iso_split_bs/keymap.c | 23 + .../readme.md | 0 keyboards/karlb/kbic65/keymaps/iso/keymap.c | 22 - .../karlb/kbic65/keymaps/iso_full/keymap.c | 22 - keyboards/karlb/kbic65/keymaps/via/keymap.c | 4 +- keyboards/karlb/kbic65/rules.mk | 2 + 11 files changed, 909 insertions(+), 412 deletions(-) create mode 100644 keyboards/karlb/kbic65/keymaps/default_iso/keymap.c rename keyboards/karlb/kbic65/keymaps/{iso => default_iso}/readme.md (100%) create mode 100644 keyboards/karlb/kbic65/keymaps/default_iso_split_bs/keymap.c rename keyboards/karlb/kbic65/keymaps/{iso_full => default_iso_split_bs}/readme.md (100%) delete mode 100644 keyboards/karlb/kbic65/keymaps/iso/keymap.c delete mode 100644 keyboards/karlb/kbic65/keymaps/iso_full/keymap.c diff --git a/keyboards/karlb/kbic65/info.json b/keyboards/karlb/kbic65/info.json index 857f8d3cc551..d572a92fc25e 100644 --- a/keyboards/karlb/kbic65/info.json +++ b/keyboards/karlb/kbic65/info.json @@ -31,369 +31,698 @@ "pid": "0xD87A", "device_version": "0.0.1" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"BkSp1", "x":13, "y":0}, + {"label":"BkSp2", "x":14, "y":0}, + {"label":"Home", "x":15.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15.5, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"ISO |", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"↑", "x":14.25, "y":3.25}, + {"label":"End", "x":15.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"AltGr", "x":10, "y":4}, + {"label":"Win", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"←", "x":13.25, "y":4.25}, + {"label":"↓", "x":14.25, "y":4.25}, + {"label":"→", "x":15.25, "y":4.25} + ] + }, + "LAYOUT_65_iso": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"\"", "x":2, "y":0}, + {"label":"£", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"BackSpace", "x":13, "y":0, "w":2}, + {"label":"Home", "x":15.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"@", "x":11.75, "y":2}, + {"label":"~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15.5, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"↑", "x":14.25, "y":3.25}, + {"label":"End", "x":15.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"AltGr", "x":10, "y":4}, + {"label":"Win", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"←", "x":13.25, "y":4.25}, + {"label":"↓", "x":14.25, "y":4.25}, + {"label":"→", "x":15.25, "y":4.25} + ] + }, + "LAYOUT_65_iso_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"\"", "x":2, "y":0}, + {"label":"£", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"BkSp1", "x":13, "y":0}, + {"label":"BkSp2", "x":14, "y":0}, + {"label":"Home", "x":15.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"@", "x":11.75, "y":2}, + {"label":"~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15.5, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"↑", "x":14.25, "y":3.25}, + {"label":"End", "x":15.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"AltGr", "x":10, "y":4}, + {"label":"Win", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"←", "x":13.25, "y":4.25}, + {"label":"↓", "x":14.25, "y":4.25}, + {"label":"→", "x":15.25, "y":4.25} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"\"", "x":2, "y":0}, + {"label":"£", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"BackSpace", "x":13, "y":0, "w":2}, + {"label":"Home", "x":15.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"@", "x":11.75, "y":2}, + {"label":"~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15.5, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"↑", "x":14.25, "y":3.25}, + {"label":"End", "x":15.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"AltGr", "x":10, "y":4, "w":1.25}, + {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, + {"label":"←", "x":13.25, "y":4.25}, + {"label":"↓", "x":14.25, "y":4.25}, + {"label":"→", "x":15.25, "y":4.25} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"\"", "x":2, "y":0}, + {"label":"£", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"BkSp1", "x":13, "y":0}, + {"label":"BkSp2", "x":14, "y":0}, + {"label":"Home", "x":15.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"@", "x":11.75, "y":2}, + {"label":"~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15.5, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"↑", "x":14.25, "y":3.25}, + {"label":"End", "x":15.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"AltGr", "x":10, "y":4, "w":1.25}, + {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, + {"label":"←", "x":13.25, "y":4.25}, + {"label":"↓", "x":14.25, "y":4.25}, + {"label":"→", "x":15.25, "y":4.25} + ] + }, + "LAYOUT_65_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"BackSpace", "x":13, "y":0, "w":2}, + {"label":"Home", "x":15.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15.5, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"↑", "x":14.25, "y":3.25}, + {"label":"End", "x":15.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"AltGr", "x":10, "y":4}, + {"label":"Win", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"←", "x":13.25, "y":4.25}, + {"label":"↓", "x":14.25, "y":4.25}, + {"label":"→", "x":15.25, "y":4.25} + ] + }, + "LAYOUT_65_ansi_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"BkSp1", "x":13, "y":0}, + {"label":"BkSp2", "x":14, "y":0}, + {"label":"Home", "x":15.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15.5, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"↑", "x":14.25, "y":3.25}, + {"label":"End", "x":15.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"AltGr", "x":10, "y":4}, + {"label":"Win", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"←", "x":13.25, "y":4.25}, + {"label":"↓", "x":14.25, "y":4.25}, + {"label":"→", "x":15.25, "y":4.25} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"BackSpace", "x":13, "y":0, "w":2}, + {"label":"Home", "x":15.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15.5, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"↑", "x":14.25, "y":3.25}, + {"label":"End", "x":15.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"AltGr", "x":10, "y":4, "w":1.25}, + {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, + {"label":"←", "x":13.25, "y":4.25}, + {"label":"↓", "x":14.25, "y":4.25}, + {"label":"→", "x":15.25, "y":4.25} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { "layout": [ - { - "label": "Esc", - "x": 0, - "y": 0 - }, - { - "label": "!", - "x": 1, - "y": 0 - }, - { - "label": "\"", - "x": 2, - "y": 0 - }, - { - "label": "£", - "x": 3, - "y": 0 - }, - { - "label": "$", - "x": 4, - "y": 0 - }, - { - "label": "%", - "x": 5, - "y": 0 - }, - { - "label": "^", - "x": 6, - "y": 0 - }, - { - "label": "&", - "x": 7, - "y": 0 - }, - { - "label": "*", - "x": 8, - "y": 0 - }, - { - "label": "(", - "x": 9, - "y": 0 - }, - { - "label": ")", - "x": 10, - "y": 0 - }, - { - "label": "_", - "x": 11, - "y": 0 - }, - { - "label": "+", - "x": 12, - "y": 0 - }, - { - "label": "BkSp1", - "x": 13, - "y": 0 - }, - { - "label": "BkSp2", - "x": 14, - "y": 0 - }, - { - "label": "Delete", - "x": 15.5, - "y": 0 - }, - { - "label": "Tab", - "x": 0, - "y": 1, - "w": 1.5 - }, - { - "label": "Q", - "x": 1.5, - "y": 1 - }, - { - "label": "W", - "x": 2.5, - "y": 1 - }, - { - "label": "E", - "x": 3.5, - "y": 1 - }, - { - "label": "R", - "x": 4.5, - "y": 1 - }, - { - "label": "T", - "x": 5.5, - "y": 1 - }, - { - "label": "Y", - "x": 6.5, - "y": 1 - }, - { - "label": "U", - "x": 7.5, - "y": 1 - }, - { - "label": "I", - "x": 8.5, - "y": 1 - }, - { - "label": "O", - "x": 9.5, - "y": 1 - }, - { - "label": "P", - "x": 10.5, - "y": 1 - }, - { - "label": "{", - "x": 11.5, - "y": 1 - }, - { - "label": "}", - "x": 12.5, - "y": 1 - }, - { - "label": "Enter_ISO", - "x": 13.75, - "y": 1, - "w": 1.25, - "h": 2 - }, - { - "label": "¬", - "x": 15.5, - "y": 1 - }, - { - "label": "Caps Lock", - "x": 0, - "y": 2, - "w": 1.75 - }, - { - "label": "A", - "x": 1.75, - "y": 2 - }, - { - "label": "S", - "x": 2.75, - "y": 2 - }, - { - "label": "D", - "x": 3.75, - "y": 2 - }, - { - "label": "F", - "x": 4.75, - "y": 2 - }, - { - "label": "G", - "x": 5.75, - "y": 2 - }, - { - "label": "H", - "x": 6.75, - "y": 2 - }, - { - "label": "J", - "x": 7.75, - "y": 2 - }, - { - "label": "K", - "x": 8.75, - "y": 2 - }, - { - "label": "L", - "x": 9.75, - "y": 2 - }, - { - "label": ":", - "x": 10.75, - "y": 2 - }, - { - "label": "@", - "x": 11.75, - "y": 2 - }, - { - "label": "~", - "x": 12.75, - "y": 2 - }, - { - "label": "PgUp", - "x": 15.5, - "y": 2 - }, - { - "label": "Shift", - "x": 0, - "y": 3, - "w": 1.25 - }, - { - "label": "|", - "x": 1.25, - "y": 3 - }, - { - "label": "Z", - "x": 2.25, - "y": 3 - }, - { - "label": "X", - "x": 3.25, - "y": 3 - }, - { - "label": "C", - "x": 4.25, - "y": 3 - }, - { - "label": "V", - "x": 5.25, - "y": 3 - }, - { - "label": "B", - "x": 6.25, - "y": 3 - }, - { - "label": "N", - "x": 7.25, - "y": 3 - }, - { - "label": "M", - "x": 8.25, - "y": 3 - }, - { - "label": "<", - "x": 9.25, - "y": 3 - }, - { - "label": ">", - "x": 10.25, - "y": 3 - }, - { - "label": "?", - "x": 11.25, - "y": 3 - }, - { - "label": "Shift", - "x": 12.25, - "y": 3, - "w": 1.75 - }, - { - "label": "PgDn", - "x": 15.5, - "y": 3 - }, - { - "label": "↑", - "x": 14.25, - "y": 3.25 - }, - { - "label": "Ctrl", - "x": 0, - "y": 4, - "w": 1.25 - }, - { - "label": "Win", - "x": 1.25, - "y": 4, - "w": 1.25 - }, - { - "label": "Alt", - "x": 2.5, - "y": 4, - "w": 1.25 - }, - { - "label": "Space", - "x": 3.75, - "y": 4, - "w": 6.25 - }, - { - "label": "AltGr", - "x": 10, - "y": 4 - }, - { - "label": "Win", - "x": 11, - "y": 4 - }, - { - "label": "Ctrl", - "x": 12, - "y": 4 - }, - { - "label": "←", - "x": 13.25, - "y": 4.25 - }, - { - "label": "↓", - "x": 14.25, - "y": 4.25 - }, - { - "label": "→", - "x": 15.25, - "y": 4.25 - } + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"BkSp1", "x":13, "y":0}, + {"label":"BkSp2", "x":14, "y":0}, + {"label":"Home", "x":15.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15.5, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"↑", "x":14.25, "y":3.25}, + {"label":"End", "x":15.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"AltGr", "x":10, "y":4, "w":1.25}, + {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, + {"label":"←", "x":13.25, "y":4.25}, + {"label":"↓", "x":14.25, "y":4.25}, + {"label":"→", "x":15.25, "y":4.25} ] } } diff --git a/keyboards/karlb/kbic65/kbic65.h b/keyboards/karlb/kbic65/kbic65.h index 112386bc6024..697072b5504d 100644 --- a/keyboards/karlb/kbic65/kbic65.h +++ b/keyboards/karlb/kbic65/kbic65.h @@ -5,10 +5,31 @@ #include "quantum.h" +#define ___ KC_NO + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ ┌───────┐ + * │10 │00 │11 │01 │12 │02 │13 │03 │14 │04 │15 │05 │16 │06 │17 │ │07 │ │06 │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┤ └─┬─────┤ + * │30 │20 │31 │21 │32 │22 │33 │23 │34 │24 │35 │25 │36 │26 │ │37 │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤ ┌──┴┐26 │ ISO Enter + * LShift │50 │40 │51 │41 │52 │42 │53 │43 │54 │44 │55 │45 │56 │ │47 │ │56 │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤ └───┴────┘ + * │70 │ │70 │60 │71 │61 │72 │62 │73 │63 │74 │64 │75 │65 │76 │┌───┐│57 │ + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│66 │└───┘ + * │80 │81 │82 │83 │84 │85 │86 │┌───┼───┼───┐ + * └────┴────┴────┴────────────────────────┴───┴───┴───┘│87 │77 │67 │ + * └───┴───┴───┘ + * K83+K84 can be 6.25u/1u or 6u/1.25u + * ┌────┬────┬────┬────────────────────────┬────┬────┐ + * │80 │81 │82 │83 │84 │85 │ 65% with Blocker + * └────┴────┴────┴────────────────────────┴────┴────┘ + */ + // This a shortcut to help you visually see your layout. // The first section contains all of the arguements // The second converts the arguments into a two-dimensional array -#define LAYOUT( \ +#define LAYOUT_all( \ K10, K00, K11, K01, K12, K02, K13, K03, K14, K04, K15, K05, K16, K06, K17, K07, \ K30, K20, K31, K21, K32, K22, K33, K23, K34, K24, K35, K25, K36, K26, K37, \ K50, K40, K51, K41, K52, K42, K53, K43, K54, K44, K55, K45, K56, K47, \ @@ -17,12 +38,155 @@ ) { \ {K00, K01, K02, K03, K04, K05, K06, K07}, \ {K10, K11, K12, K13, K14, K15, K16, K17}, \ - {K20, K21, K22, K23, K24, K25, K26, KC_NO}, \ + {K20, K21, K22, K23, K24, K25, K26, ___}, \ + {K30, K31, K32, K33, K34, K35, K36, K37}, \ + {K40, K41, K42, K43, K44, K45, ___, K47}, \ + {K50, K51, K52, K53, K54, K55, K56, K57}, \ + {K60, K61, K62, K63, K64, K65, K66, K67}, \ + {K70, K71, K72, K73, K74, K75, K76, K77}, \ + {K80, K81, K82, K83, K84, K85, K86, K87} \ +} + +#define LAYOUT_65_iso( \ + K10, K00, K11, K01, K12, K02, K13, K03, K14, K04, K15, K05, K16, K06, K07, \ + K30, K20, K31, K21, K32, K22, K33, K23, K34, K24, K35, K25, K36, K37, \ + K50, K40, K51, K41, K52, K42, K53, K43, K54, K44, K55, K45, K56, K26, K47, \ + K70, K60, K71, K61, K72, K62, K73, K63, K74, K64, K75, K65, K76, K66, K57, \ + K80, K81, K82, K83, K84, K85, K86, K87, K77, K67 \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07}, \ + {K10, K11, K12, K13, K14, K15, K16, ___}, \ + {K20, K21, K22, K23, K24, K25, K26, ___}, \ {K30, K31, K32, K33, K34, K35, K36, K37}, \ - {K40, K41, K42, K43, K44, K45, KC_NO, K47}, \ + {K40, K41, K42, K43, K44, K45, ___, K47}, \ {K50, K51, K52, K53, K54, K55, K56, K57}, \ {K60, K61, K62, K63, K64, K65, K66, K67}, \ {K70, K71, K72, K73, K74, K75, K76, K77}, \ {K80, K81, K82, K83, K84, K85, K86, K87} \ } +#define LAYOUT_65_iso_split_bs( \ + K10, K00, K11, K01, K12, K02, K13, K03, K14, K04, K15, K05, K16, K06, K17, K07, \ + K30, K20, K31, K21, K32, K22, K33, K23, K34, K24, K35, K25, K36, K37, \ + K50, K40, K51, K41, K52, K42, K53, K43, K54, K44, K55, K45, K56, K26, K47, \ + K70, K60, K71, K61, K72, K62, K73, K63, K74, K64, K75, K65, K76, K66, K57, \ + K80, K81, K82, K83, K84, K85, K86, K87, K77, K67 \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07}, \ + {K10, K11, K12, K13, K14, K15, K16, K17}, \ + {K20, K21, K22, K23, K24, K25, K26, ___}, \ + {K30, K31, K32, K33, K34, K35, K36, K37}, \ + {K40, K41, K42, K43, K44, K45, ___, K47}, \ + {K50, K51, K52, K53, K54, K55, K56, K57}, \ + {K60, K61, K62, K63, K64, K65, K66, K67}, \ + {K70, K71, K72, K73, K74, K75, K76, K77}, \ + {K80, K81, K82, K83, K84, K85, K86, K87} \ +} + +#define LAYOUT_65_iso_blocker( \ + K10, K00, K11, K01, K12, K02, K13, K03, K14, K04, K15, K05, K16, K06, K07, \ + K30, K20, K31, K21, K32, K22, K33, K23, K34, K24, K35, K25, K36, K37, \ + K50, K40, K51, K41, K52, K42, K53, K43, K54, K44, K55, K45, K56, K26, K47, \ + K70, K60, K71, K61, K72, K62, K73, K63, K74, K64, K75, K65, K76, K66, K57, \ + K80, K81, K82, K83, K84, K85, K87, K77, K67 \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07}, \ + {K10, K11, K12, K13, K14, K15, K16, ___}, \ + {K20, K21, K22, K23, K24, K25, K26, ___}, \ + {K30, K31, K32, K33, K34, K35, K36, K37}, \ + {K40, K41, K42, K43, K44, K45, ___, K47}, \ + {K50, K51, K52, K53, K54, K55, K56, K57}, \ + {K60, K61, K62, K63, K64, K65, K66, K67}, \ + {K70, K71, K72, K73, K74, K75, K76, K77}, \ + {K80, K81, K82, K83, K84, K85, ___, K87} \ +} + +#define LAYOUT_65_iso_blocker_split_bs( \ + K10, K00, K11, K01, K12, K02, K13, K03, K14, K04, K15, K05, K16, K06, K17, K07, \ + K30, K20, K31, K21, K32, K22, K33, K23, K34, K24, K35, K25, K36, K37, \ + K50, K40, K51, K41, K52, K42, K53, K43, K54, K44, K55, K45, K56, K26, K47, \ + K70, K60, K71, K61, K72, K62, K73, K63, K74, K64, K75, K65, K76, K66, K57, \ + K80, K81, K82, K83, K84, K85, K87, K77, K67 \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07}, \ + {K10, K11, K12, K13, K14, K15, K16, K17}, \ + {K20, K21, K22, K23, K24, K25, K26, ___}, \ + {K30, K31, K32, K33, K34, K35, K36, K37}, \ + {K40, K41, K42, K43, K44, K45, ___, K47}, \ + {K50, K51, K52, K53, K54, K55, K56, K57}, \ + {K60, K61, K62, K63, K64, K65, K66, K67}, \ + {K70, K71, K72, K73, K74, K75, K76, K77}, \ + {K80, K81, K82, K83, K84, K85, ___, K87} \ +} + +#define LAYOUT_65_ansi( \ + K10, K00, K11, K01, K12, K02, K13, K03, K14, K04, K15, K05, K16, K06, K07, \ + K30, K20, K31, K21, K32, K22, K33, K23, K34, K24, K35, K25, K36, K26, K37, \ + K50, K40, K51, K41, K52, K42, K53, K43, K54, K44, K55, K45, K56, K47, \ + K70, K71, K61, K72, K62, K73, K63, K74, K64, K75, K65, K76, K66, K57, \ + K80, K81, K82, K83, K84, K85, K86, K87, K77, K67 \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07}, \ + {K10, K11, K12, K13, K14, K15, K16, ___}, \ + {K20, K21, K22, K23, K24, K25, K26, ___}, \ + {K30, K31, K32, K33, K34, K35, K36, K37}, \ + {K40, K41, K42, K43, K44, K45, ___, K47}, \ + {K50, K51, K52, K53, K54, K55, K56, K57}, \ + {___, K61, K62, K63, K64, K65, K66, K67}, \ + {K70, K71, K72, K73, K74, K75, K76, K77}, \ + {K80, K81, K82, K83, K84, K85, K86, K87} \ +} + +#define LAYOUT_65_ansi_split_bs( \ + K10, K00, K11, K01, K12, K02, K13, K03, K14, K04, K15, K05, K16, K06, K17, K07, \ + K30, K20, K31, K21, K32, K22, K33, K23, K34, K24, K35, K25, K36, K26, K37, \ + K50, K40, K51, K41, K52, K42, K53, K43, K54, K44, K55, K45, K56, K47, \ + K70, K71, K61, K72, K62, K73, K63, K74, K64, K75, K65, K76, K66, K57, \ + K80, K81, K82, K83, K84, K85, K86, K87, K77, K67 \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07}, \ + {K10, K11, K12, K13, K14, K15, K16, K17}, \ + {K20, K21, K22, K23, K24, K25, K26, ___}, \ + {K30, K31, K32, K33, K34, K35, K36, K37}, \ + {K40, K41, K42, K43, K44, K45, ___, K47}, \ + {K50, K51, K52, K53, K54, K55, K56, K57}, \ + {___, K61, K62, K63, K64, K65, K66, K67}, \ + {K70, K71, K72, K73, K74, K75, K76, K77}, \ + {K80, K81, K82, K83, K84, K85, K86, K87} \ +} + +#define LAYOUT_65_ansi_blocker( \ + K10, K00, K11, K01, K12, K02, K13, K03, K14, K04, K15, K05, K16, K06, K07, \ + K30, K20, K31, K21, K32, K22, K33, K23, K34, K24, K35, K25, K36, K26, K37, \ + K50, K40, K51, K41, K52, K42, K53, K43, K54, K44, K55, K45, K56, K47, \ + K70, K71, K61, K72, K62, K73, K63, K74, K64, K75, K65, K76, K66, K57, \ + K80, K81, K82, K83, K84, K85, K87, K77, K67 \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07}, \ + {K10, K11, K12, K13, K14, K15, K16, ___}, \ + {K20, K21, K22, K23, K24, K25, K26, ___}, \ + {K30, K31, K32, K33, K34, K35, K36, K37}, \ + {K40, K41, K42, K43, K44, K45, ___, K47}, \ + {K50, K51, K52, K53, K54, K55, K56, K57}, \ + {___, K61, K62, K63, K64, K65, K66, K67}, \ + {K70, K71, K72, K73, K74, K75, K76, K77}, \ + {K80, K81, K82, K83, K84, K85, ___, K87} \ +} + +#define LAYOUT_65_ansi_blocker_split_bs( \ + K10, K00, K11, K01, K12, K02, K13, K03, K14, K04, K15, K05, K16, K06, K17, K07, \ + K30, K20, K31, K21, K32, K22, K33, K23, K34, K24, K35, K25, K36, K26, K37, \ + K50, K40, K51, K41, K52, K42, K53, K43, K54, K44, K55, K45, K56, K47, \ + K70, K71, K61, K72, K62, K73, K63, K74, K64, K75, K65, K76, K66, K57, \ + K80, K81, K82, K83, K84, K85, K87, K77, K67 \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07}, \ + {K10, K11, K12, K13, K14, K15, K16, K17}, \ + {K20, K21, K22, K23, K24, K25, K26, ___}, \ + {K30, K31, K32, K33, K34, K35, K36, K37}, \ + {K40, K41, K42, K43, K44, K45, ___, K47}, \ + {K50, K51, K52, K53, K54, K55, K56, K57}, \ + {___, K61, K62, K63, K64, K65, K66, K67}, \ + {K70, K71, K72, K73, K74, K75, K76, K77}, \ + {K80, K81, K82, K83, K84, K85, ___, K87} \ +} diff --git a/keyboards/karlb/kbic65/keymaps/default/keymap.c b/keyboards/karlb/kbic65/keymaps/default/keymap.c index 1691cdd1931b..5926dcf80524 100644 --- a/keyboards/karlb/kbic65/keymaps/default/keymap.c +++ b/keyboards/karlb/kbic65/keymaps/default/keymap.c @@ -6,14 +6,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Default ANSI keymap -[0] = LAYOUT( +[0] = LAYOUT_all( 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_HOME, 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_PGUP, 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, 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_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), -[1] = LAYOUT( +[1] = LAYOUT_all( 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, KC_DEL, _______, KC_INS, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, diff --git a/keyboards/karlb/kbic65/keymaps/default_iso/keymap.c b/keyboards/karlb/kbic65/keymaps/default_iso/keymap.c new file mode 100644 index 000000000000..73628ebef861 --- /dev/null +++ b/keyboards/karlb/kbic65/keymaps/default_iso/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2021 Karl Berggren <@bkarl> +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ISO keymap +[0] = LAYOUT_65_iso( + 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_HOME, + 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_PGUP, + 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_NUHS, KC_ENT, KC_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_65_iso( + 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, KC_DEL, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END) + +}; diff --git a/keyboards/karlb/kbic65/keymaps/iso/readme.md b/keyboards/karlb/kbic65/keymaps/default_iso/readme.md similarity index 100% rename from keyboards/karlb/kbic65/keymaps/iso/readme.md rename to keyboards/karlb/kbic65/keymaps/default_iso/readme.md diff --git a/keyboards/karlb/kbic65/keymaps/default_iso_split_bs/keymap.c b/keyboards/karlb/kbic65/keymaps/default_iso_split_bs/keymap.c new file mode 100644 index 000000000000..a69855dde5d8 --- /dev/null +++ b/keyboards/karlb/kbic65/keymaps/default_iso_split_bs/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2021 Karl Berggren <@bkarl> +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ISO keymap +[0] = LAYOUT_65_iso_split_bs( + 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_HOME, + 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_PGUP, + 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_NUHS, KC_ENT, KC_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_65_iso_split_bs( + 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, KC_DEL, _______, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END) + +}; diff --git a/keyboards/karlb/kbic65/keymaps/iso_full/readme.md b/keyboards/karlb/kbic65/keymaps/default_iso_split_bs/readme.md similarity index 100% rename from keyboards/karlb/kbic65/keymaps/iso_full/readme.md rename to keyboards/karlb/kbic65/keymaps/default_iso_split_bs/readme.md diff --git a/keyboards/karlb/kbic65/keymaps/iso/keymap.c b/keyboards/karlb/kbic65/keymaps/iso/keymap.c deleted file mode 100644 index ad2b23626ff6..000000000000 --- a/keyboards/karlb/kbic65/keymaps/iso/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2021 Karl Berggren <@bkarl> -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// ISO keymap -[0] = LAYOUT( -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_HOME, -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_ENT, KC_PGUP, -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_NUHS, KC_PGDN, -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_END, -KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT( -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, KC_DEL, _______, KC_INS, -_______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, -_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, -_______, _______, _______, _______, _______, _______, RESET, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, -_______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END) -}; diff --git a/keyboards/karlb/kbic65/keymaps/iso_full/keymap.c b/keyboards/karlb/kbic65/keymaps/iso_full/keymap.c deleted file mode 100644 index 671cc8b8a8f7..000000000000 --- a/keyboards/karlb/kbic65/keymaps/iso_full/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2021 Karl Berggren <@bkarl> -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// ISO keymap -[0] = LAYOUT( -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_HOME, -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_ENT, KC_PGUP, -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_NUHS, KC_PGDN, -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_END, -KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT( -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, KC_DEL, _______, KC_INS, -_______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, -_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, -_______, _______, _______, _______, _______, _______, RESET, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, -_______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END) -}; diff --git a/keyboards/karlb/kbic65/keymaps/via/keymap.c b/keyboards/karlb/kbic65/keymaps/via/keymap.c index 1691cdd1931b..5926dcf80524 100644 --- a/keyboards/karlb/kbic65/keymaps/via/keymap.c +++ b/keyboards/karlb/kbic65/keymaps/via/keymap.c @@ -6,14 +6,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Default ANSI keymap -[0] = LAYOUT( +[0] = LAYOUT_all( 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_HOME, 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_PGUP, 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, 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_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), -[1] = LAYOUT( +[1] = LAYOUT_all( 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, KC_DEL, _______, KC_INS, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, diff --git a/keyboards/karlb/kbic65/rules.mk b/keyboards/karlb/kbic65/rules.mk index f7da71aab2dc..5f2f840e8990 100644 --- a/keyboards/karlb/kbic65/rules.mk +++ b/keyboards/karlb/kbic65/rules.mk @@ -15,3 +15,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi 65_ansi_blocker 65_ansi_blocker_split_bs 65_ansi_split_bs 65_iso 65_iso_blocker 65_iso_blocker_split_bs 65_iso_split_bs From 58c37c08149ca0bd754a13a32fc4ee6946e07662 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 12 May 2022 13:11:02 -0700 Subject: [PATCH 0663/1832] 65_iso_split_bs Community Layout keymap bugfix (#17072) Fix the layout macro reference in the `keymap.c` file, which caused this keymap to not be able to be compiled. --- .../default/65_iso_split_bs/default_65_iso_split_bs/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/default/65_iso_split_bs/default_65_iso_split_bs/keymap.c b/layouts/default/65_iso_split_bs/default_65_iso_split_bs/keymap.c index 6fa642b43d87..65293bd58f5a 100644 --- a/layouts/default/65_iso_split_bs/default_65_iso_split_bs/keymap.c +++ b/layouts/default/65_iso_split_bs/default_65_iso_split_bs/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │Ctrl│GUI │Alt │ │Alt│GUI│Ctl│ ← │ ↓ │ → │ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ */ - [0] = LAYOUT_65_iso( + [0] = LAYOUT_65_iso_split_bs( KC_GRV, 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_BSPC, KC_HOME, 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_PGUP, 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_NUHS, KC_ENT, KC_PGDN, From c199514372b40dea4b79cb02a65558715e1a628e Mon Sep 17 00:00:00 2001 From: Kyle McCreery Date: Fri, 13 May 2022 02:21:25 -0400 Subject: [PATCH 0664/1832] [Bug] Updated Cirque Pinnacle SPI driver to read data correctly (#17074) --- drivers/sensors/cirque_pinnacle_spi.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/sensors/cirque_pinnacle_spi.c b/drivers/sensors/cirque_pinnacle_spi.c index e00e73eb8cf6..34c77df07be7 100644 --- a/drivers/sensors/cirque_pinnacle_spi.c +++ b/drivers/sensors/cirque_pinnacle_spi.c @@ -7,6 +7,7 @@ // Masks for Cirque Register Access Protocol (RAP) #define WRITE_MASK 0x80 #define READ_MASK 0xA0 +#define FILLER_BYTE 0xFC extern bool touchpad_init; @@ -16,11 +17,11 @@ void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { uint8_t cmdByte = READ_MASK | address; // Form the READ command byte if (touchpad_init) { if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_PINNACLE_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { - spi_write(cmdByte); - spi_read(); // filler - spi_read(); // filler + spi_write(cmdByte); // write command byte, receive filler + spi_write(FILLER_BYTE); // write & receive filler + spi_write(FILLER_BYTE); // write & receive filler for (uint8_t i = 0; i < count; i++) { - data[i] = spi_read(); // each sepsequent read gets another register's contents + data[i] = spi_write(FILLER_BYTE); // write filler, receive data on the third filler send } } else { #ifdef CONSOLE_ENABLE From fc3d3ef0764c9b3703e9aa5b57ec298b1ab24c6a Mon Sep 17 00:00:00 2001 From: Andrew Kannan Date: Fri, 13 May 2022 02:22:03 -0400 Subject: [PATCH 0665/1832] [Keyboard] Add caps and num indicators to Balance keyboard (#17075) --- keyboards/cannonkeys/balance/config.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/keyboards/cannonkeys/balance/config.h b/keyboards/cannonkeys/balance/config.h index 937de92f5576..a16e9ea07205 100644 --- a/keyboards/cannonkeys/balance/config.h +++ b/keyboards/cannonkeys/balance/config.h @@ -32,6 +32,10 @@ along with this program. If not, see . #define MATRIX_ROW_PINS { B4, A15, A14, A0, F0 } #define DIODE_DIRECTION COL2ROW +#define LED_CAPS_LOCK_PIN B12 +#define LED_NUM_LOCK_PIN B14 +#define LED_PIN_ON_STATE 0 + /* define if matrix has ghost */ //#define MATRIX_HAS_GHOST @@ -48,7 +52,7 @@ along with this program. If not, see . #define ENCODERS_PAD_B { B6 } #define ENCODER_RESOLUTION 2 -#define TAP_CODE_DELAY 25 +#define TAP_CODE_DELAY 25 #define DYNAMIC_KEYMAP_LAYER_COUNT 3 From ffe16386f0d4ad280fe8eb6a97e3fac082930f83 Mon Sep 17 00:00:00 2001 From: Josh Hinnebusch Date: Fri, 13 May 2022 02:33:53 -0400 Subject: [PATCH 0666/1832] [Keyboard] H60 updates (#16999) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/hineybush/h60/config.h | 36 ++++++++++++-------- keyboards/hineybush/h60/keymaps/via/keymap.c | 18 +++------- keyboards/hineybush/h60/rules.mk | 6 ++-- 3 files changed, 29 insertions(+), 31 deletions(-) diff --git a/keyboards/hineybush/h60/config.h b/keyboards/hineybush/h60/config.h index 044f05fa84fa..00c238a86048 100644 --- a/keyboards/hineybush/h60/config.h +++ b/keyboards/hineybush/h60/config.h @@ -38,21 +38,27 @@ along with this program. If not, see . #define DIODE_DIRECTION COL2ROW #define BACKLIGHT_PIN B7 -#define BACKLIGHT_BREATHING -#define BACKLIGHT_LEVELS 3 +#define BACKLIGHT_LEVELS 12 -// leaving this here if I decide to add RGB down the line - -// #define RGB_DI_PIN E2 -// #ifdef RGB_DI_PIN -// #define RGBLED_NUM 16 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -// /*== all animations enable ==*/ -// #define RGBLIGHT_ANIMATIONS +#define RGB_DI_PIN B0 + #ifdef RGB_DI_PIN + #define RGBLED_NUM 16 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + /*== all animations enable ==*/ +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE // /*== or choose animations ==*/ // #define RGBLIGHT_EFFECT_BREATHING // #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -69,7 +75,7 @@ along with this program. If not, see . // /*==== use exp() and sin() ====*/ // #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 // #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -// #endif + #endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 diff --git a/keyboards/hineybush/h60/keymaps/via/keymap.c b/keyboards/hineybush/h60/keymaps/via/keymap.c index 75c9ac2dd2c5..5f733767015d 100644 --- a/keyboards/hineybush/h60/keymaps/via/keymap.c +++ b/keyboards/hineybush/h60/keymaps/via/keymap.c @@ -3,35 +3,27 @@ */ #include QMK_KEYBOARD_H -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _FN1, - _FN2, - _FN3 -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_all( - 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_TRNS, + LAYOUT_all( + 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_TRNS, KC_BSPC, 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_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_SPC, KC_TRNS, KC_RALT, MO(1), KC_RGUI, KC_RCTL), - [_FN1] = LAYOUT_all( + LAYOUT_all( KC_TRNS, BL_TOGG, BL_DEC, BL_INC, 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, RESET, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - [_FN2] = LAYOUT_all( + LAYOUT_all( 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, 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, 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, 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, KC_TRNS), - [_FN3] = LAYOUT_all( + LAYOUT_all( 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/hineybush/h60/rules.mk b/keyboards/hineybush/h60/rules.mk index 6444ea87d852..dfbde71e2ba6 100644 --- a/keyboards/hineybush/h60/rules.mk +++ b/keyboards/hineybush/h60/rules.mk @@ -10,11 +10,11 @@ BOOTLOADER = atmel-dfu BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SLEEP_LED_ENABLE = yes From e5e7039368f2efd03005ce6b37a49d591608e8dc Mon Sep 17 00:00:00 2001 From: Stephon Parker Date: Fri, 13 May 2022 02:36:12 -0400 Subject: [PATCH 0667/1832] [Keymap] Contra - QWERTY US basic layout; MechWild Marcuio - EN update layout (#16787) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Stephon Parker --- keyboards/contra/keymaps/basic/readme.md | 2 +- .../contra/keymaps/basic_qwerty/config.h | 35 +++ .../contra/keymaps/basic_qwerty/keymap.c | 140 +++++++++ .../contra/keymaps/basic_qwerty/readme.md | 64 ++++ .../keymaps/fearless_spiff_en/config.h | 19 ++ .../keymaps/fearless_spiff_en/keymap.c | 293 ++++++++++++++++++ .../keymaps/fearless_spiff_en/readme.md | 22 ++ .../keymaps/fearless_spiff_en/rules.mk | 3 + 8 files changed, 577 insertions(+), 1 deletion(-) create mode 100644 keyboards/contra/keymaps/basic_qwerty/config.h create mode 100644 keyboards/contra/keymaps/basic_qwerty/keymap.c create mode 100644 keyboards/contra/keymaps/basic_qwerty/readme.md create mode 100644 keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h create mode 100644 keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c create mode 100644 keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md create mode 100644 keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk diff --git a/keyboards/contra/keymaps/basic/readme.md b/keyboards/contra/keymaps/basic/readme.md index 195bc2c1b649..a2397b798b43 100644 --- a/keyboards/contra/keymaps/basic/readme.md +++ b/keyboards/contra/keymaps/basic/readme.md @@ -69,4 +69,4 @@ Switch from `Adjust` layer. |------+------+------+------+------+------+------+------+------+------+------+------| | | | | | | | | | | | | `-----------------------------------------------------------------------------------' -``` \ No newline at end of file +``` diff --git a/keyboards/contra/keymaps/basic_qwerty/config.h b/keyboards/contra/keymaps/basic_qwerty/config.h new file mode 100644 index 000000000000..95ad308ff2ea --- /dev/null +++ b/keyboards/contra/keymaps/basic_qwerty/config.h @@ -0,0 +1,35 @@ +// Copyright 2021 Stehpon Parker (@stephondoestech) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +#ifdef AUDIO_ENABLE + #define STARTUP_SONG SONG(PLANCK_SOUND) + // #define STARTUP_SONG SONG(NO_SOUND) + + #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ + SONG(DVORAK_SOUND) \ + } +#endif + +#define MUSIC_MASK (keycode != KC_NO) + +/* + * MIDI options + */ + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ + +#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +//#define MIDI_ADVANCED diff --git a/keyboards/contra/keymaps/basic_qwerty/keymap.c b/keyboards/contra/keymaps/basic_qwerty/keymap.c new file mode 100644 index 000000000000..7cb947b5f6af --- /dev/null +++ b/keyboards/contra/keymaps/basic_qwerty/keymap.c @@ -0,0 +1,140 @@ +/* Copyright 2015-2017 Jack Humbert + * Contributor 2022 Stephon Parker + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum planck_layers { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST +}; + +enum planck_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Tab | A | S | D | F | G | H | J | K | L | ; |Enter | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / | ' | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | CAPS | Ctrl | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | + * `-----------------------------------------------------------------------------------' + */ + [_QWERTY] = LAYOUT_planck_mit( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, + KC_CAPSLOCK, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN + ), + + /* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | ` | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| F7 | F8 | F9 | F10 | F11 | F12 | - | = | [ | ] | \ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [_LOWER] = LAYOUT_planck_mit( + KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + KC_DEL, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + /* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [_RAISE] = LAYOUT_planck_mit( + KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + /* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | |AGnorm|AGswap|Qwerty| | | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_ADJUST] = LAYOUT_planck_mit( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , + _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + print("mode just switched to qwerty and this is a huge string\n"); + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + } + return true; +} diff --git a/keyboards/contra/keymaps/basic_qwerty/readme.md b/keyboards/contra/keymaps/basic_qwerty/readme.md new file mode 100644 index 000000000000..d5aa56666d1d --- /dev/null +++ b/keyboards/contra/keymaps/basic_qwerty/readme.md @@ -0,0 +1,64 @@ +# A Basic QWERTY Layout + +The Contra layer was something that I didn't see widely utilized as a US standard so I tweaked the basic layout layout by Jack Humbert. It's closer to the standard layout you would get on a US keyboard. I also moved the rest of the special characters to the lower layer. + +This is almost the same as my MechWild Marcuio keyboard. + +# A Basic Contra Layout + +The *default* layout currently (as of Mar 19, 2018) has a lot of components from Planck's default layout and is not very suitable for a basic Contra board. This basic layout is developed from Planck's default layout but has removed the parts that's irrelevant to a Contra board. + +My other keyboard is a HHKB and I don't use `Tab` or `Esc` key that much and hence the unusual placements for those keys. + +## QWERTY (Normal) Layer +``` +,-----------------------------------------------------------------------------------. + | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | + |------+------+------+------+------+-------------+------+------+------+------+------| + | Tab | A | S | D | F | G | H | J | K | L | ; | ' | + |------+------+------+------+------+------|------+------+------+------+------+------| + | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + |------+------+------+------+------+------+------+------+------+------+------+------| + | CAPS | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | + `-----------------------------------------------------------------------------------' +``` + +## Lower +``` +,-----------------------------------------------------------------------------------. + | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + |------+------+------+------+------+-------------+------+------+------+------+------| + | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + |------+------+------+------+------+------|------+------+------+------+------+------| + | | F7 | F8 | F9 | F10 | F11 | F12 | - | = | [ | ] | \ | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | Next | Vol- | Vol+ | Play | + `-----------------------------------------------------------------------------------' +``` + +## Raise +``` +,-----------------------------------------------------------------------------------. + | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + |------+------+------+------+------+-------------+------+------+------+------+------| + | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + |------+------+------+------+------+------|------+------+------+------+------+------| + | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | Next | Vol- | Vol+ | Play | + `-----------------------------------------------------------------------------------' +``` + +## Adjust +`AGnorm` and `AGswap` switches `alt` and `os` key on the keyboard. +``` +,-----------------------------------------------------------------------------------. + | | | | | | | | | | | | Del | + |------+------+------+------+------+-------------+------+------+------+------+------| + | | | | | |AGnorm|AGswap|Qwerty| | | | | + |------+------+------+------+------+------|------+------+------+------+------+------| + | | | | | | | | | | | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | | | | | + `-----------------------------------------------------------------------------------' +``` diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h new file mode 100644 index 000000000000..9d588ed8c08f --- /dev/null +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h @@ -0,0 +1,19 @@ +/* Copyright 2022 Fearless Spiff + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define TAPPING_TERM 180 diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c new file mode 100644 index 000000000000..267d3add14de --- /dev/null +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c @@ -0,0 +1,293 @@ +/* Copyright 2021 Kyle McCreery + * Copyright 2021 Jonavin Eng + * Copyright 2022 Fearless Spiff + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "keymap_german.h" + +// OLED setup for bongocat +#define IDLE_FRAMES 5 +#define IDLE_SPEED 30 +#define TAP_FRAMES 2 +#define TAP_SPEED 40 +#define ANIM_FRAME_DURATION 200 +#define ANIM_SIZE 512 + +#define LABEL_LENGTH 8 + +#define KC_CAD LALT(LCTL(KC_DEL)) +#define KC_TEAMS_CAM C(S(KC_O)) +#define KC_TEAMS_MUTE C(S(KC_M)) + +enum layers { + QWERT, + FN_1, + FN_2 +}; + +enum custom_user_keycodes { + KC_ENC = SAFE_RANGE +}; + +static long int oled_timeout = 1800000; // 30 minutes +bool gui_on = true; +char wpm_str[10]; +uint32_t anim_timer = 0; +uint32_t anim_sleep = 0; +uint8_t current_idle_frame = 0; +uint8_t current_tap_frame = 0; + +// Tap Dance declarations +enum { + TD_TAB_ESC, +}; + +// Tap Dance definitions +qk_tap_dance_action_t tap_dance_actions[] = { + // Tap once for Tab, twice for Esc + [TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC), +}; + +typedef struct { + char label_top[LABEL_LENGTH]; + char label_mid[LABEL_LENGTH]; + char label_bottom[LABEL_LENGTH]; + uint16_t keycode; +} encoder_key; + +static const encoder_key PROGMEM encoder_keys[] = { + // list of key codes that will be scrolled through by encoder and description + // Be aware that it only works when using one char less than defined. In this case 7 max. No idea why? + {"Teams", "Toggle", "Mic", KC_TEAMS_MUTE}, + {"Teams", "Toggle", "Cam", KC_TEAMS_CAM}, + {"Ctrl", "Alt", "Del", KC_CAD}, + {"Caps", "Lock", "", KC_CAPSLOCK}, + {"Pause", "", "", KC_PAUSE}, + {"PrtScr", "", "", KC_PSCR}, + {"Insert", "", "", KC_INS}, + {"Play", "", "", KC_MEDIA_PLAY_PAUSE} +}; + +#define NUMBER_OF_ENCODER_KEYS sizeof(encoder_keys)/sizeof(encoder_keys[0]) + +static uint8_t selected_encoder_key_id = 0; +static encoder_key selected_encoder_key; + +static void set_selected_encoder_key(uint8_t idx) { + // make a copy from PROGMEM + memcpy_P (&selected_encoder_key, &encoder_keys[idx], sizeof selected_encoder_key); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_ENC: + if (record->event.pressed) { + tap_code16(selected_encoder_key.keycode); + } + break; + } + return true; +} + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [QWERT] = LAYOUT_all( + KC_ENC, + TD(TD_TAB_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + LT(1,KC_CAPSLOCK), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_PLUS, KC_ENT, + KC_LSFT, KC_LABK, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, + KC_LCTL, KC_LGUI, LT(2,KC_LALT), KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(2), KC_RCTL ), + + [FN_1] = LAYOUT_all( + KC_MUTE, + KC_GESC, _______, KC_UP, _______, KC_LCBR, KC_RCBR, _______, _______, KC_UP, _______, KC_QUES, KC_DEL, + _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LPRN, KC_RPRN, KC_QUES, KC_LEFT, KC_DOWN, KC_LABK, KC_RABK, _______, + _______, KC_BSLS, KC_SLSH, KC_PIPE, _______, KC_LBRC, KC_RBRC, KC_HOME, KC_END, KC_QUOT, KC_DQUO, KC_EQL, + _______, _______, _______, _______, _______, _______, KC_BSLS, KC_SLSH, KC_TILD ), + + [FN_2] = LAYOUT_all( + _______, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_AMPR, KC_PERC, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, + _______, _______, KC_MINS, KC_PLUS, KC_BSLS, KC_SLSH, KC_SCLN, KC_COLN, KC_QUES, KC_LBRC, KC_RBRC, KC_DOT, + KC_DQUO, KC_QUOT, KC_DQUO, _______, _______, _______, _______, _______, KC_PIPE ) +}; + +#ifdef ENCODER_ENABLE + bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + if (IS_LAYER_ON(QWERT) && selected_encoder_key_id < NUMBER_OF_ENCODER_KEYS-1) { + selected_encoder_key_id ++; + set_selected_encoder_key(selected_encoder_key_id); + } + if (IS_LAYER_ON(FN_1)) { + tap_code16(KC_PGDOWN); + } + if (IS_LAYER_ON(FN_2)) { + tap_code(KC_VOLU); + } + } else { + if (IS_LAYER_ON(QWERT) && selected_encoder_key_id > 0) { + selected_encoder_key_id --; + set_selected_encoder_key(selected_encoder_key_id); + } + if (IS_LAYER_ON(FN_1)) { + tap_code16(KC_PGUP); + } + if (IS_LAYER_ON(FN_2)) { + tap_code(KC_VOLD); + } + } + return false; + } +#endif + +#ifdef OLED_ENABLE + oled_rotation_t oled_init_user(oled_rotation_t rotation) { + set_selected_encoder_key(selected_encoder_key_id); + + return OLED_ROTATION_180; // flips the display 180 degrees + } + + static void render_anim(void) { + + // Idle animation + static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = { + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, + 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + }, + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, + 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8, + 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + }, + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32, + 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + }, + + { + 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, + 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8, + 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + }, + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64, + 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + + }; + + // Prep animation + static const char PROGMEM prep[][ANIM_SIZE] = { + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64, + 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + + }; + + // Typing animation + static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = { + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159, + 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1, + 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + }, + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32, + 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,128, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + + }; + + void animation_phase(void) { + if (get_current_wpm() <= IDLE_SPEED) { + current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES; + oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE); + } + + if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { + oled_write_raw_P(prep[0], ANIM_SIZE); + } + + if (get_current_wpm() >= TAP_SPEED) { + current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES; + oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE); + } + } + + if (get_current_wpm() != 000) { + oled_on(); + + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + + anim_sleep = timer_read32(); + } else { + if (timer_elapsed32(anim_sleep) > oled_timeout) { + oled_off(); + } else { + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + } + } + } + + bool oled_task_user(void) { + + render_anim(); + + oled_set_cursor(0,0); + oled_write(selected_encoder_key.label_top, false); + + oled_set_cursor(0,1); + oled_write(selected_encoder_key.label_mid, false); + + oled_set_cursor(0,2); + oled_write(selected_encoder_key.label_bottom, false); + + /* hide wpm display for now + oled_set_cursor(13,3); + oled_write_P(PSTR("WPM: "), false); + oled_write(get_u8_str(get_current_wpm(), ' '), false); + */ + + return false; + } + + void suspend_power_down_user(void) { + oled_off(); + } +#endif diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md new file mode 100644 index 000000000000..dea71bf358ce --- /dev/null +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md @@ -0,0 +1,22 @@ +Fearless Spiff's Custom Mercutio Keymap + - "Programmer"-centric and German layout based keymap + - Based on Bongocat and Jonavin keymap + +Features + - Fancy Bongocat! Yay! (borrowed from bongocat obviously) + - Encoder selectable key codes and displayed on OLED (borrowed and multi-line-enhanced from Jonavin) + - Change encoder_keys in keymap.c to assign your desired key selection + - Additional encoder functionality + - While holding FN_1, page up and down + - While holding FN_2, volume up and down + - Use my templates for your own layout overview at [Keyboard Layout Editor](http://www.keyboard-layout-editor.com) using my gist [here](https://gist.github.com/FearlessSpiff) + +QWERT Layer +![image](https://user-images.githubusercontent.com/1927259/148683284-04932e15-a34d-451e-b657-335780033f36.png) + +FN_1 Layer +![image](https://user-images.githubusercontent.com/1927259/148683299-f2c80403-3f29-4ba8-9fc4-957729f30b05.png) + +FN_2 layer +![image](https://user-images.githubusercontent.com/1927259/148683306-364bc59c-b41b-4092-b93b-d7b4fc58567b.png) + diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk new file mode 100644 index 000000000000..4775e0e11d0a --- /dev/null +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk @@ -0,0 +1,3 @@ +WPM_ENABLE = yes +TAP_DANCE_ENABLE = yes +MOUSEKEY_ENABLE = no From 3a80275fa1720aabf95eedb5e2c644d81a764a01 Mon Sep 17 00:00:00 2001 From: HorrorTroll Date: Fri, 13 May 2022 23:34:47 +0700 Subject: [PATCH 0668/1832] [Keyboard] Fixed info.json issue, some key got wrong pos for Gas75 (#17070) --- keyboards/ml/gas75/info.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/ml/gas75/info.json b/keyboards/ml/gas75/info.json index 4f9e0ad9d1e4..3cb3d912f570 100644 --- a/keyboards/ml/gas75/info.json +++ b/keyboards/ml/gas75/info.json @@ -18,10 +18,10 @@ {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, - {"label":"Pause", "x":14, "y":0}, - {"label":"Encoder CCW", "x":15.25, "y":0, "w":0.5, "h":0.5}, - {"label":"Encoder CW", "x":15.75, "y":0, "w":0.5, "h":0.5}, - {"label":"Delete", "x":15.25, "y":0.5, "h":0.5}, + {"label":"Delete", "x":14, "y":0}, + {"label":"Encoder CCW", "x":15, "y":0, "w":0.5}, + {"label":"Mute", "x":15.5, "y":0}, + {"label":"Encoder CW", "x":16.5, "y":0, "w":0.5}, {"label":"`~", "x":0, "y":1.25}, {"label":"1!", "x":1, "y":1.25}, @@ -53,7 +53,7 @@ {"label":"[{", "x":11.5, "y":2.25}, {"label":"]}", "x":12.5, "y":2.25}, {"label":"\\|", "x":13.5, "y":2.25, "w":1.5}, - {"label":"PgUp", "x":12.5, "y":2.25}, + {"label":"PgUp", "x":15.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, @@ -68,7 +68,7 @@ {"label":";:", "x":10.75, "y":3.25}, {"label":"'\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, - {"label":"PgDn", "x":12.5, "y":3.25}, + {"label":"PgDn", "x":15.25, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, From 82828c3205848ff0e5c1400c2da7018f6c260a0f Mon Sep 17 00:00:00 2001 From: takashicompany Date: Sat, 14 May 2022 01:53:43 +0900 Subject: [PATCH 0669/1832] [Keyboard] Add keyboard "Spreadwriter" (#17031) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre --- .../takashicompany/spreadwriter/config.h | 10 + .../takashicompany/spreadwriter/info.json | 507 ++++++++++++++++++ .../spreadwriter/keymaps/default/keymap.c | 97 ++++ .../spreadwriter/keymaps/via/config.h | 20 + .../spreadwriter/keymaps/via/keymap.c | 127 +++++ .../spreadwriter/keymaps/via/rules.mk | 1 + .../takashicompany/spreadwriter/readme.md | 35 ++ .../takashicompany/spreadwriter/rules.mk | 2 + 8 files changed, 799 insertions(+) create mode 100644 keyboards/takashicompany/spreadwriter/config.h create mode 100644 keyboards/takashicompany/spreadwriter/info.json create mode 100644 keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c create mode 100644 keyboards/takashicompany/spreadwriter/keymaps/via/config.h create mode 100644 keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c create mode 100644 keyboards/takashicompany/spreadwriter/keymaps/via/rules.mk create mode 100644 keyboards/takashicompany/spreadwriter/readme.md create mode 100644 keyboards/takashicompany/spreadwriter/rules.mk diff --git a/keyboards/takashicompany/spreadwriter/config.h b/keyboards/takashicompany/spreadwriter/config.h new file mode 100644 index 000000000000..e22f102dc1c8 --- /dev/null +++ b/keyboards/takashicompany/spreadwriter/config.h @@ -0,0 +1,10 @@ +// Copyright 2022 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +#define ENCODER_RESOLUTION 4 +#define ENCODERS_PAD_A { D1 } +#define ENCODERS_PAD_B { D0 } diff --git a/keyboards/takashicompany/spreadwriter/info.json b/keyboards/takashicompany/spreadwriter/info.json new file mode 100644 index 000000000000..2f802bab0b9d --- /dev/null +++ b/keyboards/takashicompany/spreadwriter/info.json @@ -0,0 +1,507 @@ +{ + "manufacturer": "takashicompany", + "keyboard_name": "Spreadwriter", + "maintainer": "takashicompany", + "bootloader": "caterina", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": [ + "D4", + "C6", + "D7", + "E6", + "B4", + "B5", + "D2" + ], + "rows": [ + "F4", + "F5", + "F6", + "F7", + "B1", + "B3", + "B2", + "B6" + ] + }, + "processor": "atmega32u4", + "url": "https://github.com/takashicompany/spreadwriter", + "usb": { + "device_version": "1.0.0", + "pid": "0x0023", + "vid": "0x7463" + }, + "rgblight": { + "led_count": 53, + "pin": "D3", + "hue_steps": 10, + "saturation_steps": 17, + "brightness_steps": 17, + "animations": { + "all": true + } + }, + "layouts": { + "LAYOUT": { + "layout": [ + { + "matrix": [ + 0, + 0 + ], + "x": 0, + "y": 0.5 + }, + { + "matrix": [ + 0, + 1 + ], + "x": 1, + "y": 0.5 + }, + { + "matrix": [ + 0, + 2 + ], + "x": 2, + "y": 0.25 + }, + { + "matrix": [ + 0, + 3 + ], + "x": 3, + "y": 0 + }, + { + "matrix": [ + 0, + 4 + ], + "x": 4, + "y": 0 + }, + { + "matrix": [ + 0, + 5 + ], + "x": 5, + "y": 0 + }, + { + "matrix": [ + 4, + 1 + ], + "x": 10, + "y": 0 + }, + { + "matrix": [ + 4, + 2 + ], + "x": 11, + "y": 0 + }, + { + "matrix": [ + 4, + 3 + ], + "x": 12, + "y": 0 + }, + { + "matrix": [ + 4, + 4 + ], + "x": 13, + "y": 0.25 + }, + { + "matrix": [ + 4, + 5 + ], + "x": 14, + "y": 0.5 + }, + { + "matrix": [ + 4, + 6 + ], + "x": 15, + "y": 0.5 + }, + { + "matrix": [ + 1, + 0 + ], + "x": 0, + "y": 1.5 + }, + { + "matrix": [ + 1, + 1 + ], + "x": 1, + "y": 1.5 + }, + { + "matrix": [ + 1, + 2 + ], + "x": 2, + "y": 1.25 + }, + { + "matrix": [ + 1, + 3 + ], + "x": 3, + "y": 1 + }, + { + "matrix": [ + 1, + 4 + ], + "x": 4, + "y": 1 + }, + { + "matrix": [ + 1, + 5 + ], + "x": 5, + "y": 1 + }, + { + "matrix": [ + 1, + 6 + ], + "x": 7.5, + "y": 1 + }, + { + "matrix": [ + 5, + 1 + ], + "x": 10, + "y": 1 + }, + { + "matrix": [ + 5, + 2 + ], + "x": 11, + "y": 1 + }, + { + "matrix": [ + 5, + 3 + ], + "x": 12, + "y": 1 + }, + { + "matrix": [ + 5, + 4 + ], + "x": 13, + "y": 1.25 + }, + { + "matrix": [ + 5, + 5 + ], + "x": 14, + "y": 1.5 + }, + { + "matrix": [ + 5, + 6 + ], + "x": 15, + "y": 1.5 + }, + { + "matrix": [ + 2, + 0 + ], + "x": 0, + "y": 2.5 + }, + { + "matrix": [ + 2, + 1 + ], + "x": 1, + "y": 2.5 + }, + { + "matrix": [ + 2, + 2 + ], + "x": 2, + "y": 2.25 + }, + { + "matrix": [ + 2, + 3 + ], + "x": 3, + "y": 2 + }, + { + "matrix": [ + 2, + 4 + ], + "x": 4, + "y": 2 + }, + { + "matrix": [ + 2, + 5 + ], + "x": 5, + "y": 2 + }, + { + "matrix": [ + 2, + 6 + ], + "x": 6, + "y": 2 + }, + { + "matrix": [ + 6, + 0 + ], + "x": 9, + "y": 2 + }, + { + "matrix": [ + 6, + 1 + ], + "x": 10, + "y": 2 + }, + { + "matrix": [ + 6, + 2 + ], + "x": 11, + "y": 2 + }, + { + "matrix": [ + 6, + 3 + ], + "x": 12, + "y": 2 + }, + { + "matrix": [ + 6, + 4 + ], + "x": 13, + "y": 2.25 + }, + { + "matrix": [ + 6, + 5 + ], + "x": 14, + "y": 2.5 + }, + { + "matrix": [ + 6, + 6 + ], + "x": 15, + "y": 2.5 + }, + { + "matrix": [ + 3, + 0 + ], + "x": 0, + "y": 3.5 + }, + { + "matrix": [ + 3, + 1 + ], + "x": 1, + "y": 3.5 + }, + { + "matrix": [ + 3, + 2 + ], + "x": 2, + "y": 3.25 + }, + { + "matrix": [ + 3, + 3 + ], + "x": 3, + "y": 3 + }, + { + "matrix": [ + 3, + 4 + ], + "x": 4, + "y": 3 + }, + { + "matrix": [ + 3, + 5 + ], + "x": 5, + "y": 3 + }, + { + "matrix": [ + 3, + 6 + ], + "x": 6, + "y": 3 + }, + { + "matrix": [ + 5, + 0 + ], + "x": 7.5, + "y": 3 + }, + { + "matrix": [ + 7, + 0 + ], + "x": 9, + "y": 3 + }, + { + "matrix": [ + 7, + 1 + ], + "x": 10, + "y": 3 + }, + { + "matrix": [ + 7, + 2 + ], + "x": 11, + "y": 3 + }, + { + "matrix": [ + 7, + 3 + ], + "x": 12, + "y": 3 + }, + { + "matrix": [ + 7, + 4 + ], + "x": 13, + "y": 3.25 + }, + { + "matrix": [ + 7, + 5 + ], + "x": 14, + "y": 3.5 + }, + { + "matrix": [ + 7, + 6 + ], + "x": 15, + "y": 3.5 + }, + { + "matrix": [ + 0, + 6 + ], + "x": 7, + "y": 4.25 + }, + { + "matrix": [ + 4, + 0 + ], + "x": 8, + "y": 4.25 + } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c b/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c new file mode 100644 index 000000000000..665f180a38bd --- /dev/null +++ b/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c @@ -0,0 +1,97 @@ +// Copyright 2022 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_keycodes { + SPREADWRITER = SAFE_RANGE, + WEB, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT( + KC_ESC, LT(2, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, KC_A, KC_S, LT(2, KC_D), KC_F, KC_G, SPREADWRITER, KC_H, KC_J, LT(2, KC_K), KC_L, KC_ENT, KC_ENT, + KC_LSFT, SFT_T(KC_Z), GUI_T(KC_X), KC_C, KC_V, KC_B, MEH(KC_4), LSA(KC_5), KC_N, KC_M, KC_COMM, CTL_T(KC_DOT), KC_BSPC, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, MO(5), MO(4), ALT_T(KC_LANG2), SFT_T(KC_TAB), WEB, LT(6, KC_SPC), LT(1, KC_LANG1), KC_RALT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + KC_WH_U, KC_WH_D + ), + + LAYOUT( + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_LCTL, CTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN, 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, 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 + ), + + LAYOUT( + KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, 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, MO(3), 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, + KC_BSPC, KC_SPC + ), + + LAYOUT( + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, RESET, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, 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, + KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_JYEN, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_QUOT, KC_NUHS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_TRNS, + KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_JYEN), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_LBRC), S(KC_RBRC), KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_SCLN), S(KC_QUOT), S(KC_NUHS), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_RO), KC_TRNS, + KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_TRNS, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), G(KC_JYEN), KC_TRNS, + KC_LCTL, S(KC_EQL), S(KC_LBRC), S(KC_SLSH), S(KC_MINS), S(KC_RO), KC_TRNS, S(KC_SCLN), S(KC_QUOT), S(KC_RBRC), S(KC_NUHS), S(KC_JYEN), 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, 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 + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SPREADWRITER: + if (record->event.pressed) { + SEND_STRING("Spreadwriter"); + rgblight_toggle(); + } + return false; + + case WEB: + if (record->event.pressed) { + SEND_STRING("github.com/takashicompany/spreadwriter"); + } + return false; + } + + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + + if (clockwise) { + tap_code(KC_MS_WH_DOWN); + } else { + tap_code(KC_MS_WH_UP); + } + + return true; +} \ No newline at end of file diff --git a/keyboards/takashicompany/spreadwriter/keymaps/via/config.h b/keyboards/takashicompany/spreadwriter/keymaps/via/config.h new file mode 100644 index 000000000000..adbbc6ce838e --- /dev/null +++ b/keyboards/takashicompany/spreadwriter/keymaps/via/config.h @@ -0,0 +1,20 @@ +// Copyright 2022 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 7 + +//------------------------------------------------------------------------------ +// Rotary Encoder +//------------------------------------------------------------------------------ +// Encoder triggers specific key matrix position, +// when turn knob clockwise or counterclockwise. +// This is handy to assign key codes by VIA. + +// Number of endoder +#define ENCODERS 1 + +// Mappings of encoder rotation to key position in key matrix. +#define ENCODERS_CW_KEY { { 0, 4 }} +#define ENCODERS_CCW_KEY { { 6, 0 }} \ No newline at end of file diff --git a/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c b/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c new file mode 100644 index 000000000000..defca4b55a6a --- /dev/null +++ b/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c @@ -0,0 +1,127 @@ +// Copyright 2022 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_keycodes { + SPREADWRITER = SAFE_RANGE, + WEB, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT( + KC_ESC, LT(2, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, KC_A, KC_S, LT(2, KC_D), KC_F, KC_G, SPREADWRITER, KC_H, KC_J, LT(2, KC_K), KC_L, KC_ENT, KC_ENT, + KC_LSFT, SFT_T(KC_Z), GUI_T(KC_X), KC_C, KC_V, KC_B, MEH(KC_4), LSA(KC_5), KC_N, KC_M, KC_COMM, CTL_T(KC_DOT), KC_BSPC, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, MO(5), MO(4), ALT_T(KC_LANG2), SFT_T(KC_TAB), WEB, LT(6, KC_SPC), LT(1, KC_LANG1), KC_RALT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + KC_WH_U, KC_WH_D + ), + + LAYOUT( + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_LCTL, CTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN, 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, 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 + ), + + LAYOUT( + KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, 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, MO(3), 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, + KC_BSPC, KC_SPC + ), + + LAYOUT( + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, RESET, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, 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, + KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_JYEN, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_QUOT, KC_NUHS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_TRNS, + KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_JYEN), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_LBRC), S(KC_RBRC), KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_SCLN), S(KC_QUOT), S(KC_NUHS), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_RO), KC_TRNS, + KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_TRNS, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), G(KC_JYEN), KC_TRNS, + KC_LCTL, S(KC_EQL), S(KC_LBRC), S(KC_SLSH), S(KC_MINS), S(KC_RO), KC_TRNS, S(KC_SCLN), S(KC_QUOT), S(KC_RBRC), S(KC_NUHS), S(KC_JYEN), 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, 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 + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SPREADWRITER: + if (record->event.pressed) { + SEND_STRING("Spreadwriter"); + rgblight_toggle(); + } + return false; + + case WEB: + if (record->event.pressed) { + SEND_STRING("github.com/takashicompany/spreadwriter"); + } + return false; + } + + return true; +} + +//------------------------------------------------------------------------------ +// Rotary Encoder +//------------------------------------------------------------------------------ +static uint8_t encoder_state[ENCODERS] = {0}; +static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; +static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; + +void encoder_action_unregister(void) { + for (int index = 0; index < ENCODERS; ++index) { + if (encoder_state[index]) { + keyevent_t encoder_event = (keyevent_t) { + .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], + .pressed = false, + .time = (timer_read() | 1) + }; + encoder_state[index] = 0; + action_exec(encoder_event); + } + } +} + +void encoder_action_register(uint8_t index, bool clockwise) { + keyevent_t encoder_event = (keyevent_t) { + .key = clockwise ? encoder_cw[index] : encoder_ccw[index], + .pressed = true, + .time = (timer_read() | 1) + }; + encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); + action_exec(encoder_event); +} + +void matrix_scan_kb(void) { + encoder_action_unregister(); + matrix_scan_user(); +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + encoder_action_register(index, clockwise); + return true; +}; \ No newline at end of file diff --git a/keyboards/takashicompany/spreadwriter/keymaps/via/rules.mk b/keyboards/takashicompany/spreadwriter/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/takashicompany/spreadwriter/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/takashicompany/spreadwriter/readme.md b/keyboards/takashicompany/spreadwriter/readme.md new file mode 100644 index 000000000000..972dcba4de87 --- /dev/null +++ b/keyboards/takashicompany/spreadwriter/readme.md @@ -0,0 +1,35 @@ +# takashicompany/spreadwriter + +![takashicompany/spreadwriter](https://i.imgur.com/mMAzyvUh.jpg) + +"Spreadwriter" はGL516ケースに対応した50%キーボードです。 +放射状のキーレイアウトは、手を自然な形で置くことができ、楽な姿勢での打鍵を可能にしています。 + +LEDを用いたキーの照明や、ロータリーエンコーダの搭載も可能です。 +--- +"Spreadwriter" is a 50% keyboard for the GL516 case. +The radial key layout allows for a natural hand placement and comfortable typing posture. + +LED-based key illumination and a rotary encoder are also available. + +* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) +* Hardware Supported: Spreadwriter PCB, Pro Micro +* Hardware Availability: https://github.com/takashicompany/spreadwriter + +Make example for this keyboard (after setting up your build environment): + + make takashicompany/spreadwriter:default + +Flashing example for this keyboard: + + make takashicompany/spreadwriter:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/takashicompany/spreadwriter/rules.mk b/keyboards/takashicompany/spreadwriter/rules.mk new file mode 100644 index 000000000000..248f19320f0e --- /dev/null +++ b/keyboards/takashicompany/spreadwriter/rules.mk @@ -0,0 +1,2 @@ +ENCODER_ENABLE = yes +RGBLIGHT_ENABLE = yes \ No newline at end of file From 8e2b8413b4b0c464da383def06d0269d85aa47cb Mon Sep 17 00:00:00 2001 From: HorrorTroll Date: Sat, 14 May 2022 10:16:46 +0700 Subject: [PATCH 0670/1832] [Keyboard] Add M64 RGB (#17069) --- keyboards/mss_studio/m63_rgb/m63_rgb.c | 10 +- keyboards/mss_studio/m64_rgb/config.h | 104 ++++++++++ keyboards/mss_studio/m64_rgb/info.json | 79 ++++++++ .../m64_rgb/keymaps/default/keymap.c | 184 ++++++++++++++++++ .../m64_rgb/keymaps/default/readme.md | 3 + .../mss_studio/m64_rgb/keymaps/via/config.h | 20 ++ .../mss_studio/m64_rgb/keymaps/via/keymap.c | 184 ++++++++++++++++++ .../mss_studio/m64_rgb/keymaps/via/readme.md | 3 + .../mss_studio/m64_rgb/keymaps/via/rules.mk | 1 + keyboards/mss_studio/m64_rgb/m64_rgb.c | 50 +++++ keyboards/mss_studio/m64_rgb/m64_rgb.h | 49 +++++ keyboards/mss_studio/m64_rgb/readme.md | 24 +++ keyboards/mss_studio/m64_rgb/rules.mk | 22 +++ 13 files changed, 728 insertions(+), 5 deletions(-) create mode 100644 keyboards/mss_studio/m64_rgb/config.h create mode 100644 keyboards/mss_studio/m64_rgb/info.json create mode 100644 keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c create mode 100644 keyboards/mss_studio/m64_rgb/keymaps/default/readme.md create mode 100644 keyboards/mss_studio/m64_rgb/keymaps/via/config.h create mode 100644 keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c create mode 100644 keyboards/mss_studio/m64_rgb/keymaps/via/readme.md create mode 100644 keyboards/mss_studio/m64_rgb/keymaps/via/rules.mk create mode 100644 keyboards/mss_studio/m64_rgb/m64_rgb.c create mode 100644 keyboards/mss_studio/m64_rgb/m64_rgb.h create mode 100644 keyboards/mss_studio/m64_rgb/readme.md create mode 100644 keyboards/mss_studio/m64_rgb/rules.mk diff --git a/keyboards/mss_studio/m63_rgb/m63_rgb.c b/keyboards/mss_studio/m63_rgb/m63_rgb.c index dd071849b551..fdc216f1991f 100644 --- a/keyboards/mss_studio/m63_rgb/m63_rgb.c +++ b/keyboards/mss_studio/m63_rgb/m63_rgb.c @@ -26,11 +26,11 @@ led_config_t g_led_config = { { { 54, 55, 56, NO_LED, NO_LED, 57, NO_LED, NO_LED, NO_LED, 58, 59, 60, 61, 62 } }, { // Key matrix (0 -> 62) - {0 , 0}, {16 , 0}, {33 , 0}, {49 , 0}, {66 , 0}, {82 , 0}, {99 , 0}, {115, 0}, {132, 0}, {148, 0}, {165, 0}, {181, 0}, {198, 0}, {214, 0}, - {3 , 16}, {23 , 16}, {39 , 16}, {56 , 16}, {72 , 16}, {88 , 16}, {105, 16}, {121, 16}, {138, 16}, {154, 16}, {171, 16}, {187, 16}, {204, 16}, {220, 16}, - {5 , 32}, {26 , 32}, {42 , 32}, {59 , 32}, {75 , 32}, {92 , 32}, {108, 32}, {124, 32}, {141, 32}, {157, 32}, {174, 32}, {190, 32}, {214, 32}, - {8 , 48}, {28 , 48}, {48 , 48}, {65 , 48}, {81 , 48}, {98 , 48}, {114, 48}, {131, 48}, {147, 48}, {164, 48}, {186, 48}, {208, 48}, {224, 48}, - {2 , 64}, {20 , 64}, {38 , 64}, {100, 64}, {160, 64}, {176, 64}, {192, 64}, {208, 64}, {224, 64}, + {0 , 0}, {16 , 0}, {32 , 0}, {48 , 0}, {64 , 0}, {80 , 0}, {96 , 0}, {112, 0}, {128, 0}, {144, 0}, {160, 0}, {176, 0}, {192, 0}, {216, 0}, + {4 , 16}, {24 , 16}, {40 , 16}, {56 , 16}, {72 , 16}, {88 , 16}, {104, 16}, {120, 16}, {136, 16}, {152, 16}, {168, 16}, {184, 16}, {200, 16}, {220, 16}, + {6 , 32}, {28 , 32}, {44 , 32}, {60 , 32}, {76 , 32}, {92 , 32}, {108, 32}, {124, 32}, {140, 32}, {156, 32}, {172, 32}, {188, 32}, {214, 32}, + {10 , 48}, {36 , 48}, {52 , 48}, {68 , 48}, {84 , 48}, {100, 48}, {116, 48}, {132, 48}, {148, 48}, {164, 48}, {186, 48}, {208, 48}, {224, 48}, + {2 , 64}, {22 , 64}, {42 , 64}, {102, 64}, {160, 64}, {176, 64}, {192, 64}, {208, 64}, {224, 64}, // Underglow (63 -> 74) {216, 56}, {181, 57}, {138, 59}, {105, 58}, {52 , 60}, {10 , 60}, diff --git a/keyboards/mss_studio/m64_rgb/config.h b/keyboards/mss_studio/m64_rgb/config.h new file mode 100644 index 000000000000..0c7f8d17e1f7 --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/config.h @@ -0,0 +1,104 @@ +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4D4B +#define PRODUCT_ID 0x6064 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Mss Studio +#define PRODUCT M64 RGB + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B3, B4, A0, A2, A3 } +#define MATRIX_COL_PINS { B0, B1, B2, B10, A7, A6, A5, A4, B5, B6, A1, B7, B8, B9 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Forcing to use NKRO instead 6KRO */ +#define FORCE_NKRO + +/* Change larger keys per scan for elite gaming */ +#define QMK_KEYS_PER_SCAN 12 + +#ifdef RGB_MATRIX_ENABLE + #define DRIVER_LED_TOTAL 76 + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 + #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS + #define RGB_MATRIX_KEYPRESSES + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + + /* RGB Matrix config */ + #define RGB_DI_PIN B15 + + /* RGB Matrix effect */ + #define ENABLE_RGB_MATRIX_ALPHAS_MODS + #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_BREATHING + #define ENABLE_RGB_MATRIX_BAND_SAT + #define ENABLE_RGB_MATRIX_BAND_VAL + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define ENABLE_RGB_MATRIX_CYCLE_ALL + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL + #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL + #define ENABLE_RGB_MATRIX_DUAL_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define ENABLE_RGB_MATRIX_RAINDROPS + #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + #define ENABLE_RGB_MATRIX_HUE_BREATHING + #define ENABLE_RGB_MATRIX_HUE_PENDULUM + #define ENABLE_RGB_MATRIX_HUE_WAVE + #define ENABLE_RGB_MATRIX_PIXEL_RAIN + #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined + #define ENABLE_RGB_MATRIX_TYPING_HEATMAP + #define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define ENABLE_RGB_MATRIX_SPLASH + #define ENABLE_RGB_MATRIX_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_SPLASH + #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif diff --git a/keyboards/mss_studio/m64_rgb/info.json b/keyboards/mss_studio/m64_rgb/info.json new file mode 100644 index 000000000000..264e89437713 --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/info.json @@ -0,0 +1,79 @@ +{ + "keyboard_name": "M64 RGB", + "url": "", + "maintainer": "HorrorTroll", + "layouts": { + "LAYOUT_64_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2}, + {"label":"Z", "x":2, "y":3}, + {"label":"X", "x":3, "y":3}, + {"label":"C", "x":4, "y":3}, + {"label":"V", "x":5, "y":3}, + {"label":"B", "x":6, "y":3}, + {"label":"N", "x":7, "y":3}, + {"label":"M", "x":8, "y":3}, + {"label":",<", "x":9, "y":3}, + {"label":".>", "x":10, "y":3}, + {"label":"/?", "x":11, "y":3}, + {"label":"Shift", "x":12, "y":3}, + {"label":"\u2191", "x":13, "y":3}, + {"label":"Delete", "x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4}, + {"label":"Fn", "x":11, "y":4}, + {"label":"\u2190", "x":12, "y":4}, + {"label":"\u2193", "x":13, "y":4}, + {"label":"\u2192", "x":14, "y":4} + ] + } + } +} diff --git a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c new file mode 100644 index 000000000000..f348dc69fe25 --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c @@ -0,0 +1,184 @@ +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum layer_names { + _BASE, + _FN, +}; + +enum user_rgb_mode { + RGB_MODE_ALL, + RGB_MODE_KEYLIGHT, + RGB_MODE_UNDERGLOW, + RGB_MODE_NONE, +}; + +typedef union { + uint32_t raw; + struct { + uint8_t rgb_mode :8; + }; +} user_config_t; + +user_config_t user_config; + +// enum layer_keycodes { }; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bakspc│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ + ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ + │LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │Rft│ ↑ │Del│ + ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + │LCrl│GUI │LAlt│ Space │RAt│Fn │ ← │ ↓ │ → │ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ + ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ + │LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │Rft│ │ │ + ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + │ │ │ │ │ │ │ │ │ │ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ + [_BASE] = LAYOUT_64_ansi( + 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_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_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_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_SLSH, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT + ), + +/* + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Delete│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + │Reset│ │ │ │ │ │ │ │Ins│ │PSc│ │Hui│ Mod │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + │ │ │ │ │ │ │ │ │ │Tog│ │ │ │ + ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ + │ │ │ │Cal│ │ │ │Mut│VoD│VoU│ │ │Vai│ │ + ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + │ │ │ │ │ │ │Spd│Vad│Spi│ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ + [_FN] = LAYOUT_64_ansi( + 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, KC_DEL, + RESET, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI + ), +}; + +void keyboard_post_init_user(void) { + user_config.raw = eeconfig_read_user(); + switch (user_config.rgb_mode) { + case RGB_MODE_ALL: + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + break; + case RGB_MODE_KEYLIGHT: + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + break; + case RGB_MODE_UNDERGLOW: + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + break; + case RGB_MODE_NONE: + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + break; + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_KEYLIGHT; + } + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_UNDERGLOW; + } + break; + case (LED_FLAG_UNDERGLOW): { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_NONE; + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + user_config.rgb_mode = RGB_MODE_ALL; + } + break; + } + eeconfig_update_user(user_config.raw); + } + return false; + } + + return true; +} + +void rgb_matrix_indicators_user(void) { + HSV hsv = rgb_matrix_config.hsv; + uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); + hsv.h = time; + RGB rgb = hsv_to_rgb(hsv); + + if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(28, rgb.r, rgb.g, rgb.b); + } + } else { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(28, rgb.r, rgb.g, rgb.b); + } else { + rgb_matrix_set_color(28, 0, 0, 0); + } + } +} diff --git a/keyboards/mss_studio/m64_rgb/keymaps/default/readme.md b/keyboards/mss_studio/m64_rgb/keymaps/default/readme.md new file mode 100644 index 000000000000..810af1193bed --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# Default Layout + +Keymap is default 64 qwerty, 64% layout diff --git a/keyboards/mss_studio/m64_rgb/keymaps/via/config.h b/keyboards/mss_studio/m64_rgb/keymaps/via/config.h new file mode 100644 index 000000000000..188407396a77 --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/keymaps/via/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c new file mode 100644 index 000000000000..f348dc69fe25 --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c @@ -0,0 +1,184 @@ +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum layer_names { + _BASE, + _FN, +}; + +enum user_rgb_mode { + RGB_MODE_ALL, + RGB_MODE_KEYLIGHT, + RGB_MODE_UNDERGLOW, + RGB_MODE_NONE, +}; + +typedef union { + uint32_t raw; + struct { + uint8_t rgb_mode :8; + }; +} user_config_t; + +user_config_t user_config; + +// enum layer_keycodes { }; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bakspc│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ + ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ + │LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │Rft│ ↑ │Del│ + ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + │LCrl│GUI │LAlt│ Space │RAt│Fn │ ← │ ↓ │ → │ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ + ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ + │LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │Rft│ │ │ + ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + │ │ │ │ │ │ │ │ │ │ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ + [_BASE] = LAYOUT_64_ansi( + 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_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_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_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_SLSH, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT + ), + +/* + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Delete│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + │Reset│ │ │ │ │ │ │ │Ins│ │PSc│ │Hui│ Mod │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + │ │ │ │ │ │ │ │ │ │Tog│ │ │ │ + ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ + │ │ │ │Cal│ │ │ │Mut│VoD│VoU│ │ │Vai│ │ + ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + │ │ │ │ │ │ │Spd│Vad│Spi│ + └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ + [_FN] = LAYOUT_64_ansi( + 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, KC_DEL, + RESET, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI + ), +}; + +void keyboard_post_init_user(void) { + user_config.raw = eeconfig_read_user(); + switch (user_config.rgb_mode) { + case RGB_MODE_ALL: + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + break; + case RGB_MODE_KEYLIGHT: + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + break; + case RGB_MODE_UNDERGLOW: + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + break; + case RGB_MODE_NONE: + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + break; + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_KEYLIGHT; + } + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_UNDERGLOW; + } + break; + case (LED_FLAG_UNDERGLOW): { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_NONE; + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + user_config.rgb_mode = RGB_MODE_ALL; + } + break; + } + eeconfig_update_user(user_config.raw); + } + return false; + } + + return true; +} + +void rgb_matrix_indicators_user(void) { + HSV hsv = rgb_matrix_config.hsv; + uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); + hsv.h = time; + RGB rgb = hsv_to_rgb(hsv); + + if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(28, rgb.r, rgb.g, rgb.b); + } + } else { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(28, rgb.r, rgb.g, rgb.b); + } else { + rgb_matrix_set_color(28, 0, 0, 0); + } + } +} diff --git a/keyboards/mss_studio/m64_rgb/keymaps/via/readme.md b/keyboards/mss_studio/m64_rgb/keymaps/via/readme.md new file mode 100644 index 000000000000..ee171181300e --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/keymaps/via/readme.md @@ -0,0 +1,3 @@ +# Default Layout with VIA + +Keymap is default 64 qwerty, 64% layout diff --git a/keyboards/mss_studio/m64_rgb/keymaps/via/rules.mk b/keyboards/mss_studio/m64_rgb/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/mss_studio/m64_rgb/m64_rgb.c b/keyboards/mss_studio/m64_rgb/m64_rgb.c new file mode 100644 index 000000000000..26fed2b2fe3c --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/m64_rgb.c @@ -0,0 +1,50 @@ +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "m64_rgb.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, + { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 }, + { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, NO_LED, 40 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54 }, + { 55, 56, 57, NO_LED, NO_LED, 58, NO_LED, NO_LED, NO_LED, 59, 60, 61, 62, 63 } +}, { + // Key matrix (0 -> 63) + {0 , 0}, {16 , 0}, {32 , 0}, {48 , 0}, {64 , 0}, {80 , 0}, {96 , 0}, {112, 0}, {128, 0}, {144, 0}, {160, 0}, {176, 0}, {192, 0}, {216, 0}, + {4 , 16}, {24 , 16}, {40 , 16}, {56 , 16}, {72 , 16}, {88 , 16}, {104, 16}, {120, 16}, {136, 16}, {152, 16}, {168, 16}, {184, 16}, {200, 16}, {220, 16}, + {6 , 32}, {28 , 32}, {44 , 32}, {60 , 32}, {76 , 32}, {92 , 32}, {108, 32}, {124, 32}, {140, 32}, {156, 32}, {172, 32}, {188, 32}, {214, 32}, + {8 , 48}, {32 , 48}, {48 , 48}, {64 , 48}, {80 , 48}, {96 , 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48}, {224, 48}, + {2 , 64}, {22 , 64}, {42 , 64}, {102, 64}, {160, 64}, {176, 64}, {192, 64}, {208, 64}, {224, 64}, + + // Underglow (64 -> 75) + {216, 56}, {181, 57}, {138, 59}, {105, 58}, {52 , 60}, {10 , 60}, + {20 , 12}, {54 , 12}, {102, 10}, {145, 13}, {182, 9}, {211, 10}, +}, { + // Key matrix (0 -> 63) + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 1, 1, 1, 4, 1, 1, 4, 4, 4, + + // Underglow (64 -> 75) + 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2 +} }; +#endif diff --git a/keyboards/mss_studio/m64_rgb/m64_rgb.h b/keyboards/mss_studio/m64_rgb/m64_rgb.h new file mode 100644 index 000000000000..e12bf5bc7b7a --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/m64_rgb.h @@ -0,0 +1,49 @@ +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ + * ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ + * ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + * │40 │41 │42 │45 │49 │4A │4B │4C │4D │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ + */ + +#define LAYOUT_64_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D } \ +} diff --git a/keyboards/mss_studio/m64_rgb/readme.md b/keyboards/mss_studio/m64_rgb/readme.md new file mode 100644 index 000000000000..1925622b9cf8 --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/readme.md @@ -0,0 +1,24 @@ +# M64 RGB + +Support STM32F072CBU6 keyboard. + +* Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll) +* Hardware Supported: STM32F072CBU6 + +Make example for this keyboard (after setting up your build environment): + + make mss_studio/m64_rgb:default + +Flashing example for this keyboard: + + make mss_studio/m64_rgb:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard +* **Physical reset button**: Press and hold the button on the back of the PCB, then plug in the keyboard +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/mss_studio/m64_rgb/rules.mk b/keyboards/mss_studio/m64_rgb/rules.mk new file mode 100644 index 000000000000..9291499b777a --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# RGB Matrix enabled +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 From 787a68948fa0d5e251e22a623071082c8c0561b1 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 13 May 2022 20:35:49 -0700 Subject: [PATCH 0671/1832] [Core] Add Reboot keycode to core (#15990) --- docs/keycodes.md | 1 + docs/quantum_keycodes.md | 1 + .../handwired/onekey/keymaps/reboot/keymap.c | 5 +++++ platforms/arm_atsam/bootloaders/md_boot.c | 4 ++++ platforms/avr/bootloaders/bootloadhid.c | 7 +++++++ platforms/avr/bootloaders/caterina.c | 9 +++++++++ platforms/avr/bootloaders/custom.c | 9 +++++++++ platforms/avr/bootloaders/dfu.c | 9 ++++++++- platforms/avr/bootloaders/halfkay.c | 10 ++++++++++ platforms/avr/bootloaders/usbasploader.c | 9 +++++++++ platforms/bootloader.h | 1 + .../boards/STM32_F103_STM32DUINO/board/board.c | 3 --- .../STM32_F103_STM32DUINO/configs/config.h | 9 +++++++++ platforms/chibios/bootloaders/custom.c | 1 + platforms/chibios/bootloaders/gd32v_dfu.c | 7 +++++++ platforms/chibios/bootloaders/halfkay.c | 2 ++ platforms/chibios/bootloaders/kiibohd.c | 1 + platforms/chibios/bootloaders/stm32_dfu.c | 7 +++++++ platforms/chibios/bootloaders/stm32duino.c | 5 +++++ platforms/chibios/bootloaders/tinyuf2.c | 4 ++++ platforms/chibios/bootloaders/wb32_dfu.c | 4 ++++ platforms/test/bootloaders/none.c | 1 + quantum/quantum.c | 17 ++++++++++++++++- quantum/quantum.h | 1 + quantum/quantum_keycodes.h | 2 ++ 25 files changed, 124 insertions(+), 5 deletions(-) create mode 100644 keyboards/handwired/onekey/keymaps/reboot/keymap.c create mode 100644 platforms/chibios/boards/STM32_F103_STM32DUINO/configs/config.h diff --git a/docs/keycodes.md b/docs/keycodes.md index 942e0a661609..10652bdb2f48 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -225,6 +225,7 @@ See also: [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes) |`QK_DEBUG_TOGGLE`|`DB_TOGG`|Toggle debug mode | |`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory) | |`QK_MAKE` | |Sends `qmk compile -kb (keyboard) -km (keymap)`, or `qmk flash` if shift is held | +|`QK_REBOOT` |`QK_RBT` |Resets the keyboard. Does not load the bootloader | ## Audio Keys :id=audio-keys diff --git a/docs/quantum_keycodes.md b/docs/quantum_keycodes.md index 46a8b7de1943..a1923777efe5 100644 --- a/docs/quantum_keycodes.md +++ b/docs/quantum_keycodes.md @@ -14,3 +14,4 @@ On this page we have documented keycodes between `0x00FF` and `0xFFFF` which are |`QK_DEBUG_TOGGLE`|`DB_TOGG`|Toggle debug mode | |`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory) | |`QK_MAKE` | |Sends `qmk compile -kb (keyboard) -km (keymap)`, or `qmk flash` if shift is held | +|`QK_REBOOT` |`QK_RBT` |Resets the keyboard. Does not load the bootloader | diff --git a/keyboards/handwired/onekey/keymaps/reboot/keymap.c b/keyboards/handwired/onekey/keymaps/reboot/keymap.c new file mode 100644 index 000000000000..c3d147a76c1e --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/reboot/keymap.c @@ -0,0 +1,5 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_ortho_1x1(QK_REBOOT) +}; diff --git a/platforms/arm_atsam/bootloaders/md_boot.c b/platforms/arm_atsam/bootloaders/md_boot.c index 32cf850448ea..1cf7aec62ccf 100644 --- a/platforms/arm_atsam/bootloaders/md_boot.c +++ b/platforms/arm_atsam/bootloaders/md_boot.c @@ -63,3 +63,7 @@ void bootloader_jump(void) { while (1) ; // Wait on timeout } + +__attribute__((weak)) void mcu_reset(void) { + NVIC_SystemReset(); +} diff --git a/platforms/avr/bootloaders/bootloadhid.c b/platforms/avr/bootloaders/bootloadhid.c index ae58760d7daa..b91dca6d278f 100644 --- a/platforms/avr/bootloaders/bootloadhid.c +++ b/platforms/avr/bootloaders/bootloadhid.c @@ -31,3 +31,10 @@ __attribute__((weak)) void bootloader_jump(void) { for (;;) ; } + +__attribute__((weak)) void mcu_reset(void) { + // watchdog reset + wdt_enable(WDTO_250MS); + for (;;) + ; +} diff --git a/platforms/avr/bootloaders/caterina.c b/platforms/avr/bootloaders/caterina.c index 82a16a3765f4..2b5f613d6d5e 100644 --- a/platforms/avr/bootloaders/caterina.c +++ b/platforms/avr/bootloaders/caterina.c @@ -37,3 +37,12 @@ __attribute__((weak)) void bootloader_jump(void) { while (1) { } } + +__attribute__((weak)) void mcu_reset(void) { + // setup watchdog timeout + wdt_enable(WDTO_60MS); + + // wait for watchdog timer to trigger + while (1) { + } +} diff --git a/platforms/avr/bootloaders/custom.c b/platforms/avr/bootloaders/custom.c index 624fbe242a35..72b19f667199 100644 --- a/platforms/avr/bootloaders/custom.c +++ b/platforms/avr/bootloaders/custom.c @@ -15,5 +15,14 @@ */ #include "bootloader.h" +#include __attribute__((weak)) void bootloader_jump(void) {} +__attribute__((weak)) void mcu_reset(void) { + // setup watchdog timeout + wdt_enable(WDTO_60MS); + + // wait for watchdog timer to trigger + while (1) { + } +} diff --git a/platforms/avr/bootloaders/dfu.c b/platforms/avr/bootloaders/dfu.c index 06b2c8963ac3..dbbb5f4ab64b 100644 --- a/platforms/avr/bootloaders/dfu.c +++ b/platforms/avr/bootloaders/dfu.c @@ -34,8 +34,15 @@ __attribute__((weak)) void bootloader_jump(void) { UCSR1B = 0; _delay_ms(5); // 5 seems to work fine - // watchdog reset reset_key = BOOTLOADER_RESET_KEY; + // watchdog reset + wdt_enable(WDTO_250MS); + for (;;) + ; +} + +__attribute__((weak)) void mcu_reset(void) { + // watchdog reset wdt_enable(WDTO_250MS); for (;;) ; diff --git a/platforms/avr/bootloaders/halfkay.c b/platforms/avr/bootloaders/halfkay.c index 651696f9881d..402f5f27786d 100644 --- a/platforms/avr/bootloaders/halfkay.c +++ b/platforms/avr/bootloaders/halfkay.c @@ -17,6 +17,7 @@ #include "bootloader.h" #include +#include #include __attribute__((weak)) void bootloader_jump(void) { @@ -126,3 +127,12 @@ __attribute__((weak)) void bootloader_jump(void) { asm volatile("jmp 0x1FC00"); #endif } + +__attribute__((weak)) void mcu_reset(void) { + // setup watchdog timeout + wdt_enable(WDTO_60MS); + + // wait for watchdog timer to trigger + while (1) { + } +} diff --git a/platforms/avr/bootloaders/usbasploader.c b/platforms/avr/bootloaders/usbasploader.c index 008bd16069f4..333010eefa3b 100644 --- a/platforms/avr/bootloaders/usbasploader.c +++ b/platforms/avr/bootloaders/usbasploader.c @@ -54,3 +54,12 @@ __attribute__((weak)) void bootloader_jump(void) { #endif [bootaddrme] "M"((((FLASH_SIZE - BOOTLOADER_SIZE) >> 1) >> 8) & 0xff), [bootaddrlo] "M"((((FLASH_SIZE - BOOTLOADER_SIZE) >> 1) >> 0) & 0xff)); } + +__attribute__((weak)) void mcu_reset(void) { + // setup watchdog timeout + wdt_enable(WDTO_15MS); + + // wait for watchdog timer to trigger + while (1) { + } +} diff --git a/platforms/bootloader.h b/platforms/bootloader.h index 25ebd952888e..77c6c80287c9 100644 --- a/platforms/bootloader.h +++ b/platforms/bootloader.h @@ -19,3 +19,4 @@ along with this program. If not, see . /* give code for your bootloader to come up if needed */ void bootloader_jump(void); +void mcu_reset(void); diff --git a/platforms/chibios/boards/STM32_F103_STM32DUINO/board/board.c b/platforms/chibios/boards/STM32_F103_STM32DUINO/board/board.c index 8a34e81f2574..cba977da7767 100644 --- a/platforms/chibios/boards/STM32_F103_STM32DUINO/board/board.c +++ b/platforms/chibios/boards/STM32_F103_STM32DUINO/board/board.c @@ -16,9 +16,6 @@ #include -// Value to place in RTC backup register 10 for persistent bootloader mode -#define RTC_BOOTLOADER_FLAG 0x424C - /** * @brief PAL setup. * @details Digital I/O ports static configuration as defined in @p board.h. diff --git a/platforms/chibios/boards/STM32_F103_STM32DUINO/configs/config.h b/platforms/chibios/boards/STM32_F103_STM32DUINO/configs/config.h new file mode 100644 index 000000000000..d8b852cab7e5 --- /dev/null +++ b/platforms/chibios/boards/STM32_F103_STM32DUINO/configs/config.h @@ -0,0 +1,9 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +// Value to place in RTC backup register 10 for persistent bootloader mode +#define RTC_BOOTLOADER_FLAG 0x424C + +// Value to place in RTC backup register 10 for instant reboot mode +#define RTC_BOOTLOADER_JUST_UPLOADED 0x424D diff --git a/platforms/chibios/bootloaders/custom.c b/platforms/chibios/bootloaders/custom.c index bba9fc4637db..6c5a433953e2 100644 --- a/platforms/chibios/bootloaders/custom.c +++ b/platforms/chibios/bootloaders/custom.c @@ -17,5 +17,6 @@ #include "bootloader.h" __attribute__((weak)) void bootloader_jump(void) {} +__attribute__((weak)) void mcu_reset(void) {} __attribute__((weak)) void enter_bootloader_mode_if_requested(void) {} diff --git a/platforms/chibios/bootloaders/gd32v_dfu.c b/platforms/chibios/bootloaders/gd32v_dfu.c index baa7d1f8823f..100fc472f8f5 100644 --- a/platforms/chibios/bootloaders/gd32v_dfu.c +++ b/platforms/chibios/bootloaders/gd32v_dfu.c @@ -36,5 +36,12 @@ __attribute__((weak)) void bootloader_jump(void) { *DBGMCU_CMD = DBGMCU_CMD_RESET; } +__attribute__((weak)) void mcu_reset(void) { + // Confirmed by karlk90, there is no actual reset to bootloader. + // This just resets the controller. + *DBGMCU_KEY = DBGMCU_KEY_UNLOCK; + *DBGMCU_CMD = DBGMCU_CMD_RESET; +} + /* Jumping to bootloader is not possible from user code. */ void enter_bootloader_mode_if_requested(void) {} diff --git a/platforms/chibios/bootloaders/halfkay.c b/platforms/chibios/bootloaders/halfkay.c index 168c2abc230e..aa11e6c5f437 100644 --- a/platforms/chibios/bootloaders/halfkay.c +++ b/platforms/chibios/bootloaders/halfkay.c @@ -23,3 +23,5 @@ __attribute__((weak)) void bootloader_jump(void) { wait_ms(100); __BKPT(0); } + +__attribute__((weak)) void mcu_reset(void) {} diff --git a/platforms/chibios/bootloaders/kiibohd.c b/platforms/chibios/bootloaders/kiibohd.c index 911e80709275..09a4d49b7871 100644 --- a/platforms/chibios/bootloaders/kiibohd.c +++ b/platforms/chibios/bootloaders/kiibohd.c @@ -30,3 +30,4 @@ __attribute__((weak)) void bootloader_jump(void) { // request reset SCB->AIRCR = SCB_AIRCR_VECTKEY_WRITEMAGIC | SCB_AIRCR_SYSRESETREQ_Msk; } +__attribute__((weak)) void mcu_reset(void) {} diff --git a/platforms/chibios/bootloaders/stm32_dfu.c b/platforms/chibios/bootloaders/stm32_dfu.c index 0e7411136706..ff866bd2bc03 100644 --- a/platforms/chibios/bootloaders/stm32_dfu.c +++ b/platforms/chibios/bootloaders/stm32_dfu.c @@ -61,6 +61,9 @@ __attribute__((weak)) void bootloader_jump(void) { NVIC_SystemReset(); } +__attribute__((weak)) void mcu_reset(void) { + NVIC_SystemReset(); +} // not needed at all, but if anybody attempts to invoke it.... void enter_bootloader_mode_if_requested(void) {} @@ -76,6 +79,10 @@ __attribute__((weak)) void bootloader_jump(void) { NVIC_SystemReset(); } +__attribute__((weak)) void mcu_reset(void) { + NVIC_SystemReset(); +} + void enter_bootloader_mode_if_requested(void) { unsigned long *check = MAGIC_ADDR; if (*check == BOOTLOADER_MAGIC) { diff --git a/platforms/chibios/bootloaders/stm32duino.c b/platforms/chibios/bootloaders/stm32duino.c index 53d3ba0adb11..e2db7fa16ca5 100644 --- a/platforms/chibios/bootloaders/stm32duino.c +++ b/platforms/chibios/bootloaders/stm32duino.c @@ -21,3 +21,8 @@ __attribute__((weak)) void bootloader_jump(void) { NVIC_SystemReset(); } + +__attribute__((weak)) void mcu_reset(void) { + BKP->DR10 = RTC_BOOTLOADER_JUST_UPLOADED; + NVIC_SystemReset(); +} \ No newline at end of file diff --git a/platforms/chibios/bootloaders/tinyuf2.c b/platforms/chibios/bootloaders/tinyuf2.c index 9ffca5dec821..e08855b6c468 100644 --- a/platforms/chibios/bootloaders/tinyuf2.c +++ b/platforms/chibios/bootloaders/tinyuf2.c @@ -25,6 +25,10 @@ extern uint32_t _board_dfu_dbl_tap[]; #define DBL_TAP_REG _board_dfu_dbl_tap[0] +__attribute__((weak)) void mcu_reset(void) { + NVIC_SystemReset(); +} + __attribute__((weak)) void bootloader_jump(void) { DBL_TAP_REG = DBL_TAP_MAGIC; NVIC_SystemReset(); diff --git a/platforms/chibios/bootloaders/wb32_dfu.c b/platforms/chibios/bootloaders/wb32_dfu.c index bbc382a2d04d..d021b0863b84 100644 --- a/platforms/chibios/bootloaders/wb32_dfu.c +++ b/platforms/chibios/bootloaders/wb32_dfu.c @@ -47,3 +47,7 @@ void enter_bootloader_mode_if_requested(void) { ; } } + +__attribute__((weak)) void mcu_reset(void) { + NVIC_SystemReset(); +} diff --git a/platforms/test/bootloaders/none.c b/platforms/test/bootloaders/none.c index 5155d9ff04f7..e88a79ae056b 100644 --- a/platforms/test/bootloaders/none.c +++ b/platforms/test/bootloaders/none.c @@ -17,3 +17,4 @@ #include "bootloader.h" void bootloader_jump(void) {} +void mcu_reset(void) {} diff --git a/quantum/quantum.c b/quantum/quantum.c index 673ea91b11f9..c0e801a4bb96 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -121,7 +121,7 @@ __attribute__((weak)) void post_process_record_kb(uint16_t keycode, keyrecord_t __attribute__((weak)) void post_process_record_user(uint16_t keycode, keyrecord_t *record) {} -void reset_keyboard(void) { +void shutdown_quantum(void) { clear_keyboard(); #if defined(MIDI_ENABLE) && defined(MIDI_BASIC) process_midi_all_notes_off(); @@ -143,9 +143,18 @@ void reset_keyboard(void) { #ifdef HAPTIC_ENABLE haptic_shutdown(); #endif +} + +void reset_keyboard(void) { + shutdown_quantum(); bootloader_jump(); } +void soft_reset_keyboard(void) { + shutdown_quantum(); + mcu_reset(); +} + /* Convert record into usable keycode via the contained event. */ uint16_t get_record_keycode(keyrecord_t *record, bool update_layer_cache) { #ifdef COMBO_ENABLE @@ -326,6 +335,9 @@ bool process_record_quantum(keyrecord_t *record) { case QK_BOOTLOADER: reset_keyboard(); return false; + case QK_REBOOT: + soft_reset_keyboard(); + return false; #endif #ifndef NO_DEBUG case QK_DEBUG_TOGGLE: @@ -339,6 +351,9 @@ bool process_record_quantum(keyrecord_t *record) { return false; case QK_CLEAR_EEPROM: eeconfig_init(); +#ifndef NO_RESET + soft_reset_keyboard(); +#endif return false; #ifdef VELOCIKEY_ENABLE case VLK_TOG: diff --git a/quantum/quantum.h b/quantum/quantum.h index d021e7c05c12..7829ec7e0cb7 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -254,6 +254,7 @@ void post_process_record_kb(uint16_t keycode, keyrecord_t *record); void post_process_record_user(uint16_t keycode, keyrecord_t *record); void reset_keyboard(void); +void soft_reset_keyboard(void); void startup_user(void); void shutdown_user(void); diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index c7b4ea593feb..5d5c4ed8c492 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -596,6 +596,7 @@ enum quantum_keycodes { MAGIC_TOGGLE_CONTROL_CAPSLOCK, QK_MAKE, + QK_REBOOT, SECURE_LOCK, SECURE_UNLOCK, @@ -717,6 +718,7 @@ enum quantum_keycodes { #define QK_BOOT QK_BOOTLOADER #define DB_TOGG QK_DEBUG_TOGGLE #define EE_CLR QK_CLEAR_EEPROM +#define QK_RBT QK_REBOOT // Audio Clicky aliases #define CK_TOGG CLICKY_TOGGLE From 90eef4cd153cdc1b00d973e6abb029828f656294 Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Sat, 14 May 2022 07:26:12 +0200 Subject: [PATCH 0672/1832] Fix kinetic mouse mode (#16951) Co-authored-by: Jan Christoph Ebersbach --- quantum/mousekey.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/quantum/mousekey.c b/quantum/mousekey.c index 64d0e6668205..a15bd8f13edf 100644 --- a/quantum/mousekey.c +++ b/quantum/mousekey.c @@ -66,11 +66,16 @@ uint8_t mk_time_to_max = MOUSEKEY_TIME_TO_MAX; /* milliseconds between the initial key press and first repeated motion event (0-2550) */ uint8_t mk_wheel_delay = MOUSEKEY_WHEEL_DELAY / 10; /* milliseconds between repeated motion events (0-255) */ -uint8_t mk_wheel_interval = MOUSEKEY_WHEEL_INTERVAL; +# ifndef MK_KINETIC_SPEED +uint8_t mk_wheel_interval = MOUSEKEY_WHEEL_INTERVAL; +# else /* #ifndef MK_KINETIC_SPEED */ +float mk_wheel_interval = 1000.0f / MOUSEKEY_WHEEL_INITIAL_MOVEMENTS; +# endif /* #ifndef MK_KINETIC_SPEED */ uint8_t mk_wheel_max_speed = MOUSEKEY_WHEEL_MAX_SPEED; uint8_t mk_wheel_time_to_max = MOUSEKEY_WHEEL_TIME_TO_MAX; # ifndef MK_COMBINED +# ifndef MK_KINETIC_SPEED static uint8_t move_unit(void) { uint16_t unit; @@ -108,8 +113,7 @@ static uint8_t wheel_unit(void) { return (unit > MOUSEKEY_WHEEL_MAX ? MOUSEKEY_WHEEL_MAX : (unit == 0 ? 1 : unit)); } -# else /* #ifndef MK_COMBINED */ -# ifdef MK_KINETIC_SPEED +# else /* #ifndef MK_KINETIC_SPEED */ /* * Kinetic movement acceleration algorithm @@ -129,7 +133,7 @@ const uint16_t mk_decelerated_speed = MOUSEKEY_DECELERATED_SPEED; const uint16_t mk_initial_speed = MOUSEKEY_INITIAL_SPEED; static uint8_t move_unit(void) { - float speed = mk_initial_speed; + float speed = (float)mk_initial_speed; if (mousekey_accel & ((1 << 0) | (1 << 2))) { speed = mousekey_accel & (1 << 2) ? mk_accelerated_speed : mk_decelerated_speed; @@ -147,8 +151,6 @@ static uint8_t move_unit(void) { return speed > MOUSEKEY_MOVE_MAX ? MOUSEKEY_MOVE_MAX : speed; } -float mk_wheel_interval = 1000.0f / MOUSEKEY_WHEEL_INITIAL_MOVEMENTS; - static uint8_t wheel_unit(void) { float speed = MOUSEKEY_WHEEL_INITIAL_MOVEMENTS; @@ -167,7 +169,8 @@ static uint8_t wheel_unit(void) { return 1; } -# else /* #ifndef MK_KINETIC_SPEED */ +# endif /* #ifndef MK_KINETIC_SPEED */ +# else /* #ifndef MK_COMBINED */ static uint8_t move_unit(void) { uint16_t unit; @@ -205,8 +208,7 @@ static uint8_t wheel_unit(void) { return (unit > MOUSEKEY_WHEEL_MAX ? MOUSEKEY_WHEEL_MAX : (unit == 0 ? 1 : unit)); } -# endif /* #ifndef MK_KINETIC_SPEED */ -# endif /* #ifndef MK_COMBINED */ +# endif /* #ifndef MK_COMBINED */ void mousekey_task(void) { // report cursor and scroll movement independently From 68b16bba68d79c63bbd649a5be58756e937c96da Mon Sep 17 00:00:00 2001 From: Pascal Getreuer <50221757+getreuer@users.noreply.github.com> Date: Fri, 13 May 2022 23:00:32 -0700 Subject: [PATCH 0673/1832] [Core] Add Caps Word feature to core (#16588) Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre --- builddefs/generic_features.mk | 1 + builddefs/show_options.mk | 3 +- data/mappings/info_config.json | 3 + data/mappings/info_rules.json | 1 + data/schemas/keyboard.jsonschema | 10 + docs/_summary.md | 1 + docs/feature_caps_word.md | 156 ++++++++ docs/keycodes.md | 8 + quantum/caps_word.c | 80 ++++ quantum/caps_word.h | 43 ++ quantum/keyboard.c | 7 + quantum/process_keycode/process_caps_word.c | 160 ++++++++ quantum/process_keycode/process_caps_word.h | 37 ++ quantum/quantum.c | 3 + quantum/quantum.h | 5 + quantum/quantum_keycodes.h | 3 + tests/caps_word/config.h | 21 + tests/caps_word/test.mk | 19 + tests/caps_word/test_caps_word.cpp | 423 ++++++++++++++++++++ 19 files changed, 983 insertions(+), 1 deletion(-) create mode 100644 docs/feature_caps_word.md create mode 100644 quantum/caps_word.c create mode 100644 quantum/caps_word.h create mode 100644 quantum/process_keycode/process_caps_word.c create mode 100644 quantum/process_keycode/process_caps_word.h create mode 100644 tests/caps_word/config.h create mode 100644 tests/caps_word/test.mk create mode 100644 tests/caps_word/test_caps_word.cpp diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index 0475a2ff09bc..c3f1ec0f722d 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -17,6 +17,7 @@ SPACE_CADET_ENABLE ?= yes GRAVE_ESC_ENABLE ?= yes GENERIC_FEATURES = \ + CAPS_WORD \ COMBO \ COMMAND \ DEFERRED_EXEC \ diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk index 16b69ef0ea83..f67d009191fd 100644 --- a/builddefs/show_options.mk +++ b/builddefs/show_options.mk @@ -81,7 +81,8 @@ OTHER_OPTION_NAMES = \ RGBLIGHT_FULL_POWER \ LTO_ENABLE \ PROGRAMMABLE_BUTTON_ENABLE \ - SECURE_ENABLE + SECURE_ENABLE \ + CAPS_WORD_ENABLE define NAME_ECHO @printf " %-30s = %-16s # %s\\n" "$1" "$($1)" "$(origin $1)" diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json index 02ad3226c285..d9f96b58923f 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.json @@ -11,6 +11,8 @@ "BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"}, "BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"}, "BACKLIGHT_PIN": {"info_key": "backlight.pin"}, + "BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "bool"}, + "CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"}, "COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"}, "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"}, "DEBOUNCE": {"info_key": "debounce", "value_type": "int"}, @@ -19,6 +21,7 @@ #"DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"}, "DESCRIPTION": {"info_key": "keyboard_folder", "value_type": "str", "to_json": false}, "DIODE_DIRECTION": {"info_key": "diode_direction"}, + "DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "bool"}, "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"}, "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"}, "DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"}, diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json index 4b0fde562979..a8b39afbd15b 100644 --- a/data/mappings/info_rules.json +++ b/data/mappings/info_rules.json @@ -10,6 +10,7 @@ "BOARD": {"info_key": "board"}, "BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false}, "BLUETOOTH": {"info_key": "bluetooth.driver"}, + "CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"}, "FIRMWARE_FORMAT": {"info_key": "build.firmware_format"}, "KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"}, "MOUSE_SHARED_EP": {"info_key": "usb.shared_endpoint.mouse", "value_type": "bool"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 6b1e543e4851..aaf6f887d5e8 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -92,6 +92,16 @@ "enum": ["COL2ROW", "ROW2COL"] }, "debounce": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "caps_word": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "both_shifts_turns_on": {"type": "boolean"}, + "double_tap_shift_turns_on": {"type": "boolean"}, + "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + }, + }, "combo": { "type": "object", "properties": { diff --git a/docs/_summary.md b/docs/_summary.md index 786685eba479..fed75196b4f1 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -75,6 +75,7 @@ * Software Features * [Auto Shift](feature_auto_shift.md) + * [Caps Word](feature_caps_word.md) * [Combos](feature_combo.md) * [Debounce API](feature_debounce_type.md) * [Key Lock](feature_key_lock.md) diff --git a/docs/feature_caps_word.md b/docs/feature_caps_word.md new file mode 100644 index 000000000000..0b71119917fc --- /dev/null +++ b/docs/feature_caps_word.md @@ -0,0 +1,156 @@ +# Caps Word + +It is often useful to type a single word in all capitals, for instance +abbreviations like "QMK", or in code, identifiers like `KC_SPC`. "Caps Word" is +a modern alternative to Caps Lock: + +* Letters are capitalized while active, and Caps Word automatically disables + itself at the end of the word. That is, it stops by default once a space or + any key other than `a`--`z`, `0`--`9`, `-`, `_`, delete, or backspace is + pressed. Caps Word also disables itself if the keyboard is idle for 5 seconds. + This is configurable, see below. + +* To avoid requiring a dedicated key for Caps Word, there is an option + (`BOTH_SHIFTS_TURNS_ON_CAPS_WORD`) to activate Caps Word by simultaneously + pressing both shift keys. See below for other options. + +* The implementation does not use the Caps Lock (`KC_CAPS`) keycode. Caps Word + works even if you're remapping Caps Lock at the OS level to Ctrl or something + else, as Emacs and Vim users often do. + + +## How do I enable Caps Word :id=how-do-i-enable-caps-word + +In your `rules.mk`, add: + +```make +CAPS_WORD_ENABLE = yes +``` + +Next, use one the following methods to activate Caps Word: + +* **Activate by pressing a key**: Use the `CAPS_WORD` keycode (short + alias `CAPSWRD`) in your keymap. + +* **Activate by pressing Left Shift + Right Shift**: Add `#define + BOTH_SHIFTS_TURNS_ON_CAPS_WORD` to config.h. You may also need to disable or + reconfigure Command, details below. Then, simultaneously pressing both left + and right shifts turns on Caps Word. This method works with the plain + `KC_LSFT` and `KC_RSFT` keycodes as well as one-shot shifts and Space Cadet + shifts. If your shift keys are mod-taps, hold both shift mod-tap keys until + the tapping term, then release them. + +* **Activate by double tapping Left Shift**: Add `#define + DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD` config.h. Then, double tapping Left Shift + turns on Caps Word. This method works with `KC_LSFT` or one-shot Left Shift + `OSM(MOD_LSFT)`. To count as a double tap, the maximum time in milliseconds + between taps is `TAPPING_TERM`, or if using `TAPPING_TERM_PER_KEY`, the time + returned by `get_tapping_term()` for the shift keycode being tapped. + +* **Custom activation**: You can activate Caps Word from code by calling + `caps_word_on()`. This may be used to activate Caps Word through [a + combo](feature_combo.md) or [tap dance](feature_tap_dance.md) or any means + you like. + +### Troubleshooting: Command :id=troubleshooting-command + +When using `BOTH_SHIFTS_TURNS_ON_CAPS_WORD`, you might see a compile message +**"BOTH_SHIFTS_TURNS_ON_CAPS_WORD and Command should not be enabled at the same +time, since both use the Left Shift + Right Shift key combination."** + +Many keyboards enable the [Command feature](feature_command.md), which by +default is also activated using the Left Shift + Right Shift key combination. To +fix this conflict, please disable Command by adding in rules.mk: + +```make +COMMAND_ENABLE = no +``` + +Or configure Command to use another key combination like Left Ctrl + Right Ctrl +by defining `IS_COMMAND()` in config.h: + +```c +// Activate Command with Left Ctrl + Right Ctrl. +#define IS_COMMAND() (get_mods() == MOD_MASK_CTRL) +``` + + +## Customizing Caps Word :id=customizing-caps-word + +### Idle timeout :id=idle-timeout + +Caps Word turns off automatically if no keys are pressed for +`CAPS_WORD_IDLE_TIMEOUT` milliseconds. The default is 5000 (5 seconds). +Configure the timeout duration in config.h, for instance + +```c +#define CAPS_WORD_IDLE_TIMEOUT 3000 // 3 seconds. +``` + +Setting `CAPS_WORD_IDLE_TIMEOUT` to 0 configures Caps Word to never time out. +Caps Word then remains active indefinitely until a word breaking key is pressed. + + +### Functions :id=functions + +Functions to manipulate Caps Word: + +| Function | Description | +|-------------------------|------------------------------------------------| +| `caps_word_on()` | Turns Caps Word on. | +| `caps_word_off()` | Turns Caps Word off. | +| `caps_word_toggle()` | Toggles Caps Word. | +| `is_caps_word_on()` | Returns true if Caps Word is currently on. | + + +### Configure which keys are "word breaking" :id=configure-which-keys-are-word-breaking + +You can define the `caps_word_press_user(uint16_t keycode)` callback to +configure which keys should be shifted and which keys are considered "word +breaking" and stop Caps Word. + +The callback is called on every key press while Caps Word is active. When the +key should be shifted (that is, a letter key), the callback should call +`add_weak_mods(MOD_BIT(KC_LSFT))` to shift the key. Returning true continues the +current "word," while returning false is "word breaking" and deactivates Caps +Word. The default callback is + +```c +bool caps_word_press_user(uint16_t keycode) { + switch (keycode) { + // Keycodes that continue Caps Word, with shift applied. + case KC_A ... KC_Z: + case KC_MINS: + add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to next key. + return true; + + // Keycodes that continue Caps Word, without shifting. + case KC_1 ... KC_0: + case KC_BSPC: + case KC_DEL: + case KC_UNDS: + return true; + + default: + return false; // Deactivate Caps Word. + } +} +``` + + +### Representing Caps Word state :id=representing-caps-word-state + +Define `caps_word_set_user(bool active)` to get callbacks when Caps Word turns +on or off. This is useful to represent the current Caps Word state, e.g. by +setting an LED or playing a sound. In your keymap, define + +```c +void caps_word_set_user(bool active) { + if (active) { + // Do something when Caps Word activates. + } else { + // Do something when Caps Word deactivates. + } +} +``` + diff --git a/docs/keycodes.md b/docs/keycodes.md index 10652bdb2f48..bd5af32dd387 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -269,6 +269,14 @@ See also: [Bluetooth](feature_bluetooth.md) |`OUT_USB` |USB only | |`OUT_BT` |Bluetooth only | +## Caps Word :id=caps-word + +See also: [Caps Word](feature_caps_word.md) + +|Key |Aliases |Description | +|-----------|---------|------------------------------| +|`CAPS_WORD`|`CAPSWRD`|Toggles Caps Word | + ## Dynamic Macros :id=dynamic-macros See also: [Dynamic Macros](feature_dynamic_macros.md) diff --git a/quantum/caps_word.c b/quantum/caps_word.c new file mode 100644 index 000000000000..5b83659f2818 --- /dev/null +++ b/quantum/caps_word.c @@ -0,0 +1,80 @@ +// Copyright 2021-2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "caps_word.h" + +/** @brief True when Caps Word is active. */ +static bool caps_word_active = false; + +#if CAPS_WORD_IDLE_TIMEOUT > 0 +// Constrain timeout to a sensible range. With 16-bit timers, the longest +// timeout possible is 32768 ms, rounded here to 30000 ms = half a minute. +# if CAPS_WORD_IDLE_TIMEOUT < 100 || CAPS_WORD_IDLE_TIMEOUT > 30000 +# error "CAPS_WORD_IDLE_TIMEOUT must be between 100 and 30000 ms" +# endif + +/** @brief Deadline for idle timeout. */ +static uint16_t idle_timer = 0; + +void caps_word_task(void) { + if (caps_word_active && timer_expired(timer_read(), idle_timer)) { + caps_word_off(); + } +} + +void caps_word_reset_idle_timer(void) { + idle_timer = timer_read() + CAPS_WORD_IDLE_TIMEOUT; +} +#endif // CAPS_WORD_IDLE_TIMEOUT > 0 + +void caps_word_on(void) { + if (caps_word_active) { + return; + } + + clear_mods(); +#ifndef NO_ACTION_ONESHOT + clear_oneshot_mods(); +#endif // NO_ACTION_ONESHOT +#if CAPS_WORD_IDLE_TIMEOUT > 0 + caps_word_reset_idle_timer(); +#endif // CAPS_WORD_IDLE_TIMEOUT > 0 + + caps_word_active = true; + caps_word_set_user(true); +} + +void caps_word_off(void) { + if (!caps_word_active) { + return; + } + + unregister_weak_mods(MOD_MASK_SHIFT); // Make sure weak shift is off. + caps_word_active = false; + caps_word_set_user(false); +} + +void caps_word_toggle(void) { + if (caps_word_active) { + caps_word_off(); + } else { + caps_word_on(); + } +} + +bool is_caps_word_on(void) { + return caps_word_active; +} + +__attribute__((weak)) void caps_word_set_user(bool active) {} diff --git a/quantum/caps_word.h b/quantum/caps_word.h new file mode 100644 index 000000000000..b83f73371ef4 --- /dev/null +++ b/quantum/caps_word.h @@ -0,0 +1,43 @@ +// Copyright 2021-2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include "quantum.h" + +#ifndef CAPS_WORD_IDLE_TIMEOUT +# define CAPS_WORD_IDLE_TIMEOUT 5000 // Default timeout of 5 seconds. +#endif // CAPS_WORD_IDLE_TIMEOUT + +#if CAPS_WORD_IDLE_TIMEOUT > 0 +/** @brief Matrix scan task for Caps Word feature */ +void caps_word_task(void); + +/** @brief Resets timer for Caps Word idle timeout. */ +void caps_word_reset_idle_timer(void); +#else +static inline void caps_word_task(void) {} +#endif // CAPS_WORD_IDLE_TIMEOUT > 0 + +void caps_word_on(void); /**< Activates Caps Word. */ +void caps_word_off(void); /**< Deactivates Caps Word. */ +void caps_word_toggle(void); /**< Toggles Caps Word. */ +bool is_caps_word_on(void); /**< Gets whether currently active. */ + +/** + * @brief Caps Word set callback. + * + * @param active True if Caps Word is active, false otherwise + */ +void caps_word_set_user(bool active); diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 1dccd48e2fec..a65f9d6d1865 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -108,6 +108,9 @@ along with this program. If not, see . #ifdef BLUETOOTH_ENABLE # include "outputselect.h" #endif +#ifdef CAPS_WORD_ENABLE +# include "caps_word.h" +#endif static uint32_t last_input_modification_time = 0; uint32_t last_input_activity_time(void) { @@ -549,6 +552,10 @@ void quantum_task(void) { autoshift_matrix_scan(); #endif +#ifdef CAPS_WORD_ENABLE + caps_word_task(); +#endif + #ifdef SECURE_ENABLE secure_task(); #endif diff --git a/quantum/process_keycode/process_caps_word.c b/quantum/process_keycode/process_caps_word.c new file mode 100644 index 000000000000..15238f04a1b1 --- /dev/null +++ b/quantum/process_keycode/process_caps_word.c @@ -0,0 +1,160 @@ +// Copyright 2021-2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "process_caps_word.h" + +bool process_caps_word(uint16_t keycode, keyrecord_t* record) { + if (keycode == CAPSWRD) { // Pressing CAPSWRD toggles Caps Word. + if (record->event.pressed) { + caps_word_toggle(); + } + return false; + } + +#ifndef NO_ACTION_ONESHOT + const uint8_t mods = get_mods() | get_oneshot_mods(); +#else + const uint8_t mods = get_mods(); +#endif // NO_ACTION_ONESHOT + + if (!is_caps_word_on()) { + // The following optionally turns on Caps Word by holding left and + // right shifts or by double tapping left shift. This way Caps Word + // may be used without needing a dedicated key and also without + // needing combos or tap dance. + +#ifdef BOTH_SHIFTS_TURNS_ON_CAPS_WORD + // Many keyboards enable the Command feature by default, which also + // uses left+right shift. It can be configured to use a different + // key combination by defining IS_COMMAND(). We make a non-fatal + // warning if Command is enabled but IS_COMMAND() is *not* defined. +# if defined(COMMAND_ENABLE) && !defined(IS_COMMAND) +# pragma message "BOTH_SHIFTS_TURNS_ON_CAPS_WORD and Command should not be enabled at the same time, since both use the Left Shift + Right Shift key combination. Please disable Command, or ensure that `IS_COMMAND` is not set to (get_mods() == MOD_MASK_SHIFT)." +# else + if (mods == MOD_MASK_SHIFT +# ifdef COMMAND_ENABLE + // Don't activate Caps Word at the same time as Command. + && !(IS_COMMAND()) +# endif // COMMAND_ENABLE + ) { + caps_word_on(); + } +# endif // defined(COMMAND_ENABLE) && !defined(IS_COMMAND) +#endif // BOTH_SHIFTS_TURNS_ON_CAPS_WORD + +#ifdef DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD + // Double tapping left shift turns on Caps Word. + // + // NOTE: This works with KC_LSFT and one-shot left shift. It + // wouldn't make sense with mod-tap or Space Cadet shift since + // double tapping would of course trigger the tapping action. + if (record->event.pressed) { + static bool tapped = false; + static uint16_t timer = 0; + if (keycode == KC_LSFT || keycode == OSM(MOD_LSFT)) { + if (tapped && !timer_expired(record->event.time, timer)) { + // Left shift was double tapped, activate Caps Word. + caps_word_on(); + } + tapped = true; + timer = record->event.time + GET_TAPPING_TERM(keycode, record); + } else { + tapped = false; // Reset when any other key is pressed. + } + } +#endif // DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD + + return true; + } + +#if CAPS_WORD_IDLE_TIMEOUT > 0 + caps_word_reset_idle_timer(); +#endif // CAPS_WORD_IDLE_TIMEOUT > 0 + + // From here on, we only take action on press events. + if (!record->event.pressed) { + return true; + } + + if (!(mods & ~MOD_MASK_SHIFT)) { + switch (keycode) { + // Ignore MO, TO, TG, TT, and OSL layer switch keys. + case QK_MOMENTARY ... QK_MOMENTARY_MAX: + case QK_TO ... QK_TO_MAX: + case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: + case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: + case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: + return true; + +#ifndef NO_ACTION_TAPPING + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + if (record->tap.count == 0) { + // Deactivate if a mod becomes active through holding + // a mod-tap key. + caps_word_off(); + return true; + } + keycode &= 0xff; + break; + +# ifndef NO_ACTION_LAYER + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: +# endif // NO_ACTION_LAYER + if (record->tap.count == 0) { + return true; + } + keycode &= 0xff; + break; +#endif // NO_ACTION_TAPPING + +#ifdef SWAP_HANDS_ENABLE + case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: + if (keycode > 0x56F0 || record->tap.count == 0) { + return true; + } + keycode &= 0xff; + break; +#endif // SWAP_HANDS_ENABLE + } + + clear_weak_mods(); + if (caps_word_press_user(keycode)) { + send_keyboard_report(); + return true; + } + } + + caps_word_off(); + return true; +} + +__attribute__((weak)) bool caps_word_press_user(uint16_t keycode) { + switch (keycode) { + // Keycodes that continue Caps Word, with shift applied. + case KC_A ... KC_Z: + case KC_MINS: + add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to next key. + return true; + + // Keycodes that continue Caps Word, without shifting. + case KC_1 ... KC_0: + case KC_BSPC: + case KC_DEL: + case KC_UNDS: + return true; + + default: + return false; // Deactivate Caps Word. + } +} diff --git a/quantum/process_keycode/process_caps_word.h b/quantum/process_keycode/process_caps_word.h new file mode 100644 index 000000000000..f215bbc3a3df --- /dev/null +++ b/quantum/process_keycode/process_caps_word.h @@ -0,0 +1,37 @@ +// Copyright 2021-2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include "quantum.h" +#include "caps_word.h" + +/** + * @brief Process handler for Caps Word feature. + * + * @param keycode Keycode registered by matrix press, per keymap + * @param record keyrecord_t structure + * @return true Continue processing keycodes, and send to host + * @return false Stop processing keycodes, and don't send to host + */ +bool process_caps_word(uint16_t keycode, keyrecord_t* record); + +/** + * @brief Weak function for user-level Caps Word press modification. + * + * @param keycode Keycode registered by matrix press, per keymap + * @return true Continue Caps Word + * @return false Stop Caps Word + */ +bool caps_word_press_user(uint16_t keycode); diff --git a/quantum/quantum.c b/quantum/quantum.c index c0e801a4bb96..b54b46760c83 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -307,6 +307,9 @@ bool process_record_quantum(keyrecord_t *record) { #ifdef TERMINAL_ENABLE process_terminal(keycode, record) && #endif +#ifdef CAPS_WORD_ENABLE + process_caps_word(keycode, record) && +#endif #ifdef SPACE_CADET_ENABLE process_space_cadet(keycode, record) && #endif diff --git a/quantum/quantum.h b/quantum/quantum.h index 7829ec7e0cb7..92e1af1c40ba 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -233,6 +233,11 @@ extern layer_state_t layer_state; # include "pointing_device.h" #endif +#ifdef CAPS_WORD_ENABLE +# include "caps_word.h" +# include "process_caps_word.h" +#endif + // For tri-layer void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3); layer_state_t update_tri_layer_state(layer_state_t state, uint8_t layer1, uint8_t layer2, uint8_t layer3); diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 5d5c4ed8c492..2f8ee2322e86 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -602,6 +602,8 @@ enum quantum_keycodes { SECURE_UNLOCK, SECURE_TOGGLE, + CAPS_WORD, + // Start of custom keycode range for keyboards and keymaps - always leave at the end SAFE_RANGE }; @@ -964,5 +966,6 @@ enum quantum_keycodes { #define PB_32 PROGRAMMABLE_BUTTON_32 #define PROGRAMMABLE_BUTTON_MIN PROGRAMMABLE_BUTTON_1 #define PROGRAMMABLE_BUTTON_MAX PROGRAMMABLE_BUTTON_32 +#define CAPSWRD CAPS_WORD #include "quantum_keycodes_legacy.h" diff --git a/tests/caps_word/config.h b/tests/caps_word/config.h new file mode 100644 index 000000000000..0d5cebd7782f --- /dev/null +++ b/tests/caps_word/config.h @@ -0,0 +1,21 @@ +// Copyright 2022 Google LLC +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#pragma once + +#include "test_common.h" + +#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD +#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD diff --git a/tests/caps_word/test.mk b/tests/caps_word/test.mk new file mode 100644 index 000000000000..2509b0185880 --- /dev/null +++ b/tests/caps_word/test.mk @@ -0,0 +1,19 @@ +# Copyright 2022 Google LLC +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +CAPS_WORD_ENABLE = yes +COMMAND_ENABLE = no +SPACE_CADET_ENABLE = yes + diff --git a/tests/caps_word/test_caps_word.cpp b/tests/caps_word/test_caps_word.cpp new file mode 100644 index 000000000000..bcc8c5332623 --- /dev/null +++ b/tests/caps_word/test_caps_word.cpp @@ -0,0 +1,423 @@ +// Copyright 2022 Google LLC +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include "keyboard_report_util.hpp" +#include "keycode.h" +#include "test_common.hpp" +#include "test_fixture.hpp" +#include "test_keymap_key.hpp" + +using ::testing::_; +using ::testing::AnyNumber; +using ::testing::AnyOf; +using ::testing::InSequence; +using ::testing::TestParamInfo; + +class CapsWord : public TestFixture { + public: + void SetUp() override { + caps_word_off(); + } + + // Convenience function to tap `key`. + void TapKey(KeymapKey key) { + key.press(); + run_one_scan_loop(); + key.release(); + run_one_scan_loop(); + } + + // Taps in order each key in `keys`. + template + void TapKeys(Ts... keys) { + for (KeymapKey key : {keys...}) { + TapKey(key); + } + } +}; + +// Tests caps_word_on(), _off(), and _toggle() functions. +TEST_F(CapsWord, OnOffToggleFuns) { + TestDriver driver; + + EXPECT_EQ(is_caps_word_on(), false); + + caps_word_on(); + EXPECT_EQ(is_caps_word_on(), true); + caps_word_on(); + EXPECT_EQ(is_caps_word_on(), true); + + caps_word_off(); + EXPECT_EQ(is_caps_word_on(), false); + caps_word_off(); + EXPECT_EQ(is_caps_word_on(), false); + + caps_word_toggle(); + EXPECT_EQ(is_caps_word_on(), true); + caps_word_toggle(); + EXPECT_EQ(is_caps_word_on(), false); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Tests the default `caps_word_press_user()` function. +TEST_F(CapsWord, DefaultCapsWordPressUserFun) { + // Spot check some keycodes that continue Caps Word, with shift applied. + for (uint16_t keycode : {KC_A, KC_B, KC_Z, KC_MINS}) { + SCOPED_TRACE("keycode: " + testing::PrintToString(keycode)); + clear_weak_mods(); + EXPECT_TRUE(caps_word_press_user(keycode)); + EXPECT_EQ(get_weak_mods(), MOD_BIT(KC_LSFT)); + } + + // Some keycodes that continue Caps Word, without shifting. + for (uint16_t keycode : {KC_1, KC_9, KC_0, KC_BSPC, KC_DEL}) { + SCOPED_TRACE("keycode: " + testing::PrintToString(keycode)); + clear_weak_mods(); + EXPECT_TRUE(caps_word_press_user(keycode)); + EXPECT_EQ(get_weak_mods(), 0); + } + + // Some keycodes that turn off Caps Word. + for (uint16_t keycode : {KC_SPC, KC_DOT, KC_COMM, KC_TAB, KC_ESC, KC_ENT}) { + SCOPED_TRACE("keycode: " + testing::PrintToString(keycode)); + EXPECT_FALSE(caps_word_press_user(keycode)); + } +} + +// Tests that `CAPSWRD` key toggles Caps Word. +TEST_F(CapsWord, CapswrdKey) { + TestDriver driver; + KeymapKey key_capswrd(0, 0, 0, CAPSWRD); + set_keymap({key_capswrd}); + + // No keyboard reports should be sent. + EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); + + TapKey(key_capswrd); // Tap the CAPSWRD key. + EXPECT_EQ(is_caps_word_on(), true); + + TapKey(key_capswrd); // Tap the CAPSWRD key again. + EXPECT_EQ(is_caps_word_on(), false); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Tests that being idle for CAPS_WORD_IDLE_TIMEOUT turns off Caps Word. +TEST_F(CapsWord, IdleTimeout) { + TestDriver driver; + KeymapKey key_a(0, 0, 0, KC_A); + set_keymap({key_a}); + + // Allow any number of reports with no keys or only KC_LSFT. + // clang-format off + EXPECT_CALL(driver, send_keyboard_mock(AnyOf( + KeyboardReport(), + KeyboardReport(KC_LSFT)))) + .Times(AnyNumber()); + // clang-format on + + // Expect "Shift+A". + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); + + // Turn on Caps Word and tap "A". + caps_word_on(); + TapKey(key_a); + + testing::Mock::VerifyAndClearExpectations(&driver); + + idle_for(CAPS_WORD_IDLE_TIMEOUT); + run_one_scan_loop(); + + // Caps Word should be off and mods should be clear. + EXPECT_EQ(is_caps_word_on(), false); + EXPECT_EQ(get_mods() | get_weak_mods(), 0); + + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(AnyNumber()); + // Expect unshifted "A". + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A))); + TapKey(key_a); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Tests that typing "A, 4, A, 4" produces "Shift+A, 4, Shift+A, 4". +TEST_F(CapsWord, ShiftsLettersButNotDigits) { + TestDriver driver; + KeymapKey key_a(0, 0, 0, KC_A); + KeymapKey key_4(0, 1, 0, KC_4); + set_keymap({key_a, key_4}); + + // Allow any number of reports with no keys or only KC_LSFT. + // clang-format off + EXPECT_CALL(driver, send_keyboard_mock(AnyOf( + KeyboardReport(), + KeyboardReport(KC_LSFT)))) + .Times(AnyNumber()); + // clang-format on + + { // Expect: "Shift+A, 4, Shift+A, 4". + InSequence s; + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_4))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_4))); + } + + // Turn on Caps Word and tap "A, 4, A, 4". + caps_word_on(); + TapKeys(key_a, key_4, key_a, key_4); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Tests that typing "A, Space, A" produces "Shift+A, Space, A". +TEST_F(CapsWord, SpaceTurnsOffCapsWord) { + TestDriver driver; + KeymapKey key_a(0, 0, 0, KC_A); + KeymapKey key_spc(0, 1, 0, KC_SPC); + set_keymap({key_a, key_spc}); + + // Allow any number of reports with no keys or only KC_LSFT. + // clang-format off + EXPECT_CALL(driver, send_keyboard_mock(AnyOf( + KeyboardReport(), + KeyboardReport(KC_LSFT)))) + .Times(AnyNumber()); + // clang-format on + + { // Expect: "Shift+A, Space, A". + InSequence seq; + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_SPC))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A))); + } + + // Turn on Caps Word and tap "A, Space, A". + caps_word_on(); + TapKeys(key_a, key_spc, key_a); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +struct CapsWordBothShiftsParams { + std::string name; + uint16_t left_shift_keycode; + uint16_t right_shift_keycode; + + static const std::string& GetName(const TestParamInfo& info) { + return info.param.name; + } +}; + +// Tests the BOTH_SHIFTS_TURNS_ON_CAPS_WORD method to turn on Caps Word. +class CapsWordBothShifts : public ::testing::WithParamInterface, public CapsWord {}; + +// Pressing shifts as "Left down, Right down, Left up, Right up". +TEST_P(CapsWordBothShifts, PressLRLR) { + TestDriver driver; + KeymapKey left_shift(0, 0, 0, GetParam().left_shift_keycode); + KeymapKey right_shift(0, 1, 0, GetParam().right_shift_keycode); + set_keymap({left_shift, right_shift}); + + // clang-format off + EXPECT_CALL(driver, send_keyboard_mock(AnyOf( + KeyboardReport(), + KeyboardReport(KC_LSFT), + KeyboardReport(KC_RSFT), + KeyboardReport(KC_LSFT, KC_RSFT)))) + .Times(AnyNumber()); + // clang-format on + + EXPECT_EQ(is_caps_word_on(), false); + + left_shift.press(); // Press both shifts. + run_one_scan_loop(); + right_shift.press(); + + // For mod-tap and Space Cadet keys, wait for the tapping term. + if (left_shift.code == LSFT_T(KC_A) || left_shift.code == KC_LSPO) { + idle_for(TAPPING_TERM); + } + + run_one_scan_loop(); + left_shift.release(); // Release both. + run_one_scan_loop(); + right_shift.release(); + run_one_scan_loop(); + + EXPECT_EQ(is_caps_word_on(), true); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Pressing shifts as "Left down, Right down, Right up, Left up". +TEST_P(CapsWordBothShifts, PressLRRL) { + TestDriver driver; + KeymapKey left_shift(0, 0, 0, GetParam().left_shift_keycode); + KeymapKey right_shift(0, 1, 0, GetParam().right_shift_keycode); + set_keymap({left_shift, right_shift}); + + // clang-format off + EXPECT_CALL(driver, send_keyboard_mock(AnyOf( + KeyboardReport(), + KeyboardReport(KC_LSFT), + KeyboardReport(KC_RSFT), + KeyboardReport(KC_LSFT, KC_RSFT)))) + .Times(AnyNumber()); + // clang-format on + + EXPECT_EQ(is_caps_word_on(), false); + + left_shift.press(); // Press both shifts. + run_one_scan_loop(); + right_shift.press(); + + if (left_shift.code == LSFT_T(KC_A) || left_shift.code == KC_LSPO) { + idle_for(TAPPING_TERM); + } + run_one_scan_loop(); + + right_shift.release(); // Release both. + run_one_scan_loop(); + left_shift.release(); + run_one_scan_loop(); + + EXPECT_EQ(is_caps_word_on(), true); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// clang-format off +INSTANTIATE_TEST_CASE_P( + ShiftPairs, + CapsWordBothShifts, + ::testing::Values( + CapsWordBothShiftsParams{ + "PlainShifts", KC_LSFT, KC_RSFT}, + CapsWordBothShiftsParams{ + "OneshotShifts", OSM(MOD_LSFT), OSM(MOD_RSFT)}, + CapsWordBothShiftsParams{ + "SpaceCadetShifts", KC_LSPO, KC_RSPC}, + CapsWordBothShiftsParams{ + "ModTapShifts", LSFT_T(KC_A), RSFT_T(KC_B)} + ), + CapsWordBothShiftsParams::GetName + ); +// clang-format on + +struct CapsWordDoubleTapShiftParams { + std::string name; + uint16_t left_shift_keycode; + + static const std::string& GetName(const TestParamInfo& info) { + return info.param.name; + } +}; + +// Tests the DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD method to turn on Caps Word. +class CapsWordDoubleTapShift : public ::testing::WithParamInterface, public CapsWord {}; + +// Tests that double tapping activates Caps Word. +TEST_P(CapsWordDoubleTapShift, Activation) { + TestDriver driver; + KeymapKey left_shift(0, 0, 0, GetParam().left_shift_keycode); + set_keymap({left_shift}); + + // clang-format off + EXPECT_CALL(driver, send_keyboard_mock(AnyOf( + KeyboardReport(), + KeyboardReport(KC_LSFT)))) + .Times(AnyNumber()); + // clang-format on + + EXPECT_EQ(is_caps_word_on(), false); + + // Tapping shift twice within the tapping term turns on Caps Word. + TapKey(left_shift); + idle_for(TAPPING_TERM - 10); + TapKey(left_shift); + + EXPECT_EQ(is_caps_word_on(), true); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Double tap doesn't count if another key is pressed between the taps. +TEST_P(CapsWordDoubleTapShift, Interrupted) { + TestDriver driver; + KeymapKey left_shift(0, 0, 0, GetParam().left_shift_keycode); + KeymapKey key_a(0, 1, 0, KC_A); + set_keymap({left_shift, key_a}); + + // clang-format off + EXPECT_CALL(driver, send_keyboard_mock(AnyOf( + KeyboardReport(), + KeyboardReport(KC_LSFT), + KeyboardReport(KC_LSFT, KC_A)))) + .Times(AnyNumber()); + // clang-format on + + left_shift.press(); + run_one_scan_loop(); + + TapKey(key_a); // 'A' key interrupts the double tap. + + left_shift.release(); + run_one_scan_loop(); + + idle_for(TAPPING_TERM - 10); + TapKey(left_shift); + + EXPECT_EQ(is_caps_word_on(), false); // Caps Word is still off. + clear_oneshot_mods(); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Double tap doesn't count if taps are more than tapping term apart. +TEST_P(CapsWordDoubleTapShift, SlowTaps) { + TestDriver driver; + KeymapKey left_shift(0, 0, 0, GetParam().left_shift_keycode); + set_keymap({left_shift}); + + // clang-format off + EXPECT_CALL(driver, send_keyboard_mock(AnyOf( + KeyboardReport(), + KeyboardReport(KC_LSFT)))) + .Times(AnyNumber()); + // clang-format on + + TapKey(left_shift); + idle_for(TAPPING_TERM + 1); + TapKey(left_shift); + + EXPECT_EQ(is_caps_word_on(), false); // Caps Word is still off. + clear_oneshot_mods(); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// clang-format off +INSTANTIATE_TEST_CASE_P( + Shifts, + CapsWordDoubleTapShift, + ::testing::Values( + CapsWordDoubleTapShiftParams{"PlainShift", KC_LSFT}, + CapsWordDoubleTapShiftParams{"OneshotShift", OSM(MOD_LSFT)} + ), + CapsWordDoubleTapShiftParams::GetName + ); +// clang-format on From 2f9197cfcdd11a661cdc1877a8dee9015c4f18de Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 14 May 2022 09:14:19 -0700 Subject: [PATCH 0674/1832] F13 TKL with Split Backspace and Split Right Shift Community Layouts (#17082) * add tkl_f13_ansi_split_bs_rshift Community Layout * add tkl_f13_ansi_tsangan_split_bs_rshift Community Layout * add tkl_f13_iso_split_bs_rshift Community Layout * add tkl_f13_iso_tsangan_split_bs_rshift Community Layout --- layouts/default/readme.md | 72 ++++++++++++ .../keymap.c | 32 ++++++ .../tkl_f13_ansi_split_bs_rshift/info.json | 106 +++++++++++++++++ .../tkl_f13_ansi_split_bs_rshift/layout.json | 6 + .../tkl_f13_ansi_split_bs_rshift/readme.md | 5 + .../keymap.c | 32 ++++++ .../info.json | 105 +++++++++++++++++ .../layout.json | 6 + .../readme.md | 5 + .../keymap.c | 32 ++++++ .../tkl_f13_iso_split_bs_rshift/info.json | 107 ++++++++++++++++++ .../tkl_f13_iso_split_bs_rshift/layout.json | 6 + .../tkl_f13_iso_split_bs_rshift/readme.md | 5 + .../keymap.c | 32 ++++++ .../info.json | 106 +++++++++++++++++ .../layout.json | 6 + .../readme.md | 5 + 17 files changed, 668 insertions(+) create mode 100644 layouts/default/tkl_f13_ansi_split_bs_rshift/default_tkl_f13_ansi_split_bs_rshift/keymap.c create mode 100644 layouts/default/tkl_f13_ansi_split_bs_rshift/info.json create mode 100644 layouts/default/tkl_f13_ansi_split_bs_rshift/layout.json create mode 100644 layouts/default/tkl_f13_ansi_split_bs_rshift/readme.md create mode 100644 layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/default_tkl_f13_ansi_tsangan_split_bs_rshift/keymap.c create mode 100644 layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/info.json create mode 100644 layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/layout.json create mode 100644 layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/readme.md create mode 100644 layouts/default/tkl_f13_iso_split_bs_rshift/default_tkl_f13_iso_split_bs_rshift/keymap.c create mode 100644 layouts/default/tkl_f13_iso_split_bs_rshift/info.json create mode 100644 layouts/default/tkl_f13_iso_split_bs_rshift/layout.json create mode 100644 layouts/default/tkl_f13_iso_split_bs_rshift/readme.md create mode 100644 layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/default_tkl_f13_iso_tsangan_split_bs_rshift/keymap.c create mode 100644 layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/info.json create mode 100644 layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/layout.json create mode 100644 layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/readme.md diff --git a/layouts/default/readme.md b/layouts/default/readme.md index 648afcd70be0..f414282e8094 100644 --- a/layouts/default/readme.md +++ b/layouts/default/readme.md @@ -488,6 +488,24 @@ LAYOUT_tkl_f13_ansi └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ ``` +``` +LAYOUT_tkl_f13_ansi_split_bs_rshift +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐ +│ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ │ │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ +``` + ``` LAYOUT_tkl_f13_ansi_tsangan ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐ @@ -506,6 +524,24 @@ LAYOUT_tkl_f13_ansi_tsangan └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘ ``` +``` +LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ +│ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───┐ +│ │ │ │ │ │ │ ││ │ │ │ +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘ +``` + ``` LAYOUT_tkl_f13_iso ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐ @@ -524,6 +560,24 @@ LAYOUT_tkl_f13_iso └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ ``` +``` +LAYOUT_tkl_f13_iso_split_bs_rshift +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ +│ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │└───┴───┴───┘ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ ┌───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│ │ │ │ │ │ │ │ ││ │ │ │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +``` + ``` LAYOUT_tkl_f13_iso_tsangan ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐ @@ -542,6 +596,24 @@ LAYOUT_tkl_f13_iso_tsangan └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘ ``` +``` +LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ +│ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │└───┴───┴───┘ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ ┌───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───┐ +│ │ │ │ │ │ │ ││ │ │ │ +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘ +``` + ``` LAYOUT_tkl_nofrow_ansi ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ diff --git a/layouts/default/tkl_f13_ansi_split_bs_rshift/default_tkl_f13_ansi_split_bs_rshift/keymap.c b/layouts/default/tkl_f13_ansi_split_bs_rshift/default_tkl_f13_ansi_split_bs_rshift/keymap.c new file mode 100644 index 000000000000..3901e6182344 --- /dev/null +++ b/layouts/default/tkl_f13_ansi_split_bs_rshift/default_tkl_f13_ansi_split_bs_rshift/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2022 QMK / James Young (@noroadsleft) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ + * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp││Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ ││Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ │ │ ↑ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl││ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ + */ + [0] = LAYOUT_tkl_f13_ansi_split_bs_rshift( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/layouts/default/tkl_f13_ansi_split_bs_rshift/info.json b/layouts/default/tkl_f13_ansi_split_bs_rshift/info.json new file mode 100644 index 000000000000..cce79a3de808 --- /dev/null +++ b/layouts/default/tkl_f13_ansi_split_bs_rshift/info.json @@ -0,0 +1,106 @@ +{ + "keyboard_name": "Tenkeyless ANSI layout with F13 key, split Backspace, and split Right Shift", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_tkl_f13_ansi_split_bs_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.25, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + {"x":4, "y":1.25}, + {"x":5, "y":1.25}, + {"x":6, "y":1.25}, + {"x":7, "y":1.25}, + {"x":8, "y":1.25}, + {"x":9, "y":1.25}, + {"x":10, "y":1.25}, + {"x":11, "y":1.25}, + {"x":12, "y":1.25}, + {"x":13, "y":1.25}, + {"x":14, "y":1.25}, + {"x":15.25, "y":1.25}, + {"x":16.25, "y":1.25}, + {"x":17.25, "y":1.25}, + + {"x":0, "y":2.25, "w":1.5}, + {"x":1.5, "y":2.25}, + {"x":2.5, "y":2.25}, + {"x":3.5, "y":2.25}, + {"x":4.5, "y":2.25}, + {"x":5.5, "y":2.25}, + {"x":6.5, "y":2.25}, + {"x":7.5, "y":2.25}, + {"x":8.5, "y":2.25}, + {"x":9.5, "y":2.25}, + {"x":10.5, "y":2.25}, + {"x":11.5, "y":2.25}, + {"x":12.5, "y":2.25}, + {"x":13.5, "y":2.25, "w":1.5}, + {"x":15.25, "y":2.25}, + {"x":16.25, "y":2.25}, + {"x":17.25, "y":2.25}, + + {"x":0, "y":3.25, "w":1.75}, + {"x":1.75, "y":3.25}, + {"x":2.75, "y":3.25}, + {"x":3.75, "y":3.25}, + {"x":4.75, "y":3.25}, + {"x":5.75, "y":3.25}, + {"x":6.75, "y":3.25}, + {"x":7.75, "y":3.25}, + {"x":8.75, "y":3.25}, + {"x":9.75, "y":3.25}, + {"x":10.75, "y":3.25}, + {"x":11.75, "y":3.25}, + {"x":12.75, "y":3.25, "w":2.25}, + + {"x":0, "y":4.25, "w":2.25}, + {"x":2.25, "y":4.25}, + {"x":3.25, "y":4.25}, + {"x":4.25, "y":4.25}, + {"x":5.25, "y":4.25}, + {"x":6.25, "y":4.25}, + {"x":7.25, "y":4.25}, + {"x":8.25, "y":4.25}, + {"x":9.25, "y":4.25}, + {"x":10.25, "y":4.25}, + {"x":11.25, "y":4.25}, + {"x":12.25, "y":4.25, "w":1.75}, + {"x":14, "y":4.25}, + {"x":16.25, "y":4.25}, + + {"x":0, "y":5.25, "w":1.25}, + {"x":1.25, "y":5.25, "w":1.25}, + {"x":2.5, "y":5.25, "w":1.25}, + {"x":3.75, "y":5.25, "w":6.25}, + {"x":10, "y":5.25, "w":1.25}, + {"x":11.25, "y":5.25, "w":1.25}, + {"x":12.5, "y":5.25, "w":1.25}, + {"x":13.75, "y":5.25, "w":1.25}, + {"x":15.25, "y":5.25}, + {"x":16.25, "y":5.25}, + {"x":17.25, "y":5.25} + ] + } + } +} diff --git a/layouts/default/tkl_f13_ansi_split_bs_rshift/layout.json b/layouts/default/tkl_f13_ansi_split_bs_rshift/layout.json new file mode 100644 index 000000000000..c05ae7aa3570 --- /dev/null +++ b/layouts/default/tkl_f13_ansi_split_bs_rshift/layout.json @@ -0,0 +1,6 @@ +[{a:7},"",{x:0.25},"","","","",{x:0.25},"","","","",{x:0.25},"","","","",{x:0.25},"",{x:0.25},"","",""], +[{y:0.25},"","","","","","","","","","","","","","","",{x:0.25},"","",""], +[{w:1.5},"","","","","","","","","","","","","",{w:1.5},"",{x:0.25},"","",""], +[{w:1.75},"","","","","","","","","","","","",{w:2.25},""], +[{w:2.25},"","","","","","","","","","","",{w:1.75},"","",{x:1.25},""], +[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{x:0.25},"","",""] diff --git a/layouts/default/tkl_f13_ansi_split_bs_rshift/readme.md b/layouts/default/tkl_f13_ansi_split_bs_rshift/readme.md new file mode 100644 index 000000000000..067c58ac0e95 --- /dev/null +++ b/layouts/default/tkl_f13_ansi_split_bs_rshift/readme.md @@ -0,0 +1,5 @@ +# tkl_f13_ansi_split_bs_rshift + + LAYOUT_tkl_f13_ansi_split_bs_rshift + +An ANSI TKL layout featuring an F13 key, split Backspace, and split Right Shift. diff --git a/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/default_tkl_f13_ansi_tsangan_split_bs_rshift/keymap.c b/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/default_tkl_f13_ansi_tsangan_split_bs_rshift/keymap.c new file mode 100644 index 000000000000..6df28141b38d --- /dev/null +++ b/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/default_tkl_f13_ansi_tsangan_split_bs_rshift/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2022 QMK / James Young (@noroadsleft) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ + * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp││Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ ││Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │ │ │ ↑ │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───┐ + * │Ctrl │GUI│Alt │ │ Alt│App│ Ctrl││ ← │ ↓ │ → │ + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘ + */ + [0] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/info.json b/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/info.json new file mode 100644 index 000000000000..a6663f37a582 --- /dev/null +++ b/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/info.json @@ -0,0 +1,105 @@ +{ + "keyboard_name": "Tenkeyless ANSI layout with F13 key, split Backspace, split Right Shift, and Tsangan Bottom Row", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.25, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + {"x":4, "y":1.25}, + {"x":5, "y":1.25}, + {"x":6, "y":1.25}, + {"x":7, "y":1.25}, + {"x":8, "y":1.25}, + {"x":9, "y":1.25}, + {"x":10, "y":1.25}, + {"x":11, "y":1.25}, + {"x":12, "y":1.25}, + {"x":13, "y":1.25}, + {"x":14, "y":1.25}, + {"x":15.25, "y":1.25}, + {"x":16.25, "y":1.25}, + {"x":17.25, "y":1.25}, + + {"x":0, "y":2.25, "w":1.5}, + {"x":1.5, "y":2.25}, + {"x":2.5, "y":2.25}, + {"x":3.5, "y":2.25}, + {"x":4.5, "y":2.25}, + {"x":5.5, "y":2.25}, + {"x":6.5, "y":2.25}, + {"x":7.5, "y":2.25}, + {"x":8.5, "y":2.25}, + {"x":9.5, "y":2.25}, + {"x":10.5, "y":2.25}, + {"x":11.5, "y":2.25}, + {"x":12.5, "y":2.25}, + {"x":13.5, "y":2.25, "w":1.5}, + {"x":15.25, "y":2.25}, + {"x":16.25, "y":2.25}, + {"x":17.25, "y":2.25}, + + {"x":0, "y":3.25, "w":1.75}, + {"x":1.75, "y":3.25}, + {"x":2.75, "y":3.25}, + {"x":3.75, "y":3.25}, + {"x":4.75, "y":3.25}, + {"x":5.75, "y":3.25}, + {"x":6.75, "y":3.25}, + {"x":7.75, "y":3.25}, + {"x":8.75, "y":3.25}, + {"x":9.75, "y":3.25}, + {"x":10.75, "y":3.25}, + {"x":11.75, "y":3.25}, + {"x":12.75, "y":3.25, "w":2.25}, + + {"x":0, "y":4.25, "w":2.25}, + {"x":2.25, "y":4.25}, + {"x":3.25, "y":4.25}, + {"x":4.25, "y":4.25}, + {"x":5.25, "y":4.25}, + {"x":6.25, "y":4.25}, + {"x":7.25, "y":4.25}, + {"x":8.25, "y":4.25}, + {"x":9.25, "y":4.25}, + {"x":10.25, "y":4.25}, + {"x":11.25, "y":4.25}, + {"x":12.25, "y":4.25, "w":1.75}, + {"x":14, "y":4.25}, + {"x":16.25, "y":4.25}, + + {"x":0, "y":5.25, "w":1.5}, + {"x":1.5, "y":5.25}, + {"x":2.5, "y":5.25, "w":1.5}, + {"x":4, "y":5.25, "w":7}, + {"x":11, "y":5.25, "w":1.5}, + {"x":12.5, "y":5.25}, + {"x":13.5, "y":5.25, "w":1.5}, + {"x":15.25, "y":5.25}, + {"x":16.25, "y":5.25}, + {"x":17.25, "y":5.25} + ] + } + } +} diff --git a/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/layout.json b/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/layout.json new file mode 100644 index 000000000000..d54d10884370 --- /dev/null +++ b/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/layout.json @@ -0,0 +1,6 @@ +[{a:7},"",{x:0.25},"","","","",{x:0.25},"","","","",{x:0.25},"","","","",{x:0.25},"",{x:0.25},"","",""], +[{y:0.25},"","","","","","","","","","","","","","","",{x:0.25},"","",""], +[{w:1.5},"","","","","","","","","","","","","",{w:1.5},"",{x:0.25},"","",""], +[{w:1.75},"","","","","","","","","","","","",{w:2.25},""], +[{w:2.25},"","","","","","","","","","","",{w:1.75},"","",{x:1.25},""], +[{w:1.5},"","",{w:1.5},"",{w:7},"",{w:1.5},"","",{w:1.5},"",{x:0.25},"","",""] diff --git a/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/readme.md b/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/readme.md new file mode 100644 index 000000000000..9a5177dbbde9 --- /dev/null +++ b/layouts/default/tkl_f13_ansi_tsangan_split_bs_rshift/readme.md @@ -0,0 +1,5 @@ +# tkl_f13_ansi_tsangan_split_bs_rshift + + LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift + +An ANSI TKL layout featuring an F13 key, split Backspace, split Right Shift, and Tsangan bottom row. diff --git a/layouts/default/tkl_f13_iso_split_bs_rshift/default_tkl_f13_iso_split_bs_rshift/keymap.c b/layouts/default/tkl_f13_iso_split_bs_rshift/default_tkl_f13_iso_split_bs_rshift/keymap.c new file mode 100644 index 000000000000..7520f16d018e --- /dev/null +++ b/layouts/default/tkl_f13_iso_split_bs_rshift/default_tkl_f13_iso_split_bs_rshift/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2022 QMK / James Young (@noroadsleft) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ + * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp││Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ ││Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│└───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ ┌───┐ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ │ │ ↑ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl││ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ + */ + [0] = LAYOUT_tkl_f13_iso_split_bs_rshift( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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_DEL, KC_END, KC_PGDN, + 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_NUHS, KC_ENT, + 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/layouts/default/tkl_f13_iso_split_bs_rshift/info.json b/layouts/default/tkl_f13_iso_split_bs_rshift/info.json new file mode 100644 index 000000000000..eb908e5420fb --- /dev/null +++ b/layouts/default/tkl_f13_iso_split_bs_rshift/info.json @@ -0,0 +1,107 @@ +{ + "keyboard_name": "Tenkeyless ISO layout with F13 key, split Backspace, and split Right Shift", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_tkl_f13_iso_split_bs_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.25, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + {"x":4, "y":1.25}, + {"x":5, "y":1.25}, + {"x":6, "y":1.25}, + {"x":7, "y":1.25}, + {"x":8, "y":1.25}, + {"x":9, "y":1.25}, + {"x":10, "y":1.25}, + {"x":11, "y":1.25}, + {"x":12, "y":1.25}, + {"x":13, "y":1.25}, + {"x":14, "y":1.25}, + {"x":15.25, "y":1.25}, + {"x":16.25, "y":1.25}, + {"x":17.25, "y":1.25}, + + {"x":0, "y":2.25, "w":1.5}, + {"x":1.5, "y":2.25}, + {"x":2.5, "y":2.25}, + {"x":3.5, "y":2.25}, + {"x":4.5, "y":2.25}, + {"x":5.5, "y":2.25}, + {"x":6.5, "y":2.25}, + {"x":7.5, "y":2.25}, + {"x":8.5, "y":2.25}, + {"x":9.5, "y":2.25}, + {"x":10.5, "y":2.25}, + {"x":11.5, "y":2.25}, + {"x":12.5, "y":2.25}, + {"x":15.25, "y":2.25}, + {"x":16.25, "y":2.25}, + {"x":17.25, "y":2.25}, + + {"x":0, "y":3.25, "w":1.75}, + {"x":1.75, "y":3.25}, + {"x":2.75, "y":3.25}, + {"x":3.75, "y":3.25}, + {"x":4.75, "y":3.25}, + {"x":5.75, "y":3.25}, + {"x":6.75, "y":3.25}, + {"x":7.75, "y":3.25}, + {"x":8.75, "y":3.25}, + {"x":9.75, "y":3.25}, + {"x":10.75, "y":3.25}, + {"x":11.75, "y":3.25}, + {"x":12.75, "y":3.25}, + {"x":13.75, "y":2.25, "w":1.25, "h":2}, + + {"x":0, "y":4.25, "w":1.25}, + {"x":1.25, "y":4.25}, + {"x":2.25, "y":4.25}, + {"x":3.25, "y":4.25}, + {"x":4.25, "y":4.25}, + {"x":5.25, "y":4.25}, + {"x":6.25, "y":4.25}, + {"x":7.25, "y":4.25}, + {"x":8.25, "y":4.25}, + {"x":9.25, "y":4.25}, + {"x":10.25, "y":4.25}, + {"x":11.25, "y":4.25}, + {"x":12.25, "y":4.25, "w":1.75}, + {"x":14, "y":4.25}, + {"x":16.25, "y":4.25}, + + {"x":0, "y":5.25, "w":1.25}, + {"x":1.25, "y":5.25, "w":1.25}, + {"x":2.5, "y":5.25, "w":1.25}, + {"x":3.75, "y":5.25, "w":6.25}, + {"x":10, "y":5.25, "w":1.25}, + {"x":11.25, "y":5.25, "w":1.25}, + {"x":12.5, "y":5.25, "w":1.25}, + {"x":13.75, "y":5.25, "w":1.25}, + {"x":15.25, "y":5.25}, + {"x":16.25, "y":5.25}, + {"x":17.25, "y":5.25} + ] + } + } +} diff --git a/layouts/default/tkl_f13_iso_split_bs_rshift/layout.json b/layouts/default/tkl_f13_iso_split_bs_rshift/layout.json new file mode 100644 index 000000000000..e810a9ebbeb2 --- /dev/null +++ b/layouts/default/tkl_f13_iso_split_bs_rshift/layout.json @@ -0,0 +1,6 @@ +[{a:7},"",{x:0.25},"","","","",{x:0.25},"","","","",{x:0.25},"","","","",{x:0.25},"",{x:0.25},"","",""], +[{y:0.25},"","","","","","","","","","","","","","","",{x:0.25},"","",""], +[{w:1.5},"","","","","","","","","","","","","",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"",{x:0.25},"","",""], +[{w:1.75},"","","","","","","","","","","","",""], +[{w:1.25},"","","","","","","","","","","","",{w:1.75},"","",{x:1.25},""], +[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{x:0.25},"","",""] diff --git a/layouts/default/tkl_f13_iso_split_bs_rshift/readme.md b/layouts/default/tkl_f13_iso_split_bs_rshift/readme.md new file mode 100644 index 000000000000..e983f60d1e2c --- /dev/null +++ b/layouts/default/tkl_f13_iso_split_bs_rshift/readme.md @@ -0,0 +1,5 @@ +# tkl_f13_iso_split_bs_rshift + + LAYOUT_tkl_f13_iso_split_bs_rshift + +An ISO TKL layout featuring an F13 key, split Backspace, and split Right Shift. diff --git a/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/default_tkl_f13_iso_tsangan_split_bs_rshift/keymap.c b/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/default_tkl_f13_iso_tsangan_split_bs_rshift/keymap.c new file mode 100644 index 000000000000..691836cb2d0c --- /dev/null +++ b/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/default_tkl_f13_iso_tsangan_split_bs_rshift/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2022 QMK / James Young (@noroadsleft) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ + * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp││Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ ││Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│└───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ ┌───┐ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ │ │ ↑ │ + * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───┐ + * │Ctrl │GUI│Alt │ │ Alt│App│ Ctrl││ ← │ ↓ │ → │ + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘ + */ + [0] = LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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_DEL, KC_END, KC_PGDN, + 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_NUHS, KC_ENT, + 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/info.json b/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/info.json new file mode 100644 index 000000000000..b4fa2f8560d7 --- /dev/null +++ b/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/info.json @@ -0,0 +1,106 @@ +{ + "keyboard_name": "Tenkeyless ISO layout with F13 key, split Backspace, split Right Shift, and Tsangan Bottom Row", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.25, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + {"x":4, "y":1.25}, + {"x":5, "y":1.25}, + {"x":6, "y":1.25}, + {"x":7, "y":1.25}, + {"x":8, "y":1.25}, + {"x":9, "y":1.25}, + {"x":10, "y":1.25}, + {"x":11, "y":1.25}, + {"x":12, "y":1.25}, + {"x":13, "y":1.25}, + {"x":14, "y":1.25}, + {"x":15.25, "y":1.25}, + {"x":16.25, "y":1.25}, + {"x":17.25, "y":1.25}, + + {"x":0, "y":2.25, "w":1.5}, + {"x":1.5, "y":2.25}, + {"x":2.5, "y":2.25}, + {"x":3.5, "y":2.25}, + {"x":4.5, "y":2.25}, + {"x":5.5, "y":2.25}, + {"x":6.5, "y":2.25}, + {"x":7.5, "y":2.25}, + {"x":8.5, "y":2.25}, + {"x":9.5, "y":2.25}, + {"x":10.5, "y":2.25}, + {"x":11.5, "y":2.25}, + {"x":12.5, "y":2.25}, + {"x":15.25, "y":2.25}, + {"x":16.25, "y":2.25}, + {"x":17.25, "y":2.25}, + + {"x":0, "y":3.25, "w":1.75}, + {"x":1.75, "y":3.25}, + {"x":2.75, "y":3.25}, + {"x":3.75, "y":3.25}, + {"x":4.75, "y":3.25}, + {"x":5.75, "y":3.25}, + {"x":6.75, "y":3.25}, + {"x":7.75, "y":3.25}, + {"x":8.75, "y":3.25}, + {"x":9.75, "y":3.25}, + {"x":10.75, "y":3.25}, + {"x":11.75, "y":3.25}, + {"x":12.75, "y":3.25}, + {"x":13.75, "y":2.25, "w":1.25, "h":2}, + + {"x":0, "y":4.25, "w":1.25}, + {"x":1.25, "y":4.25}, + {"x":2.25, "y":4.25}, + {"x":3.25, "y":4.25}, + {"x":4.25, "y":4.25}, + {"x":5.25, "y":4.25}, + {"x":6.25, "y":4.25}, + {"x":7.25, "y":4.25}, + {"x":8.25, "y":4.25}, + {"x":9.25, "y":4.25}, + {"x":10.25, "y":4.25}, + {"x":11.25, "y":4.25}, + {"x":12.25, "y":4.25, "w":1.75}, + {"x":14, "y":4.25}, + {"x":16.25, "y":4.25}, + + {"x":0, "y":5.25, "w":1.5}, + {"x":1.5, "y":5.25}, + {"x":2.5, "y":5.25, "w":1.5}, + {"x":4, "y":5.25, "w":7}, + {"x":11, "y":5.25, "w":1.5}, + {"x":12.5, "y":5.25}, + {"x":13.5, "y":5.25, "w":1.5}, + {"x":15.25, "y":5.25}, + {"x":16.25, "y":5.25}, + {"x":17.25, "y":5.25} + ] + } + } +} diff --git a/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/layout.json b/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/layout.json new file mode 100644 index 000000000000..0cf57253034a --- /dev/null +++ b/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/layout.json @@ -0,0 +1,6 @@ +[{a:7},"",{x:0.25},"","","","",{x:0.25},"","","","",{x:0.25},"","","","",{x:0.25},"",{x:0.25},"","",""], +[{y:0.25},"","","","","","","","","","","","","","","",{x:0.25},"","",""], +[{w:1.5},"","","","","","","","","","","","","",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"",{x:0.25},"","",""], +[{w:1.75},"","","","","","","","","","","","",""], +[{w:1.25},"","","","","","","","","","","","",{w:1.75},"","",{x:1.25},""], +[{w:1.5},"","",{w:1.5},"",{w:7},"",{w:1.5},"","",{w:1.5},"",{x:0.25},"","",""] diff --git a/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/readme.md b/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/readme.md new file mode 100644 index 000000000000..6888ebbe5304 --- /dev/null +++ b/layouts/default/tkl_f13_iso_tsangan_split_bs_rshift/readme.md @@ -0,0 +1,5 @@ +# tkl_f13_iso_tsangan_split_bs_rshift + + LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift + +An ISO TKL layout featuring an F13 key, split Backspace, split Right Shift, and Tsangan bottom row. From cd8d2b7f7f0611f04b503479181fd7e9acbe8358 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 14 May 2022 13:03:07 -0700 Subject: [PATCH 0675/1832] Revert "Fix kinetic mouse mode (#16951)" (#17095) --- quantum/mousekey.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/quantum/mousekey.c b/quantum/mousekey.c index a15bd8f13edf..64d0e6668205 100644 --- a/quantum/mousekey.c +++ b/quantum/mousekey.c @@ -66,16 +66,11 @@ uint8_t mk_time_to_max = MOUSEKEY_TIME_TO_MAX; /* milliseconds between the initial key press and first repeated motion event (0-2550) */ uint8_t mk_wheel_delay = MOUSEKEY_WHEEL_DELAY / 10; /* milliseconds between repeated motion events (0-255) */ -# ifndef MK_KINETIC_SPEED -uint8_t mk_wheel_interval = MOUSEKEY_WHEEL_INTERVAL; -# else /* #ifndef MK_KINETIC_SPEED */ -float mk_wheel_interval = 1000.0f / MOUSEKEY_WHEEL_INITIAL_MOVEMENTS; -# endif /* #ifndef MK_KINETIC_SPEED */ +uint8_t mk_wheel_interval = MOUSEKEY_WHEEL_INTERVAL; uint8_t mk_wheel_max_speed = MOUSEKEY_WHEEL_MAX_SPEED; uint8_t mk_wheel_time_to_max = MOUSEKEY_WHEEL_TIME_TO_MAX; # ifndef MK_COMBINED -# ifndef MK_KINETIC_SPEED static uint8_t move_unit(void) { uint16_t unit; @@ -113,7 +108,8 @@ static uint8_t wheel_unit(void) { return (unit > MOUSEKEY_WHEEL_MAX ? MOUSEKEY_WHEEL_MAX : (unit == 0 ? 1 : unit)); } -# else /* #ifndef MK_KINETIC_SPEED */ +# else /* #ifndef MK_COMBINED */ +# ifdef MK_KINETIC_SPEED /* * Kinetic movement acceleration algorithm @@ -133,7 +129,7 @@ const uint16_t mk_decelerated_speed = MOUSEKEY_DECELERATED_SPEED; const uint16_t mk_initial_speed = MOUSEKEY_INITIAL_SPEED; static uint8_t move_unit(void) { - float speed = (float)mk_initial_speed; + float speed = mk_initial_speed; if (mousekey_accel & ((1 << 0) | (1 << 2))) { speed = mousekey_accel & (1 << 2) ? mk_accelerated_speed : mk_decelerated_speed; @@ -151,6 +147,8 @@ static uint8_t move_unit(void) { return speed > MOUSEKEY_MOVE_MAX ? MOUSEKEY_MOVE_MAX : speed; } +float mk_wheel_interval = 1000.0f / MOUSEKEY_WHEEL_INITIAL_MOVEMENTS; + static uint8_t wheel_unit(void) { float speed = MOUSEKEY_WHEEL_INITIAL_MOVEMENTS; @@ -169,8 +167,7 @@ static uint8_t wheel_unit(void) { return 1; } -# endif /* #ifndef MK_KINETIC_SPEED */ -# else /* #ifndef MK_COMBINED */ +# else /* #ifndef MK_KINETIC_SPEED */ static uint8_t move_unit(void) { uint16_t unit; @@ -208,7 +205,8 @@ static uint8_t wheel_unit(void) { return (unit > MOUSEKEY_WHEEL_MAX ? MOUSEKEY_WHEEL_MAX : (unit == 0 ? 1 : unit)); } -# endif /* #ifndef MK_COMBINED */ +# endif /* #ifndef MK_KINETIC_SPEED */ +# endif /* #ifndef MK_COMBINED */ void mousekey_task(void) { // report cursor and scroll movement independently From 24f378e6c3d35f7001f81b7d8c217ef034f5fe30 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 14 May 2022 14:21:31 -0700 Subject: [PATCH 0676/1832] Clickety Split Leeloo: QMK Configurator Fixes (#17093) * info.json: fix key sequence error * info.json: fix visual rendering Clarify the physical locations of the keys. * info.json: update maintainer field This field is meant to reference the maintainer's GitHub username. --- keyboards/clickety_split/leeloo/info.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/keyboards/clickety_split/leeloo/info.json b/keyboards/clickety_split/leeloo/info.json index 40447d3f9303..5473292d14e5 100644 --- a/keyboards/clickety_split/leeloo/info.json +++ b/keyboards/clickety_split/leeloo/info.json @@ -1,7 +1,7 @@ { "keyboard_name": "Leeloo", "url": "https://clicketysplit.ca/pages/leeloo", - "maintainer": "Clickety Split Ltd", + "maintainer": "ClicketySplit", "layouts": { "LAYOUT": { "layout": [ @@ -53,7 +53,9 @@ {"label":"C", "x":3, "y":3.0}, {"label":"V", "x":4, "y":3.2}, {"label":"B", "x":5, "y":3.4}, + {"label":"GUI", "x":6.25, "y":3.4}, + {"label":"GUI", "x":7.75, "y":3.4}, {"label":"N", "x":9, "y":3.4}, {"label":"M", "x":10, "y":3.2}, {"label":",", "x":11, "y":3.0}, @@ -63,13 +65,11 @@ {"label":"Alt", "x":2.7, "y":4.6}, {"label":"Ctrl", "x":3.8, "y":4.5}, - {"label":"Enter", "x":5.7, "y":3.57}, - {"label":"MINS", "x":7.12, "y":2.96}, - {"label":"GUI", "x":6.25, "y":3.4}, + {"label":"Enter", "x":4.9, "y":4.55}, + {"label":"MINS", "x":6.1, "y":4.65}, - {"label":"GUI", "x":7.75, "y":3.4}, - {"label":"EQL", "x":6.39, "y":6.86}, - {"label":"Space", "x":8.08, "y":6.18}, + {"label":"EQL", "x":7.9, "y":4.65}, + {"label":"Space", "x":9.1, "y":4.55}, {"label":"Back Space", "x":10.2, "y":4.5}, {"label":"Delete", "x":11.3, "y":4.6} ] From 8c58af39af2374a5ec8d41ef07ada4e717ae5ff2 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 14 May 2022 14:22:39 -0700 Subject: [PATCH 0677/1832] Avalanche: add QMK Configurator data (#17092) * avalanche/v1: add info.json * avalanche/v2: add info.json * avalanche/v3: add info.json --- keyboards/avalanche/v1/info.json | 77 +++++++++++++++++++++++++++++++ keyboards/avalanche/v2/info.json | 79 ++++++++++++++++++++++++++++++++ keyboards/avalanche/v3/info.json | 79 ++++++++++++++++++++++++++++++++ 3 files changed, 235 insertions(+) create mode 100644 keyboards/avalanche/v1/info.json create mode 100644 keyboards/avalanche/v2/info.json create mode 100644 keyboards/avalanche/v3/info.json diff --git a/keyboards/avalanche/v1/info.json b/keyboards/avalanche/v1/info.json new file mode 100644 index 000000000000..907face92285 --- /dev/null +++ b/keyboards/avalanche/v1/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "Avalanche v1", + "url": "https://github.com/vlkv/avalanche", + "maintainer": "vlkv", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"L01", "x":1, "y":0.75}, + {"label":"L02", "x":2, "y":0.75}, + {"label":"L03", "x":3, "y":0.25}, + {"label":"L04", "x":4, "y":0}, + {"label":"L05", "x":5, "y":0.25}, + {"label":"L06", "x":6, "y":0.35}, + {"label":"R06", "x":10, "y":0.35}, + {"label":"R05", "x":11, "y":0.25}, + {"label":"R04", "x":12, "y":0}, + {"label":"R03", "x":13, "y":0.25}, + {"label":"R02", "x":14, "y":0.75}, + {"label":"R01", "x":15, "y":0.75}, + + {"label":"L11", "x":1, "y":1.75}, + {"label":"L12", "x":2, "y":1.75}, + {"label":"L13", "x":3, "y":1.25}, + {"label":"L14", "x":4, "y":1}, + {"label":"L15", "x":5, "y":1.25}, + {"label":"L16", "x":6, "y":1.35}, + {"label":"R16", "x":10, "y":1.35}, + {"label":"R15", "x":11, "y":1.25}, + {"label":"R14", "x":12, "y":1}, + {"label":"R13", "x":13, "y":1.25}, + {"label":"R12", "x":14, "y":1.75}, + {"label":"R11", "x":15, "y":1.75}, + + {"label":"L20", "x":0, "y":2.85}, + {"label":"L21", "x":1, "y":2.75}, + {"label":"L22", "x":2, "y":2.75}, + {"label":"L23", "x":3, "y":2.25}, + {"label":"L24", "x":4, "y":2}, + {"label":"L25", "x":5, "y":2.25}, + {"label":"L26", "x":6, "y":2.35}, + {"label":"L27", "x":7, "y":2.6}, + {"label":"R27", "x":9, "y":2.6}, + {"label":"R26", "x":10, "y":2.35}, + {"label":"R25", "x":11, "y":2.25}, + {"label":"R24", "x":12, "y":2}, + {"label":"R23", "x":13, "y":2.25}, + {"label":"R22", "x":14, "y":2.75}, + {"label":"R21", "x":15, "y":2.75}, + {"label":"R20", "x":16, "y":2.85}, + + {"label":"L31", "x":1, "y":3.75}, + {"label":"L32", "x":2, "y":3.75}, + {"label":"L33", "x":3, "y":3.25}, + {"label":"L34", "x":4, "y":3}, + {"label":"L35", "x":5, "y":3.25}, + {"label":"L36", "x":6, "y":3.35}, + {"label":"L37", "x":7, "y":3.7}, + {"label":"R37", "x":9, "y":3.7}, + {"label":"R36", "x":10, "y":3.35}, + {"label":"R35", "x":11, "y":3.25}, + {"label":"R34", "x":12, "y":3}, + {"label":"R33", "x":13, "y":3.25}, + {"label":"R32", "x":14, "y":3.75}, + {"label":"R31", "x":15, "y":3.75}, + + {"label":"L44", "x":3.5, "y":4.45, "w":1.25}, + {"label":"L45", "x":4.75, "y":4.4, "w":1.25}, + {"label":"L46", "x":6, "y":4.45}, + {"label":"L47", "x":7, "y":4.8}, + {"label":"R47", "x":9, "y":4.8}, + {"label":"R46", "x":10, "y":4.45}, + {"label":"R45", "x":11, "y":4.4, "w":1.25}, + {"label":"R44", "x":12.25, "y":4.45, "w":1.25} + ] + } + } +} diff --git a/keyboards/avalanche/v2/info.json b/keyboards/avalanche/v2/info.json new file mode 100644 index 000000000000..6809c99b4e24 --- /dev/null +++ b/keyboards/avalanche/v2/info.json @@ -0,0 +1,79 @@ +{ + "keyboard_name": "Avalanche v2", + "url": "https://github.com/vlkv/avalanche", + "maintainer": "vlkv", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"L00", "x":1, "y":0.75}, + {"label":"L01", "x":2, "y":0.75}, + {"label":"L02", "x":3, "y":0.25}, + {"label":"L03", "x":4, "y":0}, + {"label":"L04", "x":5, "y":0.25}, + {"label":"L05", "x":6, "y":0.35}, + {"label":"R05", "x":10, "y":0.35}, + {"label":"R04", "x":11, "y":0.25}, + {"label":"R03", "x":12, "y":0}, + {"label":"R02", "x":13, "y":0.25}, + {"label":"R01", "x":14, "y":0.75}, + {"label":"R00", "x":15, "y":0.75}, + + {"label":"L10", "x":1, "y":1.75}, + {"label":"L11", "x":2, "y":1.75}, + {"label":"L12", "x":3, "y":1.25}, + {"label":"L13", "x":4, "y":1}, + {"label":"L14", "x":5, "y":1.25}, + {"label":"L15", "x":6, "y":1.35}, + {"label":"R15", "x":10, "y":1.35}, + {"label":"R14", "x":11, "y":1.25}, + {"label":"R13", "x":12, "y":1}, + {"label":"R12", "x":13, "y":1.25}, + {"label":"R11", "x":14, "y":1.75}, + {"label":"R10", "x":15, "y":1.75}, + + {"label":"L40", "x":0, "y":2.85}, + {"label":"L20", "x":1, "y":2.75}, + {"label":"L21", "x":2, "y":2.75}, + {"label":"L22", "x":3, "y":2.25}, + {"label":"L23", "x":4, "y":2}, + {"label":"L24", "x":5, "y":2.25}, + {"label":"L25", "x":6, "y":2.35}, + {"label":"L26", "x":7, "y":2.6}, + {"label":"R26", "x":9, "y":2.6}, + {"label":"R25", "x":10, "y":2.35}, + {"label":"R24", "x":11, "y":2.25}, + {"label":"R23", "x":12, "y":2}, + {"label":"R22", "x":13, "y":2.25}, + {"label":"R21", "x":14, "y":2.75}, + {"label":"R20", "x":15, "y":2.75}, + {"label":"R40", "x":16, "y":2.85}, + + {"label":"L30", "x":1, "y":3.75}, + {"label":"L31", "x":2, "y":3.75}, + {"label":"L32", "x":3, "y":3.25}, + {"label":"L33", "x":4, "y":3}, + {"label":"L34", "x":5, "y":3.25}, + {"label":"L35", "x":6, "y":3.35}, + {"label":"L36", "x":7, "y":3.7}, + {"label":"R36", "x":9, "y":3.7}, + {"label":"R35", "x":10, "y":3.35}, + {"label":"R34", "x":11, "y":3.25}, + {"label":"R33", "x":12, "y":3}, + {"label":"R32", "x":13, "y":3.25}, + {"label":"R31", "x":14, "y":3.75}, + {"label":"R30", "x":15, "y":3.75}, + + {"label":"L42", "x":3, "y":4.55}, + {"label":"L43", "x":4, "y":4.45}, + {"label":"L44", "x":5, "y":4.4}, + {"label":"L45", "x":6, "y":4.45}, + {"label":"L46", "x":7, "y":4.8}, + {"label":"R46", "x":9, "y":4.8}, + {"label":"R45", "x":10, "y":4.45}, + {"label":"R44", "x":11, "y":4.4}, + {"label":"R43", "x":12, "y":4.45}, + {"label":"R42", "x":13, "y":4.55} + ] + } + } +} diff --git a/keyboards/avalanche/v3/info.json b/keyboards/avalanche/v3/info.json new file mode 100644 index 000000000000..39b8b51b3865 --- /dev/null +++ b/keyboards/avalanche/v3/info.json @@ -0,0 +1,79 @@ +{ + "keyboard_name": "Avalanche v3", + "url": "https://github.com/vlkv/avalanche", + "maintainer": "vlkv", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"L00", "x":1, "y":0.75}, + {"label":"L01", "x":2, "y":0.75}, + {"label":"L02", "x":3, "y":0.25}, + {"label":"L03", "x":4, "y":0}, + {"label":"L04", "x":5, "y":0.25}, + {"label":"L05", "x":6, "y":0.35}, + {"label":"R05", "x":12, "y":0.35}, + {"label":"R04", "x":13, "y":0.25}, + {"label":"R03", "x":14, "y":0}, + {"label":"R02", "x":15, "y":0.25}, + {"label":"R01", "x":16, "y":0.75}, + {"label":"R00", "x":17, "y":0.75}, + + {"label":"L10", "x":1, "y":1.75}, + {"label":"L11", "x":2, "y":1.75}, + {"label":"L12", "x":3, "y":1.25}, + {"label":"L13", "x":4, "y":1}, + {"label":"L14", "x":5, "y":1.25}, + {"label":"L15", "x":6, "y":1.35}, + {"label":"R15", "x":12, "y":1.35}, + {"label":"R14", "x":13, "y":1.25}, + {"label":"R13", "x":14, "y":1}, + {"label":"R12", "x":15, "y":1.25}, + {"label":"R11", "x":16, "y":1.75}, + {"label":"R10", "x":17, "y":1.75}, + + {"label":"L40", "x":0, "y":2.85}, + {"label":"L20", "x":1, "y":2.75}, + {"label":"L21", "x":2, "y":2.75}, + {"label":"L22", "x":3, "y":2.25}, + {"label":"L23", "x":4, "y":2}, + {"label":"L24", "x":5, "y":2.25}, + {"label":"L25", "x":6, "y":2.35}, + {"label":"R25", "x":12, "y":2.35}, + {"label":"R24", "x":13, "y":2.25}, + {"label":"R23", "x":14, "y":2}, + {"label":"R22", "x":15, "y":2.25}, + {"label":"R21", "x":16, "y":2.75}, + {"label":"R20", "x":17, "y":2.75}, + {"label":"R40", "x":18, "y":2.85}, + + {"label":"L30", "x":1, "y":3.75}, + {"label":"L31", "x":2, "y":3.75}, + {"label":"L32", "x":3, "y":3.25}, + {"label":"L33", "x":4, "y":3}, + {"label":"L34", "x":5, "y":3.25}, + {"label":"L35", "x":6, "y":3.35}, + {"label":"L36", "x":7, "y":3.7}, + {"label":"L26", "x":8, "y":4.05}, + {"label":"R26", "x":10, "y":4.05}, + {"label":"R36", "x":11, "y":3.7}, + {"label":"R35", "x":12, "y":3.35}, + {"label":"R34", "x":13, "y":3.25}, + {"label":"R33", "x":14, "y":3}, + {"label":"R32", "x":15, "y":3.25}, + {"label":"R31", "x":16, "y":3.75}, + {"label":"R30", "x":17, "y":3.75}, + + {"label":"L42", "x":3.4, "y":4.55}, + {"label":"L43", "x":4.6, "y":4.45}, + {"label":"L44", "x":5.8, "y":4.4}, + {"label":"L45", "x":7, "y":4.7}, + {"label":"L46", "x":8, "y":5.05}, + {"label":"R46", "x":10, "y":5.05}, + {"label":"R45", "x":11, "y":4.7}, + {"label":"R44", "x":12.2, "y":4.4}, + {"label":"R43", "x":13.4, "y":4.45}, + {"label":"R42", "x":14.6, "y":4.55} + ] + } + } +} From 90a43f98840db96ac41670748326c5067799e95d Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 14 May 2022 14:23:58 -0700 Subject: [PATCH 0678/1832] Axolstudio Foundation Gamma: Community Layout Support (#17080) * LAYOUT_tkl_f13_ansi_tsangan support Renames `LAYOUT_ansi_tsangan` to `LAYOUT_tkl_f13_ansi_tsangan`. Also enables Community Layout support. * LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift support --- .../axolstudio/foundation_gamma/foundation_gamma.h | 4 ++-- keyboards/axolstudio/foundation_gamma/info.json | 10 +++++++--- .../foundation_gamma/keymaps/default/keymap.c | 4 ++-- .../axolstudio/foundation_gamma/keymaps/via/keymap.c | 8 ++++---- keyboards/axolstudio/foundation_gamma/rules.mk | 2 ++ 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/keyboards/axolstudio/foundation_gamma/foundation_gamma.h b/keyboards/axolstudio/foundation_gamma/foundation_gamma.h index 1a96a6d813f6..bf3a45dfb65d 100644 --- a/keyboards/axolstudio/foundation_gamma/foundation_gamma.h +++ b/keyboards/axolstudio/foundation_gamma/foundation_gamma.h @@ -20,7 +20,7 @@ #define ____ KC_NO -#define LAYOUT_all( \ +#define LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( \ k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k213, k114, k115, k116, \ k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k313, k214, k215, k216, \ @@ -36,7 +36,7 @@ { k500, k501, k502, ____, ____, ____, k506, ____, ____, ____, k510, k511, k512, ____, k514, k515, k516 } \ } -#define LAYOUT_ansi_tsangan( \ +#define LAYOUT_tkl_f13_ansi_tsangan( \ k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, \ k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k313, k214, k215, k216, \ diff --git a/keyboards/axolstudio/foundation_gamma/info.json b/keyboards/axolstudio/foundation_gamma/info.json index 62214ce80c81..8845e6ce77df 100644 --- a/keyboards/axolstudio/foundation_gamma/info.json +++ b/keyboards/axolstudio/foundation_gamma/info.json @@ -2,8 +2,12 @@ "keyboard_name": "Foundation Gamma", "url": "https://axolstudio.ca/foundation-gamma", "maintainer": "kb-elmo", + "layout_aliases": { + "LAYOUT_ansi_tsangan": "LAYOUT_tkl_f13_ansi_tsangan", + "LAYOUT_all": "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift" + }, "layouts": { - "LAYOUT_ansi_tsangan": { + "LAYOUT_tkl_f13_ansi_tsangan": { "layout": [ {"x":0, "y":0}, {"x":1.25, "y":0}, @@ -94,7 +98,7 @@ {"x":17.25, "y":5.5} ] }, - "LAYOUT_all": { + "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { "layout": [ {"x":0, "y":0}, {"x":1.25, "y":0}, @@ -188,4 +192,4 @@ ] } } -} \ No newline at end of file +} diff --git a/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c b/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c index 9d354bd1e1f7..819d362ebc48 100644 --- a/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c +++ b/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ansi_tsangan( + [0] = LAYOUT_tkl_f13_ansi_tsangan( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_PSCR, KC_SLCK, KC_PAUS, KC_GRV, 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_INS, KC_HOME, KC_PGUP, 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, KC_PGDN, @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_ansi_tsangan( + [1] = LAYOUT_tkl_f13_ansi_tsangan( 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, 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, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, diff --git a/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c b/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c index e6cad9a87a4d..2b3f8ef373a0 100644 --- a/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c +++ b/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_PSCR, KC_SLCK, KC_PAUS, KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, 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, KC_PGDN, @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_all( + [1] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( 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, 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, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [2] = LAYOUT_all( + [2] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [3] = LAYOUT_all( + [3] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/axolstudio/foundation_gamma/rules.mk b/keyboards/axolstudio/foundation_gamma/rules.mk index a95ad7bcc0f1..ef301d858112 100644 --- a/keyboards/axolstudio/foundation_gamma/rules.mk +++ b/keyboards/axolstudio/foundation_gamma/rules.mk @@ -16,3 +16,5 @@ NKRO_ENABLE = no # Enable N-key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output + +LAYOUTS = tkl_f13_ansi_tsangan tkl_f13_ansi_tsangan_split_bs_rshift From 3a543d899088268127ed17a6b978fd7cc84b566a Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 14 May 2022 14:28:29 -0700 Subject: [PATCH 0679/1832] Eason Capsule65 Community Layout Support (#17090) * capsule65.h: modify matrix diagram Taken from the VIA layout data. * rename LAYOUT to LAYOUT_all * add LAYOUT_65_ansi macro * add LAYOUT_65_ansi_blocker macro * add LAYOUT_65_ansi_blocker_tsangan macro * add LAYOUT_65_ansi_split_bs macro * add LAYOUT_65_ansi_blocker_split_bs macro * add LAYOUT_65_ansi_blocker_tsangan_split_bs macro * add LAYOUT_65_iso macro * add LAYOUT_65_iso_split_bs macro * add LAYOUT_65_iso_blocker macro * add LAYOUT_65_iso_blocker_split_bs macro * add LAYOUT_65_iso_blocker_tsangan macro * add LAYOUT_65_iso_blocker_tsangan_split_bs macro * enable Community Layout support * info.json: update maintainer value This field is meant to reference the maintainer's GitHub username. --- keyboards/eason/capsule65/capsule65.h | 198 +++- keyboards/eason/capsule65/info.json | 919 +++++++++++++++++- .../eason/capsule65/keymaps/default/keymap.c | 4 +- .../eason/capsule65/keymaps/via/keymap.c | 8 +- keyboards/eason/capsule65/rules.mk | 2 + 5 files changed, 1111 insertions(+), 20 deletions(-) diff --git a/keyboards/eason/capsule65/capsule65.h b/keyboards/eason/capsule65/capsule65.h index c7923f122661..69b9662b8134 100644 --- a/keyboards/eason/capsule65/capsule65.h +++ b/keyboards/eason/capsule65/capsule65.h @@ -20,20 +20,26 @@ #define XXX KC_NO -/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤───┤ - * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤───┤ - * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2F │ - * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴┬───────┬───┤───┤ - * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B│3C │3D │3F │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┼───┬───┼───┤───┤ - * │40 │41 │42 │45 │49 │4A │4B │4C │4D │4F │ - * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘───┘ +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ │0D │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐1D │ ISO Enter + * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2F │ │2C │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴┬──┴────┬───┼───┤ └───┴────┘ + * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B│3C │3D │3F │ + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┼───┬───┼───┼───┤ + * │40 │41 │42 │45 │49 │4A │4B │4C │4D │4F │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ + * ┌────┬────┬────┬────────────────────────┬────┬────┐ + * │40 │41 │42 │45 │49 │4A │ Blocker + * └────┴────┴────┴────────────────────────┴────┴────┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┐ + * │40 │41 │42 │45 │4A │ Tsangan + * └─────┴───┴─────┴───────────────────────────┴─────┘ */ -#define LAYOUT( \ +#define LAYOUT_all( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \ @@ -46,3 +52,171 @@ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \ } + +#define LAYOUT_65_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_ansi_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_ansi_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K49, K4A, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_ansi_blocker_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K49, K4A, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_ansi_blocker_tsangan( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K4A, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, XXX, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_ansi_blocker_tsangan_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K4A, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, XXX, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_iso_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_iso_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K49, K4A, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_iso_blocker_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K49, K4A, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_iso_blocker_tsangan( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K4A, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, XXX, K4C, K4D, XXX, K4F }, \ +} + +#define LAYOUT_65_iso_blocker_tsangan_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K41, K42, K45, K4A, K4C, K4D, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, XXX, K4C, K4D, XXX, K4F }, \ +} diff --git a/keyboards/eason/capsule65/info.json b/keyboards/eason/capsule65/info.json index 1783d4f2aec5..cd091b550f98 100644 --- a/keyboards/eason/capsule65/info.json +++ b/keyboards/eason/capsule65/info.json @@ -1,9 +1,12 @@ { "keyboard_name": "CAPSULE65", "url": "", - "maintainer": "eason", + "maintainer": "EasonQian1", + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ { "label": "K00 (F4,D5)", "x": 0, "y": 0 }, { "label": "K01 (F4,D2)", "x": 1, "y": 0 }, @@ -76,6 +79,918 @@ { "label": "K4D (F5,B1)", "x": 14, "y": 4 }, { "label": "K4F (F5,B2)", "x": 15, "y": 4 } ] + }, + "LAYOUT_65_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Fn", "x":10, "y":4}, + {"label":"Ctrl", "x":11, "y":4}, + {"label":"RGB Toggle", "x":12, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Fn", "x":10, "y":4}, + {"label":"Ctrl", "x":11, "y":4}, + {"label":"RGB Toggle", "x":12, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Fn", "x":10, "y":4, "w":1.25}, + {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Fn", "x":10, "y":4, "w":1.25}, + {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"GUI", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Ctrl", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"\\|", "x":13.5, "y":1, "w":1.5}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"GUI", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Ctrl", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2\"", "x":2, "y":0}, + {"label":"3\u00a3", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'@", "x":11.75, "y":2}, + {"label":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Fn", "x":10, "y":4}, + {"label":"Ctrl", "x":11, "y":4}, + {"label":"RGB Toggle", "x":12, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2\"", "x":2, "y":0}, + {"label":"3\u00a3", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'@", "x":11.75, "y":2}, + {"label":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Fn", "x":10, "y":4}, + {"label":"Ctrl", "x":11, "y":4}, + {"label":"RGB Toggle", "x":12, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2\"", "x":2, "y":0}, + {"label":"3\u00a3", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'@", "x":11.75, "y":2}, + {"label":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Fn", "x":10, "y":4, "w":1.25}, + {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2\"", "x":2, "y":0}, + {"label":"3\u00a3", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'@", "x":11.75, "y":2}, + {"label":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Fn", "x":10, "y":4, "w":1.25}, + {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2\"", "x":2, "y":0}, + {"label":"3\u00a3", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'@", "x":11.75, "y":2}, + {"label":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"GUI", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Ctrl", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2\"", "x":2, "y":0}, + {"label":"3\u00a3", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[{", "x":11.5, "y":1}, + {"label":"]}", "x":12.5, "y":1}, + {"label":"End", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";:", "x":10.75, "y":2}, + {"label":"'@", "x":11.75, "y":2}, + {"label":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",<", "x":9.25, "y":3}, + {"label":".>", "x":10.25, "y":3}, + {"label":"/?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"GUI", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Ctrl", "x":11, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] } } } diff --git a/keyboards/eason/capsule65/keymaps/default/keymap.c b/keyboards/eason/capsule65/keymaps/default/keymap.c index 5825f3a8acc8..3f3baafe7288 100644 --- a/keyboards/eason/capsule65/keymaps/default/keymap.c +++ b/keyboards/eason/capsule65/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( 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_HOME, KC_DEL, 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_END, @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, RGB_TOG, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( RESET, 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, 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, RGB_MOD, diff --git a/keyboards/eason/capsule65/keymaps/via/keymap.c b/keyboards/eason/capsule65/keymaps/via/keymap.c index 7df223dcf53b..551ccd3e0ffa 100644 --- a/keyboards/eason/capsule65/keymaps/via/keymap.c +++ b/keyboards/eason/capsule65/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( 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_HOME, KC_DEL, 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_END, @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, RGB_TOG, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( RESET, 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, 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, RGB_MOD, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_VAD, RGB_HUD ), - [2] = LAYOUT( + [2] = LAYOUT_all( RESET, 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, 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, @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [3] = LAYOUT( + [3] = LAYOUT_all( RESET, 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, 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, diff --git a/keyboards/eason/capsule65/rules.mk b/keyboards/eason/capsule65/rules.mk index 744a2725357a..36ea16195b37 100644 --- a/keyboards/eason/capsule65/rules.mk +++ b/keyboards/eason/capsule65/rules.mk @@ -16,3 +16,5 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi 65_ansi_blocker 65_ansi_blocker_split_bs 65_ansi_blocker_tsangan 65_ansi_split_bs 65_iso 65_iso_blocker 65_iso_blocker_split_bs 65_iso_split_bs From db887e63d708925ad759e3504a6bc9ceef4aeb8f Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 14 May 2022 15:07:08 -0700 Subject: [PATCH 0680/1832] Enhancement and fixes of "Secure" feature (#16958) --- quantum/process_keycode/process_secure.c | 10 +- quantum/quantum.c | 13 ++ quantum/quantum_keycodes.h | 1 + quantum/secure.c | 15 ++ quantum/secure.h | 12 + tests/secure/config.h | 32 +++ tests/secure/test.mk | 20 ++ tests/secure/test_secure.cpp | 278 +++++++++++++++++++++++ 8 files changed, 379 insertions(+), 2 deletions(-) create mode 100644 tests/secure/config.h create mode 100644 tests/secure/test.mk create mode 100644 tests/secure/test_secure.cpp diff --git a/quantum/process_keycode/process_secure.c b/quantum/process_keycode/process_secure.c index 827ace597a8c..3224104c99bd 100644 --- a/quantum/process_keycode/process_secure.c +++ b/quantum/process_keycode/process_secure.c @@ -7,7 +7,9 @@ bool preprocess_secure(uint16_t keycode, keyrecord_t *record) { if (secure_is_unlocking()) { - if (!record->event.pressed) { + // !pressed will trigger on any already held keys (such as layer keys), + // and cause the request secure check to prematurely fail. + if (record->event.pressed) { secure_keypress_event(record->event.key.row, record->event.key.col); } @@ -33,7 +35,11 @@ bool process_secure(uint16_t keycode, keyrecord_t *record) { secure_is_locked() ? secure_unlock() : secure_lock(); return false; } + if (keycode == SECURE_REQUEST) { + secure_request_unlock(); + return false; + } } #endif return true; -} \ No newline at end of file +} diff --git a/quantum/quantum.c b/quantum/quantum.c index b54b46760c83..ac3e2d90b4d9 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -571,3 +571,16 @@ const char *get_u16_str(uint16_t curr_num, char curr_pad) { last_pad = curr_pad; return get_numeric_str(buf, sizeof(buf), curr_num, curr_pad); } + +#if defined(SECURE_ENABLE) +void secure_hook_quantum(secure_status_t secure_status) { + // If keys are being held when this is triggered, they may not be released properly + // this can result in stuck keys, mods and layers. To prevent that, manually + // clear these, when it is triggered. + + if (secure_status == SECURE_PENDING) { + clear_keyboard(); + layer_clear(); + } +} +#endif diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 2f8ee2322e86..40355d799af4 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -601,6 +601,7 @@ enum quantum_keycodes { SECURE_LOCK, SECURE_UNLOCK, SECURE_TOGGLE, + SECURE_REQUEST, CAPS_WORD, diff --git a/quantum/secure.c b/quantum/secure.c index 00048bd6dd55..f07f6af2cb28 100644 --- a/quantum/secure.c +++ b/quantum/secure.c @@ -23,17 +23,24 @@ static secure_status_t secure_status = SECURE_LOCKED; static uint32_t unlock_time = 0; static uint32_t idle_time = 0; +static void secure_hook(secure_status_t secure_status) { + secure_hook_quantum(secure_status); + secure_hook_kb(secure_status); +} + secure_status_t secure_get_status(void) { return secure_status; } void secure_lock(void) { secure_status = SECURE_LOCKED; + secure_hook(secure_status); } void secure_unlock(void) { secure_status = SECURE_UNLOCKED; idle_time = timer_read32(); + secure_hook(secure_status); } void secure_request_unlock(void) { @@ -41,6 +48,7 @@ void secure_request_unlock(void) { secure_status = SECURE_PENDING; unlock_time = timer_read32(); } + secure_hook(secure_status); } void secure_activity_event(void) { @@ -85,3 +93,10 @@ void secure_task(void) { } #endif } + +__attribute__((weak)) bool secure_hook_user(secure_status_t secure_status) { + return true; +} +__attribute__((weak)) bool secure_hook_kb(secure_status_t secure_status) { + return secure_hook_user(secure_status); +} diff --git a/quantum/secure.h b/quantum/secure.h index 04507fd5b139..bb2ba50f3166 100644 --- a/quantum/secure.h +++ b/quantum/secure.h @@ -65,3 +65,15 @@ void secure_keypress_event(uint8_t row, uint8_t col); /** \brief Handle various secure subsystem background tasks */ void secure_task(void); + +/** \brief quantum hook called when changing secure status device + */ +void secure_hook_quantum(secure_status_t secure_status); + +/** \brief user hook called when changing secure status device + */ +bool secure_hook_user(secure_status_t secure_status); + +/** \brief keyboard hook called when changing secure status device + */ +bool secure_hook_kb(secure_status_t secure_status); diff --git a/tests/secure/config.h b/tests/secure/config.h new file mode 100644 index 000000000000..3cfbc6cb14f4 --- /dev/null +++ b/tests/secure/config.h @@ -0,0 +1,32 @@ +/* Copyright 2021 Stefan Kerkmann + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "test_common.h" + +// clang-format off +#define SECURE_UNLOCK_SEQUENCE \ + { \ + {0, 1}, \ + {0, 2}, \ + {0, 3}, \ + {0, 4} \ + } +// clang-format on + +#define SECURE_UNLOCK_TIMEOUT 20 +#define SECURE_IDLE_TIMEOUT 50 diff --git a/tests/secure/test.mk b/tests/secure/test.mk new file mode 100644 index 000000000000..ea406493bede --- /dev/null +++ b/tests/secure/test.mk @@ -0,0 +1,20 @@ +# Copyright 2021 Stefan Kerkmann +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# -------------------------------------------------------------------------------- +# Keep this file, even if it is empty, as a marker that this folder contains tests +# -------------------------------------------------------------------------------- + +SECURE_ENABLE = yes diff --git a/tests/secure/test_secure.cpp b/tests/secure/test_secure.cpp new file mode 100644 index 000000000000..87055ebb7fd6 --- /dev/null +++ b/tests/secure/test_secure.cpp @@ -0,0 +1,278 @@ +/* Copyright 2021 Stefan Kerkmann + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "gtest/gtest.h" +#include "keyboard_report_util.hpp" +#include "test_common.hpp" + +using testing::_; +using testing::AnyNumber; +using testing::InSequence; + +class Secure : public TestFixture { + public: + void SetUp() override { + secure_lock(); + } + // Convenience function to tap `key`. + void TapKey(KeymapKey key) { + key.press(); + run_one_scan_loop(); + key.release(); + run_one_scan_loop(); + } + + // Taps in order each key in `keys`. + template + void TapKeys(Ts... keys) { + for (KeymapKey key : {keys...}) { + TapKey(key); + } + } +}; + +TEST_F(Secure, test_lock) { + TestDriver driver; + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(0); + + EXPECT_FALSE(secure_is_unlocked()); + secure_unlock(); + EXPECT_TRUE(secure_is_unlocked()); + run_one_scan_loop(); + EXPECT_TRUE(secure_is_unlocked()); + secure_lock(); + EXPECT_FALSE(secure_is_unlocked()); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +TEST_F(Secure, test_unlock_timeout) { + TestDriver driver; + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(0); + + EXPECT_FALSE(secure_is_unlocked()); + secure_unlock(); + EXPECT_TRUE(secure_is_unlocked()); + idle_for(SECURE_IDLE_TIMEOUT+1); + EXPECT_FALSE(secure_is_unlocked()); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +TEST_F(Secure, test_unlock_request) { + TestDriver driver; + auto key_mo = KeymapKey(0, 0, 0, MO(1)); + auto key_a = KeymapKey(0, 1, 0, KC_A); + auto key_b = KeymapKey(0, 2, 0, KC_B); + auto key_c = KeymapKey(0, 3, 0, KC_C); + auto key_d = KeymapKey(0, 4, 0, KC_D); + + set_keymap({key_mo, key_a, key_b, key_c, key_d}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(0); + + EXPECT_TRUE(secure_is_locked()); + secure_request_unlock(); + EXPECT_TRUE(secure_is_unlocking()); + TapKeys(key_a, key_b, key_c, key_d); + EXPECT_TRUE(secure_is_unlocked()); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +TEST_F(Secure, test_unlock_request_fail) { + TestDriver driver; + auto key_e = KeymapKey(0, 0, 0, KC_E); + auto key_a = KeymapKey(0, 1, 0, KC_A); + auto key_b = KeymapKey(0, 2, 0, KC_B); + auto key_c = KeymapKey(0, 3, 0, KC_C); + auto key_d = KeymapKey(0, 4, 0, KC_D); + + set_keymap({key_e, key_a, key_b, key_c, key_d}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(AnyNumber()); + { // Expect the following reports in this order. + InSequence s; + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_C))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_D))); + } + EXPECT_TRUE(secure_is_locked()); + secure_request_unlock(); + EXPECT_TRUE(secure_is_unlocking()); + TapKeys(key_e, key_a, key_b, key_c, key_d); + EXPECT_FALSE(secure_is_unlocked()); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +TEST_F(Secure, test_unlock_request_timeout) { + TestDriver driver; + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(0); + + EXPECT_FALSE(secure_is_unlocked()); + secure_request_unlock(); + EXPECT_TRUE(secure_is_unlocking()); + idle_for(SECURE_UNLOCK_TIMEOUT+1); + EXPECT_FALSE(secure_is_unlocking()); + EXPECT_FALSE(secure_is_unlocked()); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + + +TEST_F(Secure, test_unlock_request_fail_mid) { + TestDriver driver; + auto key_e = KeymapKey(0, 0, 0, KC_E); + auto key_a = KeymapKey(0, 1, 0, KC_A); + auto key_b = KeymapKey(0, 2, 0, KC_B); + auto key_c = KeymapKey(0, 3, 0, KC_C); + auto key_d = KeymapKey(0, 4, 0, KC_D); + + set_keymap({key_e, key_a, key_b, key_c, key_d}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(AnyNumber()); + { // Expect the following reports in this order. + InSequence s; + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_C))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_D))); + } + EXPECT_FALSE(secure_is_unlocked()); + secure_request_unlock(); + EXPECT_TRUE(secure_is_unlocking()); + TapKeys(key_a, key_b, key_e, key_c, key_d); + EXPECT_FALSE(secure_is_unlocking()); + EXPECT_FALSE(secure_is_unlocked()); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +TEST_F(Secure, test_unlock_request_fail_out_of_order) { + TestDriver driver; + auto key_e = KeymapKey(0, 0, 0, KC_E); + auto key_a = KeymapKey(0, 1, 0, KC_A); + auto key_b = KeymapKey(0, 2, 0, KC_B); + auto key_c = KeymapKey(0, 3, 0, KC_C); + auto key_d = KeymapKey(0, 4, 0, KC_D); + + set_keymap({key_e, key_a, key_b, key_c, key_d}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(AnyNumber()); + { // Expect the following reports in this order. + InSequence s; + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_C))); + } + EXPECT_FALSE(secure_is_unlocked()); + secure_request_unlock(); + EXPECT_TRUE(secure_is_unlocking()); + TapKeys(key_a, key_d, key_b, key_c); + EXPECT_TRUE(secure_is_locked()); + EXPECT_FALSE(secure_is_unlocking()); + EXPECT_FALSE(secure_is_unlocked()); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +TEST_F(Secure, test_unlock_request_on_layer) { + TestDriver driver; + auto key_mo = KeymapKey(0, 0, 0, MO(1)); + auto key_a = KeymapKey(0, 1, 0, KC_A); + auto key_b = KeymapKey(0, 2, 0, KC_B); + auto key_c = KeymapKey(0, 3, 0, KC_C); + auto key_d = KeymapKey(0, 4, 0, KC_D); + + set_keymap({key_mo, key_a, key_b, key_c, key_d}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(0); + + EXPECT_TRUE(secure_is_locked()); + key_mo.press(); + run_one_scan_loop(); + secure_request_unlock(); + key_mo.release(); + run_one_scan_loop(); + EXPECT_TRUE(secure_is_unlocking()); + TapKeys(key_a, key_b, key_c, key_d); + EXPECT_TRUE(secure_is_unlocked()); + EXPECT_FALSE(layer_state_is(1)); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +TEST_F(Secure, test_unlock_request_mid_stroke) { + TestDriver driver; + auto key_e = KeymapKey(0, 0, 0, KC_E); + auto key_a = KeymapKey(0, 1, 0, KC_A); + auto key_b = KeymapKey(0, 2, 0, KC_B); + auto key_c = KeymapKey(0, 3, 0, KC_C); + auto key_d = KeymapKey(0, 4, 0, KC_D); + + set_keymap({key_e, key_a, key_b, key_c, key_d}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_E))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); + EXPECT_TRUE(secure_is_locked()); + key_e.press(); + run_one_scan_loop(); + secure_request_unlock(); + key_e.release(); + run_one_scan_loop(); + EXPECT_TRUE(secure_is_unlocking()); + TapKeys(key_a, key_b, key_c, key_d); + EXPECT_TRUE(secure_is_unlocked()); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +TEST_F(Secure, test_unlock_request_mods) { + TestDriver driver; + auto key_lsft = KeymapKey(0, 0, 0, KC_LSFT); + auto key_a = KeymapKey(0, 1, 0, KC_A); + auto key_b = KeymapKey(0, 2, 0, KC_B); + auto key_c = KeymapKey(0, 3, 0, KC_C); + auto key_d = KeymapKey(0, 4, 0, KC_D); + + set_keymap({key_lsft, key_a, key_b, key_c, key_d}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(key_lsft.report_code))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); + EXPECT_TRUE(secure_is_locked()); + key_lsft.press(); + run_one_scan_loop(); + secure_request_unlock(); + key_lsft.release(); + run_one_scan_loop(); + EXPECT_TRUE(secure_is_unlocking()); + TapKeys(key_a, key_b, key_c, key_d); + EXPECT_TRUE(secure_is_unlocked()); + + testing::Mock::VerifyAndClearExpectations(&driver); +} From 94755308e0db92bf98d2a32c0717e4a76be7ef6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20=C5=BB?= Date: Sun, 15 May 2022 00:08:32 +0200 Subject: [PATCH 0681/1832] Fix anchors with in table of content (#15169) --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.html b/docs/index.html index e24b25e73a97..4827024bdc7b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -15,7 +15,7 @@ - + @@ -130,7 +130,7 @@ - + From da632895051558740ca1ca8ecb607a846e2384d7 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Sat, 14 May 2022 15:14:49 -0700 Subject: [PATCH 0682/1832] Format code according to conventions (#17096) --- tests/secure/test_secure.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/secure/test_secure.cpp b/tests/secure/test_secure.cpp index 87055ebb7fd6..b7c51b0bd280 100644 --- a/tests/secure/test_secure.cpp +++ b/tests/secure/test_secure.cpp @@ -70,7 +70,7 @@ TEST_F(Secure, test_unlock_timeout) { EXPECT_FALSE(secure_is_unlocked()); secure_unlock(); EXPECT_TRUE(secure_is_unlocked()); - idle_for(SECURE_IDLE_TIMEOUT+1); + idle_for(SECURE_IDLE_TIMEOUT + 1); EXPECT_FALSE(secure_is_unlocked()); testing::Mock::VerifyAndClearExpectations(&driver); @@ -135,14 +135,13 @@ TEST_F(Secure, test_unlock_request_timeout) { EXPECT_FALSE(secure_is_unlocked()); secure_request_unlock(); EXPECT_TRUE(secure_is_unlocking()); - idle_for(SECURE_UNLOCK_TIMEOUT+1); + idle_for(SECURE_UNLOCK_TIMEOUT + 1); EXPECT_FALSE(secure_is_unlocking()); EXPECT_FALSE(secure_is_unlocked()); testing::Mock::VerifyAndClearExpectations(&driver); } - TEST_F(Secure, test_unlock_request_fail_mid) { TestDriver driver; auto key_e = KeymapKey(0, 0, 0, KC_E); From 4d107feca9621ee3f342507136b04f176e8f2320 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Sun, 15 May 2022 00:17:14 +0200 Subject: [PATCH 0683/1832] Check for ongoing transfers on the OUT endpoint (#16974) ...when attempting to start a receiving USB transfer. Previously, we would check on the IN endpoint which is the transmitting part of the USB endpoint. This is wrong and lead to two USB transfers being started immediately after each other in case of e.g. RAW HID endpoints: 1. When finishing an OUT transfer the low level USB driver calls the out_cb callback, which in turn initiates another OUT transfer by calling qmkusbDataReceived. 2. When the raw hid receive channel runs empty inside the raw_hid task, another OUT transfer is started to potentially fill the channel again. This happens by calling ibnotify. Both events occur directly after each other, thus triggering the bug. --- tmk_core/protocol/chibios/usb_driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmk_core/protocol/chibios/usb_driver.c b/tmk_core/protocol/chibios/usb_driver.c index 4de060f306b3..ad45f9b1daac 100644 --- a/tmk_core/protocol/chibios/usb_driver.c +++ b/tmk_core/protocol/chibios/usb_driver.c @@ -60,7 +60,7 @@ static bool qmkusb_start_receive(QMKUSBDriver *qmkusbp) { } /* Checking if there is already a transaction ongoing on the endpoint.*/ - if (usbGetReceiveStatusI(qmkusbp->config->usbp, qmkusbp->config->bulk_in)) { + if (usbGetReceiveStatusI(qmkusbp->config->usbp, qmkusbp->config->bulk_out)) { return true; } From f090881aebbd7af74294b53fabdf55a35004f190 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 15 May 2022 04:24:35 -0700 Subject: [PATCH 0684/1832] [Feature] Add support for multiple switchs/solenoids to Haptic Feedback engine (#15657) --- docs/feature_haptic_feedback.md | 32 ++-- drivers/haptic/solenoid.c | 155 +++++++++++++----- drivers/haptic/solenoid.h | 26 ++- .../handwired/onekey/blackpill_f411/config.h | 4 + .../handwired/onekey/keymaps/haptic/keymap.c | 11 ++ .../handwired/onekey/keymaps/haptic/rules.mk | 2 + quantum/haptic.c | 2 +- 7 files changed, 163 insertions(+), 69 deletions(-) create mode 100644 keyboards/handwired/onekey/keymaps/haptic/keymap.c create mode 100644 keyboards/handwired/onekey/keymaps/haptic/rules.mk diff --git a/docs/feature_haptic_feedback.md b/docs/feature_haptic_feedback.md index 63ac4305ff20..f4546b6914c9 100644 --- a/docs/feature_haptic_feedback.md +++ b/docs/feature_haptic_feedback.md @@ -50,22 +50,28 @@ Not all keycodes below will work depending on which haptic mechanism you have ch ### Solenoids -First you will need a build a circuit to drive the solenoid through a mosfet as most MCU will not be able to provide the current needed to drive the coil in the solenoid. +The solenoid code supports relay switches, and similar hardware, as well as solenoids. -[Wiring diagram provided by Adafruit](https://cdn-shop.adafruit.com/product-files/412/solenoid_driver.pdf) +For a regular solenoid, you will need a build a circuit to drive the solenoid through a mosfet as most MCU will not be able to provide the current needed to drive the coil in the solenoid. +[Wiring diagram provided by Adafruit](https://cdn-shop.adafruit.com/product-files/412/solenoid_driver.pdf) -| Settings | Default | Description | -|----------------------------|----------------------|-------------------------------------------------------| -|`SOLENOID_PIN` | *Not defined* |Configures the pin that the Solenoid is connected to. | -|`SOLENOID_PIN_ACTIVE_LOW` | *Not defined* |If defined then the solenoid trigger pin is active low.| -|`SOLENOID_DEFAULT_DWELL` | `12` ms |Configures the default dwell time for the solenoid. | -|`SOLENOID_MIN_DWELL` | `4` ms |Sets the lower limit for the dwell. | -|`SOLENOID_MAX_DWELL` | `100` ms |Sets the upper limit for the dwell. | -|`SOLENOID_DWELL_STEP_SIZE` | `1` ms |The step size to use when `HPT_DWL*` keycodes are sent | -|`SOLENOID_DEFAULT_BUZZ` | `0` (disabled) |On HPT_RST buzz is set "on" if this is "1" | -|`SOLENOID_BUZZ_ACTUATED` | `SOLENOID_MIN_DWELL` |Actuated-time when the solenoid is in buzz mode | -|`SOLENOID_BUZZ_NONACTUATED` | `SOLENOID_MIN_DWELL` |Non-Actuated-time when the solenoid is in buzz mode | +For relay switches, the hardware may already contain all of that ciruitry, and just require VCC, GND and a data pin. + +| Settings | Default | Description | +|----------------------------|----------------------|--------------------------------------------------------------| +|`SOLENOID_PIN` | *Not defined* |Configures the pin that the switch is connected to. | +|`SOLENOID_PIN_ACTIVE_LOW` | *Not defined* |If defined then the switch trigger pin is active low. | +|`SOLENOID_PINS` | *Not defined* |Configures an array of pins to be used for switch activation. | +|`SOLENOID_PINS_ACTIVE_LOW` | *Not defined* |Allows you to specify how each pin is pulled for activation. | +|`SOLENOID_RANDOM_FIRE` | *Not defined* |When there are multiple solenoids, will select a random one to fire.| +|`SOLENOID_DEFAULT_DWELL` | `12` ms |Configures the default dwell time for the switch. | +|`SOLENOID_MIN_DWELL` | `4` ms |Sets the lower limit for the dwell. | +|`SOLENOID_MAX_DWELL` | `100` ms |Sets the upper limit for the dwell. | +|`SOLENOID_DWELL_STEP_SIZE` | `1` ms |The step size to use when `HPT_DWL*` keycodes are sent. | +|`SOLENOID_DEFAULT_BUZZ` | `0` (disabled) |On HPT_RST buzz is set "on" if this is "1" | +|`SOLENOID_BUZZ_ACTUATED` | `SOLENOID_MIN_DWELL` |Actuated-time when the switch is in buzz mode. | +|`SOLENOID_BUZZ_NONACTUATED` | `SOLENOID_MIN_DWELL` |Non-Actuated-time when the switch is in buzz mode. | * If solenoid buzz is off, then dwell time is how long the "plunger" stays activated. The dwell time changes how the solenoid sounds. * If solenoid buzz is on, then dwell time sets the length of the buzz, while `SOLENOID_BUZZ_ACTUATED` and `SOLENOID_BUZZ_NONACTUATED` set the (non-)actuation times withing the buzz period. diff --git a/drivers/haptic/solenoid.c b/drivers/haptic/solenoid.c index 14d868bffe81..637a77da3dbd 100644 --- a/drivers/haptic/solenoid.c +++ b/drivers/haptic/solenoid.c @@ -20,11 +20,22 @@ #include "haptic.h" #include "gpio.h" #include "usb_device_state.h" - -bool solenoid_on = false; -bool solenoid_buzzing = false; -uint16_t solenoid_start = 0; -uint8_t solenoid_dwell = SOLENOID_DEFAULT_DWELL; +#include + +uint8_t solenoid_dwell = SOLENOID_DEFAULT_DWELL; +static pin_t solenoid_pads[] = SOLENOID_PINS; +#define NUMBER_OF_SOLENOIDS (sizeof(solenoid_pads) / sizeof(pin_t)) +bool solenoid_on[NUMBER_OF_SOLENOIDS] = {false}; +bool solenoid_buzzing[NUMBER_OF_SOLENOIDS] = {false}; +uint16_t solenoid_start[NUMBER_OF_SOLENOIDS] = {0}; +#ifdef SOLENOID_PIN_ACTIVE_LOW +# define low true +# define high false +#else +# define low false +# define high true +#endif +static bool solenoid_active_state[NUMBER_OF_SOLENOIDS]; extern haptic_config_t haptic_config; @@ -36,7 +47,7 @@ void solenoid_buzz_off(void) { haptic_set_buzz(0); } -void solenoid_set_buzz(int buzz) { +void solenoid_set_buzz(uint8_t buzz) { haptic_set_buzz(buzz); } @@ -44,59 +55,121 @@ void solenoid_set_dwell(uint8_t dwell) { solenoid_dwell = dwell; } -void solenoid_stop(void) { - SOLENOID_PIN_WRITE_INACTIVE(); - solenoid_on = false; - solenoid_buzzing = false; +/** + * @brief Stops a specific solenoid + * + * @param index select which solenoid to check/stop + */ +void solenoid_stop(uint8_t index) { + writePin(solenoid_pads[index], !solenoid_active_state[index]); + solenoid_on[index] = false; + solenoid_buzzing[index] = false; } -void solenoid_fire(void) { - if (!haptic_config.buzz && solenoid_on) return; - if (haptic_config.buzz && solenoid_buzzing) return; +/** + * @brief Fires off a specific solenoid + * + * @param index Selects which solenoid to fire + */ +void solenoid_fire(uint8_t index) { + if (!haptic_config.buzz && solenoid_on[index]) return; + if (haptic_config.buzz && solenoid_buzzing[index]) return; + + solenoid_on[index] = true; + solenoid_buzzing[index] = true; + solenoid_start[index] = timer_read(); + writePin(solenoid_pads[index], solenoid_active_state[index]); +} - solenoid_on = true; - solenoid_buzzing = true; - solenoid_start = timer_read(); - SOLENOID_PIN_WRITE_ACTIVE(); +/** + * @brief Handles selecting a non-active solenoid, and firing it. + * + */ +void solenoid_fire_handler(void) { +#ifndef SOLENOID_RANDOM_FIRE + if (NUMBER_OF_SOLENOIDS > 1) { + uint8_t i = rand() % NUMBER_OF_SOLENOIDS; + if (!solenoid_on[i]) { + solenoid_fire(i); + } + } else { + solenoid_fire(0); + } +#else + for (uint8_t i = 0; i < NUMBER_OF_SOLENOIDS; i++) { + if (!solenoid_on[i]) { + solenoid_fire(i); + break; + } + } +#endif } +/** + * @brief Checks active solenoid to stop them, and to handle buzz mode + * + */ void solenoid_check(void) { - uint16_t elapsed = 0; + uint16_t elapsed[NUMBER_OF_SOLENOIDS] = {0}; - if (!solenoid_on) return; + for (uint8_t i = 0; i < NUMBER_OF_SOLENOIDS; i++) { + if (!solenoid_on[i]) continue; - elapsed = timer_elapsed(solenoid_start); + elapsed[i] = timer_elapsed(solenoid_start[i]); - // Check if it's time to finish this solenoid click cycle - if (elapsed > solenoid_dwell) { - solenoid_stop(); - return; - } + // Check if it's time to finish this solenoid click cycle + if (elapsed[i] > solenoid_dwell) { + solenoid_stop(i); + continue; + } - // Check whether to buzz the solenoid on and off - if (haptic_config.buzz) { - if ((elapsed % (SOLENOID_BUZZ_ACTUATED + SOLENOID_BUZZ_NONACTUATED)) < SOLENOID_BUZZ_ACTUATED) { - if (!solenoid_buzzing) { - solenoid_buzzing = true; - SOLENOID_PIN_WRITE_ACTIVE(); - } - } else { - if (solenoid_buzzing) { - solenoid_buzzing = false; - SOLENOID_PIN_WRITE_INACTIVE(); + // Check whether to buzz the solenoid on and off + if (haptic_config.buzz) { + if ((elapsed[i] % (SOLENOID_BUZZ_ACTUATED + SOLENOID_BUZZ_NONACTUATED)) < SOLENOID_BUZZ_ACTUATED) { + if (!solenoid_buzzing[i]) { + solenoid_buzzing[i] = true; + writePin(solenoid_pads[i], solenoid_active_state[i]); + } + } else { + if (solenoid_buzzing[i]) { + solenoid_buzzing[i] = false; + writePin(solenoid_pads[i], !solenoid_active_state[i]); + } } } } } +/** + * @brief Initial configuration for solenoids + * + */ void solenoid_setup(void) { - SOLENOID_PIN_WRITE_INACTIVE(); - setPinOutput(SOLENOID_PIN); - if ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state == USB_DEVICE_STATE_CONFIGURED)) { - solenoid_fire(); +#ifdef SOLENOID_PINS_ACTIVE_STATE + bool state_temp[] = SOLENOID_PINS_ACTIVE_STATE; + uint8_t bound_check = (sizeof(state_temp) / sizeof(bool)); +#endif + + for (uint8_t i = 0; i < NUMBER_OF_SOLENOIDS; i++) { +#ifdef SOLENOID_PINS_ACTIVE_STATE + solenoid_active_state[i] = (bound_check - i) ? state_temp[i] : high; +#else + solenoid_active_state[i] = high; +#endif + writePin(solenoid_pads[i], !solenoid_active_state[i]); + setPinOutput(solenoid_pads[i]); + if ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state == USB_DEVICE_STATE_CONFIGURED)) { + solenoid_fire(i); + } } } +/** + * @brief stops solenoids prior to device reboot, to prevent them from being locked on + * + */ void solenoid_shutdown(void) { - SOLENOID_PIN_WRITE_INACTIVE(); + for (uint8_t i = 0; i < NUMBER_OF_SOLENOIDS; i++) { + writePin(solenoid_pads[i], !solenoid_active_state[i]); + } } diff --git a/drivers/haptic/solenoid.h b/drivers/haptic/solenoid.h index 653148154f40..952f86e922c5 100644 --- a/drivers/haptic/solenoid.h +++ b/drivers/haptic/solenoid.h @@ -45,26 +45,24 @@ # define SOLENOID_BUZZ_NONACTUATED SOLENOID_MIN_DWELL #endif -#ifndef SOLENOID_PIN -# error SOLENOID_PIN not defined +#ifndef SOLENOID_PINS +# ifdef SOLENOID_PIN +# define SOLENOID_PINS \ + { SOLENOID_PIN } +# else +# error SOLENOID_PINS array not defined +# endif #endif -#ifdef SOLENOID_PIN_ACTIVE_LOW -# define SOLENOID_PIN_WRITE_ACTIVE() writePinLow(SOLENOID_PIN) -# define SOLENOID_PIN_WRITE_INACTIVE() writePinHigh(SOLENOID_PIN) -#else -# define SOLENOID_PIN_WRITE_ACTIVE() writePinHigh(SOLENOID_PIN) -# define SOLENOID_PIN_WRITE_INACTIVE() writePinLow(SOLENOID_PIN) -#endif - -void solenoid_buzz_on(void); +void solenoidbuzz_on(void); void solenoid_buzz_off(void); -void solenoid_set_buzz(int buzz); +void solenoid_set_buzz(uint8_t buzz); void solenoid_set_dwell(uint8_t dwell); -void solenoid_stop(void); -void solenoid_fire(void); +void solenoid_stop(uint8_t index); +void solenoid_fire(uint8_t index); +void solenoid_fire_handler(void); void solenoid_check(void); diff --git a/keyboards/handwired/onekey/blackpill_f411/config.h b/keyboards/handwired/onekey/blackpill_f411/config.h index 16e8f27924bd..379721715361 100644 --- a/keyboards/handwired/onekey/blackpill_f411/config.h +++ b/keyboards/handwired/onekey/blackpill_f411/config.h @@ -31,3 +31,7 @@ #define RGB_DI_PIN A1 #define ADC_PIN A0 + +#define SOLENOID_PIN B12 +#define SOLENOID_PINS { B12, B13, B14, B15 } +#define SOLENOID_PINS_ACTIVE_STATE { high, high, low } diff --git a/keyboards/handwired/onekey/keymaps/haptic/keymap.c b/keyboards/handwired/onekey/keymaps/haptic/keymap.c new file mode 100644 index 000000000000..e3b0093c18bb --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/haptic/keymap.c @@ -0,0 +1,11 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_ortho_1x1(KC_A) +}; + +void haptic_enable(void); + +void keyboard_post_init_user(void) { + haptic_enable(); +} diff --git a/keyboards/handwired/onekey/keymaps/haptic/rules.mk b/keyboards/handwired/onekey/keymaps/haptic/rules.mk new file mode 100644 index 000000000000..802f7e5ddeee --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/haptic/rules.mk @@ -0,0 +1,2 @@ +HAPTIC_ENABLE = yes +HAPTIC_DRIVER = SOLENOID diff --git a/quantum/haptic.c b/quantum/haptic.c index 31d111480675..ad64fe2cc7e7 100644 --- a/quantum/haptic.c +++ b/quantum/haptic.c @@ -321,7 +321,7 @@ void haptic_play(void) { DRV_pulse(play_eff); #endif #ifdef SOLENOID_ENABLE - solenoid_fire(); + solenoid_fire_handler(); #endif } From 4a8bd7b9a523601911ba467588b2a6a0aa693db6 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 15 May 2022 21:27:01 +1000 Subject: [PATCH 0685/1832] Rename keymap_extras headers for consistency (#16939) --- docs/reference_keymap_extras.md | 50 +++++++++---------- keyboards/ai03/jp60/keymaps/default/keymap.c | 2 +- keyboards/ai03/jp60/keymaps/via/keymap.c | 2 +- keyboards/aozora/keymaps/default_all/keymap.c | 2 +- keyboards/aozora/keymaps/via/keymap.c | 2 +- keyboards/barracuda/keymaps/default/keymap.c | 2 +- keyboards/barracuda/keymaps/via/keymap.c | 2 +- .../slice/rev1/keymaps/2moons/keymap.c | 2 +- .../basekeys/slice/rev1/keymaps/via/keymap.c | 2 +- .../rev1_rgb/keymaps/2moons_rgb/keymap.c | 2 +- .../ergo42/keymaps/biacco-winjp/keymap.c | 4 +- .../biacco42/ergo42/keymaps/hdbx/keymap.c | 4 +- .../biacco42/ergo42/keymaps/koba/keymap.c | 2 +- keyboards/buzzard/keymaps/crehmann/keymap.c | 2 +- keyboards/crkbd/keymaps/vayashiko/keymap.c | 2 +- keyboards/dz60/keymaps/default_abnt2/keymap.c | 2 +- .../keymaps/nathanvercaemert/keymap.c | 6 +-- .../gh60/revc/keymaps/default_abnt2/keymap.c | 2 +- .../gl516/a52gl/keymaps/salicylic/keymap.c | 2 +- .../gl516/j73gl/keymaps/default/keymap.c | 2 +- keyboards/gl516/j73gl/keymaps/via/keymap.c | 2 +- .../j73gl/keymaps/via_rgb_matrix/keymap.c | 2 +- .../gl516/n51gl/keymaps/salicylic/keymap.c | 2 +- keyboards/halfcliff/keymaps/default/keymap.c | 2 +- keyboards/halfcliff/keymaps/via/keymap.c | 2 +- .../baredev/rev1/keymaps/default/keymap.c | 2 +- .../baredev/rev1/keymaps/manoshu/keymap.c | 4 +- .../baredev/rev1/keymaps/via/keymap.c | 2 +- .../helix/rev2/keymaps/five_rows_jis/keymap.c | 2 +- .../helix/rev2/keymaps/froggy_106/keymap.c | 2 +- .../hhkb/ansi/keymaps/shela/keymap_jis2us.h | 2 +- keyboards/jones/v03/keymaps/default/keymap.c | 2 +- .../jones/v03/keymaps/default_jp/keymap.c | 2 +- .../jones/v03_1/keymaps/default_jp/keymap.c | 2 +- keyboards/jones/v1/keymaps/via/keymap.c | 2 +- .../kbdfans/kbd67/rev1/keymaps/koba/keymap.c | 2 +- .../kbdfans/kbd67/rev2/keymaps/koba/keymap.c | 2 +- .../bm40hsrgb/keymaps/wolff_abnt2/keymap.c | 2 +- keyboards/kudox/rev1/keymaps/jis/keymap.c | 2 +- keyboards/kudox/rev2/keymaps/jis/keymap.c | 2 +- keyboards/kudox/rev3/keymaps/jis/keymap.c | 2 +- keyboards/kudox_full/keymaps/jis/keymap.c | 2 +- keyboards/majistic/keymaps/default/keymap.c | 2 +- .../treadstone32/keymaps/default/keymap.c | 2 +- .../treadstone32/keymaps/like_jis/keymap.c | 2 +- keyboards/numatreus/keymaps/hdbx/keymap.c | 4 +- keyboards/numatreus/keymaps/like_jis/keymap.c | 2 +- .../ergodash/rev1/keymaps/m47ch4n/keymap.c | 2 +- .../runner3680/5x6_5x8/keymaps/jis/keymap.c | 2 +- .../omkbd/runner3680/5x8/keymaps/JIS/keymap.c | 2 +- keyboards/pico/65keys/keymaps/jis/keymap.c | 2 +- keyboards/pico/70keys/keymaps/jis/keymap.c | 2 +- keyboards/pisces/keymaps/default/keymap.c | 2 +- keyboards/pisces/keymaps/via/keymap.c | 2 +- keyboards/planck/keymaps/rai-suta/keymap.c | 2 +- keyboards/planck/keymaps/sigul/keymap.c | 2 +- .../squishytkl/keymaps/jis/keymap.c | 2 +- .../ramonimbao/wete/v1/keymaps/jis/keymap.c | 2 +- .../rate/pistachio/keymaps/default/keymap.c | 2 +- .../rate/pistachio/keymaps/rate/keymap.c | 2 +- keyboards/rate/pistachio/keymaps/via/keymap.c | 2 +- .../pistachio_pro/keymaps/default/keymap.c | 2 +- .../rate/pistachio_pro/keymaps/rate/keymap.c | 2 +- .../rate/pistachio_pro/keymaps/via/keymap.c | 2 +- .../nomu30/keymaps/center_sprit/keymap.c | 2 +- .../nomu30/keymaps/like_jis/keymap.c | 2 +- .../reviung33/keymaps/default_jp/keymap.c | 2 +- .../reviung34/keymaps/default_jp/keymap.c | 2 +- .../7skb/keymaps/salicylic/keymap.c | 2 +- .../7splus/keymaps/salicylic/keymap.c | 2 +- .../ajisai74/keymaps/jis/keymap.c | 2 +- .../ajisai74/keymaps/salicylic/keymap.c | 2 +- .../ergoarrows/keymaps/salicylic/keymap.c | 2 +- .../getta25/keymaps/oled/keymap.c | 2 +- .../jisplit89/keymaps/default/keymap.c | 2 +- .../jisplit89/keymaps/salicylic/keymap.c | 2 +- .../jisplit89/keymaps/via/keymap.c | 2 +- .../naked48/keymaps/salicylic/keymap.c | 2 +- .../keymaps/salicylic_with_nafuda/keymap.c | 2 +- .../keymaps/salicylic_with_setta21/keymap.c | 2 +- .../naked60/keymaps/salicylic/keymap.c | 2 +- .../keymaps/salicylic_with_nafuda/keymap.c | 2 +- .../keymaps/salicylic_with_setta21/keymap.c | 2 +- .../keymaps/default_with_setta21/keymap.c | 2 +- .../naked64/keymaps/salicylic/keymap.c | 2 +- .../keymaps/salicylic_with_setta21/keymap.c | 2 +- .../nknl7en/keymaps/salicylic/keymap.c | 2 +- .../nknl7jp/keymaps/default/keymap.c | 2 +- .../nknl7jp/keymaps/salicylic/keymap.c | 2 +- .../nknl7jp/keymaps/via/keymap.c | 2 +- .../setta21/keymaps/salicylic/keymap.c | 2 +- keyboards/satt/comet46/keymaps/satt/keymap.c | 2 +- keyboards/satt/vision/keymaps/satt/keymap.c | 2 +- .../satt/vision/keymaps/satt/keymap_jis2us.h | 2 +- .../heavy_left/keymaps/default/keymap.c | 2 +- .../keymaps/takashicompany/keymap.c | 2 +- .../heavy_left/keymaps/via/keymap.c | 2 +- .../namecard2x4/keymaps/brainfuck/keymap.c | 2 +- .../minivan/keymaps/like_jis/keymap.c | 2 +- .../community/ergodox/ishigoya-jp/keymap.c | 2 +- layouts/community/ergodox/kristian/keymap.c | 4 +- layouts/community/ergodox/osx_de/keymap.c | 2 +- .../ergodox/osx_de_adnw_koy/keymap.c | 6 +-- .../ergodox/osx_de_experimental/keymap.c | 4 +- layouts/community/ergodox/osx_fr/keymap.c | 2 +- .../60_abnt2/default_60_abnt2/keymap.c | 2 +- ...ap_br_abnt2.h => keymap_brazilian_abnt2.h} | 0 ...eymap_dvp.h => keymap_dvorak_programmer.h} | 0 ...p_french_osx.h => keymap_french_mac_iso.h} | 0 ...p_german_osx.h => keymap_german_mac_iso.h} | 0 ...n_osx_ansi.h => keymap_italian_mac_ansi.h} | 0 ...ian_osx_iso.h => keymap_italian_mac_iso.h} | 0 .../{keymap_jp.h => keymap_japanese.h} | 0 ..._osx_iso.h => keymap_portuguese_mac_iso.h} | 0 ...h_osx_ansi.h => keymap_swedish_mac_ansi.h} | 0 ...ish_osx_iso.h => keymap_swedish_mac_iso.h} | 0 ...x_ansi.h => keymap_swedish_pro_mac_ansi.h} | 0 ...osx_iso.h => keymap_swedish_pro_mac_iso.h} | 0 .../{keymap_german_ch.h => keymap_swiss_de.h} | 0 .../{keymap_fr_ch.h => keymap_swiss_fr.h} | 0 ...r_abnt2.h => sendstring_brazilian_abnt2.h} | 2 +- ...g_dvp.h => sendstring_dvorak_programmer.h} | 2 +- ...ench_osx.h => sendstring_french_mac_iso.h} | 2 +- ...rman_osx.h => sendstring_german_mac_iso.h} | 2 +- ...x_ansi.h => sendstring_italian_mac_ansi.h} | 2 +- ...osx_iso.h => sendstring_italian_mac_iso.h} | 2 +- ...sendstring_jis.h => sendstring_japanese.h} | 2 +- ..._iso.h => sendstring_portuguese_mac_iso.h} | 2 +- ...ring_german_ch.h => sendstring_swiss_de.h} | 2 +- ...ndstring_fr_ch.h => sendstring_swiss_fr.h} | 2 +- users/sigul/sigul.c | 2 +- 131 files changed, 151 insertions(+), 151 deletions(-) rename quantum/keymap_extras/{keymap_br_abnt2.h => keymap_brazilian_abnt2.h} (100%) rename quantum/keymap_extras/{keymap_dvp.h => keymap_dvorak_programmer.h} (100%) rename quantum/keymap_extras/{keymap_french_osx.h => keymap_french_mac_iso.h} (100%) rename quantum/keymap_extras/{keymap_german_osx.h => keymap_german_mac_iso.h} (100%) rename quantum/keymap_extras/{keymap_italian_osx_ansi.h => keymap_italian_mac_ansi.h} (100%) rename quantum/keymap_extras/{keymap_italian_osx_iso.h => keymap_italian_mac_iso.h} (100%) rename quantum/keymap_extras/{keymap_jp.h => keymap_japanese.h} (100%) rename quantum/keymap_extras/{keymap_portuguese_osx_iso.h => keymap_portuguese_mac_iso.h} (100%) rename quantum/keymap_extras/{keymap_swedish_osx_ansi.h => keymap_swedish_mac_ansi.h} (100%) rename quantum/keymap_extras/{keymap_swedish_osx_iso.h => keymap_swedish_mac_iso.h} (100%) rename quantum/keymap_extras/{keymap_swedish_pro_osx_ansi.h => keymap_swedish_pro_mac_ansi.h} (100%) rename quantum/keymap_extras/{keymap_swedish_pro_osx_iso.h => keymap_swedish_pro_mac_iso.h} (100%) rename quantum/keymap_extras/{keymap_german_ch.h => keymap_swiss_de.h} (100%) rename quantum/keymap_extras/{keymap_fr_ch.h => keymap_swiss_fr.h} (100%) rename quantum/keymap_extras/{sendstring_br_abnt2.h => sendstring_brazilian_abnt2.h} (99%) rename quantum/keymap_extras/{sendstring_dvp.h => sendstring_dvorak_programmer.h} (99%) rename quantum/keymap_extras/{sendstring_french_osx.h => sendstring_french_mac_iso.h} (99%) rename quantum/keymap_extras/{sendstring_german_osx.h => sendstring_german_mac_iso.h} (99%) rename quantum/keymap_extras/{sendstring_italian_osx_ansi.h => sendstring_italian_mac_ansi.h} (99%) rename quantum/keymap_extras/{sendstring_italian_osx_iso.h => sendstring_italian_mac_iso.h} (99%) rename quantum/keymap_extras/{sendstring_jis.h => sendstring_japanese.h} (99%) rename quantum/keymap_extras/{sendstring_portuguese_osx_iso.h => sendstring_portuguese_mac_iso.h} (99%) rename quantum/keymap_extras/{sendstring_german_ch.h => sendstring_swiss_de.h} (99%) rename quantum/keymap_extras/{sendstring_fr_ch.h => sendstring_swiss_fr.h} (99%) diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md index 98be5c366983..b70d505f1f2e 100644 --- a/docs/reference_keymap_extras.md +++ b/docs/reference_keymap_extras.md @@ -36,20 +36,20 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q |French (AFNOR) |`keymap_french_afnor.h` |`sendstring_french_afnor.h` | |French (BÉPO) |`keymap_bepo.h` |`sendstring_bepo.h` | |French (Belgium) |`keymap_belgian.h` |`sendstring_belgian.h` | -|French (Switzerland) |`keymap_fr_ch.h` |`sendstring_fr_ch.h` | -|French (macOS, ISO) |`keymap_french_osx.h` |`sendstring_french_osx.h` | +|French (Switzerland) |`keymap_swiss_fr.h` |`sendstring_swiss_fr.h` | +|French (macOS, ISO) |`keymap_french_mac_iso.h` |`sendstring_french_mac_iso.h` | |German |`keymap_german.h` |`sendstring_german.h` | -|German (Switzerland) |`keymap_german_ch.h` |`sendstring_german_ch.h` | -|German (macOS) |`keymap_german_osx.h` |`sendstring_german_osx.h` | +|German (Switzerland) |`keymap_swiss_de.h` |`sendstring_swiss_de.h` | +|German (macOS) |`keymap_german_mac_iso.h` |`sendstring_german_mac_iso.h` | |German (Neo2) |`keymap_neo2.h` | | |Greek |`keymap_greek.h` | | |Hebrew |`keymap_hebrew.h` | | |Hungarian |`keymap_hungarian.h` |`sendstring_hungarian.h` | |Icelandic |`keymap_icelandic.h` |`sendstring_icelandic.h` | |Italian |`keymap_italian.h` |`sendstring_italian.h` | -|Italian (macOS, ANSI) |`keymap_italian_osx_ansi.h` |`sendstring_italian_osx_ansi.h` | -|Italian (macOS, ISO) |`keymap_italian_osx_iso.h` |`sendstring_italian_osx_iso.h` | -|Japanese |`keymap_jp.h` |`sendstring_jis.h` | +|Italian (macOS, ANSI) |`keymap_italian_mac_ansi.h` |`sendstring_italian_mac_ansi.h` | +|Italian (macOS, ISO) |`keymap_italian_mac_iso.h` |`sendstring_italian_mac_iso.h` | +|Japanese |`keymap_japanese.h` |`sendstring_japanese.h` | |Korean |`keymap_korean.h` | | |Latvian |`keymap_latvian.h` |`sendstring_latvian.h` | |Lithuanian (ĄŽERTY) |`keymap_lithuanian_azerty.h` |`sendstring_lithuanian_azerty.h` | @@ -57,8 +57,8 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q |Norwegian |`keymap_norwegian.h` |`sendstring_norwegian.h` | |Polish |`keymap_polish.h` | | |Portuguese |`keymap_portuguese.h` |`sendstring_portuguese.h` | -|Portuguese (macOS, ISO) |`keymap_portuguese_osx_iso.h` |`sendstring_portuguese_osx_iso.h` | -|Portuguese (Brazil) |`keymap_br_abnt2.h` |`sendstring_br_abnt2.h` | +|Portuguese (macOS, ISO) |`keymap_portuguese_mac_iso.h` |`sendstring_portuguese_mac_iso.h` | +|Portuguese (Brazil) |`keymap_brazilian_abnt2.h` |`sendstring_brazilian_abnt2.h` | |Romanian |`keymap_romanian.h` |`sendstring_romanian.h` | |Russian |`keymap_russian.h` | | |Serbian |`keymap_serbian.h` | | @@ -68,25 +68,25 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q |Spanish |`keymap_spanish.h` |`sendstring_spanish.h` | |Spanish (Dvorak) |`keymap_spanish_dvorak.h` |`sendstring_spanish_dvorak.h` | |Swedish |`keymap_swedish.h` |`sendstring_swedish.h` | -|Swedish (macOS, ANSI) |`keymap_swedish_osx_ansi.h` | | -|Swedish (macOS, ISO) |`keymap_swedish_osx_iso.h` | | -|Swedish Pro (macOS, ANSI) |`keymap_swedish_pro_osx_ansi.h` | | -|Swedish Pro (macOS, ISO) |`keymap_swedish_pro_osx_iso.h` | | +|Swedish (macOS, ANSI) |`keymap_swedish_mac_ansi.h` | | +|Swedish (macOS, ISO) |`keymap_swedish_mac_iso.h` | | +|Swedish Pro (macOS, ANSI) |`keymap_swedish_pro_mac_ansi.h` | | +|Swedish Pro (macOS, ISO) |`keymap_swedish_pro_mac_iso.h` | | |Turkish (F) |`keymap_turkish_f.h` |`sendstring_turkish_f.h` | |Turkish (Q) |`keymap_turkish_q.h` |`sendstring_turkish_q.h` | |Ukrainian |`keymap_ukrainian.h` | | There are also a few which are not quite language-specific, but useful if you are not using a QWERTY layout: -|Layout |Keycodes Header |Sendstring LUT Header | -|-------------------|------------------------|----------------------------| -|Colemak |`keymap_colemak.h` |`sendstring_colemak.h` | -|Dvorak |`keymap_dvorak.h` |`sendstring_dvorak.h` | -|Dvorak (French) |`keymap_dvorak_fr.h` |`sendstring_dvorak_fr.h` | -|Dvorak (Programmer)|`keymap_dvp.h` |`sendstring_dvp.h` | -|Norman |`keymap_norman.h` |`sendstring_norman.h` | -|Plover |`keymap_plover.h` | | -|Plover (Dvorak) |`keymap_plover_dvorak.h`| | -|Steno |`keymap_steno.h` | | -|Workman |`keymap_workman.h` |`sendstring_workman.h` | -|Workman (ZXCVM) |`keymap_workman_zxcvm.h`|`sendstring_workman_zxcvm.h`| +|Layout |Keycodes Header |Sendstring LUT Header | +|-------------------|----------------------------|--------------------------------| +|Colemak |`keymap_colemak.h` |`sendstring_colemak.h` | +|Dvorak |`keymap_dvorak.h` |`sendstring_dvorak.h` | +|Dvorak (French) |`keymap_dvorak_fr.h` |`sendstring_dvorak_fr.h` | +|Dvorak (Programmer)|`keymap_dvorak_programmer.h`|`sendstring_dvorak_programmer.h`| +|Norman |`keymap_norman.h` |`sendstring_norman.h` | +|Plover |`keymap_plover.h` | | +|Plover (Dvorak) |`keymap_plover_dvorak.h` | | +|Steno |`keymap_steno.h` | | +|Workman |`keymap_workman.h` |`sendstring_workman.h` | +|Workman (ZXCVM) |`keymap_workman_zxcvm.h` |`sendstring_workman_zxcvm.h` | diff --git a/keyboards/ai03/jp60/keymaps/default/keymap.c b/keyboards/ai03/jp60/keymaps/default/keymap.c index f26c2a9080e5..6b69dba9dd51 100644 --- a/keyboards/ai03/jp60/keymaps/default/keymap.c +++ b/keyboards/ai03/jp60/keymaps/default/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Defines names for use in layer keycodes and the keymap enum layer_names { diff --git a/keyboards/ai03/jp60/keymaps/via/keymap.c b/keyboards/ai03/jp60/keymaps/via/keymap.c index 5c8f9ecf65bd..efce7acf3cef 100644 --- a/keyboards/ai03/jp60/keymaps/via/keymap.c +++ b/keyboards/ai03/jp60/keymaps/via/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Defines names for use in layer keycodes and the keymap enum layer_names { diff --git a/keyboards/aozora/keymaps/default_all/keymap.c b/keyboards/aozora/keymaps/default_all/keymap.c index 3376f2e8cd38..a6e20e0e4e86 100644 --- a/keyboards/aozora/keymaps/default_all/keymap.c +++ b/keyboards/aozora/keymaps/default_all/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "sendstring_jis.h" // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避 +#include "sendstring_japanese.h" // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( diff --git a/keyboards/aozora/keymaps/via/keymap.c b/keyboards/aozora/keymaps/via/keymap.c index 3376f2e8cd38..a6e20e0e4e86 100644 --- a/keyboards/aozora/keymaps/via/keymap.c +++ b/keyboards/aozora/keymaps/via/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "sendstring_jis.h" // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避 +#include "sendstring_japanese.h" // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( diff --git a/keyboards/barracuda/keymaps/default/keymap.c b/keyboards/barracuda/keymaps/default/keymap.c index ebe2e8b4a5dc..a3170c1b4480 100644 --- a/keyboards/barracuda/keymaps/default/keymap.c +++ b/keyboards/barracuda/keymaps/default/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" /* keymap layers */ enum _layers { diff --git a/keyboards/barracuda/keymaps/via/keymap.c b/keyboards/barracuda/keymaps/via/keymap.c index ebe2e8b4a5dc..a3170c1b4480 100644 --- a/keyboards/barracuda/keymaps/via/keymap.c +++ b/keyboards/barracuda/keymaps/via/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" /* keymap layers */ enum _layers { diff --git a/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c index 97f7039a79cd..26ca151089d3 100644 --- a/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c +++ b/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings diff --git a/keyboards/basekeys/slice/rev1/keymaps/via/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/via/keymap.c index 900f1b3ba706..57b94c5bdf33 100644 --- a/keyboards/basekeys/slice/rev1/keymaps/via/keymap.c +++ b/keyboards/basekeys/slice/rev1/keymaps/via/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c index 375daaca9536..05de0e42d0be 100644 --- a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c +++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #include "split_util.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c index 9d8284dbd2d5..8db73ab8bd48 100644 --- a/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c +++ b/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c @@ -2,9 +2,9 @@ // hdbx から2行コピーさせて頂きました。 #include QMK_KEYBOARD_H -#include "keymap_jp.h" // qmk_firmware-master/quantum/keymap_extras/keymap_jp.h 日本語キーボード設定用 +#include "keymap_japanese.h" // qmk_firmware-master/quantum/keymap_extras/keymap_japanese.h 日本語キーボード設定用 // マクロが必要になったらコメントインすること -// #include // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避> +// #include "sendstring_japanese.h" // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避> extern keymap_config_t keymap_config; diff --git a/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c b/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c index 0931ce86b46e..bb3b6fac4820 100644 --- a/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c +++ b/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c @@ -2,8 +2,8 @@ // @leopard_gecko さんがPlanck用に作成されたキーマップをかなり参考にしています。 #include QMK_KEYBOARD_H -#include "keymap_jp.h" // qmk_firmware-master/quantum/keymap_extras/keymap_jp.h 日本語キーボード設定用 -#include // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避 +#include "keymap_japanese.h" // qmk_firmware-master/quantum/keymap_extras/keymap_japanese.h 日本語キーボード設定用 +#include "sendstring_japanese.h" // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避 extern keymap_config_t keymap_config; diff --git a/keyboards/biacco42/ergo42/keymaps/koba/keymap.c b/keyboards/biacco42/ergo42/keymaps/koba/keymap.c index 091d7fb9aff7..5d7f33745246 100644 --- a/keyboards/biacco42/ergo42/keymaps/koba/keymap.c +++ b/keyboards/biacco42/ergo42/keymaps/koba/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" enum { _WIN, diff --git a/keyboards/buzzard/keymaps/crehmann/keymap.c b/keyboards/buzzard/keymaps/crehmann/keymap.c index 842494c60acf..5a6ae49d8b34 100644 --- a/keyboards/buzzard/keymaps/crehmann/keymap.c +++ b/keyboards/buzzard/keymaps/crehmann/keymap.c @@ -2,7 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -#include "keymap_german_ch.h" +#include "keymap_swiss_de.h" #include "features/haptic_utils.h" #ifdef PS2_MOUSE_ENABLE diff --git a/keyboards/crkbd/keymaps/vayashiko/keymap.c b/keyboards/crkbd/keymaps/vayashiko/keymap.c index ecb629f30d99..f3cf5cb2f60e 100644 --- a/keyboards/crkbd/keymaps/vayashiko/keymap.c +++ b/keyboards/crkbd/keymaps/vayashiko/keymap.c @@ -17,7 +17,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" enum custom_layers { _QWERTY, diff --git a/keyboards/dz60/keymaps/default_abnt2/keymap.c b/keyboards/dz60/keymaps/default_abnt2/keymap.c index 3ed1484bd72c..d27e42e39053 100644 --- a/keyboards/dz60/keymaps/default_abnt2/keymap.c +++ b/keyboards/dz60/keymaps/default_abnt2/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_br_abnt2.h" +#include "keymap_brazilian_abnt2.h" /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * _______ can be used in place of KC_TRNS (transparent) * diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c index 18d6e667cc6a..e31391a67450 100644 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c +++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c @@ -6,10 +6,10 @@ #include "keymap_spanish.h" #include "keymap_hungarian.h" #include "keymap_swedish.h" -#include "keymap_br_abnt2.h" +#include "keymap_brazilian_abnt2.h" #include "keymap_canadian_multilingual.h" -#include "keymap_german_ch.h" -#include "keymap_jp.h" +#include "keymap_swiss_de.h" +#include "keymap_japanese.h" #include "keymap_bepo.h" #define KC_MAC_UNDO LGUI(KC_Z) diff --git a/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c b/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c index 493bee1cd405..d28f028563c7 100644 --- a/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c +++ b/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H -#include "keymap_br_abnt2.h" +#include "keymap_brazilian_abnt2.h" enum layer_names { _BL, diff --git a/keyboards/gl516/a52gl/keymaps/salicylic/keymap.c b/keyboards/gl516/a52gl/keymaps/salicylic/keymap.c index 4607d1dc5066..4a2e09501dbd 100644 --- a/keyboards/gl516/a52gl/keymaps/salicylic/keymap.c +++ b/keyboards/gl516/a52gl/keymaps/salicylic/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them diff --git a/keyboards/gl516/j73gl/keymaps/default/keymap.c b/keyboards/gl516/j73gl/keymaps/default/keymap.c index 846df7d2b7aa..c549e6b574b3 100644 --- a/keyboards/gl516/j73gl/keymaps/default/keymap.c +++ b/keyboards/gl516/j73gl/keymaps/default/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them diff --git a/keyboards/gl516/j73gl/keymaps/via/keymap.c b/keyboards/gl516/j73gl/keymaps/via/keymap.c index 3e8fba928d15..942775e4b0d8 100644 --- a/keyboards/gl516/j73gl/keymaps/via/keymap.c +++ b/keyboards/gl516/j73gl/keymaps/via/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/keymap.c b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/keymap.c index 3e8fba928d15..942775e4b0d8 100644 --- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/keymap.c +++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( diff --git a/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c b/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c index 819ac94e37be..fd0bc7f8e31f 100644 --- a/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c +++ b/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. diff --git a/keyboards/halfcliff/keymaps/default/keymap.c b/keyboards/halfcliff/keymaps/default/keymap.c index 02743f5d4949..aff1ffb1de0b 100644 --- a/keyboards/halfcliff/keymaps/default/keymap.c +++ b/keyboards/halfcliff/keymaps/default/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Defines names for use in layer keycodes and the keymap enum layer_names { diff --git a/keyboards/halfcliff/keymaps/via/keymap.c b/keyboards/halfcliff/keymaps/via/keymap.c index e0a825e7c307..424c56abe0f8 100644 --- a/keyboards/halfcliff/keymaps/via/keymap.c +++ b/keyboards/halfcliff/keymaps/via/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #define RAISE FN_MO13 #define LOWER FN_MO23 diff --git a/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c index 6efed6ac1a5b..020c70fc2196 100644 --- a/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c +++ b/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_br_abnt2.h" +#include "keymap_brazilian_abnt2.h" enum { LAYER_BASE, diff --git a/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c index 4bbf4c2cbc20..73113385d358 100644 --- a/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c +++ b/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c @@ -15,8 +15,8 @@ */ #include QMK_KEYBOARD_H -#include "keymap_br_abnt2.h" -#include "sendstring_br_abnt2.h" +#include "keymap_brazilian_abnt2.h" +#include "sendstring_brazilian_abnt2.h" enum { LAYER_BASE, diff --git a/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c index a7b127f08912..934ca4bed7ad 100644 --- a/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c +++ b/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_br_abnt2.h" +#include "keymap_brazilian_abnt2.h" enum { LAYER_BASE, diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c index 24b2a590124b..23b45ef317b0 100644 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #include #include #ifdef SSD1306OLED diff --git a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c index a92b05566e39..2e1464bedf3c 100644 --- a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c +++ b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #include #ifdef SSD1306OLED #include "ssd1306.h" diff --git a/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h b/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h index 0b811fd03ae2..163ae84fb401 100644 --- a/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h +++ b/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h @@ -16,7 +16,7 @@ #pragma once -#include "keymap_jp.h" +#include "keymap_japanese.h" // clang-format off /* Keymap for converting JIS to US */ diff --git a/keyboards/jones/v03/keymaps/default/keymap.c b/keyboards/jones/v03/keymaps/default/keymap.c index 05545c537386..4d408b5e1985 100644 --- a/keyboards/jones/v03/keymaps/default/keymap.c +++ b/keyboards/jones/v03/keymaps/default/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( diff --git a/keyboards/jones/v03/keymaps/default_jp/keymap.c b/keyboards/jones/v03/keymaps/default_jp/keymap.c index 54f90c3e57ee..1cf67fbedd49 100644 --- a/keyboards/jones/v03/keymaps/default_jp/keymap.c +++ b/keyboards/jones/v03/keymaps/default_jp/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Defines names for use in layer keycodes and the keymap enum layer_number { diff --git a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c index ba68b3dcf70d..efe23f823755 100644 --- a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c +++ b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Defines names for use in layer keycodes and the keymap enum layer_number { diff --git a/keyboards/jones/v1/keymaps/via/keymap.c b/keyboards/jones/v1/keymaps/via/keymap.c index 7cd1434bbc04..a326a7823324 100644 --- a/keyboards/jones/v1/keymaps/via/keymap.c +++ b/keyboards/jones/v1/keymaps/via/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Defines names for use in layer keycodes and the keymap enum layer_number { diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c b/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c index 3ce6afce2112..15e995bb1c52 100644 --- a/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c +++ b/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #define RGB_RMO RGB_RMOD diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c index 3ce6afce2112..15e995bb1c52 100644 --- a/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #define RGB_RMO RGB_RMOD diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c index daffb61e76df..e72d83f9d0b7 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_br_abnt2.h" +#include "keymap_brazilian_abnt2.h" enum layers { _WORKMAN, diff --git a/keyboards/kudox/rev1/keymaps/jis/keymap.c b/keyboards/kudox/rev1/keymaps/jis/keymap.c index 5de27ff8d42e..d6f06828cca5 100644 --- a/keyboards/kudox/rev1/keymaps/jis/keymap.c +++ b/keyboards/kudox/rev1/keymaps/jis/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include"keymap_jp.h" +#include"keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. diff --git a/keyboards/kudox/rev2/keymaps/jis/keymap.c b/keyboards/kudox/rev2/keymaps/jis/keymap.c index c78cea2331b4..40173a8cd3fd 100644 --- a/keyboards/kudox/rev2/keymaps/jis/keymap.c +++ b/keyboards/kudox/rev2/keymaps/jis/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include"keymap_jp.h" +#include"keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. diff --git a/keyboards/kudox/rev3/keymaps/jis/keymap.c b/keyboards/kudox/rev3/keymaps/jis/keymap.c index 28ee3f9214df..41b6fca1f2ec 100644 --- a/keyboards/kudox/rev3/keymaps/jis/keymap.c +++ b/keyboards/kudox/rev3/keymaps/jis/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include"keymap_jp.h" +#include"keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. diff --git a/keyboards/kudox_full/keymaps/jis/keymap.c b/keyboards/kudox_full/keymaps/jis/keymap.c index 5baa7d14d424..aa55fa50a436 100644 --- a/keyboards/kudox_full/keymaps/jis/keymap.c +++ b/keyboards/kudox_full/keymaps/jis/keymap.c @@ -2,7 +2,7 @@ // SPDX-License-Identifier: GPL-2.0+ #include QMK_KEYBOARD_H -#include"keymap_jp.h" +#include"keymap_japanese.h" enum layer_number { diff --git a/keyboards/majistic/keymaps/default/keymap.c b/keyboards/majistic/keymaps/default/keymap.c index 409c94d89158..925657d2fe40 100644 --- a/keyboards/majistic/keymaps/default/keymap.c +++ b/keyboards/majistic/keymaps/default/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Defines names for use in layer keycodes and the keymap enum layer_names { diff --git a/keyboards/marksard/treadstone32/keymaps/default/keymap.c b/keyboards/marksard/treadstone32/keymaps/default/keymap.c index 791fed059bcb..0f3e5e9e1278 100644 --- a/keyboards/marksard/treadstone32/keymaps/default/keymap.c +++ b/keyboards/marksard/treadstone32/keymaps/default/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c b/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c index 92518b11a7f3..49c1870fa92c 100644 --- a/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c +++ b/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/keyboards/numatreus/keymaps/hdbx/keymap.c b/keyboards/numatreus/keymaps/hdbx/keymap.c index 44b3fffe244d..5bc8c4d0e67a 100644 --- a/keyboards/numatreus/keymaps/hdbx/keymap.c +++ b/keyboards/numatreus/keymaps/hdbx/keymap.c @@ -4,8 +4,8 @@ // ・Muhenkan(入力文字なし/直接入力)に「IMEを無効化」を割り当て #include QMK_KEYBOARD_H -#include "keymap_jp.h" // qmk_firmware-master/quantum/keymap_extras/keymap_jp.h 日本語キーボード設定用 -#include // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避 +#include "keymap_japanese.h" // qmk_firmware-master/quantum/keymap_extras/keymap_japanese.h 日本語キーボード設定用 +#include "sendstring_japanese.h" // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避 // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. diff --git a/keyboards/numatreus/keymaps/like_jis/keymap.c b/keyboards/numatreus/keymaps/like_jis/keymap.c index eb9e9230d738..4189373e46eb 100644 --- a/keyboards/numatreus/keymaps/like_jis/keymap.c +++ b/keyboards/numatreus/keymaps/like_jis/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c index 4b102157d584..8cfc5a83858c 100644 --- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c +++ b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // clang-format off enum layers { _QWERTY, _LOWER, _RAISE, _ADJUST }; diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/keymap.c index 463d8476394e..ac6b4f49c5e7 100644 --- a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/keymap.c +++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" enum layer_number { _QWERTY = 0, diff --git a/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c index 75ff755651fa..515a6fcb071f 100644 --- a/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c +++ b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/keyboards/pico/65keys/keymaps/jis/keymap.c b/keyboards/pico/65keys/keymaps/jis/keymap.c index a3d2606613dd..35b01bbba452 100644 --- a/keyboards/pico/65keys/keymaps/jis/keymap.c +++ b/keyboards/pico/65keys/keymaps/jis/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include"keymap_jp.h" +#include"keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. diff --git a/keyboards/pico/70keys/keymaps/jis/keymap.c b/keyboards/pico/70keys/keymaps/jis/keymap.c index 73109245e96c..67d082d18901 100644 --- a/keyboards/pico/70keys/keymaps/jis/keymap.c +++ b/keyboards/pico/70keys/keymaps/jis/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include"keymap_jp.h" +#include"keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. diff --git a/keyboards/pisces/keymaps/default/keymap.c b/keyboards/pisces/keymaps/default/keymap.c index 39226d2f058c..a347a2e779a8 100644 --- a/keyboards/pisces/keymaps/default/keymap.c +++ b/keyboards/pisces/keymaps/default/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" /* keymap layers */ enum _layers { diff --git a/keyboards/pisces/keymaps/via/keymap.c b/keyboards/pisces/keymaps/via/keymap.c index 39226d2f058c..a347a2e779a8 100644 --- a/keyboards/pisces/keymaps/via/keymap.c +++ b/keyboards/pisces/keymaps/via/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" /* keymap layers */ enum _layers { diff --git a/keyboards/planck/keymaps/rai-suta/keymap.c b/keyboards/planck/keymaps/rai-suta/keymap.c index 8cc37dc651f2..07dae2b2abde 100644 --- a/keyboards/planck/keymaps/rai-suta/keymap.c +++ b/keyboards/planck/keymaps/rai-suta/keymap.c @@ -3,7 +3,7 @@ #include QMK_KEYBOARD_H #include "version.h" -#include "sendstring_jis.h" +#include "sendstring_japanese.h" // JIS keyboard #define JK_CIRC KC_EQL // ^ diff --git a/keyboards/planck/keymaps/sigul/keymap.c b/keyboards/planck/keymaps/sigul/keymap.c index 622e9f29cd29..2b100509b99b 100644 --- a/keyboards/planck/keymaps/sigul/keymap.c +++ b/keyboards/planck/keymaps/sigul/keymap.c @@ -13,7 +13,7 @@ #include QMK_KEYBOARD_H #include "muse.h" -#include "keymap_italian_osx_ansi.h" +#include "keymap_italian_mac_ansi.h" #include "sigul.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/ramonimbao/squishytkl/keymaps/jis/keymap.c b/keyboards/ramonimbao/squishytkl/keymaps/jis/keymap.c index d8debc9cc04a..7396c2b9d717 100644 --- a/keyboards/ramonimbao/squishytkl/keymaps/jis/keymap.c +++ b/keyboards/ramonimbao/squishytkl/keymaps/jis/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_jis( diff --git a/keyboards/ramonimbao/wete/v1/keymaps/jis/keymap.c b/keyboards/ramonimbao/wete/v1/keymaps/jis/keymap.c index 8d65932219c4..e83f88dc1d4b 100644 --- a/keyboards/ramonimbao/wete/v1/keymaps/jis/keymap.c +++ b/keyboards/ramonimbao/wete/v1/keymaps/jis/keymap.c @@ -17,7 +17,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_jis_rhnp( diff --git a/keyboards/rate/pistachio/keymaps/default/keymap.c b/keyboards/rate/pistachio/keymaps/default/keymap.c index 585807abdd77..e58042de9c24 100644 --- a/keyboards/rate/pistachio/keymaps/default/keymap.c +++ b/keyboards/rate/pistachio/keymaps/default/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern rgblight_config_t rgblight_config; diff --git a/keyboards/rate/pistachio/keymaps/rate/keymap.c b/keyboards/rate/pistachio/keymaps/rate/keymap.c index 34e1324aed99..b4d8d03982c7 100644 --- a/keyboards/rate/pistachio/keymaps/rate/keymap.c +++ b/keyboards/rate/pistachio/keymaps/rate/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" enum layer_names { diff --git a/keyboards/rate/pistachio/keymaps/via/keymap.c b/keyboards/rate/pistachio/keymaps/via/keymap.c index 357253ac2dbd..376a9b37c7f1 100644 --- a/keyboards/rate/pistachio/keymaps/via/keymap.c +++ b/keyboards/rate/pistachio/keymaps/via/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" enum layer_names { diff --git a/keyboards/rate/pistachio_pro/keymaps/default/keymap.c b/keyboards/rate/pistachio_pro/keymaps/default/keymap.c index 3fe6e8a5f522..7140d9236136 100644 --- a/keyboards/rate/pistachio_pro/keymaps/default/keymap.c +++ b/keyboards/rate/pistachio_pro/keymaps/default/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H #include -#include "keymap_jp.h" +#include "keymap_japanese.h" #include "lib/bme280.h" // Defines names for use in layer keycodes and the keymap diff --git a/keyboards/rate/pistachio_pro/keymaps/rate/keymap.c b/keyboards/rate/pistachio_pro/keymaps/rate/keymap.c index 7aa70c51d164..47851f0d6a1a 100644 --- a/keyboards/rate/pistachio_pro/keymaps/rate/keymap.c +++ b/keyboards/rate/pistachio_pro/keymaps/rate/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H #include -#include "keymap_jp.h" +#include "keymap_japanese.h" #include "lib/bme280.h" // Defines names for use in layer keycodes and the keymap diff --git a/keyboards/rate/pistachio_pro/keymaps/via/keymap.c b/keyboards/rate/pistachio_pro/keymaps/via/keymap.c index f30254320b29..62e6dc96dc82 100644 --- a/keyboards/rate/pistachio_pro/keymaps/via/keymap.c +++ b/keyboards/rate/pistachio_pro/keymaps/via/keymap.c @@ -15,7 +15,7 @@ */ #include QMK_KEYBOARD_H #include -#include "keymap_jp.h" +#include "keymap_japanese.h" #include "lib/bme280.h" // Defines names for use in layer keycodes and the keymap diff --git a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c index cc540b891ffa..45a1b8a5666e 100644 --- a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c +++ b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c index fc2d26ad7a31..efdf01b2e713 100644 --- a/keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c +++ b/keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c b/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c index 1265a301ed6b..738915ce344b 100644 --- a/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c +++ b/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" enum layer_names { _BASE, diff --git a/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c b/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c index c37d87662c9c..3faff2e36855 100755 --- a/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" enum layer_names { _BASE, diff --git a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c index ad12f49d5b47..4e1f2acd059e 100644 --- a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c index cbe4e57dcffe..06d7972a2ed6 100644 --- a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them diff --git a/keyboards/salicylic_acid3/ajisai74/keymaps/jis/keymap.c b/keyboards/salicylic_acid3/ajisai74/keymaps/jis/keymap.c index b0d31b03bdc9..95ba7fc9eb5e 100644 --- a/keyboards/salicylic_acid3/ajisai74/keymaps/jis/keymap.c +++ b/keyboards/salicylic_acid3/ajisai74/keymaps/jis/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them diff --git a/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c index f8b430af1cfe..978a63ab358f 100644 --- a/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them diff --git a/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c index c841371dba73..8f2c4151f8e5 100644 --- a/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. diff --git a/keyboards/salicylic_acid3/getta25/keymaps/oled/keymap.c b/keyboards/salicylic_acid3/getta25/keymaps/oled/keymap.c index 7d8151b86d3b..0ee669ce847d 100644 --- a/keyboards/salicylic_acid3/getta25/keymaps/oled/keymap.c +++ b/keyboards/salicylic_acid3/getta25/keymaps/oled/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #ifdef OLED_ENABLE static uint32_t oled_timer = 0; diff --git a/keyboards/salicylic_acid3/jisplit89/keymaps/default/keymap.c b/keyboards/salicylic_acid3/jisplit89/keymaps/default/keymap.c index e782a4b451b3..cedad726dd8f 100644 --- a/keyboards/salicylic_acid3/jisplit89/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/jisplit89/keymaps/default/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them diff --git a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c index ffd3b853b5bd..4e8addf6b71a 100644 --- a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them diff --git a/keyboards/salicylic_acid3/jisplit89/keymaps/via/keymap.c b/keyboards/salicylic_acid3/jisplit89/keymaps/via/keymap.c index b2ceacb0e6f5..41f90afe4426 100644 --- a/keyboards/salicylic_acid3/jisplit89/keymaps/via/keymap.c +++ b/keyboards/salicylic_acid3/jisplit89/keymaps/via/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c index dddb6c043246..3807d9b6f312 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c index 7566d4c00ac3..d2abe704c6d9 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c index 1925067d223f..d22f9ecb2f72 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c index 9be4bcb4223e..8a2dbf051f50 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c index 8fb0ce26f112..4201d79a2eea 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c index 7f50e89f3c4a..23786da91514 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c index 01039aaecc0a..cc30e5332d3e 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c index 40e92393daf5..db46075c8fe4 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c index df80e0772bee..c91716cdd49e 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c index e7de4e50f089..5944c00fc5d3 100644 --- a/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/default/keymap.c b/keyboards/salicylic_acid3/nknl7jp/keymaps/default/keymap.c index 0f90eb883c57..38552c8dbdca 100644 --- a/keyboards/salicylic_acid3/nknl7jp/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/nknl7jp/keymaps/default/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c index 65f95f0173a4..e6004ba11153 100644 --- a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/via/keymap.c b/keyboards/salicylic_acid3/nknl7jp/keymaps/via/keymap.c index 660fb2a15901..35c78c71fdfc 100644 --- a/keyboards/salicylic_acid3/nknl7jp/keymaps/via/keymap.c +++ b/keyboards/salicylic_acid3/nknl7jp/keymaps/via/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern uint8_t is_master; diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c index 06fa89c9c732..3dc7faa39427 100644 --- a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/satt/comet46/keymaps/satt/keymap.c b/keyboards/satt/comet46/keymaps/satt/keymap.c index 57aa6359345d..cdd094f7470f 100644 --- a/keyboards/satt/comet46/keymaps/satt/keymap.c +++ b/keyboards/satt/comet46/keymaps/satt/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H #include "keymap_jis2us.h" #include "action_pseudo_lut.h" -#include "keymap_jp.h" +#include "keymap_japanese.h" #ifdef SSD1306OLED #include "ssd1306.h" #endif diff --git a/keyboards/satt/vision/keymaps/satt/keymap.c b/keyboards/satt/vision/keymaps/satt/keymap.c index 95296534087d..4289fbc20a60 100644 --- a/keyboards/satt/vision/keymaps/satt/keymap.c +++ b/keyboards/satt/vision/keymaps/satt/keymap.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H #include "keymap_jis2us.h" #include "action_pseudo.h" -#include "keymap_jp.h" +#include "keymap_japanese.h" enum custom_keycodes { JIS2US = SAFE_RANGE, /* JIS2US keycode */ diff --git a/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h b/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h index 0b811fd03ae2..163ae84fb401 100644 --- a/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h +++ b/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h @@ -16,7 +16,7 @@ #pragma once -#include "keymap_jp.h" +#include "keymap_japanese.h" // clang-format off /* Keymap for converting JIS to US */ diff --git a/keyboards/takashicompany/heavy_left/keymaps/default/keymap.c b/keyboards/takashicompany/heavy_left/keymaps/default/keymap.c index 31ac47c047d5..768c5f78757d 100644 --- a/keyboards/takashicompany/heavy_left/keymaps/default/keymap.c +++ b/keyboards/takashicompany/heavy_left/keymaps/default/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Defines the keycodes used by our macros in process_record_user enum custom_keycodes { diff --git a/keyboards/takashicompany/heavy_left/keymaps/takashicompany/keymap.c b/keyboards/takashicompany/heavy_left/keymaps/takashicompany/keymap.c index 11beb28ca0e1..1833206af3f9 100644 --- a/keyboards/takashicompany/heavy_left/keymaps/takashicompany/keymap.c +++ b/keyboards/takashicompany/heavy_left/keymaps/takashicompany/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Defines the keycodes used by our macros in process_record_user enum custom_keycodes { diff --git a/keyboards/takashicompany/heavy_left/keymaps/via/keymap.c b/keyboards/takashicompany/heavy_left/keymaps/via/keymap.c index 796d27914daa..b351d57c8272 100644 --- a/keyboards/takashicompany/heavy_left/keymaps/via/keymap.c +++ b/keyboards/takashicompany/heavy_left/keymaps/via/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" // Defines the keycodes used by our macros in process_record_user enum custom_keycodes { diff --git a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c index 28640db0fdd9..494c06bd732e 100644 --- a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c +++ b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" enum Layer { diff --git a/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c index 509b49780281..1332367f85cd 100644 --- a/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c +++ b/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H -#include "keymap_jp.h" +#include "keymap_japanese.h" extern keymap_config_t keymap_config; diff --git a/layouts/community/ergodox/ishigoya-jp/keymap.c b/layouts/community/ergodox/ishigoya-jp/keymap.c index c70cbba8198a..e9d89d1bbc1b 100644 --- a/layouts/community/ergodox/ishigoya-jp/keymap.c +++ b/layouts/community/ergodox/ishigoya-jp/keymap.c @@ -1,7 +1,7 @@ #include QMK_KEYBOARD_H #include "debug.h" #include "action_layer.h" -#include "keymap_jp.h" +#include "keymap_japanese.h" static uint16_t start; diff --git a/layouts/community/ergodox/kristian/keymap.c b/layouts/community/ergodox/kristian/keymap.c index c3bb9e047aa5..3fdccb790a8d 100644 --- a/layouts/community/ergodox/kristian/keymap.c +++ b/layouts/community/ergodox/kristian/keymap.c @@ -2,10 +2,10 @@ #include "debug.h" #include "action_layer.h" #include "version.h" -#include "keymap_fr_ch.h" +#include "keymap_swiss_fr.h" #include "keymap_french.h" #include "keymap_german.h" -#include "keymap_german_ch.h" +#include "keymap_swiss_de.h" #include "keymap_nordic.h" #include "keymap_norwegian.h" #include "keymap_spanish.h" diff --git a/layouts/community/ergodox/osx_de/keymap.c b/layouts/community/ergodox/osx_de/keymap.c index 581aecf2d39a..5c3d7e49eac8 100644 --- a/layouts/community/ergodox/osx_de/keymap.c +++ b/layouts/community/ergodox/osx_de/keymap.c @@ -1,7 +1,7 @@ #include QMK_KEYBOARD_H #include "debug.h" #include "action_layer.h" -#include "keymap_german_osx.h" +#include "keymap_german_mac_iso.h" #define BASE 0 #define SYMB 1 diff --git a/layouts/community/ergodox/osx_de_adnw_koy/keymap.c b/layouts/community/ergodox/osx_de_adnw_koy/keymap.c index 18335652ffbb..b8ffc2e51f96 100644 --- a/layouts/community/ergodox/osx_de_adnw_koy/keymap.c +++ b/layouts/community/ergodox/osx_de_adnw_koy/keymap.c @@ -5,13 +5,13 @@ #include "keymap_neo2.h" #include "keymap_uk.h" #include "keymap_colemak.h" -#include "keymap_french_osx.h" +#include "keymap_french_mac_iso.h" #include "keymap_nordic.h" #include "keymap_dvorak.h" #include "keymap_german.h" #include "keymap_norwegian.h" -#include "keymap_fr_ch.h" -#include "keymap_german_osx.h" +#include "keymap_swiss_fr.h" +#include "keymap_german_mac_iso.h" #include "keymap_spanish.h" #include "keymap_bepo.h" diff --git a/layouts/community/ergodox/osx_de_experimental/keymap.c b/layouts/community/ergodox/osx_de_experimental/keymap.c index 17ca4362e698..8228b5e371d4 100644 --- a/layouts/community/ergodox/osx_de_experimental/keymap.c +++ b/layouts/community/ergodox/osx_de_experimental/keymap.c @@ -8,8 +8,8 @@ #include "keymap_dvorak.h" #include "keymap_german.h" #include "keymap_norwegian.h" -#include "keymap_fr_ch.h" -#include "keymap_german_osx.h" +#include "keymap_swiss_fr.h" +#include "keymap_german_mac_iso.h" #include "keymap_spanish.h" #include "keymap_bepo.h" diff --git a/layouts/community/ergodox/osx_fr/keymap.c b/layouts/community/ergodox/osx_fr/keymap.c index 924e9ee8aed1..886e54208a3f 100644 --- a/layouts/community/ergodox/osx_fr/keymap.c +++ b/layouts/community/ergodox/osx_fr/keymap.c @@ -2,7 +2,7 @@ #include QMK_KEYBOARD_H #include "debug.h" #include "action_layer.h" -#include "keymap_french_osx.h" +#include "keymap_french_mac_iso.h" #define BASE 0 // default layer #define SYMB 1 // symbols diff --git a/layouts/default/60_abnt2/default_60_abnt2/keymap.c b/layouts/default/60_abnt2/default_60_abnt2/keymap.c index 00b9a8de262e..2d64fc2dfc2e 100644 --- a/layouts/default/60_abnt2/default_60_abnt2/keymap.c +++ b/layouts/default/60_abnt2/default_60_abnt2/keymap.c @@ -1,6 +1,6 @@ #include QMK_KEYBOARD_H -#include "keymap_br_abnt2.h" +#include "keymap_brazilian_abnt2.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* diff --git a/quantum/keymap_extras/keymap_br_abnt2.h b/quantum/keymap_extras/keymap_brazilian_abnt2.h similarity index 100% rename from quantum/keymap_extras/keymap_br_abnt2.h rename to quantum/keymap_extras/keymap_brazilian_abnt2.h diff --git a/quantum/keymap_extras/keymap_dvp.h b/quantum/keymap_extras/keymap_dvorak_programmer.h similarity index 100% rename from quantum/keymap_extras/keymap_dvp.h rename to quantum/keymap_extras/keymap_dvorak_programmer.h diff --git a/quantum/keymap_extras/keymap_french_osx.h b/quantum/keymap_extras/keymap_french_mac_iso.h similarity index 100% rename from quantum/keymap_extras/keymap_french_osx.h rename to quantum/keymap_extras/keymap_french_mac_iso.h diff --git a/quantum/keymap_extras/keymap_german_osx.h b/quantum/keymap_extras/keymap_german_mac_iso.h similarity index 100% rename from quantum/keymap_extras/keymap_german_osx.h rename to quantum/keymap_extras/keymap_german_mac_iso.h diff --git a/quantum/keymap_extras/keymap_italian_osx_ansi.h b/quantum/keymap_extras/keymap_italian_mac_ansi.h similarity index 100% rename from quantum/keymap_extras/keymap_italian_osx_ansi.h rename to quantum/keymap_extras/keymap_italian_mac_ansi.h diff --git a/quantum/keymap_extras/keymap_italian_osx_iso.h b/quantum/keymap_extras/keymap_italian_mac_iso.h similarity index 100% rename from quantum/keymap_extras/keymap_italian_osx_iso.h rename to quantum/keymap_extras/keymap_italian_mac_iso.h diff --git a/quantum/keymap_extras/keymap_jp.h b/quantum/keymap_extras/keymap_japanese.h similarity index 100% rename from quantum/keymap_extras/keymap_jp.h rename to quantum/keymap_extras/keymap_japanese.h diff --git a/quantum/keymap_extras/keymap_portuguese_osx_iso.h b/quantum/keymap_extras/keymap_portuguese_mac_iso.h similarity index 100% rename from quantum/keymap_extras/keymap_portuguese_osx_iso.h rename to quantum/keymap_extras/keymap_portuguese_mac_iso.h diff --git a/quantum/keymap_extras/keymap_swedish_osx_ansi.h b/quantum/keymap_extras/keymap_swedish_mac_ansi.h similarity index 100% rename from quantum/keymap_extras/keymap_swedish_osx_ansi.h rename to quantum/keymap_extras/keymap_swedish_mac_ansi.h diff --git a/quantum/keymap_extras/keymap_swedish_osx_iso.h b/quantum/keymap_extras/keymap_swedish_mac_iso.h similarity index 100% rename from quantum/keymap_extras/keymap_swedish_osx_iso.h rename to quantum/keymap_extras/keymap_swedish_mac_iso.h diff --git a/quantum/keymap_extras/keymap_swedish_pro_osx_ansi.h b/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h similarity index 100% rename from quantum/keymap_extras/keymap_swedish_pro_osx_ansi.h rename to quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h diff --git a/quantum/keymap_extras/keymap_swedish_pro_osx_iso.h b/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h similarity index 100% rename from quantum/keymap_extras/keymap_swedish_pro_osx_iso.h rename to quantum/keymap_extras/keymap_swedish_pro_mac_iso.h diff --git a/quantum/keymap_extras/keymap_german_ch.h b/quantum/keymap_extras/keymap_swiss_de.h similarity index 100% rename from quantum/keymap_extras/keymap_german_ch.h rename to quantum/keymap_extras/keymap_swiss_de.h diff --git a/quantum/keymap_extras/keymap_fr_ch.h b/quantum/keymap_extras/keymap_swiss_fr.h similarity index 100% rename from quantum/keymap_extras/keymap_fr_ch.h rename to quantum/keymap_extras/keymap_swiss_fr.h diff --git a/quantum/keymap_extras/sendstring_br_abnt2.h b/quantum/keymap_extras/sendstring_brazilian_abnt2.h similarity index 99% rename from quantum/keymap_extras/sendstring_br_abnt2.h rename to quantum/keymap_extras/sendstring_brazilian_abnt2.h index 1ca2d285924a..b52ce4958ab7 100644 --- a/quantum/keymap_extras/sendstring_br_abnt2.h +++ b/quantum/keymap_extras/sendstring_brazilian_abnt2.h @@ -18,7 +18,7 @@ #pragma once -#include "keymap_br_abnt2.h" +#include "keymap_brazilian_abnt2.h" #include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_dvp.h b/quantum/keymap_extras/sendstring_dvorak_programmer.h similarity index 99% rename from quantum/keymap_extras/sendstring_dvp.h rename to quantum/keymap_extras/sendstring_dvorak_programmer.h index 74b595524da5..f19bb6f4b215 100644 --- a/quantum/keymap_extras/sendstring_dvp.h +++ b/quantum/keymap_extras/sendstring_dvorak_programmer.h @@ -18,7 +18,7 @@ #pragma once -#include "keymap_dvp.h" +#include "keymap_dvorak_programmer.h" #include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_french_osx.h b/quantum/keymap_extras/sendstring_french_mac_iso.h similarity index 99% rename from quantum/keymap_extras/sendstring_french_osx.h rename to quantum/keymap_extras/sendstring_french_mac_iso.h index cc9b857cd005..1033c3991fe4 100644 --- a/quantum/keymap_extras/sendstring_french_osx.h +++ b/quantum/keymap_extras/sendstring_french_mac_iso.h @@ -18,7 +18,7 @@ #pragma once -#include "keymap_french_osx.h" +#include "keymap_french_mac_iso.h" #include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_german_osx.h b/quantum/keymap_extras/sendstring_german_mac_iso.h similarity index 99% rename from quantum/keymap_extras/sendstring_german_osx.h rename to quantum/keymap_extras/sendstring_german_mac_iso.h index d25c8c099583..8345dbaaa145 100644 --- a/quantum/keymap_extras/sendstring_german_osx.h +++ b/quantum/keymap_extras/sendstring_german_mac_iso.h @@ -18,7 +18,7 @@ #pragma once -#include "keymap_german_osx.h" +#include "keymap_german_mac_iso.h" #include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_italian_osx_ansi.h b/quantum/keymap_extras/sendstring_italian_mac_ansi.h similarity index 99% rename from quantum/keymap_extras/sendstring_italian_osx_ansi.h rename to quantum/keymap_extras/sendstring_italian_mac_ansi.h index c61874015f58..97b5164e23b3 100644 --- a/quantum/keymap_extras/sendstring_italian_osx_ansi.h +++ b/quantum/keymap_extras/sendstring_italian_mac_ansi.h @@ -18,7 +18,7 @@ #pragma once -#include "keymap_italian_osx_ansi.h" +#include "keymap_italian_mac_ansi.h" #include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_italian_osx_iso.h b/quantum/keymap_extras/sendstring_italian_mac_iso.h similarity index 99% rename from quantum/keymap_extras/sendstring_italian_osx_iso.h rename to quantum/keymap_extras/sendstring_italian_mac_iso.h index eb5853b0069d..d82e8bbddf1f 100644 --- a/quantum/keymap_extras/sendstring_italian_osx_iso.h +++ b/quantum/keymap_extras/sendstring_italian_mac_iso.h @@ -18,7 +18,7 @@ #pragma once -#include "keymap_italian_osx_iso.h" +#include "keymap_italian_mac_iso.h" #include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_jis.h b/quantum/keymap_extras/sendstring_japanese.h similarity index 99% rename from quantum/keymap_extras/sendstring_jis.h rename to quantum/keymap_extras/sendstring_japanese.h index 58335ad41d07..13628d702388 100644 --- a/quantum/keymap_extras/sendstring_jis.h +++ b/quantum/keymap_extras/sendstring_japanese.h @@ -18,7 +18,7 @@ #pragma once -#include "keymap_jp.h" +#include "keymap_japanese.h" #include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_portuguese_osx_iso.h b/quantum/keymap_extras/sendstring_portuguese_mac_iso.h similarity index 99% rename from quantum/keymap_extras/sendstring_portuguese_osx_iso.h rename to quantum/keymap_extras/sendstring_portuguese_mac_iso.h index f4ac1b37afe0..5d43c66279be 100644 --- a/quantum/keymap_extras/sendstring_portuguese_osx_iso.h +++ b/quantum/keymap_extras/sendstring_portuguese_mac_iso.h @@ -18,7 +18,7 @@ #pragma once -#include "keymap_portuguese_osx_iso.h" +#include "keymap_portuguese_mac_iso.h" #include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_german_ch.h b/quantum/keymap_extras/sendstring_swiss_de.h similarity index 99% rename from quantum/keymap_extras/sendstring_german_ch.h rename to quantum/keymap_extras/sendstring_swiss_de.h index b8f74712470e..f6aa19210c63 100644 --- a/quantum/keymap_extras/sendstring_german_ch.h +++ b/quantum/keymap_extras/sendstring_swiss_de.h @@ -18,7 +18,7 @@ #pragma once -#include "keymap_german_ch.h" +#include "keymap_swiss_de.h" #include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_fr_ch.h b/quantum/keymap_extras/sendstring_swiss_fr.h similarity index 99% rename from quantum/keymap_extras/sendstring_fr_ch.h rename to quantum/keymap_extras/sendstring_swiss_fr.h index 160a2efb055b..665be6d7b469 100644 --- a/quantum/keymap_extras/sendstring_fr_ch.h +++ b/quantum/keymap_extras/sendstring_swiss_fr.h @@ -18,7 +18,7 @@ #pragma once -#include "keymap_fr_ch.h" +#include "keymap_swiss_fr.h" #include "quantum.h" // clang-format off diff --git a/users/sigul/sigul.c b/users/sigul/sigul.c index 16bcd411d999..725881ad8a58 100644 --- a/users/sigul/sigul.c +++ b/users/sigul/sigul.c @@ -1,4 +1,4 @@ -#include "keymap_italian_osx_ansi.h" +#include "keymap_italian_mac_ansi.h" #include "sigul.h" __attribute__ ((weak)) From b7771ec25b96f2b88a7fa4201081e10ca6fbb9d4 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 15 May 2022 20:26:27 +0100 Subject: [PATCH 0686/1832] RESET -> QK_BOOT default keymaps (#17037) --- keyboards/0_sixty/keymaps/default/keymap.c | 2 +- keyboards/0_sixty/keymaps/via/keymap.c | 2 +- keyboards/0xcb/static/keymaps/default/keymap.c | 2 +- keyboards/0xcb/static/keymaps/via/keymap.c | 2 +- .../1up60hse/keymaps/default/keymap.c | 2 +- .../1upkeyboards/1up60hse/keymaps/via/keymap.c | 2 +- .../1up60hte/keymaps/default/keymap.c | 2 +- .../1upkeyboards/1up60hte/keymaps/via/keymap.c | 2 +- .../1up60rgb/keymaps/tsangan/keymap.c | 2 +- .../1upkeyboards/1up60rgb/keymaps/via/keymap.c | 2 +- .../1upkeyboards/super16/keymaps/via/keymap.c | 2 +- .../super16v2/keymaps/default/keymap.c | 2 +- .../1upkeyboards/super16v2/keymaps/via/keymap.c | 2 +- .../1upkeyboards/sweet16/keymaps/via/keymap.c | 2 +- .../25keys/aleth42/keymaps/default/keymap.c | 2 +- keyboards/25keys/aleth42/keymaps/via/keymap.c | 2 +- keyboards/25keys/zinc/keymaps/default/keymap.c | 2 +- keyboards/25keys/zinc/keymaps/via/keymap.c | 4 ++-- keyboards/30wer/keymaps/default/keymap.c | 2 +- .../40percentclub/4x4/keymaps/default/keymap.c | 4 ++-- keyboards/40percentclub/4x4/keymaps/via/keymap.c | 4 ++-- .../40percentclub/5x5/keymaps/default/keymap.c | 4 ++-- keyboards/40percentclub/5x5/keymaps/via/keymap.c | 4 ++-- .../foobar/keymaps/default/keymap.c | 2 +- .../gherkin/keymaps/default/keymap.c | 2 +- .../40percentclub/luddite/keymaps/via/keymap.c | 2 +- .../40percentclub/nein/keymaps/default/keymap.c | 2 +- .../40percentclub/nein/keymaps/via/keymap.c | 2 +- .../40percentclub/nori/keymaps/default/keymap.c | 2 +- .../tomato/keymaps/default/keymap.c | 2 +- keyboards/45_ats/keymaps/default/keymap.c | 2 +- keyboards/45_ats/keymaps/via/keymap.c | 2 +- .../4pplet/aekiso60/keymaps/default/keymap.c | 2 +- keyboards/4pplet/aekiso60/keymaps/via/keymap.c | 2 +- .../4pplet/bootleg/keymaps/default/keymap.c | 2 +- keyboards/4pplet/bootleg/keymaps/via/keymap.c | 2 +- .../eagle_viper_rep/keymaps/default/keymap.c | 2 +- .../4pplet/eagle_viper_rep/keymaps/via/keymap.c | 2 +- .../4pplet/steezy60/keymaps/default/keymap.c | 2 +- keyboards/4pplet/steezy60/keymaps/via/keymap.c | 2 +- .../4pplet/waffling60/keymaps/default/keymap.c | 2 +- keyboards/4pplet/waffling60/keymaps/via/keymap.c | 2 +- keyboards/4pplet/waffling80/keymaps/via/keymap.c | 6 +++--- .../4pplet/yakiimo/keymaps/default/keymap.c | 2 +- keyboards/4pplet/yakiimo/keymaps/via/keymap.c | 6 +++--- keyboards/8pack/keymaps/default/keymap.c | 2 +- .../acekeyboard/titan60/keymaps/default/keymap.c | 2 +- .../acekeyboard/titan60/keymaps/iso/keymap.c | 2 +- .../acekeyboard/titan60/keymaps/tsangan/keymap.c | 2 +- .../elongate/delta/keymaps/default/keymap.c | 2 +- .../acheron/elongate/delta/keymaps/via/keymap.c | 2 +- .../acheron/shark/alpha/keymaps/default/keymap.c | 2 +- .../acheron/shark/alpha/keymaps/via/keymap.c | 2 +- .../ada/ada1800mini/keymaps/default/keymap.c | 2 +- .../ada/infinity81/keymaps/default/keymap.c | 2 +- .../adpenrose/kintsugi/keymaps/default/keymap.c | 2 +- .../adpenrose/kintsugi/keymaps/via/keymap.c | 2 +- .../constellation/keymaps/default/keymap.c | 2 +- .../aeboards/ext65/keymaps/default/keymap.c | 2 +- keyboards/aeboards/ext65/keymaps/via/keymap.c | 2 +- .../breeze/keymaps/default/keymap.c | 2 +- .../afternoonlabs/breeze/keymaps/via/keymap.c | 2 +- .../oceanbreeze/keymaps/default/keymap.c | 2 +- .../southern_breeze/keymaps/default/keymap.c | 2 +- .../southern_breeze/keymaps/via/keymap.c | 2 +- .../summer_breeze/keymaps/default/keymap.c | 2 +- .../summer_breeze/keymaps/via/keymap.c | 2 +- keyboards/ai03/equinox/keymaps/default/keymap.c | 2 +- keyboards/ai03/jp60/keymaps/default/keymap.c | 2 +- keyboards/ai03/jp60/keymaps/via/keymap.c | 2 +- keyboards/ai03/lunar/keymaps/default/keymap.c | 2 +- keyboards/ai03/lunar/keymaps/via/keymap.c | 2 +- keyboards/ai03/orbit_x/keymaps/default/keymap.c | 2 +- keyboards/ai03/orbit_x/keymaps/via/keymap.c | 2 +- keyboards/ai03/polaris/keymaps/default/keymap.c | 2 +- .../keymaps/default_ansi_tsangan/keymap.c | 2 +- keyboards/ai03/quasar/keymaps/default/keymap.c | 2 +- keyboards/ai03/vega/keymaps/default/keymap.c | 2 +- keyboards/ai03/vega/keymaps/via/keymap.c | 2 +- .../ai03/voyager60_alps/keymaps/via/keymap.c | 2 +- keyboards/akb/eb46/keymaps/default/keymap.c | 2 +- keyboards/akb/raine/keymaps/default/keymap.c | 2 +- keyboards/al1/keymaps/default/keymap.c | 2 +- keyboards/al1/keymaps/via/keymap.c | 2 +- keyboards/alf/x11/keymaps/default/keymap.c | 2 +- keyboards/alf/x2/keymaps/default/keymap.c | 2 +- .../swift65/solder/keymaps/default/keymap.c | 2 +- .../swift65/solder/keymaps/via/keymap.c | 2 +- keyboards/alpha/keymaps/default/keymap.c | 2 +- .../amjkeyboard/amj40/keymaps/default/keymap.c | 2 +- .../amj40/keymaps/default_625u_space/keymap.c | 2 +- .../keymaps/default_ortho_275u_space/keymap.c | 2 +- .../keymaps/default_ortho_600u_space/keymap.c | 2 +- .../amjkeyboard/amj66/keymaps/default/keymap.c | 2 +- .../amjkeyboard/amj96/keymaps/default/keymap.c | 2 +- .../amjkeyboard/amjpad/keymaps/default/keymap.c | 2 +- keyboards/ano/keymaps/default/keymap.c | 2 +- .../anomalykb/a65i/keymaps/default/keymap.c | 2 +- keyboards/anomalykb/a65i/keymaps/iso/keymap.c | 2 +- keyboards/anomalykb/a65i/keymaps/via/keymap.c | 2 +- keyboards/aos/tkl/keymaps/default/keymap.c | 2 +- keyboards/aos/tkl/keymaps/via/keymap.c | 2 +- keyboards/aozora/keymaps/default/keymap.c | 2 +- .../aplyard/aplx6/rev1/keymaps/default/keymap.c | 4 ++-- keyboards/ares/keymaps/default/keymap.c | 2 +- keyboards/arisu/keymaps/default/keymap.c | 2 +- keyboards/arisu/keymaps/via/keymap.c | 2 +- keyboards/ash1800/keymaps/default/keymap.c | 2 +- keyboards/ash_xiix/keymaps/default/keymap.c | 2 +- .../atlantis/ak81_ve/keymaps/default/keymap.c | 2 +- keyboards/atlantis/ak81_ve/keymaps/via/keymap.c | 2 +- keyboards/atlas_65/keymaps/default/keymap.c | 2 +- keyboards/atlas_65/keymaps/via/keymap.c | 2 +- keyboards/atreus/keymaps/default/keymap.c | 2 +- keyboards/atreus/keymaps/via/keymap.c | 2 +- keyboards/atreus62/keymaps/default/keymap.c | 2 +- keyboards/atxkb/1894/keymaps/default/keymap.c | 2 +- .../1894/keymaps/default_ansi_tsangan/keymap.c | 2 +- .../foundation_gamma/keymaps/default/keymap.c | 2 +- .../foundation_gamma/keymaps/via/keymap.c | 6 +++--- keyboards/bacca70/keymaps/default/keymap.c | 2 +- keyboards/bacca70/keymaps/via/keymap.c | 6 +++--- keyboards/baguette/keymaps/default/keymap.c | 2 +- keyboards/baguette/keymaps/iso/keymap.c | 2 +- .../barleycorn_smd/keymaps/default/keymap.c | 2 +- keyboards/barleycorn_smd/keymaps/iso/keymap.c | 2 +- keyboards/barleycorn_smd/keymaps/via/keymap.c | 2 +- .../basekeys/slice/keymaps/default/keymap.c | 2 +- .../keymaps/default_split_left_space/keymap.c | 2 +- .../slice/rev1/keymaps/default_all/keymap.c | 2 +- .../keymaps/default_split_backspace/keymap.c | 2 +- .../basekeys/trifecta/keymaps/default/keymap.c | 2 +- keyboards/basekeys/trifecta/keymaps/via/keymap.c | 2 +- keyboards/basketweave/keymaps/default/keymap.c | 2 +- keyboards/basketweave/keymaps/via/keymap.c | 2 +- .../charybdis/3x5/keymaps/default/keymap.c | 4 ++-- .../bastardkb/charybdis/3x5/keymaps/via/keymap.c | 4 ++-- .../charybdis/4x6/keymaps/default/keymap.c | 4 ++-- .../bastardkb/charybdis/4x6/keymaps/via/keymap.c | 2 +- .../bastardkb/scylla/keymaps/default/keymap.c | 4 ++-- keyboards/bastardkb/tbk/keymaps/default/keymap.c | 4 ++-- .../bastardkb/tbkmini/keymaps/default/keymap.c | 2 +- keyboards/bear_face/v1/keymaps/default/keymap.c | 4 ++-- keyboards/bear_face/v2/keymaps/default/keymap.c | 4 ++-- .../bear_face/v2/keymaps/default_iso/keymap.c | 4 ++-- keyboards/bemeier/bmek/keymaps/default/keymap.c | 4 ++-- keyboards/bemeier/bmek/keymaps/via/keymap.c | 4 ++-- keyboards/bfake/keymaps/default/keymap.c | 2 +- .../ergo42/keymaps/default-illustrator/keymap.c | 2 +- .../ergo42/keymaps/default-underglow/keymap.c | 4 ++-- .../biacco42/ergo42/keymaps/default/keymap.c | 2 +- keyboards/bioi/g60/keymaps/default/keymap.c | 2 +- keyboards/bioi/g60/keymaps/via/keymap.c | 2 +- keyboards/bioi/g60ble/keymaps/via/keymap.c | 2 +- keyboards/bioi/morgan65/keymaps/default/keymap.c | 2 +- keyboards/bioi/morgan65/keymaps/via/keymap.c | 2 +- keyboards/blackplum/keymaps/default/keymap.c | 2 +- keyboards/blackplum/keymaps/via/keymap.c | 2 +- keyboards/blank/blank01/keymaps/default/keymap.c | 2 +- keyboards/blank/blank01/keymaps/via/keymap.c | 2 +- .../manibus/keymaps/default/keymap.c | 2 +- .../boardrun/bizarre/keymaps/default/keymap.c | 6 +++--- keyboards/boardrun/bizarre/keymaps/via/keymap.c | 6 +++--- .../boardrun/classic/keymaps/default/keymap.c | 8 ++++---- keyboards/boardrun/classic/keymaps/via/keymap.c | 4 ++-- .../boardsource/3x4/keymaps/default/keymap.c | 2 +- keyboards/boardsource/3x4/keymaps/via/keymap.c | 2 +- .../boardsource/4x12/keymaps/default/keymap.c | 2 +- keyboards/boardsource/4x12/keymaps/via/keymap.c | 2 +- .../boardsource/5x12/keymaps/default/keymap.c | 4 ++-- keyboards/boardsource/5x12/keymaps/via/keymap.c | 4 ++-- .../boardsource/microdox/keymaps/via/keymap.c | 2 +- .../technik_o/keymaps/default/keymap.c | 2 +- .../boardsource/technik_o/keymaps/via/keymap.c | 2 +- .../technik_s/keymaps/default/keymap.c | 2 +- .../boardsource/technik_s/keymaps/via/keymap.c | 2 +- .../the_mark/keymaps/default/keymap.c | 2 +- .../the_mark/keymaps/default_ansi/keymap.c | 2 +- .../keymaps/default_ansi_split_bs_space/keymap.c | 2 +- .../the_mark/keymaps/default_iso/keymap.c | 2 +- .../keymaps/default_iso_split_bs_space/keymap.c | 2 +- .../boardsource/the_mark/keymaps/via/keymap.c | 2 +- keyboards/boardwalk/keymaps/default/keymap.c | 4 ++-- .../boardwalk/keymaps/default_2u_arrow/keymap.c | 4 ++-- .../boardwalk/keymaps/default_2x2u/keymap.c | 8 ++++---- .../keymaps/default_625u_arrow/keymap.c | 4 ++-- .../boardwalk/keymaps/default_ortho_7u/keymap.c | 4 ++-- .../keymaps/default_ortho_hhkb/keymap.c | 4 ++-- keyboards/boardwalk/keymaps/via/keymap.c | 4 ++-- .../boston_meetup/2019/keymaps/default/keymap.c | 2 +- .../ghost_squid/keymaps/default/keymap.c | 2 +- .../pegasushoof/keymaps/default/keymap.c | 2 +- .../pegasushoof/keymaps/default_jis/keymap.c | 2 +- .../buildakb/potato65/keymaps/default/keymap.c | 2 +- keyboards/buildakb/potato65/keymaps/via/keymap.c | 2 +- .../buildakb/potato65hs/keymaps/default/keymap.c | 2 +- .../buildakb/potato65hs/keymaps/via/keymap.c | 2 +- .../buildakb/potato65s/keymaps/default/keymap.c | 2 +- .../buildakb/potato65s/keymaps/via/keymap.c | 2 +- .../cypher/rev6/keymaps/default/keymap.c | 2 +- .../cypher/rev6/keymaps/default_iso/keymap.c | 2 +- .../cypher/rev6/keymaps/via/keymap.c | 2 +- .../serpent65/keymaps/default/keymap.c | 2 +- .../caffeinated/serpent65/keymaps/via/keymap.c | 2 +- .../canary/canary60rgb/keymaps/default/keymap.c | 4 ++-- .../canary/canary60rgb/keymaps/via/keymap.c | 4 ++-- .../cannonkeys/adelie/keymaps/default/keymap.c | 2 +- keyboards/cannonkeys/adelie/keymaps/via/keymap.c | 2 +- .../cannonkeys/aella/keymaps/default/keymap.c | 2 +- keyboards/cannonkeys/aella/keymaps/via/keymap.c | 2 +- .../cannonkeys/an_c/keymaps/default/keymap.c | 2 +- .../cannonkeys/an_c/keymaps/tsangan/keymap.c | 2 +- keyboards/cannonkeys/an_c/keymaps/via/keymap.c | 2 +- .../cannonkeys/atlas/keymaps/default/keymap.c | 2 +- keyboards/cannonkeys/atlas/keymaps/via/keymap.c | 2 +- .../atlas_alps/keymaps/default/keymap.c | 4 ++-- .../cannonkeys/atlas_alps/keymaps/via/keymap.c | 4 ++-- .../cannonkeys/balance/keymaps/default/keymap.c | 2 +- .../cannonkeys/balance/keymaps/via/keymap.c | 2 +- .../chimera65/keymaps/default/keymap.c | 2 +- .../cannonkeys/chimera65/keymaps/via/keymap.c | 2 +- .../cannonkeys/db60/keymaps/default/keymap.c | 2 +- keyboards/cannonkeys/db60/keymaps/iso/keymap.c | 2 +- .../cannonkeys/db60/keymaps/tsangan/keymap.c | 2 +- keyboards/cannonkeys/db60/keymaps/via/keymap.c | 2 +- .../devastatingtkl/keymaps/default/keymap.c | 2 +- .../devastatingtkl/keymaps/via/keymap.c | 2 +- .../cannonkeys/hoodrowg/keymaps/default/keymap.c | 2 +- .../cannonkeys/hoodrowg/keymaps/via/keymap.c | 2 +- .../instant60/keymaps/default/keymap.c | 2 +- .../instant60/keymaps/tsangan/keymap.c | 2 +- .../cannonkeys/instant60/keymaps/via/keymap.c | 2 +- .../instant65/keymaps/default/keymap.c | 2 +- .../cannonkeys/instant65/keymaps/via/keymap.c | 2 +- .../cannonkeys/iron165/keymaps/default/keymap.c | 2 +- .../obliterated75/keymaps/default/keymap.c | 2 +- .../obliterated75/keymaps/via/keymap.c | 2 +- .../cannonkeys/onyx/keymaps/default/keymap.c | 2 +- keyboards/cannonkeys/onyx/keymaps/via/keymap.c | 2 +- .../cannonkeys/ortho48/keymaps/default/keymap.c | 2 +- .../cannonkeys/ortho48/keymaps/via/keymap.c | 2 +- .../cannonkeys/ortho60/keymaps/default/keymap.c | 2 +- .../cannonkeys/ortho60/keymaps/via/keymap.c | 2 +- .../cannonkeys/ortho75/keymaps/default/keymap.c | 4 ++-- .../cannonkeys/practice60/keymaps/via/keymap.c | 2 +- .../practice65/keymaps/default/keymap.c | 2 +- .../cannonkeys/rekt1800/keymaps/default/keymap.c | 2 +- .../cannonkeys/rekt1800/keymaps/via/keymap.c | 2 +- .../sagittarius/keymaps/default/keymap.c | 2 +- .../cannonkeys/sagittarius/keymaps/via/keymap.c | 2 +- .../satisfaction75/keymaps/default/keymap.c | 2 +- .../satisfaction75/keymaps/via/keymap.c | 2 +- .../cannonkeys/savage65/keymaps/default/keymap.c | 2 +- .../cannonkeys/savage65/keymaps/via/keymap.c | 2 +- .../cannonkeys/tmov2/keymaps/default/keymap.c | 2 +- keyboards/cannonkeys/tmov2/keymaps/via/keymap.c | 2 +- .../tsukuyomi/keymaps/default/keymap.c | 2 +- .../cannonkeys/tsukuyomi/keymaps/via/keymap.c | 2 +- .../vicious40/keymaps/default/keymap.c | 2 +- .../cannonkeys/vicious40/keymaps/via/keymap.c | 2 +- .../capsunlocked/cu24/keymaps/default/keymap.c | 2 +- .../capsunlocked/cu65/keymaps/default/keymap.c | 2 +- keyboards/capsunlocked/cu65/keymaps/iso/keymap.c | 2 +- keyboards/capsunlocked/cu65/keymaps/via/keymap.c | 2 +- .../capsunlocked/cu7/keymaps/default/keymap.c | 2 +- .../capsunlocked/cu75/keymaps/default/keymap.c | 4 ++-- keyboards/capsunlocked/cu75/keymaps/iso/keymap.c | 2 +- .../cu80/v2_ansi/keymaps/default/keymap.c | 2 +- .../cu80/v2_ansi/keymaps/via/keymap.c | 2 +- .../cu80/v2_iso/keymaps/default/keymap.c | 2 +- .../cu80/v2_iso/keymaps/via/keymap.c | 2 +- keyboards/cest73/tkm/keymaps/default/keymap.c | 2 +- keyboards/chalice/keymaps/default/keymap.c | 2 +- keyboards/chalice/keymaps/via/keymap.c | 2 +- keyboards/charue/charon/keymaps/default/keymap.c | 2 +- keyboards/charue/charon/keymaps/via/keymap.c | 2 +- .../axon40/keymaps/default/keymap.c | 4 ++-- .../checkerboards/axon40/keymaps/via/keymap.c | 4 ++-- .../candybar_ortho/keymaps/default/keymap.c | 8 ++++---- .../candybar_ortho/keymaps/via/keymap.c | 8 ++++---- .../g_idb60/keymaps/default/keymap.c | 8 ++++---- .../checkerboards/g_idb60/keymaps/via/keymap.c | 8 ++++---- .../checkerboards/nop60/keymaps/default/keymap.c | 8 ++++---- .../checkerboards/nop60/keymaps/via/keymap.c | 6 +++--- .../phoenix45_ortho/keymaps/default/keymap.c | 2 +- .../phoenix45_ortho/keymaps/via/keymap.c | 4 ++-- .../plexus75/keymaps/default/keymap.c | 12 ++++++------ .../plexus75/keymaps/default_3u/keymap.c | 12 ++++++------ .../plexus75/keymaps/default_7u/keymap.c | 4 ++-- .../checkerboards/plexus75/keymaps/via/keymap.c | 12 ++++++------ .../plexus75_he/keymaps/default/keymap.c | 12 ++++++------ .../plexus75_he/keymaps/via/keymap.c | 16 ++++++++-------- .../pursuit40/keymaps/default/keymap.c | 4 ++-- .../checkerboards/pursuit40/keymaps/via/keymap.c | 4 ++-- .../checkerboards/quark/keymaps/default/keymap.c | 4 ++-- .../quark/keymaps/default_4x12/keymap.c | 4 ++-- .../quark/keymaps/default_4x12_2x225u/keymap.c | 4 ++-- .../quark/keymaps/default_4x12_2x3u/keymap.c | 4 ++-- .../quark/keymaps/default_5x12_2x3u/keymap.c | 4 ++-- .../quark/keymaps/default_mit/keymap.c | 4 ++-- .../checkerboards/quark/keymaps/via/keymap.c | 4 ++-- .../quark_lp/keymaps/default/keymap.c | 4 ++-- .../checkerboards/quark_lp/keymaps/via/keymap.c | 8 ++++---- .../quark_plus/keymaps/default/keymap.c | 4 ++-- .../quark_plus/keymaps/via/keymap.c | 6 +++--- .../quark_squared/keymaps/default/keymap.c | 4 ++-- .../quark_squared/keymaps/via/keymap.c | 8 ++++---- .../ud40_ortho_alt/keymaps/default/keymap.c | 8 ++++---- .../ud40_ortho_alt/keymaps/via/keymap.c | 4 ++-- .../cb1800/keymaps/default/keymap.c | 2 +- .../cherrybstudio/cb1800/keymaps/via/keymap.c | 2 +- .../cb87rgb/keymaps/default/keymap.c | 2 +- .../cheshire/curiosity/keymaps/default/keymap.c | 4 ++-- .../chickenman/ciel/keymaps/default/keymap.c | 2 +- keyboards/chickenman/ciel/keymaps/via/keymap.c | 2 +- keyboards/chlx/merro60/keymaps/ansi/keymap.c | 2 +- keyboards/chlx/merro60/keymaps/default/keymap.c | 2 +- keyboards/chlx/merro60/keymaps/iso/keymap.c | 2 +- keyboards/chlx/merro60/keymaps/tsangan/keymap.c | 2 +- keyboards/chlx/merro60/keymaps/via/keymap.c | 2 +- .../ckeys/handwire_101/keymaps/default/keymap.c | 4 ++-- keyboards/ckeys/obelus/keymaps/default/keymap.c | 4 ++-- keyboards/ckeys/thedora/keymaps/default/keymap.c | 4 ++-- .../ckeys/washington/keymaps/default/keymap.c | 2 +- .../clawsome/coupe/keymaps/default/keymap.c | 2 +- .../clawsome/sedan/keymaps/default/keymap.c | 2 +- keyboards/clueboard/60/keymaps/default/keymap.c | 2 +- .../clueboard/60/keymaps/default_aek/keymap.c | 2 +- keyboards/clueboard/66/keymaps/default/keymap.c | 2 +- keyboards/clueboard/66/keymaps/via/keymap.c | 2 +- .../66_hotswap/gen1/keymaps/default/keymap.c | 2 +- .../prototype/keymaps/default/keymap.c | 2 +- .../coarse/cordillera/keymaps/default/keymap.c | 2 +- keyboards/coarse/cordillera/keymaps/via/keymap.c | 2 +- keyboards/coarse/ixora/keymaps/default/keymap.c | 4 ++-- keyboards/coarse/vinta/keymaps/default/keymap.c | 2 +- keyboards/compound/keymaps/default/keymap.c | 2 +- keyboards/compound/keymaps/via/keymap.c | 2 +- keyboards/contender/keymaps/default/keymap.c | 2 +- keyboards/contra/keymaps/default/keymap.c | 2 +- keyboards/contra/keymaps/via/keymap.c | 2 +- .../converter/a1200/keymaps/default/keymap.c | 2 +- .../converter/m0110_usb/keymaps/default/keymap.c | 2 +- .../discipline/keymaps/default/keymap.c | 2 +- .../discipline/keymaps/iso/keymap.c | 2 +- .../discipline/keymaps/via/keymap.c | 2 +- .../mullet/keymaps/default/keymap.c | 4 ++-- .../mysterium/keymaps/default/keymap.c | 2 +- .../mysterium/keymaps/iso/keymap.c | 2 +- .../mysterium/keymaps/via/keymap.c | 2 +- .../romeo/keymaps/default/keymap.c | 2 +- .../coseyfannitutti/romeo/keymaps/via/keymap.c | 2 +- .../cozykeys/bloomer/v2/keymaps/default/keymap.c | 2 +- .../cozykeys/bloomer/v3/keymaps/default/keymap.c | 2 +- .../cozykeys/speedo/v3/keymaps/default/keymap.c | 2 +- keyboards/cradio/keymaps/default/keymap.c | 2 +- keyboards/craftwalk/keymaps/default/keymap.c | 2 +- keyboards/crawlpad/keymaps/default/keymap.c | 2 +- .../crazy_keyboard_68/keymaps/default/keymap.c | 2 +- keyboards/crbn/keymaps/default/keymap.c | 2 +- keyboards/crbn/keymaps/via/keymap.c | 2 +- .../creatkeebs/glacier/keymaps/via/keymap.c | 6 +++--- keyboards/crin/keymaps/default/keymap.c | 2 +- keyboards/crin/keymaps/via/keymap.c | 2 +- keyboards/crkbd/keymaps/default/keymap.c | 2 +- keyboards/crkbd/keymaps/via/keymap.c | 2 +- .../cutie_club/borsdorf/keymaps/default/keymap.c | 2 +- .../cutie_club/borsdorf/keymaps/via/keymap.c | 2 +- .../cutie_club/wraith/keymaps/default/keymap.c | 2 +- keyboards/cx60/keymaps/default/keymap.c | 2 +- keyboards/cx60/keymaps/via/keymap.c | 2 +- .../dailycraft/claw44/keymaps/default/keymap.c | 4 ++-- keyboards/dailycraft/claw44/keymaps/via/keymap.c | 4 ++-- .../wings42/rev1/keymaps/default/keymap.c | 4 ++-- .../dailycraft/wings42/rev1/keymaps/via/keymap.c | 4 ++-- .../rev1_extkeys/keymaps/default/keymap.c | 4 ++-- .../wings42/rev1_extkeys/keymaps/via/keymap.c | 4 ++-- .../wings42/rev2/keymaps/default/keymap.c | 4 ++-- .../dailycraft/wings42/rev2/keymaps/via/keymap.c | 4 ++-- .../daji/seis_cinco/keymaps/default/keymap.c | 2 +- keyboards/daji/seis_cinco/keymaps/via/keymap.c | 2 +- keyboards/db/db63/keymaps/default/keymap.c | 2 +- .../flatbread60/keymaps/default/keymap.c | 2 +- .../delikeeb/flatbread60/keymaps/via/keymap.c | 2 +- .../vaguettelite/keymaps/default/keymap.c | 2 +- .../keymaps/default_625u_universal/keymap.c | 2 +- .../delikeeb/vaguettelite/keymaps/via/keymap.c | 2 +- .../delikeeb/vanana/keymaps/default/keymap.c | 4 ++-- keyboards/delikeeb/vanana/keymaps/via/keymap.c | 2 +- .../delikeeb/vaneela/keymaps/default/keymap.c | 2 +- keyboards/delikeeb/vaneela/keymaps/via/keymap.c | 2 +- .../delikeeb/vaneelaex/keymaps/default/keymap.c | 2 +- .../delikeeb/vaneelaex/keymaps/via/keymap.c | 2 +- .../delikeeb/waaffle/keymaps/default/keymap.c | 2 +- keyboards/delikeeb/waaffle/keymaps/via/keymap.c | 2 +- keyboards/deltasplit75/keymaps/default/keymap.c | 2 +- .../dm9records/lain/keymaps/default/keymap.c | 2 +- keyboards/dm9records/lain/keymaps/via/keymap.c | 2 +- .../dm9records/plaid/keymaps/default/keymap.c | 2 +- keyboards/do60/keymaps/default/keymap.c | 2 +- keyboards/do60/keymaps/via/keymap.c | 2 +- .../budget96/keymaps/default/keymap.c | 2 +- .../donutcables/budget96/keymaps/via/keymap.c | 2 +- .../doodboard/duckboard/keymaps/default/keymap.c | 2 +- .../duckboard_r2/keymaps/default/keymap.c | 4 ++-- .../doodboard/duckboard_r2/keymaps/via/keymap.c | 4 ++-- keyboards/doro67/multi/keymaps/default/keymap.c | 2 +- .../doro67/multi/keymaps/default_iso/keymap.c | 2 +- .../doro67/multi/keymaps/default_multi/keymap.c | 2 +- keyboards/doro67/multi/keymaps/via/keymap.c | 2 +- .../doro67/regular/keymaps/default/keymap.c | 2 +- keyboards/doro67/regular/keymaps/via/keymap.c | 2 +- keyboards/doro67/rgb/keymaps/default/keymap.c | 2 +- keyboards/doro67/rgb/keymaps/via/keymap.c | 2 +- keyboards/dp60/keymaps/default/keymap.c | 2 +- keyboards/dp60/keymaps/via/keymap.c | 2 +- keyboards/draculad/keymaps/default/keymap.c | 4 ++-- .../draytronics/daisy/keymaps/default/keymap.c | 2 +- .../draytronics/elise/keymaps/default/keymap.c | 4 ++-- .../elise/keymaps/default_iso/keymap.c | 4 ++-- .../elise_v2/keymaps/default/keymap.c | 4 ++-- .../elise_v2/keymaps/default_iso/keymap.c | 4 ++-- keyboards/drewkeys/iskar/keymaps/via/keymap.c | 2 +- .../dtisaac/dosa40rgb/keymaps/default/keymap.c | 2 +- .../dtisaac/dtisaac01/keymaps/default/keymap.c | 2 +- keyboards/dtisaac/dtisaac01/keymaps/via/keymap.c | 6 +++--- .../duck/eagle_viper/v2/keymaps/default/keymap.c | 2 +- .../duck/eagle_viper/v2/keymaps/via/keymap.c | 2 +- .../duck/lightsaver/keymaps/default/keymap.c | 2 +- keyboards/duck/octagon/keymaps/default/keymap.c | 2 +- keyboards/duck/orion/v3/keymaps/default/keymap.c | 2 +- keyboards/duck/tcv3/keymaps/default/keymap.c | 2 +- keyboards/duck/tcv3/keymaps/via/keymap.c | 2 +- keyboards/dumbo/keymaps/default/keymap.c | 4 ++-- keyboards/dumbpad/v0x/keymaps/default/keymap.c | 2 +- .../v0x_dualencoder/keymaps/default/keymap.c | 2 +- .../dumbpad/v0x_right/keymaps/default/keymap.c | 2 +- keyboards/dumbpad/v1x/keymaps/default/keymap.c | 2 +- .../v1x_dualencoder/keymaps/default/keymap.c | 2 +- .../dumbpad/v1x_right/keymaps/default/keymap.c | 2 +- keyboards/dz60/keymaps/default/keymap.c | 2 +- keyboards/dz60/keymaps/via/keymap.c | 2 +- keyboards/dztech/duo_s/keymaps/default/keymap.c | 2 +- keyboards/dztech/duo_s/keymaps/via/keymap.c | 2 +- .../dztech/dz60rgb/keymaps/default/keymap.c | 4 ++-- keyboards/dztech/dz60rgb/keymaps/via/keymap.c | 4 ++-- .../dztech/dz60rgb_ansi/keymaps/default/keymap.c | 4 ++-- .../dztech/dz60rgb_ansi/keymaps/via/keymap.c | 4 ++-- .../dztech/dz60rgb_wkl/keymaps/default/keymap.c | 4 ++-- .../dztech/dz60rgb_wkl/keymaps/via/keymap.c | 4 ++-- .../dztech/dz64rgb/keymaps/default/keymap.c | 4 ++-- keyboards/dztech/dz64rgb/keymaps/via/keymap.c | 4 ++-- .../dztech/dz65rgb/keymaps/default/keymap.c | 2 +- keyboards/dztech/dz65rgb/keymaps/via/keymap.c | 2 +- keyboards/dztech/dz96/keymaps/default/keymap.c | 2 +- keyboards/dztech/dz96/keymaps/iso/keymap.c | 2 +- keyboards/dztech/dz96/keymaps/via/keymap.c | 2 +- keyboards/e88/keymaps/default/keymap.c | 4 ++-- keyboards/e88/keymaps/via/keymap.c | 8 ++++---- .../ealdin/quadrant/keymaps/default/keymap.c | 2 +- keyboards/ealdin/quadrant/keymaps/via/keymap.c | 2 +- .../eason/capsule65/keymaps/default/keymap.c | 2 +- keyboards/eason/capsule65/keymaps/via/keymap.c | 6 +++--- .../isometria_75/rev1/keymaps/default/keymap.c | 2 +- .../isometria_75/rev1/keymaps/via/keymap.c | 2 +- keyboards/eco/keymaps/default/keymap.c | 4 ++-- keyboards/edda/keymaps/default/keymap.c | 2 +- .../edi/hardlight/mk1/keymaps/default/keymap.c | 2 +- .../edi/hardlight/mk2/keymaps/default/keymap.c | 2 +- .../edi/standaside/keymaps/default/keymap.c | 2 +- keyboards/eek/keymaps/default/keymap.c | 2 +- keyboards/ein_60/keymaps/default/keymap.c | 4 ++-- keyboards/emajesty/eiri/keymaps/default/keymap.c | 2 +- keyboards/emi20/keymaps/default/keymap.c | 2 +- keyboards/ep/40/keymaps/default/keymap.c | 2 +- keyboards/epoch80/keymaps/default/keymap.c | 2 +- keyboards/epoch80/keymaps/iso/keymap.c | 2 +- keyboards/epoch80/keymaps/tsangan/keymap.c | 2 +- keyboards/epoch80/keymaps/via/keymap.c | 6 +++--- keyboards/epoch80/keymaps/wkl/keymap.c | 2 +- keyboards/ergoslab/keymaps/default/keymap.c | 2 +- keyboards/ergotravel/keymaps/default/keymap.c | 2 +- .../esca/getawayvan/keymaps/default/keymap.c | 2 +- keyboards/esca/getawayvan/keymaps/via/keymap.c | 2 +- .../getawayvan_f042/keymaps/default/keymap.c | 2 +- .../eternal_keypad/keymaps/default/keymap.c | 2 +- keyboards/eternal_keypad/keymaps/via/keymap.c | 2 +- keyboards/eve/meteor/keymaps/default/keymap.c | 2 +- keyboards/eve/meteor/keymaps/via/keymap.c | 2 +- keyboards/evyd13/atom47/keymaps/default/keymap.c | 4 ++-- keyboards/evyd13/atom47/keymaps/via/keymap.c | 4 ++-- keyboards/evyd13/eon40/keymaps/default/keymap.c | 2 +- keyboards/evyd13/eon40/keymaps/via/keymap.c | 2 +- keyboards/evyd13/eon65/keymaps/default/keymap.c | 2 +- keyboards/evyd13/eon65/keymaps/via/keymap.c | 2 +- keyboards/evyd13/eon75/keymaps/default/keymap.c | 2 +- keyboards/evyd13/eon75/keymaps/via/keymap.c | 2 +- keyboards/evyd13/eon95/keymaps/default/keymap.c | 2 +- keyboards/evyd13/eon95/keymaps/via/keymap.c | 2 +- keyboards/evyd13/gud70/keymaps/default/keymap.c | 2 +- keyboards/evyd13/gud70/keymaps/via/keymap.c | 2 +- .../evyd13/minitomic/keymaps/default/keymap.c | 2 +- keyboards/evyd13/mx5160/keymaps/default/keymap.c | 2 +- .../evyd13/plain60/keymaps/default/keymap.c | 2 +- .../evyd13/pockettype/keymaps/default/keymap.c | 2 +- .../evyd13/quackfire/keymaps/default/keymap.c | 2 +- keyboards/evyd13/quackfire/keymaps/via/keymap.c | 2 +- .../evyd13/solheim68/keymaps/default/keymap.c | 2 +- keyboards/evyd13/ta65/keymaps/default/keymap.c | 2 +- keyboards/evyd13/wasdat/keymaps/via/keymap.c | 2 +- .../evyd13/wasdat_code/keymaps/default/keymap.c | 2 +- .../evyd13/wasdat_code/keymaps/via/keymap.c | 2 +- .../evyd13/wonderland/keymaps/default/keymap.c | 2 +- keyboards/evyd13/wonderland/keymaps/via/keymap.c | 2 +- keyboards/exclusive/e65/keymaps/default/keymap.c | 2 +- .../exclusive/e65/keymaps/default_iso/keymap.c | 2 +- keyboards/exclusive/e65/keymaps/via/keymap.c | 2 +- .../exclusive/e6_rgb/keymaps/default/keymap.c | 2 +- keyboards/exclusive/e6_rgb/keymaps/via/keymap.c | 2 +- .../e6v2/le_bmc/keymaps/default/keymap.c | 2 +- .../exclusive/e6v2/le_bmc/keymaps/via/keymap.c | 2 +- .../exclusive/e6v2/oe/keymaps/default/keymap.c | 2 +- .../e6v2/oe_bmc/keymaps/default/keymap.c | 2 +- .../exclusive/e6v2/oe_bmc/keymaps/via/keymap.c | 2 +- .../exclusive/e7v1/keymaps/default/keymap.c | 2 +- keyboards/exclusive/e7v1/keymaps/via/keymap.c | 2 +- .../exclusive/e7v1se/keymaps/default/keymap.c | 2 +- .../e85/hotswap/keymaps/default/keymap.c | 2 +- .../e85/hotswap/keymaps/tsangan/keymap.c | 2 +- .../exclusive/e85/hotswap/keymaps/via/keymap.c | 2 +- .../e85/soldered/keymaps/default/keymap.c | 2 +- .../exclusive/e85/soldered/keymaps/via/keymap.c | 2 +- keyboards/exent/keymaps/default/keymap.c | 2 +- keyboards/exent/keymaps/via/keymap.c | 2 +- .../eyeohdesigns/babyv/keymaps/default/keymap.c | 4 ++-- .../eyeohdesigns/sprh/keymaps/default/keymap.c | 2 +- .../theboulevard/keymaps/default/keymap.c | 2 +- keyboards/facew/keymaps/default/keymap.c | 2 +- keyboards/fallacy/keymaps/default/keymap.c | 2 +- .../fallacy/keymaps/default_split_bs/keymap.c | 2 +- keyboards/fallacy/keymaps/via/keymap.c | 2 +- keyboards/fc660c/keymaps/default_rgb/keymap.c | 2 +- keyboards/feels/feels65/keymaps/default/keymap.c | 2 +- keyboards/feels/feels65/keymaps/via/keymap.c | 2 +- keyboards/ferris/keymaps/via/keymap.c | 2 +- keyboards/fjlabs/ad65/keymaps/default/keymap.c | 2 +- keyboards/fjlabs/ad65/keymaps/via/keymap.c | 2 +- keyboards/fjlabs/bks65/keymaps/default/keymap.c | 2 +- keyboards/fjlabs/bks65/keymaps/via/keymap.c | 2 +- .../fjlabs/bks65solder/keymaps/default/keymap.c | 2 +- .../fjlabs/bks65solder/keymaps/via/keymap.c | 2 +- keyboards/fjlabs/kyuu/keymaps/default/keymap.c | 2 +- keyboards/fjlabs/kyuu/keymaps/via/keymap.c | 2 +- keyboards/fjlabs/ldk65/keymaps/default/keymap.c | 2 +- keyboards/fjlabs/ldk65/keymaps/via/keymap.c | 2 +- .../fjlabs/midway60/keymaps/default/keymap.c | 2 +- keyboards/fjlabs/midway60/keymaps/via/keymap.c | 2 +- .../fjlabs/mk61rgbansi/keymaps/default/keymap.c | 2 +- .../fjlabs/mk61rgbansi/keymaps/via/keymap.c | 2 +- .../fjlabs/polaris/keymaps/default/keymap.c | 2 +- keyboards/fjlabs/polaris/keymaps/via/keymap.c | 2 +- .../fjlabs/ready100/keymaps/default/keymap.c | 2 +- keyboards/fjlabs/ready100/keymaps/via/keymap.c | 2 +- .../fjlabs/tf60ansi/keymaps/default/keymap.c | 2 +- keyboards/fjlabs/tf60ansi/keymaps/via/keymap.c | 2 +- keyboards/fjlabs/tf60v2/keymaps/default/keymap.c | 2 +- keyboards/fjlabs/tf60v2/keymaps/via/keymap.c | 2 +- .../fjlabs/tf65rgbv2/keymaps/default/keymap.c | 2 +- keyboards/fjlabs/tf65rgbv2/keymaps/via/keymap.c | 2 +- keyboards/fleuron/keymaps/default/keymap.c | 4 ++-- keyboards/flx/virgo/keymaps/default/keymap.c | 2 +- keyboards/flx/virgo/keymaps/via/keymap.c | 2 +- .../flygone60/rev3/keymaps/default/keymap.c | 2 +- keyboards/flygone60/rev3/keymaps/via/keymap.c | 2 +- keyboards/for_science/keymaps/default/keymap.c | 2 +- keyboards/forever65/keymaps/via/keymap.c | 2 +- keyboards/fortitude60/keymaps/default/keymap.c | 2 +- keyboards/fortitude60/keymaps/via/keymap.c | 2 +- .../key65/hotswap/keymaps/default/keymap.c | 2 +- .../foxlab/key65/hotswap/keymaps/via/keymap.c | 2 +- .../key65/universal/keymaps/default/keymap.c | 2 +- .../foxlab/key65/universal/keymaps/via/keymap.c | 2 +- .../leaf60/hotswap/keymaps/default/keymap.c | 2 +- .../foxlab/leaf60/hotswap/keymaps/via/keymap.c | 2 +- .../leaf60/universal/keymaps/default/keymap.c | 2 +- .../foxlab/leaf60/universal/keymaps/via/keymap.c | 2 +- keyboards/foxlab/time80/keymaps/default/keymap.c | 2 +- .../time_re/hotswap/keymaps/default/keymap.c | 2 +- .../foxlab/time_re/hotswap/keymaps/via/keymap.c | 2 +- .../time_re/universal/keymaps/default/keymap.c | 2 +- .../time_re/universal/keymaps/via/keymap.c | 2 +- keyboards/fractal/keymaps/default/keymap.c | 2 +- keyboards/free_willy/keymaps/default/keymap.c | 2 +- .../frooastboard/nano/keymaps/default/keymap.c | 2 +- keyboards/funky40/keymaps/default/keymap.c | 2 +- .../gami_studio/lex60/keymaps/default/keymap.c | 2 +- keyboards/gentleman65/keymaps/default/keymap.c | 2 +- keyboards/gentleman65/keymaps/via/keymap.c | 2 +- .../genesis/hotswap/keymaps/default/keymap.c | 2 +- .../genesis/hotswap/keymaps/via/keymap.c | 2 +- .../genesis/solder/keymaps/default/keymap.c | 2 +- .../genesis/solder/keymaps/via/keymap.c | 2 +- keyboards/gh60/revc/keymaps/via/keymap.c | 2 +- keyboards/gh60/satan/keymaps/default/keymap.c | 2 +- keyboards/gh60/satan/keymaps/via/keymap.c | 2 +- keyboards/gh60/v1p3/keymaps/default/keymap.c | 2 +- .../gh60/v1p3/keymaps/default_ansi/keymap.c | 2 +- .../gh60/v1p3/keymaps/default_ansi/readme.md | 2 +- keyboards/ghs/rar/keymaps/via/keymap.c | 2 +- .../gkeyboard/gkb_m16/keymaps/default/keymap.c | 2 +- keyboards/gkeyboard/gkb_m16/keymaps/via/keymap.c | 2 +- keyboards/gl516/a52gl/keymaps/default/keymap.c | 2 +- keyboards/gl516/a52gl/keymaps/via/keymap.c | 2 +- keyboards/gl516/j73gl/keymaps/default/keymap.c | 2 +- keyboards/gl516/j73gl/keymaps/via/keymap.c | 2 +- keyboards/gl516/n51gl/keymaps/default/keymap.c | 2 +- keyboards/gl516/n51gl/keymaps/via/keymap.c | 2 +- keyboards/gmmk/pro/ansi/keymaps/default/keymap.c | 4 ++-- keyboards/gmmk/pro/ansi/keymaps/via/keymap.c | 4 ++-- keyboards/gmmk/pro/iso/keymaps/default/keymap.c | 4 ++-- keyboards/gmmk/pro/iso/keymaps/via/keymap.c | 4 ++-- keyboards/gon/nerd60/keymaps/default/keymap.c | 4 ++-- keyboards/gon/nerd60/keymaps/via/keymap.c | 4 ++-- keyboards/gon/nerdtkl/keymaps/default/keymap.c | 2 +- keyboards/gowla/keymaps/default/keymap.c | 2 +- .../apollo80/keymaps/default/keymap.c | 2 +- .../gray_studio/apollo80/keymaps/via/keymap.c | 2 +- keyboards/gray_studio/cod67/keymaps/via/keymap.c | 2 +- .../gray_studio/hb85/keymaps/default/keymap.c | 2 +- keyboards/gray_studio/hb85/keymaps/via/keymap.c | 2 +- .../gray_studio/space65/keymaps/iso/keymap.c | 2 +- .../gray_studio/space65/keymaps/via/keymap.c | 2 +- .../think65/hotswap/keymaps/default/keymap.c | 2 +- .../think65/hotswap/keymaps/via/keymap.c | 2 +- .../think65/solder/keymaps/default/keymap.c | 2 +- .../think65/solder/keymaps/via/keymap.c | 2 +- keyboards/hadron/ver2/keymaps/default/keymap.c | 2 +- keyboards/hadron/ver3/keymaps/default/keymap.c | 2 +- keyboards/han60/keymaps/default/keymap.c | 2 +- keyboards/han60/keymaps/via/keymap.c | 2 +- .../handwired/3dfoxc/keymaps/default/keymap.c | 2 +- .../handwired/3dp660/keymaps/default/keymap.c | 2 +- keyboards/handwired/3dp660/keymaps/via/keymap.c | 2 +- .../handwired/412_64/keymaps/default/keymap.c | 2 +- .../handwired/6macro/keymaps/default/keymap.c | 6 +++--- .../handwired/aek64/keymaps/default/keymap.c | 2 +- .../handwired/amigopunk/keymaps/default/keymap.c | 2 +- .../handwired/aranck/keymaps/default/keymap.c | 2 +- .../handwired/arrow_pad/keymaps/default/keymap.c | 2 +- .../handwired/atreus50/keymaps/default/keymap.c | 2 +- .../baredev/rev1/keymaps/default/keymap.c | 2 +- .../handwired/baredev/rev1/keymaps/via/keymap.c | 2 +- .../battleship_gamepad/keymaps/default/keymap.c | 2 +- .../battleship_gamepad/keymaps/via/keymap.c | 2 +- .../handwired/bdn9_ble/keymaps/default/keymap.c | 2 +- .../handwired/bento/keymaps/default/keymap.c | 4 ++-- .../handwired/bolek/keymaps/default/keymap.c | 2 +- .../redragon_vara/keymaps/default/keymap.c | 4 ++-- .../boss566y/redragon_vara/keymaps/via/keymap.c | 4 ++-- .../handwired/carpolly/keymaps/default/keymap.c | 2 +- .../handwired/chiron/keymaps/default/keymap.c | 4 ++-- .../handwired/ck4x4/keymaps/default/keymap.c | 4 ++-- .../handwired/co60/keymaps/default/keymap.c | 2 +- .../handwired/colorlice/keymaps/default/keymap.c | 2 +- .../concertina/64key/keymaps/default/keymap.c | 2 +- .../croxsplit44/keymaps/default/keymap.c | 2 +- .../handwired/croxsplit44/keymaps/via/keymap.c | 2 +- keyboards/handwired/d48/keymaps/default/keymap.c | 6 +++--- .../handwired/dactyl/keymaps/default/keymap.c | 4 ++-- .../dactyl_manuform/4x6/keymaps/default/keymap.c | 4 ++-- .../4x6_5/keymaps/default/keymap.c | 4 ++-- .../dactyl_manuform/5x7/keymaps/default/keymap.c | 2 +- .../dactyl_manuform/5x7/keymaps/via/keymap.c | 2 +- .../dmote/62key/keymaps/default/keymap.c | 2 +- .../dactyl_promicro/keymaps/default/keymap.c | 4 ++-- .../dactyl_rah/keymaps/default/keymap.c | 2 +- .../handwired/daishi/keymaps/default/keymap.c | 4 ++-- .../handwired/ddg_56/keymaps/default/keymap.c | 2 +- .../handwired/elrgo_s/keymaps/default/keymap.c | 2 +- .../handwired/frenchdev/keymaps/default/keymap.c | 4 ++-- .../handwired/freoduo/keymaps/default/keymap.c | 2 +- .../handwired/fruity60/keymaps/default/keymap.c | 2 +- .../heisenberg/keymaps/default/keymap.c | 2 +- .../hillside/0_1/keymaps/default/readme.md | 2 +- .../handwired/hnah108/keymaps/default/keymap.c | 2 +- .../handwired/hnah40/keymaps/default/keymap.c | 4 ++-- .../handwired/hnah40rgb/keymaps/ansi/keymap.c | 2 +- .../handwired/hnah40rgb/keymaps/default/keymap.c | 2 +- .../ibm_wheelwriter/keymaps/default/keymap.c | 2 +- .../ibm_wheelwriter/keymaps/via/keymap.c | 2 +- .../handwired/jn68m/keymaps/default/keymap.c | 2 +- .../handwired/jot50/keymaps/default/keymap.c | 2 +- .../handwired/jotanck/keymaps/default/keymap.c | 2 +- .../handwired/lagrange/keymaps/default/keymap.c | 2 +- .../m40/5x5_macropad/keymaps/default/keymap.c | 2 +- .../macroboard/keymaps/default/keymap.c | 2 +- .../handwired/myskeeb/keymaps/default/keymap.c | 2 +- .../not_so_minidox/keymaps/default/keymap.c | 2 +- .../obuwunkunubi/spaget/keymaps/default/keymap.c | 2 +- .../oem_iso_fullsize/keymaps/default/keymap.c | 2 +- .../oem_iso_fullsize/keymaps/via/keymap.c | 2 +- .../handwired/ortho5x13/keymaps/default/keymap.c | 2 +- .../handwired/ortho5x14/keymaps/default/keymap.c | 2 +- .../ortho_brass/keymaps/default/keymap.c | 2 +- .../handwired/p65rgb/keymaps/default/keymap.c | 2 +- .../handwired/pilcrow/keymaps/default/keymap.c | 2 +- .../postageboard/keymaps/default/keymap.c | 2 +- .../handwired/prkl30/keymaps/default/keymap.c | 4 ++-- .../promethium/keymaps/default/keymap.c | 2 +- .../pterodactyl/keymaps/default/keymap.c | 4 ++-- .../handwired/pteron/keymaps/default/keymap.c | 2 +- .../handwired/pteron38/keymaps/default/keymap.c | 2 +- .../handwired/pteron44/keymaps/default/keymap.c | 2 +- .../handwired/reclined/keymaps/default/keymap.c | 2 +- .../riblee_f401/keymaps/default/keymap.c | 2 +- .../riblee_f411/keymaps/default/keymap.c | 2 +- .../handwired/rs60/keymaps/default/keymap.c | 2 +- .../handwired/sono1/keymaps/default/keymap.c | 2 +- .../space_oddity/keymaps/default/keymap.c | 4 ++-- .../handwired/splittest/keymaps/default/keymap.c | 2 +- .../swiftrax/digicarp65/keymaps/default/keymap.c | 2 +- .../swiftrax/digicarp65/keymaps/via/keymap.c | 2 +- .../digicarpice/keymaps/default/keymap.c | 2 +- .../swiftrax/digicarpice/keymaps/via/keymap.c | 2 +- .../swiftrax/equator/keymaps/default/keymap.c | 2 +- .../swiftrax/equator/keymaps/via/keymap.c | 2 +- .../swiftrax/walter/keymaps/default/keymap.c | 2 +- .../swiftrax/walter/keymaps/via/keymap.c | 2 +- .../terminus_mini/keymaps/default/keymap.c | 4 ++-- .../terminus_mini/keymaps/default/readme.md | 2 +- .../4x6_right/keymaps/default/keymap.c | 4 ++-- .../tritium_numpad/keymaps/default/keymap.c | 2 +- .../handwired/uthol/keymaps/default/keymap.c | 2 +- .../videowriter/keymaps/default/keymap.c | 2 +- .../handwired/videowriter/keymaps/via/keymap.c | 2 +- .../wakizashi40/keymaps/default/keymap.c | 2 +- .../handwired/wakizashi40/keymaps/via/keymap.c | 2 +- .../handwired/woodpad/keymaps/default/keymap.c | 2 +- .../handwired/wulkan/keymaps/default/keymap.c | 2 +- .../handwired/zergo/keymaps/default/keymap.c | 2 +- .../otd_plus/keymaps/default/keymap.c | 2 +- .../heliar/wm1_hotswap/keymaps/default/keymap.c | 2 +- keyboards/helix/pico/keymaps/default/keymap.c | 2 +- keyboards/helix/rev2/keymaps/default/keymap.c | 4 ++-- .../helix/rev3_4rows/keymaps/default/keymap.c | 2 +- keyboards/helix/rev3_4rows/keymaps/via/keymap.c | 2 +- .../helix/rev3_5rows/keymaps/default/keymap.c | 2 +- keyboards/helix/rev3_5rows/keymaps/via/keymap.c | 2 +- keyboards/hhkb_lite_2/keymaps/default/keymap.c | 2 +- keyboards/hhkb_lite_2/keymaps/via/keymap.c | 2 +- .../hidtech/bastyl/keymaps/default/keymap.c | 4 ++-- keyboards/hineybush/h10/keymaps/default/keymap.c | 2 +- keyboards/hineybush/h10/keymaps/via/keymap.c | 2 +- keyboards/hineybush/h60/keymaps/default/keymap.c | 2 +- keyboards/hineybush/h60/keymaps/via/keymap.c | 2 +- keyboards/hineybush/h65/keymaps/default/keymap.c | 2 +- keyboards/hineybush/h65/keymaps/via/keymap.c | 2 +- .../h65_hotswap/keymaps/default/keymap.c | 2 +- .../hineybush/h65_hotswap/keymaps/via/keymap.c | 2 +- .../hineybush/h660s/keymaps/default/keymap.c | 2 +- keyboards/hineybush/h660s/keymaps/via/keymap.c | 2 +- .../hineybush/h75_singa/keymaps/default/keymap.c | 2 +- .../hineybush/h75_singa/keymaps/via/keymap.c | 2 +- .../hineybush/h87a/keymaps/default/keymap.c | 2 +- keyboards/hineybush/h87a/keymaps/via/keymap.c | 6 +++--- keyboards/hineybush/h87a/keymaps/wkl/keymap.c | 2 +- keyboards/hineybush/h88/keymaps/default/keymap.c | 2 +- keyboards/hineybush/h88/keymaps/via/keymap.c | 2 +- keyboards/hineybush/h88/keymaps/wkl/keymap.c | 2 +- .../hineybush/hbcp/keymaps/default/keymap.c | 2 +- keyboards/hineybush/hbcp/keymaps/via/keymap.c | 2 +- keyboards/hineybush/hbcp/keymaps/wkl/keymap.c | 2 +- .../hineybush/hineyg80/keymaps/default/keymap.c | 2 +- .../hineybush/hineyg80/keymaps/wkl/keymap.c | 2 +- .../hineybush/ibis/keymaps/default/keymap.c | 2 +- keyboards/hineybush/ibis/keymaps/via/keymap.c | 10 +++++----- .../hineybush/physix/keymaps/default/keymap.c | 2 +- keyboards/hineybush/physix/keymaps/via/keymap.c | 2 +- .../hineybush/sm68/keymaps/default/keymap.c | 2 +- keyboards/hineybush/sm68/keymaps/via/keymap.c | 2 +- keyboards/hnahkb/freyr/keymaps/default/keymap.c | 2 +- keyboards/hnahkb/stella/keymaps/default/keymap.c | 2 +- .../southpaw75/keymaps/default/keymap.c | 2 +- .../holyswitch/southpaw75/keymaps/via/keymap.c | 2 +- .../devil68_pro/keymaps/default/keymap.c | 2 +- .../chinese_pcb/devil68_pro/keymaps/via/keymap.c | 2 +- .../handwired_k552/keymaps/default/keymap.c | 2 +- .../handwired_k552/keymaps/via/keymap.c | 2 +- .../horrortroll/paws60/keymaps/default/keymap.c | 2 +- .../horrortroll/paws60/keymaps/via/keymap.c | 2 +- keyboards/hp69/keymaps/default/keymap.c | 2 +- keyboards/hp69/keymaps/via/keymap.c | 2 +- keyboards/hs60/v1/keymaps/ansi/keymap.c | 2 +- keyboards/hs60/v1/keymaps/default/keymap.c | 2 +- keyboards/hs60/v2/ansi/keymaps/default/keymap.c | 2 +- keyboards/hs60/v2/ansi/keymaps/via/keymap.c | 2 +- keyboards/hs60/v2/hhkb/keymaps/default/keymap.c | 2 +- keyboards/hs60/v2/hhkb/keymaps/via/keymap.c | 2 +- keyboards/hs60/v2/iso/keymaps/default/keymap.c | 2 +- keyboards/hs60/v2/iso/keymaps/via/keymap.c | 2 +- keyboards/hub16/keymaps/default/keymap.c | 2 +- keyboards/hub16/keymaps/via/keymap.c | 2 +- keyboards/hub20/keymaps/default/keymap.c | 2 +- keyboards/hub20/keymaps/via/keymap.c | 2 +- .../ibnuda/alicia_cook/keymaps/default/keymap.c | 2 +- .../ibnuda/gurindam/keymaps/default/keymap.c | 2 +- keyboards/ibnuda/gurindam/keymaps/via/keymap.c | 2 +- .../ibnuda/squiggle/keymaps/default/keymap.c | 2 +- .../ibnuda/squiggle/keymaps/default38/keymap.c | 2 +- .../ibnuda/squiggle/keymaps/defaultfull/keymap.c | 2 +- .../squiggle/keymaps/defaultminidox/keymap.c | 2 +- keyboards/idb/idb_60/keymaps/default/keymap.c | 2 +- keyboards/idb/idb_60/keymaps/via/keymap.c | 2 +- keyboards/idobao/id67/keymaps/default/keymap.c | 2 +- keyboards/idobao/id67/keymaps/via/keymap.c | 2 +- keyboards/idobao/id75/keymaps/default75/keymap.c | 4 ++-- .../idobao/id80/v1/ansi/keymaps/default/keymap.c | 2 +- .../idobao/id80/v1/ansi/keymaps/via/keymap.c | 2 +- .../idobao/id80/v1/iso/keymaps/default/keymap.c | 2 +- .../idobao/id80/v1/iso/keymaps/via/keymap.c | 2 +- .../idobao/id80/v3/keymaps/default/keymap.c | 2 +- keyboards/idobao/id80/v3/keymaps/via/keymap.c | 2 +- .../idobao/id87/v1/keymaps/default/keymap.c | 2 +- keyboards/idobao/id87/v1/keymaps/via/keymap.c | 2 +- .../idobao/id87/v2/keymaps/default/keymap.c | 2 +- keyboards/idobao/id87/v2/keymaps/via/keymap.c | 2 +- keyboards/idobao/id96/keymaps/default/keymap.c | 4 ++-- keyboards/idobao/id96/keymaps/via/keymap.c | 2 +- .../idobao/montex/v1/keymaps/default/keymap.c | 2 +- keyboards/idobao/montex/v1/keymaps/via/keymap.c | 2 +- keyboards/illusion/rosa/keymaps/via/keymap.c | 2 +- .../ilumkb/primus75/keymaps/default/keymap.c | 2 +- keyboards/ilumkb/primus75/keymaps/via/keymap.c | 2 +- .../ilumkb/simpler61/keymaps/default/keymap.c | 2 +- keyboards/ilumkb/simpler61/keymaps/via/keymap.c | 2 +- .../ilumkb/simpler64/keymaps/default/keymap.c | 2 +- keyboards/ilumkb/simpler64/keymaps/via/keymap.c | 2 +- .../sqx/hotswap/keymaps/default/keymap.c | 2 +- .../sqx/hotswap/keymaps/via/keymap.c | 2 +- .../sqx/universal/keymaps/default/keymap.c | 2 +- .../sqx/universal/keymaps/via/keymap.c | 2 +- keyboards/irene/keymaps/default/keymap.c | 2 +- keyboards/irene/keymaps/via/keymap.c | 2 +- keyboards/iriskeyboards/keymaps/default/keymap.c | 2 +- keyboards/iriskeyboards/keymaps/via/keymap.c | 2 +- keyboards/iron180/keymaps/default/keymap.c | 2 +- keyboards/iron180/keymaps/via/keymap.c | 2 +- keyboards/j80/keymaps/default/keymap.c | 2 +- keyboards/j80/keymaps/default_iso/keymap.c | 2 +- .../bear_65/keymaps/default/keymap.c | 2 +- .../jacky_studio/bear_65/keymaps/via/keymap.c | 2 +- .../s7_elephant/rev1/keymaps/default/keymap.c | 2 +- .../s7_elephant/rev2/keymaps/default/keymap.c | 2 +- keyboards/jadookb/jkb65/keymaps/via/keymap.c | 2 +- keyboards/jae/j01/keymaps/default/keymap.c | 2 +- keyboards/jian/keymaps/default/keymap.c | 2 +- keyboards/jian/keymaps/via/keymap.c | 2 +- keyboards/jiran/keymaps/default/keymap.c | 2 +- keyboards/jiran/keymaps/via/keymap.c | 2 +- keyboards/jm60/keymaps/default/keymap.c | 2 +- keyboards/jones/v03/keymaps/default_jp/keymap.c | 2 +- .../jones/v03_1/keymaps/default_ansi/keymap.c | 2 +- .../jones/v03_1/keymaps/default_jp/keymap.c | 2 +- keyboards/jorne/keymaps/default/keymap.c | 2 +- keyboards/jorne/keymaps/via/keymap.c | 2 +- .../kagizaraya/chidori/keymaps/default/keymap.c | 2 +- .../kagizaraya/halberd/keymaps/default/keymap.c | 2 +- .../rabbit_capture_plan/keymaps/default/keymap.c | 2 +- .../rabbit_capture_plan/keymaps/via/keymap.c | 2 +- .../kapcave/gskt00/keymaps/default-poly/keymap.c | 2 +- .../kapcave/paladin64/keymaps/default/keymap.c | 2 +- keyboards/kapcave/paladin64/keymaps/via/keymap.c | 2 +- .../kapcave/paladinpad/keymaps/default/keymap.c | 2 +- .../kapcave/paladinpad/keymaps/via/keymap.c | 2 +- keyboards/kapl/keymaps/default/keymap.c | 2 +- keyboards/kapl/keymaps/via/keymap.c | 2 +- keyboards/karlb/kbic65/keymaps/default/keymap.c | 2 +- .../karlb/kbic65/keymaps/default_iso/keymap.c | 2 +- .../kbic65/keymaps/default_iso_split_bs/keymap.c | 2 +- keyboards/karlb/kbic65/keymaps/via/keymap.c | 2 +- .../kbdfans/bella/rgb/keymaps/default/keymap.c | 2 +- keyboards/kbdfans/bella/rgb/keymaps/via/keymap.c | 2 +- .../bella/rgb_iso/keymaps/default/keymap.c | 2 +- .../kbdfans/bella/rgb_iso/keymaps/via/keymap.c | 2 +- .../kbdfans/boop65/rgb/keymaps/default/keymap.c | 2 +- .../kbdfans/boop65/rgb/keymaps/via/keymap.c | 2 +- .../kbdfans/kbd19x/keymaps/default/keymap.c | 2 +- .../kbdfans/kbd19x/keymaps/default_iso/keymap.c | 2 +- keyboards/kbdfans/kbd19x/keymaps/via/keymap.c | 2 +- keyboards/kbdfans/kbd4x/keymaps/default/keymap.c | 2 +- keyboards/kbdfans/kbd66/keymaps/ansi/keymap.c | 4 ++-- keyboards/kbdfans/kbd66/keymaps/default/keymap.c | 4 ++-- keyboards/kbdfans/kbd66/keymaps/iso/keymap.c | 4 ++-- .../kbd67/hotswap/keymaps/default/keymap.c | 2 +- .../kbdfans/kbd67/hotswap/keymaps/via/keymap.c | 2 +- .../kbd67/mkii_soldered/keymaps/ansi/keymap.c | 2 +- .../kbd67/mkii_soldered/keymaps/default/keymap.c | 2 +- .../kbd67/mkii_soldered/keymaps/iso/keymap.c | 2 +- .../kbd67/mkii_soldered/keymaps/via/keymap.c | 2 +- .../kbd67/mkiirgb/keymaps/default/keymap.c | 2 +- .../kbdfans/kbd67/mkiirgb/keymaps/via/keymap.c | 2 +- .../kbd67/mkiirgb_iso/keymaps/default/keymap.c | 2 +- .../kbd67/mkiirgb_iso/keymaps/via/keymap.c | 2 +- .../kbdfans/kbd67/rev2/keymaps/iso/keymap.c | 4 ++-- .../kbdfans/kbd67/rev2/keymaps/iso/readme.md | 2 +- keyboards/kbdfans/kbd6x/keymaps/via/keymap.c | 2 +- keyboards/kbdfans/kbd6x/keymaps/via/readme.md | 2 +- keyboards/kbdfans/kbd75/keymaps/default/keymap.c | 2 +- keyboards/kbdfans/kbd75/keymaps/iso/keymap.c | 2 +- keyboards/kbdfans/kbd75/keymaps/via/keymap.c | 2 +- .../kbdfans/kbd75hs/keymaps/default/keymap.c | 6 +++--- keyboards/kbdfans/kbd75hs/keymaps/via/keymap.c | 6 +++--- .../kbdfans/kbd75rgb/keymaps/default/keymap.c | 6 +++--- keyboards/kbdfans/kbd75rgb/keymaps/via/keymap.c | 6 +++--- keyboards/kbdfans/kbd8x/keymaps/default/keymap.c | 2 +- .../kbd8x/keymaps/default_backlighting/keymap.c | 2 +- keyboards/kbdfans/maja/keymaps/default/keymap.c | 4 ++-- keyboards/kbdfans/maja/keymaps/via/keymap.c | 4 ++-- .../maja_soldered/keymaps/default/keymap.c | 4 ++-- .../kbdfans/maja_soldered/keymaps/via/keymap.c | 4 ++-- .../kbdfans/niu_mini/keymaps/default/keymap.c | 2 +- keyboards/kbdfans/niu_mini/keymaps/via/keymap.c | 6 +++--- .../kbnordic/nordic60/keymaps/default/keymap.c | 2 +- .../nordic60/keymaps/default_ansi/keymap.c | 2 +- keyboards/kbnordic/nordic60/keymaps/via/keymap.c | 2 +- keyboards/kc60/keymaps/default/keymap.c | 2 +- keyboards/kc60/keymaps/via/keymap.c | 2 +- keyboards/keebio/bdn9/keymaps/default/keymap.c | 4 ++-- keyboards/keebio/bdn9/keymaps/via/keymap.c | 2 +- .../keebio/chocopad/keymaps/default/keymap.c | 2 +- keyboards/keebio/dilly/keymaps/default/keymap.c | 2 +- keyboards/keebio/dsp40/keymaps/default/keymap.c | 2 +- keyboards/keebio/dsp40/keymaps/via/keymap.c | 2 +- keyboards/keebio/foldkb/keymaps/default/keymap.c | 2 +- keyboards/keebio/foldkb/keymaps/via/keymap.c | 2 +- .../keebio/fourier/keymaps/default/keymap.c | 2 +- keyboards/keebio/fourier/keymaps/via/keymap.c | 2 +- keyboards/keebio/iris/keymaps/default/keymap.c | 2 +- keyboards/keebio/iris/keymaps/via/keymap.c | 2 +- .../keebio/laplace/keymaps/default/keymap.c | 2 +- .../keebio/levinson/keymaps/default/keymap.c | 2 +- keyboards/keebio/levinson/keymaps/via/keymap.c | 2 +- .../keebio/nyquist/keymaps/default/keymap.c | 2 +- .../keebio/nyquist/keymaps/default_4x12/keymap.c | 4 ++-- keyboards/keebio/nyquist/keymaps/via/keymap.c | 2 +- .../keebio/rorschach/keymaps/default/keymap.c | 2 +- .../keebio/viterbi/keymaps/default/keymap.c | 2 +- keyboards/keebio/viterbi/keymaps/via/keymap.c | 2 +- .../keebio/wavelet/keymaps/default/keymap.c | 2 +- .../coarse60/keymaps/default/keymap.c | 2 +- .../keebsforall/coarse60/keymaps/via/keymap.c | 2 +- .../freebird60/keymaps/default/keymap.c | 2 +- .../keebsforall/freebird60/keymaps/via/keymap.c | 2 +- .../keebwerk/mega/ansi/keymaps/default/keymap.c | 2 +- .../keebwerk/mega/ansi/keymaps/via/keymap.c | 2 +- .../keebzdotnet/fme/keymaps/default/keymap.c | 2 +- keyboards/keebzdotnet/fme/keymaps/via/keymap.c | 2 +- .../keybage/radpad/keymaps/default/keymap.c | 2 +- .../keybee/keybee65/keymaps/default/keymap.c | 2 +- keyboards/keybee/keybee65/keymaps/via/keymap.c | 2 +- .../keyboardio/atreus/keymaps/default/keymap.c | 2 +- keyboards/keyboardio/atreus/keymaps/via/keymap.c | 2 +- .../keyboardio/model01/keymaps/default/keymap.c | 2 +- .../keycapsss/kimiko/keymaps/default/keymap.c | 4 ++-- .../keycapsss/o4l_5x12/keymaps/default/keymap.c | 2 +- keyboards/keyhive/absinthe/keymaps/ansi/keymap.c | 2 +- .../keyhive/absinthe/keymaps/default/keymap.c | 2 +- .../keyhive/ergosaurus/keymaps/default/keymap.c | 2 +- .../keyhive/ergosaurus/keymaps/via/keymap.c | 4 ++-- .../keyhive/southpole/keymaps/default/keymap.c | 2 +- keyboards/keyhive/ut472/keymaps/via/keymap.c | 2 +- keyboards/keyprez/rhino/keymaps/default/keymap.c | 4 ++-- .../keyprez/rhino/keymaps/default_7u/keymap.c | 4 ++-- .../keyprez/rhino/keymaps/default_ergo/keymap.c | 4 ++-- .../keyprez/unicorn/keymaps/default/keymap.c | 2 +- .../keysofkings/twokey/keymaps/default/keymap.c | 2 +- .../kikoslab/ellora65/keymaps/default/keymap.c | 2 +- keyboards/kikoslab/ellora65/keymaps/via/keymap.c | 2 +- keyboards/kin80/keymaps/default/keymap.c | 4 ++-- keyboards/kinesis/keymaps/default/keymap.c | 2 +- .../kinesis/keymaps/default_pretty/keymap.c | 2 +- .../little_foot/keymaps/default/keymap.c | 2 +- keyboards/kira80/keymaps/ansi/keymap.c | 2 +- keyboards/kira80/keymaps/default/keymap.c | 2 +- keyboards/kira80/keymaps/iso/keymap.c | 2 +- keyboards/kira80/keymaps/via/keymap.c | 2 +- .../kiwikeebs/macro/keymaps/default/keymap.c | 2 +- keyboards/kiwikeebs/macro/keymaps/via/keymap.c | 2 +- .../kiwikeebs/macro_v2/keymaps/default/keymap.c | 2 +- .../kiwikeebs/macro_v2/keymaps/via/keymap.c | 2 +- .../kiwikey/borderland/keymaps/default/keymap.c | 2 +- .../kiwikey/borderland/keymaps/via/keymap.c | 2 +- .../kiwikey/kawii9/keymaps/default/keymap.c | 2 +- keyboards/kiwikey/kawii9/keymaps/via/keymap.c | 2 +- .../kiwikey/wanderland/keymaps/default/keymap.c | 2 +- .../kiwikey/wanderland/keymaps/via/keymap.c | 2 +- .../kkatano/bakeneko60/keymaps/default/keymap.c | 2 +- .../kkatano/bakeneko60/keymaps/via/keymap.c | 2 +- .../bakeneko65/rev2/keymaps/default/keymap.c | 2 +- .../kkatano/bakeneko65/rev2/keymaps/via/keymap.c | 2 +- .../bakeneko65/rev3/keymaps/default/keymap.c | 2 +- .../kkatano/bakeneko65/rev3/keymaps/via/keymap.c | 2 +- .../kkatano/bakeneko80/keymaps/default/keymap.c | 2 +- keyboards/kmini/keymaps/default/keymap.c | 2 +- .../mini/keymaps/default-gsm-newbs/keymap.c | 2 +- keyboards/knops/mini/keymaps/default/keymap.c | 2 +- keyboards/kona_classic/keymaps/ansi/keymap.c | 2 +- keyboards/kona_classic/keymaps/default/keymap.c | 2 +- keyboards/kona_classic/keymaps/iso/keymap.c | 2 +- .../kopibeng/mnk65/keymaps/default/keymap.c | 2 +- keyboards/kopibeng/mnk65/keymaps/via/keymap.c | 2 +- .../kopibeng/mnk88/keymaps/default/keymap.c | 2 +- keyboards/kopibeng/mnk88/keymaps/via/keymap.c | 2 +- .../kopibeng/typ65/keymaps/default/keymap.c | 2 +- keyboards/kopibeng/typ65/keymaps/via/keymap.c | 2 +- keyboards/kopibeng/xt60/keymaps/default/keymap.c | 2 +- keyboards/kopibeng/xt60/keymaps/via/keymap.c | 2 +- keyboards/kopibeng/xt65/keymaps/default/keymap.c | 2 +- keyboards/kopibeng/xt65/keymaps/via/keymap.c | 2 +- keyboards/kopibeng/xt8x/keymaps/default/keymap.c | 2 +- keyboards/kopibeng/xt8x/keymaps/via/keymap.c | 2 +- .../kprepublic/bm16a/keymaps/default/keymap.c | 2 +- keyboards/kprepublic/bm16a/keymaps/via/keymap.c | 2 +- .../kprepublic/bm16s/keymaps/default/keymap.c | 2 +- keyboards/kprepublic/bm16s/keymaps/via/keymap.c | 2 +- .../bm40hsrgb/keymaps/default/keymap.c | 2 +- .../kprepublic/bm40hsrgb/keymaps/via/keymap.c | 2 +- .../kprepublic/bm43a/keymaps/default/keymap.c | 2 +- .../bm43hsrgb/keymaps/default/keymap.c | 2 +- .../bm43hsrgb/keymaps/default/readme.md | 2 +- .../bm60hsrgb/rev1/keymaps/default/keymap.c | 2 +- .../bm60hsrgb/rev1/keymaps/via/keymap.c | 2 +- .../bm60hsrgb/rev2/keymaps/default/keymap.c | 2 +- .../bm60hsrgb/rev2/keymaps/via/keymap.c | 2 +- .../bm60hsrgb_iso/rev1/keymaps/default/keymap.c | 2 +- .../bm60hsrgb_iso/rev2/keymaps/default/keymap.c | 2 +- .../bm60hsrgb_iso/rev2/keymaps/via/keymap.c | 2 +- .../rev1/keymaps/default/keymap.c | 2 +- .../bm60hsrgb_poker/rev1/keymaps/via/keymap.c | 2 +- .../rev2/keymaps/default/keymap.c | 2 +- .../bm60hsrgb_poker/rev2/keymaps/via/keymap.c | 2 +- .../bm65hsrgb/keymaps/default/keymap.c | 2 +- .../bm65hsrgb_iso/rev1/keymaps/default/keymap.c | 2 +- .../bm65hsrgb_iso/rev1/keymaps/via/keymap.c | 2 +- .../bm68hsrgb/rev1/keymaps/default/keymap.c | 2 +- .../bm68hsrgb/rev1/keymaps/via/keymap.c | 2 +- .../bm68hsrgb/rev2/keymaps/default/keymap.c | 2 +- .../bm68hsrgb/rev2/keymaps/via/keymap.c | 2 +- .../bm80hsrgb/keymaps/default/keymap.c | 2 +- .../kprepublic/bm80hsrgb/keymaps/via/keymap.c | 2 +- .../bm980hsrgb/keymaps/default/keymap.c | 2 +- .../kprepublic/bm980hsrgb/keymaps/via/keymap.c | 2 +- .../kprepublic/cospad/keymaps/default/keymap.c | 2 +- keyboards/kprepublic/cospad/keymaps/via/keymap.c | 2 +- .../kprepublic/jj40/keymaps/default/keymap.c | 2 +- keyboards/kprepublic/jj40/keymaps/via/keymap.c | 2 +- .../kprepublic/jj4x4/keymaps/default/keymap.c | 2 +- keyboards/kprepublic/jj4x4/keymaps/via/keymap.c | 2 +- .../kprepublic/jj50/keymaps/default/keymap.c | 2 +- keyboards/kprepublic/jj50/keymaps/via/keymap.c | 2 +- keyboards/ktec/daisy/keymaps/default/keymap.c | 2 +- keyboards/ktec/daisy/keymaps/via/keymap.c | 2 +- keyboards/kv/revt/keymaps/default/keymap.c | 2 +- keyboards/ky01/keymaps/default/keymap.c | 2 +- .../latin60rgb/keymaps/default/keymap.c | 4 ++-- .../latincompass/latin60rgb/keymaps/via/keymap.c | 4 ++-- .../lazydesigners/bolt/keymaps/default/keymap.c | 4 ++-- .../lazydesigners/bolt/keymaps/via/keymap.c | 4 ++-- .../cassette8/keymaps/default/keymap.c | 2 +- .../lazydesigners/cassette8/keymaps/via/keymap.c | 2 +- .../dimple/ortho/keymaps/default/keymap.c | 2 +- .../dimple/ortho/keymaps/via/keymap.c | 2 +- .../dimple/staggered/keymaps/default/keymap.c | 2 +- .../staggered/rev3/keymaps/default/keymap.c | 2 +- .../dimpleplus/keymaps/default/keymap.c | 2 +- .../dimpleplus/keymaps/default_7u/keymap.c | 2 +- .../dimpleplus/keymaps/via/keymap.c | 2 +- .../lazydesigners/the30/keymaps/default/keymap.c | 2 +- .../lazydesigners/the30/keymaps/via/keymap.c | 2 +- .../lazydesigners/the40/keymaps/default/keymap.c | 2 +- .../lazydesigners/the40/keymaps/via/keymap.c | 2 +- .../lazydesigners/the50/keymaps/default/keymap.c | 2 +- .../the60/rev1/keymaps/default/keymap.c | 2 +- .../the60/rev2/keymaps/default/keymap.c | 2 +- .../the60/rev2/keymaps/via/keymap.c | 2 +- .../leeku/finger65/keymaps/default/keymap.c | 2 +- keyboards/lets_split/keymaps/default/keymap.c | 2 +- keyboards/lets_split/keymaps/via/keymap.c | 4 ++-- .../lfk65_hs/keymaps/default/keymap.c | 2 +- .../lfkeyboards/lfk78/keymaps/default/keymap.c | 2 +- keyboards/lfkeyboards/lfk78/keymaps/iso/keymap.c | 2 +- keyboards/lfkeyboards/lfk78/keymaps/via/keymap.c | 4 ++-- .../lfkeyboards/lfk87/keymaps/default/keymap.c | 2 +- keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c | 2 +- .../mini1800/keymaps/default/keymap.c | 2 +- .../lfkeyboards/smk65/keymaps/default/keymap.c | 2 +- keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c | 4 ++-- .../lfkeyboards/smk65/revf/keymaps/via/keymap.c | 2 +- keyboards/lime/keymaps/default/keymap.c | 4 ++-- .../linworks/fave84h/keymaps/default/keymap.c | 2 +- keyboards/linworks/fave84h/keymaps/via/keymap.c | 2 +- .../linworks/fave87/keymaps/default/keymap.c | 2 +- keyboards/linworks/fave87/keymaps/via/keymap.c | 2 +- .../linworks/fave87h/keymaps/default/keymap.c | 2 +- keyboards/linworks/fave87h/keymaps/via/keymap.c | 2 +- .../lm_keyboard/lm60n/keymaps/default/keymap.c | 2 +- keyboards/lm_keyboard/lm60n/keymaps/via/keymap.c | 2 +- .../longnald/corin/keymaps/default/keymap.c | 2 +- keyboards/lucid/alexa/keymaps/default/keymap.c | 2 +- keyboards/lucid/alexa/keymaps/via/keymap.c | 2 +- .../lucid/alexa_solder/keymaps/default/keymap.c | 2 +- .../lucid/alexa_solder/keymaps/via/keymap.c | 2 +- .../lucid/phantom_hs/keymaps/default/keymap.c | 2 +- keyboards/lucid/phantom_hs/keymaps/via/keymap.c | 2 +- .../phantom_solder/keymaps/default/keymap.c | 2 +- .../lucid/phantom_solder/keymaps/via/keymap.c | 2 +- keyboards/lyso1/lck75/keymaps/default/keymap.c | 2 +- keyboards/lyso1/lck75/keymaps/iso/keymap.c | 2 +- keyboards/lyso1/lck75/keymaps/via/keymap.c | 6 +++--- keyboards/lyso1/lefishe/keymaps/default/keymap.c | 2 +- keyboards/lyso1/lefishe/keymaps/wkl/keymap.c | 2 +- .../omega/omega4/keymaps/default/keymap.c | 2 +- .../omega4/keymaps/default_10u_bar/keymap.c | 2 +- .../omega/omega4/keymaps/default_6u_bar/keymap.c | 2 +- keyboards/manta60/keymaps/default/keymap.c | 2 +- .../christmas_tree/keymaps/default/keymap.c | 4 ++-- .../jnao/keymaps/default/keymap.c | 4 ++-- .../jnao/keymaps/default_4x12/keymap.c | 4 ++-- .../maple_computing/jnao/keymaps/via/keymap.c | 4 ++-- .../lets_split_eh/keymaps/default/keymap.c | 4 ++-- .../minidox/keymaps/default/keymap.c | 2 +- .../the_ruler/keymaps/default/keymap.c | 4 ++-- .../marksard/leftover30/keymaps/default/keymap.c | 2 +- .../marksard/rhymestone/keymaps/default/keymap.c | 2 +- .../treadstone32/keymaps/default/keymap.c | 2 +- .../treadstone48/keymaps/default/keymap.c | 2 +- keyboards/matrix/abelx/keymaps/default/keymap.c | 2 +- keyboards/matrix/abelx/keymaps/iso/keymap.c | 2 +- .../matrix/cain_re/keymaps/default/keymap.c | 2 +- keyboards/matrix/falcon/keymaps/default/keymap.c | 2 +- keyboards/matrix/falcon/keymaps/via/keymap.c | 2 +- .../matrix/m12og/rev1/keymaps/default/keymap.c | 2 +- .../matrix/m12og/rev2/keymaps/default/keymap.c | 2 +- keyboards/matrix/m12og/rev2/keymaps/iso/keymap.c | 2 +- keyboards/matrix/m12og/rev2/keymaps/via/keymap.c | 2 +- keyboards/matrix/m20add/keymaps/default/keymap.c | 2 +- keyboards/matrix/m20add/keymaps/iso/keymap.c | 2 +- keyboards/matrix/me/keymaps/default/keymap.c | 2 +- keyboards/matrix/me/keymaps/via/keymap.c | 2 +- keyboards/matrix/noah/keymaps/default/keymap.c | 2 +- keyboards/matrix/noah/keymaps/iso/keymap.c | 2 +- keyboards/matrix/noah/keymaps/wkl/keymap.c | 2 +- keyboards/mb44/keymaps/default/keymap.c | 2 +- keyboards/mb44/keymaps/via/keymap.c | 2 +- .../miniashen40/keymaps/default/keymap.c | 2 +- .../miniashen40/keymaps/via/keymap.c | 2 +- .../undead60m/keymaps/default/keymap.c | 2 +- .../mechanickeys/undead60m/keymaps/via/keymap.c | 2 +- .../mechkeys/acr60/keymaps/default/keymap.c | 2 +- .../mechkeys/alu84/keymaps/default/keymap.c | 2 +- .../mechkeys/espectro/keymaps/default/keymap.c | 4 ++-- keyboards/mechkeys/espectro/keymaps/iso/keymap.c | 4 ++-- .../mechmini/v2/keymaps/default/keymap.c | 2 +- .../mechkeys/mechmini/v2/keymaps/via/keymap.c | 2 +- keyboards/mechkeys/mk60/keymaps/default/keymap.c | 2 +- keyboards/mechllama/g35/keymaps/default/keymap.c | 2 +- .../mechlovin/tmkl/keymaps/default/keymap.c | 2 +- .../mechstudio/dawn/keymaps/default/keymap.c | 2 +- keyboards/mechstudio/dawn/keymaps/via/keymap.c | 2 +- keyboards/mechwild/bde/keymaps/default/keymap.c | 2 +- keyboards/mechwild/bde/keymaps/via/keymap.c | 2 +- .../mechwild/mokulua/keymaps/default/keymap.c | 2 +- keyboards/mechwild/mokulua/keymaps/via/keymap.c | 2 +- keyboards/mehkee96/keymaps/default/keymap.c | 4 ++-- .../meletrix/zoom65/keymaps/default/keymap.c | 2 +- keyboards/meletrix/zoom65/keymaps/via/keymap.c | 2 +- .../zoom65_lite/keymaps/default/keymap.c | 2 +- .../meletrix/zoom65_lite/keymaps/via/keymap.c | 2 +- .../melgeek/mach80/keymaps/default/keymap.c | 2 +- keyboards/melgeek/mach80/keymaps/via/keymap.c | 2 +- keyboards/melgeek/mach80/keymaps/wkl/keymap.c | 2 +- keyboards/melgeek/mj61/keymaps/default/keymap.c | 2 +- keyboards/melgeek/mj61/keymaps/via/keymap.c | 2 +- keyboards/melgeek/mj63/keymaps/default/keymap.c | 2 +- keyboards/melgeek/mj63/keymaps/via/keymap.c | 2 +- keyboards/melgeek/mj64/keymaps/default/keymap.c | 2 +- keyboards/melgeek/mj64/keymaps/via/keymap.c | 2 +- keyboards/melgeek/mj65/keymaps/default/keymap.c | 2 +- keyboards/melgeek/mj65/keymaps/via/keymap.c | 2 +- keyboards/melgeek/mj6xy/keymaps/default/keymap.c | 2 +- keyboards/melgeek/mj6xy/keymaps/via/keymap.c | 2 +- .../melgeek/mojo68/keymaps/default/keymap.c | 2 +- keyboards/melgeek/mojo68/keymaps/via/keymap.c | 2 +- .../melgeek/mojo75/keymaps/default/keymap.c | 2 +- keyboards/melgeek/mojo75/keymaps/via/keymap.c | 2 +- .../melgeek/z70ultra/keymaps/default/keymap.c | 2 +- keyboards/melgeek/z70ultra/keymaps/via/keymap.c | 2 +- keyboards/meow65/keymaps/default/keymap.c | 2 +- keyboards/meow65/keymaps/via/keymap.c | 2 +- keyboards/meson/keymaps/default/keymap.c | 2 +- .../timberwolf/keymaps/default/keymap.c | 4 ++-- .../metamechs/timberwolf/keymaps/via/keymap.c | 2 +- .../mikeneko65/rev3/keymaps/default/keymap.c | 2 +- keyboards/mikeneko65/rev3/keymaps/via/keymap.c | 2 +- keyboards/miller/gm862/keymaps/default/keymap.c | 2 +- keyboards/miller/gm862/keymaps/via/keymap.c | 2 +- keyboards/miniaxe/keymaps/default/keymap.c | 2 +- keyboards/mino/keymaps/default/keymap.c | 2 +- keyboards/mino/keymaps/via/keymap.c | 2 +- keyboards/miuni32/keymaps/default/keymap.c | 4 ++-- keyboards/mixi/keymaps/default/keymap.c | 4 ++-- keyboards/mixi/keymaps/via/keymap.c | 4 ++-- keyboards/mlego/m48/keymaps/default/keymap.c | 2 +- keyboards/mlego/m48/keymaps/via/keymap.c | 2 +- keyboards/mlego/m60/keymaps/default/keymap.c | 2 +- keyboards/mlego/m60/keymaps/via/keymap.c | 2 +- .../mlego/m60_split/keymaps/default/keymap.c | 2 +- keyboards/mlego/m60_split/keymaps/via/keymap.c | 2 +- keyboards/mlego/m65/keymaps/default/keymap.c | 2 +- keyboards/mlego/m65/keymaps/via/keymap.c | 2 +- keyboards/mntre/keymaps/default/keymap.c | 2 +- .../mode/m65ha_alpha/keymaps/default/keymap.c | 2 +- keyboards/mode/m65ha_alpha/keymaps/via/keymap.c | 2 +- .../mode/m65hi_alpha/keymaps/default/keymap.c | 2 +- keyboards/mode/m65hi_alpha/keymaps/via/keymap.c | 2 +- keyboards/mode/m65s/keymaps/default/keymap.c | 2 +- keyboards/mode/m65s/keymaps/via/keymap.c | 2 +- keyboards/mode/m75s/keymaps/default/keymap.c | 2 +- .../mode/m75s/keymaps/default_ansi/keymap.c | 2 +- .../m75s/keymaps/default_ansi_split_bs/keymap.c | 2 +- .../m75s/keymaps/default_ansi_tsangan/keymap.c | 2 +- .../default_ansi_tsangan_split_bs/keymap.c | 2 +- keyboards/mode/m75s/keymaps/default_iso/keymap.c | 2 +- .../m75s/keymaps/default_iso_split_bs/keymap.c | 2 +- .../m75s/keymaps/default_iso_tsangan/keymap.c | 2 +- .../default_iso_tsangan_split_bs/keymap.c | 2 +- keyboards/mode/m75s/keymaps/via/keymap.c | 2 +- .../mode/m80v1/m80h/keymaps/default/keymap.c | 2 +- keyboards/mode/m80v1/m80h/keymaps/via/keymap.c | 2 +- .../mode/m80v1/m80s/keymaps/default/keymap.c | 2 +- keyboards/mode/m80v1/m80s/keymaps/via/keymap.c | 2 +- .../mode/m80v2/m80v2h/keymaps/default/keymap.c | 2 +- keyboards/mode/m80v2/m80v2h/keymaps/via/keymap.c | 2 +- .../mode/m80v2/m80v2s/keymaps/default/keymap.c | 2 +- keyboards/mode/m80v2/m80v2s/keymaps/via/keymap.c | 2 +- .../mokey/ginkgo65/keymaps/default/keymap.c | 2 +- keyboards/mokey/ginkgo65/keymaps/via/keymap.c | 2 +- keyboards/mokey/ginkgo65hot/keymaps/via/keymap.c | 2 +- keyboards/momoka_ergo/keymaps/default/keymap.c | 2 +- keyboards/monarch/keymaps/default/keymap.c | 2 +- keyboards/monarch/keymaps/iso/keymap.c | 2 +- keyboards/monarch/keymaps/via/keymap.c | 2 +- .../rebound/rev1/keymaps/default/keymap.c | 2 +- .../rebound/rev2/keymaps/default/keymap.c | 2 +- .../rebound/rev3/keymaps/default/keymap.c | 2 +- .../rebound/rev4/keymaps/default/keymap.c | 2 +- .../montsinger/rebound/rev4/keymaps/via/keymap.c | 2 +- .../montsinger/rewind/keymaps/default/keymap.c | 2 +- keyboards/moonlander/keymaps/default/keymap.c | 2 +- keyboards/moonlander/keymaps/via/keymap.c | 2 +- .../mss_studio/m63_rgb/keymaps/default/keymap.c | 2 +- .../mss_studio/m63_rgb/keymaps/via/keymap.c | 2 +- .../mss_studio/m64_rgb/keymaps/default/keymap.c | 2 +- .../mss_studio/m64_rgb/keymaps/via/keymap.c | 2 +- keyboards/mt/blocked65/keymaps/default/keymap.c | 4 ++-- keyboards/mt/blocked65/keymaps/via/keymap.c | 4 ++-- keyboards/mt/mt64rgb/keymaps/via/keymap.c | 2 +- keyboards/mt/mt84/keymaps/via/keymap.c | 2 +- keyboards/mt/mt980/keymaps/default/keymap.c | 4 ++-- .../mwstudio/mw65_black/keymaps/default/keymap.c | 2 +- .../mwstudio/mw65_black/keymaps/via/keymap.c | 2 +- .../mwstudio/mw75r2/keymaps/default/keymap.c | 2 +- keyboards/mwstudio/mw75r2/keymaps/via/keymap.c | 2 +- keyboards/mxss/keymaps/default/keymap.c | 2 +- keyboards/mxss/keymaps/via/keymap.c | 2 +- .../mysticworks/wyvern/keymaps/default/keymap.c | 2 +- .../mysticworks/wyvern/keymaps/via/keymap.c | 2 +- keyboards/neito/keymaps/default/keymap.c | 2 +- keyboards/neito/keymaps/via/keymap.c | 2 +- keyboards/nemui/keymaps/default/keymap.c | 2 +- keyboards/nemui/keymaps/via/keymap.c | 2 +- .../g67/element_hs/keymaps/default/keymap.c | 2 +- .../neokeys/g67/element_hs/keymaps/via/keymap.c | 2 +- .../neokeys/g67/hotswap/keymaps/default/keymap.c | 2 +- .../neokeys/g67/hotswap/keymaps/via/keymap.c | 2 +- .../g67/soldered/keymaps/default/keymap.c | 2 +- .../neokeys/g67/soldered/keymaps/via/keymap.c | 2 +- .../neson_design/n6/keymaps/default/keymap.c | 2 +- keyboards/neson_design/n6/keymaps/via/keymap.c | 2 +- keyboards/nibiria/stream15/keymaps/via/keymap.c | 2 +- .../hailey/keymaps/default/keymap.c | 2 +- .../hailey/keymaps/via/keymap.c | 2 +- .../alter/rev1/keymaps/default/keymap.c | 2 +- .../n60_s/keymaps/default/keymap.c | 2 +- .../n60_s/keymaps/tsangan/keymap.c | 2 +- .../nightly_boards/n60_s/keymaps/via/keymap.c | 2 +- .../nightly_boards/n87/keymaps/default/keymap.c | 2 +- .../nightly_boards/n87/keymaps/tsangan/keymap.c | 2 +- .../nightly_boards/n87/keymaps/via/keymap.c | 2 +- .../octopad/keymaps/default/keymap.c | 2 +- .../nightly_boards/octopad/keymaps/via/keymap.c | 2 +- .../ph_arisu/keymaps/default/keymap.c | 2 +- .../nightly_boards/ph_arisu/keymaps/via/keymap.c | 2 +- .../nix_studio/oxalys80/keymaps/default/keymap.c | 2 +- .../nix_studio/oxalys80/keymaps/via/keymap.c | 6 +++--- .../jabberwocky/keymaps/default/keymap.c | 4 ++-- .../jabberwocky/keymaps/via/keymap.c | 4 ++-- .../kastenwagen1840/keymaps/default/keymap.c | 2 +- .../kastenwagen1840/keymaps/via/keymap.c | 2 +- .../kastenwagen48/keymaps/default/keymap.c | 2 +- .../kastenwagen48/keymaps/via/keymap.c | 2 +- .../novelkeys/nk65/keymaps/default/keymap.c | 2 +- keyboards/novelkeys/nk65/keymaps/via/keymap.c | 2 +- .../novelkeys/nk87/keymaps/default/keymap.c | 2 +- keyboards/novelkeys/nk87/keymaps/via/keymap.c | 2 +- .../novelkeys/novelpad/keymaps/default/keymap.c | 2 +- keyboards/noxary/260/keymaps/default/keymap.c | 2 +- keyboards/noxary/260/keymaps/via/keymap.c | 2 +- keyboards/noxary/268/keymaps/ansi/keymap.c | 2 +- keyboards/noxary/268/keymaps/default/keymap.c | 2 +- keyboards/noxary/268/keymaps/iso/keymap.c | 2 +- keyboards/noxary/268/keymaps/via/keymap.c | 2 +- keyboards/noxary/268_2/keymaps/default/keymap.c | 2 +- keyboards/noxary/268_2/keymaps/via/keymap.c | 2 +- .../noxary/268_2_rgb/keymaps/default/keymap.c | 2 +- keyboards/noxary/268_2_rgb/keymaps/via/keymap.c | 2 +- keyboards/noxary/280/keymaps/default/keymap.c | 2 +- keyboards/noxary/280/keymaps/via/keymap.c | 2 +- .../noxary/valhalla/keymaps/default/keymap.c | 2 +- keyboards/noxary/valhalla/keymaps/via/keymap.c | 2 +- keyboards/noxary/vulcan/keymaps/default/keymap.c | 2 +- keyboards/noxary/x268/keymaps/default/keymap.c | 2 +- keyboards/noxary/x268/keymaps/via/keymap.c | 2 +- .../nullbitsco/nibble/keymaps/default/keymap.c | 2 +- keyboards/nullbitsco/nibble/keymaps/iso/keymap.c | 2 +- keyboards/nullbitsco/nibble/keymaps/via/keymap.c | 2 +- keyboards/numatreus/keymaps/default/keymap.c | 2 +- .../obosob/arch_36/keymaps/default/keymap.c | 2 +- .../steal_this_keyboard/keymaps/default/keymap.c | 2 +- .../ogre/ergo_single/keymaps/default/keymap.c | 2 +- .../ogre/ergo_split/keymaps/default/keymap.c | 2 +- keyboards/ok60/keymaps/default/keymap.c | 2 +- keyboards/ok60/keymaps/via/keymap.c | 2 +- .../omkbd/ergodash/mini/keymaps/default/keymap.c | 2 +- .../omkbd/ergodash/rev1/keymaps/default/keymap.c | 2 +- .../runner3680/3x6/keymaps/default/keymap.c | 4 ++-- .../runner3680/3x7/keymaps/default/keymap.c | 4 ++-- .../runner3680/3x8/keymaps/default/keymap.c | 4 ++-- .../runner3680/4x6/keymaps/default/keymap.c | 4 ++-- .../runner3680/4x7/keymaps/default/keymap.c | 4 ++-- .../runner3680/4x8/keymaps/default/keymap.c | 4 ++-- .../runner3680/5x6/keymaps/default/keymap.c | 4 ++-- .../runner3680/5x7/keymaps/default/keymap.c | 4 ++-- .../runner3680/5x8/keymaps/default/keymap.c | 4 ++-- keyboards/omnikeyish/keymaps/default/keymap.c | 2 +- keyboards/orange75/keymaps/default/keymap.c | 2 +- keyboards/org60/keymaps/default/keymap.c | 2 +- keyboards/ortho5by12/keymaps/default/keymap.c | 2 +- keyboards/orthocode/keymaps/default/keymap.c | 2 +- keyboards/orthocode/keymaps/via/keymap.c | 2 +- keyboards/orthodox/keymaps/default/keymap.c | 2 +- .../jelly_epoch/hotswap/keymaps/default/keymap.c | 2 +- .../jelly_epoch/hotswap/keymaps/via/keymap.c | 2 +- .../soldered/keymaps/default/keymap.c | 2 +- .../jelly_epoch/soldered/keymaps/via/keymap.c | 2 +- keyboards/owlab/spring/keymaps/default/keymap.c | 2 +- keyboards/owlab/spring/keymaps/via/keymap.c | 2 +- .../owlab/suit80/ansi/keymaps/default/keymap.c | 2 +- keyboards/owlab/suit80/ansi/keymaps/via/keymap.c | 2 +- .../owlab/suit80/iso/keymaps/default/keymap.c | 2 +- keyboards/owlab/suit80/iso/keymaps/via/keymap.c | 2 +- .../voice65/hotswap/keymaps/default/keymap.c | 2 +- .../owlab/voice65/hotswap/keymaps/via/keymap.c | 2 +- .../voice65/soldered/keymaps/default/keymap.c | 2 +- .../owlab/voice65/soldered/keymaps/via/keymap.c | 2 +- keyboards/panc40/keymaps/default/keymap.c | 2 +- .../panc40/keymaps/default_minorca/keymap.c | 2 +- .../panc40/keymaps/default_minorca/readme.md | 2 +- .../panc40/keymaps/default_sebright/keymap.c | 2 +- .../panc40/keymaps/default_sebright/readme.md | 2 +- .../gerald65/keymaps/default/keymap.c | 2 +- .../pearlboards/atlas/keymaps/default/keymap.c | 2 +- keyboards/pearlboards/atlas/keymaps/via/keymap.c | 2 +- .../pearlboards/pandora/keymaps/default/keymap.c | 2 +- .../pearlboards/pandora/keymaps/via/keymap.c | 2 +- .../pearlboards/pearl/keymaps/default/keymap.c | 2 +- keyboards/pearlboards/pearl/keymaps/via/keymap.c | 2 +- .../pearlboards/zeus/keymaps/default/keymap.c | 2 +- keyboards/pearlboards/zeus/keymaps/via/keymap.c | 2 +- .../pearlboards/zeuspad/keymaps/default/keymap.c | 2 +- .../pearlboards/zeuspad/keymaps/via/keymap.c | 2 +- keyboards/pegasus/keymaps/default/keymap.c | 2 +- keyboards/percent/canoe/keymaps/default/keymap.c | 2 +- keyboards/percent/canoe/keymaps/via/keymap.c | 2 +- .../percent/canoe_gen2/keymaps/default/keymap.c | 2 +- .../percent/canoe_gen2/keymaps/via/keymap.c | 2 +- .../titan65/hotswap/keymaps/default/keymap.c | 2 +- .../titan65/hotswap/keymaps/via/keymap.c | 2 +- .../titan65/soldered/keymaps/default/keymap.c | 2 +- .../titan65/soldered/keymaps/via/keymap.c | 2 +- .../frusta_fundamental/keymaps/default/keymap.c | 2 +- .../frusta_fundamental/keymaps/via/keymap.c | 2 +- .../pizza65/keymaps/default/keymap.c | 2 +- .../pizzakeyboards/pizza65/keymaps/via/keymap.c | 2 +- keyboards/pkb65/keymaps/default/keymap.c | 2 +- keyboards/pkb65/keymaps/via/keymap.c | 2 +- keyboards/planck/keymaps/default/keymap.c | 2 +- keyboards/planck/keymaps/via/keymap.c | 4 ++-- keyboards/planck/keymaps/via/readme.md | 2 +- keyboards/playkbtw/ca66/keymaps/default/keymap.c | 2 +- keyboards/playkbtw/ca66/keymaps/via/keymap.c | 2 +- .../playkbtw/helen80/keymaps/default/keymap.c | 2 +- keyboards/playkbtw/helen80/keymaps/via/keymap.c | 2 +- keyboards/playkbtw/pk60/keymaps/default/keymap.c | 2 +- keyboards/playkbtw/pk64rgb/keymaps/via/keymap.c | 2 +- .../plut0nium/0x3e/keymaps/default/keymap.c | 2 +- keyboards/poker87c/keymaps/default/keymap.c | 2 +- keyboards/poker87c/keymaps/via/keymap.c | 2 +- keyboards/poker87d/keymaps/default/keymap.c | 2 +- keyboards/poker87d/keymaps/via/keymap.c | 2 +- .../polycarbdiet/s20/keymaps/default/keymap.c | 2 +- .../portal_66/hotswap/keymaps/default/keymap.c | 2 +- keyboards/portal_66/hotswap/keymaps/via/keymap.c | 2 +- .../portal_66/soldered/keymaps/default/keymap.c | 2 +- .../portal_66/soldered/keymaps/via/keymap.c | 2 +- keyboards/pos78/keymaps/default/keymap.c | 2 +- keyboards/preonic/keymaps/default/keymap.c | 2 +- keyboards/preonic/keymaps/via/keymap.c | 2 +- .../primekb/meridian/keymaps/default/keymap.c | 2 +- keyboards/primekb/meridian/keymaps/via/keymap.c | 2 +- .../meridian_rgb/keymaps/default/keymap.c | 2 +- .../primekb/meridian_rgb/keymaps/via/keymap.c | 2 +- .../primekb/prime_l/keymaps/default/keymap.c | 2 +- keyboards/primekb/prime_l/keymaps/via/keymap.c | 2 +- .../program_yoink/ortho/keymaps/default/keymap.c | 2 +- .../staggered/keymaps/default/keymap.c | 4 ++-- .../program_yoink/staggered/keymaps/via/keymap.c | 8 ++++---- .../projectcain/vault35/keymaps/default/keymap.c | 2 +- .../projectcain/vault45/keymaps/default/keymap.c | 2 +- .../projectkb/alice/keymaps/default/keymap.c | 2 +- .../signature65/keymaps/default/keymap.c | 2 +- .../projectkb/signature65/keymaps/via/keymap.c | 2 +- .../signature87/keymaps/default/keymap.c | 2 +- .../projectkb/signature87/keymaps/via/keymap.c | 2 +- .../prototypist/allison/keymaps/default/keymap.c | 2 +- .../prototypist/allison/keymaps/via/keymap.c | 2 +- keyboards/punk75/keymaps/default/keymap.c | 4 ++-- keyboards/punk75/keymaps/via/keymap.c | 4 ++-- keyboards/q4z/keymaps/default/keymap.c | 2 +- .../qpockets/eggman/keymaps/default/keymap.c | 2 +- .../space_space/rev1/keymaps/default/keymap.c | 2 +- .../space_space/rev2/keymaps/default/keymap.c | 2 +- .../qpockets/wanten/keymaps/default/keymap.c | 2 +- keyboards/quantrik/kyuu/keymaps/default/keymap.c | 2 +- keyboards/quantrik/kyuu/keymaps/via/keymap.c | 2 +- .../qk65/hotswap/keymaps/default/keymap.c | 2 +- .../qwertykeys/qk65/hotswap/keymaps/via/keymap.c | 2 +- .../qk65/solder/keymaps/default/keymap.c | 2 +- .../qwertykeys/qk65/solder/keymaps/via/keymap.c | 2 +- keyboards/qwertyydox/keymaps/default/keymap.c | 2 +- .../rainkeebs/rainkeeb/keymaps/default/keymap.c | 2 +- .../rainkeebs/rainkeeb/keymaps/via/keymap.c | 2 +- .../ramonimbao/aelith/keymaps/default/keymap.c | 2 +- keyboards/ramonimbao/aelith/keymaps/via/keymap.c | 2 +- .../herringbone/pro/keymaps/via/keymap.c | 2 +- .../herringbone/v1/keymaps/via/keymap.c | 2 +- .../ramonimbao/mona/v1/keymaps/via/keymap.c | 2 +- .../ramonimbao/mona/v1_1/keymaps/via/keymap.c | 2 +- .../ramonimbao/mona/v32a/keymaps/via/keymap.c | 2 +- .../squishy65/keymaps/default/keymap.c | 2 +- .../ramonimbao/squishy65/keymaps/iso/keymap.c | 2 +- .../ramonimbao/squishy65/keymaps/via/keymap.c | 2 +- .../ramonimbao/squishyfrl/keymaps/via/keymap.c | 2 +- .../ramonimbao/wete/v1/keymaps/via/keymap.c | 2 +- keyboards/rart/rart45/keymaps/default/keymap.c | 2 +- keyboards/rart/rart45/keymaps/via/keymap.c | 2 +- keyboards/rart/rart4x4/keymaps/via/keymap.c | 2 +- keyboards/rart/rart67/keymaps/default/keymap.c | 2 +- keyboards/rart/rart67/keymaps/via/keymap.c | 2 +- keyboards/rart/rart75/keymaps/ansi/keymap.c | 2 +- keyboards/rart/rart75/keymaps/default/keymap.c | 2 +- keyboards/rart/rart75/keymaps/via/keymap.c | 2 +- keyboards/rart/rart75hs/keymaps/default/keymap.c | 2 +- keyboards/rart/rart75hs/keymaps/via/keymap.c | 2 +- keyboards/rart/rartand/keymaps/default/keymap.c | 2 +- keyboards/rart/rartand/keymaps/via/keymap.c | 2 +- keyboards/rart/rartland/keymaps/default/keymap.c | 2 +- keyboards/rart/rartland/keymaps/via/keymap.c | 2 +- keyboards/rart/rartlice/keymaps/via/keymap.c | 2 +- keyboards/rart/rartlite/keymaps/default/keymap.c | 2 +- keyboards/rart/rartlite/keymaps/via/keymap.c | 2 +- keyboards/rart/rartpad/keymaps/default/keymap.c | 2 +- keyboards/rart/rartpad/keymaps/via/keymap.c | 2 +- .../ratio65_hotswap/keymaps/default/keymap.c | 2 +- .../ratio65_hotswap/keymaps/via/keymap.c | 2 +- .../ratio65_solder/keymaps/default/keymap.c | 2 +- .../ratio65_solder/keymaps/via/keymap.c | 2 +- .../choco60/keymaps/default/keymap.c | 2 +- .../recompile_keys/choco60/keymaps/via/keymap.c | 2 +- .../cocoa40/keymaps/default/keymap.c | 2 +- .../recompile_keys/mio/keymaps/default/keymap.c | 2 +- .../recompile_keys/mio/keymaps/via/keymap.c | 2 +- .../nomu30/keymaps/default/keymap.c | 2 +- keyboards/redox/keymaps/default/keymap.c | 2 +- keyboards/redox/keymaps/via/keymap.c | 2 +- keyboards/redox_media/keymaps/default/keymap.c | 2 +- keyboards/redox_w/keymaps/default/keymap.c | 2 +- keyboards/redox_w/keymaps/via/keymap.c | 2 +- .../verb/keymaps/default/keymap.c | 2 +- .../verc/keymaps/default/keymap.c | 2 +- keyboards/retro_75/keymaps/default/keymap.c | 2 +- .../reviung/reviung33/keymaps/default/keymap.c | 2 +- .../reviung33/keymaps/default_jp/keymap.c | 2 +- .../reviung/reviung34/keymaps/default/keymap.c | 2 +- .../reviung34/keymaps/default_2u/keymap.c | 2 +- .../reviung34/keymaps/default_jp/keymap.c | 2 +- .../reviung34/keymaps/default_rgb/keymap.c | 2 +- .../reviung34/keymaps/default_rgb2u/keymap.c | 2 +- .../reviung/reviung39/keymaps/default/keymap.c | 2 +- .../reviung/reviung39/keymaps/default_s/keymap.c | 2 +- keyboards/reviung/reviung39/keymaps/via/keymap.c | 2 +- .../reviung/reviung41/keymaps/default/keymap.c | 2 +- keyboards/reviung/reviung41/keymaps/via/keymap.c | 2 +- .../reviung/reviung53/keymaps/default/keymap.c | 2 +- keyboards/reviung/reviung53/keymaps/via/keymap.c | 2 +- .../reviung/reviung61/keymaps/default/keymap.c | 2 +- .../reviung61/keymaps/default_rgb/keymap.c | 2 +- keyboards/rgbkb/mun/keymaps/default/keymap.c | 2 +- keyboards/rgbkb/mun/keymaps/via/keymap.c | 2 +- keyboards/rgbkb/pan/keymaps/default/keymap.c | 2 +- keyboards/rgbkb/sol/keymaps/default/keymap.c | 6 +++--- keyboards/rgbkb/sol/keymaps/default/readme.md | 2 +- keyboards/rgbkb/sol3/keymaps/default/keymap.c | 2 +- keyboards/rgbkb/sol3/keymaps/via/keymap.c | 2 +- .../rgbkb/zen/rev1/keymaps/default/keymap.c | 4 ++-- .../rgbkb/zen/rev2/keymaps/default/keymap.c | 2 +- .../rgbkb/zygomorph/keymaps/default/keymap.c | 4 ++-- .../rgbkb/zygomorph/keymaps/default/readme.md | 2 +- .../zygomorph/keymaps/default_oled/keymap.c | 4 ++-- .../rocketboard_16/keymaps/default/keymap.c | 2 +- keyboards/rocketboard_16/keymaps/via/keymap.c | 2 +- .../katana60/rev1/keymaps/default/keymap.c | 2 +- .../katana60/rev2/keymaps/default/keymap.c | 2 +- .../katana60/rev2/keymaps/via/keymap.c | 2 +- keyboards/roseslite/keymaps/default/keymap.c | 2 +- keyboards/roseslite/keymaps/via/keymap.c | 6 +++--- .../southpaw66/keymaps/default/keymap.c | 2 +- .../rpiguy9907/southpaw66/keymaps/via/keymap.c | 2 +- keyboards/rubi/keymaps/default/keymap.c | 2 +- keyboards/rubi/keymaps/via/keymap.c | 2 +- keyboards/runes/vaengr/keymaps/default/keymap.c | 2 +- keyboards/runes/vaengr/keymaps/via/keymap.c | 2 +- .../ryloo_studio/m0110/keymaps/default/keymap.c | 2 +- .../7skb/keymaps/default/keymap.c | 2 +- .../salicylic_acid3/7skb/keymaps/via/keymap.c | 4 ++-- .../naked48/keymaps/default/keymap.c | 2 +- .../naked48/keymaps/default/readme.md | 2 +- .../naked48/keymaps/default_with_nafuda/keymap.c | 2 +- .../keymaps/default_with_setta21/keymap.c | 2 +- .../salicylic_acid3/naked48/keymaps/via/keymap.c | 2 +- .../naked60/keymaps/default/keymap.c | 2 +- .../naked60/keymaps/default/readme.md | 2 +- .../naked60/keymaps/default_with_nafuda/keymap.c | 2 +- .../keymaps/default_with_setta21/keymap.c | 2 +- .../naked64/keymaps/default/keymap.c | 2 +- .../keymaps/default_with_setta21/keymap.c | 2 +- .../nknl7en/keymaps/default/keymap.c | 2 +- .../salicylic_acid3/nknl7en/keymaps/via/keymap.c | 2 +- .../sandwich/keeb68/keymaps/default/keymap.c | 2 +- .../satt/comet46/keymaps/default-rgbled/keymap.c | 2 +- keyboards/satt/comet46/keymaps/default/keymap.c | 2 +- keyboards/satt/vision/keymaps/default/keymap.c | 2 +- keyboards/satt/vision/keymaps/via/keymap.c | 2 +- keyboards/sauce/mild/keymaps/default/keymap.c | 2 +- keyboards/sauce/mild/keymaps/via/keymap.c | 2 +- .../vcl65/solder/keymaps/default/keymap.c | 2 +- .../vcl65/solder/keymaps/via/keymap.c | 2 +- keyboards/scatter42/keymaps/default/keymap.c | 2 +- keyboards/sck/m0116b/keymaps/default/keymap.c | 4 ++-- .../sendyyeah/75pixels/keymaps/default/keymap.c | 2 +- .../sendyyeah/75pixels/keymaps/via/keymap.c | 2 +- .../senselessclay/had60/keymaps/default/keymap.c | 2 +- .../senselessclay/had60/keymaps/iso/keymap.c | 2 +- .../senselessclay/had60/keymaps/via/keymap.c | 2 +- .../sentraq/s65_plus/keymaps/default/keymap.c | 2 +- keyboards/sentraq/s65_plus/keymaps/iso/keymap.c | 2 +- keyboards/sets3n/kk980/keymaps/default/keymap.c | 2 +- keyboards/sets3n/kk980/keymaps/via/keymap.c | 2 +- .../shapeshifter4060/keymaps/default/keymap.c | 2 +- .../majbritt/rev1/keymaps/default/keymap.c | 2 +- keyboards/signum/3_0/keymaps/default/keymap.c | 2 +- keyboards/signum/3_0/keymaps/default/layout.py | 2 +- .../silverbullet44/keymaps/default/keymap.c | 2 +- keyboards/singa/keymaps/default/keymap.c | 2 +- keyboards/singa/keymaps/via/keymap.c | 2 +- .../rooboard65/keymaps/default/keymap.c | 2 +- .../rooboard65/keymaps/via/keymap.c | 2 +- keyboards/slz40/keymaps/default/keymap.c | 2 +- keyboards/smk60/keymaps/default/keymap.c | 2 +- .../sneakbox/aliceclone/keymaps/default/keymap.c | 2 +- .../sneakbox/aliceclone/keymaps/via/keymap.c | 2 +- .../aliceclonergb/keymaps/default/keymap.c | 2 +- .../sneakbox/aliceclonergb/keymaps/via/keymap.c | 2 +- keyboards/sneakbox/ava/keymaps/default/keymap.c | 2 +- keyboards/sneakbox/ava/keymaps/via/keymap.c | 2 +- .../disarray/ortho/keymaps/default/keymap.c | 2 +- .../sneakbox/disarray/ortho/keymaps/via/keymap.c | 2 +- .../disarray/staggered/keymaps/default/keymap.c | 2 +- .../disarray/staggered/keymaps/via/keymap.c | 2 +- keyboards/sofle/keymaps/default/keymap.c | 4 ++-- keyboards/soup10/keymaps/default/keymap.c | 2 +- .../sowbug/ansi_tkl/keymaps/default/keymap.c | 2 +- keyboards/soy20/keymaps/default/keymap.c | 2 +- keyboards/soy20/keymaps/via/keymap.c | 2 +- .../nebula68/keymaps/default/keymap.c | 2 +- .../spaceholdings/nebula68/keymaps/via/keymap.c | 2 +- .../pancake/rev1/keymaps/default/keymap.c | 2 +- .../spaceman/pancake/rev1/keymaps/via/keymap.c | 2 +- .../split78/keymaps/default/keymap.c | 2 +- keyboards/splitkb/zima/keymaps/default/keymap.c | 2 +- keyboards/splitkb/zima/keymaps/via/keymap.c | 2 +- keyboards/splitty/keymaps/default/keymap.c | 2 +- .../bourgeau/keymaps/default/keymap.c | 2 +- .../studiokestra/bourgeau/keymaps/via/keymap.c | 6 +++--- .../cascade/keymaps/default/keymap.c | 2 +- .../keymaps/default_tsangan_hhkb/keymap.c | 2 +- .../studiokestra/cascade/keymaps/via/keymap.c | 2 +- .../galatea/keymaps/default/keymap.c | 2 +- .../studiokestra/galatea/keymaps/via/keymap.c | 2 +- .../studiokestra/nue/keymaps/default/keymap.c | 2 +- keyboards/studiokestra/nue/keymaps/via/keymap.c | 2 +- keyboards/subatomic/keymaps/default/keymap.c | 2 +- .../southpaw_65/keymaps/default/keymap.c | 2 +- .../southpaw_65/keymaps/default_ansi/keymap.c | 2 +- .../southpaw_65/keymaps/default_iso/keymap.c | 2 +- .../southpaw_fullsize/keymaps/default/keymap.c | 2 +- .../keymaps/default_wkl/keymap.c | 2 +- .../switchplate910/keymaps/default/keymap.c | 2 +- .../switchplate910/keymaps/via/keymap.c | 2 +- keyboards/sx60/keymaps/default/keymap.c | 2 +- keyboards/sx60/keymaps/via/keymap.c | 2 +- keyboards/synapse/keymaps/default/keymap.c | 2 +- .../system76/launch_1/keymaps/default/keymap.c | 6 +++--- .../spreadwriter/keymaps/default/keymap.c | 2 +- .../spreadwriter/keymaps/via/keymap.c | 2 +- .../taleguers75/keymaps/default/keymap.c | 2 +- .../taleguers/taleguers75/keymaps/via/keymap.c | 2 +- keyboards/tanuki/keymaps/default/keymap.c | 2 +- keyboards/tau4/keymaps/default/keymap.c | 2 +- .../teleport/numpad/keymaps/default/keymap.c | 2 +- keyboards/teleport/numpad/keymaps/via/keymap.c | 6 +++--- keyboards/tenki/keymaps/default/keymap.c | 2 +- keyboards/tenki/keymaps/via/keymap.c | 2 +- keyboards/terrazzo/keymaps/default/keymap.c | 2 +- keyboards/tg4x/keymaps/default/keymap.c | 2 +- keyboards/tg4x/keymaps/via/keymap.c | 2 +- keyboards/tgr/910/keymaps/default/keymap.c | 2 +- keyboards/tgr/910/keymaps/via/keymap.c | 2 +- keyboards/tgr/tris/keymaps/default/keymap.c | 2 +- keyboards/tgr/tris/keymaps/via/keymap.c | 2 +- .../the_royal/liminal/keymaps/default/keymap.c | 2 +- .../liminal/keymaps/default_iso/keymap.c | 2 +- .../tkc/candybar/lefty/keymaps/default/keymap.c | 2 +- .../tkc/candybar/lefty/keymaps/via/keymap.c | 6 +++--- .../candybar/lefty_r3/keymaps/default/keymap.c | 2 +- .../tkc/candybar/lefty_r3/keymaps/via/keymap.c | 6 +++--- .../tkc/candybar/righty/keymaps/default/keymap.c | 2 +- .../tkc/candybar/righty/keymaps/via/keymap.c | 6 +++--- .../candybar/righty_r3/keymaps/default/keymap.c | 2 +- .../tkc/candybar/righty_r3/keymaps/via/keymap.c | 6 +++--- .../tkc/godspeed75/keymaps/default/keymap.c | 2 +- keyboards/tkc/godspeed75/keymaps/via/keymap.c | 6 +++--- keyboards/tkc/m0lly/keymaps/default/keymap.c | 4 ++-- keyboards/tkc/m0lly/keymaps/via/keymap.c | 8 ++++---- keyboards/tkc/portico/keymaps/default/keymap.c | 4 ++-- keyboards/tkc/portico/keymaps/via/keymap.c | 4 ++-- .../tkc/portico68v2/keymaps/default/keymap.c | 2 +- keyboards/tkc/portico68v2/keymaps/via/keymap.c | 2 +- keyboards/tkc/tkc1800/keymaps/default/keymap.c | 4 ++-- keyboards/tkc/tkc1800/keymaps/via/keymap.c | 8 ++++---- keyboards/tkc/tkc1800/keymaps/wkl/keymap.c | 2 +- .../tkw/grandiceps/keymaps/default/keymap.c | 4 ++-- .../tkw/stoutgat/v1/keymaps/default/keymap.c | 2 +- keyboards/tkw/stoutgat/v2/keymaps/ansi/keymap.c | 4 ++-- .../tkw/stoutgat/v2/keymaps/default/keymap.c | 2 +- keyboards/tmo50/keymaps/default/keymap.c | 2 +- keyboards/tmo50/keymaps/via/keymap.c | 2 +- .../le_chiffre/keymaps/default/keymap.c | 2 +- .../underscore33/rev1/keymaps/default/keymap.c | 2 +- .../rev1/keymaps/default_big_space/keymap.c | 2 +- .../underscore33/rev2/keymaps/default/keymap.c | 2 +- .../rev2/keymaps/default_big_space/keymap.c | 2 +- keyboards/tr60w/keymaps/default/keymap.c | 2 +- .../trashman/ketch/keymaps/default/keymap.c | 2 +- .../treasure/type9s2/keymaps/default/keymap.c | 2 +- .../m122_3270/keymaps/default/keymap.c | 2 +- .../tszaboo/ortho4exent/keymaps/default/keymap.c | 2 +- keyboards/uk78/keymaps/default/keymap.c | 2 +- .../ungodly/launch_pad/keymaps/default/keymap.c | 2 +- .../ungodly/launch_pad/keymaps/via/keymap.c | 2 +- keyboards/ungodly/nines/keymaps/default/keymap.c | 2 +- keyboards/ungodly/nines/keymaps/via/keymap.c | 2 +- .../keymaps/default/keymap.c | 2 +- .../keymaps/default/keymap.c | 2 +- .../divergetm2/keymaps/default/keymap.c | 4 ++-- keyboards/unikorn/keymaps/default/keymap.c | 2 +- keyboards/unikorn/keymaps/tsangan/keymap.c | 2 +- keyboards/unikorn/keymaps/via/keymap.c | 2 +- keyboards/unison/keymaps/via/keymap.c | 2 +- keyboards/uzu42/keymaps/default/keymap.c | 2 +- .../v4n4g0rth0n/v1/keymaps/default/keymap.c | 6 +++--- .../v4n4g0rth0n/v2/keymaps/default/keymap.c | 6 +++--- keyboards/vagrant_10/keymaps/default/keymap.c | 2 +- .../viktus/at101_bh/keymaps/default/keymap.c | 2 +- .../viktus/omnikey_bh/keymaps/default/keymap.c | 2 +- keyboards/viktus/smolka/keymaps/default/keymap.c | 2 +- keyboards/viktus/smolka/keymaps/via/keymap.c | 2 +- keyboards/viktus/sp111/keymaps/default/keymap.c | 2 +- keyboards/viktus/sp111/keymaps/via/keymap.c | 2 +- .../viktus/sp_mini/keymaps/default/keymap.c | 2 +- keyboards/viktus/sp_mini/keymaps/via/keymap.c | 2 +- keyboards/viktus/styrka/keymaps/default/keymap.c | 2 +- keyboards/viktus/styrka/keymaps/via/keymap.c | 2 +- .../viktus/z150_bh/keymaps/default/keymap.c | 2 +- .../viktus/z150_bh/keymaps/default_tkl/keymap.c | 2 +- .../vitamins_included/keymaps/default/keymap.c | 8 ++++---- keyboards/vitamins_included/keymaps/via/keymap.c | 12 ++++++------ keyboards/waldo/keymaps/default/keymap.c | 2 +- keyboards/waldo/keymaps/via/keymap.c | 2 +- .../walletburner/cajal/keymaps/via/keymap.c | 2 +- .../walletburner/neuron/keymaps/default/keymap.c | 2 +- .../walletburner/neuron/keymaps/via/keymap.c | 2 +- .../wavtype/foundation/keymaps/default/keymap.c | 2 +- .../default_ansi_tsangan_split_bs/keymap.c | 2 +- .../keymaps/default_iso_split_bs_rshift/keymap.c | 2 +- .../default_iso_tsangan_split_bs_rshift/keymap.c | 2 +- .../wavtype/foundation/keymaps/via/keymap.c | 2 +- keyboards/wekey/polaris/keymaps/default/keymap.c | 2 +- keyboards/wekey/stelo65/keymaps/default/keymap.c | 2 +- keyboards/wekey/stelo65/keymaps/via/keymap.c | 2 +- keyboards/wekey/we27/keymaps/default/keymap.c | 2 +- keyboards/wekey/we27/keymaps/via/keymap.c | 2 +- .../westfoxtrot/aanzee/keymaps/default/keymap.c | 2 +- .../westfoxtrot/aanzee/keymaps/via/keymap.c | 2 +- .../westfoxtrot/cyclops/keymaps/default/keymap.c | 2 +- .../cypher/rev1/keymaps/default/keymap.c | 2 +- .../cypher/rev1/keymaps/default_iso/keymap.c | 2 +- .../cypher/rev5/keymaps/default/keymap.c | 2 +- .../cypher/rev5/keymaps/default_iso/keymap.c | 2 +- .../westfoxtrot/cypher/rev5/keymaps/via/keymap.c | 2 +- .../westfoxtrot/prophet/keymaps/default/keymap.c | 2 +- .../westfoxtrot/prophet/keymaps/via/keymap.c | 2 +- .../westm/westmergo/keymaps/default/keymap.c | 2 +- keyboards/westm/westmergo/keymaps/via/keymap.c | 6 +++--- keyboards/wolf/kuku65/keymaps/default/keymap.c | 2 +- keyboards/wolf/kuku65/keymaps/via/keymap.c | 2 +- keyboards/wolf/sabre/keymaps/default/keymap.c | 2 +- keyboards/wolf/sabre/keymaps/via/keymap.c | 2 +- keyboards/wolf/ts60/keymaps/default/keymap.c | 2 +- keyboards/wolf/ts60/keymaps/via/keymap.c | 2 +- .../wolfmarkclub/wm1/keymaps/default/keymap.c | 2 +- .../woodkeys/meira/keymaps/default/keymap.c | 2 +- .../scarletbandana/keymaps/default/keymap.c | 2 +- .../work_louder/loop/keymaps/default/keymap.c | 4 ++-- keyboards/work_louder/loop/keymaps/via/keymap.c | 4 ++-- .../work_louder/nano/keymaps/default/keymap.c | 2 +- keyboards/work_louder/nano/keymaps/via/keymap.c | 2 +- .../work_board/keymaps/default/keymap.c | 2 +- .../work_louder/work_board/keymaps/via/keymap.c | 2 +- keyboards/wsk/gothic50/keymaps/default/keymap.c | 2 +- keyboards/wsk/gothic70/keymaps/default/keymap.c | 2 +- keyboards/wsk/gothic70/keymaps/via/keymap.c | 4 ++-- keyboards/wsk/jerkin/keymaps/default/keymap.c | 2 +- keyboards/wsk/sl40/keymaps/default/keymap.c | 2 +- keyboards/wsk/tkl30/keymaps/default/keymap.c | 2 +- keyboards/wuque/ikki68/keymaps/default/keymap.c | 2 +- keyboards/wuque/ikki68/keymaps/via/keymap.c | 6 +++--- .../wuque/ikki68_aurora/keymaps/default/keymap.c | 2 +- .../wuque/ikki68_aurora/keymaps/via/keymap.c | 2 +- .../wuque/mammoth75x/keymaps/default/keymap.c | 2 +- keyboards/wuque/mammoth75x/keymaps/via/keymap.c | 2 +- .../wuque/serneity65/keymaps/default/keymap.c | 2 +- keyboards/wuque/serneity65/keymaps/via/keymap.c | 2 +- keyboards/x16/keymaps/default/keymap.c | 2 +- keyboards/xbows/knight/keymaps/default/keymap.c | 2 +- keyboards/xbows/knight/keymaps/via/keymap.c | 2 +- .../xbows/knight_plus/keymaps/default/keymap.c | 2 +- keyboards/xbows/knight_plus/keymaps/via/keymap.c | 2 +- keyboards/xbows/nature/keymaps/default/keymap.c | 2 +- keyboards/xbows/nature/keymaps/via/keymap.c | 2 +- keyboards/xbows/numpad/keymaps/default/keymap.c | 2 +- keyboards/xbows/numpad/keymaps/via/keymap.c | 2 +- keyboards/xbows/ranger/keymaps/default/keymap.c | 2 +- keyboards/xbows/ranger/keymaps/via/keymap.c | 2 +- keyboards/xbows/woody/keymaps/default/keymap.c | 2 +- keyboards/xelus/akis/keymaps/default/keymap.c | 2 +- keyboards/xelus/akis/keymaps/via/keymap.c | 2 +- keyboards/xelus/dharma/keymaps/default/keymap.c | 4 ++-- keyboards/xelus/dharma/keymaps/via/keymap.c | 4 ++-- .../xelus/kangaroo/keymaps/default/keymap.c | 2 +- keyboards/xelus/la_plus/keymaps/default/keymap.c | 2 +- keyboards/xelus/la_plus/keymaps/via/keymap.c | 2 +- keyboards/xelus/ninjin/keymaps/default/keymap.c | 2 +- keyboards/xelus/ninjin/keymaps/via/keymap.c | 2 +- .../pachi/mini_32u4/keymaps/default/keymap.c | 2 +- .../xelus/pachi/mini_32u4/keymaps/via/keymap.c | 2 +- .../xelus/pachi/rev1/keymaps/default/keymap.c | 2 +- keyboards/xelus/pachi/rev1/keymaps/via/keymap.c | 2 +- .../xelus/pachi/rgb/keymaps/default/keymap.c | 2 +- keyboards/xelus/pachi/rgb/keymaps/via/keymap.c | 2 +- keyboards/xelus/rs60/keymaps/default/keymap.c | 2 +- keyboards/xelus/rs60/keymaps/via/keymap.c | 2 +- .../xelus/trinityxttkl/keymaps/default/keymap.c | 2 +- .../xelus/valor/rev1/keymaps/default/keymap.c | 2 +- keyboards/xelus/valor/rev1/keymaps/via/keymap.c | 2 +- .../xelus/valor/rev2/keymaps/default/keymap.c | 2 +- keyboards/xelus/valor/rev2/keymaps/via/keymap.c | 2 +- keyboards/xiudi/xd60/keymaps/default/keymap.c | 2 +- keyboards/xiudi/xd60/keymaps/iso/keymap.c | 2 +- keyboards/xiudi/xd60/keymaps/via/keymap.c | 2 +- keyboards/xiudi/xd68/keymaps/default/keymap.c | 4 ++-- .../xiudi/xd68/keymaps/default_iso/keymap.c | 4 ++-- keyboards/xiudi/xd68/keymaps/via/keymap.c | 4 ++-- keyboards/xiudi/xd75/keymaps/default/keymap.c | 4 ++-- keyboards/xiudi/xd75/keymaps/via/keymap.c | 4 ++-- keyboards/xiudi/xd84pro/keymaps/default/keymap.c | 2 +- .../xiudi/xd84pro/keymaps/default_iso/keymap.c | 2 +- keyboards/xiudi/xd84pro/keymaps/via/keymap.c | 2 +- keyboards/yampad/keymaps/default/keymap.c | 2 +- keyboards/yampad/keymaps/via/keymap.c | 2 +- .../yandrstudio/zhou65/keymaps/default/keymap.c | 2 +- .../yandrstudio/zhou65/keymaps/via/keymap.c | 2 +- .../yanghu/unicorne/keymaps/default/keymap.c | 2 +- keyboards/ydkb/just60/keymaps/default/keymap.c | 2 +- keyboards/yeehaw/keymaps/default/keymap.c | 2 +- keyboards/yeehaw/keymaps/via/keymap.c | 2 +- .../barleycorn/keymaps/default/keymap.c | 2 +- .../barleycorn/keymaps/iso/keymap.c | 2 +- .../barleycorn/keymaps/via/keymap.c | 2 +- .../gingham/keymaps/default/keymap.c | 2 +- .../yiancardesigns/gingham/keymaps/iso/keymap.c | 2 +- .../yiancardesigns/gingham/keymaps/via/keymap.c | 2 +- keyboards/ymdk/bface/keymaps/via/keymap.c | 2 +- keyboards/ymdk/melody96/keymaps/default/keymap.c | 2 +- .../default_96_with60_split_num0/keymap.c | 2 +- keyboards/ymdk/melody96/keymaps/via/keymap.c | 2 +- keyboards/ymdk/wings/keymaps/default/keymap.c | 2 +- keyboards/ymdk/wings/keymaps/via/keymap.c | 2 +- keyboards/ymdk/wingshs/keymaps/default/keymap.c | 4 ++-- keyboards/ymdk/wingshs/keymaps/via/keymap.c | 2 +- keyboards/ymdk/yd60mq/keymaps/default/keymap.c | 2 +- keyboards/ymdk/yd60mq/keymaps/via/keymap.c | 2 +- keyboards/ymdk/ym68/keymaps/default/keymap.c | 2 +- keyboards/ymdk/ymd09/keymaps/via/keymap.c | 2 +- keyboards/ymdk/ymd40/v2/keymaps/default/keymap.c | 2 +- keyboards/ymdk/ymd40/v2/keymaps/via/keymap.c | 2 +- keyboards/ymdk/ymd67/keymaps/default/keymap.c | 2 +- .../ymdk/ymd75/keymaps/default_iso/keymap.c | 2 +- keyboards/ymdk/ymd75/keymaps/via/keymap.c | 2 +- .../lunakey_macro/keymaps/default/keymap.c | 2 +- .../yoichiro/lunakey_macro/keymaps/via/keymap.c | 2 +- .../lunakey_mini/keymaps/default/keymap.c | 2 +- .../yoichiro/lunakey_mini/keymaps/via/keymap.c | 2 +- keyboards/yosino58/keymaps/default/keymap.c | 4 ++-- .../yushakobo/navpad/10/keymaps/default/keymap.c | 2 +- .../navpad/10/keymaps/default/readme.md | 2 +- .../yushakobo/navpad/10/keymaps/via/keymap.c | 2 +- .../yushakobo/navpad/10/keymaps/via/readme.md | 2 +- .../navpad/10_helix_r/keymaps/default/keymap.c | 2 +- .../navpad/10_helix_r/keymaps/default/readme.md | 2 +- .../yushakobo/quick17/keymaps/default/keymap.c | 2 +- .../yushakobo/quick17/keymaps/default/readme.md | 2 +- keyboards/yushakobo/quick17/keymaps/via/keymap.c | 2 +- .../yushakobo/quick17/keymaps/via/readme.md | 2 +- .../yushakobo/quick7/keymaps/default/keymap.c | 2 +- .../yushakobo/quick7/keymaps/default/readme.md | 2 +- keyboards/yushakobo/quick7/keymaps/via/keymap.c | 2 +- keyboards/yushakobo/quick7/keymaps/via/readme.md | 2 +- .../yynmt/kagamidget/keymaps/default/keymap.c | 2 +- keyboards/zj68/keymaps/default/keymap.c | 2 +- keyboards/zlant/keymaps/default/keymap.c | 2 +- .../ztboards/after/keymaps/default/keymap.c | 2 +- keyboards/ztboards/noon/keymaps/default/keymap.c | 2 +- keyboards/ztboards/noon/keymaps/via/keymap.c | 2 +- .../split_blackpill/keymaps/default/keymap.c | 2 +- keyboards/zvecr/zv48/keymaps/default/keymap.c | 2 +- .../default/60_abnt2/default_60_abnt2/keymap.c | 2 +- layouts/default/64_ansi/default_64_ansi/keymap.c | 2 +- layouts/default/64_iso/default_64_iso/keymap.c | 2 +- .../numpad_5x6/default_numpad_5x6/keymap.c | 2 +- .../numpad_6x4/default_numpad_6x4/keymap.c | 2 +- .../numpad_6x5/default_numpad_6x5/keymap.c | 2 +- .../default/ortho_6x4/default_ortho_6x4/keymap.c | 2 +- 1893 files changed, 2240 insertions(+), 2240 deletions(-) diff --git a/keyboards/0_sixty/keymaps/default/keymap.c b/keyboards/0_sixty/keymaps/default/keymap.c index 21a5a218af87..1dd0ee7738ce 100644 --- a/keyboards/0_sixty/keymaps/default/keymap.c +++ b/keyboards/0_sixty/keymaps/default/keymap.c @@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/0_sixty/keymaps/via/keymap.c b/keyboards/0_sixty/keymaps/via/keymap.c index 7588fc3d4ba3..74accc10ad43 100644 --- a/keyboards/0_sixty/keymaps/via/keymap.c +++ b/keyboards/0_sixty/keymaps/via/keymap.c @@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/0xcb/static/keymaps/default/keymap.c b/keyboards/0xcb/static/keymaps/default/keymap.c index 4d0d14ff7ec4..d652ab35fbb3 100644 --- a/keyboards/0xcb/static/keymaps/default/keymap.c +++ b/keyboards/0xcb/static/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), MO(2) ), [_FN2] = LAYOUT_all( - RESET, + QK_BOOT, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/0xcb/static/keymaps/via/keymap.c b/keyboards/0xcb/static/keymaps/via/keymap.c index 62fcca1f3c36..6b5f8a683c9a 100644 --- a/keyboards/0xcb/static/keymaps/via/keymap.c +++ b/keyboards/0xcb/static/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), MO(2) ), [_FN2] = LAYOUT_all( - RESET, + QK_BOOT, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/1upkeyboards/1up60hse/keymaps/default/keymap.c b/keyboards/1upkeyboards/1up60hse/keymaps/default/keymap.c index 97bece94b321..b169df09c030 100644 --- a/keyboards/1upkeyboards/1up60hse/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/1up60hse/keymaps/default/keymap.c @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------------' */ [2] = LAYOUT_60_ansi( - 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, RESET, + 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, QK_BOOT, BL_TOGG, BL_INC, BL_DEC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, diff --git a/keyboards/1upkeyboards/1up60hse/keymaps/via/keymap.c b/keyboards/1upkeyboards/1up60hse/keymaps/via/keymap.c index cd4ea637aa88..6ab29d2555ef 100644 --- a/keyboards/1upkeyboards/1up60hse/keymaps/via/keymap.c +++ b/keyboards/1upkeyboards/1up60hse/keymaps/via/keymap.c @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------------' */ [2] = LAYOUT_60_ansi( - 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, RESET, + 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, QK_BOOT, BL_TOGG, BL_INC, BL_DEC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c index 79a2fa92a7e0..fd9333213b77 100644 --- a/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_tsangan_hhkb( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_UP, _______, KC_CLR, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, _______, _______, diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c index 5ecea3759748..70927f8cbba1 100644 --- a/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c +++ b/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_tsangan_hhkb( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_UP, _______, KC_CLR, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, _______, _______, diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c index bd7e96aad93f..efdd77821571 100644 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c +++ b/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_RCTL), LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, 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_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS, diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/via/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/via/keymap.c index 1ff6ef5b4060..28fb50f57470 100644 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/via/keymap.c +++ b/keyboards/1upkeyboards/1up60rgb/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL), [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/1upkeyboards/super16/keymaps/via/keymap.c b/keyboards/1upkeyboards/super16/keymaps/via/keymap.c index bd3466814a88..3557a5ddb0c3 100644 --- a/keyboards/1upkeyboards/super16/keymaps/via/keymap.c +++ b/keyboards/1upkeyboards/super16/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ortho_4x4( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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 diff --git a/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c index b80db58baecc..ba6d6c4d7194 100644 --- a/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, RESET + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT ), }; diff --git a/keyboards/1upkeyboards/super16v2/keymaps/via/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/via/keymap.c index 7e8f41b9098c..0475107aed4d 100644 --- a/keyboards/1upkeyboards/super16v2/keymaps/via/keymap.c +++ b/keyboards/1upkeyboards/super16v2/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, RESET + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT ), [2] = LAYOUT_ortho_4x4( diff --git a/keyboards/1upkeyboards/sweet16/keymaps/via/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/via/keymap.c index bd3466814a88..3557a5ddb0c3 100644 --- a/keyboards/1upkeyboards/sweet16/keymaps/via/keymap.c +++ b/keyboards/1upkeyboards/sweet16/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ortho_4x4( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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 diff --git a/keyboards/25keys/aleth42/keymaps/default/keymap.c b/keyboards/25keys/aleth42/keymaps/default/keymap.c index 707af7116a5d..4868bbce1dc4 100644 --- a/keyboards/25keys/aleth42/keymaps/default/keymap.c +++ b/keyboards/25keys/aleth42/keymaps/default/keymap.c @@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, BL_TOGG, BL_STEP, BL_INC, AG_NORM, RGB_TOG, RGB_HUI, AG_SWAP, RGB_SAI, RGB_VAI, KC_F12, - KC_CAPS, RESET, BL_BRTG, BL_DEC, _______, RGB_MOD, RGB_HUD, _______, RGB_SAD, RGB_VAD, _______, + KC_CAPS, QK_BOOT, BL_BRTG, BL_DEC, _______, RGB_MOD, RGB_HUD, _______, RGB_SAD, RGB_VAD, _______, KC_SLEP, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/25keys/aleth42/keymaps/via/keymap.c b/keyboards/25keys/aleth42/keymaps/via/keymap.c index 2801e65ec4a3..fc0c2c46c9bd 100644 --- a/keyboards/25keys/aleth42/keymaps/via/keymap.c +++ b/keyboards/25keys/aleth42/keymaps/via/keymap.c @@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, BL_TOGG, BL_STEP, BL_INC, AG_NORM, RGB_TOG, RGB_HUI, AG_SWAP, RGB_SAI, RGB_VAI, KC_F12, - KC_CAPS, RESET, BL_BRTG, BL_DEC, _______, RGB_MOD, RGB_HUD, _______, RGB_SAD, RGB_VAD, _______, + KC_CAPS, QK_BOOT, BL_BRTG, BL_DEC, _______, RGB_MOD, RGB_HUD, _______, RGB_SAD, RGB_VAD, _______, KC_SLEP, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/25keys/zinc/keymaps/default/keymap.c b/keyboards/25keys/zinc/keymaps/default/keymap.c index 449c635a5d33..925d252247e7 100644 --- a/keyboards/25keys/zinc/keymaps/default/keymap.c +++ b/keyboards/25keys/zinc/keymaps/default/keymap.c @@ -145,7 +145,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------' `-----------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, + _______, QK_BOOT, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SLCK, KC_PAUS, RGB_RMOD,RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END diff --git a/keyboards/25keys/zinc/keymaps/via/keymap.c b/keyboards/25keys/zinc/keymaps/via/keymap.c index 7c961c710db9..22c08b0abbf0 100644 --- a/keyboards/25keys/zinc/keymaps/via/keymap.c +++ b/keyboards/25keys/zinc/keymaps/via/keymap.c @@ -134,14 +134,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------' `-----------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, RGBRST, _______, _______, _______, _______, QWERTY, _______, _______, _______, KC_INS, + _______, QK_BOOT, RGBRST, _______, _______, _______, _______, QWERTY, _______, _______, _______, KC_INS, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SLCK, KC_PAUS, RGB_RMOD,RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END ), [_ADJUST2] = LAYOUT_ortho_4x12( - _______, RESET, RGBRST, _______, _______, _______, _______, QWERTY, _______, _______, _______, KC_INS, + _______, QK_BOOT, RGBRST, _______, _______, _______, _______, QWERTY, _______, _______, _______, KC_INS, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SLCK, KC_PAUS, RGB_RMOD,RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END diff --git a/keyboards/30wer/keymaps/default/keymap.c b/keyboards/30wer/keymaps/default/keymap.c index d74039164695..2f1dbd286297 100644 --- a/keyboards/30wer/keymaps/default/keymap.c +++ b/keyboards/30wer/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_UP, KC_DEL, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______ ), diff --git a/keyboards/40percentclub/4x4/keymaps/default/keymap.c b/keyboards/40percentclub/4x4/keymaps/default/keymap.c index 079f6caeedf6..4fe5a1d46413 100644 --- a/keyboards/40percentclub/4x4/keymaps/default/keymap.c +++ b/keyboards/40percentclub/4x4/keymaps/default/keymap.c @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* DIRECTIONS * .-----------------------------------------------------------------------------------------------------------------------------------------------. - * | RESET | TAB | up | | INS | CTRL | SHIFT | PgUp | Home | - | = | DEL | | | | | + * | QK_BOOT | TAB | up | | INS | CTRL | SHIFT | PgUp | Home | - | = | DEL | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | CAPSLK | left | down | right | PrScr | SHIFT | CTRL | PgDn | End | [ | ] | \ | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [DIR] = LAYOUT_ortho_4x16( - RESET, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_LSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL, _______, _______, _______, _______, + QK_BOOT, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_LSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL, _______, _______, _______, _______, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR, KC_LSFT, KC_LCTL, KC_PGDN, KC_END, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, _______, KC_PAUS, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_RALT, _______, _______, _______, _______, _______, _______, DF(PAD), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/40percentclub/4x4/keymaps/via/keymap.c b/keyboards/40percentclub/4x4/keymaps/via/keymap.c index 3c39e985454c..b7d3fc63082f 100644 --- a/keyboards/40percentclub/4x4/keymaps/via/keymap.c +++ b/keyboards/40percentclub/4x4/keymaps/via/keymap.c @@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* DIRECTIONS * .-----------------------------------------------------------------------------------------------------------------------------------------------. - * | RESET | TAB | up | | INS | CTRL | SHIFT | PgUp | Home | - | = | DEL | | | | | + * | QK_BOOT | TAB | up | | INS | CTRL | SHIFT | PgUp | Home | - | = | DEL | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | CAPSLK | left | down | right | PrScr | SHIFT | CTRL | PgDn | End | [ | ] | \ | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -96,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [DIR] = LAYOUT_ortho_4x16( - RESET, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_LSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL, _______, _______, _______, _______, + QK_BOOT, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_LSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL, _______, _______, _______, _______, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR, KC_LSFT, KC_LCTL, KC_PGDN, KC_END, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, _______, KC_PAUS, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_RALT, _______, _______, _______, _______, _______, _______, DF(PAD), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/40percentclub/5x5/keymaps/default/keymap.c b/keyboards/40percentclub/5x5/keymaps/default/keymap.c index 5dfd72f7e9f9..ce4fc2677b67 100644 --- a/keyboards/40percentclub/5x5/keymaps/default/keymap.c +++ b/keyboards/40percentclub/5x5/keymaps/default/keymap.c @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * .--------------------------------------------------------------------------------------------------------------------------------------. * | | | | | | | | | | | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | RESET | TAB | up | | INS | CTRL | SHIFT | PgUp | Home | - | = | DEL | | | | + * | QK_BOOT | TAB | up | | INS | CTRL | SHIFT | PgUp | Home | - | = | DEL | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | CAPSLK | left | down | right | PrScr | SHIFT | CTRL | PgDn | End | [ | ] | \ | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [DIR] = LAYOUT_ortho_5x15( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_LSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL, _______, _______, _______, + QK_BOOT, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_LSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL, _______, _______, _______, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR, KC_LSFT, KC_LCTL, KC_PGDN, KC_END, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, KC_PAUS, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_RALT, _______, _______, _______, _______, _______, DF(PAD), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/40percentclub/5x5/keymaps/via/keymap.c b/keyboards/40percentclub/5x5/keymaps/via/keymap.c index 735fa6b145e4..b65db272a93a 100644 --- a/keyboards/40percentclub/5x5/keymaps/via/keymap.c +++ b/keyboards/40percentclub/5x5/keymaps/via/keymap.c @@ -96,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * .--------------------------------------------------------------------------------------------------------------------------------------. * | | | | | | | | | | | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | RESET | TAB | up | | INS | CTRL | SHIFT | PgUp | Home | - | = | DEL | | | | + * | QK_BOOT | TAB | up | | INS | CTRL | SHIFT | PgUp | Home | - | = | DEL | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | CAPSLK | left | down | right | PrScr | SHIFT | CTRL | PgDn | End | [ | ] | \ | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [DIR] = LAYOUT_ortho_5x15( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_LSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL, _______, _______, _______, + QK_BOOT, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_LSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL, _______, _______, _______, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR, KC_LSFT, KC_LCTL, KC_PGDN, KC_END, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, KC_PAUS, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_RALT, _______, _______, _______, _______, _______, DF(PAD), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/40percentclub/foobar/keymaps/default/keymap.c b/keyboards/40percentclub/foobar/keymaps/default/keymap.c index 02e705998dfc..26bbd8a3cae6 100644 --- a/keyboards/40percentclub/foobar/keymaps/default/keymap.c +++ b/keyboards/40percentclub/foobar/keymaps/default/keymap.c @@ -70,6 +70,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [FN5] = LAYOUT_split( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______ ), }; diff --git a/keyboards/40percentclub/gherkin/keymaps/default/keymap.c b/keyboards/40percentclub/gherkin/keymaps/default/keymap.c index 3394c9daee0d..cef154eed0b4 100644 --- a/keyboards/40percentclub/gherkin/keymaps/default/keymap.c +++ b/keyboards/40percentclub/gherkin/keymaps/default/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [5] = LAYOUT_ortho_3x10( KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______ + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/40percentclub/luddite/keymaps/via/keymap.c b/keyboards/40percentclub/luddite/keymaps/via/keymap.c index df732befaa62..61f83e67106d 100644 --- a/keyboards/40percentclub/luddite/keymaps/via/keymap.c +++ b/keyboards/40percentclub/luddite/keymaps/via/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_60_ansi( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_INC, BL_DEC, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/40percentclub/nein/keymaps/default/keymap.c b/keyboards/40percentclub/nein/keymaps/default/keymap.c index c1d4e8ef483f..4d8351000c74 100644 --- a/keyboards/40percentclub/nein/keymaps/default/keymap.c +++ b/keyboards/40percentclub/nein/keymaps/default/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_ortho_3x3( - RESET, _______, KC_STOP, + QK_BOOT, _______, KC_STOP, _______, _______, RGB_MOD, KC_MPRV, _______, KC_MNXT ), diff --git a/keyboards/40percentclub/nein/keymaps/via/keymap.c b/keyboards/40percentclub/nein/keymaps/via/keymap.c index 528de8246d8a..2fecb3965c0f 100644 --- a/keyboards/40percentclub/nein/keymaps/via/keymap.c +++ b/keyboards/40percentclub/nein/keymaps/via/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_ortho_3x3( - RESET, _______, KC_STOP, + QK_BOOT, _______, KC_STOP, _______, _______, RGB_MOD, KC_MPRV, _______, KC_MNXT ), diff --git a/keyboards/40percentclub/nori/keymaps/default/keymap.c b/keyboards/40percentclub/nori/keymaps/default/keymap.c index 3d379a8af6ce..25d5c89af3f7 100644 --- a/keyboards/40percentclub/nori/keymaps/default/keymap.c +++ b/keyboards/40percentclub/nori/keymaps/default/keymap.c @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/40percentclub/tomato/keymaps/default/keymap.c b/keyboards/40percentclub/tomato/keymaps/default/keymap.c index befdad0e2428..5ccf1df6619e 100644 --- a/keyboards/40percentclub/tomato/keymaps/default/keymap.c +++ b/keyboards/40percentclub/tomato/keymaps/default/keymap.c @@ -94,6 +94,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_3x10 ( KC_CALC,KC_WSCH,KC_MAIL,KC_MYCM,_______,_______,_______,_______,_______,_______ , RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,XXXXXXX,XXXXXXX,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD - , _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______ + , _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______ ), }; diff --git a/keyboards/45_ats/keymaps/default/keymap.c b/keyboards/45_ats/keymaps/default/keymap.c index de69c4b05ec5..455506a33037 100644 --- a/keyboards/45_ats/keymaps/default/keymap.c +++ b/keyboards/45_ats/keymaps/default/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLU, KC_SLEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/45_ats/keymaps/via/keymap.c b/keyboards/45_ats/keymaps/via/keymap.c index de69c4b05ec5..455506a33037 100644 --- a/keyboards/45_ats/keymaps/via/keymap.c +++ b/keyboards/45_ats/keymaps/via/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLU, KC_SLEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/4pplet/aekiso60/keymaps/default/keymap.c b/keyboards/4pplet/aekiso60/keymaps/default/keymap.c index e0938a5fdefe..b99f097bb9a3 100644 --- a/keyboards/4pplet/aekiso60/keymaps/default/keymap.c +++ b/keyboards/4pplet/aekiso60/keymaps/default/keymap.c @@ -15,6 +15,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_BSPC, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_INS, KC_PENT, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, - RESET, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______ + QK_BOOT, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______ ) }; diff --git a/keyboards/4pplet/aekiso60/keymaps/via/keymap.c b/keyboards/4pplet/aekiso60/keymaps/via/keymap.c index 151c3bc4a762..2e0244ce2e2d 100644 --- a/keyboards/4pplet/aekiso60/keymaps/via/keymap.c +++ b/keyboards/4pplet/aekiso60/keymaps/via/keymap.c @@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_BSPC, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_INS, KC_PENT, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, - RESET, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______ + QK_BOOT, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______ ), [2] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/4pplet/bootleg/keymaps/default/keymap.c b/keyboards/4pplet/bootleg/keymaps/default/keymap.c index c9ae421af1e7..69f433eb6784 100644 --- a/keyboards/4pplet/bootleg/keymaps/default/keymap.c +++ b/keyboards/4pplet/bootleg/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)), // basic function layer [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/4pplet/bootleg/keymaps/via/keymap.c b/keyboards/4pplet/bootleg/keymaps/via/keymap.c index b83266d8c12c..b225beb1903b 100644 --- a/keyboards/4pplet/bootleg/keymaps/via/keymap.c +++ b/keyboards/4pplet/bootleg/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)), // basic function layer [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c b/keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c index addf690e4a61..d7d2cbc2d2bf 100644 --- a/keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c +++ b/keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT, KC_RGUI, MO(1)), // basic function layer [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/4pplet/eagle_viper_rep/keymaps/via/keymap.c b/keyboards/4pplet/eagle_viper_rep/keymaps/via/keymap.c index 70e55ceb7e02..88e58b558810 100644 --- a/keyboards/4pplet/eagle_viper_rep/keymaps/via/keymap.c +++ b/keyboards/4pplet/eagle_viper_rep/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT, KC_RGUI, MO(1)), // basic function layer [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/4pplet/steezy60/keymaps/default/keymap.c b/keyboards/4pplet/steezy60/keymaps/default/keymap.c index 6a922b0f3e0c..924b6f73467b 100644 --- a/keyboards/4pplet/steezy60/keymaps/default/keymap.c +++ b/keyboards/4pplet/steezy60/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, diff --git a/keyboards/4pplet/steezy60/keymaps/via/keymap.c b/keyboards/4pplet/steezy60/keymaps/via/keymap.c index 603d85771da9..0b998fc645a1 100644 --- a/keyboards/4pplet/steezy60/keymaps/via/keymap.c +++ b/keyboards/4pplet/steezy60/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, diff --git a/keyboards/4pplet/waffling60/keymaps/default/keymap.c b/keyboards/4pplet/waffling60/keymaps/default/keymap.c index b60a7154d70a..ae3a84061060 100644 --- a/keyboards/4pplet/waffling60/keymaps/default/keymap.c +++ b/keyboards/4pplet/waffling60/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)), // basic function layer [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/4pplet/waffling60/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/keymaps/via/keymap.c index 3e20ef9f5634..a1d4c9c940fa 100644 --- a/keyboards/4pplet/waffling60/keymaps/via/keymap.c +++ b/keyboards/4pplet/waffling60/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)), // basic function layer [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/4pplet/waffling80/keymaps/via/keymap.c b/keyboards/4pplet/waffling80/keymaps/via/keymap.c index 6c0d81ba40be..f599868dfde9 100644 --- a/keyboards/4pplet/waffling80/keymaps/via/keymap.c +++ b/keyboards/4pplet/waffling80/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(1), MO(1)), // extra keys for alps dual action switches // basic function layer [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, KC_TRNS, @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS), // extra keys for alps dual action switches [2] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, KC_TRNS, @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS), // extra keys for alps dual action switches [3] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, KC_TRNS, diff --git a/keyboards/4pplet/yakiimo/keymaps/default/keymap.c b/keyboards/4pplet/yakiimo/keymaps/default/keymap.c index 37784917dcaf..ae5e71715e7e 100644 --- a/keyboards/4pplet/yakiimo/keymaps/default/keymap.c +++ b/keyboards/4pplet/yakiimo/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), // basic function layer [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/4pplet/yakiimo/keymaps/via/keymap.c b/keyboards/4pplet/yakiimo/keymaps/via/keymap.c index 969b05c868ab..2646dba11a10 100644 --- a/keyboards/4pplet/yakiimo/keymaps/via/keymap.c +++ b/keyboards/4pplet/yakiimo/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), // basic function layer [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), // extra layer for VIA [2] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // extra layer for VIA [3] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/8pack/keymaps/default/keymap.c b/keyboards/8pack/keymaps/default/keymap.c index aa1aa9170100..9637f5770263 100644 --- a/keyboards/8pack/keymaps/default/keymap.c +++ b/keyboards/8pack/keymaps/default/keymap.c @@ -7,6 +7,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( RGB_TOG, RGB_RMOD, RGB_MOD, KC_NO, - RESET, BL_DEC, BL_INC, BL_TOGG + QK_BOOT, BL_DEC, BL_INC, BL_TOGG ) }; diff --git a/keyboards/acekeyboard/titan60/keymaps/default/keymap.c b/keyboards/acekeyboard/titan60/keymaps/default/keymap.c index f631bff3f07f..68f13497b132 100644 --- a/keyboards/acekeyboard/titan60/keymaps/default/keymap.c +++ b/keyboards/acekeyboard/titan60/keymaps/default/keymap.c @@ -43,6 +43,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_RMOD,KC_UP, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, BS_SWAP, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_CALC, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, - KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c b/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c index 6f56d2d4205c..dfeeea754761 100644 --- a/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c +++ b/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_RMOD,KC_UP, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, BS_SWAP, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_CALC, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, - KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c b/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c index 4c18f99f551b..76609c465a97 100644 --- a/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c +++ b/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_RMOD, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_CLR, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_CALC, KC_MPLY, KC_MNXT, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_STOP, KC_TRNS, KC_TRNS + KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_STOP, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/acheron/elongate/delta/keymaps/default/keymap.c b/keyboards/acheron/elongate/delta/keymaps/default/keymap.c index a701d9ed9bdf..9a9c2d6e7316 100755 --- a/keyboards/acheron/elongate/delta/keymaps/default/keymap.c +++ b/keyboards/acheron/elongate/delta/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_HOME, KC_PGDN, KC_END , KC_TRNS, KC_TRNS ), [2] = LAYOUT_all( /* Base */ - RESET , 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, + QK_BOOT , 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, 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, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_M_T, 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_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/acheron/elongate/delta/keymaps/via/keymap.c b/keyboards/acheron/elongate/delta/keymaps/via/keymap.c index a701d9ed9bdf..9a9c2d6e7316 100755 --- a/keyboards/acheron/elongate/delta/keymaps/via/keymap.c +++ b/keyboards/acheron/elongate/delta/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_HOME, KC_PGDN, KC_END , KC_TRNS, KC_TRNS ), [2] = LAYOUT_all( /* Base */ - RESET , 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, + QK_BOOT , 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, 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, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_M_T, 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_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/acheron/shark/alpha/keymaps/default/keymap.c b/keyboards/acheron/shark/alpha/keymaps/default/keymap.c index 926fc26f02b8..a02e82257f5f 100644 --- a/keyboards/acheron/shark/alpha/keymaps/default/keymap.c +++ b/keyboards/acheron/shark/alpha/keymaps/default/keymap.c @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_INC, BL_DEC , _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/acheron/shark/alpha/keymaps/via/keymap.c b/keyboards/acheron/shark/alpha/keymaps/via/keymap.c index e005da954482..34a58d508f04 100644 --- a/keyboards/acheron/shark/alpha/keymaps/via/keymap.c +++ b/keyboards/acheron/shark/alpha/keymaps/via/keymap.c @@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_INC, BL_DEC , _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ada/ada1800mini/keymaps/default/keymap.c b/keyboards/ada/ada1800mini/keymaps/default/keymap.c index 6937871a01d9..87fc4b6da23f 100644 --- a/keyboards/ada/ada1800mini/keymaps/default/keymap.c +++ b/keyboards/ada/ada1800mini/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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_LBRC, KC_RBRC, KC_DEL, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_DEL, _______, _______, _______, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_SCLN, KC_QUOT, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______ diff --git a/keyboards/ada/infinity81/keymaps/default/keymap.c b/keyboards/ada/infinity81/keymaps/default/keymap.c index 0a6aae93f436..69bb3ce722f6 100644 --- a/keyboards/ada/infinity81/keymaps/default/keymap.c +++ b/keyboards/ada/infinity81/keymaps/default/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/adpenrose/kintsugi/keymaps/default/keymap.c b/keyboards/adpenrose/kintsugi/keymaps/default/keymap.c index 7e03701461dd..278f53266ba0 100644 --- a/keyboards/adpenrose/kintsugi/keymaps/default/keymap.c +++ b/keyboards/adpenrose/kintsugi/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi_blocker( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, RGB_TOG, RGB_VAI, RGB_VAD, RGB_MODE_FORWARD, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______ ), diff --git a/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c b/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c index 80764047dfac..b9b05e38fa8b 100644 --- a/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c +++ b/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi_blocker( _______, 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_MPLY, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______ ), diff --git a/keyboards/aeboards/constellation/keymaps/default/keymap.c b/keyboards/aeboards/constellation/keymaps/default/keymap.c index 70e763332583..b9d847c13690 100755 --- a/keyboards/aeboards/constellation/keymaps/default/keymap.c +++ b/keyboards/aeboards/constellation/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( - 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, KC_INS, KC_DEL, RESET, + 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, KC_INS, KC_DEL, QK_BOOT, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/aeboards/ext65/keymaps/default/keymap.c b/keyboards/aeboards/ext65/keymaps/default/keymap.c index 1f933ca1cabe..e73a74bf1e0c 100644 --- a/keyboards/aeboards/ext65/keymaps/default/keymap.c +++ b/keyboards/aeboards/ext65/keymaps/default/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ext65( - 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, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + 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, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, 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, EEP_RST, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, 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, DEBUG, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, 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, diff --git a/keyboards/aeboards/ext65/keymaps/via/keymap.c b/keyboards/aeboards/ext65/keymaps/via/keymap.c index 1f933ca1cabe..e73a74bf1e0c 100644 --- a/keyboards/aeboards/ext65/keymaps/via/keymap.c +++ b/keyboards/aeboards/ext65/keymaps/via/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ext65( - 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, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + 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, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, 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, EEP_RST, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, 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, DEBUG, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, 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, diff --git a/keyboards/afternoonlabs/breeze/keymaps/default/keymap.c b/keyboards/afternoonlabs/breeze/keymaps/default/keymap.c index fc9bdac9c8e3..10fbfe660a57 100644 --- a/keyboards/afternoonlabs/breeze/keymaps/default/keymap.c +++ b/keyboards/afternoonlabs/breeze/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ diff --git a/keyboards/afternoonlabs/breeze/keymaps/via/keymap.c b/keyboards/afternoonlabs/breeze/keymaps/via/keymap.c index 3ed084736f72..aeb91b11132e 100644 --- a/keyboards/afternoonlabs/breeze/keymaps/via/keymap.c +++ b/keyboards/afternoonlabs/breeze/keymaps/via/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ diff --git a/keyboards/afternoonlabs/oceanbreeze/keymaps/default/keymap.c b/keyboards/afternoonlabs/oceanbreeze/keymaps/default/keymap.c index 73d0dda0f3e8..61f41c1e8579 100644 --- a/keyboards/afternoonlabs/oceanbreeze/keymaps/default/keymap.c +++ b/keyboards/afternoonlabs/oceanbreeze/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/default/keymap.c b/keyboards/afternoonlabs/southern_breeze/keymaps/default/keymap.c index 5dbc6139a5fe..f6de8b5b8c03 100644 --- a/keyboards/afternoonlabs/southern_breeze/keymaps/default/keymap.c +++ b/keyboards/afternoonlabs/southern_breeze/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT( //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_MUTE, KC_VOLD, KC_VOLU, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_MUTE, KC_VOLD, KC_VOLU, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c b/keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c index 691d52315ca7..a1888bfb68e2 100644 --- a/keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c +++ b/keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT( //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_MUTE, KC_VOLD, KC_VOLU, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_MUTE, KC_VOLD, KC_VOLU, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c b/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c index 481c6c01d6c5..3468b86467be 100644 --- a/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c +++ b/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT( //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ - _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ _______, KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c b/keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c index 3fe1a033fde4..6190aa66a292 100644 --- a/keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c +++ b/keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT( //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ - _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ _______, KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ diff --git a/keyboards/ai03/equinox/keymaps/default/keymap.c b/keyboards/ai03/equinox/keymaps/default/keymap.c index a7c358a37a28..10e817107726 100644 --- a/keyboards/ai03/equinox/keymaps/default/keymap.c +++ b/keyboards/ai03/equinox/keymaps/default/keymap.c @@ -32,6 +32,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, 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 + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/ai03/jp60/keymaps/default/keymap.c b/keyboards/ai03/jp60/keymaps/default/keymap.c index 6b69dba9dd51..a6423ef834a9 100644 --- a/keyboards/ai03/jp60/keymaps/default/keymap.c +++ b/keyboards/ai03/jp60/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_HENK, JP_KANA, JP_ZKHK, JP_EISU ), [_FN] = LAYOUT( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ai03/jp60/keymaps/via/keymap.c b/keyboards/ai03/jp60/keymaps/via/keymap.c index efce7acf3cef..7ee7327a96ad 100644 --- a/keyboards/ai03/jp60/keymaps/via/keymap.c +++ b/keyboards/ai03/jp60/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_HENK, KC_KANA, KC_GRV, KC_CAPS ), [_FN1] = LAYOUT( /* FN1 */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ai03/lunar/keymaps/default/keymap.c b/keyboards/ai03/lunar/keymaps/default/keymap.c index e05775c2d504..bf04bbea852e 100644 --- a/keyboards/ai03/lunar/keymaps/default/keymap.c +++ b/keyboards/ai03/lunar/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, MANUAL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, MANUAL, KC_CAPS, _______, KC_UP, _______, _______, _______, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_MPRV, KC_MPLY, KC_MNXT, _______, SWPLURL, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLD, KC_VOLU, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, _______, KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______, _______, KC_PGUP, _______, diff --git a/keyboards/ai03/lunar/keymaps/via/keymap.c b/keyboards/ai03/lunar/keymaps/via/keymap.c index b98e6cf0aa7b..87eb533be533 100644 --- a/keyboards/ai03/lunar/keymaps/via/keymap.c +++ b/keyboards/ai03/lunar/keymaps/via/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, KC_CAPS, _______, KC_UP, _______, _______, _______, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLD, KC_VOLU, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, _______, KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______, _______, KC_PGUP, _______, diff --git a/keyboards/ai03/orbit_x/keymaps/default/keymap.c b/keyboards/ai03/orbit_x/keymaps/default/keymap.c index 619310bd6aab..8b62eb9eb4f5 100644 --- a/keyboards/ai03/orbit_x/keymaps/default/keymap.c +++ b/keyboards/ai03/orbit_x/keymaps/default/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_FN] = LAYOUT( - RESET, XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, XXXXXXX, RESET, + QK_BOOT, XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, XXXXXXX, QK_BOOT, _______, XXXXXXX, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, KC_F10, KC_F11, KC_F12, XXXXXXX, _______, _______, XXXXXXX, KC_VOLD, XXXXXXX, KC_VOLU, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ai03/orbit_x/keymaps/via/keymap.c b/keyboards/ai03/orbit_x/keymaps/via/keymap.c index efab115038bd..417533590d8f 100644 --- a/keyboards/ai03/orbit_x/keymaps/via/keymap.c +++ b/keyboards/ai03/orbit_x/keymaps/via/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_FN] = LAYOUT( - RESET, XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, XXXXXXX, RESET, + QK_BOOT, XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, XXXXXXX, QK_BOOT, _______, XXXXXXX, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, KC_F10, KC_F11, KC_F12, XXXXXXX, _______, _______, XXXXXXX, KC_VOLD, XXXXXXX, KC_VOLU, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ai03/polaris/keymaps/default/keymap.c b/keyboards/ai03/polaris/keymaps/default/keymap.c index 65902ae583e8..c53c3a7226ee 100644 --- a/keyboards/ai03/polaris/keymaps/default/keymap.c +++ b/keyboards/ai03/polaris/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [_FN] = LAYOUT_all( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______, diff --git a/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c b/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c index 410f9b379f7e..e6126b1ff9d9 100644 --- a/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c +++ b/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), [_FN] = LAYOUT_60_tsangan_hhkb( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______, diff --git a/keyboards/ai03/quasar/keymaps/default/keymap.c b/keyboards/ai03/quasar/keymaps/default/keymap.c index 8d3d2e4358cb..c7d2c2ca36b8 100644 --- a/keyboards/ai03/quasar/keymaps/default/keymap.c +++ b/keyboards/ai03/quasar/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( /* FN */ - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ai03/vega/keymaps/default/keymap.c b/keyboards/ai03/vega/keymaps/default/keymap.c index 1cf024c37011..432edc181335 100644 --- a/keyboards/ai03/vega/keymaps/default/keymap.c +++ b/keyboards/ai03/vega/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/ai03/vega/keymaps/via/keymap.c b/keyboards/ai03/vega/keymaps/via/keymap.c index 53d10127f33e..db450dd297f4 100644 --- a/keyboards/ai03/vega/keymaps/via/keymap.c +++ b/keyboards/ai03/vega/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/ai03/voyager60_alps/keymaps/via/keymap.c b/keyboards/ai03/voyager60_alps/keymaps/via/keymap.c index 1a5e74c42e76..136f75de9118 100644 --- a/keyboards/ai03/voyager60_alps/keymaps/via/keymap.c +++ b/keyboards/ai03/voyager60_alps/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, _______, KC_RGUI, KC_RALT, KC_RCTL ), [1] = LAYOUT( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/akb/eb46/keymaps/default/keymap.c b/keyboards/akb/eb46/keymaps/default/keymap.c index c2114cc65d4c..4f12733558c1 100644 --- a/keyboards/akb/eb46/keymaps/default/keymap.c +++ b/keyboards/akb/eb46/keymaps/default/keymap.c @@ -30,5 +30,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, KC_NUHS, _______, _______, _______, KC_NUBS, _______, _______, _______, _______, _______, _______, KC_SLSH, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RESET ), + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), }; diff --git a/keyboards/akb/raine/keymaps/default/keymap.c b/keyboards/akb/raine/keymaps/default/keymap.c index 1eecbb041f12..b247c4059216 100644 --- a/keyboards/akb/raine/keymaps/default/keymap.c +++ b/keyboards/akb/raine/keymaps/default/keymap.c @@ -27,6 +27,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, _______, _______, KC_LEFT, KC_SLCK, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______, _______, _______, KC_END, KC_DOWN, KC_PGDN, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT), }; diff --git a/keyboards/al1/keymaps/default/keymap.c b/keyboards/al1/keymaps/default/keymap.c index a3a9d63d3728..52387c94aff6 100644 --- a/keyboards/al1/keymaps/default/keymap.c +++ b/keyboards/al1/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______ diff --git a/keyboards/al1/keymaps/via/keymap.c b/keyboards/al1/keymaps/via/keymap.c index 931755270bbe..eaa527333918 100644 --- a/keyboards/al1/keymaps/via/keymap.c +++ b/keyboards/al1/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/alf/x11/keymaps/default/keymap.c b/keyboards/alf/x11/keymaps/default/keymap.c index f0747d345050..3058d3123fe3 100644 --- a/keyboards/alf/x11/keymaps/default/keymap.c +++ b/keyboards/alf/x11/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_MPLY, KC_MSTP, diff --git a/keyboards/alf/x2/keymaps/default/keymap.c b/keyboards/alf/x2/keymaps/default/keymap.c index 5e0d69ada92c..fa7f2b51c992 100644 --- a/keyboards/alf/x2/keymaps/default/keymap.c +++ b/keyboards/alf/x2/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_MNXT, KC_MPRV, 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, _______, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, QK_BOOT, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, KC_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/alfredslab/swift65/solder/keymaps/default/keymap.c b/keyboards/alfredslab/swift65/solder/keymaps/default/keymap.c index e3367f159b21..0aed2fd3c573 100644 --- a/keyboards/alfredslab/swift65/solder/keymaps/default/keymap.c +++ b/keyboards/alfredslab/swift65/solder/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ), diff --git a/keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c b/keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c index fddfd94765d1..5e54716a93ff 100644 --- a/keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c +++ b/keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ), [2] = LAYOUT_625u_space_split_bs( diff --git a/keyboards/alpha/keymaps/default/keymap.c b/keyboards/alpha/keymaps/default/keymap.c index 3632ecaea47a..e626062bcc56 100755 --- a/keyboards/alpha/keymaps/default/keymap.c +++ b/keyboards/alpha/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_VAI, RGB_VAD, RGB_HUI, TO(0), RGB_MOD, KC_MPLY, KC_VOLD, KC_VOLU), [OTHER] = LAYOUT( - RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + QK_BOOT, 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, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(0), MACRO1, KC_NO, KC_NO, KC_NO), }; diff --git a/keyboards/amjkeyboard/amj40/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/default/keymap.c index 658b4b3c55ab..3c6475809d08 100755 --- a/keyboards/amjkeyboard/amj40/keymaps/default/keymap.c +++ b/keyboards/amjkeyboard/amj40/keymaps/default/keymap.c @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------' */ [_ADJUST] = LAYOUT( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_SLEP, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/amjkeyboard/amj40/keymaps/default_625u_space/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/default_625u_space/keymap.c index f5b33ad84fd7..467e50982ebc 100644 --- a/keyboards/amjkeyboard/amj40/keymaps/default_625u_space/keymap.c +++ b/keyboards/amjkeyboard/amj40/keymaps/default_625u_space/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_625u_space( 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_PWR, _______, _______, KC_PSCR, KC_PAUS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, + QK_BOOT, KC_PWR, _______, _______, KC_PSCR, KC_PAUS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, KC_UP, KC_MINS, KC_EQL, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LPRN, KC_RPRN, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______ ), diff --git a/keyboards/amjkeyboard/amj40/keymaps/default_ortho_275u_space/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/default_ortho_275u_space/keymap.c index fe9988469685..42d79d0ade60 100644 --- a/keyboards/amjkeyboard/amj40/keymaps/default_ortho_275u_space/keymap.c +++ b/keyboards/amjkeyboard/amj40/keymaps/default_ortho_275u_space/keymap.c @@ -35,6 +35,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/amjkeyboard/amj40/keymaps/default_ortho_600u_space/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/default_ortho_600u_space/keymap.c index 527390cd1e0a..3489e84a474f 100644 --- a/keyboards/amjkeyboard/amj40/keymaps/default_ortho_600u_space/keymap.c +++ b/keyboards/amjkeyboard/amj40/keymaps/default_ortho_600u_space/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_ortho_600u_space( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/amjkeyboard/amj66/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj66/keymaps/default/keymap.c index cce05a7fe4c1..6f2f00b8004f 100644 --- a/keyboards/amjkeyboard/amj66/keymaps/default/keymap.c +++ b/keyboards/amjkeyboard/amj66/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, KC_BSPC, KC_BSPC, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_DEL, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, BL_STEP, KC_SLEP, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ), diff --git a/keyboards/amjkeyboard/amj96/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj96/keymaps/default/keymap.c index baa4bef9dce1..95247ebfc8b6 100644 --- a/keyboards/amjkeyboard/amj96/keymaps/default/keymap.c +++ b/keyboards/amjkeyboard/amj96/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/amjkeyboard/amjpad/keymaps/default/keymap.c b/keyboards/amjkeyboard/amjpad/keymaps/default/keymap.c index 9df4317bb0b6..c6d5f06b1816 100644 --- a/keyboards/amjkeyboard/amjpad/keymaps/default/keymap.c +++ b/keyboards/amjkeyboard/amjpad/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_P7, KC_P8, KC_P9, - KC_P4, KC_P5, KC_P6, RESET, + KC_P4, KC_P5, KC_P6, QK_BOOT, KC_P1, KC_P2, KC_P3, KC_P0, LT(_FL,KC_PDOT), KC_PENT ), diff --git a/keyboards/ano/keymaps/default/keymap.c b/keyboards/ano/keymaps/default/keymap.c index c457cf851c08..676724a8a749 100644 --- a/keyboards/ano/keymaps/default/keymap.c +++ b/keyboards/ano/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, 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, RESET, + 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, KC_TRNS, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/anomalykb/a65i/keymaps/default/keymap.c b/keyboards/anomalykb/a65i/keymaps/default/keymap.c index c12189c62103..ccd7a9b8f987 100644 --- a/keyboards/anomalykb/a65i/keymaps/default/keymap.c +++ b/keyboards/anomalykb/a65i/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_65_ansi_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, 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, diff --git a/keyboards/anomalykb/a65i/keymaps/iso/keymap.c b/keyboards/anomalykb/a65i/keymaps/iso/keymap.c index b40ea686bc3e..8d6a7bab17e0 100644 --- a/keyboards/anomalykb/a65i/keymaps/iso/keymap.c +++ b/keyboards/anomalykb/a65i/keymaps/iso/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_65_iso_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, 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, diff --git a/keyboards/anomalykb/a65i/keymaps/via/keymap.c b/keyboards/anomalykb/a65i/keymaps/via/keymap.c index c12189c62103..ccd7a9b8f987 100644 --- a/keyboards/anomalykb/a65i/keymaps/via/keymap.c +++ b/keyboards/anomalykb/a65i/keymaps/via/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_65_ansi_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, 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, diff --git a/keyboards/aos/tkl/keymaps/default/keymap.c b/keyboards/aos/tkl/keymaps/default/keymap.c index 36ccd98aead1..1df2220c7d8e 100644 --- a/keyboards/aos/tkl/keymaps/default/keymap.c +++ b/keyboards/aos/tkl/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAI diff --git a/keyboards/aos/tkl/keymaps/via/keymap.c b/keyboards/aos/tkl/keymaps/via/keymap.c index 53c82022d5ad..80552e9e011e 100644 --- a/keyboards/aos/tkl/keymaps/via/keymap.c +++ b/keyboards/aos/tkl/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAI diff --git a/keyboards/aozora/keymaps/default/keymap.c b/keyboards/aozora/keymaps/default/keymap.c index 8229aaa29a7b..c610438c3bdb 100644 --- a/keyboards/aozora/keymaps/default/keymap.c +++ b/keyboards/aozora/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_F13, KC_F14, KC_F15, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c b/keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c index 91ed943f38be..318160e7dc2b 100644 --- a/keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c +++ b/keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c @@ -26,13 +26,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | Pro | |-----|-----|-----| | * | | Micro| --------------------| * | | | |-----|-----|-----| | - * | '------' |MyPC | PgD |RESET| | + * | '------' |MyPC | PgD |QK_BOOT| | * | |||||| |-----|-----|-----| | * '--------------------------------' */ [_FN] = LAYOUT( KC_CALC, KC_PGUP, _______, - KC_MYCM, KC_PGDN, RESET + KC_MYCM, KC_PGDN, QK_BOOT ) }; diff --git a/keyboards/ares/keymaps/default/keymap.c b/keyboards/ares/keymaps/default/keymap.c index 8b95db5078fa..c7fcb2dd1a80 100644 --- a/keyboards/ares/keymaps/default/keymap.c +++ b/keyboards/ares/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [_FN] = LAYOUT_all( - RGB_MOD, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + RGB_MOD, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/arisu/keymaps/default/keymap.c b/keyboards/arisu/keymaps/default/keymap.c index 2563a36893b2..57cea8076942 100644 --- a/keyboards/arisu/keymaps/default/keymap.c +++ b/keyboards/arisu/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, 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_DEL, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/arisu/keymaps/via/keymap.c b/keyboards/arisu/keymaps/via/keymap.c index 3549a1bdea4d..1cbce827af8f 100644 --- a/keyboards/arisu/keymaps/via/keymap.c +++ b/keyboards/arisu/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, 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_DEL, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ash1800/keymaps/default/keymap.c b/keyboards/ash1800/keymaps/default/keymap.c index f1b52b14d6fd..ada869b16fe3 100644 --- a/keyboards/ash1800/keymaps/default/keymap.c +++ b/keyboards/ash1800/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT ), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ash_xiix/keymaps/default/keymap.c b/keyboards/ash_xiix/keymaps/default/keymap.c index 2127dc59020a..746ab986ef4a 100644 --- a/keyboards/ash_xiix/keymaps/default/keymap.c +++ b/keyboards/ash_xiix/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT ), [1] = LAYOUT_all ( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c b/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c index a11091c8b955..59c23c97d361 100644 --- a/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c +++ b/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_SYSTEM_SLEEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_VAI, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, RGB_HUI, RGB_SPD, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI) diff --git a/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c b/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c index 106d966fa74f..48ffe1be639f 100644 --- a/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c +++ b/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_via( KC_SYSTEM_SLEEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_VAI, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, RGB_HUI, RGB_SPD, _______, _______, _______, RGB_MOD, RGB_RMOD, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI), diff --git a/keyboards/atlas_65/keymaps/default/keymap.c b/keyboards/atlas_65/keymaps/default/keymap.c index 7883a921acd3..807ce3ccd8e2 100644 --- a/keyboards/atlas_65/keymaps/default/keymap.c +++ b/keyboards/atlas_65/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, 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_DEL, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/atlas_65/keymaps/via/keymap.c b/keyboards/atlas_65/keymaps/via/keymap.c index f8e9155362d7..6c0f9ec0efe9 100644 --- a/keyboards/atlas_65/keymaps/via/keymap.c +++ b/keyboards/atlas_65/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/atreus/keymaps/default/keymap.c b/keyboards/atreus/keymaps/default/keymap.c index 95207f5c46ba..02509b627981 100644 --- a/keyboards/atreus/keymaps/default/keymap.c +++ b/keyboards/atreus/keymaps/default/keymap.c @@ -39,6 +39,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LW] = LAYOUT( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , - KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , + KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS ) }; diff --git a/keyboards/atreus/keymaps/via/keymap.c b/keyboards/atreus/keymaps/via/keymap.c index 980eaf32ad70..f4e274377b83 100644 --- a/keyboards/atreus/keymaps/via/keymap.c +++ b/keyboards/atreus/keymaps/via/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LW] = LAYOUT( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , - KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , + KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS ), [_EM] = LAYOUT( /* [> EMPTY <] */ diff --git a/keyboards/atreus62/keymaps/default/keymap.c b/keyboards/atreus62/keymaps/default/keymap.c index 95beab37674c..6b8a7e7b8fdb 100644 --- a/keyboards/atreus62/keymaps/default/keymap.c +++ b/keyboards/atreus62/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 , 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 , 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 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , RESET + 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 , QK_BOOT ) /* diff --git a/keyboards/atxkb/1894/keymaps/default/keymap.c b/keyboards/atxkb/1894/keymaps/default/keymap.c index 65902ae583e8..c53c3a7226ee 100644 --- a/keyboards/atxkb/1894/keymaps/default/keymap.c +++ b/keyboards/atxkb/1894/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [_FN] = LAYOUT_all( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______, diff --git a/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c b/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c index 410f9b379f7e..e6126b1ff9d9 100644 --- a/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c +++ b/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), [_FN] = LAYOUT_60_tsangan_hhkb( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______, diff --git a/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c b/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c index 819d362ebc48..ba80d42d64d5 100644 --- a/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c +++ b/keyboards/axolstudio/foundation_gamma/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_f13_ansi_tsangan( 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, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c b/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c index 2b3f8ef373a0..7ea8e0e1efc6 100644 --- a/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c +++ b/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( 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, 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, KC_TRNS, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, 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, KC_TRNS @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, 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, KC_TRNS diff --git a/keyboards/bacca70/keymaps/default/keymap.c b/keyboards/bacca70/keymaps/default/keymap.c index 65f1252ba604..812116a953b6 100644 --- a/keyboards/bacca70/keymaps/default/keymap.c +++ b/keyboards/bacca70/keymaps/default/keymap.c @@ -33,6 +33,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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,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,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS ) }; diff --git a/keyboards/bacca70/keymaps/via/keymap.c b/keyboards/bacca70/keymaps/via/keymap.c index a4a74b72521b..3365bf475951 100644 --- a/keyboards/bacca70/keymaps/via/keymap.c +++ b/keyboards/bacca70/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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,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,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS ), [2] = LAYOUT_default( @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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,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,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS ), [3] = LAYOUT_default( @@ -51,6 +51,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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,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,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS ) }; diff --git a/keyboards/baguette/keymaps/default/keymap.c b/keyboards/baguette/keymaps/default/keymap.c index 5c54daf29851..f5df8ee4789f 100644 --- a/keyboards/baguette/keymaps/default/keymap.c +++ b/keyboards/baguette/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi( /* FN */ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, RESET, 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, QK_BOOT, 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, KC_TRNS, BL_TOGG, BL_STEP, BL_BRTG, 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_RCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/baguette/keymaps/iso/keymap.c b/keyboards/baguette/keymaps/iso/keymap.c index fa971123d363..f3445e8b1ab3 100644 --- a/keyboards/baguette/keymaps/iso/keymap.c +++ b/keyboards/baguette/keymaps/iso/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_iso( /* FN */ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, RESET, 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, QK_BOOT, 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, KC_TRNS, BL_TOGG, BL_STEP, BL_BRTG, 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_RCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/barleycorn_smd/keymaps/default/keymap.c b/keyboards/barleycorn_smd/keymaps/default/keymap.c index 8bfc60ad4b05..7a9c1c0478b4 100644 --- a/keyboards/barleycorn_smd/keymaps/default/keymap.c +++ b/keyboards/barleycorn_smd/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi( /* FN */ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/barleycorn_smd/keymaps/iso/keymap.c b/keyboards/barleycorn_smd/keymaps/iso/keymap.c index 0f739c8831ac..11af1a44cd8c 100644 --- a/keyboards/barleycorn_smd/keymaps/iso/keymap.c +++ b/keyboards/barleycorn_smd/keymaps/iso/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_iso( /* FN */ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/barleycorn_smd/keymaps/via/keymap.c b/keyboards/barleycorn_smd/keymaps/via/keymap.c index 4cc2f1a73ffd..7ba35fc9c193 100644 --- a/keyboards/barleycorn_smd/keymaps/via/keymap.c +++ b/keyboards/barleycorn_smd/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( /* FN */ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/basekeys/slice/keymaps/default/keymap.c b/keyboards/basekeys/slice/keymaps/default/keymap.c index c7fc3fed510c..069b8660ab03 100644 --- a/keyboards/basekeys/slice/keymaps/default/keymap.c +++ b/keyboards/basekeys/slice/keymaps/default/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( /* Base */ //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------. - XXXXXXX,TG(_ADJUST),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX,TG(_ADJUST),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| diff --git a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c index 203bd0804c8c..245eccba3b43 100644 --- a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c +++ b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_left_space( /* Base */ //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------. - XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| diff --git a/keyboards/basekeys/slice/rev1/keymaps/default_all/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/default_all/keymap.c index 34e1b7c43adb..59c19d50e3b1 100644 --- a/keyboards/basekeys/slice/rev1/keymaps/default_all/keymap.c +++ b/keyboards/basekeys/slice/rev1/keymaps/default_all/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_all( /* Base */ //,------------------------------------------------------------------------| |--------------------------------------------------------------------------------------. - XXXXXXX,TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, + XXXXXXX,TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------| diff --git a/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/keymap.c index 772f9f6f1f2c..7e846f3e2645 100644 --- a/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/keymap.c +++ b/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_backspace( /* Base */ //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------. - XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------| diff --git a/keyboards/basekeys/trifecta/keymaps/default/keymap.c b/keyboards/basekeys/trifecta/keymaps/default/keymap.c index 6db61e4768cc..72187f69b990 100644 --- a/keyboards/basekeys/trifecta/keymaps/default/keymap.c +++ b/keyboards/basekeys/trifecta/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MEDIA] = LAYOUT( 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, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END diff --git a/keyboards/basekeys/trifecta/keymaps/via/keymap.c b/keyboards/basekeys/trifecta/keymaps/via/keymap.c index 54e25ff370ff..9e102f972c69 100644 --- a/keyboards/basekeys/trifecta/keymaps/via/keymap.c +++ b/keyboards/basekeys/trifecta/keymaps/via/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MEDIA] = LAYOUT( 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, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END diff --git a/keyboards/basketweave/keymaps/default/keymap.c b/keyboards/basketweave/keymaps/default/keymap.c index 16c082b61d54..83ad046ae8d7 100644 --- a/keyboards/basketweave/keymaps/default/keymap.c +++ b/keyboards/basketweave/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* esc ` 1 2 3 4 5 6 7 8 9 0 - = bspc */ KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, /* ins tab Q W E R T Y U I O P [ ] \ rotary */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, /* del caps A S D F G H J K L ; ' enter */ 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_INS, KC_TRNS, /* shift Z X C V B B N M , . / shift up */ diff --git a/keyboards/basketweave/keymaps/via/keymap.c b/keyboards/basketweave/keymaps/via/keymap.c index aa9035dbee8f..7d85863d0106 100644 --- a/keyboards/basketweave/keymaps/via/keymap.c +++ b/keyboards/basketweave/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* esc ` 1 2 3 4 5 6 7 8 9 0 - = bspc */ KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, /* ins tab Q W E R T Y U I O P [ ] \ rotary */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, /* del caps A S D F G H J K L ; ' enter */ 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_INS, KC_TRNS, /* shift Z X C V B B N M , . / shift up */ diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c index 18fe860527f1..cb578aa8d699 100644 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_4, KC_5, KC_6, KC_PMNS, // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, RESET, KC_PAST, KC_1, KC_2, KC_3, KC_PSLS, + XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, KC_PAST, KC_1, KC_2, KC_3, KC_PSLS, // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ XXXXXXX, XXXXXXX, _______, XXXXXXX, _______ // ╰───────────────────────────╯ ╰──────────────────╯ @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, RESET, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, + KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ _______, _______, XXXXXXX, _______, XXXXXXX // ╰───────────────────────────╯ ╰──────────────────╯ diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c index ba549deecf40..dc02ed34c68b 100644 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c @@ -98,14 +98,14 @@ static uint16_t auto_pointer_layer_timer = 0; #define LAYOUT_LAYER_MEDIA \ XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, \ KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, \ - XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, RESET, RESET, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, \ + XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, \ _______, KC_MPLY, KC_MSTP, KC_MSTP, KC_MPLY /** \brief Mouse emulation and pointer functions. */ #define LAYOUT_LAYER_POINTER \ XXXXXXX, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, XXXXXXX, \ ______________HOME_ROW_GACS_L______________, ______________HOME_ROW_GACS_R______________, \ - _______, DRGSCRL, SNIPING, EEP_RST, RESET, RESET, EEP_RST, SNIPING, DRGSCRL, _______, \ + _______, DRGSCRL, SNIPING, EEP_RST, QK_BOOT, QK_BOOT, EEP_RST, SNIPING, DRGSCRL, _______, \ KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1 /** diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c index de8eed9c036b..1d3142faac7e 100644 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL, // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, RESET, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT, + RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT, // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_P0 @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE, // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, RESET, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, + KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ _______, _______, XXXXXXX, _______, XXXXXXX, _______, _______, XXXXXXX diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c index d53d580a48fe..cf24fea3c0ec 100644 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c @@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX, // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - XXXXXXX, _______, DRGSCRL, SNIPING, EEP_RST, RESET, RESET, EEP_RST, SNIPING, DRGSCRL, _______, XXXXXXX, + XXXXXXX, _______, DRGSCRL, SNIPING, EEP_RST, QK_BOOT, QK_BOOT, EEP_RST, SNIPING, DRGSCRL, _______, XXXXXXX, // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1, XXXXXXX, KC_BTN2, KC_BTN2 diff --git a/keyboards/bastardkb/scylla/keymaps/default/keymap.c b/keyboards/bastardkb/scylla/keymaps/default/keymap.c index 49be09b689f2..fe9a834fa224 100644 --- a/keyboards/bastardkb/scylla/keymaps/default/keymap.c +++ b/keyboards/bastardkb/scylla/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_split_4x6_5( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, //---------------------------------------------------------//-----------------------------------------------------------// - RESET, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS, + QK_BOOT, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS, //---------------------------------------------------------//-----------------------------------------------------------// _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE, //---------------------------------------------------------//-----------------------------------------------------------// @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //---------------------------------------------------------//--------------------------------------------------------------// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, //---------------------------------------------------------//--------------------------------------------------------------// - KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, RESET, + KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, QK_BOOT, KC_SPC, KC_BSPC, KC_RCTL, KC_ENT ), }; diff --git a/keyboards/bastardkb/tbk/keymaps/default/keymap.c b/keyboards/bastardkb/tbk/keymaps/default/keymap.c index 49be09b689f2..fe9a834fa224 100644 --- a/keyboards/bastardkb/tbk/keymaps/default/keymap.c +++ b/keyboards/bastardkb/tbk/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_split_4x6_5( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, //---------------------------------------------------------//-----------------------------------------------------------// - RESET, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS, + QK_BOOT, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS, //---------------------------------------------------------//-----------------------------------------------------------// _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE, //---------------------------------------------------------//-----------------------------------------------------------// @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //---------------------------------------------------------//--------------------------------------------------------------// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, //---------------------------------------------------------//--------------------------------------------------------------// - KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, RESET, + KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, QK_BOOT, KC_SPC, KC_BSPC, KC_RCTL, KC_ENT ), }; diff --git a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c index 8006f11ce71b..3aa41b6fba11 100644 --- a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c +++ b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_split_3x6_3( //,-----------------------------------------------------. ,-----------------------------------------------------. - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| diff --git a/keyboards/bear_face/v1/keymaps/default/keymap.c b/keyboards/bear_face/v1/keymaps/default/keymap.c index 527b041929c1..5f3ccc8729a6 100644 --- a/keyboards/bear_face/v1/keymaps/default/keymap.c +++ b/keyboards/bear_face/v1/keymaps/default/keymap.c @@ -64,8 +64,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_83_ansi( _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, RESET, _______, _______, _______, _______, BASE_COLE, - _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, BASE_COLE, + _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/bear_face/v2/keymaps/default/keymap.c b/keyboards/bear_face/v2/keymaps/default/keymap.c index 527b041929c1..5f3ccc8729a6 100644 --- a/keyboards/bear_face/v2/keymaps/default/keymap.c +++ b/keyboards/bear_face/v2/keymaps/default/keymap.c @@ -64,8 +64,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_83_ansi( _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, RESET, _______, _______, _______, _______, BASE_COLE, - _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, BASE_COLE, + _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/bear_face/v2/keymaps/default_iso/keymap.c b/keyboards/bear_face/v2/keymaps/default_iso/keymap.c index 132c05c4a606..d6b7d6680d86 100644 --- a/keyboards/bear_face/v2/keymaps/default_iso/keymap.c +++ b/keyboards/bear_face/v2/keymaps/default_iso/keymap.c @@ -64,8 +64,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_84_iso( _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, RESET, _______, _______, _______, BASE_COLE, - _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, BASE_COLE, + _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/bemeier/bmek/keymaps/default/keymap.c b/keyboards/bemeier/bmek/keymaps/default/keymap.c index a2fccfb2c9ff..8debfbe5f721 100755 --- a/keyboards/bemeier/bmek/keymaps/default/keymap.c +++ b/keyboards/bemeier/bmek/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { │ │ │ │ │ │ │ │ └─────┴──────┴────────────────┘ └────────────────┴──────┴─────┘ */ - RESET, KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + QK_BOOT, KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, _______, _______, _______, _______, TG(2), _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { │ │ │ │ │ │ │ │ └─────┴──────┴────────────────┘ └────────────────┴──────┴─────┘ */ - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPI, RGB_SPD, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(2), RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, diff --git a/keyboards/bemeier/bmek/keymaps/via/keymap.c b/keyboards/bemeier/bmek/keymaps/via/keymap.c index 8e5f7b2d0efc..f072a7ec7cdc 100755 --- a/keyboards/bemeier/bmek/keymaps/via/keymap.c +++ b/keyboards/bemeier/bmek/keymaps/via/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { │ │ │ │ │ │ │ │ └─────┴──────┴────────────────┘ └────────────────┴──────┴─────┘ */ - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, _______, _______, KC_END, KC_UP, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLD, KC_VOLU, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, TG(4), XXXXXXX, XXXXXXX, TG(2), XXXXXXX, XXXXXXX, LCTL(LGUI(KC_LEFT)), LCTL(LGUI(KC_RGHT)), KC_MUTE, _______, _______, @@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { │ │ │ │ │ │ │ │ └─────┴──────┴────────────────┘ └────────────────┴──────┴─────┘ */ - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPI, RGB_SPD, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(4), RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, diff --git a/keyboards/bfake/keymaps/default/keymap.c b/keyboards/bfake/keymaps/default/keymap.c index a237f8489e76..493898c3ca16 100644 --- a/keyboards/bfake/keymaps/default/keymap.c +++ b/keyboards/bfake/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [2] = LAYOUT_all( - 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, RESET, + 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, QK_BOOT, 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, MO(1), 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/biacco42/ergo42/keymaps/default-illustrator/keymap.c b/keyboards/biacco42/ergo42/keymaps/default-illustrator/keymap.c index 3c57f7fc9345..5718cceeec48 100644 --- a/keyboards/biacco42/ergo42/keymaps/default-illustrator/keymap.c +++ b/keyboards/biacco42/ergo42/keymaps/default-illustrator/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \ _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_RO), \ - _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, XXXXXXX, _______ \ + _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, XXXXXXX, _______ \ ), /* SYMB diff --git a/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c b/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c index d4e8f11087d0..28d3fa078357 100644 --- a/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c +++ b/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------------------------------------------------' `------------------------------------------------' */ [META] = LAYOUT( \ - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \ + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \ _______, KC_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______, \ _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, S(KC_LBRC), S(KC_RBRC), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX \ @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| * | | | | | | | | | | TOG | HUI | SAI | VAI |HUANIM| | * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | | | | | | | | | | MOD | HUD | SAD | VAD |RESET | | + * | | | | | | | | | | MOD | HUD | SAD | VAD |QK_BOOT | | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| * | | | | | | | | | | | | | |=>RGB | | * `------------------------------------------------' `------------------------------------------------' diff --git a/keyboards/biacco42/ergo42/keymaps/default/keymap.c b/keyboards/biacco42/ergo42/keymaps/default/keymap.c index 0e03a12267b1..d14e068e864b 100644 --- a/keyboards/biacco42/ergo42/keymaps/default/keymap.c +++ b/keyboards/biacco42/ergo42/keymaps/default/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------------------------------------------------' `------------------------------------------------' */ [META] = LAYOUT( - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, KC_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______, _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, S(KC_LBRC), S(KC_RBRC), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX diff --git a/keyboards/bioi/g60/keymaps/default/keymap.c b/keyboards/bioi/g60/keymaps/default/keymap.c index fd3fa9916dc1..aaeb35b4142c 100644 --- a/keyboards/bioi/g60/keymaps/default/keymap.c +++ b/keyboards/bioi/g60/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer LAYOUT_all( 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, _______, _______, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LSFT, _______, RGB_TOG, RGB_MOD, BL_TOGG, BL_STEP, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/bioi/g60/keymaps/via/keymap.c b/keyboards/bioi/g60/keymaps/via/keymap.c index bdd90f2ccb12..8b01dc899776 100644 --- a/keyboards/bioi/g60/keymaps/via/keymap.c +++ b/keyboards/bioi/g60/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer [1] = LAYOUT_all( 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, _______, _______, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LSFT, _______, RGB_TOG, RGB_MOD, BL_TOGG, BL_STEP, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/bioi/g60ble/keymaps/via/keymap.c b/keyboards/bioi/g60ble/keymaps/via/keymap.c index 478d83bc5123..491c1a20fd49 100644 --- a/keyboards/bioi/g60ble/keymaps/via/keymap.c +++ b/keyboards/bioi/g60ble/keymaps/via/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_CAPS, RESET, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, + KC_CAPS, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, _______, KC_ASTR, KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, RGB_MOD, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, KC_PLUS, KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, BL_STEP, _______, RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, BL_TOGG diff --git a/keyboards/bioi/morgan65/keymaps/default/keymap.c b/keyboards/bioi/morgan65/keymaps/default/keymap.c index 0a4fd487646c..67d8d57e5f0b 100644 --- a/keyboards/bioi/morgan65/keymaps/default/keymap.c +++ b/keyboards/bioi/morgan65/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer [1] = LAYOUT_all( 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, _______, _______, _______, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LSFT, _______, RGB_TOG, RGB_MOD, BL_TOGG, BL_STEP, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/bioi/morgan65/keymaps/via/keymap.c b/keyboards/bioi/morgan65/keymaps/via/keymap.c index 0a4fd487646c..67d8d57e5f0b 100644 --- a/keyboards/bioi/morgan65/keymaps/via/keymap.c +++ b/keyboards/bioi/morgan65/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer [1] = LAYOUT_all( 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, _______, _______, _______, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LSFT, _______, RGB_TOG, RGB_MOD, BL_TOGG, BL_STEP, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/blackplum/keymaps/default/keymap.c b/keyboards/blackplum/keymaps/default/keymap.c index e7d3272b973f..94d4b8e60b43 100644 --- a/keyboards/blackplum/keymaps/default/keymap.c +++ b/keyboards/blackplum/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, _______, KC_MUTE, KC_END, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, - _______, TG_GUI,_______, RESET, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + _______, TG_GUI,_______, QK_BOOT, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ) }; diff --git a/keyboards/blackplum/keymaps/via/keymap.c b/keyboards/blackplum/keymaps/via/keymap.c index e0cc689cd430..f9b6685e3f55 100644 --- a/keyboards/blackplum/keymaps/via/keymap.c +++ b/keyboards/blackplum/keymaps/via/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, KC_TRNS, KC_MUTE, KC_END, KC_TRNS, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ), [2] = LAYOUT_68_ansi( diff --git a/keyboards/blank/blank01/keymaps/default/keymap.c b/keyboards/blank/blank01/keymaps/default/keymap.c index 02722766e88b..500450e5784b 100644 --- a/keyboards/blank/blank01/keymaps/default/keymap.c +++ b/keyboards/blank/blank01/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_60_tsangan_hhkb( 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, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/blank/blank01/keymaps/via/keymap.c b/keyboards/blank/blank01/keymaps/via/keymap.c index 503dec460f1e..fe4dcb47ace2 100644 --- a/keyboards/blank/blank01/keymaps/via/keymap.c +++ b/keyboards/blank/blank01/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_60_tsangan_hhkb( 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, KC_TRNS, KC_DEL, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/blank_tehnologii/manibus/keymaps/default/keymap.c b/keyboards/blank_tehnologii/manibus/keymaps/default/keymap.c index 93b9614a0c51..df029c6800c8 100644 --- a/keyboards/blank_tehnologii/manibus/keymaps/default/keymap.c +++ b/keyboards/blank_tehnologii/manibus/keymaps/default/keymap.c @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, // ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, RESET, _______, _______, _______, KC_UP, _______, KC_MPLY, KC_F12, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, KC_UP, _______, KC_MPLY, KC_F12, // ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT,KC_VOLD, KC_VOLU, // ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/boardrun/bizarre/keymaps/default/keymap.c b/keyboards/boardrun/bizarre/keymaps/default/keymap.c index 49c2f1a7814a..e7cb43ae3ff4 100644 --- a/keyboards/boardrun/bizarre/keymaps/default/keymap.c +++ b/keyboards/boardrun/bizarre/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /*Bizarre Function Layer * +-------+ +-----------------------+ +-------------------------------+ +-------------------------------+ +---------------------------------------+ - * RESET F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 DEL + * QK_BOOT F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 DEL * +------- +-----------------------+ +-------+-------+-------+------- +-------+-------+-------+------- +---------------------------------------+ * INS PRINT * +-------+ +-----------------------+ +-------+-------+-------+------- +-------+-------+-------+------- +----------------------------------- @@ -62,8 +62,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FNBIZARRE] = LAYOUT_all( - RESET, _______,_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, - _______, _______, _______, _______,_______,RESET, _______, _______,_______,KC_INS ,_______, KC_PSCR,_______,_______,_______, + QK_BOOT, _______,_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, _______, _______,_______,QK_BOOT, _______, _______,_______,KC_INS ,_______, KC_PSCR,_______,_______,_______, _______, _______, KC_SLCK,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______, _______, _______,_______, _______,_______,_______,KC_PAUS,KC_RGUI, _______,_______,KC_MENU,_______,_______, _______,_______, KC_PGUP, _______, _______, _______, KC_RALT, _______, KC_HOME,KC_PGDN,KC_END diff --git a/keyboards/boardrun/bizarre/keymaps/via/keymap.c b/keyboards/boardrun/bizarre/keymaps/via/keymap.c index d4d2fee9ce2e..2b699ec46e25 100644 --- a/keyboards/boardrun/bizarre/keymaps/via/keymap.c +++ b/keyboards/boardrun/bizarre/keymaps/via/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /*Bizarre Function Layer * +-------+ +-----------------------+ +-------------------------------+ +-------------------------------+ +---------------------------------------+ - * ¦ RESET ¦ ¦ ¦ ¦ F1 ¦ ¦ F2 ¦ F3 ¦ F4 ¦ F5 ¦ ¦ F6 ¦ F7 ¦ F8 ¦ F9 ¦ ¦ F10 ¦ F11 ¦ F12 ¦ DEL ¦ ¦ + * ¦ QK_BOOT ¦ ¦ ¦ ¦ F1 ¦ ¦ F2 ¦ F3 ¦ F4 ¦ F5 ¦ ¦ F6 ¦ F7 ¦ F8 ¦ F9 ¦ ¦ F10 ¦ F11 ¦ F12 ¦ DEL ¦ ¦ * +-------¦ +-----------------------+ +-------+-------+-------+-------¦ +-------+-------+-------+-------¦ +---------------------------------------+ * ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ INS ¦ ¦ ¦ PRINT ¦ ¦ ¦ ¦ * +-------+ +-----------------------+ +-------+-------+-------+-------¦ +-------+-------+-------+-------¦ +-----------------------------------¦ @@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_all( - RESET, _______,_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, - _______, _______, _______, _______,_______,RESET, _______, _______,_______,KC_INS ,_______, KC_PSCR,_______,_______,_______, + QK_BOOT, _______,_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, _______, _______,_______,QK_BOOT, _______, _______,_______,KC_INS ,_______, KC_PSCR,_______,_______,_______, _______, _______, KC_SLCK,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______, _______, _______,_______, _______,_______,_______,KC_PAUS,KC_RGUI, _______,_______,KC_MENU,_______,_______, _______,_______, KC_PGUP, _______, _______, _______, KC_RALT, _______, KC_HOME,KC_PGDN,KC_END diff --git a/keyboards/boardrun/classic/keymaps/default/keymap.c b/keyboards/boardrun/classic/keymaps/default/keymap.c index 607699921996..c4dbb8d396bf 100644 --- a/keyboards/boardrun/classic/keymaps/default/keymap.c +++ b/keyboards/boardrun/classic/keymaps/default/keymap.c @@ -52,9 +52,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Function Layer * .--------------------------------------------------------------. .--------------------------------------------------------------. - * | RESET | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | DEL | + * | QK_BOOT | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | DEL | * |--------+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+--------| - * | | | MENU | | RESET | | | | | | | INS | | PRT SC | | + * | | | MENU | | QK_BOOT | | | | | | | INS | | PRT SC | | * |--------+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+--------| * | CAPSLK | | SCROLL | | | | | | | | | | | | RCTL | * |--------+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+--------| @@ -64,8 +64,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * '--------------------------------------------------------------------------------------------------------------------' */ [_FNCLASSIC] = LAYOUT_classic( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, _______, KC_APP, _______, RESET, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, KC_APP, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, KC_CAPS, _______, KC_SLCK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RCTL, _LSNUBS, _______, _______, _______, _______, KC_PAUS, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_RGUI, _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/boardrun/classic/keymaps/via/keymap.c b/keyboards/boardrun/classic/keymaps/via/keymap.c index 0b0d953848c0..0994e925ea91 100644 --- a/keyboards/boardrun/classic/keymaps/via/keymap.c +++ b/keyboards/boardrun/classic/keymaps/via/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+--------| * | | | | | | | | | | | | | | PRT SC | F12 | * |--------+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | | | | | | | | | RESET | + * | | | | | | | | | | | | | | | QK_BOOT | * |--------+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+--------| * | | | | | | | | | | | MUTE | VOL DN | VOL UP | | | * '--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------+--------+--------+-------' @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_classic( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_F12, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/boardsource/3x4/keymaps/default/keymap.c b/keyboards/boardsource/3x4/keymaps/default/keymap.c index 67133735fa1f..dec66533efcf 100644 --- a/keyboards/boardsource/3x4/keymaps/default/keymap.c +++ b/keyboards/boardsource/3x4/keymaps/default/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_RAISE] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, RESET + _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/boardsource/3x4/keymaps/via/keymap.c b/keyboards/boardsource/3x4/keymaps/via/keymap.c index a4824f8bfa0f..d24d3acbf516 100644 --- a/keyboards/boardsource/3x4/keymaps/via/keymap.c +++ b/keyboards/boardsource/3x4/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, RESET + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT ), LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/boardsource/4x12/keymaps/default/keymap.c b/keyboards/boardsource/4x12/keymaps/default/keymap.c index d9a0c47a6b39..17823f36c970 100644 --- a/keyboards/boardsource/4x12/keymaps/default/keymap.c +++ b/keyboards/boardsource/4x12/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [_LOWER] = LAYOUT_ortho_4x12( diff --git a/keyboards/boardsource/4x12/keymaps/via/keymap.c b/keyboards/boardsource/4x12/keymaps/via/keymap.c index d9a0c47a6b39..17823f36c970 100644 --- a/keyboards/boardsource/4x12/keymaps/via/keymap.c +++ b/keyboards/boardsource/4x12/keymaps/via/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [_LOWER] = LAYOUT_ortho_4x12( diff --git a/keyboards/boardsource/5x12/keymaps/default/keymap.c b/keyboards/boardsource/5x12/keymaps/default/keymap.c index 19bdde0ffb9c..0f2534bbe8b3 100644 --- a/keyboards/boardsource/5x12/keymaps/default/keymap.c +++ b/keyboards/boardsource/5x12/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [_LOWER] = LAYOUT_ortho_5x12( @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ) }; diff --git a/keyboards/boardsource/5x12/keymaps/via/keymap.c b/keyboards/boardsource/5x12/keymaps/via/keymap.c index 8601fa377c95..0a7eb4363178 100644 --- a/keyboards/boardsource/5x12/keymaps/via/keymap.c +++ b/keyboards/boardsource/5x12/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [_LOWER] = LAYOUT_ortho_5x12( @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [3] = LAYOUT_ortho_5x12( diff --git a/keyboards/boardsource/microdox/keymaps/via/keymap.c b/keyboards/boardsource/microdox/keymaps/via/keymap.c index d9196515cb6e..d561feea5204 100644 --- a/keyboards/boardsource/microdox/keymaps/via/keymap.c +++ b/keyboards/boardsource/microdox/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PGDN, KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, KC_PGUP ), [3] = LAYOUT_split_3x5_3( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUD, RGB_HUI, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUD, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX diff --git a/keyboards/boardsource/technik_o/keymaps/default/keymap.c b/keyboards/boardsource/technik_o/keymaps/default/keymap.c index 44e2b86ac18b..028e3eae413e 100644 --- a/keyboards/boardsource/technik_o/keymaps/default/keymap.c +++ b/keyboards/boardsource/technik_o/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [_LOWER] = LAYOUT_ortho_4x12( diff --git a/keyboards/boardsource/technik_o/keymaps/via/keymap.c b/keyboards/boardsource/technik_o/keymaps/via/keymap.c index 44e2b86ac18b..028e3eae413e 100644 --- a/keyboards/boardsource/technik_o/keymaps/via/keymap.c +++ b/keyboards/boardsource/technik_o/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [_LOWER] = LAYOUT_ortho_4x12( diff --git a/keyboards/boardsource/technik_s/keymaps/default/keymap.c b/keyboards/boardsource/technik_s/keymaps/default/keymap.c index 89dfaa4ace8c..1b26f6387d46 100644 --- a/keyboards/boardsource/technik_s/keymaps/default/keymap.c +++ b/keyboards/boardsource/technik_s/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD ), [_LOWER] = LAYOUT( diff --git a/keyboards/boardsource/technik_s/keymaps/via/keymap.c b/keyboards/boardsource/technik_s/keymaps/via/keymap.c index 89dfaa4ace8c..1b26f6387d46 100644 --- a/keyboards/boardsource/technik_s/keymaps/via/keymap.c +++ b/keyboards/boardsource/technik_s/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD ), [_LOWER] = LAYOUT( diff --git a/keyboards/boardsource/the_mark/keymaps/default/keymap.c b/keyboards/boardsource/the_mark/keymaps/default/keymap.c index 148795b0c3f5..dc689f9bb1e6 100644 --- a/keyboards/boardsource/the_mark/keymaps/default/keymap.c +++ b/keyboards/boardsource/the_mark/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_all( 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, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c index 4174e03603e2..6e1bcd289462 100644 --- a/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c +++ b/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ansi( 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, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, _______, KC_END, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c index d59378c78fb1..477685c771c0 100644 --- a/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c +++ b/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ansi_split_bs_space( 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, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, _______, KC_END, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c index 347bc19a35c4..3e29975d37a4 100644 --- a/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c +++ b/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_iso( 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, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, KC_END, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c index 617ee540d15b..1f61d832252c 100644 --- a/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c +++ b/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_iso_split_bs_space( 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, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, KC_END, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/boardsource/the_mark/keymaps/via/keymap.c b/keyboards/boardsource/the_mark/keymaps/via/keymap.c index 1d2a97b75658..dbc3b5b46434 100644 --- a/keyboards/boardsource/the_mark/keymaps/via/keymap.c +++ b/keyboards/boardsource/the_mark/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/boardwalk/keymaps/default/keymap.c b/keyboards/boardwalk/keymaps/default/keymap.c index 6ee85e49991a..660e0f1d528e 100644 --- a/keyboards/boardwalk/keymaps/default/keymap.c +++ b/keyboards/boardwalk/keymaps/default/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| * | | | MENU | | | | | | | | | | PRT SC | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | | | | | | | | | | | | | | RESET | + * | | | | | | | | | | | | | | QK_BOOT | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_5x14( 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, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/boardwalk/keymaps/default_2u_arrow/keymap.c b/keyboards/boardwalk/keymaps/default_2u_arrow/keymap.c index 96b87d1cd4fb..1e76670612bd 100644 --- a/keyboards/boardwalk/keymaps/default_2u_arrow/keymap.c +++ b/keyboards/boardwalk/keymaps/default_2u_arrow/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| * | | | | | | | | MUTE | VOL DN | VOL UP | | | | END | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| - * | | | | | | | | | RESET | | | | + * | | | | | | | | | QK_BOOT | | | | * '-----------------------------------------------------------------------------------------------------------------------------' */ [_FN] = LAYOUT_2u_arrow( @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ ) }; diff --git a/keyboards/boardwalk/keymaps/default_2x2u/keymap.c b/keyboards/boardwalk/keymaps/default_2x2u/keymap.c index f30d15c0f8f2..99f67214a6ad 100644 --- a/keyboards/boardwalk/keymaps/default_2x2u/keymap.c +++ b/keyboards/boardwalk/keymaps/default_2x2u/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| * | | | MENU | | | | | | | | | | PRT SC | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | | | | | | | | | | | | | | RESET | + * | | | | | | | | | | | | | | QK_BOOT | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_2x2u( 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, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| * | | | MENU | | | | | | | | | | PRT SC | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | | | | | | | | | | | | | | RESET | + * | | | | | | | | | | | | | | QK_BOOT | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| @@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_RAISE] = LAYOUT_ortho_2x2u( 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, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/boardwalk/keymaps/default_625u_arrow/keymap.c b/keyboards/boardwalk/keymaps/default_625u_arrow/keymap.c index a609859bb3fb..115a0cccfafd 100644 --- a/keyboards/boardwalk/keymaps/default_625u_arrow/keymap.c +++ b/keyboards/boardwalk/keymaps/default_625u_arrow/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| * | | | | | | | | MUTE | VOL DN | VOL UP | | | | END | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| - * | | | | | | RESET | | | | + * | | | | | | QK_BOOT | | | | * '-----------------------------------------------------------------------------------------------------------------------------' */ [_FN] = LAYOUT_625u_arrow( @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_END, - _______, _______, _______, _______, _______, RESET, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ ) }; diff --git a/keyboards/boardwalk/keymaps/default_ortho_7u/keymap.c b/keyboards/boardwalk/keymaps/default_ortho_7u/keymap.c index 8d61b54a3183..9e274a6a37ca 100644 --- a/keyboards/boardwalk/keymaps/default_ortho_7u/keymap.c +++ b/keyboards/boardwalk/keymaps/default_ortho_7u/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| * | | | MENU | | | | | | | | | | PRT SC | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | | | | | | | | | | | | | | RESET | + * | | | | | | | | | | | | | | QK_BOOT | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | * '--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------' @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_7u( 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, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/boardwalk/keymaps/default_ortho_hhkb/keymap.c b/keyboards/boardwalk/keymaps/default_ortho_hhkb/keymap.c index d9819d9ccfca..dde9bcd2cede 100644 --- a/keyboards/boardwalk/keymaps/default_ortho_hhkb/keymap.c +++ b/keyboards/boardwalk/keymaps/default_ortho_hhkb/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| * | | | MENU | | | | | | | | | | PRT SC | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | | | | | | | | | | | | | | RESET | + * | | | | | | | | | | | | | | QK_BOOT | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | * '--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------' @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_hhkb( 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, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/boardwalk/keymaps/via/keymap.c b/keyboards/boardwalk/keymaps/via/keymap.c index d5b1795b6287..14526fe50f64 100644 --- a/keyboards/boardwalk/keymaps/via/keymap.c +++ b/keyboards/boardwalk/keymaps/via/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| * | | | MENU | | | | | | | | | | PRT SC | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | | | | | | | | | | | | | | RESET | + * | | | | | | | | | | | | | | QK_BOOT | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_5x14( 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, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/boston_meetup/2019/keymaps/default/keymap.c b/keyboards/boston_meetup/2019/keymaps/default/keymap.c index 666624b18c37..a7a874a0a88d 100644 --- a/keyboards/boston_meetup/2019/keymaps/default/keymap.c +++ b/keyboards/boston_meetup/2019/keymaps/default/keymap.c @@ -96,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------------------------' */ [_ADJUST] = LAYOUT( - RESET, + QK_BOOT, HPT_TOG, HPT_FBK, HPT_RST, KC_BSPC, _______, HPT_MODI, XXXXXXX, XXXXXXX, _______, HPT_MODD, CK_TOGG, KC_DEL diff --git a/keyboards/bpiphany/ghost_squid/keymaps/default/keymap.c b/keyboards/bpiphany/ghost_squid/keymaps/default/keymap.c index 09523ebbb91b..5f0b1c599a9c 100644 --- a/keyboards/bpiphany/ghost_squid/keymaps/default/keymap.c +++ b/keyboards/bpiphany/ghost_squid/keymaps/default/keymap.c @@ -51,7 +51,7 @@ KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,MO(KM_MEDIA),KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT), /* Layer 1: Function layer */ [KM_MEDIA] = LAYOUT( -_______,_______,_______,_______,_______, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_STOP, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, TG(KM_GUI_LOCK),KC_MUTE, KC_VOLD, KC_VOLU,_______,_______, RESET, +_______,_______,_______,_______,_______, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_STOP, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, TG(KM_GUI_LOCK),KC_MUTE, KC_VOLD, KC_VOLU,_______,_______, QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, diff --git a/keyboards/bpiphany/pegasushoof/keymaps/default/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/default/keymap.c index 4a9b1f3f0f8e..5583a7919899 100644 --- a/keyboards/bpiphany/pegasushoof/keymaps/default/keymap.c +++ b/keyboards/bpiphany/pegasushoof/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, - _______, _______, _______, _______, _______, _______, RESET, _______, KC_MPRV, KC_MSTP, KC_MNXT + _______, _______, _______, _______, _______, _______, QK_BOOT, _______, KC_MPRV, KC_MSTP, KC_MNXT ) }; diff --git a/keyboards/bpiphany/pegasushoof/keymaps/default_jis/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/default_jis/keymap.c index 46b660124e79..2b87493f11e2 100644 --- a/keyboards/bpiphany/pegasushoof/keymaps/default_jis/keymap.c +++ b/keyboards/bpiphany/pegasushoof/keymaps/default_jis/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,KC_VOLD, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_MPLY, - _______,_______,_______,_______, _______, _______,_______,_______,_______,RESET , KC_MPRV,KC_MSTP,KC_MNXT) + _______,_______,_______,_______, _______, _______,_______,_______,_______,QK_BOOT , KC_MPRV,KC_MSTP,KC_MNXT) }; void led_set_user(uint8_t usb_led) { diff --git a/keyboards/buildakb/potato65/keymaps/default/keymap.c b/keyboards/buildakb/potato65/keymaps/default/keymap.c index 04946237042e..56fe7af72a96 100644 --- a/keyboards/buildakb/potato65/keymaps/default/keymap.c +++ b/keyboards/buildakb/potato65/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_65_ansi_split_bs( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/buildakb/potato65/keymaps/via/keymap.c b/keyboards/buildakb/potato65/keymaps/via/keymap.c index fedbaca0427d..28aeda2a50af 100644 --- a/keyboards/buildakb/potato65/keymaps/via/keymap.c +++ b/keyboards/buildakb/potato65/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN1] = LAYOUT_65_ansi_split_bs( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/buildakb/potato65hs/keymaps/default/keymap.c b/keyboards/buildakb/potato65hs/keymaps/default/keymap.c index f7a5ff424677..98e4e19260cf 100644 --- a/keyboards/buildakb/potato65hs/keymaps/default/keymap.c +++ b/keyboards/buildakb/potato65hs/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_65_ansi_blocker( KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, - 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_TRNS, + 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/buildakb/potato65hs/keymaps/via/keymap.c b/keyboards/buildakb/potato65hs/keymaps/via/keymap.c index 269fca73743f..4365a6615c69 100644 --- a/keyboards/buildakb/potato65hs/keymaps/via/keymap.c +++ b/keyboards/buildakb/potato65hs/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_65_ansi_blocker( KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, - 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_TRNS, + 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/buildakb/potato65s/keymaps/default/keymap.c b/keyboards/buildakb/potato65s/keymaps/default/keymap.c index 9f6eb0890b43..00f9d43a6d4b 100644 --- a/keyboards/buildakb/potato65s/keymaps/default/keymap.c +++ b/keyboards/buildakb/potato65s/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_all( KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, - 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_TRNS, + 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/buildakb/potato65s/keymaps/via/keymap.c b/keyboards/buildakb/potato65s/keymaps/via/keymap.c index ad49cf5a4d13..e0f107154a26 100644 --- a/keyboards/buildakb/potato65s/keymaps/via/keymap.c +++ b/keyboards/buildakb/potato65s/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, - 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_TRNS, + 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/cablecardesigns/cypher/rev6/keymaps/default/keymap.c b/keyboards/cablecardesigns/cypher/rev6/keymaps/default/keymap.c index 6a3958073594..bb8c73b37c28 100644 --- a/keyboards/cablecardesigns/cypher/rev6/keymaps/default/keymap.c +++ b/keyboards/cablecardesigns/cypher/rev6/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI,KC_LALT, KC_SPC,KC_SPC,KC_SPC, KC_RALT,KC_RALT,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC), [_F1] = LAYOUT_all( /* Function Layer */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL , _______, _______, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL , _______, _______, _______, _______, _______, _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cablecardesigns/cypher/rev6/keymaps/default_iso/keymap.c b/keyboards/cablecardesigns/cypher/rev6/keymaps/default_iso/keymap.c index 82c9e836c060..92dd124606d3 100644 --- a/keyboards/cablecardesigns/cypher/rev6/keymaps/default_iso/keymap.c +++ b/keyboards/cablecardesigns/cypher/rev6/keymaps/default_iso/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_LGUI,KC_LALT, KC_NO,KC_SPC,KC_NO, KC_RALT,KC_RGUI,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC), [_F1] = LAYOUT_all( /* Function Layer */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______,_______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cablecardesigns/cypher/rev6/keymaps/via/keymap.c b/keyboards/cablecardesigns/cypher/rev6/keymaps/via/keymap.c index 371b8766237c..7361196ef004 100644 --- a/keyboards/cablecardesigns/cypher/rev6/keymaps/via/keymap.c +++ b/keyboards/cablecardesigns/cypher/rev6/keymaps/via/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_INC, BL_DEC, BL_BRTG, 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, 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, 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, diff --git a/keyboards/caffeinated/serpent65/keymaps/default/keymap.c b/keyboards/caffeinated/serpent65/keymaps/default/keymap.c index cf0097f912b3..7449aca90e83 100644 --- a/keyboards/caffeinated/serpent65/keymaps/default/keymap.c +++ b/keyboards/caffeinated/serpent65/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( /* Serpent65 Base */ - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/caffeinated/serpent65/keymaps/via/keymap.c b/keyboards/caffeinated/serpent65/keymaps/via/keymap.c index d4f6d9e20b32..e6010c96de05 100644 --- a/keyboards/caffeinated/serpent65/keymaps/via/keymap.c +++ b/keyboards/caffeinated/serpent65/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( /* Serpent65 Base */ - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/canary/canary60rgb/keymaps/default/keymap.c b/keyboards/canary/canary60rgb/keymaps/default/keymap.c index 150b18764546..a448934d01cf 100644 --- a/keyboards/canary/canary60rgb/keymaps/default/keymap.c +++ b/keyboards/canary/canary60rgb/keymaps/default/keymap.c @@ -25,14 +25,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, _______, _______, TO(3), _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [2] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/canary/canary60rgb/keymaps/via/keymap.c b/keyboards/canary/canary60rgb/keymaps/via/keymap.c index 6bef543a160a..3de300bd9353 100644 --- a/keyboards/canary/canary60rgb/keymaps/via/keymap.c +++ b/keyboards/canary/canary60rgb/keymaps/via/keymap.c @@ -25,14 +25,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, _______, _______, TO(3), _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [2] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/cannonkeys/adelie/keymaps/default/keymap.c b/keyboards/cannonkeys/adelie/keymaps/default/keymap.c index 2698da36e5ba..757c6b56ac33 100644 --- a/keyboards/cannonkeys/adelie/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/adelie/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_POWER, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_DEL, KC_VOLU, KC_SLEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_MUTE, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [_FN3] = LAYOUT_all( diff --git a/keyboards/cannonkeys/adelie/keymaps/via/keymap.c b/keyboards/cannonkeys/adelie/keymaps/via/keymap.c index 2698da36e5ba..757c6b56ac33 100644 --- a/keyboards/cannonkeys/adelie/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/adelie/keymaps/via/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_POWER, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_DEL, KC_VOLU, KC_SLEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_MUTE, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [_FN3] = LAYOUT_all( diff --git a/keyboards/cannonkeys/aella/keymaps/default/keymap.c b/keyboards/cannonkeys/aella/keymaps/default/keymap.c index 4bd71e79f99c..286c62a8ace7 100644 --- a/keyboards/cannonkeys/aella/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/aella/keymaps/default/keymap.c @@ -43,6 +43,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/aella/keymaps/via/keymap.c b/keyboards/cannonkeys/aella/keymaps/via/keymap.c index 3a204be6c516..bb3830d0f810 100644 --- a/keyboards/cannonkeys/aella/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/aella/keymaps/via/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ), diff --git a/keyboards/cannonkeys/an_c/keymaps/default/keymap.c b/keyboards/cannonkeys/an_c/keymaps/default/keymap.c index d6d69ee8f7e4..56e4b32fd316 100644 --- a/keyboards/cannonkeys/an_c/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/an_c/keymaps/default/keymap.c @@ -38,6 +38,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, _______, _______, _______, _______, _______, _______, RESET + KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c index 857415ad9fd4..2e18c263839d 100644 --- a/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c +++ b/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c @@ -39,6 +39,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/cannonkeys/an_c/keymaps/via/keymap.c b/keyboards/cannonkeys/an_c/keymaps/via/keymap.c index b182ac5f4f0e..52d3478ecb29 100644 --- a/keyboards/cannonkeys/an_c/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/an_c/keymaps/via/keymap.c @@ -38,6 +38,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/cannonkeys/atlas/keymaps/default/keymap.c b/keyboards/cannonkeys/atlas/keymaps/default/keymap.c index 8a33ec445883..b52c0056c051 100644 --- a/keyboards/cannonkeys/atlas/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/atlas/keymaps/default/keymap.c @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), /* Raise diff --git a/keyboards/cannonkeys/atlas/keymaps/via/keymap.c b/keyboards/cannonkeys/atlas/keymaps/via/keymap.c index 251e920e7790..b9d047fc7591 100644 --- a/keyboards/cannonkeys/atlas/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/atlas/keymaps/via/keymap.c @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), /* Raise diff --git a/keyboards/cannonkeys/atlas_alps/keymaps/default/keymap.c b/keyboards/cannonkeys/atlas_alps/keymaps/default/keymap.c index c260add4d5e8..1070a8a2c803 100644 --- a/keyboards/cannonkeys/atlas_alps/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/atlas_alps/keymaps/default/keymap.c @@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* 3 @@ -102,6 +102,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/cannonkeys/atlas_alps/keymaps/via/keymap.c b/keyboards/cannonkeys/atlas_alps/keymaps/via/keymap.c index 3e42b3b5a411..c867a835bae0 100644 --- a/keyboards/cannonkeys/atlas_alps/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/atlas_alps/keymaps/via/keymap.c @@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* 3 @@ -102,6 +102,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/cannonkeys/balance/keymaps/default/keymap.c b/keyboards/cannonkeys/balance/keymaps/default/keymap.c index b1e507bc172f..ac8c14c2b974 100644 --- a/keyboards/cannonkeys/balance/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/balance/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - RESET , 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, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT , 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/cannonkeys/balance/keymaps/via/keymap.c b/keyboards/cannonkeys/balance/keymaps/via/keymap.c index ad5f009d4326..99735423ee3a 100644 --- a/keyboards/cannonkeys/balance/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/balance/keymaps/via/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - RESET , 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, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT , 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/cannonkeys/chimera65/keymaps/default/keymap.c b/keyboards/cannonkeys/chimera65/keymaps/default/keymap.c index a63fcf6f7516..bd1a70958418 100644 --- a/keyboards/cannonkeys/chimera65/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/chimera65/keymaps/default/keymap.c @@ -39,6 +39,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_DEC, BL_TOGG, 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_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/chimera65/keymaps/via/keymap.c b/keyboards/cannonkeys/chimera65/keymaps/via/keymap.c index a63fcf6f7516..bd1a70958418 100644 --- a/keyboards/cannonkeys/chimera65/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/chimera65/keymaps/via/keymap.c @@ -39,6 +39,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_DEC, BL_TOGG, 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_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/db60/keymaps/default/keymap.c b/keyboards/cannonkeys/db60/keymaps/default/keymap.c index 9c834aa13709..e79e2b1ee3db 100644 --- a/keyboards/cannonkeys/db60/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/db60/keymaps/default/keymap.c @@ -40,6 +40,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, _______, _______, _______, _______, _______, _______, RESET + KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/cannonkeys/db60/keymaps/iso/keymap.c b/keyboards/cannonkeys/db60/keymaps/iso/keymap.c index 52fca7d16877..65a1b8c9a5f5 100644 --- a/keyboards/cannonkeys/db60/keymaps/iso/keymap.c +++ b/keyboards/cannonkeys/db60/keymaps/iso/keymap.c @@ -40,6 +40,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, _______, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, _______, _______, _______, _______, _______, _______, RESET + KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c index 996a3d536d02..d9a46617023e 100644 --- a/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c +++ b/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c @@ -41,6 +41,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/cannonkeys/db60/keymaps/via/keymap.c b/keyboards/cannonkeys/db60/keymaps/via/keymap.c index b25d36a9c256..64b5357ae867 100644 --- a/keyboards/cannonkeys/db60/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/db60/keymaps/via/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), [_FN2] = LAYOUT_all( diff --git a/keyboards/cannonkeys/devastatingtkl/keymaps/default/keymap.c b/keyboards/cannonkeys/devastatingtkl/keymaps/default/keymap.c index 6b870b6e12cf..a1becb148edc 100644 --- a/keyboards/cannonkeys/devastatingtkl/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/devastatingtkl/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/cannonkeys/devastatingtkl/keymaps/via/keymap.c b/keyboards/cannonkeys/devastatingtkl/keymaps/via/keymap.c index 33f15901ea55..701e9b7693af 100644 --- a/keyboards/cannonkeys/devastatingtkl/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/devastatingtkl/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/cannonkeys/hoodrowg/keymaps/default/keymap.c b/keyboards/cannonkeys/hoodrowg/keymaps/default/keymap.c index 18a23cb42019..d5cd7efc5b01 100644 --- a/keyboards/cannonkeys/hoodrowg/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/hoodrowg/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/cannonkeys/hoodrowg/keymaps/via/keymap.c b/keyboards/cannonkeys/hoodrowg/keymaps/via/keymap.c index a5bc67e9af49..77aea233e76c 100644 --- a/keyboards/cannonkeys/hoodrowg/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/hoodrowg/keymaps/via/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/cannonkeys/instant60/keymaps/default/keymap.c b/keyboards/cannonkeys/instant60/keymaps/default/keymap.c index 30337c3929d9..bd3e7eebe13e 100644 --- a/keyboards/cannonkeys/instant60/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/instant60/keymaps/default/keymap.c @@ -42,6 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, _______, _______, _______, _______, _______, _______, RESET + KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c index d75d9f288ada..82941413277a 100644 --- a/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c +++ b/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c @@ -43,6 +43,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/cannonkeys/instant60/keymaps/via/keymap.c b/keyboards/cannonkeys/instant60/keymaps/via/keymap.c index 9be7d187e456..43decee798c6 100644 --- a/keyboards/cannonkeys/instant60/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/instant60/keymaps/via/keymap.c @@ -38,6 +38,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/cannonkeys/instant65/keymaps/default/keymap.c b/keyboards/cannonkeys/instant65/keymaps/default/keymap.c index a7c125b45bb1..09670544389e 100644 --- a/keyboards/cannonkeys/instant65/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/instant65/keymaps/default/keymap.c @@ -41,6 +41,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/instant65/keymaps/via/keymap.c b/keyboards/cannonkeys/instant65/keymaps/via/keymap.c index c2ad7f213612..b5b756454332 100644 --- a/keyboards/cannonkeys/instant65/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/instant65/keymaps/via/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ), [_FN2] = LAYOUT_default( diff --git a/keyboards/cannonkeys/iron165/keymaps/default/keymap.c b/keyboards/cannonkeys/iron165/keymaps/default/keymap.c index 12c2a699375f..8609bed47f2c 100644 --- a/keyboards/cannonkeys/iron165/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/iron165/keymaps/default/keymap.c @@ -42,6 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_DEC, BL_TOGG, 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_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/obliterated75/keymaps/default/keymap.c b/keyboards/cannonkeys/obliterated75/keymaps/default/keymap.c index 2934aae1895a..fcd3c8f056a3 100644 --- a/keyboards/cannonkeys/obliterated75/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/obliterated75/keymaps/default/keymap.c @@ -43,6 +43,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_DEC, BL_TOGG, 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_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/obliterated75/keymaps/via/keymap.c b/keyboards/cannonkeys/obliterated75/keymaps/via/keymap.c index b47657e423cf..05d4bad44964 100644 --- a/keyboards/cannonkeys/obliterated75/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/obliterated75/keymaps/via/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_DEC, BL_TOGG, 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_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ), diff --git a/keyboards/cannonkeys/onyx/keymaps/default/keymap.c b/keyboards/cannonkeys/onyx/keymaps/default/keymap.c index 6a6fe17b5cdb..31ce737884ca 100644 --- a/keyboards/cannonkeys/onyx/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/onyx/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - RESET, 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, KC_TRNS, KC_TRNS, + QK_BOOT, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/cannonkeys/onyx/keymaps/via/keymap.c b/keyboards/cannonkeys/onyx/keymaps/via/keymap.c index 6de4908f3762..2dbd2514b7f1 100644 --- a/keyboards/cannonkeys/onyx/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/onyx/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - RESET, 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, KC_TRNS, KC_TRNS, + QK_BOOT, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/cannonkeys/ortho48/keymaps/default/keymap.c b/keyboards/cannonkeys/ortho48/keymaps/default/keymap.c index ba26b9adb2c1..c02fc0a4702f 100644 --- a/keyboards/cannonkeys/ortho48/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/ortho48/keymaps/default/keymap.c @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), /* Raise diff --git a/keyboards/cannonkeys/ortho48/keymaps/via/keymap.c b/keyboards/cannonkeys/ortho48/keymaps/via/keymap.c index 419fc053e1f2..ea9651f2d691 100644 --- a/keyboards/cannonkeys/ortho48/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/ortho48/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [2] = LAYOUT_ortho_4x12( diff --git a/keyboards/cannonkeys/ortho60/keymaps/default/keymap.c b/keyboards/cannonkeys/ortho60/keymaps/default/keymap.c index e2b5d94a0dd5..36f95318fb20 100644 --- a/keyboards/cannonkeys/ortho60/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/ortho60/keymaps/default/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), /* Raise diff --git a/keyboards/cannonkeys/ortho60/keymaps/via/keymap.c b/keyboards/cannonkeys/ortho60/keymaps/via/keymap.c index e982ec247cac..8d0060d015ef 100644 --- a/keyboards/cannonkeys/ortho60/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/ortho60/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [2] = LAYOUT_ortho_5x12( diff --git a/keyboards/cannonkeys/ortho75/keymaps/default/keymap.c b/keyboards/cannonkeys/ortho75/keymaps/default/keymap.c index 1aef110cb1c2..97896d65ea11 100644 --- a/keyboards/cannonkeys/ortho75/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/ortho75/keymaps/default/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | | + * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | QK_BOOT | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, - KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______, + KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______ ) diff --git a/keyboards/cannonkeys/practice60/keymaps/via/keymap.c b/keyboards/cannonkeys/practice60/keymaps/via/keymap.c index 1bafdbb88f83..c7475f4b8c75 100644 --- a/keyboards/cannonkeys/practice60/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/practice60/keymaps/via/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_60_ansi( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/cannonkeys/practice65/keymaps/default/keymap.c b/keyboards/cannonkeys/practice65/keymaps/default/keymap.c index e6d5e5802cf8..ce528c5ce2d4 100644 --- a/keyboards/cannonkeys/practice65/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/practice65/keymaps/default/keymap.c @@ -42,6 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, RESET + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/cannonkeys/rekt1800/keymaps/default/keymap.c b/keyboards/cannonkeys/rekt1800/keymaps/default/keymap.c index 98e16e7008ea..f53159ccd414 100644 --- a/keyboards/cannonkeys/rekt1800/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/rekt1800/keymaps/default/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - RESET, 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, KC_TRNS, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, 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, KC_TRNS, diff --git a/keyboards/cannonkeys/rekt1800/keymaps/via/keymap.c b/keyboards/cannonkeys/rekt1800/keymaps/via/keymap.c index d267302b34de..dce2f7276c4b 100644 --- a/keyboards/cannonkeys/rekt1800/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/rekt1800/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - RESET, 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, KC_TRNS, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, 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, KC_TRNS, diff --git a/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c b/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c index a976b0e1754a..be0dec93ab03 100644 --- a/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_INS, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_DEL, 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, 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, - RESET, 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, + QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c b/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c index 829cdaeb6cfd..495c4269adc0 100644 --- a/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_INS, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_DEL, 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, 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, - RESET, 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, + QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/default/keymap.c b/keyboards/cannonkeys/satisfaction75/keymaps/default/keymap.c index 10a4b60ee124..0bdc0aa9e794 100644 --- a/keyboards/cannonkeys/satisfaction75/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/satisfaction75/keymaps/default/keymap.c @@ -32,6 +32,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c b/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c index 85cbadc0b97b..47806ff8a29e 100644 --- a/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/savage65/keymaps/default/keymap.c b/keyboards/cannonkeys/savage65/keymaps/default/keymap.c index 0184b4939920..ea490d94afa5 100644 --- a/keyboards/cannonkeys/savage65/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/savage65/keymaps/default/keymap.c @@ -41,6 +41,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_DEC, BL_TOGG, 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_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/savage65/keymaps/via/keymap.c b/keyboards/cannonkeys/savage65/keymaps/via/keymap.c index f9f0bd4accd8..30d5d82d43c8 100644 --- a/keyboards/cannonkeys/savage65/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/savage65/keymaps/via/keymap.c @@ -42,6 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_DEC, BL_TOGG, 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_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/tmov2/keymaps/default/keymap.c b/keyboards/cannonkeys/tmov2/keymaps/default/keymap.c index 1d6e4f49cf27..dbc1f6be0527 100644 --- a/keyboards/cannonkeys/tmov2/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/tmov2/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN3] = LAYOUT_default( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS diff --git a/keyboards/cannonkeys/tmov2/keymaps/via/keymap.c b/keyboards/cannonkeys/tmov2/keymaps/via/keymap.c index 1d6e4f49cf27..dbc1f6be0527 100644 --- a/keyboards/cannonkeys/tmov2/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/tmov2/keymaps/via/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN3] = LAYOUT_default( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS diff --git a/keyboards/cannonkeys/tsukuyomi/keymaps/default/keymap.c b/keyboards/cannonkeys/tsukuyomi/keymaps/default/keymap.c index bd6e98fea38d..476ef884630f 100644 --- a/keyboards/cannonkeys/tsukuyomi/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/tsukuyomi/keymaps/default/keymap.c @@ -41,6 +41,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F5, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_F6, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F7, BL_INC, BL_DEC, BL_TOGG, 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_F8, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + KC_F8, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/cannonkeys/tsukuyomi/keymaps/via/keymap.c b/keyboards/cannonkeys/tsukuyomi/keymaps/via/keymap.c index 21f0a52d306f..33d20d1cda31 100644 --- a/keyboards/cannonkeys/tsukuyomi/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/tsukuyomi/keymaps/via/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F5, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_F6, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F7, BL_INC, BL_DEC, BL_TOGG, 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_F8, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + KC_F8, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS ), [_FN2] = LAYOUT_default( diff --git a/keyboards/cannonkeys/vicious40/keymaps/default/keymap.c b/keyboards/cannonkeys/vicious40/keymaps/default/keymap.c index 25959e719eca..1fb5c37b6d47 100644 --- a/keyboards/cannonkeys/vicious40/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/vicious40/keymaps/default/keymap.c @@ -47,6 +47,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_INS, KC_TRNS, KC_F11, KC_F12, 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, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_TOGG, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_BRTG + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_BRTG ) }; diff --git a/keyboards/cannonkeys/vicious40/keymaps/via/keymap.c b/keyboards/cannonkeys/vicious40/keymaps/via/keymap.c index fa74f8271e42..e1b17e1ec544 100644 --- a/keyboards/cannonkeys/vicious40/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/vicious40/keymaps/via/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_INS, KC_TRNS, KC_F11, KC_F12, 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, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_TOGG, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_BRTG + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_BRTG ), [_FN3] = LAYOUT_default( diff --git a/keyboards/capsunlocked/cu24/keymaps/default/keymap.c b/keyboards/capsunlocked/cu24/keymaps/default/keymap.c index aa2d834dfa68..7877229a37c4 100644 --- a/keyboards/capsunlocked/cu24/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu24/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, RESET , KC_TRNS + KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS ), }; diff --git a/keyboards/capsunlocked/cu65/keymaps/default/keymap.c b/keyboards/capsunlocked/cu65/keymaps/default/keymap.c index 05f4bdb99506..2bcfdccfbed2 100644 --- a/keyboards/capsunlocked/cu65/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu65/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ │ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c b/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c index c84317270c6e..7d677a6439ca 100644 --- a/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c +++ b/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ │ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/capsunlocked/cu65/keymaps/via/keymap.c b/keyboards/capsunlocked/cu65/keymaps/via/keymap.c index fb0031f2b0cf..74ff136004d0 100644 --- a/keyboards/capsunlocked/cu65/keymaps/via/keymap.c +++ b/keyboards/capsunlocked/cu65/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/capsunlocked/cu7/keymaps/default/keymap.c b/keyboards/capsunlocked/cu7/keymaps/default/keymap.c index 66ee4f7a9045..c89fe3f92537 100644 --- a/keyboards/capsunlocked/cu7/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu7/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( _______, - RGB_MOD, KC_UP, RESET, + RGB_MOD, KC_UP, QK_BOOT, KC_LEFT, KC_DOWN, KC_RGHT ), }; diff --git a/keyboards/capsunlocked/cu75/keymaps/default/keymap.c b/keyboards/capsunlocked/cu75/keymaps/default/keymap.c index b1e3e9f97a8a..85e7b1a3ed88 100644 --- a/keyboards/capsunlocked/cu75/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu75/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-------------------------------------------------------------------| * | | | | | | | | | | | | | | | RGB_TOG| * |-------------------------------------------------------------------| - * | | | | | | | | | | | | |RESET |RGB_MODE| + * | | | | | | | | | | | | |QK_BOOT |RGB_MODE| * |-------------------------------------------------------------------| * | | | | | | | | | |VAD|VAI| |RGB_HUI| | * |-------------------------------------------------------------------| @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI ), diff --git a/keyboards/capsunlocked/cu75/keymaps/iso/keymap.c b/keyboards/capsunlocked/cu75/keymaps/iso/keymap.c index ce7d51eed020..f6d7cc5281bf 100644 --- a/keyboards/capsunlocked/cu75/keymaps/iso/keymap.c +++ b/keyboards/capsunlocked/cu75/keymaps/iso/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI ), diff --git a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c index e8480605b77c..7ee9ef880ff0 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, diff --git a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c index fb487aa833e0..dbdb197e8e7b 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c +++ b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, diff --git a/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c index 1b1caa877679..185466c954f8 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_iso( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, diff --git a/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c index f63ab5a53c81..51eacfd9d27c 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c +++ b/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_iso( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, diff --git a/keyboards/cest73/tkm/keymaps/default/keymap.c b/keyboards/cest73/tkm/keymaps/default/keymap.c index 0fa9ea921ded..75f134619f9f 100644 --- a/keyboards/cest73/tkm/keymaps/default/keymap.c +++ b/keyboards/cest73/tkm/keymaps/default/keymap.c @@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PENT, KC_PDOT, KC_PCMM, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/chalice/keymaps/default/keymap.c b/keyboards/chalice/keymaps/default/keymap.c index c33ebfabd294..a29803cbf984 100644 --- a/keyboards/chalice/keymaps/default/keymap.c +++ b/keyboards/chalice/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_default( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, diff --git a/keyboards/chalice/keymaps/via/keymap.c b/keyboards/chalice/keymaps/via/keymap.c index c33ebfabd294..a29803cbf984 100644 --- a/keyboards/chalice/keymaps/via/keymap.c +++ b/keyboards/chalice/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_default( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, diff --git a/keyboards/charue/charon/keymaps/default/keymap.c b/keyboards/charue/charon/keymaps/default/keymap.c index cb16f8eee395..fd64b2be024a 100644 --- a/keyboards/charue/charon/keymaps/default/keymap.c +++ b/keyboards/charue/charon/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_LGUI, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT ), [_FN] = LAYOUT_all( - RESET, 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_GRV, KC_BSPC, + QK_BOOT, 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_GRV, KC_BSPC, 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_VOLU, 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_VOLD, KC_LSFT, KC_BSLS, 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_MUTE, diff --git a/keyboards/charue/charon/keymaps/via/keymap.c b/keyboards/charue/charon/keymaps/via/keymap.c index 680333c6d79a..8d4e8a90fbe1 100644 --- a/keyboards/charue/charon/keymaps/via/keymap.c +++ b/keyboards/charue/charon/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, KC_TRNS, RESET, 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, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [2] = LAYOUT_all( diff --git a/keyboards/checkerboards/axon40/keymaps/default/keymap.c b/keyboards/checkerboards/axon40/keymaps/default/keymap.c index 22eaa8cf838c..c997edb01f42 100644 --- a/keyboards/checkerboards/axon40/keymaps/default/keymap.c +++ b/keyboards/checkerboards/axon40/keymaps/default/keymap.c @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| -* | | RESET | RGB | | | RGB Mod | RGB Mod Rev | | +* | | QK_BOOT | RGB | | | RGB Mod | RGB Mod Rev | | * `---------------------------------------------------------------------------------------' */ @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, 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, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD + QK_BOOT, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD ), }; diff --git a/keyboards/checkerboards/axon40/keymaps/via/keymap.c b/keyboards/checkerboards/axon40/keymaps/via/keymap.c index dc9a5066cddb..dac5e22039d0 100644 --- a/keyboards/checkerboards/axon40/keymaps/via/keymap.c +++ b/keyboards/checkerboards/axon40/keymaps/via/keymap.c @@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, 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, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD + QK_BOOT, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD ), /* 2 @@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, 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, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD + QK_BOOT, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD ), }; diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c index ff3d6afe6c4d..4dfc4a3e2ac5 100644 --- a/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c +++ b/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c @@ -33,14 +33,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| * |Shift | Z | X | C | V | B | DEL | N1 | N2 | N3 | PgDn | N | M | , | . | ? | Ent | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| -* | LCTRL| LOS | LALT | / | ` | - | = | [ |TT(1) |LT(SPC)| ] | MENU | RALT | ROS |RCTRL | CAPS |RESET | +* | LCTRL| LOS | LALT | / | ` | - | = | [ |TT(1) |LT(SPC)| ] | MENU | RALT | ROS |RCTRL | CAPS |QK_BOOT | * '-----------------------------------------------------------------------------------------------------------------------' */ [0] = LAYOUT_grid( KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_HOME, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_INS, KC_P4, KC_P5, KC_P6, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_P1, KC_P2, KC_P3, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_LCTRL, KC_LGUI, KC_LALT, KC_BSLS, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, TT(1), LT(2, KC_SPC), KC_RBRC, KC_MENU, KC_RALT, KC_RGUI, KC_RCTRL, KC_CAPS, RESET + KC_LCTRL, KC_LGUI, KC_LALT, KC_BSLS, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, TT(1), LT(2, KC_SPC), KC_RBRC, KC_MENU, KC_RALT, KC_RGUI, KC_RCTRL, KC_CAPS, QK_BOOT ), /* 1 @@ -71,13 +71,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| -* |RESET | RTOG | | | | | | | | | | | | | | RMOD |RRMOD | +* |QK_BOOT | RTOG | | | | | | | | | | | | | | RMOD |RRMOD | * '----------------------------------------------------------------------------------------------------------------------' */ [2] = LAYOUT_grid( RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, _______, 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, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD + QK_BOOT, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD ), }; diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c index ff3d6afe6c4d..4dfc4a3e2ac5 100644 --- a/keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c +++ b/keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c @@ -33,14 +33,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| * |Shift | Z | X | C | V | B | DEL | N1 | N2 | N3 | PgDn | N | M | , | . | ? | Ent | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| -* | LCTRL| LOS | LALT | / | ` | - | = | [ |TT(1) |LT(SPC)| ] | MENU | RALT | ROS |RCTRL | CAPS |RESET | +* | LCTRL| LOS | LALT | / | ` | - | = | [ |TT(1) |LT(SPC)| ] | MENU | RALT | ROS |RCTRL | CAPS |QK_BOOT | * '-----------------------------------------------------------------------------------------------------------------------' */ [0] = LAYOUT_grid( KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_HOME, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_INS, KC_P4, KC_P5, KC_P6, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_P1, KC_P2, KC_P3, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_LCTRL, KC_LGUI, KC_LALT, KC_BSLS, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, TT(1), LT(2, KC_SPC), KC_RBRC, KC_MENU, KC_RALT, KC_RGUI, KC_RCTRL, KC_CAPS, RESET + KC_LCTRL, KC_LGUI, KC_LALT, KC_BSLS, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, TT(1), LT(2, KC_SPC), KC_RBRC, KC_MENU, KC_RALT, KC_RGUI, KC_RCTRL, KC_CAPS, QK_BOOT ), /* 1 @@ -71,13 +71,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| -* |RESET | RTOG | | | | | | | | | | | | | | RMOD |RRMOD | +* |QK_BOOT | RTOG | | | | | | | | | | | | | | RMOD |RRMOD | * '----------------------------------------------------------------------------------------------------------------------' */ [2] = LAYOUT_grid( RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, _______, 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, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD + QK_BOOT, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD ), }; diff --git a/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c b/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c index 730b2597b1b9..797423900525 100644 --- a/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c +++ b/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------------------------------------------------------------------------| * |BINC |BDEC|BTOG| | | | | | | | | | | | * |------------------------------------------------------------------------------| - * | | | | | | |RESET | + * | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ [1] = LAYOUT_all( @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ), /* Main Numbers, Symbols & Function Layer @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------------------------------------------------------------------------| * |BINC |BDEC|BTOG| | | | | | | | | | | | * |------------------------------------------------------------------------------| - * | | | | | | |RESET | + * | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ [2] = LAYOUT_all( @@ -80,6 +80,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/checkerboards/g_idb60/keymaps/via/keymap.c b/keyboards/checkerboards/g_idb60/keymaps/via/keymap.c index cd6c10c7e0ea..5b1151f17edd 100644 --- a/keyboards/checkerboards/g_idb60/keymaps/via/keymap.c +++ b/keyboards/checkerboards/g_idb60/keymaps/via/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------------------------------------------------------------------------| * |BINC |BDEC|BTOG| | | | | | | | | | | | * |------------------------------------------------------------------------------| - * | | | | | | |RESET | + * | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ [1] = LAYOUT_all( @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ), /* Main Numbers, Symbols & Function Layer @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------------------------------------------------------------------------| * |BINC |BDEC|BTOG| | | | | | | | | | | | * |------------------------------------------------------------------------------| - * | | | | | | |RESET | + * | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ [2] = LAYOUT_all( @@ -80,6 +80,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/checkerboards/nop60/keymaps/default/keymap.c b/keyboards/checkerboards/nop60/keymaps/default/keymap.c index ef3ff4b8bdac..07d97de6068f 100644 --- a/keyboards/checkerboards/nop60/keymaps/default/keymap.c +++ b/keyboards/checkerboards/nop60/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------------------------------------------------------------------------| * |BINC |BDEC|BTOG| | | | | | | | | | | | * |------------------------------------------------------------------------------| - * | | | | | | | | |RESET | + * | | | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ [1] = LAYOUT_60_tsangan_hhkb_split_space( @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), /* ALTERNATE Function layer (MOMENTARY) @@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------------------------------------------------------------------------| * |BINC |BDEC|BTOG| | | | | | | | | | | | * |------------------------------------------------------------------------------| - * | | | | | | | | |RESET | + * | | | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ [2] = LAYOUT_60_tsangan_hhkb_split_space( @@ -78,6 +78,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/checkerboards/nop60/keymaps/via/keymap.c b/keyboards/checkerboards/nop60/keymaps/via/keymap.c index 1fbed16ca1bb..6686fa06a5fc 100644 --- a/keyboards/checkerboards/nop60/keymaps/via/keymap.c +++ b/keyboards/checkerboards/nop60/keymaps/via/keymap.c @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), /* ALTERNATE Function layer (MOMENTARY) @@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), [_VIA] = LAYOUT_60_tsangan_hhkb_split_space( @@ -95,6 +95,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/checkerboards/phoenix45_ortho/keymaps/default/keymap.c b/keyboards/checkerboards/phoenix45_ortho/keymaps/default/keymap.c index cfe0615dee14..feea2372c4a3 100644 --- a/keyboards/checkerboards/phoenix45_ortho/keymaps/default/keymap.c +++ b/keyboards/checkerboards/phoenix45_ortho/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/phoenix45_ortho/keymaps/via/keymap.c b/keyboards/checkerboards/phoenix45_ortho/keymaps/via/keymap.c index 9bd72c06cf5a..0b8792be5510 100644 --- a/keyboards/checkerboards/phoenix45_ortho/keymaps/via/keymap.c +++ b/keyboards/checkerboards/phoenix45_ortho/keymaps/via/keymap.c @@ -40,13 +40,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_ortho_2x225u( _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/plexus75/keymaps/default/keymap.c b/keyboards/checkerboards/plexus75/keymaps/default/keymap.c index def8d0d38ced..05adefc1513e 100644 --- a/keyboards/checkerboards/plexus75/keymaps/default/keymap.c +++ b/keyboards/checkerboards/plexus75/keymaps/default/keymap.c @@ -55,19 +55,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------| * | | | MENU | | | | | | | | | | PRT SC | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------| - * | | | | | | | | | | | | | | RESET | | + * | | | | | | | | | | | | | | QK_BOOT | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | | RESET | RESET | | | | | | | | | | | + * | | QK_BOOT | QK_BOOT | | | | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ [_FN] = LAYOUT_2x2u( 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, KC_F13, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* 2nd Function Layer @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | | RESET | RESET | | | | | | | | | | | + * | | QK_BOOT | QK_BOOT | | | | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ [_FN1] = LAYOUT_2x2u( @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/checkerboards/plexus75/keymaps/default_3u/keymap.c b/keyboards/checkerboards/plexus75/keymaps/default_3u/keymap.c index d467c63a1850..874916f60574 100644 --- a/keyboards/checkerboards/plexus75/keymaps/default_3u/keymap.c +++ b/keyboards/checkerboards/plexus75/keymaps/default_3u/keymap.c @@ -51,19 +51,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------| * | | | MENU | | | | | | | | | | PRT SC | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------| - * | | | | | | | | | | | | | | RESET | | + * | | | | | | | | | | | | | | QK_BOOT | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | RESET | | | | | | | | | + * | QK_BOOT | | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ [_FN] = LAYOUT_2x3u( 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, KC_F13, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ ), /* 2nd Function Layer @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | RESET | RESET | | | | | | | | + * | QK_BOOT | QK_BOOT | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ [_FN1] = LAYOUT_2x3u( @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, RESET, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/checkerboards/plexus75/keymaps/default_7u/keymap.c b/keyboards/checkerboards/plexus75/keymaps/default_7u/keymap.c index 0c2fa678d71c..7188a88bc253 100644 --- a/keyboards/checkerboards/plexus75/keymaps/default_7u/keymap.c +++ b/keyboards/checkerboards/plexus75/keymaps/default_7u/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------| * | | | MENU | | | | | | | | | | PRT SC | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------| - * | | | | | | | | | | | | | | RESET | | + * | | | | | | | | | | | | | | QK_BOOT | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_7u( 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, KC_F13, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/checkerboards/plexus75/keymaps/via/keymap.c b/keyboards/checkerboards/plexus75/keymaps/via/keymap.c index 91bdb75d2a51..83651fc11d56 100644 --- a/keyboards/checkerboards/plexus75/keymaps/via/keymap.c +++ b/keyboards/checkerboards/plexus75/keymaps/via/keymap.c @@ -55,19 +55,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------| * | | | MENU | | | | | | | | | | PRT SC | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------| - * | | | | | | | | | | | | | | RESET | | + * | | | | | | | | | | | | | | QK_BOOT | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | | RESET | RESET | | | | | | | | | | | + * | | QK_BOOT | QK_BOOT | | | | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ [_FN] = LAYOUT_2x2u( 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, KC_F13, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* 2nd Function Layer @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | | RESET | RESET | | | | | | | | | | | + * | | QK_BOOT | QK_BOOT | | | | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ [_FN1] = LAYOUT_2x2u( @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_2x2u( diff --git a/keyboards/checkerboards/plexus75_he/keymaps/default/keymap.c b/keyboards/checkerboards/plexus75_he/keymaps/default/keymap.c index b344c6d9ab3d..c1855707ddc2 100644 --- a/keyboards/checkerboards/plexus75_he/keymaps/default/keymap.c +++ b/keyboards/checkerboards/plexus75_he/keymaps/default/keymap.c @@ -50,19 +50,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------| * | | | MENU | | | | | | | | | | PRT SC | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------| - * | | | | | | | | | | | | | | RESET | | + * | | | | | | | | | | | | | | QK_BOOT | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | | RESET | RESET | | | | | | | | | | | + * | | QK_BOOT | QK_BOOT | | | | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ [1] = LAYOUT_2x3u( 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, KC_F13, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, RESET, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), /* 2nd Function Layer @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | | RESET | RESET | | | | | | | | | | | + * | | QK_BOOT | QK_BOOT | | | | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ [2] = LAYOUT_2x3u( @@ -83,6 +83,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, RESET, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c b/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c index bb1d5657e546..eb205a3787ba 100644 --- a/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c +++ b/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c @@ -49,19 +49,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------| * | | | MENU | | | | | | | | | | PRT SC | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------| - * | | | | | | | | | | | | | | RESET | | + * | | | | | | | | | | | | | | QK_BOOT | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | | RESET | RESET | | | | | | | | | | | + * | | QK_BOOT | QK_BOOT | | | | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ [1] = LAYOUT_2x3u( 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, KC_F13, KC_DEL, _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, RESET, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), /* 2nd Layer @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | | RESET | RESET | | | | | | | | | | | + * | | QK_BOOT | QK_BOOT | | | | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ [2] = LAYOUT_2x3u( @@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, RESET, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), /* 3rd Function Layer @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------| * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------| - * | | RESET | RESET | | | | | | | | | | | + * | | QK_BOOT | QK_BOOT | | | | | | | | | | | * '-------------------------------------------------------------------------------------------------------------------------------------' */ @@ -104,6 +104,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, - RESET, RESET, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c b/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c index 1ec29ebf34d6..38f4493a5849 100644 --- a/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c +++ b/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c @@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_all( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, RESET, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c b/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c index 74120b5151ca..29510c468da4 100644 --- a/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c +++ b/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c @@ -68,14 +68,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_all( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), /* [3] diff --git a/keyboards/checkerboards/quark/keymaps/default/keymap.c b/keyboards/checkerboards/quark/keymaps/default/keymap.c index 3953b6a68d42..01e916bfe4c4 100644 --- a/keyboards/checkerboards/quark/keymaps/default/keymap.c +++ b/keyboards/checkerboards/quark/keymaps/default/keymap.c @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_ortho_5x12_2x225u( @@ -81,6 +81,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/quark/keymaps/default_4x12/keymap.c b/keyboards/checkerboards/quark/keymaps/default_4x12/keymap.c index aefb2f2a3769..e9fe5184e03a 100644 --- a/keyboards/checkerboards/quark/keymaps/default_4x12/keymap.c +++ b/keyboards/checkerboards/quark/keymaps/default_4x12/keymap.c @@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * |RESET | | | | | | | | | | | | + * |QK_BOOT | | | | | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_ortho_4x12( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/quark/keymaps/default_4x12_2x225u/keymap.c b/keyboards/checkerboards/quark/keymaps/default_4x12_2x225u/keymap.c index f2f187bf40ec..6bde720f4935 100644 --- a/keyboards/checkerboards/quark/keymaps/default_4x12_2x225u/keymap.c +++ b/keyboards/checkerboards/quark/keymaps/default_4x12_2x225u/keymap.c @@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_ortho_4x12_2x225u( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/quark/keymaps/default_4x12_2x3u/keymap.c b/keyboards/checkerboards/quark/keymaps/default_4x12_2x3u/keymap.c index 128c3e1a04a1..52b0fe8eb102 100644 --- a/keyboards/checkerboards/quark/keymaps/default_4x12_2x3u/keymap.c +++ b/keyboards/checkerboards/quark/keymaps/default_4x12_2x3u/keymap.c @@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_ortho_4x12_2x3u( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/quark/keymaps/default_5x12_2x3u/keymap.c b/keyboards/checkerboards/quark/keymaps/default_5x12_2x3u/keymap.c index 43e4d7e1327a..e395a7122adb 100644 --- a/keyboards/checkerboards/quark/keymaps/default_5x12_2x3u/keymap.c +++ b/keyboards/checkerboards/quark/keymaps/default_5x12_2x3u/keymap.c @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | + * | QK_BOOT | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_ortho_5x12_2x3u( @@ -81,6 +81,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/quark/keymaps/default_mit/keymap.c b/keyboards/checkerboards/quark/keymaps/default_mit/keymap.c index c18b3b557e95..f9284ef8a5a7 100644 --- a/keyboards/checkerboards/quark/keymaps/default_mit/keymap.c +++ b/keyboards/checkerboards/quark/keymaps/default_mit/keymap.c @@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * |RESET | | | | | | | | | | | + * |QK_BOOT | | | | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_planck_mit( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/quark/keymaps/via/keymap.c b/keyboards/checkerboards/quark/keymaps/via/keymap.c index 3953b6a68d42..01e916bfe4c4 100644 --- a/keyboards/checkerboards/quark/keymaps/via/keymap.c +++ b/keyboards/checkerboards/quark/keymaps/via/keymap.c @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_ortho_5x12_2x225u( @@ -81,6 +81,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/quark_lp/keymaps/default/keymap.c b/keyboards/checkerboards/quark_lp/keymaps/default/keymap.c index 22e589d8a653..d81df83dd056 100644 --- a/keyboards/checkerboards/quark_lp/keymaps/default/keymap.c +++ b/keyboards/checkerboards/quark_lp/keymaps/default/keymap.c @@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_ortho_4x12( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/quark_lp/keymaps/via/keymap.c b/keyboards/checkerboards/quark_lp/keymaps/via/keymap.c index d7e281730aba..2353af659784 100644 --- a/keyboards/checkerboards/quark_lp/keymaps/via/keymap.c +++ b/keyboards/checkerboards/quark_lp/keymaps/via/keymap.c @@ -68,14 +68,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_ortho_4x12( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* [3] @@ -87,13 +87,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [3] = LAYOUT_ortho_4x12( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/quark_plus/keymaps/default/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/default/keymap.c index 871a38644143..6cbebc4243a5 100644 --- a/keyboards/checkerboards/quark_plus/keymaps/default/keymap.c +++ b/keyboards/checkerboards/quark_plus/keymaps/default/keymap.c @@ -70,13 +70,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * |RESET | | | | | | | | | | | | + * |QK_BOOT | | | | | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_grid( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/checkerboards/quark_plus/keymaps/via/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/via/keymap.c index 165ecbbd53aa..30bb50a8253e 100644 --- a/keyboards/checkerboards/quark_plus/keymaps/via/keymap.c +++ b/keyboards/checkerboards/quark_plus/keymaps/via/keymap.c @@ -70,20 +70,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * |RESET | | | | | | | | | | | | + * |QK_BOOT | | | | | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_grid( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_grid( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/checkerboards/quark_squared/keymaps/default/keymap.c b/keyboards/checkerboards/quark_squared/keymaps/default/keymap.c index 8601c7660434..7def35eb7d63 100644 --- a/keyboards/checkerboards/quark_squared/keymaps/default/keymap.c +++ b/keyboards/checkerboards/quark_squared/keymaps/default/keymap.c @@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_4_2x225u( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/quark_squared/keymaps/via/keymap.c b/keyboards/checkerboards/quark_squared/keymaps/via/keymap.c index 37baf408d2db..b0b6300b7b99 100644 --- a/keyboards/checkerboards/quark_squared/keymaps/via/keymap.c +++ b/keyboards/checkerboards/quark_squared/keymaps/via/keymap.c @@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), /* [3] @@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ @@ -97,6 +97,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/keymap.c index 88c1834d15d6..8141d8fca79b 100644 --- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/keymap.c +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/keymap.c @@ -30,14 +30,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+------|------+------+------+------+------+------| * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| - * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * | QK_BOOT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | * `-----------------------------------------------------------------------------------------' */ [0] = LAYOUT_default( KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - RESET, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS + QK_BOOT, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS ), /* [1] @@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_default( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, RESET, _______, _______, _______, _______, _______, _______ + QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c index cbe2d9778aa6..4859afb464c5 100644 --- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c @@ -68,14 +68,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | RESET | | | | | | | | + * | QK_BOOT | | | | | | | | * `---------------------------------------------------------------------------------------' */ [2] = LAYOUT_default( _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, 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, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), /* [3] diff --git a/keyboards/cherrybstudio/cb1800/keymaps/default/keymap.c b/keyboards/cherrybstudio/cb1800/keymaps/default/keymap.c index 75a1c207039e..8facd977e330 100644 --- a/keyboards/cherrybstudio/cb1800/keymaps/default/keymap.c +++ b/keyboards/cherrybstudio/cb1800/keymaps/default/keymap.c @@ -15,7 +15,7 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_ESC, 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_INS, KC_HOME, KC_PGUP, KC_PSCR, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, KC_DEL, KC_END, KC_PGDN, KC_SLCK, KC_GRV, 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_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, 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_P7, KC_P8, KC_P9, KC_PMNS, diff --git a/keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c b/keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c index 7bdb7b023e84..ba4bcf860763 100644 --- a/keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c +++ b/keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_ESC, 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_INS, KC_HOME, KC_PGUP, KC_PSCR, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, KC_DEL, KC_END, KC_PGDN, KC_SLCK, KC_GRV, 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_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, 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_P7, KC_P8, KC_P9, KC_PMNS, diff --git a/keyboards/cherrybstudio/cb87rgb/keymaps/default/keymap.c b/keyboards/cherrybstudio/cb87rgb/keymaps/default/keymap.c index 343c3ebc1f17..84660c5704fc 100644 --- a/keyboards/cherrybstudio/cb87rgb/keymaps/default/keymap.c +++ b/keyboards/cherrybstudio/cb87rgb/keymaps/default/keymap.c @@ -15,7 +15,7 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_ESC, 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_PSCR, KC_SLCK, KC_PAUS, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_PSCR, KC_SLCK, KC_PAUS, KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, 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, KC_PGDN, 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_NUHS, KC_ENT, diff --git a/keyboards/cheshire/curiosity/keymaps/default/keymap.c b/keyboards/cheshire/curiosity/keymaps/default/keymap.c index 5b0f176ea4c9..3af35a81f36a 100644 --- a/keyboards/cheshire/curiosity/keymaps/default/keymap.c +++ b/keyboards/cheshire/curiosity/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FNMS] = LAYOUT_default( RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, RESET, + RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, AG_TOGG, _______, _______, _______, _______, _______, _______ @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVMED] = LAYOUT_default( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, RESET, + KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, QK_BOOT, KC_END, _______, _______, _______, _______, _______, KC_MPLY, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, EEP_RST, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/chickenman/ciel/keymaps/default/keymap.c b/keyboards/chickenman/ciel/keymaps/default/keymap.c index e1f5cfc2e29d..c00e7fb050f7 100644 --- a/keyboards/chickenman/ciel/keymaps/default/keymap.c +++ b/keyboards/chickenman/ciel/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [_FN] = LAYOUT_60_ansi_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/chickenman/ciel/keymaps/via/keymap.c b/keyboards/chickenman/ciel/keymaps/via/keymap.c index 4034ba70d36c..516ad4dc81bf 100644 --- a/keyboards/chickenman/ciel/keymaps/via/keymap.c +++ b/keyboards/chickenman/ciel/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [_L1] = LAYOUT_60_ansi_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/chlx/merro60/keymaps/ansi/keymap.c b/keyboards/chlx/merro60/keymaps/ansi/keymap.c index eebc623cc857..f9445559d18a 100644 --- a/keyboards/chlx/merro60/keymaps/ansi/keymap.c +++ b/keyboards/chlx/merro60/keymaps/ansi/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi_split_bs_rshift( 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, KC_DEL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/chlx/merro60/keymaps/default/keymap.c b/keyboards/chlx/merro60/keymaps/default/keymap.c index ee16d638002a..4bda91040bbf 100644 --- a/keyboards/chlx/merro60/keymaps/default/keymap.c +++ b/keyboards/chlx/merro60/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, _______, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/chlx/merro60/keymaps/iso/keymap.c b/keyboards/chlx/merro60/keymaps/iso/keymap.c index fdfbeafce0d4..4657224b1859 100644 --- a/keyboards/chlx/merro60/keymaps/iso/keymap.c +++ b/keyboards/chlx/merro60/keymaps/iso/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_iso_split_bs_rshift( 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, _______, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/chlx/merro60/keymaps/tsangan/keymap.c b/keyboards/chlx/merro60/keymaps/tsangan/keymap.c index 560abd994743..e0a634c3c7ad 100644 --- a/keyboards/chlx/merro60/keymaps/tsangan/keymap.c +++ b/keyboards/chlx/merro60/keymaps/tsangan/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_tsangan_hhkb( 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, KC_DEL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/chlx/merro60/keymaps/via/keymap.c b/keyboards/chlx/merro60/keymaps/via/keymap.c index 1e44a9cfd6c8..3591766b6234 100644 --- a/keyboards/chlx/merro60/keymaps/via/keymap.c +++ b/keyboards/chlx/merro60/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, _______, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c index fdca99fd0726..3bb1a2c009bc 100755 --- a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c +++ b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c @@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* ADMIN * ,-----------------------------------------. - * | RESET | | | X | + * | QK_BOOT | | | X | * |------------+-----+-----------+----------| * |ABOUT CKEYS | | | | * |------------+-----+-----------+----------| @@ -151,7 +151,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------' */ [_ADMIN] = LAYOUT_ortho_4x4( - RESET, _______, _______, _______, + QK_BOOT, _______, _______, _______, CKEYS_ABOUT, _______, _______, _______, _______, _______, _______, CK_OFF, _______, _______, _______, CK_ON diff --git a/keyboards/ckeys/obelus/keymaps/default/keymap.c b/keyboards/ckeys/obelus/keymaps/default/keymap.c index 5d5bfc6d2844..6ddd0593f310 100644 --- a/keyboards/ckeys/obelus/keymaps/default/keymap.c +++ b/keyboards/ckeys/obelus/keymaps/default/keymap.c @@ -4,7 +4,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* LAYERS * ,-----------------------. - * | | | |RESET| + * | | | |QK_BOOT| * |-----+-----+-----+-----| * |MUSIC| | | | * |-----+-----+-----+-----| @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------------------- ' */ [0] = LAYOUT_ortho_4x4( /* LAYER SELECT */ - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, TO(4), _______, _______, _______, TO(1), TO(2), TO(3), _______, _______, _______, _______, _______ diff --git a/keyboards/ckeys/thedora/keymaps/default/keymap.c b/keyboards/ckeys/thedora/keymaps/default/keymap.c index e2ce9b0d732e..0c36008bd8da 100755 --- a/keyboards/ckeys/thedora/keymaps/default/keymap.c +++ b/keyboards/ckeys/thedora/keymaps/default/keymap.c @@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ADMIN LAYER // ┌─────────┬─────────┬─────────┬─────────┬─────────┐ // │ │ │ │ │ │ - // │ RESET │ │ │ │ │ + // │ QK_BOOT │ │ │ │ │ // ROTARY │ │ │ │ │ │ // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤ // PAGE DOWN│ │ │ │ │ │ @@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ [_ADMIN] = LAYOUT( - RESET, _______, _______, _______, TG(_ADMIN), + QK_BOOT, _______, _______, _______, TG(_ADMIN), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ckeys/washington/keymaps/default/keymap.c b/keyboards/ckeys/washington/keymaps/default/keymap.c index 771905814a12..95e0f3ab5919 100644 --- a/keyboards/ckeys/washington/keymaps/default/keymap.c +++ b/keyboards/ckeys/washington/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( KC_HOME, KC_CALC, KC_END, BL_STEP, KC_ESC, KC_SLEP, - KC_TRNS, KC_MPLY, RESET + KC_TRNS, KC_MPLY, QK_BOOT ) }; diff --git a/keyboards/clawsome/coupe/keymaps/default/keymap.c b/keyboards/clawsome/coupe/keymaps/default/keymap.c index 4c71f0b1810c..d5af879bd767 100644 --- a/keyboards/clawsome/coupe/keymaps/default/keymap.c +++ b/keyboards/clawsome/coupe/keymaps/default/keymap.c @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/clawsome/sedan/keymaps/default/keymap.c b/keyboards/clawsome/sedan/keymaps/default/keymap.c index 9007fb9ab680..97fac36e520e 100644 --- a/keyboards/clawsome/sedan/keymaps/default/keymap.c +++ b/keyboards/clawsome/sedan/keymaps/default/keymap.c @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/clueboard/60/keymaps/default/keymap.c b/keyboards/clueboard/60/keymaps/default/keymap.c index b33a22f937cb..066b9df998dd 100644 --- a/keyboards/clueboard/60/keymaps/default/keymap.c +++ b/keyboards/clueboard/60/keymaps/default/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______, _______, _______, _______, MO(_FL), _______), [_CL] = LAYOUT_all( BL_STEP,S_BSKTC,S_ODEJY,S_RCKBY,S_DOEDR,S_SCALE,S_ONEUP,S_COIN, S_SONIC,S_ZELDA,_______,_______,_______,_______,_______, - _______, _______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______, _______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, MO(_FL), _______) diff --git a/keyboards/clueboard/60/keymaps/default_aek/keymap.c b/keyboards/clueboard/60/keymaps/default_aek/keymap.c index 413ca822f6f2..338d80cf5d19 100644 --- a/keyboards/clueboard/60/keymaps/default_aek/keymap.c +++ b/keyboards/clueboard/60/keymaps/default_aek/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, MO(_FL), _______), [_CL] = LAYOUT_aek( BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______, _______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, + _______, _______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, MO(_FL), _______) diff --git a/keyboards/clueboard/66/keymaps/default/keymap.c b/keyboards/clueboard/66/keymaps/default/keymap.c index 95283db886cb..adb60c90355c 100644 --- a/keyboards/clueboard/66/keymaps/default/keymap.c +++ b/keyboards/clueboard/66/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_CL] = LAYOUT( BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI, - _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, + _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, _______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), diff --git a/keyboards/clueboard/66/keymaps/via/keymap.c b/keyboards/clueboard/66/keymaps/via/keymap.c index f5c0c4644f4e..16735a5b6eb7 100644 --- a/keyboards/clueboard/66/keymaps/via/keymap.c +++ b/keyboards/clueboard/66/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_CL] = LAYOUT_66_ansi( BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI, - _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, + _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI, _______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), diff --git a/keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c b/keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c index 26322ad223e5..253cfc2782de 100644 --- a/keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c +++ b/keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c @@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_CL] = LAYOUT( BL_STEP,S_ONEUP,S_SCALE,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, BL_TOGG, BL_INC, - _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC, + _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC, _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI, _______,_______,_______, BL_BRTG,BL_BRTG, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c index c0aaf2dd0d70..57ff7473694d 100644 --- a/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c +++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c @@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_CL] = LAYOUT( BL_STEP,S_ONEUP,S_SCALE,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, BL_TOGG, BL_INC, - _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC, + _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC, _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, _______,_______,_______, BL_BRTG,BL_BRTG, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), diff --git a/keyboards/coarse/cordillera/keymaps/default/keymap.c b/keyboards/coarse/cordillera/keymaps/default/keymap.c index ef1479c33489..b96629ddee32 100755 --- a/keyboards/coarse/cordillera/keymaps/default/keymap.c +++ b/keyboards/coarse/cordillera/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT_alice( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/coarse/cordillera/keymaps/via/keymap.c b/keyboards/coarse/cordillera/keymaps/via/keymap.c index 69dd613769ac..a644c42a779c 100644 --- a/keyboards/coarse/cordillera/keymaps/via/keymap.c +++ b/keyboards/coarse/cordillera/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT_alice( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/coarse/ixora/keymaps/default/keymap.c b/keyboards/coarse/ixora/keymaps/default/keymap.c index 65daf5c218b1..86c9c195e339 100644 --- a/keyboards/coarse/ixora/keymaps/default/keymap.c +++ b/keyboards/coarse/ixora/keymaps/default/keymap.c @@ -19,12 +19,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: (Base Layer) Default Layer * ,-----------------. - * |RESET| 2 | 3 | + * |QK_BOOT| 2 | 3 | * |-----------------| * |Caps |NmLk |ScLk | * `-----------------' */ [0] = LAYOUT_full( - RESET, KC_2, KC_3, + QK_BOOT, KC_2, KC_3, KC_CAPS, KC_NLCK, KC_SLCK) }; diff --git a/keyboards/coarse/vinta/keymaps/default/keymap.c b/keyboards/coarse/vinta/keymaps/default/keymap.c index 119782b9ae60..858b6d478d05 100644 --- a/keyboards/coarse/vinta/keymaps/default/keymap.c +++ b/keyboards/coarse/vinta/keymaps/default/keymap.c @@ -35,5 +35,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_BSPC, KC_PGUP, 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, 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_END, - KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, RESET, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, QK_BOOT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), }; diff --git a/keyboards/compound/keymaps/default/keymap.c b/keyboards/compound/keymaps/default/keymap.c index c5f4bd73896e..2fcdc4c1d9a8 100644 --- a/keyboards/compound/keymaps/default/keymap.c +++ b/keyboards/compound/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), [_FN] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, diff --git a/keyboards/compound/keymaps/via/keymap.c b/keyboards/compound/keymaps/via/keymap.c index 797be4dc6838..04055df528e9 100644 --- a/keyboards/compound/keymaps/via/keymap.c +++ b/keyboards/compound/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, diff --git a/keyboards/contender/keymaps/default/keymap.c b/keyboards/contender/keymaps/default/keymap.c index 7784c7d59035..6ba7247176a3 100644 --- a/keyboards/contender/keymaps/default/keymap.c +++ b/keyboards/contender/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Function */ [_FUNCTION] = LAYOUT( - RESET, KC_NO, KC_NO, KC_NO, + QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_RMOD, RGB_MOD, KC_NO, KC_NO, diff --git a/keyboards/contra/keymaps/default/keymap.c b/keyboards/contra/keymaps/default/keymap.c index 6a653d9cec48..6c05ebebff4d 100644 --- a/keyboards/contra/keymaps/default/keymap.c +++ b/keyboards/contra/keymaps/default/keymap.c @@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_mit( - _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/contra/keymaps/via/keymap.c b/keyboards/contra/keymaps/via/keymap.c index 4bf7a9c17197..88c9d470b290 100644 --- a/keyboards/contra/keymaps/via/keymap.c +++ b/keyboards/contra/keymaps/via/keymap.c @@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_mit( - _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/converter/a1200/keymaps/default/keymap.c b/keyboards/converter/a1200/keymaps/default/keymap.c index 8ebc5ee53aaf..98982db14742 100644 --- a/keyboards/converter/a1200/keymaps/default/keymap.c +++ b/keyboards/converter/a1200/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_SLCK, _______, KC_PSCR, - _______, _______, _______, _______, RESET,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/converter/m0110_usb/keymaps/default/keymap.c b/keyboards/converter/m0110_usb/keymaps/default/keymap.c index 6c42ee5cf186..797c7939b3a2 100644 --- a/keyboards/converter/m0110_usb/keymaps/default/keymap.c +++ b/keyboards/converter/m0110_usb/keymaps/default/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_NLCK, KC_EQL, KC_PSLS, KC_PAST, - KC_TAB, KC_HOME, KC_UP, KC_PGUP, RESET, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_INS, KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_TAB, KC_HOME, KC_UP, KC_PGUP, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_INS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_LCAP, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LCTL, KC_END, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_PGDN, KC_DOWN, KC_PGUP, KC_P1, KC_P2, KC_P3, KC_PENT, KC_LALT, KC_LGUI, KC_SPC, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_P0, KC_PDOT), diff --git a/keyboards/coseyfannitutti/discipline/keymaps/default/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/default/keymap.c index 1fdfce67eae4..68828e7792af 100644 --- a/keyboards/coseyfannitutti/discipline/keymaps/default/keymap.c +++ b/keyboards/coseyfannitutti/discipline/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc `~ */ 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, KC_DEL, KC_PSCR, /* tab Q W E R T Y U I O P [ ] \ delete*/ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS, /* caps A S D F G H J K L ; ' enter pg up*/ 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_INS, KC_HOME, /* shift Z X C V B N M , . / shift up pg dn*/ diff --git a/keyboards/coseyfannitutti/discipline/keymaps/iso/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/iso/keymap.c index 7f4c2403781b..af1ed19934d8 100644 --- a/keyboards/coseyfannitutti/discipline/keymaps/iso/keymap.c +++ b/keyboards/coseyfannitutti/discipline/keymaps/iso/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc `~ */ 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, KC_DEL, KC_PSCR, /* tab Q W E R T Y U I O P [ ] delete*/ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, /* caps A S D F G H J K L ; ' # enter pg up*/ 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_INS, KC_TRNS, KC_HOME, /* shift \ Z X C V B N M , . / shift up pg dn*/ diff --git a/keyboards/coseyfannitutti/discipline/keymaps/via/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/via/keymap.c index 365b06dbf0ca..143b8d9bb3ab 100644 --- a/keyboards/coseyfannitutti/discipline/keymaps/via/keymap.c +++ b/keyboards/coseyfannitutti/discipline/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc `~ */ 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, KC_DEL, KC_PSCR, /* tab Q W E R T Y U I O P [ ] \ delete*/ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, /* caps A S D F G H J K L ; ' enter pg up*/ 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_INS, KC_TRNS, KC_HOME, /* shift Z X C V B N M , . / shift up pg dn*/ diff --git a/keyboards/coseyfannitutti/mullet/keymaps/default/keymap.c b/keyboards/coseyfannitutti/mullet/keymaps/default/keymap.c index 07d939dfdc16..2674a0efe6c0 100644 --- a/keyboards/coseyfannitutti/mullet/keymaps/default/keymap.c +++ b/keyboards/coseyfannitutti/mullet/keymaps/default/keymap.c @@ -36,7 +36,7 @@ * .---------------------------------------------------------------------------------------------. * | ` ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE |PNTSC| * |---------------------------------------------------------------------------------------------+ - * | Tab |STATC|BRTHE|RNBOW|RESET| | | | | | |PAUSE| | \ | | + * | Tab |STATC|BRTHE|RNBOW|QK_BOOT| | | | | | |PAUSE| | \ | | * |---------------------------------------------------------------------------------------------+ * | Caps |RGBH+|RGBS+|RGBB+| | | | | | | | INS | Enter | HOME| * |---------------------------------------------------------------------------------------------+ @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc insert*/ 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, KC_DEL, KC_PSCR, /* tab Q W E R T Y U I O P [ ] \ delete*/ - KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_BSLS, KC_TRNS, + KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_BSLS, KC_TRNS, /* caps A S D F G H J K L ; ' enter pg up*/ KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, /* shift Z X C V B N M , . / shift up pg dn*/ diff --git a/keyboards/coseyfannitutti/mysterium/keymaps/default/keymap.c b/keyboards/coseyfannitutti/mysterium/keymaps/default/keymap.c index e8091abbbca3..2c34d150408b 100644 --- a/keyboards/coseyfannitutti/mysterium/keymaps/default/keymap.c +++ b/keyboards/coseyfannitutti/mysterium/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi( 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, 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, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS) diff --git a/keyboards/coseyfannitutti/mysterium/keymaps/iso/keymap.c b/keyboards/coseyfannitutti/mysterium/keymaps/iso/keymap.c index 9467b63c3f00..90269323e9cd 100644 --- a/keyboards/coseyfannitutti/mysterium/keymaps/iso/keymap.c +++ b/keyboards/coseyfannitutti/mysterium/keymaps/iso/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_iso( 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, 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, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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,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,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS) diff --git a/keyboards/coseyfannitutti/mysterium/keymaps/via/keymap.c b/keyboards/coseyfannitutti/mysterium/keymaps/via/keymap.c index a44b0158dfa6..151a209284b6 100644 --- a/keyboards/coseyfannitutti/mysterium/keymaps/via/keymap.c +++ b/keyboards/coseyfannitutti/mysterium/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_iso( 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, 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, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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,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,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS), diff --git a/keyboards/coseyfannitutti/romeo/keymaps/default/keymap.c b/keyboards/coseyfannitutti/romeo/keymaps/default/keymap.c index 074d67c1ef56..6b2a7873bc03 100644 --- a/keyboards/coseyfannitutti/romeo/keymaps/default/keymap.c +++ b/keyboards/coseyfannitutti/romeo/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL ), [1] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, RESET, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, QK_BOOT, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_ENT, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_SLSH, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) diff --git a/keyboards/coseyfannitutti/romeo/keymaps/via/keymap.c b/keyboards/coseyfannitutti/romeo/keymaps/via/keymap.c index 951acdca5b36..7f3c5bce406b 100644 --- a/keyboards/coseyfannitutti/romeo/keymaps/via/keymap.c +++ b/keyboards/coseyfannitutti/romeo/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL ), [1] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, RESET, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, QK_BOOT, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_ENT, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_SLSH, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/cozykeys/bloomer/v2/keymaps/default/keymap.c b/keyboards/cozykeys/bloomer/v2/keymaps/default/keymap.c index e5eeaa85305f..b9e0a1c23972 100644 --- a/keyboards/cozykeys/bloomer/v2/keymaps/default/keymap.c +++ b/keyboards/cozykeys/bloomer/v2/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [FN] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_GRV, KC_LBRC, KC_RBRC, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, diff --git a/keyboards/cozykeys/bloomer/v3/keymaps/default/keymap.c b/keyboards/cozykeys/bloomer/v3/keymaps/default/keymap.c index 7aad9cec61ff..ded61b2071b9 100644 --- a/keyboards/cozykeys/bloomer/v3/keymaps/default/keymap.c +++ b/keyboards/cozykeys/bloomer/v3/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [FN] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, RGB_M_P, _______, _______, KC_GRV, KC_LBRC, KC_RBRC, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, RGB_P, RGB_N, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, diff --git a/keyboards/cozykeys/speedo/v3/keymaps/default/keymap.c b/keyboards/cozykeys/speedo/v3/keymaps/default/keymap.c index 4319bd18be4e..7b53090d20d2 100644 --- a/keyboards/cozykeys/speedo/v3/keymaps/default/keymap.c +++ b/keyboards/cozykeys/speedo/v3/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[__LAYER_COUNT][MATRIX_ROWS][MATRIX_COLS] = { ), [LAYER_FN] = LAYOUT( - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, RESET, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, QK_BOOT, _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, RGB_TOG, _______, KC_GRV, KC_LBRC, KC_RBRC, _______, _______, KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_INS, RGB_N, RGB_P, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_PAUS, RGB_M_P, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, diff --git a/keyboards/cradio/keymaps/default/keymap.c b/keyboards/cradio/keymaps/default/keymap.c index f060be4e3942..97f69e6e115f 100644 --- a/keyboards/cradio/keymaps/default/keymap.c +++ b/keyboards/cradio/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_DEL, MO(3) ), [3] = LAYOUT_split_3x5_2( - _______, KC_F1, KC_F2, KC_F3, KC_F10, _______, KC_WH_U, KC_WH_D, _______, RESET, + _______, KC_F1, KC_F2, KC_F3, KC_F10, _______, KC_WH_U, KC_WH_D, _______, QK_BOOT, _______, KC_F4, KC_F5, KC_F6, KC_F11, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_INS, _______, KC_F7, KC_F8, KC_F9, KC_F12, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/craftwalk/keymaps/default/keymap.c b/keyboards/craftwalk/keymaps/default/keymap.c index f02f9c975f20..8c86e11204b4 100644 --- a/keyboards/craftwalk/keymaps/default/keymap.c +++ b/keyboards/craftwalk/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Adjust */ [_ADJUST] = LAYOUT( RGB_HUI, RGB_SAI, RGB_VAI, - RESET, RGB_HUD, RGB_SAD, RGB_VAD, + QK_BOOT, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_T, KC_TRNS, RGB_MOD, RGB_RMOD,RGB_TOG, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/crawlpad/keymaps/default/keymap.c b/keyboards/crawlpad/keymaps/default/keymap.c index c81bb56bd5d1..e633e741dfe5 100755 --- a/keyboards/crawlpad/keymaps/default/keymap.c +++ b/keyboards/crawlpad/keymaps/default/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ortho_4x4( KC_NLCK, BL1, KC_TRNS, KC_PSLS, - RESET, BL2, KC_TRNS, KC_TRNS, + QK_BOOT, BL2, KC_TRNS, KC_TRNS, KC_TRNS, BL3, KC_TRNS, KC_TRNS, KC_TRNS, BL4, KC_TRNS, KC_TRNS ), diff --git a/keyboards/crazy_keyboard_68/keymaps/default/keymap.c b/keyboards/crazy_keyboard_68/keymaps/default/keymap.c index c41916fcd6f7..60ea5c38f97a 100644 --- a/keyboards/crazy_keyboard_68/keymaps/default/keymap.c +++ b/keyboards/crazy_keyboard_68/keymaps/default/keymap.c @@ -61,6 +61,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END, _______, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, _______, _______, KC_INS, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/crbn/keymaps/default/keymap.c b/keyboards/crbn/keymaps/default/keymap.c index a86c5e3d6e6d..f05cadcdd702 100644 --- a/keyboards/crbn/keymaps/default/keymap.c +++ b/keyboards/crbn/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY), LAYOUT_crbn_1x2u( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, 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, 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), diff --git a/keyboards/crbn/keymaps/via/keymap.c b/keyboards/crbn/keymaps/via/keymap.c index 91880d93e8e3..1f7533c33c22 100644 --- a/keyboards/crbn/keymaps/via/keymap.c +++ b/keyboards/crbn/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY), LAYOUT_crbn_1x2u( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, 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, 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), diff --git a/keyboards/creatkeebs/glacier/keymaps/via/keymap.c b/keyboards/creatkeebs/glacier/keymaps/via/keymap.c index cf0fa0f83502..67c39fe32768 100644 --- a/keyboards/creatkeebs/glacier/keymaps/via/keymap.c +++ b/keyboards/creatkeebs/glacier/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_f13_ansi_tsangan( 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, 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, 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_tkl_f13_ansi_tsangan( 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, 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, 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_tkl_f13_ansi_tsangan( 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, 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, 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/crin/keymaps/default/keymap.c b/keyboards/crin/keymaps/default/keymap.c index 87bae7da65d4..bf754b055425 100644 --- a/keyboards/crin/keymaps/default/keymap.c +++ b/keyboards/crin/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_ansi_tsangan( 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, _______, KC_PSCR, KC_SLCK, KC_PAUS, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/crin/keymaps/via/keymap.c b/keyboards/crin/keymaps/via/keymap.c index 87bae7da65d4..bf754b055425 100644 --- a/keyboards/crin/keymaps/via/keymap.c +++ b/keyboards/crin/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_ansi_tsangan( 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, _______, KC_PSCR, KC_SLCK, KC_PAUS, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/crkbd/keymaps/default/keymap.c b/keyboards/crkbd/keymaps/default/keymap.c index e06cfa34655a..23e706e64b46 100644 --- a/keyboards/crkbd/keymaps/default/keymap.c +++ b/keyboards/crkbd/keymaps/default/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_split_3x6_3( //,-----------------------------------------------------. ,-----------------------------------------------------. - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| diff --git a/keyboards/crkbd/keymaps/via/keymap.c b/keyboards/crkbd/keymaps/via/keymap.c index 12c86f6bbceb..33ca8026f8be 100644 --- a/keyboards/crkbd/keymaps/via/keymap.c +++ b/keyboards/crkbd/keymaps/via/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_split_3x6_3( //,-----------------------------------------------------. ,-----------------------------------------------------. - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| diff --git a/keyboards/cutie_club/borsdorf/keymaps/default/keymap.c b/keyboards/cutie_club/borsdorf/keymaps/default/keymap.c index 1f9e686de82e..2b4b1c2c47e1 100644 --- a/keyboards/cutie_club/borsdorf/keymaps/default/keymap.c +++ b/keyboards/cutie_club/borsdorf/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, 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, diff --git a/keyboards/cutie_club/borsdorf/keymaps/via/keymap.c b/keyboards/cutie_club/borsdorf/keymaps/via/keymap.c index 4dc1c06fdb50..b2d1e00ceb8a 100644 --- a/keyboards/cutie_club/borsdorf/keymaps/via/keymap.c +++ b/keyboards/cutie_club/borsdorf/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, 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, diff --git a/keyboards/cutie_club/wraith/keymaps/default/keymap.c b/keyboards/cutie_club/wraith/keymaps/default/keymap.c index 74a6bff26d99..c3f7c41354a6 100644 --- a/keyboards/cutie_club/wraith/keymaps/default/keymap.c +++ b/keyboards/cutie_club/wraith/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, KC_TRNS, + QK_BOOT, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cx60/keymaps/default/keymap.c b/keyboards/cx60/keymaps/default/keymap.c index 1d32050cbdf5..2ed0f6005708 100644 --- a/keyboards/cx60/keymaps/default/keymap.c +++ b/keyboards/cx60/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 1: Function Layer */ LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI,RGB_VAI, RGB_HUD, diff --git a/keyboards/cx60/keymaps/via/keymap.c b/keyboards/cx60/keymaps/via/keymap.c index 2a1b08709085..8a0a14a66e79 100644 --- a/keyboards/cx60/keymaps/via/keymap.c +++ b/keyboards/cx60/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 1: Function Layer */ LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI,RGB_VAI, RGB_HUD, diff --git a/keyboards/dailycraft/claw44/keymaps/default/keymap.c b/keyboards/dailycraft/claw44/keymaps/default/keymap.c index 204c0c94e693..5150db1ab12e 100644 --- a/keyboards/dailycraft/claw44/keymaps/default/keymap.c +++ b/keyboards/dailycraft/claw44/keymaps/default/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, QK_BOOT // `--------+--------+--------+--------' `--------+--------+--------+--------' ), @@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - RESET , _______, _______, _______, _______, _______, _______, _______ + QK_BOOT , _______, _______, _______, _______, _______, _______, _______ // `--------+--------+--------+--------' `--------+--------+--------+--------' ), }; diff --git a/keyboards/dailycraft/claw44/keymaps/via/keymap.c b/keyboards/dailycraft/claw44/keymaps/via/keymap.c index 5373b76876a2..77544dca62b7 100644 --- a/keyboards/dailycraft/claw44/keymaps/via/keymap.c +++ b/keyboards/dailycraft/claw44/keymaps/via/keymap.c @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, QK_BOOT // `--------+--------+--------+--------' `--------+--------+--------+--------' ), @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - RESET , _______, _______, _______, _______, _______, _______, _______ + QK_BOOT , _______, _______, _______, _______, _______, _______, _______ // `--------+--------+--------+--------' `--------+--------+--------+--------' ), [_ADJUST] = LAYOUT( diff --git a/keyboards/dailycraft/wings42/rev1/keymaps/default/keymap.c b/keyboards/dailycraft/wings42/rev1/keymaps/default/keymap.c index 442ba5ed9f21..b21e4004820f 100644 --- a/keyboards/dailycraft/wings42/rev1/keymaps/default/keymap.c +++ b/keyboards/dailycraft/wings42/rev1/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, QK_BOOT // `+--------+--------+--------' `--------+---------+--------+' ), @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - RESET , _______, _______, _______, _______, _______ + QK_BOOT , _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' ), diff --git a/keyboards/dailycraft/wings42/rev1/keymaps/via/keymap.c b/keyboards/dailycraft/wings42/rev1/keymaps/via/keymap.c index 442ba5ed9f21..b21e4004820f 100644 --- a/keyboards/dailycraft/wings42/rev1/keymaps/via/keymap.c +++ b/keyboards/dailycraft/wings42/rev1/keymaps/via/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, QK_BOOT // `+--------+--------+--------' `--------+---------+--------+' ), @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - RESET , _______, _______, _______, _______, _______ + QK_BOOT , _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' ), diff --git a/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/default/keymap.c b/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/default/keymap.c index 64a2b00c3146..5e4035a0af66 100644 --- a/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/default/keymap.c +++ b/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, QK_BOOT // `+--------+--------+--------' `--------+---------+--------+' ), @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - RESET , _______, _______, _______, _______, _______ + QK_BOOT , _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' ), diff --git a/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/via/keymap.c b/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/via/keymap.c index 97c77e182bf8..826b4b4055b3 100644 --- a/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/via/keymap.c +++ b/keyboards/dailycraft/wings42/rev1_extkeys/keymaps/via/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, QK_BOOT // `+--------+--------+--------' `--------+---------+--------+' ), @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - RESET , _______, _______, _______, _______, _______ + QK_BOOT , _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' ), diff --git a/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c b/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c index df572a6f5a4c..a31712405eef 100644 --- a/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c +++ b/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, QK_BOOT // `+--------+--------+--------' `--------+-------+--------+' ), @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - RESET , _______, _______, _______, _______, _______ + QK_BOOT , _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' ), diff --git a/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c b/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c index e6b4ef840a38..6a8482b8ae7d 100644 --- a/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c +++ b/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, QK_BOOT // `+--------+--------+--------' `--------+-------+--------+' ), @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' - RESET , _______, _______, _______, _______, _______ + QK_BOOT , _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' ), diff --git a/keyboards/daji/seis_cinco/keymaps/default/keymap.c b/keyboards/daji/seis_cinco/keymaps/default/keymap.c index f7cb9582e81f..c13d5a2220c7 100644 --- a/keyboards/daji/seis_cinco/keymaps/default/keymap.c +++ b/keyboards/daji/seis_cinco/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_default( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/daji/seis_cinco/keymaps/via/keymap.c b/keyboards/daji/seis_cinco/keymaps/via/keymap.c index 4ea6b34a10f6..1ede5396f9bb 100644 --- a/keyboards/daji/seis_cinco/keymaps/via/keymap.c +++ b/keyboards/daji/seis_cinco/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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, 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, 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, diff --git a/keyboards/db/db63/keymaps/default/keymap.c b/keyboards/db/db63/keymaps/default/keymap.c index 800ff960b1f4..ff1d76575b1b 100644 --- a/keyboards/db/db63/keymaps/default/keymap.c +++ b/keyboards/db/db63/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_BRTG, BL_TOGG, BL_DEC, BL_INC, _______, 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, - MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, RESET, + MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, QK_BOOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, XXXXXXX, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT ), diff --git a/keyboards/delikeeb/flatbread60/keymaps/default/keymap.c b/keyboards/delikeeb/flatbread60/keymaps/default/keymap.c index ed3ed26037dd..e4327c00a3c5 100644 --- a/keyboards/delikeeb/flatbread60/keymaps/default/keymap.c +++ b/keyboards/delikeeb/flatbread60/keymaps/default/keymap.c @@ -151,7 +151,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAI, RGB_VAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/delikeeb/flatbread60/keymaps/via/keymap.c b/keyboards/delikeeb/flatbread60/keymaps/via/keymap.c index cfba3e11c0b0..345c5616ff94 100644 --- a/keyboards/delikeeb/flatbread60/keymaps/via/keymap.c +++ b/keyboards/delikeeb/flatbread60/keymaps/via/keymap.c @@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAI, RGB_VAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/delikeeb/vaguettelite/keymaps/default/keymap.c b/keyboards/delikeeb/vaguettelite/keymaps/default/keymap.c index 98af7556abf2..59ff7ae898e1 100644 --- a/keyboards/delikeeb/vaguettelite/keymaps/default/keymap.c +++ b/keyboards/delikeeb/vaguettelite/keymaps/default/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_all( - RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, + QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/keymap.c b/keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/keymap.c index ed028e84b10d..c6de6dd88c58 100644 --- a/keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/keymap.c +++ b/keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_625u_universal( - RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, + QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/delikeeb/vaguettelite/keymaps/via/keymap.c b/keyboards/delikeeb/vaguettelite/keymaps/via/keymap.c index a84b41b29d3b..d1a86d933852 100644 --- a/keyboards/delikeeb/vaguettelite/keymaps/via/keymap.c +++ b/keyboards/delikeeb/vaguettelite/keymaps/via/keymap.c @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_all( - RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, + QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/delikeeb/vanana/keymaps/default/keymap.c b/keyboards/delikeeb/vanana/keymaps/default/keymap.c index 281bb36acb1e..352c85f463a5 100644 --- a/keyboards/delikeeb/vanana/keymaps/default/keymap.c +++ b/keyboards/delikeeb/vanana/keymaps/default/keymap.c @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( - RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , + QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, AU_ON , AU_OFF , _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, @@ -105,7 +105,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; - case RESET: + case QK_BOOT: if (record->event.pressed) { #ifdef AUDIO_ENABLE stop_all_notes(); diff --git a/keyboards/delikeeb/vanana/keymaps/via/keymap.c b/keyboards/delikeeb/vanana/keymaps/via/keymap.c index 6d04898f3f03..7aa604d82a4e 100644 --- a/keyboards/delikeeb/vanana/keymaps/via/keymap.c +++ b/keyboards/delikeeb/vanana/keymaps/via/keymap.c @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( - RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , + QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, AU_ON , AU_OFF , _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/delikeeb/vaneela/keymaps/default/keymap.c b/keyboards/delikeeb/vaneela/keymaps/default/keymap.c index ce0cd88e7e48..b1d7401b9da9 100644 --- a/keyboards/delikeeb/vaneela/keymaps/default/keymap.c +++ b/keyboards/delikeeb/vaneela/keymaps/default/keymap.c @@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FN] = LAYOUT_ortho_5x12( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______,TERM_ON, TERM_OFF, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______,TERM_ON, TERM_OFF, KC_DEL, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/delikeeb/vaneela/keymaps/via/keymap.c b/keyboards/delikeeb/vaneela/keymaps/via/keymap.c index 1dfad3f8eba2..65194b84d35d 100644 --- a/keyboards/delikeeb/vaneela/keymaps/via/keymap.c +++ b/keyboards/delikeeb/vaneela/keymaps/via/keymap.c @@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FN] = LAYOUT_ortho_5x12( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______,TERM_ON, TERM_OFF, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______,TERM_ON, TERM_OFF, KC_DEL, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/delikeeb/vaneelaex/keymaps/default/keymap.c b/keyboards/delikeeb/vaneelaex/keymaps/default/keymap.c index 6e98c9b8ac6e..f6a08015eb07 100644 --- a/keyboards/delikeeb/vaneelaex/keymaps/default/keymap.c +++ b/keyboards/delikeeb/vaneelaex/keymaps/default/keymap.c @@ -94,7 +94,7 @@ KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_DOT, _______, KC_0, _______, ____ * `---------------------------------------------------------------------------------------------------------------' */ [_FN] = LAYOUT_ss_6x12( -KC_KP_EQUAL, KC_7, KC_8, KC_9, RESET , RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAI, RGB_VAD, RGB_SAI, RGB_SAD, _______, _______, _______, KC_DEL, +KC_KP_EQUAL, KC_7, KC_8, KC_9, QK_BOOT , RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAI, RGB_VAD, RGB_SAI, RGB_SAD, _______, _______, _______, KC_DEL, KC_KP_MINUS, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, KC_KP_PLUS, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_DOT, KC_0, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/delikeeb/vaneelaex/keymaps/via/keymap.c b/keyboards/delikeeb/vaneelaex/keymaps/via/keymap.c index e23cf96a276a..1e41c777a82d 100644 --- a/keyboards/delikeeb/vaneelaex/keymaps/via/keymap.c +++ b/keyboards/delikeeb/vaneelaex/keymaps/via/keymap.c @@ -95,7 +95,7 @@ KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_DOT, _______, KC_0, _______, ____ * `---------------------------------------------------------------------------------------------------------------' */ [_FN] = LAYOUT_ss_6x12( -KC_KP_EQUAL, KC_7, KC_8, KC_9, RESET , RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAI, RGB_VAD, RGB_SAI, RGB_SAD, _______, _______, _______, KC_DEL, +KC_KP_EQUAL, KC_7, KC_8, KC_9, QK_BOOT , RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAI, RGB_VAD, RGB_SAI, RGB_SAD, _______, _______, _______, KC_DEL, KC_KP_MINUS, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, KC_KP_PLUS, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_DOT, KC_0, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/delikeeb/waaffle/keymaps/default/keymap.c b/keyboards/delikeeb/waaffle/keymaps/default/keymap.c index 5fcd609b8ac4..d87ac6068fe7 100644 --- a/keyboards/delikeeb/waaffle/keymaps/default/keymap.c +++ b/keyboards/delikeeb/waaffle/keymaps/default/keymap.c @@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_ortho_5x16( - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , _______, _______, _______, _______, _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/delikeeb/waaffle/keymaps/via/keymap.c b/keyboards/delikeeb/waaffle/keymaps/via/keymap.c index 73d29ec14f30..a1bc93974e94 100644 --- a/keyboards/delikeeb/waaffle/keymaps/via/keymap.c +++ b/keyboards/delikeeb/waaffle/keymaps/via/keymap.c @@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_ortho_5x16( - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , _______, _______, _______, _______, _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/deltasplit75/keymaps/default/keymap.c b/keyboards/deltasplit75/keymaps/default/keymap.c index 7d698eb329e7..3d5169304d45 100644 --- a/keyboards/deltasplit75/keymaps/default/keymap.c +++ b/keyboards/deltasplit75/keymaps/default/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), LAYOUT_v2( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/dm9records/lain/keymaps/default/keymap.c b/keyboards/dm9records/lain/keymaps/default/keymap.c index 655e3211b2db..b05150fa5ab7 100644 --- a/keyboards/dm9records/lain/keymaps/default/keymap.c +++ b/keyboards/dm9records/lain/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [CONF] = LAYOUT( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LED_EN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX diff --git a/keyboards/dm9records/lain/keymaps/via/keymap.c b/keyboards/dm9records/lain/keymaps/via/keymap.c index 829ffb624f9b..f6d49cc55384 100644 --- a/keyboards/dm9records/lain/keymaps/via/keymap.c +++ b/keyboards/dm9records/lain/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [CONF] = LAYOUT( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, USER00, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX diff --git a/keyboards/dm9records/plaid/keymaps/default/keymap.c b/keyboards/dm9records/plaid/keymaps/default/keymap.c index c5075b0e0c47..f11b744066ac 100644 --- a/keyboards/dm9records/plaid/keymaps/default/keymap.c +++ b/keyboards/dm9records/plaid/keymaps/default/keymap.c @@ -193,7 +193,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_plaid_grid( - RESET,LED_1, LED_2, LED_3, LED_4, LED_5,LED_6, LED_7, LED_8, LED_9, LED_0,KC_DEL , + QK_BOOT,LED_1, LED_2, LED_3, LED_4, LED_5,LED_6, LED_7, LED_8, LED_9, LED_0,KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/do60/keymaps/default/keymap.c b/keyboards/do60/keymaps/default/keymap.c index 3f1932142134..b99119ad4cd8 100644 --- a/keyboards/do60/keymaps/default/keymap.c +++ b/keyboards/do60/keymaps/default/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, BL_TOGG,BL_ON, BL_INC, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, KC_NO, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, BL_STEP,BL_OFF, BL_DEC, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP, KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_RSFT, KC_NO , KC_PGUP, KC_INS, diff --git a/keyboards/do60/keymaps/via/keymap.c b/keyboards/do60/keymaps/via/keymap.c index 3e01a2e69976..aa0c1cce7be8 100644 --- a/keyboards/do60/keymaps/via/keymap.c +++ b/keyboards/do60/keymaps/via/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, BL_TOGG,BL_ON, BL_INC, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, KC_NO, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, BL_STEP,BL_OFF, BL_DEC, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP, KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_RSFT, KC_NO , KC_PGUP, KC_INS, diff --git a/keyboards/donutcables/budget96/keymaps/default/keymap.c b/keyboards/donutcables/budget96/keymaps/default/keymap.c index 66392024c4f2..f48d8f9be415 100644 --- a/keyboards/donutcables/budget96/keymaps/default/keymap.c +++ b/keyboards/donutcables/budget96/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT), [1] = LAYOUT_96_ansi( - RESET, EEP_RST, 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, KC_TRNS, + QK_BOOT, EEP_RST, 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, KC_TRNS, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_INC, BL_DEC, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, 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, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/donutcables/budget96/keymaps/via/keymap.c b/keyboards/donutcables/budget96/keymaps/via/keymap.c index 16bd4b8e25df..79bb438e730f 100644 --- a/keyboards/donutcables/budget96/keymaps/via/keymap.c +++ b/keyboards/donutcables/budget96/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT), [1] = LAYOUT_96_ansi( - RESET, EEP_RST, 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, KC_TRNS, + QK_BOOT, EEP_RST, 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, KC_TRNS, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_INC, BL_DEC, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, 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, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/doodboard/duckboard/keymaps/default/keymap.c b/keyboards/doodboard/duckboard/keymaps/default/keymap.c index b4e6207aea4c..ff0458234ac5 100644 --- a/keyboards/doodboard/duckboard/keymaps/default/keymap.c +++ b/keyboards/doodboard/duckboard/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - TG(2), RESET, KC_TRNS, KC_TRNS, KC_TRNS), + TG(2), QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS), }; bool encoder_update_user(uint8_t index, bool clockwise) { diff --git a/keyboards/doodboard/duckboard_r2/keymaps/default/keymap.c b/keyboards/doodboard/duckboard_r2/keymaps/default/keymap.c index af6e469ab2ac..df2f44a6b012 100644 --- a/keyboards/doodboard/duckboard_r2/keymaps/default/keymap.c +++ b/keyboards/doodboard/duckboard_r2/keymaps/default/keymap.c @@ -34,8 +34,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - TG(2), RESET, KC_TRNS, KC_TRNS, KC_TRNS), + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + TG(2), QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS), }; bool encoder_update_user(uint8_t index, bool clockwise) { diff --git a/keyboards/doodboard/duckboard_r2/keymaps/via/keymap.c b/keyboards/doodboard/duckboard_r2/keymaps/via/keymap.c index 7911d9e3cc93..26d13d8e37c3 100644 --- a/keyboards/doodboard/duckboard_r2/keymaps/via/keymap.c +++ b/keyboards/doodboard/duckboard_r2/keymaps/via/keymap.c @@ -34,8 +34,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - TG(2), RESET, KC_TRNS, KC_TRNS, KC_TRNS), + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + TG(2), QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS), [3] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/doro67/multi/keymaps/default/keymap.c b/keyboards/doro67/multi/keymaps/default/keymap.c index 6140aa277367..fa9ac32e5ed7 100644 --- a/keyboards/doro67/multi/keymaps/default/keymap.c +++ b/keyboards/doro67/multi/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_65_ansi_blocker( 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, _______, _______, - BL_TOGG, BL_STEP, BL_DEC, BL_INC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_DEC, BL_INC, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/doro67/multi/keymaps/default_iso/keymap.c b/keyboards/doro67/multi/keymaps/default_iso/keymap.c index 29bc19da8041..2412a0836efe 100644 --- a/keyboards/doro67/multi/keymaps/default_iso/keymap.c +++ b/keyboards/doro67/multi/keymaps/default_iso/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_iso( 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, _______, _______, - BL_TOGG, BL_STEP, BL_DEC, BL_INC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_DEC, BL_INC, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/doro67/multi/keymaps/default_multi/keymap.c b/keyboards/doro67/multi/keymaps/default_multi/keymap.c index 32af5af98e8b..319ce0650135 100644 --- a/keyboards/doro67/multi/keymaps/default_multi/keymap.c +++ b/keyboards/doro67/multi/keymaps/default_multi/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_multi( 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, _______, _______, _______, - BL_TOGG, BL_STEP, BL_DEC, BL_INC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_DEC, BL_INC, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/doro67/multi/keymaps/via/keymap.c b/keyboards/doro67/multi/keymaps/via/keymap.c index 42b399dbaf7a..f3e1982c80c6 100644 --- a/keyboards/doro67/multi/keymaps/via/keymap.c +++ b/keyboards/doro67/multi/keymaps/via/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_65_ansi_blocker( 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, _______, _______, - BL_TOGG, BL_STEP, BL_DEC, BL_INC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_DEC, BL_INC, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/doro67/regular/keymaps/default/keymap.c b/keyboards/doro67/regular/keymaps/default/keymap.c index 6a1e3c3d412a..342357ab2dca 100644 --- a/keyboards/doro67/regular/keymaps/default/keymap.c +++ b/keyboards/doro67/regular/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_65_ansi_blocker( 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, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/doro67/regular/keymaps/via/keymap.c b/keyboards/doro67/regular/keymaps/via/keymap.c index 8b1bc5feea60..bec67a9a52d1 100644 --- a/keyboards/doro67/regular/keymaps/via/keymap.c +++ b/keyboards/doro67/regular/keymaps/via/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_65_ansi_blocker( 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, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/doro67/rgb/keymaps/default/keymap.c b/keyboards/doro67/rgb/keymaps/default/keymap.c index b7742bba9c43..0f793234a24f 100644 --- a/keyboards/doro67/rgb/keymaps/default/keymap.c +++ b/keyboards/doro67/rgb/keymaps/default/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_65_ansi_blocker( 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, _______, _______, - QMKBEST, QMKURL, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QMKBEST, QMKURL, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/doro67/rgb/keymaps/via/keymap.c b/keyboards/doro67/rgb/keymaps/via/keymap.c index eb4707e88ae7..27cf18585dc3 100644 --- a/keyboards/doro67/rgb/keymaps/via/keymap.c +++ b/keyboards/doro67/rgb/keymaps/via/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_65_ansi_blocker( 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, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/dp60/keymaps/default/keymap.c b/keyboards/dp60/keymaps/default/keymap.c index 66cc628d4cc0..bcdfee0ffbf8 100644 --- a/keyboards/dp60/keymaps/default/keymap.c +++ b/keyboards/dp60/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi_split_bs_rshift( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR, - RESET, RGB_TOG,RGB_MOD,_______,KC_F13,KC_F14,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, + QK_BOOT, RGB_TOG,RGB_MOD,_______,KC_F13,KC_F14,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME,KC_END,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______,_______,TG(0),_______), diff --git a/keyboards/dp60/keymaps/via/keymap.c b/keyboards/dp60/keymaps/via/keymap.c index 5f2b007274cd..f1cb53e9f7bf 100644 --- a/keyboards/dp60/keymaps/via/keymap.c +++ b/keyboards/dp60/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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,_______,KC_DEL, - RESET, _______,KC_UP,_______,_______,_______,_______,_______,KC_PAUS,KC_SLCK,KC_PSCR,KC_PGUP,_______,KC_INS, + QK_BOOT, _______,KC_UP,_______,_______,_______,_______,_______,KC_PAUS,KC_SLCK,KC_PSCR,KC_PGUP,_______,KC_INS, _______, KC_LEFT,KC_DOWN,KC_RIGHT,_______,_______,_______,_______, _______,_______,KC_HOME,KC_END,_______, _______, _______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGDN,_______,_______, _______,_______,_______, _______, _______,MO(2),TG(0),_______), diff --git a/keyboards/draculad/keymaps/default/keymap.c b/keyboards/draculad/keymaps/default/keymap.c index a352359d132d..d9468068ba5d 100644 --- a/keyboards/draculad/keymaps/default/keymap.c +++ b/keyboards/draculad/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NUM] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TAB, XXXXXXX, KC_VOLD, KC_VOLU, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, - KC_LSFT, XXXXXXX, XXXXXXX, KC_MUTE, RESET, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT, + KC_LSFT, XXXXXXX, XXXXXXX, KC_MUTE, QK_BOOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT, XXXXXXX, KC_NO, XXXXXXX, KC_LALT, XXXXXXX, _______, KC_ENT, KC_NO ), @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ), [_ADJ] = LAYOUT( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, XXXXXXX, _______, diff --git a/keyboards/draytronics/daisy/keymaps/default/keymap.c b/keyboards/draytronics/daisy/keymaps/default/keymap.c index 74cd02ecd284..0855053903d3 100644 --- a/keyboards/draytronics/daisy/keymaps/default/keymap.c +++ b/keyboards/draytronics/daisy/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_CODE] = LAYOUT( KC_MUTE, KC_END, _______, RGB_MOD, RGB_VAI, RGB_TOG, - G(S(KC_5)), G(A(KC_ESC)), G(KC_F), RESET + G(S(KC_5)), G(A(KC_ESC)), G(KC_F), QK_BOOT ) }; diff --git a/keyboards/draytronics/elise/keymaps/default/keymap.c b/keyboards/draytronics/elise/keymaps/default/keymap.c index 4208da13b303..abf600378165 100644 --- a/keyboards/draytronics/elise/keymaps/default/keymap.c +++ b/keyboards/draytronics/elise/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,----------------------------------------------------------------. * | ~ | F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |INS | * |----------------------------------------------------------------| - * |RESET| | ↑ | | | | | | | | | | | | | + * |QK_BOOT| | ↑ | | | | | | | | | | | | | * |------------------------------------------------------- -----| * | | ← | ↓ | → | | | | | | | | | | | | * |----------------------------------------------------------------| @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL] = LAYOUT_65_ansi( 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, KC_DEL, KC_INS, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, KC_TRNS, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/draytronics/elise/keymaps/default_iso/keymap.c b/keyboards/draytronics/elise/keymaps/default_iso/keymap.c index a51272a35715..b0b8a7491ed2 100644 --- a/keyboards/draytronics/elise/keymaps/default_iso/keymap.c +++ b/keyboards/draytronics/elise/keymaps/default_iso/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,----------------------------------------------------------------. * |~ `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete| Ins| * |----------------------------------------------------------------| - * |RESET| | ↑ | | | | | | | | | | | | | + * |QK_BOOT| | ↑ | | | | | | | | | | | | | * |------------------------------------------------------- -----| * | | ← | ↓ | → | | | | | | | | | | | | * |----------------------------------------------------------------| @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL] = LAYOUT_65_iso( 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, KC_DEL, KC_INS, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/draytronics/elise_v2/keymaps/default/keymap.c b/keyboards/draytronics/elise_v2/keymaps/default/keymap.c index 62b4b576dd11..86ca97b1b67f 100644 --- a/keyboards/draytronics/elise_v2/keymaps/default/keymap.c +++ b/keyboards/draytronics/elise_v2/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,----------------------------------------------------------------. * | ~ | F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |INS | * |----------------------------------------------------------------| - * |RESET| | ↑ | | | | | | | | | | | | | + * |QK_BOOT| | ↑ | | | | | | | | | | | | | * |------------------------------------------------------- -----| * | | ← | ↓ | → | | | | | | | | | | | | * |----------------------------------------------------------------| @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL] = LAYOUT_65_ansi( 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, KC_DEL, KC_INS, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, KC_TRNS, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/draytronics/elise_v2/keymaps/default_iso/keymap.c b/keyboards/draytronics/elise_v2/keymaps/default_iso/keymap.c index a51272a35715..b0b8a7491ed2 100644 --- a/keyboards/draytronics/elise_v2/keymaps/default_iso/keymap.c +++ b/keyboards/draytronics/elise_v2/keymaps/default_iso/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,----------------------------------------------------------------. * |~ `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete| Ins| * |----------------------------------------------------------------| - * |RESET| | ↑ | | | | | | | | | | | | | + * |QK_BOOT| | ↑ | | | | | | | | | | | | | * |------------------------------------------------------- -----| * | | ← | ↓ | → | | | | | | | | | | | | * |----------------------------------------------------------------| @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL] = LAYOUT_65_iso( 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, KC_DEL, KC_INS, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/drewkeys/iskar/keymaps/via/keymap.c b/keyboards/drewkeys/iskar/keymaps/via/keymap.c index ba77cb407771..cfa5149e3e96 100644 --- a/keyboards/drewkeys/iskar/keymaps/via/keymap.c +++ b/keyboards/drewkeys/iskar/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] LAYOUT( - KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RESET, KC_TRNS, + KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/dtisaac/dosa40rgb/keymaps/default/keymap.c b/keyboards/dtisaac/dosa40rgb/keymaps/default/keymap.c index 3edc5cfab738..c01d4ac7c84c 100644 --- a/keyboards/dtisaac/dosa40rgb/keymaps/default/keymap.c +++ b/keyboards/dtisaac/dosa40rgb/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_SPACE, KC_RALT, L1, KC_RCTL ), [_L1] = LAYOUT( - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_SLSH, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/dtisaac/dtisaac01/keymaps/default/keymap.c b/keyboards/dtisaac/dtisaac01/keymaps/default/keymap.c index 15d0f2374a26..56004946d577 100644 --- a/keyboards/dtisaac/dtisaac01/keymaps/default/keymap.c +++ b/keyboards/dtisaac/dtisaac01/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_NO), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/dtisaac/dtisaac01/keymaps/via/keymap.c b/keyboards/dtisaac/dtisaac01/keymaps/via/keymap.c index 2f61c803f7f5..c2f637fa7b84 100644 --- a/keyboards/dtisaac/dtisaac01/keymaps/via/keymap.c +++ b/keyboards/dtisaac/dtisaac01/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_NO), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_LAYER1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLEP, KC_WAKE, KC_PWR, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLEP, KC_WAKE, KC_PWR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_ON, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, BL_OFF, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [_LAYER2] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_LAYER3] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/duck/eagle_viper/v2/keymaps/default/keymap.c b/keyboards/duck/eagle_viper/v2/keymaps/default/keymap.c index cfcc59fec9aa..667dae875953 100644 --- a/keyboards/duck/eagle_viper/v2/keymaps/default/keymap.c +++ b/keyboards/duck/eagle_viper/v2/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, RGB_TOG, RGB_MOD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/duck/eagle_viper/v2/keymaps/via/keymap.c b/keyboards/duck/eagle_viper/v2/keymaps/via/keymap.c index 4851197af8b6..59073ba5e7af 100644 --- a/keyboards/duck/eagle_viper/v2/keymaps/via/keymap.c +++ b/keyboards/duck/eagle_viper/v2/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, RGB_TOG, RGB_MOD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/duck/lightsaver/keymaps/default/keymap.c b/keyboards/duck/lightsaver/keymaps/default/keymap.c index c63d4dc3cd33..61a90fe60392 100644 --- a/keyboards/duck/lightsaver/keymaps/default/keymap.c +++ b/keyboards/duck/lightsaver/keymaps/default/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/duck/octagon/keymaps/default/keymap.c b/keyboards/duck/octagon/keymaps/default/keymap.c index 27e7328e2308..12024c918b39 100644 --- a/keyboards/duck/octagon/keymaps/default/keymap.c +++ b/keyboards/duck/octagon/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FL] = LAYOUT_75_ansi( KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, 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, 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, RESET, 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, QK_BOOT, 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, 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, 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), diff --git a/keyboards/duck/orion/v3/keymaps/default/keymap.c b/keyboards/duck/orion/v3/keymaps/default/keymap.c index 0da0cdaeb3bb..34ce1aaf9fe0 100644 --- a/keyboards/duck/orion/v3/keymaps/default/keymap.c +++ b/keyboards/duck/orion/v3/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi( 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, 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, KC_TRNS, - BL_TOGG, BL_STEP, BL_INC, BL_DEC, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + BL_TOGG, BL_STEP, BL_INC, BL_DEC, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPI, 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, KC_TRNS, KC_TRNS) diff --git a/keyboards/duck/tcv3/keymaps/default/keymap.c b/keyboards/duck/tcv3/keymaps/default/keymap.c index a7dfdddf602a..4144e5b8eb77 100644 --- a/keyboards/duck/tcv3/keymaps/default/keymap.c +++ b/keyboards/duck/tcv3/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FL] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, KC_TRNS, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/duck/tcv3/keymaps/via/keymap.c b/keyboards/duck/tcv3/keymaps/via/keymap.c index 925e1b208b72..7e309d024c9d 100644 --- a/keyboards/duck/tcv3/keymaps/via/keymap.c +++ b/keyboards/duck/tcv3/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, KC_TRNS, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/dumbo/keymaps/default/keymap.c b/keyboards/dumbo/keymaps/default/keymap.c index 7fc3ffc2c443..c6266c9c59b4 100644 --- a/keyboards/dumbo/keymaps/default/keymap.c +++ b/keyboards/dumbo/keymaps/default/keymap.c @@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * Special functions: _SP * * ,-------------------------------------------. ,-------------------------------------------. - * | TAB | | | | RESET| | | | | | | | ESC | + * | TAB | | | | QK_BOOT| | | | | | | | ESC | * |--------+------+------+------+------+------| |------+------+------+------+------+--------| * | CTRL | | | DEBUG| | | | | | | | | | * |--------+------+------+------+------+------| |------+------+------+------+------+--------| @@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_SP] = LAYOUT_split_3x6_4( //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, + KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_LCTL, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| diff --git a/keyboards/dumbpad/v0x/keymaps/default/keymap.c b/keyboards/dumbpad/v0x/keymaps/default/keymap.c index 22fbd24c02e3..c0627e749082 100644 --- a/keyboards/dumbpad/v0x/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v0x/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \-----------------------------------------------------' */ [1] = LAYOUT( - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, _______, _______, _______, KC_KP_PLUS, _______, _______, _______, KC_KP_MINUS, KC_LOCK, _______, _______, _______, KC_EQL diff --git a/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c b/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c index b103c306f3b6..28b71cd8e71e 100644 --- a/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \---------------------------------------' */ [1] = LAYOUT( - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, _______, _______, _______, KC_KP_PLUS, _______, _______, _______, KC_KP_MINUS, _______, _______, _______, KC_EQL diff --git a/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c b/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c index 48002ff4d9fa..bc762bc0f2ba 100644 --- a/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \-----------------------------------------------------' */ [1] = LAYOUT( - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, _______, _______, _______, KC_KP_PLUS, _______, _______, _______, KC_KP_MINUS, _______, _______, _______, KC_EQL, KC_LOCK diff --git a/keyboards/dumbpad/v1x/keymaps/default/keymap.c b/keyboards/dumbpad/v1x/keymaps/default/keymap.c index 22fbd24c02e3..c0627e749082 100644 --- a/keyboards/dumbpad/v1x/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v1x/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \-----------------------------------------------------' */ [1] = LAYOUT( - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, _______, _______, _______, KC_KP_PLUS, _______, _______, _______, KC_KP_MINUS, KC_LOCK, _______, _______, _______, KC_EQL diff --git a/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c b/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c index 8e4f444ee771..b21ac95849bb 100644 --- a/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \-----------------------------------------------------' */ [1] = LAYOUT( - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, _______, _______, _______, KC_KP_PLUS, _______, _______, _______, KC_KP_MINUS, KC_LOCK, _______, _______, _______, KC_EQL diff --git a/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c b/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c index 48002ff4d9fa..bc762bc0f2ba 100644 --- a/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \-----------------------------------------------------' */ [1] = LAYOUT( - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, _______, _______, _______, KC_KP_PLUS, _______, _______, _______, KC_KP_MINUS, _______, _______, _______, KC_EQL, KC_LOCK diff --git a/keyboards/dz60/keymaps/default/keymap.c b/keyboards/dz60/keymaps/default/keymap.c index 5b7a24922d81..3b6c147a1854 100644 --- a/keyboards/dz60/keymaps/default/keymap.c +++ b/keyboards/dz60/keymaps/default/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( 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, _______, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/dz60/keymaps/via/keymap.c b/keyboards/dz60/keymaps/via/keymap.c index 34c6e131f937..b1fd7baddaf4 100644 --- a/keyboards/dz60/keymaps/via/keymap.c +++ b/keyboards/dz60/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_NO, MO(1), KC_RCTL), LAYOUT( 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, KC_TRNS, KC_DEL, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, 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, KC_TRNS), diff --git a/keyboards/dztech/duo_s/keymaps/default/keymap.c b/keyboards/dztech/duo_s/keymaps/default/keymap.c index 56c7b7d2f3e6..5465f8db8b81 100644 --- a/keyboards/dztech/duo_s/keymaps/default/keymap.c +++ b/keyboards/dztech/duo_s/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi_blocker( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, BL_INC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, BL_INC, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, RGB_MOD, diff --git a/keyboards/dztech/duo_s/keymaps/via/keymap.c b/keyboards/dztech/duo_s/keymaps/via/keymap.c index 667112dea76f..b928f97611e7 100644 --- a/keyboards/dztech/duo_s/keymaps/via/keymap.c +++ b/keyboards/dztech/duo_s/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi_blocker( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, BL_INC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, BL_INC, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, RGB_MOD, diff --git a/keyboards/dztech/dz60rgb/keymaps/default/keymap.c b/keyboards/dztech/dz60rgb/keymaps/default/keymap.c index 99b3c6c2864c..0e955922344b 100644 --- a/keyboards/dztech/dz60rgb/keymaps/default/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/default/keymap.c @@ -10,14 +10,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( TO(3), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [2] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/dztech/dz60rgb/keymaps/via/keymap.c b/keyboards/dztech/dz60rgb/keymaps/via/keymap.c index 4bffe50db85f..cd58713fae2b 100644 --- a/keyboards/dztech/dz60rgb/keymaps/via/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/via/keymap.c @@ -10,14 +10,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( TO(3), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, _______, _______, _______, TO(4), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [2] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/default/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/default/keymap.c index 12a2a1a145d8..f38b6aa0fc09 100644 --- a/keyboards/dztech/dz60rgb_ansi/keymaps/default/keymap.c +++ b/keyboards/dztech/dz60rgb_ansi/keymaps/default/keymap.c @@ -10,14 +10,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi( 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, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_60_ansi( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/via/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/via/keymap.c index 9ad5872d4feb..39cebac9fc44 100644 --- a/keyboards/dztech/dz60rgb_ansi/keymaps/via/keymap.c +++ b/keyboards/dztech/dz60rgb_ansi/keymaps/via/keymap.c @@ -10,14 +10,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi( 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, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_60_ansi( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/dztech/dz60rgb_wkl/keymaps/default/keymap.c b/keyboards/dztech/dz60rgb_wkl/keymaps/default/keymap.c index a881a2376212..7edfc1bdbf03 100644 --- a/keyboards/dztech/dz60rgb_wkl/keymaps/default/keymap.c +++ b/keyboards/dztech/dz60rgb_wkl/keymaps/default/keymap.c @@ -10,14 +10,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_tsangan_hhkb( 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, _______, _______, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_60_tsangan_hhkb( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/dztech/dz60rgb_wkl/keymaps/via/keymap.c b/keyboards/dztech/dz60rgb_wkl/keymaps/via/keymap.c index 5c48c2e22348..a4406b381996 100644 --- a/keyboards/dztech/dz60rgb_wkl/keymaps/via/keymap.c +++ b/keyboards/dztech/dz60rgb_wkl/keymaps/via/keymap.c @@ -10,14 +10,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_tsangan_hhkb( 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, _______, _______, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_60_tsangan_hhkb( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/dztech/dz64rgb/keymaps/default/keymap.c b/keyboards/dztech/dz64rgb/keymaps/default/keymap.c index 877793b89263..94b3664f2513 100644 --- a/keyboards/dztech/dz64rgb/keymaps/default/keymap.c +++ b/keyboards/dztech/dz64rgb/keymaps/default/keymap.c @@ -26,14 +26,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_64_ansi( TO(3), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, _______, _______, _______, TO(4), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [2] = LAYOUT_64_ansi( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/dztech/dz64rgb/keymaps/via/keymap.c b/keyboards/dztech/dz64rgb/keymaps/via/keymap.c index 877793b89263..94b3664f2513 100644 --- a/keyboards/dztech/dz64rgb/keymaps/via/keymap.c +++ b/keyboards/dztech/dz64rgb/keymaps/via/keymap.c @@ -26,14 +26,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_64_ansi( TO(3), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, _______, _______, _______, TO(4), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [2] = LAYOUT_64_ansi( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/dztech/dz65rgb/keymaps/default/keymap.c b/keyboards/dztech/dz65rgb/keymaps/default/keymap.c index 70151e45bccd..38c6b578a3c8 100644 --- a/keyboards/dztech/dz65rgb/keymaps/default/keymap.c +++ b/keyboards/dztech/dz65rgb/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi( 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, KC_DEL, KC_HOME, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, CTL_T(KC_CAPS), RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, KC_PGDN, KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/dztech/dz65rgb/keymaps/via/keymap.c b/keyboards/dztech/dz65rgb/keymaps/via/keymap.c index 7e12b4c52fcd..fff65fa824fc 100644 --- a/keyboards/dztech/dz65rgb/keymaps/via/keymap.c +++ b/keyboards/dztech/dz65rgb/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi( 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, KC_DEL, KC_HOME, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, CTL_T(KC_CAPS), RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, KC_PGDN, KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/dztech/dz96/keymaps/default/keymap.c b/keyboards/dztech/dz96/keymaps/default/keymap.c index 17d0c8a36cc9..7596614456ea 100644 --- a/keyboards/dztech/dz96/keymaps/default/keymap.c +++ b/keyboards/dztech/dz96/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_default( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, BL_TOGG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/dztech/dz96/keymaps/iso/keymap.c b/keyboards/dztech/dz96/keymaps/iso/keymap.c index 00c04a6a2c45..b74e7033aa43 100644 --- a/keyboards/dztech/dz96/keymaps/iso/keymap.c +++ b/keyboards/dztech/dz96/keymaps/iso/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_iso( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, BL_TOGG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/dztech/dz96/keymaps/via/keymap.c b/keyboards/dztech/dz96/keymaps/via/keymap.c index 698838a53d77..ab2c89b59951 100644 --- a/keyboards/dztech/dz96/keymaps/via/keymap.c +++ b/keyboards/dztech/dz96/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_default( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, BL_TOGG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/e88/keymaps/default/keymap.c b/keyboards/e88/keymaps/default/keymap.c index feb4ecaca96b..1d62bb96d5fa 100644 --- a/keyboards/e88/keymaps/default/keymap.c +++ b/keyboards/e88/keymaps/default/keymap.c @@ -28,9 +28,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_PGDN, KC_LCTL, 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_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(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, RESET, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, QK_BOOT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT), [_FN] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/e88/keymaps/via/keymap.c b/keyboards/e88/keymaps/via/keymap.c index 92fce603cdb2..572c61679224 100644 --- a/keyboards/e88/keymaps/via/keymap.c +++ b/keyboards/e88/keymaps/via/keymap.c @@ -24,11 +24,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_PGDN, KC_LCTL, 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_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, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_TRNS, KC_RALT, RESET, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_TRNS, KC_RALT, QK_BOOT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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_VOLD, KC_MUTE, KC_VOLU, 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_MPRV, KC_MPLY, KC_MNXT, 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,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [2] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [3] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/ealdin/quadrant/keymaps/default/keymap.c b/keyboards/ealdin/quadrant/keymaps/default/keymap.c index 19a6e0e9aeac..8461e31981c2 100644 --- a/keyboards/ealdin/quadrant/keymaps/default/keymap.c +++ b/keyboards/ealdin/quadrant/keymaps/default/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLCK + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLCK ), [2] = LAYOUT_ortho_5x14( diff --git a/keyboards/ealdin/quadrant/keymaps/via/keymap.c b/keyboards/ealdin/quadrant/keymaps/via/keymap.c index 3026ffbbeb4e..97c2ab36d034 100644 --- a/keyboards/ealdin/quadrant/keymaps/via/keymap.c +++ b/keyboards/ealdin/quadrant/keymaps/via/keymap.c @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_BSLS, 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_PAUS, 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_INS, - RESET, 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_SLCK + QK_BOOT, 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_SLCK ), [2] = LAYOUT_ortho_5x14( diff --git a/keyboards/eason/capsule65/keymaps/default/keymap.c b/keyboards/eason/capsule65/keymaps/default/keymap.c index 3f3baafe7288..856faf6bccfd 100644 --- a/keyboards/eason/capsule65/keymaps/default/keymap.c +++ b/keyboards/eason/capsule65/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, 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, RGB_VAI, KC_TRNS, diff --git a/keyboards/eason/capsule65/keymaps/via/keymap.c b/keyboards/eason/capsule65/keymaps/via/keymap.c index 551ccd3e0ffa..32728c5ca30f 100644 --- a/keyboards/eason/capsule65/keymaps/via/keymap.c +++ b/keyboards/eason/capsule65/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, 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, RGB_VAI, KC_TRNS, @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c b/keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c index d8c980f47143..1769b042a8bd 100644 --- a/keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c +++ b/keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_iso( /* keymap for layer 2 */ 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, 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, RESET, + 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, diff --git a/keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c b/keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c index 0b83408beb25..b84cdc5af0dc 100644 --- a/keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c +++ b/keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_iso( /* keymap for layer 2 */ 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, 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, RESET, + 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, diff --git a/keyboards/eco/keymaps/default/keymap.c b/keyboards/eco/keymaps/default/keymap.c index 58951ce32a52..8867e11124fb 100644 --- a/keyboards/eco/keymaps/default/keymap.c +++ b/keyboards/eco/keymaps/default/keymap.c @@ -49,14 +49,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | RESET| + * | | | | | | | | | | | | | | QK_BOOT| * `-------------------------------------------------------------------------------------------------' */ [_FN1] = LAYOUT( _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, _______, CALTDEL, 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 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), /* Raise diff --git a/keyboards/edda/keymaps/default/keymap.c b/keyboards/edda/keymaps/default/keymap.c index d935a74826b6..df21c4ce21fb 100644 --- a/keyboards/edda/keymaps/default/keymap.c +++ b/keyboards/edda/keymaps/default/keymap.c @@ -35,6 +35,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_MOD, _______, _______, KC_UP, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, _______, _______, _______, _______, RGB_RMOD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c b/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c index 251b6c8b38fe..adbbbb772cbd 100644 --- a/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c +++ b/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c @@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_SET] = LAYOUT_ortho_4x16( _______, KC_CAPS, KC_SLCK, KC_NLCK, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_M_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_SW, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, _______, RESET, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c b/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c index 6683e647d32d..fc14d26cdb2e 100644 --- a/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c +++ b/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c @@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_SET] = LAYOUT_ortho_4x16( _______, KC_CAPS, KC_SLCK, KC_NLCK, VLK_TOG, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_SW,_______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, _______, RESET, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/edi/standaside/keymaps/default/keymap.c b/keyboards/edi/standaside/keymaps/default/keymap.c index 0f13cb763296..575994e055d3 100644 --- a/keyboards/edi/standaside/keymaps/default/keymap.c +++ b/keyboards/edi/standaside/keymaps/default/keymap.c @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_LOWER] = LAYOUT_ortho_4x16( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, RGB_TOG, RGB_MOD, RESET, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, RGB_TOG, RGB_MOD, QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, RGB_M_P, RGB_M_R, RGB_M_K diff --git a/keyboards/eek/keymaps/default/keymap.c b/keyboards/eek/keymaps/default/keymap.c index ad8f9688abaa..0d9b2fe13725 100644 --- a/keyboards/eek/keymaps/default/keymap.c +++ b/keyboards/eek/keymaps/default/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_3x5_3( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, _______, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, - _______, _______, _______, _______, _______, RESET, KC_F1, KC_F2, KC_F3, KC_F4, + _______, _______, _______, _______, _______, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/ein_60/keymaps/default/keymap.c b/keyboards/ein_60/keymaps/default/keymap.c index 24a705106c24..038e8ce19afd 100644 --- a/keyboards/ein_60/keymaps/default/keymap.c +++ b/keyboards/ein_60/keymaps/default/keymap.c @@ -88,14 +88,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | | | | | | | | | | | |BLSTEP| * |------+------+------|--------------------+ ,------. +--------------------|------+------+------| - * | | | | | | | | | | | | | | | RESET| + * | | | | | | | | | | | | | | | QK_BOOT| * `-----------------------------------------' `------' `-----------------------------------------' */ [_ADJUST] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, RGBRST, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), /* Function * ,-----------------------------------------. ,------. ,-----------------------------------------. diff --git a/keyboards/emajesty/eiri/keymaps/default/keymap.c b/keyboards/emajesty/eiri/keymaps/default/keymap.c index e52a83c81cec..c3db9e1b4690 100644 --- a/keyboards/emajesty/eiri/keymaps/default/keymap.c +++ b/keyboards/emajesty/eiri/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [2] = LAYOUT( - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) diff --git a/keyboards/emi20/keymaps/default/keymap.c b/keyboards/emi20/keymaps/default/keymap.c index b0400108fa9e..e92bd61cb786 100644 --- a/keyboards/emi20/keymaps/default/keymap.c +++ b/keyboards/emi20/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_5x4( //Layer 2 KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, RESET, + KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NLCK, KC_NO, KC_NO), diff --git a/keyboards/ep/40/keymaps/default/keymap.c b/keyboards/ep/40/keymaps/default/keymap.c index 38d0e62287c9..1c62bbed6d7f 100644 --- a/keyboards/ep/40/keymaps/default/keymap.c +++ b/keyboards/ep/40/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_QUOT, KC_NUHS, KC_TRNS, KC_TRNS, KC_NUBS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT ), }; diff --git a/keyboards/epoch80/keymaps/default/keymap.c b/keyboards/epoch80/keymaps/default/keymap.c index 76ac04d1b533..af1fb4600bae 100644 --- a/keyboards/epoch80/keymaps/default/keymap.c +++ b/keyboards/epoch80/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi( 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, BL_TOGG, BL_DEC, BL_INC, 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, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/epoch80/keymaps/iso/keymap.c b/keyboards/epoch80/keymaps/iso/keymap.c index dcf43d76e1a3..842551ac8d63 100644 --- a/keyboards/epoch80/keymaps/iso/keymap.c +++ b/keyboards/epoch80/keymaps/iso/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_iso( 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, BL_TOGG, BL_DEC, BL_INC, 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, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/epoch80/keymaps/tsangan/keymap.c b/keyboards/epoch80/keymaps/tsangan/keymap.c index a0595a0d77f8..f062e087eec9 100644 --- a/keyboards/epoch80/keymaps/tsangan/keymap.c +++ b/keyboards/epoch80/keymaps/tsangan/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi_tsangan( 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, BL_TOGG, BL_DEC, BL_INC, 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, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/epoch80/keymaps/via/keymap.c b/keyboards/epoch80/keymaps/via/keymap.c index cf2aeb3ca9f4..29876b585fa9 100644 --- a/keyboards/epoch80/keymaps/via/keymap.c +++ b/keyboards/epoch80/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_all( 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, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_all( 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, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/epoch80/keymaps/wkl/keymap.c b/keyboards/epoch80/keymaps/wkl/keymap.c index 30b7126908d3..7b9ee77f6d21 100644 --- a/keyboards/epoch80/keymaps/wkl/keymap.c +++ b/keyboards/epoch80/keymaps/wkl/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi_wkl( 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, BL_TOGG, BL_DEC, BL_INC, 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, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS diff --git a/keyboards/ergoslab/keymaps/default/keymap.c b/keyboards/ergoslab/keymaps/default/keymap.c index a9bf27924601..59415618a85e 100644 --- a/keyboards/ergoslab/keymaps/default/keymap.c +++ b/keyboards/ergoslab/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, KC_F11, KC_F12, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, KC_MUTE, - _______, RESET, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/ergotravel/keymaps/default/keymap.c b/keyboards/ergotravel/keymaps/default/keymap.c index 728519d277e1..7c96296a16bf 100644 --- a/keyboards/ergotravel/keymaps/default/keymap.c +++ b/keyboards/ergotravel/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, CALTDEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/esca/getawayvan/keymaps/default/keymap.c b/keyboards/esca/getawayvan/keymaps/default/keymap.c index 98c10322ef2d..4c213a5225fd 100644 --- a/keyboards/esca/getawayvan/keymaps/default/keymap.c +++ b/keyboards/esca/getawayvan/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ), [3] = LAYOUT( /* LAYER 3 */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_F11, KC_F12, 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, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/esca/getawayvan/keymaps/via/keymap.c b/keyboards/esca/getawayvan/keymaps/via/keymap.c index 8cc90b2299e0..55c60a925692 100644 --- a/keyboards/esca/getawayvan/keymaps/via/keymap.c +++ b/keyboards/esca/getawayvan/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ), [3] = LAYOUT( /* LAYER 3 */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_F11, KC_F12, 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, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/esca/getawayvan_f042/keymaps/default/keymap.c b/keyboards/esca/getawayvan_f042/keymaps/default/keymap.c index 8cc90b2299e0..55c60a925692 100644 --- a/keyboards/esca/getawayvan_f042/keymaps/default/keymap.c +++ b/keyboards/esca/getawayvan_f042/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ), [3] = LAYOUT( /* LAYER 3 */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_F11, KC_F12, 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, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/eternal_keypad/keymaps/default/keymap.c b/keyboards/eternal_keypad/keymaps/default/keymap.c index dc2f60319f9b..f4d06bc1ff7f 100644 --- a/keyboards/eternal_keypad/keymaps/default/keymap.c +++ b/keyboards/eternal_keypad/keymaps/default/keymap.c @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______ ), /* Function Layer * ,-------------------------------------. diff --git a/keyboards/eternal_keypad/keymaps/via/keymap.c b/keyboards/eternal_keypad/keymaps/via/keymap.c index 725cc1224037..f5b2796aac49 100644 --- a/keyboards/eternal_keypad/keymaps/via/keymap.c +++ b/keyboards/eternal_keypad/keymaps/via/keymap.c @@ -102,6 +102,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/eve/meteor/keymaps/default/keymap.c b/keyboards/eve/meteor/keymaps/default/keymap.c index d9638e3e84f9..598421ddf4f7 100644 --- a/keyboards/eve/meteor/keymaps/default/keymap.c +++ b/keyboards/eve/meteor/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RESET, 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, + QK_BOOT, 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, 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, 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 diff --git a/keyboards/eve/meteor/keymaps/via/keymap.c b/keyboards/eve/meteor/keymaps/via/keymap.c index 28a3b5cb9d10..aefb5b7a96e6 100644 --- a/keyboards/eve/meteor/keymaps/via/keymap.c +++ b/keyboards/eve/meteor/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, 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, - RESET, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/evyd13/atom47/keymaps/default/keymap.c b/keyboards/evyd13/atom47/keymaps/default/keymap.c index a7fbdda31d84..28107106b5fb 100644 --- a/keyboards/evyd13/atom47/keymaps/default/keymap.c +++ b/keyboards/evyd13/atom47/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, MO(_PN), KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_APP, KC_RCTRL), [_FN] = LAYOUT_split_space( - _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, + _______, KC_VOLD, KC_VOLU, KC_MUTE, QK_BOOT, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -50,5 +50,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), + _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT), }; diff --git a/keyboards/evyd13/atom47/keymaps/via/keymap.c b/keyboards/evyd13/atom47/keymaps/via/keymap.c index 686a4d3dbe80..19d1f8f9c5c0 100644 --- a/keyboards/evyd13/atom47/keymaps/via/keymap.c +++ b/keyboards/evyd13/atom47/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, MO(3), KC_SPC, KC_SPC, MO(1), KC_RALT, KC_APP, KC_RCTRL), [1] = LAYOUT_split_space( - _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, + _______, KC_VOLD, KC_VOLU, KC_MUTE, QK_BOOT, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), @@ -40,5 +40,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), + _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT), }; diff --git a/keyboards/evyd13/eon40/keymaps/default/keymap.c b/keyboards/evyd13/eon40/keymaps/default/keymap.c index 2cfb5744cd5d..a0e0cb6d8aff 100644 --- a/keyboards/evyd13/eon40/keymaps/default/keymap.c +++ b/keyboards/evyd13/eon40/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT), [_HI] = LAYOUT_ortho_4x12( _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, diff --git a/keyboards/evyd13/eon40/keymaps/via/keymap.c b/keyboards/evyd13/eon40/keymaps/via/keymap.c index 3af6d609a032..f4831fa7a555 100644 --- a/keyboards/evyd13/eon40/keymaps/via/keymap.c +++ b/keyboards/evyd13/eon40/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT), [2] = LAYOUT_ortho_4x12( _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, diff --git a/keyboards/evyd13/eon65/keymaps/default/keymap.c b/keyboards/evyd13/eon65/keymaps/default/keymap.c index d7fc26de076a..8ee89afd7bb0 100644 --- a/keyboards/evyd13/eon65/keymaps/default/keymap.c +++ b/keyboards/evyd13/eon65/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/eon65/keymaps/via/keymap.c b/keyboards/evyd13/eon65/keymaps/via/keymap.c index d341f10406d9..19d97a059a0e 100644 --- a/keyboards/evyd13/eon65/keymaps/via/keymap.c +++ b/keyboards/evyd13/eon65/keymaps/via/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/eon75/keymaps/default/keymap.c b/keyboards/evyd13/eon75/keymaps/default/keymap.c index 535393cd9070..f6b2641b24ad 100644 --- a/keyboards/evyd13/eon75/keymaps/default/keymap.c +++ b/keyboards/evyd13/eon75/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/eon75/keymaps/via/keymap.c b/keyboards/evyd13/eon75/keymaps/via/keymap.c index 106ee970d956..1b30f1b87d93 100644 --- a/keyboards/evyd13/eon75/keymaps/via/keymap.c +++ b/keyboards/evyd13/eon75/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/eon95/keymaps/default/keymap.c b/keyboards/evyd13/eon95/keymaps/default/keymap.c index 1d61ca55efff..1ed71b0d7df4 100644 --- a/keyboards/evyd13/eon95/keymaps/default/keymap.c +++ b/keyboards/evyd13/eon95/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_P1, KC_P2, KC_P3, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/eon95/keymaps/via/keymap.c b/keyboards/evyd13/eon95/keymaps/via/keymap.c index 5ada354faedd..fce29ecf7d38 100644 --- a/keyboards/evyd13/eon95/keymaps/via/keymap.c +++ b/keyboards/evyd13/eon95/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_P1, KC_P2, KC_P3, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/gud70/keymaps/default/keymap.c b/keyboards/evyd13/gud70/keymaps/default/keymap.c index c1ec59573f1f..d9b1bdc59858 100644 --- a/keyboards/evyd13/gud70/keymaps/default/keymap.c +++ b/keyboards/evyd13/gud70/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/gud70/keymaps/via/keymap.c b/keyboards/evyd13/gud70/keymaps/via/keymap.c index 5fea39ebe01c..af25a00574b3 100644 --- a/keyboards/evyd13/gud70/keymaps/via/keymap.c +++ b/keyboards/evyd13/gud70/keymaps/via/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/minitomic/keymaps/default/keymap.c b/keyboards/evyd13/minitomic/keymaps/default/keymap.c index 5315026b916f..fd5f55a96c81 100644 --- a/keyboards/evyd13/minitomic/keymaps/default/keymap.c +++ b/keyboards/evyd13/minitomic/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), + _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT), [_HI] = LAYOUT_split_space( _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, diff --git a/keyboards/evyd13/mx5160/keymaps/default/keymap.c b/keyboards/evyd13/mx5160/keymaps/default/keymap.c index e60d5302d6c1..f10f673b68c0 100644 --- a/keyboards/evyd13/mx5160/keymaps/default/keymap.c +++ b/keyboards/evyd13/mx5160/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_P0, _______, KC_PDOT, KC_PENT), [_FN] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_PSCR, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/plain60/keymaps/default/keymap.c b/keyboards/evyd13/plain60/keymaps/default/keymap.c index 185355e9cc69..6bb33da66135 100644 --- a/keyboards/evyd13/plain60/keymaps/default/keymap.c +++ b/keyboards/evyd13/plain60/keymaps/default/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) diff --git a/keyboards/evyd13/pockettype/keymaps/default/keymap.c b/keyboards/evyd13/pockettype/keymaps/default/keymap.c index 5ca7326c0020..c68e371f20e9 100644 --- a/keyboards/evyd13/pockettype/keymaps/default/keymap.c +++ b/keyboards/evyd13/pockettype/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT), [_HI] = LAYOUT_ortho_4x12( _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, diff --git a/keyboards/evyd13/quackfire/keymaps/default/keymap.c b/keyboards/evyd13/quackfire/keymaps/default/keymap.c index 9d842596599a..e625ab99e382 100644 --- a/keyboards/evyd13/quackfire/keymaps/default/keymap.c +++ b/keyboards/evyd13/quackfire/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), LAYOUT_tkl_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, diff --git a/keyboards/evyd13/quackfire/keymaps/via/keymap.c b/keyboards/evyd13/quackfire/keymaps/via/keymap.c index 623e8fdc2dc4..a1c541b69b3f 100644 --- a/keyboards/evyd13/quackfire/keymaps/via/keymap.c +++ b/keyboards/evyd13/quackfire/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, diff --git a/keyboards/evyd13/solheim68/keymaps/default/keymap.c b/keyboards/evyd13/solheim68/keymaps/default/keymap.c index 728e8019a2c3..57901ed50045 100644 --- a/keyboards/evyd13/solheim68/keymaps/default/keymap.c +++ b/keyboards/evyd13/solheim68/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_PSCR, KC_PGUP, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_PSCR, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, diff --git a/keyboards/evyd13/ta65/keymaps/default/keymap.c b/keyboards/evyd13/ta65/keymaps/default/keymap.c index 5791f940572e..8a1e6542df79 100644 --- a/keyboards/evyd13/ta65/keymaps/default/keymap.c +++ b/keyboards/evyd13/ta65/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/wasdat/keymaps/via/keymap.c b/keyboards/evyd13/wasdat/keymaps/via/keymap.c index 4195194507f0..f052de7d39e8 100644 --- a/keyboards/evyd13/wasdat/keymaps/via/keymap.c +++ b/keyboards/evyd13/wasdat/keymaps/via/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ */ LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c b/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c index 2a375ff028a6..4c95da563c8d 100644 --- a/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c +++ b/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), LAYOUT_fullsize_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, _______, _______, _______, _______, diff --git a/keyboards/evyd13/wasdat_code/keymaps/via/keymap.c b/keyboards/evyd13/wasdat_code/keymaps/via/keymap.c index 35445812bd3b..f632ab7fce2c 100644 --- a/keyboards/evyd13/wasdat_code/keymaps/via/keymap.c +++ b/keyboards/evyd13/wasdat_code/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, _______, _______, _______, _______, diff --git a/keyboards/evyd13/wonderland/keymaps/default/keymap.c b/keyboards/evyd13/wonderland/keymaps/default/keymap.c index 7109993bcb84..5bdd7892c09a 100644 --- a/keyboards/evyd13/wonderland/keymaps/default/keymap.c +++ b/keyboards/evyd13/wonderland/keymaps/default/keymap.c @@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LAPO, KC_BSPC, KC_LGUI, KC_SPC, KC_RAPC, KC_RCTRL ), [_FUNC] = LAYOUT( - RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, RESET, + RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, QK_BOOT, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, diff --git a/keyboards/evyd13/wonderland/keymaps/via/keymap.c b/keyboards/evyd13/wonderland/keymaps/via/keymap.c index 85fde41a25c0..e2cb7be3ab17 100644 --- a/keyboards/evyd13/wonderland/keymaps/via/keymap.c +++ b/keyboards/evyd13/wonderland/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LAPO, KC_BSPC, KC_LGUI, KC_SPC, KC_RAPC, KC_RCTL ), [1] = LAYOUT( - RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, RESET, + RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, QK_BOOT, RGB_MOD, 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, RGB_RMOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, _______, diff --git a/keyboards/exclusive/e65/keymaps/default/keymap.c b/keyboards/exclusive/e65/keymaps/default/keymap.c index 34fcb75d254d..36c1d62d1e0c 100644 --- a/keyboards/exclusive/e65/keymaps/default/keymap.c +++ b/keyboards/exclusive/e65/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_65_ansi_noblocker( - 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, KC_DEL, RESET, + 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, KC_DEL, QK_BOOT, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,_______, diff --git a/keyboards/exclusive/e65/keymaps/default_iso/keymap.c b/keyboards/exclusive/e65/keymaps/default_iso/keymap.c index 815d6af54559..b907fa3f7a5d 100644 --- a/keyboards/exclusive/e65/keymaps/default_iso/keymap.c +++ b/keyboards/exclusive/e65/keymaps/default_iso/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_65_iso_noblocker( - 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, KC_DEL, RESET, + 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, KC_DEL, QK_BOOT, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,_______, _______, diff --git a/keyboards/exclusive/e65/keymaps/via/keymap.c b/keyboards/exclusive/e65/keymaps/via/keymap.c index d95106e63334..d06035cc33ec 100644 --- a/keyboards/exclusive/e65/keymaps/via/keymap.c +++ b/keyboards/exclusive/e65/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_TRNS, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - 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, KC_DEL, KC_NO, RESET, + 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, KC_DEL, KC_NO, QK_BOOT, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, 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, RGB_VAI, KC_TRNS, diff --git a/keyboards/exclusive/e6_rgb/keymaps/default/keymap.c b/keyboards/exclusive/e6_rgb/keymaps/default/keymap.c index f19c72c8af8a..0633b84c83df 100644 --- a/keyboards/exclusive/e6_rgb/keymaps/default/keymap.c +++ b/keyboards/exclusive/e6_rgb/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi( KC_ESC, 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, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/exclusive/e6_rgb/keymaps/via/keymap.c b/keyboards/exclusive/e6_rgb/keymaps/via/keymap.c index a441c445576f..90ff3e344388 100644 --- a/keyboards/exclusive/e6_rgb/keymaps/via/keymap.c +++ b/keyboards/exclusive/e6_rgb/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi_split_bs_rshift( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR, - RESET, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, + QK_BOOT, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/exclusive/e6v2/le_bmc/keymaps/default/keymap.c b/keyboards/exclusive/e6v2/le_bmc/keymaps/default/keymap.c index 26a4f9109d99..2029abbcee31 100644 --- a/keyboards/exclusive/e6v2/le_bmc/keymaps/default/keymap.c +++ b/keyboards/exclusive/e6v2/le_bmc/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi( 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, KC_DEL, - BL_TOGG, BL_INC, BL_DEC, BL_STEP, RESET, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + BL_TOGG, BL_INC, BL_DEC, BL_STEP, QK_BOOT, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/exclusive/e6v2/le_bmc/keymaps/via/keymap.c b/keyboards/exclusive/e6v2/le_bmc/keymaps/via/keymap.c index 4b9ba19d9596..5307b030e64c 100644 --- a/keyboards/exclusive/e6v2/le_bmc/keymaps/via/keymap.c +++ b/keyboards/exclusive/e6v2/le_bmc/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi( 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, KC_DEL, - BL_TOGG, BL_INC, BL_DEC, BL_STEP, RESET, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + BL_TOGG, BL_INC, BL_DEC, BL_STEP, QK_BOOT, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/exclusive/e6v2/oe/keymaps/default/keymap.c b/keyboards/exclusive/e6v2/oe/keymaps/default/keymap.c index 945787f0dc43..016c3737d233 100644 --- a/keyboards/exclusive/e6v2/oe/keymaps/default/keymap.c +++ b/keyboards/exclusive/e6v2/oe/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi( 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, KC_DEL, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/exclusive/e6v2/oe_bmc/keymaps/default/keymap.c b/keyboards/exclusive/e6v2/oe_bmc/keymaps/default/keymap.c index 26a4f9109d99..2029abbcee31 100644 --- a/keyboards/exclusive/e6v2/oe_bmc/keymaps/default/keymap.c +++ b/keyboards/exclusive/e6v2/oe_bmc/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi( 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, KC_DEL, - BL_TOGG, BL_INC, BL_DEC, BL_STEP, RESET, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + BL_TOGG, BL_INC, BL_DEC, BL_STEP, QK_BOOT, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/exclusive/e6v2/oe_bmc/keymaps/via/keymap.c b/keyboards/exclusive/e6v2/oe_bmc/keymaps/via/keymap.c index 5e84a478e571..08bf9d7f83c4 100644 --- a/keyboards/exclusive/e6v2/oe_bmc/keymaps/via/keymap.c +++ b/keyboards/exclusive/e6v2/oe_bmc/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi( 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, KC_DEL, - BL_TOGG, BL_INC, BL_DEC, BL_STEP, RESET, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + BL_TOGG, BL_INC, BL_DEC, BL_STEP, QK_BOOT, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/exclusive/e7v1/keymaps/default/keymap.c b/keyboards/exclusive/e7v1/keymaps/default/keymap.c index 189c01eca294..6b5e1fc5856b 100644 --- a/keyboards/exclusive/e7v1/keymaps/default/keymap.c +++ b/keyboards/exclusive/e7v1/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_75_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/exclusive/e7v1/keymaps/via/keymap.c b/keyboards/exclusive/e7v1/keymaps/via/keymap.c index 2f2f9dcc4a7d..0f382eb04dbc 100644 --- a/keyboards/exclusive/e7v1/keymaps/via/keymap.c +++ b/keyboards/exclusive/e7v1/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_75_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/exclusive/e7v1se/keymaps/default/keymap.c b/keyboards/exclusive/e7v1se/keymaps/default/keymap.c index 376b4c950982..8eec4ca7c9a5 100644 --- a/keyboards/exclusive/e7v1se/keymaps/default/keymap.c +++ b/keyboards/exclusive/e7v1se/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/exclusive/e85/hotswap/keymaps/default/keymap.c b/keyboards/exclusive/e85/hotswap/keymaps/default/keymap.c index 80f8e0eeb4b4..642c38113853 100644 --- a/keyboards/exclusive/e85/hotswap/keymaps/default/keymap.c +++ b/keyboards/exclusive/e85/hotswap/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi_tsangan( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/exclusive/e85/hotswap/keymaps/tsangan/keymap.c b/keyboards/exclusive/e85/hotswap/keymaps/tsangan/keymap.c index 80f8e0eeb4b4..642c38113853 100644 --- a/keyboards/exclusive/e85/hotswap/keymaps/tsangan/keymap.c +++ b/keyboards/exclusive/e85/hotswap/keymaps/tsangan/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi_tsangan( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/exclusive/e85/hotswap/keymaps/via/keymap.c b/keyboards/exclusive/e85/hotswap/keymaps/via/keymap.c index c55c35ce192f..9892fc1c03a5 100644 --- a/keyboards/exclusive/e85/hotswap/keymaps/via/keymap.c +++ b/keyboards/exclusive/e85/hotswap/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi_tsangan( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/exclusive/e85/soldered/keymaps/default/keymap.c b/keyboards/exclusive/e85/soldered/keymaps/default/keymap.c index 80f8e0eeb4b4..642c38113853 100644 --- a/keyboards/exclusive/e85/soldered/keymaps/default/keymap.c +++ b/keyboards/exclusive/e85/soldered/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi_tsangan( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/exclusive/e85/soldered/keymaps/via/keymap.c b/keyboards/exclusive/e85/soldered/keymaps/via/keymap.c index c55c35ce192f..9892fc1c03a5 100644 --- a/keyboards/exclusive/e85/soldered/keymaps/via/keymap.c +++ b/keyboards/exclusive/e85/soldered/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi_tsangan( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/exent/keymaps/default/keymap.c b/keyboards/exent/keymaps/default/keymap.c index 0a018c77c171..299a3de6dd99 100644 --- a/keyboards/exent/keymaps/default/keymap.c +++ b/keyboards/exent/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi( 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, KC_DEL, _______, - BL_TOGG, BL_STEP, BL_INC, BL_DEC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_INC, BL_DEC, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/exent/keymaps/via/keymap.c b/keyboards/exent/keymaps/via/keymap.c index 6b36e43bd944..866cf2a01966 100644 --- a/keyboards/exent/keymaps/via/keymap.c +++ b/keyboards/exent/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi( 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, KC_DEL, _______, - BL_TOGG, BL_STEP, BL_INC, BL_DEC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_INC, BL_DEC, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c index 004a47678df9..6e67a9420ed2 100644 --- a/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c +++ b/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c @@ -31,9 +31,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FUNCTN] = LAYOUT_2u( KC_VOLU, KC_Q, KC_PGUP, RGB_TOG, BL_STEP, KC_T, KC_Y, KC_U, KC_UP, RGB_MOD, RGB_RMOD, KC_DEL, - KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, RESET, + KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, QK_BOOT, KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LBRC, KC_RBRC, RGB_VAI, RGB_VAD, KC_DOT, KC_BSLS, KC_RSFT, - KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, RESET + KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, QK_BOOT ), [_NUMBRS] = LAYOUT_2u( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, diff --git a/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c index b0f7be00accf..3ea5b4159416 100644 --- a/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c +++ b/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FUNCTN] = LAYOUT_ac5(/* Base */ - RESET, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/default/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/default/keymap.c index bda0c900d0dd..be203959c005 100644 --- a/keyboards/eyeohdesigns/theboulevard/keymaps/default/keymap.c +++ b/keyboards/eyeohdesigns/theboulevard/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FUNCTN] = LAYOUT_ortho1( - RESET, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, + QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC, KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_SCLN, KC_ENT, KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, KC_BSLS, KC_RSFT, diff --git a/keyboards/facew/keymaps/default/keymap.c b/keyboards/facew/keymaps/default/keymap.c index 6e91fba238b8..d1470814c864 100644 --- a/keyboards/facew/keymaps/default/keymap.c +++ b/keyboards/facew/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [2] = LAYOUT_all( - 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, RESET, + 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, QK_BOOT, 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, MO(1), 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/fallacy/keymaps/default/keymap.c b/keyboards/fallacy/keymaps/default/keymap.c index 45afc45425cd..27a37ca8dfa8 100755 --- a/keyboards/fallacy/keymaps/default/keymap.c +++ b/keyboards/fallacy/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL), [1] = LAYOUT_alice( - KC_TRNS, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F11, KC_F12, 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, 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, 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, diff --git a/keyboards/fallacy/keymaps/default_split_bs/keymap.c b/keyboards/fallacy/keymaps/default_split_bs/keymap.c index 957e876c4bb6..e336cbed9e04 100755 --- a/keyboards/fallacy/keymaps/default_split_bs/keymap.c +++ b/keyboards/fallacy/keymaps/default_split_bs/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL), [1] = LAYOUT_all( - KC_TRNS, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, 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, diff --git a/keyboards/fallacy/keymaps/via/keymap.c b/keyboards/fallacy/keymaps/via/keymap.c index d6a7b0744d96..41279f88c7db 100755 --- a/keyboards/fallacy/keymaps/via/keymap.c +++ b/keyboards/fallacy/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL), [1] = LAYOUT_all( - KC_TRNS, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, 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, diff --git a/keyboards/fc660c/keymaps/default_rgb/keymap.c b/keyboards/fc660c/keymaps/default_rgb/keymap.c index 677797e39bc9..446c092c8762 100644 --- a/keyboards/fc660c/keymaps/default_rgb/keymap.c +++ b/keyboards/fc660c/keymaps/default_rgb/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______, _______, _______,MO(2), _______, KC_HOME,KC_PGDN,KC_END ), [2] = LAYOUT( - RESET, EEPROM_RESET,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_TOG, + QK_BOOT, EEPROM_RESET,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_TOG, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_MOD, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAI, diff --git a/keyboards/feels/feels65/keymaps/default/keymap.c b/keyboards/feels/feels65/keymaps/default/keymap.c index d767872ffff7..a54e904dde5f 100644 --- a/keyboards/feels/feels65/keymaps/default/keymap.c +++ b/keyboards/feels/feels65/keymaps/default/keymap.c @@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, - RESET, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + QK_BOOT, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ), }; diff --git a/keyboards/feels/feels65/keymaps/via/keymap.c b/keyboards/feels/feels65/keymaps/via/keymap.c index a325a8410432..b740afb9c5ce 100644 --- a/keyboards/feels/feels65/keymaps/via/keymap.c +++ b/keyboards/feels/feels65/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, - RESET, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + QK_BOOT, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ), [2] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ferris/keymaps/via/keymap.c b/keyboards/ferris/keymaps/via/keymap.c index b1ccd84fee71..af014a9ca898 100644 --- a/keyboards/ferris/keymaps/via/keymap.c +++ b/keyboards/ferris/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/fjlabs/ad65/keymaps/default/keymap.c b/keyboards/fjlabs/ad65/keymaps/default/keymap.c index e7e22b147636..48d86d3edf51 100644 --- a/keyboards/fjlabs/ad65/keymaps/default/keymap.c +++ b/keyboards/fjlabs/ad65/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_BSPC, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, 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_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/fjlabs/ad65/keymaps/via/keymap.c b/keyboards/fjlabs/ad65/keymaps/via/keymap.c index 1e91ac327e7f..d3385a81cebe 100644 --- a/keyboards/fjlabs/ad65/keymaps/via/keymap.c +++ b/keyboards/fjlabs/ad65/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_BSPC, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, 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_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/fjlabs/bks65/keymaps/default/keymap.c b/keyboards/fjlabs/bks65/keymaps/default/keymap.c index 8d2c13f3b0d3..76cdcca6dbef 100644 --- a/keyboards/fjlabs/bks65/keymaps/default/keymap.c +++ b/keyboards/fjlabs/bks65/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( 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, KC_DEL, KC_HOME, - 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_PAUSE, RESET, KC_PGUP, + 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_PAUSE, QK_BOOT, KC_PGUP, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK diff --git a/keyboards/fjlabs/bks65/keymaps/via/keymap.c b/keyboards/fjlabs/bks65/keymaps/via/keymap.c index 839991f0f08f..39ac00f72e8f 100644 --- a/keyboards/fjlabs/bks65/keymaps/via/keymap.c +++ b/keyboards/fjlabs/bks65/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( 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, KC_DEL, KC_HOME, - 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_PAUSE, RESET, KC_PGUP, + 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_PAUSE, QK_BOOT, KC_PGUP, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK diff --git a/keyboards/fjlabs/bks65solder/keymaps/default/keymap.c b/keyboards/fjlabs/bks65solder/keymaps/default/keymap.c index 2e636cb3d940..f343c13238ad 100644 --- a/keyboards/fjlabs/bks65solder/keymaps/default/keymap.c +++ b/keyboards/fjlabs/bks65solder/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_DEL, KC_TRNS, KC_HOME, - 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, + 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, QK_BOOT, KC_PGUP, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/fjlabs/bks65solder/keymaps/via/keymap.c b/keyboards/fjlabs/bks65solder/keymaps/via/keymap.c index 218c0265a5fb..0dfc29af5789 100644 --- a/keyboards/fjlabs/bks65solder/keymaps/via/keymap.c +++ b/keyboards/fjlabs/bks65solder/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LAYER1] = LAYOUT_all( 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, KC_DEL, KC_TRNS, KC_HOME, - 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, + 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, QK_BOOT, KC_PGUP, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/fjlabs/kyuu/keymaps/default/keymap.c b/keyboards/fjlabs/kyuu/keymaps/default/keymap.c index 2e671423b5b0..6a992d7079d5 100644 --- a/keyboards/fjlabs/kyuu/keymaps/default/keymap.c +++ b/keyboards/fjlabs/kyuu/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi_blocker_badge( 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, KC_DEL, KC_HOME, - 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_PAUSE, RESET, KC_PGUP, + 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_PAUSE, QK_BOOT, KC_PGUP, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK diff --git a/keyboards/fjlabs/kyuu/keymaps/via/keymap.c b/keyboards/fjlabs/kyuu/keymaps/via/keymap.c index 2a97513b380c..93595800a60a 100644 --- a/keyboards/fjlabs/kyuu/keymaps/via/keymap.c +++ b/keyboards/fjlabs/kyuu/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi_blocker_badge( 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, KC_DEL, KC_HOME, - 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_PAUSE, RESET, KC_PGUP, + 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_PAUSE, QK_BOOT, KC_PGUP, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK diff --git a/keyboards/fjlabs/ldk65/keymaps/default/keymap.c b/keyboards/fjlabs/ldk65/keymaps/default/keymap.c index 8d2c13f3b0d3..76cdcca6dbef 100644 --- a/keyboards/fjlabs/ldk65/keymaps/default/keymap.c +++ b/keyboards/fjlabs/ldk65/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( 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, KC_DEL, KC_HOME, - 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_PAUSE, RESET, KC_PGUP, + 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_PAUSE, QK_BOOT, KC_PGUP, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK diff --git a/keyboards/fjlabs/ldk65/keymaps/via/keymap.c b/keyboards/fjlabs/ldk65/keymaps/via/keymap.c index 839991f0f08f..39ac00f72e8f 100644 --- a/keyboards/fjlabs/ldk65/keymaps/via/keymap.c +++ b/keyboards/fjlabs/ldk65/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( 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, KC_DEL, KC_HOME, - 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_PAUSE, RESET, KC_PGUP, + 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_PAUSE, QK_BOOT, KC_PGUP, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK diff --git a/keyboards/fjlabs/midway60/keymaps/default/keymap.c b/keyboards/fjlabs/midway60/keymaps/default/keymap.c index 47545e925a9c..b815b7b52c5f 100644 --- a/keyboards/fjlabs/midway60/keymaps/default/keymap.c +++ b/keyboards/fjlabs/midway60/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_DEL, KC_TRNS, - 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_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, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, 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 diff --git a/keyboards/fjlabs/midway60/keymaps/via/keymap.c b/keyboards/fjlabs/midway60/keymaps/via/keymap.c index cd83e23a584d..58be322b0217 100644 --- a/keyboards/fjlabs/midway60/keymaps/via/keymap.c +++ b/keyboards/fjlabs/midway60/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_DEL, KC_TRNS, - 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_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, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, 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 diff --git a/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c b/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c index 7873f0e5e5b5..17efef452e62 100644 --- a/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c +++ b/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_60_ansi( 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, KC_DEL, - 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_PAUSE, RESET, + 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_PAUSE, QK_BOOT, KC_TRNS, RGB_SPI, RGB_SPD, 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, NK_TOGG, 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 diff --git a/keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c b/keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c index 2e4dac7fc2de..d067dacf88f2 100644 --- a/keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c +++ b/keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_60_ansi( 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, KC_DEL, - 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_PAUSE, RESET, + 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_PAUSE, QK_BOOT, KC_TRNS, RGB_SPI, RGB_SPD, 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, NK_TOGG, 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 diff --git a/keyboards/fjlabs/polaris/keymaps/default/keymap.c b/keyboards/fjlabs/polaris/keymaps/default/keymap.c index 63db51de27a4..1631d8e611db 100644 --- a/keyboards/fjlabs/polaris/keymaps/default/keymap.c +++ b/keyboards/fjlabs/polaris/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_BSPC, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, 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 diff --git a/keyboards/fjlabs/polaris/keymaps/via/keymap.c b/keyboards/fjlabs/polaris/keymaps/via/keymap.c index f1d6bccfd1e1..16f362f4abae 100644 --- a/keyboards/fjlabs/polaris/keymaps/via/keymap.c +++ b/keyboards/fjlabs/polaris/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_BSPC, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, 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 diff --git a/keyboards/fjlabs/ready100/keymaps/default/keymap.c b/keyboards/fjlabs/ready100/keymaps/default/keymap.c index bd2ad55d39d5..0c2f091639be 100644 --- a/keyboards/fjlabs/ready100/keymaps/default/keymap.c +++ b/keyboards/fjlabs/ready100/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_64_ansi( 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, KC_DEL, - 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_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, QK_BOOT, KC_TRNS, RGB_SPI, RGB_SPD, 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, NK_TOGG, 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 diff --git a/keyboards/fjlabs/ready100/keymaps/via/keymap.c b/keyboards/fjlabs/ready100/keymaps/via/keymap.c index 4ea0c5476609..10a837e6787c 100644 --- a/keyboards/fjlabs/ready100/keymaps/via/keymap.c +++ b/keyboards/fjlabs/ready100/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_64_ansi( 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, KC_DEL, - 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_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, QK_BOOT, KC_TRNS, RGB_SPI, RGB_SPD, 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, NK_TOGG, 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 diff --git a/keyboards/fjlabs/tf60ansi/keymaps/default/keymap.c b/keyboards/fjlabs/tf60ansi/keymaps/default/keymap.c index 7873f0e5e5b5..17efef452e62 100644 --- a/keyboards/fjlabs/tf60ansi/keymaps/default/keymap.c +++ b/keyboards/fjlabs/tf60ansi/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_60_ansi( 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, KC_DEL, - 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_PAUSE, RESET, + 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_PAUSE, QK_BOOT, KC_TRNS, RGB_SPI, RGB_SPD, 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, NK_TOGG, 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 diff --git a/keyboards/fjlabs/tf60ansi/keymaps/via/keymap.c b/keyboards/fjlabs/tf60ansi/keymaps/via/keymap.c index 2e4dac7fc2de..d067dacf88f2 100644 --- a/keyboards/fjlabs/tf60ansi/keymaps/via/keymap.c +++ b/keyboards/fjlabs/tf60ansi/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_60_ansi( 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, KC_DEL, - 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_PAUSE, RESET, + 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_PAUSE, QK_BOOT, KC_TRNS, RGB_SPI, RGB_SPD, 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, NK_TOGG, 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 diff --git a/keyboards/fjlabs/tf60v2/keymaps/default/keymap.c b/keyboards/fjlabs/tf60v2/keymaps/default/keymap.c index a725021a1c46..ce1ac292575f 100644 --- a/keyboards/fjlabs/tf60v2/keymaps/default/keymap.c +++ b/keyboards/fjlabs/tf60v2/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_60_ansi_arrow( 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, KC_DEL, - 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_PAUSE, RESET, + 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_PAUSE, QK_BOOT, KC_TRNS, RGB_SPI, RGB_SPD, 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, NK_TOGG, 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 diff --git a/keyboards/fjlabs/tf60v2/keymaps/via/keymap.c b/keyboards/fjlabs/tf60v2/keymaps/via/keymap.c index 5937f59e2652..a41cbc209326 100644 --- a/keyboards/fjlabs/tf60v2/keymaps/via/keymap.c +++ b/keyboards/fjlabs/tf60v2/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_60_ansi_arrow( 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, KC_DEL, - 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_PAUSE, RESET, + 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_PAUSE, QK_BOOT, KC_TRNS, RGB_SPI, RGB_SPD, 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, NK_TOGG, 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 diff --git a/keyboards/fjlabs/tf65rgbv2/keymaps/default/keymap.c b/keyboards/fjlabs/tf65rgbv2/keymaps/default/keymap.c index 96c2351e89ed..08a608613915 100644 --- a/keyboards/fjlabs/tf65rgbv2/keymaps/default/keymap.c +++ b/keyboards/fjlabs/tf65rgbv2/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( 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, KC_DEL, KC_TRNS, - 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_PAUSE, RESET, KC_TRNS, + 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_PAUSE, QK_BOOT, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, 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, KC_TRNS, NK_TOGG, 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, KC_TRNS diff --git a/keyboards/fjlabs/tf65rgbv2/keymaps/via/keymap.c b/keyboards/fjlabs/tf65rgbv2/keymaps/via/keymap.c index 3e071bd079f8..89576787ffde 100644 --- a/keyboards/fjlabs/tf65rgbv2/keymaps/via/keymap.c +++ b/keyboards/fjlabs/tf65rgbv2/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( 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, KC_DEL, KC_TRNS, - 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_PAUSE, RESET, KC_TRNS, + 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_PAUSE, QK_BOOT, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, 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, KC_TRNS, NK_TOGG, 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, KC_TRNS diff --git a/keyboards/fleuron/keymaps/default/keymap.c b/keyboards/fleuron/keymaps/default/keymap.c index c33f4ea4f822..5d24ba5cb816 100644 --- a/keyboards/fleuron/keymaps/default/keymap.c +++ b/keyboards/fleuron/keymaps/default/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT_ortho_6x16( /* Lower * ,---------------------------------------------------------------------------------------------------------------. - * |RESET | | | | | | | | | | | | | | | | + * |QK_BOOT | | | | | | | | | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |RGBtog| | | | | | | | Home | PgUp | PgDn | End | | | | | * `---------------------------------------------------------------------------------------------------------------' */ - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/flx/virgo/keymaps/default/keymap.c b/keyboards/flx/virgo/keymaps/default/keymap.c index 1384b91db086..4b7cfe60d146 100644 --- a/keyboards/flx/virgo/keymaps/default/keymap.c +++ b/keyboards/flx/virgo/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( 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, 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/flx/virgo/keymaps/via/keymap.c b/keyboards/flx/virgo/keymaps/via/keymap.c index c10f3751ec73..3599952579db 100644 --- a/keyboards/flx/virgo/keymaps/via/keymap.c +++ b/keyboards/flx/virgo/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( 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, 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/flygone60/rev3/keymaps/default/keymap.c b/keyboards/flygone60/rev3/keymaps/default/keymap.c index ab6b2a9f01fe..af47e68c5301 100644 --- a/keyboards/flygone60/rev3/keymaps/default/keymap.c +++ b/keyboards/flygone60/rev3/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_60_ansi_arrow( KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DELETE, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, SHILL, XXXXXXX, FRACNO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NUT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX diff --git a/keyboards/flygone60/rev3/keymaps/via/keymap.c b/keyboards/flygone60/rev3/keymaps/via/keymap.c index 309c8733564c..fa631016fa08 100644 --- a/keyboards/flygone60/rev3/keymaps/via/keymap.c +++ b/keyboards/flygone60/rev3/keymaps/via/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_1] = LAYOUT_60_ansi_arrow( KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DELETE, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, SHILL, XXXXXXX, FRACNO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NUT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX diff --git a/keyboards/for_science/keymaps/default/keymap.c b/keyboards/for_science/keymaps/default/keymap.c index 918f60f4b861..7da986a02929 100644 --- a/keyboards/for_science/keymaps/default/keymap.c +++ b/keyboards/for_science/keymaps/default/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FUNCT] = LAYOUT_split_4x5_3( - RESET, _______, _______, _______, LOCK, MAC_LCK, _______, _______, _______, MAGIC_SWAP_LALT_LGUI, + QK_BOOT, _______, _______, _______, LOCK, MAC_LCK, _______, _______, _______, MAGIC_SWAP_LALT_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/forever65/keymaps/via/keymap.c b/keyboards/forever65/keymaps/via/keymap.c index 3ced93f3e0de..ee4b57e66469 100644 --- a/keyboards/forever65/keymaps/via/keymap.c +++ b/keyboards/forever65/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/fortitude60/keymaps/default/keymap.c b/keyboards/fortitude60/keymaps/default/keymap.c index 0e6d8cc553da..964cee9b958c 100644 --- a/keyboards/fortitude60/keymaps/default/keymap.c +++ b/keyboards/fortitude60/keymaps/default/keymap.c @@ -148,7 +148,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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 , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_BSPC, + _______, QK_BOOT , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_BSPC, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, BL_TOGG, BL_STEP, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/fortitude60/keymaps/via/keymap.c b/keyboards/fortitude60/keymaps/via/keymap.c index 74d4b9fcc9f1..feda619041f6 100644 --- a/keyboards/fortitude60/keymaps/via/keymap.c +++ b/keyboards/fortitude60/keymaps/via/keymap.c @@ -118,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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 , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_BSPC, + _______, QK_BOOT , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_BSPC, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/foxlab/key65/hotswap/keymaps/default/keymap.c b/keyboards/foxlab/key65/hotswap/keymaps/default/keymap.c index 956b7ac2ee4f..486e1178e7cc 100644 --- a/keyboards/foxlab/key65/hotswap/keymaps/default/keymap.c +++ b/keyboards/foxlab/key65/hotswap/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/foxlab/key65/hotswap/keymaps/via/keymap.c b/keyboards/foxlab/key65/hotswap/keymaps/via/keymap.c index 9bc43b766e95..9689e586d194 100644 --- a/keyboards/foxlab/key65/hotswap/keymaps/via/keymap.c +++ b/keyboards/foxlab/key65/hotswap/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/foxlab/key65/universal/keymaps/default/keymap.c b/keyboards/foxlab/key65/universal/keymaps/default/keymap.c index 9c2071f01aca..ffa53ccb0a06 100644 --- a/keyboards/foxlab/key65/universal/keymaps/default/keymap.c +++ b/keyboards/foxlab/key65/universal/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/foxlab/key65/universal/keymaps/via/keymap.c b/keyboards/foxlab/key65/universal/keymaps/via/keymap.c index 8d44f2c46101..d9050fdca3df 100644 --- a/keyboards/foxlab/key65/universal/keymaps/via/keymap.c +++ b/keyboards/foxlab/key65/universal/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c b/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c index f2f5f0c97347..5e3ed8c1ea1f 100644 --- a/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c +++ b/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL), LAYOUT_60_tsangan_hhkb( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/foxlab/leaf60/hotswap/keymaps/via/keymap.c b/keyboards/foxlab/leaf60/hotswap/keymaps/via/keymap.c index 14d82004555d..83cb422dc06a 100644 --- a/keyboards/foxlab/leaf60/hotswap/keymaps/via/keymap.c +++ b/keyboards/foxlab/leaf60/hotswap/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL), LAYOUT_60_tsangan_hhkb( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/foxlab/leaf60/universal/keymaps/default/keymap.c b/keyboards/foxlab/leaf60/universal/keymaps/default/keymap.c index 3f823ba04eae..2a032bf3cb92 100644 --- a/keyboards/foxlab/leaf60/universal/keymaps/default/keymap.c +++ b/keyboards/foxlab/leaf60/universal/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL), LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/foxlab/leaf60/universal/keymaps/via/keymap.c b/keyboards/foxlab/leaf60/universal/keymaps/via/keymap.c index c6e40ca4ea3e..490f563feb9d 100644 --- a/keyboards/foxlab/leaf60/universal/keymaps/via/keymap.c +++ b/keyboards/foxlab/leaf60/universal/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL), LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/foxlab/time80/keymaps/default/keymap.c b/keyboards/foxlab/time80/keymaps/default/keymap.c index eb4facb50787..863c9068e9f1 100644 --- a/keyboards/foxlab/time80/keymaps/default/keymap.c +++ b/keyboards/foxlab/time80/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LALT, KC_LALT, KC_LGUI, XXXXXXX, _______, _______, MO(4), MO(4), XXXXXXX, XXXXXXX, XXXXXXX ), [4] = LAYOUT_all( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/foxlab/time_re/hotswap/keymaps/default/keymap.c b/keyboards/foxlab/time_re/hotswap/keymaps/default/keymap.c index b9250fac4be2..c1f960d6e821 100644 --- a/keyboards/foxlab/time_re/hotswap/keymaps/default/keymap.c +++ b/keyboards/foxlab/time_re/hotswap/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), _______, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/foxlab/time_re/hotswap/keymaps/via/keymap.c b/keyboards/foxlab/time_re/hotswap/keymaps/via/keymap.c index a6236d194237..ddeedb234d0b 100644 --- a/keyboards/foxlab/time_re/hotswap/keymaps/via/keymap.c +++ b/keyboards/foxlab/time_re/hotswap/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), _______, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/foxlab/time_re/universal/keymaps/default/keymap.c b/keyboards/foxlab/time_re/universal/keymaps/default/keymap.c index d6d3d8e72c41..bc047ccaaab5 100644 --- a/keyboards/foxlab/time_re/universal/keymaps/default/keymap.c +++ b/keyboards/foxlab/time_re/universal/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/foxlab/time_re/universal/keymaps/via/keymap.c b/keyboards/foxlab/time_re/universal/keymaps/via/keymap.c index 046225536f88..1d49695e5a73 100644 --- a/keyboards/foxlab/time_re/universal/keymaps/via/keymap.c +++ b/keyboards/foxlab/time_re/universal/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/fractal/keymaps/default/keymap.c b/keyboards/fractal/keymaps/default/keymap.c index e803bf678527..6b0a8cc18c41 100644 --- a/keyboards/fractal/keymaps/default/keymap.c +++ b/keyboards/fractal/keymaps/default/keymap.c @@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/free_willy/keymaps/default/keymap.c b/keyboards/free_willy/keymaps/default/keymap.c index d2b62a3a1cc4..0801caf412c7 100644 --- a/keyboards/free_willy/keymaps/default/keymap.c +++ b/keyboards/free_willy/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT( - RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, 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, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/frooastboard/nano/keymaps/default/keymap.c b/keyboards/frooastboard/nano/keymaps/default/keymap.c index aa3ed88da206..f5fd6d2c7678 100644 --- a/keyboards/frooastboard/nano/keymaps/default/keymap.c +++ b/keyboards/frooastboard/nano/keymaps/default/keymap.c @@ -43,5 +43,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [6] = LAYOUT( KC_TRNS, KC_TRNS, - RESET, TO(5)) + QK_BOOT, TO(5)) }; diff --git a/keyboards/funky40/keymaps/default/keymap.c b/keyboards/funky40/keymaps/default/keymap.c index 7fbdb7f00dc8..10ecc7602b25 100644 --- a/keyboards/funky40/keymaps/default/keymap.c +++ b/keyboards/funky40/keymaps/default/keymap.c @@ -28,5 +28,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_LBRC, KC_RBRC, - RESET, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT), + QK_BOOT, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT), }; diff --git a/keyboards/gami_studio/lex60/keymaps/default/keymap.c b/keyboards/gami_studio/lex60/keymaps/default/keymap.c index 153089997cb4..308c93aacf7a 100644 --- a/keyboards/gami_studio/lex60/keymaps/default/keymap.c +++ b/keyboards/gami_studio/lex60/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, LT(2, KC_ENT), KC_RGUI, KC_RALT, KC_APP, KC_RCTRL), [_FIRMWARE] = LAYOUT( - RESET, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_DEC, BL_TOGG, BL_INC, XXXXXXX, XXXXXXX, TG(1), + QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_DEC, BL_TOGG, BL_INC, XXXXXXX, XXXXXXX, TG(1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/gentleman65/keymaps/default/keymap.c b/keyboards/gentleman65/keymaps/default/keymap.c index 6a4f8a3b7be6..9f822c396cda 100644 --- a/keyboards/gentleman65/keymaps/default/keymap.c +++ b/keyboards/gentleman65/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, RGB_MOD, 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, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_VAD, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI ), }; diff --git a/keyboards/gentleman65/keymaps/via/keymap.c b/keyboards/gentleman65/keymaps/via/keymap.c index 0c76935c3f3b..c965b0bf2176 100644 --- a/keyboards/gentleman65/keymaps/via/keymap.c +++ b/keyboards/gentleman65/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, RGB_MOD, 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, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_VAD, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI ), [2] = LAYOUT_all( diff --git a/keyboards/ggkeyboards/genesis/hotswap/keymaps/default/keymap.c b/keyboards/ggkeyboards/genesis/hotswap/keymaps/default/keymap.c index afe94141ec83..dec4b81893a3 100644 --- a/keyboards/ggkeyboards/genesis/hotswap/keymaps/default/keymap.c +++ b/keyboards/ggkeyboards/genesis/hotswap/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ggkeyboards/genesis/hotswap/keymaps/via/keymap.c b/keyboards/ggkeyboards/genesis/hotswap/keymaps/via/keymap.c index 5647447a8075..96be07d7a9c3 100644 --- a/keyboards/ggkeyboards/genesis/hotswap/keymaps/via/keymap.c +++ b/keyboards/ggkeyboards/genesis/hotswap/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ggkeyboards/genesis/solder/keymaps/default/keymap.c b/keyboards/ggkeyboards/genesis/solder/keymaps/default/keymap.c index 4e7a2fd1fc5f..5b5a39c8e35b 100644 --- a/keyboards/ggkeyboards/genesis/solder/keymaps/default/keymap.c +++ b/keyboards/ggkeyboards/genesis/solder/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ggkeyboards/genesis/solder/keymaps/via/keymap.c b/keyboards/ggkeyboards/genesis/solder/keymaps/via/keymap.c index 1d22fbe318f8..a64435a16212 100644 --- a/keyboards/ggkeyboards/genesis/solder/keymaps/via/keymap.c +++ b/keyboards/ggkeyboards/genesis/solder/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/gh60/revc/keymaps/via/keymap.c b/keyboards/gh60/revc/keymaps/via/keymap.c index 653636c7323a..53f47514ad07 100644 --- a/keyboards/gh60/revc/keymaps/via/keymap.c +++ b/keyboards/gh60/revc/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( /* 1: fn */ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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 diff --git a/keyboards/gh60/satan/keymaps/default/keymap.c b/keyboards/gh60/satan/keymaps/default/keymap.c index 8146b8795468..b5c1284ecc3f 100644 --- a/keyboards/gh60/satan/keymaps/default/keymap.c +++ b/keyboards/gh60/satan/keymaps/default/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ [_FL] = LAYOUT_60_ansi( - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gh60/satan/keymaps/via/keymap.c b/keyboards/gh60/satan/keymaps/via/keymap.c index c9c6acf6817f..c571008346cc 100644 --- a/keyboards/gh60/satan/keymaps/via/keymap.c +++ b/keyboards/gh60/satan/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( /* 1: fn */ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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 diff --git a/keyboards/gh60/v1p3/keymaps/default/keymap.c b/keyboards/gh60/v1p3/keymaps/default/keymap.c index 003606d40f90..2c22b489b887 100644 --- a/keyboards/gh60/v1p3/keymaps/default/keymap.c +++ b/keyboards/gh60/v1p3/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_SPI, RGB_SPD, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, RGB_VAI, RGB_SAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, - KC_NO, KC_NO, RESET, BL_DEC, BL_ON, BL_INC, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, QK_BOOT, BL_DEC, BL_ON, BL_INC, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_END, KC_PGDN, 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, KC_NO, KC_NO, KC_NO, KC_NO ), }; diff --git a/keyboards/gh60/v1p3/keymaps/default_ansi/keymap.c b/keyboards/gh60/v1p3/keymaps/default_ansi/keymap.c index 82fb774effc5..60c8c11656fa 100644 --- a/keyboards/gh60/v1p3/keymaps/default_ansi/keymap.c +++ b/keyboards/gh60/v1p3/keymaps/default_ansi/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi( 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, KC_DEL, - _______, _______, _______, _______, RESET, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS, + _______, _______, _______, _______, QK_BOOT, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/gh60/v1p3/keymaps/default_ansi/readme.md b/keyboards/gh60/v1p3/keymaps/default_ansi/readme.md index 7552e3d04695..873907bed9d6 100644 --- a/keyboards/gh60/v1p3/keymaps/default_ansi/readme.md +++ b/keyboards/gh60/v1p3/keymaps/default_ansi/readme.md @@ -18,7 +18,7 @@ | `Fn` + `-` | `F11` | | `Fn` + `=` | `F12` | | `Fn` + `Backspace` | `Delete` | -| `Fn` + `R` | `RESET` | +| `Fn` + `R` | `QK_BOOT` | | `Fn` + `I` | `Up` | | `Fn` + `J` | `Left` | | `Fn` + `K` | `Down` | diff --git a/keyboards/ghs/rar/keymaps/via/keymap.c b/keyboards/ghs/rar/keymaps/via/keymap.c index 991c482084bd..8fc2a97bb9a1 100644 --- a/keyboards/ghs/rar/keymaps/via/keymap.c +++ b/keyboards/ghs/rar/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_NO, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, diff --git a/keyboards/gkeyboard/gkb_m16/keymaps/default/keymap.c b/keyboards/gkeyboard/gkb_m16/keymaps/default/keymap.c index 4fcde1b55c14..d0aefd4b4421 100644 --- a/keyboards/gkeyboard/gkb_m16/keymaps/default/keymap.c +++ b/keyboards/gkeyboard/gkb_m16/keymaps/default/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN2] = LAYOUT_ortho_4x4( RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, RGB_TOG, _______, QMKBEST, QMKURL ) diff --git a/keyboards/gkeyboard/gkb_m16/keymaps/via/keymap.c b/keyboards/gkeyboard/gkb_m16/keymaps/via/keymap.c index 7d43c33082b4..e31679485b86 100644 --- a/keyboards/gkeyboard/gkb_m16/keymaps/via/keymap.c +++ b/keyboards/gkeyboard/gkb_m16/keymaps/via/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(1), KC_VOLD, KC_MUTE, KC_MNXT ), [1] = LAYOUT_ortho_4x4( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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 diff --git a/keyboards/gl516/a52gl/keymaps/default/keymap.c b/keyboards/gl516/a52gl/keymaps/default/keymap.c index adcf71879d0e..ae6ea5388798 100644 --- a/keyboards/gl516/a52gl/keymaps/default/keymap.c +++ b/keyboards/gl516/a52gl/keymaps/default/keymap.c @@ -39,7 +39,7 @@ LT(_FN,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J ), [_FN] = LAYOUT( //,-----------------------------------------------------| |--------------------------------------------------------------. - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/gl516/a52gl/keymaps/via/keymap.c b/keyboards/gl516/a52gl/keymaps/via/keymap.c index 77386f8a25ce..66c5dacdec7a 100644 --- a/keyboards/gl516/a52gl/keymaps/via/keymap.c +++ b/keyboards/gl516/a52gl/keymaps/via/keymap.c @@ -31,7 +31,7 @@ LT(1,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J ), [1] = LAYOUT( //,-----------------------------------------------------| |--------------------------------------------------------------. - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/gl516/j73gl/keymaps/default/keymap.c b/keyboards/gl516/j73gl/keymaps/default/keymap.c index c549e6b574b3..bf149ce65252 100644 --- a/keyboards/gl516/j73gl/keymaps/default/keymap.c +++ b/keyboards/gl516/j73gl/keymaps/default/keymap.c @@ -42,7 +42,7 @@ LT(_FN,JP_ZKHK), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, ), [_FN] = LAYOUT( //,-----------------------------------------------------+--------------------------------------------------------------------------------. - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_PSCR, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_PSCR, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/gl516/j73gl/keymaps/via/keymap.c b/keyboards/gl516/j73gl/keymaps/via/keymap.c index 942775e4b0d8..0feb67e63525 100644 --- a/keyboards/gl516/j73gl/keymaps/via/keymap.c +++ b/keyboards/gl516/j73gl/keymaps/via/keymap.c @@ -34,7 +34,7 @@ LT(1,JP_ZKHK), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, ), [1] = LAYOUT( //,-----------------------------------------------------+--------------------------------------------------------------------------------. - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_PSCR, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_PSCR, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/gl516/n51gl/keymaps/default/keymap.c b/keyboards/gl516/n51gl/keymaps/default/keymap.c index 469626d85151..4104c7caf89d 100644 --- a/keyboards/gl516/n51gl/keymaps/default/keymap.c +++ b/keyboards/gl516/n51gl/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT( //,--------------------------------------------------------------| |--------------------------------------------------------------. - _______, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/gl516/n51gl/keymaps/via/keymap.c b/keyboards/gl516/n51gl/keymaps/via/keymap.c index 3ad85edcba74..a44392124c0d 100644 --- a/keyboards/gl516/n51gl/keymaps/via/keymap.c +++ b/keyboards/gl516/n51gl/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_rotary_layer( //,--------------------------------------------------------------| |--------------------------------------------------------------. - _______, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c index 0d161e5bdd02..91f29f8d62ab 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c +++ b/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI // if that's your preference. @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI diff --git a/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c index d50bbfbf566e..1f59b52999f5 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c +++ b/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI // if that's your preference. @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI diff --git a/keyboards/gmmk/pro/iso/keymaps/default/keymap.c b/keyboards/gmmk/pro/iso/keymaps/default/keymap.c index 3bdacda6c82d..0aedb78285bd 100644 --- a/keyboards/gmmk/pro/iso/keymaps/default/keymap.c +++ b/keyboards/gmmk/pro/iso/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI // if that's your preference. @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, diff --git a/keyboards/gmmk/pro/iso/keymaps/via/keymap.c b/keyboards/gmmk/pro/iso/keymaps/via/keymap.c index 880785ebbec9..7d0693c18c8c 100644 --- a/keyboards/gmmk/pro/iso/keymaps/via/keymap.c +++ b/keyboards/gmmk/pro/iso/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI // if that's your preference. @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, diff --git a/keyboards/gon/nerd60/keymaps/default/keymap.c b/keyboards/gon/nerd60/keymaps/default/keymap.c index a5cec81ef4ea..50e337f77a20 100644 --- a/keyboards/gon/nerd60/keymaps/default/keymap.c +++ b/keyboards/gon/nerd60/keymaps/default/keymap.c @@ -10,11 +10,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL ), - [1] = LAYOUT_all( /* System layer to have access to RESET button */ + [1] = LAYOUT_all( /* System layer to have access to QK_BOOT button */ 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, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______, _______, _______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/gon/nerd60/keymaps/via/keymap.c b/keyboards/gon/nerd60/keymaps/via/keymap.c index 96b563db34ec..073c741b17e9 100644 --- a/keyboards/gon/nerd60/keymaps/via/keymap.c +++ b/keyboards/gon/nerd60/keymaps/via/keymap.c @@ -26,12 +26,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL ), - [1] = LAYOUT_all( /* System layer to have access to RESET button */ + [1] = LAYOUT_all( /* System layer to have access to QK_BOOT button */ 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, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______, _______, _______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( diff --git a/keyboards/gon/nerdtkl/keymaps/default/keymap.c b/keyboards/gon/nerdtkl/keymaps/default/keymap.c index a05a7126c5b8..9168b36aafe6 100644 --- a/keyboards/gon/nerdtkl/keymaps/default/keymap.c +++ b/keyboards/gon/nerdtkl/keymaps/default/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_tkl( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/gowla/keymaps/default/keymap.c b/keyboards/gowla/keymaps/default/keymap.c index 326c8f0e91a5..c7206868bf5e 100644 --- a/keyboards/gowla/keymaps/default/keymap.c +++ b/keyboards/gowla/keymaps/default/keymap.c @@ -7,7 +7,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_ortho_3x3( - KC_ESC, KC_MPLY, RESET, + KC_ESC, KC_MPLY, QK_BOOT, KC_P7, KC_P1, KC_F1, KC_F2, KC_F3, KC_F4 ) diff --git a/keyboards/gray_studio/apollo80/keymaps/default/keymap.c b/keyboards/gray_studio/apollo80/keymaps/default/keymap.c index b4eb52630e94..ba0fd63110b7 100644 --- a/keyboards/gray_studio/apollo80/keymaps/default/keymap.c +++ b/keyboards/gray_studio/apollo80/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/apollo80/keymaps/via/keymap.c b/keyboards/gray_studio/apollo80/keymaps/via/keymap.c index 27f0a2c2c064..bb2870f18905 100644 --- a/keyboards/gray_studio/apollo80/keymaps/via/keymap.c +++ b/keyboards/gray_studio/apollo80/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/cod67/keymaps/via/keymap.c b/keyboards/gray_studio/cod67/keymaps/via/keymap.c index 5a3251e5b429..12ffe5624456 100644 --- a/keyboards/gray_studio/cod67/keymaps/via/keymap.c +++ b/keyboards/gray_studio/cod67/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_TOG, RGB_MOD,RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/hb85/keymaps/default/keymap.c b/keyboards/gray_studio/hb85/keymaps/default/keymap.c index cac6440bf059..9ce6ec434d2e 100644 --- a/keyboards/gray_studio/hb85/keymaps/default/keymap.c +++ b/keyboards/gray_studio/hb85/keymaps/default/keymap.c @@ -36,7 +36,7 @@ KC_LSFT, KC_NO , KC_Z , KC_Z , KC_X , KC_V , KC_B , KC_N , KC_M , ), [_CTRL] = LAYOUT_all( - RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/hb85/keymaps/via/keymap.c b/keyboards/gray_studio/hb85/keymaps/via/keymap.c index febf4715b8df..5e1693a5166c 100644 --- a/keyboards/gray_studio/hb85/keymaps/via/keymap.c +++ b/keyboards/gray_studio/hb85/keymaps/via/keymap.c @@ -28,7 +28,7 @@ KC_LSFT, KC_NO , KC_Z , KC_Z , KC_X , KC_V , KC_B , KC_N , KC_M , ), [1] = LAYOUT_all( - RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/space65/keymaps/iso/keymap.c b/keyboards/gray_studio/space65/keymaps/iso/keymap.c index a1f8af01b212..3c6b66530a9c 100644 --- a/keyboards/gray_studio/space65/keymaps/iso/keymap.c +++ b/keyboards/gray_studio/space65/keymaps/iso/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ │ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/space65/keymaps/via/keymap.c b/keyboards/gray_studio/space65/keymaps/via/keymap.c index e621685e1a90..0398f8116b07 100644 --- a/keyboards/gray_studio/space65/keymaps/via/keymap.c +++ b/keyboards/gray_studio/space65/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/think65/hotswap/keymaps/default/keymap.c b/keyboards/gray_studio/think65/hotswap/keymaps/default/keymap.c index ea9146dcf6d8..7182bd512e99 100644 --- a/keyboards/gray_studio/think65/hotswap/keymaps/default/keymap.c +++ b/keyboards/gray_studio/think65/hotswap/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/think65/hotswap/keymaps/via/keymap.c b/keyboards/gray_studio/think65/hotswap/keymaps/via/keymap.c index 5079ca5551d3..22b29a1672c5 100644 --- a/keyboards/gray_studio/think65/hotswap/keymaps/via/keymap.c +++ b/keyboards/gray_studio/think65/hotswap/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/think65/solder/keymaps/default/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/default/keymap.c index ea9146dcf6d8..7182bd512e99 100644 --- a/keyboards/gray_studio/think65/solder/keymaps/default/keymap.c +++ b/keyboards/gray_studio/think65/solder/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/think65/solder/keymaps/via/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/via/keymap.c index 0dbe44c8725a..8f08cfe0707c 100644 --- a/keyboards/gray_studio/think65/solder/keymaps/via/keymap.c +++ b/keyboards/gray_studio/think65/solder/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/hadron/ver2/keymaps/default/keymap.c b/keyboards/hadron/ver2/keymaps/default/keymap.c index 96aced204337..cf8ca10a0a67 100644 --- a/keyboards/hadron/ver2/keymaps/default/keymap.c +++ b/keyboards/hadron/ver2/keymaps/default/keymap.c @@ -187,7 +187,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, KC_DEL, + QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, BL_DEC, BL_INC, BL_STEP, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/hadron/ver3/keymaps/default/keymap.c b/keyboards/hadron/ver3/keymaps/default/keymap.c index 030f7674340e..3eb0e59fc50f 100644 --- a/keyboards/hadron/ver3/keymaps/default/keymap.c +++ b/keyboards/hadron/ver3/keymaps/default/keymap.c @@ -182,7 +182,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------------------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT( - RESET, HPT_TOG, HPT_FBK, HPT_MODI, HPT_MODD, HPT_RST , _______, _______, _______, _______, _______, EEP_RST, + QK_BOOT, HPT_TOG, HPT_FBK, HPT_MODI, HPT_MODD, HPT_RST , _______, _______, _______, _______, _______, EEP_RST, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, BL_DEC, BL_INC, BL_STEP, BL_TOGG, diff --git a/keyboards/han60/keymaps/default/keymap.c b/keyboards/han60/keymaps/default/keymap.c index ef75bc8c8835..4b80f8258ccb 100644 --- a/keyboards/han60/keymaps/default/keymap.c +++ b/keyboards/han60/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* FN */ [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/han60/keymaps/via/keymap.c b/keyboards/han60/keymaps/via/keymap.c index 1e3aee8fd095..64a8046a1be6 100644 --- a/keyboards/han60/keymaps/via/keymap.c +++ b/keyboards/han60/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* LAYER 2 */ [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/3dfoxc/keymaps/default/keymap.c b/keyboards/handwired/3dfoxc/keymaps/default/keymap.c index aaed41870919..c4ea6fbcc51f 100644 --- a/keyboards/handwired/3dfoxc/keymaps/default/keymap.c +++ b/keyboards/handwired/3dfoxc/keymaps/default/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------------------------------------''-----------' */ [_FL] = LAYOUT( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, KC_DEL, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_PGUP, KC_END, diff --git a/keyboards/handwired/3dp660/keymaps/default/keymap.c b/keyboards/handwired/3dp660/keymaps/default/keymap.c index e9eee115eba1..a1f89308ef3d 100644 --- a/keyboards/handwired/3dp660/keymaps/default/keymap.c +++ b/keyboards/handwired/3dp660/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_66_ansi( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, diff --git a/keyboards/handwired/3dp660/keymaps/via/keymap.c b/keyboards/handwired/3dp660/keymaps/via/keymap.c index b39eabe49f19..8383e4f3569e 100644 --- a/keyboards/handwired/3dp660/keymaps/via/keymap.c +++ b/keyboards/handwired/3dp660/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_66_ansi( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, diff --git a/keyboards/handwired/412_64/keymaps/default/keymap.c b/keyboards/handwired/412_64/keymaps/default/keymap.c index ac8f47bd0693..34c6865aba6a 100644 --- a/keyboards/handwired/412_64/keymaps/default/keymap.c +++ b/keyboards/handwired/412_64/keymaps/default/keymap.c @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_LOWER] = LAYOUT_ortho_4x16( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, _______, RESET, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, _______, QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______ diff --git a/keyboards/handwired/6macro/keymaps/default/keymap.c b/keyboards/handwired/6macro/keymaps/default/keymap.c index 1c6b91a7d3dd..26c6f84dcd79 100644 --- a/keyboards/handwired/6macro/keymaps/default/keymap.c +++ b/keyboards/handwired/6macro/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------. * |RGB_TOG|RGBMOD+| | * |-------+-------+-------| - * |RGBHUE+|RGBBRI+|Spec FN| Hold along with previous to access special funtions (RESET) + * |RGBHUE+|RGBBRI+|Spec FN| Hold along with previous to access special funtions (QK_BOOT) * `-------+-------+-------' */ [1] = LAYOUT( @@ -43,13 +43,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* LAYER 2 * ,-----------------------. - * | RESET |RGBMOD-| | + * | QK_BOOT |RGBMOD-| | * |-------+-------+-------| * |RGBHUE-|RGBBRI-| | * `-------+-------+-------' */ [2] = LAYOUT( - RESET, RGB_RMOD, KC_NO, + QK_BOOT, RGB_RMOD, KC_NO, RGB_HUD, RGB_VAD, KC_TRNS ) diff --git a/keyboards/handwired/aek64/keymaps/default/keymap.c b/keyboards/handwired/aek64/keymaps/default/keymap.c index 9ddb15691478..ad27f8fa394a 100644 --- a/keyboards/handwired/aek64/keymaps/default/keymap.c +++ b/keyboards/handwired/aek64/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LALT(KC_F4), KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______ , _______ , _______ , _______ , _______ , _______, LCTL(KC_A), KC_HOME, KC_UP , KC_END , _______ , _______ , _______ , _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, _______ , _______ , _______ , _______, - _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , _______, _______ , _______, _______, _______ , _______ , RESET , _______ , + _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , _______, _______ , _______, _______, _______ , _______ , QK_BOOT , _______ , _______ , _______ , _______ , _______, _______ , _______ , _______ ) }; diff --git a/keyboards/handwired/amigopunk/keymaps/default/keymap.c b/keyboards/handwired/amigopunk/keymaps/default/keymap.c index 3a64958fad85..ce8fe2cc4427 100644 --- a/keyboards/handwired/amigopunk/keymaps/default/keymap.c +++ b/keyboards/handwired/amigopunk/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, KC_LALT, KC_SPC, XXXXXXX, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, KC_PSCR, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, diff --git a/keyboards/handwired/aranck/keymaps/default/keymap.c b/keyboards/handwired/aranck/keymaps/default/keymap.c index 206d23b6afd7..13c778bf9c7b 100644 --- a/keyboards/handwired/aranck/keymaps/default/keymap.c +++ b/keyboards/handwired/aranck/keymaps/default/keymap.c @@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_mit( - _______, RESET, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/arrow_pad/keymaps/default/keymap.c b/keyboards/handwired/arrow_pad/keymaps/default/keymap.c index caee60d6ae43..df1e550ea279 100644 --- a/keyboards/handwired/arrow_pad/keymaps/default/keymap.c +++ b/keyboards/handwired/arrow_pad/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, - RESET, _______, _______, _______ ), + QK_BOOT, _______, _______, _______ ), }; diff --git a/keyboards/handwired/atreus50/keymaps/default/keymap.c b/keyboards/handwired/atreus50/keymaps/default/keymap.c index 7b18dd5789cb..68724c05067d 100644 --- a/keyboards/handwired/atreus50/keymaps/default/keymap.c +++ b/keyboards/handwired/atreus50/keymaps/default/keymap.c @@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT( - _______, RESET, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, + _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c index 020c70fc2196..496b4498244f 100644 --- a/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c +++ b/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [LAYER_FUNCTIONS] = LAYOUT( /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */ diff --git a/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c index 934ca4bed7ad..00243484b91b 100644 --- a/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c +++ b/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [LAYER_FUNCTIONS] = LAYOUT( /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */ diff --git a/keyboards/handwired/battleship_gamepad/keymaps/default/keymap.c b/keyboards/handwired/battleship_gamepad/keymaps/default/keymap.c index fa71419ff118..e4d110de42fb 100644 --- a/keyboards/handwired/battleship_gamepad/keymaps/default/keymap.c +++ b/keyboards/handwired/battleship_gamepad/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F9, KC_F10, LT(1, KC_NO), KC_LCTL, KC_LALT, KC_NO, LT(1, KC_NO), KC_SPC), [1] = LAYOUT( - RESET, DEBUG, KC_TILD, KC_6, KC_7, KC_8, KC_9, KC_0, + QK_BOOT, DEBUG, KC_TILD, KC_6, KC_7, KC_8, KC_9, KC_0, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/battleship_gamepad/keymaps/via/keymap.c b/keyboards/handwired/battleship_gamepad/keymaps/via/keymap.c index 9a70d36b7722..6c0cf5b4f17c 100644 --- a/keyboards/handwired/battleship_gamepad/keymaps/via/keymap.c +++ b/keyboards/handwired/battleship_gamepad/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F9, KC_F10, LT(1, KC_NO), KC_LCTL, KC_LALT, LT(2, KC_NO), LT(1, KC_NO), KC_SPC), [1] = LAYOUT( - RESET, DEBUG, KC_TILD, KC_6, KC_7, KC_8, KC_9, KC_0, + QK_BOOT, DEBUG, KC_TILD, KC_6, KC_7, KC_8, KC_9, KC_0, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/bdn9_ble/keymaps/default/keymap.c b/keyboards/handwired/bdn9_ble/keymaps/default/keymap.c index 40684214677a..4c92dc3dd462 100644 --- a/keyboards/handwired/bdn9_ble/keymaps/default/keymap.c +++ b/keyboards/handwired/bdn9_ble/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ------------------------------------------------------------------------ */ [1] = LAYOUT( - _______, OUT_AUTO, RESET, + _______, OUT_AUTO, QK_BOOT, BL_STEP, OUT_USB, _______, BL_TOGG, OUT_BT, _______ ) diff --git a/keyboards/handwired/bento/keymaps/default/keymap.c b/keyboards/handwired/bento/keymaps/default/keymap.c index dc074c4205b2..6a4f9e2f617d 100644 --- a/keyboards/handwired/bento/keymaps/default/keymap.c +++ b/keyboards/handwired/bento/keymaps/default/keymap.c @@ -30,11 +30,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT ), /* - | Held: Layer 2 | Home | RESET | + | Held: Layer 2 | Home | QK_BOOT | | Media Previous | End | Media Next | */ [1] = LAYOUT( - _______, KC_HOME, RESET, + _______, KC_HOME, QK_BOOT, KC_MPRV, KC_END , KC_MNXT ), }; diff --git a/keyboards/handwired/bolek/keymaps/default/keymap.c b/keyboards/handwired/bolek/keymaps/default/keymap.c index 31d3ac045698..530e9ff900af 100644 --- a/keyboards/handwired/bolek/keymaps/default/keymap.c +++ b/keyboards/handwired/bolek/keymaps/default/keymap.c @@ -27,6 +27,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_EQL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_MINS, - KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, RESET + KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, QK_BOOT ) }; diff --git a/keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c b/keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c index 569ce187a434..a77645712ea9 100644 --- a/keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c +++ b/keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), RGUI_T(KC_APP), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), [1] = LAYOUT_fullsize_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, C(KC_HOME), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_fullsize_ansi( - RESET, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c b/keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c index 6b10c598bf29..da3c0b37e382 100644 --- a/keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c +++ b/keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_RGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), [1] = LAYOUT_fullsize_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_fullsize_ansi( - RESET, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/carpolly/keymaps/default/keymap.c b/keyboards/handwired/carpolly/keymaps/default/keymap.c index 78eb95a77fb4..7f08aeb5886f 100644 --- a/keyboards/handwired/carpolly/keymaps/default/keymap.c +++ b/keyboards/handwired/carpolly/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_INS, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, _______, _______, _______, _______, _______, _______, KC_DEL, KC_INS diff --git a/keyboards/handwired/chiron/keymaps/default/keymap.c b/keyboards/handwired/chiron/keymaps/default/keymap.c index 53c8edeb0a57..969cf420c64f 100644 --- a/keyboards/handwired/chiron/keymaps/default/keymap.c +++ b/keyboards/handwired/chiron/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_INS, KC_LCTL, /*, */KC_LALT, LGUI_T(KC_SPC), KC_HYPR, KC_HYPR, RGUI_T(KC_SPC), KC_RALT, /*, */KC_LBRC, KC_RBRC, KC_SLSH ), [1] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, _______, KC_MUTE, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, KC_BTN2, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_VOLD, XXXXXXX, KC_WH_D, XXXXXXX, KC_BTN3, KC_BTN4, @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX ), [4] = LAYOUT( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, RGB_TOG, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, diff --git a/keyboards/handwired/ck4x4/keymaps/default/keymap.c b/keyboards/handwired/ck4x4/keymaps/default/keymap.c index 6ff0ef063645..f71537f73f09 100644 --- a/keyboards/handwired/ck4x4/keymaps/default/keymap.c +++ b/keyboards/handwired/ck4x4/keymaps/default/keymap.c @@ -21,6 +21,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT(KC_7, KC_8, KC_9, KC_MINUS, KC_4, KC_5, KC_6, KC_PLUS, KC_1, KC_2, KC_3, KC_ENTER, - RESET, KC_NO, KC_NO, KC_NO - ), // test with KC_CAPS, KC_A, RESET + QK_BOOT, KC_NO, KC_NO, KC_NO + ), // test with KC_CAPS, KC_A, QK_BOOT }; diff --git a/keyboards/handwired/co60/keymaps/default/keymap.c b/keyboards/handwired/co60/keymaps/default/keymap.c index 5736e9313d99..b5a1c9c50025 100644 --- a/keyboards/handwired/co60/keymaps/default/keymap.c +++ b/keyboards/handwired/co60/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_L2), KC_RCTL ), [_L2] = LAYOUT_60_ansi( /* Base */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, _______, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, KC_INSERT, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_HOME, KC_END, _______, _______, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDOWN, _______, diff --git a/keyboards/handwired/colorlice/keymaps/default/keymap.c b/keyboards/handwired/colorlice/keymaps/default/keymap.c index e94aeaae4ebe..2360c7d46e66 100644 --- a/keyboards/handwired/colorlice/keymaps/default/keymap.c +++ b/keyboards/handwired/colorlice/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_alice_split_bs( _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, _______, _______, KC_UP, _______, _______, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD , _______, _______, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/handwired/concertina/64key/keymaps/default/keymap.c b/keyboards/handwired/concertina/64key/keymaps/default/keymap.c index e8425824fb03..ae6c910cdda4 100644 --- a/keyboards/handwired/concertina/64key/keymaps/default/keymap.c +++ b/keyboards/handwired/concertina/64key/keymaps/default/keymap.c @@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F12, KC_F1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_F10, KC_F11, _______, KC_1, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_APP, KC_0, PASTE, - KC_INS, KC_EXLM, KC_BTN1, KC_BTN3, KC_BTN2, KC_MS_L, KC_MS_U, KC_MS_R, KC_PSCR, RESET, + KC_INS, KC_EXLM, KC_BTN1, KC_BTN3, KC_BTN2, KC_MS_L, KC_MS_U, KC_MS_R, KC_PSCR, QK_BOOT, LAYER_G, KC_MS_D ) }; diff --git a/keyboards/handwired/croxsplit44/keymaps/default/keymap.c b/keyboards/handwired/croxsplit44/keymaps/default/keymap.c index 7b3805ad63c2..2cd376e0d773 100644 --- a/keyboards/handwired/croxsplit44/keymaps/default/keymap.c +++ b/keyboards/handwired/croxsplit44/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_TAB, RGB_MOD, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_UP, KC_RGHT, KC_ENT, + KC_TAB, RGB_MOD, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_UP, KC_RGHT, KC_ENT, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), }; \ No newline at end of file diff --git a/keyboards/handwired/croxsplit44/keymaps/via/keymap.c b/keyboards/handwired/croxsplit44/keymaps/via/keymap.c index 63cd585ab3e6..752ed60d022d 100644 --- a/keyboards/handwired/croxsplit44/keymaps/via/keymap.c +++ b/keyboards/handwired/croxsplit44/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_TAB, RGB_MOD, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_UP, KC_RGHT, KC_ENT, + KC_TAB, RGB_MOD, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_UP, KC_RGHT, KC_ENT, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/handwired/d48/keymaps/default/keymap.c b/keyboards/handwired/d48/keymaps/default/keymap.c index b4cd88b0b0d6..261866c9a458 100644 --- a/keyboards/handwired/d48/keymaps/default/keymap.c +++ b/keyboards/handwired/d48/keymaps/default/keymap.c @@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ┣━━━━━╉─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╊━━━━━┫ ┃L_MOD┃ F1 │ F2 │ F3 │ F4 │ F5 ┃ F6 │ F7 │ F8 │ F9 │ F10 ┃ F11 ┃ ┣━━━━━╉─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╊━━━━━┫ - ┃ ┃RESET│DEBUG│ │ │TIME ┃SLEEP│ │ { │ } │PTSCR┃ ┃ + ┃ ┃QK_BOOT│DEBUG│ │ │TIME ┃SLEEP│ │ { │ } │PTSCR┃ ┃ ┣━━━━━╉─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╊━━━━━┫ ┃ ┃ │ │ │ │ ┃ │ │ │ │ ┃ ┃ ┗━━━━━┻━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━┻━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━┻━━━━━┛ @@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, RGB_TOG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, RESET, DEBUG, _______, _______, KC_SET_TIME,KC_SLEP,_______,KC_LCBR,KC_RCBR, KC_PSCR, _______, + _______, QK_BOOT, DEBUG, _______, _______, KC_SET_TIME,KC_SLEP,_______,KC_LCBR,KC_RCBR, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; @@ -163,7 +163,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { beta_pressed = record->event.pressed; } - if (keycode == RESET) { + if (keycode == QK_BOOT) { rgblight_setrgb(255, 255, 0); } if (keycode == KC_LCTRL) { diff --git a/keyboards/handwired/dactyl/keymaps/default/keymap.c b/keyboards/handwired/dactyl/keymaps/default/keymap.c index 3e013b19a98f..caaac7264153 100644 --- a/keyboards/handwired/dactyl/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl/keymaps/default/keymap.c @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | % | ^ | [ | ] | ~ | | & | 1 | 2 | 3 | \ | | * |------+------+------+------+------+------' `------+------+------+------+------+------| - * |RESET | | | | | | | . | 0 | = | | + * |QK_BOOT | | | | | | | . | 0 | = | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c index 999cc30118e8..4f2de11ce291 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LOWER] = LAYOUT( - _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, KC_PLUS, + _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, QK_BOOT, KC_PLUS, _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, _______, KC_PSCR, _______, KC_P0, @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_RAISE] = LAYOUT( - _______, RESET, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_NLCK, KC_INS, KC_SLCK, KC_MUTE, + _______, QK_BOOT, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_NLCK, KC_INS, KC_SLCK, KC_MUTE, _______, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, KC_EQL, _______, diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c index 3036986f2a16..3549f93248a4 100644 --- a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LOWER] = LAYOUT( - _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, KC_PLUS, + _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, QK_BOOT, KC_PLUS, _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, _______, KC_PSCR, _______, KC_P0, @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_RAISE] = LAYOUT( - _______, RESET, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_NLCK, KC_INS, KC_SLCK, KC_MUTE, + _______, QK_BOOT, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_NLCK, KC_INS, KC_SLCK, KC_MUTE, _______, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, KC_EQL, _______, diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c index 3aaeb9989bd1..0b399d81b7a4 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, KC_UP, _______, _______, _______, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c index 5f5ef54df16e..37a788bea0b8 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, KC_UP, _______, _______, _______, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c index d11f0754816f..b9716947f114 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, EMDASH, _______, _______, - KC_F6, KC_F7, KC_F8, KC_F9, RESET, KC_WAKE, // * + KC_F6, KC_F7, KC_F8, KC_F9, QK_BOOT, KC_WAKE, // * KC_6, KC_7, KC_8, KC_9, KC_F10, KC_F11, KC_CIRC, KC_AMPR, KC_ASTR, KC_APP, KC_0, PASTE, KC_MS_L, KC_MS_U, KC_MS_R, KC_PSCR, RGB_TOG, diff --git a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c index 298cddfd0a16..ed2d1440c832 100644 --- a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,KC_EXLM,KC_AT ,KC_LBRC,KC_RBRC,KC_PIPE, KC_UP ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PAST,KC_F12 , _______,KC_HASH,KC_DLR ,KC_LPRN,KC_RPRN,KC_GRV , KC_DOWN,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS,_______, _______,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD, KC_AMPR,KC_P1 ,KC_P2 ,KC_P3 ,KC_PSLS,_______, - RESET ,_______,_______,_______,_______,_______, _______,_______,KC_PDOT,KC_P0 ,KC_PEQL,_______, + QK_BOOT ,_______,_______,_______,_______,_______, _______,_______,KC_PDOT,KC_P0 ,KC_PEQL,_______, _______,_______,_______, _______,_______,_______, _______, _______, _______, _______ @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______,KC_MS_U,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,KC_MS_L,KC_MS_D,KC_MS_R,_______, _______,_______,_______,_______,_______,KC_MPLY, _______,_______,_______,_______,_______,_______, _______,_______,KC_MPRV,KC_MNXT,_______,_______, - RESET ,_______,_______,KC_BTN1,KC_BTN2,_______, KC_WBAK,KC_VOLU,KC_VOLD,KC_MUTE,_______,_______, + QK_BOOT ,_______,_______,KC_BTN1,KC_BTN2,_______, KC_WBAK,KC_VOLU,KC_VOLD,KC_MUTE,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______, _______, _______ diff --git a/keyboards/handwired/dactyl_rah/keymaps/default/keymap.c b/keyboards/handwired/dactyl_rah/keymaps/default/keymap.c index 6b07051c4b4a..6f0c25a4dd3c 100644 --- a/keyboards/handwired/dactyl_rah/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_rah/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_BSPC,CTL_ESC,KC_LALT, KC_RALT,KC_ENT ,KC_SPC ), [NAV] = LAYOUT_6x6( - RESET , KC_NO ,KC_MPRV,KC_MPLY,KC_MNXT, KC_NO , KC_BRIU, KC_7 , KC_8 , KC_9 , KC_NO , RESET , + QK_BOOT , KC_NO ,KC_MPRV,KC_MPLY,KC_MNXT, KC_NO , KC_BRIU, KC_7 , KC_8 , KC_9 , KC_NO , QK_BOOT , _______,KC_VOLU,KC_WBAK,KC_MS_U,KC_WFWD,KC_WH_U, KC_BRID, KC_4 , KC_5 , KC_6 , KC_NO , KC_F9 , _______,KC_VOLD,KC_MS_L,KC_MS_D,KC_MS_R,KC_WH_D, KC_PPLS, KC_1 , KC_2 , KC_3 ,KC_PMNS, KC_F10, KC_NO , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NO , KC_PAST, KC_0 , KC_NO ,_______,KC_PSLS, KC_F11, diff --git a/keyboards/handwired/daishi/keymaps/default/keymap.c b/keyboards/handwired/daishi/keymaps/default/keymap.c index a1ef825ff29a..a75ba88c833b 100644 --- a/keyboards/handwired/daishi/keymaps/default/keymap.c +++ b/keyboards/handwired/daishi/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* FN * .-----------------------------------------------------------------------------------------------------------------------------------------------------------------. - * | RESET | F13 | F14 | F15 | f16 | f17 | f18 | F19 | F20 | F21 | DM1 R | DM2 R | DMSTOP | | | | FN | DEBUG | + * | QK_BOOT | F13 | F14 | F15 | f16 | f17 | f18 | F19 | F20 | F21 | DM1 R | DM2 R | DMSTOP | | | | FN | DEBUG | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------------------------| * | | | | | | | | | | | | | | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------------------------| @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FN] = LAYOUT( /* Function */ - RESET , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , DM_REC1, DM_REC2, DM_RSTP, _______, _______, _______, MO(_FN), DEBUG, + QK_BOOT , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , DM_REC1, DM_REC2, DM_RSTP, _______, _______, _______, MO(_FN), DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/ddg_56/keymaps/default/keymap.c b/keyboards/handwired/ddg_56/keymaps/default/keymap.c index fd0f2a257287..2a569ec49c2d 100644 --- a/keyboards/handwired/ddg_56/keymaps/default/keymap.c +++ b/keyboards/handwired/ddg_56/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT), [_LOWER] = LAYOUT( - RESET, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, 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, 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_MSTP, diff --git a/keyboards/handwired/elrgo_s/keymaps/default/keymap.c b/keyboards/handwired/elrgo_s/keymaps/default/keymap.c index 572edbf0b859..075879bbf050 100644 --- a/keyboards/handwired/elrgo_s/keymaps/default/keymap.c +++ b/keyboards/handwired/elrgo_s/keymaps/default/keymap.c @@ -53,6 +53,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO , KC_SLEP , KC_VOLU , KC_BRIU , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NLCK , KC_NO , KC_WAKE , KC_VOLD , KC_BRID , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_NO , KC_NO , MO(_ADJUST), - RESET , KC_NO , KC_NO , KC_TRNS , KC_NO , KC_NO , KC_TRNS , KC_TRNS , KC_NO , KC_NO + QK_BOOT , KC_NO , KC_NO , KC_TRNS , KC_NO , KC_NO , KC_TRNS , KC_TRNS , KC_NO , KC_NO ) }; diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c index c926576f97b9..2d917b412e54 100644 --- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c +++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c @@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,------. .. ,------. * * ,------|PAUSE |-------------. .. ,-------------| PRINT|------. * * ,------|SCROLL|------|MUTE |VOLUD |------. .. ,------| pre | next |------| calc |------. * - * |RESET |------| stop |------|------|VOLDU | .. | play |------|------| stop |------| num | * + * |QK_BOOT |------| stop |------|------|VOLDU | .. | play |------|------| stop |------| num | * * ,------+------| |------| pre | next |------| .. |------| pre | next |------| |------+------. * * | | |------|scrolu|------|------| play | .. | play |------|------| 8 |------| - | | * * |------+------| |------| | bt4 |------| .. |------| next | 7 |------| 9 |------+------| * @@ -128,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * */ [_MEDIA] = LAYOUT( - RESET, KC_SLCK, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_CALC, KC_NLCK, + QK_BOOT, KC_SLCK, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_CALC, KC_NLCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_MPRV, KC_MNXT, KC_MPLY, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_BTN4, KC_BTN5, KC_BTN4, KC_BTN5, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, KC_BTN3, KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2, KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, KC_TRNS, diff --git a/keyboards/handwired/freoduo/keymaps/default/keymap.c b/keyboards/handwired/freoduo/keymaps/default/keymap.c index 16eeed13fa0f..1f24469a7a49 100644 --- a/keyboards/handwired/freoduo/keymaps/default/keymap.c +++ b/keyboards/handwired/freoduo/keymaps/default/keymap.c @@ -146,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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 , RGB_TOG, RGB_MOD, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT , RGB_TOG, RGB_MOD, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/fruity60/keymaps/default/keymap.c b/keyboards/handwired/fruity60/keymaps/default/keymap.c index a6cd15f4e2e5..da31827093f4 100644 --- a/keyboards/handwired/fruity60/keymaps/default/keymap.c +++ b/keyboards/handwired/fruity60/keymaps/default/keymap.c @@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [FN] = LAYOUT_60_tsangan_hhkb( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, RESET, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, QK_BOOT, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/heisenberg/keymaps/default/keymap.c b/keyboards/handwired/heisenberg/keymaps/default/keymap.c index 03c2a21b3b78..81a9cf11c310 100644 --- a/keyboards/handwired/heisenberg/keymaps/default/keymap.c +++ b/keyboards/handwired/heisenberg/keymaps/default/keymap.c @@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_mit( - _______, RESET, EEP_RST, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, EEP_RST, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/hillside/0_1/keymaps/default/readme.md b/keyboards/handwired/hillside/0_1/keymaps/default/readme.md index ae4a5c5648ca..1890d5808c34 100644 --- a/keyboards/handwired/hillside/0_1/keymaps/default/readme.md +++ b/keyboards/handwired/hillside/0_1/keymaps/default/readme.md @@ -133,7 +133,7 @@ Holding down the Num key accesses a number pad and arithmetic symbols: ``` | |QWERT|DVORK|COLMK|AG_SWAP|AG_NORM|-----------------------| | | | | | | | | | | |CTR_S|CTR_N|---------------------------|MOD+ |BRI+ |HUE+ |SAT+ | | | -| RESET | | | | | | |--------------|RGBTOG|MOD- |BRI- |HUE- |SAT- | | | +| QK_BOOT | | | | | | |--------------|RGBTOG|MOD- |BRI- |HUE- |SAT- | | | --------------| |-----| | | | *** |---| *** | | | |-----| |-------------- ``` Simultaneously holding down the Nav and Sym keys enables keys to adjust various keyboard settings: diff --git a/keyboards/handwired/hnah108/keymaps/default/keymap.c b/keyboards/handwired/hnah108/keymaps/default/keymap.c index d4d4cde4b6fe..fd3aedc29dc3 100644 --- a/keyboards/handwired/hnah108/keymaps/default/keymap.c +++ b/keyboards/handwired/hnah108/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_all( - RESET, BL_STEP, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, BL_STEP, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/hnah40/keymaps/default/keymap.c b/keyboards/handwired/hnah40/keymaps/default/keymap.c index 2fc67ba5ecec..ecea89280cdc 100644 --- a/keyboards/handwired/hnah40/keymaps/default/keymap.c +++ b/keyboards/handwired/hnah40/keymaps/default/keymap.c @@ -34,13 +34,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_SPACE, KC_APP, LOWER, KC_RCTL ), [_LOWER] = LAYOUT( /* Base */ - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, RAISE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_COMM, KC_DOT, KC_SLSH, KC_SLSH, KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_SPACE, KC_APP, KC_TRNS, KC_RCTL ), [_RAISE] = LAYOUT( /* Base */ - RESET, KC_1, KC_UP, RGB_TOG, RGB_MOD, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + QK_BOOT, KC_1, KC_UP, RGB_TOG, RGB_MOD, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT , RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE, KC_SPACE, KC_LEFT, KC_DOWN, KC_RGHT diff --git a/keyboards/handwired/hnah40rgb/keymaps/ansi/keymap.c b/keyboards/handwired/hnah40rgb/keymaps/ansi/keymap.c index 320f7d93e4fa..01676f93f834 100644 --- a/keyboards/handwired/hnah40rgb/keymaps/ansi/keymap.c +++ b/keyboards/handwired/hnah40rgb/keymaps/ansi/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, L1, KC_RCTL ), [_L1] = LAYOUT_ansi(/* Base */ - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/handwired/hnah40rgb/keymaps/default/keymap.c b/keyboards/handwired/hnah40rgb/keymaps/default/keymap.c index 2906f8bdbfe2..76101f704b8f 100644 --- a/keyboards/handwired/hnah40rgb/keymaps/default/keymap.c +++ b/keyboards/handwired/hnah40rgb/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_SPACE, KC_RALT, L1, KC_RCTL ), [_L1] = LAYOUT_all(/* Base */ - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_SLSH, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/handwired/ibm_wheelwriter/keymaps/default/keymap.c b/keyboards/handwired/ibm_wheelwriter/keymaps/default/keymap.c index d7156d4c145c..faad04468e50 100644 --- a/keyboards/handwired/ibm_wheelwriter/keymaps/default/keymap.c +++ b/keyboards/handwired/ibm_wheelwriter/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, KC_SPC, KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/ibm_wheelwriter/keymaps/via/keymap.c b/keyboards/handwired/ibm_wheelwriter/keymaps/via/keymap.c index 4390cedeab2e..85db40c0d58a 100644 --- a/keyboards/handwired/ibm_wheelwriter/keymaps/via/keymap.c +++ b/keyboards/handwired/ibm_wheelwriter/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, KC_SPC, KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/jn68m/keymaps/default/keymap.c b/keyboards/handwired/jn68m/keymaps/default/keymap.c index 3860901dd356..8cd1ae4b4cfc 100644 --- a/keyboards/handwired/jn68m/keymaps/default/keymap.c +++ b/keyboards/handwired/jn68m/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS, KC_TRNS + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/handwired/jot50/keymaps/default/keymap.c b/keyboards/handwired/jot50/keymaps/default/keymap.c index 62f0db5b7eea..a2d76dd9a23f 100644 --- a/keyboards/handwired/jot50/keymaps/default/keymap.c +++ b/keyboards/handwired/jot50/keymaps/default/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_ortho_5x12 ( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RESET, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/jotanck/keymaps/default/keymap.c b/keyboards/handwired/jotanck/keymaps/default/keymap.c index 1524c758abe4..f9be53c674c5 100644 --- a/keyboards/handwired/jotanck/keymaps/default/keymap.c +++ b/keyboards/handwired/jotanck/keymaps/default/keymap.c @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_ortho_4x12 ( - _______, RESET, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/lagrange/keymaps/default/keymap.c b/keyboards/handwired/lagrange/keymaps/default/keymap.c index 5f86239a0bbd..db624e9be056 100644 --- a/keyboards/handwired/lagrange/keymaps/default/keymap.c +++ b/keyboards/handwired/lagrange/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12, 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, KC_TRNS, KC_TRNS, RESET, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, QK_BOOT, 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 ), diff --git a/keyboards/handwired/m40/5x5_macropad/keymaps/default/keymap.c b/keyboards/handwired/m40/5x5_macropad/keymaps/default/keymap.c index 5b329dc571cb..6a06b648ef07 100644 --- a/keyboards/handwired/m40/5x5_macropad/keymaps/default/keymap.c +++ b/keyboards/handwired/m40/5x5_macropad/keymaps/default/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ [_BASE] = LAYOUT_ortho_5x5( //┌────────┬────────┬────────┬────────┬────────┐ - KC_ESC, KC_1, KC_2, KC_3, RESET, + KC_ESC, KC_1, KC_2, KC_3, QK_BOOT, //├────────┼────────┼────────┼────────┬────────┤ KC_1, KC_2, KC_3, KC_4, KC_5, //├────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/handwired/macroboard/keymaps/default/keymap.c b/keyboards/handwired/macroboard/keymaps/default/keymap.c index ec587ee25d65..ef09904fc18f 100644 --- a/keyboards/handwired/macroboard/keymaps/default/keymap.c +++ b/keyboards/handwired/macroboard/keymaps/default/keymap.c @@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, - KC_LCTL, KC_LGUI, RGB_TOG, KC_LALT, RESET, KC_SPC + KC_LCTL, KC_LGUI, RGB_TOG, KC_LALT, QK_BOOT, KC_SPC ) }; diff --git a/keyboards/handwired/myskeeb/keymaps/default/keymap.c b/keyboards/handwired/myskeeb/keymaps/default/keymap.c index 61cf607865b1..ccaa9f5d2810 100644 --- a/keyboards/handwired/myskeeb/keymaps/default/keymap.c +++ b/keyboards/handwired/myskeeb/keymaps/default/keymap.c @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, - KC_CAPS, KC_PDOT, KC_PPLS, KC_PMNS, KC_PAST, KC_PSLS, KC_MSEL, KC_MSTP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PWR, RESET, + KC_CAPS, KC_PDOT, KC_PPLS, KC_PMNS, KC_PAST, KC_PSLS, KC_MSEL, KC_MSTP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PWR, QK_BOOT, KC_TAB, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_SLCK, NK_ON, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_LSFT, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_MUTE, KC_MPLY, KC_NLCK, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_TRNS, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, TO(2), KC_HOME, KC_PGDN, KC_PGUP, KC_END diff --git a/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c b/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c index 435eed2f1fcd..d5d88126a18c 100644 --- a/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c +++ b/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c @@ -12,7 +12,7 @@ #define KC_LOWR MO(_LOWER) #define KC_RASE MO(_RAISE) -#define KC_RST RESET +#define KC_RST QK_BOOT #define KC_CAD LCTL(LALT(KC_DEL)) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c index 56938cf62fd1..7c8d2211bb69 100644 --- a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c +++ b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------------' */ [ONE] = LAYOUT( - RESET, KC_CAD, + QK_BOOT, KC_CAD, TO(BASE), TO(TWO), MAKE1, MAKE2, DIR, MAIL1, MAIL2, OBUWUN, SELWP, KC_AF4, SELWN, diff --git a/keyboards/handwired/oem_iso_fullsize/keymaps/default/keymap.c b/keyboards/handwired/oem_iso_fullsize/keymaps/default/keymap.c index 162851e606d5..d09eaee7683d 100644 --- a/keyboards/handwired/oem_iso_fullsize/keymaps/default/keymap.c +++ b/keyboards/handwired/oem_iso_fullsize/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), [1] = LAYOUT( - KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, KC_MPLY, KC_VOLU, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_VOLD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/oem_iso_fullsize/keymaps/via/keymap.c b/keyboards/handwired/oem_iso_fullsize/keymaps/via/keymap.c index bf527e25adfe..9b31f963f839 100644 --- a/keyboards/handwired/oem_iso_fullsize/keymaps/via/keymap.c +++ b/keyboards/handwired/oem_iso_fullsize/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), [1] = LAYOUT( - KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, KC_MPLY, KC_VOLU, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_VOLD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/ortho5x13/keymaps/default/keymap.c b/keyboards/handwired/ortho5x13/keymaps/default/keymap.c index 0c8bbb055ea0..39ae1872a203 100644 --- a/keyboards/handwired/ortho5x13/keymaps/default/keymap.c +++ b/keyboards/handwired/ortho5x13/keymaps/default/keymap.c @@ -151,7 +151,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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_DEL , _______, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/ortho5x14/keymaps/default/keymap.c b/keyboards/handwired/ortho5x14/keymaps/default/keymap.c index 4b788ee6a28c..6a00111b573a 100644 --- a/keyboards/handwired/ortho5x14/keymaps/default/keymap.c +++ b/keyboards/handwired/ortho5x14/keymaps/default/keymap.c @@ -198,7 +198,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, + XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______,_______,_______, _______, _______ diff --git a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c index 48af2a2d0052..948a7bd1bc43 100644 --- a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c +++ b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c @@ -160,7 +160,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12_1x2uC( - _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/p65rgb/keymaps/default/keymap.c b/keyboards/handwired/p65rgb/keymaps/default/keymap.c index 2a9f6cc71214..6e958eedeefe 100644 --- a/keyboards/handwired/p65rgb/keymaps/default/keymap.c +++ b/keyboards/handwired/p65rgb/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_APP, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT( /* FN */ 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, KC_TRNS, KC_TRNS, KC_INS, - 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_HOME, + 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, QK_BOOT, KC_HOME, 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, KC_TRNS, EEP_RST, KC_END, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/handwired/pilcrow/keymaps/default/keymap.c b/keyboards/handwired/pilcrow/keymaps/default/keymap.c index eee0d047056f..d4a8657938aa 100644 --- a/keyboards/handwired/pilcrow/keymaps/default/keymap.c +++ b/keyboards/handwired/pilcrow/keymaps/default/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [3] = LAYOUT( - RESET, KC_UP, _______, _______, _______, _______, _______, KC_WH_D, KC_MS_U, KC_WH_U, + QK_BOOT, KC_UP, _______, _______, _______, _______, _______, KC_WH_D, KC_MS_U, KC_WH_U, KC_LEFT, KC_DOWN, KC_RGHT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_MS_L, KC_MS_D, KC_MS_R, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______ diff --git a/keyboards/handwired/postageboard/keymaps/default/keymap.c b/keyboards/handwired/postageboard/keymaps/default/keymap.c index a42697a9b1d3..9b07d378cf8f 100644 --- a/keyboards/handwired/postageboard/keymaps/default/keymap.c +++ b/keyboards/handwired/postageboard/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_A, KC_1, MO(_FN) ), [_FN] = LAYOUT( - RESET, QMKURL, _______ + QK_BOOT, QMKURL, _______ ) }; diff --git a/keyboards/handwired/prkl30/keymaps/default/keymap.c b/keyboards/handwired/prkl30/keymaps/default/keymap.c index be032739f4bd..6a72afebf9af 100644 --- a/keyboards/handwired/prkl30/keymaps/default/keymap.c +++ b/keyboards/handwired/prkl30/keymaps/default/keymap.c @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* FN * ,------------------------------------------------------------------------------------------. - * |RESET | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |QK_BOOT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------|------| * | |RGB_P |RGB_HD|RGB_HI| VOL- | PREV | NEXT | VOL+ | | | | PRKL | | * |------+------+------+------+------+------+------+------+------+------+------+------|------' @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------+------+------+------+------+------+------+------+------+------+------+------' */ [_FN] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_M_P, RGB_HUD, RGB_HUI, KC_VOLD, KC_MPRV, KC_MNXT, KC_VOLU, _______, _______, _______, PRKL, _______, RGB_MOD, RGB_VAD, RGB_VAI, RGB_TOG, _______, KC_MPLY, _______, _______, _______, _______, LCA(KC_DEL), _______ ), diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c index e12142c50ba6..1903b2f9ba8f 100644 --- a/keyboards/handwired/promethium/keymaps/default/keymap.c +++ b/keyboards/handwired/promethium/keymaps/default/keymap.c @@ -940,7 +940,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_SYS] = LAYOUT( - DEBUG, QWERTY, WIN, XXXXXXX, RESET, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, RGBDEMO, + DEBUG, QWERTY, WIN, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, RGBDEMO, XXXXXXX, FC_TOG, XXXXXXX, DVORAK, XXXXXXX, GLOW, XXXXXXX, XXXXXXX, WORKMAN, LINUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, OUT_BT, NORMAN, OSX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, diff --git a/keyboards/handwired/pterodactyl/keymaps/default/keymap.c b/keyboards/handwired/pterodactyl/keymaps/default/keymap.c index 058631818da7..fece91163166 100644 --- a/keyboards/handwired/pterodactyl/keymaps/default/keymap.c +++ b/keyboards/handwired/pterodactyl/keymaps/default/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | % | ^ | [ | ] | ~ | | & | 1 | 2 | 3 | \ | | * |------+------+------+------+------+------' `------+------+------+------+------+------| - * |RESET | | | | | | | . | 0 | = | | + * |QK_BOOT | | | | | | | . | 0 | = | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/pteron/keymaps/default/keymap.c b/keyboards/handwired/pteron/keymaps/default/keymap.c index 0511fb9263f7..b47ac461243d 100644 --- a/keyboards/handwired/pteron/keymaps/default/keymap.c +++ b/keyboards/handwired/pteron/keymaps/default/keymap.c @@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/pteron38/keymaps/default/keymap.c b/keyboards/handwired/pteron38/keymaps/default/keymap.c index df8028876b6d..5f149add6d04 100644 --- a/keyboards/handwired/pteron38/keymaps/default/keymap.c +++ b/keyboards/handwired/pteron38/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_split_3x5_4( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - _______,_______,_______,KC_F11, KC_F12, KC_INS, _______,RESET, _______,_______, + _______,_______,_______,KC_F11, KC_F12, KC_INS, _______,QK_BOOT, _______,_______, _______,_______,_______,_______, _______,_______,KC_RCTL,KC_RALT ) }; diff --git a/keyboards/handwired/pteron44/keymaps/default/keymap.c b/keyboards/handwired/pteron44/keymaps/default/keymap.c index 9eb2f7ff28ca..a4adc1ca9c09 100644 --- a/keyboards/handwired/pteron44/keymaps/default/keymap.c +++ b/keyboards/handwired/pteron44/keymaps/default/keymap.c @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, DEBUG, RESET, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, DEBUG, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/handwired/reclined/keymaps/default/keymap.c b/keyboards/handwired/reclined/keymaps/default/keymap.c index d814d568c766..b3b411d60b16 100644 --- a/keyboards/handwired/reclined/keymaps/default/keymap.c +++ b/keyboards/handwired/reclined/keymaps/default/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_LCTL, KC_LGUI, KC_LALT, RESET, KC_TAB, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, QK_BOOT, KC_TAB, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), }; diff --git a/keyboards/handwired/riblee_f401/keymaps/default/keymap.c b/keyboards/handwired/riblee_f401/keymaps/default/keymap.c index 4bb18634eba2..6892c0fb4971 100644 --- a/keyboards/handwired/riblee_f401/keymaps/default/keymap.c +++ b/keyboards/handwired/riblee_f401/keymaps/default/keymap.c @@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, LCG_SWP, LCG_NRM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/riblee_f411/keymaps/default/keymap.c b/keyboards/handwired/riblee_f411/keymaps/default/keymap.c index 61b04fe6a1cb..2e9485d6b9fe 100644 --- a/keyboards/handwired/riblee_f411/keymaps/default/keymap.c +++ b/keyboards/handwired/riblee_f411/keymaps/default/keymap.c @@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, LCG_SWP, LCG_NRM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/rs60/keymaps/default/keymap.c b/keyboards/handwired/rs60/keymaps/default/keymap.c index a675c9019c0f..6b311a7ebbd0 100644 --- a/keyboards/handwired/rs60/keymaps/default/keymap.c +++ b/keyboards/handwired/rs60/keymaps/default/keymap.c @@ -155,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/sono1/keymaps/default/keymap.c b/keyboards/handwired/sono1/keymaps/default/keymap.c index 40a49326604c..c0524b0d9660 100644 --- a/keyboards/handwired/sono1/keymaps/default/keymap.c +++ b/keyboards/handwired/sono1/keymaps/default/keymap.c @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { `-------------' */ [_FN] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LSCR, KC_PAUS, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LSCR, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, KC_HOME, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/space_oddity/keymaps/default/keymap.c b/keyboards/handwired/space_oddity/keymaps/default/keymap.c index d3e280d2b515..4e8ee5ddcaae 100644 --- a/keyboards/handwired/space_oddity/keymaps/default/keymap.c +++ b/keyboards/handwired/space_oddity/keymaps/default/keymap.c @@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | * |___________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|___________| * | | | | | | | | | | | | | - * | |RESET| | | | | | | | | | | + * | |QK_BOOT| | | | | | | | | | | * |_________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_________| * | | | | | | | | | | | * | | | | | | | | | | F(2)| @@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(2) ) }; diff --git a/keyboards/handwired/splittest/keymaps/default/keymap.c b/keyboards/handwired/splittest/keymaps/default/keymap.c index 1c15f6f1dfa0..0057478c1c2a 100644 --- a/keyboards/handwired/splittest/keymaps/default/keymap.c +++ b/keyboards/handwired/splittest/keymaps/default/keymap.c @@ -1,5 +1,5 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(RGB_MOD, RESET) + [0] = LAYOUT(RGB_MOD, QK_BOOT) }; diff --git a/keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c index 5de5c631449f..a531a24f7dcf 100644 --- a/keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ), [2] = LAYOUT_65_ansi( 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, diff --git a/keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c index d3bffe8c4ce2..01d3241482e5 100644 --- a/keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ), [2] = LAYOUT_65_ansi( 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, diff --git a/keyboards/handwired/swiftrax/digicarpice/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/digicarpice/keymaps/default/keymap.c index ed7cf4379ebc..1365d7b4a364 100644 --- a/keyboards/handwired/swiftrax/digicarpice/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/digicarpice/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_split_bs( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, diff --git a/keyboards/handwired/swiftrax/digicarpice/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/digicarpice/keymaps/via/keymap.c index f97ac8bc8d5e..4ee34ebfe33f 100644 --- a/keyboards/handwired/swiftrax/digicarpice/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/digicarpice/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_split_bs( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, diff --git a/keyboards/handwired/swiftrax/equator/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/equator/keymaps/default/keymap.c index fab6858a66b7..2752ee625a32 100644 --- a/keyboards/handwired/swiftrax/equator/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/equator/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL ), [1] = LAYOUT_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, diff --git a/keyboards/handwired/swiftrax/equator/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/equator/keymaps/via/keymap.c index dbe208f2f880..a500ddb3d26b 100644 --- a/keyboards/handwired/swiftrax/equator/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/equator/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL ), [1] = LAYOUT_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, diff --git a/keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c index fb35e695e219..b21f56c40ede 100644 --- a/keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ), [2] = LAYOUT_65_ansi( 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, diff --git a/keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c index 74d650bf5ec3..bc68fca2e3bf 100644 --- a/keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ), [2] = LAYOUT_65_ansi( 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, diff --git a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c index b30aa81f2d62..8062aa711f17 100644 --- a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c +++ b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c @@ -182,7 +182,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Adjust (Lower + Raise) * ,-----------------------------------------------------------------------------------. - * | | | | | |RESET | |TermOn|TermOf| | | Del | + * | | | | | |QK_BOOT | |TermOn|TermOf| | | Del | * |------+------+------+------+------+-------------+------+------+------+------+------| * | | | | | | | |Qwerty|Colemk|Dvorak| | | * |------+------+------+------+------+-------------+------+------+------+------+------| @@ -193,7 +193,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( - _______, _______, _______, _______, _______, RESET, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, + _______, _______, _______, _______, _______, QK_BOOT, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/terminus_mini/keymaps/default/readme.md b/keyboards/handwired/terminus_mini/keymaps/default/readme.md index b192a88b7146..4c04aa017003 100644 --- a/keyboards/handwired/terminus_mini/keymaps/default/readme.md +++ b/keyboards/handwired/terminus_mini/keymaps/default/readme.md @@ -149,7 +149,7 @@ keys. ### ADJUST - Keyboard Settings: Primarily used to change the base layer at this stage ``` ,----------------------------------------------------------------------------------. -| | | | | |RESET | |TermOn|TermOf| | | Del | +| | | | | |QK_BOOT | |TermOn|TermOf| | | Del | |------+------+------+------+------+------+-----+------+------+------+------+------| | | | | | | | |Qwerty|Colemk|Dvorak| | | |------+------+------+------+------+------+-----+------+------+------+------+------| diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c index d79f60b12c6f..6f56f886e01e 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c +++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LOWER] = LAYOUT_4x6_right( - _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, KC_PLUS, + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, QK_BOOT, KC_PLUS, _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS,KC_PIPE, _______,_______,_______,_______,_______,_______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, _______,KC_PSCR, _______, KC_P0, @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_RAISE] = LAYOUT_4x6_right( - _______,RESET, _______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS, KC_SLCK,KC_MUTE, + _______,QK_BOOT, _______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS, KC_SLCK,KC_MUTE, _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, _______,_______, KC_EQL ,_______, diff --git a/keyboards/handwired/tritium_numpad/keymaps/default/keymap.c b/keyboards/handwired/tritium_numpad/keymaps/default/keymap.c index 60430217b93e..0ca7d512f4fa 100644 --- a/keyboards/handwired/tritium_numpad/keymaps/default/keymap.c +++ b/keyboards/handwired/tritium_numpad/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_P7, KC_P8, KC_P9, - KC_P4, KC_P5, KC_P6, RESET, + KC_P4, KC_P5, KC_P6, QK_BOOT, KC_P1, KC_P2, KC_P3, KC_P0, LT(_FL,KC_PDOT), KC_PENT ), diff --git a/keyboards/handwired/uthol/keymaps/default/keymap.c b/keyboards/handwired/uthol/keymaps/default/keymap.c index d33f3eb6b69a..118ea6872fac 100644 --- a/keyboards/handwired/uthol/keymaps/default/keymap.c +++ b/keyboards/handwired/uthol/keymaps/default/keymap.c @@ -30,5 +30,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_COLEMAK] = LAYOUT_uthol(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, SETTINGS, KC_LGUI, KC_LALT, RAISE, KC_SPC, LOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT), [_LOWER] = LAYOUT_uthol(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_MINS, KC_EQL, KC_INS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS, KC_P0, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT), [_RAISE] = LAYOUT_uthol(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_BSLS, KC_P0, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT), - [_SETTINGS] = LAYOUT_uthol(QWERTY, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_PWR, KC_NO, KC_SLCK, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NLCK, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAI, RGB_SAI, RGB_MODE_PLAIN, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MODE_REVERSE, RGB_VAD, RGB_VAI, RGB_MODE_FORWARD) + [_SETTINGS] = LAYOUT_uthol(QWERTY, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_PWR, KC_NO, KC_SLCK, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NLCK, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAI, RGB_SAI, RGB_MODE_PLAIN, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MODE_REVERSE, RGB_VAD, RGB_VAI, RGB_MODE_FORWARD) }; diff --git a/keyboards/handwired/videowriter/keymaps/default/keymap.c b/keyboards/handwired/videowriter/keymaps/default/keymap.c index 527ee6fffc9a..49c706cef989 100644 --- a/keyboards/handwired/videowriter/keymaps/default/keymap.c +++ b/keyboards/handwired/videowriter/keymaps/default/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------------------------------------------------------------------' */ [_FN1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME, _______, KC_WH_U, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, diff --git a/keyboards/handwired/videowriter/keymaps/via/keymap.c b/keyboards/handwired/videowriter/keymaps/via/keymap.c index e75ab17085d0..1988587ff3b6 100644 --- a/keyboards/handwired/videowriter/keymaps/via/keymap.c +++ b/keyboards/handwired/videowriter/keymaps/via/keymap.c @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_PAUS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_PAUS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U ,_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_RCTRL, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, diff --git a/keyboards/handwired/wakizashi40/keymaps/default/keymap.c b/keyboards/handwired/wakizashi40/keymaps/default/keymap.c index 910e5bde123b..c8b3d2120e4f 100644 --- a/keyboards/handwired/wakizashi40/keymaps/default/keymap.c +++ b/keyboards/handwired/wakizashi40/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), [3] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/handwired/wakizashi40/keymaps/via/keymap.c b/keyboards/handwired/wakizashi40/keymaps/via/keymap.c index fb9d37ac2042..4de85e5e3c63 100644 --- a/keyboards/handwired/wakizashi40/keymaps/via/keymap.c +++ b/keyboards/handwired/wakizashi40/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), [3] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/handwired/woodpad/keymaps/default/keymap.c b/keyboards/handwired/woodpad/keymaps/default/keymap.c index 059d4608761d..d57efd8c1170 100644 --- a/keyboards/handwired/woodpad/keymaps/default/keymap.c +++ b/keyboards/handwired/woodpad/keymaps/default/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______ ), [_ADJUST] = LAYOUT_ortho_5x4( /* Base */ - _______, KC_A, _______, RESET, + _______, KC_A, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/wulkan/keymaps/default/keymap.c b/keyboards/handwired/wulkan/keymaps/default/keymap.c index ad503114fc8d..6ae4ad0b864e 100644 --- a/keyboards/handwired/wulkan/keymaps/default/keymap.c +++ b/keyboards/handwired/wulkan/keymaps/default/keymap.c @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, KC_WH_U, _______, _______, KC_MS_U, _______, _______, XP(SE_ARNG_LOW, SE_ARNG_HIGH), KC_DEL, + _______, QK_BOOT, _______, _______, KC_WH_U, _______, _______, KC_MS_U, _______, _______, XP(SE_ARNG_LOW, SE_ARNG_HIGH), KC_DEL, _______, _______, _______, _______, KC_WH_D, _______, KC_MS_L, KC_MS_D, KC_MS_R, XP(SE_ODIA_LOW, SE_ODIA_HIGH), XP(SE_ADIA_LOW, SE_ADIA_HIGH), _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, KC_BTN1, _______, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/zergo/keymaps/default/keymap.c b/keyboards/handwired/zergo/keymaps/default/keymap.c index 19a2b9b2c85a..3408e9f44359 100644 --- a/keyboards/handwired/zergo/keymaps/default/keymap.c +++ b/keyboards/handwired/zergo/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { K_CEND, KC_NO, KC_NO, KC_LALT, KC_SPC, KC_ENT, K_SPCFN, KC_RALT, KC_APP, KC_RGUI, K_CPGDN), [l_arrows] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, KC_UP, KC_BSPC, _______, _______, _______, _______, diff --git a/keyboards/hardlineworks/otd_plus/keymaps/default/keymap.c b/keyboards/hardlineworks/otd_plus/keymaps/default/keymap.c index 397b815bd105..22fe42b3ab68 100644 --- a/keyboards/hardlineworks/otd_plus/keymaps/default/keymap.c +++ b/keyboards/hardlineworks/otd_plus/keymaps/default/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_tkl_ansi_wkl( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/heliar/wm1_hotswap/keymaps/default/keymap.c b/keyboards/heliar/wm1_hotswap/keymaps/default/keymap.c index b1cd519ae599..c4e4408f9efb 100644 --- a/keyboards/heliar/wm1_hotswap/keymaps/default/keymap.c +++ b/keyboards/heliar/wm1_hotswap/keymaps/default/keymap.c @@ -16,7 +16,7 @@ KC_LCTL, KC_LALT,KC_LGUI,KC_SPC, LT(_FN,KC_SPC), KC_RA [_FN] = LAYOUT( 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, _______, _______, -RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/helix/pico/keymaps/default/keymap.c b/keyboards/helix/pico/keymaps/default/keymap.c index 11ee30258c94..ab68bc52433e 100644 --- a/keyboards/helix/pico/keymaps/default/keymap.c +++ b/keyboards/helix/pico/keymaps/default/keymap.c @@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT( - _______, RESET, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AU_ON, AU_OFF, MU_TOG, MU_MOD, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, CK_TOGG, CK_RST, CK_UP, CK_DOWN, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c index c3994d3184a9..c7c65acaeaae 100644 --- a/keyboards/helix/rev2/keymaps/default/keymap.c +++ b/keyboards/helix/rev2/keymaps/default/keymap.c @@ -172,7 +172,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD @@ -285,7 +285,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT( - _______, RESET, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD diff --git a/keyboards/helix/rev3_4rows/keymaps/default/keymap.c b/keyboards/helix/rev3_4rows/keymaps/default/keymap.c index 3ef5e476e93c..d98362f19423 100644 --- a/keyboards/helix/rev3_4rows/keymaps/default/keymap.c +++ b/keyboards/helix/rev3_4rows/keymaps/default/keymap.c @@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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, RGBRST, EEP_RST, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, RGBRST, EEP_RST, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD ) diff --git a/keyboards/helix/rev3_4rows/keymaps/via/keymap.c b/keyboards/helix/rev3_4rows/keymaps/via/keymap.c index 3c152f9c914a..5633594bf505 100644 --- a/keyboards/helix/rev3_4rows/keymaps/via/keymap.c +++ b/keyboards/helix/rev3_4rows/keymaps/via/keymap.c @@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD ) diff --git a/keyboards/helix/rev3_5rows/keymaps/default/keymap.c b/keyboards/helix/rev3_5rows/keymaps/default/keymap.c index f744f826815e..7799708073be 100644 --- a/keyboards/helix/rev3_5rows/keymaps/default/keymap.c +++ b/keyboards/helix/rev3_5rows/keymaps/default/keymap.c @@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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, RGBRST, EEP_RST, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, RGBRST, EEP_RST, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD diff --git a/keyboards/helix/rev3_5rows/keymaps/via/keymap.c b/keyboards/helix/rev3_5rows/keymaps/via/keymap.c index 43ea393a87db..3dd9f2c630aa 100644 --- a/keyboards/helix/rev3_5rows/keymaps/via/keymap.c +++ b/keyboards/helix/rev3_5rows/keymaps/via/keymap.c @@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD diff --git a/keyboards/hhkb_lite_2/keymaps/default/keymap.c b/keyboards/hhkb_lite_2/keymaps/default/keymap.c index dd2d552e0b52..e69dacc791dc 100644 --- a/keyboards/hhkb_lite_2/keymaps/default/keymap.c +++ b/keyboards/hhkb_lite_2/keymaps/default/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT ), LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, diff --git a/keyboards/hhkb_lite_2/keymaps/via/keymap.c b/keyboards/hhkb_lite_2/keymaps/via/keymap.c index 7cbe7331c3d7..953bed291e09 100644 --- a/keyboards/hhkb_lite_2/keymaps/via/keymap.c +++ b/keyboards/hhkb_lite_2/keymaps/via/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT ), LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, diff --git a/keyboards/hidtech/bastyl/keymaps/default/keymap.c b/keyboards/hidtech/bastyl/keymaps/default/keymap.c index d6d291af54dc..15127838cea7 100644 --- a/keyboards/hidtech/bastyl/keymaps/default/keymap.c +++ b/keyboards/hidtech/bastyl/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, //---------------------------------------------------------//-----------------------------------------------------------// - RESET, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS, + QK_BOOT, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS, //---------------------------------------------------------//-----------------------------------------------------------// _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE, //---------------------------------------------------------//-----------------------------------------------------------// @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //---------------------------------------------------------//--------------------------------------------------------------// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, //---------------------------------------------------------//--------------------------------------------------------------// - KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, RESET, + KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, QK_BOOT, KC_SPC, KC_BSPC, KC_RCTL, KC_ENT ), }; diff --git a/keyboards/hineybush/h10/keymaps/default/keymap.c b/keyboards/hineybush/h10/keymaps/default/keymap.c index 125cce88bf88..806f2918a51c 100644 --- a/keyboards/hineybush/h10/keymaps/default/keymap.c +++ b/keyboards/hineybush/h10/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, RESET + KC_TRNS, KC_TRNS, QK_BOOT ), }; diff --git a/keyboards/hineybush/h10/keymaps/via/keymap.c b/keyboards/hineybush/h10/keymaps/via/keymap.c index 5b6d9a3e4fbf..d5b386f2f22f 100644 --- a/keyboards/hineybush/h10/keymaps/via/keymap.c +++ b/keyboards/hineybush/h10/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, RESET + KC_TRNS, KC_TRNS, QK_BOOT ), [2] = LAYOUT_numpad_6x4( KC_VOLU, KC_MPLY, KC_MNXT, KC_TRNS, diff --git a/keyboards/hineybush/h60/keymaps/default/keymap.c b/keyboards/hineybush/h60/keymaps/default/keymap.c index 9195da4b8587..5930c59e09d8 100644 --- a/keyboards/hineybush/h60/keymaps/default/keymap.c +++ b/keyboards/hineybush/h60/keymaps/default/keymap.c @@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_60_ansi( KC_TRNS, BL_TOGG, BL_DEC, BL_INC, 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hineybush/h60/keymaps/via/keymap.c b/keyboards/hineybush/h60/keymaps/via/keymap.c index 5f733767015d..ed36e977bbb3 100644 --- a/keyboards/hineybush/h60/keymaps/via/keymap.c +++ b/keyboards/hineybush/h60/keymaps/via/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_SPC, KC_TRNS, KC_RALT, MO(1), KC_RGUI, KC_RCTL), LAYOUT_all( KC_TRNS, BL_TOGG, BL_DEC, BL_INC, 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hineybush/h65/keymaps/default/keymap.c b/keyboards/hineybush/h65/keymaps/default/keymap.c index fba330a0cbc0..1d6d04105302 100644 --- a/keyboards/hineybush/h65/keymaps/default/keymap.c +++ b/keyboards/hineybush/h65/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_all( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, 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_PGDN, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/h65/keymaps/via/keymap.c b/keyboards/hineybush/h65/keymaps/via/keymap.c index c0abf9864ae9..a2f7d371eb83 100644 --- a/keyboards/hineybush/h65/keymaps/via/keymap.c +++ b/keyboards/hineybush/h65/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_all( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, 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_PGDN, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/h65_hotswap/keymaps/default/keymap.c b/keyboards/hineybush/h65_hotswap/keymaps/default/keymap.c index fba330a0cbc0..1d6d04105302 100644 --- a/keyboards/hineybush/h65_hotswap/keymaps/default/keymap.c +++ b/keyboards/hineybush/h65_hotswap/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_all( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, 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_PGDN, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/h65_hotswap/keymaps/via/keymap.c b/keyboards/hineybush/h65_hotswap/keymaps/via/keymap.c index c0abf9864ae9..a2f7d371eb83 100644 --- a/keyboards/hineybush/h65_hotswap/keymaps/via/keymap.c +++ b/keyboards/hineybush/h65_hotswap/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT_all( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, 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_PGDN, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/h660s/keymaps/default/keymap.c b/keyboards/hineybush/h660s/keymaps/default/keymap.c index ceefb00f2be7..4f65a4871b2b 100644 --- a/keyboards/hineybush/h660s/keymaps/default/keymap.c +++ b/keyboards/hineybush/h660s/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [_FN] = LAYOUT_66_ansi_rwkl( KC_TRNS, RGB_TOG, RGB_MOD, BL_TOGG, BL_DEC, BL_INC, 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, RESET, 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, QK_BOOT, 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, 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, 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) diff --git a/keyboards/hineybush/h660s/keymaps/via/keymap.c b/keyboards/hineybush/h660s/keymaps/via/keymap.c index 146aa7779378..b7b7ad45f8f6 100644 --- a/keyboards/hineybush/h660s/keymaps/via/keymap.c +++ b/keyboards/hineybush/h660s/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [_FN] = LAYOUT_all( KC_TRNS, RGB_TOG, RGB_MOD, BL_TOGG, BL_DEC, BL_INC, 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, RESET, 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, QK_BOOT, 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, 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, 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), diff --git a/keyboards/hineybush/h75_singa/keymaps/default/keymap.c b/keyboards/hineybush/h75_singa/keymaps/default/keymap.c index 1a1231d0f3d6..75726c5cdb30 100644 --- a/keyboards/hineybush/h75_singa/keymaps/default/keymap.c +++ b/keyboards/hineybush/h75_singa/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, 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,RGB_TOG, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_MOD, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_MOD, 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,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,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS diff --git a/keyboards/hineybush/h75_singa/keymaps/via/keymap.c b/keyboards/hineybush/h75_singa/keymaps/via/keymap.c index 0a4b3eea4b79..71a96396de5e 100644 --- a/keyboards/hineybush/h75_singa/keymaps/via/keymap.c +++ b/keyboards/hineybush/h75_singa/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, 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,RGB_TOG, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_MOD, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_MOD, 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,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,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS diff --git a/keyboards/hineybush/h87a/keymaps/default/keymap.c b/keyboards/hineybush/h87a/keymaps/default/keymap.c index c26a54527bfd..199e18aa7791 100644 --- a/keyboards/hineybush/h87a/keymaps/default/keymap.c +++ b/keyboards/hineybush/h87a/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hineybush/h87a/keymaps/via/keymap.c b/keyboards/hineybush/h87a/keymaps/via/keymap.c index d248a6d4a3de..e49b800db6b2 100644 --- a/keyboards/hineybush/h87a/keymaps/via/keymap.c +++ b/keyboards/hineybush/h87a/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hineybush/h87a/keymaps/wkl/keymap.c b/keyboards/hineybush/h87a/keymaps/wkl/keymap.c index 208cd3b3476d..6fb0f2bf0d1c 100644 --- a/keyboards/hineybush/h87a/keymaps/wkl/keymap.c +++ b/keyboards/hineybush/h87a/keymaps/wkl/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi_wkl( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS ), diff --git a/keyboards/hineybush/h88/keymaps/default/keymap.c b/keyboards/hineybush/h88/keymaps/default/keymap.c index c4f1cf4e94d0..f131666c7cb8 100644 --- a/keyboards/hineybush/h88/keymaps/default/keymap.c +++ b/keyboards/hineybush/h88/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hineybush/h88/keymaps/via/keymap.c b/keyboards/hineybush/h88/keymaps/via/keymap.c index 0e6bd37c1b46..99ae4fa7842f 100644 --- a/keyboards/hineybush/h88/keymaps/via/keymap.c +++ b/keyboards/hineybush/h88/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hineybush/h88/keymaps/wkl/keymap.c b/keyboards/hineybush/h88/keymaps/wkl/keymap.c index 12f225289a59..0ee79ddf4590 100644 --- a/keyboards/hineybush/h88/keymaps/wkl/keymap.c +++ b/keyboards/hineybush/h88/keymaps/wkl/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi_wkl( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, 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, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS ), diff --git a/keyboards/hineybush/hbcp/keymaps/default/keymap.c b/keyboards/hineybush/hbcp/keymaps/default/keymap.c index 19f67669f2eb..b430db909eb4 100644 --- a/keyboards/hineybush/hbcp/keymaps/default/keymap.c +++ b/keyboards/hineybush/hbcp/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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_PSCR, KC_SLCK,KC_HOME, KC_END, 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, RGB_HUD, RGB_HUI,KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, QK_BOOT ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI,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, RGB_VAD, RGB_VAI,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_VOLU, RGB_TOG, RGB_MOD,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, KC_TRNS,KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/hbcp/keymaps/via/keymap.c b/keyboards/hineybush/hbcp/keymaps/via/keymap.c index 8a260cee8fe5..d6b481bda2af 100644 --- a/keyboards/hineybush/hbcp/keymaps/via/keymap.c +++ b/keyboards/hineybush/hbcp/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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_PSCR, KC_SLCK,KC_HOME, KC_END, 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, RGB_HUD, RGB_HUI,KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, QK_BOOT ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI,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, RGB_VAD, RGB_VAI,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_VOLU, RGB_TOG, RGB_MOD,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, KC_TRNS,KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/hbcp/keymaps/wkl/keymap.c b/keyboards/hineybush/hbcp/keymaps/wkl/keymap.c index 948b914e1902..b0166f9beae9 100644 --- a/keyboards/hineybush/hbcp/keymaps/wkl/keymap.c +++ b/keyboards/hineybush/hbcp/keymaps/wkl/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_wkl( 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_PSCR, KC_SLCK,KC_HOME, KC_END, 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, RGB_HUD, RGB_HUI,KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, QK_BOOT ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI,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, RGB_VAD, RGB_VAI,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_VOLU, RGB_TOG, RGB_MOD,KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, KC_TRNS,KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/hineyg80/keymaps/default/keymap.c b/keyboards/hineybush/hineyg80/keymaps/default/keymap.c index c87dd24bd1a5..d172364f8f5a 100644 --- a/keyboards/hineybush/hineyg80/keymaps/default/keymap.c +++ b/keyboards/hineybush/hineyg80/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi_100u_mods( /* Fn */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_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, 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_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , 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, KC_TRNS, QK_BOOT , 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_CAPS, 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, 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, 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 diff --git a/keyboards/hineybush/hineyg80/keymaps/wkl/keymap.c b/keyboards/hineybush/hineyg80/keymaps/wkl/keymap.c index d5664a97eab9..3d879d4ad854 100644 --- a/keyboards/hineybush/hineyg80/keymaps/wkl/keymap.c +++ b/keyboards/hineybush/hineyg80/keymaps/wkl/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi_150u_mods( /* Fn */______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, ______, ______, ______, KC_VOLD, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_DEL, ______, ______, ______, ______, - ______, ______, ______, ______, RESET , ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, + ______, ______, ______, ______, QK_BOOT , ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_CAPS, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ diff --git a/keyboards/hineybush/ibis/keymaps/default/keymap.c b/keyboards/hineybush/ibis/keymaps/default/keymap.c index 46f0d0221e4f..12860c0c0405 100644 --- a/keyboards/hineybush/ibis/keymaps/default/keymap.c +++ b/keyboards/hineybush/ibis/keymaps/default/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( 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, KC_TRNS, KC_TRNS, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, QK_BOOT ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_MPLY, KC_LALT, KC_TRNS, KC_RGUI, KC_MPRV, KC_VOLD, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/ibis/keymaps/via/keymap.c b/keyboards/hineybush/ibis/keymaps/via/keymap.c index d406afb05235..84a0e4415013 100644 --- a/keyboards/hineybush/ibis/keymaps/via/keymap.c +++ b/keyboards/hineybush/ibis/keymaps/via/keymap.c @@ -20,21 +20,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( 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, KC_TRNS, KC_TRNS, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, QK_BOOT ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_LALT, KC_TRNS, KC_RGUI, KC_MPRV, KC_VOLD, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS ), [2] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,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, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,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, KC_TRNS,KC_TRNS, QK_BOOT ,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, KC_TRNS, KC_TRNS,KC_TRNS, QK_BOOT ,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, 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, 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, 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 ), [3] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,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, KC_TRNS, KC_TRNS,KC_TRNS, RESET ,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, KC_TRNS,KC_TRNS, QK_BOOT ,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, KC_TRNS, KC_TRNS,KC_TRNS, QK_BOOT ,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, 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, 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, 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 diff --git a/keyboards/hineybush/physix/keymaps/default/keymap.c b/keyboards/hineybush/physix/keymaps/default/keymap.c index fbd5dd60b20c..262556e93588 100644 --- a/keyboards/hineybush/physix/keymaps/default/keymap.c +++ b/keyboards/hineybush/physix/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_split_bksp_275_rspace( KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, BL_TOGG, BL_INC, BL_DEC, KC_TRNS, KC_TRNS, KC_INS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, 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_END, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/physix/keymaps/via/keymap.c b/keyboards/hineybush/physix/keymaps/via/keymap.c index 884147f14123..42387dc25118 100644 --- a/keyboards/hineybush/physix/keymaps/via/keymap.c +++ b/keyboards/hineybush/physix/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_split_bksp_275_rspace( 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, KC_TRNS, KC_TRNS, KC_INS, - KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, BL_BRTG, BL_TOGG, BL_INC, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/sm68/keymaps/default/keymap.c b/keyboards/hineybush/sm68/keymaps/default/keymap.c index d7b3261775f2..ea484bbc4982 100644 --- a/keyboards/hineybush/sm68/keymaps/default/keymap.c +++ b/keyboards/hineybush/sm68/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_68_ansi_split_rshift( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RGB_TOG, RGB_MOD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/hineybush/sm68/keymaps/via/keymap.c b/keyboards/hineybush/sm68/keymaps/via/keymap.c index cbfaae4d9cb7..b893308af770 100644 --- a/keyboards/hineybush/sm68/keymaps/via/keymap.c +++ b/keyboards/hineybush/sm68/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_68_ansi_split_rshift( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RGB_TOG, RGB_MOD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/hnahkb/freyr/keymaps/default/keymap.c b/keyboards/hnahkb/freyr/keymaps/default/keymap.c index f7ade501fb46..eb6ca981e3c2 100644 --- a/keyboards/hnahkb/freyr/keymaps/default/keymap.c +++ b/keyboards/hnahkb/freyr/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, LOWER, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_LOWER] = LAYOUT_tkl_iso( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/hnahkb/stella/keymaps/default/keymap.c b/keyboards/hnahkb/stella/keymaps/default/keymap.c index d8a8f47ba680..c4808bcef177 100644 --- a/keyboards/hnahkb/stella/keymaps/default/keymap.c +++ b/keyboards/hnahkb/stella/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, LOWER, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_LOWER] = LAYOUT_tkl_iso( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/holyswitch/southpaw75/keymaps/default/keymap.c b/keyboards/holyswitch/southpaw75/keymaps/default/keymap.c index 29675ef77356..e405f61d906f 100644 --- a/keyboards/holyswitch/southpaw75/keymaps/default/keymap.c +++ b/keyboards/holyswitch/southpaw75/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, KC_TRNS, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/holyswitch/southpaw75/keymaps/via/keymap.c b/keyboards/holyswitch/southpaw75/keymaps/via/keymap.c index cfca6b435d05..450e55bf8d14 100644 --- a/keyboards/holyswitch/southpaw75/keymaps/via/keymap.c +++ b/keyboards/holyswitch/southpaw75/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, KC_TRNS, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c index 48416c84c9c8..3a9149453648 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_FN] = LAYOUT_65_ansi( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, RGB_HUI, RGB_MOD, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, KC_HOME, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, KC_END, diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/via/keymap.c b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/via/keymap.c index 48416c84c9c8..3a9149453648 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/via/keymap.c +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/via/keymap.c @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_FN] = LAYOUT_65_ansi( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, RGB_HUI, RGB_MOD, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, KC_HOME, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, KC_END, diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c index 641e0e5381a8..80bdeacc2bd9 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_FN] = LAYOUT_tkl_ansi( - RESET, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG, + QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_C_E, _______, _______, _______, G1_HUD, G1_HUI, G1_SAD, G1_SAI, G1_VAD, G1_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_WAVE), _______, G2_HUD, G2_HUI, G2_SAD, G2_SAI, G2_VAD, G2_VAI, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/keymap.c b/keyboards/horrortroll/handwired_k552/keymaps/via/keymap.c index 641e0e5381a8..80bdeacc2bd9 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/keymap.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/keymap.c @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_FN] = LAYOUT_tkl_ansi( - RESET, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG, + QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_C_E, _______, _______, _______, G1_HUD, G1_HUI, G1_SAD, G1_SAI, G1_VAD, G1_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_WAVE), _______, G2_HUD, G2_HUI, G2_SAD, G2_SAI, G2_VAD, G2_VAI, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/horrortroll/paws60/keymaps/default/keymap.c b/keyboards/horrortroll/paws60/keymaps/default/keymap.c index 33319041d52f..1343528b48fd 100644 --- a/keyboards/horrortroll/paws60/keymaps/default/keymap.c +++ b/keyboards/horrortroll/paws60/keymaps/default/keymap.c @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_FN] = LAYOUT_60_ansi_split_bs_rshift( 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, _______, KC_DEL, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/horrortroll/paws60/keymaps/via/keymap.c b/keyboards/horrortroll/paws60/keymaps/via/keymap.c index 33319041d52f..1343528b48fd 100644 --- a/keyboards/horrortroll/paws60/keymaps/via/keymap.c +++ b/keyboards/horrortroll/paws60/keymaps/via/keymap.c @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_FN] = LAYOUT_60_ansi_split_bs_rshift( 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, _______, KC_DEL, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/hp69/keymaps/default/keymap.c b/keyboards/hp69/keymaps/default/keymap.c index e7f4d7f75924..b0fe42d1e8b2 100644 --- a/keyboards/hp69/keymaps/default/keymap.c +++ b/keyboards/hp69/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MODE_FORWARD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MODE_RGBTEST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/hp69/keymaps/via/keymap.c b/keyboards/hp69/keymaps/via/keymap.c index a4743af6237b..20d24538b318 100644 --- a/keyboards/hp69/keymaps/via/keymap.c +++ b/keyboards/hp69/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, RGB_TOG, RGB_MODE_FORWARD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MODE_RGBTEST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/hs60/v1/keymaps/ansi/keymap.c b/keyboards/hs60/v1/keymaps/ansi/keymap.c index 9cb6d9e25416..9155aaa74167 100644 --- a/keyboards/hs60/v1/keymaps/ansi/keymap.c +++ b/keyboards/hs60/v1/keymaps/ansi/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi( /* FN */ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL , - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hs60/v1/keymaps/default/keymap.c b/keyboards/hs60/v1/keymaps/default/keymap.c index 222ac0e4b1fa..a748e3e3241c 100644 --- a/keyboards/hs60/v1/keymaps/default/keymap.c +++ b/keyboards/hs60/v1/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_iso( /* FN */ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL , - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hs60/v2/ansi/keymaps/default/keymap.c b/keyboards/hs60/v2/ansi/keymaps/default/keymap.c index 228e6ac19d73..359e0ccf17fb 100644 --- a/keyboards/hs60/v2/ansi/keymaps/default/keymap.c +++ b/keyboards/hs60/v2/ansi/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi( /* FN */ 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, KC_DEL , - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hs60/v2/ansi/keymaps/via/keymap.c b/keyboards/hs60/v2/ansi/keymaps/via/keymap.c index 228e6ac19d73..359e0ccf17fb 100644 --- a/keyboards/hs60/v2/ansi/keymaps/via/keymap.c +++ b/keyboards/hs60/v2/ansi/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi( /* FN */ 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, KC_DEL , - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c b/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c index 86912e9d3656..767920882cf4 100644 --- a/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c +++ b/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), [1] = LAYOUT_60_hhkb( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_UP, KC_TRNS, KC_DEL, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, diff --git a/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c b/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c index 86912e9d3656..767920882cf4 100644 --- a/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c +++ b/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), [1] = LAYOUT_60_hhkb( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_UP, KC_TRNS, KC_DEL, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, diff --git a/keyboards/hs60/v2/iso/keymaps/default/keymap.c b/keyboards/hs60/v2/iso/keymaps/default/keymap.c index c4e8930b225c..984175788f3a 100644 --- a/keyboards/hs60/v2/iso/keymaps/default/keymap.c +++ b/keyboards/hs60/v2/iso/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_iso( /* FN */ 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, KC_DEL , - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hs60/v2/iso/keymaps/via/keymap.c b/keyboards/hs60/v2/iso/keymaps/via/keymap.c index c4e8930b225c..984175788f3a 100644 --- a/keyboards/hs60/v2/iso/keymaps/via/keymap.c +++ b/keyboards/hs60/v2/iso/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_iso( /* FN */ 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, KC_DEL , - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/hub16/keymaps/default/keymap.c b/keyboards/hub16/keymaps/default/keymap.c index 1c1d188f29e8..efe10d3743d1 100755 --- a/keyboards/hub16/keymaps/default/keymap.c +++ b/keyboards/hub16/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_MOD, RGB_RMOD, RGB_TOG, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, - _______, _______, RESET, _______ + _______, _______, QK_BOOT, _______ ), }; diff --git a/keyboards/hub16/keymaps/via/keymap.c b/keyboards/hub16/keymaps/via/keymap.c index c7facf2ed4f5..1f5a4d4b120e 100755 --- a/keyboards/hub16/keymaps/via/keymap.c +++ b/keyboards/hub16/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_MOD, RGB_RMOD, RGB_TOG, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, - _______, _______, RESET, _______ + _______, _______, QK_BOOT, _______ ), [2] = LAYOUT( diff --git a/keyboards/hub20/keymaps/default/keymap.c b/keyboards/hub20/keymaps/default/keymap.c index a0f048825e7b..26a3a5b5fa1b 100644 --- a/keyboards/hub20/keymaps/default/keymap.c +++ b/keyboards/hub20/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PENT, KC_PDOT, KC_P0, KC_P0 ), [1] = LAYOUT_all( - RESET, _______, + QK_BOOT, _______, RGB_TOG, RGB_RMOD, RGB_MOD, _______, _______, RGB_VAD, RGB_VAI, _______, _______, RGB_HUD, RGB_HUI, _______, diff --git a/keyboards/hub20/keymaps/via/keymap.c b/keyboards/hub20/keymaps/via/keymap.c index 3f3f3ebd8642..bf36d42ab73f 100644 --- a/keyboards/hub20/keymaps/via/keymap.c +++ b/keyboards/hub20/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PENT, KC_PDOT, KC_P0, KC_P0 ), [1] = LAYOUT_all( - RESET, _______, + QK_BOOT, _______, RGB_TOG, RGB_RMOD, RGB_MOD, _______, _______, RGB_VAD, RGB_VAI, _______, _______, RGB_HUD, RGB_HUI, _______, diff --git a/keyboards/ibnuda/alicia_cook/keymaps/default/keymap.c b/keyboards/ibnuda/alicia_cook/keymaps/default/keymap.c index c28967f381b1..88adf9c8b27e 100644 --- a/keyboards/ibnuda/alicia_cook/keymaps/default/keymap.c +++ b/keyboards/ibnuda/alicia_cook/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_all( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_LCTL,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN, KC_SCLN, - KC_LSFT,KC_Z, KC_X, KC_C, KC_V, RESET, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,MO(1), + KC_LSFT,KC_Z, KC_X, KC_C, KC_V, QK_BOOT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,MO(1), KC_LGUI,KC_LALT, KC_LGUI,LW_BSPC,SFT_ESC, ALT_ENT,RS_SPC, KC_LALT, KC_RGUI,KC_RCTL ), }; diff --git a/keyboards/ibnuda/gurindam/keymaps/default/keymap.c b/keyboards/ibnuda/gurindam/keymaps/default/keymap.c index b451bbf05032..bbbd4a2c2ab5 100644 --- a/keyboards/ibnuda/gurindam/keymaps/default/keymap.c +++ b/keyboards/ibnuda/gurindam/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, 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, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, + _______, _______, _______, _______, QK_BOOT, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,RGB_M_SN,_______, _______, _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ibnuda/gurindam/keymaps/via/keymap.c b/keyboards/ibnuda/gurindam/keymaps/via/keymap.c index 3549a1bdea4d..1cbce827af8f 100644 --- a/keyboards/ibnuda/gurindam/keymaps/via/keymap.c +++ b/keyboards/ibnuda/gurindam/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, 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_DEL, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ibnuda/squiggle/keymaps/default/keymap.c b/keyboards/ibnuda/squiggle/keymaps/default/keymap.c index 68ef0ed2103b..661bee8d0302 100644 --- a/keyboards/ibnuda/squiggle/keymaps/default/keymap.c +++ b/keyboards/ibnuda/squiggle/keymaps/default/keymap.c @@ -151,7 +151,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( _______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI, TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL, - _______,CLSGUI, _______,CONPST, RESET, _______,_______,_______,_______,_______, + _______,CLSGUI, _______,CONPST, QK_BOOT, _______,_______,_______,_______,_______, _______,_______, _______,_______ ), }; diff --git a/keyboards/ibnuda/squiggle/keymaps/default38/keymap.c b/keyboards/ibnuda/squiggle/keymaps/default38/keymap.c index c42b9e783d64..db09761bc2fb 100644 --- a/keyboards/ibnuda/squiggle/keymaps/default38/keymap.c +++ b/keyboards/ibnuda/squiggle/keymaps/default38/keymap.c @@ -151,7 +151,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_thumbrow( _______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI, TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL, - _______,CLSGUI, _______,CONPST, RESET, _______,_______,_______,_______,_______, + _______,CLSGUI, _______,CONPST, QK_BOOT, _______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______ ), }; diff --git a/keyboards/ibnuda/squiggle/keymaps/defaultfull/keymap.c b/keyboards/ibnuda/squiggle/keymaps/defaultfull/keymap.c index 97785f0614f5..04ed6f97bf04 100644 --- a/keyboards/ibnuda/squiggle/keymaps/defaultfull/keymap.c +++ b/keyboards/ibnuda/squiggle/keymaps/defaultfull/keymap.c @@ -151,7 +151,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_full( _______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI, TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL, - _______,CLSGUI, _______,CONPST, RESET, _______,_______,_______,_______,_______, + _______,CLSGUI, _______,CONPST, QK_BOOT, _______,_______,_______,_______,_______, _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ ), }; diff --git a/keyboards/ibnuda/squiggle/keymaps/defaultminidox/keymap.c b/keyboards/ibnuda/squiggle/keymaps/defaultminidox/keymap.c index 3c19f3881842..70d9cfabceaa 100644 --- a/keyboards/ibnuda/squiggle/keymaps/defaultminidox/keymap.c +++ b/keyboards/ibnuda/squiggle/keymaps/defaultminidox/keymap.c @@ -151,7 +151,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_3x5_3( _______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI, TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL, - _______,CLSGUI, _______,CONPST, RESET, _______,_______,_______,_______,_______, + _______,CLSGUI, _______,CONPST, QK_BOOT, _______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______ ), }; diff --git a/keyboards/idb/idb_60/keymaps/default/keymap.c b/keyboards/idb/idb_60/keymaps/default/keymap.c index 60cac7559f7c..a05fbd42c7fb 100644 --- a/keyboards/idb/idb_60/keymaps/default/keymap.c +++ b/keyboards/idb/idb_60/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT_60_ansi_wkl_split_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idb/idb_60/keymaps/via/keymap.c b/keyboards/idb/idb_60/keymaps/via/keymap.c index 60cac7559f7c..a05fbd42c7fb 100644 --- a/keyboards/idb/idb_60/keymaps/via/keymap.c +++ b/keyboards/idb/idb_60/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT_60_ansi_wkl_split_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id67/keymaps/default/keymap.c b/keyboards/idobao/id67/keymaps/default/keymap.c index 450550e12a1f..54b39ad4a7d8 100644 --- a/keyboards/idobao/id67/keymaps/default/keymap.c +++ b/keyboards/idobao/id67/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, - _______, RESET, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, + _______, QK_BOOT, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/idobao/id67/keymaps/via/keymap.c b/keyboards/idobao/id67/keymaps/via/keymap.c index 8155067b9f7b..ff0bfff745e1 100644 --- a/keyboards/idobao/id67/keymaps/via/keymap.c +++ b/keyboards/idobao/id67/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, _______, _______, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, - _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, + _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_65_ansi_blocker( diff --git a/keyboards/idobao/id75/keymaps/default75/keymap.c b/keyboards/idobao/id75/keymaps/default75/keymap.c index 8d8ae4414c45..705af7ba0ea3 100644 --- a/keyboards/idobao/id75/keymaps/default75/keymap.c +++ b/keyboards/idobao/id75/keymaps/default75/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | | + * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | QK_BOOT | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, - KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______, + KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______ ), diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c index 696fb303e293..ac2fb15b833c 100644 --- a/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c +++ b/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c index 686ce9ce7394..669eb702d8ac 100644 --- a/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c +++ b/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c b/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c index 1cc606735631..9784ce825331 100644 --- a/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c +++ b/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_iso( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c b/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c index 710da2edf182..808c4d3c89ef 100644 --- a/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c +++ b/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_iso( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id80/v3/keymaps/default/keymap.c b/keyboards/idobao/id80/v3/keymaps/default/keymap.c index 697c4b918994..f7886f1e0e26 100644 --- a/keyboards/idobao/id80/v3/keymaps/default/keymap.c +++ b/keyboards/idobao/id80/v3/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id80/v3/keymaps/via/keymap.c b/keyboards/idobao/id80/v3/keymaps/via/keymap.c index 1f37572503f8..19787b6b8964 100644 --- a/keyboards/idobao/id80/v3/keymaps/via/keymap.c +++ b/keyboards/idobao/id80/v3/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id87/v1/keymaps/default/keymap.c b/keyboards/idobao/id87/v1/keymaps/default/keymap.c index 2b07bdb0ec00..9465dca5311c 100644 --- a/keyboards/idobao/id87/v1/keymaps/default/keymap.c +++ b/keyboards/idobao/id87/v1/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, BL_TOGG, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id87/v1/keymaps/via/keymap.c b/keyboards/idobao/id87/v1/keymaps/via/keymap.c index 534784555c93..e71a924bfd70 100644 --- a/keyboards/idobao/id87/v1/keymaps/via/keymap.c +++ b/keyboards/idobao/id87/v1/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, BL_TOGG, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id87/v2/keymaps/default/keymap.c b/keyboards/idobao/id87/v2/keymaps/default/keymap.c index 2b07bdb0ec00..9465dca5311c 100644 --- a/keyboards/idobao/id87/v2/keymaps/default/keymap.c +++ b/keyboards/idobao/id87/v2/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, BL_TOGG, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id87/v2/keymaps/via/keymap.c b/keyboards/idobao/id87/v2/keymaps/via/keymap.c index 534784555c93..e71a924bfd70 100644 --- a/keyboards/idobao/id87/v2/keymaps/via/keymap.c +++ b/keyboards/idobao/id87/v2/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, BL_TOGG, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id96/keymaps/default/keymap.c b/keyboards/idobao/id96/keymaps/default/keymap.c index 587620bad412..e2d774c18250 100644 --- a/keyboards/idobao/id96/keymaps/default/keymap.c +++ b/keyboards/idobao/id96/keymaps/default/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Layer 1, function layer ____________________________________________________________________________________________________________________________________________________________________________ | | | | | | | | | | | | | | | VOL | VOL | | | | - | RESET | | | | | | | | | | | | | MUTE | DOWN | UP | | | | + | QK_BOOT | | | | | | | | | | | | | MUTE | DOWN | UP | | | | |________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id96/keymaps/via/keymap.c b/keyboards/idobao/id96/keymaps/via/keymap.c index 1c927da82406..3aff55a11510 100644 --- a/keyboards/idobao/id96/keymaps/via/keymap.c +++ b/keyboards/idobao/id96/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [LAYER_1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/montex/v1/keymaps/default/keymap.c b/keyboards/idobao/montex/v1/keymaps/default/keymap.c index a15c576cbbdb..940bc481b861 100644 --- a/keyboards/idobao/montex/v1/keymaps/default/keymap.c +++ b/keyboards/idobao/montex/v1/keymaps/default/keymap.c @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───┴───────┴───┘───┘ */ [1] = LAYOUT_numpad_6x5( - RESET, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_PGUP, _______, KC_LEFT, XXXXXXX, KC_RGHT, _______, diff --git a/keyboards/idobao/montex/v1/keymaps/via/keymap.c b/keyboards/idobao/montex/v1/keymaps/via/keymap.c index eb7875dc32b2..3f9800f85d87 100644 --- a/keyboards/idobao/montex/v1/keymaps/via/keymap.c +++ b/keyboards/idobao/montex/v1/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_P0, KC_PDOT, KC_PENT ), [1] = LAYOUT_numpad_6x5( - RESET, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_PGUP, _______, KC_LEFT, XXXXXXX, KC_RGHT, _______, diff --git a/keyboards/illusion/rosa/keymaps/via/keymap.c b/keyboards/illusion/rosa/keymaps/via/keymap.c index 8ff4f461a4cc..1f3f4b62735c 100644 --- a/keyboards/illusion/rosa/keymaps/via/keymap.c +++ b/keyboards/illusion/rosa/keymaps/via/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_60_ansi_tsangan( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/ilumkb/primus75/keymaps/default/keymap.c b/keyboards/ilumkb/primus75/keymaps/default/keymap.c index c56a2863aece..2bed82ceb990 100644 --- a/keyboards/ilumkb/primus75/keymaps/default/keymap.c +++ b/keyboards/ilumkb/primus75/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ilumkb/primus75/keymaps/via/keymap.c b/keyboards/ilumkb/primus75/keymaps/via/keymap.c index 3ef86e5d753d..fcc216529a81 100644 --- a/keyboards/ilumkb/primus75/keymaps/via/keymap.c +++ b/keyboards/ilumkb/primus75/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ilumkb/simpler61/keymaps/default/keymap.c b/keyboards/ilumkb/simpler61/keymaps/default/keymap.c index 8e7fe51b9959..472cb65a28e8 100644 --- a/keyboards/ilumkb/simpler61/keymaps/default/keymap.c +++ b/keyboards/ilumkb/simpler61/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_61_ansi( 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, KC_DEL, - _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, RESET, + _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ilumkb/simpler61/keymaps/via/keymap.c b/keyboards/ilumkb/simpler61/keymaps/via/keymap.c index c885617df057..984af3101db0 100644 --- a/keyboards/ilumkb/simpler61/keymaps/via/keymap.c +++ b/keyboards/ilumkb/simpler61/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_61_ansi( 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, KC_DEL, - _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, RESET, + _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ilumkb/simpler64/keymaps/default/keymap.c b/keyboards/ilumkb/simpler64/keymaps/default/keymap.c index f3f83cc41158..766ef1aed9ca 100644 --- a/keyboards/ilumkb/simpler64/keymaps/default/keymap.c +++ b/keyboards/ilumkb/simpler64/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_64_ansi( 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, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ilumkb/simpler64/keymaps/via/keymap.c b/keyboards/ilumkb/simpler64/keymaps/via/keymap.c index f003f733b7ea..f10930f84a5a 100644 --- a/keyboards/ilumkb/simpler64/keymaps/via/keymap.c +++ b/keyboards/ilumkb/simpler64/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_64_ansi( 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, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c b/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c index 0e814cc98cb9..ea4fd79d271e 100644 --- a/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c +++ b/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_tsangan_hhkb( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR, - RESET, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, + QK_BOOT, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______,_______,_______), diff --git a/keyboards/inett_studio/sqx/hotswap/keymaps/via/keymap.c b/keyboards/inett_studio/sqx/hotswap/keymaps/via/keymap.c index d9258169fa66..80c8e7535f5b 100644 --- a/keyboards/inett_studio/sqx/hotswap/keymaps/via/keymap.c +++ b/keyboards/inett_studio/sqx/hotswap/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_tsangan_hhkb( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR, - RESET, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, + QK_BOOT, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______, TG(0),_______), diff --git a/keyboards/inett_studio/sqx/universal/keymaps/default/keymap.c b/keyboards/inett_studio/sqx/universal/keymaps/default/keymap.c index bd2869e247d6..d8816f728919 100644 --- a/keyboards/inett_studio/sqx/universal/keymaps/default/keymap.c +++ b/keyboards/inett_studio/sqx/universal/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi_split_bs_rshift( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR, - RESET, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, + QK_BOOT, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______,_______,TG(0),_______), diff --git a/keyboards/inett_studio/sqx/universal/keymaps/via/keymap.c b/keyboards/inett_studio/sqx/universal/keymaps/via/keymap.c index c58090d9d724..9815da842b50 100644 --- a/keyboards/inett_studio/sqx/universal/keymaps/via/keymap.c +++ b/keyboards/inett_studio/sqx/universal/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi_split_bs_rshift( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR, - RESET, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, + QK_BOOT, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______,_______, TG(0),_______), diff --git a/keyboards/irene/keymaps/default/keymap.c b/keyboards/irene/keymaps/default/keymap.c index 8f102b441da0..7f71da3079e8 100644 --- a/keyboards/irene/keymaps/default/keymap.c +++ b/keyboards/irene/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT_all( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_HOME, _______, _______, KC_UP, _______, _______, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_VAD, RGB_VAI, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/irene/keymaps/via/keymap.c b/keyboards/irene/keymaps/via/keymap.c index 8f102b441da0..7f71da3079e8 100644 --- a/keyboards/irene/keymaps/via/keymap.c +++ b/keyboards/irene/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT_all( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_HOME, _______, _______, KC_UP, _______, _______, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_VAD, RGB_VAI, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/iriskeyboards/keymaps/default/keymap.c b/keyboards/iriskeyboards/keymaps/default/keymap.c index e4e06b57c115..8df65da140ac 100644 --- a/keyboards/iriskeyboards/keymaps/default/keymap.c +++ b/keyboards/iriskeyboards/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/iriskeyboards/keymaps/via/keymap.c b/keyboards/iriskeyboards/keymaps/via/keymap.c index 7d84a2eb621f..4c6beeecde83 100644 --- a/keyboards/iriskeyboards/keymaps/via/keymap.c +++ b/keyboards/iriskeyboards/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/iron180/keymaps/default/keymap.c b/keyboards/iron180/keymaps/default/keymap.c index 46b1072228fa..8684b0bb73e3 100755 --- a/keyboards/iron180/keymaps/default/keymap.c +++ b/keyboards/iron180/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/iron180/keymaps/via/keymap.c b/keyboards/iron180/keymaps/via/keymap.c index 46b1072228fa..8684b0bb73e3 100755 --- a/keyboards/iron180/keymaps/via/keymap.c +++ b/keyboards/iron180/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/j80/keymaps/default/keymap.c b/keyboards/j80/keymaps/default/keymap.c index 6926da8ea1ce..4fa93835f1d1 100644 --- a/keyboards/j80/keymaps/default/keymap.c +++ b/keyboards/j80/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [_FN] = LAYOUT_tkl_ansi_split_rshift( - RESET, 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, + QK_BOOT, 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, 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, KC_TRNS, QMKBEST, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/j80/keymaps/default_iso/keymap.c b/keyboards/j80/keymaps/default_iso/keymap.c index 4253454f79d6..84359536110f 100644 --- a/keyboards/j80/keymaps/default_iso/keymap.c +++ b/keyboards/j80/keymaps/default_iso/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [_FN] = LAYOUT_tkl_iso_split_rshift( - RESET, 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, + QK_BOOT, 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, 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, KC_TRNS, QMKBEST, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/jacky_studio/bear_65/keymaps/default/keymap.c b/keyboards/jacky_studio/bear_65/keymaps/default/keymap.c index c6be30aeaf82..45ae589854f7 100644 --- a/keyboards/jacky_studio/bear_65/keymaps/default/keymap.c +++ b/keyboards/jacky_studio/bear_65/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_all( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_MOD, _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, RGB_TOG, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/jacky_studio/bear_65/keymaps/via/keymap.c b/keyboards/jacky_studio/bear_65/keymaps/via/keymap.c index f99c36ab2a2f..d09fda128317 100644 --- a/keyboards/jacky_studio/bear_65/keymaps/via/keymap.c +++ b/keyboards/jacky_studio/bear_65/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_full_bs( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_MOD, _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, RGB_TOG, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/jacky_studio/s7_elephant/rev1/keymaps/default/keymap.c b/keyboards/jacky_studio/s7_elephant/rev1/keymaps/default/keymap.c index 4b163f342662..38ae215e1f40 100644 --- a/keyboards/jacky_studio/s7_elephant/rev1/keymaps/default/keymap.c +++ b/keyboards/jacky_studio/s7_elephant/rev1/keymaps/default/keymap.c @@ -60,7 +60,7 @@ KC_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, */ [_FN] = LAYOUT_ansi( -RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, +QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, diff --git a/keyboards/jacky_studio/s7_elephant/rev2/keymaps/default/keymap.c b/keyboards/jacky_studio/s7_elephant/rev2/keymaps/default/keymap.c index 5261691e0204..40b18ef53ff9 100644 --- a/keyboards/jacky_studio/s7_elephant/rev2/keymaps/default/keymap.c +++ b/keyboards/jacky_studio/s7_elephant/rev2/keymaps/default/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FN] = LAYOUT_ansi_1u( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, diff --git a/keyboards/jadookb/jkb65/keymaps/via/keymap.c b/keyboards/jadookb/jkb65/keymaps/via/keymap.c index b7b81a1500a1..5713fe3805a1 100644 --- a/keyboards/jadookb/jkb65/keymaps/via/keymap.c +++ b/keyboards/jadookb/jkb65/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MAGIC_UNNO_GUI,MAGIC_NO_GUI, _______, RGB_TOG, _______, MO(2), RGB_SPD, RGB_VAD, RGB_SPI ), [2] = LAYOUT_67_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/jae/j01/keymaps/default/keymap.c b/keyboards/jae/j01/keymaps/default/keymap.c index 7afb8bc96a46..114939c4d217 100644 --- a/keyboards/jae/j01/keymaps/default/keymap.c +++ b/keyboards/jae/j01/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_ansi( - KC_TRNS, KC_TRNS, RESET, 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, KC_TRNS, QK_BOOT, 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, KC_TRNS, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, BL_BRTG, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/jian/keymaps/default/keymap.c b/keyboards/jian/keymaps/default/keymap.c index 7f4391f7d2eb..3850ea3d10ee 100644 --- a/keyboards/jian/keymaps/default/keymap.c +++ b/keyboards/jian/keymaps/default/keymap.c @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_symmetric( - RESET, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, WORKMAN, COLEMAK, DVORAK, QWERTY, XXXXXXX, TG(_BCKLT_ADJ), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, SW_TG, _______ diff --git a/keyboards/jian/keymaps/via/keymap.c b/keyboards/jian/keymaps/via/keymap.c index 9da0b5f4dac7..ac9586587b7b 100644 --- a/keyboards/jian/keymaps/via/keymap.c +++ b/keyboards/jian/keymaps/via/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, LT(3, KC_ENT), LT(3, KC_ESC), _______, _______ ), [3] = LAYOUT_symmetric( - RESET, DEBUG, XXXXXXX, BL_INC, RGB_VAI, RGB_HUD, RGB_HUI, + QK_BOOT, DEBUG, XXXXXXX, BL_INC, RGB_VAI, RGB_HUD, RGB_HUI, XXXXXXX, XXXXXXX, BL_DEC, RGB_VAD, RGB_SAD, RGB_SAI, XXXXXXX, BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD, _______, SH_TG, _______ diff --git a/keyboards/jiran/keymaps/default/keymap.c b/keyboards/jiran/keymaps/default/keymap.c index 586cd67a9396..d45467eb6a6f 100644 --- a/keyboards/jiran/keymaps/default/keymap.c +++ b/keyboards/jiran/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_EQL, // ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ - KC_F11, KC_TAB, RGB_HUI, KC_HOME, RESET, RGB_SAI, RGB_VAI, KC_VOLU, KC_PGUP, RESET, KC_HOME, KC_INS, KC_DEL, KC_F12, + KC_F11, KC_TAB, RGB_HUI, KC_HOME, QK_BOOT, RGB_SAI, RGB_VAI, KC_VOLU, KC_PGUP, QK_BOOT, KC_HOME, KC_INS, KC_DEL, KC_F12, // └────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ KC_LSFT, RGB_HUD, KC_LEFT, KC_UP, KC_RGHT, RGB_VAD, KC_MUTE, KC_LEFT, KC_UP, KC_RGHT, KC_PSCR, KC_SLSF, // ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/jiran/keymaps/via/keymap.c b/keyboards/jiran/keymaps/via/keymap.c index 710cb81ec4b1..bda28f4bb5ab 100644 --- a/keyboards/jiran/keymaps/via/keymap.c +++ b/keyboards/jiran/keymaps/via/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_EQL, // ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ - KC_F11, KC_TAB, RGB_HUI, KC_HOME, RESET, RGB_SAI, RGB_VAI, KC_VOLU, KC_PGUP, RESET, KC_HOME, KC_INS, KC_DEL, KC_F12, + KC_F11, KC_TAB, RGB_HUI, KC_HOME, QK_BOOT, RGB_SAI, RGB_VAI, KC_VOLU, KC_PGUP, QK_BOOT, KC_HOME, KC_INS, KC_DEL, KC_F12, // └────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ KC_LSFT, RGB_HUD, KC_LEFT, KC_UP, KC_RGHT, RGB_VAD, KC_MUTE, KC_LEFT, KC_UP, KC_RGHT, KC_PSCR, RSFT_T(KC_LSCR), // ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/jm60/keymaps/default/keymap.c b/keyboards/jm60/keymaps/default/keymap.c index 0940d7efce2b..f4d444cc753b 100644 --- a/keyboards/jm60/keymaps/default/keymap.c +++ b/keyboards/jm60/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ [_FL] = LAYOUT_60_ansi( - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/jones/v03/keymaps/default_jp/keymap.c b/keyboards/jones/v03/keymaps/default_jp/keymap.c index 1cf67fbedd49..3f5b10208cc0 100644 --- a/keyboards/jones/v03/keymaps/default_jp/keymap.c +++ b/keyboards/jones/v03/keymaps/default_jp/keymap.c @@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_jp( _______,RGB_HUI,RGB_SAI,RGB_VAI,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______, _______,WIN, _______,RESET, _______,RGB_HUI,RGB_SAI,RGB_VAI,_______,RGB_RMOD, _______,_______, + _______, _______,WIN, _______,QK_BOOT, _______,RGB_HUI,RGB_SAI,RGB_VAI,_______,RGB_RMOD, _______,_______, _______, _______,_______,_______,_______,_______,RGB_HUD,RGB_SAD,RGB_VAD,RGB_TOG,RGB_MOD,_______, _______,_______, _______, _______,_______,_______,_______,_______,NUM, MAC, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______ diff --git a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c index 6055df8994df..5b1486bb867d 100644 --- a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c +++ b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c @@ -118,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_ansi( _______,RGB_HUI,RGB_SAI,RGB_VAI,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______, _______,WIN, _______,RESET, _______,RGB_HUI,RGB_SAI,RGB_VAI,_______,RGB_RMOD,_______, _______,_______, + _______, _______,WIN, _______,QK_BOOT, _______,RGB_HUI,RGB_SAI,RGB_VAI,_______,RGB_RMOD,_______, _______,_______, _______, AU_TOG, CK_TOGG,MU_TOG, MU_MOD, _______,RGB_HUD,RGB_SAD,RGB_VAD,RGB_TOG,RGB_MOD,_______, _______, _______, CK_RST, CK_DOWN,CK_UP ,_______,_______,NUM, MAC, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______ diff --git a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c index efe23f823755..436586a721b6 100644 --- a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c +++ b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c @@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_jp( _______,RGB_HUI,RGB_SAI,RGB_VAI,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______, _______,WIN, _______,RESET, _______,RGB_HUI,RGB_SAI,RGB_VAI,_______,RGB_RMOD, _______,_______, + _______, _______,WIN, _______,QK_BOOT, _______,RGB_HUI,RGB_SAI,RGB_VAI,_______,RGB_RMOD, _______,_______, _______, AU_TOG, CK_TOGG,MU_TOG, MU_MOD, _______,RGB_HUD,RGB_SAD,RGB_VAD,RGB_TOG,RGB_MOD,_______, _______,_______, _______, CK_RST, CK_DOWN,CK_UP ,_______,_______,NUM, MAC, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______ diff --git a/keyboards/jorne/keymaps/default/keymap.c b/keyboards/jorne/keymaps/default/keymap.c index cd7eab1709f9..5db74e266e2c 100644 --- a/keyboards/jorne/keymaps/default/keymap.c +++ b/keyboards/jorne/keymaps/default/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( - RESET, RGBRST, KC_ASUP, KC_ASTG, KC_ASDN, _______, _______, _______, _______, KC_ASDN, KC_ASTG, KC_ASUP, RGBRST, RESET, + QK_BOOT, RGBRST, KC_ASUP, KC_ASTG, KC_ASDN, _______, _______, _______, _______, KC_ASDN, KC_ASTG, KC_ASUP, RGBRST, QK_BOOT, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, RGB_VAI, RGB_SAI, RGB_HUI, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, RGB_VAD, RGB_SAD, RGB_HUD, RGB_MOD, _______, SH_TG, _______, _______, SH_TG, _______ diff --git a/keyboards/jorne/keymaps/via/keymap.c b/keyboards/jorne/keymaps/via/keymap.c index cd7eab1709f9..5db74e266e2c 100644 --- a/keyboards/jorne/keymaps/via/keymap.c +++ b/keyboards/jorne/keymaps/via/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( - RESET, RGBRST, KC_ASUP, KC_ASTG, KC_ASDN, _______, _______, _______, _______, KC_ASDN, KC_ASTG, KC_ASUP, RGBRST, RESET, + QK_BOOT, RGBRST, KC_ASUP, KC_ASTG, KC_ASDN, _______, _______, _______, _______, KC_ASDN, KC_ASTG, KC_ASUP, RGBRST, QK_BOOT, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, RGB_VAI, RGB_SAI, RGB_HUI, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, RGB_VAD, RGB_SAD, RGB_HUD, RGB_MOD, _______, SH_TG, _______, _______, SH_TG, _______ diff --git a/keyboards/kagizaraya/chidori/keymaps/default/keymap.c b/keyboards/kagizaraya/chidori/keymaps/default/keymap.c index 373b5ec83b29..09f851bd1c75 100644 --- a/keyboards/kagizaraya/chidori/keymaps/default/keymap.c +++ b/keyboards/kagizaraya/chidori/keymaps/default/keymap.c @@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------' `-----------------------------------------' */ [_ADJUST] = LAYOUT( - _______, RESET, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, + _______, QK_BOOT, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, KC_CAPS, _______, _______, _______, _______, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END diff --git a/keyboards/kagizaraya/halberd/keymaps/default/keymap.c b/keyboards/kagizaraya/halberd/keymaps/default/keymap.c index d9a872c1b9dc..ecc0e328a7bf 100644 --- a/keyboards/kagizaraya/halberd/keymaps/default/keymap.c +++ b/keyboards/kagizaraya/halberd/keymaps/default/keymap.c @@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_RMOD, RGB_SAI, RGB_SAD, _______, RGB_VAI, RGB_VAD, _______, _______, _______, - RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, + QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c b/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c index cbfb6b14101a..9e54eb26ba57 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c +++ b/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT ), [_FN] = LAYOUT_all( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kakunpc/rabbit_capture_plan/keymaps/via/keymap.c b/keyboards/kakunpc/rabbit_capture_plan/keymaps/via/keymap.c index f8109f4f0813..e6a88ed923b3 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/keymaps/via/keymap.c +++ b/keyboards/kakunpc/rabbit_capture_plan/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT ), [1] = LAYOUT_all( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kapcave/gskt00/keymaps/default-poly/keymap.c b/keyboards/kapcave/gskt00/keymaps/default-poly/keymap.c index 8c7e9720db9b..066459e19694 100755 --- a/keyboards/kapcave/gskt00/keymaps/default-poly/keymap.c +++ b/keyboards/kapcave/gskt00/keymaps/default-poly/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* FUNCTION */ LAYOUT_all( 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG) diff --git a/keyboards/kapcave/paladin64/keymaps/default/keymap.c b/keyboards/kapcave/paladin64/keymaps/default/keymap.c index ed906909fe7c..7c730f14b913 100755 --- a/keyboards/kapcave/paladin64/keymaps/default/keymap.c +++ b/keyboards/kapcave/paladin64/keymaps/default/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* FUNCTION */ LAYOUT_all( 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG), diff --git a/keyboards/kapcave/paladin64/keymaps/via/keymap.c b/keyboards/kapcave/paladin64/keymaps/via/keymap.c index 7ce94a5ef4f0..ccf0622e3119 100644 --- a/keyboards/kapcave/paladin64/keymaps/via/keymap.c +++ b/keyboards/kapcave/paladin64/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* FUNCTION */ [_FN] = LAYOUT_all( 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG), diff --git a/keyboards/kapcave/paladinpad/keymaps/default/keymap.c b/keyboards/kapcave/paladinpad/keymaps/default/keymap.c index 30dd1b9c00f4..390b474fdbf2 100644 --- a/keyboards/kapcave/paladinpad/keymaps/default/keymap.c +++ b/keyboards/kapcave/paladinpad/keymaps/default/keymap.c @@ -33,6 +33,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RESET, KC_NLCK) + KC_TRNS, QK_BOOT, KC_NLCK) }; diff --git a/keyboards/kapcave/paladinpad/keymaps/via/keymap.c b/keyboards/kapcave/paladinpad/keymaps/via/keymap.c index 2315da4ace7b..b19b8608fbd4 100644 --- a/keyboards/kapcave/paladinpad/keymaps/via/keymap.c +++ b/keyboards/kapcave/paladinpad/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, RESET, KC_NLCK), + KC_TRNS, KC_TRNS, QK_BOOT, KC_NLCK), /* FUNCTION */ [_FN2] = LAYOUT_ortho_5x4( diff --git a/keyboards/kapl/keymaps/default/keymap.c b/keyboards/kapl/keymaps/default/keymap.c index 5e2bea1f47cf..376b24721859 100644 --- a/keyboards/kapl/keymaps/default/keymap.c +++ b/keyboards/kapl/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( // "CNT" Control //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - 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, RESET, + 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, QK_BOOT, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_NO, RGB_SAI, RGB_SPI, RGB_VAI, RGB_HUI, RGB_MOD, KC_NO, KC_NO, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/kapl/keymaps/via/keymap.c b/keyboards/kapl/keymaps/via/keymap.c index 002cc1ef3a4e..a073105b9501 100644 --- a/keyboards/kapl/keymaps/via/keymap.c +++ b/keyboards/kapl/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( // "CNT" Control //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - 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, RESET, + 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, QK_BOOT, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_NO, RGB_SAI, RGB_SPI, RGB_VAI, RGB_HUI, RGB_MOD, KC_NO, KC_NO, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/karlb/kbic65/keymaps/default/keymap.c b/keyboards/karlb/kbic65/keymaps/default/keymap.c index 5926dcf80524..6a9e96e38438 100644 --- a/keyboards/karlb/kbic65/keymaps/default/keymap.c +++ b/keyboards/karlb/kbic65/keymaps/default/keymap.c @@ -17,6 +17,6 @@ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, 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, KC_DEL, _______, KC_INS, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, -_______, _______, _______, _______, _______, _______, RESET, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, +_______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END) }; diff --git a/keyboards/karlb/kbic65/keymaps/default_iso/keymap.c b/keyboards/karlb/kbic65/keymaps/default_iso/keymap.c index 73628ebef861..59902f6ba659 100644 --- a/keyboards/karlb/kbic65/keymaps/default_iso/keymap.c +++ b/keyboards/karlb/kbic65/keymaps/default_iso/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_DEL, KC_INS, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END) }; diff --git a/keyboards/karlb/kbic65/keymaps/default_iso_split_bs/keymap.c b/keyboards/karlb/kbic65/keymaps/default_iso_split_bs/keymap.c index a69855dde5d8..3067a00b0cf0 100644 --- a/keyboards/karlb/kbic65/keymaps/default_iso_split_bs/keymap.c +++ b/keyboards/karlb/kbic65/keymaps/default_iso_split_bs/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_DEL, _______, KC_INS, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END) }; diff --git a/keyboards/karlb/kbic65/keymaps/via/keymap.c b/keyboards/karlb/kbic65/keymaps/via/keymap.c index 5926dcf80524..6a9e96e38438 100644 --- a/keyboards/karlb/kbic65/keymaps/via/keymap.c +++ b/keyboards/karlb/kbic65/keymaps/via/keymap.c @@ -17,6 +17,6 @@ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, 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, KC_DEL, _______, KC_INS, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, -_______, _______, _______, _______, _______, _______, RESET, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, +_______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END) }; diff --git a/keyboards/kbdfans/bella/rgb/keymaps/default/keymap.c b/keyboards/kbdfans/bella/rgb/keymaps/default/keymap.c index d5d2bd7be6c1..aaba70dc3370 100644 --- a/keyboards/kbdfans/bella/rgb/keymaps/default/keymap.c +++ b/keyboards/kbdfans/bella/rgb/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( 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, 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, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, + KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, EEP_RST, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/kbdfans/bella/rgb/keymaps/via/keymap.c b/keyboards/kbdfans/bella/rgb/keymaps/via/keymap.c index 209a528f5aaf..fa9b82f87be5 100644 --- a/keyboards/kbdfans/bella/rgb/keymaps/via/keymap.c +++ b/keyboards/kbdfans/bella/rgb/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( 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, 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, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, + KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, EEP_RST, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/kbdfans/bella/rgb_iso/keymaps/default/keymap.c b/keyboards/kbdfans/bella/rgb_iso/keymaps/default/keymap.c index d3be6e2863d5..4cd28782f562 100644 --- a/keyboards/kbdfans/bella/rgb_iso/keymaps/default/keymap.c +++ b/keyboards/kbdfans/bella/rgb_iso/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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, RGB_MOD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, EEP_RST, 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, QK_BOOT, EEP_RST, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/kbdfans/bella/rgb_iso/keymaps/via/keymap.c b/keyboards/kbdfans/bella/rgb_iso/keymaps/via/keymap.c index 7831cb9ea07a..1ab5dccd38a8 100644 --- a/keyboards/kbdfans/bella/rgb_iso/keymaps/via/keymap.c +++ b/keyboards/kbdfans/bella/rgb_iso/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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, RGB_MOD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, EEP_RST, 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, QK_BOOT, EEP_RST, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/kbdfans/boop65/rgb/keymaps/default/keymap.c b/keyboards/kbdfans/boop65/rgb/keymaps/default/keymap.c index fed67baf2e78..b14cb56e1daf 100644 --- a/keyboards/kbdfans/boop65/rgb/keymaps/default/keymap.c +++ b/keyboards/kbdfans/boop65/rgb/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_HOME, - 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, + 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, QK_BOOT, KC_PGUP, KC_TRNS, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/kbdfans/boop65/rgb/keymaps/via/keymap.c b/keyboards/kbdfans/boop65/rgb/keymaps/via/keymap.c index f2aee1a1ffa3..7f94d4441845 100644 --- a/keyboards/kbdfans/boop65/rgb/keymaps/via/keymap.c +++ b/keyboards/kbdfans/boop65/rgb/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_HOME, - 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, + 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, QK_BOOT, KC_PGUP, KC_TRNS, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/kbdfans/kbd19x/keymaps/default/keymap.c b/keyboards/kbdfans/kbd19x/keymaps/default/keymap.c index 50e63041eac6..927d682d5625 100644 --- a/keyboards/kbdfans/kbd19x/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd19x/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ansi( /* Func */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kbdfans/kbd19x/keymaps/default_iso/keymap.c b/keyboards/kbdfans/kbd19x/keymaps/default_iso/keymap.c index 4382cafcb67a..3d0d442f453d 100644 --- a/keyboards/kbdfans/kbd19x/keymaps/default_iso/keymap.c +++ b/keyboards/kbdfans/kbd19x/keymaps/default_iso/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_iso( /* Func */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kbdfans/kbd19x/keymaps/via/keymap.c b/keyboards/kbdfans/kbd19x/keymaps/via/keymap.c index 0e9b2aa4bd86..b6bd2b716027 100644 --- a/keyboards/kbdfans/kbd19x/keymaps/via/keymap.c +++ b/keyboards/kbdfans/kbd19x/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ansi( /* Func */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kbdfans/kbd4x/keymaps/default/keymap.c b/keyboards/kbdfans/kbd4x/keymaps/default/keymap.c index 1a79d739109e..b688c1ba9864 100644 --- a/keyboards/kbdfans/kbd4x/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd4x/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_planck_mit( KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, ___, - ___, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, ___, ___, ___, ___, ___, ___, RESET, + ___, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, ___, ___, ___, ___, ___, ___, QK_BOOT, ___, BL_TOGG, BL_STEP, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ ), diff --git a/keyboards/kbdfans/kbd66/keymaps/ansi/keymap.c b/keyboards/kbdfans/kbd66/keymaps/ansi/keymap.c index 7900a2ebe102..fccb0aa24e53 100644 --- a/keyboards/kbdfans/kbd66/keymaps/ansi/keymap.c +++ b/keyboards/kbdfans/kbd66/keymaps/ansi/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| |---| * | | | | | | | | | | |PSc|VDn|VUp| Mute| |END| * |-----------------------------------------------------------| `---' - * |RESET| | | | | | |PRV|PLY|NXT|STP| | | + * |QK_BOOT| | | | | | |PRV|PLY|NXT|STP| | | * |---------------------------------------------------------------. * | | | | | | | | |BLB|BLC|Slp| |PUp| * |-------------------------------------------------------------------. @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_L1] = LAYOUT_all( 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, _____, _____, KC_HOME, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_PSCR, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, - RESET, _____, _____, _____, _____, _____, _____, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _____, _____, + QK_BOOT, _____, _____, _____, _____, _____, _____, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, BL_BRTG, BL_STEP, KC_SLEP, _____, _____, KC_PGUP, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_PGDN, KC_SLCK ) diff --git a/keyboards/kbdfans/kbd66/keymaps/default/keymap.c b/keyboards/kbdfans/kbd66/keymaps/default/keymap.c index d878ed151a60..b4c4067c3cbe 100644 --- a/keyboards/kbdfans/kbd66/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd66/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| |---| * | | | | | | | | | | |PSc|VDn|VUp| Mute| |END| * |-----------------------------------------------------------| `---' - * |RESET| | | | | | |PRV|PLY|NXT|STP| | | + * |QK_BOOT| | | | | | |PRV|PLY|NXT|STP| | | * |---------------------------------------------------------------. * | | | | | | | | | |BLB|BLC|Slp| | |PUp| * |-------------------------------------------------------------------. @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_L1] = LAYOUT_all( 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, _____, _____, KC_HOME, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_PSCR, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, - RESET, _____, _____, _____, _____, _____, _____, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _____, _____, + QK_BOOT, _____, _____, _____, _____, _____, _____, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, BL_BRTG, BL_STEP, KC_SLEP, _____, _____, KC_PGUP, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_PGDN, KC_SLCK ) diff --git a/keyboards/kbdfans/kbd66/keymaps/iso/keymap.c b/keyboards/kbdfans/kbd66/keymaps/iso/keymap.c index 86f0bbbfdc04..b00dd01873a5 100644 --- a/keyboards/kbdfans/kbd66/keymaps/iso/keymap.c +++ b/keyboards/kbdfans/kbd66/keymaps/iso/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| |---| * | | | | | | | | | | |PSc|VDn|VUp| | |END| * |------------------------------------------------------| | `---' - * |RESET | | | | | | |PRV|PLY|NXT|STP| |Mut| | + * |QK_BOOT | | | | | | |PRV|PLY|NXT|STP| |Mut| | * |---------------------------------------------------------------. * | | | | | | | | | |BLB|BLC|Slp| | |PUp| * |-------------------------------------------------------------------. @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_L1] = LAYOUT_all( 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, _____, _____, KC_HOME, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_PSCR, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, - RESET, _____, _____, _____, _____, _____, _____, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _____, _____, + QK_BOOT, _____, _____, _____, _____, _____, _____, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, BL_BRTG, BL_STEP, KC_SLEP, _____, _____, KC_PGUP, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_PGDN, KC_SLCK ) diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/default/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/default/keymap.c index eac69d9b75d9..5f40be9ba86c 100644 --- a/keyboards/kbdfans/kbd67/hotswap/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, 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), diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/via/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/via/keymap.c index e7fa5ef8e4b7..e844d19bc079 100644 --- a/keyboards/kbdfans/kbd67/hotswap/keymaps/via/keymap.c +++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_DEL, - RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, 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), diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ansi/keymap.c b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ansi/keymap.c index 1f093baab842..ce277d0afe39 100644 --- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ansi/keymap.c +++ b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ansi/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, BL_INC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, BL_INC, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/default/keymap.c b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/default/keymap.c index 61f3aa8c5fbf..98ba26ac461a 100644 --- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_INC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_INC, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/iso/keymap.c b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/iso/keymap.c index c49da957280f..8fc09cda2505 100644 --- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/iso/keymap.c +++ b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/iso/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_iso_blocker( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, BL_INC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, BL_INC, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/via/keymap.c b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/via/keymap.c index eebd077dbe71..d5b9e2e0ef37 100644 --- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/via/keymap.c +++ b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_INC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_INC, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/default/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/default/keymap.c index 155a898f63b2..8fa44121797e 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT), [_LAYER1] = LAYOUT_65_ansi_blocker( /* FN */ 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, KC_DEL, KC_HOME, - 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, + 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, QK_BOOT, KC_PGUP, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/via/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/via/keymap.c index 850a7132d18e..4f538b93d8a4 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/via/keymap.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/via/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_HOME, - 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, + 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, QK_BOOT, KC_PGUP, KC_TRNS, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/keymaps/default/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb_iso/keymaps/default/keymap.c index db85ab3df935..b94ae599df5c 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_iso_blocker( 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, KC_DEL, KC_HOME, 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, KC_PGUP, - KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, RESET, KC_PGDN, + KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, QK_BOOT, KC_PGDN, 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_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ), diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/keymaps/via/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb_iso/keymaps/via/keymap.c index df2bd587e6af..4d71ba05239c 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/keymaps/via/keymap.c +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_iso_blocker( 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, KC_DEL, KC_HOME, 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, KC_PGUP, - KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, RESET, KC_PGDN, + KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, QK_BOOT, KC_PGDN, 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_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ), diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/iso/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/iso/keymap.c index 0b0e9fb5d86a..8e196a143779 100644 --- a/keyboards/kbdfans/kbd67/rev2/keymaps/iso/keymap.c +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/iso/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬────┐ * │§ │ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│Delete │PrtS│ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼────┤ - * │Caps │Prv│Pau│Nxt│ │ │ │ │ │ │BL+│BL-│BL │RESET│Ins │ + * │Caps │Prv│Pau│Nxt│ │ │ │ │ │ │BL+│BL-│BL │QK_BOOT│Ins │ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├────┤ * │ │V- │V0 │V+ │ │ │ │ │ │ │ │ │ │ │Home│ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼────┤ @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_iso( 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, KC_DEL, KC_PSCR, KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, KC_INS, - _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_HOME, + _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_HOME, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_END, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R ), diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/iso/readme.md b/keyboards/kbdfans/kbd67/rev2/keymaps/iso/readme.md index bc5d7d935e24..f29ee7b262f1 100644 --- a/keyboards/kbdfans/kbd67/rev2/keymaps/iso/readme.md +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/iso/readme.md @@ -22,7 +22,7 @@ Function layer ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬────┐ │§ │ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│Delete │PrtS│ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼────┤ -│Caps │Prv│Pau│Nxt│ │ │ │ │ │ │BL+│BL-│BL │RESET│Ins │ +│Caps │Prv│Pau│Nxt│ │ │ │ │ │ │BL+│BL-│BL │QK_BOOT│Ins │ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├────┤ │ │V- │V0 │V+ │ │ │ │ │ │ │ │ │ │ │Home│ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼────┤ diff --git a/keyboards/kbdfans/kbd6x/keymaps/via/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/via/keymap.c index 07883b0a5e07..2636a6718a8a 100644 --- a/keyboards/kbdfans/kbd6x/keymaps/via/keymap.c +++ b/keyboards/kbdfans/kbd6x/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT( - RESET, 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, + QK_BOOT, 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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kbdfans/kbd6x/keymaps/via/readme.md b/keyboards/kbdfans/kbd6x/keymaps/via/readme.md index 9e125443e14e..5e2970888787 100644 --- a/keyboards/kbdfans/kbd6x/keymaps/via/readme.md +++ b/keyboards/kbdfans/kbd6x/keymaps/via/readme.md @@ -3,5 +3,5 @@ Predefined Layers: - 0 - Default KBD6x keymap - 1 - A modified version of the classic HHKB function layer -- 2 - Lighting control and RESET +- 2 - Lighting control and QK_BOOT - 3 - Blank \ No newline at end of file diff --git a/keyboards/kbdfans/kbd75/keymaps/default/keymap.c b/keyboards/kbdfans/kbd75/keymaps/default/keymap.c index 7ac80e4d497f..160800a0c2db 100644 --- a/keyboards/kbdfans/kbd75/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd75/keymaps/default/keymap.c @@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kbdfans/kbd75/keymaps/iso/keymap.c b/keyboards/kbdfans/kbd75/keymaps/iso/keymap.c index 1eec87e1ec13..336f7c31e758 100644 --- a/keyboards/kbdfans/kbd75/keymaps/iso/keymap.c +++ b/keyboards/kbdfans/kbd75/keymaps/iso/keymap.c @@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_75_iso( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kbdfans/kbd75/keymaps/via/keymap.c b/keyboards/kbdfans/kbd75/keymaps/via/keymap.c index b8ac2aacb732..d4c973aa781d 100644 --- a/keyboards/kbdfans/kbd75/keymaps/via/keymap.c +++ b/keyboards/kbdfans/kbd75/keymaps/via/keymap.c @@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kbdfans/kbd75hs/keymaps/default/keymap.c b/keyboards/kbdfans/kbd75hs/keymaps/default/keymap.c index 0957a41d74ea..a4ae3f12dcdd 100644 --- a/keyboards/kbdfans/kbd75hs/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd75hs/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kbdfans/kbd75hs/keymaps/via/keymap.c b/keyboards/kbdfans/kbd75hs/keymaps/via/keymap.c index 0957a41d74ea..a4ae3f12dcdd 100644 --- a/keyboards/kbdfans/kbd75hs/keymaps/via/keymap.c +++ b/keyboards/kbdfans/kbd75hs/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kbdfans/kbd75rgb/keymaps/default/keymap.c b/keyboards/kbdfans/kbd75rgb/keymaps/default/keymap.c index ce40dd3a2102..3cb32e80c902 100644 --- a/keyboards/kbdfans/kbd75rgb/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd75rgb/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kbdfans/kbd75rgb/keymaps/via/keymap.c b/keyboards/kbdfans/kbd75rgb/keymaps/via/keymap.c index b7f0e4f36e23..cd9cd7d05a09 100644 --- a/keyboards/kbdfans/kbd75rgb/keymaps/via/keymap.c +++ b/keyboards/kbdfans/kbd75rgb/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_75_ansi ( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_75_ansi ( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT_75_ansi ( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kbdfans/kbd8x/keymaps/default/keymap.c b/keyboards/kbdfans/kbd8x/keymaps/default/keymap.c index 0f598725a548..48974bc40150 100644 --- a/keyboards/kbdfans/kbd8x/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbd8x/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, 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, RESET, RESET, 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, QK_BOOT, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_INC, BL_DEC, BL_BRTG, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kbdfans/kbd8x/keymaps/default_backlighting/keymap.c b/keyboards/kbdfans/kbd8x/keymaps/default_backlighting/keymap.c index 11f7fd9eb206..a979005ba748 100644 --- a/keyboards/kbdfans/kbd8x/keymaps/default_backlighting/keymap.c +++ b/keyboards/kbdfans/kbd8x/keymaps/default_backlighting/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, 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, RESET, RESET, 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, QK_BOOT, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_INC, BL_DEC, BL_BRTG, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kbdfans/maja/keymaps/default/keymap.c b/keyboards/kbdfans/maja/keymaps/default/keymap.c index bfab84bddd57..e38e38485be9 100755 --- a/keyboards/kbdfans/maja/keymaps/default/keymap.c +++ b/keyboards/kbdfans/maja/keymaps/default/keymap.c @@ -9,8 +9,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT( /* FN */ - 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_HOME, - 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, + 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, QK_BOOT, KC_HOME, + 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, QK_BOOT, KC_PGUP, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/kbdfans/maja/keymaps/via/keymap.c b/keyboards/kbdfans/maja/keymaps/via/keymap.c index 3feb7e579a14..1c6f491e56c5 100755 --- a/keyboards/kbdfans/maja/keymaps/via/keymap.c +++ b/keyboards/kbdfans/maja/keymaps/via/keymap.c @@ -9,8 +9,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT( /* FN */ - 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_HOME, - 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, + 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, QK_BOOT, KC_HOME, + 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, QK_BOOT, KC_PGUP, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/kbdfans/maja_soldered/keymaps/default/keymap.c b/keyboards/kbdfans/maja_soldered/keymaps/default/keymap.c index a86004ef72dd..5c7808ae7ba3 100755 --- a/keyboards/kbdfans/maja_soldered/keymaps/default/keymap.c +++ b/keyboards/kbdfans/maja_soldered/keymaps/default/keymap.c @@ -23,8 +23,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT( /* FN */ - 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, - 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, + 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, QK_BOOT,KC_TRNS,KC_HOME, + 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, QK_BOOT, KC_PGUP, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/kbdfans/maja_soldered/keymaps/via/keymap.c b/keyboards/kbdfans/maja_soldered/keymaps/via/keymap.c index cf64bec4c8b1..960a1f0f1542 100755 --- a/keyboards/kbdfans/maja_soldered/keymaps/via/keymap.c +++ b/keyboards/kbdfans/maja_soldered/keymaps/via/keymap.c @@ -23,8 +23,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT( /* FN */ - 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, - 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, + 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, QK_BOOT,KC_TRNS,KC_HOME, + 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, QK_BOOT, KC_PGUP, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/kbdfans/niu_mini/keymaps/default/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/default/keymap.c index c0f5d06c7b3b..e8b735a8869d 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/default/keymap.c +++ b/keyboards/kbdfans/niu_mini/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* Layer 2 (r_ Indicates RGB Controls) diff --git a/keyboards/kbdfans/niu_mini/keymaps/via/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/via/keymap.c index 702e4199445a..663b710814d0 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/via/keymap.c +++ b/keyboards/kbdfans/niu_mini/keymaps/via/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* Layer 2 (r_ Indicates RGB Controls) @@ -67,13 +67,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | |BL_TOG|BL_STEP| | | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | RESET| | | | | | | | | | | | + * | QK_BOOT| | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [3] = LAYOUT_ortho_4x12( _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/kbnordic/nordic60/keymaps/default/keymap.c b/keyboards/kbnordic/nordic60/keymaps/default/keymap.c index 0776088335fc..b9e8fd21f27d 100644 --- a/keyboards/kbnordic/nordic60/keymaps/default/keymap.c +++ b/keyboards/kbnordic/nordic60/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // basic function layer [1] = LAYOUT_60_iso_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kbnordic/nordic60/keymaps/default_ansi/keymap.c b/keyboards/kbnordic/nordic60/keymaps/default_ansi/keymap.c index 21b2249f7401..72157cad9804 100644 --- a/keyboards/kbnordic/nordic60/keymaps/default_ansi/keymap.c +++ b/keyboards/kbnordic/nordic60/keymaps/default_ansi/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // basic function layer [1] = LAYOUT_60_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kbnordic/nordic60/keymaps/via/keymap.c b/keyboards/kbnordic/nordic60/keymaps/via/keymap.c index f8fe78c268c2..62a06170d2c5 100644 --- a/keyboards/kbnordic/nordic60/keymaps/via/keymap.c +++ b/keyboards/kbnordic/nordic60/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), // basic function layer [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kc60/keymaps/default/keymap.c b/keyboards/kc60/keymaps/default/keymap.c index d7d6d6eaf69d..0955c65d307f 100644 --- a/keyboards/kc60/keymaps/default/keymap.c +++ b/keyboards/kc60/keymaps/default/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, _______, _______, diff --git a/keyboards/kc60/keymaps/via/keymap.c b/keyboards/kc60/keymaps/via/keymap.c index eefa81e15431..26805e30415a 100644 --- a/keyboards/kc60/keymaps/via/keymap.c +++ b/keyboards/kc60/keymaps/via/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, _______, _______, diff --git a/keyboards/keebio/bdn9/keymaps/default/keymap.c b/keyboards/keebio/bdn9/keymaps/default/keymap.c index 1dc680a1f602..dae8cb603580 100644 --- a/keyboards/keebio/bdn9/keymaps/default/keymap.c +++ b/keyboards/keebio/bdn9/keymaps/default/keymap.c @@ -34,12 +34,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT ), /* - | RESET | N/A | Media Stop | + | QK_BOOT | N/A | Media Stop | | Held: Layer 2 | Home | RGB Mode | | Media Previous | End | Media Next | */ [1] = LAYOUT( - RESET , BL_STEP, KC_STOP, + QK_BOOT , BL_STEP, KC_STOP, _______, KC_HOME, RGB_MOD, KC_MPRV, KC_END , KC_MNXT ), diff --git a/keyboards/keebio/bdn9/keymaps/via/keymap.c b/keyboards/keebio/bdn9/keymaps/via/keymap.c index 655f3e5ed46e..fc5f22cd8b45 100644 --- a/keyboards/keebio/bdn9/keymaps/via/keymap.c +++ b/keyboards/keebio/bdn9/keymaps/via/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ONE] = LAYOUT( - RESET, BL_STEP, KC_STOP, + QK_BOOT, BL_STEP, KC_STOP, _______, KC_HOME, RGB_MOD, KC_MPRV, KC_END , KC_MNXT ), diff --git a/keyboards/keebio/chocopad/keymaps/default/keymap.c b/keyboards/keebio/chocopad/keymaps/default/keymap.c index 457b84ecee7f..b89246adf03d 100644 --- a/keyboards/keebio/chocopad/keymaps/default/keymap.c +++ b/keyboards/keebio/chocopad/keymaps/default/keymap.c @@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN2] = LAYOUT_ortho_4x4( RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, BL_STEP, _______, _______, _______ ) diff --git a/keyboards/keebio/dilly/keymaps/default/keymap.c b/keyboards/keebio/dilly/keymaps/default/keymap.c index f81aa6d44632..163d31a01bc7 100644 --- a/keyboards/keebio/dilly/keymaps/default/keymap.c +++ b/keyboards/keebio/dilly/keymaps/default/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN5] = LAYOUT_ortho_3x10( - RGB_TOG, RGB_MOD, _______, RESET, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, + RGB_TOG, RGB_MOD, _______, QK_BOOT, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, DEBUG, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, BL_STEP, _______, KC_GUIC, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/keebio/dsp40/keymaps/default/keymap.c b/keyboards/keebio/dsp40/keymaps/default/keymap.c index a4f65f5f4833..b269b1e8ca13 100755 --- a/keyboards/keebio/dsp40/keymaps/default/keymap.c +++ b/keyboards/keebio/dsp40/keymaps/default/keymap.c @@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/keebio/dsp40/keymaps/via/keymap.c b/keyboards/keebio/dsp40/keymaps/via/keymap.c index f2f87663c506..b98bf4ac8461 100755 --- a/keyboards/keebio/dsp40/keymaps/via/keymap.c +++ b/keyboards/keebio/dsp40/keymaps/via/keymap.c @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN3] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/keebio/foldkb/keymaps/default/keymap.c b/keyboards/keebio/foldkb/keymaps/default/keymap.c index 45bc1673e2e1..d8a841f4e4a6 100644 --- a/keyboards/keebio/foldkb/keymaps/default/keymap.c +++ b/keyboards/keebio/foldkb/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL ), [1] = LAYOUT( - KC_MUTE, RESET, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + KC_MUTE, QK_BOOT, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, BL_STEP, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, RGB_MOD, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, diff --git a/keyboards/keebio/foldkb/keymaps/via/keymap.c b/keyboards/keebio/foldkb/keymaps/via/keymap.c index 85d69127604c..288716acd573 100644 --- a/keyboards/keebio/foldkb/keymaps/via/keymap.c +++ b/keyboards/keebio/foldkb/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL ), [1] = LAYOUT( - KC_MUTE, RESET, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + KC_MUTE, QK_BOOT, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, BL_STEP, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, RGB_MOD, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, diff --git a/keyboards/keebio/fourier/keymaps/default/keymap.c b/keyboards/keebio/fourier/keymaps/default/keymap.c index 341bc99a7e83..f98d94a9b629 100644 --- a/keyboards/keebio/fourier/keymaps/default/keymap.c +++ b/keyboards/keebio/fourier/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - RESET, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, + QK_BOOT, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_UP, _______, RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_0, KC_LEFT, KC_DOWN, KC_RGHT ), diff --git a/keyboards/keebio/fourier/keymaps/via/keymap.c b/keyboards/keebio/fourier/keymaps/via/keymap.c index c16ff08d0699..899d86600830 100644 --- a/keyboards/keebio/fourier/keymaps/via/keymap.c +++ b/keyboards/keebio/fourier/keymaps/via/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - RESET, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, + QK_BOOT, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_UP, _______, RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_0, KC_LEFT, KC_DOWN, KC_RGHT ), diff --git a/keyboards/keebio/iris/keymaps/default/keymap.c b/keyboards/keebio/iris/keymaps/default/keymap.c index 169e5b50c7c6..f1a2bf216455 100644 --- a/keyboards/keebio/iris/keymaps/default/keymap.c +++ b/keyboards/keebio/iris/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/keebio/iris/keymaps/via/keymap.c b/keyboards/keebio/iris/keymaps/via/keymap.c index 0a71bad92b52..1305a3b909fc 100644 --- a/keyboards/keebio/iris/keymaps/via/keymap.c +++ b/keyboards/keebio/iris/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/keebio/laplace/keymaps/default/keymap.c b/keyboards/keebio/laplace/keymaps/default/keymap.c index 053bfb7ad61a..d728f65938f1 100644 --- a/keyboards/keebio/laplace/keymaps/default/keymap.c +++ b/keyboards/keebio/laplace/keymaps/default/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - RESET, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, + QK_BOOT, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_UP, _______, RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_0, KC_LEFT, KC_DOWN, KC_RGHT ), diff --git a/keyboards/keebio/levinson/keymaps/default/keymap.c b/keyboards/keebio/levinson/keymaps/default/keymap.c index 81f3e75b8df7..ed4c7243d107 100644 --- a/keyboards/keebio/levinson/keymaps/default/keymap.c +++ b/keyboards/keebio/levinson/keymaps/default/keymap.c @@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/keebio/levinson/keymaps/via/keymap.c b/keyboards/keebio/levinson/keymaps/via/keymap.c index f6504de33763..b2ca57c8ab71 100644 --- a/keyboards/keebio/levinson/keymaps/via/keymap.c +++ b/keyboards/keebio/levinson/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT_ortho_4x12( - _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/keebio/nyquist/keymaps/default/keymap.c b/keyboards/keebio/nyquist/keymaps/default/keymap.c index 7b28dc95362e..03de74a80dcc 100644 --- a/keyboards/keebio/nyquist/keymaps/default/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/default/keymap.c @@ -143,7 +143,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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 , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, + _______, QK_BOOT , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/keebio/nyquist/keymaps/default_4x12/keymap.c b/keyboards/keebio/nyquist/keymaps/default_4x12/keymap.c index 78eb393162e2..da2b79e3c253 100644 --- a/keyboards/keebio/nyquist/keymaps/default_4x12/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/default_4x12/keymap.c @@ -81,14 +81,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | RESET| + * | | | | | | | | | | | | QK_BOOT| * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), /* Function diff --git a/keyboards/keebio/nyquist/keymaps/via/keymap.c b/keyboards/keebio/nyquist/keymaps/via/keymap.c index 312e8c99c80b..f77ba03eb4d0 100644 --- a/keyboards/keebio/nyquist/keymaps/via/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [3] = LAYOUT_ortho_5x12( - _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/keebio/rorschach/keymaps/default/keymap.c b/keyboards/keebio/rorschach/keymaps/default/keymap.c index 431f7d3a91b4..00f2a9cffbb3 100644 --- a/keyboards/keebio/rorschach/keymaps/default/keymap.c +++ b/keyboards/keebio/rorschach/keymaps/default/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT( BL_STEP, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE, - RESET, _______, RGB_HUD, RGB_SAD, RGB_VAD, KC_LCBR, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_SLSH, _______, + QK_BOOT, _______, RGB_HUD, RGB_SAD, RGB_VAD, KC_LCBR, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_SLSH, _______, KC_GRV, _______, _______, _______, _______, KC_DEL, _______, _______, KC_P0, KC_PDOT, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/keebio/viterbi/keymaps/default/keymap.c b/keyboards/keebio/viterbi/keymaps/default/keymap.c index 78ae83a824bf..1db80b74524b 100644 --- a/keyboards/keebio/viterbi/keymaps/default/keymap.c +++ b/keyboards/keebio/viterbi/keymaps/default/keymap.c @@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_ortho_5x14( _______, 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 , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, _______, + _______, _______, QK_BOOT , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, _______, _______, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/keebio/viterbi/keymaps/via/keymap.c b/keyboards/keebio/viterbi/keymaps/via/keymap.c index 6360202ee016..fd2008bee9b6 100644 --- a/keyboards/keebio/viterbi/keymaps/via/keymap.c +++ b/keyboards/keebio/viterbi/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_5x14( _______, 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 , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, _______, + _______, _______, QK_BOOT , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, _______, _______, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/keebio/wavelet/keymaps/default/keymap.c b/keyboards/keebio/wavelet/keymaps/default/keymap.c index 81f3e75b8df7..ed4c7243d107 100644 --- a/keyboards/keebio/wavelet/keymaps/default/keymap.c +++ b/keyboards/keebio/wavelet/keymaps/default/keymap.c @@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/keebsforall/coarse60/keymaps/default/keymap.c b/keyboards/keebsforall/coarse60/keymaps/default/keymap.c index 702785058216..569f7cbd2011 100644 --- a/keyboards/keebsforall/coarse60/keymaps/default/keymap.c +++ b/keyboards/keebsforall/coarse60/keymaps/default/keymap.c @@ -32,6 +32,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_MOD, _______, _______, KC_UP, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, _______, _______, _______, _______, RGB_RMOD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/keebsforall/coarse60/keymaps/via/keymap.c b/keyboards/keebsforall/coarse60/keymaps/via/keymap.c index 6139c43d73dc..39155534f1ec 100644 --- a/keyboards/keebsforall/coarse60/keymaps/via/keymap.c +++ b/keyboards/keebsforall/coarse60/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_MOD, _______, _______, KC_UP, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, _______, _______, _______, _______, RGB_RMOD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ), [2] = LAYOUT_alice_split_bs( diff --git a/keyboards/keebsforall/freebird60/keymaps/default/keymap.c b/keyboards/keebsforall/freebird60/keymaps/default/keymap.c index d2540ee9b50d..fe63e2030dd6 100644 --- a/keyboards/keebsforall/freebird60/keymaps/default/keymap.c +++ b/keyboards/keebsforall/freebird60/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/keebsforall/freebird60/keymaps/via/keymap.c b/keyboards/keebsforall/freebird60/keymaps/via/keymap.c index d2540ee9b50d..fe63e2030dd6 100644 --- a/keyboards/keebsforall/freebird60/keymaps/via/keymap.c +++ b/keyboards/keebsforall/freebird60/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/keebwerk/mega/ansi/keymaps/default/keymap.c b/keyboards/keebwerk/mega/ansi/keymaps/default/keymap.c index 1d95e13c4056..aaa096bd844a 100755 --- a/keyboards/keebwerk/mega/ansi/keymaps/default/keymap.c +++ b/keyboards/keebwerk/mega/ansi/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi( /* FN */ 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, KC_DEL, 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, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/keebwerk/mega/ansi/keymaps/via/keymap.c b/keyboards/keebwerk/mega/ansi/keymaps/via/keymap.c index 59ccdf685d80..c88a9629a360 100755 --- a/keyboards/keebwerk/mega/ansi/keymaps/via/keymap.c +++ b/keyboards/keebwerk/mega/ansi/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi( /* FN */ 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, KC_DEL, 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, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/keebzdotnet/fme/keymaps/default/keymap.c b/keyboards/keebzdotnet/fme/keymaps/default/keymap.c index a66b64eef0c6..6b40c7e17e1f 100644 --- a/keyboards/keebzdotnet/fme/keymaps/default/keymap.c +++ b/keyboards/keebzdotnet/fme/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/keebzdotnet/fme/keymaps/via/keymap.c b/keyboards/keebzdotnet/fme/keymaps/via/keymap.c index a66b64eef0c6..6b40c7e17e1f 100644 --- a/keyboards/keebzdotnet/fme/keymaps/via/keymap.c +++ b/keyboards/keebzdotnet/fme/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/keybage/radpad/keymaps/default/keymap.c b/keyboards/keybage/radpad/keymaps/default/keymap.c index f2d712bd6f59..1d1e15e79898 100644 --- a/keyboards/keybage/radpad/keymaps/default/keymap.c +++ b/keyboards/keybage/radpad/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PSLS, KC_F21, KC_F22, KC_F23, KC_PAST, KC_F18, KC_F19, KC_F20, KC_NLCK, KC_F15, KC_F16, KC_F17, - RESET, _______, KC_F13, KC_F14 + QK_BOOT, _______, KC_F13, KC_F14 ) }; diff --git a/keyboards/keybee/keybee65/keymaps/default/keymap.c b/keyboards/keybee/keybee65/keymaps/default/keymap.c index a1df29ef9267..8d58a54852e1 100644 --- a/keyboards/keybee/keybee65/keymaps/default/keymap.c +++ b/keyboards/keybee/keybee65/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - 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_PAUSE, RESET, KC_TRNS, + 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_PAUSE, QK_BOOT, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK diff --git a/keyboards/keybee/keybee65/keymaps/via/keymap.c b/keyboards/keybee/keybee65/keymaps/via/keymap.c index 12faf6f19625..1eb0a6480c71 100644 --- a/keyboards/keybee/keybee65/keymaps/via/keymap.c +++ b/keyboards/keybee/keybee65/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - 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_PAUSE, RESET, KC_TRNS, + 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_PAUSE, QK_BOOT, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK diff --git a/keyboards/keyboardio/atreus/keymaps/default/keymap.c b/keyboards/keyboardio/atreus/keymaps/default/keymap.c index 716873345417..6971edc332aa 100644 --- a/keyboards/keyboardio/atreus/keymaps/default/keymap.c +++ b/keyboards/keyboardio/atreus/keymaps/default/keymap.c @@ -38,6 +38,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LW] = LAYOUT( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , - KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, _______, _______, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , + KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, _______, _______, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS ) }; diff --git a/keyboards/keyboardio/atreus/keymaps/via/keymap.c b/keyboards/keyboardio/atreus/keymaps/via/keymap.c index c649ec1c654f..dee94fc57e30 100644 --- a/keyboards/keyboardio/atreus/keymaps/via/keymap.c +++ b/keyboards/keyboardio/atreus/keymaps/via/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , - KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_TRNS, KC_TRNS, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , + KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_TRNS, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , TO(0), KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(0), KC_PSCR, KC_SLCK, KC_PAUS ), [3] = LAYOUT( /* blank */ diff --git a/keyboards/keyboardio/model01/keymaps/default/keymap.c b/keyboards/keyboardio/model01/keymaps/default/keymap.c index 5ee865972e9a..1ff1eb837063 100644 --- a/keyboards/keyboardio/model01/keymaps/default/keymap.c +++ b/keyboards/keyboardio/model01/keymaps/default/keymap.c @@ -25,7 +25,7 @@ enum { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [DEF] = LAYOUT( - RESET , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , TG(NUM), + QK_BOOT , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , TG(NUM), KC_GRV , KC_Q , KC_W , KC_E , KC_R , KC_T , RGB_MOD, _______, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_EQL , KC_PGUP, KC_A , KC_S , KC_D , KC_F , KC_G , KC_TAB , KC_ENT , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_PGDN, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_ESC , _______, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_MINS, diff --git a/keyboards/keycapsss/kimiko/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c index 5a33d527c805..7e767852f61a 100644 --- a/keyboards/keycapsss/kimiko/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* ADJUST (Press LOWER and RAISE together) * ,-----------------------------------------. ,-----------------------------------------. - * |RESET | | | | | | | | | | | | | + * |QK_BOOT | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * |RGB ON| HUE+ | SAT+ | VAL+ | | | | PREV | PLAY | NEXT | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c b/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c index 107d6c940b83..050b5a2c3ede 100644 --- a/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c +++ b/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c @@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/keyhive/absinthe/keymaps/ansi/keymap.c b/keyboards/keyhive/absinthe/keymaps/ansi/keymap.c index 2177f18146a7..a0a73eb78332 100644 --- a/keyboards/keyhive/absinthe/keymaps/ansi/keymap.c +++ b/keyboards/keyhive/absinthe/keymaps/ansi/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_HUD,RGB_HUI,RGB_SAD,RGB_SAI,RGB_VAD,RGB_VAI, 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_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS) diff --git a/keyboards/keyhive/absinthe/keymaps/default/keymap.c b/keyboards/keyhive/absinthe/keymaps/default/keymap.c index e5c74366c0c8..7f74137037dc 100644 --- a/keyboards/keyhive/absinthe/keymaps/default/keymap.c +++ b/keyboards/keyhive/absinthe/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_default( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_HUD,RGB_HUI,RGB_SAD,RGB_SAI,RGB_VAD,RGB_VAI, 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, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS) diff --git a/keyboards/keyhive/ergosaurus/keymaps/default/keymap.c b/keyboards/keyhive/ergosaurus/keymaps/default/keymap.c index 42cf9082e428..d9f5d882a4b8 100644 --- a/keyboards/keyhive/ergosaurus/keymaps/default/keymap.c +++ b/keyboards/keyhive/ergosaurus/keymaps/default/keymap.c @@ -42,6 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/keyhive/ergosaurus/keymaps/via/keymap.c b/keyboards/keyhive/ergosaurus/keymaps/via/keymap.c index 5ae73bfd4760..72a604ad2c8f 100644 --- a/keyboards/keyhive/ergosaurus/keymaps/via/keymap.c +++ b/keyboards/keyhive/ergosaurus/keymaps/via/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ), [3] = LAYOUT_alice_split_bs( @@ -46,6 +46,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/keyhive/southpole/keymaps/default/keymap.c b/keyboards/keyhive/southpole/keymaps/default/keymap.c index 2777f00b5bd8..c8782b969983 100644 --- a/keyboards/keyhive/southpole/keymaps/default/keymap.c +++ b/keyboards/keyhive/southpole/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_0, KC_DOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, KC_TRNS, RESET, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, KC_TRNS, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/keyhive/ut472/keymaps/via/keymap.c b/keyboards/keyhive/ut472/keymaps/via/keymap.c index fe3eff802ef8..506e8b3cdec0 100644 --- a/keyboards/keyhive/ut472/keymaps/via/keymap.c +++ b/keyboards/keyhive/ut472/keymaps/via/keymap.c @@ -15,7 +15,7 @@ LAYOUT( /* Right */ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELETE, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______, - RESET, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END + QK_BOOT, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END ), LAYOUT( /* Left */ diff --git a/keyboards/keyprez/rhino/keymaps/default/keymap.c b/keyboards/keyprez/rhino/keymaps/default/keymap.c index c58c3e8ccb4f..a44805f55744 100644 --- a/keyboards/keyprez/rhino/keymaps/default/keymap.c +++ b/keyboards/keyprez/rhino/keymaps/default/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | | DEL | PRT SC | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | | | | | | | | | | | | | | RESET | + * | | | | | | | | | | | | | | QK_BOOT | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| * | | | | | | | | MUTE | VOL UP |VOL DOWN| PAUSE | | * '-----------------------------------------------------------------------------------------------------------------------------' @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_APP, 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, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, KC_DEL, KC_PSCR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, MU_TOG, MU_MOD, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPLY ), diff --git a/keyboards/keyprez/rhino/keymaps/default_7u/keymap.c b/keyboards/keyprez/rhino/keymaps/default_7u/keymap.c index a24f45db65a4..1748d4590a1a 100644 --- a/keyboards/keyprez/rhino/keymaps/default_7u/keymap.c +++ b/keyboards/keyprez/rhino/keymaps/default_7u/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | | DEL | PRT SC | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | | | | | | | | | | | | | | RESET | + * | | | | | | | | | | | | | | QK_BOOT | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| * | | MU TOG | MU MOD | | | | | * '-----------------------------------------------------------------------------------------------------------------------------' @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_APP, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_PSCR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, MU_TOG, MU_MOD, _______, _______, _______ ), diff --git a/keyboards/keyprez/rhino/keymaps/default_ergo/keymap.c b/keyboards/keyprez/rhino/keymaps/default_ergo/keymap.c index ac73e3d79606..ed57c543f9b2 100644 --- a/keyboards/keyprez/rhino/keymaps/default_ergo/keymap.c +++ b/keyboards/keyprez/rhino/keymaps/default_ergo/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+ F6 + F7 +--------+--------+--------+-----------------+---------| * | | F7 | F8 | F9 | F10 | F11 |--------|--------| | | | | | PRT SC | * |--------+--------+--------+--------+--------+--------+ F12 + +--------+--------+--------------------------+--------| - * | | | | | | | | | | | | | | RESET | + * | | | | | | | | | | | | | | QK_BOOT | * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| * | | MU TOG | MU MOD | | | | | MUTE | VOL UP |VOL DOWN| PAUSE | | * '-----------------------------------------------------------------------------------------------------------------------------' @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_APP, 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, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, KC_PSCR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, MU_TOG, MU_MOD, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPLY ), diff --git a/keyboards/keyprez/unicorn/keymaps/default/keymap.c b/keyboards/keyprez/unicorn/keymaps/default/keymap.c index 14a22167f43d..ef385bce5043 100644 --- a/keyboards/keyprez/unicorn/keymaps/default/keymap.c +++ b/keyboards/keyprez/unicorn/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( _______, 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, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/keysofkings/twokey/keymaps/default/keymap.c b/keyboards/keysofkings/twokey/keymaps/default/keymap.c index f5a3732989ec..b611436b8c1a 100644 --- a/keyboards/keysofkings/twokey/keymaps/default/keymap.c +++ b/keyboards/keysofkings/twokey/keymaps/default/keymap.c @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( TO(0), - RESET, EEPROM_RESET), + QK_BOOT, EEPROM_RESET), }; void matrix_init_user(void) { diff --git a/keyboards/kikoslab/ellora65/keymaps/default/keymap.c b/keyboards/kikoslab/ellora65/keymaps/default/keymap.c index e904026b8e3a..625305c557f6 100644 --- a/keyboards/kikoslab/ellora65/keymaps/default/keymap.c +++ b/keyboards/kikoslab/ellora65/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F17 , 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_F18 , 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_F19 , 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_F20 , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_F20 , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/kikoslab/ellora65/keymaps/via/keymap.c b/keyboards/kikoslab/ellora65/keymaps/via/keymap.c index fbe101d3d142..8275718bcbf6 100644 --- a/keyboards/kikoslab/ellora65/keymaps/via/keymap.c +++ b/keyboards/kikoslab/ellora65/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F17 , 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_F18 , 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_F19 , 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_F20 , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_F20 , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [2] = LAYOUT_all( diff --git a/keyboards/kin80/keymaps/default/keymap.c b/keyboards/kin80/keymaps/default/keymap.c index 9ef3e2b2fc2c..769dc65e08a7 100644 --- a/keyboards/kin80/keymaps/default/keymap.c +++ b/keyboards/kin80/keymaps/default/keymap.c @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| |------+------+------+------+------+--------| * | | | | | | | | . | 1 | 2 | 3 |Enter | | * `--------+------+------+------+------+------' `------+------+------+------+------+--------' -* |RESET | | | | | | | | | +* |QK_BOOT | | | | | | | | | * `---------------------------' `---------------------------' * ,-------------. ,-------------. * | | | | RAlt | | @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, KC_CAPS, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, _______, _______, _______, _______, KC_PDOT, KC_P1, KC_P2, KC_P3, KC_PENT, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RALT, _______, KC_WH_U, _______, _______, _______, KC_WH_D, _______, _______, KC_P0 diff --git a/keyboards/kinesis/keymaps/default/keymap.c b/keyboards/kinesis/keymaps/default/keymap.c index d46a07cacf91..9c2f3bcc6b55 100644 --- a/keyboards/kinesis/keymaps/default/keymap.c +++ b/keyboards/kinesis/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL,KC_LALT, KC_HOME, KC_BSPC,KC_DEL ,KC_END , - KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR ,KC_SLCK ,KC_PAUS, KC_NO, RESET, + KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR ,KC_SLCK ,KC_PAUS, KC_NO, QK_BOOT, KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS, KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT, diff --git a/keyboards/kinesis/keymaps/default_pretty/keymap.c b/keyboards/kinesis/keymaps/default_pretty/keymap.c index 94102a806764..913f5dbf84f7 100644 --- a/keyboards/kinesis/keymaps/default_pretty/keymap.c +++ b/keyboards/kinesis/keymaps/default_pretty/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [QWERTY] = LAYOUT_pretty( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, RESET, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, QK_BOOT, KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, diff --git a/keyboards/kingly_keys/little_foot/keymaps/default/keymap.c b/keyboards/kingly_keys/little_foot/keymaps/default/keymap.c index e85e0d6c4751..76cac53e2e39 100644 --- a/keyboards/kingly_keys/little_foot/keymaps/default/keymap.c +++ b/keyboards/kingly_keys/little_foot/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LT(_LN, KC_ESC), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_BSPC, KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_MINS), KC_BSLS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_QUOT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LALT, KC_TRNS, KC_LCTRL ), diff --git a/keyboards/kira80/keymaps/ansi/keymap.c b/keyboards/kira80/keymaps/ansi/keymap.c index 21e4ce66eb6c..29d8d5d7f24b 100644 --- a/keyboards/kira80/keymaps/ansi/keymap.c +++ b/keyboards/kira80/keymaps/ansi/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi( 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, BL_TOGG, BL_DEC, BL_INC, 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, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/kira80/keymaps/default/keymap.c b/keyboards/kira80/keymaps/default/keymap.c index e8468a0db6d9..8b1a75cb84fd 100644 --- a/keyboards/kira80/keymaps/default/keymap.c +++ b/keyboards/kira80/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/kira80/keymaps/iso/keymap.c b/keyboards/kira80/keymaps/iso/keymap.c index a4c86fbf3041..c617dc4334ff 100644 --- a/keyboards/kira80/keymaps/iso/keymap.c +++ b/keyboards/kira80/keymaps/iso/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_iso( 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, BL_TOGG, BL_DEC, BL_INC, 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, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/kira80/keymaps/via/keymap.c b/keyboards/kira80/keymaps/via/keymap.c index d875541045af..78353c9d6072 100644 --- a/keyboards/kira80/keymaps/via/keymap.c +++ b/keyboards/kira80/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/kiwikeebs/macro/keymaps/default/keymap.c b/keyboards/kiwikeebs/macro/keymaps/default/keymap.c index caa6b4aafcc0..b7f98c68caf3 100644 --- a/keyboards/kiwikeebs/macro/keymaps/default/keymap.c +++ b/keyboards/kiwikeebs/macro/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE ), [_FN1] = LAYOUT( - RESET, KC_UP, _______, + QK_BOOT, KC_UP, _______, KC_LEFT, KC_DOWN, KC_RGHT, MAGIC_TOGGLE_NKRO ), [_FN2] = LAYOUT( diff --git a/keyboards/kiwikeebs/macro/keymaps/via/keymap.c b/keyboards/kiwikeebs/macro/keymaps/via/keymap.c index 56dffdbd93a7..0641efab59b2 100644 --- a/keyboards/kiwikeebs/macro/keymaps/via/keymap.c +++ b/keyboards/kiwikeebs/macro/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE ), [_FN] = LAYOUT( - RESET, KC_UP, _______, + QK_BOOT, KC_UP, _______, KC_LEFT, KC_DOWN, KC_RGHT, MAGIC_TOGGLE_NKRO ) }; diff --git a/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c b/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c index dd0def64b6b8..bfe8208a8b4a 100644 --- a/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c +++ b/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE ), [_FN1] = LAYOUT( - RESET, KC_UP, _______, + QK_BOOT, KC_UP, _______, KC_LEFT, KC_DOWN, KC_RGHT, MAGIC_TOGGLE_NKRO ), [_FN2] = LAYOUT( diff --git a/keyboards/kiwikeebs/macro_v2/keymaps/via/keymap.c b/keyboards/kiwikeebs/macro_v2/keymaps/via/keymap.c index 56dffdbd93a7..0641efab59b2 100644 --- a/keyboards/kiwikeebs/macro_v2/keymaps/via/keymap.c +++ b/keyboards/kiwikeebs/macro_v2/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE ), [_FN] = LAYOUT( - RESET, KC_UP, _______, + QK_BOOT, KC_UP, _______, KC_LEFT, KC_DOWN, KC_RGHT, MAGIC_TOGGLE_NKRO ) }; diff --git a/keyboards/kiwikey/borderland/keymaps/default/keymap.c b/keyboards/kiwikey/borderland/keymaps/default/keymap.c index 9723158b4c3e..e232e68bebc1 100644 --- a/keyboards/kiwikey/borderland/keymaps/default/keymap.c +++ b/keyboards/kiwikey/borderland/keymaps/default/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kiwikey/borderland/keymaps/via/keymap.c b/keyboards/kiwikey/borderland/keymaps/via/keymap.c index b787933457a2..a785a53d15dd 100644 --- a/keyboards/kiwikey/borderland/keymaps/via/keymap.c +++ b/keyboards/kiwikey/borderland/keymaps/via/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kiwikey/kawii9/keymaps/default/keymap.c b/keyboards/kiwikey/kawii9/keymaps/default/keymap.c index a43e84d00be3..b9d1f0f2dd2d 100644 --- a/keyboards/kiwikey/kawii9/keymaps/default/keymap.c +++ b/keyboards/kiwikey/kawii9/keymaps/default/keymap.c @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_3x3( RGB_TOG, RGB_MODE_REVERSE, RGB_MODE_FORWARD, _______, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, - _______, _______, RESET + _______, _______, QK_BOOT ) }; diff --git a/keyboards/kiwikey/kawii9/keymaps/via/keymap.c b/keyboards/kiwikey/kawii9/keymaps/via/keymap.c index 4d64978cd037..cb462a58fe84 100644 --- a/keyboards/kiwikey/kawii9/keymaps/via/keymap.c +++ b/keyboards/kiwikey/kawii9/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ortho_3x3( RGB_TOG, RGB_MODE_REVERSE, RGB_MODE_FORWARD, _______, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, - _______, _______, RESET + _______, _______, QK_BOOT ), [2] = LAYOUT_ortho_3x3( _______, _______, _______, diff --git a/keyboards/kiwikey/wanderland/keymaps/default/keymap.c b/keyboards/kiwikey/wanderland/keymaps/default/keymap.c index bb8a9bc0c039..62cefd77ff80 100644 --- a/keyboards/kiwikey/wanderland/keymaps/default/keymap.c +++ b/keyboards/kiwikey/wanderland/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______, RGB_TOG, RGB_MOD, RGB_RMOD,_______, _______, _______, BL_TOGG, BL_STEP, BL_BRTG, KC_UP, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, - RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/kiwikey/wanderland/keymaps/via/keymap.c b/keyboards/kiwikey/wanderland/keymaps/via/keymap.c index 7ada22d02ab8..79f96d8b3af9 100644 --- a/keyboards/kiwikey/wanderland/keymaps/via/keymap.c +++ b/keyboards/kiwikey/wanderland/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______, RGB_TOG, RGB_MOD, RGB_RMOD,_______, _______, _______, BL_TOGG, BL_STEP, BL_BRTG, KC_UP, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, - RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_alice_split_bs( diff --git a/keyboards/kkatano/bakeneko60/keymaps/default/keymap.c b/keyboards/kkatano/bakeneko60/keymaps/default/keymap.c index e1f5cfc2e29d..c00e7fb050f7 100644 --- a/keyboards/kkatano/bakeneko60/keymaps/default/keymap.c +++ b/keyboards/kkatano/bakeneko60/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [_FN] = LAYOUT_60_ansi_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kkatano/bakeneko60/keymaps/via/keymap.c b/keyboards/kkatano/bakeneko60/keymaps/via/keymap.c index 4034ba70d36c..516ad4dc81bf 100644 --- a/keyboards/kkatano/bakeneko60/keymaps/via/keymap.c +++ b/keyboards/kkatano/bakeneko60/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [_L1] = LAYOUT_60_ansi_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kkatano/bakeneko65/rev2/keymaps/default/keymap.c b/keyboards/kkatano/bakeneko65/rev2/keymaps/default/keymap.c index 4d6d297d9422..bcfb23046984 100644 --- a/keyboards/kkatano/bakeneko65/rev2/keymaps/default/keymap.c +++ b/keyboards/kkatano/bakeneko65/rev2/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_65_ansi_split_bs( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kkatano/bakeneko65/rev2/keymaps/via/keymap.c b/keyboards/kkatano/bakeneko65/rev2/keymaps/via/keymap.c index a4cc2d8e8a65..fd164e9d30d9 100644 --- a/keyboards/kkatano/bakeneko65/rev2/keymaps/via/keymap.c +++ b/keyboards/kkatano/bakeneko65/rev2/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_L1] = LAYOUT_65_ansi_split_bs( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kkatano/bakeneko65/rev3/keymaps/default/keymap.c b/keyboards/kkatano/bakeneko65/rev3/keymaps/default/keymap.c index eb745e15ce5b..c9d1dd30524c 100644 --- a/keyboards/kkatano/bakeneko65/rev3/keymaps/default/keymap.c +++ b/keyboards/kkatano/bakeneko65/rev3/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kkatano/bakeneko65/rev3/keymaps/via/keymap.c b/keyboards/kkatano/bakeneko65/rev3/keymaps/via/keymap.c index aed067bf1060..267904a42e6c 100644 --- a/keyboards/kkatano/bakeneko65/rev3/keymaps/via/keymap.c +++ b/keyboards/kkatano/bakeneko65/rev3/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT ), [_L1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kkatano/bakeneko80/keymaps/default/keymap.c b/keyboards/kkatano/bakeneko80/keymaps/default/keymap.c index ff02728043e2..a1cc957f0ca2 100644 --- a/keyboards/kkatano/bakeneko80/keymaps/default/keymap.c +++ b/keyboards/kkatano/bakeneko80/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(_FN, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_tkl_ansi( - RESET, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kmini/keymaps/default/keymap.c b/keyboards/kmini/keymaps/default/keymap.c index 50a1cfbc503a..c3a7b12a40cd 100755 --- a/keyboards/kmini/keymaps/default/keymap.c +++ b/keyboards/kmini/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT( - _______, _______, _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/knops/mini/keymaps/default-gsm-newbs/keymap.c b/keyboards/knops/mini/keymaps/default-gsm-newbs/keymap.c index 3851719f196e..49215645294f 100644 --- a/keyboards/knops/mini/keymaps/default-gsm-newbs/keymap.c +++ b/keyboards/knops/mini/keymaps/default-gsm-newbs/keymap.c @@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * */ LAYOUT( - KC_TRNS, KC_TRNS, RESET, TO(0), TO(1), TO(2)), + KC_TRNS, KC_TRNS, QK_BOOT, TO(0), TO(1), TO(2)), // More Layers that can be used, but are not by default diff --git a/keyboards/knops/mini/keymaps/default/keymap.c b/keyboards/knops/mini/keymaps/default/keymap.c index 46ce7e49d088..de990cc597c8 100644 --- a/keyboards/knops/mini/keymaps/default/keymap.c +++ b/keyboards/knops/mini/keymaps/default/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LT(3, KC_1), KC_2, KC_3, KC_4, M_TGLHF, M_TGG), LAYOUT( - KC_TRNS, KC_TRNS, RESET, TO(0), TO(1), TO(2)), + KC_TRNS, KC_TRNS, QK_BOOT, TO(0), TO(1), TO(2)), LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/kona_classic/keymaps/ansi/keymap.c b/keyboards/kona_classic/keymaps/ansi/keymap.c index 8cf9d049b98c..a99fbe34cc08 100644 --- a/keyboards/kona_classic/keymaps/ansi/keymap.c +++ b/keyboards/kona_classic/keymaps/ansi/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_RGUI, MO(_FN), KC_RCTL ), [_FN] = LAYOUT_ansi( - RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kona_classic/keymaps/default/keymap.c b/keyboards/kona_classic/keymaps/default/keymap.c index 2b4949869f72..e9eaacd5ce7a 100644 --- a/keyboards/kona_classic/keymaps/default/keymap.c +++ b/keyboards/kona_classic/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_ENT, KC_RGUI, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_all( - RGB_TOG, RGB_MOD, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + RGB_TOG, RGB_MOD, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kona_classic/keymaps/iso/keymap.c b/keyboards/kona_classic/keymaps/iso/keymap.c index 797d1cb188cb..29347ae64741 100644 --- a/keyboards/kona_classic/keymaps/iso/keymap.c +++ b/keyboards/kona_classic/keymaps/iso/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_RGUI, MO(_FN), KC_RCTL ), [_FN] = LAYOUT_iso( - RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kopibeng/mnk65/keymaps/default/keymap.c b/keyboards/kopibeng/mnk65/keymaps/default/keymap.c index f588475516ec..75221584d82a 100644 --- a/keyboards/kopibeng/mnk65/keymaps/default/keymap.c +++ b/keyboards/kopibeng/mnk65/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kopibeng/mnk65/keymaps/via/keymap.c b/keyboards/kopibeng/mnk65/keymaps/via/keymap.c index ea2fcff18c91..3f8d0f5f27cb 100644 --- a/keyboards/kopibeng/mnk65/keymaps/via/keymap.c +++ b/keyboards/kopibeng/mnk65/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kopibeng/mnk88/keymaps/default/keymap.c b/keyboards/kopibeng/mnk88/keymaps/default/keymap.c index eb3748e277de..6dce9638381d 100644 --- a/keyboards/kopibeng/mnk88/keymaps/default/keymap.c +++ b/keyboards/kopibeng/mnk88/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/kopibeng/mnk88/keymaps/via/keymap.c b/keyboards/kopibeng/mnk88/keymaps/via/keymap.c index eb3748e277de..6dce9638381d 100644 --- a/keyboards/kopibeng/mnk88/keymaps/via/keymap.c +++ b/keyboards/kopibeng/mnk88/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/kopibeng/typ65/keymaps/default/keymap.c b/keyboards/kopibeng/typ65/keymaps/default/keymap.c index 63628ade6193..2a69c2bb0c50 100644 --- a/keyboards/kopibeng/typ65/keymaps/default/keymap.c +++ b/keyboards/kopibeng/typ65/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, 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, diff --git a/keyboards/kopibeng/typ65/keymaps/via/keymap.c b/keyboards/kopibeng/typ65/keymaps/via/keymap.c index 63628ade6193..2a69c2bb0c50 100644 --- a/keyboards/kopibeng/typ65/keymaps/via/keymap.c +++ b/keyboards/kopibeng/typ65/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, 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, diff --git a/keyboards/kopibeng/xt60/keymaps/default/keymap.c b/keyboards/kopibeng/xt60/keymaps/default/keymap.c index 337ec2836f8e..ee431827996b 100644 --- a/keyboards/kopibeng/xt60/keymaps/default/keymap.c +++ b/keyboards/kopibeng/xt60/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, 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, KC_TRNS diff --git a/keyboards/kopibeng/xt60/keymaps/via/keymap.c b/keyboards/kopibeng/xt60/keymaps/via/keymap.c index 337ec2836f8e..ee431827996b 100644 --- a/keyboards/kopibeng/xt60/keymaps/via/keymap.c +++ b/keyboards/kopibeng/xt60/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, 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, KC_TRNS diff --git a/keyboards/kopibeng/xt65/keymaps/default/keymap.c b/keyboards/kopibeng/xt65/keymaps/default/keymap.c index 4fad8d149b8d..901f1ec54728 100644 --- a/keyboards/kopibeng/xt65/keymaps/default/keymap.c +++ b/keyboards/kopibeng/xt65/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_65_ansi_blocker_split_bs( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, QK_BOOT, 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_CAPS, 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_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kopibeng/xt65/keymaps/via/keymap.c b/keyboards/kopibeng/xt65/keymaps/via/keymap.c index a4c95edd4be5..7d515d977ae1 100644 --- a/keyboards/kopibeng/xt65/keymaps/via/keymap.c +++ b/keyboards/kopibeng/xt65/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_65_ansi_blocker_split_bs( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, QK_BOOT, 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_CAPS, 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_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kopibeng/xt8x/keymaps/default/keymap.c b/keyboards/kopibeng/xt8x/keymaps/default/keymap.c index 368f0f1127b5..52cd88d9cdcf 100644 --- a/keyboards/kopibeng/xt8x/keymaps/default/keymap.c +++ b/keyboards/kopibeng/xt8x/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/kopibeng/xt8x/keymaps/via/keymap.c b/keyboards/kopibeng/xt8x/keymaps/via/keymap.c index 368f0f1127b5..52cd88d9cdcf 100644 --- a/keyboards/kopibeng/xt8x/keymaps/via/keymap.c +++ b/keyboards/kopibeng/xt8x/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/kprepublic/bm16a/keymaps/default/keymap.c b/keyboards/kprepublic/bm16a/keymaps/default/keymap.c index 1020fe38043a..0255603d332e 100644 --- a/keyboards/kprepublic/bm16a/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm16a/keymaps/default/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN2] = LAYOUT_ortho_4x4( RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, BL_STEP, _______, QMKBEST, QMKURL ) diff --git a/keyboards/kprepublic/bm16a/keymaps/via/keymap.c b/keyboards/kprepublic/bm16a/keymaps/via/keymap.c index 5c8006759cf0..8b41b08dfefc 100644 --- a/keyboards/kprepublic/bm16a/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm16a/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(1), KC_VOLD, KC_MUTE, KC_MNXT ), [1] = LAYOUT_ortho_4x4( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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 diff --git a/keyboards/kprepublic/bm16s/keymaps/default/keymap.c b/keyboards/kprepublic/bm16s/keymaps/default/keymap.c index ed324e37ff3a..f2f0f43e9f62 100755 --- a/keyboards/kprepublic/bm16s/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm16s/keymaps/default/keymap.c @@ -8,7 +8,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_KP_0, KC_PDOT, KC_PCMM, KC_PENT ), [1] = LAYOUT_ortho_4x4( - RESET, BL_STEP, _______, KC_VOLU, + QK_BOOT, BL_STEP, _______, KC_VOLU, BL_TOGG, BL_DEC, BL_INC, KC_VOLD, RGB_TOG, RGB_MOD, RGB_HUI, KC_MUTE, RGB_SAI, RGB_SAD, RGB_HUD, _______ diff --git a/keyboards/kprepublic/bm16s/keymaps/via/keymap.c b/keyboards/kprepublic/bm16s/keymaps/via/keymap.c index 71b0d2b0f5de..cdf46e2afee0 100644 --- a/keyboards/kprepublic/bm16s/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm16s/keymaps/via/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_KP_0, KC_PDOT, KC_PCMM, KC_PENT ), [1] = LAYOUT_ortho_4x4( - RESET, BL_STEP, KC_TRNS, KC_VOLU, + QK_BOOT, BL_STEP, KC_TRNS, KC_VOLU, BL_TOGG, BL_DEC, BL_INC, KC_VOLD, RGB_TOG, RGB_MOD, RGB_HUI, KC_MUTE, RGB_SAI, RGB_SAD, RGB_HUD, KC_TRNS diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/default/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/default/keymap.c index 60faf17e1cef..37378b608503 100755 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/default/keymap.c @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_mit( - _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/via/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/via/keymap.c index 60faf17e1cef..37378b608503 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/via/keymap.c @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_mit( - _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kprepublic/bm43a/keymaps/default/keymap.c b/keyboards/kprepublic/bm43a/keymaps/default/keymap.c index 7cafeadb3212..4398244f6f09 100644 --- a/keyboards/kprepublic/bm43a/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm43a/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/default/keymap.c b/keyboards/kprepublic/bm43hsrgb/keymaps/default/keymap.c index a772e54aa4f9..b6edf3925e22 100755 --- a/keyboards/kprepublic/bm43hsrgb/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm43hsrgb/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/default/readme.md b/keyboards/kprepublic/bm43hsrgb/keymaps/default/readme.md index 2ecc0b2f49d7..a1ebf08a17bd 100755 --- a/keyboards/kprepublic/bm43hsrgb/keymaps/default/readme.md +++ b/keyboards/kprepublic/bm43hsrgb/keymaps/default/readme.md @@ -16,7 +16,7 @@ ## Fn Layer ``` ,----------------------------------------------------------------------------. -| RESET | | | | | | | | | | | | +| QK_BOOT | | | | | | | | | | | | |----------------------------------------------------------------------------+ | | | | | | | | | | | | |----------------------------------------------------------------------------+ diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/default/keymap.c index e8be1cccf681..9ef0ca3c4732 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_60_ansi_arrow( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/via/keymap.c b/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/via/keymap.c index da2f6e8cedf5..d0a3d2bcf51f 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_60_ansi_arrow( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/default/keymap.c index a46be1786ee5..51ac4708fcdf 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_60_ansi_arrow( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/via/keymap.c b/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/via/keymap.c index 55db68139eca..d0d548a5ad9e 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_60_ansi_arrow( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb_iso/rev1/keymaps/default/keymap.c index 9eca076df9b1..4178c5066ef9 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_60_iso_arrow( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c index 93da46e31bec..4ed48135f8b5 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_60_iso_arrow( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/via/keymap.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/via/keymap.c index 2bdfd2efe614..48484dee1bb6 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_60_iso_arrow( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/default/keymap.c index efd74ad134fc..0e54a9dd4a03 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL ), [1] = LAYOUT_60_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/via/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/via/keymap.c index 8f577b459373..049fc66b8c26 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, MO(1) ), [1] = LAYOUT_60_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/default/keymap.c index b1c5c57ea48f..069dcf1689fb 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL ), [1] = LAYOUT_60_ansi( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/via/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/via/keymap.c index f74fa21de834..ef525f3ab021 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL ), [1] = LAYOUT_60_ansi( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/bm65hsrgb/keymaps/default/keymap.c b/keyboards/kprepublic/bm65hsrgb/keymaps/default/keymap.c index dadeb9c149aa..1e1aae04130a 100644 --- a/keyboards/kprepublic/bm65hsrgb/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm65hsrgb/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/default/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/default/keymap.c index bed12e0f72fb..3d6ff36e08b6 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_iso_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/via/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/via/keymap.c index ae36e6b1f53e..e405cef34dba 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_iso_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c index b4bc5cb59d81..878967718faf 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c index 46381c561c6e..453853fc63a0 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_65_ansi( diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c index e4542b553fef..e9961a7238b8 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/default/keymap.c @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi( - 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, KC_DEL, RESET, + 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, KC_DEL, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______, _______, KC_CAPS, RMT, RMS, RMIH, RMDH, RMIS, RMDS, RMIV, RMDV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, _______, diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/keymap.c index 02c54584c6c9..d85e4ae979b8 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm68hsrgb/rev2/keymaps/via/keymap.c @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi( - 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, KC_DEL, RESET, + 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, KC_DEL, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______, _______, KC_CAPS, RM_TOGG, RM_MOD, RM_HUI, RM_HUD, RM_SAI, RM_SAD, RM_VAI, RM_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, _______, diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/default/keymap.c b/keyboards/kprepublic/bm80hsrgb/keymaps/default/keymap.c index d86c6f9ec8d8..0f0467060bba 100644 --- a/keyboards/kprepublic/bm80hsrgb/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm80hsrgb/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/via/keymap.c b/keyboards/kprepublic/bm80hsrgb/keymaps/via/keymap.c index 53b2981c5eed..824f671eceda 100644 --- a/keyboards/kprepublic/bm80hsrgb/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm80hsrgb/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/kprepublic/bm980hsrgb/keymaps/default/keymap.c b/keyboards/kprepublic/bm980hsrgb/keymaps/default/keymap.c index a9a2c818ee9c..9ec3d9968a5f 100644 --- a/keyboards/kprepublic/bm980hsrgb/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm980hsrgb/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/bm980hsrgb/keymaps/via/keymap.c b/keyboards/kprepublic/bm980hsrgb/keymaps/via/keymap.c index 822ac29012a7..41bd79080453 100644 --- a/keyboards/kprepublic/bm980hsrgb/keymaps/via/keymap.c +++ b/keyboards/kprepublic/bm980hsrgb/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/kprepublic/cospad/keymaps/default/keymap.c b/keyboards/kprepublic/cospad/keymaps/default/keymap.c index 06b06d41f929..c9d323480b4f 100644 --- a/keyboards/kprepublic/cospad/keymaps/default/keymap.c +++ b/keyboards/kprepublic/cospad/keymaps/default/keymap.c @@ -52,6 +52,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUD, RGB_HUI, BL_ON, RGB_SAD, RGB_SAI, BL_OFF, _______, RGB_VAD, RGB_VAI, BL_STEP, - _______, RESET, _______ + _______, QK_BOOT, _______ ) }; diff --git a/keyboards/kprepublic/cospad/keymaps/via/keymap.c b/keyboards/kprepublic/cospad/keymaps/via/keymap.c index f8611c02d7c5..f436f85a2f48 100644 --- a/keyboards/kprepublic/cospad/keymaps/via/keymap.c +++ b/keyboards/kprepublic/cospad/keymaps/via/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUD, RGB_HUI, BL_ON, RGB_SAD, RGB_SAI, BL_OFF, _______, RGB_VAD, RGB_VAI, BL_STEP, - _______, RESET, _______ + _______, QK_BOOT, _______ ), [2] = LAYOUT_numpad_6x4( diff --git a/keyboards/kprepublic/jj40/keymaps/default/keymap.c b/keyboards/kprepublic/jj40/keymaps/default/keymap.c index 380be974dbbc..c82106e18713 100644 --- a/keyboards/kprepublic/jj40/keymaps/default/keymap.c +++ b/keyboards/kprepublic/jj40/keymaps/default/keymap.c @@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kprepublic/jj40/keymaps/via/keymap.c b/keyboards/kprepublic/jj40/keymaps/via/keymap.c index 0e0e469abc2e..131566cfbec5 100644 --- a/keyboards/kprepublic/jj40/keymaps/via/keymap.c +++ b/keyboards/kprepublic/jj40/keymaps/via/keymap.c @@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [3] = LAYOUT_planck_mit( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kprepublic/jj4x4/keymaps/default/keymap.c b/keyboards/kprepublic/jj4x4/keymaps/default/keymap.c index ae2c6b54170c..c7eee75189e5 100644 --- a/keyboards/kprepublic/jj4x4/keymaps/default/keymap.c +++ b/keyboards/kprepublic/jj4x4/keymaps/default/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN2] = LAYOUT_ortho_4x4( RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, RESET, + _______, _______, _______, QK_BOOT, BL_STEP, _______, QMKBEST, QMKURL ) }; diff --git a/keyboards/kprepublic/jj4x4/keymaps/via/keymap.c b/keyboards/kprepublic/jj4x4/keymaps/via/keymap.c index 35ca0e361da3..120d275efd29 100644 --- a/keyboards/kprepublic/jj4x4/keymaps/via/keymap.c +++ b/keyboards/kprepublic/jj4x4/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_PDOT, KC_PPLS, LT(1, KC_ENT) ), LAYOUT_ortho_4x4( - RESET, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kprepublic/jj50/keymaps/default/keymap.c b/keyboards/kprepublic/jj50/keymaps/default/keymap.c index 96a308f82a5c..af495f17f131 100644 --- a/keyboards/kprepublic/jj50/keymaps/default/keymap.c +++ b/keyboards/kprepublic/jj50/keymaps/default/keymap.c @@ -182,7 +182,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_CAPS, _______, _______, _______, _______, _______, _______, QWERTY, WORKMAN, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kprepublic/jj50/keymaps/via/keymap.c b/keyboards/kprepublic/jj50/keymaps/via/keymap.c index 978ac4c12c46..98396dd47ae2 100644 --- a/keyboards/kprepublic/jj50/keymaps/via/keymap.c +++ b/keyboards/kprepublic/jj50/keymaps/via/keymap.c @@ -109,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( 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_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ktec/daisy/keymaps/default/keymap.c b/keyboards/ktec/daisy/keymaps/default/keymap.c index 10f5710417ca..5fa591734ae0 100644 --- a/keyboards/ktec/daisy/keymaps/default/keymap.c +++ b/keyboards/ktec/daisy/keymaps/default/keymap.c @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └────┴───┴────┴────────┴──────────┴────┴───┴────┘ */ [_RS] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGUP, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGUP, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END, KC_PGDN, _______, _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ktec/daisy/keymaps/via/keymap.c b/keyboards/ktec/daisy/keymaps/via/keymap.c index 102657116ce7..e55715b3a3d5 100644 --- a/keyboards/ktec/daisy/keymaps/via/keymap.c +++ b/keyboards/ktec/daisy/keymaps/via/keymap.c @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └────┴───┴────┴────────┴──────────┴────┴───┴────┘ */ [_RS] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGUP, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGUP, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END, KC_PGDN, _______, _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kv/revt/keymaps/default/keymap.c b/keyboards/kv/revt/keymaps/default/keymap.c index 4f94f197a8f0..7f2d130e2cf3 100644 --- a/keyboards/kv/revt/keymaps/default/keymap.c +++ b/keyboards/kv/revt/keymaps/default/keymap.c @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_VOLU, _______, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPRV, KC_VOLD, -_______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, RESET, _______, _______, _______, _______, +_______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/ky01/keymaps/default/keymap.c b/keyboards/ky01/keymaps/default/keymap.c index fc08c14a87f4..bb40b8bec6a5 100644 --- a/keyboards/ky01/keymaps/default/keymap.c +++ b/keyboards/ky01/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), [L1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/latincompass/latin60rgb/keymaps/default/keymap.c b/keyboards/latincompass/latin60rgb/keymaps/default/keymap.c index a44bbf660ef1..478b4872dc35 100644 --- a/keyboards/latincompass/latin60rgb/keymaps/default/keymap.c +++ b/keyboards/latincompass/latin60rgb/keymaps/default/keymap.c @@ -25,14 +25,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_latin_hhkb( RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______,_______, KC_LALT, _______, _______, _______, _______ ), [2] = LAYOUT_60_latin_hhkb( RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, RGB_SPI, RGB_SPD, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______ diff --git a/keyboards/latincompass/latin60rgb/keymaps/via/keymap.c b/keyboards/latincompass/latin60rgb/keymaps/via/keymap.c index a44bbf660ef1..478b4872dc35 100644 --- a/keyboards/latincompass/latin60rgb/keymaps/via/keymap.c +++ b/keyboards/latincompass/latin60rgb/keymaps/via/keymap.c @@ -25,14 +25,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_latin_hhkb( RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______,_______, KC_LALT, _______, _______, _______, _______ ), [2] = LAYOUT_60_latin_hhkb( RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, RGB_SPI, RGB_SPD, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______ diff --git a/keyboards/lazydesigners/bolt/keymaps/default/keymap.c b/keyboards/lazydesigners/bolt/keymaps/default/keymap.c index d410e60a530b..e6ca2e891de5 100644 --- a/keyboards/lazydesigners/bolt/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/bolt/keymaps/default/keymap.c @@ -26,13 +26,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, LT1_SPC, KC_SPC, LT1_SPC, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, KC_INS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, 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, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO ), [2] = LAYOUT( - RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + QK_BOOT, 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, 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, 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, KC_NO, KC_NO, KC_NO diff --git a/keyboards/lazydesigners/bolt/keymaps/via/keymap.c b/keyboards/lazydesigners/bolt/keymaps/via/keymap.c index a977f9c38f9e..6e39046b9a24 100644 --- a/keyboards/lazydesigners/bolt/keymaps/via/keymap.c +++ b/keyboards/lazydesigners/bolt/keymaps/via/keymap.c @@ -23,13 +23,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, KC_INS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, 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, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO ), [2] = LAYOUT( - RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + QK_BOOT, 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, 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, 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, KC_NO, KC_NO, KC_NO diff --git a/keyboards/lazydesigners/cassette8/keymaps/default/keymap.c b/keyboards/lazydesigners/cassette8/keymaps/default/keymap.c index 3d1eb395c663..b26463065488 100755 --- a/keyboards/lazydesigners/cassette8/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/cassette8/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_5, KC_6, KC_7, LT1_SPC ), [1] = LAYOUT( - RESET, KC_NO, KC_NO, KC_NO, + QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ), [2] = LAYOUT( diff --git a/keyboards/lazydesigners/cassette8/keymaps/via/keymap.c b/keyboards/lazydesigners/cassette8/keymaps/via/keymap.c index 3d1eb395c663..b26463065488 100755 --- a/keyboards/lazydesigners/cassette8/keymaps/via/keymap.c +++ b/keyboards/lazydesigners/cassette8/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_5, KC_6, KC_7, LT1_SPC ), [1] = LAYOUT( - RESET, KC_NO, KC_NO, KC_NO, + QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ), [2] = LAYOUT( diff --git a/keyboards/lazydesigners/dimple/ortho/keymaps/default/keymap.c b/keyboards/lazydesigners/dimple/ortho/keymaps/default/keymap.c index 6fd8f5875f41..afdc729f58c1 100644 --- a/keyboards/lazydesigners/dimple/ortho/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/dimple/ortho/keymaps/default/keymap.c @@ -40,7 +40,7 @@ ), [1] = LAYOUT_ortho_2u( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, 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_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO ), diff --git a/keyboards/lazydesigners/dimple/ortho/keymaps/via/keymap.c b/keyboards/lazydesigners/dimple/ortho/keymaps/via/keymap.c index 32b71b75df46..15248143bde5 100644 --- a/keyboards/lazydesigners/dimple/ortho/keymaps/via/keymap.c +++ b/keyboards/lazydesigners/dimple/ortho/keymaps/via/keymap.c @@ -40,7 +40,7 @@ ), [1] = LAYOUT_ortho_2u( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, 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_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO ), diff --git a/keyboards/lazydesigners/dimple/staggered/keymaps/default/keymap.c b/keyboards/lazydesigners/dimple/staggered/keymaps/default/keymap.c index 65b81ff4e180..168a62b3d400 100644 --- a/keyboards/lazydesigners/dimple/staggered/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/dimple/staggered/keymaps/default/keymap.c @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( - EEP_RST, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + EEP_RST, QK_BOOT, 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, 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, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_TOG, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO diff --git a/keyboards/lazydesigners/dimple/staggered/rev3/keymaps/default/keymap.c b/keyboards/lazydesigners/dimple/staggered/rev3/keymaps/default/keymap.c index ca20b00201ed..8742851f9258 100644 --- a/keyboards/lazydesigners/dimple/staggered/rev3/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/dimple/staggered/rev3/keymaps/default/keymap.c @@ -40,7 +40,7 @@ ), [1] = LAYOUT_all( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO ), diff --git a/keyboards/lazydesigners/dimpleplus/keymaps/default/keymap.c b/keyboards/lazydesigners/dimpleplus/keymaps/default/keymap.c index 17b9aec47268..8e82d33e4235 100644 --- a/keyboards/lazydesigners/dimpleplus/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/dimpleplus/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, LT1_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT, KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_SCLN, KC_SLSH, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, KC_NO, KC_NO, KC_DOT, KC_NO, diff --git a/keyboards/lazydesigners/dimpleplus/keymaps/default_7u/keymap.c b/keyboards/lazydesigners/dimpleplus/keymaps/default_7u/keymap.c index 16724b5461e0..b22c21c8dc9a 100644 --- a/keyboards/lazydesigners/dimpleplus/keymaps/default_7u/keymap.c +++ b/keyboards/lazydesigners/dimpleplus/keymaps/default_7u/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_SPC, KC_RALT, MO(1) ), [1] = LAYOUT_7u( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TAB, KC_UNDS, KC_SCLN, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_UP, KC_SLSH, KC_LSFT, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPLY, KC_MFFD, KC_LEFT, KC_DOWN, KC_RIGHT, KC_RSFT, diff --git a/keyboards/lazydesigners/dimpleplus/keymaps/via/keymap.c b/keyboards/lazydesigners/dimpleplus/keymaps/via/keymap.c index e15949fd1677..76cfe9a9a21f 100644 --- a/keyboards/lazydesigners/dimpleplus/keymaps/via/keymap.c +++ b/keyboards/lazydesigners/dimpleplus/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + QK_BOOT, 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, 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, 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, KC_NO, KC_NO, KC_NO, KC_NO, diff --git a/keyboards/lazydesigners/the30/keymaps/default/keymap.c b/keyboards/lazydesigners/the30/keymaps/default/keymap.c index e15fad7eb349..a3115dddeccb 100644 --- a/keyboards/lazydesigners/the30/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/the30/keymaps/default/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_3x10( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, EEP_RST, _______, _______, KC_SPC, _______, _______, _______, _______, _______ + QK_BOOT, EEP_RST, _______, _______, KC_SPC, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/lazydesigners/the30/keymaps/via/keymap.c b/keyboards/lazydesigners/the30/keymaps/via/keymap.c index 1a1b10fd5182..0158e981c23d 100644 --- a/keyboards/lazydesigners/the30/keymaps/via/keymap.c +++ b/keyboards/lazydesigners/the30/keymaps/via/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(1) ), [1] = LAYOUT_ortho_3x10( - RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + QK_BOOT, 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, 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, KC_NO ), diff --git a/keyboards/lazydesigners/the40/keymaps/default/keymap.c b/keyboards/lazydesigners/the40/keymaps/default/keymap.c index 81e1e72975f6..6bd7bbfdbdd1 100644 --- a/keyboards/lazydesigners/the40/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/the40/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO ), diff --git a/keyboards/lazydesigners/the40/keymaps/via/keymap.c b/keyboards/lazydesigners/the40/keymaps/via/keymap.c index cdd7941b4bfd..69780dd949d6 100644 --- a/keyboards/lazydesigners/the40/keymaps/via/keymap.c +++ b/keyboards/lazydesigners/the40/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ortho( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, 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_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ), diff --git a/keyboards/lazydesigners/the50/keymaps/default/keymap.c b/keyboards/lazydesigners/the50/keymaps/default/keymap.c index cba582cab2d4..c8ab42d811a8 100644 --- a/keyboards/lazydesigners/the50/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/the50/keymaps/default/keymap.c @@ -42,7 +42,7 @@ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, */ [_FN] = LAYOUT( -RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, KC_HOME, KC_PGUP, _______, +QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, KC_HOME, KC_PGUP, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/lazydesigners/the60/rev1/keymaps/default/keymap.c b/keyboards/lazydesigners/the60/rev1/keymaps/default/keymap.c index 8a95b447489f..71bab883c123 100755 --- a/keyboards/lazydesigners/the60/rev1/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/the60/rev1/keymaps/default/keymap.c @@ -44,7 +44,7 @@ KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_SPACE, */ [_FN] = LAYOUT_split_spc_split_bspc( -RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_END, KC_INS, +QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_END, KC_INS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/lazydesigners/the60/rev2/keymaps/default/keymap.c b/keyboards/lazydesigners/the60/rev2/keymaps/default/keymap.c index b7bece8b3521..745f46e1fb3c 100755 --- a/keyboards/lazydesigners/the60/rev2/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/the60/rev2/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, diff --git a/keyboards/lazydesigners/the60/rev2/keymaps/via/keymap.c b/keyboards/lazydesigners/the60/rev2/keymaps/via/keymap.c index b7bece8b3521..745f46e1fb3c 100755 --- a/keyboards/lazydesigners/the60/rev2/keymaps/via/keymap.c +++ b/keyboards/lazydesigners/the60/rev2/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, diff --git a/keyboards/leeku/finger65/keymaps/default/keymap.c b/keyboards/leeku/finger65/keymaps/default/keymap.c index 14a0f0c5c9ab..ca1e55626960 100644 --- a/keyboards/leeku/finger65/keymaps/default/keymap.c +++ b/keyboards/leeku/finger65/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_all( 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, _______, _______, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END), diff --git a/keyboards/lets_split/keymaps/default/keymap.c b/keyboards/lets_split/keymaps/default/keymap.c index fcb3ab6677bf..bc240b5f003d 100644 --- a/keyboards/lets_split/keymaps/default/keymap.c +++ b/keyboards/lets_split/keymaps/default/keymap.c @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/lets_split/keymaps/via/keymap.c b/keyboards/lets_split/keymaps/via/keymap.c index 1509a2e6a2ce..6c5239cf4cfd 100644 --- a/keyboards/lets_split/keymaps/via/keymap.c +++ b/keyboards/lets_split/keymaps/via/keymap.c @@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - RESET, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + QK_BOOT, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [3] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, RGB_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/lfkeyboards/lfk65_hs/keymaps/default/keymap.c b/keyboards/lfkeyboards/lfk65_hs/keymaps/default/keymap.c index 8d8b4b751b1c..6928a2f559c5 100644 --- a/keyboards/lfkeyboards/lfk65_hs/keymaps/default/keymap.c +++ b/keyboards/lfkeyboards/lfk65_hs/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [FUNC] = LAYOUT_ansi( 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, KC_F13, KC_F14, MU_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - AU_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, + AU_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, MU_TOG, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI ) diff --git a/keyboards/lfkeyboards/lfk78/keymaps/default/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/default/keymap.c index 8faa099453f7..ccd5b1c71627 100644 --- a/keyboards/lfkeyboards/lfk78/keymaps/default/keymap.c +++ b/keyboards/lfkeyboards/lfk78/keymaps/default/keymap.c @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [SETTINGS] = LAYOUT( XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, - XXXXXXX, XXXXXXX, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI ) diff --git a/keyboards/lfkeyboards/lfk78/keymaps/iso/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/iso/keymap.c index ec054b33e771..f61efbbfe40c 100644 --- a/keyboards/lfkeyboards/lfk78/keymaps/iso/keymap.c +++ b/keyboards/lfkeyboards/lfk78/keymaps/iso/keymap.c @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [SETTINGS] = LAYOUT_iso( XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, - XXXXXXX, XXXXXXX, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI ) diff --git a/keyboards/lfkeyboards/lfk78/keymaps/via/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/via/keymap.c index 48e183984ffe..e388706814b1 100644 --- a/keyboards/lfkeyboards/lfk78/keymaps/via/keymap.c +++ b/keyboards/lfkeyboards/lfk78/keymaps/via/keymap.c @@ -50,14 +50,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( 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, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, MU_MOD, 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, RGB_MOD, RGB_VAD, - KC_TRNS, KC_TRNS, AU_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, AU_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MU_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI ), [3] = LAYOUT( 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, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, MU_MOD, 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, RGB_MOD, RGB_VAD, - KC_TRNS, KC_TRNS, AU_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, AU_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MU_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI ) diff --git a/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c index 789a6f9737f1..73f62d36bfd5 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c +++ b/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, - AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI ) diff --git a/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c index b36de66c6a7e..74a7d1cfa353 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c +++ b/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, - AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI ) diff --git a/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c b/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c index 13cb6c22f5da..3ec324ebe5fd 100644 --- a/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c +++ b/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c @@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [SETTINGS] = LAYOUT( XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX, - AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI, XXXXXXX, XXXXXXX ) diff --git a/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c b/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c index 0e6b2820d0b3..868c5eca2763 100644 --- a/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c +++ b/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_65_ansi( 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, KC_F13, KC_F14, MU_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - AU_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, + AU_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, MU_TOG, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI ) diff --git a/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c b/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c index 881ff99c9d8b..fe7517957200 100644 --- a/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c +++ b/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,------------------------------------------------------------.----. * |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| Ins| * |------------------------------------------------------------|----| - * |MuMode | | | |E| R| T| Y| U| I| O| P| [| ]| RESET| Del| + * |MuMode | | | |E| R| T| Y| U| I| O| P| [| ]| QK_BOOT| Del| * |--------------------------------------------------------. |----| * |AudTgl|Hz+|MS+| | D| F| G| H| J| K| L| ;| '| | |PgUp| * |------------------------------------------------------------|----| @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_65_iso( 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, KC_F13, KC_F14, MU_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - AU_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, + AU_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, MU_TOG, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI ) diff --git a/keyboards/lfkeyboards/smk65/revf/keymaps/via/keymap.c b/keyboards/lfkeyboards/smk65/revf/keymaps/via/keymap.c index ca2fe748ace3..d7aac3ddafd9 100644 --- a/keyboards/lfkeyboards/smk65/revf/keymaps/via/keymap.c +++ b/keyboards/lfkeyboards/smk65/revf/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, KC_F13, KC_F14, KC_F15, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/lime/keymaps/default/keymap.c b/keyboards/lime/keymaps/default/keymap.c index eade4d4183ac..396951451365 100644 --- a/keyboards/lime/keymaps/default/keymap.c +++ b/keyboards/lime/keymaps/default/keymap.c @@ -142,7 +142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* ADJUST * ,-----------------------------------------. ,-----------------------------------------. - * | RESET| | | | | | | | | | | | | + * | QK_BOOT| | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | |QWERTY| | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -155,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `----------------------------------------' '------''----------------------------------' */ [_ADJUST] = LAYOUT( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_QWERTY, XXXXXXX, XXXXXXX, CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_JOYSTICK_DEBUG,XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COLEMAK, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, diff --git a/keyboards/linworks/fave84h/keymaps/default/keymap.c b/keyboards/linworks/fave84h/keymaps/default/keymap.c index 5b6573322170..9f7b1b40ef85 100644 --- a/keyboards/linworks/fave84h/keymaps/default/keymap.c +++ b/keyboards/linworks/fave84h/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ) }; diff --git a/keyboards/linworks/fave84h/keymaps/via/keymap.c b/keyboards/linworks/fave84h/keymaps/via/keymap.c index 3000a76245a1..c750a8bc3c7f 100644 --- a/keyboards/linworks/fave84h/keymaps/via/keymap.c +++ b/keyboards/linworks/fave84h/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ), diff --git a/keyboards/linworks/fave87/keymaps/default/keymap.c b/keyboards/linworks/fave87/keymaps/default/keymap.c index fc56046e857a..1aaa50f22fe0 100644 --- a/keyboards/linworks/fave87/keymaps/default/keymap.c +++ b/keyboards/linworks/fave87/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( RGB_TOG, RGB_VAD, RGB_VAI, BL_DEC, BL_INC, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_RMOD, RGB_MOD, RGB_SPI, RGB_SPI, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/linworks/fave87/keymaps/via/keymap.c b/keyboards/linworks/fave87/keymaps/via/keymap.c index fc56046e857a..1aaa50f22fe0 100644 --- a/keyboards/linworks/fave87/keymaps/via/keymap.c +++ b/keyboards/linworks/fave87/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( RGB_TOG, RGB_VAD, RGB_VAI, BL_DEC, BL_INC, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_RMOD, RGB_MOD, RGB_SPI, RGB_SPI, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/linworks/fave87h/keymaps/default/keymap.c b/keyboards/linworks/fave87h/keymaps/default/keymap.c index 0f93bc13f0d3..d5d64a12309b 100644 --- a/keyboards/linworks/fave87h/keymaps/default/keymap.c +++ b/keyboards/linworks/fave87h/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ) }; diff --git a/keyboards/linworks/fave87h/keymaps/via/keymap.c b/keyboards/linworks/fave87h/keymaps/via/keymap.c index a64a67df4709..4d9a56cebf07 100644 --- a/keyboards/linworks/fave87h/keymaps/via/keymap.c +++ b/keyboards/linworks/fave87h/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ), diff --git a/keyboards/lm_keyboard/lm60n/keymaps/default/keymap.c b/keyboards/lm_keyboard/lm60n/keymaps/default/keymap.c index 655cc7ac03bc..09faf755c274 100644 --- a/keyboards/lm_keyboard/lm60n/keymaps/default/keymap.c +++ b/keyboards/lm_keyboard/lm60n/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi( /* FN */ 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, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, RGB_TOG, RGB_RMOD,RGB_MOD, RGB_VAD, RGB_VAI, KC_END, KC_PGDN, 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 diff --git a/keyboards/lm_keyboard/lm60n/keymaps/via/keymap.c b/keyboards/lm_keyboard/lm60n/keymaps/via/keymap.c index 04c7c096033a..de80a1e4d2c1 100644 --- a/keyboards/lm_keyboard/lm60n/keymaps/via/keymap.c +++ b/keyboards/lm_keyboard/lm60n/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all_ansi( 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, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, 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 diff --git a/keyboards/longnald/corin/keymaps/default/keymap.c b/keyboards/longnald/corin/keymaps/default/keymap.c index c8906efc596f..eddc652cdcbd 100644 --- a/keyboards/longnald/corin/keymaps/default/keymap.c +++ b/keyboards/longnald/corin/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT_64_ansi( 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, - KC_NO, KC_NO, KC_NO, KC_NO, RESET, 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, QK_BOOT, 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, 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, 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, KC_NO, KC_NO, KC_NO diff --git a/keyboards/lucid/alexa/keymaps/default/keymap.c b/keyboards/lucid/alexa/keymaps/default/keymap.c index 29efe094f539..6f7cd1772bd1 100644 --- a/keyboards/lucid/alexa/keymaps/default/keymap.c +++ b/keyboards/lucid/alexa/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LAYER1] = LAYOUT_65_ansi_blocker_split_bs( 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, 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_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, 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_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/lucid/alexa/keymaps/via/keymap.c b/keyboards/lucid/alexa/keymaps/via/keymap.c index 8cfb97af10c9..7977c826c2c0 100644 --- a/keyboards/lucid/alexa/keymaps/via/keymap.c +++ b/keyboards/lucid/alexa/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LAYER1] = LAYOUT_65_ansi_blocker_split_bs( 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, 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_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, 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_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/lucid/alexa_solder/keymaps/default/keymap.c b/keyboards/lucid/alexa_solder/keymaps/default/keymap.c index 89ab39deace5..eb8178fa5682 100644 --- a/keyboards/lucid/alexa_solder/keymaps/default/keymap.c +++ b/keyboards/lucid/alexa_solder/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_BSPC, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, 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_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/lucid/alexa_solder/keymaps/via/keymap.c b/keyboards/lucid/alexa_solder/keymaps/via/keymap.c index bbf11418c787..7bdbbbe9cc7b 100644 --- a/keyboards/lucid/alexa_solder/keymaps/via/keymap.c +++ b/keyboards/lucid/alexa_solder/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_BSPC, KC_TRNS, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE,RESET, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE,QK_BOOT, KC_PGUP, 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_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/lucid/phantom_hs/keymaps/default/keymap.c b/keyboards/lucid/phantom_hs/keymaps/default/keymap.c index 63229ed0878d..843ee303053a 100644 --- a/keyboards/lucid/phantom_hs/keymaps/default/keymap.c +++ b/keyboards/lucid/phantom_hs/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi_blocker( 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, KC_BSPC, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, QK_BOOT, KC_PGUP, 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_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK diff --git a/keyboards/lucid/phantom_hs/keymaps/via/keymap.c b/keyboards/lucid/phantom_hs/keymaps/via/keymap.c index 3366ff8bec1d..3f98bda83c12 100644 --- a/keyboards/lucid/phantom_hs/keymaps/via/keymap.c +++ b/keyboards/lucid/phantom_hs/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi_blocker( 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, KC_BSPC, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, QK_BOOT, KC_PGUP, 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_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK diff --git a/keyboards/lucid/phantom_solder/keymaps/default/keymap.c b/keyboards/lucid/phantom_solder/keymaps/default/keymap.c index 6c860639324c..cd74f03a1538 100644 --- a/keyboards/lucid/phantom_solder/keymaps/default/keymap.c +++ b/keyboards/lucid/phantom_solder/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_BSPC, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, 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_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/lucid/phantom_solder/keymaps/via/keymap.c b/keyboards/lucid/phantom_solder/keymaps/via/keymap.c index afc8ae550f0b..04103653a9f7 100644 --- a/keyboards/lucid/phantom_solder/keymaps/via/keymap.c +++ b/keyboards/lucid/phantom_solder/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_all( 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, KC_BSPC, KC_TRNS, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE,RESET, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE,QK_BOOT, KC_PGUP, 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_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/lyso1/lck75/keymaps/default/keymap.c b/keyboards/lyso1/lck75/keymaps/default/keymap.c index 4af75f23e263..550d0863f459 100644 --- a/keyboards/lyso1/lck75/keymaps/default/keymap.c +++ b/keyboards/lyso1/lck75/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_default( 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, 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, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, 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, 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_RALT, MO(1), KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/lyso1/lck75/keymaps/iso/keymap.c b/keyboards/lyso1/lck75/keymaps/iso/keymap.c index f0d6dbaf1216..24d2adc478a5 100644 --- a/keyboards/lyso1/lck75/keymaps/iso/keymap.c +++ b/keyboards/lyso1/lck75/keymaps/iso/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_iso( 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, 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, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, 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, 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, KC_TRNS, KC_RALT, MO(1), KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/lyso1/lck75/keymaps/via/keymap.c b/keyboards/lyso1/lck75/keymaps/via/keymap.c index 4ba5c50f4432..97da242d1ebf 100644 --- a/keyboards/lyso1/lck75/keymaps/via/keymap.c +++ b/keyboards/lyso1/lck75/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_default( 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, 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, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, 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, 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_RALT, MO(1), KC_TRNS, KC_TRNS, KC_TRNS @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_default( 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, 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, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, 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, 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_RALT, MO(1), KC_TRNS, KC_TRNS, KC_TRNS @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_default( 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, 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, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, 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, 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_RALT, MO(1), KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/lyso1/lefishe/keymaps/default/keymap.c b/keyboards/lyso1/lefishe/keymaps/default/keymap.c index 5ba35de7b0d7..ccba20a3cbe6 100644 --- a/keyboards/lyso1/lefishe/keymaps/default/keymap.c +++ b/keyboards/lyso1/lefishe/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_default( 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, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/lyso1/lefishe/keymaps/wkl/keymap.c b/keyboards/lyso1/lefishe/keymaps/wkl/keymap.c index f40e933d6da3..41b092062b31 100644 --- a/keyboards/lyso1/lefishe/keymaps/wkl/keymap.c +++ b/keyboards/lyso1/lefishe/keymaps/wkl/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_wkl( 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, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/makenova/omega/omega4/keymaps/default/keymap.c b/keyboards/makenova/omega/omega4/keymaps/default/keymap.c index 26c5ada80648..583d5a8a3dba 100644 --- a/keyboards/makenova/omega/omega4/keymaps/default/keymap.c +++ b/keyboards/makenova/omega/omega4/keymaps/default/keymap.c @@ -59,6 +59,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; \ No newline at end of file diff --git a/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/keymap.c b/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/keymap.c index b60275d3abb7..2cbc706ee4e6 100644 --- a/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/keymap.c +++ b/keyboards/makenova/omega/omega4/keymaps/default_10u_bar/keymap.c @@ -60,6 +60,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, - RESET + QK_BOOT ) }; \ No newline at end of file diff --git a/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/keymap.c b/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/keymap.c index 477582613c5d..e5e9cc05a61c 100644 --- a/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/keymap.c +++ b/keyboards/makenova/omega/omega4/keymaps/default_6u_bar/keymap.c @@ -59,6 +59,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, - RESET, KC_TRNS, KC_TRNS + QK_BOOT, KC_TRNS, KC_TRNS ) }; \ No newline at end of file diff --git a/keyboards/manta60/keymaps/default/keymap.c b/keyboards/manta60/keymaps/default/keymap.c index f7cafdacdd9e..78e260e47f0e 100644 --- a/keyboards/manta60/keymaps/default/keymap.c +++ b/keyboards/manta60/keymaps/default/keymap.c @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( - _______, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + _______, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_SN,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_M_T, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_M_P, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_SW, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/maple_computing/christmas_tree/keymaps/default/keymap.c b/keyboards/maple_computing/christmas_tree/keymaps/default/keymap.c index 6931b91a6136..44753644b186 100644 --- a/keyboards/maple_computing/christmas_tree/keymaps/default/keymap.c +++ b/keyboards/maple_computing/christmas_tree/keymaps/default/keymap.c @@ -50,13 +50,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,------+------. * | 8 | 9 | * ,------+------+------. - * | 0 | FUNC | RESET| + * | 0 | FUNC | QK_BOOT| * `--------------------' */ [_FUNC] = LAYOUT( BACKLIT, KC_8, KC_9, - KC_0, _______, RESET + KC_0, _______, QK_BOOT ) diff --git a/keyboards/maple_computing/jnao/keymaps/default/keymap.c b/keyboards/maple_computing/jnao/keymaps/default/keymap.c index 356f056bdbcb..12155650a51f 100644 --- a/keyboards/maple_computing/jnao/keymaps/default/keymap.c +++ b/keyboards/maple_computing/jnao/keymaps/default/keymap.c @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | |RESET | + * | | | | | | | | | | | |QK_BOOT | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_5x12( @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), /* Function diff --git a/keyboards/maple_computing/jnao/keymaps/default_4x12/keymap.c b/keyboards/maple_computing/jnao/keymaps/default_4x12/keymap.c index 8861a36b23d5..5cffdedb54b1 100644 --- a/keyboards/maple_computing/jnao/keymaps/default_4x12/keymap.c +++ b/keyboards/maple_computing/jnao/keymaps/default_4x12/keymap.c @@ -82,14 +82,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | RESET| + * | | | | | | | | | | | | QK_BOOT| * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), /* Function diff --git a/keyboards/maple_computing/jnao/keymaps/via/keymap.c b/keyboards/maple_computing/jnao/keymaps/via/keymap.c index 00305db81dd7..feb0fd0f2cc5 100644 --- a/keyboards/maple_computing/jnao/keymaps/via/keymap.c +++ b/keyboards/maple_computing/jnao/keymaps/via/keymap.c @@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | |RESET | + * | | | | | | | | | | | |QK_BOOT | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_5x12( @@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/default/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/default/keymap.c index 3f41051cf6cd..681198fc706b 100644 --- a/keyboards/maple_computing/lets_split_eh/keymaps/default/keymap.c +++ b/keyboards/maple_computing/lets_split_eh/keymaps/default/keymap.c @@ -85,14 +85,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | | | | | | | | | | | |BLSTEP| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | RESET| + * | | | | | | | | | | | | QK_BOOT| * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT( TSKMGR, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, CALTDEL, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), /* Function diff --git a/keyboards/maple_computing/minidox/keymaps/default/keymap.c b/keyboards/maple_computing/minidox/keymaps/default/keymap.c index 737b53d30194..7886eec17232 100644 --- a/keyboards/maple_computing/minidox/keymaps/default/keymap.c +++ b/keyboards/maple_computing/minidox/keymaps/default/keymap.c @@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_3x5_3( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, TSKMGR, CALTDEL, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/maple_computing/the_ruler/keymaps/default/keymap.c b/keyboards/maple_computing/the_ruler/keymaps/default/keymap.c index 898881fc3cfa..87190f0b3f12 100644 --- a/keyboards/maple_computing/the_ruler/keymaps/default/keymap.c +++ b/keyboards/maple_computing/the_ruler/keymaps/default/keymap.c @@ -41,11 +41,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* FN 2 Layer * ,-----------------------------------------------. - * | FN_2 |RGB_VAD|RGB_VAI|RGB_MOD|TSKMGR | RESET | + * | FN_2 |RGB_VAD|RGB_VAI|RGB_MOD|TSKMGR | QK_BOOT | * `-----------------------------------------------' */ [_FN_2] = LAYOUT( - _______, RGB_VAD, RGB_VAI, RGB_MOD, TSKMGR, RESET + _______, RGB_VAD, RGB_VAI, RGB_MOD, TSKMGR, QK_BOOT ) }; diff --git a/keyboards/marksard/leftover30/keymaps/default/keymap.c b/keyboards/marksard/leftover30/keymaps/default/keymap.c index c0779cfa06aa..81ff937c0245 100644 --- a/keyboards/marksard/leftover30/keymaps/default/keymap.c +++ b/keyboards/marksard/leftover30/keymaps/default/keymap.c @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_all( //,-----------------------------------------------------------------------------------------------------------. - RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, KC_PSCR, + QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, KC_PSCR, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| diff --git a/keyboards/marksard/rhymestone/keymaps/default/keymap.c b/keyboards/marksard/rhymestone/keymaps/default/keymap.c index 0bc981977315..2a646bfec4bd 100644 --- a/keyboards/marksard/rhymestone/keymaps/default/keymap.c +++ b/keyboards/marksard/rhymestone/keymaps/default/keymap.c @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_ortho_4x10( //,---------------------------------------------------------------------------------------------------. - RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, + QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| diff --git a/keyboards/marksard/treadstone32/keymaps/default/keymap.c b/keyboards/marksard/treadstone32/keymaps/default/keymap.c index 0f3e5e9e1278..0d00c33c4a55 100644 --- a/keyboards/marksard/treadstone32/keymaps/default/keymap.c +++ b/keyboards/marksard/treadstone32/keymaps/default/keymap.c @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( //,---------------------------------------------------------------------------------------------------. - RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, + QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| diff --git a/keyboards/marksard/treadstone48/keymaps/default/keymap.c b/keyboards/marksard/treadstone48/keymaps/default/keymap.c index 00884f391877..c095c7ea242e 100644 --- a/keyboards/marksard/treadstone48/keymaps/default/keymap.c +++ b/keyboards/marksard/treadstone48/keymaps/default/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_base( //,--------------------------------------------------------------------------------------------------------------------. - XXXXXXX, RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, XXXXXXX, + XXXXXXX, QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, XXXXXXX, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+-----------------| XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, XXXXXXX, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/matrix/abelx/keymaps/default/keymap.c b/keyboards/matrix/abelx/keymaps/default/keymap.c index ecba6d6d153e..98d132dc19d1 100644 --- a/keyboards/matrix/abelx/keymaps/default/keymap.c +++ b/keyboards/matrix/abelx/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), }; diff --git a/keyboards/matrix/abelx/keymaps/iso/keymap.c b/keyboards/matrix/abelx/keymaps/iso/keymap.c index 81cfcd74d21d..d0b0f637e386 100644 --- a/keyboards/matrix/abelx/keymaps/iso/keymap.c +++ b/keyboards/matrix/abelx/keymaps/iso/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), }; diff --git a/keyboards/matrix/cain_re/keymaps/default/keymap.c b/keyboards/matrix/cain_re/keymaps/default/keymap.c index 1f2d3b4e255b..d3b01c84b27a 100644 --- a/keyboards/matrix/cain_re/keymaps/default/keymap.c +++ b/keyboards/matrix/cain_re/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______, _______, _______, KC_NLCK, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, _______,_______,_______,_______, KC_MPRV, KC_VOLD, KC_MNXT), }; diff --git a/keyboards/matrix/falcon/keymaps/default/keymap.c b/keyboards/matrix/falcon/keymaps/default/keymap.c index 2860d515e97d..a40f1d4094f1 100644 --- a/keyboards/matrix/falcon/keymaps/default/keymap.c +++ b/keyboards/matrix/falcon/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_hhkb( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR, - RESET, RGB_TOG,RGB_MOD,_______,KC_F13,KC_F14,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, + QK_BOOT, RGB_TOG,RGB_MOD,_______,KC_F13,KC_F14,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME,KC_END,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, _______, _______,_______), diff --git a/keyboards/matrix/falcon/keymaps/via/keymap.c b/keyboards/matrix/falcon/keymaps/via/keymap.c index 03f9bab87b88..e720cb0b4bd8 100644 --- a/keyboards/matrix/falcon/keymaps/via/keymap.c +++ b/keyboards/matrix/falcon/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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,_______,KC_DEL, - RESET, _______,KC_UP,_______,_______,_______,_______,_______,KC_PAUS,KC_SLCK,KC_PSCR,KC_PGUP,_______,KC_INS, + QK_BOOT, _______,KC_UP,_______,_______,_______,_______,_______,KC_PAUS,KC_SLCK,KC_PSCR,KC_PGUP,_______,KC_INS, _______, KC_LEFT,KC_DOWN,KC_RIGHT,_______,_______,_______,_______, _______,_______,KC_HOME,KC_END,_______, _______, _______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGDN,_______,_______, _______,_______, _______, _______,MO(2)), diff --git a/keyboards/matrix/m12og/rev1/keymaps/default/keymap.c b/keyboards/matrix/m12og/rev1/keymaps/default/keymap.c index 311725c15d66..355827c9c6a0 100644 --- a/keyboards/matrix/m12og/rev1/keymaps/default/keymap.c +++ b/keyboards/matrix/m12og/rev1/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, KC_TRNS, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_SPI, RGB_SPD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/matrix/m12og/rev2/keymaps/default/keymap.c b/keyboards/matrix/m12og/rev2/keymaps/default/keymap.c index 1444e4bff474..186758c122ad 100644 --- a/keyboards/matrix/m12og/rev2/keymaps/default/keymap.c +++ b/keyboards/matrix/m12og/rev2/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), }; diff --git a/keyboards/matrix/m12og/rev2/keymaps/iso/keymap.c b/keyboards/matrix/m12og/rev2/keymaps/iso/keymap.c index 70d0d7bc13b5..76c1e16d8d97 100644 --- a/keyboards/matrix/m12og/rev2/keymaps/iso/keymap.c +++ b/keyboards/matrix/m12og/rev2/keymaps/iso/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), }; diff --git a/keyboards/matrix/m12og/rev2/keymaps/via/keymap.c b/keyboards/matrix/m12og/rev2/keymaps/via/keymap.c index 1ae1400fe92f..1f715eb4b234 100644 --- a/keyboards/matrix/m12og/rev2/keymaps/via/keymap.c +++ b/keyboards/matrix/m12og/rev2/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), diff --git a/keyboards/matrix/m20add/keymaps/default/keymap.c b/keyboards/matrix/m20add/keymaps/default/keymap.c index e7ddc00cc394..e6462c8b1c7c 100644 --- a/keyboards/matrix/m20add/keymaps/default/keymap.c +++ b/keyboards/matrix/m20add/keymaps/default/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), }; diff --git a/keyboards/matrix/m20add/keymaps/iso/keymap.c b/keyboards/matrix/m20add/keymaps/iso/keymap.c index c57bdfcd40af..48b6fddc8609 100644 --- a/keyboards/matrix/m20add/keymaps/iso/keymap.c +++ b/keyboards/matrix/m20add/keymaps/iso/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), }; diff --git a/keyboards/matrix/me/keymaps/default/keymap.c b/keyboards/matrix/me/keymaps/default/keymap.c index 9858753a5016..1727d0ae2522 100644 --- a/keyboards/matrix/me/keymaps/default/keymap.c +++ b/keyboards/matrix/me/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/matrix/me/keymaps/via/keymap.c b/keyboards/matrix/me/keymaps/via/keymap.c index d5a05ef94437..60fbc3296615 100644 --- a/keyboards/matrix/me/keymaps/via/keymap.c +++ b/keyboards/matrix/me/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), diff --git a/keyboards/matrix/noah/keymaps/default/keymap.c b/keyboards/matrix/noah/keymaps/default/keymap.c index 44ac206ee4a0..c30b3456c2cb 100644 --- a/keyboards/matrix/noah/keymaps/default/keymap.c +++ b/keyboards/matrix/noah/keymaps/default/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_default( KC_BSLS, 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, RGB_TOG, RGB_MOD, _______, KC_F13, KC_F14, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, RGB_TOG, RGB_MOD, _______, KC_F13, KC_F14, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______), diff --git a/keyboards/matrix/noah/keymaps/iso/keymap.c b/keyboards/matrix/noah/keymaps/iso/keymap.c index 990c4dd7a962..066ebe447161 100644 --- a/keyboards/matrix/noah/keymaps/iso/keymap.c +++ b/keyboards/matrix/noah/keymaps/iso/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN,KC_RIGHT), [1] = LAYOUT_iso( 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, _______, _______, - RESET, RGB_TOG, RGB_MOD, _______, KC_F13, KC_F14, KC_F24, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, RGB_TOG, RGB_MOD, _______, KC_F13, KC_F14, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/matrix/noah/keymaps/wkl/keymap.c b/keyboards/matrix/noah/keymaps/wkl/keymap.c index 049658244093..5ff6aed261fc 100644 --- a/keyboards/matrix/noah/keymaps/wkl/keymap.c +++ b/keyboards/matrix/noah/keymaps/wkl/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_wkl( KC_BSLS, 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, RGB_TOG, RGB_MOD, _______, KC_F13, KC_F14, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, RGB_TOG, RGB_MOD, _______, KC_F13, KC_F14, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/mb44/keymaps/default/keymap.c b/keyboards/mb44/keymaps/default/keymap.c index 5eac54e07ef8..8b8c50924107 100644 --- a/keyboards/mb44/keymaps/default/keymap.c +++ b/keyboards/mb44/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER2] = LAYOUT_default( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, KC_RALT, KC_RCTL ), }; diff --git a/keyboards/mb44/keymaps/via/keymap.c b/keyboards/mb44/keymaps/via/keymap.c index 9a998ba0a20f..fa999fa8cc71 100644 --- a/keyboards/mb44/keymaps/via/keymap.c +++ b/keyboards/mb44/keymaps/via/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER2] = LAYOUT_default( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, KC_RALT, KC_RCTL ), diff --git a/keyboards/mechanickeys/miniashen40/keymaps/default/keymap.c b/keyboards/mechanickeys/miniashen40/keymaps/default/keymap.c index 4f4b79e45e54..11834add945f 100644 --- a/keyboards/mechanickeys/miniashen40/keymaps/default/keymap.c +++ b/keyboards/mechanickeys/miniashen40/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT( /*3: Empty */ - RESET, 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, + QK_BOOT, 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, 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, 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 diff --git a/keyboards/mechanickeys/miniashen40/keymaps/via/keymap.c b/keyboards/mechanickeys/miniashen40/keymaps/via/keymap.c index bb7721561dc6..8859f5385631 100644 --- a/keyboards/mechanickeys/miniashen40/keymaps/via/keymap.c +++ b/keyboards/mechanickeys/miniashen40/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT( /*3: Empty */ - RESET, 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, + QK_BOOT, 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, 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, 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 diff --git a/keyboards/mechanickeys/undead60m/keymaps/default/keymap.c b/keyboards/mechanickeys/undead60m/keymaps/default/keymap.c index 084049f09bd3..cad22afff4b0 100644 --- a/keyboards/mechanickeys/undead60m/keymaps/default/keymap.c +++ b/keyboards/mechanickeys/undead60m/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( /* 1: fn */ KC_TRNS, KC_TRNS, 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, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET, 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_UP, KC_TRNS, QK_BOOT, 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_LEFT, KC_DOWN, KC_RGHT, 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, 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, MO(2), KC_TRNS diff --git a/keyboards/mechanickeys/undead60m/keymaps/via/keymap.c b/keyboards/mechanickeys/undead60m/keymaps/via/keymap.c index 1bd56eadbf3d..a12e6c7bd401 100644 --- a/keyboards/mechanickeys/undead60m/keymaps/via/keymap.c +++ b/keyboards/mechanickeys/undead60m/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( /* 1: fn */ KC_TRNS, KC_TRNS, 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, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET, 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_UP, KC_TRNS, QK_BOOT, 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_LEFT, KC_DOWN, KC_RGHT, 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, 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, MO(2), KC_TRNS diff --git a/keyboards/mechkeys/acr60/keymaps/default/keymap.c b/keyboards/mechkeys/acr60/keymaps/default/keymap.c index e7381c578316..cf14a86b58c2 100644 --- a/keyboards/mechkeys/acr60/keymaps/default/keymap.c +++ b/keyboards/mechkeys/acr60/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, _______, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/mechkeys/alu84/keymaps/default/keymap.c b/keyboards/mechkeys/alu84/keymaps/default/keymap.c index ca370c765a89..cbbe4f3611c2 100755 --- a/keyboards/mechkeys/alu84/keymaps/default/keymap.c +++ b/keyboards/mechkeys/alu84/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_75_ansi( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/mechkeys/espectro/keymaps/default/keymap.c b/keyboards/mechkeys/espectro/keymaps/default/keymap.c index 3b23fee19006..25d07843a53c 100755 --- a/keyboards/mechkeys/espectro/keymaps/default/keymap.c +++ b/keyboards/mechkeys/espectro/keymaps/default/keymap.c @@ -56,7 +56,7 @@ ________________________________________________________________________________ /* FN_1 ____________________________________________________________________________________________________________________________________________________________________________ | | | | | | | | | | | | | | | VOL | VOL | NEXT | | | -| RESET | | | | | | | | | | | | | MUTE | DOWN | UP | TRACK | HOME | END | +| QK_BOOT | | | | | | | | | | | | | MUTE | DOWN | UP | TRACK | HOME | END | |________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________| | | RGB | RGB | RGB | RGB | RGB | RGB | RGB | RGB | | | | | | | | | | | | TOGGLE | MODE |INCREASE|DECREASE| HUE | HUE | SAT | SAT | | | | | DELETE | | | | | @@ -76,7 +76,7 @@ ________________________________________________________________________________ */ [_FN1] = LAYOUT_default( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, BL_TOGG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/mechkeys/espectro/keymaps/iso/keymap.c b/keyboards/mechkeys/espectro/keymaps/iso/keymap.c index b001f9417da1..a8a5950b87c5 100755 --- a/keyboards/mechkeys/espectro/keymaps/iso/keymap.c +++ b/keyboards/mechkeys/espectro/keymaps/iso/keymap.c @@ -56,7 +56,7 @@ ________________________________________________________________________________ /* FN_1 ____________________________________________________________________________________________________________________________________________________________________________ | | | | | | | | | | | | | | | VOL | VOL | NEXT | | | -| RESET | | | | | | | | | | | | | MUTE | DOWN | UP | TRACK | HOME | END | +| QK_BOOT | | | | | | | | | | | | | MUTE | DOWN | UP | TRACK | HOME | END | |________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________| | | RGB | RGB | RGB | RGB | RGB | RGB | RGB | RGB | | | | | | | | | | | | TOGGLE | MODE |INCREASE|DECREASE| HUE | HUE | SAT | SAT | | | | | DELETE | | | | | @@ -76,7 +76,7 @@ ________________________________________________________________________________ */ [_FN1] = LAYOUT_iso( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, BL_TOGG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/default/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/default/keymap.c index dae1dc9fd68d..ab6f0012b43c 100755 --- a/keyboards/mechkeys/mechmini/v2/keymaps/default/keymap.c +++ b/keyboards/mechkeys/mechmini/v2/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [_FN2] = LAYOUT_split_space( - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET, + KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT, KC_TRNS, BL_TOGG, BL_STEP, BL_INC, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/via/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/via/keymap.c index e77d9d885910..e0d22980d214 100644 --- a/keyboards/mechkeys/mechmini/v2/keymaps/via/keymap.c +++ b/keyboards/mechkeys/mechmini/v2/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_TRNS, BL_TOGG, BL_STEP, BL_INC, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_HOME, KC_END, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_PGDN, KC_PGUP, KC_MPLY), + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_PGDN, KC_PGUP, KC_MPLY), [3] = LAYOUT_ortho( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/mechkeys/mk60/keymaps/default/keymap.c b/keyboards/mechkeys/mk60/keymaps/default/keymap.c index 7471a3cd3e12..f41ef3f3b607 100644 --- a/keyboards/mechkeys/mk60/keymaps/default/keymap.c +++ b/keyboards/mechkeys/mk60/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(1), KC_SPC, KC_RALT, KC_PGUP, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/mechllama/g35/keymaps/default/keymap.c b/keyboards/mechllama/g35/keymaps/default/keymap.c index f02cba0b5abf..4568f54f54aa 100644 --- a/keyboards/mechllama/g35/keymaps/default/keymap.c +++ b/keyboards/mechllama/g35/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - RGB_TOG,TO(_BASE),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + RGB_TOG,TO(_BASE),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ RGB_M_K, XXXXXXX, RGB_RMOD,RGB_HUI, RGB_MOD, XXXXXXX, XXXXXXX, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/mechlovin/tmkl/keymaps/default/keymap.c b/keyboards/mechlovin/tmkl/keymaps/default/keymap.c index e39051d9b4c5..0a6311bce27e 100644 --- a/keyboards/mechlovin/tmkl/keymaps/default/keymap.c +++ b/keyboards/mechlovin/tmkl/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), [1] = LAYOUT( - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/mechstudio/dawn/keymaps/default/keymap.c b/keyboards/mechstudio/dawn/keymaps/default/keymap.c index e1cebe23584e..6d12760f67ab 100644 --- a/keyboards/mechstudio/dawn/keymaps/default/keymap.c +++ b/keyboards/mechstudio/dawn/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - RESET , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , + QK_BOOT , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , diff --git a/keyboards/mechstudio/dawn/keymaps/via/keymap.c b/keyboards/mechstudio/dawn/keymaps/via/keymap.c index 3db791edd42a..e6b92fc98ca7 100644 --- a/keyboards/mechstudio/dawn/keymaps/via/keymap.c +++ b/keyboards/mechstudio/dawn/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - RESET , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , + QK_BOOT , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , diff --git a/keyboards/mechwild/bde/keymaps/default/keymap.c b/keyboards/mechwild/bde/keymaps/default/keymap.c index 63f5e51f357e..8222af75763f 100644 --- a/keyboards/mechwild/bde/keymaps/default/keymap.c +++ b/keyboards/mechwild/bde/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { CTL_Z, ALT_X, WIN_C, KC_V, FN1_BSPC, FN2_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT, KC_P1, KC_P2, KC_P3, KC_MINS ), [_FN1] = LAYOUT( - _______, _______, _______, RESET, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK, + _______, _______, _______, QK_BOOT, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_SCLN, KC_QUOT, KC_4, KC_5, KC_6, KC_0, _______, _______, _______, _______, _______, KC_TAB, KC_LGUI, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_2, KC_3, KC_EQL ), diff --git a/keyboards/mechwild/bde/keymaps/via/keymap.c b/keyboards/mechwild/bde/keymaps/via/keymap.c index 30018d1d7e05..e28c1b6db877 100644 --- a/keyboards/mechwild/bde/keymaps/via/keymap.c +++ b/keyboards/mechwild/bde/keymaps/via/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { CTL_Z, ALT_X, WIN_C, KC_V, FN1_BSPC, FN2_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT, KC_P1, KC_P2, KC_P3, KC_MINS ), [_FN1] = LAYOUT( - _______, _______, _______, RESET, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK, + _______, _______, _______, QK_BOOT, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_SCLN, KC_QUOT, KC_4, KC_5, KC_6, KC_0, _______, _______, _______, _______, _______, KC_TAB, KC_LGUI, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_2, KC_3, KC_EQL ), diff --git a/keyboards/mechwild/mokulua/keymaps/default/keymap.c b/keyboards/mechwild/mokulua/keymaps/default/keymap.c index 69a16d090f5b..f95663bb6b1f 100644 --- a/keyboards/mechwild/mokulua/keymaps/default/keymap.c +++ b/keyboards/mechwild/mokulua/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN2] = LAYOUT( _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/mechwild/mokulua/keymaps/via/keymap.c b/keyboards/mechwild/mokulua/keymaps/via/keymap.c index 69a16d090f5b..f95663bb6b1f 100644 --- a/keyboards/mechwild/mokulua/keymaps/via/keymap.c +++ b/keyboards/mechwild/mokulua/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN2] = LAYOUT( _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/mehkee96/keymaps/default/keymap.c b/keyboards/mehkee96/keymaps/default/keymap.c index 46ee4d19cc3d..8f9a1cee37be 100644 --- a/keyboards/mehkee96/keymaps/default/keymap.c +++ b/keyboards/mehkee96/keymaps/default/keymap.c @@ -39,7 +39,7 @@ ________________________________________________________________________________ /* Layer 1, function layer ____________________________________________________________________________________________________________________________________________________________________________ | | | | | | | | | | | | | | | VOL | VOL | | | | -| RESET | | | | | | | | | | | | | MUTE | DOWN | UP | | | | +| QK_BOOT | | | | | | | | | | | | | MUTE | DOWN | UP | | | | |________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @@ -61,7 +61,7 @@ BL_TOGG, BL_DEC, BL_INC changes the in-switch LEDs LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/meletrix/zoom65/keymaps/default/keymap.c b/keyboards/meletrix/zoom65/keymaps/default/keymap.c index dfcad3107ef8..3eab5dabb07f 100644 --- a/keyboards/meletrix/zoom65/keymaps/default/keymap.c +++ b/keyboards/meletrix/zoom65/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/meletrix/zoom65/keymaps/via/keymap.c b/keyboards/meletrix/zoom65/keymaps/via/keymap.c index 0bd3004a1212..62e10541c251 100644 --- a/keyboards/meletrix/zoom65/keymaps/via/keymap.c +++ b/keyboards/meletrix/zoom65/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( diff --git a/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c index be205e059af4..9d9aa6755766 100644 --- a/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c +++ b/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, _______, _______, KC_MNXT, KC_MPLY, KC_MPRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c index 9fc996467958..de44abe37e90 100644 --- a/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c +++ b/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, _______, _______, KC_MNXT, KC_MPLY, KC_MPRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( diff --git a/keyboards/melgeek/mach80/keymaps/default/keymap.c b/keyboards/melgeek/mach80/keymaps/default/keymap.c index 235f0c40db49..0d426f7de346 100755 --- a/keyboards/melgeek/mach80/keymaps/default/keymap.c +++ b/keyboards/melgeek/mach80/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi( /* FN */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_END, _______, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, _______, KC_INS, _______, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mach80/keymaps/via/keymap.c b/keyboards/melgeek/mach80/keymaps/via/keymap.c index 058786d1d251..e90f8f0653c0 100755 --- a/keyboards/melgeek/mach80/keymaps/via/keymap.c +++ b/keyboards/melgeek/mach80/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi( /* FN */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_END, _______, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, _______, KC_INS, _______, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mach80/keymaps/wkl/keymap.c b/keyboards/melgeek/mach80/keymaps/wkl/keymap.c index 7fcf43bd01d1..093a7f33f7a1 100755 --- a/keyboards/melgeek/mach80/keymaps/wkl/keymap.c +++ b/keyboards/melgeek/mach80/keymaps/wkl/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi_wkl( /* FN */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_END, _______, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, _______, KC_INS, _______, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mj61/keymaps/default/keymap.c b/keyboards/melgeek/mj61/keymaps/default/keymap.c index 2237851fbebc..ee0e82580b34 100644 --- a/keyboards/melgeek/mj61/keymaps/default/keymap.c +++ b/keyboards/melgeek/mj61/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi( 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, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/melgeek/mj61/keymaps/via/keymap.c b/keyboards/melgeek/mj61/keymaps/via/keymap.c index 409a37c9b10c..01b48fb585bc 100644 --- a/keyboards/melgeek/mj61/keymaps/via/keymap.c +++ b/keyboards/melgeek/mj61/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi( 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, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/melgeek/mj63/keymaps/default/keymap.c b/keyboards/melgeek/mj63/keymaps/default/keymap.c index 2829ae8fc96c..85252dbe4813 100644 --- a/keyboards/melgeek/mj63/keymaps/default/keymap.c +++ b/keyboards/melgeek/mj63/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi_arrow( 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, KC_DEL, - _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mj63/keymaps/via/keymap.c b/keyboards/melgeek/mj63/keymaps/via/keymap.c index 37e25a834930..c0248664e02b 100644 --- a/keyboards/melgeek/mj63/keymaps/via/keymap.c +++ b/keyboards/melgeek/mj63/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi_arrow( 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, KC_DEL, - _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mj64/keymaps/default/keymap.c b/keyboards/melgeek/mj64/keymaps/default/keymap.c index 6f4d66c52b5c..1d8f3f1118fc 100644 --- a/keyboards/melgeek/mj64/keymaps/default/keymap.c +++ b/keyboards/melgeek/mj64/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_64_ansi( /* FN */ 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, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_INS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mj64/keymaps/via/keymap.c b/keyboards/melgeek/mj64/keymaps/via/keymap.c index 79a58b49d4aa..7fe6458550c4 100644 --- a/keyboards/melgeek/mj64/keymaps/via/keymap.c +++ b/keyboards/melgeek/mj64/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_64_ansi( /* FN */ 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, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, KC_INS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mj65/keymaps/default/keymap.c b/keyboards/melgeek/mj65/keymaps/default/keymap.c index 8ab1bf3bbcd2..4efc7e12dab0 100644 --- a/keyboards/melgeek/mj65/keymaps/default/keymap.c +++ b/keyboards/melgeek/mj65/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi( /* FN */ 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, KC_DEL, KC_HOME, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, RESET, _______, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, KC_HOME, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_INS, KC_END, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mj65/keymaps/via/keymap.c b/keyboards/melgeek/mj65/keymaps/via/keymap.c index d3b20cbaa3ee..858254f7ba7b 100644 --- a/keyboards/melgeek/mj65/keymaps/via/keymap.c +++ b/keyboards/melgeek/mj65/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi( /* FN */ 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, KC_DEL, KC_HOME, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, RESET, _______, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, KC_HOME, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_INS, KC_END, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mj6xy/keymaps/default/keymap.c b/keyboards/melgeek/mj6xy/keymaps/default/keymap.c index 4bedb0d4008a..77e9d940d1dd 100755 --- a/keyboards/melgeek/mj6xy/keymaps/default/keymap.c +++ b/keyboards/melgeek/mj6xy/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_60_ansi( 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, KC_DEL, - 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_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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/melgeek/mj6xy/keymaps/via/keymap.c b/keyboards/melgeek/mj6xy/keymaps/via/keymap.c index be2bcc247e4f..ee1bc38e7c48 100755 --- a/keyboards/melgeek/mj6xy/keymaps/via/keymap.c +++ b/keyboards/melgeek/mj6xy/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_60_ansi( 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, KC_DEL, - 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_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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/melgeek/mojo68/keymaps/default/keymap.c b/keyboards/melgeek/mojo68/keymaps/default/keymap.c index f76ca3a37bf7..16559a3dfc8b 100755 --- a/keyboards/melgeek/mojo68/keymaps/default/keymap.c +++ b/keyboards/melgeek/mojo68/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_68_ansi( 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, KC_DEL, KC_PSCR, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, RESET, _______, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, KC_HOME, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_INS, KC_END, KC_MPLY, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mojo68/keymaps/via/keymap.c b/keyboards/melgeek/mojo68/keymaps/via/keymap.c index c8655ab819f8..a8aab4eb342e 100755 --- a/keyboards/melgeek/mojo68/keymaps/via/keymap.c +++ b/keyboards/melgeek/mojo68/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_68_ansi( 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, KC_DEL, KC_PSCR, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, RESET, _______, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, KC_HOME, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_INS, KC_END, KC_MPLY, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mojo75/keymaps/default/keymap.c b/keyboards/melgeek/mojo75/keymaps/default/keymap.c index 3158946311a2..fe967d09c9c8 100644 --- a/keyboards/melgeek/mojo75/keymaps/default/keymap.c +++ b/keyboards/melgeek/mojo75/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_75_ansi( /* FN */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, KC_INS, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/mojo75/keymaps/via/keymap.c b/keyboards/melgeek/mojo75/keymaps/via/keymap.c index 78aec3c9634c..f59ecb1177cf 100644 --- a/keyboards/melgeek/mojo75/keymaps/via/keymap.c +++ b/keyboards/melgeek/mojo75/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_75_ansi( /* FN */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, KC_INS, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/z70ultra/keymaps/default/keymap.c b/keyboards/melgeek/z70ultra/keymaps/default/keymap.c index e954776dbef4..5dc65ef0208d 100644 --- a/keyboards/melgeek/z70ultra/keymaps/default/keymap.c +++ b/keyboards/melgeek/z70ultra/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi_blocker( /* FN */ 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, KC_DEL, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/melgeek/z70ultra/keymaps/via/keymap.c b/keyboards/melgeek/z70ultra/keymaps/via/keymap.c index a822ecdefae2..15d0d34444bc 100644 --- a/keyboards/melgeek/z70ultra/keymaps/via/keymap.c +++ b/keyboards/melgeek/z70ultra/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi_blocker( /* FN */ 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, KC_DEL, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/meow65/keymaps/default/keymap.c b/keyboards/meow65/keymaps/default/keymap.c index 3a5c4b76a861..485c22e10df9 100644 --- a/keyboards/meow65/keymaps/default/keymap.c +++ b/keyboards/meow65/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_65_ansi_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/meow65/keymaps/via/keymap.c b/keyboards/meow65/keymaps/via/keymap.c index ef7dd62071a7..d5bbede88667 100644 --- a/keyboards/meow65/keymaps/via/keymap.c +++ b/keyboards/meow65/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_L1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_L1] = LAYOUT_65_ansi_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/meson/keymaps/default/keymap.c b/keyboards/meson/keymaps/default/keymap.c index 3280b081c83a..b83a2a7533ad 100644 --- a/keyboards/meson/keymaps/default/keymap.c +++ b/keyboards/meson/keymaps/default/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT( /* Reset, other functions if you want */ - RESET, 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, + QK_BOOT, 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, 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, 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 diff --git a/keyboards/metamechs/timberwolf/keymaps/default/keymap.c b/keyboards/metamechs/timberwolf/keymaps/default/keymap.c index 85b79f168c56..33529318da5b 100644 --- a/keyboards/metamechs/timberwolf/keymaps/default/keymap.c +++ b/keyboards/metamechs/timberwolf/keymaps/default/keymap.c @@ -19,14 +19,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ [0] = LAYOUT_all( KC_MUTE,KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_INS ,KC_HOME,KC_PGUP, - RESET ,KC_GRV ,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_END ,KC_PGDN, + QK_BOOT ,KC_GRV ,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_END ,KC_PGDN, BL_INC ,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_PSCR,KC_SLCK, BL_DEC ,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_NUHS,KC_ENT ,KC_DEL ,KC_INS , KC_F13 ,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 ,KC_UP ,KC_PENT, MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL,KC_LEFT,KC_LEFT,KC_DOWN,KC_RGHT,KC_PENT ), [1] = LAYOUT_all( - RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______, + QK_BOOT ,QK_BOOT ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______, diff --git a/keyboards/metamechs/timberwolf/keymaps/via/keymap.c b/keyboards/metamechs/timberwolf/keymaps/via/keymap.c index 6246ffd2e283..c1a4841d9a2d 100644 --- a/keyboards/metamechs/timberwolf/keymaps/via/keymap.c +++ b/keyboards/metamechs/timberwolf/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL,KC_LEFT,KC_LEFT,KC_DOWN,KC_RGHT,KC_PENT ), [1] = LAYOUT_all( - RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______, + QK_BOOT ,QK_BOOT ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______, diff --git a/keyboards/mikeneko65/rev3/keymaps/default/keymap.c b/keyboards/mikeneko65/rev3/keymaps/default/keymap.c index 69844b8c3041..6418e10e3f70 100644 --- a/keyboards/mikeneko65/rev3/keymaps/default/keymap.c +++ b/keyboards/mikeneko65/rev3/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/mikeneko65/rev3/keymaps/via/keymap.c b/keyboards/mikeneko65/rev3/keymaps/via/keymap.c index 2a456503ea8d..74db8d464cab 100644 --- a/keyboards/mikeneko65/rev3/keymaps/via/keymap.c +++ b/keyboards/mikeneko65/rev3/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT ), [_L1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/miller/gm862/keymaps/default/keymap.c b/keyboards/miller/gm862/keymaps/default/keymap.c index 897d8f1f77ec..eeceec6c2024 100644 --- a/keyboards/miller/gm862/keymaps/default/keymap.c +++ b/keyboards/miller/gm862/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL), [_LAYER1] = LAYOUT_60_ansi( /* FN */ 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, KC_DEL , - KC_TRNS, RGB_TOG, KC_UP, RGB_MOD, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET , + KC_TRNS, RGB_TOG, KC_UP, RGB_MOD, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, KC_END, KC_PGDOWN,KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/miller/gm862/keymaps/via/keymap.c b/keyboards/miller/gm862/keymaps/via/keymap.c index 897d8f1f77ec..eeceec6c2024 100644 --- a/keyboards/miller/gm862/keymaps/via/keymap.c +++ b/keyboards/miller/gm862/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL), [_LAYER1] = LAYOUT_60_ansi( /* FN */ 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, KC_DEL , - KC_TRNS, RGB_TOG, KC_UP, RGB_MOD, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET , + KC_TRNS, RGB_TOG, KC_UP, RGB_MOD, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, KC_END, KC_PGDOWN,KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/miniaxe/keymaps/default/keymap.c b/keyboards/miniaxe/keymaps/default/keymap.c index 8e9695220c39..45e1e131e896 100644 --- a/keyboards/miniaxe/keymaps/default/keymap.c +++ b/keyboards/miniaxe/keymaps/default/keymap.c @@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_3x5_3( 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_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, + QK_BOOT, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/mino/keymaps/default/keymap.c b/keyboards/mino/keymaps/default/keymap.c index 2c9dcecd4acf..27c70c7e6b17 100644 --- a/keyboards/mino/keymaps/default/keymap.c +++ b/keyboards/mino/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_UP, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) }; diff --git a/keyboards/mino/keymaps/via/keymap.c b/keyboards/mino/keymaps/via/keymap.c index 597b854052fa..6cfdb50164b5 100644 --- a/keyboards/mino/keymaps/via/keymap.c +++ b/keyboards/mino/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_UP, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ), [_3] = LAYOUT_default( XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/miuni32/keymaps/default/keymap.c b/keyboards/miuni32/keymaps/default/keymap.c index 87519de54636..5d1eab8b8c96 100644 --- a/keyboards/miuni32/keymaps/default/keymap.c +++ b/keyboards/miuni32/keymaps/default/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Level 3: RGB Layer * ,---------------------------------------------------------------------------------------. - * | RESET | TRNS | TRNS | TRNS | TRNS | F1 | F2 | F3 | F4 | F5 | F6 | + * | QK_BOOT | TRNS | TRNS | TRNS | TRNS | F1 | F2 | F3 | F4 | F5 | F6 | * |---------------------------------------------------------------------------------------| * |RGB_TOG|RGB_MOD|RGB_HUI|RGB_HUD| NO |RGB_SAI|RGB_SAD|RGB_VAI|RGB_VAD| TRNS | TRNS | * |---------------------------------------------------------------------------------------| @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |---------------------------------------------------------------------------------------| */ [3] = LAYOUT( - RESET, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + QK_BOOT, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_NO, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 ) diff --git a/keyboards/mixi/keymaps/default/keymap.c b/keyboards/mixi/keymaps/default/keymap.c index 916bd5e3d092..22877c1101d9 100644 --- a/keyboards/mixi/keymaps/default/keymap.c +++ b/keyboards/mixi/keymaps/default/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * .--------------------------------------. * | N/A | N/A | Hold: Layer 2 | * |--------------|-------|---------------| - * | RESET EEPROM | RESET | DEBUG MODE | + * | QK_BOOT EEPROM | QK_BOOT | DEBUG MODE | * |--------------|-------|---------------| * | N/A | N/A | N/A | * '--------------------------------------' @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( KC_NO , KC_NO, KC_TRNS, - EEP_RST, RESET, DEBUG , + EEP_RST, QK_BOOT, DEBUG , KC_NO , KC_NO, KC_NO ) diff --git a/keyboards/mixi/keymaps/via/keymap.c b/keyboards/mixi/keymaps/via/keymap.c index 5eb9e1236557..927e16659c5a 100644 --- a/keyboards/mixi/keymaps/via/keymap.c +++ b/keyboards/mixi/keymaps/via/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * .--------------------------------------. * | N/A | N/A | Hold: Layer 2 | * |--------------|-------|---------------| - * | RESET EEPROM | RESET | DEBUG MODE | + * | QK_BOOT EEPROM | QK_BOOT | DEBUG MODE | * |--------------|-------|---------------| * | N/A | N/A | N/A | * '--------------------------------------' @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( KC_NO , KC_NO, KC_TRNS, - EEP_RST, RESET, DEBUG , + EEP_RST, QK_BOOT, DEBUG , KC_NO , KC_NO, KC_NO ), diff --git a/keyboards/mlego/m48/keymaps/default/keymap.c b/keyboards/mlego/m48/keymaps/default/keymap.c index df9e1bb46ea3..5eb40a332aba 100644 --- a/keyboards/mlego/m48/keymaps/default/keymap.c +++ b/keyboards/mlego/m48/keymaps/default/keymap.c @@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJ] = LAYOUT_ortho_4x12( - _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/mlego/m48/keymaps/via/keymap.c b/keyboards/mlego/m48/keymaps/via/keymap.c index af625ef207bd..4e19343847a1 100644 --- a/keyboards/mlego/m48/keymaps/via/keymap.c +++ b/keyboards/mlego/m48/keymaps/via/keymap.c @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJ] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, RESET, _______, + _______, QK_BOOT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/mlego/m60/keymaps/default/keymap.c b/keyboards/mlego/m60/keymaps/default/keymap.c index 18fdba688a9e..8d0cddae80ff 100644 --- a/keyboards/mlego/m60/keymaps/default/keymap.c +++ b/keyboards/mlego/m60/keymaps/default/keymap.c @@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJ] = LAYOUT_ortho_5x12( - _______, RESET, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, RESET, _______, + _______, QK_BOOT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/mlego/m60/keymaps/via/keymap.c b/keyboards/mlego/m60/keymaps/via/keymap.c index 18fdba688a9e..8d0cddae80ff 100644 --- a/keyboards/mlego/m60/keymaps/via/keymap.c +++ b/keyboards/mlego/m60/keymaps/via/keymap.c @@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJ] = LAYOUT_ortho_5x12( - _______, RESET, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, RESET, _______, + _______, QK_BOOT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/mlego/m60_split/keymaps/default/keymap.c b/keyboards/mlego/m60_split/keymaps/default/keymap.c index 5e3912b0bd9f..2f51794c1c7c 100644 --- a/keyboards/mlego/m60_split/keymaps/default/keymap.c +++ b/keyboards/mlego/m60_split/keymaps/default/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJ] = LAYOUT_ortho_5x12( - _______, RESET , _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_M_G, RESET , _______, + _______, QK_BOOT , _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_M_G, QK_BOOT , _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI , _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , _______, _______, _______, diff --git a/keyboards/mlego/m60_split/keymaps/via/keymap.c b/keyboards/mlego/m60_split/keymaps/via/keymap.c index ccb010474815..dc0263c287fc 100644 --- a/keyboards/mlego/m60_split/keymaps/via/keymap.c +++ b/keyboards/mlego/m60_split/keymaps/via/keymap.c @@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJ] = LAYOUT_ortho_5x12( - _______, RESET, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, RESET, _______, + _______, QK_BOOT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/mlego/m65/keymaps/default/keymap.c b/keyboards/mlego/m65/keymaps/default/keymap.c index 96a1ced900c5..c8a6cfce2e13 100644 --- a/keyboards/mlego/m65/keymaps/default/keymap.c +++ b/keyboards/mlego/m65/keymaps/default/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJ] = LAYOUT_ortho_5x13( RGB_MOD, RGB_RMOD, A(KC_F2), _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_T , RGB_M_SW, - RGB_HUI, RGB_HUD , RGB_M_P , _______, RESET , _______, _______, _______, _______, _______, _______, _______ , RGB_M_SN, + RGB_HUI, RGB_HUD , RGB_M_P , _______, QK_BOOT , _______, _______, _______, _______, _______, _______, _______ , RGB_M_SN, RGB_SAI, RGB_SAD , RGB_M_B , _______, _______, _______, _______, _______, _______, _______, _______, _______ , RGB_M_K , RGB_VAI, RGB_VAD , RGB_M_R , _______, _______, _______, _______, _______, _______, _______, _______, _______ , RGB_M_X , RGB_TOG, _______ , _______ , _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_TW, RGB_M_G), diff --git a/keyboards/mlego/m65/keymaps/via/keymap.c b/keyboards/mlego/m65/keymaps/via/keymap.c index 1422eed34ef8..831a2a72e445 100644 --- a/keyboards/mlego/m65/keymaps/via/keymap.c +++ b/keyboards/mlego/m65/keymaps/via/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJ] = LAYOUT_ortho_5x13( RGB_MOD, RGB_RMOD, A(KC_F2), _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_T , RGB_M_SW, - RGB_HUI, RGB_HUD , RGB_M_P , _______, RESET , _______, _______, _______, _______, _______, _______, _______ , RGB_M_SN, + RGB_HUI, RGB_HUD , RGB_M_P , _______, QK_BOOT , _______, _______, _______, _______, _______, _______, _______ , RGB_M_SN, RGB_SAI, RGB_SAD , RGB_M_B , _______, _______, _______, _______, _______, _______, _______, _______, _______ , RGB_M_K , RGB_VAI, RGB_VAD , RGB_M_R , _______, _______, _______, _______, _______, _______, _______, _______, _______ , RGB_M_X , RGB_TOG, _______ , _______ , _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_TW, RGB_M_G), diff --git a/keyboards/mntre/keymaps/default/keymap.c b/keyboards/mntre/keymaps/default/keymap.c index 4dcdebe31b06..58c48d988f60 100644 --- a/keyboards/mntre/keymaps/default/keymap.c +++ b/keyboards/mntre/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( _______, BL_DEC, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/mode/m65ha_alpha/keymaps/default/keymap.c b/keyboards/mode/m65ha_alpha/keymaps/default/keymap.c index 2a2e041536e5..eff4ba8994b5 100755 --- a/keyboards/mode/m65ha_alpha/keymaps/default/keymap.c +++ b/keyboards/mode/m65ha_alpha/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_MUTE, + QK_BOOT , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_MUTE, 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_VOLU, 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_VOLD, 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_MPLY, diff --git a/keyboards/mode/m65ha_alpha/keymaps/via/keymap.c b/keyboards/mode/m65ha_alpha/keymaps/via/keymap.c index 2a2e041536e5..eff4ba8994b5 100755 --- a/keyboards/mode/m65ha_alpha/keymaps/via/keymap.c +++ b/keyboards/mode/m65ha_alpha/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_MUTE, + QK_BOOT , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_MUTE, 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_VOLU, 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_VOLD, 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_MPLY, diff --git a/keyboards/mode/m65hi_alpha/keymaps/default/keymap.c b/keyboards/mode/m65hi_alpha/keymaps/default/keymap.c index 2159d5ffe85b..5b5f558dd345 100755 --- a/keyboards/mode/m65hi_alpha/keymaps/default/keymap.c +++ b/keyboards/mode/m65hi_alpha/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_MUTE, + QK_BOOT , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_MUTE, 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_VOLU, 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_VOLD, 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_MPLY, diff --git a/keyboards/mode/m65hi_alpha/keymaps/via/keymap.c b/keyboards/mode/m65hi_alpha/keymaps/via/keymap.c index 6d84d3849631..787512fbbb48 100755 --- a/keyboards/mode/m65hi_alpha/keymaps/via/keymap.c +++ b/keyboards/mode/m65hi_alpha/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_MUTE, + QK_BOOT , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_MUTE, 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_VOLU, 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_VOLD, 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_MPLY, diff --git a/keyboards/mode/m65s/keymaps/default/keymap.c b/keyboards/mode/m65s/keymaps/default/keymap.c index 880835f382c8..90ffd1ef21cb 100755 --- a/keyboards/mode/m65s/keymaps/default/keymap.c +++ b/keyboards/mode/m65s/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_TRNS, KC_MUTE, + QK_BOOT , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_TRNS, KC_MUTE, 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_VOLU, 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_VOLD, 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_MPLY, diff --git a/keyboards/mode/m65s/keymaps/via/keymap.c b/keyboards/mode/m65s/keymaps/via/keymap.c index 880835f382c8..90ffd1ef21cb 100755 --- a/keyboards/mode/m65s/keymaps/via/keymap.c +++ b/keyboards/mode/m65s/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_TRNS, KC_MUTE, + QK_BOOT , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_TRNS, KC_MUTE, 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_VOLU, 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_VOLD, 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_MPLY, diff --git a/keyboards/mode/m75s/keymaps/default/keymap.c b/keyboards/mode/m75s/keymaps/default/keymap.c index 35db109a4114..1ddbb0dd4fc0 100755 --- a/keyboards/mode/m75s/keymaps/default/keymap.c +++ b/keyboards/mode/m75s/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , 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, + QK_BOOT , 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, 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_MUTE, 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_VOLU, 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_VOLD, diff --git a/keyboards/mode/m75s/keymaps/default_ansi/keymap.c b/keyboards/mode/m75s/keymaps/default_ansi/keymap.c index 5ca5384010ba..0c6c95398428 100644 --- a/keyboards/mode/m75s/keymaps/default_ansi/keymap.c +++ b/keyboards/mode/m75s/keymaps/default_ansi/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_ansi( - RESET , 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, + QK_BOOT , 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, 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_VOLU, 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_VOLD, diff --git a/keyboards/mode/m75s/keymaps/default_ansi_split_bs/keymap.c b/keyboards/mode/m75s/keymaps/default_ansi_split_bs/keymap.c index 0e74130e4561..e9fcee655c20 100644 --- a/keyboards/mode/m75s/keymaps/default_ansi_split_bs/keymap.c +++ b/keyboards/mode/m75s/keymaps/default_ansi_split_bs/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_ansi_split_bs( - RESET , 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, + QK_BOOT , 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, 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_MUTE, 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_VOLU, 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_VOLD, diff --git a/keyboards/mode/m75s/keymaps/default_ansi_tsangan/keymap.c b/keyboards/mode/m75s/keymaps/default_ansi_tsangan/keymap.c index ed2fd875b00f..62eb8d7fd931 100644 --- a/keyboards/mode/m75s/keymaps/default_ansi_tsangan/keymap.c +++ b/keyboards/mode/m75s/keymaps/default_ansi_tsangan/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_ansi_tsangan( - RESET , 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, + QK_BOOT , 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, 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_VOLU, 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_VOLD, diff --git a/keyboards/mode/m75s/keymaps/default_ansi_tsangan_split_bs/keymap.c b/keyboards/mode/m75s/keymaps/default_ansi_tsangan_split_bs/keymap.c index dda171515a08..f407ee03b3c4 100644 --- a/keyboards/mode/m75s/keymaps/default_ansi_tsangan_split_bs/keymap.c +++ b/keyboards/mode/m75s/keymaps/default_ansi_tsangan_split_bs/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_ansi_tsangan_split_bs( - RESET , 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, + QK_BOOT , 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, 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_MUTE, 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_VOLU, 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_VOLD, diff --git a/keyboards/mode/m75s/keymaps/default_iso/keymap.c b/keyboards/mode/m75s/keymaps/default_iso/keymap.c index 6e21982e1b5a..c4439f96cff9 100644 --- a/keyboards/mode/m75s/keymaps/default_iso/keymap.c +++ b/keyboards/mode/m75s/keymaps/default_iso/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_iso( - RESET , 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, + QK_BOOT , 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, 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_VOLU, 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_VOLD, diff --git a/keyboards/mode/m75s/keymaps/default_iso_split_bs/keymap.c b/keyboards/mode/m75s/keymaps/default_iso_split_bs/keymap.c index 5f1851472c9d..5c07b9670be7 100644 --- a/keyboards/mode/m75s/keymaps/default_iso_split_bs/keymap.c +++ b/keyboards/mode/m75s/keymaps/default_iso_split_bs/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_iso_split_bs( - RESET , 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, + QK_BOOT , 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, 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_MUTE, 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_VOLU, 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_VOLD, diff --git a/keyboards/mode/m75s/keymaps/default_iso_tsangan/keymap.c b/keyboards/mode/m75s/keymaps/default_iso_tsangan/keymap.c index 7bba870fc090..98e266a7a425 100644 --- a/keyboards/mode/m75s/keymaps/default_iso_tsangan/keymap.c +++ b/keyboards/mode/m75s/keymaps/default_iso_tsangan/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_iso_tsangan( - RESET , 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, + QK_BOOT , 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, 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_VOLU, 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_VOLD, diff --git a/keyboards/mode/m75s/keymaps/default_iso_tsangan_split_bs/keymap.c b/keyboards/mode/m75s/keymaps/default_iso_tsangan_split_bs/keymap.c index 2ad104262bc5..4d476a8d4fef 100644 --- a/keyboards/mode/m75s/keymaps/default_iso_tsangan_split_bs/keymap.c +++ b/keyboards/mode/m75s/keymaps/default_iso_tsangan_split_bs/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_iso_tsangan_split_bs( - RESET , 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, + QK_BOOT , 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, 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_MUTE, 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_VOLU, 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_VOLD, diff --git a/keyboards/mode/m75s/keymaps/via/keymap.c b/keyboards/mode/m75s/keymaps/via/keymap.c index 35db109a4114..1ddbb0dd4fc0 100755 --- a/keyboards/mode/m75s/keymaps/via/keymap.c +++ b/keyboards/mode/m75s/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , 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, + QK_BOOT , 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, 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_MUTE, 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_VOLU, 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_VOLD, diff --git a/keyboards/mode/m80v1/m80h/keymaps/default/keymap.c b/keyboards/mode/m80v1/m80h/keymaps/default/keymap.c index 95c2008ad185..7bab61e83e3d 100644 --- a/keyboards/mode/m80v1/m80h/keymaps/default/keymap.c +++ b/keyboards/mode/m80v1/m80h/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_eighty_m80h( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/mode/m80v1/m80h/keymaps/via/keymap.c b/keyboards/mode/m80v1/m80h/keymaps/via/keymap.c index f2b74cb6ef9c..eb9ce47da1c6 100644 --- a/keyboards/mode/m80v1/m80h/keymaps/via/keymap.c +++ b/keyboards/mode/m80v1/m80h/keymaps/via/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_eighty_m80h( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/mode/m80v1/m80s/keymaps/default/keymap.c b/keyboards/mode/m80v1/m80s/keymaps/default/keymap.c index 49fab527c557..6712f9e1c6b1 100644 --- a/keyboards/mode/m80v1/m80s/keymaps/default/keymap.c +++ b/keyboards/mode/m80v1/m80s/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_eighty_m80s( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/mode/m80v1/m80s/keymaps/via/keymap.c b/keyboards/mode/m80v1/m80s/keymaps/via/keymap.c index 6db21859491d..248758525bb3 100644 --- a/keyboards/mode/m80v1/m80s/keymaps/via/keymap.c +++ b/keyboards/mode/m80v1/m80s/keymaps/via/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [_FN1] = LAYOUT_eighty_m80s( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/mode/m80v2/m80v2h/keymaps/default/keymap.c b/keyboards/mode/m80v2/m80v2h/keymaps/default/keymap.c index f65309dfc727..ab580934bdb8 100755 --- a/keyboards/mode/m80v2/m80v2h/keymaps/default/keymap.c +++ b/keyboards/mode/m80v2/m80v2h/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_m80v2h( - RESET , 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, + QK_BOOT , 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, 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, 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, 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, diff --git a/keyboards/mode/m80v2/m80v2h/keymaps/via/keymap.c b/keyboards/mode/m80v2/m80v2h/keymaps/via/keymap.c index f65309dfc727..ab580934bdb8 100755 --- a/keyboards/mode/m80v2/m80v2h/keymaps/via/keymap.c +++ b/keyboards/mode/m80v2/m80v2h/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_m80v2h( - RESET , 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, + QK_BOOT , 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, 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, 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, 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, diff --git a/keyboards/mode/m80v2/m80v2s/keymaps/default/keymap.c b/keyboards/mode/m80v2/m80v2s/keymaps/default/keymap.c index fcb05df0cf6f..9a110cc2bccc 100755 --- a/keyboards/mode/m80v2/m80v2s/keymaps/default/keymap.c +++ b/keyboards/mode/m80v2/m80v2s/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_m80v2s( - RESET , 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, + QK_BOOT , 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, 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, 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, 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, diff --git a/keyboards/mode/m80v2/m80v2s/keymaps/via/keymap.c b/keyboards/mode/m80v2/m80v2s/keymaps/via/keymap.c index fcb05df0cf6f..9a110cc2bccc 100755 --- a/keyboards/mode/m80v2/m80v2s/keymaps/via/keymap.c +++ b/keyboards/mode/m80v2/m80v2s/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_m80v2s( - RESET , 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, + QK_BOOT , 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, 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, 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, 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, diff --git a/keyboards/mokey/ginkgo65/keymaps/default/keymap.c b/keyboards/mokey/ginkgo65/keymaps/default/keymap.c index 9ac7dc18ba9d..9ebfe8ef2860 100644 --- a/keyboards/mokey/ginkgo65/keymaps/default/keymap.c +++ b/keyboards/mokey/ginkgo65/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi_blocker( 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, _______, _______, - BL_TOGG, BL_STEP, BL_DEC, BL_INC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_DEC, BL_INC, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/mokey/ginkgo65/keymaps/via/keymap.c b/keyboards/mokey/ginkgo65/keymaps/via/keymap.c index 28fdc1a9b256..c50a31f4a4c4 100644 --- a/keyboards/mokey/ginkgo65/keymaps/via/keymap.c +++ b/keyboards/mokey/ginkgo65/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi_blocker( 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, _______, _______, - BL_TOGG, BL_STEP, BL_DEC, BL_INC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_DEC, BL_INC, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/mokey/ginkgo65hot/keymaps/via/keymap.c b/keyboards/mokey/ginkgo65hot/keymaps/via/keymap.c index a8d5162e7ea4..014298878484 100644 --- a/keyboards/mokey/ginkgo65hot/keymaps/via/keymap.c +++ b/keyboards/mokey/ginkgo65hot/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, _______, _______, - BL_TOGG, BL_STEP, BL_DEC, BL_INC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_DEC, BL_INC, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/momoka_ergo/keymaps/default/keymap.c b/keyboards/momoka_ergo/keymaps/default/keymap.c index 01c01ed01383..45faae63bae6 100644 --- a/keyboards/momoka_ergo/keymaps/default/keymap.c +++ b/keyboards/momoka_ergo/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN2] = LAYOUT( 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, _______, _______, _______, _______, RESET, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, RGB_TOG, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, RGB_VAI, RGB_VAD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, diff --git a/keyboards/monarch/keymaps/default/keymap.c b/keyboards/monarch/keymaps/default/keymap.c index fb480b8a7f56..84c50c7a8544 100644 --- a/keyboards/monarch/keymaps/default/keymap.c +++ b/keyboards/monarch/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_ON, diff --git a/keyboards/monarch/keymaps/iso/keymap.c b/keyboards/monarch/keymaps/iso/keymap.c index 2a6ea3a340fe..71ff78617161 100644 --- a/keyboards/monarch/keymaps/iso/keymap.c +++ b/keyboards/monarch/keymaps/iso/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_iso( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_ON, diff --git a/keyboards/monarch/keymaps/via/keymap.c b/keyboards/monarch/keymaps/via/keymap.c index 079ff65a6bb6..1b822529e102 100644 --- a/keyboards/monarch/keymaps/via/keymap.c +++ b/keyboards/monarch/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_VOLD, KC_VOLU ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_ON, diff --git a/keyboards/montsinger/rebound/rev1/keymaps/default/keymap.c b/keyboards/montsinger/rebound/rev1/keymaps/default/keymap.c index 94d9ef91dcf0..b5a9b1108573 100644 --- a/keyboards/montsinger/rebound/rev1/keymaps/default/keymap.c +++ b/keyboards/montsinger/rebound/rev1/keymaps/default/keymap.c @@ -128,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/montsinger/rebound/rev2/keymaps/default/keymap.c b/keyboards/montsinger/rebound/rev2/keymaps/default/keymap.c index 57feb1972633..45cda20cf177 100644 --- a/keyboards/montsinger/rebound/rev2/keymaps/default/keymap.c +++ b/keyboards/montsinger/rebound/rev2/keymaps/default/keymap.c @@ -127,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_all( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/montsinger/rebound/rev3/keymaps/default/keymap.c b/keyboards/montsinger/rebound/rev3/keymaps/default/keymap.c index 1dd4bec95f49..cda97096adf6 100644 --- a/keyboards/montsinger/rebound/rev3/keymaps/default/keymap.c +++ b/keyboards/montsinger/rebound/rev3/keymaps/default/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_all( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/montsinger/rebound/rev4/keymaps/default/keymap.c b/keyboards/montsinger/rebound/rev4/keymaps/default/keymap.c index 1dd4bec95f49..cda97096adf6 100644 --- a/keyboards/montsinger/rebound/rev4/keymaps/default/keymap.c +++ b/keyboards/montsinger/rebound/rev4/keymaps/default/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_all( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/montsinger/rebound/rev4/keymaps/via/keymap.c b/keyboards/montsinger/rebound/rev4/keymaps/via/keymap.c index 85eb73cc55aa..f678ce60ba04 100644 --- a/keyboards/montsinger/rebound/rev4/keymaps/via/keymap.c +++ b/keyboards/montsinger/rebound/rev4/keymaps/via/keymap.c @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_all( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/montsinger/rewind/keymaps/default/keymap.c b/keyboards/montsinger/rewind/keymaps/default/keymap.c index 861c04faf921..8cd802eb73d6 100644 --- a/keyboards/montsinger/rewind/keymaps/default/keymap.c +++ b/keyboards/montsinger/rewind/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_LEFT, KC_UP, KC_RIGHT,KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DOWN, XXXXXXX, XXXXXXX, - RESET, XXXXXXX, XXXXXXX, _______, KC_BSPC, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + QK_BOOT, XXXXXXX, XXXXXXX, _______, KC_BSPC, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ), [_SYM] = LAYOUT_ortho_5x10( diff --git a/keyboards/moonlander/keymaps/default/keymap.c b/keyboards/moonlander/keymaps/default/keymap.c index 0cb7fa5d2720..c0c282030753 100644 --- a/keyboards/moonlander/keymaps/default/keymap.c +++ b/keyboards/moonlander/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [MDIA] = LAYOUT_moonlander( - LED_LEVEL,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + LED_LEVEL,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______, diff --git a/keyboards/moonlander/keymaps/via/keymap.c b/keyboards/moonlander/keymaps/via/keymap.c index 13a299b434cd..ab36b4fc3374 100644 --- a/keyboards/moonlander/keymaps/via/keymap.c +++ b/keyboards/moonlander/keymaps/via/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [MDIA] = LAYOUT_moonlander( - USER01, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + USER01, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______, diff --git a/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c index 713b1288eb59..cdff70d69c01 100644 --- a/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ [_FN] = LAYOUT_60_ansi_arrow( 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, KC_DEL, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI diff --git a/keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c b/keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c index 713b1288eb59..cdff70d69c01 100644 --- a/keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c +++ b/keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ [_FN] = LAYOUT_60_ansi_arrow( 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, KC_DEL, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI diff --git a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c index f348dc69fe25..a5892b38250f 100644 --- a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c @@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ [_FN] = LAYOUT_64_ansi( 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, KC_DEL, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI diff --git a/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c index f348dc69fe25..a5892b38250f 100644 --- a/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c +++ b/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c @@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ [_FN] = LAYOUT_64_ansi( 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, KC_DEL, - RESET, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, RGB_HUI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI diff --git a/keyboards/mt/blocked65/keymaps/default/keymap.c b/keyboards/mt/blocked65/keymaps/default/keymap.c index c38a103101e8..219dd2647eb3 100644 --- a/keyboards/mt/blocked65/keymaps/default/keymap.c +++ b/keyboards/mt/blocked65/keymaps/default/keymap.c @@ -22,10 +22,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FL] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_PSCR, - KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG, RGB_VAI, RGB_HUI, RGB_SAI, KC_INS, RESET, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, + KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG, RGB_VAI, RGB_HUI, RGB_SAI, KC_INS, QK_BOOT, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, RGB_MOD, RGB_VAD, RGB_HUD, RGB_SAD, KC_NO, KC_NO, KC_F14, KC_F15, KC_INS, KC_HOME, KC_LSFT, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, BL_TOGG, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_RSFT, RGB_MOD, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, RESET, KC_RALT, KC_TRNS, KC_HOME, BL_STEP, KC_END + KC_LCTL, KC_LGUI, KC_LALT, QK_BOOT, KC_RALT, KC_TRNS, KC_HOME, BL_STEP, KC_END ) }; diff --git a/keyboards/mt/blocked65/keymaps/via/keymap.c b/keyboards/mt/blocked65/keymaps/via/keymap.c index 7c35725c0b8b..c7afb9f7b04d 100644 --- a/keyboards/mt/blocked65/keymaps/via/keymap.c +++ b/keyboards/mt/blocked65/keymaps/via/keymap.c @@ -24,10 +24,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FL] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_PSCR, - KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG, RGB_VAI, RGB_HUI, RGB_SAI, KC_INS, RESET, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, + KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG, RGB_VAI, RGB_HUI, RGB_SAI, KC_INS, QK_BOOT, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, RGB_MOD, RGB_VAD, RGB_HUD, RGB_SAD, KC_NO, KC_NO, KC_F14, KC_F15, KC_INS, KC_HOME, KC_LSFT, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, BL_TOGG, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_RSFT, RGB_MOD, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, RESET, KC_RALT, KC_TRNS, KC_HOME, BL_STEP, KC_END + KC_LCTL, KC_LGUI, KC_LALT, QK_BOOT, KC_RALT, KC_TRNS, KC_HOME, BL_STEP, KC_END ), [_SL] = LAYOUT_65_ansi_blocker( diff --git a/keyboards/mt/mt64rgb/keymaps/via/keymap.c b/keyboards/mt/mt64rgb/keymaps/via/keymap.c index 7a9a2c1441d3..37c3c18259da 100644 --- a/keyboards/mt/mt64rgb/keymaps/via/keymap.c +++ b/keyboards/mt/mt64rgb/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] =LAYOUT_64_ansi( 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, KC_DEL, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, RGB_MOD, RGB_HUI, RGB_VAD, RGB_HUD), diff --git a/keyboards/mt/mt84/keymaps/via/keymap.c b/keyboards/mt/mt84/keymaps/via/keymap.c index 3a92e9b94e3a..ca62790cdedd 100644 --- a/keyboards/mt/mt84/keymaps/via/keymap.c +++ b/keyboards/mt/mt84/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_75_ansi( 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, 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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, 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), diff --git a/keyboards/mt/mt980/keymaps/default/keymap.c b/keyboards/mt/mt980/keymaps/default/keymap.c index 504233a98319..97a3de64fd01 100644 --- a/keyboards/mt/mt980/keymaps/default/keymap.c +++ b/keyboards/mt/mt980/keymaps/default/keymap.c @@ -12,10 +12,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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_PAUSE, KC_SLCK, KC_HOME, KC_END, - 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, RGB_TOG, RESET, 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, KC_TRNS, RGB_TOG, QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS) + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS) }; diff --git a/keyboards/mwstudio/mw65_black/keymaps/default/keymap.c b/keyboards/mwstudio/mw65_black/keymaps/default/keymap.c index 620a39091e70..c08fe8778506 100644 --- a/keyboards/mwstudio/mw65_black/keymaps/default/keymap.c +++ b/keyboards/mwstudio/mw65_black/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, _______, _______, - RGB_TOG, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/mwstudio/mw65_black/keymaps/via/keymap.c b/keyboards/mwstudio/mw65_black/keymaps/via/keymap.c index 620a39091e70..c08fe8778506 100644 --- a/keyboards/mwstudio/mw65_black/keymaps/via/keymap.c +++ b/keyboards/mwstudio/mw65_black/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, _______, _______, - RGB_TOG, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/mwstudio/mw75r2/keymaps/default/keymap.c b/keyboards/mwstudio/mw75r2/keymaps/default/keymap.c index 73fd38011263..1c46bdc57286 100644 --- a/keyboards/mwstudio/mw75r2/keymaps/default/keymap.c +++ b/keyboards/mwstudio/mw75r2/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, - RGB_TOG, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, + RGB_TOG, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, _______, _______, _______, _______, RGB_MOD, _______, RGB_SPD, RGB_VAD, RGB_SPI diff --git a/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c b/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c index 0648ac7bf6e7..082aa03876b3 100644 --- a/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c +++ b/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, USER00, USER01, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, - RGB_TOG, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, + RGB_TOG, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, _______, _______, _______, _______, RGB_MOD, _______, RGB_SPD, RGB_VAD, RGB_SPI diff --git a/keyboards/mxss/keymaps/default/keymap.c b/keyboards/mxss/keymaps/default/keymap.c index e74eb0d22602..519547f15ab5 100644 --- a/keyboards/mxss/keymaps/default/keymap.c +++ b/keyboards/mxss/keymaps/default/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( /* L1 */ 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, KC_DEL, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PSCR, FLED_VAD, FLED_VAI, FLED_MOD, RGB_VAI, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_MOD, RGB_SAI, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI ), diff --git a/keyboards/mxss/keymaps/via/keymap.c b/keyboards/mxss/keymaps/via/keymap.c index 34e40592a67a..823be9fabb86 100644 --- a/keyboards/mxss/keymaps/via/keymap.c +++ b/keyboards/mxss/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_all( /* L1 */ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PSCR, FLED_VAD, FLED_VAI, FLED_MOD, RGB_VAI, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_MOD, RGB_SAI, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI ) diff --git a/keyboards/mysticworks/wyvern/keymaps/default/keymap.c b/keyboards/mysticworks/wyvern/keymaps/default/keymap.c index 9c927e7f2a38..5de61e04240e 100644 --- a/keyboards/mysticworks/wyvern/keymaps/default/keymap.c +++ b/keyboards/mysticworks/wyvern/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - _______, _______, _______, _______, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/mysticworks/wyvern/keymaps/via/keymap.c b/keyboards/mysticworks/wyvern/keymaps/via/keymap.c index d92fb562e298..5cf059dda384 100644 --- a/keyboards/mysticworks/wyvern/keymaps/via/keymap.c +++ b/keyboards/mysticworks/wyvern/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - _______, _______, _______, _______, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/neito/keymaps/default/keymap.c b/keyboards/neito/keymaps/default/keymap.c index 47e84d58387a..a9cc10f14772 100644 --- a/keyboards/neito/keymaps/default/keymap.c +++ b/keyboards/neito/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT( KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, - KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/neito/keymaps/via/keymap.c b/keyboards/neito/keymaps/via/keymap.c index 47e84d58387a..a9cc10f14772 100644 --- a/keyboards/neito/keymaps/via/keymap.c +++ b/keyboards/neito/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT( KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, - KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/nemui/keymaps/default/keymap.c b/keyboards/nemui/keymaps/default/keymap.c index 831ce5bb3351..895c36efcfb7 100644 --- a/keyboards/nemui/keymaps/default/keymap.c +++ b/keyboards/nemui/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( KC_GRAVE,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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, RESET, KC_END, + 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, QK_BOOT, KC_END, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/nemui/keymaps/via/keymap.c b/keyboards/nemui/keymaps/via/keymap.c index 1e524d18efdc..e642829e7db8 100644 --- a/keyboards/nemui/keymaps/via/keymap.c +++ b/keyboards/nemui/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( KC_GRAVE,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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, RESET, KC_END, + 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, QK_BOOT, KC_END, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/neokeys/g67/element_hs/keymaps/default/keymap.c b/keyboards/neokeys/g67/element_hs/keymaps/default/keymap.c index e617a80b5236..d11f634cf872 100644 --- a/keyboards/neokeys/g67/element_hs/keymaps/default/keymap.c +++ b/keyboards/neokeys/g67/element_hs/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, KC_PGUP, - _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, KC_PGDN, + _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/neokeys/g67/element_hs/keymaps/via/keymap.c b/keyboards/neokeys/g67/element_hs/keymaps/via/keymap.c index 5fb2edac5e0c..907800f6826a 100644 --- a/keyboards/neokeys/g67/element_hs/keymaps/via/keymap.c +++ b/keyboards/neokeys/g67/element_hs/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, KC_PGUP, - _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, KC_PGDN, + _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_65_ansi_blocker( diff --git a/keyboards/neokeys/g67/hotswap/keymaps/default/keymap.c b/keyboards/neokeys/g67/hotswap/keymaps/default/keymap.c index 9eac0afaf5ce..e72206d78c34 100644 --- a/keyboards/neokeys/g67/hotswap/keymaps/default/keymap.c +++ b/keyboards/neokeys/g67/hotswap/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, KC_PGUP, - _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, KC_PGDN, + _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/neokeys/g67/hotswap/keymaps/via/keymap.c b/keyboards/neokeys/g67/hotswap/keymaps/via/keymap.c index e7c96d274ba6..dab2c9cc62bb 100644 --- a/keyboards/neokeys/g67/hotswap/keymaps/via/keymap.c +++ b/keyboards/neokeys/g67/hotswap/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, KC_PGUP, - _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, KC_PGDN, + _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_65_ansi_blocker( diff --git a/keyboards/neokeys/g67/soldered/keymaps/default/keymap.c b/keyboards/neokeys/g67/soldered/keymaps/default/keymap.c index 867fb5ca9cd9..0bdab86fc6fb 100644 --- a/keyboards/neokeys/g67/soldered/keymaps/default/keymap.c +++ b/keyboards/neokeys/g67/soldered/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, - _______, _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, + _______, _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/neokeys/g67/soldered/keymaps/via/keymap.c b/keyboards/neokeys/g67/soldered/keymaps/via/keymap.c index 247c7fadfe97..a9d17ce8417c 100644 --- a/keyboards/neokeys/g67/soldered/keymaps/via/keymap.c +++ b/keyboards/neokeys/g67/soldered/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, - _______, _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, + _______, _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( diff --git a/keyboards/neson_design/n6/keymaps/default/keymap.c b/keyboards/neson_design/n6/keymaps/default/keymap.c index 14efed4c90f2..56d867f21830 100644 --- a/keyboards/neson_design/n6/keymaps/default/keymap.c +++ b/keyboards/neson_design/n6/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi_blocker_split_bs( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______, - RESET, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,_______, + QK_BOOT, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,_______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END, _______,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, _______,_______,_______), diff --git a/keyboards/neson_design/n6/keymaps/via/keymap.c b/keyboards/neson_design/n6/keymaps/via/keymap.c index 2d8d24b980b0..dc9b3714cebf 100644 --- a/keyboards/neson_design/n6/keymaps/via/keymap.c +++ b/keyboards/neson_design/n6/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi_blocker_split_bs( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______, - RESET, RGB_TOG,RGB_MOD,RGB_RMOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_MUTE,KC_VOLU,KC_VOLD,_______, _______, + QK_BOOT, RGB_TOG,RGB_MOD,RGB_RMOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_MUTE,KC_VOLU,KC_VOLD,_______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, _______,_______,_______, _______, _______,_______, _______,_______,_______), diff --git a/keyboards/nibiria/stream15/keymaps/via/keymap.c b/keyboards/nibiria/stream15/keymaps/via/keymap.c index c4eeae8def2a..c8dfbf8ba33c 100644 --- a/keyboards/nibiria/stream15/keymaps/via/keymap.c +++ b/keyboards/nibiria/stream15/keymaps/via/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ortho_3x5( KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, - KC_F23, KC_F24, KC_NO, KC_NO, RESET + KC_F23, KC_F24, KC_NO, KC_NO, QK_BOOT ), [1] = LAYOUT_ortho_3x5( diff --git a/keyboards/nightingale_studios/hailey/keymaps/default/keymap.c b/keyboards/nightingale_studios/hailey/keymaps/default/keymap.c index 695937a959de..5d3177af3927 100644 --- a/keyboards/nightingale_studios/hailey/keymaps/default/keymap.c +++ b/keyboards/nightingale_studios/hailey/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/nightingale_studios/hailey/keymaps/via/keymap.c b/keyboards/nightingale_studios/hailey/keymaps/via/keymap.c index 71283252d072..a208f5df2a99 100644 --- a/keyboards/nightingale_studios/hailey/keymaps/via/keymap.c +++ b/keyboards/nightingale_studios/hailey/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/nightly_boards/alter/rev1/keymaps/default/keymap.c b/keyboards/nightly_boards/alter/rev1/keymaps/default/keymap.c index aff0c916abbb..70b9c19126d2 100644 --- a/keyboards/nightly_boards/alter/rev1/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/alter/rev1/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RGUI, KC_RCTL ), [1] = LAYOUT_alice_split_bs( - RESET, _______, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, _______, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_BRIU, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______ , _______, KC_DEL, KC_BRID, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_HOME, KC_END, _______, _______, diff --git a/keyboards/nightly_boards/n60_s/keymaps/default/keymap.c b/keyboards/nightly_boards/n60_s/keymaps/default/keymap.c index e1932af9482a..7549f061c6dc 100644 --- a/keyboards/nightly_boards/n60_s/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/n60_s/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL ), [1] = LAYOUT_60_ansi_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, diff --git a/keyboards/nightly_boards/n60_s/keymaps/tsangan/keymap.c b/keyboards/nightly_boards/n60_s/keymaps/tsangan/keymap.c index 203e4997a95d..0fd3ac6a7a37 100644 --- a/keyboards/nightly_boards/n60_s/keymaps/tsangan/keymap.c +++ b/keyboards/nightly_boards/n60_s/keymaps/tsangan/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), [1] = LAYOUT_60_ansi_split_bs_rshift_tsangan( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, diff --git a/keyboards/nightly_boards/n60_s/keymaps/via/keymap.c b/keyboards/nightly_boards/n60_s/keymaps/via/keymap.c index 933343bb6566..d76c7347826e 100644 --- a/keyboards/nightly_boards/n60_s/keymaps/via/keymap.c +++ b/keyboards/nightly_boards/n60_s/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_LALT, KC_APP, KC_RGUI, KC_LCTL ), [1] = LAYOUT_60_ansi_split_bs_rshift_encoder( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, KC_F12, KC_DEL, KC_DEL, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/nightly_boards/n87/keymaps/default/keymap.c b/keyboards/nightly_boards/n87/keymaps/default/keymap.c index 70484db21012..b779871c767f 100644 --- a/keyboards/nightly_boards/n87/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/n87/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi_split_bs_rshift( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_UP, CLICKY_RESET, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_UP, CLICKY_RESET, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_TOGGLE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/nightly_boards/n87/keymaps/tsangan/keymap.c b/keyboards/nightly_boards/n87/keymaps/tsangan/keymap.c index 05e63a615856..ddb67c4bc0e6 100644 --- a/keyboards/nightly_boards/n87/keymaps/tsangan/keymap.c +++ b/keyboards/nightly_boards/n87/keymaps/tsangan/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi_split_bs_rshift_tsangan( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_UP, CLICKY_RESET, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_UP, CLICKY_RESET, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_TOGGLE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/nightly_boards/n87/keymaps/via/keymap.c b/keyboards/nightly_boards/n87/keymaps/via/keymap.c index 142d3c159264..ab944adf57ce 100644 --- a/keyboards/nightly_boards/n87/keymaps/via/keymap.c +++ b/keyboards/nightly_boards/n87/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi_split_bs_rshift( - 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, CLICKY_UP, CLICKY_RESET, RESET, + 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, CLICKY_UP, CLICKY_RESET, QK_BOOT, 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, CLICKY_DOWN, 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, CLICKY_TOGGLE, 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, diff --git a/keyboards/nightly_boards/octopad/keymaps/default/keymap.c b/keyboards/nightly_boards/octopad/keymaps/default/keymap.c index 5dfea2721e45..7025c8937566 100644 --- a/keyboards/nightly_boards/octopad/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/octopad/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MACRO5, MACRO6, MACRO7, MACRO8 */ [0] = LAYOUT( - KC_VOLD, KC_ESC, KC_VOLU, KC_BRID, RESET, KC_BRIU, + KC_VOLD, KC_ESC, KC_VOLU, KC_BRID, QK_BOOT, KC_BRIU, KC_Q, KC_W, KC_E, KC_R, KC_A, KC_S, KC_D, KC_F diff --git a/keyboards/nightly_boards/octopad/keymaps/via/keymap.c b/keyboards/nightly_boards/octopad/keymaps/via/keymap.c index c6ac3ca0bf8a..44c2d63cc75d 100644 --- a/keyboards/nightly_boards/octopad/keymaps/via/keymap.c +++ b/keyboards/nightly_boards/octopad/keymaps/via/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MACRO5, MACRO6, MACRO7, MACRO8 */ [0] = LAYOUT( - KC_VOLD, KC_ESC, KC_VOLU, KC_BRID, RESET, KC_BRIU, + KC_VOLD, KC_ESC, KC_VOLU, KC_BRID, QK_BOOT, KC_BRIU, KC_Q, KC_W, KC_E, KC_R, KC_A, KC_S, KC_D, KC_F diff --git a/keyboards/nightly_boards/ph_arisu/keymaps/default/keymap.c b/keyboards/nightly_boards/ph_arisu/keymaps/default/keymap.c index 7fc5fd8e70e0..eee64b28a020 100644 --- a/keyboards/nightly_boards/ph_arisu/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/ph_arisu/keymaps/default/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(1), KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/nightly_boards/ph_arisu/keymaps/via/keymap.c b/keyboards/nightly_boards/ph_arisu/keymaps/via/keymap.c index c70603ef40dc..5866d6aa1db2 100644 --- a/keyboards/nightly_boards/ph_arisu/keymaps/via/keymap.c +++ b/keyboards/nightly_boards/ph_arisu/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/nix_studio/oxalys80/keymaps/default/keymap.c b/keyboards/nix_studio/oxalys80/keymaps/default/keymap.c index f2e62ec6cd6c..b1af091365b2 100644 --- a/keyboards/nix_studio/oxalys80/keymaps/default/keymap.c +++ b/keyboards/nix_studio/oxalys80/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/nix_studio/oxalys80/keymaps/via/keymap.c b/keyboards/nix_studio/oxalys80/keymaps/via/keymap.c index 9ad66c92393d..39adfc359d2e 100644 --- a/keyboards/nix_studio/oxalys80/keymaps/via/keymap.c +++ b/keyboards/nix_studio/oxalys80/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC, 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, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/nopunin10did/jabberwocky/keymaps/default/keymap.c b/keyboards/nopunin10did/jabberwocky/keymaps/default/keymap.c index 1f26ae3e94db..0fa6955d2745 100644 --- a/keyboards/nopunin10did/jabberwocky/keymaps/default/keymap.c +++ b/keyboards/nopunin10did/jabberwocky/keymaps/default/keymap.c @@ -29,9 +29,9 @@ KC_LSFT,KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,MO(1), MO(1), KC_N , [1] = LAYOUT_rh_any( -RESET ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, +QK_BOOT ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, - XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,RESET ,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, + XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,QK_BOOT ,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, _______,_______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_PAUS,_______,_______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______,_______,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, _______,_______, _______,XXXXXXX,XXXXXXX, XXXXXXX, _______, _______,_______,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX) diff --git a/keyboards/nopunin10did/jabberwocky/keymaps/via/keymap.c b/keyboards/nopunin10did/jabberwocky/keymaps/via/keymap.c index cce5505909f7..bf727c9b1f66 100644 --- a/keyboards/nopunin10did/jabberwocky/keymaps/via/keymap.c +++ b/keyboards/nopunin10did/jabberwocky/keymaps/via/keymap.c @@ -29,9 +29,9 @@ KC_LSFT,KC_NUBS,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,MO(1), MO(1), KC_N , [1] = LAYOUT_rh_any( -RESET ,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +QK_BOOT ,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______, - _______,_______,_______,_______,RESET ,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______, + _______,_______,_______,_______,QK_BOOT ,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______, _______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______, _______,_______,_______,_______), diff --git a/keyboards/nopunin10did/kastenwagen1840/keymaps/default/keymap.c b/keyboards/nopunin10did/kastenwagen1840/keymaps/default/keymap.c index 59a009211cda..f9d34ad070b7 100644 --- a/keyboards/nopunin10did/kastenwagen1840/keymaps/default/keymap.c +++ b/keyboards/nopunin10did/kastenwagen1840/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL ,KC_LALT ,MO(2) ,L2_SPC ,L3_SPC ,MO(3) ,RWINALT ,MO(1) ,KC_LEFT,KC_DOWN,KC_RGHT,KC_P0 ,KC_PDOT,L3_PENT ), [1] = LAYOUT_all( - RESET ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_RBRC,KC_DEL , KC_HOME,XXXXXXX,KC_PGUP,XXXXXXX, + QK_BOOT ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_RBRC,KC_DEL , KC_HOME,XXXXXXX,KC_PGUP,XXXXXXX, KC_CAPS ,KC_F11 ,KC_F12 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX , XXXXXXX,XXXXXXX,XXXXXXX,KC_PAST, _______ ,XXXXXXX,XXXXXXX,KC_PSCR,KC_SLCK,KC_PAUS,KC_INS ,KC_APP ,KC_LGUI,KC_RGUI,XXXXXXX,_______ ,KC_PGUP,KC_END ,XXXXXXX,KC_PGDN,KC_PSLS, KC_RCTL ,_______ ,_______,XXXXXXX ,XXXXXXX ,_______,_______ ,_______ ,KC_HOME,KC_PGDN,KC_END ,KC_INS ,KC_DEL ,KC_EQL diff --git a/keyboards/nopunin10did/kastenwagen1840/keymaps/via/keymap.c b/keyboards/nopunin10did/kastenwagen1840/keymaps/via/keymap.c index 59a009211cda..f9d34ad070b7 100644 --- a/keyboards/nopunin10did/kastenwagen1840/keymaps/via/keymap.c +++ b/keyboards/nopunin10did/kastenwagen1840/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL ,KC_LALT ,MO(2) ,L2_SPC ,L3_SPC ,MO(3) ,RWINALT ,MO(1) ,KC_LEFT,KC_DOWN,KC_RGHT,KC_P0 ,KC_PDOT,L3_PENT ), [1] = LAYOUT_all( - RESET ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_RBRC,KC_DEL , KC_HOME,XXXXXXX,KC_PGUP,XXXXXXX, + QK_BOOT ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_RBRC,KC_DEL , KC_HOME,XXXXXXX,KC_PGUP,XXXXXXX, KC_CAPS ,KC_F11 ,KC_F12 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX , XXXXXXX,XXXXXXX,XXXXXXX,KC_PAST, _______ ,XXXXXXX,XXXXXXX,KC_PSCR,KC_SLCK,KC_PAUS,KC_INS ,KC_APP ,KC_LGUI,KC_RGUI,XXXXXXX,_______ ,KC_PGUP,KC_END ,XXXXXXX,KC_PGDN,KC_PSLS, KC_RCTL ,_______ ,_______,XXXXXXX ,XXXXXXX ,_______,_______ ,_______ ,KC_HOME,KC_PGDN,KC_END ,KC_INS ,KC_DEL ,KC_EQL diff --git a/keyboards/nopunin10did/kastenwagen48/keymaps/default/keymap.c b/keyboards/nopunin10did/kastenwagen48/keymaps/default/keymap.c index 397b75b9015f..3ec11064f924 100644 --- a/keyboards/nopunin10did/kastenwagen48/keymaps/default/keymap.c +++ b/keyboards/nopunin10did/kastenwagen48/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL ,KC_LALT ,MO(2) ,L2_SPC ,L3_SPC ,MO(3) ,RWINALT ,MO(1) ,KC_LEFT,KC_DOWN,KC_RGHT ), [1] = LAYOUT_all( - RESET ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_RBRC,KC_DEL , KC_INS , + QK_BOOT ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_RBRC,KC_DEL , KC_INS , KC_CAPS ,KC_F11 ,KC_F12 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX , KC_HOME, _______ ,XXXXXXX,XXXXXXX,KC_PSCR,KC_SLCK,KC_PAUS,KC_INS ,KC_APP ,KC_LGUI,KC_RGUI,XXXXXXX,_______ ,KC_PGUP,KC_END , KC_RCTL ,_______ ,_______,XXXXXXX ,XXXXXXX ,_______,_______ ,_______ ,KC_HOME,KC_PGDN,KC_END diff --git a/keyboards/nopunin10did/kastenwagen48/keymaps/via/keymap.c b/keyboards/nopunin10did/kastenwagen48/keymaps/via/keymap.c index 397b75b9015f..3ec11064f924 100644 --- a/keyboards/nopunin10did/kastenwagen48/keymaps/via/keymap.c +++ b/keyboards/nopunin10did/kastenwagen48/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL ,KC_LALT ,MO(2) ,L2_SPC ,L3_SPC ,MO(3) ,RWINALT ,MO(1) ,KC_LEFT,KC_DOWN,KC_RGHT ), [1] = LAYOUT_all( - RESET ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_RBRC,KC_DEL , KC_INS , + QK_BOOT ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_RBRC,KC_DEL , KC_INS , KC_CAPS ,KC_F11 ,KC_F12 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX , KC_HOME, _______ ,XXXXXXX,XXXXXXX,KC_PSCR,KC_SLCK,KC_PAUS,KC_INS ,KC_APP ,KC_LGUI,KC_RGUI,XXXXXXX,_______ ,KC_PGUP,KC_END , KC_RCTL ,_______ ,_______,XXXXXXX ,XXXXXXX ,_______,_______ ,_______ ,KC_HOME,KC_PGDN,KC_END diff --git a/keyboards/novelkeys/nk65/keymaps/default/keymap.c b/keyboards/novelkeys/nk65/keymaps/default/keymap.c index f0fcda467417..597da5c18def 100755 --- a/keyboards/novelkeys/nk65/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk65/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi( /* FN */ 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, KC_DEL, 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, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/novelkeys/nk65/keymaps/via/keymap.c b/keyboards/novelkeys/nk65/keymaps/via/keymap.c index f0fcda467417..597da5c18def 100755 --- a/keyboards/novelkeys/nk65/keymaps/via/keymap.c +++ b/keyboards/novelkeys/nk65/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi( /* FN */ 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, KC_DEL, 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, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/novelkeys/nk87/keymaps/default/keymap.c b/keyboards/novelkeys/nk87/keymaps/default/keymap.c index f5387d48def2..f7f63e9ea7d1 100755 --- a/keyboards/novelkeys/nk87/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk87/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( /* FN */ 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_VOLU, KC_VOLD, KC_MUTE, 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, 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, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/novelkeys/nk87/keymaps/via/keymap.c b/keyboards/novelkeys/nk87/keymaps/via/keymap.c index f8ada46952dc..3c7e4a90f7a4 100755 --- a/keyboards/novelkeys/nk87/keymaps/via/keymap.c +++ b/keyboards/novelkeys/nk87/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( /* FN */ 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_VOLU, KC_VOLD, KC_MUTE, 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, 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, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/novelkeys/novelpad/keymaps/default/keymap.c b/keyboards/novelkeys/novelpad/keymaps/default/keymap.c index cbac67eaaac2..6aa3312040c2 100755 --- a/keyboards/novelkeys/novelpad/keymaps/default/keymap.c +++ b/keyboards/novelkeys/novelpad/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( - _______, BL_STEP, RGB_M_SW, RESET, + _______, BL_STEP, RGB_M_SW, QK_BOOT, RGB_TOG, RGB_MOD, RGB_M_P, RGB_M_SN, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_K, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_X, diff --git a/keyboards/noxary/260/keymaps/default/keymap.c b/keyboards/noxary/260/keymaps/default/keymap.c index 3e8c57bd4ed1..8c836bddab73 100644 --- a/keyboards/noxary/260/keymaps/default/keymap.c +++ b/keyboards/noxary/260/keymaps/default/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT_all( 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, _______, KC_PSCR, - _______, KC_VOLU, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_VOLU, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______), diff --git a/keyboards/noxary/260/keymaps/via/keymap.c b/keyboards/noxary/260/keymaps/via/keymap.c index 4177abd154fc..4cac4e4e8382 100644 --- a/keyboards/noxary/260/keymaps/via/keymap.c +++ b/keyboards/noxary/260/keymaps/via/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_60_ansi( 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, KC_PSCR, - _______, KC_VOLU, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_VOLU, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, _______, _______, _______, BL_TOGG, _______, _______, _______, _______), diff --git a/keyboards/noxary/268/keymaps/ansi/keymap.c b/keyboards/noxary/268/keymaps/ansi/keymap.c index b9b0db24786f..8e36c7ec95c9 100644 --- a/keyboards/noxary/268/keymaps/ansi/keymap.c +++ b/keyboards/noxary/268/keymaps/ansi/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT_ansi( 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, KC_PSCR, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_VOLU, KC_END, _______, _______, _______, BL_TOGG, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/noxary/268/keymaps/default/keymap.c b/keyboards/noxary/268/keymaps/default/keymap.c index f4e8e5db4a2b..70d40701ed24 100644 --- a/keyboards/noxary/268/keymaps/default/keymap.c +++ b/keyboards/noxary/268/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT_all( 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, _______, KC_PSCR, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_MUTE, KC_VOLU, KC_END, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, KC_VOLD, _______), diff --git a/keyboards/noxary/268/keymaps/iso/keymap.c b/keyboards/noxary/268/keymaps/iso/keymap.c index d190845360b8..3a75c891f925 100644 --- a/keyboards/noxary/268/keymaps/iso/keymap.c +++ b/keyboards/noxary/268/keymaps/iso/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT_iso( 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, KC_PSCR, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_VOLU, KC_END, _______, _______, _______, BL_TOGG, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/noxary/268/keymaps/via/keymap.c b/keyboards/noxary/268/keymaps/via/keymap.c index 431ea5bac4ca..99707300232d 100644 --- a/keyboards/noxary/268/keymaps/via/keymap.c +++ b/keyboards/noxary/268/keymaps/via/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT_all( 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, _______, KC_PSCR, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_MUTE, KC_VOLU, KC_END, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/noxary/268_2/keymaps/default/keymap.c b/keyboards/noxary/268_2/keymaps/default/keymap.c index 90e392deb857..ae373322488f 100644 --- a/keyboards/noxary/268_2/keymaps/default/keymap.c +++ b/keyboards/noxary/268_2/keymaps/default/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT_65_ansi_blocker( 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, KC_PSCR, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, KC_MUTE, KC_VOLU, KC_END, _______, _______, _______, BL_TOGG, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/noxary/268_2/keymaps/via/keymap.c b/keyboards/noxary/268_2/keymaps/via/keymap.c index c4f044e4fe0b..10c24ecc4200 100644 --- a/keyboards/noxary/268_2/keymaps/via/keymap.c +++ b/keyboards/noxary/268_2/keymaps/via/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT_65_ansi_blocker( 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, KC_PSCR, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, KC_MUTE, KC_VOLU, KC_END, _______, _______, _______, BL_TOGG, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/noxary/268_2_rgb/keymaps/default/keymap.c b/keyboards/noxary/268_2_rgb/keymaps/default/keymap.c index 4557ae07acb1..a3194f285db5 100644 --- a/keyboards/noxary/268_2_rgb/keymaps/default/keymap.c +++ b/keyboards/noxary/268_2_rgb/keymaps/default/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT_65_ansi_blocker( 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, KC_PSCR, _______, - RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, RGB_VAD, RGB_SAD, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, KC_MUTE, KC_VOLU, KC_END, _______, _______, _______, BL_TOGG, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/noxary/268_2_rgb/keymaps/via/keymap.c b/keyboards/noxary/268_2_rgb/keymaps/via/keymap.c index 4ca46d2a610a..445f1a4ce27c 100644 --- a/keyboards/noxary/268_2_rgb/keymaps/via/keymap.c +++ b/keyboards/noxary/268_2_rgb/keymaps/via/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT_65_ansi_blocker( 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, KC_PSCR, _______, - RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, RGB_VAD, RGB_SAD, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, KC_MUTE, KC_VOLU, KC_END, _______, _______, _______, BL_TOGG, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/noxary/280/keymaps/default/keymap.c b/keyboards/noxary/280/keymaps/default/keymap.c index 38fff0da2fd0..7ffb6e85ea90 100644 --- a/keyboards/noxary/280/keymaps/default/keymap.c +++ b/keyboards/noxary/280/keymaps/default/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FL1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, _______, KC_VOLU, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/noxary/280/keymaps/via/keymap.c b/keyboards/noxary/280/keymaps/via/keymap.c index 38fff0da2fd0..7ffb6e85ea90 100644 --- a/keyboards/noxary/280/keymaps/via/keymap.c +++ b/keyboards/noxary/280/keymaps/via/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FL1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, _______, KC_VOLU, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/noxary/valhalla/keymaps/default/keymap.c b/keyboards/noxary/valhalla/keymaps/default/keymap.c index fb9aab0968b4..cb251d585dba 100755 --- a/keyboards/noxary/valhalla/keymaps/default/keymap.c +++ b/keyboards/noxary/valhalla/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , 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, 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, 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, diff --git a/keyboards/noxary/valhalla/keymaps/via/keymap.c b/keyboards/noxary/valhalla/keymaps/via/keymap.c index fb9aab0968b4..cb251d585dba 100755 --- a/keyboards/noxary/valhalla/keymaps/via/keymap.c +++ b/keyboards/noxary/valhalla/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , 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, 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, 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, diff --git a/keyboards/noxary/vulcan/keymaps/default/keymap.c b/keyboards/noxary/vulcan/keymaps/default/keymap.c index d80a451ff496..8b80a94d65d0 100644 --- a/keyboards/noxary/vulcan/keymaps/default/keymap.c +++ b/keyboards/noxary/vulcan/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), [_FN] = LAYOUT( /* Fn */ - RESET, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/noxary/x268/keymaps/default/keymap.c b/keyboards/noxary/x268/keymaps/default/keymap.c index 7f26a6c10ecd..81b6a2b791dd 100644 --- a/keyboards/noxary/x268/keymaps/default/keymap.c +++ b/keyboards/noxary/x268/keymaps/default/keymap.c @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT( 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, _______, KC_PSCR, _______, - RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, RGB_VAD, RGB_SAD, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_VOLU, KC_END, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/noxary/x268/keymaps/via/keymap.c b/keyboards/noxary/x268/keymaps/via/keymap.c index 7f26a6c10ecd..81b6a2b791dd 100644 --- a/keyboards/noxary/x268/keymaps/via/keymap.c +++ b/keyboards/noxary/x268/keymaps/via/keymap.c @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT( 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, _______, KC_PSCR, _______, - RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, RGB_VAD, RGB_SAD, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_VOLU, KC_END, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, KC_VOLD, _______ diff --git a/keyboards/nullbitsco/nibble/keymaps/default/keymap.c b/keyboards/nullbitsco/nibble/keymaps/default/keymap.c index f9fc56e70264..9337c82863db 100644 --- a/keyboards/nullbitsco/nibble/keymaps/default/keymap.c +++ b/keyboards/nullbitsco/nibble/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F16, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/nullbitsco/nibble/keymaps/iso/keymap.c b/keyboards/nullbitsco/nibble/keymaps/iso/keymap.c index 0f0ed590a4eb..866585b9097a 100644 --- a/keyboards/nullbitsco/nibble/keymaps/iso/keymap.c +++ b/keyboards/nullbitsco/nibble/keymaps/iso/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F16, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_iso( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_INS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_INS, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/nullbitsco/nibble/keymaps/via/keymap.c b/keyboards/nullbitsco/nibble/keymaps/via/keymap.c index b1c9242b9ad4..86fe152cd43f 100644 --- a/keyboards/nullbitsco/nibble/keymaps/via/keymap.c +++ b/keyboards/nullbitsco/nibble/keymaps/via/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_VIA1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/numatreus/keymaps/default/keymap.c b/keyboards/numatreus/keymaps/default/keymap.c index 99053002fb94..a916ecdc1109 100644 --- a/keyboards/numatreus/keymaps/default/keymap.c +++ b/keyboards/numatreus/keymaps/default/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT( /* [> LOWER <] */ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN , KC_DELT, KC_ESC, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_PGUP, KC_PSCR, KC_NO, KC_NO, - KC_CAPS, KC_VOLU, KC_NO, KC_ENT, RESET, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO , + KC_CAPS, KC_VOLU, KC_NO, KC_ENT, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO , KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_SPC, KC_BSPC, KC_LALT, KC_ENT, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT ) }; diff --git a/keyboards/obosob/arch_36/keymaps/default/keymap.c b/keyboards/obosob/arch_36/keymaps/default/keymap.c index 797ca8798fe0..33cb5d09febc 100644 --- a/keyboards/obosob/arch_36/keymaps/default/keymap.c +++ b/keyboards/obosob/arch_36/keymaps/default/keymap.c @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_3x5_3( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, TSKMGR, CALTDEL, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/obosob/steal_this_keyboard/keymaps/default/keymap.c b/keyboards/obosob/steal_this_keyboard/keymaps/default/keymap.c index 32834c16b104..2d20fafe3055 100644 --- a/keyboards/obosob/steal_this_keyboard/keymaps/default/keymap.c +++ b/keyboards/obosob/steal_this_keyboard/keymaps/default/keymap.c @@ -85,7 +85,7 @@ KC_PAST, KC_4, KC_5, KC_6, KC_PEQL, _______, _______, _______, _______, [7] = LAYOUT_split_3x5_2( _______, _______, KC_COLN, KC_ESC, _______, _______, _______, _______, _______, KC_DEL, _______, KC_PERC, KC_SLSH, KC_ENT, _______, DF(1), KC_LGUI, _______, _______, _______, -_______, _______, _______, KC_EXLM, _______, DF(0), _______, MT_COMM, MT_DOT, RESET, +_______, _______, _______, KC_EXLM, _______, DF(0), _______, MT_COMM, MT_DOT, QK_BOOT, _______, KC_TAB, XXXXXXX, _______ ) }; diff --git a/keyboards/ogre/ergo_single/keymaps/default/keymap.c b/keyboards/ogre/ergo_single/keymaps/default/keymap.c index 94e725791e3d..404ab79a8bd5 100644 --- a/keyboards/ogre/ergo_single/keymaps/default/keymap.c +++ b/keyboards/ogre/ergo_single/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TP_GR, KC_LALT, KC_LEFT, KC_RGHT, TP_SPC, KC_SPC, KC_BSPC, KC_RALT, KC_ENT, TP_ENT, KC_DOWN, KC_UP, KC_LBRC, TP_RCTRL ), [1] = LAYOUT( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_INS, KC_HOME, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_INS, KC_HOME, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ogre/ergo_split/keymaps/default/keymap.c b/keyboards/ogre/ergo_split/keymaps/default/keymap.c index 94e725791e3d..404ab79a8bd5 100644 --- a/keyboards/ogre/ergo_split/keymaps/default/keymap.c +++ b/keyboards/ogre/ergo_split/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TP_GR, KC_LALT, KC_LEFT, KC_RGHT, TP_SPC, KC_SPC, KC_BSPC, KC_RALT, KC_ENT, TP_ENT, KC_DOWN, KC_UP, KC_LBRC, TP_RCTRL ), [1] = LAYOUT( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_INS, KC_HOME, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_INS, KC_HOME, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ok60/keymaps/default/keymap.c b/keyboards/ok60/keymaps/default/keymap.c index c51510c646e4..427eb10d6b82 100644 --- a/keyboards/ok60/keymaps/default/keymap.c +++ b/keyboards/ok60/keymaps/default/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ok60/keymaps/via/keymap.c b/keyboards/ok60/keymaps/via/keymap.c index d0f5939f4e99..d3840757254c 100644 --- a/keyboards/ok60/keymaps/via/keymap.c +++ b/keyboards/ok60/keymaps/via/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c index 064584e43aa3..1d1838365240 100644 --- a/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c +++ b/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c @@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,----------------------------------------------------------------------------------------------------------------------. */ [_ADJUST] = LAYOUT( - _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, + _______, QK_BOOT , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, _______, _______, BL_TOGG, BL_BRTG, BL_INC , BL_DEC ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______, _______,_______, _______, _______, _______, _______, _______ diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c index 68c5e5270828..c5e0a301473f 100644 --- a/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c +++ b/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, - _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, + _______, QK_BOOT , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, _______, _______, BL_TOGG, BL_BRTG, BL_INC , BL_DEC ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______, _______,_______, _______, _______, _______, _______, _______ diff --git a/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c index 99ab7ff2d7e3..1889e759a060 100644 --- a/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c +++ b/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Adjust * ,-----------------------------------------. ,-----------------------------------------. - * | |RGBRST| RESET| | | | | | | | | | | + * | |RGBRST| QK_BOOT| | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | TOG | HUI | SAI | VAI | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------' `-----------------------------------------' */ [_ADJUST] = LAYOUT( - _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGBRST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c index 795999cf5bac..f0b1a8cab2f3 100644 --- a/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c +++ b/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Adjust * ,------------------------------------------------. ,------------------------------------------------. - * | | |RGBRST| RESET| | | | | | | | | | | | + * | | |RGBRST| QK_BOOT| | | | | | | | | | | | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| * | | | TOG | HUI | SAI | VAI | | | | | | | | | | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------------------------------------------------' `------------------------------------------------' */ [_ADJUST] = LAYOUT( - _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGBRST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c index ae5d2ba650e8..d7796a04ebe0 100644 --- a/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c +++ b/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Adjust * ,-------------------------------------------------------. ,--------------------------------------------------------. - * | | | |RGBRST| RESET| | | | | | | | | | | | | + * | | | |RGBRST| QK_BOOT| | | | | | | | | | | | | * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------| * | | | | TOG | HUI | SAI | VAI | | | | | | | | | | | * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------| @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------' `-------------------------------------------------------' */ [_ADJUST] = LAYOUT( - _______, _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, RGBRST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c index d0c07ddd046a..566e65128f1d 100644 --- a/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c +++ b/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Adjust * ,-----------------------------------------. ,-----------------------------------------. - * | |RGBRST| RESET| | | | | | | | | | | + * | |RGBRST| QK_BOOT| | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | TOG | HUI | SAI | VAI | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------' `-----------------------------------------' */ [_ADJUST] = LAYOUT( - _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGBRST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c index 95e2a67ebe12..a081d4e9dd5b 100644 --- a/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c +++ b/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Adjust * ,------------------------------------------------. ,------------------------------------------------. - * | | |RGBRST| RESET| | | | | | | | | | | | + * | | |RGBRST| QK_BOOT| | | | | | | | | | | | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| * | | | TOG | HUI | SAI | VAI | | | | | | | | | | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------------------------------------------------' `------------------------------------------------' */ [_ADJUST] = LAYOUT( - _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGBRST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c index 5ff0c0d6914d..6e0b01c30f71 100644 --- a/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c +++ b/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Adjust * ,-------------------------------------------------------. ,--------------------------------------------------------. - * | | | |RGBRST| RESET| | | | | | | | | | | | | + * | | | |RGBRST| QK_BOOT| | | | | | | | | | | | | * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------| * | | | | TOG | HUI | SAI | VAI | | | | | | | | | | | * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------| @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------' `-------------------------------------------------------' */ [_ADJUST] = LAYOUT( - _______, _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, RGBRST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c index e183b3cbfc0e..eb886efa46b4 100644 --- a/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c +++ b/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------. ,-----------------------------------------. * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | |RGBRST| RESET| | | | | | | | | | | + * | |RGBRST| QK_BOOT| | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | TOG | HUI | SAI | VAI | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGBRST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c index 9c6c12fe4077..03010e9a4ec3 100644 --- a/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c +++ b/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,------------------------------------------------. ,------------------------------------------------. * | | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | |RGBRST| RESET| | | | | | | | | | | | + * | | |RGBRST| QK_BOOT| | | | | | | | | | | | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| * | | | TOG | HUI | SAI | VAI | | | | | | | | | | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGBRST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c index b9efd44ef7e5..f4c674279221 100644 --- a/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c +++ b/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-------------------------------------------------------. ,--------------------------------------------------------. * | | | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------| - * | | | |RGBRST| RESET| | | | | | | | | | | | | + * | | | |RGBRST| QK_BOOT| | | | | | | | | | | | | * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------| * | | | | TOG | HUI | SAI | VAI | | | | | | | | | | | * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------| @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, RGBRST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/omnikeyish/keymaps/default/keymap.c b/keyboards/omnikeyish/keymaps/default/keymap.c index fd434b535dd7..83dfef6015e9 100644 --- a/keyboards/omnikeyish/keymaps/default/keymap.c +++ b/keyboards/omnikeyish/keymaps/default/keymap.c @@ -9,6 +9,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { DYN_MACRO_KEY1, DYN_MACRO_KEY2, KC_GRV, 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_INS, KC_HOME, KC_PGUP, M_PROG, KC_PSLS, KC_PAST, KC_PMNS, DYN_MACRO_KEY3, DYN_MACRO_KEY4, 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, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, DYN_MACRO_KEY5, DYN_MACRO_KEY6, 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_NUHS, KC_ENT, KC_MPRV, KC_MPLY, KC_MNXT, KC_P4, KC_P5, KC_P6, KC_PEQL, - DYN_MACRO_KEY7, DYN_MACRO_KEY8, 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_BSLS, DEBUG, KC_UP, RESET, KC_P1, KC_P2, KC_P3, KC_PENT, + DYN_MACRO_KEY7, DYN_MACRO_KEY8, 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_BSLS, DEBUG, KC_UP, QK_BOOT, KC_P1, KC_P2, KC_P3, KC_PENT, DYN_MACRO_KEY9, DYN_MACRO_KEY10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT) }; diff --git a/keyboards/orange75/keymaps/default/keymap.c b/keyboards/orange75/keymaps/default/keymap.c index 11027ca6ee76..2d4465e9fd3e 100644 --- a/keyboards/orange75/keymaps/default/keymap.c +++ b/keyboards/orange75/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------------------------------------------------------------' */ LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, diff --git a/keyboards/org60/keymaps/default/keymap.c b/keyboards/org60/keymaps/default/keymap.c index b82ec254b3e9..cf1fd5d56c66 100644 --- a/keyboards/org60/keymaps/default/keymap.c +++ b/keyboards/org60/keymaps/default/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_RSFT, KC_NO ,KC_PGUP, KC_INS, diff --git a/keyboards/ortho5by12/keymaps/default/keymap.c b/keyboards/ortho5by12/keymaps/default/keymap.c index 67fb80a32f25..00be853e9c74 100644 --- a/keyboards/ortho5by12/keymaps/default/keymap.c +++ b/keyboards/ortho5by12/keymaps/default/keymap.c @@ -156,7 +156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/orthocode/keymaps/default/keymap.c b/keyboards/orthocode/keymaps/default/keymap.c index 75bac5ff3fc7..ae06735c5761 100644 --- a/keyboards/orthocode/keymaps/default/keymap.c +++ b/keyboards/orthocode/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* esc 1 2 3 4 5 6 7 8 9 0 - = home */ KC_TRNS, 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, KC_TRNS, /* tab Q W E R T Y U I O P \ delete end */ - RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,KC_TRNS, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, + RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, /* caps A S D F G H J K L ; ' enter */ RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, /* shift Z X C V B N M , . / up */ diff --git a/keyboards/orthocode/keymaps/via/keymap.c b/keyboards/orthocode/keymaps/via/keymap.c index 0030bbb00df2..0e1d843633bb 100644 --- a/keyboards/orthocode/keymaps/via/keymap.c +++ b/keyboards/orthocode/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* esc 1 2 3 4 5 6 7 8 9 0 - = home */ KC_TRNS, 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, KC_TRNS, /* tab Q W E R T Y U I O P \ delete end */ - RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,KC_TRNS, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, + RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, /* caps A S D F G H J K L ; ' enter */ RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, /* shift Z X C V B N M , . / up */ diff --git a/keyboards/orthodox/keymaps/default/keymap.c b/keyboards/orthodox/keymaps/default/keymap.c index 7bda5a6f7ee5..1e06d7106d16 100644 --- a/keyboards/orthodox/keymaps/default/keymap.c +++ b/keyboards/orthodox/keymaps/default/keymap.c @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, QWERTY , COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY ) diff --git a/keyboards/owlab/jelly_epoch/hotswap/keymaps/default/keymap.c b/keyboards/owlab/jelly_epoch/hotswap/keymaps/default/keymap.c index 93d9ec204696..f61039a33a60 100644 --- a/keyboards/owlab/jelly_epoch/hotswap/keymaps/default/keymap.c +++ b/keyboards/owlab/jelly_epoch/hotswap/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, 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, diff --git a/keyboards/owlab/jelly_epoch/hotswap/keymaps/via/keymap.c b/keyboards/owlab/jelly_epoch/hotswap/keymaps/via/keymap.c index a78ca0a4c6a3..023e520dea7e 100644 --- a/keyboards/owlab/jelly_epoch/hotswap/keymaps/via/keymap.c +++ b/keyboards/owlab/jelly_epoch/hotswap/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, 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, diff --git a/keyboards/owlab/jelly_epoch/soldered/keymaps/default/keymap.c b/keyboards/owlab/jelly_epoch/soldered/keymaps/default/keymap.c index fa024790d9ec..c82f8bc67adb 100644 --- a/keyboards/owlab/jelly_epoch/soldered/keymaps/default/keymap.c +++ b/keyboards/owlab/jelly_epoch/soldered/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_75_ansi( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, 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, diff --git a/keyboards/owlab/jelly_epoch/soldered/keymaps/via/keymap.c b/keyboards/owlab/jelly_epoch/soldered/keymaps/via/keymap.c index 29bd0a08e31c..4dab4725a594 100644 --- a/keyboards/owlab/jelly_epoch/soldered/keymaps/via/keymap.c +++ b/keyboards/owlab/jelly_epoch/soldered/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, 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, KC_TRNS, diff --git a/keyboards/owlab/spring/keymaps/default/keymap.c b/keyboards/owlab/spring/keymaps/default/keymap.c index e48ae32418e4..c41c3e33c4c8 100644 --- a/keyboards/owlab/spring/keymaps/default/keymap.c +++ b/keyboards/owlab/spring/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_spring( - KC_TRNS, KC_TRNS, 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_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, 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_INS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_TRNS, KC_TRNS, diff --git a/keyboards/owlab/spring/keymaps/via/keymap.c b/keyboards/owlab/spring/keymaps/via/keymap.c index 06779ed4edd6..326b897b8ef9 100644 --- a/keyboards/owlab/spring/keymaps/via/keymap.c +++ b/keyboards/owlab/spring/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_spring( - KC_TRNS, KC_TRNS, 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_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, 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_INS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_TRNS, KC_TRNS, diff --git a/keyboards/owlab/suit80/ansi/keymaps/default/keymap.c b/keyboards/owlab/suit80/ansi/keymaps/default/keymap.c index e9ab5f323f47..5baa8961ea59 100644 --- a/keyboards/owlab/suit80/ansi/keymaps/default/keymap.c +++ b/keyboards/owlab/suit80/ansi/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi( 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, 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, 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/owlab/suit80/ansi/keymaps/via/keymap.c b/keyboards/owlab/suit80/ansi/keymaps/via/keymap.c index d438aea40965..cde44a98b231 100644 --- a/keyboards/owlab/suit80/ansi/keymaps/via/keymap.c +++ b/keyboards/owlab/suit80/ansi/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi( 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, 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, 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/owlab/suit80/iso/keymaps/default/keymap.c b/keyboards/owlab/suit80/iso/keymaps/default/keymap.c index 84cfcc4ad27b..8e498d1b57d2 100644 --- a/keyboards/owlab/suit80/iso/keymaps/default/keymap.c +++ b/keyboards/owlab/suit80/iso/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_iso( 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, 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, 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/owlab/suit80/iso/keymaps/via/keymap.c b/keyboards/owlab/suit80/iso/keymaps/via/keymap.c index d392b797e833..0faf6e6d1152 100644 --- a/keyboards/owlab/suit80/iso/keymaps/via/keymap.c +++ b/keyboards/owlab/suit80/iso/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, 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, 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c b/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c index 7c508167bd28..055f93e1880d 100644 --- a/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c +++ b/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( - 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, KC_TRNS, RESET, + 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, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_HOME, KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, diff --git a/keyboards/owlab/voice65/hotswap/keymaps/via/keymap.c b/keyboards/owlab/voice65/hotswap/keymaps/via/keymap.c index 96e1a60387c9..68801ff2f8b4 100644 --- a/keyboards/owlab/voice65/hotswap/keymaps/via/keymap.c +++ b/keyboards/owlab/voice65/hotswap/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( - 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, KC_TRNS, RESET, + 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, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_HOME, KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, diff --git a/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c b/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c index 7c508167bd28..055f93e1880d 100644 --- a/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c +++ b/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( - 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, KC_TRNS, RESET, + 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, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_HOME, KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, diff --git a/keyboards/owlab/voice65/soldered/keymaps/via/keymap.c b/keyboards/owlab/voice65/soldered/keymaps/via/keymap.c index 7c508167bd28..055f93e1880d 100644 --- a/keyboards/owlab/voice65/soldered/keymaps/via/keymap.c +++ b/keyboards/owlab/voice65/soldered/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( - 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, KC_TRNS, RESET, + 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, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_HOME, KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, diff --git a/keyboards/panc40/keymaps/default/keymap.c b/keyboards/panc40/keymaps/default/keymap.c index 95bfa32c75b7..816c95074954 100644 --- a/keyboards/panc40/keymaps/default/keymap.c +++ b/keyboards/panc40/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/panc40/keymaps/default_minorca/keymap.c b/keyboards/panc40/keymaps/default_minorca/keymap.c index 76889bb7dc84..e43b7a9c126b 100644 --- a/keyboards/panc40/keymaps/default_minorca/keymap.c +++ b/keyboards/panc40/keymaps/default_minorca/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_minorca( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/panc40/keymaps/default_minorca/readme.md b/keyboards/panc40/keymaps/default_minorca/readme.md index 224d011c88a8..4b7fb8dfd1fa 100644 --- a/keyboards/panc40/keymaps/default_minorca/readme.md +++ b/keyboards/panc40/keymaps/default_minorca/readme.md @@ -12,4 +12,4 @@ └────┴────┴────┴────────┴────────┴────┴───┴─────┘ ``` -`Fn+Esc` = `RESET` +`Fn+Esc` = `QK_BOOT` diff --git a/keyboards/panc40/keymaps/default_sebright/keymap.c b/keyboards/panc40/keymaps/default_sebright/keymap.c index f6ab057a9322..7ad9c6883a8c 100644 --- a/keyboards/panc40/keymaps/default_sebright/keymap.c +++ b/keyboards/panc40/keymaps/default_sebright/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_sebright( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/panc40/keymaps/default_sebright/readme.md b/keyboards/panc40/keymaps/default_sebright/readme.md index 8d3de22e14ba..cdf3eb8c9261 100644 --- a/keyboards/panc40/keymaps/default_sebright/readme.md +++ b/keyboards/panc40/keymaps/default_sebright/readme.md @@ -12,4 +12,4 @@ └────┴────┴────┴──────────┴───┴───┴───┘ ``` -`Fn+Esc` = `RESET` +`Fn+Esc` = `QK_BOOT` diff --git a/keyboards/papercranekeyboards/gerald65/keymaps/default/keymap.c b/keyboards/papercranekeyboards/gerald65/keymaps/default/keymap.c index b7f54ceb7cf6..d55a498109e8 100644 --- a/keyboards/papercranekeyboards/gerald65/keymaps/default/keymap.c +++ b/keyboards/papercranekeyboards/gerald65/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT( - 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, KC_TRNS, RESET, + 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, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/pearlboards/atlas/keymaps/default/keymap.c b/keyboards/pearlboards/atlas/keymaps/default/keymap.c index eac060cb7c71..fffdaf4b0898 100644 --- a/keyboards/pearlboards/atlas/keymaps/default/keymap.c +++ b/keyboards/pearlboards/atlas/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_MEDIA_PLAY_PAUSE, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT), LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, HPT_FBK, HPT_TOG, HPT_ON, CK_ON, CK_TOGG, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/pearlboards/atlas/keymaps/via/keymap.c b/keyboards/pearlboards/atlas/keymaps/via/keymap.c index 1d1b5ccffc82..49fccc63c859 100644 --- a/keyboards/pearlboards/atlas/keymaps/via/keymap.c +++ b/keyboards/pearlboards/atlas/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_MEDIA_PLAY_PAUSE, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, HPT_FBK, HPT_TOG, HPT_ON, CK_ON, CK_TOGG, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/pearlboards/pandora/keymaps/default/keymap.c b/keyboards/pearlboards/pandora/keymaps/default/keymap.c index a0feb7ea3297..c8bc6636a107 100644 --- a/keyboards/pearlboards/pandora/keymaps/default/keymap.c +++ b/keyboards/pearlboards/pandora/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, 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_UP, KC_TRNS, diff --git a/keyboards/pearlboards/pandora/keymaps/via/keymap.c b/keyboards/pearlboards/pandora/keymaps/via/keymap.c index aad4ddf290a3..369b30b5a3a9 100644 --- a/keyboards/pearlboards/pandora/keymaps/via/keymap.c +++ b/keyboards/pearlboards/pandora/keymaps/via/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, 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_UP, KC_TRNS, diff --git a/keyboards/pearlboards/pearl/keymaps/default/keymap.c b/keyboards/pearlboards/pearl/keymaps/default/keymap.c index 05af40adae11..0462f74d63f7 100644 --- a/keyboards/pearlboards/pearl/keymaps/default/keymap.c +++ b/keyboards/pearlboards/pearl/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_BSPC, KC_APP, MO(1)), LAYOUT_all( - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_DEL, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_DEL, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, HPT_FBK, HPT_TOG, HPT_ON, CK_ON, CK_TOGG, RGB_MOD, RGB_HUI, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/pearlboards/pearl/keymaps/via/keymap.c b/keyboards/pearlboards/pearl/keymaps/via/keymap.c index 29e8fe1e891b..706ae597b4d3 100644 --- a/keyboards/pearlboards/pearl/keymaps/via/keymap.c +++ b/keyboards/pearlboards/pearl/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_BSPC, KC_APP, MO(1)), [1] = LAYOUT_all( - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_DEL, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_DEL, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, HPT_FBK, HPT_TOG, HPT_ON, CK_ON, CK_TOGG, RGB_MOD, RGB_HUI, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/pearlboards/zeus/keymaps/default/keymap.c b/keyboards/pearlboards/zeus/keymaps/default/keymap.c index 7c79a64395a3..4fafc63d9579 100644 --- a/keyboards/pearlboards/zeus/keymaps/default/keymap.c +++ b/keyboards/pearlboards/zeus/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, HPT_TOG, HPT_FBK, HPT_MODI, HPT_RST, 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, CK_ON, CK_TOGG, MU_TOG, MU_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/pearlboards/zeus/keymaps/via/keymap.c b/keyboards/pearlboards/zeus/keymaps/via/keymap.c index 70a83ab6c5cc..6be8bce5d524 100644 --- a/keyboards/pearlboards/zeus/keymaps/via/keymap.c +++ b/keyboards/pearlboards/zeus/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, HPT_TOG, HPT_FBK, HPT_MODI, HPT_RST, 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, CK_ON, CK_TOGG, MU_TOG, MU_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c b/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c index 71a33c454575..ec31e2a98c70 100644 --- a/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c +++ b/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RESET, RGB_TOG, RGB_MOD, RGB_HUI, + QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c b/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c index 5c99ae2acc53..0b23972e3cad 100644 --- a/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c +++ b/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RESET, RGB_TOG, RGB_MOD, RGB_HUI, + QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/pegasus/keymaps/default/keymap.c b/keyboards/pegasus/keymaps/default/keymap.c index fb2cb061fff8..dfad61d82f1c 100644 --- a/keyboards/pegasus/keymaps/default/keymap.c +++ b/keyboards/pegasus/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER2] = LAYOUT_default( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, KC_RALT, KC_RCTL, KC_DEL, KC_VOLD, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, KC_RALT, KC_RCTL, KC_DEL, KC_VOLD, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY ), }; diff --git a/keyboards/percent/canoe/keymaps/default/keymap.c b/keyboards/percent/canoe/keymaps/default/keymap.c index 8bf7cacb4a60..e7a49f09c60a 100644 --- a/keyboards/percent/canoe/keymaps/default/keymap.c +++ b/keyboards/percent/canoe/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FL] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_PAUS, - KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG,RGB_VAI,RGB_HUI,RGB_SAI,KC_INS, RESET, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, + KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG,RGB_VAI,RGB_HUI,RGB_SAI,KC_INS, QK_BOOT, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,RGB_MOD,RGB_VAD,RGB_HUD,RGB_SAD,KC_NO, KC_NO, KC_F14, KC_F15, KC_INS, KC_HOME, KC_LSFT, KC_MPRV, KC_MPLY, KC_MNXT,KC_NO, KC_NO, KC_NO, KC_MUTE,KC_VOLD, KC_VOLU, KC_NO, KC_RSFT, KC_PGUP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_RALT, KC_TRNS, KC_HOME, KC_PGDOWN,KC_END) diff --git a/keyboards/percent/canoe/keymaps/via/keymap.c b/keyboards/percent/canoe/keymaps/via/keymap.c index 28eb222b12e5..dbc1b886412f 100644 --- a/keyboards/percent/canoe/keymaps/via/keymap.c +++ b/keyboards/percent/canoe/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_PAUS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RGB_TOG, RGB_VAI, RGB_HUI, RGB_SAI, KC_INS, RESET, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RGB_TOG, RGB_VAI, RGB_HUI, RGB_SAI, KC_INS, QK_BOOT, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,RGB_MOD, RGB_VAD, RGB_HUD, RGB_SAD, KC_TRNS, KC_TRNS, KC_F14, KC_F15, KC_INS, KC_HOME, KC_LSFT, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_PGUP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_RALT, KC_TRNS, KC_HOME, KC_PGDN, KC_END), diff --git a/keyboards/percent/canoe_gen2/keymaps/default/keymap.c b/keyboards/percent/canoe_gen2/keymaps/default/keymap.c index bd30836d367a..0fb7cc7913be 100644 --- a/keyboards/percent/canoe_gen2/keymaps/default/keymap.c +++ b/keyboards/percent/canoe_gen2/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi_blocker_split_bs( KC_TILD, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______), diff --git a/keyboards/percent/canoe_gen2/keymaps/via/keymap.c b/keyboards/percent/canoe_gen2/keymaps/via/keymap.c index 20fcddd5e201..1b6d34681984 100644 --- a/keyboards/percent/canoe_gen2/keymaps/via/keymap.c +++ b/keyboards/percent/canoe_gen2/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TILD, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/phase_studio/titan65/hotswap/keymaps/default/keymap.c b/keyboards/phase_studio/titan65/hotswap/keymaps/default/keymap.c index c921e1d3f7b1..5da05af159af 100644 --- a/keyboards/phase_studio/titan65/hotswap/keymaps/default/keymap.c +++ b/keyboards/phase_studio/titan65/hotswap/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/phase_studio/titan65/hotswap/keymaps/via/keymap.c b/keyboards/phase_studio/titan65/hotswap/keymaps/via/keymap.c index 9844a01393f9..b2c4e77a9aca 100644 --- a/keyboards/phase_studio/titan65/hotswap/keymaps/via/keymap.c +++ b/keyboards/phase_studio/titan65/hotswap/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/phase_studio/titan65/soldered/keymaps/default/keymap.c b/keyboards/phase_studio/titan65/soldered/keymaps/default/keymap.c index 7751c0a0dd20..b6bb5f032349 100644 --- a/keyboards/phase_studio/titan65/soldered/keymaps/default/keymap.c +++ b/keyboards/phase_studio/titan65/soldered/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/phase_studio/titan65/soldered/keymaps/via/keymap.c b/keyboards/phase_studio/titan65/soldered/keymaps/via/keymap.c index 678dcfc91a1e..08448e679c16 100644 --- a/keyboards/phase_studio/titan65/soldered/keymaps/via/keymap.c +++ b/keyboards/phase_studio/titan65/soldered/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/picolab/frusta_fundamental/keymaps/default/keymap.c b/keyboards/picolab/frusta_fundamental/keymaps/default/keymap.c index 0b04efb98895..de4229e90681 100644 --- a/keyboards/picolab/frusta_fundamental/keymaps/default/keymap.c +++ b/keyboards/picolab/frusta_fundamental/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FKEY] = LAYOUT( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RGB_MOD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, 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_PGDN, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/picolab/frusta_fundamental/keymaps/via/keymap.c b/keyboards/picolab/frusta_fundamental/keymaps/via/keymap.c index 0e44fa52c46f..896e8afc7886 100644 --- a/keyboards/picolab/frusta_fundamental/keymaps/via/keymap.c +++ b/keyboards/picolab/frusta_fundamental/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* F-Keys */ [1] = LAYOUT( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RGB_MOD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, 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_PGDN, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/default/keymap.c b/keyboards/pizzakeyboards/pizza65/keymaps/default/keymap.c index faf803461d7e..adac40fe59fb 100644 --- a/keyboards/pizzakeyboards/pizza65/keymaps/default/keymap.c +++ b/keyboards/pizzakeyboards/pizza65/keymaps/default/keymap.c @@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ), }; diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/via/keymap.c b/keyboards/pizzakeyboards/pizza65/keymaps/via/keymap.c index 068f2d1d4195..e12366b5e001 100644 --- a/keyboards/pizzakeyboards/pizza65/keymaps/via/keymap.c +++ b/keyboards/pizzakeyboards/pizza65/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ), [2] = LAYOUT_65_ansi_blocker( 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, diff --git a/keyboards/pkb65/keymaps/default/keymap.c b/keyboards/pkb65/keymaps/default/keymap.c index 74528cd2b697..d9a382bd792c 100644 --- a/keyboards/pkb65/keymaps/default/keymap.c +++ b/keyboards/pkb65/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + 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, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/pkb65/keymaps/via/keymap.c b/keyboards/pkb65/keymaps/via/keymap.c index fc338614521b..8e54312cc6ae 100644 --- a/keyboards/pkb65/keymaps/via/keymap.c +++ b/keyboards/pkb65/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + 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, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c index b5ec2e808240..3453d417462b 100644 --- a/keyboards/planck/keymaps/default/keymap.c +++ b/keyboards/planck/keymaps/default/keymap.c @@ -163,7 +163,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/planck/keymaps/via/keymap.c b/keyboards/planck/keymaps/via/keymap.c index d469cd6aec87..b82efcf82e43 100644 --- a/keyboards/planck/keymaps/via/keymap.c +++ b/keyboards/planck/keymaps/via/keymap.c @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Utility * ,-----------------------------------------------------------------------------------. - * | |RESET |DEBUG | | | | | | | | |Del | + * | |QK_BOOT |DEBUG | | | | | | | | |Del | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [3] = LAYOUT_ortho_4x12 ( - KC_TRNS, RESET, DEBUG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, + KC_TRNS, QK_BOOT, DEBUG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/planck/keymaps/via/readme.md b/keyboards/planck/keymaps/via/readme.md index a3cd80f1dbf2..4e074ce39e1d 100644 --- a/keyboards/planck/keymaps/via/readme.md +++ b/keyboards/planck/keymaps/via/readme.md @@ -5,4 +5,4 @@ Predefined Layers: - 0 - Default Planck QWERTY keymap (minus lighting control, plus SHIFT ENTER) - 1 - Default Planck LOWER keymap - 2 - Default Planck RAISE keymap -- 3 - UTILITY keymap (RESET, DEBUG) +- 3 - UTILITY keymap (QK_BOOT, DEBUG) diff --git a/keyboards/playkbtw/ca66/keymaps/default/keymap.c b/keyboards/playkbtw/ca66/keymaps/default/keymap.c index 6f87fb0c119c..f0a39239c123 100644 --- a/keyboards/playkbtw/ca66/keymaps/default/keymap.c +++ b/keyboards/playkbtw/ca66/keymaps/default/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( 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, KC_DEL, KC_DEL, RGB_TOG, - KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, RGB_MOD, + KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, RGB_MOD, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_INS, KC_HOME, KC_LSFT, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_HUI, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI), diff --git a/keyboards/playkbtw/ca66/keymaps/via/keymap.c b/keyboards/playkbtw/ca66/keymaps/via/keymap.c index 620d11efa99c..c8c9c89b0aea 100644 --- a/keyboards/playkbtw/ca66/keymaps/via/keymap.c +++ b/keyboards/playkbtw/ca66/keymaps/via/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //Layer3, Lighting Function keys, soft reset on Tab. [3] = LAYOUT( 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, KC_NO, KC_NO, - RESET, KC_NO, RGB_HUD, RGB_HUI, RGB_VAD, RGB_VAI, KC_NO, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_NO, KC_NO, MO(4), KC_NO, + QK_BOOT, KC_NO, RGB_HUD, RGB_HUI, RGB_VAD, RGB_VAI, KC_NO, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_NO, KC_NO, MO(4), KC_NO, KC_TRNS, KC_NO, RGB_RMOD, RGB_MOD, RGB_TOG, KC_NO, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, 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, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), diff --git a/keyboards/playkbtw/helen80/keymaps/default/keymap.c b/keyboards/playkbtw/helen80/keymaps/default/keymap.c index 13982b0ddf61..6be85c14b226 100644 --- a/keyboards/playkbtw/helen80/keymaps/default/keymap.c +++ b/keyboards/playkbtw/helen80/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_RGB] = LAYOUT_tkl_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, + _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/playkbtw/helen80/keymaps/via/keymap.c b/keyboards/playkbtw/helen80/keymaps/via/keymap.c index 13982b0ddf61..6be85c14b226 100644 --- a/keyboards/playkbtw/helen80/keymaps/via/keymap.c +++ b/keyboards/playkbtw/helen80/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_RGB] = LAYOUT_tkl_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, + _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/playkbtw/pk60/keymaps/default/keymap.c b/keyboards/playkbtw/pk60/keymaps/default/keymap.c index f91db0eae43e..fc9379977d11 100644 --- a/keyboards/playkbtw/pk60/keymaps/default/keymap.c +++ b/keyboards/playkbtw/pk60/keymaps/default/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, _______, KC_DEL, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_PSCR, KC_CALC, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_PSCR, KC_CALC, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_SLCK, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/playkbtw/pk64rgb/keymaps/via/keymap.c b/keyboards/playkbtw/pk64rgb/keymaps/via/keymap.c index 3d18f60ddb3f..015ba3a6b1a0 100644 --- a/keyboards/playkbtw/pk64rgb/keymaps/via/keymap.c +++ b/keyboards/playkbtw/pk64rgb/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] =LAYOUT_64_ansi( 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, KC_DEL, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, RGB_MOD, RGB_HUI, RGB_VAD, RGB_HUD), diff --git a/keyboards/plut0nium/0x3e/keymaps/default/keymap.c b/keyboards/plut0nium/0x3e/keymaps/default/keymap.c index bca46e9910c8..243218f1c6dc 100644 --- a/keyboards/plut0nium/0x3e/keymaps/default/keymap.c +++ b/keyboards/plut0nium/0x3e/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, KC_END, _______, _______, BL_INC, KC_MPLY, KC_VOLU, KC_MUTE, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, RGB_TOG, KC_HOME, BL_TOGG, BL_TOGG, BL_DEC, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/poker87c/keymaps/default/keymap.c b/keyboards/poker87c/keymaps/default/keymap.c index 4be088c0f684..c46dd4c6af3c 100644 --- a/keyboards/poker87c/keymaps/default/keymap.c +++ b/keyboards/poker87c/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/poker87c/keymaps/via/keymap.c b/keyboards/poker87c/keymaps/via/keymap.c index 59c5b359b396..26bcbf1353b0 100644 --- a/keyboards/poker87c/keymaps/via/keymap.c +++ b/keyboards/poker87c/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/poker87d/keymaps/default/keymap.c b/keyboards/poker87d/keymaps/default/keymap.c index 8adc58ae11d8..2ecb85bbcac4 100644 --- a/keyboards/poker87d/keymaps/default/keymap.c +++ b/keyboards/poker87d/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), diff --git a/keyboards/poker87d/keymaps/via/keymap.c b/keyboards/poker87d/keymaps/via/keymap.c index b2eff1ce3369..2afb2be40448 100644 --- a/keyboards/poker87d/keymaps/via/keymap.c +++ b/keyboards/poker87d/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), diff --git a/keyboards/polycarbdiet/s20/keymaps/default/keymap.c b/keyboards/polycarbdiet/s20/keymaps/default/keymap.c index b399202062c6..330e65b72289 100644 --- a/keyboards/polycarbdiet/s20/keymaps/default/keymap.c +++ b/keyboards/polycarbdiet/s20/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, - RESET, MO(2), KC_TRNS, KC_TRNS + QK_BOOT, MO(2), KC_TRNS, KC_TRNS ), [2] = LAYOUT_ortho_5x4( RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, diff --git a/keyboards/portal_66/hotswap/keymaps/default/keymap.c b/keyboards/portal_66/hotswap/keymaps/default/keymap.c index 5f9143a2ad1b..e57b79908253 100644 --- a/keyboards/portal_66/hotswap/keymaps/default/keymap.c +++ b/keyboards/portal_66/hotswap/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_65_ansi_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/portal_66/hotswap/keymaps/via/keymap.c b/keyboards/portal_66/hotswap/keymaps/via/keymap.c index 7f9878eae3d2..540e54320b39 100644 --- a/keyboards/portal_66/hotswap/keymaps/via/keymap.c +++ b/keyboards/portal_66/hotswap/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT ), [_L1] = LAYOUT_65_ansi_blocker( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/portal_66/soldered/keymaps/default/keymap.c b/keyboards/portal_66/soldered/keymaps/default/keymap.c index 8b40550b86a3..181031a29ac7 100644 --- a/keyboards/portal_66/soldered/keymaps/default/keymap.c +++ b/keyboards/portal_66/soldered/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_65_ansi_blocker_split_bs( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/portal_66/soldered/keymaps/via/keymap.c b/keyboards/portal_66/soldered/keymaps/via/keymap.c index 97c74de1f174..37f03ff1dcb6 100644 --- a/keyboards/portal_66/soldered/keymaps/via/keymap.c +++ b/keyboards/portal_66/soldered/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT ), [_L1] = LAYOUT_65_ansi_blocker_split_bs( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/pos78/keymaps/default/keymap.c b/keyboards/pos78/keymaps/default/keymap.c index 9d4b43001a12..6f739536afa1 100644 --- a/keyboards/pos78/keymaps/default/keymap.c +++ b/keyboards/pos78/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, XXXXXXX, KC_WAKE, KC_MYCM, XXXXXXX, XXXXXXX, KC_AGAIN, KC_VOLU, KC_INS, KC_PWR, KC_PSCR, XXXXXXX, KC_PGUP, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_FIND, XXXXXXX, KC_HELP, KC_VOLD, KC_CALC, KC_BRIU, XXXXXXX, KC_UP, KC_PGDN, - _______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, RESET, XXXXXXX, KC_MAIL, UK_COMM, KC_BRID, KC_LEFT, KC_DOWN, KC_RIGHT, + _______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, QK_BOOT, XXXXXXX, KC_MAIL, UK_COMM, KC_BRID, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/preonic/keymaps/default/keymap.c b/keyboards/preonic/keymaps/default/keymap.c index f99a6953c6b9..ef7614393d76 100644 --- a/keyboards/preonic/keymaps/default/keymap.c +++ b/keyboards/preonic/keymaps/default/keymap.c @@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( 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, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/preonic/keymaps/via/keymap.c b/keyboards/preonic/keymaps/via/keymap.c index fe62441049f3..40d5340d9adf 100644 --- a/keyboards/preonic/keymaps/via/keymap.c +++ b/keyboards/preonic/keymaps/via/keymap.c @@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( 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, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/primekb/meridian/keymaps/default/keymap.c b/keyboards/primekb/meridian/keymaps/default/keymap.c index 2ea91eeb133d..6dfe00c87f99 100644 --- a/keyboards/primekb/meridian/keymaps/default/keymap.c +++ b/keyboards/primekb/meridian/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL ), [1] = LAYOUT_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, diff --git a/keyboards/primekb/meridian/keymaps/via/keymap.c b/keyboards/primekb/meridian/keymaps/via/keymap.c index 9c314d657c51..9d3113a831c7 100644 --- a/keyboards/primekb/meridian/keymaps/via/keymap.c +++ b/keyboards/primekb/meridian/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL ), [1] = LAYOUT_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, diff --git a/keyboards/primekb/meridian_rgb/keymaps/default/keymap.c b/keyboards/primekb/meridian_rgb/keymaps/default/keymap.c index cf963b553d5a..a86654c4f6b4 100644 --- a/keyboards/primekb/meridian_rgb/keymaps/default/keymap.c +++ b/keyboards/primekb/meridian_rgb/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL ), [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, diff --git a/keyboards/primekb/meridian_rgb/keymaps/via/keymap.c b/keyboards/primekb/meridian_rgb/keymaps/via/keymap.c index cf963b553d5a..a86654c4f6b4 100644 --- a/keyboards/primekb/meridian_rgb/keymaps/via/keymap.c +++ b/keyboards/primekb/meridian_rgb/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL ), [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, diff --git a/keyboards/primekb/prime_l/keymaps/default/keymap.c b/keyboards/primekb/prime_l/keymaps/default/keymap.c index dbaf5224559f..eb175a84446b 100644 --- a/keyboards/primekb/prime_l/keymaps/default/keymap.c +++ b/keyboards/primekb/prime_l/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, 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, diff --git a/keyboards/primekb/prime_l/keymaps/via/keymap.c b/keyboards/primekb/prime_l/keymaps/via/keymap.c index 9fb3da5ef7af..f0b162087bdd 100644 --- a/keyboards/primekb/prime_l/keymaps/via/keymap.c +++ b/keyboards/primekb/prime_l/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, 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, diff --git a/keyboards/program_yoink/ortho/keymaps/default/keymap.c b/keyboards/program_yoink/ortho/keymaps/default/keymap.c index 9b09f21cc07a..6719a38b0a67 100644 --- a/keyboards/program_yoink/ortho/keymaps/default/keymap.c +++ b/keyboards/program_yoink/ortho/keymaps/default/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER2] = LAYOUT_ortho( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_K, RGB_M_G, RGB_M_R, RGB_M_SW, _______, RGB_HUI, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, RGB_VAD, _______, RGB_HUD, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, RGB_VAD, _______, RGB_HUD, _______, RGB_TOG, XXXXXXX, XXXXXXX, KC_DEL, KC_RALT, KC_RCTL ), }; diff --git a/keyboards/program_yoink/staggered/keymaps/default/keymap.c b/keyboards/program_yoink/staggered/keymaps/default/keymap.c index 8a039044acd4..8780cad06e37 100644 --- a/keyboards/program_yoink/staggered/keymaps/default/keymap.c +++ b/keyboards/program_yoink/staggered/keymaps/default/keymap.c @@ -47,8 +47,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER2] = LAYOUT_default( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, RGB_M_B, RGB_M_P, RGB_M_K, RGB_M_G, RGB_M_R, RGB_HUI, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, RGB_HUD, - _______, RGB_TOG, XXXXXXX, RESET, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, RGB_HUD, + _______, RGB_TOG, XXXXXXX, QK_BOOT, _______, _______, _______ ), }; diff --git a/keyboards/program_yoink/staggered/keymaps/via/keymap.c b/keyboards/program_yoink/staggered/keymaps/via/keymap.c index 18dace1eebbf..0ac2bfd60d54 100644 --- a/keyboards/program_yoink/staggered/keymaps/via/keymap.c +++ b/keyboards/program_yoink/staggered/keymaps/via/keymap.c @@ -43,15 +43,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER2] = LAYOUT_default( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, RGB_M_B, RGB_M_P, RGB_M_K, RGB_M_G, RGB_M_R, RGB_HUI, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, RGB_HUD, - _______, RGB_TOG, XXXXXXX, RESET, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, RGB_HUD, + _______, RGB_TOG, XXXXXXX, QK_BOOT, _______, _______, _______ ), [_LAYER3] = LAYOUT_default( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, RGB_M_B, RGB_M_P, RGB_M_K, RGB_M_G, RGB_M_R, RGB_HUI, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, RGB_HUD, - _______, RGB_TOG, XXXXXXX, RESET, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, RGB_HUD, + _______, RGB_TOG, XXXXXXX, QK_BOOT, _______, _______, _______ ), }; diff --git a/keyboards/projectcain/vault35/keymaps/default/keymap.c b/keyboards/projectcain/vault35/keymaps/default/keymap.c index 05fb05b76082..64ff62c3eff4 100644 --- a/keyboards/projectcain/vault35/keymaps/default/keymap.c +++ b/keyboards/projectcain/vault35/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOTE, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - LALT(KC_TAB), MO(1), SFT_T(KC_BSPC), KC_SPACE, MO(2), RESET + LALT(KC_TAB), MO(1), SFT_T(KC_BSPC), KC_SPACE, MO(2), QK_BOOT ), [NUM] = LAYOUT_split_4space( diff --git a/keyboards/projectcain/vault45/keymaps/default/keymap.c b/keyboards/projectcain/vault45/keymaps/default/keymap.c index 6955320e7783..aa1179fbcddd 100644 --- a/keyboards/projectcain/vault45/keymaps/default/keymap.c +++ b/keyboards/projectcain/vault45/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [NUM] = LAYOUT_split_4space( - KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_WBAK, KC_PSLS, KC_7, KC_8, KC_9, KC_PMNS, KC_DEL, RESET, + KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_WBAK, KC_PSLS, KC_7, KC_8, KC_9, KC_PMNS, KC_DEL, QK_BOOT, KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_WFWD, KC_PAST, KC_4, KC_5, KC_6, KC_PPLS, KC_TRNS, KC_LBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_1, KC_2, KC_3, KC_PDOT, KC_RBRC, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_RCTRL), RALT(KC_F4), RALT(KC_F4) diff --git a/keyboards/projectkb/alice/keymaps/default/keymap.c b/keyboards/projectkb/alice/keymaps/default/keymap.c index a6d222b02d08..d656e4f31bd9 100644 --- a/keyboards/projectkb/alice/keymaps/default/keymap.c +++ b/keyboards/projectkb/alice/keymaps/default/keymap.c @@ -38,6 +38,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_MOD, _______, _______, KC_UP, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, _______, _______, _______, _______, RGB_RMOD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET + _______, _______, _______, _______, _______, _______, QK_BOOT ) }; diff --git a/keyboards/projectkb/signature65/keymaps/default/keymap.c b/keyboards/projectkb/signature65/keymaps/default/keymap.c index 46927246ca02..b6a51a980956 100644 --- a/keyboards/projectkb/signature65/keymaps/default/keymap.c +++ b/keyboards/projectkb/signature65/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, KC_DEL, KC_DEL, KC_PSCR, - 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/projectkb/signature65/keymaps/via/keymap.c b/keyboards/projectkb/signature65/keymaps/via/keymap.c index cbebc2095250..58360ff3d5f3 100644 --- a/keyboards/projectkb/signature65/keymaps/via/keymap.c +++ b/keyboards/projectkb/signature65/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, KC_DEL, KC_DEL, KC_PSCR, - 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/projectkb/signature87/keymaps/default/keymap.c b/keyboards/projectkb/signature87/keymaps/default/keymap.c index d150ef33ccb9..a58d077f60c3 100644 --- a/keyboards/projectkb/signature87/keymaps/default/keymap.c +++ b/keyboards/projectkb/signature87/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/projectkb/signature87/keymaps/via/keymap.c b/keyboards/projectkb/signature87/keymaps/via/keymap.c index fd6130478500..87e9a2af741f 100644 --- a/keyboards/projectkb/signature87/keymaps/via/keymap.c +++ b/keyboards/projectkb/signature87/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/prototypist/allison/keymaps/default/keymap.c b/keyboards/prototypist/allison/keymaps/default/keymap.c index 30fed354a4c6..55eb1bd9c6a0 100644 --- a/keyboards/prototypist/allison/keymaps/default/keymap.c +++ b/keyboards/prototypist/allison/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL), [1] = LAYOUT_all( /* FN1 */ - RESET, 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, + QK_BOOT, 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, 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, KC_UP, 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_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/prototypist/allison/keymaps/via/keymap.c b/keyboards/prototypist/allison/keymaps/via/keymap.c index 30fed354a4c6..55eb1bd9c6a0 100644 --- a/keyboards/prototypist/allison/keymaps/via/keymap.c +++ b/keyboards/prototypist/allison/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL), [1] = LAYOUT_all( /* FN1 */ - RESET, 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, + QK_BOOT, 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, 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, KC_UP, 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_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/punk75/keymaps/default/keymap.c b/keyboards/punk75/keymaps/default/keymap.c index 30910a4a0dd9..c330612cf438 100644 --- a/keyboards/punk75/keymaps/default/keymap.c +++ b/keyboards/punk75/keymaps/default/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | | + * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | QK_BOOT | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, - KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______, + KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______ ) diff --git a/keyboards/punk75/keymaps/via/keymap.c b/keyboards/punk75/keymaps/via/keymap.c index 44deb8bd96b0..fce000d5ed7b 100644 --- a/keyboards/punk75/keymaps/via/keymap.c +++ b/keyboards/punk75/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | | + * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | QK_BOOT | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ortho_5x15( /* FUNCTION */ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, - KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______, + KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, MO(1), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(1), _______, _______, _______ ), diff --git a/keyboards/q4z/keymaps/default/keymap.c b/keyboards/q4z/keymaps/default/keymap.c index 21d0c4ffcb4e..45fe8c2dd5ef 100644 --- a/keyboards/q4z/keymaps/default/keymap.c +++ b/keyboards/q4z/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAV] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, 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, KC_TRNS, KC_TRNS diff --git a/keyboards/qpockets/eggman/keymaps/default/keymap.c b/keyboards/qpockets/eggman/keymaps/default/keymap.c index 11da71c6c7ce..13a34c14b098 100644 --- a/keyboards/qpockets/eggman/keymaps/default/keymap.c +++ b/keyboards/qpockets/eggman/keymaps/default/keymap.c @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAV] = LAYOUT_default( KC_TRNS, KC_TRNS, - KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, + KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_LCAP, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/qpockets/space_space/rev1/keymaps/default/keymap.c b/keyboards/qpockets/space_space/rev1/keymaps/default/keymap.c index 6b4219b28903..09b74316a8cf 100644 --- a/keyboards/qpockets/space_space/rev1/keymaps/default/keymap.c +++ b/keyboards/qpockets/space_space/rev1/keymaps/default/keymap.c @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT_default( - KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, + KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_LCAP, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/qpockets/space_space/rev2/keymaps/default/keymap.c b/keyboards/qpockets/space_space/rev2/keymaps/default/keymap.c index 64f34c829174..7d47cf4f8dea 100644 --- a/keyboards/qpockets/space_space/rev2/keymaps/default/keymap.c +++ b/keyboards/qpockets/space_space/rev2/keymaps/default/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT_default( - KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC, + KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TRNS, KC_F4, KC_F5, KC_F6, KC_F7, KC_TAB, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_LCAP, KC_F9, KC_F10, KC_F11, KC_F12, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/qpockets/wanten/keymaps/default/keymap.c b/keyboards/qpockets/wanten/keymaps/default/keymap.c index f0cec2cc45d9..b0e61490d80e 100644 --- a/keyboards/qpockets/wanten/keymaps/default/keymap.c +++ b/keyboards/qpockets/wanten/keymaps/default/keymap.c @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT_default( - KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC, + KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, KC_TAB, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_CAPS, KC_F9, KC_F10, KC_F11, KC_F12, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/quantrik/kyuu/keymaps/default/keymap.c b/keyboards/quantrik/kyuu/keymaps/default/keymap.c index 6b7adf0d1396..3b3c09f2d962 100644 --- a/keyboards/quantrik/kyuu/keymaps/default/keymap.c +++ b/keyboards/quantrik/kyuu/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( 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, - KC_TRNS, QMKBEST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, + KC_TRNS, QMKBEST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/quantrik/kyuu/keymaps/via/keymap.c b/keyboards/quantrik/kyuu/keymaps/via/keymap.c index 2525ae1c9c62..7f769d72bbb9 100755 --- a/keyboards/quantrik/kyuu/keymaps/via/keymap.c +++ b/keyboards/quantrik/kyuu/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c b/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c index 86799d7617b9..edd413373151 100644 --- a/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c +++ b/keyboards/qwertykeys/qk65/hotswap/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi_blocker( - 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, KC_TRNS, RESET, + 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, KC_TRNS, QK_BOOT, 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_HOME, 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_END, 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, diff --git a/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c b/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c index 67f5d3890878..f319ff9c75e0 100644 --- a/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c +++ b/keyboards/qwertykeys/qk65/hotswap/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi_blocker( - 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, KC_TRNS, RESET, + 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, KC_TRNS, QK_BOOT, 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_HOME, 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_END, 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, diff --git a/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c b/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c index ea9b36136f19..f05e46b0a754 100644 --- a/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c +++ b/keyboards/qwertykeys/qk65/solder/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_iso_blocker( - 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, KC_TRNS, RESET, + 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, KC_TRNS, QK_BOOT, 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_HOME, 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_END, 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, diff --git a/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c b/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c index c1059821b1e0..3a8fb5fe0d1e 100644 --- a/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c +++ b/keyboards/qwertykeys/qk65/solder/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - 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, KC_TRNS, KC_TRNS, RESET, + 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, KC_TRNS, KC_TRNS, QK_BOOT, 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_HOME, 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_END, 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, diff --git a/keyboards/qwertyydox/keymaps/default/keymap.c b/keyboards/qwertyydox/keymaps/default/keymap.c index 2884fcfbce4b..2a4099b3cced 100644 --- a/keyboards/qwertyydox/keymaps/default/keymap.c +++ b/keyboards/qwertyydox/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| KC_INS, KC_HOME, KC_PGUP, KC_BTN1, KC_BTN2, KC_WH_D, KC_MS_L, KC_MS_U, KC_MS_D, KC_MS_R, KC_NO, KC_NO, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_DEL, KC_END, KC_PGDN, nav, KC_LCTL, KC_SPC, TO(0), TO(1), KC_LSFT, KC_BSPC, KC_NO, KC_NO, KC_NO, RESET + KC_DEL, KC_END, KC_PGDN, nav, KC_LCTL, KC_SPC, TO(0), TO(1), KC_LSFT, KC_BSPC, KC_NO, KC_NO, KC_NO, QK_BOOT //`--------+--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------+--------' ) }; diff --git a/keyboards/rainkeebs/rainkeeb/keymaps/default/keymap.c b/keyboards/rainkeebs/rainkeeb/keymaps/default/keymap.c index 08cf7462c314..914d1113b19a 100644 --- a/keyboards/rainkeebs/rainkeeb/keymaps/default/keymap.c +++ b/keyboards/rainkeebs/rainkeeb/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, GAME, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [_GAME] = LAYOUT( diff --git a/keyboards/rainkeebs/rainkeeb/keymaps/via/keymap.c b/keyboards/rainkeebs/rainkeeb/keymaps/via/keymap.c index 08cf7462c314..914d1113b19a 100644 --- a/keyboards/rainkeebs/rainkeeb/keymaps/via/keymap.c +++ b/keyboards/rainkeebs/rainkeeb/keymaps/via/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, GAME, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [_GAME] = LAYOUT( diff --git a/keyboards/ramonimbao/aelith/keymaps/default/keymap.c b/keyboards/ramonimbao/aelith/keymaps/default/keymap.c index ff9319e4faa5..64e74607e1ad 100644 --- a/keyboards/ramonimbao/aelith/keymaps/default/keymap.c +++ b/keyboards/ramonimbao/aelith/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT_alice_split_bs( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_HOME, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ramonimbao/aelith/keymaps/via/keymap.c b/keyboards/ramonimbao/aelith/keymaps/via/keymap.c index 7c48ffa0d308..e916d6e6c17a 100644 --- a/keyboards/ramonimbao/aelith/keymaps/via/keymap.c +++ b/keyboards/ramonimbao/aelith/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT_alice_split_bs( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_HOME, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ramonimbao/herringbone/pro/keymaps/via/keymap.c b/keyboards/ramonimbao/herringbone/pro/keymaps/via/keymap.c index 8acc017679a1..71622cddcf4e 100644 --- a/keyboards/ramonimbao/herringbone/pro/keymaps/via/keymap.c +++ b/keyboards/ramonimbao/herringbone/pro/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ramonimbao/herringbone/v1/keymaps/via/keymap.c b/keyboards/ramonimbao/herringbone/v1/keymaps/via/keymap.c index 04734d044476..6438021f3af2 100644 --- a/keyboards/ramonimbao/herringbone/v1/keymaps/via/keymap.c +++ b/keyboards/ramonimbao/herringbone/v1/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ramonimbao/mona/v1/keymaps/via/keymap.c b/keyboards/ramonimbao/mona/v1/keymaps/via/keymap.c index 4a129b8764de..3bd85273e8d5 100644 --- a/keyboards/ramonimbao/mona/v1/keymaps/via/keymap.c +++ b/keyboards/ramonimbao/mona/v1/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ramonimbao/mona/v1_1/keymaps/via/keymap.c b/keyboards/ramonimbao/mona/v1_1/keymaps/via/keymap.c index e5a714314e51..a86b5fa6c747 100644 --- a/keyboards/ramonimbao/mona/v1_1/keymaps/via/keymap.c +++ b/keyboards/ramonimbao/mona/v1_1/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ramonimbao/mona/v32a/keymaps/via/keymap.c b/keyboards/ramonimbao/mona/v32a/keymaps/via/keymap.c index e5a714314e51..a86b5fa6c747 100644 --- a/keyboards/ramonimbao/mona/v32a/keymaps/via/keymap.c +++ b/keyboards/ramonimbao/mona/v32a/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ramonimbao/squishy65/keymaps/default/keymap.c b/keyboards/ramonimbao/squishy65/keymaps/default/keymap.c index c46d57332307..f22daf17609b 100644 --- a/keyboards/ramonimbao/squishy65/keymaps/default/keymap.c +++ b/keyboards/ramonimbao/squishy65/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_SAI, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, diff --git a/keyboards/ramonimbao/squishy65/keymaps/iso/keymap.c b/keyboards/ramonimbao/squishy65/keymaps/iso/keymap.c index ee1907d3e526..dedb48f333a4 100644 --- a/keyboards/ramonimbao/squishy65/keymaps/iso/keymap.c +++ b/keyboards/ramonimbao/squishy65/keymaps/iso/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_iso( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, RGB_SAI, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, diff --git a/keyboards/ramonimbao/squishy65/keymaps/via/keymap.c b/keyboards/ramonimbao/squishy65/keymaps/via/keymap.c index d9177a622e93..c1abb8cff60b 100644 --- a/keyboards/ramonimbao/squishy65/keymaps/via/keymap.c +++ b/keyboards/ramonimbao/squishy65/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_SAI, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, diff --git a/keyboards/ramonimbao/squishyfrl/keymaps/via/keymap.c b/keyboards/ramonimbao/squishyfrl/keymaps/via/keymap.c index e1158c2a2384..06e14e016ebd 100644 --- a/keyboards/ramonimbao/squishyfrl/keymaps/via/keymap.c +++ b/keyboards/ramonimbao/squishyfrl/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ramonimbao/wete/v1/keymaps/via/keymap.c b/keyboards/ramonimbao/wete/v1/keymaps/via/keymap.c index 0f1a0bedb1cd..8753e0a48f72 100644 --- a/keyboards/ramonimbao/wete/v1/keymaps/via/keymap.c +++ b/keyboards/ramonimbao/wete/v1/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_KP_0, KC_KP_DOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), [1] = LAYOUT_ansi_rhnp( - KC_NO, KC_NO, KC_NO, KC_NO, BL_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, + KC_NO, KC_NO, KC_NO, KC_NO, BL_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/rart/rart45/keymaps/default/keymap.c b/keyboards/rart/rart45/keymaps/default/keymap.c index c1aae5828dbf..0514cd654e56 100644 --- a/keyboards/rart/rart45/keymaps/default/keymap.c +++ b/keyboards/rart/rart45/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_all( - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/rart/rart45/keymaps/via/keymap.c b/keyboards/rart/rart45/keymaps/via/keymap.c index 2147bb67c54b..4787c609760a 100644 --- a/keyboards/rart/rart45/keymaps/via/keymap.c +++ b/keyboards/rart/rart45/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_all( - RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/rart/rart4x4/keymaps/via/keymap.c b/keyboards/rart/rart4x4/keymaps/via/keymap.c index 86e55380738f..dd6c81d76846 100644 --- a/keyboards/rart/rart4x4/keymaps/via/keymap.c +++ b/keyboards/rart/rart4x4/keymaps/via/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ortho_4x4( - KC_TRNS, RGB_HUI, RGB_HUD, RESET, + KC_TRNS, RGB_HUI, RGB_HUD, QK_BOOT, RGB_SAI, RGB_SAD, KC_MNXT, KC_MPRV, RGB_VAI, RGB_VAD, KC_MSTP, KC_MPLY, KC_COPY, KC_PSTE, KC_MYCM, RGB_TOG diff --git a/keyboards/rart/rart67/keymaps/default/keymap.c b/keyboards/rart/rart67/keymaps/default/keymap.c index e1a21f89dc06..b8f3e851cb4b 100644 --- a/keyboards/rart/rart67/keymaps/default/keymap.c +++ b/keyboards/rart/rart67/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, _______, KC_DEL, _______, - RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_P7, KC_P8, KC_P9, _______, _______, _______, + QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_NLCK, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, KC_P1, KC_P2, KC_P3, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_P0, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/rart/rart67/keymaps/via/keymap.c b/keyboards/rart/rart67/keymaps/via/keymap.c index cfb8e06a320e..8c179885fcaa 100644 --- a/keyboards/rart/rart67/keymaps/via/keymap.c +++ b/keyboards/rart/rart67/keymaps/via/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, _______, KC_DEL, _______, - RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_P7, KC_P8, KC_P9, _______, _______, _______, + QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_NLCK, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, KC_P1, KC_P2, KC_P3, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_P0, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/rart/rart75/keymaps/ansi/keymap.c b/keyboards/rart/rart75/keymaps/ansi/keymap.c index 35da09b6f9fd..44758054c22e 100644 --- a/keyboards/rart/rart75/keymaps/ansi/keymap.c +++ b/keyboards/rart/rart75/keymaps/ansi/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/rart/rart75/keymaps/default/keymap.c b/keyboards/rart/rart75/keymaps/default/keymap.c index 145d5b61179e..55966e262dc2 100644 --- a/keyboards/rart/rart75/keymaps/default/keymap.c +++ b/keyboards/rart/rart75/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/rart/rart75/keymaps/via/keymap.c b/keyboards/rart/rart75/keymaps/via/keymap.c index d4a83373c8b1..56058bd102a1 100644 --- a/keyboards/rart/rart75/keymaps/via/keymap.c +++ b/keyboards/rart/rart75/keymaps/via/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/rart/rart75hs/keymaps/default/keymap.c b/keyboards/rart/rart75hs/keymaps/default/keymap.c index c6f334e98fc1..4582818a46e4 100644 --- a/keyboards/rart/rart75hs/keymaps/default/keymap.c +++ b/keyboards/rart/rart75hs/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/rart/rart75hs/keymaps/via/keymap.c b/keyboards/rart/rart75hs/keymaps/via/keymap.c index 27a4f99fa658..e64380d4d2cc 100644 --- a/keyboards/rart/rart75hs/keymaps/via/keymap.c +++ b/keyboards/rart/rart75hs/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/rart/rartand/keymaps/default/keymap.c b/keyboards/rart/rartand/keymaps/default/keymap.c index 3d04ffc6f3bb..47b37e7e2d87 100644 --- a/keyboards/rart/rartand/keymaps/default/keymap.c +++ b/keyboards/rart/rartand/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_all( - RESET, 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_DEL, + QK_BOOT, 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_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/rart/rartand/keymaps/via/keymap.c b/keyboards/rart/rartand/keymaps/via/keymap.c index 3d04ffc6f3bb..47b37e7e2d87 100644 --- a/keyboards/rart/rartand/keymaps/via/keymap.c +++ b/keyboards/rart/rartand/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_all( - RESET, 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_DEL, + QK_BOOT, 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_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/rart/rartland/keymaps/default/keymap.c b/keyboards/rart/rartland/keymaps/default/keymap.c index e813d87ffde8..9b406af29254 100644 --- a/keyboards/rart/rartland/keymaps/default/keymap.c +++ b/keyboards/rart/rartland/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/rart/rartland/keymaps/via/keymap.c b/keyboards/rart/rartland/keymaps/via/keymap.c index 4049ae135e19..18db9b8b4b8a 100644 --- a/keyboards/rart/rartland/keymaps/via/keymap.c +++ b/keyboards/rart/rartland/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/rart/rartlice/keymaps/via/keymap.c b/keyboards/rart/rartlice/keymaps/via/keymap.c index 700bb7f414e5..90b11ff7eb34 100644 --- a/keyboards/rart/rartlice/keymaps/via/keymap.c +++ b/keyboards/rart/rartlice/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - KC_NLCK, RGB_TOG, 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_NLCK, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, KC_SLCK, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_P7, KC_P8, KC_P9, KC_P0, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, diff --git a/keyboards/rart/rartlite/keymaps/default/keymap.c b/keyboards/rart/rartlite/keymaps/default/keymap.c index 730aad990870..c701a432c886 100644 --- a/keyboards/rart/rartlite/keymaps/default/keymap.c +++ b/keyboards/rart/rartlite/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_right_numpad( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, RESET, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/rart/rartlite/keymaps/via/keymap.c b/keyboards/rart/rartlite/keymaps/via/keymap.c index 9cb23f8a598f..9b70cf19ba94 100644 --- a/keyboards/rart/rartlite/keymaps/via/keymap.c +++ b/keyboards/rart/rartlite/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_right_numpad( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, RESET, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/rart/rartpad/keymaps/default/keymap.c b/keyboards/rart/rartpad/keymaps/default/keymap.c index e102d241a1bb..2b8a1035c39a 100644 --- a/keyboards/rart/rartpad/keymaps/default/keymap.c +++ b/keyboards/rart/rartpad/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_SAI, RGB_SAD, KC_MNXT, KC_MPRV, RGB_VAI, RGB_VAD, KC_MSTP, KC_MPLY, KC_COPY, KC_PSTE, KC_MYCM, KC_CALC, - KC_TRNS, RGB_TOG, RESET, KC_TRNS + KC_TRNS, RGB_TOG, QK_BOOT, KC_TRNS ) }; diff --git a/keyboards/rart/rartpad/keymaps/via/keymap.c b/keyboards/rart/rartpad/keymaps/via/keymap.c index 8e4f05fea4ec..84aaca1ec61d 100644 --- a/keyboards/rart/rartpad/keymaps/via/keymap.c +++ b/keyboards/rart/rartpad/keymaps/via/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ortho_5x4( - KC_TRNS, RGB_HUI, RGB_HUD, RESET, + KC_TRNS, RGB_HUI, RGB_HUD, QK_BOOT, RGB_SAI, RGB_SAD, KC_MNXT, KC_MPRV, RGB_VAI, RGB_VAD, KC_MSTP, KC_MPLY, KC_COPY, KC_PSTE, KC_MYCM, KC_CALC, diff --git a/keyboards/rationalist/ratio65_hotswap/keymaps/default/keymap.c b/keyboards/rationalist/ratio65_hotswap/keymaps/default/keymap.c index 1d095ea22bb3..2e9afb3060dd 100644 --- a/keyboards/rationalist/ratio65_hotswap/keymaps/default/keymap.c +++ b/keyboards/rationalist/ratio65_hotswap/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), // basic function layer [1] = LAYOUT_all( - 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, KC_TRNS, RESET, + 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, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/rationalist/ratio65_hotswap/keymaps/via/keymap.c b/keyboards/rationalist/ratio65_hotswap/keymaps/via/keymap.c index d677bb3c8afc..180bfeee8467 100644 --- a/keyboards/rationalist/ratio65_hotswap/keymaps/via/keymap.c +++ b/keyboards/rationalist/ratio65_hotswap/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), // basic function layer 1 [1] = LAYOUT_all( - 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, KC_TRNS, RESET, + 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, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/rationalist/ratio65_solder/keymaps/default/keymap.c b/keyboards/rationalist/ratio65_solder/keymaps/default/keymap.c index 892d1e8b670c..52c01dfbf2ff 100644 --- a/keyboards/rationalist/ratio65_solder/keymaps/default/keymap.c +++ b/keyboards/rationalist/ratio65_solder/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), // basic function layer [1] = LAYOUT_all( - 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, KC_TRNS, KC_TRNS, RESET, + 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, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, 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, diff --git a/keyboards/rationalist/ratio65_solder/keymaps/via/keymap.c b/keyboards/rationalist/ratio65_solder/keymaps/via/keymap.c index 3310c23f4ab9..01165c0a5e90 100644 --- a/keyboards/rationalist/ratio65_solder/keymaps/via/keymap.c +++ b/keyboards/rationalist/ratio65_solder/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), // basic function layer 1 [1] = LAYOUT_all( - 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, KC_TRNS, KC_TRNS, RESET, + 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, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, 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, diff --git a/keyboards/recompile_keys/choco60/keymaps/default/keymap.c b/keyboards/recompile_keys/choco60/keymaps/default/keymap.c index c906fef77997..ec40e84fa81b 100644 --- a/keyboards/recompile_keys/choco60/keymaps/default/keymap.c +++ b/keyboards/recompile_keys/choco60/keymaps/default/keymap.c @@ -36,6 +36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, - _______, _______, _______, _______, _______, KC_STOP, RESET + _______, _______, _______, _______, _______, KC_STOP, QK_BOOT ) }; diff --git a/keyboards/recompile_keys/choco60/keymaps/via/keymap.c b/keyboards/recompile_keys/choco60/keymaps/via/keymap.c index 878a74210b2d..aad421903c8b 100644 --- a/keyboards/recompile_keys/choco60/keymaps/via/keymap.c +++ b/keyboards/recompile_keys/choco60/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, - _______, _______, _______, _______, _______, KC_STOP, RESET + _______, _______, _______, _______, _______, KC_STOP, QK_BOOT ), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/recompile_keys/cocoa40/keymaps/default/keymap.c b/keyboards/recompile_keys/cocoa40/keymaps/default/keymap.c index 320f918a9e2a..0b6f8cb576cc 100644 --- a/keyboards/recompile_keys/cocoa40/keymaps/default/keymap.c +++ b/keyboards/recompile_keys/cocoa40/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DELETE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/recompile_keys/mio/keymaps/default/keymap.c b/keyboards/recompile_keys/mio/keymaps/default/keymap.c index 39223f537aaf..f21d1357b8ba 100644 --- a/keyboards/recompile_keys/mio/keymaps/default/keymap.c +++ b/keyboards/recompile_keys/mio/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(_FN), KC_LCTL, KC_LALT, KC_SPC, KC_ENT ), [_FN] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/recompile_keys/mio/keymaps/via/keymap.c b/keyboards/recompile_keys/mio/keymaps/via/keymap.c index b521df997165..abe392506121 100644 --- a/keyboards/recompile_keys/mio/keymaps/via/keymap.c +++ b/keyboards/recompile_keys/mio/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(1), KC_LCTL, KC_LALT, KC_SPC, KC_ENT ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/recompile_keys/nomu30/keymaps/default/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/default/keymap.c index 8878c3b1e85b..3e5b5343bfe5 100644 --- a/keyboards/recompile_keys/nomu30/keymaps/default/keymap.c +++ b/keyboards/recompile_keys/nomu30/keymaps/default/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FUNC] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - KC_TAB, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, RESET, + KC_TAB, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, QK_BOOT, KC_TRNS, KC_LALT, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/redox/keymaps/default/keymap.c b/keyboards/redox/keymaps/default/keymap.c index 460e2989787c..3f56fa5f3c67 100644 --- a/keyboards/redox/keymaps/default/keymap.c +++ b/keyboards/redox/keymaps/default/keymap.c @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX ,RESET ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX , + XXXXXXX ,QK_BOOT ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/redox/keymaps/via/keymap.c b/keyboards/redox/keymaps/via/keymap.c index f0f9285879e7..13c95bdd5331 100644 --- a/keyboards/redox/keymaps/via/keymap.c +++ b/keyboards/redox/keymaps/via/keymap.c @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX ,RESET ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , + XXXXXXX ,QK_BOOT ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/redox_media/keymaps/default/keymap.c b/keyboards/redox_media/keymaps/default/keymap.c index a8b479159f0a..efd0ac2afbf8 100644 --- a/keyboards/redox_media/keymaps/default/keymap.c +++ b/keyboards/redox_media/keymaps/default/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ┌────────┐ ┌────────┬────────┐ KC_MPRV, XXXXXXX, XXXXXXX, //┌────────┬────────┬────────┬───┼────┬───┼────┬────────┐ ┌──┼─────┬──┼─────┬──┼─────┬────────┬────────┬────────┐ - RESET ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5, KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , + QK_BOOT ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5, KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_F12 , XXXXXXX ,XXXXXXX ,XXXXXXX, KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/redox_w/keymaps/default/keymap.c b/keyboards/redox_w/keymaps/default/keymap.c index 91fc7afa9787..a91d3725f4b5 100644 --- a/keyboards/redox_w/keymaps/default/keymap.c +++ b/keyboards/redox_w/keymaps/default/keymap.c @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX ,RESET ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , + XXXXXXX ,QK_BOOT ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/redox_w/keymaps/via/keymap.c b/keyboards/redox_w/keymaps/via/keymap.c index 406bc1b8e115..b9af344a46dc 100644 --- a/keyboards/redox_w/keymaps/via/keymap.c +++ b/keyboards/redox_w/keymaps/via/keymap.c @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX ,RESET ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , + XXXXXXX ,QK_BOOT ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ diff --git a/keyboards/redscarf_iiplus/verb/keymaps/default/keymap.c b/keyboards/redscarf_iiplus/verb/keymaps/default/keymap.c index 4f05b0c28c8c..5920f2970591 100755 --- a/keyboards/redscarf_iiplus/verb/keymaps/default/keymap.c +++ b/keyboards/redscarf_iiplus/verb/keymaps/default/keymap.c @@ -22,6 +22,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F3, KC_F4, 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_F5, KC_F6, 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, KC_F7, KC_F8, 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, - KC_F9, RESET, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + KC_F9, QK_BOOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ) }; diff --git a/keyboards/redscarf_iiplus/verc/keymaps/default/keymap.c b/keyboards/redscarf_iiplus/verc/keymaps/default/keymap.c index f382b4775b9b..525c8094393c 100755 --- a/keyboards/redscarf_iiplus/verc/keymaps/default/keymap.c +++ b/keyboards/redscarf_iiplus/verc/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, 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, 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, diff --git a/keyboards/retro_75/keymaps/default/keymap.c b/keyboards/retro_75/keymaps/default/keymap.c index 602eb695ba98..929097b3b4c8 100644 --- a/keyboards/retro_75/keymaps/default/keymap.c +++ b/keyboards/retro_75/keymaps/default/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/reviung/reviung33/keymaps/default/keymap.c b/keyboards/reviung/reviung33/keymaps/default/keymap.c index 875df9760150..858d3f6ee35d 100644 --- a/keyboards/reviung/reviung33/keymaps/default/keymap.c +++ b/keyboards/reviung/reviung33/keymaps/default/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung33( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, _______, _______, _______ ), }; diff --git a/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c b/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c index 738915ce344b..05e2111b3d66 100644 --- a/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c +++ b/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung33( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, _______, _______, _______ ), }; diff --git a/keyboards/reviung/reviung34/keymaps/default/keymap.c b/keyboards/reviung/reviung34/keymaps/default/keymap.c index 66939d24697f..44ec64bdd371 100755 --- a/keyboards/reviung/reviung34/keymaps/default/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung34( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______ ), }; diff --git a/keyboards/reviung/reviung34/keymaps/default_2u/keymap.c b/keyboards/reviung/reviung34/keymaps/default_2u/keymap.c index 9f586b333c16..4e759db5d746 100755 --- a/keyboards/reviung/reviung34/keymaps/default_2u/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_2u/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung34_2u( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______ ), }; diff --git a/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c b/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c index 3faff2e36855..e1e9c83d2d25 100755 --- a/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung34( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______ ), }; diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c b/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c index e2d852354b85..fd232c6f0e18 100755 --- a/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung34( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, _______, _______, _______, _______ ), }; diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c b/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c index d5a5a2223bd7..0f9595c7b887 100755 --- a/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c +++ b/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung34_2u( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR, _______, _______, _______ ), }; diff --git a/keyboards/reviung/reviung39/keymaps/default/keymap.c b/keyboards/reviung/reviung39/keymaps/default/keymap.c index 7030be13fa44..ba82e933dc23 100644 --- a/keyboards/reviung/reviung39/keymaps/default/keymap.c +++ b/keyboards/reviung/reviung39/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung39( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______ ), }; diff --git a/keyboards/reviung/reviung39/keymaps/default_s/keymap.c b/keyboards/reviung/reviung39/keymaps/default_s/keymap.c index 42e2694315ed..d1423b9a1944 100644 --- a/keyboards/reviung/reviung39/keymaps/default_s/keymap.c +++ b/keyboards/reviung/reviung39/keymaps/default_s/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung39( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______ ), }; diff --git a/keyboards/reviung/reviung39/keymaps/via/keymap.c b/keyboards/reviung/reviung39/keymaps/via/keymap.c index 0a4a664dc2fb..7915452427db 100644 --- a/keyboards/reviung/reviung39/keymaps/via/keymap.c +++ b/keyboards/reviung/reviung39/keymaps/via/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung39( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______ ), }; diff --git a/keyboards/reviung/reviung41/keymaps/default/keymap.c b/keyboards/reviung/reviung41/keymaps/default/keymap.c index 4231e4896b5f..749eac569370 100644 --- a/keyboards/reviung/reviung41/keymaps/default/keymap.c +++ b/keyboards/reviung/reviung41/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung41( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, _______, _______ ), }; diff --git a/keyboards/reviung/reviung41/keymaps/via/keymap.c b/keyboards/reviung/reviung41/keymaps/via/keymap.c index 1f0bce741f8e..aceddfcc6b3f 100644 --- a/keyboards/reviung/reviung41/keymaps/via/keymap.c +++ b/keyboards/reviung/reviung41/keymaps/via/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_reviung41( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, _______, _______ ), }; diff --git a/keyboards/reviung/reviung53/keymaps/default/keymap.c b/keyboards/reviung/reviung53/keymaps/default/keymap.c index a8d95d70d597..6b47aad35a99 100644 --- a/keyboards/reviung/reviung53/keymaps/default/keymap.c +++ b/keyboards/reviung/reviung53/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______ ), [_ADJUST] = LAYOUT_reviung53( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/reviung/reviung53/keymaps/via/keymap.c b/keyboards/reviung/reviung53/keymaps/via/keymap.c index a8d95d70d597..6b47aad35a99 100644 --- a/keyboards/reviung/reviung53/keymaps/via/keymap.c +++ b/keyboards/reviung/reviung53/keymaps/via/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______ ), [_ADJUST] = LAYOUT_reviung53( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/reviung/reviung61/keymaps/default/keymap.c b/keyboards/reviung/reviung61/keymaps/default/keymap.c index ef24d4be2732..c0ef54c357e5 100644 --- a/keyboards/reviung/reviung61/keymaps/default/keymap.c +++ b/keyboards/reviung/reviung61/keymaps/default/keymap.c @@ -36,6 +36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, _______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, KC_INS, _______, - _______, _______, _______, _______, RESET, _______, _______, _______ + _______, _______, _______, _______, QK_BOOT, _______, _______, _______ ) }; diff --git a/keyboards/reviung/reviung61/keymaps/default_rgb/keymap.c b/keyboards/reviung/reviung61/keymaps/default_rgb/keymap.c index ef24d4be2732..c0ef54c357e5 100644 --- a/keyboards/reviung/reviung61/keymaps/default_rgb/keymap.c +++ b/keyboards/reviung/reviung61/keymaps/default_rgb/keymap.c @@ -36,6 +36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, _______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, KC_INS, _______, - _______, _______, _______, _______, RESET, _______, _______, _______ + _______, _______, _______, _______, QK_BOOT, _______, _______, _______ ) }; diff --git a/keyboards/rgbkb/mun/keymaps/default/keymap.c b/keyboards/rgbkb/mun/keymaps/default/keymap.c index bdc2ea9811de..8c6105997164 100644 --- a/keyboards/rgbkb/mun/keymaps/default/keymap.c +++ b/keyboards/rgbkb/mun/keymaps/default/keymap.c @@ -119,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME, _______, RGB_RMOD,_______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NLCK, QWERTY, COLEMAK, diff --git a/keyboards/rgbkb/mun/keymaps/via/keymap.c b/keyboards/rgbkb/mun/keymaps/via/keymap.c index bdc2ea9811de..8c6105997164 100644 --- a/keyboards/rgbkb/mun/keymaps/via/keymap.c +++ b/keyboards/rgbkb/mun/keymaps/via/keymap.c @@ -119,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME, _______, RGB_RMOD,_______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NLCK, QWERTY, COLEMAK, diff --git a/keyboards/rgbkb/pan/keymaps/default/keymap.c b/keyboards/rgbkb/pan/keymaps/default/keymap.c index 1188db837ca8..dbc127616a30 100644 --- a/keyboards/rgbkb/pan/keymaps/default/keymap.c +++ b/keyboards/rgbkb/pan/keymaps/default/keymap.c @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJ] = LAYOUT_all( KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, - _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, KC_P0, KC_PDOT, KC_NLCK, _QWERTY, _COLEMAK diff --git a/keyboards/rgbkb/sol/keymaps/default/keymap.c b/keyboards/rgbkb/sol/keymaps/default/keymap.c index 1414c0ce249c..c82259f5ee91 100644 --- a/keyboards/rgbkb/sol/keymaps/default/keymap.c +++ b/keyboards/rgbkb/sol/keymaps/default/keymap.c @@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,------------------------------------------------. ,------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| - * | | SAD | VAI | SAI | RESET| | | | | | P7 | P8 | P9 | | | + * | | SAD | VAI | SAI | QK_BOOT| | | | | | P7 | P8 | P9 | | | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| * | | HUD | VAD | HUI |RGBRST| | | | | | P4 | P5 | P6 | | | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| @@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJ] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI, RGBRST, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NLCK, QWERTY, COLEMAK, @@ -263,7 +263,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } #endif return false; - case RESET: + case QK_BOOT: if (record->event.pressed) { reset_timer = timer_read(); } else { diff --git a/keyboards/rgbkb/sol/keymaps/default/readme.md b/keyboards/rgbkb/sol/keymaps/default/readme.md index 7036f029f24a..6c3dfb05f5dc 100644 --- a/keyboards/rgbkb/sol/keymaps/default/readme.md +++ b/keyboards/rgbkb/sol/keymaps/default/readme.md @@ -57,7 +57,7 @@ * ,------------------------------------------------. ,------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| - * | | SAD | VAI | SAI | RESET| | | | | | P7 | P8 | P9 | | | + * | | SAD | VAI | SAI | QK_BOOT| | | | | | P7 | P8 | P9 | | | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| * | | HUD | VAD | HUI |RGBRST| | | | | | P4 | P5 | P6 | | | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| diff --git a/keyboards/rgbkb/sol3/keymaps/default/keymap.c b/keyboards/rgbkb/sol3/keymaps/default/keymap.c index c1d1a04d79d0..f619c624cd9e 100644 --- a/keyboards/rgbkb/sol3/keymaps/default/keymap.c +++ b/keyboards/rgbkb/sol3/keymaps/default/keymap.c @@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI, RGB_RST, _______, DM_REC1, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, RGB_SPD, _______, RGB_SPI, _______, _______, DM_RSTP, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME, _______, RGB_RMOD,RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NLCK, QWERTY, COLEMAK, diff --git a/keyboards/rgbkb/sol3/keymaps/via/keymap.c b/keyboards/rgbkb/sol3/keymaps/via/keymap.c index 740d3cc084c4..ae0560036f68 100644 --- a/keyboards/rgbkb/sol3/keymaps/via/keymap.c +++ b/keyboards/rgbkb/sol3/keymaps/via/keymap.c @@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI, RGB_RST, _______, DM_REC1, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, RGB_SPD, _______, RGB_SPI, _______, _______, DM_RSTP, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME, _______, RGB_RMOD,RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NLCK, QWERTY, COLEMAK, diff --git a/keyboards/rgbkb/zen/rev1/keymaps/default/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/default/keymap.c index e02010f193b0..b91ae7f9229b 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/default/keymap.c +++ b/keyboards/rgbkb/zen/rev1/keymaps/default/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------. .-----------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | |RGBSAI|RGBVAI|RGBSAD| RESET| [ | | ] | Pgup | Up | Pgdn |Insert| Home | + * | |RGBSAI|RGBVAI|RGBSAD| QK_BOOT| [ | | ] | Pgup | Up | Pgdn |Insert| Home | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | |RGBHUD|RGBVAD|RGBHUI| | | | | Left | Down | Right|Delete| End | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_NAV] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, RGB_SAI, RGB_VAI, RGB_SAD, RESET, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME, + _______, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME, _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END, KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_LCTL, KC_LGUI, KC_LALT, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD diff --git a/keyboards/rgbkb/zen/rev2/keymaps/default/keymap.c b/keyboards/rgbkb/zen/rev2/keymaps/default/keymap.c index a369f5399f6a..b67893170f11 100644 --- a/keyboards/rgbkb/zen/rev2/keymaps/default/keymap.c +++ b/keyboards/rgbkb/zen/rev2/keymaps/default/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_NAV] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, RGB_SAI, RGB_VAI, RGB_SAD, RESET, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME, + _______, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME, _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END, KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_LCTL, KC_LGUI, KC_LALT, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, diff --git a/keyboards/rgbkb/zygomorph/keymaps/default/keymap.c b/keyboards/rgbkb/zygomorph/keymaps/default/keymap.c index 7f19c2ef02f0..63564b7654f6 100644 --- a/keyboards/rgbkb/zygomorph/keymaps/default/keymap.c +++ b/keyboards/rgbkb/zygomorph/keymaps/default/keymap.c @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * /-----------------------------------------\ /-----------------------------------------\ * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | SAD | VAI | SAI | RESET| | | | | | | | | + * | | SAD | VAI | SAI | QK_BOOT| | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | HUD | VAD | HUI |RGBRST| | | |QWERTY|COLEMK| | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJ] = LAYOUT_ortho_5x12( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI, RGBRST, _______, _______, QWERTY, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD diff --git a/keyboards/rgbkb/zygomorph/keymaps/default/readme.md b/keyboards/rgbkb/zygomorph/keymaps/default/readme.md index 67e68578d042..ef7831de4a12 100644 --- a/keyboards/rgbkb/zygomorph/keymaps/default/readme.md +++ b/keyboards/rgbkb/zygomorph/keymaps/default/readme.md @@ -66,7 +66,7 @@ * ,-----------------------------------------. ,-----------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | SAD | VAI | SAI | RESET| | | | | | | | | + * | | SAD | VAI | SAI | QK_BOOT| | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | HUD | VAD | HUI |RGBRST| | | |QWERTY|COLEMK| | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| diff --git a/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c b/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c index 8457cb54f142..48bd1a33f75c 100644 --- a/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c +++ b/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * /-----------------------------------------\ /-----------------------------------------\ * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | SAD | VAI | SAI | RESET| | | | | | | | | + * | | SAD | VAI | SAI | QK_BOOT| | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | HUD | VAD | HUI |RGBRST| | | |QWERTY|COLEMK| | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJ] = LAYOUT_ortho_5x12( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI, RGBRST, _______, _______, QWERTY, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD diff --git a/keyboards/rocketboard_16/keymaps/default/keymap.c b/keyboards/rocketboard_16/keymaps/default/keymap.c index 6d75d40fbdb9..ce26a834d0f4 100644 --- a/keyboards/rocketboard_16/keymaps/default/keymap.c +++ b/keyboards/rocketboard_16/keymaps/default/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_RMOD, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_EXAM, KC_NO, KC_NO, KC_NO, KC_NO, - RESET, RGB_TOG, RGB_SPI, RGB_SPD, + QK_BOOT, RGB_TOG, RGB_SPI, RGB_SPD, KC_NO, _______, KC_NO, KC_NO ) }; diff --git a/keyboards/rocketboard_16/keymaps/via/keymap.c b/keyboards/rocketboard_16/keymaps/via/keymap.c index 6d75d40fbdb9..ce26a834d0f4 100644 --- a/keyboards/rocketboard_16/keymaps/via/keymap.c +++ b/keyboards/rocketboard_16/keymaps/via/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_RMOD, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_EXAM, KC_NO, KC_NO, KC_NO, KC_NO, - RESET, RGB_TOG, RGB_SPI, RGB_SPD, + QK_BOOT, RGB_TOG, RGB_SPI, RGB_SPD, KC_NO, _______, KC_NO, KC_NO ) }; diff --git a/keyboards/rominronin/katana60/rev1/keymaps/default/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/default/keymap.c index 1cb925889f63..d0b03bf45b35 100644 --- a/keyboards/rominronin/katana60/rev1/keymaps/default/keymap.c +++ b/keyboards/rominronin/katana60/rev1/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______ ), [SYMB] = LAYOUT( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, diff --git a/keyboards/rominronin/katana60/rev2/keymaps/default/keymap.c b/keyboards/rominronin/katana60/rev2/keymaps/default/keymap.c index d9c9b6d4ed42..9b06ebfedffc 100644 --- a/keyboards/rominronin/katana60/rev2/keymaps/default/keymap.c +++ b/keyboards/rominronin/katana60/rev2/keymaps/default/keymap.c @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, KC_P0, _______, _______, KC_PDOT, KC_PENT, _______, _______ ), [SYMB] = LAYOUT_1_a( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, diff --git a/keyboards/rominronin/katana60/rev2/keymaps/via/keymap.c b/keyboards/rominronin/katana60/rev2/keymaps/via/keymap.c index 3661e245ec61..88afa6e64d66 100644 --- a/keyboards/rominronin/katana60/rev2/keymaps/via/keymap.c +++ b/keyboards/rominronin/katana60/rev2/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, KC_P0, _______, _______, KC_PDOT, KC_PENT, _______, _______ ), [2] = LAYOUT_1_a( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, diff --git a/keyboards/roseslite/keymaps/default/keymap.c b/keyboards/roseslite/keymaps/default/keymap.c index 1e28aa3b5d8f..22365a5e2e8c 100644 --- a/keyboards/roseslite/keymaps/default/keymap.c +++ b/keyboards/roseslite/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, _______, 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_DEL, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/roseslite/keymaps/via/keymap.c b/keyboards/roseslite/keymaps/via/keymap.c index a8ececf1f49c..b4b455cf38b8 100644 --- a/keyboards/roseslite/keymaps/via/keymap.c +++ b/keyboards/roseslite/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, _______, 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_DEL, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ @@ -34,14 +34,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( _______, _______, 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_DEL, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT( _______, _______, 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_DEL, _______, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/rpiguy9907/southpaw66/keymaps/default/keymap.c b/keyboards/rpiguy9907/southpaw66/keymaps/default/keymap.c index 712a34c9be45..426bd91c7ec7 100644 --- a/keyboards/rpiguy9907/southpaw66/keymaps/default/keymap.c +++ b/keyboards/rpiguy9907/southpaw66/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_RCTL ), [1] = LAYOUT( - KC_TRNS, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/rpiguy9907/southpaw66/keymaps/via/keymap.c b/keyboards/rpiguy9907/southpaw66/keymaps/via/keymap.c index 87eccd222d09..ec6f5e3e4eea 100644 --- a/keyboards/rpiguy9907/southpaw66/keymaps/via/keymap.c +++ b/keyboards/rpiguy9907/southpaw66/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_SPC, MO(1), KC_RALT, KC_RCTL ), [1] = LAYOUT( - KC_TRNS, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/rubi/keymaps/default/keymap.c b/keyboards/rubi/keymaps/default/keymap.c index e0e7290dfe80..d2eaf0bb070e 100644 --- a/keyboards/rubi/keymaps/default/keymap.c +++ b/keyboards/rubi/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RESET , KC_TRNS, + KC_TRNS, QK_BOOT , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/rubi/keymaps/via/keymap.c b/keyboards/rubi/keymaps/via/keymap.c index 1e8cb70c7c2d..f9657a99ccb5 100644 --- a/keyboards/rubi/keymaps/via/keymap.c +++ b/keyboards/rubi/keymaps/via/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RESET , KC_TRNS, + KC_TRNS, QK_BOOT , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/runes/vaengr/keymaps/default/keymap.c b/keyboards/runes/vaengr/keymaps/default/keymap.c index 340cb963b389..e0ae22effc7f 100644 --- a/keyboards/runes/vaengr/keymaps/default/keymap.c +++ b/keyboards/runes/vaengr/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DOUBLE] = LAYOUT( KC_SLEP, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, RGB_TOG, RGB_MODE_FORWARD, RGB_HUI, RGB_SAI, RGB_VAI, 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), diff --git a/keyboards/runes/vaengr/keymaps/via/keymap.c b/keyboards/runes/vaengr/keymaps/via/keymap.c index 340cb963b389..e0ae22effc7f 100644 --- a/keyboards/runes/vaengr/keymaps/via/keymap.c +++ b/keyboards/runes/vaengr/keymaps/via/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DOUBLE] = LAYOUT( KC_SLEP, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, RGB_TOG, RGB_MODE_FORWARD, RGB_HUI, RGB_SAI, RGB_VAI, 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), diff --git a/keyboards/ryloo_studio/m0110/keymaps/default/keymap.c b/keyboards/ryloo_studio/m0110/keymaps/default/keymap.c index 98b739b597fc..87eb3146e3bd 100755 --- a/keyboards/ryloo_studio/m0110/keymaps/default/keymap.c +++ b/keyboards/ryloo_studio/m0110/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( 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, _______, KC_DEL, - RGB_TOG, _______, KC_UP, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, RESET, + RGB_TOG, _______, KC_UP, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, QK_BOOT, BL_TOGG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, _______, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c index c56fb76fcb87..117a129a8b31 100644 --- a/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( /* Base */ //,-----------------------------------------------------| |--------------------------------------------------------------------------------. - TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c index 7b0b76c76a50..b2946669661a 100644 --- a/keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c +++ b/keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_L2] = LAYOUT( /* Base */ //,-----------------------------------------------------| |--------------------------------------------------------------------------------. - TG(_L2), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + TG(_L2), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------| @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_L3] = LAYOUT( /* Base */ //,-----------------------------------------------------| |--------------------------------------------------------------------------------. - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/default/keymap.c index e145c02e320b..9501d9709cc4 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/default/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______ //`------------------------------------------------------------------------------------------------------------' ) }; diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/default/readme.md index a28ad8c52c8b..c0624903d7fc 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default/readme.md +++ b/keyboards/salicylic_acid3/naked48/keymaps/default/readme.md @@ -33,5 +33,5 @@ | ~| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | RGB_RST| XXXXX| XXXXX| XXXXX| XXXXX| DEL| | ESC| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | RGB_TOG| RGB_MOD| XXXXX| C+A+D| Alt+PSCR| PSCR| | LSFT| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | RGB_VAD| RGB_VAI| RGB_HUD| RGB_HUI| RGB_SAD| RGB_SAI| -| |ADJUST| LCTRL| LALT| LGUI| LOWER| RESET| RESET| RAISE| MNXT| VOLD| VOLU| MPLY| | +| |ADJUST| LCTRL| LALT| LGUI| LOWER| QK_BOOT| QK_BOOT| RAISE| MNXT| VOLD| VOLU| MPLY| | diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c index f5d0772aa4e6..4804025eb837 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_MOD, RGB_TOG, RGB_SAI, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------| - _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______ //`------------------------------------------------------------------------------------------------------------' ) }; diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/keymap.c index f6e460588cc1..9ede4553a805 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/keymap.c @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| - _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG,_______,_______ + _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG,_______,_______ //`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------| ) }; diff --git a/keyboards/salicylic_acid3/naked48/keymaps/via/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/via/keymap.c index 8d0c6f901bea..a84e7f117374 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/via/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/via/keymap.c @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______ //`------------------------------------------------------------------------------------------------------------' ) }; diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default/keymap.c index 3a95e73244d9..8b1f5e9362f4 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/default/keymap.c @@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______ //`------------------------------------------------------------------------------------------------------------' ) }; diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default/readme.md b/keyboards/salicylic_acid3/naked60/keymaps/default/readme.md index c6f3342b2195..459112f4a29c 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default/readme.md +++ b/keyboards/salicylic_acid3/naked60/keymaps/default/readme.md @@ -49,5 +49,5 @@ | TILD| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| BTN1| MS_U| BTN2| XXXXX|Alt+PSCR| | LSFT| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| MS_L| MS_D| MS_R| XXXXX| PSCR| | LCTRL| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| C+A+D| -| |ADJUST| LCTRL| LALT| LGUI| LOWER| RESET| RESET| RAISE| MNXT| VOLD| VOLU| MPLY| | +| |ADJUST| LCTRL| LALT| LGUI| LOWER| QK_BOOT| QK_BOOT| RAISE| MNXT| VOLD| VOLU| MPLY| | diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c index be8c9f3ec959..58f8d269c18b 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c @@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______ //`------------------------------------------------------------------------------------------------------------' ) }; diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c index 95a273a38849..cc1cd38ff61c 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c @@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), RGB_MOD, RGB_TOG,_______,_______, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| - _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______ //`------------------------------------------------------------------------------------------------------------' ) }; diff --git a/keyboards/salicylic_acid3/naked64/keymaps/default/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/default/keymap.c index b26044507e68..799a6c30db53 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/naked64/keymaps/default/keymap.c @@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( /* Base */ //,--------------------------------------------------------------| |--------------------------------------------------------------. - TG(_FLOCK), RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + TG(_FLOCK), QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c index cc30e5332d3e..1748f000363a 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/keymap.c @@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_with_setta21( /* Base */ - TG(_FLOCK), RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, + TG(_FLOCK), QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, LCA(KC_DEL), LALT(KC_PSCR), KC_PSCR, XXXXXXX, RGB_SAD, RGB_SAI, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG, diff --git a/keyboards/salicylic_acid3/nknl7en/keymaps/default/keymap.c b/keyboards/salicylic_acid3/nknl7en/keymaps/default/keymap.c index f3ce52e91b80..54bfb6277bb2 100644 --- a/keyboards/salicylic_acid3/nknl7en/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/nknl7en/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( //,-----------------------------------------------------| |--------------------------------------------------------------------------------. - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_STOP, KC_PSCR, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_STOP, KC_PSCR, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/salicylic_acid3/nknl7en/keymaps/via/keymap.c b/keyboards/salicylic_acid3/nknl7en/keymaps/via/keymap.c index f31d06a22b73..79ec55ef4503 100644 --- a/keyboards/salicylic_acid3/nknl7en/keymaps/via/keymap.c +++ b/keyboards/salicylic_acid3/nknl7en/keymaps/via/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_L1] = LAYOUT( //,-----------------------------------------------------| |--------------------------------------------------------------------------------. - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_STOP, KC_PSCR, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_STOP, KC_PSCR, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/sandwich/keeb68/keymaps/default/keymap.c b/keyboards/sandwich/keeb68/keymaps/default/keymap.c index 4c20b53e814b..ec8283c42209 100644 --- a/keyboards/sandwich/keeb68/keymaps/default/keymap.c +++ b/keyboards/sandwich/keeb68/keymaps/default/keymap.c @@ -35,6 +35,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, _______, BL_TOGG, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_END, - _______, RESET, _______, _______, _______, MO(_FN), _______, _______, KC_VOLD, _______ + _______, QK_BOOT, _______, _______, _______, MO(_FN), _______, _______, KC_VOLD, _______ ) }; diff --git a/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c index d1e5b663dcbc..6c88b70bfead 100644 --- a/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c +++ b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c @@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET, DVORAK, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, QK_BOOT, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/satt/comet46/keymaps/default/keymap.c b/keyboards/satt/comet46/keymaps/default/keymap.c index 7a8c29dcb9f7..cf2c911d4c32 100644 --- a/keyboards/satt/comet46/keymaps/default/keymap.c +++ b/keyboards/satt/comet46/keymaps/default/keymap.c @@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, RESET, DVORAK, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, QK_BOOT, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/satt/vision/keymaps/default/keymap.c b/keyboards/satt/vision/keymaps/default/keymap.c index d7b3b00a88fa..7f50dc704496 100644 --- a/keyboards/satt/vision/keymaps/default/keymap.c +++ b/keyboards/satt/vision/keymaps/default/keymap.c @@ -59,7 +59,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/satt/vision/keymaps/via/keymap.c b/keyboards/satt/vision/keymaps/via/keymap.c index bacdccf80fd6..037ab3e382a6 100644 --- a/keyboards/satt/vision/keymaps/via/keymap.c +++ b/keyboards/satt/vision/keymaps/via/keymap.c @@ -56,7 +56,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT( - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/sauce/mild/keymaps/default/keymap.c b/keyboards/sauce/mild/keymaps/default/keymap.c index 4b6f63aa117f..7553b11206a3 100644 --- a/keyboards/sauce/mild/keymaps/default/keymap.c +++ b/keyboards/sauce/mild/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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_MPLY, KC_MUTE, KC_VOLU, 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_MPRV, KC_MNXT, KC_VOLD, 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, diff --git a/keyboards/sauce/mild/keymaps/via/keymap.c b/keyboards/sauce/mild/keymaps/via/keymap.c index 01f5742d0de5..3d816d127e56 100644 --- a/keyboards/sauce/mild/keymaps/via/keymap.c +++ b/keyboards/sauce/mild/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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_MPLY, KC_MUTE, KC_VOLU, 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_MPRV, KC_MNXT, KC_VOLD, 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, diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c b/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c index f0d21c96bcf9..b65e36d9e53b 100644 --- a/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_INS, - RESET, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, + QK_BOOT, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/via/keymap.c b/keyboards/sawnsprojects/vcl65/solder/keymaps/via/keymap.c index 708fc51d3d63..497a4964ea08 100644 --- a/keyboards/sawnsprojects/vcl65/solder/keymaps/via/keymap.c +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_INS, - RESET, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, + QK_BOOT, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS diff --git a/keyboards/scatter42/keymaps/default/keymap.c b/keyboards/scatter42/keymaps/default/keymap.c index 53e0d1e5a7fd..8f3da5498b19 100644 --- a/keyboards/scatter42/keymaps/default/keymap.c +++ b/keyboards/scatter42/keymaps/default/keymap.c @@ -27,5 +27,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL, KC_LSFT, KC_TAB, KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_RALT, KC_BSPC, KC_RSFT, KC_RCTL), [1] = LAYOUT(KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F11, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_LCTL, KC_LSFT, KC_ESC, KC_LGUI, KC_TRNS, KC_SPC, KC_ENT, MO(3), KC_RALT, KC_DEL, KC_RSFT, KC_PSCR), [2] = LAYOUT(KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_NO, KC_NO, KC_NO, KC_BSLS, KC_GRV, KC_MINS, KC_EQL, KC_QUOT, KC_LCBR, KC_RCBR, KC_NO, KC_NO, KC_NO, KC_PIPE, KC_TILD, KC_UNDS, KC_PLUS, KC_DQUO, KC_LBRC, KC_RBRC, KC_LCTL, KC_LSFT, KC_ESC, KC_LGUI, MO(3), KC_SPC, KC_ENT, KC_TRNS, KC_RALT, KC_DEL, KC_RSFT, KC_RCTL), - [3] = LAYOUT(KC_VOLU, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRIU, KC_VOLD, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRID, KC_MUTE, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO) + [3] = LAYOUT(KC_VOLU, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRIU, KC_VOLD, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRID, KC_MUTE, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO) }; diff --git a/keyboards/sck/m0116b/keymaps/default/keymap.c b/keyboards/sck/m0116b/keymaps/default/keymap.c index 8a6f831fe6b5..56bb777f7aba 100644 --- a/keyboards/sck/m0116b/keymaps/default/keymap.c +++ b/keyboards/sck/m0116b/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Keymap Layer 1: (Layer 1) Layer 1 * ,---------------------------------------------------------------------------------. - * | |RESET| | + * | |QK_BOOT| | * `---------------------------------------------------------------------------------' * ,-----------------------------------------------------------. .-------------------. * | |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| | | | | | | @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' `-------------------' */ [1] = LAYOUT_m0116_ansi( /* Layer 1 */ - RESET, + QK_BOOT, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/sendyyeah/75pixels/keymaps/default/keymap.c b/keyboards/sendyyeah/75pixels/keymaps/default/keymap.c index 98f71c4de4cb..d18f4f4c2579 100644 --- a/keyboards/sendyyeah/75pixels/keymaps/default/keymap.c +++ b/keyboards/sendyyeah/75pixels/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [LW] = LAYOUT_ortho_5x15( - RESET , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_DEL , _______, _______, _______, + QK_BOOT , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_DEL , _______, _______, _______, _______, KC_F11 , KC_F12 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/sendyyeah/75pixels/keymaps/via/keymap.c b/keyboards/sendyyeah/75pixels/keymaps/via/keymap.c index 98f71c4de4cb..d18f4f4c2579 100644 --- a/keyboards/sendyyeah/75pixels/keymaps/via/keymap.c +++ b/keyboards/sendyyeah/75pixels/keymaps/via/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [LW] = LAYOUT_ortho_5x15( - RESET , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_DEL , _______, _______, _______, + QK_BOOT , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_DEL , _______, _______, _______, _______, KC_F11 , KC_F12 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/senselessclay/had60/keymaps/default/keymap.c b/keyboards/senselessclay/had60/keymaps/default/keymap.c index d9c4f458c8b5..358d75be4dfd 100644 --- a/keyboards/senselessclay/had60/keymaps/default/keymap.c +++ b/keyboards/senselessclay/had60/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [2] = LAYOUT_all( - MAGIC_NO_GUI, 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, RESET, + MAGIC_NO_GUI, 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, QK_BOOT, MAGIC_UNNO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_RGHT, 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_DOWN, KC_TRNS, KC_TRNS, diff --git a/keyboards/senselessclay/had60/keymaps/iso/keymap.c b/keyboards/senselessclay/had60/keymaps/iso/keymap.c index b35af822d9ce..b46a6e2c6da7 100644 --- a/keyboards/senselessclay/had60/keymaps/iso/keymap.c +++ b/keyboards/senselessclay/had60/keymaps/iso/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [2] = LAYOUT_all( - MAGIC_NO_GUI, 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, RESET, + MAGIC_NO_GUI, 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, QK_BOOT, MAGIC_UNNO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_RGHT, 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_DOWN, KC_TRNS, KC_TRNS, diff --git a/keyboards/senselessclay/had60/keymaps/via/keymap.c b/keyboards/senselessclay/had60/keymaps/via/keymap.c index 8ea437aa2a3d..b8e85c81d723 100644 --- a/keyboards/senselessclay/had60/keymaps/via/keymap.c +++ b/keyboards/senselessclay/had60/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [_2] = LAYOUT_all( - MAGIC_NO_GUI, 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, RESET, + MAGIC_NO_GUI, 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, QK_BOOT, MAGIC_UNNO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_RGHT, 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_DOWN, KC_TRNS, KC_TRNS, diff --git a/keyboards/sentraq/s65_plus/keymaps/default/keymap.c b/keyboards/sentraq/s65_plus/keymaps/default/keymap.c index 0db09d2b46f0..e912a8bbf7dd 100644 --- a/keyboards/sentraq/s65_plus/keymaps/default/keymap.c +++ b/keyboards/sentraq/s65_plus/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_AL] = LAYOUT_ansi( - _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_STEP, + _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, KC_VOLU, _______, diff --git a/keyboards/sentraq/s65_plus/keymaps/iso/keymap.c b/keyboards/sentraq/s65_plus/keymaps/iso/keymap.c index bb2d1fa2baa4..3e5ebe57484a 100644 --- a/keyboards/sentraq/s65_plus/keymaps/iso/keymap.c +++ b/keyboards/sentraq/s65_plus/keymaps/iso/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_AL] = LAYOUT_iso( - _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_STEP, + _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, KC_VOLU, _______, diff --git a/keyboards/sets3n/kk980/keymaps/default/keymap.c b/keyboards/sets3n/kk980/keymaps/default/keymap.c index f4255f450582..8118ce639cdf 100644 --- a/keyboards/sets3n/kk980/keymaps/default/keymap.c +++ b/keyboards/sets3n/kk980/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_DEC, BL_INC, BL_STEP, 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, 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, KC_TRNS diff --git a/keyboards/sets3n/kk980/keymaps/via/keymap.c b/keyboards/sets3n/kk980/keymaps/via/keymap.c index f4255f450582..8118ce639cdf 100644 --- a/keyboards/sets3n/kk980/keymaps/via/keymap.c +++ b/keyboards/sets3n/kk980/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_DEC, BL_INC, BL_STEP, 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, 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, KC_TRNS diff --git a/keyboards/shapeshifter4060/keymaps/default/keymap.c b/keyboards/shapeshifter4060/keymaps/default/keymap.c index e390b5a36f9c..88ea5a7138ba 100644 --- a/keyboards/shapeshifter4060/keymaps/default/keymap.c +++ b/keyboards/shapeshifter4060/keymaps/default/keymap.c @@ -86,6 +86,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______ , BWSR_BK , TAB_LFT , KC_UP , TAB_RGT , BWSR_FW , KC_MUTE , XXXXXXX , SCR_LFT , SCR_FUL , SCR_RGT , _______ , _______ , XXXXXXX , KC_LEFT , KC_DOWN , KC_RGHT , KC_PGUP , KC_VOLU , SLACKUP , XXXXXXX , XXXXXXX , TO_QW , _______ , _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_PGDN , KC_VOLD , SLACKDN , XXXXXXX , XXXXXXX , TO_DV , _______ , - _______ , RESET , _______ , _______ , _LAYER_ , KC_BSPC , _______ , KC_LSFT , KC_LGUI , KC_LALT , KC_LCTL , _______ + _______ , QK_BOOT , _______ , _______ , _LAYER_ , KC_BSPC , _______ , KC_LSFT , KC_LGUI , KC_LALT , KC_LCTL , _______ ) }; diff --git a/keyboards/sidderskb/majbritt/rev1/keymaps/default/keymap.c b/keyboards/sidderskb/majbritt/rev1/keymaps/default/keymap.c index 21cdd04ed417..529299e4569f 100644 --- a/keyboards/sidderskb/majbritt/rev1/keymaps/default/keymap.c +++ b/keyboards/sidderskb/majbritt/rev1/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_BSPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/signum/3_0/keymaps/default/keymap.c b/keyboards/signum/3_0/keymaps/default/keymap.c index 15cf215305ee..ed31c5476047 100644 --- a/keyboards/signum/3_0/keymaps/default/keymap.c +++ b/keyboards/signum/3_0/keymaps/default/keymap.c @@ -731,7 +731,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ------------------------------------------------- */ LAYOUT_ortho_4x12( - KC_TRNS, KC_NO, KC_MPLY, KC_VOLU, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_PWR, + KC_TRNS, KC_NO, KC_MPLY, KC_VOLU, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_PWR, KC_TRNS, KC_NO, KC_MPRV, KC_MUTE, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_TRNS, MO(5), KC_NO, KC_VOLD, KC_VOLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/signum/3_0/keymaps/default/layout.py b/keyboards/signum/3_0/keymaps/default/layout.py index 1e43e25c5743..c4d954651819 100644 --- a/keyboards/signum/3_0/keymaps/default/layout.py +++ b/keyboards/signum/3_0/keymaps/default/layout.py @@ -369,7 +369,7 @@ ">>|": "KC_MNXT", "|<<": "KC_MPRV", "play/ps": "KC_MPLY", "Bri +": "KC_BRIU", "Bri -": "KC_BRID", # Quantum Keycodes - "_reset": "RESET", "_debug": "DEBUG", "_eep_re": "EEP_RST", + "_reset": "QK_BOOT", "_debug": "DEBUG", "_eep_re": "EEP_RST", # Audio Keys missing # Backlighting "Led 0": "BL_TOGG", "Led +": "BL_INC", "Led -": "BL_DEC", "Led ~": "BL_BRTG", diff --git a/keyboards/silverbullet44/keymaps/default/keymap.c b/keyboards/silverbullet44/keymaps/default/keymap.c index af8078608dbc..ceaee389c762 100644 --- a/keyboards/silverbullet44/keymaps/default/keymap.c +++ b/keyboards/silverbullet44/keymaps/default/keymap.c @@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------' '-----------------------------' */ [_CURSOL] = LAYOUT( - RESET , KC_F1, KC_F2, KC_PGUP, KC_F4, KC_F5, KC_F6, KC_F7, KC_UP, KC_F9, KC_F10, RESET, + QK_BOOT , KC_F1, KC_F2, KC_PGUP, KC_F4, KC_F5, KC_F6, KC_F7, KC_UP, KC_F9, KC_F10, QK_BOOT, _______, KC_TILD, KC_HOME, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PIPE, KC_F11, _______, KC_GRV, C(KC_LEFT), KC_F3, C(KC_RGHT), S(ALTAB), ALTAB, LCA(KC_LEFT), KC_F8, LCA(KC_RGHT), KC_BSLS, RGBRST, _______, _______, C(KC_SPC), MO(_ADJUST), _______, _______, _______, _______ diff --git a/keyboards/singa/keymaps/default/keymap.c b/keyboards/singa/keymaps/default/keymap.c index 20936116b12f..558a1e4db6a4 100644 --- a/keyboards/singa/keymaps/default/keymap.c +++ b/keyboards/singa/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_wkl( /* Base */ - RESET, 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, + QK_BOOT, 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, KC_TRNS, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_CAPS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/singa/keymaps/via/keymap.c b/keyboards/singa/keymaps/via/keymap.c index 68a800a0b919..f3312a1a92a2 100644 --- a/keyboards/singa/keymaps/via/keymap.c +++ b/keyboards/singa/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c b/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c index 96c2351e89ed..08a608613915 100644 --- a/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c +++ b/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( 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, KC_DEL, KC_TRNS, - 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_PAUSE, RESET, KC_TRNS, + 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_PAUSE, QK_BOOT, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, 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, KC_TRNS, NK_TOGG, 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, KC_TRNS diff --git a/keyboards/skippys_custom_pcs/rooboard65/keymaps/via/keymap.c b/keyboards/skippys_custom_pcs/rooboard65/keymaps/via/keymap.c index 3e071bd079f8..89576787ffde 100644 --- a/keyboards/skippys_custom_pcs/rooboard65/keymaps/via/keymap.c +++ b/keyboards/skippys_custom_pcs/rooboard65/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_65_ansi( 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, KC_DEL, KC_TRNS, - 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_PAUSE, RESET, KC_TRNS, + 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_PAUSE, QK_BOOT, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, 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, KC_TRNS, NK_TOGG, 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, KC_TRNS diff --git a/keyboards/slz40/keymaps/default/keymap.c b/keyboards/slz40/keymaps/default/keymap.c index 9212d792e827..5e3513211015 100644 --- a/keyboards/slz40/keymaps/default/keymap.c +++ b/keyboards/slz40/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_SPACE, KC_QUOT, KC_HOME, KC_PGDN, KC_END ), [_FN2] = LAYOUT( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RESET, + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, QK_BOOT, KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, KC_BSPC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSLS, KC_UNDS, KC_PLUS, KC_NO, KC_NO, KC_ENT, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCBR, KC_RCBR, KC_COMM, KC_DOT, KC_VOLU, KC_RSFT, diff --git a/keyboards/smk60/keymaps/default/keymap.c b/keyboards/smk60/keymaps/default/keymap.c index 95d2fb0f2627..70f913c82b54 100644 --- a/keyboards/smk60/keymaps/default/keymap.c +++ b/keyboards/smk60/keymaps/default/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL), [1] = LAYOUT_60_ansi( KC_ESC, 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, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + QK_BOOT, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT,_______,_______,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______,_______,_______,_______), diff --git a/keyboards/sneakbox/aliceclone/keymaps/default/keymap.c b/keyboards/sneakbox/aliceclone/keymaps/default/keymap.c index a318dabede43..c9b37e013475 100644 --- a/keyboards/sneakbox/aliceclone/keymaps/default/keymap.c +++ b/keyboards/sneakbox/aliceclone/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_alice_split_bs( KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RESET, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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), }; diff --git a/keyboards/sneakbox/aliceclone/keymaps/via/keymap.c b/keyboards/sneakbox/aliceclone/keymaps/via/keymap.c index 8092f46fcb07..1d4248da5e13 100644 --- a/keyboards/sneakbox/aliceclone/keymaps/via/keymap.c +++ b/keyboards/sneakbox/aliceclone/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_alice_split_bs( KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RESET, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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), [_L3] = LAYOUT_alice_split_bs( diff --git a/keyboards/sneakbox/aliceclonergb/keymaps/default/keymap.c b/keyboards/sneakbox/aliceclonergb/keymaps/default/keymap.c index 9dd7ee5eae17..f451ffca47a8 100644 --- a/keyboards/sneakbox/aliceclonergb/keymaps/default/keymap.c +++ b/keyboards/sneakbox/aliceclonergb/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_alice_split_bs( KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_MOD, RGB_TOG, - RESET, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, + QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI, KC_TRNS, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; diff --git a/keyboards/sneakbox/aliceclonergb/keymaps/via/keymap.c b/keyboards/sneakbox/aliceclonergb/keymaps/via/keymap.c index 0f1e600bd1f3..bdd6deb5f89a 100644 --- a/keyboards/sneakbox/aliceclonergb/keymaps/via/keymap.c +++ b/keyboards/sneakbox/aliceclonergb/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_alice_split_bs( KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_MOD, RGB_TOG, - RESET, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, + QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI, KC_TRNS, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [_L3] = LAYOUT_alice_split_bs( diff --git a/keyboards/sneakbox/ava/keymaps/default/keymap.c b/keyboards/sneakbox/ava/keymaps/default/keymap.c index 3de4f41577e0..3c284266ca8b 100644 --- a/keyboards/sneakbox/ava/keymaps/default/keymap.c +++ b/keyboards/sneakbox/ava/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_MOD, RGB_TOG, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI, KC_TRNS, RGB_HUI, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI, KC_TRNS, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; diff --git a/keyboards/sneakbox/ava/keymaps/via/keymap.c b/keyboards/sneakbox/ava/keymaps/via/keymap.c index 2888fc67b982..4e994aad6680 100644 --- a/keyboards/sneakbox/ava/keymaps/via/keymap.c +++ b/keyboards/sneakbox/ava/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_MOD, RGB_TOG, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI, KC_TRNS, RGB_HUI, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI, KC_TRNS, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [_L3] = LAYOUT_ava_split_bs( 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, diff --git a/keyboards/sneakbox/disarray/ortho/keymaps/default/keymap.c b/keyboards/sneakbox/disarray/ortho/keymaps/default/keymap.c index 020f01d60d2c..b978f78468ac 100644 --- a/keyboards/sneakbox/disarray/ortho/keymaps/default/keymap.c +++ b/keyboards/sneakbox/disarray/ortho/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, LT(1,KC_SPC), KC_SPC, KC_SPC, LT(2,KC_SPC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_P0, KC_P0, KC_PDOT, KC_PENT), [_FN] = LAYOUT( KC_TRNS, - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_LPRN, KC_RPRN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_LPRN, KC_RPRN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, 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, 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_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/sneakbox/disarray/ortho/keymaps/via/keymap.c b/keyboards/sneakbox/disarray/ortho/keymaps/via/keymap.c index ed72fcbfbe5a..51e2615fdfa7 100644 --- a/keyboards/sneakbox/disarray/ortho/keymaps/via/keymap.c +++ b/keyboards/sneakbox/disarray/ortho/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, LT(1,KC_SPC), KC_SPC, KC_SPC, LT(2,KC_SPC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_P0, KC_P0, KC_PDOT, KC_PENT), [_FN] = LAYOUT( KC_TRNS, - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_LPRN, KC_RPRN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_LPRN, KC_RPRN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, 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, 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_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/sneakbox/disarray/staggered/keymaps/default/keymap.c b/keyboards/sneakbox/disarray/staggered/keymaps/default/keymap.c index 3eedd078cd97..46303d35e18a 100644 --- a/keyboards/sneakbox/disarray/staggered/keymaps/default/keymap.c +++ b/keyboards/sneakbox/disarray/staggered/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT), [_FN] = LAYOUT( 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, RESET, + 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/sneakbox/disarray/staggered/keymaps/via/keymap.c b/keyboards/sneakbox/disarray/staggered/keymaps/via/keymap.c index 2637d1b03f36..25d0d7afc162 100644 --- a/keyboards/sneakbox/disarray/staggered/keymaps/via/keymap.c +++ b/keyboards/sneakbox/disarray/staggered/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT), [_FN] = LAYOUT( 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, RESET, + 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/sofle/keymaps/default/keymap.c b/keyboards/sofle/keymaps/default/keymap.c index 1d3a02b4500f..94e7d8b3a645 100644 --- a/keyboards/sofle/keymaps/default/keymap.c +++ b/keyboards/sofle/keymaps/default/keymap.c @@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | RESET| |QWERTY|COLEMAK| | | | | | | | | | + * | QK_BOOT| |QWERTY|COLEMAK| | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | | * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| @@ -128,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RESET , XXXXXXX,KC_QWERTY,KC_COLEMAK,CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT , XXXXXXX,KC_QWERTY,KC_COLEMAK,CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX,CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/soup10/keymaps/default/keymap.c b/keyboards/soup10/keymaps/default/keymap.c index 5379a15095f0..00813ac5c47b 100644 --- a/keyboards/soup10/keymaps/default/keymap.c +++ b/keyboards/soup10/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F20, KC_F21, MO(_FN)), [_FN] = LAYOUT( - RESET, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/sowbug/ansi_tkl/keymaps/default/keymap.c b/keyboards/sowbug/ansi_tkl/keymaps/default/keymap.c index 0af19b358765..7fc1aaef0064 100644 --- a/keyboards/sowbug/ansi_tkl/keymaps/default/keymap.c +++ b/keyboards/sowbug/ansi_tkl/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, RESET , + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, QK_BOOT , _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/soy20/keymaps/default/keymap.c b/keyboards/soy20/keymaps/default/keymap.c index 0ab505eeb8cb..e9e31ad1ef03 100644 --- a/keyboards/soy20/keymaps/default/keymap.c +++ b/keyboards/soy20/keymaps/default/keymap.c @@ -14,6 +14,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, RESET), + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT), }; diff --git a/keyboards/soy20/keymaps/via/keymap.c b/keyboards/soy20/keymaps/via/keymap.c index fde63da13aa8..1678fcd34af3 100644 --- a/keyboards/soy20/keymaps/via/keymap.c +++ b/keyboards/soy20/keymaps/via/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, RESET), + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT), [2] = LAYOUT_ortho_5x4( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/spaceholdings/nebula68/keymaps/default/keymap.c b/keyboards/spaceholdings/nebula68/keymaps/default/keymap.c index da4479f89be0..3d27b4822901 100755 --- a/keyboards/spaceholdings/nebula68/keymaps/default/keymap.c +++ b/keyboards/spaceholdings/nebula68/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_68_ansi( /* FN */ 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, KC_DEL, KC_INS, KC_PGUP, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_DEL, KC_PGDN, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_DEL, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/spaceholdings/nebula68/keymaps/via/keymap.c b/keyboards/spaceholdings/nebula68/keymaps/via/keymap.c index da4479f89be0..3d27b4822901 100755 --- a/keyboards/spaceholdings/nebula68/keymaps/via/keymap.c +++ b/keyboards/spaceholdings/nebula68/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_68_ansi( /* FN */ 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, KC_DEL, KC_INS, KC_PGUP, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_DEL, KC_PGDN, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_DEL, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/spaceman/pancake/rev1/keymaps/default/keymap.c b/keyboards/spaceman/pancake/rev1/keymaps/default/keymap.c index cebc6fccba91..682e1ae38207 100644 --- a/keyboards/spaceman/pancake/rev1/keymaps/default/keymap.c +++ b/keyboards/spaceman/pancake/rev1/keymaps/default/keymap.c @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_FN] = LAYOUT_ortho_4x12( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/spaceman/pancake/rev1/keymaps/via/keymap.c b/keyboards/spaceman/pancake/rev1/keymaps/via/keymap.c index a0cda2ee7c09..ed8cd28521f2 100644 --- a/keyboards/spaceman/pancake/rev1/keymaps/via/keymap.c +++ b/keyboards/spaceman/pancake/rev1/keymaps/via/keymap.c @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_FN] = LAYOUT_ortho_4x12( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/spiderisland/split78/keymaps/default/keymap.c b/keyboards/spiderisland/split78/keymaps/default/keymap.c index 761648d9580c..7841d41e1d49 100644 --- a/keyboards/spiderisland/split78/keymaps/default/keymap.c +++ b/keyboards/spiderisland/split78/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, TT(_FN), KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT( - RESET, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, + QK_BOOT, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, KC_DEL, KC_NLCK, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/splitkb/zima/keymaps/default/keymap.c b/keyboards/splitkb/zima/keymaps/default/keymap.c index 33483c29389d..fba4ad3b1b15 100644 --- a/keyboards/splitkb/zima/keymaps/default/keymap.c +++ b/keyboards/splitkb/zima/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P1, KC_P2, KC_P3 ), [1] = LAYOUT_ortho_4x3( /* Layer 1 */ - RESET, _______, XXXXXXX, + QK_BOOT, _______, XXXXXXX, AU_ON, AU_OFF, XXXXXXX, CK_TOGG, XXXXXXX, CK_UP, CK_RST, XXXXXXX, CK_DOWN diff --git a/keyboards/splitkb/zima/keymaps/via/keymap.c b/keyboards/splitkb/zima/keymaps/via/keymap.c index e9fb001bbe7d..3a360cd9f763 100644 --- a/keyboards/splitkb/zima/keymaps/via/keymap.c +++ b/keyboards/splitkb/zima/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P1, KC_P2, KC_P3 ), [1] = LAYOUT_ortho_4x3(/* Layer 1 */ - RESET, _______, XXXXXXX, + QK_BOOT, _______, XXXXXXX, AU_ON, AU_OFF, XXXXXXX, CK_TOGG, XXXXXXX, CK_UP, CK_RST, XXXXXXX, CK_DOWN diff --git a/keyboards/splitty/keymaps/default/keymap.c b/keyboards/splitty/keymaps/default/keymap.c index e6075339b03a..b42a8bd3845e 100644 --- a/keyboards/splitty/keymaps/default/keymap.c +++ b/keyboards/splitty/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT( //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - _______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, RESET , + _______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, QK_BOOT , //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| _______,_______, KC_7 , KC_8 , KC_9 ,_______,_______, _______,KC_DEL ,KC_PGUP, KC_UP ,KC_PGDN,_______,_______, //|-------+-------+-------+-------+-------+-------| | | |-------+-------+-------+-------+-------+-------| diff --git a/keyboards/studiokestra/bourgeau/keymaps/default/keymap.c b/keyboards/studiokestra/bourgeau/keymaps/default/keymap.c index 62e320958200..479b6cc6be03 100644 --- a/keyboards/studiokestra/bourgeau/keymaps/default/keymap.c +++ b/keyboards/studiokestra/bourgeau/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), [_FN] = LAYOUT_75_ansi_rwkl( /* FN */ - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/studiokestra/bourgeau/keymaps/via/keymap.c b/keyboards/studiokestra/bourgeau/keymaps/via/keymap.c index c1604b563340..fa1e40e4f6f5 100644 --- a/keyboards/studiokestra/bourgeau/keymaps/via/keymap.c +++ b/keyboards/studiokestra/bourgeau/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), [1] = LAYOUT_75_ansi_rwkl( /* FN */ - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [2] = LAYOUT_75_ansi_rwkl( /* Layer 3 */ - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [3] = LAYOUT_75_ansi_rwkl( /* Layer 3 */ - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/studiokestra/cascade/keymaps/default/keymap.c b/keyboards/studiokestra/cascade/keymaps/default/keymap.c index 9c9b9345bfd9..783c2ac15a0b 100644 --- a/keyboards/studiokestra/cascade/keymaps/default/keymap.c +++ b/keyboards/studiokestra/cascade/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [_FN] = LAYOUT_all( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______, diff --git a/keyboards/studiokestra/cascade/keymaps/default_tsangan_hhkb/keymap.c b/keyboards/studiokestra/cascade/keymaps/default_tsangan_hhkb/keymap.c index 42f300fca808..a5cfe430cd99 100644 --- a/keyboards/studiokestra/cascade/keymaps/default_tsangan_hhkb/keymap.c +++ b/keyboards/studiokestra/cascade/keymaps/default_tsangan_hhkb/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), [_FN] = LAYOUT_60_tsangan_hhkb( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______, diff --git a/keyboards/studiokestra/cascade/keymaps/via/keymap.c b/keyboards/studiokestra/cascade/keymaps/via/keymap.c index 4a971c4de563..3ef3479995b8 100644 --- a/keyboards/studiokestra/cascade/keymaps/via/keymap.c +++ b/keyboards/studiokestra/cascade/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [_FN] = LAYOUT_all( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______, diff --git a/keyboards/studiokestra/galatea/keymaps/default/keymap.c b/keyboards/studiokestra/galatea/keymaps/default/keymap.c index 8224c9875134..974f59607ce0 100644 --- a/keyboards/studiokestra/galatea/keymaps/default/keymap.c +++ b/keyboards/studiokestra/galatea/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT ), [_FN] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/studiokestra/galatea/keymaps/via/keymap.c b/keyboards/studiokestra/galatea/keymaps/via/keymap.c index 6d49b79bef34..7733e597375a 100644 --- a/keyboards/studiokestra/galatea/keymaps/via/keymap.c +++ b/keyboards/studiokestra/galatea/keymaps/via/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT ), [_FN1] = LAYOUT_all( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/studiokestra/nue/keymaps/default/keymap.c b/keyboards/studiokestra/nue/keymaps/default/keymap.c index b61ab47d4591..513e78393f7c 100644 --- a/keyboards/studiokestra/nue/keymaps/default/keymap.c +++ b/keyboards/studiokestra/nue/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_all( 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, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/studiokestra/nue/keymaps/via/keymap.c b/keyboards/studiokestra/nue/keymaps/via/keymap.c index 56e64b7c2d19..5990f1ba899e 100644 --- a/keyboards/studiokestra/nue/keymaps/via/keymap.c +++ b/keyboards/studiokestra/nue/keymaps/via/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL), [_FN1] = LAYOUT_all( 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, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/subatomic/keymaps/default/keymap.c b/keyboards/subatomic/keymaps/default/keymap.c index e0fc52b70e4f..00a60bc2a0f1 100644 --- a/keyboards/subatomic/keymaps/default/keymap.c +++ b/keyboards/subatomic/keymaps/default/keymap.c @@ -144,7 +144,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x14_1x2uC( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, - KC_TRNS, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_TRNS, + KC_TRNS, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_TRNS, KC_TRNS, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, KC_TRNS, KC_TRNS, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TRNS diff --git a/keyboards/switchplate/southpaw_65/keymaps/default/keymap.c b/keyboards/switchplate/southpaw_65/keymaps/default/keymap.c index 4be4bb5e7af7..57fe92b1d795 100644 --- a/keyboards/switchplate/southpaw_65/keymaps/default/keymap.c +++ b/keyboards/switchplate/southpaw_65/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ _______, _______, _______, _______, 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, KC_DEL, KC_DEL, KC_INS, /* ├─────────┼─────────┼─────────┼─────────┼─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴─────────┼─────────┤ */ - _______, _______, _______, _______, RESET, BL_TOGG, BL_INC, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, BL_TOGG, BL_INC, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, /* ├─────────┼─────────┼─────────┼─────────┼──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬───────────┼─────────┤ */ _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______, /* ├─────────┼─────────┼─────────┼─────────┼───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┼─────────┤ */ diff --git a/keyboards/switchplate/southpaw_65/keymaps/default_ansi/keymap.c b/keyboards/switchplate/southpaw_65/keymaps/default_ansi/keymap.c index bdd2d5129e97..ac049cbc40a5 100644 --- a/keyboards/switchplate/southpaw_65/keymaps/default_ansi/keymap.c +++ b/keyboards/switchplate/southpaw_65/keymaps/default_ansi/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ _______, _______, _______, _______, 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, KC_DEL, KC_INS, /* ├─────────┼─────────┼─────────┼─────────┼─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┤ */ - _______, _______, _______, _______, RESET, BL_TOGG, BL_INC, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, BL_TOGG, BL_INC, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, /* ├─────────┼─────────┼─────────┤ ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────┤ */ _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, EEP_RST, _______, /* ├─────────┼─────────┼─────────┼─────────┼─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┤ */ diff --git a/keyboards/switchplate/southpaw_65/keymaps/default_iso/keymap.c b/keyboards/switchplate/southpaw_65/keymaps/default_iso/keymap.c index a8f080ca9462..75059041f48d 100644 --- a/keyboards/switchplate/southpaw_65/keymaps/default_iso/keymap.c +++ b/keyboards/switchplate/southpaw_65/keymaps/default_iso/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬───────────────────┬─────────┐ */ _______, _______, _______, _______, 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, KC_DEL, KC_INS, /* ├─────────┼─────────┼─────────┼─────────┼─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┤ */ - _______, _______, _______, _______, RESET, BL_TOGG, BL_INC, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, BL_TOGG, BL_INC, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, /* ├─────────┼─────────┼─────────┤ ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ├─────────┤ */ _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______, /* ├─────────┼─────────┼─────────┼─────────┼───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┼─────────┤ */ diff --git a/keyboards/switchplate/southpaw_fullsize/keymaps/default/keymap.c b/keyboards/switchplate/southpaw_fullsize/keymaps/default/keymap.c index 185c98516e54..e2496202dfc7 100644 --- a/keyboards/switchplate/southpaw_fullsize/keymaps/default/keymap.c +++ b/keyboards/switchplate/southpaw_fullsize/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_all ( - _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/switchplate/southpaw_fullsize/keymaps/default_wkl/keymap.c b/keyboards/switchplate/southpaw_fullsize/keymaps/default_wkl/keymap.c index e66da9832538..39238e128651 100644 --- a/keyboards/switchplate/southpaw_fullsize/keymaps/default_wkl/keymap.c +++ b/keyboards/switchplate/southpaw_fullsize/keymaps/default_wkl/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_ansi_wkl ( - _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/switchplate/switchplate910/keymaps/default/keymap.c b/keyboards/switchplate/switchplate910/keymaps/default/keymap.c index 5277a0dc0078..6cc14d59011f 100644 --- a/keyboards/switchplate/switchplate910/keymaps/default/keymap.c +++ b/keyboards/switchplate/switchplate910/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_all( /* L1 */ 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, KC_DEL, KC_INS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_MOD, RGB_SAI, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI ), diff --git a/keyboards/switchplate/switchplate910/keymaps/via/keymap.c b/keyboards/switchplate/switchplate910/keymaps/via/keymap.c index c278772543cf..dd56159af885 100644 --- a/keyboards/switchplate/switchplate910/keymaps/via/keymap.c +++ b/keyboards/switchplate/switchplate910/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_all( /* L1 */ 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, KC_DEL, KC_INS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_MOD, RGB_SAI, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI ), diff --git a/keyboards/sx60/keymaps/default/keymap.c b/keyboards/sx60/keymaps/default/keymap.c index b6747c253c5c..9e730fa3e73d 100755 --- a/keyboards/sx60/keymaps/default/keymap.c +++ b/keyboards/sx60/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ansi_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_LPRN, KC_RPRN, KC_GRV, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/sx60/keymaps/via/keymap.c b/keyboards/sx60/keymaps/via/keymap.c index 92a305eca4c1..ac1034e57eaf 100755 --- a/keyboards/sx60/keymaps/via/keymap.c +++ b/keyboards/sx60/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ansi_split_bs_rshift( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_LPRN, KC_RPRN, KC_GRV, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/synapse/keymaps/default/keymap.c b/keyboards/synapse/keymaps/default/keymap.c index 85ca4c628eba..adaa51bddbce 100644 --- a/keyboards/synapse/keymaps/default/keymap.c +++ b/keyboards/synapse/keymaps/default/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT_default( - RESET, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC, KC_TRNS, + QK_BOOT, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_F4, KC_F5, KC_F6, KC_F7, KC_TAB, KC_LCAP, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/system76/launch_1/keymaps/default/keymap.c b/keyboards/system76/launch_1/keymaps/default/keymap.c index f9f86b658463..1da2fbf4bc77 100644 --- a/keyboards/system76/launch_1/keymaps/default/keymap.c +++ b/keyboards/system76/launch_1/keymaps/default/keymap.c @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Layer 1, function layer _________________________________________________________________________________________________________________________________ ________ | | | | | | | | | | | | | | || PLAY/ | -| RESET | | | | | | | | | | | | | || PAUSE | +| QK_BOOT | | | | | | | | | | | | | || PAUSE | |________|________|________|________|________|________|________|________|________|________|________|________|________|____________||________| | | | | | | | | | | | LED | LED | LED | || VOLUME | | | | | | | | | | | | TOGGLE | DOWN | UP | || UP | @@ -71,12 +71,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | | | | | | | | | | | HOME | PGDN | END | |____________|________|_______|________|_________________|_________________|________|________|_____________| |________|________|________| - * `RESET' resets the controller and puts the board into firmware flashing mode. + * `QK_BOOT' resets the controller and puts the board into firmware flashing mode. * If this key is hit accidentally, just unplug the board and plug it back in. */ [1] = LAYOUT( - RESET, 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_MPLY, + QK_BOOT, 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_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAD, RGB_VAI, KC_TRNS, KC_VOLU, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, diff --git a/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c b/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c index 665f180a38bd..0c765b9f400c 100644 --- a/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c +++ b/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, RESET, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, QK_BOOT, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, 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, KC_TRNS, KC_TRNS ), diff --git a/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c b/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c index defca4b55a6a..7d601c21a64f 100644 --- a/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c +++ b/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, RESET, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, QK_BOOT, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, 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, KC_TRNS, KC_TRNS ), diff --git a/keyboards/taleguers/taleguers75/keymaps/default/keymap.c b/keyboards/taleguers/taleguers75/keymaps/default/keymap.c index 24dc65aaac07..2f5025e459d5 100644 --- a/keyboards/taleguers/taleguers75/keymaps/default/keymap.c +++ b/keyboards/taleguers/taleguers75/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT), [1] = LAYOUT( - KC_TRNS, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/taleguers/taleguers75/keymaps/via/keymap.c b/keyboards/taleguers/taleguers75/keymaps/via/keymap.c index bc2510576d78..cbaaedcafd5a 100644 --- a/keyboards/taleguers/taleguers75/keymaps/via/keymap.c +++ b/keyboards/taleguers/taleguers75/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT), [1] = LAYOUT( - KC_TRNS, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/tanuki/keymaps/default/keymap.c b/keyboards/tanuki/keymaps/default/keymap.c index 789475b88dce..e4987ef8cb28 100644 --- a/keyboards/tanuki/keymaps/default/keymap.c +++ b/keyboards/tanuki/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [_UL] = LAYOUT( KC_GRV, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, KC_PIPE, KC_BSLS, KC_PLUS, KC_UNDS, KC_MINS, KC_EQL, KC_DEL, diff --git a/keyboards/tau4/keymaps/default/keymap.c b/keyboards/tau4/keymaps/default/keymap.c index 6c1b2342a29e..37fb6b666bf3 100755 --- a/keyboards/tau4/keymaps/default/keymap.c +++ b/keyboards/tau4/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT), [_ADJUST] = LAYOUT_ortho_4x12( - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, TG(_NUMPAD), 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/teleport/numpad/keymaps/default/keymap.c b/keyboards/teleport/numpad/keymaps/default/keymap.c index 539a046ee850..d9bb2248daff 100644 --- a/keyboards/teleport/numpad/keymaps/default/keymap.c +++ b/keyboards/teleport/numpad/keymaps/default/keymap.c @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, RESET + KC_TRNS, KC_TRNS, QK_BOOT ), }; diff --git a/keyboards/teleport/numpad/keymaps/via/keymap.c b/keyboards/teleport/numpad/keymaps/via/keymap.c index 8eea06c76eee..932287c27b31 100644 --- a/keyboards/teleport/numpad/keymaps/via/keymap.c +++ b/keyboards/teleport/numpad/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, RESET + KC_TRNS, KC_TRNS, QK_BOOT ), [2] = LAYOUT_numpad_5x4( @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, RESET + KC_TRNS, KC_TRNS, QK_BOOT ), [3] = LAYOUT_numpad_5x4( @@ -46,6 +46,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, RESET + KC_TRNS, KC_TRNS, QK_BOOT ), }; diff --git a/keyboards/tenki/keymaps/default/keymap.c b/keyboards/tenki/keymaps/default/keymap.c index 1f308a4c7b0b..6ce06f3dfccc 100644 --- a/keyboards/tenki/keymaps/default/keymap.c +++ b/keyboards/tenki/keymaps/default/keymap.c @@ -14,6 +14,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_VOLU, RGB_TOG, RGB_VAI, KC_MPRV, KC_MUTE, KC_MNXT, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, RGB_MOD + QK_BOOT, KC_TRNS, KC_TRNS, RGB_MOD ) }; diff --git a/keyboards/tenki/keymaps/via/keymap.c b/keyboards/tenki/keymaps/via/keymap.c index 5de6c439bb26..8e144133c5e5 100644 --- a/keyboards/tenki/keymaps/via/keymap.c +++ b/keyboards/tenki/keymaps/via/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_VOLU, RGB_TOG, RGB_VAI, KC_MPRV, KC_MUTE, KC_MNXT, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, - RESET, KC_TRNS, KC_TRNS, RGB_MOD + QK_BOOT, KC_TRNS, KC_TRNS, RGB_MOD ), [2] = LAYOUT_ortho_5x4( diff --git a/keyboards/terrazzo/keymaps/default/keymap.c b/keyboards/terrazzo/keymaps/default/keymap.c index b6439aa8e926..d81ced8acc95 100644 --- a/keyboards/terrazzo/keymaps/default/keymap.c +++ b/keyboards/terrazzo/keymaps/default/keymap.c @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, CG_TOGG, - _______, RESET, _______, _______, _______, _______, _______ + _______, QK_BOOT, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/tg4x/keymaps/default/keymap.c b/keyboards/tg4x/keymaps/default/keymap.c index a19e54026dcb..7a6cb8912fe9 100644 --- a/keyboards/tg4x/keymaps/default/keymap.c +++ b/keyboards/tg4x/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) diff --git a/keyboards/tg4x/keymaps/via/keymap.c b/keyboards/tg4x/keymaps/via/keymap.c index c8421c8e58df..10b73e6e89ff 100644 --- a/keyboards/tg4x/keymaps/via/keymap.c +++ b/keyboards/tg4x/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/tgr/910/keymaps/default/keymap.c b/keyboards/tgr/910/keymaps/default/keymap.c index 8abdb7e283bb..e15423eb9c00 100644 --- a/keyboards/tgr/910/keymaps/default/keymap.c +++ b/keyboards/tgr/910/keymaps/default/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi_split_bs( 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, KC_BSLS, KC_DEL, - BL_TOGG, BL_STEP, BL_INC, BL_DEC, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + BL_TOGG, BL_STEP, BL_INC, BL_DEC, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, 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, KC_TRNS), diff --git a/keyboards/tgr/910/keymaps/via/keymap.c b/keyboards/tgr/910/keymaps/via/keymap.c index 3aff12b53077..b5adb55f41b6 100644 --- a/keyboards/tgr/910/keymaps/via/keymap.c +++ b/keyboards/tgr/910/keymaps/via/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi_split_bs( 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, KC_BSLS, KC_TRNS, - BL_TOGG, BL_STEP, BL_INC, BL_DEC, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + BL_TOGG, BL_STEP, BL_INC, BL_DEC, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, 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, KC_TRNS), diff --git a/keyboards/tgr/tris/keymaps/default/keymap.c b/keyboards/tgr/tris/keymaps/default/keymap.c index 5a4e47a694f4..656d51b68666 100644 --- a/keyboards/tgr/tris/keymaps/default/keymap.c +++ b/keyboards/tgr/tris/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_numpad_6x4( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, diff --git a/keyboards/tgr/tris/keymaps/via/keymap.c b/keyboards/tgr/tris/keymaps/via/keymap.c index bfa8dbc59b6f..8cfd43c685cf 100644 --- a/keyboards/tgr/tris/keymaps/via/keymap.c +++ b/keyboards/tgr/tris/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_numpad_6x4( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, diff --git a/keyboards/the_royal/liminal/keymaps/default/keymap.c b/keyboards/the_royal/liminal/keymaps/default/keymap.c index dd986610116b..5ff6c4aa3c81 100644 --- a/keyboards/the_royal/liminal/keymaps/default/keymap.c +++ b/keyboards/the_royal/liminal/keymaps/default/keymap.c @@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ├─────┼─────┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬────────┤ * │ │ │ │ │ │ │ │ │ │ │DOWN│ │ │ * ├─────┼────┬──┴─┬──┴─┬──┴────┴────┴────┴────┴────┴───┬┴────┴┬───┴─┬──────┤ - * │RESET│ │ │ │ │ │ │ │ + * │QK_BOOT│ │ │ │ │ │ │ │ * └─────┴────┴────┴────┴───────────────────────────────┴──────┴─────┴──────┘ */ [_OTHER] = LAYOUT_base_kit_all( diff --git a/keyboards/the_royal/liminal/keymaps/default_iso/keymap.c b/keyboards/the_royal/liminal/keymaps/default_iso/keymap.c index 62ff2b6a5d49..d5fe730d8063 100644 --- a/keyboards/the_royal/liminal/keymaps/default_iso/keymap.c +++ b/keyboards/the_royal/liminal/keymaps/default_iso/keymap.c @@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ├─────┼────┬─┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─────┤ * │ │ │ │ │ │ │ │ │ │ │ │ │DOWN│ │ * ├─────┼────┼───┴┬───┴─┬──┴────┴────┴────┴────┴────┴───┬┴────┴┬───┴─┬──────┤ - * │RESET│ │ │ │ │ │ │ │ + * │QK_BOOT│ │ │ │ │ │ │ │ * └─────┴────┴────┴─────┴───────────────────────────────┴──────┴─────┴──────┘ */ [_OTHER] = LAYOUT_base_kit_all( diff --git a/keyboards/tkc/candybar/lefty/keymaps/default/keymap.c b/keyboards/tkc/candybar/lefty/keymaps/default/keymap.c index 08e2bd4bb1af..bc834aff3f8d 100644 --- a/keyboards/tkc/candybar/lefty/keymaps/default/keymap.c +++ b/keyboards/tkc/candybar/lefty/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ [_FL] = LAYOUT( - KC_P7 , KC_P8, KC_P9 , KC_VOLU, RESET , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , + KC_P7 , KC_P8, KC_P9 , KC_VOLU, QK_BOOT , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , KC_P4 , KC_P5, KC_P6 , KC_VOLD, KC_TAB , KC_A , KC_SLCK, KC_D, KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_QUOT, KC_BSLS , KC_P1 , KC_P2, KC_P3 , KC_PEQL, KC_LSFT, KC_Z , KC_X, KC_CAPS, KC_V , KC_B, KC_NLCK, KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_PGUP , KC_END, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC , KC_BSPC, KC_APP , MO(_FL), KC_HOME, KC_PGDN), diff --git a/keyboards/tkc/candybar/lefty/keymaps/via/keymap.c b/keyboards/tkc/candybar/lefty/keymaps/via/keymap.c index 04088b985f42..8aa4935d5cdc 100644 --- a/keyboards/tkc/candybar/lefty/keymaps/via/keymap.c +++ b/keyboards/tkc/candybar/lefty/keymaps/via/keymap.c @@ -33,19 +33,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ [_FL] = LAYOUT( - KC_P7 , KC_P8, KC_P9 , KC_VOLU, RESET , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , + KC_P7 , KC_P8, KC_P9 , KC_VOLU, QK_BOOT , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , KC_P4 , KC_P5, KC_P6 , KC_VOLD, KC_TAB , KC_A , KC_SLCK, KC_D, KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_QUOT, KC_BSLS , KC_P1 , KC_P2, KC_P3 , KC_PEQL, KC_LSFT, KC_Z , KC_X, KC_CAPS, KC_V , KC_B, KC_NLCK, KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_PGUP , KC_END, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC , KC_BSPC, KC_APP , MO(_FL), KC_HOME, KC_PGDN), [_AL] = LAYOUT( - KC_P7 , KC_P8, KC_P9 , KC_VOLU, RESET , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , + KC_P7 , KC_P8, KC_P9 , KC_VOLU, QK_BOOT , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , KC_P4 , KC_P5, KC_P6 , KC_VOLD, KC_TAB , KC_A , KC_SLCK, KC_D, KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_QUOT, KC_BSLS , KC_P1 , KC_P2, KC_P3 , KC_PEQL, KC_LSFT, KC_Z , KC_X, KC_CAPS, KC_V , KC_B, KC_NLCK, KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_PGUP , KC_END, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC , KC_BSPC, KC_APP , MO(_FL), KC_HOME, KC_PGDN), [_LL] = LAYOUT( - KC_P7 , KC_P8, KC_P9 , KC_VOLU, RESET , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , + KC_P7 , KC_P8, KC_P9 , KC_VOLU, QK_BOOT , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , KC_P4 , KC_P5, KC_P6 , KC_VOLD, KC_TAB , KC_A , KC_SLCK, KC_D, KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_QUOT, KC_BSLS , KC_P1 , KC_P2, KC_P3 , KC_PEQL, KC_LSFT, KC_Z , KC_X, KC_CAPS, KC_V , KC_B, KC_NLCK, KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_PGUP , KC_END, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC , KC_BSPC, KC_APP , MO(_FL), KC_HOME, KC_PGDN), diff --git a/keyboards/tkc/candybar/lefty_r3/keymaps/default/keymap.c b/keyboards/tkc/candybar/lefty_r3/keymaps/default/keymap.c index 2a66ec834f71..765529a18fcf 100644 --- a/keyboards/tkc/candybar/lefty_r3/keymaps/default/keymap.c +++ b/keyboards/tkc/candybar/lefty_r3/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ [_FL] = LAYOUT( - KC_P7 , KC_P8, KC_P9 , KC_VOLU, RESET , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , \ + KC_P7 , KC_P8, KC_P9 , KC_VOLU, QK_BOOT , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , \ KC_P4 , KC_P5, KC_P6 , KC_VOLD, KC_TAB , KC_A , KC_SLCK, KC_D, KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_QUOT, KC_BSLS , \ KC_P1 , KC_P2, KC_P3 , KC_PEQL, KC_LSFT, KC_Z , KC_X, KC_CAPS, KC_V , KC_B, KC_NLCK, KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_PGUP , \ KC_END, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC , KC_BSPC, KC_APP , MO(_FL), KC_HOME, KC_PGDN), diff --git a/keyboards/tkc/candybar/lefty_r3/keymaps/via/keymap.c b/keyboards/tkc/candybar/lefty_r3/keymaps/via/keymap.c index 40890bd7acff..1ff05328a89e 100644 --- a/keyboards/tkc/candybar/lefty_r3/keymaps/via/keymap.c +++ b/keyboards/tkc/candybar/lefty_r3/keymaps/via/keymap.c @@ -35,19 +35,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ [_FL] = LAYOUT( - KC_P7 , KC_P8, KC_P9 , KC_VOLU, RESET , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , \ + KC_P7 , KC_P8, KC_P9 , KC_VOLU, QK_BOOT , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , \ KC_P4 , KC_P5, KC_P6 , KC_VOLD, KC_TAB , KC_A , KC_SLCK, KC_D, KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_QUOT, KC_BSLS , \ KC_P1 , KC_P2, KC_P3 , KC_PEQL, KC_LSFT, KC_Z , KC_X, KC_CAPS, KC_V , KC_B, KC_NLCK, KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_PGUP , \ KC_END, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC , KC_BSPC, KC_APP , MO(_FL), KC_HOME, KC_PGDN), [_AL] = LAYOUT( - KC_P7 , KC_P8, KC_P9 , KC_VOLU, RESET , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , \ + KC_P7 , KC_P8, KC_P9 , KC_VOLU, QK_BOOT , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , \ KC_P4 , KC_P5, KC_P6 , KC_VOLD, KC_TAB , KC_A , KC_SLCK, KC_D, KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_QUOT, KC_BSLS , \ KC_P1 , KC_P2, KC_P3 , KC_PEQL, KC_LSFT, KC_Z , KC_X, KC_CAPS, KC_V , KC_B, KC_NLCK, KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_PGUP , \ KC_END, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC , KC_BSPC, KC_APP , MO(_FL), KC_HOME, KC_PGDN), [_LL] = LAYOUT( - KC_P7 , KC_P8, KC_P9 , KC_VOLU, RESET , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , \ + KC_P7 , KC_P8, KC_P9 , KC_VOLU, QK_BOOT , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , \ KC_P4 , KC_P5, KC_P6 , KC_VOLD, KC_TAB , KC_A , KC_SLCK, KC_D, KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_QUOT, KC_BSLS , \ KC_P1 , KC_P2, KC_P3 , KC_PEQL, KC_LSFT, KC_Z , KC_X, KC_CAPS, KC_V , KC_B, KC_NLCK, KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_PGUP , \ KC_END, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC , KC_BSPC, KC_APP , MO(_FL), KC_HOME, KC_PGDN), diff --git a/keyboards/tkc/candybar/righty/keymaps/default/keymap.c b/keyboards/tkc/candybar/righty/keymaps/default/keymap.c index c686e6f57dcb..489cccf8df9e 100644 --- a/keyboards/tkc/candybar/righty/keymaps/default/keymap.c +++ b/keyboards/tkc/candybar/righty/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ [_FL] = LAYOUT( - RESET,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, + QK_BOOT,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, KC_TAB,KC_A,KC_SLCK,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_QUOT,KC_BSLS,KC_P4,KC_P5,KC_P6,KC_VOLD, KC_LSFT,KC_Z,KC_X,KC_CAPS,KC_V,KC_B,KC_NLCK,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_PGUP,KC_P1,KC_P2,KC_P3,KC_PEQL, KC_LCTL,KC_LGUI,KC_LALT,KC_SPC,KC_SPC,KC_BSPC,KC_APP,MO(_FL),KC_HOME,KC_PGDN,KC_END,KC_P0,KC_PDOT,KC_PENT), diff --git a/keyboards/tkc/candybar/righty/keymaps/via/keymap.c b/keyboards/tkc/candybar/righty/keymaps/via/keymap.c index f9bacbf555cf..560cf56f3bc2 100644 --- a/keyboards/tkc/candybar/righty/keymaps/via/keymap.c +++ b/keyboards/tkc/candybar/righty/keymaps/via/keymap.c @@ -33,19 +33,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ [_FL] = LAYOUT( - RESET,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, + QK_BOOT,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, KC_TAB,KC_A,KC_SLCK,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_QUOT,KC_BSLS,KC_P4,KC_P5,KC_P6,KC_VOLD, KC_LSFT,KC_Z,KC_X,KC_CAPS,KC_V,KC_B,KC_NLCK,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_PGUP,KC_P1,KC_P2,KC_P3,KC_PEQL, KC_LCTL,KC_LGUI,KC_LALT,KC_SPC,KC_SPC,KC_BSPC,KC_APP,MO(_FL),KC_HOME,KC_PGDN,KC_END,KC_P0,KC_PDOT,KC_PENT), [_AL] = LAYOUT( - RESET,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, + QK_BOOT,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, KC_TAB,KC_A,KC_SLCK,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_QUOT,KC_BSLS,KC_P4,KC_P5,KC_P6,KC_VOLD, KC_LSFT,KC_Z,KC_X,KC_CAPS,KC_V,KC_B,KC_NLCK,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_PGUP,KC_P1,KC_P2,KC_P3,KC_PEQL, KC_LCTL,KC_LGUI,KC_LALT,KC_SPC,KC_SPC,KC_BSPC,KC_APP,MO(_FL),KC_HOME,KC_PGDN,KC_END,KC_P0,KC_PDOT,KC_PENT), [_LL] = LAYOUT( - RESET,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, + QK_BOOT,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, KC_TAB,KC_A,KC_SLCK,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_QUOT,KC_BSLS,KC_P4,KC_P5,KC_P6,KC_VOLD, KC_LSFT,KC_Z,KC_X,KC_CAPS,KC_V,KC_B,KC_NLCK,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_PGUP,KC_P1,KC_P2,KC_P3,KC_PEQL, KC_LCTL,KC_LGUI,KC_LALT,KC_SPC,KC_SPC,KC_BSPC,KC_APP,MO(_FL),KC_HOME,KC_PGDN,KC_END,KC_P0,KC_PDOT,KC_PENT), diff --git a/keyboards/tkc/candybar/righty_r3/keymaps/default/keymap.c b/keyboards/tkc/candybar/righty_r3/keymaps/default/keymap.c index 849f5529616a..d144bb81837b 100644 --- a/keyboards/tkc/candybar/righty_r3/keymaps/default/keymap.c +++ b/keyboards/tkc/candybar/righty_r3/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ [_FL] = LAYOUT( - RESET,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, \ + QK_BOOT,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, \ KC_TAB,KC_A,KC_SLCK,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_QUOT,KC_BSLS,KC_P4,KC_P5,KC_P6,KC_VOLD, \ KC_LSFT,KC_Z,KC_X,KC_CAPS,KC_V,KC_B,KC_NLCK,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_PGUP,KC_P1,KC_P2,KC_P3,KC_PEQL, \ KC_LCTL,KC_LGUI,KC_LALT,KC_SPC,KC_SPC,KC_BSPC,KC_APP,MO(_FL),KC_HOME,KC_PGDN,KC_END,KC_P0,KC_PDOT,KC_PENT), diff --git a/keyboards/tkc/candybar/righty_r3/keymaps/via/keymap.c b/keyboards/tkc/candybar/righty_r3/keymaps/via/keymap.c index 269e3d727fd3..dd9119702ba7 100644 --- a/keyboards/tkc/candybar/righty_r3/keymaps/via/keymap.c +++ b/keyboards/tkc/candybar/righty_r3/keymaps/via/keymap.c @@ -35,19 +35,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ [_FL] = LAYOUT( - RESET,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, \ + QK_BOOT,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, \ KC_TAB,KC_A,KC_SLCK,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_QUOT,KC_BSLS,KC_P4,KC_P5,KC_P6,KC_VOLD, \ KC_LSFT,KC_Z,KC_X,KC_CAPS,KC_V,KC_B,KC_NLCK,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_PGUP,KC_P1,KC_P2,KC_P3,KC_PEQL, \ KC_LCTL,KC_LGUI,KC_LALT,KC_SPC,KC_SPC,KC_BSPC,KC_APP,MO(_FL),KC_HOME,KC_PGDN,KC_END,KC_P0,KC_PDOT,KC_PENT), [_AL] = LAYOUT( - RESET,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, \ + QK_BOOT,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, \ KC_TAB,KC_A,KC_SLCK,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_QUOT,KC_BSLS,KC_P4,KC_P5,KC_P6,KC_VOLD, \ KC_LSFT,KC_Z,KC_X,KC_CAPS,KC_V,KC_B,KC_NLCK,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_PGUP,KC_P1,KC_P2,KC_P3,KC_PEQL, \ KC_LCTL,KC_LGUI,KC_LALT,KC_SPC,KC_SPC,KC_BSPC,KC_APP,MO(_FL),KC_HOME,KC_PGDN,KC_END,KC_P0,KC_PDOT,KC_PENT), [_LL] = LAYOUT( - RESET,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, \ + QK_BOOT,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_LBRC,KC_RBRC,KC_INS,KC_BSPC,KC_P7,KC_P8,KC_P9,KC_VOLU, \ KC_TAB,KC_A,KC_SLCK,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_QUOT,KC_BSLS,KC_P4,KC_P5,KC_P6,KC_VOLD, \ KC_LSFT,KC_Z,KC_X,KC_CAPS,KC_V,KC_B,KC_NLCK,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_PGUP,KC_P1,KC_P2,KC_P3,KC_PEQL, \ KC_LCTL,KC_LGUI,KC_LALT,KC_SPC,KC_SPC,KC_BSPC,KC_APP,MO(_FL),KC_HOME,KC_PGDN,KC_END,KC_P0,KC_PDOT,KC_PENT), diff --git a/keyboards/tkc/godspeed75/keymaps/default/keymap.c b/keyboards/tkc/godspeed75/keymaps/default/keymap.c index ac536922f287..8961f3eaa4b5 100644 --- a/keyboards/tkc/godspeed75/keymaps/default/keymap.c +++ b/keyboards/tkc/godspeed75/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, - KC_GRV, 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_NO, RESET, KC_PGUP, + KC_GRV, 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_NO, QK_BOOT, KC_PGUP, 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_PGDN, 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_INS, KC_LSFT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, diff --git a/keyboards/tkc/godspeed75/keymaps/via/keymap.c b/keyboards/tkc/godspeed75/keymaps/via/keymap.c index 5d99cafad4b5..81c214906fa2 100644 --- a/keyboards/tkc/godspeed75/keymaps/via/keymap.c +++ b/keyboards/tkc/godspeed75/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FL] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, - KC_GRV, 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_NO, RESET, KC_PGUP, + KC_GRV, 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_NO, QK_BOOT, KC_PGUP, 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_PGDN, 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_INS, KC_LSFT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_AL] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, - KC_GRV, 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_NO, RESET, KC_PGUP, + KC_GRV, 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_NO, QK_BOOT, KC_PGUP, 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_PGDN, 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_INS, 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_DEL, @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LL] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, - KC_GRV, 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_NO, RESET, KC_PGUP, + KC_GRV, 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_NO, QK_BOOT, KC_PGUP, 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_PGDN, 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_INS, 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_DEL, diff --git a/keyboards/tkc/m0lly/keymaps/default/keymap.c b/keyboards/tkc/m0lly/keymaps/default/keymap.c index bb065fa239dd..2b79849f445d 100644 --- a/keyboards/tkc/m0lly/keymaps/default/keymap.c +++ b/keyboards/tkc/m0lly/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Function Layer * * ,-----------------------------------------------------------. .-------------------. - * | | | | | | | | | | | | | | RESET | | | | | | + * | | | | | | | | | | | | | | QK_BOOT | | | | | | * |-----------------------------------------------------------| |-------------------| * | | | | | | | | | | | | | | | | | | | | * |-----------------------------------------------------------| |-------------------| @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' '-------------------' */ [_FUNC] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, diff --git a/keyboards/tkc/m0lly/keymaps/via/keymap.c b/keyboards/tkc/m0lly/keymaps/via/keymap.c index 40f75b45792d..d52a30c6a7dc 100644 --- a/keyboards/tkc/m0lly/keymaps/via/keymap.c +++ b/keyboards/tkc/m0lly/keymaps/via/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Function Layer * * ,-----------------------------------------------------------. .-------------------. - * | | | | | | | | | | | | | | RESET | | | | | | + * | | | | | | | | | | | | | | QK_BOOT | | | | | | * |-----------------------------------------------------------| |-------------------| * | | | | | | | | | | | | | | | | | | | | * |-----------------------------------------------------------| |-------------------| @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' '-------------------' */ [_FUNC1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, @@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FUNC2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FUNC3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, diff --git a/keyboards/tkc/portico/keymaps/default/keymap.c b/keyboards/tkc/portico/keymaps/default/keymap.c index 34420670117e..c75a4550adc3 100644 --- a/keyboards/tkc/portico/keymaps/default/keymap.c +++ b/keyboards/tkc/portico/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef RGB_BACKLIGHT_PORTICO [1] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_HOME, - _______, EF_INC, EF_DEC, BR_INC, BR_DEC, H1_INC, H1_DEC, S1_INC, S1_DEC, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + _______, EF_INC, EF_DEC, BR_INC, BR_DEC, H1_INC, H1_DEC, S1_INC, S1_DEC, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, KC_CAPS, _______, _______, _______, _______, H2_INC, H2_DEC, S2_INC, S2_DEC, _______, _______, _______, _______, KC_PGDN, KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #else [1] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_HOME, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, KC_CAPS, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/tkc/portico/keymaps/via/keymap.c b/keyboards/tkc/portico/keymaps/via/keymap.c index 34420670117e..c75a4550adc3 100644 --- a/keyboards/tkc/portico/keymaps/via/keymap.c +++ b/keyboards/tkc/portico/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef RGB_BACKLIGHT_PORTICO [1] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_HOME, - _______, EF_INC, EF_DEC, BR_INC, BR_DEC, H1_INC, H1_DEC, S1_INC, S1_DEC, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + _______, EF_INC, EF_DEC, BR_INC, BR_DEC, H1_INC, H1_DEC, S1_INC, S1_DEC, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, KC_CAPS, _______, _______, _______, _______, H2_INC, H2_DEC, S2_INC, S2_DEC, _______, _______, _______, _______, KC_PGDN, KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #else [1] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_HOME, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, KC_CAPS, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/tkc/portico68v2/keymaps/default/keymap.c b/keyboards/tkc/portico68v2/keymaps/default/keymap.c index d8ecbe1c0a43..2d4897bfb0a3 100644 --- a/keyboards/tkc/portico68v2/keymaps/default/keymap.c +++ b/keyboards/tkc/portico68v2/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_HOME, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, KC_CAPS, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/tkc/portico68v2/keymaps/via/keymap.c b/keyboards/tkc/portico68v2/keymaps/via/keymap.c index b8fd68f6251b..be6845391aec 100644 --- a/keyboards/tkc/portico68v2/keymaps/via/keymap.c +++ b/keyboards/tkc/portico68v2/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_65_ansi_blocker( 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, KC_DEL, KC_HOME, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, KC_CAPS, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/tkc/tkc1800/keymaps/default/keymap.c b/keyboards/tkc/tkc1800/keymaps/default/keymap.c index 0fd56f73f84a..dcc4749c9dbb 100644 --- a/keyboards/tkc/tkc1800/keymaps/default/keymap.c +++ b/keyboards/tkc/tkc1800/keymaps/default/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------' |-------------------| * | | | | | * ,-----------------------------------------------------------. |-------------------| - * | | | | | | | | | | | | | | RESET | | | | | | + * | | | | | | | | | | | | | | QK_BOOT | | | | | | * |-----------------------------------------------------------| |-------------------| * | | | | | | | | | | | | | | | | | | | | * |-----------------------------------------------------------| |-------------------| @@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [FUNCTION] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, _______, _______, _______, _______, XXXXXXX, diff --git a/keyboards/tkc/tkc1800/keymaps/via/keymap.c b/keyboards/tkc/tkc1800/keymaps/via/keymap.c index a14c6df21782..9fde46a875c7 100644 --- a/keyboards/tkc/tkc1800/keymaps/via/keymap.c +++ b/keyboards/tkc/tkc1800/keymaps/via/keymap.c @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------' |-------------------| * | | | | | * ,-----------------------------------------------------------. |-------------------| - * | | | | | | | | | | | | | | RESET | | | | | | + * | | | | | | | | | | | | | | QK_BOOT | | | | | | * |-----------------------------------------------------------| |-------------------| * | | | | | | | | | | | | | | | | | | | | * |-----------------------------------------------------------| |-------------------| @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [FUNCTION] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, _______, _______, _______, _______, XXXXXXX, @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [ALTERNATE] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, _______, _______, _______, _______, XXXXXXX, @@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAST] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, _______, _______, _______, _______, XXXXXXX, diff --git a/keyboards/tkc/tkc1800/keymaps/wkl/keymap.c b/keyboards/tkc/tkc1800/keymaps/wkl/keymap.c index df6030702f53..144943e372aa 100644 --- a/keyboards/tkc/tkc1800/keymaps/wkl/keymap.c +++ b/keyboards/tkc/tkc1800/keymaps/wkl/keymap.c @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [FUNCTION] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, _______, _______, _______, _______, XXXXXXX, diff --git a/keyboards/tkw/grandiceps/keymaps/default/keymap.c b/keyboards/tkw/grandiceps/keymaps/default/keymap.c index e3de33616e38..a55dd5a5c542 100644 --- a/keyboards/tkw/grandiceps/keymaps/default/keymap.c +++ b/keyboards/tkw/grandiceps/keymaps/default/keymap.c @@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | RESET| |QWERTY|COLEMAK| | | | | | | | | | + * | QK_BOOT| |QWERTY|COLEMAK| | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | | * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| @@ -146,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, XXXXXXX, RGB_TOG, - RESET , XXXXXXX, KC_QWERTY,KC_COLEMAK,CG_TOGG, XXXXXXX, RGB_RMOD, RGB_VAD, RGB_SAD, RGB_HUD, XXXXXXX, XXXXXXX, + QK_BOOT , XXXXXXX, KC_QWERTY,KC_COLEMAK,CG_TOGG, XXXXXXX, RGB_RMOD, RGB_VAD, RGB_SAD, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/tkw/stoutgat/v1/keymaps/default/keymap.c b/keyboards/tkw/stoutgat/v1/keymaps/default/keymap.c index 300b698bb879..00be8be51491 100644 --- a/keyboards/tkw/stoutgat/v1/keymaps/default/keymap.c +++ b/keyboards/tkw/stoutgat/v1/keymaps/default/keymap.c @@ -19,7 +19,7 @@ /* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc `~ */ 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, KC_DEL, KC_PSCR, /* tab Q W E R T Y U I O P [ ] delete*/ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, /* caps A S D F G H J K L ; ' # enter pg up*/ 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_INS, KC_TRNS, KC_HOME, /* shift \ Z X C V B N M , . / shift up pg dn*/ diff --git a/keyboards/tkw/stoutgat/v2/keymaps/ansi/keymap.c b/keyboards/tkw/stoutgat/v2/keymaps/ansi/keymap.c index 4a3a83e45a72..145b2dc635ce 100644 --- a/keyboards/tkw/stoutgat/v2/keymaps/ansi/keymap.c +++ b/keyboards/tkw/stoutgat/v2/keymaps/ansi/keymap.c @@ -15,9 +15,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi_blocker( /* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc `~ */ - 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, KC_DEL, RESET, + 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, KC_DEL, QK_BOOT, /* tab Q W E R T Y U I O P [ ] \ delete*/ - RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS, + RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS, /* caps A S D F G H J K L ; ' enter pg up*/ RGB_TOG, RGB_VAD, RGB_SAD, RGB_HUD, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, /* shift Z X C V B N M , . / shift up pg dn*/ diff --git a/keyboards/tkw/stoutgat/v2/keymaps/default/keymap.c b/keyboards/tkw/stoutgat/v2/keymaps/default/keymap.c index f7139b70b111..1e2b3aafd564 100644 --- a/keyboards/tkw/stoutgat/v2/keymaps/default/keymap.c +++ b/keyboards/tkw/stoutgat/v2/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_encoder( /* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc `~ */ - 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, KC_DEL, RESET, + 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, KC_DEL, QK_BOOT, /* tab Q W E R T Y U I O P [ ] delete */ RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, /* caps A S D F G H J K L ; ' # enter pg up */ diff --git a/keyboards/tmo50/keymaps/default/keymap.c b/keyboards/tmo50/keymaps/default/keymap.c index a1d896b61be2..1486bf82cc3f 100644 --- a/keyboards/tmo50/keymaps/default/keymap.c +++ b/keyboards/tmo50/keymaps/default/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn3 layer [3] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, BL_STEP, BL_DEC, 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 diff --git a/keyboards/tmo50/keymaps/via/keymap.c b/keyboards/tmo50/keymaps/via/keymap.c index a1d896b61be2..1486bf82cc3f 100644 --- a/keyboards/tmo50/keymaps/via/keymap.c +++ b/keyboards/tmo50/keymaps/via/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn3 layer [3] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, BL_STEP, BL_DEC, 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 diff --git a/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c b/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c index 45fee56a95c9..1e0548c30380 100644 --- a/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c +++ b/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT( - RESET, _______, AG_NORM, AG_SWAP, DEBUG, KC_TRNS, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, + QK_BOOT, _______, AG_NORM, AG_SWAP, DEBUG, KC_TRNS, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_BSLS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/tominabox1/underscore33/rev1/keymaps/default/keymap.c b/keyboards/tominabox1/underscore33/rev1/keymaps/default/keymap.c index beaa8d92f213..01e684e8ec09 100644 --- a/keyboards/tominabox1/underscore33/rev1/keymaps/default/keymap.c +++ b/keyboards/tominabox1/underscore33/rev1/keymaps/default/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT_33_split_space( - RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, + QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/keymap.c b/keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/keymap.c index 09547fa06f3c..89efbd77e622 100644 --- a/keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/keymap.c +++ b/keyboards/tominabox1/underscore33/rev1/keymaps/default_big_space/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT_33_big_space( - RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, + QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/tominabox1/underscore33/rev2/keymaps/default/keymap.c b/keyboards/tominabox1/underscore33/rev2/keymaps/default/keymap.c index ebacea413266..00ae38ce7537 100644 --- a/keyboards/tominabox1/underscore33/rev2/keymaps/default/keymap.c +++ b/keyboards/tominabox1/underscore33/rev2/keymaps/default/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT_33_split_space( - RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, + QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/keymap.c b/keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/keymap.c index 09547fa06f3c..89efbd77e622 100644 --- a/keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/keymap.c +++ b/keyboards/tominabox1/underscore33/rev2/keymaps/default_big_space/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT_33_big_space( - RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, + QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/tr60w/keymaps/default/keymap.c b/keyboards/tr60w/keymaps/default/keymap.c index 86bfbb566238..ecfb9126bc8f 100644 --- a/keyboards/tr60w/keymaps/default/keymap.c +++ b/keyboards/tr60w/keymaps/default/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), LAYOUT_60_tsangan_hhkb( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, KC_DEL, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_LEFT, KC_RGHT, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, KC_DOWN, _______, _______, diff --git a/keyboards/trashman/ketch/keymaps/default/keymap.c b/keyboards/trashman/ketch/keymaps/default/keymap.c index 5d2220a4f427..37d396ace33c 100644 --- a/keyboards/trashman/ketch/keymaps/default/keymap.c +++ b/keyboards/trashman/ketch/keymaps/default/keymap.c @@ -39,6 +39,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TRNS, KC_UNDS, KC_PLUS, KC_COLN, KC_DQUO, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_DQUO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_PGUP, KC_PIPE, - KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ) }; diff --git a/keyboards/treasure/type9s2/keymaps/default/keymap.c b/keyboards/treasure/type9s2/keymaps/default/keymap.c index 35e789a95d42..8d076c3d9973 100644 --- a/keyboards/treasure/type9s2/keymaps/default/keymap.c +++ b/keyboards/treasure/type9s2/keymaps/default/keymap.c @@ -38,6 +38,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_ortho_3x3( _______, _______, _______, _______, _______, _______, - RESET, _______, _______ + QK_BOOT, _______, _______ ) }; diff --git a/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c b/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c index b32eb33ec69a..04866e35ef7f 100644 --- a/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c +++ b/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/tszaboo/ortho4exent/keymaps/default/keymap.c b/keyboards/tszaboo/ortho4exent/keymaps/default/keymap.c index c6a8a7a80d1b..148beb247a29 100644 --- a/keyboards/tszaboo/ortho4exent/keymaps/default/keymap.c +++ b/keyboards/tszaboo/ortho4exent/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( KC_TRNS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_TRNS, KC_TRNS, KC_TRNS, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , 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, RESET, 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, QK_BOOT, 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, KC_TRNS, RGB_TOG, RGB_MOD, RGB_M_P, RGB_M_G, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/uk78/keymaps/default/keymap.c b/keyboards/uk78/keymaps/default/keymap.c index c23cca1b844c..3a83fd167249 100644 --- a/keyboards/uk78/keymaps/default/keymap.c +++ b/keyboards/uk78/keymaps/default/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL1] = LAYOUT_all( 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, KC_PSCR, KC_INS, KC_NLCK, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, BL_DEC, BL_INC, _______, KC_MUTE, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______ diff --git a/keyboards/ungodly/launch_pad/keymaps/default/keymap.c b/keyboards/ungodly/launch_pad/keymaps/default/keymap.c index 43e0e72bdc1f..6ac19d5b5917 100644 --- a/keyboards/ungodly/launch_pad/keymaps/default/keymap.c +++ b/keyboards/ungodly/launch_pad/keymaps/default/keymap.c @@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUD, RGB_HUI, XXXXXXX, RGB_M_P, RGB_SAD, RGB_SAI, XXXXXXX, RGB_MOD, RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX, - RESET, RESET, XXXXXXX, XXXXXXX + QK_BOOT, QK_BOOT, XXXXXXX, XXXXXXX ), }; diff --git a/keyboards/ungodly/launch_pad/keymaps/via/keymap.c b/keyboards/ungodly/launch_pad/keymaps/via/keymap.c index 0854715befa3..198d99d29da7 100644 --- a/keyboards/ungodly/launch_pad/keymaps/via/keymap.c +++ b/keyboards/ungodly/launch_pad/keymaps/via/keymap.c @@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUD, RGB_HUI, XXXXXXX, RGB_M_P, RGB_SAD, RGB_SAI, XXXXXXX, RGB_MOD, RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX, - RESET, RESET, XXXXXXX, XXXXXXX + QK_BOOT, QK_BOOT, XXXXXXX, XXXXXXX ), }; diff --git a/keyboards/ungodly/nines/keymaps/default/keymap.c b/keyboards/ungodly/nines/keymaps/default/keymap.c index 2100f4b8015e..e9cd2e02b62b 100644 --- a/keyboards/ungodly/nines/keymaps/default/keymap.c +++ b/keyboards/ungodly/nines/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ortho_3x3( - RESET, _______, KC_STOP, + QK_BOOT, _______, KC_STOP, _______, KC_HOME, _______, KC_MPRV, KC_END , KC_MNXT ) diff --git a/keyboards/ungodly/nines/keymaps/via/keymap.c b/keyboards/ungodly/nines/keymaps/via/keymap.c index e0567ff0f1f6..46644b3a208e 100644 --- a/keyboards/ungodly/nines/keymaps/via/keymap.c +++ b/keyboards/ungodly/nines/keymaps/via/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ortho_3x3( - RESET, _______, KC_STOP, + QK_BOOT, _______, KC_STOP, _______, KC_HOME, _______, KC_MPRV, KC_END , KC_MNXT ), diff --git a/keyboards/unicomp/spacesaver_m_post_2013/keymaps/default/keymap.c b/keyboards/unicomp/spacesaver_m_post_2013/keymaps/default/keymap.c index 08a9be07f5ac..53a198107b2e 100644 --- a/keyboards/unicomp/spacesaver_m_post_2013/keymaps/default/keymap.c +++ b/keyboards/unicomp/spacesaver_m_post_2013/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_all( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_NUBS,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_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_EQL, KC_PSLS, KC_PAST, - KC_TAB, KC_Q, KC_W,EEPROM_RESET,RESET,KC_T,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_TAB, KC_Q, KC_W,EEPROM_RESET,QK_BOOT,KC_T,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_CAPS, KC_A, KC_S,DEBUG, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT,KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, KC_LCTRL, KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_RGUI, KC_RALT, MO(_FN), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P0, KC_PDOT, KC_PENT diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/keymaps/default/keymap.c b/keyboards/unicomp/spacesaver_m_pre_2013/keymaps/default/keymap.c index 08a9be07f5ac..53a198107b2e 100644 --- a/keyboards/unicomp/spacesaver_m_pre_2013/keymaps/default/keymap.c +++ b/keyboards/unicomp/spacesaver_m_pre_2013/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_all( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_NUBS,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_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_EQL, KC_PSLS, KC_PAST, - KC_TAB, KC_Q, KC_W,EEPROM_RESET,RESET,KC_T,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_TAB, KC_Q, KC_W,EEPROM_RESET,QK_BOOT,KC_T,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_CAPS, KC_A, KC_S,DEBUG, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT,KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, KC_LCTRL, KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_RGUI, KC_RALT, MO(_FN), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P0, KC_PDOT, KC_PENT diff --git a/keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c b/keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c index fb5957ccaeba..e4ba788b7009 100644 --- a/keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c +++ b/keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - RESET, KC_LCTL, KC_LALT, KC_LGUI, LT(_LOWER, KC_SPC), LT(_RAISE,KC_SPC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + QK_BOOT, KC_LCTL, KC_LALT, KC_LGUI, LT(_LOWER, KC_SPC), LT(_RAISE,KC_SPC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), /* Colemak @@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12_2x2u( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/unikorn/keymaps/default/keymap.c b/keyboards/unikorn/keymaps/default/keymap.c index 3e7303625381..5ecc4b29bb81 100644 --- a/keyboards/unikorn/keymaps/default/keymap.c +++ b/keyboards/unikorn/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - RESET, 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, + QK_BOOT, 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, 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, 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 diff --git a/keyboards/unikorn/keymaps/tsangan/keymap.c b/keyboards/unikorn/keymaps/tsangan/keymap.c index 4c86d4f02e92..6761281787e4 100644 --- a/keyboards/unikorn/keymaps/tsangan/keymap.c +++ b/keyboards/unikorn/keymaps/tsangan/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_tsangan_hhkb( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, - RESET, 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, + QK_BOOT, 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, 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, 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 diff --git a/keyboards/unikorn/keymaps/via/keymap.c b/keyboards/unikorn/keymaps/via/keymap.c index 99310e861b71..05a9ea0a96ea 100644 --- a/keyboards/unikorn/keymaps/via/keymap.c +++ b/keyboards/unikorn/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - RESET, 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, + QK_BOOT, 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, 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, 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 diff --git a/keyboards/unison/keymaps/via/keymap.c b/keyboards/unison/keymaps/via/keymap.c index f3af26f18499..2e3a6ad71a4e 100644 --- a/keyboards/unison/keymaps/via/keymap.c +++ b/keyboards/unison/keymaps/via/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJ] = LAYOUT_all( _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______, _______,_______,_______,RESET, _______,_______,_______,_______,_______,RGB_HUI,RGB_SAI,RGB_VAI,_______,RGB_RMOD, _______, + _______, _______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,RGB_HUI,RGB_SAI,RGB_VAI,_______,RGB_RMOD, _______, _______, AU_TOG, CK_TOGG,MU_TOG, MU_MOD, _______,_______,_______,_______,_______,RGB_HUD,RGB_SAD,RGB_VAD,RGB_TOG,RGB_MOD, _______, KC_CAPS,_______,CK_RST, CK_DOWN,CK_UP, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ diff --git a/keyboards/uzu42/keymaps/default/keymap.c b/keyboards/uzu42/keymaps/default/keymap.c index 03ac17f62901..01e31ceb39c6 100644 --- a/keyboards/uzu42/keymaps/default/keymap.c +++ b/keyboards/uzu42/keymaps/default/keymap.c @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,---------------------------------------. ,---------------------------------------. 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_PSCR, KC_INS, RGB_TOG,RGB_HUI,RGB_SAI,RGB_VAI,XXXXXXX, + KC_F11, KC_F12, QK_BOOT,KC_PSCR, KC_INS, RGB_TOG,RGB_HUI,RGB_SAI,RGB_VAI,XXXXXXX, //|-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, RGB_MOD,RGB_HUD,RGB_SAD,RGB_VAD,RGBRST, //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| diff --git a/keyboards/v4n4g0rth0n/v1/keymaps/default/keymap.c b/keyboards/v4n4g0rth0n/v1/keymaps/default/keymap.c index a1c547e8840d..89b6e06ff00c 100644 --- a/keyboards/v4n4g0rth0n/v1/keymaps/default/keymap.c +++ b/keyboards/v4n4g0rth0n/v1/keymaps/default/keymap.c @@ -34,15 +34,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NUM] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_LCTL, RESET, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LCTL, QK_BOOT, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, - RESET, KC_TRNS, KC_TRNS, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT + QK_BOOT, KC_TRNS, KC_TRNS, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT ), [_FN] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_LCTL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, - RESET, KC_TRNS, KC_TRNS, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT + QK_BOOT, KC_TRNS, KC_TRNS, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT ) }; diff --git a/keyboards/v4n4g0rth0n/v2/keymaps/default/keymap.c b/keyboards/v4n4g0rth0n/v2/keymaps/default/keymap.c index 11616b2e7b8a..93aa46b7b091 100644 --- a/keyboards/v4n4g0rth0n/v2/keymaps/default/keymap.c +++ b/keyboards/v4n4g0rth0n/v2/keymaps/default/keymap.c @@ -72,15 +72,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NUM] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_LCTL, RESET, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LCTL, QK_BOOT, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, - RESET, KC_TRNS, KC_TRNS, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT + QK_BOOT, KC_TRNS, KC_TRNS, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT ), [_FN] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_LCTL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, - RESET, KC_TRNS, KC_TRNS, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT + QK_BOOT, KC_TRNS, KC_TRNS, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT ) }; diff --git a/keyboards/vagrant_10/keymaps/default/keymap.c b/keyboards/vagrant_10/keymaps/default/keymap.c index 4864ce6e794f..f64df59fe5b0 100755 --- a/keyboards/vagrant_10/keymaps/default/keymap.c +++ b/keyboards/vagrant_10/keymaps/default/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_TRNS, KC_NO), [OTHER] = LAYOUT( - RESET, + QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS), diff --git a/keyboards/viktus/at101_bh/keymaps/default/keymap.c b/keyboards/viktus/at101_bh/keymaps/default/keymap.c index 1962dd7479fb..a87660ce73eb 100644 --- a/keyboards/viktus/at101_bh/keymaps/default/keymap.c +++ b/keyboards/viktus/at101_bh/keymaps/default/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( 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, - RESET, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/viktus/omnikey_bh/keymaps/default/keymap.c b/keyboards/viktus/omnikey_bh/keymaps/default/keymap.c index 671c04a36bbc..b3ace4c7b7b0 100644 --- a/keyboards/viktus/omnikey_bh/keymaps/default/keymap.c +++ b/keyboards/viktus/omnikey_bh/keymaps/default/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX, _______, _______, _______, _______, diff --git a/keyboards/viktus/smolka/keymaps/default/keymap.c b/keyboards/viktus/smolka/keymaps/default/keymap.c index dba3f65203d5..8e91203f3250 100644 --- a/keyboards/viktus/smolka/keymaps/default/keymap.c +++ b/keyboards/viktus/smolka/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( /* Smolka Base */ - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/viktus/smolka/keymaps/via/keymap.c b/keyboards/viktus/smolka/keymaps/via/keymap.c index 3d1f0a323c97..7f5fff9ee9ce 100644 --- a/keyboards/viktus/smolka/keymaps/via/keymap.c +++ b/keyboards/viktus/smolka/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( /* Smolka Base */ - RESET, 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, + QK_BOOT, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/viktus/sp111/keymaps/default/keymap.c b/keyboards/viktus/sp111/keymaps/default/keymap.c index 11571e37a2b4..844b1c793c44 100644 --- a/keyboards/viktus/sp111/keymaps/default/keymap.c +++ b/keyboards/viktus/sp111/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_P0, KC_P00, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_MUTE, KC_SPC, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [_FN] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/viktus/sp111/keymaps/via/keymap.c b/keyboards/viktus/sp111/keymaps/via/keymap.c index 37dacc383562..4ae50062ca74 100644 --- a/keyboards/viktus/sp111/keymaps/via/keymap.c +++ b/keyboards/viktus/sp111/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_P0, KC_PDOT, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_MUTE, KC_SPC, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/viktus/sp_mini/keymaps/default/keymap.c b/keyboards/viktus/sp_mini/keymaps/default/keymap.c index e01b6083d7d6..3f123b1cb1ff 100644 --- a/keyboards/viktus/sp_mini/keymaps/default/keymap.c +++ b/keyboards/viktus/sp_mini/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, _______, KC_UP, diff --git a/keyboards/viktus/sp_mini/keymaps/via/keymap.c b/keyboards/viktus/sp_mini/keymaps/via/keymap.c index e1242d5b9cf4..49d421e93457 100644 --- a/keyboards/viktus/sp_mini/keymaps/via/keymap.c +++ b/keyboards/viktus/sp_mini/keymaps/via/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, _______, KC_UP, diff --git a/keyboards/viktus/styrka/keymaps/default/keymap.c b/keyboards/viktus/styrka/keymaps/default/keymap.c index ac4950b2a4c6..47adf0731378 100644 --- a/keyboards/viktus/styrka/keymaps/default/keymap.c +++ b/keyboards/viktus/styrka/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_default( /* Styrka Base */ - RESET, KC_F2, 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_INS, + QK_BOOT, KC_F2, 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_INS, KC_F3, KC_F4, 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_BSPC, KC_DEL, KC_F5, KC_F6, 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, KC_F7, KC_F8, 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, diff --git a/keyboards/viktus/styrka/keymaps/via/keymap.c b/keyboards/viktus/styrka/keymaps/via/keymap.c index 6ec931a90a56..2950af552372 100644 --- a/keyboards/viktus/styrka/keymaps/via/keymap.c +++ b/keyboards/viktus/styrka/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( /* Styrka Base */ - RESET, 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, KC_TRNS, + QK_BOOT, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/viktus/z150_bh/keymaps/default/keymap.c b/keyboards/viktus/z150_bh/keymaps/default/keymap.c index 9ca75dd28528..3ff40f7e8339 100644 --- a/keyboards/viktus/z150_bh/keymaps/default/keymap.c +++ b/keyboards/viktus/z150_bh/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( - _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/viktus/z150_bh/keymaps/default_tkl/keymap.c b/keyboards/viktus/z150_bh/keymaps/default_tkl/keymap.c index fa1f7e47b97c..bcc5501bac35 100644 --- a/keyboards/viktus/z150_bh/keymaps/default_tkl/keymap.c +++ b/keyboards/viktus/z150_bh/keymaps/default_tkl/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_z150_tkl( - _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/vitamins_included/keymaps/default/keymap.c b/keyboards/vitamins_included/keymaps/default/keymap.c index 2f3b98060cb5..ce287fca9a2d 100644 --- a/keyboards/vitamins_included/keymaps/default/keymap.c +++ b/keyboards/vitamins_included/keymaps/default/keymap.c @@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | | * |------+------+------+------+------+------|------+------+------+------+------+------| - * |RESET | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter | + * |QK_BOOT | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter | * |------+------+------+------+------+------+------+------+------+------+------+------| * |TGNKRO| | | | | | | Next | Vol- | Vol+ | Play | * `-----------------------------------------------------------------------------------' @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT_ortho_4x12( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - RESET, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______,_______,_______, + QK_BOOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______,_______,_______, TG_NKRO, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), @@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | |TGNKRO|RESET | + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | |TGNKRO|QK_BOOT | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | Next | Vol- | Vol+ | Play | * `-----------------------------------------------------------------------------------' @@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_RAISE] = LAYOUT_ortho_4x12( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, TG_NKRO, RESET, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, TG_NKRO, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), diff --git a/keyboards/vitamins_included/keymaps/via/keymap.c b/keyboards/vitamins_included/keymaps/via/keymap.c index 07460400f2bc..08968d0b52aa 100644 --- a/keyboards/vitamins_included/keymaps/via/keymap.c +++ b/keyboards/vitamins_included/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | | * |------+------+------+------+------+------|------+------+------+------+------+------| - * |RESET | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter | + * |QK_BOOT | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter | * |------+------+------+------+------+------+------+------+------+------+------+------| * |NKTOGG| | | | | | | Next | Vol- | Vol+ | Play | * `-----------------------------------------------------------------------------------' @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT_ortho_4x12( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - RESET, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______,_______,_______, + QK_BOOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______,_______,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | |NKTOGG|RESET | + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | |NKTOGG|QK_BOOT | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | Next | Vol- | Vol+ | Play | * `-----------------------------------------------------------------------------------' @@ -61,13 +61,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_RAISE] = LAYOUT_ortho_4x12( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, NK_TOGG, RESET, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, NK_TOGG, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), /* Adjust * ,-----------------------------------------------------------------------------------. - * | | RESET| | | | | | | | | RESET| Del | + * | | QK_BOOT| | | | | | | | | QK_BOOT| Del | * |------+------+------+------+------+-------------+------+------+------+------+------| * | | | | | | | | | | | | | * |------+------+------+------+------+------|------+------+------+------+------+------| @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_DEL, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AU_OFF, AU_ON, _______, _______, _______, _______, _______, RGB_MOD diff --git a/keyboards/waldo/keymaps/default/keymap.c b/keyboards/waldo/keymaps/default/keymap.c index dffb55bd8727..7d5f8c70f01e 100644 --- a/keyboards/waldo/keymaps/default/keymap.c +++ b/keyboards/waldo/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FUNCTION] = LAYOUT_60_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/waldo/keymaps/via/keymap.c b/keyboards/waldo/keymaps/via/keymap.c index b7dfa5e4e276..b5217a7a8ab9 100644 --- a/keyboards/waldo/keymaps/via/keymap.c +++ b/keyboards/waldo/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/walletburner/cajal/keymaps/via/keymap.c b/keyboards/walletburner/cajal/keymaps/via/keymap.c index 86348ed4565c..246bbfa24634 100644 --- a/keyboards/walletburner/cajal/keymaps/via/keymap.c +++ b/keyboards/walletburner/cajal/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT_stagger( - RESET, 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, + QK_BOOT, 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, 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, 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 diff --git a/keyboards/walletburner/neuron/keymaps/default/keymap.c b/keyboards/walletburner/neuron/keymaps/default/keymap.c index e2c1dcf01d19..d07fb306ceb0 100644 --- a/keyboards/walletburner/neuron/keymaps/default/keymap.c +++ b/keyboards/walletburner/neuron/keymaps/default/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, KC_RALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/walletburner/neuron/keymaps/via/keymap.c b/keyboards/walletburner/neuron/keymaps/via/keymap.c index 29e1c4d68d58..a0cf95210ffe 100644 --- a/keyboards/walletburner/neuron/keymaps/via/keymap.c +++ b/keyboards/walletburner/neuron/keymaps/via/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, KC_RALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/wavtype/foundation/keymaps/default/keymap.c b/keyboards/wavtype/foundation/keymaps/default/keymap.c index 1e9bd709f73a..884a66f7e2bb 100644 --- a/keyboards/wavtype/foundation/keymaps/default/keymap.c +++ b/keyboards/wavtype/foundation/keymaps/default/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_ansi_split_bs( RGB_TOG, 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_INS, KC_HOME, KC_PGUP, - RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, 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, RGB_SAI, 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_VOLU, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/wavtype/foundation/keymaps/default_ansi_tsangan_split_bs/keymap.c b/keyboards/wavtype/foundation/keymaps/default_ansi_tsangan_split_bs/keymap.c index 304517d43ae8..169153883190 100644 --- a/keyboards/wavtype/foundation/keymaps/default_ansi_tsangan_split_bs/keymap.c +++ b/keyboards/wavtype/foundation/keymaps/default_ansi_tsangan_split_bs/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_ansi_tsangan_split_bs( RGB_TOG, 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_INS, KC_HOME, KC_PGUP, - RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, 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, RGB_SAI, 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_VOLU, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/wavtype/foundation/keymaps/default_iso_split_bs_rshift/keymap.c b/keyboards/wavtype/foundation/keymaps/default_iso_split_bs_rshift/keymap.c index e93a0771e3f4..cfb2589685cc 100644 --- a/keyboards/wavtype/foundation/keymaps/default_iso_split_bs_rshift/keymap.c +++ b/keyboards/wavtype/foundation/keymaps/default_iso_split_bs_rshift/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_iso_split_bs_rshift( RGB_TOG, 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_INS, KC_HOME, KC_PGUP, - RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, 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, RGB_SAI, 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_VOLU, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/wavtype/foundation/keymaps/default_iso_tsangan_split_bs_rshift/keymap.c b/keyboards/wavtype/foundation/keymaps/default_iso_tsangan_split_bs_rshift/keymap.c index b9561bc39bd1..ffe2f53221ea 100644 --- a/keyboards/wavtype/foundation/keymaps/default_iso_tsangan_split_bs_rshift/keymap.c +++ b/keyboards/wavtype/foundation/keymaps/default_iso_tsangan_split_bs_rshift/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_iso_tsangan_split_bs_rshift( RGB_TOG, 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_INS, KC_HOME, KC_PGUP, - RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, 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, RGB_SAI, 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_VOLU, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/wavtype/foundation/keymaps/via/keymap.c b/keyboards/wavtype/foundation/keymaps/via/keymap.c index ba8929c1a9e2..f57fe6d61a02 100644 --- a/keyboards/wavtype/foundation/keymaps/via/keymap.c +++ b/keyboards/wavtype/foundation/keymaps/via/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_ansi_split_bs( RGB_TOG, 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_INS, KC_HOME, KC_PGUP, - RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, 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, RGB_SAI, 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_VOLU, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/wekey/polaris/keymaps/default/keymap.c b/keyboards/wekey/polaris/keymaps/default/keymap.c index 65902ae583e8..c53c3a7226ee 100644 --- a/keyboards/wekey/polaris/keymaps/default/keymap.c +++ b/keyboards/wekey/polaris/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ), [_FN] = LAYOUT_all( /* FN */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______, diff --git a/keyboards/wekey/stelo65/keymaps/default/keymap.c b/keyboards/wekey/stelo65/keymaps/default/keymap.c index 3e55cfdd227e..305d97243cc3 100644 --- a/keyboards/wekey/stelo65/keymaps/default/keymap.c +++ b/keyboards/wekey/stelo65/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/wekey/stelo65/keymaps/via/keymap.c b/keyboards/wekey/stelo65/keymaps/via/keymap.c index 3c3b9076c163..1a5c202947e3 100644 --- a/keyboards/wekey/stelo65/keymaps/via/keymap.c +++ b/keyboards/wekey/stelo65/keymaps/via/keymap.c @@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, diff --git a/keyboards/wekey/we27/keymaps/default/keymap.c b/keyboards/wekey/we27/keymaps/default/keymap.c index fdaafa7d82af..53f5c5dc7709 100644 --- a/keyboards/wekey/we27/keymaps/default/keymap.c +++ b/keyboards/wekey/we27/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, - _______, _______, _______, RESET + _______, _______, _______, QK_BOOT ), [2] = LAYOUT_numpad_6x5_encoder( _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/wekey/we27/keymaps/via/keymap.c b/keyboards/wekey/we27/keymaps/via/keymap.c index fdaafa7d82af..53f5c5dc7709 100644 --- a/keyboards/wekey/we27/keymaps/via/keymap.c +++ b/keyboards/wekey/we27/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, - _______, _______, _______, RESET + _______, _______, _______, QK_BOOT ), [2] = LAYOUT_numpad_6x5_encoder( _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/westfoxtrot/aanzee/keymaps/default/keymap.c b/keyboards/westfoxtrot/aanzee/keymaps/default/keymap.c index e4c89b118b69..2ba8596bc551 100644 --- a/keyboards/westfoxtrot/aanzee/keymaps/default/keymap.c +++ b/keyboards/westfoxtrot/aanzee/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT), [_F1] = LAYOUT_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,_______,_______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,_______,_______, _______,RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,_______,_______,_______,_______,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, diff --git a/keyboards/westfoxtrot/aanzee/keymaps/via/keymap.c b/keyboards/westfoxtrot/aanzee/keymaps/via/keymap.c index 183b41940230..4e648fdeff71 100644 --- a/keyboards/westfoxtrot/aanzee/keymaps/via/keymap.c +++ b/keyboards/westfoxtrot/aanzee/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_F1) ,KC_LEFT,KC_DOWN, KC_RGHT), [_F1] = LAYOUT_ansi( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,_______,_______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,_______,_______, _______,RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,_______,_______,_______,_______,_______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, diff --git a/keyboards/westfoxtrot/cyclops/keymaps/default/keymap.c b/keyboards/westfoxtrot/cyclops/keymaps/default/keymap.c index b693bcebade9..42e3dcd0bda3 100644 --- a/keyboards/westfoxtrot/cyclops/keymaps/default/keymap.c +++ b/keyboards/westfoxtrot/cyclops/keymaps/default/keymap.c @@ -33,5 +33,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______, _______, _______), + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/default/keymap.c b/keyboards/westfoxtrot/cypher/rev1/keymaps/default/keymap.c index 54eae8e38eae..bd79fe5d0b0f 100644 --- a/keyboards/westfoxtrot/cypher/rev1/keymaps/default/keymap.c +++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC), [_F1] = LAYOUT_ansi( /* Function Layer */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/keymap.c b/keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/keymap.c index df93c5399649..2ce428266111 100644 --- a/keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/keymap.c +++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC), [_F1] = LAYOUT_iso( /* Function Layer */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/westfoxtrot/cypher/rev5/keymaps/default/keymap.c b/keyboards/westfoxtrot/cypher/rev5/keymaps/default/keymap.c index f9d6bc8e5689..b1001450e549 100644 --- a/keyboards/westfoxtrot/cypher/rev5/keymaps/default/keymap.c +++ b/keyboards/westfoxtrot/cypher/rev5/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI,KC_LALT, KC_SPC,KC_SPC,KC_SPC, KC_RALT,KC_RALT,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC), [_F1] = LAYOUT_all( /* Function Layer */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL , _______, _______, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL , _______, _______, _______, _______, _______, _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/keymap.c b/keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/keymap.c index e3bda0c0056d..65c01ef9d528 100644 --- a/keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/keymap.c +++ b/keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_LGUI,KC_LALT, KC_NO,KC_SPC,KC_NO, KC_RALT,KC_RGUI,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC), [_F1] = LAYOUT_all( /* Function Layer */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______,_______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/westfoxtrot/cypher/rev5/keymaps/via/keymap.c b/keyboards/westfoxtrot/cypher/rev5/keymaps/via/keymap.c index 93be29fbdc73..47e4ad40170b 100644 --- a/keyboards/westfoxtrot/cypher/rev5/keymaps/via/keymap.c +++ b/keyboards/westfoxtrot/cypher/rev5/keymaps/via/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_INC, BL_DEC, BL_BRTG, 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, 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, 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, diff --git a/keyboards/westfoxtrot/prophet/keymaps/default/keymap.c b/keyboards/westfoxtrot/prophet/keymaps/default/keymap.c index 095baf9ac905..5fef7d1e53c4 100644 --- a/keyboards/westfoxtrot/prophet/keymaps/default/keymap.c +++ b/keyboards/westfoxtrot/prophet/keymaps/default/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_RCTL), [_F1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_INS,KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_INS,KC_DEL, KC_CAPS,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK,KC_PAUS,KC_UP,_______,KC_DEL, _______,KC_VOLD,KC_VOLU,KC_MUTE,KC_EJCT,_______,KC_PAST,KC_PSLS,KC_HOME,KC_PGUP,KC_LEFT,KC_RIGHT, _______, _______,_______,_______,_______,_______,_______,_______,KC_PPLS,KC_PMNS,KC_END,KC_PGDN,KC_DOWN,_______,_______, diff --git a/keyboards/westfoxtrot/prophet/keymaps/via/keymap.c b/keyboards/westfoxtrot/prophet/keymaps/via/keymap.c index 966ea3a84dae..39b80cde4680 100644 --- a/keyboards/westfoxtrot/prophet/keymaps/via/keymap.c +++ b/keyboards/westfoxtrot/prophet/keymaps/via/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_RCTL), [_F1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_INS,KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_INS,KC_DEL, KC_CAPS,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK,KC_PAUS,KC_UP,_______,KC_DEL, _______,KC_VOLD,KC_VOLU,KC_MUTE,KC_EJCT,_______,KC_PAST,KC_PSLS,KC_HOME,KC_PGUP,KC_LEFT,KC_RIGHT, _______, _______,_______,_______,_______,_______,_______,_______,KC_PPLS,KC_PMNS,KC_END,KC_PGDN,KC_DOWN,_______,_______, diff --git a/keyboards/westm/westmergo/keymaps/default/keymap.c b/keyboards/westm/westmergo/keymaps/default/keymap.c index 80e40b33caf2..ba2468786029 100755 --- a/keyboards/westm/westmergo/keymaps/default/keymap.c +++ b/keyboards/westm/westmergo/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_SPC, KC_LALT, KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT_alice( /* FN */ - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME, _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/westm/westmergo/keymaps/via/keymap.c b/keyboards/westm/westmergo/keymaps/via/keymap.c index 170f827100d1..8389331a09d6 100644 --- a/keyboards/westm/westmergo/keymaps/via/keymap.c +++ b/keyboards/westm/westmergo/keymaps/via/keymap.c @@ -26,21 +26,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_SPC, KC_LALT, KC_SPC, KC_RALT, KC_RCTL ), [1] = LAYOUT_alice( /* FN */ - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME, _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_alice( /* 2 */ - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME, _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_alice( /* 3 */ - RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME, _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/wolf/kuku65/keymaps/default/keymap.c b/keyboards/wolf/kuku65/keymaps/default/keymap.c index 11d9f26ff5df..a310ea69a3e4 100644 --- a/keyboards/wolf/kuku65/keymaps/default/keymap.c +++ b/keyboards/wolf/kuku65/keymaps/default/keymap.c @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ) }; diff --git a/keyboards/wolf/kuku65/keymaps/via/keymap.c b/keyboards/wolf/kuku65/keymaps/via/keymap.c index 44618f676b79..d605e4ec5b9a 100644 --- a/keyboards/wolf/kuku65/keymaps/via/keymap.c +++ b/keyboards/wolf/kuku65/keymaps/via/keymap.c @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ), diff --git a/keyboards/wolf/sabre/keymaps/default/keymap.c b/keyboards/wolf/sabre/keymaps/default/keymap.c index a873ab89fbf5..dc8312a7eacf 100644 --- a/keyboards/wolf/sabre/keymaps/default/keymap.c +++ b/keyboards/wolf/sabre/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_BRTG ) }; diff --git a/keyboards/wolf/sabre/keymaps/via/keymap.c b/keyboards/wolf/sabre/keymaps/via/keymap.c index 6a6c35bb0e8d..e3d01e7424ba 100644 --- a/keyboards/wolf/sabre/keymaps/via/keymap.c +++ b/keyboards/wolf/sabre/keymaps/via/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_BRTG ), diff --git a/keyboards/wolf/ts60/keymaps/default/keymap.c b/keyboards/wolf/ts60/keymaps/default/keymap.c index 9165bea34163..262d51f25e17 100644 --- a/keyboards/wolf/ts60/keymaps/default/keymap.c +++ b/keyboards/wolf/ts60/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_60_ansi( 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, KC_DEL, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/wolf/ts60/keymaps/via/keymap.c b/keyboards/wolf/ts60/keymaps/via/keymap.c index 65d06d649d0b..c418f9697e81 100644 --- a/keyboards/wolf/ts60/keymaps/via/keymap.c +++ b/keyboards/wolf/ts60/keymaps/via/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER1] = LAYOUT_60_ansi( 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, KC_DEL, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/wolfmarkclub/wm1/keymaps/default/keymap.c b/keyboards/wolfmarkclub/wm1/keymaps/default/keymap.c index 83e9ac21a75f..9817557d663a 100644 --- a/keyboards/wolfmarkclub/wm1/keymaps/default/keymap.c +++ b/keyboards/wolfmarkclub/wm1/keymaps/default/keymap.c @@ -10,7 +10,7 @@ KC_LCTL, KC_LALT,KC_LGUI,KC_SPC, KC_SPC, KC_RALT, [1] = LAYOUT( 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, _______, _______, _______, -RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/woodkeys/meira/keymaps/default/keymap.c b/keyboards/woodkeys/meira/keymaps/default/keymap.c index dacf848cf162..44229c1b112e 100644 --- a/keyboards/woodkeys/meira/keymaps/default/keymap.c +++ b/keyboards/woodkeys/meira/keymaps/default/keymap.c @@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT( - BL_TOGG, RESET, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_PSCR, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, + BL_TOGG, QK_BOOT, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_PSCR, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, BL_STEP, RGB_MOD, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c b/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c index 7b2687a607a0..707e9fa132d3 100644 --- a/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c +++ b/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______,_______,_______, _______, _______, _______, _______,_______,_______,_______,_______,_______), [_ADJUST] = LAYOUT_all( - RESET, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, + QK_BOOT, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, diff --git a/keyboards/work_louder/loop/keymaps/default/keymap.c b/keyboards/work_louder/loop/keymaps/default/keymap.c index a2e35d967044..aafe366180ee 100644 --- a/keyboards/work_louder/loop/keymaps/default/keymap.c +++ b/keyboards/work_louder/loop/keymaps/default/keymap.c @@ -21,10 +21,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MUTE, KC_MPLY, R_M_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, MO(1) ), [1] = LAYOUT( - RESET, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, MO(2), _______ + QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, MO(2), _______ ), [2] = LAYOUT( - RESET, _______, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, _______ + QK_BOOT, _______, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, _______ ) }; // clang-format on diff --git a/keyboards/work_louder/loop/keymaps/via/keymap.c b/keyboards/work_louder/loop/keymaps/via/keymap.c index 22113e836e35..286c651361cc 100644 --- a/keyboards/work_louder/loop/keymaps/via/keymap.c +++ b/keyboards/work_louder/loop/keymaps/via/keymap.c @@ -30,11 +30,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_VOLU, KC_VOLD, KC_MNXT, KC_MPRV, R_M_MOD, R_M_RMOD ), [1] = LAYOUT_via( - RESET, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, MO(2), _______, + QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, MO(2), _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD ), [2] = LAYOUT_via( - RESET, _______, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, _______, + QK_BOOT, _______, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, _______, _______, _______, _______, _______, R_M_MOD, R_M_RMOD ), [3] = LAYOUT_via( diff --git a/keyboards/work_louder/nano/keymaps/default/keymap.c b/keyboards/work_louder/nano/keymaps/default/keymap.c index d4647657e492..9f7433123cc9 100644 --- a/keyboards/work_louder/nano/keymaps/default/keymap.c +++ b/keyboards/work_louder/nano/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ [0] = LAYOUT(KC_PSCR, KC_LSFT, MO(1)), - [1] = LAYOUT(RESET, KC_LCTL, _______)}; + [1] = LAYOUT(QK_BOOT, KC_LCTL, _______)}; // bool encoder_update_user(uint8_t index, bool clockwise) { // if (clockwise) { diff --git a/keyboards/work_louder/nano/keymaps/via/keymap.c b/keyboards/work_louder/nano/keymaps/via/keymap.c index 7461172e07d6..07451f52b2fb 100644 --- a/keyboards/work_louder/nano/keymaps/via/keymap.c +++ b/keyboards/work_louder/nano/keymaps/via/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PGDN, KC_PGUP ), [1] = LAYOUT_via( - RESET, MACRO01, _______, + QK_BOOT, MACRO01, _______, _______, _______ ), [2] = LAYOUT_via( diff --git a/keyboards/work_louder/work_board/keymaps/default/keymap.c b/keyboards/work_louder/work_board/keymaps/default/keymap.c index 01c96ecedbe2..59bb437d9d09 100644 --- a/keyboards/work_louder/work_board/keymaps/default/keymap.c +++ b/keyboards/work_louder/work_board/keymaps/default/keymap.c @@ -144,7 +144,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT( - _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/work_louder/work_board/keymaps/via/keymap.c b/keyboards/work_louder/work_board/keymaps/via/keymap.c index 5675adf2edfe..fff7248afa5b 100644 --- a/keyboards/work_louder/work_board/keymaps/via/keymap.c +++ b/keyboards/work_louder/work_board/keymaps/via/keymap.c @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_via( - _______, RESET, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , R_M_TOG, + _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , R_M_TOG, _______, _______, MU_MOD, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, R_M_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, R_M_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/wsk/gothic50/keymaps/default/keymap.c b/keyboards/wsk/gothic50/keymaps/default/keymap.c index 512dd855950b..d366bccc9ec5 100644 --- a/keyboards/wsk/gothic50/keymaps/default/keymap.c +++ b/keyboards/wsk/gothic50/keymaps/default/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT( - _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/wsk/gothic70/keymaps/default/keymap.c b/keyboards/wsk/gothic70/keymaps/default/keymap.c index db4c52b41be9..66ed2da1b7c9 100644 --- a/keyboards/wsk/gothic70/keymaps/default/keymap.c +++ b/keyboards/wsk/gothic70/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_MEDIA] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, diff --git a/keyboards/wsk/gothic70/keymaps/via/keymap.c b/keyboards/wsk/gothic70/keymaps/via/keymap.c index f386f0b3fd95..af0424baedc4 100644 --- a/keyboards/wsk/gothic70/keymaps/via/keymap.c +++ b/keyboards/wsk/gothic70/keymaps/via/keymap.c @@ -34,14 +34,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( 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, _______, _______, KC_PAUS, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ), [_MEDIA] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, diff --git a/keyboards/wsk/jerkin/keymaps/default/keymap.c b/keyboards/wsk/jerkin/keymaps/default/keymap.c index 38c1195e9176..13cb333bad5f 100644 --- a/keyboards/wsk/jerkin/keymaps/default/keymap.c +++ b/keyboards/wsk/jerkin/keymaps/default/keymap.c @@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS), [2] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PASTA, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) diff --git a/keyboards/wsk/sl40/keymaps/default/keymap.c b/keyboards/wsk/sl40/keymaps/default/keymap.c index 8055d7fd9d5b..087c7302a6c5 100644 --- a/keyboards/wsk/sl40/keymaps/default/keymap.c +++ b/keyboards/wsk/sl40/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_GRV, 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_DEL, - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, RESET, KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT, KC_TRNS, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, QK_BOOT, KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_MSTP, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ), diff --git a/keyboards/wsk/tkl30/keymaps/default/keymap.c b/keyboards/wsk/tkl30/keymaps/default/keymap.c index 7f1089304920..01e16b46bc58 100644 --- a/keyboards/wsk/tkl30/keymaps/default/keymap.c +++ b/keyboards/wsk/tkl30/keymaps/default/keymap.c @@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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, 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 ) diff --git a/keyboards/wuque/ikki68/keymaps/default/keymap.c b/keyboards/wuque/ikki68/keymaps/default/keymap.c index 13f869e38469..42b0d8e7da6c 100644 --- a/keyboards/wuque/ikki68/keymaps/default/keymap.c +++ b/keyboards/wuque/ikki68/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_68_ansi( - 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, _______, _______, RESET, + 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, _______, _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/wuque/ikki68/keymaps/via/keymap.c b/keyboards/wuque/ikki68/keymaps/via/keymap.c index 7825082eb2a2..4c3ec7f29d58 100644 --- a/keyboards/wuque/ikki68/keymaps/via/keymap.c +++ b/keyboards/wuque/ikki68/keymaps/via/keymap.c @@ -25,21 +25,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_68_ansi( - 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, _______, _______, RESET, + 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, _______, _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_68_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_68_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/wuque/ikki68_aurora/keymaps/default/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/default/keymap.c index 3e05333a284e..d18ad7c01274 100644 --- a/keyboards/wuque/ikki68_aurora/keymaps/default/keymap.c +++ b/keyboards/wuque/ikki68_aurora/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - 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, _______, _______, _______, RESET, + 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, _______, _______, _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/wuque/ikki68_aurora/keymaps/via/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/via/keymap.c index fec80fca15f8..26be5780da14 100644 --- a/keyboards/wuque/ikki68_aurora/keymaps/via/keymap.c +++ b/keyboards/wuque/ikki68_aurora/keymaps/via/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - 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, _______, _______, _______, RESET, + 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, _______, _______, _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/wuque/mammoth75x/keymaps/default/keymap.c b/keyboards/wuque/mammoth75x/keymaps/default/keymap.c index 6dd789e17951..b0273298dc96 100644 --- a/keyboards/wuque/mammoth75x/keymaps/default/keymap.c +++ b/keyboards/wuque/mammoth75x/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/wuque/mammoth75x/keymaps/via/keymap.c b/keyboards/wuque/mammoth75x/keymaps/via/keymap.c index bb62bedefe2d..13d5d4fa7a9e 100644 --- a/keyboards/wuque/mammoth75x/keymaps/via/keymap.c +++ b/keyboards/wuque/mammoth75x/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/wuque/serneity65/keymaps/default/keymap.c b/keyboards/wuque/serneity65/keymaps/default/keymap.c index 23928ddea5b5..2acca2f0c0b8 100644 --- a/keyboards/wuque/serneity65/keymaps/default/keymap.c +++ b/keyboards/wuque/serneity65/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/wuque/serneity65/keymaps/via/keymap.c b/keyboards/wuque/serneity65/keymaps/via/keymap.c index 435e02009007..8e820022feab 100644 --- a/keyboards/wuque/serneity65/keymaps/via/keymap.c +++ b/keyboards/wuque/serneity65/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( diff --git a/keyboards/x16/keymaps/default/keymap.c b/keyboards/x16/keymaps/default/keymap.c index fea518ad3100..3f9186c8f248 100644 --- a/keyboards/x16/keymaps/default/keymap.c +++ b/keyboards/x16/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(1), KC_P0, KC_DOT, KC_ENT ), [1] = LAYOUT_ortho_4x4( - RESET, KC_TRNS, KC_TRNS, KC_DEL, + QK_BOOT, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY diff --git a/keyboards/xbows/knight/keymaps/default/keymap.c b/keyboards/xbows/knight/keymaps/default/keymap.c index bde212f105c9..ab5329199bc5 100644 --- a/keyboards/xbows/knight/keymaps/default/keymap.c +++ b/keyboards/xbows/knight/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, 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_NLCK, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, diff --git a/keyboards/xbows/knight/keymaps/via/keymap.c b/keyboards/xbows/knight/keymaps/via/keymap.c index dabbc6c9b3e6..662b68f81b67 100644 --- a/keyboards/xbows/knight/keymaps/via/keymap.c +++ b/keyboards/xbows/knight/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, 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_NLCK, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, diff --git a/keyboards/xbows/knight_plus/keymaps/default/keymap.c b/keyboards/xbows/knight_plus/keymaps/default/keymap.c index a1941677e411..6316f66a9d50 100644 --- a/keyboards/xbows/knight_plus/keymaps/default/keymap.c +++ b/keyboards/xbows/knight_plus/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, 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_NLCK, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, diff --git a/keyboards/xbows/knight_plus/keymaps/via/keymap.c b/keyboards/xbows/knight_plus/keymaps/via/keymap.c index dcd9ec687b7e..31a359266de5 100644 --- a/keyboards/xbows/knight_plus/keymaps/via/keymap.c +++ b/keyboards/xbows/knight_plus/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, 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_NLCK, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, diff --git a/keyboards/xbows/nature/keymaps/default/keymap.c b/keyboards/xbows/nature/keymaps/default/keymap.c index 605c58bad406..331889ffe413 100644 --- a/keyboards/xbows/nature/keymaps/default/keymap.c +++ b/keyboards/xbows/nature/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, 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_NLCK, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, diff --git a/keyboards/xbows/nature/keymaps/via/keymap.c b/keyboards/xbows/nature/keymaps/via/keymap.c index dabbc6c9b3e6..662b68f81b67 100644 --- a/keyboards/xbows/nature/keymaps/via/keymap.c +++ b/keyboards/xbows/nature/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, 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_NLCK, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, diff --git a/keyboards/xbows/numpad/keymaps/default/keymap.c b/keyboards/xbows/numpad/keymaps/default/keymap.c index b2b4da7fb5b2..9d657a33cc24 100644 --- a/keyboards/xbows/numpad/keymaps/default/keymap.c +++ b/keyboards/xbows/numpad/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P1, KC_P2, KC_P3, KC_PENT, KC_P0, KC_PDOT), [1] = LAYOUT( - RESET, EEP_RST, KC_TRNS, KC_TRNS, + QK_BOOT, EEP_RST, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, RGB_MOD, RGB_VAI, RGB_HUI, KC_VOLD, RGB_SPD, RGB_TOG, RGB_SPI, KC_VOLU, diff --git a/keyboards/xbows/numpad/keymaps/via/keymap.c b/keyboards/xbows/numpad/keymaps/via/keymap.c index 6b122cc5d071..36b91961c865 100644 --- a/keyboards/xbows/numpad/keymaps/via/keymap.c +++ b/keyboards/xbows/numpad/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P1, KC_P2, KC_P3, KC_PENT, KC_P0, KC_PDOT), [1] = LAYOUT( - RESET, EEP_RST, KC_TRNS, KC_TRNS, + QK_BOOT, EEP_RST, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, RGB_MOD, RGB_VAI, RGB_HUI, KC_VOLD, RGB_SPD, RGB_TOG, RGB_SPI, KC_VOLU, diff --git a/keyboards/xbows/ranger/keymaps/default/keymap.c b/keyboards/xbows/ranger/keymaps/default/keymap.c index 27b0cf3f8b6e..519014af06b8 100644 --- a/keyboards/xbows/ranger/keymaps/default/keymap.c +++ b/keyboards/xbows/ranger/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_tkl_ansi( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, KC_NLCK, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, KC_NLCK, 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, KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, 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, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/xbows/ranger/keymaps/via/keymap.c b/keyboards/xbows/ranger/keymaps/via/keymap.c index e38c05861ad6..61632edbf4cd 100644 --- a/keyboards/xbows/ranger/keymaps/via/keymap.c +++ b/keyboards/xbows/ranger/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_tkl_ansi( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, KC_NLCK, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, KC_NLCK, 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, KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, 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, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/xbows/woody/keymaps/default/keymap.c b/keyboards/xbows/woody/keymaps/default/keymap.c index 62e86be2feca..820b5315ef1e 100644 --- a/keyboards/xbows/woody/keymaps/default/keymap.c +++ b/keyboards/xbows/woody/keymaps/default/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( /* FN */ 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, KC_DEL, KC_DEL, - 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_HOME, + 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, QK_BOOT, KC_HOME, 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_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT) diff --git a/keyboards/xelus/akis/keymaps/default/keymap.c b/keyboards/xelus/akis/keymaps/default/keymap.c index 514472744294..c3d986c13d75 100644 --- a/keyboards/xelus/akis/keymaps/default/keymap.c +++ b/keyboards/xelus/akis/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PSCR, RESET, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PSCR, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/xelus/akis/keymaps/via/keymap.c b/keyboards/xelus/akis/keymaps/via/keymap.c index 82325529e88e..a8e2913f848c 100644 --- a/keyboards/xelus/akis/keymaps/via/keymap.c +++ b/keyboards/xelus/akis/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PSCR, RESET, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PSCR, QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/xelus/dharma/keymaps/default/keymap.c b/keyboards/xelus/dharma/keymaps/default/keymap.c index 8039663e5f00..9a3337dc7773 100644 --- a/keyboards/xelus/dharma/keymaps/default/keymap.c +++ b/keyboards/xelus/dharma/keymaps/default/keymap.c @@ -29,8 +29,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( - 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, RESET, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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, QK_BOOT, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) diff --git a/keyboards/xelus/dharma/keymaps/via/keymap.c b/keyboards/xelus/dharma/keymaps/via/keymap.c index 7f28ab1c23d6..9d45c281a07c 100644 --- a/keyboards/xelus/dharma/keymaps/via/keymap.c +++ b/keyboards/xelus/dharma/keymaps/via/keymap.c @@ -29,8 +29,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( - 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, RESET, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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, QK_BOOT, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/xelus/kangaroo/keymaps/default/keymap.c b/keyboards/xelus/kangaroo/keymaps/default/keymap.c index 2e877c4fc18f..9150ceffc828 100644 --- a/keyboards/xelus/kangaroo/keymaps/default/keymap.c +++ b/keyboards/xelus/kangaroo/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PENT, KC_PDOT, KC_P0, KC_P0, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), [1] = LAYOUT_all( - RESET , 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, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT , 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, 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, 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, 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, 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, diff --git a/keyboards/xelus/la_plus/keymaps/default/keymap.c b/keyboards/xelus/la_plus/keymaps/default/keymap.c index cf04368e525c..4b4fac030d9f 100755 --- a/keyboards/xelus/la_plus/keymaps/default/keymap.c +++ b/keyboards/xelus/la_plus/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( 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, KC_INS, KC_DEL, KB_SUAC, - KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, 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, 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), diff --git a/keyboards/xelus/la_plus/keymaps/via/keymap.c b/keyboards/xelus/la_plus/keymaps/via/keymap.c index cf04368e525c..4b4fac030d9f 100755 --- a/keyboards/xelus/la_plus/keymaps/via/keymap.c +++ b/keyboards/xelus/la_plus/keymaps/via/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 Layer [1] = LAYOUT_all( 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, KC_INS, KC_DEL, KB_SUAC, - KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, 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, 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), diff --git a/keyboards/xelus/ninjin/keymaps/default/keymap.c b/keyboards/xelus/ninjin/keymaps/default/keymap.c index 2bc991e42c74..338d5ada59ef 100644 --- a/keyboards/xelus/ninjin/keymaps/default/keymap.c +++ b/keyboards/xelus/ninjin/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_tkl_ansi_tsangan( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/xelus/ninjin/keymaps/via/keymap.c b/keyboards/xelus/ninjin/keymaps/via/keymap.c index 0af46375c436..331214cbf882 100644 --- a/keyboards/xelus/ninjin/keymaps/via/keymap.c +++ b/keyboards/xelus/ninjin/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_tkl_ansi_tsangan( - RESET, 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, + QK_BOOT, 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, 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, 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, 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, diff --git a/keyboards/xelus/pachi/mini_32u4/keymaps/default/keymap.c b/keyboards/xelus/pachi/mini_32u4/keymaps/default/keymap.c index 9fdc609e7d93..0459e1f2dd37 100644 --- a/keyboards/xelus/pachi/mini_32u4/keymaps/default/keymap.c +++ b/keyboards/xelus/pachi/mini_32u4/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, 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, RESET, RESET, 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, QK_BOOT, QK_BOOT, 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, 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, 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, diff --git a/keyboards/xelus/pachi/mini_32u4/keymaps/via/keymap.c b/keyboards/xelus/pachi/mini_32u4/keymaps/via/keymap.c index 0b3f81afb55d..d46bdc103f05 100644 --- a/keyboards/xelus/pachi/mini_32u4/keymaps/via/keymap.c +++ b/keyboards/xelus/pachi/mini_32u4/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, 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, RESET, RESET, 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, QK_BOOT, QK_BOOT, 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, 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, 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, diff --git a/keyboards/xelus/pachi/rev1/keymaps/default/keymap.c b/keyboards/xelus/pachi/rev1/keymaps/default/keymap.c index 9fdc609e7d93..0459e1f2dd37 100644 --- a/keyboards/xelus/pachi/rev1/keymaps/default/keymap.c +++ b/keyboards/xelus/pachi/rev1/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, 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, RESET, RESET, 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, QK_BOOT, QK_BOOT, 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, 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, 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, diff --git a/keyboards/xelus/pachi/rev1/keymaps/via/keymap.c b/keyboards/xelus/pachi/rev1/keymaps/via/keymap.c index 0b3f81afb55d..d46bdc103f05 100644 --- a/keyboards/xelus/pachi/rev1/keymaps/via/keymap.c +++ b/keyboards/xelus/pachi/rev1/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( 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, 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, RESET, RESET, 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, QK_BOOT, QK_BOOT, 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, 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, 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, diff --git a/keyboards/xelus/pachi/rgb/keymaps/default/keymap.c b/keyboards/xelus/pachi/rgb/keymaps/default/keymap.c index 63ce070200ed..7c1499668dcb 100644 --- a/keyboards/xelus/pachi/rgb/keymaps/default/keymap.c +++ b/keyboards/xelus/pachi/rgb/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi_tsangan( 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, - 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, RESET , RGB_TOG, RGB_HUI, RGB_SAI, + 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, QK_BOOT , RGB_TOG, RGB_HUI, RGB_SAI, 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, RGB_MOD, RGB_HUD, RGB_SAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/keymap.c b/keyboards/xelus/pachi/rgb/keymaps/via/keymap.c index dafc1c18cec1..641a3cfa7dd7 100644 --- a/keyboards/xelus/pachi/rgb/keymaps/via/keymap.c +++ b/keyboards/xelus/pachi/rgb/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_tkl_ansi_tsangan( 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, - 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, RESET , 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, QK_BOOT , 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, 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, 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, diff --git a/keyboards/xelus/rs60/keymaps/default/keymap.c b/keyboards/xelus/rs60/keymaps/default/keymap.c index bff32ac2bc67..2785488a812d 100644 --- a/keyboards/xelus/rs60/keymaps/default/keymap.c +++ b/keyboards/xelus/rs60/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi_split_bs_rshift( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PSCR, - KC_CAPS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, RESET, + KC_CAPS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/xelus/rs60/keymaps/via/keymap.c b/keyboards/xelus/rs60/keymaps/via/keymap.c index 10d3835511e4..29000813853a 100644 --- a/keyboards/xelus/rs60/keymaps/via/keymap.c +++ b/keyboards/xelus/rs60/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi_split_bs_rshift( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PSCR, - KC_CAPS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, RESET, + KC_CAPS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/xelus/trinityxttkl/keymaps/default/keymap.c b/keyboards/xelus/trinityxttkl/keymaps/default/keymap.c index 5336e3a47358..84469b6ac6c5 100644 --- a/keyboards/xelus/trinityxttkl/keymaps/default/keymap.c +++ b/keyboards/xelus/trinityxttkl/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F23, KC_F24, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - RESET , EEP_RST, 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, + QK_BOOT , EEP_RST, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/xelus/valor/rev1/keymaps/default/keymap.c b/keyboards/xelus/valor/rev1/keymaps/default/keymap.c index 3cf8111e97c1..6f7c7f0bbd9e 100644 --- a/keyboards/xelus/valor/rev1/keymaps/default/keymap.c +++ b/keyboards/xelus/valor/rev1/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( RGB_TOG, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RGB_MOD, 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, - RESET, 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, + QK_BOOT, 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, 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, KC_TRNS, KC_TRNS ) diff --git a/keyboards/xelus/valor/rev1/keymaps/via/keymap.c b/keyboards/xelus/valor/rev1/keymaps/via/keymap.c index b3395f1dfbb6..fa077c309dee 100644 --- a/keyboards/xelus/valor/rev1/keymaps/via/keymap.c +++ b/keyboards/xelus/valor/rev1/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( RGB_TOG, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RGB_MOD, 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, - RESET, 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, + QK_BOOT, 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, 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, KC_TRNS, KC_TRNS ), diff --git a/keyboards/xelus/valor/rev2/keymaps/default/keymap.c b/keyboards/xelus/valor/rev2/keymaps/default/keymap.c index eb5f551126ad..6cf7b5cf5d58 100644 --- a/keyboards/xelus/valor/rev2/keymaps/default/keymap.c +++ b/keyboards/xelus/valor/rev2/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( RGB_TOG, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RGB_MOD, 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, - RESET, 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, + QK_BOOT, 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, 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, KC_TRNS, KC_TRNS ) diff --git a/keyboards/xelus/valor/rev2/keymaps/via/keymap.c b/keyboards/xelus/valor/rev2/keymaps/via/keymap.c index c2566595143d..640030a10d6a 100644 --- a/keyboards/xelus/valor/rev2/keymaps/via/keymap.c +++ b/keyboards/xelus/valor/rev2/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( RGB_TOG, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RGB_MOD, 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, - RESET, 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, + QK_BOOT, 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, 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, KC_TRNS, KC_TRNS ), diff --git a/keyboards/xiudi/xd60/keymaps/default/keymap.c b/keyboards/xiudi/xd60/keymaps/default/keymap.c index 1b8fa07a8e2f..93a83ff49dbe 100644 --- a/keyboards/xiudi/xd60/keymaps/default/keymap.c +++ b/keyboards/xiudi/xd60/keymaps/default/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, KC_INS, diff --git a/keyboards/xiudi/xd60/keymaps/iso/keymap.c b/keyboards/xiudi/xd60/keymaps/iso/keymap.c index 481b62155f60..155ba64e186d 100644 --- a/keyboards/xiudi/xd60/keymaps/iso/keymap.c +++ b/keyboards/xiudi/xd60/keymaps/iso/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,: Function Layer [_FL] = LAYOUT_60_iso( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, BL_DEC, BL_INC, XXXXXXX, KC_MPLY, KC_MSTP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ENT, KC_LSFT, RGB_TOG, RGB_MOD, KC_CUT, KC_COPY, KC_PSTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_RSFT, diff --git a/keyboards/xiudi/xd60/keymaps/via/keymap.c b/keyboards/xiudi/xd60/keymaps/via/keymap.c index 9685737b46d3..198418213b1a 100644 --- a/keyboards/xiudi/xd60/keymaps/via/keymap.c +++ b/keyboards/xiudi/xd60/keymaps/via/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, KC_INS, diff --git a/keyboards/xiudi/xd68/keymaps/default/keymap.c b/keyboards/xiudi/xd68/keymaps/default/keymap.c index d9cfe5bf0dc0..8a450c97c24c 100644 --- a/keyboards/xiudi/xd68/keymaps/default/keymap.c +++ b/keyboards/xiudi/xd68/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,----------------------------------------------------------------. * |~ `| F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Ins | * |----------------------------------------------------------------| - * |RESET| |Up | | | | | | | | | | | | | + * |QK_BOOT| |Up | | | | | | | | | | | | | * |----------------------------------------------------------------| * | |<- |Dn | ->| | | | | | | | | | | * |----------------------------------------------------------------| @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL] = LAYOUT_65_ansi( 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, KC_DEL, KC_INS, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/xiudi/xd68/keymaps/default_iso/keymap.c b/keyboards/xiudi/xd68/keymaps/default_iso/keymap.c index 428715a669d1..3e13ddc7f7f7 100644 --- a/keyboards/xiudi/xd68/keymaps/default_iso/keymap.c +++ b/keyboards/xiudi/xd68/keymaps/default_iso/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,----------------------------------------------------------------. * |~ `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete| Ins| * |----------------------------------------------------------------| - * |RESET| | ↑ | | | | | | | | | | | | | + * |QK_BOOT| | ↑ | | | | | | | | | | | | | * |------------------------------------------------------- -----| * | | ← | ↓ | → | | | | | | | | | | | | * |----------------------------------------------------------------| @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL] = LAYOUT_65_iso( 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, KC_DEL, KC_INS, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/xiudi/xd68/keymaps/via/keymap.c b/keyboards/xiudi/xd68/keymaps/via/keymap.c index 64be6af3b9bd..f18bcce017cc 100644 --- a/keyboards/xiudi/xd68/keymaps/via/keymap.c +++ b/keyboards/xiudi/xd68/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,----------------------------------------------------------------. * |~ `| F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Ins | * |----------------------------------------------------------------| - * |RESET| |Up | | | | | | | | | | | | | + * |QK_BOOT| |Up | | | | | | | | | | | | | * |----------------------------------------------------------------| * | |<- |Dn | ->| | | | | | | | | | | * |----------------------------------------------------------------| @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FL] = LAYOUT_all( 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, KC_DEL, KC_INS, - RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, RGB_SAI, RGB_VAI, RGB_MOD, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT diff --git a/keyboards/xiudi/xd75/keymaps/default/keymap.c b/keyboards/xiudi/xd75/keymaps/default/keymap.c index 68441d17283b..0b1126b93b28 100644 --- a/keyboards/xiudi/xd75/keymaps/default/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | | + * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | QK_BOOT | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, - KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______, + KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______ ) diff --git a/keyboards/xiudi/xd75/keymaps/via/keymap.c b/keyboards/xiudi/xd75/keymaps/via/keymap.c index a86822267158..aa4961b934a9 100644 --- a/keyboards/xiudi/xd75/keymaps/via/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/via/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | | + * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | QK_BOOT | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ortho_5x15( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, - KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______, + KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, _______, _______, _______, _______ ), diff --git a/keyboards/xiudi/xd84pro/keymaps/default/keymap.c b/keyboards/xiudi/xd84pro/keymaps/default/keymap.c index 5229b7462e30..be5fcd31fe5b 100644 --- a/keyboards/xiudi/xd84pro/keymaps/default/keymap.c +++ b/keyboards/xiudi/xd84pro/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_75_ansi( /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┤ */ _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┤ */ diff --git a/keyboards/xiudi/xd84pro/keymaps/default_iso/keymap.c b/keyboards/xiudi/xd84pro/keymaps/default_iso/keymap.c index c27c169604d3..47352b417416 100644 --- a/keyboards/xiudi/xd84pro/keymaps/default_iso/keymap.c +++ b/keyboards/xiudi/xd84pro/keymaps/default_iso/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_75_iso( /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┤ */ _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┤ */ diff --git a/keyboards/xiudi/xd84pro/keymaps/via/keymap.c b/keyboards/xiudi/xd84pro/keymaps/via/keymap.c index 214fff6f607b..137b0ad9afc0 100644 --- a/keyboards/xiudi/xd84pro/keymaps/via/keymap.c +++ b/keyboards/xiudi/xd84pro/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┤ */ _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┤ */ diff --git a/keyboards/yampad/keymaps/default/keymap.c b/keyboards/yampad/keymaps/default/keymap.c index 51d921be3f95..f54d4f33b07a 100644 --- a/keyboards/yampad/keymaps/default/keymap.c +++ b/keyboards/yampad/keymaps/default/keymap.c @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUD, RGB_HUI, XXXXXXX, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, XXXXXXX, - RESET, XXXXXXX, XXXXXXX, XXXXXXX + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX ), }; diff --git a/keyboards/yampad/keymaps/via/keymap.c b/keyboards/yampad/keymaps/via/keymap.c index 51d921be3f95..f54d4f33b07a 100644 --- a/keyboards/yampad/keymaps/via/keymap.c +++ b/keyboards/yampad/keymaps/via/keymap.c @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUD, RGB_HUI, XXXXXXX, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, XXXXXXX, - RESET, XXXXXXX, XXXXXXX, XXXXXXX + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX ), }; diff --git a/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c b/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c index 0d6dfb42a488..302e215ac4fc 100644 --- a/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c +++ b/keyboards/yandrstudio/zhou65/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, 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, 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, RESET, 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, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; diff --git a/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c b/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c index 6e4d6381a7d2..081cb607508e 100644 --- a/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c +++ b/keyboards/yandrstudio/zhou65/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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, 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, 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, RESET, 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, QK_BOOT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/yanghu/unicorne/keymaps/default/keymap.c b/keyboards/yanghu/unicorne/keymaps/default/keymap.c index 26fb01426097..a8c7bd7c513b 100644 --- a/keyboards/yanghu/unicorne/keymaps/default/keymap.c +++ b/keyboards/yanghu/unicorne/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_3x6_4( RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/ydkb/just60/keymaps/default/keymap.c b/keyboards/ydkb/just60/keymaps/default/keymap.c index da034e0e447e..b23cb57ce93c 100644 --- a/keyboards/ydkb/just60/keymaps/default/keymap.c +++ b/keyboards/ydkb/just60/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END ), [_COMMAND] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/yeehaw/keymaps/default/keymap.c b/keyboards/yeehaw/keymaps/default/keymap.c index 7f7141d2930f..f3d6351f2ffa 100644 --- a/keyboards/yeehaw/keymaps/default/keymap.c +++ b/keyboards/yeehaw/keymaps/default/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_SAI, RGB_VAI, RGB_VAD, RGB_SPI, KC_TRNS, RGB_SAD, RGB_M_P, RGB_MOD, RGB_SPD, KC_TRNS, KC_TRNS, - RESET + QK_BOOT ), }; diff --git a/keyboards/yeehaw/keymaps/via/keymap.c b/keyboards/yeehaw/keymaps/via/keymap.c index 3beca9c21df3..79df7ef2ac82 100644 --- a/keyboards/yeehaw/keymaps/via/keymap.c +++ b/keyboards/yeehaw/keymaps/via/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_SAI, RGB_VAI, RGB_VAD, RGB_SPI, KC_TRNS, RGB_SAD, RGB_M_P, RGB_MOD, RGB_SPD, KC_TRNS, KC_TRNS, - RESET + QK_BOOT ), [2] = LAYOUT( diff --git a/keyboards/yiancardesigns/barleycorn/keymaps/default/keymap.c b/keyboards/yiancardesigns/barleycorn/keymaps/default/keymap.c index 230b78e99109..ce13f31c9c5e 100644 --- a/keyboards/yiancardesigns/barleycorn/keymaps/default/keymap.c +++ b/keyboards/yiancardesigns/barleycorn/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ansi( /* FN */ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/yiancardesigns/barleycorn/keymaps/iso/keymap.c b/keyboards/yiancardesigns/barleycorn/keymaps/iso/keymap.c index 7fd4d06969fe..42e8f1f7c39f 100644 --- a/keyboards/yiancardesigns/barleycorn/keymaps/iso/keymap.c +++ b/keyboards/yiancardesigns/barleycorn/keymaps/iso/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_iso( /* FN */ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/yiancardesigns/barleycorn/keymaps/via/keymap.c b/keyboards/yiancardesigns/barleycorn/keymaps/via/keymap.c index 90ce60d1ea16..990e93f7ab38 100644 --- a/keyboards/yiancardesigns/barleycorn/keymaps/via/keymap.c +++ b/keyboards/yiancardesigns/barleycorn/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( /* FN */ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/yiancardesigns/gingham/keymaps/default/keymap.c b/keyboards/yiancardesigns/gingham/keymaps/default/keymap.c index f54d6d8bdc83..7b53bb7af03c 100644 --- a/keyboards/yiancardesigns/gingham/keymaps/default/keymap.c +++ b/keyboards/yiancardesigns/gingham/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_ansi_split_bs_rshift( /* FN */ 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/yiancardesigns/gingham/keymaps/iso/keymap.c b/keyboards/yiancardesigns/gingham/keymaps/iso/keymap.c index 6aae0ccf364a..541ef59114d1 100644 --- a/keyboards/yiancardesigns/gingham/keymaps/iso/keymap.c +++ b/keyboards/yiancardesigns/gingham/keymaps/iso/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_iso_split_bs_rshift( /* FN */ 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/yiancardesigns/gingham/keymaps/via/keymap.c b/keyboards/yiancardesigns/gingham/keymaps/via/keymap.c index f3034497392e..29e16a7b2f32 100644 --- a/keyboards/yiancardesigns/gingham/keymaps/via/keymap.c +++ b/keyboards/yiancardesigns/gingham/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_60_iso_split_bs_rshift( /* FN */ 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, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/ymdk/bface/keymaps/via/keymap.c b/keyboards/ymdk/bface/keymaps/via/keymap.c index 27280b7d1c83..56a9451dc29c 100644 --- a/keyboards/ymdk/bface/keymaps/via/keymap.c +++ b/keyboards/ymdk/bface/keymaps/via/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), //Layer 1 [1] = LAYOUT_all( - 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,KC_NO,RESET, + 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,KC_NO,QK_BOOT, 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,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_NO,KC_TRNS, KC_TRNS,KC_NO,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_NO, KC_TRNS, KC_NO, diff --git a/keyboards/ymdk/melody96/keymaps/default/keymap.c b/keyboards/ymdk/melody96/keymaps/default/keymap.c index 3ed6f3068b36..959b2cf5a631 100644 --- a/keyboards/ymdk/melody96/keymaps/default/keymap.c +++ b/keyboards/ymdk/melody96/keymaps/default/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT ), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ymdk/melody96/keymaps/default_96_with60_split_num0/keymap.c b/keyboards/ymdk/melody96/keymaps/default_96_with60_split_num0/keymap.c index 5dc26b150d17..96e892af1388 100644 --- a/keyboards/ymdk/melody96/keymaps/default_96_with60_split_num0/keymap.c +++ b/keyboards/ymdk/melody96/keymaps/default_96_with60_split_num0/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_P0, KC_P00, KC_PDOT ), [1] = LAYOUT_96_with60_split_num0( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ymdk/melody96/keymaps/via/keymap.c b/keyboards/ymdk/melody96/keymaps/via/keymap.c index c02fa785a858..b448c624260f 100644 --- a/keyboards/ymdk/melody96/keymaps/via/keymap.c +++ b/keyboards/ymdk/melody96/keymaps/via/keymap.c @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT ), [1] = LAYOUT_all( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ymdk/wings/keymaps/default/keymap.c b/keyboards/ymdk/wings/keymaps/default/keymap.c index 9b0c0707119e..fb017650feba 100644 --- a/keyboards/ymdk/wings/keymaps/default/keymap.c +++ b/keyboards/ymdk/wings/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, 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_DEL, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ymdk/wings/keymaps/via/keymap.c b/keyboards/ymdk/wings/keymaps/via/keymap.c index 6e866902f352..5cb0adb8e853 100644 --- a/keyboards/ymdk/wings/keymaps/via/keymap.c +++ b/keyboards/ymdk/wings/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, 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_DEL, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ymdk/wingshs/keymaps/default/keymap.c b/keyboards/ymdk/wingshs/keymaps/default/keymap.c index adfe6c11e91f..61366f75dd17 100644 --- a/keyboards/ymdk/wingshs/keymaps/default/keymap.c +++ b/keyboards/ymdk/wingshs/keymaps/default/keymap.c @@ -25,8 +25,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, 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_DEL, _______, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ymdk/wingshs/keymaps/via/keymap.c b/keyboards/ymdk/wingshs/keymaps/via/keymap.c index 29e3f3df9ad4..f5e195855670 100644 --- a/keyboards/ymdk/wingshs/keymaps/via/keymap.c +++ b/keyboards/ymdk/wingshs/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( _______, 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_DEL, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ymdk/yd60mq/keymaps/default/keymap.c b/keyboards/ymdk/yd60mq/keymaps/default/keymap.c index 2ba441626200..b124da8a7495 100644 --- a/keyboards/ymdk/yd60mq/keymaps/default/keymap.c +++ b/keyboards/ymdk/yd60mq/keymaps/default/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ymdk/yd60mq/keymaps/via/keymap.c b/keyboards/ymdk/yd60mq/keymaps/via/keymap.c index ab503ee277ee..043bb2809e8d 100644 --- a/keyboards/ymdk/yd60mq/keymaps/via/keymap.c +++ b/keyboards/ymdk/yd60mq/keymaps/via/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, BL_DEC, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ymdk/ym68/keymaps/default/keymap.c b/keyboards/ymdk/ym68/keymaps/default/keymap.c index 1293cf9f924a..e4b9b11dbbf3 100644 --- a/keyboards/ymdk/ym68/keymaps/default/keymap.c +++ b/keyboards/ymdk/ym68/keymaps/default/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PSCR, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PSCR, RGB_TOG, _______, KC_UP, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, BL_TOGG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, KC_END, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, diff --git a/keyboards/ymdk/ymd09/keymaps/via/keymap.c b/keyboards/ymdk/ymd09/keymaps/via/keymap.c index e84b587a3617..15962e367aa3 100644 --- a/keyboards/ymdk/ymd09/keymaps/via/keymap.c +++ b/keyboards/ymdk/ymd09/keymaps/via/keymap.c @@ -7,7 +7,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_KP_1, KC_KP_2, KC_KP_3), [1] = LAYOUT(RGB_RMOD, RGB_VAI, RGB_MOD, - RGB_HUI, RESET, RGB_SAI, + RGB_HUI, QK_BOOT, RGB_SAI, RGB_HUD, RGB_VAD, RGB_SAD), [2] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ymdk/ymd40/v2/keymaps/default/keymap.c b/keyboards/ymdk/ymd40/v2/keymaps/default/keymap.c index 10d9385cf034..6208edcb827c 100644 --- a/keyboards/ymdk/ymd40/v2/keymaps/default/keymap.c +++ b/keyboards/ymdk/ymd40/v2/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [_ADJUST] = LAYOUT_ortho_4x12( - RESET, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, DEBUG, + QK_BOOT, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, DEBUG, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ymdk/ymd40/v2/keymaps/via/keymap.c b/keyboards/ymdk/ymd40/v2/keymaps/via/keymap.c index 70e96c2dcf16..ec59d43f0a02 100644 --- a/keyboards/ymdk/ymd40/v2/keymaps/via/keymap.c +++ b/keyboards/ymdk/ymd40/v2/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, MO(3), _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), [3] = LAYOUT_ortho_4x12( - RESET, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, DEBUG, + QK_BOOT, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, DEBUG, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ymdk/ymd67/keymaps/default/keymap.c b/keyboards/ymdk/ymd67/keymaps/default/keymap.c index 7ce144d62cb9..11cb55598e72 100644 --- a/keyboards/ymdk/ymd67/keymaps/default/keymap.c +++ b/keyboards/ymdk/ymd67/keymaps/default/keymap.c @@ -8,7 +8,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_DEL, KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT(RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, + [1] = LAYOUT(QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ymdk/ymd75/keymaps/default_iso/keymap.c b/keyboards/ymdk/ymd75/keymaps/default_iso/keymap.c index 2008dddf8c12..d712373febf5 100644 --- a/keyboards/ymdk/ymd75/keymaps/default_iso/keymap.c +++ b/keyboards/ymdk/ymd75/keymaps/default_iso/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_75_iso( /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┤ */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┤ */ diff --git a/keyboards/ymdk/ymd75/keymaps/via/keymap.c b/keyboards/ymdk/ymd75/keymaps/via/keymap.c index 4a9107bf95e6..e1b91490c3f7 100644 --- a/keyboards/ymdk/ymd75/keymaps/via/keymap.c +++ b/keyboards/ymdk/ymd75/keymaps/via/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/yoichiro/lunakey_macro/keymaps/default/keymap.c b/keyboards/yoichiro/lunakey_macro/keymaps/default/keymap.c index 1b2055b74939..cb4e757cdc7f 100644 --- a/keyboards/yoichiro/lunakey_macro/keymaps/default/keymap.c +++ b/keyboards/yoichiro/lunakey_macro/keymaps/default/keymap.c @@ -36,6 +36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - RESET, KC_NO, DF(_NUMBERS) + QK_BOOT, KC_NO, DF(_NUMBERS) ) }; diff --git a/keyboards/yoichiro/lunakey_macro/keymaps/via/keymap.c b/keyboards/yoichiro/lunakey_macro/keymaps/via/keymap.c index a3a203df6d48..1fd0ce709cb8 100644 --- a/keyboards/yoichiro/lunakey_macro/keymaps/via/keymap.c +++ b/keyboards/yoichiro/lunakey_macro/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, AU_TOG, CK_TOGG, MU_TOG, MU_MOD, - RESET, KC_NO, DF(_NUMBERS) + QK_BOOT, KC_NO, DF(_NUMBERS) ) }; diff --git a/keyboards/yoichiro/lunakey_mini/keymaps/default/keymap.c b/keyboards/yoichiro/lunakey_mini/keymaps/default/keymap.c index eeb59b4e1928..0132e8c3d251 100644 --- a/keyboards/yoichiro/lunakey_mini/keymaps/default/keymap.c +++ b/keyboards/yoichiro/lunakey_mini/keymaps/default/keymap.c @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_3x6_4( //+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+ - RESET, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + QK_BOOT, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, //+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, //+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+ diff --git a/keyboards/yoichiro/lunakey_mini/keymaps/via/keymap.c b/keyboards/yoichiro/lunakey_mini/keymaps/via/keymap.c index eeb59b4e1928..0132e8c3d251 100644 --- a/keyboards/yoichiro/lunakey_mini/keymaps/via/keymap.c +++ b/keyboards/yoichiro/lunakey_mini/keymaps/via/keymap.c @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_3x6_4( //+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+ - RESET, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + QK_BOOT, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, //+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, //+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+ diff --git a/keyboards/yosino58/keymaps/default/keymap.c b/keyboards/yosino58/keymaps/default/keymap.c index 915fb759225e..3200d1470834 100644 --- a/keyboards/yosino58/keymaps/default/keymap.c +++ b/keyboards/yosino58/keymaps/default/keymap.c @@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* ADJUST * ,-----------------------------------------. ,-----------------------------------------. - * |RESET | | | | | | | Mute | Vol+ | Play | | | | + * |QK_BOOT | | | | | | | Mute | Vol+ | Play | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | | | PSCR | SLCK | Pause| | Prev | Vol- | Next | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------' '------------------------------' */ [_ADJUST] = LAYOUT( - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, KC_MPRV, KC_VOLD, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, KC_END, KC_PGDN, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, RGBRST, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, diff --git a/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c b/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c index 772d4e6f2c4e..80580da9f1c9 100644 --- a/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c +++ b/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] =LAYOUT ( - RESET, EEP_RST, KC_NO, KC_NO, + QK_BOOT, EEP_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NLCK, KC_QUOT, KC_PEQL, KC_NO, KC_CAPS, KC_NLCK, KC_SLCK, S(KC_9), KC_UP, S(KC_0), S(KC_SPC), KC_LEFT, KC_BTN3, KC_RGHT, S(KC_SPC), diff --git a/keyboards/yushakobo/navpad/10/keymaps/default/readme.md b/keyboards/yushakobo/navpad/10/keymaps/default/readme.md index 3b45e937bcc9..698d3ce95091 100644 --- a/keyboards/yushakobo/navpad/10/keymaps/default/readme.md +++ b/keyboards/yushakobo/navpad/10/keymaps/default/readme.md @@ -19,7 +19,7 @@ ### FN1 layer ``` ,-------------------------------. ,-------. - | RESET | EEP_RST | KC_NO | | KC_NO | + | QK_BOOT | EEP_RST | KC_NO | | KC_NO | |----------+----------+----------+-------------------------------------------------. | KC_NO | KC_NO | KC_NO | KC_NLCK | KC_QUOT | KC_PEQL | KC_NO | |----------+----------+----------+----------+-----------+----------+---------------| diff --git a/keyboards/yushakobo/navpad/10/keymaps/via/keymap.c b/keyboards/yushakobo/navpad/10/keymaps/via/keymap.c index bd75cc77ddd7..63a116662d92 100644 --- a/keyboards/yushakobo/navpad/10/keymaps/via/keymap.c +++ b/keyboards/yushakobo/navpad/10/keymaps/via/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] =LAYOUT ( - RESET, EEP_RST, KC_NO, KC_NO, + QK_BOOT, EEP_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NLCK, KC_QUOT, KC_PEQL, KC_NO, KC_CAPS, KC_NLCK, KC_SLCK, S(KC_9), KC_UP, S(KC_0), S(KC_SPC), KC_LEFT, KC_BTN3, KC_RGHT, S(KC_SPC), diff --git a/keyboards/yushakobo/navpad/10/keymaps/via/readme.md b/keyboards/yushakobo/navpad/10/keymaps/via/readme.md index f6ccaeee9e3b..c4758d0e4d60 100644 --- a/keyboards/yushakobo/navpad/10/keymaps/via/readme.md +++ b/keyboards/yushakobo/navpad/10/keymaps/via/readme.md @@ -19,7 +19,7 @@ ### FN1 layer ``` ,-------------------------------. ,-------. - | RESET | EEP_RST | KC_NO | | KC_NO | + | QK_BOOT | EEP_RST | KC_NO | | KC_NO | |----------+----------+----------+-------------------------------------------------. | KC_NO | KC_NO | KC_NO | KC_NLCK | KC_QUOT | KC_PEQL | KC_NO | |----------+----------+----------+----------+-----------+----------+---------------| diff --git a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c index 4753aa6ee53a..09ad518e94e1 100644 --- a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c +++ b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] =LAYOUT ( - RESET, EEP_RST, KC_NO, KC_NO, + QK_BOOT, EEP_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NLCK, KC_QUOT, KC_PEQL, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL, KC_CAPS, KC_NLCK, KC_SLCK, S(KC_9), KC_UP, S(KC_0), S(KC_SPC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC, KC_LEFT, KC_BTN3, KC_RGHT, S(KC_SPC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_QUOT, diff --git a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md index 640f8056c082..f06bb2d9e32e 100644 --- a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md +++ b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md @@ -19,7 +19,7 @@ ### FN1 layer ``` ,-------------------------------. ,-------. - | RESET | EEP_RST | KC_NO | | KC_NO | + | QK_BOOT | EEP_RST | KC_NO | | KC_NO | |----------+----------+----------+-------------------------------------------------. ,-----------------------------------------------------------------------. | KC_NO | KC_NO | KC_NO | KC_NLCK | KC_QUOT | KC_PEQL | KC_NO | | KC_1 | KC_2 | KC_3 | KC_4 | KC_5 | KC_DEL | `--------------------------------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------| diff --git a/keyboards/yushakobo/quick17/keymaps/default/keymap.c b/keyboards/yushakobo/quick17/keymaps/default/keymap.c index 5f2f45a6ebdf..37e59ad4a9a8 100644 --- a/keyboards/yushakobo/quick17/keymaps/default/keymap.c +++ b/keyboards/yushakobo/quick17/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( KC_ESC, KC_LANG,KC_NO, RGB_TOG,KC_MNXT,KC_VOLU, KC_CAPS,KC_NLCK,KC_NO, RGB_MOD,KC_MPRV,KC_VOLD, - CG_NORM,LCG_SWP,EEP_RST,RESET, TO(0), KC_MUTE + CG_NORM,LCG_SWP,EEP_RST,QK_BOOT, TO(0), KC_MUTE ) }; diff --git a/keyboards/yushakobo/quick17/keymaps/default/readme.md b/keyboards/yushakobo/quick17/keymaps/default/readme.md index 5a5066ed58a5..8e2f3cd3c0d0 100644 --- a/keyboards/yushakobo/quick17/keymaps/default/readme.md +++ b/keyboards/yushakobo/quick17/keymaps/default/readme.md @@ -40,7 +40,7 @@ |-------+-------+--------+-------+---------+--------| | Caps | Numlk | (NONE) |RGB_MOD| Media < | Vol- | |-------+-------+--------+-------+---------+--------| - | Win | mac | EEP_RST| RESET | CONTROL | Mute | + | Win | mac | EEP_RST| QK_BOOT | CONTROL | Mute | `---------------------------------------------------' ``` ### difference between mac-Mode and Win-Mode diff --git a/keyboards/yushakobo/quick17/keymaps/via/keymap.c b/keyboards/yushakobo/quick17/keymaps/via/keymap.c index 5f2f45a6ebdf..37e59ad4a9a8 100644 --- a/keyboards/yushakobo/quick17/keymaps/via/keymap.c +++ b/keyboards/yushakobo/quick17/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT( KC_ESC, KC_LANG,KC_NO, RGB_TOG,KC_MNXT,KC_VOLU, KC_CAPS,KC_NLCK,KC_NO, RGB_MOD,KC_MPRV,KC_VOLD, - CG_NORM,LCG_SWP,EEP_RST,RESET, TO(0), KC_MUTE + CG_NORM,LCG_SWP,EEP_RST,QK_BOOT, TO(0), KC_MUTE ) }; diff --git a/keyboards/yushakobo/quick17/keymaps/via/readme.md b/keyboards/yushakobo/quick17/keymaps/via/readme.md index da0923539df5..1923764c8c82 100644 --- a/keyboards/yushakobo/quick17/keymaps/via/readme.md +++ b/keyboards/yushakobo/quick17/keymaps/via/readme.md @@ -40,7 +40,7 @@ |-------+-------+--------+-------+---------+--------| | Caps | Numlk | (NONE) |RGB_MOD| Media < | Vol- | |-------+-------+--------+-------+---------+--------| - | Win | mac | EEP_RST| RESET | CONTROL | Mute | + | Win | mac | EEP_RST| QK_BOOT | CONTROL | Mute | `---------------------------------------------------' ``` ### difference between mac-Mode and Win-Mode diff --git a/keyboards/yushakobo/quick7/keymaps/default/keymap.c b/keyboards/yushakobo/quick7/keymaps/default/keymap.c index 385e89277b7d..b3c77dd24b7d 100644 --- a/keyboards/yushakobo/quick7/keymaps/default/keymap.c +++ b/keyboards/yushakobo/quick7/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT ), [_FUNC1] = LAYOUT( - RESET, KC_TRNS, RGB_TOG, + QK_BOOT, KC_TRNS, RGB_TOG, KC_HOME, KC_VOLU, KC_END, KC_MPRV, KC_VOLD, KC_MNXT ) diff --git a/keyboards/yushakobo/quick7/keymaps/default/readme.md b/keyboards/yushakobo/quick7/keymaps/default/readme.md index 9db29d7ae6ed..644098edfa5a 100644 --- a/keyboards/yushakobo/quick7/keymaps/default/readme.md +++ b/keyboards/yushakobo/quick7/keymaps/default/readme.md @@ -16,7 +16,7 @@ Right Encoder(CW: RGB HUE-, CCW: RGB HUE+) ### Func1 Layer ``` ,----------- --------- ------------, -| RESET | Func1 | RGB TOGGLE | +| QK_BOOT | Func1 | RGB TOGGLE | ----------- --------- ------------ | HOME | VOL+ | END | ----------- --------- ------------ diff --git a/keyboards/yushakobo/quick7/keymaps/via/keymap.c b/keyboards/yushakobo/quick7/keymaps/via/keymap.c index 122decc92ae7..c7cd0ed8216c 100644 --- a/keyboards/yushakobo/quick7/keymaps/via/keymap.c +++ b/keyboards/yushakobo/quick7/keymaps/via/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_RGHT ), [_FUNC1] = LAYOUT( - RESET, KC_TRNS, RGB_TOG, + QK_BOOT, KC_TRNS, RGB_TOG, KC_HOME, KC_VOLU, KC_END, KC_MPRV, KC_VOLD, KC_MNXT ), diff --git a/keyboards/yushakobo/quick7/keymaps/via/readme.md b/keyboards/yushakobo/quick7/keymaps/via/readme.md index ff0978780e12..febed08e14b0 100644 --- a/keyboards/yushakobo/quick7/keymaps/via/readme.md +++ b/keyboards/yushakobo/quick7/keymaps/via/readme.md @@ -18,7 +18,7 @@ Right Encoder(CW: RGB HUE-, CCW: RGB HUE+) ### Func1 Layer ``` ,----------- --------- ------------, -| RESET | Func1 | RGB TOGGLE | +| QK_BOOT | Func1 | RGB TOGGLE | ----------- --------- ------------ | HOME | VOL+ | END | ----------- --------- ------------ diff --git a/keyboards/yynmt/kagamidget/keymaps/default/keymap.c b/keyboards/yynmt/kagamidget/keymaps/default/keymap.c index cb1ee4c63bb0..0b480251fe59 100644 --- a/keyboards/yynmt/kagamidget/keymaps/default/keymap.c +++ b/keyboards/yynmt/kagamidget/keymaps/default/keymap.c @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT( - _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/zj68/keymaps/default/keymap.c b/keyboards/zj68/keymaps/default/keymap.c index 05e0776db8fd..55bdd970a044 100644 --- a/keyboards/zj68/keymaps/default/keymap.c +++ b/keyboards/zj68/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), LAYOUT_all( - 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, KC_NO, RESET, KC_PSCR, + 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, KC_NO, QK_BOOT, KC_PSCR, RGB_TOG, _______, KC_UP, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, BL_TOGG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, KC_END, _______, _______, _______, BL_DEC, BL_INC, BL_STEP, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, diff --git a/keyboards/zlant/keymaps/default/keymap.c b/keyboards/zlant/keymaps/default/keymap.c index 1348b87fcd67..eb6df738595e 100755 --- a/keyboards/zlant/keymaps/default/keymap.c +++ b/keyboards/zlant/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PGUP, KC_HOME, _______, _______, - RGB_VAI, RGB_VAD, RESET, KC_PSCR, _______, _______, _______, _______, KC_PGDN, KC_END, _______, KC_DEL + RGB_VAI, RGB_VAD, QK_BOOT, KC_PSCR, _______, _______, _______, _______, KC_PGDN, KC_END, _______, KC_DEL ) }; /* FN LAYER diff --git a/keyboards/ztboards/after/keymaps/default/keymap.c b/keyboards/ztboards/after/keymaps/default/keymap.c index a317884d3e48..9197c54b9522 100644 --- a/keyboards/ztboards/after/keymaps/default/keymap.c +++ b/keyboards/ztboards/after/keymaps/default/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_TRNS, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ztboards/noon/keymaps/default/keymap.c b/keyboards/ztboards/noon/keymaps/default/keymap.c index cc8ab8df056a..fbdbd5d64d46 100644 --- a/keyboards/ztboards/noon/keymaps/default/keymap.c +++ b/keyboards/ztboards/noon/keymaps/default/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] LAYOUT_all ( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ztboards/noon/keymaps/via/keymap.c b/keyboards/ztboards/noon/keymaps/via/keymap.c index 46bbc5598698..f8cf030352bc 100644 --- a/keyboards/ztboards/noon/keymaps/via/keymap.c +++ b/keyboards/ztboards/noon/keymaps/via/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_all( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/zvecr/split_blackpill/keymaps/default/keymap.c b/keyboards/zvecr/split_blackpill/keymaps/default/keymap.c index f9428c3292da..51052bd6c3f0 100644 --- a/keyboards/zvecr/split_blackpill/keymaps/default/keymap.c +++ b/keyboards/zvecr/split_blackpill/keymaps/default/keymap.c @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, RESET, _______, + _______, QK_BOOT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/zvecr/zv48/keymaps/default/keymap.c b/keyboards/zvecr/zv48/keymaps/default/keymap.c index f9428c3292da..51052bd6c3f0 100644 --- a/keyboards/zvecr/zv48/keymaps/default/keymap.c +++ b/keyboards/zvecr/zv48/keymaps/default/keymap.c @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, RESET, _______, + _______, QK_BOOT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/layouts/default/60_abnt2/default_60_abnt2/keymap.c b/layouts/default/60_abnt2/default_60_abnt2/keymap.c index 2d64fc2dfc2e..d2c1e212c722 100644 --- a/layouts/default/60_abnt2/default_60_abnt2/keymap.c +++ b/layouts/default/60_abnt2/default_60_abnt2/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_60_abnt2( BR_QUOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, _______, _______, RESET, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/layouts/default/64_ansi/default_64_ansi/keymap.c b/layouts/default/64_ansi/default_64_ansi/keymap.c index aae78dc8dab9..d386ccd719e4 100644 --- a/layouts/default/64_ansi/default_64_ansi/keymap.c +++ b/layouts/default/64_ansi/default_64_ansi/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_64_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/layouts/default/64_iso/default_64_iso/keymap.c b/layouts/default/64_iso/default_64_iso/keymap.c index 45e07dd9cc6c..9e8c202ec0a9 100644 --- a/layouts/default/64_iso/default_64_iso/keymap.c +++ b/layouts/default/64_iso/default_64_iso/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_64_iso( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/layouts/default/numpad_5x6/default_numpad_5x6/keymap.c b/layouts/default/numpad_5x6/default_numpad_5x6/keymap.c index b48e323ad998..5ea08e192135 100644 --- a/layouts/default/numpad_5x6/default_numpad_5x6/keymap.c +++ b/layouts/default/numpad_5x6/default_numpad_5x6/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───┴───└───────┴───┴───┘ */ [1] = LAYOUT_numpad_5x6( - RESET, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, KC_LEFT, XXXXXXX, KC_RGHT, _______, _______, _______, KC_END, KC_DOWN, KC_PGDN, diff --git a/layouts/default/numpad_6x4/default_numpad_6x4/keymap.c b/layouts/default/numpad_6x4/default_numpad_6x4/keymap.c index 53cd4d346907..f33574e6965c 100644 --- a/layouts/default/numpad_6x4/default_numpad_6x4/keymap.c +++ b/layouts/default/numpad_6x4/default_numpad_6x4/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───────┴───┘───┘ */ [1] = LAYOUT_numpad_6x4( - RESET, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_PGUP, KC_LEFT, XXXXXXX, KC_RGHT, _______, diff --git a/layouts/default/numpad_6x5/default_numpad_6x5/keymap.c b/layouts/default/numpad_6x5/default_numpad_6x5/keymap.c index 2bdbfc468d47..5fe712308753 100644 --- a/layouts/default/numpad_6x5/default_numpad_6x5/keymap.c +++ b/layouts/default/numpad_6x5/default_numpad_6x5/keymap.c @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───┴───────┴───┘───┘ */ [1] = LAYOUT_numpad_6x5( - _______, RESET, _______, _______, _______, + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_PGUP, _______, KC_LEFT, XXXXXXX, KC_RGHT, _______, diff --git a/layouts/default/ortho_6x4/default_ortho_6x4/keymap.c b/layouts/default/ortho_6x4/default_ortho_6x4/keymap.c index d1dc759de362..cf9f7d8963c8 100644 --- a/layouts/default/ortho_6x4/default_ortho_6x4/keymap.c +++ b/layouts/default/ortho_6x4/default_ortho_6x4/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───┴───┴───┘───┘ */ [1] = LAYOUT_ortho_6x4( - RESET, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_PGUP, _______, KC_LEFT, XXXXXXX, KC_RGHT, _______, From 608fa5154c01420ff8f0946655ef16c99dec56a4 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 15 May 2022 22:39:29 +0100 Subject: [PATCH 0687/1832] Data driven `g_led_config` (#16728) --- builddefs/build_keyboard.mk | 8 +- data/schemas/keyboard.jsonschema | 56 ++++++++++ lib/python/qmk/c_parse.py | 118 ++++++++++++++++++++++ lib/python/qmk/cli/__init__.py | 1 + lib/python/qmk/cli/generate/keyboard_c.py | 75 ++++++++++++++ lib/python/qmk/info.py | 45 ++++++++- lib/python/qmk/json_encoders.py | 4 +- 7 files changed, 303 insertions(+), 4 deletions(-) create mode 100755 lib/python/qmk/cli/generate/keyboard_c.py diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index 4503f018a828..dc86b232df17 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -322,12 +322,18 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","") endif CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h +KEYBOARD_SRC += $(KEYBOARD_OUTPUT)/src/default_keyboard.c $(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) $(eval CMD=$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h) @$(BUILD_CMD) +$(KEYBOARD_OUTPUT)/src/default_keyboard.c: $(INFO_JSON_FILES) + @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) + $(eval CMD=$(QMK_BIN) generate-keyboard-c --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.c) + @$(BUILD_CMD) + $(KEYBOARD_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) $(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.h) @@ -338,7 +344,7 @@ $(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES) $(eval CMD=$(QMK_BIN) generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h) @$(BUILD_CMD) -generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.h $(KEYBOARD_OUTPUT)/src/layouts.h +generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.c $(KEYBOARD_OUTPUT)/src/default_keyboard.h $(KEYBOARD_OUTPUT)/src/layouts.h .INTERMEDIATE : generated-files diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index aaf6f887d5e8..ba1a6b6cc945 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -212,6 +212,62 @@ "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } }, + "led_matrix": { + "type": "object", + "properties": { + "driver": {"type": "string"}, + "layout": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "matrix": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "min": 0, + "multipleOf": 1 + } + }, + "x": {"$ref": "qmk.definitions.v1#/key_unit"}, + "y": {"$ref": "qmk.definitions.v1#/key_unit"}, + "flags": {"$ref": "qmk.definitions.v1#/unsigned_decimal"} + } + } + } + } + }, + "rgb_matrix": { + "type": "object", + "properties": { + "driver": {"type": "string"}, + "layout": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "matrix": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "min": 0, + "multipleOf": 1 + } + }, + "x": {"$ref": "qmk.definitions.v1#/key_unit"}, + "y": {"$ref": "qmk.definitions.v1#/key_unit"}, + "flags": {"$ref": "qmk.definitions.v1#/unsigned_decimal"} + } + } + } + } + }, "rgblight": { "type": "object", "additionalProperties": false, diff --git a/lib/python/qmk/c_parse.py b/lib/python/qmk/c_parse.py index 72be690019fa..359aaccbbca2 100644 --- a/lib/python/qmk/c_parse.py +++ b/lib/python/qmk/c_parse.py @@ -1,5 +1,9 @@ """Functions for working with config.h files. """ +from pygments.lexers.c_cpp import CLexer +from pygments.token import Token +from pygments import lex +from itertools import islice from pathlib import Path import re @@ -13,6 +17,13 @@ layout_macro_define_regex = re.compile(r'^#\s*define') +def _get_chunks(it, size): + """Break down a collection into smaller parts + """ + it = iter(it) + return iter(lambda: tuple(islice(it, size)), ()) + + def strip_line_comment(string): """Removes comments from a single line string. """ @@ -170,3 +181,110 @@ def _parse_matrix_locations(matrix, file, macro_name): matrix_locations[identifier] = [row_num, col_num] return matrix_locations + + +def _coerce_led_token(_type, value): + """ Convert token to valid info.json content + """ + value_map = { + 'NO_LED': None, + 'LED_FLAG_ALL': 0xFF, + 'LED_FLAG_NONE': 0x00, + 'LED_FLAG_MODIFIER': 0x01, + 'LED_FLAG_UNDERGLOW': 0x02, + 'LED_FLAG_KEYLIGHT': 0x04, + 'LED_FLAG_INDICATOR': 0x08, + } + if _type is Token.Literal.Number.Integer: + return int(value) + if _type is Token.Literal.Number.Float: + return float(value) + if _type is Token.Literal.Number.Hex: + return int(value, 0) + if _type is Token.Name and value in value_map.keys(): + return value_map[value] + + +def _parse_led_config(file, matrix_cols, matrix_rows): + """Return any 'raw' led/rgb matrix config + """ + file_contents = file.read_text(encoding='utf-8') + file_contents = comment_remover(file_contents) + file_contents = file_contents.replace('\\\n', '') + + matrix_raw = [] + position_raw = [] + flags = [] + + found_led_config = False + bracket_count = 0 + section = 0 + for _type, value in lex(file_contents, CLexer()): + # Assume g_led_config..stuff..; + if value == 'g_led_config': + found_led_config = True + elif value == ';': + found_led_config = False + elif found_led_config: + # Assume bracket count hints to section of config we are within + if value == '{': + bracket_count += 1 + if bracket_count == 2: + section += 1 + elif value == '}': + bracket_count -= 1 + else: + # Assume any non whitespace value here is important enough to stash + if _type in [Token.Literal.Number.Integer, Token.Literal.Number.Float, Token.Literal.Number.Hex, Token.Name]: + if section == 1 and bracket_count == 3: + matrix_raw.append(_coerce_led_token(_type, value)) + if section == 2 and bracket_count == 3: + position_raw.append(_coerce_led_token(_type, value)) + if section == 3 and bracket_count == 2: + flags.append(_coerce_led_token(_type, value)) + + # Slightly better intrim format + matrix = list(_get_chunks(matrix_raw, matrix_cols)) + position = list(_get_chunks(position_raw, 2)) + matrix_indexes = list(filter(lambda x: x is not None, matrix_raw)) + + # If we have not found anything - bail + if not section: + return None + + # TODO: Improve crude parsing/validation + if len(matrix) != matrix_rows and len(matrix) != (matrix_rows / 2): + raise ValueError("Unable to parse g_led_config matrix data") + if len(position) != len(flags): + raise ValueError("Unable to parse g_led_config position data") + if len(matrix_indexes) and (max(matrix_indexes) >= len(flags)): + raise ValueError("OOB within g_led_config matrix data") + + return (matrix, position, flags) + + +def find_led_config(file, matrix_cols, matrix_rows): + """Search file for led/rgb matrix config + """ + found = _parse_led_config(file, matrix_cols, matrix_rows) + if not found: + return None + + # Expand collected content + (matrix, position, flags) = found + + # Align to output format + led_config = [] + for index, item in enumerate(position, start=0): + led_config.append({ + 'x': item[0], + 'y': item[1], + 'flags': flags[index], + }) + for r in range(len(matrix)): + for c in range(len(matrix[r])): + index = matrix[r][c] + if index is not None: + led_config[index]['matrix'] = [r, c] + + return led_config diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index 85baa238a8d6..d7192631a3a9 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py @@ -52,6 +52,7 @@ 'qmk.cli.generate.dfu_header', 'qmk.cli.generate.docs', 'qmk.cli.generate.info_json', + 'qmk.cli.generate.keyboard_c', 'qmk.cli.generate.keyboard_h', 'qmk.cli.generate.layouts', 'qmk.cli.generate.rgb_breathe_table', diff --git a/lib/python/qmk/cli/generate/keyboard_c.py b/lib/python/qmk/cli/generate/keyboard_c.py new file mode 100755 index 000000000000..a9b742f323bf --- /dev/null +++ b/lib/python/qmk/cli/generate/keyboard_c.py @@ -0,0 +1,75 @@ +"""Used by the make system to generate keyboard.c from info.json. +""" +from milc import cli + +from qmk.info import info_json +from qmk.commands import dump_lines +from qmk.keyboard import keyboard_completer, keyboard_folder +from qmk.path import normpath +from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE + + +def _gen_led_config(info_data): + """Convert info.json content to g_led_config + """ + cols = info_data['matrix_size']['cols'] + rows = info_data['matrix_size']['rows'] + + config_type = None + if 'layout' in info_data.get('rgb_matrix', {}): + config_type = 'rgb_matrix' + elif 'layout' in info_data.get('led_matrix', {}): + config_type = 'led_matrix' + + lines = [] + if not config_type: + return lines + + matrix = [['NO_LED'] * cols for i in range(rows)] + pos = [] + flags = [] + + led_config = info_data[config_type]['layout'] + for index, item in enumerate(led_config, start=0): + if 'matrix' in item: + (x, y) = item['matrix'] + matrix[x][y] = str(index) + pos.append(f'{{ {item.get("x", 0)},{item.get("y", 0)} }}') + flags.append(str(item.get('flags', 0))) + + if config_type == 'rgb_matrix': + lines.append('#ifdef RGB_MATRIX_ENABLE') + lines.append('#include "rgb_matrix.h"') + elif config_type == 'led_matrix': + lines.append('#ifdef LED_MATRIX_ENABLE') + lines.append('#include "led_matrix.h"') + + lines.append('__attribute__ ((weak)) led_config_t g_led_config = {') + lines.append(' {') + for line in matrix: + lines.append(f' {{ {",".join(line)} }},') + lines.append(' },') + lines.append(f' {{ {",".join(pos)} }},') + lines.append(f' {{ {",".join(flags)} }},') + lines.append('};') + lines.append('#endif') + + return lines + + +@cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') +@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") +@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, required=True, help='Keyboard to generate keyboard.c for.') +@cli.subcommand('Used by the make system to generate keyboard.c from info.json', hidden=True) +def generate_keyboard_c(cli): + """Generates the keyboard.h file. + """ + kb_info_json = info_json(cli.args.keyboard) + + # Build the layouts.h file. + keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#include QMK_KEYBOARD_H', ''] + + keyboard_h_lines.extend(_gen_led_config(kb_info_json)) + + # Show the results + dump_lines(cli.args.output, keyboard_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 49d105451903..0763433b3d88 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -8,7 +8,7 @@ from milc import cli from qmk.constants import CHIBIOS_PROCESSORS, LUFA_PROCESSORS, VUSB_PROCESSORS -from qmk.c_parse import find_layouts, parse_config_h_file +from qmk.c_parse import find_layouts, parse_config_h_file, find_led_config from qmk.json_schema import deep_update, json_load, validate from qmk.keyboard import config_h, rules_mk from qmk.keymap import list_keymaps, locate_keymap @@ -76,6 +76,9 @@ def info_json(keyboard): # Ensure that we have matrix row and column counts info_data = _matrix_size(info_data) + # Merge in data from + info_data = _extract_led_config(info_data, str(keyboard)) + # Validate against the jsonschema try: validate(info_data, 'qmk.api.keyboard.v1') @@ -590,6 +593,46 @@ def _extract_rules_mk(info_data, rules): return info_data +def find_keyboard_c(keyboard): + """Find all .c files + """ + keyboard = Path(keyboard) + current_path = Path('keyboards/') + + files = [] + for directory in keyboard.parts: + current_path = current_path / directory + keyboard_c_path = current_path / f'{directory}.c' + if keyboard_c_path.exists(): + files.append(keyboard_c_path) + + return files + + +def _extract_led_config(info_data, keyboard): + """Scan all .c files for led config + """ + cols = info_data['matrix_size']['cols'] + rows = info_data['matrix_size']['rows'] + + # Assume what feature owns g_led_config + feature = "rgb_matrix" + if info_data.get("features", {}).get("led_matrix", False): + feature = "led_matrix" + + # Process + for file in find_keyboard_c(keyboard): + try: + ret = find_led_config(file, cols, rows) + if ret: + info_data[feature] = info_data.get(feature, {}) + info_data[feature]["layout"] = ret + except Exception as e: + _log_warning(info_data, f'led_config: {file.name}: {e}') + + return info_data + + def _matrix_size(info_data): """Add info_data['matrix_size'] if it doesn't exist. """ diff --git a/lib/python/qmk/json_encoders.py b/lib/python/qmk/json_encoders.py index 40a5c1dea8e7..f968b3dbb2d3 100755 --- a/lib/python/qmk/json_encoders.py +++ b/lib/python/qmk/json_encoders.py @@ -75,8 +75,8 @@ def encode_dict(self, obj): """Encode info.json dictionaries. """ if obj: - if self.indentation_level == 4: - # These are part of a layout, put them on a single line. + if set(("x", "y")).issubset(obj.keys()): + # These are part of a layout/led_config, put them on a single line. return "{ " + ", ".join(f"{self.encode(key)}: {self.encode(element)}" for key, element in sorted(obj.items())) + " }" else: From 85289e34ae32b262ef0546a2eb4b487eb5f3bea5 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 16 May 2022 00:40:56 +0100 Subject: [PATCH 0688/1832] Various fixes for g_led_config lint warnings (#17104) --- keyboards/aleblazer/zodiark/zodiark.c | 2 +- keyboards/ferris/0_2/bling/bling.c | 9 ++++++++- keyboards/horrortroll/handwired_k552/handwired_k552.c | 7 ++++++- keyboards/kbdfans/kbd75rgb/kbd75rgb.c | 2 +- keyboards/ml/gas75/gas75.c | 7 ++++++- keyboards/mwstudio/mw75r2/mw75r2.c | 9 ++++++--- keyboards/rgbkb/mun/rev1/rev1.c | 8 ++++---- 7 files changed, 32 insertions(+), 12 deletions(-) diff --git a/keyboards/aleblazer/zodiark/zodiark.c b/keyboards/aleblazer/zodiark/zodiark.c index d3893ada03ab..59429bf38941 100644 --- a/keyboards/aleblazer/zodiark/zodiark.c +++ b/keyboards/aleblazer/zodiark/zodiark.c @@ -49,6 +49,6 @@ led_config_t g_led_config = { { { 113, 64 }, { 132, 64 }, { 150, 64 }, { 169, 64 }, { 187, 64 }, { 206, 64 }, { 224, 64 }, }, { // LED Index to Flag - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 } }; #endif diff --git a/keyboards/ferris/0_2/bling/bling.c b/keyboards/ferris/0_2/bling/bling.c index e275abdad049..e4d0bdbf7e3a 100644 --- a/keyboards/ferris/0_2/bling/bling.c +++ b/keyboards/ferris/0_2/bling/bling.c @@ -53,7 +53,14 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { led_config_t g_led_config = { // Key Matrix to LED Index { - {}, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, }, { // LED Index to Physical Position. The unit is roughly milimiters in the real world // | Left || Right | diff --git a/keyboards/horrortroll/handwired_k552/handwired_k552.c b/keyboards/horrortroll/handwired_k552/handwired_k552.c index 31012d8a331b..03bbad461f2b 100644 --- a/keyboards/horrortroll/handwired_k552/handwired_k552.c +++ b/keyboards/horrortroll/handwired_k552/handwired_k552.c @@ -21,7 +21,12 @@ #ifdef RGB_MATRIX_ENABLE led_config_t g_led_config = { { - { } + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } }, { {152, 0}, {165, 0}, {190, 0}, {205, 0}, {224, 21}, {224, 43}, {224, 54}, diff --git a/keyboards/kbdfans/kbd75rgb/kbd75rgb.c b/keyboards/kbdfans/kbd75rgb/kbd75rgb.c index 93bbbfc02c4b..1f160ed4a51f 100644 --- a/keyboards/kbdfans/kbd75rgb/kbd75rgb.c +++ b/keyboards/kbdfans/kbd75rgb/kbd75rgb.c @@ -25,7 +25,7 @@ led_config_t g_led_config = { { { 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, NO_LED,72, 73}, { 83, 82, 81, NO_LED, NO_LED, 80, NO_LED, NO_LED, 79, 78, 77, 76, NO_LED,75 ,74} }, { - {0, 0}, {14.9, 0}, {14.9*2, 0},{14.9*3, 0}, {14.9*4, 0}, {14.9*5, 0}, {14.9*6, 0}, {14.9*7, 0}, {14.9*8, 0}, {14.9*9, 0}, {14.9*10, 0}, {14.9*11, 0}, {14.9*12, 0}, {14.9*13, 0}, {14.9*14, 0}, {224, 0}, + {0, 0}, {15, 0}, {30, 0},{45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {195, 0}, {210, 0}, {224, 0}, {224, 12.8}, {218, 12.8},{192, 12.8},{176, 12.8},{160, 12.8},{144, 12.8},{128, 12.8},{112, 12.8},{96, 12.8},{80, 12.8},{64, 12.8},{48, 12.8},{32, 12.8},{16, 12.8},{0, 12.8}, {0, 25.6},{16, 25.6}, {32, 25.6}, {48, 25.6}, {64, 25.6}, {80, 25.6}, {96, 25.6}, {112, 25.6}, {128, 25.6}, {144, 25.6}, {160, 25.6},{176, 25.6}, {192, 25.6}, {218, 25.6}, {224, 25.6}, {224, 38.4},{200, 38.4},{176, 38.4},{160, 38.4},{144, 38.4},{128, 38.4},{112, 38.4},{96, 38.4},{80, 38.4},{64, 38.4},{48, 38.4},{32, 38.4},{16, 38.4},{0, 38.4}, diff --git a/keyboards/ml/gas75/gas75.c b/keyboards/ml/gas75/gas75.c index 61054273e4f2..05aa679011ba 100644 --- a/keyboards/ml/gas75/gas75.c +++ b/keyboards/ml/gas75/gas75.c @@ -18,7 +18,12 @@ #ifdef RGB_MATRIX_ENABLE led_config_t g_led_config = { { - { 0, 1, 2 } + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } }, { //Key matrix (0 -> 2) {224, 0}, {0 , 0}, {6 , 38}, diff --git a/keyboards/mwstudio/mw75r2/mw75r2.c b/keyboards/mwstudio/mw75r2/mw75r2.c index 0aa38746789e..339e2a539430 100644 --- a/keyboards/mwstudio/mw75r2/mw75r2.c +++ b/keyboards/mwstudio/mw75r2/mw75r2.c @@ -17,9 +17,12 @@ #ifdef RGB_MATRIX_ENABLE led_config_t g_led_config = { { - { 0, 1, 2, 3, 4, 5, 6, 7 }, - { 8, 9, 10, 11, 12, 13, 14, 15 }, - { 16, 17, 18, 19, 20 } + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } }, { { 105, 60 }, { 70, 60 }, { 35, 60 }, { 0, 60 }, { 0, 40 }, { 0, 20 }, { 0, 0 }, { 42, 0 }, { 84, 0 }, { 126, 0 }, { 168, 0 }, { 210, 0 }, { 210, 20 }, { 210, 40 }, { 40, 20 }, { 120, 20 }, { 40, 40 }, { 120, 40 }, { 210, 60 }, { 175, 60 },{ 140, 60 } }, { diff --git a/keyboards/rgbkb/mun/rev1/rev1.c b/keyboards/rgbkb/mun/rev1/rev1.c index 28ad843b527f..c7604510da1c 100644 --- a/keyboards/rgbkb/mun/rev1/rev1.c +++ b/keyboards/rgbkb/mun/rev1/rev1.c @@ -82,15 +82,15 @@ led_config_t g_led_config = { { { 14, 15, 16, 17, 18, 19, 20 }, { 27, 26, 25, 24, 23, 22, 21 }, { 28, 29, 30, 31, 32, 33, 34 }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, { 49, 50, 51, 52, 53, 54, 55 }, { 62, 61, 60, 59, 58, 57, 56 }, { 63, 64, 65, 66, 67, 68, 69 }, { 76, 75, 74, 73, 72, 71, 70 }, { 77, 78, 79, 80, 81, 82, 83 }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } }, { { 16, 16},{ 34, 16},{ 49, 16},{ 64, 16},{ 79, 16},{ 94, 16},{ 109, 16}, { 109, 31},{ 94, 31},{ 79, 31},{ 64, 31},{ 49, 31},{ 34, 31},{ 16, 31}, From 581628892600c422796ee4ad4ccf40d32a28b3af Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 16 May 2022 15:29:55 +1000 Subject: [PATCH 0689/1832] Warn about LTO with arm_atsam, not ChibiOS. (#17106) --- builddefs/common_rules.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index 85dfe67f3fd1..d3acddc87b6e 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -82,8 +82,8 @@ endif # -Wall...: warning level # -Wa,...: tell GCC to pass this to the assembler. ifeq ($(strip $(LTO_ENABLE)), yes) - ifeq ($(PLATFORM),CHIBIOS) - $(info Enabling LTO on ChibiOS-targeting boards is known to have a high likelihood of failure.) + ifeq ($(PLATFORM),ARM_ATSAM) + $(info Enabling LTO on arm_atsam-targeting boards is known to have a high likelihood of failure.) $(info If unsure, set LTO_ENABLE = no.) endif CDEFS += -flto From 6a94a9547d8eca8cea58b14f98a921d485873456 Mon Sep 17 00:00:00 2001 From: moyi4681 Date: Mon, 16 May 2022 19:46:37 +0800 Subject: [PATCH 0690/1832] fix tiger80 matrix error (#17107) --- keyboards/kbdfans/tiger80/tiger80.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/kbdfans/tiger80/tiger80.h b/keyboards/kbdfans/tiger80/tiger80.h index cc48ca1ad62c..5ff82f2bf17f 100644 --- a/keyboards/kbdfans/tiger80/tiger80.h +++ b/keyboards/kbdfans/tiger80/tiger80.h @@ -29,7 +29,7 @@ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K4E, K3F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F } \ } From bc2a6cf6aea71e0fdd622370709aa924c9de031f Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 16 May 2022 18:44:34 -0700 Subject: [PATCH 0691/1832] DigiCarpice Configurator Rendering Fix (#17113) * info.json: apply friendly formatting * info.json: rebuild layout data --- .../handwired/swiftrax/digicarpice/info.json | 151 +++++++++++++++++- 1 file changed, 149 insertions(+), 2 deletions(-) diff --git a/keyboards/handwired/swiftrax/digicarpice/info.json b/keyboards/handwired/swiftrax/digicarpice/info.json index fb168bd77097..762cc69af8fa 100644 --- a/keyboards/handwired/swiftrax/digicarpice/info.json +++ b/keyboards/handwired/swiftrax/digicarpice/info.json @@ -4,10 +4,157 @@ "maintainer": "swiftrax", "layouts": { "LAYOUT_unified_bs": { - "layout": [{"label":"0,0", "x":2.37, "y":0.08}, {"label":"0,1", "x":3.37, "y":0.08}, {"label":"0,11", "x":14.13, "y":0.08}, {"label":"0,12", "x":15.13, "y":0.08}, {"label":"0,13", "x":16.13, "y":0.08, "w":2}, {"label":"0,14", "x":18.38, "y":0.08}, {"label":"1,0", "x":2.24, "y":1.08, "w":1.5}, {"label":"1,1", "x":3.74, "y":1.08}, {"label":"1,10", "x":13.75, "y":1.08}, {"label":"1,11", "x":14.75, "y":1.08}, {"label":"1,12", "x":15.75, "y":1.08}, {"label":"1,13", "x":16.75, "y":1.08, "w":1.5}, {"label":"1,14", "x":18.5, "y":1.08}, {"label":"2,0", "x":2.1, "y":2.08, "w":1.75}, {"label":"2,1", "x":3.85, "y":2.08}, {"label":"2,10", "x":14.16, "y":2.08}, {"label":"2,11", "x":15.16, "y":2.08}, {"label":"2,13", "x":16.16, "y":2.08, "w":2.25}, {"label":"2,14", "x":18.66, "y":2.08}, {"label":"3,0", "x":1.95, "y":3.08, "w":2.25}, {"label":"3,1", "x":4.2, "y":3.08}, {"label":"3,10", "x":13.819999999999999, "y":3.08}, {"label":"3,11", "x":14.819999999999999, "y":3.08}, {"label":"3,12", "x":15.819999999999999, "y":3.08, "w":1.75}, {"label":"3,13", "x":17.82, "y":3.33}, {"label":"4,0", "x":2.1, "y":4.08, "w":1.25}, {"label":"4,1", "x":3.35, "y":4.08, "w":1.25}, {"label":"4,11", "x":15.32, "y":4.08, "w":1.25}, {"label":"4,12", "x":16.82, "y":4.33}, {"label":"4,13", "x":17.82, "y":4.33}, {"label":"4,14", "x":18.82, "y":4.33}, {"label":"0,2", "x":0, "y":5.33}, {"label":"0,3", "x":1, "y":5.33}, {"label":"0,4", "x":2, "y":5.33}, {"label":"0,5", "x":3, "y":5.33}, {"label":"0,6", "x":4, "y":5.33}, {"label":"1,2", "x":0.5, "y":6.33}, {"label":"1,3", "x":1.5, "y":6.33}, {"label":"1,4", "x":2.5, "y":6.33}, {"label":"1,5", "x":3.5, "y":6.33}, {"label":"2,2", "x":0.75, "y":7.33}, {"label":"2,3", "x":1.75, "y":7.33}, {"label":"2,4", "x":2.75, "y":7.33}, {"label":"2,5", "x":3.75, "y":7.33}, {"label":"3,2", "x":1.25, "y":8.33}, {"label":"3,3", "x":2.25, "y":8.33}, {"label":"3,4", "x":3.25, "y":8.33}, {"label":"3,5", "x":4.25, "y":8.33}, {"label":"4,2", "x":1.75, "y":9.33, "w":1.25}, {"label":"4,4", "x":3, "y":9.33, "w":2.25}, {"label":"0,7", "x":-4.5, "y":10.33}, {"label":"0,8", "x":-3.5, "y":10.33}, {"label":"0,9", "x":-2.5, "y":10.33}, {"label":"0,10", "x":-1.5, "y":10.33}, {"label":"1,6", "x":-5.0, "y":11.33}, {"label":"1,7", "x":-4, "y":11.33}, {"label":"1,8", "x":-3.0, "y":11.33}, {"label":"1,9", "x":-2, "y":11.33}, {"label":"2,6", "x":-4.75, "y":12.33}, {"label":"2,7", "x":-3.75, "y":12.33}, {"label":"2,8", "x":-2.75, "y":12.33}, {"label":"2,9", "x":-1.75, "y":12.33}, {"label":"3,6", "x":-5.25, "y":13.33}, {"label":"3,7", "x":-4.25, "y":13.33}, {"label":"3,8", "x":-3.25, "y":13.33}, {"label":"3,9", "x":-2.25, "y":13.33}, {"label":"4,7", "x":-5.25, "y":14.33, "w":2.75}, {"label":"4,9", "x":-2.5, "y":14.33, "w":1.25}] + "layout": [ + {"label":"0,0", "x":0.42, "y":0}, + {"label":"0,1", "x":1.42, "y":0}, + {"label":"0,2", "x":2.55, "y":0}, + {"label":"0,3", "x":3.55, "y":0}, + {"label":"0,4", "x":4.55, "y":0}, + {"label":"0,5", "x":5.55, "y":0}, + {"label":"0,6", "x":6.55, "y":0}, + {"label":"0,7", "x":9.55, "y":0}, + {"label":"0,8", "x":10.55, "y":0}, + {"label":"0,9", "x":11.55, "y":0}, + {"label":"0,10", "x":12.55, "y":0}, + {"label":"0,11", "x":13.68, "y":0}, + {"label":"0,12", "x":14.68, "y":0}, + {"label":"0,13", "x":15.68, "y":0, "w":2}, + {"label":"0,14", "x":17.93, "y":0}, + + {"label":"1,0", "w":1.5, "x":0.29, "y":1}, + {"label":"1,1", "x":1.79, "y":1}, + {"label":"1,2", "x":3.05, "y":1}, + {"label":"1,3", "x":4.05, "y":1}, + {"label":"1,4", "x":5.05, "y":1}, + {"label":"1,5", "x":6.05, "y":1}, + {"label":"1,6", "x":9.05, "y":1}, + {"label":"1,7", "x":10.05, "y":1}, + {"label":"1,8", "x":11.05, "y":1}, + {"label":"1,9", "x":12.05, "y":1}, + {"label":"1,10", "x":13.3, "y":1}, + {"label":"1,11", "x":14.3, "y":1}, + {"label":"1,12", "x":15.3, "y":1}, + {"label":"1,13", "w":1.5, "x":16.3, "y":1}, + {"label":"1,14", "x":18.05, "y":1}, + + {"label":"2,0", "w":1.75, "x":0.15, "y":2}, + {"label":"2,1", "x":1.9, "y":2}, + {"label":"2,2", "x":3.3, "y":2}, + {"label":"2,3", "x":4.3, "y":2}, + {"label":"2,4", "x":5.3, "y":2}, + {"label":"2,5", "x":6.3, "y":2}, + {"label":"2,6", "x":9.3, "y":2}, + {"label":"2,7", "x":10.3, "y":2}, + {"label":"2,8", "x":11.3, "y":2}, + {"label":"2,9", "x":12.3, "y":2}, + {"label":"2,10", "x":13.71, "y":2}, + {"label":"2,11", "x":14.71, "y":2}, + {"label":"2,13", "w":2.25, "x":15.71, "y":2}, + {"label":"2,14", "x":18.21, "y":2}, + + {"label":"3,0", "w":2.25, "x":0, "y":3}, + {"label":"3,1", "x":2.25, "y":3}, + {"label":"3,2", "x":3.8, "y":3}, + {"label":"3,3", "x":4.8, "y":3}, + {"label":"3,4", "x":5.8, "y":3}, + {"label":"3,5", "x":6.8, "y":3}, + {"label":"3,6", "x":8.8, "y":3}, + {"label":"3,7", "x":9.8, "y":3}, + {"label":"3,8", "x":10.8, "y":3}, + {"label":"3,9", "x":11.8, "y":3}, + {"label":"3,10", "x":13.37, "y":3}, + {"label":"3,11", "x":14.37, "y":3}, + {"label":"3,12", "w":1.75, "x":15.37, "y":3}, + {"label":"3,13", "x":17.37, "y":3.25}, + + {"label":"4,0", "w":1.25, "x":0.15, "y":4}, + {"label":"4,1", "w":1.25, "x":1.4, "y":4}, + {"label":"4,2", "w":1.25, "x":4.3, "y":4}, + {"label":"4,4", "w":2.25, "x":5.55, "y":4}, + {"label":"4,7", "w":2.75, "x":8.8, "y":4}, + {"label":"4,9", "w":1.25, "x":11.55, "y":4}, + {"label":"4,11", "w":1.25, "x":14.87, "y":4}, + {"label":"4,12", "x":16.37, "y":4.25}, + {"label":"4,13", "x":17.37, "y":4.25}, + {"label":"4,14", "x":18.37, "y":4.25} + ] }, "LAYOUT_split_bs": { - "layout": [{"label":"0,0", "x":2.37, "y":0.08}, {"label":"0,1", "x":3.37, "y":0.08}, {"label":"0,11", "x":14.13, "y":0.08}, {"label":"0,12", "x":15.13, "y":0.08}, {"label":"0,13", "x":16.13, "y":0.08}, {"label":"2,12", "x":17.13, "y":0.08}, {"label":"0,14", "x":18.38, "y":0.08}, {"label":"1,0", "x":2.24, "y":1.08, "w":1.5}, {"label":"1,1", "x":3.74, "y":1.08}, {"label":"1,10", "x":13.75, "y":1.08}, {"label":"1,11", "x":14.75, "y":1.08}, {"label":"1,12", "x":15.75, "y":1.08}, {"label":"1,13", "x":16.75, "y":1.08, "w":1.5}, {"label":"1,14", "x":18.5, "y":1.08}, {"label":"2,0", "x":2.1, "y":2.08, "w":1.75}, {"label":"2,1", "x":3.85, "y":2.08}, {"label":"2,10", "x":14.16, "y":2.08}, {"label":"2,11", "x":15.16, "y":2.08}, {"label":"2,13", "x":16.16, "y":2.08, "w":2.25}, {"label":"2,14", "x":18.66, "y":2.08}, {"label":"3,0", "x":1.95, "y":3.08, "w":2.25}, {"label":"3,1", "x":4.2, "y":3.08}, {"label":"3,10", "x":13.819999999999999, "y":3.08}, {"label":"3,11", "x":14.819999999999999, "y":3.08}, {"label":"3,12", "x":15.819999999999999, "y":3.08, "w":1.75}, {"label":"3,13", "x":17.82, "y":3.33}, {"label":"4,0", "x":2.1, "y":4.08, "w":1.25}, {"label":"4,1", "x":3.35, "y":4.08, "w":1.25}, {"label":"4,11", "x":15.32, "y":4.08, "w":1.25}, {"label":"4,12", "x":16.82, "y":4.33}, {"label":"4,13", "x":17.82, "y":4.33}, {"label":"4,14", "x":18.82, "y":4.33}, {"label":"0,2", "x":0, "y":5.33}, {"label":"0,3", "x":1, "y":5.33}, {"label":"0,4", "x":2, "y":5.33}, {"label":"0,5", "x":3, "y":5.33}, {"label":"0,6", "x":4, "y":5.33}, {"label":"1,2", "x":0.5, "y":6.33}, {"label":"1,3", "x":1.5, "y":6.33}, {"label":"1,4", "x":2.5, "y":6.33}, {"label":"1,5", "x":3.5, "y":6.33}, {"label":"2,2", "x":0.75, "y":7.33}, {"label":"2,3", "x":1.75, "y":7.33}, {"label":"2,4", "x":2.75, "y":7.33}, {"label":"2,5", "x":3.75, "y":7.33}, {"label":"3,2", "x":1.25, "y":8.33}, {"label":"3,3", "x":2.25, "y":8.33}, {"label":"3,4", "x":3.25, "y":8.33}, {"label":"3,5", "x":4.25, "y":8.33}, {"label":"4,2", "x":1.75, "y":9.33, "w":1.25}, {"label":"4,4", "x":3, "y":9.33, "w":2.25}, {"label":"0,7", "x":-4.5, "y":10.33}, {"label":"0,8", "x":-3.5, "y":10.33}, {"label":"0,9", "x":-2.5, "y":10.33}, {"label":"0,10", "x":-1.5, "y":10.33}, {"label":"1,6", "x":-5.0, "y":11.33}, {"label":"1,7", "x":-4, "y":11.33}, {"label":"1,8", "x":-3.0, "y":11.33}, {"label":"1,9", "x":-2, "y":11.33}, {"label":"2,6", "x":-4.75, "y":12.33}, {"label":"2,7", "x":-3.75, "y":12.33}, {"label":"2,8", "x":-2.75, "y":12.33}, {"label":"2,9", "x":-1.75, "y":12.33}, {"label":"3,6", "x":-5.25, "y":13.33}, {"label":"3,7", "x":-4.25, "y":13.33}, {"label":"3,8", "x":-3.25, "y":13.33}, {"label":"3,9", "x":-2.25, "y":13.33}, {"label":"4,7", "x":-5.25, "y":14.33, "w":2.75}, {"label":"4,9", "x":-2.5, "y":14.33, "w":1.25}] + "layout": [ + {"label":"0,0", "x":0.42, "y":0}, + {"label":"0,1", "x":1.42, "y":0}, + {"label":"0,2", "x":2.55, "y":0}, + {"label":"0,3", "x":3.55, "y":0}, + {"label":"0,4", "x":4.55, "y":0}, + {"label":"0,5", "x":5.55, "y":0}, + {"label":"0,6", "x":6.55, "y":0}, + {"label":"0,7", "x":9.55, "y":0}, + {"label":"0,8", "x":10.55, "y":0}, + {"label":"0,9", "x":11.55, "y":0}, + {"label":"0,10", "x":12.55, "y":0}, + {"label":"0,11", "x":13.68, "y":0}, + {"label":"0,12", "x":14.68, "y":0}, + {"label":"0,13", "x":15.68, "y":0}, + {"label":"2,12", "x":16.68, "y":0}, + {"label":"0,14", "x":17.93, "y":0}, + + {"label":"1,0", "w":1.5, "x":0.29, "y":1}, + {"label":"1,1", "x":1.79, "y":1}, + {"label":"1,2", "x":3.05, "y":1}, + {"label":"1,3", "x":4.05, "y":1}, + {"label":"1,4", "x":5.05, "y":1}, + {"label":"1,5", "x":6.05, "y":1}, + {"label":"1,6", "x":9.05, "y":1}, + {"label":"1,7", "x":10.05, "y":1}, + {"label":"1,8", "x":11.05, "y":1}, + {"label":"1,9", "x":12.05, "y":1}, + {"label":"1,10", "x":13.3, "y":1}, + {"label":"1,11", "x":14.3, "y":1}, + {"label":"1,12", "x":15.3, "y":1}, + {"label":"1,13", "w":1.5, "x":16.3, "y":1}, + {"label":"1,14", "x":18.05, "y":1}, + + {"label":"2,0", "w":1.75, "x":0.15, "y":2}, + {"label":"2,1", "x":1.9, "y":2}, + {"label":"2,2", "x":3.3, "y":2}, + {"label":"2,3", "x":4.3, "y":2}, + {"label":"2,4", "x":5.3, "y":2}, + {"label":"2,5", "x":6.3, "y":2}, + {"label":"2,6", "x":9.3, "y":2}, + {"label":"2,7", "x":10.3, "y":2}, + {"label":"2,8", "x":11.3, "y":2}, + {"label":"2,9", "x":12.3, "y":2}, + {"label":"2,10", "x":13.71, "y":2}, + {"label":"2,11", "x":14.71, "y":2}, + {"label":"2,13", "w":2.25, "x":15.71, "y":2}, + {"label":"2,14", "x":18.21, "y":2}, + + {"label":"3,0", "w":2.25, "x":0, "y":3}, + {"label":"3,1", "x":2.25, "y":3}, + {"label":"3,2", "x":3.8, "y":3}, + {"label":"3,3", "x":4.8, "y":3}, + {"label":"3,4", "x":5.8, "y":3}, + {"label":"3,5", "x":6.8, "y":3}, + {"label":"3,6", "x":8.8, "y":3}, + {"label":"3,7", "x":9.8, "y":3}, + {"label":"3,8", "x":10.8, "y":3}, + {"label":"3,9", "x":11.8, "y":3}, + {"label":"3,10", "x":13.37, "y":3}, + {"label":"3,11", "x":14.37, "y":3}, + {"label":"3,12", "w":1.75, "x":15.37, "y":3}, + {"label":"3,13", "x":17.37, "y":3.25}, + + {"label":"4,0", "w":1.25, "x":0.15, "y":4}, + {"label":"4,1", "w":1.25, "x":1.4, "y":4}, + {"label":"4,2", "w":1.25, "x":4.3, "y":4}, + {"label":"4,4", "w":2.25, "x":5.55, "y":4}, + {"label":"4,7", "w":2.75, "x":8.8, "y":4}, + {"label":"4,9", "w":1.25, "x":11.55, "y":4}, + {"label":"4,11", "w":1.25, "x":14.87, "y":4}, + {"label":"4,12", "x":16.37, "y":4.25}, + {"label":"4,13", "x":17.37, "y":4.25}, + {"label":"4,14", "x":18.37, "y":4.25} + ] } } } From 4b7555117ad851e1d4fda16a59636e8b705fd985 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 16 May 2022 20:27:22 -0700 Subject: [PATCH 0692/1832] [Keyboard] Fix compilation issues for Quark LP (#17009) Co-authored-by: Ryan --- keyboards/checkerboards/quark_lp/config.h | 13 +---------- keyboards/checkerboards/quark_lp/quark_lp.c | 24 ++++++++++----------- keyboards/checkerboards/quark_lp/rules.mk | 1 + 3 files changed, 14 insertions(+), 24 deletions(-) diff --git a/keyboards/checkerboards/quark_lp/config.h b/keyboards/checkerboards/quark_lp/config.h index 08f8c75b670a..4d2f8f9fdf8b 100644 --- a/keyboards/checkerboards/quark_lp/config.h +++ b/keyboards/checkerboards/quark_lp/config.h @@ -46,21 +46,10 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -// RGB Matrix -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE #define RGB_DI_PIN C2 // pin the DI on the ws2812 is hooked-up to -#define RGBLED_NUM 51 // number of LEDs #ifdef RGB_MATRIX_ENABLE +#define DRIVER_LED_TOTAL 51 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/checkerboards/quark_lp/quark_lp.c b/keyboards/checkerboards/quark_lp/quark_lp.c index ff8f237a5be4..05a2f79bcdb5 100644 --- a/keyboards/checkerboards/quark_lp/quark_lp.c +++ b/keyboards/checkerboards/quark_lp/quark_lp.c @@ -19,21 +19,21 @@ #ifdef RGB_MATRIX_ENABLE led_config_t g_led_config = { { // Key Matrix to LED Index - { 11, 10, 9, 8, 7, NO_LED, 6, NO_LED, 5, NO_LED, 4, 3, 2, 1, 0 }, - { 12, 13, 14, 15, 16, NO_LED, 17, NO_LED, 18, NO_LED, 19, 20, 21, 22, 23 }, - { 35, 34, 33, 32, 31, NO_LED, 30, NO_LED, 29, NO_LED, 28, 27, 26, 25, 24 }, - { 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 } + { 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }, + { 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27 }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }, + { 14, 13, 12, 11, 10, 9, 7, 5, 3, 2, 1, 0 } }, { // LED Index to Physical Position - { 244, 0 }, { 224, 0 }, { 203, 0 }, { 183, 0 }, { 163, 0 }, { 143, 0 }, { 122, 0 }, { 102, 0 }, { 81, 0 }, { 61, 0 }, { 41, 0 }, { 20, 0 }, - { 20, 21 }, { 41, 21 }, { 61, 21 }, { 81, 21 }, { 102, 21 }, { 122, 21 }, { 143, 21 }, { 163, 21 }, { 183, 21 }, { 203, 21 }, { 224, 21 }, { 244, 21 }, - { 244, 43 }, { 224, 43 }, { 203, 43 }, { 183, 43 }, { 163, 43 }, { 143, 43 }, { 122, 43 }, { 102, 43 }, { 81, 43 }, { 61, 43 }, { 41, 43 }, { 20, 43 }, - { 20, 64 }, { 41, 64 }, { 61, 64 }, { 81, 64 }, { 102, 64 }, { 112, 64 }, { 122, 64 }, { 132, 64 }, { 143, 64 }, { 153, 64 }, { 163, 64 }, { 183, 64 }, { 203, 64 }, { 224, 64 }, { 244, 64 } + { 244, 0 }, { 224, 0 }, { 203, 0 }, { 183, 0 }, { 173, 0 }, { 163, 0 }, { 153, 0 }, { 143, 0 }, { 133, 0 }, { 122, 0 }, { 102, 0 }, { 81, 0 }, { 61, 0 }, { 41, 0 }, { 20, 0 }, + { 20, 21 }, { 41, 21 }, { 61, 21 }, { 81, 21 }, { 102, 21 }, { 122, 21 }, { 143, 21 }, { 163, 21 }, { 183, 21 }, { 203, 21 }, { 224, 21 }, { 244, 21 }, + { 244, 43 }, { 224, 43 }, { 203, 43 }, { 183, 43 }, { 163, 43 }, { 143, 43 }, { 122, 43 }, { 102, 43 }, { 81, 43 }, { 61, 43 }, { 41, 43 }, { 20, 43 }, + { 20, 64 }, { 41, 64 }, { 61, 64 }, { 81, 64 }, { 102, 64 }, { 112, 64 }, { 122, 64 }, { 132, 64 }, { 143, 64 }, { 153, 64 }, { 163, 64 }, { 183, 64 }, { 203, 64 }, { 224, 64 }, { 244, 64 } }, { // LED Index to Flag - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1 } }; #endif diff --git a/keyboards/checkerboards/quark_lp/rules.mk b/keyboards/checkerboards/quark_lp/rules.mk index d5bf779f12ca..37ede7c3d3d0 100644 --- a/keyboards/checkerboards/quark_lp/rules.mk +++ b/keyboards/checkerboards/quark_lp/rules.mk @@ -17,3 +17,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 From f22e8585a148a19afa45476b69def23c6b997925 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 16 May 2022 21:45:11 -0700 Subject: [PATCH 0693/1832] [Keyboard] Fix too many elements in g_led_config for quark_lp (#17117) --- keyboards/checkerboards/quark_lp/quark_lp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/checkerboards/quark_lp/quark_lp.c b/keyboards/checkerboards/quark_lp/quark_lp.c index 05a2f79bcdb5..a46110e8b906 100644 --- a/keyboards/checkerboards/quark_lp/quark_lp.c +++ b/keyboards/checkerboards/quark_lp/quark_lp.c @@ -28,7 +28,7 @@ led_config_t g_led_config = { { { 244, 0 }, { 224, 0 }, { 203, 0 }, { 183, 0 }, { 173, 0 }, { 163, 0 }, { 153, 0 }, { 143, 0 }, { 133, 0 }, { 122, 0 }, { 102, 0 }, { 81, 0 }, { 61, 0 }, { 41, 0 }, { 20, 0 }, { 20, 21 }, { 41, 21 }, { 61, 21 }, { 81, 21 }, { 102, 21 }, { 122, 21 }, { 143, 21 }, { 163, 21 }, { 183, 21 }, { 203, 21 }, { 224, 21 }, { 244, 21 }, { 244, 43 }, { 224, 43 }, { 203, 43 }, { 183, 43 }, { 163, 43 }, { 143, 43 }, { 122, 43 }, { 102, 43 }, { 81, 43 }, { 61, 43 }, { 41, 43 }, { 20, 43 }, - { 20, 64 }, { 41, 64 }, { 61, 64 }, { 81, 64 }, { 102, 64 }, { 112, 64 }, { 122, 64 }, { 132, 64 }, { 143, 64 }, { 153, 64 }, { 163, 64 }, { 183, 64 }, { 203, 64 }, { 224, 64 }, { 244, 64 } + { 20, 64 }, { 41, 64 }, { 61, 64 }, { 81, 64 }, { 102, 64 }, { 112, 64 }, { 122, 64 }, { 132, 64 }, { 143, 64 }, { 153, 64 }, { 163, 64 }, { 183, 64 } }, { // LED Index to Flag 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, From 467f3ae872101ed6c1c3cbf10f18384304ddbb6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20A=2E=20Volpato?= Date: Tue, 17 May 2022 01:45:56 -0300 Subject: [PATCH 0694/1832] [Keyboard] Add Iron165R2 PCB support (#16948) --- keyboards/smithrune/iron165r2/config.h | 64 +++++++++++ keyboards/smithrune/iron165r2/f072/config.h | 40 +++++++ keyboards/smithrune/iron165r2/f072/halconf.h | 24 ++++ keyboards/smithrune/iron165r2/f072/mcuconf.h | 25 ++++ keyboards/smithrune/iron165r2/f072/rules.mk | 4 + keyboards/smithrune/iron165r2/f411/config.h | 48 ++++++++ keyboards/smithrune/iron165r2/f411/halconf.h | 24 ++++ keyboards/smithrune/iron165r2/f411/mcuconf.h | 44 +++++++ keyboards/smithrune/iron165r2/f411/rules.mk | 5 + keyboards/smithrune/iron165r2/iron165r2.c | 37 ++++++ keyboards/smithrune/iron165r2/iron165r2.h | 43 +++++++ .../iron165r2/keymaps/default/keymap.c | 47 ++++++++ .../smithrune/iron165r2/keymaps/via/keymap.c | 47 ++++++++ .../smithrune/iron165r2/keymaps/via/rules.mk | 1 + keyboards/smithrune/iron165r2/readme.md | 64 +++++++++++ keyboards/smithrune/iron165r2/rules.mk | 18 +++ keyboards/smithrune/iron180/config.h | 68 +++++++++++ keyboards/smithrune/iron180/halconf.h | 27 +++++ keyboards/smithrune/iron180/info.json | 108 ++++++++++++++++++ keyboards/smithrune/iron180/iron180.c | 18 +++ keyboards/smithrune/iron180/iron180.h | 38 ++++++ .../iron180/keymaps/default/keymap.c | 53 +++++++++ .../smithrune/iron180/keymaps/via/keymap.c | 53 +++++++++ .../smithrune/iron180/keymaps/via/rules.mk | 1 + keyboards/smithrune/iron180/mcuconf.h | 30 +++++ keyboards/smithrune/iron180/readme.md | 18 +++ keyboards/smithrune/iron180/rules.mk | 23 ++++ 27 files changed, 972 insertions(+) create mode 100644 keyboards/smithrune/iron165r2/config.h create mode 100644 keyboards/smithrune/iron165r2/f072/config.h create mode 100644 keyboards/smithrune/iron165r2/f072/halconf.h create mode 100644 keyboards/smithrune/iron165r2/f072/mcuconf.h create mode 100644 keyboards/smithrune/iron165r2/f072/rules.mk create mode 100644 keyboards/smithrune/iron165r2/f411/config.h create mode 100644 keyboards/smithrune/iron165r2/f411/halconf.h create mode 100644 keyboards/smithrune/iron165r2/f411/mcuconf.h create mode 100644 keyboards/smithrune/iron165r2/f411/rules.mk create mode 100644 keyboards/smithrune/iron165r2/iron165r2.c create mode 100644 keyboards/smithrune/iron165r2/iron165r2.h create mode 100644 keyboards/smithrune/iron165r2/keymaps/default/keymap.c create mode 100644 keyboards/smithrune/iron165r2/keymaps/via/keymap.c create mode 100644 keyboards/smithrune/iron165r2/keymaps/via/rules.mk create mode 100644 keyboards/smithrune/iron165r2/readme.md create mode 100644 keyboards/smithrune/iron165r2/rules.mk create mode 100644 keyboards/smithrune/iron180/config.h create mode 100644 keyboards/smithrune/iron180/halconf.h create mode 100644 keyboards/smithrune/iron180/info.json create mode 100644 keyboards/smithrune/iron180/iron180.c create mode 100644 keyboards/smithrune/iron180/iron180.h create mode 100755 keyboards/smithrune/iron180/keymaps/default/keymap.c create mode 100755 keyboards/smithrune/iron180/keymaps/via/keymap.c create mode 100644 keyboards/smithrune/iron180/keymaps/via/rules.mk create mode 100644 keyboards/smithrune/iron180/mcuconf.h create mode 100644 keyboards/smithrune/iron180/readme.md create mode 100644 keyboards/smithrune/iron180/rules.mk diff --git a/keyboards/smithrune/iron165r2/config.h b/keyboards/smithrune/iron165r2/config.h new file mode 100644 index 000000000000..bfe83ba52cae --- /dev/null +++ b/keyboards/smithrune/iron165r2/config.h @@ -0,0 +1,64 @@ +/* +Copyright 2022 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x8384 // SR for Smith and RUne +#define PRODUCT_ID 0x1652 // 165 rev 2 +#define DEVICE_VER 0x0001 +#define MANUFACTURER SmithRune +#define PRODUCT Iron156R2 + +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +#define MATRIX_COL_PINS { A3 , B8 , B9 , B1 , B0 , B5 , B4 , B3 , A15, A8 , A1 , A0 , C15, C14, C13} +#define MATRIX_ROW_PINS { B10, A10, A2 , A5 , A7 } + +#define DIODE_DIRECTION COL2ROW + +#define LED_CAPS_LOCK_PIN A4 + +#define DEBOUNCE 5 + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +//#define ALL_RGBS // Define the RGB option here +//#define LINE_RGBS +//#define RUNE_RGBS +#define LUKE_RGBS + +#define RGBLIGHT_LED_MAP {17 , 0 , 1 , 2 , 3 , 18 , 20 , 16 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 19 , 12 , 13 , 14 , 15 , 21} +// D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D60, D61, D62, D63, D64, D65, D66, D67, D68, D69} + +#ifdef RUNE_RGBS +# undef RGBLIGHT_LED_MAP +# define RGBLIGHT_LED_MAP {1 , 6 , 7 , 8 , 9 , 2 , 5 , 0 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 3 , 4 , 18 , 19 , 20 , 21 } +// D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D60, D61, D62, D63, D64, D65, D66, D67, D68, D69} +#endif + +#ifdef LUKE_RGBS +# undef RGBLIGHT_LED_MAP +# define RGBLIGHT_LED_MAP {21 , 2 , 3 , 4 , 5 , 1 , 20 , 0 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 19 , 14 , 15 , 16 , 17 , 18 } +// D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D60, D61, D62, D63, D64, D65, D66, D67, D68, D69} +#endif + +#define RGBLIGHT_DEFAULT_VAL 0 diff --git a/keyboards/smithrune/iron165r2/f072/config.h b/keyboards/smithrune/iron165r2/f072/config.h new file mode 100644 index 000000000000..502f5d6add23 --- /dev/null +++ b/keyboards/smithrune/iron165r2/f072/config.h @@ -0,0 +1,40 @@ +/* +Copyright 2020 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define BACKLIGHT_PIN A6 +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 1 +#define BACKLIGHT_LEVELS 20 +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 5 +#define BACKLIGHT_ON_STATE 1 + +#define RGB_DI_PIN B15 +#define RGBLED_NUM 22 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE diff --git a/keyboards/smithrune/iron165r2/f072/halconf.h b/keyboards/smithrune/iron165r2/f072/halconf.h new file mode 100644 index 000000000000..22478d7bc9ff --- /dev/null +++ b/keyboards/smithrune/iron165r2/f072/halconf.h @@ -0,0 +1,24 @@ +/* Copyright 2022 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_PWM TRUE +#define HAL_USE_PAL TRUE + +#define HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/smithrune/iron165r2/f072/mcuconf.h b/keyboards/smithrune/iron165r2/f072/mcuconf.h new file mode 100644 index 000000000000..d712a1e5a7b4 --- /dev/null +++ b/keyboards/smithrune/iron165r2/f072/mcuconf.h @@ -0,0 +1,25 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/smithrune/iron165r2/f072/rules.mk b/keyboards/smithrune/iron165r2/f072/rules.mk new file mode 100644 index 000000000000..dfaf85650dd6 --- /dev/null +++ b/keyboards/smithrune/iron165r2/f072/rules.mk @@ -0,0 +1,4 @@ +# MCU name +MCU = STM32F072 +BACKLIGHT_ENABLE = yes +BACKLIGHT_DRIVER = pwm diff --git a/keyboards/smithrune/iron165r2/f411/config.h b/keyboards/smithrune/iron165r2/f411/config.h new file mode 100644 index 000000000000..5b2e04b93c46 --- /dev/null +++ b/keyboards/smithrune/iron165r2/f411/config.h @@ -0,0 +1,48 @@ +/* +Copyright 2022 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once +#define BACKLIGHT_PIN A6 +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 2 +#define BACKLIGHT_LEVELS 20 +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 5 +#define BACKLIGHT_ON_STATE 1 + +#define STM32_HSECLK 8000000 + +#define RGB_DI_PIN B15 +#define RGBLED_NUM 22 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + +#define WS2812_PWM_COMPLEMENTARY_OUTPUT +#define WS2812_PWM_DRIVER PWMD1 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 +#define WS2812_DMA_CHANNEL 6 diff --git a/keyboards/smithrune/iron165r2/f411/halconf.h b/keyboards/smithrune/iron165r2/f411/halconf.h new file mode 100644 index 000000000000..ebdb4954a17c --- /dev/null +++ b/keyboards/smithrune/iron165r2/f411/halconf.h @@ -0,0 +1,24 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_PWM TRUE +#define HAL_USE_PAL TRUE + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/smithrune/iron165r2/f411/mcuconf.h b/keyboards/smithrune/iron165r2/f411/mcuconf.h new file mode 100644 index 000000000000..0ea015be4f9d --- /dev/null +++ b/keyboards/smithrune/iron165r2/f411/mcuconf.h @@ -0,0 +1,44 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE +#undef STM32_PPRE1 +#undef STM32_PPRE2 + +#define STM32_PLLM_VALUE 4 +#define STM32_PLLN_VALUE 72 +#define STM32_PLLP_VALUE 2 +#define STM32_PLLQ_VALUE 3 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE2_DIV1 + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_ADVANCED +#define STM32_PWM_USE_ADVANCED TRUE + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/smithrune/iron165r2/f411/rules.mk b/keyboards/smithrune/iron165r2/f411/rules.mk new file mode 100644 index 000000000000..19ac363e7dcf --- /dev/null +++ b/keyboards/smithrune/iron165r2/f411/rules.mk @@ -0,0 +1,5 @@ +MCU = STM32F411 +EEPROM_DRIVER = i2c +BACKLIGHT_ENABLE = yes +BACKLIGHT_DRIVER = pwm +WS2812_DRIVER = pwm diff --git a/keyboards/smithrune/iron165r2/iron165r2.c b/keyboards/smithrune/iron165r2/iron165r2.c new file mode 100644 index 000000000000..c13c3625565d --- /dev/null +++ b/keyboards/smithrune/iron165r2/iron165r2.c @@ -0,0 +1,37 @@ +/* Copyright 2020 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "iron165r2.h" + +void board_init(void) { + setPinInput(B6); + setPinInput(B7); +#if defined (LINE_RGBS) + rgblight_set_effect_range(0,16); +#elif defined (RUNE_RGBS) + rgblight_set_effect_range(0,5); +#elif defined (LUKE_RGBS) + rgblight_set_effect_range(0,2); +#endif +} + +#define LED_PIN_ON_STATE 1 + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if(res) writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock); + return res; +} diff --git a/keyboards/smithrune/iron165r2/iron165r2.h b/keyboards/smithrune/iron165r2/iron165r2.h new file mode 100644 index 000000000000..3bc816d45451 --- /dev/null +++ b/keyboards/smithrune/iron165r2/iron165r2.h @@ -0,0 +1,43 @@ +/* Copyright 2022 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#define ___ KC_NO + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the Keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E , \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E , \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E , \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E , \ + K40, K41, K42, K46, K49, K4A, K4B, K4C, K4D, K4E )\ +{\ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, ___, ___, ___, K46, ___, ___, K49, K4A, K4B, K4C, K4D, K4E } \ +} diff --git a/keyboards/smithrune/iron165r2/keymaps/default/keymap.c b/keyboards/smithrune/iron165r2/keymaps/default/keymap.c new file mode 100644 index 000000000000..9d7d092e514e --- /dev/null +++ b/keyboards/smithrune/iron165r2/keymaps/default/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2020 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT( /* Base */ + 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_BSPC, + 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_PGUP, + 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_NUHS, KC_ENTER,KC_PGDN, + 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_END, + KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL +), +[1] = LAYOUT( + RESET , 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +), +[2] = LAYOUT( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +), +[3] = LAYOUT( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +), +}; diff --git a/keyboards/smithrune/iron165r2/keymaps/via/keymap.c b/keyboards/smithrune/iron165r2/keymaps/via/keymap.c new file mode 100644 index 000000000000..9d7d092e514e --- /dev/null +++ b/keyboards/smithrune/iron165r2/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2020 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT( /* Base */ + 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_BSPC, + 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_PGUP, + 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_NUHS, KC_ENTER,KC_PGDN, + 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_END, + KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL +), +[1] = LAYOUT( + RESET , 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +), +[2] = LAYOUT( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +), +[3] = LAYOUT( + 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +), +}; diff --git a/keyboards/smithrune/iron165r2/keymaps/via/rules.mk b/keyboards/smithrune/iron165r2/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/smithrune/iron165r2/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/smithrune/iron165r2/readme.md b/keyboards/smithrune/iron165r2/readme.md new file mode 100644 index 000000000000..2bbf31bdebf1 --- /dev/null +++ b/keyboards/smithrune/iron165r2/readme.md @@ -0,0 +1,64 @@ +# Iron 165R2 QMK folder + +![Iron165R2](https://i.imgur.com/jPamxKu.jpg) + +## Introduction + +This is the QMK Firmware repository for the Iron165 Round 2 PCB, a keyboard designed by [Smith and Rune](https://smithrune.com/) and PCB designed by [Gondolindrim](http://github.com/Gondolindrim), who is also the firwmare maintainer. + +The Iron 165R2 PCB is a 65% PCB with support for a myriad of alternative layouts, including a 7U bottom row and ISO. It also supports in-switch single-color LEDs and RGB LEDs for underglow light. + +As of November 2021, the only way to obtain an Iron165 was through the [Group Buy](https://geekhack.org/index.php?topic=110985) which is already over; extra units are still to be sold. + +## How to flash + +### Enter bootloader + +The DFU state in the bootloader can be accessed in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key, escape in the default keymap) and plug in the keyboard; +* **Physical reset button**: press the button on the front of the PCB, next to caps lock, for at least five seconds; +* **Keycode in layout**: Press the key mapped to `RESET`; in the default layout, that is top left key ('escape') in layer 1. + +### How to compile and flash + +The 165R2 PCB was prototyped and tested using two microcontrollers: STM32F072 and STM32F411. Most production-run units were manufactured with the latter. + +After checking what PCB you own and setting up your build environment, you can compile the Iron 165R2 default keymap by using one of the options below. + + make smithrune/iron165r2/165r2_f072:default + make smithrune/iron165r2/165r2_f411:default + +And use dfu-util in the command line or through a GUI like QMK toolbox to upload the firmware to the PCB. To directly flash the PCB after it is put into a DFU state, use: + + make smithrune/iron165r2/165r2_f072:default:flash + make smithrune/iron165r2/165r2_f411:default:flash + +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). + +## The "runes RGB" feature + +The firmware for 165R2 allows the user to control the RGBs on the PCB through limiting their span according to the usage. There are four possible usages: + +- "Rune RGBs" where only the RGBs under the SnR rune logo on the 165R2 case are lit up; +![runergbs](https://i.imgur.com/HzpnsdL.jpg) +- "Line RGBs" where only the RGBs on the two alpha cluster rows are lit up; +![linergbs](https://i.imgur.com/A1YThUr.jpg) +- "Luke RGBs" where the line RGBs and D25-D23 are on (to avoid hotspotting on the rune backplate); and +![lukergbs](https://i.imgur.com/PnuuX3F.jpg) +- "All RGBs" where all RGBs are turned on. +![allrgbs](https://i.imgur.com/cX9KnTP.jpg) + +In order to use the "rune RGBs" option, you can turn this option on by un-commenting the respective line on the corresponding `config.h` file: + + #define RUNE_RGBS + +If you want to use the "line RGBs" option, you can un-comment the respective lone on the corresponding `config.h` file: + + #define LINES_RGBS + +If you want to use the "luke RGBs" option, you can un-comment the respective lone on the corresponding `config.h` file: + + #define LUKE_RGBS + +The options supersede each other in this order. If no option is defined, then the firwmare defaults to the "all RGBs" option. diff --git a/keyboards/smithrune/iron165r2/rules.mk b/keyboards/smithrune/iron165r2/rules.mk new file mode 100644 index 000000000000..272814ce9e49 --- /dev/null +++ b/keyboards/smithrune/iron165r2/rules.mk @@ -0,0 +1,18 @@ +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # USB Nkey Rollover +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = no +ENCODER_ENABLE = no +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRU diff --git a/keyboards/smithrune/iron180/config.h b/keyboards/smithrune/iron180/config.h new file mode 100644 index 000000000000..084f008a782d --- /dev/null +++ b/keyboards/smithrune/iron180/config.h @@ -0,0 +1,68 @@ +/* +Copyright 2015 Álvaro "Gondolindrim" Volpato + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x8384 //SR for Smith and Rune +#define PRODUCT_ID 0x1180 +#define DEVICE_VER 0x0001 +#define MANUFACTURER SmithRune +#define PRODUCT IRON180 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +#define MATRIX_COL_PINS { B7 , B6 , B5 , B4 , B3 , A10, A9 , A8 , B15, B14, B13, B12, B11, B2 , A4 , B1 , A3 } +#define MATRIX_ROW_PINS { B9 , B8 , A15, B0 , A7 , A5 } +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN A6 +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 1 +#define BACKLIGHT_LEVELS 6 +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 6 + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/smithrune/iron180/halconf.h b/keyboards/smithrune/iron180/halconf.h new file mode 100644 index 000000000000..2d0841426359 --- /dev/null +++ b/keyboards/smithrune/iron180/halconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/iron180/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_PWM YES + +#include_next + diff --git a/keyboards/smithrune/iron180/info.json b/keyboards/smithrune/iron180/info.json new file mode 100644 index 000000000000..64ee4b4ee39c --- /dev/null +++ b/keyboards/smithrune/iron180/info.json @@ -0,0 +1,108 @@ +{ + "keyboard_name": "Iron180", + "url": "", + "maintainer": "Gondolindrim", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1.25, "y":0}, + {"label":"K02", "x":2.25, "y":0}, + {"label":"K03", "x":3.25, "y":0}, + {"label":"K04", "x":4.25, "y":0}, + {"label":"K05", "x":5.5, "y":0}, + {"label":"K06", "x":6.5, "y":0}, + {"label":"K07", "x":7.5, "y":0}, + {"label":"K08", "x":8.5, "y":0}, + {"label":"K09", "x":9.75, "y":0}, + {"label":"K0A", "x":10.75, "y":0}, + {"label":"K0B", "x":11.75, "y":0}, + {"label":"K0C", "x":12.75, "y":0}, + {"label":"K0D", "x":14, "y":0}, + {"label":"K0E", "x":15.25, "y":0}, + {"label":"K0F", "x":16.25, "y":0}, + {"label":"K0G", "x":17.25, "y":0}, + + {"label":"K10", "x":0, "y":1.25}, + {"label":"K11", "x":1, "y":1.25}, + {"label":"K12", "x":2, "y":1.25}, + {"label":"K13", "x":3, "y":1.25}, + {"label":"K14", "x":4, "y":1.25}, + {"label":"K15", "x":5, "y":1.25}, + {"label":"K16", "x":6, "y":1.25}, + {"label":"K17", "x":7, "y":1.25}, + {"label":"K18", "x":8, "y":1.25}, + {"label":"K19", "x":9, "y":1.25}, + {"label":"K1A", "x":10, "y":1.25}, + {"label":"K1B", "x":11, "y":1.25}, + {"label":"K1C", "x":12, "y":1.25}, + {"label":"K1D", "x":13, "y":1.25}, + {"label":"K1E", "x":14, "y":1.25}, + {"label":"K1F", "x":15.25, "y":1.25}, + {"label":"K1G", "x":16.25, "y":1.25}, + {"label":"K3G", "x":17.25, "y":1.25}, + + {"label":"K20", "x":0, "y":2.25, "w":1.5}, + {"label":"K21", "x":1.5, "y":2.25}, + {"label":"K22", "x":2.5, "y":2.25}, + {"label":"K23", "x":3.5, "y":2.25}, + {"label":"K24", "x":4.5, "y":2.25}, + {"label":"K25", "x":5.5, "y":2.25}, + {"label":"K26", "x":6.5, "y":2.25}, + {"label":"K27", "x":7.5, "y":2.25}, + {"label":"K28", "x":8.5, "y":2.25}, + {"label":"K29", "x":9.5, "y":2.25}, + {"label":"K2A", "x":10.5, "y":2.25}, + {"label":"K2B", "x":11.5, "y":2.25}, + {"label":"K2C", "x":12.5, "y":2.25}, + {"label":"K2D", "x":13.5, "y":2.25, "w":1.5}, + {"label":"K2E", "x":15.25, "y":2.25}, + {"label":"K2F", "x":16.25, "y":2.25}, + {"label":"K2G", "x":17.25, "y":2.25}, + + {"label":"K30", "x":0, "y":3.25, "w":1.75}, + {"label":"K31", "x":1.75, "y":3.25}, + {"label":"K32", "x":2.75, "y":3.25}, + {"label":"K33", "x":3.75, "y":3.25}, + {"label":"K34", "x":4.75, "y":3.25}, + {"label":"K35", "x":5.75, "y":3.25}, + {"label":"K36", "x":6.75, "y":3.25}, + {"label":"K37", "x":7.75, "y":3.25}, + {"label":"K38", "x":8.75, "y":3.25}, + {"label":"K39", "x":9.75, "y":3.25}, + {"label":"K3A", "x":10.75, "y":3.25}, + {"label":"K3B", "x":11.75, "y":3.25}, + {"label":"K3C", "x":12.75, "y":3.25}, + {"label":"K3D", "x":13.75, "y":3.25, "w":1.25}, + + {"label":"K40", "x":0, "y":4.25, "w":1.25}, + {"label":"K41", "x":1.25, "y":4.25}, + {"label":"K42", "x":2.25, "y":4.25}, + {"label":"K43", "x":3.25, "y":4.25}, + {"label":"K44", "x":4.25, "y":4.25}, + {"label":"K45", "x":5.25, "y":4.25}, + {"label":"K46", "x":6.25, "y":4.25}, + {"label":"K47", "x":7.25, "y":4.25}, + {"label":"K48", "x":8.25, "y":4.25}, + {"label":"K49", "x":9.25, "y":4.25}, + {"label":"K4A", "x":10.25, "y":4.25}, + {"label":"K4B", "x":11.25, "y":4.25}, + {"label":"K4C", "x":12.25, "y":4.25, "w":1.75}, + {"label":"K4D", "x":14, "y":4.25}, + {"label":"K4F", "x":16.25, "y":4.25}, + + {"label":"K50", "x":0, "y":5.25, "w":1.25}, + {"label":"K51", "x":1.25, "y":5.25, "w":1.25}, + {"label":"K52", "x":2.5, "y":5.25, "w":1.25}, + {"label":"K56", "x":3.75, "y":5.25, "w":6.25}, + {"label":"K59", "x":10, "y":5.25, "w":1.25}, + {"label":"K5A", "x":11.25, "y":5.25, "w":1.25}, + {"label":"K5B", "x":12.5, "y":5.25, "w":1.25}, + {"label":"K5C", "x":13.75, "y":5.25, "w":1.25}, + {"label":"K5D", "x":15.25, "y":5.25}, + {"label":"K5E", "x":16.25, "y":5.25}, + {"label":"K5F", "x":17.25, "y":5.25} + ] + } + } +} diff --git a/keyboards/smithrune/iron180/iron180.c b/keyboards/smithrune/iron180/iron180.c new file mode 100644 index 000000000000..236f8176f6dc --- /dev/null +++ b/keyboards/smithrune/iron180/iron180.c @@ -0,0 +1,18 @@ +/* +Copyright 2020 Álvaro "Gondolindrim" Volpato + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "iron180.h" diff --git a/keyboards/smithrune/iron180/iron180.h b/keyboards/smithrune/iron180/iron180.h new file mode 100644 index 000000000000..032d8afb58e6 --- /dev/null +++ b/keyboards/smithrune/iron180/iron180.h @@ -0,0 +1,38 @@ +/* +Copyright 2015 Álvaro "Gondolindrim" Volpato + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define ___ KC_NO + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0G, K0F, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K3G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \ + K50, K51, K52, K56, K59, K5A, K5B, K5C, K5D, K5E, K5F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, ___, K3G }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, ___ }, \ + { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, ___, K5D, K5E, K5F } \ +} diff --git a/keyboards/smithrune/iron180/keymaps/default/keymap.c b/keyboards/smithrune/iron180/keymaps/default/keymap.c new file mode 100755 index 000000000000..d78f60e11895 --- /dev/null +++ b/keyboards/smithrune/iron180/keymaps/default/keymap.c @@ -0,0 +1,53 @@ +/* +Copyright 2012,2013 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV , 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_BSPC, KC_INS , KC_HOME, KC_PGUP, + 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 , KC_PGDN, + 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_NUHS, KC_ENT , + KC_LSFT, KC_BSLS, 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 , + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/smithrune/iron180/keymaps/via/keymap.c b/keyboards/smithrune/iron180/keymaps/via/keymap.c new file mode 100755 index 000000000000..d78f60e11895 --- /dev/null +++ b/keyboards/smithrune/iron180/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +/* +Copyright 2012,2013 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV , 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_BSPC, KC_INS , KC_HOME, KC_PGUP, + 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 , KC_PGDN, + 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_NUHS, KC_ENT , + KC_LSFT, KC_BSLS, 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 , + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/smithrune/iron180/keymaps/via/rules.mk b/keyboards/smithrune/iron180/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/smithrune/iron180/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/smithrune/iron180/mcuconf.h b/keyboards/smithrune/iron180/mcuconf.h new file mode 100644 index 000000000000..620b983c75bf --- /dev/null +++ b/keyboards/smithrune/iron180/mcuconf.h @@ -0,0 +1,30 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/iron180/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_I2C_USE_DMA +#define STM32_I2C_USE_DMA FALSE + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 YES diff --git a/keyboards/smithrune/iron180/readme.md b/keyboards/smithrune/iron180/readme.md new file mode 100644 index 000000000000..611c9bd4481b --- /dev/null +++ b/keyboards/smithrune/iron180/readme.md @@ -0,0 +1,18 @@ +# Iron180 QMK folder + +## Introduction + +This is the QMK Firmware repository for the Iron180 PCB, a keyboard designed by [Smith and Rune](https://smithrune.com/) and PCB designed by [Gondolindrim](http://github.com/Gondolindrim). + +The Iron180 PCB is a F13 TKL PCB with ALPS switches support. It also supports in-switch single-color LEDs and a multi-layout design for default or 7U bottom row, ISO layout, split backspace and right shift. + +As of November 2020, the only way to obtain an Iron180 was through the [Group Buy](https://geekhack.org/index.php?topic=109513) which is already over and all spots were filled. + +## How to compile + +After setting up your build environment, you can compile the Iron180 default keymap by using: + + make smithrune/iron180:default + +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/smithrune/iron180/rules.mk b/keyboards/smithrune/iron180/rules.mk new file mode 100644 index 000000000000..da310926f3b2 --- /dev/null +++ b/keyboards/smithrune/iron180/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = no +LTO_ENABLE = no + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE From aa970e85609e46f69ae14f09ec072fea8d165021 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Tue, 17 May 2022 13:02:14 +0800 Subject: [PATCH 0695/1832] [Keyboard] mach3 LED index correction (#17110) --- keyboards/machkeyboards/mach3/mach3.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/machkeyboards/mach3/mach3.c b/keyboards/machkeyboards/mach3/mach3.c index 9769d02a531c..509aac9fe5c6 100644 --- a/keyboards/machkeyboards/mach3/mach3.c +++ b/keyboards/machkeyboards/mach3/mach3.c @@ -19,8 +19,8 @@ led_config_t g_led_config = { { // Key Matrix to LED Index { 0, 1, 2 }, - { 7, 6, 5 }, - { 8, 9, 10 }, + { 5, 4, 3 }, + { 6, 7, 8 }, }, { // LED Index to Physical Position { 0, 0 }, { 112, 0 }, { 224, 0 }, @@ -39,4 +39,4 @@ void keyboard_pre_init_kb(void) { writePinHigh(F5); keyboard_pre_init_user(); -} \ No newline at end of file +} From 8b9cb030a74ced2c50fe62e2fd259e16a93e33bf Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Tue, 17 May 2022 13:02:35 +0800 Subject: [PATCH 0696/1832] [Keyboard] Latinpad LED index correction (#17109) --- keyboards/latincompass/latinpad/latinpad.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/keyboards/latincompass/latinpad/latinpad.c b/keyboards/latincompass/latinpad/latinpad.c index 85f8eba7d57a..51826bd6a0de 100644 --- a/keyboards/latincompass/latinpad/latinpad.c +++ b/keyboards/latincompass/latinpad/latinpad.c @@ -16,25 +16,23 @@ #include "latinpad.h" #ifdef RGB_MATRIX_ENABLE - led_config_t g_led_config = { - { - { 1, 2, 3, 4 }, - { 5, 6, 7, 8 }, - { 9, 10, 11, 12 }, - { 13, 14, 15, 16 }, - { 17, 18, NO_LED, NO_LED } - },{ +led_config_t g_led_config = { { + { 0, 1, 2, 3 }, + { 4, 5, 6, 7 }, + { 8, 9, 10, 11 }, + { 12, 13, 14, 15 }, + { 16, 17, NO_LED, NO_LED } +},{ { 74, 21 }, { 37, 21 }, { 24, 21 }, { 18, 21 }, { 74, 10 }, { 37, 10 }, { 28, 10 }, { 18, 10 }, { 74, 7 }, { 37, 7 }, { 20, 7 }, { 18, 7 }, { 74, 5 }, { 37, 5 }, { 22, 5 }, { 18, 5 }, { 74, 5 }, { 37, 5 }, - },{ +},{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 - } - }; +} }; #endif From b6ee006060d7e0767a380a1d6e0e8126553d0482 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Tue, 17 May 2022 13:03:08 +0800 Subject: [PATCH 0697/1832] [Keyboard] lulu LED index correction (#17108) --- keyboards/boardsource/lulu/lulu.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/keyboards/boardsource/lulu/lulu.c b/keyboards/boardsource/lulu/lulu.c index 390815795a2b..7a25fce50cfb 100644 --- a/keyboards/boardsource/lulu/lulu.c +++ b/keyboards/boardsource/lulu/lulu.c @@ -5,16 +5,16 @@ #ifdef RGB_MATRIX_ENABLE led_config_t g_led_config = { { - {12,11,10,9 ,8 ,7 }, - {18,17,16,15,14,13}, - {24,23,22,21,20,19}, - {30,29,28,27,26,25}, - {NO_LED,35,34,33,32,31}, - {42,43,44,45,46,47}, - {48,49,50,51,52,53}, - {54,55,56,57,58,59}, - {60,61,62,63,64,65}, - {NO_LED,66,67,68,69,70} + {11,10, 9, 8, 7, 6}, + {17,16,15,14,13,12}, + {23,22,21,20,19,18}, + {29,28,27,26,25,24}, + {NO_LED,34,33,32,31,30}, + {41,42,43,44,45,46}, + {47,48,49,50,51,52}, + {53,54,55,56,57,58}, + {59,60,61,62,63,64}, + {NO_LED,65,66,67,68,69} },{ {86,55},{51,55},{17,40},{17,10},{51,10},{86,10}, From e9e83b4da73e5594b1f864d78529e85aa5ebefe9 Mon Sep 17 00:00:00 2001 From: HorrorTroll Date: Tue, 17 May 2022 12:05:05 +0700 Subject: [PATCH 0698/1832] [Keyboard] Fixed Gas75 info.json and keymap for M64 RGB (#17081) --- keyboards/ml/gas75/info.json | 2 +- keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c | 2 +- keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/ml/gas75/info.json b/keyboards/ml/gas75/info.json index 3cb3d912f570..42899cc091ff 100644 --- a/keyboards/ml/gas75/info.json +++ b/keyboards/ml/gas75/info.json @@ -36,7 +36,7 @@ {"label":"0)", "x":10, "y":1.25}, {"label":"-_", "x":11, "y":1.25}, {"label":"=+", "x":12, "y":1.25}, - {"label":"Backspace", "x":13, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Home", "x":15.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, diff --git a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c index f348dc69fe25..48a6949e78bb 100644 --- a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_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_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_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_SLSH, + 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_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT ), diff --git a/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c index f348dc69fe25..48a6949e78bb 100644 --- a/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c +++ b/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_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_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_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_SLSH, + 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_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT ), From 654baebb2c3e1706a20c985dfde35a9b7bd6958a Mon Sep 17 00:00:00 2001 From: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue, 17 May 2022 22:00:26 +1000 Subject: [PATCH 0699/1832] fix non-working builds (#17123) --- keyboards/xelus/pachi/rgb/rev1/config.h | 9 ++++++--- keyboards/xelus/pachi/rgb/rev2/config.h | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/keyboards/xelus/pachi/rgb/rev1/config.h b/keyboards/xelus/pachi/rgb/rev1/config.h index e6cf1756bd99..2711b5c7a86f 100644 --- a/keyboards/xelus/pachi/rgb/rev1/config.h +++ b/keyboards/xelus/pachi/rgb/rev1/config.h @@ -21,7 +21,7 @@ #define PRODUCT_ID 0x5052 // "PR" #define DEVICE_VER 0x0001 #define MANUFACTURER Xelus -#define PRODUCT Xelus Pachi RGB Rev 1 +#define PRODUCT Xelus Pachi RGB Rev1 /* key matrix size */ #define MATRIX_ROWS 6 @@ -45,8 +45,8 @@ #define LOCKING_RESYNC_ENABLE // I2C setup -#define I2C1_SCL 8 -#define I2C1_SDA 9 +#define I2C1_SCL_PIN B8 +#define I2C1_SDA_PIN B9 #define I2C1_SCL_PAL_MODE 4 #define I2C1_SDA_PAL_MODE 4 #define I2C1_TIMINGR_PRESC 0U @@ -58,6 +58,9 @@ // I2C EEPROM #define EEPROM_I2C_24LC64 +// More EEPROM for layers +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 8191 + // RGB Matrix defines #define DRIVER_ADDR_1 0b0110000 diff --git a/keyboards/xelus/pachi/rgb/rev2/config.h b/keyboards/xelus/pachi/rgb/rev2/config.h index a9240da6bb47..35a4cf238f79 100644 --- a/keyboards/xelus/pachi/rgb/rev2/config.h +++ b/keyboards/xelus/pachi/rgb/rev2/config.h @@ -45,8 +45,8 @@ #define LOCKING_RESYNC_ENABLE // I2C setup -#define I2C1_SCL 6 -#define I2C1_SDA 7 +#define I2C1_SCL_PIN B6 +#define I2C1_SDA_PIN B7 #define I2C1_SCL_PAL_MODE 4 #define I2C1_SDA_PAL_MODE 4 #define I2C1_TIMINGR_PRESC 0U From 656090335066eed90a9b76e113fb93ee3bc8c089 Mon Sep 17 00:00:00 2001 From: John-Schreiber <56258966+John-Schreiber@users.noreply.github.com> Date: Tue, 17 May 2022 08:01:26 -0400 Subject: [PATCH 0700/1832] Adding VIA support for bfo-9000 (#17116) --- keyboards/keebio/bfo9000/keymaps/via/keymap.c | 42 +++++++++++++++++++ keyboards/keebio/bfo9000/keymaps/via/rules.mk | 1 + 2 files changed, 43 insertions(+) create mode 100644 keyboards/keebio/bfo9000/keymaps/via/keymap.c create mode 100644 keyboards/keebio/bfo9000/keymaps/via/rules.mk diff --git a/keyboards/keebio/bfo9000/keymaps/via/keymap.c b/keyboards/keebio/bfo9000/keymaps/via/keymap.c new file mode 100644 index 000000000000..760d1e0f9a18 --- /dev/null +++ b/keyboards/keebio/bfo9000/keymaps/via/keymap.c @@ -0,0 +1,42 @@ +// Copyright 2022 John-Schreiber +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + + +enum bfo9000_layers {_BASE,_BASE1,_BASE2,_BASE3}; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_BASE] = LAYOUT( + KC_ESC, KC_VOLU, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + KC_HOME, KC_VOLD, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_END, KC_TAB, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_PGUP, KC_CAPS, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, + KC_PGDN, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_TRNS, + KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT +), +[_BASE1] = LAYOUT( + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +), +[_BASE2] = LAYOUT( + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +), +[_BASE3] = LAYOUT( + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +) +}; diff --git a/keyboards/keebio/bfo9000/keymaps/via/rules.mk b/keyboards/keebio/bfo9000/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/keebio/bfo9000/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes From dba5b730a3f112b40d9f19881e0c5eaa03672452 Mon Sep 17 00:00:00 2001 From: durken1 <71756879+durken1@users.noreply.github.com> Date: Tue, 17 May 2022 15:20:13 +0200 Subject: [PATCH 0701/1832] Update pr_checklist.md (#17122) --- docs/pr_checklist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md index 591c21b97b3b..f55517dfa2af 100644 --- a/docs/pr_checklist.md +++ b/docs/pr_checklist.md @@ -62,7 +62,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - modified `# Enable Bluetooth with the Adafruit EZ-Key HID` -> `# Enable Bluetooth` - no `(-/+size)` comments related to enabling features - remove the list of alternate bootloaders if one has been specified - - no re-definitions of the default MCU parameters if same value, when compared to the equivalent MCU in [mcu_selection.mk](https://github.com/qmk/qmk_firmware/blob/master/quantum/mcu_selection.mk) + - no re-definitions of the default MCU parameters if same value, when compared to the equivalent MCU in [mcu_selection.mk](https://github.com/qmk/qmk_firmware/blob/master/builddefs/mcu_selection.mk) - keyboard `config.h` - don't repeat `MANUFACTURER` in the `PRODUCT` value - no `#define DESCRIPTION` From f736828fa8801748d6446ad74fb704bdbc7e599b Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 17 May 2022 09:12:52 -0700 Subject: [PATCH 0702/1832] Frooastside Walnut Community Layout Support (#17112) * LAYOUT_iso: move Enter to home row This commit makes the layout macro compatible with QMK's `tkl_nofrow_iso` Community Layout. * rename LAYOUT_ansi to LAYOUT_tkl_nofrow_ansi * rename LAYOUT_iso to LAYOUT_tkl_nofrow_iso * enable Community Layout support --- keyboards/frooastboard/walnut/info.json | 11 ++++++++--- .../walnut/keymaps/default_ansi/keymap.c | 4 ++-- .../frooastboard/walnut/keymaps/default_iso/keymap.c | 12 ++++++------ 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/keyboards/frooastboard/walnut/info.json b/keyboards/frooastboard/walnut/info.json index 7a8276f3ffe5..13e1904c940f 100644 --- a/keyboards/frooastboard/walnut/info.json +++ b/keyboards/frooastboard/walnut/info.json @@ -27,8 +27,13 @@ "pid": "0x776E", "device_version": "1.0.0" }, + "community_layouts": ["tkl_nofrow_ansi", "tkl_nofrow_iso"], + "layout_aliases": { + "LAYOUT_ansi": "LAYOUT_tkl_nofrow_ansi", + "LAYOUT_iso": "LAYOUT_tkl_nofrow_iso" + }, "layouts": { - "LAYOUT_ansi": { + "LAYOUT_tkl_nofrow_ansi": { "layout": [ { "matrix": [0, 0], "x": 0, "y": 0 }, { "matrix": [0, 1], "x": 1, "y": 0 }, @@ -103,7 +108,7 @@ { "matrix": [1, 7], "x": 17.5, "y": 4 } ] }, - "LAYOUT_iso": { + "LAYOUT_tkl_nofrow_iso": { "layout": [ { "matrix": [0, 0], "x": 0, "y": 0 }, { "matrix": [0, 1], "x": 1, "y": 0 }, @@ -135,7 +140,6 @@ { "matrix": [3, 2], "x": 10.5, "y": 1 }, { "matrix": [3, 3], "x": 11.5, "y": 1 }, { "matrix": [3, 4], "x": 12.5, "y": 1 }, - { "matrix": [3, 5], "x": 13.75, "y": 1, "w": 1.25, "h": 2 }, { "matrix": [7, 5], "x": 15.5, "y": 1 }, { "matrix": [7, 6], "x": 16.5, "y": 1 }, { "matrix": [7, 7], "x": 17.5, "y": 1 }, @@ -152,6 +156,7 @@ { "matrix": [5, 2], "x": 10.75, "y": 2 }, { "matrix": [5, 3], "x": 11.75, "y": 2 }, { "matrix": [5, 4], "x": 12.75, "y": 2 }, + { "matrix": [3, 5], "x": 13.75, "y": 1, "w": 1.25, "h": 2 }, { "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25 }, { "matrix": [6, 1], "x": 1.25, "y": 3 }, { "matrix": [6, 2], "x": 2.25, "y": 3 }, diff --git a/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c b/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c index a65dfe3a6e28..f28645cf2f20 100644 --- a/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c +++ b/keyboards/frooastboard/walnut/keymaps/default_ansi/keymap.c @@ -4,14 +4,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ansi( + [0] = LAYOUT_tkl_nofrow_ansi( 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_INS, KC_HOME, KC_PGUP, 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, KC_PGDN, 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_ansi( + [1] = LAYOUT_tkl_nofrow_ansi( 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, EE_CLR, KC_PSCR, KC_SCRL, KC_PAUS, 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, RGB_SAI, RGB_HUI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, diff --git a/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c b/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c index 8dd069ba3e0f..f42b67db2db0 100644 --- a/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c +++ b/keyboards/frooastboard/walnut/keymaps/default_iso/keymap.c @@ -4,17 +4,17 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_iso( + [0] = LAYOUT_tkl_nofrow_iso( 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_INS, KC_HOME, KC_PGUP, - 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_ENT, KC_DEL, KC_END, KC_PGDN, - 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_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_DEL, KC_END, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_iso( + [1] = LAYOUT_tkl_nofrow_iso( 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, EE_CLR, KC_PSCR, KC_SCRL, KC_PAUS, - 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, RGB_TOG, RGB_SAI, RGB_HUI, RGB_SPI, - 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_HUI, RGB_SPI, + 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, RGB_TOG, 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, RGB_VAI, KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD) }; From d241e80533b445d042e89d7eae5f0e5f88c0ce44 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 18 May 2022 04:48:59 +1000 Subject: [PATCH 0703/1832] Keymap FAQ updates (#17130) --- docs/faq_keymap.md | 71 +++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 38 deletions(-) diff --git a/docs/faq_keymap.md b/docs/faq_keymap.md index 01ded4f23199..864128183508 100644 --- a/docs/faq_keymap.md +++ b/docs/faq_keymap.md @@ -3,6 +3,7 @@ This page covers questions people often have about keymaps. If you haven't you should read [Keymap Overview](keymap.md) first. ## What Keycodes Can I Use? + See [Keycodes](keycodes.md) for an index of keycodes available to you. These link to more extensive documentation when available. Keycodes are actually defined in [quantum/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/keycode.h). @@ -25,25 +26,30 @@ Sometimes, for readability's sake, it's useful to define custom names for some k This will allow you to use `FN_CAPS` and `ALT_TAB` in your keymap, keeping it more readable. -## Some Of My Keys Are Swapped Or Not Working +## My Keymap Doesn't Update When I Flash It -QMK has two features, Bootmagic and Command, which allow you to change the behavior of your keyboard on the fly. This includes, but is not limited to, swapping Ctrl/Caps, disabling Gui, swapping Alt/Gui, swapping Backspace/Backslash, disabling all keys, and other behavioral modifications. +This is usually due to VIA, and has to do with how it deals with keymaps. -As a quick fix try holding down `Space`+`Backspace` while you plug in your keyboard. This will reset the stored settings on your keyboard, returning those keys to normal operation. If that doesn't work look here: +On first run, the VIA code in the firmware will copy the keymap from flash memory into EEPROM so that it can be rewritten at runtime by the VIA app. From this point QMK will use the keymap stored in EEPROM instead of flash, and so updates to your `keymap.c` will not be reflected. -* [Bootmagic Lite](feature_bootmagic.md) -* [Command](feature_command.md) +The simple fix for this is to clear the EEPROM. You can do this in several ways: -## The Menu Key Isn't Working +* Hold the Bootmagic Lite key (usually top left/Escape) while plugging the board in, which will also place the board into bootloader mode; then unplug and replug the board. +* Press the `QK_CLEAR_EEPROM`/`EE_CLR` keycode if it is accessible on your keymap. +* Place the board into bootloader mode and hit the "Clear EEPROM" button. This may not be available for all bootloaders, and you may need to reflash the board afterwards. + +## Some Of My Keys Are Swapped Or Not Working + +QMK has a couple of features which allow you to change the behavior of your keyboard on the fly. This includes, but is not limited to, swapping Ctrl/Caps, disabling GUI, swapping Alt/GUI, swapping Backspace/Backslash, disabling all keys, and other behavioral modifications. -The key found on most modern keyboards that is located between `KC_RGUI` and `KC_RCTL` is actually called `KC_APP`. This is because when that key was invented there was already a key named `MENU` in the relevant standards, so MS chose to call that the `APP` key. +Refer to the EEPROM clearing methods above, which should return those keys to normal operation. If that doesn't work, look here: -## `KC_SYSTEM_REQUEST` Isn't Working -Use keycode for Print Screen (`KC_PRINT_SCREEN`/`KC_PSCR`) instead of `KC_SYSTEM_REQUEST`. Key combination of 'Alt + Print Screen' is recognized as 'System request'. +* [Magic Keycodes](keycodes_magic.md) +* [Command](feature_command.md) -See [issue #168](https://github.com/tmk/tmk_keyboard/issues/168) and -* https://en.wikipedia.org/wiki/Magic_SysRq_key -* https://en.wikipedia.org/wiki/System_request +## The Menu Key Isn't Working + +The key found on most modern keyboards that is located between `KC_RGUI` and `KC_RCTL` is actually called `KC_APP`. This is because when the key was invented, there was already a key named "Menu" in the HID specification, so for whatever reason, Microsoft chose to create a new key and call it "Application". ## Power Keys Aren't Working @@ -52,10 +58,12 @@ Somewhat confusingly, there are two "Power" keycodes in QMK: `KC_KB_POWER` in th The former is only recognized on macOS, while the latter, `KC_SLEP` and `KC_WAKE` are supported by all three major operating systems, so it is recommended to use those instead. Under Windows, these keys take effect immediately, however on macOS they must be held down until a dialog appears. ## One Shot Modifier + Solves my personal 'the' problem. I often got 'the' or 'THe' wrongly instead of 'The'. One Shot Shift mitigates this for me. https://github.com/tmk/tmk_keyboard/issues/67 ## Modifier/Layer Stuck + Modifier keys or layers can be stuck unless layer switching is configured properly. For Modifier keys and layer actions you have to place `KC_TRNS` on same position of destination layer to unregister the modifier key or return to previous layer on release event. @@ -63,12 +71,11 @@ For Modifier keys and layer actions you have to place `KC_TRNS` on same position * https://geekhack.org/index.php?topic=57008.msg1492604#msg1492604 * https://github.com/tmk/tmk_keyboard/issues/248 - ## Mechanical Lock Switch Support This feature is for *mechanical lock switch* like [this Alps one](https://deskthority.net/wiki/Alps_SKCL_Lock). You can enable it by adding this to your `config.h`: -``` +```c #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE ``` @@ -91,6 +98,7 @@ Even worse, it is not recognized unless the keyboard's VID and PID match that of See [this issue](https://github.com/qmk/qmk_firmware/issues/2179) for detailed information. ## Keys Supported in Mac OSX? + You can know which keycodes are supported in OSX from this source code. `usb_2_adb_keymap` array maps Keyboard/Keypad Page usages to ADB scancodes(OSX internal keycodes). @@ -101,8 +109,8 @@ And `IOHIDConsumer::dispatchConsumerEvent` handles Consumer page usages. https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/IOHIDConsumer.cpp - ## JIS Keys in Mac OSX + Japanese JIS keyboard specific keys like `無変換(Muhenkan)`, `変換(Henkan)`, `ひらがな(hiragana)` are not recognized on OSX. You can use **Seil** to enable those keys, try following options. * Enable NFER Key on PC keyboard @@ -111,8 +119,8 @@ Japanese JIS keyboard specific keys like `無変換(Muhenkan)`, `変換(Henkan)` https://pqrs.org/osx/karabiner/seil.html - ## RN-42 Bluetooth Doesn't Work with Karabiner + Karabiner - Keymapping tool on Mac OSX - ignores inputs from RN-42 module by default. You have to enable this option to make Karabiner working with your keyboard. https://github.com/tekezo/Karabiner/issues/403#issuecomment-102559237 @@ -120,37 +128,24 @@ See these for the detail of this problem. https://github.com/tmk/tmk_keyboard/issues/213 https://github.com/tekezo/Karabiner/issues/403 - ## Esc and ` on a Single Key See the [Grave Escape](feature_grave_esc.md) feature. ## Eject on Mac OSX + `KC_EJCT` keycode works on OSX. https://github.com/tmk/tmk_keyboard/issues/250 It seems Windows 10 ignores the code and Linux/Xorg recognizes but has no mapping by default. -Not sure what keycode Eject is on genuine Apple keyboard actually. HHKB uses `F20` for Eject key(`Fn+f`) on Mac mode but this is not same as Apple Eject keycode probably. - - -## What's `weak_mods` and `real_mods` in `action_util.c` -___TO BE IMPROVED___ - -real_mods is intended to retains state of real/physical modifier key state, while -weak_mods retains state of virtual or temporary modifiers which should not affect state real modifier key. +Not sure what keycode Eject is on genuine Apple keyboard actually. HHKB uses `F20` for Eject key(`Fn+F`) on Mac mode but this is not same as Apple Eject keycode probably. -Let's say you hold down physical left shift key and type ACTION_MODS_KEY(LSHIFT, KC_A), +## What are "Real" and "Weak" modifiers? -with weak_mods, -* (1) hold down left shift: real_mods |= MOD_BIT(LSHIFT) -* (2) press ACTION_MODS_KEY(LSHIFT, KC_A): weak_mods |= MOD_BIT(LSHIFT) -* (3) release ACTION_MODS_KEY(LSHIFT, KC_A): weak_mods &= ~MOD_BIT(LSHIFT) -real_mods still keeps modifier state. +Real modifiers refer to the state of the real/physical modifier keys, while weak modifiers are the state of "virtual" or temporary modifiers which should not interfere with the internal state of the real modifier keys. -without weak mods, -* (1) hold down left shift: real_mods |= MOD_BIT(LSHIFT) -* (2) press ACTION_MODS_KEY(LSHIFT, KC_A): real_mods |= MOD_BIT(LSHIFT) -* (3) release ACTION_MODS_KEY(LSHIFT, KC_A): real_mods &= ~MOD_BIT(LSHIFT) -here real_mods lost state for 'physical left shift'. +The real and weak modifier states are ORed together when the keyboard report is sent, so if you release a weak modifier while the same real modifier is still held, the report does not change: -weak_mods is ORed with real_mods when keyboard report is sent. -https://github.com/tmk/tmk_core/blob/master/common/action_util.c#L57 + 1. **Hold down physical Left Shift:** Real mods now contains Left Shift, final state is Left Shift + 2. **Add weak Left Shift:** Weak mods now contains Left Shift, final state is Left Shift + 3. **Remove weak Left Shift:** Weak mods now contains nothing, final state is Left Shift + 4. **Release physical Left Shift:** Real mods now contains nothing, final state is nothing From 40e33d03a89575e30d94851cbc34fbdbf6a069b6 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 17 May 2022 21:50:48 +0100 Subject: [PATCH 0704/1832] Recommend pillow as part of manual MSYS install (#17133) --- docs/newbs_getting_started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/newbs_getting_started.md b/docs/newbs_getting_started.md index c03e6acdb487..d5f92cf89d1a 100644 --- a/docs/newbs_getting_started.md +++ b/docs/newbs_getting_started.md @@ -44,7 +44,7 @@ Once MSYS2 is installed, close any open MSYS terminals and open a new MinGW 64-b Then run the following command: - pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python3-pip + pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python3-pip mingw-w64-x86_64-python-pillow #### Installation From 6503987c84994b2c6b5229db8b91c14d8bd11e41 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 18 May 2022 11:06:55 +0100 Subject: [PATCH 0705/1832] Workaround for recent -Werror=array-bounds AVR issues (#17136) --- platforms/avr/platform.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platforms/avr/platform.mk b/platforms/avr/platform.mk index 0374e2e05815..978199b385f0 100644 --- a/platforms/avr/platform.mk +++ b/platforms/avr/platform.mk @@ -12,6 +12,11 @@ HEX = $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock -R .signature EEP = $(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O $(FORMAT) BIN = +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 +ifneq ($(findstring 12.,$(shell avr-gcc --version 2>/dev/null)),) +COMPILEFLAGS += --param=min-pagesize=0 +endif + COMPILEFLAGS += -funsigned-char COMPILEFLAGS += -funsigned-bitfields COMPILEFLAGS += -ffunction-sections From 33d568e29b454e5ead83b9e7216bd807549cc9b6 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu, 19 May 2022 02:33:17 +0900 Subject: [PATCH 0706/1832] Update mtei's keymap (helix/rev2:five_rows, helix/pico:mtei, helix/rev3_5rows:five_rows) (#16966) * add users/mtei/key_blocks.h This change does not alter the binary of the build result. Moved common macro definitions in the following files to users/mtei/key_blocks.h. * keyboards/helix/rev2/keymaps/five_rows/keymap.c * keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c * remove INIT_HELIX_OLED() in helix:five_rows This change does not alter the binary of the build result. * update helix/pico/keymaps/mtei/keymap.c Changed helix/pico/keymaps/mtei/keymap.c to use users/mtei/key_blocks.h. This change does not alter the binary of the build result. * Remove old SSD1306OLED code from users/mtei/oled_display.c This change does not alter the binary of the build result. * add options ENABLE_COLEMAK, ENABLE_DVORAK and ENABLE_EUCALYN into five_rows/keymap.c * add users/mtei/{config.h,rules.mk,user_featues.mk,user_options.mk} * move layer_names[] from users/mtei/oled_display.c to keymaps/five_rows/keymap.c * Update keyboards/helix/pico/keymaps/mtei/config.h Co-authored-by: Ryan * Update keyboards/helix/pico/keymaps/mtei/config.h Co-authored-by: Ryan * Update keyboards/helix/pico/keymaps/mtei/keymap.c Co-authored-by: Ryan * Update keyboards/helix/rev2/keymaps/five_rows/config.h Co-authored-by: Ryan * Update keyboards/helix/rev2/keymaps/five_rows/config.h Co-authored-by: Ryan * Update keyboards/helix/rev2/keymaps/five_rows/keymap.c Co-authored-by: Ryan * Update keyboards/helix/rev3_5rows/keymaps/five_rows/config.h Co-authored-by: Ryan * Update keyboards/helix/rev3_5rows/keymaps/five_rows/config.h Co-authored-by: Ryan * Update keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c Co-authored-by: Ryan * Update users/mtei/config.h Co-authored-by: Ryan * Update users/mtei/config.h Co-authored-by: Ryan * Update users/mtei/cpp_map.h Co-authored-by: Ryan * Update users/mtei/cpp_map.h Co-authored-by: Ryan * Update users/mtei/debug_config.h Co-authored-by: Ryan * Update users/mtei/debug_config.h Co-authored-by: Ryan * Update users/mtei/layer_number_util.h Co-authored-by: Ryan Co-authored-by: Ryan --- keyboards/helix/pico/keymaps/mtei/config.h | 38 +---- keyboards/helix/pico/keymaps/mtei/keymap.c | 56 ++----- .../helix/rev2/keymaps/five_rows/config.h | 72 +-------- .../helix/rev2/keymaps/five_rows/keymap.c | 93 ++++++++---- .../rev2/keymaps/five_rows/layer_number.h | 26 ---- .../five_rows/matrix_output_unselect_delay.c | 31 ---- .../helix/rev2/keymaps/five_rows/rules.mk | 82 +--------- .../rev3_5rows/keymaps/five_rows/config.h | 72 +-------- .../rev3_5rows/keymaps/five_rows/keymap.c | 99 +++++++----- .../keymaps/five_rows/layer_number.h | 26 ---- .../five_rows/matrix_output_unselect_delay.c | 31 ---- .../rev3_5rows/keymaps/five_rows/rules.mk | 81 ---------- users/mtei/config.h | 46 ++++++ users/mtei/cpp_map.h | 84 +++++++++++ users/mtei/debug_config.h | 6 + users/mtei/encoder_update_user.c | 33 ++++ users/mtei/key_blocks.h | 40 +++++ users/mtei/layer_number_util.h | 17 +++ .../matrix_output_unselect_delay_ondemand.c | 18 +++ users/mtei/oled_display.c | 141 ++++-------------- users/mtei/rules.mk | 9 ++ users/mtei/user_featues.mk | 60 ++++++++ users/mtei/user_options.mk | 127 ++++++++++++++++ 23 files changed, 609 insertions(+), 679 deletions(-) delete mode 100644 keyboards/helix/rev2/keymaps/five_rows/layer_number.h delete mode 100644 keyboards/helix/rev2/keymaps/five_rows/matrix_output_unselect_delay.c delete mode 100644 keyboards/helix/rev3_5rows/keymaps/five_rows/layer_number.h delete mode 100644 keyboards/helix/rev3_5rows/keymaps/five_rows/matrix_output_unselect_delay.c create mode 100644 users/mtei/config.h create mode 100644 users/mtei/cpp_map.h create mode 100644 users/mtei/debug_config.h create mode 100644 users/mtei/encoder_update_user.c create mode 100644 users/mtei/key_blocks.h create mode 100644 users/mtei/layer_number_util.h create mode 100644 users/mtei/matrix_output_unselect_delay_ondemand.c create mode 100644 users/mtei/rules.mk create mode 100644 users/mtei/user_featues.mk create mode 100644 users/mtei/user_options.mk diff --git a/keyboards/helix/pico/keymaps/mtei/config.h b/keyboards/helix/pico/keymaps/mtei/config.h index c5812de8d794..1a4dc2c8424b 100644 --- a/keyboards/helix/pico/keymaps/mtei/config.h +++ b/keyboards/helix/pico/keymaps/mtei/config.h @@ -1,25 +1,7 @@ -/* -This is the c configuration file for the keymap +// Copyright (c) 2022 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H +#pragma once // place overrides here @@ -36,17 +18,3 @@ along with this program. If not, see . // If you need more program area, try select and reduce rgblight modes to use. -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - //#define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif - -#endif /* CONFIG_USER_H */ diff --git a/keyboards/helix/pico/keymaps/mtei/keymap.c b/keyboards/helix/pico/keymaps/mtei/keymap.c index 58684be497c0..b703ca376d68 100644 --- a/keyboards/helix/pico/keymaps/mtei/keymap.c +++ b/keyboards/helix/pico/keymaps/mtei/keymap.c @@ -14,6 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H +#include "key_blocks.h" #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) #define kc5(a,b,c,d,e) KC_##a, KC_##b, KC_##c, KC_##d, KC_##e @@ -59,12 +60,6 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty */ -#define Q_____W_____E_____R_____T kc5( Q, W, E, R, T ) -#define Y_____U_____I_____O_____P kc5( Y, U, I, O, P ) -#define A_____S_____D_____F_____G kc5( A, S, D, F, G ) -#define H_____J_____K_____L__SCLN kc5( H, J, K, L, SCLN ) -#define Z_____X_____C_____V_____B kc5( Z, X, C, V, B ) -#define N_____M__COMM___DOT__SLSH kc5( N, M, COMM, DOT, SLSH ) #define LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS MO(_LOWER), MO(_LOWER), KC_CAPS, KC_LALT, KC_LGUI, LT_NUML_SP, LT_RA_BSPC #define RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER LT_RA_ENT, LT_NUMR_SP, KC_RGUI, KC_RALT, KC_APP, MO(_LOWER), MO(_LOWER) /* ,-----------------------------------------. ,-----------------------------------------. @@ -78,18 +73,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------' */ [_QWERTY] = LAYOUT_wrapper( - KC_ESC, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS, - KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L__SCLN, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____B, N_____M__COMM___DOT__SLSH, KC_RSFT, + KC_ESC, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS, + KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L____SCLN, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____B, N_____M____COMM__DOT___SLSH, KC_RSFT, LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER ), /* Colemak */ -#define Q_____W_____F_____P_____G kc5( Q, W, F, P, G ) -#define J_____L_____U_____Y__SCLN kc5( J, L, U, Y, SCLN ) -#define A_____R_____S_____T_____D kc5( A, R, S, T, D ) -#define H_____N_____E_____I_____O kc5( H, N, E, I, O ) -#define K_____M__COMM___DOT__SLSH kc5( K, M, COMM, DOT, SLSH ) /* ,-----------------------------------------. ,-----------------------------------------. * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | \ | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -101,19 +91,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------' */ [_COLEMAK] = LAYOUT_wrapper( - KC_ESC, Q_____W_____F_____P_____G, J_____L_____U_____Y__SCLN, KC_BSLS, - KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____B, K_____M__COMM___DOT__SLSH, KC_RSFT, + KC_ESC, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS, + KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____B, K_____M____COMM__DOT___SLSH, KC_RSFT, LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER ), /* Dvorak */ -#define QUOT__COMM___DOT_____P_____Y kc5( QUOT, COMM, DOT, P, Y ) -#define F_____G_____C_____R_____L kc5( F, G, C, R, L ) -#define A_____O_____E_____U_____I kc5( A, O, E, U, I ) -#define D_____H_____T_____N_____S kc5( D, H, T, N, S ) -#define SCLN_____Q_____J_____K_____X kc5( SCLN, Q, J, K, X ) -#define B_____M_____W_____V_____Z kc5( B, M, W, V, Z ) /* ,-----------------------------------------. ,-----------------------------------------. * | ESC | ' | , | . | P | Y | | F | G | C | R | L | \ | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -125,19 +109,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------' */ [_DVORAK] = LAYOUT_wrapper( - KC_ESC, QUOT__COMM___DOT_____P_____Y, F_____G_____C_____R_____L, KC_BSLS, - KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL, - KC_LSFT, SCLN_____Q_____J_____K_____X, B_____M_____W_____V_____Z, KC_RSFT, + KC_ESC, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS, + KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL, + KC_LSFT, SCLN___Q_____J_____K_____X, B_____M_____W_____V_____Z, KC_RSFT, LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER ), /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ -#define Q_____W__COMM___DOT__SCLN kc5( Q, W, COMM, DOT, SCLN ) -#define M_____R_____D_____Y_____P kc5( M, R, D, Y, P ) -#define A_____O_____E_____I_____U kc5( A, O, E, I, U ) -#define G_____T_____K_____S_____N kc5( G, T, K, S, N ) -#define Z_____X_____C_____V_____F kc5( Z, X, C, V, F ) -#define B_____H_____J_____L__SLSH kc5( B, H, J, L, SLSH ) /* ,-----------------------------------------. ,-----------------------------------------. * | ESC | Q | W | , | . | ; | | M | R | D | Y | P | \ | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -149,19 +127,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------' */ [_EUCALYN] = LAYOUT_wrapper( - KC_ESC, Q_____W__COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, - KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____F, B_____H_____J_____L__SLSH, KC_RSFT, + KC_ESC, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, + KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____F, B_____H_____J_____L____SLSH, KC_RSFT, LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER ), /* Num */ #define EXLM__AT__HASH___DLR__PERC kc5( EXLM, AT, HASH, DLR, PERC ) #define CIRC_AMPR_ASTR__LPRN__RPRN kc5( CIRC, AMPR, ASTR, LPRN, RPRN ) -#define _1_____2_____3_____4_____5 kc5( 1, 2, 3, 4, 5 ) -#define _6_____7_____8_____9_____0 kc5( 6, 7, 8, 9, 0 ) -#define F1____F2____F3____F4____F5 kc5( F1, F2, F3, F4, F5 ) -#define F6____F7____F8____F9___F10 kc5( F6, F7, F8, F9, F10 ) #define ____z_____z_____z_____z _______, _______, _______, _______ #define ____z_____z_____z _______, _______, _______ #define ____z_____z _______, _______ @@ -178,13 +152,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NUML] = LAYOUT_wrapper( _______, EXLM__AT__HASH___DLR__PERC, CIRC_AMPR_ASTR__LPRN__RPRN, _______, _______, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_F12, - _______, F1____F2____F3____F4____F5, F6____F7____F8____F9___F10, KC_F11, + _______, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11, _______, ____z_____z_____z_____z,____z_____z_____z,KC_SPC, ____z_____z_____z_____z, _______ ), [_NUMR] = LAYOUT_wrapper( _______, EXLM__AT__HASH___DLR__PERC, CIRC_AMPR_ASTR__LPRN__RPRN, _______, _______, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_F12, - _______, F1____F2____F3____F4____F5, F6____F7____F8____F9___F10, KC_F11, + _______, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11, _______, ____z_____z_____z_____z,KC_SPC, ____z_____z_____z,____z_____z_____z_____z, _______ ), /* Lower */ diff --git a/keyboards/helix/rev2/keymaps/five_rows/config.h b/keyboards/helix/rev2/keymaps/five_rows/config.h index e1c124f419c8..4aae9b5cac87 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/config.h +++ b/keyboards/helix/rev2/keymaps/five_rows/config.h @@ -1,26 +1,7 @@ -/* -This is the c configuration file for the keymap +// Copyright (c) 2022 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2020 mtei - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H +#pragma once #undef TAPPING_TERM #define TAPPING_TERM 300 @@ -35,50 +16,3 @@ along with this program. If not, see . # define OLED_UPDATE_INTERVAL 50 #endif -// place overrides here - -// If you need more program area, try select and reduce rgblight modes to use. - -#define DISABLE_SYNC_TIMER - -// Selection of RGBLIGHT MODE to use. -#undef RGBLIGHT_ANIMATIONS -#undef RGBLIGHT_EFFECT_BREATHING -#undef RGBLIGHT_EFFECT_RAINBOW_MOOD -#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL -#undef RGBLIGHT_EFFECT_SNAKE -#undef RGBLIGHT_EFFECT_KNIGHT -#undef RGBLIGHT_EFFECT_CHRISTMAS -#undef RGBLIGHT_EFFECT_STATIC_GRADIENT -#undef RGBLIGHT_EFFECT_RGB_TEST -#undef RGBLIGHT_EFFECT_ALTERNATING - -#if defined(LED_ANIMATIONS) -# if LED_ANIMATIONS_LEVEL > 1 - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - //#define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -# else - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - //#define RGBLIGHT_EFFECT_KNIGHT - //#define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -# endif -#endif - -#endif /* CONFIG_USER_H */ - -#ifdef DEBUG_CONFIG -# include "debug_config.h" -#endif diff --git a/keyboards/helix/rev2/keymaps/five_rows/keymap.c b/keyboards/helix/rev2/keymaps/five_rows/keymap.c index 2b3f6233c12c..d992425de763 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows/keymap.c @@ -16,7 +16,54 @@ #include QMK_KEYBOARD_H -#include "layer_number.h" +#include "key_blocks.h" +#include "layer_number_util.h" + +#ifdef ENABLE_COLEMAK +# define COLEMAK_Colemak (COLEMAK, " Colemak"), +#else +# define COLEMAK_Colemak +#endif +#ifdef ENABLE_DVORAK +# define DVORAK_Dvorak (DVORAK, " Dvorak"), +#else +# define DVORAK_Dvorak +#endif +#ifdef ENABLE_EUCALYN +# define EUCALYN_Eucalyn (EUCALYN, " Eucalyn"), +#else +# define EUCALYN_Eucalyn +#endif + +#define LAYER_NAME_LIST \ + (QWERTY, " Qwerty"), \ + COLEMAK_Colemak \ + DVORAK_Dvorak \ + EUCALYN_Eucalyn \ + (KEYPAD, " Keypad"), \ + (AUX, ":AUX"), \ + (KAUX, ":00"), \ + (LOWER, ":Func"), \ + (RAISE, ":Extra"), \ + (PADFUNC, ":PadFunc"), \ + (ADJUST, ":Adjust") + +enum layer_number { + // _QWERTY, _COLEMAK, ... + MAP(BUILD_LAYER_ENUM_NUMBER, LAYER_NAME_LIST) +}; + +#ifdef OLED_ENABLE +// static const char QWERTY_name[] PROGMEM = " Qwerty"; ... +MAP(BUILD_LAYER_NAME_STR, LAYER_NAME_LIST) + +const char *layer_names[] = { + // [_QWERTY] = QWERTY_name, ... + MAP(BUILD_LAYER_NAME_TABLE, LAYER_NAME_LIST) +}; +#endif + +const size_t num_of_layer_names = GET_ITEM_COUNT(LAYER_NAME_LIST); extern keymap_config_t keymap_config; @@ -44,8 +91,6 @@ enum custom_keycodes { #define ____ _______ #define KC_ADJ MO(_ADJUST) -#define _1_____2_____3_____4_____5 KC_1, KC_2, KC_3, KC_4, KC_5 -#define _6_____7_____8_____9_____0 KC_6, KC_7, KC_8, KC_9, KC_0 #define LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS \ KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC) #define RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER \ @@ -56,12 +101,6 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty */ -#define Q_____W_____E_____R_____T KC_Q, KC_W, KC_E, KC_R, KC_T -#define Y_____U_____I_____O_____P KC_Y, KC_U, KC_I, KC_O, KC_P -#define A_____S_____D_____F_____G KC_A, KC_S, KC_D, KC_F, KC_G -#define H_____J_____K_____L____SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN -#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B -#define N_____M____COMM__DOT___SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| @@ -83,12 +122,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Colemak */ -#define Q_____W_____F_____P_____G KC_Q, KC_W, KC_F, KC_P, KC_G -#define J_____L_____U_____Y____SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN -#define A_____R_____S_____T_____D KC_A, KC_R, KC_S, KC_T, KC_D -#define H_____N_____E_____I_____O KC_H, KC_N, KC_E, KC_I, KC_O -#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B -#define K_____M____COMM__DOT___SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| @@ -101,6 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ +#ifdef ENABLE_COLEMAK [_COLEMAK] = LAYOUT_wrapper( KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, KC_TAB, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS, @@ -108,14 +142,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, K_____M____COMM__DOT___SLSH, KC_RSFT, LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), +#endif /* Dvorak */ -#define QUOT_COMM___DOT____P_____Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y -#define F_____G_____C_____R_____L KC_F, KC_G, KC_C, KC_R, KC_L -#define A_____O_____E_____U_____I KC_A, KC_O, KC_E, KC_U, KC_I -#define D_____H_____T_____N_____S KC_D, KC_H, KC_T, KC_N, KC_S -#define SCLN___Q_____J_____K_____X KC_SCLN, KC_Q, KC_J, KC_K, KC_X -#define B_____M_____W_____V_____Z KC_B, KC_M, KC_W, KC_V, KC_Z #define GRV__SLSH KC_GRV, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | @@ -129,6 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ +#ifdef ENABLE_DVORAK [_DVORAK] = LAYOUT_wrapper( KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, KC_TAB, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS, @@ -136,14 +166,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, SCLN___Q_____J_____K_____X, GRV__SLSH, B_____M_____W_____V_____Z, KC_RSFT, LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), +#endif /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ -#define Q_____W___COMM___DOT__SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN -#define M_____R_____D_____Y_____P KC_M, KC_R, KC_D, KC_Y, KC_P -#define A_____O_____E_____I_____U KC_A, KC_O, KC_E, KC_I, KC_U -#define G_____T_____K_____S_____N KC_G, KC_T, KC_K, KC_S, KC_N -#define Z_____X_____C_____V_____F KC_Z, KC_X, KC_C, KC_V, KC_F -#define B_____H_____J_____L____SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| @@ -156,6 +181,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ +#ifdef ENABLE_EUCALYN [_EUCALYN] = LAYOUT_wrapper( KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, KC_TAB, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, @@ -163,6 +189,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, Z_____X_____C_____V_____F, GRV__QUOT, B_____H_____J_____L____SLSH, KC_RSFT, LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), +#endif /* Keypad */ #define KP_TAB__PSLS_PAST KC_TAB, KC_PSLS, KC_PAST @@ -246,8 +273,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Lower */ -#define F1____F2____F3____F4____F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 -#define F6____F7____F8____F9____F10 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 #define XXXX__PAUS__SLCK___INS XXXX, KC_PAUS, KC_SLCK, KC_INS #define XXXX___INS__SLCK__PAUS__XXXX XXXX, KC_INS, KC_SLCK, KC_PAUS, XXXX #define ADJ___ADJ KC_ADJ, KC_ADJ @@ -383,21 +408,27 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; break; case COLEMAK: +#ifdef ENABLE_COLEMAK if (record->event.pressed) { update_base_layer(_COLEMAK); } +#endif return false; break; case DVORAK: +#ifdef ENABLE_DVORAK if (record->event.pressed) { update_base_layer(_DVORAK); } +#endif return false; break; case EUCALYN: +#ifdef ENABLE_EUCALYN if (record->event.pressed) { update_base_layer(_EUCALYN); } +#endif return false; break; case KEYPAD: @@ -447,7 +478,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - INIT_HELIX_OLED(); /* define in layer_number.h */ -} diff --git a/keyboards/helix/rev2/keymaps/five_rows/layer_number.h b/keyboards/helix/rev2/keymaps/five_rows/layer_number.h deleted file mode 100644 index 1272feba4f39..000000000000 --- a/keyboards/helix/rev2/keymaps/five_rows/layer_number.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _QWERTY = 0, - _COLEMAK, - _DVORAK, - _EUCALYN, - _KEYPAD, - _AUX, - _KAUX, - _LOWER, - _RAISE, - _PADFUNC, - _ADJUST, -}; - -#if defined(SSD1306OLED) -extern void init_helix_oled(void); -# define INIT_HELIX_OLED() init_helix_oled(); -#else -# define INIT_HELIX_OLED() -#endif diff --git a/keyboards/helix/rev2/keymaps/five_rows/matrix_output_unselect_delay.c b/keyboards/helix/rev2/keymaps/five_rows/matrix_output_unselect_delay.c deleted file mode 100644 index a093afe0a4a4..000000000000 --- a/keyboards/helix/rev2/keymaps/five_rows/matrix_output_unselect_delay.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2021 mtei - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { - /* If none of the keys are pressed, - * there is no need to wait for time for the next line. */ - if (key_pressed) { -# ifdef MATRIX_IO_DELAY -# if MATRIX_IO_DELAY > 0 - wait_us(MATRIX_IO_DELAY); -# endif -# else - wait_us(30); -# endif - } -} diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk index 6604f6309be9..8f31c0bd062e 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk +++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk @@ -22,84 +22,4 @@ HELIX_ROWS = 5 # Helix Rows is 4 or 5 # IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) OLED_SELECT = core -CUSTOM_DELAY = yes - -ifneq ($(strip $(HELIX)),) - define KEYMAP_OPTION_PARSE - # parse 'dispoff', 'consloe', 'na', 'ani', 'mini-ani', 'scan-api', - $(if $(SHOW_PARCE),$(info parse -$1-)) #debug - ifeq ($(strip $1),dispoff) - OLED_ENABLE = no - LED_BACK_ENABLE = no - LED_UNDERGLOW_ENABLE = no - endif - ifneq ($(filter nooled no-oled,$(strip $1)),) - OLED_ENABLE = no - endif - ifeq ($(strip $1),oled) - OLED_ENABLE = yes - endif - ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),) - OLED_ENABLE = yes - OLED_SELECT = core - endif - ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),) - OLED_ENABLE = yes - OLED_SELECT = local - endif - ifeq ($(strip $1),console) - CONSOLE_ENABLE = yes - endif - ifeq ($(strip $1),debug) - DEBUG_CONFIG = yes - endif - ifneq ($(filter nodebug no-debug no_debug,$(strip $1)),) - DEBUG_CONFIG = no - endif - ifneq ($(filter na no_ani no-ani,$(strip $1)),) - LED_ANIMATIONS = no - endif - ifneq ($(filter mini-ani mini_ani,$(strip $1)),) - LED_ANIMATIONS = mini - endif - ifneq ($(filter ani animation,$(strip $1)),) - LED_ANIMATIONS = yes - endif - ifeq ($(strip $1),lto) - LTO_ENABLE = yes - endif - ifneq ($(filter nolto no-lto no_lto,$(strip $1)),) - LTO_ENABLE = no - endif - ifeq ($(strip $1),scan-api) - # use DEBUG_MATRIX_SCAN_RATE - # see docs/newbs_testing_debugging.md - DEBUG_MATRIX_SCAN_RATE_ENABLE = api - endif - endef # end of KEYMAP_OPTION_PARSE - - COMMA=, - $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \ - $(call KEYMAP_OPTION_PARSE,$(A_OPTION_NAME)))) -endif - -ifeq ($(strip $(LED_ANIMATIONS)), yes) - OPT_DEFS += -DLED_ANIMATIONS_LEVEL=2 -endif - -ifeq ($(strip $(LED_ANIMATIONS)), mini) - OPT_DEFS += -DLED_ANIMATIONS_LEVEL=1 - LED_ANIMATIONS = yes -endif - -ifeq ($(strip $(DEBUG_CONFIG)), yes) - OPT_DEFS += -DDEBUG_CONFIG -endif - -ifeq ($(strip $(OLED_ENABLE)), yes) - SRC += oled_display.c -endif - -ifeq ($(strip $(CUSTOM_DELAY)),yes) - SRC += matrix_output_unselect_delay.c -endif +SRC += oled_display.c diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h index 02d4425d62f8..ab679d14b99a 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h @@ -1,26 +1,7 @@ -/* -This is the c configuration file for the keymap +// Copyright (c) 2022 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2020 mtei - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H +#pragma once #undef TAPPING_TERM #define TAPPING_TERM 300 @@ -37,50 +18,3 @@ along with this program. If not, see . #define PSEUDO_SPRINTF_DEFINED -// place overrides here - -// If you need more program area, try select and reduce rgblight modes to use. - -#define DISABLE_SYNC_TIMER - -// Selection of RGBLIGHT MODE to use. -#undef RGBLIGHT_ANIMATIONS -#undef RGBLIGHT_EFFECT_BREATHING -#undef RGBLIGHT_EFFECT_RAINBOW_MOOD -#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL -#undef RGBLIGHT_EFFECT_SNAKE -#undef RGBLIGHT_EFFECT_KNIGHT -#undef RGBLIGHT_EFFECT_CHRISTMAS -#undef RGBLIGHT_EFFECT_STATIC_GRADIENT -#undef RGBLIGHT_EFFECT_RGB_TEST -#undef RGBLIGHT_EFFECT_ALTERNATING - -#if defined(LED_ANIMATIONS) -# if LED_ANIMATIONS_LEVEL > 1 - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - //#define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -# else - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - //#define RGBLIGHT_EFFECT_KNIGHT - //#define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -# endif -#endif - -#endif /* CONFIG_USER_H */ - -#ifdef DEBUG_CONFIG -# include "debug_config.h" -#endif diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c index 16eff49244ee..d992425de763 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c @@ -15,16 +15,55 @@ */ #include QMK_KEYBOARD_H -#include "util.h" -#include "bootloader.h" -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#include "split_util.h" + +#include "key_blocks.h" +#include "layer_number_util.h" + +#ifdef ENABLE_COLEMAK +# define COLEMAK_Colemak (COLEMAK, " Colemak"), +#else +# define COLEMAK_Colemak #endif -#ifdef CONSOLE_ENABLE - #include +#ifdef ENABLE_DVORAK +# define DVORAK_Dvorak (DVORAK, " Dvorak"), +#else +# define DVORAK_Dvorak +#endif +#ifdef ENABLE_EUCALYN +# define EUCALYN_Eucalyn (EUCALYN, " Eucalyn"), +#else +# define EUCALYN_Eucalyn +#endif + +#define LAYER_NAME_LIST \ + (QWERTY, " Qwerty"), \ + COLEMAK_Colemak \ + DVORAK_Dvorak \ + EUCALYN_Eucalyn \ + (KEYPAD, " Keypad"), \ + (AUX, ":AUX"), \ + (KAUX, ":00"), \ + (LOWER, ":Func"), \ + (RAISE, ":Extra"), \ + (PADFUNC, ":PadFunc"), \ + (ADJUST, ":Adjust") + +enum layer_number { + // _QWERTY, _COLEMAK, ... + MAP(BUILD_LAYER_ENUM_NUMBER, LAYER_NAME_LIST) +}; + +#ifdef OLED_ENABLE +// static const char QWERTY_name[] PROGMEM = " Qwerty"; ... +MAP(BUILD_LAYER_NAME_STR, LAYER_NAME_LIST) + +const char *layer_names[] = { + // [_QWERTY] = QWERTY_name, ... + MAP(BUILD_LAYER_NAME_TABLE, LAYER_NAME_LIST) +}; #endif -#include "layer_number.h" + +const size_t num_of_layer_names = GET_ITEM_COUNT(LAYER_NAME_LIST); extern keymap_config_t keymap_config; @@ -52,8 +91,6 @@ enum custom_keycodes { #define ____ _______ #define KC_ADJ MO(_ADJUST) -#define _1_____2_____3_____4_____5 KC_1, KC_2, KC_3, KC_4, KC_5 -#define _6_____7_____8_____9_____0 KC_6, KC_7, KC_8, KC_9, KC_0 #define LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS \ KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC) #define RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER \ @@ -64,12 +101,6 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty */ -#define Q_____W_____E_____R_____T KC_Q, KC_W, KC_E, KC_R, KC_T -#define Y_____U_____I_____O_____P KC_Y, KC_U, KC_I, KC_O, KC_P -#define A_____S_____D_____F_____G KC_A, KC_S, KC_D, KC_F, KC_G -#define H_____J_____K_____L____SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN -#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B -#define N_____M____COMM__DOT___SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| @@ -91,12 +122,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Colemak */ -#define Q_____W_____F_____P_____G KC_Q, KC_W, KC_F, KC_P, KC_G -#define J_____L_____U_____Y____SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN -#define A_____R_____S_____T_____D KC_A, KC_R, KC_S, KC_T, KC_D -#define H_____N_____E_____I_____O KC_H, KC_N, KC_E, KC_I, KC_O -#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B -#define K_____M____COMM__DOT___SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| @@ -109,6 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ +#ifdef ENABLE_COLEMAK [_COLEMAK] = LAYOUT_wrapper( KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, KC_TAB, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS, @@ -116,14 +142,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, K_____M____COMM__DOT___SLSH, KC_RSFT, LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), +#endif /* Dvorak */ -#define QUOT_COMM___DOT____P_____Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y -#define F_____G_____C_____R_____L KC_F, KC_G, KC_C, KC_R, KC_L -#define A_____O_____E_____U_____I KC_A, KC_O, KC_E, KC_U, KC_I -#define D_____H_____T_____N_____S KC_D, KC_H, KC_T, KC_N, KC_S -#define SCLN___Q_____J_____K_____X KC_SCLN, KC_Q, KC_J, KC_K, KC_X -#define B_____M_____W_____V_____Z KC_B, KC_M, KC_W, KC_V, KC_Z #define GRV__SLSH KC_GRV, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | @@ -137,6 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ +#ifdef ENABLE_DVORAK [_DVORAK] = LAYOUT_wrapper( KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, KC_TAB, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS, @@ -144,14 +166,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, SCLN___Q_____J_____K_____X, GRV__SLSH, B_____M_____W_____V_____Z, KC_RSFT, LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), +#endif /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ -#define Q_____W___COMM___DOT__SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN -#define M_____R_____D_____Y_____P KC_M, KC_R, KC_D, KC_Y, KC_P -#define A_____O_____E_____I_____U KC_A, KC_O, KC_E, KC_I, KC_U -#define G_____T_____K_____S_____N KC_G, KC_T, KC_K, KC_S, KC_N -#define Z_____X_____C_____V_____F KC_Z, KC_X, KC_C, KC_V, KC_F -#define B_____H_____J_____L____SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| @@ -164,6 +181,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ +#ifdef ENABLE_EUCALYN [_EUCALYN] = LAYOUT_wrapper( KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, KC_TAB, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, @@ -171,6 +189,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, Z_____X_____C_____V_____F, GRV__QUOT, B_____H_____J_____L____SLSH, KC_RSFT, LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), +#endif /* Keypad */ #define KP_TAB__PSLS_PAST KC_TAB, KC_PSLS, KC_PAST @@ -254,8 +273,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Lower */ -#define F1____F2____F3____F4____F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 -#define F6____F7____F8____F9____F10 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 #define XXXX__PAUS__SLCK___INS XXXX, KC_PAUS, KC_SLCK, KC_INS #define XXXX___INS__SLCK__PAUS__XXXX XXXX, KC_INS, KC_SLCK, KC_PAUS, XXXX #define ADJ___ADJ KC_ADJ, KC_ADJ @@ -391,21 +408,27 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; break; case COLEMAK: +#ifdef ENABLE_COLEMAK if (record->event.pressed) { update_base_layer(_COLEMAK); } +#endif return false; break; case DVORAK: +#ifdef ENABLE_DVORAK if (record->event.pressed) { update_base_layer(_DVORAK); } +#endif return false; break; case EUCALYN: +#ifdef ENABLE_EUCALYN if (record->event.pressed) { update_base_layer(_EUCALYN); } +#endif return false; break; case KEYPAD: @@ -455,7 +478,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - INIT_HELIX_OLED(); /* define in layer_number.h */ -} diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/layer_number.h b/keyboards/helix/rev3_5rows/keymaps/five_rows/layer_number.h deleted file mode 100644 index 1272feba4f39..000000000000 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/layer_number.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _QWERTY = 0, - _COLEMAK, - _DVORAK, - _EUCALYN, - _KEYPAD, - _AUX, - _KAUX, - _LOWER, - _RAISE, - _PADFUNC, - _ADJUST, -}; - -#if defined(SSD1306OLED) -extern void init_helix_oled(void); -# define INIT_HELIX_OLED() init_helix_oled(); -#else -# define INIT_HELIX_OLED() -#endif diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/matrix_output_unselect_delay.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/matrix_output_unselect_delay.c deleted file mode 100644 index a093afe0a4a4..000000000000 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/matrix_output_unselect_delay.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2021 mtei - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { - /* If none of the keys are pressed, - * there is no need to wait for time for the next line. */ - if (key_pressed) { -# ifdef MATRIX_IO_DELAY -# if MATRIX_IO_DELAY > 0 - wait_us(MATRIX_IO_DELAY); -# endif -# else - wait_us(30); -# endif - } -} diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk b/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk index 1d7f2f2744cc..a6ce7de118db 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk @@ -9,84 +9,3 @@ USER_NAME := mtei ENCODER_ENABLE = no LTO_ENABLE = no # if firmware size over limit, try this option LED_ANIMATIONS = yes - -CUSTOM_DELAY = yes - -ifneq ($(strip $(HELIX)),) - define KEYMAP_OPTION_PARSE - # parse 'dispoff', 'consle', 'back', 'oled', 'no-ani', 'mini-ani', 'lto', 'no-lto', 'no-enc', 'scan', 'scan-api' - $(if $(SHOW_PARCE),$(info parse .$1.)) #debug - ifeq ($(strip $1),dispoff) - OLED_ENABLE = no - RGBLIGHT_ENABLE = no - endif - ifeq ($(strip $1),console) - CONSOLE_ENABLE = yes - endif - ifeq ($(strip $1),debug) - DEBUG_CONFIG = yes - endif - ifneq ($(filter nodebug no-debug no_debug,$(strip $1)),) - DEBUG_CONFIG = no - endif - ifneq ($(filter enc,$(strip $1)),) - ENCODER_ENABLE = yes - endif - ifneq ($(filter noenc no-enc no_enc,$(strip $1)),) - ENCODER_ENABLE = no - endif - ifeq ($(strip $1),oled) - OLED_ENABLE = yes - endif - ifeq ($(strip $1),back) - RGBLIGHT_ENABLE = yes - endif - ifneq ($(filter na no_ani no-ani,$(strip $1)),) - LED_ANIMATIONS = no - endif - ifneq ($(filter mini-ani mini_ani,$(strip $1)),) - LED_ANIMATIONS = mini - endif - ifneq ($(filter ani animation,$(strip $1)),) - LED_ANIMATIONS = yes - endif - ifeq ($(strip $1),lto) - LTO_ENABLE = yes - endif - ifneq ($(filter nolto no-lto no_lto,$(strip $1)),) - LTO_ENABLE = no - endif - ifeq ($(strip $1),scan) - # use DEBUG_MATRIX_SCAN_RATE - # see docs/newbs_testing_debugging.md - DEBUG_MATRIX_SCAN_RATE_ENABLE = yes - endif - ifeq ($(strip $1),scan-api) - # use DEBUG_MATRIX_SCAN_RATE - # see docs/newbs_testing_debugging.md - DEBUG_MATRIX_SCAN_RATE_ENABLE = api - endif - endef # end of KEYMAP_OPTION_PARSE - - COMMA=, - $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \ - $(call KEYMAP_OPTION_PARSE,$(A_OPTION_NAME)))) -endif - -ifeq ($(strip $(LED_ANIMATIONS)), yes) - OPT_DEFS += -DLED_ANIMATIONS - OPT_DEFS += -DLED_ANIMATIONS_LEVEL=2 -endif - -ifeq ($(strip $(LED_ANIMATIONS)), mini) - OPT_DEFS += -DLED_ANIMATIONS - OPT_DEFS += -DLED_ANIMATIONS_LEVEL=1 -endif - -ifeq ($(strip $(CUSTOM_DELAY)),yes) - SRC += matrix_output_unselect_delay.c -endif - -ifeq ($(strip $(DEBUG_CONFIG)), yes) - OPT_DEFS += -DDEBUG_CONFIG -endif diff --git a/users/mtei/config.h b/users/mtei/config.h new file mode 100644 index 000000000000..b245d7cff2b6 --- /dev/null +++ b/users/mtei/config.h @@ -0,0 +1,46 @@ +// Copyright (c) 2022 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later + +// clang-format off + +#pragma once + +// Selection of RGBLIGHT MODE to use. +#undef RGBLIGHT_ANIMATIONS +#undef RGBLIGHT_EFFECT_BREATHING +#undef RGBLIGHT_EFFECT_RAINBOW_MOOD +#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL +#undef RGBLIGHT_EFFECT_SNAKE +#undef RGBLIGHT_EFFECT_KNIGHT +#undef RGBLIGHT_EFFECT_CHRISTMAS +#undef RGBLIGHT_EFFECT_STATIC_GRADIENT +#undef RGBLIGHT_EFFECT_RGB_TEST +#undef RGBLIGHT_EFFECT_ALTERNATING + +#if defined(LED_ANIMATIONS) +# if LED_ANIMATIONS_LEVEL > 1 +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +# else +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +# endif +#endif + +#ifdef DEBUG_CONFIG +# include "debug_config.h" +#endif diff --git a/users/mtei/cpp_map.h b/users/mtei/cpp_map.h new file mode 100644 index 000000000000..3b95d0a82ac0 --- /dev/null +++ b/users/mtei/cpp_map.h @@ -0,0 +1,84 @@ +// Copyright (c) 2021 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: MIT + +// See here for how to use this. (https://github.com/mtei/bare_metal_parts/tree/master/cpp/map) + +#pragma once +// clang-format off + +#define _MAP1(E,ET, _1) ET(_1) +#define _MAP2(E,ET, _1,_2) E(_1) ET(_2) +#define _MAP3(E,ET, _1,_2,_3) E(_1) E(_2) ET(_3) +#define _MAP4(E,ET, _1,_2,_3,_4) E(_1) E(_2) E(_3) ET(_4) +#define _MAP5(E,ET, _1,_2,_3,_4,_5) E(_1) E(_2) E(_3) E(_4) ET(_5) +#define _MAP6(E,ET, _1,_2,_3,_4,_5,_6) E(_1) E(_2) E(_3) E(_4) E(_5) ET(_6) +#define _MAP7(E,ET, _1,_2,_3,_4,_5,_6,_7) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) ET(_7) +#define _MAP8(E,ET, _1,_2,_3,_4,_5,_6,_7,_8) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) ET(_8) +#define _MAP9(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) ET(_9) +#define _MAP10(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) ET(_10) +#define _MAP11(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) ET(_11) +#define _MAP12(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) ET(_12) +#define _MAP13(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) ET(_13) +#define _MAP14(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) ET(_14) +#define _MAP15(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) ET(_15) +#define _MAP16(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) ET(_16) +#define _MAP17(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) ET(_17) +#define _MAP18(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) ET(_18) +#define _MAP19(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) ET(_19) +#define _MAP20(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) ET(_20) +#define _MAP21(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) ET(_21) +#define _MAP22(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) ET(_22) +#define _MAP23(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) ET(_23) +#define _MAP24(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) ET(_24) +#define _MAP25(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) ET(_25) +#define _MAP26(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) ET(_26) +#define _MAP27(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) ET(_27) +#define _MAP28(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) ET(_28) +#define _MAP29(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) E(_28) ET(_29) +#define _MAP30(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) E(_28) E(_29) ET(_30) +#define _MAP31(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) E(_28) E(_29) E(_30) ET(_31) +#define _MAP32(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31,_32) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) E(_28) E(_29) E(_30) E(_31) ET(_32) + +#define SELECT_MAP(e,et,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31,_32,NAME,...) NAME +#define MAPT(E,ET,...) SELECT_MAP(E,ET,__VA_ARGS__,_MAP32,_MAP31,_MAP30,_MAP29,_MAP28,_MAP27,_MAP26,_MAP25,_MAP24,_MAP23,_MAP22,_MAP21,_MAP20,_MAP19,_MAP18,_MAP17,_MAP16,_MAP15,_MAP14,_MAP13,_MAP12,_MAP11,_MAP10,_MAP9,_MAP8,_MAP7,_MAP6,_MAP5,_MAP4,_MAP3,_MAP2,_MAP1)(E,ET,__VA_ARGS__) +#define MAP(E,...) MAPT(E,E,__VA_ARGS__) + +#define _MAP_INDEX1(E,ET, _1) ET(0,_1) +#define _MAP_INDEX2(E,ET, _1,_2) E(0,_1) ET(1,_2) +#define _MAP_INDEX3(E,ET, _1,_2,_3) E(0,_1) E(1,_2) ET(2,_3) +#define _MAP_INDEX4(E,ET, _1,_2,_3,_4) E(0,_1) E(1,_2) E(2,_3) ET(3,_4) +#define _MAP_INDEX5(E,ET, _1,_2,_3,_4,_5) E(0,_1) E(1,_2) E(2,_3) E(3,_4) ET(4,_5) +#define _MAP_INDEX6(E,ET, _1,_2,_3,_4,_5,_6) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) ET(5,_6) +#define _MAP_INDEX7(E,ET, _1,_2,_3,_4,_5,_6,_7) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) ET(6,_7) +#define _MAP_INDEX8(E,ET, _1,_2,_3,_4,_5,_6,_7,_8) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) ET(7,_8) +#define _MAP_INDEX9(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) ET(8,_9) +#define _MAP_INDEX10(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) ET(9,_10) +#define _MAP_INDEX11(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) ET(10,_11) +#define _MAP_INDEX12(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) ET(11,_12) +#define _MAP_INDEX13(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) ET(12,_13) +#define _MAP_INDEX14(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) ET(13,_14) +#define _MAP_INDEX15(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) ET(14,_15) +#define _MAP_INDEX16(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) ET(15,_16) +#define _MAP_INDEX17(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) ET(16,_17) +#define _MAP_INDEX18(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) ET(17,_18) +#define _MAP_INDEX19(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) ET(18,_19) +#define _MAP_INDEX20(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) ET(19,_20) +#define _MAP_INDEX21(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) ET(20,_21) +#define _MAP_INDEX22(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) ET(21,_22) +#define _MAP_INDEX23(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) E(21,_22) ET(22,_23) +#define _MAP_INDEX24(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) E(21,_22) E(22,_23) ET(23,_24) +#define _MAP_INDEX25(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) E(21,_22) E(22,_23) E(23,_24) ET(24,_25) +#define _MAP_INDEX26(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) E(21,_22) E(22,_23) E(23,_24) E(24,_25) ET(25,_26) +#define _MAP_INDEX27(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) E(21,_22) E(22,_23) E(23,_24) E(24,_25) E(25,_26) ET(26,_27) +#define _MAP_INDEX28(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) E(21,_22) E(22,_23) E(23,_24) E(24,_25) E(25,_26) E(26,_27) ET(27,_28) +#define _MAP_INDEX29(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) E(21,_22) E(22,_23) E(23,_24) E(24,_25) E(25,_26) E(26,_27) E(27,_28) ET(28,_29) +#define _MAP_INDEX30(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) E(21,_22) E(22,_23) E(23,_24) E(24,_25) E(25,_26) E(26,_27) E(27,_28) E(28,_29) ET(29,_30) +#define _MAP_INDEX31(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) E(21,_22) E(22,_23) E(23,_24) E(24,_25) E(25,_26) E(26,_27) E(27,_28) E(28,_29) E(29,_30) ET(30,_31) +#define _MAP_INDEX32(E,ET, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31,_32) E(0,_1) E(1,_2) E(2,_3) E(3,_4) E(4,_5) E(5,_6) E(6,_7) E(7,_8) E(8,_9) E(9,_10) E(10,_11) E(11,_12) E(12,_13) E(13,_14) E(14,_15) E(15,_16) E(16,_17) E(17,_18) E(18,_19) E(19,_20) E(20,_21) E(21,_22) E(22,_23) E(23,_24) E(24,_25) E(25,_26) E(26,_27) E(27,_28) E(28,_29) E(29,_30) E(30,_31) ET(31,_32) + +#define SELECT_MAP_INDEX(e,et,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31,_32,NAME,...) NAME +#define MAPT_INDEX(E,ET,...) SELECT_MAP_INDEX(E,ET,__VA_ARGS__,_MAP_INDEX32,_MAP_INDEX31,_MAP_INDEX30,_MAP_INDEX29,_MAP_INDEX28,_MAP_INDEX27,_MAP_INDEX26,_MAP_INDEX25,_MAP_INDEX24,_MAP_INDEX23,_MAP_INDEX22,_MAP_INDEX21,_MAP_INDEX20,_MAP_INDEX19,_MAP_INDEX18,_MAP_INDEX17,_MAP_INDEX16,_MAP_INDEX15,_MAP_INDEX14,_MAP_INDEX13,_MAP_INDEX12,_MAP_INDEX11,_MAP_INDEX10,_MAP_INDEX9,_MAP_INDEX8,_MAP_INDEX7,_MAP_INDEX6,_MAP_INDEX5,_MAP_INDEX4,_MAP_INDEX3,_MAP_INDEX2,_MAP_INDEX1)(E,ET,__VA_ARGS__) +#define MAP_INDEX(E,...) MAPT_INDEX(E,E,__VA_ARGS__) + +#define SELECT_ITEM_COUNT(_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31,_32,NAME,...) NAME +#define GET_ITEM_COUNT(...) SELECT_ITEM_COUNT(__VA_ARGS__,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1) diff --git a/users/mtei/debug_config.h b/users/mtei/debug_config.h new file mode 100644 index 000000000000..edcc1ad41bef --- /dev/null +++ b/users/mtei/debug_config.h @@ -0,0 +1,6 @@ +// Copyright (c) 2022 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later + +// clang-format off + +#pragma once diff --git a/users/mtei/encoder_update_user.c b/users/mtei/encoder_update_user.c new file mode 100644 index 000000000000..67585e034568 --- /dev/null +++ b/users/mtei/encoder_update_user.c @@ -0,0 +1,33 @@ +// Copyright (c) 2022 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +/* weak reference */ __attribute__((weak)) +int get_encoder_over_count(void); + +bool encoder_update_user(uint8_t index, bool clockwise) { +#ifndef ENCODER_DETECT_OVER_SPEED + switch (index) { + /* Left side encoder */ + case 0: tap_code(clockwise ? KC_LEFT : KC_RGHT); break; + /* Right side encoder */ + case 1: tap_code(clockwise ? KC_DOWN : KC_UP); break; + } +#else + // Is there a get_encoder_over_count() in quantum/encoder.c + if (get_encoder_over_count != NULL) { + int enc_over = get_encoder_over_count(); + for (; enc_over > 0; enc_over--) { + tap_code(KC_MINUS); + } + } + switch (index) { + case 0: tap_code(clockwise ? KC_A : KC_B); break; + case 1: tap_code(clockwise ? KC_C : KC_D); break; + case 2: tap_code(clockwise ? KC_E : KC_F); break; + case 3: tap_code(clockwise ? KC_G : KC_H); break; + } +#endif + return true; +} diff --git a/users/mtei/key_blocks.h b/users/mtei/key_blocks.h new file mode 100644 index 000000000000..9a62e5ccfff4 --- /dev/null +++ b/users/mtei/key_blocks.h @@ -0,0 +1,40 @@ +// Copyright (c) 2022 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define _1_____2_____3_____4_____5 KC_1, KC_2, KC_3, KC_4, KC_5 +#define _6_____7_____8_____9_____0 KC_6, KC_7, KC_8, KC_9, KC_0 +#define F1____F2____F3____F4____F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 +#define F6____F7____F8____F9____F10 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 + +/* Qwerty */ +#define Q_____W_____E_____R_____T KC_Q, KC_W, KC_E, KC_R, KC_T +#define Y_____U_____I_____O_____P KC_Y, KC_U, KC_I, KC_O, KC_P +#define A_____S_____D_____F_____G KC_A, KC_S, KC_D, KC_F, KC_G +#define H_____J_____K_____L____SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN +#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B +#define N_____M____COMM__DOT___SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH + +/* Colemak */ +#define Q_____W_____F_____P_____G KC_Q, KC_W, KC_F, KC_P, KC_G +#define J_____L_____U_____Y____SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN +#define A_____R_____S_____T_____D KC_A, KC_R, KC_S, KC_T, KC_D +#define H_____N_____E_____I_____O KC_H, KC_N, KC_E, KC_I, KC_O +// Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B +#define K_____M____COMM__DOT___SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH + +/* Dvorak */ +#define QUOT_COMM___DOT____P_____Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y +#define F_____G_____C_____R_____L KC_F, KC_G, KC_C, KC_R, KC_L +#define A_____O_____E_____U_____I KC_A, KC_O, KC_E, KC_U, KC_I +#define D_____H_____T_____N_____S KC_D, KC_H, KC_T, KC_N, KC_S +#define SCLN___Q_____J_____K_____X KC_SCLN, KC_Q, KC_J, KC_K, KC_X +#define B_____M_____W_____V_____Z KC_B, KC_M, KC_W, KC_V, KC_Z + +/* Eucalyn rev3 (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ +#define Q_____W___COMM___DOT__SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN +#define M_____R_____D_____Y_____P KC_M, KC_R, KC_D, KC_Y, KC_P +#define A_____O_____E_____I_____U KC_A, KC_O, KC_E, KC_I, KC_U +#define G_____T_____K_____S_____N KC_G, KC_T, KC_K, KC_S, KC_N +#define Z_____X_____C_____V_____F KC_Z, KC_X, KC_C, KC_V, KC_F +#define B_____H_____J_____L____SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH diff --git a/users/mtei/layer_number_util.h b/users/mtei/layer_number_util.h new file mode 100644 index 000000000000..2147b9db058e --- /dev/null +++ b/users/mtei/layer_number_util.h @@ -0,0 +1,17 @@ +// Copyright (c) 2022 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include "cpp_map.h" + +//build -> _, +#define _BUILD_LAYER_ENUM_NUMBER(sym, str) _ ## sym, +#define BUILD_LAYER_ENUM_NUMBER(ent) _BUILD_LAYER_ENUM_NUMBER ent + +//build -> static const char _name[] PROGMEM = str; +#define _BUILD_LAYER_NAME_STR(sym, str) static const char sym ## _name[] PROGMEM = str; +#define BUILD_LAYER_NAME_STR(ent) _BUILD_LAYER_NAME_STR ent + +//build -> [_] = _name, +#define _BUILD_LAYER_NAME_TABLE(sym, str) [_##sym] = sym ## _name, +#define BUILD_LAYER_NAME_TABLE(ent) _BUILD_LAYER_NAME_TABLE ent diff --git a/users/mtei/matrix_output_unselect_delay_ondemand.c b/users/mtei/matrix_output_unselect_delay_ondemand.c new file mode 100644 index 000000000000..362d8a13038e --- /dev/null +++ b/users/mtei/matrix_output_unselect_delay_ondemand.c @@ -0,0 +1,18 @@ +// Copyright (c) 2021 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { + /* If none of the keys are pressed, + * there is no need to wait for time for the next line. */ + if (key_pressed) { +# ifdef MATRIX_IO_DELAY +# if MATRIX_IO_DELAY > 0 + wait_us(MATRIX_IO_DELAY); +# endif +# else + wait_us(30); +# endif + } +} diff --git a/users/mtei/oled_display.c b/users/mtei/oled_display.c index 6a16b23b0e1d..878dd29e6f31 100644 --- a/users/mtei/oled_display.c +++ b/users/mtei/oled_display.c @@ -14,32 +14,17 @@ * along with this program. If not, see . */ -#include QMK_KEYBOARD_H #include -#ifdef CONSOLE_ENABLE - #include "print.h" -#endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif #include -#include "layer_number.h" +#include QMK_KEYBOARD_H #include "pseudo_sprintf.h" extern int current_default_layer; -void init_helix_oled(void) { -#ifdef SSD1306OLED - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - iota_gfx_init(!has_usb()); // turns on the display -#endif -} - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#if defined(SSD1306OLED) || defined(OLED_ENABLE) +//OLED update loop +#if defined(OLED_ENABLE) -# if defined(OLED_ENABLE) oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) { return OLED_ROTATION_0; @@ -47,35 +32,12 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; } } -# else -# define oled_write(data,flag) matrix_write(matrix, data) -# define oled_write_P(data,flag) matrix_write_P(matrix, data) -# endif - -# ifdef SSD1306OLED -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} -# endif #ifndef PSEUDO_SPRINTF_DEFINED #include "pseudo_sprintf.c" #endif -# ifdef SSD1306OLED -static void render_logo(struct CharacterMatrix *matrix) { -# else static void render_logo(void) { -# endif - static const char helix_logo[] PROGMEM = { 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, @@ -98,57 +60,26 @@ static void render_logo(void) { bufp = sprints(bufp, " "); # endif oled_write(buf, false); -# ifndef SSD1306OLED } else { # ifdef DEBUG_MATRIX_SCAN_RATE bufp = sprintd(buf, " scan:", get_matrix_scan_rate()); oled_write(buf, false); -# endif +# endif // DEBUG_MATRIX_SCAN_RATE oled_write_P( PSTR("\n"), false); -# endif } -# else +# else // ifndef RGBLIGHT_ENABLE # ifdef DEBUG_MATRIX_SCAN_RATE bufp = sprintd(buf, " scan:", get_matrix_scan_rate()); bufp = sprints(bufp, " "); oled_write(buf, false); # endif -# endif +# endif // RGBLIGHT_ENABLE } -static const char Qwerty_name[] PROGMEM = " Qwerty"; -static const char Colemak_name[] PROGMEM = " Colemak"; -static const char Dvorak_name[] PROGMEM = " Dvorak"; -static const char Eucalyn_name[] PROGMEM = " Eucalyn"; -static const char Keypad_name[] PROGMEM = " Keypad"; - -static const char AUX_name[] PROGMEM = ":AUX"; -static const char KAUX_name[] PROGMEM = ":00"; -static const char Padfunc_name[] PROGMEM = ":PadFunc"; -static const char Lower_name[] PROGMEM = ":Func"; -static const char Raise_name[] PROGMEM = ":Extra"; -static const char Adjust_name[] PROGMEM = ":Adjust"; - -static const char *layer_names[] = { - [_QWERTY] = Qwerty_name, - [_COLEMAK] = Colemak_name, - [_DVORAK] = Dvorak_name, - [_EUCALYN]= Eucalyn_name, - [_KEYPAD] = Keypad_name, - [_AUX] = AUX_name, - [_KAUX] = KAUX_name, - [_LOWER] = Lower_name, - [_RAISE] = Raise_name, - [_PADFUNC]= Padfunc_name, - [_ADJUST] = Adjust_name -}; +/* weak reference */ __attribute__((weak)) extern const char *layer_names[]; +/* weak reference */ __attribute__((weak)) extern const size_t num_of_layer_names; -# ifdef SSD1306OLED -void render_status(struct CharacterMatrix *matrix) { -# else void render_status(void) { -# endif - // Render to mode icon static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; if(keymap_config.swap_lalt_lgui==false){ @@ -162,21 +93,29 @@ void render_status(void) { } // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - int name_num; + int name_num, max_name_num; uint32_t lstate; - oled_write_P(layer_names[current_default_layer], false); -# ifdef DEBUG_MATRIX_SCAN_RATE char buf[16]; + max_name_num = 0; + if (layer_names != NULL) { + max_name_num = num_of_layer_names; + oled_write_P(layer_names[current_default_layer], false); + } else { + sprintd(buf, " layer:", current_default_layer); + oled_write(buf, false); + } +# ifdef DEBUG_MATRIX_SCAN_RATE sprintd(buf, " scan:", get_matrix_scan_rate()); oled_write(buf, false); # endif oled_write_P(PSTR("\n"), false); - for (lstate = layer_state, name_num = 0; - lstate && name_num < sizeof(layer_names)/sizeof(char *); - lstate >>=1, name_num++) { + for (lstate = layer_state, name_num = 0; lstate; lstate >>=1, name_num++) { if ((lstate & 1) != 0) { - if (layer_names[name_num]) { + if (name_num < max_name_num && layer_names[name_num]) { oled_write_P(layer_names[name_num], false); + } else { + sprintd(buf, ":", name_num); + oled_write(buf, false); } } } @@ -189,42 +128,13 @@ void render_status(void) { oled_write_P(led_state.scroll_lock ? PSTR("SCLK ") : PSTR(" "), false); } -# ifdef SSD1306OLED -# if OLED_UPDATE_INTERVAL > 0 -uint16_t oled_update_timeout; -# endif - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - -# if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -# endif - -#if OLED_UPDATE_INTERVAL > 0 - if (timer_elapsed(oled_update_timeout) < OLED_UPDATE_INTERVAL) { - return; - } - oled_update_timeout = timer_read(); -#endif - matrix_clear(&matrix); - if (is_keyboard_master()) { - render_status(&matrix); - } else { - render_logo(&matrix); - } - matrix_update(&display, &matrix); -} -# else bool oled_task_user(void) { -# if DEBUG_TO_SCREEN +# if DEBUG_TO_SCREEN if (debug_enable) { return; } -# endif +# endif if(is_keyboard_master()){ render_status(); @@ -233,6 +143,5 @@ bool oled_task_user(void) { } return false; } -# endif #endif diff --git a/users/mtei/rules.mk b/users/mtei/rules.mk new file mode 100644 index 000000000000..780393ba1274 --- /dev/null +++ b/users/mtei/rules.mk @@ -0,0 +1,9 @@ +VPATH += $(USER_PATH)/$(PLATFORM_PATH) +VPATH += $(USER_PATH)/$(PLATFORM_PATH)/$(PLATFORM_KEY) + +CUSTOM_MATRIX_DELAY = on-demand + +ifneq ($(strip $(USROPT)),) + include $(USER_PATH)/user_options.mk +endif +include $(USER_PATH)/user_featues.mk diff --git a/users/mtei/user_featues.mk b/users/mtei/user_featues.mk new file mode 100644 index 000000000000..243e80dde93a --- /dev/null +++ b/users/mtei/user_featues.mk @@ -0,0 +1,60 @@ +# Copyright (c) 2022 Takeshi Ishii (mtei@github) +# SPDX-License-Identifier: GPL-2.0-or-later + +ifeq ($(strip $(LED_ANIMATIONS)), yes) + OPT_DEFS += -DLED_ANIMATIONS + OPT_DEFS += -DLED_ANIMATIONS_LEVEL=2 +endif + +ifeq ($(strip $(LED_ANIMATIONS)), mini) + OPT_DEFS += -DLED_ANIMATIONS + OPT_DEFS += -DLED_ANIMATIONS_LEVEL=1 +endif + +ifeq ($(strip $(DEBUG_CONFIG)), yes) + OPT_DEFS += -DDEBUG_CONFIG +endif + +ifeq ($(strip $(CUSTOM_MATRIX_DELAY)),on-demand) + SRC += matrix_output_unselect_delay_ondemand.c +endif + +ifneq ($(strip $(MDELAY)),) + OPT_DEFS += -DMATRIX_IO_DELAY=$(strip $(MDELAY)) +endif + +ifeq ($(strip $(ENABLE_COLEMAK)),yes) + OPT_DEFS += -DENABLE_COLEMAK +endif + +ifeq ($(strip $(ENABLE_DVORAK)),yes) + OPT_DEFS += -DENABLE_DVORAK +endif + +ifeq ($(strip $(ENABLE_EUCALYN)),yes) + OPT_DEFS += -DENABLE_EUCALYN +endif + +ifeq ($(strip $(ENCODER_ENABLE)),yes) + SRC += encoder_update_user.c +endif + +ifeq ($(strip $(DEBUG_ENCODER)),yes) + OPT_DEFS += -DENCODER_DETECT_OVER_SPEED +endif + +ifneq ($(strip $(SYNC_TIMER_ENABLE)),yes) + OPT_DEFS += -DDISABLE_SYNC_TIMER +endif + +ifneq ($(strip $(USROPT)),) + $(info -) + $(info - CONSOLE_ENABLE = $(CONSOLE_ENABLE)) + $(info - OLED_ENABLE = $(OLED_ENABLE)) + $(info - RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE)) + $(info - ENCODER_ENABLE = $(ENCODER_ENABLE)) + $(info - MDELAY = $(MDELAY)) + $(info - CUSTOM_MATRIX_DELAY = $(CUSTOM_MATRIX_DELAY)) + $(info - DEBUG_MATRIX_SCAN_RATE_ENABLE = $(DEBUG_MATRIX_SCAN_RATE_ENABLE)) + $(info - OPT_DEFS = $(OPT_DEFS)) +endif diff --git a/users/mtei/user_options.mk b/users/mtei/user_options.mk new file mode 100644 index 000000000000..a3cf2196f952 --- /dev/null +++ b/users/mtei/user_options.mk @@ -0,0 +1,127 @@ +# Copyright (c) 2022 Takeshi Ishii (mtei@github) +# SPDX-License-Identifier: GPL-2.0-or-later + +# +# make USROPT=